@nonoun/native-ui 0.2.6 → 0.2.8
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/components/ui-accordion/ui-accordion-element.d.ts.map +1 -1
- package/dist/components/ui-avatar/ui-avatar-element.d.ts +2 -0
- package/dist/components/ui-avatar/ui-avatar-element.d.ts.map +1 -1
- package/dist/components/ui-calendar/calendar-store.d.ts.map +1 -1
- package/dist/components/ui-calendar/ui-calendar-element.d.ts +1 -0
- package/dist/components/ui-calendar/ui-calendar-element.d.ts.map +1 -1
- package/dist/components/ui-chat/ui-chat-input-element.d.ts.map +1 -1
- package/dist/components/ui-checkbox/ui-checkbox-element.d.ts +1 -0
- package/dist/components/ui-checkbox/ui-checkbox-element.d.ts.map +1 -1
- package/dist/components/ui-combobox/ui-combobox-element.d.ts +1 -0
- package/dist/components/ui-combobox/ui-combobox-element.d.ts.map +1 -1
- package/dist/components/ui-command/ui-command-element.d.ts.map +1 -1
- package/dist/components/ui-command/ui-command-group-element.d.ts +1 -0
- package/dist/components/ui-command/ui-command-group-element.d.ts.map +1 -1
- package/dist/components/ui-controller/ui-controller-element.d.ts +1 -0
- package/dist/components/ui-controller/ui-controller-element.d.ts.map +1 -1
- package/dist/components/ui-dialog/ui-dialog-element.d.ts +0 -1
- package/dist/components/ui-dialog/ui-dialog-element.d.ts.map +1 -1
- package/dist/components/ui-drawer/ui-drawer-element.d.ts +0 -1
- package/dist/components/ui-drawer/ui-drawer-element.d.ts.map +1 -1
- package/dist/components/ui-field/ui-field-element.d.ts.map +1 -1
- package/dist/components/ui-input/ui-input-element.d.ts +1 -0
- package/dist/components/ui-input/ui-input-element.d.ts.map +1 -1
- package/dist/components/ui-input-otp/ui-input-otp-element.d.ts +1 -0
- package/dist/components/ui-input-otp/ui-input-otp-element.d.ts.map +1 -1
- package/dist/components/ui-listbox/ui-listbox-element.d.ts.map +1 -1
- package/dist/components/ui-nav/ui-nav-group-element.d.ts +1 -1
- package/dist/components/ui-pagination/ui-pagination-element.d.ts.map +1 -1
- package/dist/components/ui-radio/ui-radio-element.d.ts.map +1 -1
- package/dist/components/ui-radio/ui-radio-group-element.d.ts +1 -0
- package/dist/components/ui-radio/ui-radio-group-element.d.ts.map +1 -1
- package/dist/components/ui-range/ui-range-element.d.ts +4 -0
- package/dist/components/ui-range/ui-range-element.d.ts.map +1 -1
- package/dist/components/ui-segmented-control/ui-segment-element.d.ts.map +1 -1
- package/dist/components/ui-segmented-control/ui-segmented-control-element.d.ts +1 -0
- package/dist/components/ui-segmented-control/ui-segmented-control-element.d.ts.map +1 -1
- package/dist/components/ui-select/ui-select-element.d.ts +1 -0
- package/dist/components/ui-select/ui-select-element.d.ts.map +1 -1
- package/dist/components/ui-slideshow/ui-slideshow-element.d.ts.map +1 -1
- package/dist/components/ui-switch/ui-switch-element.d.ts +4 -0
- package/dist/components/ui-switch/ui-switch-element.d.ts.map +1 -1
- package/dist/components/ui-table/index.d.ts +1 -1
- package/dist/components/ui-table/index.d.ts.map +1 -1
- package/dist/components/ui-table/table-store.d.ts +0 -1
- package/dist/components/ui-table/table-store.d.ts.map +1 -1
- package/dist/components/ui-table/ui-table-element.d.ts +1 -0
- package/dist/components/ui-table/ui-table-element.d.ts.map +1 -1
- package/dist/components/ui-table/ui-table-header-element.d.ts +1 -0
- package/dist/components/ui-table/ui-table-header-element.d.ts.map +1 -1
- package/dist/components/ui-tabs/ui-tab-element.d.ts.map +1 -1
- package/dist/components/ui-tabs/ui-tabs-element.d.ts.map +1 -1
- package/dist/components/ui-textarea/ui-textarea-element.d.ts +1 -0
- package/dist/components/ui-textarea/ui-textarea-element.d.ts.map +1 -1
- package/dist/components/ui-tree/ui-tree-item-element.d.ts +4 -0
- package/dist/components/ui-tree/ui-tree-item-element.d.ts.map +1 -1
- package/dist/components-lean.css +91 -80
- package/dist/components.css +99 -80
- package/dist/core/form-associable.d.ts +2 -2
- package/dist/core/ui-element.d.ts +2 -0
- package/dist/core/ui-element.d.ts.map +1 -1
- package/dist/custom-elements.json +3728 -1586
- package/dist/dialog-controller.js +56 -39
- package/dist/icons/ui-icon-element.d.ts +1 -0
- package/dist/icons/ui-icon-element.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/kernel/index.d.ts +1 -0
- package/dist/kernel/index.d.ts.map +1 -1
- package/dist/kernel/overlay-manager.d.ts +5 -1
- package/dist/kernel/overlay-manager.d.ts.map +1 -1
- package/dist/kernel.js +32 -13
- package/dist/native-ui-lean.css +91 -80
- package/dist/native-ui.css +99 -80
- package/dist/native-ui.js +7 -32
- package/dist/register-all.js +2 -2
- package/dist/register-all2.js +147 -76
- package/dist/traits/adapters/collapsible-adapter.d.ts.map +1 -1
- package/dist/traits/adapters/copyable-adapter.d.ts.map +1 -1
- package/dist/traits/adapters/hoverable-adapter.d.ts.map +1 -1
- package/dist/traits/adapters/intersectable-adapter.d.ts.map +1 -1
- package/dist/traits/adapters/resizable-adapter.d.ts.map +1 -1
- package/dist/traits/adapters/searchable-adapter.d.ts.map +1 -1
- package/dist/traits/adapters/sortable-adapter.d.ts.map +1 -1
- package/dist/traits/adapters/swipeable-adapter.d.ts.map +1 -1
- package/dist/traits/adapters/virtualizable-adapter.d.ts.map +1 -1
- package/dist/traits/collapsible-controller.d.ts.map +1 -1
- package/dist/traits/dialog-controller.d.ts.map +1 -1
- package/dist/traits/drag-controller.d.ts.map +1 -1
- package/dist/traits/drop-zone-controller.d.ts +1 -1
- package/dist/traits/drop-zone-controller.d.ts.map +1 -1
- package/dist/traits/focus-trap-controller.d.ts.map +1 -1
- package/dist/traits/hover-controller.d.ts +1 -1
- package/dist/traits/hover-controller.d.ts.map +1 -1
- package/dist/traits/intersect-controller.d.ts.map +1 -1
- package/dist/traits/popover-controller.d.ts.map +1 -1
- package/dist/traits/press-controller.d.ts.map +1 -1
- package/dist/traits/resize-controller.d.ts.map +1 -1
- package/dist/traits/selection-controller.d.ts.map +1 -1
- package/dist/traits/sort-controller.d.ts.map +1 -1
- package/dist/traits/swipe-controller.d.ts.map +1 -1
- package/dist/traits/validate-controller.d.ts +2 -0
- package/dist/traits/validate-controller.d.ts.map +1 -1
- package/dist/traits.js +4 -4
- package/dist/ui-element.js +13 -8
- package/dist/ui-icon-element.js +708 -465
- package/package.json +1 -1
package/dist/native-ui-lean.css
CHANGED
|
@@ -2080,6 +2080,57 @@
|
|
|
2080
2080
|
}
|
|
2081
2081
|
}
|
|
2082
2082
|
|
|
2083
|
+
@layer ui {
|
|
2084
|
+
|
|
2085
|
+
/* ── Icon Base ── */
|
|
2086
|
+
|
|
2087
|
+
:where(ui-icon) {
|
|
2088
|
+
--ui-icon-size: var(--_icon-size);
|
|
2089
|
+
--ui-icon-color: currentColor;
|
|
2090
|
+
|
|
2091
|
+
box-sizing: border-box;
|
|
2092
|
+
display: inline-flex;
|
|
2093
|
+
align-items: center;
|
|
2094
|
+
justify-content: center;
|
|
2095
|
+
width: var(--ui-icon-size);
|
|
2096
|
+
height: var(--ui-icon-size);
|
|
2097
|
+
color: var(--ui-icon-color);
|
|
2098
|
+
flex-shrink: 0;
|
|
2099
|
+
vertical-align: middle;
|
|
2100
|
+
line-height: 0;
|
|
2101
|
+
}
|
|
2102
|
+
|
|
2103
|
+
:where(ui-icon) > :where(svg) {
|
|
2104
|
+
width: 100%;
|
|
2105
|
+
height: 100%;
|
|
2106
|
+
}
|
|
2107
|
+
|
|
2108
|
+
/* WHY: Unregistered icons (no SVG content) should collapse to zero size
|
|
2109
|
+
so surrounding buttons/slots don't render with phantom dimensions */
|
|
2110
|
+
:where(ui-icon:empty) {
|
|
2111
|
+
width: 0;
|
|
2112
|
+
height: 0;
|
|
2113
|
+
overflow: hidden;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
/* ── Icon Size Variants ── */
|
|
2117
|
+
|
|
2118
|
+
:where(ui-icon[size="xs"]) { --ui-icon-size: var(--ui-icon-xs); }
|
|
2119
|
+
:where(ui-icon[size="sm"]) { --ui-icon-size: var(--ui-icon-sm); }
|
|
2120
|
+
:where(ui-icon[size="md"]) { --ui-icon-size: var(--ui-icon-md); }
|
|
2121
|
+
:where(ui-icon[size="lg"]) { --ui-icon-size: var(--ui-icon-lg); }
|
|
2122
|
+
:where(ui-icon[size="xl"]) { --ui-icon-size: var(--ui-icon-xl); }
|
|
2123
|
+
|
|
2124
|
+
/* ── Forced Colors ── */
|
|
2125
|
+
|
|
2126
|
+
@media (forced-colors: active) {
|
|
2127
|
+
:where(ui-icon) {
|
|
2128
|
+
--ui-icon-color: ButtonText;
|
|
2129
|
+
}
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
}
|
|
2133
|
+
|
|
2083
2134
|
@layer ui {
|
|
2084
2135
|
|
|
2085
2136
|
/* ── Accordion Container ── */
|
|
@@ -2549,7 +2600,8 @@
|
|
|
2549
2600
|
display: inline-flex;
|
|
2550
2601
|
flex-direction: column;
|
|
2551
2602
|
gap: calc(var(--_space));
|
|
2552
|
-
padding: calc(var(--_space) * 2);
|
|
2603
|
+
padding-block: calc(var(--_space) * 2);
|
|
2604
|
+
padding-inline: calc(var(--_space) * 2);
|
|
2553
2605
|
border: 1px solid var(--_border-color);
|
|
2554
2606
|
border-radius: var(--_radius);
|
|
2555
2607
|
background: var(--_background);
|
|
@@ -2756,11 +2808,17 @@
|
|
|
2756
2808
|
}
|
|
2757
2809
|
|
|
2758
2810
|
:where(ui-calendar) :where([data-range-start]) {
|
|
2759
|
-
border-radius: calc(var(--_radius) - var(--_space))
|
|
2811
|
+
border-start-start-radius: calc(var(--_radius) - var(--_space));
|
|
2812
|
+
border-end-start-radius: calc(var(--_radius) - var(--_space));
|
|
2813
|
+
border-start-end-radius: 0;
|
|
2814
|
+
border-end-end-radius: 0;
|
|
2760
2815
|
}
|
|
2761
2816
|
|
|
2762
2817
|
:where(ui-calendar) :where([data-range-end]) {
|
|
2763
|
-
border-radius: 0
|
|
2818
|
+
border-start-start-radius: 0;
|
|
2819
|
+
border-end-start-radius: 0;
|
|
2820
|
+
border-start-end-radius: calc(var(--_radius) - var(--_space));
|
|
2821
|
+
border-end-end-radius: calc(var(--_radius) - var(--_space));
|
|
2764
2822
|
}
|
|
2765
2823
|
|
|
2766
2824
|
:where(ui-calendar) :where([data-range-start][data-range-end]) {
|
|
@@ -3097,13 +3155,14 @@
|
|
|
3097
3155
|
|
|
3098
3156
|
/* ── Active (pressed) ── */
|
|
3099
3157
|
|
|
3100
|
-
:where(ui-checkbox)[pressed]::before
|
|
3158
|
+
:where(ui-checkbox)[pressed]::before{
|
|
3101
3159
|
background: var(--_background-active, var(--_widget-active));
|
|
3102
3160
|
border-color: var(--_border-color-active, var(--_border-active));
|
|
3103
3161
|
}
|
|
3104
3162
|
|
|
3105
3163
|
:where(ui-checkbox)[aria-checked="true"][pressed]::before,
|
|
3106
|
-
:where(ui-checkbox)[aria-checked="mixed"][pressed]::before
|
|
3164
|
+
:where(ui-checkbox)[aria-checked="mixed"][pressed]::before
|
|
3165
|
+
:where(ui-checkbox)[aria-checked="mixed"][force-active]::before {
|
|
3107
3166
|
background: var(--_surface-active);
|
|
3108
3167
|
border-color: var(--_surface-active);
|
|
3109
3168
|
}
|
|
@@ -3211,7 +3270,8 @@
|
|
|
3211
3270
|
:where(ui-command-list) {
|
|
3212
3271
|
overflow-y: auto;
|
|
3213
3272
|
max-height: var(--ui-popover-max-height);
|
|
3214
|
-
padding: var(--_space);
|
|
3273
|
+
padding-block: var(--_space);
|
|
3274
|
+
padding-inline: var(--_space);
|
|
3215
3275
|
}
|
|
3216
3276
|
|
|
3217
3277
|
/* ── Command Group ── */
|
|
@@ -3303,7 +3363,8 @@
|
|
|
3303
3363
|
}
|
|
3304
3364
|
|
|
3305
3365
|
:where(ui-dialog) > :where(dialog)::backdrop {
|
|
3306
|
-
background: var(--ui-backdrop-color)
|
|
3366
|
+
background: var(--ui-backdrop-color);
|
|
3367
|
+
opacity: var(--ui-backdrop-opacity);
|
|
3307
3368
|
}
|
|
3308
3369
|
|
|
3309
3370
|
}
|
|
@@ -3343,7 +3404,8 @@
|
|
|
3343
3404
|
/* WHY: Animate backdrop opacity on open for a smooth reveal. */
|
|
3344
3405
|
|
|
3345
3406
|
:where(ui-drawer) > :where(dialog)::backdrop {
|
|
3346
|
-
background: var(--ui-backdrop-color)
|
|
3407
|
+
background: var(--ui-backdrop-color);
|
|
3408
|
+
opacity: var(--ui-backdrop-opacity);
|
|
3347
3409
|
animation: drawer-backdrop-in var(--_duration) ease-out;
|
|
3348
3410
|
}
|
|
3349
3411
|
|
|
@@ -3799,7 +3861,8 @@
|
|
|
3799
3861
|
min-width: 0;
|
|
3800
3862
|
flex-direction: column;
|
|
3801
3863
|
gap: 0;
|
|
3802
|
-
padding: var(--_space);
|
|
3864
|
+
padding-block: var(--_space);
|
|
3865
|
+
padding-inline: var(--_space);
|
|
3803
3866
|
border-radius: var(--_radius);
|
|
3804
3867
|
border: 1px solid var(--_border-color, var(--_border-rest));
|
|
3805
3868
|
background: var(--_background, var(--_control));
|
|
@@ -3975,10 +4038,6 @@
|
|
|
3975
4038
|
color: var(--_ink-hover);
|
|
3976
4039
|
}
|
|
3977
4040
|
|
|
3978
|
-
:where(ui-nav-item)[active] {
|
|
3979
|
-
color: var(--_ink-hover);
|
|
3980
|
-
}
|
|
3981
|
-
|
|
3982
4041
|
:where(ui-nav-item):active{
|
|
3983
4042
|
color: var(--_ink-active);
|
|
3984
4043
|
}
|
|
@@ -4202,7 +4261,8 @@
|
|
|
4202
4261
|
position: fixed;
|
|
4203
4262
|
position-area: inline-end span-block-end;
|
|
4204
4263
|
position-try-fallbacks: --nav-flyout-flip-up;
|
|
4205
|
-
margin: 0
|
|
4264
|
+
margin: 0;
|
|
4265
|
+
margin-inline-start: var(--ui-popover-gap);
|
|
4206
4266
|
min-width: 200px;
|
|
4207
4267
|
max-height: var(--ui-popover-max-height);
|
|
4208
4268
|
overflow-y: auto;
|
|
@@ -4430,12 +4490,12 @@
|
|
|
4430
4490
|
|
|
4431
4491
|
/* ── Active (pressed) ── */
|
|
4432
4492
|
|
|
4433
|
-
:where(ui-radio)[pressed]::before
|
|
4493
|
+
:where(ui-radio)[pressed]::before{
|
|
4434
4494
|
background: var(--_background-active, var(--_widget-active));
|
|
4435
4495
|
border-color: var(--_border-color-active, var(--_border-active));
|
|
4436
4496
|
}
|
|
4437
4497
|
|
|
4438
|
-
:where(ui-radio)[aria-checked="true"][pressed]::before
|
|
4498
|
+
:where(ui-radio)[aria-checked="true"][pressed]::before{
|
|
4439
4499
|
background: var(--_surface-active);
|
|
4440
4500
|
border-color: var(--_surface-active);
|
|
4441
4501
|
}
|
|
@@ -4581,11 +4641,11 @@
|
|
|
4581
4641
|
|
|
4582
4642
|
/* ── Active (dragging) ── */
|
|
4583
4643
|
|
|
4584
|
-
:where(ui-range)[pressed]::after
|
|
4644
|
+
:where(ui-range)[pressed]::after{
|
|
4585
4645
|
background: var(--_surface-active);
|
|
4586
4646
|
}
|
|
4587
4647
|
|
|
4588
|
-
:where(ui-range)[pressed] > :where(.ui-range-thumb)
|
|
4648
|
+
:where(ui-range)[pressed] > :where(.ui-range-thumb){
|
|
4589
4649
|
border-color: var(--_surface-active);
|
|
4590
4650
|
box-shadow: var(--ui-shadow-sm), 0 0 0 6px var(--_surface);
|
|
4591
4651
|
}
|
|
@@ -5160,12 +5220,12 @@
|
|
|
5160
5220
|
|
|
5161
5221
|
/* ── Active (pressed) ── */
|
|
5162
5222
|
|
|
5163
|
-
:where(ui-switch)[pressed]::before
|
|
5223
|
+
:where(ui-switch)[pressed]::before{
|
|
5164
5224
|
background: var(--_track-bg-active);
|
|
5165
5225
|
border-color: var(--_track-border-active);
|
|
5166
5226
|
}
|
|
5167
5227
|
|
|
5168
|
-
:where(ui-switch)[aria-checked="true"][pressed]::before
|
|
5228
|
+
:where(ui-switch)[aria-checked="true"][pressed]::before{
|
|
5169
5229
|
background: var(--_surface-active);
|
|
5170
5230
|
border-color: var(--_surface-active);
|
|
5171
5231
|
}
|
|
@@ -5945,22 +6005,22 @@
|
|
|
5945
6005
|
|
|
5946
6006
|
:where(ui-tooltip[placement="top"]) {
|
|
5947
6007
|
position-area: block-start;
|
|
5948
|
-
margin-
|
|
6008
|
+
margin-block-end: calc(var(--_space) * 2);
|
|
5949
6009
|
}
|
|
5950
6010
|
|
|
5951
6011
|
:where(ui-tooltip[placement="bottom"]) {
|
|
5952
6012
|
position-area: block-end;
|
|
5953
|
-
margin-
|
|
6013
|
+
margin-block-start: calc(var(--_space) * 2);
|
|
5954
6014
|
}
|
|
5955
6015
|
|
|
5956
6016
|
:where(ui-tooltip[placement="left"]) {
|
|
5957
6017
|
position-area: inline-start;
|
|
5958
|
-
margin-
|
|
6018
|
+
margin-inline-end: calc(var(--_space) * 2);
|
|
5959
6019
|
}
|
|
5960
6020
|
|
|
5961
6021
|
:where(ui-tooltip[placement="right"]) {
|
|
5962
6022
|
position-area: inline-end;
|
|
5963
|
-
margin-
|
|
6023
|
+
margin-inline-start: calc(var(--_space) * 2);
|
|
5964
6024
|
}
|
|
5965
6025
|
|
|
5966
6026
|
/* ── Hidden (not :popover-open) ── */
|
|
@@ -5984,7 +6044,8 @@
|
|
|
5984
6044
|
flex: 1 1 0%;
|
|
5985
6045
|
min-width: 0;
|
|
5986
6046
|
flex-direction: column;
|
|
5987
|
-
padding: var(--_space);
|
|
6047
|
+
padding-block: var(--_space);
|
|
6048
|
+
padding-inline: var(--_space);
|
|
5988
6049
|
font-size: var(--_font-size);
|
|
5989
6050
|
line-height: var(--_line-height);
|
|
5990
6051
|
}
|
|
@@ -6067,7 +6128,7 @@
|
|
|
6067
6128
|
|
|
6068
6129
|
/* ── Disabled ── */
|
|
6069
6130
|
|
|
6070
|
-
:where(ui-tree-item[disabled]) > :where([slot="label"]) {
|
|
6131
|
+
:where(ui-tree-item[aria-disabled="true"]) > :where([slot="label"]) {
|
|
6071
6132
|
color: var(--_ink-disabled);
|
|
6072
6133
|
cursor: not-allowed;
|
|
6073
6134
|
pointer-events: none;
|
|
@@ -6775,11 +6836,11 @@
|
|
|
6775
6836
|
/* WHY: When collapsed to icon rail, the sidebar edge meets content — drop left padding. */
|
|
6776
6837
|
|
|
6777
6838
|
:where(ui-layout-sidebar)[collapsed] :where(ui-layout-canvas) {
|
|
6778
|
-
padding-
|
|
6839
|
+
padding-inline-start: 0;
|
|
6779
6840
|
}
|
|
6780
6841
|
|
|
6781
6842
|
:where(ui-layout-sidebar)[collapsed] :where(ui-layout-breadcrumb) {
|
|
6782
|
-
padding-
|
|
6843
|
+
padding-inline-start: 0;
|
|
6783
6844
|
}
|
|
6784
6845
|
|
|
6785
6846
|
/* ── Sidebar Header ── */
|
|
@@ -6949,7 +7010,8 @@
|
|
|
6949
7010
|
position: fixed;
|
|
6950
7011
|
position-area: inline-end span-block-end;
|
|
6951
7012
|
position-try-fallbacks: --sidebar-item-flip-up;
|
|
6952
|
-
margin: 0
|
|
7013
|
+
margin: 0;
|
|
7014
|
+
margin-inline-start: var(--ui-popover-gap);
|
|
6953
7015
|
min-width: 200px;
|
|
6954
7016
|
max-height: var(--ui-popover-max-height);
|
|
6955
7017
|
overflow-y: auto;
|
|
@@ -7207,57 +7269,6 @@
|
|
|
7207
7269
|
|
|
7208
7270
|
}
|
|
7209
7271
|
|
|
7210
|
-
@layer ui {
|
|
7211
|
-
|
|
7212
|
-
/* ── Icon Base ── */
|
|
7213
|
-
|
|
7214
|
-
:where(ui-icon) {
|
|
7215
|
-
--ui-icon-size: var(--_icon-size);
|
|
7216
|
-
--ui-icon-color: currentColor;
|
|
7217
|
-
|
|
7218
|
-
box-sizing: border-box;
|
|
7219
|
-
display: inline-flex;
|
|
7220
|
-
align-items: center;
|
|
7221
|
-
justify-content: center;
|
|
7222
|
-
width: var(--ui-icon-size);
|
|
7223
|
-
height: var(--ui-icon-size);
|
|
7224
|
-
color: var(--ui-icon-color);
|
|
7225
|
-
flex-shrink: 0;
|
|
7226
|
-
vertical-align: middle;
|
|
7227
|
-
line-height: 0;
|
|
7228
|
-
}
|
|
7229
|
-
|
|
7230
|
-
:where(ui-icon) > :where(svg) {
|
|
7231
|
-
width: 100%;
|
|
7232
|
-
height: 100%;
|
|
7233
|
-
}
|
|
7234
|
-
|
|
7235
|
-
/* WHY: Unregistered icons (no SVG content) should collapse to zero size
|
|
7236
|
-
so surrounding buttons/slots don't render with phantom dimensions */
|
|
7237
|
-
:where(ui-icon:empty) {
|
|
7238
|
-
width: 0;
|
|
7239
|
-
height: 0;
|
|
7240
|
-
overflow: hidden;
|
|
7241
|
-
}
|
|
7242
|
-
|
|
7243
|
-
/* ── Icon Size Variants ── */
|
|
7244
|
-
|
|
7245
|
-
:where(ui-icon[size="xs"]) { --ui-icon-size: var(--ui-icon-xs); }
|
|
7246
|
-
:where(ui-icon[size="sm"]) { --ui-icon-size: var(--ui-icon-sm); }
|
|
7247
|
-
:where(ui-icon[size="md"]) { --ui-icon-size: var(--ui-icon-md); }
|
|
7248
|
-
:where(ui-icon[size="lg"]) { --ui-icon-size: var(--ui-icon-lg); }
|
|
7249
|
-
:where(ui-icon[size="xl"]) { --ui-icon-size: var(--ui-icon-xl); }
|
|
7250
|
-
|
|
7251
|
-
/* ── Forced Colors ── */
|
|
7252
|
-
|
|
7253
|
-
@media (forced-colors: active) {
|
|
7254
|
-
:where(ui-icon) {
|
|
7255
|
-
--ui-icon-color: ButtonText;
|
|
7256
|
-
}
|
|
7257
|
-
}
|
|
7258
|
-
|
|
7259
|
-
}
|
|
7260
|
-
|
|
7261
7272
|
@layer ui {
|
|
7262
7273
|
|
|
7263
7274
|
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
package/dist/native-ui.css
CHANGED
|
@@ -2080,6 +2080,57 @@
|
|
|
2080
2080
|
}
|
|
2081
2081
|
}
|
|
2082
2082
|
|
|
2083
|
+
@layer ui {
|
|
2084
|
+
|
|
2085
|
+
/* ── Icon Base ── */
|
|
2086
|
+
|
|
2087
|
+
:where(ui-icon) {
|
|
2088
|
+
--ui-icon-size: var(--_icon-size);
|
|
2089
|
+
--ui-icon-color: currentColor;
|
|
2090
|
+
|
|
2091
|
+
box-sizing: border-box;
|
|
2092
|
+
display: inline-flex;
|
|
2093
|
+
align-items: center;
|
|
2094
|
+
justify-content: center;
|
|
2095
|
+
width: var(--ui-icon-size);
|
|
2096
|
+
height: var(--ui-icon-size);
|
|
2097
|
+
color: var(--ui-icon-color);
|
|
2098
|
+
flex-shrink: 0;
|
|
2099
|
+
vertical-align: middle;
|
|
2100
|
+
line-height: 0;
|
|
2101
|
+
}
|
|
2102
|
+
|
|
2103
|
+
:where(ui-icon) > :where(svg) {
|
|
2104
|
+
width: 100%;
|
|
2105
|
+
height: 100%;
|
|
2106
|
+
}
|
|
2107
|
+
|
|
2108
|
+
/* WHY: Unregistered icons (no SVG content) should collapse to zero size
|
|
2109
|
+
so surrounding buttons/slots don't render with phantom dimensions */
|
|
2110
|
+
:where(ui-icon:empty) {
|
|
2111
|
+
width: 0;
|
|
2112
|
+
height: 0;
|
|
2113
|
+
overflow: hidden;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
/* ── Icon Size Variants ── */
|
|
2117
|
+
|
|
2118
|
+
:where(ui-icon[size="xs"]) { --ui-icon-size: var(--ui-icon-xs); }
|
|
2119
|
+
:where(ui-icon[size="sm"]) { --ui-icon-size: var(--ui-icon-sm); }
|
|
2120
|
+
:where(ui-icon[size="md"]) { --ui-icon-size: var(--ui-icon-md); }
|
|
2121
|
+
:where(ui-icon[size="lg"]) { --ui-icon-size: var(--ui-icon-lg); }
|
|
2122
|
+
:where(ui-icon[size="xl"]) { --ui-icon-size: var(--ui-icon-xl); }
|
|
2123
|
+
|
|
2124
|
+
/* ── Forced Colors ── */
|
|
2125
|
+
|
|
2126
|
+
@media (forced-colors: active) {
|
|
2127
|
+
:where(ui-icon) {
|
|
2128
|
+
--ui-icon-color: ButtonText;
|
|
2129
|
+
}
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
}
|
|
2133
|
+
|
|
2083
2134
|
@layer ui {
|
|
2084
2135
|
|
|
2085
2136
|
/* ── Accordion Container ── */
|
|
@@ -2556,7 +2607,8 @@
|
|
|
2556
2607
|
display: inline-flex;
|
|
2557
2608
|
flex-direction: column;
|
|
2558
2609
|
gap: calc(var(--_space));
|
|
2559
|
-
padding: calc(var(--_space) * 2);
|
|
2610
|
+
padding-block: calc(var(--_space) * 2);
|
|
2611
|
+
padding-inline: calc(var(--_space) * 2);
|
|
2560
2612
|
border: 1px solid var(--_border-color);
|
|
2561
2613
|
border-radius: var(--_radius);
|
|
2562
2614
|
background: var(--_background);
|
|
@@ -2768,11 +2820,17 @@
|
|
|
2768
2820
|
}
|
|
2769
2821
|
|
|
2770
2822
|
:where(ui-calendar) :where([data-range-start]) {
|
|
2771
|
-
border-radius: calc(var(--_radius) - var(--_space))
|
|
2823
|
+
border-start-start-radius: calc(var(--_radius) - var(--_space));
|
|
2824
|
+
border-end-start-radius: calc(var(--_radius) - var(--_space));
|
|
2825
|
+
border-start-end-radius: 0;
|
|
2826
|
+
border-end-end-radius: 0;
|
|
2772
2827
|
}
|
|
2773
2828
|
|
|
2774
2829
|
:where(ui-calendar) :where([data-range-end]) {
|
|
2775
|
-
border-radius: 0
|
|
2830
|
+
border-start-start-radius: 0;
|
|
2831
|
+
border-end-start-radius: 0;
|
|
2832
|
+
border-start-end-radius: calc(var(--_radius) - var(--_space));
|
|
2833
|
+
border-end-end-radius: calc(var(--_radius) - var(--_space));
|
|
2776
2834
|
}
|
|
2777
2835
|
|
|
2778
2836
|
:where(ui-calendar) :where([data-range-start][data-range-end]) {
|
|
@@ -3112,13 +3170,16 @@
|
|
|
3112
3170
|
|
|
3113
3171
|
/* ── Active (pressed) ── */
|
|
3114
3172
|
|
|
3115
|
-
:where(ui-checkbox)[pressed]::before
|
|
3173
|
+
:where(ui-checkbox)[pressed]::before,
|
|
3174
|
+
:where(ui-checkbox)[force-active]::before {
|
|
3116
3175
|
background: var(--_background-active, var(--_widget-active));
|
|
3117
3176
|
border-color: var(--_border-color-active, var(--_border-active));
|
|
3118
3177
|
}
|
|
3119
3178
|
|
|
3120
3179
|
:where(ui-checkbox)[aria-checked="true"][pressed]::before,
|
|
3121
|
-
:where(ui-checkbox)[aria-checked="mixed"][pressed]::before
|
|
3180
|
+
:where(ui-checkbox)[aria-checked="mixed"][pressed]::before,
|
|
3181
|
+
:where(ui-checkbox)[aria-checked="true"][force-active]::before,
|
|
3182
|
+
:where(ui-checkbox)[aria-checked="mixed"][force-active]::before {
|
|
3122
3183
|
background: var(--_surface-active);
|
|
3123
3184
|
border-color: var(--_surface-active);
|
|
3124
3185
|
}
|
|
@@ -3227,7 +3288,8 @@
|
|
|
3227
3288
|
:where(ui-command-list) {
|
|
3228
3289
|
overflow-y: auto;
|
|
3229
3290
|
max-height: var(--ui-popover-max-height);
|
|
3230
|
-
padding: var(--_space);
|
|
3291
|
+
padding-block: var(--_space);
|
|
3292
|
+
padding-inline: var(--_space);
|
|
3231
3293
|
}
|
|
3232
3294
|
|
|
3233
3295
|
/* ── Command Group ── */
|
|
@@ -3319,7 +3381,8 @@
|
|
|
3319
3381
|
}
|
|
3320
3382
|
|
|
3321
3383
|
:where(ui-dialog) > :where(dialog)::backdrop {
|
|
3322
|
-
background: var(--ui-backdrop-color)
|
|
3384
|
+
background: var(--ui-backdrop-color);
|
|
3385
|
+
opacity: var(--ui-backdrop-opacity);
|
|
3323
3386
|
}
|
|
3324
3387
|
|
|
3325
3388
|
}
|
|
@@ -3359,7 +3422,8 @@
|
|
|
3359
3422
|
/* WHY: Animate backdrop opacity on open for a smooth reveal. */
|
|
3360
3423
|
|
|
3361
3424
|
:where(ui-drawer) > :where(dialog)::backdrop {
|
|
3362
|
-
background: var(--ui-backdrop-color)
|
|
3425
|
+
background: var(--ui-backdrop-color);
|
|
3426
|
+
opacity: var(--ui-backdrop-opacity);
|
|
3363
3427
|
animation: drawer-backdrop-in var(--_duration) ease-out;
|
|
3364
3428
|
}
|
|
3365
3429
|
|
|
@@ -3821,7 +3885,8 @@
|
|
|
3821
3885
|
min-width: 0;
|
|
3822
3886
|
flex-direction: column;
|
|
3823
3887
|
gap: 0;
|
|
3824
|
-
padding: var(--_space);
|
|
3888
|
+
padding-block: var(--_space);
|
|
3889
|
+
padding-inline: var(--_space);
|
|
3825
3890
|
border-radius: var(--_radius);
|
|
3826
3891
|
border: 1px solid var(--_border-color, var(--_border-rest));
|
|
3827
3892
|
background: var(--_background, var(--_control));
|
|
@@ -4001,10 +4066,6 @@
|
|
|
4001
4066
|
color: var(--_ink-hover);
|
|
4002
4067
|
}
|
|
4003
4068
|
|
|
4004
|
-
:where(ui-nav-item)[active] {
|
|
4005
|
-
color: var(--_ink-hover);
|
|
4006
|
-
}
|
|
4007
|
-
|
|
4008
4069
|
:where(ui-nav-item):active,
|
|
4009
4070
|
:where(ui-nav-item)[force-active] {
|
|
4010
4071
|
color: var(--_ink-active);
|
|
@@ -4232,7 +4293,8 @@
|
|
|
4232
4293
|
position: fixed;
|
|
4233
4294
|
position-area: inline-end span-block-end;
|
|
4234
4295
|
position-try-fallbacks: --nav-flyout-flip-up;
|
|
4235
|
-
margin: 0
|
|
4296
|
+
margin: 0;
|
|
4297
|
+
margin-inline-start: var(--ui-popover-gap);
|
|
4236
4298
|
min-width: 200px;
|
|
4237
4299
|
max-height: var(--ui-popover-max-height);
|
|
4238
4300
|
overflow-y: auto;
|
|
@@ -4463,12 +4525,14 @@
|
|
|
4463
4525
|
|
|
4464
4526
|
/* ── Active (pressed) ── */
|
|
4465
4527
|
|
|
4466
|
-
:where(ui-radio)[pressed]::before
|
|
4528
|
+
:where(ui-radio)[pressed]::before,
|
|
4529
|
+
:where(ui-radio)[force-active]::before {
|
|
4467
4530
|
background: var(--_background-active, var(--_widget-active));
|
|
4468
4531
|
border-color: var(--_border-color-active, var(--_border-active));
|
|
4469
4532
|
}
|
|
4470
4533
|
|
|
4471
|
-
:where(ui-radio)[aria-checked="true"][pressed]::before
|
|
4534
|
+
:where(ui-radio)[aria-checked="true"][pressed]::before,
|
|
4535
|
+
:where(ui-radio)[aria-checked="true"][force-active]::before {
|
|
4472
4536
|
background: var(--_surface-active);
|
|
4473
4537
|
border-color: var(--_surface-active);
|
|
4474
4538
|
}
|
|
@@ -4618,11 +4682,13 @@
|
|
|
4618
4682
|
|
|
4619
4683
|
/* ── Active (dragging) ── */
|
|
4620
4684
|
|
|
4621
|
-
:where(ui-range)[pressed]::after
|
|
4685
|
+
:where(ui-range)[pressed]::after,
|
|
4686
|
+
:where(ui-range)[force-active]::after {
|
|
4622
4687
|
background: var(--_surface-active);
|
|
4623
4688
|
}
|
|
4624
4689
|
|
|
4625
|
-
:where(ui-range)[pressed] > :where(.ui-range-thumb)
|
|
4690
|
+
:where(ui-range)[pressed] > :where(.ui-range-thumb),
|
|
4691
|
+
:where(ui-range)[force-active] > :where(.ui-range-thumb) {
|
|
4626
4692
|
border-color: var(--_surface-active);
|
|
4627
4693
|
box-shadow: var(--ui-shadow-sm), 0 0 0 6px var(--_surface);
|
|
4628
4694
|
}
|
|
@@ -5208,12 +5274,14 @@
|
|
|
5208
5274
|
|
|
5209
5275
|
/* ── Active (pressed) ── */
|
|
5210
5276
|
|
|
5211
|
-
:where(ui-switch)[pressed]::before
|
|
5277
|
+
:where(ui-switch)[pressed]::before,
|
|
5278
|
+
:where(ui-switch)[force-active]::before {
|
|
5212
5279
|
background: var(--_track-bg-active);
|
|
5213
5280
|
border-color: var(--_track-border-active);
|
|
5214
5281
|
}
|
|
5215
5282
|
|
|
5216
|
-
:where(ui-switch)[aria-checked="true"][pressed]::before
|
|
5283
|
+
:where(ui-switch)[aria-checked="true"][pressed]::before,
|
|
5284
|
+
:where(ui-switch)[aria-checked="true"][force-active]::before {
|
|
5217
5285
|
background: var(--_surface-active);
|
|
5218
5286
|
border-color: var(--_surface-active);
|
|
5219
5287
|
}
|
|
@@ -6010,22 +6078,22 @@
|
|
|
6010
6078
|
|
|
6011
6079
|
:where(ui-tooltip[placement="top"]) {
|
|
6012
6080
|
position-area: block-start;
|
|
6013
|
-
margin-
|
|
6081
|
+
margin-block-end: calc(var(--_space) * 2);
|
|
6014
6082
|
}
|
|
6015
6083
|
|
|
6016
6084
|
:where(ui-tooltip[placement="bottom"]) {
|
|
6017
6085
|
position-area: block-end;
|
|
6018
|
-
margin-
|
|
6086
|
+
margin-block-start: calc(var(--_space) * 2);
|
|
6019
6087
|
}
|
|
6020
6088
|
|
|
6021
6089
|
:where(ui-tooltip[placement="left"]) {
|
|
6022
6090
|
position-area: inline-start;
|
|
6023
|
-
margin-
|
|
6091
|
+
margin-inline-end: calc(var(--_space) * 2);
|
|
6024
6092
|
}
|
|
6025
6093
|
|
|
6026
6094
|
:where(ui-tooltip[placement="right"]) {
|
|
6027
6095
|
position-area: inline-end;
|
|
6028
|
-
margin-
|
|
6096
|
+
margin-inline-start: calc(var(--_space) * 2);
|
|
6029
6097
|
}
|
|
6030
6098
|
|
|
6031
6099
|
/* ── Hidden (not :popover-open) ── */
|
|
@@ -6049,7 +6117,8 @@
|
|
|
6049
6117
|
flex: 1 1 0%;
|
|
6050
6118
|
min-width: 0;
|
|
6051
6119
|
flex-direction: column;
|
|
6052
|
-
padding: var(--_space);
|
|
6120
|
+
padding-block: var(--_space);
|
|
6121
|
+
padding-inline: var(--_space);
|
|
6053
6122
|
font-size: var(--_font-size);
|
|
6054
6123
|
line-height: var(--_line-height);
|
|
6055
6124
|
}
|
|
@@ -6134,7 +6203,7 @@
|
|
|
6134
6203
|
|
|
6135
6204
|
/* ── Disabled ── */
|
|
6136
6205
|
|
|
6137
|
-
:where(ui-tree-item[disabled]) > :where([slot="label"]) {
|
|
6206
|
+
:where(ui-tree-item[aria-disabled="true"]) > :where([slot="label"]) {
|
|
6138
6207
|
color: var(--_ink-disabled);
|
|
6139
6208
|
cursor: not-allowed;
|
|
6140
6209
|
pointer-events: none;
|
|
@@ -6844,11 +6913,11 @@
|
|
|
6844
6913
|
/* WHY: When collapsed to icon rail, the sidebar edge meets content — drop left padding. */
|
|
6845
6914
|
|
|
6846
6915
|
:where(ui-layout-sidebar)[collapsed] :where(ui-layout-canvas) {
|
|
6847
|
-
padding-
|
|
6916
|
+
padding-inline-start: 0;
|
|
6848
6917
|
}
|
|
6849
6918
|
|
|
6850
6919
|
:where(ui-layout-sidebar)[collapsed] :where(ui-layout-breadcrumb) {
|
|
6851
|
-
padding-
|
|
6920
|
+
padding-inline-start: 0;
|
|
6852
6921
|
}
|
|
6853
6922
|
|
|
6854
6923
|
/* ── Sidebar Header ── */
|
|
@@ -7020,7 +7089,8 @@
|
|
|
7020
7089
|
position: fixed;
|
|
7021
7090
|
position-area: inline-end span-block-end;
|
|
7022
7091
|
position-try-fallbacks: --sidebar-item-flip-up;
|
|
7023
|
-
margin: 0
|
|
7092
|
+
margin: 0;
|
|
7093
|
+
margin-inline-start: var(--ui-popover-gap);
|
|
7024
7094
|
min-width: 200px;
|
|
7025
7095
|
max-height: var(--ui-popover-max-height);
|
|
7026
7096
|
overflow-y: auto;
|
|
@@ -7278,57 +7348,6 @@
|
|
|
7278
7348
|
|
|
7279
7349
|
}
|
|
7280
7350
|
|
|
7281
|
-
@layer ui {
|
|
7282
|
-
|
|
7283
|
-
/* ── Icon Base ── */
|
|
7284
|
-
|
|
7285
|
-
:where(ui-icon) {
|
|
7286
|
-
--ui-icon-size: var(--_icon-size);
|
|
7287
|
-
--ui-icon-color: currentColor;
|
|
7288
|
-
|
|
7289
|
-
box-sizing: border-box;
|
|
7290
|
-
display: inline-flex;
|
|
7291
|
-
align-items: center;
|
|
7292
|
-
justify-content: center;
|
|
7293
|
-
width: var(--ui-icon-size);
|
|
7294
|
-
height: var(--ui-icon-size);
|
|
7295
|
-
color: var(--ui-icon-color);
|
|
7296
|
-
flex-shrink: 0;
|
|
7297
|
-
vertical-align: middle;
|
|
7298
|
-
line-height: 0;
|
|
7299
|
-
}
|
|
7300
|
-
|
|
7301
|
-
:where(ui-icon) > :where(svg) {
|
|
7302
|
-
width: 100%;
|
|
7303
|
-
height: 100%;
|
|
7304
|
-
}
|
|
7305
|
-
|
|
7306
|
-
/* WHY: Unregistered icons (no SVG content) should collapse to zero size
|
|
7307
|
-
so surrounding buttons/slots don't render with phantom dimensions */
|
|
7308
|
-
:where(ui-icon:empty) {
|
|
7309
|
-
width: 0;
|
|
7310
|
-
height: 0;
|
|
7311
|
-
overflow: hidden;
|
|
7312
|
-
}
|
|
7313
|
-
|
|
7314
|
-
/* ── Icon Size Variants ── */
|
|
7315
|
-
|
|
7316
|
-
:where(ui-icon[size="xs"]) { --ui-icon-size: var(--ui-icon-xs); }
|
|
7317
|
-
:where(ui-icon[size="sm"]) { --ui-icon-size: var(--ui-icon-sm); }
|
|
7318
|
-
:where(ui-icon[size="md"]) { --ui-icon-size: var(--ui-icon-md); }
|
|
7319
|
-
:where(ui-icon[size="lg"]) { --ui-icon-size: var(--ui-icon-lg); }
|
|
7320
|
-
:where(ui-icon[size="xl"]) { --ui-icon-size: var(--ui-icon-xl); }
|
|
7321
|
-
|
|
7322
|
-
/* ── Forced Colors ── */
|
|
7323
|
-
|
|
7324
|
-
@media (forced-colors: active) {
|
|
7325
|
-
:where(ui-icon) {
|
|
7326
|
-
--ui-icon-color: ButtonText;
|
|
7327
|
-
}
|
|
7328
|
-
}
|
|
7329
|
-
|
|
7330
|
-
}
|
|
7331
|
-
|
|
7332
7351
|
@layer ui {
|
|
7333
7352
|
|
|
7334
7353
|
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|