@dixy-ui/themes 0.1.0-beta.2 → 0.1.0-beta.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.
Files changed (94) hide show
  1. package/dist/ansi-panes.css +79 -5
  2. package/dist/arcade/ornament.d.ts +3 -0
  3. package/dist/arcade/ornament.js +8 -0
  4. package/dist/arcade-cabinet.css +1086 -0
  5. package/dist/art-deco.css +79 -5
  6. package/dist/atomic-lounge.css +83 -5
  7. package/dist/authoring.d.ts +8 -8
  8. package/dist/azulejo-tile.css +83 -5
  9. package/dist/blueprint.css +79 -5
  10. package/dist/brutalist-concrete.css +83 -5
  11. package/dist/bytes.json +97 -67
  12. package/dist/candy-clay.css +85 -5
  13. package/dist/catalog.d.ts +294 -42
  14. package/dist/catalog.js +301 -43
  15. package/dist/character.d.ts +1 -1
  16. package/dist/character.js +6 -0
  17. package/dist/chrome.js +13 -3
  18. package/dist/compile-css.js +23 -5
  19. package/dist/dispatch.css +731 -0
  20. package/dist/diwali-lights.css +83 -5
  21. package/dist/documents.d.ts +115 -7
  22. package/dist/documents.js +10 -2
  23. package/dist/foundations.d.ts +8 -0
  24. package/dist/foundations.js +10 -0
  25. package/dist/frame-styles.d.ts +3 -0
  26. package/dist/frame-styles.js +6 -0
  27. package/dist/freighter.css +145 -15
  28. package/dist/glass-ui.css +79 -5
  29. package/dist/holi-colours.css +83 -5
  30. package/dist/ledger.css +566 -0
  31. package/dist/living-forest.css +85 -5
  32. package/dist/mainframe.css +764 -0
  33. package/dist/manifests.d.ts +144 -144
  34. package/dist/material-light.css +83 -5
  35. package/dist/neon-night-market.css +83 -5
  36. package/dist/ocean-depths.css +85 -5
  37. package/dist/orbital-hud.css +145 -15
  38. package/dist/organic-paint-launch.d.ts +9 -0
  39. package/dist/organic-paint-launch.js +121 -46
  40. package/dist/organic-paint.d.ts +1 -1
  41. package/dist/organic-settings.d.ts +109 -25
  42. package/dist/organic-settings.js +49 -0
  43. package/dist/papel-picado.css +83 -5
  44. package/dist/phosphor-terminal.css +83 -5
  45. package/dist/prism-glass.css +79 -5
  46. package/dist/recipes.d.ts +162 -0
  47. package/dist/recipes.js +164 -0
  48. package/dist/resolve.d.ts +18 -2
  49. package/dist/retro-os.css +79 -5
  50. package/dist/riso-zine.css +79 -5
  51. package/dist/save-point.css +948 -0
  52. package/dist/savepoint/ornament.d.ts +3 -0
  53. package/dist/savepoint/ornament.js +8 -0
  54. package/dist/scrapbook.css +79 -5
  55. package/dist/signal.css +563 -0
  56. package/dist/skins/arcade-cabinet.d.ts +68 -0
  57. package/dist/skins/arcade-cabinet.js +68 -0
  58. package/dist/skins/dispatch.d.ts +57 -0
  59. package/dist/skins/dispatch.js +57 -0
  60. package/dist/skins/ledger.d.ts +57 -0
  61. package/dist/skins/ledger.js +57 -0
  62. package/dist/skins/mainframe.d.ts +57 -0
  63. package/dist/skins/mainframe.js +57 -0
  64. package/dist/skins/save-point.d.ts +68 -0
  65. package/dist/skins/save-point.js +68 -0
  66. package/dist/skins/signal.d.ts +57 -0
  67. package/dist/skins/signal.js +57 -0
  68. package/dist/skins/sunset-drive.d.ts +68 -0
  69. package/dist/skins/sunset-drive.js +68 -0
  70. package/dist/solar-sail.css +79 -5
  71. package/dist/starters-launch.d.ts +25 -1
  72. package/dist/starters-launch.js +343 -49
  73. package/dist/studio-hardware.css +83 -5
  74. package/dist/sumi-ink.css +79 -5
  75. package/dist/sunset/ornament.d.ts +3 -0
  76. package/dist/sunset/ornament.js +8 -0
  77. package/dist/sunset-drive.css +1024 -0
  78. package/dist/swiss-poster.css +149 -15
  79. package/dist/tactile-atelier.css +85 -5
  80. package/dist/theme-document.schema.json +34 -6
  81. package/dist/theme-fix.d.ts +11 -0
  82. package/dist/theme-fix.js +32 -0
  83. package/dist/theme-fixes.d.ts +2 -0
  84. package/dist/theme-fixes.js +1 -0
  85. package/dist/theme-schema.d.ts +6 -6
  86. package/dist/theme-schema.js +2 -0
  87. package/dist/tokyo-transit.css +83 -5
  88. package/dist/winamp-signal.css +83 -5
  89. package/dist/y2k-titanium.css +151 -15
  90. package/dist/yule-knit.css +79 -5
  91. package/package.json +50 -8
  92. package/dist/lunar-new-year.css +0 -811
  93. package/dist/skins/lunar-new-year.d.ts +0 -68
  94. package/dist/skins/lunar-new-year.js +0 -68
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)),
@@ -255,6 +260,28 @@
255
260
  ):not([data-variant="solid"]):not([data-variant="soft"]) {
256
261
  background-color: var(--dixy-skin-surface);
257
262
  }
