elements-kit 0.7.1 → 0.7.3

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.
@@ -0,0 +1,77 @@
1
+ .x-alert {
2
+ box-sizing: border-box;
3
+ text-align: left;
4
+ color: var(--color-a11);
5
+ grid-template-columns: auto 1fr;
6
+ justify-content: flex-start;
7
+ align-items: flex-start;
8
+ display: grid;
9
+ }
10
+
11
+ .x-alert:where([data-high-contrast]) {
12
+ color: var(--color-12);
13
+ }
14
+
15
+ .x-alert-icon {
16
+ height: var(--alert-icon-height);
17
+ grid-column-start: 1;
18
+ align-items: center;
19
+ display: flex;
20
+ }
21
+
22
+ .x-alert > :where(:not(.x-alert-icon)) {
23
+ grid-column-start: 2;
24
+ }
25
+
26
+ .x-alert:where([data-size="1"]) {
27
+ row-gap: var(--space-2);
28
+ column-gap: var(--space-2);
29
+ padding: var(--space-3);
30
+ border-radius: var(--radius-3);
31
+ --alert-icon-height: var(--line-height-2);
32
+ font-size: var(--font-size-2);
33
+ line-height: var(--line-height-2);
34
+ }
35
+
36
+ .x-alert:where([data-size="2"]) {
37
+ row-gap: var(--space-2);
38
+ column-gap: var(--space-3);
39
+ padding: var(--space-4);
40
+ border-radius: var(--radius-4);
41
+ --alert-icon-height: var(--line-height-2);
42
+ font-size: var(--font-size-2);
43
+ line-height: var(--line-height-2);
44
+ }
45
+
46
+ .x-alert:where([data-size="3"]) {
47
+ row-gap: var(--space-3);
48
+ column-gap: var(--space-4);
49
+ padding: var(--space-5);
50
+ border-radius: var(--radius-5);
51
+ --alert-icon-height: var(--line-height-3);
52
+ font-size: var(--font-size-3);
53
+ line-height: var(--line-height-3);
54
+ }
55
+
56
+ .x-alert:where(:not([data-size])) {
57
+ row-gap: var(--space-2);
58
+ column-gap: var(--space-3);
59
+ padding: var(--space-4);
60
+ border-radius: var(--radius-4);
61
+ --alert-icon-height: var(--line-height-2);
62
+ font-size: var(--font-size-2);
63
+ line-height: var(--line-height-2);
64
+ }
65
+
66
+ .x-alert:where(:not([data-variant="surface"], [data-variant="outline"])) {
67
+ background-color: var(--color-a3);
68
+ }
69
+
70
+ .x-alert:where([data-variant="surface"]) {
71
+ background-color: var(--color-a2);
72
+ box-shadow: inset 0 0 0 1px var(--color-a6);
73
+ }
74
+
75
+ .x-alert:where([data-variant="outline"]) {
76
+ box-shadow: inset 0 0 0 1px var(--color-a7);
77
+ }
@@ -0,0 +1,108 @@
1
+ .x-checkbox {
2
+ appearance: none;
3
+ vertical-align: text-bottom;
4
+ width: var(--checkbox-size);
5
+ height: var(--checkbox-size);
6
+ border-radius: var(--checkbox-border-radius);
7
+ cursor: var(--cursor-checkbox);
8
+ flex-shrink: 0;
9
+ margin: 0;
10
+ padding: 0;
11
+ transition: background-color 80ms, box-shadow 80ms;
12
+ display: inline-block;
13
+ position: relative;
14
+ }
15
+
16
+ .x-checkbox:where([data-disabled], :disabled) {
17
+ cursor: var(--cursor-disabled);
18
+ }
19
+
20
+ .x-checkbox:before {
21
+ content: "";
22
+ position: absolute;
23
+ top: 50%;
24
+ left: 50%;
25
+ transform: translate(-50%, -50%);
26
+ }
27
+
28
+ .x-checkbox:where(:checked):before {
29
+ content: "✓";
30
+ font-family: var(--default-font-family);
31
+ font-size: var(--checkbox-indicator-size);
32
+ color: currentColor;
33
+ font-weight: 700;
34
+ line-height: 1;
35
+ }
36
+
37
+ .x-checkbox:where(:indeterminate):before {
38
+ content: "";
39
+ width: calc(var(--checkbox-indicator-size) * .7);
40
+ height: max(1.5px, calc(var(--checkbox-indicator-size) * .15));
41
+ background-color: currentColor;
42
+ border-radius: 1px;
43
+ }
44
+
45
+ .x-checkbox:where(:focus-visible) {
46
+ outline: 2px solid var(--focus-8);
47
+ outline-offset: 2px;
48
+ }
49
+
50
+ .x-checkbox:where([data-size="1"]) {
51
+ --checkbox-size: calc(var(--space-4) * .875);
52
+ --checkbox-indicator-size: calc(9px * var(--scaling));
53
+ --checkbox-border-radius: calc(var(--radius-1) * .875);
54
+ }
55
+
56
+ .x-checkbox:where([data-size="2"]) {
57
+ --checkbox-size: var(--space-4);
58
+ --checkbox-indicator-size: calc(10px * var(--scaling));
59
+ --checkbox-border-radius: var(--radius-1);
60
+ }
61
+
62
+ .x-checkbox:where([data-size="3"]) {
63
+ --checkbox-size: calc(var(--space-4) * 1.25);
64
+ --checkbox-indicator-size: calc(12px * var(--scaling));
65
+ --checkbox-border-radius: calc(var(--radius-1) * 1.25);
66
+ }
67
+
68
+ .x-checkbox:where(:not([data-size])) {
69
+ --checkbox-size: var(--space-4);
70
+ --checkbox-indicator-size: calc(10px * var(--scaling));
71
+ --checkbox-border-radius: var(--radius-1);
72
+ }
73
+
74
+ .x-checkbox:where(:not([data-variant="soft"])) {
75
+ background-color: var(--color-surface);
76
+ box-shadow: inset 0 0 0 1px var(--base-color-a7);
77
+ }
78
+
79
+ .x-checkbox:where(:not([data-variant="soft"])):where(:checked, :indeterminate) {
80
+ background-color: var(--color-9);
81
+ color: var(--accent-contrast);
82
+ box-shadow: none;
83
+ }
84
+
85
+ .x-checkbox:where(:not([data-variant="soft"])):where([data-high-contrast]):where(:checked, :indeterminate) {
86
+ background-color: var(--color-12);
87
+ color: var(--base-color-1);
88
+ }
89
+
90
+ .x-checkbox:where(:not([data-variant="soft"])):where([data-disabled], :disabled) {
91
+ box-shadow: inset 0 0 0 1px var(--base-color-a6);
92
+ color: var(--base-color-a8);
93
+ background-color: #0000;
94
+ }
95
+
96
+ .x-checkbox:where([data-variant="soft"]) {
97
+ background-color: var(--color-a5);
98
+ color: var(--color-a11);
99
+ }
100
+
101
+ .x-checkbox:where([data-variant="soft"]):where([data-high-contrast]):where(:checked, :indeterminate) {
102
+ color: var(--color-12);
103
+ }
104
+
105
+ .x-checkbox:where([data-variant="soft"]):where([data-disabled], :disabled) {
106
+ background-color: var(--base-color-a3);
107
+ color: var(--base-color-a8);
108
+ }
@@ -0,0 +1,123 @@
1
+ .x-code {
2
+ --code-variant-font-size-adjust: calc(var(--code-font-size-adjust) * .95);
3
+ font-family: var(--code-font-family);
4
+ font-size: calc(var(--code-variant-font-size-adjust) * 1em);
5
+ font-style: var(--code-font-style);
6
+ font-weight: var(--code-font-weight);
7
+ letter-spacing: calc(var(--code-letter-spacing) +
8
+ var(--letter-spacing, var(--default-letter-spacing)));
9
+ border-radius: calc((.5px + .2em) * var(--radius-factor));
10
+ box-sizing: border-box;
11
+ padding-top: var(--code-padding-top);
12
+ padding-left: var(--code-padding-left);
13
+ padding-bottom: var(--code-padding-bottom);
14
+ padding-right: var(--code-padding-right);
15
+ height: fit-content;
16
+ line-height: 1.25;
17
+ }
18
+
19
+ .x-code :where(.x-code) {
20
+ font-size: inherit;
21
+ }
22
+
23
+ .x-code:where([data-size="1"]) {
24
+ font-size: calc(var(--font-size-1) * var(--code-variant-font-size-adjust));
25
+ line-height: var(--line-height-1);
26
+ --letter-spacing: var(--letter-spacing-1);
27
+ }
28
+
29
+ .x-code:where([data-size="2"]) {
30
+ font-size: calc(var(--font-size-2) * var(--code-variant-font-size-adjust));
31
+ line-height: var(--line-height-2);
32
+ --letter-spacing: var(--letter-spacing-2);
33
+ }
34
+
35
+ .x-code:where([data-size="3"]) {
36
+ font-size: calc(var(--font-size-3) * var(--code-variant-font-size-adjust));
37
+ line-height: var(--line-height-3);
38
+ --letter-spacing: var(--letter-spacing-3);
39
+ }
40
+
41
+ .x-code:where([data-size="4"]) {
42
+ font-size: calc(var(--font-size-4) * var(--code-variant-font-size-adjust));
43
+ line-height: var(--line-height-4);
44
+ --letter-spacing: var(--letter-spacing-4);
45
+ }
46
+
47
+ .x-code:where([data-size="5"]) {
48
+ font-size: calc(var(--font-size-5) * var(--code-variant-font-size-adjust));
49
+ line-height: var(--line-height-5);
50
+ --letter-spacing: var(--letter-spacing-5);
51
+ }
52
+
53
+ .x-code:where([data-size="6"]) {
54
+ font-size: calc(var(--font-size-6) * var(--code-variant-font-size-adjust));
55
+ line-height: var(--line-height-6);
56
+ --letter-spacing: var(--letter-spacing-6);
57
+ }
58
+
59
+ .x-code:where([data-size="7"]) {
60
+ font-size: calc(var(--font-size-7) * var(--code-variant-font-size-adjust));
61
+ line-height: var(--line-height-7);
62
+ --letter-spacing: var(--letter-spacing-7);
63
+ }
64
+
65
+ .x-code:where([data-size="8"]) {
66
+ font-size: calc(var(--font-size-8) * var(--code-variant-font-size-adjust));
67
+ line-height: var(--line-height-8);
68
+ --letter-spacing: var(--letter-spacing-8);
69
+ }
70
+
71
+ .x-code:where([data-size="9"]) {
72
+ font-size: calc(var(--font-size-9) * var(--code-variant-font-size-adjust));
73
+ line-height: var(--line-height-9);
74
+ --letter-spacing: var(--letter-spacing-9);
75
+ }
76
+
77
+ .x-code:where(:not([data-variant="solid"], [data-variant="outline"], [data-variant="ghost"])) {
78
+ background-color: var(--color-a3);
79
+ color: var(--color-a11);
80
+ }
81
+
82
+ .x-code:where(:not([data-variant="solid"], [data-variant="outline"], [data-variant="ghost"])):where([data-high-contrast]) {
83
+ color: var(--color-12);
84
+ }
85
+
86
+ .x-code:where([data-variant="solid"]) {
87
+ background-color: var(--color-9);
88
+ color: var(--accent-contrast);
89
+ }
90
+
91
+ .x-code:where([data-variant="solid"])::selection {
92
+ background-color: var(--color-7);
93
+ color: var(--color-12);
94
+ }
95
+
96
+ .x-code:where([data-variant="solid"]):where([data-high-contrast]) {
97
+ background-color: var(--color-12);
98
+ color: var(--color-1);
99
+ }
100
+
101
+ .x-code:where([data-variant="outline"]) {
102
+ box-shadow: inset 0 0 0 max(1px, .033em) var(--color-a8);
103
+ color: var(--color-a11);
104
+ }
105
+
106
+ .x-code:where([data-variant="outline"]):where([data-high-contrast]) {
107
+ box-shadow: inset 0 0 0 max(1px, .033em) var(--color-a7),
108
+ inset 0 0 0 max(1px, .033em) var(--base-color-a11);
109
+ color: var(--color-12);
110
+ }
111
+
112
+ .x-code:where([data-variant="ghost"]) {
113
+ --code-variant-font-size-adjust: var(--code-font-size-adjust);
114
+ padding: 0;
115
+ }
116
+
117
+ .x-code:where([data-variant="ghost"]):where([data-color]) {
118
+ color: var(--color-a11);
119
+ }
120
+
121
+ .x-code:where([data-variant="ghost"]):where([data-color][data-high-contrast]) {
122
+ color: var(--color-12);
123
+ }
@@ -0,0 +1,72 @@
1
+ .x-kbd {
2
+ font-family: var(--default-font-family);
3
+ vertical-align: text-top;
4
+ white-space: nowrap;
5
+ -webkit-user-select: none;
6
+ user-select: none;
7
+ box-sizing: border-box;
8
+ word-spacing: -.1em;
9
+ border-radius: calc(var(--radius-factor) * .35em);
10
+ min-width: 1.75em;
11
+ letter-spacing: var(--letter-spacing, var(--default-letter-spacing));
12
+ height: fit-content;
13
+ color: var(--base-color-12);
14
+ background-color: var(--base-color-a3);
15
+ flex-shrink: 0;
16
+ justify-content: center;
17
+ align-items: center;
18
+ padding-bottom: .05em;
19
+ padding-left: .5em;
20
+ padding-right: .5em;
21
+ font-size: .75em;
22
+ font-weight: normal;
23
+ line-height: 1.7em;
24
+ display: inline-flex;
25
+ position: relative;
26
+ top: -.03em;
27
+ }
28
+
29
+ .x-kbd:where([data-size="1"]) {
30
+ font-size: calc(var(--font-size-1) * .8);
31
+ --letter-spacing: var(--letter-spacing-1);
32
+ }
33
+
34
+ .x-kbd:where([data-size="2"]) {
35
+ font-size: calc(var(--font-size-2) * .8);
36
+ --letter-spacing: var(--letter-spacing-2);
37
+ }
38
+
39
+ .x-kbd:where([data-size="3"]) {
40
+ font-size: calc(var(--font-size-3) * .8);
41
+ --letter-spacing: var(--letter-spacing-3);
42
+ }
43
+
44
+ .x-kbd:where([data-size="4"]) {
45
+ font-size: calc(var(--font-size-4) * .8);
46
+ --letter-spacing: var(--letter-spacing-4);
47
+ }
48
+
49
+ .x-kbd:where([data-size="5"]) {
50
+ font-size: calc(var(--font-size-5) * .8);
51
+ --letter-spacing: var(--letter-spacing-5);
52
+ }
53
+
54
+ .x-kbd:where([data-size="6"]) {
55
+ font-size: calc(var(--font-size-6) * .8);
56
+ --letter-spacing: var(--letter-spacing-6);
57
+ }
58
+
59
+ .x-kbd:where([data-size="7"]) {
60
+ font-size: calc(var(--font-size-7) * .8);
61
+ --letter-spacing: var(--letter-spacing-7);
62
+ }
63
+
64
+ .x-kbd:where([data-size="8"]) {
65
+ font-size: calc(var(--font-size-8) * .8);
66
+ --letter-spacing: var(--letter-spacing-8);
67
+ }
68
+
69
+ .x-kbd:where([data-size="9"]) {
70
+ font-size: calc(var(--font-size-9) * .8);
71
+ --letter-spacing: var(--letter-spacing-9);
72
+ }
@@ -0,0 +1,89 @@
1
+ .x-radio {
2
+ appearance: none;
3
+ vertical-align: text-bottom;
4
+ width: var(--radio-size);
5
+ height: var(--radio-size);
6
+ cursor: var(--cursor-radio);
7
+ border-radius: 100%;
8
+ flex-shrink: 0;
9
+ margin: 0;
10
+ padding: 0;
11
+ transition: background-color 80ms, box-shadow 80ms;
12
+ display: inline-block;
13
+ position: relative;
14
+ }
15
+
16
+ .x-radio:where([data-disabled], :disabled) {
17
+ cursor: var(--cursor-disabled);
18
+ }
19
+
20
+ .x-radio:after {
21
+ content: "";
22
+ background-color: currentColor;
23
+ border-radius: 100%;
24
+ transition: transform 80ms;
25
+ position: absolute;
26
+ inset: 0;
27
+ transform: scale(0);
28
+ }
29
+
30
+ .x-radio:where(:checked):after {
31
+ transform: scale(.4);
32
+ }
33
+
34
+ .x-radio:where(:focus-visible) {
35
+ outline: 2px solid var(--focus-8);
36
+ outline-offset: 2px;
37
+ }
38
+
39
+ .x-radio:where([data-size="1"]) {
40
+ --radio-size: calc(var(--space-4) * .875);
41
+ }
42
+
43
+ .x-radio:where([data-size="2"]) {
44
+ --radio-size: var(--space-4);
45
+ }
46
+
47
+ .x-radio:where([data-size="3"]) {
48
+ --radio-size: calc(var(--space-4) * 1.25);
49
+ }
50
+
51
+ .x-radio:where(:not([data-size])) {
52
+ --radio-size: var(--space-4);
53
+ }
54
+
55
+ .x-radio:where(:not([data-variant="soft"])) {
56
+ background-color: var(--color-surface);
57
+ box-shadow: inset 0 0 0 1px var(--base-color-a7);
58
+ }
59
+
60
+ .x-radio:where(:not([data-variant="soft"])):where(:checked) {
61
+ background-color: var(--color-9);
62
+ color: var(--accent-contrast);
63
+ box-shadow: none;
64
+ }
65
+
66
+ .x-radio:where(:not([data-variant="soft"])):where([data-high-contrast]):where(:checked) {
67
+ background-color: var(--color-12);
68
+ color: var(--base-color-1);
69
+ }
70
+
71
+ .x-radio:where(:not([data-variant="soft"])):where([data-disabled], :disabled) {
72
+ background-color: var(--base-color-a3);
73
+ box-shadow: inset 0 0 0 1px var(--base-color-a6);
74
+ color: var(--base-color-a8);
75
+ }
76
+
77
+ .x-radio:where([data-variant="soft"]) {
78
+ background-color: var(--color-a4);
79
+ color: var(--color-a11);
80
+ }
81
+
82
+ .x-radio:where([data-variant="soft"]):where([data-high-contrast]):where(:checked) {
83
+ color: var(--color-12);
84
+ }
85
+
86
+ .x-radio:where([data-variant="soft"]):where([data-disabled], :disabled) {
87
+ background-color: var(--base-color-a3);
88
+ color: var(--base-color-a8);
89
+ }
@@ -0,0 +1,100 @@
1
+ .x-slider {
2
+ --slider-thumb-size: calc(var(--slider-track-size) + var(--space-1));
3
+ --slider-fill-color: var(--color-9);
4
+ height: var(--slider-thumb-size);
5
+ accent-color: var(--slider-fill-color);
6
+ cursor: var(--cursor-slider-thumb);
7
+ }
8
+
9
+ .x-slider:where([data-disabled], :disabled) {
10
+ --slider-fill-color: var(--base-color-a6);
11
+ opacity: .5;
12
+ cursor: var(--cursor-disabled);
13
+ }
14
+
15
+ .x-slider:where(:focus-visible) {
16
+ outline: 2px solid var(--focus-8);
17
+ outline-offset: 2px;
18
+ }
19
+
20
+ .x-slider::-webkit-slider-runnable-track {
21
+ height: var(--slider-track-size);
22
+ border-radius: max(calc(var(--slider-track-size) / 3), var(--radius-thumb));
23
+ }
24
+
25
+ .x-slider::-webkit-slider-thumb {
26
+ appearance: none;
27
+ width: var(--slider-thumb-size);
28
+ height: var(--slider-thumb-size);
29
+ box-shadow: var(--slider-thumb-shadow);
30
+ cursor: var(--cursor-slider-thumb);
31
+ background-color: #fff;
32
+ background-image: none;
33
+ border: 0;
34
+ border-radius: 50%;
35
+ position: relative;
36
+ top: 50%;
37
+ transform: translateY(-50%);
38
+ }
39
+
40
+ .x-slider:where(:active)::-webkit-slider-thumb {
41
+ cursor: var(--cursor-slider-thumb-active);
42
+ }
43
+
44
+ .x-slider::-moz-range-track {
45
+ height: var(--slider-track-size);
46
+ background-color: var(--slider-track-bg);
47
+ border-radius: max(calc(var(--slider-track-size) / 3), var(--radius-thumb));
48
+ box-shadow: var(--slider-track-shadow, none);
49
+ }
50
+
51
+ .x-slider::-moz-range-progress {
52
+ height: var(--slider-track-size);
53
+ background-color: var(--slider-fill-color);
54
+ border-radius: max(calc(var(--slider-track-size) / 3), var(--radius-thumb));
55
+ }
56
+
57
+ .x-slider::-moz-range-thumb {
58
+ width: var(--slider-thumb-size);
59
+ height: var(--slider-thumb-size);
60
+ box-shadow: var(--slider-thumb-shadow);
61
+ cursor: var(--cursor-slider-thumb);
62
+ background-color: #fff;
63
+ border: 0;
64
+ border-radius: 50%;
65
+ }
66
+
67
+ .x-slider:where(:active)::-moz-range-thumb {
68
+ cursor: var(--cursor-slider-thumb-active);
69
+ }
70
+
71
+ .x-slider:where([data-size="1"]) {
72
+ --slider-track-size: calc(var(--space-2) * .75);
73
+ }
74
+
75
+ .x-slider:where([data-size="2"]) {
76
+ --slider-track-size: var(--space-2);
77
+ }
78
+
79
+ .x-slider:where([data-size="3"]) {
80
+ --slider-track-size: calc(var(--space-2) * 1.25);
81
+ }
82
+
83
+ .x-slider:where(:not([data-size])) {
84
+ --slider-track-size: var(--space-2);
85
+ }
86
+
87
+ .x-slider:where(:not([data-variant="soft"])) {
88
+ --slider-track-bg: var(--base-color-a3);
89
+ --slider-track-shadow: inset 0 0 0 1px var(--base-color-a5);
90
+ --slider-thumb-shadow: 0 0 0 1px var(--black-a4);
91
+ --slider-fill-color: var(--color-9);
92
+ }
93
+
94
+ .x-slider:where([data-variant="soft"]) {
95
+ --slider-track-bg: var(--base-color-a4);
96
+ --slider-thumb-shadow: 0 0 0 1px var(--black-a3), 0 0 0 1px var(--base-color-a2),
97
+ 0 0 0 1px var(--color-a2), 0 1px 2px var(--base-color-a4),
98
+ 0 1px 3px -.5px var(--base-color-a3);
99
+ --slider-fill-color: var(--color-a8);
100
+ }
@@ -0,0 +1,127 @@
1
+ .x-switch {
2
+ appearance: none;
3
+ vertical-align: text-bottom;
4
+ box-sizing: border-box;
5
+ --switch-width: calc(var(--switch-height) * 1.75);
6
+ --switch-thumb-inset: 1px;
7
+ --switch-thumb-size: calc(var(--switch-height) - var(--switch-thumb-inset) * 2);
8
+ --switch-thumb-translate-x: calc(var(--switch-width) - var(--switch-height));
9
+ width: var(--switch-width);
10
+ height: var(--switch-height);
11
+ border-radius: var(--switch-border-radius);
12
+ cursor: var(--cursor-switch);
13
+ flex-shrink: 0;
14
+ margin: 0;
15
+ padding: 0;
16
+ transition: background-color .14s ease-in-out, box-shadow .14s ease-in-out;
17
+ display: inline-block;
18
+ position: relative;
19
+ }
20
+
21
+ .x-switch:where([data-disabled], :disabled) {
22
+ cursor: var(--cursor-disabled);
23
+ }
24
+
25
+ .x-switch:after {
26
+ content: "";
27
+ top: var(--switch-thumb-inset);
28
+ left: var(--switch-thumb-inset);
29
+ width: var(--switch-thumb-size);
30
+ height: var(--switch-thumb-size);
31
+ border-radius: calc(var(--switch-border-radius) - var(--switch-thumb-inset));
32
+ background-color: #fff;
33
+ transition: transform .14s cubic-bezier(.45, .05, .55, .95), box-shadow .14s ease-in-out;
34
+ position: absolute;
35
+ }
36
+
37
+ .x-switch:where(:checked):after {
38
+ transform: translateX(var(--switch-thumb-translate-x));
39
+ }
40
+
41
+ .x-switch:where(:focus-visible) {
42
+ outline: 2px solid var(--focus-8);
43
+ outline-offset: 2px;
44
+ }
45
+
46
+ .x-switch:where([data-size="1"]) {
47
+ --switch-height: var(--space-4);
48
+ --switch-border-radius: max(var(--radius-1), var(--radius-thumb));
49
+ }
50
+
51
+ .x-switch:where([data-size="2"]) {
52
+ --switch-height: calc(var(--space-5) * 5 / 6);
53
+ --switch-border-radius: max(var(--radius-2), var(--radius-thumb));
54
+ }
55
+
56
+ .x-switch:where([data-size="3"]) {
57
+ --switch-height: var(--space-5);
58
+ --switch-border-radius: max(var(--radius-2), var(--radius-thumb));
59
+ }
60
+
61
+ .x-switch:where(:not([data-size])) {
62
+ --switch-height: calc(var(--space-5) * 5 / 6);
63
+ --switch-border-radius: max(var(--radius-2), var(--radius-thumb));
64
+ }
65
+
66
+ .x-switch:where(:not([data-variant="soft"])) {
67
+ background-color: var(--base-color-a3);
68
+ box-shadow: inset 0 0 0 1px var(--base-color-a5);
69
+ }
70
+
71
+ .x-switch:where(:not([data-variant="soft"])):where(:checked) {
72
+ background-color: var(--color-9);
73
+ box-shadow: inset 0 0 0 1px var(--color-a4);
74
+ }
75
+
76
+ .x-switch:where(:not([data-variant="soft"])):where([data-high-contrast]:checked) {
77
+ background-color: var(--color-12);
78
+ }
79
+
80
+ .x-switch:where(:not([data-variant="soft"])):after {
81
+ box-shadow: 0 0 1px 1px var(--black-a2),
82
+ 0 1px 1px var(--black-a1),
83
+ 0 2px 4px -1px var(--black-a1);
84
+ }
85
+
86
+ .x-switch:where(:not([data-variant="soft"])):where(:checked):after {
87
+ box-shadow: 0 1px 3px var(--black-a2),
88
+ 0 2px 4px -1px var(--black-a1),
89
+ 0 0 0 1px var(--color-a4),
90
+ -1px 0 1px var(--black-a2);
91
+ }
92
+
93
+ .x-switch:where(:not([data-variant="soft"])):where([data-disabled], :disabled) {
94
+ background-color: var(--base-color-a3);
95
+ box-shadow: inset 0 0 0 1px var(--base-color-a3);
96
+ opacity: .7;
97
+ }
98
+
99
+ .x-switch:where(:not([data-variant="soft"])):where([data-disabled], :disabled):after {
100
+ background-color: var(--base-color-2);
101
+ box-shadow: 0 0 0 1px var(--base-color-a2),
102
+ 0 1px 3px var(--black-a1);
103
+ }
104
+
105
+ .x-switch:where([data-variant="soft"]) {
106
+ background-color: var(--base-color-a3);
107
+ }
108
+
109
+ .x-switch:where([data-variant="soft"]):where(:checked) {
110
+ background-color: var(--color-a5);
111
+ }
112
+
113
+ .x-switch:where([data-variant="soft"]):after {
114
+ filter: saturate(.45);
115
+ box-shadow: 0 0 0 1px var(--black-a1),
116
+ 0 1px 3px var(--black-a1);
117
+ }
118
+
119
+ .x-switch:where([data-variant="soft"]):where(:checked):after {
120
+ box-shadow: 0 0 0 1px var(--black-a1),
121
+ 0 1px 3px var(--color-a3),
122
+ 0 2px 4px -1px var(--color-a3);
123
+ }
124
+
125
+ .x-switch:where([data-variant="soft"]):where([data-disabled], :disabled) {
126
+ opacity: .7;
127
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "elements-kit",
3
3
  "type": "module",
4
- "version": "0.7.1",
4
+ "version": "0.7.3",
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",