Back to changelog index

3.0.3

Jul 16, 2026 · 1 packages · 2 unique changes · 1 release entry

libs

This release affects the sharedLibs family.

Run contractspec connect adoption resolve --family sharedLibs to see how it impacts your project.

Release summaries

  • m2-personalized-presentation

    Additive: M2 new lib @lssm-tech/lib.personalized-presentation — client-side React provider + hook bridging RoleMorph × Personalization preferences → cva variant props; minimum schema bridge (density + expansion only) with 5 stub-protected dimensions (Phase 0 scaffold).

    maintainer

    Closes the (cva × roleMorph × personalization) composition gap. Provides a client-side React provider + typed hook that resolves preference dimensions to cva variant prop names. Density and Expansion literal types are imported FROM @lssm-tech/lib.cockpit-kit/variants (dependency direction enforced; cockpit-kit owns the vocabulary, personalized-presentation owns the mapping). 5 unwired personalization dimensions are stub-protected — each throws at runtime if accidentally invoked, preventing scope creep beyond the locked density+expansion schema bridge.

    integrator

    Wrap your cockpit-class screens with PersonalizedSurfaceProvider (passing viewer role + resolved preferences). Inside variant-aware components, call usePersonalizedVariants<TVariants>(componentKey) to get a typed variant prop bag. Phase 0 ships skeletons only — runtime resolution lands in Phase 3. Until then, the hook returns defaults; do not depend on resolved variants for production behavior.

Upgrade steps

  • Wrap cockpit screens with PersonalizedSurfaceProvider

    assisted

    Single-source provider that gets RoleMorph's surface kind + user preferences and exposes them to nested cockpit-kit primitives via usePersonalizedVariants.

    Packages: @lssm-tech/lib.personalized-presentation

    1. Import: `import { PersonalizedSurfaceProvider } from '@lssm-tech/lib.personalized-presentation'`
    2. Wrap your cockpit shell: `<PersonalizedSurfaceProvider role={role} prefs={prefs}>...</PersonalizedSurfaceProvider>`
    3. Inside variant-aware components: `const variants = usePersonalizedVariants<MyVariants>('MyComponent')`
    4. Note: Phase 0 skeleton returns default variant props; live resolution lands in Phase 3.

Unique release changes

  • - Additive: M2 new lib @lssm-tech/lib.personalized-presentation — client-side React provider + hook bridging RoleMorph × Personalization preferences → cva variant props; minimum schema bridge (density + expansion only) with 5 stub-protected dimensions (Phase 0 scaffold).

    1 packages · 1 occurrences

  • - Single-source provider that gets RoleMorph's surface kind + user preferences and exposes them to nested cockpit-kit primitives via usePersonalizedVariants.

    1 packages · 1 occurrences

Impacted packages

  • @lssm-tech/lib.personalized-presentation

    Layer: libs · 2 changes