@forthtilliath/shadcn-ui 0.2.0 → 0.3.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/README.md +22 -12
- package/dist/components/blocks/accordion.d.ts.map +1 -1
- package/dist/components/blocks/animated-tabs.d.ts.map +1 -1
- package/dist/components/blocks/animated-tabs.js +0 -18
- package/dist/components/blocks/data-table-ext/pagination.d.ts +2 -2
- package/dist/components/blocks/data-table-ext/pagination.d.ts.map +1 -1
- package/dist/components/blocks/data-table-ext/pagination.js +6 -10
- package/dist/components/blocks/data-table-ext/utils/table-config.d.ts.map +1 -1
- package/dist/components/blocks/data-table-ext/utils/table-config.js +1 -16
- package/dist/components/blocks/data-table.d.ts +1 -1
- package/dist/components/blocks/data-table.js +2 -2
- package/dist/components/carousel.d.ts.map +1 -1
- package/dist/components/carousel.js +0 -1
- package/dist/components/chart.d.ts.map +1 -1
- package/dist/components/chart.js +3 -2
- package/dist/components/form.d.ts +2 -2
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/pagination.d.ts.map +1 -1
- package/dist/components/pagination.js +6 -1
- package/dist/components/sidebar.d.ts.map +1 -1
- package/dist/components/sidebar.js +0 -2
- package/dist/hooks/use-mobile.js +1 -1
- package/dist/styles/themes/brutalist.css +193 -0
- package/dist/styles/themes/crt.css +238 -0
- package/dist/styles/themes/default.css +2 -1
- package/dist/styles/themes/glass.css +178 -0
- package/dist/styles/themes/memphis.css +220 -0
- package/dist/styles/themes/newspaper.css +204 -0
- package/dist/styles/themes/pixel.css +189 -0
- package/dist/styles/themes/sketch.css +214 -0
- package/dist/styles/themes/synthwave.css +205 -0
- package/package.json +55 -48
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* newspaper — Newspaper: newsprint and ink, Didone headlines over double rules, halftone dots, small caps.
|
|
3
|
+
*
|
|
4
|
+
* Tokens plus signature effects: plain CSS rules on shadcn's data-slot
|
|
5
|
+
* attributes, active only while this theme is imported. Fonts fall back to
|
|
6
|
+
* system stacks; for the full look, load Libre Baskerville, Playfair Display, Courier Prime
|
|
7
|
+
* (e.g. from Google Fonts, or next/font).
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
--background: oklch(0.94 0.012 90);
|
|
12
|
+
--foreground: oklch(0.18 0.005 90);
|
|
13
|
+
--card: oklch(0.96 0.01 90);
|
|
14
|
+
--card-foreground: oklch(0.18 0.005 90);
|
|
15
|
+
--popover: oklch(0.96 0.01 90);
|
|
16
|
+
--popover-foreground: oklch(0.18 0.005 90);
|
|
17
|
+
--primary: oklch(0.18 0.005 90);
|
|
18
|
+
--primary-foreground: oklch(0.96 0.01 90);
|
|
19
|
+
--secondary: oklch(0.88 0.012 90);
|
|
20
|
+
--secondary-foreground: oklch(0.18 0.005 90);
|
|
21
|
+
--muted: oklch(0.9 0.012 90);
|
|
22
|
+
--muted-foreground: oklch(0.4 0.01 90);
|
|
23
|
+
--accent: oklch(0.5 0.2 27);
|
|
24
|
+
--accent-foreground: oklch(0.98 0 0);
|
|
25
|
+
--destructive: oklch(0.48 0.19 27);
|
|
26
|
+
--destructive-foreground: oklch(0.98 0 0);
|
|
27
|
+
--border: oklch(0.18 0.005 90);
|
|
28
|
+
--input: oklch(0.18 0.005 90);
|
|
29
|
+
--ring: oklch(0.18 0.005 90);
|
|
30
|
+
--chart-1: oklch(0.18 0.005 90);
|
|
31
|
+
--chart-2: oklch(0.5 0.2 27);
|
|
32
|
+
--chart-3: oklch(0.45 0.01 90);
|
|
33
|
+
--chart-4: oklch(0.65 0.01 90);
|
|
34
|
+
--chart-5: oklch(0.35 0.08 250);
|
|
35
|
+
--sidebar: oklch(0.96 0.01 90);
|
|
36
|
+
--sidebar-foreground: oklch(0.18 0.005 90);
|
|
37
|
+
--sidebar-primary: oklch(0.18 0.005 90);
|
|
38
|
+
--sidebar-primary-foreground: oklch(0.96 0.01 90);
|
|
39
|
+
--sidebar-accent: oklch(0.5 0.2 27);
|
|
40
|
+
--sidebar-accent-foreground: oklch(0.98 0 0);
|
|
41
|
+
--sidebar-border: oklch(0.18 0.005 90);
|
|
42
|
+
--sidebar-ring: oklch(0.18 0.005 90);
|
|
43
|
+
--font-sans:
|
|
44
|
+
"Libre Baskerville", "Old Standard TT", ui-serif, Georgia, Cambria,
|
|
45
|
+
"Times New Roman", serif;
|
|
46
|
+
--font-serif:
|
|
47
|
+
"Libre Baskerville", ui-serif, Georgia, Cambria, "Times New Roman", serif;
|
|
48
|
+
--font-mono:
|
|
49
|
+
"Courier Prime", "Courier New", ui-monospace, SFMono-Regular, Menlo,
|
|
50
|
+
Consolas, "Liberation Mono", monospace;
|
|
51
|
+
--font-display:
|
|
52
|
+
"Playfair Display", "Bodoni Moda", Didot, "Bodoni 72", ui-serif, Georgia,
|
|
53
|
+
Cambria, "Times New Roman", serif;
|
|
54
|
+
--radius: 0rem;
|
|
55
|
+
--shadow-2xs: 0 0 #0000;
|
|
56
|
+
--shadow-xs: 0 0 #0000;
|
|
57
|
+
--shadow-sm: 0 0 #0000;
|
|
58
|
+
--shadow: 0 0 #0000;
|
|
59
|
+
--shadow-md: 0 0 #0000;
|
|
60
|
+
--shadow-lg: 0 0 #0000;
|
|
61
|
+
--shadow-xl: 0 0 #0000;
|
|
62
|
+
--shadow-2xl: 0 0 #0000;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.dark {
|
|
66
|
+
--background: oklch(0.17 0.005 90);
|
|
67
|
+
--foreground: oklch(0.92 0.01 90);
|
|
68
|
+
--card: oklch(0.2 0.006 90);
|
|
69
|
+
--card-foreground: oklch(0.92 0.01 90);
|
|
70
|
+
--popover: oklch(0.2 0.006 90);
|
|
71
|
+
--popover-foreground: oklch(0.92 0.01 90);
|
|
72
|
+
--primary: oklch(0.92 0.01 90);
|
|
73
|
+
--primary-foreground: oklch(0.17 0.005 90);
|
|
74
|
+
--secondary: oklch(0.28 0.008 90);
|
|
75
|
+
--secondary-foreground: oklch(0.92 0.01 90);
|
|
76
|
+
--muted: oklch(0.25 0.008 90);
|
|
77
|
+
--muted-foreground: oklch(0.74 0.01 90);
|
|
78
|
+
--accent: oklch(0.7 0.17 27);
|
|
79
|
+
--accent-foreground: oklch(0.17 0.005 90);
|
|
80
|
+
--destructive: oklch(0.68 0.18 27);
|
|
81
|
+
--destructive-foreground: oklch(0.17 0.005 90);
|
|
82
|
+
--border: oklch(0.92 0.01 90);
|
|
83
|
+
--input: oklch(0.92 0.01 90);
|
|
84
|
+
--ring: oklch(0.92 0.01 90);
|
|
85
|
+
--chart-1: oklch(0.92 0.01 90);
|
|
86
|
+
--chart-2: oklch(0.7 0.17 27);
|
|
87
|
+
--chart-3: oklch(0.7 0.01 90);
|
|
88
|
+
--chart-4: oklch(0.5 0.01 90);
|
|
89
|
+
--chart-5: oklch(0.7 0.08 250);
|
|
90
|
+
--sidebar: oklch(0.2 0.006 90);
|
|
91
|
+
--sidebar-foreground: oklch(0.92 0.01 90);
|
|
92
|
+
--sidebar-primary: oklch(0.92 0.01 90);
|
|
93
|
+
--sidebar-primary-foreground: oklch(0.17 0.005 90);
|
|
94
|
+
--sidebar-accent: oklch(0.7 0.17 27);
|
|
95
|
+
--sidebar-accent-foreground: oklch(0.17 0.005 90);
|
|
96
|
+
--sidebar-border: oklch(0.92 0.01 90);
|
|
97
|
+
--sidebar-ring: oklch(0.92 0.01 90);
|
|
98
|
+
--font-sans:
|
|
99
|
+
"Libre Baskerville", "Old Standard TT", ui-serif, Georgia, Cambria,
|
|
100
|
+
"Times New Roman", serif;
|
|
101
|
+
--font-serif:
|
|
102
|
+
"Libre Baskerville", ui-serif, Georgia, Cambria, "Times New Roman", serif;
|
|
103
|
+
--font-mono:
|
|
104
|
+
"Courier Prime", "Courier New", ui-monospace, SFMono-Regular, Menlo,
|
|
105
|
+
Consolas, "Liberation Mono", monospace;
|
|
106
|
+
--font-display:
|
|
107
|
+
"Playfair Display", "Bodoni Moda", Didot, "Bodoni 72", ui-serif, Georgia,
|
|
108
|
+
Cambria, "Times New Roman", serif;
|
|
109
|
+
--radius: 0rem;
|
|
110
|
+
--shadow-2xs: 0 0 #0000;
|
|
111
|
+
--shadow-xs: 0 0 #0000;
|
|
112
|
+
--shadow-sm: 0 0 #0000;
|
|
113
|
+
--shadow: 0 0 #0000;
|
|
114
|
+
--shadow-md: 0 0 #0000;
|
|
115
|
+
--shadow-lg: 0 0 #0000;
|
|
116
|
+
--shadow-xl: 0 0 #0000;
|
|
117
|
+
--shadow-2xl: 0 0 #0000;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* Signature effects */
|
|
121
|
+
|
|
122
|
+
:where([data-slot="button"][class*="shadow-xs"]):focus-visible {
|
|
123
|
+
outline: 2px solid var(--ring);
|
|
124
|
+
outline-offset: 2px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
body {
|
|
128
|
+
background-image: radial-gradient(
|
|
129
|
+
color-mix(in oklab, var(--foreground) 11%, transparent) 0.7px,
|
|
130
|
+
transparent 1px
|
|
131
|
+
);
|
|
132
|
+
background-size: 5px 5px;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
[data-slot="card"],
|
|
136
|
+
[data-slot="alert"],
|
|
137
|
+
[data-slot="dialog-content"],
|
|
138
|
+
[data-slot="alert-dialog-content"],
|
|
139
|
+
[data-slot="sheet-content"],
|
|
140
|
+
[data-slot="drawer-content"],
|
|
141
|
+
[data-slot="popover-content"],
|
|
142
|
+
[data-slot="hover-card-content"],
|
|
143
|
+
[data-slot="dropdown-menu-content"],
|
|
144
|
+
[data-slot="select-content"],
|
|
145
|
+
[data-slot="menubar-content"],
|
|
146
|
+
[data-slot="input"],
|
|
147
|
+
[data-slot="textarea"],
|
|
148
|
+
[data-slot="select-trigger"],
|
|
149
|
+
[data-slot="input-otp-slot"],
|
|
150
|
+
[data-slot="button"][class*="shadow-xs"],
|
|
151
|
+
[data-slot="badge"] {
|
|
152
|
+
border-radius: 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
[data-slot="card"],
|
|
156
|
+
[data-slot="alert"],
|
|
157
|
+
[data-slot="dialog-content"],
|
|
158
|
+
[data-slot="alert-dialog-content"],
|
|
159
|
+
[data-slot="sheet-content"],
|
|
160
|
+
[data-slot="drawer-content"],
|
|
161
|
+
[data-slot="popover-content"],
|
|
162
|
+
[data-slot="hover-card-content"],
|
|
163
|
+
[data-slot="dropdown-menu-content"],
|
|
164
|
+
[data-slot="select-content"],
|
|
165
|
+
[data-slot="menubar-content"] {
|
|
166
|
+
border: 1px solid var(--border);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
[data-slot="card"] {
|
|
170
|
+
border-top: 6px double var(--border);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
[data-slot="card-title"],
|
|
174
|
+
[data-slot="dialog-title"],
|
|
175
|
+
[data-slot="alert-dialog-title"],
|
|
176
|
+
[data-slot="sheet-title"],
|
|
177
|
+
[data-slot="drawer-title"] {
|
|
178
|
+
font-family: var(--font-display);
|
|
179
|
+
font-weight: 900;
|
|
180
|
+
font-size: 1.4em;
|
|
181
|
+
line-height: 1.1;
|
|
182
|
+
letter-spacing: -0.01em;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
[data-slot="card-description"] {
|
|
186
|
+
font-style: italic;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
[data-slot="button"][class*="shadow-xs"],
|
|
190
|
+
[data-slot="badge"] {
|
|
191
|
+
font-variant-caps: all-small-caps;
|
|
192
|
+
letter-spacing: 0.12em;
|
|
193
|
+
font-weight: 700;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
[data-slot="button"][class*="shadow-xs"] {
|
|
197
|
+
border: 1px solid var(--foreground);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
[data-slot="separator"][data-orientation="horizontal"] {
|
|
201
|
+
height: 0;
|
|
202
|
+
background: none;
|
|
203
|
+
border-top: 3px double var(--border);
|
|
204
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* pixel — 8-bit: notched pixel frames, pixel type, checkerboard — Game Boy greens (light), PICO-8 night (dark).
|
|
3
|
+
*
|
|
4
|
+
* Tokens plus signature effects: plain CSS rules on shadcn's data-slot
|
|
5
|
+
* attributes, active only while this theme is imported. Fonts fall back to
|
|
6
|
+
* system stacks; for the full look, load Pixelify Sans, Press Start 2P, VT323
|
|
7
|
+
* (e.g. from Google Fonts, or next/font).
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
--background: oklch(0.83 0.13 120);
|
|
12
|
+
--foreground: oklch(0.3 0.07 145);
|
|
13
|
+
--card: oklch(0.88 0.1 120);
|
|
14
|
+
--card-foreground: oklch(0.3 0.07 145);
|
|
15
|
+
--popover: oklch(0.88 0.1 120);
|
|
16
|
+
--popover-foreground: oklch(0.3 0.07 145);
|
|
17
|
+
--primary: oklch(0.3 0.07 145);
|
|
18
|
+
--primary-foreground: oklch(0.88 0.1 120);
|
|
19
|
+
--secondary: oklch(0.45 0.09 145);
|
|
20
|
+
--secondary-foreground: oklch(0.93 0.07 120);
|
|
21
|
+
--muted: oklch(0.78 0.14 122);
|
|
22
|
+
--muted-foreground: oklch(0.3 0.07 145);
|
|
23
|
+
--accent: oklch(0.7 0.16 122);
|
|
24
|
+
--accent-foreground: oklch(0.25 0.06 145);
|
|
25
|
+
--destructive: oklch(0.42 0.12 30);
|
|
26
|
+
--destructive-foreground: oklch(0.93 0.07 120);
|
|
27
|
+
--border: oklch(0.3 0.07 145);
|
|
28
|
+
--input: oklch(0.3 0.07 145);
|
|
29
|
+
--ring: oklch(0.3 0.07 145);
|
|
30
|
+
--chart-1: oklch(0.3 0.07 145);
|
|
31
|
+
--chart-2: oklch(0.45 0.09 145);
|
|
32
|
+
--chart-3: oklch(0.62 0.15 125);
|
|
33
|
+
--chart-4: oklch(0.42 0.12 30);
|
|
34
|
+
--chart-5: oklch(0.55 0.1 180);
|
|
35
|
+
--sidebar: oklch(0.88 0.1 120);
|
|
36
|
+
--sidebar-foreground: oklch(0.3 0.07 145);
|
|
37
|
+
--sidebar-primary: oklch(0.3 0.07 145);
|
|
38
|
+
--sidebar-primary-foreground: oklch(0.88 0.1 120);
|
|
39
|
+
--sidebar-accent: oklch(0.7 0.16 122);
|
|
40
|
+
--sidebar-accent-foreground: oklch(0.25 0.06 145);
|
|
41
|
+
--sidebar-border: oklch(0.3 0.07 145);
|
|
42
|
+
--sidebar-ring: oklch(0.3 0.07 145);
|
|
43
|
+
--font-sans:
|
|
44
|
+
"Pixelify Sans", "Silkscreen", ui-monospace, SFMono-Regular, Menlo,
|
|
45
|
+
Consolas, "Liberation Mono", monospace;
|
|
46
|
+
--font-serif:
|
|
47
|
+
"Pixelify Sans", ui-monospace, SFMono-Regular, Menlo, Consolas,
|
|
48
|
+
"Liberation Mono", monospace;
|
|
49
|
+
--font-mono:
|
|
50
|
+
"VT323", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono",
|
|
51
|
+
monospace;
|
|
52
|
+
--font-display:
|
|
53
|
+
"Press Start 2P", "Silkscreen", ui-monospace, SFMono-Regular, Menlo,
|
|
54
|
+
Consolas, "Liberation Mono", monospace;
|
|
55
|
+
--radius: 0rem;
|
|
56
|
+
--shadow-2xs: 2px 2px 0px 0px oklch(0.3 0.07 145);
|
|
57
|
+
--shadow-xs: 2px 2px 0px 0px oklch(0.3 0.07 145);
|
|
58
|
+
--shadow-sm: 4px 4px 0px 0px oklch(0.3 0.07 145);
|
|
59
|
+
--shadow: 4px 4px 0px 0px oklch(0.3 0.07 145);
|
|
60
|
+
--shadow-md: 4px 4px 0px 0px oklch(0.3 0.07 145);
|
|
61
|
+
--shadow-lg: 8px 8px 0px 0px oklch(0.3 0.07 145);
|
|
62
|
+
--shadow-xl: 8px 8px 0px 0px oklch(0.3 0.07 145);
|
|
63
|
+
--shadow-2xl: 12px 12px 0px 0px oklch(0.3 0.07 145);
|
|
64
|
+
--pixel-frame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' fill='%230f380f'%3E%3Cpath d='M2 0h2v2H2zM0 2h2v2H0zM4 2h2v2H4zM2 4h2v2H2z'/%3E%3C/svg%3E");
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.dark {
|
|
68
|
+
--background: oklch(0.2 0.035 270);
|
|
69
|
+
--foreground: oklch(0.96 0.005 90);
|
|
70
|
+
--card: oklch(0.26 0.045 270);
|
|
71
|
+
--card-foreground: oklch(0.96 0.005 90);
|
|
72
|
+
--popover: oklch(0.26 0.045 270);
|
|
73
|
+
--popover-foreground: oklch(0.96 0.005 90);
|
|
74
|
+
--primary: oklch(0.9 0.17 100);
|
|
75
|
+
--primary-foreground: oklch(0.2 0.035 270);
|
|
76
|
+
--secondary: oklch(0.72 0.13 240);
|
|
77
|
+
--secondary-foreground: oklch(0.2 0.035 270);
|
|
78
|
+
--muted: oklch(0.3 0.045 270);
|
|
79
|
+
--muted-foreground: oklch(0.8 0.02 270);
|
|
80
|
+
--accent: oklch(0.77 0.15 350);
|
|
81
|
+
--accent-foreground: oklch(0.2 0.035 270);
|
|
82
|
+
--destructive: oklch(0.66 0.22 25);
|
|
83
|
+
--destructive-foreground: oklch(0.2 0.035 270);
|
|
84
|
+
--border: oklch(0.96 0.005 90);
|
|
85
|
+
--input: oklch(0.96 0.005 90);
|
|
86
|
+
--ring: oklch(0.9 0.17 100);
|
|
87
|
+
--chart-1: oklch(0.9 0.17 100);
|
|
88
|
+
--chart-2: oklch(0.72 0.13 240);
|
|
89
|
+
--chart-3: oklch(0.77 0.15 350);
|
|
90
|
+
--chart-4: oklch(0.75 0.2 145);
|
|
91
|
+
--chart-5: oklch(0.7 0.17 50);
|
|
92
|
+
--sidebar: oklch(0.26 0.045 270);
|
|
93
|
+
--sidebar-foreground: oklch(0.96 0.005 90);
|
|
94
|
+
--sidebar-primary: oklch(0.9 0.17 100);
|
|
95
|
+
--sidebar-primary-foreground: oklch(0.2 0.035 270);
|
|
96
|
+
--sidebar-accent: oklch(0.77 0.15 350);
|
|
97
|
+
--sidebar-accent-foreground: oklch(0.2 0.035 270);
|
|
98
|
+
--sidebar-border: oklch(0.96 0.005 90);
|
|
99
|
+
--sidebar-ring: oklch(0.9 0.17 100);
|
|
100
|
+
--font-sans:
|
|
101
|
+
"Pixelify Sans", "Silkscreen", ui-monospace, SFMono-Regular, Menlo,
|
|
102
|
+
Consolas, "Liberation Mono", monospace;
|
|
103
|
+
--font-serif:
|
|
104
|
+
"Pixelify Sans", ui-monospace, SFMono-Regular, Menlo, Consolas,
|
|
105
|
+
"Liberation Mono", monospace;
|
|
106
|
+
--font-mono:
|
|
107
|
+
"VT323", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono",
|
|
108
|
+
monospace;
|
|
109
|
+
--font-display:
|
|
110
|
+
"Press Start 2P", "Silkscreen", ui-monospace, SFMono-Regular, Menlo,
|
|
111
|
+
Consolas, "Liberation Mono", monospace;
|
|
112
|
+
--radius: 0rem;
|
|
113
|
+
--shadow-2xs: 2px 2px 0px 0px oklch(0.08 0.02 270);
|
|
114
|
+
--shadow-xs: 2px 2px 0px 0px oklch(0.08 0.02 270);
|
|
115
|
+
--shadow-sm: 4px 4px 0px 0px oklch(0.08 0.02 270);
|
|
116
|
+
--shadow: 4px 4px 0px 0px oklch(0.08 0.02 270);
|
|
117
|
+
--shadow-md: 4px 4px 0px 0px oklch(0.08 0.02 270);
|
|
118
|
+
--shadow-lg: 8px 8px 0px 0px oklch(0.08 0.02 270);
|
|
119
|
+
--shadow-xl: 8px 8px 0px 0px oklch(0.08 0.02 270);
|
|
120
|
+
--shadow-2xl: 12px 12px 0px 0px oklch(0.08 0.02 270);
|
|
121
|
+
--pixel-frame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' fill='%23f4f4f4'%3E%3Cpath d='M2 0h2v2H2zM0 2h2v2H0zM4 2h2v2H4zM2 4h2v2H2z'/%3E%3C/svg%3E");
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Signature effects */
|
|
125
|
+
|
|
126
|
+
:where([data-slot="button"][class*="shadow-xs"]):focus-visible {
|
|
127
|
+
outline: 2px solid var(--ring);
|
|
128
|
+
outline-offset: 2px;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
body {
|
|
132
|
+
background-image: conic-gradient(
|
|
133
|
+
color-mix(in oklab, var(--foreground) 6%, transparent) 25%,
|
|
134
|
+
transparent 0 50%,
|
|
135
|
+
color-mix(in oklab, var(--foreground) 6%, transparent) 0 75%,
|
|
136
|
+
transparent 0
|
|
137
|
+
);
|
|
138
|
+
background-size: 16px 16px;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
[data-slot="card"],
|
|
142
|
+
[data-slot="alert"],
|
|
143
|
+
[data-slot="dialog-content"],
|
|
144
|
+
[data-slot="alert-dialog-content"],
|
|
145
|
+
[data-slot="sheet-content"],
|
|
146
|
+
[data-slot="drawer-content"],
|
|
147
|
+
[data-slot="popover-content"],
|
|
148
|
+
[data-slot="hover-card-content"],
|
|
149
|
+
[data-slot="dropdown-menu-content"],
|
|
150
|
+
[data-slot="select-content"],
|
|
151
|
+
[data-slot="menubar-content"],
|
|
152
|
+
[data-slot="input"],
|
|
153
|
+
[data-slot="textarea"],
|
|
154
|
+
[data-slot="select-trigger"],
|
|
155
|
+
[data-slot="input-otp-slot"],
|
|
156
|
+
[data-slot="button"][class*="shadow-xs"],
|
|
157
|
+
[data-slot="badge"] {
|
|
158
|
+
border: 4px solid transparent;
|
|
159
|
+
border-image: var(--pixel-frame) 2 / 4px stretch;
|
|
160
|
+
border-radius: 0;
|
|
161
|
+
background-clip: padding-box;
|
|
162
|
+
image-rendering: pixelated;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
[data-slot="card-title"],
|
|
166
|
+
[data-slot="dialog-title"],
|
|
167
|
+
[data-slot="alert-dialog-title"],
|
|
168
|
+
[data-slot="sheet-title"],
|
|
169
|
+
[data-slot="drawer-title"] {
|
|
170
|
+
font-family: var(--font-display);
|
|
171
|
+
font-size: 0.8em;
|
|
172
|
+
line-height: 1.6;
|
|
173
|
+
text-transform: uppercase;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
[data-slot="button"][class*="shadow-xs"] {
|
|
177
|
+
text-transform: uppercase;
|
|
178
|
+
box-shadow: var(--shadow-sm);
|
|
179
|
+
transition: none;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
[data-slot="button"][class*="shadow-xs"]:active {
|
|
183
|
+
transform: translateY(4px);
|
|
184
|
+
box-shadow: 0 0 #0000;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
[data-slot] {
|
|
188
|
+
transition-timing-function: steps(3, end);
|
|
189
|
+
}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* sketch — Hand-drawn: wobbly inked outlines and handwriting — lined notebook (light), chalkboard (dark).
|
|
3
|
+
*
|
|
4
|
+
* Tokens plus signature effects: plain CSS rules on shadcn's data-slot
|
|
5
|
+
* attributes, active only while this theme is imported. Fonts fall back to
|
|
6
|
+
* system stacks; for the full look, load Patrick Hand
|
|
7
|
+
* (e.g. from Google Fonts, or next/font).
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
--background: oklch(0.98 0.008 90);
|
|
12
|
+
--foreground: oklch(0.28 0.03 260);
|
|
13
|
+
--card: oklch(1 0 0);
|
|
14
|
+
--card-foreground: oklch(0.28 0.03 260);
|
|
15
|
+
--popover: oklch(1 0 0);
|
|
16
|
+
--popover-foreground: oklch(0.28 0.03 260);
|
|
17
|
+
--primary: oklch(0.45 0.15 255);
|
|
18
|
+
--primary-foreground: oklch(1 0 0);
|
|
19
|
+
--secondary: oklch(0.93 0.1 100);
|
|
20
|
+
--secondary-foreground: oklch(0.28 0.03 260);
|
|
21
|
+
--muted: oklch(0.95 0.01 90);
|
|
22
|
+
--muted-foreground: oklch(0.46 0.02 260);
|
|
23
|
+
--accent: oklch(0.9 0.07 350);
|
|
24
|
+
--accent-foreground: oklch(0.28 0.03 260);
|
|
25
|
+
--destructive: oklch(0.52 0.19 27);
|
|
26
|
+
--destructive-foreground: oklch(1 0 0);
|
|
27
|
+
--border: oklch(0.28 0.03 260);
|
|
28
|
+
--input: oklch(0.28 0.03 260);
|
|
29
|
+
--ring: oklch(0.45 0.15 255);
|
|
30
|
+
--chart-1: oklch(0.45 0.15 255);
|
|
31
|
+
--chart-2: oklch(0.75 0.15 100);
|
|
32
|
+
--chart-3: oklch(0.7 0.13 350);
|
|
33
|
+
--chart-4: oklch(0.6 0.12 150);
|
|
34
|
+
--chart-5: oklch(0.52 0.19 27);
|
|
35
|
+
--sidebar: oklch(1 0 0);
|
|
36
|
+
--sidebar-foreground: oklch(0.28 0.03 260);
|
|
37
|
+
--sidebar-primary: oklch(0.45 0.15 255);
|
|
38
|
+
--sidebar-primary-foreground: oklch(1 0 0);
|
|
39
|
+
--sidebar-accent: oklch(0.9 0.07 350);
|
|
40
|
+
--sidebar-accent-foreground: oklch(0.28 0.03 260);
|
|
41
|
+
--sidebar-border: oklch(0.28 0.03 260);
|
|
42
|
+
--sidebar-ring: oklch(0.45 0.15 255);
|
|
43
|
+
--font-sans:
|
|
44
|
+
"Patrick Hand", "Kalam", "Comic Neue", "Comic Sans MS", "Chalkboard SE",
|
|
45
|
+
cursive;
|
|
46
|
+
--font-serif: "Patrick Hand", "Kalam", cursive;
|
|
47
|
+
--font-mono:
|
|
48
|
+
"Courier Prime", ui-monospace, SFMono-Regular, Menlo, Consolas,
|
|
49
|
+
"Liberation Mono", monospace;
|
|
50
|
+
--radius: 0.75rem;
|
|
51
|
+
--shadow-2xs: 1px 1px 0px 0px oklch(0.28 0.03 260 / 0.85);
|
|
52
|
+
--shadow-xs: 1px 1px 0px 0px oklch(0.28 0.03 260 / 0.85);
|
|
53
|
+
--shadow-sm: 2px 2px 0px 0px oklch(0.28 0.03 260 / 0.85);
|
|
54
|
+
--shadow: 2px 2px 0px 0px oklch(0.28 0.03 260 / 0.85);
|
|
55
|
+
--shadow-md: 3px 3px 0px 0px oklch(0.28 0.03 260 / 0.85);
|
|
56
|
+
--shadow-lg: 3px 3px 0px 0px oklch(0.28 0.03 260 / 0.85);
|
|
57
|
+
--shadow-xl: 4px 4px 0px 0px oklch(0.28 0.03 260 / 0.85);
|
|
58
|
+
--shadow-2xl: 6px 6px 0px 0px oklch(0.28 0.03 260 / 0.85);
|
|
59
|
+
--paper-lines: repeating-linear-gradient(
|
|
60
|
+
transparent 0 27px,
|
|
61
|
+
oklch(0.75 0.06 240 / 0.45) 27px 28px
|
|
62
|
+
);
|
|
63
|
+
--paper-margin: linear-gradient(
|
|
64
|
+
90deg,
|
|
65
|
+
transparent 56px,
|
|
66
|
+
oklch(0.7 0.15 25 / 0.45) 56px 58px,
|
|
67
|
+
transparent 58px
|
|
68
|
+
);
|
|
69
|
+
--highlight: oklch(0.93 0.14 100 / 0.8);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.dark {
|
|
73
|
+
--background: oklch(0.29 0.035 160);
|
|
74
|
+
--foreground: oklch(0.95 0.01 100);
|
|
75
|
+
--card: oklch(0.33 0.04 160);
|
|
76
|
+
--card-foreground: oklch(0.95 0.01 100);
|
|
77
|
+
--popover: oklch(0.33 0.04 160);
|
|
78
|
+
--popover-foreground: oklch(0.95 0.01 100);
|
|
79
|
+
--primary: oklch(0.9 0.09 95);
|
|
80
|
+
--primary-foreground: oklch(0.29 0.035 160);
|
|
81
|
+
--secondary: oklch(0.39 0.04 160);
|
|
82
|
+
--secondary-foreground: oklch(0.95 0.01 100);
|
|
83
|
+
--muted: oklch(0.35 0.035 160);
|
|
84
|
+
--muted-foreground: oklch(0.84 0.02 110);
|
|
85
|
+
--accent: oklch(0.85 0.08 350);
|
|
86
|
+
--accent-foreground: oklch(0.29 0.035 160);
|
|
87
|
+
--destructive: oklch(0.78 0.14 25);
|
|
88
|
+
--destructive-foreground: oklch(0.29 0.035 160);
|
|
89
|
+
--border: oklch(0.9 0.01 100);
|
|
90
|
+
--input: oklch(0.9 0.01 100);
|
|
91
|
+
--ring: oklch(0.9 0.09 95);
|
|
92
|
+
--chart-1: oklch(0.9 0.09 95);
|
|
93
|
+
--chart-2: oklch(0.85 0.08 350);
|
|
94
|
+
--chart-3: oklch(0.82 0.08 220);
|
|
95
|
+
--chart-4: oklch(0.85 0.1 150);
|
|
96
|
+
--chart-5: oklch(0.78 0.14 25);
|
|
97
|
+
--sidebar: oklch(0.33 0.04 160);
|
|
98
|
+
--sidebar-foreground: oklch(0.95 0.01 100);
|
|
99
|
+
--sidebar-primary: oklch(0.9 0.09 95);
|
|
100
|
+
--sidebar-primary-foreground: oklch(0.29 0.035 160);
|
|
101
|
+
--sidebar-accent: oklch(0.85 0.08 350);
|
|
102
|
+
--sidebar-accent-foreground: oklch(0.29 0.035 160);
|
|
103
|
+
--sidebar-border: oklch(0.9 0.01 100);
|
|
104
|
+
--sidebar-ring: oklch(0.9 0.09 95);
|
|
105
|
+
--font-sans:
|
|
106
|
+
"Patrick Hand", "Kalam", "Comic Neue", "Comic Sans MS", "Chalkboard SE",
|
|
107
|
+
cursive;
|
|
108
|
+
--font-serif: "Patrick Hand", "Kalam", cursive;
|
|
109
|
+
--font-mono:
|
|
110
|
+
"Courier Prime", ui-monospace, SFMono-Regular, Menlo, Consolas,
|
|
111
|
+
"Liberation Mono", monospace;
|
|
112
|
+
--radius: 0.75rem;
|
|
113
|
+
--shadow-2xs: 1px 1px 0px 0px oklch(0.95 0.01 100 / 0.35);
|
|
114
|
+
--shadow-xs: 1px 1px 0px 0px oklch(0.95 0.01 100 / 0.35);
|
|
115
|
+
--shadow-sm: 2px 2px 0px 0px oklch(0.95 0.01 100 / 0.35);
|
|
116
|
+
--shadow: 2px 2px 0px 0px oklch(0.95 0.01 100 / 0.35);
|
|
117
|
+
--shadow-md: 3px 3px 0px 0px oklch(0.95 0.01 100 / 0.35);
|
|
118
|
+
--shadow-lg: 3px 3px 0px 0px oklch(0.95 0.01 100 / 0.35);
|
|
119
|
+
--shadow-xl: 4px 4px 0px 0px oklch(0.95 0.01 100 / 0.35);
|
|
120
|
+
--shadow-2xl: 6px 6px 0px 0px oklch(0.95 0.01 100 / 0.35);
|
|
121
|
+
--paper-lines: radial-gradient(oklch(1 0 0 / 0.05) 1px, transparent 1.5px);
|
|
122
|
+
--paper-margin: radial-gradient(
|
|
123
|
+
ellipse at 30% 20%,
|
|
124
|
+
oklch(1 0 0 / 0.06),
|
|
125
|
+
transparent 50%
|
|
126
|
+
);
|
|
127
|
+
--highlight: oklch(0.83 0.08 350 / 0.3);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* Signature effects */
|
|
131
|
+
|
|
132
|
+
:where([data-slot="button"][class*="shadow-xs"]):focus-visible {
|
|
133
|
+
outline: 2px solid var(--ring);
|
|
134
|
+
outline-offset: 2px;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
body {
|
|
138
|
+
background-image: var(--paper-margin), var(--paper-lines);
|
|
139
|
+
background-size:
|
|
140
|
+
auto,
|
|
141
|
+
100% 28px;
|
|
142
|
+
background-attachment: local;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.dark body {
|
|
146
|
+
background-size:
|
|
147
|
+
auto,
|
|
148
|
+
6px 6px;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
[data-slot="card"],
|
|
152
|
+
[data-slot="alert"],
|
|
153
|
+
[data-slot="dialog-content"],
|
|
154
|
+
[data-slot="alert-dialog-content"],
|
|
155
|
+
[data-slot="sheet-content"],
|
|
156
|
+
[data-slot="drawer-content"],
|
|
157
|
+
[data-slot="popover-content"],
|
|
158
|
+
[data-slot="hover-card-content"],
|
|
159
|
+
[data-slot="dropdown-menu-content"],
|
|
160
|
+
[data-slot="select-content"],
|
|
161
|
+
[data-slot="menubar-content"],
|
|
162
|
+
[data-slot="input"],
|
|
163
|
+
[data-slot="textarea"],
|
|
164
|
+
[data-slot="select-trigger"],
|
|
165
|
+
[data-slot="input-otp-slot"],
|
|
166
|
+
[data-slot="button"][class*="shadow-xs"],
|
|
167
|
+
[data-slot="badge"] {
|
|
168
|
+
border: 2px solid var(--border);
|
|
169
|
+
border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
[data-slot="card"] {
|
|
173
|
+
border-radius: 15px 225px 15px 255px / 255px 15px 225px 15px;
|
|
174
|
+
transform: rotate(-0.4deg);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
[data-slot="card-title"],
|
|
178
|
+
[data-slot="dialog-title"],
|
|
179
|
+
[data-slot="alert-dialog-title"],
|
|
180
|
+
[data-slot="sheet-title"],
|
|
181
|
+
[data-slot="drawer-title"] {
|
|
182
|
+
font-size: 1.25em;
|
|
183
|
+
background: linear-gradient(
|
|
184
|
+
transparent 58%,
|
|
185
|
+
var(--highlight) 58% 92%,
|
|
186
|
+
transparent 92%
|
|
187
|
+
);
|
|
188
|
+
width: fit-content;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
[data-slot="button"][class*="shadow-xs"] {
|
|
192
|
+
transition: transform 120ms ease;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
[data-slot="button"][class*="shadow-xs"]:hover {
|
|
196
|
+
transform: rotate(-1.5deg) scale(1.03);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
[data-slot="button"][class*="shadow-xs"]:active {
|
|
200
|
+
transform: rotate(1deg) scale(0.98);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
[data-slot="button"][class*="shadow-xs"]:focus-visible {
|
|
204
|
+
outline: 2px dashed var(--ring);
|
|
205
|
+
outline-offset: 3px;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
@media (prefers-reduced-motion: reduce) {
|
|
209
|
+
[data-slot="button"][class*="shadow-xs"],
|
|
210
|
+
[data-slot="card"] {
|
|
211
|
+
transition: none;
|
|
212
|
+
transform: none;
|
|
213
|
+
}
|
|
214
|
+
}
|