@dixy-ui/themes 0.1.0-beta.4 → 0.1.0-beta.6

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 (43) hide show
  1. package/README.md +4 -4
  2. package/dist/ansi-panes.css +1 -3
  3. package/dist/arcade-cabinet.css +1 -3
  4. package/dist/art-deco.css +1 -3
  5. package/dist/atomic-lounge.css +1 -3
  6. package/dist/azulejo-tile.css +1 -3
  7. package/dist/blueprint.css +1 -3
  8. package/dist/brutalist-concrete.css +2 -4
  9. package/dist/bytes.json +74 -74
  10. package/dist/candy-clay.css +8 -3
  11. package/dist/compile-css.js +5 -2
  12. package/dist/dispatch.css +8 -3
  13. package/dist/diwali-lights.css +1 -3
  14. package/dist/frame-styles.js +7 -1
  15. package/dist/freighter.css +1 -3
  16. package/dist/glass-ui.css +1 -3
  17. package/dist/holi-colours.css +1 -3
  18. package/dist/ledger.css +8 -3
  19. package/dist/living-forest.css +1 -3
  20. package/dist/mainframe.css +8 -3
  21. package/dist/material-light.css +1 -3
  22. package/dist/neon-night-market.css +1 -3
  23. package/dist/ocean-depths.css +8 -3
  24. package/dist/orbital-hud.css +1 -3
  25. package/dist/papel-picado.css +1 -3
  26. package/dist/phosphor-terminal.css +1 -3
  27. package/dist/prism-glass.css +1 -3
  28. package/dist/retro-os.css +1 -3
  29. package/dist/riso-zine.css +1 -3
  30. package/dist/save-point.css +1 -3
  31. package/dist/scrapbook.css +8 -3
  32. package/dist/signal.css +8 -3
  33. package/dist/solar-sail.css +1 -3
  34. package/dist/studio-hardware.css +1 -3
  35. package/dist/sumi-ink.css +1 -3
  36. package/dist/sunset-drive.css +1 -3
  37. package/dist/swiss-poster.css +1 -3
  38. package/dist/tactile-atelier.css +1 -3
  39. package/dist/tokyo-transit.css +1 -3
  40. package/dist/winamp-signal.css +1 -3
  41. package/dist/y2k-titanium.css +1 -3
  42. package/dist/yule-knit.css +1 -3
  43. package/package.json +2 -2
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # @dixy-ui/themes
2
2
 
