rainbowindex 0.0.0 → 0.1.4
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.md +22 -0
- package/README.md +192 -0
- package/css/index.css +5 -0
- package/css/preflight.css +370 -0
- package/css/theme.css +308 -0
- package/dist/browser.d.ts +1323 -0
- package/dist/browser.mjs +20 -0
- package/dist/browser.mjs.map +1 -0
- package/dist/index.cjs +69 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +5230 -0
- package/dist/index.d.ts +5230 -0
- package/dist/index.mjs +69 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +88 -4
package/css/theme.css
ADDED
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Rainbow Index - Default Theme
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
@layer base {
|
|
6
|
+
:root {
|
|
7
|
+
/* Spacing */
|
|
8
|
+
--spacing: 0.25rem;
|
|
9
|
+
|
|
10
|
+
/* Font families */
|
|
11
|
+
--font-sans:
|
|
12
|
+
ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
|
13
|
+
"Noto Color Emoji";
|
|
14
|
+
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
|
|
15
|
+
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
16
|
+
|
|
17
|
+
/* Font sizes */
|
|
18
|
+
--text-xs: 0.75rem;
|
|
19
|
+
--text-sm: 0.875rem;
|
|
20
|
+
--text-base: 1rem;
|
|
21
|
+
--text-lg: 1.125rem;
|
|
22
|
+
--text-xl: 1.25rem;
|
|
23
|
+
--text-2xl: 1.5rem;
|
|
24
|
+
--text-3xl: 1.875rem;
|
|
25
|
+
--text-4xl: 2.25rem;
|
|
26
|
+
|
|
27
|
+
/* Font weights */
|
|
28
|
+
--font-weight-thin: 100;
|
|
29
|
+
--font-weight-light: 300;
|
|
30
|
+
--font-weight-normal: 400;
|
|
31
|
+
--font-weight-medium: 500;
|
|
32
|
+
--font-weight-semibold: 600;
|
|
33
|
+
--font-weight-bold: 700;
|
|
34
|
+
--font-weight-black: 900;
|
|
35
|
+
|
|
36
|
+
/* Breakpoints */
|
|
37
|
+
--breakpoint-sm: 40rem;
|
|
38
|
+
--breakpoint-md: 48rem;
|
|
39
|
+
--breakpoint-lg: 64rem;
|
|
40
|
+
--breakpoint-xl: 80rem;
|
|
41
|
+
--breakpoint-2xl: 96rem;
|
|
42
|
+
|
|
43
|
+
/* Border radius - unit-based system tied to --spacing */
|
|
44
|
+
/* e.g., rounded-2 = calc(2 * var(--spacing)) */
|
|
45
|
+
--radius: var(--spacing);
|
|
46
|
+
--radius-full: 9999px;
|
|
47
|
+
|
|
48
|
+
/* Squircle scaling factor (radius scaled by this when using squircle) */
|
|
49
|
+
--ri-squircle-scale: 1.6;
|
|
50
|
+
|
|
51
|
+
/* Shadows */
|
|
52
|
+
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
53
|
+
--shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
54
|
+
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
55
|
+
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
56
|
+
--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
57
|
+
--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
|
|
58
|
+
|
|
59
|
+
/* Transition */
|
|
60
|
+
--ease-linear: linear;
|
|
61
|
+
--ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
62
|
+
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
63
|
+
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
64
|
+
|
|
65
|
+
/* Colors - Base */
|
|
66
|
+
--color-transparent: transparent;
|
|
67
|
+
--color-current: currentColor;
|
|
68
|
+
--color-inherit: inherit;
|
|
69
|
+
--color-paper: light-dark(oklch(100% 0 0), oklch(0% 0 0));
|
|
70
|
+
--color-ink: light-dark(oklch(0% 0 0), oklch(100% 0 0));
|
|
71
|
+
--color-0: var(--color-paper);
|
|
72
|
+
--color-1000: var(--color-ink);
|
|
73
|
+
|
|
74
|
+
/* Colors - Mono */
|
|
75
|
+
--color-mono-50: light-dark(oklch(97.6% 0 0), oklch(18.4% 0 0));
|
|
76
|
+
--color-mono-100: light-dark(oklch(93.2% 0 0), oklch(22.8% 0 0));
|
|
77
|
+
--color-mono-150: light-dark(oklch(88.8% 0 0), oklch(27.2% 0 0));
|
|
78
|
+
--color-mono-200: light-dark(oklch(84.4% 0 0), oklch(31.6% 0 0));
|
|
79
|
+
--color-mono-250: light-dark(oklch(80% 0 0), oklch(36% 0 0));
|
|
80
|
+
--color-mono-300: light-dark(oklch(75.6% 0 0), oklch(40.4% 0 0));
|
|
81
|
+
--color-mono-350: light-dark(oklch(71.2% 0 0), oklch(44.8% 0 0));
|
|
82
|
+
--color-mono-400: light-dark(oklch(66.8% 0 0), oklch(49.2% 0 0));
|
|
83
|
+
--color-mono-450: light-dark(oklch(62.4% 0 0), oklch(53.6% 0 0));
|
|
84
|
+
--color-mono-500: oklch(58% 0 0);
|
|
85
|
+
--color-mono-550: light-dark(oklch(53.6% 0 0), oklch(62.4% 0 0));
|
|
86
|
+
--color-mono-600: light-dark(oklch(49.2% 0 0), oklch(66.8% 0 0));
|
|
87
|
+
--color-mono-650: light-dark(oklch(44.8% 0 0), oklch(71.2% 0 0));
|
|
88
|
+
--color-mono-700: light-dark(oklch(40.4% 0 0), oklch(75.6% 0 0));
|
|
89
|
+
--color-mono-750: light-dark(oklch(36% 0 0), oklch(80% 0 0));
|
|
90
|
+
--color-mono-800: light-dark(oklch(31.6% 0 0), oklch(84.4% 0 0));
|
|
91
|
+
--color-mono-850: light-dark(oklch(27.2% 0 0), oklch(88.8% 0 0));
|
|
92
|
+
--color-mono-900: light-dark(oklch(22.8% 0 0), oklch(93.2% 0 0));
|
|
93
|
+
--color-mono-950: light-dark(oklch(18.4% 0 0), oklch(97.6% 0 0));
|
|
94
|
+
|
|
95
|
+
/* Letter spacing (tracking) */
|
|
96
|
+
--tracking-tighter: -0.05em;
|
|
97
|
+
--tracking-tight: -0.025em;
|
|
98
|
+
--tracking-normal: 0em;
|
|
99
|
+
--tracking-wide: 0.025em;
|
|
100
|
+
--tracking-wider: 0.05em;
|
|
101
|
+
--tracking-widest: 0.1em;
|
|
102
|
+
|
|
103
|
+
/* Line height (leading) */
|
|
104
|
+
--leading-none: 1;
|
|
105
|
+
--leading-tight: 1.25;
|
|
106
|
+
--leading-snug: 1.375;
|
|
107
|
+
--leading-normal: 1.5;
|
|
108
|
+
--leading-relaxed: 1.625;
|
|
109
|
+
--leading-loose: 2;
|
|
110
|
+
|
|
111
|
+
/* Blur */
|
|
112
|
+
--blur-none: 0;
|
|
113
|
+
--blur-sm: 4px;
|
|
114
|
+
--blur: 8px;
|
|
115
|
+
--blur-md: 12px;
|
|
116
|
+
--blur-lg: 16px;
|
|
117
|
+
--blur-xl: 24px;
|
|
118
|
+
--blur-2xl: 40px;
|
|
119
|
+
--blur-3xl: 64px;
|
|
120
|
+
|
|
121
|
+
/* Z-index */
|
|
122
|
+
--z-0: 0;
|
|
123
|
+
--z-10: 10;
|
|
124
|
+
--z-20: 20;
|
|
125
|
+
--z-30: 30;
|
|
126
|
+
--z-40: 40;
|
|
127
|
+
--z-50: 50;
|
|
128
|
+
|
|
129
|
+
/* Container widths */
|
|
130
|
+
--container-sm: 40rem;
|
|
131
|
+
--container-md: 48rem;
|
|
132
|
+
--container-lg: 64rem;
|
|
133
|
+
--container-xl: 80rem;
|
|
134
|
+
--container-2xl: 96rem;
|
|
135
|
+
|
|
136
|
+
/* Aspect ratios */
|
|
137
|
+
--aspect-auto: auto;
|
|
138
|
+
--aspect-square: 1 / 1;
|
|
139
|
+
--aspect-video: 16 / 9;
|
|
140
|
+
|
|
141
|
+
/* Inset shadows */
|
|
142
|
+
--inset-shadow-sm: inset 0 1px 1px 0 rgb(0 0 0 / 0.05);
|
|
143
|
+
--inset-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
|
|
144
|
+
|
|
145
|
+
/* Drop shadows */
|
|
146
|
+
--drop-shadow-sm: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
|
|
147
|
+
--drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
|
|
148
|
+
--drop-shadow-md: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
|
|
149
|
+
--drop-shadow-lg: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
|
|
150
|
+
--drop-shadow-xl: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
|
|
151
|
+
--drop-shadow-2xl: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15));
|
|
152
|
+
|
|
153
|
+
/* Animation durations */
|
|
154
|
+
--animate-spin: spin 1s linear infinite;
|
|
155
|
+
--animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
|
|
156
|
+
--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
157
|
+
--animate-bounce: bounce 1s infinite;
|
|
158
|
+
|
|
159
|
+
/* Perspective */
|
|
160
|
+
--perspective-dramatic: 100px;
|
|
161
|
+
--perspective-near: 300px;
|
|
162
|
+
--perspective-normal: 500px;
|
|
163
|
+
--perspective-midrange: 800px;
|
|
164
|
+
--perspective-distant: 1200px;
|
|
165
|
+
|
|
166
|
+
/* Ring defaults */
|
|
167
|
+
--ri-ring-color: oklch(55% 0.2 250 / 0.5);
|
|
168
|
+
--ri-ring-offset-width: 0px;
|
|
169
|
+
--ri-ring-offset-color: oklch(100% 0 0);
|
|
170
|
+
--ri-ring-inset: ;
|
|
171
|
+
|
|
172
|
+
/* Scroll snap strictness */
|
|
173
|
+
--ri-scroll-snap-strictness: proximity;
|
|
174
|
+
|
|
175
|
+
/* Border spacing defaults */
|
|
176
|
+
--ri-border-spacing-x: 0px;
|
|
177
|
+
--ri-border-spacing-y: 0px;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/* Keyframes */
|
|
182
|
+
@keyframes ri-spin {
|
|
183
|
+
to {
|
|
184
|
+
transform: rotate(360deg);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
@keyframes ri-ping {
|
|
189
|
+
75%,
|
|
190
|
+
100% {
|
|
191
|
+
transform: scale(2);
|
|
192
|
+
opacity: 0;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
@keyframes ri-pulse {
|
|
197
|
+
50% {
|
|
198
|
+
opacity: 0.5;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
@keyframes ri-bounce {
|
|
203
|
+
0%,
|
|
204
|
+
100% {
|
|
205
|
+
transform: translateY(-25%);
|
|
206
|
+
animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
|
|
207
|
+
}
|
|
208
|
+
50% {
|
|
209
|
+
transform: none;
|
|
210
|
+
animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/* Enter/Exit Animation System */
|
|
215
|
+
@keyframes ri-enter {
|
|
216
|
+
from {
|
|
217
|
+
opacity: var(--ri-enter-opacity, 1);
|
|
218
|
+
transform: translate3d(var(--ri-enter-translate-x, 0), var(--ri-enter-translate-y, 0), 0)
|
|
219
|
+
scale3d(var(--ri-enter-scale, 1), var(--ri-enter-scale, 1), var(--ri-enter-scale, 1))
|
|
220
|
+
rotate(var(--ri-enter-rotate, 0));
|
|
221
|
+
filter: blur(var(--ri-enter-blur, 0));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
@keyframes ri-exit {
|
|
226
|
+
to {
|
|
227
|
+
opacity: var(--ri-exit-opacity, 1);
|
|
228
|
+
transform: translate3d(var(--ri-exit-translate-x, 0), var(--ri-exit-translate-y, 0), 0)
|
|
229
|
+
scale3d(var(--ri-exit-scale, 1), var(--ri-exit-scale, 1), var(--ri-exit-scale, 1))
|
|
230
|
+
rotate(var(--ri-exit-rotate, 0));
|
|
231
|
+
filter: blur(var(--ri-exit-blur, 0));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/* Component-specific Animations */
|
|
236
|
+
@keyframes ri-accordion-down {
|
|
237
|
+
from {
|
|
238
|
+
height: 0;
|
|
239
|
+
opacity: 0;
|
|
240
|
+
}
|
|
241
|
+
to {
|
|
242
|
+
height: var(--ri-accordion-content-height, var(--accordion-height));
|
|
243
|
+
opacity: 1;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
@keyframes ri-accordion-up {
|
|
248
|
+
from {
|
|
249
|
+
height: var(--ri-accordion-content-height, var(--accordion-height));
|
|
250
|
+
opacity: 1;
|
|
251
|
+
}
|
|
252
|
+
to {
|
|
253
|
+
height: 0;
|
|
254
|
+
opacity: 0;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
@keyframes ri-collapsible-down {
|
|
259
|
+
from {
|
|
260
|
+
height: 0;
|
|
261
|
+
opacity: 0;
|
|
262
|
+
}
|
|
263
|
+
to {
|
|
264
|
+
height: var(--ri-collapsible-content-height, var(--collapsible-height));
|
|
265
|
+
opacity: 1;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
@keyframes ri-collapsible-up {
|
|
270
|
+
from {
|
|
271
|
+
height: var(--ri-collapsible-content-height, var(--collapsible-height));
|
|
272
|
+
opacity: 1;
|
|
273
|
+
}
|
|
274
|
+
to {
|
|
275
|
+
height: 0;
|
|
276
|
+
opacity: 0;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
@keyframes ri-caret-blink {
|
|
281
|
+
0%,
|
|
282
|
+
70%,
|
|
283
|
+
100% {
|
|
284
|
+
opacity: 1;
|
|
285
|
+
}
|
|
286
|
+
20%,
|
|
287
|
+
50% {
|
|
288
|
+
opacity: 0;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Corner Shape Progressive Enhancement
|
|
294
|
+
*
|
|
295
|
+
* When the browser supports corner-shape: superellipse(), elements with
|
|
296
|
+
* [data-squircle] attribute automatically get squircle corners with scaled
|
|
297
|
+
* radius values. This is an opt-in enhancement that works alongside the
|
|
298
|
+
* squircle-* utility classes.
|
|
299
|
+
*
|
|
300
|
+
* Usage:
|
|
301
|
+
* - Use squircle-* utilities for explicit squircle corners
|
|
302
|
+
* - Or add data-squircle to any element with rounded-* for automatic enhancement
|
|
303
|
+
*/
|
|
304
|
+
@supports (corner-shape: superellipse(1.6)) {
|
|
305
|
+
[data-squircle] {
|
|
306
|
+
corner-shape: superellipse(var(--ri-squircle-scale, 1.6));
|
|
307
|
+
}
|
|
308
|
+
}
|