xiod-ui 1.0.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/LICENSE +73 -0
- package/README.md +167 -0
- package/dist/components/accordion.d.ts +9 -0
- package/dist/components/accordion.js +46 -0
- package/dist/components/agent-steps.d.ts +47 -0
- package/dist/components/agent-steps.js +223 -0
- package/dist/components/alert-dialog.d.ts +21 -0
- package/dist/components/alert-dialog.js +74 -0
- package/dist/components/alert.d.ts +12 -0
- package/dist/components/alert.js +45 -0
- package/dist/components/aspect-ratio.d.ts +9 -0
- package/dist/components/aspect-ratio.js +22 -0
- package/dist/components/autocomplete.d.ts +35 -0
- package/dist/components/autocomplete.js +160 -0
- package/dist/components/avatar.d.ts +17 -0
- package/dist/components/avatar.js +65 -0
- package/dist/components/badge.d.ts +15 -0
- package/dist/components/badge.js +46 -0
- package/dist/components/breadcrumb.d.ts +12 -0
- package/dist/components/breadcrumb.js +75 -0
- package/dist/components/button-group.d.ts +14 -0
- package/dist/components/button-group.js +45 -0
- package/dist/components/button-split.d.ts +19 -0
- package/dist/components/button-split.js +73 -0
- package/dist/components/button.d.ts +15 -0
- package/dist/components/button.js +54 -0
- package/dist/components/calendar.d.ts +63 -0
- package/dist/components/calendar.js +425 -0
- package/dist/components/card.d.ts +17 -0
- package/dist/components/card.js +139 -0
- package/dist/components/carousel.d.ts +59 -0
- package/dist/components/carousel.js +503 -0
- package/dist/components/checkbox.d.ts +16 -0
- package/dist/components/checkbox.js +86 -0
- package/dist/components/circular-progress.d.ts +28 -0
- package/dist/components/circular-progress.js +127 -0
- package/dist/components/collapsible.d.ts +8 -0
- package/dist/components/collapsible.js +27 -0
- package/dist/components/color-picker.d.ts +159 -0
- package/dist/components/color-picker.js +1589 -0
- package/dist/components/combobox.d.ts +46 -0
- package/dist/components/combobox.js +237 -0
- package/dist/components/command.d.ts +22 -0
- package/dist/components/command.js +129 -0
- package/dist/components/context-menu.d.ts +38 -0
- package/dist/components/context-menu.js +164 -0
- package/dist/components/copy-to-clipboard.d.ts +32 -0
- package/dist/components/copy-to-clipboard.js +83 -0
- package/dist/components/corner-badge.d.ts +22 -0
- package/dist/components/corner-badge.js +84 -0
- package/dist/components/dashboard-grid.d.ts +83 -0
- package/dist/components/dashboard-grid.js +486 -0
- package/dist/components/date-picker.d.ts +29 -0
- package/dist/components/date-picker.js +261 -0
- package/dist/components/dialog.d.ts +26 -0
- package/dist/components/dialog.js +97 -0
- package/dist/components/dot-matrix.d.ts +32 -0
- package/dist/components/dot-matrix.js +707 -0
- package/dist/components/draggable.d.ts +42 -0
- package/dist/components/draggable.js +346 -0
- package/dist/components/drawer.d.ts +66 -0
- package/dist/components/drawer.js +304 -0
- package/dist/components/empty.d.ts +14 -0
- package/dist/components/empty.js +75 -0
- package/dist/components/field.d.ts +12 -0
- package/dist/components/field.js +44 -0
- package/dist/components/fieldset.d.ts +7 -0
- package/dist/components/fieldset.js +21 -0
- package/dist/components/file-upload.d.ts +61 -0
- package/dist/components/file-upload.js +482 -0
- package/dist/components/form.d.ts +6 -0
- package/dist/components/form.js +14 -0
- package/dist/components/frame.d.ts +10 -0
- package/dist/components/frame.js +47 -0
- package/dist/components/gauge.d.ts +27 -0
- package/dist/components/gauge.js +74 -0
- package/dist/components/grid.d.ts +26 -0
- package/dist/components/grid.js +204 -0
- package/dist/components/group.d.ts +19 -0
- package/dist/components/group.js +45 -0
- package/dist/components/input-group.d.ts +15 -0
- package/dist/components/input-group.js +61 -0
- package/dist/components/input-otp.d.ts +24 -0
- package/dist/components/input-otp.js +50 -0
- package/dist/components/input-payment.d.ts +131 -0
- package/dist/components/input-payment.js +1140 -0
- package/dist/components/input-phone.d.ts +70 -0
- package/dist/components/input-phone.js +657 -0
- package/dist/components/input-sensitive.d.ts +12 -0
- package/dist/components/input-sensitive.js +169 -0
- package/dist/components/input.d.ts +13 -0
- package/dist/components/input.js +26 -0
- package/dist/components/kbd.d.ts +6 -0
- package/dist/components/kbd.js +19 -0
- package/dist/components/kinetic-click.d.ts +48 -0
- package/dist/components/kinetic-click.js +1184 -0
- package/dist/components/label.d.ts +6 -0
- package/dist/components/label.js +18 -0
- package/dist/components/list-box.d.ts +20 -0
- package/dist/components/list-box.js +148 -0
- package/dist/components/loader.d.ts +13 -0
- package/dist/components/loader.js +430 -0
- package/dist/components/marker.d.ts +15 -0
- package/dist/components/marker.js +59 -0
- package/dist/components/menu.d.ts +42 -0
- package/dist/components/menu.js +186 -0
- package/dist/components/menubar.d.ts +40 -0
- package/dist/components/menubar.js +107 -0
- package/dist/components/message.d.ts +33 -0
- package/dist/components/message.js +112 -0
- package/dist/components/meter.d.ts +10 -0
- package/dist/components/meter.js +42 -0
- package/dist/components/morphic-toast.d.ts +61 -0
- package/dist/components/morphic-toast.js +916 -0
- package/dist/components/navigation-menu.d.ts +26 -0
- package/dist/components/navigation-menu.js +116 -0
- package/dist/components/number-field.d.ts +15 -0
- package/dist/components/number-field.js +86 -0
- package/dist/components/option-picker.d.ts +18 -0
- package/dist/components/option-picker.js +89 -0
- package/dist/components/orb.d.ts +38 -0
- package/dist/components/orb.js +1413 -0
- package/dist/components/pagination.d.ts +25 -0
- package/dist/components/pagination.js +147 -0
- package/dist/components/popover.d.ts +22 -0
- package/dist/components/popover.js +79 -0
- package/dist/components/preview-card.d.ts +16 -0
- package/dist/components/preview-card.js +60 -0
- package/dist/components/progress.d.ts +21 -0
- package/dist/components/progress.js +139 -0
- package/dist/components/radio.d.ts +16 -0
- package/dist/components/radio.js +68 -0
- package/dist/components/resizable.d.ts +58 -0
- package/dist/components/resizable.js +964 -0
- package/dist/components/ruler-picker.d.ts +27 -0
- package/dist/components/ruler-picker.js +253 -0
- package/dist/components/scroll-area.d.ts +13 -0
- package/dist/components/scroll-area.js +34 -0
- package/dist/components/scroll-bar.d.ts +13 -0
- package/dist/components/scroll-bar.js +47 -0
- package/dist/components/select.d.ts +29 -0
- package/dist/components/select.js +140 -0
- package/dist/components/separator.d.ts +6 -0
- package/dist/components/separator.js +15 -0
- package/dist/components/sidebar.d.ts +65 -0
- package/dist/components/sidebar.js +408 -0
- package/dist/components/skeleton.d.ts +5 -0
- package/dist/components/skeleton.js +12 -0
- package/dist/components/slider.d.ts +12 -0
- package/dist/components/slider.js +96 -0
- package/dist/components/sortable.d.ts +44 -0
- package/dist/components/sortable.js +327 -0
- package/dist/components/switch.d.ts +15 -0
- package/dist/components/switch.js +63 -0
- package/dist/components/table.d.ts +12 -0
- package/dist/components/table.js +65 -0
- package/dist/components/tabs.d.ts +12 -0
- package/dist/components/tabs.js +39 -0
- package/dist/components/text.d.ts +14 -0
- package/dist/components/text.js +69 -0
- package/dist/components/textarea.d.ts +9 -0
- package/dist/components/textarea.js +20 -0
- package/dist/components/theme-provider.d.ts +52 -0
- package/dist/components/theme-provider.js +148 -0
- package/dist/components/timeline.d.ts +34 -0
- package/dist/components/timeline.js +147 -0
- package/dist/components/toast.d.ts +17 -0
- package/dist/components/toast.js +161 -0
- package/dist/components/toggle-group.d.ts +14 -0
- package/dist/components/toggle-group.js +53 -0
- package/dist/components/toggle.d.ts +11 -0
- package/dist/components/toggle.js +36 -0
- package/dist/components/toolbar.d.ts +11 -0
- package/dist/components/toolbar.js +49 -0
- package/dist/components/tooltip.d.ts +17 -0
- package/dist/components/tooltip.js +56 -0
- package/dist/components/waveform.d.ts +61 -0
- package/dist/components/waveform.js +500 -0
- package/dist/components/wheel-picker.d.ts +44 -0
- package/dist/components/wheel-picker.js +771 -0
- package/dist/hooks/use-copy-to-clipboard.d.ts +9 -0
- package/dist/hooks/use-copy-to-clipboard.js +36 -0
- package/dist/hooks/use-media-query.d.ts +21 -0
- package/dist/hooks/use-media-query.js +58 -0
- package/dist/styles.css +202 -0
- package/dist/themes/afterglow.css +89 -0
- package/dist/themes/afterglow.scoped.css +90 -0
- package/dist/themes/blacklight.css +89 -0
- package/dist/themes/blacklight.scoped.css +90 -0
- package/dist/themes/cathode.css +89 -0
- package/dist/themes/cathode.scoped.css +90 -0
- package/dist/themes/cel.css +89 -0
- package/dist/themes/cel.scoped.css +90 -0
- package/dist/themes/cinder.css +89 -0
- package/dist/themes/cinder.scoped.css +90 -0
- package/dist/themes/clay.css +89 -0
- package/dist/themes/clay.scoped.css +90 -0
- package/dist/themes/cobalt.css +89 -0
- package/dist/themes/cobalt.scoped.css +90 -0
- package/dist/themes/crimson.css +89 -0
- package/dist/themes/crimson.scoped.css +90 -0
- package/dist/themes/ion.css +89 -0
- package/dist/themes/ion.scoped.css +90 -0
- package/dist/themes/iris.css +89 -0
- package/dist/themes/iris.scoped.css +90 -0
- package/dist/themes/lagoon.css +89 -0
- package/dist/themes/lagoon.scoped.css +90 -0
- package/dist/themes/mochi.css +89 -0
- package/dist/themes/mochi.scoped.css +90 -0
- package/dist/themes/riso.css +89 -0
- package/dist/themes/riso.scoped.css +90 -0
- package/dist/themes/roast.css +89 -0
- package/dist/themes/roast.scoped.css +90 -0
- package/dist/themes/sage.css +89 -0
- package/dist/themes/sage.scoped.css +90 -0
- package/dist/themes/sepia.css +89 -0
- package/dist/themes/sepia.scoped.css +90 -0
- package/dist/themes/sorbet.css +89 -0
- package/dist/themes/sorbet.scoped.css +90 -0
- package/dist/themes/taffy.css +89 -0
- package/dist/themes/taffy.scoped.css +90 -0
- package/dist/themes/toxin.css +89 -0
- package/dist/themes/toxin.scoped.css +90 -0
- package/package.json +140 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as React$1 from "react";
|
|
3
|
+
//#region src/hooks/use-copy-to-clipboard.ts
|
|
4
|
+
function useCopyToClipboard({ timeout = 2e3, onCopy } = {}) {
|
|
5
|
+
const [isCopied, setIsCopied] = React$1.useState(false);
|
|
6
|
+
const timeoutIdRef = React$1.useRef(null);
|
|
7
|
+
const copyToClipboard = (value) => {
|
|
8
|
+
if (typeof window === "undefined" || !navigator.clipboard.writeText) return;
|
|
9
|
+
if (!value) return;
|
|
10
|
+
(async () => {
|
|
11
|
+
try {
|
|
12
|
+
await navigator.clipboard.writeText(value);
|
|
13
|
+
if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);
|
|
14
|
+
setIsCopied(true);
|
|
15
|
+
onCopy?.();
|
|
16
|
+
if (timeout !== 0) timeoutIdRef.current = setTimeout(() => {
|
|
17
|
+
setIsCopied(false);
|
|
18
|
+
timeoutIdRef.current = null;
|
|
19
|
+
}, timeout);
|
|
20
|
+
} catch (error) {
|
|
21
|
+
console.error(error);
|
|
22
|
+
}
|
|
23
|
+
})();
|
|
24
|
+
};
|
|
25
|
+
React$1.useEffect(() => {
|
|
26
|
+
return () => {
|
|
27
|
+
if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);
|
|
28
|
+
};
|
|
29
|
+
}, []);
|
|
30
|
+
return {
|
|
31
|
+
copyToClipboard,
|
|
32
|
+
isCopied
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { useCopyToClipboard };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/hooks/use-media-query.d.ts
|
|
2
|
+
declare const BREAKPOINTS: {
|
|
3
|
+
readonly "2xl": 1536;
|
|
4
|
+
readonly "3xl": 1600;
|
|
5
|
+
readonly "4xl": 2000;
|
|
6
|
+
readonly lg: 1024;
|
|
7
|
+
readonly md: 800;
|
|
8
|
+
readonly sm: 640;
|
|
9
|
+
readonly xl: 1280;
|
|
10
|
+
};
|
|
11
|
+
type Breakpoint = keyof typeof BREAKPOINTS;
|
|
12
|
+
type BreakpointQuery = Breakpoint | `max-${Breakpoint}` | `${Breakpoint}:max-${Breakpoint}`;
|
|
13
|
+
export type MediaQueryInput = {
|
|
14
|
+
min?: Breakpoint | number;
|
|
15
|
+
max?: Breakpoint | number;
|
|
16
|
+
/** Touch-like input (finger). Use "fine" for mouse/trackpad. */
|
|
17
|
+
pointer?: "coarse" | "fine";
|
|
18
|
+
};
|
|
19
|
+
export declare function useMediaQuery(query: BreakpointQuery | MediaQueryInput | (string & {})): boolean;
|
|
20
|
+
export declare function useIsMobile(): boolean;
|
|
21
|
+
//#endregion
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useSyncExternalStore } from "react";
|
|
3
|
+
//#region src/hooks/use-media-query.ts
|
|
4
|
+
const BREAKPOINTS = {
|
|
5
|
+
"2xl": 1536,
|
|
6
|
+
"3xl": 1600,
|
|
7
|
+
"4xl": 2e3,
|
|
8
|
+
lg: 1024,
|
|
9
|
+
md: 800,
|
|
10
|
+
sm: 640,
|
|
11
|
+
xl: 1280
|
|
12
|
+
};
|
|
13
|
+
function resolveMin(value) {
|
|
14
|
+
return `(min-width: ${typeof value === "number" ? value : BREAKPOINTS[value]}px)`;
|
|
15
|
+
}
|
|
16
|
+
function resolveMax(value) {
|
|
17
|
+
return `(max-width: ${(typeof value === "number" ? value : BREAKPOINTS[value]) - 1}px)`;
|
|
18
|
+
}
|
|
19
|
+
function parseQuery(query) {
|
|
20
|
+
if (typeof query !== "string") {
|
|
21
|
+
const parts = [];
|
|
22
|
+
if (query.min != null) parts.push(resolveMin(query.min));
|
|
23
|
+
if (query.max != null) parts.push(resolveMax(query.max));
|
|
24
|
+
if (query.pointer === "coarse") parts.push("(pointer: coarse)");
|
|
25
|
+
if (query.pointer === "fine") parts.push("(pointer: fine)");
|
|
26
|
+
if (parts.length === 0) return "(min-width: 0px)";
|
|
27
|
+
return parts.join(" and ");
|
|
28
|
+
}
|
|
29
|
+
if (query.startsWith("(")) return query;
|
|
30
|
+
const parts = [];
|
|
31
|
+
for (const segment of query.split(":")) if (segment.startsWith("max-")) {
|
|
32
|
+
const bp = segment.slice(4);
|
|
33
|
+
if (bp in BREAKPOINTS) parts.push(resolveMax(bp));
|
|
34
|
+
} else if (segment in BREAKPOINTS) parts.push(resolveMin(segment));
|
|
35
|
+
return parts.length > 0 ? parts.join(" and ") : query;
|
|
36
|
+
}
|
|
37
|
+
function getServerSnapshot() {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
function useMediaQuery(query) {
|
|
41
|
+
const mediaQuery = parseQuery(query);
|
|
42
|
+
const subscribe = useCallback((callback) => {
|
|
43
|
+
if (typeof window === "undefined") return () => {};
|
|
44
|
+
const mql = window.matchMedia(mediaQuery);
|
|
45
|
+
mql.addEventListener("change", callback);
|
|
46
|
+
return () => mql.removeEventListener("change", callback);
|
|
47
|
+
}, [mediaQuery]);
|
|
48
|
+
const getSnapshot = useCallback(() => {
|
|
49
|
+
if (typeof window === "undefined") return false;
|
|
50
|
+
return window.matchMedia(mediaQuery).matches;
|
|
51
|
+
}, [mediaQuery]);
|
|
52
|
+
return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
53
|
+
}
|
|
54
|
+
function useIsMobile() {
|
|
55
|
+
return useMediaQuery("max-md");
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { useIsMobile, useMediaQuery };
|
package/dist/styles.css
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XiodUI — design system stylesheet.
|
|
3
|
+
*
|
|
4
|
+
* Usage in your app's global CSS (Tailwind CSS 4 required):
|
|
5
|
+
*
|
|
6
|
+
* @import "tailwindcss";
|
|
7
|
+
* @import "xiod-ui/styles";
|
|
8
|
+
*
|
|
9
|
+
* This file provides:
|
|
10
|
+
* - the `dark` variant (class-based)
|
|
11
|
+
* - semantic design tokens for light + dark
|
|
12
|
+
* - the `@theme` mappings that expose those tokens as Tailwind utilities
|
|
13
|
+
* (bg-background, text-muted-foreground, border-border, …)
|
|
14
|
+
* - the few keyframes/utilities XiodUI components rely on
|
|
15
|
+
*
|
|
16
|
+
* It also registers XiodUI's compiled output as a Tailwind source, so the
|
|
17
|
+
* utility classes used inside the components are generated in your build.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
@source "../dist";
|
|
21
|
+
|
|
22
|
+
@custom-variant dark (&:is(.dark *));
|
|
23
|
+
|
|
24
|
+
@theme inline {
|
|
25
|
+
--color-background: var(--background);
|
|
26
|
+
--color-foreground: var(--foreground);
|
|
27
|
+
--color-card: var(--card);
|
|
28
|
+
--color-card-foreground: var(--card-foreground);
|
|
29
|
+
--color-popover: var(--popover);
|
|
30
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
31
|
+
--color-primary: var(--primary);
|
|
32
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
33
|
+
--color-secondary: var(--secondary);
|
|
34
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
35
|
+
--color-muted: var(--muted);
|
|
36
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
37
|
+
--color-accent: var(--accent);
|
|
38
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
39
|
+
--color-destructive: var(--destructive);
|
|
40
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
41
|
+
--color-info: var(--info);
|
|
42
|
+
--color-info-foreground: var(--info-foreground);
|
|
43
|
+
--color-success: var(--success);
|
|
44
|
+
--color-success-foreground: var(--success-foreground);
|
|
45
|
+
--color-warning: var(--warning);
|
|
46
|
+
--color-warning-foreground: var(--warning-foreground);
|
|
47
|
+
--color-border: var(--border);
|
|
48
|
+
--color-input: var(--input);
|
|
49
|
+
--color-ring: var(--ring);
|
|
50
|
+
--color-sidebar: var(--sidebar);
|
|
51
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
52
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
53
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
54
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
55
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
56
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
57
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
58
|
+
|
|
59
|
+
--animate-skeleton: skeleton 2s -1s infinite linear;
|
|
60
|
+
|
|
61
|
+
@keyframes skeleton {
|
|
62
|
+
to {
|
|
63
|
+
background-position: -200% 0;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:root {
|
|
69
|
+
--radius: 0.625rem;
|
|
70
|
+
--background: var(--color-white);
|
|
71
|
+
--foreground: var(--color-neutral-800);
|
|
72
|
+
--card: var(--color-white);
|
|
73
|
+
--card-foreground: var(--color-neutral-800);
|
|
74
|
+
--popover: var(--color-white);
|
|
75
|
+
--popover-foreground: var(--color-neutral-800);
|
|
76
|
+
--primary: var(--color-neutral-800);
|
|
77
|
+
--primary-foreground: var(--color-neutral-50);
|
|
78
|
+
--secondary: --alpha(var(--color-black) / 4%);
|
|
79
|
+
--secondary-foreground: var(--color-neutral-800);
|
|
80
|
+
--muted: --alpha(var(--color-black) / 4%);
|
|
81
|
+
--muted-foreground: color-mix(
|
|
82
|
+
in srgb,
|
|
83
|
+
var(--color-neutral-500) 90%,
|
|
84
|
+
var(--color-black)
|
|
85
|
+
);
|
|
86
|
+
--accent: --alpha(var(--color-black) / 4%);
|
|
87
|
+
--accent-foreground: var(--color-neutral-800);
|
|
88
|
+
--destructive: var(--color-red-500);
|
|
89
|
+
--destructive-foreground: var(--color-red-700);
|
|
90
|
+
--info: var(--color-blue-500);
|
|
91
|
+
--info-foreground: var(--color-blue-700);
|
|
92
|
+
--success: var(--color-emerald-500);
|
|
93
|
+
--success-foreground: var(--color-emerald-700);
|
|
94
|
+
--warning: var(--color-amber-500);
|
|
95
|
+
--warning-foreground: var(--color-amber-700);
|
|
96
|
+
--border: --alpha(var(--color-black) / 8%);
|
|
97
|
+
--input: --alpha(var(--color-black) / 10%);
|
|
98
|
+
--ring: var(--color-neutral-400);
|
|
99
|
+
--sidebar: var(--color-neutral-50);
|
|
100
|
+
--sidebar-foreground: color-mix(
|
|
101
|
+
in srgb,
|
|
102
|
+
var(--color-neutral-800) 64%,
|
|
103
|
+
var(--sidebar)
|
|
104
|
+
);
|
|
105
|
+
--sidebar-primary: var(--color-neutral-800);
|
|
106
|
+
--sidebar-primary-foreground: var(--color-neutral-50);
|
|
107
|
+
--sidebar-accent: --alpha(var(--color-black) / 4%);
|
|
108
|
+
--sidebar-accent-foreground: var(--color-neutral-800);
|
|
109
|
+
--sidebar-border: --alpha(var(--color-black) / 6%);
|
|
110
|
+
--sidebar-ring: var(--color-neutral-400);
|
|
111
|
+
--dashed: #b8b8b8;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.dark {
|
|
115
|
+
--background: color-mix(
|
|
116
|
+
in srgb,
|
|
117
|
+
var(--color-neutral-950) 95%,
|
|
118
|
+
var(--color-white)
|
|
119
|
+
);
|
|
120
|
+
--foreground: var(--color-neutral-100);
|
|
121
|
+
--card: color-mix(in srgb, var(--background) 98%, var(--color-white));
|
|
122
|
+
--card-foreground: var(--color-neutral-100);
|
|
123
|
+
--popover: color-mix(in srgb, var(--background) 98%, var(--color-white));
|
|
124
|
+
--popover-foreground: var(--color-neutral-100);
|
|
125
|
+
--primary: var(--color-neutral-100);
|
|
126
|
+
--primary-foreground: var(--color-neutral-800);
|
|
127
|
+
--secondary: --alpha(var(--color-white) / 4%);
|
|
128
|
+
--secondary-foreground: var(--color-neutral-100);
|
|
129
|
+
--muted: --alpha(var(--color-white) / 4%);
|
|
130
|
+
--muted-foreground: color-mix(
|
|
131
|
+
in srgb,
|
|
132
|
+
var(--color-neutral-500) 90%,
|
|
133
|
+
var(--color-white)
|
|
134
|
+
);
|
|
135
|
+
--accent: --alpha(var(--color-white) / 4%);
|
|
136
|
+
--accent-foreground: var(--color-neutral-100);
|
|
137
|
+
--destructive: color-mix(
|
|
138
|
+
in srgb,
|
|
139
|
+
var(--color-red-500) 90%,
|
|
140
|
+
var(--color-white)
|
|
141
|
+
);
|
|
142
|
+
--destructive-foreground: var(--color-red-400);
|
|
143
|
+
--info: var(--color-blue-500);
|
|
144
|
+
--info-foreground: var(--color-blue-400);
|
|
145
|
+
--success: var(--color-emerald-500);
|
|
146
|
+
--success-foreground: var(--color-emerald-400);
|
|
147
|
+
--warning: var(--color-amber-500);
|
|
148
|
+
--warning-foreground: var(--color-amber-400);
|
|
149
|
+
--border: --alpha(var(--color-white) / 6%);
|
|
150
|
+
--input: --alpha(var(--color-white) / 8%);
|
|
151
|
+
--ring: var(--color-neutral-500);
|
|
152
|
+
--sidebar: color-mix(
|
|
153
|
+
in srgb,
|
|
154
|
+
var(--color-neutral-950) 97%,
|
|
155
|
+
var(--color-white)
|
|
156
|
+
);
|
|
157
|
+
--sidebar-foreground: color-mix(
|
|
158
|
+
in srgb,
|
|
159
|
+
var(--color-neutral-100) 64%,
|
|
160
|
+
var(--sidebar)
|
|
161
|
+
);
|
|
162
|
+
--sidebar-primary: var(--color-neutral-100);
|
|
163
|
+
--sidebar-primary-foreground: var(--color-neutral-800);
|
|
164
|
+
--sidebar-accent: --alpha(var(--color-white) / 4%);
|
|
165
|
+
--sidebar-accent-foreground: var(--color-neutral-100);
|
|
166
|
+
--sidebar-border: --alpha(var(--color-white) / 5%);
|
|
167
|
+
--sidebar-ring: var(--color-neutral-400);
|
|
168
|
+
--dashed: #292929;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
@layer base {
|
|
172
|
+
* {
|
|
173
|
+
@apply border-border outline-ring/50;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* Used by Loader / streaming text components. */
|
|
178
|
+
@keyframes shimmer-sweep {
|
|
179
|
+
0% {
|
|
180
|
+
background-position: 200% 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
100% {
|
|
184
|
+
background-position: -200% 0;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.shimmer-text {
|
|
189
|
+
background: linear-gradient(
|
|
190
|
+
90deg,
|
|
191
|
+
color-mix(in srgb, var(--foreground) 40%, transparent) 0%,
|
|
192
|
+
color-mix(in srgb, var(--foreground) 40%, transparent) 40%,
|
|
193
|
+
var(--foreground) 50%,
|
|
194
|
+
color-mix(in srgb, var(--foreground) 40%, transparent) 60%,
|
|
195
|
+
color-mix(in srgb, var(--foreground) 40%, transparent) 100%
|
|
196
|
+
);
|
|
197
|
+
background-size: 200% auto;
|
|
198
|
+
background-clip: text;
|
|
199
|
+
-webkit-background-clip: text;
|
|
200
|
+
-webkit-text-fill-color: transparent;
|
|
201
|
+
animation: shimmer-sweep 5s infinite linear;
|
|
202
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Afterglow — Sunset warmth by day, cerulean by night.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED by scripts/build-themes.ts from scripts/palettes.ts.
|
|
5
|
+
* Do not edit; your changes will be overwritten on the next build.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
*
|
|
9
|
+
* @import "tailwindcss";
|
|
10
|
+
* @import "xiod-ui/styles";
|
|
11
|
+
* @import "xiod-ui/themes/afterglow";
|
|
12
|
+
*
|
|
13
|
+
* Overrides the base tokens directly, so no attribute on `<html>` is needed.
|
|
14
|
+
* Your own `:root` block placed after this import still wins — same
|
|
15
|
+
* specificity, later in source order.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
:root {
|
|
19
|
+
--radius: 0.75rem;
|
|
20
|
+
--background: #f7f6fb;
|
|
21
|
+
--foreground: #1a1a33;
|
|
22
|
+
--card: #ffffff;
|
|
23
|
+
--card-foreground: #1a1a33;
|
|
24
|
+
--popover: #ffffff;
|
|
25
|
+
--popover-foreground: #1a1a33;
|
|
26
|
+
--primary: #c93f1c;
|
|
27
|
+
--primary-foreground: #ffffff;
|
|
28
|
+
--secondary: #cfe4f5;
|
|
29
|
+
--secondary-foreground: #10405e;
|
|
30
|
+
--muted: #eeedf5;
|
|
31
|
+
--muted-foreground: #5a5a78;
|
|
32
|
+
--accent: #ffe0ec;
|
|
33
|
+
--accent-foreground: #7a1f47;
|
|
34
|
+
--destructive: #b81d3f;
|
|
35
|
+
--destructive-foreground: #8f1630;
|
|
36
|
+
--info: #3d4bb5;
|
|
37
|
+
--info-foreground: #2b3789;
|
|
38
|
+
--success: #2f7d57;
|
|
39
|
+
--success-foreground: #235d40;
|
|
40
|
+
--warning: #a86a12;
|
|
41
|
+
--warning-foreground: #85540e;
|
|
42
|
+
--border: #e4e2ee;
|
|
43
|
+
--input: #cfcce0;
|
|
44
|
+
--ring: #c93f1c;
|
|
45
|
+
--sidebar: #f2f0fa;
|
|
46
|
+
--sidebar-foreground: #454460;
|
|
47
|
+
--sidebar-primary: #c93f1c;
|
|
48
|
+
--sidebar-primary-foreground: #ffffff;
|
|
49
|
+
--sidebar-accent: #e9e6f5;
|
|
50
|
+
--sidebar-accent-foreground: #1a1a33;
|
|
51
|
+
--sidebar-border: #e6e3f0;
|
|
52
|
+
--sidebar-ring: #c93f1c;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.dark {
|
|
56
|
+
--background: #0d1030;
|
|
57
|
+
--foreground: #e8eafc;
|
|
58
|
+
--card: #151a42;
|
|
59
|
+
--card-foreground: #e8eafc;
|
|
60
|
+
--popover: #151a42;
|
|
61
|
+
--popover-foreground: #e8eafc;
|
|
62
|
+
--primary: #4fc3f7;
|
|
63
|
+
--primary-foreground: #04243a;
|
|
64
|
+
--secondary: #4a2436;
|
|
65
|
+
--secondary-foreground: #ffc9a8;
|
|
66
|
+
--muted: #141834;
|
|
67
|
+
--muted-foreground: #9ba0c8;
|
|
68
|
+
--accent: #2a2a5e;
|
|
69
|
+
--accent-foreground: #e8eafc;
|
|
70
|
+
--destructive: #c9432f;
|
|
71
|
+
--destructive-foreground: #f2a08d;
|
|
72
|
+
--info: #7f8cff;
|
|
73
|
+
--info-foreground: #a8b2ff;
|
|
74
|
+
--success: #6fcf97;
|
|
75
|
+
--success-foreground: #9be0b5;
|
|
76
|
+
--warning: #ffb74d;
|
|
77
|
+
--warning-foreground: #ffd08a;
|
|
78
|
+
--border: #262b55;
|
|
79
|
+
--input: #343a6e;
|
|
80
|
+
--ring: #4fc3f7;
|
|
81
|
+
--sidebar: #090b26;
|
|
82
|
+
--sidebar-foreground: #b6bbdd;
|
|
83
|
+
--sidebar-primary: #4fc3f7;
|
|
84
|
+
--sidebar-primary-foreground: #04243a;
|
|
85
|
+
--sidebar-accent: #12163a;
|
|
86
|
+
--sidebar-accent-foreground: #e8eafc;
|
|
87
|
+
--sidebar-border: #1b1f47;
|
|
88
|
+
--sidebar-ring: #4fc3f7;
|
|
89
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Afterglow — Sunset warmth by day, cerulean by night.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED by scripts/build-themes.ts from scripts/palettes.ts.
|
|
5
|
+
* Do not edit; your changes will be overwritten on the next build.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
*
|
|
9
|
+
* @import "tailwindcss";
|
|
10
|
+
* @import "xiod-ui/styles";
|
|
11
|
+
* @import "xiod-ui/themes/afterglow/scoped";
|
|
12
|
+
*
|
|
13
|
+
* Applies only where `data-palette="afterglow"` is set. Use this form when your
|
|
14
|
+
* app switches palettes at runtime — pass `defaultPalette` to ThemeProvider
|
|
15
|
+
* and call `setPalette("afterglow")` from `useTheme()`. For a single fixed
|
|
16
|
+
* palette import "xiod-ui/themes/afterglow" instead, which needs no attribute.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
[data-palette="afterglow"] {
|
|
20
|
+
--radius: 0.75rem;
|
|
21
|
+
--background: #f7f6fb;
|
|
22
|
+
--foreground: #1a1a33;
|
|
23
|
+
--card: #ffffff;
|
|
24
|
+
--card-foreground: #1a1a33;
|
|
25
|
+
--popover: #ffffff;
|
|
26
|
+
--popover-foreground: #1a1a33;
|
|
27
|
+
--primary: #c93f1c;
|
|
28
|
+
--primary-foreground: #ffffff;
|
|
29
|
+
--secondary: #cfe4f5;
|
|
30
|
+
--secondary-foreground: #10405e;
|
|
31
|
+
--muted: #eeedf5;
|
|
32
|
+
--muted-foreground: #5a5a78;
|
|
33
|
+
--accent: #ffe0ec;
|
|
34
|
+
--accent-foreground: #7a1f47;
|
|
35
|
+
--destructive: #b81d3f;
|
|
36
|
+
--destructive-foreground: #8f1630;
|
|
37
|
+
--info: #3d4bb5;
|
|
38
|
+
--info-foreground: #2b3789;
|
|
39
|
+
--success: #2f7d57;
|
|
40
|
+
--success-foreground: #235d40;
|
|
41
|
+
--warning: #a86a12;
|
|
42
|
+
--warning-foreground: #85540e;
|
|
43
|
+
--border: #e4e2ee;
|
|
44
|
+
--input: #cfcce0;
|
|
45
|
+
--ring: #c93f1c;
|
|
46
|
+
--sidebar: #f2f0fa;
|
|
47
|
+
--sidebar-foreground: #454460;
|
|
48
|
+
--sidebar-primary: #c93f1c;
|
|
49
|
+
--sidebar-primary-foreground: #ffffff;
|
|
50
|
+
--sidebar-accent: #e9e6f5;
|
|
51
|
+
--sidebar-accent-foreground: #1a1a33;
|
|
52
|
+
--sidebar-border: #e6e3f0;
|
|
53
|
+
--sidebar-ring: #c93f1c;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.dark[data-palette="afterglow"] {
|
|
57
|
+
--background: #0d1030;
|
|
58
|
+
--foreground: #e8eafc;
|
|
59
|
+
--card: #151a42;
|
|
60
|
+
--card-foreground: #e8eafc;
|
|
61
|
+
--popover: #151a42;
|
|
62
|
+
--popover-foreground: #e8eafc;
|
|
63
|
+
--primary: #4fc3f7;
|
|
64
|
+
--primary-foreground: #04243a;
|
|
65
|
+
--secondary: #4a2436;
|
|
66
|
+
--secondary-foreground: #ffc9a8;
|
|
67
|
+
--muted: #141834;
|
|
68
|
+
--muted-foreground: #9ba0c8;
|
|
69
|
+
--accent: #2a2a5e;
|
|
70
|
+
--accent-foreground: #e8eafc;
|
|
71
|
+
--destructive: #c9432f;
|
|
72
|
+
--destructive-foreground: #f2a08d;
|
|
73
|
+
--info: #7f8cff;
|
|
74
|
+
--info-foreground: #a8b2ff;
|
|
75
|
+
--success: #6fcf97;
|
|
76
|
+
--success-foreground: #9be0b5;
|
|
77
|
+
--warning: #ffb74d;
|
|
78
|
+
--warning-foreground: #ffd08a;
|
|
79
|
+
--border: #262b55;
|
|
80
|
+
--input: #343a6e;
|
|
81
|
+
--ring: #4fc3f7;
|
|
82
|
+
--sidebar: #090b26;
|
|
83
|
+
--sidebar-foreground: #b6bbdd;
|
|
84
|
+
--sidebar-primary: #4fc3f7;
|
|
85
|
+
--sidebar-primary-foreground: #04243a;
|
|
86
|
+
--sidebar-accent: #12163a;
|
|
87
|
+
--sidebar-accent-foreground: #e8eafc;
|
|
88
|
+
--sidebar-border: #1b1f47;
|
|
89
|
+
--sidebar-ring: #4fc3f7;
|
|
90
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blacklight — Ultraviolet, acid green and hot pink.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED by scripts/build-themes.ts from scripts/palettes.ts.
|
|
5
|
+
* Do not edit; your changes will be overwritten on the next build.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
*
|
|
9
|
+
* @import "tailwindcss";
|
|
10
|
+
* @import "xiod-ui/styles";
|
|
11
|
+
* @import "xiod-ui/themes/blacklight";
|
|
12
|
+
*
|
|
13
|
+
* Overrides the base tokens directly, so no attribute on `<html>` is needed.
|
|
14
|
+
* Your own `:root` block placed after this import still wins — same
|
|
15
|
+
* specificity, later in source order.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
:root {
|
|
19
|
+
--radius: 0.75rem;
|
|
20
|
+
--background: #f7f3ff;
|
|
21
|
+
--foreground: #1f1233;
|
|
22
|
+
--card: #fdfbff;
|
|
23
|
+
--card-foreground: #1f1233;
|
|
24
|
+
--popover: #fdfbff;
|
|
25
|
+
--popover-foreground: #1f1233;
|
|
26
|
+
--primary: #7b16d6;
|
|
27
|
+
--primary-foreground: #ffffff;
|
|
28
|
+
--secondary: #d9ffb0;
|
|
29
|
+
--secondary-foreground: #2e4a05;
|
|
30
|
+
--muted: #f0eaf9;
|
|
31
|
+
--muted-foreground: #5f5178;
|
|
32
|
+
--accent: #ffd6f5;
|
|
33
|
+
--accent-foreground: #78156a;
|
|
34
|
+
--destructive: #c4204f;
|
|
35
|
+
--destructive-foreground: #9a1a3e;
|
|
36
|
+
--info: #4a3fc4;
|
|
37
|
+
--info-foreground: #342c94;
|
|
38
|
+
--success: #3f7a2e;
|
|
39
|
+
--success-foreground: #2e5a22;
|
|
40
|
+
--warning: #9c6a0a;
|
|
41
|
+
--warning-foreground: #7d5408;
|
|
42
|
+
--border: #e8dff5;
|
|
43
|
+
--input: #d5c7e8;
|
|
44
|
+
--ring: #7b16d6;
|
|
45
|
+
--sidebar: #f3edfc;
|
|
46
|
+
--sidebar-foreground: #453a5c;
|
|
47
|
+
--sidebar-primary: #7b16d6;
|
|
48
|
+
--sidebar-primary-foreground: #ffffff;
|
|
49
|
+
--sidebar-accent: #ece2f8;
|
|
50
|
+
--sidebar-accent-foreground: #1f1233;
|
|
51
|
+
--sidebar-border: #e9e0f6;
|
|
52
|
+
--sidebar-ring: #7b16d6;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.dark {
|
|
56
|
+
--background: #0d0418;
|
|
57
|
+
--foreground: #f0e4ff;
|
|
58
|
+
--card: #170a26;
|
|
59
|
+
--card-foreground: #f0e4ff;
|
|
60
|
+
--popover: #170a26;
|
|
61
|
+
--popover-foreground: #f0e4ff;
|
|
62
|
+
--primary: #e05aff;
|
|
63
|
+
--primary-foreground: #22003d;
|
|
64
|
+
--secondary: #1f3d0a;
|
|
65
|
+
--secondary-foreground: #c4ff70;
|
|
66
|
+
--muted: #150a20;
|
|
67
|
+
--muted-foreground: #a893bd;
|
|
68
|
+
--accent: #3d0a35;
|
|
69
|
+
--accent-foreground: #ff9ae8;
|
|
70
|
+
--destructive: #d92b4a;
|
|
71
|
+
--destructive-foreground: #ff9aad;
|
|
72
|
+
--info: #7f8cff;
|
|
73
|
+
--info-foreground: #a8b2ff;
|
|
74
|
+
--success: #8fff5c;
|
|
75
|
+
--success-foreground: #b5ff94;
|
|
76
|
+
--warning: #ffcc33;
|
|
77
|
+
--warning-foreground: #ffe08a;
|
|
78
|
+
--border: #26113a;
|
|
79
|
+
--input: #35194f;
|
|
80
|
+
--ring: #e05aff;
|
|
81
|
+
--sidebar: #08020f;
|
|
82
|
+
--sidebar-foreground: #bda8cf;
|
|
83
|
+
--sidebar-primary: #e05aff;
|
|
84
|
+
--sidebar-primary-foreground: #22003d;
|
|
85
|
+
--sidebar-accent: #130820;
|
|
86
|
+
--sidebar-accent-foreground: #f0e4ff;
|
|
87
|
+
--sidebar-border: #1c0d2b;
|
|
88
|
+
--sidebar-ring: #e05aff;
|
|
89
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blacklight — Ultraviolet, acid green and hot pink.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED by scripts/build-themes.ts from scripts/palettes.ts.
|
|
5
|
+
* Do not edit; your changes will be overwritten on the next build.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
*
|
|
9
|
+
* @import "tailwindcss";
|
|
10
|
+
* @import "xiod-ui/styles";
|
|
11
|
+
* @import "xiod-ui/themes/blacklight/scoped";
|
|
12
|
+
*
|
|
13
|
+
* Applies only where `data-palette="blacklight"` is set. Use this form when your
|
|
14
|
+
* app switches palettes at runtime — pass `defaultPalette` to ThemeProvider
|
|
15
|
+
* and call `setPalette("blacklight")` from `useTheme()`. For a single fixed
|
|
16
|
+
* palette import "xiod-ui/themes/blacklight" instead, which needs no attribute.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
[data-palette="blacklight"] {
|
|
20
|
+
--radius: 0.75rem;
|
|
21
|
+
--background: #f7f3ff;
|
|
22
|
+
--foreground: #1f1233;
|
|
23
|
+
--card: #fdfbff;
|
|
24
|
+
--card-foreground: #1f1233;
|
|
25
|
+
--popover: #fdfbff;
|
|
26
|
+
--popover-foreground: #1f1233;
|
|
27
|
+
--primary: #7b16d6;
|
|
28
|
+
--primary-foreground: #ffffff;
|
|
29
|
+
--secondary: #d9ffb0;
|
|
30
|
+
--secondary-foreground: #2e4a05;
|
|
31
|
+
--muted: #f0eaf9;
|
|
32
|
+
--muted-foreground: #5f5178;
|
|
33
|
+
--accent: #ffd6f5;
|
|
34
|
+
--accent-foreground: #78156a;
|
|
35
|
+
--destructive: #c4204f;
|
|
36
|
+
--destructive-foreground: #9a1a3e;
|
|
37
|
+
--info: #4a3fc4;
|
|
38
|
+
--info-foreground: #342c94;
|
|
39
|
+
--success: #3f7a2e;
|
|
40
|
+
--success-foreground: #2e5a22;
|
|
41
|
+
--warning: #9c6a0a;
|
|
42
|
+
--warning-foreground: #7d5408;
|
|
43
|
+
--border: #e8dff5;
|
|
44
|
+
--input: #d5c7e8;
|
|
45
|
+
--ring: #7b16d6;
|
|
46
|
+
--sidebar: #f3edfc;
|
|
47
|
+
--sidebar-foreground: #453a5c;
|
|
48
|
+
--sidebar-primary: #7b16d6;
|
|
49
|
+
--sidebar-primary-foreground: #ffffff;
|
|
50
|
+
--sidebar-accent: #ece2f8;
|
|
51
|
+
--sidebar-accent-foreground: #1f1233;
|
|
52
|
+
--sidebar-border: #e9e0f6;
|
|
53
|
+
--sidebar-ring: #7b16d6;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.dark[data-palette="blacklight"] {
|
|
57
|
+
--background: #0d0418;
|
|
58
|
+
--foreground: #f0e4ff;
|
|
59
|
+
--card: #170a26;
|
|
60
|
+
--card-foreground: #f0e4ff;
|
|
61
|
+
--popover: #170a26;
|
|
62
|
+
--popover-foreground: #f0e4ff;
|
|
63
|
+
--primary: #e05aff;
|
|
64
|
+
--primary-foreground: #22003d;
|
|
65
|
+
--secondary: #1f3d0a;
|
|
66
|
+
--secondary-foreground: #c4ff70;
|
|
67
|
+
--muted: #150a20;
|
|
68
|
+
--muted-foreground: #a893bd;
|
|
69
|
+
--accent: #3d0a35;
|
|
70
|
+
--accent-foreground: #ff9ae8;
|
|
71
|
+
--destructive: #d92b4a;
|
|
72
|
+
--destructive-foreground: #ff9aad;
|
|
73
|
+
--info: #7f8cff;
|
|
74
|
+
--info-foreground: #a8b2ff;
|
|
75
|
+
--success: #8fff5c;
|
|
76
|
+
--success-foreground: #b5ff94;
|
|
77
|
+
--warning: #ffcc33;
|
|
78
|
+
--warning-foreground: #ffe08a;
|
|
79
|
+
--border: #26113a;
|
|
80
|
+
--input: #35194f;
|
|
81
|
+
--ring: #e05aff;
|
|
82
|
+
--sidebar: #08020f;
|
|
83
|
+
--sidebar-foreground: #bda8cf;
|
|
84
|
+
--sidebar-primary: #e05aff;
|
|
85
|
+
--sidebar-primary-foreground: #22003d;
|
|
86
|
+
--sidebar-accent: #130820;
|
|
87
|
+
--sidebar-accent-foreground: #f0e4ff;
|
|
88
|
+
--sidebar-border: #1c0d2b;
|
|
89
|
+
--sidebar-ring: #e05aff;
|
|
90
|
+
}
|