beercss 3.13.2 → 3.13.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.
Files changed (159) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +328 -328
  3. package/custom-element/index.d.ts +18 -18
  4. package/custom-element/index.js +7 -7
  5. package/dist/cdn/arch.svg +3 -3
  6. package/dist/cdn/arrow.svg +3 -3
  7. package/dist/cdn/beer.css +4792 -4792
  8. package/dist/cdn/beer.custom-element.js +38 -38
  9. package/dist/cdn/beer.custom-element.min.js +1 -1
  10. package/dist/cdn/beer.js +635 -635
  11. package/dist/cdn/beer.min.css +1 -1
  12. package/dist/cdn/beer.min.js +1 -1
  13. package/dist/cdn/beer.scoped.css +4793 -4793
  14. package/dist/cdn/beer.scoped.min.css +1 -1
  15. package/dist/cdn/boom.svg +3 -3
  16. package/dist/cdn/bun.svg +3 -3
  17. package/dist/cdn/burst.svg +3 -3
  18. package/dist/cdn/circle.svg +3 -3
  19. package/dist/cdn/clamshell.svg +3 -3
  20. package/dist/cdn/diamond.svg +3 -3
  21. package/dist/cdn/fan.svg +3 -3
  22. package/dist/cdn/flower.svg +3 -3
  23. package/dist/cdn/gem.svg +3 -3
  24. package/dist/cdn/ghost-ish.svg +3 -3
  25. package/dist/cdn/heart.svg +3 -3
  26. package/dist/cdn/leaf-clover4.svg +3 -3
  27. package/dist/cdn/leaf-clover8.svg +3 -3
  28. package/dist/cdn/loading-indicator.svg +18 -18
  29. package/dist/cdn/oval.svg +3 -3
  30. package/dist/cdn/pentagon.svg +3 -3
  31. package/dist/cdn/pill.svg +3 -3
  32. package/dist/cdn/pixel-circle.svg +3 -3
  33. package/dist/cdn/pixel-triangle.svg +3 -3
  34. package/dist/cdn/puffy-diamond.svg +3 -3
  35. package/dist/cdn/puffy.svg +3 -3
  36. package/dist/cdn/semicircle.svg +3 -3
  37. package/dist/cdn/sided-cookie12.svg +3 -3
  38. package/dist/cdn/sided-cookie4.svg +3 -3
  39. package/dist/cdn/sided-cookie6.svg +3 -3
  40. package/dist/cdn/sided-cookie7.svg +3 -3
  41. package/dist/cdn/sided-cookie9.svg +3 -3
  42. package/dist/cdn/slanted.svg +3 -3
  43. package/dist/cdn/soft-boom.svg +3 -3
  44. package/dist/cdn/soft-burst.svg +3 -3
  45. package/dist/cdn/square.svg +3 -3
  46. package/dist/cdn/sunny.svg +3 -3
  47. package/dist/cdn/triangle.svg +3 -3
  48. package/dist/cdn/very-sunny.svg +3 -3
  49. package/dist/cdn/wavy-circle.svg +3 -3
  50. package/dist/cdn/wavy.svg +4 -4
  51. package/index.d.ts +18 -18
  52. package/index.js +6 -6
  53. package/package.json +76 -76
  54. package/scoped/index.d.ts +18 -18
  55. package/scoped/index.js +6 -6
  56. package/src/cdn/beer.css +52 -52
  57. package/src/cdn/beer.ts +120 -120
  58. package/src/cdn/customElement.js +38 -38
  59. package/src/cdn/elements/badges.css +74 -74
  60. package/src/cdn/elements/bars.css +91 -91
  61. package/src/cdn/elements/buttons.css +106 -106
  62. package/src/cdn/elements/cards.css +26 -26
  63. package/src/cdn/elements/chips.css +38 -38
  64. package/src/cdn/elements/dialogs.css +151 -151
  65. package/src/cdn/elements/dialogs.ts +69 -69
  66. package/src/cdn/elements/dividers.css +48 -48
  67. package/src/cdn/elements/expansions.css +10 -10
  68. package/src/cdn/elements/fields.css +439 -439
  69. package/src/cdn/elements/fields.ts +165 -165
  70. package/src/cdn/elements/grids.css +171 -171
  71. package/src/cdn/elements/icons.css +77 -77
  72. package/src/cdn/elements/layouts.css +35 -35
  73. package/src/cdn/elements/lists.css +71 -71
  74. package/src/cdn/elements/mainLayouts.css +57 -57
  75. package/src/cdn/elements/media.css +112 -112
  76. package/src/cdn/elements/menus.css +294 -294
  77. package/src/cdn/elements/menus.ts +40 -40
  78. package/src/cdn/elements/navigations.css +462 -462
  79. package/src/cdn/elements/overlays.css +31 -31
  80. package/src/cdn/elements/pages.css +41 -41
  81. package/src/cdn/elements/pages.ts +6 -6
  82. package/src/cdn/elements/progress.css +207 -207
  83. package/src/cdn/elements/progress.ts +34 -34
  84. package/src/cdn/elements/selections.css +256 -256
  85. package/src/cdn/elements/shapes.css +258 -258
  86. package/src/cdn/elements/sliders.css +357 -357
  87. package/src/cdn/elements/sliders.ts +74 -74
  88. package/src/cdn/elements/snackbars.css +47 -47
  89. package/src/cdn/elements/snackbars.ts +26 -26
  90. package/src/cdn/elements/tables.css +65 -65
  91. package/src/cdn/elements/tabs.css +52 -52
  92. package/src/cdn/elements/tooltips.css +131 -131
  93. package/src/cdn/helpers/alignments.css +29 -29
  94. package/src/cdn/helpers/blurs.css +21 -21
  95. package/src/cdn/helpers/colors.css +930 -930
  96. package/src/cdn/helpers/directions.css +28 -28
  97. package/src/cdn/helpers/elevates.css +16 -16
  98. package/src/cdn/helpers/forms.css +75 -75
  99. package/src/cdn/helpers/margins.css +49 -49
  100. package/src/cdn/helpers/opacities.css +19 -19
  101. package/src/cdn/helpers/paddings.css +45 -45
  102. package/src/cdn/helpers/positions.css +45 -45
  103. package/src/cdn/helpers/reset.css +94 -94
  104. package/src/cdn/helpers/responsive.css +22 -22
  105. package/src/cdn/helpers/ripples.css +33 -33
  106. package/src/cdn/helpers/ripples.ts +30 -30
  107. package/src/cdn/helpers/scrolls.css +8 -8
  108. package/src/cdn/helpers/shadows.css +23 -23
  109. package/src/cdn/helpers/sizes.css +45 -45
  110. package/src/cdn/helpers/spaces.css +19 -19
  111. package/src/cdn/helpers/theme.css +186 -186
  112. package/src/cdn/helpers/theme.ts +83 -83
  113. package/src/cdn/helpers/typography.css +225 -225
  114. package/src/cdn/helpers/waves.css +43 -43
  115. package/src/cdn/helpers/zoom.css +19 -19
  116. package/src/cdn/interfaces.ts +3 -3
  117. package/src/cdn/settings/dark.css +38 -38
  118. package/src/cdn/settings/fonts.css +35 -35
  119. package/src/cdn/settings/globals.css +18 -18
  120. package/src/cdn/settings/light.css +39 -39
  121. package/src/cdn/shapes/arch.svg +3 -3
  122. package/src/cdn/shapes/arrow.svg +3 -3
  123. package/src/cdn/shapes/boom.svg +3 -3
  124. package/src/cdn/shapes/bun.svg +3 -3
  125. package/src/cdn/shapes/burst.svg +3 -3
  126. package/src/cdn/shapes/circle.svg +3 -3
  127. package/src/cdn/shapes/clamshell.svg +3 -3
  128. package/src/cdn/shapes/diamond.svg +3 -3
  129. package/src/cdn/shapes/fan.svg +3 -3
  130. package/src/cdn/shapes/flower.svg +3 -3
  131. package/src/cdn/shapes/gem.svg +3 -3
  132. package/src/cdn/shapes/ghost-ish.svg +3 -3
  133. package/src/cdn/shapes/heart.svg +3 -3
  134. package/src/cdn/shapes/leaf-clover4.svg +3 -3
  135. package/src/cdn/shapes/leaf-clover8.svg +3 -3
  136. package/src/cdn/shapes/loading-indicator.svg +18 -18
  137. package/src/cdn/shapes/oval.svg +3 -3
  138. package/src/cdn/shapes/pentagon.svg +3 -3
  139. package/src/cdn/shapes/pill.svg +3 -3
  140. package/src/cdn/shapes/pixel-circle.svg +3 -3
  141. package/src/cdn/shapes/pixel-triangle.svg +3 -3
  142. package/src/cdn/shapes/puffy-diamond.svg +3 -3
  143. package/src/cdn/shapes/puffy.svg +3 -3
  144. package/src/cdn/shapes/semicircle.svg +3 -3
  145. package/src/cdn/shapes/sided-cookie12.svg +3 -3
  146. package/src/cdn/shapes/sided-cookie4.svg +3 -3
  147. package/src/cdn/shapes/sided-cookie6.svg +3 -3
  148. package/src/cdn/shapes/sided-cookie7.svg +3 -3
  149. package/src/cdn/shapes/sided-cookie9.svg +3 -3
  150. package/src/cdn/shapes/slanted.svg +3 -3
  151. package/src/cdn/shapes/soft-boom.svg +3 -3
  152. package/src/cdn/shapes/soft-burst.svg +3 -3
  153. package/src/cdn/shapes/square.svg +3 -3
  154. package/src/cdn/shapes/sunny.svg +3 -3
  155. package/src/cdn/shapes/triangle.svg +3 -3
  156. package/src/cdn/shapes/very-sunny.svg +3 -3
  157. package/src/cdn/shapes/wavy-circle.svg +3 -3
  158. package/src/cdn/shapes/wavy.svg +4 -4
  159. package/src/cdn/utils.ts +154 -154
@@ -1,257 +1,257 @@
1
- /* checkbox, radio, switch */
2
- .checkbox,
3
- .radio,
4
- .switch {
5
- --_size: 1.5rem;
6
- inline-size: auto;
7
- block-size: auto;
8
- line-height: normal;
9
- white-space: nowrap;
10
- cursor: pointer;
11
- display: inline-flex;
12
- align-items: center;
13
- }
14
-
15
- .switch {
16
- direction: ltr;
17
- }
18
-
19
- :is(.checkbox, .radio, .switch).small {
20
- --_size: 1rem;
21
- }
22
-
23
- :is(.checkbox, .radio, .switch).large {
24
- --_size: 2rem;
25
- }
26
-
27
- :is(.checkbox, .radio, .switch).extra {
28
- --_size: 2.5rem;
29
- }
30
-
31
- :is(.checkbox, .radio) > input {
32
- inline-size: var(--_size);
33
- block-size: var(--_size);
34
- opacity: 0;
35
- }
36
-
37
- .switch > input {
38
- inline-size: 3.25rem;
39
- block-size: 2rem;
40
- opacity: 0;
41
- }
42
-
43
- :is(.checkbox, .radio, .switch) > span {
44
- display: inline-flex;
45
- align-items: center;
46
- color: var(--on-surface);
47
- font-size: 0.875rem;
48
- }
49
-
50
- :is(.checkbox, .radio) > span:not(:empty) {
51
- padding-inline-start: 0.25rem;
52
- }
53
-
54
- :is(.checkbox, .radio, .switch) > span::before,
55
- :is(.checkbox, .radio, .switch) > span > i,
56
- :is(.checkbox, .radio) > span::after {
57
- --_size: inherit;
58
- content: '';
59
- inline-size: var(--_size);
60
- block-size: var(--_size);
61
- box-sizing: border-box;
62
- margin: 0 auto;
63
- outline: none;
64
- color: var(--primary);
65
- position: absolute;
66
- inset: auto auto auto calc(var(--_size) * -1);
67
- border-radius: 50%;
68
- user-select: none;
69
- z-index: 1;
70
- }
71
-
72
- [dir=rtl] :is(.checkbox, .radio) > span::before,
73
- [dir=rtl] :is(.checkbox, .radio) > span > i,
74
- [dir=rtl] :is(.checkbox, .radio) > span::after {
75
- --_size: inherit;
76
- inset: auto calc(var(--_size) * -1) auto auto;
77
- }
78
-
79
- .switch > span::before,
80
- .switch.icon > span > i {
81
- position: absolute;
82
- inset: 50% auto auto 0;
83
- display: inline-flex;
84
- align-items: center;
85
- justify-content: center;
86
- border-radius: 50%;
87
- transition: all var(--speed2);
88
- font-size: calc(var(--_size) - 0.5rem);
89
- user-select: none;
90
- min-inline-size: var(--_size);
91
- min-block-size: var(--_size);
92
- content: "";
93
- color: var(--surface-variant);
94
- background-color: var(--outline);
95
- }
96
-
97
- .switch > span::before,
98
- .switch.icon > span > i {
99
- transform: translate(-3rem, -50%) scale(0.6);
100
- }
101
-
102
- .switch.icon > span > i {
103
- transform: translate(-3rem, -50%) scale(1);
104
- }
105
-
106
- .checkbox > span::before {
107
- content: "check_box_outline_blank";
108
- }
109
-
110
- .checkbox > input:checked + span::before {
111
- content: "check_box";
112
- font-variation-settings: "FILL" 1;
113
- }
114
-
115
- .checkbox > input:indeterminate + span::before {
116
- content: "indeterminate_check_box";
117
- }
118
-
119
- .radio > span::before {
120
- content: "radio_button_unchecked";
121
- }
122
-
123
- .radio > input:checked + span::before {
124
- content: "radio_button_checked";
125
- }
126
-
127
- :is(.radio, .checkbox, .switch).icon > span::before {
128
- content: "" !important;
129
- font-variation-settings: unset !important;
130
- }
131
-
132
- :is(.checkbox, .radio) > span::after {
133
- transition: all var(--speed1);
134
- background-color: currentColor;
135
- box-shadow: 0 0 0 0 currentColor;
136
- opacity: 0;
137
- }
138
-
139
- :is(.checkbox, .radio):is(:hover) > input:not(:disabled) + span::after,
140
- :is(.checkbox, .radio) > input:not(:disabled):is(:focus) + span::after {
141
- box-shadow: 0 0 0 0.5rem currentColor;
142
- opacity: 0.1;
143
- }
144
-
145
- .switch > input:not(:disabled):is(:focus, :hover) + span::before,
146
- .switch.icon > input:not(:disabled):is(:focus, :hover) + span > i {
147
- box-shadow: 0 0 0 0.5rem var(--active);
148
- }
149
-
150
- :is(.checkbox, .radio) > input:checked + span::before,
151
- :is(.checkbox, .radio).icon > input:checked + span > i {
152
- color: var(--primary);
153
- }
154
-
155
- .icon > input:checked + span > i:first-child,
156
- .icon > span > i:last-child {
157
- opacity: 0;
158
- }
159
-
160
- .icon > input:checked + span > i:last-child,
161
- .icon > span > i:first-child {
162
- opacity: 1;
163
- }
164
-
165
- .switch > input:checked + span::after {
166
- border: none;
167
- background-color: var(--primary);
168
- }
169
-
170
- .switch > input:checked + span::before,
171
- .switch.icon > input:checked + span > i {
172
- content: "check";
173
- color: var(--primary);
174
- background-color: var(--on-primary);
175
- transform: translate(-1.75rem, -50%) scale(1);
176
- }
177
-
178
- [dir=rtl] .switch > input:checked + span::before,
179
- [dir=rtl] .switch.icon > input:checked + span > i {
180
- transform: translate(-1.75rem, -50%) scale(-1);
181
- }
182
-
183
- .switch > input:active:not(:disabled) + span::before,
184
- .switch.icon > input:active:not(:disabled) + span > i {
185
- transform: translate(-3rem, -50%) scale(1.2);
186
- }
187
-
188
- [dir=rtl] .switch > input:active:not(:disabled) + span::before,
189
- [dir=rtl] .switch.icon > input:active:not(:disabled) + span > i {
190
- transform: translate(-3rem, -50%) scale(-1.2);
191
- }
192
-
193
- .switch > input:active:checked:not(:disabled) + span::before,
194
- .switch.icon > input:active:checked:not(:disabled) + span > i {
195
- transform: translate(-1.75rem, -50%) scale(1.2);
196
- }
197
-
198
- [dir=rtl] .switch > input:active:checked:not(:disabled) + span::before,
199
- [dir=rtl] .switch.icon > input:active:checked:not(:disabled) + span > i {
200
- transform: translate(-1.75rem, -50%) scale(-1.2);
201
- }
202
-
203
- :is(.checkbox, .radio, .switch) > input:disabled + span {
204
- opacity: 0.5;
205
- cursor: not-allowed;
206
- }
207
-
208
- .switch > span::after {
209
- content: "";
210
- position: absolute;
211
- inset: 50% auto auto 0;
212
- background-color: var(--active);
213
- border: 0.125rem solid var(--outline);
214
- box-sizing: border-box;
215
- inline-size: 3.25rem;
216
- block-size: 2rem;
217
- border-radius: 2rem;
218
- transform: translate(-3.25rem, -50%);
219
- }
220
-
221
- .field > :is(nav, .row) {
222
- flex-grow: 1;
223
- padding: 0 1rem;
224
- }
225
-
226
- .field.round > :is(nav, .row) {
227
- flex-grow: 1;
228
- padding: 0 1.5rem;
229
- }
230
-
231
- [dir=rtl] .switch {
232
- transform: scale(-1);
233
- }
234
-
235
- [dir=rtl] .switch > span::before,
236
- [dir=rtl] .switch.icon > span > i {
237
- transform: translate(-3rem, -50%) scale(-0.6);
238
- }
239
-
240
- [dir=rtl] .switch.icon > span > i {
241
- transform: translate(-3rem, -50%) scale(-1);
242
- }
243
-
244
- [dir=rtl] .switch > input:checked + span::before,
245
- [dir=rtl] .switch.icon > input:checked + span > i {
246
- transform: translate(-1.75rem, -50%) scale(-1);
247
- }
248
-
249
- .switch > :focus-visible + span::after {
250
- outline: 0.125rem solid var(--primary);
251
- outline-offset: 0.25rem;
252
- }
253
-
254
- :is(.checkbox, .radio) > :focus-visible + span::before {
255
- outline: 0.125rem solid var(--primary);
256
- outline-offset: 0.375rem;
1
+ /* checkbox, radio, switch */
2
+ .checkbox,
3
+ .radio,
4
+ .switch {
5
+ --_size: 1.5rem;
6
+ inline-size: auto;
7
+ block-size: auto;
8
+ line-height: normal;
9
+ white-space: nowrap;
10
+ cursor: pointer;
11
+ display: inline-flex;
12
+ align-items: center;
13
+ }
14
+
15
+ .switch {
16
+ direction: ltr;
17
+ }
18
+
19
+ :is(.checkbox, .radio, .switch).small {
20
+ --_size: 1rem;
21
+ }
22
+
23
+ :is(.checkbox, .radio, .switch).large {
24
+ --_size: 2rem;
25
+ }
26
+
27
+ :is(.checkbox, .radio, .switch).extra {
28
+ --_size: 2.5rem;
29
+ }
30
+
31
+ :is(.checkbox, .radio) > input {
32
+ inline-size: var(--_size);
33
+ block-size: var(--_size);
34
+ opacity: 0;
35
+ }
36
+
37
+ .switch > input {
38
+ inline-size: 3.25rem;
39
+ block-size: 2rem;
40
+ opacity: 0;
41
+ }
42
+
43
+ :is(.checkbox, .radio, .switch) > span {
44
+ display: inline-flex;
45
+ align-items: center;
46
+ color: var(--on-surface);
47
+ font-size: 0.875rem;
48
+ }
49
+
50
+ :is(.checkbox, .radio) > span:not(:empty) {
51
+ padding-inline-start: 0.25rem;
52
+ }
53
+
54
+ :is(.checkbox, .radio, .switch) > span::before,
55
+ :is(.checkbox, .radio, .switch) > span > i,
56
+ :is(.checkbox, .radio) > span::after {
57
+ --_size: inherit;
58
+ content: '';
59
+ inline-size: var(--_size);
60
+ block-size: var(--_size);
61
+ box-sizing: border-box;
62
+ margin: 0 auto;
63
+ outline: none;
64
+ color: var(--primary);
65
+ position: absolute;
66
+ inset: auto auto auto calc(var(--_size) * -1);
67
+ border-radius: 50%;
68
+ user-select: none;
69
+ z-index: 1;
70
+ }
71
+
72
+ [dir=rtl] :is(.checkbox, .radio) > span::before,
73
+ [dir=rtl] :is(.checkbox, .radio) > span > i,
74
+ [dir=rtl] :is(.checkbox, .radio) > span::after {
75
+ --_size: inherit;
76
+ inset: auto calc(var(--_size) * -1) auto auto;
77
+ }
78
+
79
+ .switch > span::before,
80
+ .switch.icon > span > i {
81
+ position: absolute;
82
+ inset: 50% auto auto 0;
83
+ display: inline-flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ border-radius: 50%;
87
+ transition: all var(--speed2);
88
+ font-size: calc(var(--_size) - 0.5rem);
89
+ user-select: none;
90
+ min-inline-size: var(--_size);
91
+ min-block-size: var(--_size);
92
+ content: "";
93
+ color: var(--surface-variant);
94
+ background-color: var(--outline);
95
+ }
96
+
97
+ .switch > span::before,
98
+ .switch.icon > span > i {
99
+ transform: translate(-3rem, -50%) scale(0.6);
100
+ }
101
+
102
+ .switch.icon > span > i {
103
+ transform: translate(-3rem, -50%) scale(1);
104
+ }
105
+
106
+ .checkbox > span::before {
107
+ content: "check_box_outline_blank";
108
+ }
109
+
110
+ .checkbox > input:checked + span::before {
111
+ content: "check_box";
112
+ font-variation-settings: "FILL" 1;
113
+ }
114
+
115
+ .checkbox > input:indeterminate + span::before {
116
+ content: "indeterminate_check_box";
117
+ }
118
+
119
+ .radio > span::before {
120
+ content: "radio_button_unchecked";
121
+ }
122
+
123
+ .radio > input:checked + span::before {
124
+ content: "radio_button_checked";
125
+ }
126
+
127
+ :is(.radio, .checkbox, .switch).icon > span::before {
128
+ content: "" !important;
129
+ font-variation-settings: unset !important;
130
+ }
131
+
132
+ :is(.checkbox, .radio) > span::after {
133
+ transition: all var(--speed1);
134
+ background-color: currentColor;
135
+ box-shadow: 0 0 0 0 currentColor;
136
+ opacity: 0;
137
+ }
138
+
139
+ :is(.checkbox, .radio):is(:hover) > input:not(:disabled) + span::after,
140
+ :is(.checkbox, .radio) > input:not(:disabled):is(:focus) + span::after {
141
+ box-shadow: 0 0 0 0.5rem currentColor;
142
+ opacity: 0.1;
143
+ }
144
+
145
+ .switch > input:not(:disabled):is(:focus, :hover) + span::before,
146
+ .switch.icon > input:not(:disabled):is(:focus, :hover) + span > i {
147
+ box-shadow: 0 0 0 0.5rem var(--active);
148
+ }
149
+
150
+ :is(.checkbox, .radio) > input:checked + span::before,
151
+ :is(.checkbox, .radio).icon > input:checked + span > i {
152
+ color: var(--primary);
153
+ }
154
+
155
+ .icon > input:checked + span > i:first-child,
156
+ .icon > span > i:last-child {
157
+ opacity: 0;
158
+ }
159
+
160
+ .icon > input:checked + span > i:last-child,
161
+ .icon > span > i:first-child {
162
+ opacity: 1;
163
+ }
164
+
165
+ .switch > input:checked + span::after {
166
+ border: none;
167
+ background-color: var(--primary);
168
+ }
169
+
170
+ .switch > input:checked + span::before,
171
+ .switch.icon > input:checked + span > i {
172
+ content: "check";
173
+ color: var(--primary);
174
+ background-color: var(--on-primary);
175
+ transform: translate(-1.75rem, -50%) scale(1);
176
+ }
177
+
178
+ [dir=rtl] .switch > input:checked + span::before,
179
+ [dir=rtl] .switch.icon > input:checked + span > i {
180
+ transform: translate(-1.75rem, -50%) scale(-1);
181
+ }
182
+
183
+ .switch > input:active:not(:disabled) + span::before,
184
+ .switch.icon > input:active:not(:disabled) + span > i {
185
+ transform: translate(-3rem, -50%) scale(1.2);
186
+ }
187
+
188
+ [dir=rtl] .switch > input:active:not(:disabled) + span::before,
189
+ [dir=rtl] .switch.icon > input:active:not(:disabled) + span > i {
190
+ transform: translate(-3rem, -50%) scale(-1.2);
191
+ }
192
+
193
+ .switch > input:active:checked:not(:disabled) + span::before,
194
+ .switch.icon > input:active:checked:not(:disabled) + span > i {
195
+ transform: translate(-1.75rem, -50%) scale(1.2);
196
+ }
197
+
198
+ [dir=rtl] .switch > input:active:checked:not(:disabled) + span::before,
199
+ [dir=rtl] .switch.icon > input:active:checked:not(:disabled) + span > i {
200
+ transform: translate(-1.75rem, -50%) scale(-1.2);
201
+ }
202
+
203
+ :is(.checkbox, .radio, .switch) > input:disabled + span {
204
+ opacity: 0.5;
205
+ cursor: not-allowed;
206
+ }
207
+
208
+ .switch > span::after {
209
+ content: "";
210
+ position: absolute;
211
+ inset: 50% auto auto 0;
212
+ background-color: var(--active);
213
+ border: 0.125rem solid var(--outline);
214
+ box-sizing: border-box;
215
+ inline-size: 3.25rem;
216
+ block-size: 2rem;
217
+ border-radius: 2rem;
218
+ transform: translate(-3.25rem, -50%);
219
+ }
220
+
221
+ .field > :is(nav, .row) {
222
+ flex-grow: 1;
223
+ padding: 0 1rem;
224
+ }
225
+
226
+ .field.round > :is(nav, .row) {
227
+ flex-grow: 1;
228
+ padding: 0 1.5rem;
229
+ }
230
+
231
+ [dir=rtl] .switch {
232
+ transform: scale(-1);
233
+ }
234
+
235
+ [dir=rtl] .switch > span::before,
236
+ [dir=rtl] .switch.icon > span > i {
237
+ transform: translate(-3rem, -50%) scale(-0.6);
238
+ }
239
+
240
+ [dir=rtl] .switch.icon > span > i {
241
+ transform: translate(-3rem, -50%) scale(-1);
242
+ }
243
+
244
+ [dir=rtl] .switch > input:checked + span::before,
245
+ [dir=rtl] .switch.icon > input:checked + span > i {
246
+ transform: translate(-1.75rem, -50%) scale(-1);
247
+ }
248
+
249
+ .switch > :focus-visible + span::after {
250
+ outline: 0.125rem solid var(--primary);
251
+ outline-offset: 0.25rem;
252
+ }
253
+
254
+ :is(.checkbox, .radio) > :focus-visible + span::before {
255
+ outline: 0.125rem solid var(--primary);
256
+ outline-offset: 0.375rem;
257
257
  }