@usefillo/react 0.5.4 → 0.6.0
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/index.d.ts +106 -6
- package/dist/index.js +469 -144
- package/dist/styles.css +15 -11
- package/dist/styles.unlayered.css +700 -0
- package/package.json +10 -6
package/dist/styles.css
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* style from scratch.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
/* Specificity contract: every rule stays at single-class specificity —
|
|
9
|
+
* qualifiers are wrapped in :where() so one consumer class always wins.
|
|
10
|
+
* A lint test (packages/react/test) fails the build on regressions. */
|
|
8
11
|
/* Cascade layers: these defaults live in the `components` layer so that, in
|
|
9
12
|
* apps using Tailwind (or any utility CSS in the `utilities` layer), YOUR
|
|
10
13
|
* classes always win over ours — className="bg-red-50" on an option just
|
|
@@ -100,7 +103,7 @@
|
|
|
100
103
|
border-color: var(--fillo-primary);
|
|
101
104
|
box-shadow: 0 0 0 3px color-mix(in srgb, var(--fillo-primary) 15%, transparent);
|
|
102
105
|
}
|
|
103
|
-
.fillo-field--error .fillo-input { border-color: var(--fillo-error); }
|
|
106
|
+
:where(.fillo-field--error) .fillo-input { border-color: var(--fillo-error); }
|
|
104
107
|
.fillo-textarea { resize: vertical; min-height: 6rem; }
|
|
105
108
|
|
|
106
109
|
/* Phone field: country picker + national input */
|
|
@@ -123,7 +126,7 @@
|
|
|
123
126
|
.fillo-phone-dial { font-variant-numeric: tabular-nums; color: var(--fillo-muted); }
|
|
124
127
|
.fillo-phone-caret { font-size: 0.65em; color: var(--fillo-muted); }
|
|
125
128
|
.fillo-phone-input { flex: 1 1 auto; min-width: 0; }
|
|
126
|
-
.fillo-field--error .fillo-phone-flag { border-color: var(--fillo-error); }
|
|
129
|
+
:where(.fillo-field--error) .fillo-phone-flag { border-color: var(--fillo-error); }
|
|
127
130
|
.fillo-phone-popover {
|
|
128
131
|
position: absolute; z-index: 30; top: calc(100% + 0.3rem); left: 0;
|
|
129
132
|
width: min(18rem, calc(100vw - 1rem));
|
|
@@ -179,7 +182,7 @@
|
|
|
179
182
|
transform: translateY(-65%) rotate(45deg);
|
|
180
183
|
transition: color 120ms ease;
|
|
181
184
|
}
|
|
182
|
-
.fillo-select-wrap:focus-within .fillo-select-icon { color: var(--fillo-primary); }
|
|
185
|
+
:where(.fillo-select-wrap:focus-within) .fillo-select-icon { color: var(--fillo-primary); }
|
|
183
186
|
|
|
184
187
|
/* ---------- Choices ---------- */
|
|
185
188
|
.fillo-options { display: flex; flex-direction: column; gap: 0.5rem; }
|
|
@@ -212,7 +215,7 @@
|
|
|
212
215
|
margin: 0;
|
|
213
216
|
}
|
|
214
217
|
.fillo-option-input:focus-visible { outline: none; }
|
|
215
|
-
.fillo-option--has-icon .fillo-option-input {
|
|
218
|
+
:where(.fillo-option--has-icon) .fillo-option-input {
|
|
216
219
|
position: absolute;
|
|
217
220
|
width: 1px;
|
|
218
221
|
height: 1px;
|
|
@@ -227,7 +230,7 @@
|
|
|
227
230
|
color: var(--fillo-muted);
|
|
228
231
|
transition: color 120ms ease;
|
|
229
232
|
}
|
|
230
|
-
.fillo-option--selected .fillo-option-icon { color: var(--fillo-primary); }
|
|
233
|
+
:where(.fillo-option--selected) .fillo-option-icon { color: var(--fillo-primary); }
|
|
231
234
|
.fillo-option-label { font-size: 0.95rem; }
|
|
232
235
|
|
|
233
236
|
.fillo-option-main {
|
|
@@ -241,7 +244,7 @@
|
|
|
241
244
|
flex-direction: column;
|
|
242
245
|
gap: 0.55rem;
|
|
243
246
|
}
|
|
244
|
-
.fillo-option--with-other .fillo-option-label {
|
|
247
|
+
:where(.fillo-option--with-other) .fillo-option-label {
|
|
245
248
|
font-weight: 550;
|
|
246
249
|
}
|
|
247
250
|
|
|
@@ -291,20 +294,20 @@
|
|
|
291
294
|
box-shadow: 0 1px 2px color-mix(in srgb, var(--fillo-text) 18%, transparent);
|
|
292
295
|
transition: transform 160ms ease, background 160ms ease;
|
|
293
296
|
}
|
|
294
|
-
.fillo-toggle-input:checked + .fillo-toggle-track {
|
|
297
|
+
:where(.fillo-toggle-input:checked) + .fillo-toggle-track {
|
|
295
298
|
background: var(--fillo-primary);
|
|
296
299
|
box-shadow: inset 0 0 0 1px var(--fillo-primary);
|
|
297
300
|
}
|
|
298
|
-
.fillo-toggle-input:checked + .fillo-toggle-track .fillo-toggle-thumb {
|
|
301
|
+
:where(.fillo-toggle-input:checked) + :where(.fillo-toggle-track) .fillo-toggle-thumb {
|
|
299
302
|
transform: translateX(1rem);
|
|
300
303
|
background: var(--fillo-primary-contrast);
|
|
301
304
|
}
|
|
302
|
-
.fillo-toggle-input:focus-visible + .fillo-toggle-track {
|
|
305
|
+
:where(.fillo-toggle-input:focus-visible) + .fillo-toggle-track {
|
|
303
306
|
box-shadow:
|
|
304
307
|
inset 0 0 0 1px var(--fillo-primary),
|
|
305
308
|
0 0 0 3px color-mix(in srgb, var(--fillo-primary) 15%, transparent);
|
|
306
309
|
}
|
|
307
|
-
.fillo-toggle:has(.fillo-toggle-input:checked) {
|
|
310
|
+
.fillo-toggle:where(:has(.fillo-toggle-input:checked)) {
|
|
308
311
|
border-color: var(--fillo-primary);
|
|
309
312
|
background: color-mix(in srgb, var(--fillo-primary) 5%, var(--fillo-control-bg));
|
|
310
313
|
}
|
|
@@ -421,7 +424,7 @@
|
|
|
421
424
|
/* ---------- Matrix ---------- */
|
|
422
425
|
.fillo-matrix-wrap { overflow-x: auto; }
|
|
423
426
|
.fillo-matrix { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
|
|
424
|
-
.fillo-matrix th, .fillo-matrix td {
|
|
427
|
+
:where(.fillo-matrix) th, :where(.fillo-matrix) td {
|
|
425
428
|
padding: 0.55rem 0.7rem;
|
|
426
429
|
text-align: center;
|
|
427
430
|
border-bottom: 1px solid var(--fillo-border);
|
|
@@ -580,6 +583,7 @@
|
|
|
580
583
|
overflow: hidden;
|
|
581
584
|
}
|
|
582
585
|
.fillo-progress-fill {
|
|
586
|
+
width: var(--fillo-progress-value, 0%);
|
|
583
587
|
height: 100%;
|
|
584
588
|
background: var(--fillo-primary);
|
|
585
589
|
border-radius: inherit;
|