Major Changes
-
BREAKING CHANGE: Most existing
remix/uiusage now moves toremix/component. The component runtime, JSX runtimes, server rendering, testing helpers, styles, and general-purpose mixins are available from the renamed entrypoints:-import { createRoot, css, on } from 'remix/ui' +import { createRoot, css, on } from 'remix/component'
Apply the same rename to runtime subpaths such as
remix/ui/server,remix/ui/test, andremix/ui/dev/refresh.Applications that use the Remix JSX runtime must also update
jsxImportSource:{ "compilerOptions": { "jsx": "react-jsx", - "jsxImportSource": "remix/ui" + "jsxImportSource": "remix/component" } }Component HMR entrypoints similarly move from
remix/ui-hmrtoremix/component-hmr. Rename the asset loader tocomponentHmr():-import { uiHmr } from 'remix/ui-hmr/assets' +import { componentHmr } from 'remix/component-hmr/assets' let assetServer = createAssetServer({ scripts: { - loaders: [uiHmr()], + loaders: [componentHmr()], }, })
If the development server uses the component HMR Node hook, rename that entrypoint too:
-node --import remix/ui-hmr/node server.ts +node --import remix/component-hmr/node server.ts
The
remixpackage no longer exports UI components, primitives, or animation utilities. Headless, accessible UI primitives and animation utilities remain in@remix-run/ui. This package is currently unstable, versioned independently in the v0.x range, and not part of the Remix 3.0 release candidate. Applications using these APIs must install the package separately:npm i @remix-run/ui
Move animation imports to the standalone package:
-import { animateEntrance, spring } from 'remix/ui/animation' +import { animateEntrance, spring } from '@remix-run/ui/animation'
Move headless UI primitive imports to its flat subpaths:
-import * as accordion from 'remix/ui/accordion/primitives' +import * as accordion from '@remix-run/ui/accordion'
This applies to all remaining primitives:
accordion,anchor,combobox,listbox,menu,popover,select,tabs, andtoggle. The visually styled components and style mixins have been removed, including the previousbreadcrumbs,button,checkbox,input, andradiomodules.If the asset server restricts imports with
allowPackages, add@remix-run/uifor both the primitive and animation imports:{ "assets": { - "allowPackages": ["remix"] + "allowPackages": ["@remix-run/ui", "remix"] } } -
First stable release of Remix 3.
Patch Changes
-
Installation and new-app examples now use the stable Remix release.
-
Bumped
@remix-run/*dependencies:assert@1.0.0assets@1.0.0async-context-middleware@1.0.0auth@1.0.0auth-middleware@1.0.0cli@1.0.0component@1.0.0component-hmr@1.0.0compression-middleware@1.0.0cookie@1.0.0cop-middleware@1.0.0cors-middleware@1.0.0csrf-middleware@1.0.0data-schema@1.0.0data-table@1.0.0data-table-mysql@1.0.0data-table-postgres@1.0.0data-table-sqlite@1.0.0fetch-proxy@1.0.0fetch-router@1.0.0file-storage@1.0.0file-storage-s3@1.0.0form-data-middleware@1.0.0form-data-parser@1.0.0fs@1.0.0headers@1.0.0html-template@1.0.0lazy-file@5.0.8logger-middleware@1.0.0method-override-middleware@1.0.0mime@1.0.0multipart-parser@1.0.0multiple-import-maps-polyfill@1.0.0node-fetch-server@1.0.0node-hmr@1.0.0node-tsx@1.0.0render-middleware@1.0.0response@1.0.0route-pattern@1.0.0session@1.0.0session-middleware@1.0.0session-storage-memcache@1.0.0session-storage-redis@1.0.0spa@1.0.0static-middleware@1.0.0tar-parser@1.0.0terminal@1.0.0test@1.0.0