@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/art-deco.css CHANGED
@@ -33,6 +33,11 @@
33
33
  --dixy-font-title-sm-family:
34
34
  "Poiret One", "Josefin Sans", "Futura", ui-sans-serif, sans-serif;
35
35
  --dixy-skin-edge: #c9a95c;
36
+ --dixy-skin-field-edge: color-mix(
37
+ in oklab,
38
+ var(--dixy-color-base-9) 50%,
39
+ var(--dixy-color-base-8)
40
+ );
36
41
  --dixy-organic-density: 45;
37
42
  --dixy-organic-cornerDensity: 76;
38
43
  --dixy-organic-canopyDepth: 30;
@@ -129,7 +134,6 @@
129
134
  --dixy-organic-b: #d8b972;
130
135
  --dixy-organic-c: #f1e4bc;
131
136
  --dixy-organic-d: #77663a;
132
- --dixy-skin-selected: var(--dixy-skin-finish);
133
137
  --dixy-skin-edge: #8a7240;
134
138
  --dixy-skin-surface: color-mix(
135
139
  in srgb,
@@ -142,6 +146,7 @@
142
146
  #15130f
143
147
  );
144
148
  }
149
+
145
150
  .dixy-theme[data-dixy-skin="dixy/art-deco"][data-relief="2"] {
146
151
  --dixy-skin-shadow:
147
152
  var(--dixy-skin-depth-shadow, var(--dixy-skin-authored-shadow)),
@@ -167,11 +172,9 @@
167
172
  }
168
173
  }
169
174
  @layer dixy.components {
170
- .dixy-theme[data-dixy-skin="dixy/art-deco"] {
175
+ .dixy-theme[data-dixy-skin="dixy/art-deco"]:not(.dixy-portal-scope) {
171
176
  position: relative;
172
177
  isolation: isolate;
173
- }
174
- .dixy-theme[data-dixy-skin="dixy/art-deco"]:not(.dixy-portal-scope) {
175
178
  background-color: var(--dixy-skin-ground);
176
179
  background-image: var(--dixy-skin-canvas);
177
180
  }
@@ -275,6 +278,28 @@
275
278
  ):not([data-variant="solid"]):not([data-variant="soft"]) {
276
279
  background-color: var(--dixy-skin-surface);
277
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/art-deco"]: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
+ }
278
303
  :is(
279
304
  .dixy-input,
280
305
  .dixy-textarea,
@@ -307,7 +332,7 @@
307
332
  :where([data-dixy-material-override]) *
308
333
  ) {
309
334
  border-width: var(--dixy-input-border-width);
310
- border-color: var(--dixy-skin-edge);
335
+ border-color: var(--dixy-skin-field-edge);
311
336
  background-image: var(--dixy-skin-paint);
312
337
  background-color: var(--dixy-color-background-canvas);
313
338
  background-size:
@@ -317,6 +342,43 @@
317
342
  100% 100%;
318
343
  box-shadow: var(--dixy-skin-inset);
319
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/art-deco"]: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
+ }
320
382
  :is(.dixy-button)[data-dixy-skin="dixy/art-deco"]:not(
321
383
  [data-dixy-material-override]
322
384
  ):not(:where([data-dixy-material-override]) *):is(
@@ -347,14 +409,19 @@
347
409
  border: 1px solid var(--dixy-skin-edge);
348
410
  box-shadow: var(--dixy-skin-inset);
349
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). */
350
413
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/art-deco"]:not(
351
414
  [data-dixy-material-override]
352
415
  ):not(:where([data-dixy-material-override]) *) {
353
- background-image: var(--dixy-skin-finish);
354
416
  box-shadow: var(--dixy-skin-control-relief);
355
417
  border: 1px solid var(--dixy-skin-edge);
356
418
  }
357
- /* 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/art-deco"]: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. */
358
425
  .dixy-theme[data-dixy-skin="dixy/art-deco"]
359
426
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
360
427
  [data-dixy-material-override]
@@ -369,7 +436,7 @@
369
436
  [data-variant="solid"]
