@dixy-ui/themes 0.1.0-beta.3 → 0.1.0-beta.5

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.
Files changed (92) hide show
  1. package/README.md +3 -3
  2. package/dist/ansi-panes.css +75 -8
  3. package/dist/arcade/ornament.d.ts +3 -0
  4. package/dist/arcade/ornament.js +8 -0
  5. package/dist/arcade-cabinet.css +1084 -0
  6. package/dist/art-deco.css +75 -8
  7. package/dist/atomic-lounge.css +79 -8
  8. package/dist/authoring.d.ts +8 -8
  9. package/dist/azulejo-tile.css +79 -8
  10. package/dist/blueprint.css +75 -8
  11. package/dist/brutalist-concrete.css +80 -9
  12. package/dist/bytes.json +97 -62
  13. package/dist/candy-clay.css +81 -8
  14. package/dist/catalog.d.ts +294 -0
  15. package/dist/catalog.js +301 -0
  16. package/dist/character.d.ts +1 -1
  17. package/dist/character.js +6 -0
  18. package/dist/chrome.js +13 -3
  19. package/dist/compile-css.js +27 -7
  20. package/dist/dispatch.css +729 -0
  21. package/dist/diwali-lights.css +79 -8
  22. package/dist/documents.d.ts +115 -7
  23. package/dist/documents.js +10 -2
  24. package/dist/foundations.d.ts +8 -0
  25. package/dist/foundations.js +10 -0
  26. package/dist/frame-styles.d.ts +3 -0
  27. package/dist/frame-styles.js +6 -0
  28. package/dist/freighter.css +141 -18
  29. package/dist/glass-ui.css +75 -8
  30. package/dist/holi-colours.css +79 -8
  31. package/dist/ledger.css +564 -0
  32. package/dist/living-forest.css +81 -8
  33. package/dist/mainframe.css +762 -0
  34. package/dist/manifests.d.ts +144 -144
  35. package/dist/material-light.css +79 -8
  36. package/dist/neon-night-market.css +79 -8
  37. package/dist/ocean-depths.css +81 -8
  38. package/dist/orbital-hud.css +141 -18
  39. package/dist/organic-paint-launch.d.ts +9 -0
  40. package/dist/organic-paint-launch.js +121 -46
  41. package/dist/organic-paint.d.ts +1 -1
  42. package/dist/organic-settings.d.ts +109 -25
  43. package/dist/organic-settings.js +49 -0
  44. package/dist/papel-picado.css +79 -8
  45. package/dist/phosphor-terminal.css +79 -8
  46. package/dist/prism-glass.css +75 -8
  47. package/dist/recipes.d.ts +162 -0
  48. package/dist/recipes.js +164 -0
  49. package/dist/resolve.d.ts +18 -2
  50. package/dist/retro-os.css +75 -8
  51. package/dist/riso-zine.css +75 -8
  52. package/dist/save-point.css +946 -0
  53. package/dist/savepoint/ornament.d.ts +3 -0
  54. package/dist/savepoint/ornament.js +8 -0
  55. package/dist/scrapbook.css +75 -8
  56. package/dist/signal.css +561 -0
  57. package/dist/skins/arcade-cabinet.d.ts +68 -0
  58. package/dist/skins/arcade-cabinet.js +68 -0
  59. package/dist/skins/dispatch.d.ts +57 -0
  60. package/dist/skins/dispatch.js +57 -0
  61. package/dist/skins/ledger.d.ts +57 -0
  62. package/dist/skins/ledger.js +57 -0
  63. package/dist/skins/mainframe.d.ts +57 -0
  64. package/dist/skins/mainframe.js +57 -0
  65. package/dist/skins/save-point.d.ts +68 -0
  66. package/dist/skins/save-point.js +68 -0
  67. package/dist/skins/signal.d.ts +57 -0
  68. package/dist/skins/signal.js +57 -0
  69. package/dist/skins/sunset-drive.d.ts +68 -0
  70. package/dist/skins/sunset-drive.js +68 -0
  71. package/dist/solar-sail.css +75 -8
  72. package/dist/starters-launch.d.ts +24 -0
  73. package/dist/starters-launch.js +343 -0
  74. package/dist/studio-hardware.css +79 -8
  75. package/dist/sumi-ink.css +75 -8
  76. package/dist/sunset/ornament.d.ts +3 -0
  77. package/dist/sunset/ornament.js +8 -0
  78. package/dist/sunset-drive.css +1022 -0
  79. package/dist/swiss-poster.css +145 -18
  80. package/dist/tactile-atelier.css +81 -8
  81. package/dist/theme-document.schema.json +34 -6
  82. package/dist/theme-fix.d.ts +11 -0
  83. package/dist/theme-fix.js +32 -0
  84. package/dist/theme-fixes.d.ts +2 -0
  85. package/dist/theme-fixes.js +1 -0
  86. package/dist/theme-schema.d.ts +6 -6
  87. package/dist/theme-schema.js +2 -0
  88. package/dist/tokyo-transit.css +79 -8
  89. package/dist/winamp-signal.css +79 -8
  90. package/dist/y2k-titanium.css +147 -18
  91. package/dist/yule-knit.css +75 -8
  92. package/package.json +50 -3
