@orangecheck/design 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chrome.js +380 -223
- package/dist/chrome.js.map +1 -1
- package/dist/chrome.mjs +382 -225
- package/dist/chrome.mjs.map +1 -1
- package/dist/components.js +380 -223
- package/dist/components.js.map +1 -1
- package/dist/components.mjs +382 -225
- package/dist/components.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +369 -277
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +370 -279
- package/dist/index.mjs.map +1 -1
- package/dist/styles/theme.css +31 -0
- package/dist/tokens.d.mts +4 -1
- package/dist/tokens.d.ts +4 -1
- package/dist/tokens.js +58 -54
- package/dist/tokens.js.map +1 -1
- package/dist/tokens.mjs +58 -55
- package/dist/tokens.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -339,17 +339,68 @@ var MODES = [
|
|
|
339
339
|
{ id: "dark", label: "dark", Icon: lucideReact.Moon },
|
|
340
340
|
{ id: "system", label: "system", Icon: lucideReact.Monitor }
|
|
341
341
|
];
|
|
342
|
+
function AppearanceControls({ className }) {
|
|
343
|
+
const { skin, setSkin, themes } = useOcSkin();
|
|
344
|
+
const { theme, setTheme } = nextThemes.useTheme();
|
|
345
|
+
const [mounted, setMounted] = React2.useState(false);
|
|
346
|
+
React2.useEffect(() => setMounted(true), []);
|
|
347
|
+
const activeMode = mounted ? theme ?? "system" : null;
|
|
348
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, children: [
|
|
349
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "label-mono text-muted-foreground px-3 pt-3 pb-2", children: "mode" }),
|
|
350
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-1 px-2 pb-2", children: MODES.map(({ id, label, Icon: Icon2 }) => {
|
|
351
|
+
const active = activeMode === id;
|
|
352
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
353
|
+
"button",
|
|
354
|
+
{
|
|
355
|
+
type: "button",
|
|
356
|
+
role: "menuitemradio",
|
|
357
|
+
"aria-checked": active,
|
|
358
|
+
onClick: () => setTheme(id),
|
|
359
|
+
className: cn(
|
|
360
|
+
"flex flex-col items-center gap-1 rounded-md border py-2 text-[11px] transition-colors",
|
|
361
|
+
active ? "border-primary text-foreground bg-accent" : "border-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground"
|
|
362
|
+
),
|
|
363
|
+
children: [
|
|
364
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon2, { className: "size-4", "aria-hidden": true }),
|
|
365
|
+
label
|
|
366
|
+
]
|
|
367
|
+
},
|
|
368
|
+
id
|
|
369
|
+
);
|
|
370
|
+
}) }),
|
|
371
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "label-mono text-muted-foreground border-t px-3 pt-3 pb-1", children: "theme" }),
|
|
372
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "pb-1", children: themes.map((t) => {
|
|
373
|
+
const active = t.id === skin;
|
|
374
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
375
|
+
"button",
|
|
376
|
+
{
|
|
377
|
+
type: "button",
|
|
378
|
+
role: "menuitemradio",
|
|
379
|
+
"aria-checked": active,
|
|
380
|
+
onClick: () => setSkin(t.id),
|
|
381
|
+
className: cn(
|
|
382
|
+
"hover:bg-accent hover:text-accent-foreground flex w-full items-start gap-2 px-3 py-2 text-left transition-colors",
|
|
383
|
+
active && "text-foreground"
|
|
384
|
+
),
|
|
385
|
+
children: [
|
|
386
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-0.5 size-4 shrink-0", children: active && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "text-primary size-4", "aria-hidden": true }) }),
|
|
387
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0", children: [
|
|
388
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-sm font-medium", children: t.label }),
|
|
389
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground block text-xs leading-snug", children: t.description })
|
|
390
|
+
] })
|
|
391
|
+
]
|
|
392
|
+
}
|
|
393
|
+
) }, t.id);
|
|
394
|
+
}) })
|
|
395
|
+
] });
|
|
396
|
+
}
|
|
342
397
|
function OcAppearanceMenu({
|
|
343
398
|
className,
|
|
344
399
|
triggerClassName,
|
|
345
400
|
popoverClassName
|
|
346
401
|
}) {
|
|
347
|
-
const { skin, setSkin, themes } = useOcSkin();
|
|
348
|
-
const { theme, setTheme } = nextThemes.useTheme();
|
|
349
402
|
const [open, setOpen] = React2.useState(false);
|
|
350
|
-
const [mounted, setMounted] = React2.useState(false);
|
|
351
403
|
const rootRef = React2.useRef(null);
|
|
352
|
-
React2.useEffect(() => setMounted(true), []);
|
|
353
404
|
React2.useEffect(() => {
|
|
354
405
|
if (!open) return;
|
|
355
406
|
function onDown(e) {
|
|
@@ -365,7 +416,6 @@ function OcAppearanceMenu({
|
|
|
365
416
|
document.removeEventListener("keydown", onKey);
|
|
366
417
|
};
|
|
367
418
|
}, [open]);
|
|
368
|
-
const activeMode = mounted ? theme ?? "system" : null;
|
|
369
419
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: rootRef, className: cn("relative", className), children: [
|
|
370
420
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
371
421
|
"button",
|
|
@@ -383,7 +433,7 @@ function OcAppearanceMenu({
|
|
|
383
433
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Palette, { className: "size-4", "aria-hidden": true })
|
|
384
434
|
}
|
|
385
435
|
),
|
|
386
|
-
open && /* @__PURE__ */ jsxRuntime.
|
|
436
|
+
open && /* @__PURE__ */ jsxRuntime.jsx(
|
|
387
437
|
"div",
|
|
388
438
|
{
|
|
389
439
|
role: "menu",
|
|
@@ -391,54 +441,7 @@ function OcAppearanceMenu({
|
|
|
391
441
|
"bg-popover text-popover-foreground absolute right-0 z-50 mt-2 w-64 overflow-hidden rounded-md border shadow-md",
|
|
392
442
|
popoverClassName
|
|
393
443
|
),
|
|
394
|
-
children:
|
|
395
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "label-mono text-muted-foreground px-3 pt-3 pb-2", children: "mode" }),
|
|
396
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-1 px-2 pb-2", children: MODES.map(({ id, label, Icon: Icon2 }) => {
|
|
397
|
-
const active = activeMode === id;
|
|
398
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
399
|
-
"button",
|
|
400
|
-
{
|
|
401
|
-
type: "button",
|
|
402
|
-
role: "menuitemradio",
|
|
403
|
-
"aria-checked": active,
|
|
404
|
-
onClick: () => setTheme(id),
|
|
405
|
-
className: cn(
|
|
406
|
-
"flex flex-col items-center gap-1 rounded-md border py-2 text-[11px] transition-colors",
|
|
407
|
-
active ? "border-primary text-foreground bg-accent" : "border-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground"
|
|
408
|
-
),
|
|
409
|
-
children: [
|
|
410
|
-
/* @__PURE__ */ jsxRuntime.jsx(Icon2, { className: "size-4", "aria-hidden": true }),
|
|
411
|
-
label
|
|
412
|
-
]
|
|
413
|
-
},
|
|
414
|
-
id
|
|
415
|
-
);
|
|
416
|
-
}) }),
|
|
417
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "label-mono text-muted-foreground border-t px-3 pt-3 pb-1", children: "theme" }),
|
|
418
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "pb-1", children: themes.map((t) => {
|
|
419
|
-
const active = t.id === skin;
|
|
420
|
-
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
421
|
-
"button",
|
|
422
|
-
{
|
|
423
|
-
type: "button",
|
|
424
|
-
role: "menuitemradio",
|
|
425
|
-
"aria-checked": active,
|
|
426
|
-
onClick: () => setSkin(t.id),
|
|
427
|
-
className: cn(
|
|
428
|
-
"hover:bg-accent hover:text-accent-foreground flex w-full items-start gap-2 px-3 py-2 text-left transition-colors",
|
|
429
|
-
active && "text-foreground"
|
|
430
|
-
),
|
|
431
|
-
children: [
|
|
432
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-0.5 size-4 shrink-0", children: active && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "text-primary size-4", "aria-hidden": true }) }),
|
|
433
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0", children: [
|
|
434
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-sm font-medium", children: t.label }),
|
|
435
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground block text-xs leading-snug", children: t.description })
|
|
436
|
-
] })
|
|
437
|
-
]
|
|
438
|
-
}
|
|
439
|
-
) }, t.id);
|
|
440
|
-
}) })
|
|
441
|
-
]
|
|
444
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(AppearanceControls, {})
|
|
442
445
|
}
|
|
443
446
|
)
|
|
444
447
|
] });
|
|
@@ -3369,6 +3372,92 @@ function OcAccountMenu(props) {
|
|
|
3369
3372
|
}
|
|
3370
3373
|
);
|
|
3371
3374
|
}
|
|
3375
|
+
function MobileMenu({
|
|
3376
|
+
primary,
|
|
3377
|
+
secondary
|
|
3378
|
+
}) {
|
|
3379
|
+
const [open, setOpen] = React2.useState(false);
|
|
3380
|
+
const ref = React2.useRef(null);
|
|
3381
|
+
React2.useEffect(() => {
|
|
3382
|
+
if (!open) return;
|
|
3383
|
+
const onClick = (e) => {
|
|
3384
|
+
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
3385
|
+
};
|
|
3386
|
+
const onKey = (e) => {
|
|
3387
|
+
if (e.key === "Escape") setOpen(false);
|
|
3388
|
+
};
|
|
3389
|
+
document.addEventListener("mousedown", onClick);
|
|
3390
|
+
document.addEventListener("keydown", onKey);
|
|
3391
|
+
return () => {
|
|
3392
|
+
document.removeEventListener("mousedown", onClick);
|
|
3393
|
+
document.removeEventListener("keydown", onKey);
|
|
3394
|
+
};
|
|
3395
|
+
}, [open]);
|
|
3396
|
+
const links = [...primary ?? [], ...secondary ?? []];
|
|
3397
|
+
const rowCls = "font-display flex items-center gap-2 px-3 py-2 text-[12px] font-semibold tracking-wider uppercase text-muted-foreground hover:text-foreground hover:bg-accent transition-colors";
|
|
3398
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: "relative md:hidden", "data-oc-account-mobile-menu": "", children: [
|
|
3399
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3400
|
+
"button",
|
|
3401
|
+
{
|
|
3402
|
+
type: "button",
|
|
3403
|
+
onClick: () => setOpen((v) => !v),
|
|
3404
|
+
"aria-haspopup": "menu",
|
|
3405
|
+
"aria-expanded": open,
|
|
3406
|
+
"aria-label": "menu",
|
|
3407
|
+
className: "border-input bg-background hover:bg-accent text-muted-foreground inline-flex size-8 items-center justify-center rounded-md border transition-colors",
|
|
3408
|
+
"data-oc-account-mobile-toggle": "",
|
|
3409
|
+
children: open ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4", "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { className: "size-4", "aria-hidden": true })
|
|
3410
|
+
}
|
|
3411
|
+
),
|
|
3412
|
+
open && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3413
|
+
"div",
|
|
3414
|
+
{
|
|
3415
|
+
role: "menu",
|
|
3416
|
+
"aria-label": "menu",
|
|
3417
|
+
className: "border-border bg-popover text-popover-foreground absolute top-[calc(100%+6px)] right-0 z-50 w-[min(16rem,calc(100vw-1rem))] overflow-hidden border shadow-xl",
|
|
3418
|
+
"data-oc-account-mobile-popover": "",
|
|
3419
|
+
children: [
|
|
3420
|
+
links.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b p-1", children: [
|
|
3421
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground/60 px-3 pt-2 pb-1 font-mono text-[10px] tracking-widest uppercase", children: "\xA7 navigate" }),
|
|
3422
|
+
links.map(
|
|
3423
|
+
(l) => l.external ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3424
|
+
"a",
|
|
3425
|
+
{
|
|
3426
|
+
href: l.href,
|
|
3427
|
+
target: "_blank",
|
|
3428
|
+
rel: "noreferrer",
|
|
3429
|
+
role: "menuitem",
|
|
3430
|
+
onClick: () => setOpen(false),
|
|
3431
|
+
className: rowCls,
|
|
3432
|
+
children: [
|
|
3433
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3434
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: l.label }),
|
|
3435
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/70 text-[10px]", "aria-hidden": true, children: "\u2197" })
|
|
3436
|
+
]
|
|
3437
|
+
},
|
|
3438
|
+
l.href
|
|
3439
|
+
) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3440
|
+
Link6__default.default,
|
|
3441
|
+
{
|
|
3442
|
+
href: l.href,
|
|
3443
|
+
role: "menuitem",
|
|
3444
|
+
onClick: () => setOpen(false),
|
|
3445
|
+
className: rowCls,
|
|
3446
|
+
children: [
|
|
3447
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3448
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: l.label })
|
|
3449
|
+
]
|
|
3450
|
+
},
|
|
3451
|
+
l.href
|
|
3452
|
+
)
|
|
3453
|
+
)
|
|
3454
|
+
] }),
|
|
3455
|
+
/* @__PURE__ */ jsxRuntime.jsx(AppearanceControls, {})
|
|
3456
|
+
]
|
|
3457
|
+
}
|
|
3458
|
+
)
|
|
3459
|
+
] });
|
|
3460
|
+
}
|
|
3372
3461
|
function OcAccountMenuView({
|
|
3373
3462
|
current,
|
|
3374
3463
|
signInUrl = "/signin",
|
|
@@ -3441,220 +3530,220 @@ function OcAccountMenuView({
|
|
|
3441
3530
|
children: signInLabel
|
|
3442
3531
|
}
|
|
3443
3532
|
);
|
|
3533
|
+
const hasNav = (primaryNavLinks?.length ?? 0) + (secondaryNavLinks?.length ?? 0) > 0;
|
|
3534
|
+
const wrap = (identity) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-1", className), "data-oc-account-menu": "", children: [
|
|
3535
|
+
hasNav ? /* @__PURE__ */ jsxRuntime.jsx(MobileMenu, { primary: primaryNavLinks, secondary: secondaryNavLinks }) : null,
|
|
3536
|
+
identity
|
|
3537
|
+
] });
|
|
3444
3538
|
if (!hydrated || status === "loading") {
|
|
3445
|
-
return signInTrigger;
|
|
3539
|
+
return wrap(signInTrigger);
|
|
3446
3540
|
}
|
|
3447
3541
|
if (status !== "authenticated" || !account) {
|
|
3448
|
-
return signInTrigger;
|
|
3542
|
+
return wrap(signInTrigger);
|
|
3449
3543
|
}
|
|
3450
3544
|
const displayName = account.displayName ?? null;
|
|
3451
3545
|
const label = displayName ?? obscureIdentity(account.displayIdentity.value);
|
|
3452
|
-
return
|
|
3453
|
-
"div",
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
"
|
|
3461
|
-
{
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
"aria-
|
|
3466
|
-
"
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
"
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
"
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
"
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3546
|
+
return wrap(
|
|
3547
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { ref: wrapRef, className: "relative inline-block", children: [
|
|
3548
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3549
|
+
"button",
|
|
3550
|
+
{
|
|
3551
|
+
type: "button",
|
|
3552
|
+
onClick: () => setOpen((v) => !v),
|
|
3553
|
+
"aria-haspopup": "menu",
|
|
3554
|
+
"aria-expanded": open,
|
|
3555
|
+
"aria-label": `Signed in as ${account.didOc}. Open account menu.`,
|
|
3556
|
+
className: triggerClassName ?? "border-primary/40 bg-card hover:bg-accent inline-flex h-8 items-center gap-1.5 rounded-md border px-2 font-mono text-[11px] tracking-wide transition-colors sm:px-3",
|
|
3557
|
+
"data-oc-account-menu-trigger": "",
|
|
3558
|
+
children: [
|
|
3559
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-primary inline-block size-1.5 shrink-0 rounded-full", "aria-hidden": true }),
|
|
3560
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground hidden max-w-[16ch] truncate sm:inline", children: label }),
|
|
3561
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3562
|
+
"svg",
|
|
3563
|
+
{
|
|
3564
|
+
width: "9",
|
|
3565
|
+
height: "9",
|
|
3566
|
+
viewBox: "0 0 10 10",
|
|
3567
|
+
"aria-hidden": true,
|
|
3568
|
+
className: "opacity-60 transition-transform " + (open ? "rotate-180" : "rotate-0"),
|
|
3569
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3570
|
+
"path",
|
|
3571
|
+
{
|
|
3572
|
+
d: "M2 4 L5 7 L8 4",
|
|
3573
|
+
stroke: "currentColor",
|
|
3574
|
+
strokeWidth: "1.5",
|
|
3575
|
+
fill: "none",
|
|
3576
|
+
strokeLinecap: "round"
|
|
3577
|
+
}
|
|
3578
|
+
)
|
|
3579
|
+
}
|
|
3580
|
+
)
|
|
3581
|
+
]
|
|
3582
|
+
}
|
|
3583
|
+
),
|
|
3584
|
+
open && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3585
|
+
"div",
|
|
3586
|
+
{
|
|
3587
|
+
role: "menu",
|
|
3588
|
+
"aria-label": "Account menu",
|
|
3589
|
+
className: popoverClassName ?? "border-border bg-popover text-popover-foreground absolute top-[calc(100%+6px)] right-0 z-50 w-[min(20rem,calc(100vw-1rem))] border shadow-xl",
|
|
3590
|
+
"data-oc-account-menu-popover": "",
|
|
3591
|
+
children: [
|
|
3592
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-border border-b p-3", children: [
|
|
3593
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-primary mb-1 font-mono text-[10px] tracking-widest uppercase", children: [
|
|
3594
|
+
"\xA7 signed in \xB7 ",
|
|
3595
|
+
hostname,
|
|
3596
|
+
tabPinned ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3597
|
+
"span",
|
|
3598
|
+
{
|
|
3599
|
+
className: "text-muted-foreground/70 normal-case",
|
|
3600
|
+
"data-oc-account-menu-tab-pin": "",
|
|
3601
|
+
title: "This tab keeps this account even if you switch accounts in another tab",
|
|
3602
|
+
children: [
|
|
3603
|
+
" ",
|
|
3604
|
+
"\xB7 this tab"
|
|
3605
|
+
]
|
|
3606
|
+
}
|
|
3607
|
+
) : null
|
|
3608
|
+
] }),
|
|
3609
|
+
/* @__PURE__ */ jsxRuntime.jsx(CopyableDid, { did: account.didOc }),
|
|
3610
|
+
displayName ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground/80 mt-1 font-mono text-[10px] tracking-wide", children: displayName }) : null
|
|
3611
|
+
] }),
|
|
3612
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3613
|
+
IdentityPromoteSection,
|
|
3614
|
+
{
|
|
3615
|
+
didOc: account.didOc,
|
|
3616
|
+
nostrNpub: account.nostrNpub ?? null,
|
|
3617
|
+
current: account.displayIdentity,
|
|
3618
|
+
open,
|
|
3619
|
+
setDisplayIdentity
|
|
3620
|
+
}
|
|
3621
|
+
),
|
|
3622
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3623
|
+
AccountsSection,
|
|
3624
|
+
{
|
|
3625
|
+
roster: roster ?? [],
|
|
3626
|
+
switchAccount,
|
|
3627
|
+
addAccountUrl,
|
|
3628
|
+
signOut,
|
|
3629
|
+
onActionStart: () => setOpen(false)
|
|
3630
|
+
}
|
|
3631
|
+
),
|
|
3632
|
+
primaryNavLinks && primaryNavLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3633
|
+
PopoverSection,
|
|
3634
|
+
{
|
|
3635
|
+
label: "navigate",
|
|
3636
|
+
items: primaryNavLinks,
|
|
3637
|
+
onItemClick: () => setOpen(false),
|
|
3638
|
+
className: "hidden md:block"
|
|
3639
|
+
}
|
|
3640
|
+
) : null,
|
|
3641
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-1", "data-oc-account-menu-section": "account", children: [
|
|
3642
|
+
menuItems?.map((item) => {
|
|
3643
|
+
const onClick = () => setOpen(false);
|
|
3644
|
+
const cls = "hover:bg-accent flex items-center gap-2 px-3 py-2 font-mono text-[11px] tracking-wide transition-colors";
|
|
3645
|
+
const inner = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3646
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3647
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: item.label }),
|
|
3648
|
+
item.external ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3508
3649
|
"span",
|
|
3509
3650
|
{
|
|
3510
|
-
className: "text-muted-foreground/70
|
|
3511
|
-
"
|
|
3512
|
-
|
|
3513
|
-
children: [
|
|
3514
|
-
" ",
|
|
3515
|
-
"\xB7 this tab"
|
|
3516
|
-
]
|
|
3651
|
+
className: "text-muted-foreground/70 text-[10px]",
|
|
3652
|
+
"aria-hidden": true,
|
|
3653
|
+
children: "\u2197"
|
|
3517
3654
|
}
|
|
3518
3655
|
) : null
|
|
3519
|
-
] })
|
|
3520
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3521
|
-
displayName ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground/80 mt-1 font-mono text-[10px] tracking-wide", children: displayName }) : null
|
|
3522
|
-
] }),
|
|
3523
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3524
|
-
IdentityPromoteSection,
|
|
3525
|
-
{
|
|
3526
|
-
didOc: account.didOc,
|
|
3527
|
-
nostrNpub: account.nostrNpub ?? null,
|
|
3528
|
-
current: account.displayIdentity,
|
|
3529
|
-
open,
|
|
3530
|
-
setDisplayIdentity
|
|
3531
|
-
}
|
|
3532
|
-
),
|
|
3533
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3534
|
-
AccountsSection,
|
|
3535
|
-
{
|
|
3536
|
-
roster: roster ?? [],
|
|
3537
|
-
switchAccount,
|
|
3538
|
-
addAccountUrl,
|
|
3539
|
-
signOut,
|
|
3540
|
-
onActionStart: () => setOpen(false)
|
|
3541
|
-
}
|
|
3542
|
-
),
|
|
3543
|
-
primaryNavLinks && primaryNavLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3544
|
-
PopoverSection,
|
|
3545
|
-
{
|
|
3546
|
-
label: "navigate",
|
|
3547
|
-
items: primaryNavLinks,
|
|
3548
|
-
onItemClick: () => setOpen(false)
|
|
3549
|
-
}
|
|
3550
|
-
) : null,
|
|
3551
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-1", "data-oc-account-menu-section": "account", children: [
|
|
3552
|
-
primaryNavLinks && primaryNavLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground/60 px-3 pb-1 pt-2 font-mono text-[10px] tracking-widest uppercase", children: "\xA7 account" }) : null,
|
|
3553
|
-
menuItems?.map((item) => {
|
|
3554
|
-
const onClick = () => setOpen(false);
|
|
3555
|
-
const cls = "hover:bg-accent flex items-center gap-2 px-3 py-2 font-mono text-[11px] tracking-wide transition-colors";
|
|
3556
|
-
const inner = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3557
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3558
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: item.label }),
|
|
3559
|
-
item.external ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3560
|
-
"span",
|
|
3561
|
-
{
|
|
3562
|
-
className: "text-muted-foreground/70 text-[10px]",
|
|
3563
|
-
"aria-hidden": true,
|
|
3564
|
-
children: "\u2197"
|
|
3565
|
-
}
|
|
3566
|
-
) : null
|
|
3567
|
-
] });
|
|
3568
|
-
return item.external ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3569
|
-
"a",
|
|
3570
|
-
{
|
|
3571
|
-
href: item.href,
|
|
3572
|
-
target: "_blank",
|
|
3573
|
-
rel: "noreferrer",
|
|
3574
|
-
onClick,
|
|
3575
|
-
role: "menuitem",
|
|
3576
|
-
className: cls,
|
|
3577
|
-
"data-oc-account-menu-item": "",
|
|
3578
|
-
children: inner
|
|
3579
|
-
},
|
|
3580
|
-
item.href
|
|
3581
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
3582
|
-
Link6__default.default,
|
|
3583
|
-
{
|
|
3584
|
-
href: item.href,
|
|
3585
|
-
onClick,
|
|
3586
|
-
role: "menuitem",
|
|
3587
|
-
className: cls,
|
|
3588
|
-
"data-oc-account-menu-item": "",
|
|
3589
|
-
children: inner
|
|
3590
|
-
},
|
|
3591
|
-
item.href
|
|
3592
|
-
);
|
|
3593
|
-
}),
|
|
3594
|
-
familyDashboardEnabled ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3656
|
+
] });
|
|
3657
|
+
return item.external ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3595
3658
|
"a",
|
|
3596
3659
|
{
|
|
3597
|
-
href:
|
|
3660
|
+
href: item.href,
|
|
3598
3661
|
target: "_blank",
|
|
3599
3662
|
rel: "noreferrer",
|
|
3600
|
-
onClick
|
|
3663
|
+
onClick,
|
|
3601
3664
|
role: "menuitem",
|
|
3602
|
-
className:
|
|
3665
|
+
className: cls,
|
|
3603
3666
|
"data-oc-account-menu-item": "",
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
"span",
|
|
3610
|
-
{
|
|
3611
|
-
className: "text-muted-foreground/70 text-[10px]",
|
|
3612
|
-
"aria-hidden": true,
|
|
3613
|
-
children: "\u2197"
|
|
3614
|
-
}
|
|
3615
|
-
)
|
|
3616
|
-
]
|
|
3617
|
-
}
|
|
3618
|
-
) : null,
|
|
3619
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3620
|
-
"button",
|
|
3667
|
+
children: inner
|
|
3668
|
+
},
|
|
3669
|
+
item.href
|
|
3670
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
3671
|
+
Link6__default.default,
|
|
3621
3672
|
{
|
|
3622
|
-
|
|
3673
|
+
href: item.href,
|
|
3674
|
+
onClick,
|
|
3623
3675
|
role: "menuitem",
|
|
3624
|
-
|
|
3625
|
-
setOpen(false);
|
|
3626
|
-
void (async () => {
|
|
3627
|
-
await signOut();
|
|
3628
|
-
if (typeof window !== "undefined") {
|
|
3629
|
-
window.location.assign(signOutRedirect);
|
|
3630
|
-
}
|
|
3631
|
-
})();
|
|
3632
|
-
},
|
|
3633
|
-
className: "hover:bg-accent flex w-full items-center gap-2 px-3 py-2 text-left font-mono text-[11px] tracking-wide transition-colors",
|
|
3676
|
+
className: cls,
|
|
3634
3677
|
"data-oc-account-menu-item": "",
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
] }),
|
|
3643
|
-
secondaryNavLinks && secondaryNavLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3644
|
-
PopoverSection,
|
|
3678
|
+
children: inner
|
|
3679
|
+
},
|
|
3680
|
+
item.href
|
|
3681
|
+
);
|
|
3682
|
+
}),
|
|
3683
|
+
familyDashboardEnabled ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3684
|
+
"a",
|
|
3645
3685
|
{
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3686
|
+
href: "https://ochk.io/dashboard",
|
|
3687
|
+
target: "_blank",
|
|
3688
|
+
rel: "noreferrer",
|
|
3689
|
+
onClick: () => setOpen(false),
|
|
3690
|
+
role: "menuitem",
|
|
3691
|
+
className: "hover:bg-accent flex items-center gap-2 px-3 py-2 font-mono text-[11px] tracking-wide transition-colors",
|
|
3692
|
+
"data-oc-account-menu-item": "",
|
|
3693
|
+
"data-oc-account-menu-family-dashboard": "",
|
|
3694
|
+
children: [
|
|
3695
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3696
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: "family dashboard" }),
|
|
3697
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3698
|
+
"span",
|
|
3699
|
+
{
|
|
3700
|
+
className: "text-muted-foreground/70 text-[10px]",
|
|
3701
|
+
"aria-hidden": true,
|
|
3702
|
+
children: "\u2197"
|
|
3703
|
+
}
|
|
3704
|
+
)
|
|
3705
|
+
]
|
|
3650
3706
|
}
|
|
3651
3707
|
) : null,
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3708
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3709
|
+
"button",
|
|
3710
|
+
{
|
|
3711
|
+
type: "button",
|
|
3712
|
+
role: "menuitem",
|
|
3713
|
+
onClick: () => {
|
|
3714
|
+
setOpen(false);
|
|
3715
|
+
void (async () => {
|
|
3716
|
+
await signOut();
|
|
3717
|
+
if (typeof window !== "undefined") {
|
|
3718
|
+
window.location.assign(signOutRedirect);
|
|
3719
|
+
}
|
|
3720
|
+
})();
|
|
3721
|
+
},
|
|
3722
|
+
className: "hover:bg-accent flex w-full items-center gap-2 px-3 py-2 text-left font-mono text-[11px] tracking-wide transition-colors",
|
|
3723
|
+
"data-oc-account-menu-item": "",
|
|
3724
|
+
"data-oc-account-menu-signout": "",
|
|
3725
|
+
children: [
|
|
3726
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3727
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: "sign out" })
|
|
3728
|
+
]
|
|
3729
|
+
}
|
|
3730
|
+
)
|
|
3731
|
+
] }),
|
|
3732
|
+
secondaryNavLinks && secondaryNavLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3733
|
+
PopoverSection,
|
|
3734
|
+
{
|
|
3735
|
+
label: "more",
|
|
3736
|
+
items: secondaryNavLinks,
|
|
3737
|
+
onItemClick: () => setOpen(false),
|
|
3738
|
+
bordered: true,
|
|
3739
|
+
className: "hidden md:block"
|
|
3740
|
+
}
|
|
3741
|
+
) : null,
|
|
3742
|
+
build ? /* @__PURE__ */ jsxRuntime.jsx(BuildFooter, { hostname, build, state: siteState }) : null
|
|
3743
|
+
]
|
|
3744
|
+
}
|
|
3745
|
+
)
|
|
3746
|
+
] })
|
|
3658
3747
|
);
|
|
3659
3748
|
}
|
|
3660
3749
|
function AccountsSection({
|
|
@@ -3767,33 +3856,22 @@ function PopoverSection({
|
|
|
3767
3856
|
label,
|
|
3768
3857
|
items,
|
|
3769
3858
|
onItemClick,
|
|
3770
|
-
bordered
|
|
3859
|
+
bordered,
|
|
3860
|
+
className
|
|
3771
3861
|
}) {
|
|
3772
3862
|
const cls = "hover:bg-accent flex items-center gap-2 px-3 py-2 font-mono text-[11px] tracking-wide transition-colors";
|
|
3773
3863
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3774
3864
|
"div",
|
|
3775
3865
|
{
|
|
3776
|
-
className: "p-1
|
|
3866
|
+
className: cn("p-1", bordered && "border-border border-t", className),
|
|
3777
3867
|
"data-oc-account-menu-section": label,
|
|
3778
3868
|
children: [
|
|
3779
3869
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-muted-foreground/60 px-3 pt-2 pb-1 font-mono text-[10px] tracking-widest uppercase", children: [
|
|
3780
3870
|
"\xA7 ",
|
|
3781
3871
|
label
|
|
3782
3872
|
] }),
|
|
3783
|
-
items.map(
|
|
3784
|
-
|
|
3785
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3786
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: item.label }),
|
|
3787
|
-
item.external ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3788
|
-
"span",
|
|
3789
|
-
{
|
|
3790
|
-
className: "text-muted-foreground/70 text-[10px]",
|
|
3791
|
-
"aria-hidden": true,
|
|
3792
|
-
children: "\u2197"
|
|
3793
|
-
}
|
|
3794
|
-
) : null
|
|
3795
|
-
] });
|
|
3796
|
-
return item.external ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3873
|
+
items.map(
|
|
3874
|
+
(item) => item.external ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3797
3875
|
"a",
|
|
3798
3876
|
{
|
|
3799
3877
|
href: item.href,
|
|
@@ -3803,10 +3881,14 @@ function PopoverSection({
|
|
|
3803
3881
|
role: "menuitem",
|
|
3804
3882
|
className: cls,
|
|
3805
3883
|
"data-oc-account-menu-item": "",
|
|
3806
|
-
children:
|
|
3884
|
+
children: [
|
|
3885
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3886
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: item.label }),
|
|
3887
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/70 text-[10px]", "aria-hidden": true, children: "\u2197" })
|
|
3888
|
+
]
|
|
3807
3889
|
},
|
|
3808
3890
|
item.href
|
|
3809
|
-
) : /* @__PURE__ */ jsxRuntime.
|
|
3891
|
+
) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3810
3892
|
Link6__default.default,
|
|
3811
3893
|
{
|
|
3812
3894
|
href: item.href,
|
|
@@ -3814,11 +3896,14 @@ function PopoverSection({
|
|
|
3814
3896
|
role: "menuitem",
|
|
3815
3897
|
className: cls,
|
|
3816
3898
|
"data-oc-account-menu-item": "",
|
|
3817
|
-
children:
|
|
3899
|
+
children: [
|
|
3900
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "\u2192" }),
|
|
3901
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: item.label })
|
|
3902
|
+
]
|
|
3818
3903
|
},
|
|
3819
3904
|
item.href
|
|
3820
|
-
)
|
|
3821
|
-
|
|
3905
|
+
)
|
|
3906
|
+
)
|
|
3822
3907
|
]
|
|
3823
3908
|
}
|
|
3824
3909
|
);
|
|
@@ -3879,11 +3964,11 @@ function OcPrimaryNav({
|
|
|
3879
3964
|
"nav",
|
|
3880
3965
|
{
|
|
3881
3966
|
"aria-label": "primary",
|
|
3882
|
-
className: "
|
|
3967
|
+
className: "hidden items-center gap-0.5 sm:gap-1 md:flex " + (className ?? ""),
|
|
3883
3968
|
"data-oc-primary-nav": "",
|
|
3884
3969
|
children: links.map((link) => {
|
|
3885
3970
|
const active = isActive(activePath, link);
|
|
3886
|
-
const
|
|
3971
|
+
const cls = "font-display shrink-0 px-2 py-1 sm:px-3 text-[11px] sm:text-[12px] font-semibold tracking-wider uppercase transition-colors " + (active ? "text-primary" : "text-muted-foreground hover:text-foreground");
|
|
3887
3972
|
const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3888
3973
|
link.label,
|
|
3889
3974
|
link.external ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3901,7 +3986,7 @@ function OcPrimaryNav({
|
|
|
3901
3986
|
href: link.href,
|
|
3902
3987
|
target: "_blank",
|
|
3903
3988
|
rel: "noreferrer",
|
|
3904
|
-
className:
|
|
3989
|
+
className: cls,
|
|
3905
3990
|
"data-oc-primary-nav-item": "",
|
|
3906
3991
|
children: content
|
|
3907
3992
|
},
|
|
@@ -3911,7 +3996,7 @@ function OcPrimaryNav({
|
|
|
3911
3996
|
{
|
|
3912
3997
|
href: link.href,
|
|
3913
3998
|
"aria-current": active ? "page" : void 0,
|
|
3914
|
-
className:
|
|
3999
|
+
className: cls,
|
|
3915
4000
|
"data-oc-primary-nav-item": active ? "active" : "sibling",
|
|
3916
4001
|
children: content
|
|
3917
4002
|
},
|
|
@@ -4214,13 +4299,19 @@ function LayoutSubHeader({
|
|
|
4214
4299
|
noHeartbeat = false,
|
|
4215
4300
|
className
|
|
4216
4301
|
}) {
|
|
4217
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("border-b", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container flex
|
|
4218
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-
|
|
4219
|
-
!noHeartbeat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4220
|
-
|
|
4221
|
-
|
|
4302
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("oc-substrip border-b", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container flex items-center justify-between gap-x-6 py-2 font-mono text-[11px]", children: [
|
|
4303
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [
|
|
4304
|
+
!noHeartbeat && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4305
|
+
"span",
|
|
4306
|
+
{
|
|
4307
|
+
className: "bg-primary inline-block size-1.5 shrink-0 animate-pulse rounded-full ring-2 ring-[color-mix(in_oklch,var(--primary),transparent_78%)]",
|
|
4308
|
+
"aria-hidden": true
|
|
4309
|
+
}
|
|
4310
|
+
),
|
|
4311
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground hidden tracking-widest whitespace-nowrap uppercase sm:inline", children: status }),
|
|
4312
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground truncate", children: product })
|
|
4222
4313
|
] }),
|
|
4223
|
-
tags.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground
|
|
4314
|
+
tags.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground/55 hidden shrink-0 items-center gap-x-3 tracking-wider whitespace-nowrap uppercase sm:flex", children: tags.map((tag, i) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: tag.hideBelow ? HIDE[tag.hideBelow] : void 0, children: tag.label }, i)) })
|
|
4224
4315
|
] }) });
|
|
4225
4316
|
}
|
|
4226
4317
|
function OcAppBar({
|
|
@@ -4267,6 +4358,7 @@ exports.AlertTitle = AlertTitle;
|
|
|
4267
4358
|
exports.AlertWithAction = AlertWithAction;
|
|
4268
4359
|
exports.AlertWithCountdown = AlertWithCountdown;
|
|
4269
4360
|
exports.AppShell = AppShell;
|
|
4361
|
+
exports.AppearanceControls = AppearanceControls;
|
|
4270
4362
|
exports.Badge = Badge;
|
|
4271
4363
|
exports.Bar = Bar;
|
|
4272
4364
|
exports.BitcoinAddress = BitcoinAddress;
|