@aiquants/drag-drop-panels 0.9.0 → 0.9.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.es.js CHANGED
@@ -1,276 +1,276 @@
1
- import qt, { forwardRef as Wt, createElement as Ge, useRef as W, useState as se, useEffect as ee, useLayoutEffect as we, useCallback as D, memo as hn, useMemo as Re, useId as mn, Fragment as fn } from "react";
2
- var _e = { exports: {} }, Oe = {};
1
+ import qt, { forwardRef as Wt, createElement as Ge, useRef as I, useState as se, useEffect as oe, useLayoutEffect as we, memo as mn, useMemo as Le, useId as fn, useCallback as k, Fragment as pn } from "react";
2
+ var _e = { exports: {} }, Ne = {};
3
3
  var kt;
4
- function pn() {
5
- if (kt) return Oe;
4
+ function gn() {
5
+ if (kt) return Ne;
6
6
  kt = 1;
7
7
  var t = /* @__PURE__ */ Symbol.for("react.transitional.element"), n = /* @__PURE__ */ Symbol.for("react.fragment");
8
8
  function e(o, r, a) {
9
- var l = null;
10
- if (a !== void 0 && (l = "" + a), r.key !== void 0 && (l = "" + r.key), "key" in r) {
9
+ var i = null;
10
+ if (a !== void 0 && (i = "" + a), r.key !== void 0 && (i = "" + r.key), "key" in r) {
11
11
  a = {};
12
- for (var u in r)
13
- u !== "key" && (a[u] = r[u]);
12
+ for (var d in r)
13
+ d !== "key" && (a[d] = r[d]);
14
14
  } else a = r;
15
15
  return r = a.ref, {
16
16
  $$typeof: t,
17
17
  type: o,
18
- key: l,
18
+ key: i,
19
19
  ref: r !== void 0 ? r : null,
20
20
  props: a
21
21
  };
22
22
  }
23
- return Oe.Fragment = n, Oe.jsx = e, Oe.jsxs = e, Oe;
23
+ return Ne.Fragment = n, Ne.jsx = e, Ne.jsxs = e, Ne;
24
24
  }
25
- var Ce = {};
26
- var Nt;
27
- function gn() {
28
- return Nt || (Nt = 1, process.env.NODE_ENV !== "production" && (function() {
29
- function t(h) {
30
- if (h == null) return null;
31
- if (typeof h == "function")
32
- return h.$$typeof === L ? null : h.displayName || h.name || null;
33
- if (typeof h == "string") return h;
34
- switch (h) {
35
- case k:
25
+ var Oe = {};
26
+ var Ct;
27
+ function xn() {
28
+ return Ct || (Ct = 1, process.env.NODE_ENV !== "production" && (function() {
29
+ function t(u) {
30
+ if (u == null) return null;
31
+ if (typeof u == "function")
32
+ return u.$$typeof === $ ? null : u.displayName || u.name || null;
33
+ if (typeof u == "string") return u;
34
+ switch (u) {
35
+ case T:
36
36
  return "Fragment";
37
- case N:
37
+ case P:
38
38
  return "Profiler";
39
- case S:
39
+ case h:
40
40
  return "StrictMode";
41
- case T:
41
+ case L:
42
42
  return "Suspense";
43
- case Y:
43
+ case B:
44
44
  return "SuspenseList";
45
- case v:
45
+ case x:
46
46
  return "Activity";
47
47
  }
48
- if (typeof h == "object")
49
- switch (typeof h.tag == "number" && console.error(
48
+ if (typeof u == "object")
49
+ switch (typeof u.tag == "number" && console.error(
50
50
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
51
- ), h.$$typeof) {
52
- case P:
51
+ ), u.$$typeof) {
52
+ case C:
53
53
  return "Portal";
54
- case d:
55
- return h.displayName || "Context";
56
- case R:
57
- return (h._context.displayName || "Context") + ".Consumer";
58
- case $:
59
- var x = h.render;
60
- return h = h.displayName, h || (h = x.displayName || x.name || "", h = h !== "" ? "ForwardRef(" + h + ")" : "ForwardRef"), h;
61
- case G:
62
- return x = h.displayName || null, x !== null ? x : t(h.type) || "Memo";
63
- case g:
64
- x = h._payload, h = h._init;
54
+ case l:
55
+ return u.displayName || "Context";
56
+ case N:
57
+ return (u._context.displayName || "Context") + ".Consumer";
58
+ case _:
59
+ var f = u.render;
60
+ return u = u.displayName, u || (u = f.displayName || f.name || "", u = u !== "" ? "ForwardRef(" + u + ")" : "ForwardRef"), u;
61
+ case J:
62
+ return f = u.displayName || null, f !== null ? f : t(u.type) || "Memo";
63
+ case p:
64
+ f = u._payload, u = u._init;
65
65
  try {
66
- return t(h(x));
66
+ return t(u(f));
67
67
  } catch {
68
68
  }
69
69
  }
70
70
  return null;
71
71
  }
72
- function n(h) {
73
- return "" + h;
72
+ function n(u) {
73
+ return "" + u;
74
74
  }
75
- function e(h) {
75
+ function e(u) {
76
76
  try {
77
- n(h);
78
- var x = !1;
77
+ n(u);
78
+ var f = !1;
79
79
  } catch {
80
- x = !0;
80
+ f = !0;
81
81
  }
82
- if (x) {
83
- x = console;
84
- var M = x.error, F = typeof Symbol == "function" && Symbol.toStringTag && h[Symbol.toStringTag] || h.constructor.name || "Object";
85
- return M.call(
86
- x,
82
+ if (f) {
83
+ f = console;
84
+ var S = f.error, U = typeof Symbol == "function" && Symbol.toStringTag && u[Symbol.toStringTag] || u.constructor.name || "Object";
85
+ return S.call(
86
+ f,
87
87
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
88
- F
89
- ), n(h);
88
+ U
89
+ ), n(u);
90
90
  }
91
91
  }
92
- function o(h) {
93
- if (h === k) return "<>";
94
- if (typeof h == "object" && h !== null && h.$$typeof === g)
92
+ function o(u) {
93
+ if (u === T) return "<>";
94
+ if (typeof u == "object" && u !== null && u.$$typeof === p)
95
95
  return "<...>";
96
96
  try {
97
- var x = t(h);
98
- return x ? "<" + x + ">" : "<...>";
97
+ var f = t(u);
98
+ return f ? "<" + f + ">" : "<...>";
99
99
  } catch {
100
100
  return "<...>";
101
101
  }
102
102
  }
103
103
  function r() {
104
- var h = w.A;
105
- return h === null ? null : h.getOwner();
104
+ var u = W.A;
105
+ return u === null ? null : u.getOwner();
106
106
  }
107
107
  function a() {
108
108
  return Error("react-stack-top-frame");
109
109
  }
110
- function l(h) {
111
- if (m.call(h, "key")) {
112
- var x = Object.getOwnPropertyDescriptor(h, "key").get;
113
- if (x && x.isReactWarning) return !1;
110
+ function i(u) {
111
+ if (v.call(u, "key")) {
112
+ var f = Object.getOwnPropertyDescriptor(u, "key").get;
113
+ if (f && f.isReactWarning) return !1;
114
114
  }
115
- return h.key !== void 0;
115
+ return u.key !== void 0;
116
116
  }
117
- function u(h, x) {
118
- function M() {
119
- _ || (_ = !0, console.error(
117
+ function d(u, f) {
118
+ function S() {
119
+ D || (D = !0, console.error(
120
120
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
121
- x
121
+ f
122
122
  ));
123
123
  }
124
- M.isReactWarning = !0, Object.defineProperty(h, "key", {
125
- get: M,
124
+ S.isReactWarning = !0, Object.defineProperty(u, "key", {
125
+ get: S,
126
126
  configurable: !0
127
127
  });
128
128
  }
129
- function f() {
130
- var h = t(this.type);
131
- return I[h] || (I[h] = !0, console.error(
129
+ function m() {
130
+ var u = t(this.type);
131
+ return R[u] || (R[u] = !0, console.error(
132
132
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
133
- )), h = this.props.ref, h !== void 0 ? h : null;
133
+ )), u = this.props.ref, u !== void 0 ? u : null;
134
134
  }
135
- function b(h, x, M, F, Z, ae) {
136
- var X = M.ref;
137
- return h = {
138
- $$typeof: c,
139
- type: h,
140
- key: x,
141
- props: M,
142
- _owner: F
143
- }, (X !== void 0 ? X : null) !== null ? Object.defineProperty(h, "ref", {
135
+ function w(u, f, S, U, K, ae) {
136
+ var G = S.ref;
137
+ return u = {
138
+ $$typeof: E,
139
+ type: u,
140
+ key: f,
141
+ props: S,
142
+ _owner: U
143
+ }, (G !== void 0 ? G : null) !== null ? Object.defineProperty(u, "ref", {
144
144
  enumerable: !1,
145
- get: f
146
- }) : Object.defineProperty(h, "ref", { enumerable: !1, value: null }), h._store = {}, Object.defineProperty(h._store, "validated", {
145
+ get: m
146
+ }) : Object.defineProperty(u, "ref", { enumerable: !1, value: null }), u._store = {}, Object.defineProperty(u._store, "validated", {
147
147
  configurable: !1,
148
148
  enumerable: !1,
149
149
  writable: !0,
150
150
  value: 0
151
- }), Object.defineProperty(h, "_debugInfo", {
151
+ }), Object.defineProperty(u, "_debugInfo", {
152
152
  configurable: !1,
153
153
  enumerable: !1,
154
154
  writable: !0,
155
155
  value: null
156
- }), Object.defineProperty(h, "_debugStack", {
156
+ }), Object.defineProperty(u, "_debugStack", {
157
157
  configurable: !1,
158
158
  enumerable: !1,
159
159
  writable: !0,
160
- value: Z
161
- }), Object.defineProperty(h, "_debugTask", {
160
+ value: K
161
+ }), Object.defineProperty(u, "_debugTask", {
162
162
  configurable: !1,
163
163
  enumerable: !1,
164
164
  writable: !0,
165
165
  value: ae
166
- }), Object.freeze && (Object.freeze(h.props), Object.freeze(h)), h;
166
+ }), Object.freeze && (Object.freeze(u.props), Object.freeze(u)), u;
167
167
  }
168
- function y(h, x, M, F, Z, ae) {
169
- var X = x.children;
170
- if (X !== void 0)
171
- if (F)
172
- if (p(X)) {
173
- for (F = 0; F < X.length; F++)
174
- A(X[F]);
175
- Object.freeze && Object.freeze(X);
168
+ function b(u, f, S, U, K, ae) {
169
+ var G = f.children;
170
+ if (G !== void 0)
171
+ if (U)
172
+ if (y(G)) {
173
+ for (U = 0; U < G.length; U++)
174
+ A(G[U]);
175
+ Object.freeze && Object.freeze(G);
176
176
  } else
177
177
  console.error(
178
178
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
179
179
  );
180
- else A(X);
181
- if (m.call(x, "key")) {
182
- X = t(h);
183
- var H = Object.keys(x).filter(function(ue) {
180
+ else A(G);
181
+ if (v.call(f, "key")) {
182
+ G = t(u);
183
+ var H = Object.keys(f).filter(function(ue) {
184
184
  return ue !== "key";
185
185
  });
186
- F = 0 < H.length ? "{key: someKey, " + H.join(": ..., ") + ": ...}" : "{key: someKey}", oe[X + F] || (H = 0 < H.length ? "{" + H.join(": ..., ") + ": ...}" : "{}", console.error(
186
+ U = 0 < H.length ? "{key: someKey, " + H.join(": ..., ") + ": ...}" : "{key: someKey}", X[G + U] || (H = 0 < H.length ? "{" + H.join(": ..., ") + ": ...}" : "{}", console.error(
187
187
  `A props object containing a "key" prop is being spread into JSX:
188
188
  let props = %s;
189
189
  <%s {...props} />
190
190
  React keys must be passed directly to JSX without using spread:
191
191
  let props = %s;
192
192
  <%s key={someKey} {...props} />`,
193
- F,
194
- X,
193
+ U,
194
+ G,
195
195
  H,
196
- X
197
- ), oe[X + F] = !0);
196
+ G
197
+ ), X[G + U] = !0);
198
198
  }
199
- if (X = null, M !== void 0 && (e(M), X = "" + M), l(x) && (e(x.key), X = "" + x.key), "key" in x) {
200
- M = {};
201
- for (var ve in x)
202
- ve !== "key" && (M[ve] = x[ve]);
203
- } else M = x;
204
- return X && u(
205
- M,
206
- typeof h == "function" ? h.displayName || h.name || "Unknown" : h
207
- ), b(
208
- h,
209
- X,
210
- M,
199
+ if (G = null, S !== void 0 && (e(S), G = "" + S), i(f) && (e(f.key), G = "" + f.key), "key" in f) {
200
+ S = {};
201
+ for (var ve in f)
202
+ ve !== "key" && (S[ve] = f[ve]);
203
+ } else S = f;
204
+ return G && d(
205
+ S,
206
+ typeof u == "function" ? u.displayName || u.name || "Unknown" : u
207
+ ), w(
208
+ u,
209
+ G,
210
+ S,
211
211
  r(),
212
- Z,
212
+ K,
213
213
  ae
214
214
  );
215
215
  }
216
- function A(h) {
217
- z(h) ? h._store && (h._store.validated = 1) : typeof h == "object" && h !== null && h.$$typeof === g && (h._payload.status === "fulfilled" ? z(h._payload.value) && h._payload.value._store && (h._payload.value._store.validated = 1) : h._store && (h._store.validated = 1));
216
+ function A(u) {
217
+ q(u) ? u._store && (u._store.validated = 1) : typeof u == "object" && u !== null && u.$$typeof === p && (u._payload.status === "fulfilled" ? q(u._payload.value) && u._payload.value._store && (u._payload.value._store.validated = 1) : u._store && (u._store.validated = 1));
218
218
  }
219
- function z(h) {
220
- return typeof h == "object" && h !== null && h.$$typeof === c;
219
+ function q(u) {
220
+ return typeof u == "object" && u !== null && u.$$typeof === E;
221
221
  }
222
- var E = qt, c = /* @__PURE__ */ Symbol.for("react.transitional.element"), P = /* @__PURE__ */ Symbol.for("react.portal"), k = /* @__PURE__ */ Symbol.for("react.fragment"), S = /* @__PURE__ */ Symbol.for("react.strict_mode"), N = /* @__PURE__ */ Symbol.for("react.profiler"), R = /* @__PURE__ */ Symbol.for("react.consumer"), d = /* @__PURE__ */ Symbol.for("react.context"), $ = /* @__PURE__ */ Symbol.for("react.forward_ref"), T = /* @__PURE__ */ Symbol.for("react.suspense"), Y = /* @__PURE__ */ Symbol.for("react.suspense_list"), G = /* @__PURE__ */ Symbol.for("react.memo"), g = /* @__PURE__ */ Symbol.for("react.lazy"), v = /* @__PURE__ */ Symbol.for("react.activity"), L = /* @__PURE__ */ Symbol.for("react.client.reference"), w = E.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, m = Object.prototype.hasOwnProperty, p = Array.isArray, j = console.createTask ? console.createTask : function() {
222
+ var j = qt, E = /* @__PURE__ */ Symbol.for("react.transitional.element"), C = /* @__PURE__ */ Symbol.for("react.portal"), T = /* @__PURE__ */ Symbol.for("react.fragment"), h = /* @__PURE__ */ Symbol.for("react.strict_mode"), P = /* @__PURE__ */ Symbol.for("react.profiler"), N = /* @__PURE__ */ Symbol.for("react.consumer"), l = /* @__PURE__ */ Symbol.for("react.context"), _ = /* @__PURE__ */ Symbol.for("react.forward_ref"), L = /* @__PURE__ */ Symbol.for("react.suspense"), B = /* @__PURE__ */ Symbol.for("react.suspense_list"), J = /* @__PURE__ */ Symbol.for("react.memo"), p = /* @__PURE__ */ Symbol.for("react.lazy"), x = /* @__PURE__ */ Symbol.for("react.activity"), $ = /* @__PURE__ */ Symbol.for("react.client.reference"), W = j.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, v = Object.prototype.hasOwnProperty, y = Array.isArray, g = console.createTask ? console.createTask : function() {
223
223
  return null;
224
224
  };
225
- E = {
226
- react_stack_bottom_frame: function(h) {
227
- return h();
225
+ j = {
226
+ react_stack_bottom_frame: function(u) {
227
+ return u();
228
228
  }
229
229
  };
230
- var _, I = {}, re = E.react_stack_bottom_frame.bind(
231
- E,
230
+ var D, R = {}, Y = j.react_stack_bottom_frame.bind(
231
+ j,
232
232
  a
233
- )(), V = j(o(a)), oe = {};
234
- Ce.Fragment = k, Ce.jsx = function(h, x, M) {
235
- var F = 1e4 > w.recentlyCreatedOwnerStacks++;
236
- return y(
237
- h,
238
- x,
239
- M,
233
+ )(), F = g(o(a)), X = {};
234
+ Oe.Fragment = T, Oe.jsx = function(u, f, S) {
235
+ var U = 1e4 > W.recentlyCreatedOwnerStacks++;
236
+ return b(
237
+ u,
238
+ f,
239
+ S,
240
240
  !1,
241
- F ? Error("react-stack-top-frame") : re,
242
- F ? j(o(h)) : V
241
+ U ? Error("react-stack-top-frame") : Y,
242
+ U ? g(o(u)) : F
243
243
  );
244
- }, Ce.jsxs = function(h, x, M) {
245
- var F = 1e4 > w.recentlyCreatedOwnerStacks++;
246
- return y(
247
- h,
248
- x,
249
- M,
244
+ }, Oe.jsxs = function(u, f, S) {
245
+ var U = 1e4 > W.recentlyCreatedOwnerStacks++;
246
+ return b(
247
+ u,
248
+ f,
249
+ S,
250
250
  !0,
251
- F ? Error("react-stack-top-frame") : re,
252
- F ? j(o(h)) : V
251
+ U ? Error("react-stack-top-frame") : Y,
252
+ U ? g(o(u)) : F
253
253
  );
254
254
  };
255
- })()), Ce;
255
+ })()), Oe;
256
256
  }
257
- var Ot;
258
- function xn() {
259
- return Ot || (Ot = 1, process.env.NODE_ENV === "production" ? _e.exports = pn() : _e.exports = gn()), _e.exports;
257
+ var Nt;
258
+ function vn() {
259
+ return Nt || (Nt = 1, process.env.NODE_ENV === "production" ? _e.exports = gn() : _e.exports = xn()), _e.exports;
260
260
  }
261
- var s = xn();
262
- const vn = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), bn = (t) => t.replace(
261
+ var s = vn();
262
+ const bn = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), yn = (t) => t.replace(
263
263
  /^([A-Z])|[\s-_]+(\w)/g,
264
264
  (n, e, o) => o ? o.toUpperCase() : e.toLowerCase()
265
- ), Ct = (t) => {
266
- const n = bn(t);
265
+ ), Ot = (t) => {
266
+ const n = yn(t);
267
267
  return n.charAt(0).toUpperCase() + n.slice(1);
268
- }, It = (...t) => t.filter((n, e, o) => !!n && n.trim() !== "" && o.indexOf(n) === e).join(" ").trim(), yn = (t) => {
268
+ }, Ht = (...t) => t.filter((n, e, o) => !!n && n.trim() !== "" && o.indexOf(n) === e).join(" ").trim(), wn = (t) => {
269
269
  for (const n in t)
270
270
  if (n.startsWith("aria-") || n === "role" || n === "title")
271
271
  return !0;
272
272
  };
273
- var wn = {
273
+ var jn = {
274
274
  xmlns: "http://www.w3.org/2000/svg",
275
275
  width: 24,
276
276
  height: 24,
@@ -281,7 +281,7 @@ var wn = {
281
281
  strokeLinecap: "round",
282
282
  strokeLinejoin: "round"
283
283
  };
284
- const jn = Wt(
284
+ const Pn = Wt(
285
285
  ({
286
286
  color: t = "currentColor",
287
287
  size: n = 24,
@@ -289,59 +289,59 @@ const jn = Wt(
289
289
  absoluteStrokeWidth: o,
290
290
  className: r = "",
291
291
  children: a,
292
- iconNode: l,
293
- ...u
294
- }, f) => Ge(
292
+ iconNode: i,
293
+ ...d
294
+ }, m) => Ge(
295
295
  "svg",
296
296
  {
297
- ref: f,
298
- ...wn,
297
+ ref: m,
298
+ ...jn,
299
299
  width: n,
300
300
  height: n,
301
301
  stroke: t,
302
302
  strokeWidth: o ? Number(e) * 24 / Number(n) : e,
303
- className: It("lucide", r),
304
- ...!a && !yn(u) && { "aria-hidden": "true" },
305
- ...u
303
+ className: Ht("lucide", r),
304
+ ...!a && !wn(d) && { "aria-hidden": "true" },
305
+ ...d
306
306
  },
307
307
  [
308
- ...l.map(([b, y]) => Ge(b, y)),
308
+ ...i.map(([w, b]) => Ge(w, b)),
309
309
  ...Array.isArray(a) ? a : [a]
310
310
  ]
311
311
  )
312
312
  );
313
313
  const ie = (t, n) => {
314
314
  const e = Wt(
315
- ({ className: o, ...r }, a) => Ge(jn, {
315
+ ({ className: o, ...r }, a) => Ge(Pn, {
316
316
  ref: a,
317
317
  iconNode: n,
318
- className: It(
319
- `lucide-${vn(Ct(t))}`,
318
+ className: Ht(
319
+ `lucide-${bn(Ot(t))}`,
320
320
  `lucide-${t}`,
321
321
  o
322
322
  ),
323
323
  ...r
324
324
  })
325
325
  );
326
- return e.displayName = Ct(t), e;
326
+ return e.displayName = Ot(t), e;
327
327
  };
328
- const Pn = [
328
+ const En = [
329
329
  ["path", { d: "M12 5v14", key: "s699le" }],
330
330
  ["path", { d: "m19 12-7 7-7-7", key: "1idqje" }]
331
- ], En = ie("arrow-down", Pn);
332
- const Dn = [
331
+ ], Dn = ie("arrow-down", En);
332
+ const kn = [
333
333
  ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
334
334
  ["path", { d: "M19 12H5", key: "x3x0zl" }]
335
- ], kn = ie("arrow-left", Dn);
335
+ ], Cn = ie("arrow-left", kn);
336
336
  const Nn = [
337
337
  ["path", { d: "M5 12h14", key: "1ays0h" }],
338
338
  ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
339
339
  ], On = ie("arrow-right", Nn);
340
- const Cn = [
340
+ const Sn = [
341
341
  ["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
342
342
  ["path", { d: "M12 19V5", key: "x0mq9r" }]
343
- ], Mn = ie("arrow-up", Cn);
344
- const Sn = [
343
+ ], Mn = ie("arrow-up", Sn);
344
+ const An = [
345
345
  [
346
346
  "path",
347
347
  {
@@ -350,8 +350,8 @@ const Sn = [
350
350
  }
351
351
  ],
352
352
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
353
- ], An = ie("eye", Sn);
354
- const $n = [
353
+ ], $n = ie("eye", An);
354
+ const Tn = [
355
355
  [
356
356
  "path",
357
357
  {
@@ -368,20 +368,20 @@ const $n = [
368
368
  }
369
369
  ],
370
370
  ["path", { d: "m2 2 20 20", key: "1ooewy" }]
371
- ], Mt = ie("eye-off", $n);
372
- const Tn = [
371
+ ], St = ie("eye-off", Tn);
372
+ const Rn = [
373
373
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
374
374
  ["path", { d: "m21 3-7 7", key: "1l2asr" }],
375
375
  ["path", { d: "m3 21 7-7", key: "tjx5ai" }],
376
376
  ["path", { d: "M9 21H3v-6", key: "wtvkvv" }]
377
- ], Ln = ie("maximize-2", Tn);
378
- const _n = [
377
+ ], _n = ie("maximize-2", Rn);
378
+ const Ln = [
379
379
  ["path", { d: "m14 10 7-7", key: "oa77jy" }],
380
380
  ["path", { d: "M20 10h-6V4", key: "mjg0md" }],
381
381
  ["path", { d: "m3 21 7-7", key: "tjx5ai" }],
382
382
  ["path", { d: "M4 14h6v6", key: "rmj7iw" }]
383
- ], Rn = ie("minimize-2", _n);
384
- const zn = [
383
+ ], zn = ie("minimize-2", Ln);
384
+ const In = [
385
385
  ["path", { d: "M12.586 12.586 19 19", key: "ea5xo7" }],
386
386
  [
387
387
  "path",
@@ -390,7 +390,7 @@ const zn = [
390
390
  key: "277e5u"
391
391
  }
392
392
  ]
393
- ], qn = ie("mouse-pointer", zn);
393
+ ], qn = ie("mouse-pointer", In);
394
394
  const Wn = [
395
395
  ["path", { d: "M14 4.1 12 6", key: "ita8i4" }],
396
396
  ["path", { d: "m5.1 8-2.9-.8", key: "1go3kf" }],
@@ -403,11 +403,11 @@ const Wn = [
403
403
  key: "s0h3yz"
404
404
  }
405
405
  ]
406
- ], In = ie("mouse-pointer-click", Wn);
407
- const Hn = [
406
+ ], Hn = ie("mouse-pointer-click", Wn);
407
+ const Yn = [
408
408
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
409
409
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
410
- ], Ht = ie("x", Hn), me = class me {
410
+ ], Yt = ie("x", Yn), me = class me {
411
411
  /**
412
412
  * @constructor
413
413
  * @param {LogLevel} [level=LogLevel.WARN] - The minimum log level to output.
@@ -501,7 +501,7 @@ const Hn = [
501
501
  };
502
502
  me.instance = new me(2, "[drag-drop-panels]");
503
503
  let Ke = me;
504
- const Yn = ({ config: t, panelId: n, sizeInfo: e, onSizeInfoClick: o }) => t.showPanelSizes && e ? (
504
+ const Fn = ({ config: t, panelId: n, sizeInfo: e, onSizeInfoClick: o }) => t.showPanelSizes && e ? (
505
505
  // biome-ignore lint/a11y/noStaticElementInteractions: クリックイベントを持つ静的要素。デバッグ目的のため、インタラクティブ性は限定的。
506
506
  // biome-ignore lint/a11y/useKeyWithClickEvents: キーボード操作はデバッグ機能では優先度が低い。
507
507
  /* @__PURE__ */ s.jsxs(
@@ -537,26 +537,26 @@ const Yn = ({ config: t, panelId: n, sizeInfo: e, onSizeInfoClick: o }) => t.sho
537
537
  ]
538
538
  }
539
539
  )
540
- ) : null, O = (t, n, ...e) => {
540
+ ) : null, M = (t, n, ...e) => {
541
541
  (t.logLevel ?? 0) >= n && Ke.info(...e);
542
- }, et = (t, n, e) => t.columnIndex === n && (t.panelIndex === e || t.panelIndex + 1 === e), Yt = (t, n, e, o) => {
543
- const r = Object.keys(t).find((u) => t[u].includes(n));
542
+ }, et = (t, n, e) => t.columnIndex === n && (t.panelIndex === e || t.panelIndex + 1 === e), Ft = (t, n, e, o) => {
543
+ const r = Object.keys(t).find((d) => t[d].includes(n));
544
544
  if (r === void 0 || t[e] === void 0) return null;
545
545
  const a = { ...t };
546
546
  if (r === e) {
547
- const u = [...t[r]], f = u.indexOf(n);
548
- return u.splice(f, 1), u.splice(f < o ? o - 1 : o, 0, n), a[e] = u, a;
547
+ const d = [...t[r]], m = d.indexOf(n);
548
+ return d.splice(m, 1), d.splice(m < o ? o - 1 : o, 0, n), a[e] = d, a;
549
549
  }
550
- a[r] = t[r].filter((u) => u !== n);
551
- const l = [...t[e]];
552
- return l.splice(o, 0, n), a[e] = l, a;
553
- }, De = Object.freeze(["previous-column", "next-column", "up", "down"]), Fn = (t, n) => t.columnPanels[n] ?? [], tt = (t) => t.columnKeys.map((n) => Fn(t, n).filter((e) => t.panelVisibility[e] === !0)), Pe = (t, n) => {
550
+ a[r] = t[r].filter((d) => d !== n);
551
+ const i = [...t[e]];
552
+ return i.splice(o, 0, n), a[e] = i, a;
553
+ }, De = Object.freeze(["previous-column", "next-column", "up", "down"]), Bn = (t, n) => t.columnPanels[n] ?? [], tt = (t) => t.columnKeys.map((n) => Bn(t, n).filter((e) => t.panelVisibility[e] === !0)), Pe = (t, n) => {
554
554
  for (const [e, o] of tt(t).entries()) {
555
555
  const r = o.indexOf(n);
556
556
  if (r >= 0) return { column: e, index: r };
557
557
  }
558
558
  return null;
559
- }, Ft = (t, n, e) => {
559
+ }, Bt = (t, n, e) => {
560
560
  switch (e) {
561
561
  case "previous-column":
562
562
  case "next-column": {
@@ -573,28 +573,28 @@ const Yn = ({ config: t, panelId: n, sizeInfo: e, onSizeInfoClick: o }) => t.sho
573
573
  }
574
574
  }
575
575
  }, Un = (t, n, e, o) => {
576
- const r = t.filter(n), a = (f) => [...t.slice(0, f), e, ...t.slice(f)], l = r[o];
577
- if (l !== void 0) return a(t.indexOf(l));
578
- const u = r[o - 1];
579
- return a(u !== void 0 ? t.indexOf(u) + 1 : t.length);
580
- }, Bn = (t, n) => {
576
+ const r = t.filter(n), a = (m) => [...t.slice(0, m), e, ...t.slice(m)], i = r[o];
577
+ if (i !== void 0) return a(t.indexOf(i));
578
+ const d = r[o - 1];
579
+ return a(d !== void 0 ? t.indexOf(d) + 1 : t.length);
580
+ }, Xn = (t, n) => {
581
581
  const e = Pe(t, n);
582
582
  if (e === null) return [];
583
583
  const o = tt(t);
584
- return De.filter((r) => Ft(o, e, r) !== null);
585
- }, Xn = (t, n, e) => {
584
+ return De.filter((r) => Bt(o, e, r) !== null);
585
+ }, Vn = (t, n, e) => {
586
586
  if (!De.includes(e)) throw new RangeError(`[@aiquants/drag-drop-panels] unknown panel move ${JSON.stringify(e)}; expected one of ${De.join(", ")}`);
587
587
  const o = Pe(t, n);
588
588
  if (o === null) return null;
589
- const r = Ft(tt(t), o, e);
589
+ const r = Bt(tt(t), o, e);
590
590
  if (r === null) return null;
591
- const a = (f) => t.panelVisibility[f] === !0, l = Object.fromEntries(Object.entries(t.columnPanels).map(([f, b]) => [f, b.filter((y) => y !== n)])), u = t.columnKeys[r.column];
592
- return l[u] = Un(l[u] ?? [], a, n, r.index), { columnPanels: l, from: o, place: r };
593
- }, Vn = (t, n, e) => {
594
- const o = (r, a) => (r[a] ?? []).filter((l) => l !== e);
591
+ const a = (m) => t.panelVisibility[m] === !0, i = Object.fromEntries(Object.entries(t.columnPanels).map(([m, w]) => [m, w.filter((b) => b !== n)])), d = t.columnKeys[r.column];
592
+ return i[d] = Un(i[d] ?? [], a, n, r.index), { columnPanels: i, from: o, place: r };
593
+ }, Zn = (t, n, e) => {
594
+ const o = (r, a) => (r[a] ?? []).filter((i) => i !== e);
595
595
  for (const r of /* @__PURE__ */ new Set([...Object.keys(t), ...Object.keys(n)])) {
596
- const a = o(t, r), l = o(n, r);
597
- if (a.length !== l.length || a.some((u, f) => u !== l[f])) return !1;
596
+ const a = o(t, r), i = o(n, r);
597
+ if (a.length !== i.length || a.some((d, m) => d !== i[m])) return !1;
598
598
  }
599
599
  return !0;
600
600
  }, Ut = Object.freeze({
@@ -602,50 +602,50 @@ const Yn = ({ config: t, panelId: n, sizeInfo: e, onSizeInfoClick: o }) => t.sho
602
602
  "next-column": Object.freeze({ key: "ArrowRight", aria: "Alt+Shift+ArrowRight", text: "Alt+Shift+→" }),
603
603
  up: Object.freeze({ key: "ArrowUp", aria: "Alt+Shift+ArrowUp", text: "Alt+Shift+↑" }),
604
604
  down: Object.freeze({ key: "ArrowDown", aria: "Alt+Shift+ArrowDown", text: "Alt+Shift+↓" })
605
- }), Zn = (t) => {
605
+ }), Gn = (t) => {
606
606
  if (!(t.altKey && t.shiftKey) || t.ctrlKey || t.metaKey) return null;
607
607
  const n = De.find((e) => Ut[e].key === t.key);
608
608
  return n === void 0 ? null : n;
609
- }, Bt = qt.memo(({ index: t, columnIndex: n, isDragging: e, dragOverPosition: o, originalPosition: r, onDragEnter: a, onDragLeave: l, config: u, customDrag: f, label: b }) => {
610
- const y = r !== null && et(r, n, t), A = !y && o?.columnIndex === n && o?.insertIndex === t, z = W(null), [E, c] = se(null), P = e || (f?.isActive ?? !1), k = y || !P ? "hidden" : A ? "target" : "shown";
611
- return ee(() => {
612
- if (z.current) {
613
- const S = z.current.getBoundingClientRect(), N = {
614
- width: Math.round(S.width),
615
- height: Math.round(S.height),
616
- x: Math.round(S.left),
617
- y: Math.round(S.top)
609
+ }, Xt = qt.memo(({ index: t, columnIndex: n, isDragging: e, dragOverPosition: o, originalPosition: r, onDragEnter: a, onDragLeave: i, config: d, customDrag: m, label: w }) => {
610
+ const b = r !== null && et(r, n, t), A = !b && o?.columnIndex === n && o?.insertIndex === t, q = I(null), [j, E] = se(null), C = e || (m?.isActive ?? !1), T = b || !C ? "hidden" : A ? "target" : "shown";
611
+ return oe(() => {
612
+ if (q.current) {
613
+ const h = q.current.getBoundingClientRect(), P = {
614
+ width: Math.round(h.width),
615
+ height: Math.round(h.height),
616
+ x: Math.round(h.left),
617
+ y: Math.round(h.top)
618
618
  };
619
- c(N), A && O(u, 1, `🎯 アクティブプレースホルダー ${t}-${n}:`, {
620
- size: `${N.width}×${N.height}`,
621
- position: `(${N.x}, ${N.y})`,
622
- bottomRight: `(${N.x + N.width}, ${N.y + N.height})`,
623
- center: `(${N.x + N.width / 2}, ${N.y + N.height / 2})`
619
+ E(P), A && M(d, 1, `🎯 アクティブプレースホルダー ${t}-${n}:`, {
620
+ size: `${P.width}×${P.height}`,
621
+ position: `(${P.x}, ${P.y})`,
622
+ bottomRight: `(${P.x + P.width}, ${P.y + P.height})`,
623
+ center: `(${P.x + P.width / 2}, ${P.y + P.height / 2})`
624
624
  });
625
625
  }
626
- }, [A, t, n, u]), O(u, 2, `プレースホルダー${t}-${n}: 表示中`, { isHighlighted: A, isDragging: e, dragOverPosition: o, shouldShow: P }), // biome-ignore lint/a11y/noStaticElementInteractions: ドラッグイベントを処理するための対話的な要素。デバッグ目的のため、キーボード操作は必須ではない。
626
+ }, [A, t, n, d]), M(d, 2, `プレースホルダー${t}-${n}: 表示中`, { isHighlighted: A, isDragging: e, dragOverPosition: o, shouldShow: C }), // biome-ignore lint/a11y/noStaticElementInteractions: ドラッグイベントを処理するための対話的な要素。デバッグ目的のため、キーボード操作は必須ではない。
627
627
  /* @__PURE__ */ s.jsxs(
628
628
  "div",
629
629
  {
630
- ref: z,
630
+ ref: q,
631
631
  "data-placeholder-index": t,
632
632
  "data-placeholder-column": n,
633
- "data-aqdd-drop-placeholder": k,
633
+ "data-aqdd-drop-placeholder": T,
634
634
  onDragEnter: () => a(n, t),
635
- onDragLeave: (S) => l(S, n, t),
636
- className: `relative flex w-full items-center justify-center ${k === "hidden" ? "pointer-events-none h-0 overflow-hidden opacity-0" : k === "target" ? "my-2 scale-[1.02] rounded-xl border-4 border-dashed px-4 py-6 shadow-lg" : "my-2 rounded-xl border-2 border-dashed px-2 py-4"}`,
635
+ onDragLeave: (h) => i(h, n, t),
636
+ className: `relative flex w-full items-center justify-center ${T === "hidden" ? "pointer-events-none h-0 overflow-hidden opacity-0" : T === "target" ? "my-2 scale-[1.02] rounded-xl border-4 border-dashed px-4 py-6 shadow-lg" : "my-2 rounded-xl border-2 border-dashed px-2 py-4"}`,
637
637
  children: [
638
- !y && P && u.showPlaceholderInfo && E && /* @__PURE__ */ s.jsxs("div", { className: "absolute top-1 right-1 z-10 rounded-md bg-blue-500/90 px-2 py-1 font-mono text-white text-xs leading-tight shadow-lg", children: [
638
+ !b && C && d.showPlaceholderInfo && j && /* @__PURE__ */ s.jsxs("div", { className: "absolute top-1 right-1 z-10 rounded-md bg-blue-500/90 px-2 py-1 font-mono text-white text-xs leading-tight shadow-lg", children: [
639
639
  /* @__PURE__ */ s.jsxs("div", { children: [
640
- E.width,
640
+ j.width,
641
641
  "×",
642
- E.height
642
+ j.height
643
643
  ] }),
644
644
  /* @__PURE__ */ s.jsxs("div", { children: [
645
645
  "X:",
646
- E.x,
646
+ j.x,
647
647
  " Y:",
648
- E.y
648
+ j.y
649
649
  ] }),
650
650
  /* @__PURE__ */ s.jsx("div", { className: "text-[10px] opacity-80", children: "min:200px max:500px" }),
651
651
  /* @__PURE__ */ s.jsxs("div", { className: "mt-0.5 text-[10px] opacity-80", children: [
@@ -657,67 +657,67 @@ const Yn = ({ config: t, panelId: n, sizeInfo: e, onSizeInfoClick: o }) => t.sho
657
657
  A ? "ACTIVE" : "IDLE"
658
658
  ] })
659
659
  ] }),
660
- !y && P && /* @__PURE__ */ s.jsxs("div", { className: "flex items-center space-x-2", children: [
660
+ !b && C && /* @__PURE__ */ s.jsxs("div", { className: "flex items-center space-x-2", children: [
661
661
  /* @__PURE__ */ s.jsx("svg", { className: "h-6 w-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ s.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 6v6m0 0v6m0-6h6m-6 0H6" }) }),
662
- /* @__PURE__ */ s.jsx("span", { lang: b.lang, className: "font-medium text-sm", children: b.text })
662
+ /* @__PURE__ */ s.jsx("span", { lang: w.lang, className: "font-medium text-sm", children: w.text })
663
663
  ] })
664
664
  ]
665
665
  }
666
666
  );
667
667
  });
668
- Bt.displayName = "InsertPlaceholder";
669
- const Xt = ({ columnIndex: t, isDragging: n, dragOverPosition: e, children: o, config: r }) => {
670
- const a = W(null), [l, u] = se(null);
671
- return ee(() => {
668
+ Xt.displayName = "InsertPlaceholder";
669
+ const Vt = ({ columnIndex: t, isDragging: n, dragOverPosition: e, children: o, config: r }) => {
670
+ const a = I(null), [i, d] = se(null);
671
+ return oe(() => {
672
672
  if (a.current && n) {
673
- const f = a.current.getBoundingClientRect(), b = e?.columnIndex === t, y = {
674
- width: Math.round(f.width),
675
- height: Math.round(f.height),
676
- x: Math.round(f.left),
677
- y: Math.round(f.top),
678
- isActive: b
673
+ const m = a.current.getBoundingClientRect(), w = e?.columnIndex === t, b = {
674
+ width: Math.round(m.width),
675
+ height: Math.round(m.height),
676
+ x: Math.round(m.left),
677
+ y: Math.round(m.top),
678
+ isActive: w
679
679
  };
680
- u(y), b && O(r, 1, `🎯 アクティブドロップゾーン ${t}:`, {
681
- size: `${y.width}×${y.height}`,
682
- position: `(${y.x}, ${y.y})`,
683
- bottomRight: `(${y.x + y.width}, ${y.y + y.height})`,
684
- center: `(${y.x + y.width / 2}, ${y.y + y.height / 2})`
680
+ d(b), w && M(r, 1, `🎯 アクティブドロップゾーン ${t}:`, {
681
+ size: `${b.width}×${b.height}`,
682
+ position: `(${b.x}, ${b.y})`,
683
+ bottomRight: `(${b.x + b.width}, ${b.y + b.height})`,
684
+ center: `(${b.x + b.width / 2}, ${b.y + b.height / 2})`
685
685
  });
686
686
  }
687
687
  }, [n, e, t, r]), /* @__PURE__ */ s.jsxs("div", { ref: a, className: "relative", children: [
688
688
  o,
689
- n && l && r.showDropZoneOutlines && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
690
- /* @__PURE__ */ s.jsx("div", { className: `pointer-events-none absolute inset-0 rounded-lg border-2 border-dashed transition-all duration-200 ${l.isActive ? "border-red-500 bg-red-100/20 shadow-lg" : "border-gray-400 bg-gray-100/10"}` }),
691
- /* @__PURE__ */ s.jsxs("div", { className: `absolute top-2 left-2 z-20 rounded-md px-2 py-1 font-mono text-xs leading-tight shadow-lg transition-all duration-200 ${l.isActive ? "bg-red-500/90 text-white" : "bg-gray-500/90 text-white"}`, children: [
689
+ n && i && r.showDropZoneOutlines && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
690
+ /* @__PURE__ */ s.jsx("div", { className: `pointer-events-none absolute inset-0 rounded-lg border-2 border-dashed transition-all duration-200 ${i.isActive ? "border-red-500 bg-red-100/20 shadow-lg" : "border-gray-400 bg-gray-100/10"}` }),
691
+ /* @__PURE__ */ s.jsxs("div", { className: `absolute top-2 left-2 z-20 rounded-md px-2 py-1 font-mono text-xs leading-tight shadow-lg transition-all duration-200 ${i.isActive ? "bg-red-500/90 text-white" : "bg-gray-500/90 text-white"}`, children: [
692
692
  /* @__PURE__ */ s.jsxs("div", { className: "font-bold", children: [
693
693
  "DropZone-",
694
694
  t
695
695
  ] }),
696
696
  /* @__PURE__ */ s.jsxs("div", { children: [
697
- l.width,
697
+ i.width,
698
698
  "×",
699
- l.height
699
+ i.height
700
700
  ] }),
701
701
  /* @__PURE__ */ s.jsxs("div", { children: [
702
702
  "X:",
703
- l.x,
703
+ i.x,
704
704
  " Y:",
705
- l.y
705
+ i.y
706
706
  ] }),
707
- /* @__PURE__ */ s.jsx("div", { className: "mt-0.5 text-[10px] opacity-80", children: l.isActive ? "ACTIVE" : "IDLE" })
707
+ /* @__PURE__ */ s.jsx("div", { className: "mt-0.5 text-[10px] opacity-80", children: i.isActive ? "ACTIVE" : "IDLE" })
708
708
  ] }),
709
709
  /* @__PURE__ */ s.jsx(
710
710
  "div",
711
711
  {
712
- className: `pointer-events-none absolute transition-all duration-200 ${l.isActive ? "opacity-100" : "opacity-50"}`,
712
+ className: `pointer-events-none absolute transition-all duration-200 ${i.isActive ? "opacity-100" : "opacity-50"}`,
713
713
  style: {
714
- left: `${l.width / 2 - 6}px`,
715
- top: `${l.height / 2 - 6}px`
714
+ left: `${i.width / 2 - 6}px`,
715
+ top: `${i.height / 2 - 6}px`
716
716
  },
717
- children: /* @__PURE__ */ s.jsx("div", { className: `h-3 w-3 rounded-full border-2 ${l.isActive ? "border-red-700 bg-red-500" : "border-gray-700 bg-gray-500"}` })
717
+ children: /* @__PURE__ */ s.jsx("div", { className: `h-3 w-3 rounded-full border-2 ${i.isActive ? "border-red-700 bg-red-500" : "border-gray-700 bg-gray-500"}` })
718
718
  }
719
719
  ),
720
- l.isActive && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
720
+ i.isActive && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
721
721
  /* @__PURE__ */ s.jsx("div", { className: "pointer-events-none absolute top-0 left-0 h-2 w-2 rounded-full bg-red-500" }),
722
722
  /* @__PURE__ */ s.jsx("div", { className: "pointer-events-none absolute top-0 right-0 h-2 w-2 rounded-full bg-red-500" }),
723
723
  /* @__PURE__ */ s.jsx("div", { className: "pointer-events-none absolute bottom-0 left-0 h-2 w-2 rounded-full bg-red-500" }),
@@ -726,27 +726,27 @@ const Xt = ({ columnIndex: t, isDragging: n, dragOverPosition: e, children: o, c
726
726
  ] })
727
727
  ] });
728
728
  };
729
- Xt.displayName = "DropZoneDebugOverlay";
730
- const Vt = "[data-aqdd-scroll-root]", Ee = "data-aqdd-panel-action", Gn = 0.25, Kn = typeof window < "u" ? we : ee, Jn = (t, n = Gn) => {
731
- const e = W(null), [o, r] = se(1);
732
- return Kn(() => {
729
+ Vt.displayName = "DropZoneDebugOverlay";
730
+ const Zt = "[data-aqdd-scroll-root]", Ee = "data-aqdd-panel-action", Kn = 0.25, Jn = typeof window < "u" ? we : oe, Qn = (t, n = Kn) => {
731
+ const e = I(null), [o, r] = se(1);
732
+ return Jn(() => {
733
733
  const a = e.current;
734
734
  if (!a || t <= 0) {
735
735
  r(1);
736
736
  return;
737
737
  }
738
- const l = () => {
739
- const f = a.clientWidth;
740
- if (f <= 0)
738
+ const i = () => {
739
+ const m = a.clientWidth;
740
+ if (m <= 0)
741
741
  return;
742
- const b = f >= t ? 1 : Math.max(f / t, n);
743
- r((y) => Math.abs(y - b) < 5e-3 ? y : b);
742
+ const w = m >= t ? 1 : Math.max(m / t, n);
743
+ r((b) => Math.abs(b - w) < 5e-3 ? b : w);
744
744
  };
745
- l();
746
- const u = new ResizeObserver(l);
747
- return u.observe(a), () => u.disconnect();
745
+ i();
746
+ const d = new ResizeObserver(i);
747
+ return d.observe(a), () => d.disconnect();
748
748
  }, [t, n]), { containerRef: e, scale: o };
749
- }, Qn = Object.freeze([
749
+ }, er = Object.freeze([
750
750
  "--aqdd-panel-surface",
751
751
  "--aqdd-panel-border",
752
752
  "--aqdd-panel-title-color",
@@ -764,64 +764,67 @@ const Vt = "[data-aqdd-scroll-root]", Ee = "data-aqdd-panel-action", Gn = 0.25,
764
764
  "--aqdd-default-header-close-hover-color",
765
765
  "--aqdd-default-custom-badge-color",
766
766
  "--aqdd-default-custom-badge-surface"
767
- ]), Zt = (t, n) => {
767
+ ]), Gt = (t, n) => {
768
768
  const e = window.getComputedStyle(t);
769
- for (const o of Qn) {
769
+ for (const o of er) {
770
770
  const r = e.getPropertyValue(o).trim();
771
771
  r !== "" && n.style.setProperty(o, r);
772
772
  }
773
- }, Gt = (t, n, e) => {
773
+ }, Kt = (t, n, e) => {
774
774
  const o = t.getBoundingClientRect(), r = t.cloneNode(!0);
775
- return r.removeAttribute("data-panel-id"), Zt(t, r), r.style.position = "fixed", r.style.top = "0px", r.style.left = "0px", r.style.width = `${t.offsetWidth}px`, r.style.height = `${t.offsetHeight}px`, r.style.pointerEvents = "none", r.style.zIndex = "1000", r.style.opacity = "0.5", r.style.margin = "0", r.style.transition = "none", r.style.boxShadow = "0 8px 32px rgba(0,0,0,0.3)", r.style.transformOrigin = "top left", r.style.transform = `translate(${o.left}px, ${o.top}px) scale(${e})`, r.id = `drag-image-${n}`, document.body.appendChild(r), r;
776
- }, Kt = (t, n, e, o, r) => {
775
+ return r.removeAttribute("data-panel-id"), Gt(t, r), r.style.position = "fixed", r.style.top = "0px", r.style.left = "0px", r.style.width = `${t.offsetWidth}px`, r.style.height = `${t.offsetHeight}px`, r.style.pointerEvents = "none", r.style.zIndex = "1000", r.style.opacity = "0.5", r.style.margin = "0", r.style.transition = "none", r.style.boxShadow = "0 8px 32px rgba(0,0,0,0.3)", r.style.transformOrigin = "top left", r.style.transform = `translate(${o.left}px, ${o.top}px) scale(${e})`, r.id = `drag-image-${n}`, document.body.appendChild(r), r;
776
+ }, Jt = (t, n, e, o, r) => {
777
777
  t.style.transform = `translate(${n - o.x}px, ${e - o.y}px) scale(${r * 1.05})`;
778
- }, er = (t, n) => {
778
+ }, tr = (t, n) => {
779
779
  let e = n.closest("[data-drop-zone]");
780
780
  for (; e !== null && e.closest("[data-aqdd-layout]") !== t; ) {
781
781
  const o = e.parentElement;
782
782
  e = o === null ? null : o.closest("[data-drop-zone]");
783
783
  }
784
784
  return e;
785
- }, tr = (t, n, e) => {
786
- const o = document.elementFromPoint(n, e), r = o === null ? null : er(t, o);
785
+ }, nr = (t, n, e) => {
786
+ const o = document.elementFromPoint(n, e), r = o === null ? null : tr(t, o);
787
787
  if (r === null) return null;
788
788
  let a = null;
789
- for (const l of r.querySelectorAll("[data-placeholder-index]")) {
790
- if (l.closest("[data-drop-zone]") !== r) continue;
791
- const { top: u, bottom: f } = l.getBoundingClientRect(), b = e < u ? u - e : e > f ? e - f : 0;
792
- (a === null || b < a.distance) && (a = { insertIndex: Number(l.getAttribute("data-placeholder-index")), distance: b });
789
+ for (const i of r.querySelectorAll("[data-placeholder-index]")) {
790
+ if (i.closest("[data-drop-zone]") !== r) continue;
791
+ const { top: d, bottom: m } = i.getBoundingClientRect(), w = e < d ? d - e : e > m ? e - m : 0;
792
+ (a === null || w < a.distance) && (a = { insertIndex: Number(i.getAttribute("data-placeholder-index")), distance: w });
793
793
  }
794
794
  return a === null ? null : { columnIndex: Number(r.getAttribute("data-column-index")), insertIndex: a.insertIndex };
795
- }, Se = {
795
+ }, Me = {
796
796
  triggerDistance: 80,
797
797
  scrollSpeed: 5,
798
798
  maxScrollSpeed: 20
799
- }, nt = () => new DOMRect(0, 0, window.innerWidth, window.innerHeight), nr = (t) => {
800
- const n = t.getBoundingClientRect(), e = nt(), o = Math.max(n.left, e.left), r = Math.max(n.top, e.top), a = Math.min(n.right, e.right), l = Math.min(n.bottom, e.bottom);
801
- return a > o && l > r ? new DOMRect(o, r, a - o, l - r) : null;
802
- }, St = (t, n, e = Se, o) => {
803
- const { triggerDistance: r, scrollSpeed: a, maxScrollSpeed: l } = e, u = o === void 0 ? nt() : nr(o);
804
- if (u === null) return { x: 0, y: 0 };
805
- const { left: f, top: b, right: y, bottom: A } = u;
806
- let z = 0, E = 0;
807
- if (t >= f && t <= y && n >= b && n <= A) {
808
- if (t < f + r) {
809
- const c = Math.max(0, (f + r - t) / r);
810
- z = -Math.min(l, a + c * (l - a));
811
- } else if (t > y - r) {
812
- const c = Math.max(0, (t - (y - r)) / r);
813
- z = Math.min(l, a + c * (l - a));
799
+ }, nt = () => {
800
+ const t = window.visualViewport;
801
+ return t ? new DOMRect(t.offsetLeft, t.offsetTop, t.width, t.height) : new DOMRect(0, 0, window.innerWidth, window.innerHeight);
802
+ }, rr = (t) => {
803
+ const n = t.getBoundingClientRect(), e = nt(), o = Math.max(n.left, e.left), r = Math.max(n.top, e.top), a = Math.min(n.right, e.right), i = Math.min(n.bottom, e.bottom);
804
+ return a > o && i > r ? new DOMRect(o, r, a - o, i - r) : null;
805
+ }, Mt = (t, n, e = Me, o) => {
806
+ const { triggerDistance: r, scrollSpeed: a, maxScrollSpeed: i } = e, d = o === void 0 ? nt() : rr(o);
807
+ if (d === null) return { x: 0, y: 0 };
808
+ const { left: m, top: w, right: b, bottom: A } = d;
809
+ let q = 0, j = 0;
810
+ if (t >= m && t <= b && n >= w && n <= A) {
811
+ if (t < m + r) {
812
+ const E = Math.max(0, (m + r - t) / r);
813
+ q = -Math.min(i, a + E * (i - a));
814
+ } else if (t > b - r) {
815
+ const E = Math.max(0, (t - (b - r)) / r);
816
+ q = Math.min(i, a + E * (i - a));
814
817
  }
815
- if (n < b + r) {
816
- const c = Math.max(0, (b + r - n) / r);
817
- E = -Math.min(l, a + c * (l - a));
818
+ if (n < w + r) {
819
+ const E = Math.max(0, (w + r - n) / r);
820
+ j = -Math.min(i, a + E * (i - a));
818
821
  } else if (n > A - r) {
819
- const c = Math.max(0, (n - (A - r)) / r);
820
- E = Math.min(l, a + c * (l - a));
822
+ const E = Math.max(0, (n - (A - r)) / r);
823
+ j = Math.min(i, a + E * (i - a));
821
824
  }
822
825
  }
823
- return { x: z, y: E };
824
- }, rr = (t, n) => {
826
+ return { x: q, y: j };
827
+ }, or = (t, n) => {
825
828
  if (t === document.documentElement) return !1;
826
829
  if (t === document.body) {
827
830
  const r = window.getComputedStyle(document.documentElement);
@@ -829,20 +832,20 @@ const Vt = "[data-aqdd-scroll-root]", Ee = "data-aqdd-panel-action", Gn = 0.25,
829
832
  }
830
833
  const e = window.getComputedStyle(t), o = n === "x" ? e.overflowX : e.overflowY;
831
834
  return o === "auto" || o === "scroll";
832
- }, or = (t, n, e, o) => e === "x" ? o > 0 ? t.right - n.right : n.left - t.left : o > 0 ? t.bottom - n.bottom : n.top - t.top, Jt = (t, n, e) => {
835
+ }, sr = (t, n, e, o) => e === "x" ? o > 0 ? t.right - n.right : n.left - t.left : o > 0 ? t.bottom - n.bottom : n.top - t.top, Qt = (t, n, e) => {
833
836
  const o = n === "x" ? t.scrollLeft : t.scrollTop;
834
837
  return t.scrollBy(n === "x" ? { left: e, behavior: "instant" } : { top: e, behavior: "instant" }), (n === "x" ? t.scrollLeft : t.scrollTop) !== o;
835
838
  }, At = (t, n, e, o, r) => {
836
- const a = or(e, n, o, r);
837
- return a > 0 && Jt(t, o, Math.sign(r) * Math.min(Math.abs(r), a));
839
+ const a = sr(e, n, o, r);
840
+ return a > 0 && Qt(t, o, Math.sign(r) * Math.min(Math.abs(r), a));
838
841
  }, $t = (t, n, e) => {
839
- if (Jt(t, n, e)) return;
842
+ if (Qt(t, n, e)) return;
840
843
  const o = t.getBoundingClientRect();
841
844
  for (let a = t.parentElement; a !== null; a = a.parentElement)
842
- if (rr(a, n) && At(a, a.getBoundingClientRect(), o, n, e)) return;
845
+ if (or(a, n) && At(a, a.getBoundingClientRect(), o, n, e)) return;
843
846
  const r = document.scrollingElement;
844
847
  r instanceof Element && r !== t && At(r, nt(), o, n, e);
845
- }, sr = (t, n) => {
848
+ }, ar = (t, n) => {
846
849
  if (n === void 0) {
847
850
  (t.x !== 0 || t.y !== 0) && window.scrollBy(t.x, t.y);
848
851
  return;
@@ -857,7 +860,7 @@ class rt {
857
860
  * @param config - The edge bands and speeds. 端の帯と速さ。
858
861
  * @param scrollElement - The element to scroll. スクロールする要素。
859
862
  */
860
- constructor(n = Se, e) {
863
+ constructor(n = Me, e) {
861
864
  this.intervalId = null, this.isActive = !1, this.pointX = 0, this.pointY = 0, this.config = n, this.scrollElement = e;
862
865
  }
863
866
  /**
@@ -878,8 +881,8 @@ class rt {
878
881
  */
879
882
  start(n, e) {
880
883
  this.pointX = n, this.pointY = e, !this.isActive && (this.isActive = !0, this.intervalId = window.setInterval(() => {
881
- const o = St(this.pointX, this.pointY, this.config, this.scrollElement);
882
- sr(o, this.scrollElement);
884
+ const o = Mt(this.pointX, this.pointY, this.config, this.scrollElement);
885
+ ar(o, this.scrollElement);
883
886
  }, 16));
884
887
  }
885
888
  /**
@@ -892,7 +895,7 @@ class rt {
892
895
  */
893
896
  update(n, e) {
894
897
  this.pointX = n, this.pointY = e;
895
- const o = St(n, e, this.config, this.scrollElement);
898
+ const o = Mt(n, e, this.config, this.scrollElement);
896
899
  (o.x !== 0 || o.y !== 0) && !this.isActive ? this.start(n, e) : o.x === 0 && o.y === 0 && this.isActive && this.stop();
897
900
  }
898
901
  /**
@@ -921,123 +924,123 @@ class rt {
921
924
  this.config = n;
922
925
  }
923
926
  }
924
- const Tt = "custom-dragging", ar = (t, n) => t === null ? n === null : n !== null && t.columnIndex === n.columnIndex && t.insertIndex === n.insertIndex, Lt = (t, n, e) => {
925
- const { left: o, top: r, right: a, bottom: l } = t.getBoundingClientRect();
926
- return n < o || n > a || e < r || e > l;
927
- }, lr = (t, n) => {
927
+ const Tt = "custom-dragging", lr = (t, n) => t === null ? n === null : n !== null && t.columnIndex === n.columnIndex && t.insertIndex === n.insertIndex, Rt = (t, n, e) => {
928
+ const { left: o, top: r, right: a, bottom: i } = t.getBoundingClientRect();
929
+ return n < o || n > a || e < r || e > i;
930
+ }, ir = (t, n) => {
928
931
  let e = null;
929
- const o = (d) => {
930
- const $ = t(), T = $.layoutRef.current;
931
- if (T === null || Lt(T, d.x, d.y)) return null;
932
- const Y = tr(T, d.x, d.y), G = $.originOf(d.panelId);
933
- return Y === null || G === null || et(G, Y.columnIndex, Y.insertIndex) ? null : Y;
932
+ const o = (l) => {
933
+ const _ = t(), L = _.layoutRef.current;
934
+ if (L === null || Rt(L, l.x, l.y)) return null;
935
+ const B = nr(L, l.x, l.y), J = _.originOf(l.panelId);
936
+ return B === null || J === null || et(J, B.columnIndex, B.insertIndex) ? null : B;
934
937
  }, r = () => {
935
938
  if (e === null || e.phase !== "dragging") return;
936
- const d = o(e);
937
- n(($) => $ === null || ar($.over, d) ? $ : { panelId: $.panelId, over: d });
938
- }, a = (d) => {
939
- if (e === null || d.pointerId !== e.pointerId) return;
940
- if (e.x = d.clientX, e.y = d.clientY, e.phase === "pressing") {
941
- Math.hypot(e.x - e.startX, e.y - e.startY) > t().config.slop && E();
939
+ const l = o(e);
940
+ n((_) => _ === null || lr(_.over, l) ? _ : { panelId: _.panelId, over: l });
941
+ }, a = (l) => {
942
+ if (e === null || l.pointerId !== e.pointerId) return;
943
+ if (e.x = l.clientX, e.y = l.clientY, e.phase === "pressing") {
944
+ Math.hypot(e.x - e.startX, e.y - e.startY) > t().config.slop && j();
942
945
  return;
943
946
  }
944
- const $ = t(), T = $.layoutRef.current;
945
- if (T === null || Lt(T, e.x, e.y)) {
946
- c();
947
+ const _ = t(), L = _.layoutRef.current;
948
+ if (L === null || Rt(L, e.x, e.y)) {
949
+ E();
947
950
  return;
948
951
  }
949
- Kt(e.image, e.x, e.y, e.offset, $.scale), e.edgeScroll.update(e.x, e.y), r();
950
- }, l = (d) => {
951
- if (e === null || d.pointerId !== e.pointerId) return;
952
+ Jt(e.image, e.x, e.y, e.offset, _.scale), e.edgeScroll.update(e.x, e.y), r();
953
+ }, i = (l) => {
954
+ if (e === null || l.pointerId !== e.pointerId) return;
952
955
  if (e.phase === "pressing") {
953
- E();
956
+ j();
954
957
  return;
955
958
  }
956
- e.x = d.clientX, e.y = d.clientY;
957
- const $ = o(e), T = E();
958
- if (T === null) return;
959
- const Y = t();
960
- $ === null ? Y.onCancel(T.panelId) : Y.onDrop(T.panelId, $);
961
- }, u = (d) => {
962
- e !== null && d.pointerId === e.pointerId && c();
963
- }, f = (d) => {
964
- e !== null && e.phase === "pressing" && d.pointerId !== e.pointerId && E();
965
- }, b = (d) => {
966
- e !== null && e.phase === "dragging" && d.pointerId === e.pointerId && d.target === e.header && c();
967
- }, y = (d) => {
968
- e === null || e.phase !== "dragging" || d.key !== "Escape" || d.defaultPrevented || d.isComposing || (d.preventDefault(), c());
959
+ e.x = l.clientX, e.y = l.clientY;
960
+ const _ = o(e), L = j();
961
+ if (L === null) return;
962
+ const B = t();
963
+ _ === null ? B.onCancel(L.panelId) : B.onDrop(L.panelId, _);
964
+ }, d = (l) => {
965
+ e !== null && l.pointerId === e.pointerId && E();
966
+ }, m = (l) => {
967
+ e !== null && e.phase === "pressing" && l.pointerId !== e.pointerId && j();
968
+ }, w = (l) => {
969
+ e !== null && e.phase === "dragging" && l.pointerId === e.pointerId && l.target === e.header && E();
970
+ }, b = (l) => {
971
+ e === null || e.phase !== "dragging" || l.key !== "Escape" || l.defaultPrevented || l.isComposing || (l.preventDefault(), E());
969
972
  }, A = () => {
970
- document.addEventListener("pointermove", a, !0), document.addEventListener("pointerup", l, !0), document.addEventListener("pointercancel", u, !0), document.addEventListener("pointerdown", f, !0), document.addEventListener("lostpointercapture", b, !0), document.addEventListener("keydown", y, !0);
971
- }, z = () => {
972
- document.removeEventListener("pointermove", a, !0), document.removeEventListener("pointerup", l, !0), document.removeEventListener("pointercancel", u, !0), document.removeEventListener("pointerdown", f, !0), document.removeEventListener("lostpointercapture", b, !0), document.removeEventListener("keydown", y, !0);
973
+ document.addEventListener("pointermove", a, !0), document.addEventListener("pointerup", i, !0), document.addEventListener("pointercancel", d, !0), document.addEventListener("pointerdown", m, !0), document.addEventListener("lostpointercapture", w, !0), document.addEventListener("keydown", b, !0);
974
+ }, q = () => {
975
+ document.removeEventListener("pointermove", a, !0), document.removeEventListener("pointerup", i, !0), document.removeEventListener("pointercancel", d, !0), document.removeEventListener("pointerdown", m, !0), document.removeEventListener("lostpointercapture", w, !0), document.removeEventListener("keydown", b, !0);
976
+ }, j = () => {
977
+ const l = e;
978
+ return l === null ? null : (e = null, q(), l.phase === "pressing" ? (window.clearTimeout(l.timer), l) : (document.removeEventListener("scroll", r, !0), l.edgeScroll.stop(), l.image.remove(), document.body.classList.remove(Tt), l.header.hasPointerCapture(l.pointerId) && l.header.releasePointerCapture(l.pointerId), n(null), l));
973
979
  }, E = () => {
974
- const d = e;
975
- return d === null ? null : (e = null, z(), d.phase === "pressing" ? (window.clearTimeout(d.timer), d) : (document.removeEventListener("scroll", r, !0), d.edgeScroll.stop(), d.image.remove(), document.body.classList.remove(Tt), d.header.hasPointerCapture(d.pointerId) && d.header.releasePointerCapture(d.pointerId), n(null), d));
976
- }, c = () => {
977
- const d = E();
978
- d !== null && d.phase === "dragging" && t().onCancel(d.panelId);
979
- }, P = () => {
980
+ const l = j();
981
+ l !== null && l.phase === "dragging" && t().onCancel(l.panelId);
982
+ }, C = () => {
980
983
  if (e === null || e.phase !== "pressing") return;
981
- const d = e, $ = t(), T = $.panelElementOf(d.panelId), Y = $.scrollRootRef.current;
982
- if (!$.canStart || T === null || Y === null || !d.header.isConnected) {
983
- E();
984
+ const l = e, _ = t(), L = _.panelElementOf(l.panelId), B = _.scrollRootRef.current;
985
+ if (!_.canStart || L === null || B === null || !l.header.isConnected) {
986
+ j();
984
987
  return;
985
988
  }
986
989
  try {
987
- d.header.setPointerCapture(d.pointerId);
988
- } catch (v) {
989
- if (v instanceof DOMException) {
990
- E();
990
+ l.header.setPointerCapture(l.pointerId);
991
+ } catch (x) {
992
+ if (x instanceof DOMException) {
993
+ j();
991
994
  return;
992
995
  }
993
- throw v;
996
+ throw x;
994
997
  }
995
- const { left: G, top: g } = T.getBoundingClientRect();
998
+ const { left: J, top: p } = L.getBoundingClientRect();
996
999
  e = {
997
1000
  phase: "dragging",
998
- pointerId: d.pointerId,
999
- panelId: d.panelId,
1000
- header: d.header,
1001
- image: Gt(T, d.panelId, $.scale),
1002
- offset: { x: d.x - G, y: d.y - g },
1003
- edgeScroll: new rt(Se, Y),
1004
- x: d.x,
1005
- y: d.y
1006
- }, document.addEventListener("scroll", r, { capture: !0, passive: !0 }), document.body.classList.add(Tt), n({ panelId: d.panelId, over: null }), $.onLift(d.panelId);
1001
+ pointerId: l.pointerId,
1002
+ panelId: l.panelId,
1003
+ header: l.header,
1004
+ image: Kt(L, l.panelId, _.scale),
1005
+ offset: { x: l.x - J, y: l.y - p },
1006
+ edgeScroll: new rt(Me, B),
1007
+ x: l.x,
1008
+ y: l.y
1009
+ }, document.addEventListener("scroll", r, { capture: !0, passive: !0 }), document.body.classList.add(Tt), n({ panelId: l.panelId, over: null }), _.onLift(l.panelId);
1007
1010
  };
1008
- return { pressHeader: (d, $) => {
1009
- if (e !== null || !d.isPrimary || d.button !== 0 || d.pointerType !== "touch" && d.pointerType !== "pen") return;
1010
- const T = t();
1011
- T.canStart && (d.target instanceof Element && d.target.closest(`[${Ee}]`) !== null || (e = {
1011
+ return { pressHeader: (l, _) => {
1012
+ if (e !== null || !l.isPrimary || l.button !== 0 || l.pointerType !== "touch" && l.pointerType !== "pen") return;
1013
+ const L = t();
1014
+ L.canStart && (l.target instanceof Element && l.target.closest(`[${Ee}]`) !== null || (e = {
1012
1015
  phase: "pressing",
1013
- pointerId: d.pointerId,
1014
- panelId: $,
1015
- header: d.currentTarget,
1016
- startX: d.clientX,
1017
- startY: d.clientY,
1018
- timer: window.setTimeout(P, T.config.longPressDelay),
1019
- x: d.clientX,
1020
- y: d.clientY
1016
+ pointerId: l.pointerId,
1017
+ panelId: _,
1018
+ header: l.currentTarget,
1019
+ startX: l.clientX,
1020
+ startY: l.clientY,
1021
+ timer: window.setTimeout(C, L.config.longPressDelay),
1022
+ x: l.clientX,
1023
+ y: l.clientY
1021
1024
  }, A()));
1022
- }, holdContextMenu: (d) => {
1023
- e !== null && e.header === d.currentTarget && d.preventDefault();
1024
- }, bindHeader: (d) => {
1025
- if (d === null) return;
1026
- const $ = (T) => {
1027
- e !== null && e.phase === "dragging" && e.header === d && T.cancelable && T.preventDefault();
1025
+ }, holdContextMenu: (l) => {
1026
+ e !== null && e.header === l.currentTarget && l.preventDefault();
1027
+ }, bindHeader: (l) => {
1028
+ if (l === null) return;
1029
+ const _ = (L) => {
1030
+ e !== null && e.phase === "dragging" && e.header === l && L.cancelable && L.preventDefault();
1028
1031
  };
1029
- return d.addEventListener("touchmove", $, { passive: !1 }), () => d.removeEventListener("touchmove", $);
1030
- }, cancel: c, dispose: () => {
1031
- E();
1032
+ return l.addEventListener("touchmove", _, { passive: !1 }), () => l.removeEventListener("touchmove", _);
1033
+ }, cancel: E, dispose: () => {
1034
+ j();
1032
1035
  } };
1033
- }, ir = (t) => {
1034
- const n = W(t);
1036
+ }, cr = (t) => {
1037
+ const n = I(t);
1035
1038
  we(() => {
1036
1039
  n.current = t;
1037
1040
  });
1038
- const [e, o] = se(null), [r] = se(() => lr(() => n.current, o));
1039
- return ee(() => r.dispose, [r]), { touchDrag: e, pressHeader: r.pressHeader, holdContextMenu: r.holdContextMenu, bindHeader: r.bindHeader, cancel: r.cancel };
1040
- }, qe = Object.freeze({
1041
+ const [e, o] = se(null), [r] = se(() => ir(() => n.current, o));
1042
+ return oe(() => r.dispose, [r]), { touchDrag: e, pressHeader: r.pressHeader, holdContextMenu: r.holdContextMenu, bindHeader: r.bindHeader, cancel: r.cancel };
1043
+ }, Ie = Object.freeze({
1041
1044
  switchToCustomDragMode: { text: "カスタムドラッグモードに切り替え", lang: "ja" },
1042
1045
  switchToNormalDragMode: { text: "通常ドラッグモードに戻す", lang: "ja" },
1043
1046
  hidePanel: { text: "パネルを非表示", lang: "ja" },
@@ -1060,14 +1063,14 @@ const Tt = "custom-dragging", ar = (t, n) => t === null ? n === null : n !== nul
1060
1063
  dropZone: { text: "Drop zone for column {column}", lang: "en" },
1061
1064
  dropHere: { text: "パネルをここにドロップ", lang: "ja" },
1062
1065
  resizeColumn: { text: "{column} 列目のカラム幅を調整", lang: "ja" }
1063
- }), _t = new Set(Object.keys(qe)), cr = Object.freeze({
1066
+ }), _t = new Set(Object.keys(Ie)), ur = Object.freeze({
1064
1067
  panelMoved: Object.freeze(["title", "column", "position"]),
1065
1068
  panelMoveUnavailable: Object.freeze(["title", "move"]),
1066
1069
  panelDragStarted: Object.freeze(["title"]),
1067
1070
  panelDragCancelled: Object.freeze(["title"]),
1068
1071
  dropZone: Object.freeze(["column"]),
1069
1072
  resizeColumn: Object.freeze(["column"])
1070
- }), Qt = /\{(\w+)\}/g, Hr = Object.freeze(Object.fromEntries(Object.entries(qe).map(([t, n]) => [t, n.text]))), ur = (t) => {
1073
+ }), en = /\{(\w+)\}/g, Fr = Object.freeze(Object.fromEntries(Object.entries(Ie).map(([t, n]) => [t, n.text]))), dr = (t) => {
1071
1074
  if (t !== void 0) {
1072
1075
  const e = t;
1073
1076
  if (e === null || typeof e != "object")
@@ -1077,19 +1080,19 @@ const Tt = "custom-dragging", ar = (t, n) => t === null ? n === null : n !== nul
1077
1080
  throw new RangeError(`[@aiquants/drag-drop-panels] labels has the unknown key "${o}"; the labels are ${[..._t].join(", ")}`);
1078
1081
  }
1079
1082
  const n = {};
1080
- for (const e of Object.keys(qe)) {
1083
+ for (const e of Object.keys(Ie)) {
1081
1084
  const o = t?.[e];
1082
1085
  if (o === void 0) {
1083
- n[e] = qe[e];
1086
+ n[e] = Ie[e];
1084
1087
  continue;
1085
1088
  }
1086
1089
  if (typeof o != "string")
1087
1090
  throw new TypeError(`[@aiquants/drag-drop-panels] label "${e}" must be a string; got ${o === null ? "null" : typeof o}`);
1088
- const r = cr[e];
1091
+ const r = ur[e];
1089
1092
  if (r !== void 0) {
1090
- for (const [, a] of o.matchAll(Qt))
1093
+ for (const [, a] of o.matchAll(en))
1091
1094
  if (!r.includes(a))
1092
- throw new RangeError(`[@aiquants/drag-drop-panels] label "${e}" uses the unknown placeholder {${a}}; it accepts ${r.map((l) => `{${l}}`).join(", ")}`);
1095
+ throw new RangeError(`[@aiquants/drag-drop-panels] label "${e}" uses the unknown placeholder {${a}}; it accepts ${r.map((i) => `{${i}}`).join(", ")}`);
1093
1096
  }
1094
1097
  n[e] = { text: o, lang: void 0 };
1095
1098
  }
@@ -1097,104 +1100,91 @@ const Tt = "custom-dragging", ar = (t, n) => t === null ? n === null : n !== nul
1097
1100
  }, ze = (t, n) => {
1098
1101
  const e = [], o = (r, a) => {
1099
1102
  if (r === "") return;
1100
- const l = e[e.length - 1];
1101
- if (l !== void 0 && l.lang === a) {
1102
- e[e.length - 1] = { text: `${l.text}${r}`, lang: a };
1103
+ const i = e[e.length - 1];
1104
+ if (i !== void 0 && i.lang === a) {
1105
+ e[e.length - 1] = { text: `${i.text}${r}`, lang: a };
1103
1106
  return;
1104
1107
  }
1105
1108
  e.push({ text: r, lang: a });
1106
1109
  };
1107
- for (const [r, a] of t.text.split(Qt).entries()) {
1110
+ for (const [r, a] of t.text.split(en).entries()) {
1108
1111
  if (r % 2 === 0) {
1109
1112
  o(a, t.lang);
1110
1113
  continue;
1111
1114
  }
1112
- const l = n[a];
1113
- if (l === void 0) throw new RangeError(`[@aiquants/drag-drop-panels] no value for the placeholder {${a}} of "${t.text}"`);
1114
- typeof l == "number" ? o(String(l), t.lang) : o(l.text, l.lang);
1115
+ const i = n[a];
1116
+ if (i === void 0) throw new RangeError(`[@aiquants/drag-drop-panels] no value for the placeholder {${a}} of "${t.text}"`);
1117
+ typeof i == "number" ? o(String(i), t.lang) : o(i.text, i.lang);
1115
1118
  }
1116
1119
  return e;
1117
- }, Rt = (t, n) => ({
1120
+ }, Lt = (t, n) => ({
1118
1121
  text: ze(t, n).map((e) => e.text).join(""),
1119
1122
  lang: t.lang
1120
- }), dr = 229, hr = /* @__PURE__ */ new Set(["", "auto", "hint"]), mr = (t) => {
1123
+ }), hr = 229, mr = /* @__PURE__ */ new Set(["", "auto", "hint"]), fr = (t) => {
1121
1124
  for (const n of t.querySelectorAll("[popover]")) {
1122
1125
  const e = n.getAttribute("popover");
1123
- if (e !== null && hr.has(e.toLowerCase()) && n.matches(":popover-open")) return !0;
1126
+ if (e !== null && mr.has(e.toLowerCase()) && n.matches(":popover-open")) return !0;
1124
1127
  }
1125
1128
  return !1;
1126
- }, fr = (t) => t.key !== "Escape" || t.defaultPrevented || t.isComposing || t.keyCode === dr || t.target instanceof Element && t.target.closest("dialog[open]") !== null ? !1 : !("popover" in HTMLElement.prototype && mr(document)), en = ({ columnId: t, onResizeStart: n, onResize: e, onResizeEnd: o, isResizing: r = !1, position: a = "right", className: l = "", debug: u = {}, label: f }) => {
1127
- const b = W(!1), y = W(null);
1128
- ee(() => {
1129
- !r && b.current && (O(u, 1, "外部からのリサイズ解除を検出、ドラッグ状態を強制解除:", t), b.current = !1, document.body.style.cursor = "", document.body.style.userSelect = "", document.body.classList.remove("resizing-column"));
1130
- }, [r, t, u]);
1131
- const A = D(
1132
- (c) => {
1133
- c.preventDefault(), c.stopPropagation(), O(u, 2, "リサイズハンドル マウスダウン:", t), b.current = !0, n(t, c.clientX), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none", document.body.classList.add("resizing-column");
1134
- },
1135
- [t, n, u]
1136
- );
1137
- ee(() => {
1138
- const c = (k) => {
1139
- b.current && (k.preventDefault(), e(k.clientX));
1140
- }, P = () => {
1141
- b.current && (O(u, 2, "リサイズハンドル マウスアップ:", t), b.current = !1, o(), document.body.style.cursor = "", document.body.style.userSelect = "", document.body.classList.remove("resizing-column"));
1142
- };
1143
- return document.addEventListener("mousemove", c), document.addEventListener("mouseup", P), () => {
1144
- document.removeEventListener("mousemove", c), document.removeEventListener("mouseup", P);
1145
- };
1146
- }, [t, e, o, u]);
1147
- const z = D(
1148
- (c) => {
1149
- c.preventDefault(), c.stopPropagation();
1150
- const P = c.touches[0];
1151
- O(u, 2, "リサイズハンドル タッチスタート:", t), b.current = !0, n(t, P.clientX), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none", document.body.classList.add("resizing-column");
1152
- },
1153
- [t, n, u]
1154
- );
1155
- ee(() => {
1156
- const c = (k) => {
1157
- if (!b.current) return;
1158
- k.preventDefault();
1159
- const S = k.touches[0];
1160
- e(S.clientX);
1161
- }, P = () => {
1162
- b.current && (O(u, 2, "リサイズハンドル タッチエンド:", t), b.current = !1, o(), document.body.style.cursor = "", document.body.style.userSelect = "", document.body.classList.remove("resizing-column"));
1163
- };
1164
- return document.addEventListener("touchmove", c, { passive: !1 }), document.addEventListener("touchend", P), () => {
1165
- document.removeEventListener("touchmove", c), document.removeEventListener("touchend", P);
1129
+ }, pr = (t) => t.key !== "Escape" || t.defaultPrevented || t.isComposing || t.keyCode === hr || t.target instanceof Element && t.target.closest("dialog[open]") !== null ? !1 : !("popover" in HTMLElement.prototype && fr(document)), gr = "resizing-column", zt = (t) => {
1130
+ document.body.style.cursor = t ? "col-resize" : "", document.body.style.userSelect = t ? "none" : "", document.body.classList.toggle(gr, t);
1131
+ }, tn = ({ columnId: t, onResizeStart: n, onResize: e, onResizeEnd: o, isResizing: r = !1, position: a = "right", className: i = "", debug: d = {}, label: m }) => {
1132
+ const w = I({ columnId: t, onResize: e, onResizeEnd: o, debug: d });
1133
+ we(() => {
1134
+ w.current = { columnId: t, onResize: e, onResizeEnd: o, debug: d };
1135
+ });
1136
+ const b = I(null);
1137
+ oe(() => {
1138
+ r || b.current?.();
1139
+ }, [r]), oe(() => () => b.current?.(), []);
1140
+ const A = (j) => {
1141
+ if (b.current !== null || !j.isPrimary || j.button !== 0) return;
1142
+ const E = j.currentTarget, { pointerId: C } = j;
1143
+ try {
1144
+ E.setPointerCapture(C);
1145
+ } catch (l) {
1146
+ if (l instanceof DOMException) return;
1147
+ throw l;
1148
+ }
1149
+ j.preventDefault(), j.stopPropagation(), M(d, 2, "リサイズハンドル ポインタダウン:", t, j.pointerType);
1150
+ const T = (l) => {
1151
+ l.pointerId === C && w.current.onResize(l.clientX);
1152
+ }, h = (l) => {
1153
+ l.pointerId === C && N(!0);
1154
+ }, P = (l) => {
1155
+ l.pointerId === C && N(!0);
1156
+ }, N = (l) => {
1157
+ b.current = null, document.removeEventListener("pointermove", T, !0), document.removeEventListener("pointerup", h, !0), document.removeEventListener("pointercancel", h, !0), E.removeEventListener("lostpointercapture", P), E.hasPointerCapture(C) && E.releasePointerCapture(C), zt(!1), M(w.current.debug, l ? 2 : 1, l ? "リサイズハンドル 終了:" : "リサイズハンドル 中断:", w.current.columnId), l && w.current.onResizeEnd();
1166
1158
  };
1167
- }, [t, e, o, u]), ee(() => () => {
1168
- b.current && (O(u, 1, "リサイズハンドルアンマウント時のクリーンアップ:", t), document.body.style.cursor = "", document.body.style.userSelect = "", document.body.classList.remove("resizing-column"));
1169
- }, [t, u]);
1170
- const E = ["resize-handle", a, r ? "resizing" : "", l].filter(Boolean).join(" ");
1159
+ b.current = () => N(!1), document.addEventListener("pointermove", T, !0), document.addEventListener("pointerup", h, !0), document.addEventListener("pointercancel", h, !0), E.addEventListener("lostpointercapture", P), zt(!0), n(t, j.clientX);
1160
+ }, q = ["resize-handle", a, r ? "resizing" : "", i].filter(Boolean).join(" ");
1171
1161
  return (
1172
1162
  // biome-ignore lint/a11y/useFocusableInteractive: リサイズハンドルとして機能するためインタラクティブである必要がある
1173
1163
  // biome-ignore lint/a11y/useSemanticElements: divを使用するが、aria-roleでセマンティックな意味を提供している
1174
1164
  // biome-ignore lint/a11y/useAriaPropsForRole: リサイズハンドルのため、値の範囲を指定することが難しい
1175
- /* @__PURE__ */ s.jsxs("div", { ref: y, className: E, onMouseDown: A, onTouchStart: z, "data-column-id": t, "data-position": a, "aria-label": f.text, lang: f.lang, role: "separator", "aria-orientation": "vertical", children: [
1165
+ /* @__PURE__ */ s.jsxs("div", { className: q, onPointerDown: A, "data-column-id": t, "data-position": a, "aria-label": m.text, lang: m.lang, role: "separator", "aria-orientation": "vertical", children: [
1176
1166
  /* @__PURE__ */ s.jsx("div", { className: "resize-handle-bar" }),
1177
- u.showPanelSizes && /* @__PURE__ */ s.jsxs("div", { className: "resize-handle-debug-info", children: [
1167
+ d.showPanelSizes && /* @__PURE__ */ s.jsxs("div", { className: "resize-handle-debug-info", children: [
1178
1168
  t,
1179
1169
  r && " (resizing)"
1180
1170
  ] })
1181
1171
  ] })
1182
1172
  );
1183
- }, Yr = ({ columnId: t, width: n, minWidth: e = 100, maxWidth: o = 800, onResizeStart: r, onResize: a, onResizeEnd: l, isResizing: u = !1, resizable: f = !0, className: b = "", debug: y = {}, resizeHandleLabel: A, children: z }) => {
1184
- const E = ["resizable-column", u ? "resizing" : "", b].filter(Boolean).join(" ");
1185
- return ee(() => {
1186
- const c = document.querySelector(`[data-column-id="${t}"]`);
1187
- c && (c.style.setProperty("--column-width", `${n}px`), c.style.setProperty("--column-min-width", `${e}px`), c.style.setProperty("--column-max-width", `${o}px`));
1188
- }, [t, n, e, o]), /* @__PURE__ */ s.jsxs("div", { className: E, "data-column-id": t, "data-width": n, "data-min-width": e, "data-max-width": o, children: [
1189
- z,
1190
- f && /* @__PURE__ */ s.jsx(en, { columnId: t, onResizeStart: r, onResize: a, onResizeEnd: l, isResizing: u, position: "right", debug: y, label: A }),
1191
- y.showPanelSizes && /* @__PURE__ */ s.jsxs("div", { className: "column-debug-size", children: [
1173
+ }, Br = ({ columnId: t, width: n, minWidth: e = 100, maxWidth: o = 800, onResizeStart: r, onResize: a, onResizeEnd: i, isResizing: d = !1, resizable: m = !0, className: w = "", debug: b = {}, resizeHandleLabel: A, children: q }) => {
1174
+ const j = ["resizable-column", d ? "resizing" : "", w].filter(Boolean).join(" ");
1175
+ return oe(() => {
1176
+ const E = document.querySelector(`[data-column-id="${t}"]`);
1177
+ E && (E.style.setProperty("--column-width", `${n}px`), E.style.setProperty("--column-min-width", `${e}px`), E.style.setProperty("--column-max-width", `${o}px`));
1178
+ }, [t, n, e, o]), /* @__PURE__ */ s.jsxs("div", { className: j, "data-column-id": t, "data-width": n, "data-min-width": e, "data-max-width": o, children: [
1179
+ q,
1180
+ m && /* @__PURE__ */ s.jsx(tn, { columnId: t, onResizeStart: r, onResize: a, onResizeEnd: i, isResizing: d, position: "right", debug: b, label: A }),
1181
+ b.showPanelSizes && /* @__PURE__ */ s.jsxs("div", { className: "column-debug-size", children: [
1192
1182
  n,
1193
1183
  "px",
1194
- u && " ↔"
1184
+ d && " ↔"
1195
1185
  ] })
1196
1186
  ] });
1197
- }, pr = Object.freeze({ longPressDelay: 500, slop: 10 }), Ve = Object.freeze(["longPressDelay", "slop"]), gr = (t) => {
1187
+ }, xr = Object.freeze({ longPressDelay: 500, slop: 10 }), Ve = Object.freeze(["longPressDelay", "slop"]), vr = (t) => {
1198
1188
  const n = t;
1199
1189
  if (n === null || typeof n != "object")
1200
1190
  throw new TypeError(`[@aiquants/drag-drop-panels] touchDragConfig must be an object; got ${n === null ? "null" : typeof n}`);
@@ -1208,14 +1198,14 @@ const Tt = "custom-dragging", ar = (t, n) => t === null ? n === null : n !== nul
1208
1198
  if (!Number.isFinite(o) || o < 0)
1209
1199
  throw new RangeError(`[@aiquants/drag-drop-panels] touchDragConfig.${e} must be a finite number of 0 or more; got ${o}`);
1210
1200
  }
1211
- }, zt = Object.freeze({
1201
+ }, It = Object.freeze({
1212
1202
  "previous-column": "movePanelToPreviousColumn",
1213
1203
  "next-column": "movePanelToNextColumn",
1214
1204
  up: "movePanelUp",
1215
1205
  down: "movePanelDown"
1216
- }), xr = Object.freeze({ "previous-column": kn, "next-column": On, up: Mn, down: En }), vr = 'input, textarea, select, [contenteditable]:not([contenteditable="false"])', Ze = (t, n) => ({ segments: n, serial: t === null ? 1 : t.serial + 1 }), br = "​", yr = "(prefers-reduced-motion: reduce)", wr = () => typeof window.matchMedia == "function" && window.matchMedia(yr).matches, jr = (t) => {
1206
+ }), br = Object.freeze({ "previous-column": Cn, "next-column": On, up: Mn, down: Dn }), yr = 'input, textarea, select, [contenteditable]:not([contenteditable="false"])', Ze = (t, n) => ({ segments: n, serial: t === null ? 1 : t.serial + 1 }), wr = "​", jr = "(prefers-reduced-motion: reduce)", Pr = () => typeof window.matchMedia == "function" && window.matchMedia(jr).matches, Er = (t) => {
1217
1207
  t.key === "Enter" && t.repeat && t.preventDefault();
1218
- }, Me = ({ action: t, label: n, tooltip: e, unavailable: o, keyShortcuts: r, onActivate: a, children: l }) => /* @__PURE__ */ s.jsx(
1208
+ }, Se = ({ action: t, label: n, tooltip: e, unavailable: o, keyShortcuts: r, onActivate: a, children: i }) => /* @__PURE__ */ s.jsx(
1219
1209
  "button",
1220
1210
  {
1221
1211
  type: "button",
@@ -1226,12 +1216,12 @@ const Tt = "custom-dragging", ar = (t, n) => t === null ? n === null : n !== nul
1226
1216
  title: e,
1227
1217
  lang: n.lang,
1228
1218
  className: "rounded p-1 motion-safe:transition-colors",
1229
- onClick: (u) => {
1230
- u.stopPropagation(), a();
1219
+ onClick: (d) => {
1220
+ d.stopPropagation(), a();
1231
1221
  },
1232
- children: l
1222
+ children: i
1233
1223
  }
1234
- ), Je = hn(
1224
+ ), Je = mn(
1235
1225
  ({
1236
1226
  index: t,
1237
1227
  columnIndex: n,
@@ -1239,267 +1229,267 @@ const Tt = "custom-dragging", ar = (t, n) => t === null ? n === null : n !== nul
1239
1229
  dragOverPosition: o,
1240
1230
  originalPosition: r,
1241
1231
  onDragEnter: a,
1242
- onDragLeave: l,
1243
- debugConfig: u,
1244
- customDrag: f,
1245
- label: b
1246
- }) => /* @__PURE__ */ s.jsx(Bt, { index: t, columnIndex: n, isDragging: e, dragOverPosition: o, originalPosition: r, onDragEnter: a, onDragLeave: l, config: u, customDrag: f, label: b })
1232
+ onDragLeave: i,
1233
+ debugConfig: d,
1234
+ customDrag: m,
1235
+ label: w
1236
+ }) => /* @__PURE__ */ s.jsx(Xt, { index: t, columnIndex: n, isDragging: e, dragOverPosition: o, originalPosition: r, onDragEnter: a, onDragLeave: i, config: d, customDrag: m, label: w })
1247
1237
  );
1248
1238
  Je.displayName = "LocalInsertPlaceholder";
1249
- const Fr = ({
1239
+ const Ur = ({
1250
1240
  columns: t,
1251
1241
  panels: n,
1252
1242
  columnPanels: e,
1253
1243
  onColumnPanelsChange: o,
1254
1244
  panelVisibility: r,
1255
1245
  onPanelVisibilityChange: a,
1256
- dragState: l,
1257
- dragOverPosition: u,
1258
- originalPanelPosition: f,
1259
- dragModes: b,
1260
- onDragStart: y,
1246
+ dragState: i,
1247
+ dragOverPosition: d,
1248
+ originalPanelPosition: m,
1249
+ dragModes: w,
1250
+ onDragStart: b,
1261
1251
  onDragEnd: A,
1262
- onPlaceholderDragEnter: z,
1263
- onPlaceholderDragLeave: E,
1264
- onDragOverWithInsert: c,
1265
- onDropWithInsert: P,
1266
- onColumnDragLeave: k,
1267
- onPanelClick: S,
1268
- onPanelMouseDown: N,
1269
- debugConfig: R,
1270
- panelSizes: d,
1271
- setPanelRef: $,
1272
- enableResize: T = !1,
1273
- columnWidths: Y,
1252
+ onPlaceholderDragEnter: q,
1253
+ onPlaceholderDragLeave: j,
1254
+ onDragOverWithInsert: E,
1255
+ onDropWithInsert: C,
1256
+ onColumnDragLeave: T,
1257
+ onPanelClick: h,
1258
+ onPanelMouseDown: P,
1259
+ debugConfig: N,
1260
+ panelSizes: l,
1261
+ setPanelRef: _,
1262
+ enableResize: L = !1,
1263
+ columnWidths: B,
1274
1264
  // onColumnWidthChange,
1275
- onResizeStart: G,
1276
- onResize: g,
1277
- onResizeEnd: v,
1278
- isResizing: L = !1,
1279
- resizingColumn: w,
1280
- onPanelSizeInfoClick: m,
1281
- onToggleDragMode: p,
1282
- onPanelClose: j,
1283
- onPanelMaximizeChange: _,
1284
- customDrag: I,
1285
- dragHandle: re = "panel",
1286
- maximizedPanel: V = null,
1287
- panelClassName: oe = "",
1288
- scale: h,
1289
- autoScale: x,
1290
- onScaleChange: M,
1291
- scrollRootElement: F = "div",
1292
- labels: Z,
1293
- touchDragConfig: ae = pr
1265
+ onResizeStart: J,
1266
+ onResize: p,
1267
+ onResizeEnd: x,
1268
+ isResizing: $ = !1,
1269
+ resizingColumn: W,
1270
+ onPanelSizeInfoClick: v,
1271
+ onToggleDragMode: y,
1272
+ onPanelClose: g,
1273
+ onPanelMaximizeChange: D,
1274
+ customDrag: R,
1275
+ dragHandle: Y = "panel",
1276
+ maximizedPanel: F = null,
1277
+ panelClassName: X = "",
1278
+ scale: u,
1279
+ autoScale: f,
1280
+ onScaleChange: S,
1281
+ scrollRootElement: U = "div",
1282
+ labels: K,
1283
+ touchDragConfig: ae = xr
1294
1284
  }) => {
1295
- if (F !== "div" && F !== "main")
1296
- throw new RangeError(`[@aiquants/drag-drop-panels] scrollRootElement must be "div" or "main"; got ${JSON.stringify(F)}`);
1297
- const X = F, H = Re(() => ur(Z), [Z]);
1298
- gr(ae);
1299
- const ve = mn(), ue = Re(() => {
1300
- const i = {};
1301
- return n.forEach((C) => {
1302
- i[C.id] = C;
1303
- }), i;
1304
- }, [n]), pe = Re(
1285
+ if (U !== "div" && U !== "main")
1286
+ throw new RangeError(`[@aiquants/drag-drop-panels] scrollRootElement must be "div" or "main"; got ${JSON.stringify(U)}`);
1287
+ const G = U, H = Le(() => dr(K), [K]);
1288
+ vr(ae);
1289
+ const ve = fn(), ue = Le(() => {
1290
+ const c = {};
1291
+ return n.forEach((O) => {
1292
+ c[O.id] = O;
1293
+ }), c;
1294
+ }, [n]), pe = Le(
1305
1295
  () => ({
1306
- columnKeys: t.map((i) => i.key),
1296
+ columnKeys: t.map((c) => c.key),
1307
1297
  columnPanels: e,
1308
- panelVisibility: Object.fromEntries(Object.keys(r).map((i) => [i, r[i] === !0 && ue[i] !== void 0]))
1298
+ panelVisibility: Object.fromEntries(Object.keys(r).map((c) => [c, r[c] === !0 && ue[c] !== void 0]))
1309
1299
  }),
1310
1300
  [t, e, r, ue]
1311
- ), ot = V === null ? null : Pe(pe, V), de = ot !== null, be = W(R);
1312
- ee(() => {
1313
- be.current = R;
1314
- }, [R]);
1315
- const { containerRef: nn, scale: rn } = Jn(x?.requiredWidth ?? 0, x?.minScale), He = de ? 1 : h ?? (x ? rn : 1), ge = Number.isFinite(He) && He > 0 ? He : 1, st = W(ge);
1316
- st.current = ge, ee(() => {
1317
- M && M(ge);
1318
- }, [ge, M]);
1319
- const on = ge < 1 ? {
1301
+ ), ot = F === null ? null : Pe(pe, F), de = ot !== null, be = I(N);
1302
+ oe(() => {
1303
+ be.current = N;
1304
+ }, [N]);
1305
+ const { containerRef: rn, scale: on } = Qn(f?.requiredWidth ?? 0, f?.minScale), He = de ? 1 : u ?? (f ? on : 1), ge = Number.isFinite(He) && He > 0 ? He : 1, st = I(ge);
1306
+ st.current = ge, oe(() => {
1307
+ S && S(ge);
1308
+ }, [ge, S]);
1309
+ const sn = ge < 1 ? {
1320
1310
  width: `${100 / ge}%`,
1321
1311
  height: `${100 / ge}%`,
1322
1312
  transform: `scale(${ge})`,
1323
1313
  transformOrigin: "top left"
1324
- } : void 0, he = W({}), Ye = W(/* @__PURE__ */ new Map());
1325
- ee(() => {
1326
- O(be.current, 1, "🎨 DragDropLayout - dragModes props changed:", {
1327
- dragModes: b,
1314
+ } : void 0, he = I({}), Ye = I(/* @__PURE__ */ new Map());
1315
+ oe(() => {
1316
+ M(be.current, 1, "🎨 DragDropLayout - dragModes props changed:", {
1317
+ dragModes: w,
1328
1318
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
1329
- keys: Object.keys(b),
1330
- values: Object.values(b)
1319
+ keys: Object.keys(w),
1320
+ values: Object.values(w)
1331
1321
  });
1332
- }, [b]);
1333
- const [Fe, Ue] = se(null), Ae = W(null), at = W({ arrangement: pe, labels: H, panelComponentMap: ue });
1322
+ }, [w]);
1323
+ const [Fe, Be] = se(null), Ae = I(null), at = I({ arrangement: pe, labels: H, panelComponentMap: ue });
1334
1324
  we(() => {
1335
1325
  at.current = { arrangement: pe, labels: H, panelComponentMap: ue };
1336
1326
  });
1337
- const lt = W(null), it = W(null), sn = D((i) => {
1338
- it.current = i;
1339
- }, []), ct = W(null), Be = (i, C) => {
1340
- const q = ue[C];
1341
- if (q === void 0) return;
1342
- const K = ze(i, { title: { text: q.title, lang: void 0 } });
1343
- Ue((J) => Ze(J, K));
1344
- }, ut = (i, C, q, K) => {
1345
- const J = he.current[i], te = document.activeElement, ne = J instanceof HTMLElement && te !== null && J.contains(te) ? te.closest(`[${Ee}]`)?.getAttribute(Ee) ?? K : null;
1346
- Ae.current = { panelId: i, from: C, columnPanels: pe.columnPanels, focusAction: ne }, o(q);
1347
- }, dt = (i) => {
1348
- for (const [C, q] of t.entries()) {
1349
- const K = (e[q.key] ?? []).indexOf(i);
1350
- if (K >= 0) return { columnIndex: C, panelIndex: K };
1327
+ const lt = I(null), it = I(null), an = k((c) => {
1328
+ it.current = c;
1329
+ }, []), ct = I(null), Ue = (c, O) => {
1330
+ const z = ue[O];
1331
+ if (z === void 0) return;
1332
+ const Q = ze(c, { title: { text: z.title, lang: void 0 } });
1333
+ Be((ee) => Ze(ee, Q));
1334
+ }, ut = (c, O, z, Q) => {
1335
+ const ee = he.current[c], ne = document.activeElement, re = ee instanceof HTMLElement && ne !== null && ee.contains(ne) ? ne.closest(`[${Ee}]`)?.getAttribute(Ee) ?? Q : null;
1336
+ Ae.current = { panelId: c, from: O, columnPanels: pe.columnPanels, focusAction: re }, o(z);
1337
+ }, dt = (c) => {
1338
+ for (const [O, z] of t.entries()) {
1339
+ const Q = (e[z.key] ?? []).indexOf(c);
1340
+ if (Q >= 0) return { columnIndex: O, panelIndex: Q };
1351
1341
  }
1352
1342
  return null;
1353
- }, an = (i, C) => {
1354
- const q = Pe(pe, i), K = t[C.columnIndex], J = q === null || K === void 0 ? null : Yt(e, i, K.key, C.insertIndex);
1355
- if (q === null || J === null) {
1356
- Be(H.panelDragCancelled, i);
1343
+ }, ln = (c, O) => {
1344
+ const z = Pe(pe, c), Q = t[O.columnIndex], ee = z === null || Q === void 0 ? null : Ft(e, c, Q.key, O.insertIndex);
1345
+ if (z === null || ee === null) {
1346
+ Ue(H.panelDragCancelled, c);
1357
1347
  return;
1358
1348
  }
1359
- ut(i, q, J, null);
1360
- }, ht = !(l.isDragging || I?.isActive === !0 || de), ke = ir({
1349
+ ut(c, z, ee, null);
1350
+ }, ht = !(i.isDragging || R?.isActive === !0 || de), ke = cr({
1361
1351
  config: ae,
1362
1352
  layoutRef: lt,
1363
1353
  scrollRootRef: it,
1364
1354
  scale: ge,
1365
1355
  canStart: ht,
1366
- panelElementOf: (i) => he.current[i] ?? null,
1356
+ panelElementOf: (c) => he.current[c] ?? null,
1367
1357
  originOf: dt,
1368
- onLift: (i) => Be(H.panelDragStarted, i),
1369
- onDrop: an,
1370
- onCancel: (i) => Be(H.panelDragCancelled, i)
1358
+ onLift: (c) => Ue(H.panelDragStarted, c),
1359
+ onDrop: ln,
1360
+ onCancel: (c) => Ue(H.panelDragCancelled, c)
1371
1361
  }), { touchDrag: ye } = ke, mt = ye !== null && (!ht || Pe(pe, ye.panelId) === null), ft = ke.cancel;
1372
- ee(() => {
1362
+ oe(() => {
1373
1363
  mt && ft();
1374
1364
  }, [mt, ft]);
1375
- const $e = l.isDragging || I?.isActive === !0 || ye !== null;
1365
+ const $e = i.isDragging || R?.isActive === !0 || ye !== null;
1376
1366
  we(() => {
1377
1367
  $e && (Ae.current = null);
1378
1368
  }, [$e]), we(() => {
1379
- const i = Ae.current;
1380
- if (i === null || (Ae.current = null, !Vn(i.columnPanels, e, i.panelId))) return;
1381
- const C = at.current, q = Pe({ ...C.arrangement, columnPanels: e }, i.panelId);
1382
- if (q === null || q.column === i.from.column && q.index === i.from.index) return;
1383
- const K = ze(C.labels.panelMoved, { title: { text: C.panelComponentMap[i.panelId].title, lang: void 0 }, column: q.column + 1, position: q.index + 1 });
1384
- Ue((Q) => Ze(Q, K));
1385
- const J = he.current[i.panelId];
1386
- if (i.focusAction === null || J === null || J === void 0) return;
1387
- const { activeElement: te, body: ne } = document;
1388
- if (te === null || te === ne) {
1389
- const Q = J.querySelector(`[${Ee}="${i.focusAction}"]`);
1390
- Q instanceof HTMLElement && Q.focus({ preventScroll: !0 });
1369
+ const c = Ae.current;
1370
+ if (c === null || (Ae.current = null, !Zn(c.columnPanels, e, c.panelId))) return;
1371
+ const O = at.current, z = Pe({ ...O.arrangement, columnPanels: e }, c.panelId);
1372
+ if (z === null || z.column === c.from.column && z.index === c.from.index) return;
1373
+ const Q = ze(O.labels.panelMoved, { title: { text: O.panelComponentMap[c.panelId].title, lang: void 0 }, column: z.column + 1, position: z.index + 1 });
1374
+ Be((te) => Ze(te, Q));
1375
+ const ee = he.current[c.panelId];
1376
+ if (c.focusAction === null || ee === null || ee === void 0) return;
1377
+ const { activeElement: ne, body: re } = document;
1378
+ if (ne === null || ne === re) {
1379
+ const te = ee.querySelector(`[${Ee}="${c.focusAction}"]`);
1380
+ te instanceof HTMLElement && te.focus({ preventScroll: !0 });
1391
1381
  }
1392
- const U = document.activeElement;
1393
- U instanceof HTMLElement && J.contains(U) && U.scrollIntoView({ block: "nearest", inline: "nearest" });
1394
- }, [e]), ee(() => {
1395
- if (!(de && _))
1382
+ const V = document.activeElement;
1383
+ V instanceof HTMLElement && ee.contains(V) && V.scrollIntoView({ block: "nearest", inline: "nearest" });
1384
+ }, [e]), oe(() => {
1385
+ if (!(de && D))
1396
1386
  return;
1397
- const i = (C) => {
1398
- fr(C) && (C.preventDefault(), _(null));
1387
+ const c = (O) => {
1388
+ pr(O) && (O.preventDefault(), D(null));
1399
1389
  };
1400
- return document.addEventListener("keydown", i), () => document.removeEventListener("keydown", i);
1401
- }, [de, _]), we(() => {
1402
- const i = /* @__PURE__ */ new Map();
1403
- Object.keys(he.current).forEach((ne) => {
1404
- const U = he.current[ne];
1405
- if (U) {
1406
- const Q = U.getBoundingClientRect();
1407
- i.set(ne, {
1408
- rect: Q,
1409
- height: U.offsetHeight,
1410
- width: U.offsetWidth
1390
+ return document.addEventListener("keydown", c), () => document.removeEventListener("keydown", c);
1391
+ }, [de, D]), we(() => {
1392
+ const c = /* @__PURE__ */ new Map();
1393
+ Object.keys(he.current).forEach((re) => {
1394
+ const V = he.current[re];
1395
+ if (V) {
1396
+ const te = V.getBoundingClientRect();
1397
+ c.set(re, {
1398
+ rect: te,
1399
+ height: V.offsetHeight,
1400
+ width: V.offsetWidth
1411
1401
  });
1412
1402
  }
1413
1403
  });
1414
- const C = Ye.current, q = 300, K = /* @__PURE__ */ new Set();
1415
- Object.values(e).forEach((ne) => {
1416
- ne.forEach((U) => {
1417
- K.add(U);
1404
+ const O = Ye.current, z = 300, Q = /* @__PURE__ */ new Set();
1405
+ Object.values(e).forEach((re) => {
1406
+ re.forEach((V) => {
1407
+ Q.add(V);
1418
1408
  });
1419
- }), new Set(C.keys()).forEach((ne) => {
1420
- K.has(ne) || (O(be.current, 1, "パネル削除検出 - クリーンアップ:", ne), C.delete(ne), he.current[ne] && delete he.current[ne]);
1409
+ }), new Set(O.keys()).forEach((re) => {
1410
+ Q.has(re) || (M(be.current, 1, "パネル削除検出 - クリーンアップ:", re), O.delete(re), he.current[re] && delete he.current[re]);
1421
1411
  });
1422
- const te = !wr();
1423
- i.forEach((ne, U) => {
1424
- if (!te) return;
1425
- const Q = C.get(U);
1426
- if (Q) {
1427
- const le = Q.rect.left - ne.rect.left, xe = Q.rect.top - ne.rect.top;
1412
+ const ne = !Pr();
1413
+ c.forEach((re, V) => {
1414
+ if (!ne) return;
1415
+ const te = O.get(V);
1416
+ if (te) {
1417
+ const le = te.rect.left - re.rect.left, xe = te.rect.top - re.rect.top;
1428
1418
  if (le !== 0 || xe !== 0) {
1429
- O(be.current, 2, "パネル移動検出 - アニメーション開始:", U, { dx: le, dy: xe });
1430
- const ce = he.current[U];
1419
+ M(be.current, 2, "パネル移動検出 - アニメーション開始:", V, { dx: le, dy: xe });
1420
+ const ce = he.current[V];
1431
1421
  if (ce) {
1432
1422
  const Te = st.current || 1;
1433
1423
  ce.style.transform = `translate(${le / Te}px, ${xe / Te}px)`, ce.style.transition = "none", ce.classList.add("is-moving"), requestAnimationFrame(() => {
1434
- ce.style.transition = `transform ${q}ms cubic-bezier(0.2, 0, 0.2, 1)`, ce.style.transform = "translate(0, 0)", setTimeout(() => {
1424
+ ce.style.transition = `transform ${z}ms cubic-bezier(0.2, 0, 0.2, 1)`, ce.style.transform = "translate(0, 0)", setTimeout(() => {
1435
1425
  ce.style.transition = "", ce.style.transform = "", ce.classList.remove("is-moving");
1436
- }, q);
1426
+ }, z);
1437
1427
  });
1438
1428
  }
1439
1429
  }
1440
1430
  } else {
1441
- O(be.current, 1, "新規パネル検出 - フェードインアニメーション:", U);
1442
- const le = he.current[U];
1431
+ M(be.current, 1, "新規パネル検出 - フェードインアニメーション:", V);
1432
+ const le = he.current[V];
1443
1433
  le && (le.style.opacity = "0", le.style.transition = "none", requestAnimationFrame(() => {
1444
- le.style.transition = `opacity ${q}ms ease-out`, le.style.opacity = "1", setTimeout(() => {
1434
+ le.style.transition = `opacity ${z}ms ease-out`, le.style.opacity = "1", setTimeout(() => {
1445
1435
  le.style.transition = "", le.style.opacity = "";
1446
- }, q);
1436
+ }, z);
1447
1437
  }));
1448
1438
  }
1449
- }), Ye.current = i;
1439
+ }), Ye.current = c;
1450
1440
  }, [e]), we(() => {
1451
- const i = /* @__PURE__ */ new Map();
1452
- Object.keys(he.current).forEach((C) => {
1453
- const q = he.current[C];
1454
- q && i.set(C, { rect: q.getBoundingClientRect(), height: q.offsetHeight, width: q.offsetWidth });
1455
- }), Ye.current = i;
1441
+ const c = /* @__PURE__ */ new Map();
1442
+ Object.keys(he.current).forEach((O) => {
1443
+ const z = he.current[O];
1444
+ z && c.set(O, { rect: z.getBoundingClientRect(), height: z.offsetHeight, width: z.offsetWidth });
1445
+ }), Ye.current = c;
1456
1446
  }, [ge]);
1457
- const pt = (i, C, q) => {
1447
+ const pt = (c, O, z) => {
1458
1448
  if ($e) return;
1459
- const K = Xn(pe, i, C);
1460
- if (K === null) {
1461
- if (q) {
1462
- const J = ze(H.panelMoveUnavailable, { title: { text: ue[i].title, lang: void 0 }, move: H[zt[C]] });
1463
- Ue((te) => Ze(te, J));
1449
+ const Q = Vn(pe, c, O);
1450
+ if (Q === null) {
1451
+ if (z) {
1452
+ const ee = ze(H.panelMoveUnavailable, { title: { text: ue[c].title, lang: void 0 }, move: H[It[O]] });
1453
+ Be((ne) => Ze(ne, ee));
1464
1454
  }
1465
1455
  return;
1466
1456
  }
1467
- ut(i, K.from, K.columnPanels, `move-${C}`);
1468
- }, ln = (i, C) => {
1469
- if (i.defaultPrevented || de || !(i.target instanceof Node && i.currentTarget.contains(i.target))) return;
1470
- const q = Zn(i);
1471
- q !== null && (i.target instanceof Element && i.target.closest(vr) !== null || (i.preventDefault(), !i.repeat && pt(C, q, !0)));
1472
- }, gt = (i, C) => {
1473
- const q = ct.current;
1474
- if (q === "touch" || q === "pen") {
1475
- i.preventDefault();
1457
+ ut(c, Q.from, Q.columnPanels, `move-${O}`);
1458
+ }, cn = (c, O) => {
1459
+ if (c.defaultPrevented || de || !(c.target instanceof Node && c.currentTarget.contains(c.target))) return;
1460
+ const z = Gn(c);
1461
+ z !== null && (c.target instanceof Element && c.target.closest(yr) !== null || (c.preventDefault(), !c.repeat && pt(O, z, !0)));
1462
+ }, gt = (c, O) => {
1463
+ const z = ct.current;
1464
+ if (z === "touch" || z === "pen") {
1465
+ c.preventDefault();
1476
1466
  return;
1477
1467
  }
1478
- y(i, C);
1479
- }, Xe = ye === null ? u : ye.over, xt = ye === null ? f : dt(ye.panelId), cn = (i) => {
1480
- if (!r[i]) return null;
1481
- const C = ue[i];
1482
- if (!C)
1483
- return O(be.current, 1, `Panel config not found for panelId: ${i}`), null;
1484
- const q = C.component, K = C.title, J = l.draggedPanel === i || ye?.panelId === i, te = b[i] || "normal";
1485
- O(be.current, 2, `🎨 renderPanel - ${i}:`, {
1486
- panelId: i,
1487
- dragMode: te,
1468
+ b(c, O);
1469
+ }, Xe = ye === null ? d : ye.over, xt = ye === null ? m : dt(ye.panelId), un = (c) => {
1470
+ if (!r[c]) return null;
1471
+ const O = ue[c];
1472
+ if (!O)
1473
+ return M(be.current, 1, `Panel config not found for panelId: ${c}`), null;
1474
+ const z = O.component, Q = O.title, ee = i.draggedPanel === c || ye?.panelId === c, ne = w[c] || "normal";
1475
+ M(be.current, 2, `🎨 renderPanel - ${c}:`, {
1476
+ panelId: c,
1477
+ dragMode: ne,
1488
1478
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
1489
1479
  });
1490
- const ne = (B) => {
1491
- he.current[i] = B, $ && $(i, B), B && R.showPanelSizes && requestAnimationFrame(() => {
1492
- const je = B.getBoundingClientRect(), Ne = window.getComputedStyle(B);
1493
- O(be.current, 1, `Panel ${i} mounted with size:`, {
1480
+ const re = (Z) => {
1481
+ he.current[c] = Z, _ && _(c, Z), Z && N.showPanelSizes && requestAnimationFrame(() => {
1482
+ const je = Z.getBoundingClientRect(), Ce = window.getComputedStyle(Z);
1483
+ M(be.current, 1, `Panel ${c} mounted with size:`, {
1494
1484
  width: je.width,
1495
1485
  height: je.height,
1496
1486
  x: je.left,
1497
1487
  y: je.top,
1498
- minHeight: Ne.minHeight,
1499
- maxHeight: Ne.maxHeight
1488
+ minHeight: Ce.minHeight,
1489
+ maxHeight: Ce.maxHeight
1500
1490
  });
1501
1491
  });
1502
- }, U = d[i], Q = V === i, le = !!_, xe = () => _?.(Q ? null : i), ce = Q ? null : new Set(Bn(pe, i)), Te = Q ? {
1492
+ }, V = l[c], te = F === c, le = !!D, xe = () => D?.(te ? null : c), ce = te ? null : new Set(Xn(pe, c)), Te = te ? {
1503
1493
  position: "fixed",
1504
1494
  top: "var(--aqdd-maximize-top, 0px)",
1505
1495
  right: "var(--aqdd-maximize-right, 0px)",
@@ -1509,111 +1499,111 @@ const Fr = ({
1509
1499
  minHeight: 0,
1510
1500
  maxHeight: "none"
1511
1501
  } : {
1512
- minHeight: C.minHeight ?? "200px",
1513
- maxHeight: C.maxHeight ?? "500px"
1514
- }, Le = re === "header", bt = te === "normal" && !Le && !Q, yt = te === "normal" && Le && !Q, wt = J ? "cursor-grabbing" : "cursor-grab", jt = `panel-draggable relative flex flex-col overflow-hidden border text-left shadow-lg backdrop-blur-lg ${te === "custom" ? "select-none" : ""}`, dn = Q ? (
1502
+ minHeight: O.minHeight ?? "200px",
1503
+ maxHeight: O.maxHeight ?? "500px"
1504
+ }, Re = Y === "header", bt = ne === "normal" && !Re && !te, yt = ne === "normal" && Re && !te, wt = ee ? "cursor-grabbing" : "cursor-grab", jt = `panel-draggable relative flex flex-col overflow-hidden border text-left shadow-lg backdrop-blur-lg ${ne === "custom" ? "select-none" : ""}`, hn = te ? (
1515
1505
  // 最大化中: 角丸・ホバー演出・grab カーソル無し (下のレイアウトを遮蔽する不透過寄りの面は CSS が data-maximized で描く)
1516
- `${jt} rounded-none p-4 ${oe}`
1517
- ) : `${jt} rounded-2xl p-4 motion-safe:transition-all motion-safe:duration-300 motion-safe:hover:-translate-y-1 hover:shadow-xl ${Le ? "" : wt} ${oe}`, Pt = te === "custom" ? H.switchToNormalDragMode : H.switchToCustomDragMode, Et = Q ? H.restorePanel : H.maximizePanel;
1506
+ `${jt} rounded-none p-4 ${X}`
1507
+ ) : `${jt} rounded-2xl p-4 motion-safe:transition-all motion-safe:duration-300 motion-safe:hover:-translate-y-1 hover:shadow-xl ${Re ? "" : wt} ${X}`, Pt = ne === "custom" ? H.switchToNormalDragMode : H.switchToCustomDragMode, Et = te ? H.restorePanel : H.maximizePanel;
1518
1508
  return (
1519
1509
  // biome-ignore lint/a11y/noStaticElementInteractions: クリックイベントを持つ静的要素
1520
1510
  /* @__PURE__ */ s.jsxs(
1521
1511
  "div",
1522
1512
  {
1523
- ref: ne,
1524
- "data-panel-id": i,
1513
+ ref: re,
1514
+ "data-panel-id": c,
1525
1515
  "data-aqdd-panel": !0,
1526
- "data-aqdd-drag-mode": te,
1527
- "data-dragging": J,
1528
- "data-maximized": Q || void 0,
1516
+ "data-aqdd-drag-mode": ne,
1517
+ "data-dragging": ee,
1518
+ "data-maximized": te || void 0,
1529
1519
  role: "presentation",
1530
1520
  draggable: bt,
1531
- onDragStart: (B) => bt && gt(B, i),
1521
+ onDragStart: (Z) => bt && gt(Z, c),
1532
1522
  onDragEnd: A,
1533
- onClick: (B) => S?.(B, i),
1534
- onMouseDown: (B) => N?.(B, i),
1535
- onKeyDown: (B) => ln(B, i),
1523
+ onClick: (Z) => h?.(Z, c),
1524
+ onMouseDown: (Z) => P?.(Z, c),
1525
+ onKeyDown: (Z) => cn(Z, c),
1536
1526
  style: Te,
1537
- className: dn,
1527
+ className: hn,
1538
1528
  children: [
1539
1529
  /* @__PURE__ */ s.jsxs(
1540
1530
  "div",
1541
1531
  {
1542
1532
  ref: ke.bindHeader,
1543
1533
  "data-aqdd-panel-header": !0,
1544
- className: `relative mb-3 ${Le && !Q ? wt : ""}`,
1534
+ className: `relative mb-3 ${Re && !te ? wt : ""}`,
1545
1535
  draggable: yt,
1546
- onDragStart: (B) => yt && gt(B, i),
1547
- onPointerDown: (B) => ke.pressHeader(B, i),
1536
+ onDragStart: (Z) => yt && gt(Z, c),
1537
+ onPointerDown: (Z) => ke.pressHeader(Z, c),
1548
1538
  onContextMenu: ke.holdContextMenu,
1549
- onKeyDown: jr,
1550
- onDoubleClick: le ? (B) => {
1551
- B.stopPropagation(), !(B.target instanceof Element && B.target.closest(`[${Ee}]`) !== null) && xe();
1539
+ onKeyDown: Er,
1540
+ onDoubleClick: le ? (Z) => {
1541
+ Z.stopPropagation(), !(Z.target instanceof Element && Z.target.closest(`[${Ee}]`) !== null) && xe();
1552
1542
  } : void 0,
1553
1543
  children: [
1554
- /* @__PURE__ */ s.jsx("h3", { "data-aqdd-panel-title": !0, className: "font-semibold text-lg", children: K }),
1544
+ /* @__PURE__ */ s.jsx("h3", { "data-aqdd-panel-title": !0, className: "font-semibold text-lg", children: Q }),
1555
1545
  /* @__PURE__ */ s.jsxs("div", { "data-aqdd-panel-controls": !0, children: [
1556
- te === "custom" && /* @__PURE__ */ s.jsx("span", { "data-aqdd-custom-badge": !0, lang: H.customDragModeBadge.lang, className: "rounded-md px-2 py-1 font-medium text-xs", children: H.customDragModeBadge.text }),
1546
+ ne === "custom" && /* @__PURE__ */ s.jsx("span", { "data-aqdd-custom-badge": !0, lang: H.customDragModeBadge.lang, className: "rounded-md px-2 py-1 font-medium text-xs", children: H.customDragModeBadge.text }),
1557
1547
  /* @__PURE__ */ s.jsxs("div", { "data-aqdd-panel-buttons": !0, children: [
1558
- ce !== null && De.map((B) => {
1559
- const je = xr[B], Ne = H[zt[B]], Dt = Ut[B];
1560
- return /* @__PURE__ */ s.jsx(Me, { action: `move-${B}`, label: Ne, tooltip: `${Ne.text} (${Dt.text})`, unavailable: !ce.has(B), keyShortcuts: Dt.aria, onActivate: () => pt(i, B, !1), children: /* @__PURE__ */ s.jsx(je, { className: "h-4 w-4", "aria-hidden": "true" }) }, B);
1548
+ ce !== null && De.map((Z) => {
1549
+ const je = br[Z], Ce = H[It[Z]], Dt = Ut[Z];
1550
+ return /* @__PURE__ */ s.jsx(Se, { action: `move-${Z}`, label: Ce, tooltip: `${Ce.text} (${Dt.text})`, unavailable: !ce.has(Z), keyShortcuts: Dt.aria, onActivate: () => pt(c, Z, !1), children: /* @__PURE__ */ s.jsx(je, { className: "h-4 w-4", "aria-hidden": "true" }) }, Z);
1561
1551
  }),
1562
- /* @__PURE__ */ s.jsx(Me, { action: "drag-mode", label: Pt, tooltip: Pt.text, unavailable: !1, keyShortcuts: void 0, onActivate: () => p?.(i), children: te === "custom" ? /* @__PURE__ */ s.jsx(In, { className: "h-4 w-4", "aria-hidden": "true" }) : /* @__PURE__ */ s.jsx(qn, { className: "h-4 w-4", "aria-hidden": "true" }) }),
1563
- !Q && /* @__PURE__ */ s.jsx(Me, { action: "hide", label: H.hidePanel, tooltip: H.hidePanel.text, unavailable: !1, keyShortcuts: void 0, onActivate: () => a({ ...r, [i]: !1 }), children: /* @__PURE__ */ s.jsx(Mt, { className: "h-4 w-4", "aria-hidden": "true" }) }),
1564
- le && /* @__PURE__ */ s.jsx(Me, { action: Q ? "restore" : "maximize", label: Et, tooltip: Et.text, unavailable: !1, keyShortcuts: void 0, onActivate: xe, children: Q ? /* @__PURE__ */ s.jsx(Rn, { className: "h-4 w-4", "aria-hidden": "true" }) : /* @__PURE__ */ s.jsx(Ln, { className: "h-4 w-4", "aria-hidden": "true" }) }),
1565
- j && /* @__PURE__ */ s.jsx(Me, { action: "close", label: H.closePanel, tooltip: H.closePanel.text, unavailable: !1, keyShortcuts: void 0, onActivate: () => j(i), children: /* @__PURE__ */ s.jsx(Ht, { className: "h-4 w-4", "aria-hidden": "true" }) })
1552
+ /* @__PURE__ */ s.jsx(Se, { action: "drag-mode", label: Pt, tooltip: Pt.text, unavailable: !1, keyShortcuts: void 0, onActivate: () => y?.(c), children: ne === "custom" ? /* @__PURE__ */ s.jsx(Hn, { className: "h-4 w-4", "aria-hidden": "true" }) : /* @__PURE__ */ s.jsx(qn, { className: "h-4 w-4", "aria-hidden": "true" }) }),
1553
+ !te && /* @__PURE__ */ s.jsx(Se, { action: "hide", label: H.hidePanel, tooltip: H.hidePanel.text, unavailable: !1, keyShortcuts: void 0, onActivate: () => a({ ...r, [c]: !1 }), children: /* @__PURE__ */ s.jsx(St, { className: "h-4 w-4", "aria-hidden": "true" }) }),
1554
+ le && /* @__PURE__ */ s.jsx(Se, { action: te ? "restore" : "maximize", label: Et, tooltip: Et.text, unavailable: !1, keyShortcuts: void 0, onActivate: xe, children: te ? /* @__PURE__ */ s.jsx(zn, { className: "h-4 w-4", "aria-hidden": "true" }) : /* @__PURE__ */ s.jsx(_n, { className: "h-4 w-4", "aria-hidden": "true" }) }),
1555
+ g && /* @__PURE__ */ s.jsx(Se, { action: "close", label: H.closePanel, tooltip: H.closePanel.text, unavailable: !1, keyShortcuts: void 0, onActivate: () => g(c), children: /* @__PURE__ */ s.jsx(Yt, { className: "h-4 w-4", "aria-hidden": "true" }) })
1566
1556
  ] })
1567
1557
  ] })
1568
1558
  ]
1569
1559
  }
1570
1560
  ),
1571
- /* @__PURE__ */ s.jsx("div", { "data-aqdd-scroll-area": !0, className: "panel-scroll-area min-h-0 flex-1 overflow-y-auto", children: /* @__PURE__ */ s.jsx(q, { ...C.props || {} }) }),
1572
- /* @__PURE__ */ s.jsx(Yn, { config: R, panelId: i, sizeInfo: U, onSizeInfoClick: (B) => m?.(B, i) })
1561
+ /* @__PURE__ */ s.jsx("div", { "data-aqdd-scroll-area": !0, className: "panel-scroll-area min-h-0 flex-1 overflow-y-auto", children: /* @__PURE__ */ s.jsx(z, { ...O.props || {} }) }),
1562
+ /* @__PURE__ */ s.jsx(Fn, { config: N, panelId: c, sizeInfo: V, onSizeInfoClick: (Z) => v?.(Z, c) })
1573
1563
  ]
1574
1564
  },
1575
- i
1565
+ c
1576
1566
  )
1577
1567
  );
1578
- }, un = (i, C) => {
1579
- const q = e[i] || [];
1580
- let K = !1;
1581
- for (const U of q)
1582
- if (r[U]) {
1583
- K = !0;
1568
+ }, dn = (c, O) => {
1569
+ const z = e[c] || [];
1570
+ let Q = !1;
1571
+ for (const V of z)
1572
+ if (r[V]) {
1573
+ Q = !0;
1584
1574
  break;
1585
1575
  }
1586
- const J = $e, te = Rt(H.dropZone, { column: C + 1 }), ne = `${ve}-drop-zone-${C}`;
1587
- return /* @__PURE__ */ s.jsx(Xt, { columnIndex: C, isDragging: J, dragOverPosition: Xe, config: R, children: /* @__PURE__ */ s.jsxs(
1576
+ const ee = $e, ne = Lt(H.dropZone, { column: O + 1 }), re = `${ve}-drop-zone-${O}`;
1577
+ return /* @__PURE__ */ s.jsx(Vt, { columnIndex: O, isDragging: ee, dragOverPosition: Xe, config: N, children: /* @__PURE__ */ s.jsxs(
1588
1578
  "section",
1589
1579
  {
1590
1580
  "data-drop-zone": "true",
1591
- "data-column-key": i,
1592
- "data-column-index": C,
1593
- "aria-labelledby": ne,
1594
- onDragOver: (U) => c(U, C),
1595
- onDrop: (U) => P(U, i),
1596
- onDragLeave: k,
1581
+ "data-column-key": c,
1582
+ "data-column-index": O,
1583
+ "aria-labelledby": re,
1584
+ onDragOver: (V) => E(V, O),
1585
+ onDrop: (V) => C(V, c),
1586
+ onDragLeave: T,
1597
1587
  className: "relative flex h-full flex-col motion-safe:transition-all motion-safe:duration-200",
1598
1588
  children: [
1599
- /* @__PURE__ */ s.jsx("span", { id: ne, hidden: !0, lang: te.lang, children: te.text }),
1589
+ /* @__PURE__ */ s.jsx("span", { id: re, hidden: !0, lang: ne.lang, children: ne.text }),
1600
1590
  /* @__PURE__ */ s.jsx("div", { className: "placeholder-container", inert: de, children: /* @__PURE__ */ s.jsx(
1601
1591
  Je,
1602
1592
  {
1603
1593
  index: 0,
1604
- columnIndex: C,
1605
- isDragging: J,
1594
+ columnIndex: O,
1595
+ isDragging: ee,
1606
1596
  dragOverPosition: Xe,
1607
1597
  originalPosition: xt,
1608
- onDragEnter: z,
1609
- onDragLeave: E,
1610
- debugConfig: R,
1611
- customDrag: I,
1598
+ onDragEnter: q,
1599
+ onDragLeave: j,
1600
+ debugConfig: N,
1601
+ customDrag: R,
1612
1602
  label: H.dropHere
1613
1603
  }
1614
1604
  ) }),
1615
- q.map((U, Q) => {
1616
- const le = r[U], xe = !(le || J), ce = de && U === V;
1605
+ z.map((V, te) => {
1606
+ const le = r[V], xe = !(le || ee), ce = de && V === F;
1617
1607
  return /* @__PURE__ */ s.jsxs(
1618
1608
  "div",
1619
1609
  {
@@ -1622,15 +1612,15 @@ const Fr = ({
1622
1612
  "aria-hidden": xe ? "true" : void 0,
1623
1613
  inert: de && !ce,
1624
1614
  children: [
1625
- le ? cn(U) : J ? (
1615
+ le ? un(V) : ee ? (
1626
1616
  /* ドラッグ中のみ隠されたパネルの代わりを出す (面・枠線・文字・印の色は CSS が --aqdd-* の変数から描く) */
1627
1617
  /* @__PURE__ */ s.jsxs("div", { "data-aqdd-hidden-panel-stand-in": !0, className: "hidden-panel-placeholder relative h-[120px] rounded-2xl border-2 border-dashed p-3 text-left shadow-lg backdrop-blur-lg", children: [
1628
1618
  /* @__PURE__ */ s.jsxs("div", { className: "mb-2 flex items-center space-x-2", children: [
1629
- /* @__PURE__ */ s.jsx("h3", { className: "font-semibold text-base", children: ue[U]?.title || U }),
1619
+ /* @__PURE__ */ s.jsx("h3", { className: "font-semibold text-base", children: ue[V]?.title || V }),
1630
1620
  /* @__PURE__ */ s.jsx("span", { "data-aqdd-hidden-panel-badge": !0, lang: H.hiddenPanelBadge.lang, className: "rounded-md px-2 py-1 font-medium text-xs", children: H.hiddenPanelBadge.text })
1631
1621
  ] }),
1632
1622
  /* @__PURE__ */ s.jsx("div", { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ s.jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ s.jsxs("div", { className: "text-center", children: [
1633
- /* @__PURE__ */ s.jsx(Mt, { className: "mx-auto h-6 w-6 opacity-50", "aria-hidden": "true" }),
1623
+ /* @__PURE__ */ s.jsx(St, { className: "mx-auto h-6 w-6 opacity-50", "aria-hidden": "true" }),
1634
1624
  /* @__PURE__ */ s.jsx("p", { lang: H.hiddenPanelNotice.lang, className: "mt-1 text-xs", children: H.hiddenPanelNotice.text })
1635
1625
  ] }) }) })
1636
1626
  ] })
@@ -1638,122 +1628,122 @@ const Fr = ({
1638
1628
  ce ? null : /* @__PURE__ */ s.jsx(
1639
1629
  Je,
1640
1630
  {
1641
- index: Q + 1,
1642
- columnIndex: C,
1643
- isDragging: J,
1631
+ index: te + 1,
1632
+ columnIndex: O,
1633
+ isDragging: ee,
1644
1634
  dragOverPosition: Xe,
1645
1635
  originalPosition: xt,
1646
- onDragEnter: z,
1647
- onDragLeave: E,
1648
- debugConfig: R,
1649
- customDrag: I,
1636
+ onDragEnter: q,
1637
+ onDragLeave: j,
1638
+ debugConfig: N,
1639
+ customDrag: R,
1650
1640
  label: H.dropHere
1651
1641
  }
1652
1642
  )
1653
1643
  ]
1654
1644
  },
1655
- `panel-${U}`
1645
+ `panel-${V}`
1656
1646
  );
1657
1647
  }),
1658
- !(K || J) && /* @__PURE__ */ s.jsx("div", { "data-aqdd-empty-column": !0, className: "flex-shrink-0 rounded-xl border-2 border-dashed p-8 text-center motion-safe:transition-all motion-safe:duration-200", inert: de, children: /* @__PURE__ */ s.jsx("div", { lang: H.emptyColumn.lang, className: "text-sm", children: H.emptyColumn.text }) })
1648
+ !(Q || ee) && /* @__PURE__ */ s.jsx("div", { "data-aqdd-empty-column": !0, className: "flex-shrink-0 rounded-xl border-2 border-dashed p-8 text-center motion-safe:transition-all motion-safe:duration-200", inert: de, children: /* @__PURE__ */ s.jsx("div", { lang: H.emptyColumn.lang, className: "text-sm", children: H.emptyColumn.text }) })
1659
1649
  ]
1660
1650
  }
1661
1651
  ) });
1662
- }, vt = Object.keys(r).filter((i) => !r[i]);
1652
+ }, vt = Object.keys(r).filter((c) => !r[c]);
1663
1653
  return /* @__PURE__ */ s.jsxs(
1664
1654
  "div",
1665
1655
  {
1666
1656
  ref: lt,
1667
1657
  "data-aqdd-layout": !0,
1668
1658
  className: "flex h-full flex-col",
1669
- onPointerDownCapture: (i) => {
1670
- ct.current = i.pointerType;
1659
+ onPointerDownCapture: (c) => {
1660
+ ct.current = c.pointerType;
1671
1661
  },
1672
1662
  children: [
1673
1663
  /* @__PURE__ */ s.jsxs("div", { "data-aqdd-announcer": !0, role: "status", "aria-live": "polite", "aria-atomic": "true", inert: de, children: [
1674
1664
  Fe?.segments.map(
1675
- (i, C) => i.lang === void 0 ? i.text : /* @__PURE__ */ s.jsx("span", { lang: i.lang, children: i.text }, C)
1665
+ (c, O) => c.lang === void 0 ? c.text : /* @__PURE__ */ s.jsx("span", { lang: c.lang, children: c.text }, O)
1676
1666
  ),
1677
- Fe !== null && Fe.serial % 2 === 0 ? br : null
1667
+ Fe !== null && Fe.serial % 2 === 0 ? wr : null
1678
1668
  ] }),
1679
1669
  vt.length > 0 && /* @__PURE__ */ s.jsx("div", { "data-aqdd-hidden-panels": !0, className: "border-b px-4 py-2 backdrop-blur-lg", inert: de, children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-wrap gap-2", children: [
1680
1670
  /* @__PURE__ */ s.jsx("span", { lang: H.hiddenPanels.lang, className: "mr-2 text-sm", children: H.hiddenPanels.text }),
1681
- vt.map((i) => {
1682
- const q = ue[i]?.title || i;
1671
+ vt.map((c) => {
1672
+ const z = ue[c]?.title || c;
1683
1673
  return /* @__PURE__ */ s.jsxs(
1684
1674
  "button",
1685
1675
  {
1686
1676
  type: "button",
1687
- "data-aqdd-restore-panel": i,
1677
+ "data-aqdd-restore-panel": c,
1688
1678
  onClick: () => a({
1689
1679
  ...r,
1690
- [i]: !0
1680
+ [c]: !0
1691
1681
  }),
1692
1682
  className: "flex items-center space-x-1 rounded-lg px-3 py-1 text-sm shadow-md hover:shadow-lg motion-safe:transition-all motion-safe:duration-200",
1693
1683
  children: [
1694
- /* @__PURE__ */ s.jsx(An, { className: "h-3 w-3", "aria-hidden": "true" }),
1695
- /* @__PURE__ */ s.jsx("span", { children: q })
1684
+ /* @__PURE__ */ s.jsx($n, { className: "h-3 w-3", "aria-hidden": "true" }),
1685
+ /* @__PURE__ */ s.jsx("span", { children: z })
1696
1686
  ]
1697
1687
  },
1698
- i
1688
+ c
1699
1689
  );
1700
1690
  })
1701
1691
  ] }) }),
1702
- /* @__PURE__ */ s.jsx("div", { ref: nn, className: "relative min-h-0 flex-1 overflow-hidden", children: /* @__PURE__ */ s.jsx("div", { className: "h-full w-full", style: on, children: /* @__PURE__ */ s.jsx(X, { ref: sn, "data-aqdd-scroll-root": !0, className: "no-scrollbar h-full max-w-full flex-1 overflow-auto", children: /* @__PURE__ */ s.jsx("div", { "data-aqdd-columns": !0, className: "relative flex h-full items-start", children: t.map((i, C) => {
1703
- const q = Y?.[i.id] || i.initialWidth || 350, K = T && (i.resizable ?? !0);
1704
- return /* @__PURE__ */ s.jsx(fn, { children: /* @__PURE__ */ s.jsxs(
1692
+ /* @__PURE__ */ s.jsx("div", { ref: rn, className: "relative min-h-0 flex-1 overflow-hidden", children: /* @__PURE__ */ s.jsx("div", { className: "h-full w-full", style: sn, children: /* @__PURE__ */ s.jsx(G, { ref: an, "data-aqdd-scroll-root": !0, className: "no-scrollbar h-full max-w-full flex-1 overflow-auto", children: /* @__PURE__ */ s.jsx("div", { "data-aqdd-columns": !0, className: "relative flex h-full items-start", children: t.map((c, O) => {
1693
+ const z = B?.[c.id] || c.initialWidth || 350, Q = L && (c.resizable ?? !0);
1694
+ return /* @__PURE__ */ s.jsx(pn, { children: /* @__PURE__ */ s.jsxs(
1705
1695
  "div",
1706
1696
  {
1707
- className: `column relative ${i.className || ""} ${T ? "resize-enabled-column" : "auto-width-column"} ${L && w === i.id ? "column-resizing-active" : ""}`,
1708
- "data-column": C,
1709
- "data-column-id": i.id,
1710
- "data-min-width": i.minWidth || 350,
1711
- "data-max-width": i.maxWidth,
1712
- "data-column-width": T ? q : void 0,
1713
- inert: de && C !== ot.column,
1714
- ...T && {
1715
- style: { "--column-width": `${q}px` }
1697
+ className: `column relative ${c.className || ""} ${L ? "resize-enabled-column" : "auto-width-column"} ${$ && W === c.id ? "column-resizing-active" : ""}`,
1698
+ "data-column": O,
1699
+ "data-column-id": c.id,
1700
+ "data-min-width": c.minWidth || 350,
1701
+ "data-max-width": c.maxWidth,
1702
+ "data-column-width": L ? z : void 0,
1703
+ inert: de && O !== ot.column,
1704
+ ...L && {
1705
+ style: { "--column-width": `${z}px` }
1716
1706
  },
1717
1707
  children: [
1718
- un(i.key, C),
1719
- K && !de && G && g && v && /* @__PURE__ */ s.jsx(
1720
- en,
1708
+ dn(c.key, O),
1709
+ Q && !de && J && p && x && /* @__PURE__ */ s.jsx(
1710
+ tn,
1721
1711
  {
1722
- columnId: i.id,
1723
- onResizeStart: G,
1724
- onResize: g,
1725
- onResizeEnd: v,
1726
- isResizing: L && w === i.id,
1712
+ columnId: c.id,
1713
+ onResizeStart: J,
1714
+ onResize: p,
1715
+ onResizeEnd: x,
1716
+ isResizing: $ && W === c.id,
1727
1717
  position: "right",
1728
- debug: R,
1729
- label: Rt(H.resizeColumn, { column: C + 1 })
1718
+ debug: N,
1719
+ label: Lt(H.resizeColumn, { column: O + 1 })
1730
1720
  }
1731
1721
  )
1732
1722
  ]
1733
1723
  }
1734
- ) }, i.id);
1724
+ ) }, c.id);
1735
1725
  }) }) }) }) })
1736
1726
  ]
1737
1727
  }
1738
1728
  );
1739
1729
  };
1740
- const Pr = [
1730
+ const Dr = [
1741
1731
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
1742
1732
  ["path", { d: "M3 9h18", key: "1pudct" }],
1743
1733
  ["path", { d: "M3 15h18", key: "5xshup" }],
1744
1734
  ["path", { d: "M9 3v18", key: "fh3hqa" }],
1745
1735
  ["path", { d: "M15 3v18", key: "14nvp0" }]
1746
- ], Er = ie("grid-3x3", Pr);
1747
- const Dr = [["path", { d: "M5 12h14", key: "1ays0h" }]], kr = ie("minus", Dr);
1748
- const Nr = [
1736
+ ], kr = ie("grid-3x3", Dr);
1737
+ const Cr = [["path", { d: "M5 12h14", key: "1ays0h" }]], Nr = ie("minus", Cr);
1738
+ const Or = [
1749
1739
  ["path", { d: "M5 12h14", key: "1ays0h" }],
1750
1740
  ["path", { d: "M12 5v14", key: "s699le" }]
1751
- ], Qe = ie("plus", Nr);
1752
- const Or = [
1741
+ ], Qe = ie("plus", Or);
1742
+ const Sr = [
1753
1743
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
1754
1744
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
1755
- ], Cr = ie("rotate-ccw", Or), Ur = ({ columnCount: t, onColumnCountChange: n, onAutoBalance: e, onResetWidths: o, minColumns: r = 2, maxColumns: a = 6, isResizing: l = !1, isResponsiveMode: u = !1, responsiveColumnCount: f }) => {
1756
- const b = t > r && !u, y = t < a && !u;
1745
+ ], Mr = ie("rotate-ccw", Sr), Xr = ({ columnCount: t, onColumnCountChange: n, onAutoBalance: e, onResetWidths: o, minColumns: r = 2, maxColumns: a = 6, isResizing: i = !1, isResponsiveMode: d = !1, responsiveColumnCount: m }) => {
1746
+ const w = t > r && !d, b = t < a && !d;
1757
1747
  return /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-3 rounded-lg border border-slate-200 bg-white/80 px-4 py-2 shadow-sm backdrop-blur-lg", children: [
1758
1748
  /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-2", children: [
1759
1749
  /* @__PURE__ */ s.jsx("span", { className: "font-medium text-slate-700 text-sm", children: "カラム数:" }),
@@ -1761,25 +1751,25 @@ const Or = [
1761
1751
  "button",
1762
1752
  {
1763
1753
  type: "button",
1764
- onClick: () => b && n(t - 1),
1765
- disabled: !b || l,
1766
- className: `rounded p-1 text-xs transition-colors ${b && !l ? "border border-slate-300 text-slate-600 hover:border-red-300 hover:bg-red-50 hover:text-red-600" : "cursor-not-allowed border border-slate-200 bg-slate-50 text-slate-300"}`,
1767
- title: u ? "レスポンシブモード中:カラム数は自動調整されます" : `カラムを削除 (最小: ${r}列)`,
1768
- children: /* @__PURE__ */ s.jsx(kr, { className: "h-3 w-3" })
1754
+ onClick: () => w && n(t - 1),
1755
+ disabled: !w || i,
1756
+ className: `rounded p-1 text-xs transition-colors ${w && !i ? "border border-slate-300 text-slate-600 hover:border-red-300 hover:bg-red-50 hover:text-red-600" : "cursor-not-allowed border border-slate-200 bg-slate-50 text-slate-300"}`,
1757
+ title: d ? "レスポンシブモード中:カラム数は自動調整されます" : `カラムを削除 (最小: ${r}列)`,
1758
+ children: /* @__PURE__ */ s.jsx(Nr, { className: "h-3 w-3" })
1769
1759
  }
1770
1760
  ),
1771
- /* @__PURE__ */ s.jsxs("div", { className: `min-w-[2rem] rounded border px-3 py-1 text-center font-mono text-sm ${u ? "border-blue-300 bg-blue-50 text-blue-700" : "border-slate-300 bg-slate-100 text-slate-700"}`, children: [
1772
- u ? f ?? t : t,
1773
- u && /* @__PURE__ */ s.jsx("span", { className: "ml-1 text-xs", children: "自動" })
1761
+ /* @__PURE__ */ s.jsxs("div", { className: `min-w-[2rem] rounded border px-3 py-1 text-center font-mono text-sm ${d ? "border-blue-300 bg-blue-50 text-blue-700" : "border-slate-300 bg-slate-100 text-slate-700"}`, children: [
1762
+ d ? m ?? t : t,
1763
+ d && /* @__PURE__ */ s.jsx("span", { className: "ml-1 text-xs", children: "自動" })
1774
1764
  ] }),
1775
1765
  /* @__PURE__ */ s.jsx(
1776
1766
  "button",
1777
1767
  {
1778
1768
  type: "button",
1779
- onClick: () => y && n(t + 1),
1780
- disabled: !y || l,
1781
- className: `rounded p-1 text-xs transition-colors ${y && !l ? "border border-slate-300 text-slate-600 hover:border-blue-300 hover:bg-blue-50 hover:text-blue-600" : "cursor-not-allowed border border-slate-200 bg-slate-50 text-slate-300"}`,
1782
- title: u ? "レスポンシブモード中:カラム数は自動調整されます" : `カラムを追加 (最大: ${a}列)`,
1769
+ onClick: () => b && n(t + 1),
1770
+ disabled: !b || i,
1771
+ className: `rounded p-1 text-xs transition-colors ${b && !i ? "border border-slate-300 text-slate-600 hover:border-blue-300 hover:bg-blue-50 hover:text-blue-600" : "cursor-not-allowed border border-slate-200 bg-slate-50 text-slate-300"}`,
1772
+ title: d ? "レスポンシブモード中:カラム数は自動調整されます" : `カラムを追加 (最大: ${a}列)`,
1783
1773
  children: /* @__PURE__ */ s.jsx(Qe, { className: "h-3 w-3" })
1784
1774
  }
1785
1775
  )
@@ -1791,11 +1781,11 @@ const Or = [
1791
1781
  {
1792
1782
  type: "button",
1793
1783
  onClick: e,
1794
- disabled: l,
1795
- className: `flex items-center gap-1 rounded px-2 py-1 text-xs transition-colors ${l ? "cursor-not-allowed border border-slate-200 bg-slate-50 text-slate-300" : "border border-slate-300 text-slate-600 hover:border-green-300 hover:bg-green-50 hover:text-green-600"}`,
1784
+ disabled: i,
1785
+ className: `flex items-center gap-1 rounded px-2 py-1 text-xs transition-colors ${i ? "cursor-not-allowed border border-slate-200 bg-slate-50 text-slate-300" : "border border-slate-300 text-slate-600 hover:border-green-300 hover:bg-green-50 hover:text-green-600"}`,
1796
1786
  title: "パネルを全カラムに均等分散",
1797
1787
  children: [
1798
- /* @__PURE__ */ s.jsx(Er, { className: "h-3 w-3" }),
1788
+ /* @__PURE__ */ s.jsx(kr, { className: "h-3 w-3" }),
1799
1789
  /* @__PURE__ */ s.jsx("span", { children: "バランス" })
1800
1790
  ]
1801
1791
  }
@@ -1805,48 +1795,48 @@ const Or = [
1805
1795
  {
1806
1796
  type: "button",
1807
1797
  onClick: o,
1808
- disabled: l,
1809
- className: `flex items-center gap-1 rounded px-2 py-1 text-xs transition-colors ${l ? "cursor-not-allowed border border-slate-200 bg-slate-50 text-slate-300" : "border border-slate-300 text-slate-600 hover:border-orange-300 hover:bg-orange-50 hover:text-orange-600"}`,
1798
+ disabled: i,
1799
+ className: `flex items-center gap-1 rounded px-2 py-1 text-xs transition-colors ${i ? "cursor-not-allowed border border-slate-200 bg-slate-50 text-slate-300" : "border border-slate-300 text-slate-600 hover:border-orange-300 hover:bg-orange-50 hover:text-orange-600"}`,
1810
1800
  title: "カラム幅を初期値にリセット",
1811
1801
  children: [
1812
- /* @__PURE__ */ s.jsx(Cr, { className: "h-3 w-3" }),
1802
+ /* @__PURE__ */ s.jsx(Mr, { className: "h-3 w-3" }),
1813
1803
  /* @__PURE__ */ s.jsx("span", { children: "幅リセット" })
1814
1804
  ]
1815
1805
  }
1816
1806
  )
1817
1807
  ] }),
1818
- l && /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1 text-blue-600 text-xs", children: [
1808
+ i && /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1 text-blue-600 text-xs", children: [
1819
1809
  /* @__PURE__ */ s.jsx("div", { className: "h-2 w-2 animate-pulse rounded-full bg-blue-500" }),
1820
1810
  /* @__PURE__ */ s.jsx("span", { children: "リサイズ中..." })
1821
1811
  ] })
1822
1812
  ] });
1823
- }, Br = ({ columnCount: t, onInsertColumn: n, onDeleteColumn: e, minColumns: o = 1, maxColumns: r = 6, isResizing: a = !1, disabled: l = !1 }) => {
1824
- const u = t < r && !l, f = t > o && !l;
1825
- return /* @__PURE__ */ s.jsxs("div", { className: `flex items-center justify-center gap-1 rounded-lg border border-slate-200 px-4 py-2 shadow-sm backdrop-blur-lg ${l ? "bg-slate-100/80 opacity-60" : "bg-white/80"}`, children: [
1826
- l && /* @__PURE__ */ s.jsx("div", { className: "flex items-center gap-2 text-slate-500 text-xs", children: /* @__PURE__ */ s.jsx("span", { children: "レスポンシブモード有効中:カラム数は自動調整されます" }) }),
1827
- !l && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
1813
+ }, Vr = ({ columnCount: t, onInsertColumn: n, onDeleteColumn: e, minColumns: o = 1, maxColumns: r = 6, isResizing: a = !1, disabled: i = !1 }) => {
1814
+ const d = t < r && !i, m = t > o && !i;
1815
+ return /* @__PURE__ */ s.jsxs("div", { className: `flex items-center justify-center gap-1 rounded-lg border border-slate-200 px-4 py-2 shadow-sm backdrop-blur-lg ${i ? "bg-slate-100/80 opacity-60" : "bg-white/80"}`, children: [
1816
+ i && /* @__PURE__ */ s.jsx("div", { className: "flex items-center gap-2 text-slate-500 text-xs", children: /* @__PURE__ */ s.jsx("span", { children: "レスポンシブモード有効中:カラム数は自動調整されます" }) }),
1817
+ !i && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
1828
1818
  /* @__PURE__ */ s.jsx(
1829
1819
  "button",
1830
1820
  {
1831
1821
  type: "button",
1832
- onClick: () => u && n(0),
1833
- disabled: !u || a,
1834
- className: `flex h-8 w-8 items-center justify-center rounded border-2 border-dashed text-xs transition-colors ${u && !a ? "border-blue-300 text-blue-600 hover:border-blue-500 hover:bg-blue-50" : "cursor-not-allowed border-slate-200 text-slate-300"}`,
1822
+ onClick: () => d && n(0),
1823
+ disabled: !d || a,
1824
+ className: `flex h-8 w-8 items-center justify-center rounded border-2 border-dashed text-xs transition-colors ${d && !a ? "border-blue-300 text-blue-600 hover:border-blue-500 hover:bg-blue-50" : "cursor-not-allowed border-slate-200 text-slate-300"}`,
1835
1825
  title: "この位置に新しいカラムを挿入",
1836
1826
  children: /* @__PURE__ */ s.jsx(Qe, { className: "h-4 w-4" })
1837
1827
  }
1838
1828
  ),
1839
- Array.from({ length: t }, (b, y) => /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1", children: [
1829
+ Array.from({ length: t }, (w, b) => /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1", children: [
1840
1830
  /* @__PURE__ */ s.jsxs("div", { className: "relative flex h-8 w-12 items-center justify-center rounded border border-slate-300 bg-slate-100", children: [
1841
- /* @__PURE__ */ s.jsx("span", { className: "font-medium font-mono text-slate-700 text-xs", children: y + 1 }),
1842
- f && !a && /* @__PURE__ */ s.jsx(
1831
+ /* @__PURE__ */ s.jsx("span", { className: "font-medium font-mono text-slate-700 text-xs", children: b + 1 }),
1832
+ m && !a && /* @__PURE__ */ s.jsx(
1843
1833
  "button",
1844
1834
  {
1845
1835
  type: "button",
1846
- onClick: () => e(y),
1836
+ onClick: () => e(b),
1847
1837
  className: "absolute -top-1 -right-1 flex h-4 w-4 items-center justify-center rounded-full border border-red-300 bg-red-100 text-red-600 hover:bg-red-200",
1848
- title: `カラム ${y + 1} を削除`,
1849
- children: /* @__PURE__ */ s.jsx(Ht, { className: "h-2.5 w-2.5" })
1838
+ title: `カラム ${b + 1} を削除`,
1839
+ children: /* @__PURE__ */ s.jsx(Yt, { className: "h-2.5 w-2.5" })
1850
1840
  }
1851
1841
  )
1852
1842
  ] }),
@@ -1854,17 +1844,17 @@ const Or = [
1854
1844
  "button",
1855
1845
  {
1856
1846
  type: "button",
1857
- onClick: () => u && n(y + 1),
1858
- disabled: !u || a,
1859
- className: `flex h-8 w-8 items-center justify-center rounded border-2 border-dashed text-xs transition-colors ${u && !a ? "border-blue-300 text-blue-600 hover:border-blue-500 hover:bg-blue-50" : "cursor-not-allowed border-slate-200 text-slate-300"}`,
1847
+ onClick: () => d && n(b + 1),
1848
+ disabled: !d || a,
1849
+ className: `flex h-8 w-8 items-center justify-center rounded border-2 border-dashed text-xs transition-colors ${d && !a ? "border-blue-300 text-blue-600 hover:border-blue-500 hover:bg-blue-50" : "cursor-not-allowed border-slate-200 text-slate-300"}`,
1860
1850
  title: "この位置に新しいカラムを挿入",
1861
1851
  children: /* @__PURE__ */ s.jsx(Qe, { className: "h-4 w-4" })
1862
1852
  }
1863
1853
  )
1864
- ] }, `column-${y}`))
1854
+ ] }, `column-${b}`))
1865
1855
  ] })
1866
1856
  ] });
1867
- }, Xr = ({ config: t, onConfigChange: n, isVisible: e, onToggleVisibility: o }) => e ? /* @__PURE__ */ s.jsxs("div", { className: "fixed right-4 bottom-4 z-50 max-w-sm rounded-lg border border-gray-300 bg-white p-4 shadow-xl", children: [
1857
+ }, Zr = ({ config: t, onConfigChange: n, isVisible: e, onToggleVisibility: o }) => e ? /* @__PURE__ */ s.jsxs("div", { className: "fixed right-4 bottom-4 z-50 max-w-sm rounded-lg border border-gray-300 bg-white p-4 shadow-xl", children: [
1868
1858
  /* @__PURE__ */ s.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
1869
1859
  /* @__PURE__ */ s.jsx("h3", { className: "font-bold text-gray-800 text-sm", children: "🛠️ デバッグ設定" }),
1870
1860
  /* @__PURE__ */ s.jsx("button", { type: "button", onClick: o, className: "text-gray-500 text-lg hover:text-gray-700", title: "閉じる", children: "✕" })
@@ -2011,371 +2001,371 @@ const Or = [
2011
2001
  prefix: "column",
2012
2002
  startIndex: 1,
2013
2003
  separator: "_"
2014
- }, We = (t, n = fe) => {
2004
+ }, qe = (t, n = fe) => {
2015
2005
  const { prefix: e, startIndex: o, separator: r } = n, a = t + o;
2016
2006
  return `${e}${r}${a}`;
2017
- }, tn = (t, n = fe) => Array.from({ length: t }, (e, o) => We(o, n)), Ie = (t, n = fe) => {
2007
+ }, nn = (t, n = fe) => Array.from({ length: t }, (e, o) => qe(o, n)), We = (t, n = fe) => {
2018
2008
  const { prefix: e, startIndex: o, separator: r } = n, a = `${e}${r}`;
2019
2009
  if (!t.startsWith(a))
2020
2010
  return null;
2021
- const l = t.slice(a.length), u = parseInt(l, 10);
2022
- return Number.isNaN(u) || u < o ? null : u - o;
2023
- }, Vr = (t, n = fe) => Ie(t, n) !== null, Zr = (t, n = fe) => {
2024
- const e = t.map((o) => Ie(o, n)).filter((o) => o !== null).sort((o, r) => o - r);
2011
+ const i = t.slice(a.length), d = parseInt(i, 10);
2012
+ return Number.isNaN(d) || d < o ? null : d - o;
2013
+ }, Gr = (t, n = fe) => We(t, n) !== null, Kr = (t, n = fe) => {
2014
+ const e = t.map((o) => We(o, n)).filter((o) => o !== null).sort((o, r) => o - r);
2025
2015
  for (let o = 0; o < e.length; o++)
2026
2016
  if (e[o] !== o)
2027
- return We(o, n);
2028
- return We(e.length, n);
2029
- }, Mr = (t, n = fe) => t.sort((e, o) => {
2030
- const r = Ie(e, n) ?? -1, a = Ie(o, n) ?? -1;
2017
+ return qe(o, n);
2018
+ return qe(e.length, n);
2019
+ }, Ar = (t, n = fe) => t.sort((e, o) => {
2020
+ const r = We(e, n) ?? -1, a = We(o, n) ?? -1;
2031
2021
  return r - a;
2032
- }), Gr = (t, n = fe) => {
2022
+ }), Jr = (t, n = fe) => {
2033
2023
  const e = {};
2034
2024
  return t.forEach((o, r) => {
2035
- const a = We(r, n);
2025
+ const a = qe(r, n);
2036
2026
  e[o] = a;
2037
2027
  }), e;
2038
- }, Sr = (t, n, e = fe) => {
2028
+ }, $r = (t, n, e = fe) => {
2039
2029
  const o = [];
2040
- Object.values(t).forEach((l) => {
2041
- o.push(...l);
2030
+ Object.values(t).forEach((i) => {
2031
+ o.push(...i);
2042
2032
  });
2043
- const r = {}, a = tn(n, e);
2044
- return a.forEach((l) => {
2045
- r[l] = [];
2046
- }), o.forEach((l, u) => {
2047
- const f = u % n, b = a[f];
2048
- r[b].push(l);
2033
+ const r = {}, a = nn(n, e);
2034
+ return a.forEach((i) => {
2035
+ r[i] = [];
2036
+ }), o.forEach((i, d) => {
2037
+ const m = d % n, w = a[m];
2038
+ r[w].push(i);
2049
2039
  }), r;
2050
- }, Kr = ({ initialColumns: t, initialPanels: n, debug: e = {}, onLayoutChange: o }) => {
2040
+ }, Qr = ({ initialColumns: t, initialPanels: n, debug: e = {}, onLayoutChange: o }) => {
2051
2041
  const [r, a] = se(() => {
2052
- const g = {};
2053
- for (const v of t)
2054
- g[v.id] = v.initialWidth || 400;
2042
+ const p = {};
2043
+ for (const x of t)
2044
+ p[x.id] = x.initialWidth || 400;
2055
2045
  return {
2056
2046
  columns: t,
2057
- columnWidths: g,
2047
+ columnWidths: p,
2058
2048
  isResizing: !1,
2059
2049
  resizingColumn: null,
2060
2050
  columnPanels: n,
2061
2051
  showInsertPlaceholders: !1
2062
2052
  };
2063
- }), l = W(0), u = W(0);
2064
- ee(() => {
2053
+ }), i = I(0), d = I(0);
2054
+ oe(() => {
2065
2055
  o?.(r);
2066
2056
  }, [r, o]);
2067
- const f = D(
2068
- (g, v) => {
2069
- O(e, 1, "カラム追加:", g.id, "at position:", v), a((L) => {
2070
- const w = [...L.columns], m = v ?? w.length;
2071
- w.splice(m, 0, g);
2072
- const p = {
2073
- ...L.columnWidths,
2074
- [g.id]: g.initialWidth || 400
2075
- }, j = {
2076
- ...L.columnPanels,
2077
- [g.id]: []
2057
+ const m = k(
2058
+ (p, x) => {
2059
+ M(e, 1, "カラム追加:", p.id, "at position:", x), a(($) => {
2060
+ const W = [...$.columns], v = x ?? W.length;
2061
+ W.splice(v, 0, p);
2062
+ const y = {
2063
+ ...$.columnWidths,
2064
+ [p.id]: p.initialWidth || 400
2065
+ }, g = {
2066
+ ...$.columnPanels,
2067
+ [p.id]: []
2078
2068
  };
2079
2069
  return {
2080
- ...L,
2081
- columns: w,
2082
- columnWidths: p,
2083
- columnPanels: j
2070
+ ...$,
2071
+ columns: W,
2072
+ columnWidths: y,
2073
+ columnPanels: g
2084
2074
  };
2085
2075
  });
2086
2076
  },
2087
2077
  [e]
2088
- ), b = D(
2089
- (g) => {
2090
- O(e, 1, "カラム削除:", g), a((v) => {
2091
- const L = v.columnPanels[g] || [], w = v.columns.filter((_) => _.id !== g);
2092
- if (w.length === 0)
2093
- return O(e, 1, "警告: 最後のカラムを削除しようとしています"), v;
2094
- const m = w[0].id, p = { ...v.columnPanels };
2095
- L.length > 0 && (p[m] = [...p[m], ...L]), delete p[g];
2096
- const j = { ...v.columnWidths };
2097
- return delete j[g], {
2098
- ...v,
2099
- columns: w,
2100
- columnWidths: j,
2101
- columnPanels: p
2078
+ ), w = k(
2079
+ (p) => {
2080
+ M(e, 1, "カラム削除:", p), a((x) => {
2081
+ const $ = x.columnPanels[p] || [], W = x.columns.filter((D) => D.id !== p);
2082
+ if (W.length === 0)
2083
+ return M(e, 1, "警告: 最後のカラムを削除しようとしています"), x;
2084
+ const v = W[0].id, y = { ...x.columnPanels };
2085
+ $.length > 0 && (y[v] = [...y[v], ...$]), delete y[p];
2086
+ const g = { ...x.columnWidths };
2087
+ return delete g[p], {
2088
+ ...x,
2089
+ columns: W,
2090
+ columnWidths: g,
2091
+ columnPanels: y
2102
2092
  };
2103
2093
  });
2104
2094
  },
2105
2095
  [e]
2106
- ), y = D(
2107
- (g, v) => {
2108
- O(e, 1, "カラム移動:", g, "->", v), a((L) => {
2109
- const w = [...L.columns], [m] = w.splice(g, 1);
2110
- return w.splice(v, 0, m), {
2111
- ...L,
2112
- columns: w
2096
+ ), b = k(
2097
+ (p, x) => {
2098
+ M(e, 1, "カラム移動:", p, "->", x), a(($) => {
2099
+ const W = [...$.columns], [v] = W.splice(p, 1);
2100
+ return W.splice(x, 0, v), {
2101
+ ...$,
2102
+ columns: W
2113
2103
  };
2114
2104
  });
2115
2105
  },
2116
2106
  [e]
2117
- ), A = D(
2118
- (g, v) => {
2119
- O(e, 2, "リサイズ開始:", g, "at X:", v), l.current = v, u.current = r.columnWidths[g] || 300, a((L) => ({
2120
- ...L,
2107
+ ), A = k(
2108
+ (p, x) => {
2109
+ M(e, 2, "リサイズ開始:", p, "at X:", x), i.current = x, d.current = r.columnWidths[p] || 300, a(($) => ({
2110
+ ...$,
2121
2111
  isResizing: !0,
2122
- resizingColumn: g
2112
+ resizingColumn: p
2123
2113
  }));
2124
2114
  },
2125
2115
  [e, r.columnWidths]
2126
- ), z = D(
2127
- (g) => {
2128
- const { resizingColumn: v, isResizing: L } = r;
2129
- if (!(L && v)) return;
2130
- const w = g - l.current, m = Math.max(100, Math.min(800, u.current + w));
2131
- O(e, 2, "リサイズ中:", v, "new width:", m), a((p) => ({
2132
- ...p,
2116
+ ), q = k(
2117
+ (p) => {
2118
+ const { resizingColumn: x, isResizing: $ } = r;
2119
+ if (!($ && x)) return;
2120
+ const W = p - i.current, v = Math.max(100, Math.min(800, d.current + W));
2121
+ M(e, 2, "リサイズ中:", x, "new width:", v), a((y) => ({
2122
+ ...y,
2133
2123
  columnWidths: {
2134
- ...p.columnWidths,
2135
- [v]: m
2124
+ ...y.columnWidths,
2125
+ [x]: v
2136
2126
  }
2137
2127
  }));
2138
2128
  },
2139
2129
  [e, r]
2140
- ), E = D(() => {
2141
- O(e, 2, "リサイズ終了"), a((g) => ({
2142
- ...g,
2130
+ ), j = k(() => {
2131
+ M(e, 2, "リサイズ終了"), a((p) => ({
2132
+ ...p,
2143
2133
  isResizing: !1,
2144
2134
  resizingColumn: null
2145
2135
  }));
2146
- }, [e]), c = D(
2147
- (g, v) => {
2148
- O(e, 2, "カラム幅設定:", g, v), a((L) => ({
2149
- ...L,
2136
+ }, [e]), E = k(
2137
+ (p, x) => {
2138
+ M(e, 2, "カラム幅設定:", p, x), a(($) => ({
2139
+ ...$,
2150
2140
  columnWidths: {
2151
- ...L.columnWidths,
2152
- [g]: Math.max(100, Math.min(800, v))
2141
+ ...$.columnWidths,
2142
+ [p]: Math.max(100, Math.min(800, x))
2153
2143
  }
2154
2144
  }));
2155
2145
  },
2156
2146
  [e]
2157
- ), P = D(() => {
2158
- O(e, 1, "カラム幅リセット"), a((g) => {
2159
- const v = {};
2160
- for (const L of g.columns)
2161
- v[L.id] = L.initialWidth || 400;
2147
+ ), C = k(() => {
2148
+ M(e, 1, "カラム幅リセット"), a((p) => {
2149
+ const x = {};
2150
+ for (const $ of p.columns)
2151
+ x[$.id] = $.initialWidth || 400;
2162
2152
  return {
2163
- ...g,
2164
- columnWidths: v
2153
+ ...p,
2154
+ columnWidths: x
2165
2155
  };
2166
2156
  });
2167
- }, [e]), k = D(
2168
- (g, v, L, w) => {
2169
- O(e, 1, "パネル移動:", g, "from", v, "to", L, "at", w), a((m) => {
2170
- const p = { ...m.columnPanels };
2171
- if (v in p && (p[v] = p[v].filter((j) => j !== g)), L in p) {
2172
- const j = [...p[L]];
2173
- j.splice(w, 0, g), p[L] = j;
2157
+ }, [e]), T = k(
2158
+ (p, x, $, W) => {
2159
+ M(e, 1, "パネル移動:", p, "from", x, "to", $, "at", W), a((v) => {
2160
+ const y = { ...v.columnPanels };
2161
+ if (x in y && (y[x] = y[x].filter((g) => g !== p)), $ in y) {
2162
+ const g = [...y[$]];
2163
+ g.splice(W, 0, p), y[$] = g;
2174
2164
  }
2175
2165
  return {
2176
- ...m,
2177
- columnPanels: p
2166
+ ...v,
2167
+ columnPanels: y
2178
2168
  };
2179
2169
  });
2180
2170
  },
2181
2171
  [e]
2182
- ), S = D(
2183
- (g, v, L) => {
2184
- O(e, 1, "パネル追加:", g, "to column:", v), a((w) => {
2185
- const m = { ...w.columnPanels };
2186
- v in m || (m[v] = []);
2187
- const p = [...m[v]], j = L ?? p.length;
2188
- return p.splice(j, 0, g), m[v] = p, {
2189
- ...w,
2190
- columnPanels: m
2172
+ ), h = k(
2173
+ (p, x, $) => {
2174
+ M(e, 1, "パネル追加:", p, "to column:", x), a((W) => {
2175
+ const v = { ...W.columnPanels };
2176
+ x in v || (v[x] = []);
2177
+ const y = [...v[x]], g = $ ?? y.length;
2178
+ return y.splice(g, 0, p), v[x] = y, {
2179
+ ...W,
2180
+ columnPanels: v
2191
2181
  };
2192
2182
  });
2193
2183
  },
2194
2184
  [e]
2195
- ), N = D(
2196
- (g) => {
2197
- O(e, 1, "パネル削除:", g), a((v) => {
2198
- const L = {};
2199
- for (const [w, m] of Object.entries(v.columnPanels))
2200
- L[w] = m.filter((p) => p !== g);
2185
+ ), P = k(
2186
+ (p) => {
2187
+ M(e, 1, "パネル削除:", p), a((x) => {
2188
+ const $ = {};
2189
+ for (const [W, v] of Object.entries(x.columnPanels))
2190
+ $[W] = v.filter((y) => y !== p);
2201
2191
  return {
2202
- ...v,
2203
- columnPanels: L
2192
+ ...x,
2193
+ columnPanels: $
2204
2194
  };
2205
2195
  });
2206
2196
  },
2207
2197
  [e]
2208
- ), R = D(
2209
- (g) => {
2210
- O(e, 1, "カラム数更新:", g), a((v) => {
2211
- const L = v.columns.length;
2212
- if (g === L) return v;
2213
- const w = Sr(v.columnPanels, g, fe), m = tn(g, fe), p = v.isResizing && v.resizingColumn && !m.includes(v.resizingColumn);
2214
- p && O(e, 1, "リサイズ中のカラムが削除されるためリサイズを強制終了:", v.resizingColumn);
2215
- const j = m.map((V, oe) => ({
2216
- id: V,
2217
- title: `カラム ${oe + 1}`,
2198
+ ), N = k(
2199
+ (p) => {
2200
+ M(e, 1, "カラム数更新:", p), a((x) => {
2201
+ const $ = x.columns.length;
2202
+ if (p === $) return x;
2203
+ const W = $r(x.columnPanels, p, fe), v = nn(p, fe), y = x.isResizing && x.resizingColumn && !v.includes(x.resizingColumn);
2204
+ y && M(e, 1, "リサイズ中のカラムが削除されるためリサイズを強制終了:", x.resizingColumn);
2205
+ const g = v.map((F, X) => ({
2206
+ id: F,
2207
+ title: `カラム ${X + 1}`,
2218
2208
  minWidth: 350,
2219
2209
  maxWidth: 800,
2220
2210
  initialWidth: 400,
2221
- resizable: !(oe === 1 && g === 3)
2222
- })), _ = {};
2223
- if (Object.entries(v.columnWidths).some(([, V]) => V !== 400))
2224
- m.forEach((V) => {
2225
- const oe = v.columnWidths[V];
2226
- oe && oe !== 400 ? _[V] = oe : _[V] = 400;
2211
+ resizable: !(X === 1 && p === 3)
2212
+ })), D = {};
2213
+ if (Object.entries(x.columnWidths).some(([, F]) => F !== 400))
2214
+ v.forEach((F) => {
2215
+ const X = x.columnWidths[F];
2216
+ X && X !== 400 ? D[F] = X : D[F] = 400;
2227
2217
  });
2228
2218
  else {
2229
- const V = L > g ? Object.values(v.columnWidths).reduce((h, x) => h + x, 0) : g * 400, oe = Math.max(V / g, 350);
2230
- m.forEach((h) => {
2231
- _[h] = oe;
2219
+ const F = $ > p ? Object.values(x.columnWidths).reduce((u, f) => u + f, 0) : p * 400, X = Math.max(F / p, 350);
2220
+ v.forEach((u) => {
2221
+ D[u] = X;
2232
2222
  });
2233
2223
  }
2234
2224
  return {
2235
- ...v,
2236
- columns: j,
2237
- columnPanels: w,
2238
- columnWidths: _,
2239
- isResizing: p ? !1 : v.isResizing,
2240
- resizingColumn: p ? null : v.resizingColumn
2225
+ ...x,
2226
+ columns: g,
2227
+ columnPanels: W,
2228
+ columnWidths: D,
2229
+ isResizing: y ? !1 : x.isResizing,
2230
+ resizingColumn: y ? null : x.resizingColumn
2241
2231
  };
2242
2232
  });
2243
2233
  },
2244
2234
  [e]
2245
- ), d = D(() => {
2246
- O(e, 1, "カラム自動バランス調整"), a((g) => {
2247
- const v = [];
2248
- for (const m of Object.keys(g.columnPanels))
2249
- for (const p of g.columnPanels[m])
2250
- v.push(p);
2251
- const L = {};
2252
- for (const m of g.columns)
2253
- L[m.id] = [];
2254
- let w = 0;
2255
- for (const m of v) {
2256
- const p = g.columns[w % g.columns.length].id;
2257
- L[p].push(m), w += 1;
2235
+ ), l = k(() => {
2236
+ M(e, 1, "カラム自動バランス調整"), a((p) => {
2237
+ const x = [];
2238
+ for (const v of Object.keys(p.columnPanels))
2239
+ for (const y of p.columnPanels[v])
2240
+ x.push(y);
2241
+ const $ = {};
2242
+ for (const v of p.columns)
2243
+ $[v.id] = [];
2244
+ let W = 0;
2245
+ for (const v of x) {
2246
+ const y = p.columns[W % p.columns.length].id;
2247
+ $[y].push(v), W += 1;
2258
2248
  }
2259
2249
  return {
2260
- ...g,
2261
- columnPanels: L
2250
+ ...p,
2251
+ columnPanels: $
2262
2252
  };
2263
2253
  });
2264
- }, [e]), $ = D(
2265
- (g) => r.columns.find((v) => v.id === g),
2254
+ }, [e]), _ = k(
2255
+ (p) => r.columns.find((x) => x.id === p),
2266
2256
  [r.columns]
2267
- ), T = D(() => {
2268
- let g = 0;
2269
- for (const v of Object.values(r.columnWidths))
2270
- g += v;
2271
- return g;
2272
- }, [r.columnWidths]), Y = D((g) => document.querySelector(`[data-column-id="${g}"]`), []), G = D((g) => {
2273
- a((v) => ({
2274
- ...v,
2275
- showInsertPlaceholders: g
2257
+ ), L = k(() => {
2258
+ let p = 0;
2259
+ for (const x of Object.values(r.columnWidths))
2260
+ p += x;
2261
+ return p;
2262
+ }, [r.columnWidths]), B = k((p) => document.querySelector(`[data-column-id="${p}"]`), []), J = k((p) => {
2263
+ a((x) => ({
2264
+ ...x,
2265
+ showInsertPlaceholders: p
2276
2266
  }));
2277
2267
  }, []);
2278
2268
  return {
2279
2269
  layoutState: r,
2280
- addColumn: f,
2281
- removeColumn: b,
2282
- moveColumn: y,
2270
+ addColumn: m,
2271
+ removeColumn: w,
2272
+ moveColumn: b,
2283
2273
  startResize: A,
2284
- handleResize: z,
2285
- endResize: E,
2286
- setColumnWidth: c,
2287
- resetColumnWidths: P,
2288
- movePanel: k,
2289
- addPanel: S,
2290
- removePanel: N,
2291
- updateColumnCount: R,
2292
- autoBalanceColumns: d,
2293
- getColumnById: $,
2294
- getTotalWidth: T,
2295
- getColumnElement: Y,
2296
- setShowInsertPlaceholders: G
2274
+ handleResize: q,
2275
+ endResize: j,
2276
+ setColumnWidth: E,
2277
+ resetColumnWidths: C,
2278
+ movePanel: T,
2279
+ addPanel: h,
2280
+ removePanel: P,
2281
+ updateColumnCount: N,
2282
+ autoBalanceColumns: l,
2283
+ getColumnById: _,
2284
+ getTotalWidth: L,
2285
+ getColumnElement: B,
2286
+ setShowInsertPlaceholders: J
2297
2287
  };
2298
- }, Ar = ({
2288
+ }, Tr = ({
2299
2289
  debugConfig: t,
2300
2290
  dragState: n,
2301
2291
  customDrag: e,
2302
2292
  clickState: o,
2303
2293
  dragModes: r,
2304
2294
  isMouseDown: a,
2305
- dragOverPosition: l,
2306
- setCustomDrag: u,
2307
- setDragState: f,
2308
- setDragOverPosition: b,
2309
- setOriginalPanelPosition: y,
2295
+ dragOverPosition: i,
2296
+ setCustomDrag: d,
2297
+ setDragState: m,
2298
+ setDragOverPosition: w,
2299
+ setOriginalPanelPosition: b,
2310
2300
  setClickState: A,
2311
- setIsMouseDown: z,
2312
- findPanelPosition: E,
2313
- performPanelMove: c,
2314
- showMousePosition: P,
2315
- updateMousePosition: k,
2316
- recordMouseDown: S,
2317
- recordClickPosition: N,
2318
- isVirtualClick: R,
2319
- calculateMoveDistance: d,
2320
- clearMouseTracking: $,
2321
- resetDragState: T,
2322
- resetClickState: Y,
2323
- createDragImage: G,
2324
- updateDragImagePosition: g,
2325
- removeDragImage: v,
2326
- handlePlaceholderDragEnter: L,
2327
- handlePlaceholderDragLeave: w
2301
+ setIsMouseDown: q,
2302
+ findPanelPosition: j,
2303
+ performPanelMove: E,
2304
+ showMousePosition: C,
2305
+ updateMousePosition: T,
2306
+ recordMouseDown: h,
2307
+ recordClickPosition: P,
2308
+ isVirtualClick: N,
2309
+ calculateMoveDistance: l,
2310
+ clearMouseTracking: _,
2311
+ resetDragState: L,
2312
+ resetClickState: B,
2313
+ createDragImage: J,
2314
+ updateDragImagePosition: p,
2315
+ removeDragImage: x,
2316
+ handlePlaceholderDragEnter: $,
2317
+ handlePlaceholderDragLeave: W
2328
2318
  }) => {
2329
- const m = W(t);
2330
- m.current = t;
2331
- const p = W(null), j = W(null), _ = W(0), I = W(new rt(Se));
2332
- ee(() => {
2333
- const x = document.querySelector(Vt);
2334
- x && I.current.setScrollElement(x);
2319
+ const v = I(t);
2320
+ v.current = t;
2321
+ const y = I(null), g = I(null), D = I(0), R = I(new rt(Me));
2322
+ oe(() => {
2323
+ const f = document.querySelector(Zt);
2324
+ f && R.current.setScrollElement(f);
2335
2325
  }, []);
2336
- const re = W(l);
2337
- ee(() => {
2338
- re.current = l, O(m.current, 2, "dragOverPositionRef更新:", l);
2339
- }, [l]);
2340
- const V = D(
2341
- (x) => {
2326
+ const Y = I(i);
2327
+ oe(() => {
2328
+ Y.current = i, M(v.current, 2, "dragOverPositionRef更新:", i);
2329
+ }, [i]);
2330
+ const F = k(
2331
+ (f) => {
2342
2332
  if (e.isActive || o.isClicked) {
2343
- x.preventDefault();
2344
- const M = window.getSelection();
2345
- M && M.rangeCount > 0 && M.removeAllRanges();
2333
+ f.preventDefault();
2334
+ const S = window.getSelection();
2335
+ S && S.rangeCount > 0 && S.removeAllRanges();
2346
2336
  }
2347
2337
  if (e.isActive) {
2348
- k(x.clientX, x.clientY), g(x.clientX, x.clientY), I.current.update(x.clientX, x.clientY);
2349
- const M = document.elementFromPoint(x.clientX, x.clientY), F = M?.closest("[data-drop-zone]");
2350
- if (F) {
2338
+ T(f.clientX, f.clientY), p(f.clientX, f.clientY), R.current.update(f.clientX, f.clientY);
2339
+ const S = document.elementFromPoint(f.clientX, f.clientY), U = S?.closest("[data-drop-zone]");
2340
+ if (U) {
2351
2341
  document.body.classList.add("droppable");
2352
- const Z = F.getAttribute("data-column-index"), ae = Z ? parseInt(Z, 10) : null;
2353
- ae !== null && ae !== n.dragOverColumn && f((H) => ({ ...H, dragOverColumn: ae }));
2354
- const X = M?.closest("[data-placeholder-index]");
2355
- if (X) {
2356
- const H = X.getAttribute("data-placeholder-index"), ve = X.getAttribute("data-placeholder-column");
2342
+ const K = U.getAttribute("data-column-index"), ae = K ? parseInt(K, 10) : null;
2343
+ ae !== null && ae !== n.dragOverColumn && m((H) => ({ ...H, dragOverColumn: ae }));
2344
+ const G = S?.closest("[data-placeholder-index]");
2345
+ if (G) {
2346
+ const H = G.getAttribute("data-placeholder-index"), ve = G.getAttribute("data-placeholder-column");
2357
2347
  if (H && ve) {
2358
2348
  const ue = parseInt(H, 10), pe = parseInt(ve, 10);
2359
- L(pe, ue);
2349
+ $(pe, ue);
2360
2350
  }
2361
2351
  } else
2362
- w();
2352
+ W();
2363
2353
  } else
2364
- document.body.classList.remove("droppable"), b(null), f((Z) => ({ ...Z, dragOverColumn: null }));
2354
+ document.body.classList.remove("droppable"), w(null), m((K) => ({ ...K, dragOverColumn: null }));
2365
2355
  } else if (a && o.isClicked && o.panelId) {
2366
- if (r[o.panelId] !== "custom" || d(x.clientX, x.clientY) < 10) return;
2367
- O(m.current, 1, "🚀 カスタムドラッグ開始 -", o.panelId);
2368
- const F = document.querySelector(`[data-panel-id="${o.panelId}"]`);
2369
- if (F && j.current) {
2370
- const Z = F.getBoundingClientRect(), ae = j.current.x - Z.left, X = j.current.y - Z.top;
2371
- G(o.panelId, ae, X), document.body.classList.add("custom-dragging"), u({
2356
+ if (r[o.panelId] !== "custom" || l(f.clientX, f.clientY) < 10) return;
2357
+ M(v.current, 1, "🚀 カスタムドラッグ開始 -", o.panelId);
2358
+ const U = document.querySelector(`[data-panel-id="${o.panelId}"]`);
2359
+ if (U && g.current) {
2360
+ const K = U.getBoundingClientRect(), ae = g.current.x - K.left, G = g.current.y - K.top;
2361
+ J(o.panelId, ae, G), document.body.classList.add("custom-dragging"), d({
2372
2362
  isActive: !0,
2373
2363
  panelId: o.panelId,
2374
2364
  startX: ae,
2375
- startY: X
2365
+ startY: G
2376
2366
  });
2377
2367
  }
2378
- f({ isDragging: !0, draggedPanel: o.panelId, dragOverColumn: null }), y(E(o.panelId)), P(x.clientX, x.clientY), A({ isClicked: !1, panelId: null }), z(!1), $(), j.current = null, p.current && (clearTimeout(p.current), p.current = null);
2368
+ m({ isDragging: !0, draggedPanel: o.panelId, dragOverColumn: null }), b(j(o.panelId)), C(f.clientX, f.clientY), A({ isClicked: !1, panelId: null }), q(!1), _(), g.current = null, y.current && (clearTimeout(y.current), y.current = null);
2379
2369
  }
2380
2370
  },
2381
2371
  [
@@ -2384,145 +2374,145 @@ const Or = [
2384
2374
  n.dragOverColumn,
2385
2375
  r,
2386
2376
  a,
2387
- k,
2388
- f,
2389
- b,
2377
+ T,
2378
+ m,
2379
+ w,
2380
+ l,
2381
+ j,
2390
2382
  d,
2391
- E,
2392
- u,
2393
- y,
2394
- P,
2383
+ b,
2384
+ C,
2395
2385
  A,
2396
- z,
2386
+ q,
2387
+ _,
2388
+ J,
2389
+ p,
2397
2390
  $,
2398
- G,
2399
- g,
2400
- L,
2401
- w
2391
+ W
2402
2392
  ]
2403
- ), oe = D(
2404
- (x) => {
2405
- if (O(m.current, 1, "🐭 カスタムドラッグハンドラー - グローバルマウスアップ", {
2393
+ ), X = k(
2394
+ (f) => {
2395
+ if (M(v.current, 1, "🐭 カスタムドラッグハンドラー - グローバルマウスアップ", {
2406
2396
  isActive: e.isActive,
2407
2397
  panelId: e.panelId,
2408
2398
  dragMode: e.panelId ? r[e.panelId] : "unknown"
2409
2399
  }), e.isActive) {
2410
- I.current.stop();
2411
- const M = re.current;
2412
- if (M) {
2413
- const Z = document.elementFromPoint(x.clientX, x.clientY)?.closest("[data-drop-zone]");
2414
- if (Z) {
2415
- const ae = Z.getAttribute("data-column-key");
2416
- ae && r[e.panelId] === "custom" ? (O(m.current, 1, "🔄 カスタムドラッグパネル移動実行:", e.panelId, "→", ae), c(e.panelId, ae, M.insertIndex)) : O(m.current, 1, "🚫 カスタムドラッグパネル移動スキップ:", e.panelId, "モード:", r[e.panelId]);
2400
+ R.current.stop();
2401
+ const S = Y.current;
2402
+ if (S) {
2403
+ const K = document.elementFromPoint(f.clientX, f.clientY)?.closest("[data-drop-zone]");
2404
+ if (K) {
2405
+ const ae = K.getAttribute("data-column-key");
2406
+ ae && r[e.panelId] === "custom" ? (M(v.current, 1, "🔄 カスタムドラッグパネル移動実行:", e.panelId, "→", ae), E(e.panelId, ae, S.insertIndex)) : M(v.current, 1, "🚫 カスタムドラッグパネル移動スキップ:", e.panelId, "モード:", r[e.panelId]);
2417
2407
  }
2418
2408
  }
2419
- v(), document.body.classList.remove("custom-dragging", "droppable"), T(), _.current = 0;
2420
- } else if (R(x.clientX, x.clientY)) {
2421
- const F = document.elementFromPoint(x.clientX, x.clientY)?.closest("[data-panel-id]"), Z = F?.getAttribute("data-panel-id") ?? null;
2422
- if (!(F && Z) || r[Z] !== "custom") {
2423
- p.current && (clearTimeout(p.current), p.current = null), Y(), j.current = null, _.current = 0;
2409
+ x(), document.body.classList.remove("custom-dragging", "droppable"), L(), D.current = 0;
2410
+ } else if (N(f.clientX, f.clientY)) {
2411
+ const U = document.elementFromPoint(f.clientX, f.clientY)?.closest("[data-panel-id]"), K = U?.getAttribute("data-panel-id") ?? null;
2412
+ if (!(U && K) || r[K] !== "custom") {
2413
+ y.current && (clearTimeout(y.current), y.current = null), B(), g.current = null, D.current = 0;
2424
2414
  return;
2425
2415
  }
2426
- _.current += 1, o.isClicked === !1 && _.current === 1 ? (O(m.current, 1, "🖱️ 仮想クリック検出 - ドラッグ待機状態へ:", Z), A({ isClicked: !0, panelId: Z }), p.current = window.setTimeout(() => {
2427
- O(m.current, 1, "⏳ クリック待機状態を自動解除:", Z), Y(), j.current = null, _.current = 0;
2428
- }, 2e3)) : (O(m.current, 1, "🚫 クリック待機状態を解除 - 仮想クリック検出停止:", Z), p.current && (clearTimeout(p.current), p.current = null), Y(), j.current = null, _.current = 0, p.current = window.setTimeout(() => {
2429
- O(m.current, 1, "⏳ 仮想クリック検出再開:", Z);
2416
+ D.current += 1, o.isClicked === !1 && D.current === 1 ? (M(v.current, 1, "🖱️ 仮想クリック検出 - ドラッグ待機状態へ:", K), A({ isClicked: !0, panelId: K }), y.current = window.setTimeout(() => {
2417
+ M(v.current, 1, "⏳ クリック待機状態を自動解除:", K), B(), g.current = null, D.current = 0;
2418
+ }, 2e3)) : (M(v.current, 1, "🚫 クリック待機状態を解除 - 仮想クリック検出停止:", K), y.current && (clearTimeout(y.current), y.current = null), B(), g.current = null, D.current = 0, y.current = window.setTimeout(() => {
2419
+ M(v.current, 1, "⏳ 仮想クリック検出再開:", K);
2430
2420
  }, 2e3));
2431
- } else o.isClicked && (Y(), j.current = null, _.current = 0);
2432
- a && z(!1);
2421
+ } else o.isClicked && (B(), g.current = null, D.current = 0);
2422
+ a && q(!1);
2433
2423
  },
2434
- [e.isActive, e.panelId, o, r, a, c, T, Y, R, A, z, v]
2435
- ), h = D(
2436
- (x, M) => {
2437
- if (r[M] !== "custom") {
2438
- O(m.current, 1, "🚫 カスタムドラッグモードではない - スキップ:", M);
2424
+ [e.isActive, e.panelId, o, r, a, E, L, B, N, A, q, x]
2425
+ ), u = k(
2426
+ (f, S) => {
2427
+ if (r[S] !== "custom") {
2428
+ M(v.current, 1, "🚫 カスタムドラッグモードではない - スキップ:", S);
2439
2429
  return;
2440
2430
  }
2441
- S(x.clientX, x.clientY), o.isClicked && o.panelId === M && (z(!0), p.current !== null && (clearTimeout(p.current), p.current = null), N(x.clientX, x.clientY), j.current = { x: x.clientX, y: x.clientY });
2431
+ h(f.clientX, f.clientY), o.isClicked && o.panelId === S && (q(!0), y.current !== null && (clearTimeout(y.current), y.current = null), P(f.clientX, f.clientY), g.current = { x: f.clientX, y: f.clientY });
2442
2432
  },
2443
- [o, r, S, z, N]
2433
+ [o, r, h, q, P]
2444
2434
  );
2445
- return ee(() => () => {
2446
- p.current !== null && clearTimeout(p.current), I.current.stop();
2435
+ return oe(() => () => {
2436
+ y.current !== null && clearTimeout(y.current), R.current.stop();
2447
2437
  }, []), {
2448
- handleGlobalMouseMove: V,
2449
- handleGlobalMouseUp: oe,
2450
- handleMouseDown: h
2438
+ handleGlobalMouseMove: F,
2439
+ handleGlobalMouseUp: X,
2440
+ handleMouseDown: u
2451
2441
  };
2452
- }, $r = () => {
2442
+ }, Rr = () => {
2453
2443
  const [t, n] = se({
2454
2444
  isDragging: !1,
2455
2445
  draggedPanel: null,
2456
2446
  dragOverColumn: null
2457
- }), [e, o] = se(null), [r, a] = se(null), [l, u] = se({
2447
+ }), [e, o] = se(null), [r, a] = se(null), [i, d] = se({
2458
2448
  isActive: !1,
2459
2449
  panelId: "",
2460
2450
  startX: 0,
2461
2451
  startY: 0
2462
- }), [f, b] = se({
2452
+ }), [m, w] = se({
2463
2453
  isClicked: !1,
2464
2454
  panelId: null
2465
- }), [y, A] = se(!1), z = D(() => {
2466
- u({ isActive: !1, panelId: "", startX: 0, startY: 0 }), n({ isDragging: !1, draggedPanel: null, dragOverColumn: null }), o(null), a(null);
2467
- }, []), E = D(() => {
2468
- b({ isClicked: !1, panelId: null }), A(!1);
2469
- }, []), c = D((d) => {
2470
- n(d);
2471
- }, []), P = D((d) => {
2472
- o(d);
2473
- }, []), k = D((d) => {
2474
- a(d);
2475
- }, []), S = D((d) => {
2476
- u(d);
2477
- }, []), N = D((d) => {
2478
- b(d);
2479
- }, []), R = D((d) => {
2480
- A(d);
2455
+ }), [b, A] = se(!1), q = k(() => {
2456
+ d({ isActive: !1, panelId: "", startX: 0, startY: 0 }), n({ isDragging: !1, draggedPanel: null, dragOverColumn: null }), o(null), a(null);
2457
+ }, []), j = k(() => {
2458
+ w({ isClicked: !1, panelId: null }), A(!1);
2459
+ }, []), E = k((l) => {
2460
+ n(l);
2461
+ }, []), C = k((l) => {
2462
+ o(l);
2463
+ }, []), T = k((l) => {
2464
+ a(l);
2465
+ }, []), h = k((l) => {
2466
+ d(l);
2467
+ }, []), P = k((l) => {
2468
+ w(l);
2469
+ }, []), N = k((l) => {
2470
+ A(l);
2481
2471
  }, []);
2482
2472
  return {
2483
2473
  // States / 状態
2484
2474
  dragState: t,
2485
2475
  dragOverPosition: e,
2486
2476
  originalPanelPosition: r,
2487
- customDrag: l,
2488
- clickState: f,
2489
- isMouseDown: y,
2477
+ customDrag: i,
2478
+ clickState: m,
2479
+ isMouseDown: b,
2490
2480
  // Stabilized Setters / 安定化されたセッター
2491
- setDragState: c,
2492
- setDragOverPosition: P,
2493
- setOriginalPanelPosition: k,
2494
- setCustomDrag: S,
2495
- setClickState: N,
2496
- setIsMouseDown: R,
2481
+ setDragState: E,
2482
+ setDragOverPosition: C,
2483
+ setOriginalPanelPosition: T,
2484
+ setCustomDrag: h,
2485
+ setClickState: P,
2486
+ setIsMouseDown: N,
2497
2487
  // Utility Functions / ユーティリティ関数
2498
- resetDragState: z,
2499
- resetClickState: E
2488
+ resetDragState: q,
2489
+ resetClickState: j
2500
2490
  };
2501
- }, Tr = () => {
2491
+ }, _r = () => {
2502
2492
  const [t, n] = se({
2503
2493
  x: 0,
2504
2494
  y: 0,
2505
2495
  isVisible: !1
2506
- }), e = W(null), o = W(0), r = W(null), a = D((E, c) => {
2507
- n({ x: E, y: c, isVisible: !0 });
2508
- }, []), l = D(() => {
2509
- n((E) => ({ ...E, isVisible: !1 }));
2510
- }, []), u = D((E, c) => {
2511
- n((P) => P.x === E && P.y === c ? P : {
2512
- x: E,
2513
- y: c,
2514
- isVisible: P.isVisible
2496
+ }), e = I(null), o = I(0), r = I(null), a = k((j, E) => {
2497
+ n({ x: j, y: E, isVisible: !0 });
2498
+ }, []), i = k(() => {
2499
+ n((j) => ({ ...j, isVisible: !1 }));
2500
+ }, []), d = k((j, E) => {
2501
+ n((C) => C.x === j && C.y === E ? C : {
2502
+ x: j,
2503
+ y: E,
2504
+ isVisible: C.isVisible
2515
2505
  });
2516
- }, []), f = D((E, c) => {
2517
- o.current = Date.now(), r.current = { x: E, y: c };
2518
- }, []), b = D((E, c) => {
2519
- e.current = { x: E, y: c };
2520
- }, []), y = D((E, c, P = 500, k = 5) => Date.now() - (o.current || 0) >= P || !r.current ? !1 : Math.sqrt((E - r.current.x) ** 2 + (c - r.current.y) ** 2) < k, []), A = D((E, c) => {
2506
+ }, []), m = k((j, E) => {
2507
+ o.current = Date.now(), r.current = { x: j, y: E };
2508
+ }, []), w = k((j, E) => {
2509
+ e.current = { x: j, y: E };
2510
+ }, []), b = k((j, E, C = 500, T = 5) => Date.now() - (o.current || 0) >= C || !r.current ? !1 : Math.sqrt((j - r.current.x) ** 2 + (E - r.current.y) ** 2) < T, []), A = k((j, E) => {
2521
2511
  if (!e.current)
2522
2512
  return 0;
2523
- const P = Math.abs(E - e.current.x), k = Math.abs(c - e.current.y);
2524
- return Math.sqrt(P * P + k * k);
2525
- }, []), z = D(() => {
2513
+ const C = Math.abs(j - e.current.x), T = Math.abs(E - e.current.y);
2514
+ return Math.sqrt(C * C + T * T);
2515
+ }, []), q = k(() => {
2526
2516
  e.current = null, o.current = 0, r.current = null;
2527
2517
  }, []);
2528
2518
  return {
@@ -2531,13 +2521,13 @@ const Or = [
2531
2521
  mouseDownTime: o.current,
2532
2522
  mouseDownPosition: r.current,
2533
2523
  showMousePosition: a,
2534
- hideMousePosition: l,
2535
- updateMousePosition: u,
2536
- recordMouseDown: f,
2537
- recordClickPosition: b,
2538
- isVirtualClick: y,
2524
+ hideMousePosition: i,
2525
+ updateMousePosition: d,
2526
+ recordMouseDown: m,
2527
+ recordClickPosition: w,
2528
+ isVirtualClick: b,
2539
2529
  calculateMoveDistance: A,
2540
- clearMouseTracking: z
2530
+ clearMouseTracking: q
2541
2531
  };
2542
2532
  }, Lr = ({
2543
2533
  debugConfig: t,
@@ -2546,171 +2536,171 @@ const Or = [
2546
2536
  dragModes: o,
2547
2537
  columnPanels: r,
2548
2538
  dragOverPosition: a,
2549
- originalPanelPosition: l,
2550
- setDragState: u,
2551
- setDragOverPosition: f,
2552
- setOriginalPanelPosition: b,
2553
- performPanelMove: y,
2539
+ originalPanelPosition: i,
2540
+ setDragState: d,
2541
+ setDragOverPosition: m,
2542
+ setOriginalPanelPosition: w,
2543
+ performPanelMove: b,
2554
2544
  showMousePosition: A,
2555
- updateMousePosition: z,
2556
- resetDragState: E,
2557
- handlePlaceholderDragEnter: c,
2558
- handlePlaceholderDragLeave: P,
2559
- scale: k = 1
2545
+ updateMousePosition: q,
2546
+ resetDragState: j,
2547
+ handlePlaceholderDragEnter: E,
2548
+ handlePlaceholderDragLeave: C,
2549
+ scale: T = 1
2560
2550
  }) => {
2561
- const S = W(t);
2562
- S.current = t;
2563
- const N = W(r);
2564
- N.current = r;
2565
- const R = W(n);
2566
- R.current = n;
2567
- const d = W(a);
2568
- d.current = a;
2569
- const $ = W(l);
2570
- $.current = l;
2571
- const T = W(k);
2572
- T.current = k;
2573
- const Y = W(new rt(Se));
2574
- ee(() => {
2575
- const m = document.querySelector(Vt);
2576
- m && Y.current.setScrollElement(m);
2551
+ const h = I(t);
2552
+ h.current = t;
2553
+ const P = I(r);
2554
+ P.current = r;
2555
+ const N = I(n);
2556
+ N.current = n;
2557
+ const l = I(a);
2558
+ l.current = a;
2559
+ const _ = I(i);
2560
+ _.current = i;
2561
+ const L = I(T);
2562
+ L.current = T;
2563
+ const B = I(new rt(Me));
2564
+ oe(() => {
2565
+ const v = document.querySelector(Zt);
2566
+ v && B.current.setScrollElement(v);
2577
2567
  }, []);
2578
- const G = D(
2579
- (m, p) => {
2568
+ const J = k(
2569
+ (v, y) => {
2580
2570
  if (e.isActive) {
2581
- O(S.current, 2, "カスタムドラッグアクティブ中 - 通常ドラッグを無効化:", p), m.preventDefault();
2571
+ M(h.current, 2, "カスタムドラッグアクティブ中 - 通常ドラッグを無効化:", y), v.preventDefault();
2582
2572
  return;
2583
2573
  }
2584
- if (o[p] === "custom") {
2585
- O(S.current, 2, "カスタムドラッグモード - 通常ドラッグを無効化:", p), m.preventDefault();
2574
+ if (o[y] === "custom") {
2575
+ M(h.current, 2, "カスタムドラッグモード - 通常ドラッグを無効化:", y), v.preventDefault();
2586
2576
  return;
2587
2577
  }
2588
- O(S.current, 1, "ドラッグ開始:", p);
2589
- const j = Object.keys(N.current);
2590
- let _ = null;
2591
- for (let I = 0; I < j.length; I++) {
2592
- const re = j[I], V = N.current[re].indexOf(p);
2593
- if (V !== -1) {
2594
- _ = { columnIndex: I, panelIndex: V };
2578
+ M(h.current, 1, "ドラッグ開始:", y);
2579
+ const g = Object.keys(P.current);
2580
+ let D = null;
2581
+ for (let R = 0; R < g.length; R++) {
2582
+ const Y = g[R], F = P.current[Y].indexOf(y);
2583
+ if (F !== -1) {
2584
+ D = { columnIndex: R, panelIndex: F };
2595
2585
  break;
2596
2586
  }
2597
2587
  }
2598
- if (b(_), m.dataTransfer) {
2599
- m.dataTransfer.setData("text/plain", p), m.dataTransfer.effectAllowed = "move";
2600
- const I = T.current;
2601
- if (I < 1) {
2602
- const re = m.currentTarget.closest("[data-panel-id]") ?? m.currentTarget, V = re.getBoundingClientRect(), oe = re.offsetWidth, h = re.offsetHeight, x = re.cloneNode(!0);
2603
- x.removeAttribute("data-panel-id"), x.removeAttribute("id"), Zt(re, x), x.style.margin = "0", x.style.width = `${oe}px`, x.style.height = `${h}px`, x.style.transform = `scale(${I})`, x.style.transformOrigin = "top left";
2604
- const M = document.createElement("div");
2605
- M.style.position = "fixed", M.style.top = "0", M.style.left = "-10000px", M.style.width = `${oe * I}px`, M.style.height = `${h * I}px`, M.style.overflow = "hidden", M.style.opacity = "0.8", M.style.pointerEvents = "none", M.appendChild(x), document.body.appendChild(M), m.dataTransfer.setDragImage(M, m.clientX - V.left, m.clientY - V.top), requestAnimationFrame(() => M.remove());
2588
+ if (w(D), v.dataTransfer) {
2589
+ v.dataTransfer.setData("text/plain", y), v.dataTransfer.effectAllowed = "move";
2590
+ const R = L.current;
2591
+ if (R < 1) {
2592
+ const Y = v.currentTarget.closest("[data-panel-id]") ?? v.currentTarget, F = Y.getBoundingClientRect(), X = Y.offsetWidth, u = Y.offsetHeight, f = Y.cloneNode(!0);
2593
+ f.removeAttribute("data-panel-id"), f.removeAttribute("id"), Gt(Y, f), f.style.margin = "0", f.style.width = `${X}px`, f.style.height = `${u}px`, f.style.transform = `scale(${R})`, f.style.transformOrigin = "top left";
2594
+ const S = document.createElement("div");
2595
+ S.style.position = "fixed", S.style.top = "0", S.style.left = "-10000px", S.style.width = `${X * R}px`, S.style.height = `${u * R}px`, S.style.overflow = "hidden", S.style.opacity = "0.8", S.style.pointerEvents = "none", S.appendChild(f), document.body.appendChild(S), v.dataTransfer.setDragImage(S, v.clientX - F.left, v.clientY - F.top), requestAnimationFrame(() => S.remove());
2606
2596
  }
2607
2597
  }
2608
- A(m.clientX, m.clientY), requestAnimationFrame(() => {
2609
- u({
2598
+ A(v.clientX, v.clientY), requestAnimationFrame(() => {
2599
+ d({
2610
2600
  isDragging: !0,
2611
- draggedPanel: p,
2601
+ draggedPanel: y,
2612
2602
  dragOverColumn: null
2613
2603
  });
2614
2604
  });
2615
2605
  },
2616
- [o, e.isActive, b, A, u]
2617
- ), g = D(() => {
2618
- O(S.current, 1, "ドラッグ終了"), Y.current.stop(), E();
2619
- }, [E]), v = D(
2620
- (m, p) => {
2621
- if (m.preventDefault(), m.dataTransfer.dropEffect = "move", !R.current.isDragging) return;
2622
- z(m.clientX, m.clientY), p !== R.current.dragOverColumn && u((I) => ({ ...I, dragOverColumn: p }));
2623
- const j = document.elementFromPoint(m.clientX, m.clientY), _ = j?.closest("[data-placeholder-index]");
2624
- if (_) {
2625
- const I = _.getAttribute("data-placeholder-index"), re = _.getAttribute("data-placeholder-column");
2626
- if (I && re) {
2627
- const V = parseInt(I, 10), oe = parseInt(re, 10);
2628
- c(oe, V);
2606
+ [o, e.isActive, w, A, d]
2607
+ ), p = k(() => {
2608
+ M(h.current, 1, "ドラッグ終了"), B.current.stop(), j();
2609
+ }, [j]), x = k(
2610
+ (v, y) => {
2611
+ if (v.preventDefault(), v.dataTransfer.dropEffect = "move", !N.current.isDragging) return;
2612
+ q(v.clientX, v.clientY), y !== N.current.dragOverColumn && d((R) => ({ ...R, dragOverColumn: y }));
2613
+ const g = document.elementFromPoint(v.clientX, v.clientY), D = g?.closest("[data-placeholder-index]");
2614
+ if (D) {
2615
+ const R = D.getAttribute("data-placeholder-index"), Y = D.getAttribute("data-placeholder-column");
2616
+ if (R && Y) {
2617
+ const F = parseInt(R, 10), X = parseInt(Y, 10);
2618
+ E(X, F);
2629
2619
  }
2630
2620
  } else
2631
- j?.closest("[data-drop-zone]") || P();
2621
+ g?.closest("[data-drop-zone]") || C();
2632
2622
  },
2633
- [z, u, c, P]
2634
- ), L = D(
2635
- (m, p) => {
2636
- m.preventDefault();
2637
- const j = m.dataTransfer.getData("text/plain"), _ = d.current;
2638
- j && _ && (O(S.current, 1, "🎯 ドロップ完了:", {
2639
- draggedPanel: j,
2640
- targetColumn: p,
2641
- insertPosition: `カラム${_.columnIndex} - 位置${_.insertIndex}`
2642
- }), y(j, p, _.insertIndex), f(null), g());
2623
+ [q, d, E, C]
2624
+ ), $ = k(
2625
+ (v, y) => {
2626
+ v.preventDefault();
2627
+ const g = v.dataTransfer.getData("text/plain"), D = l.current;
2628
+ g && D && (M(h.current, 1, "🎯 ドロップ完了:", {
2629
+ draggedPanel: g,
2630
+ targetColumn: y,
2631
+ insertPosition: `カラム${D.columnIndex} - 位置${D.insertIndex}`
2632
+ }), b(g, y, D.insertIndex), m(null), p());
2643
2633
  },
2644
- [y, f, g]
2645
- ), w = D(
2646
- (m) => {
2647
- const p = m.currentTarget, j = m.relatedTarget;
2648
- j && p.contains(j) || (f(null), u((_) => ({ ..._, dragOverColumn: null })));
2634
+ [b, m, p]
2635
+ ), W = k(
2636
+ (v) => {
2637
+ const y = v.currentTarget, g = v.relatedTarget;
2638
+ g && y.contains(g) || (m(null), d((D) => ({ ...D, dragOverColumn: null })));
2649
2639
  },
2650
- [f, u]
2640
+ [m, d]
2651
2641
  );
2652
- return ee(() => {
2653
- const m = (p) => {
2654
- R.current.isDragging && (z(p.clientX, p.clientY), Y.current.update(p.clientX, p.clientY));
2642
+ return oe(() => {
2643
+ const v = (y) => {
2644
+ N.current.isDragging && (q(y.clientX, y.clientY), B.current.update(y.clientX, y.clientY));
2655
2645
  };
2656
2646
  if (n.isDragging)
2657
- return document.addEventListener("dragover", m), () => {
2658
- document.removeEventListener("dragover", m), Y.current.stop();
2647
+ return document.addEventListener("dragover", v), () => {
2648
+ document.removeEventListener("dragover", v), B.current.stop();
2659
2649
  };
2660
- }, [n.isDragging, z]), ee(() => () => {
2661
- Y.current.stop();
2650
+ }, [n.isDragging, q]), oe(() => () => {
2651
+ B.current.stop();
2662
2652
  }, []), {
2663
- handleDragStart: G,
2664
- handleDragEnd: g,
2665
- handleDragOverWithInsert: v,
2666
- handleDropWithInsert: L,
2667
- handleColumnDragLeave: w
2653
+ handleDragStart: J,
2654
+ handleDragEnd: p,
2655
+ handleDragOverWithInsert: x,
2656
+ handleDropWithInsert: $,
2657
+ handleColumnDragLeave: W
2668
2658
  };
2669
- }, _r = (t, n = 1) => {
2670
- const [e, o] = se(t), [r, a] = se({}), l = W({}), u = W(null), f = W({ x: 0, y: 0 }), b = W(n);
2671
- b.current = n;
2672
- const y = D((N) => document.querySelector(`[data-panel-id="${N}"]`), []), A = D(
2673
- (N, R) => {
2674
- const d = R.getBoundingClientRect(), $ = window.getComputedStyle(R), T = {
2675
- width: Math.round(d.width),
2676
- height: Math.round(d.height),
2677
- x: Math.round(d.left),
2678
- y: Math.round(d.top),
2679
- minHeight: $.minHeight || "auto",
2680
- maxHeight: $.maxHeight || "none"
2681
- }, Y = l.current[N];
2682
- (!Y || Object.keys(T).some((G) => Y[G] !== T[G])) && (l.current[N] = T, a((G) => ({
2683
- ...G,
2684
- [N]: T
2659
+ }, zr = (t, n = 1) => {
2660
+ const [e, o] = se(t), [r, a] = se({}), i = I({}), d = I(null), m = I({ x: 0, y: 0 }), w = I(n);
2661
+ w.current = n;
2662
+ const b = k((P) => document.querySelector(`[data-panel-id="${P}"]`), []), A = k(
2663
+ (P, N) => {
2664
+ const l = N.getBoundingClientRect(), _ = window.getComputedStyle(N), L = {
2665
+ width: Math.round(l.width),
2666
+ height: Math.round(l.height),
2667
+ x: Math.round(l.left),
2668
+ y: Math.round(l.top),
2669
+ minHeight: _.minHeight || "auto",
2670
+ maxHeight: _.maxHeight || "none"
2671
+ }, B = i.current[P];
2672
+ (!B || Object.keys(L).some((J) => B[J] !== L[J])) && (i.current[P] = L, a((J) => ({
2673
+ ...J,
2674
+ [P]: L
2685
2675
  })));
2686
2676
  },
2687
2677
  []
2688
2678
  // setPanelSizes は React の state セッターなので依存配列に含める必要はありません
2689
- ), z = D(
2690
- (N) => {
2691
- const R = y(N);
2692
- R && A(N, R);
2679
+ ), q = k(
2680
+ (P) => {
2681
+ const N = b(P);
2682
+ N && A(P, N);
2693
2683
  },
2694
- [y, A]
2695
- ), E = D(
2696
- (N, R) => {
2697
- R && requestAnimationFrame(() => A(N, R));
2684
+ [b, A]
2685
+ ), j = k(
2686
+ (P, N) => {
2687
+ N && requestAnimationFrame(() => A(P, N));
2698
2688
  },
2699
2689
  [A]
2700
- ), c = D(
2701
- (N, R, d) => {
2702
- const $ = y(N);
2703
- !$ || u.current || (u.current = Gt($, N, b.current), f.current = { x: R, y: d });
2690
+ ), E = k(
2691
+ (P, N, l) => {
2692
+ const _ = b(P);
2693
+ !_ || d.current || (d.current = Kt(_, P, w.current), m.current = { x: N, y: l });
2704
2694
  },
2705
- [y]
2706
- ), P = D((N, R) => {
2707
- u.current && Kt(u.current, N, R, f.current, b.current);
2708
- }, []), k = D(() => {
2709
- u.current && (u.current.remove(), u.current = null);
2710
- }, []), S = D((N) => {
2711
- o((R) => ({
2712
- ...R,
2713
- [N]: !R[N]
2695
+ [b]
2696
+ ), C = k((P, N) => {
2697
+ d.current && Jt(d.current, P, N, m.current, w.current);
2698
+ }, []), T = k(() => {
2699
+ d.current && (d.current.remove(), d.current = null);
2700
+ }, []), h = k((P) => {
2701
+ o((N) => ({
2702
+ ...N,
2703
+ [P]: !N[P]
2714
2704
  }));
2715
2705
  }, []);
2716
2706
  return {
@@ -2720,97 +2710,110 @@ const Or = [
2720
2710
  // State update functions / 状態更新関数
2721
2711
  setPanelVisibility: o,
2722
2712
  setPanelSizes: a,
2723
- setPanelRef: E,
2724
- updatePanelSize: z,
2725
- togglePanelVisibility: S,
2713
+ setPanelRef: j,
2714
+ updatePanelSize: q,
2715
+ togglePanelVisibility: h,
2726
2716
  // Utility functions / ユーティリティ関数
2727
- getPanelElement: y,
2717
+ getPanelElement: b,
2728
2718
  // Functions for drag image management / ドラッグイメージ管理用の関数
2729
- createDragImage: c,
2730
- updateDragImagePosition: P,
2731
- removeDragImage: k
2719
+ createDragImage: E,
2720
+ updateDragImagePosition: C,
2721
+ removeDragImage: T
2732
2722
  };
2733
- }, Jr = ({ initialColumnPanels: t, initialPanelVisibility: n, initialDragModes: e = {}, debugConfig: o, onPanelMove: r, onDragModeChange: a, onColumnPanelsChange: l, scale: u = 1 }) => {
2734
- const f = W(o);
2735
- f.current = o;
2736
- const [b, y] = se(t), [A, z] = se(e), E = W(b);
2737
- E.current = b;
2738
- const c = $r(), P = Tr(), k = _r(n, u), S = W({
2723
+ }, eo = ({ initialColumnPanels: t, initialPanelVisibility: n, initialDragModes: e = {}, debugConfig: o, onPanelMove: r, onDragModeChange: a, onColumnPanelsChange: i, scale: d = 1 }) => {
2724
+ const m = I(o);
2725
+ m.current = o;
2726
+ const [w, b] = se(t), [A, q] = se(e), j = I(w), E = I(A), C = k((g) => {
2727
+ if (typeof g == "function") throw new TypeError("setColumnPanels takes the next arrangement itself, not an updater function");
2728
+ j.current = g, b(g);
2729
+ }, []), T = k((g) => {
2730
+ if (typeof g == "function") throw new TypeError("setDragModes takes the next drag modes themselves, not an updater function");
2731
+ E.current = g, q(g);
2732
+ }, []), h = Rr(), P = _r(), N = zr(n, d), l = I({
2739
2733
  mousemove: null,
2740
2734
  mouseup: null
2741
- }), N = D((w) => {
2742
- const m = Object.keys(E.current), p = Mr(m, fe);
2743
- for (let j = 0; j < p.length; j++) {
2744
- const _ = p[j], I = E.current[_]?.indexOf(w) ?? -1;
2745
- if (I !== -1)
2746
- return { columnIndex: j, panelIndex: I };
2735
+ }), _ = k((g) => {
2736
+ const D = Object.keys(j.current), R = Ar(D, fe);
2737
+ for (let Y = 0; Y < R.length; Y++) {
2738
+ const F = R[Y], X = j.current[F]?.indexOf(g) ?? -1;
2739
+ if (X !== -1)
2740
+ return { columnIndex: Y, panelIndex: X };
2747
2741
  }
2748
2742
  return null;
2749
- }, []), R = D(
2750
- (w, m, p) => {
2751
- O(f.current, 1, "🔄 パネル移動実行:", w, "→", m, "@", p), y((j) => {
2752
- if (!Object.values(j).some((I) => I.includes(w)))
2753
- return console.error("Source column not found for panel:", w), j;
2754
- if (!j[m])
2755
- return console.error("Target column not found:", m), j;
2756
- const _ = Yt(j, w, m, p);
2757
- if (_ === null) return j;
2758
- if (O(f.current, 1, "✅ パネル移動完了:", w, "→", m), l && requestAnimationFrame(() => {
2759
- l(_);
2760
- }), r) {
2761
- const I = Object.keys(j).find((re) => j[re].includes(w));
2762
- I && requestAnimationFrame(() => {
2763
- r(w, I, m, p);
2764
- });
2743
+ }, []), L = k(
2744
+ (g, D, R) => {
2745
+ M(m.current, 1, "🔄 パネル移動実行:", g, "→", D, "@", R);
2746
+ const Y = j.current, F = Object.keys(Y).find((u) => Y[u].includes(g));
2747
+ if (F === void 0) {
2748
+ console.error("Source column not found for panel:", g);
2749
+ return;
2750
+ }
2751
+ if (!Y[D]) {
2752
+ console.error("Target column not found:", D);
2753
+ return;
2754
+ }
2755
+ const X = Ft(Y, g, D, R);
2756
+ X !== null && (C(X), M(m.current, 1, "✅ パネル移動完了:", g, "→", D), !(i === void 0 && r === void 0) && requestAnimationFrame(() => {
2757
+ const u = [];
2758
+ try {
2759
+ i?.(X);
2760
+ } catch (f) {
2761
+ u.push(f);
2765
2762
  }
2766
- return _;
2767
- });
2763
+ try {
2764
+ r?.(g, F, D, R);
2765
+ } catch (f) {
2766
+ u.push(f);
2767
+ }
2768
+ if (u.length === 1) throw u[0];
2769
+ if (u.length === 2) throw new AggregateError(u, "onColumnPanelsChange and onPanelMove both threw");
2770
+ }));
2768
2771
  },
2769
- [l, r]
2770
- ), d = D(
2771
- (w, m) => {
2772
- if (!(c.dragState.isDragging || c.customDrag.isActive)) return;
2773
- const p = c.originalPanelPosition;
2774
- if (p !== null && et(p, w, m)) {
2775
- O(f.current, 1, `元の位置への挿入をスキップ: カラム${w}, 位置${m}`);
2772
+ [i, r, C]
2773
+ ), B = k(
2774
+ (g, D) => {
2775
+ if (!(h.dragState.isDragging || h.customDrag.isActive)) return;
2776
+ const R = h.originalPanelPosition;
2777
+ if (R !== null && et(R, g, D)) {
2778
+ M(m.current, 1, `元の位置への挿入をスキップ: カラム${g}, 位置${D}`);
2776
2779
  return;
2777
2780
  }
2778
- const j = c.dragOverPosition;
2779
- (!j || j.columnIndex !== w || j.insertIndex !== m) && (O(f.current, 1, `プレースホルダーエンター: カラム${w}, 位置${m}`), c.setDragOverPosition({ columnIndex: w, insertIndex: m }), c.setDragState((_) => ({ ..._, dragOverColumn: w })));
2781
+ const Y = h.dragOverPosition;
2782
+ (!Y || Y.columnIndex !== g || Y.insertIndex !== D) && (M(m.current, 1, `プレースホルダーエンター: カラム${g}, 位置${D}`), h.setDragOverPosition({ columnIndex: g, insertIndex: D }), h.setDragState((F) => ({ ...F, dragOverColumn: g })));
2780
2783
  },
2781
- [c]
2782
- ), $ = D(
2783
- (w, m, p) => {
2784
- if (c.dragState.isDragging || c.customDrag.isActive) {
2785
- if (c.customDrag.isActive)
2786
- O(f.current, 1, "🚫 カスタムドラッグ - プレースホルダーリーブ: ハイライトを解除します。"), c.setDragOverPosition(null);
2787
- else if (c.dragState.isDragging && w && m !== void 0 && p !== void 0) {
2788
- const j = c.dragOverPosition;
2789
- if (j && j.columnIndex === m && j.insertIndex === p) {
2790
- const _ = w.currentTarget, I = w.relatedTarget;
2791
- I && _.contains(I) || (O(f.current, 1, `ノーマルドラッグ - プレースホルダーリーブ: カラム${m}, 位置${p}。ハイライトを解除します。`), c.setDragOverPosition(null));
2784
+ [h]
2785
+ ), J = k(
2786
+ (g, D, R) => {
2787
+ if (h.dragState.isDragging || h.customDrag.isActive) {
2788
+ if (h.customDrag.isActive)
2789
+ M(m.current, 1, "🚫 カスタムドラッグ - プレースホルダーリーブ: ハイライトを解除します。"), h.setDragOverPosition(null);
2790
+ else if (h.dragState.isDragging && g && D !== void 0 && R !== void 0) {
2791
+ const Y = h.dragOverPosition;
2792
+ if (Y && Y.columnIndex === D && Y.insertIndex === R) {
2793
+ const F = g.currentTarget, X = g.relatedTarget;
2794
+ X && F.contains(X) || (M(m.current, 1, `ノーマルドラッグ - プレースホルダーリーブ: カラム${D}, 位置${R}。ハイライトを解除します。`), h.setDragOverPosition(null));
2792
2795
  }
2793
2796
  }
2794
2797
  }
2795
2798
  },
2796
- [c]
2797
- ), T = Ar({
2798
- debugConfig: f.current,
2799
- dragState: c.dragState,
2800
- customDrag: c.customDrag,
2801
- clickState: c.clickState,
2799
+ [h]
2800
+ ), p = Tr({
2801
+ debugConfig: m.current,
2802
+ dragState: h.dragState,
2803
+ customDrag: h.customDrag,
2804
+ clickState: h.clickState,
2802
2805
  dragModes: A,
2803
- isMouseDown: c.isMouseDown,
2804
- originalPanelPosition: c.originalPanelPosition,
2805
- dragOverPosition: c.dragOverPosition,
2806
- setCustomDrag: c.setCustomDrag,
2807
- setDragState: c.setDragState,
2808
- setDragOverPosition: c.setDragOverPosition,
2809
- setOriginalPanelPosition: c.setOriginalPanelPosition,
2810
- setClickState: c.setClickState,
2811
- setIsMouseDown: c.setIsMouseDown,
2812
- findPanelPosition: N,
2813
- performPanelMove: R,
2806
+ isMouseDown: h.isMouseDown,
2807
+ originalPanelPosition: h.originalPanelPosition,
2808
+ dragOverPosition: h.dragOverPosition,
2809
+ setCustomDrag: h.setCustomDrag,
2810
+ setDragState: h.setDragState,
2811
+ setDragOverPosition: h.setDragOverPosition,
2812
+ setOriginalPanelPosition: h.setOriginalPanelPosition,
2813
+ setClickState: h.setClickState,
2814
+ setIsMouseDown: h.setIsMouseDown,
2815
+ findPanelPosition: _,
2816
+ performPanelMove: L,
2814
2817
  showMousePosition: P.showMousePosition,
2815
2818
  updateMousePosition: P.updateMousePosition,
2816
2819
  recordMouseDown: P.recordMouseDown,
@@ -2818,142 +2821,140 @@ const Or = [
2818
2821
  isVirtualClick: P.isVirtualClick,
2819
2822
  calculateMoveDistance: P.calculateMoveDistance,
2820
2823
  clearMouseTracking: P.clearMouseTracking,
2821
- resetDragState: c.resetDragState,
2822
- resetClickState: c.resetClickState,
2823
- createDragImage: k.createDragImage,
2824
- updateDragImagePosition: k.updateDragImagePosition,
2825
- removeDragImage: k.removeDragImage,
2826
- handlePlaceholderDragEnter: d,
2827
- handlePlaceholderDragLeave: $
2828
- }), Y = Lr({
2829
- debugConfig: f.current,
2830
- dragState: c.dragState,
2831
- customDrag: c.customDrag,
2824
+ resetDragState: h.resetDragState,
2825
+ resetClickState: h.resetClickState,
2826
+ createDragImage: N.createDragImage,
2827
+ updateDragImagePosition: N.updateDragImagePosition,
2828
+ removeDragImage: N.removeDragImage,
2829
+ handlePlaceholderDragEnter: B,
2830
+ handlePlaceholderDragLeave: J
2831
+ }), x = Lr({
2832
+ debugConfig: m.current,
2833
+ dragState: h.dragState,
2834
+ customDrag: h.customDrag,
2832
2835
  dragModes: A,
2833
- columnPanels: b,
2834
- dragOverPosition: c.dragOverPosition,
2835
- originalPanelPosition: c.originalPanelPosition,
2836
- setDragState: c.setDragState,
2837
- setDragOverPosition: c.setDragOverPosition,
2838
- setOriginalPanelPosition: c.setOriginalPanelPosition,
2839
- performPanelMove: R,
2836
+ columnPanels: w,
2837
+ dragOverPosition: h.dragOverPosition,
2838
+ originalPanelPosition: h.originalPanelPosition,
2839
+ setDragState: h.setDragState,
2840
+ setDragOverPosition: h.setDragOverPosition,
2841
+ setOriginalPanelPosition: h.setOriginalPanelPosition,
2842
+ performPanelMove: L,
2840
2843
  showMousePosition: P.showMousePosition,
2841
2844
  updateMousePosition: P.updateMousePosition,
2842
- resetDragState: c.resetDragState,
2843
- handlePlaceholderDragEnter: d,
2844
- handlePlaceholderDragLeave: $,
2845
- scale: u
2846
- }), G = D((w) => {
2847
- S.current.mousemove && S.current.mousemove(w);
2848
- }, []), g = D((w) => {
2849
- S.current.mouseup && S.current.mouseup(w);
2845
+ resetDragState: h.resetDragState,
2846
+ handlePlaceholderDragEnter: B,
2847
+ handlePlaceholderDragLeave: J,
2848
+ scale: d
2849
+ }), $ = k((g) => {
2850
+ l.current.mousemove && l.current.mousemove(g);
2851
+ }, []), W = k((g) => {
2852
+ l.current.mouseup && l.current.mouseup(g);
2850
2853
  }, []);
2851
- ee(() => (O(f.current, 1, "🔧 グローバルイベントリスナー初期化 - refベース管理開始"), document.addEventListener("mousemove", G), document.addEventListener("mouseup", g), () => {
2852
- O(f.current, 1, "🔴 グローバルイベントリスナー終了 - refベース管理終了"), document.removeEventListener("mousemove", G), document.removeEventListener("mouseup", g);
2853
- }), [G, g]), ee(() => {
2854
- const w = !c.clickState.isClicked && Object.entries(A).some(([, p]) => p === "custom"), m = c.clickState.isClicked && c.clickState.panelId;
2855
- if (w || m) {
2856
- const p = w ? "パターン1(仮想クリック検出)" : "パターン2,3(ドラッグ準備)";
2857
- O(f.current, 1, `🔧 イベントハンドラー設定開始: ${p}`), S.current.mousemove = T.handleGlobalMouseMove, S.current.mouseup = T.handleGlobalMouseUp;
2854
+ oe(() => (M(m.current, 1, "🔧 グローバルイベントリスナー初期化 - refベース管理開始"), document.addEventListener("mousemove", $), document.addEventListener("mouseup", W), () => {
2855
+ M(m.current, 1, "🔴 グローバルイベントリスナー終了 - refベース管理終了"), document.removeEventListener("mousemove", $), document.removeEventListener("mouseup", W);
2856
+ }), [$, W]), oe(() => {
2857
+ const g = !h.clickState.isClicked && Object.entries(A).some(([, R]) => R === "custom"), D = h.clickState.isClicked && h.clickState.panelId;
2858
+ if (g || D) {
2859
+ const R = g ? "パターン1(仮想クリック検出)" : "パターン2,3(ドラッグ準備)";
2860
+ M(m.current, 1, `🔧 イベントハンドラー設定開始: ${R}`), l.current.mousemove = p.handleGlobalMouseMove, l.current.mouseup = p.handleGlobalMouseUp;
2858
2861
  } else
2859
- c.customDrag.isActive || c.dragState.isDragging || (S.current.mousemove = null, S.current.mouseup = null);
2860
- }, [c.clickState.isClicked, c.clickState.panelId, A, c.customDrag.isActive, c.dragState.isDragging, T.handleGlobalMouseMove, T.handleGlobalMouseUp]);
2861
- const v = D(
2862
- (w) => {
2863
- O(f.current, 1, "🔄 toggleDragMode called:", { panelId: w }), z((m) => {
2864
- const j = (m[w] || "normal") === "normal" ? "custom" : "normal", _ = { ...m, [w]: j };
2865
- if (a)
2866
- try {
2867
- a(w, j);
2868
- } catch (I) {
2869
- console.error("🔄 Error in onDragModeChange:", I);
2870
- }
2871
- return _;
2872
- });
2862
+ h.customDrag.isActive || h.dragState.isDragging || (l.current.mousemove = null, l.current.mouseup = null);
2863
+ }, [h.clickState.isClicked, h.clickState.panelId, A, h.customDrag.isActive, h.dragState.isDragging, p.handleGlobalMouseMove, p.handleGlobalMouseUp]);
2864
+ const v = k(
2865
+ (g) => {
2866
+ M(m.current, 1, "🔄 toggleDragMode called:", { panelId: g });
2867
+ const D = E.current, R = (D[g] ?? "normal") === "normal" ? "custom" : "normal";
2868
+ if (T({ ...D, [g]: R }), a !== void 0)
2869
+ try {
2870
+ a(g, R);
2871
+ } catch (Y) {
2872
+ console.error("🔄 Error in onDragModeChange:", Y);
2873
+ }
2873
2874
  },
2874
- [a]
2875
- ), L = D((w, m) => {
2876
- w.stopPropagation(), O(f.current, 2, "パネルサイズ情報クリック:", m);
2875
+ [a, T]
2876
+ ), y = k((g, D) => {
2877
+ g.stopPropagation(), M(m.current, 2, "パネルサイズ情報クリック:", D);
2877
2878
  }, []);
2878
2879
  return {
2879
2880
  // 状態
2880
- columnPanels: b,
2881
- panelVisibility: k.panelVisibility,
2881
+ columnPanels: w,
2882
+ panelVisibility: N.panelVisibility,
2882
2883
  dragModes: A,
2883
- dragState: c.dragState,
2884
- dragOverPosition: c.dragOverPosition,
2885
- originalPanelPosition: c.originalPanelPosition,
2886
- customDrag: c.customDrag,
2887
- clickState: c.clickState,
2884
+ dragState: h.dragState,
2885
+ dragOverPosition: h.dragOverPosition,
2886
+ originalPanelPosition: h.originalPanelPosition,
2887
+ customDrag: h.customDrag,
2888
+ clickState: h.clickState,
2888
2889
  mousePosition: P.mousePosition,
2889
- panelSizes: k.panelSizes,
2890
+ panelSizes: N.panelSizes,
2890
2891
  // 状態更新関数
2891
- setColumnPanels: y,
2892
- setPanelVisibility: k.setPanelVisibility,
2893
- setDragModes: z,
2894
- setPanelRef: k.setPanelRef,
2892
+ setColumnPanels: C,
2893
+ setPanelVisibility: N.setPanelVisibility,
2894
+ setDragModes: T,
2895
+ setPanelRef: N.setPanelRef,
2895
2896
  // イベントハンドラー
2896
- handleDragStart: Y.handleDragStart,
2897
- handleDragEnd: Y.handleDragEnd,
2898
- handleMouseDown: T.handleMouseDown,
2899
- handlePlaceholderDragEnter: d,
2900
- handlePlaceholderDragLeave: $,
2901
- handleDragOverWithInsert: Y.handleDragOverWithInsert,
2902
- handleDropWithInsert: Y.handleDropWithInsert,
2903
- handleColumnDragLeave: Y.handleColumnDragLeave,
2904
- handlePanelSizeInfoClick: L,
2897
+ handleDragStart: x.handleDragStart,
2898
+ handleDragEnd: x.handleDragEnd,
2899
+ handleMouseDown: p.handleMouseDown,
2900
+ handlePlaceholderDragEnter: B,
2901
+ handlePlaceholderDragLeave: J,
2902
+ handleDragOverWithInsert: x.handleDragOverWithInsert,
2903
+ handleDropWithInsert: x.handleDropWithInsert,
2904
+ handleColumnDragLeave: x.handleColumnDragLeave,
2905
+ handlePanelSizeInfoClick: y,
2905
2906
  // ユーティリティ関数
2906
2907
  toggleDragMode: v,
2907
- findPanelPosition: N
2908
+ findPanelPosition: _
2908
2909
  };
2909
- }, Qr = ({ minColumnWidth: t = 350, defaultColumns: n = 3, maxColumns: e = 6, minColumns: o = 1, currentColumnWidths: r = {} } = {}) => {
2910
- const [a, l] = se(0), u = W(0), f = W(null), [b, y] = se(!1), A = W(n);
2911
- ee(() => {
2910
+ }, to = ({ minColumnWidth: t = 350, defaultColumns: n = 3, maxColumns: e = 6, minColumns: o = 1, currentColumnWidths: r = {} } = {}) => {
2911
+ const [a, i] = se(0), d = I(0), m = I(null), [w, b] = se(!1), A = I(n);
2912
+ oe(() => {
2912
2913
  if (typeof window > "u")
2913
2914
  return;
2914
- const c = () => {
2915
- const k = window.visualViewport?.width ?? 0, S = document?.documentElement?.clientWidth ?? 0, N = document?.body?.clientWidth ?? 0, R = window.innerWidth ?? 0;
2916
- return S > 0 ? Math.floor(S) : k > 0 ? Math.floor(k) : N > 0 ? Math.floor(N) : Math.floor(R);
2917
- }, P = () => {
2918
- f.current !== null && cancelAnimationFrame(f.current), f.current = requestAnimationFrame(() => {
2919
- const k = c();
2920
- f.current = null, k !== 0 && (Math.abs(u.current - k) < 2 || (u.current = k, l(k)));
2915
+ const E = () => {
2916
+ const T = window.visualViewport?.width ?? 0, h = document?.documentElement?.clientWidth ?? 0, P = document?.body?.clientWidth ?? 0, N = window.innerWidth ?? 0;
2917
+ return h > 0 ? Math.floor(h) : T > 0 ? Math.floor(T) : P > 0 ? Math.floor(P) : Math.floor(N);
2918
+ }, C = () => {
2919
+ m.current !== null && cancelAnimationFrame(m.current), m.current = requestAnimationFrame(() => {
2920
+ const T = E();
2921
+ m.current = null, T !== 0 && (Math.abs(d.current - T) < 2 || (d.current = T, i(T)));
2921
2922
  });
2922
2923
  };
2923
- return P(), window.addEventListener("resize", P), window.addEventListener("orientationchange", P), window.visualViewport?.addEventListener("resize", P), () => {
2924
- f.current !== null && cancelAnimationFrame(f.current), window.removeEventListener("resize", P), window.removeEventListener("orientationchange", P), window.visualViewport?.removeEventListener("resize", P);
2924
+ return C(), window.addEventListener("resize", C), window.addEventListener("orientationchange", C), window.visualViewport?.addEventListener("resize", C), () => {
2925
+ m.current !== null && cancelAnimationFrame(m.current), window.removeEventListener("resize", C), window.removeEventListener("orientationchange", C), window.visualViewport?.removeEventListener("resize", C);
2925
2926
  };
2926
2927
  }, []);
2927
- const z = Re(() => {
2928
- if (!b || a === 0)
2928
+ const q = Le(() => {
2929
+ if (!w || a === 0)
2929
2930
  return A.current = n, n;
2930
- const c = Math.max(a - 64, 0), P = 24, k = Object.values(r);
2931
- let S;
2932
- if (k.length > 0) {
2933
- const N = k.reduce(($, T) => $ + T, 0) / k.length, R = Math.max(t, N);
2934
- S = Math.floor((c + P) / (R + P)), k.reduce(($, T) => $ + T, 0) + (k.length - 1) * P > c && k.length > o && (S = Math.min(S, k.length - 1));
2931
+ const E = Math.max(a - 64, 0), C = 24, T = Object.values(r);
2932
+ let h;
2933
+ if (T.length > 0) {
2934
+ const P = T.reduce((_, L) => _ + L, 0) / T.length, N = Math.max(t, P);
2935
+ h = Math.floor((E + C) / (N + C)), T.reduce((_, L) => _ + L, 0) + (T.length - 1) * C > E && T.length > o && (h = Math.min(h, T.length - 1));
2935
2936
  } else
2936
- S = Math.floor((c + P) / (t + P));
2937
- return S = Math.max(o, Math.min(e, S)), A.current === S ? A.current : (A.current = S, S);
2938
- }, [b, a, n, t, e, o, r]), E = D(() => {
2939
- y((c) => !c);
2937
+ h = Math.floor((E + C) / (t + C));
2938
+ return h = Math.max(o, Math.min(e, h)), A.current === h ? A.current : (A.current = h, h);
2939
+ }, [w, a, n, t, e, o, r]), j = k(() => {
2940
+ b((E) => !E);
2940
2941
  }, []);
2941
2942
  return {
2942
- responsiveColumnCount: z,
2943
- isResponsiveMode: b,
2943
+ responsiveColumnCount: q,
2944
+ isResponsiveMode: w,
2944
2945
  screenWidth: a,
2945
- toggleResponsiveMode: E
2946
+ toggleResponsiveMode: j
2946
2947
  };
2947
2948
  };
2948
- const Rr = [
2949
+ const Ir = [
2949
2950
  ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
2950
2951
  ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
2951
2952
  ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
2952
- ], zr = ie("monitor", Rr);
2953
- const qr = [
2953
+ ], qr = ie("monitor", Ir);
2954
+ const Wr = [
2954
2955
  ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }],
2955
2956
  ["path", { d: "M12 18h.01", key: "mhygvu" }]
2956
- ], Wr = ie("smartphone", qr), eo = ({ isResponsiveMode: t, responsiveColumnCount: n, currentColumnCount: e, screenWidth: o, onToggleResponsive: r }) => /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-2 rounded-lg border border-slate-300 bg-white/90 px-3 py-1", children: [
2957
+ ], Hr = ie("smartphone", Wr), no = ({ isResponsiveMode: t, responsiveColumnCount: n, currentColumnCount: e, screenWidth: o, onToggleResponsive: r }) => /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-2 rounded-lg border border-slate-300 bg-white/90 px-3 py-1", children: [
2957
2958
  /* @__PURE__ */ s.jsxs(
2958
2959
  "button",
2959
2960
  {
@@ -2962,7 +2963,7 @@ const qr = [
2962
2963
  className: `flex items-center gap-1 rounded px-2 py-1 text-xs transition-colors ${t ? "border border-blue-300 bg-blue-100 text-blue-700" : "border border-slate-300 text-slate-600 hover:bg-blue-50 hover:text-blue-600"}`,
2963
2964
  title: t ? "レスポンシブモードを無効化" : "レスポンシブモードを有効化",
2964
2965
  children: [
2965
- t ? /* @__PURE__ */ s.jsx(Wr, { className: "h-3 w-3" }) : /* @__PURE__ */ s.jsx(zr, { className: "h-3 w-3" }),
2966
+ t ? /* @__PURE__ */ s.jsx(Hr, { className: "h-3 w-3" }) : /* @__PURE__ */ s.jsx(qr, { className: "h-3 w-3" }),
2966
2967
  /* @__PURE__ */ s.jsx("span", { children: t ? "レスポンシブ" : "固定" })
2967
2968
  ]
2968
2969
  }
@@ -2979,7 +2980,7 @@ const qr = [
2979
2980
  ] }),
2980
2981
  n !== e && /* @__PURE__ */ s.jsx("span", { className: "text-orange-600", children: "(変更予定)" })
2981
2982
  ] })
2982
- ] }), to = {
2983
+ ] }), ro = {
2983
2984
  showDebugPanel: !1,
2984
2985
  showMousePosition: !1,
2985
2986
  showPanelSizes: !1,
@@ -2988,49 +2989,49 @@ const qr = [
2988
2989
  logLevel: 0
2989
2990
  };
2990
2991
  export {
2991
- Ur as ColumnControlPanel,
2992
- Br as ColumnInsertPanel,
2992
+ Xr as ColumnControlPanel,
2993
+ Vr as ColumnInsertPanel,
2993
2994
  fe as DEFAULT_COLUMN_ID_CONFIG,
2994
- to as DEFAULT_DEBUG_CONFIG,
2995
- Hr as DEFAULT_DRAG_DROP_LAYOUT_LABELS,
2996
- Se as DEFAULT_EDGE_SCROLL_CONFIG,
2997
- pr as DEFAULT_TOUCH_DRAG_CONFIG,
2998
- Xr as DebugControlPanel,
2999
- Fr as DragDropLayout,
3000
- Xt as DropZoneDebugOverlay,
2995
+ ro as DEFAULT_DEBUG_CONFIG,
2996
+ Fr as DEFAULT_DRAG_DROP_LAYOUT_LABELS,
2997
+ Me as DEFAULT_EDGE_SCROLL_CONFIG,
2998
+ xr as DEFAULT_TOUCH_DRAG_CONFIG,
2999
+ Zr as DebugControlPanel,
3000
+ Ur as DragDropLayout,
3001
+ Vt as DropZoneDebugOverlay,
3001
3002
  rt as EdgeScrollManager,
3002
- Bt as InsertPlaceholder,
3003
+ Xt as InsertPlaceholder,
3003
3004
  Ee as PANEL_ACTION_ATTRIBUTE,
3004
3005
  De as PANEL_MOVES,
3005
3006
  Ut as PANEL_MOVE_SHORTCUTS,
3006
- Yn as PanelSizeDisplay,
3007
- Yr as ResizableColumn,
3008
- en as ResizeHandle,
3009
- eo as ResponsiveControl,
3010
- Vt as SCROLL_ROOT_SELECTOR,
3011
- cr as TEMPLATE_PLACEHOLDERS,
3012
- Bn as availablePanelMoves,
3013
- St as calculateScrollVector,
3014
- Gr as createColumnIdMapping,
3015
- O as debugLog,
3016
- We as generateColumnId,
3017
- tn as generateColumnIds,
3018
- Zr as getNextColumnId,
3019
- Yt as insertPanelAt,
3020
- Vr as isValidColumnId,
3021
- Xn as movePanelInColumns,
3022
- Sr as normalizeColumnPanels,
3023
- Zn as panelMoveOfKey,
3024
- Ie as parseColumnId,
3025
- sr as performScroll,
3007
+ Fn as PanelSizeDisplay,
3008
+ Br as ResizableColumn,
3009
+ tn as ResizeHandle,
3010
+ no as ResponsiveControl,
3011
+ Zt as SCROLL_ROOT_SELECTOR,
3012
+ ur as TEMPLATE_PLACEHOLDERS,
3013
+ Xn as availablePanelMoves,
3014
+ Mt as calculateScrollVector,
3015
+ Jr as createColumnIdMapping,
3016
+ M as debugLog,
3017
+ qe as generateColumnId,
3018
+ nn as generateColumnIds,
3019
+ Kr as getNextColumnId,
3020
+ Ft as insertPanelAt,
3021
+ Gr as isValidColumnId,
3022
+ Vn as movePanelInColumns,
3023
+ $r as normalizeColumnPanels,
3024
+ Gn as panelMoveOfKey,
3025
+ We as parseColumnId,
3026
+ ar as performScroll,
3026
3027
  Pe as shownPanelPlace,
3027
- Mr as sortColumnIds,
3028
- Kr as useColumnLayout,
3029
- Ar as useCustomDragHandlers,
3030
- Jr as useDragDropColumns,
3031
- $r as useDragDropState,
3032
- Tr as useMouseTracking,
3028
+ Ar as sortColumnIds,
3029
+ Qr as useColumnLayout,
3030
+ Tr as useCustomDragHandlers,
3031
+ eo as useDragDropColumns,
3032
+ Rr as useDragDropState,
3033
+ _r as useMouseTracking,
3033
3034
  Lr as useNormalDragHandlers,
3034
- _r as usePanelManagement,
3035
- Qr as useResponsiveColumns
3035
+ zr as usePanelManagement,
3036
+ to as useResponsiveColumns
3036
3037
  };