370
437
  )[data-pressed]:not([data-disabled]) {
371
438
  background-color: var(--dixy-color-background-surface-raised);
372
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
439
+ background-image: none;
373
440
  box-shadow: var(--dixy-skin-control-relief);
374
441
  border-color: var(--dixy-skin-edge);
375
442
  color: var(--dixy-color-text-primary);
@@ -42,6 +42,11 @@
42
42
  "Fredoka Variable", "Fredoka", ui-rounded, "SF Pro Rounded", "Nunito",
43
43
  sans-serif;
44
44
  --dixy-skin-edge: #e7d3a8;
45
+ --dixy-skin-field-edge: color-mix(
46
+ in oklab,
47
+ var(--dixy-color-base-9) 50%,
48
+ var(--dixy-color-base-8)
49
+ );
45
50
  --dixy-organic-density: 50;
46
51
  --dixy-organic-cornerDensity: 70;
47
52
  --dixy-organic-canopyDepth: 40;
@@ -117,7 +122,6 @@
117
122
  --dixy-organic-b: #4cc3b3;
118
123
  --dixy-organic-c: #ef8a6f;
119
124
  --dixy-organic-d: #f6ecd6;
120
- --dixy-skin-selected: var(--dixy-skin-finish);
121
125
  --dixy-color-text-primary: color-mix(
122
126
  in srgb,
123
127
  var(--dixy-color-base-12) 80%,
@@ -135,6 +139,7 @@
135
139
  #1f2a2e
136
140
  );
137
141
  }
142
+
138
143
  .dixy-theme[data-dixy-skin="dixy/atomic-lounge"][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/atomic-lounge"] {
168
+ .dixy-theme[data-dixy-skin="dixy/atomic-lounge"]:not(.dixy-portal-scope) {
164
169
  position: relative;
165
170
  isolation: isolate;
166
- }
167
- .dixy-theme[data-dixy-skin="dixy/atomic-lounge"]:not(.dixy-portal-scope) {
168
171
  background-color: var(--dixy-skin-ground);
169
172
  background-image: var(--dixy-skin-canvas);
170
173
  }
@@ -270,6 +273,30 @@
270
273
  ):not([data-variant="soft"]) {
271
274
  background-color: var(--dixy-skin-surface);
272
275
  }
276
+ :is(
277
+ .dixy-dialog-popup,
278
+ .dixy-alert-dialog-popup,
279
+ .dixy-drawer-popup,
280
+ .dixy-popover-popup,
281
+ .dixy-preview-card-popup,
282
+ .dixy-tooltip-popup,
283
+ .dixy-select-popup,
284
+ .dixy-combobox-popup,
285
+ .dixy-autocomplete-popup,
286
+ .dixy-menu-popup,
287
+ .dixy-context-menu-popup,
288
+ .dixy-navigation-menu-popup
289
+ )[data-dixy-skin="dixy/atomic-lounge"]:not(
290
+ [data-dixy-material-override]
291
+ ):not(:where([data-dixy-material-override]) *):not(
292
+ [data-variant="solid"]
293
+ ):not([data-variant="soft"]) {
294
+ background-color: color-mix(
295
+ in srgb,
296
+ var(--dixy-color-background-surface-raised) 94%,
297
+ var(--dixy-skin-surface)
298
+ );
299
+ }
273
300
  :is(
274
301
  .dixy-input,
275
302
  .dixy-textarea,
@@ -302,7 +329,7 @@
302
329
  [data-dixy-material-override]
303
330
  ):not(:where([data-dixy-material-override]) *) {
304
331
  border-width: var(--dixy-input-border-width);
305
- border-color: var(--dixy-skin-edge);
332
+ border-color: var(--dixy-skin-field-edge);
306
333
  background-image: var(--dixy-skin-paint);
307
334
  background-color: var(--dixy-color-background-canvas);
308
335
  background-size:
@@ -312,6 +339,45 @@
312
339
  100% 100%;
313
340
  box-shadow: var(--dixy-skin-inset);
314
341
  }