3
- 32 starter themes for [Dixy UI](https://github.com/akssmax/DixyUI), from paper and glass to terminals and festivals, plus an authoring API for your own. Each theme is a material, a frame, a character and a chrome over the same accessible components.
3
+ 38 starter themes for [Dixy UI](https://github.com/akssmax/DixyUI), from paper and glass to terminals and festivals, plus an authoring API for your own. Each theme is a material, a frame, a character and a chrome over the same accessible components.
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/%40dixy-ui%2Fthemes/beta?label=npm&color=7c3aed)](https://www.npmjs.com/package/@dixy-ui/themes) [![MIT](https://img.shields.io/badge/license-MIT-7c3aed)](https://github.com/akssmax/DixyUI/blob/main/LICENSE)
6
6
 
7
7
  > **Public beta.** APIs may change between `0.x` releases. See the [changelog](./CHANGELOG.md) and the [known issues](https://github.com/akssmax/DixyUI#known-issues).
8
8
 
9
- [Documentation](https://dixy-ui-docs.akshaysaini-design.workers.dev) · [Components](https://dixy-ui-docs.akshaysaini-design.workers.dev/docs/components/button) · [Themes](https://dixy-ui-docs.akshaysaini-design.workers.dev/#themes) · [GitHub](https://github.com/akssmax/DixyUI)
9
+ [Documentation](https://dixyui.com) · [Components](https://dixyui.com/docs/components/button) · [Themes](https://dixyui.com/#themes) · [GitHub](https://github.com/akssmax/DixyUI)
10
10
 
11
11
  ## Install
12
12
 
@@ -31,7 +31,7 @@ import { retroOSTheme } from "@dixy-ui/themes/retro-os";
31
31
  </Theme>;
32
32
  ```
33
33
 
34
- Browse all 32 starters on the [landing page](https://dixy-ui-docs.akshaysaini-design.workers.dev/#themes) or build your own in the [playground](https://dixy-ui-docs.akshaysaini-design.workers.dev/playground).
34
+ Browse all 38 starters on the [landing page](https://dixyui.com/#themes) or build your own in the [playground](https://dixyui.com/playground).
35
35
 
36
36
  ## Skins and ornament renderers
37
37
 
@@ -125,7 +125,7 @@ Omit animateOrnaments for still geometry. The playground's Animate details butto
125
125
  | Y2K Titanium | `TitaniumOrnament` | Chamfers, screws, perforations and light pipes |
126
126
  | Material Light | `LightOrnament` | Porcelain halo and fine rim highlights |
127
127
 
128
- Each export comes from `@dixy-ui/themes/<slug>/react`. CSS/definition-only consumption remains supported without the React artwork. See `docs/PROCEDURAL_SKINS.md` in the repository for architecture and verification scope.
128
+ Each export comes from `@dixy-ui/themes/<slug>/react`. Ocean Depths and Candy Clay now ship plain cards (No frame), so their stylesheets keep `OceanOrnament` and `ClayOrnament` hidden and out of layout; the renderers draw on themes whose frame recipe is `coral` or `cushion`. CSS/definition-only consumption remains supported without the React artwork. See `docs/PROCEDURAL_SKINS.md` in the repository for architecture and verification scope.
129
129
 
130
130
  Themes style component surfaces and edges. Button labels and icons belong to the consumer; no renderer is mounted inside a Button. A loading spinner remains a functional Button feature. Retro frames do not simulate window title bars, window actions or resize handles. Compose working controls explicitly when an application needs them.
131
131
 
@@ -156,11 +156,9 @@
156
156
  }
157
157
  }
158
158
  @layer dixy.components {
159
- .dixy-theme[data-dixy-skin="dixy/ansi-panes"] {
159
+ .dixy-theme[data-dixy-skin="dixy/ansi-panes"]:not(.dixy-portal-scope) {
160
160
  position: relative;
161
161
  isolation: isolate;
162
- }
163
- .dixy-theme[data-dixy-skin="dixy/ansi-panes"]:not(.dixy-portal-scope) {
164
162
  background-color: var(--dixy-skin-ground);
165
163
  background-image: var(--dixy-skin-canvas);
166
164
  }
@@ -160,11 +160,9 @@
160
160
  }
161
161
  }
162
162
  @layer dixy.components {
163
- .dixy-theme[data-dixy-skin="dixy/arcade-cabinet"] {
163
+ .dixy-theme[data-dixy-skin="dixy/arcade-cabinet"]:not(.dixy-portal-scope) {
164
164
  position: relative;
165
165
  isolation: isolate;
166
- }
167
- .dixy-theme[data-dixy-skin="dixy/arcade-cabinet"]:not(.dixy-portal-scope) {
168
166
  background-color: var(--dixy-skin-ground);
169
167
  background-image: var(--dixy-skin-canvas);
170
168
  }
package/dist/art-deco.css CHANGED
@@ -172,11 +172,9 @@
172
172
  }
173
173
  }
174
174
  @layer dixy.components {
175
- .dixy-theme[data-dixy-skin="dixy/art-deco"] {
175
+ .dixy-theme[data-dixy-skin="dixy/art-deco"]:not(.dixy-portal-scope) {
176
176
  position: relative;
177
177
  isolation: isolate;
178
- }
179
- .dixy-theme[data-dixy-skin="dixy/art-deco"]:not(.dixy-portal-scope) {
180
178
  background-color: var(--dixy-skin-ground);
181
179
  background-image: var(--dixy-skin-canvas);
182
180
  }
@@ -165,11 +165,9 @@
165
165
  }
166
166
  }
167
167
  @layer dixy.components {
168
- .dixy-theme[data-dixy-skin="dixy/atomic-lounge"] {
168
+ .dixy-theme[data-dixy-skin="dixy/atomic-lounge"]:not(.dixy-portal-scope) {
169
169
  position: relative;
170
170
  isolation: isolate;
171
- }
172
- .dixy-theme[data-dixy-skin="dixy/atomic-lounge"]:not(.dixy-portal-scope) {
173
171
  background-color: var(--dixy-skin-ground);
174
172
  background-image: var(--dixy-skin-canvas);
175
173
  }
@@ -185,11 +185,9 @@
185
185
  }
186
186
  }
187
187
  @layer dixy.components {
188
- .dixy-theme[data-dixy-skin="dixy/azulejo-tile"] {
188
+ .dixy-theme[data-dixy-skin="dixy/azulejo-tile"]:not(.dixy-portal-scope) {
189
189
  position: relative;
190
190
  isolation: isolate;
191
- }
192
- .dixy-theme[data-dixy-skin="dixy/azulejo-tile"]:not(.dixy-portal-scope) {
193
191
  background-color: var(--dixy-skin-ground);
194
192
  background-image: var(--dixy-skin-canvas);
195
193
  }
@@ -159,11 +159,9 @@
159
159
  }
160
160
  }
161
161
  @layer dixy.components {
162
- .dixy-theme[data-dixy-skin="dixy/blueprint"] {
162
+ .dixy-theme[data-dixy-skin="dixy/blueprint"]:not(.dixy-portal-scope) {
163
163
  position: relative;
164
164
  isolation: isolate;
165
- }
166
- .dixy-theme[data-dixy-skin="dixy/blueprint"]:not(.dixy-portal-scope) {
167
165
  background-color: var(--dixy-skin-ground);
168
166
  background-image: var(--dixy-skin-canvas);
169
167
  }
@@ -167,13 +167,11 @@
167
167
  }
168
168
  }
169
169
  @layer dixy.components {
170
- .dixy-theme[data-dixy-skin="dixy/brutalist-concrete"] {
171
- position: relative;
172
- isolation: isolate;
173
- }
174
170
  .dixy-theme[data-dixy-skin="dixy/brutalist-concrete"]:not(
175
171
  .dixy-portal-scope
176
172
  ) {
173
+ position: relative;
174
+ isolation: isolate;
177
175
  background-color: var(--dixy-skin-ground);
178
176
  background-image: var(--dixy-skin-canvas);
179
177
  }
package/dist/bytes.json CHANGED
@@ -1,192 +1,192 @@
1
1
  [
2
2
  {
3
3
  "id": "dixy/living-forest",
4
- "cssBytes": 32270,
5
- "gzipBytes": 4717
4
+ "cssBytes": 32213,
5
+ "gzipBytes": 4721
6
6
  },
7
7
  {
8
8
  "id": "dixy/retro-os",
9
- "cssBytes": 29780,
10
- "gzipBytes": 4333
9
+ "cssBytes": 29728,
10
+ "gzipBytes": 4335
11
11
  },
12
12
  {
13
13
  "id": "dixy/winamp-signal",
14
- "cssBytes": 35266,
15
- "gzipBytes": 4926
14
+ "cssBytes": 35209,
15
+ "gzipBytes": 4929
16
16
  },
17
17
  {
18
18
  "id": "dixy/studio-hardware",
19
- "cssBytes": 30392,
20
- "gzipBytes": 4372
19
+ "cssBytes": 30333,
20
+ "gzipBytes": 4374
21
21
  },
22
22
  {
23
23
  "id": "dixy/prism-glass",
24
- "cssBytes": 32487,
25
- "gzipBytes": 4640
24
+ "cssBytes": 32432,
25
+ "gzipBytes": 4642
26
26
  },
27
27
  {
28
28
  "id": "dixy/tactile-atelier",
29
- "cssBytes": 32810,
30
- "gzipBytes": 4711
29
+ "cssBytes": 32751,
30
+ "gzipBytes": 4714
31
31
  },
32
32
  {
33
33
  "id": "dixy/ocean-depths",
34
- "cssBytes": 29613,
35
- "gzipBytes": 4308
34
+ "cssBytes": 29717,
35
+ "gzipBytes": 4327
36
36
  },
37
37
  {
38
38
  "id": "dixy/candy-clay",
39
- "cssBytes": 27849,
40
- "gzipBytes": 3996
39
+ "cssBytes": 27953,
40
+ "gzipBytes": 4012
41
41
  },
42
42
  {
43
43
  "id": "dixy/art-deco",
44
- "cssBytes": 29540,
45
- "gzipBytes": 4420
44
+ "cssBytes": 29488,
45
+ "gzipBytes": 4421
46
46
  },
47
47
  {
48
48
  "id": "dixy/y2k-titanium",
49
- "cssBytes": 35533,
50
- "gzipBytes": 4971
49
+ "cssBytes": 35477,
50
+ "gzipBytes": 4974
51
51
  },
52
52
  {
53
53
  "id": "dixy/material-light",
54
- "cssBytes": 29603,
55
- "gzipBytes": 4155
54
+ "cssBytes": 29545,
55
+ "gzipBytes": 4156
56
56
  },
57
57
  {
58
58
  "id": "dixy/scrapbook",
59
- "cssBytes": 23826,
60
- "gzipBytes": 3530
59
+ "cssBytes": 23930,
60
+ "gzipBytes": 3550
61
61
  },
62
62
  {
63
63
  "id": "dixy/blueprint",
64
- "cssBytes": 31015,
65
- "gzipBytes": 4595
64
+ "cssBytes": 30962,
65
+ "gzipBytes": 4597
66
66
  },
67
67
  {
68
68
  "id": "dixy/riso-zine",
69
- "cssBytes": 27390,
70
- "gzipBytes": 4144
69
+ "cssBytes": 27337,
70
+ "gzipBytes": 4145
71
71
  },
72
72
  {
73
73
  "id": "dixy/neon-night-market",
74
- "cssBytes": 31455,
75
- "gzipBytes": 4459
74
+ "cssBytes": 31394,
75
+ "gzipBytes": 4460
76
76
  },
77
77
  {
78
78
  "id": "dixy/sumi-ink",
79
- "cssBytes": 25964,
80
- "gzipBytes": 4030
79
+ "cssBytes": 25912,
80
+ "gzipBytes": 4029
81
81
  },
82
82
  {
83
83
  "id": "dixy/tokyo-transit",
84
- "cssBytes": 26531,
85
- "gzipBytes": 3901
84
+ "cssBytes": 26474,
85
+ "gzipBytes": 3904
86
86
  },
87
87
  {
88
88
  "id": "dixy/phosphor-terminal",
89
- "cssBytes": 34242,
90
- "gzipBytes": 4675
89
+ "cssBytes": 34181,
90
+ "gzipBytes": 4677
91
91
  },
92
92
  {
93
93
  "id": "dixy/ansi-panes",
94
- "cssBytes": 31535,
95
- "gzipBytes": 4569
94
+ "cssBytes": 31481,
95
+ "gzipBytes": 4572
96
96
  },
97
97
  {
98
98
  "id": "dixy/swiss-poster",
99
- "cssBytes": 27506,
99
+ "cssBytes": 27450,
100
100
  "gzipBytes": 4039
101
101
  },
102
102
  {
103
103
  "id": "dixy/azulejo-tile",
104
- "cssBytes": 32602,
105
- "gzipBytes": 4655
104
+ "cssBytes": 32546,
105
+ "gzipBytes": 4656
106
106
  },
107
107
  {
108
108
  "id": "dixy/brutalist-concrete",
109
- "cssBytes": 32809,
110
- "gzipBytes": 4721
109
+ "cssBytes": 32747,
110
+ "gzipBytes": 4723
111
111
  },
112
112
  {
113
113
  "id": "dixy/atomic-lounge",
114
- "cssBytes": 31938,
115
- "gzipBytes": 4502
114
+ "cssBytes": 31881,
115
+ "gzipBytes": 4504
116
116
  },
117
117
  {
118
118
  "id": "dixy/orbital-hud",
119
- "cssBytes": 34688,
120
- "gzipBytes": 4853
119
+ "cssBytes": 34633,
120
+ "gzipBytes": 4856
121
121
  },
122
122
  {
123
123
  "id": "dixy/freighter",
124
- "cssBytes": 34353,
125
- "gzipBytes": 5033
124
+ "cssBytes": 34300,
125
+ "gzipBytes": 5035
126
126
  },
127
127
  {
128
128
  "id": "dixy/solar-sail",
129
- "cssBytes": 30916,
130
- "gzipBytes": 4478
129
+ "cssBytes": 30862,
130
+ "gzipBytes": 4480
131
131
  },
132
132
  {
133
133
  "id": "dixy/diwali-lights",
134
- "cssBytes": 30995,
135
- "gzipBytes": 4521
134
+ "cssBytes": 30938,
135
+ "gzipBytes": 4520
136
136
  },
137
137
  {
138
138
  "id": "dixy/papel-picado",
139
- "cssBytes": 30178,
139
+ "cssBytes": 30122,
140
140
  "gzipBytes": 4395
141
141
  },
142
142
  {
143
143
  "id": "dixy/holi-colours",
144
- "cssBytes": 30688,
145
- "gzipBytes": 4433
144
+ "cssBytes": 30632,
145
+ "gzipBytes": 4434
146
146
  },
147
147
  {
148
148
  "id": "dixy/yule-knit",
149
- "cssBytes": 29152,
150
- "gzipBytes": 4293
149
+ "cssBytes": 29099,
150
+ "gzipBytes": 4296
151
151
  },
152
152
  {
153
153
  "id": "dixy/glass-ui",
154
- "cssBytes": 30834,
155
- "gzipBytes": 4457
154
+ "cssBytes": 30782,
155
+ "gzipBytes": 4458
156
156
  },
157
157
  {
158
158
  "id": "dixy/sunset-drive",
159
- "cssBytes": 31436,
160
- "gzipBytes": 4559
159
+ "cssBytes": 31380,
160
+ "gzipBytes": 4561
161
161
  },
162
162
  {
163
163
  "id": "dixy/save-point",
164
- "cssBytes": 30491,
165
- "gzipBytes": 4436
164
+ "cssBytes": 30437,
165
+ "gzipBytes": 4438
166
166
  },
167
167
  {
168
168
  "id": "dixy/arcade-cabinet",
169
- "cssBytes": 33882,
170
- "gzipBytes": 4697
169
+ "cssBytes": 33824,
170
+ "gzipBytes": 4699
171
171
  },
172
172
  {
173
173
  "id": "dixy/ledger",
174
- "cssBytes": 19148,
175
- "gzipBytes": 2959
174
+ "cssBytes": 19252,
175
+ "gzipBytes": 3001
176
176
  },
177
177
  {
178
178
  "id": "dixy/mainframe",
179
- "cssBytes": 24511,
180
- "gzipBytes": 3438
179
+ "cssBytes": 24615,
180
+ "gzipBytes": 3468
181
181
  },
182
182
  {
183
183
  "id": "dixy/dispatch",
184
- "cssBytes": 23183,
185
- "gzipBytes": 3270
184
+ "cssBytes": 23287,
185
+ "gzipBytes": 3316
186
186
  },
187
187
  {
188
188
  "id": "dixy/signal",
189
- "cssBytes": 19272,
190
- "gzipBytes": 2875
189
+ "cssBytes": 19376,
190
+ "gzipBytes": 2917
191
191
  }
192
192
  ]
@@ -186,11 +186,9 @@
186
186
  }
187
187
  }
188
188
  @layer dixy.components {
189
- .dixy-theme[data-dixy-skin="dixy/candy-clay"] {
189
+ .dixy-theme[data-dixy-skin="dixy/candy-clay"]:not(.dixy-portal-scope) {
190
190
  position: relative;
191
191
  isolation: isolate;
192
- }
193
- .dixy-theme[data-dixy-skin="dixy/candy-clay"]:not(.dixy-portal-scope) {
194
192
  background-color: var(--dixy-skin-ground);
195
193
  background-image: var(--dixy-skin-canvas);
196
194
  }
@@ -515,6 +513,13 @@
515
513
  border: 1px solid var(--dixy-skin-edge);
516
514
  }
517
515
 
516
+ .dixy-theme[data-dixy-skin="dixy/candy-clay"] .dixy-skin-ornament {
517
+ position: absolute;
518
+ inset: 0;
519
+ display: none;
520
+ pointer-events: none;
521
+ }
522
+
518
523
  .dixy-theme[data-dixy-skin="dixy/candy-clay"]
519
524
  :is(.dixy-switch-thumb)[data-dixy-skin="dixy/candy-clay"] {
520
525
  border-radius: 999px;
@@ -62,6 +62,10 @@ export function compileThemeCSS(m) {
62
62
  // Base 8/9 at 50% measured >= 3.35:1 on every built-in theme.
63
63
  // Character rules sit after material rules and carry the theme ancestor, so they win over paint defaults.
64
64
  const C = (parts, state = "") => `${theme} :is(${parts})[data-dixy-skin="${m.id}"]${state}`;
65
+ // The theme root is positioned and isolated, but never the portal scope: a
66
+ // zero-height wrapper at the end of <body>. Positioned, it becomes the popups'
67
+ // containing block while Floating UI measures from the document, so popups
68
+ // land a whole page height away.
65
69
  return `
66
70
  @layer dixy.tokens, dixy.components;
67
71
  @layer dixy.tokens {
@@ -107,8 +111,7 @@ export function compileThemeCSS(m) {
107
111
  ${paletteCSS}
108
112
  }
109
113
  @layer dixy.components {
110
- ${theme} { position:relative; isolation:isolate; }
111
- ${theme}:not(.dixy-portal-scope) { background-color:var(--dixy-skin-ground); background-image:var(--dixy-skin-canvas); }
114
+ ${theme}:not(.dixy-portal-scope) { position:relative; isolation:isolate; background-color:var(--dixy-skin-ground); background-image:var(--dixy-skin-canvas); }
112
115
  ${S(surfaces)} { position:relative; border-radius:${radius("card")}; }
113
116
  ${S(overlays)} { border-radius:${radius("overlay")}; }
114
117
  ${S(".dixy-card,.dixy-dialog-popup")} { padding:var(--dixy-skin-card-inset); border:${frameWidth}px ${borderStyle} var(--dixy-skin-edge); }
package/dist/dispatch.css CHANGED
@@ -148,11 +148,9 @@
148
148
  }
149
149
  }
150
150
  @layer dixy.components {
151
- .dixy-theme[data-dixy-skin="dixy/dispatch"] {
151
+ .dixy-theme[data-dixy-skin="dixy/dispatch"]:not(.dixy-portal-scope) {
152
152
  position: relative;
153
153
  isolation: isolate;
154
- }
155
- .dixy-theme[data-dixy-skin="dixy/dispatch"]:not(.dixy-portal-scope) {
156
154
  background-color: var(--dixy-skin-ground);
157
155
  background-image: var(--dixy-skin-canvas);
158
156
  }
@@ -471,6 +469,13 @@
471
469
  border: 1px solid var(--dixy-skin-edge);
472
470
  }
473
471
 
472
+ .dixy-theme[data-dixy-skin="dixy/dispatch"] .dixy-skin-ornament {
473
+ position: absolute;
474
+ inset: 0;
475
+ display: none;
476
+ pointer-events: none;
477
+ }
478
+
474
479
  .dixy-theme[data-dixy-skin="dixy/dispatch"] {
475
480
  --dixy-motion-easing-standard: cubic-bezier(0.22, 1, 0.36, 1);
476
481
  --dixy-motion-easing-enter: linear(
@@ -156,11 +156,9 @@
156
156
  }
157
157
  }
158
158
  @layer dixy.components {
159
- .dixy-theme[data-dixy-skin="dixy/diwali-lights"] {
159
+ .dixy-theme[data-dixy-skin="dixy/diwali-lights"]:not(.dixy-portal-scope) {
160
160
  position: relative;
161
161
  isolation: isolate;
162
- }
163
- .dixy-theme[data-dixy-skin="dixy/diwali-lights"]:not(.dixy-portal-scope) {
164
162
  background-color: var(--dixy-skin-ground);
165
163
  background-image: var(--dixy-skin-canvas);
166
164
  }
@@ -37,8 +37,14 @@ export const framePrefixes = {
37
37
  };
38
38
  /** Frame code owns trim/geometry only. It never paints an input or action surface. */
39
39
  export function frameStyles(m, theme) {
40
+ // No frame: the material carries the look, so an ornament renderer passed
41
+ // anyway (e.g. ClayOrnament on Candy Clay) must stay inert. Take it out of
42
+ // flow and hide it; without this its wrapper and canvas sat in normal flow
43
+ // and grew the card or dialog (issue #24).
40
44
  if (m.frame === "none")
41
- return "";
45
+ return `
46
+ ${theme} .dixy-skin-ornament { position:absolute; inset:0; display:none; pointer-events:none; }
47
+ `;
42
48
  const prefix = framePrefixes[m.frame];
43
49
  const art = `${theme} .dixy-${prefix}-ornament`;
44
50
  const safe = {
@@ -176,11 +176,9 @@
176
176
  }
177
177
  }
178
178
  @layer dixy.components {
179
- .dixy-theme[data-dixy-skin="dixy/freighter"] {
179
+ .dixy-theme[data-dixy-skin="dixy/freighter"]:not(.dixy-portal-scope) {
180
180
  position: relative;
181
181
  isolation: isolate;
182
- }
183
- .dixy-theme[data-dixy-skin="dixy/freighter"]:not(.dixy-portal-scope) {
184
182
  background-color: var(--dixy-skin-ground);
185
183
  background-image: var(--dixy-skin-canvas);
186
184
  }
package/dist/glass-ui.css CHANGED
@@ -169,11 +169,9 @@
169
169
  }
170
170
  }
171
171
  @layer dixy.components {
172
- .dixy-theme[data-dixy-skin="dixy/glass-ui"] {
172
+ .dixy-theme[data-dixy-skin="dixy/glass-ui"]:not(.dixy-portal-scope) {
173
173
  position: relative;
174
174
  isolation: isolate;
175
- }
176
- .dixy-theme[data-dixy-skin="dixy/glass-ui"]:not(.dixy-portal-scope) {
177
175
  background-color: var(--dixy-skin-ground);
178
176
  background-image: var(--dixy-skin-canvas);
179
177
  }
@@ -170,11 +170,9 @@
170
170
  }
171
171
  }
172
172
  @layer dixy.components {
173
- .dixy-theme[data-dixy-skin="dixy/holi-colours"] {
173
+ .dixy-theme[data-dixy-skin="dixy/holi-colours"]:not(.dixy-portal-scope) {
174
174
  position: relative;
175
175
  isolation: isolate;
176
- }
177
- .dixy-theme[data-dixy-skin="dixy/holi-colours"]:not(.dixy-portal-scope) {
178
176
  background-color: var(--dixy-skin-ground);
179
177
  background-image: var(--dixy-skin-canvas);
180
178
  }
package/dist/ledger.css CHANGED
@@ -139,11 +139,9 @@
139
139
  }
140
140
  }
141
141
  @layer dixy.components {
142
- .dixy-theme[data-dixy-skin="dixy/ledger"] {
142
+ .dixy-theme[data-dixy-skin="dixy/ledger"]:not(.dixy-portal-scope) {
143
143
  position: relative;
144
144
  isolation: isolate;
145
- }
146
- .dixy-theme[data-dixy-skin="dixy/ledger"]:not(.dixy-portal-scope) {
147
145
  background-color: var(--dixy-skin-ground);
148
146
  background-image: var(--dixy-skin-canvas);
149
147
  }
@@ -459,6 +457,13 @@
459
457
  border: 1px solid var(--dixy-skin-edge);
460
458
  }
461
459
 
460
+ .dixy-theme[data-dixy-skin="dixy/ledger"] .dixy-skin-ornament {
461
+ position: absolute;
462
+ inset: 0;
463
+ display: none;
464
+ pointer-events: none;
465
+ }
466
+
462
467
  .dixy-theme[data-dixy-skin="dixy/ledger"] {
463
468
  --dixy-motion-easing-standard: cubic-bezier(0.5, 0, 0.1, 1);
464
469
  --dixy-motion-easing-enter: cubic-bezier(0.5, 0, 0.1, 1);
@@ -216,11 +216,9 @@
216
216
  }
217
217
  }
218
218
  @layer dixy.components {
219
- .dixy-theme[data-dixy-skin="dixy/living-forest"] {
219
+ .dixy-theme[data-dixy-skin="dixy/living-forest"]:not(.dixy-portal-scope) {
220
220
  position: relative;
221
221
  isolation: isolate;
222
- }
223
- .dixy-theme[data-dixy-skin="dixy/living-forest"]:not(.dixy-portal-scope) {
224
222
  background-color: var(--dixy-skin-ground);
225
223
  background-image: var(--dixy-skin-canvas);
226
224
  }
@@ -136,11 +136,9 @@
136
136
  }
137
137
  }
138
138
  @layer dixy.components {
139
- .dixy-theme[data-dixy-skin="dixy/mainframe"] {
139
+ .dixy-theme[data-dixy-skin="dixy/mainframe"]:not(.dixy-portal-scope) {
140
140
  position: relative;
141
141
  isolation: isolate;
142
- }
143
- .dixy-theme[data-dixy-skin="dixy/mainframe"]:not(.dixy-portal-scope) {
144
142
  background-color: var(--dixy-skin-ground);
145
143
  background-image: var(--dixy-skin-canvas);
146
144
  }
@@ -459,6 +457,13 @@
459
457
  border: 1px solid var(--dixy-skin-edge);
460
458
  }
461
459
 
460
+ .dixy-theme[data-dixy-skin="dixy/mainframe"] .dixy-skin-ornament {
461
+ position: absolute;
462
+ inset: 0;
463
+ display: none;
464
+ pointer-events: none;
465
+ }
466
+
462
467
  .dixy-theme[data-dixy-skin="dixy/mainframe"]
463
468
  :is(.dixy-switch-root)[data-dixy-skin="dixy/mainframe"]::before {
464
469
  border-radius: 3px;
@@ -147,11 +147,9 @@
147
147
  }
148
148
  }
149
149
  @layer dixy.components {
150
- .dixy-theme[data-dixy-skin="dixy/material-light"] {
150
+ .dixy-theme[data-dixy-skin="dixy/material-light"]:not(.dixy-portal-scope) {
151
151
  position: relative;
152
152
  isolation: isolate;
153
- }
154
- .dixy-theme[data-dixy-skin="dixy/material-light"]:not(.dixy-portal-scope) {
155
153
  background-color: var(--dixy-skin-ground);
156
154
  background-image: var(--dixy-skin-canvas);
157
155
  }
@@ -166,11 +166,9 @@
166
166
  }
167
167
  }
168
168
  @layer dixy.components {
169
- .dixy-theme[data-dixy-skin="dixy/neon-night-market"] {
169
+ .dixy-theme[data-dixy-skin="dixy/neon-night-market"]:not(.dixy-portal-scope) {
170
170
  position: relative;
171
171
  isolation: isolate;
172
- }
173
- .dixy-theme[data-dixy-skin="dixy/neon-night-market"]:not(.dixy-portal-scope) {
174
172
  background-color: var(--dixy-skin-ground);
175
173
  background-image: var(--dixy-skin-canvas);
176
174
  }
@@ -196,11 +196,9 @@
196
196
  }
197
197
  }
198
198
  @layer dixy.components {
199
- .dixy-theme[data-dixy-skin="dixy/ocean-depths"] {
199
+ .dixy-theme[data-dixy-skin="dixy/ocean-depths"]:not(.dixy-portal-scope) {
200
200
  position: relative;
201
201
  isolation: isolate;
202
- }
203
- .dixy-theme[data-dixy-skin="dixy/ocean-depths"]:not(.dixy-portal-scope) {
204
202
  background-color: var(--dixy-skin-ground);
205
203
  background-image: var(--dixy-skin-canvas);
206
204
  }
@@ -525,6 +523,13 @@
525
523
  border: 1px solid var(--dixy-skin-edge);
526
524
  }
527
525
 
526
+ .dixy-theme[data-dixy-skin="dixy/ocean-depths"] .dixy-skin-ornament {
527
+ position: absolute;
528
+ inset: 0;
529
+ display: none;
530
+ pointer-events: none;
531
+ }
532
+
528
533
  .dixy-theme[data-dixy-skin="dixy/ocean-depths"]
529
534
  :is(.dixy-switch-thumb)[data-dixy-skin="dixy/ocean-depths"] {
530
535
  border-radius: 999px;
@@ -175,11 +175,9 @@
175
175
  }
176
176
  }
177
177
  @layer dixy.components {
178
- .dixy-theme[data-dixy-skin="dixy/orbital-hud"] {
178
+ .dixy-theme[data-dixy-skin="dixy/orbital-hud"]:not(.dixy-portal-scope) {
179
179
  position: relative;
180
180
  isolation: isolate;
181
- }
182
- .dixy-theme[data-dixy-skin="dixy/orbital-hud"]:not(.dixy-portal-scope) {
183
181
  background-color: var(--dixy-skin-ground);
184
182
  background-image: var(--dixy-skin-canvas);
185
183
  }
@@ -187,11 +187,9 @@
187
187
  }
188
188
  }
189
189
  @layer dixy.components {
190
- .dixy-theme[data-dixy-skin="dixy/papel-picado"] {
190
+ .dixy-theme[data-dixy-skin="dixy/papel-picado"]:not(.dixy-portal-scope) {
191
191
  position: relative;
192
192
  isolation: isolate;
193
- }
194
- .dixy-theme[data-dixy-skin="dixy/papel-picado"]:not(.dixy-portal-scope) {
195
193
  background-color: var(--dixy-skin-ground);
196
194
  background-image: var(--dixy-skin-canvas);
197
195
  }
@@ -168,11 +168,9 @@
168
168
  }
169
169
  }
170
170
  @layer dixy.components {
171
- .dixy-theme[data-dixy-skin="dixy/phosphor-terminal"] {
171
+ .dixy-theme[data-dixy-skin="dixy/phosphor-terminal"]:not(.dixy-portal-scope) {
172
172
  position: relative;
173
173
  isolation: isolate;
174
- }
175
- .dixy-theme[data-dixy-skin="dixy/phosphor-terminal"]:not(.dixy-portal-scope) {
176
174
  background-color: var(--dixy-skin-ground);
177
175
  background-image: var(--dixy-skin-canvas);
178
176
  }
@@ -186,11 +186,9 @@
186
186
  }
187
187
  }
188
188
  @layer dixy.components {
189
- .dixy-theme[data-dixy-skin="dixy/prism-glass"] {
189
+ .dixy-theme[data-dixy-skin="dixy/prism-glass"]:not(.dixy-portal-scope) {
190
190
  position: relative;
191
191
  isolation: isolate;
192
- }
193
- .dixy-theme[data-dixy-skin="dixy/prism-glass"]:not(.dixy-portal-scope) {
194
192
  background-color: var(--dixy-skin-ground);
195
193
  background-image: var(--dixy-skin-canvas);
196
194
  }
package/dist/retro-os.css CHANGED
@@ -152,11 +152,9 @@
152
152
  }
153
153
  }
154
154
  @layer dixy.components {
155
- .dixy-theme[data-dixy-skin="dixy/retro-os"] {
155
+ .dixy-theme[data-dixy-skin="dixy/retro-os"]:not(.dixy-portal-scope) {
156
156
  position: relative;
157
157
  isolation: isolate;
158
- }
159
- .dixy-theme[data-dixy-skin="dixy/retro-os"]:not(.dixy-portal-scope) {
160
158
  background-color: var(--dixy-skin-ground);
161
159
  background-image: var(--dixy-skin-canvas);
162
160
  }
@@ -165,11 +165,9 @@
165
165
  }
166
166
  }
167
167
  @layer dixy.components {
168
- .dixy-theme[data-dixy-skin="dixy/riso-zine"] {
168
+ .dixy-theme[data-dixy-skin="dixy/riso-zine"]:not(.dixy-portal-scope) {
169
169
  position: relative;
170
170
  isolation: isolate;
171
- }
172
- .dixy-theme[data-dixy-skin="dixy/riso-zine"]:not(.dixy-portal-scope) {
173
171
  background-color: var(--dixy-skin-ground);
174
172
  background-image: var(--dixy-skin-canvas);
175
173
  }
@@ -162,11 +162,9 @@
162
162
  }
163
163
  }
164
164
  @layer dixy.components {
165
- .dixy-theme[data-dixy-skin="dixy/save-point"] {
165
+ .dixy-theme[data-dixy-skin="dixy/save-point"]:not(.dixy-portal-scope) {
166
166
  position: relative;
167
167
  isolation: isolate;
168
- }
169
- .dixy-theme[data-dixy-skin="dixy/save-point"]:not(.dixy-portal-scope) {
170
168
  background-color: var(--dixy-skin-ground);
171
169
  background-image: var(--dixy-skin-canvas);
172
170
  }
@@ -141,11 +141,9 @@
141
141
  }
142
142
  }
143
143
  @layer dixy.components {
144
- .dixy-theme[data-dixy-skin="dixy/scrapbook"] {
144
+ .dixy-theme[data-dixy-skin="dixy/scrapbook"]:not(.dixy-portal-scope) {
145
145
  position: relative;
146
146
  isolation: isolate;
147
- }
148
- .dixy-theme[data-dixy-skin="dixy/scrapbook"]:not(.dixy-portal-scope) {
149
147
  background-color: var(--dixy-skin-ground);
150
148
  background-image: var(--dixy-skin-canvas);
151
149
  }
@@ -464,6 +462,13 @@
464
462
  border: 1px solid var(--dixy-skin-edge);
465
463
  }
466
464
 
465
+ .dixy-theme[data-dixy-skin="dixy/scrapbook"] .dixy-skin-ornament {
466
+ position: absolute;
467
+ inset: 0;
468
+ display: none;
469
+ pointer-events: none;
470
+ }
471
+
467
472
  .dixy-theme[data-dixy-skin="dixy/scrapbook"] {
468
473
  --dixy-motion-easing-standard: cubic-bezier(0.22, 1, 0.36, 1);
469
474
  --dixy-motion-easing-enter: linear(
package/dist/signal.css CHANGED
@@ -139,11 +139,9 @@
139
139
  }
140
140
  }
141
141
  @layer dixy.components {
142
- .dixy-theme[data-dixy-skin="dixy/signal"] {
142
+ .dixy-theme[data-dixy-skin="dixy/signal"]:not(.dixy-portal-scope) {
143
143
  position: relative;
144
144
  isolation: isolate;
145
- }
146
- .dixy-theme[data-dixy-skin="dixy/signal"]:not(.dixy-portal-scope) {
147
145
  background-color: var(--dixy-skin-ground);
148
146
  background-image: var(--dixy-skin-canvas);
149
147
  }
@@ -459,6 +457,13 @@
459
457
  border: 1px solid var(--dixy-skin-edge);
460
458
  }
461
459
 
460
+ .dixy-theme[data-dixy-skin="dixy/signal"] .dixy-skin-ornament {
461
+ position: absolute;
462
+ inset: 0;
463
+ display: none;
464
+ pointer-events: none;
465
+ }
466
+
462
467
  .dixy-theme[data-dixy-skin="dixy/signal"] {
463
468
  --dixy-personality-press-distance: 0px;
464
469
  }
@@ -185,11 +185,9 @@
185
185
  }
186
186
  }
187
187
  @layer dixy.components {
188
- .dixy-theme[data-dixy-skin="dixy/solar-sail"] {
188
+ .dixy-theme[data-dixy-skin="dixy/solar-sail"]:not(.dixy-portal-scope) {
189
189
  position: relative;
190
190
  isolation: isolate;
191
- }
192
- .dixy-theme[data-dixy-skin="dixy/solar-sail"]:not(.dixy-portal-scope) {
193
191
  background-color: var(--dixy-skin-ground);
194
192
  background-image: var(--dixy-skin-canvas);
195
193
  }
@@ -148,11 +148,9 @@
148
148
  }
149
149
  }
150
150
  @layer dixy.components {
151
- .dixy-theme[data-dixy-skin="dixy/studio-hardware"] {
151
+ .dixy-theme[data-dixy-skin="dixy/studio-hardware"]:not(.dixy-portal-scope) {
152
152
  position: relative;
153
153
  isolation: isolate;
154
- }
155
- .dixy-theme[data-dixy-skin="dixy/studio-hardware"]:not(.dixy-portal-scope) {
156
154
  background-color: var(--dixy-skin-ground);
157
155
  background-image: var(--dixy-skin-canvas);
158
156
  }
package/dist/sumi-ink.css CHANGED
@@ -168,11 +168,9 @@
168
168
  }
169
169
  }
170
170
  @layer dixy.components {
171
- .dixy-theme[data-dixy-skin="dixy/sumi-ink"] {
171
+ .dixy-theme[data-dixy-skin="dixy/sumi-ink"]:not(.dixy-portal-scope) {
172
172
  position: relative;
173
173
  isolation: isolate;
174
- }
175
- .dixy-theme[data-dixy-skin="dixy/sumi-ink"]:not(.dixy-portal-scope) {
176
174
  background-color: var(--dixy-skin-ground);
177
175
  background-image: var(--dixy-skin-canvas);
178
176
  }
@@ -172,11 +172,9 @@
172
172
  }
173
173
  }
174
174
  @layer dixy.components {
175
- .dixy-theme[data-dixy-skin="dixy/sunset-drive"] {
175
+ .dixy-theme[data-dixy-skin="dixy/sunset-drive"]:not(.dixy-portal-scope) {
176
176
  position: relative;
177
177
  isolation: isolate;
178
- }
179
- .dixy-theme[data-dixy-skin="dixy/sunset-drive"]:not(.dixy-portal-scope) {
180
178
  background-color: var(--dixy-skin-ground);
181
179
  background-image: var(--dixy-skin-canvas);
182
180
  }
@@ -164,11 +164,9 @@
164
164
  }
165
165
  }
166
166
  @layer dixy.components {
167
- .dixy-theme[data-dixy-skin="dixy/swiss-poster"] {
167
+ .dixy-theme[data-dixy-skin="dixy/swiss-poster"]:not(.dixy-portal-scope) {
168
168
  position: relative;
169
169
  isolation: isolate;
170
- }
171
- .dixy-theme[data-dixy-skin="dixy/swiss-poster"]:not(.dixy-portal-scope) {
172
170
  background-color: var(--dixy-skin-ground);
173
171
  background-image: var(--dixy-skin-canvas);
174
172
  }
@@ -186,11 +186,9 @@
186
186
  }
187
187
  }
188
188
  @layer dixy.components {
189
- .dixy-theme[data-dixy-skin="dixy/tactile-atelier"] {
189
+ .dixy-theme[data-dixy-skin="dixy/tactile-atelier"]:not(.dixy-portal-scope) {
190
190
  position: relative;
191
191
  isolation: isolate;
192
- }
193
- .dixy-theme[data-dixy-skin="dixy/tactile-atelier"]:not(.dixy-portal-scope) {
194
192
  background-color: var(--dixy-skin-ground);
195
193
  background-image: var(--dixy-skin-canvas);
196
194
  }
@@ -162,11 +162,9 @@
162
162
  }
163
163
  }
164
164
  @layer dixy.components {
165
- .dixy-theme[data-dixy-skin="dixy/tokyo-transit"] {
165
+ .dixy-theme[data-dixy-skin="dixy/tokyo-transit"]:not(.dixy-portal-scope) {
166
166
  position: relative;
167
167
  isolation: isolate;
168
- }
169
- .dixy-theme[data-dixy-skin="dixy/tokyo-transit"]:not(.dixy-portal-scope) {
170
168
  background-color: var(--dixy-skin-ground);
171
169
  background-image: var(--dixy-skin-canvas);
172
170
  }
@@ -152,11 +152,9 @@
152
152
  }
153
153
  }
154
154
  @layer dixy.components {
155
- .dixy-theme[data-dixy-skin="dixy/winamp-signal"] {
155
+ .dixy-theme[data-dixy-skin="dixy/winamp-signal"]:not(.dixy-portal-scope) {
156
156
  position: relative;
157
157
  isolation: isolate;
158
- }
159
- .dixy-theme[data-dixy-skin="dixy/winamp-signal"]:not(.dixy-portal-scope) {
160
158
  background-color: var(--dixy-skin-ground);
161
159
  background-image: var(--dixy-skin-canvas);
162
160
  }
@@ -199,11 +199,9 @@
199
199
  }
200
200
  }
201
201
  @layer dixy.components {
202
- .dixy-theme[data-dixy-skin="dixy/y2k-titanium"] {
202
+ .dixy-theme[data-dixy-skin="dixy/y2k-titanium"]:not(.dixy-portal-scope) {
203
203
  position: relative;
204
204
  isolation: isolate;
205
- }
206
- .dixy-theme[data-dixy-skin="dixy/y2k-titanium"]:not(.dixy-portal-scope) {
207
205
  background-color: var(--dixy-skin-ground);
208
206
  background-image: var(--dixy-skin-canvas);
209
207
  }
@@ -158,11 +158,9 @@
158
158
  }
159
159
  }
160
160
  @layer dixy.components {
161
- .dixy-theme[data-dixy-skin="dixy/yule-knit"] {
161
+ .dixy-theme[data-dixy-skin="dixy/yule-knit"]:not(.dixy-portal-scope) {
162
162
  position: relative;
163
163
  isolation: isolate;
164
- }
165
- .dixy-theme[data-dixy-skin="dixy/yule-knit"]:not(.dixy-portal-scope) {
166
164
  background-color: var(--dixy-skin-ground);
167
165
  background-image: var(--dixy-skin-canvas);
168
166
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dixy-ui/themes",
3
- "version": "0.1.0-beta.4",
3
+ "version": "0.1.0-beta.6",
4
4
  "type": "module",
5
5
  "description": "Independent 2D skins for Dixy's existing components.",
6
6
  "license": "MIT",
@@ -372,7 +372,7 @@
372
372
  "./signal.css": "./dist/signal.css"
373
373
  },
374
374
  "dependencies": {
375
- "@dixy-ui/tokens": "0.1.0-beta.3"
375
+ "@dixy-ui/tokens": "0.1.0-beta.4"
376
376
  },
377
377
  "devDependencies": {
378
378
  "typescript": "5.9.3",