Skip to content

feat: design tokens, UI redesign, install bundle and text animation components#91

Merged
educlopez merged 126 commits into
mainfrom
feat/ds-tokens
Jul 12, 2026
Merged

feat: design tokens, UI redesign, install bundle and text animation components#91
educlopez merged 126 commits into
mainfrom
feat/ds-tokens

Conversation

@educlopez

Copy link
Copy Markdown
Owner

Summary

Large UX/UI branch (51 commits, ~515 files) unifying the design system and shipping several features:

  • Design tokens / DS foundation: Soft Modern refined token pass across docs app and components, WCAG contrast fixes.
  • UI redesign: landing sections reordered for conversion, docs polish, full-width block previews (TOC removed on blocks pages), components gallery redesign.
  • Install bundle: cart-style flow to pick components/blocks across the site and copy one shadcn multi-add command. Theme + package-manager selectors in float nav, drawer for remove/copy/share.
  • Text animation components: Text section expanded to 28 components (blur/typewriter/stagger/line-reveal/shine, shader-reveal set, etc.).
  • PhotoStack draggable component + Figma-sourced demo images.
  • Tests: +191 tests (207 → 398), package coverage raised to ~76% lines and thresholds bumped to the new baseline.
  • Docs: shared animation constants guide (closes No lib/animation file in the docs #90).
  • Fixes: a11y/design/completeness audit fixes, FloatNav popover clipping, blocks preview prerender guard for helper examples without default export.

Test plan

  • pnpm build green locally (tests + both apps)
  • CI green
  • Vercel preview: browser pass on landing, gallery, bundle drawer, block previews

educlopez added 30 commits June 10, 2026 11:44
Served registry JSON leaked unresolvable @repo/*, @smoothui/data, and
deep-relative import specifiers into user projects. Rewrite them to the
paths where the shadcn CLI installs the files, emit registry:block for
blocks, registry:lib for data and animation constants, human-readable
titles, and deduplicated registry dependencies detected from rewritten
content. Ship lib/animation.ts as a new installable lib item.
Add six registry:theme items (candy, indigo, blue, red, orange, green)
exposing the SmoothUI neutral scale and brand accents as standard shadcn
cssVars with light and dark modes, plus the Inter font token. Add a
registry:item skill that installs SKILL.md with SmoothUI usage and
animation conventions for AI assistants. The docs color picker now
offers a copy-to-clipboard install command for the selected theme.
A CI verification script renders every registry item, validates it
against the shadcn registry-item schema, and fails on workspace import
leaks.
Wire a typecheck task through Turbo and GitHub Actions with tsc scripts
in every TS workspace, fixing the broken tsconfig resolution in the
smoothui package along the way. Pin radix-ui to a single exact version
via pnpm override so mixed resolutions can't duplicate Radix context
providers (regenerated "latest" from bump-ui stays harmless). Bump the
shadcn dependency to ^4.10.0 (4.11.0 is still inside the supply-chain
release cooldown) and run the registry verification script in CI.
The v3 to v4 migration kept numeric size props, but v4 interprets bare
numbers as pixels: maxSize={100} became a 100px ceiling that conflicted
with the other panel's constraints and locked the preview resizer
(separator rendered with aria-valuemin equal to aria-valuemax). Use
percent strings for panel constraints and the imperative resize call,
and drop the data-panel-size handle class that no longer exists in v4.
Every animated block (headers, pricing, stats, testimonials, footers,
faqs, team, logo clouds, shared helpers) now gates its motion props
behind useReducedMotion, per WCAG 2.1 SC 2.3.3: entrance and in-view
animations render in their final state instantly, gesture animations
are disabled, and transitions drop to zero duration. The non-reduced
animation design is unchanged. Also removes two dead constants in
footer-2.
Add render smoke tests for the 12 previously untested components and
render + axe accessibility tests for all 34 blocks (previously zero
block coverage). Fix the three real accessibility violations the new
tests caught: unlabeled logo links in logo-cloud-2, unlabeled nav
buttons in testimonials-2, and an invalid dl structure in faq-1.

Test infra: include blocks in the vitest run, alias @smoothui/data,
inline react-tweet so its CSS-module imports load (its suite previously
failed silently at load time), and drop dangerouslyIgnoreUnhandledErrors
since the teardown errors it suppressed no longer reproduce. Add v8
coverage with regression thresholds (lines 55, statements 55, functions
48, branches 38) enforced by pnpm test, and stop caching the root lint
task in Turbo.
The component claimed full viewport height wherever it was embedded —
including in user projects installing it from the registry.
Add /themes, a shadcn/create-style studio in its own full-bleed route
group (the (home) layout caps content at max-w-7xl). The left inspector
panel follows the Grid Loader customizer language: palette swatch strip,
light/dark segment, a live radius scrubber that drives the preview and
the copied CSS, the shadcn preset code (b3gmgq), and install/copy-CSS
actions.

The preview is a draggable board (pan in any direction, starting
centered) showing every component demo in the registry — 70 cards in
flex-column masonry over a frame-box dotted field. Demos are
code-split and mounted/unmounted with an IntersectionObserver that
remembers card heights, so only the visible ~10 run at any time.
Interactive controls inside demos keep pointer ownership; the pan only
engages elsewhere. Flex columns replace CSS multicol, which broke
Motion layout animations. Theming is scoped to the board by overriding
the underlying SmoothUI tokens (the docs Tailwind theme is declared
with @theme inline).

Navigation: Themes entry in the desktop and mobile navbars, and a
link from the floating color picker.
Browsers start a ghost image drag on any <img> press-and-move, which
fights drag/select interactions (interactive-image-selector, phototab)
and feels broken anywhere else. Set draggable={false} on every image
rendered by components and blocks so installed copies behave too.
Two stacked causes broke demo interactions on the theme studio board:

The frame-box ::before dots layer is absolutely positioned, so it
painted above the board's static children and intercepted every
pointer event — clicks never reached the demos at all. Decorative
layers must not hit-test: add pointer-events-none to the pseudo
element in the shared class.

The pan also captured the pointer on pointerdown, which retargets the
eventual click to the canvas and silently kills onClick handlers on
non-button elements (expandable cards). The pan now only captures
after the pointer travels a 5px threshold, and ignores non-primary
buttons so right-click reaches context menus.

Verified in-browser: dropdown menu opens, context menu opens on
right-click, expandable cards expand, and panning still works.
Each board card now has a terminal icon next to the docs link that
copies the shadcn CLI install command for that component, with the
full command shown as the tooltip.
The design system's @theme inline block mapped --color-destructive and
--color-sidebar-accent to source variables that were never declared, so
the 76 destructive-token usages across the library resolved to nothing —
the smooth-button destructive gradient visibly faded to white. Declare
--destructive (light and dark, matching the registry themes) and
--sidebar-accent in the docs theme, and have the studio preview override
--destructive per palette mode from the theme cssVars.
The Grid Loader customize panel now floats detached from the screen
edges (margin on top, right and bottom, fully rounded) instead of
hugging the viewport, and its rows pick up the larger 16px radius.
The theme studio sidebar adopts the same visual language: wider panel,
56px rounded-2xl rows with 17px labels, larger palette swatches, and
roomier preset rows so nothing wraps.
… panels

Measured the original dialkit inspector (joshpuckett.me/dialkit): 36px
rows with 8px radius, 13px/500 labels, 13px mono values, 15px/600 title,
13px/600 section headers at 65% opacity, ~254px panel. The previous pass
overshot every metric because the reference screenshots were 2x retina.
Both the Grid Loader customize drawer and the theme studio sidebar now
use the real scale.
Track 36px with 8px radius (was 52/12), 13px/500 label and 13px mono
value (was 17/15), with thumb, ticks and insets scaled to match. Keeps
the component visually consistent with the design-tool panels it is
meant for.
The shadcn/create link and --preset row previously used the pink preset
for every palette; each palette now carries its own verified preset code
(generated on ui.shadcn.com/create and round-tripped through shadcn
preset decode): candy b3gmgq, indigo b2pzIe, blue b1PzeK, red b4Fywy,
orange b3PBYm, green b2YOAa.

New customization rows in the dialkit language: a Sans/Serif/Mono font
segment that drives the preview typography and the copied CSS font-sans
token, and an Accent lightness scrubber (±15) that shifts the oklch
lightness of the brand accent across the preview and every accent-bearing
variable in the copied CSS (accent, ring, charts, sidebar).
shadcn/create presets can only carry their catalog enums, so opening a
SmoothUI theme there loses the exact oklch palette, continuous radius,
accent shift, font and neutral tint. The studio now has its own preset
format (s1.<palette>.<radius>.<accent>.<font>.<tint>) that round-trips
the full state:

- Shareable links: /themes?preset=<code> restores every control.
- Full distribution without shadcn's limits: the registry route serves
  theme-custom-<code>.json built on the fly from the code, so any
  custom combination installs with the standard shadcn CLI.
- New Tint control (neutral/warm/cool) that re-tints the smooth neutral
  scale across preview, copied CSS and installable item.

The preset row shows the SmoothUI code, with a copy-link action; the
shadcn/create link remains as an explicitly labeled approximation. The
preset/encoding logic lives in lib/studio-preset.ts, shared by the
studio client and the registry route.
The supply-chain release cooldown has passed. Its published schema
still lacks the registry:skill type, so the skill item stays as
registry:item.
Next flagged it as the LCP on the studio's initial centered view.
A search row in the sidebar filters the board's demo cards by component
name, and a crosshair action next to shuffle re-centers the pan field —
useful after wandering across 70 cards.
Document the installable themes, the Theme Studio controls, the
SmoothUI preset format (share, install, copy CSS) and the shadcn/create
approximation caveat. Add the 3.5.0 highlight entry covering the
studio, themes and presets, reduced-motion compliance, and the registry
and testing infrastructure work.
feat: registry hardening, installable themes, Theme Studio, a11y & tests
The neutral ramp was non-uniform: stops bunched in the bright zone with a
cliff at 700->800 and almost no usable mid-tones. As a result the
contrast-critical semantic tokens failed WCAG on a smooth-50 background
(input 1.35:1, muted-foreground 3.14:1).

- Rebuild --color-smooth-* (light and dark) with perceptually even oklch-L
  spacing so mid-tones exist for legible controls and secondary text.
- Remap input to smooth-700 (3.02:1 light / 3.73:1 dark, >=3:1 control
  boundary) and unify it to a single definition; muted-foreground now
  passes at 4.52:1 / 5.82:1 via the ramp.
- Keep dividers subtle: --color-border maps to smooth-300 (oklch 0.91),
  matching the previous border luminance; decorative borders are
  WCAG-exempt.
- Remove the dead --border token, collapsing border sources.
- Mirror the ramp in registry-themes.ts so installed themes inherit the
  same WCAG-passing tokens.
Durable design artifacts under .ui-craft/ to anchor the UI unification
redesign:

- brief.md: product purpose, primary user (devs + AI agents), five ranked
  principles, success metric, out-of-scope, and the locked visual direction
  (Soft Modern refined, brand pink kept, dotted-frame signature).
- tokens.md: audit of the existing Tailwind v4 / OKLCH spine plus decisions
  for the gaps — a shared type scale (display→eyebrow roles), radius varied
  by element, a new motion token category, and the accent budget.
- Add a motion token category (--duration-fast/normal/slow, --ease-out,
  --ease-in-out) matching the animations.mdc convention; previously
  components hardcoded durations and curves.
- Fix the prose heading cliff: h2 jumped from h1 (30px) straight to 18px.
  h2 -> 24px, h3 -> 19px, h4 -> 16px for a legible hierarchy in docs.
Replace the uniform four-column grid of identical icon-cards (the classic
AI-generated tell) with an asymmetric bento:

- Lead cell shows a real SmoothUI component in motion (GridLoader cycling
  patterns in the brand color) inside the dotted-frame signature — proving
  "smooth animations" instead of describing it (brief P1).
- Supporting cells vary in span; copy rewritten to sentence case and made
  specific ("built for React 19", "one command").
- Remove box shadows — frame-box surfaces don't use shadow — and drop the
  off-brand blue shadow.
Title Case reads as template. Lowercase the section headings and the
showcase CTA: "Components showcase", "Built for AI-assisted development",
"What they say about us", "View all components".
ComponentsSlideshow was the only section using a bare centered <h2> with
no eyebrow or description, breaking the one-signature consistency. Switch
it to the shared SectionHeader (eyebrow + title + description) so every
section reads the same.
Every section used py-24, producing a flat, templated cadence. Give the
narrative sections more room — AI section to py-40, Skills to py-32 — so
the page breathes in the 96/128/160px band instead of one uniform step.
educlopez and others added 24 commits June 25, 2026 17:30
The footer already ends the page with its own CTA card; a second centered
CTA band stacked right above it read as duplicated. Remove the standalone
ClosingCta and the now-trailing divider under the blog section so the
footer's gradient bridge handles the final seam.
Open up the hero with clearer hierarchy, remove the announcement badge, and reposition the UI Craft section as a design system with a multi-method install picker matching skills.smoothui.dev.

Co-authored-by: Cursor <cursoragent@cursor.com>
… registry gaps

- Rename akella-image-transition and its 8 variant wrappers to
  shader-reveal-* (dirs, symbols, tests, examples, docs, package names)
- Export ScaleDownFade from the components barrel
- Add base shader-reveal-transition example and MDX doc
- Rebuild the Transitions section in meta.json with all 17 entries and
  add scale-down-fade to the Text section
- Bundle drawer: focus trap, initial focus, focus restore, aria-live
  announcements for add/remove/clear, guarded persist-before-hydrate
- Remove the duplicate theme toggle from the docs top nav (FloatNav owns it)
- Changelog bell: unread dot backed by localStorage, visible focus ring
- FloatNav: 44px touch targets, labels hidden on small screens, drop the
  overflow that clipped the color picker and PM popovers
- Color picker actions use the DS button instead of the raw shadcn one
- Hero copy button and bundle actions announce to screen readers
- Coverage section gets a real h2; pl-[14px] -> pl-3.5
- Rename legacy shimmer tokens to --shimmer-base/--shimmer-highlight
…le previews

- Drop the TOC on the gallery page (full: true) and collapse the reserved
  toc grid column on full pages so content reaches the right edge
- Home-showcase card style: uniform 280px dotted preview + slim footer
  with title link, bundle add and install copy actions
- Bento spans: measured wide demos take 2 columns, Transitions category
  takes 2, expandable-cards takes 3; grid-flow-dense fills the holes
- Fit-scale previews: demos lay out on a 133% stage and scale down until
  they fit the cell (0.45 floor), fixing squashed transition demos
- 4 columns on 2xl; add accordion example shim so its preview loads
- Shared WebGL mock + steppable rAF clock (test-utils/webgl-mock.ts) so the
  5 shader transitions execute their GL setup, render loop, variants,
  onRest and reduced-motion/no-WebGL fallbacks (22-25% -> 92-94% lines)
- Interaction tests for select, searchable-dropdown, basic-dropdown,
  gooey-popover, scrubber and app-download-stack (open/close, keyboard
  nav, outside click, pointer drag, controlled mode)
- New tests for short-slide-down and kinetic-center-build (0% -> 100%)
  and deeper tests for agent-avatar, scrollable-card-stack,
  animated-file-upload, switchboard-card, ai-branch,
  github-stars-animation, tweet-card, interactive-image-selector and
  the pricing blocks

Package totals: lines 48->76%, functions 44->67%, statements 48->76%,
branches 37->53% (thresholds: 55/48/55/38). 398 tests passing.
The lib/animation constants (SPRING_DEFAULT, SPRING_SNAPPY, EASE_OUT,
EASE_IN_OUT, DURATION_INSTANT, DURATION) had no docs. Add a section to the
utilities guide covering what they are, how they reach a project via the
registry install flow (auto-pulled as a lib.json dependency, or added
directly with @smoothui/lib), and usage with Motion including the
reduced-motion path. The registry-exposure half was already fixed in b73ac1d.
The controlled test typed the empty selection as AppData[], but the prop
takes an array of app ids (number[]).
@vercel

vercel Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
smoothui Ignored Ignored Preview Jul 12, 2026 3:48pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 508 files, which is 358 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e0a415c0-87ae-40c9-b1b7-8444609a0be2

📥 Commits

Reviewing files that changed from the base of the PR and between 7cd66da and 907bd1c.

⛔ Files ignored due to path filters (8)
  • apps/docs/public/scenes/testimonial-1.jpg is excluded by !**/*.jpg
  • apps/docs/public/scenes/testimonial-2.jpg is excluded by !**/*.jpg
  • apps/docs/public/sounds/button.wav is excluded by !**/*.wav
  • apps/docs/public/sounds/celebration.wav is excluded by !**/*.wav
  • apps/docs/public/sounds/toggle_off.wav is excluded by !**/*.wav
  • apps/docs/public/sounds/toggle_on.wav is excluded by !**/*.wav
  • apps/docs/public/vercel-oss-badge.svg is excluded by !**/*.svg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (508)
  • .github/workflows/test.yml
  • .gitignore
  • .ui-craft/brief.md
  • .ui-craft/tokens.md
  • apps/docs/app/(home)/docs/page.tsx
  • apps/docs/app/(home)/page.tsx
  • apps/docs/app/(studio)/layout.tsx
  • apps/docs/app/(studio)/themes/page.tsx
  • apps/docs/app/blocks/preview/[blockId]/page.tsx
  • apps/docs/app/blog/[slug]/page.tsx
  • apps/docs/app/blog/layout.tsx
  • apps/docs/app/blog/page.tsx
  • apps/docs/app/docs/[...slug]/page.tsx
  • apps/docs/app/docs/layout.tsx
  • apps/docs/app/fonts.ts
  • apps/docs/app/global.css
  • apps/docs/app/layout.tsx
  • apps/docs/app/not-found.tsx
  • apps/docs/app/r/[component]/route.ts
  • apps/docs/app/r/registry.json/route.ts
  • apps/docs/app/sitemap.ts
  • apps/docs/app/smoothui.css
  • apps/docs/components/add-to-kit-button.tsx
  • apps/docs/components/blog-float-nav.tsx
  • apps/docs/components/blog/interactive-avatar-tutorial.tsx
  • apps/docs/components/blog/interactive-rich-popover-tutorial.tsx
  • apps/docs/components/bundle-size-badge.tsx
  • apps/docs/components/changelog-popover.tsx
  • apps/docs/components/color-picker-float-nav.tsx
  • apps/docs/components/contributor.tsx
  • apps/docs/components/docs-footer.tsx
  • apps/docs/components/feature-card.tsx
  • apps/docs/components/float-nav.tsx
  • apps/docs/components/gallery/component-card.tsx
  • apps/docs/components/gallery/component-gallery.tsx
  • apps/docs/components/gallery/filter-bar.tsx
  • apps/docs/components/gallery/gallery-preview.tsx
  • apps/docs/components/icon.tsx
  • apps/docs/components/installer.tsx
  • apps/docs/components/kit-float-nav.tsx
  • apps/docs/components/landing/ai-section.tsx
  • apps/docs/components/landing/block-categories.tsx
  • apps/docs/components/landing/components-slideshow.tsx
  • apps/docs/components/landing/coverage.tsx
  • apps/docs/components/landing/features.tsx
  • apps/docs/components/landing/footer.tsx
  • apps/docs/components/landing/hero.tsx
  • apps/docs/components/landing/install-copy-button.tsx
  • apps/docs/components/landing/latest-posts.tsx
  • apps/docs/components/landing/logos/install-method-icons.tsx
  • apps/docs/components/landing/media-player.tsx
  • apps/docs/components/landing/navbar/github-stars.tsx
  • apps/docs/components/landing/navbar/mobile-navbar.tsx
  • apps/docs/components/landing/navbar/navbar.tsx
  • apps/docs/components/landing/section-header.tsx
  • apps/docs/components/landing/skills-section.tsx
  • apps/docs/components/landing/social-proof.tsx
  • apps/docs/components/landing/sponsors.tsx
  • apps/docs/components/landing/ui-craft-install-selector.tsx
  • apps/docs/components/landing/what-they-say.tsx
  • apps/docs/components/logo-context-menu.tsx
  • apps/docs/components/nav-search-actions.tsx
  • apps/docs/components/package-manager-tabs.tsx
  • apps/docs/components/page-actions.tsx
  • apps/docs/components/pm-float-nav.tsx
  • apps/docs/components/post-cover.tsx
  • apps/docs/components/powered-by.tsx
  • apps/docs/components/preview/content.tsx
  • apps/docs/components/preview/shell.tsx
  • apps/docs/components/preview/source.tsx
  • apps/docs/components/reference.tsx
  • apps/docs/components/share-buttons.tsx
  • apps/docs/components/smoothbutton.tsx
  • apps/docs/components/sound-provider.tsx
  • apps/docs/components/sponsor-card.tsx
  • apps/docs/components/sponsor-logo.tsx
  • apps/docs/components/sponsors-empty-state.tsx
  • apps/docs/components/themes/theme-studio.tsx
  • apps/docs/content/blog/ai-design-slop.mdx
  • apps/docs/content/blog/best-react-animation-libraries.mdx
  • apps/docs/content/blog/building-animated-tabs.mdx
  • apps/docs/content/blog/building-magnetic-button.mdx
  • apps/docs/content/blog/building-number-flow.mdx
  • apps/docs/content/blog/building-rich-popover.mdx
  • apps/docs/content/blog/building-scramble-hover.mdx
  • apps/docs/content/blog/building-social-selector.mdx
  • apps/docs/content/blog/building-user-account-avatar.mdx
  • apps/docs/content/blog/framer-motion-tutorial.mdx
  • apps/docs/content/blog/introducing-ui-craft.mdx
  • apps/docs/content/docs/blocks/cta.mdx
  • apps/docs/content/docs/blocks/faqs.mdx
  • apps/docs/content/docs/blocks/features.mdx
  • apps/docs/content/docs/blocks/footer.mdx
  • apps/docs/content/docs/blocks/hero.mdx
  • apps/docs/content/docs/blocks/index.mdx
  • apps/docs/content/docs/blocks/logo-clouds.mdx
  • apps/docs/content/docs/blocks/pricing.mdx
  • apps/docs/content/docs/blocks/stats.mdx
  • apps/docs/content/docs/blocks/team-sections.mdx
  • apps/docs/content/docs/blocks/testimonial.mdx
  • apps/docs/content/docs/community/meta.json
  • apps/docs/content/docs/components/aperture-blur-transition.mdx
  • apps/docs/content/docs/components/blur-out-up.mdx
  • apps/docs/content/docs/components/bottom-up-letters.mdx
  • apps/docs/content/docs/components/chroma-blur-transition.mdx
  • apps/docs/content/docs/components/depth-parallax-words.mdx
  • apps/docs/content/docs/components/fade-through.mdx
  • apps/docs/content/docs/components/focus-blur-resolve.mdx
  • apps/docs/content/docs/components/kinetic-center-build.mdx
  • apps/docs/content/docs/components/line-by-line-slide.mdx
  • apps/docs/content/docs/components/mask-reveal-up.mdx
  • apps/docs/content/docs/components/meta.json
  • apps/docs/content/docs/components/micro-scale-fade.mdx
  • apps/docs/content/docs/components/organic-merge-transition.mdx
  • apps/docs/content/docs/components/per-character-rise.mdx
  • apps/docs/content/docs/components/per-word-crossfade.mdx
  • apps/docs/content/docs/components/photo-stack.mdx
  • apps/docs/content/docs/components/prism-sweep-transition.mdx
  • apps/docs/content/docs/components/radial-circles-transition.mdx
  • apps/docs/content/docs/components/scale-down-fade.mdx
  • apps/docs/content/docs/components/sdf-blob-transition.mdx
  • apps/docs/content/docs/components/sdf-circle-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-circle-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-luma-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-noise-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-planetary-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-push-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-stripes-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-wipe-transition.mdx
  • apps/docs/content/docs/components/shader-reveal-zoom-transition.mdx
  • apps/docs/content/docs/components/shared-axis-x.mdx
  • apps/docs/content/docs/components/shared-axis-y.mdx
  • apps/docs/content/docs/components/shared-axis-z.mdx
  • apps/docs/content/docs/components/shimmer-sweep.mdx
  • apps/docs/content/docs/components/shine-text.mdx
  • apps/docs/content/docs/components/short-slide-down.mdx
  • apps/docs/content/docs/components/short-slide-right.mdx
  • apps/docs/content/docs/components/soft-blur-in.mdx
  • apps/docs/content/docs/components/spring-scale-in.mdx
  • apps/docs/content/docs/components/stagger-from-center.mdx
  • apps/docs/content/docs/components/stagger-from-edges.mdx
  • apps/docs/content/docs/components/top-down-letters.mdx
  • apps/docs/content/docs/components/warped-circle-transition.mdx
  • apps/docs/content/docs/guides/accessibility.mdx
  • apps/docs/content/docs/guides/ai-integration.mdx
  • apps/docs/content/docs/guides/animated-components.mdx
  • apps/docs/content/docs/guides/animation-best-practices.mdx
  • apps/docs/content/docs/guides/api.mdx
  • apps/docs/content/docs/guides/astro.mdx
  • apps/docs/content/docs/guides/changelog.mdx
  • apps/docs/content/docs/guides/design-principles.mdx
  • apps/docs/content/docs/guides/getting-started.mdx
  • apps/docs/content/docs/guides/hooks.mdx
  • apps/docs/content/docs/guides/index.mdx
  • apps/docs/content/docs/guides/installation.mdx
  • apps/docs/content/docs/guides/mcp.mdx
  • apps/docs/content/docs/guides/meta.json
  • apps/docs/content/docs/guides/migration-from-shadcn.mdx
  • apps/docs/content/docs/guides/nextjs.mdx
  • apps/docs/content/docs/guides/remix.mdx
  • apps/docs/content/docs/guides/shadcn-alternative.mdx
  • apps/docs/content/docs/guides/sponsors.mdx
  • apps/docs/content/docs/guides/tanstack-start.mdx
  • apps/docs/content/docs/guides/themes.mdx
  • apps/docs/content/docs/guides/utilities.mdx
  • apps/docs/content/docs/guides/vite.mdx
  • apps/docs/examples/accordion.tsx
  • apps/docs/examples/aperture-blur-transition.tsx
  • apps/docs/examples/apple-invites.tsx
  • apps/docs/examples/blur-out-up.tsx
  • apps/docs/examples/bottom-up-letters.tsx
  • apps/docs/examples/chroma-blur-transition.tsx
  • apps/docs/examples/cursor-follow.tsx
  • apps/docs/examples/depth-parallax-words.tsx
  • apps/docs/examples/fade-through.tsx
  • apps/docs/examples/focus-blur-resolve.tsx
  • apps/docs/examples/grid-loader.tsx
  • apps/docs/examples/image-metadata-preview.tsx
  • apps/docs/examples/kinetic-center-build.tsx
  • apps/docs/examples/line-by-line-slide.tsx
  • apps/docs/examples/mask-reveal-up.tsx
  • apps/docs/examples/micro-scale-fade.tsx
  • apps/docs/examples/organic-merge-transition.tsx
  • apps/docs/examples/per-character-rise.tsx
  • apps/docs/examples/per-word-crossfade.tsx
  • apps/docs/examples/photo-stack.tsx
  • apps/docs/examples/prism-sweep-transition.tsx
  • apps/docs/examples/radial-circles-transition.tsx
  • apps/docs/examples/scale-down-fade.tsx
  • apps/docs/examples/scrollable-card-stack.tsx
  • apps/docs/examples/sdf-blob-transition.tsx
  • apps/docs/examples/sdf-circle-transition.tsx
  • apps/docs/examples/shader-reveal-circle-transition.tsx
  • apps/docs/examples/shader-reveal-luma-transition.tsx
  • apps/docs/examples/shader-reveal-noise-transition.tsx
  • apps/docs/examples/shader-reveal-planetary-transition.tsx
  • apps/docs/examples/shader-reveal-push-transition.tsx
  • apps/docs/examples/shader-reveal-stripes-transition.tsx
  • apps/docs/examples/shader-reveal-transition.tsx
  • apps/docs/examples/shader-reveal-wipe-transition.tsx
  • apps/docs/examples/shader-reveal-zoom-transition.tsx
  • apps/docs/examples/shared-axis-x.tsx
  • apps/docs/examples/shared-axis-y.tsx
  • apps/docs/examples/shared-axis-z.tsx
  • apps/docs/examples/shimmer-sweep.tsx
  • apps/docs/examples/shine-text.tsx
  • apps/docs/examples/short-slide-down.tsx
  • apps/docs/examples/short-slide-right.tsx
  • apps/docs/examples/skeleton-loader.tsx
  • apps/docs/examples/smooth-button.tsx
  • apps/docs/examples/soft-blur-in.tsx
  • apps/docs/examples/spring-scale-in.tsx
  • apps/docs/examples/stagger-from-center.tsx
  • apps/docs/examples/stagger-from-edges.tsx
  • apps/docs/examples/top-down-letters.tsx
  • apps/docs/examples/transition-demo-frame.tsx
  • apps/docs/examples/warped-circle-transition.tsx
  • apps/docs/lib/changelog-data.ts
  • apps/docs/lib/kit-context.tsx
  • apps/docs/lib/layout.shared.tsx
  • apps/docs/lib/nucleo-icons-plugin.ts
  • apps/docs/lib/package.ts
  • apps/docs/lib/registry-skill.ts
  • apps/docs/lib/registry-themes.ts
  • apps/docs/lib/source.ts
  • apps/docs/lib/starter-kits.ts
  • apps/docs/lib/studio-preset.ts
  • apps/docs/next.config.ts
  • apps/docs/package.json
  • apps/docs/public/blog/ai-design-slop.webp
  • apps/docs/public/blog/best-react-animation-libraries.webp
  • apps/docs/public/blog/building-animated-tabs.webp
  • apps/docs/public/blog/building-magnetic-button.webp
  • apps/docs/public/blog/building-number-flow.webp
  • apps/docs/public/blog/building-rich-popover.webp
  • apps/docs/public/blog/building-scramble-hover.webp
  • apps/docs/public/blog/building-social-selector.webp
  • apps/docs/public/blog/building-user-account-avatar.webp
  • apps/docs/public/blog/framer-motion-tutorial.webp
  • apps/docs/public/blog/introducing-ui-craft.webp
  • apps/docs/public/images/figma/bg-1.webp
  • apps/docs/public/images/figma/bg-11.webp
  • apps/docs/public/images/figma/bg-13.webp
  • apps/docs/public/images/figma/bg-5.webp
  • apps/docs/public/images/figma/bg-8.webp
  • apps/docs/public/images/figma/bg-9.webp
  • apps/docs/public/scenes/ai-mcp.webp
  • apps/docs/public/scenes/skill-meadow.webp
  • apps/docs/public/scenes/why-choose.webp
  • apps/docs/registry-assets/SKILL.md
  • apps/docs/scripts/verify-registry.mts
  • package.json
  • packages/data/package.json
  • packages/shadcn-ui/package.json
  • packages/smoothui/blocks/ctas/cta-1/__tests__/cta-1.test.tsx
  • packages/smoothui/blocks/ctas/cta-2/__tests__/cta-2.test.tsx
  • packages/smoothui/blocks/ctas/cta-2/index.tsx
  • packages/smoothui/blocks/ctas/cta-3/__tests__/cta-3.test.tsx
  • packages/smoothui/blocks/faqs/faq-1/__tests__/faq-1.test.tsx
  • packages/smoothui/blocks/faqs/faq-1/index.tsx
  • packages/smoothui/blocks/faqs/faq-2/__tests__/faq-2.test.tsx
  • packages/smoothui/blocks/faqs/faq-2/index.tsx
  • packages/smoothui/blocks/faqs/faq-3/__tests__/faq-3.test.tsx
  • packages/smoothui/blocks/faqs/faq-4/__tests__/faq-4.test.tsx
  • packages/smoothui/blocks/features/features-1/__tests__/features-1.test.tsx
  • packages/smoothui/blocks/features/features-2/__tests__/features-2.test.tsx
  • packages/smoothui/blocks/features/features-3/__tests__/features-3.test.tsx
  • packages/smoothui/blocks/features/features-3/index.tsx
  • packages/smoothui/blocks/footers/footer-1/__tests__/footer-1.test.tsx
  • packages/smoothui/blocks/footers/footer-1/index.tsx
  • packages/smoothui/blocks/footers/footer-2/__tests__/footer-2.test.tsx
  • packages/smoothui/blocks/footers/footer-2/index.tsx
  • packages/smoothui/blocks/footers/footer-3/__tests__/footer-3.test.tsx
  • packages/smoothui/blocks/footers/footer-4/__tests__/footer-4.test.tsx
  • packages/smoothui/blocks/headers/header-1/__tests__/header-1.test.tsx
  • packages/smoothui/blocks/headers/header-2/__tests__/header-2.test.tsx
  • packages/smoothui/blocks/headers/header-2/index.tsx
  • packages/smoothui/blocks/headers/header-3/__tests__/header-3.test.tsx
  • packages/smoothui/blocks/headers/header-3/index.tsx
  • packages/smoothui/blocks/headers/header-4/__tests__/header-4.test.tsx
  • packages/smoothui/blocks/headers/header-5/__tests__/header-5.test.tsx
  • packages/smoothui/blocks/headers/header-6/__tests__/header-6.test.tsx
  • packages/smoothui/blocks/logos/logo-cloud-1/__tests__/logo-cloud-1.test.tsx
  • packages/smoothui/blocks/logos/logo-cloud-2/__tests__/logo-cloud-2.test.tsx
  • packages/smoothui/blocks/logos/logo-cloud-2/index.tsx
  • packages/smoothui/blocks/logos/logo-cloud-3/__tests__/logo-cloud-3.test.tsx
  • packages/smoothui/blocks/logos/logo-cloud-4/__tests__/logo-cloud-4.test.tsx
  • packages/smoothui/blocks/pricing/pricing-1/__tests__/pricing-1.test.tsx
  • packages/smoothui/blocks/pricing/pricing-1/index.tsx
  • packages/smoothui/blocks/pricing/pricing-2/__tests__/pricing-2.test.tsx
  • packages/smoothui/blocks/pricing/pricing-2/index.tsx
  • packages/smoothui/blocks/pricing/pricing-3/__tests__/pricing-3.test.tsx
  • packages/smoothui/blocks/pricing/pricing-3/index.tsx
  • packages/smoothui/blocks/shared/animated-group.tsx
  • packages/smoothui/blocks/shared/animated-text.tsx
  • packages/smoothui/blocks/shared/hero-header.tsx
  • packages/smoothui/blocks/stats/stats-1/__tests__/stats-1.test.tsx
  • packages/smoothui/blocks/stats/stats-1/index.tsx
  • packages/smoothui/blocks/stats/stats-2/__tests__/stats-2.test.tsx
  • packages/smoothui/blocks/stats/stats-2/index.tsx
  • packages/smoothui/blocks/team/team-1/__tests__/team-1.test.tsx
  • packages/smoothui/blocks/team/team-1/index.tsx
  • packages/smoothui/blocks/team/team-2/__tests__/team-2.test.tsx
  • packages/smoothui/blocks/team/team-2/index.tsx
  • packages/smoothui/blocks/testimonials/testimonials-1/__tests__/testimonials-1.test.tsx
  • packages/smoothui/blocks/testimonials/testimonials-1/index.tsx
  • packages/smoothui/blocks/testimonials/testimonials-2/__tests__/testimonials-2.test.tsx
  • packages/smoothui/blocks/testimonials/testimonials-2/index.tsx
  • packages/smoothui/blocks/testimonials/testimonials-3/__tests__/testimonials-3.test.tsx
  • packages/smoothui/blocks/testimonials/testimonials-3/index.tsx
  • packages/smoothui/components/agent-avatar/__tests__/agent-avatar.test.tsx
  • packages/smoothui/components/ai-branch/__tests__/ai-branch.test.tsx
  • packages/smoothui/components/animated-avatar-group/index.tsx
  • packages/smoothui/components/animated-file-upload/__tests__/animated-file-upload.test.tsx
  • packages/smoothui/components/animated-input/index.tsx
  • packages/smoothui/components/aperture-blur-transition/__tests__/aperture-blur-transition.test.tsx
  • packages/smoothui/components/aperture-blur-transition/index.tsx
  • packages/smoothui/components/aperture-blur-transition/package.json
  • packages/smoothui/components/aperture-blur-transition/tsconfig.json
  • packages/smoothui/components/app-download-stack/__tests__/app-download-stack.test.tsx
  • packages/smoothui/components/app-download-stack/index.tsx
  • packages/smoothui/components/apple-invites/__tests__/apple-invites.test.tsx
  • packages/smoothui/components/apple-invites/index.tsx
  • packages/smoothui/components/basic-accordion/index.tsx
  • packages/smoothui/components/basic-dropdown/__tests__/basic-dropdown.test.tsx
  • packages/smoothui/components/blur-out-up/index.tsx
  • packages/smoothui/components/blur-out-up/package.json
  • packages/smoothui/components/blur-out-up/tsconfig.json
  • packages/smoothui/components/bottom-up-letters/index.tsx
  • packages/smoothui/components/bottom-up-letters/package.json
  • packages/smoothui/components/bottom-up-letters/tsconfig.json
  • packages/smoothui/components/chroma-blur-transition/__tests__/chroma-blur-transition.test.tsx
  • packages/smoothui/components/chroma-blur-transition/index.tsx
  • packages/smoothui/components/chroma-blur-transition/package.json
  • packages/smoothui/components/chroma-blur-transition/tsconfig.json
  • packages/smoothui/components/depth-parallax-words/index.tsx
  • packages/smoothui/components/depth-parallax-words/package.json
  • packages/smoothui/components/depth-parallax-words/tsconfig.json
  • packages/smoothui/components/expandable-cards/index.tsx
  • packages/smoothui/components/fade-through/index.tsx
  • packages/smoothui/components/fade-through/package.json
  • packages/smoothui/components/fade-through/tsconfig.json
  • packages/smoothui/components/figma-comment/__tests__/figma-comment.test.tsx
  • packages/smoothui/components/focus-blur-resolve/index.tsx
  • packages/smoothui/components/focus-blur-resolve/package.json
  • packages/smoothui/components/focus-blur-resolve/tsconfig.json
  • packages/smoothui/components/github-stars-animation/__tests__/github-stars-animation.test.tsx
  • packages/smoothui/components/github-stars-animation/index.tsx
  • packages/smoothui/components/glow-hover-card/__tests__/glow-hover-card.test.tsx
  • packages/smoothui/components/gooey-popover/__tests__/gooey-popover.test.tsx
  • packages/smoothui/components/grid-loader/__tests__/grid-loader.test.tsx
  • packages/smoothui/components/image-metadata-preview/__tests__/image-metadata-preview.test.tsx
  • packages/smoothui/components/image-metadata-preview/index.tsx
  • packages/smoothui/components/index.ts
  • packages/smoothui/components/infinite-slider/__tests__/infinite-slider.test.tsx
  • packages/smoothui/components/interactive-image-selector/__tests__/interactive-image-selector.test.tsx
  • packages/smoothui/components/interactive-image-selector/index.tsx
  • packages/smoothui/components/job-listing-component/__tests__/job-listing-component.test.tsx
  • packages/smoothui/components/kinetic-center-build/__tests__/kinetic-center-build.test.tsx
  • packages/smoothui/components/kinetic-center-build/index.tsx
  • packages/smoothui/components/kinetic-center-build/package.json
  • packages/smoothui/components/kinetic-center-build/tsconfig.json
  • packages/smoothui/components/line-by-line-slide/index.tsx
  • packages/smoothui/components/line-by-line-slide/package.json
  • packages/smoothui/components/line-by-line-slide/tsconfig.json
  • packages/smoothui/components/magnetic-button/__tests__/magnetic-button.test.tsx
  • packages/smoothui/components/mask-reveal-up/index.tsx
  • packages/smoothui/components/mask-reveal-up/package.json
  • packages/smoothui/components/mask-reveal-up/tsconfig.json
  • packages/smoothui/components/micro-scale-fade/index.tsx
  • packages/smoothui/components/micro-scale-fade/package.json
  • packages/smoothui/components/micro-scale-fade/tsconfig.json
  • packages/smoothui/components/number-flow/index.tsx
  • packages/smoothui/components/organic-merge-transition/__tests__/organic-merge-transition.test.tsx
  • packages/smoothui/components/organic-merge-transition/index.tsx
  • packages/smoothui/components/organic-merge-transition/package.json
  • packages/smoothui/components/organic-merge-transition/tsconfig.json
  • packages/smoothui/components/per-character-rise/index.tsx
  • packages/smoothui/components/per-character-rise/package.json
  • packages/smoothui/components/per-character-rise/tsconfig.json
  • packages/smoothui/components/per-word-crossfade/index.tsx
  • packages/smoothui/components/per-word-crossfade/package.json
  • packages/smoothui/components/per-word-crossfade/tsconfig.json
  • packages/smoothui/components/photo-stack/index.tsx
  • packages/smoothui/components/photo-stack/package.json
  • packages/smoothui/components/photo-stack/tsconfig.json
  • packages/smoothui/components/phototab/index.tsx
  • packages/smoothui/components/prism-sweep-transition/__tests__/prism-sweep-transition.test.tsx
  • packages/smoothui/components/prism-sweep-transition/index.tsx
  • packages/smoothui/components/prism-sweep-transition/package.json
  • packages/smoothui/components/prism-sweep-transition/tsconfig.json
  • packages/smoothui/components/product-card/index.tsx
  • packages/smoothui/components/radial-circles-transition/__tests__/radial-circles-transition.test.tsx
  • packages/smoothui/components/radial-circles-transition/index.tsx
  • packages/smoothui/components/radial-circles-transition/package.json
  • packages/smoothui/components/radial-circles-transition/tsconfig.json
  • packages/smoothui/components/scale-down-fade/index.tsx
  • packages/smoothui/components/scale-down-fade/package.json
  • packages/smoothui/components/scale-down-fade/tsconfig.json
  • packages/smoothui/components/scramble-hover/index.tsx
  • packages/smoothui/components/scrollable-card-stack/__tests__/scrollable-card-stack.test.tsx
  • packages/smoothui/components/scrollable-card-stack/index.tsx
  • packages/smoothui/components/scrubber/__tests__/scrubber.test.tsx
  • packages/smoothui/components/scrubber/index.tsx
  • packages/smoothui/components/sdf-blob-transition/__tests__/sdf-blob-transition.test.tsx
  • packages/smoothui/components/sdf-blob-transition/index.tsx
  • packages/smoothui/components/sdf-blob-transition/package.json
  • packages/smoothui/components/sdf-blob-transition/tsconfig.json
  • packages/smoothui/components/sdf-circle-transition/__tests__/sdf-circle-transition.test.tsx
  • packages/smoothui/components/sdf-circle-transition/index.tsx
  • packages/smoothui/components/sdf-circle-transition/package.json
  • packages/smoothui/components/sdf-circle-transition/tsconfig.json
  • packages/smoothui/components/searchable-dropdown/__tests__/searchable-dropdown.test.tsx
  • packages/smoothui/components/select/__tests__/select.interaction.test.tsx
  • packages/smoothui/components/shader-reveal-circle-transition/__tests__/shader-reveal-circle-transition.test.tsx
  • packages/smoothui/components/shader-reveal-circle-transition/index.tsx
  • packages/smoothui/components/shader-reveal-circle-transition/package.json
  • packages/smoothui/components/shader-reveal-circle-transition/tsconfig.json
  • packages/smoothui/components/shader-reveal-luma-transition/__tests__/shader-reveal-luma-transition.test.tsx
  • packages/smoothui/components/shader-reveal-luma-transition/index.tsx
  • packages/smoothui/components/shader-reveal-luma-transition/package.json
  • packages/smoothui/components/shader-reveal-luma-transition/tsconfig.json
  • packages/smoothui/components/shader-reveal-noise-transition/__tests__/shader-reveal-noise-transition.test.tsx
  • packages/smoothui/components/shader-reveal-noise-transition/index.tsx
  • packages/smoothui/components/shader-reveal-noise-transition/package.json
  • packages/smoothui/components/shader-reveal-noise-transition/tsconfig.json
  • packages/smoothui/components/shader-reveal-planetary-transition/__tests__/shader-reveal-planetary-transition.test.tsx
  • packages/smoothui/components/shader-reveal-planetary-transition/index.tsx
  • packages/smoothui/components/shader-reveal-planetary-transition/package.json
  • packages/smoothui/components/shader-reveal-planetary-transition/tsconfig.json
  • packages/smoothui/components/shader-reveal-push-transition/__tests__/shader-reveal-push-transition.test.tsx
  • packages/smoothui/components/shader-reveal-push-transition/index.tsx
  • packages/smoothui/components/shader-reveal-push-transition/package.json
  • packages/smoothui/components/shader-reveal-push-transition/tsconfig.json
  • packages/smoothui/components/shader-reveal-stripes-transition/__tests__/shader-reveal-stripes-transition.test.tsx
  • packages/smoothui/components/shader-reveal-stripes-transition/index.tsx
  • packages/smoothui/components/shader-reveal-stripes-transition/package.json
  • packages/smoothui/components/shader-reveal-stripes-transition/tsconfig.json
  • packages/smoothui/components/shader-reveal-transition/__tests__/shader-reveal-transition.test.tsx
  • packages/smoothui/components/shader-reveal-transition/index.tsx
  • packages/smoothui/components/shader-reveal-transition/package.json
  • packages/smoothui/components/shader-reveal-transition/tsconfig.json
  • packages/smoothui/components/shader-reveal-wipe-transition/__tests__/shader-reveal-wipe-transition.test.tsx
  • packages/smoothui/components/shader-reveal-wipe-transition/index.tsx
  • packages/smoothui/components/shader-reveal-wipe-transition/package.json
  • packages/smoothui/components/shader-reveal-wipe-transition/tsconfig.json
  • packages/smoothui/components/shader-reveal-zoom-transition/__tests__/shader-reveal-zoom-transition.test.tsx
  • packages/smoothui/components/shader-reveal-zoom-transition/index.tsx
  • packages/smoothui/components/shader-reveal-zoom-transition/package.json
  • packages/smoothui/components/shader-reveal-zoom-transition/tsconfig.json
  • packages/smoothui/components/shared-axis-x/index.tsx
  • packages/smoothui/components/shared-axis-x/package.json
  • packages/smoothui/components/shared-axis-x/tsconfig.json
  • packages/smoothui/components/shared-axis-y/index.tsx
  • packages/smoothui/components/shared-axis-y/package.json
  • packages/smoothui/components/shared-axis-y/tsconfig.json
  • packages/smoothui/components/shared-axis-z/index.tsx
  • packages/smoothui/components/shared-axis-z/package.json
  • packages/smoothui/components/shared-axis-z/tsconfig.json
  • packages/smoothui/components/shimmer-sweep/index.tsx
  • packages/smoothui/components/shimmer-sweep/package.json
  • packages/smoothui/components/shimmer-sweep/tsconfig.json
  • packages/smoothui/components/shine-text/index.tsx
  • packages/smoothui/components/shine-text/package.json
  • packages/smoothui/components/shine-text/tsconfig.json
  • packages/smoothui/components/short-slide-down/__tests__/short-slide-down.test.tsx
  • packages/smoothui/components/short-slide-down/index.tsx
  • packages/smoothui/components/short-slide-down/package.json
  • packages/smoothui/components/short-slide-down/tsconfig.json
  • packages/smoothui/components/short-slide-right/index.tsx
  • packages/smoothui/components/short-slide-right/package.json
  • packages/smoothui/components/short-slide-right/tsconfig.json
  • packages/smoothui/components/smooth-button/__tests__/smooth-button.test.tsx
  • packages/smoothui/components/smooth-button/index.tsx
  • packages/smoothui/components/smooth-button/package.json
  • packages/smoothui/components/soft-blur-in/index.tsx
  • packages/smoothui/components/soft-blur-in/package.json
  • packages/smoothui/components/soft-blur-in/tsconfig.json
  • packages/smoothui/components/spring-scale-in/index.tsx
  • packages/smoothui/components/spring-scale-in/package.json
  • packages/smoothui/components/spring-scale-in/tsconfig.json
  • packages/smoothui/components/stagger-from-center/index.tsx
  • packages/smoothui/components/stagger-from-center/package.json
  • packages/smoothui/components/stagger-from-center/tsconfig.json
  • packages/smoothui/components/stagger-from-edges/index.tsx
  • packages/smoothui/components/stagger-from-edges/package.json
  • packages/smoothui/components/stagger-from-edges/tsconfig.json
  • packages/smoothui/components/switchboard-card/__tests__/switchboard-card.test.tsx
  • packages/smoothui/components/top-down-letters/index.tsx
  • packages/smoothui/components/top-down-letters/package.json
  • packages/smoothui/components/top-down-letters/tsconfig.json
  • packages/smoothui/components/tweet-card/__tests__/tweet-card.test.tsx
  • packages/smoothui/components/tweet-card/index.tsx
  • packages/smoothui/components/user-account-avatar/index.tsx
  • packages/smoothui/components/warped-circle-transition/__tests__/warped-circle-transition.test.tsx
  • packages/smoothui/components/warped-circle-transition/index.tsx
  • packages/smoothui/components/warped-circle-transition/package.json
  • packages/smoothui/components/warped-circle-transition/tsconfig.json
  • packages/smoothui/lib/package.json
  • packages/smoothui/package.json
  • packages/smoothui/test-utils/render.tsx
  • packages/smoothui/test-utils/webgl-mock.ts
  • packages/smoothui/tsconfig.json
  • packages/smoothui/vitest.config.ts
  • packages/typescript-config/package.json
  • pnpm-workspace.yaml
  • turbo.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/ds-tokens

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

# Conflicts:
#	apps/docs/content/blog/ai-design-slop.mdx
@educlopez
educlopez merged commit ac56a98 into main Jul 12, 2026
6 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No lib/animation file in the docs

1 participant