v3
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e1a1196ca9 |
refactor(toggles): explicit composition for radio, checkbox & switch (#6614)
* refactor(toggles): explicit composition for radio, checkbox & switch Migrate Radio, Checkbox and Switch from child-partitioning to an explicit, React Server Components-safe compound composition. - Add `<X.Button>` (React Aria *Button) as the clickable label wrapping the control + `Label`; remove the child-type inspection that broke under RSC. - Drop `<X.Content>`; `Description`/`FieldError` become siblings of `X.Button` and are exposed via `aria-describedby` for a cleaner accessible name. - Keep a context-based control-only fallback for Checkbox/Switch so label-less usages (e.g. table selection) are unchanged. - Fix Label context bleed inside toggle buttons; retire partition-toggle-field-children. - Update styles, stories, EN/CN demos, component docs and migration guides. BREAKING CHANGE: Radio, Checkbox and Switch no longer expose `*.Content`. Wrap the control and `Label` in `*.Button`, and place `Description`/`FieldError` as siblings of `*.Button`. Control-only checkboxes and switches are unaffected. Co-authored-by: Cursor <cursoragent@cursor.com> * docs(releases): add v3.2.0 release notes Calendar week/day views + multiple selection demos, React Aria 1.18 notes, rolled-in v3.1.1 patch fixes, and the Radio/Checkbox/Switch *.Content -> *.Button breaking-change migration guide (EN + CN). Updates releases index, meta, home release badge, and dictionaries. Co-authored-by: Cursor <cursoragent@cursor.com> * feat(docs): rotating release badges on home hero Replace the single hardcoded release badge with a curated, per-locale releaseBadges list rendered by a Motion-powered carousel: popLayout spring swap, auto-advancing accent progress segments (transform-only scaleX with a soft gradient fade), pause on hover/focus, reduced-motion fallback, and a plain-badge fallback for a single entry. Co-authored-by: Cursor <cursoragent@cursor.com> * docs(releases): point v3.2.0 contributors to PR #6616 Co-authored-by: Cursor <cursoragent@cursor.com> * docs(releases): fix v3.2.0 release PR link to #6616 Co-authored-by: Cursor <cursoragent@cursor.com> * fix(docs): remove release badge progress indicators Drop the carousel segment bars under the home hero release badge. Co-authored-by: Cursor <cursoragent@cursor.com> * docs(releases): add tooltip delay CSS vars to v3.2.0 notes Co-authored-by: Cursor <cursoragent@cursor.com> * refactor(toggles): rename Button to Content and simplify label composition (#6618) Rename Checkbox/Radio/Switch.Button to .Content, remove toggle-specific Label auto-wiring, and update docs, demos, styles, and v3.2.0 release notes. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Junior <jrgarciadev@gmail.com> |
||
|
|
ebb2517bf6 |
feat(docs): SEO improvements, blog content rebalancing, and AI discoverability (#6536)
* docs: add 12 copy-edited blog posts for SEO and AI discoverability De-templated repetitive boilerplate across all posts, rewrote tutorial openings with pain-point hooks, and made "Why HeroUI" closing sections contextually unique per article. Removed 4 duplicate/unpolished posts (two dashboard duplicates, e-commerce, landing page, SaaS app tutorials) to keep the initial launch set focused and high-quality. Made-with: Cursor * feat(docs): add SEO, blog, JSON-LD, and AI discoverability improvements Adds blog pages, JSON-LD structured data, enhanced metadata, sitemap normalization, component/example counts, why-heroui page, AI prompts, and SEO-optimized README. Made-with: Cursor * feat(docs): blog content rebalancing, SEO improvements, and blog UI polish - Rebalance all 7 comparison/listicle blog posts: remove self-undermining trade-offs, star count comparisons, and competitor endorsements; replace with HeroUI-forward conclusions and brief "when X might work" sections - Optimize blog post descriptions using Ahrefs keyword data - Add BreadcrumbList JSON-LD to blog post pages - Add OG images to Chakra and Mantine comparison posts - Extract PostCard into shared component with image support and onError fallback - Redesign blog post header: Linear-inspired layout with title, hero image, author name + date below image, avatar on hover - Add DocsImage support to blog posts with light/dark mode switching - Add darkImage frontmatter field to blog data layer - Fix mobile overflow on blog post pages - Add hero images to "Why Choose HeroUI" and "12 Best" posts - Enhance "Why Choose HeroUI" post: add YC backing, community metrics, "Ready in Two Steps" section, AGENTS.md docs, theme builder link - Remove "Updated April 2026" from all posts - Sort related posts by newest first - Truncate card titles to 2 lines - Fix Draft badge visibility on light backgrounds Co-authored-by: Cursor <cursoragent@cursor.com> * fix(docs): wrap BlogContent in Suspense boundary for useSearchParams Next.js requires useSearchParams (used by nuqs) to be wrapped in a Suspense boundary during static generation. Co-authored-by: Cursor <cursoragent@cursor.com> * docs(blog): publish 12 best react UI component libraries post Remove draft state so the post is publicly visible. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com> |