@vuecs/design 1.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/LICENSE +201 -0
- package/README.md +57 -0
- package/assets/animations.css +506 -0
- package/assets/index.css +197 -0
- package/assets/palettes.css +303 -0
- package/assets/standalone.css +37 -0
- package/dist/core/color-mode/bind.d.ts +12 -0
- package/dist/core/color-mode/bind.d.ts.map +1 -0
- package/dist/core/color-mode/composable.d.ts +13 -0
- package/dist/core/color-mode/composable.d.ts.map +1 -0
- package/dist/core/color-mode/index.d.ts +4 -0
- package/dist/core/color-mode/index.d.ts.map +1 -0
- package/dist/core/color-mode/types.d.ts +36 -0
- package/dist/core/color-mode/types.d.ts.map +1 -0
- package/dist/core/color-palette/apply.d.ts +34 -0
- package/dist/core/color-palette/apply.d.ts.map +1 -0
- package/dist/core/color-palette/bind.d.ts +14 -0
- package/dist/core/color-palette/bind.d.ts.map +1 -0
- package/dist/core/color-palette/catalog.d.ts +78 -0
- package/dist/core/color-palette/catalog.d.ts.map +1 -0
- package/dist/core/color-palette/composable.d.ts +34 -0
- package/dist/core/color-palette/composable.d.ts.map +1 -0
- package/dist/core/color-palette/index.d.ts +7 -0
- package/dist/core/color-palette/index.d.ts.map +1 -0
- package/dist/core/color-palette/render.d.ts +16 -0
- package/dist/core/color-palette/render.d.ts.map +1 -0
- package/dist/core/color-palette/types.d.ts +107 -0
- package/dist/core/color-palette/types.d.ts.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/theme-runtime/capture.d.ts +32 -0
- package/dist/core/theme-runtime/capture.d.ts.map +1 -0
- package/dist/core/theme-runtime/composable.d.ts +34 -0
- package/dist/core/theme-runtime/composable.d.ts.map +1 -0
- package/dist/core/theme-runtime/index.d.ts +4 -0
- package/dist/core/theme-runtime/index.d.ts.map +1 -0
- package/dist/core/theme-runtime/types.d.ts +42 -0
- package/dist/core/theme-runtime/types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +467 -0
- package/dist/index.mjs.map +1 -0
- package/dist/utils/object.d.ts +2 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/package.json +83 -0
package/assets/index.css
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @vuecs/design — Design tokens + motion primitives
|
|
3
|
+
*
|
|
4
|
+
* CSS-variable token layer for vuecs components: 6 semantic color
|
|
5
|
+
* scales × 11 shades, light/dark semantic aliases, radius tokens, and
|
|
6
|
+
* motion primitives (vanilla-CSS port of tw-animate-css; see
|
|
7
|
+
* animations.css).
|
|
8
|
+
*
|
|
9
|
+
* `--vc-color-<scale>-*` reference Tailwind v4's `--color-<palette>-*`
|
|
10
|
+
* catalog (primary→blue, neutral→neutral, success→green, warning→amber,
|
|
11
|
+
* error→red, info→sky). The right-hand catalog is single-source:
|
|
12
|
+
* Tailwind ships it when consumers `@import "tailwindcss"` and vuecs's
|
|
13
|
+
* `/standalone` subpath ships it via `palettes.css` for Tailwind-free
|
|
14
|
+
* apps. Importing this file alone leaves the references dangling — load
|
|
15
|
+
* one of the catalog sources first.
|
|
16
|
+
*
|
|
17
|
+
* Two supported import orders:
|
|
18
|
+
* Tailwind: @import "tailwindcss"; @import "@vuecs/design";
|
|
19
|
+
* Bootstrap / Bulma: @import "@vuecs/design/standalone";
|
|
20
|
+
*
|
|
21
|
+
* Runtime palette switching (`setColorPalette()`) writes new
|
|
22
|
+
* `--vc-color-<scale>-*: var(--color-<other>-*)` declarations to a
|
|
23
|
+
* `<style id="vc-color-palette">` block, which cascades over these
|
|
24
|
+
* defaults. Theme-tailwind layers on an `@theme` block that exposes
|
|
25
|
+
* vuecs tokens as Tailwind color names (`bg-primary-600`, `text-fg`,
|
|
26
|
+
* …) — see `@vuecs/theme-tailwind` for that bridge.
|
|
27
|
+
*
|
|
28
|
+
* Resolution chain (Tailwind setup):
|
|
29
|
+
* bg-primary-600
|
|
30
|
+
* → var(--color-primary-600) (Tailwind utility)
|
|
31
|
+
* → var(--vc-color-primary-600) (theme-tailwind @theme bridge)
|
|
32
|
+
* → var(--color-blue-600) (this file)
|
|
33
|
+
* → oklch(54.6% 0.245 262.881) (Tailwind palette literal)
|
|
34
|
+
*
|
|
35
|
+
* Resolution chain (standalone setup):
|
|
36
|
+
* --vc-color-primary-600
|
|
37
|
+
* → var(--color-blue-600) (this file)
|
|
38
|
+
* → oklch(54.6% 0.245 262.881) (palettes.css from standalone)
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
/* Motion primitives — `animate-in fade-in-0 zoom-in-95` etc. as plain CSS
|
|
42
|
+
classes (NOT Tailwind utilities), so any theme can drive overlay
|
|
43
|
+
animations via `data-state`-keyed selectors. See animations.css for the
|
|
44
|
+
full class catalog and the tw-animate-css attribution. Consumers who
|
|
45
|
+
want only the design tokens (no motion) can pull `@vuecs/design/animations.css`
|
|
46
|
+
for motion-only or skip this file and pull a custom subset. */
|
|
47
|
+
@import "./animations.css";
|
|
48
|
+
|
|
49
|
+
:root {
|
|
50
|
+
/* -------------------------------------------------------------
|
|
51
|
+
Semantic scales — references onto the Tailwind palette catalog.
|
|
52
|
+
|
|
53
|
+
The right-hand `--color-<palette>-*` vars come from one of:
|
|
54
|
+
- `tailwindcss` (when consumers @import it before @vuecs/design), or
|
|
55
|
+
- `@vuecs/design/standalone` (which @imports palettes.css ahead
|
|
56
|
+
of this file).
|
|
57
|
+
|
|
58
|
+
Single source of truth — when Tailwind bumps the OKLCH literal
|
|
59
|
+
for blue-500, our `--vc-color-primary-500` automatically picks
|
|
60
|
+
up the new value. Runtime palette switching (setColorPalette)
|
|
61
|
+
writes new `--vc-color-<scale>-*: var(--color-<other>-*)`
|
|
62
|
+
declarations to a `<style id="vc-color-palette">` block, which
|
|
63
|
+
cascades over these defaults.
|
|
64
|
+
------------------------------------------------------------- */
|
|
65
|
+
|
|
66
|
+
/* primary → Tailwind blue */
|
|
67
|
+
--vc-color-primary-50: var(--color-blue-50);
|
|
68
|
+
--vc-color-primary-100: var(--color-blue-100);
|
|
69
|
+
--vc-color-primary-200: var(--color-blue-200);
|
|
70
|
+
--vc-color-primary-300: var(--color-blue-300);
|
|
71
|
+
--vc-color-primary-400: var(--color-blue-400);
|
|
72
|
+
--vc-color-primary-500: var(--color-blue-500);
|
|
73
|
+
--vc-color-primary-600: var(--color-blue-600);
|
|
74
|
+
--vc-color-primary-700: var(--color-blue-700);
|
|
75
|
+
--vc-color-primary-800: var(--color-blue-800);
|
|
76
|
+
--vc-color-primary-900: var(--color-blue-900);
|
|
77
|
+
--vc-color-primary-950: var(--color-blue-950);
|
|
78
|
+
|
|
79
|
+
/* neutral → Tailwind neutral (pure grayscale, no cool/warm tint).
|
|
80
|
+
Swap via setColorPalette({ neutral: 'slate' | 'zinc' | 'stone' | ... }). */
|
|
81
|
+
--vc-color-neutral-50: var(--color-neutral-50);
|
|
82
|
+
--vc-color-neutral-100: var(--color-neutral-100);
|
|
83
|
+
--vc-color-neutral-200: var(--color-neutral-200);
|
|
84
|
+
--vc-color-neutral-300: var(--color-neutral-300);
|
|
85
|
+
--vc-color-neutral-400: var(--color-neutral-400);
|
|
86
|
+
--vc-color-neutral-500: var(--color-neutral-500);
|
|
87
|
+
--vc-color-neutral-600: var(--color-neutral-600);
|
|
88
|
+
--vc-color-neutral-700: var(--color-neutral-700);
|
|
89
|
+
--vc-color-neutral-800: var(--color-neutral-800);
|
|
90
|
+
--vc-color-neutral-900: var(--color-neutral-900);
|
|
91
|
+
--vc-color-neutral-950: var(--color-neutral-950);
|
|
92
|
+
|
|
93
|
+
/* success → Tailwind green */
|
|
94
|
+
--vc-color-success-50: var(--color-green-50);
|
|
95
|
+
--vc-color-success-100: var(--color-green-100);
|
|
96
|
+
--vc-color-success-200: var(--color-green-200);
|
|
97
|
+
--vc-color-success-300: var(--color-green-300);
|
|
98
|
+
--vc-color-success-400: var(--color-green-400);
|
|
99
|
+
--vc-color-success-500: var(--color-green-500);
|
|
100
|
+
--vc-color-success-600: var(--color-green-600);
|
|
101
|
+
--vc-color-success-700: var(--color-green-700);
|
|
102
|
+
--vc-color-success-800: var(--color-green-800);
|
|
103
|
+
--vc-color-success-900: var(--color-green-900);
|
|
104
|
+
--vc-color-success-950: var(--color-green-950);
|
|
105
|
+
|
|
106
|
+
/* warning → Tailwind amber */
|
|
107
|
+
--vc-color-warning-50: var(--color-amber-50);
|
|
108
|
+
--vc-color-warning-100: var(--color-amber-100);
|
|
109
|
+
--vc-color-warning-200: var(--color-amber-200);
|
|
110
|
+
--vc-color-warning-300: var(--color-amber-300);
|
|
111
|
+
--vc-color-warning-400: var(--color-amber-400);
|
|
112
|
+
--vc-color-warning-500: var(--color-amber-500);
|
|
113
|
+
--vc-color-warning-600: var(--color-amber-600);
|
|
114
|
+
--vc-color-warning-700: var(--color-amber-700);
|
|
115
|
+
--vc-color-warning-800: var(--color-amber-800);
|
|
116
|
+
--vc-color-warning-900: var(--color-amber-900);
|
|
117
|
+
--vc-color-warning-950: var(--color-amber-950);
|
|
118
|
+
|
|
119
|
+
/* error → Tailwind red */
|
|
120
|
+
--vc-color-error-50: var(--color-red-50);
|
|
121
|
+
--vc-color-error-100: var(--color-red-100);
|
|
122
|
+
--vc-color-error-200: var(--color-red-200);
|
|
123
|
+
--vc-color-error-300: var(--color-red-300);
|
|
124
|
+
--vc-color-error-400: var(--color-red-400);
|
|
125
|
+
--vc-color-error-500: var(--color-red-500);
|
|
126
|
+
--vc-color-error-600: var(--color-red-600);
|
|
127
|
+
--vc-color-error-700: var(--color-red-700);
|
|
128
|
+
--vc-color-error-800: var(--color-red-800);
|
|
129
|
+
--vc-color-error-900: var(--color-red-900);
|
|
130
|
+
--vc-color-error-950: var(--color-red-950);
|
|
131
|
+
|
|
132
|
+
/* info → Tailwind sky */
|
|
133
|
+
--vc-color-info-50: var(--color-sky-50);
|
|
134
|
+
--vc-color-info-100: var(--color-sky-100);
|
|
135
|
+
--vc-color-info-200: var(--color-sky-200);
|
|
136
|
+
--vc-color-info-300: var(--color-sky-300);
|
|
137
|
+
--vc-color-info-400: var(--color-sky-400);
|
|
138
|
+
--vc-color-info-500: var(--color-sky-500);
|
|
139
|
+
--vc-color-info-600: var(--color-sky-600);
|
|
140
|
+
--vc-color-info-700: var(--color-sky-700);
|
|
141
|
+
--vc-color-info-800: var(--color-sky-800);
|
|
142
|
+
--vc-color-info-900: var(--color-sky-900);
|
|
143
|
+
--vc-color-info-950: var(--color-sky-950);
|
|
144
|
+
|
|
145
|
+
/* -------------------------------------------------------------
|
|
146
|
+
Semantic aliases — light mode
|
|
147
|
+
These flip in .dark to swap the whole UI.
|
|
148
|
+
------------------------------------------------------------- */
|
|
149
|
+
|
|
150
|
+
--vc-color-bg: #fff;
|
|
151
|
+
--vc-color-bg-muted: var(--vc-color-neutral-50);
|
|
152
|
+
--vc-color-bg-elevated: var(--vc-color-neutral-100);
|
|
153
|
+
--vc-color-fg: var(--vc-color-neutral-900);
|
|
154
|
+
--vc-color-fg-muted: var(--vc-color-neutral-500);
|
|
155
|
+
--vc-color-border: var(--vc-color-neutral-200);
|
|
156
|
+
--vc-color-border-muted: var(--vc-color-neutral-100);
|
|
157
|
+
--vc-color-ring: var(--vc-color-primary-500);
|
|
158
|
+
|
|
159
|
+
/* "on-*" tokens = foreground color when placed on a filled semantic bg */
|
|
160
|
+
--vc-color-on-primary: #fff;
|
|
161
|
+
--vc-color-on-success: #fff;
|
|
162
|
+
--vc-color-on-warning: var(--vc-color-neutral-900);
|
|
163
|
+
--vc-color-on-error: #fff;
|
|
164
|
+
--vc-color-on-info: #fff;
|
|
165
|
+
--vc-color-on-neutral: #fff;
|
|
166
|
+
|
|
167
|
+
/* -------------------------------------------------------------
|
|
168
|
+
Radius
|
|
169
|
+
------------------------------------------------------------- */
|
|
170
|
+
|
|
171
|
+
--vc-radius-sm: 0.125rem; /* 2px */
|
|
172
|
+
--vc-radius-md: 0.375rem; /* 6px */
|
|
173
|
+
--vc-radius-lg: 0.5rem; /* 8px */
|
|
174
|
+
--vc-radius-xl: 0.75rem; /* 12px */
|
|
175
|
+
--vc-radius-full: 9999px;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* -----------------------------------------------------------------
|
|
179
|
+
Dark mode — only semantic aliases flip; scales stay the same.
|
|
180
|
+
Apply by toggling `class="dark"` on <html> or an ancestor.
|
|
181
|
+
----------------------------------------------------------------- */
|
|
182
|
+
|
|
183
|
+
.dark {
|
|
184
|
+
/* Shade choices mirror Nuxt UI: bg=900 (softer than 950),
|
|
185
|
+
fg=200 (softer than pure 100), muted bg=800. Reduces the
|
|
186
|
+
harsh white-on-black contrast while staying clearly dark. */
|
|
187
|
+
--vc-color-bg: var(--vc-color-neutral-900);
|
|
188
|
+
--vc-color-bg-muted: var(--vc-color-neutral-800);
|
|
189
|
+
--vc-color-bg-elevated: var(--vc-color-neutral-800);
|
|
190
|
+
--vc-color-fg: var(--vc-color-neutral-200);
|
|
191
|
+
--vc-color-fg-muted: var(--vc-color-neutral-500);
|
|
192
|
+
--vc-color-border: var(--vc-color-neutral-800);
|
|
193
|
+
--vc-color-border-muted: var(--vc-color-neutral-900);
|
|
194
|
+
--vc-color-ring: var(--vc-color-primary-400);
|
|
195
|
+
|
|
196
|
+
--vc-color-on-warning: var(--vc-color-neutral-950);
|
|
197
|
+
}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @vuecs/design — Tailwind v4 palette catalog (standalone subpath)
|
|
3
|
+
*
|
|
4
|
+
* AUTO-GENERATED. Do not edit by hand.
|
|
5
|
+
*
|
|
6
|
+
* Source: tailwindcss@4.2.4 → theme.css. 22 palettes × 11 shades
|
|
7
|
+
* (242 OKLCH literals) emitted as plain CSS custom properties so consumers
|
|
8
|
+
* who don't load Tailwind can still use `setColorPalette()` and reference
|
|
9
|
+
* the palette tokens directly.
|
|
10
|
+
*
|
|
11
|
+
* Regenerate:
|
|
12
|
+
* npm run --workspace=packages/design standalone:build
|
|
13
|
+
*
|
|
14
|
+
* Validate (CI):
|
|
15
|
+
* npm run --workspace=packages/design standalone:check
|
|
16
|
+
*/
|
|
17
|
+
:root {
|
|
18
|
+
/* slate */
|
|
19
|
+
--color-slate-50: oklch(98.4% 0.003 247.858);
|
|
20
|
+
--color-slate-100: oklch(96.8% 0.007 247.896);
|
|
21
|
+
--color-slate-200: oklch(92.9% 0.013 255.508);
|
|
22
|
+
--color-slate-300: oklch(86.9% 0.022 252.894);
|
|
23
|
+
--color-slate-400: oklch(70.4% 0.04 256.788);
|
|
24
|
+
--color-slate-500: oklch(55.4% 0.046 257.417);
|
|
25
|
+
--color-slate-600: oklch(44.6% 0.043 257.281);
|
|
26
|
+
--color-slate-700: oklch(37.2% 0.044 257.287);
|
|
27
|
+
--color-slate-800: oklch(27.9% 0.041 260.031);
|
|
28
|
+
--color-slate-900: oklch(20.8% 0.042 265.755);
|
|
29
|
+
--color-slate-950: oklch(12.9% 0.042 264.695);
|
|
30
|
+
|
|
31
|
+
/* gray */
|
|
32
|
+
--color-gray-50: oklch(98.5% 0.002 247.839);
|
|
33
|
+
--color-gray-100: oklch(96.7% 0.003 264.542);
|
|
34
|
+
--color-gray-200: oklch(92.8% 0.006 264.531);
|
|
35
|
+
--color-gray-300: oklch(87.2% 0.01 258.338);
|
|
36
|
+
--color-gray-400: oklch(70.7% 0.022 261.325);
|
|
37
|
+
--color-gray-500: oklch(55.1% 0.027 264.364);
|
|
38
|
+
--color-gray-600: oklch(44.6% 0.03 256.802);
|
|
39
|
+
--color-gray-700: oklch(37.3% 0.034 259.733);
|
|
40
|
+
--color-gray-800: oklch(27.8% 0.033 256.848);
|
|
41
|
+
--color-gray-900: oklch(21% 0.034 264.665);
|
|
42
|
+
--color-gray-950: oklch(13% 0.028 261.692);
|
|
43
|
+
|
|
44
|
+
/* zinc */
|
|
45
|
+
--color-zinc-50: oklch(98.5% 0 0);
|
|
46
|
+
--color-zinc-100: oklch(96.7% 0.001 286.375);
|
|
47
|
+
--color-zinc-200: oklch(92% 0.004 286.32);
|
|
48
|
+
--color-zinc-300: oklch(87.1% 0.006 286.286);
|
|
49
|
+
--color-zinc-400: oklch(70.5% 0.015 286.067);
|
|
50
|
+
--color-zinc-500: oklch(55.2% 0.016 285.938);
|
|
51
|
+
--color-zinc-600: oklch(44.2% 0.017 285.786);
|
|
52
|
+
--color-zinc-700: oklch(37% 0.013 285.805);
|
|
53
|
+
--color-zinc-800: oklch(27.4% 0.006 286.033);
|
|
54
|
+
--color-zinc-900: oklch(21% 0.006 285.885);
|
|
55
|
+
--color-zinc-950: oklch(14.1% 0.005 285.823);
|
|
56
|
+
|
|
57
|
+
/* neutral */
|
|
58
|
+
--color-neutral-50: oklch(98.5% 0 0);
|
|
59
|
+
--color-neutral-100: oklch(97% 0 0);
|
|
60
|
+
--color-neutral-200: oklch(92.2% 0 0);
|
|
61
|
+
--color-neutral-300: oklch(87% 0 0);
|
|
62
|
+
--color-neutral-400: oklch(70.8% 0 0);
|
|
63
|
+
--color-neutral-500: oklch(55.6% 0 0);
|
|
64
|
+
--color-neutral-600: oklch(43.9% 0 0);
|
|
65
|
+
--color-neutral-700: oklch(37.1% 0 0);
|
|
66
|
+
--color-neutral-800: oklch(26.9% 0 0);
|
|
67
|
+
--color-neutral-900: oklch(20.5% 0 0);
|
|
68
|
+
--color-neutral-950: oklch(14.5% 0 0);
|
|
69
|
+
|
|
70
|
+
/* stone */
|
|
71
|
+
--color-stone-50: oklch(98.5% 0.001 106.423);
|
|
72
|
+
--color-stone-100: oklch(97% 0.001 106.424);
|
|
73
|
+
--color-stone-200: oklch(92.3% 0.003 48.717);
|
|
74
|
+
--color-stone-300: oklch(86.9% 0.005 56.366);
|
|
75
|
+
--color-stone-400: oklch(70.9% 0.01 56.259);
|
|
76
|
+
--color-stone-500: oklch(55.3% 0.013 58.071);
|
|
77
|
+
--color-stone-600: oklch(44.4% 0.011 73.639);
|
|
78
|
+
--color-stone-700: oklch(37.4% 0.01 67.558);
|
|
79
|
+
--color-stone-800: oklch(26.8% 0.007 34.298);
|
|
80
|
+
--color-stone-900: oklch(21.6% 0.006 56.043);
|
|
81
|
+
--color-stone-950: oklch(14.7% 0.004 49.25);
|
|
82
|
+
|
|
83
|
+
/* red */
|
|
84
|
+
--color-red-50: oklch(97.1% 0.013 17.38);
|
|
85
|
+
--color-red-100: oklch(93.6% 0.032 17.717);
|
|
86
|
+
--color-red-200: oklch(88.5% 0.062 18.334);
|
|
87
|
+
--color-red-300: oklch(80.8% 0.114 19.571);
|
|
88
|
+
--color-red-400: oklch(70.4% 0.191 22.216);
|
|
89
|
+
--color-red-500: oklch(63.7% 0.237 25.331);
|
|
90
|
+
--color-red-600: oklch(57.7% 0.245 27.325);
|
|
91
|
+
--color-red-700: oklch(50.5% 0.213 27.518);
|
|
92
|
+
--color-red-800: oklch(44.4% 0.177 26.899);
|
|
93
|
+
--color-red-900: oklch(39.6% 0.141 25.723);
|
|
94
|
+
--color-red-950: oklch(25.8% 0.092 26.042);
|
|
95
|
+
|
|
96
|
+
/* orange */
|
|
97
|
+
--color-orange-50: oklch(98% 0.016 73.684);
|
|
98
|
+
--color-orange-100: oklch(95.4% 0.038 75.164);
|
|
99
|
+
--color-orange-200: oklch(90.1% 0.076 70.697);
|
|
100
|
+
--color-orange-300: oklch(83.7% 0.128 66.29);
|
|
101
|
+
--color-orange-400: oklch(75% 0.183 55.934);
|
|
102
|
+
--color-orange-500: oklch(70.5% 0.213 47.604);
|
|
103
|
+
--color-orange-600: oklch(64.6% 0.222 41.116);
|
|
104
|
+
--color-orange-700: oklch(55.3% 0.195 38.402);
|
|
105
|
+
--color-orange-800: oklch(47% 0.157 37.304);
|
|
106
|
+
--color-orange-900: oklch(40.8% 0.123 38.172);
|
|
107
|
+
--color-orange-950: oklch(26.6% 0.079 36.259);
|
|
108
|
+
|
|
109
|
+
/* amber */
|
|
110
|
+
--color-amber-50: oklch(98.7% 0.022 95.277);
|
|
111
|
+
--color-amber-100: oklch(96.2% 0.059 95.617);
|
|
112
|
+
--color-amber-200: oklch(92.4% 0.12 95.746);
|
|
113
|
+
--color-amber-300: oklch(87.9% 0.169 91.605);
|
|
114
|
+
--color-amber-400: oklch(82.8% 0.189 84.429);
|
|
115
|
+
--color-amber-500: oklch(76.9% 0.188 70.08);
|
|
116
|
+
--color-amber-600: oklch(66.6% 0.179 58.318);
|
|
117
|
+
--color-amber-700: oklch(55.5% 0.163 48.998);
|
|
118
|
+
--color-amber-800: oklch(47.3% 0.137 46.201);
|
|
119
|
+
--color-amber-900: oklch(41.4% 0.112 45.904);
|
|
120
|
+
--color-amber-950: oklch(27.9% 0.077 45.635);
|
|
121
|
+
|
|
122
|
+
/* yellow */
|
|
123
|
+
--color-yellow-50: oklch(98.7% 0.026 102.212);
|
|
124
|
+
--color-yellow-100: oklch(97.3% 0.071 103.193);
|
|
125
|
+
--color-yellow-200: oklch(94.5% 0.129 101.54);
|
|
126
|
+
--color-yellow-300: oklch(90.5% 0.182 98.111);
|
|
127
|
+
--color-yellow-400: oklch(85.2% 0.199 91.936);
|
|
128
|
+
--color-yellow-500: oklch(79.5% 0.184 86.047);
|
|
129
|
+
--color-yellow-600: oklch(68.1% 0.162 75.834);
|
|
130
|
+
--color-yellow-700: oklch(55.4% 0.135 66.442);
|
|
131
|
+
--color-yellow-800: oklch(47.6% 0.114 61.907);
|
|
132
|
+
--color-yellow-900: oklch(42.1% 0.095 57.708);
|
|
133
|
+
--color-yellow-950: oklch(28.6% 0.066 53.813);
|
|
134
|
+
|
|
135
|
+
/* lime */
|
|
136
|
+
--color-lime-50: oklch(98.6% 0.031 120.757);
|
|
137
|
+
--color-lime-100: oklch(96.7% 0.067 122.328);
|
|
138
|
+
--color-lime-200: oklch(93.8% 0.127 124.321);
|
|
139
|
+
--color-lime-300: oklch(89.7% 0.196 126.665);
|
|
140
|
+
--color-lime-400: oklch(84.1% 0.238 128.85);
|
|
141
|
+
--color-lime-500: oklch(76.8% 0.233 130.85);
|
|
142
|
+
--color-lime-600: oklch(64.8% 0.2 131.684);
|
|
143
|
+
--color-lime-700: oklch(53.2% 0.157 131.589);
|
|
144
|
+
--color-lime-800: oklch(45.3% 0.124 130.933);
|
|
145
|
+
--color-lime-900: oklch(40.5% 0.101 131.063);
|
|
146
|
+
--color-lime-950: oklch(27.4% 0.072 132.109);
|
|
147
|
+
|
|
148
|
+
/* green */
|
|
149
|
+
--color-green-50: oklch(98.2% 0.018 155.826);
|
|
150
|
+
--color-green-100: oklch(96.2% 0.044 156.743);
|
|
151
|
+
--color-green-200: oklch(92.5% 0.084 155.995);
|
|
152
|
+
--color-green-300: oklch(87.1% 0.15 154.449);
|
|
153
|
+
--color-green-400: oklch(79.2% 0.209 151.711);
|
|
154
|
+
--color-green-500: oklch(72.3% 0.219 149.579);
|
|
155
|
+
--color-green-600: oklch(62.7% 0.194 149.214);
|
|
156
|
+
--color-green-700: oklch(52.7% 0.154 150.069);
|
|
157
|
+
--color-green-800: oklch(44.8% 0.119 151.328);
|
|
158
|
+
--color-green-900: oklch(39.3% 0.095 152.535);
|
|
159
|
+
--color-green-950: oklch(26.6% 0.065 152.934);
|
|
160
|
+
|
|
161
|
+
/* emerald */
|
|
162
|
+
--color-emerald-50: oklch(97.9% 0.021 166.113);
|
|
163
|
+
--color-emerald-100: oklch(95% 0.052 163.051);
|
|
164
|
+
--color-emerald-200: oklch(90.5% 0.093 164.15);
|
|
165
|
+
--color-emerald-300: oklch(84.5% 0.143 164.978);
|
|
166
|
+
--color-emerald-400: oklch(76.5% 0.177 163.223);
|
|
167
|
+
--color-emerald-500: oklch(69.6% 0.17 162.48);
|
|
168
|
+
--color-emerald-600: oklch(59.6% 0.145 163.225);
|
|
169
|
+
--color-emerald-700: oklch(50.8% 0.118 165.612);
|
|
170
|
+
--color-emerald-800: oklch(43.2% 0.095 166.913);
|
|
171
|
+
--color-emerald-900: oklch(37.8% 0.077 168.94);
|
|
172
|
+
--color-emerald-950: oklch(26.2% 0.051 172.552);
|
|
173
|
+
|
|
174
|
+
/* teal */
|
|
175
|
+
--color-teal-50: oklch(98.4% 0.014 180.72);
|
|
176
|
+
--color-teal-100: oklch(95.3% 0.051 180.801);
|
|
177
|
+
--color-teal-200: oklch(91% 0.096 180.426);
|
|
178
|
+
--color-teal-300: oklch(85.5% 0.138 181.071);
|
|
179
|
+
--color-teal-400: oklch(77.7% 0.152 181.912);
|
|
180
|
+
--color-teal-500: oklch(70.4% 0.14 182.503);
|
|
181
|
+
--color-teal-600: oklch(60% 0.118 184.704);
|
|
182
|
+
--color-teal-700: oklch(51.1% 0.096 186.391);
|
|
183
|
+
--color-teal-800: oklch(43.7% 0.078 188.216);
|
|
184
|
+
--color-teal-900: oklch(38.6% 0.063 188.416);
|
|
185
|
+
--color-teal-950: oklch(27.7% 0.046 192.524);
|
|
186
|
+
|
|
187
|
+
/* cyan */
|
|
188
|
+
--color-cyan-50: oklch(98.4% 0.019 200.873);
|
|
189
|
+
--color-cyan-100: oklch(95.6% 0.045 203.388);
|
|
190
|
+
--color-cyan-200: oklch(91.7% 0.08 205.041);
|
|
191
|
+
--color-cyan-300: oklch(86.5% 0.127 207.078);
|
|
192
|
+
--color-cyan-400: oklch(78.9% 0.154 211.53);
|
|
193
|
+
--color-cyan-500: oklch(71.5% 0.143 215.221);
|
|
194
|
+
--color-cyan-600: oklch(60.9% 0.126 221.723);
|
|
195
|
+
--color-cyan-700: oklch(52% 0.105 223.128);
|
|
196
|
+
--color-cyan-800: oklch(45% 0.085 224.283);
|
|
197
|
+
--color-cyan-900: oklch(39.8% 0.07 227.392);
|
|
198
|
+
--color-cyan-950: oklch(30.2% 0.056 229.695);
|
|
199
|
+
|
|
200
|
+
/* sky */
|
|
201
|
+
--color-sky-50: oklch(97.7% 0.013 236.62);
|
|
202
|
+
--color-sky-100: oklch(95.1% 0.026 236.824);
|
|
203
|
+
--color-sky-200: oklch(90.1% 0.058 230.902);
|
|
204
|
+
--color-sky-300: oklch(82.8% 0.111 230.318);
|
|
205
|
+
--color-sky-400: oklch(74.6% 0.16 232.661);
|
|
206
|
+
--color-sky-500: oklch(68.5% 0.169 237.323);
|
|
207
|
+
--color-sky-600: oklch(58.8% 0.158 241.966);
|
|
208
|
+
--color-sky-700: oklch(50% 0.134 242.749);
|
|
209
|
+
--color-sky-800: oklch(44.3% 0.11 240.79);
|
|
210
|
+
--color-sky-900: oklch(39.1% 0.09 240.876);
|
|
211
|
+
--color-sky-950: oklch(29.3% 0.066 243.157);
|
|
212
|
+
|
|
213
|
+
/* blue */
|
|
214
|
+
--color-blue-50: oklch(97% 0.014 254.604);
|
|
215
|
+
--color-blue-100: oklch(93.2% 0.032 255.585);
|
|
216
|
+
--color-blue-200: oklch(88.2% 0.059 254.128);
|
|
217
|
+
--color-blue-300: oklch(80.9% 0.105 251.813);
|
|
218
|
+
--color-blue-400: oklch(70.7% 0.165 254.624);
|
|
219
|
+
--color-blue-500: oklch(62.3% 0.214 259.815);
|
|
220
|
+
--color-blue-600: oklch(54.6% 0.245 262.881);
|
|
221
|
+
--color-blue-700: oklch(48.8% 0.243 264.376);
|
|
222
|
+
--color-blue-800: oklch(42.4% 0.199 265.638);
|
|
223
|
+
--color-blue-900: oklch(37.9% 0.146 265.522);
|
|
224
|
+
--color-blue-950: oklch(28.2% 0.091 267.935);
|
|
225
|
+
|
|
226
|
+
/* indigo */
|
|
227
|
+
--color-indigo-50: oklch(96.2% 0.018 272.314);
|
|
228
|
+
--color-indigo-100: oklch(93% 0.034 272.788);
|
|
229
|
+
--color-indigo-200: oklch(87% 0.065 274.039);
|
|
230
|
+
--color-indigo-300: oklch(78.5% 0.115 274.713);
|
|
231
|
+
--color-indigo-400: oklch(67.3% 0.182 276.935);
|
|
232
|
+
--color-indigo-500: oklch(58.5% 0.233 277.117);
|
|
233
|
+
--color-indigo-600: oklch(51.1% 0.262 276.966);
|
|
234
|
+
--color-indigo-700: oklch(45.7% 0.24 277.023);
|
|
235
|
+
--color-indigo-800: oklch(39.8% 0.195 277.366);
|
|
236
|
+
--color-indigo-900: oklch(35.9% 0.144 278.697);
|
|
237
|
+
--color-indigo-950: oklch(25.7% 0.09 281.288);
|
|
238
|
+
|
|
239
|
+
/* violet */
|
|
240
|
+
--color-violet-50: oklch(96.9% 0.016 293.756);
|
|
241
|
+
--color-violet-100: oklch(94.3% 0.029 294.588);
|
|
242
|
+
--color-violet-200: oklch(89.4% 0.057 293.283);
|
|
243
|
+
--color-violet-300: oklch(81.1% 0.111 293.571);
|
|
244
|
+
--color-violet-400: oklch(70.2% 0.183 293.541);
|
|
245
|
+
--color-violet-500: oklch(60.6% 0.25 292.717);
|
|
246
|
+
--color-violet-600: oklch(54.1% 0.281 293.009);
|
|
247
|
+
--color-violet-700: oklch(49.1% 0.27 292.581);
|
|
248
|
+
--color-violet-800: oklch(43.2% 0.232 292.759);
|
|
249
|
+
--color-violet-900: oklch(38% 0.189 293.745);
|
|
250
|
+
--color-violet-950: oklch(28.3% 0.141 291.089);
|
|
251
|
+
|
|
252
|
+
/* purple */
|
|
253
|
+
--color-purple-50: oklch(97.7% 0.014 308.299);
|
|
254
|
+
--color-purple-100: oklch(94.6% 0.033 307.174);
|
|
255
|
+
--color-purple-200: oklch(90.2% 0.063 306.703);
|
|
256
|
+
--color-purple-300: oklch(82.7% 0.119 306.383);
|
|
257
|
+
--color-purple-400: oklch(71.4% 0.203 305.504);
|
|
258
|
+
--color-purple-500: oklch(62.7% 0.265 303.9);
|
|
259
|
+
--color-purple-600: oklch(55.8% 0.288 302.321);
|
|
260
|
+
--color-purple-700: oklch(49.6% 0.265 301.924);
|
|
261
|
+
--color-purple-800: oklch(43.8% 0.218 303.724);
|
|
262
|
+
--color-purple-900: oklch(38.1% 0.176 304.987);
|
|
263
|
+
--color-purple-950: oklch(29.1% 0.149 302.717);
|
|
264
|
+
|
|
265
|
+
/* fuchsia */
|
|
266
|
+
--color-fuchsia-50: oklch(97.7% 0.017 320.058);
|
|
267
|
+
--color-fuchsia-100: oklch(95.2% 0.037 318.852);
|
|
268
|
+
--color-fuchsia-200: oklch(90.3% 0.076 319.62);
|
|
269
|
+
--color-fuchsia-300: oklch(83.3% 0.145 321.434);
|
|
270
|
+
--color-fuchsia-400: oklch(74% 0.238 322.16);
|
|
271
|
+
--color-fuchsia-500: oklch(66.7% 0.295 322.15);
|
|
272
|
+
--color-fuchsia-600: oklch(59.1% 0.293 322.896);
|
|
273
|
+
--color-fuchsia-700: oklch(51.8% 0.253 323.949);
|
|
274
|
+
--color-fuchsia-800: oklch(45.2% 0.211 324.591);
|
|
275
|
+
--color-fuchsia-900: oklch(40.1% 0.17 325.612);
|
|
276
|
+
--color-fuchsia-950: oklch(29.3% 0.136 325.661);
|
|
277
|
+
|
|
278
|
+
/* pink */
|
|
279
|
+
--color-pink-50: oklch(97.1% 0.014 343.198);
|
|
280
|
+
--color-pink-100: oklch(94.8% 0.028 342.258);
|
|
281
|
+
--color-pink-200: oklch(89.9% 0.061 343.231);
|
|
282
|
+
--color-pink-300: oklch(82.3% 0.12 346.018);
|
|
283
|
+
--color-pink-400: oklch(71.8% 0.202 349.761);
|
|
284
|
+
--color-pink-500: oklch(65.6% 0.241 354.308);
|
|
285
|
+
--color-pink-600: oklch(59.2% 0.249 0.584);
|
|
286
|
+
--color-pink-700: oklch(52.5% 0.223 3.958);
|
|
287
|
+
--color-pink-800: oklch(45.9% 0.187 3.815);
|
|
288
|
+
--color-pink-900: oklch(40.8% 0.153 2.432);
|
|
289
|
+
--color-pink-950: oklch(28.4% 0.109 3.907);
|
|
290
|
+
|
|
291
|
+
/* rose */
|
|
292
|
+
--color-rose-50: oklch(96.9% 0.015 12.422);
|
|
293
|
+
--color-rose-100: oklch(94.1% 0.03 12.58);
|
|
294
|
+
--color-rose-200: oklch(89.2% 0.058 10.001);
|
|
295
|
+
--color-rose-300: oklch(81% 0.117 11.638);
|
|
296
|
+
--color-rose-400: oklch(71.2% 0.194 13.428);
|
|
297
|
+
--color-rose-500: oklch(64.5% 0.246 16.439);
|
|
298
|
+
--color-rose-600: oklch(58.6% 0.253 17.585);
|
|
299
|
+
--color-rose-700: oklch(51.4% 0.222 16.935);
|
|
300
|
+
--color-rose-800: oklch(45.5% 0.188 13.697);
|
|
301
|
+
--color-rose-900: oklch(41% 0.159 10.272);
|
|
302
|
+
--color-rose-950: oklch(27.1% 0.105 12.094);
|
|
303
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @vuecs/design — Standalone entry (plan 015 P3)
|
|
3
|
+
*
|
|
4
|
+
* Tailwind-free starting point for Bootstrap / Bulma consumers (and
|
|
5
|
+
* anyone else who doesn't want Tailwind v4 in their bundle). Brings:
|
|
6
|
+
*
|
|
7
|
+
* 1. The full 22-palette Tailwind v4 OKLCH catalog
|
|
8
|
+
* (`--color-<palette>-<shade>`, 242 vars). This is what
|
|
9
|
+
* `setColorPalette()` writes against — without it, runtime palette
|
|
10
|
+
* switching silently no-ops on Tailwind-free apps.
|
|
11
|
+
* 2. All the design tokens from `@vuecs/design`'s default entry
|
|
12
|
+
* (`--vc-color-*`, radius, light/dark aliases, motion primitives).
|
|
13
|
+
*
|
|
14
|
+
* Consumer paths (mutually exclusive — never import both):
|
|
15
|
+
*
|
|
16
|
+
* // Tailwind user
|
|
17
|
+
* @import "tailwindcss";
|
|
18
|
+
* @import "@vuecs/design";
|
|
19
|
+
* @import "@vuecs/theme-tailwind";
|
|
20
|
+
*
|
|
21
|
+
* // Bootstrap / Bulma user — Tailwind-free
|
|
22
|
+
* @import "bootstrap/dist/css/bootstrap.css"; (or "bulma/css/bulma.css")
|
|
23
|
+
* @import "@vuecs/design/standalone";
|
|
24
|
+
* @import "@vuecs/theme-bootstrap"; (or "@vuecs/theme-bulma")
|
|
25
|
+
*
|
|
26
|
+
* Note: `setColorPalette()` is exported from theme packages
|
|
27
|
+
* (`@vuecs/theme-tailwind`, `@vuecs/theme-bulma`), not from
|
|
28
|
+
* `@vuecs/design`. The `/standalone` subpath provides the
|
|
29
|
+
* `--color-<palette>-*` source variables those runtimes target;
|
|
30
|
+
* Bootstrap consumers without a theme-side palette runtime can compose
|
|
31
|
+
* `applyColorPaletteCss` from `@vuecs/design` directly.
|
|
32
|
+
*
|
|
33
|
+
* `palettes.css` ships separately at `@vuecs/design/palettes.css` for
|
|
34
|
+
* consumers who only want the catalog without the semantic-scale defaults.
|
|
35
|
+
*/
|
|
36
|
+
@import "./palettes.css";
|
|
37
|
+
@import "./index.css";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Ref } from 'vue';
|
|
2
|
+
import type { ColorMode, UseColorModeOptions, UseColorModeReturn } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Wire any reactive `Ref<ColorMode>` into the design system: track
|
|
5
|
+
* system preference, expose the resolved light/dark value, and
|
|
6
|
+
* (optionally) sync the `.dark` / `.light` class on `<html>`.
|
|
7
|
+
*
|
|
8
|
+
* The `syncClass` watcher mirrors what `@vuecs/nuxt`'s SSR plugin
|
|
9
|
+
* writes server-side, so client hydration leaves the class in place.
|
|
10
|
+
*/
|
|
11
|
+
export declare function bindColorMode(source: Ref<ColorMode>, options?: Pick<UseColorModeOptions, 'syncClass'>): UseColorModeReturn;
|
|
12
|
+
//# sourceMappingURL=bind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../../src/core/color-mode/bind.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EACtB,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAM,GACrD,kBAAkB,CA0EpB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { UseColorModeOptions, UseColorModeReturn } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Reactive color-mode state with localStorage persistence. Shared
|
|
4
|
+
* across all call sites via `createSharedComposable` so toggling in
|
|
5
|
+
* one component updates every consumer (and the `<html>` class) in
|
|
6
|
+
* lockstep.
|
|
7
|
+
*
|
|
8
|
+
* For SSR-aware cookie-backed storage (Nuxt), the `@vuecs/nuxt` module
|
|
9
|
+
* ships its own `useColorMode()` that calls `bindColorMode()` directly
|
|
10
|
+
* with a cookie-backed ref. Both expose the same return shape.
|
|
11
|
+
*/
|
|
12
|
+
export declare const useColorMode: (options?: UseColorModeOptions) => UseColorModeReturn;
|
|
13
|
+
//# sourceMappingURL=composable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composable.d.ts","sourceRoot":"","sources":["../../../src/core/color-mode/composable.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAa,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAYlF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,aACX,mBAAmB,KAAQ,kBAmBxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/color-mode/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ComputedRef, WritableComputedRef } from 'vue';
|
|
2
|
+
export type ColorMode = 'light' | 'dark' | 'system';
|
|
3
|
+
/**
|
|
4
|
+
* Options for `useColorMode()`. Note that `useColorMode` is wrapped
|
|
5
|
+
* with `createSharedComposable`, so these options are honored **only
|
|
6
|
+
* on the first call**. Subsequent invocations from anywhere in the
|
|
7
|
+
* app receive the cached instance — passing a different `storageKey`,
|
|
8
|
+
* `initial`, or `syncClass` is a silent no-op.
|
|
9
|
+
*
|
|
10
|
+
* If you need a per-call configuration, call `bindColorMode()`
|
|
11
|
+
* directly with your own reactive ref instead.
|
|
12
|
+
*/
|
|
13
|
+
export interface UseColorModeOptions {
|
|
14
|
+
/** Initial mode when no persisted value exists. Default: `'system'`. */
|
|
15
|
+
initial?: ColorMode;
|
|
16
|
+
/** Persist via localStorage (`useStorage` from `@vueuse/core`). Default: `true`. */
|
|
17
|
+
persist?: boolean;
|
|
18
|
+
/** Storage key for the default backend. Default: `'vc-color-mode'`. */
|
|
19
|
+
storageKey?: string;
|
|
20
|
+
/** Toggle the `.dark` / `.light` class on `<html>`. Default: `true`. */
|
|
21
|
+
syncClass?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface UseColorModeReturn {
|
|
24
|
+
/** Selected mode — may be `'system'` to defer to OS preference. */
|
|
25
|
+
mode: WritableComputedRef<ColorMode>;
|
|
26
|
+
/** Effective mode — never `'system'`; resolves to `'light'` or `'dark'`. */
|
|
27
|
+
resolved: ComputedRef<'light' | 'dark'>;
|
|
28
|
+
/**
|
|
29
|
+
* Convenience boolean proxying `resolved.value === 'dark'`.
|
|
30
|
+
* Writing `true` sets `mode` to `'dark'`; `false` sets `'light'`.
|
|
31
|
+
*/
|
|
32
|
+
isDark: WritableComputedRef<boolean>;
|
|
33
|
+
/** Flip between light and dark. Always sets a concrete mode (no `'system'`). */
|
|
34
|
+
toggle(): void;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/color-mode/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAE5D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAChC,wEAAwE;IACxE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,mEAAmE;IACnE,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrC,4EAA4E;IAC5E,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACxC;;;OAGG;IACH,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACrC,gFAAgF;IAChF,MAAM,IAAI,IAAI,CAAC;CAClB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOM id used for the runtime palette `<style>` block. Themes that
|
|
3
|
+
* implement palette switching should write into a `<style>` element
|
|
4
|
+
* with this id (via `applyColorPaletteCss()`); SSR plugins use the same
|
|
5
|
+
* id so client hydration replaces the server-rendered block atomically.
|
|
6
|
+
*/
|
|
7
|
+
export declare const COLOR_PALETTE_STYLE_ELEMENT_ID = "vc-color-palette";
|
|
8
|
+
/**
|
|
9
|
+
* Apply an arbitrary CSS string as a `<style id="vc-color-palette">` block
|
|
10
|
+
* (client-side only). Idempotent — subsequent calls replace the
|
|
11
|
+
* element's content.
|
|
12
|
+
*
|
|
13
|
+
* Theme-agnostic: accepts whatever CSS string the caller wants. Themes
|
|
14
|
+
* that ship palette switching compose this with their own renderer
|
|
15
|
+
* (e.g. `@vuecs/theme-tailwind`'s `renderColorPaletteStyles()`); other
|
|
16
|
+
* tooling can call it directly with custom CSS.
|
|
17
|
+
*
|
|
18
|
+
* The optional `nonce` parameter wires CSP nonce attribution: when set,
|
|
19
|
+
* the created `<style>` element carries `nonce="..."` so it survives a
|
|
20
|
+
* strict Content-Security-Policy. Subsequent calls update the
|
|
21
|
+
* attribute when the value changes, and clear it when the new value is
|
|
22
|
+
* undefined (so consumers can revoke a stale nonce on policy update).
|
|
23
|
+
* Consumers typically read this via
|
|
24
|
+
* `useConfig('nonce')` (from `@vuecs/core`, augmented by
|
|
25
|
+
* `@vuecs/theme-tailwind`); the per-theme `useColorPalette` wrappers
|
|
26
|
+
* already do this.
|
|
27
|
+
*
|
|
28
|
+
* On the server (`document` undefined) this is a no-op; SSR pre-render
|
|
29
|
+
* paths should serialize the renderer's output into the response head
|
|
30
|
+
* directly (with the nonce wired through framework-specific head
|
|
31
|
+
* APIs), then let the client take over on hydration.
|
|
32
|
+
*/
|
|
33
|
+
export declare function applyColorPaletteCss(css: string, doc?: Document | undefined, nonce?: string): void;
|
|
34
|
+
//# sourceMappingURL=apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/core/color-palette/apply.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAChC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,QAAQ,GAAG,SAA+B,EAC/C,KAAK,CAAC,EAAE,MAAM,GACf,IAAI,CAiBN"}
|