elements-kit 0.7.4 → 0.8.1

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.
@@ -56,6 +56,62 @@
56
56
  --card-border-radius: var(--radius-6);
57
57
  }
58
58
 
59
+ :where([data-base-color]) {
60
+ --card-surface-box-shadow: 0 0 0 1px var(--base-color-a5);
61
+ --card-surface-hover-box-shadow: 0 0 0 1px var(--base-color-a7);
62
+ --card-surface-active-box-shadow: 0 0 0 1px var(--base-color-a6);
63
+ --card-elevated-box-shadow-inner: 0 0 0 1px var(--base-color-a3), 0 0 0 1px transparent,
64
+ 0 0 0 .5px var(--black-a1), 0 1px 1px 0 var(--base-color-a2),
65
+ 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
66
+ --card-elevated-box-shadow-outer: 0 0 0 0 var(--base-color-a3), 0 0 0 0 transparent, 0 0 0 0 var(--black-a1),
67
+ 0 1px 1px -1px var(--base-color-a2), 0 2px 1px -2px var(--black-a1),
68
+ 0 1px 3px -1px var(--black-a1);
69
+ --card-elevated-hover-box-shadow-inner: 0 0 0 1px var(--base-color-a4), 0 1px 1px 1px var(--black-a1),
70
+ 0 2px 1px -1px var(--base-color-a3), 0 2px 3px -2px var(--black-a1),
71
+ 0 3px 12px -4px var(--base-color-a3), 0 4px 16px -8px var(--black-a1);
72
+ --card-elevated-hover-box-shadow-outer: 0 0 0 0 var(--base-color-a4), 0 1px 1px 0 var(--black-a1),
73
+ 0 2px 1px -2px var(--base-color-a3), 0 2px 3px -3px var(--black-a1),
74
+ 0 3px 12px -5px var(--base-color-a3), 0 4px 16px -9px var(--black-a1);
75
+ --card-elevated-active-box-shadow-inner: 0 0 0 1px var(--base-color-a3), 0 0 0 1px transparent,
76
+ 0 0 0 .5px var(--black-a1), 0 1px 1px 0 var(--base-color-a4),
77
+ 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
78
+ --card-elevated-active-box-shadow-outer: 0 0 0 0 var(--base-color-a3), 0 0 0 0 transparent, 0 0 0 0 var(--black-a1),
79
+ 0 1px 1px -1px var(--base-color-a4), 0 2px 1px -2px var(--black-a1),
80
+ 0 1px 3px -1px var(--black-a1);
81
+ }
82
+
83
+ @supports (color: color-mix(in oklab, white, black)) {
84
+ :where([data-base-color]) {
85
+ --card-surface-box-shadow: 0 0 0 1px
86
+ color-mix(in oklab, var(--base-color-a5), var(--base-color-5) 25%);
87
+ --card-surface-hover-box-shadow: 0 0 0 1px
88
+ color-mix(in oklab, var(--base-color-a7), var(--base-color-7) 25%);
89
+ --card-surface-active-box-shadow: 0 0 0 1px
90
+ color-mix(in oklab, var(--base-color-a6), var(--base-color-6) 25%);
91
+ }
92
+ }
93
+
94
+ :is(.dark, .dark-theme), :is(.dark, .dark-theme) :where([data-base-color]:not(.light, .light-theme)) {
95
+ --card-elevated-box-shadow-inner: 0 0 0 1px var(--base-color-a6), 0 0 0 1px transparent,
96
+ 0 0 0 .5px var(--black-a3), 0 1px 1px 0 var(--black-a6),
97
+ 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
98
+ --card-elevated-box-shadow-outer: 0 0 0 0 var(--base-color-a6), 0 0 0 0 transparent, 0 0 0 0 var(--black-a3),
99
+ 0 1px 1px -1px var(--black-a6), 0 2px 1px -2px var(--black-a6),
100
+ 0 1px 3px -1px var(--black-a5);
101
+ --card-elevated-hover-box-shadow-inner: 0 0 0 1px var(--base-color-a6), 0 0 1px 1px var(--base-color-a4),
102
+ 0 0 1px -1px var(--base-color-a4), 0 0 3px -2px var(--base-color-a3),
103
+ 0 0 12px -2px var(--base-color-a3), 0 0 16px -8px var(--base-color-a7);
104
+ --card-elevated-hover-box-shadow-outer: 0 0 0 0 var(--base-color-a6), 0 0 1px 0 var(--base-color-a4),
105
+ 0 0 1px -2px var(--base-color-a4), 0 0 3px -3px var(--base-color-a3),
106
+ 0 0 12px -3px var(--base-color-a3), 0 0 16px -9px var(--base-color-a7);
107
+ --card-elevated-active-box-shadow-inner: 0 0 0 1px var(--base-color-a6), 0 0 0 1px transparent,
108
+ 0 0 0 .5px var(--black-a3), 0 1px 1px 0 var(--black-a6),
109
+ 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
110
+ --card-elevated-active-box-shadow-outer: 0 0 0 0 var(--base-color-a6), 0 0 0 0 transparent, 0 0 0 0 var(--black-a3),
111
+ 0 1px 1px -1px var(--black-a6), 0 2px 1px -2px var(--black-a6),
112
+ 0 1px 3px -1px var(--black-a5);
113
+ }
114
+
59
115
  .x-card, .x-card:where([data-variant="surface"]) {
60
116
  --card-border-width: 1px;
61
117
  }