package/dist/resolve.d.ts CHANGED
@@ -25,6 +25,22 @@ export interface ResolvedThemeRecipe {
25
25
  canvas: string;
26
26
  /** Optional ground image for dark appearance; light canvas is used when absent. */
27
27
  darkCanvas?: string;
28
+ /** Optional shadow and inset for dark appearance; light values are used when absent. */
29
+ darkShadow?: string;
30
+ darkInset?: string;
31
+ /**
32
+ * With the neutral accent, solid actions use ink (step 12) instead of the
33
+ * mid-grey step 9: black in light, white in dark. Focus stays blue so it
34
+ * still reads as focus. Any other accent ignores it.
35
+ */
36
+ monoAccent?: boolean;
37
+ /**
38
+ * Light mode only: solid actions use the accent's step 11 (12 on hover and
39
+ * press) so white labels reach 7:1 (WCAG AAA) instead of step 9's ~5:1.
40
+ */
41
+ deepSolid?: boolean;
42
+ /** Optional control heights [sm, md, lg]; e.g. 44px md for large touch targets. */
43
+ controlHeights?: readonly [string, string, string];
28
44
  tint: readonly string[];
29
45
  parameters: ThemeDocument["recipes"]["frame"]["parameters"];
30
46
  ornament: ThemeDocument["recipes"]["frame"]["ornament"];
@@ -35,6 +51,6 @@ export interface ResolvedThemeRecipe {
35
51
  }
36
52
  export declare function resolveThemeRecipe(document: ThemeDocument): ResolvedThemeRecipe;
37
53
  export declare function themeRenderer(document: ThemeDocument): Readonly<{
38
- symbol: "ForestOrnament" | "RetroOrnament" | "SignalOrnament" | "HardwareOrnament" | "PrismOrnament" | "AtelierOrnament" | "OceanOrnament" | "ClayOrnament" | "DecoOrnament" | "TitaniumOrnament" | "LightOrnament" | "BlueprintOrnament" | "RisoOrnament" | "NeonOrnament" | "SumiOrnament" | "TransitOrnament" | "PhosphorOrnament" | "AnsiOrnament" | "SwissOrnament" | "AzulejoOrnament" | "BrutalistOrnament" | "AtomicOrnament" | "HudOrnament" | "FreighterOrnament" | "SailOrnament" | "DiwaliOrnament" | "LunarOrnament" | "PicadoOrnament" | "HoliOrnament" | "YuleOrnament" | "GlassOrnament";
39
- entry: "@dixy-ui/themes/living-forest/react" | "@dixy-ui/themes/retro-os/react" | "@dixy-ui/themes/winamp-signal/react" | "@dixy-ui/themes/studio-hardware/react" | "@dixy-ui/themes/prism-glass/react" | "@dixy-ui/themes/tactile-atelier/react" | "@dixy-ui/themes/ocean-depths/react" | "@dixy-ui/themes/candy-clay/react" | "@dixy-ui/themes/art-deco/react" | "@dixy-ui/themes/y2k-titanium/react" | "@dixy-ui/themes/material-light/react" | "@dixy-ui/themes/blueprint/react" | "@dixy-ui/themes/riso-zine/react" | "@dixy-ui/themes/neon-night-market/react" | "@dixy-ui/themes/sumi-ink/react" | "@dixy-ui/themes/tokyo-transit/react" | "@dixy-ui/themes/phosphor-terminal/react" | "@dixy-ui/themes/ansi-panes/react" | "@dixy-ui/themes/swiss-poster/react" | "@dixy-ui/themes/azulejo-tile/react" | "@dixy-ui/themes/brutalist-concrete/react" | "@dixy-ui/themes/atomic-lounge/react" | "@dixy-ui/themes/orbital-hud/react" | "@dixy-ui/themes/freighter/react" | "@dixy-ui/themes/solar-sail/react" | "@dixy-ui/themes/diwali-lights/react" | "@dixy-ui/themes/lunar-new-year/react" | "@dixy-ui/themes/papel-picado/react" | "@dixy-ui/themes/holi-colours/react" | "@dixy-ui/themes/yule-knit/react" | "@dixy-ui/themes/glass-ui/react";
54
+ symbol: "ForestOrnament" | "RetroOrnament" | "SignalOrnament" | "HardwareOrnament" | "PrismOrnament" | "AtelierOrnament" | "OceanOrnament" | "ClayOrnament" | "DecoOrnament" | "TitaniumOrnament" | "LightOrnament" | "BlueprintOrnament" | "RisoOrnament" | "NeonOrnament" | "SumiOrnament" | "TransitOrnament" | "PhosphorOrnament" | "AnsiOrnament" | "SwissOrnament" | "AzulejoOrnament" | "BrutalistOrnament" | "AtomicOrnament" | "HudOrnament" | "FreighterOrnament" | "SailOrnament" | "DiwaliOrnament" | "LunarOrnament" | "PicadoOrnament" | "HoliOrnament" | "YuleOrnament" | "GlassOrnament" | "SunsetOrnament" | "SavePointOrnament" | "ArcadeOrnament";
55
+ entry: "@dixy-ui/themes/living-forest/react" | "@dixy-ui/themes/retro-os/react" | "@dixy-ui/themes/winamp-signal/react" | "@dixy-ui/themes/studio-hardware/react" | "@dixy-ui/themes/prism-glass/react" | "@dixy-ui/themes/tactile-atelier/react" | "@dixy-ui/themes/ocean-depths/react" | "@dixy-ui/themes/candy-clay/react" | "@dixy-ui/themes/art-deco/react" | "@dixy-ui/themes/y2k-titanium/react" | "@dixy-ui/themes/material-light/react" | "@dixy-ui/themes/blueprint/react" | "@dixy-ui/themes/riso-zine/react" | "@dixy-ui/themes/neon-night-market/react" | "@dixy-ui/themes/sumi-ink/react" | "@dixy-ui/themes/tokyo-transit/react" | "@dixy-ui/themes/phosphor-terminal/react" | "@dixy-ui/themes/ansi-panes/react" | "@dixy-ui/themes/swiss-poster/react" | "@dixy-ui/themes/azulejo-tile/react" | "@dixy-ui/themes/brutalist-concrete/react" | "@dixy-ui/themes/atomic-lounge/react" | "@dixy-ui/themes/orbital-hud/react" | "@dixy-ui/themes/freighter/react" | "@dixy-ui/themes/solar-sail/react" | "@dixy-ui/themes/diwali-lights/react" | "@dixy-ui/themes/lunar-new-year/react" | "@dixy-ui/themes/papel-picado/react" | "@dixy-ui/themes/holi-colours/react" | "@dixy-ui/themes/yule-knit/react" | "@dixy-ui/themes/glass-ui/react" | "@dixy-ui/themes/sunset-drive/react" | "@dixy-ui/themes/save-point/react" | "@dixy-ui/themes/arcade-cabinet/react";
40
56
  }> | null;
package/dist/retro-os.css CHANGED
@@ -28,6 +28,11 @@
28
28
  --dixy-font-title-md-family: "Silkscreen", "VT323", ui-monospace, monospace;
29
29
  --dixy-font-title-sm-family: "Silkscreen", "VT323", ui-monospace, monospace;
30
30
  --dixy-skin-edge: var(--dixy-color-text-primary);
31
+ --dixy-skin-field-edge: color-mix(
32
+ in oklab,
33
+ var(--dixy-color-base-9) 50%,
34
+ var(--dixy-color-base-8)
35
+ );
31
36
 
32
37
  --dixy-skin-surface: color-mix(
33
38
  in srgb,
@@ -97,7 +102,6 @@
97
102
  --dixy-font-title-sm-weight: 400;
98
103
  }
99
104
  .dixy-theme[data-dixy-skin="dixy/retro-os"][data-appearance="dark"] {
100
- --dixy-skin-selected: var(--dixy-skin-finish);
101
105
  --dixy-skin-edge: var(--dixy-color-text-primary);
102
106
  --dixy-skin-canvas:
103
107
  repeating-linear-gradient(
@@ -122,6 +126,7 @@
122
126
  #22223b
123
127
  );
124
128
  }
129
+
125
130
  .dixy-theme[data-dixy-skin="dixy/retro-os"][data-relief="2"] {
126
131
  --dixy-skin-shadow:
127
132
  var(--dixy-skin-depth-shadow, var(--dixy-skin-authored-shadow)),
@@ -147,11 +152,9 @@
147
152
  }
148
153
  }
