Skip to content

fix(ui): preserve consumer and native interaction behavior - #292

Merged
pathscale merged 9 commits into
masterfrom
fix/icon-doc-selector-warning
Sep 12, 2026
Merged

pathscale merged 9 commits into
masterfrom
fix/icon-doc-selector-warning

Conversation

@pathscale

@pathscale pathscale commented Sep 11, 2026

Copy link
Copy Markdown
Owner

UI 3.2 had consumer-visible interaction regressions, incomplete native coverage, and compound controls whose authored identity did not consistently reach the semantic control. A repeated component could therefore be hard to address reliably even when its caller supplied a stable row key.

This branch preserves the Icon documentation warning fix and rapid ImmersiveLanding navigation fix, then corrects the behavior found by consumer testing:

  • Calendar navigation keeps its visible month and stable descendant identities; bounded calendars clamp their initial focus.
  • Drawer completes its entering state without relying on a compositor frame that a headless native host does not provide.
  • Pagination keeps the current page inert, and CloseButton preserves callback and disabled behavior through the current layout path.
  • ComboBox reopens a selected value with every alternative available.
  • InputOTP forwards its authored accessible name.
  • The mobile Dock trigger reports its name and expanded state.
  • FirefoxPWABanner exposes its appearance delay directly and through ImmersiveLanding.
  • CookieConsent's marketing label is optional, matching its existing default behavior.

Every UI component now accepts a caller-owned id. Compound components derive their triggers, fields, popovers, calendars, menu items, pagination buttons, and other semantic controls from that base. Repeated children use stable data keys such as ISO dates, menu keys, page numbers, preset values, and saved-theme identities. The public contract tells callers to derive a repeated component's base from the item's stable key.

The package exports a canonical 101-family component inventory. The UI native registry and js.software compare against it at build time, and the contract check requires every public family in the Solid Layouts consumer manifest. FlexGrid is included and its incremental reveal is exercised natively.

Local release evidence:

  • 93 component contracts
  • TypeScript and package build pass
  • 320/320 Bun tests
  • 101/101 native component pages through ps-qa and chuzz-headless
  • Slider 10/10, including keyboard and real pointer behavior
  • QA-harness lint passes
  • API documentation matches the build across 187 components
  • package validation resolves 1,004 shipped files, all exports, and all README imports
  • strict publint passes with one repository-URL suggestion
  • fresh-consumer install, typecheck, Layout registration load, and browser bundle pass
  • npm pack dry-run passes
  • js.software passes 600/600 native outcomes across 13 groups against the exact packed candidate
  • js.software inventory finds 287/287 controls with attributed outcomes and zero missing, unstable, duplicate, anonymous, or unreachable controls
  • a read-only Progress is addressed by its authored ID and observed changing after a scripted update

The reviewed tarball has SHA-256 230c2d6bf3e314667066e46b5eff7606b308eca20ef893ae9a44b39b488a6e8a. The release workflow will calculate the patch version after owner review and merge. This PR itself does not publish or deploy.

@pathscale pathscale changed the title fix(icon): stop consumer builds parsing a phantom Iconify token fix(ui): clean consumer builds and preserve rapid navigation Sep 12, 2026
@pathscale
pathscale force-pushed the fix/icon-doc-selector-warning branch from ea3f3ac to b3857af Compare September 12, 2026 04:23
@pathscale
pathscale force-pushed the fix/icon-doc-selector-warning branch from b3857af to 6c9f65d Compare September 12, 2026 04:28
@pathscale pathscale changed the title fix(ui): clean consumer builds and preserve rapid navigation fix(ui): preserve consumer and native interaction behavior Sep 12, 2026
@pathscale
pathscale merged commit 8257f56 into master Sep 12, 2026
1 check failed
@pathscale
pathscale deleted the fix/icon-doc-selector-warning branch September 12, 2026 10:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant