@beemafrica/ui 0.1.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/package.json +77 -0
- package/postcss.config.mjs +6 -0
- package/src/components/.gitkeep +0 -0
- package/src/components/accordion.tsx +86 -0
- package/src/components/avatar.tsx +111 -0
- package/src/components/button.tsx +67 -0
- package/src/components/card.tsx +102 -0
- package/src/components/collapsible.tsx +33 -0
- package/src/components/dialog.tsx +169 -0
- package/src/components/field.tsx +238 -0
- package/src/components/input.tsx +18 -0
- package/src/components/label.tsx +24 -0
- package/src/components/pagination.tsx +129 -0
- package/src/components/separator.tsx +28 -0
- package/src/components/table.tsx +118 -0
- package/src/components/tabs.tsx +90 -0
- package/src/components/textarea.tsx +17 -0
- package/src/components/ticket.tsx +144 -0
- package/src/hooks/.gitkeep +0 -0
- package/src/lib/.gitkeep +0 -0
- package/src/lib/utils.ts +6 -0
- package/src/styles/globals.css +62 -0
- package/src/styles/tailwind-theme.css +68 -0
- package/src/styles/theme/beem.css +152 -0
- package/src/styles/theme/semantic.css +75 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Avatar, AvatarFallback } from "@beem/ui/components/avatar"
|
|
2
|
+
import { Button } from "@beem/ui/components/button"
|
|
3
|
+
import {
|
|
4
|
+
Collapsible,
|
|
5
|
+
CollapsibleContent,
|
|
6
|
+
CollapsibleTrigger,
|
|
7
|
+
} from "@beem/ui/components/collapsible"
|
|
8
|
+
import { cn } from "@beem/ui/lib/utils"
|
|
9
|
+
import { ChevronRightIcon } from "lucide-react"
|
|
10
|
+
|
|
11
|
+
interface History {
|
|
12
|
+
label: string
|
|
13
|
+
value: string
|
|
14
|
+
}
|
|
15
|
+
interface TicketProps {
|
|
16
|
+
key: number
|
|
17
|
+
user_initial?: string
|
|
18
|
+
user_name?: string
|
|
19
|
+
message?: string
|
|
20
|
+
time?: string
|
|
21
|
+
type?: string
|
|
22
|
+
history?: History[]
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function Ticket({
|
|
26
|
+
user_initial,
|
|
27
|
+
type,
|
|
28
|
+
user_name,
|
|
29
|
+
message,
|
|
30
|
+
time,
|
|
31
|
+
history,
|
|
32
|
+
}: TicketProps) {
|
|
33
|
+
let avatar_background = ""
|
|
34
|
+
let container_background = ""
|
|
35
|
+
let border = ""
|
|
36
|
+
let ticket_type = ""
|
|
37
|
+
let pill_background = ""
|
|
38
|
+
let pill_text_color = ""
|
|
39
|
+
switch (type) {
|
|
40
|
+
case "system":
|
|
41
|
+
avatar_background = "bg-[#B8C6D1]"
|
|
42
|
+
container_background = "bg-[#F7FAFC]"
|
|
43
|
+
border = "border-[#E3EAF0]"
|
|
44
|
+
ticket_type = "System"
|
|
45
|
+
pill_text_color = "text-[#364550]"
|
|
46
|
+
pill_background = "bg-[#EEF2F5]"
|
|
47
|
+
break
|
|
48
|
+
case "notes":
|
|
49
|
+
avatar_background = "bg-[#f3a929]"
|
|
50
|
+
container_background = "bg-[#FFFBEB]"
|
|
51
|
+
border = "border-[#FDE9B8]"
|
|
52
|
+
ticket_type = "Internal Note"
|
|
53
|
+
pill_text_color = "text-[#B45309]"
|
|
54
|
+
pill_background = "bg-[#FEF3C7]"
|
|
55
|
+
break
|
|
56
|
+
case "user":
|
|
57
|
+
avatar_background = "bg-[#6B7B8D]"
|
|
58
|
+
container_background = "bg-[#FFFFFF]"
|
|
59
|
+
border = "border-[#D5DEE6]"
|
|
60
|
+
ticket_type = "Customer Email"
|
|
61
|
+
pill_text_color = "text-[#1A6B72]"
|
|
62
|
+
pill_background = "bg-[#EAF8F9]"
|
|
63
|
+
break
|
|
64
|
+
default:
|
|
65
|
+
avatar_background = "bg-[#6b7b8d]"
|
|
66
|
+
container_background = "bg-[#FFFFFF]"
|
|
67
|
+
border = "border-[#D5DEE6]"
|
|
68
|
+
break
|
|
69
|
+
}
|
|
70
|
+
return (
|
|
71
|
+
<div
|
|
72
|
+
className={cn(
|
|
73
|
+
container_background,
|
|
74
|
+
border,
|
|
75
|
+
"py-[14px] px-[16px] rounded-[12px] border shadow-sm flex flex-col gap-3"
|
|
76
|
+
)}
|
|
77
|
+
>
|
|
78
|
+
<div className="flex flex-row items-center justify-between">
|
|
79
|
+
<div className="flex flex-row gap-1.5 items-center">
|
|
80
|
+
<Avatar
|
|
81
|
+
className={cn(
|
|
82
|
+
avatar_background,
|
|
83
|
+
"inline-flex size-[30px] select-none items-center justify-center overflow-hidden rounded-full align-middle"
|
|
84
|
+
)}
|
|
85
|
+
>
|
|
86
|
+
<AvatarFallback
|
|
87
|
+
className={cn(
|
|
88
|
+
avatar_background,
|
|
89
|
+
"leading-1 flex size-full items-center justify-center text-[12px] text-white font-semibold"
|
|
90
|
+
)}
|
|
91
|
+
delayMs={600}
|
|
92
|
+
>
|
|
93
|
+
<p>{user_initial ?? "N/A"}</p>
|
|
94
|
+
</AvatarFallback>
|
|
95
|
+
</Avatar>
|
|
96
|
+
|
|
97
|
+
{user_name && <p className="font-bold text-black">{user_name}</p>}
|
|
98
|
+
<p
|
|
99
|
+
className={cn(
|
|
100
|
+
pill_background,
|
|
101
|
+
pill_text_color,
|
|
102
|
+
"py-[3px] px-[10px] rounded-[9999px] text-xs"
|
|
103
|
+
)}
|
|
104
|
+
>
|
|
105
|
+
{ticket_type}
|
|
106
|
+
</p>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
{time && <p className="text-[#98A9B8] text-[11.5px]">{time} </p>}
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
{message && <p className="leading-snug">{message}</p>}
|
|
113
|
+
{history && history.length > 0 && (
|
|
114
|
+
<div className="border-t border-dashed">
|
|
115
|
+
<Collapsible>
|
|
116
|
+
<CollapsibleTrigger asChild>
|
|
117
|
+
<Button
|
|
118
|
+
variant="ghost"
|
|
119
|
+
className="group w-full hover:bg-transparent hover:text-inherit data-[state=open]:bg-transparent justify-start -ml-4"
|
|
120
|
+
>
|
|
121
|
+
<ChevronRightIcon className="group-data-[state=open]:rotate-90" />
|
|
122
|
+
Product details
|
|
123
|
+
</Button>
|
|
124
|
+
</CollapsibleTrigger>
|
|
125
|
+
<CollapsibleContent className="flex flex-col items-start gap-2 p-2.5 pt-0 text-sm max-h-[150px] overflow-y-auto scrollbar scrollbar-thin scrollbar-thumb-rounded-full scrollbar-track-rounded-full">
|
|
126
|
+
{history.map((hs, index) => {
|
|
127
|
+
return (
|
|
128
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
|
|
129
|
+
<div key={index} className="">
|
|
130
|
+
{" "}
|
|
131
|
+
<div>{hs.label}</div>
|
|
132
|
+
<div>{hs.value}</div>
|
|
133
|
+
</div>
|
|
134
|
+
)
|
|
135
|
+
})}
|
|
136
|
+
</CollapsibleContent>
|
|
137
|
+
</Collapsible>
|
|
138
|
+
</div>
|
|
139
|
+
)}
|
|
140
|
+
</div>
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export { Ticket }
|
|
File without changes
|
package/src/lib/.gitkeep
ADDED
|
File without changes
|
package/src/lib/utils.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
|
|
3
|
+
@custom-variant dark (&:is(.dark *));
|
|
4
|
+
@source "../**/*.{ts,tsx}";
|
|
5
|
+
|
|
6
|
+
@theme inline {
|
|
7
|
+
--font-heading: var(--beem-font-heading);
|
|
8
|
+
--font-sans: var(--beem-font-sans);
|
|
9
|
+
--font-mono: var(--beem-font-mono);
|
|
10
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
11
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
12
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
13
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
14
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
15
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
16
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
17
|
+
--color-sidebar: var(--sidebar);
|
|
18
|
+
--color-chart-5: var(--chart-5);
|
|
19
|
+
--color-chart-4: var(--chart-4);
|
|
20
|
+
--color-chart-3: var(--chart-3);
|
|
21
|
+
--color-chart-2: var(--chart-2);
|
|
22
|
+
--color-chart-1: var(--chart-1);
|
|
23
|
+
--color-ring: var(--ring);
|
|
24
|
+
--color-input: var(--input);
|
|
25
|
+
--color-border: var(--border);
|
|
26
|
+
--color-destructive: var(--destructive);
|
|
27
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
28
|
+
--color-accent: var(--accent);
|
|
29
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
30
|
+
--color-muted: var(--muted);
|
|
31
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
32
|
+
--color-secondary: var(--secondary);
|
|
33
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
34
|
+
--color-primary: var(--primary);
|
|
35
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
36
|
+
--color-popover: var(--popover);
|
|
37
|
+
--color-card-foreground: var(--card-foreground);
|
|
38
|
+
--color-card: var(--card);
|
|
39
|
+
--color-foreground: var(--foreground);
|
|
40
|
+
--color-background: var(--background);
|
|
41
|
+
--radius-sm: calc(var(--radius) * 0.6);
|
|
42
|
+
--radius-md: calc(var(--radius) * 0.8);
|
|
43
|
+
--radius-lg: var(--radius);
|
|
44
|
+
--radius-xl: calc(var(--radius) * 1.4);
|
|
45
|
+
--radius-2xl: calc(var(--radius) * 1.8);
|
|
46
|
+
--radius-3xl: calc(var(--radius) * 2.2);
|
|
47
|
+
--radius-4xl: calc(var(--radius) * 2.6);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@layer base {
|
|
51
|
+
* {
|
|
52
|
+
@apply border-border outline-ring/50;
|
|
53
|
+
}
|
|
54
|
+
body {
|
|
55
|
+
@apply bg-background text-foreground;
|
|
56
|
+
font-family: var(--beem-font-sans);
|
|
57
|
+
}
|
|
58
|
+
button:not(:disabled),
|
|
59
|
+
[role="button"]:not(:disabled) {
|
|
60
|
+
cursor: pointer;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
@theme inline {
|
|
2
|
+
--font-heading: var(--beem-font-heading);
|
|
3
|
+
--font-sans: var(--beem-font-sans);
|
|
4
|
+
--font-mono: var(--beem-font-mono);
|
|
5
|
+
|
|
6
|
+
/* Semantic / shadcn tokens (from semantic.css) */
|
|
7
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
8
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
9
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
10
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
11
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
12
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
13
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
14
|
+
--color-sidebar: var(--sidebar);
|
|
15
|
+
--color-chart-5: var(--chart-5);
|
|
16
|
+
--color-chart-4: var(--chart-4);
|
|
17
|
+
--color-chart-3: var(--chart-3);
|
|
18
|
+
--color-chart-2: var(--chart-2);
|
|
19
|
+
--color-chart-1: var(--chart-1);
|
|
20
|
+
--color-ring: var(--ring);
|
|
21
|
+
--color-input: var(--input);
|
|
22
|
+
--color-border: var(--border);
|
|
23
|
+
--color-destructive: var(--destructive);
|
|
24
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
25
|
+
--color-accent: var(--accent);
|
|
26
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
27
|
+
--color-muted: var(--muted);
|
|
28
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
29
|
+
--color-secondary: var(--secondary);
|
|
30
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
31
|
+
--color-primary: var(--primary);
|
|
32
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
33
|
+
--color-popover: var(--popover);
|
|
34
|
+
--color-card-foreground: var(--card-foreground);
|
|
35
|
+
--color-card: var(--card);
|
|
36
|
+
--color-foreground: var(--foreground);
|
|
37
|
+
--color-background: var(--background);
|
|
38
|
+
|
|
39
|
+
/* Brand primitives (from beem.css) → bg/text/border-brand-* */
|
|
40
|
+
--color-brand-primary: var(--beem-brand);
|
|
41
|
+
--color-brand-primary-foreground: var(--beem-brand-foreground);
|
|
42
|
+
--color-brand-light: var(--beem-brand-light);
|
|
43
|
+
--color-brand-muted: var(--beem-brand-muted);
|
|
44
|
+
--color-brand-ste: var(--beem-brand-ste);
|
|
45
|
+
--color-brand-secondary: var(--beem-brand-secondary);
|
|
46
|
+
--color-brand-secondary-foreground: var(--beem-secondary-brand-foreground);
|
|
47
|
+
--color-brand-accent: var(--beem-accent);
|
|
48
|
+
--color-brand-accent-foreground: var(--beem-accent-foreground);
|
|
49
|
+
|
|
50
|
+
/* Raw beem surfaces (optional direct access) */
|
|
51
|
+
--color-beem-brand: var(--beem-brand);
|
|
52
|
+
--color-beem-brand-light: var(--beem-brand-light);
|
|
53
|
+
--color-beem-brand-muted: var(--beem-brand-muted);
|
|
54
|
+
--color-beem-brand-ste: var(--beem-brand-ste);
|
|
55
|
+
--color-beem-secondary: var(--beem-secondary);
|
|
56
|
+
--color-beem-secondary-brand: var(--beem-secondary-brand);
|
|
57
|
+
--color-beem-accent: var(--beem-accent);
|
|
58
|
+
--color-beem-border: var(--beem-border);
|
|
59
|
+
--color-beem-ring: var(--beem-ring);
|
|
60
|
+
|
|
61
|
+
--radius-sm: calc(var(--radius) * 0.6);
|
|
62
|
+
--radius-md: calc(var(--radius) * 0.8);
|
|
63
|
+
--radius-lg: var(--radius);
|
|
64
|
+
--radius-xl: calc(var(--radius) * 1.4);
|
|
65
|
+
--radius-2xl: calc(var(--radius) * 1.8);
|
|
66
|
+
--radius-3xl: calc(var(--radius) * 2.2);
|
|
67
|
+
--radius-4xl: calc(var(--radius) * 2.6);
|
|
68
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beem brand theme — design system tokens.
|
|
3
|
+
*
|
|
4
|
+
* Brand:
|
|
5
|
+
* Primary: #33B1BA
|
|
6
|
+
* Yellow: #F3A929
|
|
7
|
+
* Font: Inter
|
|
8
|
+
*
|
|
9
|
+
* Primitive tokens (--beem-*) are mapped to shadcn/Tailwind
|
|
10
|
+
* semantic tokens in semantic.css.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
:root {
|
|
14
|
+
/* Brand colors */
|
|
15
|
+
--beem-brand: #33b1ba;
|
|
16
|
+
--beem-brand-light: #eef6f7;
|
|
17
|
+
--beem-brand-foreground: #ffffff;
|
|
18
|
+
--beem-brand-secondary: #f3a929;
|
|
19
|
+
--beem-brand-ste: #eef2f5;
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/* Lighter primary shade */
|
|
23
|
+
--beem-brand-muted: #d9f3f5;
|
|
24
|
+
|
|
25
|
+
/* Surfaces */
|
|
26
|
+
--beem-background: #ffffff;
|
|
27
|
+
--beem-foreground: #1f2937;
|
|
28
|
+
|
|
29
|
+
--beem-card: #ffffff;
|
|
30
|
+
--beem-card-foreground: #1f2937;
|
|
31
|
+
|
|
32
|
+
--beem-popover: #ffffff;
|
|
33
|
+
--beem-popover-foreground: #1f2937;
|
|
34
|
+
|
|
35
|
+
/* UI states */
|
|
36
|
+
--beem-secondary: #f4f7f8;
|
|
37
|
+
--beem-secondary-foreground: #374151;
|
|
38
|
+
|
|
39
|
+
--beem-muted: #eef2f5;
|
|
40
|
+
--beem-muted-foreground: #6b7280;
|
|
41
|
+
|
|
42
|
+
--beem-accent: #e6f7f8;
|
|
43
|
+
--beem-accent-foreground: #1f6f75;
|
|
44
|
+
|
|
45
|
+
/* Beem yellow */
|
|
46
|
+
--beem-secondary-brand: #f3a929;
|
|
47
|
+
--beem-secondary-brand-foreground: #1f2937;
|
|
48
|
+
|
|
49
|
+
/* Beem yellow / CTA */
|
|
50
|
+
--beem-destructive: #dc4a4a;
|
|
51
|
+
|
|
52
|
+
--beem-border: #d5dee6;
|
|
53
|
+
--beem-input: #e2e8ea;
|
|
54
|
+
--beem-ring: #33b1ba;
|
|
55
|
+
|
|
56
|
+
/* Sidebar */
|
|
57
|
+
--beem-sidebar: #f8fafa;
|
|
58
|
+
--beem-sidebar-foreground: #1f2937;
|
|
59
|
+
|
|
60
|
+
--beem-sidebar-primary: #33b1ba;
|
|
61
|
+
--beem-sidebar-primary-foreground: #ffffff;
|
|
62
|
+
|
|
63
|
+
--beem-sidebar-accent: #e6f7f8;
|
|
64
|
+
--beem-sidebar-accent-foreground: #1f6f75;
|
|
65
|
+
|
|
66
|
+
--beem-sidebar-border: #e2e8ea;
|
|
67
|
+
--beem-sidebar-ring: #33b1ba;
|
|
68
|
+
|
|
69
|
+
/* Charts */
|
|
70
|
+
--beem-chart-1: #33b1ba;
|
|
71
|
+
--beem-chart-2: #5fc2c9;
|
|
72
|
+
--beem-chart-3: #89d3d8;
|
|
73
|
+
--beem-chart-4: #b3e4e7;
|
|
74
|
+
--beem-chart-5: #d9f3f5;
|
|
75
|
+
|
|
76
|
+
/* Typography & shape */
|
|
77
|
+
--beem-font-sans: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
78
|
+
--beem-font-heading: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
79
|
+
--beem-font-mono:
|
|
80
|
+
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
81
|
+
|
|
82
|
+
--beem-radius: 0.5rem;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* Beem dark theme */
|
|
86
|
+
.dark {
|
|
87
|
+
/* Brand */
|
|
88
|
+
--beem-brand: #5fc2c9;
|
|
89
|
+
--beem-brand-light: #164b50;
|
|
90
|
+
--beem-brand-foreground: #103b3e;
|
|
91
|
+
--beem-brand-secondary: #f3a929;
|
|
92
|
+
--beem-brand-ste: #223031;
|
|
93
|
+
--beem-brand-muted: #164b50;
|
|
94
|
+
|
|
95
|
+
/* Surfaces */
|
|
96
|
+
--beem-background: #11191a;
|
|
97
|
+
--beem-foreground: #f4fafa;
|
|
98
|
+
|
|
99
|
+
--beem-card: #182223;
|
|
100
|
+
--beem-card-foreground: #f4fafa;
|
|
101
|
+
|
|
102
|
+
--beem-popover: #182223;
|
|
103
|
+
--beem-popover-foreground: #f4fafa;
|
|
104
|
+
|
|
105
|
+
/* UI states */
|
|
106
|
+
--beem-secondary: #223031;
|
|
107
|
+
--beem-secondary-foreground: #f4fafa;
|
|
108
|
+
|
|
109
|
+
--beem-muted: #223031;
|
|
110
|
+
--beem-muted-foreground: #a9b9ba;
|
|
111
|
+
|
|
112
|
+
--beem-accent: #164b50;
|
|
113
|
+
--beem-accent-foreground: #e6f7f8;
|
|
114
|
+
|
|
115
|
+
--beem-secondary-brand: #f3a929;
|
|
116
|
+
--beem-secondary-brand-foreground: #ffffff;
|
|
117
|
+
|
|
118
|
+
/* States */
|
|
119
|
+
--beem-destructive: #f06a6a;
|
|
120
|
+
|
|
121
|
+
--beem-border: rgba(255, 255, 255, 0.12);
|
|
122
|
+
--beem-input: rgba(255, 255, 255, 0.16);
|
|
123
|
+
--beem-ring: #5fc2c9;
|
|
124
|
+
|
|
125
|
+
/* Sidebar */
|
|
126
|
+
--beem-sidebar: #182223;
|
|
127
|
+
--beem-sidebar-foreground: #f4fafa;
|
|
128
|
+
|
|
129
|
+
--beem-sidebar-primary: #5fc2c9;
|
|
130
|
+
--beem-sidebar-primary-foreground: #103b3e;
|
|
131
|
+
|
|
132
|
+
--beem-sidebar-accent: #223031;
|
|
133
|
+
--beem-sidebar-accent-foreground: #f4fafa;
|
|
134
|
+
|
|
135
|
+
--beem-sidebar-border: rgba(255, 255, 255, 0.12);
|
|
136
|
+
--beem-sidebar-ring: #5fc2c9;
|
|
137
|
+
|
|
138
|
+
/* Charts */
|
|
139
|
+
--beem-chart-1: #5fc2c9;
|
|
140
|
+
--beem-chart-2: #7ccdd2;
|
|
141
|
+
--beem-chart-3: #99d9dd;
|
|
142
|
+
--beem-chart-4: #b6e5e8;
|
|
143
|
+
--beem-chart-5: #d3f1f2;
|
|
144
|
+
|
|
145
|
+
/* Typography */
|
|
146
|
+
--beem-font-sans: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
147
|
+
--beem-font-heading: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
148
|
+
--beem-font-mono:
|
|
149
|
+
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
150
|
+
|
|
151
|
+
--beem-radius: 0.5rem;
|
|
152
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps Beem brand tokens → shadcn semantic CSS variables.
|
|
3
|
+
* You usually don't need to edit this file — change theme/beem.css instead.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
--background: var(--beem-background);
|
|
8
|
+
--foreground: var(--beem-foreground);
|
|
9
|
+
--card: var(--beem-card);
|
|
10
|
+
--card-foreground: var(--beem-card-foreground);
|
|
11
|
+
--popover: var(--beem-popover);
|
|
12
|
+
--popover-foreground: var(--beem-popover-foreground);
|
|
13
|
+
--primary: var(--beem-brand);
|
|
14
|
+
--brand-light: var(--beem-brand-light);
|
|
15
|
+
--primary-foreground: var(--beem-brand-foreground);
|
|
16
|
+
--secondary: var(--beem-brand-secondary);
|
|
17
|
+
--secondary-foreground: var(--beem-secondary-foreground);
|
|
18
|
+
--muted: var(--beem-muted);
|
|
19
|
+
--muted-foreground: var(--beem-muted-foreground);
|
|
20
|
+
--accent: var(--beem-accent);
|
|
21
|
+
--accent-foreground: var(--beem-accent-foreground);
|
|
22
|
+
--destructive: var(--beem-destructive);
|
|
23
|
+
--border: var(--beem-border);
|
|
24
|
+
--input: var(--beem-input);
|
|
25
|
+
--ring: var(--beem-ring);
|
|
26
|
+
--chart-1: var(--beem-chart-1);
|
|
27
|
+
--chart-2: var(--beem-chart-2);
|
|
28
|
+
--chart-3: var(--beem-chart-3);
|
|
29
|
+
--chart-4: var(--beem-chart-4);
|
|
30
|
+
--chart-5: var(--beem-chart-5);
|
|
31
|
+
--radius: var(--beem-radius);
|
|
32
|
+
--sidebar: var(--beem-sidebar);
|
|
33
|
+
--sidebar-foreground: var(--beem-sidebar-foreground);
|
|
34
|
+
--sidebar-primary: var(--beem-sidebar-primary);
|
|
35
|
+
--sidebar-primary-foreground: var(--beem-sidebar-primary-foreground);
|
|
36
|
+
--sidebar-accent: var(--beem-sidebar-accent);
|
|
37
|
+
--sidebar-accent-foreground: var(--beem-sidebar-accent-foreground);
|
|
38
|
+
--sidebar-border: var(--beem-sidebar-border);
|
|
39
|
+
--sidebar-ring: var(--beem-sidebar-ring);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.dark {
|
|
43
|
+
--background: var(--beem-background);
|
|
44
|
+
--foreground: var(--beem-foreground);
|
|
45
|
+
--card: var(--beem-card);
|
|
46
|
+
--card-foreground: var(--beem-card-foreground);
|
|
47
|
+
--popover: var(--beem-popover);
|
|
48
|
+
--popover-foreground: var(--beem-popover-foreground);
|
|
49
|
+
--primary: var(--beem-brand);
|
|
50
|
+
--brand-light: var(--beem-brand-light);
|
|
51
|
+
--primary-foreground: var(--beem-brand-foreground);
|
|
52
|
+
--secondary: var(--beem-secondary);
|
|
53
|
+
--secondary-foreground: var(--beem-secondary-foreground);
|
|
54
|
+
--muted: var(--beem-muted);
|
|
55
|
+
--muted-foreground: var(--beem-muted-foreground);
|
|
56
|
+
--accent: var(--beem-accent);
|
|
57
|
+
--accent-foreground: var(--beem-accent-foreground);
|
|
58
|
+
--destructive: var(--beem-destructive);
|
|
59
|
+
--border: var(--beem-border);
|
|
60
|
+
--input: var(--beem-input);
|
|
61
|
+
--ring: var(--beem-ring);
|
|
62
|
+
--chart-1: var(--beem-chart-1);
|
|
63
|
+
--chart-2: var(--beem-chart-2);
|
|
64
|
+
--chart-3: var(--beem-chart-3);
|
|
65
|
+
--chart-4: var(--beem-chart-4);
|
|
66
|
+
--chart-5: var(--beem-chart-5);
|
|
67
|
+
--sidebar: var(--beem-sidebar);
|
|
68
|
+
--sidebar-foreground: var(--beem-sidebar-foreground);
|
|
69
|
+
--sidebar-primary: var(--beem-sidebar-primary);
|
|
70
|
+
--sidebar-primary-foreground: var(--beem-sidebar-primary-foreground);
|
|
71
|
+
--sidebar-accent: var(--beem-sidebar-accent);
|
|
72
|
+
--sidebar-accent-foreground: var(--beem-sidebar-accent-foreground);
|
|
73
|
+
--sidebar-border: var(--beem-sidebar-border);
|
|
74
|
+
--sidebar-ring: var(--beem-sidebar-ring);
|
|
75
|
+
}
|