149
154
  @layer dixy.components {
150
- .dixy-theme[data-dixy-skin="dixy/retro-os"] {
155
+ .dixy-theme[data-dixy-skin="dixy/retro-os"]:not(.dixy-portal-scope) {
151
156
  position: relative;
152
157
  isolation: isolate;
153
- }
154
- .dixy-theme[data-dixy-skin="dixy/retro-os"]:not(.dixy-portal-scope) {
155
158
  background-color: var(--dixy-skin-ground);
156
159
  background-image: var(--dixy-skin-canvas);
157
160
  }
@@ -255,6 +258,28 @@
255
258
  ):not([data-variant="solid"]):not([data-variant="soft"]) {
256
259
  background-color: var(--dixy-skin-surface);
257
260
  }
261
+ :is(
262
+ .dixy-dialog-popup,
263
+ .dixy-alert-dialog-popup,
264
+ .dixy-drawer-popup,
265
+ .dixy-popover-popup,
266
+ .dixy-preview-card-popup,
267
+ .dixy-tooltip-popup,
268
+ .dixy-select-popup,
269
+ .dixy-combobox-popup,
270
+ .dixy-autocomplete-popup,
271
+ .dixy-menu-popup,
272
+ .dixy-context-menu-popup,
273
+ .dixy-navigation-menu-popup
274
+ )[data-dixy-skin="dixy/retro-os"]:not([data-dixy-material-override]):not(
275
+ :where([data-dixy-material-override]) *
276
+ ):not([data-variant="solid"]):not([data-variant="soft"]) {
277
+ background-color: color-mix(
278
+ in srgb,
279
+ var(--dixy-color-background-surface-raised) 94%,
280
+ var(--dixy-skin-surface)
281
+ );
282
+ }
258
283
  :is(
259
284
  .dixy-input,
260
285
  .dixy-textarea,
@@ -287,7 +312,7 @@
287
312
  :where([data-dixy-material-override]) *
288
313
  ) {
289
314
  border-width: var(--dixy-input-border-width);
290
- border-color: var(--dixy-skin-edge);
315
+ border-color: var(--dixy-skin-field-edge);
291
316
  background-image: var(--dixy-skin-paint);
292
317
  background-color: var(--dixy-color-background-canvas);
293
318
  background-size:
@@ -297,6 +322,43 @@
297
322
  100% 100%;
298
323
  box-shadow: var(--dixy-skin-inset);
299
324
  }
325
+ /* materials.css styles [data-dixy-visual] surfaces at 0,5,0. Match the
326
+ skin's paint to that so its image and grain size always land together;
327
+ otherwise the material image is tiled at the grain size (stripes). */
328
+ :is(
329
+ .dixy-card,
330
+ .dixy-box,
331
+ .dixy-dialog-popup,
332
+ .dixy-alert-dialog-popup,
333
+ .dixy-drawer-popup,
334
+ .dixy-popover-popup,
335
+ .dixy-preview-card-popup,
336
+ .dixy-tooltip-popup,
337
+ .dixy-select-popup,
338
+ .dixy-combobox-popup,
339
+ .dixy-autocomplete-popup,
340
+ .dixy-menu-popup,
341
+ .dixy-context-menu-popup,
342
+ .dixy-navigation-menu-popup,
343
+ .dixy-toast-root,
344
+ .dixy-alert,
345
+ .dixy-list-box,
346
+ .dixy-calendar,
347
+ .dixy-range-calendar,
348
+ .dixy-input,
349
+ .dixy-textarea,
350
+ .dixy-native-select,
351
+ .dixy-select-trigger,
352
+ .dixy-input-group,
353
+ .dixy-combobox-input-group,
354
+ .dixy-autocomplete-input-group,
355
+ .dixy-number-field-group,
356
+ .dixy-otp-field-input
357
+ )[data-dixy-skin="dixy/retro-os"]:not([data-dixy-material-override]):not(
358
+ :where([data-dixy-material-override]) *
359
+ )[data-dixy-visual][data-material]:not([data-disabled]) {
360
+ background-image: var(--dixy-skin-paint);
361
+ }
300
362
  :is(.dixy-button)[data-dixy-skin="dixy/retro-os"]:not(
301
363
  [data-dixy-material-override]
302
364
  ):not(:where([data-dixy-material-override]) *):is(
@@ -327,14 +389,19 @@
327
389
  border: 1px solid var(--dixy-skin-edge);
328
390
  box-shadow: var(--dixy-skin-inset);
329
391
  }
392
+ /* Selected tabs and toggles are one flat colour, lifted by edge and relief only. A gradient behind the label (thumb art, sheen, material image) splits it across two colours. :not([data-variant="line"]) also outranks materials.css (0,3,0). */
330
393
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/retro-os"]:not(
331
394
  [data-dixy-material-override]
332
395
  ):not(:where([data-dixy-material-override]) *) {
333
- background-image: var(--dixy-skin-finish);
334
396
  box-shadow: var(--dixy-skin-control-relief);
335
397
  border: 1px solid var(--dixy-skin-edge);
336
398
  }
