eidotter 0.37.0 → 0.37.2
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/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 +1790 -501
- package/dist/index.umd.js +3 -3
- package/package.json +14 -6
- 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,18 +8518,18 @@ 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
|
-
},
|
|
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 }) => {
|
|
8249
8533
|
let _ = f(i), [v, S] = p(i ? "on" : "off"), [C, w] = p(a && !o), T = f(!1), E = f(c), D = f(g);
|
|
8250
8534
|
s(() => {
|
|
8251
8535
|
D.current = g;
|
|
@@ -8253,11 +8537,11 @@ var Mu = "eidotter-breadcrumb__link inline-flex items-center gap-1 text-dos-text
|
|
|
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
8543
|
if (!(!a || !o)) {
|
|
8260
|
-
if (
|
|
8544
|
+
if (Zu(E.current)) {
|
|
8261
8545
|
O();
|
|
8262
8546
|
return;
|
|
8263
8547
|
}
|
|
@@ -8313,32 +8597,32 @@ var Mu = "eidotter-breadcrumb__link inline-flex items-center gap-1 text-dos-text
|
|
|
8313
8597
|
]
|
|
8314
8598
|
})]
|
|
8315
8599
|
});
|
|
8316
|
-
},
|
|
8600
|
+
}, ed = {
|
|
8317
8601
|
sm: "small",
|
|
8318
8602
|
md: "medium",
|
|
8319
8603
|
lg: "large",
|
|
8320
8604
|
small: "small",
|
|
8321
8605
|
medium: "medium",
|
|
8322
8606
|
large: "large"
|
|
8323
|
-
},
|
|
8607
|
+
}, td = {
|
|
8324
8608
|
circle: "eidotter-timeline-node--circle",
|
|
8325
8609
|
square: "eidotter-timeline-node--square",
|
|
8326
8610
|
diamond: "eidotter-timeline-node--diamond"
|
|
8327
|
-
},
|
|
8611
|
+
}, nd = {
|
|
8328
8612
|
default: "eidotter-timeline-node--default",
|
|
8329
8613
|
primary: "eidotter-timeline-node--primary",
|
|
8330
8614
|
secondary: "eidotter-timeline-node--secondary",
|
|
8331
8615
|
accent: "eidotter-timeline-node--accent"
|
|
8332
|
-
},
|
|
8616
|
+
}, rd = {
|
|
8333
8617
|
left: "eidotter-timeline-node--label-left",
|
|
8334
8618
|
right: "eidotter-timeline-node--label-right",
|
|
8335
8619
|
top: "eidotter-timeline-node--label-top",
|
|
8336
8620
|
bottom: "eidotter-timeline-node--label-bottom"
|
|
8337
|
-
},
|
|
8338
|
-
let u =
|
|
8621
|
+
}, 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) => {
|
|
8622
|
+
let u = ed[a] ?? "medium";
|
|
8339
8623
|
return /* @__PURE__ */ x("div", {
|
|
8340
8624
|
ref: l,
|
|
8341
|
-
className: $("inline-flex items-center gap-2 font-dos", "eidotter-timeline-node",
|
|
8625
|
+
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
8626
|
onClick: () => {
|
|
8343
8627
|
s && s();
|
|
8344
8628
|
},
|
|
@@ -8373,10 +8657,10 @@ var Mu = "eidotter-breadcrumb__link inline-flex items-center gap-1 text-dos-text
|
|
|
8373
8657
|
]
|
|
8374
8658
|
});
|
|
8375
8659
|
});
|
|
8376
|
-
|
|
8660
|
+
id.displayName = "TimelineNode";
|
|
8377
8661
|
//#endregion
|
|
8378
8662
|
//#region src/components/TimelineContainer/components/types.ts
|
|
8379
|
-
var
|
|
8663
|
+
var ad = [
|
|
8380
8664
|
"year",
|
|
8381
8665
|
"month",
|
|
8382
8666
|
"day",
|
|
@@ -8384,12 +8668,12 @@ var Wu = [
|
|
|
8384
8668
|
];
|
|
8385
8669
|
//#endregion
|
|
8386
8670
|
//#region src/components/TimelineContainer/components/useDrillDown.ts
|
|
8387
|
-
function
|
|
8671
|
+
function od({ zoomLevel: e, defaultZoomLevel: t = "month", onZoomChange: n } = {}) {
|
|
8388
8672
|
let r = e === void 0, [i, o] = p(t), [c, l] = p([]), u = f(r);
|
|
8389
8673
|
s(() => {
|
|
8390
8674
|
u.current && !r && l([]), u.current = r;
|
|
8391
8675
|
}, [r]);
|
|
8392
|
-
let d = e ?? i, m =
|
|
8676
|
+
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
8677
|
s(() => {
|
|
8394
8678
|
v.current = r, y.current = h, b.current = m, x.current = c, S.current = n;
|
|
8395
8679
|
});
|
|
@@ -8405,7 +8689,7 @@ function Gu({ zoomLevel: e, defaultZoomLevel: t = "month", onZoomChange: n } = {
|
|
|
8405
8689
|
isDrillDownEnabled: r,
|
|
8406
8690
|
drillDown: a((e, t) => {
|
|
8407
8691
|
if (!v.current || !y.current) return;
|
|
8408
|
-
let n =
|
|
8692
|
+
let n = ad[b.current + 1];
|
|
8409
8693
|
n !== void 0 && (l((n) => [...n, {
|
|
8410
8694
|
periodStart: e,
|
|
8411
8695
|
label: t
|
|
@@ -8413,7 +8697,7 @@ function Gu({ zoomLevel: e, defaultZoomLevel: t = "month", onZoomChange: n } = {
|
|
|
8413
8697
|
}, [C]),
|
|
8414
8698
|
drillUp: a(() => {
|
|
8415
8699
|
if (!v.current || x.current.length === 0) return;
|
|
8416
|
-
let e =
|
|
8700
|
+
let e = ad[b.current - 1];
|
|
8417
8701
|
e !== void 0 && (l((e) => e.slice(0, -1)), C(e));
|
|
8418
8702
|
}, [C]),
|
|
8419
8703
|
reset: a(() => {
|
|
@@ -8423,7 +8707,7 @@ function Gu({ zoomLevel: e, defaultZoomLevel: t = "month", onZoomChange: n } = {
|
|
|
8423
8707
|
}
|
|
8424
8708
|
//#endregion
|
|
8425
8709
|
//#region src/components/TimelineContainer/components/useSelection.ts
|
|
8426
|
-
function
|
|
8710
|
+
function sd({ selectedEntryId: e, defaultSelectedEntryId: t = null, onSelectEntry: n } = {}) {
|
|
8427
8711
|
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
8712
|
s(() => {
|
|
8429
8713
|
l.current = c, u.current = o, d.current = n;
|
|
@@ -8449,7 +8733,7 @@ function Ku({ selectedEntryId: e, defaultSelectedEntryId: t = null, onSelectEntr
|
|
|
8449
8733
|
}
|
|
8450
8734
|
//#endregion
|
|
8451
8735
|
//#region src/components/TimelineContainer/components/timelineUtils.ts
|
|
8452
|
-
var
|
|
8736
|
+
var cd = [
|
|
8453
8737
|
"January",
|
|
8454
8738
|
"February",
|
|
8455
8739
|
"March",
|
|
@@ -8462,7 +8746,7 @@ var qu = [
|
|
|
8462
8746
|
"October",
|
|
8463
8747
|
"November",
|
|
8464
8748
|
"December"
|
|
8465
|
-
],
|
|
8749
|
+
], ld = [
|
|
8466
8750
|
"Jan",
|
|
8467
8751
|
"Feb",
|
|
8468
8752
|
"Mar",
|
|
@@ -8476,48 +8760,48 @@ var qu = [
|
|
|
8476
8760
|
"Nov",
|
|
8477
8761
|
"Dec"
|
|
8478
8762
|
];
|
|
8479
|
-
function
|
|
8763
|
+
function ud(e) {
|
|
8480
8764
|
return new Date(e).getUTCFullYear();
|
|
8481
8765
|
}
|
|
8482
|
-
function
|
|
8766
|
+
function dd(e) {
|
|
8483
8767
|
return new Date(e).getUTCMonth();
|
|
8484
8768
|
}
|
|
8485
|
-
function
|
|
8769
|
+
function fd(e) {
|
|
8486
8770
|
return new Date(e).getUTCDate();
|
|
8487
8771
|
}
|
|
8488
|
-
function
|
|
8772
|
+
function pd(e) {
|
|
8489
8773
|
return new Date(e).getUTCHours();
|
|
8490
8774
|
}
|
|
8491
|
-
function
|
|
8775
|
+
function md(e) {
|
|
8492
8776
|
return String(e);
|
|
8493
8777
|
}
|
|
8494
|
-
function
|
|
8495
|
-
return `${
|
|
8778
|
+
function hd(e, t) {
|
|
8779
|
+
return `${cd[t]} ${e}`;
|
|
8496
8780
|
}
|
|
8497
|
-
function
|
|
8498
|
-
return `${
|
|
8781
|
+
function gd(e, t, n) {
|
|
8782
|
+
return `${ld[t]} ${n}`;
|
|
8499
8783
|
}
|
|
8500
|
-
function
|
|
8784
|
+
function _d(e, t, n, r) {
|
|
8501
8785
|
let i = r >= 12 ? "pm" : "am", a = r === 0 ? 12 : r > 12 ? r - 12 : r;
|
|
8502
|
-
return `${
|
|
8786
|
+
return `${ld[t]} ${n}, ${a}${i}`;
|
|
8503
8787
|
}
|
|
8504
|
-
function
|
|
8505
|
-
let t = new Date(e), n =
|
|
8788
|
+
function vd(e) {
|
|
8789
|
+
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
8790
|
return `${n} ${r}, ${i} at ${a === 0 ? 12 : a > 12 ? a - 12 : a}${o > 0 ? `:${String(o).padStart(2, "0")}` : ""}${s}`;
|
|
8507
8791
|
}
|
|
8508
|
-
function
|
|
8792
|
+
function yd(e) {
|
|
8509
8793
|
return new Date(Date.UTC(e, 0, 1)).toISOString();
|
|
8510
8794
|
}
|
|
8511
|
-
function
|
|
8795
|
+
function bd(e, t) {
|
|
8512
8796
|
return new Date(Date.UTC(e, t, 1)).toISOString();
|
|
8513
8797
|
}
|
|
8514
|
-
function
|
|
8798
|
+
function xd(e, t, n) {
|
|
8515
8799
|
return new Date(Date.UTC(e, t, n)).toISOString();
|
|
8516
8800
|
}
|
|
8517
|
-
function
|
|
8801
|
+
function Sd(e, t, n, r) {
|
|
8518
8802
|
return new Date(Date.UTC(e, t, n, r)).toISOString();
|
|
8519
8803
|
}
|
|
8520
|
-
function
|
|
8804
|
+
function Cd(e, t, n, r, i) {
|
|
8521
8805
|
let a = /* @__PURE__ */ new Map(), o = [];
|
|
8522
8806
|
for (let n of e) {
|
|
8523
8807
|
let e = t(n), r = a.get(e);
|
|
@@ -8534,32 +8818,32 @@ function cd(e, t, n, r, i) {
|
|
|
8534
8818
|
entries: a.get(e) ?? []
|
|
8535
8819
|
}));
|
|
8536
8820
|
}
|
|
8537
|
-
function
|
|
8538
|
-
return String(
|
|
8821
|
+
function wd(e) {
|
|
8822
|
+
return String(ud(e.date));
|
|
8539
8823
|
}
|
|
8540
|
-
function
|
|
8541
|
-
let t =
|
|
8824
|
+
function Td(e) {
|
|
8825
|
+
let t = ud(e.date), n = dd(e.date);
|
|
8542
8826
|
return `${t}-${String(n).padStart(2, "0")}`;
|
|
8543
8827
|
}
|
|
8544
|
-
function
|
|
8545
|
-
let t =
|
|
8828
|
+
function Ed(e) {
|
|
8829
|
+
let t = ud(e.date), n = dd(e.date), r = fd(e.date);
|
|
8546
8830
|
return `${t}-${String(n).padStart(2, "0")}-${String(r).padStart(2, "0")}`;
|
|
8547
8831
|
}
|
|
8548
|
-
function
|
|
8549
|
-
let t =
|
|
8832
|
+
function Dd(e) {
|
|
8833
|
+
let t = ud(e.date), n = dd(e.date), r = fd(e.date), i = pd(e.date);
|
|
8550
8834
|
return `${t}-${String(n).padStart(2, "0")}-${String(r).padStart(2, "0")}-${String(i).padStart(2, "0")}`;
|
|
8551
8835
|
}
|
|
8552
|
-
function
|
|
8836
|
+
function Od(e) {
|
|
8553
8837
|
return { year: parseInt(e) };
|
|
8554
8838
|
}
|
|
8555
|
-
function
|
|
8839
|
+
function kd(e) {
|
|
8556
8840
|
let [t, n] = e.split("-");
|
|
8557
8841
|
return {
|
|
8558
8842
|
year: parseInt(t),
|
|
8559
8843
|
month: parseInt(n)
|
|
8560
8844
|
};
|
|
8561
8845
|
}
|
|
8562
|
-
function
|
|
8846
|
+
function Ad(e) {
|
|
8563
8847
|
let [t, n, r] = e.split("-");
|
|
8564
8848
|
return {
|
|
8565
8849
|
year: parseInt(t),
|
|
@@ -8567,7 +8851,7 @@ function hd(e) {
|
|
|
8567
8851
|
day: parseInt(r)
|
|
8568
8852
|
};
|
|
8569
8853
|
}
|
|
8570
|
-
function
|
|
8854
|
+
function jd(e) {
|
|
8571
8855
|
let [t, n, r, i] = e.split("-");
|
|
8572
8856
|
return {
|
|
8573
8857
|
year: parseInt(t),
|
|
@@ -8576,56 +8860,56 @@ function gd(e) {
|
|
|
8576
8860
|
hour: parseInt(i)
|
|
8577
8861
|
};
|
|
8578
8862
|
}
|
|
8579
|
-
var
|
|
8863
|
+
var Md = {
|
|
8580
8864
|
year: 4,
|
|
8581
8865
|
month: 7,
|
|
8582
8866
|
day: 10
|
|
8583
8867
|
};
|
|
8584
|
-
function
|
|
8868
|
+
function Nd(e, t, n) {
|
|
8585
8869
|
if (t === null || n === "hour") return e;
|
|
8586
|
-
let r =
|
|
8870
|
+
let r = Md[n];
|
|
8587
8871
|
if (r === void 0) return e;
|
|
8588
8872
|
let i = t.slice(0, r);
|
|
8589
8873
|
return e.filter((e) => e.periodStart.slice(0, r) === i);
|
|
8590
8874
|
}
|
|
8591
|
-
function
|
|
8875
|
+
function Pd(e, t, n = "desc") {
|
|
8592
8876
|
if (e.length === 0) return [];
|
|
8593
8877
|
let r = e.filter((e) => !isNaN(new Date(e.date).getTime()));
|
|
8594
8878
|
if (r.length === 0) return [];
|
|
8595
8879
|
switch (t) {
|
|
8596
|
-
case "year": return
|
|
8597
|
-
let { year: t } =
|
|
8598
|
-
return
|
|
8880
|
+
case "year": return Cd(r, wd, (e) => {
|
|
8881
|
+
let { year: t } = Od(e);
|
|
8882
|
+
return md(t);
|
|
8599
8883
|
}, (e) => {
|
|
8600
|
-
let { year: t } =
|
|
8601
|
-
return
|
|
8884
|
+
let { year: t } = Od(e);
|
|
8885
|
+
return yd(t);
|
|
8602
8886
|
}, n);
|
|
8603
|
-
case "month": return
|
|
8604
|
-
let { year: t, month: n } =
|
|
8605
|
-
return
|
|
8887
|
+
case "month": return Cd(r, Td, (e) => {
|
|
8888
|
+
let { year: t, month: n } = kd(e);
|
|
8889
|
+
return hd(t, n);
|
|
8606
8890
|
}, (e) => {
|
|
8607
|
-
let { year: t, month: n } =
|
|
8608
|
-
return
|
|
8891
|
+
let { year: t, month: n } = kd(e);
|
|
8892
|
+
return bd(t, n);
|
|
8609
8893
|
}, n);
|
|
8610
|
-
case "day": return
|
|
8611
|
-
let { year: t, month: n, day: r } =
|
|
8612
|
-
return
|
|
8894
|
+
case "day": return Cd(r, Ed, (e) => {
|
|
8895
|
+
let { year: t, month: n, day: r } = Ad(e);
|
|
8896
|
+
return gd(t, n, r);
|
|
8613
8897
|
}, (e) => {
|
|
8614
|
-
let { year: t, month: n, day: r } =
|
|
8615
|
-
return
|
|
8898
|
+
let { year: t, month: n, day: r } = Ad(e);
|
|
8899
|
+
return xd(t, n, r);
|
|
8616
8900
|
}, n);
|
|
8617
|
-
case "hour": return
|
|
8618
|
-
let { year: t, month: n, day: r, hour: i } =
|
|
8619
|
-
return
|
|
8901
|
+
case "hour": return Cd(r, Dd, (e) => {
|
|
8902
|
+
let { year: t, month: n, day: r, hour: i } = jd(e);
|
|
8903
|
+
return _d(t, n, r, i);
|
|
8620
8904
|
}, (e) => {
|
|
8621
|
-
let { year: t, month: n, day: r, hour: i } =
|
|
8622
|
-
return
|
|
8905
|
+
let { year: t, month: n, day: r, hour: i } = jd(e);
|
|
8906
|
+
return Sd(t, n, r, i);
|
|
8623
8907
|
}, n);
|
|
8624
8908
|
}
|
|
8625
8909
|
}
|
|
8626
8910
|
//#endregion
|
|
8627
8911
|
//#region src/components/TimelineContainer/components/ZoomControls.tsx
|
|
8628
|
-
var
|
|
8912
|
+
var Fd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i, onReset: a, breadcrumbs: o = [], onBreadcrumbClick: s }) => {
|
|
8629
8913
|
let c = o.length > 0;
|
|
8630
8914
|
return /* @__PURE__ */ x("div", {
|
|
8631
8915
|
className: "timeline-zoom-controls",
|
|
@@ -8640,7 +8924,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8640
8924
|
"aria-label": "Zoom out",
|
|
8641
8925
|
children: "[-]"
|
|
8642
8926
|
}),
|
|
8643
|
-
c ? /* @__PURE__ */ b(
|
|
8927
|
+
c ? /* @__PURE__ */ b(Ju, {
|
|
8644
8928
|
trail: [{
|
|
8645
8929
|
label: "ALL",
|
|
8646
8930
|
onClick: a
|
|
@@ -8656,7 +8940,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8656
8940
|
className: "timeline-zoom-controls__level",
|
|
8657
8941
|
onPress: a,
|
|
8658
8942
|
"aria-label": `Current zoom: ${e}. Click to reset.`,
|
|
8659
|
-
children: /* @__PURE__ */ b(
|
|
8943
|
+
children: /* @__PURE__ */ b(Gu, {
|
|
8660
8944
|
variant: "accent",
|
|
8661
8945
|
size: "medium",
|
|
8662
8946
|
children: e.toUpperCase()
|
|
@@ -8672,7 +8956,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8672
8956
|
})
|
|
8673
8957
|
]
|
|
8674
8958
|
});
|
|
8675
|
-
},
|
|
8959
|
+
}, Id = ({ children: e }) => /* @__PURE__ */ x("div", {
|
|
8676
8960
|
className: "timeline-axis",
|
|
8677
8961
|
children: [/* @__PURE__ */ b("div", {
|
|
8678
8962
|
className: "timeline-axis__line",
|
|
@@ -8681,7 +8965,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8681
8965
|
className: "timeline-axis__content",
|
|
8682
8966
|
children: e
|
|
8683
8967
|
})]
|
|
8684
|
-
}),
|
|
8968
|
+
}), Ld = e.memo(({ buckets: e, onBucketClick: t }) => /* @__PURE__ */ b("div", {
|
|
8685
8969
|
className: "timeline-view timeline-view--year",
|
|
8686
8970
|
role: "list",
|
|
8687
8971
|
children: e.map((e) => /* @__PURE__ */ b("div", {
|
|
@@ -8692,7 +8976,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8692
8976
|
onPress: () => t(e),
|
|
8693
8977
|
children: [/* @__PURE__ */ b("div", {
|
|
8694
8978
|
className: "timeline-view__node",
|
|
8695
|
-
children: /* @__PURE__ */ b(
|
|
8979
|
+
children: /* @__PURE__ */ b(id, {
|
|
8696
8980
|
shape: "circle",
|
|
8697
8981
|
size: "medium",
|
|
8698
8982
|
variant: "default",
|
|
@@ -8701,7 +8985,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8701
8985
|
})
|
|
8702
8986
|
}), /* @__PURE__ */ b("div", {
|
|
8703
8987
|
className: "timeline-view__content",
|
|
8704
|
-
children: /* @__PURE__ */ x(
|
|
8988
|
+
children: /* @__PURE__ */ x(Gu, {
|
|
8705
8989
|
variant: "default",
|
|
8706
8990
|
size: "small",
|
|
8707
8991
|
children: [
|
|
@@ -8713,7 +8997,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8713
8997
|
})]
|
|
8714
8998
|
}) : /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("div", {
|
|
8715
8999
|
className: "timeline-view__node",
|
|
8716
|
-
children: /* @__PURE__ */ b(
|
|
9000
|
+
children: /* @__PURE__ */ b(id, {
|
|
8717
9001
|
shape: "circle",
|
|
8718
9002
|
size: "medium",
|
|
8719
9003
|
variant: "default",
|
|
@@ -8722,7 +9006,7 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8722
9006
|
})
|
|
8723
9007
|
}), /* @__PURE__ */ b("div", {
|
|
8724
9008
|
className: "timeline-view__content",
|
|
8725
|
-
children: /* @__PURE__ */ x(
|
|
9009
|
+
children: /* @__PURE__ */ x(Gu, {
|
|
8726
9010
|
variant: "default",
|
|
8727
9011
|
size: "small",
|
|
8728
9012
|
children: [
|
|
@@ -8734,10 +9018,10 @@ var bd = ({ zoomLevel: e, canZoomIn: t, canZoomOut: n, onZoomIn: r, onZoomOut: i
|
|
|
8734
9018
|
})] })
|
|
8735
9019
|
}, e.periodStart))
|
|
8736
9020
|
}));
|
|
8737
|
-
|
|
9021
|
+
Ld.displayName = "YearView";
|
|
8738
9022
|
//#endregion
|
|
8739
9023
|
//#region src/components/Lightbox/components/Lightbox.tsx
|
|
8740
|
-
var
|
|
9024
|
+
var Rd = ({ images: t, initialIndex: n = 0, isOpen: r, onClose: i, onIndexChange: o }) => {
|
|
8741
9025
|
let c = t.length === 0 ? 0 : Math.max(0, Math.min(n, t.length - 1)), [l, u] = p(c);
|
|
8742
9026
|
s(() => {
|
|
8743
9027
|
r && u(c);
|
|
@@ -8837,19 +9121,19 @@ var Cd = ({ images: t, initialIndex: n = 0, isOpen: r, onClose: i, onIndexChange
|
|
|
8837
9121
|
})
|
|
8838
9122
|
});
|
|
8839
9123
|
};
|
|
8840
|
-
|
|
9124
|
+
Rd.displayName = "Lightbox";
|
|
8841
9125
|
//#endregion
|
|
8842
9126
|
//#region src/utils/isSafeHref.ts
|
|
8843
|
-
var
|
|
8844
|
-
function
|
|
9127
|
+
var zd = /^(?:https?:|mailto:)/i;
|
|
9128
|
+
function Bd(e) {
|
|
8845
9129
|
if (typeof e != "string") return !1;
|
|
8846
9130
|
let t = e.trim();
|
|
8847
|
-
return t.length === 0 ? !1 : /^[a-z][a-z0-9+\-.]*:/i.test(t) ?
|
|
9131
|
+
return t.length === 0 ? !1 : /^[a-z][a-z0-9+\-.]*:/i.test(t) ? zd.test(t) : !0;
|
|
8848
9132
|
}
|
|
8849
9133
|
//#endregion
|
|
8850
9134
|
//#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 &&
|
|
9135
|
+
var Vd = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
9136
|
+
let [r, i] = p(!1), { image: a } = e, o = a.thumbnail || a.src, c = a.link && Bd(a.link) ? a.link : void 0;
|
|
8853
9137
|
return s(() => {
|
|
8854
9138
|
t || i(!1);
|
|
8855
9139
|
}, [t]), c ? /* @__PURE__ */ x("a", {
|
|
@@ -8897,13 +9181,13 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8897
9181
|
height: a.height
|
|
8898
9182
|
})
|
|
8899
9183
|
}),
|
|
8900
|
-
/* @__PURE__ */ b(
|
|
9184
|
+
/* @__PURE__ */ b(Rd, {
|
|
8901
9185
|
images: [a],
|
|
8902
9186
|
isOpen: r,
|
|
8903
9187
|
onClose: () => i(!1)
|
|
8904
9188
|
})
|
|
8905
9189
|
] });
|
|
8906
|
-
},
|
|
9190
|
+
}, Hd = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
8907
9191
|
let [r, i] = p({ phase: "grid" });
|
|
8908
9192
|
if (s(() => {
|
|
8909
9193
|
t || i({ phase: "grid" });
|
|
@@ -8917,7 +9201,7 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8917
9201
|
children: "No images."
|
|
8918
9202
|
})] });
|
|
8919
9203
|
let a = (e, t) => {
|
|
8920
|
-
t.link &&
|
|
9204
|
+
t.link && Bd(t.link) || i((t) => t.phase === "focused" && t.index === e ? {
|
|
8921
9205
|
phase: "lightbox",
|
|
8922
9206
|
index: e
|
|
8923
9207
|
} : {
|
|
@@ -8938,13 +9222,13 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8938
9222
|
/* @__PURE__ */ b("div", {
|
|
8939
9223
|
className: "eidotter-timeline-card-gallery__grid",
|
|
8940
9224
|
role: "list",
|
|
8941
|
-
children: e.images.map((e, t) => /* @__PURE__ */ b(
|
|
9225
|
+
children: e.images.map((e, t) => /* @__PURE__ */ b(Ud, {
|
|
8942
9226
|
image: e,
|
|
8943
9227
|
isFocused: o === t,
|
|
8944
9228
|
onClick: () => a(t, e)
|
|
8945
9229
|
}, t))
|
|
8946
9230
|
}),
|
|
8947
|
-
/* @__PURE__ */ b(
|
|
9231
|
+
/* @__PURE__ */ b(Rd, {
|
|
8948
9232
|
images: e.images,
|
|
8949
9233
|
isOpen: r.phase === "lightbox",
|
|
8950
9234
|
initialIndex: r.phase === "lightbox" ? r.index : 0,
|
|
@@ -8962,8 +9246,8 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8962
9246
|
}
|
|
8963
9247
|
})
|
|
8964
9248
|
] });
|
|
8965
|
-
},
|
|
8966
|
-
let r = e.thumbnail || e.src, i = e.link &&
|
|
9249
|
+
}, Ud = ({ image: e, isFocused: t, onClick: n }) => {
|
|
9250
|
+
let r = e.thumbnail || e.src, i = e.link && Bd(e.link) ? e.link : void 0;
|
|
8967
9251
|
return i ? /* @__PURE__ */ b("div", {
|
|
8968
9252
|
role: "listitem",
|
|
8969
9253
|
className: "eidotter-timeline-card-gallery__cell eidotter-timeline-card-gallery__cell--link",
|
|
@@ -8996,39 +9280,39 @@ var Ed = ({ entry: e, isExpanded: t, onSelect: n }) => {
|
|
|
8996
9280
|
})
|
|
8997
9281
|
})
|
|
8998
9282
|
});
|
|
8999
|
-
},
|
|
9283
|
+
}, Wd = e.memo(({ entry: e, isSelected: t, isExpanded: n = !1, onSelect: r, footer: i, children: a }) => /* @__PURE__ */ x("div", {
|
|
9000
9284
|
className: $("eidotter-timeline-card", t && "eidotter-timeline-card--selected", n && "eidotter-timeline-card--expanded"),
|
|
9001
|
-
children: [
|
|
9285
|
+
children: [Gd(e, n, r, a), i && /* @__PURE__ */ b("div", {
|
|
9002
9286
|
className: "eidotter-timeline-card__footer",
|
|
9003
9287
|
children: i
|
|
9004
9288
|
})]
|
|
9005
9289
|
}));
|
|
9006
|
-
|
|
9007
|
-
function
|
|
9290
|
+
Wd.displayName = "TimelineEntryCard";
|
|
9291
|
+
function Gd(e, t, n, r) {
|
|
9008
9292
|
switch (e.kind) {
|
|
9009
|
-
case "text": return /* @__PURE__ */ b(
|
|
9293
|
+
case "text": return /* @__PURE__ */ b(qd, {
|
|
9010
9294
|
entry: e,
|
|
9011
9295
|
isExpanded: t,
|
|
9012
9296
|
onSelect: n,
|
|
9013
9297
|
children: r
|
|
9014
9298
|
});
|
|
9015
|
-
case "image": return /* @__PURE__ */ b(
|
|
9299
|
+
case "image": return /* @__PURE__ */ b(Vd, {
|
|
9016
9300
|
entry: e,
|
|
9017
9301
|
isExpanded: t,
|
|
9018
9302
|
onSelect: n
|
|
9019
9303
|
});
|
|
9020
|
-
case "gallery": return /* @__PURE__ */ b(
|
|
9304
|
+
case "gallery": return /* @__PURE__ */ b(Hd, {
|
|
9021
9305
|
entry: e,
|
|
9022
9306
|
isExpanded: t,
|
|
9023
9307
|
onSelect: n
|
|
9024
9308
|
});
|
|
9025
|
-
default: return
|
|
9309
|
+
default: return Kd(e);
|
|
9026
9310
|
}
|
|
9027
9311
|
}
|
|
9028
|
-
function
|
|
9312
|
+
function Kd(e) {
|
|
9029
9313
|
throw Error(`TimelineEntryCard: unhandled entry kind: ${JSON.stringify(e)}`);
|
|
9030
9314
|
}
|
|
9031
|
-
var
|
|
9315
|
+
var qd = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
9032
9316
|
let i = typeof e.content == "string", a = e.content != null;
|
|
9033
9317
|
return /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ x(K, {
|
|
9034
9318
|
className: "eidotter-timeline-card__trigger",
|
|
@@ -9066,7 +9350,7 @@ var Md = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
|
9066
9350
|
children: e.content
|
|
9067
9351
|
})
|
|
9068
9352
|
})] });
|
|
9069
|
-
},
|
|
9353
|
+
}, Jd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, onBucketClick: i, renderEntry: a }) => /* @__PURE__ */ b("div", {
|
|
9070
9354
|
className: "timeline-view timeline-view--month",
|
|
9071
9355
|
role: "list",
|
|
9072
9356
|
children: t.map((t) => /* @__PURE__ */ x("div", {
|
|
@@ -9074,7 +9358,7 @@ var Md = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
|
9074
9358
|
role: "listitem",
|
|
9075
9359
|
children: [/* @__PURE__ */ b("div", {
|
|
9076
9360
|
className: "timeline-view__node",
|
|
9077
|
-
children: /* @__PURE__ */ b(
|
|
9361
|
+
children: /* @__PURE__ */ b(id, {
|
|
9078
9362
|
shape: "circle",
|
|
9079
9363
|
size: "medium",
|
|
9080
9364
|
variant: "default",
|
|
@@ -9085,7 +9369,7 @@ var Md = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
|
9085
9369
|
}), /* @__PURE__ */ b("div", {
|
|
9086
9370
|
className: "timeline-view__content",
|
|
9087
9371
|
children: t.entries.map((t) => {
|
|
9088
|
-
let i = n === t.id, o = () => /* @__PURE__ */ b(
|
|
9372
|
+
let i = n === t.id, o = () => /* @__PURE__ */ b(Wd, {
|
|
9089
9373
|
entry: t,
|
|
9090
9374
|
isSelected: i,
|
|
9091
9375
|
isExpanded: i,
|
|
@@ -9100,23 +9384,23 @@ var Md = ({ entry: e, isExpanded: t, onSelect: n, children: r }) => {
|
|
|
9100
9384
|
})]
|
|
9101
9385
|
}, t.periodStart))
|
|
9102
9386
|
}));
|
|
9103
|
-
|
|
9387
|
+
Jd.displayName = "MonthView";
|
|
9104
9388
|
//#endregion
|
|
9105
9389
|
//#region src/components/Tag/components/Tag.tsx
|
|
9106
|
-
var
|
|
9390
|
+
var Yd = {
|
|
9107
9391
|
sm: "text-dos-text-xs px-2 py-0.5 min-h-6 gap-1",
|
|
9108
9392
|
md: "text-dos-text-sm px-2.5 py-1 min-h-7 gap-1.5",
|
|
9109
9393
|
lg: "text-dos-text-md px-3 py-1.5 min-h-8 gap-1.5",
|
|
9110
9394
|
small: "text-dos-text-xs px-2 py-0.5 min-h-6 gap-1",
|
|
9111
9395
|
medium: "text-dos-text-sm px-2.5 py-1 min-h-7 gap-1.5"
|
|
9112
|
-
},
|
|
9396
|
+
}, 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
9397
|
let f = !!s && !o, { isClosing: p, triggerClose: m, handleAnimationEnd: h } = $l("tag-exit", c), g = (e) => {
|
|
9114
9398
|
o || ((e.key === "Enter" || e.key === " ") && s && (e.preventDefault(), s(e)), (e.key === "Delete" || e.key === "Backspace") && a && c && (e.preventDefault(), m()));
|
|
9115
9399
|
}, _ = () => {
|
|
9116
9400
|
o || m();
|
|
9117
9401
|
}, v = r ? { "--tag-color": "var(" + r + ")" } : void 0;
|
|
9118
9402
|
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",
|
|
9403
|
+
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
9404
|
style: v,
|
|
9121
9405
|
onClick: f ? (e) => !o && s?.(e) : void 0,
|
|
9122
9406
|
onKeyDown: g,
|
|
@@ -9142,17 +9426,17 @@ var Pd = {
|
|
|
9142
9426
|
children: "[x]"
|
|
9143
9427
|
})]
|
|
9144
9428
|
});
|
|
9145
|
-
},
|
|
9429
|
+
}, Zd = {
|
|
9146
9430
|
tight: "gap-1",
|
|
9147
9431
|
normal: "gap-2",
|
|
9148
9432
|
loose: "gap-3"
|
|
9149
|
-
},
|
|
9150
|
-
className: $("flex", n ? "flex-wrap" : "flex-nowrap",
|
|
9433
|
+
}, Qd = ({ children: e, gap: t = "normal", wrap: n = !0, className: r, "aria-label": i, ...a }) => /* @__PURE__ */ b("div", {
|
|
9434
|
+
className: $("flex", n ? "flex-wrap" : "flex-nowrap", Zd[t] || Zd.normal, r),
|
|
9151
9435
|
role: "group",
|
|
9152
9436
|
"aria-label": i,
|
|
9153
9437
|
...a,
|
|
9154
9438
|
children: e
|
|
9155
|
-
}),
|
|
9439
|
+
}), $d = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry: i }) => /* @__PURE__ */ b("div", {
|
|
9156
9440
|
className: "timeline-view timeline-view--day",
|
|
9157
9441
|
role: "list",
|
|
9158
9442
|
children: t.map((t) => /* @__PURE__ */ x("div", {
|
|
@@ -9160,7 +9444,7 @@ var Pd = {
|
|
|
9160
9444
|
role: "listitem",
|
|
9161
9445
|
children: [/* @__PURE__ */ b("div", {
|
|
9162
9446
|
className: "timeline-view__node",
|
|
9163
|
-
children: /* @__PURE__ */ b(
|
|
9447
|
+
children: /* @__PURE__ */ b(id, {
|
|
9164
9448
|
shape: "circle",
|
|
9165
9449
|
size: "medium",
|
|
9166
9450
|
variant: "default",
|
|
@@ -9170,15 +9454,15 @@ var Pd = {
|
|
|
9170
9454
|
}), /* @__PURE__ */ b("div", {
|
|
9171
9455
|
className: "timeline-view__content",
|
|
9172
9456
|
children: t.entries.map((t) => {
|
|
9173
|
-
let a = n === t.id, o = () => /* @__PURE__ */ b(
|
|
9457
|
+
let a = n === t.id, o = () => /* @__PURE__ */ b(Wd, {
|
|
9174
9458
|
entry: t,
|
|
9175
9459
|
isSelected: a,
|
|
9176
9460
|
isExpanded: a,
|
|
9177
9461
|
onSelect: r,
|
|
9178
|
-
footer: t.tags && t.tags.length > 0 ? /* @__PURE__ */ b(
|
|
9462
|
+
footer: t.tags && t.tags.length > 0 ? /* @__PURE__ */ b(Qd, {
|
|
9179
9463
|
gap: "tight",
|
|
9180
9464
|
"aria-label": `Tags for ${t.title}`,
|
|
9181
|
-
children: t.tags.map((e) => /* @__PURE__ */ b(
|
|
9465
|
+
children: t.tags.map((e) => /* @__PURE__ */ b(Xd, {
|
|
9182
9466
|
size: "small",
|
|
9183
9467
|
variant: "outlined",
|
|
9184
9468
|
children: e
|
|
@@ -9194,10 +9478,10 @@ var Pd = {
|
|
|
9194
9478
|
})]
|
|
9195
9479
|
}, t.periodStart))
|
|
9196
9480
|
}));
|
|
9197
|
-
|
|
9481
|
+
$d.displayName = "DayView";
|
|
9198
9482
|
//#endregion
|
|
9199
9483
|
//#region src/components/TimelineContainer/components/views/HourView.tsx
|
|
9200
|
-
var
|
|
9484
|
+
var ef = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry: i }) => /* @__PURE__ */ b("div", {
|
|
9201
9485
|
className: "timeline-view timeline-view--hour",
|
|
9202
9486
|
role: "list",
|
|
9203
9487
|
children: t.map((t) => /* @__PURE__ */ x("div", {
|
|
@@ -9205,7 +9489,7 @@ var zd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry
|
|
|
9205
9489
|
role: "listitem",
|
|
9206
9490
|
children: [/* @__PURE__ */ b("div", {
|
|
9207
9491
|
className: "timeline-view__node",
|
|
9208
|
-
children: /* @__PURE__ */ b(
|
|
9492
|
+
children: /* @__PURE__ */ b(id, {
|
|
9209
9493
|
shape: "circle",
|
|
9210
9494
|
size: "medium",
|
|
9211
9495
|
variant: "default",
|
|
@@ -9215,22 +9499,22 @@ var zd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry
|
|
|
9215
9499
|
}), /* @__PURE__ */ b("div", {
|
|
9216
9500
|
className: "timeline-view__content",
|
|
9217
9501
|
children: t.entries.map((t) => {
|
|
9218
|
-
let a = n === t.id, o = () => /* @__PURE__ */ x(
|
|
9502
|
+
let a = n === t.id, o = () => /* @__PURE__ */ x(Wd, {
|
|
9219
9503
|
entry: t,
|
|
9220
9504
|
isSelected: a,
|
|
9221
9505
|
isExpanded: !0,
|
|
9222
9506
|
onSelect: r,
|
|
9223
9507
|
footer: /* @__PURE__ */ x("div", {
|
|
9224
9508
|
className: "timeline-view__entry-footer",
|
|
9225
|
-
children: [t.tags && t.tags.length > 0 && /* @__PURE__ */ b(
|
|
9509
|
+
children: [t.tags && t.tags.length > 0 && /* @__PURE__ */ b(Qd, {
|
|
9226
9510
|
gap: "tight",
|
|
9227
9511
|
"aria-label": `Tags for ${t.title}`,
|
|
9228
|
-
children: t.tags.map((e) => /* @__PURE__ */ b(
|
|
9512
|
+
children: t.tags.map((e) => /* @__PURE__ */ b(Xd, {
|
|
9229
9513
|
size: "small",
|
|
9230
9514
|
variant: "outlined",
|
|
9231
9515
|
children: e
|
|
9232
9516
|
}, e))
|
|
9233
|
-
}), t.type && /* @__PURE__ */ b(
|
|
9517
|
+
}), t.type && /* @__PURE__ */ b(Gu, {
|
|
9234
9518
|
variant: "default",
|
|
9235
9519
|
size: "small",
|
|
9236
9520
|
children: t.type
|
|
@@ -9239,7 +9523,7 @@ var zd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry
|
|
|
9239
9523
|
children: [/* @__PURE__ */ b("time", {
|
|
9240
9524
|
className: "timeline-view__timestamp",
|
|
9241
9525
|
dateTime: t.date,
|
|
9242
|
-
children:
|
|
9526
|
+
children: vd(t.date)
|
|
9243
9527
|
}), t.kind === "text" && t.content !== void 0 && /* @__PURE__ */ b("div", {
|
|
9244
9528
|
className: "timeline-view__entry-content",
|
|
9245
9529
|
children: t.content
|
|
@@ -9254,29 +9538,29 @@ var zd = e.memo(({ buckets: t, selectedEntryId: n, onEntrySelect: r, renderEntry
|
|
|
9254
9538
|
})]
|
|
9255
9539
|
}, t.periodStart))
|
|
9256
9540
|
}));
|
|
9257
|
-
|
|
9541
|
+
ef.displayName = "HourView";
|
|
9258
9542
|
//#endregion
|
|
9259
9543
|
//#region src/components/TimelineContainer/components/TimelineContent.tsx
|
|
9260
|
-
var
|
|
9544
|
+
var tf = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBucketClick: i, renderEntry: a }) => {
|
|
9261
9545
|
switch (e) {
|
|
9262
|
-
case "year": return /* @__PURE__ */ b(
|
|
9546
|
+
case "year": return /* @__PURE__ */ b(Ld, {
|
|
9263
9547
|
buckets: t,
|
|
9264
9548
|
onBucketClick: i
|
|
9265
9549
|
});
|
|
9266
|
-
case "month": return /* @__PURE__ */ b(
|
|
9550
|
+
case "month": return /* @__PURE__ */ b(Jd, {
|
|
9267
9551
|
buckets: t,
|
|
9268
9552
|
selectedEntryId: n,
|
|
9269
9553
|
onEntrySelect: r,
|
|
9270
9554
|
onBucketClick: i,
|
|
9271
9555
|
renderEntry: a
|
|
9272
9556
|
});
|
|
9273
|
-
case "day": return /* @__PURE__ */ b(
|
|
9557
|
+
case "day": return /* @__PURE__ */ b($d, {
|
|
9274
9558
|
buckets: t,
|
|
9275
9559
|
selectedEntryId: n,
|
|
9276
9560
|
onEntrySelect: r,
|
|
9277
9561
|
renderEntry: a
|
|
9278
9562
|
});
|
|
9279
|
-
case "hour": return /* @__PURE__ */ b(
|
|
9563
|
+
case "hour": return /* @__PURE__ */ b(ef, {
|
|
9280
9564
|
buckets: t,
|
|
9281
9565
|
selectedEntryId: n,
|
|
9282
9566
|
onEntrySelect: r,
|
|
@@ -9284,7 +9568,7 @@ var Bd = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBu
|
|
|
9284
9568
|
});
|
|
9285
9569
|
default: return e;
|
|
9286
9570
|
}
|
|
9287
|
-
},
|
|
9571
|
+
}, nf = ({ entries: e, selectedEntryId: t, onSelect: n, onDeselect: r, renderEntry: i, formatDate: o }) => {
|
|
9288
9572
|
let c = e.find((e) => e.id === t) ?? null, l = f(null), u = f(null), d = f(t);
|
|
9289
9573
|
s(() => {
|
|
9290
9574
|
let e = d.current;
|
|
@@ -9329,7 +9613,7 @@ var Bd = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBu
|
|
|
9329
9613
|
children: [/* @__PURE__ */ b("span", {
|
|
9330
9614
|
className: "eidotter-timeline-md__rail-node",
|
|
9331
9615
|
"aria-hidden": "true",
|
|
9332
|
-
children: /* @__PURE__ */ b(
|
|
9616
|
+
children: /* @__PURE__ */ b(id, {
|
|
9333
9617
|
shape: "circle",
|
|
9334
9618
|
size: "sm",
|
|
9335
9619
|
variant: "default",
|
|
@@ -9363,7 +9647,7 @@ var Bd = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBu
|
|
|
9363
9647
|
}), /* @__PURE__ */ b("div", {
|
|
9364
9648
|
className: "eidotter-timeline-md__detail-body",
|
|
9365
9649
|
children: ((e) => {
|
|
9366
|
-
let t = () => /* @__PURE__ */ b(
|
|
9650
|
+
let t = () => /* @__PURE__ */ b(Wd, {
|
|
9367
9651
|
entry: e,
|
|
9368
9652
|
isSelected: !0,
|
|
9369
9653
|
isExpanded: !0
|
|
@@ -9382,19 +9666,19 @@ var Bd = ({ zoomLevel: e, buckets: t, selectedEntryId: n, onEntrySelect: r, onBu
|
|
|
9382
9666
|
})]
|
|
9383
9667
|
});
|
|
9384
9668
|
};
|
|
9385
|
-
|
|
9669
|
+
nf.displayName = "MasterDetailLayout";
|
|
9386
9670
|
//#endregion
|
|
9387
9671
|
//#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 } =
|
|
9672
|
+
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 }) => {
|
|
9673
|
+
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
9674
|
zoomLevel: n,
|
|
9391
9675
|
defaultZoomLevel: r,
|
|
9392
9676
|
onZoomChange: i
|
|
9393
|
-
}), { selectedEntryId: re, select: ie, toggle: I, deselect: L } =
|
|
9677
|
+
}), { selectedEntryId: re, select: ie, toggle: I, deselect: L } = sd({
|
|
9394
9678
|
selectedEntryId: o,
|
|
9395
9679
|
defaultSelectedEntryId: c,
|
|
9396
9680
|
onSelectEntry: l
|
|
9397
|
-
}), ae = u(() =>
|
|
9681
|
+
}), ae = u(() => Pd(e, A, d), [
|
|
9398
9682
|
e,
|
|
9399
9683
|
A,
|
|
9400
9684
|
d
|
|
@@ -9403,7 +9687,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9403
9687
|
"month",
|
|
9404
9688
|
"day",
|
|
9405
9689
|
"hour"
|
|
9406
|
-
][N.length - 1] : null, R = u(() => P && oe ?
|
|
9690
|
+
][N.length - 1] : null, R = u(() => P && oe ? Nd(ae, P, oe) : ae, [
|
|
9407
9691
|
ae,
|
|
9408
9692
|
P,
|
|
9409
9693
|
oe
|
|
@@ -9505,7 +9789,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9505
9789
|
return /* @__PURE__ */ x("div", {
|
|
9506
9790
|
ref: E,
|
|
9507
9791
|
...y,
|
|
9508
|
-
className: $("font-dos text-dos-text-brand p-4
|
|
9792
|
+
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
9793
|
role: "region",
|
|
9510
9794
|
"aria-label": y["aria-label"] ?? "Timeline",
|
|
9511
9795
|
tabIndex: w || T ? void 0 : 0,
|
|
@@ -9517,7 +9801,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9517
9801
|
"aria-atomic": "true",
|
|
9518
9802
|
children: O
|
|
9519
9803
|
}),
|
|
9520
|
-
!w && !T && /* @__PURE__ */ b(
|
|
9804
|
+
!w && !T && /* @__PURE__ */ b(Fd, {
|
|
9521
9805
|
zoomLevel: A,
|
|
9522
9806
|
canZoomIn: j,
|
|
9523
9807
|
canZoomOut: M,
|
|
@@ -9536,12 +9820,12 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9536
9820
|
className: "eidotter-timeline-container__empty",
|
|
9537
9821
|
role: "status",
|
|
9538
9822
|
children: [/* @__PURE__ */ b("p", { children: "C:\\TIMELINE> No entries found." }), /* @__PURE__ */ b("p", { children: "_" })]
|
|
9539
|
-
}) : S ? /* @__PURE__ */ b(
|
|
9823
|
+
}) : S ? /* @__PURE__ */ b(Id, { children: /* @__PURE__ */ b("div", {
|
|
9540
9824
|
className: "eidotter-timeline-container__static",
|
|
9541
9825
|
role: "list",
|
|
9542
9826
|
"aria-label": "Timeline",
|
|
9543
9827
|
children: B.map((e) => {
|
|
9544
|
-
let t = () => /* @__PURE__ */ b(
|
|
9828
|
+
let t = () => /* @__PURE__ */ b(Wd, {
|
|
9545
9829
|
entry: e,
|
|
9546
9830
|
isSelected: !1,
|
|
9547
9831
|
isExpanded: !0
|
|
@@ -9551,7 +9835,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9551
9835
|
role: "listitem",
|
|
9552
9836
|
children: [/* @__PURE__ */ b("div", {
|
|
9553
9837
|
className: "timeline-view__node",
|
|
9554
|
-
children: /* @__PURE__ */ b(
|
|
9838
|
+
children: /* @__PURE__ */ b(id, {
|
|
9555
9839
|
shape: "circle",
|
|
9556
9840
|
size: "medium",
|
|
9557
9841
|
variant: "default",
|
|
@@ -9565,12 +9849,12 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9565
9849
|
}) : t()]
|
|
9566
9850
|
}, e.id);
|
|
9567
9851
|
})
|
|
9568
|
-
}) }) : C ? /* @__PURE__ */ x(
|
|
9852
|
+
}) }) : C ? /* @__PURE__ */ x(Id, { children: [/* @__PURE__ */ b("div", {
|
|
9569
9853
|
className: "eidotter-timeline-container__feed",
|
|
9570
9854
|
role: "list",
|
|
9571
9855
|
"aria-label": "Timeline",
|
|
9572
9856
|
children: fe.map((e) => {
|
|
9573
|
-
let t = re === e.id, n = () => /* @__PURE__ */ b(
|
|
9857
|
+
let t = re === e.id, n = () => /* @__PURE__ */ b(Wd, {
|
|
9574
9858
|
entry: e,
|
|
9575
9859
|
isSelected: t,
|
|
9576
9860
|
isExpanded: t,
|
|
@@ -9581,7 +9865,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9581
9865
|
role: "listitem",
|
|
9582
9866
|
children: [/* @__PURE__ */ b("div", {
|
|
9583
9867
|
className: "timeline-view__node",
|
|
9584
|
-
children: /* @__PURE__ */ b(
|
|
9868
|
+
children: /* @__PURE__ */ b(id, {
|
|
9585
9869
|
shape: "circle",
|
|
9586
9870
|
size: "medium",
|
|
9587
9871
|
variant: "default",
|
|
@@ -9601,14 +9885,14 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9601
9885
|
onClick: me,
|
|
9602
9886
|
"aria-label": `Load more entries (showing ${V} of ${B.length})`,
|
|
9603
9887
|
children: "LOAD MORE..."
|
|
9604
|
-
})] }) : T ? /* @__PURE__ */ b(
|
|
9888
|
+
})] }) : T ? /* @__PURE__ */ b(nf, {
|
|
9605
9889
|
entries: B,
|
|
9606
9890
|
selectedEntryId: re,
|
|
9607
9891
|
onSelect: ie,
|
|
9608
9892
|
onDeselect: L,
|
|
9609
9893
|
renderEntry: g,
|
|
9610
9894
|
formatDate: ge
|
|
9611
|
-
}) : R.length === 0 && P ? /* @__PURE__ */ b(
|
|
9895
|
+
}) : R.length === 0 && P ? /* @__PURE__ */ b(Id, { children: /* @__PURE__ */ x("div", {
|
|
9612
9896
|
className: "eidotter-timeline-container__empty",
|
|
9613
9897
|
role: "status",
|
|
9614
9898
|
children: [/* @__PURE__ */ x("p", { children: [
|
|
@@ -9616,7 +9900,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9616
9900
|
N[N.length - 1]?.label ?? "this period",
|
|
9617
9901
|
"."
|
|
9618
9902
|
] }), /* @__PURE__ */ b("p", { children: "_" })]
|
|
9619
|
-
}) }) : /* @__PURE__ */ b(
|
|
9903
|
+
}) }) : /* @__PURE__ */ b(Id, { children: /* @__PURE__ */ b(tf, {
|
|
9620
9904
|
zoomLevel: A,
|
|
9621
9905
|
buckets: R,
|
|
9622
9906
|
selectedEntryId: re,
|
|
@@ -9627,7 +9911,7 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9627
9911
|
})
|
|
9628
9912
|
]
|
|
9629
9913
|
});
|
|
9630
|
-
},
|
|
9914
|
+
}, af = r(({ isOpen: e, onOpenChange: t, onClose: n, title: r, children: i, footer: a, className: o }, c) => {
|
|
9631
9915
|
let l = f(e), u = f(!1);
|
|
9632
9916
|
s(() => {
|
|
9633
9917
|
e !== l.current && (l.current = e, u.current || (t?.(e), e || n?.()), u.current = !1);
|
|
@@ -9679,12 +9963,12 @@ var Hd = ({ entries: e, mode: t = "interactive", zoomLevel: n, defaultZoomLevel:
|
|
|
9679
9963
|
})
|
|
9680
9964
|
});
|
|
9681
9965
|
});
|
|
9682
|
-
|
|
9966
|
+
af.displayName = "Modal";
|
|
9683
9967
|
//#endregion
|
|
9684
9968
|
//#region src/hooks/useTextScramble.ts
|
|
9685
|
-
var
|
|
9686
|
-
function
|
|
9687
|
-
let { speed: n = 40, characters: r =
|
|
9969
|
+
var of = "░▒▓█│┤┐└┴┬├─┼", sf = 4;
|
|
9970
|
+
function cf(e, t) {
|
|
9971
|
+
let { speed: n = 40, characters: r = of, enabled: i = !0, delay: a = 0 } = t ?? {}, [o, c] = p(() => {
|
|
9688
9972
|
if (!i || Ql()) return e;
|
|
9689
9973
|
let t = "";
|
|
9690
9974
|
for (let n = 0; n < e.length; n++) e[n] === " " ? t += " " : t += r[Math.floor(Math.random() * r.length)];
|
|
@@ -9705,7 +9989,7 @@ function Kd(e, t) {
|
|
|
9705
9989
|
return;
|
|
9706
9990
|
}
|
|
9707
9991
|
if (a >= n) {
|
|
9708
|
-
if (s = i, o++, o >=
|
|
9992
|
+
if (s = i, o++, o >= sf && (t++, o = 0), t >= e.length) {
|
|
9709
9993
|
c(e), u(!1);
|
|
9710
9994
|
return;
|
|
9711
9995
|
}
|
|
@@ -9731,7 +10015,7 @@ function Kd(e, t) {
|
|
|
9731
10015
|
}
|
|
9732
10016
|
//#endregion
|
|
9733
10017
|
//#region src/components/Stat/components/Stat.tsx
|
|
9734
|
-
var
|
|
10018
|
+
var lf = {
|
|
9735
10019
|
sm: {
|
|
9736
10020
|
root: "gap-0.5",
|
|
9737
10021
|
label: "text-dos-text-xs",
|
|
@@ -9768,23 +10052,23 @@ var qd = {
|
|
|
9768
10052
|
value: "text-dos-display-md",
|
|
9769
10053
|
trend: "text-dos-text-md"
|
|
9770
10054
|
}
|
|
9771
|
-
},
|
|
10055
|
+
}, uf = {
|
|
9772
10056
|
up: "text-dos-text-success",
|
|
9773
10057
|
down: "text-dos-text-error",
|
|
9774
10058
|
neutral: "text-dos-text-brand"
|
|
9775
|
-
},
|
|
10059
|
+
}, df = {
|
|
9776
10060
|
up: "▲",
|
|
9777
10061
|
down: "▼",
|
|
9778
10062
|
neutral: "►"
|
|
9779
|
-
},
|
|
10063
|
+
}, ff = {
|
|
9780
10064
|
up: "increasing",
|
|
9781
10065
|
down: "decreasing",
|
|
9782
10066
|
neutral: "unchanged"
|
|
9783
|
-
},
|
|
9784
|
-
let { text: l } =
|
|
10067
|
+
}, pf = r(({ label: e, value: t, trend: n, trendValue: r, size: i = "md", scramble: a = !1, className: o, ...s }, c) => {
|
|
10068
|
+
let { text: l } = cf(String(t), {
|
|
9785
10069
|
speed: 30,
|
|
9786
10070
|
enabled: a
|
|
9787
|
-
}), u = a ? l : String(t), d =
|
|
10071
|
+
}), u = a ? l : String(t), d = lf[i] || lf.md;
|
|
9788
10072
|
return /* @__PURE__ */ x("div", {
|
|
9789
10073
|
ref: c,
|
|
9790
10074
|
className: $("flex flex-col font-dos", "eidotter-stat", d.root, o),
|
|
@@ -9799,12 +10083,12 @@ var qd = {
|
|
|
9799
10083
|
children: u
|
|
9800
10084
|
}),
|
|
9801
10085
|
n && /* @__PURE__ */ x("span", {
|
|
9802
|
-
className: $("inline-flex items-center gap-1 leading-none",
|
|
9803
|
-
"aria-label": `Trend: ${
|
|
10086
|
+
className: $("inline-flex items-center gap-1 leading-none", uf[n], d.trend),
|
|
10087
|
+
"aria-label": `Trend: ${ff[n]}${r ? `, ${r}` : ""}`,
|
|
9804
10088
|
children: [/* @__PURE__ */ b("span", {
|
|
9805
10089
|
className: "text-[0.8em]",
|
|
9806
10090
|
"aria-hidden": "true",
|
|
9807
|
-
children:
|
|
10091
|
+
children: df[n]
|
|
9808
10092
|
}), r && /* @__PURE__ */ b("span", {
|
|
9809
10093
|
className: "tabular-nums",
|
|
9810
10094
|
children: r
|
|
@@ -9813,17 +10097,17 @@ var qd = {
|
|
|
9813
10097
|
]
|
|
9814
10098
|
});
|
|
9815
10099
|
});
|
|
9816
|
-
|
|
10100
|
+
pf.displayName = "Stat";
|
|
9817
10101
|
//#endregion
|
|
9818
10102
|
//#region src/components/FilterBar/components/FilterBar.tsx
|
|
9819
|
-
var
|
|
10103
|
+
var mf = {
|
|
9820
10104
|
sm: "eidotter-filter-bar--sm",
|
|
9821
10105
|
md: "eidotter-filter-bar--md",
|
|
9822
10106
|
lg: "eidotter-filter-bar--lg",
|
|
9823
10107
|
small: "eidotter-filter-bar--sm",
|
|
9824
10108
|
medium: "eidotter-filter-bar--md",
|
|
9825
10109
|
large: "eidotter-filter-bar--lg"
|
|
9826
|
-
},
|
|
10110
|
+
}, 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
10111
|
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
10112
|
g || m(e), c?.(e);
|
|
9829
10113
|
}, [g, c]), C = a((e) => {
|
|
@@ -9858,7 +10142,7 @@ var Qd = {
|
|
|
9858
10142
|
}, [T]), D = i && y ? "__all__" : _.length > 0 ? _[0] : i ? "__all__" : v[0] || null;
|
|
9859
10143
|
return /* @__PURE__ */ x("div", {
|
|
9860
10144
|
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",
|
|
10145
|
+
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
10146
|
role: "toolbar",
|
|
9863
10147
|
onKeyDown: E,
|
|
9864
10148
|
...u,
|
|
@@ -9891,7 +10175,7 @@ var Qd = {
|
|
|
9891
10175
|
}, e.id);
|
|
9892
10176
|
})]
|
|
9893
10177
|
});
|
|
9894
|
-
},
|
|
10178
|
+
}, gf = (e) => {
|
|
9895
10179
|
if (!e) return !1;
|
|
9896
10180
|
try {
|
|
9897
10181
|
let t = new URL(e);
|
|
@@ -9903,8 +10187,19 @@ var Qd = {
|
|
|
9903
10187
|
} catch {
|
|
9904
10188
|
return !1;
|
|
9905
10189
|
}
|
|
9906
|
-
}
|
|
9907
|
-
|
|
10190
|
+
};
|
|
10191
|
+
//#endregion
|
|
10192
|
+
//#region src/components/InlineExpand/components/InlineExpand.tsx
|
|
10193
|
+
function _f(e) {
|
|
10194
|
+
try {
|
|
10195
|
+
let { hostname: t } = new URL(e);
|
|
10196
|
+
return `https://www.google.com/s2/favicons?domain=${encodeURIComponent(t)}&sz=32`;
|
|
10197
|
+
} catch {
|
|
10198
|
+
return null;
|
|
10199
|
+
}
|
|
10200
|
+
}
|
|
10201
|
+
var vf = ({ children: e, content: t, defaultExpanded: n = !1, expanded: r, onToggle: i, sources: a = [], className: o, ...s }) => {
|
|
10202
|
+
let [l, u] = p(n), [d, m] = p({}), h = f(n), g = c(), _ = f(null), v = r !== void 0, y = v ? r : l;
|
|
9908
10203
|
y && (h.current = !0);
|
|
9909
10204
|
let S = () => {
|
|
9910
10205
|
let e = !y;
|
|
@@ -9944,24 +10239,54 @@ var Qd = {
|
|
|
9944
10239
|
className: "eidotter-inline-expand__source-item",
|
|
9945
10240
|
role: "listitem",
|
|
9946
10241
|
children: /* @__PURE__ */ x("a", {
|
|
9947
|
-
href:
|
|
10242
|
+
href: gf(e.url) ? e.url : void 0,
|
|
9948
10243
|
className: "eidotter-inline-expand__source-link",
|
|
9949
10244
|
target: "_blank",
|
|
9950
10245
|
rel: "noopener noreferrer",
|
|
9951
10246
|
"aria-label": `${e.title} (opens external website)`,
|
|
9952
|
-
children: [
|
|
9953
|
-
|
|
9954
|
-
|
|
9955
|
-
|
|
9956
|
-
|
|
9957
|
-
|
|
9958
|
-
|
|
9959
|
-
|
|
9960
|
-
|
|
9961
|
-
|
|
9962
|
-
|
|
9963
|
-
|
|
9964
|
-
|
|
10247
|
+
children: [(() => {
|
|
10248
|
+
if (!h.current) return /* @__PURE__ */ b("span", {
|
|
10249
|
+
className: "eidotter-inline-expand__source-icon",
|
|
10250
|
+
"aria-hidden": "true",
|
|
10251
|
+
children: "[→]"
|
|
10252
|
+
});
|
|
10253
|
+
let t = d[e.url];
|
|
10254
|
+
if (t === "icon") return /* @__PURE__ */ b("span", {
|
|
10255
|
+
className: "eidotter-inline-expand__source-icon",
|
|
10256
|
+
"aria-hidden": "true",
|
|
10257
|
+
children: "[→]"
|
|
10258
|
+
});
|
|
10259
|
+
let n = !!e.favicon && gf(e.favicon);
|
|
10260
|
+
if (!t && n) return /* @__PURE__ */ b("img", {
|
|
10261
|
+
className: "eidotter-inline-expand__source-favicon",
|
|
10262
|
+
src: e.favicon,
|
|
10263
|
+
alt: "",
|
|
10264
|
+
width: 16,
|
|
10265
|
+
height: 16,
|
|
10266
|
+
decoding: "async",
|
|
10267
|
+
onError: () => m((t) => ({
|
|
10268
|
+
...t,
|
|
10269
|
+
[e.url]: "google"
|
|
10270
|
+
}))
|
|
10271
|
+
});
|
|
10272
|
+
let r = _f(e.url);
|
|
10273
|
+
return r ? /* @__PURE__ */ b("img", {
|
|
10274
|
+
className: "eidotter-inline-expand__source-favicon",
|
|
10275
|
+
src: r,
|
|
10276
|
+
alt: "",
|
|
10277
|
+
width: 16,
|
|
10278
|
+
height: 16,
|
|
10279
|
+
decoding: "async",
|
|
10280
|
+
onError: () => m((t) => ({
|
|
10281
|
+
...t,
|
|
10282
|
+
[e.url]: "icon"
|
|
10283
|
+
}))
|
|
10284
|
+
}) : /* @__PURE__ */ b("span", {
|
|
10285
|
+
className: "eidotter-inline-expand__source-icon",
|
|
10286
|
+
"aria-hidden": "true",
|
|
10287
|
+
children: "[→]"
|
|
10288
|
+
});
|
|
10289
|
+
})(), /* @__PURE__ */ b("span", {
|
|
9965
10290
|
className: "eidotter-inline-expand__source-title",
|
|
9966
10291
|
children: e.title
|
|
9967
10292
|
})]
|
|
@@ -9971,40 +10296,40 @@ var Qd = {
|
|
|
9971
10296
|
})
|
|
9972
10297
|
})]
|
|
9973
10298
|
});
|
|
9974
|
-
},
|
|
10299
|
+
}, yf = {
|
|
9975
10300
|
horizontal: "h-px w-full",
|
|
9976
10301
|
vertical: "w-px h-full"
|
|
9977
|
-
},
|
|
10302
|
+
}, bf = ({ orientation: e = "horizontal", className: t }) => /* @__PURE__ */ b("div", {
|
|
9978
10303
|
role: "separator",
|
|
9979
10304
|
"aria-orientation": e,
|
|
9980
|
-
className: $("shrink-0 bg-dos-border-default", "eidotter-separator",
|
|
9981
|
-
}),
|
|
10305
|
+
className: $("shrink-0 bg-dos-border-default", "eidotter-separator", yf[e], t)
|
|
10306
|
+
}), xf = {
|
|
9982
10307
|
default: "text-dos-text-primary",
|
|
9983
10308
|
error: "text-dos-error",
|
|
9984
10309
|
warning: "text-dos-warning",
|
|
9985
10310
|
info: "text-dos-info"
|
|
9986
|
-
},
|
|
9987
|
-
className: $("eidotter-section-heading", "font-dos uppercase tracking-wider mb-2 text-dos-text-sm",
|
|
10311
|
+
}, Sf = ({ title: e, count: t, tone: n = "default", children: r, className: i }) => /* @__PURE__ */ x("h3", {
|
|
10312
|
+
className: $("eidotter-section-heading", "font-dos uppercase tracking-wider mb-2 text-dos-text-sm", xf[n], i),
|
|
9988
10313
|
children: [
|
|
9989
10314
|
e,
|
|
9990
10315
|
t !== void 0 && ` (${t})`,
|
|
9991
10316
|
r
|
|
9992
10317
|
]
|
|
9993
10318
|
});
|
|
9994
|
-
|
|
10319
|
+
Sf.displayName = "SectionHeading";
|
|
9995
10320
|
//#endregion
|
|
9996
10321
|
//#region src/components/EmptyState/components/EmptyState.tsx
|
|
9997
|
-
var
|
|
10322
|
+
var Cf = {
|
|
9998
10323
|
default: "text-dos-text-primary",
|
|
9999
10324
|
error: "text-dos-error",
|
|
10000
10325
|
warning: "text-dos-warning",
|
|
10001
10326
|
info: "text-dos-info"
|
|
10002
|
-
},
|
|
10327
|
+
}, wf = ({ title: e, description: t, tone: n = "default", action: r, className: i }) => /* @__PURE__ */ x("div", {
|
|
10003
10328
|
className: $("eidotter-empty-state", "flex flex-col gap-2 py-6 text-center", i),
|
|
10004
10329
|
role: "status",
|
|
10005
10330
|
children: [
|
|
10006
10331
|
/* @__PURE__ */ b("p", {
|
|
10007
|
-
className: $("font-dos text-dos-text-sm",
|
|
10332
|
+
className: $("font-dos text-dos-text-sm", Cf[n]),
|
|
10008
10333
|
children: e
|
|
10009
10334
|
}),
|
|
10010
10335
|
t && /* @__PURE__ */ b("p", {
|
|
@@ -10017,14 +10342,14 @@ var sf = {
|
|
|
10017
10342
|
})
|
|
10018
10343
|
]
|
|
10019
10344
|
});
|
|
10020
|
-
|
|
10345
|
+
wf.displayName = "EmptyState";
|
|
10021
10346
|
//#endregion
|
|
10022
10347
|
//#region src/components/ChecklistRow/components/ChecklistRow.tsx
|
|
10023
|
-
var
|
|
10348
|
+
var Tf = {
|
|
10024
10349
|
default: "text-dos-text-primary",
|
|
10025
10350
|
muted: "text-dos-text-muted line-through",
|
|
10026
10351
|
error: "text-dos-error"
|
|
10027
|
-
},
|
|
10352
|
+
}, 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
10353
|
className: $("eidotter-checklist-row", "flex items-start gap-3 py-2 border-b border-dos-border-disabled", r && "opacity-50", d),
|
|
10029
10354
|
children: [
|
|
10030
10355
|
/* @__PURE__ */ b("button", {
|
|
@@ -10045,7 +10370,7 @@ var lf = {
|
|
|
10045
10370
|
children: l
|
|
10046
10371
|
}),
|
|
10047
10372
|
o !== void 0 && /* @__PURE__ */ b("div", {
|
|
10048
|
-
className: $("font-dos text-dos-text-sm",
|
|
10373
|
+
className: $("font-dos text-dos-text-sm", Tf[a]),
|
|
10049
10374
|
children: o
|
|
10050
10375
|
}),
|
|
10051
10376
|
s,
|
|
@@ -10061,10 +10386,10 @@ var lf = {
|
|
|
10061
10386
|
})
|
|
10062
10387
|
]
|
|
10063
10388
|
});
|
|
10064
|
-
|
|
10389
|
+
Ef.displayName = "ChecklistRow";
|
|
10065
10390
|
//#endregion
|
|
10066
10391
|
//#region src/components/CopyButton/components/CopyButton.tsx
|
|
10067
|
-
var
|
|
10392
|
+
var Df = ({ value: e, label: t = "[cp]", copiedLabel: n = "[OK]", title: r = "Copy to clipboard", copiedTitle: i = "Copied!", className: o }) => {
|
|
10068
10393
|
let [s, c] = p(!1), l = f(null), u = a(() => {
|
|
10069
10394
|
c(!0), l.current && clearTimeout(l.current), l.current = setTimeout(() => c(!1), 1500);
|
|
10070
10395
|
}, []), d = a(() => {
|
|
@@ -10094,10 +10419,10 @@ var df = ({ value: e, label: t = "[cp]", copiedLabel: n = "[OK]", title: r = "Co
|
|
|
10094
10419
|
children: s ? n : t
|
|
10095
10420
|
});
|
|
10096
10421
|
};
|
|
10097
|
-
|
|
10422
|
+
Df.displayName = "CopyButton";
|
|
10098
10423
|
//#endregion
|
|
10099
10424
|
//#region src/components/Select/components/Select.tsx
|
|
10100
|
-
var
|
|
10425
|
+
var Of = ({ value: e, options: t, onChange: n, id: r, disabled: i, className: a, "aria-label": o }) => /* @__PURE__ */ b("select", {
|
|
10101
10426
|
id: r,
|
|
10102
10427
|
"aria-label": o,
|
|
10103
10428
|
value: e,
|
|
@@ -10110,10 +10435,10 @@ var ff = ({ value: e, options: t, onChange: n, id: r, disabled: i, className: a,
|
|
|
10110
10435
|
children: e.label
|
|
10111
10436
|
}, e.value))
|
|
10112
10437
|
});
|
|
10113
|
-
|
|
10438
|
+
Of.displayName = "Select";
|
|
10114
10439
|
//#endregion
|
|
10115
10440
|
//#region src/components/LedgerRow/components/LedgerRow.tsx
|
|
10116
|
-
var
|
|
10441
|
+
var kf = ({ label: e, note: t, value: n, copyValue: r, trailing: i, pending: a, className: o }) => /* @__PURE__ */ x("div", {
|
|
10117
10442
|
className: $("eidotter-ledger-row", "flex items-center gap-3 py-2 border-b border-dos-border-disabled", a && "opacity-50", o),
|
|
10118
10443
|
children: [/* @__PURE__ */ x("div", {
|
|
10119
10444
|
className: "flex-1 min-w-0",
|
|
@@ -10131,15 +10456,15 @@ var pf = ({ label: e, note: t, value: n, copyValue: r, trailing: i, pending: a,
|
|
|
10131
10456
|
className: "font-dos text-dos-text-sm text-dos-text-accent tabular-nums",
|
|
10132
10457
|
children: n
|
|
10133
10458
|
}),
|
|
10134
|
-
r !== void 0 && /* @__PURE__ */ b(
|
|
10459
|
+
r !== void 0 && /* @__PURE__ */ b(Df, { value: r }),
|
|
10135
10460
|
i
|
|
10136
10461
|
]
|
|
10137
10462
|
})]
|
|
10138
10463
|
});
|
|
10139
|
-
|
|
10464
|
+
kf.displayName = "LedgerRow";
|
|
10140
10465
|
//#endregion
|
|
10141
10466
|
//#region src/components/LabeledProgress/components/LabeledProgress.tsx
|
|
10142
|
-
var
|
|
10467
|
+
var Af = ({ label: e, value: t, max: n = 100, valueSuffix: r = "%", showValue: i = !0, className: a, "aria-label": o }) => {
|
|
10143
10468
|
let s = n === 0 ? 0 : Math.min(100, Math.max(0, Math.round(t / n * 100)));
|
|
10144
10469
|
return /* @__PURE__ */ x("div", {
|
|
10145
10470
|
className: $("eidotter-labeled-progress", "flex items-center gap-3", a),
|
|
@@ -10167,11 +10492,11 @@ var mf = ({ label: e, value: t, max: n = 100, valueSuffix: r = "%", showValue: i
|
|
|
10167
10492
|
]
|
|
10168
10493
|
});
|
|
10169
10494
|
};
|
|
10170
|
-
|
|
10495
|
+
Af.displayName = "LabeledProgress";
|
|
10171
10496
|
//#endregion
|
|
10172
10497
|
//#region src/components/TextScramble/components/TextScramble.tsx
|
|
10173
|
-
var
|
|
10174
|
-
let { text: s, isScrambling: c } =
|
|
10498
|
+
var jf = r(({ children: e, speed: t, characters: n, delay: r, className: i, ...a }, o) => {
|
|
10499
|
+
let { text: s, isScrambling: c } = cf(e, {
|
|
10175
10500
|
speed: t,
|
|
10176
10501
|
characters: n,
|
|
10177
10502
|
delay: r
|
|
@@ -10183,16 +10508,16 @@ var hf = r(({ children: e, speed: t, characters: n, delay: r, className: i, ...a
|
|
|
10183
10508
|
children: s
|
|
10184
10509
|
});
|
|
10185
10510
|
});
|
|
10186
|
-
|
|
10511
|
+
jf.displayName = "TextScramble";
|
|
10187
10512
|
//#endregion
|
|
10188
10513
|
//#region src/components/Nav/components/Nav.tsx
|
|
10189
|
-
var
|
|
10514
|
+
var Mf = {
|
|
10190
10515
|
retro: "eidotter-nav--retro",
|
|
10191
10516
|
modern: "eidotter-nav--modern"
|
|
10192
|
-
},
|
|
10517
|
+
}, Nf = ({ items: e, activeHref: t, variant: n = "retro", linkComponent: r, className: i }) => {
|
|
10193
10518
|
let a = r || "a";
|
|
10194
10519
|
return /* @__PURE__ */ b("nav", {
|
|
10195
|
-
className: $("eidotter-nav eidotter-nav--desktop",
|
|
10520
|
+
className: $("eidotter-nav eidotter-nav--desktop", Mf[n], i),
|
|
10196
10521
|
"aria-label": "Main navigation",
|
|
10197
10522
|
children: /* @__PURE__ */ b("ul", {
|
|
10198
10523
|
className: "eidotter-nav__desktop-list",
|
|
@@ -10207,7 +10532,7 @@ var gf = {
|
|
|
10207
10532
|
}, e.href))
|
|
10208
10533
|
})
|
|
10209
10534
|
});
|
|
10210
|
-
},
|
|
10535
|
+
}, Pf = ({ items: e, activeHref: t, variant: n = "retro", linkComponent: r, className: i }) => {
|
|
10211
10536
|
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
10537
|
return s(() => {
|
|
10213
10538
|
if (!o) return;
|
|
@@ -10218,7 +10543,7 @@ var gf = {
|
|
|
10218
10543
|
}, [o, _]), s(() => {
|
|
10219
10544
|
o ? d.current?.focus() : h.current && u.current?.focus(), h.current = o;
|
|
10220
10545
|
}, [o]), /* @__PURE__ */ x("div", {
|
|
10221
|
-
className: $("eidotter-nav eidotter-nav--mobile",
|
|
10546
|
+
className: $("eidotter-nav eidotter-nav--mobile", Mf[n], i),
|
|
10222
10547
|
children: [
|
|
10223
10548
|
/* @__PURE__ */ b("button", {
|
|
10224
10549
|
ref: u,
|
|
@@ -10275,14 +10600,14 @@ var gf = {
|
|
|
10275
10600
|
})
|
|
10276
10601
|
]
|
|
10277
10602
|
});
|
|
10278
|
-
},
|
|
10603
|
+
}, Ff = (e) => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(Pf, { ...e }), /* @__PURE__ */ b(Nf, { ...e })] }), If = {
|
|
10279
10604
|
user: "eidotter-chat-message--user",
|
|
10280
10605
|
assistant: "eidotter-chat-message--assistant",
|
|
10281
10606
|
system: "eidotter-chat-message--system"
|
|
10282
|
-
},
|
|
10607
|
+
}, Lf = ({ role: e, content: t, isStreaming: n = !1, userPrefix: r = ">", assistantPrefix: i = "C:\\>", className: a, ...o }) => {
|
|
10283
10608
|
let s = e === "user" ? r : e === "assistant" ? i : "";
|
|
10284
10609
|
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",
|
|
10610
|
+
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
10611
|
...o,
|
|
10287
10612
|
children: [
|
|
10288
10613
|
s && /* @__PURE__ */ b("span", {
|
|
@@ -10301,7 +10626,7 @@ var gf = {
|
|
|
10301
10626
|
})
|
|
10302
10627
|
]
|
|
10303
10628
|
});
|
|
10304
|
-
},
|
|
10629
|
+
}, Rf = ({ messages: e, isStreaming: t = !1, userPrefix: n, assistantPrefix: r, className: i, ...a }) => {
|
|
10305
10630
|
let o = f(null);
|
|
10306
10631
|
s(() => {
|
|
10307
10632
|
o.current?.scrollIntoView?.({ behavior: "smooth" });
|
|
@@ -10330,7 +10655,7 @@ var gf = {
|
|
|
10330
10655
|
className: "flex flex-col",
|
|
10331
10656
|
children: [e.map((i, a) => {
|
|
10332
10657
|
let o = t && i.role === "assistant" && a === e.length - 1;
|
|
10333
|
-
return /* @__PURE__ */ b(
|
|
10658
|
+
return /* @__PURE__ */ b(Lf, {
|
|
10334
10659
|
role: i.role,
|
|
10335
10660
|
content: i.content,
|
|
10336
10661
|
isStreaming: o,
|
|
@@ -10340,7 +10665,7 @@ var gf = {
|
|
|
10340
10665
|
}), /* @__PURE__ */ b("div", { ref: o })]
|
|
10341
10666
|
})
|
|
10342
10667
|
});
|
|
10343
|
-
},
|
|
10668
|
+
}, zf = ({ onSend: e, prompt: t = ">", placeholder: n, disabled: r = !1, className: i, ...a }) => {
|
|
10344
10669
|
let [o, s] = p(""), c = f(null);
|
|
10345
10670
|
l(() => {
|
|
10346
10671
|
let e = c.current;
|
|
@@ -10382,30 +10707,30 @@ var gf = {
|
|
|
10382
10707
|
})]
|
|
10383
10708
|
})]
|
|
10384
10709
|
});
|
|
10385
|
-
},
|
|
10710
|
+
}, 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
10711
|
className: $("flex flex-col h-full min-h-0", c),
|
|
10387
10712
|
...l,
|
|
10388
|
-
children: [/* @__PURE__ */ b(
|
|
10713
|
+
children: [/* @__PURE__ */ b(Rf, {
|
|
10389
10714
|
className: "flex-1 min-h-0",
|
|
10390
10715
|
messages: e,
|
|
10391
10716
|
isStreaming: n,
|
|
10392
10717
|
userPrefix: i,
|
|
10393
10718
|
assistantPrefix: a
|
|
10394
|
-
}), /* @__PURE__ */ b(
|
|
10719
|
+
}), /* @__PURE__ */ b(zf, {
|
|
10395
10720
|
className: "shrink-0",
|
|
10396
10721
|
onSend: t,
|
|
10397
10722
|
prompt: r,
|
|
10398
10723
|
placeholder: o,
|
|
10399
10724
|
disabled: s
|
|
10400
10725
|
})]
|
|
10401
|
-
}),
|
|
10726
|
+
}), Vf = [{
|
|
10402
10727
|
label: "Impressum",
|
|
10403
10728
|
href: "/impressum"
|
|
10404
10729
|
}, {
|
|
10405
10730
|
label: "Datenschutz",
|
|
10406
10731
|
href: "/datenschutz"
|
|
10407
|
-
}],
|
|
10408
|
-
let s = n ??
|
|
10732
|
+
}], Hf = ({ copyright: t, links: n, linkComponent: r, children: i, className: a, ...o }) => {
|
|
10733
|
+
let s = n ?? Vf, c = r ?? "a", l = "eidotter-footer__link text-dos-text-brand no-underline";
|
|
10409
10734
|
return /* @__PURE__ */ x("footer", {
|
|
10410
10735
|
className: $("font-dos text-sm py-4 px-2 text-center", "eidotter-footer", a),
|
|
10411
10736
|
...o,
|
|
@@ -10443,14 +10768,14 @@ var gf = {
|
|
|
10443
10768
|
})
|
|
10444
10769
|
]
|
|
10445
10770
|
});
|
|
10446
|
-
},
|
|
10771
|
+
}, Uf = {
|
|
10447
10772
|
retro: "eidotter-header--retro",
|
|
10448
10773
|
modern: "eidotter-header--modern"
|
|
10449
|
-
},
|
|
10774
|
+
}, 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
10775
|
let d = o ?? "a";
|
|
10451
10776
|
return /* @__PURE__ */ x("header", {
|
|
10452
10777
|
ref: u,
|
|
10453
|
-
className: $("flex items-center justify-between px-4 py-3 font-dos", "eidotter-header",
|
|
10778
|
+
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
10779
|
...l,
|
|
10455
10780
|
children: [
|
|
10456
10781
|
/* @__PURE__ */ b(d, {
|
|
@@ -10458,13 +10783,13 @@ var gf = {
|
|
|
10458
10783
|
className: $("no-underline text-base font-bold tracking-wide", "eidotter-header__branding"),
|
|
10459
10784
|
children: s || e
|
|
10460
10785
|
}),
|
|
10461
|
-
/* @__PURE__ */ b(
|
|
10786
|
+
/* @__PURE__ */ b(Nf, {
|
|
10462
10787
|
items: n,
|
|
10463
10788
|
activeHref: r,
|
|
10464
10789
|
variant: i,
|
|
10465
10790
|
linkComponent: o
|
|
10466
10791
|
}),
|
|
10467
|
-
/* @__PURE__ */ b(
|
|
10792
|
+
/* @__PURE__ */ b(Pf, {
|
|
10468
10793
|
items: n,
|
|
10469
10794
|
activeHref: r,
|
|
10470
10795
|
variant: i,
|
|
@@ -10473,16 +10798,16 @@ var gf = {
|
|
|
10473
10798
|
]
|
|
10474
10799
|
});
|
|
10475
10800
|
});
|
|
10476
|
-
|
|
10801
|
+
Wf.displayName = "Header";
|
|
10477
10802
|
//#endregion
|
|
10478
10803
|
//#region src/components/Notification/components/Notification.tsx
|
|
10479
|
-
var
|
|
10804
|
+
var Gf = {
|
|
10480
10805
|
primary: "Info",
|
|
10481
10806
|
gray: "Info",
|
|
10482
10807
|
success: "Done",
|
|
10483
10808
|
warning: "Warning",
|
|
10484
10809
|
error: "Error"
|
|
10485
|
-
},
|
|
10810
|
+
}, 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
10811
|
let { isClosing: p, triggerClose: m, handleAnimationEnd: h } = $l("notification-exit", i);
|
|
10487
10812
|
s(() => {
|
|
10488
10813
|
if (u == null || !i) return;
|
|
@@ -10512,7 +10837,7 @@ var kf = {
|
|
|
10512
10837
|
g && /* @__PURE__ */ b("div", {
|
|
10513
10838
|
className: "eidotter-notification__icon",
|
|
10514
10839
|
children: /* @__PURE__ */ b(Zl, {
|
|
10515
|
-
name:
|
|
10840
|
+
name: Gf[e] || "Info",
|
|
10516
10841
|
size: "S",
|
|
10517
10842
|
"aria-label": `${e} notification`
|
|
10518
10843
|
})
|
|
@@ -10568,7 +10893,7 @@ var kf = {
|
|
|
10568
10893
|
};
|
|
10569
10894
|
//#endregion
|
|
10570
10895
|
//#region src/components/InlineLink/components/InlineLink.tsx
|
|
10571
|
-
function
|
|
10896
|
+
function qf(e) {
|
|
10572
10897
|
let t = e.trim();
|
|
10573
10898
|
if (t === "" || /^[#?/]/.test(t)) return t;
|
|
10574
10899
|
let n = /^([a-z][a-z0-9+\-.]*):/i.exec(t);
|
|
@@ -10583,14 +10908,14 @@ function jf(e) {
|
|
|
10583
10908
|
"sms"
|
|
10584
10909
|
].includes(r) ? t : "#";
|
|
10585
10910
|
}
|
|
10586
|
-
function
|
|
10911
|
+
function Jf(e, t) {
|
|
10587
10912
|
if (t.length === 0) return e;
|
|
10588
10913
|
let n = new Set((e ?? "").split(/\s+/).map((e) => e.trim().toLowerCase()).filter(Boolean));
|
|
10589
10914
|
for (let e of t) n.add(e.toLowerCase());
|
|
10590
10915
|
return Array.from(n).join(" ");
|
|
10591
10916
|
}
|
|
10592
|
-
var
|
|
10593
|
-
let l =
|
|
10917
|
+
var Yf = r(({ children: e, href: t, showGlyph: n = !0, external: r = !1, className: i, target: a, rel: o, ...s }, c) => {
|
|
10918
|
+
let l = qf(t), u = a ?? (r ? "_blank" : void 0), d = u === "_blank", f = d ? Jf(o, ["noopener", "noreferrer"]) : o, p = r && d ? "↗" : "▸";
|
|
10594
10919
|
return /* @__PURE__ */ x("a", {
|
|
10595
10920
|
ref: c,
|
|
10596
10921
|
href: l,
|
|
@@ -10608,10 +10933,10 @@ var Nf = r(({ children: e, href: t, showGlyph: n = !0, external: r = !1, classNa
|
|
|
10608
10933
|
})]
|
|
10609
10934
|
});
|
|
10610
10935
|
});
|
|
10611
|
-
|
|
10936
|
+
Yf.displayName = "InlineLink";
|
|
10612
10937
|
//#endregion
|
|
10613
10938
|
//#region src/components/DosFigure/components/DosFigure.tsx
|
|
10614
|
-
var
|
|
10939
|
+
var Xf = r(({ title: e, resolution: t, subject: n, caption: r, pins: i = [], animated: a = !0, "aria-label": o, className: s }, l) => {
|
|
10615
10940
|
let u = c(), d = r ? u : void 0;
|
|
10616
10941
|
return /* @__PURE__ */ x("figure", {
|
|
10617
10942
|
ref: l,
|
|
@@ -10672,11 +10997,11 @@ var Pf = r(({ title: e, resolution: t, subject: n, caption: r, pins: i = [], ani
|
|
|
10672
10997
|
]
|
|
10673
10998
|
});
|
|
10674
10999
|
});
|
|
10675
|
-
|
|
11000
|
+
Xf.displayName = "DosFigure";
|
|
10676
11001
|
//#endregion
|
|
10677
11002
|
//#region src/components/CmdPalette/components/CmdPalette.tsx
|
|
10678
|
-
var
|
|
10679
|
-
function
|
|
11003
|
+
var Zf = /* @__PURE__ */ b(y, { children: "↑/↓ NAVIGATE · ↵ OPEN · ESC CLOSE" });
|
|
11004
|
+
function Qf(e) {
|
|
10680
11005
|
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
11006
|
return (e) => {
|
|
10682
11007
|
if (e.key.toLowerCase() !== n) return !1;
|
|
@@ -10684,15 +11009,15 @@ function If(e) {
|
|
|
10684
11009
|
return !(!(r ? t ? e.metaKey : e.ctrlKey : !(e.metaKey || e.ctrlKey)) || i !== e.shiftKey || a !== e.altKey);
|
|
10685
11010
|
};
|
|
10686
11011
|
}
|
|
10687
|
-
function
|
|
11012
|
+
function $f(e, t) {
|
|
10688
11013
|
if (!t) return 0;
|
|
10689
11014
|
let n = t.toLowerCase(), r = e.label.toLowerCase(), i = (e.keywords || []).map((e) => e.toLowerCase());
|
|
10690
11015
|
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
11016
|
}
|
|
10692
|
-
var
|
|
11017
|
+
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
11018
|
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
11019
|
item: e,
|
|
10695
|
-
score:
|
|
11020
|
+
score: $f(e, C.trim())
|
|
10696
11021
|
})).filter((e) => e.score >= 0).sort((e, t) => t.score - e.score).slice(0, m).map((e) => e.item) : n.slice(0, m), [
|
|
10697
11022
|
n,
|
|
10698
11023
|
C,
|
|
@@ -10717,7 +11042,7 @@ var Rf = r(({ open: e, onOpenChange: t, items: n, placeholder: r = "SEARCH · TY
|
|
|
10717
11042
|
M.current = t;
|
|
10718
11043
|
}, [t]), s(() => {
|
|
10719
11044
|
if (i === !1) return;
|
|
10720
|
-
let e =
|
|
11045
|
+
let e = Qf(i), t = (t) => {
|
|
10721
11046
|
e(t) && (t.preventDefault(), M.current(!j.current));
|
|
10722
11047
|
};
|
|
10723
11048
|
return window.addEventListener("keydown", t), () => window.removeEventListener("keydown", t);
|
|
@@ -10826,10 +11151,10 @@ var Rf = r(({ open: e, onOpenChange: t, items: n, placeholder: r = "SEARCH · TY
|
|
|
10826
11151
|
})
|
|
10827
11152
|
});
|
|
10828
11153
|
});
|
|
10829
|
-
|
|
11154
|
+
ep.displayName = "CmdPalette";
|
|
10830
11155
|
//#endregion
|
|
10831
11156
|
//#region src/components/Brand/components/Logo.tsx
|
|
10832
|
-
var
|
|
11157
|
+
var tp = r(({ size: e = 32, glow: t = !0, title: n = "eiDotter", className: r, ...i }, a) => {
|
|
10833
11158
|
let o = c(), s = `eidotter-logo-halo-${o}`, l = `eidotter-logo-core-${o}`;
|
|
10834
11159
|
return /* @__PURE__ */ x("svg", {
|
|
10835
11160
|
ref: a,
|
|
@@ -11053,10 +11378,10 @@ var zf = r(({ size: e = 32, glow: t = !0, title: n = "eiDotter", className: r, .
|
|
|
11053
11378
|
]
|
|
11054
11379
|
});
|
|
11055
11380
|
});
|
|
11056
|
-
|
|
11381
|
+
tp.displayName = "Logo";
|
|
11057
11382
|
//#endregion
|
|
11058
11383
|
//#region src/components/Brand/components/Wordmark.tsx
|
|
11059
|
-
var
|
|
11384
|
+
var np = r(({ glow: e = !0, className: t, ...n }, r) => /* @__PURE__ */ x("span", {
|
|
11060
11385
|
ref: r,
|
|
11061
11386
|
className: $("eidotter-wordmark font-dos", e && "eidotter-wordmark--glow", t),
|
|
11062
11387
|
"aria-label": "eiDotter",
|
|
@@ -11071,28 +11396,28 @@ var Bf = r(({ glow: e = !0, className: t, ...n }, r) => /* @__PURE__ */ x("span"
|
|
|
11071
11396
|
children: "Dotter"
|
|
11072
11397
|
})]
|
|
11073
11398
|
}));
|
|
11074
|
-
|
|
11399
|
+
np.displayName = "Wordmark";
|
|
11075
11400
|
//#endregion
|
|
11076
11401
|
//#region src/components/Brand/components/BrandLockup.tsx
|
|
11077
|
-
var
|
|
11402
|
+
var rp = r(({ logoSize: e = 32, iconOnly: t = !1, wordmarkOnly: n = !1, glow: r = !0, className: i, ...a }, o) => /* @__PURE__ */ x("div", {
|
|
11078
11403
|
ref: o,
|
|
11079
11404
|
className: $("eidotter-brand-lockup inline-flex items-center gap-3", i),
|
|
11080
11405
|
role: "img",
|
|
11081
11406
|
"aria-label": "eiDotter",
|
|
11082
11407
|
...a,
|
|
11083
|
-
children: [!n && /* @__PURE__ */ b(
|
|
11408
|
+
children: [!n && /* @__PURE__ */ b(tp, {
|
|
11084
11409
|
size: e,
|
|
11085
11410
|
glow: r,
|
|
11086
11411
|
title: ""
|
|
11087
|
-
}), !t && /* @__PURE__ */ b(
|
|
11412
|
+
}), !t && /* @__PURE__ */ b(np, {
|
|
11088
11413
|
glow: r,
|
|
11089
11414
|
"aria-hidden": "true"
|
|
11090
11415
|
})]
|
|
11091
11416
|
}));
|
|
11092
|
-
|
|
11417
|
+
rp.displayName = "BrandLockup";
|
|
11093
11418
|
//#endregion
|
|
11094
11419
|
//#region src/components/AIText/components/AIText.tsx
|
|
11095
|
-
var
|
|
11420
|
+
var ip = ({ children: e, className: t, title: n = "AI-assisted text — being rewritten" }) => /* @__PURE__ */ x("span", {
|
|
11096
11421
|
"data-provenance": "ai-draft",
|
|
11097
11422
|
className: $("eidotter-ai-text", t),
|
|
11098
11423
|
title: n,
|
|
@@ -11101,43 +11426,43 @@ var Hf = ({ children: e, className: t, title: n = "AI-assisted text — being re
|
|
|
11101
11426
|
children: "AI-assisted: "
|
|
11102
11427
|
}), e]
|
|
11103
11428
|
});
|
|
11104
|
-
|
|
11429
|
+
ip.displayName = "AIText";
|
|
11105
11430
|
//#endregion
|
|
11106
11431
|
//#region src/components/Skeleton/components/Skeleton.tsx
|
|
11107
|
-
var
|
|
11432
|
+
var ap = "░░░░▒░░░░░░░▒░░░▒▒░░░░░░▒░░░░░░░▒░░░░▒░░", op = "▒▒▓▒▒▒▒▓▒▒▒▒▒▓▒▒▒▒▒▒▓▒▒▒▒▓▒▒▒▒▒▓▒▒▒▒▒▓▒", sp = 6, cp = {
|
|
11108
11433
|
text: 3,
|
|
11109
11434
|
card: 3,
|
|
11110
11435
|
figure: 4,
|
|
11111
11436
|
timeline: 2
|
|
11112
|
-
},
|
|
11437
|
+
}, lp = ({ dense: e = !1, width: t = "full" }) => /* @__PURE__ */ b("span", {
|
|
11113
11438
|
className: $("eidotter-skeleton__line", t === "short" && "eidotter-skeleton__line--short", t === "meta" && "eidotter-skeleton__line--meta"),
|
|
11114
|
-
children: (e ?
|
|
11439
|
+
children: (e ? op : ap).repeat(sp)
|
|
11115
11440
|
});
|
|
11116
|
-
function
|
|
11117
|
-
return Array.from({ length: e }, (r, i) => /* @__PURE__ */ b(
|
|
11441
|
+
function up(e, t = !1, n = !0) {
|
|
11442
|
+
return Array.from({ length: e }, (r, i) => /* @__PURE__ */ b(lp, {
|
|
11118
11443
|
dense: t,
|
|
11119
11444
|
width: n && i === e - 1 && e > 1 ? "short" : "full"
|
|
11120
11445
|
}, i));
|
|
11121
11446
|
}
|
|
11122
|
-
var
|
|
11123
|
-
let a = Math.max(1, t ??
|
|
11447
|
+
var dp = ({ variant: e = "text", lines: t, animated: n = !0, label: r = "Loading", className: i }) => {
|
|
11448
|
+
let a = Math.max(1, t ?? cp[e]), o;
|
|
11124
11449
|
switch (e) {
|
|
11125
11450
|
case "card":
|
|
11126
|
-
o = /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(
|
|
11451
|
+
o = /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(lp, {
|
|
11127
11452
|
dense: !0,
|
|
11128
11453
|
width: "meta"
|
|
11129
|
-
}),
|
|
11454
|
+
}), up(a)] });
|
|
11130
11455
|
break;
|
|
11131
11456
|
case "figure":
|
|
11132
|
-
o =
|
|
11457
|
+
o = up(a, !0, !1);
|
|
11133
11458
|
break;
|
|
11134
11459
|
case "timeline":
|
|
11135
11460
|
o = /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("span", { className: "eidotter-skeleton__marker border-2 border-dos-border-default" }), /* @__PURE__ */ x("span", {
|
|
11136
11461
|
className: "eidotter-skeleton__entry",
|
|
11137
|
-
children: [/* @__PURE__ */ b(
|
|
11462
|
+
children: [/* @__PURE__ */ b(lp, { width: "meta" }), up(a)]
|
|
11138
11463
|
})] });
|
|
11139
11464
|
break;
|
|
11140
|
-
default: o =
|
|
11465
|
+
default: o = up(a);
|
|
11141
11466
|
}
|
|
11142
11467
|
return /* @__PURE__ */ b("div", {
|
|
11143
11468
|
role: "status",
|
|
@@ -11150,10 +11475,10 @@ var Yf = ({ variant: e = "text", lines: t, animated: n = !0, label: r = "Loading
|
|
|
11150
11475
|
})
|
|
11151
11476
|
});
|
|
11152
11477
|
};
|
|
11153
|
-
|
|
11478
|
+
dp.displayName = "Skeleton";
|
|
11154
11479
|
//#endregion
|
|
11155
11480
|
//#region src/components/LegalPage/components/LegalPage.tsx
|
|
11156
|
-
var
|
|
11481
|
+
var fp = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...o }) => /* @__PURE__ */ x("div", {
|
|
11157
11482
|
className: $("eidotter-legal-page", a),
|
|
11158
11483
|
...o,
|
|
11159
11484
|
children: [r && /* @__PURE__ */ b("div", {
|
|
@@ -11176,13 +11501,13 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11176
11501
|
className: "eidotter-legal-page__body",
|
|
11177
11502
|
children: i
|
|
11178
11503
|
})] })]
|
|
11179
|
-
}),
|
|
11504
|
+
}), pp = /* @__PURE__ */ x(y, { children: [
|
|
11180
11505
|
"Haus-Endt-Str. 149A",
|
|
11181
11506
|
/* @__PURE__ */ b("br", {}),
|
|
11182
11507
|
"40593 Düsseldorf",
|
|
11183
11508
|
/* @__PURE__ */ b("br", {}),
|
|
11184
11509
|
"Deutschland"
|
|
11185
|
-
] }),
|
|
11510
|
+
] }), mp = "Dominic Kennedy", hp = ({ email: e, address: t = pp, name: n = mp }) => /* @__PURE__ */ x("address", { children: [
|
|
11186
11511
|
n,
|
|
11187
11512
|
/* @__PURE__ */ b("br", {}),
|
|
11188
11513
|
t,
|
|
@@ -11194,16 +11519,16 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11194
11519
|
children: e
|
|
11195
11520
|
})
|
|
11196
11521
|
] })
|
|
11197
|
-
] }),
|
|
11522
|
+
] }), 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
11523
|
href: `mailto:${e}`,
|
|
11199
11524
|
children: e
|
|
11200
|
-
})] })] }),
|
|
11525
|
+
})] })] }), vp = ({ name: e = mp }) => /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("h2", { children: "Inhaltlich verantwortlich (§ 18 Abs. 2 MStV)" }), /* @__PURE__ */ x("address", { children: [
|
|
11201
11526
|
e,
|
|
11202
11527
|
/* @__PURE__ */ b("br", {}),
|
|
11203
11528
|
"Haus-Endt-Str. 149A",
|
|
11204
11529
|
/* @__PURE__ */ b("br", {}),
|
|
11205
11530
|
"40593 Düsseldorf"
|
|
11206
|
-
] })] }),
|
|
11531
|
+
] })] }), 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
11532
|
t,
|
|
11208
11533
|
/* @__PURE__ */ b("br", {}),
|
|
11209
11534
|
"Haus-Endt-Str. 149A",
|
|
@@ -11215,14 +11540,14 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11215
11540
|
href: `mailto:${e}`,
|
|
11216
11541
|
children: e
|
|
11217
11542
|
})
|
|
11218
|
-
] })] }),
|
|
11543
|
+
] })] }), Sp = () => /* @__PURE__ */ x(y, { children: [
|
|
11219
11544
|
/* @__PURE__ */ b("h2", { children: "Hosting" }),
|
|
11220
11545
|
/* @__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
11546
|
/* @__PURE__ */ b("p", {
|
|
11222
11547
|
className: "eidotter-legal-page__basis",
|
|
11223
11548
|
children: "Anbieter: Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse)."
|
|
11224
11549
|
})
|
|
11225
|
-
] }),
|
|
11550
|
+
] }), Cp = ({ proxyHost: e = "e.dmnc.tech" }) => /* @__PURE__ */ x(y, { children: [
|
|
11226
11551
|
/* @__PURE__ */ b("h2", { children: "Webanalyse — PostHog" }),
|
|
11227
11552
|
/* @__PURE__ */ x("p", { children: [
|
|
11228
11553
|
"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 +11564,7 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11239
11564
|
className: "eidotter-legal-page__basis",
|
|
11240
11565
|
children: "Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse)."
|
|
11241
11566
|
})
|
|
11242
|
-
] }),
|
|
11567
|
+
] }), 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
11568
|
/* @__PURE__ */ b("h2", { children: "Ihre Rechte" }),
|
|
11244
11569
|
/* @__PURE__ */ b("p", { children: "Die DSGVO gewährt Ihnen folgende Rechte:" }),
|
|
11245
11570
|
/* @__PURE__ */ x("ul", { children: [
|
|
@@ -11264,7 +11589,7 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11264
11589
|
t,
|
|
11265
11590
|
"."
|
|
11266
11591
|
] })
|
|
11267
|
-
] }),
|
|
11592
|
+
] }), Dp = {
|
|
11268
11593
|
eidotter: { displayName: "eiDotter" },
|
|
11269
11594
|
spacewar: { displayName: "Spacewar!" },
|
|
11270
11595
|
rizomorf: { displayName: "rizomorf" },
|
|
@@ -11277,8 +11602,12 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11277
11602
|
dmnctech: {
|
|
11278
11603
|
displayName: "dmnc.tech",
|
|
11279
11604
|
url: "https://dmnc.tech"
|
|
11605
|
+
},
|
|
11606
|
+
tracker: {
|
|
11607
|
+
displayName: "Tracker",
|
|
11608
|
+
url: "https://tracker.dmnc.tech"
|
|
11280
11609
|
}
|
|
11281
|
-
},
|
|
11610
|
+
}, Op = {
|
|
11282
11611
|
Alert: {
|
|
11283
11612
|
origin: "eidotter",
|
|
11284
11613
|
consumers: ["rizomorf", "steuerdash"],
|
|
@@ -11350,11 +11679,70 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11350
11679
|
},
|
|
11351
11680
|
Accordion: {
|
|
11352
11681
|
origin: "eidotter",
|
|
11353
|
-
consumers: ["rizomorf"]
|
|
11682
|
+
consumers: ["rizomorf"],
|
|
11683
|
+
since: "0.2.0",
|
|
11684
|
+
originNote: "Collapsible section with CSS grid expand/collapse — always-in-DOM, transitions grid-template-rows",
|
|
11685
|
+
platforms: {
|
|
11686
|
+
react: {
|
|
11687
|
+
path: "src/components/Accordion",
|
|
11688
|
+
status: "canonical"
|
|
11689
|
+
},
|
|
11690
|
+
swiftui: { status: "planned" }
|
|
11691
|
+
},
|
|
11692
|
+
changelog: [
|
|
11693
|
+
{
|
|
11694
|
+
version: "0.30.0",
|
|
11695
|
+
type: "changed",
|
|
11696
|
+
description: "A11y keyboard focus fixes for accordion trigger"
|
|
11697
|
+
},
|
|
11698
|
+
{
|
|
11699
|
+
version: "0.19.0",
|
|
11700
|
+
type: "changed",
|
|
11701
|
+
description: "Remove 500px expand cap — animate grid-template-rows to natural height"
|
|
11702
|
+
},
|
|
11703
|
+
{
|
|
11704
|
+
version: "0.16.0",
|
|
11705
|
+
type: "changed",
|
|
11706
|
+
description: "Migrate to Tailwind-first (Wave 3 — Accordion, Footer, Tabs, FilterBar)"
|
|
11707
|
+
},
|
|
11708
|
+
{
|
|
11709
|
+
version: "0.9.0",
|
|
11710
|
+
type: "changed",
|
|
11711
|
+
description: "Replace text-primary with cga-amber for theme consistency"
|
|
11712
|
+
},
|
|
11713
|
+
{
|
|
11714
|
+
version: "0.8.0",
|
|
11715
|
+
type: "changed",
|
|
11716
|
+
description: "Design-craft animation polish with phosphor enter effects"
|
|
11717
|
+
},
|
|
11718
|
+
{
|
|
11719
|
+
version: "0.2.0",
|
|
11720
|
+
type: "added",
|
|
11721
|
+
description: "Initial Accordion (Section) — collapsible section, inert attribute, reduced-motion safe"
|
|
11722
|
+
}
|
|
11723
|
+
]
|
|
11354
11724
|
},
|
|
11355
11725
|
AccordionFill: {
|
|
11356
11726
|
origin: "eidotter",
|
|
11357
|
-
consumers: ["rizomorf"]
|
|
11727
|
+
consumers: ["rizomorf"],
|
|
11728
|
+
since: "0.4.0",
|
|
11729
|
+
originNote: "Convenience wrapper around Section — renders a list of sections from a data array",
|
|
11730
|
+
platforms: {
|
|
11731
|
+
react: {
|
|
11732
|
+
path: "src/components/Accordion",
|
|
11733
|
+
status: "canonical"
|
|
11734
|
+
},
|
|
11735
|
+
swiftui: { status: "planned" }
|
|
11736
|
+
},
|
|
11737
|
+
changelog: [{
|
|
11738
|
+
version: "0.16.0",
|
|
11739
|
+
type: "changed",
|
|
11740
|
+
description: "Tailwind-first pass alongside Accordion migration"
|
|
11741
|
+
}, {
|
|
11742
|
+
version: "0.4.0",
|
|
11743
|
+
type: "added",
|
|
11744
|
+
description: "Initial AccordionFill — array-driven Section list"
|
|
11745
|
+
}]
|
|
11358
11746
|
},
|
|
11359
11747
|
Badge: {
|
|
11360
11748
|
origin: "eidotter",
|
|
@@ -11431,7 +11819,33 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11431
11819
|
},
|
|
11432
11820
|
Breadcrumb: {
|
|
11433
11821
|
origin: "rizomorf",
|
|
11434
|
-
consumers: ["rizomorf"]
|
|
11822
|
+
consumers: ["rizomorf"],
|
|
11823
|
+
since: "0.3.0",
|
|
11824
|
+
originNote: "Trail navigation with configurable separator and optional back-arrow",
|
|
11825
|
+
platforms: {
|
|
11826
|
+
react: {
|
|
11827
|
+
path: "src/components/Breadcrumb",
|
|
11828
|
+
status: "canonical"
|
|
11829
|
+
},
|
|
11830
|
+
swiftui: { status: "planned" }
|
|
11831
|
+
},
|
|
11832
|
+
changelog: [
|
|
11833
|
+
{
|
|
11834
|
+
version: "0.16.0",
|
|
11835
|
+
type: "changed",
|
|
11836
|
+
description: "Migrate to Tailwind-first (Wave 2 — Separator, Stat, Breadcrumb, Progress)"
|
|
11837
|
+
},
|
|
11838
|
+
{
|
|
11839
|
+
version: "0.9.0",
|
|
11840
|
+
type: "changed",
|
|
11841
|
+
description: "Fix trail links invisible on dark backgrounds"
|
|
11842
|
+
},
|
|
11843
|
+
{
|
|
11844
|
+
version: "0.3.0",
|
|
11845
|
+
type: "added",
|
|
11846
|
+
description: "Initial Breadcrumb — trail array, currentLabel, separator, showBackArrow"
|
|
11847
|
+
}
|
|
11848
|
+
]
|
|
11435
11849
|
},
|
|
11436
11850
|
Button: {
|
|
11437
11851
|
origin: "eidotter",
|
|
@@ -11614,141 +12028,971 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11614
12028
|
},
|
|
11615
12029
|
Checkbox: {
|
|
11616
12030
|
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
12031
|
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",
|
|
12032
|
+
since: "0.3.0",
|
|
11675
12033
|
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"
|
|
12034
|
+
"size:sm": {
|
|
12035
|
+
description: "Compact 16px checkbox for dense forms",
|
|
12036
|
+
since: "0.16.0"
|
|
11694
12037
|
},
|
|
11695
|
-
"size:
|
|
11696
|
-
description: "Standard
|
|
11697
|
-
since: "0.
|
|
12038
|
+
"size:md": {
|
|
12039
|
+
description: "Standard 20px checkbox",
|
|
12040
|
+
since: "0.3.0",
|
|
12041
|
+
usedBy: ["steuerdash"]
|
|
11698
12042
|
}
|
|
11699
12043
|
},
|
|
11700
12044
|
platforms: {
|
|
11701
12045
|
react: {
|
|
11702
|
-
path: "src/components/
|
|
12046
|
+
path: "src/components/Checkbox",
|
|
11703
12047
|
status: "canonical"
|
|
11704
12048
|
},
|
|
11705
12049
|
swiftui: { status: "planned" }
|
|
11706
12050
|
},
|
|
11707
12051
|
changelog: [
|
|
11708
12052
|
{
|
|
11709
|
-
version: "0.
|
|
12053
|
+
version: "0.30.0",
|
|
11710
12054
|
type: "changed",
|
|
11711
|
-
description: "
|
|
12055
|
+
description: "A11y: remediate Phase 1 audit defects + high-contrast glow gaps"
|
|
11712
12056
|
},
|
|
11713
12057
|
{
|
|
11714
|
-
version: "0.
|
|
12058
|
+
version: "0.19.0",
|
|
11715
12059
|
type: "changed",
|
|
11716
|
-
description: "
|
|
12060
|
+
description: "Replace hardcoded font-size pixels with V.37 dos tokens"
|
|
11717
12061
|
},
|
|
11718
12062
|
{
|
|
11719
|
-
version: "0.
|
|
11720
|
-
type: "
|
|
11721
|
-
description: "
|
|
11722
|
-
}
|
|
12063
|
+
version: "0.16.0",
|
|
12064
|
+
type: "changed",
|
|
12065
|
+
description: "Migrate to React Aria + Tailwind-first (Wave 1); add size:sm variant"
|
|
12066
|
+
},
|
|
12067
|
+
{
|
|
12068
|
+
version: "0.3.0",
|
|
12069
|
+
type: "added",
|
|
12070
|
+
description: "Initial Checkbox — controlled/uncontrolled, indeterminate; BEM CSS implementation"
|
|
12071
|
+
}
|
|
12072
|
+
]
|
|
12073
|
+
},
|
|
12074
|
+
CommandPrompt: {
|
|
12075
|
+
origin: "eidotter",
|
|
12076
|
+
consumers: ["rizomorf"],
|
|
12077
|
+
since: "0.3.0",
|
|
12078
|
+
originNote: "DOS command-line input — blinking cursor, configurable prompt string, onCommand callback",
|
|
12079
|
+
platforms: { react: {
|
|
12080
|
+
path: "src/components/CommandPrompt",
|
|
12081
|
+
status: "canonical"
|
|
12082
|
+
} },
|
|
12083
|
+
changelog: [
|
|
12084
|
+
{
|
|
12085
|
+
version: "0.30.0",
|
|
12086
|
+
type: "changed",
|
|
12087
|
+
description: "A11y keyboard focus fixes"
|
|
12088
|
+
},
|
|
12089
|
+
{
|
|
12090
|
+
version: "0.18.0",
|
|
12091
|
+
type: "changed",
|
|
12092
|
+
description: "Migrate BEM to Tailwind-first; switch to Flexi IBM VGA font"
|
|
12093
|
+
},
|
|
12094
|
+
{
|
|
12095
|
+
version: "0.3.0",
|
|
12096
|
+
type: "added",
|
|
12097
|
+
description: "Initial CommandPrompt — prompt prop, onCommand, autoFocus, disabled"
|
|
12098
|
+
}
|
|
12099
|
+
]
|
|
12100
|
+
},
|
|
12101
|
+
Icon: {
|
|
12102
|
+
origin: "eidotter",
|
|
12103
|
+
consumers: ["rizomorf"],
|
|
12104
|
+
since: "0.13.0",
|
|
12105
|
+
originNote: "Thin wrapper around pixelarticons (MIT) + custom PixelX for Close — 12 public names, ICON_MAP",
|
|
12106
|
+
variants: {
|
|
12107
|
+
"name:Info": {
|
|
12108
|
+
description: "Informational circle-i",
|
|
12109
|
+
since: "0.13.0",
|
|
12110
|
+
usedBy: ["rizomorf"]
|
|
12111
|
+
},
|
|
12112
|
+
"name:Warning": {
|
|
12113
|
+
description: "Warning triangle",
|
|
12114
|
+
since: "0.13.0",
|
|
12115
|
+
usedBy: ["rizomorf"]
|
|
12116
|
+
},
|
|
12117
|
+
"name:Error": {
|
|
12118
|
+
description: "Error octagon",
|
|
12119
|
+
since: "0.13.0"
|
|
12120
|
+
},
|
|
12121
|
+
"name:Done": {
|
|
12122
|
+
description: "Checkmark (shares Check glyph)",
|
|
12123
|
+
since: "0.13.0"
|
|
12124
|
+
},
|
|
12125
|
+
"name:Check": {
|
|
12126
|
+
description: "Checkmark",
|
|
12127
|
+
since: "0.13.0"
|
|
12128
|
+
},
|
|
12129
|
+
"name:Close": {
|
|
12130
|
+
description: "Custom pixel-art X mark (no pixelarticons glyph)",
|
|
12131
|
+
since: "0.19.0",
|
|
12132
|
+
usedBy: ["rizomorf"]
|
|
12133
|
+
},
|
|
12134
|
+
"name:Chevron Up": {
|
|
12135
|
+
description: "Up caret",
|
|
12136
|
+
since: "0.13.0"
|
|
12137
|
+
},
|
|
12138
|
+
"name:Chevron Down": {
|
|
12139
|
+
description: "Down caret",
|
|
12140
|
+
since: "0.13.0"
|
|
12141
|
+
},
|
|
12142
|
+
"name:App": {
|
|
12143
|
+
description: "Grid/app launcher",
|
|
12144
|
+
since: "0.13.0"
|
|
12145
|
+
},
|
|
12146
|
+
"name:Cancel": {
|
|
12147
|
+
description: "Minus glyph — window minimize control",
|
|
12148
|
+
since: "0.13.0"
|
|
12149
|
+
},
|
|
12150
|
+
"name:Fullscreen": {
|
|
12151
|
+
description: "Expand to fullscreen",
|
|
12152
|
+
since: "0.13.0"
|
|
12153
|
+
},
|
|
12154
|
+
"name:Add": {
|
|
12155
|
+
description: "Plus / add action",
|
|
12156
|
+
since: "0.13.0"
|
|
12157
|
+
},
|
|
12158
|
+
"size:L": {
|
|
12159
|
+
description: "Large — 56 × 56 px",
|
|
12160
|
+
since: "0.13.0",
|
|
12161
|
+
usedBy: ["rizomorf"]
|
|
12162
|
+
},
|
|
12163
|
+
"size:S": {
|
|
12164
|
+
description: "Small — 24 × 24 px",
|
|
12165
|
+
since: "0.13.0"
|
|
12166
|
+
}
|
|
12167
|
+
},
|
|
12168
|
+
platforms: { react: {
|
|
12169
|
+
path: "src/components/Icon",
|
|
12170
|
+
status: "canonical"
|
|
12171
|
+
} },
|
|
12172
|
+
changelog: [
|
|
12173
|
+
{
|
|
12174
|
+
version: "0.30.0",
|
|
12175
|
+
type: "changed",
|
|
12176
|
+
description: "A11y: fix aria-prohibited-attr on Icon (Phase 1 audit defect)"
|
|
12177
|
+
},
|
|
12178
|
+
{
|
|
12179
|
+
version: "0.30.0",
|
|
12180
|
+
type: "changed",
|
|
12181
|
+
description: "Icon inherits color from context instead of hardcoding amber"
|
|
12182
|
+
},
|
|
12183
|
+
{
|
|
12184
|
+
version: "0.19.0",
|
|
12185
|
+
type: "added",
|
|
12186
|
+
description: "Custom pixel-art X mark for Close (pixelarticons v2 has no standalone X glyph)"
|
|
12187
|
+
},
|
|
12188
|
+
{
|
|
12189
|
+
version: "0.18.0",
|
|
12190
|
+
type: "changed",
|
|
12191
|
+
description: "Swap @untitledui-pro/icons for pixelarticons (MIT) — license compliance"
|
|
12192
|
+
},
|
|
12193
|
+
{
|
|
12194
|
+
version: "0.13.0",
|
|
12195
|
+
type: "added",
|
|
12196
|
+
description: "Initial Icon component — ICON_MAP with 12 public names, size L/S"
|
|
12197
|
+
}
|
|
12198
|
+
]
|
|
12199
|
+
},
|
|
12200
|
+
Input: {
|
|
12201
|
+
origin: "eidotter",
|
|
12202
|
+
consumers: ["steuerdash"],
|
|
12203
|
+
since: "0.3.0",
|
|
12204
|
+
variants: {
|
|
12205
|
+
"variant:default": {
|
|
12206
|
+
description: "Standard text input with amber focus border",
|
|
12207
|
+
since: "0.3.0",
|
|
12208
|
+
usedBy: ["steuerdash"]
|
|
12209
|
+
},
|
|
12210
|
+
"variant:error": {
|
|
12211
|
+
description: "Error state — red border, errorMessage slot",
|
|
12212
|
+
since: "0.3.0",
|
|
12213
|
+
usedBy: ["steuerdash"]
|
|
12214
|
+
}
|
|
12215
|
+
},
|
|
12216
|
+
platforms: {
|
|
12217
|
+
react: {
|
|
12218
|
+
path: "src/components/Input",
|
|
12219
|
+
status: "canonical"
|
|
12220
|
+
},
|
|
12221
|
+
swiftui: { status: "planned" }
|
|
12222
|
+
},
|
|
12223
|
+
changelog: [
|
|
12224
|
+
{
|
|
12225
|
+
version: "0.17.0",
|
|
12226
|
+
type: "changed",
|
|
12227
|
+
description: "Migrate to React Aria TextField (Wave 5)"
|
|
12228
|
+
},
|
|
12229
|
+
{
|
|
12230
|
+
version: "0.16.0",
|
|
12231
|
+
type: "changed",
|
|
12232
|
+
description: "Migrate to Tailwind-first (Wave 4 — Input, Modal, Nav)"
|
|
12233
|
+
},
|
|
12234
|
+
{
|
|
12235
|
+
version: "0.9.0",
|
|
12236
|
+
type: "changed",
|
|
12237
|
+
description: "Replace text-primary with cga-amber"
|
|
12238
|
+
},
|
|
12239
|
+
{
|
|
12240
|
+
version: "0.3.0",
|
|
12241
|
+
type: "added",
|
|
12242
|
+
description: "Initial Input — label, description, errorMessage, isRequired"
|
|
12243
|
+
}
|
|
12244
|
+
]
|
|
12245
|
+
},
|
|
12246
|
+
Lightbox: {
|
|
12247
|
+
origin: "eidotter",
|
|
12248
|
+
consumers: ["dmnctech"],
|
|
12249
|
+
since: "0.22.0",
|
|
12250
|
+
originNote: "Fullscreen image viewer extending Modal pattern. Keyboard nav, prev/next, counter, swipe."
|
|
12251
|
+
},
|
|
12252
|
+
Modal: {
|
|
12253
|
+
origin: "eidotter",
|
|
12254
|
+
consumers: ["pomodoke-calendar"],
|
|
12255
|
+
since: "0.3.0",
|
|
12256
|
+
originNote: "DOS-styled dialog built on React Aria ModalOverlay/Modal/Dialog — focus trap, Esc to close, backdrop",
|
|
12257
|
+
platforms: {
|
|
12258
|
+
react: {
|
|
12259
|
+
path: "src/components/Modal",
|
|
12260
|
+
status: "canonical"
|
|
12261
|
+
},
|
|
12262
|
+
swiftui: { status: "planned" }
|
|
12263
|
+
},
|
|
12264
|
+
changelog: [
|
|
12265
|
+
{
|
|
12266
|
+
version: "0.18.0",
|
|
12267
|
+
type: "changed",
|
|
12268
|
+
description: "Normalize event handlers; replace raw <button> with AriaButton for close control"
|
|
12269
|
+
},
|
|
12270
|
+
{
|
|
12271
|
+
version: "0.17.0",
|
|
12272
|
+
type: "changed",
|
|
12273
|
+
description: "Migrate to React Aria ModalOverlay/Modal/Dialog (Wave 5)"
|
|
12274
|
+
},
|
|
12275
|
+
{
|
|
12276
|
+
version: "0.16.0",
|
|
12277
|
+
type: "changed",
|
|
12278
|
+
description: "Migrate to Tailwind-first (Wave 4 — Input, Modal, Nav)"
|
|
12279
|
+
},
|
|
12280
|
+
{
|
|
12281
|
+
version: "0.3.0",
|
|
12282
|
+
type: "added",
|
|
12283
|
+
description: "Initial Modal — isOpen, onOpenChange, title, footer slot"
|
|
12284
|
+
}
|
|
12285
|
+
]
|
|
12286
|
+
},
|
|
12287
|
+
Progress: {
|
|
12288
|
+
origin: "eidotter",
|
|
12289
|
+
consumers: ["steuerdash"],
|
|
12290
|
+
since: "0.3.0",
|
|
12291
|
+
variants: {
|
|
12292
|
+
"variant:default": {
|
|
12293
|
+
description: "Amber progress bar",
|
|
12294
|
+
since: "0.3.0",
|
|
12295
|
+
usedBy: ["steuerdash"]
|
|
12296
|
+
},
|
|
12297
|
+
"variant:success": {
|
|
12298
|
+
description: "Green completion indicator",
|
|
12299
|
+
since: "0.3.0"
|
|
12300
|
+
},
|
|
12301
|
+
"variant:warning": {
|
|
12302
|
+
description: "Amber warning progress",
|
|
12303
|
+
since: "0.3.0"
|
|
12304
|
+
},
|
|
12305
|
+
"variant:error": {
|
|
12306
|
+
description: "Red error/failed progress",
|
|
12307
|
+
since: "0.3.0"
|
|
12308
|
+
},
|
|
12309
|
+
"size:sm": {
|
|
12310
|
+
description: "Compact single-row bar",
|
|
12311
|
+
since: "0.16.0"
|
|
12312
|
+
},
|
|
12313
|
+
"size:md": {
|
|
12314
|
+
description: "Standard bar height",
|
|
12315
|
+
since: "0.3.0",
|
|
12316
|
+
usedBy: ["steuerdash"]
|
|
12317
|
+
},
|
|
12318
|
+
"size:lg": {
|
|
12319
|
+
description: "Tall bar for prominent display",
|
|
12320
|
+
since: "0.16.0"
|
|
12321
|
+
},
|
|
12322
|
+
"trackStyle:block": {
|
|
12323
|
+
description: "Solid block fill (default)",
|
|
12324
|
+
since: "0.3.0",
|
|
12325
|
+
usedBy: ["steuerdash"]
|
|
12326
|
+
},
|
|
12327
|
+
"trackStyle:bordered": {
|
|
12328
|
+
description: "Outline bar with fill inside",
|
|
12329
|
+
since: "0.3.0"
|
|
12330
|
+
},
|
|
12331
|
+
"trackStyle:gradient": {
|
|
12332
|
+
description: "Gradient fill for smooth visual",
|
|
12333
|
+
since: "0.3.0"
|
|
12334
|
+
}
|
|
12335
|
+
},
|
|
12336
|
+
platforms: {
|
|
12337
|
+
react: {
|
|
12338
|
+
path: "src/components/Progress",
|
|
12339
|
+
status: "canonical"
|
|
12340
|
+
},
|
|
12341
|
+
swiftui: { status: "planned" }
|
|
12342
|
+
},
|
|
12343
|
+
changelog: [{
|
|
12344
|
+
version: "0.16.0",
|
|
12345
|
+
type: "changed",
|
|
12346
|
+
description: "Migrate to Tailwind-first (Wave 2); deprecate size aliases small/medium/large → sm/md/lg"
|
|
12347
|
+
}, {
|
|
12348
|
+
version: "0.3.0",
|
|
12349
|
+
type: "added",
|
|
12350
|
+
description: "Initial Progress — blocks character cells, indeterminate, showLabel, glow prop"
|
|
12351
|
+
}]
|
|
12352
|
+
},
|
|
12353
|
+
RetroEffects: {
|
|
12354
|
+
origin: "spacewar",
|
|
12355
|
+
consumers: ["spacewar", "rizomorf"],
|
|
12356
|
+
since: "0.3.0",
|
|
12357
|
+
originNote: "CRT scanline/glow effects from Spacewar! — compositor-only, prefers-reduced-motion safe",
|
|
12358
|
+
platforms: {
|
|
12359
|
+
react: {
|
|
12360
|
+
path: "src/components/RetroEffects",
|
|
12361
|
+
status: "canonical"
|
|
12362
|
+
},
|
|
12363
|
+
spritekit: {
|
|
12364
|
+
status: "planned",
|
|
12365
|
+
note: "Spacewar uses CRT shader natively; component is React-web-only"
|
|
12366
|
+
}
|
|
12367
|
+
},
|
|
12368
|
+
changelog: [
|
|
12369
|
+
{
|
|
12370
|
+
version: "0.30.0",
|
|
12371
|
+
type: "added",
|
|
12372
|
+
description: "bootOnce — gate CGA turn-on to once per browser tab/session via sessionStorage"
|
|
12373
|
+
},
|
|
12374
|
+
{
|
|
12375
|
+
version: "0.28.0",
|
|
12376
|
+
type: "added",
|
|
12377
|
+
description: "boot prop — CGA monitor turn-on sequence on mount (~650ms); onBootComplete callback"
|
|
12378
|
+
},
|
|
12379
|
+
{
|
|
12380
|
+
version: "0.18.0",
|
|
12381
|
+
type: "changed",
|
|
12382
|
+
description: "Migrate BEM to Tailwind-first"
|
|
12383
|
+
},
|
|
12384
|
+
{
|
|
12385
|
+
version: "0.8.0",
|
|
12386
|
+
type: "changed",
|
|
12387
|
+
description: "Align CRT animation values with design-craft spec"
|
|
12388
|
+
},
|
|
12389
|
+
{
|
|
12390
|
+
version: "0.3.0",
|
|
12391
|
+
type: "added",
|
|
12392
|
+
description: "Initial RetroEffects — scanlines, glow, flicker, bloom, intensity, powered"
|
|
12393
|
+
}
|
|
12394
|
+
]
|
|
12395
|
+
},
|
|
12396
|
+
Skeleton: {
|
|
12397
|
+
origin: "eidotter",
|
|
12398
|
+
consumers: ["dmnctech"],
|
|
12399
|
+
originNote: "DOS/CGA loading placeholder — shade-character rows (░▒▓) with CRT hum-bar band rolling top→bottom (DMNC-1018)"
|
|
12400
|
+
},
|
|
12401
|
+
Stat: {
|
|
12402
|
+
origin: "steuerdash",
|
|
12403
|
+
consumers: ["steuerdash"],
|
|
12404
|
+
since: "0.3.0",
|
|
12405
|
+
originNote: "Key-value metric display created for tax dashboard — optional trend arrow and TextScramble animation",
|
|
12406
|
+
variants: {
|
|
12407
|
+
"size:sm": {
|
|
12408
|
+
description: "Compact metric for dense dashboards",
|
|
12409
|
+
since: "0.16.0"
|
|
12410
|
+
},
|
|
12411
|
+
"size:md": {
|
|
12412
|
+
description: "Standard metric display",
|
|
12413
|
+
since: "0.3.0",
|
|
12414
|
+
usedBy: ["steuerdash"]
|
|
12415
|
+
},
|
|
12416
|
+
"size:lg": {
|
|
12417
|
+
description: "Hero metric for prominent KPIs",
|
|
12418
|
+
since: "0.16.0",
|
|
12419
|
+
usedBy: ["steuerdash"]
|
|
12420
|
+
},
|
|
12421
|
+
"trend:up": {
|
|
12422
|
+
description: "Upward trend indicator (green arrow)",
|
|
12423
|
+
since: "0.3.0",
|
|
12424
|
+
usedBy: ["steuerdash"]
|
|
12425
|
+
},
|
|
12426
|
+
"trend:down": {
|
|
12427
|
+
description: "Downward trend indicator (red arrow)",
|
|
12428
|
+
since: "0.3.0",
|
|
12429
|
+
usedBy: ["steuerdash"]
|
|
12430
|
+
},
|
|
12431
|
+
"trend:neutral": {
|
|
12432
|
+
description: "No change indicator (muted dash)",
|
|
12433
|
+
since: "0.3.0"
|
|
12434
|
+
}
|
|
12435
|
+
},
|
|
12436
|
+
platforms: {
|
|
12437
|
+
react: {
|
|
12438
|
+
path: "src/components/Stat",
|
|
12439
|
+
status: "canonical"
|
|
12440
|
+
},
|
|
12441
|
+
swiftui: { status: "planned" }
|
|
12442
|
+
},
|
|
12443
|
+
changelog: [
|
|
12444
|
+
{
|
|
12445
|
+
version: "0.19.0",
|
|
12446
|
+
type: "changed",
|
|
12447
|
+
description: "Replace hardcoded font-size pixels with V.37 dos tokens"
|
|
12448
|
+
},
|
|
12449
|
+
{
|
|
12450
|
+
version: "0.16.0",
|
|
12451
|
+
type: "changed",
|
|
12452
|
+
description: "Migrate to Tailwind-first (Wave 2); deprecate size aliases; add size:sm/lg"
|
|
12453
|
+
},
|
|
12454
|
+
{
|
|
12455
|
+
version: "0.3.0",
|
|
12456
|
+
type: "added",
|
|
12457
|
+
description: "Initial Stat — label, value, trend, trendValue, scramble prop"
|
|
12458
|
+
}
|
|
12459
|
+
]
|
|
12460
|
+
},
|
|
12461
|
+
Switch: {
|
|
12462
|
+
origin: "eidotter",
|
|
12463
|
+
consumers: [],
|
|
12464
|
+
since: "0.3.0",
|
|
12465
|
+
variants: {
|
|
12466
|
+
"size:sm": {
|
|
12467
|
+
description: "Compact 20px toggle for dense layouts",
|
|
12468
|
+
since: "0.16.0"
|
|
12469
|
+
},
|
|
12470
|
+
"size:md": {
|
|
12471
|
+
description: "Standard 24px toggle",
|
|
12472
|
+
since: "0.3.0"
|
|
12473
|
+
},
|
|
12474
|
+
"type:default": {
|
|
12475
|
+
description: "Full-width thumb track",
|
|
12476
|
+
since: "0.3.0"
|
|
12477
|
+
},
|
|
12478
|
+
"type:slim": {
|
|
12479
|
+
description: "Narrow pill track for inline use",
|
|
12480
|
+
since: "0.3.0"
|
|
12481
|
+
}
|
|
12482
|
+
},
|
|
12483
|
+
platforms: {
|
|
12484
|
+
react: {
|
|
12485
|
+
path: "src/components/Switch",
|
|
12486
|
+
status: "canonical"
|
|
12487
|
+
},
|
|
12488
|
+
swiftui: { status: "planned" }
|
|
12489
|
+
},
|
|
12490
|
+
changelog: [
|
|
12491
|
+
{
|
|
12492
|
+
version: "0.16.0",
|
|
12493
|
+
type: "changed",
|
|
12494
|
+
description: "Migrate to React Aria + Tailwind-first (Wave 1); add size:sm variant"
|
|
12495
|
+
},
|
|
12496
|
+
{
|
|
12497
|
+
version: "0.9.0",
|
|
12498
|
+
type: "changed",
|
|
12499
|
+
description: "Replace text-primary with cga-amber"
|
|
12500
|
+
},
|
|
12501
|
+
{
|
|
12502
|
+
version: "0.8.0",
|
|
12503
|
+
type: "changed",
|
|
12504
|
+
description: "Design-craft animation polish — toggle glow transition"
|
|
12505
|
+
},
|
|
12506
|
+
{
|
|
12507
|
+
version: "0.3.0",
|
|
12508
|
+
type: "added",
|
|
12509
|
+
description: "Initial Switch — controlled/uncontrolled, label, type:default/slim"
|
|
12510
|
+
}
|
|
12511
|
+
]
|
|
12512
|
+
},
|
|
12513
|
+
FilterBar: {
|
|
12514
|
+
origin: "eidotter",
|
|
12515
|
+
consumers: ["lifelines", "rizomorf"],
|
|
12516
|
+
since: "0.7.0",
|
|
12517
|
+
originNote: "Multi-select toggle group for faceted filtering — keyboard nav, showAll, per-item color",
|
|
12518
|
+
variants: {
|
|
12519
|
+
"mode:multi": {
|
|
12520
|
+
description: "Multiple filters selectable simultaneously",
|
|
12521
|
+
since: "0.7.0",
|
|
12522
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12523
|
+
},
|
|
12524
|
+
"mode:single": {
|
|
12525
|
+
description: "Single active filter (radio behavior)",
|
|
12526
|
+
since: "0.7.0"
|
|
12527
|
+
},
|
|
12528
|
+
"size:sm": {
|
|
12529
|
+
description: "Compact filter chips",
|
|
12530
|
+
since: "0.16.0"
|
|
12531
|
+
},
|
|
12532
|
+
"size:md": {
|
|
12533
|
+
description: "Standard filter chips",
|
|
12534
|
+
since: "0.7.0",
|
|
12535
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12536
|
+
},
|
|
12537
|
+
"size:lg": {
|
|
12538
|
+
description: "Large filter chips for touch targets",
|
|
12539
|
+
since: "0.16.0"
|
|
12540
|
+
}
|
|
12541
|
+
},
|
|
12542
|
+
platforms: { react: {
|
|
12543
|
+
path: "src/components/FilterBar",
|
|
12544
|
+
status: "canonical"
|
|
12545
|
+
} },
|
|
12546
|
+
changelog: [
|
|
12547
|
+
{
|
|
12548
|
+
version: "0.16.0",
|
|
12549
|
+
type: "changed",
|
|
12550
|
+
description: "Migrate to Tailwind-first (Wave 3); deprecate size aliases"
|
|
12551
|
+
},
|
|
12552
|
+
{
|
|
12553
|
+
version: "0.13.0",
|
|
12554
|
+
type: "changed",
|
|
12555
|
+
description: "Replace raw <button> with AriaButton for filter chips"
|
|
12556
|
+
},
|
|
12557
|
+
{
|
|
12558
|
+
version: "0.7.0",
|
|
12559
|
+
type: "added",
|
|
12560
|
+
description: "Initial FilterBar — multi/single mode, items array, showAll, keyboard nav"
|
|
12561
|
+
}
|
|
12562
|
+
]
|
|
12563
|
+
},
|
|
12564
|
+
Tag: {
|
|
12565
|
+
origin: "eidotter",
|
|
12566
|
+
consumers: ["lifelines", "rizomorf"],
|
|
12567
|
+
since: "0.7.0",
|
|
12568
|
+
originNote: "Interactive labels for tags, categories, and filter chips",
|
|
12569
|
+
variants: {
|
|
12570
|
+
"variant:default": {
|
|
12571
|
+
description: "Standard tag with subtle background",
|
|
12572
|
+
since: "0.7.0",
|
|
12573
|
+
usedBy: ["rizomorf"]
|
|
12574
|
+
},
|
|
12575
|
+
"variant:outlined": {
|
|
12576
|
+
description: "Border-only tag",
|
|
12577
|
+
since: "0.7.0",
|
|
12578
|
+
usedBy: ["lifelines"]
|
|
12579
|
+
},
|
|
12580
|
+
"variant:filled": {
|
|
12581
|
+
description: "Solid background tag",
|
|
12582
|
+
since: "0.7.0",
|
|
12583
|
+
usedBy: ["rizomorf", "lifelines"]
|
|
12584
|
+
},
|
|
12585
|
+
"size:small": {
|
|
12586
|
+
description: "Compact tag for dense layouts",
|
|
12587
|
+
since: "0.7.0"
|
|
12588
|
+
},
|
|
12589
|
+
"size:medium": {
|
|
12590
|
+
description: "Standard tag size",
|
|
12591
|
+
since: "0.7.0"
|
|
12592
|
+
}
|
|
12593
|
+
},
|
|
12594
|
+
platforms: {
|
|
12595
|
+
react: {
|
|
12596
|
+
path: "src/components/Tag",
|
|
12597
|
+
status: "canonical"
|
|
12598
|
+
},
|
|
12599
|
+
swiftui: { status: "planned" }
|
|
12600
|
+
},
|
|
12601
|
+
changelog: [
|
|
12602
|
+
{
|
|
12603
|
+
version: "0.11.0",
|
|
12604
|
+
type: "changed",
|
|
12605
|
+
description: "Convert font-size to rem tokens for WCAG SC 1.4.4"
|
|
12606
|
+
},
|
|
12607
|
+
{
|
|
12608
|
+
version: "0.8.0",
|
|
12609
|
+
type: "changed",
|
|
12610
|
+
description: "Design-craft animation polish"
|
|
12611
|
+
},
|
|
12612
|
+
{
|
|
12613
|
+
version: "0.7.0",
|
|
12614
|
+
type: "added",
|
|
12615
|
+
description: "Initial Tag and TagGroup components"
|
|
12616
|
+
}
|
|
11723
12617
|
]
|
|
11724
12618
|
},
|
|
11725
12619
|
Tabs: {
|
|
11726
12620
|
origin: "eidotter",
|
|
11727
|
-
consumers: ["steuerdash"]
|
|
12621
|
+
consumers: ["steuerdash"],
|
|
12622
|
+
since: "0.3.0",
|
|
12623
|
+
variants: {
|
|
12624
|
+
"variant:underline": {
|
|
12625
|
+
description: "Underline indicator tab bar (default)",
|
|
12626
|
+
since: "0.3.0",
|
|
12627
|
+
usedBy: ["steuerdash"]
|
|
12628
|
+
},
|
|
12629
|
+
"variant:pills": {
|
|
12630
|
+
description: "Filled pill tabs",
|
|
12631
|
+
since: "0.3.0"
|
|
12632
|
+
},
|
|
12633
|
+
"size:sm": {
|
|
12634
|
+
description: "Compact tabs for dense layouts",
|
|
12635
|
+
since: "0.16.0"
|
|
12636
|
+
},
|
|
12637
|
+
"size:md": {
|
|
12638
|
+
description: "Standard tab height",
|
|
12639
|
+
since: "0.3.0",
|
|
12640
|
+
usedBy: ["steuerdash"]
|
|
12641
|
+
},
|
|
12642
|
+
"size:lg": {
|
|
12643
|
+
description: "Large touch-friendly tabs",
|
|
12644
|
+
since: "0.16.0"
|
|
12645
|
+
}
|
|
12646
|
+
},
|
|
12647
|
+
platforms: {
|
|
12648
|
+
react: {
|
|
12649
|
+
path: "src/components/Tabs",
|
|
12650
|
+
status: "canonical"
|
|
12651
|
+
},
|
|
12652
|
+
swiftui: { status: "planned" }
|
|
12653
|
+
},
|
|
12654
|
+
changelog: [
|
|
12655
|
+
{
|
|
12656
|
+
version: "0.17.0",
|
|
12657
|
+
type: "changed",
|
|
12658
|
+
description: "Migrate to React Aria TabList/Tab/TabPanel (Wave 5)"
|
|
12659
|
+
},
|
|
12660
|
+
{
|
|
12661
|
+
version: "0.16.0",
|
|
12662
|
+
type: "changed",
|
|
12663
|
+
description: "Migrate to Tailwind-first (Wave 3); deprecate size aliases; JS-measured indicator via ResizeObserver"
|
|
12664
|
+
},
|
|
12665
|
+
{
|
|
12666
|
+
version: "0.11.0",
|
|
12667
|
+
type: "changed",
|
|
12668
|
+
description: "Dynamic text scaling — rem tokens for WCAG SC 1.4.4"
|
|
12669
|
+
},
|
|
12670
|
+
{
|
|
12671
|
+
version: "0.9.0",
|
|
12672
|
+
type: "changed",
|
|
12673
|
+
description: "Replace text-primary with cga-amber"
|
|
12674
|
+
},
|
|
12675
|
+
{
|
|
12676
|
+
version: "0.3.0",
|
|
12677
|
+
type: "added",
|
|
12678
|
+
description: "Initial Tabs — tabs array, activeTab, onSelectionChange, animated indicator"
|
|
12679
|
+
}
|
|
12680
|
+
]
|
|
11728
12681
|
},
|
|
11729
12682
|
Terminal: {
|
|
11730
12683
|
origin: "eidotter",
|
|
11731
|
-
consumers: ["rizomorf"]
|
|
12684
|
+
consumers: ["rizomorf"],
|
|
12685
|
+
since: "0.2.0",
|
|
12686
|
+
originNote: "DOS window frame with px-based bitmap font sizing — legacy BEM, not migrated to Tailwind-first",
|
|
12687
|
+
variants: {
|
|
12688
|
+
"size:sm": {
|
|
12689
|
+
description: "Compact 320px window",
|
|
12690
|
+
since: "0.2.0"
|
|
12691
|
+
},
|
|
12692
|
+
"size:md": {
|
|
12693
|
+
description: "Standard 480px window",
|
|
12694
|
+
since: "0.2.0",
|
|
12695
|
+
usedBy: ["rizomorf"]
|
|
12696
|
+
},
|
|
12697
|
+
"size:lg": {
|
|
12698
|
+
description: "Full-width window",
|
|
12699
|
+
since: "0.2.0"
|
|
12700
|
+
},
|
|
12701
|
+
"state:active": {
|
|
12702
|
+
description: "Focused window with amber title bar",
|
|
12703
|
+
since: "0.2.0",
|
|
12704
|
+
usedBy: ["rizomorf"]
|
|
12705
|
+
},
|
|
12706
|
+
"state:inactive": {
|
|
12707
|
+
description: "Unfocused window with dimmed title bar",
|
|
12708
|
+
since: "0.2.0"
|
|
12709
|
+
},
|
|
12710
|
+
"state:minimized": {
|
|
12711
|
+
description: "Collapsed to title bar only",
|
|
12712
|
+
since: "0.2.0"
|
|
12713
|
+
}
|
|
12714
|
+
},
|
|
12715
|
+
platforms: { react: {
|
|
12716
|
+
path: "src/components/Terminal",
|
|
12717
|
+
status: "canonical"
|
|
12718
|
+
} },
|
|
12719
|
+
changelog: [
|
|
12720
|
+
{
|
|
12721
|
+
version: "0.30.0",
|
|
12722
|
+
type: "changed",
|
|
12723
|
+
description: "A11y keyboard focus fixes for window controls"
|
|
12724
|
+
},
|
|
12725
|
+
{
|
|
12726
|
+
version: "0.18.0",
|
|
12727
|
+
type: "changed",
|
|
12728
|
+
description: "Migrate BEM to Tailwind-first; switch to Flexi IBM VGA font"
|
|
12729
|
+
},
|
|
12730
|
+
{
|
|
12731
|
+
version: "0.14.0",
|
|
12732
|
+
type: "changed",
|
|
12733
|
+
description: "Breaking: minimizable/maximizable/closeable default to false — consumers must opt in"
|
|
12734
|
+
},
|
|
12735
|
+
{
|
|
12736
|
+
version: "0.13.0",
|
|
12737
|
+
type: "changed",
|
|
12738
|
+
description: "Replace raw <button> with AriaButton for window controls"
|
|
12739
|
+
},
|
|
12740
|
+
{
|
|
12741
|
+
version: "0.2.0",
|
|
12742
|
+
type: "added",
|
|
12743
|
+
description: "Initial Terminal — title bar, window controls, resizable, autoFocus, size/state variants"
|
|
12744
|
+
}
|
|
12745
|
+
]
|
|
11732
12746
|
},
|
|
11733
12747
|
TimelineNode: {
|
|
11734
12748
|
origin: "lifelines",
|
|
11735
12749
|
consumers: ["lifelines", "rizomorf"],
|
|
11736
|
-
|
|
12750
|
+
since: "0.4.0",
|
|
12751
|
+
originNote: "Timeline markers extracted from Lifelines — sits on the axis line, content-box sizing",
|
|
12752
|
+
variants: {
|
|
12753
|
+
"shape:circle": {
|
|
12754
|
+
description: "Circular node marker (default)",
|
|
12755
|
+
since: "0.4.0",
|
|
12756
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12757
|
+
},
|
|
12758
|
+
"shape:square": {
|
|
12759
|
+
description: "Square node marker",
|
|
12760
|
+
since: "0.4.0"
|
|
12761
|
+
},
|
|
12762
|
+
"shape:diamond": {
|
|
12763
|
+
description: "Diamond (rotated square) node marker",
|
|
12764
|
+
since: "0.4.0"
|
|
12765
|
+
},
|
|
12766
|
+
"variant:default": {
|
|
12767
|
+
description: "Muted amber node",
|
|
12768
|
+
since: "0.4.0",
|
|
12769
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12770
|
+
},
|
|
12771
|
+
"variant:primary": {
|
|
12772
|
+
description: "Full-brightness amber node with phosphor glow",
|
|
12773
|
+
since: "0.4.0",
|
|
12774
|
+
usedBy: ["lifelines"]
|
|
12775
|
+
},
|
|
12776
|
+
"variant:secondary": {
|
|
12777
|
+
description: "Dimmed node for secondary events",
|
|
12778
|
+
since: "0.4.0"
|
|
12779
|
+
},
|
|
12780
|
+
"variant:accent": {
|
|
12781
|
+
description: "CGA accent color node",
|
|
12782
|
+
since: "0.4.0"
|
|
12783
|
+
},
|
|
12784
|
+
"labelPosition:right": {
|
|
12785
|
+
description: "Label to the right of the node (default)",
|
|
12786
|
+
since: "0.4.0",
|
|
12787
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12788
|
+
},
|
|
12789
|
+
"labelPosition:left": {
|
|
12790
|
+
description: "Label to the left of the node",
|
|
12791
|
+
since: "0.4.0"
|
|
12792
|
+
},
|
|
12793
|
+
"labelPosition:top": {
|
|
12794
|
+
description: "Label above the node",
|
|
12795
|
+
since: "0.4.0"
|
|
12796
|
+
},
|
|
12797
|
+
"labelPosition:bottom": {
|
|
12798
|
+
description: "Label below the node",
|
|
12799
|
+
since: "0.4.0"
|
|
12800
|
+
},
|
|
12801
|
+
"size:sm": {
|
|
12802
|
+
description: "Compact 8px node",
|
|
12803
|
+
since: "0.16.0"
|
|
12804
|
+
},
|
|
12805
|
+
"size:md": {
|
|
12806
|
+
description: "Standard 12px node",
|
|
12807
|
+
since: "0.4.0",
|
|
12808
|
+
usedBy: ["lifelines", "rizomorf"]
|
|
12809
|
+
},
|
|
12810
|
+
"size:lg": {
|
|
12811
|
+
description: "Large 16px node for emphasis",
|
|
12812
|
+
since: "0.16.0"
|
|
12813
|
+
}
|
|
12814
|
+
},
|
|
12815
|
+
platforms: { react: {
|
|
12816
|
+
path: "src/components/TimelineNode",
|
|
12817
|
+
status: "canonical"
|
|
12818
|
+
} },
|
|
12819
|
+
changelog: [
|
|
12820
|
+
{
|
|
12821
|
+
version: "0.35.0",
|
|
12822
|
+
type: "changed",
|
|
12823
|
+
description: "Pin marker box-sizing to content-box so dots stay on the axis line (DMNC-1090)"
|
|
12824
|
+
},
|
|
12825
|
+
{
|
|
12826
|
+
version: "0.30.0",
|
|
12827
|
+
type: "changed",
|
|
12828
|
+
description: "A11y: high-contrast glow gap remediation"
|
|
12829
|
+
},
|
|
12830
|
+
{
|
|
12831
|
+
version: "0.18.0",
|
|
12832
|
+
type: "changed",
|
|
12833
|
+
description: "Migrate BEM to Tailwind-first; switch to Flexi IBM VGA font"
|
|
12834
|
+
},
|
|
12835
|
+
{
|
|
12836
|
+
version: "0.4.0",
|
|
12837
|
+
type: "added",
|
|
12838
|
+
description: "Initial TimelineNode — shape, variant, labelPosition, size, isActive, onClick"
|
|
12839
|
+
}
|
|
12840
|
+
]
|
|
11737
12841
|
},
|
|
11738
12842
|
InlineExpand: {
|
|
11739
12843
|
origin: "rizomorf",
|
|
11740
12844
|
consumers: ["rizomorf"],
|
|
11741
|
-
|
|
12845
|
+
since: "0.7.0",
|
|
12846
|
+
originNote: "Inline disclosure widget for expanding context within prose — sources with favicon fallback",
|
|
12847
|
+
platforms: { react: {
|
|
12848
|
+
path: "src/components/InlineExpand",
|
|
12849
|
+
status: "canonical"
|
|
12850
|
+
} },
|
|
12851
|
+
changelog: [
|
|
12852
|
+
{
|
|
12853
|
+
version: "0.30.0",
|
|
12854
|
+
type: "changed",
|
|
12855
|
+
description: "Fix behavioral bugs — double-toggle edge case (DMNC-1063)"
|
|
12856
|
+
},
|
|
12857
|
+
{
|
|
12858
|
+
version: "0.18.0",
|
|
12859
|
+
type: "changed",
|
|
12860
|
+
description: "Migrate BEM to Tailwind-first"
|
|
12861
|
+
},
|
|
12862
|
+
{
|
|
12863
|
+
version: "0.8.0",
|
|
12864
|
+
type: "added",
|
|
12865
|
+
description: "sources prop — citation links with Google Favicons API fallback"
|
|
12866
|
+
},
|
|
12867
|
+
{
|
|
12868
|
+
version: "0.7.0",
|
|
12869
|
+
type: "added",
|
|
12870
|
+
description: "Initial InlineExpand — expanded, defaultExpanded, onToggle, content slot"
|
|
12871
|
+
}
|
|
12872
|
+
]
|
|
11742
12873
|
},
|
|
11743
12874
|
Separator: {
|
|
11744
12875
|
origin: "rizomorf",
|
|
11745
12876
|
consumers: ["rizomorf"],
|
|
11746
|
-
|
|
12877
|
+
since: "0.8.0",
|
|
12878
|
+
originNote: "Horizontal/vertical divider for content separation — ported from rizomorf",
|
|
12879
|
+
variants: {
|
|
12880
|
+
"orientation:horizontal": {
|
|
12881
|
+
description: "Full-width horizontal rule (default)",
|
|
12882
|
+
since: "0.8.0",
|
|
12883
|
+
usedBy: ["rizomorf"]
|
|
12884
|
+
},
|
|
12885
|
+
"orientation:vertical": {
|
|
12886
|
+
description: "Inline vertical divider for flex/grid rows",
|
|
12887
|
+
since: "0.8.0"
|
|
12888
|
+
}
|
|
12889
|
+
},
|
|
12890
|
+
platforms: { react: {
|
|
12891
|
+
path: "src/components/Separator",
|
|
12892
|
+
status: "canonical"
|
|
12893
|
+
} },
|
|
12894
|
+
changelog: [
|
|
12895
|
+
{
|
|
12896
|
+
version: "0.16.0",
|
|
12897
|
+
type: "changed",
|
|
12898
|
+
description: "Migrate to Tailwind-first (Wave 2)"
|
|
12899
|
+
},
|
|
12900
|
+
{
|
|
12901
|
+
version: "0.9.0",
|
|
12902
|
+
type: "changed",
|
|
12903
|
+
description: "Replace text-primary with cga-amber"
|
|
12904
|
+
},
|
|
12905
|
+
{
|
|
12906
|
+
version: "0.8.0",
|
|
12907
|
+
type: "added",
|
|
12908
|
+
description: "Initial Separator — horizontal/vertical orientation, ported from rizomorf"
|
|
12909
|
+
}
|
|
12910
|
+
]
|
|
11747
12911
|
},
|
|
11748
12912
|
TimelineContainer: {
|
|
11749
12913
|
origin: "lifelines",
|
|
11750
12914
|
consumers: ["lifelines"],
|
|
11751
|
-
|
|
12915
|
+
since: "0.8.0",
|
|
12916
|
+
originNote: "Multi-zoom timeline with year/month/day/hour views. Supports interactive, static, feed, and master-detail modes.",
|
|
12917
|
+
variants: {
|
|
12918
|
+
"mode:interactive": {
|
|
12919
|
+
description: "Full drill-down with keyboard shortcuts and Ctrl+scroll zoom",
|
|
12920
|
+
since: "0.8.0",
|
|
12921
|
+
usedBy: ["lifelines"]
|
|
12922
|
+
},
|
|
12923
|
+
"mode:static": {
|
|
12924
|
+
description: "Read-only snapshot — no zoom or selection controls",
|
|
12925
|
+
since: "0.8.0"
|
|
12926
|
+
},
|
|
12927
|
+
"mode:feed": {
|
|
12928
|
+
description: "Paginated vertical list with LOAD MORE — append-safe",
|
|
12929
|
+
since: "0.21.0",
|
|
12930
|
+
usedBy: ["lifelines"]
|
|
12931
|
+
},
|
|
12932
|
+
"mode:master-detail": {
|
|
12933
|
+
description: "Split-pane with list rail + detail panel",
|
|
12934
|
+
since: "0.34.0"
|
|
12935
|
+
},
|
|
12936
|
+
"sortOrder:asc": {
|
|
12937
|
+
description: "Oldest entries first",
|
|
12938
|
+
since: "0.8.0"
|
|
12939
|
+
},
|
|
12940
|
+
"sortOrder:desc": {
|
|
12941
|
+
description: "Newest entries first (default)",
|
|
12942
|
+
since: "0.8.0",
|
|
12943
|
+
usedBy: ["lifelines"]
|
|
12944
|
+
}
|
|
12945
|
+
},
|
|
12946
|
+
platforms: { react: {
|
|
12947
|
+
path: "src/components/TimelineContainer",
|
|
12948
|
+
status: "canonical"
|
|
12949
|
+
} },
|
|
12950
|
+
changelog: [
|
|
12951
|
+
{
|
|
12952
|
+
version: "0.34.0",
|
|
12953
|
+
type: "added",
|
|
12954
|
+
description: "master-detail layout mode — split-pane list rail + detail panel (DMNC-878)"
|
|
12955
|
+
},
|
|
12956
|
+
{
|
|
12957
|
+
version: "0.21.0",
|
|
12958
|
+
type: "added",
|
|
12959
|
+
description: "feed mode — pageSize, onLoadMore, DOS-styled LOAD MORE button"
|
|
12960
|
+
},
|
|
12961
|
+
{
|
|
12962
|
+
version: "0.21.0",
|
|
12963
|
+
type: "added",
|
|
12964
|
+
description: "renderEntry prop — pluggable entry renderer with defaultRender() opt-in"
|
|
12965
|
+
},
|
|
12966
|
+
{
|
|
12967
|
+
version: "0.9.0",
|
|
12968
|
+
type: "changed",
|
|
12969
|
+
description: "Responsive layout with CSS container queries"
|
|
12970
|
+
},
|
|
12971
|
+
{
|
|
12972
|
+
version: "0.8.0",
|
|
12973
|
+
type: "added",
|
|
12974
|
+
description: "Initial TimelineContainer — year/month/day/hour drill-down, migrated from Lifelines"
|
|
12975
|
+
}
|
|
12976
|
+
]
|
|
12977
|
+
},
|
|
12978
|
+
TextScramble: {
|
|
12979
|
+
origin: "eidotter",
|
|
12980
|
+
consumers: [],
|
|
12981
|
+
since: "0.10.0",
|
|
12982
|
+
originNote: "DOS text decode effect — rAF-driven character scramble reveal; used by Stat (scramble prop) and standalone",
|
|
12983
|
+
platforms: { react: {
|
|
12984
|
+
path: "src/components/TextScramble",
|
|
12985
|
+
status: "canonical"
|
|
12986
|
+
} },
|
|
12987
|
+
changelog: [{
|
|
12988
|
+
version: "0.18.0",
|
|
12989
|
+
type: "changed",
|
|
12990
|
+
description: "Migrate BEM to Tailwind-first; adopt cn() and forwardRef"
|
|
12991
|
+
}, {
|
|
12992
|
+
version: "0.10.0",
|
|
12993
|
+
type: "added",
|
|
12994
|
+
description: "Initial TextScramble — children string, speed, characters, delay; rAF-based reveal"
|
|
12995
|
+
}]
|
|
11752
12996
|
},
|
|
11753
12997
|
ChatMessage: {
|
|
11754
12998
|
origin: "eidotter",
|
|
@@ -11824,23 +13068,68 @@ var Xf = ({ title: e, date: t, intro: n, home: r, children: i, className: a, ...
|
|
|
11824
13068
|
type: "added",
|
|
11825
13069
|
description: "Initial CmdPalette — generic items with keywords, mod+k global hotkey, custom renderItem, useId() per-instance DOM ids, selected-clamp on items mutation"
|
|
11826
13070
|
}]
|
|
13071
|
+
},
|
|
13072
|
+
ProgressRing: {
|
|
13073
|
+
origin: "tracker",
|
|
13074
|
+
consumers: ["tracker"],
|
|
13075
|
+
since: "0.37.0",
|
|
13076
|
+
originNote: "16-segment quantized progress ring (SVG). Powers Tracker’s hold-to-complete feedback ring.",
|
|
13077
|
+
platforms: { react: {
|
|
13078
|
+
path: "src/components/ProgressRing",
|
|
13079
|
+
status: "canonical"
|
|
13080
|
+
} },
|
|
13081
|
+
changelog: [{
|
|
13082
|
+
version: "0.37.0",
|
|
13083
|
+
type: "added",
|
|
13084
|
+
description: "Initial ProgressRing — discrete quantized segment arcs, phosphor glow, centre label, currentColor theming"
|
|
13085
|
+
}]
|
|
13086
|
+
},
|
|
13087
|
+
CalendarHeatmap: {
|
|
13088
|
+
origin: "tracker",
|
|
13089
|
+
consumers: ["tracker"],
|
|
13090
|
+
since: "0.37.0",
|
|
13091
|
+
originNote: "Block-character month calendar heatmap (█ ░ · ▒). Domain-agnostic — takes a date→status map, not a domain object.",
|
|
13092
|
+
platforms: { react: {
|
|
13093
|
+
path: "src/components/CalendarHeatmap",
|
|
13094
|
+
status: "canonical"
|
|
13095
|
+
} },
|
|
13096
|
+
changelog: [{
|
|
13097
|
+
version: "0.37.0",
|
|
13098
|
+
type: "added",
|
|
13099
|
+
description: "Initial CalendarHeatmap — UTC date maths, Monday/Sunday week start, legend, successColor override, glyph overrides"
|
|
13100
|
+
}]
|
|
13101
|
+
},
|
|
13102
|
+
HoldToComplete: {
|
|
13103
|
+
origin: "tracker",
|
|
13104
|
+
consumers: ["tracker"],
|
|
13105
|
+
since: "0.37.0",
|
|
13106
|
+
originNote: "Press-and-hold-to-complete interaction with ProgressRing feedback. Pointer + keyboard, reduced-motion aware.",
|
|
13107
|
+
platforms: { react: {
|
|
13108
|
+
path: "src/components/HoldToComplete",
|
|
13109
|
+
status: "canonical"
|
|
13110
|
+
} },
|
|
13111
|
+
changelog: [{
|
|
13112
|
+
version: "0.37.0",
|
|
13113
|
+
type: "added",
|
|
13114
|
+
description: "Initial HoldToComplete — rAF hold animation with accelerating ease, onHoldProgress hook, Enter/Space to complete"
|
|
13115
|
+
}]
|
|
11827
13116
|
}
|
|
11828
13117
|
};
|
|
11829
|
-
function
|
|
11830
|
-
return
|
|
13118
|
+
function kp(e) {
|
|
13119
|
+
return Op[e];
|
|
11831
13120
|
}
|
|
11832
|
-
function
|
|
11833
|
-
return Object.entries(
|
|
13121
|
+
function Ap(e) {
|
|
13122
|
+
return Object.entries(Op).filter(([, t]) => t.origin === e).map(([e]) => e);
|
|
11834
13123
|
}
|
|
11835
|
-
function
|
|
11836
|
-
return Object.entries(
|
|
13124
|
+
function jp(e) {
|
|
13125
|
+
return Object.entries(Op).filter(([, t]) => t.consumers.includes(e)).map(([e]) => e);
|
|
11837
13126
|
}
|
|
11838
|
-
function
|
|
11839
|
-
let n =
|
|
13127
|
+
function Mp(e, t) {
|
|
13128
|
+
let n = Op[e];
|
|
11840
13129
|
return n?.variants ? Object.entries(n.variants).filter(([, e]) => e.usedBy?.includes(t)).map(([e]) => e) : [];
|
|
11841
13130
|
}
|
|
11842
|
-
function
|
|
11843
|
-
let t =
|
|
13131
|
+
function Np(e) {
|
|
13132
|
+
let t = Op[e];
|
|
11844
13133
|
if (!t?.variants) return {};
|
|
11845
13134
|
let n = {};
|
|
11846
13135
|
for (let [e, r] of Object.entries(t.variants)) n[e] = r.usedBy ?? [];
|
|
@@ -11848,6 +13137,6 @@ function _p(e) {
|
|
|
11848
13137
|
}
|
|
11849
13138
|
//#endregion
|
|
11850
13139
|
//#region src/index.ts
|
|
11851
|
-
var
|
|
13140
|
+
var Pp = "0.30.0";
|
|
11852
13141
|
//#endregion
|
|
11853
|
-
export {
|
|
13142
|
+
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 };
|