xertica-ui 1.2.6 → 1.2.7
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/components/Header.tsx +58 -0
- package/components/HomeContent.tsx +13 -37
- package/components/HomePage.tsx +4 -2
- package/components/Sidebar.tsx +27 -17
- package/components/TemplatePage.tsx +4 -2
- package/components/index.ts +17 -1
- package/contexts/index.ts +6 -0
- package/dist/components/Header.d.ts +10 -0
- package/dist/components/Sidebar.d.ts +9 -1
- package/dist/components/index.d.ts +8 -0
- package/dist/contexts/BrandColorsContext.d.ts +15 -0
- package/dist/contexts/index.d.ts +6 -0
- package/dist/contexts/theme-data.d.ts +81 -0
- package/dist/index.es.js +2745 -131
- package/dist/index.umd.js +2742 -128
- package/package.json +2 -2
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Menu, ChevronRight } from 'lucide-react';
|
|
3
|
+
import { Button } from './ui/button';
|
|
4
|
+
import { ThemeToggle } from './ThemeToggle';
|
|
5
|
+
import { LanguageSelector } from './LanguageSelector';
|
|
6
|
+
|
|
7
|
+
interface HeaderProps {
|
|
8
|
+
sidebarExpanded: boolean;
|
|
9
|
+
onToggleSidebar: () => void;
|
|
10
|
+
title: string;
|
|
11
|
+
showLanguageSelector?: boolean;
|
|
12
|
+
showThemeToggle?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function Header({
|
|
17
|
+
sidebarExpanded,
|
|
18
|
+
onToggleSidebar,
|
|
19
|
+
title,
|
|
20
|
+
showLanguageSelector = true,
|
|
21
|
+
showThemeToggle = true,
|
|
22
|
+
className
|
|
23
|
+
}: HeaderProps) {
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<header className={`bg-card shadow-sm border-b border-border px-[24px] py-[14px] flex-shrink-0 ${className || ''}`}>
|
|
27
|
+
<div className="flex items-center justify-between p-[0px]">
|
|
28
|
+
<div className="flex items-center gap-2 text-muted-foreground">
|
|
29
|
+
{/* Botão menu para mobile */}
|
|
30
|
+
<Button
|
|
31
|
+
variant="ghost"
|
|
32
|
+
size="sm"
|
|
33
|
+
onClick={onToggleSidebar}
|
|
34
|
+
className="md:hidden mr-2 p-2"
|
|
35
|
+
>
|
|
36
|
+
<Menu className="w-5 h-5" />
|
|
37
|
+
</Button>
|
|
38
|
+
<span className="text-primary font-medium">Xertica.ai</span>
|
|
39
|
+
<ChevronRight className="w-4 h-4" />
|
|
40
|
+
<span className="text-foreground font-medium">{title}</span>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
{/* Controles do usuário */}
|
|
44
|
+
<div className="flex items-center gap-3">
|
|
45
|
+
{/* Seletor de idioma */}
|
|
46
|
+
{showLanguageSelector && (
|
|
47
|
+
<LanguageSelector variant="minimal" showIcon={false} className="hidden sm:flex" />
|
|
48
|
+
)}
|
|
49
|
+
|
|
50
|
+
{/* Toggle de tema */}
|
|
51
|
+
{showThemeToggle && (
|
|
52
|
+
<ThemeToggle className="hover:bg-accent" />
|
|
53
|
+
)}
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</header>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Card, CardContent, CardFooter, CardHeader, CardTitle } from './ui/card';
|
|
3
|
+
import { Header } from './Header';
|
|
3
4
|
import { Button } from './ui/button';
|
|
4
5
|
import { ChevronRight, Menu, FileText } from 'lucide-react';
|
|
5
6
|
import { ScrollArea } from './ui/scroll-area';
|
|
@@ -19,7 +20,7 @@ interface HomeContentProps {
|
|
|
19
20
|
export function HomeContent({ sidebarExpanded, assistenteExpanded = false, onToggleSidebar, onToggleAssistente }: HomeContentProps) {
|
|
20
21
|
const location = useLocation();
|
|
21
22
|
const navigate = useNavigate();
|
|
22
|
-
|
|
23
|
+
|
|
23
24
|
// Tradução direta para português
|
|
24
25
|
const labelTranslations: Record<string, string> = {
|
|
25
26
|
'home': 'Início',
|
|
@@ -28,48 +29,23 @@ export function HomeContent({ sidebarExpanded, assistenteExpanded = false, onTog
|
|
|
28
29
|
|
|
29
30
|
// Get current route info
|
|
30
31
|
const currentRoute = getRouteByPath(location.pathname);
|
|
31
|
-
const breadcrumbLabel = currentRoute?.label
|
|
32
|
+
const breadcrumbLabel = currentRoute?.label
|
|
32
33
|
? labelTranslations[currentRoute.label.toLowerCase()] || currentRoute.label
|
|
33
34
|
: 'Início';
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
|
|
37
38
|
return (
|
|
38
|
-
<div
|
|
39
|
-
className={`flex-1 flex flex-col overflow-hidden transition-all duration-300 ${
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
assistenteExpanded ? 'md:pr-[420px]' : 'md:pr-20'
|
|
43
|
-
}`}
|
|
39
|
+
<div
|
|
40
|
+
className={`flex-1 flex flex-col overflow-hidden transition-all duration-300 ${sidebarExpanded ? 'md:pl-64' : 'md:pl-20'
|
|
41
|
+
} ${assistenteExpanded ? 'md:pr-[420px]' : 'md:pr-20'
|
|
42
|
+
}`}
|
|
44
43
|
>
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
<Button
|
|
51
|
-
variant="ghost"
|
|
52
|
-
size="sm"
|
|
53
|
-
onClick={onToggleSidebar}
|
|
54
|
-
className="md:hidden mr-2 p-2"
|
|
55
|
-
>
|
|
56
|
-
<Menu className="w-5 h-5" />
|
|
57
|
-
</Button>
|
|
58
|
-
<span className="text-primary font-medium">Xertica.ai</span>
|
|
59
|
-
<ChevronRight className="w-4 h-4" />
|
|
60
|
-
<span className="text-foreground font-medium">{breadcrumbLabel}</span>
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
{/* Controles do usuário */}
|
|
64
|
-
<div className="flex items-center gap-3">
|
|
65
|
-
{/* Seletor de idioma */}
|
|
66
|
-
<LanguageSelector variant="minimal" showIcon={false} className="hidden sm:flex" />
|
|
67
|
-
|
|
68
|
-
{/* Toggle de tema */}
|
|
69
|
-
<ThemeToggle className="hover:bg-accent" />
|
|
70
|
-
</div>
|
|
71
|
-
</div>
|
|
72
|
-
</header>
|
|
44
|
+
<Header
|
|
45
|
+
sidebarExpanded={sidebarExpanded}
|
|
46
|
+
onToggleSidebar={onToggleSidebar || (() => { })}
|
|
47
|
+
title={breadcrumbLabel}
|
|
48
|
+
/>
|
|
73
49
|
|
|
74
50
|
{/* Área de conteúdo */}
|
|
75
51
|
<main className="flex-1 overflow-hidden bg-muted">
|
|
@@ -104,7 +80,7 @@ export function HomeContent({ sidebarExpanded, assistenteExpanded = false, onTog
|
|
|
104
80
|
</p>
|
|
105
81
|
</CardContent>
|
|
106
82
|
<CardFooter>
|
|
107
|
-
<Button
|
|
83
|
+
<Button
|
|
108
84
|
variant="outline"
|
|
109
85
|
className="w-full"
|
|
110
86
|
onClick={() => navigate('/template')}
|
package/components/HomePage.tsx
CHANGED
|
@@ -3,6 +3,7 @@ import { useLocation, useNavigate } from 'react-router';
|
|
|
3
3
|
import { Sidebar } from './Sidebar';
|
|
4
4
|
import { HomeContent } from './HomeContent';
|
|
5
5
|
import { AssistenteXertica } from './AssistenteXertica';
|
|
6
|
+
import { routes } from '../routes';
|
|
6
7
|
|
|
7
8
|
interface HomePageProps {
|
|
8
9
|
user: { email: string } | null;
|
|
@@ -46,15 +47,16 @@ export function HomePage({ user, onLogout }: HomePageProps) {
|
|
|
46
47
|
|
|
47
48
|
return (
|
|
48
49
|
<div className="h-screen flex bg-muted overflow-hidden relative">
|
|
49
|
-
<Sidebar
|
|
50
|
+
<Sidebar
|
|
50
51
|
expanded={sidebarExpanded}
|
|
51
52
|
onToggle={handleToggleSidebar}
|
|
52
53
|
user={user}
|
|
53
54
|
onLogout={onLogout}
|
|
54
55
|
location={location}
|
|
55
56
|
navigate={navigate}
|
|
57
|
+
routes={routes}
|
|
56
58
|
/>
|
|
57
|
-
<HomeContent
|
|
59
|
+
<HomeContent
|
|
58
60
|
sidebarExpanded={sidebarExpanded}
|
|
59
61
|
assistenteExpanded={assistenteExpanded}
|
|
60
62
|
onToggleSidebar={handleToggleSidebar}
|
package/components/Sidebar.tsx
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
MoreHorizontal,
|
|
8
8
|
ChevronRight,
|
|
9
9
|
} from "lucide-react";
|
|
10
|
-
import
|
|
10
|
+
// routes import removed to make it reusable
|
|
11
11
|
import { Avatar, AvatarFallback, AvatarImage } from "./ui/avatar";
|
|
12
12
|
import { Popover, PopoverContent, PopoverTrigger } from "./ui/popover";
|
|
13
13
|
import { Tooltip, TooltipProvider, TooltipTrigger } from "./ui/tooltip";
|
|
@@ -15,8 +15,9 @@ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
|
15
15
|
import { cn } from "./ui/utils";
|
|
16
16
|
import { XerticaLogo } from "./XerticaLogo";
|
|
17
17
|
import { XerticaXLogo } from "./XerticaXLogo";
|
|
18
|
+
import { Button } from "./ui/button";
|
|
18
19
|
|
|
19
|
-
//
|
|
20
|
+
// Validar se SidebarTooltipContent já existe em outro lugar ou manter aqui
|
|
20
21
|
function SidebarTooltipContent({
|
|
21
22
|
className,
|
|
22
23
|
sideOffset = 0,
|
|
@@ -34,15 +35,23 @@ function SidebarTooltipContent({
|
|
|
34
35
|
{...props}
|
|
35
36
|
>
|
|
36
37
|
{children}
|
|
37
|
-
<TooltipPrimitive.Arrow
|
|
38
|
-
className="fill-popover z-50 drop-shadow-sm"
|
|
39
|
-
width={8}
|
|
38
|
+
<TooltipPrimitive.Arrow
|
|
39
|
+
className="fill-popover z-50 drop-shadow-sm"
|
|
40
|
+
width={8}
|
|
40
41
|
height={4}
|
|
41
42
|
/>
|
|
42
43
|
</TooltipPrimitive.Content>
|
|
43
44
|
);
|
|
44
45
|
}
|
|
45
46
|
|
|
47
|
+
// Interface for Route Config (copied/imported type)
|
|
48
|
+
export interface RouteConfig {
|
|
49
|
+
path: string;
|
|
50
|
+
label: string;
|
|
51
|
+
icon: React.ComponentType<any>;
|
|
52
|
+
component?: React.ComponentType<any>;
|
|
53
|
+
}
|
|
54
|
+
|
|
46
55
|
interface SubMenuItem {
|
|
47
56
|
id: string;
|
|
48
57
|
label: string;
|
|
@@ -64,6 +73,7 @@ interface SidebarProps {
|
|
|
64
73
|
onLogout: () => void;
|
|
65
74
|
location: { pathname: string };
|
|
66
75
|
navigate: (path: string) => void;
|
|
76
|
+
routes: RouteConfig[];
|
|
67
77
|
}
|
|
68
78
|
|
|
69
79
|
export function Sidebar({
|
|
@@ -73,6 +83,7 @@ export function Sidebar({
|
|
|
73
83
|
onLogout,
|
|
74
84
|
location,
|
|
75
85
|
navigate,
|
|
86
|
+
routes,
|
|
76
87
|
}: SidebarProps) {
|
|
77
88
|
const navRef = useRef<HTMLDivElement>(null);
|
|
78
89
|
const [hasOverflow, setHasOverflow] = useState(false);
|
|
@@ -154,9 +165,9 @@ export function Sidebar({
|
|
|
154
165
|
? "w-full h-10 flex items-center gap-3 px-3 justify-start rounded-[var(--radius-button)] transition-all duration-200 bg-sidebar-foreground/15 text-sidebar-foreground shadow-sm"
|
|
155
166
|
: "w-full h-10 flex items-center gap-3 px-3 justify-start rounded-[var(--radius-button)] transition-all duration-200 text-sidebar-foreground/80 hover:bg-sidebar-foreground/15 hover:text-sidebar-foreground"
|
|
156
167
|
: "w-full h-10 flex items-center justify-center px-0 rounded-[var(--radius-button)] transition-all duration-200 " +
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
168
|
+
(item.active
|
|
169
|
+
? "bg-sidebar-foreground/15 text-sidebar-foreground shadow-sm"
|
|
170
|
+
: "text-sidebar-foreground/80 hover:bg-sidebar-foreground/15 hover:text-sidebar-foreground")
|
|
160
171
|
}
|
|
161
172
|
>
|
|
162
173
|
<Icon className="w-5 h-5 flex-shrink-0" />
|
|
@@ -210,7 +221,7 @@ export function Sidebar({
|
|
|
210
221
|
<span className="truncate">{item.label}</span>
|
|
211
222
|
</button>
|
|
212
223
|
)}
|
|
213
|
-
|
|
224
|
+
|
|
214
225
|
{/* Subitens */}
|
|
215
226
|
{hasSubItems && item.subItems && (
|
|
216
227
|
<>
|
|
@@ -246,9 +257,9 @@ export function Sidebar({
|
|
|
246
257
|
? "w-full h-10 flex items-center gap-3 px-3 justify-start rounded-[var(--radius-button)] transition-all duration-200 bg-sidebar-foreground/15 text-sidebar-foreground shadow-sm"
|
|
247
258
|
: "w-full h-10 flex items-center gap-3 px-3 justify-start rounded-[var(--radius-button)] transition-all duration-200 text-sidebar-foreground/80 hover:bg-sidebar-foreground/15 hover:text-sidebar-foreground"
|
|
248
259
|
: "w-full h-10 flex items-center justify-center px-0 rounded-[var(--radius-button)] transition-all duration-200 " +
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
260
|
+
(item.active
|
|
261
|
+
? "bg-sidebar-foreground/15 text-sidebar-foreground shadow-sm"
|
|
262
|
+
: "text-sidebar-foreground/80 hover:bg-sidebar-foreground/15 hover:text-sidebar-foreground")
|
|
252
263
|
}
|
|
253
264
|
>
|
|
254
265
|
<Icon className="w-5 h-5 flex-shrink-0" />
|
|
@@ -281,11 +292,10 @@ export function Sidebar({
|
|
|
281
292
|
<TooltipProvider delayDuration={300}>
|
|
282
293
|
{/* Sidebar */}
|
|
283
294
|
<div
|
|
284
|
-
className={`bg-sidebar text-sidebar-foreground transition-all duration-300 ease-in-out flex flex-col z-50 ${
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}`}
|
|
295
|
+
className={`bg-sidebar text-sidebar-foreground transition-all duration-300 ease-in-out flex flex-col z-50 ${expanded
|
|
296
|
+
? "fixed inset-0 md:fixed md:inset-y-0 md:left-0 md:w-64"
|
|
297
|
+
: "fixed inset-y-0 left-0 w-20 -translate-x-full md:translate-x-0"
|
|
298
|
+
}`}
|
|
289
299
|
>
|
|
290
300
|
{/* Botão Toggle Menu */}
|
|
291
301
|
<div className="p-[14px] pt-[13px] pr-[14px] pb-[12px] pl-[14px]">
|
|
@@ -3,6 +3,7 @@ import { useLocation, useNavigate } from 'react-router';
|
|
|
3
3
|
import { Sidebar } from './Sidebar';
|
|
4
4
|
import { TemplateContent } from './TemplateContent';
|
|
5
5
|
import { AssistenteXertica } from './AssistenteXertica';
|
|
6
|
+
import { routes } from '../routes';
|
|
6
7
|
|
|
7
8
|
interface TemplatePageProps {
|
|
8
9
|
user: { email: string } | null;
|
|
@@ -46,15 +47,16 @@ export function TemplatePage({ user, onLogout }: TemplatePageProps) {
|
|
|
46
47
|
|
|
47
48
|
return (
|
|
48
49
|
<div className="h-screen flex bg-muted overflow-hidden relative">
|
|
49
|
-
<Sidebar
|
|
50
|
+
<Sidebar
|
|
50
51
|
expanded={sidebarExpanded}
|
|
51
52
|
onToggle={handleToggleSidebar}
|
|
52
53
|
user={user}
|
|
53
54
|
onLogout={onLogout}
|
|
54
55
|
location={location}
|
|
55
56
|
navigate={navigate}
|
|
57
|
+
routes={routes}
|
|
56
58
|
/>
|
|
57
|
-
<TemplateContent
|
|
59
|
+
<TemplateContent
|
|
58
60
|
sidebarExpanded={sidebarExpanded}
|
|
59
61
|
assistenteExpanded={assistenteExpanded}
|
|
60
62
|
onToggleSidebar={handleToggleSidebar}
|
package/components/index.ts
CHANGED
|
@@ -42,4 +42,20 @@ export { XerticaOrbe } from './XerticaOrbe';
|
|
|
42
42
|
// Layout
|
|
43
43
|
export { Sidebar } from './Sidebar';
|
|
44
44
|
export { ThemeToggle } from './ThemeToggle';
|
|
45
|
-
export { LanguageSelector } from './LanguageSelector';
|
|
45
|
+
export { LanguageSelector } from './LanguageSelector';
|
|
46
|
+
|
|
47
|
+
// Connected Components (require Providers)
|
|
48
|
+
export { AssistenteXertica } from './AssistenteXertica';
|
|
49
|
+
|
|
50
|
+
// State Management & Contexts
|
|
51
|
+
export * from '../contexts';
|
|
52
|
+
|
|
53
|
+
// Layout & Common Components
|
|
54
|
+
export { Header } from './Header';
|
|
55
|
+
export { DocumentEditor } from './DocumentEditor';
|
|
56
|
+
|
|
57
|
+
// Media Components
|
|
58
|
+
export { VideoPlayer } from './media/VideoPlayer';
|
|
59
|
+
export { AudioPlayer } from './media/AudioPlayer';
|
|
60
|
+
export { FloatingMediaWrapper } from './media/FloatingMediaWrapper';
|
|
61
|
+
export { PodcastPlayer } from './PodcastPlayer';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface HeaderProps {
|
|
2
|
+
sidebarExpanded: boolean;
|
|
3
|
+
onToggleSidebar: () => void;
|
|
4
|
+
title: string;
|
|
5
|
+
showLanguageSelector?: boolean;
|
|
6
|
+
showThemeToggle?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function Header({ sidebarExpanded, onToggleSidebar, title, showLanguageSelector, showThemeToggle, className }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface RouteConfig {
|
|
3
|
+
path: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon: React.ComponentType<any>;
|
|
6
|
+
component?: React.ComponentType<any>;
|
|
7
|
+
}
|
|
1
8
|
interface SidebarProps {
|
|
2
9
|
expanded: boolean;
|
|
3
10
|
onToggle: () => void;
|
|
@@ -9,6 +16,7 @@ interface SidebarProps {
|
|
|
9
16
|
pathname: string;
|
|
10
17
|
};
|
|
11
18
|
navigate: (path: string) => void;
|
|
19
|
+
routes: RouteConfig[];
|
|
12
20
|
}
|
|
13
|
-
export declare function Sidebar({ expanded, onToggle, user, onLogout, location, navigate, }: SidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function Sidebar({ expanded, onToggle, user, onLogout, location, navigate, routes, }: SidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
14
22
|
export {};
|
|
@@ -13,3 +13,11 @@ export { XerticaOrbe } from './XerticaOrbe';
|
|
|
13
13
|
export { Sidebar } from './Sidebar';
|
|
14
14
|
export { ThemeToggle } from './ThemeToggle';
|
|
15
15
|
export { LanguageSelector } from './LanguageSelector';
|
|
16
|
+
export { AssistenteXertica } from './AssistenteXertica';
|
|
17
|
+
export * from '../contexts';
|
|
18
|
+
export { Header } from './Header';
|
|
19
|
+
export { DocumentEditor } from './DocumentEditor';
|
|
20
|
+
export { VideoPlayer } from './media/VideoPlayer';
|
|
21
|
+
export { AudioPlayer } from './media/AudioPlayer';
|
|
22
|
+
export { FloatingMediaWrapper } from './media/FloatingMediaWrapper';
|
|
23
|
+
export { PodcastPlayer } from './PodcastPlayer';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BrandColors, ColorTheme } from './theme-data';
|
|
3
|
+
interface BrandColorsContextType {
|
|
4
|
+
colors: BrandColors;
|
|
5
|
+
currentTheme: string;
|
|
6
|
+
themes: ColorTheme[];
|
|
7
|
+
setTheme: (themeId: string) => void;
|
|
8
|
+
radius: number;
|
|
9
|
+
setRadius: (radius: number) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const BrandColorsProvider: React.FC<{
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const useBrandColors: () => BrandColorsContextType;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export interface BrandColors {
|
|
2
|
+
primary: string;
|
|
3
|
+
primaryForeground: string;
|
|
4
|
+
primaryLight: string;
|
|
5
|
+
primaryDarkMode: string;
|
|
6
|
+
primaryForegroundDark: string;
|
|
7
|
+
sidebarLight: string;
|
|
8
|
+
sidebarDark: string;
|
|
9
|
+
gradientStart: string;
|
|
10
|
+
gradientEnd: string;
|
|
11
|
+
gradientStartDark: string;
|
|
12
|
+
gradientEndDark: string;
|
|
13
|
+
chart1: string;
|
|
14
|
+
chart2: string;
|
|
15
|
+
chart3: string;
|
|
16
|
+
chart4: string;
|
|
17
|
+
chart5: string;
|
|
18
|
+
radius?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ColorTheme {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
colors: BrandColors;
|
|
25
|
+
preview: {
|
|
26
|
+
primary: string;
|
|
27
|
+
secondary: string;
|
|
28
|
+
accent: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export declare const PALETTE: {
|
|
32
|
+
zinc: {
|
|
33
|
+
900: string;
|
|
34
|
+
50: string;
|
|
35
|
+
};
|
|
36
|
+
slate: {
|
|
37
|
+
900: string;
|
|
38
|
+
50: string;
|
|
39
|
+
};
|
|
40
|
+
stone: {
|
|
41
|
+
900: string;
|
|
42
|
+
50: string;
|
|
43
|
+
};
|
|
44
|
+
gray: {
|
|
45
|
+
900: string;
|
|
46
|
+
50: string;
|
|
47
|
+
};
|
|
48
|
+
neutral: {
|
|
49
|
+
900: string;
|
|
50
|
+
50: string;
|
|
51
|
+
};
|
|
52
|
+
red: {
|
|
53
|
+
600: string;
|
|
54
|
+
500: string;
|
|
55
|
+
};
|
|
56
|
+
rose: {
|
|
57
|
+
600: string;
|
|
58
|
+
500: string;
|
|
59
|
+
};
|
|
60
|
+
orange: {
|
|
61
|
+
600: string;
|
|
62
|
+
500: string;
|
|
63
|
+
};
|
|
64
|
+
green: {
|
|
65
|
+
600: string;
|
|
66
|
+
500: string;
|
|
67
|
+
};
|
|
68
|
+
blue: {
|
|
69
|
+
600: string;
|
|
70
|
+
500: string;
|
|
71
|
+
};
|
|
72
|
+
yellow: {
|
|
73
|
+
600: string;
|
|
74
|
+
500: string;
|
|
75
|
+
};
|
|
76
|
+
violet: {
|
|
77
|
+
600: string;
|
|
78
|
+
500: string;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
export declare const colorThemes: ColorTheme[];
|