@@ -67,22 +123,26 @@
67
123
  }
68
124
 
69
125
  :is(.x-card, .x-card:where([data-variant="surface"])):after {
70
- box-shadow: 0 0 0 1px var(--base-color-a5);
126
+ box-shadow: var(--card-surface-box-shadow);
71
127
  }
72
128
 
73
129
  @media (hover: hover) {
74
130
  :is(.x-card, .x-card:where([data-variant="surface"])):where(:any-link, button, label):where(:hover):after {
75
- box-shadow: 0 0 0 1px var(--base-color-a7);
131
+ box-shadow: var(--card-surface-hover-box-shadow);
76
132
  }
77
133
  }
78
134
 
135
+ :is(.x-card, .x-card:where([data-variant="surface"])):where(:any-link, button, label):where([data-state="open"]):after {
136
+ box-shadow: var(--card-surface-hover-box-shadow);
137
+ }
138
+
79
139
  :is(.x-card, .x-card:where([data-variant="surface"])):where(:any-link, button, label):where(:active:not([data-state="open"])):after {
80
- box-shadow: 0 0 0 1px var(--base-color-a6);
140
+ box-shadow: var(--card-surface-active-box-shadow);
81
141
  }
82
142
 
83
143
  .x-card:where([data-variant="elevated"]) {
84
144
  --card-border-width: 1px;
85
- box-shadow: var(--shadow-2);
145
+ box-shadow: var(--card-elevated-box-shadow-outer);
86
146
  transition: box-shadow .12s;
87
147
  }
88
148
 
@@ -93,31 +153,62 @@
93
153
  }
94
154
 
95
155
  .x-card:where([data-variant="elevated"]):after {
96
- box-shadow: 0 0 0 1px var(--base-color-a3);
156
+ box-shadow: var(--card-elevated-box-shadow-inner);
97
157
  }
98
158
 
99
159
  @media (hover: hover) {
100
160
  .x-card:where([data-variant="elevated"]):where(:any-link, button, label):where(:hover) {
101
- box-shadow: var(--shadow-3);
161
+ box-shadow: var(--card-elevated-hover-box-shadow-outer);
102
162
  transition-duration: 40ms;
103
163
  }
164
+
165
+ .x-card:where([data-variant="elevated"]):where(:any-link, button, label):where(:hover):after {
166
+ box-shadow: var(--card-elevated-hover-box-shadow-inner);
167
+ }
168
+ }
169
+
170
+ .x-card:where([data-variant="elevated"]):where(:any-link, button, label):where([data-state="open"]) {
171
+ box-shadow: var(--card-elevated-hover-box-shadow-outer);
172
+ transition-duration: 40ms;
173
+ }
174
+
175
+ .x-card:where([data-variant="elevated"]):where(:any-link, button, label):where([data-state="open"]):after {
176
+ box-shadow: var(--card-elevated-hover-box-shadow-inner);
104
177
  }
105
178
 
106
179
  .x-card:where([data-variant="elevated"]):where(:any-link, button, label):where(:active:not([data-state="open"])) {
107
- box-shadow: var(--shadow-2);
180
+ box-shadow: var(--card-elevated-active-box-shadow-outer);
108
181
  transition-duration: 40ms;
109
182
  }
110
183
 
184
+ .x-card:where([data-variant="elevated"]):where(:any-link, button, label):where(:active:not([data-state="open"])):after {
185
+ box-shadow: var(--card-elevated-active-box-shadow-inner);
186
+ }
187
+
111
188
  .x-card:where([data-variant="borderless"]) {
112
189
  --card-border-width: 0px;
113
190
  }
114
191
 
192
+ .x-card:where([data-variant="borderless"]):before {
193
+ -webkit-backdrop-filter: none;
194
+ backdrop-filter: none;
195
+ background-color: #0000;
196
+ }
197
+
198
+ .x-card:where([data-variant="borderless"]):after {
199
+ box-shadow: none;
200
+ }
201
+
115
202
  @media (hover: hover) {
116
203
  .x-card:where([data-variant="borderless"]):where(:any-link, button, label):where(:hover) {
117
204
  background-color: var(--base-color-a3);
118
205
  }
119
206
  }
120
207
 
208
+ .x-card:where([data-variant="borderless"]):where(:any-link, button, label):where([data-state="open"]) {
209
+ background-color: var(--base-color-a3);
210
+ }
211
+
121
212
  .x-card:where([data-variant="borderless"]):where(:any-link, button, label):where(:active:not([data-state="open"])) {
122
213
  background-color: var(--base-color-a4);
123
214
  }