337
- /* Toggle groups read like tabs: a sunken track, the selected toggle a raised thumb (slider-knob paint in light, the raised finish in dark so its label stays readable). */
399
+ :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/retro-os"]:not(
400
+ [data-dixy-material-override]
401
+ ):not(:where([data-dixy-material-override]) *):not([data-variant="line"]) {
402
+ background-image: none;
403
+ }
404
+ /* Toggle groups read like tabs: a sunken track, the selected toggle a raised, flat thumb. */
338
405
  .dixy-theme[data-dixy-skin="dixy/retro-os"]
339
406
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
340
407
  [data-dixy-material-override]
@@ -349,7 +416,7 @@
349
416
  [data-variant="solid"]
350
417
  )[data-pressed]:not([data-disabled]) {
351
418
  background-color: var(--dixy-color-background-surface-raised);
352
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
419
+ background-image: none;
353
420
  box-shadow: var(--dixy-skin-control-relief);
354
421
  border-color: var(--dixy-skin-edge);
355
422
  color: var(--dixy-color-text-primary);
@@ -32,6 +32,11 @@
32
32
  --dixy-font-title-sm-family:
33
33
  "Archivo Black", "Arial Black", ui-sans-serif, sans-serif;
34
34
  --dixy-skin-edge: #2a2a2a;
35
+ --dixy-skin-field-edge: color-mix(
36
+ in oklab,
37
+ var(--dixy-color-base-9) 50%,
38
+ var(--dixy-color-base-8)
39
+ );
35
40
  --dixy-organic-density: 40;
36
41
  --dixy-organic-cornerDensity: 70;
37
42
  --dixy-organic-canopyDepth: 30;
@@ -122,7 +127,6 @@
122
127
  --dixy-organic-b: #3fa9f5;
123
128
  --dixy-organic-c: #e8c93a;
124
129
  --dixy-organic-d: #f2efe6;
125
- --dixy-skin-selected: var(--dixy-skin-finish);
126
130
  --dixy-skin-edge: #f2efe6;
127
131
  --dixy-skin-surface: color-mix(
128
132
  in srgb,
@@ -135,6 +139,7 @@
135
139
  #262329
136
140
  );
137
141
  }
