@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
@@ -32,6 +32,11 @@
32
32
  --dixy-font-title-sm-family:
33
33
  "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif;
34
34
  --dixy-skin-edge: #d3cec4;
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
 
36
41
  --dixy-skin-surface: color-mix(
37
42
  in srgb,
@@ -105,7 +110,6 @@
105
110
  --dixy-font-title-sm-letter-spacing: -0.03em;
106
111
  }
107
112
  .dixy-theme[data-dixy-skin="dixy/studio-hardware"][data-appearance="dark"] {
108
- --dixy-skin-selected: var(--dixy-skin-finish);
109
113
  --dixy-skin-edge: #111113;
110
114
  --dixy-skin-surface: color-mix(
111
115
  in srgb,
@@ -118,6 +122,7 @@
118
122
  #26262a
119
123
  );
120
124
  }
125
+
121
126
  .dixy-theme[data-dixy-skin="dixy/studio-hardware"][data-relief="2"] {
122
127
  --dixy-skin-shadow:
123
128
  var(--dixy-skin-depth-shadow, var(--dixy-skin-authored-shadow)),
@@ -143,11 +148,9 @@
143
148
  }
144
149
  }
145
150
  @layer dixy.components {
146
- .dixy-theme[data-dixy-skin="dixy/studio-hardware"] {
151
+ .dixy-theme[data-dixy-skin="dixy/studio-hardware"]:not(.dixy-portal-scope) {
147
152
  position: relative;
148
153
  isolation: isolate;
149
- }
150
- .dixy-theme[data-dixy-skin="dixy/studio-hardware"]:not(.dixy-portal-scope) {
151
154
  background-color: var(--dixy-skin-ground);
152
155
  background-image: var(--dixy-skin-canvas);
153
156
  }
@@ -253,6 +256,30 @@
253
256
  ):not([data-variant="soft"]) {
254
257
  background-color: var(--dixy-skin-surface);
255
258
  }
259
+ :is(
260
+ .dixy-dialog-popup,
261
+ .dixy-alert-dialog-popup,
262
+ .dixy-drawer-popup,
263
+ .dixy-popover-popup,
264
+ .dixy-preview-card-popup,
265
+ .dixy-tooltip-popup,
266
+ .dixy-select-popup,
267
+ .dixy-combobox-popup,
268
+ .dixy-autocomplete-popup,
269
+ .dixy-menu-popup,
270
+ .dixy-context-menu-popup,
271
+ .dixy-navigation-menu-popup
272
+ )[data-dixy-skin="dixy/studio-hardware"]:not(
273
+ [data-dixy-material-override]
274
+ ):not(:where([data-dixy-material-override]) *):not(
275
+ [data-variant="solid"]
276
+ ):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
+ }
256
283
  :is(
257
284
  .dixy-input,
258
285
  .dixy-textarea,
@@ -285,7 +312,7 @@
285
312
  [data-dixy-material-override]
286
313
  ):not(:where([data-dixy-material-override]) *) {
287
314
  border-width: var(--dixy-input-border-width);
288
- border-color: var(--dixy-skin-edge);
315
+ border-color: var(--dixy-skin-field-edge);
289
316
  background-image: var(--dixy-skin-paint);
290
317
  background-color: var(--dixy-color-background-canvas);
291
318
  background-size:
@@ -295,6 +322,45 @@
295
322
  100% 100%;
296
323
  box-shadow: var(--dixy-skin-inset);
297
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/studio-hardware"]:not(
358
+ [data-dixy-material-override]
359
+ ):not(
360
+ :where([data-dixy-material-override]) *
361
+ )[data-dixy-visual][data-material]:not([data-disabled]) {
362
+ background-image: var(--dixy-skin-paint);
363
+ }
298
364
  :is(.dixy-button)[data-dixy-skin="dixy/studio-hardware"]:not(
299
365
  [data-dixy-material-override]
300
366
  ):not(:where([data-dixy-material-override]) *):is(
@@ -325,14 +391,19 @@
325
391
  border: 1px solid var(--dixy-skin-edge);
326
392
  box-shadow: var(--dixy-skin-inset);
327
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). */
328
395
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/studio-hardware"]:not(
329
396
  [data-dixy-material-override]
330
397
  ):not(:where([data-dixy-material-override]) *) {
331
- background-image: var(--dixy-skin-finish);
332
398
  box-shadow: var(--dixy-skin-control-relief);
333
399
  border: 1px solid var(--dixy-skin-edge);
334
400
  }
