@godxjp/ui 18.12.17 → 18.12.19
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.
|
@@ -141,8 +141,15 @@ const AppSettingPicker = React.forwardRef(
|
|
|
141
141
|
className: cn(
|
|
142
142
|
inline ? "ui-app-setting-picker-inline h-auto min-h-0 w-auto rounded-none border-0 bg-transparent p-0 shadow-none" : iconOnly ? (
|
|
143
143
|
// Structurally icon-only: drop the owned width + value spacing and square the box to
|
|
144
|
-
// the density-aware --control-height tap target, centring the icon.
|
|
145
|
-
|
|
144
|
+
// the density-aware --control-height tap target, centring the icon. Visually it
|
|
145
|
+
// sits among ghost icon buttons (the topbar's sidebar-toggle/notifications/account
|
|
146
|
+
// triggers), so it drops controlTriggerClass's form-input chrome (border/bg/shadow)
|
|
147
|
+
// at rest and adopts the same ghost hover — a resting border here read as visually
|
|
148
|
+
// inconsistent next to its borderless topbar siblings. The open-state ring
|
|
149
|
+
// (`data-[state=open]:border-ring`, from controlTriggerClass) and the
|
|
150
|
+
// focus-visible ring are untouched, so keyboard and "is this open" affordance
|
|
151
|
+
// still hold.
|
|
152
|
+
"ui-app-setting-picker-icon w-[length:var(--control-height)] justify-center border-transparent bg-transparent ps-0 pe-0 shadow-none hover:bg-accent hover:text-accent-foreground"
|
|
146
153
|
) : (
|
|
147
154
|
// Labeled: sized to a per-kind width from `sm` up; below `sm` it hugs its content and
|
|
148
155
|
// caps at the container (`w-auto max-w-full`) instead of the old UNCONDITIONAL
|
|
@@ -1435,7 +1435,13 @@
|
|
|
1435
1435
|
|
|
1436
1436
|
.tb-search {
|
|
1437
1437
|
display: flex;
|
|
1438
|
-
|
|
1438
|
+
/* Fills the whole `Topbar` center slot by default (gh#296) — `--topbar-search-max-width`
|
|
1439
|
+
* defaults to `none`, so nothing caps it short of `end`. A consumer opting into the older
|
|
1440
|
+
* fixed-width, centered look sets the token to an explicit length instead of overriding this
|
|
1441
|
+
* rule. `width: 100%` + `max-width: none` is the pair that makes both cases work from ONE
|
|
1442
|
+
* token: a set length caps it, an unset one (`none`) doesn't. */
|
|
1443
|
+
width: 100%;
|
|
1444
|
+
max-width: var(--topbar-search-max-width);
|
|
1439
1445
|
height: var(--control-height-sm);
|
|
1440
1446
|
align-items: center;
|
|
1441
1447
|
gap: var(--space-2);
|
|
@@ -74,7 +74,11 @@
|
|
|
74
74
|
--sidebar-section-gap: var(--space-4);
|
|
75
75
|
--sidebar-section-label-padding-x: var(--space-2);
|
|
76
76
|
--sidebar-section-label-padding-bottom: var(--space-1);
|
|
77
|
-
|
|
77
|
+
/* Default `none` (gh#296): the search trigger fills its whole `Topbar` center slot — flush to
|
|
78
|
+
* whatever sits in `end` (a locale picker, notification bell, account menu) — rather than
|
|
79
|
+
* floating as a fixed ~420px box with dead space on either side at normal desktop widths. A
|
|
80
|
+
* consumer that wants a capped, centered search box (the previous look) sets this explicitly. */
|
|
81
|
+
--topbar-search-max-width: none;
|
|
78
82
|
/* Standalone <Topbar> geometry (rule #45). Topbar is a pure slot bar, so its box is intentionally
|
|
79
83
|
* QUIET by default: `auto` height and no inline inset, i.e. exactly what it did before these knobs
|
|
80
84
|
* existed — inside AppShell the `.app-topbar` grid row still owns the height. A service that
|