@threadlabs/looma 0.39.2 → 0.39.4
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/components/ui-combobox/ui-combobox.html +8 -3
- package/components/ui-combobox/ui-combobox.js +3 -2
- package/components/ui-dialog/ui-dialog.html +6 -52
- package/components/ui-input/ui-input.html +21 -3
- package/components/ui-input-group/ui-input-group.html +1 -0
- package/components/ui-select/ui-select.html +10 -3
- package/dist/index.js +1 -1
- package/docs/README.md +1 -1
- package/docs/catalog.json +1 -25
- package/docs/customizer.js +11 -3
- package/docs/site.mjs +9 -5
- package/docs/theme.mjs +8 -2
- package/package.json +1 -1
- package/styles/ui-combobox.css +16 -6
- package/styles/ui-dialog.css +6 -107
- package/styles/ui-input-group.css +1 -0
- package/styles/ui-input.css +24 -3
- package/styles/ui-select.css +10 -3
- package/theme-system.css +4 -1
- package/vanilla/UiDialog.js +2 -2
- package/vue/UiCombobox.vue +22 -6
- package/vue/UiDialog.d.ts +3 -3
- package/vue/UiDialog.vue +18 -111
- package/vue/UiInput.vue +30 -3
- package/vue/UiInputGroup.vue +1 -0
- package/vue/UiSelect.vue +16 -3
- package/vue/chunks/UiCombobox.js +1 -1
- package/vue/chunks/UiDialog.js +22 -14
- package/vue/chunks/UiInput.js +1 -1
- package/vue/chunks/UiInputGroup.js +1 -1
- package/vue/chunks/UiSelect.js +1 -1
- package/vue/components.css +105 -118
package/vue/components.css
CHANGED
|
@@ -2262,6 +2262,14 @@ input:focus-visible:where([data-hn-ui-checkbox]) {
|
|
|
2262
2262
|
syntax: "*";
|
|
2263
2263
|
inherits: false;
|
|
2264
2264
|
}
|
|
2265
|
+
/* Normalize a unitless zero border to a length before the box calculation. */
|
|
2266
|
+
@property --_ui-input-stroke {
|
|
2267
|
+
syntax: "<length>";
|
|
2268
|
+
inherits: false;
|
|
2269
|
+
initial-value: 1px;
|
|
2270
|
+
}
|
|
2271
|
+
|
|
2272
|
+
/* Cap Safari's excess text metrics without changing native date, file, color or range widgets. */
|
|
2265
2273
|
|
|
2266
2274
|
/* Each size reads the hook and then an Input Group's default first, so a group, which draws the frame, can zero it. */
|
|
2267
2275
|
|
|
@@ -2279,6 +2287,12 @@ input:focus-visible:where([data-hn-ui-checkbox]) {
|
|
|
2279
2287
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
2280
2288
|
@scope (.ui-input) to ([data-hn]) {
|
|
2281
2289
|
:scope {
|
|
2290
|
+
--_ui-input-size: var(--ui-control-size-md);
|
|
2291
|
+
--_ui-input-inset-block: var(--ui-control-inset-block-md, var(--ui-space-2));
|
|
2292
|
+
--_ui-input-stroke: var(
|
|
2293
|
+
--ui-input-border-width,
|
|
2294
|
+
var(--_ui-default-input-border-width, var(--ui-border-width))
|
|
2295
|
+
);
|
|
2282
2296
|
box-sizing: border-box !important;
|
|
2283
2297
|
display: inline-block !important;
|
|
2284
2298
|
inline-size: var(--ui-input-inline-size, 100%);
|
|
@@ -2288,7 +2302,7 @@ input:focus-visible:where([data-hn-ui-checkbox]) {
|
|
|
2288
2302
|
var(--_ui-default-input-min-block-size, var(--ui-control-size-md))
|
|
2289
2303
|
);
|
|
2290
2304
|
margin: 0 !important;
|
|
2291
|
-
padding: var(--
|
|
2305
|
+
padding: var(--_ui-input-inset-block) var(--ui-space-3) !important;
|
|
2292
2306
|
appearance: none;
|
|
2293
2307
|
padding-inline-start: var(--_ui-default-input-padding-inline-start, var(--ui-space-3))
|
|
2294
2308
|
!important;
|
|
@@ -2318,20 +2332,33 @@ input:focus-visible:where([data-hn-ui-checkbox]) {
|
|
|
2318
2332
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
|
|
2319
2333
|
background-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
2320
2334
|
}
|
|
2335
|
+
:scope:is([type="text"], [type="search"], [type="tel"], [type="url"], [type="email"], [type="password"], [type="number"]) {
|
|
2336
|
+
max-block-size: max(
|
|
2337
|
+
calc(var(--_ui-input-size) - var(--_ui-default-input-frame-width, 0px)),
|
|
2338
|
+
calc(
|
|
2339
|
+
1em * var(--ui-line-height-tight) + 2 * var(--_ui-input-inset-block) +
|
|
2340
|
+
2 * var(--_ui-input-stroke)
|
|
2341
|
+
)
|
|
2342
|
+
);
|
|
2343
|
+
}
|
|
2321
2344
|
:scope[data-ui-input-state~="size=sm"] {
|
|
2345
|
+
--_ui-input-size: var(--ui-control-size-sm);
|
|
2346
|
+
--_ui-input-inset-block: var(--ui-control-inset-block-sm, var(--ui-space-1));
|
|
2322
2347
|
min-block-size: var(
|
|
2323
2348
|
--ui-input-min-block-size,
|
|
2324
2349
|
var(--_ui-default-input-min-block-size, var(--ui-control-size-sm))
|
|
2325
2350
|
);
|
|
2326
|
-
padding: var(--
|
|
2351
|
+
padding: var(--_ui-input-inset-block) var(--ui-space-2) !important;
|
|
2327
2352
|
font-size: var(--ui-font-size-sm);
|
|
2328
2353
|
}
|
|
2329
2354
|
:scope[data-ui-input-state~="size=lg"] {
|
|
2355
|
+
--_ui-input-size: var(--ui-control-size-lg);
|
|
2356
|
+
--_ui-input-inset-block: var(--ui-control-inset-block-lg, var(--ui-space-3));
|
|
2330
2357
|
min-block-size: var(
|
|
2331
2358
|
--ui-input-min-block-size,
|
|
2332
2359
|
var(--_ui-default-input-min-block-size, var(--ui-control-size-lg))
|
|
2333
2360
|
);
|
|
2334
|
-
padding: var(--
|
|
2361
|
+
padding: var(--_ui-input-inset-block) var(--ui-space-4) !important;
|
|
2335
2362
|
font-size: var(--ui-font-size-md);
|
|
2336
2363
|
}
|
|
2337
2364
|
@media (pointer: coarse) {
|
|
@@ -3020,10 +3047,15 @@ input:where([data-hn-ui-combobox])::selection {
|
|
|
3020
3047
|
color: inherit;
|
|
3021
3048
|
}
|
|
3022
3049
|
input:where([data-hn-ui-combobox]) {
|
|
3050
|
+
--_ui-combobox-inset-block: var(--ui-control-inset-block-md, var(--ui-space-2));
|
|
3023
3051
|
appearance: none;
|
|
3024
3052
|
width: 100%;
|
|
3025
3053
|
min-inline-size: 0;
|
|
3026
3054
|
min-block-size: calc(var(--_row) - 2 * var(--ui-border-width));
|
|
3055
|
+
max-block-size: max(
|
|
3056
|
+
calc(var(--_row) - 2 * var(--ui-border-width)),
|
|
3057
|
+
calc(1em * var(--ui-line-height-tight) + 2 * var(--_ui-combobox-inset-block))
|
|
3058
|
+
);
|
|
3027
3059
|
box-sizing: border-box !important;
|
|
3028
3060
|
border: 0;
|
|
3029
3061
|
border-radius: inherit;
|
|
@@ -3031,7 +3063,7 @@ input:where([data-hn-ui-combobox]) {
|
|
|
3031
3063
|
color: inherit;
|
|
3032
3064
|
font: inherit;
|
|
3033
3065
|
line-height: var(--ui-line-height-tight);
|
|
3034
|
-
padding: var(--
|
|
3066
|
+
padding: var(--_ui-combobox-inset-block) var(--ui-space-3) !important;
|
|
3035
3067
|
margin: 0 !important;
|
|
3036
3068
|
outline: none;
|
|
3037
3069
|
}
|
|
@@ -3039,14 +3071,16 @@ input:where([data-hn-ui-combobox]) {
|
|
|
3039
3071
|
--_row: var(--ui-control-size-sm);
|
|
3040
3072
|
}
|
|
3041
3073
|
:scope[data-ui-combobox-state~="size=sm"] input:where([data-hn-ui-combobox]) {
|
|
3042
|
-
|
|
3074
|
+
--_ui-combobox-inset-block: var(--ui-control-inset-block-sm, var(--ui-space-1));
|
|
3075
|
+
padding: var(--_ui-combobox-inset-block) var(--ui-space-2) !important;
|
|
3043
3076
|
font-size: var(--ui-font-size-sm);
|
|
3044
3077
|
}
|
|
3045
3078
|
:scope[data-ui-combobox-state~="size=lg"]:where([data-hn-ui-combobox]) {
|
|
3046
3079
|
--_row: var(--ui-control-size-lg);
|
|
3047
3080
|
}
|
|
3048
3081
|
:scope[data-ui-combobox-state~="size=lg"] input:where([data-hn-ui-combobox]) {
|
|
3049
|
-
|
|
3082
|
+
--_ui-combobox-inset-block: var(--ui-control-inset-block-lg, var(--ui-space-3));
|
|
3083
|
+
padding: var(--_ui-combobox-inset-block) var(--ui-space-4) !important;
|
|
3050
3084
|
font-size: var(--ui-font-size-md);
|
|
3051
3085
|
}
|
|
3052
3086
|
button:where([data-hn-ui-combobox]) {
|
|
@@ -3188,6 +3222,7 @@ input:disabled:where([data-hn-ui-combobox]),button:disabled:where([data-hn-ui-co
|
|
|
3188
3222
|
display: none !important;
|
|
3189
3223
|
}
|
|
3190
3224
|
:scope[data-ui-combobox-state~="multiple"] input:where([data-hn-ui-combobox]) {
|
|
3225
|
+
max-block-size: none;
|
|
3191
3226
|
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
3192
3227
|
width: auto;
|
|
3193
3228
|
min-block-size: 1.75rem;
|
|
@@ -3362,10 +3397,15 @@ input:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):
|
|
|
3362
3397
|
color: inherit;
|
|
3363
3398
|
}
|
|
3364
3399
|
input:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
3400
|
+
--_ui-combobox-inset-block: var(--ui-control-inset-block-md, var(--ui-space-2));
|
|
3365
3401
|
appearance: none;
|
|
3366
3402
|
width: 100%;
|
|
3367
3403
|
min-inline-size: 0;
|
|
3368
3404
|
min-block-size: calc(var(--_row) - 2 * var(--ui-border-width));
|
|
3405
|
+
max-block-size: max(
|
|
3406
|
+
calc(var(--_row) - 2 * var(--ui-border-width)),
|
|
3407
|
+
calc(1em * var(--ui-line-height-tight) + 2 * var(--_ui-combobox-inset-block))
|
|
3408
|
+
);
|
|
3369
3409
|
box-sizing: border-box !important;
|
|
3370
3410
|
border: 0;
|
|
3371
3411
|
border-radius: inherit;
|
|
@@ -3373,7 +3413,7 @@ input:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3373
3413
|
color: inherit;
|
|
3374
3414
|
font: inherit;
|
|
3375
3415
|
line-height: var(--ui-line-height-tight);
|
|
3376
|
-
padding: var(--
|
|
3416
|
+
padding: var(--_ui-combobox-inset-block) var(--ui-space-3) !important;
|
|
3377
3417
|
margin: 0 !important;
|
|
3378
3418
|
outline: none;
|
|
3379
3419
|
}
|
|
@@ -3382,7 +3422,8 @@ input:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3382
3422
|
}
|
|
3383
3423
|
:where(.ui-combobox)[data-ui-combobox-state~="size=sm"]
|
|
3384
3424
|
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
3385
|
-
|
|
3425
|
+
--_ui-combobox-inset-block: var(--ui-control-inset-block-sm, var(--ui-space-1));
|
|
3426
|
+
padding: var(--_ui-combobox-inset-block) var(--ui-space-2) !important;
|
|
3386
3427
|
font-size: var(--ui-font-size-sm);
|
|
3387
3428
|
}
|
|
3388
3429
|
:where(.ui-combobox)[data-ui-combobox-state~="size=lg"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
@@ -3390,7 +3431,8 @@ input:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3390
3431
|
}
|
|
3391
3432
|
:where(.ui-combobox)[data-ui-combobox-state~="size=lg"]
|
|
3392
3433
|
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
3393
|
-
|
|
3434
|
+
--_ui-combobox-inset-block: var(--ui-control-inset-block-lg, var(--ui-space-3));
|
|
3435
|
+
padding: var(--_ui-combobox-inset-block) var(--ui-space-4) !important;
|
|
3394
3436
|
font-size: var(--ui-font-size-md);
|
|
3395
3437
|
}
|
|
3396
3438
|
button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
@@ -3539,6 +3581,7 @@ input:disabled:where(:scope, :scope *):where([data-hn-ui-combobox]),button:disab
|
|
|
3539
3581
|
}
|
|
3540
3582
|
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]
|
|
3541
3583
|
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
3584
|
+
max-block-size: none;
|
|
3542
3585
|
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
3543
3586
|
width: auto;
|
|
3544
3587
|
min-block-size: 1.75rem;
|
|
@@ -4647,17 +4690,13 @@ dd:where([data-hn-ui-description-item]) {
|
|
|
4647
4690
|
/* Alerts have no close target to add height above the title. */
|
|
4648
4691
|
|
|
4649
4692
|
/* :host-qualified so page heading rules that reach in cannot outrank the dialog chrome. */
|
|
4650
|
-
|
|
4651
|
-
/* A CSS-drawn X. */
|
|
4652
|
-
|
|
4653
|
-
/* A touch target, like Button on coarse pointers. */
|
|
4654
|
-
@keyframes ui-dialog-enter-6cfda64d {
|
|
4693
|
+
@keyframes ui-dialog-enter-45428506 {
|
|
4655
4694
|
from {
|
|
4656
4695
|
opacity: 0;
|
|
4657
4696
|
transform: scale(0.96);
|
|
4658
4697
|
}
|
|
4659
4698
|
}
|
|
4660
|
-
@keyframes ui-dialog-backdrop-enter-
|
|
4699
|
+
@keyframes ui-dialog-backdrop-enter-45428506 {
|
|
4661
4700
|
from {
|
|
4662
4701
|
background-color: transparent;
|
|
4663
4702
|
}
|
|
@@ -4792,7 +4831,7 @@ from {
|
|
|
4792
4831
|
pointer-events: auto;
|
|
4793
4832
|
opacity: 1;
|
|
4794
4833
|
transform: scale(1);
|
|
4795
|
-
animation: ui-dialog-enter-
|
|
4834
|
+
animation: ui-dialog-enter-45428506 var(--ui-dialog-duration, var(--ui-motion-base))
|
|
4796
4835
|
var(--ui-motion-ease);
|
|
4797
4836
|
}
|
|
4798
4837
|
:scope[data-ui-dialog-state~="size=sm"]:where([data-hn-ui-dialog]) {
|
|
@@ -4838,51 +4877,10 @@ header:where([data-hn-ui-dialog]) {
|
|
|
4838
4877
|
line-height: var(--ui-line-height-tight);
|
|
4839
4878
|
}
|
|
4840
4879
|
.close:where([data-hn-ui-dialog]) {
|
|
4841
|
-
display:
|
|
4842
|
-
|
|
4843
|
-
flex: none;
|
|
4880
|
+
display: flex !important;
|
|
4881
|
+
align-items: center !important;
|
|
4882
|
+
flex: none !important;
|
|
4844
4883
|
margin-inline-start: auto !important;
|
|
4845
|
-
inline-size: var(--ui-control-size-sm);
|
|
4846
|
-
block-size: var(--ui-control-size-sm);
|
|
4847
|
-
padding: 0 !important;
|
|
4848
|
-
border: 0;
|
|
4849
|
-
border-radius: var(--ui-radius-round);
|
|
4850
|
-
background: transparent;
|
|
4851
|
-
color: var(--ui-text-secondary);
|
|
4852
|
-
cursor: pointer;
|
|
4853
|
-
transition:
|
|
4854
|
-
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
4855
|
-
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
4856
|
-
}
|
|
4857
|
-
.close:where([data-hn-ui-dialog])::before,.close:where([data-hn-ui-dialog])::after {
|
|
4858
|
-
content: "";
|
|
4859
|
-
grid-area: 1 / 1;
|
|
4860
|
-
inline-size: 0.875rem;
|
|
4861
|
-
block-size: 1.5px;
|
|
4862
|
-
border-radius: 1px;
|
|
4863
|
-
background: currentColor;
|
|
4864
|
-
transform: rotate(45deg);
|
|
4865
|
-
}
|
|
4866
|
-
.close:where([data-hn-ui-dialog])::after {
|
|
4867
|
-
transform: rotate(-45deg);
|
|
4868
|
-
}
|
|
4869
|
-
.close:hover:where([data-hn-ui-dialog]) {
|
|
4870
|
-
background: var(--ui-surface-muted);
|
|
4871
|
-
color: var(--ui-text-primary);
|
|
4872
|
-
}
|
|
4873
|
-
.close:focus-visible:where([data-hn-ui-dialog]) {
|
|
4874
|
-
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
4875
|
-
outline-offset: var(--ui-focus-width);
|
|
4876
|
-
}
|
|
4877
|
-
@media (pointer: coarse) {
|
|
4878
|
-
.close:where([data-hn-ui-dialog]) {
|
|
4879
|
-
inline-size: var(--ui-control-min-block-size);
|
|
4880
|
-
block-size: var(--ui-control-min-block-size);
|
|
4881
|
-
}
|
|
4882
|
-
}
|
|
4883
|
-
html[data-ui-input-modality="touch"] :scope .close:where([data-hn-ui-dialog]) {
|
|
4884
|
-
inline-size: var(--ui-control-min-block-size);
|
|
4885
|
-
block-size: var(--ui-control-min-block-size);
|
|
4886
4884
|
}
|
|
4887
4885
|
.body:where([data-hn-ui-dialog]) {
|
|
4888
4886
|
display: flex !important;
|
|
@@ -4913,7 +4911,7 @@ footer:empty:where([data-hn-ui-dialog]) {
|
|
|
4913
4911
|
}
|
|
4914
4912
|
:scope[open]:modal:where([data-hn-ui-dialog])::backdrop {
|
|
4915
4913
|
background-color: var(--ui-overlay-backdrop);
|
|
4916
|
-
animation: ui-dialog-backdrop-enter-
|
|
4914
|
+
animation: ui-dialog-backdrop-enter-45428506 var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
4917
4915
|
var(--ui-motion-ease);
|
|
4918
4916
|
}
|
|
4919
4917
|
:scope[open][data-ui-backdrop-hidden]:where([data-hn-ui-dialog])::backdrop {
|
|
@@ -5052,7 +5050,7 @@ footer:empty:where([data-hn-ui-dialog]) {
|
|
|
5052
5050
|
pointer-events: auto;
|
|
5053
5051
|
opacity: 1;
|
|
5054
5052
|
transform: scale(1);
|
|
5055
|
-
animation: ui-dialog-enter-
|
|
5053
|
+
animation: ui-dialog-enter-45428506 var(--ui-dialog-duration, var(--ui-motion-base))
|
|
5056
5054
|
var(--ui-motion-ease);
|
|
5057
5055
|
}
|
|
5058
5056
|
:where(.ui-dialog)[data-ui-dialog-state~="size=sm"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
@@ -5101,56 +5099,10 @@ header:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
|
5101
5099
|
line-height: var(--ui-line-height-tight);
|
|
5102
5100
|
}
|
|
5103
5101
|
.close:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
5104
|
-
display:
|
|
5105
|
-
|
|
5106
|
-
flex: none;
|
|
5102
|
+
display: flex !important;
|
|
5103
|
+
align-items: center !important;
|
|
5104
|
+
flex: none !important;
|
|
5107
5105
|
margin-inline-start: auto !important;
|
|
5108
|
-
inline-size: var(--ui-control-size-sm);
|
|
5109
|
-
block-size: var(--ui-control-size-sm);
|
|
5110
|
-
padding: 0 !important;
|
|
5111
|
-
border: 0;
|
|
5112
|
-
border-radius: var(--ui-radius-round);
|
|
5113
|
-
background: transparent;
|
|
5114
|
-
color: var(--ui-text-secondary);
|
|
5115
|
-
cursor: pointer;
|
|
5116
|
-
transition:
|
|
5117
|
-
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
5118
|
-
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
5119
|
-
}
|
|
5120
|
-
.close:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where(:scope, :scope
|
|
5121
|
-
*):where([data-hn-ui-dialog])::before,.close:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where(:scope, :scope
|
|
5122
|
-
*):where([data-hn-ui-dialog])::after {
|
|
5123
|
-
content: "";
|
|
5124
|
-
grid-area: 1 / 1;
|
|
5125
|
-
inline-size: 0.875rem;
|
|
5126
|
-
block-size: 1.5px;
|
|
5127
|
-
border-radius: 1px;
|
|
5128
|
-
background: currentColor;
|
|
5129
|
-
transform: rotate(45deg);
|
|
5130
|
-
}
|
|
5131
|
-
.close:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where(:scope, :scope
|
|
5132
|
-
*):where([data-hn-ui-dialog])::after {
|
|
5133
|
-
transform: rotate(-45deg);
|
|
5134
|
-
}
|
|
5135
|
-
.close:hover:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
5136
|
-
background: var(--ui-surface-muted);
|
|
5137
|
-
color: var(--ui-text-primary);
|
|
5138
|
-
}
|
|
5139
|
-
.close:focus-visible:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
5140
|
-
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
5141
|
-
outline-offset: var(--ui-focus-width);
|
|
5142
|
-
}
|
|
5143
|
-
@media (pointer: coarse) {
|
|
5144
|
-
.close:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
5145
|
-
inline-size: var(--ui-control-min-block-size);
|
|
5146
|
-
block-size: var(--ui-control-min-block-size);
|
|
5147
|
-
}
|
|
5148
|
-
}
|
|
5149
|
-
html[data-ui-input-modality="touch"]
|
|
5150
|
-
:where(.ui-dialog)
|
|
5151
|
-
.close:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
5152
|
-
inline-size: var(--ui-control-min-block-size);
|
|
5153
|
-
block-size: var(--ui-control-min-block-size);
|
|
5154
5106
|
}
|
|
5155
5107
|
.body:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
5156
5108
|
display: flex !important;
|
|
@@ -5181,7 +5133,7 @@ footer:empty:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
|
5181
5133
|
}
|
|
5182
5134
|
:where(.ui-dialog)[open]:modal:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])::backdrop {
|
|
5183
5135
|
background-color: var(--ui-overlay-backdrop);
|
|
5184
|
-
animation: ui-dialog-backdrop-enter-
|
|
5136
|
+
animation: ui-dialog-backdrop-enter-45428506 var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
5185
5137
|
var(--ui-motion-ease);
|
|
5186
5138
|
}
|
|
5187
5139
|
:where(.ui-dialog)[open][data-ui-backdrop-hidden]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])::backdrop {
|
|
@@ -6228,6 +6180,7 @@ legend.sr-only:where([data-hn-ui-radio-group]) {
|
|
|
6228
6180
|
Hooks do not inherit, so these are defaults for the input; its own hooks still win. */
|
|
6229
6181
|
--_ui-default-input-border-width: 0;
|
|
6230
6182
|
--_ui-default-input-min-block-size: 0;
|
|
6183
|
+
--_ui-default-input-frame-width: calc(2 * var(--ui-border-width));
|
|
6231
6184
|
--_ui-default-input-border: transparent;
|
|
6232
6185
|
--_ui-default-input-border-hover: transparent;
|
|
6233
6186
|
--_ui-default-input-focus-border: transparent;
|
|
@@ -10255,13 +10208,22 @@ dialog:where([data-hn-ui-search-shell]) {
|
|
|
10255
10208
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
10256
10209
|
@scope (.ui-select) to ([data-hn]) {
|
|
10257
10210
|
:scope:where([data-hn-ui-select]) {
|
|
10211
|
+
--_ui-select-size: var(--ui-control-size-md);
|
|
10212
|
+
--_ui-select-inset-block: var(--ui-control-inset-block-md, var(--ui-space-2));
|
|
10258
10213
|
box-sizing: border-box !important;
|
|
10259
10214
|
display: inline-block !important;
|
|
10260
10215
|
inline-size: var(--ui-select-inline-size, 100%);
|
|
10261
10216
|
min-inline-size: 0;
|
|
10217
|
+
max-block-size: max(
|
|
10218
|
+
var(--_ui-select-size),
|
|
10219
|
+
calc(
|
|
10220
|
+
1em * var(--ui-line-height-tight) + 2 * var(--_ui-select-inset-block) +
|
|
10221
|
+
2 * var(--ui-border-width)
|
|
10222
|
+
)
|
|
10223
|
+
);
|
|
10262
10224
|
min-block-size: var(--ui-control-size-md);
|
|
10263
10225
|
margin: 0 !important;
|
|
10264
|
-
padding: var(--
|
|
10226
|
+
padding: var(--_ui-select-inset-block) var(--ui-space-3) !important;
|
|
10265
10227
|
border: var(--ui-border-width) solid
|
|
10266
10228
|
var(--ui-select-border, var(--ui-control-border, var(--ui-border-strong)));
|
|
10267
10229
|
border-radius: var(--ui-select-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
@@ -10337,8 +10299,10 @@ dialog:where([data-hn-ui-search-shell]) {
|
|
|
10337
10299
|
cursor: not-allowed;
|
|
10338
10300
|
}
|
|
10339
10301
|
:scope[data-ui-select-state~="size=sm"]:where([data-hn-ui-select]) {
|
|
10302
|
+
--_ui-select-size: var(--ui-control-size-sm);
|
|
10303
|
+
--_ui-select-inset-block: var(--ui-control-inset-block-sm, var(--ui-space-1));
|
|
10340
10304
|
min-block-size: var(--ui-control-size-sm);
|
|
10341
|
-
padding: var(--
|
|
10305
|
+
padding: var(--_ui-select-inset-block) var(--ui-space-2) !important;
|
|
10342
10306
|
padding-inline-end: calc(var(--ui-space-2) + var(--ui-icon-size-sm) + var(--ui-space-1))
|
|
10343
10307
|
!important;
|
|
10344
10308
|
background-position: right var(--ui-space-2) center, center;
|
|
@@ -10348,8 +10312,10 @@ dialog:where([data-hn-ui-search-shell]) {
|
|
|
10348
10312
|
font-size: var(--ui-font-size-sm);
|
|
10349
10313
|
}
|
|
10350
10314
|
:scope[data-ui-select-state~="size=lg"]:where([data-hn-ui-select]) {
|
|
10315
|
+
--_ui-select-size: var(--ui-control-size-lg);
|
|
10316
|
+
--_ui-select-inset-block: var(--ui-control-inset-block-lg, var(--ui-space-3));
|
|
10351
10317
|
min-block-size: var(--ui-control-size-lg);
|
|
10352
|
-
padding: var(--
|
|
10318
|
+
padding: var(--_ui-select-inset-block) var(--ui-space-4) !important;
|
|
10353
10319
|
padding-inline-end: calc(var(--ui-space-4) + 1.5rem) !important;
|
|
10354
10320
|
background-position: right var(--ui-space-4) center, center;
|
|
10355
10321
|
font-size: var(--ui-font-size-md);
|
|
@@ -17079,15 +17045,24 @@ html[data-ui-input-modality="touch"]
|
|
|
17079
17045
|
syntax: "*";
|
|
17080
17046
|
inherits: false;
|
|
17081
17047
|
}
|
|
17048
|
+
/* Normalize a unitless zero border to a length before the box calculation. */
|
|
17049
|
+
@property --_ui-input-stroke {
|
|
17050
|
+
syntax: "<length>";
|
|
17051
|
+
inherits: false;
|
|
17052
|
+
initial-value: 1px;
|
|
17053
|
+
}
|
|
17082
17054
|
|
|
17083
17055
|
:scope:where([data-component~="ui-input"]) {
|
|
17056
|
+
--_ui-input-size: var(--ui-control-size-md);
|
|
17057
|
+
--_ui-input-inset-block: var(--ui-control-inset-block-md, var(--ui-space-2));
|
|
17058
|
+
--_ui-input-stroke: var(--ui-input-border-width, var(--_ui-default-input-border-width, var(--ui-border-width)));
|
|
17084
17059
|
box-sizing: border-box !important;
|
|
17085
17060
|
display: inline-block !important;
|
|
17086
17061
|
inline-size: var(--ui-input-inline-size, 100%);
|
|
17087
17062
|
min-inline-size: 0;
|
|
17088
17063
|
min-block-size: var(--ui-input-min-block-size, var(--_ui-default-input-min-block-size, var(--ui-control-size-md)));
|
|
17089
17064
|
margin: 0 !important;
|
|
17090
|
-
padding: var(--
|
|
17065
|
+
padding: var(--_ui-input-inset-block) var(--ui-space-3) !important;
|
|
17091
17066
|
appearance: none;
|
|
17092
17067
|
padding-inline-start: var(--_ui-default-input-padding-inline-start, var(--ui-space-3)) !important;
|
|
17093
17068
|
border: var(--ui-input-border-width, var(--_ui-default-input-border-width, var(--ui-border-width))) solid
|
|
@@ -17105,16 +17080,25 @@ html[data-ui-input-modality="touch"]
|
|
|
17105
17080
|
background-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
17106
17081
|
}
|
|
17107
17082
|
|
|
17083
|
+
/* Cap Safari's excess text metrics without changing native date, file, color or range widgets. */
|
|
17084
|
+
:scope:where([data-component~="ui-input"]):is([type="text"], [type="search"], [type="tel"], [type="url"], [type="email"], [type="password"], [type="number"]) {
|
|
17085
|
+
max-block-size: max(calc(var(--_ui-input-size) - var(--_ui-default-input-frame-width, 0px)), calc(1em * var(--ui-line-height-tight) + 2 * var(--_ui-input-inset-block) + 2 * var(--_ui-input-stroke)));
|
|
17086
|
+
}
|
|
17087
|
+
|
|
17108
17088
|
/* Each size reads the hook and then an Input Group's default first, so a group, which draws the frame, can zero it. */
|
|
17109
17089
|
:scope:where([data-component~="ui-input"])[data-ui-input-state~="size=sm"] {
|
|
17090
|
+
--_ui-input-size: var(--ui-control-size-sm);
|
|
17091
|
+
--_ui-input-inset-block: var(--ui-control-inset-block-sm, var(--ui-space-1));
|
|
17110
17092
|
min-block-size: var(--ui-input-min-block-size, var(--_ui-default-input-min-block-size, var(--ui-control-size-sm)));
|
|
17111
|
-
padding: var(--
|
|
17093
|
+
padding: var(--_ui-input-inset-block) var(--ui-space-2) !important;
|
|
17112
17094
|
font-size: var(--ui-font-size-sm);
|
|
17113
17095
|
}
|
|
17114
17096
|
|
|
17115
17097
|
:scope:where([data-component~="ui-input"])[data-ui-input-state~="size=lg"] {
|
|
17098
|
+
--_ui-input-size: var(--ui-control-size-lg);
|
|
17099
|
+
--_ui-input-inset-block: var(--ui-control-inset-block-lg, var(--ui-space-3));
|
|
17116
17100
|
min-block-size: var(--ui-input-min-block-size, var(--_ui-default-input-min-block-size, var(--ui-control-size-lg)));
|
|
17117
|
-
padding: var(--
|
|
17101
|
+
padding: var(--_ui-input-inset-block) var(--ui-space-4) !important;
|
|
17118
17102
|
font-size: var(--ui-font-size-md);
|
|
17119
17103
|
}
|
|
17120
17104
|
|
|
@@ -17195,6 +17179,9 @@ html[data-ui-input-modality="touch"]
|
|
|
17195
17179
|
@scope ([data-component~="ui-input"]) to ([data-component]) {
|
|
17196
17180
|
/* This component's hooks style the element they are set on, and never a nested one. An Input
|
|
17197
17181
|
Group sets --_ui-default-input-* for the input inside it, below the input's own hooks. */
|
|
17182
|
+
/* Normalize a unitless zero border to a length before the box calculation. */
|
|
17183
|
+
|
|
17184
|
+
/* Cap Safari's excess text metrics without changing native date, file, color or range widgets. */
|
|
17198
17185
|
|
|
17199
17186
|
/* Each size reads the hook and then an Input Group's default first, so a group, which draws the frame, can zero it. */
|
|
17200
17187
|
|