335
- /* 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/studio-hardware"]: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. */
336
407
  .dixy-theme[data-dixy-skin="dixy/studio-hardware"]
337
408
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
338
409
  [data-dixy-material-override]
@@ -347,7 +418,7 @@
347
418
  [data-variant="solid"]
348
419
  )[data-pressed]:not([data-disabled]) {
349
420
  background-color: var(--dixy-color-background-surface-raised);
350
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
421
+ background-image: none;
351
422
  box-shadow: var(--dixy-skin-control-relief);
352
423
  border-color: var(--dixy-skin-edge);
353
424
  color: var(--dixy-color-text-primary);
package/dist/sumi-ink.css CHANGED
@@ -29,6 +29,11 @@
29
29
  --dixy-font-title-sm-family:
30
30
  "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", ui-serif, serif;
31
31
  --dixy-skin-edge: #b8ac95;
32
+ --dixy-skin-field-edge: color-mix(
33
+ in oklab,
34
+ var(--dixy-color-base-9) 50%,
35
+ var(--dixy-color-base-8)
36
+ );
32
37
  --dixy-organic-density: 40;
33
38
  --dixy-organic-cornerDensity: 70;
34
39
  --dixy-organic-canopyDepth: 45;
@@ -120,7 +125,6 @@
120
125
  --dixy-organic-b: #a9b59b;
121
126
  --dixy-organic-c: #e58c94;
122
127
  --dixy-organic-d: #d65a42;
123
- --dixy-skin-selected: var(--dixy-skin-finish);
124
128
  --dixy-color-text-primary: color-mix(
125
129
  in srgb,
126
130
  var(--dixy-color-base-12) 80%,
@@ -138,6 +142,7 @@
138
142
  #211f1b
139
143
  );
140
144
  }
145
+
141
146
  .dixy-theme[data-dixy-skin="dixy/sumi-ink"][data-relief="2"] {
142
147
  --dixy-skin-shadow:
143
148
  var(--dixy-skin-depth-shadow, var(--dixy-skin-authored-shadow)),
@@ -163,11 +168,9 @@
163
168
  }
164
169
  }