263
+ :is(
264
+ .dixy-dialog-popup,
265
+ .dixy-alert-dialog-popup,
266
+ .dixy-drawer-popup,
267
+ .dixy-popover-popup,
268
+ .dixy-preview-card-popup,
269
+ .dixy-tooltip-popup,
270
+ .dixy-select-popup,
271
+ .dixy-combobox-popup,
272
+ .dixy-autocomplete-popup,
273
+ .dixy-menu-popup,
274
+ .dixy-context-menu-popup,
275
+ .dixy-navigation-menu-popup
276
+ )[data-dixy-skin="dixy/retro-os"]:not([data-dixy-material-override]):not(
277
+ :where([data-dixy-material-override]) *
278
+ ):not([data-variant="solid"]):not([data-variant="soft"]) {
279
+ background-color: color-mix(
280
+ in srgb,
281
+ var(--dixy-color-background-surface-raised) 94%,
282
+ var(--dixy-skin-surface)
283
+ );
284
+ }
258
285
  :is(
259
286
  .dixy-input,
260
287
  .dixy-textarea,
@@ -268,6 +295,11 @@
268
295
  )[data-dixy-skin="dixy/retro-os"] {
269
296
  border-radius: calc(var(--dixy-radius-control) * 1);
270
297
  }
298
+ :is(.dixy-textarea)[data-dixy-skin="dixy/retro-os"] {
299
+ border-radius: calc(
300
+ min(var(--dixy-radius-control), var(--dixy-radius-card)) * 1
301
+ );
302
+ }
271
303
  :is(
272
304
  .dixy-input,
273
305
  .dixy-textarea,
@@ -282,7 +314,7 @@
282
314
  :where([data-dixy-material-override]) *
283
315
  ) {
284
316
  border-width: var(--dixy-input-border-width);
285
- border-color: var(--dixy-skin-edge);
317
+ border-color: var(--dixy-skin-field-edge);
286
318
  background-image: var(--dixy-skin-paint);
287
319
  background-color: var(--dixy-color-background-canvas);
288
320
  background-size:
@@ -292,6 +324,43 @@
292
324
  100% 100%;
293
325
  box-shadow: var(--dixy-skin-inset);
294
326
  }
