@orangecheck/design 0.8.0 → 0.9.1
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 +254 -59
- package/dist/chrome.js.map +1 -1
- package/dist/chrome.mjs +205 -29
- package/dist/chrome.mjs.map +1 -1
- package/dist/components.js +231 -56
- package/dist/components.js.map +1 -1
- package/dist/components.mjs +200 -25
- 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 +208 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +208 -30
- package/dist/index.mjs.map +1 -1
- package/dist/primitives.d.mts +18 -2
- package/dist/primitives.d.ts +18 -2
- package/dist/primitives.js +144 -4
- package/dist/primitives.js.map +1 -1
- package/dist/primitives.mjs +144 -5
- package/dist/primitives.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { DEFAULT_OC_THEME, OC_DEFAULT_ACCENT, OC_SKIN_COOKIE, OC_THEMES, OcAppearanceMenu, OcAppearanceMenuProps, OcAurora, OcAuroraProps, OcTheme, OcThemeBridge, OcThemeId, OcThemePicker, OcThemePickerProps, OcThemeProvider, OcThemeProviderProps, accentFor, cn, getOcThemeInitScript, isKnownTheme, resolveTheme, useOcSkin } from './tokens.mjs';
|
|
2
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, AlertWithActionProps, AlertWithCountdown, AlertWithCountdownProps, Badge, Bar, BarProps, BitcoinAddress, BitcoinAddressProps, Button, Card, CardProps, Checkbox, ConfirmHost, ConfirmOptions, CopyButton, CopyButtonProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Input, Label, Modal, ModalProps, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, PromptOptions, QrCode, QrCodeProps, RadioGroup, RadioGroupItem, SatsAmount, SatsAmountProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, SkeletonProps, Sparkline, SparklineProps, StatBlock, StatBlockProps, StatusPill, StatusPillProps, StatusPillSpec, StatusPillVariant, StatusTone, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Working, WorkingPanel, WorkingProps, badgeVariants, buttonVariants, confirm, makeStatusPill, prompt } from './primitives.mjs';
|
|
2
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, AlertWithActionProps, AlertWithCountdown, AlertWithCountdownProps, Badge, Bar, BarProps, BitcoinAddress, BitcoinAddressProps, Button, Card, CardProps, Checkbox, ConfirmHost, ConfirmOptions, CopyButton, CopyButtonProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Input, Label, Modal, ModalProps, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, PromptOptions, QrCode, QrCodeProps, RadioGroup, RadioGroupItem, SatsAmount, SatsAmountProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, SkeletonProps, Sparkline, SparklineProps, StatBlock, StatBlockProps, StatusPill, StatusPillProps, StatusPillSpec, StatusPillVariant, StatusTone, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Tooltip, TooltipProps, Working, WorkingPanel, WorkingProps, badgeVariants, buttonVariants, confirm, makeStatusPill, prompt } from './primitives.mjs';
|
|
3
3
|
export { Callout, CalloutProps, CalloutTone, DataRow, DataRowProps, DefinitionItem, DefinitionList, DefinitionListProps, EmptyState, EmptyStateCta, EmptyStateProps, HelpHint, HelpHintProps, SectionHeader, SectionHeaderProps, StatCard, StatCardProps, StatGrid, StatGridProps, StatItem, StatTile } from './composites.mjs';
|
|
4
4
|
export { AppShell, AppShellProps, EcosystemSlug, EcosystemSwitcher, EcosystemSwitcherProps, FAMILY_PROPERTIES, FamilyCategory, FamilyProperty, LayoutSubHeader, LayoutSubHeaderProps, LayoutSubHeaderTag, OcAccountMenu, OcAccountMenuBuildInfo, OcAccountMenuItem, OcAccountMenuProps, OcAccountMenuSession, OcAccountMenuView, OcAccountMenuViewProps, OcDashboardHub, OcDashboardHubProps, OcDashboardShell, OcDashboardShellProps, OcDashboardTool, OcLogoDropdown, OcLogoDropdownProps, OcPrimaryNav, OcPrimaryNavLink, OcPrimaryNavProps, SITE_STATE_LABEL, SiteState, findFamilyProperty } from './chrome.mjs';
|
|
5
5
|
export { ExplorerNetwork, ExplorerTarget, REFERENCE_BTC_USD, SpotPrice, UseSpotPriceOptions, asOf, explorerUrl, formatSats, formatSatsCompact, priceBoth, relativeTime, satsToUsd, shortenAddress, usdToSats, useSpotPrice } from './format.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { DEFAULT_OC_THEME, OC_DEFAULT_ACCENT, OC_SKIN_COOKIE, OC_THEMES, OcAppearanceMenu, OcAppearanceMenuProps, OcAurora, OcAuroraProps, OcTheme, OcThemeBridge, OcThemeId, OcThemePicker, OcThemePickerProps, OcThemeProvider, OcThemeProviderProps, accentFor, cn, getOcThemeInitScript, isKnownTheme, resolveTheme, useOcSkin } from './tokens.js';
|
|
2
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, AlertWithActionProps, AlertWithCountdown, AlertWithCountdownProps, Badge, Bar, BarProps, BitcoinAddress, BitcoinAddressProps, Button, Card, CardProps, Checkbox, ConfirmHost, ConfirmOptions, CopyButton, CopyButtonProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Input, Label, Modal, ModalProps, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, PromptOptions, QrCode, QrCodeProps, RadioGroup, RadioGroupItem, SatsAmount, SatsAmountProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, SkeletonProps, Sparkline, SparklineProps, StatBlock, StatBlockProps, StatusPill, StatusPillProps, StatusPillSpec, StatusPillVariant, StatusTone, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Working, WorkingPanel, WorkingProps, badgeVariants, buttonVariants, confirm, makeStatusPill, prompt } from './primitives.js';
|
|
2
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, AlertWithActionProps, AlertWithCountdown, AlertWithCountdownProps, Badge, Bar, BarProps, BitcoinAddress, BitcoinAddressProps, Button, Card, CardProps, Checkbox, ConfirmHost, ConfirmOptions, CopyButton, CopyButtonProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Input, Label, Modal, ModalProps, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, PromptOptions, QrCode, QrCodeProps, RadioGroup, RadioGroupItem, SatsAmount, SatsAmountProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, SkeletonProps, Sparkline, SparklineProps, StatBlock, StatBlockProps, StatusPill, StatusPillProps, StatusPillSpec, StatusPillVariant, StatusTone, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Tooltip, TooltipProps, Working, WorkingPanel, WorkingProps, badgeVariants, buttonVariants, confirm, makeStatusPill, prompt } from './primitives.js';
|
|
3
3
|
export { Callout, CalloutProps, CalloutTone, DataRow, DataRowProps, DefinitionItem, DefinitionList, DefinitionListProps, EmptyState, EmptyStateCta, EmptyStateProps, HelpHint, HelpHintProps, SectionHeader, SectionHeaderProps, StatCard, StatCardProps, StatGrid, StatGridProps, StatItem, StatTile } from './composites.js';
|
|
4
4
|
export { AppShell, AppShellProps, EcosystemSlug, EcosystemSwitcher, EcosystemSwitcherProps, FAMILY_PROPERTIES, FamilyCategory, FamilyProperty, LayoutSubHeader, LayoutSubHeaderProps, LayoutSubHeaderTag, OcAccountMenu, OcAccountMenuBuildInfo, OcAccountMenuItem, OcAccountMenuProps, OcAccountMenuSession, OcAccountMenuView, OcAccountMenuViewProps, OcDashboardHub, OcDashboardHubProps, OcDashboardShell, OcDashboardShellProps, OcDashboardTool, OcLogoDropdown, OcLogoDropdownProps, OcPrimaryNav, OcPrimaryNavLink, OcPrimaryNavProps, SITE_STATE_LABEL, SiteState, findFamilyProperty } from './chrome.js';
|
|
5
5
|
export { ExplorerNetwork, ExplorerTarget, REFERENCE_BTC_USD, SpotPrice, UseSpotPriceOptions, asOf, explorerUrl, formatSats, formatSatsCompact, priceBoth, relativeTime, satsToUsd, shortenAddress, usdToSats, useSpotPrice } from './format.js';
|
package/dist/index.js
CHANGED
|
@@ -1469,6 +1469,141 @@ function PopoverContent({
|
|
|
1469
1469
|
function PopoverAnchor({ ...props }) {
|
|
1470
1470
|
return /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
1471
1471
|
}
|
|
1472
|
+
var TOOLTIP_SURFACE_CLASS = "bg-popover text-popover-foreground border-border rounded-md border p-2.5 shadow-md";
|
|
1473
|
+
var TOOLTIP_MOTION_CLASS = "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-1 data-[side=top]:slide-in-from-bottom-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 origin-(--radix-popover-content-transform-origin) duration-150 ease-out";
|
|
1474
|
+
function compose(theirs, ours) {
|
|
1475
|
+
return (e) => {
|
|
1476
|
+
theirs?.(e);
|
|
1477
|
+
ours(e);
|
|
1478
|
+
};
|
|
1479
|
+
}
|
|
1480
|
+
var lastInputWasKeyboard = false;
|
|
1481
|
+
var modalityInstalled = false;
|
|
1482
|
+
function installModalityTracking() {
|
|
1483
|
+
if (modalityInstalled || typeof window === "undefined") return;
|
|
1484
|
+
modalityInstalled = true;
|
|
1485
|
+
window.addEventListener("keydown", () => lastInputWasKeyboard = true, true);
|
|
1486
|
+
window.addEventListener("pointerdown", () => lastInputWasKeyboard = false, true);
|
|
1487
|
+
}
|
|
1488
|
+
function Tooltip({
|
|
1489
|
+
content,
|
|
1490
|
+
children,
|
|
1491
|
+
side = "bottom",
|
|
1492
|
+
align = "start",
|
|
1493
|
+
sideOffset = 8,
|
|
1494
|
+
collisionPadding = 12,
|
|
1495
|
+
openDelay = 300,
|
|
1496
|
+
closeDelay = 90,
|
|
1497
|
+
disabled = false,
|
|
1498
|
+
portal = true,
|
|
1499
|
+
zIndexClassName = "z-50",
|
|
1500
|
+
contentClassName
|
|
1501
|
+
}) {
|
|
1502
|
+
const [hovering, setHovering] = React2__namespace.useState(false);
|
|
1503
|
+
const [focusing, setFocusing] = React2__namespace.useState(false);
|
|
1504
|
+
const [isFinePointer, setIsFinePointer] = React2__namespace.useState(false);
|
|
1505
|
+
const openTimer = React2__namespace.useRef(null);
|
|
1506
|
+
const closeTimer = React2__namespace.useRef(null);
|
|
1507
|
+
React2__namespace.useEffect(() => {
|
|
1508
|
+
installModalityTracking();
|
|
1509
|
+
const mq = window.matchMedia("(hover: hover) and (pointer: fine)");
|
|
1510
|
+
const apply = () => setIsFinePointer(mq.matches);
|
|
1511
|
+
apply();
|
|
1512
|
+
mq.addEventListener("change", apply);
|
|
1513
|
+
return () => mq.removeEventListener("change", apply);
|
|
1514
|
+
}, []);
|
|
1515
|
+
const clearTimers = React2__namespace.useCallback(() => {
|
|
1516
|
+
if (openTimer.current) clearTimeout(openTimer.current);
|
|
1517
|
+
if (closeTimer.current) clearTimeout(closeTimer.current);
|
|
1518
|
+
}, []);
|
|
1519
|
+
React2__namespace.useEffect(() => clearTimers, [clearTimers]);
|
|
1520
|
+
React2__namespace.useEffect(() => {
|
|
1521
|
+
if (disabled) {
|
|
1522
|
+
clearTimers();
|
|
1523
|
+
setHovering(false);
|
|
1524
|
+
}
|
|
1525
|
+
}, [disabled, clearTimers]);
|
|
1526
|
+
const handlePointerEnter = () => {
|
|
1527
|
+
if (!isFinePointer) return;
|
|
1528
|
+
if (closeTimer.current) clearTimeout(closeTimer.current);
|
|
1529
|
+
openTimer.current = setTimeout(() => setHovering(true), openDelay);
|
|
1530
|
+
};
|
|
1531
|
+
const handlePointerLeave = () => {
|
|
1532
|
+
if (openTimer.current) clearTimeout(openTimer.current);
|
|
1533
|
+
closeTimer.current = setTimeout(() => setHovering(false), closeDelay);
|
|
1534
|
+
};
|
|
1535
|
+
const handlePointerDown = () => {
|
|
1536
|
+
clearTimers();
|
|
1537
|
+
setHovering(false);
|
|
1538
|
+
setFocusing(false);
|
|
1539
|
+
};
|
|
1540
|
+
const handleFocus = () => {
|
|
1541
|
+
if (lastInputWasKeyboard) {
|
|
1542
|
+
clearTimers();
|
|
1543
|
+
setFocusing(true);
|
|
1544
|
+
}
|
|
1545
|
+
};
|
|
1546
|
+
const handleBlur = () => {
|
|
1547
|
+
clearTimers();
|
|
1548
|
+
setFocusing(false);
|
|
1549
|
+
};
|
|
1550
|
+
const handleKeyDown = (e) => {
|
|
1551
|
+
if (e.key === "Escape") {
|
|
1552
|
+
clearTimers();
|
|
1553
|
+
setHovering(false);
|
|
1554
|
+
setFocusing(false);
|
|
1555
|
+
}
|
|
1556
|
+
};
|
|
1557
|
+
const effectiveOpen = !disabled && (isFinePointer && hovering || focusing);
|
|
1558
|
+
const extra = {};
|
|
1559
|
+
const childProps = children.props;
|
|
1560
|
+
extra.onPointerEnter = compose(childProps.onPointerEnter, handlePointerEnter);
|
|
1561
|
+
extra.onPointerLeave = compose(childProps.onPointerLeave, handlePointerLeave);
|
|
1562
|
+
extra.onPointerDown = compose(childProps.onPointerDown, handlePointerDown);
|
|
1563
|
+
extra.onFocus = compose(childProps.onFocus, handleFocus);
|
|
1564
|
+
extra.onBlur = compose(childProps.onBlur, handleBlur);
|
|
1565
|
+
extra.onKeyDown = compose(childProps.onKeyDown, handleKeyDown);
|
|
1566
|
+
const trigger = React2__namespace.cloneElement(children, extra);
|
|
1567
|
+
const contentEl = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1568
|
+
PopoverPrimitive__namespace.Content,
|
|
1569
|
+
{
|
|
1570
|
+
side,
|
|
1571
|
+
align,
|
|
1572
|
+
sideOffset,
|
|
1573
|
+
collisionPadding,
|
|
1574
|
+
"aria-hidden": true,
|
|
1575
|
+
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
1576
|
+
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
1577
|
+
onFocusOutside: (e) => e.preventDefault(),
|
|
1578
|
+
className: cn(
|
|
1579
|
+
TOOLTIP_SURFACE_CLASS,
|
|
1580
|
+
TOOLTIP_MOTION_CLASS,
|
|
1581
|
+
"pointer-events-none",
|
|
1582
|
+
zIndexClassName,
|
|
1583
|
+
contentClassName
|
|
1584
|
+
),
|
|
1585
|
+
children: content
|
|
1586
|
+
}
|
|
1587
|
+
);
|
|
1588
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1589
|
+
PopoverPrimitive__namespace.Root,
|
|
1590
|
+
{
|
|
1591
|
+
open: effectiveOpen,
|
|
1592
|
+
onOpenChange: (o) => {
|
|
1593
|
+
if (!o) {
|
|
1594
|
+
clearTimers();
|
|
1595
|
+
setHovering(false);
|
|
1596
|
+
setFocusing(false);
|
|
1597
|
+
}
|
|
1598
|
+
},
|
|
1599
|
+
modal: false,
|
|
1600
|
+
children: [
|
|
1601
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Anchor, { asChild: true, children: trigger }),
|
|
1602
|
+
portal ? /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: contentEl }) : contentEl
|
|
1603
|
+
]
|
|
1604
|
+
}
|
|
1605
|
+
);
|
|
1606
|
+
}
|
|
1472
1607
|
var Accordion = AccordionPrimitive__namespace.Root;
|
|
1473
1608
|
var AccordionItem = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Item, { ref, className: cn("border-b", className), ...props }));
|
|
1474
1609
|
AccordionItem.displayName = "AccordionItem";
|
|
@@ -1694,20 +1829,24 @@ function Card({
|
|
|
1694
1829
|
"section",
|
|
1695
1830
|
{
|
|
1696
1831
|
id,
|
|
1697
|
-
className: cn(
|
|
1832
|
+
className: cn(
|
|
1833
|
+
"terminal flex flex-col rounded-sm border scroll-mt-16",
|
|
1834
|
+
toneClass,
|
|
1835
|
+
className
|
|
1836
|
+
),
|
|
1698
1837
|
children: [
|
|
1699
1838
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "terminal-title flex items-center justify-between gap-3", children: [
|
|
1700
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1839
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
1701
1840
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "terminal-dot", "aria-hidden": true }),
|
|
1702
1841
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "terminal-dot opacity-70", "aria-hidden": true }),
|
|
1703
1842
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "terminal-dot opacity-50", "aria-hidden": true }),
|
|
1704
1843
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 truncate", children: title }),
|
|
1705
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground/70 ml-1 truncate text-[10px] tracking-normal normal-case", children: [
|
|
1844
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground/70 ml-1 min-w-0 truncate text-[10px] tracking-normal normal-case", children: [
|
|
1706
1845
|
"\xB7 ",
|
|
1707
1846
|
subtitle
|
|
1708
1847
|
] })
|
|
1709
1848
|
] }),
|
|
1710
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1849
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
|
|
1711
1850
|
refreshedAt && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/60 hidden text-[10px] tracking-normal normal-case sm:inline", children: refreshedAt }),
|
|
1712
1851
|
actions,
|
|
1713
1852
|
expandable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2719,6 +2858,31 @@ function MenuCategoryChip({ category }) {
|
|
|
2719
2858
|
}
|
|
2720
2859
|
);
|
|
2721
2860
|
}
|
|
2861
|
+
function SwitcherTooltipCard({ current }) {
|
|
2862
|
+
const prop = findFamilyProperty(current);
|
|
2863
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-[13rem] max-w-[calc(100vw-1.5rem)]", children: [
|
|
2864
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col leading-tight", children: [
|
|
2865
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex flex-wrap items-baseline gap-x-1.5", children: [
|
|
2866
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground font-mono text-[9px] tracking-widest uppercase", children: "you\u2019re on" }),
|
|
2867
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary font-display text-[12px] font-semibold tracking-tight", children: prop?.label ?? "orangecheck family" })
|
|
2868
|
+
] }),
|
|
2869
|
+
prop?.sub && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground mt-0.5 font-mono text-[10px] tracking-wide", children: prop.sub })
|
|
2870
|
+
] }),
|
|
2871
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-border -mx-2.5 my-2 border-t" }),
|
|
2872
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
2873
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { "aria-hidden": true, className: "text-muted-foreground h-3 w-3 shrink-0" }),
|
|
2874
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary font-mono text-[10px] font-medium tracking-widest uppercase", children: "click" }),
|
|
2875
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground font-mono text-[10px]", children: "\xB7" }),
|
|
2876
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground font-mono text-[10px] tracking-wide", children: "switch site" })
|
|
2877
|
+
] }),
|
|
2878
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1.5 flex items-center gap-1.5", children: [
|
|
2879
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CornerDownLeft, { "aria-hidden": true, className: "text-muted-foreground h-3 w-3 shrink-0" }),
|
|
2880
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary font-mono text-[10px] font-medium tracking-widest uppercase", children: "double-click" }),
|
|
2881
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground font-mono text-[10px]", children: "\xB7" }),
|
|
2882
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground font-mono text-[10px] tracking-wide", children: "home" })
|
|
2883
|
+
] })
|
|
2884
|
+
] });
|
|
2885
|
+
}
|
|
2722
2886
|
function OcLogoDropdown({
|
|
2723
2887
|
current,
|
|
2724
2888
|
homeHref = "/",
|
|
@@ -2768,31 +2932,45 @@ function OcLogoDropdown({
|
|
|
2768
2932
|
"data-oc-current-category": currentCategory,
|
|
2769
2933
|
"data-oc-site-state": siteState,
|
|
2770
2934
|
children: [
|
|
2771
|
-
/* @__PURE__ */ jsxRuntime.
|
|
2772
|
-
|
|
2935
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2936
|
+
Tooltip,
|
|
2773
2937
|
{
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
"
|
|
2777
|
-
"
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
"
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2938
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(SwitcherTooltipCard, { current }),
|
|
2939
|
+
disabled: open,
|
|
2940
|
+
side: "bottom",
|
|
2941
|
+
align: "start",
|
|
2942
|
+
sideOffset: 8,
|
|
2943
|
+
zIndexClassName: "z-[70]",
|
|
2944
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2945
|
+
"button",
|
|
2946
|
+
{
|
|
2947
|
+
type: "button",
|
|
2948
|
+
"aria-haspopup": "menu",
|
|
2949
|
+
"aria-expanded": open,
|
|
2950
|
+
"aria-controls": menuId,
|
|
2951
|
+
"aria-label": "orangecheck family menu",
|
|
2952
|
+
onClick: handleTriggerClick,
|
|
2953
|
+
className: cn(
|
|
2954
|
+
// focus indicator is guaranteed even if a consumer overrides triggerClassName
|
|
2955
|
+
"focus-visible:ring-primary/60 rounded-sm focus-visible:ring-2 focus-visible:outline-none",
|
|
2956
|
+
triggerClassName ?? "group hover:bg-accent/30 -mx-1.5 -my-1 flex min-h-[40px] items-center gap-2 rounded-sm px-1.5 py-1 transition-colors " + (open ? "bg-accent/20" : "")
|
|
2957
|
+
),
|
|
2958
|
+
"data-oc-logo-dropdown-trigger": "",
|
|
2959
|
+
"data-oc-logo-dropdown-open": open ? "true" : "false",
|
|
2960
|
+
children: [
|
|
2961
|
+
children,
|
|
2962
|
+
/* @__PURE__ */ jsxRuntime.jsx(CategoryChip, { category: currentCategory }),
|
|
2963
|
+
/* @__PURE__ */ jsxRuntime.jsx(SiteStateBadge, { state: siteState }),
|
|
2964
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2965
|
+
lucideReact.ChevronDown,
|
|
2966
|
+
{
|
|
2967
|
+
"aria-hidden": true,
|
|
2968
|
+
className: "text-muted-foreground/70 group-hover:text-foreground/80 h-3.5 w-3.5 shrink-0 transition-transform duration-200 " + (open ? "rotate-180" : "")
|
|
2969
|
+
}
|
|
2970
|
+
)
|
|
2971
|
+
]
|
|
2972
|
+
}
|
|
2973
|
+
)
|
|
2796
2974
|
}
|
|
2797
2975
|
),
|
|
2798
2976
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2821,7 +2999,7 @@ function OcLogoDropdown({
|
|
|
2821
2999
|
{
|
|
2822
3000
|
id: menuId,
|
|
2823
3001
|
role: "menu",
|
|
2824
|
-
"aria-label": "
|
|
3002
|
+
"aria-label": "orangecheck family",
|
|
2825
3003
|
className: popoverClassName ?? "bg-background absolute top-full left-0 z-[60] mt-2 w-[min(20rem,calc(100vw-1rem))] border shadow-lg",
|
|
2826
3004
|
"data-oc-logo-dropdown-popover": "",
|
|
2827
3005
|
children: [
|
|
@@ -4082,6 +4260,7 @@ exports.Textarea = Textarea;
|
|
|
4082
4260
|
exports.ThemeToggle = ThemeToggle;
|
|
4083
4261
|
exports.ThemeToggleLink = ThemeToggleLink;
|
|
4084
4262
|
exports.Toaster = Toaster;
|
|
4263
|
+
exports.Tooltip = Tooltip;
|
|
4085
4264
|
exports.Working = Working;
|
|
4086
4265
|
exports.WorkingPanel = WorkingPanel;
|
|
4087
4266
|
exports.accentFor = accentFor;
|