Change8

ui@0.1.0

Breaking Changes
📦 remixView on GitHub →
4 breaking🔧 11 symbols

Summary

This release introduces major breaking changes by consolidating component APIs into `@remix-run/ui` and fundamentally changing how component props and setup values are handled via the `Handle` structure. Deprecated event handlers have also been removed.

⚠️ Breaking Changes

  • Consolidated the deprecated `@remix-run/component` package into `@remix-run/ui`. Component runtime APIs must now be imported from `@remix-run/ui`, server rendering APIs from `@remix-run/ui/server`, JSX runtime APIs from `@remix-run/ui/jsx-runtime` and `@remix-run/ui/jsx-dev-runtime`, and animation APIs from `@remix-run/ui/animation.
  • Removed the deprecated `@remix-run/ui/on-outside-pointer-down` export. Consumers should use component-level outside interaction APIs provided by popover, menu, or other components instead.
  • Components now receive props via a stable `handle.props` object using `Handle<Props, Context>` instead of receiving a separate `setup` argument and render callback props. Initialization values previously passed via `<Component setup={...} />` must be moved to regular props, and all props must be read from `handle.props` within the component function and render callback.
  • Removed the deprecated `keysEvents`, `pressEvents`, and `PressEvent` exports from `@remix-run/ui`. Consumers must use `on(...)` with native DOM keyboard, pointer, and click events directly.

Migration Steps

  1. Import component runtime APIs from `@remix-run/ui`, server rendering APIs from `@remix-run/ui/server`, JSX runtime APIs from `@remix-run/ui/jsx-runtime` and `@remix-run/ui/jsx-dev-runtime`, and animation APIs from `@remix-run/ui/animation` instead of `@remix-run/component`.
  2. Replace usage of `@remix-run/ui/on-outside-pointer-down` with component-level outside interaction APIs.
  3. Refactor component definitions to use `Handle<Props, Context>` where all configuration (including previous setup values) is passed via props read from `handle.props`. Remove the separate `setup` argument.
  4. Replace usage of deprecated `keysEvents`, `pressEvents`, and `PressEvent` with native DOM event handlers passed to `on(...)`.

Affected Symbols