327
+ /* materials.css styles [data-dixy-visual] surfaces at 0,5,0. Match the
328
+ skin's paint to that so its image and grain size always land together;
329
+ otherwise the material image is tiled at the grain size (stripes). */
330
+ :is(
331
+ .dixy-card,
332
+ .dixy-box,
333
+ .dixy-dialog-popup,
334
+ .dixy-alert-dialog-popup,
335
+ .dixy-drawer-popup,
336
+ .dixy-popover-popup,
337
+ .dixy-preview-card-popup,
338
+ .dixy-tooltip-popup,
339
+ .dixy-select-popup,
340
+ .dixy-combobox-popup,
341
+ .dixy-autocomplete-popup,
342
+ .dixy-menu-popup,
343
+ .dixy-context-menu-popup,
344
+ .dixy-navigation-menu-popup,
345
+ .dixy-toast-root,
346
+ .dixy-alert,
347
+ .dixy-list-box,
348
+ .dixy-calendar,
349
+ .dixy-range-calendar,
350
+ .dixy-input,
351
+ .dixy-textarea,
352
+ .dixy-native-select,
353
+ .dixy-select-trigger,
354
+ .dixy-input-group,
355
+ .dixy-combobox-input-group,
356
+ .dixy-autocomplete-input-group,
357
+ .dixy-number-field-group,
358
+ .dixy-otp-field-input
359
+ )[data-dixy-skin="dixy/retro-os"]:not([data-dixy-material-override]):not(
360
+ :where([data-dixy-material-override]) *
361
+ )[data-dixy-visual][data-material]:not([data-disabled]) {
362
+ background-image: var(--dixy-skin-paint);
363
+ }
295
364
  :is(.dixy-button)[data-dixy-skin="dixy/retro-os"]:not(
296
365
  [data-dixy-material-override]
297
366
  ):not(:where([data-dixy-material-override]) *):is(
@@ -322,14 +391,19 @@
322
391
  border: 1px solid var(--dixy-skin-edge);
323
392
  box-shadow: var(--dixy-skin-inset);
324
393
  }
394
+ /* 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). */
325
395
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/retro-os"]:not(
326
396
  [data-dixy-material-override]
327
397
  ):not(:where([data-dixy-material-override]) *) {
328
- background-image: var(--dixy-skin-finish);
329
398
  box-shadow: var(--dixy-skin-control-relief);
330
399
  border: 1px solid var(--dixy-skin-edge);
331
400
  }
332
- /* 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). */
401
+ :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/retro-os"]:not(
402
+ [data-dixy-material-override]
403
+ ):not(:where([data-dixy-material-override]) *):not([data-variant="line"]) {
404
+ background-image: none;
405
+ }
406
+ /* Toggle groups read like tabs: a sunken track, the selected toggle a raised, flat thumb. */
333
407
  .dixy-theme[data-dixy-skin="dixy/retro-os"]
334
408
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
335
409
  [data-dixy-material-override]
@@ -344,7 +418,7 @@
344
418
  [data-variant="solid"]
345
419
  )[data-pressed]:not([data-disabled]) {
346
420
  background-color: var(--dixy-color-background-surface-raised);
347
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
421
+ background-image: none;
348
422
  box-shadow: var(--dixy-skin-control-relief);
349
423
  border-color: var(--dixy-skin-edge);
350
424
  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)),
@@ -273,6 +278,28 @@
273
278
  ):not([data-variant="solid"]):not([data-variant="soft"]) {
274
279
  background-color: var(--dixy-skin-surface);
275
280
  }
281
+ :is(
282
+ .dixy-dialog-popup,
283
+ .dixy-alert-dialog-popup,
284
+ .dixy-drawer-popup,
285
+ .dixy-popover-popup,
286
+ .dixy-preview-card-popup,
287
+ .dixy-tooltip-popup,
288
+ .dixy-select-popup,
289
+ .dixy-combobox-popup,
290
+ .dixy-autocomplete-popup,
291
+ .dixy-menu-popup,
292
+ .dixy-context-menu-popup,
293
+ .dixy-navigation-menu-popup
294
+ )[data-dixy-skin="dixy/riso-zine"]:not([data-dixy-material-override]):not(
295
+ :where([data-dixy-material-override]) *
296
+ ):not([data-variant="solid"]):not([data-variant="soft"]) {
297
+ background-color: color-mix(
298
+ in srgb,
299
+ var(--dixy-color-background-surface-raised) 94%,
300
+ var(--dixy-skin-surface)
301
+ );
302
+ }
276
303
  :is(
277
304
  .dixy-input,
278
305
  .dixy-textarea,
@@ -286,6 +313,11 @@
286
313
  )[data-dixy-skin="dixy/riso-zine"] {
287
314
  border-radius: calc(var(--dixy-radius-control) * 0.6);
288
315
  }