@@ -131,6 +222,10 @@
131
222
  outline: inherit;
132
223
  }
133
224
 
225
+ .x-card:where(:focus-visible):where(:active:not([data-state="open"])):before {
226
+ background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
227
+ }
228
+
134
229
  .x-card > [data-inset] {
135
230
  --inset-radius: calc(var(--card-border-radius) - var(--card-border-width));
136
231
  box-sizing: border-box;
@@ -0,0 +1,39 @@
1
+ .x-link {
2
+ color: var(--color-a11);
3
+ }
4
+
5
+ .x-link:where(:any-link, button) {
6
+ cursor: var(--cursor-link);
7
+ text-underline-offset: calc(.025em + 2px);
8
+ text-decoration-line: none;
9
+ text-decoration-style: solid;
10
+ text-decoration-thickness: min(2px, max(1px, .05em));
11
+ -webkit-text-decoration-color: var(--color-a5);
12
+ text-decoration-color: var(--color-a5);
13
+ }
14
+
15
+ .x-link:where(:disabled, [aria-disabled="true"]) {
16
+ cursor: var(--cursor-disabled);
17
+ opacity: .5;
18
+ }
19
+
20
+ .x-link:where(:focus-visible) {
21
+ border-radius: calc(.07em * var(--radius-factor, 1));
22
+ outline: 2px solid var(--focus-8);
23
+ outline-offset: 2px;
24
+ text-decoration-line: none;
25
+ }
26
+
27
+ @media (hover: hover) {
28
+ .x-link:where(:not([data-underline]), [data-underline="auto"], [data-underline="hover"]):where(:hover) {
29
+ text-decoration-line: underline;
30
+ }
31
+ }
32
+
33
+ .x-link:where([data-underline="always"]) {
34
+ text-decoration-line: underline;
35
+ }
36
+
37
+ .x-link:where([data-underline="none"]) {
38
+ text-decoration-line: none;
39
+ }
@@ -0,0 +1,63 @@
1
+ .x-progress {
2
+ appearance: none;
3
+ width: 100%;
4
+ height: var(--progress-height);
5
+ border-radius: max(calc(var(--progress-height) / 3), var(--radius-thumb));
6
+ background-color: var(--base-color-a3);
7
+ box-shadow: inset 0 0 0 1px var(--base-color-a5);
8
+ border: 0;
9
+ display: block;
10
+ overflow: hidden;
11
+ }
12
+
13
+ .x-progress::-webkit-progress-bar {
14
+ background-color: var(--base-color-a3);
15
+ box-shadow: inset 0 0 0 1px var(--base-color-a5);
16
+ border-radius: inherit;
17
+ }
18
+
19
+ .x-progress::-webkit-progress-value {
20
+ background-color: var(--color-9);
21
+ border-radius: inherit;
22
+ transition: width .12s linear;
23
+ }
24
+
25
+ .x-progress::-moz-progress-bar {
26
+ background-color: var(--color-9);
27
+ border-radius: inherit;
28
+ transition: width .12s linear;
29
+ }
30
+
31
+ .x-progress:where([data-size="1"]) {
32
+ --progress-height: var(--space-1);
33
+ }
34
+
35
+ .x-progress:where([data-size="2"]) {
36
+ --progress-height: calc(var(--space-2) * .75);
37
+ }
38
+
39
+ .x-progress:where([data-size="3"]) {
40
+ --progress-height: var(--space-2);
41
+ }
42
+
43
+ .x-progress:where(:not([data-size])) {
44
+ --progress-height: calc(var(--space-2) * .75);
45
+ }
46
+
47
+ .x-progress:where([data-variant="soft"]) {
48
+ background-color: var(--base-color-a4);
49
+ box-shadow: none;
50
+ }
51
+
52
+ .x-progress:where([data-variant="soft"])::-webkit-progress-bar {
53
+ background-color: var(--base-color-a4);
54
+ box-shadow: none;
55
+ }
56
+
57
+ .x-progress:where([data-variant="soft"])::-webkit-progress-value {
58
+ background-color: var(--color-a8);
59
+ }
60
+
61
+ .x-progress:where([data-variant="soft"])::-moz-progress-bar {
62
+ background-color: var(--color-a8);
63
+ }
@@ -5,7 +5,7 @@
5
5
 
6
6
  :is(.dark, .dark-theme) {
7
7
  --color-material-solid: var(--base-color-2);
8
- --color-material-translucent: var(--base-color-a2);
8
+ --color-material-translucent: var(--black-a7);
9
9
  }
10
10
 
11
11
  :where([data-material-background="solid"]) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "elements-kit",
3
3
  "type": "module",
4
- "version": "0.7.4",
4
+ "version": "0.8.1",
5
5
  "description": "A lightweight reactive UI library that transforms native HTMLElements into reactive components with signals. Ideal for framework-agnostic applications and web components.",
6
6
  "keywords": [
7
7
  "webcomponents",