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
- 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`.
- Replace usage of `@remix-run/ui/on-outside-pointer-down` with component-level outside interaction APIs.
- 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.
- Replace usage of deprecated `keysEvents`, `pressEvents`, and `PressEvent` with native DOM event handlers passed to `on(...)`.