316
+ :is(.dixy-textarea)[data-dixy-skin="dixy/riso-zine"] {
317
+ border-radius: calc(
318
+ min(var(--dixy-radius-control), var(--dixy-radius-card)) * 0.6
319
+ );
320
+ }
289
321
  :is(
290
322
  .dixy-input,
291
323
  .dixy-textarea,
@@ -300,7 +332,7 @@
300
332
  :where([data-dixy-material-override]) *
301
333
  ) {
302
334
  border-width: var(--dixy-input-border-width);
303
- border-color: var(--dixy-skin-edge);
335
+ border-color: var(--dixy-skin-field-edge);
304
336
  background-image: var(--dixy-skin-paint);
305
337
  background-color: var(--dixy-color-background-canvas);
306
338
  background-size:
@@ -310,6 +342,43 @@
310
342
  100% 100%;
311
343
  box-shadow: var(--dixy-skin-inset);
312
344
  }
345
+ /* materials.css styles [data-dixy-visual] surfaces at 0,5,0. Match the
346
+ skin's paint to that so its image and grain size always land together;
347
+ otherwise the material image is tiled at the grain size (stripes). */
348
+ :is(
349
+ .dixy-card,
350
+ .dixy-box,
351
+ .dixy-dialog-popup,
352
+ .dixy-alert-dialog-popup,
353
+ .dixy-drawer-popup,
354
+ .dixy-popover-popup,
355
+ .dixy-preview-card-popup,
356
+ .dixy-tooltip-popup,
357
+ .dixy-select-popup,
358
+ .dixy-combobox-popup,
359
+ .dixy-autocomplete-popup,
360
+ .dixy-menu-popup,
361
+ .dixy-context-menu-popup,
362
+ .dixy-navigation-menu-popup,
363
+ .dixy-toast-root,
364
+ .dixy-alert,
365
+ .dixy-list-box,
366
+ .dixy-calendar,
367
+ .dixy-range-calendar,
368
+ .dixy-input,
369
+ .dixy-textarea,
370
+ .dixy-native-select,
371
+ .dixy-select-trigger,
372
+ .dixy-input-group,
373
+ .dixy-combobox-input-group,
374
+ .dixy-autocomplete-input-group,
375
+ .dixy-number-field-group,
376
+ .dixy-otp-field-input
377
+ )[data-dixy-skin="dixy/riso-zine"]:not([data-dixy-material-override]):not(
378
+ :where([data-dixy-material-override]) *
379
+ )[data-dixy-visual][data-material]:not([data-disabled]) {
380
+ background-image: var(--dixy-skin-paint);
381
+ }
313
382
  :is(.dixy-button)[data-dixy-skin="dixy/riso-zine"]:not(
314
383
  [data-dixy-material-override]
315
384
  ):not(:where([data-dixy-material-override]) *):is(
@@ -340,14 +409,19 @@
340
409
  border: 1px solid var(--dixy-skin-edge);
341
410
  box-shadow: var(--dixy-skin-inset);
342
411
  }
412
+ /* 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). */
343
413
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/riso-zine"]:not(
344
414
  [data-dixy-material-override]
345
415
  ):not(:where([data-dixy-material-override]) *) {
346
- background-image: var(--dixy-skin-finish);
347
416
  box-shadow: var(--dixy-skin-control-relief);
348
417
  border: 1px solid var(--dixy-skin-edge);
349
418
  }
350
- /* 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). */
419
+ :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/riso-zine"]:not(
420
+ [data-dixy-material-override]
421
+ ):not(:where([data-dixy-material-override]) *):not([data-variant="line"]) {
422
+ background-image: none;
423
+ }
424
+ /* Toggle groups read like tabs: a sunken track, the selected toggle a raised, flat thumb. */
351
425
  .dixy-theme[data-dixy-skin="dixy/riso-zine"]
352
426
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
353
427
  [data-dixy-material-override]
@@ -362,7 +436,7 @@
362
436
  [data-variant="solid"]
363
437
  )[data-pressed]:not([data-disabled]) {
364
438
  background-color: var(--dixy-color-background-surface-raised);
365
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
439
+ background-image: none;
366
440
  box-shadow: var(--dixy-skin-control-relief);
367
441
  border-color: var(--dixy-skin-edge);
368
442
  color: var(--dixy-color-text-primary);