@orangecheck/design 0.7.5 → 0.7.6
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 +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +43 -1
- package/dist/index.mjs.map +1 -1
- package/dist/primitives.js.map +1 -1
- package/dist/primitives.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1904,6 +1904,38 @@ function TabsContent({ className, ...props }) {
|
|
|
1904
1904
|
}
|
|
1905
1905
|
);
|
|
1906
1906
|
}
|
|
1907
|
+
function useSpotPrice(opts = {}) {
|
|
1908
|
+
const { endpoint = "/api/price/btc-usd", intervalMs = 6e4 } = opts;
|
|
1909
|
+
const [state, setState] = useState({
|
|
1910
|
+
btcUsd: REFERENCE_BTC_USD,
|
|
1911
|
+
fetchedAt: null
|
|
1912
|
+
});
|
|
1913
|
+
useEffect(() => {
|
|
1914
|
+
let cancelled = false;
|
|
1915
|
+
async function pull() {
|
|
1916
|
+
try {
|
|
1917
|
+
const res = await fetch(endpoint);
|
|
1918
|
+
if (!res.ok) return;
|
|
1919
|
+
const json = await res.json();
|
|
1920
|
+
if (cancelled) return;
|
|
1921
|
+
if (typeof json.btc_usd === "number" && json.btc_usd > 0) {
|
|
1922
|
+
setState({
|
|
1923
|
+
btcUsd: Math.round(json.btc_usd),
|
|
1924
|
+
fetchedAt: json.fetched_at ?? null
|
|
1925
|
+
});
|
|
1926
|
+
}
|
|
1927
|
+
} catch {
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1930
|
+
void pull();
|
|
1931
|
+
const t = setInterval(pull, intervalMs);
|
|
1932
|
+
return () => {
|
|
1933
|
+
cancelled = true;
|
|
1934
|
+
clearInterval(t);
|
|
1935
|
+
};
|
|
1936
|
+
}, [endpoint, intervalMs]);
|
|
1937
|
+
return state;
|
|
1938
|
+
}
|
|
1907
1939
|
|
|
1908
1940
|
// src/format/index.ts
|
|
1909
1941
|
var REFERENCE_BTC_USD = 95e3;
|
|
@@ -1933,6 +1965,16 @@ function usdToSats(usd, btcUsd = REFERENCE_BTC_USD) {
|
|
|
1933
1965
|
function priceBoth(sats, btcUsd = REFERENCE_BTC_USD) {
|
|
1934
1966
|
return `${formatSats(sats)} sats \xB7 ${satsToUsd(sats, btcUsd)}`;
|
|
1935
1967
|
}
|
|
1968
|
+
function asOf(iso) {
|
|
1969
|
+
if (!iso) return null;
|
|
1970
|
+
const t = new Date(iso);
|
|
1971
|
+
if (Number.isNaN(t.getTime())) return null;
|
|
1972
|
+
return `as of ${t.toLocaleTimeString(void 0, {
|
|
1973
|
+
hour: "2-digit",
|
|
1974
|
+
minute: "2-digit",
|
|
1975
|
+
hour12: false
|
|
1976
|
+
})}`;
|
|
1977
|
+
}
|
|
1936
1978
|
function relativeTime(when) {
|
|
1937
1979
|
const t = when instanceof Date ? when.getTime() : new Date(when).getTime();
|
|
1938
1980
|
if (Number.isNaN(t)) return "";
|
|
@@ -3888,6 +3930,6 @@ function LayoutSubHeader({
|
|
|
3888
3930
|
] }) });
|
|
3889
3931
|
}
|
|
3890
3932
|
|
|
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 };
|
|
3933
|
+
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, asOf, badgeVariants, buttonVariants, cn, confirm, explorerUrl, findFamilyProperty, formatSats, formatSatsCompact, getOcThemeInitScript, isKnownTheme, makeStatusPill, priceBoth, prompt, relativeTime, resolveTheme, satsToUsd, shortenAddress, usdToSats, useOcSkin, useSpotPrice };
|
|
3892
3934
|
//# sourceMappingURL=index.mjs.map
|
|
3893
3935
|
//# sourceMappingURL=index.mjs.map
|