@papernote/ui 1.14.0 → 2.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/dist/index.esm.js +13 -13
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/styles.css +6228 -6717
- package/package.json +6 -4
- package/src/components/AdminModal.tsx +1 -1
- package/src/components/Autocomplete.tsx +1 -1
- package/src/components/CommandPalette.tsx +2 -2
- package/src/components/DataTable.tsx +1 -1
- package/src/components/Drawer.tsx +1 -1
- package/src/components/MarkdownEditor.tsx +1 -1
- package/src/components/MaskedInput.tsx +1 -1
- package/src/components/Modal.tsx +1 -1
- package/src/components/NotificationBar.tsx +2 -2
- package/src/components/PasswordInput.tsx +1 -1
- package/src/components/SearchBar.tsx +1 -1
- package/src/components/Textarea.tsx +1 -1
- package/src/styles/index.css +50 -160
- package/src/styles/theme.css +302 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @papernote/ui Design Tokens — Tailwind CSS v4 Theme
|
|
3
|
+
*
|
|
4
|
+
* This file is the CSS-first equivalent of tailwind.config.js.
|
|
5
|
+
* Consumers on Tailwind v4 import this via: @import "@papernote/ui/theme";
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@theme {
|
|
9
|
+
/* === Colors: Primary (Warm Slate — ink on paper feel) === */
|
|
10
|
+
--color-primary-50: #f8fafc;
|
|
11
|
+
--color-primary-100: #f1f5f9;
|
|
12
|
+
--color-primary-200: #e2e8f0;
|
|
13
|
+
--color-primary-300: #cbd5e1;
|
|
14
|
+
--color-primary-400: #94a3b8;
|
|
15
|
+
--color-primary-500: #64748b;
|
|
16
|
+
--color-primary-600: #475569;
|
|
17
|
+
--color-primary-700: #334155;
|
|
18
|
+
--color-primary-800: #1e293b;
|
|
19
|
+
--color-primary-900: #0f172a;
|
|
20
|
+
--color-primary-950: #020617;
|
|
21
|
+
|
|
22
|
+
/* === Colors: Accent (Subtle warm tone, Claude-like) === */
|
|
23
|
+
--color-accent-50: #fafaf8;
|
|
24
|
+
--color-accent-100: #f5f5f0;
|
|
25
|
+
--color-accent-200: #e8e7e0;
|
|
26
|
+
--color-accent-300: #d4d2c8;
|
|
27
|
+
--color-accent-400: #a8a599;
|
|
28
|
+
--color-accent-500: #8b8878;
|
|
29
|
+
--color-accent-600: #6e6d5e;
|
|
30
|
+
--color-accent-700: #565548;
|
|
31
|
+
--color-accent-800: #3f3e35;
|
|
32
|
+
--color-accent-900: #2a2922;
|
|
33
|
+
|
|
34
|
+
/* === Colors: Success (Muted emerald green) === */
|
|
35
|
+
--color-success-50: #f0fdf4;
|
|
36
|
+
--color-success-100: #dcfce7;
|
|
37
|
+
--color-success-200: #bbf7d0;
|
|
38
|
+
--color-success-300: #86efac;
|
|
39
|
+
--color-success-400: #4ade80;
|
|
40
|
+
--color-success-500: #10b981;
|
|
41
|
+
--color-success-600: #059669;
|
|
42
|
+
--color-success-700: #047857;
|
|
43
|
+
--color-success-800: #065f46;
|
|
44
|
+
--color-success-900: #064e3b;
|
|
45
|
+
|
|
46
|
+
/* === Colors: Warning (Soft amber) === */
|
|
47
|
+
--color-warning-50: #fffbeb;
|
|
48
|
+
--color-warning-100: #fef3c7;
|
|
49
|
+
--color-warning-200: #fde68a;
|
|
50
|
+
--color-warning-300: #fcd34d;
|
|
51
|
+
--color-warning-400: #fbbf24;
|
|
52
|
+
--color-warning-500: #f59e0b;
|
|
53
|
+
--color-warning-600: #d97706;
|
|
54
|
+
--color-warning-700: #b45309;
|
|
55
|
+
--color-warning-800: #92400e;
|
|
56
|
+
--color-warning-900: #78350f;
|
|
57
|
+
|
|
58
|
+
/* === Colors: Error (Muted red) === */
|
|
59
|
+
--color-error-50: #fef2f2;
|
|
60
|
+
--color-error-100: #fee2e2;
|
|
61
|
+
--color-error-200: #fecaca;
|
|
62
|
+
--color-error-300: #fca5a5;
|
|
63
|
+
--color-error-400: #f87171;
|
|
64
|
+
--color-error-500: #ef4444;
|
|
65
|
+
--color-error-600: #dc2626;
|
|
66
|
+
--color-error-700: #b91c1c;
|
|
67
|
+
--color-error-800: #991b1b;
|
|
68
|
+
--color-error-900: #7f1d1d;
|
|
69
|
+
|
|
70
|
+
/* === Colors: Paper (Warm off-white backgrounds) === */
|
|
71
|
+
--color-paper-50: #fafaf9;
|
|
72
|
+
--color-paper-100: #f5f5f4;
|
|
73
|
+
--color-paper-200: #e7e5e4;
|
|
74
|
+
--color-paper-300: #d6d3d1;
|
|
75
|
+
--color-paper-400: #a8a29e;
|
|
76
|
+
|
|
77
|
+
/* === Colors: Ink (Text colors — warm grays) === */
|
|
78
|
+
--color-ink-50: #fafaf9;
|
|
79
|
+
--color-ink-100: #f5f5f4;
|
|
80
|
+
--color-ink-200: #e7e5e4;
|
|
81
|
+
--color-ink-300: #d6d3d1;
|
|
82
|
+
--color-ink-400: #a8a29e;
|
|
83
|
+
--color-ink-500: #78716c;
|
|
84
|
+
--color-ink-600: #57534e;
|
|
85
|
+
--color-ink-700: #44403c;
|
|
86
|
+
--color-ink-800: #292524;
|
|
87
|
+
--color-ink-900: #1c1917;
|
|
88
|
+
|
|
89
|
+
/* === Colors: Neutral (Backwards compatibility) === */
|
|
90
|
+
--color-neutral-25: #fcfcfd;
|
|
91
|
+
--color-neutral-50: #f8fafc;
|
|
92
|
+
--color-neutral-100: #f1f5f9;
|
|
93
|
+
--color-neutral-200: #e2e8f0;
|
|
94
|
+
--color-neutral-300: #cbd5e1;
|
|
95
|
+
--color-neutral-400: #94a3b8;
|
|
96
|
+
--color-neutral-500: #64748b;
|
|
97
|
+
--color-neutral-600: #475569;
|
|
98
|
+
--color-neutral-700: #334155;
|
|
99
|
+
--color-neutral-800: #1e293b;
|
|
100
|
+
--color-neutral-900: #0f172a;
|
|
101
|
+
--color-neutral-950: #020617;
|
|
102
|
+
|
|
103
|
+
/* === Font Families === */
|
|
104
|
+
--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
|
|
105
|
+
--font-mono: 'JetBrains Mono Variable', 'JetBrains Mono', 'Fira Code', Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
106
|
+
|
|
107
|
+
/* === Font Sizes (with line-heights) === */
|
|
108
|
+
--text-2xs: 0.625rem;
|
|
109
|
+
--text-2xs--line-height: 0.875rem;
|
|
110
|
+
--text-xs: 0.75rem;
|
|
111
|
+
--text-xs--line-height: 1.125rem;
|
|
112
|
+
--text-sm: 0.875rem;
|
|
113
|
+
--text-sm--line-height: 1.375rem;
|
|
114
|
+
--text-base: 1rem;
|
|
115
|
+
--text-base--line-height: 1.625rem;
|
|
116
|
+
--text-lg: 1.125rem;
|
|
117
|
+
--text-lg--line-height: 1.875rem;
|
|
118
|
+
--text-xl: 1.25rem;
|
|
119
|
+
--text-xl--line-height: 2rem;
|
|
120
|
+
--text-2xl: 1.5rem;
|
|
121
|
+
--text-2xl--line-height: 2.25rem;
|
|
122
|
+
--text-3xl: 1.875rem;
|
|
123
|
+
--text-3xl--line-height: 2.5rem;
|
|
124
|
+
--text-4xl: 2.25rem;
|
|
125
|
+
--text-4xl--line-height: 2.75rem;
|
|
126
|
+
--text-5xl: 3rem;
|
|
127
|
+
--text-5xl--line-height: 3.25rem;
|
|
128
|
+
--text-6xl: 3.75rem;
|
|
129
|
+
--text-6xl--line-height: 1;
|
|
130
|
+
--text-7xl: 4.5rem;
|
|
131
|
+
--text-7xl--line-height: 1;
|
|
132
|
+
--text-8xl: 6rem;
|
|
133
|
+
--text-8xl--line-height: 1;
|
|
134
|
+
--text-9xl: 8rem;
|
|
135
|
+
--text-9xl--line-height: 1;
|
|
136
|
+
|
|
137
|
+
/* === Spacing === */
|
|
138
|
+
--spacing-4_5: 1.125rem;
|
|
139
|
+
--spacing-5_5: 1.375rem;
|
|
140
|
+
--spacing-6_5: 1.625rem;
|
|
141
|
+
--spacing-7_5: 1.875rem;
|
|
142
|
+
--spacing-8_5: 2.125rem;
|
|
143
|
+
--spacing-9_5: 2.375rem;
|
|
144
|
+
--spacing-17: 4.25rem;
|
|
145
|
+
--spacing-18: 4.5rem;
|
|
146
|
+
--spacing-19: 4.75rem;
|
|
147
|
+
--spacing-21: 5.25rem;
|
|
148
|
+
--spacing-22: 5.5rem;
|
|
149
|
+
--spacing-23: 5.75rem;
|
|
150
|
+
--spacing-25: 6.25rem;
|
|
151
|
+
--spacing-26: 6.5rem;
|
|
152
|
+
--spacing-27: 6.75rem;
|
|
153
|
+
--spacing-29: 7.25rem;
|
|
154
|
+
--spacing-30: 7.5rem;
|
|
155
|
+
--spacing-31: 7.75rem;
|
|
156
|
+
--spacing-33: 8.25rem;
|
|
157
|
+
--spacing-34: 8.5rem;
|
|
158
|
+
--spacing-35: 8.75rem;
|
|
159
|
+
--spacing-touch-sm: 2.25rem;
|
|
160
|
+
--spacing-touch: 2.75rem;
|
|
161
|
+
--spacing-touch-lg: 3rem;
|
|
162
|
+
|
|
163
|
+
/* === Border Radius === */
|
|
164
|
+
--radius-4xl: 2rem;
|
|
165
|
+
--radius-5xl: 2.5rem;
|
|
166
|
+
|
|
167
|
+
/* === Box Shadow === */
|
|
168
|
+
--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.03);
|
|
169
|
+
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
170
|
+
--shadow-md: 0 2px 4px 0 rgb(0 0 0 / 0.06);
|
|
171
|
+
--shadow-lg: 0 4px 6px -1px rgb(0 0 0 / 0.08);
|
|
172
|
+
--shadow-xl: 0 10px 15px -3px rgb(0 0 0 / 0.1);
|
|
173
|
+
--shadow-2xl: 0 20px 25px -5px rgb(0 0 0 / 0.12);
|
|
174
|
+
--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.04);
|
|
175
|
+
--shadow-paper: 0 1px 3px 0 rgb(0 0 0 / 0.04), 0 1px 2px 0 rgb(0 0 0 / 0.03);
|
|
176
|
+
--shadow-card: 0 2px 4px 0 rgb(0 0 0 / 0.04), 0 1px 2px 0 rgb(0 0 0 / 0.02);
|
|
177
|
+
|
|
178
|
+
/* === Backdrop Blur === */
|
|
179
|
+
--backdrop-blur-xs: 2px;
|
|
180
|
+
|
|
181
|
+
/* === Background Images === */
|
|
182
|
+
--background-image-gradient-radial: radial-gradient(var(--tw-gradient-stops));
|
|
183
|
+
--background-image-gradient-conic: conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops));
|
|
184
|
+
--background-image-grid-pattern: url("data:image/svg+xml,%3csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3e%3cg fill='none' fill-rule='evenodd'%3e%3cg fill='%23e2e8f0' fill-opacity='0.4'%3e%3ccircle cx='30' cy='30' r='1.5'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
|
|
185
|
+
--background-image-paper-texture: url("data:image/svg+xml,%3csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3e%3cfilter id='noise'%3e%3cfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3e%3cfeColorMatrix type='saturate' values='0'/%3e%3c/filter%3e%3crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3e%3c/svg%3e");
|
|
186
|
+
--background-image-subtle-grain: url("data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3e%3cfilter id='noise'%3e%3cfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3e%3cfeColorMatrix type='saturate' values='0'/%3e%3c/filter%3e%3crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.015'/%3e%3c/svg%3e");
|
|
187
|
+
|
|
188
|
+
/* === Animations === */
|
|
189
|
+
--animate-fade-in: fade-in 0.5s ease-in-out;
|
|
190
|
+
--animate-fade-in-up: fade-in-up 0.5s ease-out;
|
|
191
|
+
--animate-slide-in: slide-in 0.3s ease-out;
|
|
192
|
+
--animate-slide-in-right: slide-in-right 0.3s ease-out;
|
|
193
|
+
--animate-slide-in-left: slide-in-left 0.3s ease-out;
|
|
194
|
+
--animate-slide-in-bottom: slide-in-bottom 0.3s ease-out;
|
|
195
|
+
--animate-slide-in-top: slide-in-top 0.3s ease-out;
|
|
196
|
+
--animate-slide-out-right: slide-out-right 0.3s ease-in;
|
|
197
|
+
--animate-slide-out-left: slide-out-left 0.3s ease-in;
|
|
198
|
+
--animate-slide-out-bottom: slide-out-bottom 0.3s ease-in;
|
|
199
|
+
--animate-slide-out-top: slide-out-top 0.3s ease-in;
|
|
200
|
+
--animate-bounce-subtle: bounce-subtle 2s infinite;
|
|
201
|
+
--animate-pulse-slow: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
202
|
+
--animate-shimmer: shimmer 2s linear infinite;
|
|
203
|
+
--animate-float: float 6s ease-in-out infinite;
|
|
204
|
+
--animate-scale-in: scale-in 0.2s ease-out;
|
|
205
|
+
--animate-scale-out: scale-out 0.2s ease-in;
|
|
206
|
+
--animate-row-flash: row-flash 2s ease-out;
|
|
207
|
+
--animate-success-check: success-check 0.6s ease-out;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/* === Keyframes === */
|
|
211
|
+
|
|
212
|
+
@keyframes fade-in {
|
|
213
|
+
0% { opacity: 0; }
|
|
214
|
+
100% { opacity: 1; }
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
@keyframes fade-in-up {
|
|
218
|
+
0% { opacity: 0; transform: translateY(10px); }
|
|
219
|
+
100% { opacity: 1; transform: translateY(0); }
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
@keyframes slide-in {
|
|
223
|
+
0% { transform: translateX(-10px); opacity: 0; }
|
|
224
|
+
100% { transform: translateX(0); opacity: 1; }
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
@keyframes slide-in-right {
|
|
228
|
+
0% { transform: translateX(100%); opacity: 0; }
|
|
229
|
+
100% { transform: translateX(0); opacity: 1; }
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
@keyframes slide-in-left {
|
|
233
|
+
0% { transform: translateX(-100%); opacity: 0; }
|
|
234
|
+
100% { transform: translateX(0); opacity: 1; }
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
@keyframes slide-in-bottom {
|
|
238
|
+
0% { transform: translateY(100%); opacity: 0; }
|
|
239
|
+
100% { transform: translateY(0); opacity: 1; }
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
@keyframes slide-in-top {
|
|
243
|
+
0% { transform: translateY(-100%); opacity: 0; }
|
|
244
|
+
100% { transform: translateY(0); opacity: 1; }
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
@keyframes slide-out-right {
|
|
248
|
+
0% { transform: translateX(0); opacity: 1; }
|
|
249
|
+
100% { transform: translateX(100%); opacity: 0; }
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
@keyframes slide-out-left {
|
|
253
|
+
0% { transform: translateX(0); opacity: 1; }
|
|
254
|
+
100% { transform: translateX(-100%); opacity: 0; }
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
@keyframes slide-out-bottom {
|
|
258
|
+
0% { transform: translateY(0); opacity: 1; }
|
|
259
|
+
100% { transform: translateY(100%); opacity: 0; }
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
@keyframes slide-out-top {
|
|
263
|
+
0% { transform: translateY(0); opacity: 1; }
|
|
264
|
+
100% { transform: translateY(-100%); opacity: 0; }
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
@keyframes bounce-subtle {
|
|
268
|
+
0%, 100% { transform: translateY(0); }
|
|
269
|
+
50% { transform: translateY(-2px); }
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
@keyframes shimmer {
|
|
273
|
+
0% { transform: translateX(-100%); }
|
|
274
|
+
100% { transform: translateX(100%); }
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
@keyframes float {
|
|
278
|
+
0%, 100% { transform: translateY(0px); }
|
|
279
|
+
50% { transform: translateY(-10px); }
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
@keyframes scale-in {
|
|
283
|
+
0% { transform: scale(0.9); opacity: 0; }
|
|
284
|
+
100% { transform: scale(1); opacity: 1; }
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
@keyframes scale-out {
|
|
288
|
+
0% { transform: scale(1); opacity: 1; }
|
|
289
|
+
100% { transform: scale(0.9); opacity: 0; }
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
@keyframes row-flash {
|
|
293
|
+
0% { background-color: rgb(187 247 208); }
|
|
294
|
+
25% { background-color: rgb(187 247 208); }
|
|
295
|
+
100% { background-color: transparent; }
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
@keyframes success-check {
|
|
299
|
+
0% { transform: scale(0); opacity: 0; }
|
|
300
|
+
50% { transform: scale(1.2); opacity: 1; }
|
|
301
|
+
100% { transform: scale(1); opacity: 1; }
|
|
302
|
+
}
|