@dumiflex/wp-kit 0.3.0 → 0.4.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/CHANGELOG.md +77 -51
- package/LICENSE +674 -674
- package/README.md +73 -76
- package/package.json +78 -77
- package/src/Avatar.vue +83 -83
- package/src/Badge.vue +97 -97
- package/src/Banner.vue +118 -118
- package/src/BookmarkButton.vue +27 -27
- package/src/BundleMeta.vue +51 -51
- package/src/Button.vue +103 -103
- package/src/Card.vue +68 -68
- package/src/Checkbox.vue +109 -107
- package/src/Chip.vue +163 -97
- package/src/ChoiceCards.vue +133 -133
- package/src/CloseButton.vue +69 -69
- package/src/CodeBlock.vue +119 -119
- package/src/ColorField.vue +188 -206
- package/src/ColorPicker.vue +201 -201
- package/src/Combobox.vue +331 -334
- package/src/ConfirmDialog.vue +165 -163
- package/src/ConfirmModal.vue +147 -147
- package/src/ConstraintMatrixPreview.vue +708 -708
- package/src/ContextMenu.vue +386 -379
- package/src/CopyButton.vue +156 -156
- package/src/DataTable.vue +292 -292
- package/src/DatePicker.vue +234 -234
- package/src/DescriptionList.vue +73 -73
- package/src/DiffView.vue +68 -68
- package/src/Disclosure.vue +166 -166
- package/src/DragHandle.vue +49 -49
- package/src/Drawer.vue +131 -131
- package/src/DropZone.vue +196 -196
- package/src/DropdownMenu.vue +72 -72
- package/src/EmptyState.vue +111 -111
- package/src/Field.vue +28 -28
- package/src/HsvPicker.vue +208 -208
- package/src/Icon.vue +39 -39
- package/src/IconPicker.vue +209 -209
- package/src/ImageGrid.vue +125 -125
- package/src/InlineEdit.vue +183 -183
- package/src/Input.vue +99 -99
- package/src/Kbd.vue +56 -56
- package/src/Lightbox.vue +173 -173
- package/src/ListFilter.vue +85 -85
- package/src/ListRow.vue +204 -204
- package/src/LoadingMark.vue +175 -161
- package/src/Logo.vue +60 -60
- package/src/Modal.vue +78 -76
- package/src/ModalShell.vue +109 -107
- package/src/Pagination.vue +106 -106
- package/src/Popover.vue +180 -171
- package/src/PostCard.vue +210 -211
- package/src/ProgressBar.vue +90 -90
- package/src/RadioGroup.vue +177 -177
- package/src/RangeSlider.vue +183 -183
- package/src/RelativeDate.vue +35 -35
- package/src/ResizeHandle.vue +143 -143
- package/src/SearchInput.vue +192 -199
- package/src/Select.vue +644 -641
- package/src/Separator.vue +54 -54
- package/src/Skeleton.vue +82 -82
- package/src/Slider.vue +198 -198
- package/src/SortableList.vue +260 -260
- package/src/SplitPane.vue +68 -68
- package/src/StarButton.vue +40 -40
- package/src/Stepper.vue +141 -141
- package/src/SupportLinks.vue +93 -93
- package/src/TagInput.vue +297 -300
- package/src/Textarea.vue +57 -57
- package/src/Timeline.vue +92 -92
- package/src/ToastCard.vue +119 -119
- package/src/ToastHost.vue +40 -40
- package/src/Toggle.vue +36 -36
- package/src/TokenizedValue.vue +310 -310
- package/src/Toolbar.vue +110 -110
- package/src/VirtualList.vue +87 -87
- package/src/VisuallyHidden.vue +29 -29
- package/src/WpButton.vue +75 -75
- package/src/WpCheck.vue +104 -102
- package/src/WpIconButton.vue +107 -107
- package/src/WpImageZoom.vue +544 -544
- package/src/WpNumber.vue +178 -183
- package/src/WpSegmented.vue +175 -175
- package/src/WpSelect.vue +93 -89
- package/src/WpSwitch.vue +163 -163
- package/src/WpTabs.vue +188 -188
- package/src/_modal-motion.css +33 -33
- package/src/_skeleton.css +50 -50
- package/src/axis-color.ts +42 -42
- package/src/button.css +169 -169
- package/src/calendar.ts +59 -59
- package/src/clipboard.ts +50 -50
- package/src/colour-presets.ts +12 -12
- package/src/diff.ts +51 -51
- package/src/drop-zone.ts +41 -41
- package/src/field.css +50 -0
- package/src/flip.ts +237 -237
- package/src/floating-layer.ts +48 -0
- package/src/floating.ts +99 -99
- package/src/hsv.ts +100 -100
- package/src/icon-catalog.ts +52 -52
- package/src/image-zoom.ts +93 -93
- package/src/kind-colour.ts +28 -0
- package/src/logo-paths.ts +21 -21
- package/src/matrix-axis.ts +91 -91
- package/src/pagination.ts +27 -27
- package/src/platform-keys.ts +29 -29
- package/src/rich-tokenize.ts +357 -357
- package/src/select-types.ts +32 -32
- package/src/slider-math.ts +45 -45
- package/src/sortable.ts +22 -22
- package/src/theme/fonts/OFL-Fraunces.txt +93 -93
- package/src/theme/fonts/OFL-JetBrainsMono.txt +93 -93
- package/src/theme/fonts/OFL-Manrope.txt +93 -93
- package/src/theme/looks.css +428 -428
- package/src/theme/palettes.css +254 -254
- package/src/theme/tokens.css +2896 -2894
- package/src/tokens.ts +56 -56
- package/src/tooltip.css +43 -43
- package/src/tooltip.ts +146 -146
- package/src/useDialogFocus.ts +73 -73
- package/src/useGrowableField.ts +357 -357
- package/src/useModalKeyShield.ts +116 -116
- package/src/useToast.ts +48 -48
- package/src/wp-logo.svg +14 -14
- package/src/ChipToggle.vue +0 -92
- package/src/KindChip.vue +0 -53
- package/src/RatingBadge.vue +0 -42
package/src/theme/palettes.css
CHANGED
|
@@ -1,254 +1,254 @@
|
|
|
1
|
-
/* =========================================================
|
|
2
|
-
Colour themes — `data-wp-palette` on <html> (tweaksStore.setPalette).
|
|
3
|
-
|
|
4
|
-
A theme sets surfaces, borders, the three text tiers and its own accent
|
|
5
|
-
ramp. It never changes kind colours, variable colours or teal-for-picked:
|
|
6
|
-
those mean the same thing in every theme. Orbit is tokens.css itself, so it
|
|
7
|
-
has no block here.
|
|
8
|
-
|
|
9
|
-
Dark rules are `html[data-wp-palette=x]:not(.wp-theme-light)` and light
|
|
10
|
-
rules `html.wp-theme-light[data-wp-palette=x]`, so each beats tokens.css's
|
|
11
|
-
`:root` / `.wp-theme-light` blocks without depending on load order.
|
|
12
|
-
|
|
13
|
-
A preset or custom accent from the Accent setting is written inline on
|
|
14
|
-
<html>, so it wins over a theme's ramp; "Theme's own" removes it.
|
|
15
|
-
Ramps are shifted where a theme needs it so `--wp-accent-600` (the primary
|
|
16
|
-
fill, white text) stays at 4.5:1 or better.
|
|
17
|
-
|
|
18
|
-
Contrast: every text tier passes 4.5:1 on bg … bg-3 in both modes, and
|
|
19
|
-
the focus colour 3:1 (checked 2026-10-28, values in
|
|
20
|
-
pr-drafts/themes/theme-palettes-2026-10-28.json in the project files).
|
|
21
|
-
========================================================= */
|
|
22
|
-
|
|
23
|
-
/* Accent-derived tints follow whichever ramp is live (theme or picked). */
|
|
24
|
-
html.wp-manager {
|
|
25
|
-
--wp-focus-ring: 0 0 0 3px color-mix(in oklab, var(--wp-accent-500) 45%, transparent);
|
|
26
|
-
--wp-row-active: color-mix(in oklab, var(--wp-accent-600) 6%, transparent);
|
|
27
|
-
}
|
|
28
|
-
html.wp-manager.wp-theme-light {
|
|
29
|
-
--wp-focus-ring: 0 0 0 3px color-mix(in oklab, var(--wp-accent-600) 35%, transparent);
|
|
30
|
-
--wp-row-active: color-mix(in oklab, var(--wp-accent-600) 9%, transparent);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/* ---------- Native: ComfyUI's own greys, indigo accent ---------- */
|
|
34
|
-
html[data-wp-palette="native"]:not(.wp-theme-light) {
|
|
35
|
-
--wp-bg: #18181a;
|
|
36
|
-
--wp-bg-1: #202123;
|
|
37
|
-
--wp-bg-2: #262729;
|
|
38
|
-
--wp-bg-3: #313235;
|
|
39
|
-
--wp-bg-4: #3b3c40;
|
|
40
|
-
--wp-border: rgba(255, 255, 255, 0.07);
|
|
41
|
-
--wp-border-strong: rgba(255, 255, 255, 0.14);
|
|
42
|
-
--wp-text: #ececed;
|
|
43
|
-
--wp-text-muted: #a8a9ad;
|
|
44
|
-
--wp-text-dim: #9c9da3;
|
|
45
|
-
}
|
|
46
|
-
html.wp-theme-light[data-wp-palette="native"] {
|
|
47
|
-
--wp-bg: #f3f3f3;
|
|
48
|
-
--wp-bg-1: #ffffff;
|
|
49
|
-
--wp-bg-2: #ffffff;
|
|
50
|
-
--wp-bg-3: #e9e9e9;
|
|
51
|
-
--wp-bg-4: #d9d9d9;
|
|
52
|
-
--wp-border: rgba(0, 0, 0, 0.10);
|
|
53
|
-
--wp-border-strong: rgba(0, 0, 0, 0.19);
|
|
54
|
-
--wp-text: #171718;
|
|
55
|
-
--wp-text-muted: #494a50;
|
|
56
|
-
--wp-text-dim: #5c5d63;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/* ---------- Nebula: violet night, violet accent ---------- */
|
|
60
|
-
html[data-wp-palette="nebula"] {
|
|
61
|
-
--wp-accent-50: #f5f3ff;
|
|
62
|
-
--wp-accent-100: #ede9fe;
|
|
63
|
-
--wp-accent-200: #ddd6fe;
|
|
64
|
-
--wp-accent-300: #c4b5fd;
|
|
65
|
-
--wp-accent-400: #a78bfa;
|
|
66
|
-
--wp-accent-500: #8b5cf6;
|
|
67
|
-
--wp-accent-600: #7c3aed;
|
|
68
|
-
--wp-accent-700: #6d28d9;
|
|
69
|
-
--wp-accent-800: #5b21b6;
|
|
70
|
-
--wp-accent-900: #4c1d95;
|
|
71
|
-
}
|
|
72
|
-
html[data-wp-palette="nebula"]:not(.wp-theme-light) {
|
|
73
|
-
--wp-bg: #0d0a16;
|
|
74
|
-
--wp-bg-1: #130f1f;
|
|
75
|
-
--wp-bg-2: #181327;
|
|
76
|
-
--wp-bg-3: #211a33;
|
|
77
|
-
--wp-bg-4: #2a2140;
|
|
78
|
-
--wp-border: rgba(255, 255, 255, 0.08);
|
|
79
|
-
--wp-border-strong: rgba(255, 255, 255, 0.15);
|
|
80
|
-
--wp-text: #ece8f6;
|
|
81
|
-
--wp-text-muted: #aba4c0;
|
|
82
|
-
--wp-text-dim: #958dac;
|
|
83
|
-
}
|
|
84
|
-
html.wp-theme-light[data-wp-palette="nebula"] {
|
|
85
|
-
--wp-bg: #f8f6fd;
|
|
86
|
-
--wp-bg-1: #ffffff;
|
|
87
|
-
--wp-bg-2: #ffffff;
|
|
88
|
-
--wp-bg-3: #f1edfa;
|
|
89
|
-
--wp-bg-4: #e6e0f4;
|
|
90
|
-
--wp-border: rgba(29, 23, 41, 0.10);
|
|
91
|
-
--wp-border-strong: rgba(29, 23, 41, 0.18);
|
|
92
|
-
--wp-text: #1d1729;
|
|
93
|
-
--wp-text-muted: #5d5470;
|
|
94
|
-
--wp-text-dim: #665d7a;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/* ---------- Tide: slate blue, sky accent (ramp shifted one step) ---------- */
|
|
98
|
-
html[data-wp-palette="tide"] {
|
|
99
|
-
--wp-accent-50: #f0f9ff;
|
|
100
|
-
--wp-accent-100: #e0f2fe;
|
|
101
|
-
--wp-accent-200: #bae6fd;
|
|
102
|
-
--wp-accent-300: #7dd3fc;
|
|
103
|
-
--wp-accent-400: #38bdf8;
|
|
104
|
-
--wp-accent-500: #0ea5e9;
|
|
105
|
-
--wp-accent-600: #0369a1; /* sky-700: white 5.9:1 */
|
|
106
|
-
--wp-accent-700: #075985;
|
|
107
|
-
--wp-accent-800: #0c4a6e;
|
|
108
|
-
--wp-accent-900: #082f49;
|
|
109
|
-
}
|
|
110
|
-
html[data-wp-palette="tide"]:not(.wp-theme-light) {
|
|
111
|
-
--wp-bg: #0a1018;
|
|
112
|
-
--wp-bg-1: #0f1722;
|
|
113
|
-
--wp-bg-2: #131c29;
|
|
114
|
-
--wp-bg-3: #1a2534;
|
|
115
|
-
--wp-bg-4: #223042;
|
|
116
|
-
--wp-border: rgba(255, 255, 255, 0.08);
|
|
117
|
-
--wp-border-strong: rgba(255, 255, 255, 0.15);
|
|
118
|
-
--wp-text: #e4ebf3;
|
|
119
|
-
--wp-text-muted: #a0aebe;
|
|
120
|
-
--wp-text-dim: #8898aa;
|
|
121
|
-
}
|
|
122
|
-
html.wp-theme-light[data-wp-palette="tide"] {
|
|
123
|
-
--wp-bg: #f4f7fa;
|
|
124
|
-
--wp-bg-1: #ffffff;
|
|
125
|
-
--wp-bg-2: #ffffff;
|
|
126
|
-
--wp-bg-3: #eaf0f5;
|
|
127
|
-
--wp-bg-4: #dde5ee;
|
|
128
|
-
--wp-border: rgba(15, 26, 38, 0.10);
|
|
129
|
-
--wp-border-strong: rgba(15, 26, 38, 0.19);
|
|
130
|
-
--wp-text: #0f1a26;
|
|
131
|
-
--wp-text-muted: #4d5b6b;
|
|
132
|
-
--wp-text-dim: #58677a;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/* ---------- Ember: warm charcoal, copper accent (ramp shifted one step) ---------- */
|
|
136
|
-
html[data-wp-palette="ember"] {
|
|
137
|
-
--wp-accent-50: #fff7ed;
|
|
138
|
-
--wp-accent-100: #ffedd5;
|
|
139
|
-
--wp-accent-200: #fed7aa;
|
|
140
|
-
--wp-accent-300: #fdba74;
|
|
141
|
-
--wp-accent-400: #fb923c;
|
|
142
|
-
--wp-accent-500: #f97316;
|
|
143
|
-
--wp-accent-600: #c2410c; /* orange-700: white 5.2:1 */
|
|
144
|
-
--wp-accent-700: #9a3412;
|
|
145
|
-
--wp-accent-800: #7c2d12;
|
|
146
|
-
--wp-accent-900: #431407;
|
|
147
|
-
}
|
|
148
|
-
html[data-wp-palette="ember"]:not(.wp-theme-light) {
|
|
149
|
-
--wp-bg: #110d0b;
|
|
150
|
-
--wp-bg-1: #17120f;
|
|
151
|
-
--wp-bg-2: #1c1613;
|
|
152
|
-
--wp-bg-3: #251d19;
|
|
153
|
-
--wp-bg-4: #2f2520;
|
|
154
|
-
--wp-border: rgba(255, 255, 255, 0.08);
|
|
155
|
-
--wp-border-strong: rgba(255, 255, 255, 0.15);
|
|
156
|
-
--wp-text: #f1e9e4;
|
|
157
|
-
--wp-text-muted: #b5a89f;
|
|
158
|
-
--wp-text-dim: #9e9188;
|
|
159
|
-
}
|
|
160
|
-
html.wp-theme-light[data-wp-palette="ember"] {
|
|
161
|
-
--wp-bg: #faf7f4;
|
|
162
|
-
--wp-bg-1: #ffffff;
|
|
163
|
-
--wp-bg-2: #ffffff;
|
|
164
|
-
--wp-bg-3: #f3ede7;
|
|
165
|
-
--wp-bg-4: #e9e0d7;
|
|
166
|
-
--wp-border: rgba(35, 26, 20, 0.10);
|
|
167
|
-
--wp-border-strong: rgba(35, 26, 20, 0.19);
|
|
168
|
-
--wp-text: #231a14;
|
|
169
|
-
--wp-text-muted: #62554b;
|
|
170
|
-
--wp-text-dim: #6c5f55;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/* ---------- Community: Orbit's night, rust accent, warm cream light ----------
|
|
174
|
-
* The community site's own theme, the counterpart to the extension's Orbit.
|
|
175
|
-
* Dark surfaces are Orbit's, so it has no dark block. Ramp shifted one step
|
|
176
|
-
* from the site's old values so the fill takes white text. */
|
|
177
|
-
html[data-wp-palette="community"] {
|
|
178
|
-
--wp-accent-50: #fef5f0;
|
|
179
|
-
--wp-accent-100: #fde6db;
|
|
180
|
-
--wp-accent-200: #fbcdb7;
|
|
181
|
-
--wp-accent-300: #f6a583;
|
|
182
|
-
--wp-accent-400: #ed8861;
|
|
183
|
-
--wp-accent-500: #d97757;
|
|
184
|
-
--wp-accent-600: #a44a2d; /* white 5.8:1 */
|
|
185
|
-
--wp-accent-700: #82391f;
|
|
186
|
-
--wp-accent-800: #5c2715;
|
|
187
|
-
--wp-accent-900: #3f1a0e;
|
|
188
|
-
}
|
|
189
|
-
html.wp-theme-light[data-wp-palette="community"] {
|
|
190
|
-
--wp-bg: #f7f5f0;
|
|
191
|
-
--wp-bg-1: #ffffff;
|
|
192
|
-
--wp-bg-2: #f1ede4;
|
|
193
|
-
--wp-bg-3: #e9e4d8;
|
|
194
|
-
--wp-bg-4: #ddd6c5;
|
|
195
|
-
--wp-border: rgba(20, 18, 15, 0.08);
|
|
196
|
-
--wp-border-strong: rgba(20, 18, 15, 0.16);
|
|
197
|
-
--wp-text: #1a1815;
|
|
198
|
-
--wp-text-muted: #595449;
|
|
199
|
-
--wp-text-dim: #6b6559;
|
|
200
|
-
--wp-row-hover: rgba(20, 18, 15, 0.03);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/* ---------- High contrast: black / white, solid borders, yellow focus ----------
|
|
204
|
-
* Keeps its own accent (the Accent setting is off). The fill is a deep
|
|
205
|
-
* indigo so white text on it reads at 10:1; light accent text carries links
|
|
206
|
-
* and selection on black. */
|
|
207
|
-
html[data-wp-palette="contrast"] {
|
|
208
|
-
--wp-accent-50: #eef2ff;
|
|
209
|
-
--wp-accent-100: #e0e7ff;
|
|
210
|
-
--wp-accent-200: #e0e7ff;
|
|
211
|
-
--wp-accent-300: #c7d2fe;
|
|
212
|
-
--wp-accent-400: #a5b4fc;
|
|
213
|
-
--wp-accent-500: #818cf8;
|
|
214
|
-
--wp-accent-600: #3730a3;
|
|
215
|
-
--wp-accent-700: #312e81;
|
|
216
|
-
--wp-accent-800: #1e1b4b;
|
|
217
|
-
--wp-accent-900: #1e1b4b;
|
|
218
|
-
}
|
|
219
|
-
html[data-wp-palette="contrast"]:not(.wp-theme-light) {
|
|
220
|
-
--wp-bg: #000000;
|
|
221
|
-
--wp-bg-1: #0a0a0a;
|
|
222
|
-
--wp-bg-2: #111111;
|
|
223
|
-
--wp-bg-3: #1a1a1a;
|
|
224
|
-
--wp-bg-4: #262626;
|
|
225
|
-
--wp-border: rgba(255, 255, 255, 0.40);
|
|
226
|
-
--wp-border-strong: rgba(255, 255, 255, 0.70);
|
|
227
|
-
--wp-text: #ffffff;
|
|
228
|
-
--wp-text-muted: #d6d6d6;
|
|
229
|
-
--wp-text-dim: #bcbcbc;
|
|
230
|
-
--wp-accent-text: #c7d2fe;
|
|
231
|
-
--wp-accent-text-strong: #e0e7ff;
|
|
232
|
-
--wp-border-focus: #facc15;
|
|
233
|
-
--wp-focus-ring: 0 0 0 3px #facc15;
|
|
234
|
-
--wp-row-hover: rgba(255, 255, 255, 0.08);
|
|
235
|
-
--wp-row-active: rgba(165, 180, 252, 0.16);
|
|
236
|
-
}
|
|
237
|
-
html.wp-theme-light[data-wp-palette="contrast"] {
|
|
238
|
-
--wp-bg: #ffffff;
|
|
239
|
-
--wp-bg-1: #ffffff;
|
|
240
|
-
--wp-bg-2: #ffffff;
|
|
241
|
-
--wp-bg-3: #f0f0f0;
|
|
242
|
-
--wp-bg-4: #dedede;
|
|
243
|
-
--wp-border: rgba(0, 0, 0, 0.40);
|
|
244
|
-
--wp-border-strong: rgba(0, 0, 0, 0.70);
|
|
245
|
-
--wp-text: #000000;
|
|
246
|
-
--wp-text-muted: #2e2e2e;
|
|
247
|
-
--wp-text-dim: #454545;
|
|
248
|
-
--wp-accent-text: #3730a3;
|
|
249
|
-
--wp-accent-text-strong: #1e1b4b;
|
|
250
|
-
--wp-border-focus: #000000;
|
|
251
|
-
--wp-focus-ring: 0 0 0 3px #000000;
|
|
252
|
-
--wp-row-hover: rgba(0, 0, 0, 0.06);
|
|
253
|
-
--wp-row-active: rgba(55, 48, 163, 0.12);
|
|
254
|
-
}
|
|
1
|
+
/* =========================================================
|
|
2
|
+
Colour themes — `data-wp-palette` on <html> (tweaksStore.setPalette).
|
|
3
|
+
|
|
4
|
+
A theme sets surfaces, borders, the three text tiers and its own accent
|
|
5
|
+
ramp. It never changes kind colours, variable colours or teal-for-picked:
|
|
6
|
+
those mean the same thing in every theme. Orbit is tokens.css itself, so it
|
|
7
|
+
has no block here.
|
|
8
|
+
|
|
9
|
+
Dark rules are `html[data-wp-palette=x]:not(.wp-theme-light)` and light
|
|
10
|
+
rules `html.wp-theme-light[data-wp-palette=x]`, so each beats tokens.css's
|
|
11
|
+
`:root` / `.wp-theme-light` blocks without depending on load order.
|
|
12
|
+
|
|
13
|
+
A preset or custom accent from the Accent setting is written inline on
|
|
14
|
+
<html>, so it wins over a theme's ramp; "Theme's own" removes it.
|
|
15
|
+
Ramps are shifted where a theme needs it so `--wp-accent-600` (the primary
|
|
16
|
+
fill, white text) stays at 4.5:1 or better.
|
|
17
|
+
|
|
18
|
+
Contrast: every text tier passes 4.5:1 on bg … bg-3 in both modes, and
|
|
19
|
+
the focus colour 3:1 (checked 2026-10-28, values in
|
|
20
|
+
pr-drafts/themes/theme-palettes-2026-10-28.json in the project files).
|
|
21
|
+
========================================================= */
|
|
22
|
+
|
|
23
|
+
/* Accent-derived tints follow whichever ramp is live (theme or picked). */
|
|
24
|
+
html.wp-manager {
|
|
25
|
+
--wp-focus-ring: 0 0 0 3px color-mix(in oklab, var(--wp-accent-500) 45%, transparent);
|
|
26
|
+
--wp-row-active: color-mix(in oklab, var(--wp-accent-600) 6%, transparent);
|
|
27
|
+
}
|
|
28
|
+
html.wp-manager.wp-theme-light {
|
|
29
|
+
--wp-focus-ring: 0 0 0 3px color-mix(in oklab, var(--wp-accent-600) 35%, transparent);
|
|
30
|
+
--wp-row-active: color-mix(in oklab, var(--wp-accent-600) 9%, transparent);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* ---------- Native: ComfyUI's own greys, indigo accent ---------- */
|
|
34
|
+
html[data-wp-palette="native"]:not(.wp-theme-light) {
|
|
35
|
+
--wp-bg: #18181a;
|
|
36
|
+
--wp-bg-1: #202123;
|
|
37
|
+
--wp-bg-2: #262729;
|
|
38
|
+
--wp-bg-3: #313235;
|
|
39
|
+
--wp-bg-4: #3b3c40;
|
|
40
|
+
--wp-border: rgba(255, 255, 255, 0.07);
|
|
41
|
+
--wp-border-strong: rgba(255, 255, 255, 0.14);
|
|
42
|
+
--wp-text: #ececed;
|
|
43
|
+
--wp-text-muted: #a8a9ad;
|
|
44
|
+
--wp-text-dim: #9c9da3;
|
|
45
|
+
}
|
|
46
|
+
html.wp-theme-light[data-wp-palette="native"] {
|
|
47
|
+
--wp-bg: #f3f3f3;
|
|
48
|
+
--wp-bg-1: #ffffff;
|
|
49
|
+
--wp-bg-2: #ffffff;
|
|
50
|
+
--wp-bg-3: #e9e9e9;
|
|
51
|
+
--wp-bg-4: #d9d9d9;
|
|
52
|
+
--wp-border: rgba(0, 0, 0, 0.10);
|
|
53
|
+
--wp-border-strong: rgba(0, 0, 0, 0.19);
|
|
54
|
+
--wp-text: #171718;
|
|
55
|
+
--wp-text-muted: #494a50;
|
|
56
|
+
--wp-text-dim: #5c5d63;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* ---------- Nebula: violet night, violet accent ---------- */
|
|
60
|
+
html[data-wp-palette="nebula"] {
|
|
61
|
+
--wp-accent-50: #f5f3ff;
|
|
62
|
+
--wp-accent-100: #ede9fe;
|
|
63
|
+
--wp-accent-200: #ddd6fe;
|
|
64
|
+
--wp-accent-300: #c4b5fd;
|
|
65
|
+
--wp-accent-400: #a78bfa;
|
|
66
|
+
--wp-accent-500: #8b5cf6;
|
|
67
|
+
--wp-accent-600: #7c3aed;
|
|
68
|
+
--wp-accent-700: #6d28d9;
|
|
69
|
+
--wp-accent-800: #5b21b6;
|
|
70
|
+
--wp-accent-900: #4c1d95;
|
|
71
|
+
}
|
|
72
|
+
html[data-wp-palette="nebula"]:not(.wp-theme-light) {
|
|
73
|
+
--wp-bg: #0d0a16;
|
|
74
|
+
--wp-bg-1: #130f1f;
|
|
75
|
+
--wp-bg-2: #181327;
|
|
76
|
+
--wp-bg-3: #211a33;
|
|
77
|
+
--wp-bg-4: #2a2140;
|
|
78
|
+
--wp-border: rgba(255, 255, 255, 0.08);
|
|
79
|
+
--wp-border-strong: rgba(255, 255, 255, 0.15);
|
|
80
|
+
--wp-text: #ece8f6;
|
|
81
|
+
--wp-text-muted: #aba4c0;
|
|
82
|
+
--wp-text-dim: #958dac;
|
|
83
|
+
}
|
|
84
|
+
html.wp-theme-light[data-wp-palette="nebula"] {
|
|
85
|
+
--wp-bg: #f8f6fd;
|
|
86
|
+
--wp-bg-1: #ffffff;
|
|
87
|
+
--wp-bg-2: #ffffff;
|
|
88
|
+
--wp-bg-3: #f1edfa;
|
|
89
|
+
--wp-bg-4: #e6e0f4;
|
|
90
|
+
--wp-border: rgba(29, 23, 41, 0.10);
|
|
91
|
+
--wp-border-strong: rgba(29, 23, 41, 0.18);
|
|
92
|
+
--wp-text: #1d1729;
|
|
93
|
+
--wp-text-muted: #5d5470;
|
|
94
|
+
--wp-text-dim: #665d7a;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* ---------- Tide: slate blue, sky accent (ramp shifted one step) ---------- */
|
|
98
|
+
html[data-wp-palette="tide"] {
|
|
99
|
+
--wp-accent-50: #f0f9ff;
|
|
100
|
+
--wp-accent-100: #e0f2fe;
|
|
101
|
+
--wp-accent-200: #bae6fd;
|
|
102
|
+
--wp-accent-300: #7dd3fc;
|
|
103
|
+
--wp-accent-400: #38bdf8;
|
|
104
|
+
--wp-accent-500: #0ea5e9;
|
|
105
|
+
--wp-accent-600: #0369a1; /* sky-700: white 5.9:1 */
|
|
106
|
+
--wp-accent-700: #075985;
|
|
107
|
+
--wp-accent-800: #0c4a6e;
|
|
108
|
+
--wp-accent-900: #082f49;
|
|
109
|
+
}
|
|
110
|
+
html[data-wp-palette="tide"]:not(.wp-theme-light) {
|
|
111
|
+
--wp-bg: #0a1018;
|
|
112
|
+
--wp-bg-1: #0f1722;
|
|
113
|
+
--wp-bg-2: #131c29;
|
|
114
|
+
--wp-bg-3: #1a2534;
|
|
115
|
+
--wp-bg-4: #223042;
|
|
116
|
+
--wp-border: rgba(255, 255, 255, 0.08);
|
|
117
|
+
--wp-border-strong: rgba(255, 255, 255, 0.15);
|
|
118
|
+
--wp-text: #e4ebf3;
|
|
119
|
+
--wp-text-muted: #a0aebe;
|
|
120
|
+
--wp-text-dim: #8898aa;
|
|
121
|
+
}
|
|
122
|
+
html.wp-theme-light[data-wp-palette="tide"] {
|
|
123
|
+
--wp-bg: #f4f7fa;
|
|
124
|
+
--wp-bg-1: #ffffff;
|
|
125
|
+
--wp-bg-2: #ffffff;
|
|
126
|
+
--wp-bg-3: #eaf0f5;
|
|
127
|
+
--wp-bg-4: #dde5ee;
|
|
128
|
+
--wp-border: rgba(15, 26, 38, 0.10);
|
|
129
|
+
--wp-border-strong: rgba(15, 26, 38, 0.19);
|
|
130
|
+
--wp-text: #0f1a26;
|
|
131
|
+
--wp-text-muted: #4d5b6b;
|
|
132
|
+
--wp-text-dim: #58677a;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* ---------- Ember: warm charcoal, copper accent (ramp shifted one step) ---------- */
|
|
136
|
+
html[data-wp-palette="ember"] {
|
|
137
|
+
--wp-accent-50: #fff7ed;
|
|
138
|
+
--wp-accent-100: #ffedd5;
|
|
139
|
+
--wp-accent-200: #fed7aa;
|
|
140
|
+
--wp-accent-300: #fdba74;
|
|
141
|
+
--wp-accent-400: #fb923c;
|
|
142
|
+
--wp-accent-500: #f97316;
|
|
143
|
+
--wp-accent-600: #c2410c; /* orange-700: white 5.2:1 */
|
|
144
|
+
--wp-accent-700: #9a3412;
|
|
145
|
+
--wp-accent-800: #7c2d12;
|
|
146
|
+
--wp-accent-900: #431407;
|
|
147
|
+
}
|
|
148
|
+
html[data-wp-palette="ember"]:not(.wp-theme-light) {
|
|
149
|
+
--wp-bg: #110d0b;
|
|
150
|
+
--wp-bg-1: #17120f;
|
|
151
|
+
--wp-bg-2: #1c1613;
|
|
152
|
+
--wp-bg-3: #251d19;
|
|
153
|
+
--wp-bg-4: #2f2520;
|
|
154
|
+
--wp-border: rgba(255, 255, 255, 0.08);
|
|
155
|
+
--wp-border-strong: rgba(255, 255, 255, 0.15);
|
|
156
|
+
--wp-text: #f1e9e4;
|
|
157
|
+
--wp-text-muted: #b5a89f;
|
|
158
|
+
--wp-text-dim: #9e9188;
|
|
159
|
+
}
|
|
160
|
+
html.wp-theme-light[data-wp-palette="ember"] {
|
|
161
|
+
--wp-bg: #faf7f4;
|
|
162
|
+
--wp-bg-1: #ffffff;
|
|
163
|
+
--wp-bg-2: #ffffff;
|
|
164
|
+
--wp-bg-3: #f3ede7;
|
|
165
|
+
--wp-bg-4: #e9e0d7;
|
|
166
|
+
--wp-border: rgba(35, 26, 20, 0.10);
|
|
167
|
+
--wp-border-strong: rgba(35, 26, 20, 0.19);
|
|
168
|
+
--wp-text: #231a14;
|
|
169
|
+
--wp-text-muted: #62554b;
|
|
170
|
+
--wp-text-dim: #6c5f55;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/* ---------- Community: Orbit's night, rust accent, warm cream light ----------
|
|
174
|
+
* The community site's own theme, the counterpart to the extension's Orbit.
|
|
175
|
+
* Dark surfaces are Orbit's, so it has no dark block. Ramp shifted one step
|
|
176
|
+
* from the site's old values so the fill takes white text. */
|
|
177
|
+
html[data-wp-palette="community"] {
|
|
178
|
+
--wp-accent-50: #fef5f0;
|
|
179
|
+
--wp-accent-100: #fde6db;
|
|
180
|
+
--wp-accent-200: #fbcdb7;
|
|
181
|
+
--wp-accent-300: #f6a583;
|
|
182
|
+
--wp-accent-400: #ed8861;
|
|
183
|
+
--wp-accent-500: #d97757;
|
|
184
|
+
--wp-accent-600: #a44a2d; /* white 5.8:1 */
|
|
185
|
+
--wp-accent-700: #82391f;
|
|
186
|
+
--wp-accent-800: #5c2715;
|
|
187
|
+
--wp-accent-900: #3f1a0e;
|
|
188
|
+
}
|
|
189
|
+
html.wp-theme-light[data-wp-palette="community"] {
|
|
190
|
+
--wp-bg: #f7f5f0;
|
|
191
|
+
--wp-bg-1: #ffffff;
|
|
192
|
+
--wp-bg-2: #f1ede4;
|
|
193
|
+
--wp-bg-3: #e9e4d8;
|
|
194
|
+
--wp-bg-4: #ddd6c5;
|
|
195
|
+
--wp-border: rgba(20, 18, 15, 0.08);
|
|
196
|
+
--wp-border-strong: rgba(20, 18, 15, 0.16);
|
|
197
|
+
--wp-text: #1a1815;
|
|
198
|
+
--wp-text-muted: #595449;
|
|
199
|
+
--wp-text-dim: #6b6559;
|
|
200
|
+
--wp-row-hover: rgba(20, 18, 15, 0.03);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/* ---------- High contrast: black / white, solid borders, yellow focus ----------
|
|
204
|
+
* Keeps its own accent (the Accent setting is off). The fill is a deep
|
|
205
|
+
* indigo so white text on it reads at 10:1; light accent text carries links
|
|
206
|
+
* and selection on black. */
|
|
207
|
+
html[data-wp-palette="contrast"] {
|
|
208
|
+
--wp-accent-50: #eef2ff;
|
|
209
|
+
--wp-accent-100: #e0e7ff;
|
|
210
|
+
--wp-accent-200: #e0e7ff;
|
|
211
|
+
--wp-accent-300: #c7d2fe;
|
|
212
|
+
--wp-accent-400: #a5b4fc;
|
|
213
|
+
--wp-accent-500: #818cf8;
|
|
214
|
+
--wp-accent-600: #3730a3;
|
|
215
|
+
--wp-accent-700: #312e81;
|
|
216
|
+
--wp-accent-800: #1e1b4b;
|
|
217
|
+
--wp-accent-900: #1e1b4b;
|
|
218
|
+
}
|
|
219
|
+
html[data-wp-palette="contrast"]:not(.wp-theme-light) {
|
|
220
|
+
--wp-bg: #000000;
|
|
221
|
+
--wp-bg-1: #0a0a0a;
|
|
222
|
+
--wp-bg-2: #111111;
|
|
223
|
+
--wp-bg-3: #1a1a1a;
|
|
224
|
+
--wp-bg-4: #262626;
|
|
225
|
+
--wp-border: rgba(255, 255, 255, 0.40);
|
|
226
|
+
--wp-border-strong: rgba(255, 255, 255, 0.70);
|
|
227
|
+
--wp-text: #ffffff;
|
|
228
|
+
--wp-text-muted: #d6d6d6;
|
|
229
|
+
--wp-text-dim: #bcbcbc;
|
|
230
|
+
--wp-accent-text: #c7d2fe;
|
|
231
|
+
--wp-accent-text-strong: #e0e7ff;
|
|
232
|
+
--wp-border-focus: #facc15;
|
|
233
|
+
--wp-focus-ring: 0 0 0 3px #facc15;
|
|
234
|
+
--wp-row-hover: rgba(255, 255, 255, 0.08);
|
|
235
|
+
--wp-row-active: rgba(165, 180, 252, 0.16);
|
|
236
|
+
}
|
|
237
|
+
html.wp-theme-light[data-wp-palette="contrast"] {
|
|
238
|
+
--wp-bg: #ffffff;
|
|
239
|
+
--wp-bg-1: #ffffff;
|
|
240
|
+
--wp-bg-2: #ffffff;
|
|
241
|
+
--wp-bg-3: #f0f0f0;
|
|
242
|
+
--wp-bg-4: #dedede;
|
|
243
|
+
--wp-border: rgba(0, 0, 0, 0.40);
|
|
244
|
+
--wp-border-strong: rgba(0, 0, 0, 0.70);
|
|
245
|
+
--wp-text: #000000;
|
|
246
|
+
--wp-text-muted: #2e2e2e;
|
|
247
|
+
--wp-text-dim: #454545;
|
|
248
|
+
--wp-accent-text: #3730a3;
|
|
249
|
+
--wp-accent-text-strong: #1e1b4b;
|
|
250
|
+
--wp-border-focus: #000000;
|
|
251
|
+
--wp-focus-ring: 0 0 0 3px #000000;
|
|
252
|
+
--wp-row-hover: rgba(0, 0, 0, 0.06);
|
|
253
|
+
--wp-row-active: rgba(55, 48, 163, 0.12);
|
|
254
|
+
}
|