@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
- "w-[length:var(--control-height)] justify-center ps-0 pe-0"
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
- width: min(var(--topbar-search-max-width), 40vw);
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
- --topbar-search-max-width: 26.25rem;
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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@godxjp/ui",
3
- "version": "18.12.17",
4
- "godxUiMcp": "18.12.17",
3
+ "version": "18.12.19",
4
+ "godxUiMcp": "18.12.19",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",