@mtngtools/frame-vue 0.0.10-experimental.0 → 0.0.11-experimental.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.
@@ -1,5 +1,5 @@
1
- import { t as useSimpleLoggedIn } from "./useSimpleLoggedIn-Bz5zqTrQ.js";
2
- import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, vShow, watch, withCtx, withDirectives } from "vue";
1
+ import { t as useSimpleLoggedIn } from "./useSimpleLoggedIn-CSv5Xy3J.js";
2
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, vShow, watch, withCtx, withDirectives } from "vue";
3
3
  var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ */ defineComponent({
4
4
  __name: "SidePanelControlButton",
5
5
  props: {
@@ -155,7 +155,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
155
155
  },
156
156
  emits: ["setSidePanelMode", "closeSidePanel"],
157
157
  setup(e, { emit: s }) {
158
- let c = e, l = s, u = useSlots(), d = computed(() => c.sidePanelModeResolved !== "none"), p = computed(() => c.sidePanelModeResolved === "minimized"), m = computed(() => !!u.default), ee = computed(() => !!u.controls), h = computed(() => !p.value);
158
+ let c = e, l = s, u = useSlots(), d = computed(() => c.sidePanelModeResolved !== "none"), p = computed(() => c.sidePanelModeResolved === "minimized"), m = computed(() => !!u.default), h = computed(() => !!u.controls), g = computed(() => !p.value);
159
159
  return (n, s) => d.value ? (openBlock(), createElementBlock("header", _hoisted_1$2, [createElementVNode("div", { style: normalizeStyle({
160
160
  display: "flex",
161
161
  flex: p.value && !m.value ? "1 1 auto" : "0 1 auto",
@@ -184,7 +184,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
184
184
  textTransform: "uppercase"
185
185
  },
186
186
  onClick: s[0] ||= (e) => l("setSidePanelMode", "auto")
187
- }, toDisplayString(e.title), 1)) : e.showTitleLabel ? (openBlock(), createElementBlock("h2", _hoisted_2$1, toDisplayString(e.title) + ": ", 1)) : createCommentVNode("", !0)], 64))], 4), ee.value || h.value ? (openBlock(), createElementBlock("div", _hoisted_3$1, [renderSlot(n.$slots, "controls", {}, () => [h.value ? (openBlock(), createBlock(SidePanelButtonGroup_default, {
187
+ }, toDisplayString(e.title), 1)) : e.showTitleLabel ? (openBlock(), createElementBlock("h2", _hoisted_2$1, toDisplayString(e.title) + ": ", 1)) : createCommentVNode("", !0)], 64))], 4), h.value || g.value ? (openBlock(), createElementBlock("div", _hoisted_3$1, [renderSlot(n.$slots, "controls", {}, () => [g.value ? (openBlock(), createBlock(SidePanelButtonGroup_default, {
188
188
  key: 0,
189
189
  "side-panel-mode": e.sidePanelMode,
190
190
  "side-panel-mode-resolved": e.sidePanelModeResolved,
@@ -276,24 +276,24 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
276
276
  height: "100%",
277
277
  width: "100%"
278
278
  };
279
- }), ee = computed(() => (r.sidePanelModeResolved === "full" && r.overlayOnly, {
279
+ }), h = computed(() => (r.sidePanelModeResolved === "full" && r.overlayOnly, {
280
280
  maxWidth: "100%",
281
281
  maxHeight: "100%",
282
282
  minHeight: 0,
283
283
  minWidth: 0,
284
284
  overflow: "hidden"
285
- })), h = computed(() => ({
285
+ })), g = computed(() => ({
286
286
  display: "grid",
287
287
  gridTemplateColumns: "1fr",
288
288
  gridTemplateRows: u.value ? "1.8rem" : "1.8rem minmax(0, 1fr)"
289
- })), te = computed(() => r.overlayOnly ? "border-neutral-700 bg-black/95" : "");
289
+ })), _ = computed(() => r.overlayOnly ? "border-neutral-700 bg-black/95" : "");
290
290
  return (t, n) => l.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [createElementVNode("div", { style: normalizeStyle(p.value) }, [createElementVNode("section", {
291
291
  "data-test": "side-panel-frame-shell",
292
- class: normalizeClass(te.value),
292
+ class: normalizeClass(_.value),
293
293
  style: normalizeStyle([
294
- ee.value,
294
+ h.value,
295
295
  m.value,
296
- h.value
296
+ g.value
297
297
  ])
298
298
  }, [createElementVNode("div", _hoisted_2, [createVNode(SidePanelHeader_default, {
299
299
  "show-title-label": e.showTitleLabel,
@@ -350,35 +350,35 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
350
350
  "defaultSlotResize"
351
351
  ],
352
352
  setup(e, { emit: t }) {
353
- let l = e, d = t, h = useSlots(), g = ref(null), _ = ref(null), v = ref(null), y = ref(0), b = ref(0), x = ref(0), S = ref(0), C = ref(0);
354
- function ne() {
355
- let e = v.value;
353
+ let l = e, d = t, h = useSlots(), _ = ref(null), v = ref(null), y = ref(null), b = ref(0), x = ref(0), S = ref(0), C = ref(0), w = ref(0);
354
+ function ee() {
355
+ let e = y.value;
356
356
  if (!e) return;
357
- let t = Array.from(e.children), n = `${C.value}px`;
357
+ let t = Array.from(e.children), n = `${w.value}px`;
358
358
  t.forEach((e) => {
359
359
  e.style.height !== n && (e.style.height = n);
360
360
  });
361
361
  }
362
- let w = ref("none"), T = ref("none"), E = ref([]), D = ref("none"), O = ref(!0), k = ref(!1), re = {
362
+ let T = ref("none"), E = ref("none"), D = ref([]), O = ref("none"), k = ref(!0), A = ref(!1), te = {
363
363
  sm: 640,
364
364
  md: 768,
365
365
  lg: 1024,
366
366
  xl: 1280,
367
367
  "2xl": 1536
368
- }, A = computed(() => !!h.sidePanelContent), j = computed(() => !!h.header), M = computed(() => E.value.filter((e) => e !== "auto")), N = computed(() => Math.max(0, b.value - x.value)), P = computed(() => y.value < G(l.controlsOverlayOnly)), ie = computed(() => y.value === 0 ? !1 : N.value / y.value > 1.1), ae = computed(() => T.value === "right" && D.value === "wide-right" ? l.sidePanelMaxRightWide : l.sidePanelMaxRight), oe = computed(() => ye(l.mainContentAspectRatio, 16 / 9)), se = computed(() => S.value > 0 ? S.value : Math.max(1, y.value)), ce = computed(() => se.value / oe.value + 20), le = computed(() => Math.max(1, y.value) / oe.value), ue = computed(() => K(l.sidePanelMinBottom, y.value, b.value)), de = computed(() => {
369
- let e = le.value + ue.value;
370
- return N.value >= e;
371
- }), fe = computed(() => Math.max(0, N.value - ce.value)), pe = computed(() => {
372
- if (T.value !== "bottom") return l.sidePanelMinBottom;
373
- let e = K(l.sidePanelMinBottom, y.value, b.value), t = Math.min(e, F.value);
368
+ }, j = computed(() => !!h.sidePanelContent), M = computed(() => !!h.header), N = computed(() => D.value.filter((e) => e !== "auto")), P = computed(() => Math.max(0, x.value - S.value)), F = computed(() => b.value < q(l.controlsOverlayOnly)), I = computed(() => b.value === 0 ? !1 : P.value / b.value > 1.1), ne = computed(() => E.value === "right" && O.value === "wide-right" ? l.sidePanelMaxRightWide : l.sidePanelMaxRight), re = computed(() => ge(l.mainContentAspectRatio, 16 / 9)), ie = computed(() => C.value > 0 ? C.value : Math.max(1, b.value)), ae = computed(() => ie.value / re.value + 20), oe = computed(() => Math.max(1, b.value) / re.value), se = computed(() => J(l.sidePanelMinBottom, b.value, x.value)), ce = computed(() => {
369
+ let e = oe.value + se.value;
370
+ return P.value >= e;
371
+ }), le = computed(() => Math.max(0, P.value - ae.value)), ue = computed(() => {
372
+ if (E.value !== "bottom") return l.sidePanelMinBottom;
373
+ let e = J(l.sidePanelMinBottom, b.value, x.value), t = Math.min(e, L.value);
374
374
  return `${Math.max(0, Math.floor(t))}px`;
375
- }), F = computed(() => {
376
- let e = K(T.value === "bottom" && D.value === "tall-bottom" ? l.sidePanelMaxBottomTall : l.sidePanelMaxBottom, y.value, b.value);
377
- return Math.max(0, Math.min(e, fe.value));
378
- }), I = computed(() => T.value === "bottom" ? `${Math.max(0, Math.floor(F.value))}px` : l.sidePanelMaxBottom), me = computed(() => T.value === "right" || T.value === "bottom" ? {} : T.value === "full" && !P.value ? {
375
+ }), L = computed(() => {
376
+ let e = J(E.value === "bottom" && O.value === "tall-bottom" ? l.sidePanelMaxBottomTall : l.sidePanelMaxBottom, b.value, x.value);
377
+ return Math.max(0, Math.min(e, le.value));
378
+ }), R = computed(() => E.value === "bottom" ? `${Math.max(0, Math.floor(L.value))}px` : l.sidePanelMaxBottom), de = computed(() => E.value === "right" || E.value === "bottom" ? {} : E.value === "full" && !F.value ? {
379
379
  opacity: 0,
380
380
  pointerEvents: "none"
381
- } : {}), L = computed(() => !A.value || P.value || T.value === "none" || T.value === "minimized" || T.value === "right" || T.value === "bottom" ? null : {
381
+ } : {}), z = computed(() => !j.value || F.value || E.value === "none" || E.value === "minimized" || E.value === "right" || E.value === "bottom" ? null : {
382
382
  position: "absolute",
383
383
  top: 0,
384
384
  right: 0,
@@ -386,16 +386,16 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
386
386
  left: 0,
387
387
  zIndex: 10,
388
388
  pointerEvents: "none"
389
- }), R = computed(() => !A.value || T.value === "none" || T.value === "full" ? { gridTemplate: "1fr / 1fr" } : T.value === "right" ? {
389
+ }), B = computed(() => !j.value || E.value === "none" || E.value === "full" ? { gridTemplate: "1fr / 1fr" } : E.value === "right" ? {
390
390
  gridTemplateRows: "1fr",
391
- gridTemplateColumns: `minmax(0, 1fr) max(${l.sidePanelMinRight}, ${ae.value})`
392
- } : T.value === "bottom" ? {
393
- gridTemplateRows: `minmax(0, 1fr) ${I.value}`,
391
+ gridTemplateColumns: `minmax(0, 1fr) max(${l.sidePanelMinRight}, ${ne.value})`
392
+ } : E.value === "bottom" ? {
393
+ gridTemplateRows: `minmax(0, 1fr) ${R.value}`,
394
394
  gridTemplateColumns: "1fr"
395
- } : T.value === "minimized" ? {
395
+ } : E.value === "minimized" ? {
396
396
  gridTemplateRows: "1fr 34px",
397
397
  gridTemplateColumns: "1fr"
398
- } : { gridTemplate: "1fr / 1fr" }), he = computed(() => {
398
+ } : { gridTemplate: "1fr / 1fr" }), fe = computed(() => {
399
399
  let e = {
400
400
  minWidth: 0,
401
401
  minHeight: 0,
@@ -404,13 +404,13 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
404
404
  placeSelf: "stretch",
405
405
  zIndex: 20
406
406
  };
407
- if (A.value) {
408
- if (T.value === "right") return {
407
+ if (j.value) {
408
+ if (E.value === "right") return {
409
409
  ...e,
410
410
  gridColumn: "2 / 3",
411
411
  gridRow: "1 / 2"
412
412
  };
413
- if (T.value === "full") return {
413
+ if (E.value === "full") return {
414
414
  ...e,
415
415
  gridColumn: "1 / 2",
416
416
  gridRow: "1 / 2"
@@ -421,7 +421,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
421
421
  gridColumn: "1 / 2",
422
422
  gridRow: "2 / 3"
423
423
  };
424
- }), ge = computed(() => {
424
+ }), pe = computed(() => {
425
425
  let e = {
426
426
  position: "fixed",
427
427
  top: 0,
@@ -430,7 +430,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
430
430
  left: 0,
431
431
  overflow: "hidden"
432
432
  };
433
- return j.value ? {
433
+ return M.value ? {
434
434
  ...e,
435
435
  display: "grid",
436
436
  gridTemplateRows: "auto 1fr"
@@ -438,11 +438,11 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
438
438
  ...e,
439
439
  display: "block"
440
440
  };
441
- }), _e = computed(() => j.value ? {
441
+ }), me = computed(() => M.value ? {
442
442
  position: "relative",
443
443
  zIndex: 0,
444
444
  display: "grid",
445
- ...R.value,
445
+ ...B.value,
446
446
  gridRow: "2 / 3",
447
447
  minWidth: 0,
448
448
  minHeight: 0,
@@ -451,7 +451,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
451
451
  position: "absolute",
452
452
  zIndex: 0,
453
453
  display: "grid",
454
- ...R.value,
454
+ ...B.value,
455
455
  minWidth: 0,
456
456
  minHeight: 0,
457
457
  overflow: "hidden",
@@ -459,9 +459,9 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
459
459
  right: "0",
460
460
  bottom: "0",
461
461
  left: "0"
462
- }), ve = computed(() => !P.value || O.value), z = null, B, V, H = null, U = "", W = !1;
463
- function G(e) {
464
- let t = re[e];
462
+ }), he = computed(() => !F.value || k.value), V = null, H, U, W = null, G = "", K = !1;
463
+ function q(e) {
464
+ let t = te[e];
465
465
  if (t !== void 0) return t;
466
466
  if (e.endsWith("px")) {
467
467
  let t = Number.parseFloat(e);
@@ -470,7 +470,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
470
470
  let n = Number.parseFloat(e);
471
471
  return Number.isFinite(n) ? n : 0;
472
472
  }
473
- function ye(e, t) {
473
+ function ge(e, t) {
474
474
  if (typeof e == "number") return Number.isFinite(e) && e > 0 ? e : t;
475
475
  let n = String(e).trim();
476
476
  if (n.includes("/")) {
@@ -480,7 +480,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
480
480
  let r = Number.parseFloat(n);
481
481
  return Number.isFinite(r) && r > 0 ? r : t;
482
482
  }
483
- function K(e, t, n) {
483
+ function J(e, t, n) {
484
484
  let r = e.trim();
485
485
  if (r.endsWith("px")) {
486
486
  let e = Number.parseFloat(r);
@@ -497,9 +497,9 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
497
497
  let i = Number.parseFloat(r);
498
498
  return Number.isFinite(i) ? i : 0;
499
499
  }
500
- function be() {
501
- let e = Math.max(1, y.value), t = Math.max(1, N.value), n = e / t, r = e / t, i = G(l.sidePanelBreakpoint), a = de.value;
502
- return n < l.autoBottomAspectRatioBreakpoint && a ? (D.value = "tall-bottom", {
500
+ function _e() {
501
+ let e = Math.max(1, b.value), t = Math.max(1, P.value), n = e / t, r = e / t, i = q(l.sidePanelBreakpoint), a = ce.value;
502
+ return n < l.autoBottomAspectRatioBreakpoint && a ? (O.value = "tall-bottom", {
503
503
  states: [
504
504
  "auto",
505
505
  "full",
@@ -507,7 +507,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
507
507
  "minimized"
508
508
  ],
509
509
  resolved: "bottom"
510
- }) : r > l.autoRightAspectRatioBreakpoint ? (D.value = "wide-right", {
510
+ }) : r > l.autoRightAspectRatioBreakpoint ? (O.value = "wide-right", {
511
511
  states: [
512
512
  "auto",
513
513
  "full",
@@ -515,7 +515,7 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
515
515
  "minimized"
516
516
  ],
517
517
  resolved: "right"
518
- }) : (D.value = "mixed", e >= i ? {
518
+ }) : (O.value = "mixed", e >= i ? {
519
519
  states: a ? [
520
520
  "auto",
521
521
  "full",
@@ -538,74 +538,74 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
538
538
  resolved: "full"
539
539
  });
540
540
  }
541
- function xe(e, t, n) {
542
- e === t || t === "none" || !A.value || d("sidePanelTransition", {
541
+ function ve(e, t, n) {
542
+ e === t || t === "none" || !j.value || d("sidePanelTransition", {
543
543
  from: e,
544
544
  to: t,
545
545
  reason: n
546
546
  });
547
547
  }
548
- function q(e = !1) {
548
+ function Y(e = !1) {
549
549
  let t = {
550
- availableStates: A.value ? [...M.value] : [],
551
- sidePanelMode: A.value ? w.value : "none",
552
- sidePanelModeResolved: A.value ? T.value : "none",
553
- overlayOnly: P.value
550
+ availableStates: j.value ? [...N.value] : [],
551
+ sidePanelMode: j.value ? T.value : "none",
552
+ sidePanelModeResolved: j.value ? E.value : "none",
553
+ overlayOnly: F.value
554
554
  };
555
- if (!A.value) {
556
- if (W) return;
557
- W = !0, d("sidePanelAvailableStates", t);
555
+ if (!j.value) {
556
+ if (K) return;
557
+ K = !0, d("sidePanelAvailableStates", t);
558
558
  return;
559
559
  }
560
- W = !1;
560
+ K = !1;
561
561
  let n = JSON.stringify(t);
562
- !e && n === U || (U = n, d("sidePanelAvailableStates", t));
562
+ !e && n === G || (G = n, d("sidePanelAvailableStates", t));
563
563
  }
564
- function J(e) {
565
- let t = T.value;
566
- if (!A.value) {
567
- w.value = "none", T.value = "none", E.value = [], q();
564
+ function ye(e) {
565
+ let t = E.value;
566
+ if (!j.value) {
567
+ T.value = "none", E.value = "none", D.value = [], Y();
568
568
  return;
569
569
  }
570
- let n = be();
571
- E.value = n.states;
572
- let r = w.value === "none" ? "auto" : w.value;
573
- r !== "auto" && !E.value.includes(r) ? (w.value = "auto", d("update:sidePanelPosition", "auto")) : w.value = r, T.value = w.value === "auto" ? n.resolved : w.value, xe(t, T.value, e), q(k.value === !1);
570
+ let n = _e();
571
+ D.value = n.states;
572
+ let r = T.value === "none" ? "auto" : T.value;
573
+ r !== "auto" && !D.value.includes(r) ? (T.value = "auto", d("update:sidePanelPosition", "auto")) : T.value = r, E.value = T.value === "auto" ? n.resolved : T.value, ve(t, E.value, e), Y(A.value === !1);
574
574
  }
575
- function Y(e, t = !1) {
576
- if (B &&= (clearTimeout(B), void 0), t || !k.value) {
577
- J(e);
575
+ function X(e, t = !1) {
576
+ if (H &&= (clearTimeout(H), void 0), t || !A.value) {
577
+ ye(e);
578
578
  return;
579
579
  }
580
- B = setTimeout(() => {
581
- J(e);
580
+ H = setTimeout(() => {
581
+ ye(e);
582
582
  }, l.layoutDebounceMs);
583
583
  }
584
- function Se(e) {
585
- if (!A.value) return;
586
- let t = E.value.includes(e) ? e : "auto";
587
- t !== w.value && (w.value = t, d("update:sidePanelPosition", t)), Y("set-side-panel-mode", !0);
584
+ function be(e) {
585
+ if (!j.value) return;
586
+ let t = D.value.includes(e) ? e : "auto";
587
+ t !== T.value && (T.value = t, d("update:sidePanelPosition", t)), X("set-side-panel-mode", !0);
588
588
  }
589
- function Ce() {
590
- !A.value || !P.value || Se("minimized");
591
- }
592
- function X() {
593
- V &&= (clearTimeout(V), void 0);
589
+ function xe() {
590
+ !j.value || !F.value || be("minimized");
594
591
  }
595
592
  function Z() {
596
- if (X(), !P.value || ie.value || T.value === "none") {
597
- O.value = !0;
593
+ U &&= (clearTimeout(U), void 0);
594
+ }
595
+ function Se() {
596
+ if (Z(), !F.value || I.value || E.value === "none") {
597
+ k.value = !0;
598
598
  return;
599
599
  }
600
- V = setTimeout(() => {
601
- O.value = !1;
600
+ U = setTimeout(() => {
601
+ k.value = !1;
602
602
  }, l.autoHideTimeout);
603
603
  }
604
604
  function Q() {
605
- O.value = !0, Z();
605
+ k.value = !0, Se();
606
606
  }
607
- function we() {
608
- if (!g.value) return;
607
+ function Ce() {
608
+ if (!_.value) return;
609
609
  let e = [
610
610
  "mousemove",
611
611
  "click",
@@ -615,67 +615,67 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
615
615
  ], t = () => {
616
616
  Q();
617
617
  };
618
- for (let n of e) g.value.addEventListener(n, t, { passive: !0 });
619
- H = () => {
620
- if (g.value) for (let n of e) g.value.removeEventListener(n, t);
618
+ for (let n of e) _.value.addEventListener(n, t, { passive: !0 });
619
+ W = () => {
620
+ if (_.value) for (let n of e) _.value.removeEventListener(n, t);
621
621
  };
622
622
  }
623
623
  function $() {
624
- y.value = window.innerWidth, b.value = window.innerHeight, Y("viewport-resize");
624
+ b.value = window.innerWidth, x.value = window.innerHeight, X("viewport-resize");
625
625
  }
626
626
  return watch(() => l.sidePanelPosition, (e) => {
627
- if (!A.value) {
628
- w.value = "none";
627
+ if (!j.value) {
628
+ T.value = "none";
629
629
  return;
630
630
  }
631
- w.value = e, Y("prop-sync");
632
- }, { immediate: !0 }), watch(A, (e) => {
631
+ T.value = e, X("prop-sync");
632
+ }, { immediate: !0 }), watch(j, (e) => {
633
633
  if (!e) {
634
- w.value = "none", T.value = "none", E.value = [], q();
634
+ T.value = "none", E.value = "none", D.value = [], Y();
635
635
  return;
636
636
  }
637
- w.value = l.sidePanelPosition, Y("slot-state-change", !0);
637
+ T.value = l.sidePanelPosition, X("slot-state-change", !0);
638
638
  }, { immediate: !0 }), watch(() => [
639
- P.value,
639
+ F.value,
640
640
  l.autoHideTimeout,
641
- T.value
641
+ E.value
642
642
  ], () => {
643
- if (T.value === "full") {
644
- Z();
643
+ if (E.value === "full") {
644
+ Se();
645
645
  return;
646
646
  }
647
647
  Q();
648
- }), watch(ie, (e, t) => {
648
+ }), watch(I, (e, t) => {
649
649
  if (e) {
650
- O.value = !0, X();
650
+ k.value = !0, Z();
651
651
  return;
652
652
  }
653
653
  t && Q();
654
654
  }), watch(() => [
655
- S.value,
656
655
  C.value,
657
- T.value,
658
- A.value
656
+ w.value,
657
+ E.value,
658
+ j.value
659
659
  ], () => {
660
- !A.value || T.value === "none" || d("defaultSlotResize", {
661
- width: S.value,
662
- height: C.value
660
+ !j.value || E.value === "none" || d("defaultSlotResize", {
661
+ width: C.value,
662
+ height: w.value
663
663
  });
664
664
  }), onMounted(async () => {
665
- k.value = !0, $(), window.addEventListener("resize", $), we(), Q(), await nextTick(), z = new ResizeObserver(() => {
666
- x.value = _.value?.offsetHeight ?? 0, S.value = v.value?.offsetWidth ?? 0, C.value = v.value?.offsetHeight ?? 0, ne(), Y("slot-measure");
667
- }), _.value && z.observe(_.value), v.value && (z.observe(v.value), S.value = v.value.offsetWidth, C.value = v.value.offsetHeight), x.value = _.value?.offsetHeight ?? 0, Y("mounted", !0);
665
+ A.value = !0, $(), window.addEventListener("resize", $), Ce(), Q(), await nextTick(), V = new ResizeObserver(() => {
666
+ S.value = v.value?.offsetHeight ?? 0, C.value = y.value?.offsetWidth ?? 0, w.value = y.value?.offsetHeight ?? 0, ee(), X("slot-measure");
667
+ }), v.value && V.observe(v.value), y.value && (V.observe(y.value), C.value = y.value.offsetWidth, w.value = y.value.offsetHeight), S.value = v.value?.offsetHeight ?? 0, X("mounted", !0);
668
668
  }), onBeforeUnmount(() => {
669
- window.removeEventListener("resize", $), H?.(), H = null, z?.disconnect(), z = null, X(), B &&= (clearTimeout(B), void 0);
669
+ window.removeEventListener("resize", $), W?.(), W = null, V?.disconnect(), V = null, Z(), H &&= (clearTimeout(H), void 0);
670
670
  }), (t, n) => (openBlock(), createElementBlock("section", {
671
671
  ref_key: "rootRef",
672
- ref: g,
672
+ ref: _,
673
673
  class: "bg-black text-neutral-100",
674
- style: normalizeStyle({ ...ge.value })
675
- }, [j.value ? withDirectives((openBlock(), createElementBlock("header", {
674
+ style: normalizeStyle({ ...pe.value })
675
+ }, [M.value ? withDirectives((openBlock(), createElementBlock("header", {
676
676
  key: 0,
677
677
  ref_key: "headerRef",
678
- ref: _,
678
+ ref: v,
679
679
  class: "",
680
680
  style: {
681
681
  position: "relative",
@@ -686,13 +686,13 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
686
686
  }, [(openBlock(), createBlock(resolveDynamicComponent("style"), null, {
687
687
  default: withCtx(() => [createTextVNode(" #header-outer { display: none; } @media (min-width: " + toDisplayString(l.headerHideWidthThreshold) + ") and (min-height: " + toDisplayString(l.headerHideHeightThreshold) + ") { #header-outer { display: block; } } ", 1)]),
688
688
  _: 1
689
- })), createElementVNode("div", _hoisted_1, [renderSlot(t.$slots, "header")])], 512)), [[vShow, ve.value]]) : createCommentVNode("", !0), createElementVNode("article", {
689
+ })), createElementVNode("div", _hoisted_1, [renderSlot(t.$slots, "header")])], 512)), [[vShow, he.value]]) : createCommentVNode("", !0), createElementVNode("article", {
690
690
  class: "",
691
- style: normalizeStyle({ ..._e.value })
691
+ style: normalizeStyle({ ...me.value })
692
692
  }, [
693
693
  createElementVNode("main", {
694
694
  ref_key: "defaultRef",
695
- ref: v,
695
+ ref: y,
696
696
  class: "slot-content-container",
697
697
  style: normalizeStyle({
698
698
  position: "relative",
@@ -706,33 +706,33 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
706
706
  gridColumn: "1 / 2",
707
707
  gridRow: "1 / 2",
708
708
  zIndex: 0,
709
- ...me.value
709
+ ...de.value
710
710
  })
711
711
  }, [renderSlot(t.$slots, "default")], 4),
712
- L.value ? (openBlock(), createElementBlock("div", {
712
+ z.value ? (openBlock(), createElementBlock("div", {
713
713
  key: 0,
714
714
  class: "bg-black",
715
715
  style: normalizeStyle({
716
- ...L.value,
716
+ ...z.value,
717
717
  gridColumn: "1 / 2",
718
718
  gridRow: "1 / 2"
719
719
  })
720
720
  }, null, 4)) : createCommentVNode("", !0),
721
- t.$slots.sidePanelContent && T.value !== "none" ? (openBlock(), createElementBlock("div", {
721
+ t.$slots.sidePanelContent && E.value !== "none" ? (openBlock(), createElementBlock("div", {
722
722
  key: 1,
723
723
  class: "",
724
- style: normalizeStyle(he.value)
724
+ style: normalizeStyle(fe.value)
725
725
  }, [createVNode(SidePanelFrame_default, {
726
- "side-panel-mode": w.value,
727
- "side-panel-mode-resolved": T.value,
728
- "available-states": M.value,
729
- "overlay-only": P.value,
726
+ "side-panel-mode": T.value,
727
+ "side-panel-mode-resolved": E.value,
728
+ "available-states": N.value,
729
+ "overlay-only": F.value,
730
730
  "min-width": e.sidePanelMinRight,
731
- "max-width": ae.value,
732
- "min-height": pe.value,
733
- "max-height": I.value,
734
- onSetSidePanelMode: Se,
735
- onCloseSidePanel: Ce
731
+ "max-width": ne.value,
732
+ "min-height": ue.value,
733
+ "max-height": R.value,
734
+ onSetSidePanelMode: be,
735
+ onCloseSidePanel: xe
736
736
  }, {
737
737
  default: withCtx(() => [renderSlot(t.$slots, "sidePanelContent")]),
738
738
  _: 3
@@ -750,14 +750,44 @@ var _hoisted_1$4 = ["disabled"], SidePanelControlButton_default = /* @__PURE__ *
750
750
  }
751
751
  }), [["__scopeId", "data-v-1dc710d8"]]), LoggedInOut_default = /* @__PURE__ */ defineComponent({
752
752
  __name: "LoggedInOut",
753
+ props: {
754
+ initiallyLoggedIn: { type: Boolean },
755
+ addWindowAccess: {
756
+ type: Boolean,
757
+ default: !1
758
+ },
759
+ windowAccessObjectName: { default: "loggedInOut" }
760
+ },
753
761
  setup(t, { expose: n }) {
754
- let { loggedIn: r, setToLoggedIn: i, setToLoggedOut: a, toggleLoggedIn: o } = useSimpleLoggedIn();
755
- return n({
756
- loggedIn: r,
757
- setToLoggedIn: i,
758
- setToLoggedOut: a,
759
- toggleLoggedIn: o
760
- }), (e, t) => unref(r) ? renderSlot(e.$slots, "loggedIn", { key: 0 }) : renderSlot(e.$slots, "loggedOut", { key: 1 });
762
+ let r = t, { loggedIn: i, setToLoggedIn: a, setToLoggedOut: o, toggleLoggedIn: s } = useSimpleLoggedIn(r.initiallyLoggedIn), c = () => i.value, l = (e) => {
763
+ i.value = e;
764
+ }, u = () => {
765
+ r.addWindowAccess && typeof window < "u" && (window[r.windowAccessObjectName] = {
766
+ setToLoggedIn: a,
767
+ setToLoggedOut: o,
768
+ toggleLoggedIn: s,
769
+ getLoggedIn: c,
770
+ setLoggedIn: l
771
+ });
772
+ }, d = (e = r.windowAccessObjectName) => {
773
+ typeof window < "u" && window[e] && delete window[e];
774
+ };
775
+ return onMounted(() => {
776
+ u();
777
+ }), onUnmounted(() => {
778
+ d();
779
+ }), watch(() => r.addWindowAccess, (e) => {
780
+ e ? u() : d();
781
+ }), watch(() => r.windowAccessObjectName, (e, t) => {
782
+ r.addWindowAccess && (d(t), u());
783
+ }), n({
784
+ loggedIn: i,
785
+ setToLoggedIn: a,
786
+ setToLoggedOut: o,
787
+ toggleLoggedIn: s,
788
+ getLoggedIn: c,
789
+ setLoggedIn: l
790
+ }), (e, t) => unref(i) ? renderSlot(e.$slots, "loggedIn", { key: 0 }) : renderSlot(e.$slots, "loggedOut", { key: 1 });
761
791
  }
762
792
  });
763
793
  export { SidePanelButtonGroup_default as a, SidePanelHeader_default as i, LiveFrame_default as n, SidePanelControlButton_default as o, SidePanelFrame_default as r, LoggedInOut_default as t };
@@ -1,3 +1,8 @@
1
+ type __VLS_Props = {
2
+ initiallyLoggedIn?: boolean;
3
+ addWindowAccess?: boolean;
4
+ windowAccessObjectName?: string;
5
+ };
1
6
  declare function __VLS_template(): {
2
7
  attrs: Partial<{}>;
3
8
  slots: {
@@ -8,12 +13,17 @@ declare function __VLS_template(): {
8
13
  rootEl: any;
9
14
  };
10
15
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
- declare const __VLS_component: import('vue').DefineComponent<{}, {
16
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
12
17
  loggedIn: import('vue').Ref<boolean, boolean>;
13
18
  setToLoggedIn: () => void;
14
19
  setToLoggedOut: () => void;
15
20
  toggleLoggedIn: () => void;
16
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
21
+ getLoggedIn: () => boolean;
22
+ setLoggedIn: (val: boolean) => void;
23
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
24
+ addWindowAccess: boolean;
25
+ windowAccessObjectName: string;
26
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
27
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
18
28
  export default _default;
19
29
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1 +1 @@
1
- {"version":3,"file":"LoggedInOut.vue.d.ts","sourceRoot":"","sources":["../../../src/components/LoggedInOut/LoggedInOut.vue"],"names":[],"mappings":"AA4CA,iBAAS,cAAc;WA2BT,OAAO,IAA6B;;0BAXpB,GAAG;2BACF,GAAG;;;;EAejC;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;0OAMnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"LoggedInOut.vue.d.ts","sourceRoot":"","sources":["../../../src/components/LoggedInOut/LoggedInOut.vue"],"names":[],"mappings":"AAmFA,KAAK,WAAW,GAAG;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC,CAAC;AA4EF,iBAAS,cAAc;WA2BT,OAAO,IAA6B;;0BAXpB,GAAG;2BACF,GAAG;;;;EAejC;AAUD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;uBA9GK,OAAO;;qBAXb,OAAO;4BACA,MAAM;6EAgI/B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,3 +1,3 @@
1
- import { a as SidePanelButtonGroup_default, i as SidePanelHeader_default, n as LiveFrame_default, o as SidePanelControlButton_default, r as SidePanelFrame_default, t as LoggedInOut_default } from "./LoggedInOut-CWlMf-Qv.js";
2
- import "./useSimpleLoggedIn-Bz5zqTrQ.js";
1
+ import { a as SidePanelButtonGroup_default, i as SidePanelHeader_default, n as LiveFrame_default, o as SidePanelControlButton_default, r as SidePanelFrame_default, t as LoggedInOut_default } from "./LoggedInOut-CuuHlQde.js";
2
+ import "./useSimpleLoggedIn-CSv5Xy3J.js";
3
3
  export { LiveFrame_default as LiveFrame, LoggedInOut_default as LoggedInOut, SidePanelButtonGroup_default as SidePanelButtonGroup, SidePanelControlButton_default as SidePanelControlButton, SidePanelFrame_default as SidePanelFrame, SidePanelHeader_default as SidePanelHeader };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/composables/useSimpleLoggedIn/index.test.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Shared state for simple logged in status.
3
3
  */
4
- export declare function useSimpleLoggedIn(): {
4
+ export declare function useSimpleLoggedIn(initialValue?: boolean): {
5
5
  loggedIn: import('vue').Ref<boolean, boolean>;
6
6
  setToLoggedIn: () => void;
7
7
  setToLoggedOut: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useSimpleLoggedIn.d.ts","sourceRoot":"","sources":["../../../src/composables/useSimpleLoggedIn/useSimpleLoggedIn.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,iBAAiB;;;;;EAmBhC"}
1
+ {"version":3,"file":"useSimpleLoggedIn.d.ts","sourceRoot":"","sources":["../../../src/composables/useSimpleLoggedIn/useSimpleLoggedIn.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO;;;;;EAuBvD"}
@@ -1,2 +1,2 @@
1
- import { t as useSimpleLoggedIn } from "./useSimpleLoggedIn-Bz5zqTrQ.js";
1
+ import { t as useSimpleLoggedIn } from "./useSimpleLoggedIn-CSv5Xy3J.js";
2
2
  export { useSimpleLoggedIn };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { a as SidePanelButtonGroup_default, i as SidePanelHeader_default, n as LiveFrame_default, o as SidePanelControlButton_default, r as SidePanelFrame_default, t as LoggedInOut_default } from "./LoggedInOut-CWlMf-Qv.js";
2
- import { t as useSimpleLoggedIn } from "./useSimpleLoggedIn-Bz5zqTrQ.js";
1
+ import { a as SidePanelButtonGroup_default, i as SidePanelHeader_default, n as LiveFrame_default, o as SidePanelControlButton_default, r as SidePanelFrame_default, t as LoggedInOut_default } from "./LoggedInOut-CuuHlQde.js";
2
+ import { t as useSimpleLoggedIn } from "./useSimpleLoggedIn-CSv5Xy3J.js";
3
3
  import "./components.js";
4
4
  import "./composables.js";
5
5
  export { LiveFrame_default as LiveFrame, LoggedInOut_default as LoggedInOut, SidePanelButtonGroup_default as SidePanelButtonGroup, SidePanelControlButton_default as SidePanelControlButton, SidePanelFrame_default as SidePanelFrame, SidePanelHeader_default as SidePanelHeader, useSimpleLoggedIn };
@@ -1,7 +1,7 @@
1
1
  import { ref } from "vue";
2
2
  var loggedIn = ref(!1);
3
- function useSimpleLoggedIn() {
4
- return {
3
+ function useSimpleLoggedIn(e) {
4
+ return e !== void 0 && (loggedIn.value = e), {
5
5
  loggedIn,
6
6
  setToLoggedIn: () => {
7
7
  loggedIn.value = !0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mtngtools/frame-vue",
3
- "version": "0.0.10-experimental.0",
3
+ "version": "0.0.11-experimental.0",
4
4
  "description": "(Experimental) Vue.js component and composable library for mtngTOOLS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",