@rokkit/themes 1.1.14 → 1.1.16

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rokkit/themes",
3
- "version": "1.1.14",
3
+ "version": "1.1.16",
4
4
  "description": "Theme styles for @rokkit/ui components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,81 +10,81 @@
10
10
  "main": "./src/index.js",
11
11
  "exports": {
12
12
  ".": {
13
- "style": "./src/index.css",
13
+ "style": "./dist/index.css",
14
14
  "import": "./src/index.js",
15
15
  "default": "./src/index.js"
16
16
  },
17
17
  "./styles": {
18
- "style": "./src/index.css",
19
- "default": "./src/index.css"
18
+ "style": "./dist/index.css",
19
+ "default": "./dist/index.css"
20
20
  },
21
21
  "./base.css": {
22
- "style": "./src/base/index.css",
23
- "default": "./src/base/index.css"
22
+ "style": "./dist/base.css",
23
+ "default": "./dist/base.css"
24
24
  },
25
25
  "./rokkit.css": {
26
- "style": "./src/rokkit/index.css",
27
- "default": "./src/rokkit/index.css"
26
+ "style": "./dist/rokkit.css",
27
+ "default": "./dist/rokkit.css"
28
28
  },
29
29
  "./minimal.css": {
30
- "style": "./src/minimal/index.css",
31
- "default": "./src/minimal/index.css"
30
+ "style": "./dist/minimal.css",
31
+ "default": "./dist/minimal.css"
32
32
  },
33
33
  "./material.css": {
34
- "style": "./src/material/index.css",
35
- "default": "./src/material/index.css"
34
+ "style": "./dist/material.css",
35
+ "default": "./dist/material.css"
36
36
  },
37
37
  "./frosted.css": {
38
- "style": "./src/frosted/index.css",
39
- "default": "./src/frosted/index.css"
38
+ "style": "./dist/frosted.css",
39
+ "default": "./dist/frosted.css"
40
40
  },
41
41
  "./zen-sumi.css": {
42
- "style": "./src/zen-sumi/index.css",
43
- "default": "./src/zen-sumi/index.css"
42
+ "style": "./dist/zen-sumi.css",
43
+ "default": "./dist/zen-sumi.css"
44
44
  },
45
45
  "./base": {
46
- "style": "./src/base/index.css",
47
- "default": "./src/base/index.css"
46
+ "style": "./dist/base.css",
47
+ "default": "./dist/base.css"
48
48
  },
49
49
  "./base/*": {
50
50
  "style": "./src/base/*.css",
51
51
  "default": "./src/base/*.css"
52
52
  },
53
53
  "./rokkit": {
54
- "style": "./src/rokkit/index.css",
55
- "default": "./src/rokkit/index.css"
54
+ "style": "./dist/rokkit.css",
55
+ "default": "./dist/rokkit.css"
56
56
  },
57
57
  "./rokkit/*": {
58
58
  "style": "./src/rokkit/*.css",
59
59
  "default": "./src/rokkit/*.css"
60
60
  },
61
61
  "./minimal": {
62
- "style": "./src/minimal/index.css",
63
- "default": "./src/minimal/index.css"
62
+ "style": "./dist/minimal.css",
63
+ "default": "./dist/minimal.css"
64
64
  },
65
65
  "./minimal/*": {
66
66
  "style": "./src/minimal/*.css",
67
67
  "default": "./src/minimal/*.css"
68
68
  },
69
69
  "./material": {
70
- "style": "./src/material/index.css",
71
- "default": "./src/material/index.css"
70
+ "style": "./dist/material.css",
71
+ "default": "./dist/material.css"
72
72
  },
73
73
  "./material/*": {
74
74
  "style": "./src/material/*.css",
75
75
  "default": "./src/material/*.css"
76
76
  },
77
77
  "./frosted": {
78
- "style": "./src/frosted/index.css",
79
- "default": "./src/frosted/index.css"
78
+ "style": "./dist/frosted.css",
79
+ "default": "./dist/frosted.css"
80
80
  },
81
81
  "./frosted/*": {
82
82
  "style": "./src/frosted/*.css",
83
83
  "default": "./src/frosted/*.css"
84
84
  },
85
85
  "./zen-sumi": {
86
- "style": "./src/zen-sumi/index.css",
87
- "default": "./src/zen-sumi/index.css"
86
+ "style": "./dist/zen-sumi.css",
87
+ "default": "./dist/zen-sumi.css"
88
88
  },
89
89
  "./zen-sumi/*": {
90
90
  "style": "./src/zen-sumi/*.css",
@@ -93,20 +93,22 @@
93
93
  },
94
94
  "files": [
95
95
  "src",
96
+ "dist",
96
97
  "build.mjs",
97
98
  "README.md",
98
99
  "LICENSE"
99
100
  ],
100
101
  "scripts": {
101
- "prepublishOnly": "cp ../../LICENSE .",
102
+ "prepare": "bun run build.mjs",
103
+ "prepublishOnly": "bun run build.mjs && cp ../../LICENSE .",
102
104
  "postpublish": "rm -f LICENSE",
103
105
  "build": "bun run build.mjs"
104
106
  },
105
107
  "dependencies": {
106
- "@rokkit/core": "1.1.14"
108
+ "@rokkit/core": "1.1.16"
107
109
  },
108
110
  "devDependencies": {
109
- "@rokkit/unocss": "1.1.14",
111
+ "@rokkit/unocss": "1.1.16",
110
112
  "magic-string": "^0.30.21",
111
113
  "unocss": "^66.5.1"
112
114
  },
@@ -13,7 +13,8 @@
13
13
  [data-style='frosted'] [data-button]:not([data-style])[data-variant='default'],
14
14
  [data-style='frosted'] [data-button][data-style='default']:not([data-variant]),
15
15
  [data-style='frosted'] [data-button]:not([data-style]):not([data-variant]) {
16
- @apply text-ink border backdrop-blur-xl bg-paper-edge/28;
16
+ @apply text-ink border backdrop-blur-xl;
17
+ background-color: color-mix(in oklch, var(--paper-edge) 28%, transparent);
17
18
  border-color: rgba(255, 255, 255, 0.22);
18
19
  box-shadow:
19
20
  inset 0 1px 0 rgba(255, 255, 255, 0.2),
@@ -191,7 +192,7 @@
191
192
 
192
193
  [data-style='frosted'] [data-button][data-style='default']:hover:not(:disabled):not([data-disabled]),
193
194
  [data-style='frosted'] [data-button]:not([data-style]):hover:not(:disabled):not([data-disabled]) {
194
- @apply bg-paper-edge/38;
195
+ background-color: color-mix(in oklch, var(--paper-edge) 38%, transparent);
195
196
  border-color: rgba(255, 255, 255, 0.3);
196
197
  box-shadow:
197
198
  inset 0 1px 0 rgba(255, 255, 255, 0.28),
@@ -10,7 +10,8 @@
10
10
  ============================================================================= */
11
11
 
12
12
  [data-style='frosted'] [data-card] {
13
- @apply text-ink border shadow-lg backdrop-blur-xl bg-paper-mute/30;
13
+ @apply text-ink border shadow-lg backdrop-blur-xl;
14
+ background-color: color-mix(in oklch, var(--paper-mute) 30%, transparent);
14
15
  border-color: rgba(255, 255, 255, 0.18);
15
16
  box-shadow:
16
17
  inset 0 1px 0 rgba(255, 255, 255, 0.22),
@@ -27,7 +28,7 @@
27
28
  }
28
29
 
29
30
  [data-style='frosted'] [data-card][data-card-interactive]:hover {
30
- @apply bg-paper-mute/42;
31
+ background-color: color-mix(in oklch, var(--paper-mute) 42%, transparent);
31
32
  box-shadow:
32
33
  inset 0 1px 0 rgba(255, 255, 255, 0.28),
33
34
  0 16px 40px rgba(0, 0, 0, 0.14);
@@ -121,6 +122,7 @@
121
122
 
122
123
  /* Tertiary — barely-there frosted glass */
123
124
  [data-style='frosted'] [data-card][data-variant='tertiary'] {
124
- @apply text-ink-mute border backdrop-blur-xl bg-paper-mute/16;
125
+ @apply text-ink-mute border backdrop-blur-xl;
126
+ background-color: color-mix(in oklch, var(--paper-mute) 16%, transparent);
125
127
  border-color: rgba(255, 255, 255, 0.12);
126
128
  }
@@ -10,7 +10,8 @@
10
10
  }
11
11
 
12
12
  [data-style='frosted'] [data-command-palette] {
13
- @apply border backdrop-blur-2xl bg-paper-mute/45;
13
+ @apply border backdrop-blur-2xl;
14
+ background-color: color-mix(in oklch, var(--paper-mute) 45%, transparent);
14
15
  border-color: rgba(255, 255, 255, 0.2);
15
16
  box-shadow:
16
17
  inset 0 1px 0 rgba(255, 255, 255, 0.2),
@@ -5,13 +5,15 @@
5
5
  */
6
6
 
7
7
  [data-style='frosted'] [data-dropdown-trigger] {
8
- @apply text-ink-mute border bg-none backdrop-blur-xl bg-paper-mute/25;
8
+ @apply text-ink-mute border bg-none backdrop-blur-xl;
9
+ background-color: color-mix(in oklch, var(--paper-mute) 25%, transparent);
9
10
  border-color: rgba(255, 255, 255, 0.2);
10
11
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
11
12
  }
12
13
 
13
14
  [data-style='frosted'] [data-dropdown-trigger]:hover:not(:disabled) {
14
- @apply text-ink bg-none bg-paper-mute/36;
15
+ @apply text-ink bg-none;
16
+ background-color: color-mix(in oklch, var(--paper-mute) 36%, transparent);
15
17
  border-color: rgba(255, 255, 255, 0.28);
16
18
  }
17
19
 
@@ -34,7 +36,8 @@
34
36
  }
35
37
 
36
38
  [data-style='frosted'] [data-dropdown-panel] {
37
- @apply border bg-none shadow-xl backdrop-blur-2xl bg-paper-mute/45;
39
+ @apply border bg-none shadow-xl backdrop-blur-2xl;
40
+ background-color: color-mix(in oklch, var(--paper-mute) 45%, transparent);
38
41
  border-color: rgba(255, 255, 255, 0.2);
39
42
  box-shadow:
40
43
  inset 0 1px 0 rgba(255, 255, 255, 0.2),
@@ -18,11 +18,12 @@
18
18
  }
19
19
 
20
20
  [data-style='frosted'] [data-fab-trigger]:focus-visible {
21
- @apply ring-ink-soft/40 ring-2 outline-none;
21
+ @apply ring-2 outline-none;
22
+ --un-ring-color: color-mix(in oklch, var(--ink-soft) 40%, transparent);
22
23
  }
23
24
 
24
25
  [data-style='frosted'] [data-fab][data-open='true'] [data-fab-trigger] {
25
- @apply bg-ink-soft/80;
26
+ background-color: color-mix(in oklch, var(--ink-soft) 80%, transparent);
26
27
  transform: rotate(45deg);
27
28
  }
28
29
 
@@ -31,15 +32,19 @@
31
32
  ============================================================================= */
32
33
 
33
34
  [data-style='frosted'] [data-fab-item] {
34
- @apply text-ink bg-paper-soft/70 border-ink-soft/20 border shadow-md backdrop-blur-md;
35
+ @apply text-ink border shadow-md backdrop-blur-md;
36
+ background-color: color-mix(in oklch, var(--paper-soft) 70%, transparent);
37
+ border-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
35
38
  }
36
39
 
37
40
  [data-style='frosted'] [data-fab-item]:hover:not(:disabled) {
38
- @apply text-ink bg-paper-mute/80 shadow-lg;
41
+ @apply text-ink shadow-lg;
42
+ background-color: color-mix(in oklch, var(--paper-mute) 80%, transparent);
39
43
  }
40
44
 
41
45
  [data-style='frosted'] [data-fab-item]:focus-visible {
42
- @apply ring-ink-soft/40 ring-2 outline-none;
46
+ @apply ring-2 outline-none;
47
+ --un-ring-color: color-mix(in oklch, var(--ink-soft) 40%, transparent);
43
48
  }
44
49
 
45
50
  /* Item icon */
@@ -9,7 +9,9 @@
9
9
  ============================================================================= */
10
10
 
11
11
  [data-style='frosted'] [data-floating-nav] {
12
- @apply bg-paper-soft/70 border-ink-soft/20 border shadow-xl backdrop-blur-xl;
12
+ @apply border shadow-xl backdrop-blur-xl;
13
+ background-color: color-mix(in oklch, var(--paper-soft) 70%, transparent);
14
+ border-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
13
15
  }
14
16
 
15
17
  /* =============================================================================
@@ -41,7 +43,8 @@
41
43
  }
42
44
 
43
45
  [data-style='frosted'] [data-floating-nav-item]:hover {
44
- @apply text-ink bg-paper-mute/50;
46
+ @apply text-ink;
47
+ background-color: color-mix(in oklch, var(--paper-mute) 50%, transparent);
45
48
  }
46
49
 
47
50
  [data-style='frosted'] [data-floating-nav-item][data-active] {
@@ -49,7 +52,8 @@
49
52
  }
50
53
 
51
54
  [data-style='frosted'] [data-floating-nav-item]:focus-visible {
52
- @apply ring-ink-soft/40 ring-2 outline-none;
55
+ @apply ring-2 outline-none;
56
+ --un-ring-color: color-mix(in oklch, var(--ink-soft) 40%, transparent);
53
57
  }
54
58
 
55
59
  /* Icon */
@@ -28,14 +28,15 @@
28
28
 
29
29
  /* Separator */
30
30
  [data-style='frosted'] [data-form-separator] {
31
- @apply border-ink-soft/20;
31
+ border-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
32
32
  }
33
33
 
34
34
  /* Input root: frosted glass container — p-0.5 gives a small gap between border and content.
35
35
  * No backdrop-blur here: it creates a stacking context that traps select dropdowns.
36
36
  * The semi-transparent background + specular border provides the liquid glass look. */
37
37
  [data-style='frosted'] [data-input-root] {
38
- @apply flex items-center rounded-md border p-0.5 transition-all bg-paper-mute/22;
38
+ @apply flex items-center rounded-md border p-0.5 transition-all;
39
+ background-color: color-mix(in oklch, var(--paper-mute) 22%, transparent);
39
40
  background-image: none;
40
41
  border-color: rgba(255, 255, 255, 0.2);
41
42
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
@@ -46,7 +47,7 @@
46
47
  }
47
48
 
48
49
  [data-style='frosted'] [data-input-root]:focus-within {
49
- @apply bg-paper-mute/28;
50
+ background-color: color-mix(in oklch, var(--paper-mute) 28%, transparent);
50
51
  background-image: none;
51
52
  border-color: rgba(255, 255, 255, 0.35);
52
53
  box-shadow:
@@ -9,7 +9,8 @@
9
9
  ============================================================================= */
10
10
 
11
11
  [data-style='frosted'] [data-list]:focus-within {
12
- @apply ring-ink-soft/40 rounded ring-1;
12
+ @apply rounded ring-1;
13
+ --un-ring-color: color-mix(in oklch, var(--ink-soft) 40%, transparent);
13
14
  }
14
15
 
15
16
  /* =============================================================================
@@ -28,12 +29,14 @@
28
29
  /* Hover and focus (keyboard navigation) */
29
30
  [data-style='frosted'] [data-list] [data-list-item]:hover:not(:disabled):not([data-disabled='true']),
30
31
  [data-style='frosted'] [data-list] [data-list-item]:focus:not(:disabled):not([data-disabled='true']) {
31
- @apply bg-paper-mute/15 text-ink bg-none outline-none;
32
+ @apply text-ink bg-none outline-none;
33
+ background-color: color-mix(in oklch, var(--paper-mute) 15%, transparent);
32
34
  }
33
35
 
34
36
  /* Active state — muted when list not focused */
35
37
  [data-style='frosted'] [data-list] [data-list-item][data-active='true'] {
36
- @apply bg-paper-mute/15 text-primary bg-none;
38
+ @apply text-primary bg-none;
39
+ background-color: color-mix(in oklch, var(--paper-mute) 15%, transparent);
37
40
  }
38
41
 
39
42
  /* Active state — full highlight when list has focus */
@@ -98,7 +101,8 @@
98
101
  }
99
102
 
100
103
  [data-style='frosted'] [data-list] [data-list-item] [data-item-badge] {
101
- @apply bg-paper-mute/15 text-ink-soft bg-none;
104
+ @apply text-ink-soft bg-none;
105
+ background-color: color-mix(in oklch, var(--paper-mute) 15%, transparent);
102
106
  }
103
107
 
104
108
  [data-style='frosted'] [data-list] [data-list-item][data-active='true'] [data-item-badge] {
@@ -115,7 +119,8 @@
115
119
 
116
120
  [data-style='frosted'] [data-list] [data-list-group]:hover:not(:disabled),
117
121
  [data-style='frosted'] [data-list] [data-list-group]:focus:not(:disabled) {
118
- @apply bg-paper-mute/25 text-ink-mute bg-none;
122
+ @apply text-ink-mute bg-none;
123
+ background-color: color-mix(in oklch, var(--paper-mute) 25%, transparent);
119
124
  }
120
125
 
121
126
  /* =============================================================================
@@ -123,7 +128,8 @@
123
128
  ============================================================================= */
124
129
 
125
130
  [data-style='frosted'] [data-list] [data-list-separator] {
126
- @apply bg-ink-soft/20 bg-none;
131
+ @apply bg-none;
132
+ background-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
127
133
  }
128
134
 
129
135
  /* =============================================================================
@@ -9,13 +9,15 @@
9
9
  ============================================================================= */
10
10
 
11
11
  [data-style='frosted'] [data-menu-trigger] {
12
- @apply text-ink-mute border bg-none backdrop-blur-xl bg-paper-mute/25;
12
+ @apply text-ink-mute border bg-none backdrop-blur-xl;
13
+ background-color: color-mix(in oklch, var(--paper-mute) 25%, transparent);
13
14
  border-color: rgba(255, 255, 255, 0.2);
14
15
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
15
16
  }
16
17
 
17
18
  [data-style='frosted'] [data-menu-trigger]:hover:not(:disabled) {
18
- @apply text-ink bg-none bg-paper-mute/36;
19
+ @apply text-ink bg-none;
20
+ background-color: color-mix(in oklch, var(--paper-mute) 36%, transparent);
19
21
  border-color: rgba(255, 255, 255, 0.28);
20
22
  }
21
23
 
@@ -47,7 +49,8 @@
47
49
  ============================================================================= */
48
50
 
49
51
  [data-style='frosted'] [data-menu-dropdown] {
50
- @apply border bg-none shadow-xl backdrop-blur-2xl bg-paper-mute/45;
52
+ @apply border bg-none shadow-xl backdrop-blur-2xl;
53
+ background-color: color-mix(in oklch, var(--paper-mute) 45%, transparent);
51
54
  border-color: rgba(255, 255, 255, 0.2);
52
55
  box-shadow:
53
56
  inset 0 1px 0 rgba(255, 255, 255, 0.2),
@@ -3,7 +3,8 @@
3
3
  */
4
4
 
5
5
  [data-style='frosted'] [data-message-root][data-type='error'] {
6
- @apply bg-error-soft/50 border-error/40 text-error backdrop-blur-sm;
6
+ @apply border-error/40 text-error backdrop-blur-sm;
7
+ background-color: color-mix(in oklch, var(--error-soft) 50%, transparent);
7
8
  }
8
9
  [data-style='frosted'] [data-message-root][data-type='error'] [data-message-icon],
9
10
  [data-style='frosted'] [data-message-root][data-type='error'] [data-message-dismiss] {
@@ -11,7 +12,8 @@
11
12
  }
12
13
 
13
14
  [data-style='frosted'] [data-message-root][data-type='warning'] {
14
- @apply bg-warning-soft/50 border-warning/40 text-warning backdrop-blur-sm;
15
+ @apply border-warning/40 text-warning backdrop-blur-sm;
16
+ background-color: color-mix(in oklch, var(--warning-soft) 50%, transparent);
15
17
  }
16
18
  [data-style='frosted'] [data-message-root][data-type='warning'] [data-message-icon],
17
19
  [data-style='frosted'] [data-message-root][data-type='warning'] [data-message-dismiss] {
@@ -19,7 +21,8 @@
19
21
  }
20
22
 
21
23
  [data-style='frosted'] [data-message-root][data-type='info'] {
22
- @apply bg-info-soft/50 border-info/40 text-info backdrop-blur-sm;
24
+ @apply border-info/40 text-info backdrop-blur-sm;
25
+ background-color: color-mix(in oklch, var(--info-soft) 50%, transparent);
23
26
  }
24
27
  [data-style='frosted'] [data-message-root][data-type='info'] [data-message-icon],
25
28
  [data-style='frosted'] [data-message-root][data-type='info'] [data-message-dismiss] {
@@ -27,7 +30,8 @@
27
30
  }
28
31
 
29
32
  [data-style='frosted'] [data-message-root][data-type='success'] {
30
- @apply bg-success-soft/50 border-success/40 text-success backdrop-blur-sm;
33
+ @apply border-success/40 text-success backdrop-blur-sm;
34
+ background-color: color-mix(in oklch, var(--success-soft) 50%, transparent);
31
35
  }
32
36
  [data-style='frosted'] [data-message-root][data-type='success'] [data-message-icon],
33
37
  [data-style='frosted'] [data-message-root][data-type='success'] [data-message-dismiss] {
@@ -9,7 +9,9 @@
9
9
  ============================================================================= */
10
10
 
11
11
  [data-style='frosted'] [data-range-bar] {
12
- @apply bg-paper-mute/50 border-ink-soft/20 border;
12
+ @apply border;
13
+ background-color: color-mix(in oklch, var(--paper-mute) 50%, transparent);
14
+ border-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
13
15
  }
14
16
 
15
17
  [data-style='frosted'] [data-range-selected] {
@@ -41,7 +43,7 @@
41
43
  }
42
44
 
43
45
  [data-style='frosted'] [data-tick-bar] {
44
- @apply border-ink-soft/40;
46
+ border-color: color-mix(in oklch, var(--ink-soft) 40%, transparent);
45
47
  }
46
48
 
47
49
  [data-style='frosted'] [data-tick-label] {
@@ -53,9 +55,10 @@
53
55
  ============================================================================= */
54
56
 
55
57
  [data-style='frosted'] [data-range][data-disabled] [data-range-thumb] {
56
- @apply bg-paper-edge/50 border-paper-edge/30;
58
+ background-color: color-mix(in oklch, var(--paper-edge) 50%, transparent);
59
+ border-color: color-mix(in oklch, var(--paper-edge) 30%, transparent);
57
60
  }
58
61
 
59
62
  [data-style='frosted'] [data-range][data-disabled] [data-range-selected] {
60
- @apply bg-paper-edge/30;
63
+ background-color: color-mix(in oklch, var(--paper-edge) 30%, transparent);
61
64
  }
@@ -9,11 +9,14 @@
9
9
  ============================================================================= */
10
10
 
11
11
  [data-style='frosted'] [data-search-input] {
12
- @apply text-ink-mute border-ink-soft/20 bg-paper-soft/50 border backdrop-blur-md;
12
+ @apply text-ink-mute border backdrop-blur-md;
13
+ border-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
14
+ background-color: color-mix(in oklch, var(--paper-soft) 50%, transparent);
13
15
  }
14
16
 
15
17
  [data-style='frosted'] [data-search-input]:focus {
16
- @apply border-primary/50 ring-ink-soft/30 ring-1;
18
+ @apply border-primary/50 ring-1;
19
+ --un-ring-color: color-mix(in oklch, var(--ink-soft) 30%, transparent);
17
20
  }
18
21
 
19
22
  [data-style='frosted'] [data-search-input]::placeholder {
@@ -37,7 +40,8 @@
37
40
  ============================================================================= */
38
41
 
39
42
  [data-style='frosted'] [data-search-tag] {
40
- @apply text-ink-mute bg-paper-mute/15;
43
+ @apply text-ink-mute;
44
+ background-color: color-mix(in oklch, var(--paper-mute) 15%, transparent);
41
45
  }
42
46
 
43
47
  [data-style='frosted'] [data-search-tag-remove] {
@@ -17,15 +17,20 @@
17
17
  ============================================================================= */
18
18
 
19
19
  [data-style='frosted'] [data-select-trigger] {
20
- @apply text-ink-mute bg-paper-soft/70 border-ink-soft/20 border backdrop-blur-md;
20
+ @apply text-ink-mute border backdrop-blur-md;
21
+ background-color: color-mix(in oklch, var(--paper-soft) 70%, transparent);
22
+ border-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
21
23
  }
22
24
 
23
25
  [data-style='frosted'] [data-select-trigger]:hover:not(:disabled) {
24
- @apply text-ink bg-paper-mute/80 border-ink-soft/30;
26
+ @apply text-ink;
27
+ background-color: color-mix(in oklch, var(--paper-mute) 80%, transparent);
28
+ border-color: color-mix(in oklch, var(--ink-soft) 30%, transparent);
25
29
  }
26
30
 
27
31
  [data-style='frosted'] [data-select-trigger]:focus-visible {
28
- @apply ring-ink-soft/40 ring-1 outline-none;
32
+ @apply ring-1 outline-none;
33
+ --un-ring-color: color-mix(in oklch, var(--ink-soft) 40%, transparent);
29
34
  }
30
35
 
31
36
  [data-style='frosted'] [data-select][data-open='true'] [data-select-trigger] {
@@ -57,7 +62,8 @@
57
62
  ============================================================================= */
58
63
 
59
64
  [data-style='frosted'] [data-select-tag] {
60
- @apply text-ink-mute bg-paper-mute/15;
65
+ @apply text-ink-mute;
66
+ background-color: color-mix(in oklch, var(--paper-mute) 15%, transparent);
61
67
  }
62
68
 
63
69
  [data-style='frosted'] [data-select-tag-remove] {
@@ -73,7 +79,9 @@
73
79
  ============================================================================= */
74
80
 
75
81
  [data-style='frosted'] [data-select-dropdown] {
76
- @apply bg-paper-mute/50 border-ink-soft/20 border shadow-lg backdrop-blur-lg;
82
+ @apply border shadow-lg backdrop-blur-lg;
83
+ background-color: color-mix(in oklch, var(--paper-mute) 50%, transparent);
84
+ border-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
77
85
  }
78
86
 
79
87
  /* =============================================================================
@@ -86,11 +94,13 @@
86
94
 
87
95
  [data-style='frosted'] [data-select-option]:hover:not(:disabled),
88
96
  [data-style='frosted'] [data-select-option]:focus:not(:disabled) {
89
- @apply text-ink bg-paper-mute/80;
97
+ @apply text-ink;
98
+ background-color: color-mix(in oklch, var(--paper-mute) 80%, transparent);
90
99
  }
91
100
 
92
101
  [data-style='frosted'] [data-select-option]:focus-visible {
93
- @apply ring-ink-soft/40 ring-1 outline-none ring-inset;
102
+ @apply ring-1 outline-none ring-inset;
103
+ --un-ring-color: color-mix(in oklch, var(--ink-soft) 40%, transparent);
94
104
  }
95
105
 
96
106
  [data-style='frosted'] [data-select-option][data-selected='true'] {
@@ -109,7 +119,8 @@
109
119
 
110
120
  /* Checkbox */
111
121
  [data-style='frosted'] [data-select-checkbox] {
112
- @apply border-ink-soft/40 bg-paper-soft/70;
122
+ border-color: color-mix(in oklch, var(--ink-soft) 40%, transparent);
123
+ background-color: color-mix(in oklch, var(--paper-soft) 70%, transparent);
113
124
  }
114
125
 
115
126
  [data-style='frosted'] [data-select-checkbox][data-checked='true'] {
@@ -150,7 +161,7 @@
150
161
  ============================================================================= */
151
162
 
152
163
  [data-style='frosted'] [data-select-divider] {
153
- @apply bg-ink-soft/20;
164
+ background-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
154
165
  }
155
166
 
156
167
  /* =============================================================================
@@ -158,15 +169,18 @@
158
169
  ============================================================================= */
159
170
 
160
171
  [data-style='frosted'] [data-select-filter] {
161
- @apply bg-paper-mute/30;
172
+ background-color: color-mix(in oklch, var(--paper-mute) 30%, transparent);
162
173
  }
163
174
 
164
175
  [data-style='frosted'] [data-select-filter-input] {
165
- @apply text-ink-mute border-ink-soft/20 bg-paper-soft/50 border;
176
+ @apply text-ink-mute border;
177
+ border-color: color-mix(in oklch, var(--ink-soft) 20%, transparent);
178
+ background-color: color-mix(in oklch, var(--paper-soft) 50%, transparent);
166
179
  }
167
180
 
168
181
  [data-style='frosted'] [data-select-filter-input]:focus {
169
- @apply border-primary/50 ring-ink-soft/30 ring-1;
182
+ @apply border-primary/50 ring-1;
183
+ --un-ring-color: color-mix(in oklch, var(--ink-soft) 30%, transparent);
170
184
  }
171
185
 
172
186
  [data-style='frosted'] [data-select-filter-input]::placeholder {
@@ -62,5 +62,6 @@
62
62
 
63
63
  /* Count badge */
64
64
  [data-style='frosted'] [data-status-count] {
65
- @apply bg-paper-mute/60 text-ink-mute font-semibold backdrop-blur-sm;
65
+ @apply text-ink-mute font-semibold backdrop-blur-sm;
66
+ background-color: color-mix(in oklch, var(--paper-mute) 60%, transparent);
66
67
  }
@@ -7,11 +7,14 @@
7
7
  }
8
8
 
9
9
  [data-style='frosted'] [data-step-item][data-step-state='current'] [data-step-number] {
10
- @apply bg-paper-mute/60 border-primary/70 text-primary bg-none backdrop-blur-sm ring-3 ring-primary/15;
10
+ @apply border-primary/70 text-primary bg-none backdrop-blur-sm ring-3 ring-primary/15;
11
+ background-color: color-mix(in oklch, var(--paper-mute) 60%, transparent);
11
12
  }
12
13
 
13
14
  [data-style='frosted'] [data-step-item][data-step-state='upcoming'] [data-step-number] {
14
- @apply bg-paper-soft/40 border-paper-mute/50 text-ink-soft bg-none backdrop-blur-sm;
15
+ @apply text-ink-soft bg-none backdrop-blur-sm;
16
+ background-color: color-mix(in oklch, var(--paper-soft) 40%, transparent);
17
+ border-color: color-mix(in oklch, var(--paper-mute) 50%, transparent);
15
18
  }
16
19
 
17
20
  /* ── Labels ── */
@@ -36,5 +39,5 @@
36
39
 
37
40
  [data-style='frosted'] [data-step-item][data-step-state='current']::after,
38
41
  [data-style='frosted'] [data-step-item][data-step-state='upcoming']::after {
39
- @apply bg-paper-mute/50;
42
+ background-color: color-mix(in oklch, var(--paper-mute) 50%, transparent);
40
43
  }
@@ -5,7 +5,8 @@
5
5
  */
6
6
 
7
7
  [data-style='frosted'] [data-switch-track] {
8
- @apply border backdrop-blur-lg bg-paper-edge/25;
8
+ @apply border backdrop-blur-lg;
9
+ background-color: color-mix(in oklch, var(--paper-edge) 25%, transparent);
9
10
  border-color: rgba(255, 255, 255, 0.2);
10
11
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
11
12
  }