Skip to content

Commit 1512aea

Browse files
Upgrade Remix to 3.0.0 (#513)
* Upgrade Remix to 3.0.0-rc.5 * Upgrade to stable Remix 3.0.0 --------- Co-authored-by: Matt Brophy <matt@brophy.org>
1 parent 25aea9c commit 1512aea

110 files changed

Lines changed: 565 additions & 405 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.agents/skills/remix/SKILL.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ The runtime adapter passes requests to `router.fetch(request)`. Generate URLs fr
7373
Remix UI uses JSX, but it is not React. A component's setup function runs once per instance and returns a render function. Local variables in setup preserve state between renders; event handlers change that state and call `handle.update()` to request another render:
7474

7575
```tsx
76-
import { on } from "remix/ui";
77-
import type { Handle } from "remix/ui";
76+
import { on } from "remix/component";
77+
import type { Handle } from "remix/component";
7878

7979
function Counter(handle: Handle) {
8080
let count = 0;
@@ -95,6 +95,8 @@ function Counter(handle: Handle) {
9595

9696
Read changing props from `handle.props` during render, rather than capturing their initial values in setup. Do not apply React hooks or lifecycle assumptions.
9797

98+
The runtime and its server/test/JSX subpaths live in `remix/component`; component HMR lives in `remix/component-hmr`. Headless UI primitives and animations require the separately installed `@remix-run/ui` package (for example, `@remix-run/ui/accordion` and `@remix-run/ui/animation`). Add it to the asset server’s `allowPackages` when used in browser modules. App code owns markup and styles; the previous styled UI components are no longer available.
99+
98100
Event handlers run only when the component is mounted or hydrated in the browser; server-rendered HTML alone is not interactive. Follow the installed interactivity guide and the app's existing browser-entry setup.
99101

100102
## Work Within the App

‎AGENTS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Keep the Remix 3 website implementation lean, stable, and behaviorally aligned w
3535

3636
## UI Behavior Defaults
3737

38-
- Prefer CSS for visual states and animations. Use `remix/ui/animation` helpers for CSS transitions when they fit; keep JavaScript for state/timing rather than frame-by-frame styling.
38+
- Prefer CSS for visual states and animations. Use `@remix-run/ui/animation` helpers for CSS transitions when they fit; keep JavaScript for state/timing rather than frame-by-frame styling.
3939
- Treat `prefers-reduced-motion` as its own behavior path. Avoid churny intro animations, large hover expansions, and motion-heavy effects; provide a simple static hover/focus state instead of removing feedback entirely.
4040
- Keep accessible labels stable when visual text updates frequently. For animated counters/timers, prefer a stable label that states the event/date and hide the decorative changing digits from assistive tech.
4141
- Add focused tests around public behavior. Prefer component/browser tests for interactive UI when feasible; avoid testing internal helpers just because they are easy to import.

‎app/actions/blog/controller.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { createController } from "remix/router";
2-
import { css, type Handle } from "remix/ui";
2+
import { css, type Handle } from "remix/component";
33

44
import { Document } from "../../ui/document.tsx";
55
import { Footer } from "../../ui/footer.tsx";

‎app/actions/blog/post-page.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { css, unsafeHTML, type Handle } from "remix/ui";
1+
import { css, unsafeHTML, type Handle } from "remix/component";
22
import { Document } from "../../ui/document.tsx";
33
import { Footer } from "../../ui/footer.tsx";
44
import { Header } from "../../ui/header.tsx";

‎app/actions/brand.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { css, type Handle, type RemixNode } from "remix/ui";
1+
import { css, type Handle, type RemixNode } from "remix/component";
22
import { Document } from "../ui/document.tsx";
33
import { Footer } from "../ui/footer.tsx";
44
import { Header } from "../ui/header.tsx";

‎app/actions/home-landing-content.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { css, type Handle } from "remix/ui";
1+
import { css, type Handle } from "remix/component";
22

33
import { textBoxTrim } from "../ui/public/css-mixins.ts";
44
import { breakpointMedia, theme } from "../ui/public/theme.ts";

‎app/actions/home.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { css, type Handle } from "remix/ui";
1+
import { css, type Handle } from "remix/component";
22
import { RemixLandingEnhancements } from "./public/remix-landing/landing-enhancements.tsx";
33
import { RUNNER_AVIF_SRC } from "./public/remix-landing/runner-media.ts";
44
import { colors } from "./public/remix-landing/styles/tokens.ts";

‎app/actions/jam/y2025/coc.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { css, type Handle } from "remix/ui";
1+
import { css, type Handle } from "remix/component";
22

33
import { routes } from "../../../routes.ts";
44
import { JamDocument } from "./document.tsx";

‎app/actions/jam/y2025/controller.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { createController } from "remix/router";
2-
import { css, type Handle, type RemixNode } from "remix/ui";
2+
import { css, type Handle, type RemixNode } from "remix/component";
33

44
import { getSchedule } from "../../../data/jam-schedule.ts";
55
import { routes } from "../../../routes.ts";

‎app/actions/jam/y2025/document.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { css, type Handle, type RemixNode } from "remix/ui";
1+
import { css, type Handle, type RemixNode } from "remix/component";
22
import { Document } from "../../../ui/document.tsx";
33
import { getSocialHeadTags } from "../../../utils/social-head-tags.ts";
44
import { JamPageScaffold } from "./public/shared.tsx";

0 commit comments

Comments
 (0)