···1010 - will need a type aware eslint rule for this
1111- [ ] Switch all px to rem
1212- [ ] cursor pointer not working in links (and nav links)
1313+- [ ] use only data-hover
13141415### Components
1516
+4-2
apps/docs/src/components/alert/index.tsx
···2121 uiColor,
2222 warningColor,
2323} from "../theme/color.stylex";
2424-import { maxBreakpoints } from "../theme/media-queries.stylex";
2525-import { mediaQueries } from "../theme/media-queries.stylex";
2424+import {
2525+ maxBreakpoints,
2626+ mediaQueries,
2727+} from "../theme/media-queries.stylex";
2628import { radius } from "../theme/radius.stylex";
2729import {
2830 critical,
+14-3
apps/docs/src/components/calendar/index.tsx
···11-import type { CalendarGridProps, DateValue } from "react-aria-components";
22-import type { CalendarProps as AriaCalendarProps } from 'react-aria-components';
11+import type {
22+ CalendarProps as AriaCalendarProps,
33+ CalendarGridProps,
44+ DateValue,
55+} from "react-aria-components";
3647import * as stylex from "@stylexjs/stylex";
58import { ChevronLeft, ChevronRight } from "lucide-react";
66-import { Calendar as AriaCalendar, CalendarCell, CalendarGrid, CalendarGridBody, CalendarGridHeader, CalendarHeaderCell, Heading } from 'react-aria-components';
99+import {
1010+ Calendar as AriaCalendar,
1111+ CalendarCell,
1212+ CalendarGrid,
1313+ CalendarGridBody,
1414+ CalendarGridHeader,
1515+ CalendarHeaderCell,
1616+ Heading,
1717+} from "react-aria-components";
718819import type { StyleXComponentProps } from "../theme/types";
920
+14-3
apps/docs/src/components/color-picker/index.tsx
···11-import type { Color, ColorSpace, PopoverProps } from "react-aria-components";
22-import type { ColorPickerProps as AriaColorPickerProps } from 'react-aria-components';
11+import type {
22+ ColorPickerProps as AriaColorPickerProps,
33+ Color,
44+ ColorSpace,
55+ PopoverProps,
66+} from "react-aria-components";
3748import * as stylex from "@stylexjs/stylex";
59import { Pipette } from "lucide-react";
610import { createContext, use } from "react";
77-import { ColorPicker as AriaColorPicker, Button, ColorPickerStateContext, Dialog, DialogTrigger, Popover } from 'react-aria-components';
1111+import {
1212+ ColorPicker as AriaColorPicker,
1313+ Button,
1414+ ColorPickerStateContext,
1515+ Dialog,
1616+ DialogTrigger,
1717+ Popover,
1818+} from "react-aria-components";
819920import type { FlexProps } from "../flex";
1021import type { Size, StyleXComponentProps } from "../theme/types";
···11-import type { CalendarGridProps, DateValue } from "react-aria-components";
22-import type { CalendarProps as AriaCalendarProps } from 'react-aria-components';
11+import type {
22+ CalendarProps as AriaCalendarProps,
33+ CalendarGridProps,
44+ DateValue,
55+} from "react-aria-components";
3647import * as stylex from "@stylexjs/stylex";
58
+2
apps/docs/src/components/toast/index.tsx
···11+/* eslint-disable react-refresh/only-export-components -- barrel file re-exports components and utilities */
12export { toasts, type ToastContentType } from "./queue";
23export { type ToastRegionProps, ToastRegion } from "./Toast";
44+/* eslint-enable react-refresh/only-export-components */
-3
apps/docs/src/examples/dialog/basic.tsx
···11-import * as stylex from "@stylexjs/stylex";
22-31import { Button } from "@/components/button";
42import {
53 Dialog,
···75 DialogFooter,
86 DialogHeader,
97} from "@/components/dialog";
1010-import { spacing } from "@/components/theme/spacing.stylex";
118import { Body } from "@/components/typography";
1291310export function Basic() {
···66import { TanStackRouterDevtoolsPanel } from "@tanstack/react-router-devtools";
77import { useState } from "react";
8899-import type {
1010- Color,
1111- Theme,
1212- UiColor} from "@/lib/ThemeContext";
99+import type { Color, Theme, UiColor } from "@/lib/ThemeContext";
13101411import {
1512 ThemeContext,
+11-12
apps/docs/src/routes/docs.$.tsx
···11import type { MDXComponents } from "mdx/types";
22import type { JSX as Jsx } from "react/jsx-runtime";
3344+import * as stylex from "@stylexjs/stylex";
45import {
56 createFileRoute,
67 createLink,
78 useLocation,
89} from "@tanstack/react-router";
99-1010-declare global {
1111- // eslint-disable-next-line @typescript-eslint/no-namespace
1212- namespace JSX {
1313- type ElementClass = Jsx.ElementClass;
1414- type Element = Jsx.Element;
1515- type IntrinsicElements = Jsx.IntrinsicElements;
1616- }
1717-}
1818-1919-import * as stylex from "@stylexjs/stylex";
2010import { allDocs } from "content-collections";
2111import { modules, pages } from "virtual:content";
22122323-import type { LinkProps} from "@/components/link";
1313+import type { LinkProps } from "@/components/link";
24142515import { Content } from "@/components/content";
2616import { Flex } from "@/components/flex";
···4535import { Text } from "@/components/typography/text";
46364737import { spacing } from "../components/theme/spacing.stylex";
3838+3939+declare global {
4040+ // eslint-disable-next-line @typescript-eslint/no-namespace
4141+ namespace JSX {
4242+ type ElementClass = Jsx.ElementClass;
4343+ type Element = Jsx.Element;
4444+ type IntrinsicElements = Jsx.IntrinsicElements;
4545+ }
4646+}
48474948const TypographyRouterLink = createLink(TypographyLink);
5049
+3-2
apps/docs/src/routes/docs.tsx
···4545);
46464747// Group component docs by folder name
4848+// oxlint-disable-next-line eslint-plugin-unicorn(no-array-reduce
4849const componentGroups = componentDocs.reduce(
4950 (acc, doc) => {
5051 // Extract folder name from path like "components/form/select" -> "form"
···5455 if (!acc[folderName]) {
5556 acc[folderName] = [];
5657 }
5757- acc[folderName]!.push(doc);
5858+ acc[folderName]?.push(doc);
5859 return acc;
5960 },
6061 {} as Record<string, typeof componentDocs>,
···150151function DocSidebar() {
151152 const location = useLocation();
152153 const matches = useMatches();
153153- const match = matches.find((match) => match.pathname === location.pathname);
154154+ const match = matches.find((m) => m.pathname === location.pathname);
154155 const currentItem = flatItems.find(
155156 (item) =>
156157 match?.params &&
···18181919import { Checkbox } from "../checkbox";
2020import { SizeContext } from "../context";
2121+import { animationDuration } from "../theme/animations.stylex";
2122import { radius } from "../theme/radius.stylex";
2223import { gray } from "../theme/semantic-color.stylex";
2324import { spacing } from "../theme/spacing.stylex";
···6768 },
6869 position: "absolute",
6970 transform: "translate(-100%, -50%)",
7070- transitionDuration: "100ms",
7171+ transitionDuration: animationDuration.fast,
7172 transitionProperty: "opacity",
7273 transitionTimingFunction: "ease-in-out",
7374 left: 0,
+1-1
apps/example/src/pages.gen.ts
···11// deno-fmt-ignore-file
22// biome-ignore format: generated types do not need formatting
33// prettier-ignore
44-import type { GetConfigResponse, PathsForPages } from 'waku/router';
44+import type { PathsForPages } from 'waku/router';
5566// prettier-ignore
77type Page =