142
+
138
143
  .dixy-theme[data-dixy-skin="dixy/riso-zine"][data-relief="2"] {
139
144
  --dixy-skin-shadow:
140
145
  var(--dixy-skin-depth-shadow, var(--dixy-skin-authored-shadow)),
@@ -160,11 +165,9 @@
160
165
  }
161
166
  }
162
167
  @layer dixy.components {
163
- .dixy-theme[data-dixy-skin="dixy/riso-zine"] {
168
+ .dixy-theme[data-dixy-skin="dixy/riso-zine"]:not(.dixy-portal-scope) {
164
169
  position: relative;
165
170
  isolation: isolate;
166
- }
167
- .dixy-theme[data-dixy-skin="dixy/riso-zine"]:not(.dixy-portal-scope) {
168
171
  background-color: var(--dixy-skin-ground);
169
172
  background-image: var(--dixy-skin-canvas);
170
173
  }
@@ -273,6 +276,28 @@
273
276
  ):not([data-variant="solid"]):not([data-variant="soft"]) {
274
277
  background-color: var(--dixy-skin-surface);
275
278
  }
279
+ :is(
280
+ .dixy-dialog-popup,
281
+ .dixy-alert-dialog-popup,
282
+ .dixy-drawer-popup,
283
+ .dixy-popover-popup,
284
+ .dixy-preview-card-popup,
285
+ .dixy-tooltip-popup,
286
+ .dixy-select-popup,
287
+ .dixy-combobox-popup,
288
+ .dixy-autocomplete-popup,
289
+ .dixy-menu-popup,
290
+ .dixy-context-menu-popup,
291
+ .dixy-navigation-menu-popup
292
+ )[data-dixy-skin="dixy/riso-zine"]:not([data-dixy-material-override]):not(
293
+ :where([data-dixy-material-override]) *
294
+ ):not([data-variant="solid"]):not([data-variant="soft"]) {
295
+ background-color: color-mix(
296
+ in srgb,
297
+ var(--dixy-color-background-surface-raised) 94%,
298
+ var(--dixy-skin-surface)
299
+ );
300
+ }
276
301
  :is(
277
302
  .dixy-input,
278
303
  .dixy-textarea,
@@ -305,7 +330,7 @@
305
330
  :where([data-dixy-material-override]) *
306
331
  ) {
307
332
  border-width: var(--dixy-input-border-width);
308
- border-color: var(--dixy-skin-edge);
333
+ border-color: var(--dixy-skin-field-edge);
309
334
  background-image: var(--dixy-skin-paint);
310
335
  background-color: var(--dixy-color-background-canvas);
311
336
  background-size:
@@ -315,6 +340,43 @@
315
340
  100% 100%;
316
341
  box-shadow: var(--dixy-skin-inset);
317
342
  }
343
+ /* materials.css styles [data-dixy-visual] surfaces at 0,5,0. Match the
344
+ skin's paint to that so its image and grain size always land together;
345
+ otherwise the material image is tiled at the grain size (stripes). */
346
+ :is(
347
+ .dixy-card,
348
+ .dixy-box,
349
+ .dixy-dialog-popup,
350
+ .dixy-alert-dialog-popup,
351
+ .dixy-drawer-popup,
352
+ .dixy-popover-popup,
353
+ .dixy-preview-card-popup,
354
+ .dixy-tooltip-popup,
355
+ .dixy-select-popup,
356
+ .dixy-combobox-popup,
357
+ .dixy-autocomplete-popup,
358
+ .dixy-menu-popup,
359
+ .dixy-context-menu-popup,
360
+ .dixy-navigation-menu-popup,
361
+ .dixy-toast-root,
362
+ .dixy-alert,
363
+ .dixy-list-box,
364
+ .dixy-calendar,
365
+ .dixy-range-calendar,
366
+ .dixy-input,
367
+ .dixy-textarea,
368
+ .dixy-native-select,
369
+ .dixy-select-trigger,
370
+ .dixy-input-group,
371
+ .dixy-combobox-input-group,
372
+ .dixy-autocomplete-input-group,
373
+ .dixy-number-field-group,
374
+ .dixy-otp-field-input
375
+ )[data-dixy-skin="dixy/riso-zine"]:not([data-dixy-material-override]):not(
376
+ :where([data-dixy-material-override]) *
377
+ )[data-dixy-visual][data-material]:not([data-disabled]) {
378
+ background-image: var(--dixy-skin-paint);
379
+ }
318
380
  :is(.dixy-button)[data-dixy-skin="dixy/riso-zine"]:not(
319
381
  [data-dixy-material-override]
320
382
  ):not(:where([data-dixy-material-override]) *):is(
@@ -345,14 +407,19 @@
345
407
  border: 1px solid var(--dixy-skin-edge);
346
408
  box-shadow: var(--dixy-skin-inset);
347
409
  }
410
+ /* Selected tabs and toggles are one flat colour, lifted by edge and relief only. A gradient behind the label (thumb art, sheen, material image) splits it across two colours. :not([data-variant="line"]) also outranks materials.css (0,3,0). */
348
411
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/riso-zine"]:not(
349
412
  [data-dixy-material-override]
350
413
  ):not(:where([data-dixy-material-override]) *) {
351
- background-image: var(--dixy-skin-finish);
352
414
  box-shadow: var(--dixy-skin-control-relief);
353
415
  border: 1px solid var(--dixy-skin-edge);
354
416
  }
355
- /* Toggle groups read like tabs: a sunken track, the selected toggle a raised thumb (slider-knob paint in light, the raised finish in dark so its label stays readable). */
417
+ :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/riso-zine"]:not(
418
+ [data-dixy-material-override]
419
+ ):not(:where([data-dixy-material-override]) *):not([data-variant="line"]) {
420
+ background-image: none;
421
+ }
422
+ /* Toggle groups read like tabs: a sunken track, the selected toggle a raised, flat thumb. */
356
423
  .dixy-theme[data-dixy-skin="dixy/riso-zine"]
357
424
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
358
425
  [data-dixy-material-override]
@@ -367,7 +434,7 @@
367
434
  [data-variant="solid"]
368
435
  )[data-pressed]:not([data-disabled]) {
369
436
  background-color: var(--dixy-color-background-surface-raised);
370
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
437
+ background-image: none;
371
438
  box-shadow: var(--dixy-skin-control-relief);
372
439
  border-color: var(--dixy-skin-edge);
373
440
  color: var(--dixy-color-text-primary);