Repository navigation
test(bulma-ui): compound component parity — identity tests, CompoundUsage stories, live docs sections - #336
Conversation
…330) Bring the 17 pre-existing compound families up to the standard shipped with the newly-compound families in #331: - describe('Compound components') identity tests per static (.toBe for named exports, toBeDefined + dot-path render for module-private subs) in every family's test file - CompoundUsage stories (matching each file's local story style) - "Compound (dot-notation) usage" live docs sections at the end of each API page's Usage section - Field identity top-ups (Field.Label/Field.Body); Avatars verified already complete; Steps reuses its existing CompoundComponents story - Codify the standard in bulma-ui/CLAUDE.md and src/components/CLAUDE.md Tests/stories/docs only — no runtime code changes.
|
Warning Review limit reached
Next review available in: 30 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
WalkthroughThis PR standardizes compound-component conventions and adds identity/render tests, ChangesCompound component parity
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Preview DeploymentPreview URL: https://f46ee931.bestax.pages.dev |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@bulma-ui/src/components/__tests__/Card.test.tsx`:
- Around line 390-417: Wrap the “all compound statics are defined” and “renders
a card through the dot paths” tests in a describe('Compound components') block
within the existing Card test suite, preserving their assertions and behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 295dd8ad-6bfe-46e1-a3c9-b22d94e5cb03
📒 Files selected for processing (41)
bulma-ui/CLAUDE.mdbulma-ui/src/components/CLAUDE.mdbulma-ui/src/components/Dropdown.stories.tsxbulma-ui/src/components/Menu.stories.tsxbulma-ui/src/components/Navbar.stories.tsxbulma-ui/src/components/Pagination.stories.tsxbulma-ui/src/components/Panel.stories.tsxbulma-ui/src/components/Sidebar.stories.tsxbulma-ui/src/components/Tabs.stories.tsxbulma-ui/src/components/__tests__/Card.test.tsxbulma-ui/src/components/__tests__/Dropdown.test.tsxbulma-ui/src/components/__tests__/Menu.test.tsxbulma-ui/src/components/__tests__/Message.test.tsxbulma-ui/src/components/__tests__/Modal.test.tsxbulma-ui/src/components/__tests__/Navbar.test.tsxbulma-ui/src/components/__tests__/Pagination.test.tsxbulma-ui/src/components/__tests__/Panel.test.tsxbulma-ui/src/components/__tests__/Sidebar.test.tsxbulma-ui/src/components/__tests__/Steps.test.tsxbulma-ui/src/components/__tests__/Tabs.test.tsxbulma-ui/src/elements/Figure.stories.tsxbulma-ui/src/elements/__tests__/Figure.test.tsxbulma-ui/src/form/__tests__/Field.test.tsxbulma-ui/src/layout/Hero.stories.tsxbulma-ui/src/layout/Level.stories.tsxbulma-ui/src/layout/Media.stories.tsxbulma-ui/src/layout/__tests__/Hero.test.tsxbulma-ui/src/layout/__tests__/Level.test.tsxbulma-ui/src/layout/__tests__/Media.test.tsxdocs/docs/api/components/dropdown.mddocs/docs/api/components/menu.mddocs/docs/api/components/navbar.mddocs/docs/api/components/pagination.mddocs/docs/api/components/panel.mddocs/docs/api/components/sidebar.mddocs/docs/api/components/steps.mddocs/docs/api/components/tabs.mddocs/docs/api/elements/figure.mddocs/docs/api/layout/hero.mddocs/docs/api/layout/level.mddocs/docs/api/layout/media.md
Preview DeploymentPreview URL: https://013b6654.bestax.pages.dev |
Preview DeploymentPreview URL: https://4fd68ca0.bestax.pages.dev |
|
@claude please perform a deep review of this PR — compound component parity (identity tests, CompoundUsage stories, live docs sections) across the 17 pre-existing compound families, per #330. Pay particular attention to: (1) whether every family's identity tests actually cover all statics attached via withSubComponents, including nested ones; (2) consistency of the docs sections' placement and wording; (3) anything that contradicts the standard newly codified in bulma-ui/CLAUDE.md. |
|
Claude finished @allxsmith's task in 4m 59s —— View job Deep review complete
I split the 17 pre-existing families across four parallel sub-reviews and independently spot-checked the nested/hardest cases ( 1. Identity-test coverage of every
|
There was a problem hiding this comment.
Deep review — 0 findings
| # | Severity | Area | Finding | Location |
|---|---|---|---|---|
| — | — | — | No blocking defects found. | — |
Overall: This is a purely additive parity PR — identity/dot-path tests, CompoundUsage stories, and ### Compound (dot-notation) usage docs sections across 17 pre-existing compound families, plus a codified standard in the two CLAUDE.md files. No runtime code changed. I verified that every named export the .toBe identity tests reference actually exists (NavbarBrand, PaginationLink, PanelHeading, TabList/TabsContent/TabContentItem, FieldLabel/FieldBody, Hero*/Level*/Media*, MenuLabel, DropdownItem/DropdownDivider, …), that Tabs.Content.Item resolves through the nested static, and that every component used in the docs live blocks (Paragraph, SubTitle, Container, Image, Content, useState, …) is in the react-live scope (...BestaxBulma + React/useState/useEffect). I ran all 86 new Compound tests across the 16 touched suites — all green. The riskiest surface here is the docs live examples (they don't run in jsdom), but each one only composes in-scope exports with valid props, so nothing will throw at render time. Human focus, if any: confirm the .claude/launch.json chore commit belongs in this PR rather than a separate one.
🏄 Pure paddle-out parity, dude — no runtime waves, just tests, stories and docs all lining up clean and the whole set passes. Ship it and enjoy the glassy conditions.
… block with a dot-path render
|
Deep-review findings dispositioned:
No changes needed for the coverage/placement sections — review confirmed both clean. |
Preview DeploymentPreview URL: https://2a089d7b.bestax.pages.dev |
|
🎉 This PR is included in version 3.5.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
… the codified standard Card/Modal/Message/Avatars/Steps predate the compound-family convention codified in bulma-ui/CLAUDE.md (PR #336). Rename their primary compound stories to CompoundUsage and retitle/relocate the docs sections to "### Compound (dot-notation) usage" at the end of each page's Usage section; per-static prop docs move under Props as "Compound component props". No content dropped — the standard is a minimum, not a ceiling. Adds a compound-family conformance sub-check (withSubComponents call sites → CompoundUsage story + docs subsection, position-checked) so the standard is mechanically enforced from now on; all 27 families pass with zero exemptions. Closes #339 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
🎉 This PR is included in version 5.8.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
… the codified standard (#351) Card/Modal/Message/Avatars/Steps predate the compound-family convention codified in bulma-ui/CLAUDE.md (PR #336). Rename their primary compound stories to CompoundUsage and retitle/relocate the docs sections to "### Compound (dot-notation) usage" at the end of each page's Usage section; per-static prop docs move under Props as "Compound component props". No content dropped — the standard is a minimum, not a ceiling. Adds a compound-family conformance sub-check (withSubComponents call sites → CompoundUsage story + docs subsection, position-checked) so the standard is mechanically enforced from now on; all 27 families pass with zero exemptions. Closes #339 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
|
🎉 This PR is included in version 2.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
|
🎉 This PR is included in version 1.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Closes #330.
Brings the 17 pre-existing compound families up to the compound-artifact standard established for the newly-compound families in #331, and codifies that standard in the CLAUDE.md files.
What's in here
Tests + story + docs section added (previously nothing):
Tabs.Content.Item), Media, Level, Heroactive), Menu, Sidebar (useState/isOpenstory pattern,inlinedocs examples, inserted before## Close Methods)¹ Steps already had an equivalent
CompoundComponentsstory — reused, not duplicated.Identity-test blocks only (stories + docs already existed): Card (incl. nested
Card.Header.Title/Card.Header.Icon), Modal (incl.Modal.Card.Head/.Title/.Body/.Foot), Message — all module-private subs, sotoBeDefined()+ dot-path renders asserting Bulma class output.Top-ups: Field gains
expect(Field.Label).toBe(FieldLabel)/expect(Field.Body).toBe(FieldBody). Avatars verified already complete (identity test,CompoundStaticstory,### Compound Staticdocs) — untouched.Standard codified: new "Compound components" bullet in
bulma-ui/CLAUDE.mdConventions (per the wording proposed in #330) and a tightened compound-pattern bullet inbulma-ui/src/components/CLAUDE.mdreferencingwithSubComponentsand the required artifacts.Verification
pnpm allgreen locally: build, typecheck, jest with 99% coverage on all metrics, lint, format:check, bundle:stats, Storybook buildpnpm check:conformance: all 7 checks pass (incl. the inline-style ratchet — nostyle={{}}in any new story/docs example)pnpm gen:catalog:check: catalog not staletest)Summary by CodeRabbit
New Features
Dropdown.ItemandTabs.Content.Item.Documentation
Tests