@braedonsaunders/appkit-forms 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +74 -0
- package/canvas-editor.d.ts +24 -0
- package/canvas-editor.d.ts.map +1 -0
- package/canvas-editor.js +115 -0
- package/canvas-editor.js.map +1 -0
- package/canvas-runtime.d.ts +12 -0
- package/canvas-runtime.d.ts.map +1 -0
- package/canvas-runtime.js +54 -0
- package/canvas-runtime.js.map +1 -0
- package/element-preview.d.ts +9 -0
- package/element-preview.d.ts.map +1 -0
- package/element-preview.js +167 -0
- package/element-preview.js.map +1 -0
- package/form-designer.d.ts +29 -0
- package/form-designer.d.ts.map +1 -0
- package/form-designer.js +214 -0
- package/form-designer.js.map +1 -0
- package/form-flow-validation.d.ts +5 -0
- package/form-flow-validation.d.ts.map +1 -0
- package/form-flow-validation.js +154 -0
- package/form-flow-validation.js.map +1 -0
- package/form-renderer.d.ts +37 -0
- package/form-renderer.d.ts.map +1 -0
- package/form-renderer.js +282 -0
- package/form-renderer.js.map +1 -0
- package/formula-builder.d.ts +25 -0
- package/formula-builder.d.ts.map +1 -0
- package/formula-builder.js +310 -0
- package/formula-builder.js.map +1 -0
- package/generated-copy.d.ts +17 -0
- package/generated-copy.d.ts.map +1 -0
- package/generated-copy.js +396 -0
- package/generated-copy.js.map +1 -0
- package/index.d.ts +27 -0
- package/index.d.ts.map +1 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/logic-builder.d.ts +27 -0
- package/logic-builder.d.ts.map +1 -0
- package/logic-builder.js +106 -0
- package/logic-builder.js.map +1 -0
- package/package.json +54 -0
- package/photo-field-state.d.ts +9 -0
- package/photo-field-state.d.ts.map +1 -0
- package/photo-field-state.js +11 -0
- package/photo-field-state.js.map +1 -0
- package/production-designer-adapter.d.ts +100 -0
- package/production-designer-adapter.d.ts.map +1 -0
- package/production-designer-adapter.js +2 -0
- package/production-designer-adapter.js.map +1 -0
- package/production-file-upload.d.ts +27 -0
- package/production-file-upload.d.ts.map +1 -0
- package/production-file-upload.js +105 -0
- package/production-file-upload.js.map +1 -0
- package/production-form-designer.d.ts +3 -0
- package/production-form-designer.d.ts.map +1 -0
- package/production-form-designer.js +1124 -0
- package/production-form-designer.js.map +1 -0
- package/production-form-renderer.d.ts +16 -0
- package/production-form-renderer.d.ts.map +1 -0
- package/production-form-renderer.js +2134 -0
- package/production-form-renderer.js.map +1 -0
- package/production-runtime-adapter.d.ts +187 -0
- package/production-runtime-adapter.d.ts.map +1 -0
- package/production-runtime-adapter.js +2 -0
- package/production-runtime-adapter.js.map +1 -0
- package/production-runtime-context.d.ts +29 -0
- package/production-runtime-context.d.ts.map +1 -0
- package/production-runtime-context.js +35 -0
- package/production-runtime-context.js.map +1 -0
- package/production-runtime-layout.d.ts +21 -0
- package/production-runtime-layout.d.ts.map +1 -0
- package/production-runtime-layout.js +33 -0
- package/production-runtime-layout.js.map +1 -0
- package/properties.d.ts +36 -0
- package/properties.d.ts.map +1 -0
- package/properties.js +133 -0
- package/properties.js.map +1 -0
- package/record-actions-panel.d.ts +28 -0
- package/record-actions-panel.d.ts.map +1 -0
- package/record-actions-panel.js +136 -0
- package/record-actions-panel.js.map +1 -0
- package/record-behavior-panel.d.ts +15 -0
- package/record-behavior-panel.d.ts.map +1 -0
- package/record-behavior-panel.js +59 -0
- package/record-behavior-panel.js.map +1 -0
- package/record-config.d.ts +44 -0
- package/record-config.d.ts.map +1 -0
- package/record-config.js +2 -0
- package/record-config.js.map +1 -0
- package/record-list-panel.d.ts +16 -0
- package/record-list-panel.d.ts.map +1 -0
- package/record-list-panel.js +86 -0
- package/record-list-panel.js.map +1 -0
- package/risk-matrix.d.ts +93 -0
- package/risk-matrix.d.ts.map +1 -0
- package/risk-matrix.js +239 -0
- package/risk-matrix.js.map +1 -0
- package/runtime-controls.d.ts +19 -0
- package/runtime-controls.d.ts.map +1 -0
- package/runtime-controls.js +61 -0
- package/runtime-controls.js.map +1 -0
- package/sketch-pad-client.d.ts +4 -0
- package/sketch-pad-client.d.ts.map +1 -0
- package/sketch-pad-client.js +54 -0
- package/sketch-pad-client.js.map +1 -0
- package/sketch-pad.d.ts +13 -0
- package/sketch-pad.d.ts.map +1 -0
- package/sketch-pad.js +17 -0
- package/sketch-pad.js.map +1 -0
- package/styles.css +7 -0
- package/text.d.ts +5 -0
- package/text.d.ts.map +1 -0
- package/text.js +10 -0
- package/text.js.map +1 -0
- package/workflow-properties.d.ts +16 -0
- package/workflow-properties.d.ts.map +1 -0
- package/workflow-properties.js +31 -0
- package/workflow-properties.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-form-designer.js","sourceRoot":"","sources":["../src/production-form-designer.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport {\n GeneratedText,\n useGeneratedTranslations,\n GeneratedValue,\n useGeneratedValueTranslations,\n} from './generated-copy'\n\n// Form designer.\n//\n// Three-pane layout:\n// - Left: field palette (categorized, with icons), section list + workflow step editor\n// - Middle: canvas — sections and fields, palette drops, drag reorder, click-to-select\n// - Right: properties panel for the current selection (form / section / field) with\n// tabs for Basic / Validation / Logic / Default / Calc\n//\n// All edits mutate a local copy of FormSchemaV1. Publishing writes a new\n// immutable version through the host adapter.\n\nimport { useEffect, useRef, useState, useTransition, useMemo } from 'react'\nimport {\n AlignLeft,\n ArrowDown,\n ArrowUp,\n Calculator,\n Calendar,\n Check,\n CheckCircle2,\n CheckSquare,\n ChevronDown,\n ClipboardCheck,\n Eye,\n FileText,\n Globe2,\n GripVertical,\n Hash,\n Image as ImageIcon,\n ListChecks,\n Mail,\n MapPin,\n Mic,\n Minus,\n Pencil,\n Pin,\n PinOff,\n Phone,\n Plus,\n Radio,\n Save,\n ShieldCheck,\n Signal,\n Sliders,\n Star,\n ToggleLeft,\n Table2,\n Trash2,\n Type,\n Upload,\n User,\n Users,\n Video,\n} from 'lucide-react'\nimport { Reorder, useDragControls } from 'framer-motion'\nimport {\n Alert,\n AlertDescription,\n AlertTitle,\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Drawer,\n Input,\n Label,\n Select,\n Textarea,\n toast,\n} from '@braedonsaunders/appkit-ui'\nimport {\n FIELD_TYPES,\n entityKindForPicker,\n storesResponseValue,\n type CanvasLayout,\n type DataBinding,\n type DefaultValueExpression,\n type FieldType,\n type FormField,\n type FormSchemaV1,\n type FormSection,\n type FormulaExpression,\n type FormWorkflowStep,\n type TableColumn,\n type TableConfig,\n} from '@braedonsaunders/appkit-forms-core'\nimport { localizeText, type AppLocale } from '@braedonsaunders/appkit-i18n'\nimport { RecordBehaviorPanel } from './record-behavior-panel'\nimport { RecordActionsPanel } from './record-actions-panel'\nimport { RecordListPanel } from './record-list-panel'\nimport type { RecordConfig } from './record-config'\nimport { readText, writeText } from './text'\nimport { LogicBuilder } from './logic-builder'\nimport { FormulaBuilder } from './formula-builder'\nimport { CanvasEditor, defaultBox } from './canvas-editor'\nimport {\n BarChart3,\n Bold,\n Briefcase,\n Building2,\n Database,\n Info,\n LayoutGrid,\n ListOrdered,\n Map as MapIcon,\n MapPinned,\n MousePointerClick,\n PanelLeft,\n PenTool,\n RefreshCw,\n ScanLine,\n Send,\n SlidersHorizontal,\n Sparkles,\n Workflow as WorkflowIcon,\n} from 'lucide-react'\nimport type { FormDataSource } from './properties'\nimport type {\n ProductionDesignerOverview,\n ProductionFormDesignerProps,\n} from './production-designer-adapter'\n\n// --- Palette ---------------------------------------------------------------\n\n// Field-type icon registry. Falls back to a generic Type icon for unknowns.\nconst FIELD_ICONS: Partial<Record<FieldType, React.ComponentType<{ size?: number }>>> = {\n text: Type,\n long_text: AlignLeft,\n number: Hash,\n currency: Calculator,\n percentage: Hash,\n slider: Sliders,\n gps: MapPin,\n matrix: LayoutGrid,\n date: Calendar,\n datetime: Calendar,\n time: Calendar,\n email: Mail,\n phone: Phone,\n url: FileText,\n radio: Radio,\n checkbox_group: CheckSquare,\n select: ChevronDown,\n multi_select: ListChecks,\n pass_fail_na: ShieldCheck,\n rating: Star,\n yes_no_comment: ToggleLeft,\n traffic_light: Signal,\n person_picker: User,\n multi_person_picker: Users,\n customer_picker: Building2,\n project_picker: Briefcase,\n site_picker: MapPin,\n area_picker: MapIcon,\n gl_account: Database,\n party: Building2,\n photo: ImageIcon,\n photo_upload: ImageIcon,\n photo_ai: Sparkles,\n photo_annotated: MapPinned,\n file: Upload,\n video: Video,\n audio: Mic,\n sketch: PenTool,\n signature: Pencil,\n typed_attestation: CheckCircle2,\n formula: Calculator,\n risk_matrix: Sliders,\n heading: Type,\n paragraph: AlignLeft,\n divider: Minus,\n table: Table2,\n lookup: Database,\n data_table: Table2,\n metric: BarChart3,\n qr_scanner: ScanLine,\n ranking: ListOrdered,\n rich_text: Bold,\n address: MapPin,\n}\n\n// Categorized palette. The first group of each section gets prominent\n// placement at the top; rare ones live in \"More\" further down.\ntype PaletteGroup = { label: string; types: FieldType[] }\n// One element per concept — no duplicates across groups.\nconst PALETTE_PRIMARY: PaletteGroup[] = [\n {\n label: 'Common',\n types: [\n 'text',\n 'long_text',\n 'number',\n 'currency',\n 'percentage',\n 'slider',\n 'date',\n 'table',\n 'select',\n 'checkbox_group',\n 'pass_fail_na',\n 'signature',\n 'photo',\n 'file',\n 'person_picker',\n 'formula',\n ],\n },\n]\nconst PALETTE_MORE: PaletteGroup[] = [\n {\n label: 'Date & contact',\n types: ['datetime', 'time', 'gps', 'address', 'email', 'phone', 'url', 'qr_scanner'],\n },\n { label: 'Choice', types: ['radio', 'multi_select', 'ranking', 'matrix'] },\n { label: 'Scoring', types: ['rating', 'yes_no_comment', 'traffic_light'] },\n {\n label: 'Pickers',\n types: [\n 'multi_person_picker',\n 'customer_picker',\n 'project_picker',\n 'site_picker',\n 'area_picker',\n 'gl_account',\n 'party',\n ],\n },\n { label: 'Media', types: ['photo_ai', 'photo_annotated', 'sketch', 'video', 'audio'] },\n { label: 'Computed', types: ['risk_matrix', 'typed_attestation'] },\n { label: 'Data', types: ['lookup', 'data_table', 'metric'] },\n { label: 'Display', types: ['heading', 'paragraph', 'rich_text', 'divider'] },\n]\n\nfunction newId(prefix: string): string {\n return `${prefix}_${globalThis.crypto.randomUUID()}`\n}\n\nfunction emptyField(type: FieldType): FormField {\n return {\n id: newId('f'),\n type,\n label: { en: FIELD_TYPES[type].label },\n required: false,\n }\n}\n\nfunction emptyStep(): FormWorkflowStep {\n return {\n key: newId('step'),\n title: { en: 'New step' },\n assignee: { type: 'expression', expr: '$submitter' },\n }\n}\n\nconst KIND_META: Record<\n 'form' | 'wizard' | 'checklist' | 'register' | 'mini_app',\n { label: string; cls: string }\n> = {\n form: { label: 'Form', cls: 'bg-primary-subtle text-primary' },\n wizard: {\n label: 'Wizard',\n cls: 'bg-primary-subtle text-primary',\n },\n checklist: {\n label: 'Checklist',\n cls: 'bg-success-subtle text-success',\n },\n register: {\n label: 'Register',\n cls: 'bg-warning-subtle text-warning',\n },\n mini_app: {\n label: 'Mini-app',\n cls: 'bg-primary-subtle text-primary',\n },\n}\n\ntype ProductionDesignerSchema = FormSchemaV1 & {\n workflow: NonNullable<FormSchemaV1['workflow']>\n}\n\nfunction normalizeDesignerSchema(schema: FormSchemaV1): ProductionDesignerSchema {\n return {\n ...structuredClone(schema),\n workflow: schema.workflow ?? {\n steps: [{ key: 'submit', title: 'Submit', assignee: { type: 'expression', expr: '$submitter' } }],\n },\n }\n}\n\nexport function ProductionFormDesigner({\n adapter,\n templateId,\n templateName,\n templateKind = 'form',\n initialSchema,\n currentVersion,\n initialSurface = 'build',\n overview,\n recordConfig,\n allowedRoles = [],\n roles = [],\n flows = [],\n recordActionAdapter,\n dataSources = [],\n dataSourcesLoading = false,\n onRefreshDataSources,\n renderFlows,\n renderAssistant,\n backHref,\n recordsHref,\n assignmentCreateHref,\n assignmentsHref,\n dataSourcesHref,\n publishedHref,\n canPin = false,\n pinned = false,\n onSchemaChange,\n locale,\n defaultLocale,\n enabledLocales,\n localeLabels,\n className,\n}: ProductionFormDesignerProps) {\n const tGeneratedValue = useGeneratedValueTranslations()\n const tGenerated = useGeneratedTranslations()\n const languages = (value: AppLocale) => localeLabels?.[value] ?? value.toUpperCase()\n const [schema, setSchema] = useState<ProductionDesignerSchema>(() => normalizeDesignerSchema(initialSchema))\n const [appName, setAppName] = useState(templateName)\n const [recordConfiguration, setRecordConfiguration] = useState<RecordConfig>(recordConfig ?? {})\n const [isPinned, setIsPinned] = useState(pinned)\n // Unified editor: left rail tab + right surface.\n const [leftTab, setLeftTab] = useState<\n 'overview' | 'build' | 'record' | 'list' | 'actions' | 'assignments' | 'permissions'\n >('build')\n const [surface, setSurface] = useState<'build' | 'flows'>(\n initialSurface === 'flows' && renderFlows ? 'flows' : 'build',\n )\n const [designerTab, setDesignerTab] = useState<string>(() => initialSchema.tabs?.[0]?.id ?? '')\n const [showAiAssistant, setShowAiAssistant] = useState(false)\n // The element type currently being dragged from the left palette — read by the\n // canvas on drop. (HTML5 dataTransfer is also set, for the browser's drag UX.)\n const dragElementRef = useRef<FieldType | null>(null)\n const [dropSectionId, setDropSectionId] = useState<string | null>(null)\n const [selection, setSelection] = useState<\n | { kind: 'form' }\n | { kind: 'section'; sectionId: string }\n | { kind: 'field'; sectionId: string; fieldId: string }\n | { kind: 'workflow' }\n >({ kind: 'form' })\n // Which right-hand flyout is open. Preview + properties used to be permanent\n // columns (too cramped); now they slide in on demand.\n const [rightPanel, setRightPanel] = useState<'none' | 'props' | 'preview'>('none')\n const [showPublish, setShowPublish] = useState(false)\n const [pending, start] = useTransition()\n const [error, setError] = useState<string | null>(null)\n const [changelog, setChangelog] = useState('')\n const [contentLocale, setContentLocale] = useState<AppLocale>(locale)\n\n useEffect(() => onSchemaChange?.(schema), [onSchemaChange, schema])\n\n // Selectable fields for the records-list \"List\" tab — real answer fields only\n // (content-only display elements carry no data to show in a column).\n const listFields = useMemo(() => {\n const skip = new Set(['heading', 'paragraph', 'divider', 'metric'])\n const out: { id: string; label: string }[] = []\n for (const sec of schema.sections)\n for (const f of sec.fields) {\n if (skip.has(f.type)) continue\n out.push({\n id: f.id,\n label: localizeText(f.label, contentLocale, f.id, defaultLocale),\n })\n }\n return out\n }, [contentLocale, defaultLocale, schema])\n\n // Current records-list config lives under recordConfig.list (the page passes\n // the full recordConfig jsonb; its type omits `list`, but it's there at runtime).\n const listConfig = recordConfiguration.list\n\n let selectedField: { section: FormSchemaV1['sections'][number]; field: FormField } | null = null\n if (selection.kind === 'field') {\n for (const sec of schema.sections) {\n const f = sec.fields.find((x) => x.id === selection.fieldId)\n if (f) {\n selectedField = { section: sec, field: f }\n break\n }\n }\n }\n\n const selectedSection = useMemo(() => {\n if (selection.kind !== 'section') return null\n return schema.sections.find((s) => s.id === selection.sectionId) ?? null\n }, [schema, selection])\n\n function update(fn: (draft: ProductionDesignerSchema) => ProductionDesignerSchema) {\n setSchema((s) => fn(structuredClone(s)))\n }\n\n // Selecting something opens the properties flyout; workflow is edited in the\n // canvas so it just switches the canvas view.\n function selectField(sectionId: string, fieldId: string) {\n setSelection({ kind: 'field', sectionId, fieldId })\n setRightPanel('props')\n }\n function selectSection(sectionId: string) {\n setSelection({ kind: 'section', sectionId })\n setRightPanel('props')\n }\n function openWorkflow() {\n setSelection({ kind: 'workflow' })\n setRightPanel('none')\n }\n\n function addSection() {\n const id = newId('sec')\n update((draft) => {\n draft.sections.push({\n id,\n title: { en: 'New section' },\n fields: [],\n // New sections land in the active designer tab (if the app uses tabs).\n ...(draft.tabs?.length ? { tabId: designerTab || draft.tabs[0]!.id } : {}),\n })\n return draft\n })\n selectSection(id)\n }\n\n // --- Tabs (presentational app pages) -------------------------------------\n\n function addTab() {\n const id = newId('tab')\n update((draft) => {\n const tabs = draft.tabs ?? []\n const title = { en: `Tab ${tabs.length + 1}` }\n if (tabs.length === 0) {\n // First tab: pull every existing section into it so nothing is orphaned.\n draft.tabs = [{ id, title }]\n for (const s of draft.sections) s.tabId = id\n } else {\n draft.tabs = [...tabs, { id, title }]\n }\n return draft\n })\n setDesignerTab(id)\n }\n\n function renameTab(id: string, title: string) {\n update((draft) => {\n const t = draft.tabs?.find((x) => x.id === id)\n if (t) t.title = writeText(t.title, title, contentLocale)\n return draft\n })\n }\n\n function deleteTab(id: string) {\n update((draft) => {\n const remaining = (draft.tabs ?? []).filter((t) => t.id !== id)\n const fallback = remaining[0]?.id\n for (const s of draft.sections) if (s.tabId === id) s.tabId = fallback\n draft.tabs = remaining.length ? remaining : undefined\n return draft\n })\n setDesignerTab((cur) => (cur === id ? (schema.tabs?.find((t) => t.id !== id)?.id ?? '') : cur))\n }\n\n function addField(sectionId: string, type: FieldType) {\n const f = emptyField(type)\n update((draft) => {\n const sec = draft.sections.find((s) => s.id === sectionId)\n if (!sec) return draft\n sec.fields.push(f)\n // If the section is in canvas mode, also place the new element on the grid\n // (append below everything) — otherwise a clicked element would be invisible.\n if (sec.canvas) {\n const box = defaultBox(type)\n const bottomY = sec.canvas.items.reduce((m, it) => Math.max(m, it.y + it.h), 0)\n sec.canvas = {\n ...sec.canvas,\n items: [\n ...sec.canvas.items,\n { i: f.id, x: 0, y: bottomY, w: Math.min(box.w * 2, 12), h: box.h },\n ],\n }\n }\n return draft\n })\n selectField(sectionId, f.id)\n }\n\n function deleteField(sectionId: string, fieldId: string) {\n update((draft) => {\n const sec = draft.sections.find((s) => s.id === sectionId)\n if (!sec) return draft\n sec.fields = sec.fields.filter((f) => f.id !== fieldId)\n // Keep the canvas layout in sync — drop the deleted field's box.\n if (sec.canvas)\n sec.canvas = { ...sec.canvas, items: sec.canvas.items.filter((it) => it.i !== fieldId) }\n return draft\n })\n if (selection.kind === 'field' && selection.fieldId === fieldId) {\n setSelection({ kind: 'section', sectionId })\n }\n }\n\n function deleteSection(sectionId: string) {\n update((draft) => {\n draft.sections = draft.sections.filter((s) => s.id !== sectionId)\n return draft\n })\n setSelection({ kind: 'form' })\n }\n\n function moveField(sectionId: string, fieldId: string, delta: -1 | 1) {\n update((draft) => {\n const sec = draft.sections.find((s) => s.id === sectionId)\n if (!sec) return draft\n const i = sec.fields.findIndex((f) => f.id === fieldId)\n const j = i + delta\n if (i < 0 || j < 0 || j >= sec.fields.length) return draft\n ;[sec.fields[i], sec.fields[j]] = [sec.fields[j]!, sec.fields[i]!]\n return draft\n })\n }\n\n // Drag-to-reorder fields within a section (framer-motion Reorder). Replaces\n // the schema's field order with the dragged order; the up/down arrows remain\n // as a keyboard-accessible fallback.\n function reorderFields(sectionId: string, fields: FormField[]) {\n setSchema((s) => ({\n ...s,\n sections: s.sections.map((sec) => (sec.id === sectionId ? { ...sec, fields } : sec)),\n }))\n }\n\n function moveSection(sectionId: string, delta: -1 | 1) {\n update((draft) => {\n const i = draft.sections.findIndex((s) => s.id === sectionId)\n const j = i + delta\n if (i < 0 || j < 0 || j >= draft.sections.length) return draft\n ;[draft.sections[i], draft.sections[j]] = [draft.sections[j]!, draft.sections[i]!]\n return draft\n })\n }\n\n function updateField(sectionId: string, fieldId: string, patch: Partial<FormField>) {\n update((draft) => {\n const sec = draft.sections.find((s) => s.id === sectionId)\n if (!sec) return draft\n const idx = sec.fields.findIndex((f) => f.id === fieldId)\n if (idx < 0) return draft\n sec.fields[idx] = { ...sec.fields[idx]!, ...patch }\n return draft\n })\n }\n\n function updateSection(sectionId: string, patch: Partial<FormSection>) {\n update((draft) => {\n const i = draft.sections.findIndex((s) => s.id === sectionId)\n if (i < 0) return draft\n draft.sections[i] = { ...draft.sections[i]!, ...patch }\n return draft\n })\n }\n\n // --- Canvas (free-form positioned layout) --------------------------------\n\n function canvasBoxFor(type: FieldType): { w: number; h: number } {\n return defaultBox(type)\n }\n\n // Free-form CANVAS layout is a GLOBAL, app-level mode (advanced) — not a\n // per-section toggle. Turning it on auto-places every section's fields in a\n // column so nothing is lost; turning it off drops the positioning back to a\n // stacked layout.\n function setAllCanvas(on: boolean) {\n update((draft) => {\n for (const sec of draft.sections) {\n if (on && !sec.canvas) {\n let y = 0\n sec.canvas = {\n cols: 12,\n rowHeight: 40,\n items: sec.fields.map((f) => {\n const box = canvasBoxFor(f.type)\n const item = { i: f.id, x: 0, y, w: Math.min(box.w * 2, 12), h: box.h }\n y += box.h\n return item\n }),\n }\n } else if (!on && sec.canvas) {\n delete sec.canvas\n }\n }\n return draft\n })\n }\n const canvasMode = schema.sections.length > 0 && schema.sections.every((s) => !!s.canvas)\n // When the app uses tabs, the build surface shows one tab's sections at a time.\n const appTabs = schema.tabs ?? []\n const visibleSections = appTabs.length\n ? schema.sections.filter((s) => (s.tabId ?? appTabs[0]!.id) === designerTab)\n : schema.sections\n\n function setCanvasItems(sectionId: string, items: CanvasLayout['items']) {\n update((draft) => {\n const sec = draft.sections.find((s) => s.id === sectionId)\n if (!sec || !sec.canvas) return draft\n sec.canvas = { ...sec.canvas, items }\n return draft\n })\n }\n\n function addWidgetToCanvas(\n sectionId: string,\n type: FieldType,\n box: { x: number; y: number; w: number; h: number },\n ) {\n const f = emptyField(type)\n update((draft) => {\n const sec = draft.sections.find((s) => s.id === sectionId)\n if (!sec) return draft\n sec.fields.push(f)\n const canvas = sec.canvas ?? { cols: 12, rowHeight: 40, items: [] }\n sec.canvas = {\n ...canvas,\n items: [...canvas.items, { i: f.id, x: box.x, y: box.y, w: box.w, h: box.h }],\n }\n return draft\n })\n selectField(sectionId, f.id)\n }\n\n function publish() {\n setError(tGeneratedValue(null))\n start(async () => {\n const result = await adapter.publish({\n templateId,\n schema,\n changelog: changelog.trim(),\n })\n if (!result.ok) {\n setError(tGeneratedValue(result.error ?? tGenerated('m_16c73b6230c543')))\n toast.error(tGeneratedValue(result.error ?? tGenerated('m_16c73b6230c543')))\n return\n }\n toast.success(tGenerated('m_165fbf2bc8254b', { value0: result.version }))\n setShowPublish(false)\n if (publishedHref) adapter.navigate?.(publishedHref)\n })\n }\n\n // Sections grouped by their workflow step assignment, used for the step\n // chips in the canvas header.\n const stepsCount = schema.workflow.steps.length\n\n return (\n <div className={`flex h-full min-h-0 flex-col ${className ?? ''}`}>\n <header className=\"flex shrink-0 items-center justify-between border-b border-border bg-surface px-4 py-2\">\n <div className=\"flex min-w-0 items-center gap-3\">\n <a href={backHref} className=\"shrink-0 text-sm text-primary hover:underline\">\n <GeneratedText id=\"m_07f039d1ce81ec\" />\n </a>\n <div className=\"min-w-0\">\n <div className=\"flex items-center gap-2\">\n <span className=\"truncate text-sm font-semibold\">\n <GeneratedValue value={appName} />\n </span>\n <span\n className={`rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase ${KIND_META[templateKind].cls}`}\n >\n <GeneratedValue value={KIND_META[templateKind].label} />\n </span>\n </div>\n <div className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_1d76a1713fe585\" />\n <GeneratedValue value={currentVersion} /> ·{' '}\n <GeneratedValue value={schema.sections.length} />{' '}\n <GeneratedText id=\"m_02f67a0e8ba5ce\" />\n <GeneratedValue\n value={schema.sections.length === 1 ? '' : <GeneratedText id=\"m_00ded356f0f424\" />}\n />\n </div>\n </div>\n </div>\n <div className=\"flex items-center gap-2\">\n <label className=\"flex items-center gap-1.5 text-xs text-fg-muted\">\n <Globe2 size={14} />\n <Select\n value={contentLocale}\n onChange={(event) => setContentLocale(event.target.value as AppLocale)}\n className=\"h-8 min-w-28 text-xs\"\n aria-label={tGenerated('m_104e7b02f49d5e')}\n >\n {enabledLocales.map((enabledLocale) => (\n <option key={enabledLocale} value={enabledLocale}>\n {languages(enabledLocale)}\n </option>\n ))}\n </Select>\n </label>\n <GeneratedValue\n value={\n renderAssistant ? (\n <Button\n size=\"sm\"\n onClick={() => setShowAiAssistant(true)}\n className=\"bg-primary text-primary-fg hover:bg-primary-hover\"\n >\n <Sparkles size={14} /> <GeneratedText id=\"m_1e0a86199c09df\" />\n </Button>\n ) : null\n }\n />\n <a href={recordsHref}>\n <Button variant=\"outline\" size=\"sm\">\n <ClipboardCheck size={14} /> <GeneratedText id=\"m_0d06d42b0344eb\" />\n </Button>\n </a>\n <Button\n variant={rightPanel === 'preview' ? 'secondary' : 'outline'}\n size=\"sm\"\n onClick={() => setRightPanel((p) => (p === 'preview' ? 'none' : 'preview'))}\n >\n <Eye size={14} />\n <GeneratedText id=\"m_11d37007232de5\" />\n </Button>\n <Button size=\"sm\" onClick={() => setShowPublish(true)} disabled={pending}>\n <Save size={14} />\n <GeneratedText id=\"m_01b66d9dba6889\" />\n <GeneratedValue value={currentVersion + 1} />\n </Button>\n </div>\n </header>\n\n <div className=\"flex min-h-0 flex-1 overflow-hidden\">\n {/* LEFT 1/3 — Overview / Build / Assignments / Permissions */}\n <aside className=\"flex w-1/3 min-w-72 max-w-[30rem] shrink-0 flex-col border-r border-border bg-surface\">\n <div className=\"flex shrink-0 items-center gap-0.5 border-b border-border px-2 py-1.5\">\n <LeftTab\n active={leftTab === 'overview'}\n onClick={() => setLeftTab('overview')}\n icon={<Info size={16} />}\n label={tGenerated('m_102c6abe56e4d5')}\n />\n <LeftTab\n active={leftTab === 'build'}\n onClick={() => setLeftTab('build')}\n icon={<PanelLeft size={16} />}\n label={tGenerated('m_0adae4a94c7be3')}\n />\n <LeftTab\n active={leftTab === 'record'}\n onClick={() => setLeftTab('record')}\n icon={<SlidersHorizontal size={16} />}\n label={tGenerated('m_1c1250c8c10a42')}\n />\n <LeftTab\n active={leftTab === 'list'}\n onClick={() => setLeftTab('list')}\n icon={<Table2 size={16} />}\n label={tGenerated('m_02ec964c87acae')}\n />\n <LeftTab\n active={leftTab === 'actions'}\n onClick={() => setLeftTab('actions')}\n icon={<MousePointerClick size={16} />}\n label={tGenerated('m_13f79ee70f138d')}\n />\n <LeftTab\n active={leftTab === 'assignments'}\n onClick={() => setLeftTab('assignments')}\n icon={<Send size={16} />}\n label={tGenerated('m_0444d7da46d928')}\n />\n <LeftTab\n active={leftTab === 'permissions'}\n onClick={() => setLeftTab('permissions')}\n icon={<ShieldCheck size={16} />}\n label={tGenerated('m_128e83250b7fc0')}\n />\n </div>\n <div className=\"app-scroll min-h-0 flex-1 overflow-y-auto p-3\">\n <GeneratedValue\n value={\n leftTab === 'overview' ? (\n <OverviewPanel\n name={appName}\n overview={overview}\n onSaved={setAppName}\n onSave={(input) => adapter.saveOverview({ templateId, ...input })}\n canPin={canPin}\n pinned={isPinned}\n onPin={adapter.setPinned ? async (next) => {\n const result = await adapter.setPinned!({ templateId, pinned: next })\n if (result.ok) setIsPinned(next)\n return result\n } : undefined}\n />\n ) : leftTab === 'record' ? (\n <RecordBehaviorPanel\n value={recordConfiguration}\n roles={roles}\n onChange={setRecordConfiguration}\n onSave={async (next) => {\n const result = await adapter.saveRecordConfig({ templateId, recordConfig: next })\n if (!result.ok) throw new Error(result.error ?? 'Record behavior could not be saved.')\n }}\n />\n ) : leftTab === 'list' ? (\n <RecordListPanel\n value={listConfig}\n fields={listFields}\n onChange={(list) => setRecordConfiguration((current) => ({ ...current, list }))}\n onSave={async (list) => {\n const result = await adapter.saveListConfig({ templateId, listConfig: list })\n if (!result.ok) throw new Error(result.error ?? 'Record list could not be saved.')\n }}\n />\n ) : leftTab === 'actions' ? (\n <RecordActionsPanel flows={flows} adapter={recordActionAdapter} />\n ) : leftTab === 'assignments' ? (\n <AssignmentsPanel createHref={assignmentCreateHref} listHref={assignmentsHref} />\n ) : leftTab === 'permissions' ? (\n <PermissionsPanel\n roles={roles}\n initial={allowedRoles}\n onSave={(next) => adapter.savePermissions({ templateId, allowedRoles: next })}\n />\n ) : (\n <>\n <button\n type=\"button\"\n onClick={openWorkflow}\n title={tGenerated('m_037b62ee03b335')}\n className={`mb-3 block w-full rounded px-2 py-1 text-left text-xs font-semibold ${\n selection.kind === 'workflow'\n ? 'bg-primary-subtle text-primary'\n : 'text-fg hover:bg-surface-hover'\n }`}\n >\n <GeneratedText id=\"m_001f1bfc6e0cd8\" />\n <GeneratedValue value={stepsCount} />)\n </button>\n\n <h3 className=\"mb-1 text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_1a19ebd22b2247\" />\n </h3>\n <p className=\"mb-2 text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_02043182fe57f9\" />\n </p>\n <GeneratedValue\n value={[...PALETTE_PRIMARY, ...PALETTE_MORE].map((group) => (\n <FieldPaletteGroup\n key={group.label}\n group={group}\n onDragType={(t) => {\n dragElementRef.current = t\n }}\n onDragEnd={() => {\n dragElementRef.current = null\n setDropSectionId(null)\n }}\n onAdd={(t) => {\n const targetSection =\n selection.kind === 'section' || selection.kind === 'field'\n ? selection.sectionId\n : schema.sections[schema.sections.length - 1]?.id\n if (targetSection) addField(targetSection, t)\n }}\n />\n ))}\n />\n </>\n )\n }\n />\n </div>\n </aside>\n\n {/* RIGHT 2/3 — build surface ⟷ flows */}\n <div className=\"flex min-w-0 flex-1 flex-col bg-bg-subtle bg-bg\">\n <div className=\"flex shrink-0 items-center gap-1 border-b border-border bg-surface px-3 py-1.5\">\n <SurfaceTab\n active={surface === 'build'}\n onClick={() => setSurface('build')}\n icon={<LayoutGrid size={13} />}\n label={tGenerated('m_0b120bda8434d5')}\n />\n {renderFlows ? (\n <SurfaceTab\n active={surface === 'flows'}\n onClick={() => setSurface('flows')}\n icon={<WorkflowIcon size={13} />}\n label={tGenerated('m_1a4786daa752b1')}\n />\n ) : null}\n <GeneratedValue\n value={\n surface === 'build' ? (\n <div className=\"ml-auto flex items-center gap-2\">\n <span\n className=\"hidden text-[10px] font-semibold tracking-wider text-fg-muted uppercase sm:block\"\n title={tGenerated('m_0342c212db3a34')}\n >\n <GeneratedText id=\"m_174bcc6db92052\" />\n </span>\n <div className=\"flex items-center rounded-md border border-border p-0.5\">\n <button\n type=\"button\"\n onClick={() => setAllCanvas(false)}\n className={`rounded px-2 py-0.5 text-xs font-medium transition ${\n !canvasMode\n ? 'bg-fg text-bg'\n : 'text-fg-muted hover:bg-surface-hover'\n }`}\n >\n <GeneratedText id=\"m_1e888eaf9e8eed\" />\n </button>\n <button\n type=\"button\"\n onClick={() => setAllCanvas(true)}\n className={`flex items-center gap-1 rounded px-2 py-0.5 text-xs font-medium transition ${\n canvasMode\n ? 'bg-primary text-primary-fg'\n : 'text-fg-muted hover:bg-surface-hover'\n }`}\n >\n <LayoutGrid size={12} /> <GeneratedText id=\"m_0627e4bbe74939\" />\n </button>\n </div>\n </div>\n ) : null\n }\n />\n </div>\n <GeneratedValue\n value={\n surface === 'flows' ? (\n <div className=\"min-h-0 flex-1\">\n {renderFlows?.({ templateId, name: appName, schema, flows })}\n </div>\n ) : (\n <div className=\"app-scroll min-h-0 flex-1 overflow-y-auto p-4 lg:p-6\">\n <div className=\"w-full\">\n <div className=\"space-y-3\">\n <GeneratedValue\n value={\n selection.kind === 'workflow' ? (\n <WorkflowEditor\n schema={schema}\n locale={contentLocale}\n defaultLocale={defaultLocale}\n onChange={(steps) =>\n setSchema((s) => ({ ...s, workflow: { steps } }))\n }\n />\n ) : null\n }\n />\n\n {/* Tabs — presentational pages for the fill experience. */}\n <div className=\"flex flex-wrap items-center gap-1 rounded-lg border border-border bg-surface p-1.5\">\n <GeneratedValue\n value={appTabs.map((t) => (\n <button\n key={t.id}\n type=\"button\"\n onClick={() => setDesignerTab(t.id)}\n onDoubleClick={() => {\n const next = window.prompt(\n 'Rename tab',\n localizeText(t.title, contentLocale, '', defaultLocale),\n )\n if (next != null) renameTab(t.id, next.trim() || 'Tab')\n }}\n title={tGenerated('m_0d31ecacb5b2ee')}\n className={`group flex items-center gap-1 rounded-md px-3 py-1 text-xs font-medium transition ${\n designerTab === t.id\n ? 'bg-primary text-primary-fg'\n : 'text-fg-muted hover:bg-surface-hover'\n }`}\n >\n <GeneratedValue\n value={localizeText(t.title, contentLocale, 'Tab', defaultLocale)}\n />\n <GeneratedValue\n value={\n appTabs.length > 1 ? (\n <Trash2\n size={11}\n className={\n designerTab === t.id\n ? 'text-primary-fg/70 hover:text-primary-fg'\n : 'text-fg-subtle hover:text-danger'\n }\n onClick={(e) => {\n e.stopPropagation()\n deleteTab(t.id)\n }}\n />\n ) : null\n }\n />\n </button>\n ))}\n />\n <button\n type=\"button\"\n onClick={addTab}\n className=\"flex items-center gap-1 rounded-md px-2.5 py-1 text-xs font-medium text-primary hover:bg-primary-subtle hover:bg-primary-subtle/40\"\n title={tGeneratedValue(\n appTabs.length === 0\n ? tGenerated('m_1b7cb35c4f57dd')\n : tGenerated('m_1e7fd6a7c790fe'),\n )}\n >\n <Plus size={12} />{' '}\n <GeneratedValue\n value={\n appTabs.length === 0 ? (\n <GeneratedText id=\"m_0cfeced513f8d1\" />\n ) : (\n <GeneratedText id=\"m_1457c1cce0b63c\" />\n )\n }\n />\n </button>\n </div>\n\n <GeneratedValue\n value={visibleSections.map((sec, i) => {\n const active =\n selection.kind === 'section' && selection.sectionId === sec.id\n return (\n <Card\n key={sec.id}\n onDragEnter={\n sec.canvas\n ? undefined\n : (event) => {\n if (!dragElementRef.current) return\n event.preventDefault()\n setDropSectionId(sec.id)\n }\n }\n onDragOver={\n sec.canvas\n ? undefined\n : (event) => {\n if (!dragElementRef.current) return\n event.preventDefault()\n event.dataTransfer.dropEffect = 'copy'\n }\n }\n onDrop={\n sec.canvas\n ? undefined\n : (event) => {\n event.preventDefault()\n event.stopPropagation()\n const type = dragElementRef.current\n dragElementRef.current = null\n setDropSectionId(null)\n if (type) addField(sec.id, type)\n }\n }\n className={`border transition-colors ${\n dropSectionId === sec.id\n ? 'border-primary bg-primary-subtle/70 ring-2 ring-primary/40'\n : active\n ? 'border-primary ring-1 ring-primary'\n : 'border-border'\n }`}\n >\n <CardHeader className=\"flex flex-row items-center justify-between gap-2 pb-2\">\n <button\n type=\"button\"\n onClick={() => selectSection(sec.id)}\n className=\"flex-1 text-left\"\n >\n <CardTitle className=\"text-base\">\n <GeneratedValue\n value={localizeText(\n sec.title,\n contentLocale,\n 'Untitled section',\n defaultLocale,\n )}\n />\n <GeneratedValue value={' '} />\n <GeneratedValue\n value={\n sec.repeating ? (\n <Badge variant=\"secondary\">\n <GeneratedText id=\"m_06e1ca227aca9b\" />\n </Badge>\n ) : null\n }\n />\n <GeneratedValue\n value={\n sec.showIf ? (\n <Badge variant=\"outline\" className=\"text-[10px]\">\n <GeneratedText id=\"m_02529c1532db7a\" />\n </Badge>\n ) : null\n }\n />\n <GeneratedValue\n value={\n sec.step ? (\n <Badge variant=\"outline\" className=\"text-[10px]\">\n <GeneratedText id=\"m_11933adf482cac\" />{' '}\n <GeneratedValue\n value={stepLabel(\n schema,\n sec.step,\n contentLocale,\n defaultLocale,\n )}\n />\n </Badge>\n ) : null\n }\n />\n </CardTitle>\n </button>\n <div className=\"flex items-center gap-1\">\n <IconButton\n title={tGenerated('m_1ec1460770eaa0')}\n onClick={() => moveSection(sec.id, -1)}\n disabled={i === 0}\n >\n <ArrowUp size={14} />\n </IconButton>\n <IconButton\n title={tGenerated('m_14ab8cefda3cf9')}\n onClick={() => moveSection(sec.id, 1)}\n disabled={i === visibleSections.length - 1}\n >\n <ArrowDown size={14} />\n </IconButton>\n <IconButton\n title={tGenerated('m_1e97527af4024b')}\n onClick={() => deleteSection(sec.id)}\n >\n <Trash2 size={14} className=\"text-danger\" />\n </IconButton>\n </div>\n </CardHeader>\n <CardContent className=\"pt-0\">\n <GeneratedValue\n value={\n sec.canvas ? (\n <CanvasEditor\n section={sec}\n locale={contentLocale}\n defaultLocale={defaultLocale}\n selectedFieldId={\n selection.kind === 'field' &&\n selection.sectionId === sec.id\n ? selection.fieldId\n : null\n }\n dragTypeRef={dragElementRef}\n onLayout={(items) => setCanvasItems(sec.id, items)}\n onAddWidget={(type, box) =>\n addWidgetToCanvas(sec.id, type, box)\n }\n onSelect={(fieldId) => selectField(sec.id, fieldId)}\n onDelete={(fieldId) => deleteField(sec.id, fieldId)}\n />\n ) : sec.fields.length === 0 ? (\n <div className=\"rounded-md border border-dashed border-border-strong p-4 text-center text-xs text-fg-muted border-border\">\n <GeneratedText id=\"m_0d6735f83b77a3\" />\n </div>\n ) : (\n <Reorder.Group\n axis=\"y\"\n values={sec.fields}\n onReorder={(fields) =>\n reorderFields(sec.id, fields as FormField[])\n }\n as=\"ul\"\n className=\"divide-y divide-border-subtle\"\n >\n <GeneratedValue\n value={sec.fields.map((f, j) => (\n <FieldRow\n key={f.id}\n field={f}\n locale={contentLocale}\n defaultLocale={defaultLocale}\n isSelected={\n selection.kind === 'field' &&\n selection.fieldId === f.id\n }\n typeLabel={FIELD_TYPES[f.type]?.label ?? f.type}\n onSelect={() => selectField(sec.id, f.id)}\n onMoveUp={() => moveField(sec.id, f.id, -1)}\n onMoveDown={() => moveField(sec.id, f.id, 1)}\n onDelete={() => deleteField(sec.id, f.id)}\n canUp={j > 0}\n canDown={j < sec.fields.length - 1}\n />\n ))}\n />\n </Reorder.Group>\n )\n }\n />\n </CardContent>\n </Card>\n )\n })}\n />\n <Button variant=\"outline\" onClick={addSection} className=\"w-full\">\n <Plus size={14} />\n <GeneratedText id=\"m_0cfd5e4e441158\" />\n </Button>\n </div>\n </div>\n </div>\n )\n }\n />\n </div>\n </div>\n\n {/* Properties flyout — opens on selection / \"Form settings\". */}\n <Drawer\n open={rightPanel === 'props'}\n onClose={() => setRightPanel('none')}\n title={tGeneratedValue(\n selection.kind === 'field'\n ? tGenerated('m_0478595ea3a2da')\n : tGenerated('m_0d513924d97753'),\n )}\n size=\"sm\"\n >\n <GeneratedValue\n value={\n selection.kind === 'field' && selectedField ? (\n <FieldProperties\n key={selectedField.field.id}\n sectionId={selectedField.section.id}\n field={selectedField.field}\n schema={schema}\n locale={contentLocale}\n defaultLocale={defaultLocale}\n dataSources={dataSources}\n dataSourcesLoading={dataSourcesLoading}\n onRefreshDataSources={onRefreshDataSources}\n dataSourcesHref={dataSourcesHref}\n onChange={(patch) =>\n updateField(selectedField.section.id, selectedField.field.id, patch)\n }\n />\n ) : selection.kind === 'section' && selectedSection ? (\n <SectionProperties\n key={selectedSection.id}\n section={selectedSection}\n schema={schema}\n locale={contentLocale}\n defaultLocale={defaultLocale}\n onChange={(patch) => updateSection(selectedSection.id, patch)}\n />\n ) : null\n }\n />\n </Drawer>\n\n {/* Preview flyout — live render of the filler experience. */}\n <Drawer\n open={rightPanel === 'preview'}\n onClose={() => setRightPanel('none')}\n title={tGenerated('m_11d37007232de5')}\n description={tGenerated('m_1e28aaa8e490af')}\n size=\"lg\"\n >\n <Preview schema={schema} locale={contentLocale} defaultLocale={defaultLocale} />\n </Drawer>\n\n <Drawer\n open={showPublish}\n onClose={() => setShowPublish(false)}\n title={tGenerated('m_04073463647168', { value0: currentVersion + 1 })}\n description={tGenerated('m_0eced645981830')}\n footer={\n <>\n <Button variant=\"outline\" onClick={() => setShowPublish(false)}>\n <GeneratedText id=\"m_112e2e8ecda428\" />\n </Button>\n <Button onClick={publish} disabled={pending}>\n <Check size={14} />\n <GeneratedValue\n value={\n pending ? (\n <GeneratedText id=\"m_12b32266eec3e2\" />\n ) : (\n <GeneratedText id=\"m_0c072fb8baf115\" />\n )\n }\n />\n </Button>\n </>\n }\n >\n <div className=\"space-y-3\">\n <Alert variant=\"info\">\n <AlertTitle>\n <GeneratedText id=\"m_1c2ad488291a89\" />\n </AlertTitle>\n <AlertDescription>\n <GeneratedText id=\"m_16d04782fa275d\" />\n <GeneratedValue value={currentVersion + 1} />\n <GeneratedText id=\"m_025b2e6dff2c41\" />\n </AlertDescription>\n </Alert>\n <div className=\"space-y-1\">\n <Label>\n <GeneratedText id=\"m_155fd3bdb6e009\" />\n </Label>\n <Textarea\n rows={3}\n value={changelog}\n placeholder={tGenerated('m_061739b5f07deb')}\n onChange={(e) => setChangelog(e.target.value)}\n />\n </div>\n <GeneratedValue\n value={\n error ? (\n <Alert variant=\"destructive\">\n <AlertDescription>\n <GeneratedValue value={error} />\n </AlertDescription>\n </Alert>\n ) : null\n }\n />\n </div>\n </Drawer>\n\n {renderAssistant?.({\n open: showAiAssistant,\n onClose: () => setShowAiAssistant(false),\n templateId,\n schema,\n apply: (next) => {\n const normalized = normalizeDesignerSchema(next)\n setSchema(normalized)\n if (normalized.tabs?.length) setDesignerTab(normalized.tabs[0]!.id)\n toast.success(tGenerated('m_180fea01504577'))\n },\n })}\n </div>\n )\n}\n\nfunction stepLabel(\n schema: FormSchemaV1,\n stepKey: string,\n locale: AppLocale,\n defaultLocale: AppLocale,\n): string {\n const step = schema.workflow?.steps.find((s) => s.key === stepKey)\n return localizeText(step?.title, locale, stepKey, defaultLocale)\n}\n\nfunction FieldPaletteGroup({\n group,\n onAdd,\n onDragType,\n onDragEnd,\n}: {\n group: { label: string; types: FieldType[] }\n onAdd: (t: FieldType) => void\n // Set when a palette item starts dragging, so the canvas drop knows the type.\n onDragType?: (t: FieldType) => void\n onDragEnd?: () => void\n}) {\n const tGenerated = useGeneratedTranslations()\n return (\n <div className=\"mb-3\">\n <div className=\"px-1 pb-1 text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedValue value={group.label} />\n </div>\n <div className=\"grid grid-cols-1 gap-1\">\n <GeneratedValue\n value={group.types.map((t) => {\n const Icon = FIELD_ICONS[t] ?? Type\n return (\n <button\n key={t}\n type=\"button\"\n draggable\n onDragStart={(e) => {\n onDragType?.(t)\n e.dataTransfer.setData('text/plain', t)\n e.dataTransfer.effectAllowed = 'copy'\n }}\n onDragEnd={onDragEnd}\n onClick={() => onAdd(t)}\n className=\"flex cursor-grab items-center gap-2 rounded border border-border px-2 py-1 text-left text-xs hover:border-primary hover:bg-primary-subtle active:cursor-grabbing hover:bg-primary-subtle/40\"\n title={tGenerated('m_1b1fa20684f949')}\n >\n <Icon size={12} />\n <GeneratedValue value={FIELD_TYPES[t].label} />\n </button>\n )\n })}\n />\n </div>\n </div>\n )\n}\n\nfunction IconButton({\n title,\n onClick,\n disabled,\n children,\n}: {\n title: string\n onClick: () => void\n disabled?: boolean\n children: React.ReactNode\n}) {\n const tGeneratedValue = useGeneratedValueTranslations()\n return (\n <button\n type=\"button\"\n title={tGeneratedValue(title)}\n onClick={onClick}\n disabled={disabled}\n className=\"rounded p-1 text-fg-muted hover:bg-surface-hover hover:text-fg disabled:cursor-not-allowed disabled:opacity-40\"\n >\n <GeneratedValue value={children} />\n </button>\n )\n}\n\n// One draggable field row in the designer canvas. Drag is handle-only (via\n// framer-motion dragControls) so clicking the row still selects the field; the\n// up/down arrows remain as a keyboard-accessible fallback.\nfunction FieldRow({\n field,\n locale,\n defaultLocale,\n isSelected,\n typeLabel,\n onSelect,\n onMoveUp,\n onMoveDown,\n onDelete,\n canUp,\n canDown,\n}: {\n field: FormField\n locale: AppLocale\n defaultLocale: AppLocale\n isSelected: boolean\n typeLabel: string\n onSelect: () => void\n onMoveUp: () => void\n onMoveDown: () => void\n onDelete: () => void\n canUp: boolean\n canDown: boolean\n}) {\n const tGenerated = useGeneratedTranslations()\n const controls = useDragControls()\n const Icon = FIELD_ICONS[field.type] ?? Type\n return (\n <Reorder.Item\n value={field}\n dragListener={false}\n dragControls={controls}\n as=\"li\"\n className={`flex items-center justify-between gap-2 rounded px-1 py-2 ${\n isSelected ? 'bg-primary-subtle' : 'bg-surface'\n }`}\n >\n <button\n type=\"button\"\n aria-label={tGenerated('m_0b04b904ce4f9a')}\n onPointerDown={(e) => controls.start(e)}\n className=\"cursor-grab touch-none rounded p-0.5 text-fg-subtle hover:text-fg-muted active:cursor-grabbing\"\n >\n <GripVertical size={14} />\n </button>\n <button type=\"button\" onClick={onSelect} className=\"flex flex-1 items-center gap-2 text-left\">\n <Icon size={14} />\n <span className=\"w-24 truncate text-xs text-fg-muted\">\n <GeneratedValue value={typeLabel} />\n </span>\n <span className=\"text-sm font-medium\">\n <GeneratedValue value={localizeText(field.label, locale, field.id, defaultLocale)} />\n <GeneratedValue\n value={\n field.required || field.validation?.required ? (\n <span className=\"text-danger\"> *</span>\n ) : null\n }\n />\n </span>\n <GeneratedValue\n value={\n field.showIf ? (\n <Badge variant=\"secondary\" className=\"text-[10px]\">\n <GeneratedText id=\"m_02529c1532db7a\" />\n </Badge>\n ) : null\n }\n />\n <GeneratedValue\n value={\n field.formula ? (\n <Badge variant=\"secondary\" className=\"text-[10px]\">\n <GeneratedText id=\"m_194bb13d821775\" />\n </Badge>\n ) : null\n }\n />\n </button>\n <div className=\"flex items-center gap-1\">\n <IconButton title={tGenerated('m_1ec1460770eaa0')} onClick={onMoveUp} disabled={!canUp}>\n <ArrowUp size={12} />\n </IconButton>\n <IconButton title={tGenerated('m_14ab8cefda3cf9')} onClick={onMoveDown} disabled={!canDown}>\n <ArrowDown size={12} />\n </IconButton>\n <IconButton title={tGenerated('m_11773f3c3f7558')} onClick={onDelete}>\n <Trash2 size={12} className=\"text-danger\" />\n </IconButton>\n </div>\n </Reorder.Item>\n )\n}\n\n// --- Form-level properties -------------------------------------------------\n\n// --- Workflow editor -------------------------------------------------------\n\nfunction WorkflowEditor({\n schema,\n locale,\n defaultLocale,\n onChange,\n}: {\n schema: FormSchemaV1\n locale: AppLocale\n defaultLocale: AppLocale\n onChange: (steps: FormWorkflowStep[]) => void\n}) {\n const tGeneratedValue = useGeneratedValueTranslations()\n const tGenerated = useGeneratedTranslations()\n const steps = schema.workflow?.steps ?? []\n\n function setStep(i: number, patch: Partial<FormWorkflowStep>) {\n onChange(steps.map((s, j) => (j === i ? { ...s, ...patch } : s)))\n }\n function add() {\n onChange([...steps, emptyStep()])\n }\n function remove(i: number) {\n if (steps.length === 1) return\n onChange(steps.filter((_, j) => j !== i))\n }\n function move(i: number, delta: -1 | 1) {\n const j = i + delta\n if (j < 0 || j >= steps.length) return\n const next = [...steps]\n ;[next[i], next[j]] = [next[j]!, next[i]!]\n onChange(next)\n }\n\n return (\n <Card className=\"border-2 border-primary/40\">\n <CardHeader>\n <CardTitle className=\"text-base\">\n <GeneratedText id=\"m_1c75ba367ef317\" />\n </CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_1a11f78c7d99d8\" />{' '}\n <em>\n <GeneratedText id=\"m_02b0a83932da4a\" />\n </em>{' '}\n →<GeneratedValue value={' '} />\n <em>\n <GeneratedText id=\"m_14efdd0bff7d70\" />\n </em>{' '}\n →{' '}\n <em>\n <GeneratedText id=\"m_1cc0241831296d\" />\n </em>\n <GeneratedText id=\"m_17833f54b99d38\" />\n <GeneratedValue value={' '} />\n <strong>\n <GeneratedText id=\"m_1c8658eb9347b4\" />\n </strong>{' '}\n <GeneratedText id=\"m_0bf548b271dbc1\" />{' '}\n <strong>\n <GeneratedText id=\"m_1a4786daa752b1\" />\n </strong>{' '}\n <GeneratedText id=\"m_003ae75549476b\" />\n </p>\n <ul className=\"space-y-2\">\n <GeneratedValue\n value={steps.map((s, i) => (\n <li\n key={s.key}\n className=\"rounded-md border border-border bg-surface p-2\"\n >\n <div className=\"flex items-start gap-2\">\n <span className=\"mt-1 inline-flex h-6 w-6 items-center justify-center rounded-full bg-primary-subtle text-xs font-semibold text-primary bg-primary-subtle/40\">\n <GeneratedValue value={i + 1} />\n </span>\n <div className=\"flex-1 space-y-2\">\n <div className=\"grid grid-cols-2 gap-2\">\n <div>\n <Label className=\"text-[10px]\">\n <GeneratedText id=\"m_0decefd558c355\" />\n </Label>\n <Input\n className=\"h-7 text-xs\"\n value={readText(s.title, locale)}\n placeholder={tGeneratedValue(\n localizeText(s.title, locale, s.key, defaultLocale),\n )}\n onChange={(e) =>\n setStep(i, {\n title: writeText(s.title, e.target.value, locale),\n })\n }\n />\n </div>\n <div>\n <Label className=\"text-[10px]\">\n <GeneratedText id=\"m_147b61c2aef29b\" />\n </Label>\n <Input className=\"h-7 font-mono text-xs\" value={s.key} disabled />\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n <div>\n <Label className=\"text-[10px]\">\n <GeneratedText id=\"m_160787e531bffd\" />\n </Label>\n <Select\n className=\"h-7 text-xs\"\n value={s.assignee.type}\n onChange={(e) => {\n const t = e.target.value as 'literal' | 'role' | 'expression'\n const assignee =\n t === 'literal'\n ? { type: 'literal' as const, userId: '' }\n : t === 'role'\n ? { type: 'role' as const, role: '' }\n : { type: 'expression' as const, expr: '$submitter' }\n setStep(i, { assignee })\n }}\n >\n <option value=\"expression\">{'Expression'}</option>\n <option value=\"role\">{'Role'}</option>\n <option value=\"literal\">{'Specific user'}</option>\n </Select>\n </div>\n <div>\n <Label className=\"text-[10px]\">\n <GeneratedText id=\"m_078d7e637546f9\" />\n </Label>\n <Input\n className=\"h-7 text-xs\"\n value={\n s.assignee.type === 'literal'\n ? s.assignee.userId\n : s.assignee.type === 'role'\n ? s.assignee.role\n : s.assignee.expr\n }\n onChange={(e) => {\n const v = e.target.value\n if (s.assignee.type === 'literal')\n setStep(i, { assignee: { type: 'literal', userId: v } })\n else if (s.assignee.type === 'role')\n setStep(i, { assignee: { type: 'role', role: v } })\n else setStep(i, { assignee: { type: 'expression', expr: v } })\n }}\n />\n </div>\n </div>\n <label className=\"flex items-center gap-2 text-xs\">\n <input\n type=\"checkbox\"\n checked={s.signatureRequired ?? false}\n onChange={(e) => setStep(i, { signatureRequired: e.target.checked })}\n />\n <GeneratedText id=\"m_02ffe91f500dc8\" />\n </label>\n </div>\n <div className=\"flex flex-col items-center gap-1\">\n <IconButton\n title={tGenerated('m_1ec1460770eaa0')}\n onClick={() => move(i, -1)}\n disabled={i === 0}\n >\n <ArrowUp size={12} />\n </IconButton>\n <IconButton\n title={tGenerated('m_14ab8cefda3cf9')}\n onClick={() => move(i, 1)}\n disabled={i === steps.length - 1}\n >\n <ArrowDown size={12} />\n </IconButton>\n <IconButton\n title={tGenerated('m_09aebdb43a47c7')}\n onClick={() => remove(i)}\n disabled={steps.length === 1}\n >\n <Trash2 size={12} className=\"text-danger\" />\n </IconButton>\n </div>\n </div>\n </li>\n ))}\n />\n </ul>\n <Button variant=\"outline\" onClick={add} className=\"w-full\">\n <Plus size={14} /> <GeneratedText id=\"m_0ce705b8fa979c\" />\n </Button>\n </CardContent>\n </Card>\n )\n}\n\n// --- Field properties (Basic / Validation / Logic / Default / Formula) ----\n\ntype FieldPropTab = 'basic' | 'validation' | 'logic' | 'default' | 'formula'\n\nfunction FieldProperties({\n sectionId,\n field,\n schema,\n locale,\n defaultLocale,\n dataSources,\n dataSourcesLoading,\n onRefreshDataSources,\n dataSourcesHref,\n onChange,\n}: {\n sectionId: string\n field: FormField\n schema: FormSchemaV1\n locale: AppLocale\n defaultLocale: AppLocale\n dataSources: readonly FormDataSource[]\n dataSourcesLoading: boolean\n onRefreshDataSources?: () => void | Promise<void>\n dataSourcesHref?: string\n onChange: (patch: Partial<FormField>) => void\n}) {\n const [tab, setTab] = useState<FieldPropTab>('basic')\n const isCalcField = field.type === 'formula'\n const storesValue = storesResponseValue(field)\n const ownerSection = schema.sections.find((section) => section.id === sectionId)\n const otherFields = schema.sections\n .flatMap((section) => {\n if (section.repeating && section.id !== sectionId) return []\n if (!ownerSection?.repeating && section.repeating) return []\n return section.fields\n })\n .filter((candidate) => candidate.id !== field.id && storesResponseValue(candidate))\n .map((f) => ({ id: f.id, label: localizeText(f.label, locale, f.id, defaultLocale) }))\n const repeatingSections = schema.sections\n .filter((s) => s.repeating)\n .map((s) => ({\n id: s.id,\n label: localizeText(s.title, locale, s.id, defaultLocale),\n fields: s.fields\n .filter(\n (candidate) =>\n storesResponseValue(candidate) ||\n (!ownerSection?.repeating &&\n candidate.type === 'formula' &&\n candidate.formula !== undefined),\n )\n .map((f) => ({\n id: f.id,\n label: localizeText(f.label, locale, f.id, defaultLocale),\n })),\n }))\n // Single-entity picker fields the formula builder's entity_attr operator\n // can target. Multi-pickers are excluded because entity_attr resolves one\n // entity per picker, not a list.\n const pickerFields = schema.sections\n .filter((s) => !s.repeating)\n .flatMap((s) => s.fields)\n .filter((f) => entityKindForPicker(f.type) !== null)\n .map((f) => ({\n id: f.id,\n label: localizeText(f.label, locale, f.id, defaultLocale),\n kind: entityKindForPicker(f.type)!,\n }))\n\n const tabs: { value: FieldPropTab; label: string; show: boolean }[] = [\n { value: 'basic', label: 'Basic', show: true },\n { value: 'validation', label: 'Validation', show: storesValue },\n { value: 'logic', label: 'Logic', show: true },\n { value: 'default', label: 'Default', show: storesValue },\n { value: 'formula', label: 'Formula', show: isCalcField },\n ]\n\n return (\n <div className=\"space-y-3 text-sm\">\n <h3 className=\"text-sm font-semibold text-fg\">\n <GeneratedText id=\"m_0bff3b64e15427\" />{' '}\n <GeneratedValue value={FIELD_TYPES[field.type]?.label ?? field.type} />\n </h3>\n <div className=\"flex gap-1 border-b border-border\">\n <GeneratedValue\n value={tabs\n .filter((t) => t.show)\n .map((t) => (\n <button\n key={t.value}\n type=\"button\"\n onClick={() => setTab(t.value)}\n className={`-mb-px border-b-2 px-2 py-1 text-xs ${\n tab === t.value\n ? 'border-primary font-semibold text-primary'\n : 'border-transparent text-fg-muted hover:text-fg'\n }`}\n >\n <GeneratedValue value={t.label} />\n </button>\n ))}\n />\n </div>\n\n <GeneratedValue\n value={\n tab === 'basic' ? (\n <FieldBasicTab\n sectionId={sectionId}\n field={field}\n schema={schema}\n locale={locale}\n defaultLocale={defaultLocale}\n dataSources={dataSources}\n dataSourcesLoading={dataSourcesLoading}\n onRefreshDataSources={onRefreshDataSources}\n dataSourcesHref={dataSourcesHref}\n onChange={onChange}\n />\n ) : null\n }\n />\n <GeneratedValue\n value={\n tab === 'validation' && storesValue ? (\n <FieldValidationTab field={field} onChange={onChange} />\n ) : null\n }\n />\n <GeneratedValue\n value={\n tab === 'logic' ? (\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_024d5ac76425dc\" />\n </Label>\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_0db2c879ad4429\" />\n </p>\n <LogicBuilder\n rule={field.showIf}\n availableFields={otherFields}\n onChange={(rule) => onChange({ showIf: rule })}\n />\n </div>\n ) : null\n }\n />\n <GeneratedValue\n value={\n tab === 'default' && storesValue ? (\n <FieldDefaultTab field={field} onChange={onChange} />\n ) : null\n }\n />\n <GeneratedValue\n value={\n tab === 'formula' && isCalcField ? (\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1f15a1cd1a64c4\" />\n </Label>\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_0cd91fbbd3fca0\" />\n </p>\n <FormulaBuilder\n value={field.formula as FormulaExpression | undefined}\n allFields={otherFields}\n repeatingSections={repeatingSections}\n pickerFields={pickerFields}\n onChange={(next) => onChange({ formula: next })}\n />\n </div>\n ) : null\n }\n />\n </div>\n )\n}\n\nfunction FieldBasicTab({\n sectionId,\n field,\n schema,\n locale,\n defaultLocale,\n dataSources,\n dataSourcesLoading,\n onRefreshDataSources,\n dataSourcesHref,\n onChange,\n}: {\n sectionId: string\n field: FormField\n schema: FormSchemaV1\n locale: AppLocale\n defaultLocale: AppLocale\n dataSources: readonly FormDataSource[]\n dataSourcesLoading: boolean\n onRefreshDataSources?: () => void | Promise<void>\n dataSourcesHref?: string\n onChange: (patch: Partial<FormField>) => void\n}) {\n const tGeneratedValue = useGeneratedValueTranslations()\n // Other fields in the app — targets for cascade filters + lookup auto-fill.\n const ownerSection = schema.sections.find((section) => section.id === sectionId)\n const otherFields = schema.sections\n .flatMap((section) => {\n if (section.repeating && section.id !== sectionId) return []\n if (!ownerSection?.repeating && section.repeating) return []\n return section.fields\n })\n .filter((candidate) => candidate.id !== field.id && storesResponseValue(candidate))\n .map((f) => ({ id: f.id, label: localizeText(f.label, locale, f.id, defaultLocale) }))\n const autofillFields = (\n ownerSection?.repeating\n ? ownerSection.fields\n : schema.sections.filter((section) => !section.repeating).flatMap((section) => section.fields)\n )\n .filter((candidate) => candidate.id !== field.id && storesResponseValue(candidate))\n .map((candidate) => ({\n id: candidate.id,\n label: localizeText(candidate.label, locale, candidate.id, defaultLocale),\n }))\n return (\n <div className=\"space-y-3\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_13d7101bd1f531\" />\n </Label>\n <Input value={field.id} disabled className=\"font-mono text-xs\" />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1d4f77715c6f3d\" />\n <GeneratedValue value={locale.toUpperCase()} />)\n </Label>\n <Input\n value={readText(field.label, locale)}\n placeholder={tGeneratedValue(localizeText(field.label, locale, field.id, defaultLocale))}\n onChange={(e) => onChange({ label: writeText(field.label, e.target.value, locale) })}\n />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_0d04877b1a742b\" />\n </Label>\n <Textarea\n rows={2}\n value={readText(field.helpText, locale)}\n placeholder={tGeneratedValue(localizeText(field.helpText, locale, '', defaultLocale))}\n onChange={(e) => {\n onChange({\n helpText: e.target.value\n ? writeText(field.helpText, e.target.value, locale)\n : undefined,\n })\n }}\n />\n </div>\n <GeneratedValue\n value={\n storesResponseValue(field) ? (\n <label className=\"flex items-center gap-2 text-sm\">\n <input\n type=\"checkbox\"\n checked={field.required ?? false}\n onChange={(e) => onChange({ required: e.target.checked })}\n />\n <GeneratedText id=\"m_12fe2fe7a9ddad\" />\n </label>\n ) : null\n }\n />\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_14ea5fb193bdaf\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={String(field.colSpan ?? '')}\n onChange={(e) =>\n onChange({ colSpan: e.target.value ? Number(e.target.value) : undefined })\n }\n >\n <option value=\"\">{'Full width'}</option>\n <option value=\"1\">{'1 column'}</option>\n <option value=\"2\">{'2 columns'}</option>\n <option value=\"3\">{'3 columns'}</option>\n <option value=\"4\">{'4 columns'}</option>\n </Select>\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_0f334abe43e80f\" />\n </p>\n </div>\n <GeneratedValue\n value={\n field.type === 'select' ||\n field.type === 'radio' ||\n field.type === 'multi_select' ||\n field.type === 'checkbox_group' ||\n field.type === 'ranking' ? (\n <ChoiceOptionsEditor field={field} locale={locale} onChange={onChange} />\n ) : null\n }\n />\n <GeneratedValue\n value={\n field.type === 'table' ? <TableConfigEditor field={field} onChange={onChange} /> : null\n }\n />\n <GeneratedValue\n value={\n field.type === 'slider' ? <SliderConfigEditor field={field} onChange={onChange} /> : null\n }\n />\n <GeneratedValue\n value={\n field.type === 'matrix' ? <MatrixConfigEditor field={field} onChange={onChange} /> : null\n }\n />\n <GeneratedValue\n value={\n field.type === 'lookup' || field.type === 'data_table' || field.type === 'metric' ? (\n <DataBindingEditor\n field={field}\n otherFields={otherFields}\n autofillFields={autofillFields}\n sources={dataSources}\n loading={dataSourcesLoading}\n onRefresh={onRefreshDataSources}\n dataSourcesHref={dataSourcesHref}\n onChange={onChange}\n />\n ) : null\n }\n />\n </div>\n )\n}\n\nfunction SliderConfigEditor({\n field,\n onChange,\n}: {\n field: FormField\n onChange: (patch: Partial<FormField>) => void\n}) {\n const tGenerated = useGeneratedTranslations()\n const c = (field.config ?? {}) as { min?: number; max?: number; step?: number; unit?: string }\n const set = (patch: Partial<typeof c>) => onChange({ config: { ...field.config, ...patch } })\n return (\n <div className=\"space-y-2 rounded-md border border-border p-2\">\n <div className=\"text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_03363edf51ed99\" />\n </div>\n <div className=\"grid grid-cols-3 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_100639ca393959\" />\n </Label>\n <Input\n type=\"number\"\n value={c.min ?? 0}\n onChange={(e) => set({ min: Number(e.target.value) })}\n />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1929e34b445f83\" />\n </Label>\n <Input\n type=\"number\"\n value={c.max ?? 10}\n onChange={(e) => set({ max: Number(e.target.value) })}\n />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_0cff7e37da2b3f\" />\n </Label>\n <Input\n type=\"number\"\n value={c.step ?? 1}\n onChange={(e) => set({ step: Number(e.target.value) })}\n />\n </div>\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_19241615edae92\" />\n </Label>\n <Input\n value={c.unit ?? ''}\n placeholder={tGenerated('m_075f330b972a3b')}\n onChange={(e) => set({ unit: e.target.value })}\n />\n </div>\n </div>\n )\n}\n\nfunction MatrixConfigEditor({\n field,\n onChange,\n}: {\n field: FormField\n onChange: (patch: Partial<FormField>) => void\n}) {\n const tGenerated = useGeneratedTranslations()\n const c = (field.config ?? {}) as {\n rows?: { key: string; label: string }[]\n scale?: { value: string; label: string }[]\n }\n const rows = c.rows ?? []\n const scale = c.scale ?? []\n const setRows = (next: typeof rows) => onChange({ config: { ...field.config, rows: next } })\n const setScale = (next: typeof scale) => onChange({ config: { ...field.config, scale: next } })\n return (\n <div className=\"space-y-3 rounded-md border border-border p-2\">\n <div>\n <div className=\"mb-1 flex items-center justify-between\">\n <span className=\"text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_03be2202673df4\" />\n </span>\n <button\n type=\"button\"\n className=\"text-xs text-primary hover:underline\"\n onClick={() =>\n setRows([...rows, { key: newId('row'), label: `Row ${rows.length + 1}` }])\n }\n >\n <GeneratedText id=\"m_0d067cf371aad1\" />\n </button>\n </div>\n <div className=\"space-y-1\">\n <GeneratedValue\n value={rows.map((r, i) => (\n <div key={r.key} className=\"flex items-center gap-1\">\n <Input\n value={r.label}\n onChange={(e) =>\n setRows(rows.map((x, j) => (j === i ? { ...x, label: e.target.value } : x)))\n }\n />\n <IconButton\n title={tGenerated('m_12b310a027b08a')}\n onClick={() => setRows(rows.filter((_, j) => j !== i))}\n >\n <Trash2 size={13} className=\"text-danger\" />\n </IconButton>\n </div>\n ))}\n />\n </div>\n </div>\n <div>\n <div className=\"mb-1 flex items-center justify-between\">\n <span className=\"text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_1bd1bb813826dc\" />\n </span>\n <button\n type=\"button\"\n className=\"text-xs text-primary hover:underline\"\n onClick={() =>\n setScale([\n ...scale,\n { value: String(scale.length + 1), label: String(scale.length + 1) },\n ])\n }\n >\n <GeneratedText id=\"m_0f92f0f3b0d515\" />\n </button>\n </div>\n <div className=\"space-y-1\">\n <GeneratedValue\n value={scale.map((s, i) => (\n <div key={i} className=\"flex items-center gap-1\">\n <Input\n className=\"w-16 font-mono text-xs\"\n value={s.value}\n onChange={(e) =>\n setScale(scale.map((x, j) => (j === i ? { ...x, value: e.target.value } : x)))\n }\n />\n <Input\n value={s.label}\n onChange={(e) =>\n setScale(scale.map((x, j) => (j === i ? { ...x, label: e.target.value } : x)))\n }\n />\n <IconButton\n title={tGenerated('m_095b70fae90c39')}\n onClick={() => setScale(scale.filter((_, j) => j !== i))}\n >\n <Trash2 size={13} className=\"text-danger\" />\n </IconButton>\n </div>\n ))}\n />\n </div>\n </div>\n </div>\n )\n}\n\n// --- Data-bound element binding editor -------------------------------------\n\ntype DsColumns = FormDataSource['columns']\n\nfunction DataBindingEditor({\n field,\n otherFields,\n autofillFields,\n sources,\n loading,\n onRefresh,\n dataSourcesHref,\n onChange,\n}: {\n field: FormField\n otherFields: { id: string; label: string }[]\n autofillFields: { id: string; label: string }[]\n sources: readonly FormDataSource[]\n loading: boolean\n onRefresh?: () => void | Promise<void>\n dataSourcesHref?: string\n onChange: (patch: Partial<FormField>) => void\n}) {\n const b = field.binding\n const source = sources.find((s) => s.key === b?.sourceKey)\n const cols = source?.columns ?? []\n\n // Persist a binding patch — but drop the binding entirely if no source is\n // chosen, so the schema never carries an invalid empty sourceKey.\n const patch = (p: Partial<DataBinding>) => {\n const next = { ...(b ?? {}), ...p } as DataBinding\n if (!next.sourceKey) {\n onChange({ binding: undefined })\n return\n }\n onChange({\n binding: next,\n ...(field.type === 'data_table' && p.selectable === 'none'\n ? { required: undefined, validation: undefined, defaultValue: undefined }\n : {}),\n })\n }\n\n return (\n <div className=\"space-y-2.5 rounded-md border border-primary bg-primary-subtle/30 p-2\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-[10px] font-semibold tracking-wider text-primary uppercase\">\n <GeneratedText id=\"m_0d523c82eb812b\" />\n </span>\n {dataSourcesHref ? (\n <a\n href={dataSourcesHref}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"text-[11px] text-primary hover:underline\"\n >\n <GeneratedText id=\"m_1154a02825ffe0\" />\n </a>\n ) : null}\n {onRefresh ? (\n <button\n type=\"button\"\n onClick={() => void onRefresh()}\n className=\"inline-flex items-center gap-1 text-[11px] text-primary hover:underline\"\n >\n <RefreshCw size={11} />\n <GeneratedText id=\"m_16f11d7bc7b7b4\" />\n </button>\n ) : null}\n </div>\n\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1e51e17fccd721\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={b?.sourceKey ?? ''}\n onChange={(e) =>\n onChange({\n binding: e.target.value ? { sourceKey: e.target.value } : undefined,\n ...(field.type === 'data_table'\n ? { required: undefined, validation: undefined, defaultValue: undefined }\n : {}),\n })\n }\n >\n <option value=\"\">{loading ? 'Loading…' : '— pick a data source —'}</option>\n {sources.map((s) => (\n <option key={s.id} value={s.key}>\n {s.name}\n </option>\n ))}\n </Select>\n <GeneratedValue\n value={\n !loading && sources.length === 0 ? (\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_19589d12bcbbf9\" />\n </p>\n ) : null\n }\n />\n </div>\n\n <GeneratedValue\n value={\n source ? (\n <>\n <GeneratedValue\n value={\n field.type === 'lookup' ? (\n <LookupBindingFields\n b={b}\n cols={cols}\n otherFields={otherFields}\n autofillFields={autofillFields}\n patch={patch}\n />\n ) : null\n }\n />\n <GeneratedValue\n value={\n field.type === 'data_table' ? (\n <DataTableBindingFields\n b={b}\n cols={cols}\n otherFields={otherFields}\n patch={patch}\n />\n ) : null\n }\n />\n <GeneratedValue\n value={\n field.type === 'metric' ? (\n <MetricBindingFields\n b={b}\n cols={cols}\n otherFields={otherFields}\n patch={patch}\n />\n ) : null\n }\n />\n </>\n ) : null\n }\n />\n </div>\n )\n}\n\nfunction LookupBindingFields({\n b,\n cols,\n otherFields,\n autofillFields,\n patch,\n}: {\n b: DataBinding | undefined\n cols: DsColumns\n otherFields: { id: string; label: string }[]\n autofillFields: { id: string; label: string }[]\n patch: (p: Partial<DataBinding>) => void\n}) {\n const tGenerated = useGeneratedTranslations()\n const autofill = b?.autofill ?? []\n return (\n <div className=\"space-y-2\">\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_16ba74a70fdc2f\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={b?.labelColumn ?? ''}\n onChange={(e) => patch({ labelColumn: e.target.value || undefined })}\n >\n <option value=\"\">{'First column'}</option>\n {cols.map((c) => (\n <option key={c.key} value={c.key}>\n {c.label}\n </option>\n ))}\n </Select>\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_01c681f83ca98e\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={b?.valueColumn ?? ''}\n onChange={(e) => patch({ valueColumn: e.target.value || undefined })}\n >\n <option value=\"\">{'Row id'}</option>\n {cols.map((c) => (\n <option key={c.key} value={c.key}>\n {c.label}\n </option>\n ))}\n </Select>\n </div>\n </div>\n\n <CascadeBindingFields b={b} cols={cols} otherFields={otherFields} patch={patch} />\n\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_0d55cb5819a8ab\" />\n </Label>\n <Input\n type=\"number\"\n min={1}\n max={1000}\n className=\"h-8 text-xs\"\n value={b?.limit ?? ''}\n placeholder=\"50\"\n onChange={(e) => patch({ limit: e.target.value ? Number(e.target.value) : undefined })}\n />\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_1c39dfb38ad051\" />\n </p>\n </div>\n\n <div className=\"space-y-1.5 rounded border border-border bg-surface p-2\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_1aa941e2f78dc5\" />\n </span>\n <button\n type=\"button\"\n className=\"text-xs text-primary hover:underline\"\n onClick={() =>\n patch({\n autofill: [\n ...autofill,\n { column: cols[0]?.key ?? '', targetFieldId: autofillFields[0]?.id ?? '' },\n ],\n })\n }\n >\n <GeneratedText id=\"m_0e2a97913eb84b\" />\n </button>\n </div>\n <GeneratedValue\n value={\n autofill.length === 0 ? (\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_125586069a681f\" />\n </p>\n ) : (\n autofill.map((m, i) => (\n <div key={i} className=\"flex items-center gap-1\">\n <Select\n className=\"h-8 text-xs\"\n value={m.column}\n onChange={(e) =>\n patch({\n autofill: autofill.map((x, j) =>\n j === i ? { ...x, column: e.target.value } : x,\n ),\n })\n }\n >\n {cols.map((c) => (\n <option key={c.key} value={c.key}>\n {c.label}\n </option>\n ))}\n </Select>\n <span className=\"text-fg-muted\">→</span>\n <Select\n className=\"h-8 text-xs\"\n value={m.targetFieldId}\n onChange={(e) =>\n patch({\n autofill: autofill.map((x, j) =>\n j === i ? { ...x, targetFieldId: e.target.value } : x,\n ),\n })\n }\n >\n {autofillFields.map((f) => (\n <option key={f.id} value={f.id}>\n {f.label}\n </option>\n ))}\n </Select>\n <IconButton\n title={tGenerated('m_1d82f43c88df4c')}\n onClick={() => patch({ autofill: autofill.filter((_, j) => j !== i) })}\n >\n <Trash2 size={13} className=\"text-danger\" />\n </IconButton>\n </div>\n ))\n )\n }\n />\n </div>\n </div>\n )\n}\n\nfunction CascadeBindingFields({\n b,\n cols,\n otherFields,\n patch,\n}: {\n b: DataBinding | undefined\n cols: DsColumns\n otherFields: { id: string; label: string }[]\n patch: (p: Partial<DataBinding>) => void\n}) {\n return (\n <div className=\"space-y-1.5 rounded border border-border bg-surface p-2\">\n <div className=\"text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_171519729cccb4\" />\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_0bb347c23433ea\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={b?.filterByField ?? ''}\n onChange={(e) =>\n patch(\n e.target.value\n ? { filterByField: e.target.value }\n : { filterByField: undefined, filterColumn: undefined },\n )\n }\n >\n <option value=\"\">{'— none —'}</option>\n {otherFields.map((f) => (\n <option key={f.id} value={f.id}>\n {f.label}\n </option>\n ))}\n </Select>\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_0fdf1d8380c89b\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={b?.filterColumn ?? ''}\n disabled={!b?.filterByField}\n onChange={(e) => patch({ filterColumn: e.target.value || undefined })}\n >\n <option value=\"\">—</option>\n {cols.map((c) => (\n <option key={c.key} value={c.key}>\n {c.label}\n </option>\n ))}\n </Select>\n </div>\n </div>\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_03f068cc4e9384\" />\n </p>\n </div>\n )\n}\n\nfunction DataTableBindingFields({\n b,\n cols,\n otherFields,\n patch,\n}: {\n b: DataBinding | undefined\n cols: DsColumns\n otherFields: { id: string; label: string }[]\n patch: (p: Partial<DataBinding>) => void\n}) {\n const allShown = !b?.columns\n const shown = b?.columns ?? cols.map((c) => c.key)\n const toggle = (key: string) => {\n const base = b?.columns ?? cols.map((c) => c.key)\n const next = base.includes(key) ? base.filter((k) => k !== key) : [...base, key]\n patch({ columns: next })\n }\n return (\n <div className=\"space-y-2\">\n <CascadeBindingFields b={b} cols={cols} otherFields={otherFields} patch={patch} />\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_16f13907f8a65a\" />\n </Label>\n <div className=\"flex flex-wrap gap-1.5 rounded border border-border bg-surface p-1.5\">\n <GeneratedValue\n value={cols.map((c) => {\n const on = allShown || shown.includes(c.key)\n return (\n <button\n key={c.key}\n type=\"button\"\n onClick={() => toggle(c.key)}\n className={`rounded px-1.5 py-0.5 text-[11px] ${\n on ? 'bg-primary-subtle text-primary' : 'bg-surface-hover text-fg-muted line-through'\n }`}\n >\n <GeneratedValue value={c.label} />\n </button>\n )\n })}\n />\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_14b18c80af7bd4\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={b?.selectable ?? 'none'}\n onChange={(e) => patch({ selectable: e.target.value as DataBinding['selectable'] })}\n >\n <option value=\"none\">{'Display only'}</option>\n <option value=\"single\">{'Pick one row'}</option>\n <option value=\"multi\">{'Pick many rows'}</option>\n </Select>\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1ab6807a4e8f9e\" />\n </Label>\n <Input\n type=\"number\"\n min={1}\n max={1000}\n className=\"h-8 text-xs\"\n value={b?.limit ?? ''}\n placeholder=\"25\"\n onChange={(e) => patch({ limit: e.target.value ? Number(e.target.value) : undefined })}\n />\n </div>\n </div>\n </div>\n )\n}\n\nfunction MetricBindingFields({\n b,\n cols,\n otherFields,\n patch,\n}: {\n b: DataBinding | undefined\n cols: DsColumns\n otherFields: { id: string; label: string }[]\n patch: (p: Partial<DataBinding>) => void\n}) {\n const tGeneratedValue = useGeneratedValueTranslations()\n const agg = b?.aggregate ?? { fn: 'count' as const }\n const setAgg = (p: Partial<NonNullable<DataBinding['aggregate']>>) =>\n patch({ aggregate: { ...agg, ...p } })\n const needsColumn = agg.fn !== 'count'\n return (\n <div className=\"space-y-2\">\n <CascadeBindingFields b={b} cols={cols} otherFields={otherFields} patch={patch} />\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_102bef82722058\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={agg.fn}\n onChange={(e) => {\n const fn = e.target.value as NonNullable<DataBinding['aggregate']>['fn']\n setAgg(fn === 'count' ? { fn, column: undefined } : { fn })\n }}\n >\n <option value=\"count\">{'Count'}</option>\n <option value=\"sum\">{'Sum'}</option>\n <option value=\"avg\">{'Average'}</option>\n <option value=\"min\">{'Min'}</option>\n <option value=\"max\">{'Max'}</option>\n </Select>\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_166da8c01a8107\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={agg.column ?? ''}\n disabled={!needsColumn}\n onChange={(e) => setAgg({ column: e.target.value || undefined })}\n >\n <option value=\"\">{needsColumn ? '— pick —' : 'n/a'}</option>\n {cols.map((c) => (\n <option key={c.key} value={c.key}>\n {c.label}\n </option>\n ))}\n </Select>\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_175ee59112fb66\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={agg.groupBy ?? ''}\n onChange={(e) => {\n const groupBy = e.target.value || undefined\n patch({\n aggregate: { ...agg, groupBy },\n display: groupBy ? (b?.display === 'pie' ? 'pie' : 'bar') : 'number',\n })\n }}\n >\n <option value=\"\">{'— no grouping —'}</option>\n {cols.map((c) => (\n <option key={c.key} value={c.key}>\n {c.label}\n </option>\n ))}\n </Select>\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_06b9949f5fa1bc\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={b?.display ?? (agg.groupBy ? 'bar' : 'number')}\n onChange={(e) => patch({ display: e.target.value as DataBinding['display'] })}\n >\n {agg.groupBy ? (\n <>\n <option value=\"bar\">{'Bar chart'}</option>\n <option value=\"pie\">{'Pie chart'}</option>\n </>\n ) : (\n <option value=\"number\">{'Number'}</option>\n )}\n </Select>\n </div>\n </div>\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_067480a82419f2\" />\n </p>\n <GeneratedValue\n value={\n agg.groupBy ? (\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_147c46b5f494d3\" />\n </Label>\n <Input\n type=\"number\"\n min={1}\n max={1000}\n className=\"h-8 text-xs\"\n value={b?.limit ?? ''}\n placeholder={tGeneratedValue(b?.display === 'pie' ? '8' : '12')}\n onChange={(e) =>\n patch({ limit: e.target.value ? Number(e.target.value) : undefined })\n }\n />\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_018f962bfee661\" />\n </p>\n </div>\n ) : null\n }\n />\n </div>\n )\n}\n\nfunction FieldValidationTab({\n field,\n onChange,\n}: {\n field: FormField\n onChange: (patch: Partial<FormField>) => void\n}) {\n const tGenerated = useGeneratedTranslations()\n const v = field.validation ?? {}\n function set(patch: Partial<typeof v>) {\n const next = { ...v, ...patch }\n // Strip undefineds so the JSON stays tight.\n for (const k of Object.keys(next) as (keyof typeof next)[]) {\n if (next[k] === undefined || next[k] === '')\n delete (next as Record<string, unknown>)[k as string]\n }\n onChange({ validation: Object.keys(next).length ? next : undefined })\n }\n const isNumeric = field.type === 'number' || field.type === 'rating'\n const isText =\n field.type === 'text' ||\n field.type === 'long_text' ||\n field.type === 'email' ||\n field.type === 'phone' ||\n field.type === 'url'\n return (\n <div className=\"space-y-3\">\n <label className=\"flex items-center gap-2 text-sm\">\n <input\n type=\"checkbox\"\n checked={v.required ?? field.required ?? false}\n onChange={(e) => set({ required: e.target.checked })}\n />\n <GeneratedText id=\"m_0316664a18ded7\" />\n </label>\n <GeneratedValue\n value={\n isNumeric ? (\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_100639ca393959\" />\n </Label>\n <Input\n type=\"number\"\n value={v.min ?? ''}\n onChange={(e) =>\n set({ min: e.target.value === '' ? undefined : Number(e.target.value) })\n }\n />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1929e34b445f83\" />\n </Label>\n <Input\n type=\"number\"\n value={v.max ?? ''}\n onChange={(e) =>\n set({ max: e.target.value === '' ? undefined : Number(e.target.value) })\n }\n />\n </div>\n </div>\n ) : null\n }\n />\n <GeneratedValue\n value={\n isText ? (\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_141aeed76d15ff\" />\n </Label>\n <Input\n type=\"number\"\n value={v.minLength ?? ''}\n onChange={(e) =>\n set({ minLength: e.target.value === '' ? undefined : Number(e.target.value) })\n }\n />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_0806911c39f2f6\" />\n </Label>\n <Input\n type=\"number\"\n value={v.maxLength ?? ''}\n onChange={(e) =>\n set({ maxLength: e.target.value === '' ? undefined : Number(e.target.value) })\n }\n />\n </div>\n </div>\n ) : null\n }\n />\n <GeneratedValue\n value={\n isText ? (\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1357113b889d93\" />\n </Label>\n <Input\n value={v.pattern ?? ''}\n onChange={(e) => set({ pattern: e.target.value || undefined })}\n placeholder={tGenerated('m_16907e8a555a15')}\n />\n <p className=\"text-[11px] text-fg-muted\">\n <GeneratedText id=\"m_1653ad0a199171\" />{' '}\n <GeneratedValue value={<GeneratedText id=\"m_1a3262f89c2c42\" />} />{' '}\n <GeneratedText id=\"m_00b3d8649525da\" />\n </p>\n </div>\n ) : null\n }\n />\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1a014cc338576c\" />\n </Label>\n <Input\n value={v.message ?? ''}\n onChange={(e) => set({ message: e.target.value || undefined })}\n placeholder={tGenerated('m_1737e921e5c6c6')}\n />\n </div>\n </div>\n )\n}\n\nfunction FieldDefaultTab({\n field,\n onChange,\n}: {\n field: FormField\n onChange: (patch: Partial<FormField>) => void\n}) {\n const tGenerated = useGeneratedTranslations()\n const d = field.defaultValue as DefaultValueExpression | undefined\n const kind = d?.kind ?? ''\n function setKind(next: string) {\n if (!next) return onChange({ defaultValue: undefined })\n switch (next) {\n case 'literal':\n onChange({ defaultValue: { kind: 'literal', value: '' } })\n break\n case 'today':\n onChange({ defaultValue: { kind: 'today' } })\n break\n case 'now':\n onChange({ defaultValue: { kind: 'now' } })\n break\n case 'current_user_person_id':\n onChange({ defaultValue: { kind: 'current_user_person_id' } })\n break\n case 'current_user_name':\n onChange({ defaultValue: { kind: 'current_user_name' } })\n break\n }\n }\n return (\n <div className=\"space-y-3\">\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_0de21bd4fd99e9\" />\n </p>\n <Select className=\"h-8 text-xs\" value={kind} onChange={(e) => setKind(e.target.value)}>\n <option value=\"\">{'— No default —'}</option>\n <option value=\"literal\">{'Literal value'}</option>\n <option value=\"today\">{\"Today's date\"}</option>\n <option value=\"now\">{'Right now'}</option>\n <option value=\"current_user_person_id\">{\"Current user's person id\"}</option>\n <option value=\"current_user_name\">{\"Current user's name\"}</option>\n </Select>\n <GeneratedValue\n value={\n d?.kind === 'literal' ? (\n <Input\n value={String(d.value ?? '')}\n onChange={(e) =>\n onChange({ defaultValue: { kind: 'literal', value: e.target.value } })\n }\n placeholder={tGenerated('m_0776e7f56fd55a')}\n />\n ) : null\n }\n />\n </div>\n )\n}\n\nfunction ChoiceOptionsEditor({\n field,\n locale,\n onChange,\n}: {\n field: FormField\n locale: AppLocale\n onChange: (patch: Partial<FormField>) => void\n}) {\n const tGenerated = useGeneratedTranslations()\n const options = field.validation?.options ?? []\n const update = (next: typeof options) =>\n onChange({ validation: { ...field.validation, options: next } })\n return (\n <div className=\"space-y-2 rounded-md border border-border bg-bg-subtle/50 p-2\">\n <div className=\"text-xs font-semibold text-fg\">\n <GeneratedText id=\"m_0e69ebb67d27c2\" />\n </div>\n <GeneratedValue\n value={\n options.length === 0 ? (\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_06a6b6820d522d\" />\n </p>\n ) : (\n <ul className=\"space-y-1\">\n <GeneratedValue\n value={options.map((opt, i) => (\n <li key={i} className=\"flex items-center gap-1\">\n <Input\n className=\"h-8 flex-1 text-xs\"\n value={opt.value}\n placeholder={tGenerated('m_1ed2cc27e05841')}\n onChange={(e) => {\n const next = [...options]\n next[i] = { ...opt, value: e.target.value }\n update(next)\n }}\n />\n <Input\n className=\"h-8 flex-1 text-xs\"\n value={readText(opt.label, locale)}\n placeholder={tGenerated('m_02a6c587f3d3fb')}\n onChange={(e) => {\n const next = [...options]\n next[i] = {\n ...opt,\n label: writeText(opt.label, e.target.value, locale),\n }\n update(next)\n }}\n />\n <button\n onClick={() => update(options.filter((_, j) => j !== i))}\n className=\"text-fg-muted hover:text-danger\"\n >\n <Trash2 size={12} />\n </button>\n </li>\n ))}\n />\n </ul>\n )\n }\n />\n <Button\n size=\"sm\"\n variant=\"outline\"\n onClick={() =>\n update([\n ...options,\n {\n value: `opt_${options.length + 1}`,\n label: { [locale]: 'New option' },\n },\n ])\n }\n >\n <Plus size={12} />\n <GeneratedText id=\"m_157bc1fc2157b9\" />\n </Button>\n </div>\n )\n}\n\n// --- Table config (column + row editor for `table` fields) ------------------\n\nfunction TableConfigEditor({\n field,\n onChange,\n}: {\n field: FormField\n onChange: (patch: Partial<FormField>) => void\n}) {\n const tGenerated = useGeneratedTranslations()\n const config = (field.config ?? {}) as Partial<TableConfig>\n const columns = (config.columns ?? []) as TableColumn[]\n const rowMode = config.rowMode === 'fixed' ? 'fixed' : 'addable'\n const fixedRows = config.rows ?? []\n\n function setConfig(patch: Partial<TableConfig>) {\n onChange({ config: { ...(config as Record<string, unknown>), ...patch } })\n }\n const setColumns = (next: TableColumn[]) => setConfig({ columns: next })\n const setRows = (next: { label: string }[]) => setConfig({ rows: next })\n\n return (\n <div className=\"space-y-3 rounded-md border border-border bg-bg-subtle/50 p-2\">\n <div className=\"text-xs font-semibold text-fg\">\n <GeneratedText id=\"m_0d25e53152dc0a\" />\n </div>\n\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_03be2202673df4\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={rowMode}\n onChange={(e) => {\n const nextMode = e.target.value as 'addable' | 'fixed'\n setConfig(\n nextMode === 'fixed'\n ? { rowMode: nextMode, minRows: undefined, maxRows: undefined }\n : { rowMode: nextMode, rows: undefined },\n )\n }}\n >\n <option value=\"addable\">{'Addable — user adds / removes rows'}</option>\n <option value=\"fixed\">{'Predefined — fixed list of rows'}</option>\n </Select>\n </div>\n\n <GeneratedValue\n value={\n rowMode === 'addable' ? (\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_00c5b5a40a72f6\" />\n </Label>\n <Input\n type=\"number\"\n className=\"h-8 text-xs\"\n value={config.minRows ?? ''}\n onChange={(e) =>\n setConfig({\n minRows: e.target.value === '' ? undefined : Number(e.target.value),\n })\n }\n />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_199de632ae64e0\" />\n </Label>\n <Input\n type=\"number\"\n className=\"h-8 text-xs\"\n value={config.maxRows ?? ''}\n onChange={(e) =>\n setConfig({\n maxRows: e.target.value === '' ? undefined : Number(e.target.value),\n })\n }\n />\n </div>\n </div>\n ) : null\n }\n />\n\n <div className=\"space-y-2\">\n <div className=\"text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_04eacfda3069db\" />\n </div>\n <GeneratedValue\n value={\n columns.length === 0 ? (\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_09750de58b1490\" />\n </p>\n ) : (\n <ul className=\"space-y-2\">\n <GeneratedValue\n value={columns.map((c, i) => (\n <li key={i} className=\"space-y-1 rounded border border-border bg-surface p-2\">\n <div className=\"flex items-center gap-1\">\n <Input\n className=\"h-7 flex-1 text-xs\"\n value={c.label}\n placeholder={tGenerated('m_1e2be77312c5b8')}\n onChange={(e) =>\n setColumns(\n columns.map((x, idx) =>\n idx === i ? { ...x, label: e.target.value } : x,\n ),\n )\n }\n />\n <Select\n className=\"h-7 w-24 text-xs\"\n value={c.type}\n onChange={(e) => {\n const type = e.target.value as TableColumn['type']\n setColumns(\n columns.map((x, idx) =>\n idx === i\n ? {\n ...x,\n type,\n options: type === 'select' ? (x.options ?? []) : undefined,\n }\n : x,\n ),\n )\n }}\n >\n <option value=\"text\">{'Text'}</option>\n <option value=\"number\">{'Number'}</option>\n <option value=\"select\">{'Dropdown'}</option>\n <option value=\"checkbox\">{'Checkbox'}</option>\n <option value=\"date\">{'Date'}</option>\n </Select>\n <button\n type=\"button\"\n onClick={() => setColumns(columns.filter((_, idx) => idx !== i))}\n className=\"rounded p-1 text-fg-muted hover:text-danger\"\n title={tGenerated('m_0605fd789eea1e')}\n >\n <Trash2 size={12} />\n </button>\n </div>\n <Input\n className=\"h-7 font-mono text-[11px]\"\n value={c.key}\n placeholder={tGenerated('m_1d19a02fd2872f')}\n onChange={(e) =>\n setColumns(\n columns.map((x, idx) =>\n idx === i ? { ...x, key: e.target.value.replace(/\\s+/g, '_') } : x,\n ),\n )\n }\n />\n <GeneratedValue\n value={\n c.type === 'select' ? (\n <TableColumnOptions\n options={c.options ?? []}\n onChange={(opts) =>\n setColumns(\n columns.map((x, idx) =>\n idx === i ? { ...x, options: opts } : x,\n ),\n )\n }\n />\n ) : null\n }\n />\n </li>\n ))}\n />\n </ul>\n )\n }\n />\n <Button\n size=\"sm\"\n variant=\"outline\"\n onClick={() => {\n const n = columns.length + 1\n setColumns([...columns, { key: `col_${n}`, label: `Column ${n}`, type: 'text' }])\n }}\n >\n <Plus size={12} /> <GeneratedText id=\"m_059cd549852b55\" />\n </Button>\n </div>\n\n <GeneratedValue\n value={\n rowMode === 'fixed' ? (\n <div className=\"space-y-2\">\n <div className=\"text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_159e1e93b7e19d\" />\n </div>\n <GeneratedValue\n value={\n fixedRows.length === 0 ? (\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_126f736e7419f7\" />\n </p>\n ) : (\n <ul className=\"space-y-1\">\n <GeneratedValue\n value={fixedRows.map((r, i) => (\n <li key={i} className=\"flex items-center gap-1\">\n <Input\n className=\"h-7 flex-1 text-xs\"\n value={r.label}\n placeholder={tGenerated('m_0f24da1a05270a')}\n onChange={(e) =>\n setRows(\n fixedRows.map((x, idx) =>\n idx === i ? { label: e.target.value } : x,\n ),\n )\n }\n />\n <button\n type=\"button\"\n onClick={() => setRows(fixedRows.filter((_, idx) => idx !== i))}\n className=\"rounded p-1 text-fg-muted hover:text-danger\"\n title={tGenerated('m_12b310a027b08a')}\n >\n <Trash2 size={12} />\n </button>\n </li>\n ))}\n />\n </ul>\n )\n }\n />\n <Button\n size=\"sm\"\n variant=\"outline\"\n onClick={() => setRows([...fixedRows, { label: `Row ${fixedRows.length + 1}` }])}\n >\n <Plus size={12} /> <GeneratedText id=\"m_1eabd71bbc0199\" />\n </Button>\n </div>\n ) : null\n }\n />\n </div>\n )\n}\n\nfunction TableColumnOptions({\n options,\n onChange,\n}: {\n options: { value: string; label: string }[]\n onChange: (opts: { value: string; label: string }[]) => void\n}) {\n const tGenerated = useGeneratedTranslations()\n return (\n <div className=\"space-y-1 rounded border border-border bg-bg-subtle p-1.5\">\n <div className=\"text-[10px] font-semibold tracking-wider text-fg-muted uppercase\">\n <GeneratedText id=\"m_0e69ebb67d27c2\" />\n </div>\n <GeneratedValue\n value={options.map((o, i) => (\n <div key={i} className=\"flex items-center gap-1\">\n <Input\n className=\"h-6 flex-1 text-[11px]\"\n value={o.label}\n placeholder={tGenerated('m_044a5abd7d3ad4')}\n onChange={(e) =>\n onChange(\n options.map((x, idx) =>\n idx === i\n ? {\n value: x.value || e.target.value.toLowerCase().replace(/\\s+/g, '_'),\n label: e.target.value,\n }\n : x,\n ),\n )\n }\n />\n <button\n type=\"button\"\n onClick={() => onChange(options.filter((_, idx) => idx !== i))}\n className=\"rounded p-0.5 text-fg-muted hover:text-danger\"\n >\n <Trash2 size={11} />\n </button>\n </div>\n ))}\n />\n <Button\n size=\"sm\"\n variant=\"outline\"\n onClick={() =>\n onChange([\n ...options,\n { value: `opt_${options.length + 1}`, label: `Option ${options.length + 1}` },\n ])\n }\n >\n <Plus size={11} /> <GeneratedText id=\"m_00f78a864ff266\" />\n </Button>\n </div>\n )\n}\n\n// --- Section properties ----------------------------------------------------\n\nfunction SectionProperties({\n section,\n schema,\n locale,\n defaultLocale,\n onChange,\n}: {\n section: FormSection\n schema: FormSchemaV1\n locale: AppLocale\n defaultLocale: AppLocale\n onChange: (patch: Partial<FormSection>) => void\n}) {\n const tGeneratedValue = useGeneratedValueTranslations()\n const tGenerated = useGeneratedTranslations()\n const allFields = schema.sections\n .filter((candidate) => !candidate.repeating)\n .flatMap((candidate) => candidate.fields)\n .filter(storesResponseValue)\n .map((field) => ({\n id: field.id,\n label: localizeText(field.label, locale, field.id, defaultLocale),\n }))\n return (\n <div className=\"space-y-3 text-sm\">\n <h3 className=\"text-sm font-semibold text-fg\">\n <GeneratedText id=\"m_0d513924d97753\" />\n </h3>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_089e71eb771aca\" />\n </Label>\n <Input value={section.id} disabled className=\"font-mono text-xs\" />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1ea646f0dcd3d5\" />\n <GeneratedValue value={locale.toUpperCase()} />)\n </Label>\n <Input\n value={readText(section.title, locale)}\n placeholder={tGeneratedValue(\n localizeText(section.title, locale, section.id, defaultLocale),\n )}\n onChange={(e) =>\n onChange({ title: writeText(section.title, e.target.value, locale) })\n }\n />\n </div>\n <GeneratedValue\n value={\n schema.tabs?.length ? (\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1457c1cce0b63c\" />\n </Label>\n <Select\n value={section.tabId ?? schema.tabs[0]!.id}\n onChange={(e) => onChange({ tabId: e.target.value })}\n >\n {schema.tabs.map((t) => (\n <option key={t.id} value={t.id}>\n {localizeText(t.title, locale, t.id, defaultLocale)}\n </option>\n ))}\n </Select>\n </div>\n ) : null\n }\n />\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_14d923495cf14c\" />\n </Label>\n <Textarea\n rows={2}\n value={readText(section.description, locale)}\n placeholder={tGeneratedValue(\n localizeText(section.description, locale, '', defaultLocale),\n )}\n onChange={(e) => {\n onChange({\n description: e.target.value\n ? writeText(section.description, e.target.value, locale)\n : undefined,\n })\n }}\n />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_0664f38791aed8\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={section.step ?? ''}\n onChange={(e) => onChange({ step: e.target.value || undefined })}\n >\n <option value=\"\">{'— first step (default) —'}</option>\n {(schema.workflow?.steps ?? []).map((s) => (\n <option key={s.key} value={s.key}>\n {localizeText(s.title, locale, s.key, defaultLocale)}\n </option>\n ))}\n </Select>\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1ee65e14915cf1\" />\n </Label>\n <Select\n className=\"h-8 text-xs\"\n value={String(section.layout?.columns ?? 1)}\n onChange={(e) => {\n const n = Number(e.target.value)\n onChange({ layout: n > 1 ? { columns: n, gap: section.layout?.gap } : undefined })\n }}\n >\n <option value=\"1\">{'1 column'}</option>\n <option value=\"2\">{'2 columns'}</option>\n <option value=\"3\">{'3 columns'}</option>\n <option value=\"4\">{'4 columns'}</option>\n </Select>\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_1e0a540071af99\" />\n </p>\n </div>\n <label className=\"flex items-center gap-2\">\n <input\n type=\"checkbox\"\n checked={section.repeating ?? false}\n onChange={(e) => onChange({ repeating: e.target.checked })}\n />\n <GeneratedText id=\"m_10a741ad57253f\" />\n </label>\n <GeneratedValue\n value={\n section.repeating ? (\n <div className=\"space-y-2 rounded border border-border bg-bg-subtle/50 p-2\">\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_00c5b5a40a72f6\" />\n </Label>\n <Input\n type=\"number\"\n value={section.minRows ?? ''}\n onChange={(e) =>\n onChange({\n minRows: e.target.value === '' ? undefined : Number(e.target.value),\n })\n }\n />\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_199de632ae64e0\" />\n </Label>\n <Input\n type=\"number\"\n value={section.maxRows ?? ''}\n onChange={(e) =>\n onChange({\n maxRows: e.target.value === '' ? undefined : Number(e.target.value),\n })\n }\n />\n </div>\n </div>\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_1c4a359175c7fa\" />\n </Label>\n <Input\n value={section.rowLabelTemplate ?? ''}\n placeholder={tGenerated('m_02890419bf69c5')}\n onChange={(e) => onChange({ rowLabelTemplate: e.target.value || undefined })}\n />\n <p className=\"text-[10px] text-fg-muted\">\n <GeneratedText id=\"m_0ea6ba70f4dcd9\" />{' '}\n <GeneratedValue value={<GeneratedText id=\"m_126c7eab8ac9fd\" />} />,{' '}\n <GeneratedValue value={<GeneratedText id=\"m_1ed8de977a458a\" />} />\n <GeneratedText id=\"m_1e018b65c95ffd\" />{' '}\n <GeneratedValue value={<GeneratedText id=\"m_1fad56c24b22ed\" />} />{' '}\n <GeneratedText id=\"m_02193054995990\" />\n </p>\n </div>\n </div>\n ) : null\n }\n />\n <div className=\"space-y-1 pt-2\">\n <Label className=\"text-xs\">\n <GeneratedText id=\"m_024d5ac76425dc\" />\n </Label>\n <LogicBuilder\n rule={section.showIf}\n availableFields={allFields}\n onChange={(rule) => onChange({ showIf: rule })}\n />\n </div>\n </div>\n )\n}\n\n// --- Preview pane ----------------------------------------------------------\n\nfunction Preview({\n schema,\n locale,\n defaultLocale,\n}: {\n schema: FormSchemaV1\n locale: AppLocale\n defaultLocale: AppLocale\n}) {\n const sections = schema.sections\n const groupedByStep = useMemo(() => {\n const out = new Map<string, FormSection[]>()\n const defaultStep = schema.workflow?.steps[0]?.key ?? ''\n for (const sec of sections) {\n const k = sec.step ?? defaultStep\n const list = out.get(k) ?? []\n list.push(sec)\n out.set(k, list)\n }\n return out\n }, [sections, schema.workflow?.steps])\n\n return (\n <Card className=\"border-2 border-dashed border-border-strong bg-surface border-border\">\n <CardHeader>\n <CardTitle className=\"text-base\">\n <GeneratedText id=\"m_07c67e89962d16\" />{' '}\n <GeneratedValue value={localizeText(schema.title, locale, 'Form', defaultLocale)} />\n </CardTitle>\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_045d47c21e1cdf\" />\n </p>\n </CardHeader>\n <CardContent className=\"space-y-4 text-sm\">\n <GeneratedValue\n value={(schema.workflow?.steps ?? []).map((step) => {\n const stepSections = groupedByStep.get(step.key) ?? []\n if (stepSections.length === 0) return null\n return (\n <div\n key={step.key}\n className=\"rounded-md border border-border\"\n >\n <div className=\"border-b border-border bg-bg-subtle px-3 py-1.5 text-xs font-semibold text-fg bg-bg-subtle/40\">\n <GeneratedText id=\"m_1acffe9b7aa3dd\" />{' '}\n <GeneratedValue\n value={localizeText(step.title, locale, step.key, defaultLocale)}\n />\n </div>\n <div className=\"space-y-3 p-3\">\n <GeneratedValue\n value={stepSections.map((sec) => (\n <div key={sec.id}>\n <h3 className=\"mb-1 text-sm font-semibold text-fg\">\n <GeneratedValue\n value={localizeText(sec.title, locale, sec.id, defaultLocale)}\n />\n <GeneratedValue value={' '} />\n <GeneratedValue\n value={\n sec.repeating ? (\n <Badge variant=\"secondary\" className=\"text-[10px]\">\n <GeneratedText id=\"m_06e1ca227aca9b\" />\n </Badge>\n ) : null\n }\n />\n </h3>\n <GeneratedValue\n value={\n localizeText(sec.description, locale, '', defaultLocale) ? (\n <p className=\"mb-1 text-xs text-fg-muted\">\n <GeneratedValue\n value={localizeText(sec.description, locale, '', defaultLocale)}\n />\n </p>\n ) : null\n }\n />\n <div className=\"space-y-2\">\n <GeneratedValue\n value={sec.fields.map((f) => (\n <div key={f.id}>\n <label className=\"block text-xs font-medium text-fg\">\n <GeneratedValue\n value={localizeText(f.label, locale, f.id, defaultLocale)}\n />\n <GeneratedValue value={' '} />\n <GeneratedValue\n value={\n f.required || f.validation?.required ? (\n <span className=\"text-danger\">*</span>\n ) : null\n }\n />\n <GeneratedValue\n value={\n f.showIf ? (\n <Badge variant=\"outline\" className=\"ml-1 text-[10px]\">\n <GeneratedText id=\"m_02529c1532db7a\" />\n </Badge>\n ) : null\n }\n />\n </label>\n <PreviewField type={f.type} />\n </div>\n ))}\n />\n </div>\n </div>\n ))}\n />\n </div>\n </div>\n )\n })}\n />\n </CardContent>\n </Card>\n )\n}\n\nfunction PreviewField({ type }: { type: FieldType }) {\n const tGenerated = useGeneratedTranslations()\n switch (type) {\n case 'long_text':\n return <Textarea rows={2} disabled placeholder={tGenerated('m_11d37007232de5')} />\n case 'select':\n case 'radio':\n return (\n <Select disabled>\n <option>—</option>\n </Select>\n )\n case 'checkbox_group':\n case 'multi_select':\n return (\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_0a31fefe8144a2\" />\n </p>\n )\n case 'signature':\n return <div className=\"h-16 rounded border border-dashed border-border-strong bg-bg-subtle\" />\n case 'photo':\n case 'photo_upload':\n case 'file':\n case 'video':\n case 'audio':\n return (\n <div className=\"rounded border border-dashed border-border-strong p-3 text-center text-xs text-fg-muted\">\n <GeneratedText id=\"m_1411910c3561c0\" />\n </div>\n )\n case 'heading':\n return (\n <h4 className=\"text-base font-semibold\">\n <GeneratedText id=\"m_0f8b37ea44adb6\" />\n </h4>\n )\n case 'paragraph':\n return (\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_0131c1cfaf2d5c\" />\n </p>\n )\n case 'divider':\n return <hr className=\"border-border\" />\n case 'formula':\n return <Input disabled value=\"(computed)\" />\n case 'pass_fail_na':\n return (\n <div className=\"flex gap-1\">\n <GeneratedValue\n value={['PASS', 'FAIL', 'N/A'].map((v) => (\n <span key={v} className=\"rounded border border-border px-2 py-1 text-[10px]\">\n <GeneratedValue value={v} />\n </span>\n ))}\n />\n </div>\n )\n case 'traffic_light':\n return (\n <div className=\"flex gap-1\">\n <GeneratedValue\n value={[\n ['bg-success', 'Green'],\n ['bg-warning', 'Yellow'],\n ['bg-danger', 'Red'],\n ].map(([tone, label]) => (\n <span\n key={label as string}\n className=\"flex items-center gap-1 rounded border border-border px-2 py-1 text-[10px]\"\n >\n <span className={`inline-block h-2 w-2 rounded-full ${tone}`} />\n <GeneratedValue value={label} />\n </span>\n ))}\n />\n </div>\n )\n default:\n return <Input disabled placeholder={tGenerated('m_11d37007232de5')} />\n }\n}\n\n// --- Unified editor: rail tabs + left-pane panels ---------------------------\n\nfunction LabeledField({ label, children }: { label: string; children: React.ReactNode }) {\n return (\n <div className=\"space-y-1\">\n <Label className=\"text-xs\">\n <GeneratedValue value={label} />\n </Label>\n <GeneratedValue value={children} />\n </div>\n )\n}\n\nfunction LeftTab({\n active,\n onClick,\n icon,\n label,\n}: {\n active: boolean\n onClick: () => void\n icon: React.ReactNode\n label: string\n}) {\n const tGeneratedValue = useGeneratedValueTranslations()\n return (\n <button\n type=\"button\"\n onClick={onClick}\n title={tGeneratedValue(label)}\n aria-label={tGeneratedValue(label)}\n className={`flex flex-1 items-center justify-center rounded-md px-1.5 py-2 transition ${\n active\n ? 'bg-primary-subtle text-primary'\n : 'text-fg-muted hover:bg-surface-hover hover:text-fg'\n }`}\n >\n <GeneratedValue value={icon} />\n </button>\n )\n}\n\nfunction SurfaceTab({\n active,\n onClick,\n icon,\n label,\n}: {\n active: boolean\n onClick: () => void\n icon: React.ReactNode\n label: string\n}) {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n className={`flex items-center gap-1.5 rounded-md px-3 py-1 text-xs font-medium transition ${\n active\n ? 'bg-fg text-bg'\n : 'text-fg-muted hover:bg-surface-hover'\n }`}\n >\n <GeneratedValue value={icon} /> <GeneratedValue value={label} />\n </button>\n )\n}\n\nfunction OverviewPanel({\n name,\n overview,\n onSaved,\n onSave,\n canPin = false,\n pinned = false,\n onPin,\n}: {\n name: string\n overview?: ProductionDesignerOverview\n onSaved: (name: string) => void\n onSave(input: { name: string; description: string; surfaceAsTool: boolean }): Promise<{ ok: boolean; error?: string }>\n canPin?: boolean\n pinned?: boolean\n onPin?: (next: boolean) => Promise<{ ok: boolean; error?: string }>\n}) {\n const tGeneratedValue = useGeneratedValueTranslations()\n const tGenerated = useGeneratedTranslations()\n const [n, setN] = useState(name)\n const [description, setDescription] = useState(overview?.description ?? '')\n const [surfaceAsTool, setSurfaceAsTool] = useState(overview?.surfaceAsTool ?? false)\n const [pending, start] = useTransition()\n const save = () => {\n if (n.trim().length < 2) {\n toast.error(tGenerated('m_0aa48682b14c95'))\n return\n }\n start(async () => {\n const res = await onSave({\n name: n.trim(),\n description,\n surfaceAsTool,\n })\n if (!res.ok) {\n toast.error(tGeneratedValue(res.error ?? tGenerated('m_0af1983403d12e')))\n return\n }\n onSaved(n.trim())\n toast.success(tGenerated('m_0964f6e2cc4375'))\n })\n }\n return (\n <div className=\"space-y-3\">\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_08114bb9803f7d\" />\n </p>\n <LabeledField label={tGenerated('m_18a30dc84d2a64')}>\n <Input value={n} onChange={(e) => setN(e.target.value)} />\n </LabeledField>\n <LabeledField label={tGenerated('m_14d923495cf14c')}>\n <Textarea\n rows={4}\n value={description}\n placeholder={tGenerated('m_074251897a5932')}\n onChange={(e) => setDescription(e.target.value)}\n />\n </LabeledField>\n <label className=\"flex items-start gap-2 rounded-md border border-border p-3 text-sm\">\n <input\n type=\"checkbox\"\n checked={surfaceAsTool}\n onChange={(e) => setSurfaceAsTool(e.target.checked)}\n className=\"mt-0.5 h-4 w-4\"\n />\n <span>\n <span className=\"font-medium text-fg\">\n <GeneratedText id=\"m_1f008c56f09179\" />\n </span>\n <span className=\"block text-xs text-fg-muted\">\n <GeneratedText id=\"m_160f2c28b65229\" />{' '}\n <span className=\"font-mono\">\n <GeneratedText id=\"m_1ddad1532de2e3\" />\n </span>{' '}\n <GeneratedText id=\"m_186d665b9052f3\" />\n </span>\n </span>\n </label>\n <Button onClick={save} disabled={pending} className=\"w-full\">\n <GeneratedValue\n value={\n pending ? (\n <GeneratedText id=\"m_106811f2aac664\" />\n ) : (\n <GeneratedText id=\"m_16f4ae27da8dbb\" />\n )\n }\n />\n </Button>\n <GeneratedValue\n value={\n canPin ? (\n <div className=\"space-y-2 rounded-md border border-border p-3\">\n <div className=\"text-sm font-medium text-fg\">\n <GeneratedText id=\"m_0cc4443595b87e\" />\n </div>\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_1dadff0d2c2898\" />\n </p>\n {onPin ? (\n <Button\n variant={pinned ? 'secondary' : 'outline'}\n size=\"sm\"\n disabled={pending}\n onClick={() => start(async () => {\n const result = await onPin(!pinned)\n if (!result.ok) toast.error(tGeneratedValue(result.error ?? tGenerated('m_09249e0e6a801e')))\n })}\n >\n {pinned ? <PinOff size={14} /> : <Pin size={14} />}\n {pinned ? <GeneratedText id=\"m_09eea65fa736d3\" /> : <GeneratedText id=\"m_16b0d6e1ba7d5e\" />}\n </Button>\n ) : null}\n </div>\n ) : null\n }\n />\n </div>\n )\n}\n\nfunction AssignmentsPanel({ createHref, listHref }: { createHref: string; listHref: string }) {\n return (\n <div className=\"space-y-3\">\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_0976c514f311fb\" />{' '}\n <span className=\"font-medium text-fg\">\n <GeneratedText id=\"m_096d47f60747b3\" />\n </span>{' '}\n <GeneratedText id=\"m_1bac81ba078d96\" />\n </p>\n <a href={createHref} className=\"block\">\n <Button className=\"w-full\">\n <Send size={14} /> <GeneratedText id=\"m_0b60657b166b0e\" />\n </Button>\n </a>\n <a href={listHref} className=\"block\">\n <Button variant=\"outline\" className=\"w-full\">\n <GeneratedText id=\"m_0c528a939be441\" />\n </Button>\n </a>\n <p className=\"text-[11px] text-fg-muted\">\n <GeneratedText id=\"m_0ad38d3d51d13e\" />\n </p>\n </div>\n )\n}\n\nfunction PermissionsPanel({\n roles,\n initial,\n onSave,\n}: {\n roles: { key: string; name: string }[]\n initial: string[]\n onSave(next: string[]): Promise<{ ok: boolean; error?: string }>\n}) {\n const tGeneratedValue = useGeneratedValueTranslations()\n const tGenerated = useGeneratedTranslations()\n const [sel, setSel] = useState<Set<string>>(new Set(initial))\n const [pending, start] = useTransition()\n const toggle = (key: string) =>\n setSel((s) => {\n const n = new Set(s)\n if (n.has(key)) n.delete(key)\n else n.add(key)\n return n\n })\n const save = () =>\n start(async () => {\n const res = await onSave(Array.from(sel))\n if (!res.ok) {\n toast.error(tGeneratedValue(res.error ?? tGenerated('m_0af1983403d12e')))\n return\n }\n toast.success(tGenerated('m_1e42ea374d7063'))\n })\n const restricted = sel.size > 0\n return (\n <div className=\"space-y-3\">\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_14c557ff352d60\" />\n </p>\n <div\n className={`rounded-md border px-3 py-2 text-xs ${\n restricted\n ? 'border-warning bg-warning-subtle text-warning'\n : 'border-success bg-success-subtle text-success'\n }`}\n >\n <GeneratedValue\n value={\n restricted ? (\n <GeneratedText\n id=\"m_1f688129a274f7\"\n values={{ value0: sel.size, value1: sel.size === 1 ? '' : 's' }}\n />\n ) : (\n <GeneratedText id=\"m_1452f24ba8370a\" />\n )\n }\n />\n </div>\n <GeneratedValue\n value={\n roles.length === 0 ? (\n <p className=\"text-xs text-fg-muted\">\n <GeneratedText id=\"m_008f5a3d7812ab\" />\n </p>\n ) : (\n <ul className=\"space-y-1\">\n <GeneratedValue\n value={roles.map((r) => (\n <li key={r.key}>\n <label className=\"flex cursor-pointer items-center gap-2 rounded-md border border-border px-3 py-1.5 text-sm hover:bg-bg-subtle\">\n <input\n type=\"checkbox\"\n checked={sel.has(r.key)}\n onChange={() => toggle(r.key)}\n />\n <span className=\"flex-1\">\n <GeneratedValue value={r.name} />\n </span>\n <span className=\"text-[10px] text-fg-muted\">\n <GeneratedValue value={r.key} />\n </span>\n </label>\n </li>\n ))}\n />\n </ul>\n )\n }\n />\n <Button onClick={save} disabled={pending} className=\"w-full\">\n <GeneratedValue\n value={\n pending ? (\n <GeneratedText id=\"m_106811f2aac664\" />\n ) : (\n <GeneratedText id=\"m_044b4d57bb99ce\" />\n )\n }\n />\n </Button>\n </div>\n )\n}\n"]}
|