Start · Distribution

Package vs registry

Choose between managed upgrades and editable source. Both channels come from the same canonical implementation.

Choose packages for managed upgrades

  • Use @lenso/ui for managed JavaScript, declarations, and precompiled CSS.
  • Import components from named subpaths such as @lenso/ui/dialog.
  • Upgrade through package versions and Changesets.

Choose registry source for structural changes

  • Use the shadcn-compatible registry when structural ownership matters more than managed updates.
  • Install TypeScript and styling source directly into your application.
  • Review future upgrades as source diffs; local edits are not overwritten automatically.

| Concern | Package channel | Registry channel | | --- | --- | --- | | Source ownership | Lenso UI | Your application | | Styling | Precompiled @lenso/ui/styles.css | Your application compiles StyleX source | | Upgrade model | Upgrade the package version | Review and apply source changes | | Best for | Stable component composition | Structural customization and Recipes | | Address | npm package subpath | /r/{name}.json or immutable /r/v/{version}/{name}.json |

The channels are not separate implementations. Registry items are built from the canonical component, primitive, and Recipe source, with parity recorded in registry/parity-manifest.json.

Lenso UI