Uh oh!
There was an error while loading. Please reload this page.
docs(plugin-form): document FormFieldTab.visibleWhen and its support boundary - #6628
Merged
os-sales merged 2 commits intoAug 28, 2026
Merged
Conversation
…boundary Part of #6237. The key landed in PR #6619 (renderer + ModalForm tabbed synthesis) with nothing telling an author it exists. Documents what it gates (trigger AND panel), the expression vocabulary (same CEL slot as field rules, fail-open), and the ruled submit semantics: a hidden tab's values still submit, its fields skip client-side validation, the server is the loud floor, stale errors clear. States explicitly which authoring surfaces carry the predicate today — `fieldTabs` and ModalForm's tabbed contentLayout — and that TabbedForm sections and WizardForm steps do NOT: #6111 deliberately left those undeclared until each surface enforces it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CRJge11jso9TpXRWFt1Z49
…ckage README Part of #6237, round-2 fence widened by exactly this one file (PM order on the report's Q3): the README's twin "Tabbed field layout (fieldTabs)" section documented a feature-less version of a key that now exists. Mirrors the content/docs subsection verbatim in substance — gating (trigger AND panel), vocabulary, ruled submit semantics, selection/engagement mechanics, and the support table whose No rows keep TabbedForm sections and WizardForm steps explicitly undocumented-as-working. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CRJge11jso9TpXRWFt1Z49
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
os-sales
marked this pull request as ready for review
August 28, 2026 05:20
Uh oh!
There was an error while loading. Please reload this page.
os-sales
deleted the
claude/issue-6237-tabbed-docs-and-sibling-measurement
branch
August 28, 2026 05:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #6237 — the docs half of round 2 only. The two renderer arms (TabbedForm sections, WizardForm steps) stay open on that card pending a ruling; #6237 remains open and is deliberately not closed by this PR.
Session: session_01CRJge11jso9TpXRWFt1Z49 (durable copy — footer form degrades on edit).
What this documents
FormFieldTab.visibleWhenlanded in PR #6619 (renderer evaluation + ModalForm tabbed synthesis) as a published, declared key with nothing telling an author it exists. This PR adds a "Conditional tabs" subsection in TWO places —content/docs/plugins/plugin-form.mdx, and (second commit, PM order widening the fence by exactly this one file) its twin section inpackages/plugin-form/README.md, which ships to npm and was documenting a feature-less version of the key:fieldTabsand ModalForm's tabbed contentLayout: Yes; TabbedForm sections and WizardForm steps: No, deliberately (objectui#6111), until each surface enforces it. Both copies carry the No rows. The content/docs wizard section also gains one sentence making explicit that its "conditional rules are respected" claim is about the FIELDS' rules, not a step-level predicate.The two No rows are the guard this card family exists for: both pages now state the boundary instead of letting a reader infer that a section predicate works in every layout.
Verification (at 10c73cf, the head of this branch — two commits, clean tree; every verdict below re-run at this head)
check:doc-fences— exit 0, own verdict: "every TypeScript block in 223 document(s) is fenced ts/tsx/typescript … No unknown fence spelling hides one."check:doc-types— exit 0, own verdict: "Every documented component type is registered."docs:check-links— exit 0, "Links are valid across 17 scan roots." That gate strips fragments (anchors out of its scope, stated at scripts/check-doc-links.mjs:800-832), so the one intra-page anchor (content/docs only; the README mirror adds no links) was verified against the repo's own github-slugger@2.0.0: computed slugconditional-tabs-formfieldtabvisiblewhenis byte-identical to the link written.check:doc-snippets— NOT run locally (needs the 21-package built dist closure); declared narrowing: its population is ts/tsx/typescript fence bodies of COVERED documents. The content/docs diff adds/removes zero fence lines (git diff 38a123cac..HEAD -- content/docs/ | grep -c '^[+-]```'reads 0; positive control in the same query shape reads 2 on fence-touching commits 7fdf74e and 546ddf7). The README's one in-fence line lands inpackages/plugin-form/README.md, which is declared UNGATED in the gate's own ledger (stale-entry rules fire only on file-missing or no-ts-blocks, neither moved). CI's doc-snippet-types.yml builds and runs the real thing.check:readme-exports— NOT MEASURED locally: exit 1 with every finding "type entry ./dist/index.d.ts is not on disk — run pnpm build first" across 36 unbuilt packages (378 self-imports unjudgeable, tree-state, none a verdict about this diff). This diff cannot move it: the README edit adds ZERO import lines (git show 10c73cf9 -- packages/plugin-form/README.md | grep -c '^+.*import'reads 0; positive control: commit 062943f reads 10 in the same query shape), and all 54 pre-existing plugin-form rows are the same unbuilt-dist class. CI builds before judging.check:changeset-presence— exit 0 at the new head, own verdict: "No source of a released package changed in this range, so no changeset is owed." (2 files changed, 0 published source; README is not under src/.)check:control-bytes— exit 0, "OK (scanned 5485 tracked text file(s))."Test Files 129 passed (129),Tests 4568 passed (4568). At 10c73cf the README-reader superset (all of scripts/ plus every test file outside it whose text mentions README — 30 files, grep-enumerated over every test glob) is queued behind a long-running full-suite holder on the shared verify lock; its verdict lands in the report on The tabbed modal arm (ModalFormcontentLayout: 'tabbed') cannot carry a sectionvisibleWhenat all —FormFieldTabdeclares no predicate slot #6237 (the report-at-draft protocol: gate states are recorded honestly,in_progressincluded). Narrowing rationale unchanged: the diff is two documentation files no package source imports; CI shards run the whole repo on this PR.Reported on the card
The read-only measurement of the TabbedForm and WizardForm arms (the other half of this round's scope) is posted as the structured report on #6237 — evidence for the ruling those arms wait on. Q1/Q2 from that report are with the decision box; nothing from either is implemented here.
Generated by Claude Code