Release summaries
adaptive-object-reference-panel
Promote object-reference detail panels to a reusable adaptive sheet/drawer surface.
maintainer
Design-system now exposes AdaptivePanel as the shared responsive sheet/drawer primitive and wires object-reference details through it.
integrator
ObjectReferenceHandler supports same-page vs new-page detail opening, rich nested properties, and configurable sheet/drawer behavior with responsive defaults.
customer
Reference interactions can show richer details in a desktop sheet or mobile drawer without custom per-screen logic.
adaptive-panel-menu-migration
Route design-system mobile menu overlays through the shared AdaptivePanel primitive.
maintainer
Header and marketing header mobile menus now use AdaptivePanel instead of direct sheet composition, leaving sheet/drawer primitives behind the shared overlay adapter.
integrator
Design-system overlay behavior is more consistent because mobile menu panels and object references share the AdaptivePanel boundary.
customer
Mobile menus keep the same behavior while using the shared responsive panel implementation.
application-shell-navigation
Add design-system application shell primitives with typed navigation, command search, breadcrumbs, native bottom-tab adaptation, and PageOutline support.
maintainer
Design-system maintainers now have a focused shell API for application frames, navigation sections, breadcrumbs, commands, and page outlines.
integrator
Web and Expo app developers can adopt AppShell and PageOutline from the shell subpath while existing AppLayout, AppSidebar, AppHeader, NavLink, and NavSection imports remain supported.
customer
Documentation readers get public library docs with copy-ready AI prompts for fresh application shell implementation and existing-app refactors.
appshell-notification-layout
Fix AppShell desktop sidebar collapse/layout and web notification dismissal behavior.
integrator
AppShell now keeps the desktop topbar inset beside the sidebar, exposes a shared sidebar collapse trigger, and dismisses the web notification panel on outside click, Escape, or trigger toggle.
data-table-ux-stability-upgrade
Harden the shared data-table stack and add a first-class composed toolbar for search, filter chips, selection summary, and hidden-column recovery.
maintainer
The shared table controller now sanitizes stale row and column state, and the design-system exports `DataTableToolbar` as the preferred composed UX layer above the primitive tables.
integrator
Integrators can adopt `DataTableToolbar` without changing the underlying `DataTable` or `useContractTable` API, and server-paginated tables now behave more defensively when data, columns, or totals change.
customer
The CRM and canonical data-grid examples now expose search, filter chips, selection summaries, safer column recovery, and less failure-prone table interactions across web and native paths.
design-system-core-hardening
Add focused design-system subpaths and harden ThemeSpec runtime, Tailwind bridge, form-control helpers, and form renderer internals without changing root-import compatibility.
maintainer
Maintainers now have smaller internal design-system modules and focused subpaths for theme, controls, forms, layout, and renderers.
integrator
Integrators can keep root imports or adopt focused subpaths such as `@contractspec/lib.design-system/theme` and `@contractspec/lib.design-system/forms`.
customer
Contract-rendered forms and themed controls keep the same behavior while the design-system internals become easier to maintain.
design-system-select-groups
Add grouped option support to design-system Select controls across web and native.
maintainer
The design-system Select wrappers now share grouped-option normalization and expose a typed grouped Select API.
integrator
Existing flat Select options keep working, while callers can opt into translated grouped option sections on web and native.
customer
Select controls can now present options in labelled groups consistently across web and native surfaces.
design-system-themed-controls
Add a ThemeSpec-aware and TranslationSpec-aware design-system form/control layer with stack primitives, exported control wrappers, and FormSpec renderer alignment.
maintainer
Maintainers now have a shared design-system control boundary for forms, stacks, themes, translations, and FormSpec rendering.
integrator
Integrators can import themed and translated controls from `@contractspec/lib.design-system` instead of reaching into web or native UI kit primitives directly.
customer
Product surfaces and contract-rendered forms can now share the same ThemeSpec-aware and TranslationSpec-aware design-system controls across web and React Native.
forms-option-surface-aliases
Add ThemeSpec Tailwind aliases for FormSpec option surface backgrounds.
maintainer
The ThemeSpec Tailwind bridge now emits shadcn-compatible color aliases for popover, card, and input surfaces.
integrator
Apps using generated design-system theme CSS get the color aliases expected by Radix/shadcn select and combobox primitives.
customer
Contract-rendered select and combobox option panels keep a proper themed surface instead of falling back to transparency when the app relies on ThemeSpec CSS.
forms-password-visibility-toggle
Fix FormSpec password visibility toggles so rendered password fields can reveal and re-mask values.
maintainer
The web password primitive now keeps its computed `type` authoritative over upstream input props from FormSpec renderers.
integrator
Design-system FormSpec renderers can pass legacy `type: "password"` hints without disabling the visibility toggle.
customer
Contract-driven password fields now reveal the password when the visibility toggle changes from closed eye to open eye.
forms-phone-ux-regression
Fix FormSpec phone country-select rendering to remove duplicated country adornments.
customer
Split FormSpec phone fields now show one clear country selector instead of duplicating the flag and calling code beside the select.
integrator
Design-system phone country options now honor the configured flag/calling-code display parts, while the selected country control owns those adornments in select mode.
native-design-system-platform-suffix
Migrate design-system platform implementation suffixes from `.mobile` to `.native`.
integrator
Design-system platform variants now use Metro's standard `.native` suffix and no longer publish `.mobile` subpaths.
maintainer
Package exports, registry metadata, and cross-platform UI docs now describe `.tsx` / `.native.tsx` renderer pairs.
notion-page-outline
Improve PageOutline desktop behavior with a Notion-like floating rail that keeps AppShell content centered while expanding on hover or keyboard focus.
integrator
AppShell consumers get a floating desktop PageOutline that no longer reserves a right content column, while mobile and native outline behavior remains menu-contained.
maintainer
Design-system maintainers can opt PageOutline into a floating variant while preserving existing rail and compact variants.
object-reference-handler
Add an extensible design-system object reference handler for actionable references.
maintainer
The design-system package now exposes a public object-reference component group with schema-friendly descriptors, runtime action handlers, and paired web/native implementations.
integrator
Product surfaces can replace inert addresses, phone numbers, users, customers, files, URLs, and custom references with one extensible interaction surface.
customer
Reference text can now offer quick actions such as copy, open, call, or maps navigation from a consistent interaction surface.
unified-design-system-tabs
Add a unified design-system Tabs primitive and migrate local tab consumers away from ui-kit leaf imports.
maintainer
Maintainers can expose tabbed product surfaces through the design-system root instead of choosing between web and native UI-kit tab APIs.
integrator
Integrators can use one `Tabs` API with optional `value`, `defaultValue`, and `onValueChange` props across web and native surfaces.
customer
Example dashboards and execution consoles keep their existing tabbed UX while using the cross-platform design-system primitive.
