@firebase-oss/ui-styles 0.0.1 → 0.0.2-exp.ed61394
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/dist/base.css +325 -0
- package/dist/dist.min.css +2 -0
- package/dist/index.cjs +36 -0
- package/dist/index.d.cts +32 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +33 -0
- package/package.json +26 -17
- package/src/base.css +21 -15
- package/src/base.test.ts +2 -2
- package/src/index.ts +22 -0
- package/dist.css +0 -2
package/dist/base.css
ADDED
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
@layer theme {
|
|
18
|
+
:root {
|
|
19
|
+
/* The primary color is used for the button and link colors */
|
|
20
|
+
--fui-primary: var(--color-black);
|
|
21
|
+
/* The primary hover color is used for the button and link colors when hovered */
|
|
22
|
+
--fui-primary-hover: --alpha(var(--fui-primary) / 85%);
|
|
23
|
+
/* The primary surface color is used for the button text color */
|
|
24
|
+
--fui-primary-surface: var(--color-white);
|
|
25
|
+
/* The text color used for body text */
|
|
26
|
+
--fui-text: var(--color-black);
|
|
27
|
+
/* The muted text color used for body text, such as subtitles */
|
|
28
|
+
--fui-text-muted: var(--color-gray-800);
|
|
29
|
+
/* The background color of the cards */
|
|
30
|
+
--fui-background: var(--color-white);
|
|
31
|
+
/* The border color used for none input fields */
|
|
32
|
+
--fui-border: var(--color-gray-200);
|
|
33
|
+
/* The input color used for input fields */
|
|
34
|
+
--fui-input: var(--color-gray-300);
|
|
35
|
+
/* The error color used for error messages */
|
|
36
|
+
--fui-error: var(--color-red-500);
|
|
37
|
+
/* The radius used for the input fields */
|
|
38
|
+
--fui-radius: var(--radius-sm);
|
|
39
|
+
/* The radius used for the cards */
|
|
40
|
+
--fui-radius-card: var(--radius-xl);
|
|
41
|
+
|
|
42
|
+
/* Apply dark mode styles when the dark variant is applied */
|
|
43
|
+
/* See https://tailwindcss.com/docs/dark-mode */
|
|
44
|
+
@variant dark {
|
|
45
|
+
--fui-primary: var(--color-white);
|
|
46
|
+
--fui-primary-hover: --alpha(var(--fui-primary) / 85%);
|
|
47
|
+
--fui-primary-surface: var(--color-black);
|
|
48
|
+
--fui-text: var(--color-white);
|
|
49
|
+
--fui-text-muted: var(--color-neutral-300);
|
|
50
|
+
--fui-background: var(--color-neutral-950);
|
|
51
|
+
--fui-border: var(--color-neutral-800);
|
|
52
|
+
--fui-input: var(--color-neutral-700);
|
|
53
|
+
--fui-error: var(--color-red-700);
|
|
54
|
+
--fui-radius: var(--radius-sm);
|
|
55
|
+
--fui-radius-card: var(--radius-xl);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
@theme {
|
|
62
|
+
--color-primary: var(--fui-primary);
|
|
63
|
+
--color-primary-hover: var(--fui-primary-hover);
|
|
64
|
+
--color-primary-surface: var(--fui-primary-surface);
|
|
65
|
+
--color-text: var(--fui-text);
|
|
66
|
+
--color-text-muted: var(--fui-text-muted);
|
|
67
|
+
--color-background: var(--fui-background);
|
|
68
|
+
--color-border: var(--fui-border);
|
|
69
|
+
--color-input: var(--fui-input);
|
|
70
|
+
--color-error: var(--fui-error);
|
|
71
|
+
--radius: var(--fui-radius);
|
|
72
|
+
--radius-card: var(--fui-radius-card);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@layer components {
|
|
76
|
+
/* Using :where() to reduce CSS specificity - allows users to easily override with their own Tailwind classes */
|
|
77
|
+
:where(.fui-screen) {
|
|
78
|
+
@apply max-w-sm mx-auto;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
:where(.fui-screen .fui-screen__children) {
|
|
82
|
+
@apply space-y-2;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
:where(.fui-content) {
|
|
86
|
+
@apply space-y-2;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
:where(.fui-card) {
|
|
90
|
+
@apply bg-background p-10 border border-border rounded-card space-y-6;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
:where(.fui-card__header) {
|
|
94
|
+
@apply text-center space-y-1;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
:where(.fui-card__title) {
|
|
98
|
+
@apply text-xl font-bold text-text;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
:where(.fui-card__subtitle) {
|
|
102
|
+
@apply text-sm text-text-muted;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
:where(.fui-form) {
|
|
106
|
+
@apply space-y-6;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
:where(.fui-form fieldset),
|
|
110
|
+
:where(.fui-form fieldset label) {
|
|
111
|
+
@apply flex flex-col gap-2 text-text;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
:where(.fui-form fieldset label div[data-input-label]) {
|
|
115
|
+
@apply flex gap-3 text-sm font-medium;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
:where(.fui-form fieldset label div[data-input-label] > div:first-child) {
|
|
119
|
+
@apply grow;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
:where(.fui-form fieldset label div[data-input-description]) {
|
|
123
|
+
@apply text-xs text-text-muted;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
:where(.fui-form .fui-form__action) {
|
|
127
|
+
@apply px-1 hover:underline text-xs text-text-muted;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
:where(.fui-form fieldset label input) {
|
|
131
|
+
@apply w-full border border-input rounded px-2 py-2 text-sm focus:outline-2 focus:outline-primary shadow-xs bg-transparent;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
:where(.fui-form fieldset label input[aria-invalid="true"]) {
|
|
135
|
+
@apply border-error outline-error outline-2;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
:where(.fui-form fieldset label div[data-input-group]) {
|
|
139
|
+
@apply flex items-center gap-2;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
:where(.fui-form .fui-qr-code-container) {
|
|
143
|
+
@apply flex flex-col items-center gap-4 text-text-muted text-xs;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
:where(.fui-error) {
|
|
147
|
+
@apply text-error text-left text-xs;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
:where(.fui-success) {
|
|
151
|
+
@apply text-center text-xs;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
:where(.fui-button) {
|
|
155
|
+
@apply w-full flex items-center justify-center gap-3 px-4 py-2 rounded text-sm font-medium shadow-xs bg-primary text-primary-surface transition hover:bg-primary-hover hover:cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
:where(.fui-button--secondary) {
|
|
159
|
+
@apply bg-transparent text-text border border-input hover:bg-background hover:border-primary;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
:where(.fui-button.fui-provider__button) {
|
|
163
|
+
@apply border border-border;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
:where(.fui-provider__button svg, .fui-provider__button img) {
|
|
167
|
+
@apply w-5 h-5;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
:where(.fui-divider) {
|
|
171
|
+
@apply flex items-center gap-3 my-4;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
:where(.fui-divider__line) {
|
|
175
|
+
@apply flex-1 h-px bg-border;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
:where(.fui-divider__text) {
|
|
179
|
+
@apply text-text-muted text-xs;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
:where(.fui-phone-input) {
|
|
183
|
+
@apply flex gap-2 items-center;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
:where(.fui-phone-input__number-input) {
|
|
187
|
+
@apply border border-input rounded px-2 py-2 text-sm focus:outline-2 focus:outline-primary shadow-xs bg-transparent flex-1;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
:where(.fui-phone-input__number-input[aria-invalid="true"]) {
|
|
191
|
+
@apply outline-error outline-2;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
:where(.fui-country-selector) {
|
|
195
|
+
@apply relative inline-block w-[120px];
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
:where(.fui-country-selector__wrapper) {
|
|
199
|
+
@apply relative flex items-center outline-1 outline-input rounded bg-transparent overflow-hidden;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
:where(.fui-country-selector__flag) {
|
|
203
|
+
@apply absolute left-2 text-lg pointer-events-none;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
:where(.fui-country-selector select) {
|
|
207
|
+
@apply w-full pl-8 pr-2 py-2 text-sm focus:outline-2 focus:outline-primary shadow-xs bg-transparent appearance-none cursor-pointer text-transparent;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
:where(.fui-country-selector__dial-code) {
|
|
211
|
+
@apply absolute left-8 top-1/2 -translate-y-1/2 text-sm pointer-events-none text-text;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid="true"]) .fui-country-selector) {
|
|
215
|
+
@apply outline-error outline-2 rounded;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid="true"]) .fui-country-selector .fui-country-selector__wrapper) {
|
|
219
|
+
@apply outline-error outline-2 rounded;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
:where(.fui-policies) {
|
|
223
|
+
@apply text-text-muted text-center text-xs;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
:where(.fui-policies a, .fui-policies button) {
|
|
227
|
+
@apply hover:underline font-semibold;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.fui-provider__button[data-provider="google.com"][data-themed="true"] {
|
|
231
|
+
--google-primary: #131314;
|
|
232
|
+
--color-primary: var(--google-primary);
|
|
233
|
+
--color-primary-hover: --alpha(var(--google-primary) / 85%);
|
|
234
|
+
--color-primary-surface: #FFFFFF;
|
|
235
|
+
--color-border: var(--google-primary);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.fui-provider__button[data-provider="google.com"][data-themed="neutral"] {
|
|
239
|
+
--google-primary: #F2F2F2;
|
|
240
|
+
--color-primary: var(--google-primary);
|
|
241
|
+
--color-primary-hover: --alpha(var(--google-primary) / 85%);
|
|
242
|
+
--color-primary-surface: #1F1F1F;
|
|
243
|
+
--color-border: transparent;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
@variant dark {
|
|
247
|
+
.fui-provider__button[data-provider="google.com"][data-themed="true"] {
|
|
248
|
+
--google-primary: #FFFFFF;
|
|
249
|
+
--color-primary: var(--google-primary);
|
|
250
|
+
--color-primary-hover: --alpha(var(--google-primary) / 85%);
|
|
251
|
+
--color-primary-surface: #1F1F1F;
|
|
252
|
+
--color-border: #747775;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.fui-provider__button[data-provider="facebook.com"][data-themed="true"] {
|
|
257
|
+
--facebook-primary: #1877F2;
|
|
258
|
+
--color-primary: var(--facebook-primary);
|
|
259
|
+
--color-primary-hover: --alpha(var(--facebook-primary) / 85%);
|
|
260
|
+
--color-primary-surface: var(--color-white);
|
|
261
|
+
--color-border: var(--facebook-primary);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.fui-provider__button[data-provider="apple.com"][data-themed="true"] {
|
|
265
|
+
--apple-primary: #000000;
|
|
266
|
+
--color-primary: var(--apple-primary);
|
|
267
|
+
--color-primary-hover: --alpha(var(--apple-primary) / 85%);
|
|
268
|
+
--color-primary-surface: #FFFFFF;
|
|
269
|
+
--color-border: var(--apple-primary);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
@variant dark {
|
|
273
|
+
.fui-provider__button[data-provider="apple.com"][data-themed="true"] {
|
|
274
|
+
--apple-primary: var(--color-white);
|
|
275
|
+
--color-primary: var(--apple-primary);
|
|
276
|
+
--color-primary-hover: --alpha(var(--apple-primary) / 85%);
|
|
277
|
+
--color-primary-surface: var(--color-black);
|
|
278
|
+
--color-border: var(--color-white);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.fui-provider__button[data-provider="github.com"][data-themed="true"] {
|
|
283
|
+
--github-primary: #000000;
|
|
284
|
+
--color-primary: var(--github-primary);
|
|
285
|
+
--color-primary-hover: --alpha(var(--github-primary) / 85%);
|
|
286
|
+
--color-primary-surface: #FFFFFF;
|
|
287
|
+
--color-border: var(--github-primary);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
@variant dark {
|
|
291
|
+
.fui-provider__button[data-provider="github.com"][data-themed="true"] {
|
|
292
|
+
--github-primary: var(--color-white);
|
|
293
|
+
--color-primary: var(--github-primary);
|
|
294
|
+
--color-primary-hover: --alpha(var(--github-primary) / 85%);
|
|
295
|
+
--color-primary-surface: var(--color-black);
|
|
296
|
+
--color-border: var(--color-white);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.fui-provider__button[data-provider="microsoft.com"][data-themed="true"] {
|
|
301
|
+
--microsoft-primary: #2F2F2F;
|
|
302
|
+
--color-primary: var(--microsoft-primary);
|
|
303
|
+
--color-primary-hover: --alpha(var(--microsoft-primary) / 85%);
|
|
304
|
+
--color-primary-surface: #FFFFFF;
|
|
305
|
+
--color-border: var(--microsoft-primary);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
@variant dark {
|
|
309
|
+
.fui-provider__button[data-provider="microsoft.com"][data-themed="true"] {
|
|
310
|
+
--microsoft-primary: var(--color-white);
|
|
311
|
+
--color-primary: var(--microsoft-primary);
|
|
312
|
+
--color-primary-hover: --alpha(var(--microsoft-primary) / 85%);
|
|
313
|
+
--color-primary-surface: #5E5E5E;
|
|
314
|
+
--color-border: var(--color-white);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.fui-provider__button[data-provider="twitter.com"][data-themed="true"] {
|
|
319
|
+
--twitter-primary: #1DA1F2;
|
|
320
|
+
--color-primary: var(--twitter-primary);
|
|
321
|
+
--color-primary-hover: --alpha(var(--twitter-primary) / 85%);
|
|
322
|
+
--color-primary-surface: #FFFFFF;
|
|
323
|
+
--color-border: var(--twitter-primary);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-800:oklch(27.8% .033 256.848);--color-neutral-300:oklch(87% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--radius:var(--fui-radius);--color-primary:var(--fui-primary);--color-primary-hover:var(--fui-primary-hover);--color-primary-surface:var(--fui-primary-surface);--color-text:var(--fui-text);--color-text-muted:var(--fui-text-muted);--color-background:var(--fui-background);--color-border:var(--fui-border);--color-input:var(--fui-input);--color-error:var(--fui-error);--radius-card:var(--fui-radius-card)}:root{--fui-primary:var(--color-black);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-white);--fui-text:var(--color-black);--fui-text-muted:var(--color-gray-800);--fui-background:var(--color-white);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}@media (prefers-color-scheme:dark){:root{--fui-primary:var(--color-white);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-black);--fui-text:var(--color-white);--fui-text-muted:var(--color-neutral-300);--fui-background:var(--color-neutral-950);--fui-border:var(--color-neutral-800);--fui-input:var(--color-neutral-700);--fui-error:var(--color-red-700);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}}}@layer components{:where(.fui-screen){max-width:var(--container-sm);margin-inline:auto}:where(:where(.fui-screen .fui-screen__children)>:not(:last-child)),:where(:where(.fui-content)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(:where(.fui-card)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card){border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(:where(.fui-card__header)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card__header){text-align:center}:where(.fui-card__title){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}:where(.fui-card__subtitle){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(:where(.fui-form)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-form fieldset),:where(.fui-form fieldset label){gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}:where(.fui-form fieldset label div[data-input-label]){gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:flex}:where(.fui-form fieldset label div[data-input-label]>div:first-child){flex-grow:1}:where(.fui-form fieldset label div[data-input-description]){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-form .fui-form__action){padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){:where(.fui-form .fui-form__action):hover{text-decoration-line:underline}}:where(.fui-form fieldset label input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);width:100%;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-form fieldset label input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-form fieldset label input[aria-invalid=true]){border-color:var(--color-error);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-form fieldset label div[data-input-group]){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-form .fui-qr-code-container){align-items:center;gap:calc(var(--spacing)*4);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted);flex-direction:column;display:flex}:where(.fui-error){text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-error)}:where(.fui-success){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:where(.fui-button){justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){:where(.fui-button):hover{cursor:pointer;background-color:var(--color-primary-hover)}}:where(.fui-button):disabled{cursor:not-allowed;opacity:.5}:where(.fui-button--secondary){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){:where(.fui-button--secondary):hover{border-color:var(--color-primary);background-color:var(--color-background)}}:where(.fui-button.fui-provider__button){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border)}:where(.fui-provider__button svg,.fui-provider__button img){height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}:where(.fui-divider){margin-block:calc(var(--spacing)*4);align-items:center;gap:calc(var(--spacing)*3);display:flex}:where(.fui-divider__line){background-color:var(--color-border);flex:1;height:1px}:where(.fui-divider__text){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-phone-input){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-phone-input__number-input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}:where(.fui-phone-input__number-input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-phone-input__number-input[aria-invalid=true]){outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-country-selector){width:120px;display:inline-block;position:relative}:where(.fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}:where(.fui-country-selector__flag){pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}:where(.fui-country-selector select){cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-country-selector select):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-country-selector__dial-code){pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector),:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector .fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-policies){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-policies a,.fui-policies button){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (hover:hover){:where(.fui-policies a,.fui-policies button):hover{text-decoration-line:underline}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#131314;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--google-primary)}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--google-primary:#f2f2f2;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-surface:#1f1f1f;--color-border:transparent}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#fff;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#1f1f1f;--color-border:#747775}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--facebook-primary:#1877f2;--color-primary:var(--facebook-primary);--color-primary-hover:var(--facebook-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--facebook-primary)85%,transparent)}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-surface:var(--color-white);--color-border:var(--facebook-primary)}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:#000;--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--apple-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:var(--color-white);--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:#000;--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--github-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:var(--color-white);--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:#2f2f2f;--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--microsoft-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:var(--color-white);--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#5e5e5e;--color-border:var(--color-white)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--twitter-primary:#1da1f2;--color-primary:var(--twitter-primary);--color-primary-hover:var(--twitter-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--twitter-primary)85%,transparent)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--twitter-primary)}}@layer utilities;@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.buttonVariant = void 0;
|
|
19
|
+
const cva_1 = require("cva");
|
|
20
|
+
/**
|
|
21
|
+
* Class variance authority configuration for button variants.
|
|
22
|
+
*
|
|
23
|
+
* Defines the CSS class variants for buttons with primary and secondary styles.
|
|
24
|
+
*/
|
|
25
|
+
exports.buttonVariant = (0, cva_1.cva)({
|
|
26
|
+
base: "fui-button",
|
|
27
|
+
variants: {
|
|
28
|
+
variant: {
|
|
29
|
+
primary: "",
|
|
30
|
+
secondary: "fui-button--secondary",
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
defaultVariants: {
|
|
34
|
+
variant: "primary",
|
|
35
|
+
},
|
|
36
|
+
});
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { type VariantProps } from "cva";
|
|
17
|
+
/**
|
|
18
|
+
* Class variance authority configuration for button variants.
|
|
19
|
+
*
|
|
20
|
+
* Defines the CSS class variants for buttons with primary and secondary styles.
|
|
21
|
+
*/
|
|
22
|
+
export declare const buttonVariant: (props?: ({
|
|
23
|
+
variant?: "primary" | "secondary" | undefined;
|
|
24
|
+
} & ({
|
|
25
|
+
class?: import("cva").ClassValue;
|
|
26
|
+
className?: never;
|
|
27
|
+
} | {
|
|
28
|
+
class?: never;
|
|
29
|
+
className?: import("cva").ClassValue;
|
|
30
|
+
})) | undefined) => string;
|
|
31
|
+
/** Button variant type derived from the buttonVariant configuration. */
|
|
32
|
+
export type ButtonVariant = VariantProps<typeof buttonVariant>["variant"];
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { type VariantProps } from "cva";
|
|
17
|
+
/**
|
|
18
|
+
* Class variance authority configuration for button variants.
|
|
19
|
+
*
|
|
20
|
+
* Defines the CSS class variants for buttons with primary and secondary styles.
|
|
21
|
+
*/
|
|
22
|
+
export declare const buttonVariant: (props?: ({
|
|
23
|
+
variant?: "primary" | "secondary" | undefined;
|
|
24
|
+
} & ({
|
|
25
|
+
class?: import("cva").ClassValue;
|
|
26
|
+
className?: never;
|
|
27
|
+
} | {
|
|
28
|
+
class?: never;
|
|
29
|
+
className?: import("cva").ClassValue;
|
|
30
|
+
})) | undefined) => string;
|
|
31
|
+
/** Button variant type derived from the buttonVariant configuration. */
|
|
32
|
+
export type ButtonVariant = VariantProps<typeof buttonVariant>["variant"];
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { cva } from "cva";
|
|
17
|
+
/**
|
|
18
|
+
* Class variance authority configuration for button variants.
|
|
19
|
+
*
|
|
20
|
+
* Defines the CSS class variants for buttons with primary and secondary styles.
|
|
21
|
+
*/
|
|
22
|
+
export const buttonVariant = cva({
|
|
23
|
+
base: "fui-button",
|
|
24
|
+
variants: {
|
|
25
|
+
variant: {
|
|
26
|
+
primary: "",
|
|
27
|
+
secondary: "fui-button--secondary",
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
variant: "primary",
|
|
32
|
+
},
|
|
33
|
+
});
|
package/package.json
CHANGED
|
@@ -1,39 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@firebase-oss/ui-styles",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2-exp.ed61394",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
"import": "./dist/index.js",
|
|
13
|
-
"require": "./dist/index.cjs"
|
|
14
|
-
},
|
|
15
|
-
"./dist.css": "./dist.css",
|
|
16
|
-
"./tailwind": "./src/base.css",
|
|
17
|
-
"./themes/*": "./src/themes/*.css"
|
|
5
|
+
"zshy": {
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./src/index.ts",
|
|
8
|
+
"./dist.min.css": "./dist/dist.min.css",
|
|
9
|
+
"./tailwind": "./src/base.css",
|
|
10
|
+
"./themes/brutalist.css": "./src/themes/brualist.css"
|
|
11
|
+
}
|
|
18
12
|
},
|
|
19
13
|
"sideEffects": [
|
|
20
14
|
"**/*.css"
|
|
21
15
|
],
|
|
22
16
|
"files": [
|
|
23
|
-
"dist
|
|
17
|
+
"dist",
|
|
24
18
|
"src"
|
|
25
19
|
],
|
|
26
20
|
"scripts": {
|
|
27
21
|
"prepare": "pnpm run build",
|
|
28
|
-
"build": "
|
|
29
|
-
"build:css": "pnpm dlx @tailwindcss/cli -i ./src.css -o ./dist.css --minify",
|
|
22
|
+
"build": "pnpm dlx zshy && pnpm run build:css",
|
|
23
|
+
"build:css": "pnpm dlx @tailwindcss/cli -i ./src.css -o ./dist/dist.min.css --minify",
|
|
30
24
|
"build:local": "pnpm run build && pnpm pack",
|
|
31
25
|
"lint": "tsc --noEmit",
|
|
32
26
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
33
27
|
"clean": "rimraf dist",
|
|
34
28
|
"test": "vitest run",
|
|
35
29
|
"test:watch": "vitest",
|
|
30
|
+
"version:bump": "pnpm version patch",
|
|
36
31
|
"publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'",
|
|
32
|
+
"publish:npm": "../../publish.sh",
|
|
37
33
|
"release": "pnpm run build && pnpm pack --pack-destination ../../releases/"
|
|
38
34
|
},
|
|
39
35
|
"devDependencies": {
|
|
@@ -45,5 +41,18 @@
|
|
|
45
41
|
},
|
|
46
42
|
"dependencies": {
|
|
47
43
|
"cva": "1.0.0-beta.4"
|
|
44
|
+
},
|
|
45
|
+
"main": "./dist/index.cjs",
|
|
46
|
+
"module": "./dist/index.js",
|
|
47
|
+
"types": "./dist/index.d.cts",
|
|
48
|
+
"exports": {
|
|
49
|
+
".": {
|
|
50
|
+
"types": "./dist/index.d.cts",
|
|
51
|
+
"import": "./dist/index.js",
|
|
52
|
+
"require": "./dist/index.cjs"
|
|
53
|
+
},
|
|
54
|
+
"./dist.min.css": "./dist/dist.min.css",
|
|
55
|
+
"./tailwind": "./dist/base.css",
|
|
56
|
+
"./themes/brutalist.css": "./dist/themes/brualist.css"
|
|
48
57
|
}
|
|
49
58
|
}
|
package/src/base.css
CHANGED
|
@@ -38,27 +38,26 @@
|
|
|
38
38
|
--fui-radius: var(--radius-sm);
|
|
39
39
|
/* The radius used for the cards */
|
|
40
40
|
--fui-radius-card: var(--radius-xl);
|
|
41
|
-
}
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
:root {
|
|
42
|
+
/* Apply dark mode styles when the dark variant is applied */
|
|
43
|
+
/* See https://tailwindcss.com/docs/dark-mode */
|
|
44
|
+
@variant dark {
|
|
47
45
|
--fui-primary: var(--color-white);
|
|
48
46
|
--fui-primary-hover: --alpha(var(--fui-primary) / 85%);
|
|
49
47
|
--fui-primary-surface: var(--color-black);
|
|
50
48
|
--fui-text: var(--color-white);
|
|
51
|
-
--fui-text-muted: var(--color-
|
|
52
|
-
--fui-background: var(--color-
|
|
53
|
-
--fui-border: var(--color-
|
|
54
|
-
--fui-input: var(--color-
|
|
55
|
-
--fui-error: var(--color-red-
|
|
49
|
+
--fui-text-muted: var(--color-neutral-300);
|
|
50
|
+
--fui-background: var(--color-neutral-950);
|
|
51
|
+
--fui-border: var(--color-neutral-800);
|
|
52
|
+
--fui-input: var(--color-neutral-700);
|
|
53
|
+
--fui-error: var(--color-red-700);
|
|
56
54
|
--fui-radius: var(--radius-sm);
|
|
57
55
|
--fui-radius-card: var(--radius-xl);
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
58
|
}
|
|
61
59
|
|
|
60
|
+
|
|
62
61
|
@theme {
|
|
63
62
|
--color-primary: var(--fui-primary);
|
|
64
63
|
--color-primary-hover: var(--fui-primary-hover);
|
|
@@ -76,7 +75,7 @@
|
|
|
76
75
|
@layer components {
|
|
77
76
|
/* Using :where() to reduce CSS specificity - allows users to easily override with their own Tailwind classes */
|
|
78
77
|
:where(.fui-screen) {
|
|
79
|
-
@apply
|
|
78
|
+
@apply max-w-sm mx-auto;
|
|
80
79
|
}
|
|
81
80
|
|
|
82
81
|
:where(.fui-screen .fui-screen__children) {
|
|
@@ -85,7 +84,6 @@
|
|
|
85
84
|
|
|
86
85
|
:where(.fui-content) {
|
|
87
86
|
@apply space-y-2;
|
|
88
|
-
|
|
89
87
|
}
|
|
90
88
|
|
|
91
89
|
:where(.fui-card) {
|
|
@@ -121,6 +119,10 @@
|
|
|
121
119
|
@apply grow;
|
|
122
120
|
}
|
|
123
121
|
|
|
122
|
+
:where(.fui-form fieldset label div[data-input-description]) {
|
|
123
|
+
@apply text-xs text-text-muted;
|
|
124
|
+
}
|
|
125
|
+
|
|
124
126
|
:where(.fui-form .fui-form__action) {
|
|
125
127
|
@apply px-1 hover:underline text-xs text-text-muted;
|
|
126
128
|
}
|
|
@@ -137,7 +139,11 @@
|
|
|
137
139
|
@apply flex items-center gap-2;
|
|
138
140
|
}
|
|
139
141
|
|
|
140
|
-
:where(.fui-form .fui-
|
|
142
|
+
:where(.fui-form .fui-qr-code-container) {
|
|
143
|
+
@apply flex flex-col items-center gap-4 text-text-muted text-xs;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
:where(.fui-error) {
|
|
141
147
|
@apply text-error text-left text-xs;
|
|
142
148
|
}
|
|
143
149
|
|
|
@@ -157,7 +163,7 @@
|
|
|
157
163
|
@apply border border-border;
|
|
158
164
|
}
|
|
159
165
|
|
|
160
|
-
:where(.fui-provider__button
|
|
166
|
+
:where(.fui-provider__button svg, .fui-provider__button img) {
|
|
161
167
|
@apply w-5 h-5;
|
|
162
168
|
}
|
|
163
169
|
|
|
@@ -178,7 +184,7 @@
|
|
|
178
184
|
}
|
|
179
185
|
|
|
180
186
|
:where(.fui-phone-input__number-input) {
|
|
181
|
-
@apply border
|
|
187
|
+
@apply border border-input rounded px-2 py-2 text-sm focus:outline-2 focus:outline-primary shadow-xs bg-transparent flex-1;
|
|
182
188
|
}
|
|
183
189
|
|
|
184
190
|
:where(.fui-phone-input__number-input[aria-invalid="true"]) {
|
package/src/base.test.ts
CHANGED
|
@@ -259,7 +259,7 @@ describe("Tailwind :where() pseudo-class", () => {
|
|
|
259
259
|
styleElement.textContent = `
|
|
260
260
|
/* Base component styles with :where() for zero specificity */
|
|
261
261
|
:where(.fui-form fieldset > label > input) { border: 1px solid rgb(209, 213, 219); padding: 0.5rem; }
|
|
262
|
-
:where(.fui-
|
|
262
|
+
:where(.fui-error) { color: rgb(239, 68, 68); }
|
|
263
263
|
|
|
264
264
|
/* User Tailwind override classes */
|
|
265
265
|
.border-gray-300 { border-color: rgb(209, 213, 219) !important; }
|
|
@@ -268,7 +268,7 @@ describe("Tailwind :where() pseudo-class", () => {
|
|
|
268
268
|
`;
|
|
269
269
|
|
|
270
270
|
const inputElement = createTestElement("border-gray-300 px-3");
|
|
271
|
-
const errorElement = createTestElement("fui-
|
|
271
|
+
const errorElement = createTestElement("fui-error text-red-600");
|
|
272
272
|
|
|
273
273
|
expect(getComputedStyleValue(inputElement, "border-color")).toBe("rgb(209, 213, 219)");
|
|
274
274
|
expect(getComputedStyleValue(errorElement, "color")).toBe("rgb(220, 38, 38)");
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
1
17
|
import { cva, type VariantProps } from "cva";
|
|
2
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Class variance authority configuration for button variants.
|
|
21
|
+
*
|
|
22
|
+
* Defines the CSS class variants for buttons with primary and secondary styles.
|
|
23
|
+
*/
|
|
3
24
|
export const buttonVariant = cva({
|
|
4
25
|
base: "fui-button",
|
|
5
26
|
variants: {
|
|
@@ -13,4 +34,5 @@ export const buttonVariant = cva({
|
|
|
13
34
|
},
|
|
14
35
|
});
|
|
15
36
|
|
|
37
|
+
/** Button variant type derived from the buttonVariant configuration. */
|
|
16
38
|
export type ButtonVariant = VariantProps<typeof buttonVariant>["variant"];
|
package/dist.css
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--color-red-500:oklch(63.7% .237 25.331);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--radius:var(--fui-radius);--color-primary:var(--fui-primary);--color-primary-hover:var(--fui-primary-hover);--color-primary-surface:var(--fui-primary-surface);--color-text:var(--fui-text);--color-text-muted:var(--fui-text-muted);--color-background:var(--fui-background);--color-border:var(--fui-border);--color-input:var(--fui-input);--color-error:var(--fui-error);--radius-card:var(--fui-radius-card)}:root{--fui-primary:var(--color-black);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-white);--fui-text:var(--color-black);--fui-text-muted:var(--color-gray-800);--fui-background:var(--color-white);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}@media (prefers-color-scheme:dark){:root{--fui-primary:var(--color-white);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-black);--fui-text:var(--color-white);--fui-text-muted:var(--color-gray-200);--fui-background:var(--color-black);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}}}@layer components{:where(.fui-screen){max-width:var(--container-md);padding-top:calc(var(--spacing)*24);margin-inline:auto}:where(:where(.fui-screen .fui-screen__children)>:not(:last-child)),:where(:where(.fui-content)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(:where(.fui-card)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card){border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(:where(.fui-card__header)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card__header){text-align:center}:where(.fui-card__title){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}:where(.fui-card__subtitle){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(:where(.fui-form)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-form fieldset),:where(.fui-form fieldset label){gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}:where(.fui-form fieldset label div[data-input-label]){gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:flex}:where(.fui-form fieldset label div[data-input-label]>div:first-child){flex-grow:1}:where(.fui-form .fui-form__action){padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){:where(.fui-form .fui-form__action):hover{text-decoration-line:underline}}:where(.fui-form fieldset label input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);width:100%;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-form fieldset label input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-form fieldset label input[aria-invalid=true]){border-color:var(--color-error);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-form fieldset label div[data-input-group]){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-form .fui-form__error){text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-error)}:where(.fui-success){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:where(.fui-button){justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){:where(.fui-button):hover{cursor:pointer;background-color:var(--color-primary-hover)}}:where(.fui-button):disabled{cursor:not-allowed;opacity:.5}:where(.fui-button--secondary){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){:where(.fui-button--secondary):hover{border-color:var(--color-primary);background-color:var(--color-background)}}:where(.fui-button.fui-provider__button){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border)}:where(.fui-provider__button>svg,.fui-provider__button>img){height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}:where(.fui-divider){margin-block:calc(var(--spacing)*4);align-items:center;gap:calc(var(--spacing)*3);display:flex}:where(.fui-divider__line){background-color:var(--color-border);flex:1;height:1px}:where(.fui-divider__text){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-phone-input){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-phone-input__number-input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}:where(.fui-phone-input__number-input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-phone-input__number-input[aria-invalid=true]){outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-country-selector){width:120px;display:inline-block;position:relative}:where(.fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}:where(.fui-country-selector__flag){pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}:where(.fui-country-selector select){cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-country-selector select):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-country-selector__dial-code){pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector),:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector .fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-policies){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-policies a,.fui-policies button){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (hover:hover){:where(.fui-policies a,.fui-policies button):hover{text-decoration-line:underline}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#131314;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--google-primary)}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--google-primary:#f2f2f2;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-surface:#1f1f1f;--color-border:transparent}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#fff;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#1f1f1f;--color-border:#747775}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--facebook-primary:#1877f2;--color-primary:var(--facebook-primary);--color-primary-hover:var(--facebook-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--facebook-primary)85%,transparent)}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-surface:var(--color-white);--color-border:var(--facebook-primary)}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:#000;--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--apple-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:var(--color-white);--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:#000;--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--github-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:var(--color-white);--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:#2f2f2f;--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--microsoft-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:var(--color-white);--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#5e5e5e;--color-border:var(--color-white)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--twitter-primary:#1da1f2;--color-primary:var(--twitter-primary);--color-primary-hover:var(--twitter-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--twitter-primary)85%,transparent)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--twitter-primary)}}@layer utilities;@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
|