Something went wrong.
``` ## Dark Mode Dark mode is toggled by adding the `.dark` class to the `` element (same convention as shadcn/ui). The same variable names are redefined with dark values: ```css .dark { --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); --primary: oklch(0.56 0.2165 257.21); --colored-text-lightness: max(l, 0.63); /* ... */ } ``` Components automatically adapt -- no extra props needed. ## Typography | Token | Value | |---|---| | `--font-sans` | `"Manrope", sans-serif` | | `--font-mono` | `"Fira Code", monospace` | | `--font-heading` | not defined: titles inherit their font until you set it | Use in Tailwind: `font-sans`, `font-mono`, `font-heading`. Manrope and Fira Code are not shipped with the package. Load them in your app, or the browser falls back to its generic `sans-serif` and `monospace`. Tailwind's preflight applies `--font-sans` to the page, so importing the theme changes the page font. To keep your own font, set the token after the import: ```css @import "tailwindcss"; @import "chunks-ui/theme.css"; @theme { --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif; } ``` The `Title` parts of Card, Dialog, Drawer, Popover and Empty use `font-heading`. Set `--font-heading` on `:root` or any element to style the titles inside. ## Easing Curves | Token | Value | Use case | |---|---|---| | `--ease-fluid` | `cubic-bezier(0.3, 0, 0, 1)` | General transitions | | `--ease-snappy` | `cubic-bezier(0.2, 0, 0, 1)` | Quick, responsive motion | Use in Tailwind: `ease-fluid`, `ease-snappy`. Most components that animate with a CSS transition use the `micro-interactions` class from `theme.css`. It transitions every property for 300ms on Tailwind's default curve, `--default-transition-timing-function` (`cubic-bezier(0.4, 0, 0.2, 1)` unless your theme sets another), except an outline focus ring: `outline` and `outline-offset` change at once, so a keyboard focus ring shows in its final colour, width and offset. A ring drawn with a box-shadow (`ring-*` utilities) still fades. A `duration-*` utility next to the class replaces all of the class's durations, and a `delay-*` utility delays every entry. On a bare element a `duration-*` utility brings the ring fade back, and a `delay-*` utility delays the ring. The parts of the library avoid that, as described below. With reduced motion the class turns the transition off, and no `transition-*` utility turns it back on. A few parts have their own transitions instead: the Accordion panel and chevron, the Progress indicator, and the fade-in of the ScrollArea scrollbar track. These turn their own transitions off with reduced motion, so a determinate Progress bar jumps to each new value. The indeterminate Progress pulse keeps running, because it is an essential status indicator. The ScrollArea thumb uses the class. The class sits in the `components` layer, so timing utilities in `className` override it on parts that keep their CSS transition, for example `