@orangecheck/design 0.5.1 → 0.5.3
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/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +33 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -6
- package/dist/index.mjs.map +1 -1
- package/dist/primitives.js +3 -0
- package/dist/primitives.js.map +1 -1
- package/dist/primitives.mjs +3 -0
- package/dist/primitives.mjs.map +1 -1
- package/dist/styles/theme.css +13 -0
- package/dist/tokens.d.mts +9 -1
- package/dist/tokens.d.ts +9 -1
- package/dist/tokens.js +28 -5
- package/dist/tokens.js.map +1 -1
- package/dist/tokens.mjs +27 -6
- package/dist/tokens.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -69,6 +69,7 @@ __export(src_exports, {
|
|
|
69
69
|
Input: () => Input,
|
|
70
70
|
Label: () => Label,
|
|
71
71
|
Modal: () => Modal,
|
|
72
|
+
OC_DEFAULT_ACCENT: () => OC_DEFAULT_ACCENT,
|
|
72
73
|
OC_SKIN_COOKIE: () => OC_SKIN_COOKIE,
|
|
73
74
|
OC_THEMES: () => OC_THEMES,
|
|
74
75
|
OcAppearanceMenu: () => OcAppearanceMenu,
|
|
@@ -115,6 +116,7 @@ __export(src_exports, {
|
|
|
115
116
|
Toaster: () => Toaster,
|
|
116
117
|
Working: () => Working,
|
|
117
118
|
WorkingPanel: () => WorkingPanel,
|
|
119
|
+
accentFor: () => accentFor,
|
|
118
120
|
badgeVariants: () => badgeVariants,
|
|
119
121
|
buttonVariants: () => buttonVariants,
|
|
120
122
|
cn: () => cn,
|
|
@@ -142,24 +144,32 @@ var OC_THEMES = [
|
|
|
142
144
|
{
|
|
143
145
|
id: "orangecheck",
|
|
144
146
|
label: "orangecheck",
|
|
145
|
-
description: "the chain \u2014 Bitcoin orange, sharp 0.25rem corners, Inter + JetBrains Mono"
|
|
147
|
+
description: "the chain \u2014 Bitcoin orange, sharp 0.25rem corners, Inter + JetBrains Mono",
|
|
148
|
+
accent: "#f97316"
|
|
146
149
|
},
|
|
147
150
|
{
|
|
148
151
|
id: "phosphor",
|
|
149
152
|
label: "phosphor",
|
|
150
|
-
description: "the node \u2014 CRT terminal green, hard 0.125rem, all-mono \xB7 sovereignty & verify"
|
|
153
|
+
description: "the node \u2014 CRT terminal green, hard 0.125rem, all-mono \xB7 sovereignty & verify",
|
|
154
|
+
accent: "#55d671"
|
|
151
155
|
},
|
|
152
156
|
{
|
|
153
157
|
id: "lightning",
|
|
154
158
|
label: "lightning",
|
|
155
|
-
description: "the network \u2014 electric violet (L2), hardest 0rem edges, sans \xB7 instant"
|
|
159
|
+
description: "the network \u2014 electric violet (L2), hardest 0rem edges, sans \xB7 instant",
|
|
160
|
+
accent: "#c27dff"
|
|
156
161
|
},
|
|
157
162
|
{
|
|
158
163
|
id: "gold",
|
|
159
164
|
label: "gold",
|
|
160
|
-
description: "sound money \u2014 digital gold, hard 0.125rem milled edge, mono ledger \xB7 21M"
|
|
165
|
+
description: "sound money \u2014 digital gold, hard 0.125rem milled edge, mono ledger \xB7 21M",
|
|
166
|
+
accent: "#e3b831"
|
|
161
167
|
}
|
|
162
168
|
];
|
|
169
|
+
var OC_DEFAULT_ACCENT = "#f97316";
|
|
170
|
+
function accentFor(id) {
|
|
171
|
+
return OC_THEMES.find((t) => t.id === id)?.accent ?? OC_DEFAULT_ACCENT;
|
|
172
|
+
}
|
|
163
173
|
var DEFAULT_OC_THEME = "orangecheck";
|
|
164
174
|
function isKnownTheme(id) {
|
|
165
175
|
return !!id && OC_THEMES.some((t) => t.id === id);
|
|
@@ -201,6 +211,15 @@ function applyAttr(skin) {
|
|
|
201
211
|
if (typeof document === "undefined") return;
|
|
202
212
|
document.documentElement.setAttribute(ATTR, skin);
|
|
203
213
|
}
|
|
214
|
+
function applySkinChrome(skin) {
|
|
215
|
+
if (typeof window === "undefined") return;
|
|
216
|
+
if (typeof window.__ocApplySkinChrome === "function") {
|
|
217
|
+
window.__ocApplySkinChrome(skin);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const meta = document.querySelector('meta[name="theme-color"]');
|
|
221
|
+
if (meta) meta.setAttribute("content", accentFor(skin));
|
|
222
|
+
}
|
|
204
223
|
var OcSkinContext = createContext(null);
|
|
205
224
|
function OcThemeProvider({ children, defaultSkin = DEFAULT_OC_THEME }) {
|
|
206
225
|
const [skin, setSkinState] = useState(() => resolveTheme(defaultSkin));
|
|
@@ -210,6 +229,7 @@ function OcThemeProvider({ children, defaultSkin = DEFAULT_OC_THEME }) {
|
|
|
210
229
|
hydratedRef.current = true;
|
|
211
230
|
const fromCookie = resolveTheme(readSkinCookie() ?? defaultSkin);
|
|
212
231
|
applyAttr(fromCookie);
|
|
232
|
+
applySkinChrome(fromCookie);
|
|
213
233
|
setSkinState(fromCookie);
|
|
214
234
|
}, [defaultSkin]);
|
|
215
235
|
useEffect(() => {
|
|
@@ -217,6 +237,7 @@ function OcThemeProvider({ children, defaultSkin = DEFAULT_OC_THEME }) {
|
|
|
217
237
|
const fromCookie = resolveTheme(readSkinCookie() ?? skin);
|
|
218
238
|
if (fromCookie !== skin) {
|
|
219
239
|
applyAttr(fromCookie);
|
|
240
|
+
applySkinChrome(fromCookie);
|
|
220
241
|
setSkinState(fromCookie);
|
|
221
242
|
}
|
|
222
243
|
}
|
|
@@ -230,6 +251,7 @@ function OcThemeProvider({ children, defaultSkin = DEFAULT_OC_THEME }) {
|
|
|
230
251
|
const setSkin = useCallback((id) => {
|
|
231
252
|
const next = resolveTheme(id);
|
|
232
253
|
applyAttr(next);
|
|
254
|
+
applySkinChrome(next);
|
|
233
255
|
writeSkinCookie(next);
|
|
234
256
|
setSkinState(next);
|
|
235
257
|
}, []);
|
|
@@ -247,7 +269,8 @@ function useOcSkin() {
|
|
|
247
269
|
return ctx;
|
|
248
270
|
}
|
|
249
271
|
function getOcThemeInitScript(defaultSkin = DEFAULT_OC_THEME) {
|
|
250
|
-
|
|
272
|
+
const accents = Object.fromEntries(OC_THEMES.map((t) => [t.id, t.accent]));
|
|
273
|
+
return `(function(){var ACC=${JSON.stringify(accents)},DEF=${JSON.stringify(defaultSkin)},ORIG=${JSON.stringify(OC_DEFAULT_ACCENT)},fav=null;function acc(s){return ACC[s]||ACC[DEF]||ORIG;}window.__ocApplySkinChrome=function(s){try{var a=acc(s);var meta=document.querySelector('meta[name="theme-color"]');if(meta){meta.setAttribute('content',a);}var link=document.querySelector('link[rel~="icon"][type="image/svg+xml"]');if(!link){return;}var paint=function(svg){link.setAttribute('href','data:image/svg+xml,'+encodeURIComponent(svg.split(ORIG).join(a)));};if(fav!=null){paint(fav);return;}var h=link.getAttribute('href');if(!h||h.indexOf('data:')===0){return;}fetch(h).then(function(r){return r.text();}).then(function(svg){fav=svg;paint(svg);}).catch(function(){});}catch(e){}};try{var m=document.cookie.match(/(?:^|; )${OC_SKIN_COOKIE}=([^;]*)/);var s=m?decodeURIComponent(m[1]):DEF;if(!s){s=DEF;}document.documentElement.setAttribute('${ATTR}',s);window.__ocApplySkinChrome(s);}catch(e){document.documentElement.setAttribute('${ATTR}',DEF);}})();`;
|
|
251
274
|
}
|
|
252
275
|
var COOKIE = "oc_theme";
|
|
253
276
|
var ALLOWED = /* @__PURE__ */ new Set(["light", "dark", "system"]);
|
|
@@ -721,6 +744,9 @@ function Textarea({ className, ...props }) {
|
|
|
721
744
|
className: cn(
|
|
722
745
|
"placeholder:text-muted-foreground border-input bg-input/30 hover:bg-input/50 dark:bg-input/30 dark:hover:bg-input/50 w-full min-w-0 rounded-md border px-3 py-2 font-mono text-xs leading-relaxed shadow-xs transition-[color,box-shadow,background-color] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
723
746
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
747
|
+
// aria-invalid parity with Input — error styling when a consumer
|
|
748
|
+
// marks the field invalid.
|
|
749
|
+
"aria-invalid:ring-brand/25 dark:aria-invalid:ring-brand/35 aria-invalid:border-brand",
|
|
724
750
|
className
|
|
725
751
|
),
|
|
726
752
|
...props
|
|
@@ -1967,6 +1993,6 @@ __reExport(components_exports, ui_star);
|
|
|
1967
1993
|
// src/index.ts
|
|
1968
1994
|
__reExport(src_exports, components_exports);
|
|
1969
1995
|
|
|
1970
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, AlertWithCountdown, Badge, Bar, BitcoinAddress, Button, Card, ConfirmHost, CopyButton, DEFAULT_OC_THEME, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Input, Label, Modal, OC_SKIN_COOKIE, OC_THEMES, OcAppearanceMenu, OcThemeBridge, OcThemePicker, OcThemeProvider, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, QrCode, REFERENCE_BTC_USD, SatsAmount, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Sparkline, StatBlock, StatusPill, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Working, WorkingPanel, badgeVariants, buttonVariants, cn, confirm, explorerUrl, formatSats, formatSatsCompact, getOcThemeInitScript, isKnownTheme, priceBoth, prompt, relativeTime, resolveTheme, satsToUsd, shortenAddress, usdToSats, useOcSkin };
|
|
1996
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, AlertWithCountdown, Badge, Bar, BitcoinAddress, Button, Card, ConfirmHost, CopyButton, DEFAULT_OC_THEME, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Input, Label, Modal, OC_DEFAULT_ACCENT, OC_SKIN_COOKIE, OC_THEMES, OcAppearanceMenu, OcThemeBridge, OcThemePicker, OcThemeProvider, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, QrCode, REFERENCE_BTC_USD, SatsAmount, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Sparkline, StatBlock, StatusPill, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Working, WorkingPanel, accentFor, badgeVariants, buttonVariants, cn, confirm, explorerUrl, formatSats, formatSatsCompact, getOcThemeInitScript, isKnownTheme, priceBoth, prompt, relativeTime, resolveTheme, satsToUsd, shortenAddress, usdToSats, useOcSkin };
|
|
1971
1997
|
//# sourceMappingURL=index.mjs.map
|
|
1972
1998
|
//# sourceMappingURL=index.mjs.map
|