165
170
  @layer dixy.components {
166
- .dixy-theme[data-dixy-skin="dixy/sumi-ink"] {
171
+ .dixy-theme[data-dixy-skin="dixy/sumi-ink"]:not(.dixy-portal-scope) {
167
172
  position: relative;
168
173
  isolation: isolate;
169
- }
170
- .dixy-theme[data-dixy-skin="dixy/sumi-ink"]:not(.dixy-portal-scope) {
171
174
  background-color: var(--dixy-skin-ground);
172
175
  background-image: var(--dixy-skin-canvas);
173
176
  }
@@ -276,6 +279,28 @@
276
279
  ):not([data-variant="solid"]):not([data-variant="soft"]) {
277
280
  background-color: var(--dixy-skin-surface);
278
281
  }
282
+ :is(
283
+ .dixy-dialog-popup,
284
+ .dixy-alert-dialog-popup,
285
+ .dixy-drawer-popup,
286
+ .dixy-popover-popup,
287
+ .dixy-preview-card-popup,
288
+ .dixy-tooltip-popup,
289
+ .dixy-select-popup,
290
+ .dixy-combobox-popup,
291
+ .dixy-autocomplete-popup,
292
+ .dixy-menu-popup,
293
+ .dixy-context-menu-popup,
294
+ .dixy-navigation-menu-popup
295
+ )[data-dixy-skin="dixy/sumi-ink"]:not([data-dixy-material-override]):not(
296
+ :where([data-dixy-material-override]) *
297
+ ):not([data-variant="solid"]):not([data-variant="soft"]) {
298
+ background-color: color-mix(
299
+ in srgb,
300
+ var(--dixy-color-background-surface-raised) 94%,
301
+ var(--dixy-skin-surface)
302
+ );
303
+ }
279
304
  :is(
280
305
  .dixy-input,
281
306
  .dixy-textarea,
@@ -308,7 +333,7 @@
308
333
  :where([data-dixy-material-override]) *
309
334
  ) {
310
335
  border-width: var(--dixy-input-border-width);
311
- border-color: var(--dixy-skin-edge);
336
+ border-color: var(--dixy-skin-field-edge);
312
337
  background-image: var(--dixy-skin-paint);
313
338
  background-color: var(--dixy-color-background-canvas);
314
339
  background-size:
@@ -318,6 +343,43 @@
318
343
  100% 100%;
319
344
  box-shadow: var(--dixy-skin-inset);
320
345
  }
346
+ /* materials.css styles [data-dixy-visual] surfaces at 0,5,0. Match the
347
+ skin's paint to that so its image and grain size always land together;
348
+ otherwise the material image is tiled at the grain size (stripes). */
349
+ :is(
350
+ .dixy-card,
351
+ .dixy-box,
352
+ .dixy-dialog-popup,
353
+ .dixy-alert-dialog-popup,
354
+ .dixy-drawer-popup,
355
+ .dixy-popover-popup,
356
+ .dixy-preview-card-popup,
357
+ .dixy-tooltip-popup,
358
+ .dixy-select-popup,
359
+ .dixy-combobox-popup,
360
+ .dixy-autocomplete-popup,
361
+ .dixy-menu-popup,
362
+ .dixy-context-menu-popup,
363
+ .dixy-navigation-menu-popup,
364
+ .dixy-toast-root,
365
+ .dixy-alert,
366
+ .dixy-list-box,
367
+ .dixy-calendar,
368
+ .dixy-range-calendar,
369
+ .dixy-input,
370
+ .dixy-textarea,
371
+ .dixy-native-select,
372
+ .dixy-select-trigger,
373
+ .dixy-input-group,
374
+ .dixy-combobox-input-group,
375
+ .dixy-autocomplete-input-group,
376
+ .dixy-number-field-group,
377
+ .dixy-otp-field-input
378
+ )[data-dixy-skin="dixy/sumi-ink"]:not([data-dixy-material-override]):not(
379
+ :where([data-dixy-material-override]) *
380
+ )[data-dixy-visual][data-material]:not([data-disabled]) {
381
+ background-image: var(--dixy-skin-paint);
382
+ }
321
383
  :is(.dixy-button)[data-dixy-skin="dixy/sumi-ink"]:not(
322
384
  [data-dixy-material-override]
323
385
  ):not(:where([data-dixy-material-override]) *):is(
@@ -348,14 +410,19 @@
348
410
  border: 1px solid var(--dixy-skin-edge);
349
411
  box-shadow: var(--dixy-skin-inset);
350
412
  }
413
+ /* 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). */
351
414
  :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/sumi-ink"]:not(
352
415
  [data-dixy-material-override]
353
416
  ):not(:where([data-dixy-material-override]) *) {
354
- background-image: var(--dixy-skin-finish);
355
417
  box-shadow: var(--dixy-skin-control-relief);
356
418
  border: 1px solid var(--dixy-skin-edge);
357
419
  }
358
- /* 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). */
420
+ :is(.dixy-tabs-indicator)[data-dixy-skin="dixy/sumi-ink"]:not(
421
+ [data-dixy-material-override]
422
+ ):not(:where([data-dixy-material-override]) *):not([data-variant="line"]) {
423
+ background-image: none;
424
+ }
425
+ /* Toggle groups read like tabs: a sunken track, the selected toggle a raised, flat thumb. */
359
426
  .dixy-theme[data-dixy-skin="dixy/sumi-ink"]
360
427
  .dixy-toggle-group:is([data-attached], [data-segmented]):not(
361
428
  [data-dixy-material-override]
@@ -370,7 +437,7 @@
370
437
  [data-variant="solid"]
371
438
  )[data-pressed]:not([data-disabled]) {
372
439
  background-color: var(--dixy-color-background-surface-raised);
373
- background-image: var(--dixy-skin-selected, var(--dixy-skin-thumb));
440
+ background-image: none;
374
441
  box-shadow: var(--dixy-skin-control-relief);
375
442
  border-color: var(--dixy-skin-edge);
376
443
  color: var(--dixy-color-text-primary);
@@ -0,0 +1,3 @@
1
+ import type { OrnamentProps } from "../ornament-parts.js";
2
+ export declare function SunsetOrnament(props: OrnamentProps): import("react").JSX.Element;
3
+ export default SunsetOrnament;
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { paintSunset } from "../organic-paint-launch.js";
4
+ import { OrganicOrnament } from "../organic-ornament.js";
5
+ export function SunsetOrnament(props) {
6
+ return (_jsx(OrganicOrnament, { ...props, kind: "sunset", skin: "sunset", painter: paintSunset }));
7
+ }
8
+ export default SunsetOrnament;