@orangecheck/design 0.7.5 → 0.8.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/format.d.mts +12 -1
- package/dist/format.d.ts +12 -1
- package/dist/format.js +48 -0
- package/dist/format.js.map +1 -1
- package/dist/format.mjs +47 -1
- package/dist/format.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +59 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +57 -3
- package/dist/index.mjs.map +1 -1
- package/dist/primitives.d.mts +3 -3
- package/dist/primitives.d.ts +3 -3
- package/dist/primitives.js.map +1 -1
- package/dist/primitives.mjs.map +1 -1
- package/dist/styles/aurora.css +224 -0
- package/dist/styles.css +1 -0
- package/dist/tokens.d.mts +11 -2
- package/dist/tokens.d.ts +11 -2
- package/dist/tokens.js +15 -2
- package/dist/tokens.js.map +1 -1
- package/dist/tokens.mjs +15 -3
- package/dist/tokens.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -67,6 +67,11 @@ function resolveTheme(id) {
|
|
|
67
67
|
return isKnownTheme(id) ? id : DEFAULT_OC_THEME;
|
|
68
68
|
}
|
|
69
69
|
var OC_SKIN_COOKIE = "oc_skin";
|
|
70
|
+
var BLOBS = [1, 2, 3, 4, 5];
|
|
71
|
+
function OcAurora({ intensity, className }) {
|
|
72
|
+
const style = intensity == null ? void 0 : { "--oc-aurora-intensity": String(intensity) };
|
|
73
|
+
return /* @__PURE__ */ jsx("div", { className: cn("oc-aurora", className), style, "aria-hidden": "true", children: BLOBS.map((n) => /* @__PURE__ */ jsx("div", { className: `oc-aurora__blob oc-aurora__blob-${n}` }, n)) });
|
|
74
|
+
}
|
|
70
75
|
var ONE_YEAR = 60 * 60 * 24 * 365;
|
|
71
76
|
var ATTR = "data-oc-theme";
|
|
72
77
|
function readSkinCookie() {
|
|
@@ -110,7 +115,11 @@ function applySkinChrome(skin) {
|
|
|
110
115
|
if (meta) meta.setAttribute("content", accentFor(skin));
|
|
111
116
|
}
|
|
112
117
|
var OcSkinContext = createContext(null);
|
|
113
|
-
function OcThemeProvider({
|
|
118
|
+
function OcThemeProvider({
|
|
119
|
+
children,
|
|
120
|
+
defaultSkin = DEFAULT_OC_THEME,
|
|
121
|
+
aurora = true
|
|
122
|
+
}) {
|
|
114
123
|
const [skin, setSkinState] = useState(() => resolveTheme(defaultSkin));
|
|
115
124
|
const hydratedRef = useRef(false);
|
|
116
125
|
useEffect(() => {
|
|
@@ -148,7 +157,10 @@ function OcThemeProvider({ children, defaultSkin = DEFAULT_OC_THEME }) {
|
|
|
148
157
|
() => ({ skin, setSkin, themes: OC_THEMES }),
|
|
149
158
|
[skin, setSkin]
|
|
150
159
|
);
|
|
151
|
-
return /* @__PURE__ */
|
|
160
|
+
return /* @__PURE__ */ jsxs(OcSkinContext.Provider, { value, children: [
|
|
161
|
+
aurora !== false && /* @__PURE__ */ jsx(OcAurora, { intensity: typeof aurora === "object" ? aurora.intensity : void 0 }),
|
|
162
|
+
children
|
|
163
|
+
] });
|
|
152
164
|
}
|
|
153
165
|
function useOcSkin() {
|
|
154
166
|
const ctx = useContext(OcSkinContext);
|
|
@@ -1904,6 +1916,38 @@ function TabsContent({ className, ...props }) {
|
|
|
1904
1916
|
}
|
|
1905
1917
|
);
|
|
1906
1918
|
}
|
|
1919
|
+
function useSpotPrice(opts = {}) {
|
|
1920
|
+
const { endpoint = "/api/price/btc-usd", intervalMs = 6e4 } = opts;
|
|
1921
|
+
const [state, setState] = useState({
|
|
1922
|
+
btcUsd: REFERENCE_BTC_USD,
|
|
1923
|
+
fetchedAt: null
|
|
1924
|
+
});
|
|
1925
|
+
useEffect(() => {
|
|
1926
|
+
let cancelled = false;
|
|
1927
|
+
async function pull() {
|
|
1928
|
+
try {
|
|
1929
|
+
const res = await fetch(endpoint);
|
|
1930
|
+
if (!res.ok) return;
|
|
1931
|
+
const json = await res.json();
|
|
1932
|
+
if (cancelled) return;
|
|
1933
|
+
if (typeof json.btc_usd === "number" && json.btc_usd > 0) {
|
|
1934
|
+
setState({
|
|
1935
|
+
btcUsd: Math.round(json.btc_usd),
|
|
1936
|
+
fetchedAt: json.fetched_at ?? null
|
|
1937
|
+
});
|
|
1938
|
+
}
|
|
1939
|
+
} catch {
|
|
1940
|
+
}
|
|
1941
|
+
}
|
|
1942
|
+
void pull();
|
|
1943
|
+
const t = setInterval(pull, intervalMs);
|
|
1944
|
+
return () => {
|
|
1945
|
+
cancelled = true;
|
|
1946
|
+
clearInterval(t);
|
|
1947
|
+
};
|
|
1948
|
+
}, [endpoint, intervalMs]);
|
|
1949
|
+
return state;
|
|
1950
|
+
}
|
|
1907
1951
|
|
|
1908
1952
|
// src/format/index.ts
|
|
1909
1953
|
var REFERENCE_BTC_USD = 95e3;
|
|
@@ -1933,6 +1977,16 @@ function usdToSats(usd, btcUsd = REFERENCE_BTC_USD) {
|
|
|
1933
1977
|
function priceBoth(sats, btcUsd = REFERENCE_BTC_USD) {
|
|
1934
1978
|
return `${formatSats(sats)} sats \xB7 ${satsToUsd(sats, btcUsd)}`;
|
|
1935
1979
|
}
|
|
1980
|
+
function asOf(iso) {
|
|
1981
|
+
if (!iso) return null;
|
|
1982
|
+
const t = new Date(iso);
|
|
1983
|
+
if (Number.isNaN(t.getTime())) return null;
|
|
1984
|
+
return `as of ${t.toLocaleTimeString(void 0, {
|
|
1985
|
+
hour: "2-digit",
|
|
1986
|
+
minute: "2-digit",
|
|
1987
|
+
hour12: false
|
|
1988
|
+
})}`;
|
|
1989
|
+
}
|
|
1936
1990
|
function relativeTime(when) {
|
|
1937
1991
|
const t = when instanceof Date ? when.getTime() : new Date(when).getTime();
|
|
1938
1992
|
if (Number.isNaN(t)) return "";
|
|
@@ -3888,6 +3942,6 @@ function LayoutSubHeader({
|
|
|
3888
3942
|
] }) });
|
|
3889
3943
|
}
|
|
3890
3944
|
|
|
3891
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, AlertWithCountdown, AppShell, Badge, Bar, BitcoinAddress, Button, Callout, Card, Checkbox, ConfirmHost, CopyButton, DEFAULT_OC_THEME, DataRow, DefinitionList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, EcosystemSwitcher, EmptyState, ErrorBoundary, FAMILY_PROPERTIES, HelpHint, Input, Label, LayoutSubHeader, Modal, OC_DEFAULT_ACCENT, OC_SKIN_COOKIE, OC_THEMES, OcAccountMenu, OcAccountMenuView, OcAppearanceMenu, OcDashboardHub, OcDashboardShell, OcLogoDropdown, OcPrimaryNav, OcThemeBridge, OcThemePicker, OcThemeProvider, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, QrCode, REFERENCE_BTC_USD, RadioGroup, RadioGroupItem, SITE_STATE_LABEL, SatsAmount, SectionHeader, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Sparkline, StatBlock, StatCard, StatGrid, StatTile, StatusPill, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Working, WorkingPanel, accentFor, badgeVariants, buttonVariants, cn, confirm, explorerUrl, findFamilyProperty, formatSats, formatSatsCompact, getOcThemeInitScript, isKnownTheme, makeStatusPill, priceBoth, prompt, relativeTime, resolveTheme, satsToUsd, shortenAddress, usdToSats, useOcSkin };
|
|
3945
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, AlertWithCountdown, AppShell, Badge, Bar, BitcoinAddress, Button, Callout, Card, Checkbox, ConfirmHost, CopyButton, DEFAULT_OC_THEME, DataRow, DefinitionList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, EcosystemSwitcher, EmptyState, ErrorBoundary, FAMILY_PROPERTIES, HelpHint, Input, Label, LayoutSubHeader, Modal, OC_DEFAULT_ACCENT, OC_SKIN_COOKIE, OC_THEMES, OcAccountMenu, OcAccountMenuView, OcAppearanceMenu, OcAurora, OcDashboardHub, OcDashboardShell, OcLogoDropdown, OcPrimaryNav, OcThemeBridge, OcThemePicker, OcThemeProvider, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, QrCode, REFERENCE_BTC_USD, RadioGroup, RadioGroupItem, SITE_STATE_LABEL, SatsAmount, SectionHeader, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Sparkline, StatBlock, StatCard, StatGrid, StatTile, StatusPill, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Working, WorkingPanel, accentFor, asOf, badgeVariants, buttonVariants, cn, confirm, explorerUrl, findFamilyProperty, formatSats, formatSatsCompact, getOcThemeInitScript, isKnownTheme, makeStatusPill, priceBoth, prompt, relativeTime, resolveTheme, satsToUsd, shortenAddress, usdToSats, useOcSkin, useSpotPrice };
|
|
3892
3946
|
//# sourceMappingURL=index.mjs.map
|
|
3893
3947
|
//# sourceMappingURL=index.mjs.map
|