342
+ /* materials.css styles [data-dixy-visual] surfaces at 0,5,0. Match the
343
+ skin's paint to that so its image and grain size always land together;
344
+ otherwise the material image is tiled at the grain size (stripes). */
345
+ :is(
346
+ .dixy-card,
347
+ .dixy-box,
348
+ .dixy-dialog-popup,
349
+ .dixy-alert-dialog-popup,
350
+ .dixy-drawer-popup,
351
+ .dixy-popover-popup,
352
+ .dixy-preview-card-popup,
353
+ .dixy-tooltip-popup,
354
+ .dixy-select-popup,
355
+ .dixy-combobox-popup,
356
+ .dixy-autocomplete-popup,
357
+ .dixy-menu-popup,
358
+ .dixy-context-menu-popup,
359
+ .dixy-navigation-menu-popup,
360
+ .dixy-toast-root,
361
+ .dixy-alert,
362
+ .dixy-list-box,
363
+ .dixy-calendar,
364
+ .dixy-range-calendar,
365
+ .dixy-input,
366
+ .dixy-textarea,
367
+ .dixy-native-select,
368
+ .dixy-select-trigger,
369
+ .dixy-input-group,
370
+ .dixy-combobox-input-group,
371
+ .dixy-autocomplete-input-group,
372
+ .dixy-number-field-group,
373
+ .dixy-otp-field-input
374
+ )[data-dixy-skin="dixy/atomic-lounge"]:not(
375
+ [data-dixy-material-override]
376
+ ):not(
377
+ :where([data-dixy-material-override]) *
378
+ )[data-dixy-visual][data-material]:not([data-disabled]) {
379
+ background-image: var(--dixy-skin-paint);
380
+ }
315
381
  :is(.dixy-button)[data-dixy-skin="dixy/atomic-lounge"]:not(
316
382
  [data-dixy-material-override]
317
383
  ):not(:where([data-dixy-material-override]) *):is(
@@ -342,14 +408,19 @@
342
408
  border: 1px solid var(--dixy-skin-edge);
343
409
  box-shadow: var(--dixy-skin-inset);
344
410
  }
411
+ /* 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). */
345
412
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/atomic-lounge"]:not(
346
413
  [data-dixy-material-override]
347
414
  ):not(:where([data-dixy-material-override]) *) {
348
- background-image: var(--dixy-skin-finish);
349
415
  box-shadow: var(--dixy-skin-control-relief);
350
416
  border: 1px solid var(--dixy-skin-edge);
351
417
  }
352
- /* 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). */
418
+ :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/atomic-lounge"]:not(
419
+ [data-dixy-material-override]
420
+ ):not(:where([data-dixy-material-override]) *):not([data-variant="line"]) {
421
+ background-image: none;
422
+ }
423
+ /* Toggle groups read like tabs: a sunken track, the selected toggle a raised, flat thumb. */
353
424
  .dixy-theme[data-dixy-skin="dixy/atomic-lounge"]
354
425
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
355
426
  [data-dixy-material-override]
@@ -364,7 +435,7 @@
364
435
  [data-variant="solid"]
