@dynamix-layout/solid 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,10 +1,10 @@
1
- import { spread as T, mergeProps as $, insert as y, memo as ie, effect as Ee, setStyleProperty as De, template as H, createComponent as v, use as Te } from "solid-js/web";
2
- import { DynamixLayoutCore as D, Node as x, setElementRect as Y, createFrameScheduler as $e, getTabBodyRect as Se, getNavbarDropPreview as Ne, getRootSplitPreview as Re, isSameDropPreview as ze, getTabsetDropPreview as Oe } from "@dynamix-layout/core";
3
- import { splitProps as He, createMemo as se, createSignal as W, onMount as Pe, onCleanup as Ce, For as L } from "solid-js";
4
- var P = H("<div>"), _e = H("<div><div style=display:flex;align-items:center;gap:4px;height:100%>"), Ie = H('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="lucide lucide-grip-vertical size-2.5"><circle cx=9 cy=12 r=1></circle><circle cx=9 cy=5 r=1></circle><circle cx=9 cy=19 r=1></circle><circle cx=15 cy=12 r=1></circle><circle cx=15 cy=5 r=1></circle><circle cx=15 cy=19 r=1>'), We = H('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round style=transform:rotate(90deg)><circle cx=9 cy=12 r=1></circle><circle cx=9 cy=5 r=1></circle><circle cx=9 cy=19 r=1></circle><circle cx=15 cy=12 r=1></circle><circle cx=15 cy=5 r=1></circle><circle cx=15 cy=19 r=1>');
5
- const Le = (e) => (() => {
6
- var a = P();
7
- return T(a, $(e, {
1
+ import { spread as O, mergeProps as _, insert as y, memo as ee, effect as le, setStyleProperty as Fe, createComponent as p, setAttribute as W, template as I, style as Ae, use as Ee, delegateEvents as Be } from "solid-js/web";
2
+ import { DynamixLayoutCore as C, Node as w, setElementRect as ve, placeTabbar as je, getTabbarPlacement as De, createFrameScheduler as Ue, getTabBodyRect as qe, getNavbarDropPreview as Ke, getRootSplitPreview as Xe, isSameDropPreview as Ve, getTabsetDropPreview as Ye } from "@dynamix-layout/core";
3
+ import { onMount as $e, splitProps as Je, createMemo as ze, onCleanup as Se, createSignal as G, For as Q } from "solid-js";
4
+ var A = I("<div>"), Ze = I("<div><div style=display:flex;align-items:center;gap:4px;height:100%>"), Ge = I('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="lucide lucide-grip-vertical size-2.5"><circle cx=9 cy=12 r=1></circle><circle cx=9 cy=5 r=1></circle><circle cx=9 cy=19 r=1></circle><circle cx=15 cy=12 r=1></circle><circle cx=15 cy=5 r=1></circle><circle cx=15 cy=19 r=1>'), Qe = I('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round style=transform:rotate(90deg)><circle cx=9 cy=12 r=1></circle><circle cx=9 cy=5 r=1></circle><circle cx=9 cy=19 r=1></circle><circle cx=15 cy=12 r=1></circle><circle cx=15 cy=5 r=1></circle><circle cx=15 cy=19 r=1>'), et = I('<svg xmlns=http://www.w3.org/2000/svg width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path>'), tt = I("<div class=DefaultTabsetToolbar>"), pe = I("<button type=button class=DefaultTabsetToolbarButton>");
5
+ const rt = (e) => (() => {
6
+ var a = A();
7
+ return O(a, _(e, {
8
8
  get class() {
9
9
  return `DefaultWrapTabLabel ${e.class || ""}`;
10
10
  },
@@ -22,9 +22,9 @@ const Le = (e) => (() => {
22
22
  };
23
23
  }
24
24
  }), !1, !0), y(a, () => e.children), a;
25
- })(), ke = (e) => (() => {
26
- var a = P();
27
- return T(a, $(e, {
25
+ })(), nt = (e) => (() => {
26
+ var a = A();
27
+ return O(a, _(e, {
28
28
  get class() {
29
29
  return `DefaultWrapTabBody hide-scrollbar ${e.class || ""}`;
30
30
  },
@@ -41,9 +41,9 @@ const Le = (e) => (() => {
41
41
  };
42
42
  }
43
43
  }), !1, !0), y(a, () => e.children), a;
44
- })(), Be = (e) => (() => {
45
- var a = P();
46
- return T(a, $(e, {
44
+ })(), at = (e) => (() => {
45
+ var a = A();
46
+ return O(a, _(e, {
47
47
  get class() {
48
48
  return `DefaultWrapTabHead hide-scrollbar ${e.class || ""}`;
49
49
  },
@@ -67,9 +67,9 @@ const Le = (e) => (() => {
67
67
  };
68
68
  }
69
69
  }), !1, !0), y(a, () => e.children), a;
70
- })(), Me = (e) => (() => {
71
- var a = P();
72
- return T(a, $(e, {
70
+ })(), ot = (e) => (() => {
71
+ var a = A();
72
+ return O(a, _(e, {
73
73
  get class() {
74
74
  return `DefaultWrapTabPanel ${e.class || ""}`;
75
75
  },
@@ -85,9 +85,9 @@ const Le = (e) => (() => {
85
85
  };
86
86
  }
87
87
  }), !1, !0), y(a, () => e.children), a;
88
- })(), Ae = (e) => (() => {
89
- var a = P();
90
- return T(a, $(e, {
88
+ })(), it = (e) => (() => {
89
+ var a = A();
90
+ return O(a, _(e, {
91
91
  get class() {
92
92
  return `DefaultHoverElement ${e.class || ""}`;
93
93
  },
@@ -109,9 +109,9 @@ const Le = (e) => (() => {
109
109
  };
110
110
  }
111
111
  }), !1, !0), y(a, () => e.children), a;
112
- })(), je = (e) => (() => {
113
- var a = _e(), h = a.firstChild;
114
- return T(a, $(e, {
112
+ })(), lt = (e) => (() => {
113
+ var a = Ze(), h = a.firstChild;
114
+ return O(a, _(e, {
115
115
  get class() {
116
116
  return `DefaultSliderElement ${e.class || ""}`;
117
117
  },
@@ -128,44 +128,44 @@ const Le = (e) => (() => {
128
128
  };
129
129
  }
130
130
  }), !1, !0), y(h, (() => {
131
- var g = ie(() => !e.direction);
132
- return () => g() ? Ie() : We();
133
- })()), y(a, () => e.children, null), Ee((g) => De(h, "flex-direction", e.direction ? "column" : "row")), a;
134
- })(), Fe = (e) => {
135
- const [a, h] = He(e, ["area", "size", "gap", "class", "style", "children"]), g = se(() => {
136
- const s = a.size || {
131
+ var s = ee(() => !e.direction);
132
+ return () => s() ? Ge() : Qe();
133
+ })()), y(a, () => e.children, null), le((s) => Fe(h, "flex-direction", e.direction ? "column" : "row")), a;
134
+ })(), dt = (e) => {
135
+ const [a, h] = Je(e, ["area", "size", "gap", "class", "style", "children"]), s = ze(() => {
136
+ const o = a.size || {
137
137
  h: "20%",
138
138
  w: "6px"
139
- }, b = a.gap || "0px", u = {};
140
- return a.area === "left" ? (Object.assign(u, {
139
+ }, u = a.gap || "0px", c = {};
140
+ return a.area === "left" ? (Object.assign(c, {
141
141
  "border-top-right-radius": "16px",
142
142
  "border-bottom-right-radius": "16px",
143
- height: s.h,
144
- left: b,
145
- width: s.w
146
- }), u.top = `calc(50% - ${s.h} / 2)`) : a.area === "top" ? (Object.assign(u, {
143
+ height: o.h,
144
+ left: u,
145
+ width: o.w
146
+ }), c.top = `calc(50% - ${o.h} / 2)`) : a.area === "top" ? (Object.assign(c, {
147
147
  "border-bottom-left-radius": "16px",
148
148
  "border-bottom-right-radius": "16px",
149
- width: s.h,
150
- top: b,
151
- height: s.w
152
- }), u.left = `calc(50% - ${s.h} / 2)`) : a.area === "right" ? (Object.assign(u, {
149
+ width: o.h,
150
+ top: u,
151
+ height: o.w
152
+ }), c.left = `calc(50% - ${o.h} / 2)`) : a.area === "right" ? (Object.assign(c, {
153
153
  "border-top-left-radius": "16px",
154
154
  "border-bottom-left-radius": "16px",
155
- height: s.h,
156
- right: b,
157
- width: s.w
158
- }), u.top = `calc(50% - ${s.h} / 2)`) : a.area === "bottom" && (Object.assign(u, {
155
+ height: o.h,
156
+ right: u,
157
+ width: o.w
158
+ }), c.top = `calc(50% - ${o.h} / 2)`) : a.area === "bottom" && (Object.assign(c, {
159
159
  "border-top-left-radius": "16px",
160
160
  "border-top-right-radius": "16px",
161
- width: s.h,
162
- bottom: b,
163
- height: s.w
164
- }), u.left = `calc(50% - ${s.h} / 2)`), u;
161
+ width: o.h,
162
+ bottom: u,
163
+ height: o.w
164
+ }), c.left = `calc(50% - ${o.h} / 2)`), c;
165
165
  });
166
166
  return (() => {
167
- var s = P();
168
- return T(s, $(h, {
167
+ var o = A();
168
+ return O(o, _(h, {
169
169
  get class() {
170
170
  return `RootSplitterHoverEl ${a.class || ""}`;
171
171
  },
@@ -178,146 +178,253 @@ const Le = (e) => (() => {
178
178
  "background-color": "#0081f9",
179
179
  cursor: "grab",
180
180
  ...a.style,
181
- ...g()
181
+ ...s()
182
182
  };
183
183
  }
184
- }), !1, !0), y(s, () => a.children), s;
184
+ }), !1, !0), y(o, () => a.children), o;
185
185
  })();
186
- }, Ue = ({
186
+ }, Te = (e) => (() => {
187
+ var a = et(), h = a.firstChild;
188
+ return le((s) => {
189
+ var o = e.rotate ? {
190
+ transform: `rotate(${e.rotate}deg)`
191
+ } : {}, u = e.path;
192
+ return s.e = Ae(a, o, s.e), u !== s.t && W(h, "d", s.t = u), s;
193
+ }, {
194
+ e: void 0,
195
+ t: void 0
196
+ }), a;
197
+ })(), st = "M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3", ct = "M8 3v3a2 2 0 0 1-2 2H3M21 8h-3a2 2 0 0 1-2-2V3M3 16h3a2 2 0 0 1 2 2v3M16 21v-3a2 2 0 0 1 2-2h3", ut = "m15 18-6-6 6-6", gt = (e) => {
198
+ const a = () => (e.rowIsHorizontal ? 0 : 90) + (e.folded ? 180 : 0), h = () => e.rotated ? -90 : 0;
199
+ let s;
200
+ return $e(() => {
201
+ const o = s?.parentElement;
202
+ if (!s || !o) return;
203
+ const u = () => {
204
+ s.style.transform = `translateX(${o.scrollLeft}px)`;
205
+ };
206
+ u(), o.addEventListener("scroll", u, {
207
+ passive: !0
208
+ }), Se(() => o.removeEventListener("scroll", u));
209
+ }), (() => {
210
+ var o = tt();
211
+ o.$$dblclick = (c) => c.stopPropagation();
212
+ var u = s;
213
+ return typeof u == "function" ? Ee(u, o) : s = o, y(o, (() => {
214
+ var c = ee(() => !!e.showMaximize);
215
+ return () => c() && (() => {
216
+ var v = pe();
217
+ return v.$$click = () => e.onToggleMaximize(), y(v, p(Te, {
218
+ get path() {
219
+ return e.maximized ? ct : st;
220
+ },
221
+ get rotate() {
222
+ return h();
223
+ }
224
+ })), le((f) => {
225
+ var T = e.maximized ? "Restore" : "Maximize", k = e.maximized, z = e.maximized ? "Restore (⌥ +)" : "Maximize (⌥ +)";
226
+ return T !== f.e && W(v, "aria-label", f.e = T), k !== f.t && W(v, "aria-pressed", f.t = k), z !== f.a && W(v, "title", f.a = z), f;
227
+ }, {
228
+ e: void 0,
229
+ t: void 0,
230
+ a: void 0
231
+ }), v;
232
+ })();
233
+ })(), null), y(o, (() => {
234
+ var c = ee(() => !!e.showFold);
235
+ return () => c() && (() => {
236
+ var v = pe();
237
+ return v.$$click = () => e.onToggleFold(), y(v, p(Te, {
238
+ path: ut,
239
+ get rotate() {
240
+ return a() + h();
241
+ }
242
+ })), le((f) => {
243
+ var T = e.folded ? "Unfold" : "Fold", k = !e.folded, z = e.folded ? "Unfold (⌥ -)" : "Fold (⌥ -)";
244
+ return T !== f.e && W(v, "aria-label", f.e = T), k !== f.t && W(v, "aria-expanded", f.t = k), z !== f.a && W(v, "title", f.a = z), f;
245
+ }, {
246
+ e: void 0,
247
+ t: void 0,
248
+ a: void 0
249
+ }), v;
250
+ })();
251
+ })(), null), o;
252
+ })();
253
+ };
254
+ Be(["dblclick", "click"]);
255
+ const ft = ({
187
256
  tabOutput: e,
188
257
  rootId: a,
189
258
  layoutTree: h,
190
- updateJSON: g,
191
- dimensions: s,
192
- tabHeadHeight: b,
193
- enableTabbar: u,
194
- bondWidth: J,
195
- minTabHeight: k,
196
- minTabWidth: R,
197
- sliderUpdateTimeout: K,
198
- windowResizeTimeout: B,
199
- disableSliderTimeout: C,
200
- disableResizeTimeout: _
259
+ updateJSON: s,
260
+ dimensions: o,
261
+ tabHeadHeight: u,
262
+ enableTabbar: c,
263
+ bondWidth: v,
264
+ minTabHeight: f,
265
+ minTabWidth: T,
266
+ sliderUpdateTimeout: k,
267
+ windowResizeTimeout: z,
268
+ disableSliderTimeout: B,
269
+ disableResizeTimeout: j,
270
+ keyboardShortcuts: U = !0,
271
+ enableDoubleClickMaximize: de = !0
201
272
  }) => {
202
- const z = /* @__PURE__ */ new Map(), M = /* @__PURE__ */ new Map(), O = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map(), w = { current: void 0 }, I = [], [j, G] = W(
273
+ const q = /* @__PURE__ */ new Map(), te = /* @__PURE__ */ new Map(), K = /* @__PURE__ */ new Map(), re = /* @__PURE__ */ new Map(), D = { current: void 0 }, X = [], [V, F] = G(
203
274
  h
204
- ), [F, S] = W(
275
+ ), [se, ne] = G(
205
276
  /* @__PURE__ */ new Map()
206
- ), [Q, U] = W(
277
+ ), [ce, ae] = G(
207
278
  /* @__PURE__ */ new Map()
208
- ), [V, p] = W(!1);
209
- let E = null;
210
- const [Z, m] = W(!1), o = {
279
+ ), [ue, $] = G(!1);
280
+ let S = null;
281
+ const [ge, fe] = G(!1), i = {
211
282
  src: void 0,
212
283
  des: void 0,
213
284
  area: void 0,
214
285
  drag: !1
215
- }, n = {
286
+ }, R = {
216
287
  sliderId: void 0,
217
288
  isSliding: !1
218
- }, d = u ? Math.max(k, b) : k, c = new D({
289
+ }, oe = c ? Math.max(f, u) : f, M = new C({
219
290
  tabs: e.keys,
220
- tree: j(),
221
- minW: R,
222
- minH: d,
223
- bond: J,
291
+ tree: V(),
292
+ minW: T,
293
+ minH: oe,
294
+ bond: v,
224
295
  uqid: a,
225
- tabsIds: e.name
226
- }), ne = (t) => {
296
+ tabsIds: e.name,
297
+ collapsedSize: c ? u : oe
298
+ }), Y = (t) => {
227
299
  const r = new Map(t);
228
- S(r);
229
- }, ae = (t) => {
300
+ ne(r);
301
+ }, J = (t) => {
230
302
  const r = new Map(t);
231
- U(r);
232
- }, q = () => {
233
- const t = u ? b : 0;
234
- x.cache.tabOpts.get().forEach((r, l) => {
235
- const i = A.get(l);
236
- if (!i) return;
237
- const f = Se(r.nodDims, t);
238
- Y(i, f), i.style.display = r.nodOpen && f.h > 0 ? "block" : "none";
303
+ ae(r);
304
+ }, b = () => {
305
+ const t = c ? u : 0;
306
+ w.cache.tabOpts.get().forEach((r, d) => {
307
+ const l = re.get(d);
308
+ if (!l) return;
309
+ const g = qe(r.nodDims, t);
310
+ ve(l, g);
311
+ const we = r.nodOpen && !r.nodFold && !r.nodHidden && g.h > 0;
312
+ l.style.display = we ? "block" : "none";
239
313
  });
240
- }, le = x.cache.nodOpts.onChange(
314
+ }, N = w.cache.nodOpts.onChange(
241
315
  (t) => {
242
- t.forEach((r, l) => {
243
- const i = O.get(l);
244
- i && Y(i, r.nodDims);
245
- const f = z.get(l);
246
- f && u && Y(f, {
247
- ...r.nodDims,
248
- h: b
249
- });
316
+ t.forEach((r, d) => {
317
+ const l = K.get(d);
318
+ l && ve(l, r.nodDims);
319
+ const g = q.get(d);
320
+ g && c && (g.toggleAttribute("data-dx-hidden", !!r.nodHidden), je(
321
+ g,
322
+ De(r, u)
323
+ ));
250
324
  });
251
325
  }
252
- ), de = x.cache.tabOpts.onChange(() => q()), ce = x.cache.bndOpts.onChange(
326
+ ), n = w.cache.tabOpts.onChange(() => b()), m = w.cache.bndOpts.onChange(
253
327
  (t) => {
254
- t.forEach((r, l) => {
255
- const i = M.get(l);
256
- i && Y(i, r.nodDims);
328
+ t.forEach((r, d) => {
329
+ const l = te.get(d);
330
+ l && (ve(l, r.nodDims), l.toggleAttribute("data-dx-hidden", !!r.nodHidden), l.style.pointerEvents = r.nodLocked ? "none" : "");
257
331
  });
258
332
  }
259
- ), ee = $e(
260
- ({ id: t, point: r }) => c.updateSlider(
333
+ ), x = Ue(
334
+ ({ id: t, point: r }) => M.updateSlider(
261
335
  t,
262
336
  r,
263
- C,
264
- K
337
+ B,
338
+ k
265
339
  )
266
- ), oe = (t) => {
267
- const r = n.sliderId;
268
- !n.isSliding || !r || ee.schedule({ id: r, point: { x: t.clientX, y: t.clientY } });
269
- }, X = (t) => {
270
- if (!n.isSliding) return;
271
- ee.flush();
340
+ ), Z = (t) => {
341
+ const r = R.sliderId;
342
+ !R.isSliding || !r || x.schedule({ id: r, point: { x: t.clientX, y: t.clientY } });
343
+ }, P = (t) => {
344
+ if (!R.isSliding) return;
345
+ x.flush();
272
346
  const r = t.currentTarget;
273
- n.isSliding = !1, n.sliderId = void 0, p(!1), g && g(D._root.toJSON()), r.releasePointerCapture(t.pointerId), r.removeEventListener("pointermove", oe), r.removeEventListener("pointerup", X), r.removeEventListener("pointercancel", X);
274
- }, ue = (t) => {
347
+ R.isSliding = !1, R.sliderId = void 0, $(!1), s && s(C._root.toJSON()), r.releasePointerCapture(t.pointerId), r.removeEventListener("pointermove", Z), r.removeEventListener("pointerup", P), r.removeEventListener("pointercancel", P);
348
+ }, E = (t) => {
275
349
  t.preventDefault();
276
350
  const r = t.currentTarget;
277
- n.isSliding = !0, n.sliderId = r.id, p(!0), r.setPointerCapture(t.pointerId), r.addEventListener("pointermove", oe), r.addEventListener("pointerup", X), r.addEventListener("pointercancel", X);
351
+ R.isSliding = !0, R.sliderId = r.id, $(!0), r.setPointerCapture(t.pointerId), r.addEventListener("pointermove", Z), r.addEventListener("pointerup", P), r.addEventListener("pointercancel", P);
278
352
  };
279
- let te = {};
280
- const ge = (t, r, l) => {
281
- if (!w.current || !o || !l)
353
+ let H = {};
354
+ const Me = (t, r, d) => {
355
+ if (!D.current || !i || !d)
282
356
  return null;
283
- const i = Oe(
284
- l.getBoundingClientRect(),
357
+ const l = Ye(
358
+ d.getBoundingClientRect(),
285
359
  t,
286
360
  r
287
361
  );
288
- re(i), o.des = l, o.area = i.area;
289
- }, fe = (t) => {
362
+ ie(l), i.des = d, i.area = l.area;
363
+ }, Ce = (t) => {
290
364
  t.preventDefault(), t.stopPropagation(), t.dataTransfer && (t.dataTransfer.dropEffect = "move");
291
- const r = t.currentTarget, l = Array.from(
292
- r.childNodes
365
+ const r = t.currentTarget;
366
+ if (r.hasAttribute("data-rotated")) {
367
+ if (!D.current || !i) return;
368
+ const g = r.getBoundingClientRect();
369
+ ie({
370
+ area: "contain",
371
+ left: g.left,
372
+ top: g.top,
373
+ width: g.width,
374
+ height: g.height
375
+ }), i.des = r, i.area = "contain";
376
+ return;
377
+ }
378
+ const d = Array.from(
379
+ r.querySelectorAll(
380
+ ':scope > [data-type="tab"]'
381
+ )
293
382
  );
294
- if (!w.current || !o) return;
295
- const i = Ne(
383
+ if (!D.current || !i) return;
384
+ const l = Ke(
296
385
  r.getBoundingClientRect(),
297
- l.map((f) => f.getBoundingClientRect()),
386
+ d.map((g) => g.getBoundingClientRect()),
298
387
  t.clientX,
299
388
  t.clientY
300
389
  );
301
- i && (re(i), o.des = l[i.index], o.area = i.area);
302
- }, me = (t) => {
390
+ l && (ie(l), i.des = d[l.index], i.area = l.area);
391
+ }, ke = (t) => {
303
392
  t.preventDefault(), t.stopPropagation(), t.dataTransfer && (t.dataTransfer.dropEffect = "move");
304
- const r = t.currentTarget, { area: l, uid: i } = r.dataset;
305
- if (!l || !i || !w.current || !o)
393
+ const r = t.currentTarget, { area: d, uid: l } = r.dataset;
394
+ if (!d || !l || !D.current || !i)
306
395
  return;
307
- const f = l;
308
- o.des = r, o.area = f, re(Re(s(), f));
309
- }, re = (t) => {
310
- const r = w.current;
311
- !r || ze(te, t) || (Object.assign(r.style, {
396
+ const g = d;
397
+ i.des = r, i.area = g, ie(Xe(o(), g));
398
+ }, ie = (t) => {
399
+ const r = D.current;
400
+ !r || Ve(H, t) || (Object.assign(r.style, {
312
401
  left: `${t.left}px`,
313
402
  top: `${t.top}px`,
314
403
  width: `${t.width}px`,
315
404
  height: `${t.height}px`,
316
405
  display: "block",
317
406
  zIndex: "100"
318
- }), te = t);
319
- }, he = (t) => {
320
- if (t.stopPropagation(), p(!0), document.body.style.cursor = "move", t.currentTarget) {
407
+ }), H = t);
408
+ };
409
+ let me = null;
410
+ const he = () => {
411
+ Y(w.cache.nodOpts.get()), J(w.cache.bndOpts.get()), b(), s && s(C._root.toJSON());
412
+ }, be = (t) => {
413
+ M.toggleMaximize(t) && he();
414
+ }, ye = (t) => {
415
+ M.toggleCollapse(t) && he();
416
+ }, Re = (t) => {
417
+ const r = t.target.closest("[data-uid]"), d = r?.dataset.uid ? w.cache.mapElem.get(r.dataset.uid) : void 0;
418
+ d instanceof w && (d.type === "tabset" ? me = d.unId : d.type === "tab" && d.host && (me = d.host.unId));
419
+ }, Ne = (t) => {
420
+ const r = t.currentTarget.dataset.uid;
421
+ de && r && be(r);
422
+ }, xe = (t) => {
423
+ if (!U || !t.altKey || t.ctrlKey || t.metaKey) return;
424
+ const r = me ?? M.maximizedId;
425
+ r && (t.code === "Equal" || t.code === "NumpadAdd" ? (t.preventDefault(), be(r)) : (t.code === "Minus" || t.code === "NumpadSubtract") && (t.preventDefault(), ye(r)));
426
+ }, He = (t) => {
427
+ if (t.stopPropagation(), M.restore() && he(), $(!0), document.body.style.cursor = "move", t.currentTarget) {
321
428
  if (t.dataTransfer) {
322
429
  t.dataTransfer.effectAllowed = "move";
323
430
  const r = document.createElement("div");
@@ -325,202 +432,212 @@ const Le = (e) => (() => {
325
432
  r.parentNode && r.parentNode.removeChild(r);
326
433
  }, 0);
327
434
  }
328
- I.forEach((r) => {
435
+ X.forEach((r) => {
329
436
  r && (r.style.display = "block", r.style.zIndex = "99");
330
- }), O.forEach((r) => {
437
+ }), K.forEach((r) => {
331
438
  r && (r.style.display = "block", r.style.zIndex = "95");
332
- }), o.src = t.currentTarget, o.drag = !0;
439
+ }), i.src = t.currentTarget, i.drag = !0;
333
440
  }
334
- }, be = (t) => {
335
- if (t.preventDefault(), t.stopPropagation(), document.body.style.cursor = "move", t.dataTransfer && (t.dataTransfer.dropEffect = "move"), !o?.src)
441
+ }, Ie = (t) => {
442
+ if (t.preventDefault(), t.stopPropagation(), document.body.style.cursor = "move", t.dataTransfer && (t.dataTransfer.dropEffect = "move"), !i?.src)
336
443
  return;
337
- const r = t.currentTarget, l = t.clientX, i = t.clientY;
338
- E && cancelAnimationFrame(E), E = requestAnimationFrame(() => {
339
- ge(l, i, r);
444
+ const r = t.currentTarget, d = t.clientX, l = t.clientY;
445
+ S && cancelAnimationFrame(S), S = requestAnimationFrame(() => {
446
+ Me(d, l, r);
340
447
  });
341
- }, ye = () => {
342
- if (document.body.style.cursor = "default", I.forEach((t) => {
448
+ }, Oe = () => {
449
+ if (document.body.style.cursor = "default", X.forEach((t) => {
343
450
  t && (t.style.display = "none", t.style.zIndex = "-1");
344
- }), E && (cancelAnimationFrame(E), E = null), w.current && (w.current.style.display = "none", w.current.style.zIndex = "-1"), te = {}, o.drag = !1, !o?.src || !o?.des) {
345
- o.area = void 0, o.src = void 0, o.des = void 0, p(!1);
451
+ }), S && (cancelAnimationFrame(S), S = null), D.current && (D.current.style.display = "none", D.current.style.zIndex = "-1"), H = {}, i.drag = !1, !i?.src || !i?.des) {
452
+ i.area = void 0, i.src = void 0, i.des = void 0, $(!1);
346
453
  return;
347
454
  }
348
- if (o.src === o.des) {
349
- o.area = void 0, o.src = void 0, o.des = void 0, p(!1);
455
+ if (i.src === i.des) {
456
+ i.area = void 0, i.src = void 0, i.des = void 0, $(!1);
350
457
  return;
351
458
  }
352
- if (o.src && o.des) {
353
- if (!o.area) {
354
- console.warn("No area specified for drag and drop"), p(!1);
459
+ if (i.src && i.des) {
460
+ if (!i.area) {
461
+ console.warn("No area specified for drag and drop"), $(!1);
355
462
  return;
356
463
  }
357
- if (!c.updateTree(
358
- o.src.dataset.uid,
359
- o.des.dataset.uid,
360
- o.area || "contain"
464
+ if (!M.updateTree(
465
+ i.src.dataset.uid,
466
+ i.des.dataset.uid,
467
+ i.area || "contain"
361
468
  )) {
362
- console.warn("Failed to update layout tree"), p(!1);
469
+ console.warn("Failed to update layout tree"), $(!1);
363
470
  return;
364
471
  }
365
472
  requestAnimationFrame(() => {
366
- ne(x.cache.nodOpts.get()), ae(x.cache.bndOpts.get()), q(), g && g(D._root.toJSON());
473
+ Y(w.cache.nodOpts.get()), J(w.cache.bndOpts.get()), b(), s && s(C._root.toJSON());
367
474
  });
368
475
  }
369
- o.area = void 0, o.src = void 0, o.des = void 0, p(!1);
370
- }, ve = (t) => {
476
+ i.area = void 0, i.src = void 0, i.des = void 0, $(!1);
477
+ }, _e = (t) => {
371
478
  t.preventDefault(), t.stopPropagation(), t.dataTransfer && (t.dataTransfer.dropEffect = "move");
372
- }, pe = (t) => {
479
+ }, Pe = (t) => {
373
480
  t.preventDefault(), t.stopPropagation();
374
- }, xe = (t) => {
481
+ }, Le = (t) => {
375
482
  t.preventDefault(), t.stopPropagation(), t.dataTransfer && t.dataTransfer.getData("text/plain");
376
- }, we = (t) => {
377
- const r = t.currentTarget, l = r.dataset.uid;
378
- if (!l) return;
379
- const i = x.cache.mapElem.get(l);
380
- if (!(i instanceof x)) {
381
- console.warn(`Element with uid ${l} is not a Node instance`);
483
+ }, We = (t) => {
484
+ const r = t.currentTarget, d = r.dataset.uid;
485
+ if (!d) return;
486
+ const l = w.cache.mapElem.get(d);
487
+ if (!(l instanceof w)) {
488
+ console.warn(`Element with uid ${d} is not a Node instance`);
382
489
  return;
383
490
  }
384
- if (!i || !i.host || !i.host.unId) {
385
- console.warn(`Node with uid ${l} not found in mapNode`);
491
+ if (!l || !l.host || !l.host.unId) {
492
+ console.warn(`Node with uid ${d} not found in mapNode`);
386
493
  return;
387
494
  }
388
- if (i.host.open == i.name) {
389
- console.warn(`Node ${i.name} is already open`);
495
+ if (l.host.open == l.name) {
496
+ console.warn(`Node ${l.name} is already open`);
390
497
  return;
391
498
  }
392
- const f = x.cache.nodOpts.get().get(i.host.unId);
393
- if (!f || f.nodOpen && i?.open)
499
+ const g = w.cache.nodOpts.get().get(l.host.unId);
500
+ if (!g || g.nodOpen && l?.open)
394
501
  return;
395
- i.host.open = i.name, f.nodOpen = i.name, f.nodKids?.forEach((N) => {
396
- N.nodOpen = N.nodName === i.name;
397
- }), r?.parentElement?.childNodes?.forEach((N) => {
398
- N instanceof HTMLDivElement && N.dataset.uid !== l ? N.dataset.state = "inactive" : N.dataset.state = "active";
399
- }), q();
502
+ l.host.open = l.name, g.nodOpen = l.name, g.nodKids?.forEach((L) => {
503
+ L.nodOpen = L.nodName === l.name;
504
+ }), r?.parentElement?.childNodes?.forEach((L) => {
505
+ L instanceof HTMLDivElement && L.dataset.uid !== d ? L.dataset.state = "inactive" : L.dataset.state = "active";
506
+ }), b();
400
507
  };
401
- return Pe(() => {
402
- const t = (l) => {
403
- c.updateDimension(
404
- s(),
405
- l,
406
- B
508
+ return $e(() => {
509
+ const t = (d) => {
510
+ M.updateDimension(
511
+ o(),
512
+ d,
513
+ z
407
514
  );
408
515
  };
409
516
  t(!0);
410
- const r = () => t(_ ?? !1);
411
- window.addEventListener("resize", r), ne(x.cache.nodOpts.get()), ae(x.cache.bndOpts.get()), q(), g && g(D._root.toJSON()), Ce(() => {
412
- window.removeEventListener("resize", r), le(), ce(), de(), ee.cancel(), E && cancelAnimationFrame(E);
517
+ const r = () => t(j ?? !1);
518
+ window.addEventListener("resize", r), window.addEventListener("keydown", xe), Y(w.cache.nodOpts.get()), J(w.cache.bndOpts.get()), b(), s && s(C._root.toJSON()), Se(() => {
519
+ window.removeEventListener("resize", r), window.removeEventListener("keydown", xe), N(), m(), n(), x.cancel(), S && cancelAnimationFrame(S);
413
520
  });
414
521
  }), {
415
- tabsets: F,
416
- sliders: Q,
417
- tabsetsRef: z,
418
- panelsRef: O,
419
- tabsRef: A,
420
- slidersRef: M,
421
- layoutJSON: j,
422
- layoutInstance: c,
423
- hoverElementRef: w,
424
- rootSplitHoverEl: I,
425
- dragging: V,
426
- isUpdating: Z,
427
- setIsUpdating: m,
428
- setDragging: p,
429
- setTabsets: S,
430
- setSliders: U,
431
- setLayoutJSON: G,
432
- onDragStart: he,
433
- onDragOver: be,
434
- onDragEnd: ye,
435
- onDragEnter: ve,
436
- onDragLeave: pe,
437
- onDrop: xe,
438
- onPointerDown: ue,
439
- updateActiveTab: we,
440
- handleRootSplit: me,
441
- handleNavbarDragOver: fe
522
+ tabsets: se,
523
+ sliders: ce,
524
+ tabsetsRef: q,
525
+ panelsRef: K,
526
+ tabsRef: re,
527
+ slidersRef: te,
528
+ layoutJSON: V,
529
+ layoutInstance: M,
530
+ hoverElementRef: D,
531
+ rootSplitHoverEl: X,
532
+ dragging: ue,
533
+ isUpdating: ge,
534
+ setIsUpdating: fe,
535
+ setDragging: $,
536
+ setTabsets: ne,
537
+ setSliders: ae,
538
+ setLayoutJSON: F,
539
+ onDragStart: He,
540
+ onDragOver: Ie,
541
+ onDragEnd: Oe,
542
+ onDragEnter: _e,
543
+ onDragLeave: Pe,
544
+ onDrop: Le,
545
+ onPointerDown: E,
546
+ updateActiveTab: We,
547
+ handleRootSplit: ke,
548
+ handleNavbarDragOver: Ce,
549
+ toggleMaximize: be,
550
+ toggleCollapse: ye,
551
+ onRootPointerDown: Re,
552
+ onTabbarDoubleClick: Ne
442
553
  };
443
554
  };
444
- var qe = H("<div>"), Xe = H('<div class="flex items-center justify-center h-full"><span class=text-gray-500>No content');
445
- const Ye = (e) => {
446
- const a = [], h = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map();
447
- for (const [s, b] of e) {
448
- const u = crypto.randomUUID();
449
- a.push(s), h.set(s, {
450
- uqid: u,
451
- name: s,
452
- node: b
453
- }), g.set(s, u);
555
+ var mt = I("<div>"), ht = I('<div class="flex items-center justify-center h-full"><span class=text-gray-500>No content');
556
+ const bt = (e) => {
557
+ const a = [], h = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
558
+ for (const [o, u] of e) {
559
+ const c = crypto.randomUUID();
560
+ a.push(o), h.set(o, {
561
+ uqid: c,
562
+ name: o,
563
+ node: u
564
+ }), s.set(o, c);
454
565
  }
455
566
  return {
456
567
  keys: a,
457
568
  maps: h,
458
- name: g
569
+ name: s
459
570
  };
460
- }, Ve = (e) => {
461
- const a = se(() => Ye(e.tabs));
571
+ }, wt = (e) => {
572
+ const a = ze(() => bt(e.tabs));
462
573
  let h;
463
- const g = () => {
464
- const m = h;
465
- if (!m) return {
574
+ const s = () => {
575
+ const b = h;
576
+ if (!b) return {
466
577
  w: 0,
467
578
  h: 0,
468
579
  x: 0,
469
580
  y: 0
470
581
  };
471
- const o = m.getBoundingClientRect(), n = e.pad || {
582
+ const N = b.getBoundingClientRect(), n = e.pad || {
472
583
  t: 0,
473
584
  b: 0,
474
585
  l: 0,
475
586
  r: 0
476
587
  };
477
588
  return {
478
- w: o.width - (n.l + n.r),
479
- h: o.height - (n.t + n.b),
480
- x: o.left + n.l,
481
- y: o.top + n.t
589
+ w: N.width - (n.l + n.r),
590
+ h: N.height - (n.t + n.b),
591
+ x: N.left + n.l,
592
+ y: N.top + n.t
482
593
  };
483
594
  }, {
484
- tabsetsRef: s,
485
- slidersRef: b,
486
- sliders: u,
487
- tabsets: J,
488
- hoverElementRef: k,
489
- onDragEnd: R,
490
- onDragOver: K,
491
- onDragStart: B,
492
- onDragEnter: C,
493
- onDragLeave: _,
494
- onDrop: z,
495
- dragging: M,
496
- panelsRef: O,
497
- onPointerDown: A,
498
- handleNavbarDragOver: w,
499
- updateActiveTab: I,
500
- rootSplitHoverEl: j,
501
- handleRootSplit: G,
502
- tabsRef: F,
503
- isUpdating: S
504
- } = Ue({
595
+ tabsetsRef: o,
596
+ slidersRef: u,
597
+ sliders: c,
598
+ tabsets: v,
599
+ hoverElementRef: f,
600
+ onDragEnd: T,
601
+ onDragOver: k,
602
+ onDragStart: z,
603
+ onDragEnter: B,
604
+ onDragLeave: j,
605
+ onDrop: U,
606
+ dragging: de,
607
+ panelsRef: q,
608
+ onPointerDown: te,
609
+ handleNavbarDragOver: K,
610
+ updateActiveTab: re,
611
+ rootSplitHoverEl: D,
612
+ handleRootSplit: X,
613
+ tabsRef: V,
614
+ isUpdating: F,
615
+ toggleMaximize: se,
616
+ toggleCollapse: ne,
617
+ onRootPointerDown: ce,
618
+ onTabbarDoubleClick: ae
619
+ } = ft({
505
620
  tabOutput: a(),
506
621
  rootId: e.rootId || "dynamix-layout-root",
507
622
  updateJSON: e.updateJSON,
508
623
  enableTabbar: e.enableTabbar === void 0 ? !0 : e.enableTabbar,
509
624
  layoutTree: e.layoutTree,
510
- tabHeadHeight: e.tabHeadHeight || D._minH,
511
- dimensions: g,
625
+ tabHeadHeight: e.tabHeadHeight || C._minH,
626
+ dimensions: s,
512
627
  sliderUpdateTimeout: e.sliderUpdateTimeout || 2,
513
628
  windowResizeTimeout: e.windowResizeTimeout || 2,
514
- bondWidth: e.bondWidth || D._bond,
515
- minTabHeight: e.minTabHeight || D._minH,
516
- minTabWidth: e.minTabWidth || D._minW,
629
+ bondWidth: e.bondWidth || C._bond,
630
+ minTabHeight: e.minTabHeight || C._minH,
631
+ minTabWidth: e.minTabWidth || C._minW,
517
632
  disableSliderTimeout: e.disableSliderTimeout === void 0 ? !0 : e.disableSliderTimeout,
518
633
  disableResizeTimeout: e.disableResizeTimeout === void 0 ? !0 : e.disableResizeTimeout,
519
- hoverElementStyles: e.hoverElementStyles
520
- }), Q = e.WrapTabPanel || Me, U = e.WrapTabHead || Be, V = e.WrapTabLabel || Le, p = e.WrapTabBody || ke, E = e.SliderElement || je, Z = e.HoverElement || Ae;
634
+ hoverElementStyles: e.hoverElementStyles,
635
+ keyboardShortcuts: e.keyboardShortcuts ?? !0,
636
+ enableDoubleClickMaximize: e.enableDoubleClickMaximize ?? !0
637
+ }), ue = e.WrapTabPanel || ot, $ = e.WrapTabHead || at, S = e.WrapTabLabel || rt, ge = e.WrapTabBody || nt, fe = e.SliderElement || lt, i = e.HoverElement || it, R = e.TabsetToolbar || gt, oe = e.tabHeadHeight || C._minH, M = e.enableTabbar ?? !0, Y = e.enableMaximize ?? !0, J = (e.enableCollapse ?? !0) && M;
521
638
  return (() => {
522
- var m = qe(), o = h;
523
- return typeof o == "function" ? Te(o, m) : h = m, T(m, $({
639
+ var b = mt(), N = h;
640
+ return typeof N == "function" ? Ee(N, b) : h = b, O(b, _({
524
641
  get id() {
525
642
  return e.rootId || "dynamix-layout-root";
526
643
  }
@@ -529,8 +646,9 @@ const Ye = (e) => {
529
646
  return e.rootId || "dynamix-layout-root";
530
647
  },
531
648
  get class() {
532
- return M() ? "is-dragging" : "";
649
+ return de() ? "is-dragging" : "";
533
650
  },
651
+ onPointerDown: ce,
534
652
  get style() {
535
653
  return {
536
654
  position: "relative",
@@ -540,118 +658,159 @@ const Ye = (e) => {
540
658
  ...e.style
541
659
  };
542
660
  }
543
- }), !1, !0), y(m, v(L, {
661
+ }), !1, !0), y(b, p(Q, {
544
662
  get each() {
545
- return Array.from(J().values());
663
+ return Array.from(v().values());
546
664
  },
547
- children: (n) => [v(Q, {
548
- ref: (d) => {
549
- const c = n.uidNode;
550
- d ? O.set(c, d) : O.delete(c);
551
- },
552
- onDragEnd: R,
553
- onDragOver: K,
554
- onDragEnter: C,
555
- onDragLeave: _,
556
- onDrop: z,
557
- get "data-uid"() {
558
- return n.uidNode;
559
- },
560
- get "data-type"() {
561
- return n.typNode;
562
- },
563
- get class() {
564
- return "hide-scrollbar DefaultWrapTabPanel " + (e.tabPanelElementClass || "");
565
- },
566
- get style() {
567
- return {
568
- position: "absolute",
569
- ...e.tabPanelElementStyles,
570
- width: `${n.nodDims.w}px`,
571
- height: `${n.nodDims.h}px`,
572
- left: `${n.nodDims.x}px`,
573
- top: `${n.nodDims.y}px`,
574
- "background-color": "transparent"
575
- };
576
- }
577
- }), v(U, {
578
- get draggable() {
579
- return !S();
580
- },
581
- get "data-uid"() {
582
- return n.uidNode;
583
- },
584
- "data-type": "tabset",
585
- onDragOver: w,
586
- onDragStart: B,
587
- onDragEnd: R,
588
- onDragEnter: C,
589
- onDragLeave: _,
590
- onDrop: z,
591
- ref: (d) => {
592
- const c = n.uidNode;
593
- d ? s.set(c, d) : s.delete(c);
594
- },
595
- get class() {
596
- return "hide-scrollbar " + (e.tabHeadElementClass || "");
597
- },
598
- get style() {
599
- return {
600
- ...e.tabHeadElementStyles,
601
- position: "absolute",
602
- "z-index": 99,
603
- width: `${n.nodDims.w}px`,
604
- height: `${e.tabHeadHeight || D._minH}px`,
605
- left: `${n.nodDims.x}px`,
606
- top: `${n.nodDims.y}px`,
607
- cursor: S() ? "wait" : "pointer"
608
- };
609
- },
610
- get children() {
611
- return v(L, {
612
- get each() {
613
- return n.nodKids;
614
- },
615
- children: (d) => v(V, {
616
- get "data-uid"() {
617
- return d.uidNode;
665
+ children: (n) => {
666
+ const m = De(n, oe), x = Y && !!n.nodMaximizable, Z = J && !!n.nodFoldable && !n.nodMaxd, P = x || Z;
667
+ return [p(ue, {
668
+ ref: (E) => {
669
+ const H = n.uidNode;
670
+ E ? q.set(H, E) : q.delete(H);
671
+ },
672
+ onDragEnd: T,
673
+ onDragOver: k,
674
+ onDragEnter: B,
675
+ onDragLeave: j,
676
+ onDrop: U,
677
+ get "data-uid"() {
678
+ return n.uidNode;
679
+ },
680
+ get "data-type"() {
681
+ return n.typNode;
682
+ },
683
+ get class() {
684
+ return "hide-scrollbar DefaultWrapTabPanel " + (e.tabPanelElementClass || "");
685
+ },
686
+ get style() {
687
+ return {
688
+ position: "absolute",
689
+ ...e.tabPanelElementStyles,
690
+ width: `${n.nodDims.w}px`,
691
+ height: `${n.nodDims.h}px`,
692
+ left: `${n.nodDims.x}px`,
693
+ top: `${n.nodDims.y}px`,
694
+ "background-color": "transparent"
695
+ };
696
+ }
697
+ }), p($, {
698
+ get draggable() {
699
+ return !F();
700
+ },
701
+ get "data-uid"() {
702
+ return n.uidNode;
703
+ },
704
+ "data-type": "tabset",
705
+ "data-tabbar": "",
706
+ get "data-folded"() {
707
+ return n.nodFold ? "" : void 0;
708
+ },
709
+ get "data-maximized"() {
710
+ return n.nodMaxd ? "" : void 0;
711
+ },
712
+ get "data-dx-hidden"() {
713
+ return n.nodHidden ? "" : void 0;
714
+ },
715
+ get "data-rotated"() {
716
+ return m.rotated ? "" : void 0;
717
+ },
718
+ onDblClick: ae,
719
+ onDragOver: K,
720
+ onDragStart: z,
721
+ onDragEnd: T,
722
+ onDragEnter: B,
723
+ onDragLeave: j,
724
+ onDrop: U,
725
+ ref: (E) => {
726
+ const H = n.uidNode;
727
+ E ? o.set(H, E) : o.delete(H);
728
+ },
729
+ get class() {
730
+ return "hide-scrollbar " + (e.tabHeadElementClass || "");
731
+ },
732
+ get style() {
733
+ return {
734
+ ...e.tabHeadElementStyles,
735
+ position: "absolute",
736
+ "z-index": 99,
737
+ width: `${m.rect.w}px`,
738
+ height: `${m.rect.h}px`,
739
+ left: `${m.rect.x}px`,
740
+ top: `${m.rect.y}px`,
741
+ "transform-origin": "0 0",
742
+ ...m.rotated ? {
743
+ transform: "rotate(90deg)"
744
+ } : {},
745
+ ...P ? {
746
+ "padding-right": "64px"
747
+ } : {},
748
+ cursor: F() ? "wait" : "pointer"
749
+ };
750
+ },
751
+ get children() {
752
+ return [p(Q, {
753
+ get each() {
754
+ return n.nodKids;
618
755
  },
619
- "data-type": "tab",
620
- onDragStart: B,
621
- onDragEnd: R,
622
- get draggable() {
623
- return !S();
756
+ children: (E) => p(S, {
757
+ get "data-uid"() {
758
+ return E.uidNode;
759
+ },
760
+ "data-type": "tab",
761
+ onDragStart: z,
762
+ onDragEnd: T,
763
+ get draggable() {
764
+ return !F();
765
+ },
766
+ get active() {
767
+ return !!E.nodOpen;
768
+ },
769
+ get class() {
770
+ return "hide-scrollbar " + (e.tabLabelElementClass || "");
771
+ },
772
+ get style() {
773
+ return {
774
+ cursor: F() ? "wait" : "pointer",
775
+ ...e.tabLabelElementStyles
776
+ };
777
+ },
778
+ onClick: re,
779
+ get children() {
780
+ return ee(() => !!e.tabNames)() && e.tabNames.get(E.nodName) || E.nodName;
781
+ }
782
+ })
783
+ }), ee(() => P && p(R, {
784
+ get maximized() {
785
+ return !!n.nodMaxd;
624
786
  },
625
- get active() {
626
- return !!d.nodOpen;
787
+ get folded() {
788
+ return !!n.nodFold;
627
789
  },
628
- get class() {
629
- return "hide-scrollbar " + (e.tabLabelElementClass || "");
790
+ get rotated() {
791
+ return m.rotated;
630
792
  },
631
- get style() {
632
- return {
633
- cursor: S() ? "wait" : "pointer",
634
- ...e.tabLabelElementStyles
635
- };
793
+ get rowIsHorizontal() {
794
+ return n.nodeDir === !1;
636
795
  },
637
- onClick: I,
638
- get children() {
639
- return ie(() => !!e.tabNames)() && e.tabNames.get(d.nodName) || d.nodName;
640
- }
641
- })
642
- });
643
- }
644
- })]
645
- }), null), y(m, v(L, {
796
+ showMaximize: x,
797
+ showFold: Z,
798
+ onToggleMaximize: () => se(n.uidNode),
799
+ onToggleFold: () => ne(n.uidNode)
800
+ }))];
801
+ }
802
+ })];
803
+ }
804
+ }), null), y(b, p(Q, {
646
805
  get each() {
647
806
  return a().keys;
648
807
  },
649
808
  children: (n) => {
650
- const d = a().maps.get(n)?.uqid;
651
- return v(p, {
652
- id: d,
809
+ const m = a().maps.get(n)?.uqid;
810
+ return p(ge, {
811
+ id: m,
653
812
  draggable: !1,
654
- "data-uid": d,
813
+ "data-uid": m,
655
814
  get class() {
656
815
  return "hide-scrollbar " + (e.tabBodyElementClass || "");
657
816
  },
@@ -663,35 +822,38 @@ const Ye = (e) => {
663
822
  ...e.tabBodyElementStyles
664
823
  };
665
824
  },
666
- ref: (c) => {
667
- d && (c ? F.set(d, c) : F.delete(d));
825
+ ref: (x) => {
826
+ m && (x ? V.set(m, x) : V.delete(m));
668
827
  },
669
828
  get children() {
670
- return a().maps.get(n)?.node || Xe();
829
+ return a().maps.get(n)?.node || ht();
671
830
  }
672
831
  });
673
832
  }
674
- }), null), y(m, v(L, {
833
+ }), null), y(b, p(Q, {
675
834
  get each() {
676
- return Array.from(u().values());
835
+ return Array.from(c().values());
677
836
  },
678
- children: (n) => v(E, {
837
+ children: (n) => p(fe, {
679
838
  get id() {
680
839
  return n.uidNode;
681
840
  },
682
841
  get "data-uid"() {
683
842
  return n.uidNode;
684
843
  },
844
+ get "data-dx-hidden"() {
845
+ return n.nodHidden ? "" : void 0;
846
+ },
685
847
  get direction() {
686
848
  return n.nodeDir;
687
849
  },
688
- onPointerDown: A,
850
+ onPointerDown: te,
689
851
  get class() {
690
852
  return "hide-scrollbar " + (e.sliderElementClass || "");
691
853
  },
692
- ref: (d) => {
693
- const c = n.uidNode;
694
- d ? b.set(c, d) : b.delete(c);
854
+ ref: (m) => {
855
+ const x = n.uidNode;
856
+ m ? u.set(x, m) : u.delete(x);
695
857
  },
696
858
  get style() {
697
859
  return {
@@ -700,11 +862,14 @@ const Ye = (e) => {
700
862
  left: `${n.nodDims.x}px`,
701
863
  top: `${n.nodDims.y}px`,
702
864
  cursor: n.nodeDir ? "ns-resize" : "ew-resize",
865
+ ...n.nodLocked ? {
866
+ "pointer-events": "none"
867
+ } : {},
703
868
  ...e.sliderElementStyles
704
869
  };
705
870
  }
706
871
  })
707
- }), null), y(m, v(Z, {
872
+ }), null), y(b, p(i, {
708
873
  get class() {
709
874
  return "hide-scrollbar " + (e.hoverElementClass || "");
710
875
  },
@@ -713,15 +878,15 @@ const Ye = (e) => {
713
878
  ...e.hoverElementStyles
714
879
  };
715
880
  },
716
- ref: (n) => k.current = n
717
- }), null), y(m, v(L, {
881
+ ref: (n) => f.current = n
882
+ }), null), y(b, p(Q, {
718
883
  each: ["left", "right", "top", "bottom"],
719
- children: (n, d) => v(Fe, {
720
- onDragOver: G,
721
- onDragEnd: R,
722
- onDragEnter: C,
723
- onDragLeave: _,
724
- onDrop: z,
884
+ children: (n, m) => p(dt, {
885
+ onDragOver: X,
886
+ onDragEnd: T,
887
+ onDragEnter: B,
888
+ onDragLeave: j,
889
+ onDrop: U,
725
890
  get "data-uid"() {
726
891
  return e.rootId || "dynamix-layout-root";
727
892
  },
@@ -729,8 +894,8 @@ const Ye = (e) => {
729
894
  get class() {
730
895
  return "hide-scrollbar " + (e.RootSplitterHoverElClass || "");
731
896
  },
732
- ref: (c) => {
733
- c && (j[d()] = c);
897
+ ref: (x) => {
898
+ x && (D[m()] = x);
734
899
  },
735
900
  get style() {
736
901
  return {
@@ -743,18 +908,19 @@ const Ye = (e) => {
743
908
  w: "8px"
744
909
  }
745
910
  })
746
- }), null), m;
911
+ }), null), b;
747
912
  })();
748
913
  };
749
914
  export {
750
- Ae as DefaultHoverElement,
751
- je as DefaultSliderElement,
752
- ke as DefaultWrapTabBody,
753
- Be as DefaultWrapTabHead,
754
- Le as DefaultWrapTabLabel,
755
- Me as DefaultWrapTabPanel,
756
- Ve as DynamixLayout,
757
- Fe as RootSplitterHoverEl,
758
- Ye as getTabOutput,
759
- Ue as useDynamixLayout
915
+ it as DefaultHoverElement,
916
+ lt as DefaultSliderElement,
917
+ gt as DefaultTabsetToolbar,
918
+ nt as DefaultWrapTabBody,
919
+ at as DefaultWrapTabHead,
920
+ rt as DefaultWrapTabLabel,
921
+ ot as DefaultWrapTabPanel,
922
+ wt as DynamixLayout,
923
+ dt as RootSplitterHoverEl,
924
+ bt as getTabOutput,
925
+ ft as useDynamixLayout
760
926
  };