feat(SurveyFormBuilder): redesign the blocked section#4502
Conversation
Wrap a locked section (header + its questions) in one muted grey rounded-2xl panel and replace the explanatory alert with a "Locked" tag at the right of the section title. - The section description is surfaced as an instant tooltip on the tag instead of inline - Locked question cards use the default white card styling, with no hover-border effect, and force the not-allowed cursor on every descendant - Mirror the drag-and-drop gutter with right padding so every card shares the same width - Add an optional className passthrough to F0TagRaw (renders the white tag) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
✅ No New Circular DependenciesNo new circular dependencies detected. Current count: 0 |
🔍 Visual review for your branch is published 🔍Here are the links to: |
✅ No breaking public API changesNo public exports were removed, renamed, or had existing props/types changed in a breaking way compared to Comparing
|
|
Closing: the blocked-section redesign can't be cleanly extracted onto main — it depends on cocreation-branch additions (the question-level |
Description
Redesigns the blocked (locked) section in the
SurveyFormBuilder. Extracted from #4307 (co-creation patterns) so the SurveyFormBuilder/F0TagRawchanges can be reviewed and merged on their own; #4307 is stacked on top of this branch.A locked section now reads as a single muted grey rounded panel with a white "Locked" tag in its title, replacing the previous explanatory alert.
Screenshots (if applicable)
rounded-2xlpanel wrapping the section header + its question cards, white "Locked" tag at the right of the title, white default cards inside.(Storybook: Surveys → SurveyFormBuilder → Default.)
Implementation details
rounded-2xl bg-f1-background-secondarywrapper (Form/index.tsx). Verified safe insideReorder.Group(framer-motion orders by measured position + context, not DOM nesting; locked items aren't draggable).F0TagRaw(lock icon + "Locked") sits at the right of the title. The section description is no longer shown inline — it's surfaced as an instant tooltip on the tag.not-allowedcursor on every descendant ([&_*]:!cursor-not-allowed). Right padding mirrors the drag-and-drop gutter so all cards share the same width.F0TagRaw: adds an optionalclassNamepassthrough (backward compatible) so the tag can render white.Builder-only: the answering/preview renderer (
SurveyAnsweringForm) is untouched and shows locked sections as regular questions.