365
436
  )[data-pressed]:not([data-disabled]) {
366
437
  background-color: var(--dixy-color-background-surface-raised);
367
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
438
+ background-image: none;
368
439
  box-shadow: var(--dixy-skin-control-relief);
369
440
  border-color: var(--dixy-skin-edge);
370
441
  color: var(--dixy-color-text-primary);
@@ -29,8 +29,8 @@ export declare function compileThemeDocument(input: unknown): Readonly<{
29
29
  readonly componentFinish: "inherit" | "glossy" | "soft" | "matte" | "metal" | "paper";
30
30
  readonly shape: "square" | "rounded" | "pill";
31
31
  readonly appearance: "dark" | "light";
32
- readonly bodyFont: "serif" | "terminal" | "deco" | "neon" | "mono" | "system" | "rounded" | "lcd" | "pixel" | "inter" | "grotesk" | "fraunces" | "techno" | "plex" | "archivo" | "mincho" | "gothic" | "playfair" | "caveat" | "bricolage" | "jetbrains" | "manrope" | "figtree" | "cormorant";
33
- readonly headingFont: "serif" | "terminal" | "deco" | "neon" | "mono" | "system" | "rounded" | "lcd" | "pixel" | "inter" | "grotesk" | "fraunces" | "techno" | "plex" | "archivo" | "mincho" | "gothic" | "playfair" | "caveat" | "bricolage" | "jetbrains" | "manrope" | "figtree" | "cormorant";
32
+ readonly bodyFont: "serif" | "terminal" | "deco" | "neon" | "mono" | "system" | "rounded" | "lcd" | "pixel" | "inter" | "grotesk" | "fraunces" | "techno" | "plex" | "archivo" | "mincho" | "gothic" | "playfair" | "caveat" | "bricolage" | "jetbrains" | "manrope" | "figtree" | "cormorant" | "plexSans" | "atkinson";
33
+ readonly headingFont: "serif" | "terminal" | "deco" | "neon" | "mono" | "system" | "rounded" | "lcd" | "pixel" | "inter" | "grotesk" | "fraunces" | "techno" | "plex" | "archivo" | "mincho" | "gothic" | "playfair" | "caveat" | "bricolage" | "jetbrains" | "manrope" | "figtree" | "cormorant" | "plexSans" | "atkinson";
34
34
  readonly border: 2 | 1;
35
35
  readonly depth: "none" | "raised" | "floating";
36
36
  readonly ornament: "balanced" | "expressive" | "quiet";
@@ -39,7 +39,7 @@ export declare function compileThemeDocument(input: unknown): Readonly<{
39
39
  };
40
40
  readonly recipes: {
41
41
  readonly material: {
42
- readonly id: "botanical-paper" | "pixel-enamel" | "gunmetal" | "ceramic" | "prismatic-glass" | "atelier-paper" | "sea-glass" | "candy-clay" | "lacquer-brass" | "titanium" | "frosted-porcelain" | "scrapbook-paper" | "cyanotype" | "riso-paper" | "wet-asphalt" | "washi" | "station-enamel" | "phosphor-glass" | "ansi-term" | "poster-stock" | "glazed-tile" | "concrete" | "atomic-laminate" | "hologram" | "painted-steel" | "gold-foil" | "marigold-silk" | "red-paper" | "fiesta-paper" | "powder-wash" | "wool" | "liquid-glass";
42
+ readonly id: "botanical-paper" | "pixel-enamel" | "gunmetal" | "ceramic" | "prismatic-glass" | "atelier-paper" | "sea-glass" | "candy-clay" | "lacquer-brass" | "titanium" | "frosted-porcelain" | "scrapbook-paper" | "cyanotype" | "riso-paper" | "wet-asphalt" | "washi" | "station-enamel" | "phosphor-glass" | "ansi-term" | "poster-stock" | "glazed-tile" | "concrete" | "atomic-laminate" | "hologram" | "painted-steel" | "gold-foil" | "marigold-silk" | "red-paper" | "fiesta-paper" | "powder-wash" | "wool" | "liquid-glass" | "sunset-neon" | "ledger-ruled" | "layer-grid" | "mono-ink" | "signal-contrast" | "menu-window" | "arcade-bezel";
43
43
  readonly version: 1;
44
44
  readonly parameters: {
45
45
  readonly surfaceMix: number;
@@ -54,10 +54,10 @@ export declare function compileThemeDocument(input: unknown): Readonly<{
54
54
  };
55
55
  };
56
56
  readonly frame: {
57
- readonly id: "none" | "coral" | "forest" | "cushion" | "deco" | "drafting" | "riso" | "neon" | "sumi" | "transit" | "crt" | "panes" | "swiss" | "azulejo" | "formwork" | "atomic" | "hud" | "hazard" | "orbit" | "rangoli" | "papercut" | "picado" | "gulal" | "knit" | "liquid" | "glass" | "pixel" | "halo" | "ceramic" | "rails" | "stitch" | "chamfer";
57
+ readonly id: "none" | "menu" | "marquee" | "coral" | "forest" | "cushion" | "deco" | "drafting" | "riso" | "neon" | "sumi" | "transit" | "crt" | "panes" | "swiss" | "azulejo" | "formwork" | "atomic" | "hud" | "hazard" | "orbit" | "rangoli" | "papercut" | "picado" | "gulal" | "knit" | "liquid" | "sunset" | "glass" | "pixel" | "halo" | "ceramic" | "rails" | "stitch" | "chamfer";
58
58
  readonly version: 1;
59
59
  readonly ornament: {
60
- readonly style: "Woodland mix" | "Wild ivy" | "Fern grove" | "Willow canopy" | "Oak & moss" | "Spring growth" | "Ginkgo fans" | "Maple grove" | "Eucalyptus" | "Olive branch" | "Clover meadow" | "Wildflower hedge" | "Piped petals" | "Twisted rope" | "Candy pebbles" | "Ribbon folds" | "Tidal ribbons" | "Seafoam beads" | "Glass droplets" | "Quiet currents" | "Fine filigree" | "Art deco" | "Hammered edge" | "Quiet gilding" | "Dimensioned" | "Ruler ticks" | "Construction lines" | "Quiet draft" | "Misprint" | "Halftone" | "Taped corners" | "Clean stamp" | "Tube outline" | "Broken tubes" | "Sign shapes" | "Low hum" | "Bamboo" | "Plum blossom" | "Dry brush" | "Ensō" | "Line map" | "Station roundels" | "Platform edge" | "Quiet line" | "Box corners" | "Status line" | "Raster ticks" | "Quiet cursor" | "Pane titles" | "Key hints" | "Split panes" | "Bare panes" | "Crop marks" | "Red block" | "Grid ticks" | "Bare grid" | "Corner tiles" | "Border run" | "Floral rosette" | "Single tile" | "Tie holes" | "Stencil marks" | "Board seams" | "Bare concrete" | "Starbursts" | "Boomerangs" | "Orbit atoms" | "Lone star" | "Target brackets" | "Telemetry" | "Reticle" | "Clean brackets" | "Hazard stripes" | "Rivet seams" | "Cargo stencils" | "Clean plate" | "Orbit rings" | "Gold foil" | "Star field" | "Single orbit" | "Rangoli corners" | "Diya row" | "Marigold string" | "Single diya" | "Lanterns" | "Scallop edge" | "Cloud scrolls" | "Single lantern" | "Bunting" | "Marigold garland" | "Paper confetti" | "Short string" | "Powder clouds" | "Splashes" | "Speckle dust" | "Soft haze" | "Fair Isle band" | "Snowflakes" | "Cable stitch" | "Plain rib" | "Specular rim" | "Refraction" | "Light catch" | "Clear";
60
+ readonly style: "Woodland mix" | "Wild ivy" | "Fern grove" | "Willow canopy" | "Oak & moss" | "Spring growth" | "Ginkgo fans" | "Maple grove" | "Eucalyptus" | "Olive branch" | "Clover meadow" | "Wildflower hedge" | "Piped petals" | "Twisted rope" | "Candy pebbles" | "Ribbon folds" | "Tidal ribbons" | "Seafoam beads" | "Glass droplets" | "Quiet currents" | "Fine filigree" | "Art deco" | "Hammered edge" | "Quiet gilding" | "Dimensioned" | "Ruler ticks" | "Construction lines" | "Quiet draft" | "Misprint" | "Halftone" | "Taped corners" | "Clean stamp" | "Tube outline" | "Broken tubes" | "Sign shapes" | "Low hum" | "Bamboo" | "Plum blossom" | "Dry brush" | "Ensō" | "Line map" | "Station roundels" | "Platform edge" | "Quiet line" | "Box corners" | "Status line" | "Raster ticks" | "Quiet cursor" | "Pane titles" | "Key hints" | "Split panes" | "Bare panes" | "Crop marks" | "Red block" | "Grid ticks" | "Bare grid" | "Corner tiles" | "Border run" | "Floral rosette" | "Single tile" | "Tie holes" | "Stencil marks" | "Board seams" | "Bare concrete" | "Starbursts" | "Boomerangs" | "Orbit atoms" | "Lone star" | "Target brackets" | "Telemetry" | "Reticle" | "Clean brackets" | "Hazard stripes" | "Rivet seams" | "Cargo stencils" | "Clean plate" | "Orbit rings" | "Gold foil" | "Star field" | "Single orbit" | "Rangoli corners" | "Diya row" | "Marigold string" | "Single diya" | "Lanterns" | "Scallop edge" | "Cloud scrolls" | "Single lantern" | "Bunting" | "Marigold garland" | "Paper confetti" | "Short string" | "Powder clouds" | "Splashes" | "Speckle dust" | "Soft haze" | "Fair Isle band" | "Snowflakes" | "Cable stitch" | "Plain rib" | "Specular rim" | "Refraction" | "Light catch" | "Clear" | "Sun and grid" | "Sun only" | "Grid only" | "Bare coast" | "Cursor and stars" | "Cursor only" | "Stars only" | "Plain window" | "Bulbs and credits" | "Bulbs only" | "Credits only" | "Dark cabinet";
61
61
  readonly canopy: "Scattered trails" | "Corner cascades" | "Overhead boughs" | "Long tendrils" | "Open crown";
62
62
  readonly stem: "Twining vines" | "Woody branches" | "Tender shoots" | "Mossy roots";
63
63
  readonly density: number;
@@ -95,7 +95,7 @@ export declare function compileThemeDocument(input: unknown): Readonly<{
95
95
  };
96
96
  readonly states: "standard" | "led" | "marching" | "inlay" | "glow" | "stamp";
97
97
  readonly details: {
98
- readonly focus: "offset" | "dashed" | "double" | "glow" | "ring";
98
+ readonly focus: "offset" | "dashed" | "double" | "halo" | "glow" | "ring";
99
99
  readonly divider: "line" | "dashed" | "dotted" | "double" | "groove";
100
100
  readonly selection: "accent" | "inverse" | "highlighter";
101
101
  readonly scrollbar: "accent" | "native" | "thin";
@@ -117,8 +117,8 @@ export declare function compileThemeDocument(input: unknown): Readonly<{
117
117
  definition: SkinDefinition;
118
118
  css: string;
119
119
  renderer: Readonly<{
120
- 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";
121
- 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";
120
+ 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";
121
+ 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";
122
122
  }> | null;
123
123
  themeProps: Readonly<{
124
124
  appearance: "dark" | "light";
@@ -32,6 +32,11 @@
32
32
  --dixy-font-title-sm-family:
33
33
  "Playfair Display Variable", "Playfair Display", ui-serif, Georgia, serif;
34
34
  --dixy-skin-edge: #1f4fa0;
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: 45;
36
41
  --dixy-organic-cornerDensity: 80;
37
42
  --dixy-organic-canopyDepth: 40;
@@ -137,7 +142,6 @@
137
142
  --dixy-organic-b: #4f74c0;
138
143
  --dixy-organic-c: #e8c06a;
139
144
  --dixy-organic-d: #1a2d57;
140
- --dixy-skin-selected: var(--dixy-skin-finish);
141
145
  --dixy-color-text-primary: color-mix(
142
146
  in srgb,
143
147
  var(--dixy-color-base-12) 70%,
@@ -155,6 +159,7 @@
155
159
  #0f1d3a
156
160
  );
157
161
  }
162
+
158
163
  .dixy-theme[data-dixy-skin="dixy/azulejo-tile"][data-relief="2"] {
159
164
  --dixy-skin-shadow:
160
165
  var(--dixy-skin-depth-shadow, var(--dixy-skin-authored-shadow)),
@@ -180,11 +185,9 @@
180
185
  }
181
186
  }
182
187
  @layer dixy.components {
183
- .dixy-theme[data-dixy-skin="dixy/azulejo-tile"] {
188
+ .dixy-theme[data-dixy-skin="dixy/azulejo-tile"]:not(.dixy-portal-scope) {
184
189
  position: relative;
185
190
  isolation: isolate;
186
- }
187
- .dixy-theme[data-dixy-skin="dixy/azulejo-tile"]:not(.dixy-portal-scope) {
188
191
  background-color: var(--dixy-skin-ground);
189
192
  background-image: var(--dixy-skin-canvas);
190
193
  }
@@ -290,6 +293,30 @@
290
293
  ):not([data-variant="soft"]) {
291
294
  background-color: var(--dixy-skin-surface);
292
295
  }
296
+ :is(
297
+ .dixy-dialog-popup,
298
+ .dixy-alert-dialog-popup,
299
+ .dixy-drawer-popup,
300
+ .dixy-popover-popup,
301
+ .dixy-preview-card-popup,
302
+ .dixy-tooltip-popup,
303
+ .dixy-select-popup,
304
+ .dixy-combobox-popup,
305
+ .dixy-autocomplete-popup,
306
+ .dixy-menu-popup,
307
+ .dixy-context-menu-popup,
308
+ .dixy-navigation-menu-popup
309
+ )[data-dixy-skin="dixy/azulejo-tile"]:not(
310
+ [data-dixy-material-override]
311
+ ):not(:where([data-dixy-material-override]) *):not(
312
+ [data-variant="solid"]
313
+ ):not([data-variant="soft"]) {
314
+ background-color: color-mix(
315
+ in srgb,
316
+ var(--dixy-color-background-surface-raised) 94%,
317
+ var(--dixy-skin-surface)
318
+ );
319
+ }
293
320
  :is(
294
321
  .dixy-input,
295
322
  .dixy-textarea,
@@ -322,7 +349,7 @@
322
349
  [data-dixy-material-override]
323
350
  ):not(:where([data-dixy-material-override]) *) {
324
351
  border-width: var(--dixy-input-border-width);
325
- border-color: var(--dixy-skin-edge);
352
+ border-color: var(--dixy-skin-field-edge);
326
353
  background-image: var(--dixy-skin-paint);
327
354
  background-color: var(--dixy-color-background-canvas);
328
355
  background-size:
@@ -332,6 +359,45 @@
332
359
  100% 100%;
333
360
  box-shadow: var(--dixy-skin-inset);
334
361
  }
362
+ /* materials.css styles [data-dixy-visual] surfaces at 0,5,0. Match the
363
+ skin's paint to that so its image and grain size always land together;
364
+ otherwise the material image is tiled at the grain size (stripes). */
365
+ :is(
366
+ .dixy-card,
367
+ .dixy-box,
368
+ .dixy-dialog-popup,
369
+ .dixy-alert-dialog-popup,
370
+ .dixy-drawer-popup,
371
+ .dixy-popover-popup,
372
+ .dixy-preview-card-popup,
373
+ .dixy-tooltip-popup,
374
+ .dixy-select-popup,
375
+ .dixy-combobox-popup,
376
+ .dixy-autocomplete-popup,
377
+ .dixy-menu-popup,
378
+ .dixy-context-menu-popup,
379
+ .dixy-navigation-menu-popup,
380
+ .dixy-toast-root,
381
+ .dixy-alert,
382
+ .dixy-list-box,
383
+ .dixy-calendar,
384
+ .dixy-range-calendar,
385
+ .dixy-input,
386
+ .dixy-textarea,
387
+ .dixy-native-select,
388
+ .dixy-select-trigger,
389
+ .dixy-input-group,
390
+ .dixy-combobox-input-group,
391
+ .dixy-autocomplete-input-group,
392
+ .dixy-number-field-group,
393
+ .dixy-otp-field-input
394
+ )[data-dixy-skin="dixy/azulejo-tile"]:not(
395
+ [data-dixy-material-override]
396
+ ):not(
397
+ :where([data-dixy-material-override]) *
398
+ )[data-dixy-visual][data-material]:not([data-disabled]) {
399
+ background-image: var(--dixy-skin-paint);
400
+ }
335
401
  :is(.dixy-button)[data-dixy-skin="dixy/azulejo-tile"]:not(
336
402
  [data-dixy-material-override]
337
403
  ):not(:where([data-dixy-material-override]) *):is(
@@ -362,14 +428,19 @@
362
428
  border: 1px solid var(--dixy-skin-edge);
363
429
  box-shadow: var(--dixy-skin-inset);
364
430
  }
431
+ /* 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). */
365
432
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/azulejo-tile"]:not(
366
433
  [data-dixy-material-override]
367
434
  ):not(:where([data-dixy-material-override]) *) {
368
- background-image: var(--dixy-skin-finish);
369
435
  box-shadow: var(--dixy-skin-control-relief);
370
436
  border: 1px solid var(--dixy-skin-edge);
371
437
  }
372
- /* 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). */
438
+ :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/azulejo-tile"]:not(
439
+ [data-dixy-material-override]
440
+ ):not(:where([data-dixy-material-override]) *):not([data-variant="line"]) {
441
+ background-image: none;
442
+ }
443
+ /* Toggle groups read like tabs: a sunken track, the selected toggle a raised, flat thumb. */
373
444
  .dixy-theme[data-dixy-skin="dixy/azulejo-tile"]
374
445
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
375
446
  [data-dixy-material-override]
@@ -384,7 +455,7 @@
384
455
  [data-variant="solid"]
385
456
  )[data-pressed]:not([data-disabled]) {
386
457
  background-color: var(--dixy-color-background-surface-raised);
387
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
458
+ background-image: none;
388
459
  box-shadow: var(--dixy-skin-control-relief);
389
460
  border-color: var(--dixy-skin-edge);
390
461
  color: var(--dixy-color-text-primary);