eidotter 0.37.1 → 0.37.3
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/LICENSE.md +3 -3
- package/dist/components/Brand/components/Wordmark.d.ts +1 -1
- package/dist/components/Brand/components/Wordmark.js +1 -1
- package/dist/components/CalendarHeatmap/components/CalendarHeatmap.d.ts +40 -0
- package/dist/components/CalendarHeatmap/components/CalendarHeatmap.js +84 -0
- package/dist/components/CalendarHeatmap/components/index.d.ts +2 -0
- package/dist/components/CalendarHeatmap/components/index.js +1 -0
- package/dist/components/CalendarHeatmap/index.d.ts +2 -0
- package/dist/components/CalendarHeatmap/index.js +1 -0
- package/dist/components/CommandPrompt/components/CommandPrompt.js +1 -1
- package/dist/components/HoldToComplete/components/HoldToComplete.d.ts +30 -0
- package/dist/components/HoldToComplete/components/HoldToComplete.js +145 -0
- package/dist/components/HoldToComplete/components/index.d.ts +2 -0
- package/dist/components/HoldToComplete/components/index.js +1 -0
- package/dist/components/HoldToComplete/index.d.ts +2 -0
- package/dist/components/HoldToComplete/index.js +1 -0
- package/dist/components/InlineExpand/components/InlineExpand.d.ts +1 -1
- package/dist/components/InlineExpand/components/InlineExpand.js +30 -2
- package/dist/components/ProgressRing/components/ProgressRing.d.ts +35 -0
- package/dist/components/ProgressRing/components/ProgressRing.js +34 -0
- package/dist/components/ProgressRing/components/index.d.ts +2 -0
- package/dist/components/ProgressRing/components/index.js +1 -0
- package/dist/components/ProgressRing/index.d.ts +2 -0
- package/dist/components/ProgressRing/index.js +1 -0
- package/dist/components/RetroEffects/components/RetroEffects.d.ts +28 -5
- package/dist/components/RetroEffects/components/RetroEffects.js +24 -8
- package/dist/components/TimelineContainer/components/TimelineContainer.js +1 -1
- package/dist/components/registry.d.ts +1 -1
- package/dist/components/registry.js +422 -16
- package/dist/eidotter.css +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.es.js +1791 -505
- package/dist/index.umd.js +3 -3
- package/package.json +12 -4
- package/src/styles/dos-utilities.css +15 -6
- package/src/styles/fonts/JetBrainsMonoNerdFont-Bold.woff2 +0 -0
- package/src/styles/fonts/JetBrainsMonoNerdFont-Medium.woff2 +0 -0
- package/src/styles/fonts/JetBrainsMonoNerdFont-Regular.woff2 +0 -0
- package/src/styles/fonts/JetBrainsMonoNerdFont-SemiBold.woff2 +0 -0
- package/src/styles/fonts/JetBrainsMonoNerdFont_OFL.txt +93 -0
- package/src/styles/fonts.css +50 -3
- package/src/styles/tokens.css +9 -4
- package/tailwind.preset.cjs +9 -1
- package/src/styles/fonts/Flexi_IBM_VGA_LICENSE.txt +0 -428
- package/src/styles/fonts/Flexi_IBM_VGA_True.ttf +0 -0
package/dist/index.es.js
CHANGED
|
@@ -395,7 +395,7 @@ function Ie(e) {
|
|
|
395
395
|
if (!(e instanceof t.HTMLElement) && !(e instanceof t.SVGElement)) return !1;
|
|
396
396
|
let { display: n, visibility: r } = e.style, i = n !== "none" && r !== "hidden" && r !== "collapse";
|
|
397
397
|
if (i) {
|
|
398
|
-
let { getComputedStyle: t } = e
|
|
398
|
+
let { getComputedStyle: t } = be(e), { display: n, visibility: r } = t(e);
|
|
399
399
|
i = n !== "none" && r !== "hidden" && r !== "collapse";
|
|
400
400
|
}
|
|
401
401
|
return i;
|
|
@@ -435,7 +435,7 @@ function Ue(e) {
|
|
|
435
435
|
function We(e) {
|
|
436
436
|
let t = e;
|
|
437
437
|
for (; t != null;) {
|
|
438
|
-
if (t instanceof t.
|
|
438
|
+
if (t instanceof be(t).HTMLElement && t.inert) return !0;
|
|
439
439
|
t = t.parentElement;
|
|
440
440
|
}
|
|
441
441
|
return !1;
|
|
@@ -635,15 +635,23 @@ function kt(e) {
|
|
|
635
635
|
let t = be(e), n = H(e);
|
|
636
636
|
if (vt.get(t)) return;
|
|
637
637
|
let r = t.HTMLElement.prototype.focus;
|
|
638
|
-
t.HTMLElement.prototype
|
|
639
|
-
|
|
640
|
-
|
|
638
|
+
Reflect.defineProperty(t.HTMLElement.prototype, "focus", {
|
|
639
|
+
configurable: !0,
|
|
640
|
+
writable: !0,
|
|
641
|
+
value: function() {
|
|
642
|
+
yt = !0, r.apply(this, arguments);
|
|
643
|
+
}
|
|
644
|
+
}), n.addEventListener("keydown", wt, !0), n.addEventListener("keyup", wt, !0), n.addEventListener("click", Et, !0), t.addEventListener("focus", Dt, !0), t.addEventListener("blur", Ot, !1), typeof PointerEvent < "u" ? (n.addEventListener("pointerdown", Tt, !0), n.addEventListener("pointermove", Tt, !0), n.addEventListener("pointerup", Tt, !0)) : process.env.NODE_ENV === "test" && (n.addEventListener("mousedown", Tt, !0), n.addEventListener("mousemove", Tt, !0), n.addEventListener("mouseup", Tt, !0)), t.addEventListener("beforeunload", () => {
|
|
641
645
|
At(e);
|
|
642
646
|
}, { once: !0 }), vt.set(t, { focus: r });
|
|
643
647
|
}
|
|
644
648
|
var At = (e, t) => {
|
|
645
649
|
let n = be(e), r = H(e);
|
|
646
|
-
t && r.removeEventListener("DOMContentLoaded", t), vt.has(n) && (n.HTMLElement.prototype
|
|
650
|
+
t && r.removeEventListener("DOMContentLoaded", t), vt.has(n) && (Reflect.defineProperty(n.HTMLElement.prototype, "focus", {
|
|
651
|
+
configurable: !0,
|
|
652
|
+
writable: !0,
|
|
653
|
+
value: vt.get(n).focus
|
|
654
|
+
}), r.removeEventListener("keydown", wt, !0), r.removeEventListener("keyup", wt, !0), r.removeEventListener("click", Et, !0), n.removeEventListener("focus", Dt, !0), n.removeEventListener("blur", Ot, !1), typeof PointerEvent < "u" ? (r.removeEventListener("pointerdown", Tt, !0), r.removeEventListener("pointermove", Tt, !0), r.removeEventListener("pointerup", Tt, !0)) : process.env.NODE_ENV === "test" && (r.removeEventListener("mousedown", Tt, !0), r.removeEventListener("mousemove", Tt, !0), r.removeEventListener("mouseup", Tt, !0)), vt.delete(n));
|
|
647
655
|
};
|
|
648
656
|
function jt(e) {
|
|
649
657
|
let t = H(e), n;
|
|
@@ -1372,7 +1380,7 @@ function Fn(e) {
|
|
|
1372
1380
|
t && process.env.NODE_ENV !== "production" ? console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.") : t = !0;
|
|
1373
1381
|
},
|
|
1374
1382
|
continuePropagation() {
|
|
1375
|
-
t = !1;
|
|
1383
|
+
t = !1, typeof n.continuePropagation == "function" && n.continuePropagation();
|
|
1376
1384
|
},
|
|
1377
1385
|
isPropagationStopped() {
|
|
1378
1386
|
return t;
|
|
@@ -2666,7 +2674,7 @@ function Vi(e, t, n) {
|
|
|
2666
2674
|
function Hi(e, t, n) {
|
|
2667
2675
|
let { validationBehavior: r, focus: i } = e;
|
|
2668
2676
|
C(() => {
|
|
2669
|
-
if (r === "native" && n?.current && !n.current.disabled) {
|
|
2677
|
+
if (r === "native" && n?.current && "setCustomValidity" in n.current && !n.current.disabled) {
|
|
2670
2678
|
let e = t.realtimeValidation.isInvalid ? t.realtimeValidation.validationErrors.join(" ") || "Invalid value." : "";
|
|
2671
2679
|
n.current.setCustomValidity(e), n.current.hasAttribute("title") || (n.current.title = ""), t.realtimeValidation.isInvalid || t.updateValidation(Wi(n.current));
|
|
2672
2680
|
}
|
|
@@ -3544,19 +3552,41 @@ function Ga(e) {
|
|
|
3544
3552
|
let { keyboardDelegate: t, selectionManager: n, onTypeSelect: r } = e, i = f({
|
|
3545
3553
|
search: "",
|
|
3546
3554
|
timeout: void 0
|
|
3547
|
-
})
|
|
3548
|
-
return
|
|
3549
|
-
let
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3555
|
+
});
|
|
3556
|
+
return s(() => {
|
|
3557
|
+
let e = i.current.timeout;
|
|
3558
|
+
return () => {
|
|
3559
|
+
clearTimeout(e);
|
|
3560
|
+
};
|
|
3561
|
+
}, [i]), { typeSelectProps: {
|
|
3562
|
+
onKeyDownCapture: t.getKeyForSearch ? (e) => {
|
|
3563
|
+
if (i.current.search.length > 0 && e.key === " ") {
|
|
3564
|
+
if (e.preventDefault(), (!("continuePropagation" in e) || "continuePropagation" in e && !e.isPropagationStopped()) && e.stopPropagation(), i.current.search += " ", t.getKeyForSearch != null) {
|
|
3565
|
+
let e = t.getKeyForSearch(i.current.search, n.focusedKey);
|
|
3566
|
+
e ??= t.getKeyForSearch(i.current.search), e != null && (n.setFocusedKey(e), r && r(e));
|
|
3567
|
+
}
|
|
3568
|
+
clearTimeout(i.current.timeout), i.current.timeout = setTimeout(() => {
|
|
3569
|
+
i.current.search = "";
|
|
3570
|
+
}, Wa);
|
|
3554
3571
|
}
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3572
|
+
} : void 0,
|
|
3573
|
+
onKeyDown: t.getKeyForSearch ? (e) => {
|
|
3574
|
+
let a = Ka(e.key);
|
|
3575
|
+
if (!(!a || e.ctrlKey || e.metaKey || e.altKey || !U(e.currentTarget, G(e)) || i.current.search.length === 0 && a === " ")) {
|
|
3576
|
+
if (i.current.search += a, t.getKeyForSearch != null) {
|
|
3577
|
+
let a = t.getKeyForSearch(i.current.search, n.focusedKey);
|
|
3578
|
+
if (a ??= t.getKeyForSearch(i.current.search), a != null) n.setFocusedKey(a), r && r(a), e.preventDefault(), "continuePropagation" in e || e.stopPropagation();
|
|
3579
|
+
else {
|
|
3580
|
+
i.current.search = "", clearTimeout(i.current.timeout), i.current.timeout = void 0;
|
|
3581
|
+
return;
|
|
3582
|
+
}
|
|
3583
|
+
}
|
|
3584
|
+
clearTimeout(i.current.timeout), i.current.timeout = setTimeout(() => {
|
|
3585
|
+
i.current.search = "";
|
|
3586
|
+
}, Wa);
|
|
3587
|
+
}
|
|
3588
|
+
} : void 0
|
|
3589
|
+
} };
|
|
3560
3590
|
}
|
|
3561
3591
|
function Ka(e) {
|
|
3562
3592
|
return e.length === 1 || !/^[A-Z]/i.test(e) ? e : "";
|
|
@@ -3574,7 +3604,7 @@ function qa(e, t) {
|
|
|
3574
3604
|
//#endregion
|
|
3575
3605
|
//#region node_modules/react-aria/dist/private/selection/useSelectableCollection.mjs
|
|
3576
3606
|
function Ja(e) {
|
|
3577
|
-
let { selectionManager: t, keyboardDelegate: n, ref: r, autoFocus: i = !1, shouldFocusWrap: a = !1, disallowEmptySelection: o = !1, disallowSelectAll: c = !1, escapeKeyBehavior: l = "clearSelection", selectOnFocus: u = t.selectionBehavior === "replace", disallowTypeAhead: d = !1, shouldUseVirtualFocus: p, allowsTabNavigation: m = !1, scrollRef: h = r, linkBehavior: g = "action" } = e, { direction:
|
|
3607
|
+
let { selectionManager: t, keyboardDelegate: n, ref: r, autoFocus: i = !1, shouldFocusWrap: a = !1, disallowEmptySelection: o = !1, disallowSelectAll: c = !1, escapeKeyBehavior: l = "clearSelection", selectOnFocus: u = t.selectionBehavior === "replace", disallowTypeAhead: d = !1, shouldUseVirtualFocus: p, allowsTabNavigation: m = !1, scrollRef: h = r, linkBehavior: g = "action", UNSTABLE_focusOnEntry: v } = e, { direction: y } = tn(), b = dt(), x = (e) => {
|
|
3578
3608
|
if (e.altKey && e.key === "Tab" && e.preventDefault(), !r.current || !U(r.current, G(e))) return;
|
|
3579
3609
|
let i = (n, i) => {
|
|
3580
3610
|
if (n != null) {
|
|
@@ -3583,7 +3613,7 @@ function Ja(e) {
|
|
|
3583
3613
|
t.setFocusedKey(n, i);
|
|
3584
3614
|
});
|
|
3585
3615
|
let a = Ba(r, n), o = t.getItemProps(n);
|
|
3586
|
-
a &&
|
|
3616
|
+
a && b.open(a, e, o.href, o.routerOptions);
|
|
3587
3617
|
return;
|
|
3588
3618
|
}
|
|
3589
3619
|
if (t.setFocusedKey(n, i), t.isLink(n) && g === "override") return;
|
|
@@ -3606,13 +3636,13 @@ function Ja(e) {
|
|
|
3606
3636
|
case "ArrowLeft":
|
|
3607
3637
|
if (n.getKeyLeftOf) {
|
|
3608
3638
|
let r = t.focusedKey == null ? n.getFirstKey?.() : n.getKeyLeftOf?.(t.focusedKey);
|
|
3609
|
-
r == null && a && (r =
|
|
3639
|
+
r == null && a && (r = y === "rtl" ? n.getFirstKey?.(t.focusedKey) : n.getLastKey?.(t.focusedKey)), r != null && (e.preventDefault(), i(r, y === "rtl" ? "first" : "last"));
|
|
3610
3640
|
}
|
|
3611
3641
|
break;
|
|
3612
3642
|
case "ArrowRight":
|
|
3613
3643
|
if (n.getKeyRightOf) {
|
|
3614
3644
|
let r = t.focusedKey == null ? n.getFirstKey?.() : n.getKeyRightOf?.(t.focusedKey);
|
|
3615
|
-
r == null && a && (r =
|
|
3645
|
+
r == null && a && (r = y === "rtl" ? n.getLastKey?.(t.focusedKey) : n.getFirstKey?.(t.focusedKey)), r != null && (e.preventDefault(), i(r, y === "rtl" ? "last" : "first"));
|
|
3616
3646
|
}
|
|
3617
3647
|
break;
|
|
3618
3648
|
case "Home":
|
|
@@ -3662,55 +3692,57 @@ function Ja(e) {
|
|
|
3662
3692
|
break;
|
|
3663
3693
|
}
|
|
3664
3694
|
}
|
|
3665
|
-
},
|
|
3695
|
+
}, S = f({
|
|
3666
3696
|
top: 0,
|
|
3667
3697
|
left: 0
|
|
3668
3698
|
});
|
|
3669
3699
|
Ut(h, "scroll", () => {
|
|
3670
|
-
|
|
3700
|
+
S.current = {
|
|
3671
3701
|
top: h.current?.scrollTop ?? 0,
|
|
3672
3702
|
left: h.current?.scrollLeft ?? 0
|
|
3673
3703
|
};
|
|
3674
3704
|
});
|
|
3675
|
-
let
|
|
3705
|
+
let C = (e) => {
|
|
3676
3706
|
if (t.isFocused) {
|
|
3677
3707
|
U(e.currentTarget, G(e)) || t.setFocused(!1);
|
|
3678
3708
|
return;
|
|
3679
3709
|
}
|
|
3680
|
-
if (U(e.currentTarget, G(e)))
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3710
|
+
if (!U(e.currentTarget, G(e))) return;
|
|
3711
|
+
let i = Nt();
|
|
3712
|
+
t.setFocused(!0);
|
|
3713
|
+
let a = (e) => {
|
|
3714
|
+
e != null && (t.setFocusedKey(e), u && !t.isSelected(e) && t.replaceSelection(e));
|
|
3715
|
+
};
|
|
3716
|
+
if (v && (i === "keyboard" || i === "virtual")) a(v === "first" ? n.getFirstKey?.() : n.getLastKey?.());
|
|
3717
|
+
else if (t.focusedKey == null) {
|
|
3718
|
+
let r = e.relatedTarget;
|
|
3719
|
+
r && e.currentTarget.compareDocumentPosition(r) & Node.DOCUMENT_POSITION_FOLLOWING ? a(t.lastSelectedKey ?? n.getLastKey?.()) : a(t.firstSelectedKey ?? n.getFirstKey?.());
|
|
3720
|
+
} else h.current && (h.current.scrollTop = S.current.top, h.current.scrollLeft = S.current.left);
|
|
3721
|
+
if (t.focusedKey != null && h.current) {
|
|
3722
|
+
let e = Ba(r, t.focusedKey);
|
|
3723
|
+
e instanceof HTMLElement && (!Te(e) && !p && Ae(e), (i === "keyboard" || v && i === "virtual") && yi(e, { containingElement: r.current }));
|
|
3691
3724
|
}
|
|
3692
|
-
},
|
|
3725
|
+
}, w = (e) => {
|
|
3693
3726
|
U(e.currentTarget, e.relatedTarget) || t.setFocused(!1);
|
|
3694
|
-
},
|
|
3727
|
+
}, T = f(!1);
|
|
3695
3728
|
Ut(r, ye, p ? (e) => {
|
|
3696
3729
|
let { detail: n } = e;
|
|
3697
|
-
e.stopPropagation(), t.setFocused(!0), n?.focusStrategy === "first" && (
|
|
3698
|
-
} : void 0)
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
t.collection.size > 0 && (w.current = !1);
|
|
3730
|
+
e.stopPropagation(), t.setFocused(!0), n?.focusStrategy === "first" && (T.current = !0);
|
|
3731
|
+
} : void 0);
|
|
3732
|
+
let E = n.getFirstKey?.() ?? null;
|
|
3733
|
+
qa(() => {
|
|
3734
|
+
if (T.current) if (E == null) {
|
|
3735
|
+
let e = W();
|
|
3736
|
+
Ee(r.current), Oe(e, null), t.collection.size > 0 && (T.current = !1);
|
|
3737
|
+
} else t.setFocusedKey(E), T.current = !1;
|
|
3738
|
+
}, [E, t.collection.size]), qa(() => {
|
|
3739
|
+
t.collection.size > 0 && (T.current = !1);
|
|
3708
3740
|
}, [t.focusedKey]), Ut(r, ve, p ? (e) => {
|
|
3709
3741
|
e.stopPropagation(), t.setFocused(!1), e.detail?.clearFocusKey && t.setFocusedKey(null);
|
|
3710
3742
|
} : void 0);
|
|
3711
|
-
let
|
|
3743
|
+
let D = f(i), O = f(!1);
|
|
3712
3744
|
s(() => {
|
|
3713
|
-
if (
|
|
3745
|
+
if (D.current) {
|
|
3714
3746
|
let e = null;
|
|
3715
3747
|
i === "first" && (e = n.getFirstKey?.() ?? null), i === "last" && (e = n.getLastKey?.() ?? null);
|
|
3716
3748
|
let a = t.selectedKeys;
|
|
@@ -3720,42 +3752,42 @@ function Ja(e) {
|
|
|
3720
3752
|
break;
|
|
3721
3753
|
}
|
|
3722
3754
|
}
|
|
3723
|
-
t.setFocused(!0), t.setFocusedKey(e), e == null && !p && r.current && Nn(r.current), t.collection.size > 0 && (
|
|
3755
|
+
t.setFocused(!0), t.setFocusedKey(e), e == null && !p && r.current && Nn(r.current), t.collection.size > 0 && (D.current = !1, O.current = !0);
|
|
3724
3756
|
}
|
|
3725
3757
|
});
|
|
3726
|
-
let
|
|
3758
|
+
let k = f(t.focusedKey), A = f(null);
|
|
3727
3759
|
s(() => {
|
|
3728
|
-
if (t.isFocused && t.focusedKey != null && (t.focusedKey !==
|
|
3760
|
+
if (t.isFocused && t.focusedKey != null && (t.focusedKey !== k.current || O.current) && h.current && r.current) {
|
|
3729
3761
|
let e = Nt(), n = Ba(r, t.focusedKey);
|
|
3730
3762
|
if (!(n instanceof HTMLElement)) return;
|
|
3731
|
-
(e === "keyboard" ||
|
|
3763
|
+
(e === "keyboard" || O.current) && (A.current && cancelAnimationFrame(A.current), A.current = requestAnimationFrame(() => {
|
|
3732
3764
|
h.current && (vi(h.current, n), e !== "virtual" && yi(n, { containingElement: r.current }));
|
|
3733
3765
|
}));
|
|
3734
3766
|
}
|
|
3735
|
-
!p && t.isFocused && t.focusedKey == null &&
|
|
3767
|
+
!p && t.isFocused && t.focusedKey == null && k.current != null && r.current && Nn(r.current), k.current = t.focusedKey, O.current = !1;
|
|
3736
3768
|
}), s(() => () => {
|
|
3737
|
-
|
|
3769
|
+
A.current && cancelAnimationFrame(A.current);
|
|
3738
3770
|
}, []), Ut(r, "react-aria-focus-scope-restore", (e) => {
|
|
3739
3771
|
e.preventDefault(), t.setFocused(!0);
|
|
3740
3772
|
});
|
|
3741
|
-
let
|
|
3742
|
-
onKeyDown:
|
|
3743
|
-
onFocus:
|
|
3744
|
-
onBlur:
|
|
3773
|
+
let j = {
|
|
3774
|
+
onKeyDown: x,
|
|
3775
|
+
onFocus: C,
|
|
3776
|
+
onBlur: w,
|
|
3745
3777
|
onMouseDown(e) {
|
|
3746
3778
|
h.current === G(e) && e.preventDefault();
|
|
3747
3779
|
}
|
|
3748
|
-
}, { typeSelectProps:
|
|
3780
|
+
}, { typeSelectProps: M } = Ga({
|
|
3749
3781
|
keyboardDelegate: n,
|
|
3750
3782
|
selectionManager: t
|
|
3751
3783
|
});
|
|
3752
|
-
d || (
|
|
3753
|
-
let
|
|
3754
|
-
p || (
|
|
3755
|
-
let
|
|
3756
|
-
return { collectionProps: z(
|
|
3757
|
-
tabIndex:
|
|
3758
|
-
"data-collection":
|
|
3784
|
+
d || (j = z(M, j));
|
|
3785
|
+
let N;
|
|
3786
|
+
p || (N = t.focusedKey == null ? 0 : -1);
|
|
3787
|
+
let P = Ha(t.collection);
|
|
3788
|
+
return { collectionProps: z(j, {
|
|
3789
|
+
tabIndex: N,
|
|
3790
|
+
"data-collection": P
|
|
3759
3791
|
}) };
|
|
3760
3792
|
}
|
|
3761
3793
|
//#endregion
|
|
@@ -5384,14 +5416,14 @@ var ic = class {
|
|
|
5384
5416
|
let t = e;
|
|
5385
5417
|
do
|
|
5386
5418
|
t = this.collection.getKeyAfter(t), t ??= this.collection.getFirstKey();
|
|
5387
|
-
while (t != null && this.isDisabled(t));
|
|
5419
|
+
while (t != null && this.isDisabled(t) && t !== e);
|
|
5388
5420
|
return t;
|
|
5389
5421
|
}
|
|
5390
5422
|
getPreviousKey(e) {
|
|
5391
5423
|
let t = e;
|
|
5392
5424
|
do
|
|
5393
5425
|
t = this.collection.getKeyBefore(t), t ??= this.collection.getLastKey();
|
|
5394
|
-
while (t != null && this.isDisabled(t));
|
|
5426
|
+
while (t != null && this.isDisabled(t) && t !== e);
|
|
5395
5427
|
return t;
|
|
5396
5428
|
}
|
|
5397
5429
|
};
|
|
@@ -7783,7 +7815,7 @@ var pu = ({ prompt: e = "C:\\>", onCommand: t, autoFocus: n = !1, className: r =
|
|
|
7783
7815
|
placeholder: i,
|
|
7784
7816
|
disabled: a,
|
|
7785
7817
|
"aria-label": "Command input",
|
|
7786
|
-
size: o.length || 1
|
|
7818
|
+
size: o.length || i?.length || 1
|
|
7787
7819
|
}), /* @__PURE__ */ b("span", {
|
|
7788
7820
|
className: "command-prompt__cursor",
|
|
7789
7821
|
"aria-hidden": "true",
|
|
@@ -7910,11 +7942,263 @@ var xu = r(({ value: e = 0, max: t = 100, indeterminate: n = !1, variant: r = "d
|
|
|
7910
7942
|
});
|
|
7911
7943
|
xu.displayName = "Progress";
|
|
7912
7944
|
//#endregion
|
|
7945
|
+
//#region src/components/ProgressRing/components/ProgressRing.tsx
|
|
7946
|
+
var Su = (e, t, n) => Math.min(n, Math.max(t, e)), Cu = r(({ value: e = 0, max: t = 100, size: n = 64, thickness: r = 8, segments: i = 16, color: a, showLabel: o = !1, glow: s = !1, className: c, "aria-label": l, ...u }, d) => {
|
|
7947
|
+
let f = Math.max(1, Math.floor(i)), p = Su(t === 0 ? 0 : e / t, 0, 1), m = Math.floor(p * f), h = Math.round(m / f * 100), g = (n - r) / 2, _ = n / 2, v = n / 2, y = 2 * Math.PI * g, S = y / f, C = Math.max(2, S / 6), w = Math.max(.5, S - C), T = a ?? "currentColor", E = Array.from({ length: f }, (e, t) => {
|
|
7948
|
+
let n = t < m;
|
|
7949
|
+
return /* @__PURE__ */ b("circle", {
|
|
7950
|
+
cx: _,
|
|
7951
|
+
cy: v,
|
|
7952
|
+
r: g,
|
|
7953
|
+
fill: "none",
|
|
7954
|
+
stroke: T,
|
|
7955
|
+
strokeWidth: r,
|
|
7956
|
+
strokeLinecap: "butt",
|
|
7957
|
+
strokeOpacity: n ? 1 : .18,
|
|
7958
|
+
strokeDasharray: `0 ${t * S} ${w} ${y}`,
|
|
7959
|
+
className: $("eidotter-progress-ring__seg", n && "eidotter-progress-ring__seg--filled")
|
|
7960
|
+
}, t);
|
|
7961
|
+
});
|
|
7962
|
+
return /* @__PURE__ */ x("div", {
|
|
7963
|
+
ref: d,
|
|
7964
|
+
className: $("eidotter-progress-ring", s && "eidotter-progress-ring--glow", c),
|
|
7965
|
+
style: {
|
|
7966
|
+
width: n,
|
|
7967
|
+
height: n
|
|
7968
|
+
},
|
|
7969
|
+
role: "progressbar",
|
|
7970
|
+
"aria-valuenow": h,
|
|
7971
|
+
"aria-valuemin": 0,
|
|
7972
|
+
"aria-valuemax": 100,
|
|
7973
|
+
"aria-label": l ?? `Progress: ${h}%`,
|
|
7974
|
+
...u,
|
|
7975
|
+
children: [/* @__PURE__ */ b("svg", {
|
|
7976
|
+
width: n,
|
|
7977
|
+
height: n,
|
|
7978
|
+
viewBox: `0 0 ${n} ${n}`,
|
|
7979
|
+
"aria-hidden": "true",
|
|
7980
|
+
focusable: "false",
|
|
7981
|
+
children: /* @__PURE__ */ b("g", {
|
|
7982
|
+
transform: `rotate(-90 ${_} ${v})`,
|
|
7983
|
+
children: E
|
|
7984
|
+
})
|
|
7985
|
+
}), o && /* @__PURE__ */ x("span", {
|
|
7986
|
+
className: "eidotter-progress-ring__label font-dos",
|
|
7987
|
+
children: [h, "%"]
|
|
7988
|
+
})]
|
|
7989
|
+
});
|
|
7990
|
+
});
|
|
7991
|
+
Cu.displayName = "ProgressRing";
|
|
7992
|
+
//#endregion
|
|
7993
|
+
//#region src/components/CalendarHeatmap/components/CalendarHeatmap.tsx
|
|
7994
|
+
var wu = {
|
|
7995
|
+
success: "█",
|
|
7996
|
+
fail: "░",
|
|
7997
|
+
skip: "·",
|
|
7998
|
+
pending: "▒",
|
|
7999
|
+
empty: " "
|
|
8000
|
+
}, Tu = [
|
|
8001
|
+
"success",
|
|
8002
|
+
"fail",
|
|
8003
|
+
"skip",
|
|
8004
|
+
"pending"
|
|
8005
|
+
], Eu = {
|
|
8006
|
+
success: "DONE",
|
|
8007
|
+
fail: "MISS",
|
|
8008
|
+
skip: "OFF",
|
|
8009
|
+
pending: "TODAY"
|
|
8010
|
+
}, Du = [
|
|
8011
|
+
"MO",
|
|
8012
|
+
"TU",
|
|
8013
|
+
"WE",
|
|
8014
|
+
"TH",
|
|
8015
|
+
"FR",
|
|
8016
|
+
"SA",
|
|
8017
|
+
"SU"
|
|
8018
|
+
], Ou = [
|
|
8019
|
+
"SU",
|
|
8020
|
+
"MO",
|
|
8021
|
+
"TU",
|
|
8022
|
+
"WE",
|
|
8023
|
+
"TH",
|
|
8024
|
+
"FR",
|
|
8025
|
+
"SA"
|
|
8026
|
+
], ku = [
|
|
8027
|
+
"January",
|
|
8028
|
+
"February",
|
|
8029
|
+
"March",
|
|
8030
|
+
"April",
|
|
8031
|
+
"May",
|
|
8032
|
+
"June",
|
|
8033
|
+
"July",
|
|
8034
|
+
"August",
|
|
8035
|
+
"September",
|
|
8036
|
+
"October",
|
|
8037
|
+
"November",
|
|
8038
|
+
"December"
|
|
8039
|
+
], Au = {
|
|
8040
|
+
sm: "eidotter-calendar-heatmap--sm",
|
|
8041
|
+
md: "eidotter-calendar-heatmap--md",
|
|
8042
|
+
lg: "eidotter-calendar-heatmap--lg"
|
|
8043
|
+
}, ju = (e) => String(e).padStart(2, "0"), Mu = r(({ month: e, statuses: t = {}, defaultStatus: n = "skip", weekStart: r = "monday", size: i = "md", successColor: a, showLegend: o = !0, legendLabels: s, glyphs: c, className: l, "aria-label": u, ...d }, f) => {
|
|
8044
|
+
let p = Number(e.slice(0, 4)), m = Number(e.slice(5, 7)) - 1, h = Number.isFinite(p) && m >= 0 && m <= 11, g = {
|
|
8045
|
+
...wu,
|
|
8046
|
+
...c
|
|
8047
|
+
}, _ = {
|
|
8048
|
+
...Eu,
|
|
8049
|
+
...s
|
|
8050
|
+
}, v = [], y = 0, S = 0;
|
|
8051
|
+
if (h) {
|
|
8052
|
+
let e = new Date(Date.UTC(p, m + 1, 0)).getUTCDate(), i = new Date(Date.UTC(p, m, 1)).getUTCDay(), a = r === "monday" ? (i + 6) % 7 : i, o = [];
|
|
8053
|
+
for (let e = 0; e < a; e++) o.push({
|
|
8054
|
+
key: `lead-${e}`,
|
|
8055
|
+
day: 0,
|
|
8056
|
+
status: "empty"
|
|
8057
|
+
});
|
|
8058
|
+
for (let r = 1; r <= e; r++) {
|
|
8059
|
+
let e = `${p}-${ju(m + 1)}-${ju(r)}`, i = t[e] ?? n;
|
|
8060
|
+
i === "success" && y++, i === "fail" && S++, o.push({
|
|
8061
|
+
key: e,
|
|
8062
|
+
day: r,
|
|
8063
|
+
status: i
|
|
8064
|
+
});
|
|
8065
|
+
}
|
|
8066
|
+
for (; o.length % 7 != 0;) o.push({
|
|
8067
|
+
key: `trail-${o.length}`,
|
|
8068
|
+
day: 0,
|
|
8069
|
+
status: "empty"
|
|
8070
|
+
});
|
|
8071
|
+
for (let e = 0; e < o.length; e += 7) v.push(o.slice(e, e + 7));
|
|
8072
|
+
}
|
|
8073
|
+
let C = r === "monday" ? Du : Ou, w = h ? `${ku[m]} ${p}` : e, T = u ?? `${w}: ${y} done, ${S} missed`, E = a ? { "--heatmap-success": a } : void 0;
|
|
8074
|
+
return /* @__PURE__ */ x("div", {
|
|
8075
|
+
ref: f,
|
|
8076
|
+
className: $("eidotter-calendar-heatmap font-dos", Au[i], l),
|
|
8077
|
+
style: E,
|
|
8078
|
+
...d,
|
|
8079
|
+
children: [/* @__PURE__ */ x("div", {
|
|
8080
|
+
className: "eidotter-calendar-heatmap__grid",
|
|
8081
|
+
role: "img",
|
|
8082
|
+
"aria-label": T,
|
|
8083
|
+
children: [/* @__PURE__ */ b("div", {
|
|
8084
|
+
className: "eidotter-calendar-heatmap__row",
|
|
8085
|
+
"aria-hidden": "true",
|
|
8086
|
+
children: C.map((e) => /* @__PURE__ */ b("span", {
|
|
8087
|
+
className: "eidotter-calendar-heatmap__cell eidotter-calendar-heatmap__head",
|
|
8088
|
+
children: e
|
|
8089
|
+
}, e))
|
|
8090
|
+
}), v.map((e, t) => /* @__PURE__ */ b("div", {
|
|
8091
|
+
className: "eidotter-calendar-heatmap__row",
|
|
8092
|
+
"aria-hidden": "true",
|
|
8093
|
+
children: e.map((e) => /* @__PURE__ */ b("span", {
|
|
8094
|
+
className: $("eidotter-calendar-heatmap__cell", `eidotter-calendar-heatmap__cell--${e.status}`),
|
|
8095
|
+
children: g[e.status]
|
|
8096
|
+
}, e.key))
|
|
8097
|
+
}, t))]
|
|
8098
|
+
}), o && /* @__PURE__ */ b("div", {
|
|
8099
|
+
className: "eidotter-calendar-heatmap__legend",
|
|
8100
|
+
"aria-hidden": "true",
|
|
8101
|
+
children: Tu.map((e) => /* @__PURE__ */ x("span", {
|
|
8102
|
+
className: `eidotter-calendar-heatmap__cell--${e}`,
|
|
8103
|
+
children: [
|
|
8104
|
+
g[e],
|
|
8105
|
+
" ",
|
|
8106
|
+
_[e]
|
|
8107
|
+
]
|
|
8108
|
+
}, e))
|
|
8109
|
+
})]
|
|
8110
|
+
});
|
|
8111
|
+
});
|
|
8112
|
+
Mu.displayName = "CalendarHeatmap";
|
|
8113
|
+
//#endregion
|
|
8114
|
+
//#region src/components/HoldToComplete/components/HoldToComplete.tsx
|
|
8115
|
+
var Nu = (e) => e * e, Pu = .02, Fu = 120, Iu = r(({ onHold: e, onTap: t, onHoldProgress: n, holdDuration: r = 700, ringColor: i, ringScale: o = .72, disabled: c = !1, "aria-label": l, className: u, children: d }, m) => {
|
|
8116
|
+
let [h, g] = p(0), [_, v] = p(0), y = f(null), S = f(null), C = f(0), w = f(0), T = f(0), E = f(0), D = f(r), O = f(!1), k = f(e), A = f(n);
|
|
8117
|
+
k.current = e, A.current = n;
|
|
8118
|
+
let j = a((e) => {
|
|
8119
|
+
C.current = e, g(e), A.current?.(e);
|
|
8120
|
+
}, []), M = a(() => {
|
|
8121
|
+
S.current != null && (cancelAnimationFrame(S.current), S.current = null);
|
|
8122
|
+
}, []), N = a((e) => {
|
|
8123
|
+
let t = e - E.current, n = D.current, r = n <= 0 ? 1 : Math.min(1, t / n), i = T.current === 1 ? Nu(r) : r;
|
|
8124
|
+
if (j(w.current + (T.current - w.current) * i), r >= 1) {
|
|
8125
|
+
S.current = null, T.current === 1 && (O.current = !0, j(0), k.current());
|
|
8126
|
+
return;
|
|
8127
|
+
}
|
|
8128
|
+
S.current = requestAnimationFrame(N);
|
|
8129
|
+
}, [j]), P = a((e, t) => {
|
|
8130
|
+
M(), w.current = C.current, T.current = e, D.current = t, E.current = typeof performance < "u" ? performance.now() : 0, S.current = requestAnimationFrame(N);
|
|
8131
|
+
}, [M, N]), ee = a((e) => {
|
|
8132
|
+
if (!c) {
|
|
8133
|
+
try {
|
|
8134
|
+
e.currentTarget.setPointerCapture?.(e.pointerId);
|
|
8135
|
+
} catch {}
|
|
8136
|
+
O.current = !1, j(0), P(1, r);
|
|
8137
|
+
}
|
|
8138
|
+
}, [
|
|
8139
|
+
c,
|
|
8140
|
+
r,
|
|
8141
|
+
P,
|
|
8142
|
+
j
|
|
8143
|
+
]), F = a(() => {
|
|
8144
|
+
if (!O.current) {
|
|
8145
|
+
if (C.current <= 0) {
|
|
8146
|
+
M();
|
|
8147
|
+
return;
|
|
8148
|
+
}
|
|
8149
|
+
Ql() ? (M(), j(0)) : P(0, Fu);
|
|
8150
|
+
}
|
|
8151
|
+
}, [
|
|
8152
|
+
P,
|
|
8153
|
+
M,
|
|
8154
|
+
j
|
|
8155
|
+
]), te = a(() => {
|
|
8156
|
+
c || (O.current || t?.(), O.current = !1);
|
|
8157
|
+
}, [c, t]), ne = a((t) => {
|
|
8158
|
+
c || t.repeat || (t.key === "Enter" || t.key === " ") && (t.preventDefault(), e());
|
|
8159
|
+
}, [c, e]);
|
|
8160
|
+
s(() => {
|
|
8161
|
+
let e = y.current;
|
|
8162
|
+
if (!e) return;
|
|
8163
|
+
let t = () => v(Math.min(e.clientWidth, e.clientHeight));
|
|
8164
|
+
if (t(), typeof ResizeObserver < "u") {
|
|
8165
|
+
let n = new ResizeObserver(t);
|
|
8166
|
+
return n.observe(e), () => n.disconnect();
|
|
8167
|
+
}
|
|
8168
|
+
}, []), s(() => M, [M]);
|
|
8169
|
+
let re = a((e) => {
|
|
8170
|
+
y.current = e, typeof m == "function" ? m(e) : m && (m.current = e);
|
|
8171
|
+
}, [m]), ie = h > Pu && _ > 0;
|
|
8172
|
+
return /* @__PURE__ */ x("div", {
|
|
8173
|
+
ref: re,
|
|
8174
|
+
className: $("eidotter-hold", c && "eidotter-hold--disabled", u),
|
|
8175
|
+
role: "button",
|
|
8176
|
+
tabIndex: c ? -1 : 0,
|
|
8177
|
+
"aria-label": l,
|
|
8178
|
+
"aria-disabled": c || void 0,
|
|
8179
|
+
onPointerDown: ee,
|
|
8180
|
+
onPointerUp: F,
|
|
8181
|
+
onPointerCancel: F,
|
|
8182
|
+
onClick: te,
|
|
8183
|
+
onKeyDown: ne,
|
|
8184
|
+
children: [d, ie && /* @__PURE__ */ b("div", {
|
|
8185
|
+
className: "eidotter-hold__overlay",
|
|
8186
|
+
children: /* @__PURE__ */ b(Cu, {
|
|
8187
|
+
value: h * 100,
|
|
8188
|
+
size: Math.floor(_ * o),
|
|
8189
|
+
color: i,
|
|
8190
|
+
"aria-label": "Hold progress"
|
|
8191
|
+
})
|
|
8192
|
+
})]
|
|
8193
|
+
});
|
|
8194
|
+
});
|
|
8195
|
+
Iu.displayName = "HoldToComplete";
|
|
8196
|
+
//#endregion
|
|
7913
8197
|
//#region src/components/Input/components/Input.tsx
|
|
7914
|
-
var
|
|
8198
|
+
var Lu = {
|
|
7915
8199
|
default: "eidotter-input--default",
|
|
7916
8200
|
error: "eidotter-input--error"
|
|
7917
|
-
},
|
|
8201
|
+
}, Ru = r(({ variant: e = "default", label: t, description: n, errorMessage: r, disabled: i, className: a, onChange: o, isRequired: s, ...c }, l) => {
|
|
7918
8202
|
let u = e === "error";
|
|
7919
8203
|
return /* @__PURE__ */ x(bc, {
|
|
7920
8204
|
isDisabled: i,
|
|
@@ -7928,7 +8212,7 @@ var Su = {
|
|
|
7928
8212
|
}),
|
|
7929
8213
|
/* @__PURE__ */ b(sa, {
|
|
7930
8214
|
ref: l,
|
|
7931
|
-
className: $("w-full bg-transparent text-dos-text-brand font-dos text-base p-2", "border-2 border-dos-border-default outline-none box-border", "eidotter-input",
|
|
8215
|
+
className: $("w-full bg-transparent text-dos-text-brand font-dos text-base p-2", "border-2 border-dos-border-default outline-none box-border", "eidotter-input", Lu[e] || Lu.default, i && "eidotter-input--disabled"),
|
|
7932
8216
|
onChange: o,
|
|
7933
8217
|
...c
|
|
7934
8218
|
}),
|
|
@@ -7945,10 +8229,10 @@ var Su = {
|
|
|
7945
8229
|
]
|
|
7946
8230
|
});
|
|
7947
8231
|
});
|
|
7948
|
-
|
|
8232
|
+
Ru.displayName = "Input";
|
|
7949
8233
|
//#endregion
|
|
7950
8234
|
//#region src/components/Terminal/components/Terminal.tsx
|
|
7951
|
-
var
|
|
8235
|
+
var zu = ({ size: e = "md", title: t = "MS-DOS Terminal", state: n = "active", resizable: r = !0, minimizable: i = !1, maximizable: a = !1, closeable: o = !1, children: c, onMinimize: l, onMaximize: u, onClose: d, onFocus: m, className: h = "", autoFocus: g = !1 }) => {
|
|
7952
8236
|
let _ = {
|
|
7953
8237
|
sm: "small",
|
|
7954
8238
|
md: "medium",
|
|
@@ -8059,17 +8343,17 @@ var wu = ({ size: e = "md", title: t = "MS-DOS Terminal", state: n = "active", r
|
|
|
8059
8343
|
})
|
|
8060
8344
|
]
|
|
8061
8345
|
});
|
|
8062
|
-
},
|
|
8346
|
+
}, Bu = {
|
|
8063
8347
|
sm: "eidotter-tabs--sm",
|
|
8064
8348
|
md: "eidotter-tabs--md",
|
|
8065
8349
|
lg: "eidotter-tabs--lg",
|
|
8066
8350
|
small: "eidotter-tabs--sm",
|
|
8067
8351
|
medium: "eidotter-tabs--md",
|
|
8068
8352
|
large: "eidotter-tabs--lg"
|
|
8069
|
-
},
|
|
8353
|
+
}, Vu = {
|
|
8070
8354
|
underline: "eidotter-tabs--underline",
|
|
8071
8355
|
pills: "eidotter-tabs--pills"
|
|
8072
|
-
},
|
|
8356
|
+
}, Hu = r(({ tabs: e, variant: t = "underline", size: n = "md", activeTab: r, defaultActiveTab: i, onSelectionChange: o, onTabChange: s, className: c, ...u }, d) => {
|
|
8073
8357
|
let m = f(null), h = f(r ?? i ?? e[0]?.id ?? ""), [g, _] = p(r ?? i ?? e[0]?.id ?? ""), v = o ?? s, y = a((e) => {
|
|
8074
8358
|
let t = String(e), n = r ?? h.current;
|
|
8075
8359
|
h.current = t, _(t), v?.(t, n);
|
|
@@ -8093,7 +8377,7 @@ var wu = ({ size: e = "md", title: t = "MS-DOS Terminal", state: n = "active", r
|
|
|
8093
8377
|
selectedKey: r,
|
|
8094
8378
|
defaultSelectedKey: i ?? e[0]?.id,
|
|
8095
8379
|
onSelectionChange: y,
|
|
8096
|
-
className: $("eidotter-tabs",
|
|
8380
|
+
className: $("eidotter-tabs", Vu[t], Bu[n] || Bu.md, c),
|
|
8097
8381
|
children: [/* @__PURE__ */ x("div", {
|
|
8098
8382
|
ref: m,
|
|
8099
8383
|
className: "relative",
|
|
@@ -8116,16 +8400,16 @@ var wu = ({ size: e = "md", title: t = "MS-DOS Terminal", state: n = "active", r
|
|
|
8116
8400
|
}, e.id))]
|
|
8117
8401
|
});
|
|
8118
8402
|
});
|
|
8119
|
-
|
|
8403
|
+
Hu.displayName = "Tabs";
|
|
8120
8404
|
//#endregion
|
|
8121
8405
|
//#region src/components/Badge/components/Badge.tsx
|
|
8122
|
-
var
|
|
8406
|
+
var Uu = {
|
|
8123
8407
|
sm: "text-dos-text-xs px-2 py-0.5 min-h-6 gap-1",
|
|
8124
8408
|
md: "text-dos-text-sm px-2.5 py-1 min-h-7 gap-1.5",
|
|
8125
8409
|
lg: "text-dos-text-md px-3 py-1.5 min-h-8 gap-1.5",
|
|
8126
8410
|
small: "text-dos-text-xs px-2 py-0.5 min-h-6 gap-1",
|
|
8127
8411
|
medium: "text-dos-text-sm px-2.5 py-1 min-h-7 gap-1.5"
|
|
8128
|
-
},
|
|
8412
|
+
}, Wu = {
|
|
8129
8413
|
default: "eidotter-badge--default",
|
|
8130
8414
|
success: "eidotter-badge--success",
|
|
8131
8415
|
warning: "eidotter-badge--warning",
|
|
@@ -8139,9 +8423,9 @@ var Ou = {
|
|
|
8139
8423
|
purple: "eidotter-badge--info",
|
|
8140
8424
|
pink: "eidotter-badge--error",
|
|
8141
8425
|
orange: "eidotter-badge--warning"
|
|
8142
|
-
},
|
|
8426
|
+
}, Gu = r(({ variant: e = "default", size: t = "md", dot: n = !1, children: r, className: i, ...a }, o) => /* @__PURE__ */ x("span", {
|
|
8143
8427
|
ref: o,
|
|
8144
|
-
className: $("inline-flex items-center justify-center", "font-dos leading-none whitespace-nowrap select-none", "uppercase tracking-wider", "rounded-dos-sm", "eidotter-badge",
|
|
8428
|
+
className: $("inline-flex items-center justify-center", "font-dos leading-none whitespace-nowrap select-none", "uppercase tracking-wider", "rounded-dos-sm", "eidotter-badge", Uu[t] || Uu.md, Wu[e] || Wu.default, i),
|
|
8145
8429
|
"data-variant": e,
|
|
8146
8430
|
...a,
|
|
8147
8431
|
children: [n && /* @__PURE__ */ b("span", {
|
|
@@ -8152,10 +8436,10 @@ var Ou = {
|
|
|
8152
8436
|
children: r
|
|
8153
8437
|
})]
|
|
8154
8438
|
}));
|
|
8155
|
-
|
|
8439
|
+
Gu.displayName = "Badge";
|
|
8156
8440
|
//#endregion
|
|
8157
8441
|
//#region src/components/Switch/components/Switch.tsx
|
|
8158
|
-
var
|
|
8442
|
+
var Ku = r(({ checked: e, defaultChecked: t = !1, onChange: n, onCheckedChange: r, disabled: i = !1, size: a = "md", type: o = "default", label: s, name: c, value: l, className: u, ...d }, f) => /* @__PURE__ */ b(Zs, {
|
|
8159
8443
|
ref: f,
|
|
8160
8444
|
isSelected: e,
|
|
8161
8445
|
defaultSelected: t,
|
|
@@ -8175,10 +8459,10 @@ var ju = r(({ checked: e, defaultChecked: t = !1, onChange: n, onCheckedChange:
|
|
|
8175
8459
|
children: s
|
|
8176
8460
|
})] })
|
|
8177
8461
|
}));
|
|
8178
|
-
|
|
8462
|
+
Ku.displayName = "Switch";
|
|
8179
8463
|
//#endregion
|
|
8180
8464
|
//#region src/components/Breadcrumb/components/Breadcrumb.tsx
|
|
8181
|
-
var
|
|
8465
|
+
var qu = "eidotter-breadcrumb__link inline-flex items-center gap-1 text-dos-text-accent opacity-70 no-underline", Ju = ({ trail: e = [], currentLabel: t, showBackArrow: n = !0, separator: r = "/", linkComponent: i, className: a }) => {
|
|
8182
8466
|
let o = (e, t) => {
|
|
8183
8467
|
let r = /* @__PURE__ */ x(y, { children: [n && t && /* @__PURE__ */ b("span", {
|
|
8184
8468
|
className: "text-[1em] leading-none",
|
|
@@ -8186,15 +8470,15 @@ var Mu = "eidotter-breadcrumb__link inline-flex items-center gap-1 text-dos-text
|
|
|
8186
8470
|
children: "<"
|
|
8187
8471
|
}), /* @__PURE__ */ b("span", { children: e.label })] });
|
|
8188
8472
|
return e.onClick ? /* @__PURE__ */ b(K, {
|
|
8189
|
-
className: $(
|
|
8473
|
+
className: $(qu, "bg-transparent border-0 cursor-pointer font-[inherit] p-0"),
|
|
8190
8474
|
onPress: e.onClick,
|
|
8191
8475
|
children: r
|
|
8192
8476
|
}) : e.href ? b(i || "a", {
|
|
8193
8477
|
href: e.href,
|
|
8194
|
-
className:
|
|
8478
|
+
className: qu,
|
|
8195
8479
|
children: r
|
|
8196
8480
|
}) : /* @__PURE__ */ b("span", {
|
|
8197
|
-
className:
|
|
8481
|
+
className: qu,
|
|
8198
8482
|
children: r
|
|
8199
8483
|
});
|
|
8200
8484
|
};
|
|
@@ -8234,37 +8518,34 @@ var Mu = "eidotter-breadcrumb__link inline-flex items-center gap-1 text-dos-text
|
|
|
8234
8518
|
]
|
|
8235
8519
|
})
|
|
8236
8520
|
});
|
|
8237
|
-
},
|
|
8521
|
+
}, Yu = "eidotter:retro-boot", Xu = "1", Zu = (e) => {
|
|
8238
8522
|
if (typeof window > "u") return !1;
|
|
8239
8523
|
try {
|
|
8240
|
-
return window.sessionStorage.getItem(e) ===
|
|
8524
|
+
return window.sessionStorage.getItem(e) === Xu;
|
|
8241
8525
|
} catch {
|
|
8242
8526
|
return !1;
|
|
8243
8527
|
}
|
|
8244
|
-
},
|
|
8528
|
+
}, Qu = (e) => {
|
|
8245
8529
|
if (!(typeof window > "u")) try {
|
|
8246
|
-
window.sessionStorage.setItem(e,
|
|
8530
|
+
window.sessionStorage.setItem(e, Xu);
|
|
8247
8531
|
} catch {}
|
|
8248
|
-
},
|
|
8249
|
-
let _ = f(i), [v, S] = p(i ? "on" : "off"), [C, w] = p(a
|
|
8532
|
+
}, $u = ({ scanlines: e = !0, glow: t = !0, flicker: n = !0, bloom: r = !1, powered: i = !0, boot: a = !1, bootOnce: o = !1, bootStorageKey: c = Yu, intensity: l = 1, className: u, onPowerStateChange: d, onPowerOn: m, onPowerOff: h, onBootComplete: g }) => {
|
|
8533
|
+
let _ = f(i), [v, S] = p(i ? "on" : "off"), [C, w] = p(a), T = f(!1), E = f(c), D = f(g);
|
|
8250
8534
|
s(() => {
|
|
8251
8535
|
D.current = g;
|
|
8252
8536
|
});
|
|
8253
8537
|
let O = () => {
|
|
8254
8538
|
T.current || (T.current = !0, D.current?.());
|
|
8255
8539
|
}, k = () => {
|
|
8256
|
-
w(!1), o &&
|
|
8540
|
+
w(!1), o && Qu(E.current), O();
|
|
8257
8541
|
};
|
|
8258
8542
|
s(() => {
|
|
8259
|
-
if (!(!a || !o)) {
|
|
8260
|
-
|
|
8261
|
-
|
|
8262
|
-
return;
|
|
8263
|
-
}
|
|
8264
|
-
w(!0);
|
|
8543
|
+
if (!(!a || !o) && Zu(E.current)) {
|
|
8544
|
+
w(!1), O();
|
|
8545
|
+
return;
|
|
8265
8546
|
}
|
|
8266
8547
|
}, []), s(() => {
|
|
8267
|
-
if (!C) return;
|
|
8548
|
+
if (!C || T.current) return;
|
|
8268
8549
|
if (Ql()) {
|
|
8269
8550
|
k();
|
|
8270
8551
|
return;
|
|
@@ -8313,32 +8594,32 @@ var Mu = "eidotter-breadcrumb__link inline-flex items-center gap-1 text-dos-text
|
|
|
8313
8594
|
]
|
|
8314
8595
|
})]
|
|
8315
8596
|
});
|
|
8316
|
-
},
|
|
8597
|
+
}, ed = {
|
|
8317
8598
|
sm: "small",
|
|
8318
8599
|
md: "medium",
|
|
8319
8600
|
lg: "large",
|
|
8320
8601
|
small: "small",
|
|
8321
8602
|
medium: "medium",
|
|
8322
8603
|
large: "large"
|
|
8323
|
-
},
|
|
8604
|
+
}, td = {
|
|
8324
8605
|
circle: "eidotter-timeline-node--circle",
|
|
8325
8606
|
square: "eidotter-timeline-node--square",
|
|
8326
8607
|
diamond: "eidotter-timeline-node--diamond"
|
|
8327
|
-
},
|
|
8608
|
+
}, nd = {
|
|
8328
8609
|
default: "eidotter-timeline-node--default",
|
|
8329
8610
|
primary: "eidotter-timeline-node--primary",
|
|
8330
8611
|
secondary: "eidotter-timeline-node--secondary",
|
|
8331
8612
|
accent: "eidotter-timeline-node--accent"
|
|
8332
|
-
},
|
|
8613
|
+
}, rd = {
|
|
8333
8614
|
left: "eidotter-timeline-node--label-left",
|
|
8334
8615
|
right: "eidotter-timeline-node--label-right",
|
|
8335
8616
|
top: "eidotter-timeline-node--label-top",
|
|
8336
8617
|
bottom: "eidotter-timeline-node--label-bottom"
|
|
8337
|
-
},
|
|
8338
|
-
let u =
|
|
8618
|
+
}, id = r(({ shape: e = "circle", variant: t = "default", isActive: n = !1, label: r, labelPosition: i = "right", size: a = "md", className: o, onClick: s, ...c }, l) => {
|
|
8619
|
+
let u = ed[a] ?? "medium";
|
|
8339
8620
|
return /* @__PURE__ */ x("div", {
|
|
8340
8621
|
ref: l,
|
|
8341
|
-
className: $("inline-flex items-center gap-2 font-dos", "eidotter-timeline-node",
|
|
8622
|
+
className: $("inline-flex items-center gap-2 font-dos", "eidotter-timeline-node", td[e], nd[t], `eidotter-timeline-node--${u}`, rd[i], n && "eidotter-timeline-node--active", s && "eidotter-timeline-node--interactive", o),
|
|
8342
8623
|
onClick: () => {
|
|
8343
8624
|
s && s();
|
|
8344
8625
|
},
|
|
@@ -8373,10 +8654,10 @@ var Mu = "eidotter-breadcrumb__link inline-flex items-center gap-1 text-dos-text
|
|
|
8373
8654
|
]
|
|
8374
8655
|
});
|
|
8375
8656
|
});
|
|
8376
|
-
|
|
8657
|
+
id.displayName = "TimelineNode";
|
|
8377
8658
|
//#endregion
|
|
8378
8659
|
//#region src/components/TimelineContainer/components/types.ts
|
|
8379
|
-
var
|
|
8660
|
+
var ad = [
|
|
8380
8661
|
"year",
|
|
8381
8662
|
"month",
|
|
8382
8663
|
"day",
|
|
@@ -8384,12 +8665,12 @@ var Wu = [
|
|
|
8384
8665
|
];
|
|
8385
8666
|
//#endregion
|
|
8386
8667
|
//#region src/components/TimelineContainer/components/useDrillDown.ts
|
|
8387
|
-
function
|
|
8668
|
+
function od({ zoomLevel: e, defaultZoomLevel: t = "month", onZoomChange: n } = {}) {
|
|
8388
8669
|
let r = e === void 0, [i, o] = p(t), [c, l] = p([]), u = f(r);
|
|
8389
8670
|
s(() => {
|
|
8390
8671
|
u.current && !r && l([]), u.current = r;
|
|
8391
8672
|
}, [r]);
|
|
8392
|
-
let d = e ?? i, m =
|
|
8673
|
+
let d = e ?? i, m = ad.indexOf(d), h = m < ad.length - 1, g = m > 0, _ = c.length > 0 ? c[c.length - 1].periodStart : null, v = f(r), y = f(h), b = f(m), x = f(c), S = f(n);
|
|
8393
8674
|
s(() => {
|
|
8394
8675
|
v.current = r, y.current = h, b.current = m, x.current = c, S.current = n;
|
|
8395
8676
|
});
|
|
@@ -8405,7 +8686,7 @@ function Gu({ zoomLevel: e, defaultZoomLevel: t = "month", onZoomChange: n } = {
|
|
|
8405
8686
|
isDrillDownEnabled: r,
|
|
8406
8687
|
drillDown: a((e, t) => {
|
|
8407
8688
|
if (!v.current || !y.current) return;
|
|
8408
|
-
let n =
|
|
8689
|
+
let n = ad[b.current + 1];
|
|
8409
8690
|
n !== void 0 && (l((n) => [...n, {
|
|
8410
8691
|
periodStart: e,
|
|
8411
8692
|
label: t
|
|
@@ -8413,7 +8694,7 @@ function Gu({ zoomLevel: e, defaultZoomLevel: t = "month", onZoomChange: n } = {
|
|
|
8413
8694
|
}, [C]),
|
|
8414
8695
|
drillUp: a(() => {
|
|
8415
8696
|
if (!v.current || x.current.length === 0) return;
|
|
8416
|
-
let e =
|
|
8697
|
+
let e = ad[b.current - 1];
|
|
8417
8698
|
e !== void 0 && (l((e) => e.slice(0, -1)), C(e));
|
|
8418
8699
|
}, [C]),
|
|
8419
8700
|
reset: a(() => {
|
|
@@ -8423,7 +8704,7 @@ function Gu({ zoomLevel: e, defaultZoomLevel: t = "month", onZoomChange: n } = {
|
|
|
8423
8704
|
}
|
|
8424
8705
|
//#endregion
|
|
8425
8706
|
//#region src/components/TimelineContainer/components/useSelection.ts
|
|
8426
|
-
function
|
|
8707
|
+
function sd({ selectedEntryId: e, defaultSelectedEntryId: t = null, onSelectEntry: n } = {}) {
|
|
8427
8708
|
let [r, i] = p(t), o = e !== void 0, c = e === void 0 ? r : e, l = f(c), u = f(o), d = f(n);
|
|
8428
8709
|
s(() => {
|
|
8429
8710
|
l.current = c, u.current = o, d.current = n;
|
|
@@ -8449,7 +8730,7 @@ function Ku({ selectedEntryId: e, defaultSelectedEntryId: t = null, onSelectEntr
|
|
|
8449
8730
|
}
|
|
8450
8731
|
//#endregion
|
|
8451
8732
|
//#region src/components/TimelineContainer/components/timelineUtils.ts
|
|
8452
|
-
var
|
|
8733
|
+
var cd = [
|
|
8453
8734
|
"January",
|
|
8454
8735
|
"February",
|
|
8455
8736
|
"March",
|
|
@@ -8462,7 +8743,7 @@ var qu = [
|
|
|
8462
8743
|
"October",
|
|
8463
8744
|
"November",
|
|
8464
8745
|
"December"
|
|
8465
|
-
],
|
|
8746
|
+
], ld = [
|
|
8466
8747
|
"Jan",
|
|
8467
8748
|
"Feb",
|
|
8468
8749
|
"Mar",
|
|
@@ -8476,48 +8757,48 @@ var qu = [
|
|
|
8476
8757
|
"Nov",
|
|
8477
8758
|
"Dec"
|
|
8478
8759
|
];
|
|
8479
|
-
function
|
|
8760
|
+
function ud(e) {
|
|
8480
8761
|
return new Date(e).getUTCFullYear();
|
|
8481
8762
|
}
|
|
8482
|
-
function
|
|
8763
|
+
function dd(e) {
|
|
8483
8764
|
return new Date(e).getUTCMonth();
|
|
8484
8765
|
}
|
|
8485
|
-
function
|
|
8766
|
+
function fd(e) {
|
|
8486
8767
|
return new Date(e).getUTCDate();
|
|
8487
8768
|
}
|
|
8488
|
-
function
|
|
8769
|
+
function pd(e) {
|
|
8489
8770
|
return new Date(e).getUTCHours();
|
|
8490
8771
|
}
|
|
8491
|
-
function
|
|
8772
|
+
function md(e) {
|
|
8492
8773
|
return String(e);
|
|
8493
8774
|
}
|
|
8494
|
-
function
|
|
8495
|
-
return `${
|
|
8775
|
+
function hd(e, t) {
|
|
8776
|
+
return `${cd[t]} ${e}`;
|
|
8496
8777
|
}
|
|
8497
|
-
function
|
|
8498
|
-
return `${
|
|
8778
|
+
function gd(e, t, n) {
|
|
8779
|
+
return `${ld[t]} ${n}`;
|
|
8499
8780
|
}
|
|
8500
|
-
function
|
|
8781
|
+
function _d(e, t, n, r) {
|
|
8501
8782
|
let i = r >= 12 ? "pm" : "am", a = r === 0 ? 12 : r > 12 ? r - 12 : r;
|
|
8502
|
-
return `${
|
|
8783
|
+
return `${ld[t]} ${n}, ${a}${i}`;
|
|
8503
8784
|
}
|
|
8504
|
-
function
|
|
8505
|
-
let t = new Date(e), n =
|
|
8785
|
+
function vd(e) {
|
|
8786
|
+
let t = new Date(e), n = ld[t.getUTCMonth()], r = t.getUTCDate(), i = t.getUTCFullYear(), a = t.getUTCHours(), o = t.getUTCMinutes(), s = a >= 12 ? "pm" : "am";
|
|
8506
8787
|
return `${n} ${r}, ${i} at ${a === 0 ? 12 : a > 12 ? a - 12 : a}${o > 0 ? `:${String(o).padStart(2, "0")}` : ""}${s}`;
|
|
8507
8788
|
}
|
|
8508
|
-
function
|
|
8789
|
+
function yd(e) {
|
|
8509
8790
|
return new Date(Date.UTC(e, 0, 1)).toISOString();
|
|
8510
8791
|
}
|
|
8511
|
-
function
|
|
8792
|
+
function bd(e, t) {
|
|
8512
8793
|
return new Date(Date.UTC(e, t, 1)).toISOString();
|
|
8513
8794
|
}
|
|
8514
|
-
function
|
|
8795
|
+
function xd(e, t, n) {
|
|
8515
8796
|
return new Date(Date.UTC(e, t, n)).toISOString();
|
|
8516
8797
|
}
|
|
8517
|
-
function
|
|
8798
|
+
function Sd(e, t, n, r) {
|
|
8518
8799
|
return new Date(Date.UTC(e, t, n, r)).toISOString();
|
|
8519
8800
|
}
|
|
8520
|
-
function
|
|
8801
|
+
function Cd(e, t, n, r, i) {
|
|
8521
8802
|
let a = /* @__PURE__ */ new Map(), o = [];
|
|
8522
8803
|
for (let n of e) {
|
|
8523
8804
|
let e = t(n), r = a.get(e);
|
|
@@ -8534,32 +8815,32 @@ function cd(e, t, n, r, i) {
|
|
|
8534
8815
|
entries: a.get(e) ?? []
|
|
8535
8816
|
}));
|
|
8536
8817
|
}
|
|
8537
|
-
function
|
|
8538
|
-
return String(
|
|
8818
|
+
function wd(e) {
|
|
8819
|
+
return String(ud(e.date));
|
|
8539
8820
|
}
|
|
8540
|
-
function
|
|
8541
|
-
let t =
|
|
8821
|
+
function Td(e) {
|
|
8822
|
+
let t = ud(e.date), n = dd(e.date);
|
|
8542
8823
|
return `${t}-${String(n).padStart(2, "0")}`;
|
|
8543
8824
|
}
|
|
8544
|
-
function
|
|
8545
|
-
let t =
|
|
8825
|
+
function Ed(e) {
|
|
8826
|
+
let t = ud(e.date), n = dd(e.date), r = fd(e.date);
|
|
8546
8827
|
return `${t}-${String(n).padStart(2, "0")}-${String(r).padStart(2, "0")}`;
|
|
8547
8828
|
}
|
|
8548
|
-
function
|
|
8549
|
-
let t =
|
|
8829
|
+
function Dd(e) {
|
|
8830
|
+
let t = ud(e.date), n = dd(e.date), r = fd(e.date), i = pd(e.date);
|
|
8550
8831
|
return `${t}-${String(n).padStart(2, "0")}-${String(r).padStart(2, "0")}-${String(i).padStart(2, "0")}`;
|
|
8551
8832
|
}
|
|
8552
|
-
function
|
|
8833
|
+
function Od(e) {
|
|
8553
8834
|
return { year: parseInt(e) };
|
|
8554
8835
|
}
|
|
8555
|
-
function
|
|
8836
|
+
function kd(e) {
|
|
8556
8837
|
let [t, n] = e.split("-");
|
|
8557
8838
|
return {
|
|
8558
8839
|
year: parseInt(t),
|
|
8559
8840
|
month: parseInt(n)
|
|
8560
8841
|
};
|
|
8561
8842
|
}
|
|
8562
|
-
function
|
|
8843
|
+
function Ad(e) {
|
|
8563
8844
|
let [t, n, r] = e.split("-");
|
|
8564
8845
|
return {
|
|
8565
8846
|
year: parseInt(t),
|
|
@@ -8567,7 +8848,7 @@ function hd(e) {
|
|
|
8567
8848
|
day: parseInt(r)
|
|
8568
8849
|
};
|
|
8569
8850
|
}
|
|
8570
|
-
function
|
|
8851
|
+
function jd(e) {
|
|
8571
8852
|
let [t, n, r, i] = e.split("-");
|
|
8572
8853
|
return {
|
|
8573
8854
|
year: parseInt(t),
|
|
@@ -8576,56 +8857,56 @@ function gd(e) {
|
|
|
8576
8857
|
hour: parseInt(i)
|
|
8577
8858
|
};
|
|
8578
8859
|
}
|
|
8579
|
-
var
|
|
8860
|
+
var Md = {
|
|
8580
8861
|
year: 4,
|
|
8581
8862
|
month: 7,
|
|
8582
8863
|
day: 10
|
|
8583
8864
|
};
|
|
8584
|
-
function
|
|
8865
|
+
function Nd(e, t, n) {
|
|
8585
8866
|
if (t === null || n === "hour") return e;
|
|
8586
|
-
let r =
|
|
8867
|
+
let r = Md[n];
|
|
8587
8868
|
if (r === void 0) return e;
|
|
8588
8869
|
let i = t.slice(0, r);
|
|
8589
8870
|
return e.filter((e) => e.periodStart.slice(0, r) === i);
|
|
8590
8871
|
}
|
|
8591
|
-
function
|
|
8872
|
+
function Pd(e, t, n = "desc") {
|
|
8592
8873
|
if (e.length === 0) return [];
|
|
8593
8874
|
let r = e.filter((e) => !isNaN(new Date(e.date).getTime()));
|
|
8594
8875
|
if (r.length === 0) return [];
|
|
8595
8876
|
switch (t) {
|
|
8596
|
-
case "year": return
|
|
8597
|
-
let { year: t } =
|
|
8598
|
-
return
|
|
8877
|
+
case "year": return Cd(r, wd, (e) => {
|
|
8878
|
+
let { year: t } = Od(e);
|
|
8879
|
+
return md(t);
|
|
8599
8880
|
}, (e) => {
|
|
8600
|
-
let { year: t } =
|
|
8601
|
-
return
|
|
8881
|
+
let { year: t } = Od(e);
|
|
8882
|
+
return yd(t);
|
|
8602
8883
|
}, n);
|
|
8603
|
-
case "month": return
|
|
8604
|
-
let { year: t, month: n } =
|
|
8605
|
-
return
|
|
8884
|
+
case "month": return Cd(r, Td, (e) => {
|
|
8885
|
+
let { year: t, month: n } = kd(e);
|
|
8886
|
+
return hd(t, n);
|
|
8606
8887
|
}, (e) => {
|
|
8607
|
-
let { year: t, month: n } =
|
|
8608
|
-
return
|
|
8888
|
+
let { year: t, month: n } = kd(e);
|
|
8889
|
+
return bd(t, n);
|
|
8609
8890
|
}, n);
|
|
8610
|
-
case "day": return
|
|
8611
|
-
let { year: t, month: n, day: r } =
|
|
8612
|
-
return
|
|
8891
|
+
case "day": return Cd(r, Ed, (e) => {
|
|
8892
|
+
let { year: t, month: n, day: r } = Ad(e);
|
|
8893
|
+
return gd(t, n, r);
|
|
8613
8894
|
}, (e) => {
|
|
8614
|
-
let { year: t, month: n, day: r } =
|
|
8615
|
-
return
|
|
8895
|
+
let { year: t, month: n, day: r } = Ad(e);
|
|
8896
|
+
return xd(t, n, r);
|
|
8616
8897
|
}, n);
|
|
8617
|
-
case "hour": return
|
|
8618
|
-
let { year: t, month: n, day: r, hour: i } =
|
|
8619
|
-
return
|
|
8898
|
+
case "hour": return Cd(r, Dd, (e) => {
|
|
8899
|
+
let { year: t, month: n, day: r, hour: i } = jd(e);
|
|
8900
|
+
return _d(t, n, r, i);
|
|
8620
8901
|
}, (e) => {
|
|
8621
|
-
let { year: t, month: n, day: r, hour: i } =
|
|
8622
|
-
return
|
|
8902
|
+
let { year: t, month: n, day: r, hour: i } = jd(e);
|
|
8903
|
+
return Sd(t, n, r, i);
|
|
8623
8904
|
}, n);
|
|
8624
8905
|
}
|
|
8625
8906
|
}
|
|
8626
8907
|
//#endregion
|
|
8627
8908
|
//#region src/components/TimelineContainer/components/ZoomControls.tsx
|
|
8628
|
-
var
|
|
8909
|
+
var Fd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i, onReset: a, breadcrumbs: o = [], onBreadcrumbClick: s }) => {
|
|
8629
8910
|
let c = o.length > 0;
|
|
8630
8911
|
return /* @__PURE__ */ x("div", {
|
|
8631
8912
|
className: "timeline-zoom-controls",
|
|
@@ -8640,7 +8921,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8640
8921
|
"aria-label": "Zoom out",
|
|
8641
8922
|
children: "[-]"
|
|
8642
8923
|
}),
|
|
8643
|
-
c ? /* @__PURE__ */ b(
|
|
8924
|
+
c ? /* @__PURE__ */ b(Ju, {
|
|
8644
8925
|
trail: [{
|
|
8645
8926
|
label: "ALL",
|
|
8646
8927
|
onClick: a
|
|
@@ -8656,7 +8937,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8656
8937
|
className: "timeline-zoom-controls__level",
|
|
8657
8938
|
onPress: a,
|
|
8658
8939
|
"aria-label": `Current zoom: ${e}. Click to reset.`,
|
|
8659
|
-
children: /* @__PURE__ */ b(
|
|
8940
|
+
children: /* @__PURE__ */ b(Gu, {
|
|
8660
8941
|
variant: "accent",
|
|
8661
8942
|
size: "medium",
|
|
8662
8943
|
children: e.toUpperCase()
|
|
@@ -8672,7 +8953,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8672
8953
|
})
|
|
8673
8954
|
]
|
|
8674
8955
|
});
|
|
8675
|
-
},
|
|
8956
|
+
}, Id = ({ children: e }) => /* @__PURE__ */ x("div", {
|
|
8676
8957
|
className: "timeline-axis",
|
|
8677
8958
|
children: [/* @__PURE__ */ b("div", {
|
|
8678
8959
|
className: "timeline-axis__line",
|
|
@@ -8681,7 +8962,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8681
8962
|
className: "timeline-axis__content",
|
|
8682
8963
|
children: e
|
|
8683
8964
|
})]
|
|
8684
|
-
}),
|
|
8965
|
+
}), Ld = e.memo(({ buckets: e, onBucketClick: t }) => /* @__PURE__ */ b("div", {
|
|
8685
8966
|
className: "timeline-view timeline-view--year",
|
|
8686
8967
|
role: "list",
|
|
8687
8968
|
children: e.map((e) => /* @__PURE__ */ b("div", {
|
|
@@ -8692,7 +8973,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8692
8973
|
onPress: () => t(e),
|
|
8693
8974
|
children: [/* @__PURE__ */ b("div", {
|
|
8694
8975
|
className: "timeline-view__node",
|
|
8695
|
-
children: /* @__PURE__ */ b(
|
|
8976
|
+
children: /* @__PURE__ */ b(id, {
|
|
8696
8977
|
shape: "circle",
|
|
8697
8978
|
size: "medium",
|
|
8698
8979
|
variant: "default",
|
|
@@ -8701,7 +8982,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8701
8982
|
})
|
|
8702
8983
|
}), /* @__PURE__ */ b("div", {
|
|
8703
8984
|
className: "timeline-view__content",
|
|
8704
|
-
children: /* @__PURE__ */ x(
|
|
8985
|
+
children: /* @__PURE__ */ x(Gu, {
|
|
8705
8986
|
variant: "default",
|
|
8706
8987
|
size: "small",
|
|
8707
8988
|
children: [
|
|
@@ -8713,7 +8994,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8713
8994
|
})]
|
|
8714
8995
|
}) : /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("div", {
|
|
8715
8996
|
className: "timeline-view__node",
|
|
8716
|
-
children: /* @__PURE__ */ b(
|
|
8997
|
+
children: /* @__PURE__ */ b(id, {
|
|
8717
8998
|
shape: "circle",
|
|
8718
8999
|
size: "medium",
|
|
8719
9000
|
variant: "default",
|
|
@@ -8722,7 +9003,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8722
9003
|
})
|
|
8723
9004
|
}), /* @__PURE__ */ b("div", {
|
|
8724
9005
|
className: "timeline-view__content",
|
|
8725
|
-
children: /* @__PURE__ */ x(
|
|
9006
|
+
children: /* @__PURE__ */ x(Gu, {
|
|
8726
9007
|
variant: "default",
|
|
8727
9008
|
size: "small",
|
|
8728
9009
|
children: [
|
|
@@ -8734,10 +9015,10 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8734
9015
|
})] })
|
|
8735
9016
|
}, e.periodStart))
|
|
8736
9017
|
}));
|
|
8737
|
-
|
|
9018
|
+
Ld.displayName = "YearView";
|
|
8738
9019
|
//#endregion
|
|
8739
9020
|
//#region src/components/Lightbox/components/Lightbox.tsx
|
|
8740
|
-
var
|
|
9021
|
+
var Rd = ({ images: t, initialIndex: n = 0, isOpen: r, onClose: i, onIndexChange: o }) => {
|
|
8741
9022
|
let c = t.length === 0 ? 0 : Math.max(0, Math.min(n, t.length - 1)), [l, u] = p(c);
|
|
8742
9023
|
s(() => {
|
|
8743
9024
|
r && u(c);
|
|
@@ -8837,19 +9118,19 @@ var Cd = ({ images: t, initialIndex: n = 0, isOpen: r, onClose: i, onIndexChange
|
|
|
8837
9118
|
})
|
|
8838
9119
|
});
|
|
8839
9120
|
};
|
|
8840
|
-
|
|
9121
|
+
Rd.displayName = "Lightbox";
|
|
8841
9122
|
//#endregion
|
|
8842
9123
|
//#region src/utils/isSafeHref.ts
|
|
8843
|
-
var
|
|
8844
|
-
function
|
|
9124
|
+
var zd = /^(?:https?:|mailto:)/i;
|
|
9125
|
+
function Bd(e) {
|
|
8845
9126
|
if (typeof e != "string") return !1;
|
|
8846
9127
|
let t = e.trim();
|
|
8847
|
-
return t.length === 0 ? !1 : /^[a-z][a-z0-9+\-.]*:/i.test(t) ?
|
|
9128
|
+
return t.length === 0 ? !1 : /^[a-z][a-z0-9+\-.]*:/i.test(t) ? zd.test(t) : !0;
|
|
8848
9129
|
}
|
|
8849
9130
|
//#endregion
|
|
8850
9131
|
//#region src/components/TimelineContainer/components/variants/TimelineEntryCardImage.tsx
|
|
8851
|
-
var
|
|
8852
|
-
let [r, i] = p(!1), { image: a } = e, o = a.thumbnail || a.src, c = a.link &&
|
|
9132
|
+
var Vd = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
9133
|
+
let [r, i] = p(!1), { image: a } = e, o = a.thumbnail || a.src, c = a.link && Bd(a.link) ? a.link : void 0;
|
|
8853
9134
|
return s(() => {
|
|
8854
9135
|
t || i(!1);
|
|
8855
9136
|
}, [t]), c ? /* @__PURE__ */ x("a", {
|
|
@@ -8897,13 +9178,13 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8897
9178
|
height: a.height
|
|
8898
9179
|
})
|
|
8899
9180
|
}),
|
|
8900
|
-
/* @__PURE__ */ b(
|
|
9181
|
+
/* @__PURE__ */ b(Rd, {
|
|
8901
9182
|
images: [a],
|
|
8902
9183
|
isOpen: r,
|
|
8903
9184
|
onClose: () => i(!1)
|
|
8904
9185
|
})
|
|
8905
9186
|
] });
|
|
8906
|
-
},
|
|
9187
|
+
}, Hd = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
8907
9188
|
let [r, i] = p({ phase: "grid" });
|
|
8908
9189
|
if (s(() => {
|
|
8909
9190
|
t || i({ phase: "grid" });
|
|
@@ -8917,7 +9198,7 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8917
9198
|
children: "No images."
|
|
8918
9199
|
})] });
|
|
8919
9200
|
let a = (e, t) => {
|
|
8920
|
-
t.link &&
|
|
9201
|
+
t.link && Bd(t.link) || i((t) => t.phase === "focused" && t.index === e ? {
|
|
8921
9202
|
phase: "lightbox",
|
|
8922
9203
|
index: e
|
|
8923
9204
|
} : {
|
|
@@ -8938,13 +9219,13 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8938
9219
|
/* @__PURE__ */ b("div", {
|
|
8939
9220
|
className: "eidotter-timeline-card-gallery__grid",
|
|
8940
9221
|
role: "list",
|
|
8941
|
-
children: e.images.map((e, t) => /* @__PURE__ */ b(
|
|
9222
|
+
children: e.images.map((e, t) => /* @__PURE__ */ b(Ud, {
|
|
8942
9223
|
image: e,
|
|
8943
9224
|
isFocused: o === t,
|
|
8944
9225
|
onClick: () => a(t, e)
|
|
8945
9226
|
}, t))
|
|
8946
9227
|
}),
|
|
8947
|
-
/* @__PURE__ */ b(
|
|
9228
|
+
/* @__PURE__ */ b(Rd, {
|
|
8948
9229
|
images: e.images,
|
|
8949
9230
|
isOpen: r.phase === "lightbox",
|
|
8950
9231
|
initialIndex: r.phase === "lightbox" ? r.index : 0,
|
|
@@ -8962,8 +9243,8 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8962
9243
|
}
|
|
8963
9244
|
})
|
|
8964
9245
|
] });
|
|
8965
|
-
},
|
|
8966
|
-
let r = e.thumbnail || e.src, i = e.link &&
|
|
9246
|
+
}, Ud = ({ image: e, isFocused: t, onClick: n }) => {
|
|
9247
|
+
let r = e.thumbnail || e.src, i = e.link && Bd(e.link) ? e.link : void 0;
|
|
8967
9248
|
return i ? /* @__PURE__ */ b("div", {
|
|
8968
9249
|
role: "listitem",
|
|
8969
9250
|
className: "eidotter-timeline-card-gallery__cell eidotter-timeline-card-gallery__cell--link",
|
|
@@ -8996,39 +9277,39 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8996
9277
|
})
|
|
8997
9278
|
})
|
|
8998
9279
|
});
|
|
8999
|
-
},
|
|
9280
|
+
}, Wd = e.memo(({ entry: e, isSelected: t, isExpanded: n = !1, onSelect: r, footer: i, children: a }) => /* @__PURE__ */ x("div", {
|
|
9000
9281
|
className: $("eidotter-timeline-card", t && "eidotter-timeline-card--selected", n && "eidotter-timeline-card--expanded"),
|
|
9001
|
-
children: [
|
|
9282
|
+
children: [Gd(e, n, r, a), i && /* @__PURE__ */ b("div", {
|
|
9002
9283
|
className: "eidotter-timeline-card__footer",
|
|
9003
9284
|
children: i
|
|
9004
9285
|
})]
|
|
9005
9286
|
}));
|
|
9006
|
-
|
|
9007
|
-
function
|
|
9287
|
+
Wd.displayName = "TimelineEntryCard";
|
|
9288
|
+
function Gd(e, t, n, r) {
|
|
9008
9289
|
switch (e.kind) {
|
|
9009
|
-
case "text": return /* @__PURE__ */ b(
|
|
9290
|
+
case "text": return /* @__PURE__ */ b(qd, {
|
|
9010
9291
|
entry: e,
|
|
9011
9292
|
isExpanded: t,
|
|
9012
9293
|
onSelect: n,
|
|
9013
9294
|
children: r
|
|
9014
9295
|
});
|
|
9015
|
-
case "image": return /* @__PURE__ */ b(
|
|
9296
|
+
case "image": return /* @__PURE__ */ b(Vd, {
|
|
9016
9297
|
entry: e,
|
|
9017
9298
|
isExpanded: t,
|
|
9018
9299
|
onSelect: n
|
|
9019
9300
|
});
|
|
9020
|
-
case "gallery": return /* @__PURE__ */ b(
|
|
9301
|
+
case "gallery": return /* @__PURE__ */ b(Hd, {
|
|
9021
9302
|
entry: e,
|
|
9022
9303
|
isExpanded: t,
|
|
9023
9304
|
onSelect: n
|
|
9024
9305
|
});
|
|
9025
|
-
default: return
|
|
9306
|
+
default: return Kd(e);
|
|
9026
9307
|
}
|
|
9027
9308
|
}
|
|
9028
|
-
function
|
|
9309
|
+
function Kd(e) {
|
|
9029
9310
|
throw Error(`TimelineEntryCard: unhandled entry kind: ${JSON.stringify(e)}`);
|
|
9030
9311
|
}
|
|
9031
|
-
var
|
|
9312
|
+
var qd = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
9032
9313
|
let i = typeof e.content == "string", a = e.content != null;
|
|
9033
9314
|
return /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ x(K, {
|
|
9034
9315
|
className: "eidotter-timeline-card__trigger",
|
|
@@ -9066,7 +9347,7 @@ var Md = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
|
9066
9347
|
children: e.content
|
|
9067
9348
|
})
|
|
9068
9349
|
})] });
|
|
9069
|
-
},
|
|
9350
|
+
}, Jd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, onBucketClick: i, renderEntry: a }) => /* @__PURE__ */ b("div", {
|
|
9070
9351
|
className: "timeline-view timeline-view--month",
|
|
9071
9352
|
role: "list",
|
|
9072
9353
|
children: t.map((t) => /* @__PURE__ */ x("div", {
|
|
@@ -9074,7 +9355,7 @@ var Md = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
|
9074
9355
|
role: "listitem",
|
|
9075
9356
|
children: [/* @__PURE__ */ b("div", {
|
|
9076
9357
|
className: "timeline-view__node",
|
|
9077
|
-
children: /* @__PURE__ */ b(
|
|
9358
|
+
children: /* @__PURE__ */ b(id, {
|
|
9078
9359
|
shape: "circle",
|
|
9079
9360
|
size: "medium",
|
|
9080
9361
|
variant: "default",
|
|
@@ -9085,7 +9366,7 @@ var Md = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
|
9085
9366
|
}), /* @__PURE__ */ b("div", {
|
|
9086
9367
|
className: "timeline-view__content",
|
|
9087
9368
|
children: t.entries.map((t) => {
|
|
9088
|
-
let i = n === t.id, o = () => /* @__PURE__ */ b(
|
|
9369
|
+
let i = n === t.id, o = () => /* @__PURE__ */ b(Wd, {
|
|
9089
9370
|
entry: t,
|
|
9090
9371
|
isSelected: i,
|
|
9091
9372
|
isExpanded: i,
|
|
@@ -9100,23 +9381,23 @@ var Md = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
|
9100
9381
|
})]
|
|
9101
9382
|
}, t.periodStart))
|
|
9102
9383
|
}));
|
|
9103
|
-
|
|
9384
|
+
Jd.displayName = "MonthView";
|
|
9104
9385
|
//#endregion
|
|
9105
9386
|
//#region src/components/Tag/components/Tag.tsx
|
|
9106
|
-
var
|
|
9387
|
+
var Yd = {
|
|
9107
9388
|
sm: "text-dos-text-xs px-2 py-0.5 min-h-6 gap-1",
|
|
9108
9389
|
md: "text-dos-text-sm px-2.5 py-1 min-h-7 gap-1.5",
|
|
9109
9390
|
lg: "text-dos-text-md px-3 py-1.5 min-h-8 gap-1.5",
|
|
9110
9391
|
small: "text-dos-text-xs px-2 py-0.5 min-h-6 gap-1",
|
|
9111
9392
|
medium: "text-dos-text-sm px-2.5 py-1 min-h-7 gap-1.5"
|
|
9112
|
-
},
|
|
9393
|
+
}, Xd = ({ children: e, variant: t = "default", size: n = "md", color: r, selected: i = !1, closeable: a = !1, disabled: o = !1, onClick: s, onClose: c, className: l, "aria-label": u, ...d }) => {
|
|
9113
9394
|
let f = !!s && !o, { isClosing: p, triggerClose: m, handleAnimationEnd: h } = $l("tag-exit", c), g = (e) => {
|
|
9114
9395
|
o || ((e.key === "Enter" || e.key === " ") && s && (e.preventDefault(), s(e)), (e.key === "Delete" || e.key === "Backspace") && a && c && (e.preventDefault(), m()));
|
|
9115
9396
|
}, _ = () => {
|
|
9116
9397
|
o || m();
|
|
9117
9398
|
}, v = r ? { "--tag-color": "var(" + r + ")" } : void 0;
|
|
9118
9399
|
return /* @__PURE__ */ x("span", {
|
|
9119
|
-
className: $("inline-flex items-center justify-center", "font-dos leading-none whitespace-nowrap select-none", "rounded-dos-sm uppercase tracking-wider",
|
|
9400
|
+
className: $("inline-flex items-center justify-center", "font-dos leading-none whitespace-nowrap select-none", "rounded-dos-sm uppercase tracking-wider", Yd[n] || Yd.md, "eidotter-tag", "eidotter-tag--" + t, i && "eidotter-tag--selected", o && "opacity-50 cursor-not-allowed", p && "eidotter-tag--closing", f && "cursor-pointer", l),
|
|
9120
9401
|
style: v,
|
|
9121
9402
|
onClick: f ? (e) => !o && s?.(e) : void 0,
|
|
9122
9403
|
onKeyDown: g,
|
|
@@ -9142,17 +9423,17 @@ var Pd = {
|
|
|
9142
9423
|
children: "[x]"
|
|
9143
9424
|
})]
|
|
9144
9425
|
});
|
|
9145
|
-
},
|
|
9426
|
+
}, Zd = {
|
|
9146
9427
|
tight: "gap-1",
|
|
9147
9428
|
normal: "gap-2",
|
|
9148
9429
|
loose: "gap-3"
|
|
9149
|
-
},
|
|
9150
|
-
className: $("flex", n ? "flex-wrap" : "flex-nowrap",
|
|
9430
|
+
}, Qd = ({ children: e, gap: t = "normal", wrap: n = !0, className: r, "aria-label": i, ...a }) => /* @__PURE__ */ b("div", {
|
|
9431
|
+
className: $("flex", n ? "flex-wrap" : "flex-nowrap", Zd[t] || Zd.normal, r),
|
|
9151
9432
|
role: "group",
|
|
9152
9433
|
"aria-label": i,
|
|
9153
9434
|
...a,
|
|
9154
9435
|
children: e
|
|
9155
|
-
}),
|
|
9436
|
+
}), $d = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry: i }) => /* @__PURE__ */ b("div", {
|
|
9156
9437
|
className: "timeline-view timeline-view--day",
|
|
9157
9438
|
role: "list",
|
|
9158
9439
|
children: t.map((t) => /* @__PURE__ */ x("div", {
|
|
@@ -9160,7 +9441,7 @@ var Pd = {
|
|
|
9160
9441
|
role: "listitem",
|
|
9161
9442
|
children: [/* @__PURE__ */ b("div", {
|
|
9162
9443
|
className: "timeline-view__node",
|
|
9163
|
-
children: /* @__PURE__ */ b(
|
|
9444
|
+
children: /* @__PURE__ */ b(id, {
|
|
9164
9445
|
shape: "circle",
|
|
9165
9446
|
size: "medium",
|
|
9166
9447
|
variant: "default",
|
|
@@ -9170,15 +9451,15 @@ var Pd = {
|
|
|
9170
9451
|
}), /* @__PURE__ */ b("div", {
|
|
9171
9452
|
className: "timeline-view__content",
|
|
9172
9453
|
children: t.entries.map((t) => {
|
|
9173
|
-
let a = n === t.id, o = () => /* @__PURE__ */ b(
|
|
9454
|
+
let a = n === t.id, o = () => /* @__PURE__ */ b(Wd, {
|
|
9174
9455
|
entry: t,
|
|
9175
9456
|
isSelected: a,
|
|
9176
9457
|
isExpanded: a,
|
|
9177
9458
|
onSelect: r,
|
|
9178
|
-
footer: t.tags && t.tags.length > 0 ? /* @__PURE__ */ b(
|
|
9459
|
+
footer: t.tags && t.tags.length > 0 ? /* @__PURE__ */ b(Qd, {
|
|
9179
9460
|
gap: "tight",
|
|
9180
9461
|
"aria-label": `Tags for ${t.title}`,
|
|
9181
|
-
children: t.tags.map((e) => /* @__PURE__ */ b(
|
|
9462
|
+
children: t.tags.map((e) => /* @__PURE__ */ b(Xd, {
|
|
9182
9463
|
size: "small",
|
|
9183
9464
|
variant: "outlined",
|
|
9184
9465
|
children: e
|
|
@@ -9194,10 +9475,10 @@ var Pd = {
|
|
|
9194
9475
|
})]
|
|
9195
9476
|
}, t.periodStart))
|
|
9196
9477
|
}));
|
|
9197
|
-
|
|
9478
|
+
$d.displayName = "DayView";
|
|
9198
9479
|
//#endregion
|
|
9199
9480
|
//#region src/components/TimelineContainer/components/views/HourView.tsx
|
|
9200
|
-
var
|
|
9481
|
+
var ef = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry: i }) => /* @__PURE__ */ b("div", {
|
|
9201
9482
|
className: "timeline-view timeline-view--hour",
|
|
9202
9483
|
role: "list",
|
|
9203
9484
|
children: t.map((t) => /* @__PURE__ */ x("div", {
|
|
@@ -9205,7 +9486,7 @@ var zd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry
|
|
|
9205
9486
|
role: "listitem",
|
|
9206
9487
|
children: [/* @__PURE__ */ b("div", {
|
|
9207
9488
|
className: "timeline-view__node",
|
|
9208
|
-
children: /* @__PURE__ */ b(
|
|
9489
|
+
children: /* @__PURE__ */ b(id, {
|
|
9209
9490
|
shape: "circle",
|
|
9210
9491
|
size: "medium",
|
|
9211
9492
|
variant: "default",
|
|
@@ -9215,22 +9496,22 @@ var zd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry
|
|
|
9215
9496
|
}), /* @__PURE__ */ b("div", {
|
|
9216
9497
|
className: "timeline-view__content",
|
|
9217
9498
|
children: t.entries.map((t) => {
|
|
9218
|
-
let a = n === t.id, o = () => /* @__PURE__ */ x(
|
|
9499
|
+
let a = n === t.id, o = () => /* @__PURE__ */ x(Wd, {
|
|
9219
9500
|
entry: t,
|
|
9220
9501
|
isSelected: a,
|
|
9221
9502
|
isExpanded: !0,
|
|
9222
9503
|
onSelect: r,
|
|
9223
9504
|
footer: /* @__PURE__ */ x("div", {
|
|
9224
9505
|
className: "timeline-view__entry-footer",
|
|
9225
|
-
children: [t.tags && t.tags.length > 0 && /* @__PURE__ */ b(
|
|
9506
|
+
children: [t.tags && t.tags.length > 0 && /* @__PURE__ */ b(Qd, {
|
|
9226
9507
|
gap: "tight",
|
|
9227
9508
|
"aria-label": `Tags for ${t.title}`,
|
|
9228
|
-
children: t.tags.map((e) => /* @__PURE__ */ b(
|
|
9509
|
+
children: t.tags.map((e) => /* @__PURE__ */ b(Xd, {
|
|
9229
9510
|
size: "small",
|
|
9230
9511
|
variant: "outlined",
|
|
9231
9512
|
children: e
|
|
9232
9513
|
}, e))
|
|
9233
|
-
}), t.type && /* @__PURE__ */ b(
|
|
9514
|
+
}), t.type && /* @__PURE__ */ b(Gu, {
|
|
9234
9515
|
variant: "default",
|
|
9235
9516
|
size: "small",
|
|
9236
9517
|
children: t.type
|
|
@@ -9239,7 +9520,7 @@ var zd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry
|
|
|
9239
9520
|
children: [/* @__PURE__ */ b("time", {
|
|
9240
9521
|
className: "timeline-view__timestamp",
|
|
9241
9522
|
dateTime: t.date,
|
|
9242
|
-
children:
|
|
9523
|
+
children: vd(t.date)
|
|
9243
9524
|
}), t.kind === "text" && t.content !== void 0 && /* @__PURE__ */ b("div", {
|
|
9244
9525
|
className: "timeline-view__entry-content",
|
|
9245
9526
|
children: t.content
|
|
@@ -9254,29 +9535,29 @@ var zd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry
|
|
|
9254
9535
|
})]
|
|
9255
9536
|
}, t.periodStart))
|
|
9256
9537
|
}));
|
|
9257
|
-
|
|
9538
|
+
ef.displayName = "HourView";
|
|
9258
9539
|
//#endregion
|
|
9259
9540
|
//#region src/components/TimelineContainer/components/TimelineContent.tsx
|
|
9260
|
-
var
|
|
9541
|
+
var tf = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBucketClick: i, renderEntry: a }) => {
|
|
9261
9542
|
switch (e) {
|
|
9262
|
-
case "year": return /* @__PURE__ */ b(
|
|
9543
|
+
case "year": return /* @__PURE__ */ b(Ld, {
|
|
9263
9544
|
buckets: t,
|
|
9264
9545
|
onBucketClick: i
|
|
9265
9546
|
});
|
|
9266
|
-
case "month": return /* @__PURE__ */ b(
|
|
9547
|
+
case "month": return /* @__PURE__ */ b(Jd, {
|
|
9267
9548
|
buckets: t,
|
|
9268
9549
|
selectedEntryId: n,
|
|
9269
9550
|
onEntrySelect: r,
|
|
9270
9551
|
onBucketClick: i,
|
|
9271
9552
|
renderEntry: a
|
|
9272
9553
|
});
|
|
9273
|
-
case "day": return /* @__PURE__ */ b(
|
|
9554
|
+
case "day": return /* @__PURE__ */ b($d, {
|
|
9274
9555
|
buckets: t,
|
|
9275
9556
|
selectedEntryId: n,
|
|
9276
9557
|
onEntrySelect: r,
|
|
9277
9558
|
renderEntry: a
|
|
9278
9559
|
});
|
|
9279
|
-
case "hour": return /* @__PURE__ */ b(
|
|
9560
|
+
case "hour": return /* @__PURE__ */ b(ef, {
|
|
9280
9561
|
buckets: t,
|
|
9281
9562
|
selectedEntryId: n,
|
|
9282
9563
|
onEntrySelect: r,
|
|
@@ -9284,7 +9565,7 @@ var Bd = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBu
|
|
|
9284
9565
|
});
|
|
9285
9566
|
default: return e;
|
|
9286
9567
|
}
|
|
9287
|
-
},
|
|
9568
|
+
}, nf = ({ entries: e, selectedEntryId: t, onSelect: n, onDeselect: r, renderEntry: i, formatDate: o }) => {
|
|
9288
9569
|
let c = e.find((e) => e.id === t) ?? null, l = f(null), u = f(null), d = f(t);
|
|
9289
9570
|
s(() => {
|
|
9290
9571
|
let e = d.current;
|
|
@@ -9329,7 +9610,7 @@ var Bd = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBu
|
|
|
9329
9610
|
children: [/* @__PURE__ */ b("span", {
|
|
9330
9611
|
className: "eidotter-timeline-md__rail-node",
|
|
9331
9612
|
"aria-hidden": "true",
|
|
9332
|
-
children: /* @__PURE__ */ b(
|
|
9613
|
+
children: /* @__PURE__ */ b(id, {
|
|
9333
9614
|
shape: "circle",
|
|
9334
9615
|
size: "sm",
|
|
9335
9616
|
variant: "default",
|
|
@@ -9363,7 +9644,7 @@ var Bd = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBu
|
|
|
9363
9644
|
}), /* @__PURE__ */ b("div", {
|
|
9364
9645
|
className: "eidotter-timeline-md__detail-body",
|
|
9365
9646
|
children: ((e) => {
|
|
9366
|
-
let t = () => /* @__PURE__ */ b(
|
|
9647
|
+
let t = () => /* @__PURE__ */ b(Wd, {
|
|
9367
9648
|
entry: e,
|
|
9368
9649
|
isSelected: !0,
|
|
9369
9650
|
isExpanded: !0
|
|
@@ -9382,19 +9663,19 @@ var Bd = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBu
|
|
|
9382
9663
|
})]
|
|
9383
9664
|
});
|
|
9384
9665
|
};
|
|
9385
|
-
|
|
9666
|
+
nf.displayName = "MasterDetailLayout";
|
|
9386
9667
|
//#endregion
|
|
9387
9668
|
//#region src/components/TimelineContainer/components/TimelineContainer.tsx
|
|
9388
|
-
var
|
|
9389
|
-
let S = t === "static", C = t === "feed", w = S || C, T = t === "master-detail", E = f(null), D = f(null), [O, k] = p(""), { zoomLevel: A, canZoomIn: j, canZoomOut: M, breadcrumbs: N, currentPeriod: P, isDrillDownEnabled: ee, drillDown: F, drillUp: te, reset: ne } =
|
|
9669
|
+
var rf = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel: r = "month", onZoomChange: i, selectedEntryId: o, defaultSelectedEntryId: c, onSelectEntry: l, sortOrder: d = "desc", scrollToZoom: m = !0, keyboardShortcuts: h = !0, renderEntry: g, pageSize: _ = 10, onLoadMore: v, ...y }) => {
|
|
9670
|
+
let S = t === "static", C = t === "feed", w = S || C, T = t === "master-detail", E = f(null), D = f(null), [O, k] = p(""), { zoomLevel: A, canZoomIn: j, canZoomOut: M, breadcrumbs: N, currentPeriod: P, isDrillDownEnabled: ee, drillDown: F, drillUp: te, reset: ne } = od({
|
|
9390
9671
|
zoomLevel: n,
|
|
9391
9672
|
defaultZoomLevel: r,
|
|
9392
9673
|
onZoomChange: i
|
|
9393
|
-
}), { selectedEntryId: re, select: ie, toggle: I, deselect: L } =
|
|
9674
|
+
}), { selectedEntryId: re, select: ie, toggle: I, deselect: L } = sd({
|
|
9394
9675
|
selectedEntryId: o,
|
|
9395
9676
|
defaultSelectedEntryId: c,
|
|
9396
9677
|
onSelectEntry: l
|
|
9397
|
-
}), ae = u(() =>
|
|
9678
|
+
}), ae = u(() => Pd(e, A, d), [
|
|
9398
9679
|
e,
|
|
9399
9680
|
A,
|
|
9400
9681
|
d
|
|
@@ -9403,7 +9684,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9403
9684
|
"month",
|
|
9404
9685
|
"day",
|
|
9405
9686
|
"hour"
|
|
9406
|
-
][N.length - 1] : null, R = u(() => P && oe ?
|
|
9687
|
+
][N.length - 1] : null, R = u(() => P && oe ? Nd(ae, P, oe) : ae, [
|
|
9407
9688
|
ae,
|
|
9408
9689
|
P,
|
|
9409
9690
|
oe
|
|
@@ -9505,7 +9786,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9505
9786
|
return /* @__PURE__ */ x("div", {
|
|
9506
9787
|
ref: E,
|
|
9507
9788
|
...y,
|
|
9508
|
-
className: $("font-dos text-dos-text-brand p-4
|
|
9789
|
+
className: $("font-dos text-dos-text-brand p-4", "eidotter-timeline-container", S && "eidotter-timeline-container--static", C && "eidotter-timeline-container--feed", T && "eidotter-timeline-container--master-detail", y.className),
|
|
9509
9790
|
role: "region",
|
|
9510
9791
|
"aria-label": y["aria-label"] ?? "Timeline",
|
|
9511
9792
|
tabIndex: w || T ? void 0 : 0,
|
|
@@ -9517,7 +9798,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9517
9798
|
"aria-atomic": "true",
|
|
9518
9799
|
children: O
|
|
9519
9800
|
}),
|
|
9520
|
-
!w && !T && /* @__PURE__ */ b(
|
|
9801
|
+
!w && !T && /* @__PURE__ */ b(Fd, {
|
|
9521
9802
|
zoomLevel: A,
|
|
9522
9803
|
canZoomIn: j,
|
|
9523
9804
|
canZoomOut: M,
|
|
@@ -9536,12 +9817,12 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9536
9817
|
className: "eidotter-timeline-container__empty",
|
|
9537
9818
|
role: "status",
|
|
9538
9819
|
children: [/* @__PURE__ */ b("p", { children: "C:\\TIMELINE> No entries found." }), /* @__PURE__ */ b("p", { children: "_" })]
|
|
9539
|
-
}) : S ? /* @__PURE__ */ b(
|
|
9820
|
+
}) : S ? /* @__PURE__ */ b(Id, { children: /* @__PURE__ */ b("div", {
|
|
9540
9821
|
className: "eidotter-timeline-container__static",
|
|
9541
9822
|
role: "list",
|
|
9542
9823
|
"aria-label": "Timeline",
|
|
9543
9824
|
children: B.map((e) => {
|
|
9544
|
-
let t = () => /* @__PURE__ */ b(
|
|
9825
|
+
let t = () => /* @__PURE__ */ b(Wd, {
|
|
9545
9826
|
entry: e,
|
|
9546
9827
|
isSelected: !1,
|
|
9547
9828
|
isExpanded: !0
|
|
@@ -9551,7 +9832,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9551
9832
|
role: "listitem",
|
|
9552
9833
|
children: [/* @__PURE__ */ b("div", {
|
|
9553
9834
|
className: "timeline-view__node",
|
|
9554
|
-
children: /* @__PURE__ */ b(
|
|
9835
|
+
children: /* @__PURE__ */ b(id, {
|
|
9555
9836
|
shape: "circle",
|
|
9556
9837
|
size: "medium",
|
|
9557
9838
|
variant: "default",
|
|
@@ -9565,12 +9846,12 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9565
9846
|
}) : t()]
|
|
9566
9847
|
}, e.id);
|
|
9567
9848
|
})
|
|
9568
|
-
}) }) : C ? /* @__PURE__ */ x(
|
|
9849
|
+
}) }) : C ? /* @__PURE__ */ x(Id, { children: [/* @__PURE__ */ b("div", {
|
|
9569
9850
|
className: "eidotter-timeline-container__feed",
|
|
9570
9851
|
role: "list",
|
|
9571
9852
|
"aria-label": "Timeline",
|
|
9572
9853
|
children: fe.map((e) => {
|
|
9573
|
-
let t = re === e.id, n = () => /* @__PURE__ */ b(
|
|
9854
|
+
let t = re === e.id, n = () => /* @__PURE__ */ b(Wd, {
|
|
9574
9855
|
entry: e,
|
|
9575
9856
|
isSelected: t,
|
|
9576
9857
|
isExpanded: t,
|
|
@@ -9581,7 +9862,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9581
9862
|
role: "listitem",
|
|
9582
9863
|
children: [/* @__PURE__ */ b("div", {
|
|
9583
9864
|
className: "timeline-view__node",
|
|
9584
|
-
children: /* @__PURE__ */ b(
|
|
9865
|
+
children: /* @__PURE__ */ b(id, {
|
|
9585
9866
|
shape: "circle",
|
|
9586
9867
|
size: "medium",
|
|
9587
9868
|
variant: "default",
|
|
@@ -9601,14 +9882,14 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9601
9882
|
onClick: me,
|
|
9602
9883
|
"aria-label": `Load more entries (showing ${V} of ${B.length})`,
|
|
9603
9884
|
children: "LOAD MORE..."
|
|
9604
|
-
})] }) : T ? /* @__PURE__ */ b(
|
|
9885
|
+
})] }) : T ? /* @__PURE__ */ b(nf, {
|
|
9605
9886
|
entries: B,
|
|
9606
9887
|
selectedEntryId: re,
|
|
9607
9888
|
onSelect: ie,
|
|
9608
9889
|
onDeselect: L,
|
|
9609
9890
|
renderEntry: g,
|
|
9610
9891
|
formatDate: ge
|
|
9611
|
-
}) : R.length === 0 && P ? /* @__PURE__ */ b(
|
|
9892
|
+
}) : R.length === 0 && P ? /* @__PURE__ */ b(Id, { children: /* @__PURE__ */ x("div", {
|
|
9612
9893
|
className: "eidotter-timeline-container__empty",
|
|
9613
9894
|
role: "status",
|
|
9614
9895
|
children: [/* @__PURE__ */ x("p", { children: [
|
|
@@ -9616,7 +9897,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9616
9897
|
N[N.length - 1]?.label ?? "this period",
|
|
9617
9898
|
"."
|
|
9618
9899
|
] }), /* @__PURE__ */ b("p", { children: "_" })]
|
|
9619
|
-
}) }) : /* @__PURE__ */ b(
|
|
9900
|
+
}) }) : /* @__PURE__ */ b(Id, { children: /* @__PURE__ */ b(tf, {
|
|
9620
9901
|
zoomLevel: A,
|
|
9621
9902
|
buckets: R,
|
|
9622
9903
|
selectedEntryId: re,
|
|
@@ -9627,7 +9908,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9627
9908
|
})
|
|
9628
9909
|
]
|
|
9629
9910
|
});
|
|
9630
|
-
},
|
|
9911
|
+
}, af = r(({ isOpen: e, onOpenChange: t, onClose: n, title: r, children: i, footer: a, className: o }, c) => {
|
|
9631
9912
|
let l = f(e), u = f(!1);
|
|
9632
9913
|
s(() => {
|
|
9633
9914
|
e !== l.current && (l.current = e, u.current || (t?.(e), e || n?.()), u.current = !1);
|
|
@@ -9679,12 +9960,12 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9679
9960
|
})
|
|
9680
9961
|
});
|
|
9681
9962
|
});
|
|
9682
|
-
|
|
9963
|
+
af.displayName = "Modal";
|
|
9683
9964
|
//#endregion
|
|
9684
9965
|
//#region src/hooks/useTextScramble.ts
|
|
9685
|
-
var
|
|
9686
|
-
function
|
|
9687
|
-
let { speed: n = 40, characters: r =
|
|
9966
|
+
var of = "░▒▓█│┤┐└┴┬├─┼", sf = 4;
|
|
9967
|
+
function cf(e, t) {
|
|
9968
|
+
let { speed: n = 40, characters: r = of, enabled: i = !0, delay: a = 0 } = t ?? {}, [o, c] = p(() => {
|
|
9688
9969
|
if (!i || Ql()) return e;
|
|
9689
9970
|
let t = "";
|
|
9690
9971
|
for (let n = 0; n < e.length; n++) e[n] === " " ? t += " " : t += r[Math.floor(Math.random() * r.length)];
|
|
@@ -9705,7 +9986,7 @@ function Kd(e, t) {
|
|
|
9705
9986
|
return;
|
|
9706
9987
|
}
|
|
9707
9988
|
if (a >= n) {
|
|
9708
|
-
if (s = i, o++, o >=
|
|
9989
|
+
if (s = i, o++, o >= sf && (t++, o = 0), t >= e.length) {
|
|
9709
9990
|
c(e), u(!1);
|
|
9710
9991
|
return;
|
|
9711
9992
|
}
|
|
@@ -9731,7 +10012,7 @@ function Kd(e, t) {
|
|
|
9731
10012
|
}
|
|
9732
10013
|
//#endregion
|
|
9733
10014
|
//#region src/components/Stat/components/Stat.tsx
|
|
9734
|
-
var
|
|
10015
|
+
var lf = {
|
|
9735
10016
|
sm: {
|
|
9736
10017
|
root: "gap-0.5",
|
|
9737
10018
|
label: "text-dos-text-xs",
|
|
@@ -9768,23 +10049,23 @@ var qd = {
|
|
|
9768
10049
|
value: "text-dos-display-md",
|
|
9769
10050
|
trend: "text-dos-text-md"
|
|
9770
10051
|
}
|
|
9771
|
-
},
|
|
10052
|
+
}, uf = {
|
|
9772
10053
|
up: "text-dos-text-success",
|
|
9773
10054
|
down: "text-dos-text-error",
|
|
9774
10055
|
neutral: "text-dos-text-brand"
|
|
9775
|
-
},
|
|
10056
|
+
}, df = {
|
|
9776
10057
|
up: "▲",
|
|
9777
10058
|
down: "▼",
|
|
9778
10059
|
neutral: "►"
|
|
9779
|
-
},
|
|
10060
|
+
}, ff = {
|
|
9780
10061
|
up: "increasing",
|
|
9781
10062
|
down: "decreasing",
|
|
9782
10063
|
neutral: "unchanged"
|
|
9783
|
-
},
|
|
9784
|
-
let { text: l } =
|
|
10064
|
+
}, pf = r(({ label: e, value: t, trend: n, trendValue: r, size: i = "md", scramble: a = !1, className: o, ...s }, c) => {
|
|
10065
|
+
let { text: l } = cf(String(t), {
|
|
9785
10066
|
speed: 30,
|
|
9786
10067
|
enabled: a
|
|
9787
|
-
}), u = a ? l : String(t), d =
|
|
10068
|
+
}), u = a ? l : String(t), d = lf[i] || lf.md;
|
|
9788
10069
|
return /* @__PURE__ */ x("div", {
|
|
9789
10070
|
ref: c,
|
|
9790
10071
|
className: $("flex flex-col font-dos", "eidotter-stat", d.root, o),
|
|
@@ -9799,12 +10080,12 @@ var qd = {
|
|
|
9799
10080
|
children: u
|
|
9800
10081
|
}),
|
|
9801
10082
|
n && /* @__PURE__ */ x("span", {
|
|
9802
|
-
className: $("inline-flex items-center gap-1 leading-none",
|
|
9803
|
-
"aria-label": `Trend: ${
|
|
10083
|
+
className: $("inline-flex items-center gap-1 leading-none", uf[n], d.trend),
|
|
10084
|
+
"aria-label": `Trend: ${ff[n]}${r ? `, ${r}` : ""}`,
|
|
9804
10085
|
children: [/* @__PURE__ */ b("span", {
|
|
9805
10086
|
className: "text-[0.8em]",
|
|
9806
10087
|
"aria-hidden": "true",
|
|
9807
|
-
children:
|
|
10088
|
+
children: df[n]
|
|
9808
10089
|
}), r && /* @__PURE__ */ b("span", {
|
|
9809
10090
|
className: "tabular-nums",
|
|
9810
10091
|
children: r
|
|
@@ -9813,17 +10094,17 @@ var qd = {
|
|
|
9813
10094
|
]
|
|
9814
10095
|
});
|
|
9815
10096
|
});
|
|
9816
|
-
|
|
10097
|
+
pf.displayName = "Stat";
|
|
9817
10098
|
//#endregion
|
|
9818
10099
|
//#region src/components/FilterBar/components/FilterBar.tsx
|
|
9819
|
-
var
|
|
10100
|
+
var mf = {
|
|
9820
10101
|
sm: "eidotter-filter-bar--sm",
|
|
9821
10102
|
md: "eidotter-filter-bar--md",
|
|
9822
10103
|
lg: "eidotter-filter-bar--lg",
|
|
9823
10104
|
small: "eidotter-filter-bar--sm",
|
|
9824
10105
|
medium: "eidotter-filter-bar--md",
|
|
9825
10106
|
large: "eidotter-filter-bar--lg"
|
|
9826
|
-
},
|
|
10107
|
+
}, hf = ({ items: e, activeIds: t, defaultActiveIds: n = [], mode: r = "multi", showAll: i = !1, allLabel: o = "All", size: s = "md", onChange: c, className: l, ...u }) => {
|
|
9827
10108
|
let [d, m] = p(n), h = f(null), g = t !== void 0, _ = g ? t : d, v = e.filter((e) => !e.disabled).map((e) => e.id), y = _.length === 0, S = a((e) => {
|
|
9828
10109
|
g || m(e), c?.(e);
|
|
9829
10110
|
}, [g, c]), C = a((e) => {
|
|
@@ -9858,7 +10139,7 @@ var Qd = {
|
|
|
9858
10139
|
}, [T]), D = i && y ? "__all__" : _.length > 0 ? _[0] : i ? "__all__" : v[0] || null;
|
|
9859
10140
|
return /* @__PURE__ */ x("div", {
|
|
9860
10141
|
ref: h,
|
|
9861
|
-
className: $("inline-flex flex-wrap items-center gap-1 p-1 font-dos max-w-full", "bg-dos-bg-secondary border border-dos-border-default rounded-dos-sm", "eidotter-filter-bar",
|
|
10142
|
+
className: $("inline-flex flex-wrap items-center gap-1 p-1 font-dos max-w-full", "bg-dos-bg-secondary border border-dos-border-default rounded-dos-sm", "eidotter-filter-bar", mf[s] || mf.md, l),
|
|
9862
10143
|
role: "toolbar",
|
|
9863
10144
|
onKeyDown: E,
|
|
9864
10145
|
...u,
|
|
@@ -9891,7 +10172,7 @@ var Qd = {
|
|
|
9891
10172
|
}, e.id);
|
|
9892
10173
|
})]
|
|
9893
10174
|
});
|
|
9894
|
-
},
|
|
10175
|
+
}, gf = (e) => {
|
|
9895
10176
|
if (!e) return !1;
|
|
9896
10177
|
try {
|
|
9897
10178
|
let t = new URL(e);
|
|
@@ -9903,8 +10184,19 @@ var Qd = {
|
|
|
9903
10184
|
} catch {
|
|
9904
10185
|
return !1;
|
|
9905
10186
|
}
|
|
9906
|
-
}
|
|
9907
|
-
|
|
10187
|
+
};
|
|
10188
|
+
//#endregion
|
|
10189
|
+
//#region src/components/InlineExpand/components/InlineExpand.tsx
|
|
10190
|
+
function _f(e) {
|
|
10191
|
+
try {
|
|
10192
|
+
let { hostname: t } = new URL(e);
|
|
10193
|
+
return `https://www.google.com/s2/favicons?domain=${encodeURIComponent(t)}&sz=32`;
|
|
10194
|
+
} catch {
|
|
10195
|
+
return null;
|
|
10196
|
+
}
|
|
10197
|
+
}
|
|
10198
|
+
var vf = ({ children: e, content: t, defaultExpanded: n = !1, expanded: r, onToggle: i, sources: a = [], className: o, ...s }) => {
|
|
10199
|
+
let [l, u] = p(n), [d, m] = p({}), h = f(n), g = c(), _ = f(null), v = r !== void 0, y = v ? r : l;
|
|
9908
10200
|
y && (h.current = !0);
|
|
9909
10201
|
let S = () => {
|
|
9910
10202
|
let e = !y;
|
|
@@ -9944,24 +10236,54 @@ var Qd = {
|
|
|
9944
10236
|
className: "eidotter-inline-expand__source-item",
|
|
9945
10237
|
role: "listitem",
|
|
9946
10238
|
children: /* @__PURE__ */ x("a", {
|
|
9947
|
-
href:
|
|
10239
|
+
href: gf(e.url) ? e.url : void 0,
|
|
9948
10240
|
className: "eidotter-inline-expand__source-link",
|
|
9949
10241
|
target: "_blank",
|
|
9950
10242
|
rel: "noopener noreferrer",
|
|
9951
10243
|
"aria-label": `${e.title} (opens external website)`,
|
|
9952
|
-
children: [
|
|
9953
|
-
|
|
9954
|
-
|
|
9955
|
-
|
|
9956
|
-
|
|
9957
|
-
|
|
9958
|
-
|
|
9959
|
-
|
|
9960
|
-
|
|
9961
|
-
|
|
9962
|
-
|
|
9963
|
-
|
|
9964
|
-
|
|
10244
|
+
children: [(() => {
|
|
10245
|
+
if (!h.current) return /* @__PURE__ */ b("span", {
|
|
10246
|
+
className: "eidotter-inline-expand__source-icon",
|
|
10247
|
+
"aria-hidden": "true",
|
|
10248
|
+
children: "[→]"
|
|
10249
|
+
});
|
|
10250
|
+
let t = d[e.url];
|
|
10251
|
+
if (t === "icon") return /* @__PURE__ */ b("span", {
|
|
10252
|
+
className: "eidotter-inline-expand__source-icon",
|
|
10253
|
+
"aria-hidden": "true",
|
|
10254
|
+
children: "[→]"
|
|
10255
|
+
});
|
|
10256
|
+
let n = !!e.favicon && gf(e.favicon);
|
|
10257
|
+
if (!t && n) return /* @__PURE__ */ b("img", {
|
|
10258
|
+
className: "eidotter-inline-expand__source-favicon",
|
|
10259
|
+
src: e.favicon,
|
|
10260
|
+
alt: "",
|
|
10261
|
+
width: 16,
|
|
10262
|
+
height: 16,
|
|
10263
|
+
decoding: "async",
|
|
10264
|
+
onError: () => m((t) => ({
|
|
10265
|
+
...t,
|
|
10266
|
+
[e.url]: "google"
|
|
10267
|
+
}))
|
|
10268
|
+
});
|
|
10269
|
+
let r = _f(e.url);
|
|
10270
|
+
return r ? /* @__PURE__ */ b("img", {
|
|
10271
|
+
className: "eidotter-inline-expand__source-favicon",
|
|
10272
|
+
src: r,
|
|
10273
|
+
alt: "",
|
|
10274
|
+
width: 16,
|
|
10275
|
+
height: 16,
|
|
10276
|
+
decoding: "async",
|
|
10277
|
+
onError: () => m((t) => ({
|
|
10278
|
+
...t,
|
|
10279
|
+
[e.url]: "icon"
|
|
10280
|
+
}))
|
|
10281
|
+
}) : /* @__PURE__ */ b("span", {
|
|
10282
|
+
className: "eidotter-inline-expand__source-icon",
|
|
10283
|
+
"aria-hidden": "true",
|
|
10284
|
+
children: "[→]"
|
|
10285
|
+
});
|
|
10286
|
+
})(), /* @__PURE__ */ b("span", {
|
|
9965
10287
|
className: "eidotter-inline-expand__source-title",
|
|
9966
10288
|
children: e.title
|
|
9967
10289
|
})]
|
|
@@ -9971,40 +10293,40 @@ var Qd = {
|
|
|
9971
10293
|
})
|
|
9972
10294
|
})]
|
|
9973
10295
|
});
|
|
9974
|
-
},
|
|
10296
|
+
}, yf = {
|
|
9975
10297
|
horizontal: "h-px w-full",
|
|
9976
10298
|
vertical: "w-px h-full"
|
|
9977
|
-
},
|
|
10299
|
+
}, bf = ({ orientation: e = "horizontal", className: t }) => /* @__PURE__ */ b("div", {
|
|
9978
10300
|
role: "separator",
|
|
9979
10301
|
"aria-orientation": e,
|
|
9980
|
-
className: $("shrink-0 bg-dos-border-default", "eidotter-separator",
|
|
9981
|
-
}),
|
|
10302
|
+
className: $("shrink-0 bg-dos-border-default", "eidotter-separator", yf[e], t)
|
|
10303
|
+
}), xf = {
|
|
9982
10304
|
default: "text-dos-text-primary",
|
|
9983
10305
|
error: "text-dos-error",
|
|
9984
10306
|
warning: "text-dos-warning",
|
|
9985
10307
|
info: "text-dos-info"
|
|
9986
|
-
},
|
|
9987
|
-
className: $("eidotter-section-heading", "font-dos uppercase tracking-wider mb-2 text-dos-text-sm",
|
|
10308
|
+
}, Sf = ({ title: e, count: t, tone: n = "default", children: r, className: i }) => /* @__PURE__ */ x("h3", {
|
|
10309
|
+
className: $("eidotter-section-heading", "font-dos uppercase tracking-wider mb-2 text-dos-text-sm", xf[n], i),
|
|
9988
10310
|
children: [
|
|
9989
10311
|
e,
|
|
9990
10312
|
t !== void 0 && ` (${t})`,
|
|
9991
10313
|
r
|
|
9992
10314
|
]
|
|
9993
10315
|
});
|
|
9994
|
-
|
|
10316
|
+
Sf.displayName = "SectionHeading";
|
|
9995
10317
|
//#endregion
|
|
9996
10318
|
//#region src/components/EmptyState/components/EmptyState.tsx
|
|
9997
|
-
var
|
|
10319
|
+
var Cf = {
|
|
9998
10320
|
default: "text-dos-text-primary",
|
|
9999
10321
|
error: "text-dos-error",
|
|
10000
10322
|
warning: "text-dos-warning",
|
|
10001
10323
|
info: "text-dos-info"
|
|
10002
|
-
},
|
|
10324
|
+
}, wf = ({ title: e, description: t, tone: n = "default", action: r, className: i }) => /* @__PURE__ */ x("div", {
|
|
10003
10325
|
className: $("eidotter-empty-state", "flex flex-col gap-2 py-6 text-center", i),
|
|
10004
10326
|
role: "status",
|
|
10005
10327
|
children: [
|
|
10006
10328
|
/* @__PURE__ */ b("p", {
|
|
10007
|
-
className: $("font-dos text-dos-text-sm",
|
|
10329
|
+
className: $("font-dos text-dos-text-sm", Cf[n]),
|
|
10008
10330
|
children: e
|
|
10009
10331
|
}),
|
|
10010
10332
|
t && /* @__PURE__ */ b("p", {
|
|
@@ -10017,14 +10339,14 @@ var sf = {
|
|
|
10017
10339
|
})
|
|
10018
10340
|
]
|
|
10019
10341
|
});
|
|
10020
|
-
|
|
10342
|
+
wf.displayName = "EmptyState";
|
|
10021
10343
|
//#endregion
|
|
10022
10344
|
//#region src/components/ChecklistRow/components/ChecklistRow.tsx
|
|
10023
|
-
var
|
|
10345
|
+
var Tf = {
|
|
10024
10346
|
default: "text-dos-text-primary",
|
|
10025
10347
|
muted: "text-dos-text-muted line-through",
|
|
10026
10348
|
error: "text-dos-error"
|
|
10027
|
-
},
|
|
10349
|
+
}, Ef = ({ checked: e, onToggle: t, disabled: n, pending: r, ariaLabel: i, labelTone: a = "default", label: o, children: s, note: c, leading: l, trailing: u, className: d }) => /* @__PURE__ */ x("div", {
|
|
10028
10350
|
className: $("eidotter-checklist-row", "flex items-start gap-3 py-2 border-b border-dos-border-disabled", r && "opacity-50", d),
|
|
10029
10351
|
children: [
|
|
10030
10352
|
/* @__PURE__ */ b("button", {
|
|
@@ -10045,7 +10367,7 @@ var lf = {
|
|
|
10045
10367
|
children: l
|
|
10046
10368
|
}),
|
|
10047
10369
|
o !== void 0 && /* @__PURE__ */ b("div", {
|
|
10048
|
-
className: $("font-dos text-dos-text-sm",
|
|
10370
|
+
className: $("font-dos text-dos-text-sm", Tf[a]),
|
|
10049
10371
|
children: o
|
|
10050
10372
|
}),
|
|
10051
10373
|
s,
|
|
@@ -10061,10 +10383,10 @@ var lf = {
|
|
|
10061
10383
|
})
|
|
10062
10384
|
]
|
|
10063
10385
|
});
|
|
10064
|
-
|
|
10386
|
+
Ef.displayName = "ChecklistRow";
|
|
10065
10387
|
//#endregion
|
|
10066
10388
|
//#region src/components/CopyButton/components/CopyButton.tsx
|
|
10067
|
-
var
|
|
10389
|
+
var Df = ({ value: e, label: t = "[cp]", copiedLabel: n = "[OK]", title: r = "Copy to clipboard", copiedTitle: i = "Copied!", className: o }) => {
|
|
10068
10390
|
let [s, c] = p(!1), l = f(null), u = a(() => {
|
|
10069
10391
|
c(!0), l.current && clearTimeout(l.current), l.current = setTimeout(() => c(!1), 1500);
|
|
10070
10392
|
}, []), d = a(() => {
|
|
@@ -10094,10 +10416,10 @@ var df = ({ value: e, label: t = "[cp]", copiedLabel: n = "[OK]", title: r = "Co
|
|
|
10094
10416
|
children: s ? n : t
|
|
10095
10417
|
});
|
|
10096
10418
|
};
|
|
10097
|
-
|
|
10419
|
+
Df.displayName = "CopyButton";
|
|
10098
10420
|
//#endregion
|
|
10099
10421
|
//#region src/components/Select/components/Select.tsx
|
|
10100
|
-
var
|
|
10422
|
+
var Of = ({ value: e, options: t, onChange: n, id: r, disabled: i, className: a, "aria-label": o }) => /* @__PURE__ */ b("select", {
|
|
10101
10423
|
id: r,
|
|
10102
10424
|
"aria-label": o,
|
|
10103
10425
|
value: e,
|
|
@@ -10110,10 +10432,10 @@ var ff = ({ value: e, options: t, onChange: n, id: r, disabled: i, className: a,
|
|
|
10110
10432
|
children: e.label
|
|
10111
10433
|
}, e.value))
|
|
10112
10434
|
});
|
|
10113
|
-
|
|
10435
|
+
Of.displayName = "Select";
|
|
10114
10436
|
//#endregion
|
|
10115
10437
|
//#region src/components/LedgerRow/components/LedgerRow.tsx
|
|
10116
|
-
var
|
|
10438
|
+
var kf = ({ label: e, note: t, value: n, copyValue: r, trailing: i, pending: a, className: o }) => /* @__PURE__ */ x("div", {
|
|
10117
10439
|
className: $("eidotter-ledger-row", "flex items-center gap-3 py-2 border-b border-dos-border-disabled", a && "opacity-50", o),
|
|
10118
10440
|
children: [/* @__PURE__ */ x("div", {
|
|
10119
10441
|
className: "flex-1 min-w-0",
|
|
@@ -10131,15 +10453,15 @@ var pf = ({ label: e, note: t, value: n, copyValue: r, trailing: i, pending: a,
|
|
|
10131
10453
|
className: "font-dos text-dos-text-sm text-dos-text-accent tabular-nums",
|
|
10132
10454
|
children: n
|
|
10133
10455
|
}),
|
|
10134
|
-
r !== void 0 && /* @__PURE__ */ b(
|
|
10456
|
+
r !== void 0 && /* @__PURE__ */ b(Df, { value: r }),
|
|
10135
10457
|
i
|
|
10136
10458
|
]
|
|
10137
10459
|
})]
|
|
10138
10460
|
});
|
|
10139
|
-
|
|
10461
|
+
kf.displayName = "LedgerRow";
|
|
10140
10462
|
//#endregion
|
|
10141
10463
|
//#region src/components/LabeledProgress/components/LabeledProgress.tsx
|
|
10142
|
-
var
|
|
10464
|
+
var Af = ({ label: e, value: t, max: n = 100, valueSuffix: r = "%", showValue: i = !0, className: a, "aria-label": o }) => {
|
|
10143
10465
|
let s = n === 0 ? 0 : Math.min(100, Math.max(0, Math.round(t / n * 100)));
|
|
10144
10466
|
return /* @__PURE__ */ x("div", {
|
|
10145
10467
|
className: $("eidotter-labeled-progress", "flex items-center gap-3", a),
|
|
@@ -10167,11 +10489,11 @@ var mf = ({ label: e, value: t, max: n = 100, valueSuffix: r = "%", showValue: i
|
|
|
10167
10489
|
]
|
|
10168
10490
|
});
|
|
10169
10491
|
};
|
|
10170
|
-
|
|
10492
|
+
Af.displayName = "LabeledProgress";
|
|
10171
10493
|
//#endregion
|
|
10172
10494
|
//#region src/components/TextScramble/components/TextScramble.tsx
|
|
10173
|
-
var
|
|
10174
|
-
let { text: s, isScrambling: c } =
|
|
10495
|
+
var jf = r(({ children: e, speed: t, characters: n, delay: r, className: i, ...a }, o) => {
|
|
10496
|
+
let { text: s, isScrambling: c } = cf(e, {
|
|
10175
10497
|
speed: t,
|
|
10176
10498
|
characters: n,
|
|
10177
10499
|
delay: r
|
|
@@ -10183,16 +10505,16 @@ var hf = r(({ children: e, speed: t, characters: n, delay: r, className: i, ...a
|
|
|
10183
10505
|
children: s
|
|
10184
10506
|
});
|
|
10185
10507
|
});
|
|
10186
|
-
|
|
10508
|
+
jf.displayName = "TextScramble";
|
|
10187
10509
|
//#endregion
|
|
10188
10510
|
//#region src/components/Nav/components/Nav.tsx
|
|
10189
|
-
var
|
|
10511
|
+
var Mf = {
|
|
10190
10512
|
retro: "eidotter-nav--retro",
|
|
10191
10513
|
modern: "eidotter-nav--modern"
|
|
10192
|
-
},
|
|
10514
|
+
}, Nf = ({ items: e, activeHref: t, variant: n = "retro", linkComponent: r, className: i }) => {
|
|
10193
10515
|
let a = r || "a";
|
|
10194
10516
|
return /* @__PURE__ */ b("nav", {
|
|
10195
|
-
className: $("eidotter-nav eidotter-nav--desktop",
|
|
10517
|
+
className: $("eidotter-nav eidotter-nav--desktop", Mf[n], i),
|
|
10196
10518
|
"aria-label": "Main navigation",
|
|
10197
10519
|
children: /* @__PURE__ */ b("ul", {
|
|
10198
10520
|
className: "eidotter-nav__desktop-list",
|
|
@@ -10207,7 +10529,7 @@ var gf = {
|
|
|
10207
10529
|
}, e.href))
|
|
10208
10530
|
})
|
|
10209
10531
|
});
|
|
10210
|
-
},
|
|
10532
|
+
}, Pf = ({ items: e, activeHref: t, variant: n = "retro", linkComponent: r, className: i }) => {
|
|
10211
10533
|
let [o, c] = p(!1), l = r || "a", u = f(null), d = f(null), m = f(null), h = f(!1), g = a(() => c((e) => !e), []), _ = a(() => c(!1), []);
|
|
10212
10534
|
return s(() => {
|
|
10213
10535
|
if (!o) return;
|
|
@@ -10218,7 +10540,7 @@ var gf = {
|
|
|
10218
10540
|
}, [o, _]), s(() => {
|
|
10219
10541
|
o ? d.current?.focus() : h.current && u.current?.focus(), h.current = o;
|
|
10220
10542
|
}, [o]), /* @__PURE__ */ x("div", {
|
|
10221
|
-
className: $("eidotter-nav eidotter-nav--mobile",
|
|
10543
|
+
className: $("eidotter-nav eidotter-nav--mobile", Mf[n], i),
|
|
10222
10544
|
children: [
|
|
10223
10545
|
/* @__PURE__ */ b("button", {
|
|
10224
10546
|
ref: u,
|
|
@@ -10275,14 +10597,14 @@ var gf = {
|
|
|
10275
10597
|
})
|
|
10276
10598
|
]
|
|
10277
10599
|
});
|
|
10278
|
-
},
|
|
10600
|
+
}, Ff = (e) => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(Pf, { ...e }), /* @__PURE__ */ b(Nf, { ...e })] }), If = {
|
|
10279
10601
|
user: "eidotter-chat-message--user",
|
|
10280
10602
|
assistant: "eidotter-chat-message--assistant",
|
|
10281
10603
|
system: "eidotter-chat-message--system"
|
|
10282
|
-
},
|
|
10604
|
+
}, Lf = ({ role: e, content: t, isStreaming: n = !1, userPrefix: r = ">", assistantPrefix: i = "C:\\>", className: a, ...o }) => {
|
|
10283
10605
|
let s = e === "user" ? r : e === "assistant" ? i : "";
|
|
10284
10606
|
return /* @__PURE__ */ x("div", {
|
|
10285
|
-
className: $("flex gap-2 font-dos text-dos-text-md leading-[1.4] py-1 whitespace-pre-wrap break-words",
|
|
10607
|
+
className: $("flex gap-2 font-dos text-dos-text-md leading-[1.4] py-1 whitespace-pre-wrap break-words", If[e], n && "eidotter-chat-message--streaming", a),
|
|
10286
10608
|
...o,
|
|
10287
10609
|
children: [
|
|
10288
10610
|
s && /* @__PURE__ */ b("span", {
|
|
@@ -10301,7 +10623,7 @@ var gf = {
|
|
|
10301
10623
|
})
|
|
10302
10624
|
]
|
|
10303
10625
|
});
|
|
10304
|
-
},
|
|
10626
|
+
}, Rf = ({ messages: e, isStreaming: t = !1, userPrefix: n, assistantPrefix: r, className: i, ...a }) => {
|
|
10305
10627
|
let o = f(null);
|
|
10306
10628
|
s(() => {
|
|
10307
10629
|
o.current?.scrollIntoView?.({ behavior: "smooth" });
|
|
@@ -10330,7 +10652,7 @@ var gf = {
|
|
|
10330
10652
|
className: "flex flex-col",
|
|
10331
10653
|
children: [e.map((i, a) => {
|
|
10332
10654
|
let o = t && i.role === "assistant" && a === e.length - 1;
|
|
10333
|
-
return /* @__PURE__ */ b(
|
|
10655
|
+
return /* @__PURE__ */ b(Lf, {
|
|
10334
10656
|
role: i.role,
|
|
10335
10657
|
content: i.content,
|
|
10336
10658
|
isStreaming: o,
|
|
@@ -10340,7 +10662,7 @@ var gf = {
|
|
|
10340
10662
|
}), /* @__PURE__ */ b("div", { ref: o })]
|
|
10341
10663
|
})
|
|
10342
10664
|
});
|
|
10343
|
-
},
|
|
10665
|
+
}, zf = ({ onSend: e, prompt: t = ">", placeholder: n, disabled: r = !1, className: i, ...a }) => {
|
|
10344
10666
|
let [o, s] = p(""), c = f(null);
|
|
10345
10667
|
l(() => {
|
|
10346
10668
|
let e = c.current;
|
|
@@ -10382,30 +10704,30 @@ var gf = {
|
|
|
10382
10704
|
})]
|
|
10383
10705
|
})]
|
|
10384
10706
|
});
|
|
10385
|
-
},
|
|
10707
|
+
}, Bf = ({ messages: e, onSend: t, isStreaming: n = !1, inputPrompt: r, userPrefix: i, assistantPrefix: a, placeholder: o, disabled: s = !1, className: c, ...l }) => /* @__PURE__ */ x("div", {
|
|
10386
10708
|
className: $("flex flex-col h-full min-h-0", c),
|
|
10387
10709
|
...l,
|
|
10388
|
-
children: [/* @__PURE__ */ b(
|
|
10710
|
+
children: [/* @__PURE__ */ b(Rf, {
|
|
10389
10711
|
className: "flex-1 min-h-0",
|
|
10390
10712
|
messages: e,
|
|
10391
10713
|
isStreaming: n,
|
|
10392
10714
|
userPrefix: i,
|
|
10393
10715
|
assistantPrefix: a
|
|
10394
|
-
}), /* @__PURE__ */ b(
|
|
10716
|
+
}), /* @__PURE__ */ b(zf, {
|
|
10395
10717
|
className: "shrink-0",
|
|
10396
10718
|
onSend: t,
|
|
10397
10719
|
prompt: r,
|
|
10398
10720
|
placeholder: o,
|
|
10399
10721
|
disabled: s
|
|
10400
10722
|
})]
|
|
10401
|
-
}),
|
|
10723
|
+
}), Vf = [{
|
|
10402
10724
|
label: "Impressum",
|
|
10403
10725
|
href: "/impressum"
|
|
10404
10726
|
}, {
|
|
10405
10727
|
label: "Datenschutz",
|
|
10406
10728
|
href: "/datenschutz"
|
|
10407
|
-
}],
|
|
10408
|
-
let s = n ??
|
|
10729
|
+
}], Hf = ({ copyright: t, links: n, linkComponent: r, children: i, className: a, ...o }) => {
|
|
10730
|
+
let s = n ?? Vf, c = r ?? "a", l = "eidotter-footer__link text-dos-text-brand no-underline";
|
|
10409
10731
|
return /* @__PURE__ */ x("footer", {
|
|
10410
10732
|
className: $("font-dos text-sm py-4 px-2 text-center", "eidotter-footer", a),
|
|
10411
10733
|
...o,
|
|
@@ -10443,14 +10765,14 @@ var gf = {
|
|
|
10443
10765
|
})
|
|
10444
10766
|
]
|
|
10445
10767
|
});
|
|
10446
|
-
},
|
|
10768
|
+
}, Uf = {
|
|
10447
10769
|
retro: "eidotter-header--retro",
|
|
10448
10770
|
modern: "eidotter-header--modern"
|
|
10449
|
-
},
|
|
10771
|
+
}, Wf = r(({ brandName: e, brandHref: t = "/", items: n, activeHref: r, variant: i = "retro", sticky: a = !0, linkComponent: o, children: s, className: c, ...l }, u) => {
|
|
10450
10772
|
let d = o ?? "a";
|
|
10451
10773
|
return /* @__PURE__ */ x("header", {
|
|
10452
10774
|
ref: u,
|
|
10453
|
-
className: $("flex items-center justify-between px-4 py-3 font-dos", "eidotter-header",
|
|
10775
|
+
className: $("flex items-center justify-between px-4 py-3 font-dos", "eidotter-header", Uf[i], a && "sticky top-0 z-50 bg-dos-bg-primary", c),
|
|
10454
10776
|
...l,
|
|
10455
10777
|
children: [
|
|
10456
10778
|
/* @__PURE__ */ b(d, {
|
|
@@ -10458,13 +10780,13 @@ var gf = {
|
|
|
10458
10780
|
className: $("no-underline text-base font-bold tracking-wide", "eidotter-header__branding"),
|
|
10459
10781
|
children: s || e
|
|
10460
10782
|
}),
|
|
10461
|
-
/* @__PURE__ */ b(
|
|
10783
|
+
/* @__PURE__ */ b(Nf, {
|
|
10462
10784
|
items: n,
|
|
10463
10785
|
activeHref: r,
|
|
10464
10786
|
variant: i,
|
|
10465
10787
|
linkComponent: o
|
|
10466
10788
|
}),
|
|
10467
|
-
/* @__PURE__ */ b(
|
|
10789
|
+
/* @__PURE__ */ b(Pf, {
|
|
10468
10790
|
items: n,
|
|
10469
10791
|
activeHref: r,
|
|
10470
10792
|
variant: i,
|
|
@@ -10473,16 +10795,16 @@ var gf = {
|
|
|
10473
10795
|
]
|
|
10474
10796
|
});
|
|
10475
10797
|
});
|
|
10476
|
-
|
|
10798
|
+
Wf.displayName = "Header";
|
|
10477
10799
|
//#endregion
|
|
10478
10800
|
//#region src/components/Notification/components/Notification.tsx
|
|
10479
|
-
var
|
|
10801
|
+
var Gf = {
|
|
10480
10802
|
primary: "Info",
|
|
10481
10803
|
gray: "Info",
|
|
10482
10804
|
success: "Done",
|
|
10483
10805
|
warning: "Warning",
|
|
10484
10806
|
error: "Error"
|
|
10485
|
-
},
|
|
10807
|
+
}, Kf = ({ type: e = "primary", title: t, children: n, actions: r, onClose: i, avatar: a, image: o, progress: c, progressLabel: l, duration: u, showIcon: d = !0, className: f }) => {
|
|
10486
10808
|
let { isClosing: p, triggerClose: m, handleAnimationEnd: h } = $l("notification-exit", i);
|
|
10487
10809
|
s(() => {
|
|
10488
10810
|
if (u == null || !i) return;
|
|
@@ -10512,7 +10834,7 @@ var kf = {
|
|
|
10512
10834
|
g && /* @__PURE__ */ b("div", {
|
|
10513
10835
|
className: "eidotter-notification__icon",
|
|
10514
10836
|
children: /* @__PURE__ */ b(Zl, {
|
|
10515
|
-
name:
|
|
10837
|
+
name: Gf[e] || "Info",
|
|
10516
10838
|
size: "S",
|
|
10517
10839
|
"aria-label": `${e} notification`
|
|
10518
10840
|
})
|
|
@@ -10568,7 +10890,7 @@ var kf = {
|
|
|
10568
10890
|
};
|
|
10569
10891
|
//#endregion
|
|
10570
10892
|
//#region src/components/InlineLink/components/InlineLink.tsx
|
|
10571
|
-
function
|
|
10893
|
+
function qf(e) {
|
|
10572
10894
|
let t = e.trim();
|
|
10573
10895
|
if (t === "" || /^[#?/]/.test(t)) return t;
|
|
10574
10896
|
let n = /^([a-z][a-z0-9+\-.]*):/i.exec(t);
|
|
@@ -10583,14 +10905,14 @@ function jf(e) {
|
|
|
10583
10905
|
"sms"
|
|
10584
10906
|
].includes(r) ? t : "#";
|
|
10585
10907
|
}
|
|
10586
|
-
function
|
|
10908
|
+
function Jf(e, t) {
|
|
10587
10909
|
if (t.length === 0) return e;
|
|
10588
10910
|
let n = new Set((e ?? "").split(/\s+/).map((e) => e.trim().toLowerCase()).filter(Boolean));
|
|
10589
10911
|
for (let e of t) n.add(e.toLowerCase());
|
|
10590
10912
|
return Array.from(n).join(" ");
|
|
10591
10913
|
}
|
|
10592
|
-
var
|
|
10593
|
-
let l =
|
|
10914
|
+
var Yf = r(({ children: e, href: t, showGlyph: n = !0, external: r = !1, className: i, target: a, rel: o, ...s }, c) => {
|
|
10915
|
+
let l = qf(t), u = a ?? (r ? "_blank" : void 0), d = u === "_blank", f = d ? Jf(o, ["noopener", "noreferrer"]) : o, p = r && d ? "↗" : "▸";
|
|
10594
10916
|
return /* @__PURE__ */ x("a", {
|
|
10595
10917
|
ref: c,
|
|
10596
10918
|
href: l,
|
|
@@ -10608,10 +10930,10 @@ var Nf = r(({ children: e, href: t, showGlyph: n = !0, external: r = !1, classNa
|
|
|
10608
10930
|
})]
|
|
10609
10931
|
});
|
|
10610
10932
|
});
|
|
10611
|
-
|
|
10933
|
+
Yf.displayName = "InlineLink";
|
|
10612
10934
|
//#endregion
|
|
10613
10935
|
//#region src/components/DosFigure/components/DosFigure.tsx
|
|
10614
|
-
var
|
|
10936
|
+
var Xf = r(({ title: e, resolution: t, subject: n, caption: r, pins: i = [], animated: a = !0, "aria-label": o, className: s }, l) => {
|
|
10615
10937
|
let u = c(), d = r ? u : void 0;
|
|
10616
10938
|
return /* @__PURE__ */ x("figure", {
|
|
10617
10939
|
ref: l,
|
|
@@ -10672,11 +10994,11 @@ var Pf = r(({ title: e, resolution: t, subject: n, caption: r, pins: i = [], ani
|
|
|
10672
10994
|
]
|
|
10673
10995
|
});
|
|
10674
10996
|
});
|
|
10675
|
-
|
|
10997
|
+
Xf.displayName = "DosFigure";
|
|
10676
10998
|
//#endregion
|
|
10677
10999
|
//#region src/components/CmdPalette/components/CmdPalette.tsx
|
|
10678
|
-
var
|
|
10679
|
-
function
|
|
11000
|
+
var Zf = /* @__PURE__ */ b(y, { children: "↑/↓ NAVIGATE · ↵ OPEN · ESC CLOSE" });
|
|
11001
|
+
function Qf(e) {
|
|
10680
11002
|
let t = e.toLowerCase().split("+").map((e) => e.trim()), n = t[t.length - 1], r = t.includes("mod"), i = t.includes("shift"), a = t.includes("alt");
|
|
10681
11003
|
return (e) => {
|
|
10682
11004
|
if (e.key.toLowerCase() !== n) return !1;
|
|
@@ -10684,15 +11006,15 @@ function If(e) {
|
|
|
10684
11006
|
return !(!(r ? t ? e.metaKey : e.ctrlKey : !(e.metaKey || e.ctrlKey)) || i !== e.shiftKey || a !== e.altKey);
|
|
10685
11007
|
};
|
|
10686
11008
|
}
|
|
10687
|
-
function
|
|
11009
|
+
function $f(e, t) {
|
|
10688
11010
|
if (!t) return 0;
|
|
10689
11011
|
let n = t.toLowerCase(), r = e.label.toLowerCase(), i = (e.keywords || []).map((e) => e.toLowerCase());
|
|
10690
11012
|
return r.startsWith(n) ? 100 : i.some((e) => e.startsWith(n)) ? 80 : r.includes(n) ? 50 : i.some((e) => e.includes(n)) ? 30 : (e.type || "").toLowerCase().includes(n) ? 10 : -1;
|
|
10691
11013
|
}
|
|
10692
|
-
var
|
|
11014
|
+
var ep = r(({ open: e, onOpenChange: t, items: n, placeholder: r = "SEARCH · TYPE · ▸", hotkey: i = "mod+k", emptyMessage: o = "NO MATCHES", footerHint: l = Zf, renderItem: d, maxResults: m = 20, className: h, "aria-label": g = "Command palette" }, _) => {
|
|
10693
11015
|
let v = c(), S = `${v}-listbox`, [C, w] = p(""), [T, E] = p(0), D = f(null), O = f(null), k = f(!1), A = u(() => C.trim() ? n.map((e) => ({
|
|
10694
11016
|
item: e,
|
|
10695
|
-
score:
|
|
11017
|
+
score: $f(e, C.trim())
|
|
10696
11018
|
})).filter((e) => e.score >= 0).sort((e, t) => t.score - e.score).slice(0, m).map((e) => e.item) : n.slice(0, m), [
|
|
10697
11019
|
n,
|
|
10698
11020
|
C,
|
|
@@ -10717,7 +11039,7 @@ var Rf = r(({ open: e, onOpenChange: t, items: n, placeholder: r = "SEARCH · TY
|
|
|
10717
11039
|
M.current = t;
|
|
10718
11040
|
}, [t]), s(() => {
|
|
10719
11041
|
if (i === !1) return;
|
|
10720
|
-
let e =
|
|
11042
|
+
let e = Qf(i), t = (t) => {
|
|
10721
11043
|
e(t) && (t.preventDefault(), M.current(!j.current));
|
|
10722
11044
|
};
|
|
10723
11045
|
return window.addEventListener("keydown", t), () => window.removeEventListener("keydown", t);
|
|
@@ -10826,10 +11148,10 @@ var Rf = r(({ open: e, onOpenChange: t, items: n, placeholder: r = "SEARCH · TY
|
|
|
10826
11148
|
})
|
|
10827
11149
|
});
|
|
10828
11150
|
});
|
|
10829
|
-
|
|
11151
|
+
ep.displayName = "CmdPalette";
|
|
10830
11152
|
//#endregion
|
|
10831
11153
|
//#region src/components/Brand/components/Logo.tsx
|
|
10832
|
-
var
|
|
11154
|
+
var tp = r(({ size: e = 32, glow: t = !0, title: n = "eiDotter", className: r, ...i }, a) => {
|
|
10833
11155
|
let o = c(), s = `eidotter-logo-halo-${o}`, l = `eidotter-logo-core-${o}`;
|
|
10834
11156
|
return /* @__PURE__ */ x("svg", {
|
|
10835
11157
|
ref: a,
|
|
@@ -11053,10 +11375,10 @@ var zf = r(({ size: e = 32, glow: t = !0, title: n = "eiDotter", className: r, .
|
|
|
11053
11375
|
]
|
|
11054
11376
|
});
|
|
11055
11377
|
});
|
|
11056
|
-
|
|
11378
|
+
tp.displayName = "Logo";
|
|
11057
11379
|
//#endregion
|
|
11058
11380
|
//#region src/components/Brand/components/Wordmark.tsx
|
|
11059
|
-
var
|
|
11381
|
+
var np = r(({ glow: e = !0, className: t, ...n }, r) => /* @__PURE__ */ x("span", {
|
|
11060
11382
|
ref: r,
|
|
11061
11383
|
className: $("eidotter-wordmark font-dos", e && "eidotter-wordmark--glow", t),
|
|
11062
11384
|
"aria-label": "eiDotter",
|
|
@@ -11071,28 +11393,28 @@ var Bf = r(({ glow: e = !0, className: t, ...n }, r) => /* @__PURE__ */ x("span"
|
|
|
11071
11393
|
children: "Dotter"
|
|
11072
11394
|
})]
|
|
11073
11395
|
}));
|
|
11074
|
-
|
|
11396
|
+
np.displayName = "Wordmark";
|
|
11075
11397
|
//#endregion
|
|
11076
11398
|
//#region src/components/Brand/components/BrandLockup.tsx
|
|
11077
|
-
var
|
|
11399
|
+
var rp = r(({ logoSize: e = 32, iconOnly: t = !1, wordmarkOnly: n = !1, glow: r = !0, className: i, ...a }, o) => /* @__PURE__ */ x("div", {
|
|
11078
11400
|
ref: o,
|
|
11079
11401
|
className: $("eidotter-brand-lockup inline-flex items-center gap-3", i),
|
|
11080
11402
|
role: "img",
|
|
11081
11403
|
"aria-label": "eiDotter",
|
|
11082
11404
|
...a,
|
|
11083
|
-
children: [!n && /* @__PURE__ */ b(
|
|
11405
|
+
children: [!n && /* @__PURE__ */ b(tp, {
|
|
11084
11406
|
size: e,
|
|
11085
11407
|
glow: r,
|
|
11086
11408
|
title: ""
|
|
11087
|
-
}), !t && /* @__PURE__ */ b(
|
|
11409
|
+
}), !t && /* @__PURE__ */ b(np, {
|
|
11088
11410
|
glow: r,
|
|
11089
11411
|
"aria-hidden": "true"
|
|
11090
11412
|
})]
|
|
11091
11413
|
}));
|
|
11092
|
-
|
|
11414
|
+
rp.displayName = "BrandLockup";
|
|
11093
11415
|
//#endregion
|
|
11094
11416
|
//#region src/components/AIText/components/AIText.tsx
|
|
11095
|
-
var
|
|
11417
|
+
var ip = ({ children: e, className: t, title: n = "AI-assisted text — being rewritten" }) => /* @__PURE__ */ x("span", {
|
|
11096
11418
|
"data-provenance": "ai-draft",
|
|
11097
11419
|
className: $("eidotter-ai-text", t),
|
|
11098
11420
|
title: n,
|
|
@@ -11101,43 +11423,43 @@ var Hf = ({ children: e, className: t, title: n = "AI-assisted text — being re
|
|
|
11101
11423
|
children: "AI-assisted: "
|
|
11102
11424
|
}), e]
|
|
11103
11425
|
});
|
|
11104
|
-
|
|
11426
|
+
ip.displayName = "AIText";
|
|
11105
11427
|
//#endregion
|
|
11106
11428
|
//#region src/components/Skeleton/components/Skeleton.tsx
|
|
11107
|
-
var
|
|
11429
|
+
var ap = "░░░░▒░░░░░░░▒░░░▒▒░░░░░░▒░░░░░░░▒░░░░▒░░", op = "▒▒▓▒▒▒▒▓▒▒▒▒▒▓▒▒▒▒▒▒▓▒▒▒▒▓▒▒▒▒▒▓▒▒▒▒▒▓▒", sp = 6, cp = {
|
|
11108
11430
|
text: 3,
|
|
11109
11431
|
card: 3,
|
|
11110
11432
|
figure: 4,
|
|
11111
11433
|
timeline: 2
|
|
11112
|
-
},
|
|
11434
|
+
}, lp = ({ dense: e = !1, width: t = "full" }) => /* @__PURE__ */ b("span", {
|
|
11113
11435
|
className: $("eidotter-skeleton__line", t === "short" && "eidotter-skeleton__line--short", t === "meta" && "eidotter-skeleton__line--meta"),
|
|
11114
|
-
children: (e ?
|
|
11436
|
+
children: (e ? op : ap).repeat(sp)
|
|
11115
11437
|
});
|
|
11116
|
-
function
|
|
11117
|
-
return Array.from({ length: e }, (r, i) => /* @__PURE__ */ b(
|
|
11438
|
+
function up(e, t = !1, n = !0) {
|
|
11439
|
+
return Array.from({ length: e }, (r, i) => /* @__PURE__ */ b(lp, {
|
|
11118
11440
|
dense: t,
|
|
11119
11441
|
width: n && i === e - 1 && e > 1 ? "short" : "full"
|
|
11120
11442
|
}, i));
|
|
11121
11443
|
}
|
|
11122
|
-
var
|
|
11123
|
-
let a = Math.max(1, t ??
|
|
11444
|
+
var dp = ({ variant: e = "text", lines: t, animated: n = !0, label: r = "Loading", className: i }) => {
|
|
11445
|
+
let a = Math.max(1, t ?? cp[e]), o;
|
|
11124
11446
|
switch (e) {
|
|
11125
11447
|
case "card":
|
|
11126
|
-
o = /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(
|
|
11448
|
+
o = /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(lp, {
|
|
11127
11449
|
dense: !0,
|
|
11128
11450
|
width: "meta"
|
|
11129
|
-
}),
|
|
11451
|
+
}), up(a)] });
|
|
11130
11452
|
break;
|
|
11131
11453
|
case "figure":
|
|
11132
|
-
o =
|
|
11454
|
+
o = up(a, !0, !1);
|
|
11133
11455
|
break;
|
|
11134
11456
|
case "timeline":
|
|
11135
11457
|
o = /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("span", { className: "eidotter-skeleton__marker border-2 border-dos-border-default" }), /* @__PURE__ */ x("span", {
|
|
11136
11458
|
className: "eidotter-skeleton__entry",
|
|
11137
|
-
children: [/* @__PURE__ */ b(
|
|
11459
|
+
children: [/* @__PURE__ */ b(lp, { width: "meta" }), up(a)]
|
|
11138
11460
|
})] });
|
|
11139
11461
|
break;
|
|
11140
|
-
default: o =
|
|
11462
|
+
default: o = up(a);
|
|
11141
11463
|
}
|
|
11142
11464
|
return /* @__PURE__ */ b("div", {
|
|
11143
11465
|
role: "status",
|
|
@@ -11150,10 +11472,10 @@ var Yf = ({ variant: e = "text", lines: t, animated: n = !0, label: r = "Loading
|
|
|
11150
11472
|
})
|
|
11151
11473
|
});
|
|
11152
11474
|
};
|
|
11153
|
-
|
|
11475
|
+
dp.displayName = "Skeleton";
|
|
11154
11476
|
//#endregion
|
|
11155
11477
|
//#region src/components/LegalPage/components/LegalPage.tsx
|
|
11156
|
-
var
|
|
11478
|
+
var fp = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...o }) => /* @__PURE__ */ x("div", {
|
|
11157
11479
|
className: $("eidotter-legal-page", a),
|
|
11158
11480
|
...o,
|
|
11159
11481
|
children: [r && /* @__PURE__ */ b("div", {
|
|
@@ -11176,13 +11498,13 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11176
11498
|
className: "eidotter-legal-page__body",
|
|
11177
11499
|
children: i
|
|
11178
11500
|
})] })]
|
|
11179
|
-
}),
|
|
11501
|
+
}), pp = /* @__PURE__ */ x(y, { children: [
|
|
11180
11502
|
"Haus-Endt-Str. 149A",
|
|
11181
11503
|
/* @__PURE__ */ b("br", {}),
|
|
11182
11504
|
"40593 Düsseldorf",
|
|
11183
11505
|
/* @__PURE__ */ b("br", {}),
|
|
11184
11506
|
"Deutschland"
|
|
11185
|
-
] }),
|
|
11507
|
+
] }), mp = "Dominic Kennedy", hp = ({ email: e, address: t = pp, name: n = mp }) => /* @__PURE__ */ x("address", { children: [
|
|
11186
11508
|
n,
|
|
11187
11509
|
/* @__PURE__ */ b("br", {}),
|
|
11188
11510
|
t,
|
|
@@ -11194,16 +11516,16 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11194
11516
|
children: e
|
|
11195
11517
|
})
|
|
11196
11518
|
] })
|
|
11197
|
-
] }),
|
|
11519
|
+
] }), gp = (e) => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Angaben gemäß § 5 DDG" }), /* @__PURE__ */ b(hp, { ...e })] }), _p = ({ email: e }) => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Kontakt" }), /* @__PURE__ */ x("p", { children: ["E-Mail: ", /* @__PURE__ */ b("a", {
|
|
11198
11520
|
href: `mailto:${e}`,
|
|
11199
11521
|
children: e
|
|
11200
|
-
})] })] }),
|
|
11522
|
+
})] })] }), vp = ({ name: e = mp }) => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Inhaltlich verantwortlich (§ 18 Abs. 2 MStV)" }), /* @__PURE__ */ x("address", { children: [
|
|
11201
11523
|
e,
|
|
11202
11524
|
/* @__PURE__ */ b("br", {}),
|
|
11203
11525
|
"Haus-Endt-Str. 149A",
|
|
11204
11526
|
/* @__PURE__ */ b("br", {}),
|
|
11205
11527
|
"40593 Düsseldorf"
|
|
11206
|
-
] })] }),
|
|
11528
|
+
] })] }), yp = () => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Haftung für Inhalte" }), /* @__PURE__ */ b("p", { children: "Ich erstelle die Inhalte dieser Seiten mit größter Sorgfalt, übernehme jedoch keine Gewähr für Richtigkeit, Vollständigkeit oder Aktualität. Als Diensteanbieter bin ich gemäß § 7 Abs. 1 DDG für eigene Inhalte verantwortlich. Eine Pflicht zur Überwachung fremder Informationen besteht gemäß §§ 8–10 DDG nicht." })] }), bp = () => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Haftung für Links" }), /* @__PURE__ */ b("p", { children: "Diese Website verlinkt auf externe Seiten Dritter, auf deren Inhalte ich keinen Einfluss habe. Für verlinkte Inhalte haftet der jeweilige Anbieter. Eine dauerhafte Kontrolle ist ohne Anhaltspunkte für Rechtsverletzungen nicht zumutbar. Bei Bekanntwerden von Verstößen entferne ich solche Links umgehend." })] }), xp = ({ email: e, name: t = mp }) => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Verantwortlicher" }), /* @__PURE__ */ x("address", { children: [
|
|
11207
11529
|
t,
|
|
11208
11530
|
/* @__PURE__ */ b("br", {}),
|
|
11209
11531
|
"Haus-Endt-Str. 149A",
|
|
@@ -11215,14 +11537,14 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11215
11537
|
href: `mailto:${e}`,
|
|
11216
11538
|
children: e
|
|
11217
11539
|
})
|
|
11218
|
-
] })] }),
|
|
11540
|
+
] })] }), Sp = () => /* @__PURE__ */ x(y, { children: [
|
|
11219
11541
|
/* @__PURE__ */ b("h2", { children: "Hosting" }),
|
|
11220
11542
|
/* @__PURE__ */ b("p", { children: "Cloudflare Pages stellt diese Website bereit. Beim Seitenaufruf erhebt Cloudflare automatisch technische Zugriffsdaten (darunter Ihre IP-Adresse), um die Seite auszuliefern." }),
|
|
11221
11543
|
/* @__PURE__ */ b("p", {
|
|
11222
11544
|
className: "eidotter-legal-page__basis",
|
|
11223
11545
|
children: "Anbieter: Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse)."
|
|
11224
11546
|
})
|
|
11225
|
-
] }),
|
|
11547
|
+
] }), Cp = ({ proxyHost: e = "e.dmnc.tech" }) => /* @__PURE__ */ x(y, { children: [
|
|
11226
11548
|
/* @__PURE__ */ b("h2", { children: "Webanalyse — PostHog" }),
|
|
11227
11549
|
/* @__PURE__ */ x("p", { children: [
|
|
11228
11550
|
"Diese Website nutzt PostHog zur Analyse des Nutzungsverhaltens. PostHog läuft auf EU-Servern (eu.posthog.com). Die Datenübertragung erfolgt über einen Reverse-Proxy auf der Domain ",
|
|
@@ -11239,7 +11561,7 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11239
11561
|
className: "eidotter-legal-page__basis",
|
|
11240
11562
|
children: "Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse)."
|
|
11241
11563
|
})
|
|
11242
|
-
] }),
|
|
11564
|
+
] }), wp = () => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Schriftarten" }), /* @__PURE__ */ b("p", { children: "Die Schriftart „Perfect DOS VGA 437“ wird lokal von diesem Server ausgeliefert. Es findet keine Verbindung zu externen Schriftarten-Diensten statt." })] }), Tp = () => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Verschlüsselung" }), /* @__PURE__ */ b("p", { children: "Diese Website nutzt SSL-/TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennen Sie am „https://“ in der Adresszeile Ihres Browsers." })] }), Ep = ({ email: e, supervisoryAuthority: t = "die Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen" }) => /* @__PURE__ */ x(y, { children: [
|
|
11243
11565
|
/* @__PURE__ */ b("h2", { children: "Ihre Rechte" }),
|
|
11244
11566
|
/* @__PURE__ */ b("p", { children: "Die DSGVO gewährt Ihnen folgende Rechte:" }),
|
|
11245
11567
|
/* @__PURE__ */ x("ul", { children: [
|
|
@@ -11264,7 +11586,7 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11264
11586
|
t,
|
|
11265
11587
|
"."
|
|
11266
11588
|
] })
|
|
11267
|
-
] }),
|
|
11589
|
+
] }), Dp = {
|
|
11268
11590
|
eidotter: { displayName: "eiDotter" },
|
|
11269
11591
|
spacewar: { displayName: "Spacewar!" },
|
|
11270
11592
|
rizomorf: { displayName: "rizomorf" },
|
|
@@ -11277,8 +11599,12 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11277
11599
|
dmnctech: {
|
|
11278
11600
|
displayName: "dmnc.tech",
|
|
11279
11601
|
url: "https://dmnc.tech"
|
|
11602
|
+
},
|
|
11603
|
+
tracker: {
|
|
11604
|
+
displayName: "Tracker",
|
|
11605
|
+
url: "https://tracker.dmnc.tech"
|
|
11280
11606
|
}
|
|
11281
|
-
},
|
|
11607
|
+
}, Op = {
|
|
11282
11608
|
Alert: {
|
|
11283
11609
|
origin: "eidotter",
|
|
11284
11610
|
consumers: ["rizomorf", "steuerdash"],
|
|
@@ -11350,11 +11676,70 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11350
11676
|
},
|
|
11351
11677
|
Accordion: {
|
|
11352
11678
|
origin: "eidotter",
|
|
11353
|
-
consumers: ["rizomorf"]
|
|
11679
|
+
consumers: ["rizomorf"],
|
|
11680
|
+
since: "0.2.0",
|
|
11681
|
+
originNote: "Collapsible section with CSS grid expand/collapse — always-in-DOM, transitions grid-template-rows",
|
|
11682
|
+
platforms: {
|
|
11683
|
+
react: {
|
|
11684
|
+
path: "src/components/Accordion",
|
|
11685
|
+
status: "canonical"
|
|
11686
|
+
},
|
|
11687
|
+
swiftui: { status: "planned" }
|
|
11688
|
+
},
|
|
11689
|
+
changelog: [
|
|
11690
|
+
{
|
|
11691
|
+
version: "0.30.0",
|
|
11692
|
+
type: "changed",
|
|
11693
|
+
description: "A11y keyboard focus fixes for accordion trigger"
|
|
11694
|
+
},
|
|
11695
|
+
{
|
|
11696
|
+
version: "0.19.0",
|
|
11697
|
+
type: "changed",
|
|
11698
|
+
description: "Remove 500px expand cap — animate grid-template-rows to natural height"
|
|
11699
|
+
},
|
|
11700
|
+
{
|
|
11701
|
+
version: "0.16.0",
|
|
11702
|
+
type: "changed",
|
|
11703
|
+
description: "Migrate to Tailwind-first (Wave 3 — Accordion, Footer, Tabs, FilterBar)"
|
|
11704
|
+
},
|
|
11705
|
+
{
|
|
11706
|
+
version: "0.9.0",
|
|
11707
|
+
type: "changed",
|
|
11708
|
+
description: "Replace text-primary with cga-amber for theme consistency"
|
|
11709
|
+
},
|
|
11710
|
+
{
|
|
11711
|
+
version: "0.8.0",
|
|
11712
|
+
type: "changed",
|
|
11713
|
+
description: "Design-craft animation polish with phosphor enter effects"
|
|
11714
|
+
},
|
|
11715
|
+
{
|
|
11716
|
+
version: "0.2.0",
|
|
11717
|
+
type: "added",
|
|
11718
|
+
description: "Initial Accordion (Section) — collapsible section, inert attribute, reduced-motion safe"
|
|
11719
|
+
}
|
|
11720
|
+
]
|
|
11354
11721
|
},
|
|
11355
11722
|
AccordionFill: {
|
|
11356
11723
|
origin: "eidotter",
|
|
11357
|
-
consumers: ["rizomorf"]
|
|
11724
|
+
consumers: ["rizomorf"],
|
|
11725
|
+
since: "0.4.0",
|
|
11726
|
+
originNote: "Convenience wrapper around Section — renders a list of sections from a data array",
|
|
11727
|
+
platforms: {
|
|
11728
|
+
react: {
|
|
11729
|
+
path: "src/components/Accordion",
|
|
11730
|
+
status: "canonical"
|
|
11731
|
+
},
|
|
11732
|
+
swiftui: { status: "planned" }
|
|
11733
|
+
},
|
|
11734
|
+
changelog: [{
|
|
11735
|
+
version: "0.16.0",
|
|
11736
|
+
type: "changed",
|
|
11737
|
+
description: "Tailwind-first pass alongside Accordion migration"
|
|
11738
|
+
}, {
|
|
11739
|
+
version: "0.4.0",
|
|
11740
|
+
type: "added",
|
|
11741
|
+
description: "Initial AccordionFill — array-driven Section list"
|
|
11742
|
+
}]
|
|
11358
11743
|
},
|
|
11359
11744
|
Badge: {
|
|
11360
11745
|
origin: "eidotter",
|
|
@@ -11431,7 +11816,33 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11431
11816
|
},
|
|
11432
11817
|
Breadcrumb: {
|
|
11433
11818
|
origin: "rizomorf",
|
|
11434
|
-
consumers: ["rizomorf"]
|
|
11819
|
+
consumers: ["rizomorf"],
|
|
11820
|
+
since: "0.3.0",
|
|
11821
|
+
originNote: "Trail navigation with configurable separator and optional back-arrow",
|
|
11822
|
+
platforms: {
|
|
11823
|
+
react: {
|
|
11824
|
+
path: "src/components/Breadcrumb",
|
|
11825
|
+
status: "canonical"
|
|
11826
|
+
},
|
|
11827
|
+
swiftui: { status: "planned" }
|
|
11828
|
+
},
|
|
11829
|
+
changelog: [
|
|
11830
|
+
{
|
|
11831
|
+
version: "0.16.0",
|
|
11832
|
+
type: "changed",
|
|
11833
|
+
description: "Migrate to Tailwind-first (Wave 2 — Separator, Stat, Breadcrumb, Progress)"
|
|
11834
|
+
},
|
|
11835
|
+
{
|
|
11836
|
+
version: "0.9.0",
|
|
11837
|
+
type: "changed",
|
|
11838
|
+
description: "Fix trail links invisible on dark backgrounds"
|
|
11839
|
+
},
|
|
11840
|
+
{
|
|
11841
|
+
version: "0.3.0",
|
|
11842
|
+
type: "added",
|
|
11843
|
+
description: "Initial Breadcrumb — trail array, currentLabel, separator, showBackArrow"
|
|
11844
|
+
}
|
|
11845
|
+
]
|
|
11435
11846
|
},
|
|
11436
11847
|
Button: {
|
|
11437
11848
|
origin: "eidotter",
|
|
@@ -11614,109 +12025,589 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11614
12025
|
},
|
|
11615
12026
|
Checkbox: {
|
|
11616
12027
|
origin: "eidotter",
|
|
11617
|
-
consumers: ["steuerdash"]
|
|
11618
|
-
},
|
|
11619
|
-
CommandPrompt: {
|
|
11620
|
-
origin: "eidotter",
|
|
11621
|
-
consumers: ["rizomorf"]
|
|
11622
|
-
},
|
|
11623
|
-
Icon: {
|
|
11624
|
-
origin: "eidotter",
|
|
11625
|
-
consumers: ["rizomorf"]
|
|
11626
|
-
},
|
|
11627
|
-
Input: {
|
|
11628
|
-
origin: "eidotter",
|
|
11629
|
-
consumers: ["steuerdash"]
|
|
11630
|
-
},
|
|
11631
|
-
Lightbox: {
|
|
11632
|
-
origin: "eidotter",
|
|
11633
|
-
consumers: ["dmnctech"],
|
|
11634
|
-
since: "0.22.0",
|
|
11635
|
-
originNote: "Fullscreen image viewer extending Modal pattern. Keyboard nav, prev/next, counter, swipe."
|
|
11636
|
-
},
|
|
11637
|
-
Modal: {
|
|
11638
|
-
origin: "eidotter",
|
|
11639
|
-
consumers: ["pomodoke-calendar"]
|
|
11640
|
-
},
|
|
11641
|
-
Progress: {
|
|
11642
|
-
origin: "eidotter",
|
|
11643
|
-
consumers: ["steuerdash"],
|
|
11644
|
-
since: "0.3.0"
|
|
11645
|
-
},
|
|
11646
|
-
RetroEffects: {
|
|
11647
|
-
origin: "spacewar",
|
|
11648
|
-
consumers: ["spacewar", "rizomorf"],
|
|
11649
|
-
originNote: "CRT scanline/glow effects from Spacewar!"
|
|
11650
|
-
},
|
|
11651
|
-
Skeleton: {
|
|
11652
|
-
origin: "eidotter",
|
|
11653
|
-
consumers: ["dmnctech"],
|
|
11654
|
-
originNote: "DOS/CGA loading placeholder — shade-character rows (░▒▓) with CRT hum-bar band rolling top→bottom (DMNC-1018)"
|
|
11655
|
-
},
|
|
11656
|
-
Stat: {
|
|
11657
|
-
origin: "steuerdash",
|
|
11658
12028
|
consumers: ["steuerdash"],
|
|
11659
|
-
|
|
11660
|
-
},
|
|
11661
|
-
Switch: {
|
|
11662
|
-
origin: "eidotter",
|
|
11663
|
-
consumers: []
|
|
11664
|
-
},
|
|
11665
|
-
FilterBar: {
|
|
11666
|
-
origin: "eidotter",
|
|
11667
|
-
consumers: ["lifelines", "rizomorf"],
|
|
11668
|
-
originNote: "Multi-select toggle group for faceted filtering"
|
|
11669
|
-
},
|
|
11670
|
-
Tag: {
|
|
11671
|
-
origin: "eidotter",
|
|
11672
|
-
consumers: ["lifelines", "rizomorf"],
|
|
11673
|
-
since: "0.7.0",
|
|
11674
|
-
originNote: "Interactive labels for tags, categories, and filter chips",
|
|
12029
|
+
since: "0.3.0",
|
|
11675
12030
|
variants: {
|
|
11676
|
-
"
|
|
11677
|
-
description: "
|
|
11678
|
-
since: "0.
|
|
11679
|
-
usedBy: ["rizomorf"]
|
|
11680
|
-
},
|
|
11681
|
-
"variant:outlined": {
|
|
11682
|
-
description: "Border-only tag",
|
|
11683
|
-
since: "0.7.0",
|
|
11684
|
-
usedBy: ["lifelines"]
|
|
11685
|
-
},
|
|
11686
|
-
"variant:filled": {
|
|
11687
|
-
description: "Solid background tag",
|
|
11688
|
-
since: "0.7.0",
|
|
11689
|
-
usedBy: ["rizomorf", "lifelines"]
|
|
11690
|
-
},
|
|
11691
|
-
"size:small": {
|
|
11692
|
-
description: "Compact tag for dense layouts",
|
|
11693
|
-
since: "0.7.0"
|
|
12031
|
+
"size:sm": {
|
|
12032
|
+
description: "Compact 16px checkbox for dense forms",
|
|
12033
|
+
since: "0.16.0"
|
|
11694
12034
|
},
|
|
11695
|
-
"size:
|
|
11696
|
-
description: "Standard
|
|
11697
|
-
since: "0.
|
|
12035
|
+
"size:md": {
|
|
12036
|
+
description: "Standard 20px checkbox",
|
|
12037
|
+
since: "0.3.0",
|
|
12038
|
+
usedBy: ["steuerdash"]
|
|
11698
12039
|
}
|
|
11699
12040
|
},
|
|
11700
12041
|
platforms: {
|
|
11701
12042
|
react: {
|
|
11702
|
-
path: "src/components/
|
|
12043
|
+
path: "src/components/Checkbox",
|
|
11703
12044
|
status: "canonical"
|
|
11704
12045
|
},
|
|
11705
12046
|
swiftui: { status: "planned" }
|
|
11706
12047
|
},
|
|
11707
12048
|
changelog: [
|
|
11708
12049
|
{
|
|
11709
|
-
version: "0.
|
|
12050
|
+
version: "0.30.0",
|
|
11710
12051
|
type: "changed",
|
|
11711
|
-
description: "
|
|
12052
|
+
description: "A11y: remediate Phase 1 audit defects + high-contrast glow gaps"
|
|
11712
12053
|
},
|
|
11713
12054
|
{
|
|
11714
|
-
version: "0.
|
|
12055
|
+
version: "0.19.0",
|
|
11715
12056
|
type: "changed",
|
|
11716
|
-
description: "
|
|
12057
|
+
description: "Replace hardcoded font-size pixels with V.37 dos tokens"
|
|
11717
12058
|
},
|
|
11718
12059
|
{
|
|
11719
|
-
version: "0.
|
|
12060
|
+
version: "0.16.0",
|
|
12061
|
+
type: "changed",
|
|
12062
|
+
description: "Migrate to React Aria + Tailwind-first (Wave 1); add size:sm variant"
|
|
12063
|
+
},
|
|
12064
|
+
{
|
|
12065
|
+
version: "0.3.0",
|
|
12066
|
+
type: "added",
|
|
12067
|
+
description: "Initial Checkbox — controlled/uncontrolled, indeterminate; BEM CSS implementation"
|
|
12068
|
+
}
|
|
12069
|
+
]
|
|
12070
|
+
},
|
|
12071
|
+
CommandPrompt: {
|
|
12072
|
+
origin: "eidotter",
|
|
12073
|
+
consumers: ["rizomorf"],
|
|
12074
|
+
since: "0.3.0",
|
|
12075
|
+
originNote: "DOS command-line input — blinking cursor, configurable prompt string, onCommand callback",
|
|
12076
|
+
platforms: { react: {
|
|
12077
|
+
path: "src/components/CommandPrompt",
|
|
12078
|
+
status: "canonical"
|
|
12079
|
+
} },
|
|
12080
|
+
changelog: [
|
|
12081
|
+
{
|
|
12082
|
+
version: "0.30.0",
|
|
12083
|
+
type: "changed",
|
|
12084
|
+
description: "A11y keyboard focus fixes"
|
|
12085
|
+
},
|
|
12086
|
+
{
|
|
12087
|
+
version: "0.18.0",
|
|
12088
|
+
type: "changed",
|
|
12089
|
+
description: "Migrate BEM to Tailwind-first; switch to Flexi IBM VGA font"
|
|
12090
|
+
},
|
|
12091
|
+
{
|
|
12092
|
+
version: "0.3.0",
|
|
12093
|
+
type: "added",
|
|
12094
|
+
description: "Initial CommandPrompt — prompt prop, onCommand, autoFocus, disabled"
|
|
12095
|
+
}
|
|
12096
|
+
]
|
|
12097
|
+
},
|
|
12098
|
+
Icon: {
|
|
12099
|
+
origin: "eidotter",
|
|
12100
|
+
consumers: ["rizomorf"],
|
|
12101
|
+
since: "0.13.0",
|
|
12102
|
+
originNote: "Thin wrapper around pixelarticons (MIT) + custom PixelX for Close — 12 public names, ICON_MAP",
|
|
12103
|
+
variants: {
|
|
12104
|
+
"name:Info": {
|
|
12105
|
+
description: "Informational circle-i",
|
|
12106
|
+
since: "0.13.0",
|
|
12107
|
+
usedBy: ["rizomorf"]
|
|
12108
|
+
},
|
|
12109
|
+
"name:Warning": {
|
|
12110
|
+
description: "Warning triangle",
|
|
12111
|
+
since: "0.13.0",
|
|
12112
|
+
usedBy: ["rizomorf"]
|
|
12113
|
+
},
|
|
12114
|
+
"name:Error": {
|
|
12115
|
+
description: "Error octagon",
|
|
12116
|
+
since: "0.13.0"
|
|
12117
|
+
},
|
|
12118
|
+
"name:Done": {
|
|
12119
|
+
description: "Checkmark (shares Check glyph)",
|
|
12120
|
+
since: "0.13.0"
|
|
12121
|
+
},
|
|
12122
|
+
"name:Check": {
|
|
12123
|
+
description: "Checkmark",
|
|
12124
|
+
since: "0.13.0"
|
|
12125
|
+
},
|
|
12126
|
+
"name:Close": {
|
|
12127
|
+
description: "Custom pixel-art X mark (no pixelarticons glyph)",
|
|
12128
|
+
since: "0.19.0",
|
|
12129
|
+
usedBy: ["rizomorf"]
|
|
12130
|
+
},
|
|
12131
|
+
"name:Chevron Up": {
|
|
12132
|
+
description: "Up caret",
|
|
12133
|
+
since: "0.13.0"
|
|
12134
|
+
},
|
|
12135
|
+
"name:Chevron Down": {
|
|
12136
|
+
description: "Down caret",
|
|
12137
|
+
since: "0.13.0"
|
|
12138
|
+
},
|
|
12139
|
+
"name:App": {
|
|
12140
|
+
description: "Grid/app launcher",
|
|
12141
|
+
since: "0.13.0"
|
|
12142
|
+
},
|
|
12143
|
+
"name:Cancel": {
|
|
12144
|
+
description: "Minus glyph — window minimize control",
|
|
12145
|
+
since: "0.13.0"
|
|
12146
|
+
},
|
|
12147
|
+
"name:Fullscreen": {
|
|
12148
|
+
description: "Expand to fullscreen",
|
|
12149
|
+
since: "0.13.0"
|
|
12150
|
+
},
|
|
12151
|
+
"name:Add": {
|
|
12152
|
+
description: "Plus / add action",
|
|
12153
|
+
since: "0.13.0"
|
|
12154
|
+
},
|
|
12155
|
+
"size:L": {
|
|
12156
|
+
description: "Large — 56 × 56 px",
|
|
12157
|
+
since: "0.13.0",
|
|
12158
|
+
usedBy: ["rizomorf"]
|
|
12159
|
+
},
|
|
12160
|
+
"size:S": {
|
|
12161
|
+
description: "Small — 24 × 24 px",
|
|
12162
|
+
since: "0.13.0"
|
|
12163
|
+
}
|
|
12164
|
+
},
|
|
12165
|
+
platforms: { react: {
|
|
12166
|
+
path: "src/components/Icon",
|
|
12167
|
+
status: "canonical"
|
|
12168
|
+
} },
|
|
12169
|
+
changelog: [
|
|
12170
|
+
{
|
|
12171
|
+
version: "0.30.0",
|
|
12172
|
+
type: "changed",
|
|
12173
|
+
description: "A11y: fix aria-prohibited-attr on Icon (Phase 1 audit defect)"
|
|
12174
|
+
},
|
|
12175
|
+
{
|
|
12176
|
+
version: "0.30.0",
|
|
12177
|
+
type: "changed",
|
|
12178
|
+
description: "Icon inherits color from context instead of hardcoding amber"
|
|
12179
|
+
},
|
|
12180
|
+
{
|
|
12181
|
+
version: "0.19.0",
|
|
12182
|
+
type: "added",
|
|
12183
|
+
description: "Custom pixel-art X mark for Close (pixelarticons v2 has no standalone X glyph)"
|
|
12184
|
+
},
|
|
12185
|
+
{
|
|
12186
|
+
version: "0.18.0",
|
|
12187
|
+
type: "changed",
|
|
12188
|
+
description: "Swap @untitledui-pro/icons for pixelarticons (MIT) — license compliance"
|
|
12189
|
+
},
|
|
12190
|
+
{
|
|
12191
|
+
version: "0.13.0",
|
|
12192
|
+
type: "added",
|
|
12193
|
+
description: "Initial Icon component — ICON_MAP with 12 public names, size L/S"
|
|
12194
|
+
}
|
|
12195
|
+
]
|
|
12196
|
+
},
|
|
12197
|
+
Input: {
|
|
12198
|
+
origin: "eidotter",
|
|
12199
|
+
consumers: ["steuerdash"],
|
|
12200
|
+
since: "0.3.0",
|
|
12201
|
+
variants: {
|
|
12202
|
+
"variant:default": {
|
|
12203
|
+
description: "Standard text input with amber focus border",
|
|
12204
|
+
since: "0.3.0",
|
|
12205
|
+
usedBy: ["steuerdash"]
|
|
12206
|
+
},
|
|
12207
|
+
"variant:error": {
|
|
12208
|
+
description: "Error state — red border, errorMessage slot",
|
|
12209
|
+
since: "0.3.0",
|
|
12210
|
+
usedBy: ["steuerdash"]
|
|
12211
|
+
}
|
|
12212
|
+
},
|
|
12213
|
+
platforms: {
|
|
12214
|
+
react: {
|
|
12215
|
+
path: "src/components/Input",
|
|
12216
|
+
status: "canonical"
|
|
12217
|
+
},
|
|
12218
|
+
swiftui: { status: "planned" }
|
|
12219
|
+
},
|
|
12220
|
+
changelog: [
|
|
12221
|
+
{
|
|
12222
|
+
version: "0.17.0",
|
|
12223
|
+
type: "changed",
|
|
12224
|
+
description: "Migrate to React Aria TextField (Wave 5)"
|
|
12225
|
+
},
|
|
12226
|
+
{
|
|
12227
|
+
version: "0.16.0",
|
|
12228
|
+
type: "changed",
|
|
12229
|
+
description: "Migrate to Tailwind-first (Wave 4 — Input, Modal, Nav)"
|
|
12230
|
+
},
|
|
12231
|
+
{
|
|
12232
|
+
version: "0.9.0",
|
|
12233
|
+
type: "changed",
|
|
12234
|
+
description: "Replace text-primary with cga-amber"
|
|
12235
|
+
},
|
|
12236
|
+
{
|
|
12237
|
+
version: "0.3.0",
|
|
12238
|
+
type: "added",
|
|
12239
|
+
description: "Initial Input — label, description, errorMessage, isRequired"
|
|
12240
|
+
}
|
|
12241
|
+
]
|
|
12242
|
+
},
|
|
12243
|
+
Lightbox: {
|
|
12244
|
+
origin: "eidotter",
|
|
12245
|
+
consumers: ["dmnctech"],
|
|
12246
|
+
since: "0.22.0",
|
|
12247
|
+
originNote: "Fullscreen image viewer extending Modal pattern. Keyboard nav, prev/next, counter, swipe."
|
|
12248
|
+
},
|
|
12249
|
+
Modal: {
|
|
12250
|
+
origin: "eidotter",
|
|
12251
|
+
consumers: ["pomodoke-calendar"],
|
|
12252
|
+
since: "0.3.0",
|
|
12253
|
+
originNote: "DOS-styled dialog built on React Aria ModalOverlay/Modal/Dialog — focus trap, Esc to close, backdrop",
|
|
12254
|
+
platforms: {
|
|
12255
|
+
react: {
|
|
12256
|
+
path: "src/components/Modal",
|
|
12257
|
+
status: "canonical"
|
|
12258
|
+
},
|
|
12259
|
+
swiftui: { status: "planned" }
|
|
12260
|
+
},
|
|
12261
|
+
changelog: [
|
|
12262
|
+
{
|
|
12263
|
+
version: "0.18.0",
|
|
12264
|
+
type: "changed",
|
|
12265
|
+
description: "Normalize event handlers; replace raw <button> with AriaButton for close control"
|
|
12266
|
+
},
|
|
12267
|
+
{
|
|
12268
|
+
version: "0.17.0",
|
|
12269
|
+
type: "changed",
|
|
12270
|
+
description: "Migrate to React Aria ModalOverlay/Modal/Dialog (Wave 5)"
|
|
12271
|
+
},
|
|
12272
|
+
{
|
|
12273
|
+
version: "0.16.0",
|
|
12274
|
+
type: "changed",
|
|
12275
|
+
description: "Migrate to Tailwind-first (Wave 4 — Input, Modal, Nav)"
|
|
12276
|
+
},
|
|
12277
|
+
{
|
|
12278
|
+
version: "0.3.0",
|
|
12279
|
+
type: "added",
|
|
12280
|
+
description: "Initial Modal — isOpen, onOpenChange, title, footer slot"
|
|
12281
|
+
}
|
|
12282
|
+
]
|
|
12283
|
+
},
|
|
12284
|
+
Progress: {
|
|
12285
|
+
origin: "eidotter",
|
|
12286
|
+
consumers: ["steuerdash"],
|
|
12287
|
+
since: "0.3.0",
|
|
12288
|
+
variants: {
|
|
12289
|
+
"variant:default": {
|
|
12290
|
+
description: "Amber progress bar",
|
|
12291
|
+
since: "0.3.0",
|
|
12292
|
+
usedBy: ["steuerdash"]
|
|
12293
|
+
},
|
|
12294
|
+
"variant:success": {
|
|
12295
|
+
description: "Green completion indicator",
|
|
12296
|
+
since: "0.3.0"
|
|
12297
|
+
},
|
|
12298
|
+
"variant:warning": {
|
|
12299
|
+
description: "Amber warning progress",
|
|
12300
|
+
since: "0.3.0"
|
|
12301
|
+
},
|
|
12302
|
+
"variant:error": {
|
|
12303
|
+
description: "Red error/failed progress",
|
|
12304
|
+
since: "0.3.0"
|
|
12305
|
+
},
|
|
12306
|
+
"size:sm": {
|
|
12307
|
+
description: "Compact single-row bar",
|
|
12308
|
+
since: "0.16.0"
|
|
12309
|
+
},
|
|
12310
|
+
"size:md": {
|
|
12311
|
+
description: "Standard bar height",
|
|
12312
|
+
since: "0.3.0",
|
|
12313
|
+
usedBy: ["steuerdash"]
|
|
12314
|
+
},
|
|
12315
|
+
"size:lg": {
|
|
12316
|
+
description: "Tall bar for prominent display",
|
|
12317
|
+
since: "0.16.0"
|
|
12318
|
+
},
|
|
12319
|
+
"trackStyle:block": {
|
|
12320
|
+
description: "Solid block fill (default)",
|
|
12321
|
+
since: "0.3.0",
|
|
12322
|
+
usedBy: ["steuerdash"]
|
|
12323
|
+
},
|
|
12324
|
+
"trackStyle:bordered": {
|
|
12325
|
+
description: "Outline bar with fill inside",
|
|
12326
|
+
since: "0.3.0"
|
|
12327
|
+
},
|
|
12328
|
+
"trackStyle:gradient": {
|
|
12329
|
+
description: "Gradient fill for smooth visual",
|
|
12330
|
+
since: "0.3.0"
|
|
12331
|
+
}
|
|
12332
|
+
},
|
|
12333
|
+
platforms: {
|
|
12334
|
+
react: {
|
|
12335
|
+
path: "src/components/Progress",
|
|
12336
|
+
status: "canonical"
|
|
12337
|
+
},
|
|
12338
|
+
swiftui: { status: "planned" }
|
|
12339
|
+
},
|
|
12340
|
+
changelog: [{
|
|
12341
|
+
version: "0.16.0",
|
|
12342
|
+
type: "changed",
|
|
12343
|
+
description: "Migrate to Tailwind-first (Wave 2); deprecate size aliases small/medium/large → sm/md/lg"
|
|
12344
|
+
}, {
|
|
12345
|
+
version: "0.3.0",
|
|
12346
|
+
type: "added",
|
|
12347
|
+
description: "Initial Progress — blocks character cells, indeterminate, showLabel, glow prop"
|
|
12348
|
+
}]
|
|
12349
|
+
},
|
|
12350
|
+
RetroEffects: {
|
|
12351
|
+
origin: "spacewar",
|
|
12352
|
+
consumers: ["spacewar", "rizomorf"],
|
|
12353
|
+
since: "0.3.0",
|
|
12354
|
+
originNote: "CRT scanline/glow effects from Spacewar! — compositor-only, prefers-reduced-motion safe",
|
|
12355
|
+
platforms: {
|
|
12356
|
+
react: {
|
|
12357
|
+
path: "src/components/RetroEffects",
|
|
12358
|
+
status: "canonical"
|
|
12359
|
+
},
|
|
12360
|
+
spritekit: {
|
|
12361
|
+
status: "planned",
|
|
12362
|
+
note: "Spacewar uses CRT shader natively; component is React-web-only"
|
|
12363
|
+
}
|
|
12364
|
+
},
|
|
12365
|
+
changelog: [
|
|
12366
|
+
{
|
|
12367
|
+
version: "0.30.0",
|
|
12368
|
+
type: "added",
|
|
12369
|
+
description: "bootOnce — gate CGA turn-on to once per browser tab/session via sessionStorage"
|
|
12370
|
+
},
|
|
12371
|
+
{
|
|
12372
|
+
version: "0.28.0",
|
|
12373
|
+
type: "added",
|
|
12374
|
+
description: "boot prop — CGA monitor turn-on sequence on mount (~650ms); onBootComplete callback"
|
|
12375
|
+
},
|
|
12376
|
+
{
|
|
12377
|
+
version: "0.18.0",
|
|
12378
|
+
type: "changed",
|
|
12379
|
+
description: "Migrate BEM to Tailwind-first"
|
|
12380
|
+
},
|
|
12381
|
+
{
|
|
12382
|
+
version: "0.8.0",
|
|
12383
|
+
type: "changed",
|
|
12384
|
+
description: "Align CRT animation values with design-craft spec"
|
|
12385
|
+
},
|
|
12386
|
+
{
|
|
12387
|
+
version: "0.3.0",
|
|
12388
|
+
type: "added",
|
|
12389
|
+
description: "Initial RetroEffects — scanlines, glow, flicker, bloom, intensity, powered"
|
|
12390
|
+
}
|
|
12391
|
+
]
|
|
12392
|
+
},
|
|
12393
|
+
Skeleton: {
|
|
12394
|
+
origin: "eidotter",
|
|
12395
|
+
consumers: ["dmnctech"],
|
|
12396
|
+
originNote: "DOS/CGA loading placeholder — shade-character rows (░▒▓) with CRT hum-bar band rolling top→bottom (DMNC-1018)"
|
|
12397
|
+
},
|
|
12398
|
+
Stat: {
|
|
12399
|
+
origin: "steuerdash",
|
|
12400
|
+
consumers: ["steuerdash"],
|
|
12401
|
+
since: "0.3.0",
|
|
12402
|
+
originNote: "Key-value metric display created for tax dashboard — optional trend arrow and TextScramble animation",
|
|
12403
|
+
variants: {
|
|
12404
|
+
"size:sm": {
|
|
12405
|
+
description: "Compact metric for dense dashboards",
|
|
12406
|
+
since: "0.16.0"
|
|
12407
|
+
},
|
|
12408
|
+
"size:md": {
|
|
12409
|
+
description: "Standard metric display",
|
|
12410
|
+
since: "0.3.0",
|
|
12411
|
+
usedBy: ["steuerdash"]
|
|
12412
|
+
},
|
|
12413
|
+
"size:lg": {
|
|
12414
|
+
description: "Hero metric for prominent KPIs",
|
|
12415
|
+
since: "0.16.0",
|
|
12416
|
+
usedBy: ["steuerdash"]
|
|
12417
|
+
},
|
|
12418
|
+
"trend:up": {
|
|
12419
|
+
description: "Upward trend indicator (green arrow)",
|
|
12420
|
+
since: "0.3.0",
|
|
12421
|
+
usedBy: ["steuerdash"]
|
|
12422
|
+
},
|
|
12423
|
+
"trend:down": {
|
|
12424
|
+
description: "Downward trend indicator (red arrow)",
|
|
12425
|
+
since: "0.3.0",
|
|
12426
|
+
usedBy: ["steuerdash"]
|
|
12427
|
+
},
|
|
12428
|
+
"trend:neutral": {
|
|
12429
|
+
description: "No change indicator (muted dash)",
|
|
12430
|
+
since: "0.3.0"
|
|
12431
|
+
}
|
|
12432
|
+
},
|
|
12433
|
+
platforms: {
|
|
12434
|
+
react: {
|
|
12435
|
+
path: "src/components/Stat",
|
|
12436
|
+
status: "canonical"
|
|
12437
|
+
},
|
|
12438
|
+
swiftui: { status: "planned" }
|
|
12439
|
+
},
|
|
12440
|
+
changelog: [
|
|
12441
|
+
{
|
|
12442
|
+
version: "0.19.0",
|
|
12443
|
+
type: "changed",
|
|
12444
|
+
description: "Replace hardcoded font-size pixels with V.37 dos tokens"
|
|
12445
|
+
},
|
|
12446
|
+
{
|
|
12447
|
+
version: "0.16.0",
|
|
12448
|
+
type: "changed",
|
|
12449
|
+
description: "Migrate to Tailwind-first (Wave 2); deprecate size aliases; add size:sm/lg"
|
|
12450
|
+
},
|
|
12451
|
+
{
|
|
12452
|
+
version: "0.3.0",
|
|
12453
|
+
type: "added",
|
|
12454
|
+
description: "Initial Stat — label, value, trend, trendValue, scramble prop"
|
|
12455
|
+
}
|
|
12456
|
+
]
|
|
12457
|
+
},
|
|
12458
|
+
Switch: {
|
|
12459
|
+
origin: "eidotter",
|
|
12460
|
+
consumers: [],
|
|
12461
|
+
since: "0.3.0",
|
|
12462
|
+
variants: {
|
|
12463
|
+
"size:sm": {
|
|
12464
|
+
description: "Compact 20px toggle for dense layouts",
|
|
12465
|
+
since: "0.16.0"
|
|
12466
|
+
},
|
|
12467
|
+
"size:md": {
|
|
12468
|
+
description: "Standard 24px toggle",
|
|
12469
|
+
since: "0.3.0"
|
|
12470
|
+
},
|
|
12471
|
+
"type:default": {
|
|
12472
|
+
description: "Full-width thumb track",
|
|
12473
|
+
since: "0.3.0"
|
|
12474
|
+
},
|
|
12475
|
+
"type:slim": {
|
|
12476
|
+
description: "Narrow pill track for inline use",
|
|
12477
|
+
since: "0.3.0"
|
|
12478
|
+
}
|
|
12479
|
+
},
|
|
12480
|
+
platforms: {
|
|
12481
|
+
react: {
|
|
12482
|
+
path: "src/components/Switch",
|
|
12483
|
+
status: "canonical"
|
|
12484
|
+
},
|
|
12485
|
+
swiftui: { status: "planned" }
|
|
12486
|
+
},
|
|
12487
|
+
changelog: [
|
|
12488
|
+
{
|
|
12489
|
+
version: "0.16.0",
|
|
12490
|
+
type: "changed",
|
|
12491
|
+
description: "Migrate to React Aria + Tailwind-first (Wave 1); add size:sm variant"
|
|
12492
|
+
},
|
|
12493
|
+
{
|
|
12494
|
+
version: "0.9.0",
|
|
12495
|
+
type: "changed",
|
|
12496
|
+
description: "Replace text-primary with cga-amber"
|
|
12497
|
+
},
|
|
12498
|
+
{
|
|
12499
|
+
version: "0.8.0",
|
|
12500
|
+
type: "changed",
|
|
12501
|
+
description: "Design-craft animation polish — toggle glow transition"
|
|
12502
|
+
},
|
|
12503
|
+
{
|
|
12504
|
+
version: "0.3.0",
|
|
12505
|
+
type: "added",
|
|
12506
|
+
description: "Initial Switch — controlled/uncontrolled, label, type:default/slim"
|
|
12507
|
+
}
|
|
12508
|
+
]
|
|
12509
|
+
},
|
|
12510
|
+
FilterBar: {
|
|
12511
|
+
origin: "eidotter",
|
|
12512
|
+
consumers: ["lifelines", "rizomorf"],
|
|
12513
|
+
since: "0.7.0",
|
|
12514
|
+
originNote: "Multi-select toggle group for faceted filtering — keyboard nav, showAll, per-item color",
|
|
12515
|
+
variants: {
|
|
12516
|
+
"mode:multi": {
|
|
12517
|
+
description: "Multiple filters selectable simultaneously",
|
|
12518
|
+
since: "0.7.0",
|
|
12519
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12520
|
+
},
|
|
12521
|
+
"mode:single": {
|
|
12522
|
+
description: "Single active filter (radio behavior)",
|
|
12523
|
+
since: "0.7.0"
|
|
12524
|
+
},
|
|
12525
|
+
"size:sm": {
|
|
12526
|
+
description: "Compact filter chips",
|
|
12527
|
+
since: "0.16.0"
|
|
12528
|
+
},
|
|
12529
|
+
"size:md": {
|
|
12530
|
+
description: "Standard filter chips",
|
|
12531
|
+
since: "0.7.0",
|
|
12532
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12533
|
+
},
|
|
12534
|
+
"size:lg": {
|
|
12535
|
+
description: "Large filter chips for touch targets",
|
|
12536
|
+
since: "0.16.0"
|
|
12537
|
+
}
|
|
12538
|
+
},
|
|
12539
|
+
platforms: { react: {
|
|
12540
|
+
path: "src/components/FilterBar",
|
|
12541
|
+
status: "canonical"
|
|
12542
|
+
} },
|
|
12543
|
+
changelog: [
|
|
12544
|
+
{
|
|
12545
|
+
version: "0.16.0",
|
|
12546
|
+
type: "changed",
|
|
12547
|
+
description: "Migrate to Tailwind-first (Wave 3); deprecate size aliases"
|
|
12548
|
+
},
|
|
12549
|
+
{
|
|
12550
|
+
version: "0.13.0",
|
|
12551
|
+
type: "changed",
|
|
12552
|
+
description: "Replace raw <button> with AriaButton for filter chips"
|
|
12553
|
+
},
|
|
12554
|
+
{
|
|
12555
|
+
version: "0.7.0",
|
|
12556
|
+
type: "added",
|
|
12557
|
+
description: "Initial FilterBar — multi/single mode, items array, showAll, keyboard nav"
|
|
12558
|
+
}
|
|
12559
|
+
]
|
|
12560
|
+
},
|
|
12561
|
+
Tag: {
|
|
12562
|
+
origin: "eidotter",
|
|
12563
|
+
consumers: ["lifelines", "rizomorf"],
|
|
12564
|
+
since: "0.7.0",
|
|
12565
|
+
originNote: "Interactive labels for tags, categories, and filter chips",
|
|
12566
|
+
variants: {
|
|
12567
|
+
"variant:default": {
|
|
12568
|
+
description: "Standard tag with subtle background",
|
|
12569
|
+
since: "0.7.0",
|
|
12570
|
+
usedBy: ["rizomorf"]
|
|
12571
|
+
},
|
|
12572
|
+
"variant:outlined": {
|
|
12573
|
+
description: "Border-only tag",
|
|
12574
|
+
since: "0.7.0",
|
|
12575
|
+
usedBy: ["lifelines"]
|
|
12576
|
+
},
|
|
12577
|
+
"variant:filled": {
|
|
12578
|
+
description: "Solid background tag",
|
|
12579
|
+
since: "0.7.0",
|
|
12580
|
+
usedBy: ["rizomorf", "lifelines"]
|
|
12581
|
+
},
|
|
12582
|
+
"size:small": {
|
|
12583
|
+
description: "Compact tag for dense layouts",
|
|
12584
|
+
since: "0.7.0"
|
|
12585
|
+
},
|
|
12586
|
+
"size:medium": {
|
|
12587
|
+
description: "Standard tag size",
|
|
12588
|
+
since: "0.7.0"
|
|
12589
|
+
}
|
|
12590
|
+
},
|
|
12591
|
+
platforms: {
|
|
12592
|
+
react: {
|
|
12593
|
+
path: "src/components/Tag",
|
|
12594
|
+
status: "canonical"
|
|
12595
|
+
},
|
|
12596
|
+
swiftui: { status: "planned" }
|
|
12597
|
+
},
|
|
12598
|
+
changelog: [
|
|
12599
|
+
{
|
|
12600
|
+
version: "0.11.0",
|
|
12601
|
+
type: "changed",
|
|
12602
|
+
description: "Convert font-size to rem tokens for WCAG SC 1.4.4"
|
|
12603
|
+
},
|
|
12604
|
+
{
|
|
12605
|
+
version: "0.8.0",
|
|
12606
|
+
type: "changed",
|
|
12607
|
+
description: "Design-craft animation polish"
|
|
12608
|
+
},
|
|
12609
|
+
{
|
|
12610
|
+
version: "0.7.0",
|
|
11720
12611
|
type: "added",
|
|
11721
12612
|
description: "Initial Tag and TagGroup components"
|
|
11722
12613
|
}
|
|
@@ -11724,31 +12615,381 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11724
12615
|
},
|
|
11725
12616
|
Tabs: {
|
|
11726
12617
|
origin: "eidotter",
|
|
11727
|
-
consumers: ["steuerdash"]
|
|
12618
|
+
consumers: ["steuerdash"],
|
|
12619
|
+
since: "0.3.0",
|
|
12620
|
+
variants: {
|
|
12621
|
+
"variant:underline": {
|
|
12622
|
+
description: "Underline indicator tab bar (default)",
|
|
12623
|
+
since: "0.3.0",
|
|
12624
|
+
usedBy: ["steuerdash"]
|
|
12625
|
+
},
|
|
12626
|
+
"variant:pills": {
|
|
12627
|
+
description: "Filled pill tabs",
|
|
12628
|
+
since: "0.3.0"
|
|
12629
|
+
},
|
|
12630
|
+
"size:sm": {
|
|
12631
|
+
description: "Compact tabs for dense layouts",
|
|
12632
|
+
since: "0.16.0"
|
|
12633
|
+
},
|
|
12634
|
+
"size:md": {
|
|
12635
|
+
description: "Standard tab height",
|
|
12636
|
+
since: "0.3.0",
|
|
12637
|
+
usedBy: ["steuerdash"]
|
|
12638
|
+
},
|
|
12639
|
+
"size:lg": {
|
|
12640
|
+
description: "Large touch-friendly tabs",
|
|
12641
|
+
since: "0.16.0"
|
|
12642
|
+
}
|
|
12643
|
+
},
|
|
12644
|
+
platforms: {
|
|
12645
|
+
react: {
|
|
12646
|
+
path: "src/components/Tabs",
|
|
12647
|
+
status: "canonical"
|
|
12648
|
+
},
|
|
12649
|
+
swiftui: { status: "planned" }
|
|
12650
|
+
},
|
|
12651
|
+
changelog: [
|
|
12652
|
+
{
|
|
12653
|
+
version: "0.17.0",
|
|
12654
|
+
type: "changed",
|
|
12655
|
+
description: "Migrate to React Aria TabList/Tab/TabPanel (Wave 5)"
|
|
12656
|
+
},
|
|
12657
|
+
{
|
|
12658
|
+
version: "0.16.0",
|
|
12659
|
+
type: "changed",
|
|
12660
|
+
description: "Migrate to Tailwind-first (Wave 3); deprecate size aliases; JS-measured indicator via ResizeObserver"
|
|
12661
|
+
},
|
|
12662
|
+
{
|
|
12663
|
+
version: "0.11.0",
|
|
12664
|
+
type: "changed",
|
|
12665
|
+
description: "Dynamic text scaling — rem tokens for WCAG SC 1.4.4"
|
|
12666
|
+
},
|
|
12667
|
+
{
|
|
12668
|
+
version: "0.9.0",
|
|
12669
|
+
type: "changed",
|
|
12670
|
+
description: "Replace text-primary with cga-amber"
|
|
12671
|
+
},
|
|
12672
|
+
{
|
|
12673
|
+
version: "0.3.0",
|
|
12674
|
+
type: "added",
|
|
12675
|
+
description: "Initial Tabs — tabs array, activeTab, onSelectionChange, animated indicator"
|
|
12676
|
+
}
|
|
12677
|
+
]
|
|
11728
12678
|
},
|
|
11729
12679
|
Terminal: {
|
|
11730
12680
|
origin: "eidotter",
|
|
11731
|
-
consumers: ["rizomorf"]
|
|
12681
|
+
consumers: ["rizomorf"],
|
|
12682
|
+
since: "0.2.0",
|
|
12683
|
+
originNote: "DOS window frame with px-based bitmap font sizing — legacy BEM, not migrated to Tailwind-first",
|
|
12684
|
+
variants: {
|
|
12685
|
+
"size:sm": {
|
|
12686
|
+
description: "Compact 320px window",
|
|
12687
|
+
since: "0.2.0"
|
|
12688
|
+
},
|
|
12689
|
+
"size:md": {
|
|
12690
|
+
description: "Standard 480px window",
|
|
12691
|
+
since: "0.2.0",
|
|
12692
|
+
usedBy: ["rizomorf"]
|
|
12693
|
+
},
|
|
12694
|
+
"size:lg": {
|
|
12695
|
+
description: "Full-width window",
|
|
12696
|
+
since: "0.2.0"
|
|
12697
|
+
},
|
|
12698
|
+
"state:active": {
|
|
12699
|
+
description: "Focused window with amber title bar",
|
|
12700
|
+
since: "0.2.0",
|
|
12701
|
+
usedBy: ["rizomorf"]
|
|
12702
|
+
},
|
|
12703
|
+
"state:inactive": {
|
|
12704
|
+
description: "Unfocused window with dimmed title bar",
|
|
12705
|
+
since: "0.2.0"
|
|
12706
|
+
},
|
|
12707
|
+
"state:minimized": {
|
|
12708
|
+
description: "Collapsed to title bar only",
|
|
12709
|
+
since: "0.2.0"
|
|
12710
|
+
}
|
|
12711
|
+
},
|
|
12712
|
+
platforms: { react: {
|
|
12713
|
+
path: "src/components/Terminal",
|
|
12714
|
+
status: "canonical"
|
|
12715
|
+
} },
|
|
12716
|
+
changelog: [
|
|
12717
|
+
{
|
|
12718
|
+
version: "0.30.0",
|
|
12719
|
+
type: "changed",
|
|
12720
|
+
description: "A11y keyboard focus fixes for window controls"
|
|
12721
|
+
},
|
|
12722
|
+
{
|
|
12723
|
+
version: "0.18.0",
|
|
12724
|
+
type: "changed",
|
|
12725
|
+
description: "Migrate BEM to Tailwind-first; switch to Flexi IBM VGA font"
|
|
12726
|
+
},
|
|
12727
|
+
{
|
|
12728
|
+
version: "0.14.0",
|
|
12729
|
+
type: "changed",
|
|
12730
|
+
description: "Breaking: minimizable/maximizable/closeable default to false — consumers must opt in"
|
|
12731
|
+
},
|
|
12732
|
+
{
|
|
12733
|
+
version: "0.13.0",
|
|
12734
|
+
type: "changed",
|
|
12735
|
+
description: "Replace raw <button> with AriaButton for window controls"
|
|
12736
|
+
},
|
|
12737
|
+
{
|
|
12738
|
+
version: "0.2.0",
|
|
12739
|
+
type: "added",
|
|
12740
|
+
description: "Initial Terminal — title bar, window controls, resizable, autoFocus, size/state variants"
|
|
12741
|
+
}
|
|
12742
|
+
]
|
|
11732
12743
|
},
|
|
11733
12744
|
TimelineNode: {
|
|
11734
12745
|
origin: "lifelines",
|
|
11735
12746
|
consumers: ["lifelines", "rizomorf"],
|
|
11736
|
-
|
|
12747
|
+
since: "0.4.0",
|
|
12748
|
+
originNote: "Timeline markers extracted from Lifelines — sits on the axis line, content-box sizing",
|
|
12749
|
+
variants: {
|
|
12750
|
+
"shape:circle": {
|
|
12751
|
+
description: "Circular node marker (default)",
|
|
12752
|
+
since: "0.4.0",
|
|
12753
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12754
|
+
},
|
|
12755
|
+
"shape:square": {
|
|
12756
|
+
description: "Square node marker",
|
|
12757
|
+
since: "0.4.0"
|
|
12758
|
+
},
|
|
12759
|
+
"shape:diamond": {
|
|
12760
|
+
description: "Diamond (rotated square) node marker",
|
|
12761
|
+
since: "0.4.0"
|
|
12762
|
+
},
|
|
12763
|
+
"variant:default": {
|
|
12764
|
+
description: "Muted amber node",
|
|
12765
|
+
since: "0.4.0",
|
|
12766
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12767
|
+
},
|
|
12768
|
+
"variant:primary": {
|
|
12769
|
+
description: "Full-brightness amber node with phosphor glow",
|
|
12770
|
+
since: "0.4.0",
|
|
12771
|
+
usedBy: ["lifelines"]
|
|
12772
|
+
},
|
|
12773
|
+
"variant:secondary": {
|
|
12774
|
+
description: "Dimmed node for secondary events",
|
|
12775
|
+
since: "0.4.0"
|
|
12776
|
+
},
|
|
12777
|
+
"variant:accent": {
|
|
12778
|
+
description: "CGA accent color node",
|
|
12779
|
+
since: "0.4.0"
|
|
12780
|
+
},
|
|
12781
|
+
"labelPosition:right": {
|
|
12782
|
+
description: "Label to the right of the node (default)",
|
|
12783
|
+
since: "0.4.0",
|
|
12784
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12785
|
+
},
|
|
12786
|
+
"labelPosition:left": {
|
|
12787
|
+
description: "Label to the left of the node",
|
|
12788
|
+
since: "0.4.0"
|
|
12789
|
+
},
|
|
12790
|
+
"labelPosition:top": {
|
|
12791
|
+
description: "Label above the node",
|
|
12792
|
+
since: "0.4.0"
|
|
12793
|
+
},
|
|
12794
|
+
"labelPosition:bottom": {
|
|
12795
|
+
description: "Label below the node",
|
|
12796
|
+
since: "0.4.0"
|
|
12797
|
+
},
|
|
12798
|
+
"size:sm": {
|
|
12799
|
+
description: "Compact 8px node",
|
|
12800
|
+
since: "0.16.0"
|
|
12801
|
+
},
|
|
12802
|
+
"size:md": {
|
|
12803
|
+
description: "Standard 12px node",
|
|
12804
|
+
since: "0.4.0",
|
|
12805
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12806
|
+
},
|
|
12807
|
+
"size:lg": {
|
|
12808
|
+
description: "Large 16px node for emphasis",
|
|
12809
|
+
since: "0.16.0"
|
|
12810
|
+
}
|
|
12811
|
+
},
|
|
12812
|
+
platforms: { react: {
|
|
12813
|
+
path: "src/components/TimelineNode",
|
|
12814
|
+
status: "canonical"
|
|
12815
|
+
} },
|
|
12816
|
+
changelog: [
|
|
12817
|
+
{
|
|
12818
|
+
version: "0.35.0",
|
|
12819
|
+
type: "changed",
|
|
12820
|
+
description: "Pin marker box-sizing to content-box so dots stay on the axis line (DMNC-1090)"
|
|
12821
|
+
},
|
|
12822
|
+
{
|
|
12823
|
+
version: "0.30.0",
|
|
12824
|
+
type: "changed",
|
|
12825
|
+
description: "A11y: high-contrast glow gap remediation"
|
|
12826
|
+
},
|
|
12827
|
+
{
|
|
12828
|
+
version: "0.18.0",
|
|
12829
|
+
type: "changed",
|
|
12830
|
+
description: "Migrate BEM to Tailwind-first; switch to Flexi IBM VGA font"
|
|
12831
|
+
},
|
|
12832
|
+
{
|
|
12833
|
+
version: "0.4.0",
|
|
12834
|
+
type: "added",
|
|
12835
|
+
description: "Initial TimelineNode — shape, variant, labelPosition, size, isActive, onClick"
|
|
12836
|
+
}
|
|
12837
|
+
]
|
|
11737
12838
|
},
|
|
11738
12839
|
InlineExpand: {
|
|
11739
12840
|
origin: "rizomorf",
|
|
11740
12841
|
consumers: ["rizomorf"],
|
|
11741
|
-
|
|
12842
|
+
since: "0.7.0",
|
|
12843
|
+
originNote: "Inline disclosure widget for expanding context within prose — sources with favicon fallback",
|
|
12844
|
+
platforms: { react: {
|
|
12845
|
+
path: "src/components/InlineExpand",
|
|
12846
|
+
status: "canonical"
|
|
12847
|
+
} },
|
|
12848
|
+
changelog: [
|
|
12849
|
+
{
|
|
12850
|
+
version: "0.30.0",
|
|
12851
|
+
type: "changed",
|
|
12852
|
+
description: "Fix behavioral bugs — double-toggle edge case (DMNC-1063)"
|
|
12853
|
+
},
|
|
12854
|
+
{
|
|
12855
|
+
version: "0.18.0",
|
|
12856
|
+
type: "changed",
|
|
12857
|
+
description: "Migrate BEM to Tailwind-first"
|
|
12858
|
+
},
|
|
12859
|
+
{
|
|
12860
|
+
version: "0.8.0",
|
|
12861
|
+
type: "added",
|
|
12862
|
+
description: "sources prop — citation links with Google Favicons API fallback"
|
|
12863
|
+
},
|
|
12864
|
+
{
|
|
12865
|
+
version: "0.7.0",
|
|
12866
|
+
type: "added",
|
|
12867
|
+
description: "Initial InlineExpand — expanded, defaultExpanded, onToggle, content slot"
|
|
12868
|
+
}
|
|
12869
|
+
]
|
|
11742
12870
|
},
|
|
11743
12871
|
Separator: {
|
|
11744
12872
|
origin: "rizomorf",
|
|
11745
12873
|
consumers: ["rizomorf"],
|
|
11746
|
-
|
|
12874
|
+
since: "0.8.0",
|
|
12875
|
+
originNote: "Horizontal/vertical divider for content separation — ported from rizomorf",
|
|
12876
|
+
variants: {
|
|
12877
|
+
"orientation:horizontal": {
|
|
12878
|
+
description: "Full-width horizontal rule (default)",
|
|
12879
|
+
since: "0.8.0",
|
|
12880
|
+
usedBy: ["rizomorf"]
|
|
12881
|
+
},
|
|
12882
|
+
"orientation:vertical": {
|
|
12883
|
+
description: "Inline vertical divider for flex/grid rows",
|
|
12884
|
+
since: "0.8.0"
|
|
12885
|
+
}
|
|
12886
|
+
},
|
|
12887
|
+
platforms: { react: {
|
|
12888
|
+
path: "src/components/Separator",
|
|
12889
|
+
status: "canonical"
|
|
12890
|
+
} },
|
|
12891
|
+
changelog: [
|
|
12892
|
+
{
|
|
12893
|
+
version: "0.16.0",
|
|
12894
|
+
type: "changed",
|
|
12895
|
+
description: "Migrate to Tailwind-first (Wave 2)"
|
|
12896
|
+
},
|
|
12897
|
+
{
|
|
12898
|
+
version: "0.9.0",
|
|
12899
|
+
type: "changed",
|
|
12900
|
+
description: "Replace text-primary with cga-amber"
|
|
12901
|
+
},
|
|
12902
|
+
{
|
|
12903
|
+
version: "0.8.0",
|
|
12904
|
+
type: "added",
|
|
12905
|
+
description: "Initial Separator — horizontal/vertical orientation, ported from rizomorf"
|
|
12906
|
+
}
|
|
12907
|
+
]
|
|
11747
12908
|
},
|
|
11748
12909
|
TimelineContainer: {
|
|
11749
12910
|
origin: "lifelines",
|
|
11750
12911
|
consumers: ["lifelines"],
|
|
11751
|
-
|
|
12912
|
+
since: "0.8.0",
|
|
12913
|
+
originNote: "Multi-zoom timeline with year/month/day/hour views. Supports interactive, static, feed, and master-detail modes.",
|
|
12914
|
+
variants: {
|
|
12915
|
+
"mode:interactive": {
|
|
12916
|
+
description: "Full drill-down with keyboard shortcuts and Ctrl+scroll zoom",
|
|
12917
|
+
since: "0.8.0",
|
|
12918
|
+
usedBy: ["lifelines"]
|
|
12919
|
+
},
|
|
12920
|
+
"mode:static": {
|
|
12921
|
+
description: "Read-only snapshot — no zoom or selection controls",
|
|
12922
|
+
since: "0.8.0"
|
|
12923
|
+
},
|
|
12924
|
+
"mode:feed": {
|
|
12925
|
+
description: "Paginated vertical list with LOAD MORE — append-safe",
|
|
12926
|
+
since: "0.21.0",
|
|
12927
|
+
usedBy: ["lifelines"]
|
|
12928
|
+
},
|
|
12929
|
+
"mode:master-detail": {
|
|
12930
|
+
description: "Split-pane with list rail + detail panel",
|
|
12931
|
+
since: "0.34.0"
|
|
12932
|
+
},
|
|
12933
|
+
"sortOrder:asc": {
|
|
12934
|
+
description: "Oldest entries first",
|
|
12935
|
+
since: "0.8.0"
|
|
12936
|
+
},
|
|
12937
|
+
"sortOrder:desc": {
|
|
12938
|
+
description: "Newest entries first (default)",
|
|
12939
|
+
since: "0.8.0",
|
|
12940
|
+
usedBy: ["lifelines"]
|
|
12941
|
+
}
|
|
12942
|
+
},
|
|
12943
|
+
platforms: { react: {
|
|
12944
|
+
path: "src/components/TimelineContainer",
|
|
12945
|
+
status: "canonical"
|
|
12946
|
+
} },
|
|
12947
|
+
changelog: [
|
|
12948
|
+
{
|
|
12949
|
+
version: "0.34.0",
|
|
12950
|
+
type: "added",
|
|
12951
|
+
description: "master-detail layout mode — split-pane list rail + detail panel (DMNC-878)"
|
|
12952
|
+
},
|
|
12953
|
+
{
|
|
12954
|
+
version: "0.21.0",
|
|
12955
|
+
type: "added",
|
|
12956
|
+
description: "feed mode — pageSize, onLoadMore, DOS-styled LOAD MORE button"
|
|
12957
|
+
},
|
|
12958
|
+
{
|
|
12959
|
+
version: "0.21.0",
|
|
12960
|
+
type: "added",
|
|
12961
|
+
description: "renderEntry prop — pluggable entry renderer with defaultRender() opt-in"
|
|
12962
|
+
},
|
|
12963
|
+
{
|
|
12964
|
+
version: "0.9.0",
|
|
12965
|
+
type: "changed",
|
|
12966
|
+
description: "Responsive layout with CSS container queries"
|
|
12967
|
+
},
|
|
12968
|
+
{
|
|
12969
|
+
version: "0.8.0",
|
|
12970
|
+
type: "added",
|
|
12971
|
+
description: "Initial TimelineContainer — year/month/day/hour drill-down, migrated from Lifelines"
|
|
12972
|
+
}
|
|
12973
|
+
]
|
|
12974
|
+
},
|
|
12975
|
+
TextScramble: {
|
|
12976
|
+
origin: "eidotter",
|
|
12977
|
+
consumers: [],
|
|
12978
|
+
since: "0.10.0",
|
|
12979
|
+
originNote: "DOS text decode effect — rAF-driven character scramble reveal; used by Stat (scramble prop) and standalone",
|
|
12980
|
+
platforms: { react: {
|
|
12981
|
+
path: "src/components/TextScramble",
|
|
12982
|
+
status: "canonical"
|
|
12983
|
+
} },
|
|
12984
|
+
changelog: [{
|
|
12985
|
+
version: "0.18.0",
|
|
12986
|
+
type: "changed",
|
|
12987
|
+
description: "Migrate BEM to Tailwind-first; adopt cn() and forwardRef"
|
|
12988
|
+
}, {
|
|
12989
|
+
version: "0.10.0",
|
|
12990
|
+
type: "added",
|
|
12991
|
+
description: "Initial TextScramble — children string, speed, characters, delay; rAF-based reveal"
|
|
12992
|
+
}]
|
|
11752
12993
|
},
|
|
11753
12994
|
ChatMessage: {
|
|
11754
12995
|
origin: "eidotter",
|
|
@@ -11824,23 +13065,68 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11824
13065
|
type: "added",
|
|
11825
13066
|
description: "Initial CmdPalette — generic items with keywords, mod+k global hotkey, custom renderItem, useId() per-instance DOM ids, selected-clamp on items mutation"
|
|
11826
13067
|
}]
|
|
13068
|
+
},
|
|
13069
|
+
ProgressRing: {
|
|
13070
|
+
origin: "tracker",
|
|
13071
|
+
consumers: ["tracker"],
|
|
13072
|
+
since: "0.37.0",
|
|
13073
|
+
originNote: "16-segment quantized progress ring (SVG). Powers Tracker’s hold-to-complete feedback ring.",
|
|
13074
|
+
platforms: { react: {
|
|
13075
|
+
path: "src/components/ProgressRing",
|
|
13076
|
+
status: "canonical"
|
|
13077
|
+
} },
|
|
13078
|
+
changelog: [{
|
|
13079
|
+
version: "0.37.0",
|
|
13080
|
+
type: "added",
|
|
13081
|
+
description: "Initial ProgressRing — discrete quantized segment arcs, phosphor glow, centre label, currentColor theming"
|
|
13082
|
+
}]
|
|
13083
|
+
},
|
|
13084
|
+
CalendarHeatmap: {
|
|
13085
|
+
origin: "tracker",
|
|
13086
|
+
consumers: ["tracker"],
|
|
13087
|
+
since: "0.37.0",
|
|
13088
|
+
originNote: "Block-character month calendar heatmap (█ ░ · ▒). Domain-agnostic — takes a date→status map, not a domain object.",
|
|
13089
|
+
platforms: { react: {
|
|
13090
|
+
path: "src/components/CalendarHeatmap",
|
|
13091
|
+
status: "canonical"
|
|
13092
|
+
} },
|
|
13093
|
+
changelog: [{
|
|
13094
|
+
version: "0.37.0",
|
|
13095
|
+
type: "added",
|
|
13096
|
+
description: "Initial CalendarHeatmap — UTC date maths, Monday/Sunday week start, legend, successColor override, glyph overrides"
|
|
13097
|
+
}]
|
|
13098
|
+
},
|
|
13099
|
+
HoldToComplete: {
|
|
13100
|
+
origin: "tracker",
|
|
13101
|
+
consumers: ["tracker"],
|
|
13102
|
+
since: "0.37.0",
|
|
13103
|
+
originNote: "Press-and-hold-to-complete interaction with ProgressRing feedback. Pointer + keyboard, reduced-motion aware.",
|
|
13104
|
+
platforms: { react: {
|
|
13105
|
+
path: "src/components/HoldToComplete",
|
|
13106
|
+
status: "canonical"
|
|
13107
|
+
} },
|
|
13108
|
+
changelog: [{
|
|
13109
|
+
version: "0.37.0",
|
|
13110
|
+
type: "added",
|
|
13111
|
+
description: "Initial HoldToComplete — rAF hold animation with accelerating ease, onHoldProgress hook, Enter/Space to complete"
|
|
13112
|
+
}]
|
|
11827
13113
|
}
|
|
11828
13114
|
};
|
|
11829
|
-
function
|
|
11830
|
-
return
|
|
13115
|
+
function kp(e) {
|
|
13116
|
+
return Op[e];
|
|
11831
13117
|
}
|
|
11832
|
-
function
|
|
11833
|
-
return Object.entries(
|
|
13118
|
+
function Ap(e) {
|
|
13119
|
+
return Object.entries(Op).filter(([, t]) => t.origin === e).map(([e]) => e);
|
|
11834
13120
|
}
|
|
11835
|
-
function
|
|
11836
|
-
return Object.entries(
|
|
13121
|
+
function jp(e) {
|
|
13122
|
+
return Object.entries(Op).filter(([, t]) => t.consumers.includes(e)).map(([e]) => e);
|
|
11837
13123
|
}
|
|
11838
|
-
function
|
|
11839
|
-
let n =
|
|
13124
|
+
function Mp(e, t) {
|
|
13125
|
+
let n = Op[e];
|
|
11840
13126
|
return n?.variants ? Object.entries(n.variants).filter(([, e]) => e.usedBy?.includes(t)).map(([e]) => e) : [];
|
|
11841
13127
|
}
|
|
11842
|
-
function
|
|
11843
|
-
let t =
|
|
13128
|
+
function Np(e) {
|
|
13129
|
+
let t = Op[e];
|
|
11844
13130
|
if (!t?.variants) return {};
|
|
11845
13131
|
let n = {};
|
|
11846
13132
|
for (let [e, r] of Object.entries(t.variants)) n[e] = r.usedBy ?? [];
|
|
@@ -11848,6 +13134,6 @@ function _p(e) {
|
|
|
11848
13134
|
}
|
|
11849
13135
|
//#endregion
|
|
11850
13136
|
//#region src/index.ts
|
|
11851
|
-
var
|
|
13137
|
+
var Pp = "0.30.0";
|
|
11852
13138
|
//#endregion
|
|
11853
|
-
export {
|
|
13139
|
+
export { ip as AIText, ou as AccordionFill, hp as AddressBlock, iu as Alert, Gu as Badge, rp as BrandLockup, Ju as Breadcrumb, lu as Button, Mu as CalendarHeatmap, du as Card, Bf as ChatContainer, Rf as ChatHistory, zf as ChatInput, Lf as ChatMessage, fu as Checkbox, Ef as ChecklistRow, ep as CmdPalette, pu as CommandPrompt, Df as CopyButton, xp as DatenschutzController, Tp as DatenschutzEncryption, wp as DatenschutzFonts, Sp as DatenschutzHosting, Cp as DatenschutzPostHog, Ep as DatenschutzRights, Nf as DesktopNav, Xf as DosFigure, wf as EmptyState, hf as FilterBar, Hf as Footer, Wf as Header, Iu as HoldToComplete, Zl as Icon, gp as ImpressumAddress, _p as ImpressumContact, yp as ImpressumLiabilityContent, bp as ImpressumLiabilityLinks, vp as ImpressumResponsible, vf as InlineExpand, Yf as InlineLink, Ru as Input, Af as LabeledProgress, kf as LedgerRow, fp as LegalPage, Rd as Lightbox, tp as Logo, Pf as MobileNav, af as Modal, Ff as Nav, Kf as Notification, xu as Progress, Cu as ProgressRing, $u as RetroEffects, au as Section, Sf as SectionHeading, Of as Select, bf as Separator, dp as Skeleton, pf as Stat, Ku as Switch, Hu as Tabs, Xd as Tag, Qd as TagGroup, zu as Terminal, jf as TextScramble, rf as TimelineContainer, id as TimelineNode, np as Wordmark, ad as ZOOM_LEVELS, Op as componentRegistry, Vf as defaultLegalLinks, kp as getComponentMeta, jp as getComponentsByConsumer, Ap as getComponentsByOrigin, Np as getVariantConsumerMap, Mp as getVariantsUsedBy, gf as isSafeUrl, Dp as projects, cf as useTextScramble, Pp as version };
|