@kne/form-creator 0.1.14 → 0.1.15
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/README.md +7 -3
- package/dist/index.css +28 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +683 -109
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +671 -125
- package/dist/index.modern.js.map +1 -1
- package/dist/locale/en-US.js +3 -1
- package/dist/locale/en-US.js.map +1 -1
- package/dist/locale/en-US.modern.js +3 -1
- package/dist/locale/en-US.modern.js.map +1 -1
- package/dist/locale/zh-CN.js +3 -1
- package/dist/locale/zh-CN.js.map +1 -1
- package/dist/locale/zh-CN.modern.js +3 -1
- package/dist/locale/zh-CN.modern.js.map +1 -1
- package/package.json +7 -5
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/schema.js","../src/blockRegistry.js","../src/fields/optionsApi.js","../src/fields/extendedFields.js","../src/rulePresets.js","../src/fieldRegistry.js","../src/FieldRow.js","../src/BlockListPanel.js","../src/BlockEditorModal.js","../src/StepEditorModal.js","../src/ChoiceOptionEditorModal.js","../src/RulePresetEditor.js","../src/OptionsEditor.js","../src/SuperSelectPropsEditor.js","../src/FieldPropsEditor.js","../src/FieldEditorModal.js","../src/FormActionsEditor.js","../src/ChoiceBlock.js","../src/renderSchema.js","../src/SchemaRenderer.js","../src/FormCreator.js","../src/preset.js","../src/schemaToDataSchema.js","../src/SchemaContent.js"],"sourcesContent":["const locale = {\n addField: '添加填写项',\n editField: '编辑填写项',\n deleteField: '删除填写项',\n moveUp: '上移',\n moveDown: '下移',\n fieldListTitle: '填写项配置',\n fieldListSubtitle: '通过列表管理填写项,右侧实时预览表单效果',\n blockListTitle: '表单结构',\n blockListSubtitle: '添加不同类型的内容模块来搭建你的表单',\n emptyFieldList: '暂无填写项,点击上方添加',\n emptyBlockList: '暂无内容,点击\"添加模块\"开始搭建表单',\n addBlock: '添加模块',\n editBlock: '编辑模块',\n deleteBlock: '删除模块',\n untitledBlock: '未命名模块',\n expandBlock: '展开',\n collapseBlock: '收起',\n fieldCount: '{count} 个填写项',\n fieldAndItemBlockCount: '{fields} 个填写项 · {nests} 个子模块',\n addChildBlock: '添加子模块',\n stepCount: '{count} 个步骤',\n blockKind_formInfo: '基础表单',\n blockKind_list: '可增减列表',\n blockKind_tableList: '表格列表',\n blockKind_multiField: '同类多值',\n blockKind_object: '分组信息',\n blockKind_choice: '选项切换',\n blockKind_steps: '分步表单',\n choiceMode: '可选几个',\n choiceModeSingle: '只能选一个',\n choiceModeMultiple: '可以选多个',\n choiceMinSelect: '最少选择几个',\n choiceMaxSelect: '最多选择几个',\n choiceMinSelectError: '请至少选择 {count} 项',\n choiceMaxSelectError: '最多只能选择 {count} 项',\n choiceSelectorName: '所选结果的名称',\n choiceSelectorNamePlaceholder: '可不填,系统会自动生成',\n choiceSelectorInData: '提交时带上所选结果',\n choiceTitlePlaceholder: '例如:客户类型',\n choiceOptionListTitle: '选项列表',\n addChoiceOption: '添加选项',\n editChoiceOption: '编辑选项',\n deleteChoiceOption: '删除选项',\n choiceOptionTitle: '选项名称',\n choiceOptionTitlePlaceholder: '例如:企业、个人',\n emptyChoiceOptionList: '暂无选项,点击上方添加',\n choiceOptionFallback: '选项{index}',\n choiceOptionCount: '{count} 个选项',\n choiceAreaTitle: '请选择',\n choiceModeHintSingle: '请选择其中一项',\n choiceModeHintMultiple: '可以选择多项',\n choiceModeHintMultipleMin: '请至少选择 {count} 项',\n choiceModeHintMultipleMax: '最多选择 {count} 项',\n choiceModeHintMultipleRange: '请选择 {min}–{max} 项',\n choiceSelectFirstHint: '请先在上方选择,再填写对应内容',\n blockTitle: '模块标题',\n blockTitlePlaceholder: '例如:基本信息',\n blockSubtitle: '模块副标题',\n blockSubtitlePlaceholder: '例如:请填写员工基本信息',\n blockName: '保存用的名称',\n blockNameRequired: '请填写保存用的名称',\n blockGap: '间距',\n blockBordered: '显示边框',\n blockImportant: '突出显示',\n blockAddText: '添加按钮文案',\n blockAddTextPlaceholder: '例如:添加一条工作经历',\n blockMaxLength: '最多条数',\n blockMinLength: '最少条数',\n blockAutoStep: '填写完成后自动进入下一步',\n multiFieldType: '填写项类型',\n multiFieldSummary: '填写类型:{type}',\n multiFieldEditorHint: '同类多值模块会根据你选择的填写项类型,自动生成可增减的多个输入框。',\n stepListTitle: '步骤列表',\n addStep: '添加步骤',\n editStep: '编辑步骤',\n deleteStep: '删除步骤',\n stepTitle: '步骤标题',\n stepTitlePlaceholder: '默认第 x 步,可自定义',\n emptyStepList: '暂无步骤,点击\"添加步骤\"开始搭建',\n untitledStep: '第{index}步',\n stepPrev: '上一步',\n stepNext: '下一步',\n stepComplete: '完成',\n fieldType: '填写项类型',\n fieldName: '保存用的名称',\n fieldNamePlaceholder: '已自动生成,可修改',\n fieldLabel: '显示名称',\n fieldLabelPlaceholder: '例如:姓名',\n fieldTips: '标签提示',\n fieldTipsPlaceholder: '鼠标悬停标签旁图标时显示',\n fieldDescription: '字段说明',\n fieldDescriptionPlaceholder: '显示在输入框下方的补充说明',\n fieldRule: '填写规则',\n fieldPlaceholder: '输入提示语',\n fieldOptions: '选项配置',\n fieldBlock: '占满整行',\n fieldHidden: '隐藏该项',\n fieldHiddenTag: '已隐藏',\n fieldBlockTag: '整行',\n fieldNameDuplicate: '该名称已被使用,请换一个',\n untitledField: '未命名填写项',\n previewTitle: '表单预览',\n previewHint: '左侧的配置变化会实时同步到这里',\n confirm: '确定',\n cancel: '取消',\n submit: '提交',\n reset: '重置',\n formActionsSection: '表单按钮',\n formActionsShowSubmit: '显示提交按钮',\n formActionsShowReset: '显示重置按钮',\n formActionsShowCancel: '显示取消按钮',\n formActionsSubmitText: '提交文案',\n formActionsResetText: '重置文案',\n formActionsCancelText: '取消文案',\n formActionsSubmitTextHint: '默认「提交」',\n formActionsResetTextHint: '默认「重置」',\n formActionsCancelTextHint: '默认「取消」',\n formActionsAlign: '按钮位置',\n formActionsAlignCenter: '居中',\n formActionsAlignStart: '靠左',\n formActionsAlignEnd: '靠右',\n formActionsGap: '按钮间距',\n formActionsGapHint: '默认 16',\n formActionsLayoutSection: '布局',\n fieldBasicSection: '基本设置',\n optionLabelPlaceholder: '显示文字',\n optionValuePlaceholder: '对应值',\n optionDescPlaceholder: '补充说明(可选)',\n addOption: '添加一个选项',\n builtinDataHint: '该类型自带数据,无需手动配置选项',\n optionsEditorHint: '至少填写显示文字和对应值',\n optionsTreeEditorHint: '点「添加子级」可挂下级选项;左侧竖线表示层级',\n addChildOption: '添加子级',\n fieldColumns: '表格有哪些列',\n columnTitlePlaceholder: '列标题,例如:姓名',\n columnNamePlaceholder: '已自动生成,可修改',\n columnWidthPlaceholder: '列宽(可选)',\n addColumn: '添加一列',\n columnsEditorHint: '列标题用于表头展示;保存用的名称已自动生成,需要时可改',\n fieldTableRows: '表格数据',\n tableRowsNeedColumnsHint: '请先在上方填写列的保存名称,再来配置每一行数据',\n tableRowTitle: '第 {index} 行',\n tableRowLabelPlaceholder: '选中后显示的文字',\n addTableRow: '添加一行数据',\n tableRowsEditorHint: '「对应值」是选中后真正保存的内容;其余按列填写,会显示在表格里',\n superSelectPropsSection: '选择设置',\n superSelectSingle: '只能选一项',\n superSelectIsPopup: '以下拉方式打开(关闭则为弹窗)',\n superSelectAllowClear: '允许清空已选内容',\n superSelectAllowSelectedAll: '显示全选',\n superSelectOnlyLastLevel: '只能选择最后一级',\n superSelectMaxLength: '最多可选数量',\n superSelectMaxLengthPlaceholder: '不限制可留空',\n superSelectPlaceholderHint: '例如:请选择',\n superSelectSearchPlaceholder: '搜索框提示语',\n superSelectSearchPlaceholderHint: '例如:搜索...',\n fieldPropsSection: '填写项设置',\n fieldPlaceholderHint: '例如:请输入 / 请选择',\n propAllowClear: '允许清空',\n propMaxLength: '最多可输入字数',\n propOptionalNumber: '不限制可留空',\n propRows: '默认显示行数',\n propShowCount: '显示字数统计',\n propMin: '最小值',\n propMax: '最大值',\n propStep: '每次增减幅度',\n propPrecision: '小数位数',\n propSelectMode: '选择方式',\n propSelectModeSingle: '只能选一项',\n propSelectModeMultiple: '可以选择多项',\n propDateRange: '选择日期范围(开始~结束)',\n propDatePickerType: '日期类型',\n propDatePickerDate: '日期',\n propDatePickerWeek: '周',\n propDatePickerMonth: '月份',\n propDatePickerQuarter: '季度',\n propDatePickerYear: '年份',\n propDateFormat: '显示格式',\n propShowTime: '同时选择时间',\n propSwitchOnText: '打开时显示的文字',\n propSwitchOffText: '关闭时显示的文字',\n propSwitchOnTextHint: '例如:开',\n propSwitchOffTextHint: '例如:关',\n ruleLen: '长度限制',\n ruleLenRange: '长度范围',\n ruleLenMin: '最少字数',\n ruleLenMax: '最多字数',\n ruleEditorHint: '勾选需要的填写规则,可同时选多个',\n formSettingsTitle: '表单设置',\n formTitlePlaceholder: '表单标题(可选)',\n formSubtitlePlaceholder: '表单副标题(可选)',\n formColumnPlaceholder: '每行显示列数',\n schemaContentEmpty: '暂无数据',\n schemaContentEmptyValue: '-',\n schemaContentYes: '是',\n schemaContentNo: '否',\n schemaContentItemIndex: '第 {index} 项'\n};\n\nexport default locale;\n","const locale = {\n addField: 'Add Field',\n editField: 'Edit Field',\n deleteField: 'Delete',\n moveUp: 'Move Up',\n moveDown: 'Move Down',\n fieldListTitle: 'Field Configuration',\n fieldListSubtitle: 'Manage fields and preview the form on the right',\n blockListTitle: 'Form Structure',\n blockListSubtitle: 'Add different content sections to build your form',\n emptyFieldList: 'No fields yet. Click to add one.',\n emptyBlockList: 'No content yet. Click \"Add Section\" to start building.',\n addBlock: 'Add Section',\n editBlock: 'Edit Section',\n deleteBlock: 'Delete Section',\n untitledBlock: 'Untitled Section',\n expandBlock: 'Expand',\n collapseBlock: 'Collapse',\n fieldCount: '{count} fields',\n fieldAndItemBlockCount: '{fields} fields · {nests} child sections',\n addChildBlock: 'Add child section',\n stepCount: '{count} steps',\n blockKind_formInfo: 'Basic Form',\n blockKind_list: 'Repeatable List',\n blockKind_tableList: 'Table List',\n blockKind_multiField: 'Multi-Value',\n blockKind_object: 'Grouped Fields',\n blockKind_choice: 'Options',\n blockKind_steps: 'Step-by-Step',\n choiceMode: 'How many can be selected',\n choiceModeSingle: 'One only',\n choiceModeMultiple: 'More than one',\n choiceMinSelect: 'Minimum selections',\n choiceMaxSelect: 'Maximum selections',\n choiceMinSelectError: 'Select at least {count}',\n choiceMaxSelectError: 'Select at most {count}',\n choiceSelectorName: 'Name for the selection',\n choiceSelectorNamePlaceholder: 'Optional — generated automatically if empty',\n choiceSelectorInData: 'Include the selection when submitting',\n choiceTitlePlaceholder: 'e.g. Customer type',\n choiceOptionListTitle: 'Options',\n addChoiceOption: 'Add option',\n editChoiceOption: 'Edit option',\n deleteChoiceOption: 'Delete option',\n choiceOptionTitle: 'Option name',\n choiceOptionTitlePlaceholder: 'e.g. Company, Individual',\n emptyChoiceOptionList: 'No options yet. Click above to add one.',\n choiceOptionFallback: 'Option {index}',\n choiceOptionCount: '{count} options',\n choiceAreaTitle: 'Please select',\n choiceModeHintSingle: 'Select one option',\n choiceModeHintMultiple: 'You can select more than one',\n choiceModeHintMultipleMin: 'Select at least {count}',\n choiceModeHintMultipleMax: 'Select at most {count}',\n choiceModeHintMultipleRange: 'Select {min}–{max} options',\n choiceSelectFirstHint: 'Select an option above to continue',\n blockTitle: 'Section Title',\n blockTitlePlaceholder: 'e.g. Basic Info',\n blockSubtitle: 'Section Subtitle',\n blockSubtitlePlaceholder: 'e.g. Please fill in employee info',\n blockName: 'Save name',\n blockNameRequired: 'Please enter a save name',\n blockGap: 'Spacing',\n blockBordered: 'Show Border',\n blockImportant: 'Highlight',\n blockAddText: 'Add Button Label',\n blockAddTextPlaceholder: 'e.g. Add Work Experience',\n blockMaxLength: 'Max Entries',\n blockMinLength: 'Min Entries',\n blockAutoStep: 'Auto proceed to next step after completion',\n multiFieldType: 'Field Type',\n multiFieldSummary: 'Field type: {type}',\n multiFieldEditorHint: 'This section auto-generates repeatable inputs based on the field type you choose.',\n stepListTitle: 'Steps',\n addStep: 'Add Step',\n editStep: 'Edit Step',\n deleteStep: 'Delete Step',\n stepTitle: 'Step Title',\n stepTitlePlaceholder: 'Defaults to Step x',\n emptyStepList: 'No steps yet. Click \"Add Step\" to start.',\n untitledStep: 'Step {index}',\n stepPrev: 'Previous',\n stepNext: 'Next',\n stepComplete: 'Done',\n fieldType: 'Field Type',\n fieldName: 'Save name',\n fieldNamePlaceholder: 'Auto-generated, editable',\n fieldLabel: 'Display Name',\n fieldLabelPlaceholder: 'e.g. Full Name',\n fieldTips: 'Label Tips',\n fieldTipsPlaceholder: 'Shown when hovering the icon next to the label',\n fieldDescription: 'Description',\n fieldDescriptionPlaceholder: 'Helper text shown below the input',\n fieldRule: 'Validation',\n fieldPlaceholder: 'Hint Text',\n fieldOptions: 'Options',\n fieldBlock: 'Full Width',\n fieldHidden: 'Hidden',\n fieldHiddenTag: 'Hidden',\n fieldBlockTag: 'Full Width',\n fieldNameDuplicate: 'This name is already in use, please choose another',\n untitledField: 'Untitled Field',\n previewTitle: 'Form Preview',\n previewHint: 'Changes on the left are reflected here in real time',\n confirm: 'OK',\n cancel: 'Cancel',\n submit: 'Submit',\n reset: 'Reset',\n formActionsSection: 'Form Actions',\n formActionsShowSubmit: 'Show submit button',\n formActionsShowReset: 'Show reset button',\n formActionsShowCancel: 'Show cancel button',\n formActionsSubmitText: 'Submit label',\n formActionsResetText: 'Reset label',\n formActionsCancelText: 'Cancel label',\n formActionsSubmitTextHint: 'Default: Submit',\n formActionsResetTextHint: 'Default: Reset',\n formActionsCancelTextHint: 'Default: Cancel',\n formActionsAlign: 'Button alignment',\n formActionsAlignCenter: 'Center',\n formActionsAlignStart: 'Left',\n formActionsAlignEnd: 'Right',\n formActionsGap: 'Button gap',\n formActionsGapHint: 'Default: 16',\n formActionsLayoutSection: 'Layout',\n fieldBasicSection: 'Basic Settings',\n optionLabelPlaceholder: 'Display text',\n optionValuePlaceholder: 'Value',\n optionDescPlaceholder: 'Description (optional)',\n addOption: 'Add Option',\n builtinDataHint: 'This type comes with built-in data, no manual options needed',\n optionsEditorHint: 'Enter at least the display text and value',\n optionsTreeEditorHint: 'Use “Add Child” for nested options; the left line shows hierarchy',\n addChildOption: 'Add Child',\n fieldColumns: 'Table Columns',\n columnTitlePlaceholder: 'Column title, e.g. Name',\n columnNamePlaceholder: 'Auto-generated, editable',\n columnWidthPlaceholder: 'Width (optional)',\n addColumn: 'Add Column',\n columnsEditorHint: 'Title is shown in the header; data key is auto-generated and editable',\n fieldTableRows: 'Table Rows',\n tableRowsNeedColumnsHint: 'Fill in each column’s data key above before configuring rows',\n tableRowTitle: 'Row {index}',\n tableRowLabelPlaceholder: 'Text shown after selection',\n addTableRow: 'Add Row',\n tableRowsEditorHint: '“Value” is what gets saved; other fields appear as table columns',\n superSelectPropsSection: 'Selection Settings',\n superSelectSingle: 'Single select only',\n superSelectIsPopup: 'Open as dropdown (off = modal)',\n superSelectAllowClear: 'Allow clearing selection',\n superSelectAllowSelectedAll: 'Show select all',\n superSelectOnlyLastLevel: 'Only allow selecting leaf nodes',\n superSelectMaxLength: 'Max selections',\n superSelectMaxLengthPlaceholder: 'Leave empty for unlimited',\n superSelectPlaceholderHint: 'e.g. Please select',\n superSelectSearchPlaceholder: 'Search hint',\n superSelectSearchPlaceholderHint: 'e.g. Search...',\n fieldPropsSection: 'Field Settings',\n fieldPlaceholderHint: 'e.g. Please enter / Please select',\n propAllowClear: 'Allow clear',\n propMaxLength: 'Max characters',\n propOptionalNumber: 'Leave empty for no limit',\n propRows: 'Visible rows',\n propShowCount: 'Show character count',\n propMin: 'Minimum',\n propMax: 'Maximum',\n propStep: 'Step',\n propPrecision: 'Decimal places',\n propSelectMode: 'Selection mode',\n propSelectModeSingle: 'Single',\n propSelectModeMultiple: 'Multiple',\n propDateRange: 'Date range (start – end)',\n propDatePickerType: 'Picker type',\n propDatePickerDate: 'Date',\n propDatePickerWeek: 'Week',\n propDatePickerMonth: 'Month',\n propDatePickerQuarter: 'Quarter',\n propDatePickerYear: 'Year',\n propDateFormat: 'Display format',\n propShowTime: 'Include time',\n propSwitchOnText: 'Text when on',\n propSwitchOffText: 'Text when off',\n propSwitchOnTextHint: 'e.g. On',\n propSwitchOffTextHint: 'e.g. Off',\n ruleLen: 'Length Limit',\n ruleLenRange: 'Length Range',\n ruleLenMin: 'Min',\n ruleLenMax: 'Max',\n ruleEditorHint: 'Check the validation rules you need; you can select multiple',\n formSettingsTitle: 'Form Settings',\n formTitlePlaceholder: 'Form title (optional)',\n formSubtitlePlaceholder: 'Form subtitle (optional)',\n formColumnPlaceholder: 'Columns per row',\n schemaContentEmpty: 'No data',\n schemaContentEmptyValue: '-',\n schemaContentYes: 'Yes',\n schemaContentNo: 'No',\n schemaContentItemIndex: 'Item {index}'\n};\n\nexport default locale;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCN,\n 'en-US': enUS\n },\n namespace: 'form-creator'\n});\n\nexport default withLocale;\n","export const createFieldId = () => `field_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;\n\n/** 生成可编辑的默认数据标识,如 field_xxxx / col_xxxx */\nexport const createDataKey = (prefix = 'field') => `${prefix}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 6)}`;\n\nexport const isAutoDataKey = (value, prefix = 'field') => new RegExp(`^${prefix}_[a-z0-9]+_[a-z0-9]+$`, 'i').test(String(value || '').trim());\n\nexport const MAX_BLOCK_DEPTH = 14;\n\nexport const createEmptyColumn = () => ({\n title: '',\n name: createDataKey('col'),\n width: undefined\n});\n\nexport const defaultSchema = () => ({\n title: '',\n subtitle: '',\n column: 2,\n gap: 24,\n blocks: [],\n actions: defaultFormActions()\n});\n\n/** 表单底部提交 / 重置 / 取消按钮(写入 Schema,SchemaRenderer 识别) */\nexport const defaultFormActions = () => ({\n showSubmit: true,\n showReset: true,\n showCancel: false,\n submitText: '',\n resetText: '',\n cancelText: '',\n align: 'center',\n gap: 16\n});\n\nconst FORM_ACTIONS_ALIGN = ['center', 'start', 'end'];\n\nexport const normalizeFormActions = (actions = {}) => {\n const base = defaultFormActions();\n if (!actions || typeof actions !== 'object') {\n return base;\n }\n const align = FORM_ACTIONS_ALIGN.includes(actions.align) ? actions.align : base.align;\n const gapValue = actions.gap != null && actions.gap !== '' ? Number(actions.gap) : base.gap;\n const gap = Number.isFinite(gapValue) && gapValue >= 0 ? gapValue : base.gap;\n return {\n showSubmit: actions.showSubmit !== false,\n showReset: actions.showReset !== false,\n showCancel: !!actions.showCancel,\n submitText: actions.submitText != null ? String(actions.submitText) : '',\n resetText: actions.resetText != null ? String(actions.resetText) : '',\n cancelText: actions.cancelText != null ? String(actions.cancelText) : '',\n align,\n gap,\n ...(actions.submitButtonProps && typeof actions.submitButtonProps === 'object' ? { submitButtonProps: { ...actions.submitButtonProps } } : {}),\n ...(actions.resetButtonProps && typeof actions.resetButtonProps === 'object' ? { resetButtonProps: { ...actions.resetButtonProps } } : {}),\n ...(actions.cancelButtonProps && typeof actions.cancelButtonProps === 'object' ? { cancelButtonProps: { ...actions.cancelButtonProps } } : {})\n };\n};\n\nexport const createField = (overrides = {}) => ({\n id: createFieldId(),\n type: 'Input',\n name: createDataKey('field'),\n label: '',\n tips: '',\n description: '',\n rule: '',\n block: false,\n hidden: false,\n props: {},\n ...overrides\n});\n\nexport const createChoiceOption = (overrides = {}) => ({\n id: createFieldId(),\n title: '',\n list: [],\n blocks: [],\n ...overrides\n});\n\nexport const createBlock = (kind, overrides = {}) => {\n const needsName = ['list', 'tableList', 'multiField', 'object'].includes(kind);\n const base = {\n id: createFieldId(),\n kind,\n title: '',\n subtitle: '',\n column: 2,\n gap: 24,\n bordered: false,\n important: false,\n name: needsName ? createDataKey(kind === 'object' ? 'obj' : 'block') : '',\n label: '',\n addText: '',\n maxLength: undefined,\n minLength: undefined,\n fieldType: 'Input',\n autoStep: true,\n mode: 'single',\n selectorName: '',\n selectorInData: true,\n discriminator: undefined,\n list: [],\n items: [],\n itemBlocks: [],\n blocks: [],\n options: []\n };\n\n if (kind === 'steps') {\n return {\n ...base,\n list: undefined,\n itemBlocks: undefined,\n blocks: undefined,\n options: undefined,\n items: [createStep()],\n ...overrides\n };\n }\n\n if (kind === 'multiField') {\n return {\n ...base,\n list: undefined,\n itemBlocks: undefined,\n blocks: undefined,\n options: undefined,\n items: undefined,\n ...overrides\n };\n }\n\n if (kind === 'choice') {\n const next = {\n ...base,\n list: undefined,\n itemBlocks: undefined,\n blocks: undefined,\n items: undefined,\n name: '',\n options: [createChoiceOption({ title: '选项1' })],\n ...overrides,\n kind: 'choice'\n };\n next.mode = next.mode === 'multiple' ? 'multiple' : 'single';\n if (!Array.isArray(next.options)) {\n next.options = [createChoiceOption({ title: '选项1' })];\n }\n return next;\n }\n\n if (kind === 'object') {\n return {\n ...base,\n items: undefined,\n options: undefined,\n itemBlocks: undefined,\n ...overrides\n };\n }\n\n if (kind === 'list') {\n return {\n ...base,\n blocks: undefined,\n ...overrides\n };\n }\n\n if (kind === 'tableList') {\n return {\n ...base,\n blocks: undefined,\n itemBlocks: undefined,\n ...overrides\n };\n }\n\n // formInfo:支持 blocks 子模块\n return { ...base, itemBlocks: undefined, ...overrides };\n};\n\nexport const createStep = (overrides = {}) => ({\n id: createFieldId(),\n title: '',\n column: 2,\n list: [],\n blocks: [],\n ...overrides\n});\n\nconst normalizeSelectCount = (value, minAllowed = 0) => {\n if (value == null || value === '') {\n return undefined;\n }\n const num = Number(value);\n if (!Number.isFinite(num)) {\n return undefined;\n }\n const int = Math.floor(num);\n if (int < minAllowed) {\n return undefined;\n }\n return int;\n};\n\nconst normalizeField = field => ({\n ...createField(),\n ...field,\n props: { ...(field.props || {}) }\n});\n\nconst normalizeStep = (step, depth = 0) => ({\n ...createStep(),\n ...step,\n list: Array.isArray(step.list) ? step.list.map(normalizeField) : [],\n blocks: Array.isArray(step.blocks) ? step.blocks.map(child => normalizeBlock(child, depth + 1)) : []\n});\n\nconst normalizeChoiceOption = (option, depth) => {\n let list = Array.isArray(option.list) ? option.list.map(normalizeField) : [];\n let blocks = Array.isArray(option.blocks) ? option.blocks.map(block => normalizeBlock(block, depth + 1)) : [];\n\n // 兼容仅写 blocks: [formInfo] 的写法:把首个 formInfo 的字段提升到 option.list,便于编辑器管理\n if (!list.length && blocks[0]?.kind === 'formInfo' && (blocks[0].list || []).length) {\n list = (blocks[0].list || []).map(normalizeField);\n blocks = blocks.slice(1);\n }\n\n return {\n ...createChoiceOption(),\n ...option,\n list,\n blocks\n };\n};\n\nexport const normalizeBlock = (block, depth = 0) => {\n const kind = block.kind || 'formInfo';\n if (depth > MAX_BLOCK_DEPTH) {\n return {\n ...createBlock(kind),\n ...block,\n list: Array.isArray(block.list) ? block.list.map(normalizeField) : [],\n itemBlocks: [],\n options: [],\n items: kind === 'steps' ? [createStep()] : undefined\n };\n }\n\n const normalized = {\n ...createBlock(kind),\n ...block\n };\n\n if (kind === 'steps') {\n normalized.items = Array.isArray(block.items) ? block.items.map(step => normalizeStep(step, depth)) : [createStep()];\n delete normalized.list;\n delete normalized.itemBlocks;\n delete normalized.blocks;\n delete normalized.options;\n return normalized;\n }\n\n if (kind === 'multiField') {\n normalized.list = undefined;\n normalized.items = undefined;\n normalized.itemBlocks = undefined;\n normalized.blocks = undefined;\n normalized.options = undefined;\n return normalized;\n }\n\n if (kind === 'choice') {\n normalized.mode = block.mode === 'multiple' ? 'multiple' : 'single';\n normalized.selectorName = block.selectorName != null ? String(block.selectorName) : '';\n normalized.selectorInData = block.selectorInData !== false;\n normalized.discriminator = block.discriminator && typeof block.discriminator === 'object' ? { ...block.discriminator } : undefined;\n normalized.options = Array.isArray(block.options) ? block.options.map(option => normalizeChoiceOption(option, depth)) : [];\n normalized.list = undefined;\n normalized.items = undefined;\n normalized.itemBlocks = undefined;\n normalized.blocks = undefined;\n if (normalized.mode === 'multiple') {\n const minSelect = normalizeSelectCount(block.minLength, 0);\n const maxSelect = normalizeSelectCount(block.maxLength, 1);\n normalized.minLength = minSelect;\n normalized.maxLength = maxSelect != null && minSelect != null && maxSelect < minSelect ? minSelect : maxSelect;\n } else {\n normalized.minLength = undefined;\n normalized.maxLength = undefined;\n }\n return normalized;\n }\n\n if (kind === 'object') {\n normalized.list = Array.isArray(block.list) ? block.list.map(normalizeField) : [];\n normalized.items = undefined;\n normalized.itemBlocks = undefined;\n normalized.options = undefined;\n normalized.blocks = Array.isArray(block.blocks) ? block.blocks.map(child => normalizeBlock(child, depth + 1)) : [];\n return normalized;\n }\n\n normalized.list = Array.isArray(block.list) ? block.list.map(normalizeField) : [];\n normalized.items = undefined;\n normalized.options = undefined;\n if (kind === 'list') {\n normalized.itemBlocks = Array.isArray(block.itemBlocks) ? block.itemBlocks.map(child => normalizeBlock(child, depth + 1)) : [];\n normalized.blocks = undefined;\n } else if (kind === 'tableList') {\n normalized.itemBlocks = undefined;\n normalized.blocks = undefined;\n } else {\n // formInfo\n normalized.itemBlocks = undefined;\n normalized.blocks = Array.isArray(block.blocks) ? block.blocks.map(child => normalizeBlock(child, depth + 1)) : [];\n }\n return normalized;\n};\n\nexport const normalizeSchema = (schema = {}) => {\n const base = defaultSchema();\n\n if (Array.isArray(schema.blocks)) {\n return {\n ...base,\n ...schema,\n actions: normalizeFormActions(schema.actions),\n blocks: schema.blocks.map(block => normalizeBlock(block))\n };\n }\n\n if (Array.isArray(schema.list) && schema.list.length) {\n return {\n ...base,\n ...schema,\n actions: normalizeFormActions(schema.actions),\n blocks: [\n normalizeBlock({\n kind: 'formInfo',\n title: schema.title,\n subtitle: schema.subtitle,\n column: schema.column,\n gap: schema.gap,\n list: schema.list\n })\n ]\n };\n }\n\n return {\n ...base,\n ...schema,\n actions: normalizeFormActions(schema.actions),\n blocks: []\n };\n};\n\nexport const moveItem = (list, id, direction) => {\n const index = list.findIndex(item => item.id === id);\n if (index < 0) {\n return list;\n }\n const targetIndex = direction === 'up' ? index - 1 : index + 1;\n if (targetIndex < 0 || targetIndex >= list.length) {\n return list;\n }\n const next = [...list];\n const [item] = next.splice(index, 1);\n next.splice(targetIndex, 0, item);\n return next;\n};\n\nexport const isFieldNameUnique = (fields, name, excludeId) => {\n if (!name) {\n return false;\n }\n return !fields.some(item => item.name === name && item.id !== excludeId);\n};\n\nconst collectFieldsFromBlocks = (blocks = [], acc = []) => {\n blocks.forEach(block => {\n if (!block) {\n return;\n }\n if (block.kind === 'steps') {\n (block.items || []).forEach(step => {\n acc.push(...(step.list || []));\n collectFieldsFromBlocks(step.blocks || [], acc);\n });\n return;\n }\n if (block.kind === 'choice') {\n (block.options || []).forEach(option => {\n acc.push(...(option.list || []));\n collectFieldsFromBlocks(option.blocks || [], acc);\n });\n return;\n }\n if (block.kind !== 'multiField' && Array.isArray(block.list)) {\n acc.push(...block.list);\n }\n if (Array.isArray(block.itemBlocks)) {\n collectFieldsFromBlocks(block.itemBlocks, acc);\n }\n if (Array.isArray(block.blocks)) {\n collectFieldsFromBlocks(block.blocks, acc);\n }\n });\n return acc;\n};\n\nexport const collectSchemaFields = (schema, { blockId, stepId, optionId } = {}) => {\n const blocks = schema.blocks || [];\n\n if (!blockId) {\n return collectFieldsFromBlocks(blocks);\n }\n\n const block = findBlockInTree(blocks, blockId);\n if (!block) {\n return [];\n }\n\n const fields = [];\n if (block.kind === 'steps') {\n (block.items || []).forEach(step => {\n if (stepId !== undefined && step.id !== stepId) {\n return;\n }\n fields.push(...(step.list || []));\n });\n return fields;\n }\n if (block.kind === 'choice') {\n (block.options || []).forEach(option => {\n if (optionId !== undefined && option.id !== optionId) {\n return;\n }\n fields.push(...(option.list || []));\n collectFieldsFromBlocks(option.blocks || [], fields);\n });\n return fields;\n }\n if (block.kind !== 'multiField') {\n fields.push(...(block.list || []));\n }\n return fields;\n};\n\n/** 收集 blocks 树中所有字段 name(含 object 前缀后的完整名需在渲染层处理) */\nexport const collectBlockFieldNames = (blocks = [], { objectNamePrefix = '' } = {}) => {\n const names = [];\n const walk = (list, prefix) => {\n (list || []).forEach(block => {\n if (!block) {\n return;\n }\n if (block.kind === 'object') {\n const nextPrefix = [prefix, block.name].filter(Boolean).join('.');\n (block.list || []).forEach(field => {\n if (field?.name) {\n names.push(nextPrefix ? `${nextPrefix}.${field.name}` : field.name);\n }\n });\n walk(block.blocks || [], nextPrefix);\n return;\n }\n if (block.kind === 'choice') {\n (block.options || []).forEach(option => {\n (option.list || []).forEach(field => {\n if (field?.name) {\n names.push(prefix ? `${prefix}.${field.name}` : field.name);\n }\n });\n walk(option.blocks || [], prefix);\n });\n return;\n }\n if (block.kind === 'steps') {\n (block.items || []).forEach(step => {\n (step.list || []).forEach(field => {\n if (field?.name) {\n names.push(prefix ? `${prefix}.${field.name}` : field.name);\n }\n });\n walk(step.blocks || [], prefix);\n });\n return;\n }\n if (block.kind !== 'multiField') {\n (block.list || []).forEach(field => {\n if (field?.name) {\n names.push(prefix ? `${prefix}.${field.name}` : field.name);\n }\n });\n }\n if (block.kind === 'list') {\n // 列表项内字段相对 GroupList,此处只收集定义名供 choice 清理参考\n walk(block.itemBlocks || [], prefix);\n }\n if (Array.isArray(block.blocks)) {\n walk(block.blocks, prefix);\n }\n });\n };\n walk(blocks, objectNamePrefix);\n return names;\n};\n\nexport const updateBlocks = (schema, updater) => ({\n ...schema,\n blocks: updater(schema.blocks || [])\n});\n\n/** 在 blocks / itemBlocks / choice.options.blocks / steps.items.blocks 树中查找模块 */\nexport const findBlockInTree = (blocks = [], blockId) => {\n for (const block of blocks) {\n if (!block) {\n continue;\n }\n if (block.id === blockId) {\n return block;\n }\n if (Array.isArray(block.itemBlocks)) {\n const found = findBlockInTree(block.itemBlocks, blockId);\n if (found) {\n return found;\n }\n }\n if (Array.isArray(block.blocks)) {\n const found = findBlockInTree(block.blocks, blockId);\n if (found) {\n return found;\n }\n }\n if (block.kind === 'choice') {\n for (const option of block.options || []) {\n const found = findBlockInTree(option.blocks || [], blockId);\n if (found) {\n return found;\n }\n }\n }\n if (block.kind === 'steps') {\n for (const step of block.items || []) {\n const found = findBlockInTree(step.blocks || [], blockId);\n if (found) {\n return found;\n }\n }\n }\n }\n return null;\n};\n\nexport const findBlock = (schema, blockId) => findBlockInTree(schema.blocks || [], blockId);\n\n/** 对模块上挂载的子模块列表(itemBlocks / blocks / option.blocks / step.blocks)应用同一变换 */\nconst mapChildBlockLists = (block, mapList) => {\n let nextBlock = block;\n let changed = false;\n\n if (Array.isArray(block.itemBlocks)) {\n const itemBlocks = mapList(block.itemBlocks);\n if (itemBlocks !== block.itemBlocks) {\n nextBlock = { ...nextBlock, itemBlocks };\n changed = true;\n }\n }\n\n if (Array.isArray(block.blocks)) {\n const childBlocks = mapList(block.blocks);\n if (childBlocks !== block.blocks) {\n nextBlock = { ...nextBlock, blocks: childBlocks };\n changed = true;\n }\n }\n\n if (block.kind === 'choice' && Array.isArray(block.options)) {\n let optionsChanged = false;\n const options = block.options.map(option => {\n if (!Array.isArray(option.blocks)) {\n return option;\n }\n const optionBlocks = mapList(option.blocks);\n if (optionBlocks !== option.blocks) {\n optionsChanged = true;\n return { ...option, blocks: optionBlocks };\n }\n return option;\n });\n if (optionsChanged) {\n nextBlock = { ...nextBlock, options };\n changed = true;\n }\n }\n\n if (block.kind === 'steps' && Array.isArray(block.items)) {\n let itemsChanged = false;\n const items = block.items.map(step => {\n if (!Array.isArray(step.blocks)) {\n return step;\n }\n const stepBlocks = mapList(step.blocks);\n if (stepBlocks !== step.blocks) {\n itemsChanged = true;\n return { ...step, blocks: stepBlocks };\n }\n return step;\n });\n if (itemsChanged) {\n nextBlock = { ...nextBlock, items };\n changed = true;\n }\n }\n\n return { nextBlock, changed };\n};\n\nconst mapBlocksInTree = (blocks, blockId, updater) => {\n let changed = false;\n const next = (blocks || []).map(block => {\n if (!block) {\n return block;\n }\n if (block.id === blockId) {\n changed = true;\n return updater(block);\n }\n const { nextBlock, changed: childChanged } = mapChildBlockLists(block, list => mapBlocksInTree(list, blockId, updater));\n if (childChanged) {\n changed = true;\n }\n return nextBlock;\n });\n return changed ? next : blocks;\n};\n\nexport const mapBlocks = (schema, blockId, updater) => updateBlocks(schema, blocks => mapBlocksInTree(blocks, blockId, updater));\n\nexport const removeBlockInTree = (blocks, blockId) => {\n let changed = false;\n const filtered = (blocks || []).filter(block => {\n if (block?.id === blockId) {\n changed = true;\n return false;\n }\n return true;\n });\n const next = filtered.map(block => {\n const { nextBlock, changed: childChanged } = mapChildBlockLists(block, list => removeBlockInTree(list, blockId));\n if (childChanged) {\n changed = true;\n }\n return nextBlock;\n });\n return changed ? next : blocks;\n};\n\nexport const moveBlockInTree = (blocks, blockId, direction) => {\n if ((blocks || []).some(block => block?.id === blockId)) {\n return moveItem(blocks, blockId, direction);\n }\n let changed = false;\n const next = (blocks || []).map(block => {\n const { nextBlock, changed: childChanged } = mapChildBlockLists(block, list => moveBlockInTree(list, blockId, direction));\n if (childChanged) {\n changed = true;\n }\n return nextBlock;\n });\n return changed ? next : blocks;\n};\n\nconst blockHasContent = block => {\n if (!block) {\n return false;\n }\n if (block.kind === 'steps') {\n return (block.items || []).some(step => (step.list || []).length > 0 || (step.blocks || []).some(blockHasContent) || step.title);\n }\n if (block.kind === 'multiField') {\n return !!block.name;\n }\n if (block.kind === 'choice') {\n return (block.options || []).some(option => (option.list || []).length > 0 || (option.blocks || []).some(blockHasContent) || option.title);\n }\n if (block.kind === 'object') {\n return !!(block.name && ((block.list || []).length > 0 || (block.blocks || []).some(blockHasContent) || block.title));\n }\n if ((block.list || []).length > 0 || block.title || (block.blocks || []).some(blockHasContent)) {\n return true;\n }\n return (block.itemBlocks || []).some(blockHasContent);\n};\n\nexport const hasRenderableContent = schema => {\n const blocks = schema.blocks || [];\n return blocks.some(blockHasContent);\n};\n","export const BLOCK_KINDS = {\n formInfo: {\n label: '基础表单',\n color: 'blue',\n hasFieldList: true,\n description: '最常用的表单模块,可设置标题、列数和间距'\n },\n list: {\n label: '可增减列表',\n color: 'cyan',\n hasFieldList: true,\n requiresName: true,\n description: '用户可以动态添加或删除多条记录,例如工作经历'\n },\n tableList: {\n label: '表格列表',\n color: 'geekblue',\n hasFieldList: true,\n requiresName: true,\n description: '以表格形式展示的可增减列表'\n },\n multiField: {\n label: '同类多值',\n color: 'purple',\n requiresName: true,\n description: '同一种填写项可以输入多个值,例如多个手机号'\n },\n object: {\n label: '分组信息',\n color: 'orange',\n hasFieldList: true,\n requiresName: true,\n description: '把相关的填写项放在一起,例如「在校时间」下的开始与结束'\n },\n choice: {\n label: '选项切换',\n color: 'magenta',\n hasChoiceOptions: true,\n description: '先选一类情况,再填写对应内容;可设为单选或多选'\n },\n steps: {\n label: '分步表单',\n color: 'gold',\n hasSteps: true,\n description: '将表单拆分成多个步骤,引导用户逐步填写'\n }\n};\n\nexport const getBlockKindOptions = () =>\n Object.entries(BLOCK_KINDS).map(([value, config]) => ({\n label: config.label,\n value\n }));\n\nexport const getBlockDefinition = kind => BLOCK_KINDS[kind];\n\nexport const blockToFormValues = block => ({\n kind: block.kind,\n title: block.title || '',\n subtitle: block.subtitle || '',\n column: block.column ?? 2,\n gap: block.gap ?? 24,\n bordered: !!block.bordered,\n important: !!block.important,\n name: block.name || '',\n label: block.label || '',\n addText: block.addText || '',\n maxLength: block.maxLength ?? null,\n minLength: block.minLength ?? null,\n fieldType: block.fieldType || 'Input',\n autoStep: block.autoStep !== false,\n mode: block.mode === 'multiple' ? 'multiple' : 'single',\n selectorName: block.selectorName || '',\n selectorInData: block.selectorInData !== false\n});\n\nexport const formValuesToBlock = (values, existingBlock = {}) => {\n const kind = values.kind || existingBlock.kind;\n const mode = values.mode === 'multiple' ? 'multiple' : 'single';\n const next = {\n ...existingBlock,\n kind,\n title: values.title,\n subtitle: values.subtitle,\n column: values.column ?? 2,\n gap: values.gap ?? 24,\n bordered: !!values.bordered,\n important: !!values.important,\n name: values.name,\n label: values.label,\n addText: values.addText || undefined,\n maxLength: values.maxLength ?? undefined,\n minLength: values.minLength ?? undefined,\n fieldType: values.fieldType || 'Input',\n autoStep: values.autoStep !== false,\n mode,\n selectorName: values.selectorName || '',\n selectorInData: values.selectorInData !== false\n };\n\n if (kind === 'choice' && mode !== 'multiple') {\n next.minLength = undefined;\n next.maxLength = undefined;\n }\n\n return next;\n};\n\nexport const stepToFormValues = step => ({\n title: step.title || '',\n column: step.column ?? 2\n});\n\nexport const formValuesToStep = (values, existingStep = {}) => ({\n ...existingStep,\n title: values.title,\n column: values.column ?? 2\n});\n\nexport const choiceOptionToFormValues = option => ({\n title: option.title || ''\n});\n\nexport const formValuesToChoiceOption = (values, existingOption = {}) => ({\n ...existingOption,\n title: values.title\n});\n","export const mapOptionItem = item => {\n if (!item || typeof item !== 'object') {\n return item;\n }\n const { children, ...rest } = item;\n const next = { ...rest };\n if (Array.isArray(children) && children.length) {\n next.children = children.map(mapOptionItem);\n }\n return next;\n};\n\nexport const createApiFromOptions = (options = []) => ({\n loader: () => ({\n pageData: options.map(mapOptionItem)\n })\n});\n","import { hooks } from '@kne/react-form-antd';\nimport SelectList, { SelectCascader, SelectTableList, SelectTree } from '@kne/super-select';\nimport { SelectFunction, SelectIndustry, SelectAddress } from '@kne/super-select-plus';\nimport '@kne/super-select/dist/index.css';\nimport '@kne/super-select-plus/dist/index.css';\nimport { createApiFromOptions } from './optionsApi';\n\nconst { useOnChange } = hooks;\n\nconst hasNestedOptions = options => Array.isArray(options) && options.some(item => Array.isArray(item?.children) && item.children.length);\n\nconst createField = (Component, { preferOptions = false, placeholderPrefix = '请选择' } = {}) => {\n const Field = props => {\n const { options, api, placeholder, ...rest } = props;\n const useOptionsDirectly = preferOptions || hasNestedOptions(options);\n const mergedApi = api || (!useOptionsDirectly && Array.isArray(options) && options.length ? createApiFromOptions(options) : undefined);\n const resolvedPlaceholder = placeholder != null && String(placeholder).trim() ? placeholder : `${placeholderPrefix}${props.label || ''}`;\n\n const render = useOnChange(\n Object.assign(\n {},\n {\n isPopup: true,\n placeholder: resolvedPlaceholder\n },\n rest,\n useOptionsDirectly && Array.isArray(options) ? { options } : {},\n mergedApi ? { api: mergedApi } : {}\n )\n );\n return render(Component);\n };\n Field.field = Component;\n return Field;\n};\n\nexport const SuperSelectList = createField(SelectList);\nexport const SuperSelectTableList = createField(SelectTableList, { preferOptions: true });\nexport const SuperSelectTree = createField(SelectTree, { preferOptions: true });\nexport const SuperSelectCascader = createField(SelectCascader, { preferOptions: true });\n\nexport const SelectFunctionField = createField(SelectFunction);\nexport const SelectIndustryField = createField(SelectIndustry);\nexport const SelectAddressField = createField(SelectAddress);\n","export const RULE_PRESET_ITEMS = [\n { value: 'REQ', label: '必填' },\n { value: 'TEL', label: '手机号格式' },\n { value: 'EMAIL', label: '邮箱格式' }\n];\n\nexport const DEFAULT_RULE_CONFIG = () => ({\n presets: [],\n lenMin: '',\n lenMax: ''\n});\n\nexport const RULE_LEN_PRESET = 'LEN';\n\n/** 内部:注册填写项校验规则,会在规则勾选面板中展示(请通过 preset 注册) */\nexport const registerRulePreset = item => {\n if (!item?.value) {\n return;\n }\n const index = RULE_PRESET_ITEMS.findIndex(rule => rule.value === item.value);\n const next = {\n value: item.value,\n label: item.label || item.value\n };\n if (index >= 0) {\n RULE_PRESET_ITEMS[index] = next;\n } else {\n RULE_PRESET_ITEMS.push(next);\n }\n};\n\nexport const getRulePresetItems = () => RULE_PRESET_ITEMS.slice();\n\nexport const parseRuleString = rule => {\n const config = DEFAULT_RULE_CONFIG();\n if (!rule) {\n return config;\n }\n const tokens = String(rule).trim().split(/\\s+/).filter(Boolean);\n tokens.forEach(token => {\n if (RULE_PRESET_ITEMS.some(item => item.value === token)) {\n config.presets.push(token);\n return;\n }\n const lenMatch = token.match(/^LEN-(\\d+)-(\\d+)$/);\n if (lenMatch) {\n config.lenMin = lenMatch[1];\n config.lenMax = lenMatch[2];\n config.presets.push('LEN');\n }\n });\n return config;\n};\n\nexport const buildRuleString = ({ presets = [], lenMin, lenMax } = {}) => {\n const parts = [];\n RULE_PRESET_ITEMS.forEach(item => {\n if (presets.includes(item.value)) {\n parts.push(item.value);\n }\n });\n if (presets.includes('LEN') && lenMin !== '' && lenMax !== '') {\n parts.push(`LEN-${lenMin}-${lenMax}`);\n }\n return parts.join(' ') || undefined;\n};\n","import { Input, TextArea, Select, InputNumber, Switch, Checkbox, DatePicker, RadioGroup, CheckboxGroup } from '@kne/react-form-antd';\nimport { SuperSelectList, SuperSelectTableList, SuperSelectTree, SuperSelectCascader, SelectFunctionField, SelectIndustryField, SelectAddressField } from './fields/extendedFields';\nimport { buildRuleString, parseRuleString } from './rulePresets';\nimport { createEmptyColumn } from './schema';\n\nconst registry = new Map();\n\nconst defineField = (type, definition) => {\n registry.set(type, {\n type,\n ...definition\n });\n};\n\nconst FIELD_GROUPS = [\n {\n label: '基础字段',\n types: ['Input', 'TextArea', 'InputNumber', 'Switch', 'Checkbox', 'DatePicker']\n },\n {\n label: '选择字段',\n types: ['Select', 'RadioGroup', 'CheckboxGroup']\n },\n {\n label: '高级选择',\n types: ['SuperSelectList', 'SuperSelectTableList', 'SuperSelectTree', 'SuperSelectCascader']\n },\n {\n label: '业务选择',\n types: ['SelectFunction', 'SelectIndustry', 'SelectAddress']\n }\n];\n\nconst optionEnumValues = field => {\n const options = field?.props?.options;\n if (!Array.isArray(options) || !options.length) {\n return undefined;\n }\n const values = options.map(item => item?.value).filter(value => value !== undefined && value !== null && value !== '');\n return values.length ? values : undefined;\n};\n\nconst stringWithEnumSchema = field => {\n const schema = { type: 'string' };\n const enums = optionEnumValues(field);\n if (enums) {\n schema.enum = enums;\n }\n return schema;\n};\n\nconst superSelectValueSchema = field => {\n if (field?.props?.single) {\n return { type: 'object' };\n }\n return { type: 'array', items: { type: 'object' } };\n};\n\ndefineField('Input', {\n label: '单行文本',\n group: '基础字段',\n component: Input,\n defaultProps: { allowClear: true },\n hasFieldProps: true,\n valueSchema: { type: 'string' }\n});\n\ndefineField('TextArea', {\n label: '多行文本',\n group: '基础字段',\n component: TextArea,\n defaultProps: { rows: 3 },\n defaults: { block: true },\n hasFieldProps: true,\n valueSchema: { type: 'string' }\n});\n\ndefineField('InputNumber', {\n label: '数字',\n group: '基础字段',\n component: InputNumber,\n defaultProps: {},\n hasFieldProps: true,\n valueSchema: { type: 'number' }\n});\n\ndefineField('Select', {\n label: '下拉选择',\n group: '选择字段',\n component: Select,\n defaultProps: { options: [], allowClear: true },\n hasOptions: true,\n hasFieldProps: true,\n valueSchema: stringWithEnumSchema\n});\n\ndefineField('RadioGroup', {\n label: '单选组',\n group: '选择字段',\n component: RadioGroup,\n defaultProps: { options: [] },\n hasOptions: true,\n valueSchema: stringWithEnumSchema\n});\n\ndefineField('CheckboxGroup', {\n label: '复选组',\n group: '选择字段',\n component: CheckboxGroup,\n defaultProps: { options: [] },\n hasOptions: true,\n valueSchema: field => {\n const items = { type: 'string' };\n const enums = optionEnumValues(field);\n if (enums) {\n items.enum = enums;\n }\n return { type: 'array', items };\n }\n});\n\ndefineField('SuperSelectList', {\n label: '普通下拉',\n group: 'SuperSelect',\n component: SuperSelectList,\n defaultProps: { options: [], isPopup: true, allowClear: true, labelKey: 'label', valueKey: 'value' },\n isSuperSelect: true,\n hasOptions: true,\n optionsAllowDescription: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SuperSelectTableList', {\n label: '表格选择',\n group: 'SuperSelect',\n component: SuperSelectTableList,\n defaultProps: {\n options: [],\n columns: [],\n isPopup: true,\n allowClear: true,\n labelKey: 'label',\n valueKey: 'value'\n },\n isSuperSelect: true,\n hasOptions: true,\n hasColumns: true,\n optionsAllowDescription: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SuperSelectTree', {\n label: '树形选择',\n group: 'SuperSelect',\n component: SuperSelectTree,\n defaultProps: { options: [], isPopup: true, allowClear: true, labelKey: 'label', valueKey: 'value' },\n isSuperSelect: true,\n hasOptions: true,\n optionsAllowChildren: true,\n optionsAllowDescription: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SuperSelectCascader', {\n label: '级联选择',\n group: 'SuperSelect',\n component: SuperSelectCascader,\n defaultProps: {\n options: [],\n isPopup: true,\n allowClear: true,\n labelKey: 'label',\n valueKey: 'value',\n onlyAllowLastLevel: false\n },\n isSuperSelect: true,\n hasOptions: true,\n hasOnlyLastLevel: true,\n optionsAllowChildren: true,\n optionsAllowDescription: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SelectFunction', {\n label: '职能选择',\n group: 'SuperSelectPlus',\n component: SelectFunctionField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SelectIndustry', {\n label: '行业选择',\n group: 'SuperSelectPlus',\n component: SelectIndustryField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SelectAddress', {\n label: '地址选择',\n group: 'SuperSelectPlus',\n component: SelectAddressField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('Switch', {\n label: '开关',\n group: '基础字段',\n component: Switch,\n defaultProps: {},\n hasFieldProps: true,\n valueSchema: { type: 'boolean' }\n});\n\ndefineField('Checkbox', {\n label: '复选框',\n group: '基础字段',\n component: Checkbox,\n defaultProps: { children: '' },\n valueSchema: { type: 'boolean' }\n});\n\ndefineField('DatePicker', {\n label: '日期',\n group: '基础字段',\n component: DatePicker,\n defaultProps: {\n format: 'YYYY-MM-DD',\n picker: 'date',\n allowClear: true,\n range: false,\n showTime: false\n },\n hasFieldProps: true,\n resolveComponent: props => (props?.range ? DatePicker.RangePicker || DatePicker : DatePicker),\n valueSchema: field => (field?.props?.range ? { type: 'array', items: { type: 'string' }, minItems: 2, maxItems: 2 } : { type: 'string' })\n});\n\n/**\n * 扩展字段额外参数声明(propsSchema 项):\n * - name: props 键名\n * - label: 编辑器展示名\n * - type: 'string' | 'number' | 'boolean' | 'select'\n * - placeholder?: string\n * - defaultValue?: any\n * - min / max?: number(type=number)\n * - options?: { label, value }[](type=select)\n *\n * preset({ type, definition }) 的 fields 项还可传:\n * - groupName?: string 自定义类型下拉分组名;不传则归入「扩展字段」\n * - valueSchema?: object | (field) => object 提交值的 JSON Schema 片段;缺省回退 { type: 'string' }\n */\nexport const registerField = (type, definition) => {\n const propsSchema = Array.isArray(definition?.propsSchema) ? definition.propsSchema : undefined;\n const groupName = definition?.groupName != null && String(definition.groupName).trim() ? String(definition.groupName).trim() : undefined;\n defineField(type, {\n ...definition,\n propsSchema,\n groupName,\n hasFieldProps: definition.hasFieldProps ?? !!(propsSchema && propsSchema.length)\n });\n};\n\nexport const pickFromPropsSchema = (props = {}, propsSchema = [], defaultProps = {}) => {\n const next = {};\n propsSchema.forEach(item => {\n if (!item?.name) {\n return;\n }\n const key = item.name;\n const fallback = item.defaultValue !== undefined ? item.defaultValue : defaultProps[key];\n if (item.type === 'boolean') {\n next[key] = props[key] !== undefined ? !!props[key] : !!fallback;\n return;\n }\n if (item.type === 'number') {\n next[key] = props[key] != null && props[key] !== '' ? props[key] : (fallback ?? null);\n return;\n }\n if (item.type === 'select') {\n next[key] = props[key] !== undefined ? props[key] : fallback;\n return;\n }\n next[key] = props[key] != null ? props[key] : (fallback ?? '');\n });\n return next;\n};\n\nexport const applyFromPropsSchema = (props, values = {}, propsSchema = []) => {\n propsSchema.forEach(item => {\n if (!item?.name) {\n return;\n }\n const key = item.name;\n const value = values[key];\n if (item.type === 'boolean') {\n props[key] = !!value;\n return;\n }\n if (item.type === 'number') {\n setOptionalNumber(props, key, value);\n return;\n }\n if (item.type === 'select') {\n if (value !== undefined && value !== null && value !== '') {\n props[key] = value;\n } else if (item.defaultValue !== undefined) {\n props[key] = item.defaultValue;\n } else {\n delete props[key];\n }\n return;\n }\n setOptionalString(props, key, value);\n });\n};\n\nexport const getFieldDefinition = type => registry.get(type);\n\n/**\n * 解析字段提交值的 JSON Schema 片段。\n * 优先用 definition.valueSchema(对象或 (field)=>schema);缺省 { type: 'string' }。\n */\nexport const resolveFieldValueSchema = field => {\n if (!field || !field.type) {\n return { type: 'string' };\n }\n const definition = registry.get(field.type);\n const raw = definition?.valueSchema;\n let schema;\n if (typeof raw === 'function') {\n schema = raw(field);\n } else if (raw && typeof raw === 'object') {\n schema = { ...raw };\n } else {\n schema = { type: 'string' };\n }\n if (!schema || typeof schema !== 'object') {\n schema = { type: 'string' };\n } else {\n schema = { ...schema };\n }\n const title = field.label != null && String(field.label).trim() ? String(field.label).trim() : undefined;\n const description = field.description != null && String(field.description).trim() ? String(field.description).trim() : undefined;\n if (title && schema.title == null) {\n schema.title = title;\n }\n if (description && schema.description == null) {\n schema.description = description;\n }\n return schema;\n};\n\nexport const getFieldComponent = (type, field) => {\n const definition = registry.get(type);\n if (!definition) {\n return undefined;\n }\n if (typeof definition.resolveComponent === 'function') {\n return definition.resolveComponent(field?.props || {});\n }\n return definition.component;\n};\n\nexport const getFieldTypes = () => {\n const grouped = FIELD_GROUPS.map(group => ({\n label: group.label,\n options: group.types\n .map(type => registry.get(type))\n .filter(Boolean)\n .map(({ type, label }) => ({ label, value: type }))\n }));\n\n const builtinTypes = new Set(FIELD_GROUPS.flatMap(group => group.types));\n const registered = Array.from(registry.values()).filter(item => !builtinTypes.has(item.type));\n\n const customGroups = new Map();\n const fallback = [];\n\n registered.forEach(item => {\n const option = { label: item.label, value: item.type };\n const groupName = item.groupName != null && String(item.groupName).trim() ? String(item.groupName).trim() : '';\n if (!groupName) {\n fallback.push(option);\n return;\n }\n if (!customGroups.has(groupName)) {\n customGroups.set(groupName, []);\n }\n customGroups.get(groupName).push(option);\n });\n\n customGroups.forEach((options, label) => {\n grouped.push({ label, options });\n });\n if (fallback.length) {\n grouped.push({\n label: '扩展字段',\n options: fallback\n });\n }\n return grouped;\n};\n\nexport const normalizeOptions = (options, { allowChildren = false, columns = [] } = {}) => {\n if (!Array.isArray(options)) {\n return [];\n }\n const columnNames = (columns || []).map(item => item?.name).filter(Boolean);\n\n return options\n .map(item => {\n const next = {\n label: item?.label ?? '',\n value: item?.value ?? '',\n description: item?.description ?? ''\n };\n columnNames.forEach(name => {\n next[name] = item?.[name] ?? '';\n });\n if (!String(next.label).trim() && columnNames[0] && String(next[columnNames[0]] || '').trim()) {\n next.label = String(next[columnNames[0]]);\n }\n if (!String(next.value).trim() && String(next.label).trim()) {\n next.value = next.label;\n }\n if (allowChildren && Array.isArray(item?.children) && item.children.length) {\n next.children = normalizeOptions(item.children, { allowChildren: true, columns });\n }\n return next;\n })\n .filter(item => {\n if (item.label || item.value || (item.children && item.children.length)) {\n return true;\n }\n return columnNames.some(name => String(item[name] || '').trim());\n });\n};\n\nexport const normalizeColumns = columns => {\n if (!Array.isArray(columns)) {\n return [];\n }\n return columns\n .map((item, index) => {\n const title = item?.title ?? '';\n const name = String(item?.name || item?.dataIndex || item?.key || '').trim() || `col_${index + 1}`;\n const next = {\n title,\n name,\n key: name\n };\n if (item?.width != null && item.width !== '') {\n next.width = Number(item.width);\n }\n return next;\n })\n .filter(item => String(item.title || '').trim() || String(item.name || '').trim());\n};\n\nconst pickSuperSelectFormValues = (field, definition) => {\n const props = field.props || {};\n const columns = normalizeColumns(props.columns);\n return {\n single: !!props.single,\n isPopup: props.isPopup !== false,\n allowClear: props.allowClear !== false,\n allowSelectedAll: !!props.allowSelectedAll,\n onlyAllowLastLevel: !!props.onlyAllowLastLevel,\n maxLength: props.maxLength,\n placeholder: props.placeholder || '',\n searchPlaceholder: props.searchPlaceholder || '',\n columns: columns.length ? columns : [createEmptyColumn()]\n };\n};\n\nconst applySuperSelectProps = (props, values, definition) => {\n props.single = !!values.single;\n props.isPopup = values.isPopup !== false;\n props.allowClear = values.allowClear !== false;\n props.allowSelectedAll = !values.single && !!values.allowSelectedAll;\n\n if (!values.single && values.maxLength != null && values.maxLength !== '') {\n props.maxLength = Number(values.maxLength);\n } else {\n delete props.maxLength;\n }\n\n if (values.placeholder) {\n props.placeholder = values.placeholder;\n } else {\n delete props.placeholder;\n }\n\n if (values.searchPlaceholder) {\n props.searchPlaceholder = values.searchPlaceholder;\n } else {\n delete props.searchPlaceholder;\n }\n\n // labelKey / valueKey 固定用类型默认值,不开放给用户编辑\n if (!definition.hasBuiltinData) {\n props.labelKey = definition.defaultProps?.labelKey || 'label';\n props.valueKey = definition.defaultProps?.valueKey || 'value';\n }\n\n if (definition.hasOnlyLastLevel) {\n props.onlyAllowLastLevel = !!values.onlyAllowLastLevel;\n } else {\n delete props.onlyAllowLastLevel;\n }\n\n if (definition.hasColumns) {\n props.columns = normalizeColumns(values.columns);\n } else {\n delete props.columns;\n }\n};\n\nconst setOptionalNumber = (props, key, value) => {\n if (value != null && value !== '') {\n props[key] = Number(value);\n } else {\n delete props[key];\n }\n};\n\nconst setOptionalString = (props, key, value) => {\n if (value != null && String(value).trim()) {\n props[key] = value;\n } else {\n delete props[key];\n }\n};\n\nexport const pickFieldProps = (field, definition) => {\n const props = field.props || {};\n const type = definition?.type || field.type;\n switch (type) {\n case 'Input':\n return {\n placeholder: props.placeholder || '',\n allowClear: props.allowClear !== false,\n maxLength: props.maxLength\n };\n case 'TextArea':\n return {\n placeholder: props.placeholder || '',\n rows: props.rows ?? 3,\n maxLength: props.maxLength,\n showCount: !!props.showCount\n };\n case 'InputNumber':\n return {\n placeholder: props.placeholder || '',\n min: props.min,\n max: props.max,\n step: props.step,\n precision: props.precision\n };\n case 'Select':\n return {\n placeholder: props.placeholder || '',\n allowClear: props.allowClear !== false,\n mode: props.mode === 'multiple' || props.mode === 'tags' ? 'multiple' : 'single'\n };\n case 'DatePicker': {\n const raw = props.placeholder;\n const placeholder = Array.isArray(raw) ? raw[0] || '' : raw || '';\n return {\n placeholder,\n allowClear: props.allowClear !== false,\n format: props.format || 'YYYY-MM-DD',\n picker: props.picker || 'date',\n showTime: !!props.showTime,\n range: !!props.range\n };\n }\n case 'Switch':\n return {\n checkedChildren: props.checkedChildren || '',\n unCheckedChildren: props.unCheckedChildren || ''\n };\n default:\n if (definition?.propsSchema?.length) {\n return pickFromPropsSchema(props, definition.propsSchema, definition.defaultProps || {});\n }\n return {};\n }\n};\n\nconst applyFieldProps = (props, values, definition) => {\n const type = definition.type;\n switch (type) {\n case 'Input':\n setOptionalString(props, 'placeholder', values.placeholder);\n props.allowClear = values.allowClear !== false;\n setOptionalNumber(props, 'maxLength', values.maxLength);\n break;\n case 'TextArea':\n setOptionalString(props, 'placeholder', values.placeholder);\n props.rows = values.rows ?? 3;\n setOptionalNumber(props, 'maxLength', values.maxLength);\n if (values.showCount) {\n props.showCount = true;\n } else {\n delete props.showCount;\n }\n break;\n case 'InputNumber':\n setOptionalString(props, 'placeholder', values.placeholder);\n setOptionalNumber(props, 'min', values.min);\n setOptionalNumber(props, 'max', values.max);\n setOptionalNumber(props, 'step', values.step);\n setOptionalNumber(props, 'precision', values.precision);\n break;\n case 'Select':\n setOptionalString(props, 'placeholder', values.placeholder);\n props.allowClear = values.allowClear !== false;\n if (values.mode === 'multiple') {\n props.mode = 'multiple';\n } else {\n delete props.mode;\n }\n break;\n case 'DatePicker': {\n props.allowClear = values.allowClear !== false;\n props.picker = values.picker || 'date';\n props.format = values.format || 'YYYY-MM-DD';\n props.range = !!values.range;\n if (values.showTime && props.picker === 'date') {\n props.showTime = true;\n } else {\n delete props.showTime;\n }\n if (values.range) {\n // RangePicker 用数组 placeholder;单框用字符串\n const raw = values.placeholder;\n const text = (Array.isArray(raw) ? raw[0] : raw) || '请选择日期';\n props.placeholder = [text, text];\n } else {\n setOptionalString(props, 'placeholder', values.placeholder);\n }\n break;\n }\n case 'Switch':\n setOptionalString(props, 'checkedChildren', values.checkedChildren);\n setOptionalString(props, 'unCheckedChildren', values.unCheckedChildren);\n break;\n default:\n if (definition?.propsSchema?.length) {\n applyFromPropsSchema(props, values, definition.propsSchema);\n }\n break;\n }\n};\n\nexport const fieldToFormValues = field => {\n const definition = getFieldDefinition(field.type);\n const ruleConfig = parseRuleString(field.rule);\n const allowChildren = !!definition?.optionsAllowChildren;\n const columns = definition?.hasColumns ? normalizeColumns(field.props?.columns) : [];\n const options = normalizeOptions(field.props?.options, { allowChildren, columns });\n const rawPlaceholder = field.props?.placeholder;\n const placeholder = Array.isArray(rawPlaceholder) ? rawPlaceholder[0] || '' : rawPlaceholder || '';\n\n return {\n type: field.type,\n name: field.name,\n label: field.label,\n tips: field.tips || '',\n description: field.description || '',\n block: !!field.block,\n hidden: !!field.hidden,\n placeholder,\n options: options.length ? options : [{ label: '', value: '' }],\n ruleConfig,\n hasOptions: !!definition?.hasOptions,\n selectProps: definition?.isSuperSelect ? pickSuperSelectFormValues(field, definition) : undefined,\n fieldProps: definition?.hasFieldProps ? pickFieldProps(field, definition) : undefined\n };\n};\n\nexport const formValuesToField = (values, existingField = {}) => {\n const definition = getFieldDefinition(values.type) || getFieldDefinition('Input');\n // 不沿用旧类型残留 props,避免切换填写项类型后参数串味\n const props = { ...(definition.defaultProps || {}) };\n\n if (definition.isSuperSelect) {\n applySuperSelectProps(props, values.selectProps || values, definition);\n } else if (definition.hasFieldProps) {\n applyFieldProps(props, values.fieldProps || values, definition);\n } else if (values.placeholder) {\n props.placeholder = values.placeholder;\n } else {\n delete props.placeholder;\n }\n\n if (definition.hasOptions) {\n props.options = normalizeOptions(values.options, {\n allowChildren: !!definition.optionsAllowChildren,\n columns: definition.hasColumns ? props.columns || [] : []\n });\n } else {\n delete props.options;\n }\n\n if (values.type === 'Checkbox' && values.label) {\n props.children = values.label;\n }\n\n const rule = buildRuleString(values.ruleConfig);\n\n return {\n id: existingField.id,\n type: values.type,\n name: values.name,\n label: values.label,\n tips: values.tips != null && String(values.tips).trim() ? values.tips : '',\n description: values.description != null && String(values.description).trim() ? values.description : '',\n rule,\n block: values.block ?? definition.defaults?.block ?? false,\n hidden: !!values.hidden,\n props\n };\n};\n","import { Button, Space, Tag, Typography } from 'antd';\nimport { ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined } from '@ant-design/icons';\nimport { useIntl } from '@kne/react-intl';\nimport { getFieldDefinition } from './fieldRegistry';\nimport style from './style.module.scss';\n\nconst { Text } = Typography;\n\nconst TYPE_TAG_COLORS = {\n Input: 'blue',\n TextArea: 'blue',\n InputNumber: 'cyan',\n Select: 'geekblue',\n RadioGroup: 'purple',\n CheckboxGroup: 'purple',\n SuperSelectList: 'gold',\n SuperSelectTableList: 'gold',\n SuperSelectTree: 'gold',\n SuperSelectCascader: 'gold',\n SelectFunction: 'orange',\n SelectIndustry: 'orange',\n SelectAddress: 'orange',\n Switch: 'green',\n Checkbox: 'green',\n DatePicker: 'lime'\n};\n\nconst FieldRow = ({ field, index, total, onEdit, onDelete, onMove }) => {\n const { formatMessage } = useIntl();\n const definition = getFieldDefinition(field.type);\n\n return (\n <div className={style['field-row']}>\n <span className={style['field-row-index']}>{index + 1}</span>\n <div className={style['field-row-main']}>\n <Space size={6} wrap>\n <Text strong ellipsis>\n {field.label || formatMessage({ id: 'untitledField' })}\n </Text>\n <Tag bordered={false} color={TYPE_TAG_COLORS[field.type] || 'default'}>\n {definition?.label || field.type}\n </Tag>\n {field.hidden ? <Tag bordered={false}>{formatMessage({ id: 'fieldHiddenTag' })}</Tag> : null}\n {field.block ? (\n <Tag bordered={false} color=\"processing\">\n {formatMessage({ id: 'fieldBlockTag' })}\n </Tag>\n ) : null}\n </Space>\n </div>\n <div className={style['action-group']}>\n <Button type=\"text\" size=\"small\" className={style['action-btn']} title={formatMessage({ id: 'moveUp' })} icon={<ArrowUpOutlined />} disabled={index === 0} onClick={() => onMove(field.id, 'up')} />\n <Button type=\"text\" size=\"small\" className={style['action-btn']} title={formatMessage({ id: 'moveDown' })} icon={<ArrowDownOutlined />} disabled={index === total - 1} onClick={() => onMove(field.id, 'down')} />\n <Button type=\"text\" size=\"small\" className={style['action-btn']} title={formatMessage({ id: 'editField' })} icon={<EditOutlined />} onClick={() => onEdit(field)} />\n <Button type=\"text\" size=\"small\" danger className={style['action-btn']} title={formatMessage({ id: 'deleteField' })} icon={<DeleteOutlined />} onClick={() => onDelete(field.id)} />\n </div>\n </div>\n );\n};\n\nexport default FieldRow;\n","import { useRef, useState } from 'react';\nimport { Button, Dropdown, Empty, Flex, Space, Tag, Typography } from 'antd';\nimport {\n ArrowDownOutlined,\n ArrowUpOutlined,\n DeleteOutlined,\n EditOutlined,\n FormOutlined,\n UnorderedListOutlined,\n TableOutlined,\n AppstoreOutlined,\n OrderedListOutlined,\n PlusOutlined,\n SelectOutlined,\n SettingOutlined,\n ClusterOutlined,\n PartitionOutlined\n} from '@ant-design/icons';\nimport { useIntl } from '@kne/react-intl';\nimport { getBlockDefinition } from './blockRegistry';\nimport { MAX_BLOCK_DEPTH } from './schema';\nimport FieldRow from './FieldRow';\nimport style from './style.module.scss';\n\nconst { Text } = Typography;\n\nconst ActionGroup = ({ children }) => <div className={style['action-group']}>{children}</div>;\n\nconst IconBtn = ({ title, danger, ...props }) => <Button type=\"text\" size=\"small\" title={title} danger={danger} className={style['action-btn']} {...props} />;\n\nconst ROOT_ADD_OPTIONS = [\n { key: 'formInfo', icon: <FormOutlined /> },\n { key: 'list', icon: <UnorderedListOutlined /> },\n { key: 'tableList', icon: <TableOutlined /> },\n { key: 'object', icon: <ClusterOutlined /> },\n { key: 'choice', icon: <PartitionOutlined /> },\n { key: 'multiField', icon: <AppstoreOutlined /> },\n { key: 'steps', icon: <OrderedListOutlined /> }\n];\n\n/** 可挂子模块的容器;表格列表 / 同类多值本身不支持子模块 */\nconst NESTED_ADD_OPTIONS = ROOT_ADD_OPTIONS.filter(opt => opt.key !== 'steps');\n\nconst BlockListPanel = ({\n blocks,\n onAddBlock,\n onEditBlock,\n onDeleteBlock,\n onMoveBlock,\n onAddField,\n onEditField,\n onDeleteField,\n onMoveField,\n onAddStep,\n onEditStep,\n onDeleteStep,\n onMoveStep,\n onAddChoiceOption,\n onEditChoiceOption,\n onDeleteChoiceOption,\n onMoveChoiceOption,\n onOpenFormActions,\n extraToolbar\n}) => {\n const { formatMessage } = useIntl();\n const [addMenuOpen, setAddMenuOpen] = useState(false);\n const [addFieldMenuId, setAddFieldMenuId] = useState(null);\n const keepAddFieldMenuOpenRef = useRef(false);\n\n const renderAddBlockMenu = (options, { onSelect, className } = {}) => (\n <div className={className || style['add-block-dropdown']}>\n {options.map(opt => {\n const definition = getBlockDefinition(opt.key);\n return (\n <div\n key={opt.key}\n role=\"button\"\n tabIndex={0}\n className={style['add-block-option']}\n onClick={() => onSelect(opt.key)}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n onSelect(opt.key);\n }\n }}\n >\n <div className={style['add-block-option-icon']}>{opt.icon}</div>\n <div className={style['add-block-option-text']}>\n <div className={style['add-block-option-title']}>{formatMessage({ id: `blockKind_${opt.key}` })}</div>\n <div className={style['add-block-option-desc']}>{definition?.description}</div>\n </div>\n </div>\n );\n })}\n </div>\n );\n\n const renderAddFieldButton = ({ menuKey, depth, onAddFieldClick, onAddChildBlock }) => {\n const canAddChild = typeof onAddChildBlock === 'function' && depth < MAX_BLOCK_DEPTH;\n const menuOpen = addFieldMenuId === menuKey;\n const btnClass = `${style['add-inline-btn']} ${style['hover-reveal']} ${menuOpen ? style['hover-reveal-active'] : ''}`.trim();\n\n if (!canAddChild) {\n return (\n <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={btnClass} onClick={onAddFieldClick}>\n {formatMessage({ id: 'addField' })}\n </Button>\n );\n }\n\n return (\n <Dropdown\n open={menuOpen}\n onOpenChange={open => {\n if (open) {\n setAddFieldMenuId(menuKey);\n return;\n }\n // 已打开时再点触发器:antd 会 toggle 关闭,这里忽略,保持展开\n if (keepAddFieldMenuOpenRef.current) {\n keepAddFieldMenuOpenRef.current = false;\n return;\n }\n setAddFieldMenuId(null);\n }}\n trigger={['hover', 'click']}\n mouseEnterDelay={0.1}\n mouseLeaveDelay={0.15}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n dropdownRender={() => (\n <div className={style['add-field-dropdown']}>\n <div\n role=\"button\"\n tabIndex={0}\n className={style['add-field-dropdown-item']}\n onClick={() => {\n onAddFieldClick();\n setAddFieldMenuId(null);\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n onAddFieldClick();\n setAddFieldMenuId(null);\n }\n }}\n >\n <span className={style['add-field-dropdown-item-icon']}>\n <SelectOutlined />\n </span>\n <span>{formatMessage({ id: 'addField' })}</span>\n </div>\n <div className={style['add-field-dropdown-divider']} />\n <div className={style['add-field-dropdown-label']}>{formatMessage({ id: 'addChildBlock' })}</div>\n {NESTED_ADD_OPTIONS.map(opt => {\n const definition = getBlockDefinition(opt.key);\n return (\n <div\n key={opt.key}\n role=\"button\"\n tabIndex={0}\n className={style['add-field-dropdown-item']}\n onClick={() => {\n onAddChildBlock(opt.key);\n setAddFieldMenuId(null);\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n onAddChildBlock(opt.key);\n setAddFieldMenuId(null);\n }\n }}\n >\n <span className={style['add-field-dropdown-item-icon']}>{opt.icon}</span>\n <span>{formatMessage({ id: `blockKind_${opt.key}` })}</span>\n {definition?.description ? <span className={style['add-field-dropdown-item-desc']}>{definition.description}</span> : null}\n </div>\n );\n })}\n </div>\n )}\n >\n <Button\n type=\"text\"\n size=\"small\"\n icon={<PlusOutlined />}\n className={btnClass}\n onMouseDown={() => {\n if (menuOpen) {\n keepAddFieldMenuOpenRef.current = true;\n }\n }}\n onClick={() => setAddFieldMenuId(menuKey)}\n >\n {formatMessage({ id: 'addField' })}\n </Button>\n </Dropdown>\n );\n };\n\n const renderFieldList = (fields, blockId, { stepId, optionId } = {}) => {\n if (!(fields || []).length) {\n return (\n <Text type=\"secondary\" className={style['inline-empty']}>\n {formatMessage({ id: 'emptyFieldList' })}\n </Text>\n );\n }\n\n return (\n <div className={style['field-list']}>\n {fields.map((field, fieldIndex) => (\n <FieldRow\n key={field.id}\n field={field}\n index={fieldIndex}\n total={fields.length}\n onEdit={fieldItem => onEditField(blockId, fieldItem, { stepId, optionId })}\n onDelete={fieldId => onDeleteField(blockId, fieldId, { stepId, optionId })}\n onMove={(fieldId, direction) => onMoveField(blockId, fieldId, direction, { stepId, optionId })}\n />\n ))}\n </div>\n );\n };\n\n const renderNestedBlocks = (childBlocks, depth) => {\n if (!(childBlocks || []).length) {\n return null;\n }\n return (\n <div className={style['item-blocks-section']}>\n <div className={style['nested-block-list']}>{childBlocks.map((child, childIndex) => renderBlockSection(child, childIndex, childBlocks.length, depth + 1))}</div>\n </div>\n );\n };\n\n const renderItemBlocks = (parentBlock, depth) => renderNestedBlocks(parentBlock.itemBlocks, depth);\n\n const renderBlockChildren = (block, depth) => {\n if (block.kind === 'steps') {\n return (\n <div className={style['block-body']}>\n <div className={style['section-toolbar']}>\n <Text type=\"secondary\" className={style['section-toolbar-label']}>\n {formatMessage({ id: 'stepListTitle' })}\n </Text>\n <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={`${style['add-inline-btn']} ${style['hover-reveal']}`} onClick={() => onAddStep(block.id)}>\n {formatMessage({ id: 'addStep' })}\n </Button>\n </div>\n {(block.items || []).length ? (\n <div className={style['step-list']}>\n {(block.items || []).map((step, stepIndex) => (\n <div key={step.id} className={style['step-section']}>\n <div className={style['step-section-header']}>\n <Space size={8} wrap className={style['step-section-title']}>\n <span className={style['step-index']}>{stepIndex + 1}</span>\n <Text strong>{step.title || formatMessage({ id: 'untitledStep' }, { index: stepIndex + 1 })}</Text>\n <Text type=\"secondary\">\n {(step.blocks || []).length ? formatMessage({ id: 'fieldAndItemBlockCount' }, { fields: step.list?.length || 0, nests: step.blocks.length }) : formatMessage({ id: 'fieldCount' }, { count: step.list?.length || 0 })}\n </Text>\n </Space>\n <Space size={4} wrap className={style['step-section-actions']}>\n <ActionGroup>\n <IconBtn title={formatMessage({ id: 'moveUp' })} icon={<ArrowUpOutlined />} disabled={stepIndex === 0} onClick={() => onMoveStep(block.id, step.id, 'up')} />\n <IconBtn title={formatMessage({ id: 'moveDown' })} icon={<ArrowDownOutlined />} disabled={stepIndex === (block.items?.length || 0) - 1} onClick={() => onMoveStep(block.id, step.id, 'down')} />\n <IconBtn title={formatMessage({ id: 'editStep' })} icon={<EditOutlined />} onClick={() => onEditStep(block.id, step)} />\n <IconBtn title={formatMessage({ id: 'deleteStep' })} danger icon={<DeleteOutlined />} onClick={() => onDeleteStep(block.id, step.id)} />\n </ActionGroup>\n {renderAddFieldButton({\n menuKey: `${block.id}:${step.id}`,\n depth,\n onAddFieldClick: () => onAddField(block.id, { stepId: step.id }),\n onAddChildBlock: kind => onAddBlock(kind, { parentBlockId: block.id, stepId: step.id })\n })}\n </Space>\n </div>\n {renderFieldList(step.list, block.id, { stepId: step.id })}\n {renderNestedBlocks(step.blocks, depth)}\n </div>\n ))}\n </div>\n ) : (\n <Text type=\"secondary\" className={style['inline-empty']}>\n {formatMessage({ id: 'emptyStepList' })}\n </Text>\n )}\n </div>\n );\n }\n\n if (block.kind === 'multiField') {\n return (\n <div className={style['block-body']}>\n <Text type=\"secondary\">{formatMessage({ id: 'multiFieldEditorHint' })}</Text>\n </div>\n );\n }\n\n if (block.kind === 'choice') {\n return (\n <div className={style['block-body']}>\n <div className={style['section-toolbar']}>\n <Text type=\"secondary\" className={style['section-toolbar-label']}>\n {formatMessage({ id: 'choiceOptionListTitle' })}\n </Text>\n <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={`${style['add-inline-btn']} ${style['hover-reveal']}`} onClick={() => onAddChoiceOption(block.id)}>\n {formatMessage({ id: 'addChoiceOption' })}\n </Button>\n </div>\n {(block.options || []).length ? (\n <div className={style['step-list']}>\n {(block.options || []).map((option, optionIndex) => (\n <div key={option.id} className={style['step-section']}>\n <div className={style['step-section-header']}>\n <Space size={8} wrap className={style['step-section-title']}>\n <span className={style['step-index']}>{optionIndex + 1}</span>\n <Text strong>{option.title || formatMessage({ id: 'choiceOptionFallback' }, { index: optionIndex + 1 })}</Text>\n <Text type=\"secondary\">\n {(option.blocks || []).length\n ? formatMessage({ id: 'fieldAndItemBlockCount' }, { fields: option.list?.length || 0, nests: option.blocks.length })\n : formatMessage({ id: 'fieldCount' }, { count: option.list?.length || 0 })}\n </Text>\n </Space>\n <Space size={4} wrap className={style['step-section-actions']}>\n <ActionGroup>\n <IconBtn title={formatMessage({ id: 'moveUp' })} icon={<ArrowUpOutlined />} disabled={optionIndex === 0} onClick={() => onMoveChoiceOption(block.id, option.id, 'up')} />\n <IconBtn title={formatMessage({ id: 'moveDown' })} icon={<ArrowDownOutlined />} disabled={optionIndex === (block.options?.length || 0) - 1} onClick={() => onMoveChoiceOption(block.id, option.id, 'down')} />\n <IconBtn title={formatMessage({ id: 'editChoiceOption' })} icon={<EditOutlined />} onClick={() => onEditChoiceOption(block.id, option)} />\n <IconBtn title={formatMessage({ id: 'deleteChoiceOption' })} danger icon={<DeleteOutlined />} onClick={() => onDeleteChoiceOption(block.id, option.id)} />\n </ActionGroup>\n {renderAddFieldButton({\n menuKey: `${block.id}:opt:${option.id}`,\n depth,\n onAddFieldClick: () => onAddField(block.id, { optionId: option.id }),\n onAddChildBlock: kind => onAddBlock(kind, { parentBlockId: block.id, optionId: option.id })\n })}\n </Space>\n </div>\n {renderFieldList(option.list, block.id, { optionId: option.id })}\n {renderNestedBlocks(option.blocks, depth)}\n </div>\n ))}\n </div>\n ) : (\n <Text type=\"secondary\" className={style['inline-empty']}>\n {formatMessage({ id: 'emptyChoiceOptionList' })}\n </Text>\n )}\n </div>\n );\n }\n\n const supportsItemBlocks = block.kind === 'list';\n const supportsBlocks = block.kind === 'formInfo' || block.kind === 'object';\n\n return (\n <div className={style['block-body']}>\n {renderFieldList(block.list, block.id)}\n {supportsItemBlocks ? renderItemBlocks(block, depth) : null}\n {supportsBlocks ? renderNestedBlocks(block.blocks, depth) : null}\n </div>\n );\n };\n\n const renderBlockSection = (block, blockIndex, total, depth = 0) => {\n const definition = getBlockDefinition(block.kind);\n const canAddField = block.kind !== 'steps' && block.kind !== 'multiField' && block.kind !== 'choice';\n const supportsItemBlocks = block.kind === 'list';\n const supportsBlocks = block.kind === 'formInfo' || block.kind === 'object';\n const supportsChildModules = supportsItemBlocks || supportsBlocks;\n const nestCount = supportsItemBlocks ? block.itemBlocks?.length || 0 : block.blocks?.length || 0;\n const summary =\n block.kind === 'steps'\n ? formatMessage({ id: 'stepCount' }, { count: block.items?.length || 0 })\n : block.kind === 'multiField'\n ? formatMessage({ id: 'multiFieldSummary' }, { type: block.fieldType })\n : block.kind === 'choice'\n ? formatMessage({ id: 'choiceOptionCount' }, { count: block.options?.length || 0 })\n : supportsChildModules && nestCount > 0\n ? formatMessage({ id: 'fieldAndItemBlockCount' }, { fields: block.list?.length || 0, nests: nestCount })\n : formatMessage({ id: 'fieldCount' }, { count: block.list?.length || 0 });\n\n return (\n <section key={block.id} className={`${style['block-section']} ${style[`block-kind-${block.kind}`] || ''} ${depth > 0 ? style['block-section-nested'] : ''}`.trim()}>\n <header className={style['block-section-header']}>\n <div className={style['block-header-left']}>\n <Tag bordered={false} color={definition?.color || 'default'}>\n {definition?.label || block.kind}\n </Tag>\n <Text strong ellipsis className={style['block-title']}>\n {block.title || block.label || block.name || formatMessage({ id: 'untitledBlock' })}\n </Text>\n <span className={style['block-summary']}>{summary}</span>\n </div>\n <Space size={4} wrap className={style['block-header-actions']}>\n <ActionGroup>\n <IconBtn title={formatMessage({ id: 'moveUp' })} icon={<ArrowUpOutlined />} disabled={blockIndex === 0} onClick={() => onMoveBlock(block.id, 'up')} />\n <IconBtn title={formatMessage({ id: 'moveDown' })} icon={<ArrowDownOutlined />} disabled={blockIndex === total - 1} onClick={() => onMoveBlock(block.id, 'down')} />\n <IconBtn title={formatMessage({ id: 'editBlock' })} icon={<SettingOutlined />} onClick={() => onEditBlock(block)} />\n <IconBtn title={formatMessage({ id: 'deleteBlock' })} danger icon={<DeleteOutlined />} onClick={() => onDeleteBlock(block.id)} />\n </ActionGroup>\n {canAddField\n ? renderAddFieldButton({\n menuKey: block.id,\n depth,\n onAddFieldClick: () => onAddField(block.id),\n onAddChildBlock: supportsChildModules ? kind => onAddBlock(kind, { parentBlockId: block.id }) : undefined\n })\n : null}\n </Space>\n </header>\n {renderBlockChildren(block, depth)}\n </section>\n );\n };\n\n return (\n <div className={style['block-list-panel']}>\n <Flex justify=\"flex-end\" gap={8} align=\"center\" className={style['panel-toolbar']}>\n <Dropdown\n open={addMenuOpen}\n onOpenChange={setAddMenuOpen}\n trigger={['click']}\n dropdownRender={() =>\n renderAddBlockMenu(ROOT_ADD_OPTIONS, {\n onSelect: kind => {\n onAddBlock(kind);\n setAddMenuOpen(false);\n }\n })\n }\n >\n <Button type=\"primary\" size=\"small\" icon={<PlusOutlined />} className={style['add-block-btn']}>\n {formatMessage({ id: 'addBlock' })}\n </Button>\n </Dropdown>\n <Button type=\"default\" size=\"small\" shape=\"circle\" icon={<SettingOutlined />} className={style['form-actions-setting-btn']} title={formatMessage({ id: 'formActionsSection' })} onClick={onOpenFormActions} />\n {extraToolbar ? <div className={style['panel-toolbar-extra']}>{extraToolbar}</div> : null}\n </Flex>\n {!blocks.length ? (\n <Empty className={style['field-empty']} image={Empty.PRESENTED_IMAGE_SIMPLE} description={formatMessage({ id: 'emptyBlockList' })} />\n ) : (\n <div className={style['block-list']}>{blocks.map((block, blockIndex) => renderBlockSection(block, blockIndex, blocks.length, 0))}</div>\n )}\n </div>\n );\n};\n\nexport default BlockListPanel;\n","import { useEffect, useMemo, useState } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input, Select, InputNumber, Checkbox } from '@kne/react-form-antd';\nimport { message } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { blockToFormValues, formValuesToBlock, getBlockDefinition, getBlockKindOptions } from './blockRegistry';\nimport { getFieldTypes } from './fieldRegistry';\nimport { createBlock } from './schema';\nimport style from './style.module.scss';\n\nconst BlockConfigFields = ({ kind }) => {\n const { formatMessage } = useIntl();\n const definition = getBlockDefinition(kind);\n const fieldTypeOptions = useMemo(() => getFieldTypes(), []);\n\n const list = [];\n\n if (kind === 'formInfo' || kind === 'list' || kind === 'tableList' || kind === 'object') {\n list.push(\n <Input key=\"title\" name=\"title\" label={formatMessage({ id: 'blockTitle' })} placeholder={formatMessage({ id: 'blockTitlePlaceholder' })} />,\n kind === 'formInfo' ? <Input key=\"subtitle\" name=\"subtitle\" label={formatMessage({ id: 'blockSubtitle' })} placeholder={formatMessage({ id: 'blockSubtitlePlaceholder' })} /> : null,\n kind !== 'formInfo' ? <Input key=\"name\" name=\"name\" label={formatMessage({ id: 'blockName' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldNamePlaceholder' })} /> : null,\n <InputNumber key=\"column\" name=\"column\" label={formatMessage({ id: 'formColumnPlaceholder' })} min={1} max={4} />,\n kind === 'formInfo' || kind === 'object' ? <InputNumber key=\"gap\" name=\"gap\" label={formatMessage({ id: 'blockGap' })} min={0} max={48} /> : null,\n <Checkbox key=\"bordered\" name=\"bordered\">\n {formatMessage({ id: 'blockBordered' })}\n </Checkbox>,\n kind === 'list' ? (\n <Checkbox key=\"important\" name=\"important\">\n {formatMessage({ id: 'blockImportant' })}\n </Checkbox>\n ) : null,\n kind === 'list' || kind === 'tableList' ? <Input key=\"addText\" name=\"addText\" label={formatMessage({ id: 'blockAddText' })} placeholder={formatMessage({ id: 'blockAddTextPlaceholder' })} /> : null,\n kind === 'list' || kind === 'tableList' ? <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'blockMaxLength' })} min={1} /> : null,\n kind === 'list' || kind === 'tableList' ? <InputNumber key=\"minLength\" name=\"minLength\" label={formatMessage({ id: 'blockMinLength' })} min={0} /> : null\n );\n }\n\n if (kind === 'choice') {\n list.push(\n <Input key=\"title\" name=\"title\" label={formatMessage({ id: 'blockTitle' })} placeholder={formatMessage({ id: 'choiceTitlePlaceholder' })} />,\n <Select\n key=\"mode\"\n name=\"mode\"\n label={formatMessage({ id: 'choiceMode' })}\n rule=\"REQ\"\n options={[\n { label: formatMessage({ id: 'choiceModeSingle' }), value: 'single' },\n { label: formatMessage({ id: 'choiceModeMultiple' }), value: 'multiple' }\n ]}\n />,\n <InputNumber key=\"minLength\" name=\"minLength\" label={formatMessage({ id: 'choiceMinSelect' })} min={0} placeholder={formatMessage({ id: 'propOptionalNumber' })} display={({ openApi }) => openApi?.data?.mode === 'multiple'} />,\n <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'choiceMaxSelect' })} min={1} placeholder={formatMessage({ id: 'propOptionalNumber' })} display={({ openApi }) => openApi?.data?.mode === 'multiple'} />,\n <Input key=\"selectorName\" name=\"selectorName\" label={formatMessage({ id: 'choiceSelectorName' })} placeholder={formatMessage({ id: 'choiceSelectorNamePlaceholder' })} />,\n <Checkbox key=\"selectorInData\" name=\"selectorInData\">\n {formatMessage({ id: 'choiceSelectorInData' })}\n </Checkbox>\n );\n }\n\n if (kind === 'multiField') {\n list.push(\n <Input key=\"name\" name=\"name\" label={formatMessage({ id: 'blockName' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldNamePlaceholder' })} />,\n <Input key=\"label\" name=\"label\" label={formatMessage({ id: 'fieldLabel' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldLabelPlaceholder' })} />,\n <Select key=\"fieldType\" name=\"fieldType\" label={formatMessage({ id: 'multiFieldType' })} rule=\"REQ\" options={fieldTypeOptions} />,\n <Input key=\"addText\" name=\"addText\" label={formatMessage({ id: 'blockAddText' })} placeholder={formatMessage({ id: 'blockAddTextPlaceholder' })} />\n );\n }\n\n if (kind === 'steps') {\n list.push(\n <Input key=\"title\" name=\"title\" label={formatMessage({ id: 'blockTitle' })} placeholder={formatMessage({ id: 'blockTitlePlaceholder' })} />,\n <Input key=\"subtitle\" name=\"subtitle\" label={formatMessage({ id: 'blockSubtitle' })} placeholder={formatMessage({ id: 'blockSubtitlePlaceholder' })} />,\n <Checkbox key=\"bordered\" name=\"bordered\">\n {formatMessage({ id: 'blockBordered' })}\n </Checkbox>,\n <Checkbox key=\"autoStep\" name=\"autoStep\">\n {formatMessage({ id: 'blockAutoStep' })}\n </Checkbox>\n );\n }\n\n return (\n <div className={style['field-editor-form']}>\n <FormInfo title={definition?.label || kind} subtitle={definition?.description} column={1} list={list.filter(Boolean)} />\n </div>\n );\n};\n\nconst BlockEditorModal = ({ open, block, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const isEdit = !!block?.id;\n const formData = useMemo(() => blockToFormValues(block || createBlock('formInfo')), [block, open]);\n\n const handleSubmit = async values => {\n if ((block?.kind === 'list' || block?.kind === 'tableList' || block?.kind === 'multiField' || block?.kind === 'object') && !values.name) {\n message.error(formatMessage({ id: 'blockNameRequired' }));\n return false;\n }\n onSave(formValuesToBlock(values, block || createBlock(values.kind || 'formInfo')));\n };\n\n return (\n <FormModal\n key={open ? (block?.id ? `edit-${block.id}` : `add-${block?.kind || 'formInfo'}-${formData.name || 'new'}`) : 'closed'}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: isEdit ? 'editBlock' : 'addBlock' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 720}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: handleSubmit\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <BlockConfigFields kind={block?.kind || 'formInfo'} />\n </FormModal>\n );\n};\n\nexport default BlockEditorModal;\n","import { useMemo } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input, InputNumber } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { formValuesToStep, stepToFormValues } from './blockRegistry';\nimport { createStep } from './schema';\n\nconst StepEditorModal = ({ open, step, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const formData = useMemo(() => stepToFormValues(step || createStep()), [step, open]);\n\n return (\n <FormModal\n key={open ? (step?.id ? `edit-${step.id}` : `add-step-${formData.title || 'new'}`) : 'closed'}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: step?.id ? 'editStep' : 'addStep' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 560}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: values => {\n onSave(formValuesToStep(values, step || createStep()));\n }\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <FormInfo\n column={1}\n list={[\n <Input key=\"title\" name=\"title\" label={formatMessage({ id: 'stepTitle' })} rule=\"REQ\" placeholder={formatMessage({ id: 'stepTitlePlaceholder' })} />,\n <InputNumber key=\"column\" name=\"column\" label={formatMessage({ id: 'formColumnPlaceholder' })} min={1} max={4} />\n ]}\n />\n </FormModal>\n );\n};\n\nexport default StepEditorModal;\n","import { useMemo } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { choiceOptionToFormValues, formValuesToChoiceOption } from './blockRegistry';\nimport { createChoiceOption } from './schema';\n\nconst ChoiceOptionEditorModal = ({ open, option, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const formData = useMemo(() => choiceOptionToFormValues(option || createChoiceOption()), [option, open]);\n\n return (\n <FormModal\n key={open ? (option?.id ? `edit-option-${option.id}` : `add-option-${formData.title || 'new'}`) : 'closed'}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: option?.id ? 'editChoiceOption' : 'addChoiceOption' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 560}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: values => {\n onSave(formValuesToChoiceOption(values, option || createChoiceOption()));\n }\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <FormInfo column={1} list={[<Input key=\"title\" name=\"title\" label={formatMessage({ id: 'choiceOptionTitle' })} rule=\"REQ\" placeholder={formatMessage({ id: 'choiceOptionTitlePlaceholder' })} />]} />\n </FormModal>\n );\n};\n\nexport default ChoiceOptionEditorModal;\n","import FormInfo from '@kne/form-info';\nimport { InputNumber, hooks } from '@kne/react-form-antd';\nimport { Checkbox, Typography } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { RULE_LEN_PRESET, RULE_PRESET_ITEMS } from './rulePresets';\n\nconst { Text } = Typography;\nconst { useOnChange } = hooks;\n\nconst RulePresetsGroup = props => {\n const render = useOnChange(props);\n return render(Checkbox.Group);\n};\nRulePresetsGroup.field = Checkbox.Group;\n\nconst RulePresetEditor = () => {\n const { formatMessage } = useIntl();\n const options = [...RULE_PRESET_ITEMS.map(item => ({ label: item.label, value: item.value })), { label: formatMessage({ id: 'ruleLen' }), value: RULE_LEN_PRESET }];\n\n const list = [\n <RulePresetsGroup key=\"rulePresets\" name=\"rulePresets\" block options={options} />,\n <InputNumber key=\"lenMin\" name=\"lenMin\" label={formatMessage({ id: 'ruleLenMin' })} min={0} display={({ openApi }) => (openApi?.data?.rulePresets || []).includes(RULE_LEN_PRESET)} />,\n <InputNumber key=\"lenMax\" name=\"lenMax\" label={formatMessage({ id: 'ruleLenMax' })} min={0} display={({ openApi }) => (openApi?.data?.rulePresets || []).includes(RULE_LEN_PRESET)} />,\n <div key=\"rule-hint\" block>\n <Text type=\"secondary\">{formatMessage({ id: 'ruleEditorHint' })}</Text>\n </div>\n ];\n\n return <FormInfo title={formatMessage({ id: 'fieldRule' })} column={1} list={list} />;\n};\n\nexport default RulePresetEditor;\n","import FormInfo from '@kne/form-info';\nimport { Button, Card, Flex, Input, InputNumber, Space, Typography } from 'antd';\nimport { DeleteOutlined, PlusOutlined, ApartmentOutlined } from '@ant-design/icons';\nimport { useEffect } from 'react';\nimport { useIntl } from '@kne/react-intl';\nimport { createDataKey, createEmptyColumn, isAutoDataKey } from './schema';\nimport style from './style.module.scss';\n\nconst { Text } = Typography;\n\nconst createOptionKey = () => createDataKey('opt');\n\nconst EMPTY_OPTION = () => ({\n _key: createOptionKey(),\n label: '',\n value: ''\n});\n\nexport { createEmptyColumn };\n\nconst createEmptyTableRow = columns => {\n const row = { label: '', value: '' };\n (columns || []).forEach(column => {\n if (column?.name) {\n row[column.name] = '';\n }\n });\n return row;\n};\n\nconst ensureOptionKeys = (list = []) =>\n list.map(item => ({\n ...item,\n _key: item._key || createOptionKey(),\n children: Array.isArray(item.children) ? ensureOptionKeys(item.children) : undefined\n }));\n\nconst hasMissingOptionKey = (list = []) => list.some(item => !item?._key || (Array.isArray(item.children) && hasMissingOptionKey(item.children)));\n\n/** 扁平选项(非树) */\nconst FlatOptionRows = ({ list, onChange, allowDescription }) => {\n const { formatMessage } = useIntl();\n const rows = list.length ? ensureOptionKeys(list) : [EMPTY_OPTION()];\n\n const commit = next => onChange(next);\n\n const updateItem = (index, patch) => {\n commit(rows.map((item, itemIndex) => (itemIndex === index ? { ...item, ...patch } : item)));\n };\n\n return (\n <div className={style['options-list']}>\n {rows.map((item, index) => (\n <Flex key={item._key} gap={8} align=\"start\" className={style['options-row']}>\n <Input value={item.label} placeholder={formatMessage({ id: 'optionLabelPlaceholder' })} onChange={event => updateItem(index, { label: event.target.value })} />\n <Input value={item.value} placeholder={formatMessage({ id: 'optionValuePlaceholder' })} onChange={event => updateItem(index, { value: event.target.value })} />\n {allowDescription ? <Input value={item.description || ''} placeholder={formatMessage({ id: 'optionDescPlaceholder' })} onChange={event => updateItem(index, { description: event.target.value })} /> : null}\n <Button\n type=\"text\"\n danger\n className={style['icon-square-btn-sm']}\n icon={<DeleteOutlined />}\n disabled={rows.length === 1}\n onClick={() => {\n const next = rows.filter((_, itemIndex) => itemIndex !== index);\n commit(next.length ? next : [EMPTY_OPTION()]);\n }}\n />\n </Flex>\n ))}\n <Button type=\"dashed\" block icon={<PlusOutlined />} onClick={() => commit([...rows, EMPTY_OPTION()])}>\n {formatMessage({ id: 'addOption' })}\n </Button>\n </div>\n );\n};\n\n/** 树形 / 级联选项 */\nconst TreeOptionNode = ({ item, index, siblings, onChangeSiblings, allowDescription, depth, maxDepth = 4 }) => {\n const { formatMessage } = useIntl();\n const children = Array.isArray(item.children) ? item.children : [];\n const canAddChild = depth < maxDepth;\n\n const updateSelf = patch => {\n onChangeSiblings(siblings.map((row, i) => (i === index ? { ...row, ...patch } : row)));\n };\n\n const removeSelf = () => {\n onChangeSiblings(siblings.filter((_, i) => i !== index));\n };\n\n const addChild = () => {\n updateSelf({ children: [...children, EMPTY_OPTION()] });\n };\n\n const changeChildren = nextChildren => {\n if (!nextChildren.length) {\n updateSelf({ children: undefined });\n return;\n }\n updateSelf({ children: nextChildren });\n };\n\n return (\n <div className={style['tree-option-node']} data-depth={depth}>\n <div className={style['tree-option-row']}>\n <div className={style['tree-option-fields']}>\n <Input value={item.label} placeholder={formatMessage({ id: 'optionLabelPlaceholder' })} onChange={e => updateSelf({ label: e.target.value })} />\n <Input value={item.value} placeholder={formatMessage({ id: 'optionValuePlaceholder' })} onChange={e => updateSelf({ value: e.target.value })} />\n {allowDescription ? <Input value={item.description || ''} placeholder={formatMessage({ id: 'optionDescPlaceholder' })} onChange={e => updateSelf({ description: e.target.value })} /> : null}\n </div>\n <div className={style['tree-option-actions']}>\n {canAddChild ? (\n <Button type=\"link\" size=\"small\" icon={<ApartmentOutlined />} onClick={addChild}>\n {formatMessage({ id: 'addChildOption' })}\n </Button>\n ) : null}\n <Button type=\"text\" danger size=\"small\" className={style['icon-square-btn-sm']} icon={<DeleteOutlined />} disabled={siblings.length === 1 && depth === 0} onClick={removeSelf} />\n </div>\n </div>\n {children.length ? (\n <div className={style['tree-option-children']}>\n {children.map((child, childIndex) => (\n <TreeOptionNode key={child._key} item={child} index={childIndex} siblings={children} onChangeSiblings={changeChildren} allowDescription={allowDescription} depth={depth + 1} maxDepth={maxDepth} />\n ))}\n </div>\n ) : null}\n </div>\n );\n};\n\nconst TreeOptionsEditor = ({ value = [], onChange, allowDescription }) => {\n const { formatMessage } = useIntl();\n\n useEffect(() => {\n if (!value.length) {\n return;\n }\n if (hasMissingOptionKey(value)) {\n onChange(ensureOptionKeys(value));\n }\n }, [value, onChange]);\n\n const rows = value.length ? (hasMissingOptionKey(value) ? ensureOptionKeys(value) : value) : [EMPTY_OPTION()];\n\n const commit = next => {\n onChange(next.length ? ensureOptionKeys(next) : [EMPTY_OPTION()]);\n };\n\n return (\n <div className={style['tree-options-editor']}>\n <div className={style['tree-options-list']}>\n {rows.map((item, index) => (\n <TreeOptionNode key={item._key} item={item} index={index} siblings={rows} onChangeSiblings={commit} allowDescription={allowDescription} depth={0} />\n ))}\n </div>\n <Button type=\"dashed\" block icon={<PlusOutlined />} onClick={() => commit([...rows, EMPTY_OPTION()])}>\n {formatMessage({ id: 'addOption' })}\n </Button>\n </div>\n );\n};\n\nconst ColumnsEditor = ({ value = [], onChange }) => {\n const { formatMessage } = useIntl();\n const list = value.length ? value : [createEmptyColumn()];\n\n const updateItem = (index, patch) => {\n onChange(list.map((item, itemIndex) => (itemIndex === index ? { ...item, ...patch } : item)));\n };\n\n return (\n <FormInfo\n title={formatMessage({ id: 'fieldColumns' })}\n column={1}\n list={[\n <div key=\"columns-editor\" block className={style['columns-editor']}>\n <div className={style['options-list']}>\n {list.map((item, index) => (\n <Flex key={item.name || index} gap={8} align=\"start\" className={style['options-row']}>\n <Input\n value={item.title || ''}\n placeholder={formatMessage({ id: 'columnTitlePlaceholder' })}\n onChange={e => {\n const title = e.target.value;\n const patch = { title };\n if ((!item.name || isAutoDataKey(item.name, 'col')) && !item.name) {\n patch.name = createDataKey('col');\n patch.key = patch.name;\n }\n updateItem(index, patch);\n }}\n />\n <Input\n value={item.name || ''}\n placeholder={formatMessage({ id: 'columnNamePlaceholder' })}\n onChange={e => {\n const name = e.target.value;\n updateItem(index, { name, key: name.trim() || item.key });\n }}\n />\n <InputNumber min={40} style={{ width: 120 }} value={item.width ?? null} placeholder={formatMessage({ id: 'columnWidthPlaceholder' })} onChange={width => updateItem(index, { width: width ?? undefined })} />\n <Button\n type=\"text\"\n danger\n className={style['icon-square-btn-sm']}\n icon={<DeleteOutlined />}\n disabled={list.length === 1}\n onClick={() => {\n const next = list.filter((_, i) => i !== index);\n onChange(next.length ? next : [createEmptyColumn()]);\n }}\n />\n </Flex>\n ))}\n </div>\n <Button type=\"dashed\" block icon={<PlusOutlined />} onClick={() => onChange([...list, createEmptyColumn()])}>\n {formatMessage({ id: 'addColumn' })}\n </Button>\n <Space size={4} className={style['options-tip']}>\n {formatMessage({ id: 'columnsEditorHint' })}\n </Space>\n </div>\n ]}\n />\n );\n};\n\nconst TableRowsEditor = ({ columns = [], value = [], onChange }) => {\n const { formatMessage } = useIntl();\n const usableColumns = columns.filter(column => column?.name && String(column.name).trim());\n const list = value.length ? value : [createEmptyTableRow(usableColumns)];\n\n const updateItem = (index, patch) => {\n onChange(list.map((item, itemIndex) => (itemIndex === index ? { ...item, ...patch } : item)));\n };\n\n if (!usableColumns.length) {\n return (\n <FormInfo\n title={formatMessage({ id: 'fieldTableRows' })}\n column={1}\n list={[\n <div key=\"table-rows-empty\" block>\n <Text type=\"secondary\">{formatMessage({ id: 'tableRowsNeedColumnsHint' })}</Text>\n </div>\n ]}\n />\n );\n }\n\n return (\n <FormInfo\n title={formatMessage({ id: 'fieldTableRows' })}\n column={1}\n list={[\n <div key=\"table-rows-editor\" block className={style['table-rows-editor']}>\n <Space direction=\"vertical\" size={12} style={{ width: '100%' }}>\n {list.map((item, index) => (\n <Card\n key={index}\n size=\"small\"\n className={style['table-row-card']}\n title={formatMessage({ id: 'tableRowTitle' }, { index: index + 1 })}\n extra={\n <Button\n type=\"text\"\n danger\n className={style['icon-square-btn-sm']}\n icon={<DeleteOutlined />}\n disabled={list.length === 1}\n onClick={() => {\n const next = list.filter((_, i) => i !== index);\n onChange(next.length ? next : [createEmptyTableRow(usableColumns)]);\n }}\n />\n }\n >\n <Space direction=\"vertical\" size={8} style={{ width: '100%' }}>\n <Flex gap={8}>\n <Input value={item.value || ''} placeholder={formatMessage({ id: 'optionValuePlaceholder' })} onChange={e => updateItem(index, { value: e.target.value })} />\n <Input value={item.label || ''} placeholder={formatMessage({ id: 'tableRowLabelPlaceholder' })} onChange={e => updateItem(index, { label: e.target.value })} />\n </Flex>\n <Flex gap={8} wrap=\"wrap\">\n {usableColumns.map(column => (\n <Input key={column.name} style={{ minWidth: 140, flex: 1 }} value={item[column.name] || ''} placeholder={column.title || column.name} onChange={e => updateItem(index, { [column.name]: e.target.value })} />\n ))}\n </Flex>\n </Space>\n </Card>\n ))}\n </Space>\n <Button type=\"dashed\" block icon={<PlusOutlined />} style={{ marginTop: 12 }} onClick={() => onChange([...list, createEmptyTableRow(usableColumns)])}>\n {formatMessage({ id: 'addTableRow' })}\n </Button>\n <Space size={4} className={style['options-tip']}>\n {formatMessage({ id: 'tableRowsEditorHint' })}\n </Space>\n </div>\n ]}\n />\n );\n};\n\nconst OptionsEditor = ({ value = [], onChange, allowDescription = false, allowChildren = false, hasColumns = false, columns = [], onColumnsChange }) => {\n const { formatMessage } = useIntl();\n\n if (hasColumns) {\n const handleColumnsChange = nextColumns => {\n const prevColumns = columns || [];\n const migrated = (value || []).map(row => {\n const nextRow = { ...row };\n prevColumns.forEach((prevCol, index) => {\n const nextCol = nextColumns[index];\n const prevName = prevCol?.name;\n const nextName = nextCol?.name;\n if (prevName && nextName && prevName !== nextName && Object.prototype.hasOwnProperty.call(row, prevName)) {\n nextRow[nextName] = row[prevName];\n delete nextRow[prevName];\n }\n });\n return nextRow;\n });\n onColumnsChange(nextColumns);\n if (migrated.length) {\n onChange(migrated);\n }\n };\n\n return (\n <div className={style['options-editor']}>\n <ColumnsEditor value={columns} onChange={handleColumnsChange} />\n <TableRowsEditor columns={columns} value={value} onChange={onChange} />\n </div>\n );\n }\n\n return (\n <FormInfo\n title={formatMessage({ id: 'fieldOptions' })}\n column={1}\n list={[\n <div key=\"options-editor\" block className={style['options-editor']}>\n {allowChildren ? (\n <TreeOptionsEditor value={value} onChange={onChange} allowDescription={allowDescription} />\n ) : (\n <FlatOptionRows list={value.length ? value : [EMPTY_OPTION()]} onChange={onChange} allowDescription={allowDescription} />\n )}\n <Space size={4} className={style['options-tip']}>\n {formatMessage({ id: allowChildren ? 'optionsTreeEditorHint' : 'optionsEditorHint' })}\n </Space>\n </div>\n ]}\n />\n );\n};\n\nexport default OptionsEditor;\n","import { useMemo } from 'react';\nimport FormInfo from '@kne/form-info';\nimport { Input, InputNumber, Checkbox, useFormContext } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\n\nconst SuperSelectPropsEditor = ({ definition }) => {\n const { formatMessage } = useIntl();\n const { openApi } = useFormContext();\n\n const list = useMemo(() => {\n const items = [\n <Checkbox\n key=\"single\"\n name=\"single\"\n onChange={checked => {\n if (checked) {\n openApi?.setFields?.(\n [\n { name: 'allowSelectedAll', value: false },\n { name: 'maxLength', value: undefined }\n ],\n { runValidate: false }\n );\n }\n }}\n >\n {formatMessage({ id: 'superSelectSingle' })}\n </Checkbox>,\n <Checkbox key=\"isPopup\" name=\"isPopup\">\n {formatMessage({ id: 'superSelectIsPopup' })}\n </Checkbox>,\n <Checkbox key=\"allowClear\" name=\"allowClear\">\n {formatMessage({ id: 'superSelectAllowClear' })}\n </Checkbox>,\n <Checkbox key=\"allowSelectedAll\" name=\"allowSelectedAll\" display={({ openApi }) => !openApi?.data?.single}>\n {formatMessage({ id: 'superSelectAllowSelectedAll' })}\n </Checkbox>\n ];\n\n if (definition?.hasOnlyLastLevel) {\n items.push(\n <Checkbox key=\"onlyAllowLastLevel\" name=\"onlyAllowLastLevel\">\n {formatMessage({ id: 'superSelectOnlyLastLevel' })}\n </Checkbox>\n );\n }\n\n items.push(\n <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'superSelectMaxLength' })} min={1} placeholder={formatMessage({ id: 'superSelectMaxLengthPlaceholder' })} display={({ openApi }) => !openApi?.data?.single} />,\n <Input key=\"placeholder\" name=\"placeholder\" label={formatMessage({ id: 'fieldPlaceholder' })} placeholder={formatMessage({ id: 'superSelectPlaceholderHint' })} />,\n <Input key=\"searchPlaceholder\" name=\"searchPlaceholder\" label={formatMessage({ id: 'superSelectSearchPlaceholder' })} placeholder={formatMessage({ id: 'superSelectSearchPlaceholderHint' })} />\n );\n\n return items;\n }, [definition, formatMessage, openApi]);\n\n return <FormInfo title={formatMessage({ id: 'superSelectPropsSection' })} column={1} list={list} />;\n};\n\nexport default SuperSelectPropsEditor;\n","import { useMemo } from 'react';\nimport FormInfo from '@kne/form-info';\nimport { Input, InputNumber, Select, Checkbox } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\nimport { getFieldDefinition } from './fieldRegistry';\n\nconst BUILTIN_PROP_TYPES = ['Input', 'TextArea', 'InputNumber', 'Select', 'DatePicker', 'Switch'];\n\nconst buildPropsSchemaList = (schema, formatMessage) =>\n (schema || [])\n .filter(item => item?.name)\n .map(item => {\n if (item.type === 'boolean') {\n return (\n <Checkbox key={item.name} name={item.name}>\n {item.label || item.name}\n </Checkbox>\n );\n }\n if (item.type === 'number') {\n return <InputNumber key={item.name} name={item.name} label={item.label || item.name} min={item.min} max={item.max} placeholder={item.placeholder || formatMessage({ id: 'propOptionalNumber' })} />;\n }\n if (item.type === 'select') {\n return <Select key={item.name} name={item.name} label={item.label || item.name} options={item.options || []} placeholder={item.placeholder} allowClear={item.allowClear !== false} />;\n }\n return <Input key={item.name} name={item.name} label={item.label || item.name} placeholder={item.placeholder} />;\n });\n\nconst buildBuiltinList = (type, formatMessage) => {\n const placeholder = <Input key=\"placeholder\" name=\"placeholder\" label={formatMessage({ id: 'fieldPlaceholder' })} placeholder={formatMessage({ id: 'fieldPlaceholderHint' })} />;\n const allowClear = (\n <Checkbox key=\"allowClear\" name=\"allowClear\">\n {formatMessage({ id: 'propAllowClear' })}\n </Checkbox>\n );\n\n switch (type) {\n case 'Input':\n return [placeholder, allowClear, <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'propMaxLength' })} min={1} placeholder={formatMessage({ id: 'propOptionalNumber' })} />];\n case 'TextArea':\n return [\n placeholder,\n <InputNumber key=\"rows\" name=\"rows\" label={formatMessage({ id: 'propRows' })} min={2} max={20} />,\n <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'propMaxLength' })} min={1} placeholder={formatMessage({ id: 'propOptionalNumber' })} />,\n <Checkbox key=\"showCount\" name=\"showCount\">\n {formatMessage({ id: 'propShowCount' })}\n </Checkbox>\n ];\n case 'InputNumber':\n return [\n placeholder,\n <InputNumber key=\"min\" name=\"min\" label={formatMessage({ id: 'propMin' })} placeholder={formatMessage({ id: 'propOptionalNumber' })} />,\n <InputNumber key=\"max\" name=\"max\" label={formatMessage({ id: 'propMax' })} placeholder={formatMessage({ id: 'propOptionalNumber' })} />,\n <InputNumber key=\"step\" name=\"step\" label={formatMessage({ id: 'propStep' })} min={0} placeholder={formatMessage({ id: 'propOptionalNumber' })} />,\n <InputNumber key=\"precision\" name=\"precision\" label={formatMessage({ id: 'propPrecision' })} min={0} max={10} placeholder={formatMessage({ id: 'propOptionalNumber' })} />\n ];\n case 'Select':\n return [\n placeholder,\n allowClear,\n <Select\n key=\"mode\"\n name=\"mode\"\n label={formatMessage({ id: 'propSelectMode' })}\n options={[\n { label: formatMessage({ id: 'propSelectModeSingle' }), value: 'single' },\n { label: formatMessage({ id: 'propSelectModeMultiple' }), value: 'multiple' }\n ]}\n />\n ];\n case 'DatePicker':\n return [\n <Checkbox key=\"range\" name=\"range\">\n {formatMessage({ id: 'propDateRange' })}\n </Checkbox>,\n placeholder,\n allowClear,\n <Select\n key=\"picker\"\n name=\"picker\"\n label={formatMessage({ id: 'propDatePickerType' })}\n options={[\n { label: formatMessage({ id: 'propDatePickerDate' }), value: 'date' },\n { label: formatMessage({ id: 'propDatePickerWeek' }), value: 'week' },\n { label: formatMessage({ id: 'propDatePickerMonth' }), value: 'month' },\n { label: formatMessage({ id: 'propDatePickerQuarter' }), value: 'quarter' },\n { label: formatMessage({ id: 'propDatePickerYear' }), value: 'year' }\n ]}\n />,\n <Select\n key=\"format\"\n name=\"format\"\n label={formatMessage({ id: 'propDateFormat' })}\n options={[\n { label: 'YYYY-MM-DD', value: 'YYYY-MM-DD' },\n { label: 'YYYY/MM/DD', value: 'YYYY/MM/DD' },\n { label: 'YYYY年MM月DD日', value: 'YYYY年MM月DD日' },\n { label: 'YYYY-MM-DD HH:mm:ss', value: 'YYYY-MM-DD HH:mm:ss' },\n { label: 'YYYY-MM', value: 'YYYY-MM' },\n { label: 'YYYY', value: 'YYYY' }\n ]}\n />,\n <Checkbox key=\"showTime\" name=\"showTime\" display={({ openApi }) => (openApi?.data?.picker || 'date') === 'date'}>\n {formatMessage({ id: 'propShowTime' })}\n </Checkbox>\n ];\n case 'Switch':\n return [\n <Input key=\"checkedChildren\" name=\"checkedChildren\" label={formatMessage({ id: 'propSwitchOnText' })} placeholder={formatMessage({ id: 'propSwitchOnTextHint' })} />,\n <Input key=\"unCheckedChildren\" name=\"unCheckedChildren\" label={formatMessage({ id: 'propSwitchOffText' })} placeholder={formatMessage({ id: 'propSwitchOffTextHint' })} />\n ];\n default:\n return [];\n }\n};\n\nconst FieldPropsEditor = ({ type, definition: definitionProp }) => {\n const { formatMessage } = useIntl();\n const definition = definitionProp || getFieldDefinition(type);\n\n const list = useMemo(() => {\n if (!type) {\n return [];\n }\n if (definition?.propsSchema?.length) {\n return buildPropsSchemaList(definition.propsSchema, formatMessage);\n }\n return buildBuiltinList(type, formatMessage);\n }, [type, definition, formatMessage]);\n\n if (!list.length) {\n return null;\n }\n\n return <FormInfo title={formatMessage({ id: 'fieldPropsSection' })} column={1} list={list} />;\n};\n\nexport const hasFieldPropsEditor = (type, definition) => {\n const def = definition || getFieldDefinition(type);\n if (def?.propsSchema?.length) {\n return true;\n }\n return BUILTIN_PROP_TYPES.includes(type);\n};\n\nexport default FieldPropsEditor;\n","import { useEffect, useMemo, useState } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input, TextArea, Select, Checkbox, useFormContext } from '@kne/react-form-antd';\nimport { message, Typography } from 'antd';\nconst { Text } = Typography;\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { createField, createEmptyColumn, isFieldNameUnique } from './schema';\nimport { fieldToFormValues, formValuesToField, getFieldDefinition, getFieldTypes, normalizeOptions, normalizeColumns, pickFieldProps } from './fieldRegistry';\nimport RulePresetEditor from './RulePresetEditor';\nimport OptionsEditor from './OptionsEditor';\nimport SuperSelectPropsEditor from './SuperSelectPropsEditor';\nimport FieldPropsEditor, { hasFieldPropsEditor } from './FieldPropsEditor';\nimport style from './style.module.scss';\n\nconst getDefaultSelectProps = () => ({\n single: false,\n isPopup: true,\n allowClear: true,\n allowSelectedAll: false,\n onlyAllowLastLevel: false,\n maxLength: undefined,\n placeholder: '',\n searchPlaceholder: '',\n columns: [createEmptyColumn()]\n});\n\nconst omitColumns = ({ columns, ...rest } = {}) => rest;\n\nconst FieldConfigFields = ({ initialType, options, onOptionsChange, columns, onColumnsChange }) => {\n const { formatMessage } = useIntl();\n const { openApi } = useFormContext();\n const [fieldType, setFieldType] = useState(initialType);\n const fieldTypeOptions = useMemo(() => getFieldTypes(), []);\n const definition = getFieldDefinition(fieldType);\n\n useEffect(() => {\n setFieldType(initialType);\n }, [initialType]);\n\n const applyTypeDefaults = nextType => {\n const nextDefinition = getFieldDefinition(nextType);\n let nextValues = {};\n if (nextDefinition?.isSuperSelect) {\n nextValues = omitColumns(getDefaultSelectProps());\n } else if (nextDefinition?.hasFieldProps || nextDefinition?.propsSchema?.length) {\n nextValues = pickFieldProps({ type: nextType, props: nextDefinition.defaultProps || {} }, nextDefinition);\n }\n const entries = Object.entries(nextValues).map(([name, value]) => ({ name, value }));\n if (!entries.length || !openApi?.setFields) {\n return;\n }\n // 等新类型的 Form Field 挂载后再写入默认值\n requestAnimationFrame(() => {\n openApi.setFields(entries, { runValidate: false });\n });\n };\n\n const list = [\n <Select\n key=\"type\"\n name=\"type\"\n label={formatMessage({ id: 'fieldType' })}\n rule=\"REQ\"\n options={fieldTypeOptions}\n onChange={nextType => {\n setFieldType(nextType);\n applyTypeDefaults(nextType);\n }}\n />,\n <Input key=\"name\" name=\"name\" label={formatMessage({ id: 'fieldName' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldNamePlaceholder' })} />,\n <Input key=\"label\" name=\"label\" label={formatMessage({ id: 'fieldLabel' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldLabelPlaceholder' })} />,\n <Input key=\"tips\" name=\"tips\" label={formatMessage({ id: 'fieldTips' })} placeholder={formatMessage({ id: 'fieldTipsPlaceholder' })} />,\n <TextArea key=\"description\" name=\"description\" label={formatMessage({ id: 'fieldDescription' })} placeholder={formatMessage({ id: 'fieldDescriptionPlaceholder' })} rows={2} />\n ];\n\n list.push(\n <Checkbox key=\"block\" name=\"block\">\n {formatMessage({ id: 'fieldBlock' })}\n </Checkbox>,\n <Checkbox key=\"hidden\" name=\"hidden\">\n {formatMessage({ id: 'fieldHidden' })}\n </Checkbox>\n );\n\n return (\n <div className={style['field-editor-form']}>\n <FormInfo title={formatMessage({ id: 'fieldBasicSection' })} column={1} list={list} />\n {definition?.isSuperSelect ? <SuperSelectPropsEditor definition={definition} /> : hasFieldPropsEditor(fieldType, definition) ? <FieldPropsEditor type={fieldType} definition={definition} /> : null}\n <RulePresetEditor />\n {definition?.hasBuiltinData ? (\n <Text type=\"secondary\">{formatMessage({ id: 'builtinDataHint' })}</Text>\n ) : definition?.hasOptions ? (\n <OptionsEditor\n value={options}\n onChange={onOptionsChange}\n allowDescription={definition.optionsAllowDescription}\n allowChildren={definition.optionsAllowChildren}\n hasColumns={definition.hasColumns}\n columns={columns}\n onColumnsChange={onColumnsChange}\n />\n ) : null}\n </div>\n );\n};\n\nconst FieldEditorModal = ({ open, field, fieldList, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const isEdit = !!field?.id;\n const editorValues = useMemo(() => fieldToFormValues(field || createField()), [field, open]);\n const formData = useMemo(() => {\n const ruleConfig = editorValues.ruleConfig || { presets: [], lenMin: '', lenMax: '' };\n return {\n type: editorValues.type,\n name: editorValues.name,\n label: editorValues.label,\n tips: editorValues.tips,\n description: editorValues.description,\n block: editorValues.block,\n hidden: editorValues.hidden,\n ...(editorValues.fieldProps || {}),\n ...omitColumns(editorValues.selectProps || {}),\n rulePresets: ruleConfig.presets || [],\n lenMin: ruleConfig.lenMin === '' ? undefined : ruleConfig.lenMin,\n lenMax: ruleConfig.lenMax === '' ? undefined : ruleConfig.lenMax\n };\n }, [editorValues]);\n const [options, setOptions] = useState([{ label: '', value: '' }]);\n const [columns, setColumns] = useState(() => [createEmptyColumn()]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n setOptions(editorValues.options?.length ? editorValues.options : [{ label: '', value: '' }]);\n setColumns(editorValues.selectProps?.columns?.length ? editorValues.selectProps.columns : [createEmptyColumn()]);\n }, [open, editorValues]);\n\n const handleSubmit = async values => {\n if (!isFieldNameUnique(fieldList, values.name, field?.id)) {\n message.error(formatMessage({ id: 'fieldNameDuplicate' }));\n return false;\n }\n const definition = getFieldDefinition(values.type);\n const normalizedColumns = definition?.hasColumns ? normalizeColumns(columns) : [];\n const nextField = formValuesToField(\n {\n ...values,\n ruleConfig: {\n presets: values.rulePresets || [],\n lenMin: values.lenMin ?? '',\n lenMax: values.lenMax ?? ''\n },\n options: normalizeOptions(options, {\n allowChildren: !!definition?.optionsAllowChildren,\n columns: normalizedColumns\n }),\n selectProps: {\n ...values,\n columns: normalizedColumns\n },\n fieldProps: values\n },\n field || createField()\n );\n if (!nextField.id) {\n nextField.id = createField().id;\n }\n onSave(nextField);\n };\n\n const modalKey = open ? (field?.id ? `edit-${field.id}` : `add-${formData.name}`) : 'closed';\n\n return (\n <FormModal\n key={modalKey}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: isEdit ? 'editField' : 'addField' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 760}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: handleSubmit\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <FieldConfigFields initialType={formData.type} options={options} onOptionsChange={setOptions} columns={columns} onColumnsChange={setColumns} />\n </FormModal>\n );\n};\n\nexport default FieldEditorModal;\n","import { useMemo } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input, Switch, Slider, RadioGroup } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { normalizeFormActions } from './schema';\nimport style from './style.module.scss';\n\nconst FormActionsEditor = ({ open, value, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const formData = useMemo(() => normalizeFormActions(value), [value, open]);\n\n const alignOptions = useMemo(\n () => [\n { label: formatMessage({ id: 'formActionsAlignStart' }), value: 'start' },\n { label: formatMessage({ id: 'formActionsAlignCenter' }), value: 'center' },\n { label: formatMessage({ id: 'formActionsAlignEnd' }), value: 'end' }\n ],\n [formatMessage]\n );\n\n const gapMarks = useMemo(\n () => ({\n 0: '0',\n 16: '16',\n 32: '32',\n 48: '48',\n 64: '64'\n }),\n []\n );\n\n return (\n <FormModal\n key={open ? 'form-actions-open' : 'form-actions-closed'}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: 'formActionsSection' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 520}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: values => {\n onSave?.(normalizeFormActions(values));\n }\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <div className={style['form-actions-editor']}>\n <FormInfo\n column={2}\n list={[\n <Switch key=\"showSubmit\" name=\"showSubmit\" label={formatMessage({ id: 'formActionsShowSubmit' })} className={style['form-actions-switch-field']} />,\n <Input key=\"submitText\" name=\"submitText\" label={formatMessage({ id: 'formActionsSubmitText' })} placeholder={formatMessage({ id: 'formActionsSubmitTextHint' })} display={({ openApi }) => Boolean(openApi?.data?.showSubmit)} />\n ]}\n />\n <FormInfo\n column={2}\n list={[\n <Switch key=\"showReset\" name=\"showReset\" label={formatMessage({ id: 'formActionsShowReset' })} className={style['form-actions-switch-field']} />,\n <Input key=\"resetText\" name=\"resetText\" label={formatMessage({ id: 'formActionsResetText' })} placeholder={formatMessage({ id: 'formActionsResetTextHint' })} display={({ openApi }) => Boolean(openApi?.data?.showReset)} />\n ]}\n />\n <FormInfo\n column={2}\n list={[\n <Switch key=\"showCancel\" name=\"showCancel\" label={formatMessage({ id: 'formActionsShowCancel' })} className={style['form-actions-switch-field']} />,\n <Input key=\"cancelText\" name=\"cancelText\" label={formatMessage({ id: 'formActionsCancelText' })} placeholder={formatMessage({ id: 'formActionsCancelTextHint' })} display={({ openApi }) => Boolean(openApi?.data?.showCancel)} />\n ]}\n />\n <div className={style['form-actions-layout-panel']}>\n <div className={style['form-actions-layout-title']}>{formatMessage({ id: 'formActionsLayoutSection' })}</div>\n <FormInfo\n column={1}\n list={[\n <RadioGroup key=\"align\" name=\"align\" label={formatMessage({ id: 'formActionsAlign' })} optionType=\"button\" buttonStyle=\"solid\" options={alignOptions} className={style['form-actions-align-group']} />,\n <Slider key=\"gap\" name=\"gap\" label={formatMessage({ id: 'formActionsGap' })} min={0} max={64} step={1} marks={gapMarks} tooltip={{ formatter: v => `${v ?? 0}px` }} className={style['form-actions-gap-slider']} />\n ]}\n />\n </div>\n </div>\n </FormModal>\n );\n};\n\nexport default FormActionsEditor;\n","import { createElement, useCallback, useEffect, useMemo } from 'react';\nimport { useFormContext, RadioGroup, CheckboxGroup } from '@kne/react-form-antd';\nimport InfoPage from '@kne/info-page';\nimport { collectBlockFieldNames } from './schema';\nimport style from './style.module.scss';\n\nconst getByPath = (obj, path) => {\n if (obj == null || path == null || path === '') {\n return undefined;\n }\n return String(path)\n .split('.')\n .reduce((current, key) => (current == null ? undefined : current[key]), obj);\n};\n\nconst resolveSelectorName = block => {\n if (block.selectorName != null && String(block.selectorName).trim()) {\n return String(block.selectorName).trim();\n }\n if (block.discriminator?.propertyName) {\n return String(block.discriminator.propertyName).trim();\n }\n return `__choice_${block.id}`;\n};\n\nconst resolveSelectedIds = (value, mode) => {\n if (mode === 'multiple') {\n if (Array.isArray(value)) {\n return value.map(String);\n }\n if (value == null || value === '') {\n return [];\n }\n return [String(value)];\n }\n if (value == null || value === '') {\n return [];\n }\n return [String(value)];\n};\n\nconst clearUnselectedOptionFields = (openApi, formData, keepIds, allOptions) => {\n if (!openApi?.setFields) {\n return;\n }\n const entries = [];\n allOptions.forEach(option => {\n if (keepIds.includes(String(option.id))) {\n return;\n }\n (option.list || []).forEach(field => {\n if (!field?.name) {\n return;\n }\n const current = getByPath(formData, field.name);\n if (current !== undefined) {\n entries.push({ name: field.name, value: undefined });\n }\n });\n collectBlockFieldNames(option.blocks || []).forEach(name => {\n const current = getByPath(formData, name);\n if (current !== undefined) {\n entries.push({ name, value: undefined });\n }\n });\n });\n if (!entries.length) {\n return;\n }\n openApi.setFields(entries, { runValidate: false });\n};\n\nconst resolveSelectLimits = block => {\n const minLength = Number.isFinite(Number(block.minLength)) ? Math.max(0, Math.floor(Number(block.minLength))) : undefined;\n let maxLength = Number.isFinite(Number(block.maxLength)) ? Math.max(1, Math.floor(Number(block.maxLength))) : undefined;\n if (minLength != null && maxLength != null && maxLength < minLength) {\n maxLength = minLength;\n }\n return { minLength, maxLength };\n};\n\nconst buildMultipleHint = (formatMessage, minLength, maxLength) => {\n if (minLength != null && maxLength != null) {\n return formatMessage ? formatMessage({ id: 'choiceModeHintMultipleRange' }, { min: minLength, max: maxLength }) : `请选择 ${minLength}–${maxLength} 项`;\n }\n if (minLength != null) {\n return formatMessage ? formatMessage({ id: 'choiceModeHintMultipleMin' }, { count: minLength }) : `请至少选择 ${minLength} 项`;\n }\n if (maxLength != null) {\n return formatMessage ? formatMessage({ id: 'choiceModeHintMultipleMax' }, { count: maxLength }) : `最多选择 ${maxLength} 项`;\n }\n return formatMessage ? formatMessage({ id: 'choiceModeHintMultiple' }) : '可以选择多项';\n};\n\n/**\n * choice:同一条选项 UI;mode=single 只挂载一支;mode=multiple 平铺所有选中支。\n * 外层用 InfoPage.Part 的 title 展示标题。\n */\nconst ChoiceBlock = ({ block, preview = false, isMobile = false, formatMessage, renderOptionContent }) => {\n const mode = block.mode === 'multiple' ? 'multiple' : 'single';\n const selectorName = resolveSelectorName(block);\n const options = useMemo(() => block.options || [], [block.options]);\n const { formData, openApi } = useFormContext() || {};\n const titleText = block.title != null ? String(block.title).trim() : '';\n const title = titleText || (formatMessage ? formatMessage({ id: 'choiceAreaTitle' }) : '请选择');\n const bordered = isMobile ? false : block.bordered || undefined;\n const { minLength, maxLength } = mode === 'multiple' ? resolveSelectLimits(block) : {};\n const firstOptionId = options[0] != null ? String(options[0].id) : undefined;\n\n const rawValue = getByPath(formData || {}, selectorName);\n // 仅随 selector 值变化;勿依赖整个 formData,否则清空未选支字段会触发 options 重算 → CheckboxGroup 死循环\n const selectorValueKey = mode === 'multiple' ? (Array.isArray(rawValue) ? rawValue.map(String).join('\\0') : String(rawValue ?? '')) : String(rawValue ?? '');\n\n // 单选且未选时,写入第一项,保证预览/提交与选项面板一致\n useEffect(() => {\n if (mode !== 'single' || !firstOptionId || !openApi?.setFields) {\n return;\n }\n if (selectorValueKey !== '') {\n return;\n }\n openApi.setFields([{ name: selectorName, value: firstOptionId }], { runValidate: false });\n }, [mode, firstOptionId, selectorName, openApi, selectorValueKey]);\n\n const selectedIdsFromValue = useMemo(() => resolveSelectedIds(rawValue, mode), [selectorValueKey, mode]);\n\n const selectorOptions = useMemo(() => {\n const atMax = mode === 'multiple' && maxLength != null && selectedIdsFromValue.length >= maxLength;\n\n return options.map((option, index) => {\n const value = String(option.id);\n return {\n label: option.title || (formatMessage ? formatMessage({ id: 'choiceOptionFallback' }, { index: index + 1 }) : `选项${index + 1}`),\n value,\n disabled: atMax && !selectedIdsFromValue.includes(value)\n };\n });\n }, [options, formatMessage, selectedIdsFromValue, mode, maxLength]);\n\n let selectedIds = selectedIdsFromValue;\n if (mode === 'single' && !selectedIds.length && firstOptionId) {\n selectedIds = [firstOptionId];\n }\n const activeOptions = options.filter(option => selectedIds.includes(String(option.id)));\n\n const handleChange = useCallback(\n value => {\n let nextIds = resolveSelectedIds(value, mode);\n if (mode === 'multiple' && maxLength != null && nextIds.length > maxLength) {\n nextIds = nextIds.slice(0, maxLength);\n openApi?.setFields?.([{ name: selectorName, value: nextIds }], { runValidate: false });\n }\n clearUnselectedOptionFields(openApi, formData, nextIds, options);\n },\n [mode, maxLength, openApi, selectorName, formData, options]\n );\n\n const selectorRule = useCallback(\n value => {\n const ids = resolveSelectedIds(value, 'multiple');\n if (minLength != null && ids.length < minLength) {\n return {\n result: false,\n errMsg: formatMessage ? formatMessage({ id: 'choiceMinSelectError' }, { count: minLength }) : `请至少选择 ${minLength} 项`\n };\n }\n if (maxLength != null && ids.length > maxLength) {\n return {\n result: false,\n errMsg: formatMessage ? formatMessage({ id: 'choiceMaxSelectError' }, { count: maxLength }) : `最多只能选择 ${maxLength} 项`\n };\n }\n return { result: true, errMsg: '' };\n },\n [minLength, maxLength, formatMessage]\n );\n\n const hasSelectLimitRule = mode === 'multiple' && (minLength != null || maxLength != null);\n\n const Selector = mode === 'multiple' ? CheckboxGroup : RadioGroup;\n const selectorProps = {\n key: `choice-selector-${mode}`,\n name: selectorName,\n label: titleText || (formatMessage ? formatMessage({ id: 'choiceAreaTitle' }) : '请选择'),\n labelHidden: true,\n options: selectorOptions,\n onChange: handleChange,\n ...(hasSelectLimitRule ? { rule: selectorRule } : {}),\n ...(mode === 'single'\n ? {\n optionType: 'button',\n buttonStyle: 'solid',\n ...(firstOptionId ? { defaultValue: firstOptionId } : {})\n }\n : {\n // CheckboxGroup 需要数组初值,避免 undefined↔[] 来回同步\n defaultValue: []\n })\n };\n\n const contentChildren = [];\n activeOptions.forEach(option => {\n const nodes = (typeof renderOptionContent === 'function' ? renderOptionContent(option, { preview, isMobile, formatMessage }) : []) || [];\n if (nodes.length) {\n contentChildren.push(\n createElement('div', { key: option.id, className: style['choice-option-panel'] }, mode === 'multiple' && option.title ? createElement('div', { className: style['choice-option-panel-title'] }, option.title) : null, ...nodes)\n );\n }\n });\n\n const modeHint = mode === 'multiple' ? buildMultipleHint(formatMessage, minLength, maxLength) : formatMessage ? formatMessage({ id: 'choiceModeHintSingle' }) : '请选择其中一项';\n\n return createElement(\n InfoPage.Part,\n {\n title,\n subtitle: modeHint,\n bordered,\n className: style['choice-block'],\n 'data-choice-mode': mode\n },\n createElement('div', { className: style['choice-selector'] }, createElement(Selector, selectorProps)),\n contentChildren.length\n ? createElement('div', { className: style['choice-panels'] }, ...contentChildren)\n : createElement('div', { className: style['choice-panels-empty'] }, formatMessage ? formatMessage({ id: 'choiceSelectFirstHint' }) : '请先在上方选择')\n );\n};\n\nexport default ChoiceBlock;\n","import { createElement, Fragment } from 'react';\nimport { Tooltip } from 'antd';\nimport { ArrowLeftOutlined, ArrowRightOutlined, QuestionCircleOutlined } from '@ant-design/icons';\nimport FormInfo, { Form, List, TableList, MultiField, Steps } from '@kne/form-info';\nimport { getFieldComponent, getFieldDefinition } from './fieldRegistry';\nimport { createApiFromOptions } from './fields/optionsApi';\nimport { MAX_BLOCK_DEPTH, normalizeSchema, collectBlockFieldNames } from './schema';\nimport ChoiceBlock from './ChoiceBlock';\nimport style from './style.module.scss';\n\nconst buildLabelTips = tips => {\n if (tips == null || !String(tips).trim()) {\n return undefined;\n }\n return createElement(Tooltip, { title: tips }, createElement(QuestionCircleOutlined, { className: style['field-label-tips-icon'] }));\n};\n\nconst renderFieldElements = (fields = [], preview = false, { namePrefix } = {}) =>\n fields\n .filter(field => !field.hidden)\n .map(field => {\n const Component = getFieldComponent(field.type, field);\n if (!Component) {\n return null;\n }\n const definition = getFieldDefinition(field.type);\n const props = { ...(field.props || {}) };\n\n if (definition?.optionsAllowDescription && props.options?.length && !props.api && !definition.optionsAllowChildren) {\n props.api = createApiFromOptions(props.options);\n }\n\n if (!Array.isArray(props.placeholder) && props.placeholder != null && !String(props.placeholder).trim()) {\n delete props.placeholder;\n }\n\n delete props.range;\n\n const description = field.description != null && String(field.description).trim() ? field.description : undefined;\n const fieldName = namePrefix && field.name ? `${namePrefix}.${field.name}` : field.name;\n\n return createElement(Component, {\n key: field.id,\n name: fieldName,\n label: field.label,\n rule: field.rule || undefined,\n block: field.block || undefined,\n ...props,\n labelTips: buildLabelTips(field.tips),\n description\n });\n })\n .filter(Boolean);\n\nconst withBlockLayout = (element, forceBlock) => {\n if (!element || !forceBlock) {\n return element;\n }\n return createElement(element.type, {\n ...element.props,\n key: element.key,\n block: true\n });\n};\n\n/** 列表子项内嵌的 FormInfo/object:表头圆角、去掉底边,压过 antd Card CSS-in-JS。\n * 不要套到嵌套 List 上,否则会干扰 form-info 的 nestDepth / nest-beyond 满宽样式。 */\nconst nestedListItemPartProps = {\n styles: {\n header: {\n borderBottom: 'none',\n borderRadius: 'var(--radius-default, 8px) var(--radius-default, 8px) 0 0'\n }\n },\n style: {\n borderRadius: 'var(--radius-default, 8px)',\n overflow: 'hidden'\n }\n};\n\nconst isFormInfoLikeBlock = kind => kind === 'formInfo' || kind === 'object';\n\nexport const renderBlockElement = (block, preview = false, ctx = {}) => {\n const { isMobile = false, formatMessage, depth = 0, asListItem = false } = ctx;\n if (!block || depth > MAX_BLOCK_DEPTH) {\n return null;\n }\n\n const nextCtx = { ...ctx, depth: depth + 1, asListItem: false };\n const bordered = isMobile ? false : block.bordered || undefined;\n // 仅 FormInfo/object 吃列表项 Part 样式;List 等交给 form-info nestDepth\n const listItemPartProps = asListItem && isFormInfoLikeBlock(block.kind) ? nestedListItemPartProps : null;\n\n const renderChildBlocks = (blocks = [], childCtx = nextCtx) => (blocks || []).map(child => renderBlockElement(child, preview, childCtx)).filter(Boolean);\n\n /** list.itemBlocks:object/formInfo 走 asListItem;嵌套 list 等保持 nestDepth 链路 */\n const renderItemBlocks = (blocks = []) =>\n (blocks || [])\n .map(child => {\n const childCtx = { ...nextCtx, asListItem: isFormInfoLikeBlock(child.kind) };\n return withBlockLayout(renderBlockElement(child, preview, childCtx), true);\n })\n .filter(Boolean);\n\n switch (block.kind) {\n case 'formInfo': {\n const fields = renderFieldElements(block.list, preview);\n const nested = renderChildBlocks(block.blocks || [], nextCtx).map(node => withBlockLayout(node, true));\n return withBlockLayout(\n createElement(FormInfo, {\n key: block.id,\n title: block.title || undefined,\n subtitle: block.subtitle || undefined,\n column: block.column,\n gap: block.gap,\n bordered,\n list: [...fields, ...nested],\n ...(listItemPartProps || {})\n }),\n asListItem\n );\n }\n case 'object': {\n const fields = renderFieldElements(block.list, preview, { namePrefix: block.name || '' });\n const nested = renderChildBlocks(block.blocks || [], nextCtx).map(node => withBlockLayout(node, true));\n return withBlockLayout(\n createElement(FormInfo, {\n key: block.id,\n title: block.title || undefined,\n subtitle: block.subtitle || undefined,\n column: block.column,\n gap: block.gap,\n bordered,\n list: [...fields, ...nested],\n ...(listItemPartProps || {})\n }),\n asListItem\n );\n }\n case 'list': {\n const fields = renderFieldElements(block.list, preview);\n const nested = renderItemBlocks(block.itemBlocks || []);\n return withBlockLayout(\n createElement(List, {\n key: block.id,\n name: block.name,\n title: block.title || undefined,\n important: block.important || undefined,\n bordered,\n maxLength: block.maxLength,\n minLength: block.minLength,\n ...(block.addText ? { addText: block.addText } : {}),\n ...(typeof block.itemTitle === 'function' || block.itemTitle ? { itemTitle: block.itemTitle } : {}),\n list: [...fields, ...nested]\n }),\n asListItem\n );\n }\n case 'tableList': {\n const fields = renderFieldElements(block.list, preview);\n return withBlockLayout(\n createElement(TableList, {\n key: block.id,\n name: block.name,\n title: block.title || undefined,\n bordered,\n maxLength: block.maxLength,\n minLength: block.minLength,\n ...(block.addText ? { addText: block.addText } : {}),\n list: fields,\n ...(listItemPartProps || {})\n }),\n asListItem\n );\n }\n case 'multiField': {\n const FieldComponent = getFieldComponent(block.fieldType);\n if (!FieldComponent) {\n return null;\n }\n return withBlockLayout(\n createElement(MultiField, {\n key: block.id,\n name: block.name,\n label: block.label,\n field: FieldComponent,\n block: block.block || undefined,\n ...(block.addText ? { addText: block.addText } : {})\n }),\n asListItem\n );\n }\n case 'steps': {\n return withBlockLayout(\n createElement(Steps, {\n key: block.id,\n title: block.title || undefined,\n subtitle: block.subtitle || undefined,\n bordered,\n prevIcon: createElement(ArrowLeftOutlined),\n nextIcon: createElement(ArrowRightOutlined),\n items: (block.items || []).map(step => {\n const fields = renderFieldElements(step.list, preview);\n const nested = renderChildBlocks(step.blocks || [], nextCtx);\n const fieldNames = [...(step.list || []).filter(field => field && !field.hidden && field.name).map(field => field.name), ...collectBlockFieldNames(step.blocks || [])];\n if (nested.length) {\n return {\n key: step.id,\n title: step.title,\n column: step.column,\n gap: block.gap,\n fieldNames,\n children: createElement(\n Fragment,\n { key: `${step.id}-body` },\n fields.length\n ? createElement(FormInfo, {\n key: `${step.id}-fields`,\n column: step.column,\n gap: block.gap,\n list: fields\n })\n : null,\n ...nested\n )\n };\n }\n return {\n key: step.id,\n title: step.title,\n column: step.column,\n gap: block.gap,\n list: fields,\n fieldNames\n };\n })\n }),\n asListItem\n );\n }\n case 'choice':\n return withBlockLayout(\n createElement(ChoiceBlock, {\n key: block.id,\n block,\n preview,\n isMobile,\n formatMessage,\n renderOptionContent: option => {\n const nodes = [];\n if ((option.list || []).length) {\n nodes.push(\n createElement(FormInfo, {\n key: `${option.id}-fields`,\n column: block.column || 2,\n gap: block.gap,\n list: renderFieldElements(option.list, preview)\n })\n );\n }\n nodes.push(...renderChildBlocks(option.blocks || [], nextCtx));\n return nodes.filter(Boolean);\n }\n }),\n asListItem\n );\n default:\n return null;\n }\n};\n\nexport const renderSchemaInner = (schema, { preview = false, className, bodyClassName, isMobile = false, formatMessage, children, actionNode } = {}) => {\n const normalized = normalizeSchema(schema);\n const blocks = normalized.blocks || [];\n const contentChildren = blocks.map(block => renderBlockElement(block, preview, { isMobile, formatMessage })).filter(Boolean);\n\n if (!contentChildren.length && !children && !actionNode) {\n return null;\n }\n\n const body = createElement('div', { className: [style['schema-body'], bodyClassName].filter(Boolean).join(' ') }, ...contentChildren, children);\n const content = createElement(Fragment, null, body, actionNode || null);\n\n return className ? createElement('div', { className }, content) : content;\n};\n\nexport const renderSchemaContent = (schema, { preview = false, formProps = {}, className, bodyClassName, isMobile = false, formatMessage, children, actionNode } = {}) => {\n const normalized = normalizeSchema(schema);\n const blocks = normalized.blocks || [];\n const contentChildren = blocks.map(block => renderBlockElement(block, preview, { isMobile, formatMessage })).filter(Boolean);\n\n if (!contentChildren.length && !children) {\n return null;\n }\n\n const formClassName = [style['schema-form'], formProps.className, className].filter(Boolean).join(' ');\n\n return createElement(\n Form,\n {\n ...formProps,\n className: formClassName\n },\n createElement('div', { className: [style['schema-body'], bodyClassName].filter(Boolean).join(' ') }, ...contentChildren, children),\n actionNode || null\n );\n};\n\nexport default renderSchemaContent;\n","import { createElement } from 'react';\nimport { Flex } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { SubmitButton, ResetButton, CancelButton } from '@kne/react-form-antd';\nimport { ButtonFooter } from '@kne/button-group';\nimport withLocale from './withLocale';\nimport renderSchemaContent, { renderSchemaInner } from './renderSchema';\nimport { hasRenderableContent, normalizeFormActions, normalizeSchema } from './schema';\nimport style from './style.module.scss';\nimport '@kne/form-info/dist/index.css';\nimport '@kne/info-page/dist/index.css';\nimport '@kne/button-group/dist/index.css';\n\nconst joinClass = (...names) => names.filter(Boolean).join(' ');\n\nconst resolveActionNode = ({\n schema,\n formatMessage,\n actions,\n showActions = true,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n footerClassName,\n buttonFooter = false,\n buttonFooterProps\n}) => {\n if (showActions === false || actions === false || actions === null) {\n return null;\n }\n\n const normalized = normalizeSchema(schema);\n const schemaActions = normalizeFormActions(normalized.actions);\n const resolvedShowSubmit = showSubmit ?? schemaActions.showSubmit;\n const resolvedShowReset = showReset ?? schemaActions.showReset;\n const resolvedShowCancel = showCancel ?? schemaActions.showCancel;\n const resolvedAlign = actionsAlign || schemaActions.align || 'center';\n const resolvedGap = actionsGap != null ? actionsGap : schemaActions.gap;\n const resolvedSubmitText =\n (submitText != null && String(submitText).trim() ? submitText : null) || (schemaActions.submitText && String(schemaActions.submitText).trim() ? schemaActions.submitText : null) || formatMessage({ id: 'submit' });\n const resolvedResetText = (resetText != null && String(resetText).trim() ? resetText : null) || (schemaActions.resetText && String(schemaActions.resetText).trim() ? schemaActions.resetText : null) || formatMessage({ id: 'reset' });\n const resolvedCancelText =\n (cancelText != null && String(cancelText).trim() ? cancelText : null) || (schemaActions.cancelText && String(schemaActions.cancelText).trim() ? schemaActions.cancelText : null) || formatMessage({ id: 'cancel' });\n const resolvedSubmitButtonProps = {\n ...(schemaActions.submitButtonProps || {}),\n ...(submitButtonProps || {})\n };\n const resolvedResetButtonProps = {\n ...(schemaActions.resetButtonProps || {}),\n ...(resetButtonProps || {})\n };\n const resolvedCancelButtonProps = {\n ...(schemaActions.cancelButtonProps || {}),\n ...(cancelButtonProps || {})\n };\n\n const flexProps = {\n className: style['schema-actions-inner'],\n justify: resolvedAlign,\n gap: resolvedGap ?? 16,\n wrap: 'wrap'\n };\n\n let actionsEl = null;\n\n if (actions !== undefined) {\n actionsEl = createElement('div', { className: joinClass(style['schema-actions'], footerClassName) }, createElement(Flex, flexProps, actions));\n } else if (resolvedShowSubmit || resolvedShowReset || resolvedShowCancel) {\n actionsEl = createElement(\n 'div',\n { className: joinClass(style['schema-actions'], footerClassName) },\n createElement(\n Flex,\n flexProps,\n resolvedShowSubmit ? createElement(SubmitButton, { type: 'primary', ...resolvedSubmitButtonProps }, resolvedSubmitText) : null,\n resolvedShowReset ? createElement(ResetButton, resolvedResetButtonProps, resolvedResetText) : null,\n resolvedShowCancel ? createElement(CancelButton, resolvedCancelButtonProps, resolvedCancelText) : null\n )\n );\n }\n\n if (!actionsEl) {\n return null;\n }\n\n if (!buttonFooter) {\n return actionsEl;\n }\n\n const footerProps = buttonFooterProps || {};\n return createElement(ButtonFooter, footerProps, actionsEl);\n};\n\nexport const SchemaRendererInner = withLocale(props => {\n const {\n schema,\n preview = false,\n className,\n children,\n showActions = true,\n actions,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n bodyClassName,\n footerClassName,\n buttonFooter = false,\n buttonFooterProps\n } = props;\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const normalized = normalizeSchema(schema);\n\n if (!hasRenderableContent(normalized)) {\n return null;\n }\n\n const actionNode = resolveActionNode({\n schema: normalized,\n formatMessage,\n showActions,\n actions,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n footerClassName,\n buttonFooter,\n buttonFooterProps\n });\n\n return renderSchemaInner(normalized, {\n preview,\n className,\n bodyClassName,\n isMobile,\n formatMessage,\n children,\n actionNode\n });\n});\n\nconst SchemaRenderer = withLocale(props => {\n const {\n schema,\n formProps = {},\n preview = false,\n className,\n children,\n showActions = true,\n actions,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n bodyClassName,\n footerClassName,\n buttonFooter = false,\n buttonFooterProps\n } = props;\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const normalized = normalizeSchema(schema);\n\n if (!hasRenderableContent(normalized)) {\n return null;\n }\n\n const actionNode = resolveActionNode({\n schema: normalized,\n formatMessage,\n showActions,\n actions,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n footerClassName,\n buttonFooter,\n buttonFooterProps\n });\n\n return renderSchemaContent(normalized, {\n preview,\n formProps,\n className,\n bodyClassName,\n isMobile,\n formatMessage,\n children,\n actionNode\n });\n});\n\nexport default SchemaRenderer;\n","import { useMemo, useState } from 'react';\nimport { Empty } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile, RESPONSIVE_BOUNDARY_CLASS } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport { collectSchemaFields, createBlock, createChoiceOption, createStep, defaultSchema, findBlock, mapBlocks, moveBlockInTree, moveItem, normalizeSchema, hasRenderableContent, removeBlockInTree, updateBlocks } from './schema';\nimport BlockListPanel from './BlockListPanel';\nimport BlockEditorModal from './BlockEditorModal';\nimport StepEditorModal from './StepEditorModal';\nimport ChoiceOptionEditorModal from './ChoiceOptionEditorModal';\nimport FieldEditorModal from './FieldEditorModal';\nimport FormActionsEditor from './FormActionsEditor';\nimport SchemaRenderer from './SchemaRenderer';\nimport style from './style.module.scss';\n\nconst FormCreator = withLocale(({ value, defaultValue, onChange, showPreview = true, className, formProps, renderModal, extraToolbar }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const [innerSchema, setInnerSchema] = useState(() => normalizeSchema(defaultValue || defaultSchema()));\n const [blockEditorOpen, setBlockEditorOpen] = useState(false);\n const [editingBlock, setEditingBlock] = useState(null);\n const [blockParentId, setBlockParentId] = useState(null);\n const [blockParentStepId, setBlockParentStepId] = useState(null);\n const [blockParentOptionId, setBlockParentOptionId] = useState(null);\n const [stepEditorOpen, setStepEditorOpen] = useState(false);\n const [stepContext, setStepContext] = useState(null);\n const [choiceOptionEditorOpen, setChoiceOptionEditorOpen] = useState(false);\n const [choiceOptionContext, setChoiceOptionContext] = useState(null);\n const [fieldEditorOpen, setFieldEditorOpen] = useState(false);\n const [fieldContext, setFieldContext] = useState(null);\n const [editingField, setEditingField] = useState(null);\n const [formActionsOpen, setFormActionsOpen] = useState(false);\n\n const schema = useMemo(() => normalizeSchema(value ?? innerSchema), [value, innerSchema]);\n\n const updateSchema = nextSchema => {\n const normalized = normalizeSchema(nextSchema);\n if (value === undefined) {\n setInnerSchema(normalized);\n }\n onChange?.(normalized);\n };\n\n const clearBlockEditor = () => {\n setBlockEditorOpen(false);\n setEditingBlock(null);\n setBlockParentId(null);\n setBlockParentStepId(null);\n setBlockParentOptionId(null);\n };\n\n const handleAddBlock = (kind, { parentBlockId, stepId, optionId } = {}) => {\n setEditingBlock(createBlock(kind));\n setBlockParentId(parentBlockId || null);\n setBlockParentStepId(stepId || null);\n setBlockParentOptionId(optionId || null);\n setBlockEditorOpen(true);\n };\n\n const handleEditBlock = block => {\n setEditingBlock(block);\n setBlockParentId(null);\n setBlockParentStepId(null);\n setBlockParentOptionId(null);\n setBlockEditorOpen(true);\n };\n\n const handleSaveBlock = block => {\n const exists = !!findBlock(schema, block.id);\n if (exists) {\n updateSchema(mapBlocks(schema, block.id, () => block));\n } else if (blockParentId && blockParentStepId) {\n updateSchema(\n mapBlocks(schema, blockParentId, parent => ({\n ...parent,\n items: (parent.items || []).map(step => (step.id === blockParentStepId ? { ...step, blocks: [...(step.blocks || []), block] } : step))\n }))\n );\n } else if (blockParentId && blockParentOptionId) {\n updateSchema(\n mapBlocks(schema, blockParentId, parent => ({\n ...parent,\n options: (parent.options || []).map(option => (option.id === blockParentOptionId ? { ...option, blocks: [...(option.blocks || []), block] } : option))\n }))\n );\n } else if (blockParentId) {\n updateSchema(\n mapBlocks(schema, blockParentId, parent => {\n if (parent.kind === 'list') {\n return {\n ...parent,\n itemBlocks: [...(parent.itemBlocks || []), block]\n };\n }\n return {\n ...parent,\n blocks: [...(parent.blocks || []), block]\n };\n })\n );\n } else {\n updateSchema({\n ...schema,\n blocks: [...schema.blocks, block]\n });\n }\n clearBlockEditor();\n };\n\n const handleDeleteBlock = blockId => {\n updateSchema(updateBlocks(schema, blocks => removeBlockInTree(blocks, blockId)));\n };\n\n const handleMoveBlock = (blockId, direction) => {\n updateSchema(updateBlocks(schema, blocks => moveBlockInTree(blocks, blockId, direction)));\n };\n\n const handleAddStep = blockId => {\n setStepContext({ blockId, step: createStep() });\n setStepEditorOpen(true);\n };\n\n const handleEditStep = (blockId, step) => {\n setStepContext({ blockId, step });\n setStepEditorOpen(true);\n };\n\n const handleSaveStep = step => {\n const { blockId } = stepContext;\n updateSchema(\n mapBlocks(schema, blockId, block => {\n const exists = (block.items || []).some(item => item.id === step.id);\n return {\n ...block,\n items: exists ? block.items.map(item => (item.id === step.id ? step : item)) : [...(block.items || []), step]\n };\n })\n );\n setStepEditorOpen(false);\n setStepContext(null);\n };\n\n const handleDeleteStep = (blockId, stepId) => {\n updateSchema(\n mapBlocks(schema, blockId, block => ({\n ...block,\n items: (block.items || []).filter(item => item.id !== stepId)\n }))\n );\n };\n\n const handleMoveStep = (blockId, stepId, direction) => {\n updateSchema(\n mapBlocks(schema, blockId, block => ({\n ...block,\n items: moveItem(block.items || [], stepId, direction)\n }))\n );\n };\n\n const handleAddChoiceOption = blockId => {\n setChoiceOptionContext({ blockId, option: createChoiceOption() });\n setChoiceOptionEditorOpen(true);\n };\n\n const handleEditChoiceOption = (blockId, option) => {\n setChoiceOptionContext({ blockId, option });\n setChoiceOptionEditorOpen(true);\n };\n\n const handleSaveChoiceOption = option => {\n const { blockId } = choiceOptionContext;\n updateSchema(\n mapBlocks(schema, blockId, block => {\n const exists = (block.options || []).some(item => item.id === option.id);\n return {\n ...block,\n options: exists ? block.options.map(item => (item.id === option.id ? option : item)) : [...(block.options || []), option]\n };\n })\n );\n setChoiceOptionEditorOpen(false);\n setChoiceOptionContext(null);\n };\n\n const handleDeleteChoiceOption = (blockId, optionId) => {\n updateSchema(\n mapBlocks(schema, blockId, block => ({\n ...block,\n options: (block.options || []).filter(item => item.id !== optionId)\n }))\n );\n };\n\n const handleMoveChoiceOption = (blockId, optionId, direction) => {\n updateSchema(\n mapBlocks(schema, blockId, block => ({\n ...block,\n options: moveItem(block.options || [], optionId, direction)\n }))\n );\n };\n\n const normalizeFieldScope = scope => {\n if (typeof scope === 'string' || scope == null) {\n return { stepId: scope };\n }\n return scope;\n };\n\n const handleAddField = (blockId, scope) => {\n setFieldContext({ blockId, ...normalizeFieldScope(scope) });\n setEditingField(null);\n setFieldEditorOpen(true);\n };\n\n const handleEditField = (blockId, field, scope) => {\n setFieldContext({ blockId, ...normalizeFieldScope(scope) });\n setEditingField(field);\n setFieldEditorOpen(true);\n };\n\n const handleSaveField = field => {\n const { blockId, stepId, optionId } = fieldContext || {};\n updateSchema(\n mapBlocks(schema, blockId, block => {\n if (block.kind === 'steps') {\n return {\n ...block,\n items: (block.items || []).map(step => {\n if (step.id !== stepId) {\n return step;\n }\n const exists = (step.list || []).some(item => item.id === field.id);\n return {\n ...step,\n list: exists ? step.list.map(item => (item.id === field.id ? field : item)) : [...(step.list || []), field]\n };\n })\n };\n }\n if (block.kind === 'choice') {\n return {\n ...block,\n options: (block.options || []).map(option => {\n if (option.id !== optionId) {\n return option;\n }\n const exists = (option.list || []).some(item => item.id === field.id);\n return {\n ...option,\n list: exists ? option.list.map(item => (item.id === field.id ? field : item)) : [...(option.list || []), field]\n };\n })\n };\n }\n const exists = (block.list || []).some(item => item.id === field.id);\n return {\n ...block,\n list: exists ? block.list.map(item => (item.id === field.id ? field : item)) : [...(block.list || []), field]\n };\n })\n );\n setFieldEditorOpen(false);\n setFieldContext(null);\n setEditingField(null);\n };\n\n const handleDeleteField = (blockId, fieldId, scope) => {\n const { stepId, optionId } = normalizeFieldScope(scope);\n updateSchema(\n mapBlocks(schema, blockId, block => {\n if (block.kind === 'steps') {\n return {\n ...block,\n items: (block.items || []).map(step => (step.id === stepId ? { ...step, list: (step.list || []).filter(item => item.id !== fieldId) } : step))\n };\n }\n if (block.kind === 'choice') {\n return {\n ...block,\n options: (block.options || []).map(option => (option.id === optionId ? { ...option, list: (option.list || []).filter(item => item.id !== fieldId) } : option))\n };\n }\n return {\n ...block,\n list: (block.list || []).filter(item => item.id !== fieldId)\n };\n })\n );\n };\n\n const handleMoveField = (blockId, fieldId, direction, scope) => {\n const { stepId, optionId } = normalizeFieldScope(scope);\n updateSchema(\n mapBlocks(schema, blockId, block => {\n if (block.kind === 'steps') {\n return {\n ...block,\n items: (block.items || []).map(step => (step.id === stepId ? { ...step, list: moveItem(step.list || [], fieldId, direction) } : step))\n };\n }\n if (block.kind === 'choice') {\n return {\n ...block,\n options: (block.options || []).map(option => (option.id === optionId ? { ...option, list: moveItem(option.list || [], fieldId, direction) } : option))\n };\n }\n return {\n ...block,\n list: moveItem(block.list || [], fieldId, direction)\n };\n })\n );\n };\n\n const currentFieldScope = fieldContext ? collectSchemaFields(schema, { blockId: fieldContext.blockId, stepId: fieldContext.stepId, optionId: fieldContext.optionId }) : [];\n const toolbarExtra = typeof extraToolbar === 'function' ? extraToolbar({ schema }) : extraToolbar;\n\n return (\n <div className={[style['form-creator'], RESPONSIVE_BOUNDARY_CLASS, isMobile ? style['is-mobile'] : '', className].filter(Boolean).join(' ')}>\n <div className={style['editor-pane']}>\n <BlockListPanel\n blocks={schema.blocks}\n onAddBlock={handleAddBlock}\n onEditBlock={handleEditBlock}\n onDeleteBlock={handleDeleteBlock}\n onMoveBlock={handleMoveBlock}\n onAddField={handleAddField}\n onEditField={handleEditField}\n onDeleteField={handleDeleteField}\n onMoveField={handleMoveField}\n onAddStep={handleAddStep}\n onEditStep={handleEditStep}\n onDeleteStep={handleDeleteStep}\n onMoveStep={handleMoveStep}\n onAddChoiceOption={handleAddChoiceOption}\n onEditChoiceOption={handleEditChoiceOption}\n onDeleteChoiceOption={handleDeleteChoiceOption}\n onMoveChoiceOption={handleMoveChoiceOption}\n onOpenFormActions={() => setFormActionsOpen(true)}\n extraToolbar={toolbarExtra}\n />\n </div>\n {showPreview ? (\n <div className={style['preview-pane']}>\n <div className={style['preview-body']}>\n {hasRenderableContent(schema) ? <SchemaRenderer schema={schema} preview formProps={formProps} /> : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={formatMessage({ id: 'emptyBlockList' })} />}\n </div>\n </div>\n ) : null}\n <BlockEditorModal open={blockEditorOpen} block={editingBlock} renderModal={renderModal} onCancel={clearBlockEditor} onSave={handleSaveBlock} />\n <StepEditorModal\n open={stepEditorOpen}\n step={stepContext?.step}\n renderModal={renderModal}\n onCancel={() => {\n setStepEditorOpen(false);\n setStepContext(null);\n }}\n onSave={handleSaveStep}\n />\n <ChoiceOptionEditorModal\n open={choiceOptionEditorOpen}\n option={choiceOptionContext?.option}\n renderModal={renderModal}\n onCancel={() => {\n setChoiceOptionEditorOpen(false);\n setChoiceOptionContext(null);\n }}\n onSave={handleSaveChoiceOption}\n />\n <FieldEditorModal\n open={fieldEditorOpen}\n field={editingField}\n fieldList={currentFieldScope}\n renderModal={renderModal}\n onCancel={() => {\n setFieldEditorOpen(false);\n setFieldContext(null);\n setEditingField(null);\n }}\n onSave={handleSaveField}\n />\n <FormActionsEditor\n open={formActionsOpen}\n value={schema.actions}\n renderModal={renderModal}\n onCancel={() => setFormActionsOpen(false)}\n onSave={actions => {\n updateSchema({ ...schema, actions });\n setFormActionsOpen(false);\n }}\n />\n </div>\n );\n});\n\nexport default FormCreator;\n","import { preset as applyFormAntdPreset, RULES } from '@kne/react-form-antd';\nimport { registerField } from './fieldRegistry';\nimport { registerRulePreset } from './rulePresets';\n\n/**\n * 统一注册扩展规则与填写项:运行时校验 + 编辑器规则面板 + 字段类型 registry。\n * 应用入口调用一次即可,FormCreator / SchemaRenderer 共用。\n */\nexport const preset = ({ rules = {}, fields = {} } = {}) => {\n const runtimeRules = { ...RULES };\n\n Object.entries(rules).forEach(([value, def]) => {\n if (def == null) {\n return;\n }\n\n if (typeof def === 'function') {\n registerRulePreset({ value, label: value });\n runtimeRules[value] = def;\n return;\n }\n\n const { label, validator, ...ruleBody } = def;\n if (label) {\n registerRulePreset({ value, label });\n }\n\n if (typeof validator === 'function') {\n runtimeRules[value] = validator;\n } else if (Object.keys(ruleBody).length) {\n runtimeRules[value] = ruleBody;\n }\n });\n\n applyFormAntdPreset({ rules: runtimeRules });\n\n Object.entries(fields).forEach(([type, definition]) => {\n registerField(type, definition);\n });\n};\n","import { normalizeSchema } from './schema';\nimport { resolveFieldValueSchema } from './fieldRegistry';\nimport { parseRuleString } from './rulePresets';\n\nconst createObjectLayer = () => ({\n properties: {},\n required: [],\n composites: []\n});\n\nconst isReq = rule => parseRuleString(rule).presets.includes('REQ');\n\nconst resolveChoiceSelectorName = block => {\n if (block.selectorName != null && String(block.selectorName).trim()) {\n return String(block.selectorName).trim();\n }\n if (block.discriminator?.propertyName) {\n return String(block.discriminator.propertyName).trim();\n }\n return `__choice_${block.id}`;\n};\n\nconst mergeFieldIntoLayer = (layer, field, { allowRequired = true } = {}) => {\n if (!field?.name) {\n return;\n }\n const name = String(field.name).trim();\n if (!name) {\n return;\n }\n layer.properties[name] = resolveFieldValueSchema(field);\n if (allowRequired && isReq(field.rule) && !layer.required.includes(name)) {\n layer.required.push(name);\n }\n};\n\nconst mergeFieldsIntoLayer = (layer, fields, options) => {\n (fields || []).forEach(field => mergeFieldIntoLayer(layer, field, options));\n};\n\nconst toFiniteInt = (value, minAllowed) => {\n if (value == null || value === '') {\n return undefined;\n }\n const num = Number(value);\n if (!Number.isFinite(num)) {\n return undefined;\n }\n const int = Math.floor(num);\n return int < minAllowed ? minAllowed : int;\n};\n\nconst finalizeObjectSchema = (layer, { title, description } = {}) => {\n const schema = {\n type: 'object',\n properties: { ...layer.properties }\n };\n if (layer.required.length) {\n schema.required = layer.required.slice();\n }\n if (title) {\n schema.title = title;\n }\n if (description) {\n schema.description = description;\n }\n if (layer.composites.length === 1) {\n Object.assign(schema, layer.composites[0]);\n } else if (layer.composites.length > 1) {\n schema.allOf = layer.composites.slice();\n }\n return schema;\n};\n\nconst walkBlocks = (blocks, layer, depth = 0) => {\n (blocks || []).forEach(block => {\n if (!block) {\n return;\n }\n walkBlock(block, layer, depth);\n });\n};\n\nconst walkBlock = (block, layer, depth = 0) => {\n switch (block.kind) {\n case 'formInfo': {\n mergeFieldsIntoLayer(layer, block.list);\n walkBlocks(block.blocks, layer, depth + 1);\n return;\n }\n case 'object': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n if (!name) {\n mergeFieldsIntoLayer(layer, block.list);\n walkBlocks(block.blocks, layer, depth + 1);\n return;\n }\n const nested = createObjectLayer();\n mergeFieldsIntoLayer(nested, block.list);\n walkBlocks(block.blocks, nested, depth + 1);\n layer.properties[name] = finalizeObjectSchema(nested, {\n title: block.title || undefined,\n description: block.subtitle || undefined\n });\n return;\n }\n case 'list':\n case 'tableList': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n if (!name) {\n return;\n }\n const itemLayer = createObjectLayer();\n mergeFieldsIntoLayer(itemLayer, block.list);\n if (block.kind === 'list') {\n walkBlocks(block.itemBlocks, itemLayer, depth + 1);\n }\n const items = finalizeObjectSchema(itemLayer);\n const arraySchema = {\n type: 'array',\n items\n };\n if (block.title) {\n arraySchema.title = block.title;\n }\n const minItems = toFiniteInt(block.minLength, 0);\n const maxItems = toFiniteInt(block.maxLength, 1);\n if (minItems != null) {\n arraySchema.minItems = minItems;\n }\n if (maxItems != null) {\n arraySchema.maxItems = maxItems;\n }\n layer.properties[name] = arraySchema;\n return;\n }\n case 'multiField': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n if (!name) {\n return;\n }\n const itemField = {\n type: block.fieldType || 'Input',\n label: block.label,\n props: {}\n };\n const arraySchema = {\n type: 'array',\n items: resolveFieldValueSchema(itemField)\n };\n if (block.label) {\n arraySchema.title = block.label;\n }\n layer.properties[name] = arraySchema;\n return;\n }\n case 'steps': {\n (block.items || []).forEach(step => {\n mergeFieldsIntoLayer(layer, step?.list);\n walkBlocks(step?.blocks, layer, depth + 1);\n });\n return;\n }\n case 'choice': {\n mergeChoiceIntoLayer(layer, block, depth);\n return;\n }\n default:\n return;\n }\n};\n\n/**\n * choice:single → oneOf;multiple → anyOf。\n * 每支为 object:单选支含 selector const;多选支为该 option 字段,selector 数组放在当前层。\n * 支内 REQ 可进 required;hidden 字段仍进入 schema。\n */\nconst mergeChoiceIntoLayer = (layer, block, depth) => {\n const mode = block.mode === 'multiple' ? 'multiple' : 'single';\n const selectorInData = block.selectorInData !== false;\n const selectorName = resolveChoiceSelectorName(block);\n const options = block.options || [];\n const optionIds = options.map(option => String(option.id));\n\n const branches = options.map((option, index) => {\n const branch = createObjectLayer();\n const optionTitle = option.title || `选项${index + 1}`;\n\n if (selectorInData && mode === 'single') {\n branch.properties[selectorName] = {\n const: String(option.id),\n title: optionTitle\n };\n branch.required.push(selectorName);\n }\n\n mergeFieldsIntoLayer(branch, option.list, { allowRequired: true });\n walkBlocks(option.blocks, branch, depth + 1);\n\n return finalizeObjectSchema(branch, { title: optionTitle });\n });\n\n if (!branches.length) {\n if (selectorInData) {\n if (mode === 'multiple') {\n const selectorSchema = {\n type: 'array',\n items: { type: 'string' },\n uniqueItems: true\n };\n if (block.title) {\n selectorSchema.title = block.title;\n }\n const minItems = toFiniteInt(block.minLength, 0);\n const maxItems = toFiniteInt(block.maxLength, 1);\n if (minItems != null) {\n selectorSchema.minItems = minItems;\n }\n if (maxItems != null) {\n selectorSchema.maxItems = maxItems;\n }\n layer.properties[selectorName] = selectorSchema;\n } else {\n layer.properties[selectorName] = { type: 'string', title: block.title || undefined };\n }\n }\n return;\n }\n\n if (mode === 'multiple') {\n if (selectorInData) {\n const selectorSchema = {\n type: 'array',\n items: { type: 'string', ...(optionIds.length ? { enum: optionIds } : {}) },\n uniqueItems: true\n };\n if (block.title) {\n selectorSchema.title = block.title;\n }\n const minItems = toFiniteInt(block.minLength, 0);\n const maxItems = toFiniteInt(block.maxLength, 1);\n if (minItems != null) {\n selectorSchema.minItems = minItems;\n }\n if (maxItems != null) {\n selectorSchema.maxItems = maxItems;\n }\n layer.properties[selectorName] = selectorSchema;\n }\n layer.composites.push({ anyOf: branches });\n return;\n }\n\n layer.composites.push({ oneOf: branches });\n};\n\n/**\n * 将搭建 Schema 转为描述表单提交数据形状的 JSON Schema。\n * - 内置字段:fieldRegistry.valueSchema\n * - 扩展字段:registerField / preset 的 valueSchema;缺省 { type: 'string' }\n * - hidden 字段仍进入 data schema(可提交)\n * - choice:single → oneOf,multiple → anyOf\n */\nexport const schemaToDataSchema = (schema, options = {}) => {\n const normalized = normalizeSchema(schema || {});\n const layer = createObjectLayer();\n walkBlocks(normalized.blocks, layer, 0);\n\n const root = finalizeObjectSchema(layer, {\n title: normalized.title || undefined,\n description: options.description\n });\n\n if (options.$schema) {\n root.$schema = options.$schema;\n }\n\n return root;\n};\n\nexport default schemaToDataSchema;\n","import { Fragment } from 'react';\nimport { Empty } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport InfoPage, { Content } from '@kne/info-page';\nimport withLocale from './withLocale';\nimport { getFieldDefinition, resolveFieldValueSchema } from './fieldRegistry';\nimport { MAX_BLOCK_DEPTH, hasRenderableContent, normalizeSchema } from './schema';\nimport style from './style.module.scss';\n\nconst getByPath = (data, path) => {\n if (data == null || path == null || path === '') {\n return data;\n }\n return String(path)\n .split('.')\n .reduce((acc, key) => (acc == null ? acc : acc[key]), data);\n};\n\nconst isEmptyValue = value => {\n if (value == null || value === '') {\n return true;\n }\n if (Array.isArray(value) && value.length === 0) {\n return true;\n }\n return false;\n};\n\nconst resolveChoiceSelectorName = block => {\n if (block.selectorName != null && String(block.selectorName).trim()) {\n return String(block.selectorName).trim();\n }\n if (block.discriminator?.propertyName) {\n return String(block.discriminator.propertyName).trim();\n }\n return `__choice_${block.id}`;\n};\n\nconst formatDateValue = (value, format) => {\n const pattern = format || 'YYYY-MM-DD';\n if (Array.isArray(value)) {\n return value\n .map(item => formatDateValue(item, format))\n .filter(item => item !== '')\n .join(' ~ ');\n }\n if (value && typeof value.format === 'function') {\n return value.format(pattern);\n }\n return value == null ? '' : String(value);\n};\n\nconst mapOptionLabel = (value, options) => {\n if (!Array.isArray(options) || !options.length) {\n return value;\n }\n const match = options.find(item => item && item.value === value);\n return match?.label ?? value;\n};\n\nconst formatFieldValue = (field, value, formatMessage) => {\n if (isEmptyValue(value)) {\n return formatMessage({ id: 'schemaContentEmptyValue' });\n }\n\n const definition = getFieldDefinition(field.type);\n const props = field.props || {};\n const valueSchema = resolveFieldValueSchema(field);\n const schemaType = valueSchema?.type;\n\n if (schemaType === 'boolean' || field.type === 'Switch' || field.type === 'Checkbox') {\n if (value) {\n return props.checkedChildren || formatMessage({ id: 'schemaContentYes' });\n }\n return props.unCheckedChildren || formatMessage({ id: 'schemaContentNo' });\n }\n\n if (field.type === 'DatePicker') {\n const formatted = formatDateValue(value, props.format);\n return formatted || formatMessage({ id: 'schemaContentEmptyValue' });\n }\n\n if (Array.isArray(props.options) && props.options.length) {\n if (Array.isArray(value)) {\n const labels = value.map(item => mapOptionLabel(item, props.options)).filter(item => item != null && item !== '');\n return labels.length ? labels.join('、') : formatMessage({ id: 'schemaContentEmptyValue' });\n }\n return mapOptionLabel(value, props.options);\n }\n\n if (definition?.isSuperSelect) {\n const labelKey = props.labelKey || 'label';\n const pickLabel = item => {\n if (item && typeof item === 'object') {\n return item[labelKey] ?? item.label ?? item.value;\n }\n return item;\n };\n if (Array.isArray(value)) {\n const labels = value.map(pickLabel).filter(item => item != null && item !== '');\n return labels.length ? labels.join('、') : formatMessage({ id: 'schemaContentEmptyValue' });\n }\n if (value && typeof value === 'object') {\n return pickLabel(value) ?? formatMessage({ id: 'schemaContentEmptyValue' });\n }\n }\n\n if (Array.isArray(value)) {\n return value.map(item => (item && typeof item === 'object' ? JSON.stringify(item) : String(item))).join('、');\n }\n\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n\n return String(value);\n};\n\nconst renderFieldsContent = (fields, data, formatMessage, column) => {\n const list = (fields || [])\n .filter(field => field && !field.hidden && field.name)\n .map(field => ({\n label: field.label || field.name,\n content: formatFieldValue(field, getByPath(data, field.name), formatMessage),\n block: field.block || undefined\n }));\n\n if (!list.length) {\n return null;\n }\n\n return <Content col={column || 2} list={list} />;\n};\n\nconst renderBlockList = (blocks, data, ctx) => (blocks || []).map(block => renderBlock(block, data, ctx)).filter(Boolean);\n\nconst renderBlock = (block, data, ctx) => {\n const { formatMessage, isMobile, depth = 0 } = ctx;\n if (!block || depth > MAX_BLOCK_DEPTH) {\n return null;\n }\n\n const nextCtx = { ...ctx, depth: depth + 1 };\n const bordered = isMobile ? false : block.bordered || undefined;\n const partProps = {\n key: block.id,\n title: block.title || block.label || undefined,\n subtitle: block.subtitle || undefined,\n bordered\n };\n\n switch (block.kind) {\n case 'formInfo': {\n return (\n <InfoPage.Part {...partProps}>\n {renderFieldsContent(block.list, data, formatMessage, block.column)}\n {renderBlockList(block.blocks, data, nextCtx)}\n </InfoPage.Part>\n );\n }\n case 'object': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n const nestedData = name ? getByPath(data, name) || {} : data;\n return (\n <InfoPage.Part {...partProps}>\n {renderFieldsContent(block.list, nestedData, formatMessage, block.column)}\n {renderBlockList(block.blocks, nestedData, nextCtx)}\n </InfoPage.Part>\n );\n }\n case 'list':\n case 'tableList': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n const items = name ? getByPath(data, name) : null;\n const rows = Array.isArray(items) ? items : [];\n return (\n <InfoPage.Part {...partProps}>\n {rows.length\n ? rows.map((item, index) => (\n <InfoPage.Part key={`${block.id}-${index}`} title={formatMessage({ id: 'schemaContentItemIndex' }, { index: index + 1 })} bordered={false}>\n {renderFieldsContent(block.list, item || {}, formatMessage, 2)}\n {block.kind === 'list' ? renderBlockList(block.itemBlocks, item || {}, nextCtx) : null}\n </InfoPage.Part>\n ))\n : formatMessage({ id: 'schemaContentEmptyValue' })}\n </InfoPage.Part>\n );\n }\n case 'multiField': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n const values = name ? getByPath(data, name) : null;\n const itemField = {\n type: block.fieldType || 'Input',\n label: block.label,\n props: {}\n };\n const content = Array.isArray(values) ? values.map(item => formatFieldValue(itemField, item, formatMessage)).join('、') : formatFieldValue(itemField, values, formatMessage);\n return (\n <InfoPage.Part {...partProps}>\n <Content col={1} list={[{ label: block.label || block.name, content, block: true }]} />\n </InfoPage.Part>\n );\n }\n case 'steps': {\n return (\n <Fragment key={block.id}>\n {(block.items || []).map(step => (\n <InfoPage.Part key={step.id} title={step.title || undefined} bordered={bordered}>\n {renderFieldsContent(step.list, data, formatMessage, step.column || 2)}\n {renderBlockList(step.blocks, data, nextCtx)}\n </InfoPage.Part>\n ))}\n </Fragment>\n );\n }\n case 'choice': {\n const selectorName = resolveChoiceSelectorName(block);\n const selectorValue = block.selectorInData === false ? undefined : getByPath(data, selectorName);\n const selectedIds = block.mode === 'multiple' ? (Array.isArray(selectorValue) ? selectorValue.map(String) : []) : selectorValue != null && selectorValue !== '' ? [String(selectorValue)] : [];\n const options = block.options || [];\n const visibleOptions = selectedIds.length ? options.filter(option => selectedIds.includes(String(option.id))) : [];\n\n return (\n <InfoPage.Part {...partProps}>\n {visibleOptions.map(option => (\n <InfoPage.Part key={option.id} title={option.title || undefined} bordered={false}>\n {renderFieldsContent(option.list, data, formatMessage, block.column)}\n {renderBlockList(option.blocks, data, nextCtx)}\n </InfoPage.Part>\n ))}\n </InfoPage.Part>\n );\n }\n default:\n return null;\n }\n};\n\nconst SchemaContentInnerView = ({ schema, data, className }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const normalized = normalizeSchema(schema);\n const children = renderBlockList(normalized.blocks, data || {}, { formatMessage, isMobile, depth: 0 });\n\n if (!children.length) {\n return null;\n }\n\n if (className) {\n return <div className={className}>{children}</div>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n\nexport const SchemaContentInner = withLocale(SchemaContentInnerView);\n\nconst SchemaContent = withLocale(({ schema, data, className, empty }) => {\n const { formatMessage } = useIntl();\n const normalized = normalizeSchema(schema);\n const emptyNode = empty !== undefined ? empty : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={formatMessage({ id: 'schemaContentEmpty' })} />;\n\n if (data == null || !hasRenderableContent(normalized)) {\n return emptyNode;\n }\n\n return (\n <InfoPage className={[style['schema-content'], className].filter(Boolean).join(' ')}>\n <SchemaContentInnerView schema={normalized} data={data} />\n </InfoPage>\n );\n});\n\nexport default SchemaContent;\n"],"names":["locale","addField","editField","deleteField","moveUp","moveDown","fieldListTitle","fieldListSubtitle","blockListTitle","blockListSubtitle","emptyFieldList","emptyBlockList","addBlock","editBlock","deleteBlock","untitledBlock","expandBlock","collapseBlock","fieldCount","fieldAndItemBlockCount","addChildBlock","stepCount","blockKind_formInfo","blockKind_list","blockKind_tableList","blockKind_multiField","blockKind_object","blockKind_choice","blockKind_steps","choiceMode","choiceModeSingle","choiceModeMultiple","choiceMinSelect","choiceMaxSelect","choiceMinSelectError","choiceMaxSelectError","choiceSelectorName","choiceSelectorNamePlaceholder","choiceSelectorInData","choiceTitlePlaceholder","choiceOptionListTitle","addChoiceOption","editChoiceOption","deleteChoiceOption","choiceOptionTitle","choiceOptionTitlePlaceholder","emptyChoiceOptionList","choiceOptionFallback","choiceOptionCount","choiceAreaTitle","choiceModeHintSingle","choiceModeHintMultiple","choiceModeHintMultipleMin","choiceModeHintMultipleMax","choiceModeHintMultipleRange","choiceSelectFirstHint","blockTitle","blockTitlePlaceholder","blockSubtitle","blockSubtitlePlaceholder","blockName","blockNameRequired","blockGap","blockBordered","blockImportant","blockAddText","blockAddTextPlaceholder","blockMaxLength","blockMinLength","blockAutoStep","multiFieldType","multiFieldSummary","multiFieldEditorHint","stepListTitle","addStep","editStep","deleteStep","stepTitle","stepTitlePlaceholder","emptyStepList","untitledStep","stepPrev","stepNext","stepComplete","fieldType","fieldName","fieldNamePlaceholder","fieldLabel","fieldLabelPlaceholder","fieldTips","fieldTipsPlaceholder","fieldDescription","fieldDescriptionPlaceholder","fieldRule","fieldPlaceholder","fieldOptions","fieldBlock","fieldHidden","fieldHiddenTag","fieldBlockTag","fieldNameDuplicate","untitledField","previewTitle","previewHint","confirm","cancel","submit","reset","formActionsSection","formActionsShowSubmit","formActionsShowReset","formActionsShowCancel","formActionsSubmitText","formActionsResetText","formActionsCancelText","formActionsSubmitTextHint","formActionsResetTextHint","formActionsCancelTextHint","formActionsAlign","formActionsAlignCenter","formActionsAlignStart","formActionsAlignEnd","formActionsGap","formActionsGapHint","formActionsLayoutSection","fieldBasicSection","optionLabelPlaceholder","optionValuePlaceholder","optionDescPlaceholder","addOption","builtinDataHint","optionsEditorHint","optionsTreeEditorHint","addChildOption","fieldColumns","columnTitlePlaceholder","columnNamePlaceholder","columnWidthPlaceholder","addColumn","columnsEditorHint","fieldTableRows","tableRowsNeedColumnsHint","tableRowTitle","tableRowLabelPlaceholder","addTableRow","tableRowsEditorHint","superSelectPropsSection","superSelectSingle","superSelectIsPopup","superSelectAllowClear","superSelectAllowSelectedAll","superSelectOnlyLastLevel","superSelectMaxLength","superSelectMaxLengthPlaceholder","superSelectPlaceholderHint","superSelectSearchPlaceholder","superSelectSearchPlaceholderHint","fieldPropsSection","fieldPlaceholderHint","propAllowClear","propMaxLength","propOptionalNumber","propRows","propShowCount","propMin","propMax","propStep","propPrecision","propSelectMode","propSelectModeSingle","propSelectModeMultiple","propDateRange","propDatePickerType","propDatePickerDate","propDatePickerWeek","propDatePickerMonth","propDatePickerQuarter","propDatePickerYear","propDateFormat","propShowTime","propSwitchOnText","propSwitchOffText","propSwitchOnTextHint","propSwitchOffTextHint","ruleLen","ruleLenRange","ruleLenMin","ruleLenMax","ruleEditorHint","formSettingsTitle","formTitlePlaceholder","formSubtitlePlaceholder","formColumnPlaceholder","schemaContentEmpty","schemaContentEmptyValue","schemaContentYes","schemaContentNo","schemaContentItemIndex","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","createFieldId","Date","now","Math","random","toString","slice","createDataKey","prefix","isAutoDataKey","value","RegExp","test","String","trim","MAX_BLOCK_DEPTH","createEmptyColumn","title","name","width","undefined","defaultSchema","subtitle","column","gap","blocks","actions","defaultFormActions","showSubmit","showReset","showCancel","submitText","resetText","cancelText","align","FORM_ACTIONS_ALIGN","normalizeFormActions","base","includes","gapValue","Number","isFinite","submitButtonProps","resetButtonProps","cancelButtonProps","createField","overrides","id","type","label","tips","description","rule","block","hidden","props","createChoiceOption","list","createBlock","kind","needsName","bordered","important","addText","maxLength","minLength","autoStep","mode","selectorName","selectorInData","discriminator","items","itemBlocks","options","createStep","next","Array","isArray","normalizeSelectCount","minAllowed","num","int","floor","normalizeField","field","normalizeStep","step","depth","map","child","normalizeBlock","normalizeChoiceOption","option","length","normalized","minSelect","maxSelect","normalizeSchema","schema","moveItem","direction","index","findIndex","item","targetIndex","splice","isFieldNameUnique","fields","excludeId","some","collectFieldsFromBlocks","acc","forEach","push","collectSchemaFields","_temp","blockId","stepId","optionId","findBlockInTree","collectBlockFieldNames","_temp2","objectNamePrefix","names","walk","nextPrefix","filter","Boolean","join","updateBlocks","updater","found","findBlock","mapChildBlockLists","mapList","nextBlock","changed","childBlocks","optionsChanged","optionBlocks","itemsChanged","stepBlocks","mapBlocksInTree","childChanged","mapBlocks","removeBlockInTree","filtered","moveBlockInTree","blockHasContent","hasRenderableContent","BLOCK_KINDS","formInfo","color","hasFieldList","requiresName","tableList","multiField","object","choice","hasChoiceOptions","steps","hasSteps","getBlockKindOptions","Object","entries","_ref","config","getBlockDefinition","blockToFormValues","formValuesToBlock","values","existingBlock","stepToFormValues","formValuesToStep","existingStep","choiceOptionToFormValues","formValuesToChoiceOption","existingOption","mapOptionItem","children","rest","createApiFromOptions","loader","pageData","useOnChange","hooks","hasNestedOptions","Component","preferOptions","placeholderPrefix","Field","api","placeholder","useOptionsDirectly","mergedApi","resolvedPlaceholder","render","assign","isPopup","SuperSelectList","SelectList","SuperSelectTableList","SelectTableList","SuperSelectTree","SelectTree","SuperSelectCascader","SelectCascader","SelectFunctionField","SelectFunction","SelectIndustryField","SelectIndustry","SelectAddressField","SelectAddress","RULE_PRESET_ITEMS","DEFAULT_RULE_CONFIG","presets","lenMin","lenMax","RULE_LEN_PRESET","registerRulePreset","getRulePresetItems","parseRuleString","tokens","split","token","lenMatch","match","buildRuleString","parts","registry","Map","defineField","definition","set","FIELD_GROUPS","types","optionEnumValues","stringWithEnumSchema","enums","enum","superSelectValueSchema","single","group","component","Input","defaultProps","allowClear","hasFieldProps","valueSchema","TextArea","rows","defaults","InputNumber","Select","hasOptions","RadioGroup","CheckboxGroup","labelKey","valueKey","isSuperSelect","optionsAllowDescription","columns","hasColumns","optionsAllowChildren","onlyAllowLastLevel","hasOnlyLastLevel","hasBuiltinData","Switch","Checkbox","DatePicker","format","picker","range","showTime","resolveComponent","RangePicker","minItems","maxItems","registerField","propsSchema","groupName","pickFromPropsSchema","key","fallback","defaultValue","applyFromPropsSchema","setOptionalNumber","setOptionalString","getFieldDefinition","get","resolveFieldValueSchema","raw","getFieldComponent","getFieldTypes","grouped","builtinTypes","Set","flatMap","registered","from","has","customGroups","normalizeOptions","allowChildren","columnNames","normalizeColumns","dataIndex","pickSuperSelectFormValues","allowSelectedAll","searchPlaceholder","applySuperSelectProps","pickFieldProps","showCount","min","max","precision","checkedChildren","unCheckedChildren","applyFieldProps","text","fieldToFormValues","ruleConfig","rawPlaceholder","selectProps","fieldProps","formValuesToField","existingField","Text","Typography","TYPE_TAG_COLORS","FieldRow","total","onEdit","onDelete","onMove","formatMessage","useIntl","_jsxs","className","style","_jsx","Space","size","wrap","strong","ellipsis","Tag","Button","icon","ArrowUpOutlined","disabled","onClick","ArrowDownOutlined","EditOutlined","danger","DeleteOutlined","ActionGroup","IconBtn","_ref2","ROOT_ADD_OPTIONS","FormOutlined","UnorderedListOutlined","TableOutlined","ClusterOutlined","PartitionOutlined","AppstoreOutlined","OrderedListOutlined","NESTED_ADD_OPTIONS","opt","BlockListPanel","_ref3","onAddBlock","onEditBlock","onDeleteBlock","onMoveBlock","onAddField","onEditField","onDeleteField","onMoveField","onAddStep","onEditStep","onDeleteStep","onMoveStep","onAddChoiceOption","onEditChoiceOption","onDeleteChoiceOption","onMoveChoiceOption","onOpenFormActions","extraToolbar","addMenuOpen","setAddMenuOpen","useState","addFieldMenuId","setAddFieldMenuId","keepAddFieldMenuOpenRef","useRef","renderAddBlockMenu","onSelect","role","tabIndex","onKeyDown","e","renderAddFieldButton","_ref4","menuKey","onAddFieldClick","onAddChildBlock","canAddChild","menuOpen","btnClass","PlusOutlined","Dropdown","open","onOpenChange","current","trigger","mouseEnterDelay","mouseLeaveDelay","getPopupContainer","parentElement","document","body","dropdownRender","SelectOutlined","onMouseDown","renderFieldList","fieldIndex","fieldItem","fieldId","renderNestedBlocks","childIndex","renderBlockSection","renderItemBlocks","parentBlock","renderBlockChildren","stepIndex","nests","count","parentBlockId","optionIndex","supportsItemBlocks","supportsBlocks","blockIndex","canAddField","supportsChildModules","nestCount","summary","SettingOutlined","Flex","justify","shape","Empty","image","PRESENTED_IMAGE_SIMPLE","BlockConfigFields","fieldTypeOptions","useMemo","display","openApi","data","FormInfo","BlockEditorModal","onCancel","onSave","renderModal","isMobile","useIsMobile","isEdit","formData","handleSubmit","message","error","Promise","resolve","reject","FormModal","destroyOnHidden","destroyOnClose","formProps","onSubmit","okText","StepEditorModal","ChoiceOptionEditorModal","RulePresetsGroup","Group","RulePresetEditor","rulePresets","createOptionKey","EMPTY_OPTION","_key","createEmptyTableRow","row","ensureOptionKeys","hasMissingOptionKey","FlatOptionRows","onChange","allowDescription","commit","updateItem","patch","itemIndex","event","target","_","TreeOptionNode","siblings","onChangeSiblings","maxDepth","updateSelf","i","removeSelf","addChild","changeChildren","nextChildren","ApartmentOutlined","TreeOptionsEditor","useEffect","ColumnsEditor","TableRowsEditor","usableColumns","Card","extra","minWidth","flex","marginTop","OptionsEditor","onColumnsChange","handleColumnsChange","nextColumns","prevColumns","migrated","nextRow","prevCol","nextCol","prevName","nextName","prototype","hasOwnProperty","call","SuperSelectPropsEditor","useFormContext","checked","setFields","runValidate","BUILTIN_PROP_TYPES","buildPropsSchemaList","buildBuiltinList","FieldPropsEditor","definitionProp","hasFieldPropsEditor","def","getDefaultSelectProps","omitColumns","FieldConfigFields","initialType","onOptionsChange","setFieldType","applyTypeDefaults","nextType","nextDefinition","nextValues","requestAnimationFrame","FieldEditorModal","fieldList","editorValues","setOptions","setColumns","normalizedColumns","nextField","modalKey","FormActionsEditor","alignOptions","gapMarks","optionType","buttonStyle","Slider","marks","tooltip","formatter","v","getByPath","obj","path","reduce","resolveSelectorName","propertyName","resolveSelectedIds","clearUnselectedOptionFields","keepIds","allOptions","resolveSelectLimits","buildMultipleHint","ChoiceBlock","preview","renderOptionContent","titleText","firstOptionId","rawValue","selectorValueKey","selectedIdsFromValue","selectorOptions","atMax","selectedIds","activeOptions","handleChange","useCallback","nextIds","selectorRule","ids","result","errMsg","hasSelectLimitRule","Selector","selectorProps","labelHidden","contentChildren","nodes","createElement","modeHint","InfoPage","Part","buildLabelTips","Tooltip","QuestionCircleOutlined","renderFieldElements","namePrefix","labelTips","withBlockLayout","element","forceBlock","nestedListItemPartProps","styles","header","borderBottom","borderRadius","overflow","isFormInfoLikeBlock","renderBlockElement","ctx","asListItem","nextCtx","listItemPartProps","renderChildBlocks","childCtx","nested","node","List","itemTitle","TableList","FieldComponent","MultiField","Steps","prevIcon","ArrowLeftOutlined","nextIcon","ArrowRightOutlined","fieldNames","Fragment","renderSchemaInner","bodyClassName","actionNode","content","renderSchemaContent","_temp3","formClassName","Form","joinClass","arguments","resolveActionNode","showActions","actionsAlign","actionsGap","footerClassName","buttonFooter","buttonFooterProps","schemaActions","resolvedShowSubmit","resolvedShowReset","resolvedShowCancel","resolvedAlign","resolvedGap","resolvedSubmitText","resolvedResetText","resolvedCancelText","resolvedSubmitButtonProps","resolvedResetButtonProps","resolvedCancelButtonProps","flexProps","actionsEl","SubmitButton","ResetButton","CancelButton","footerProps","ButtonFooter","SchemaRendererInner","SchemaRenderer","FormCreator","showPreview","innerSchema","setInnerSchema","blockEditorOpen","setBlockEditorOpen","editingBlock","setEditingBlock","blockParentId","setBlockParentId","blockParentStepId","setBlockParentStepId","blockParentOptionId","setBlockParentOptionId","stepEditorOpen","setStepEditorOpen","stepContext","setStepContext","choiceOptionEditorOpen","setChoiceOptionEditorOpen","choiceOptionContext","setChoiceOptionContext","fieldEditorOpen","setFieldEditorOpen","fieldContext","setFieldContext","editingField","setEditingField","formActionsOpen","setFormActionsOpen","updateSchema","nextSchema","clearBlockEditor","handleAddBlock","handleEditBlock","handleSaveBlock","exists","parent","handleDeleteBlock","handleMoveBlock","handleAddStep","handleEditStep","handleSaveStep","handleDeleteStep","handleMoveStep","handleAddChoiceOption","handleEditChoiceOption","handleSaveChoiceOption","handleDeleteChoiceOption","handleMoveChoiceOption","normalizeFieldScope","scope","handleAddField","handleEditField","handleSaveField","handleDeleteField","handleMoveField","currentFieldScope","toolbarExtra","RESPONSIVE_BOUNDARY_CLASS","preset","rules","runtimeRules","RULES","validator","ruleBody","keys","applyFormAntdPreset","createObjectLayer","properties","required","composites","isReq","resolveChoiceSelectorName","mergeFieldIntoLayer","layer","allowRequired","mergeFieldsIntoLayer","toFiniteInt","finalizeObjectSchema","allOf","walkBlocks","walkBlock","itemLayer","arraySchema","itemField","mergeChoiceIntoLayer","optionIds","branches","branch","optionTitle","const","selectorSchema","uniqueItems","anyOf","oneOf","schemaToDataSchema","root","$schema","isEmptyValue","formatDateValue","pattern","mapOptionLabel","find","formatFieldValue","schemaType","formatted","labels","pickLabel","JSON","stringify","renderFieldsContent","Content","col","renderBlockList","renderBlock","partProps","nestedData","selectorValue","visibleOptions","SchemaContentInnerView","SchemaContentInner","SchemaContent","empty","emptyNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/schema.js","../src/blockRegistry.js","../src/fields/optionsApi.js","../src/fields/extendedFields.js","../src/rulePresets.js","../src/fieldRegistry.js","../src/FieldRow.js","../src/BlockListPanel.js","../src/BlockEditorModal.js","../src/StepEditorModal.js","../src/ChoiceOptionEditorModal.js","../src/RulePresetEditor.js","../src/OptionsEditor.js","../src/SuperSelectPropsEditor.js","../src/FieldPropsEditor.js","../src/FieldEditorModal.js","../src/FormActionsEditor.js","../src/ChoiceBlock.js","../src/renderSchema.js","../src/SchemaRenderer.js","../src/FormCreator.js","../src/FileFieldPreview.js","../src/formatDisplayValue.js","../src/preset.js","../src/schemaToDataSchema.js","../src/SchemaContent.js"],"sourcesContent":["const locale = {\n addField: '添加填写项',\n editField: '编辑填写项',\n deleteField: '删除填写项',\n moveUp: '上移',\n moveDown: '下移',\n fieldListTitle: '填写项配置',\n fieldListSubtitle: '通过列表管理填写项,右侧实时预览表单效果',\n blockListTitle: '表单结构',\n blockListSubtitle: '添加不同类型的内容模块来搭建你的表单',\n emptyFieldList: '暂无填写项,点击上方添加',\n emptyBlockList: '暂无内容,点击\"添加模块\"开始搭建表单',\n addBlock: '添加模块',\n editBlock: '编辑模块',\n deleteBlock: '删除模块',\n untitledBlock: '未命名模块',\n expandBlock: '展开',\n collapseBlock: '收起',\n fieldCount: '{count} 个填写项',\n fieldAndItemBlockCount: '{fields} 个填写项 · {nests} 个子模块',\n addChildBlock: '添加子模块',\n stepCount: '{count} 个步骤',\n blockKind_formInfo: '基础表单',\n blockKind_list: '可增减列表',\n blockKind_tableList: '表格列表',\n blockKind_multiField: '同类多值',\n blockKind_object: '分组信息',\n blockKind_choice: '选项切换',\n blockKind_steps: '分步表单',\n choiceMode: '可选几个',\n choiceModeSingle: '只能选一个',\n choiceModeMultiple: '可以选多个',\n choiceMinSelect: '最少选择几个',\n choiceMaxSelect: '最多选择几个',\n choiceMinSelectError: '请至少选择 {count} 项',\n choiceMaxSelectError: '最多只能选择 {count} 项',\n choiceSelectorName: '所选结果的名称',\n choiceSelectorNamePlaceholder: '可不填,系统会自动生成',\n choiceSelectorInData: '提交时带上所选结果',\n choiceTitlePlaceholder: '例如:客户类型',\n choiceOptionListTitle: '选项列表',\n addChoiceOption: '添加选项',\n editChoiceOption: '编辑选项',\n deleteChoiceOption: '删除选项',\n choiceOptionTitle: '选项名称',\n choiceOptionTitlePlaceholder: '例如:企业、个人',\n emptyChoiceOptionList: '暂无选项,点击上方添加',\n choiceOptionFallback: '选项{index}',\n choiceOptionCount: '{count} 个选项',\n choiceAreaTitle: '请选择',\n choiceModeHintSingle: '请选择其中一项',\n choiceModeHintMultiple: '可以选择多项',\n choiceModeHintMultipleMin: '请至少选择 {count} 项',\n choiceModeHintMultipleMax: '最多选择 {count} 项',\n choiceModeHintMultipleRange: '请选择 {min}–{max} 项',\n choiceSelectFirstHint: '请先在上方选择,再填写对应内容',\n blockTitle: '模块标题',\n blockTitlePlaceholder: '例如:基本信息',\n blockSubtitle: '模块副标题',\n blockSubtitlePlaceholder: '例如:请填写员工基本信息',\n blockName: '保存用的名称',\n blockNameRequired: '请填写保存用的名称',\n blockGap: '间距',\n blockBordered: '显示边框',\n blockImportant: '突出显示',\n blockAddText: '添加按钮文案',\n blockAddTextPlaceholder: '例如:添加一条工作经历',\n blockMaxLength: '最多条数',\n blockMinLength: '最少条数',\n blockAutoStep: '填写完成后自动进入下一步',\n multiFieldType: '填写项类型',\n multiFieldSummary: '填写类型:{type}',\n multiFieldEditorHint: '同类多值模块会根据你选择的填写项类型,自动生成可增减的多个输入框。',\n stepListTitle: '步骤列表',\n addStep: '添加步骤',\n editStep: '编辑步骤',\n deleteStep: '删除步骤',\n stepTitle: '步骤标题',\n stepTitlePlaceholder: '默认第 x 步,可自定义',\n emptyStepList: '暂无步骤,点击\"添加步骤\"开始搭建',\n untitledStep: '第{index}步',\n stepPrev: '上一步',\n stepNext: '下一步',\n stepComplete: '完成',\n fieldType: '填写项类型',\n fieldName: '保存用的名称',\n fieldNamePlaceholder: '已自动生成,可修改',\n fieldLabel: '显示名称',\n fieldLabelPlaceholder: '例如:姓名',\n fieldTips: '标签提示',\n fieldTipsPlaceholder: '鼠标悬停标签旁图标时显示',\n fieldDescription: '字段说明',\n fieldDescriptionPlaceholder: '显示在输入框下方的补充说明',\n fieldRule: '填写规则',\n fieldPlaceholder: '输入提示语',\n fieldOptions: '选项配置',\n fieldBlock: '占满整行',\n fieldHidden: '隐藏该项',\n fieldHiddenTag: '已隐藏',\n fieldBlockTag: '整行',\n fieldNameDuplicate: '该名称已被使用,请换一个',\n untitledField: '未命名填写项',\n previewTitle: '表单预览',\n previewHint: '左侧的配置变化会实时同步到这里',\n confirm: '确定',\n cancel: '取消',\n submit: '提交',\n reset: '重置',\n formActionsSection: '表单按钮',\n formActionsShowSubmit: '显示提交按钮',\n formActionsShowReset: '显示重置按钮',\n formActionsShowCancel: '显示取消按钮',\n formActionsSubmitText: '提交文案',\n formActionsResetText: '重置文案',\n formActionsCancelText: '取消文案',\n formActionsSubmitTextHint: '默认「提交」',\n formActionsResetTextHint: '默认「重置」',\n formActionsCancelTextHint: '默认「取消」',\n formActionsAlign: '按钮位置',\n formActionsAlignCenter: '居中',\n formActionsAlignStart: '靠左',\n formActionsAlignEnd: '靠右',\n formActionsGap: '按钮间距',\n formActionsGapHint: '默认 16',\n formActionsLayoutSection: '布局',\n fieldBasicSection: '基本设置',\n optionLabelPlaceholder: '显示文字',\n optionValuePlaceholder: '对应值',\n optionDescPlaceholder: '补充说明(可选)',\n addOption: '添加一个选项',\n builtinDataHint: '该类型自带数据,无需手动配置选项',\n optionsEditorHint: '至少填写显示文字和对应值',\n optionsTreeEditorHint: '点「添加子级」可挂下级选项;左侧竖线表示层级',\n addChildOption: '添加子级',\n fieldColumns: '表格有哪些列',\n columnTitlePlaceholder: '列标题,例如:姓名',\n columnNamePlaceholder: '已自动生成,可修改',\n columnWidthPlaceholder: '列宽(可选)',\n addColumn: '添加一列',\n columnsEditorHint: '列标题用于表头展示;保存用的名称已自动生成,需要时可改',\n fieldTableRows: '表格数据',\n tableRowsNeedColumnsHint: '请先在上方填写列的保存名称,再来配置每一行数据',\n tableRowTitle: '第 {index} 行',\n tableRowLabelPlaceholder: '选中后显示的文字',\n addTableRow: '添加一行数据',\n tableRowsEditorHint: '「对应值」是选中后真正保存的内容;其余按列填写,会显示在表格里',\n superSelectPropsSection: '选择设置',\n superSelectSingle: '只能选一项',\n superSelectIsPopup: '以下拉方式打开(关闭则为弹窗)',\n superSelectAllowClear: '允许清空已选内容',\n superSelectAllowSelectedAll: '显示全选',\n superSelectOnlyLastLevel: '只能选择最后一级',\n superSelectMaxLength: '最多可选数量',\n superSelectMaxLengthPlaceholder: '不限制可留空',\n superSelectPlaceholderHint: '例如:请选择',\n superSelectSearchPlaceholder: '搜索框提示语',\n superSelectSearchPlaceholderHint: '例如:搜索...',\n fieldPropsSection: '填写项设置',\n fieldPlaceholderHint: '例如:请输入 / 请选择',\n propAllowClear: '允许清空',\n propMaxLength: '最多可输入字数',\n propOptionalNumber: '不限制可留空',\n propRows: '默认显示行数',\n propShowCount: '显示字数统计',\n propMin: '最小值',\n propMax: '最大值',\n propStep: '每次增减幅度',\n propPrecision: '小数位数',\n propSelectMode: '选择方式',\n propSelectModeSingle: '只能选一项',\n propSelectModeMultiple: '可以选择多项',\n propDateRange: '选择日期范围(开始~结束)',\n propDatePickerType: '日期类型',\n propDatePickerDate: '日期',\n propDatePickerWeek: '周',\n propDatePickerMonth: '月份',\n propDatePickerQuarter: '季度',\n propDatePickerYear: '年份',\n propDateFormat: '显示格式',\n propShowTime: '同时选择时间',\n propSwitchOnText: '打开时显示的文字',\n propSwitchOffText: '关闭时显示的文字',\n propSwitchOnTextHint: '例如:开',\n propSwitchOffTextHint: '例如:关',\n ruleLen: '长度限制',\n ruleLenRange: '长度范围',\n ruleLenMin: '最少字数',\n ruleLenMax: '最多字数',\n ruleEditorHint: '勾选需要的填写规则,可同时选多个',\n formSettingsTitle: '表单设置',\n formTitlePlaceholder: '表单标题(可选)',\n formSubtitlePlaceholder: '表单副标题(可选)',\n formColumnPlaceholder: '每行显示列数',\n schemaContentEmpty: '暂无数据',\n schemaContentEmptyValue: '-',\n schemaContentYes: '是',\n schemaContentNo: '否',\n schemaContentItemIndex: '第 {index} 项',\n schemaContentUntilToday: '至今',\n schemaContentPasswordMasked: '••••••'\n};\n\nexport default locale;\n","const locale = {\n addField: 'Add Field',\n editField: 'Edit Field',\n deleteField: 'Delete',\n moveUp: 'Move Up',\n moveDown: 'Move Down',\n fieldListTitle: 'Field Configuration',\n fieldListSubtitle: 'Manage fields and preview the form on the right',\n blockListTitle: 'Form Structure',\n blockListSubtitle: 'Add different content sections to build your form',\n emptyFieldList: 'No fields yet. Click to add one.',\n emptyBlockList: 'No content yet. Click \"Add Section\" to start building.',\n addBlock: 'Add Section',\n editBlock: 'Edit Section',\n deleteBlock: 'Delete Section',\n untitledBlock: 'Untitled Section',\n expandBlock: 'Expand',\n collapseBlock: 'Collapse',\n fieldCount: '{count} fields',\n fieldAndItemBlockCount: '{fields} fields · {nests} child sections',\n addChildBlock: 'Add child section',\n stepCount: '{count} steps',\n blockKind_formInfo: 'Basic Form',\n blockKind_list: 'Repeatable List',\n blockKind_tableList: 'Table List',\n blockKind_multiField: 'Multi-Value',\n blockKind_object: 'Grouped Fields',\n blockKind_choice: 'Options',\n blockKind_steps: 'Step-by-Step',\n choiceMode: 'How many can be selected',\n choiceModeSingle: 'One only',\n choiceModeMultiple: 'More than one',\n choiceMinSelect: 'Minimum selections',\n choiceMaxSelect: 'Maximum selections',\n choiceMinSelectError: 'Select at least {count}',\n choiceMaxSelectError: 'Select at most {count}',\n choiceSelectorName: 'Name for the selection',\n choiceSelectorNamePlaceholder: 'Optional — generated automatically if empty',\n choiceSelectorInData: 'Include the selection when submitting',\n choiceTitlePlaceholder: 'e.g. Customer type',\n choiceOptionListTitle: 'Options',\n addChoiceOption: 'Add option',\n editChoiceOption: 'Edit option',\n deleteChoiceOption: 'Delete option',\n choiceOptionTitle: 'Option name',\n choiceOptionTitlePlaceholder: 'e.g. Company, Individual',\n emptyChoiceOptionList: 'No options yet. Click above to add one.',\n choiceOptionFallback: 'Option {index}',\n choiceOptionCount: '{count} options',\n choiceAreaTitle: 'Please select',\n choiceModeHintSingle: 'Select one option',\n choiceModeHintMultiple: 'You can select more than one',\n choiceModeHintMultipleMin: 'Select at least {count}',\n choiceModeHintMultipleMax: 'Select at most {count}',\n choiceModeHintMultipleRange: 'Select {min}–{max} options',\n choiceSelectFirstHint: 'Select an option above to continue',\n blockTitle: 'Section Title',\n blockTitlePlaceholder: 'e.g. Basic Info',\n blockSubtitle: 'Section Subtitle',\n blockSubtitlePlaceholder: 'e.g. Please fill in employee info',\n blockName: 'Save name',\n blockNameRequired: 'Please enter a save name',\n blockGap: 'Spacing',\n blockBordered: 'Show Border',\n blockImportant: 'Highlight',\n blockAddText: 'Add Button Label',\n blockAddTextPlaceholder: 'e.g. Add Work Experience',\n blockMaxLength: 'Max Entries',\n blockMinLength: 'Min Entries',\n blockAutoStep: 'Auto proceed to next step after completion',\n multiFieldType: 'Field Type',\n multiFieldSummary: 'Field type: {type}',\n multiFieldEditorHint: 'This section auto-generates repeatable inputs based on the field type you choose.',\n stepListTitle: 'Steps',\n addStep: 'Add Step',\n editStep: 'Edit Step',\n deleteStep: 'Delete Step',\n stepTitle: 'Step Title',\n stepTitlePlaceholder: 'Defaults to Step x',\n emptyStepList: 'No steps yet. Click \"Add Step\" to start.',\n untitledStep: 'Step {index}',\n stepPrev: 'Previous',\n stepNext: 'Next',\n stepComplete: 'Done',\n fieldType: 'Field Type',\n fieldName: 'Save name',\n fieldNamePlaceholder: 'Auto-generated, editable',\n fieldLabel: 'Display Name',\n fieldLabelPlaceholder: 'e.g. Full Name',\n fieldTips: 'Label Tips',\n fieldTipsPlaceholder: 'Shown when hovering the icon next to the label',\n fieldDescription: 'Description',\n fieldDescriptionPlaceholder: 'Helper text shown below the input',\n fieldRule: 'Validation',\n fieldPlaceholder: 'Hint Text',\n fieldOptions: 'Options',\n fieldBlock: 'Full Width',\n fieldHidden: 'Hidden',\n fieldHiddenTag: 'Hidden',\n fieldBlockTag: 'Full Width',\n fieldNameDuplicate: 'This name is already in use, please choose another',\n untitledField: 'Untitled Field',\n previewTitle: 'Form Preview',\n previewHint: 'Changes on the left are reflected here in real time',\n confirm: 'OK',\n cancel: 'Cancel',\n submit: 'Submit',\n reset: 'Reset',\n formActionsSection: 'Form Actions',\n formActionsShowSubmit: 'Show submit button',\n formActionsShowReset: 'Show reset button',\n formActionsShowCancel: 'Show cancel button',\n formActionsSubmitText: 'Submit label',\n formActionsResetText: 'Reset label',\n formActionsCancelText: 'Cancel label',\n formActionsSubmitTextHint: 'Default: Submit',\n formActionsResetTextHint: 'Default: Reset',\n formActionsCancelTextHint: 'Default: Cancel',\n formActionsAlign: 'Button alignment',\n formActionsAlignCenter: 'Center',\n formActionsAlignStart: 'Left',\n formActionsAlignEnd: 'Right',\n formActionsGap: 'Button gap',\n formActionsGapHint: 'Default: 16',\n formActionsLayoutSection: 'Layout',\n fieldBasicSection: 'Basic Settings',\n optionLabelPlaceholder: 'Display text',\n optionValuePlaceholder: 'Value',\n optionDescPlaceholder: 'Description (optional)',\n addOption: 'Add Option',\n builtinDataHint: 'This type comes with built-in data, no manual options needed',\n optionsEditorHint: 'Enter at least the display text and value',\n optionsTreeEditorHint: 'Use “Add Child” for nested options; the left line shows hierarchy',\n addChildOption: 'Add Child',\n fieldColumns: 'Table Columns',\n columnTitlePlaceholder: 'Column title, e.g. Name',\n columnNamePlaceholder: 'Auto-generated, editable',\n columnWidthPlaceholder: 'Width (optional)',\n addColumn: 'Add Column',\n columnsEditorHint: 'Title is shown in the header; data key is auto-generated and editable',\n fieldTableRows: 'Table Rows',\n tableRowsNeedColumnsHint: 'Fill in each column’s data key above before configuring rows',\n tableRowTitle: 'Row {index}',\n tableRowLabelPlaceholder: 'Text shown after selection',\n addTableRow: 'Add Row',\n tableRowsEditorHint: '“Value” is what gets saved; other fields appear as table columns',\n superSelectPropsSection: 'Selection Settings',\n superSelectSingle: 'Single select only',\n superSelectIsPopup: 'Open as dropdown (off = modal)',\n superSelectAllowClear: 'Allow clearing selection',\n superSelectAllowSelectedAll: 'Show select all',\n superSelectOnlyLastLevel: 'Only allow selecting leaf nodes',\n superSelectMaxLength: 'Max selections',\n superSelectMaxLengthPlaceholder: 'Leave empty for unlimited',\n superSelectPlaceholderHint: 'e.g. Please select',\n superSelectSearchPlaceholder: 'Search hint',\n superSelectSearchPlaceholderHint: 'e.g. Search...',\n fieldPropsSection: 'Field Settings',\n fieldPlaceholderHint: 'e.g. Please enter / Please select',\n propAllowClear: 'Allow clear',\n propMaxLength: 'Max characters',\n propOptionalNumber: 'Leave empty for no limit',\n propRows: 'Visible rows',\n propShowCount: 'Show character count',\n propMin: 'Minimum',\n propMax: 'Maximum',\n propStep: 'Step',\n propPrecision: 'Decimal places',\n propSelectMode: 'Selection mode',\n propSelectModeSingle: 'Single',\n propSelectModeMultiple: 'Multiple',\n propDateRange: 'Date range (start – end)',\n propDatePickerType: 'Picker type',\n propDatePickerDate: 'Date',\n propDatePickerWeek: 'Week',\n propDatePickerMonth: 'Month',\n propDatePickerQuarter: 'Quarter',\n propDatePickerYear: 'Year',\n propDateFormat: 'Display format',\n propShowTime: 'Include time',\n propSwitchOnText: 'Text when on',\n propSwitchOffText: 'Text when off',\n propSwitchOnTextHint: 'e.g. On',\n propSwitchOffTextHint: 'e.g. Off',\n ruleLen: 'Length Limit',\n ruleLenRange: 'Length Range',\n ruleLenMin: 'Min',\n ruleLenMax: 'Max',\n ruleEditorHint: 'Check the validation rules you need; you can select multiple',\n formSettingsTitle: 'Form Settings',\n formTitlePlaceholder: 'Form title (optional)',\n formSubtitlePlaceholder: 'Form subtitle (optional)',\n formColumnPlaceholder: 'Columns per row',\n schemaContentEmpty: 'No data',\n schemaContentEmptyValue: '-',\n schemaContentYes: 'Yes',\n schemaContentNo: 'No',\n schemaContentItemIndex: 'Item {index}',\n schemaContentUntilToday: 'Present',\n schemaContentPasswordMasked: '••••••'\n};\n\nexport default locale;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCN,\n 'en-US': enUS\n },\n namespace: 'form-creator'\n});\n\nexport default withLocale;\n","export const createFieldId = () => `field_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;\n\n/** 生成可编辑的默认数据标识,如 field_xxxx / col_xxxx */\nexport const createDataKey = (prefix = 'field') => `${prefix}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 6)}`;\n\nexport const isAutoDataKey = (value, prefix = 'field') => new RegExp(`^${prefix}_[a-z0-9]+_[a-z0-9]+$`, 'i').test(String(value || '').trim());\n\nexport const MAX_BLOCK_DEPTH = 14;\n\nexport const createEmptyColumn = () => ({\n title: '',\n name: createDataKey('col'),\n width: undefined\n});\n\nexport const defaultSchema = () => ({\n title: '',\n subtitle: '',\n column: 2,\n gap: 24,\n blocks: [],\n actions: defaultFormActions()\n});\n\n/** 表单底部提交 / 重置 / 取消按钮(写入 Schema,SchemaRenderer 识别) */\nexport const defaultFormActions = () => ({\n showSubmit: true,\n showReset: true,\n showCancel: false,\n submitText: '',\n resetText: '',\n cancelText: '',\n align: 'center',\n gap: 16\n});\n\nconst FORM_ACTIONS_ALIGN = ['center', 'start', 'end'];\n\nexport const normalizeFormActions = (actions = {}) => {\n const base = defaultFormActions();\n if (!actions || typeof actions !== 'object') {\n return base;\n }\n const align = FORM_ACTIONS_ALIGN.includes(actions.align) ? actions.align : base.align;\n const gapValue = actions.gap != null && actions.gap !== '' ? Number(actions.gap) : base.gap;\n const gap = Number.isFinite(gapValue) && gapValue >= 0 ? gapValue : base.gap;\n return {\n showSubmit: actions.showSubmit !== false,\n showReset: actions.showReset !== false,\n showCancel: !!actions.showCancel,\n submitText: actions.submitText != null ? String(actions.submitText) : '',\n resetText: actions.resetText != null ? String(actions.resetText) : '',\n cancelText: actions.cancelText != null ? String(actions.cancelText) : '',\n align,\n gap,\n ...(actions.submitButtonProps && typeof actions.submitButtonProps === 'object' ? { submitButtonProps: { ...actions.submitButtonProps } } : {}),\n ...(actions.resetButtonProps && typeof actions.resetButtonProps === 'object' ? { resetButtonProps: { ...actions.resetButtonProps } } : {}),\n ...(actions.cancelButtonProps && typeof actions.cancelButtonProps === 'object' ? { cancelButtonProps: { ...actions.cancelButtonProps } } : {})\n };\n};\n\nexport const createField = (overrides = {}) => ({\n id: createFieldId(),\n type: 'Input',\n name: createDataKey('field'),\n label: '',\n tips: '',\n description: '',\n rule: '',\n block: false,\n hidden: false,\n props: {},\n ...overrides\n});\n\nexport const createChoiceOption = (overrides = {}) => ({\n id: createFieldId(),\n title: '',\n list: [],\n blocks: [],\n ...overrides\n});\n\nexport const createBlock = (kind, overrides = {}) => {\n const needsName = ['list', 'tableList', 'multiField', 'object'].includes(kind);\n const base = {\n id: createFieldId(),\n kind,\n title: '',\n subtitle: '',\n column: 2,\n gap: 24,\n bordered: false,\n important: false,\n name: needsName ? createDataKey(kind === 'object' ? 'obj' : 'block') : '',\n label: '',\n addText: '',\n maxLength: undefined,\n minLength: undefined,\n fieldType: 'Input',\n autoStep: true,\n mode: 'single',\n selectorName: '',\n selectorInData: true,\n discriminator: undefined,\n list: [],\n items: [],\n itemBlocks: [],\n blocks: [],\n options: []\n };\n\n if (kind === 'steps') {\n return {\n ...base,\n list: undefined,\n itemBlocks: undefined,\n blocks: undefined,\n options: undefined,\n items: [createStep()],\n ...overrides\n };\n }\n\n if (kind === 'multiField') {\n return {\n ...base,\n list: undefined,\n itemBlocks: undefined,\n blocks: undefined,\n options: undefined,\n items: undefined,\n ...overrides\n };\n }\n\n if (kind === 'choice') {\n const next = {\n ...base,\n list: undefined,\n itemBlocks: undefined,\n blocks: undefined,\n items: undefined,\n name: '',\n options: [createChoiceOption({ title: '选项1' })],\n ...overrides,\n kind: 'choice'\n };\n next.mode = next.mode === 'multiple' ? 'multiple' : 'single';\n if (!Array.isArray(next.options)) {\n next.options = [createChoiceOption({ title: '选项1' })];\n }\n return next;\n }\n\n if (kind === 'object') {\n return {\n ...base,\n items: undefined,\n options: undefined,\n itemBlocks: undefined,\n ...overrides\n };\n }\n\n if (kind === 'list') {\n return {\n ...base,\n blocks: undefined,\n ...overrides\n };\n }\n\n if (kind === 'tableList') {\n return {\n ...base,\n blocks: undefined,\n itemBlocks: undefined,\n ...overrides\n };\n }\n\n // formInfo:支持 blocks 子模块\n return { ...base, itemBlocks: undefined, ...overrides };\n};\n\nexport const createStep = (overrides = {}) => ({\n id: createFieldId(),\n title: '',\n column: 2,\n list: [],\n blocks: [],\n ...overrides\n});\n\nconst normalizeSelectCount = (value, minAllowed = 0) => {\n if (value == null || value === '') {\n return undefined;\n }\n const num = Number(value);\n if (!Number.isFinite(num)) {\n return undefined;\n }\n const int = Math.floor(num);\n if (int < minAllowed) {\n return undefined;\n }\n return int;\n};\n\nconst normalizeField = field => ({\n ...createField(),\n ...field,\n props: { ...(field.props || {}) }\n});\n\nconst normalizeStep = (step, depth = 0) => ({\n ...createStep(),\n ...step,\n list: Array.isArray(step.list) ? step.list.map(normalizeField) : [],\n blocks: Array.isArray(step.blocks) ? step.blocks.map(child => normalizeBlock(child, depth + 1)) : []\n});\n\nconst normalizeChoiceOption = (option, depth) => {\n let list = Array.isArray(option.list) ? option.list.map(normalizeField) : [];\n let blocks = Array.isArray(option.blocks) ? option.blocks.map(block => normalizeBlock(block, depth + 1)) : [];\n\n // 兼容仅写 blocks: [formInfo] 的写法:把首个 formInfo 的字段提升到 option.list,便于编辑器管理\n if (!list.length && blocks[0]?.kind === 'formInfo' && (blocks[0].list || []).length) {\n list = (blocks[0].list || []).map(normalizeField);\n blocks = blocks.slice(1);\n }\n\n return {\n ...createChoiceOption(),\n ...option,\n list,\n blocks\n };\n};\n\nexport const normalizeBlock = (block, depth = 0) => {\n const kind = block.kind || 'formInfo';\n if (depth > MAX_BLOCK_DEPTH) {\n return {\n ...createBlock(kind),\n ...block,\n list: Array.isArray(block.list) ? block.list.map(normalizeField) : [],\n itemBlocks: [],\n options: [],\n items: kind === 'steps' ? [createStep()] : undefined\n };\n }\n\n const normalized = {\n ...createBlock(kind),\n ...block\n };\n\n if (kind === 'steps') {\n normalized.items = Array.isArray(block.items) ? block.items.map(step => normalizeStep(step, depth)) : [createStep()];\n delete normalized.list;\n delete normalized.itemBlocks;\n delete normalized.blocks;\n delete normalized.options;\n return normalized;\n }\n\n if (kind === 'multiField') {\n normalized.list = undefined;\n normalized.items = undefined;\n normalized.itemBlocks = undefined;\n normalized.blocks = undefined;\n normalized.options = undefined;\n return normalized;\n }\n\n if (kind === 'choice') {\n normalized.mode = block.mode === 'multiple' ? 'multiple' : 'single';\n normalized.selectorName = block.selectorName != null ? String(block.selectorName) : '';\n normalized.selectorInData = block.selectorInData !== false;\n normalized.discriminator = block.discriminator && typeof block.discriminator === 'object' ? { ...block.discriminator } : undefined;\n normalized.options = Array.isArray(block.options) ? block.options.map(option => normalizeChoiceOption(option, depth)) : [];\n normalized.list = undefined;\n normalized.items = undefined;\n normalized.itemBlocks = undefined;\n normalized.blocks = undefined;\n if (normalized.mode === 'multiple') {\n const minSelect = normalizeSelectCount(block.minLength, 0);\n const maxSelect = normalizeSelectCount(block.maxLength, 1);\n normalized.minLength = minSelect;\n normalized.maxLength = maxSelect != null && minSelect != null && maxSelect < minSelect ? minSelect : maxSelect;\n } else {\n normalized.minLength = undefined;\n normalized.maxLength = undefined;\n }\n return normalized;\n }\n\n if (kind === 'object') {\n normalized.list = Array.isArray(block.list) ? block.list.map(normalizeField) : [];\n normalized.items = undefined;\n normalized.itemBlocks = undefined;\n normalized.options = undefined;\n normalized.blocks = Array.isArray(block.blocks) ? block.blocks.map(child => normalizeBlock(child, depth + 1)) : [];\n return normalized;\n }\n\n normalized.list = Array.isArray(block.list) ? block.list.map(normalizeField) : [];\n normalized.items = undefined;\n normalized.options = undefined;\n if (kind === 'list') {\n normalized.itemBlocks = Array.isArray(block.itemBlocks) ? block.itemBlocks.map(child => normalizeBlock(child, depth + 1)) : [];\n normalized.blocks = undefined;\n } else if (kind === 'tableList') {\n normalized.itemBlocks = undefined;\n normalized.blocks = undefined;\n } else {\n // formInfo\n normalized.itemBlocks = undefined;\n normalized.blocks = Array.isArray(block.blocks) ? block.blocks.map(child => normalizeBlock(child, depth + 1)) : [];\n }\n return normalized;\n};\n\nexport const normalizeSchema = (schema = {}) => {\n const base = defaultSchema();\n\n if (Array.isArray(schema.blocks)) {\n return {\n ...base,\n ...schema,\n actions: normalizeFormActions(schema.actions),\n blocks: schema.blocks.map(block => normalizeBlock(block))\n };\n }\n\n if (Array.isArray(schema.list) && schema.list.length) {\n return {\n ...base,\n ...schema,\n actions: normalizeFormActions(schema.actions),\n blocks: [\n normalizeBlock({\n kind: 'formInfo',\n title: schema.title,\n subtitle: schema.subtitle,\n column: schema.column,\n gap: schema.gap,\n list: schema.list\n })\n ]\n };\n }\n\n return {\n ...base,\n ...schema,\n actions: normalizeFormActions(schema.actions),\n blocks: []\n };\n};\n\nexport const moveItem = (list, id, direction) => {\n const index = list.findIndex(item => item.id === id);\n if (index < 0) {\n return list;\n }\n const targetIndex = direction === 'up' ? index - 1 : index + 1;\n if (targetIndex < 0 || targetIndex >= list.length) {\n return list;\n }\n const next = [...list];\n const [item] = next.splice(index, 1);\n next.splice(targetIndex, 0, item);\n return next;\n};\n\nexport const isFieldNameUnique = (fields, name, excludeId) => {\n if (!name) {\n return false;\n }\n return !fields.some(item => item.name === name && item.id !== excludeId);\n};\n\nconst collectFieldsFromBlocks = (blocks = [], acc = []) => {\n blocks.forEach(block => {\n if (!block) {\n return;\n }\n if (block.kind === 'steps') {\n (block.items || []).forEach(step => {\n acc.push(...(step.list || []));\n collectFieldsFromBlocks(step.blocks || [], acc);\n });\n return;\n }\n if (block.kind === 'choice') {\n (block.options || []).forEach(option => {\n acc.push(...(option.list || []));\n collectFieldsFromBlocks(option.blocks || [], acc);\n });\n return;\n }\n if (block.kind !== 'multiField' && Array.isArray(block.list)) {\n acc.push(...block.list);\n }\n if (Array.isArray(block.itemBlocks)) {\n collectFieldsFromBlocks(block.itemBlocks, acc);\n }\n if (Array.isArray(block.blocks)) {\n collectFieldsFromBlocks(block.blocks, acc);\n }\n });\n return acc;\n};\n\nexport const collectSchemaFields = (schema, { blockId, stepId, optionId } = {}) => {\n const blocks = schema.blocks || [];\n\n if (!blockId) {\n return collectFieldsFromBlocks(blocks);\n }\n\n const block = findBlockInTree(blocks, blockId);\n if (!block) {\n return [];\n }\n\n const fields = [];\n if (block.kind === 'steps') {\n (block.items || []).forEach(step => {\n if (stepId !== undefined && step.id !== stepId) {\n return;\n }\n fields.push(...(step.list || []));\n });\n return fields;\n }\n if (block.kind === 'choice') {\n (block.options || []).forEach(option => {\n if (optionId !== undefined && option.id !== optionId) {\n return;\n }\n fields.push(...(option.list || []));\n collectFieldsFromBlocks(option.blocks || [], fields);\n });\n return fields;\n }\n if (block.kind !== 'multiField') {\n fields.push(...(block.list || []));\n }\n return fields;\n};\n\n/** 收集 blocks 树中所有字段 name(含 object 前缀后的完整名需在渲染层处理) */\nexport const collectBlockFieldNames = (blocks = [], { objectNamePrefix = '' } = {}) => {\n const names = [];\n const walk = (list, prefix) => {\n (list || []).forEach(block => {\n if (!block) {\n return;\n }\n if (block.kind === 'object') {\n const nextPrefix = [prefix, block.name].filter(Boolean).join('.');\n (block.list || []).forEach(field => {\n if (field?.name) {\n names.push(nextPrefix ? `${nextPrefix}.${field.name}` : field.name);\n }\n });\n walk(block.blocks || [], nextPrefix);\n return;\n }\n if (block.kind === 'choice') {\n (block.options || []).forEach(option => {\n (option.list || []).forEach(field => {\n if (field?.name) {\n names.push(prefix ? `${prefix}.${field.name}` : field.name);\n }\n });\n walk(option.blocks || [], prefix);\n });\n return;\n }\n if (block.kind === 'steps') {\n (block.items || []).forEach(step => {\n (step.list || []).forEach(field => {\n if (field?.name) {\n names.push(prefix ? `${prefix}.${field.name}` : field.name);\n }\n });\n walk(step.blocks || [], prefix);\n });\n return;\n }\n if (block.kind !== 'multiField') {\n (block.list || []).forEach(field => {\n if (field?.name) {\n names.push(prefix ? `${prefix}.${field.name}` : field.name);\n }\n });\n }\n if (block.kind === 'list') {\n // 列表项内字段相对 GroupList,此处只收集定义名供 choice 清理参考\n walk(block.itemBlocks || [], prefix);\n }\n if (Array.isArray(block.blocks)) {\n walk(block.blocks, prefix);\n }\n });\n };\n walk(blocks, objectNamePrefix);\n return names;\n};\n\nexport const updateBlocks = (schema, updater) => ({\n ...schema,\n blocks: updater(schema.blocks || [])\n});\n\n/** 在 blocks / itemBlocks / choice.options.blocks / steps.items.blocks 树中查找模块 */\nexport const findBlockInTree = (blocks = [], blockId) => {\n for (const block of blocks) {\n if (!block) {\n continue;\n }\n if (block.id === blockId) {\n return block;\n }\n if (Array.isArray(block.itemBlocks)) {\n const found = findBlockInTree(block.itemBlocks, blockId);\n if (found) {\n return found;\n }\n }\n if (Array.isArray(block.blocks)) {\n const found = findBlockInTree(block.blocks, blockId);\n if (found) {\n return found;\n }\n }\n if (block.kind === 'choice') {\n for (const option of block.options || []) {\n const found = findBlockInTree(option.blocks || [], blockId);\n if (found) {\n return found;\n }\n }\n }\n if (block.kind === 'steps') {\n for (const step of block.items || []) {\n const found = findBlockInTree(step.blocks || [], blockId);\n if (found) {\n return found;\n }\n }\n }\n }\n return null;\n};\n\nexport const findBlock = (schema, blockId) => findBlockInTree(schema.blocks || [], blockId);\n\n/** 对模块上挂载的子模块列表(itemBlocks / blocks / option.blocks / step.blocks)应用同一变换 */\nconst mapChildBlockLists = (block, mapList) => {\n let nextBlock = block;\n let changed = false;\n\n if (Array.isArray(block.itemBlocks)) {\n const itemBlocks = mapList(block.itemBlocks);\n if (itemBlocks !== block.itemBlocks) {\n nextBlock = { ...nextBlock, itemBlocks };\n changed = true;\n }\n }\n\n if (Array.isArray(block.blocks)) {\n const childBlocks = mapList(block.blocks);\n if (childBlocks !== block.blocks) {\n nextBlock = { ...nextBlock, blocks: childBlocks };\n changed = true;\n }\n }\n\n if (block.kind === 'choice' && Array.isArray(block.options)) {\n let optionsChanged = false;\n const options = block.options.map(option => {\n if (!Array.isArray(option.blocks)) {\n return option;\n }\n const optionBlocks = mapList(option.blocks);\n if (optionBlocks !== option.blocks) {\n optionsChanged = true;\n return { ...option, blocks: optionBlocks };\n }\n return option;\n });\n if (optionsChanged) {\n nextBlock = { ...nextBlock, options };\n changed = true;\n }\n }\n\n if (block.kind === 'steps' && Array.isArray(block.items)) {\n let itemsChanged = false;\n const items = block.items.map(step => {\n if (!Array.isArray(step.blocks)) {\n return step;\n }\n const stepBlocks = mapList(step.blocks);\n if (stepBlocks !== step.blocks) {\n itemsChanged = true;\n return { ...step, blocks: stepBlocks };\n }\n return step;\n });\n if (itemsChanged) {\n nextBlock = { ...nextBlock, items };\n changed = true;\n }\n }\n\n return { nextBlock, changed };\n};\n\nconst mapBlocksInTree = (blocks, blockId, updater) => {\n let changed = false;\n const next = (blocks || []).map(block => {\n if (!block) {\n return block;\n }\n if (block.id === blockId) {\n changed = true;\n return updater(block);\n }\n const { nextBlock, changed: childChanged } = mapChildBlockLists(block, list => mapBlocksInTree(list, blockId, updater));\n if (childChanged) {\n changed = true;\n }\n return nextBlock;\n });\n return changed ? next : blocks;\n};\n\nexport const mapBlocks = (schema, blockId, updater) => updateBlocks(schema, blocks => mapBlocksInTree(blocks, blockId, updater));\n\nexport const removeBlockInTree = (blocks, blockId) => {\n let changed = false;\n const filtered = (blocks || []).filter(block => {\n if (block?.id === blockId) {\n changed = true;\n return false;\n }\n return true;\n });\n const next = filtered.map(block => {\n const { nextBlock, changed: childChanged } = mapChildBlockLists(block, list => removeBlockInTree(list, blockId));\n if (childChanged) {\n changed = true;\n }\n return nextBlock;\n });\n return changed ? next : blocks;\n};\n\nexport const moveBlockInTree = (blocks, blockId, direction) => {\n if ((blocks || []).some(block => block?.id === blockId)) {\n return moveItem(blocks, blockId, direction);\n }\n let changed = false;\n const next = (blocks || []).map(block => {\n const { nextBlock, changed: childChanged } = mapChildBlockLists(block, list => moveBlockInTree(list, blockId, direction));\n if (childChanged) {\n changed = true;\n }\n return nextBlock;\n });\n return changed ? next : blocks;\n};\n\nconst blockHasContent = block => {\n if (!block) {\n return false;\n }\n if (block.kind === 'steps') {\n return (block.items || []).some(step => (step.list || []).length > 0 || (step.blocks || []).some(blockHasContent) || step.title);\n }\n if (block.kind === 'multiField') {\n return !!block.name;\n }\n if (block.kind === 'choice') {\n return (block.options || []).some(option => (option.list || []).length > 0 || (option.blocks || []).some(blockHasContent) || option.title);\n }\n if (block.kind === 'object') {\n return !!(block.name && ((block.list || []).length > 0 || (block.blocks || []).some(blockHasContent) || block.title));\n }\n if ((block.list || []).length > 0 || block.title || (block.blocks || []).some(blockHasContent)) {\n return true;\n }\n return (block.itemBlocks || []).some(blockHasContent);\n};\n\nexport const hasRenderableContent = schema => {\n const blocks = schema.blocks || [];\n return blocks.some(blockHasContent);\n};\n","export const BLOCK_KINDS = {\n formInfo: {\n label: '基础表单',\n color: 'blue',\n hasFieldList: true,\n description: '最常用的表单模块,可设置标题、列数和间距'\n },\n list: {\n label: '可增减列表',\n color: 'cyan',\n hasFieldList: true,\n requiresName: true,\n description: '用户可以动态添加或删除多条记录,例如工作经历'\n },\n tableList: {\n label: '表格列表',\n color: 'geekblue',\n hasFieldList: true,\n requiresName: true,\n description: '以表格形式展示的可增减列表'\n },\n multiField: {\n label: '同类多值',\n color: 'purple',\n requiresName: true,\n description: '同一种填写项可以输入多个值,例如多个手机号'\n },\n object: {\n label: '分组信息',\n color: 'orange',\n hasFieldList: true,\n requiresName: true,\n description: '把相关的填写项放在一起,例如「在校时间」下的开始与结束'\n },\n choice: {\n label: '选项切换',\n color: 'magenta',\n hasChoiceOptions: true,\n description: '先选一类情况,再填写对应内容;可设为单选或多选'\n },\n steps: {\n label: '分步表单',\n color: 'gold',\n hasSteps: true,\n description: '将表单拆分成多个步骤,引导用户逐步填写'\n }\n};\n\nexport const getBlockKindOptions = () =>\n Object.entries(BLOCK_KINDS).map(([value, config]) => ({\n label: config.label,\n value\n }));\n\nexport const getBlockDefinition = kind => BLOCK_KINDS[kind];\n\nexport const blockToFormValues = block => ({\n kind: block.kind,\n title: block.title || '',\n subtitle: block.subtitle || '',\n column: block.column ?? 2,\n gap: block.gap ?? 24,\n bordered: !!block.bordered,\n important: !!block.important,\n name: block.name || '',\n label: block.label || '',\n addText: block.addText || '',\n maxLength: block.maxLength ?? null,\n minLength: block.minLength ?? null,\n fieldType: block.fieldType || 'Input',\n autoStep: block.autoStep !== false,\n mode: block.mode === 'multiple' ? 'multiple' : 'single',\n selectorName: block.selectorName || '',\n selectorInData: block.selectorInData !== false\n});\n\nexport const formValuesToBlock = (values, existingBlock = {}) => {\n const kind = values.kind || existingBlock.kind;\n const mode = values.mode === 'multiple' ? 'multiple' : 'single';\n const next = {\n ...existingBlock,\n kind,\n title: values.title,\n subtitle: values.subtitle,\n column: values.column ?? 2,\n gap: values.gap ?? 24,\n bordered: !!values.bordered,\n important: !!values.important,\n name: values.name,\n label: values.label,\n addText: values.addText || undefined,\n maxLength: values.maxLength ?? undefined,\n minLength: values.minLength ?? undefined,\n fieldType: values.fieldType || 'Input',\n autoStep: values.autoStep !== false,\n mode,\n selectorName: values.selectorName || '',\n selectorInData: values.selectorInData !== false\n };\n\n if (kind === 'choice' && mode !== 'multiple') {\n next.minLength = undefined;\n next.maxLength = undefined;\n }\n\n return next;\n};\n\nexport const stepToFormValues = step => ({\n title: step.title || '',\n column: step.column ?? 2\n});\n\nexport const formValuesToStep = (values, existingStep = {}) => ({\n ...existingStep,\n title: values.title,\n column: values.column ?? 2\n});\n\nexport const choiceOptionToFormValues = option => ({\n title: option.title || ''\n});\n\nexport const formValuesToChoiceOption = (values, existingOption = {}) => ({\n ...existingOption,\n title: values.title\n});\n","export const mapOptionItem = item => {\n if (!item || typeof item !== 'object') {\n return item;\n }\n const { children, ...rest } = item;\n const next = { ...rest };\n if (Array.isArray(children) && children.length) {\n next.children = children.map(mapOptionItem);\n }\n return next;\n};\n\n/**\n * 搭建器选项是 { label, value, children };SelectCascader 默认 valueKey='id'、示例用 id/name。\n * 补齐两边的 key,避免 mapping 全部落到 undefined 导致下拉空白。\n */\nexport const alignOptionKeys = (options = [], { valueKey = 'value', labelKey = 'label' } = {}) => {\n if (!Array.isArray(options)) {\n return options;\n }\n return options.map(item => {\n if (!item || typeof item !== 'object') {\n return item;\n }\n const rawValue = item[valueKey] ?? item.value ?? item.id ?? item.code;\n const rawLabel = item[labelKey] ?? item.label ?? item.name;\n const next = { ...item };\n if (rawValue != null && next[valueKey] == null) {\n next[valueKey] = rawValue;\n }\n if (rawLabel != null && (next[labelKey] == null || next[labelKey] === '')) {\n next[labelKey] = rawLabel;\n }\n if (next.id == null && rawValue != null) {\n next.id = rawValue;\n }\n if ((next.name == null || next.name === '') && rawLabel != null) {\n next.name = rawLabel;\n }\n if (Array.isArray(next.children) && next.children.length) {\n next.children = alignOptionKeys(next.children, { valueKey, labelKey });\n }\n return next;\n });\n};\n\n/**\n * SelectTree 按扁平 parentId 组树,会覆盖节点上已有的 children。\n * 搭建器存的是嵌套 children,交给 SelectTree 前先拍平。\n */\nexport const flattenTreeOptions = (options = [], { valueKey = 'value', parentKey = 'parentId', childrenKey = 'children', parentId } = {}) => {\n const result = [];\n (Array.isArray(options) ? options : []).forEach(item => {\n if (!item || typeof item !== 'object') {\n return;\n }\n const nested = item[childrenKey];\n const node = { ...item };\n delete node[childrenKey];\n if (parentId !== undefined) {\n node[parentKey] = parentId;\n }\n result.push(node);\n if (Array.isArray(nested) && nested.length) {\n result.push(\n ...flattenTreeOptions(nested, {\n valueKey,\n parentKey,\n childrenKey,\n parentId: node[valueKey]\n })\n );\n }\n });\n return result;\n};\n\nexport const createApiFromOptions = (options = []) => ({\n loader: () => ({\n pageData: options.map(mapOptionItem)\n })\n});\n","import { hooks } from '@kne/react-form-antd';\nimport SelectList, { SelectCascader, SelectTableList, SelectTree } from '@kne/super-select';\nimport { SelectFunction, SelectIndustry, SelectAddress } from '@kne/super-select-plus';\nimport '@kne/super-select/dist/index.css';\nimport '@kne/super-select-plus/dist/index.css';\nimport { alignOptionKeys, createApiFromOptions, flattenTreeOptions } from './optionsApi';\n\nconst { useOnChange } = hooks;\n\nconst hasNestedOptions = options => Array.isArray(options) && options.some(item => Array.isArray(item?.children) && item.children.length);\n\nconst createField = (Component, { preferOptions = false, flattenTree = false, placeholderPrefix = '请选择' } = {}) => {\n const Field = props => {\n const { options, api, placeholder, ...rest } = props;\n const valueKey = rest.valueKey || 'value';\n const labelKey = rest.labelKey || 'label';\n const parentKey = rest.parentKey || 'parentId';\n const flattened = flattenTree && Array.isArray(options) ? flattenTreeOptions(options, { valueKey, parentKey }) : options;\n const resolvedOptions = Array.isArray(flattened) ? alignOptionKeys(flattened, { valueKey, labelKey }) : flattened;\n const useOptionsDirectly = preferOptions || hasNestedOptions(resolvedOptions);\n const mergedApi = api || (!useOptionsDirectly && Array.isArray(resolvedOptions) && resolvedOptions.length ? createApiFromOptions(resolvedOptions) : undefined);\n const resolvedPlaceholder = placeholder != null && String(placeholder).trim() ? placeholder : `${placeholderPrefix}${props.label || ''}`;\n\n const render = useOnChange(\n Object.assign(\n {},\n {\n isPopup: true,\n placeholder: resolvedPlaceholder\n },\n rest,\n {\n valueKey,\n labelKey\n },\n useOptionsDirectly && Array.isArray(resolvedOptions) ? { options: resolvedOptions } : {},\n mergedApi ? { api: mergedApi } : {}\n )\n );\n return render(Component);\n };\n Field.field = Component;\n return Field;\n};\n\nexport const SuperSelectList = createField(SelectList);\nexport const SuperSelectTableList = createField(SelectTableList, { preferOptions: true });\nexport const SuperSelectTree = createField(SelectTree, { preferOptions: true, flattenTree: true });\nexport const SuperSelectCascader = createField(SelectCascader, { preferOptions: true });\n\nexport const SelectFunctionField = createField(SelectFunction);\nexport const SelectIndustryField = createField(SelectIndustry);\nexport const SelectAddressField = createField(SelectAddress);\n","export const RULE_PRESET_ITEMS = [\n { value: 'REQ', label: '必填' },\n { value: 'TEL', label: '手机号格式' },\n { value: 'EMAIL', label: '邮箱格式' }\n];\n\nexport const DEFAULT_RULE_CONFIG = () => ({\n presets: [],\n lenMin: '',\n lenMax: ''\n});\n\nexport const RULE_LEN_PRESET = 'LEN';\n\n/** 内部:注册填写项校验规则,会在规则勾选面板中展示(请通过 preset 注册) */\nexport const registerRulePreset = item => {\n if (!item?.value) {\n return;\n }\n const index = RULE_PRESET_ITEMS.findIndex(rule => rule.value === item.value);\n const next = {\n value: item.value,\n label: item.label || item.value\n };\n if (index >= 0) {\n RULE_PRESET_ITEMS[index] = next;\n } else {\n RULE_PRESET_ITEMS.push(next);\n }\n};\n\nexport const getRulePresetItems = () => RULE_PRESET_ITEMS.slice();\n\nexport const parseRuleString = rule => {\n const config = DEFAULT_RULE_CONFIG();\n if (!rule) {\n return config;\n }\n const tokens = String(rule).trim().split(/\\s+/).filter(Boolean);\n tokens.forEach(token => {\n if (RULE_PRESET_ITEMS.some(item => item.value === token)) {\n config.presets.push(token);\n return;\n }\n const lenMatch = token.match(/^LEN-(\\d+)-(\\d+)$/);\n if (lenMatch) {\n config.lenMin = lenMatch[1];\n config.lenMax = lenMatch[2];\n config.presets.push('LEN');\n }\n });\n return config;\n};\n\nexport const buildRuleString = ({ presets = [], lenMin, lenMax } = {}) => {\n const parts = [];\n RULE_PRESET_ITEMS.forEach(item => {\n if (presets.includes(item.value)) {\n parts.push(item.value);\n }\n });\n if (presets.includes('LEN') && lenMin !== '' && lenMax !== '') {\n parts.push(`LEN-${lenMin}-${lenMax}`);\n }\n return parts.join(' ') || undefined;\n};\n","import { Input, TextArea, Select, InputNumber, Switch, Checkbox, DatePicker, RadioGroup, CheckboxGroup } from '@kne/react-form-antd';\nimport { SuperSelectList, SuperSelectTableList, SuperSelectTree, SuperSelectCascader, SelectFunctionField, SelectIndustryField, SelectAddressField } from './fields/extendedFields';\nimport { buildRuleString, parseRuleString } from './rulePresets';\nimport { createEmptyColumn } from './schema';\n\nconst registry = new Map();\n\nconst defineField = (type, definition) => {\n registry.set(type, {\n type,\n ...definition\n });\n};\n\nconst FIELD_GROUPS = [\n {\n label: '基础字段',\n types: ['Input', 'TextArea', 'InputNumber', 'Switch', 'Checkbox', 'DatePicker']\n },\n {\n label: '选择字段',\n types: ['Select', 'RadioGroup', 'CheckboxGroup']\n },\n {\n label: '高级选择',\n types: ['SuperSelectList', 'SuperSelectTableList', 'SuperSelectTree', 'SuperSelectCascader']\n },\n {\n label: '业务选择',\n types: ['SelectFunction', 'SelectIndustry', 'SelectAddress']\n }\n];\n\nconst optionEnumValues = field => {\n const options = field?.props?.options;\n if (!Array.isArray(options) || !options.length) {\n return undefined;\n }\n const values = options.map(item => item?.value).filter(value => value !== undefined && value !== null && value !== '');\n return values.length ? values : undefined;\n};\n\nconst stringWithEnumSchema = field => {\n const schema = { type: 'string' };\n const enums = optionEnumValues(field);\n if (enums) {\n schema.enum = enums;\n }\n return schema;\n};\n\nconst optionValueSchema = { type: 'object', display: 'option' };\n\nconst superSelectValueSchema = field => {\n if (field?.props?.single) {\n return { ...optionValueSchema };\n }\n return { type: 'array', items: { ...optionValueSchema } };\n};\n\nconst PICKER_TO_FORMAT = {\n date: 'date',\n week: 'week',\n month: 'month',\n quarter: 'quarter',\n year: 'year'\n};\n\nconst datePickerValueSchema = field => {\n const picker = field?.props?.picker || 'date';\n const format = field?.props?.showTime ? 'date-time' : PICKER_TO_FORMAT[picker] || 'date';\n const item = { type: 'string', format };\n if (field?.props?.range) {\n return { type: 'array', items: item, minItems: 2, maxItems: 2 };\n }\n return item;\n};\n\ndefineField('Input', {\n label: '单行文本',\n group: '基础字段',\n component: Input,\n defaultProps: { allowClear: true },\n hasFieldProps: true,\n valueSchema: { type: 'string' }\n});\n\ndefineField('TextArea', {\n label: '多行文本',\n group: '基础字段',\n component: TextArea,\n defaultProps: { rows: 3 },\n defaults: { block: true },\n hasFieldProps: true,\n valueSchema: { type: 'string' }\n});\n\ndefineField('InputNumber', {\n label: '数字',\n group: '基础字段',\n component: InputNumber,\n defaultProps: {},\n hasFieldProps: true,\n valueSchema: { type: 'number' }\n});\n\ndefineField('Select', {\n label: '下拉选择',\n group: '选择字段',\n component: Select,\n defaultProps: { options: [], allowClear: true },\n hasOptions: true,\n hasFieldProps: true,\n valueSchema: stringWithEnumSchema\n});\n\ndefineField('RadioGroup', {\n label: '单选组',\n group: '选择字段',\n component: RadioGroup,\n defaultProps: { options: [] },\n hasOptions: true,\n valueSchema: stringWithEnumSchema\n});\n\ndefineField('CheckboxGroup', {\n label: '复选组',\n group: '选择字段',\n component: CheckboxGroup,\n defaultProps: { options: [] },\n hasOptions: true,\n valueSchema: field => {\n const items = { type: 'string' };\n const enums = optionEnumValues(field);\n if (enums) {\n items.enum = enums;\n }\n return { type: 'array', items };\n }\n});\n\ndefineField('SuperSelectList', {\n label: '普通下拉',\n group: 'SuperSelect',\n component: SuperSelectList,\n defaultProps: { options: [], isPopup: true, allowClear: true, labelKey: 'label', valueKey: 'value' },\n isSuperSelect: true,\n hasOptions: true,\n optionsAllowDescription: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SuperSelectTableList', {\n label: '表格选择',\n group: 'SuperSelect',\n component: SuperSelectTableList,\n defaultProps: {\n options: [],\n columns: [],\n isPopup: true,\n allowClear: true,\n labelKey: 'label',\n valueKey: 'value'\n },\n isSuperSelect: true,\n hasOptions: true,\n hasColumns: true,\n optionsAllowDescription: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SuperSelectTree', {\n label: '树形选择',\n group: 'SuperSelect',\n component: SuperSelectTree,\n defaultProps: { options: [], isPopup: true, allowClear: true, labelKey: 'label', valueKey: 'value' },\n isSuperSelect: true,\n hasOptions: true,\n optionsAllowChildren: true,\n optionsAllowDescription: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SuperSelectCascader', {\n label: '级联选择',\n group: 'SuperSelect',\n component: SuperSelectCascader,\n defaultProps: {\n options: [],\n isPopup: true,\n allowClear: true,\n labelKey: 'label',\n valueKey: 'value',\n onlyAllowLastLevel: false\n },\n isSuperSelect: true,\n hasOptions: true,\n hasOnlyLastLevel: true,\n optionsAllowChildren: true,\n optionsAllowDescription: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SelectFunction', {\n label: '职能选择',\n group: 'SuperSelectPlus',\n component: SelectFunctionField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SelectIndustry', {\n label: '行业选择',\n group: 'SuperSelectPlus',\n component: SelectIndustryField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SelectAddress', {\n label: '地址选择',\n group: 'SuperSelectPlus',\n component: SelectAddressField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('Switch', {\n label: '开关',\n group: '基础字段',\n component: Switch,\n defaultProps: {},\n hasFieldProps: true,\n valueSchema: { type: 'boolean' }\n});\n\ndefineField('Checkbox', {\n label: '复选框',\n group: '基础字段',\n component: Checkbox,\n defaultProps: { children: '' },\n valueSchema: { type: 'boolean' }\n});\n\ndefineField('DatePicker', {\n label: '日期',\n group: '基础字段',\n component: DatePicker,\n defaultProps: {\n format: 'YYYY-MM-DD',\n picker: 'date',\n allowClear: true,\n range: false,\n showTime: false\n },\n hasFieldProps: true,\n resolveComponent: props => (props?.range ? DatePicker.RangePicker || DatePicker : DatePicker),\n valueSchema: datePickerValueSchema\n});\n\n/**\n * 扩展字段额外参数声明(propsSchema 项):\n * - name: props 键名\n * - label: 编辑器展示名\n * - type: 'string' | 'number' | 'boolean' | 'select'\n * - placeholder?: string\n * - defaultValue?: any\n * - min / max?: number(type=number)\n * - options?: { label, value }[](type=select)\n *\n * preset({ type, definition }) 的 fields 项还可传:\n * - groupName?: string 自定义类型下拉分组名;不传则归入「扩展字段」\n * - valueSchema?: object | (field) => object 提交值的 JSON Schema 片段;缺省回退 { type: 'string' }\n * 可含 format(date/month/week/time/date-time/password/color/json)与 display(option/phone/file/typed-date-range/date-to-today/html/money),供 SchemaContent 预览\n * - formatDisplayValue?: (value, field, ctx) => string 覆盖 valueSchema 默认预览\n */\nexport const registerField = (type, definition) => {\n const propsSchema = Array.isArray(definition?.propsSchema) ? definition.propsSchema : undefined;\n const groupName = definition?.groupName != null && String(definition.groupName).trim() ? String(definition.groupName).trim() : undefined;\n defineField(type, {\n ...definition,\n propsSchema,\n groupName,\n hasFieldProps: definition.hasFieldProps ?? !!(propsSchema && propsSchema.length)\n });\n};\n\nexport const pickFromPropsSchema = (props = {}, propsSchema = [], defaultProps = {}) => {\n const next = {};\n propsSchema.forEach(item => {\n if (!item?.name) {\n return;\n }\n const key = item.name;\n const fallback = item.defaultValue !== undefined ? item.defaultValue : defaultProps[key];\n if (item.type === 'boolean') {\n next[key] = props[key] !== undefined ? !!props[key] : !!fallback;\n return;\n }\n if (item.type === 'number') {\n next[key] = props[key] != null && props[key] !== '' ? props[key] : (fallback ?? null);\n return;\n }\n if (item.type === 'select') {\n next[key] = props[key] !== undefined ? props[key] : fallback;\n return;\n }\n next[key] = props[key] != null ? props[key] : (fallback ?? '');\n });\n return next;\n};\n\nexport const applyFromPropsSchema = (props, values = {}, propsSchema = []) => {\n propsSchema.forEach(item => {\n if (!item?.name) {\n return;\n }\n const key = item.name;\n const value = values[key];\n if (item.type === 'boolean') {\n props[key] = !!value;\n return;\n }\n if (item.type === 'number') {\n setOptionalNumber(props, key, value);\n return;\n }\n if (item.type === 'select') {\n if (value !== undefined && value !== null && value !== '') {\n props[key] = value;\n } else if (item.defaultValue !== undefined) {\n props[key] = item.defaultValue;\n } else {\n delete props[key];\n }\n return;\n }\n setOptionalString(props, key, value);\n });\n};\n\nexport const getFieldDefinition = type => registry.get(type);\n\n/**\n * 解析字段提交值的 JSON Schema 片段。\n * 优先用 definition.valueSchema(对象或 (field)=>schema);缺省 { type: 'string' }。\n */\nexport const resolveFieldValueSchema = field => {\n if (!field || !field.type) {\n return { type: 'string' };\n }\n const definition = registry.get(field.type);\n const raw = definition?.valueSchema;\n let schema;\n if (typeof raw === 'function') {\n schema = raw(field);\n } else if (raw && typeof raw === 'object') {\n schema = { ...raw };\n } else {\n schema = { type: 'string' };\n }\n if (!schema || typeof schema !== 'object') {\n schema = { type: 'string' };\n } else {\n schema = { ...schema };\n }\n const title = field.label != null && String(field.label).trim() ? String(field.label).trim() : undefined;\n const description = field.description != null && String(field.description).trim() ? String(field.description).trim() : undefined;\n if (title && schema.title == null) {\n schema.title = title;\n }\n if (description && schema.description == null) {\n schema.description = description;\n }\n return schema;\n};\n\nexport const getFieldComponent = (type, field) => {\n const definition = registry.get(type);\n if (!definition) {\n return undefined;\n }\n if (typeof definition.resolveComponent === 'function') {\n return definition.resolveComponent(field?.props || {});\n }\n return definition.component;\n};\n\nexport const getFieldTypes = () => {\n const grouped = FIELD_GROUPS.map(group => ({\n label: group.label,\n options: group.types\n .map(type => registry.get(type))\n .filter(Boolean)\n .map(({ type, label }) => ({ label, value: type }))\n }));\n\n const builtinTypes = new Set(FIELD_GROUPS.flatMap(group => group.types));\n const registered = Array.from(registry.values()).filter(item => !builtinTypes.has(item.type));\n\n const customGroups = new Map();\n const fallback = [];\n\n registered.forEach(item => {\n const option = { label: item.label, value: item.type };\n const groupName = item.groupName != null && String(item.groupName).trim() ? String(item.groupName).trim() : '';\n if (!groupName) {\n fallback.push(option);\n return;\n }\n if (!customGroups.has(groupName)) {\n customGroups.set(groupName, []);\n }\n customGroups.get(groupName).push(option);\n });\n\n customGroups.forEach((options, label) => {\n grouped.push({ label, options });\n });\n if (fallback.length) {\n grouped.push({\n label: '扩展字段',\n options: fallback\n });\n }\n return grouped;\n};\n\nexport const normalizeOptions = (options, { allowChildren = false, columns = [] } = {}) => {\n if (!Array.isArray(options)) {\n return [];\n }\n const columnNames = (columns || []).map(item => item?.name).filter(Boolean);\n\n return options\n .map(item => {\n const next = {\n label: item?.label ?? '',\n value: item?.value ?? '',\n description: item?.description ?? ''\n };\n columnNames.forEach(name => {\n next[name] = item?.[name] ?? '';\n });\n if (!String(next.label).trim() && columnNames[0] && String(next[columnNames[0]] || '').trim()) {\n next.label = String(next[columnNames[0]]);\n }\n if (!String(next.value).trim() && String(next.label).trim()) {\n next.value = next.label;\n }\n if (allowChildren && Array.isArray(item?.children) && item.children.length) {\n next.children = normalizeOptions(item.children, { allowChildren: true, columns });\n }\n return next;\n })\n .filter(item => {\n if (item.label || item.value || (item.children && item.children.length)) {\n return true;\n }\n return columnNames.some(name => String(item[name] || '').trim());\n });\n};\n\nexport const normalizeColumns = columns => {\n if (!Array.isArray(columns)) {\n return [];\n }\n return columns\n .map((item, index) => {\n const title = item?.title ?? '';\n const name = String(item?.name || item?.dataIndex || item?.key || '').trim() || `col_${index + 1}`;\n const next = {\n title,\n name,\n key: name\n };\n if (item?.width != null && item.width !== '') {\n next.width = Number(item.width);\n }\n return next;\n })\n .filter(item => String(item.title || '').trim() || String(item.name || '').trim());\n};\n\nconst pickSuperSelectFormValues = (field, definition) => {\n const props = field.props || {};\n const columns = normalizeColumns(props.columns);\n return {\n single: !!props.single,\n isPopup: props.isPopup !== false,\n allowClear: props.allowClear !== false,\n allowSelectedAll: !!props.allowSelectedAll,\n onlyAllowLastLevel: !!props.onlyAllowLastLevel,\n maxLength: props.maxLength,\n placeholder: props.placeholder || '',\n searchPlaceholder: props.searchPlaceholder || '',\n columns: columns.length ? columns : [createEmptyColumn()]\n };\n};\n\nconst applySuperSelectProps = (props, values, definition) => {\n props.single = !!values.single;\n props.isPopup = values.isPopup !== false;\n props.allowClear = values.allowClear !== false;\n props.allowSelectedAll = !values.single && !!values.allowSelectedAll;\n\n if (!values.single && values.maxLength != null && values.maxLength !== '') {\n props.maxLength = Number(values.maxLength);\n } else {\n delete props.maxLength;\n }\n\n if (values.placeholder) {\n props.placeholder = values.placeholder;\n } else {\n delete props.placeholder;\n }\n\n if (values.searchPlaceholder) {\n props.searchPlaceholder = values.searchPlaceholder;\n } else {\n delete props.searchPlaceholder;\n }\n\n // labelKey / valueKey 固定用类型默认值,不开放给用户编辑\n if (!definition.hasBuiltinData) {\n props.labelKey = definition.defaultProps?.labelKey || 'label';\n props.valueKey = definition.defaultProps?.valueKey || 'value';\n }\n\n if (definition.hasOnlyLastLevel) {\n props.onlyAllowLastLevel = !!values.onlyAllowLastLevel;\n } else {\n delete props.onlyAllowLastLevel;\n }\n\n if (definition.hasColumns) {\n props.columns = normalizeColumns(values.columns);\n } else {\n delete props.columns;\n }\n};\n\nconst setOptionalNumber = (props, key, value) => {\n if (value != null && value !== '') {\n props[key] = Number(value);\n } else {\n delete props[key];\n }\n};\n\nconst setOptionalString = (props, key, value) => {\n if (value != null && String(value).trim()) {\n props[key] = value;\n } else {\n delete props[key];\n }\n};\n\nexport const pickFieldProps = (field, definition) => {\n const props = field.props || {};\n const type = definition?.type || field.type;\n switch (type) {\n case 'Input':\n return {\n placeholder: props.placeholder || '',\n allowClear: props.allowClear !== false,\n maxLength: props.maxLength\n };\n case 'TextArea':\n return {\n placeholder: props.placeholder || '',\n rows: props.rows ?? 3,\n maxLength: props.maxLength,\n showCount: !!props.showCount\n };\n case 'InputNumber':\n return {\n placeholder: props.placeholder || '',\n min: props.min,\n max: props.max,\n step: props.step,\n precision: props.precision\n };\n case 'Select':\n return {\n placeholder: props.placeholder || '',\n allowClear: props.allowClear !== false,\n mode: props.mode === 'multiple' || props.mode === 'tags' ? 'multiple' : 'single'\n };\n case 'DatePicker': {\n const raw = props.placeholder;\n const placeholder = Array.isArray(raw) ? raw[0] || '' : raw || '';\n return {\n placeholder,\n allowClear: props.allowClear !== false,\n format: props.format || 'YYYY-MM-DD',\n picker: props.picker || 'date',\n showTime: !!props.showTime,\n range: !!props.range\n };\n }\n case 'Switch':\n return {\n checkedChildren: props.checkedChildren || '',\n unCheckedChildren: props.unCheckedChildren || ''\n };\n default:\n if (definition?.propsSchema?.length) {\n return pickFromPropsSchema(props, definition.propsSchema, definition.defaultProps || {});\n }\n return {};\n }\n};\n\nconst applyFieldProps = (props, values, definition) => {\n const type = definition.type;\n switch (type) {\n case 'Input':\n setOptionalString(props, 'placeholder', values.placeholder);\n props.allowClear = values.allowClear !== false;\n setOptionalNumber(props, 'maxLength', values.maxLength);\n break;\n case 'TextArea':\n setOptionalString(props, 'placeholder', values.placeholder);\n props.rows = values.rows ?? 3;\n setOptionalNumber(props, 'maxLength', values.maxLength);\n if (values.showCount) {\n props.showCount = true;\n } else {\n delete props.showCount;\n }\n break;\n case 'InputNumber':\n setOptionalString(props, 'placeholder', values.placeholder);\n setOptionalNumber(props, 'min', values.min);\n setOptionalNumber(props, 'max', values.max);\n setOptionalNumber(props, 'step', values.step);\n setOptionalNumber(props, 'precision', values.precision);\n break;\n case 'Select':\n setOptionalString(props, 'placeholder', values.placeholder);\n props.allowClear = values.allowClear !== false;\n if (values.mode === 'multiple') {\n props.mode = 'multiple';\n } else {\n delete props.mode;\n }\n break;\n case 'DatePicker': {\n props.allowClear = values.allowClear !== false;\n props.picker = values.picker || 'date';\n props.format = values.format || 'YYYY-MM-DD';\n props.range = !!values.range;\n if (values.showTime && props.picker === 'date') {\n props.showTime = true;\n } else {\n delete props.showTime;\n }\n if (values.range) {\n // RangePicker 用数组 placeholder;单框用字符串\n const raw = values.placeholder;\n const text = (Array.isArray(raw) ? raw[0] : raw) || '请选择日期';\n props.placeholder = [text, text];\n } else {\n setOptionalString(props, 'placeholder', values.placeholder);\n }\n break;\n }\n case 'Switch':\n setOptionalString(props, 'checkedChildren', values.checkedChildren);\n setOptionalString(props, 'unCheckedChildren', values.unCheckedChildren);\n break;\n default:\n if (definition?.propsSchema?.length) {\n applyFromPropsSchema(props, values, definition.propsSchema);\n }\n break;\n }\n};\n\nexport const fieldToFormValues = field => {\n const definition = getFieldDefinition(field.type);\n const ruleConfig = parseRuleString(field.rule);\n const allowChildren = !!definition?.optionsAllowChildren;\n const columns = definition?.hasColumns ? normalizeColumns(field.props?.columns) : [];\n const options = normalizeOptions(field.props?.options, { allowChildren, columns });\n const rawPlaceholder = field.props?.placeholder;\n const placeholder = Array.isArray(rawPlaceholder) ? rawPlaceholder[0] || '' : rawPlaceholder || '';\n\n return {\n type: field.type,\n name: field.name,\n label: field.label,\n tips: field.tips || '',\n description: field.description || '',\n block: !!field.block,\n hidden: !!field.hidden,\n placeholder,\n options: options.length ? options : [{ label: '', value: '' }],\n ruleConfig,\n hasOptions: !!definition?.hasOptions,\n selectProps: definition?.isSuperSelect ? pickSuperSelectFormValues(field, definition) : undefined,\n fieldProps: definition?.hasFieldProps ? pickFieldProps(field, definition) : undefined\n };\n};\n\nexport const formValuesToField = (values, existingField = {}) => {\n const definition = getFieldDefinition(values.type) || getFieldDefinition('Input');\n // 不沿用旧类型残留 props,避免切换填写项类型后参数串味\n const props = { ...(definition.defaultProps || {}) };\n\n if (definition.isSuperSelect) {\n applySuperSelectProps(props, values.selectProps || values, definition);\n } else if (definition.hasFieldProps) {\n applyFieldProps(props, values.fieldProps || values, definition);\n } else if (values.placeholder) {\n props.placeholder = values.placeholder;\n } else {\n delete props.placeholder;\n }\n\n if (definition.hasOptions) {\n props.options = normalizeOptions(values.options, {\n allowChildren: !!definition.optionsAllowChildren,\n columns: definition.hasColumns ? props.columns || [] : []\n });\n } else {\n delete props.options;\n }\n\n if (values.type === 'Checkbox' && values.label) {\n props.children = values.label;\n }\n\n const rule = buildRuleString(values.ruleConfig);\n\n return {\n id: existingField.id,\n type: values.type,\n name: values.name,\n label: values.label,\n tips: values.tips != null && String(values.tips).trim() ? values.tips : '',\n description: values.description != null && String(values.description).trim() ? values.description : '',\n rule,\n block: values.block ?? definition.defaults?.block ?? false,\n hidden: !!values.hidden,\n props\n };\n};\n","import { Button, Space, Tag, Typography } from 'antd';\nimport { ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined } from '@ant-design/icons';\nimport { useIntl } from '@kne/react-intl';\nimport { getFieldDefinition } from './fieldRegistry';\nimport style from './style.module.scss';\n\nconst { Text } = Typography;\n\nconst TYPE_TAG_COLORS = {\n Input: 'blue',\n TextArea: 'blue',\n InputNumber: 'cyan',\n Select: 'geekblue',\n RadioGroup: 'purple',\n CheckboxGroup: 'purple',\n SuperSelectList: 'gold',\n SuperSelectTableList: 'gold',\n SuperSelectTree: 'gold',\n SuperSelectCascader: 'gold',\n SelectFunction: 'orange',\n SelectIndustry: 'orange',\n SelectAddress: 'orange',\n Switch: 'green',\n Checkbox: 'green',\n DatePicker: 'lime'\n};\n\nconst FieldRow = ({ field, index, total, onEdit, onDelete, onMove }) => {\n const { formatMessage } = useIntl();\n const definition = getFieldDefinition(field.type);\n\n return (\n <div className={style['field-row']}>\n <span className={style['field-row-index']}>{index + 1}</span>\n <div className={style['field-row-main']}>\n <Space size={6} wrap>\n <Text strong ellipsis>\n {field.label || formatMessage({ id: 'untitledField' })}\n </Text>\n <Tag bordered={false} color={TYPE_TAG_COLORS[field.type] || 'default'}>\n {definition?.label || field.type}\n </Tag>\n {field.hidden ? <Tag bordered={false}>{formatMessage({ id: 'fieldHiddenTag' })}</Tag> : null}\n {field.block ? (\n <Tag bordered={false} color=\"processing\">\n {formatMessage({ id: 'fieldBlockTag' })}\n </Tag>\n ) : null}\n </Space>\n </div>\n <div className={style['action-group']}>\n <Button type=\"text\" size=\"small\" className={style['action-btn']} title={formatMessage({ id: 'moveUp' })} icon={<ArrowUpOutlined />} disabled={index === 0} onClick={() => onMove(field.id, 'up')} />\n <Button type=\"text\" size=\"small\" className={style['action-btn']} title={formatMessage({ id: 'moveDown' })} icon={<ArrowDownOutlined />} disabled={index === total - 1} onClick={() => onMove(field.id, 'down')} />\n <Button type=\"text\" size=\"small\" className={style['action-btn']} title={formatMessage({ id: 'editField' })} icon={<EditOutlined />} onClick={() => onEdit(field)} />\n <Button type=\"text\" size=\"small\" danger className={style['action-btn']} title={formatMessage({ id: 'deleteField' })} icon={<DeleteOutlined />} onClick={() => onDelete(field.id)} />\n </div>\n </div>\n );\n};\n\nexport default FieldRow;\n","import { useRef, useState } from 'react';\nimport { Button, Dropdown, Empty, Flex, Space, Tag, Typography } from 'antd';\nimport {\n ArrowDownOutlined,\n ArrowUpOutlined,\n DeleteOutlined,\n EditOutlined,\n FormOutlined,\n UnorderedListOutlined,\n TableOutlined,\n AppstoreOutlined,\n OrderedListOutlined,\n PlusOutlined,\n SelectOutlined,\n SettingOutlined,\n ClusterOutlined,\n PartitionOutlined\n} from '@ant-design/icons';\nimport { useIntl } from '@kne/react-intl';\nimport { getBlockDefinition } from './blockRegistry';\nimport { MAX_BLOCK_DEPTH } from './schema';\nimport FieldRow from './FieldRow';\nimport style from './style.module.scss';\n\nconst { Text } = Typography;\n\nconst ActionGroup = ({ children }) => <div className={style['action-group']}>{children}</div>;\n\nconst IconBtn = ({ title, danger, ...props }) => <Button type=\"text\" size=\"small\" title={title} danger={danger} className={style['action-btn']} {...props} />;\n\nconst ROOT_ADD_OPTIONS = [\n { key: 'formInfo', icon: <FormOutlined /> },\n { key: 'list', icon: <UnorderedListOutlined /> },\n { key: 'tableList', icon: <TableOutlined /> },\n { key: 'object', icon: <ClusterOutlined /> },\n { key: 'choice', icon: <PartitionOutlined /> },\n { key: 'multiField', icon: <AppstoreOutlined /> },\n { key: 'steps', icon: <OrderedListOutlined /> }\n];\n\n/** 可挂子模块的容器;表格列表 / 同类多值本身不支持子模块 */\nconst NESTED_ADD_OPTIONS = ROOT_ADD_OPTIONS.filter(opt => opt.key !== 'steps');\n\nconst BlockListPanel = ({\n blocks,\n onAddBlock,\n onEditBlock,\n onDeleteBlock,\n onMoveBlock,\n onAddField,\n onEditField,\n onDeleteField,\n onMoveField,\n onAddStep,\n onEditStep,\n onDeleteStep,\n onMoveStep,\n onAddChoiceOption,\n onEditChoiceOption,\n onDeleteChoiceOption,\n onMoveChoiceOption,\n onOpenFormActions,\n extraToolbar\n}) => {\n const { formatMessage } = useIntl();\n const [addMenuOpen, setAddMenuOpen] = useState(false);\n const [addFieldMenuId, setAddFieldMenuId] = useState(null);\n const keepAddFieldMenuOpenRef = useRef(false);\n\n const renderAddBlockMenu = (options, { onSelect, className } = {}) => (\n <div className={className || style['add-block-dropdown']}>\n {options.map(opt => {\n const definition = getBlockDefinition(opt.key);\n return (\n <div\n key={opt.key}\n role=\"button\"\n tabIndex={0}\n className={style['add-block-option']}\n onClick={() => onSelect(opt.key)}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n onSelect(opt.key);\n }\n }}\n >\n <div className={style['add-block-option-icon']}>{opt.icon}</div>\n <div className={style['add-block-option-text']}>\n <div className={style['add-block-option-title']}>{formatMessage({ id: `blockKind_${opt.key}` })}</div>\n <div className={style['add-block-option-desc']}>{definition?.description}</div>\n </div>\n </div>\n );\n })}\n </div>\n );\n\n const renderAddFieldButton = ({ menuKey, depth, onAddFieldClick, onAddChildBlock }) => {\n const canAddChild = typeof onAddChildBlock === 'function' && depth < MAX_BLOCK_DEPTH;\n const menuOpen = addFieldMenuId === menuKey;\n const btnClass = `${style['add-inline-btn']} ${style['hover-reveal']} ${menuOpen ? style['hover-reveal-active'] : ''}`.trim();\n\n if (!canAddChild) {\n return (\n <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={btnClass} onClick={onAddFieldClick}>\n {formatMessage({ id: 'addField' })}\n </Button>\n );\n }\n\n return (\n <Dropdown\n open={menuOpen}\n onOpenChange={open => {\n if (open) {\n setAddFieldMenuId(menuKey);\n return;\n }\n // 已打开时再点触发器:antd 会 toggle 关闭,这里忽略,保持展开\n if (keepAddFieldMenuOpenRef.current) {\n keepAddFieldMenuOpenRef.current = false;\n return;\n }\n setAddFieldMenuId(null);\n }}\n trigger={['hover', 'click']}\n mouseEnterDelay={0.1}\n mouseLeaveDelay={0.15}\n getPopupContainer={trigger => trigger.parentElement || document.body}\n dropdownRender={() => (\n <div className={style['add-field-dropdown']}>\n <div\n role=\"button\"\n tabIndex={0}\n className={style['add-field-dropdown-item']}\n onClick={() => {\n onAddFieldClick();\n setAddFieldMenuId(null);\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n onAddFieldClick();\n setAddFieldMenuId(null);\n }\n }}\n >\n <span className={style['add-field-dropdown-item-icon']}>\n <SelectOutlined />\n </span>\n <span>{formatMessage({ id: 'addField' })}</span>\n </div>\n <div className={style['add-field-dropdown-divider']} />\n <div className={style['add-field-dropdown-label']}>{formatMessage({ id: 'addChildBlock' })}</div>\n {NESTED_ADD_OPTIONS.map(opt => {\n const definition = getBlockDefinition(opt.key);\n return (\n <div\n key={opt.key}\n role=\"button\"\n tabIndex={0}\n className={style['add-field-dropdown-item']}\n onClick={() => {\n onAddChildBlock(opt.key);\n setAddFieldMenuId(null);\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n onAddChildBlock(opt.key);\n setAddFieldMenuId(null);\n }\n }}\n >\n <span className={style['add-field-dropdown-item-icon']}>{opt.icon}</span>\n <span>{formatMessage({ id: `blockKind_${opt.key}` })}</span>\n {definition?.description ? <span className={style['add-field-dropdown-item-desc']}>{definition.description}</span> : null}\n </div>\n );\n })}\n </div>\n )}\n >\n <Button\n type=\"text\"\n size=\"small\"\n icon={<PlusOutlined />}\n className={btnClass}\n onMouseDown={() => {\n if (menuOpen) {\n keepAddFieldMenuOpenRef.current = true;\n }\n }}\n onClick={() => setAddFieldMenuId(menuKey)}\n >\n {formatMessage({ id: 'addField' })}\n </Button>\n </Dropdown>\n );\n };\n\n const renderFieldList = (fields, blockId, { stepId, optionId } = {}) => {\n if (!(fields || []).length) {\n return (\n <Text type=\"secondary\" className={style['inline-empty']}>\n {formatMessage({ id: 'emptyFieldList' })}\n </Text>\n );\n }\n\n return (\n <div className={style['field-list']}>\n {fields.map((field, fieldIndex) => (\n <FieldRow\n key={field.id}\n field={field}\n index={fieldIndex}\n total={fields.length}\n onEdit={fieldItem => onEditField(blockId, fieldItem, { stepId, optionId })}\n onDelete={fieldId => onDeleteField(blockId, fieldId, { stepId, optionId })}\n onMove={(fieldId, direction) => onMoveField(blockId, fieldId, direction, { stepId, optionId })}\n />\n ))}\n </div>\n );\n };\n\n const renderNestedBlocks = (childBlocks, depth) => {\n if (!(childBlocks || []).length) {\n return null;\n }\n return (\n <div className={style['item-blocks-section']}>\n <div className={style['nested-block-list']}>{childBlocks.map((child, childIndex) => renderBlockSection(child, childIndex, childBlocks.length, depth + 1))}</div>\n </div>\n );\n };\n\n const renderItemBlocks = (parentBlock, depth) => renderNestedBlocks(parentBlock.itemBlocks, depth);\n\n const renderBlockChildren = (block, depth) => {\n if (block.kind === 'steps') {\n return (\n <div className={style['block-body']}>\n <div className={style['section-toolbar']}>\n <Text type=\"secondary\" className={style['section-toolbar-label']}>\n {formatMessage({ id: 'stepListTitle' })}\n </Text>\n <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={`${style['add-inline-btn']} ${style['hover-reveal']}`} onClick={() => onAddStep(block.id)}>\n {formatMessage({ id: 'addStep' })}\n </Button>\n </div>\n {(block.items || []).length ? (\n <div className={style['step-list']}>\n {(block.items || []).map((step, stepIndex) => (\n <div key={step.id} className={style['step-section']}>\n <div className={style['step-section-header']}>\n <Space size={8} wrap className={style['step-section-title']}>\n <span className={style['step-index']}>{stepIndex + 1}</span>\n <Text strong>{step.title || formatMessage({ id: 'untitledStep' }, { index: stepIndex + 1 })}</Text>\n <Text type=\"secondary\">\n {(step.blocks || []).length ? formatMessage({ id: 'fieldAndItemBlockCount' }, { fields: step.list?.length || 0, nests: step.blocks.length }) : formatMessage({ id: 'fieldCount' }, { count: step.list?.length || 0 })}\n </Text>\n </Space>\n <Space size={4} wrap className={style['step-section-actions']}>\n <ActionGroup>\n <IconBtn title={formatMessage({ id: 'moveUp' })} icon={<ArrowUpOutlined />} disabled={stepIndex === 0} onClick={() => onMoveStep(block.id, step.id, 'up')} />\n <IconBtn title={formatMessage({ id: 'moveDown' })} icon={<ArrowDownOutlined />} disabled={stepIndex === (block.items?.length || 0) - 1} onClick={() => onMoveStep(block.id, step.id, 'down')} />\n <IconBtn title={formatMessage({ id: 'editStep' })} icon={<EditOutlined />} onClick={() => onEditStep(block.id, step)} />\n <IconBtn title={formatMessage({ id: 'deleteStep' })} danger icon={<DeleteOutlined />} onClick={() => onDeleteStep(block.id, step.id)} />\n </ActionGroup>\n {renderAddFieldButton({\n menuKey: `${block.id}:${step.id}`,\n depth,\n onAddFieldClick: () => onAddField(block.id, { stepId: step.id }),\n onAddChildBlock: kind => onAddBlock(kind, { parentBlockId: block.id, stepId: step.id })\n })}\n </Space>\n </div>\n {renderFieldList(step.list, block.id, { stepId: step.id })}\n {renderNestedBlocks(step.blocks, depth)}\n </div>\n ))}\n </div>\n ) : (\n <Text type=\"secondary\" className={style['inline-empty']}>\n {formatMessage({ id: 'emptyStepList' })}\n </Text>\n )}\n </div>\n );\n }\n\n if (block.kind === 'multiField') {\n return (\n <div className={style['block-body']}>\n <Text type=\"secondary\">{formatMessage({ id: 'multiFieldEditorHint' })}</Text>\n </div>\n );\n }\n\n if (block.kind === 'choice') {\n return (\n <div className={style['block-body']}>\n <div className={style['section-toolbar']}>\n <Text type=\"secondary\" className={style['section-toolbar-label']}>\n {formatMessage({ id: 'choiceOptionListTitle' })}\n </Text>\n <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={`${style['add-inline-btn']} ${style['hover-reveal']}`} onClick={() => onAddChoiceOption(block.id)}>\n {formatMessage({ id: 'addChoiceOption' })}\n </Button>\n </div>\n {(block.options || []).length ? (\n <div className={style['step-list']}>\n {(block.options || []).map((option, optionIndex) => (\n <div key={option.id} className={style['step-section']}>\n <div className={style['step-section-header']}>\n <Space size={8} wrap className={style['step-section-title']}>\n <span className={style['step-index']}>{optionIndex + 1}</span>\n <Text strong>{option.title || formatMessage({ id: 'choiceOptionFallback' }, { index: optionIndex + 1 })}</Text>\n <Text type=\"secondary\">\n {(option.blocks || []).length\n ? formatMessage({ id: 'fieldAndItemBlockCount' }, { fields: option.list?.length || 0, nests: option.blocks.length })\n : formatMessage({ id: 'fieldCount' }, { count: option.list?.length || 0 })}\n </Text>\n </Space>\n <Space size={4} wrap className={style['step-section-actions']}>\n <ActionGroup>\n <IconBtn title={formatMessage({ id: 'moveUp' })} icon={<ArrowUpOutlined />} disabled={optionIndex === 0} onClick={() => onMoveChoiceOption(block.id, option.id, 'up')} />\n <IconBtn title={formatMessage({ id: 'moveDown' })} icon={<ArrowDownOutlined />} disabled={optionIndex === (block.options?.length || 0) - 1} onClick={() => onMoveChoiceOption(block.id, option.id, 'down')} />\n <IconBtn title={formatMessage({ id: 'editChoiceOption' })} icon={<EditOutlined />} onClick={() => onEditChoiceOption(block.id, option)} />\n <IconBtn title={formatMessage({ id: 'deleteChoiceOption' })} danger icon={<DeleteOutlined />} onClick={() => onDeleteChoiceOption(block.id, option.id)} />\n </ActionGroup>\n {renderAddFieldButton({\n menuKey: `${block.id}:opt:${option.id}`,\n depth,\n onAddFieldClick: () => onAddField(block.id, { optionId: option.id }),\n onAddChildBlock: kind => onAddBlock(kind, { parentBlockId: block.id, optionId: option.id })\n })}\n </Space>\n </div>\n {renderFieldList(option.list, block.id, { optionId: option.id })}\n {renderNestedBlocks(option.blocks, depth)}\n </div>\n ))}\n </div>\n ) : (\n <Text type=\"secondary\" className={style['inline-empty']}>\n {formatMessage({ id: 'emptyChoiceOptionList' })}\n </Text>\n )}\n </div>\n );\n }\n\n const supportsItemBlocks = block.kind === 'list';\n const supportsBlocks = block.kind === 'formInfo' || block.kind === 'object';\n\n return (\n <div className={style['block-body']}>\n {renderFieldList(block.list, block.id)}\n {supportsItemBlocks ? renderItemBlocks(block, depth) : null}\n {supportsBlocks ? renderNestedBlocks(block.blocks, depth) : null}\n </div>\n );\n };\n\n const renderBlockSection = (block, blockIndex, total, depth = 0) => {\n const definition = getBlockDefinition(block.kind);\n const canAddField = block.kind !== 'steps' && block.kind !== 'multiField' && block.kind !== 'choice';\n const supportsItemBlocks = block.kind === 'list';\n const supportsBlocks = block.kind === 'formInfo' || block.kind === 'object';\n const supportsChildModules = supportsItemBlocks || supportsBlocks;\n const nestCount = supportsItemBlocks ? block.itemBlocks?.length || 0 : block.blocks?.length || 0;\n const summary =\n block.kind === 'steps'\n ? formatMessage({ id: 'stepCount' }, { count: block.items?.length || 0 })\n : block.kind === 'multiField'\n ? formatMessage({ id: 'multiFieldSummary' }, { type: block.fieldType })\n : block.kind === 'choice'\n ? formatMessage({ id: 'choiceOptionCount' }, { count: block.options?.length || 0 })\n : supportsChildModules && nestCount > 0\n ? formatMessage({ id: 'fieldAndItemBlockCount' }, { fields: block.list?.length || 0, nests: nestCount })\n : formatMessage({ id: 'fieldCount' }, { count: block.list?.length || 0 });\n\n return (\n <section key={block.id} className={`${style['block-section']} ${style[`block-kind-${block.kind}`] || ''} ${depth > 0 ? style['block-section-nested'] : ''}`.trim()}>\n <header className={style['block-section-header']}>\n <div className={style['block-header-left']}>\n <Tag bordered={false} color={definition?.color || 'default'}>\n {definition?.label || block.kind}\n </Tag>\n <Text strong ellipsis className={style['block-title']}>\n {block.title || block.label || block.name || formatMessage({ id: 'untitledBlock' })}\n </Text>\n <span className={style['block-summary']}>{summary}</span>\n </div>\n <Space size={4} wrap className={style['block-header-actions']}>\n <ActionGroup>\n <IconBtn title={formatMessage({ id: 'moveUp' })} icon={<ArrowUpOutlined />} disabled={blockIndex === 0} onClick={() => onMoveBlock(block.id, 'up')} />\n <IconBtn title={formatMessage({ id: 'moveDown' })} icon={<ArrowDownOutlined />} disabled={blockIndex === total - 1} onClick={() => onMoveBlock(block.id, 'down')} />\n <IconBtn title={formatMessage({ id: 'editBlock' })} icon={<SettingOutlined />} onClick={() => onEditBlock(block)} />\n <IconBtn title={formatMessage({ id: 'deleteBlock' })} danger icon={<DeleteOutlined />} onClick={() => onDeleteBlock(block.id)} />\n </ActionGroup>\n {canAddField\n ? renderAddFieldButton({\n menuKey: block.id,\n depth,\n onAddFieldClick: () => onAddField(block.id),\n onAddChildBlock: supportsChildModules ? kind => onAddBlock(kind, { parentBlockId: block.id }) : undefined\n })\n : null}\n </Space>\n </header>\n {renderBlockChildren(block, depth)}\n </section>\n );\n };\n\n return (\n <div className={style['block-list-panel']}>\n <Flex justify=\"flex-end\" gap={8} align=\"center\" className={style['panel-toolbar']}>\n <Dropdown\n open={addMenuOpen}\n onOpenChange={setAddMenuOpen}\n trigger={['click']}\n dropdownRender={() =>\n renderAddBlockMenu(ROOT_ADD_OPTIONS, {\n onSelect: kind => {\n onAddBlock(kind);\n setAddMenuOpen(false);\n }\n })\n }\n >\n <Button type=\"primary\" size=\"small\" icon={<PlusOutlined />} className={style['add-block-btn']}>\n {formatMessage({ id: 'addBlock' })}\n </Button>\n </Dropdown>\n <Button type=\"default\" size=\"small\" shape=\"circle\" icon={<SettingOutlined />} className={style['form-actions-setting-btn']} title={formatMessage({ id: 'formActionsSection' })} onClick={onOpenFormActions} />\n {extraToolbar ? <div className={style['panel-toolbar-extra']}>{extraToolbar}</div> : null}\n </Flex>\n {!blocks.length ? (\n <Empty className={style['field-empty']} image={Empty.PRESENTED_IMAGE_SIMPLE} description={formatMessage({ id: 'emptyBlockList' })} />\n ) : (\n <div className={style['block-list']}>{blocks.map((block, blockIndex) => renderBlockSection(block, blockIndex, blocks.length, 0))}</div>\n )}\n </div>\n );\n};\n\nexport default BlockListPanel;\n","import { useEffect, useMemo, useState } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input, Select, InputNumber, Checkbox } from '@kne/react-form-antd';\nimport { message } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { blockToFormValues, formValuesToBlock, getBlockDefinition, getBlockKindOptions } from './blockRegistry';\nimport { getFieldTypes } from './fieldRegistry';\nimport { createBlock } from './schema';\nimport style from './style.module.scss';\n\nconst BlockConfigFields = ({ kind }) => {\n const { formatMessage } = useIntl();\n const definition = getBlockDefinition(kind);\n const fieldTypeOptions = useMemo(() => getFieldTypes(), []);\n\n const list = [];\n\n if (kind === 'formInfo' || kind === 'list' || kind === 'tableList' || kind === 'object') {\n list.push(\n <Input key=\"title\" name=\"title\" label={formatMessage({ id: 'blockTitle' })} placeholder={formatMessage({ id: 'blockTitlePlaceholder' })} />,\n kind === 'formInfo' ? <Input key=\"subtitle\" name=\"subtitle\" label={formatMessage({ id: 'blockSubtitle' })} placeholder={formatMessage({ id: 'blockSubtitlePlaceholder' })} /> : null,\n kind !== 'formInfo' ? <Input key=\"name\" name=\"name\" label={formatMessage({ id: 'blockName' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldNamePlaceholder' })} /> : null,\n <InputNumber key=\"column\" name=\"column\" label={formatMessage({ id: 'formColumnPlaceholder' })} min={1} max={4} />,\n kind === 'formInfo' || kind === 'object' ? <InputNumber key=\"gap\" name=\"gap\" label={formatMessage({ id: 'blockGap' })} min={0} max={48} /> : null,\n <Checkbox key=\"bordered\" name=\"bordered\">\n {formatMessage({ id: 'blockBordered' })}\n </Checkbox>,\n kind === 'list' ? (\n <Checkbox key=\"important\" name=\"important\">\n {formatMessage({ id: 'blockImportant' })}\n </Checkbox>\n ) : null,\n kind === 'list' || kind === 'tableList' ? <Input key=\"addText\" name=\"addText\" label={formatMessage({ id: 'blockAddText' })} placeholder={formatMessage({ id: 'blockAddTextPlaceholder' })} /> : null,\n kind === 'list' || kind === 'tableList' ? <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'blockMaxLength' })} min={1} /> : null,\n kind === 'list' || kind === 'tableList' ? <InputNumber key=\"minLength\" name=\"minLength\" label={formatMessage({ id: 'blockMinLength' })} min={0} /> : null\n );\n }\n\n if (kind === 'choice') {\n list.push(\n <Input key=\"title\" name=\"title\" label={formatMessage({ id: 'blockTitle' })} placeholder={formatMessage({ id: 'choiceTitlePlaceholder' })} />,\n <Select\n key=\"mode\"\n name=\"mode\"\n label={formatMessage({ id: 'choiceMode' })}\n rule=\"REQ\"\n options={[\n { label: formatMessage({ id: 'choiceModeSingle' }), value: 'single' },\n { label: formatMessage({ id: 'choiceModeMultiple' }), value: 'multiple' }\n ]}\n />,\n <InputNumber key=\"minLength\" name=\"minLength\" label={formatMessage({ id: 'choiceMinSelect' })} min={0} placeholder={formatMessage({ id: 'propOptionalNumber' })} display={({ openApi }) => openApi?.data?.mode === 'multiple'} />,\n <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'choiceMaxSelect' })} min={1} placeholder={formatMessage({ id: 'propOptionalNumber' })} display={({ openApi }) => openApi?.data?.mode === 'multiple'} />,\n <Input key=\"selectorName\" name=\"selectorName\" label={formatMessage({ id: 'choiceSelectorName' })} placeholder={formatMessage({ id: 'choiceSelectorNamePlaceholder' })} />,\n <Checkbox key=\"selectorInData\" name=\"selectorInData\">\n {formatMessage({ id: 'choiceSelectorInData' })}\n </Checkbox>\n );\n }\n\n if (kind === 'multiField') {\n list.push(\n <Input key=\"name\" name=\"name\" label={formatMessage({ id: 'blockName' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldNamePlaceholder' })} />,\n <Input key=\"label\" name=\"label\" label={formatMessage({ id: 'fieldLabel' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldLabelPlaceholder' })} />,\n <Select key=\"fieldType\" name=\"fieldType\" label={formatMessage({ id: 'multiFieldType' })} rule=\"REQ\" options={fieldTypeOptions} />,\n <Input key=\"addText\" name=\"addText\" label={formatMessage({ id: 'blockAddText' })} placeholder={formatMessage({ id: 'blockAddTextPlaceholder' })} />\n );\n }\n\n if (kind === 'steps') {\n list.push(\n <Input key=\"title\" name=\"title\" label={formatMessage({ id: 'blockTitle' })} placeholder={formatMessage({ id: 'blockTitlePlaceholder' })} />,\n <Input key=\"subtitle\" name=\"subtitle\" label={formatMessage({ id: 'blockSubtitle' })} placeholder={formatMessage({ id: 'blockSubtitlePlaceholder' })} />,\n <Checkbox key=\"bordered\" name=\"bordered\">\n {formatMessage({ id: 'blockBordered' })}\n </Checkbox>,\n <Checkbox key=\"autoStep\" name=\"autoStep\">\n {formatMessage({ id: 'blockAutoStep' })}\n </Checkbox>\n );\n }\n\n return (\n <div className={style['field-editor-form']}>\n <FormInfo title={definition?.label || kind} subtitle={definition?.description} column={1} list={list.filter(Boolean)} />\n </div>\n );\n};\n\nconst BlockEditorModal = ({ open, block, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const isEdit = !!block?.id;\n const formData = useMemo(() => blockToFormValues(block || createBlock('formInfo')), [block, open]);\n\n const handleSubmit = async values => {\n if ((block?.kind === 'list' || block?.kind === 'tableList' || block?.kind === 'multiField' || block?.kind === 'object') && !values.name) {\n message.error(formatMessage({ id: 'blockNameRequired' }));\n return false;\n }\n onSave(formValuesToBlock(values, block || createBlock(values.kind || 'formInfo')));\n };\n\n return (\n <FormModal\n key={open ? (block?.id ? `edit-${block.id}` : `add-${block?.kind || 'formInfo'}-${formData.name || 'new'}`) : 'closed'}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: isEdit ? 'editBlock' : 'addBlock' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 720}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: handleSubmit\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <BlockConfigFields kind={block?.kind || 'formInfo'} />\n </FormModal>\n );\n};\n\nexport default BlockEditorModal;\n","import { useMemo } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input, InputNumber } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { formValuesToStep, stepToFormValues } from './blockRegistry';\nimport { createStep } from './schema';\n\nconst StepEditorModal = ({ open, step, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const formData = useMemo(() => stepToFormValues(step || createStep()), [step, open]);\n\n return (\n <FormModal\n key={open ? (step?.id ? `edit-${step.id}` : `add-step-${formData.title || 'new'}`) : 'closed'}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: step?.id ? 'editStep' : 'addStep' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 560}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: values => {\n onSave(formValuesToStep(values, step || createStep()));\n }\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <FormInfo\n column={1}\n list={[\n <Input key=\"title\" name=\"title\" label={formatMessage({ id: 'stepTitle' })} rule=\"REQ\" placeholder={formatMessage({ id: 'stepTitlePlaceholder' })} />,\n <InputNumber key=\"column\" name=\"column\" label={formatMessage({ id: 'formColumnPlaceholder' })} min={1} max={4} />\n ]}\n />\n </FormModal>\n );\n};\n\nexport default StepEditorModal;\n","import { useMemo } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { choiceOptionToFormValues, formValuesToChoiceOption } from './blockRegistry';\nimport { createChoiceOption } from './schema';\n\nconst ChoiceOptionEditorModal = ({ open, option, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const formData = useMemo(() => choiceOptionToFormValues(option || createChoiceOption()), [option, open]);\n\n return (\n <FormModal\n key={open ? (option?.id ? `edit-option-${option.id}` : `add-option-${formData.title || 'new'}`) : 'closed'}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: option?.id ? 'editChoiceOption' : 'addChoiceOption' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 560}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: values => {\n onSave(formValuesToChoiceOption(values, option || createChoiceOption()));\n }\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <FormInfo column={1} list={[<Input key=\"title\" name=\"title\" label={formatMessage({ id: 'choiceOptionTitle' })} rule=\"REQ\" placeholder={formatMessage({ id: 'choiceOptionTitlePlaceholder' })} />]} />\n </FormModal>\n );\n};\n\nexport default ChoiceOptionEditorModal;\n","import FormInfo from '@kne/form-info';\nimport { InputNumber, hooks } from '@kne/react-form-antd';\nimport { Checkbox, Typography } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { RULE_LEN_PRESET, RULE_PRESET_ITEMS } from './rulePresets';\n\nconst { Text } = Typography;\nconst { useOnChange } = hooks;\n\nconst RulePresetsGroup = props => {\n const render = useOnChange(props);\n return render(Checkbox.Group);\n};\nRulePresetsGroup.field = Checkbox.Group;\n\nconst RulePresetEditor = () => {\n const { formatMessage } = useIntl();\n const options = [...RULE_PRESET_ITEMS.map(item => ({ label: item.label, value: item.value })), { label: formatMessage({ id: 'ruleLen' }), value: RULE_LEN_PRESET }];\n\n const list = [\n <RulePresetsGroup key=\"rulePresets\" name=\"rulePresets\" block options={options} />,\n <InputNumber key=\"lenMin\" name=\"lenMin\" label={formatMessage({ id: 'ruleLenMin' })} min={0} display={({ openApi }) => (openApi?.data?.rulePresets || []).includes(RULE_LEN_PRESET)} />,\n <InputNumber key=\"lenMax\" name=\"lenMax\" label={formatMessage({ id: 'ruleLenMax' })} min={0} display={({ openApi }) => (openApi?.data?.rulePresets || []).includes(RULE_LEN_PRESET)} />,\n <div key=\"rule-hint\" block>\n <Text type=\"secondary\">{formatMessage({ id: 'ruleEditorHint' })}</Text>\n </div>\n ];\n\n return <FormInfo title={formatMessage({ id: 'fieldRule' })} column={1} list={list} />;\n};\n\nexport default RulePresetEditor;\n","import FormInfo from '@kne/form-info';\nimport { Button, Card, Flex, Input, InputNumber, Space, Typography } from 'antd';\nimport { DeleteOutlined, PlusOutlined, ApartmentOutlined } from '@ant-design/icons';\nimport { useEffect } from 'react';\nimport { useIntl } from '@kne/react-intl';\nimport { createDataKey, createEmptyColumn, isAutoDataKey } from './schema';\nimport style from './style.module.scss';\n\nconst { Text } = Typography;\n\nconst createOptionKey = () => createDataKey('opt');\n\nconst EMPTY_OPTION = () => ({\n _key: createOptionKey(),\n label: '',\n value: ''\n});\n\nexport { createEmptyColumn };\n\nconst createEmptyTableRow = columns => {\n const row = { label: '', value: '' };\n (columns || []).forEach(column => {\n if (column?.name) {\n row[column.name] = '';\n }\n });\n return row;\n};\n\nconst ensureOptionKeys = (list = []) =>\n list.map(item => ({\n ...item,\n _key: item._key || createOptionKey(),\n children: Array.isArray(item.children) ? ensureOptionKeys(item.children) : undefined\n }));\n\nconst hasMissingOptionKey = (list = []) => list.some(item => !item?._key || (Array.isArray(item.children) && hasMissingOptionKey(item.children)));\n\n/** 扁平选项(非树) */\nconst FlatOptionRows = ({ list, onChange, allowDescription }) => {\n const { formatMessage } = useIntl();\n const rows = list.length ? ensureOptionKeys(list) : [EMPTY_OPTION()];\n\n const commit = next => onChange(next);\n\n const updateItem = (index, patch) => {\n commit(rows.map((item, itemIndex) => (itemIndex === index ? { ...item, ...patch } : item)));\n };\n\n return (\n <div className={style['options-list']}>\n {rows.map((item, index) => (\n <Flex key={item._key} gap={8} align=\"start\" className={style['options-row']}>\n <Input value={item.label} placeholder={formatMessage({ id: 'optionLabelPlaceholder' })} onChange={event => updateItem(index, { label: event.target.value })} />\n <Input value={item.value} placeholder={formatMessage({ id: 'optionValuePlaceholder' })} onChange={event => updateItem(index, { value: event.target.value })} />\n {allowDescription ? <Input value={item.description || ''} placeholder={formatMessage({ id: 'optionDescPlaceholder' })} onChange={event => updateItem(index, { description: event.target.value })} /> : null}\n <Button\n type=\"text\"\n danger\n className={style['icon-square-btn-sm']}\n icon={<DeleteOutlined />}\n disabled={rows.length === 1}\n onClick={() => {\n const next = rows.filter((_, itemIndex) => itemIndex !== index);\n commit(next.length ? next : [EMPTY_OPTION()]);\n }}\n />\n </Flex>\n ))}\n <Button type=\"dashed\" block icon={<PlusOutlined />} onClick={() => commit([...rows, EMPTY_OPTION()])}>\n {formatMessage({ id: 'addOption' })}\n </Button>\n </div>\n );\n};\n\n/** 树形 / 级联选项 */\nconst TreeOptionNode = ({ item, index, siblings, onChangeSiblings, allowDescription, depth, maxDepth = 4 }) => {\n const { formatMessage } = useIntl();\n const children = Array.isArray(item.children) ? item.children : [];\n const canAddChild = depth < maxDepth;\n\n const updateSelf = patch => {\n onChangeSiblings(siblings.map((row, i) => (i === index ? { ...row, ...patch } : row)));\n };\n\n const removeSelf = () => {\n onChangeSiblings(siblings.filter((_, i) => i !== index));\n };\n\n const addChild = () => {\n updateSelf({ children: [...children, EMPTY_OPTION()] });\n };\n\n const changeChildren = nextChildren => {\n if (!nextChildren.length) {\n updateSelf({ children: undefined });\n return;\n }\n updateSelf({ children: nextChildren });\n };\n\n return (\n <div className={style['tree-option-node']} data-depth={depth}>\n <div className={style['tree-option-row']}>\n <div className={style['tree-option-fields']}>\n <Input value={item.label} placeholder={formatMessage({ id: 'optionLabelPlaceholder' })} onChange={e => updateSelf({ label: e.target.value })} />\n <Input value={item.value} placeholder={formatMessage({ id: 'optionValuePlaceholder' })} onChange={e => updateSelf({ value: e.target.value })} />\n {allowDescription ? <Input value={item.description || ''} placeholder={formatMessage({ id: 'optionDescPlaceholder' })} onChange={e => updateSelf({ description: e.target.value })} /> : null}\n </div>\n <div className={style['tree-option-actions']}>\n {canAddChild ? (\n <Button type=\"link\" size=\"small\" icon={<ApartmentOutlined />} onClick={addChild}>\n {formatMessage({ id: 'addChildOption' })}\n </Button>\n ) : null}\n <Button type=\"text\" danger size=\"small\" className={style['icon-square-btn-sm']} icon={<DeleteOutlined />} disabled={siblings.length === 1 && depth === 0} onClick={removeSelf} />\n </div>\n </div>\n {children.length ? (\n <div className={style['tree-option-children']}>\n {children.map((child, childIndex) => (\n <TreeOptionNode key={child._key} item={child} index={childIndex} siblings={children} onChangeSiblings={changeChildren} allowDescription={allowDescription} depth={depth + 1} maxDepth={maxDepth} />\n ))}\n </div>\n ) : null}\n </div>\n );\n};\n\nconst TreeOptionsEditor = ({ value = [], onChange, allowDescription }) => {\n const { formatMessage } = useIntl();\n\n useEffect(() => {\n if (!value.length) {\n return;\n }\n if (hasMissingOptionKey(value)) {\n onChange(ensureOptionKeys(value));\n }\n }, [value, onChange]);\n\n const rows = value.length ? (hasMissingOptionKey(value) ? ensureOptionKeys(value) : value) : [EMPTY_OPTION()];\n\n const commit = next => {\n onChange(next.length ? ensureOptionKeys(next) : [EMPTY_OPTION()]);\n };\n\n return (\n <div className={style['tree-options-editor']}>\n <div className={style['tree-options-list']}>\n {rows.map((item, index) => (\n <TreeOptionNode key={item._key} item={item} index={index} siblings={rows} onChangeSiblings={commit} allowDescription={allowDescription} depth={0} />\n ))}\n </div>\n <Button type=\"dashed\" block icon={<PlusOutlined />} onClick={() => commit([...rows, EMPTY_OPTION()])}>\n {formatMessage({ id: 'addOption' })}\n </Button>\n </div>\n );\n};\n\nconst ColumnsEditor = ({ value = [], onChange }) => {\n const { formatMessage } = useIntl();\n const list = value.length ? value : [createEmptyColumn()];\n\n const updateItem = (index, patch) => {\n onChange(list.map((item, itemIndex) => (itemIndex === index ? { ...item, ...patch } : item)));\n };\n\n return (\n <FormInfo\n title={formatMessage({ id: 'fieldColumns' })}\n column={1}\n list={[\n <div key=\"columns-editor\" block className={style['columns-editor']}>\n <div className={style['options-list']}>\n {list.map((item, index) => (\n <Flex key={item.name || index} gap={8} align=\"start\" className={style['options-row']}>\n <Input\n value={item.title || ''}\n placeholder={formatMessage({ id: 'columnTitlePlaceholder' })}\n onChange={e => {\n const title = e.target.value;\n const patch = { title };\n if ((!item.name || isAutoDataKey(item.name, 'col')) && !item.name) {\n patch.name = createDataKey('col');\n patch.key = patch.name;\n }\n updateItem(index, patch);\n }}\n />\n <Input\n value={item.name || ''}\n placeholder={formatMessage({ id: 'columnNamePlaceholder' })}\n onChange={e => {\n const name = e.target.value;\n updateItem(index, { name, key: name.trim() || item.key });\n }}\n />\n <InputNumber min={40} style={{ width: 120 }} value={item.width ?? null} placeholder={formatMessage({ id: 'columnWidthPlaceholder' })} onChange={width => updateItem(index, { width: width ?? undefined })} />\n <Button\n type=\"text\"\n danger\n className={style['icon-square-btn-sm']}\n icon={<DeleteOutlined />}\n disabled={list.length === 1}\n onClick={() => {\n const next = list.filter((_, i) => i !== index);\n onChange(next.length ? next : [createEmptyColumn()]);\n }}\n />\n </Flex>\n ))}\n </div>\n <Button type=\"dashed\" block icon={<PlusOutlined />} onClick={() => onChange([...list, createEmptyColumn()])}>\n {formatMessage({ id: 'addColumn' })}\n </Button>\n <Space size={4} className={style['options-tip']}>\n {formatMessage({ id: 'columnsEditorHint' })}\n </Space>\n </div>\n ]}\n />\n );\n};\n\nconst TableRowsEditor = ({ columns = [], value = [], onChange }) => {\n const { formatMessage } = useIntl();\n const usableColumns = columns.filter(column => column?.name && String(column.name).trim());\n const list = value.length ? value : [createEmptyTableRow(usableColumns)];\n\n const updateItem = (index, patch) => {\n onChange(list.map((item, itemIndex) => (itemIndex === index ? { ...item, ...patch } : item)));\n };\n\n if (!usableColumns.length) {\n return (\n <FormInfo\n title={formatMessage({ id: 'fieldTableRows' })}\n column={1}\n list={[\n <div key=\"table-rows-empty\" block>\n <Text type=\"secondary\">{formatMessage({ id: 'tableRowsNeedColumnsHint' })}</Text>\n </div>\n ]}\n />\n );\n }\n\n return (\n <FormInfo\n title={formatMessage({ id: 'fieldTableRows' })}\n column={1}\n list={[\n <div key=\"table-rows-editor\" block className={style['table-rows-editor']}>\n <Space direction=\"vertical\" size={12} style={{ width: '100%' }}>\n {list.map((item, index) => (\n <Card\n key={index}\n size=\"small\"\n className={style['table-row-card']}\n title={formatMessage({ id: 'tableRowTitle' }, { index: index + 1 })}\n extra={\n <Button\n type=\"text\"\n danger\n className={style['icon-square-btn-sm']}\n icon={<DeleteOutlined />}\n disabled={list.length === 1}\n onClick={() => {\n const next = list.filter((_, i) => i !== index);\n onChange(next.length ? next : [createEmptyTableRow(usableColumns)]);\n }}\n />\n }\n >\n <Space direction=\"vertical\" size={8} style={{ width: '100%' }}>\n <Flex gap={8}>\n <Input value={item.value || ''} placeholder={formatMessage({ id: 'optionValuePlaceholder' })} onChange={e => updateItem(index, { value: e.target.value })} />\n <Input value={item.label || ''} placeholder={formatMessage({ id: 'tableRowLabelPlaceholder' })} onChange={e => updateItem(index, { label: e.target.value })} />\n </Flex>\n <Flex gap={8} wrap=\"wrap\">\n {usableColumns.map(column => (\n <Input key={column.name} style={{ minWidth: 140, flex: 1 }} value={item[column.name] || ''} placeholder={column.title || column.name} onChange={e => updateItem(index, { [column.name]: e.target.value })} />\n ))}\n </Flex>\n </Space>\n </Card>\n ))}\n </Space>\n <Button type=\"dashed\" block icon={<PlusOutlined />} style={{ marginTop: 12 }} onClick={() => onChange([...list, createEmptyTableRow(usableColumns)])}>\n {formatMessage({ id: 'addTableRow' })}\n </Button>\n <Space size={4} className={style['options-tip']}>\n {formatMessage({ id: 'tableRowsEditorHint' })}\n </Space>\n </div>\n ]}\n />\n );\n};\n\nconst OptionsEditor = ({ value = [], onChange, allowDescription = false, allowChildren = false, hasColumns = false, columns = [], onColumnsChange }) => {\n const { formatMessage } = useIntl();\n\n if (hasColumns) {\n const handleColumnsChange = nextColumns => {\n const prevColumns = columns || [];\n const migrated = (value || []).map(row => {\n const nextRow = { ...row };\n prevColumns.forEach((prevCol, index) => {\n const nextCol = nextColumns[index];\n const prevName = prevCol?.name;\n const nextName = nextCol?.name;\n if (prevName && nextName && prevName !== nextName && Object.prototype.hasOwnProperty.call(row, prevName)) {\n nextRow[nextName] = row[prevName];\n delete nextRow[prevName];\n }\n });\n return nextRow;\n });\n onColumnsChange(nextColumns);\n if (migrated.length) {\n onChange(migrated);\n }\n };\n\n return (\n <div className={style['options-editor']}>\n <ColumnsEditor value={columns} onChange={handleColumnsChange} />\n <TableRowsEditor columns={columns} value={value} onChange={onChange} />\n </div>\n );\n }\n\n return (\n <FormInfo\n title={formatMessage({ id: 'fieldOptions' })}\n column={1}\n list={[\n <div key=\"options-editor\" block className={style['options-editor']}>\n {allowChildren ? (\n <TreeOptionsEditor value={value} onChange={onChange} allowDescription={allowDescription} />\n ) : (\n <FlatOptionRows list={value.length ? value : [EMPTY_OPTION()]} onChange={onChange} allowDescription={allowDescription} />\n )}\n <Space size={4} className={style['options-tip']}>\n {formatMessage({ id: allowChildren ? 'optionsTreeEditorHint' : 'optionsEditorHint' })}\n </Space>\n </div>\n ]}\n />\n );\n};\n\nexport default OptionsEditor;\n","import { useMemo } from 'react';\nimport FormInfo from '@kne/form-info';\nimport { Input, InputNumber, Checkbox, useFormContext } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\n\nconst SuperSelectPropsEditor = ({ definition }) => {\n const { formatMessage } = useIntl();\n const { openApi } = useFormContext();\n\n const list = useMemo(() => {\n const items = [\n <Checkbox\n key=\"single\"\n name=\"single\"\n onChange={checked => {\n if (checked) {\n openApi?.setFields?.(\n [\n { name: 'allowSelectedAll', value: false },\n { name: 'maxLength', value: undefined }\n ],\n { runValidate: false }\n );\n }\n }}\n >\n {formatMessage({ id: 'superSelectSingle' })}\n </Checkbox>,\n <Checkbox key=\"isPopup\" name=\"isPopup\">\n {formatMessage({ id: 'superSelectIsPopup' })}\n </Checkbox>,\n <Checkbox key=\"allowClear\" name=\"allowClear\">\n {formatMessage({ id: 'superSelectAllowClear' })}\n </Checkbox>,\n <Checkbox key=\"allowSelectedAll\" name=\"allowSelectedAll\" display={({ openApi }) => !openApi?.data?.single}>\n {formatMessage({ id: 'superSelectAllowSelectedAll' })}\n </Checkbox>\n ];\n\n if (definition?.hasOnlyLastLevel) {\n items.push(\n <Checkbox key=\"onlyAllowLastLevel\" name=\"onlyAllowLastLevel\">\n {formatMessage({ id: 'superSelectOnlyLastLevel' })}\n </Checkbox>\n );\n }\n\n items.push(\n <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'superSelectMaxLength' })} min={1} placeholder={formatMessage({ id: 'superSelectMaxLengthPlaceholder' })} display={({ openApi }) => !openApi?.data?.single} />,\n <Input key=\"placeholder\" name=\"placeholder\" label={formatMessage({ id: 'fieldPlaceholder' })} placeholder={formatMessage({ id: 'superSelectPlaceholderHint' })} />,\n <Input key=\"searchPlaceholder\" name=\"searchPlaceholder\" label={formatMessage({ id: 'superSelectSearchPlaceholder' })} placeholder={formatMessage({ id: 'superSelectSearchPlaceholderHint' })} />\n );\n\n return items;\n }, [definition, formatMessage, openApi]);\n\n return <FormInfo title={formatMessage({ id: 'superSelectPropsSection' })} column={1} list={list} />;\n};\n\nexport default SuperSelectPropsEditor;\n","import { useMemo } from 'react';\nimport FormInfo from '@kne/form-info';\nimport { Input, InputNumber, Select, Checkbox } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\nimport { getFieldDefinition } from './fieldRegistry';\n\nconst BUILTIN_PROP_TYPES = ['Input', 'TextArea', 'InputNumber', 'Select', 'DatePicker', 'Switch'];\n\nconst buildPropsSchemaList = (schema, formatMessage) =>\n (schema || [])\n .filter(item => item?.name)\n .map(item => {\n if (item.type === 'boolean') {\n return (\n <Checkbox key={item.name} name={item.name}>\n {item.label || item.name}\n </Checkbox>\n );\n }\n if (item.type === 'number') {\n return <InputNumber key={item.name} name={item.name} label={item.label || item.name} min={item.min} max={item.max} placeholder={item.placeholder || formatMessage({ id: 'propOptionalNumber' })} />;\n }\n if (item.type === 'select') {\n return <Select key={item.name} name={item.name} label={item.label || item.name} options={item.options || []} placeholder={item.placeholder} allowClear={item.allowClear !== false} />;\n }\n return <Input key={item.name} name={item.name} label={item.label || item.name} placeholder={item.placeholder} />;\n });\n\nconst buildBuiltinList = (type, formatMessage) => {\n const placeholder = <Input key=\"placeholder\" name=\"placeholder\" label={formatMessage({ id: 'fieldPlaceholder' })} placeholder={formatMessage({ id: 'fieldPlaceholderHint' })} />;\n const allowClear = (\n <Checkbox key=\"allowClear\" name=\"allowClear\">\n {formatMessage({ id: 'propAllowClear' })}\n </Checkbox>\n );\n\n switch (type) {\n case 'Input':\n return [placeholder, allowClear, <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'propMaxLength' })} min={1} placeholder={formatMessage({ id: 'propOptionalNumber' })} />];\n case 'TextArea':\n return [\n placeholder,\n <InputNumber key=\"rows\" name=\"rows\" label={formatMessage({ id: 'propRows' })} min={2} max={20} />,\n <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'propMaxLength' })} min={1} placeholder={formatMessage({ id: 'propOptionalNumber' })} />,\n <Checkbox key=\"showCount\" name=\"showCount\">\n {formatMessage({ id: 'propShowCount' })}\n </Checkbox>\n ];\n case 'InputNumber':\n return [\n placeholder,\n <InputNumber key=\"min\" name=\"min\" label={formatMessage({ id: 'propMin' })} placeholder={formatMessage({ id: 'propOptionalNumber' })} />,\n <InputNumber key=\"max\" name=\"max\" label={formatMessage({ id: 'propMax' })} placeholder={formatMessage({ id: 'propOptionalNumber' })} />,\n <InputNumber key=\"step\" name=\"step\" label={formatMessage({ id: 'propStep' })} min={0} placeholder={formatMessage({ id: 'propOptionalNumber' })} />,\n <InputNumber key=\"precision\" name=\"precision\" label={formatMessage({ id: 'propPrecision' })} min={0} max={10} placeholder={formatMessage({ id: 'propOptionalNumber' })} />\n ];\n case 'Select':\n return [\n placeholder,\n allowClear,\n <Select\n key=\"mode\"\n name=\"mode\"\n label={formatMessage({ id: 'propSelectMode' })}\n options={[\n { label: formatMessage({ id: 'propSelectModeSingle' }), value: 'single' },\n { label: formatMessage({ id: 'propSelectModeMultiple' }), value: 'multiple' }\n ]}\n />\n ];\n case 'DatePicker':\n return [\n <Checkbox key=\"range\" name=\"range\">\n {formatMessage({ id: 'propDateRange' })}\n </Checkbox>,\n placeholder,\n allowClear,\n <Select\n key=\"picker\"\n name=\"picker\"\n label={formatMessage({ id: 'propDatePickerType' })}\n options={[\n { label: formatMessage({ id: 'propDatePickerDate' }), value: 'date' },\n { label: formatMessage({ id: 'propDatePickerWeek' }), value: 'week' },\n { label: formatMessage({ id: 'propDatePickerMonth' }), value: 'month' },\n { label: formatMessage({ id: 'propDatePickerQuarter' }), value: 'quarter' },\n { label: formatMessage({ id: 'propDatePickerYear' }), value: 'year' }\n ]}\n />,\n <Select\n key=\"format\"\n name=\"format\"\n label={formatMessage({ id: 'propDateFormat' })}\n options={[\n { label: 'YYYY-MM-DD', value: 'YYYY-MM-DD' },\n { label: 'YYYY/MM/DD', value: 'YYYY/MM/DD' },\n { label: 'YYYY年MM月DD日', value: 'YYYY年MM月DD日' },\n { label: 'YYYY-MM-DD HH:mm:ss', value: 'YYYY-MM-DD HH:mm:ss' },\n { label: 'YYYY-MM', value: 'YYYY-MM' },\n { label: 'YYYY', value: 'YYYY' }\n ]}\n />,\n <Checkbox key=\"showTime\" name=\"showTime\" display={({ openApi }) => (openApi?.data?.picker || 'date') === 'date'}>\n {formatMessage({ id: 'propShowTime' })}\n </Checkbox>\n ];\n case 'Switch':\n return [\n <Input key=\"checkedChildren\" name=\"checkedChildren\" label={formatMessage({ id: 'propSwitchOnText' })} placeholder={formatMessage({ id: 'propSwitchOnTextHint' })} />,\n <Input key=\"unCheckedChildren\" name=\"unCheckedChildren\" label={formatMessage({ id: 'propSwitchOffText' })} placeholder={formatMessage({ id: 'propSwitchOffTextHint' })} />\n ];\n default:\n return [];\n }\n};\n\nconst FieldPropsEditor = ({ type, definition: definitionProp }) => {\n const { formatMessage } = useIntl();\n const definition = definitionProp || getFieldDefinition(type);\n\n const list = useMemo(() => {\n if (!type) {\n return [];\n }\n if (definition?.propsSchema?.length) {\n return buildPropsSchemaList(definition.propsSchema, formatMessage);\n }\n return buildBuiltinList(type, formatMessage);\n }, [type, definition, formatMessage]);\n\n if (!list.length) {\n return null;\n }\n\n return <FormInfo title={formatMessage({ id: 'fieldPropsSection' })} column={1} list={list} />;\n};\n\nexport const hasFieldPropsEditor = (type, definition) => {\n const def = definition || getFieldDefinition(type);\n if (def?.propsSchema?.length) {\n return true;\n }\n return BUILTIN_PROP_TYPES.includes(type);\n};\n\nexport default FieldPropsEditor;\n","import { useEffect, useMemo, useState } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input, TextArea, Select, Checkbox, useFormContext } from '@kne/react-form-antd';\nimport { message, Typography } from 'antd';\nconst { Text } = Typography;\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { createField, createEmptyColumn, isFieldNameUnique } from './schema';\nimport { fieldToFormValues, formValuesToField, getFieldDefinition, getFieldTypes, normalizeOptions, normalizeColumns, pickFieldProps } from './fieldRegistry';\nimport RulePresetEditor from './RulePresetEditor';\nimport OptionsEditor from './OptionsEditor';\nimport SuperSelectPropsEditor from './SuperSelectPropsEditor';\nimport FieldPropsEditor, { hasFieldPropsEditor } from './FieldPropsEditor';\nimport style from './style.module.scss';\n\nconst getDefaultSelectProps = () => ({\n single: false,\n isPopup: true,\n allowClear: true,\n allowSelectedAll: false,\n onlyAllowLastLevel: false,\n maxLength: undefined,\n placeholder: '',\n searchPlaceholder: '',\n columns: [createEmptyColumn()]\n});\n\nconst omitColumns = ({ columns, ...rest } = {}) => rest;\n\nconst FieldConfigFields = ({ initialType, options, onOptionsChange, columns, onColumnsChange }) => {\n const { formatMessage } = useIntl();\n const { openApi } = useFormContext();\n const [fieldType, setFieldType] = useState(initialType);\n const fieldTypeOptions = useMemo(() => getFieldTypes(), []);\n const definition = getFieldDefinition(fieldType);\n\n useEffect(() => {\n setFieldType(initialType);\n }, [initialType]);\n\n const applyTypeDefaults = nextType => {\n const nextDefinition = getFieldDefinition(nextType);\n let nextValues = {};\n if (nextDefinition?.isSuperSelect) {\n nextValues = omitColumns(getDefaultSelectProps());\n } else if (nextDefinition?.hasFieldProps || nextDefinition?.propsSchema?.length) {\n nextValues = pickFieldProps({ type: nextType, props: nextDefinition.defaultProps || {} }, nextDefinition);\n }\n const entries = Object.entries(nextValues).map(([name, value]) => ({ name, value }));\n if (!entries.length || !openApi?.setFields) {\n return;\n }\n // 等新类型的 Form Field 挂载后再写入默认值\n requestAnimationFrame(() => {\n openApi.setFields(entries, { runValidate: false });\n });\n };\n\n const list = [\n <Select\n key=\"type\"\n name=\"type\"\n label={formatMessage({ id: 'fieldType' })}\n rule=\"REQ\"\n options={fieldTypeOptions}\n onChange={nextType => {\n setFieldType(nextType);\n applyTypeDefaults(nextType);\n }}\n />,\n <Input key=\"name\" name=\"name\" label={formatMessage({ id: 'fieldName' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldNamePlaceholder' })} />,\n <Input key=\"label\" name=\"label\" label={formatMessage({ id: 'fieldLabel' })} rule=\"REQ\" placeholder={formatMessage({ id: 'fieldLabelPlaceholder' })} />,\n <Input key=\"tips\" name=\"tips\" label={formatMessage({ id: 'fieldTips' })} placeholder={formatMessage({ id: 'fieldTipsPlaceholder' })} />,\n <TextArea key=\"description\" name=\"description\" label={formatMessage({ id: 'fieldDescription' })} placeholder={formatMessage({ id: 'fieldDescriptionPlaceholder' })} rows={2} />\n ];\n\n list.push(\n <Checkbox key=\"block\" name=\"block\">\n {formatMessage({ id: 'fieldBlock' })}\n </Checkbox>,\n <Checkbox key=\"hidden\" name=\"hidden\">\n {formatMessage({ id: 'fieldHidden' })}\n </Checkbox>\n );\n\n return (\n <div className={style['field-editor-form']}>\n <FormInfo title={formatMessage({ id: 'fieldBasicSection' })} column={1} list={list} />\n {definition?.isSuperSelect ? <SuperSelectPropsEditor definition={definition} /> : hasFieldPropsEditor(fieldType, definition) ? <FieldPropsEditor type={fieldType} definition={definition} /> : null}\n <RulePresetEditor />\n {definition?.hasBuiltinData ? (\n <Text type=\"secondary\">{formatMessage({ id: 'builtinDataHint' })}</Text>\n ) : definition?.hasOptions ? (\n <OptionsEditor\n value={options}\n onChange={onOptionsChange}\n allowDescription={definition.optionsAllowDescription}\n allowChildren={definition.optionsAllowChildren}\n hasColumns={definition.hasColumns}\n columns={columns}\n onColumnsChange={onColumnsChange}\n />\n ) : null}\n </div>\n );\n};\n\nconst FieldEditorModal = ({ open, field, fieldList, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const isEdit = !!field?.id;\n const editorValues = useMemo(() => fieldToFormValues(field || createField()), [field, open]);\n const formData = useMemo(() => {\n const ruleConfig = editorValues.ruleConfig || { presets: [], lenMin: '', lenMax: '' };\n return {\n type: editorValues.type,\n name: editorValues.name,\n label: editorValues.label,\n tips: editorValues.tips,\n description: editorValues.description,\n block: editorValues.block,\n hidden: editorValues.hidden,\n ...(editorValues.fieldProps || {}),\n ...omitColumns(editorValues.selectProps || {}),\n rulePresets: ruleConfig.presets || [],\n lenMin: ruleConfig.lenMin === '' ? undefined : ruleConfig.lenMin,\n lenMax: ruleConfig.lenMax === '' ? undefined : ruleConfig.lenMax\n };\n }, [editorValues]);\n const [options, setOptions] = useState([{ label: '', value: '' }]);\n const [columns, setColumns] = useState(() => [createEmptyColumn()]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n setOptions(editorValues.options?.length ? editorValues.options : [{ label: '', value: '' }]);\n setColumns(editorValues.selectProps?.columns?.length ? editorValues.selectProps.columns : [createEmptyColumn()]);\n }, [open, editorValues]);\n\n const handleSubmit = async values => {\n if (!isFieldNameUnique(fieldList, values.name, field?.id)) {\n message.error(formatMessage({ id: 'fieldNameDuplicate' }));\n return false;\n }\n const definition = getFieldDefinition(values.type);\n const normalizedColumns = definition?.hasColumns ? normalizeColumns(columns) : [];\n const nextField = formValuesToField(\n {\n ...values,\n ruleConfig: {\n presets: values.rulePresets || [],\n lenMin: values.lenMin ?? '',\n lenMax: values.lenMax ?? ''\n },\n options: normalizeOptions(options, {\n allowChildren: !!definition?.optionsAllowChildren,\n columns: normalizedColumns\n }),\n selectProps: {\n ...values,\n columns: normalizedColumns\n },\n fieldProps: values\n },\n field || createField()\n );\n if (!nextField.id) {\n nextField.id = createField().id;\n }\n onSave(nextField);\n };\n\n const modalKey = open ? (field?.id ? `edit-${field.id}` : `add-${formData.name}`) : 'closed';\n\n return (\n <FormModal\n key={modalKey}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: isEdit ? 'editField' : 'addField' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 760}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: handleSubmit\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <FieldConfigFields initialType={formData.type} options={options} onOptionsChange={setOptions} columns={columns} onColumnsChange={setColumns} />\n </FormModal>\n );\n};\n\nexport default FieldEditorModal;\n","import { useMemo } from 'react';\nimport FormInfo, { FormModal } from '@kne/form-info';\nimport { Input, Switch, Slider, RadioGroup } from '@kne/react-form-antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { normalizeFormActions } from './schema';\nimport style from './style.module.scss';\n\nconst FormActionsEditor = ({ open, value, onCancel, onSave, renderModal }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const formData = useMemo(() => normalizeFormActions(value), [value, open]);\n\n const alignOptions = useMemo(\n () => [\n { label: formatMessage({ id: 'formActionsAlignStart' }), value: 'start' },\n { label: formatMessage({ id: 'formActionsAlignCenter' }), value: 'center' },\n { label: formatMessage({ id: 'formActionsAlignEnd' }), value: 'end' }\n ],\n [formatMessage]\n );\n\n const gapMarks = useMemo(\n () => ({\n 0: '0',\n 16: '16',\n 32: '32',\n 48: '48',\n 64: '64'\n }),\n []\n );\n\n return (\n <FormModal\n key={open ? 'form-actions-open' : 'form-actions-closed'}\n destroyOnHidden\n destroyOnClose\n title={formatMessage({ id: 'formActionsSection' })}\n open={open}\n onCancel={onCancel}\n width={isMobile ? 'calc(100vw - 32px)' : 520}\n {...(renderModal ? { renderModal } : {})}\n formProps={{\n data: formData,\n onSubmit: values => {\n onSave?.(normalizeFormActions(values));\n }\n }}\n okText={formatMessage({ id: 'confirm' })}\n cancelText={formatMessage({ id: 'cancel' })}\n >\n <div className={style['form-actions-editor']}>\n <FormInfo\n column={2}\n list={[\n <Switch key=\"showSubmit\" name=\"showSubmit\" label={formatMessage({ id: 'formActionsShowSubmit' })} className={style['form-actions-switch-field']} />,\n <Input key=\"submitText\" name=\"submitText\" label={formatMessage({ id: 'formActionsSubmitText' })} placeholder={formatMessage({ id: 'formActionsSubmitTextHint' })} display={({ openApi }) => Boolean(openApi?.data?.showSubmit)} />\n ]}\n />\n <FormInfo\n column={2}\n list={[\n <Switch key=\"showReset\" name=\"showReset\" label={formatMessage({ id: 'formActionsShowReset' })} className={style['form-actions-switch-field']} />,\n <Input key=\"resetText\" name=\"resetText\" label={formatMessage({ id: 'formActionsResetText' })} placeholder={formatMessage({ id: 'formActionsResetTextHint' })} display={({ openApi }) => Boolean(openApi?.data?.showReset)} />\n ]}\n />\n <FormInfo\n column={2}\n list={[\n <Switch key=\"showCancel\" name=\"showCancel\" label={formatMessage({ id: 'formActionsShowCancel' })} className={style['form-actions-switch-field']} />,\n <Input key=\"cancelText\" name=\"cancelText\" label={formatMessage({ id: 'formActionsCancelText' })} placeholder={formatMessage({ id: 'formActionsCancelTextHint' })} display={({ openApi }) => Boolean(openApi?.data?.showCancel)} />\n ]}\n />\n <div className={style['form-actions-layout-panel']}>\n <div className={style['form-actions-layout-title']}>{formatMessage({ id: 'formActionsLayoutSection' })}</div>\n <FormInfo\n column={1}\n list={[\n <RadioGroup key=\"align\" name=\"align\" label={formatMessage({ id: 'formActionsAlign' })} optionType=\"button\" buttonStyle=\"solid\" options={alignOptions} className={style['form-actions-align-group']} />,\n <Slider key=\"gap\" name=\"gap\" label={formatMessage({ id: 'formActionsGap' })} min={0} max={64} step={1} marks={gapMarks} tooltip={{ formatter: v => `${v ?? 0}px` }} className={style['form-actions-gap-slider']} />\n ]}\n />\n </div>\n </div>\n </FormModal>\n );\n};\n\nexport default FormActionsEditor;\n","import { createElement, useCallback, useEffect, useMemo } from 'react';\nimport { useFormContext, RadioGroup, CheckboxGroup } from '@kne/react-form-antd';\nimport InfoPage from '@kne/info-page';\nimport { collectBlockFieldNames } from './schema';\nimport style from './style.module.scss';\n\nconst getByPath = (obj, path) => {\n if (obj == null || path == null || path === '') {\n return undefined;\n }\n return String(path)\n .split('.')\n .reduce((current, key) => (current == null ? undefined : current[key]), obj);\n};\n\nconst resolveSelectorName = block => {\n if (block.selectorName != null && String(block.selectorName).trim()) {\n return String(block.selectorName).trim();\n }\n if (block.discriminator?.propertyName) {\n return String(block.discriminator.propertyName).trim();\n }\n return `__choice_${block.id}`;\n};\n\nconst resolveSelectedIds = (value, mode) => {\n if (mode === 'multiple') {\n if (Array.isArray(value)) {\n return value.map(String);\n }\n if (value == null || value === '') {\n return [];\n }\n return [String(value)];\n }\n if (value == null || value === '') {\n return [];\n }\n return [String(value)];\n};\n\nconst clearUnselectedOptionFields = (openApi, formData, keepIds, allOptions) => {\n if (!openApi?.setFields) {\n return;\n }\n const entries = [];\n allOptions.forEach(option => {\n if (keepIds.includes(String(option.id))) {\n return;\n }\n (option.list || []).forEach(field => {\n if (!field?.name) {\n return;\n }\n const current = getByPath(formData, field.name);\n if (current !== undefined) {\n entries.push({ name: field.name, value: undefined });\n }\n });\n collectBlockFieldNames(option.blocks || []).forEach(name => {\n const current = getByPath(formData, name);\n if (current !== undefined) {\n entries.push({ name, value: undefined });\n }\n });\n });\n if (!entries.length) {\n return;\n }\n openApi.setFields(entries, { runValidate: false });\n};\n\nconst resolveSelectLimits = block => {\n const minLength = Number.isFinite(Number(block.minLength)) ? Math.max(0, Math.floor(Number(block.minLength))) : undefined;\n let maxLength = Number.isFinite(Number(block.maxLength)) ? Math.max(1, Math.floor(Number(block.maxLength))) : undefined;\n if (minLength != null && maxLength != null && maxLength < minLength) {\n maxLength = minLength;\n }\n return { minLength, maxLength };\n};\n\nconst buildMultipleHint = (formatMessage, minLength, maxLength) => {\n if (minLength != null && maxLength != null) {\n return formatMessage ? formatMessage({ id: 'choiceModeHintMultipleRange' }, { min: minLength, max: maxLength }) : `请选择 ${minLength}–${maxLength} 项`;\n }\n if (minLength != null) {\n return formatMessage ? formatMessage({ id: 'choiceModeHintMultipleMin' }, { count: minLength }) : `请至少选择 ${minLength} 项`;\n }\n if (maxLength != null) {\n return formatMessage ? formatMessage({ id: 'choiceModeHintMultipleMax' }, { count: maxLength }) : `最多选择 ${maxLength} 项`;\n }\n return formatMessage ? formatMessage({ id: 'choiceModeHintMultiple' }) : '可以选择多项';\n};\n\n/**\n * choice:同一条选项 UI;mode=single 只挂载一支;mode=multiple 平铺所有选中支。\n * 外层用 InfoPage.Part 的 title 展示标题。\n */\nconst ChoiceBlock = ({ block, preview = false, isMobile = false, formatMessage, renderOptionContent }) => {\n const mode = block.mode === 'multiple' ? 'multiple' : 'single';\n const selectorName = resolveSelectorName(block);\n const options = useMemo(() => block.options || [], [block.options]);\n const { formData, openApi } = useFormContext() || {};\n const titleText = block.title != null ? String(block.title).trim() : '';\n const title = titleText || (formatMessage ? formatMessage({ id: 'choiceAreaTitle' }) : '请选择');\n const bordered = isMobile ? false : block.bordered || undefined;\n const { minLength, maxLength } = mode === 'multiple' ? resolveSelectLimits(block) : {};\n const firstOptionId = options[0] != null ? String(options[0].id) : undefined;\n\n const rawValue = getByPath(formData || {}, selectorName);\n // 仅随 selector 值变化;勿依赖整个 formData,否则清空未选支字段会触发 options 重算 → CheckboxGroup 死循环\n const selectorValueKey = mode === 'multiple' ? (Array.isArray(rawValue) ? rawValue.map(String).join('\\0') : String(rawValue ?? '')) : String(rawValue ?? '');\n\n // 单选且未选时,写入第一项,保证预览/提交与选项面板一致\n useEffect(() => {\n if (mode !== 'single' || !firstOptionId || !openApi?.setFields) {\n return;\n }\n if (selectorValueKey !== '') {\n return;\n }\n openApi.setFields([{ name: selectorName, value: firstOptionId }], { runValidate: false });\n }, [mode, firstOptionId, selectorName, openApi, selectorValueKey]);\n\n const selectedIdsFromValue = useMemo(() => resolveSelectedIds(rawValue, mode), [selectorValueKey, mode]);\n\n const selectorOptions = useMemo(() => {\n const atMax = mode === 'multiple' && maxLength != null && selectedIdsFromValue.length >= maxLength;\n\n return options.map((option, index) => {\n const value = String(option.id);\n return {\n label: option.title || (formatMessage ? formatMessage({ id: 'choiceOptionFallback' }, { index: index + 1 }) : `选项${index + 1}`),\n value,\n disabled: atMax && !selectedIdsFromValue.includes(value)\n };\n });\n }, [options, formatMessage, selectedIdsFromValue, mode, maxLength]);\n\n let selectedIds = selectedIdsFromValue;\n if (mode === 'single' && !selectedIds.length && firstOptionId) {\n selectedIds = [firstOptionId];\n }\n const activeOptions = options.filter(option => selectedIds.includes(String(option.id)));\n\n const handleChange = useCallback(\n value => {\n let nextIds = resolveSelectedIds(value, mode);\n if (mode === 'multiple' && maxLength != null && nextIds.length > maxLength) {\n nextIds = nextIds.slice(0, maxLength);\n openApi?.setFields?.([{ name: selectorName, value: nextIds }], { runValidate: false });\n }\n clearUnselectedOptionFields(openApi, formData, nextIds, options);\n },\n [mode, maxLength, openApi, selectorName, formData, options]\n );\n\n const selectorRule = useCallback(\n value => {\n const ids = resolveSelectedIds(value, 'multiple');\n if (minLength != null && ids.length < minLength) {\n return {\n result: false,\n errMsg: formatMessage ? formatMessage({ id: 'choiceMinSelectError' }, { count: minLength }) : `请至少选择 ${minLength} 项`\n };\n }\n if (maxLength != null && ids.length > maxLength) {\n return {\n result: false,\n errMsg: formatMessage ? formatMessage({ id: 'choiceMaxSelectError' }, { count: maxLength }) : `最多只能选择 ${maxLength} 项`\n };\n }\n return { result: true, errMsg: '' };\n },\n [minLength, maxLength, formatMessage]\n );\n\n const hasSelectLimitRule = mode === 'multiple' && (minLength != null || maxLength != null);\n\n const Selector = mode === 'multiple' ? CheckboxGroup : RadioGroup;\n const selectorProps = {\n key: `choice-selector-${mode}`,\n name: selectorName,\n label: titleText || (formatMessage ? formatMessage({ id: 'choiceAreaTitle' }) : '请选择'),\n labelHidden: true,\n options: selectorOptions,\n onChange: handleChange,\n ...(hasSelectLimitRule ? { rule: selectorRule } : {}),\n ...(mode === 'single'\n ? {\n optionType: 'button',\n buttonStyle: 'solid',\n ...(firstOptionId ? { defaultValue: firstOptionId } : {})\n }\n : {\n // CheckboxGroup 需要数组初值,避免 undefined↔[] 来回同步\n defaultValue: []\n })\n };\n\n const contentChildren = [];\n activeOptions.forEach(option => {\n const nodes = (typeof renderOptionContent === 'function' ? renderOptionContent(option, { preview, isMobile, formatMessage }) : []) || [];\n if (nodes.length) {\n contentChildren.push(\n createElement('div', { key: option.id, className: style['choice-option-panel'] }, mode === 'multiple' && option.title ? createElement('div', { className: style['choice-option-panel-title'] }, option.title) : null, ...nodes)\n );\n }\n });\n\n const modeHint = mode === 'multiple' ? buildMultipleHint(formatMessage, minLength, maxLength) : formatMessage ? formatMessage({ id: 'choiceModeHintSingle' }) : '请选择其中一项';\n\n return createElement(\n InfoPage.Part,\n {\n title,\n subtitle: modeHint,\n bordered,\n className: style['choice-block'],\n 'data-choice-mode': mode\n },\n createElement('div', { className: style['choice-selector'] }, createElement(Selector, selectorProps)),\n contentChildren.length\n ? createElement('div', { className: style['choice-panels'] }, ...contentChildren)\n : createElement('div', { className: style['choice-panels-empty'] }, formatMessage ? formatMessage({ id: 'choiceSelectFirstHint' }) : '请先在上方选择')\n );\n};\n\nexport default ChoiceBlock;\n","import { createElement, Fragment } from 'react';\nimport { Tooltip } from 'antd';\nimport { ArrowLeftOutlined, ArrowRightOutlined, QuestionCircleOutlined } from '@ant-design/icons';\nimport FormInfo, { Form, List, TableList, MultiField, Steps } from '@kne/form-info';\nimport { getFieldComponent, getFieldDefinition } from './fieldRegistry';\nimport { createApiFromOptions } from './fields/optionsApi';\nimport { MAX_BLOCK_DEPTH, normalizeSchema, collectBlockFieldNames } from './schema';\nimport ChoiceBlock from './ChoiceBlock';\nimport style from './style.module.scss';\n\nconst buildLabelTips = tips => {\n if (tips == null || !String(tips).trim()) {\n return undefined;\n }\n return createElement(Tooltip, { title: tips }, createElement(QuestionCircleOutlined, { className: style['field-label-tips-icon'] }));\n};\n\nconst renderFieldElements = (fields = [], preview = false, { namePrefix } = {}) =>\n fields\n .filter(field => !field.hidden)\n .map(field => {\n const Component = getFieldComponent(field.type, field);\n if (!Component) {\n return null;\n }\n const definition = getFieldDefinition(field.type);\n const props = { ...(definition?.defaultProps || {}), ...(field.props || {}) };\n\n if (definition?.optionsAllowDescription && props.options?.length && !props.api && !definition.optionsAllowChildren) {\n props.api = createApiFromOptions(props.options);\n }\n\n if (!Array.isArray(props.placeholder) && props.placeholder != null && !String(props.placeholder).trim()) {\n delete props.placeholder;\n }\n\n delete props.range;\n\n const description = field.description != null && String(field.description).trim() ? field.description : undefined;\n const fieldName = namePrefix && field.name ? `${namePrefix}.${field.name}` : field.name;\n\n return createElement(Component, {\n key: field.id,\n name: fieldName,\n label: field.label,\n rule: field.rule || undefined,\n block: field.block || undefined,\n ...props,\n labelTips: buildLabelTips(field.tips),\n description\n });\n })\n .filter(Boolean);\n\nconst withBlockLayout = (element, forceBlock) => {\n if (!element || !forceBlock) {\n return element;\n }\n return createElement(element.type, {\n ...element.props,\n key: element.key,\n block: true\n });\n};\n\n/** 列表子项内嵌的 FormInfo/object:表头圆角、去掉底边,压过 antd Card CSS-in-JS。\n * 不要套到嵌套 List 上,否则会干扰 form-info 的 nestDepth / nest-beyond 满宽样式。 */\nconst nestedListItemPartProps = {\n styles: {\n header: {\n borderBottom: 'none',\n borderRadius: 'var(--radius-default, 8px) var(--radius-default, 8px) 0 0'\n }\n },\n style: {\n borderRadius: 'var(--radius-default, 8px)',\n overflow: 'hidden'\n }\n};\n\nconst isFormInfoLikeBlock = kind => kind === 'formInfo' || kind === 'object';\n\nexport const renderBlockElement = (block, preview = false, ctx = {}) => {\n const { isMobile = false, formatMessage, depth = 0, asListItem = false } = ctx;\n if (!block || depth > MAX_BLOCK_DEPTH) {\n return null;\n }\n\n const nextCtx = { ...ctx, depth: depth + 1, asListItem: false };\n const bordered = isMobile ? false : block.bordered || undefined;\n // 仅 FormInfo/object 吃列表项 Part 样式;List 等交给 form-info nestDepth\n const listItemPartProps = asListItem && isFormInfoLikeBlock(block.kind) ? nestedListItemPartProps : null;\n\n const renderChildBlocks = (blocks = [], childCtx = nextCtx) => (blocks || []).map(child => renderBlockElement(child, preview, childCtx)).filter(Boolean);\n\n /** list.itemBlocks:object/formInfo 走 asListItem;嵌套 list 等保持 nestDepth 链路 */\n const renderItemBlocks = (blocks = []) =>\n (blocks || [])\n .map(child => {\n const childCtx = { ...nextCtx, asListItem: isFormInfoLikeBlock(child.kind) };\n return withBlockLayout(renderBlockElement(child, preview, childCtx), true);\n })\n .filter(Boolean);\n\n switch (block.kind) {\n case 'formInfo': {\n const fields = renderFieldElements(block.list, preview);\n const nested = renderChildBlocks(block.blocks || [], nextCtx).map(node => withBlockLayout(node, true));\n return withBlockLayout(\n createElement(FormInfo, {\n key: block.id,\n title: block.title || undefined,\n subtitle: block.subtitle || undefined,\n column: block.column,\n gap: block.gap,\n bordered,\n list: [...fields, ...nested],\n ...(listItemPartProps || {})\n }),\n asListItem\n );\n }\n case 'object': {\n const fields = renderFieldElements(block.list, preview, { namePrefix: block.name || '' });\n const nested = renderChildBlocks(block.blocks || [], nextCtx).map(node => withBlockLayout(node, true));\n return withBlockLayout(\n createElement(FormInfo, {\n key: block.id,\n title: block.title || undefined,\n subtitle: block.subtitle || undefined,\n column: block.column,\n gap: block.gap,\n bordered,\n list: [...fields, ...nested],\n ...(listItemPartProps || {})\n }),\n asListItem\n );\n }\n case 'list': {\n const fields = renderFieldElements(block.list, preview);\n const nested = renderItemBlocks(block.itemBlocks || []);\n return withBlockLayout(\n createElement(List, {\n key: block.id,\n name: block.name,\n title: block.title || undefined,\n important: block.important || undefined,\n bordered,\n maxLength: block.maxLength,\n minLength: block.minLength,\n ...(block.addText ? { addText: block.addText } : {}),\n ...(typeof block.itemTitle === 'function' || block.itemTitle ? { itemTitle: block.itemTitle } : {}),\n list: [...fields, ...nested]\n }),\n asListItem\n );\n }\n case 'tableList': {\n const fields = renderFieldElements(block.list, preview);\n return withBlockLayout(\n createElement(TableList, {\n key: block.id,\n name: block.name,\n title: block.title || undefined,\n bordered,\n maxLength: block.maxLength,\n minLength: block.minLength,\n ...(block.addText ? { addText: block.addText } : {}),\n list: fields,\n ...(listItemPartProps || {})\n }),\n asListItem\n );\n }\n case 'multiField': {\n const FieldComponent = getFieldComponent(block.fieldType);\n if (!FieldComponent) {\n return null;\n }\n return withBlockLayout(\n createElement(MultiField, {\n key: block.id,\n name: block.name,\n label: block.label,\n field: FieldComponent,\n block: block.block || undefined,\n ...(block.addText ? { addText: block.addText } : {})\n }),\n asListItem\n );\n }\n case 'steps': {\n return withBlockLayout(\n createElement(Steps, {\n key: block.id,\n title: block.title || undefined,\n subtitle: block.subtitle || undefined,\n bordered,\n prevIcon: createElement(ArrowLeftOutlined),\n nextIcon: createElement(ArrowRightOutlined),\n items: (block.items || []).map(step => {\n const fields = renderFieldElements(step.list, preview);\n const nested = renderChildBlocks(step.blocks || [], nextCtx);\n const fieldNames = [...(step.list || []).filter(field => field && !field.hidden && field.name).map(field => field.name), ...collectBlockFieldNames(step.blocks || [])];\n if (nested.length) {\n return {\n key: step.id,\n title: step.title,\n column: step.column,\n gap: block.gap,\n fieldNames,\n children: createElement(\n Fragment,\n { key: `${step.id}-body` },\n fields.length\n ? createElement(FormInfo, {\n key: `${step.id}-fields`,\n column: step.column,\n gap: block.gap,\n list: fields\n })\n : null,\n ...nested\n )\n };\n }\n return {\n key: step.id,\n title: step.title,\n column: step.column,\n gap: block.gap,\n list: fields,\n fieldNames\n };\n })\n }),\n asListItem\n );\n }\n case 'choice':\n return withBlockLayout(\n createElement(ChoiceBlock, {\n key: block.id,\n block,\n preview,\n isMobile,\n formatMessage,\n renderOptionContent: option => {\n const nodes = [];\n if ((option.list || []).length) {\n nodes.push(\n createElement(FormInfo, {\n key: `${option.id}-fields`,\n column: block.column || 2,\n gap: block.gap,\n list: renderFieldElements(option.list, preview)\n })\n );\n }\n nodes.push(...renderChildBlocks(option.blocks || [], nextCtx));\n return nodes.filter(Boolean);\n }\n }),\n asListItem\n );\n default:\n return null;\n }\n};\n\nexport const renderSchemaInner = (schema, { preview = false, className, bodyClassName, isMobile = false, formatMessage, children, actionNode } = {}) => {\n const normalized = normalizeSchema(schema);\n const blocks = normalized.blocks || [];\n const contentChildren = blocks.map(block => renderBlockElement(block, preview, { isMobile, formatMessage })).filter(Boolean);\n\n if (!contentChildren.length && !children && !actionNode) {\n return null;\n }\n\n const body = createElement('div', { className: [style['schema-body'], bodyClassName].filter(Boolean).join(' ') }, ...contentChildren, children);\n const content = createElement(Fragment, null, body, actionNode || null);\n\n return className ? createElement('div', { className }, content) : content;\n};\n\nexport const renderSchemaContent = (schema, { preview = false, formProps = {}, className, bodyClassName, isMobile = false, formatMessage, children, actionNode } = {}) => {\n const normalized = normalizeSchema(schema);\n const blocks = normalized.blocks || [];\n const contentChildren = blocks.map(block => renderBlockElement(block, preview, { isMobile, formatMessage })).filter(Boolean);\n\n if (!contentChildren.length && !children) {\n return null;\n }\n\n const formClassName = [style['schema-form'], formProps.className, className].filter(Boolean).join(' ');\n\n return createElement(\n Form,\n {\n ...formProps,\n className: formClassName\n },\n createElement('div', { className: [style['schema-body'], bodyClassName].filter(Boolean).join(' ') }, ...contentChildren, children),\n actionNode || null\n );\n};\n\nexport default renderSchemaContent;\n","import { createElement } from 'react';\nimport { Flex } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport { SubmitButton, ResetButton, CancelButton } from '@kne/react-form-antd';\nimport { ButtonFooter } from '@kne/button-group';\nimport withLocale from './withLocale';\nimport renderSchemaContent, { renderSchemaInner } from './renderSchema';\nimport { hasRenderableContent, normalizeFormActions, normalizeSchema } from './schema';\nimport style from './style.module.scss';\nimport '@kne/form-info/dist/index.css';\nimport '@kne/info-page/dist/index.css';\nimport '@kne/button-group/dist/index.css';\n\nconst joinClass = (...names) => names.filter(Boolean).join(' ');\n\nconst resolveActionNode = ({\n schema,\n formatMessage,\n actions,\n showActions = true,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n footerClassName,\n buttonFooter = false,\n buttonFooterProps\n}) => {\n if (showActions === false || actions === false || actions === null) {\n return null;\n }\n\n const normalized = normalizeSchema(schema);\n const schemaActions = normalizeFormActions(normalized.actions);\n const resolvedShowSubmit = showSubmit ?? schemaActions.showSubmit;\n const resolvedShowReset = showReset ?? schemaActions.showReset;\n const resolvedShowCancel = showCancel ?? schemaActions.showCancel;\n const resolvedAlign = actionsAlign || schemaActions.align || 'center';\n const resolvedGap = actionsGap != null ? actionsGap : schemaActions.gap;\n const resolvedSubmitText =\n (submitText != null && String(submitText).trim() ? submitText : null) || (schemaActions.submitText && String(schemaActions.submitText).trim() ? schemaActions.submitText : null) || formatMessage({ id: 'submit' });\n const resolvedResetText = (resetText != null && String(resetText).trim() ? resetText : null) || (schemaActions.resetText && String(schemaActions.resetText).trim() ? schemaActions.resetText : null) || formatMessage({ id: 'reset' });\n const resolvedCancelText =\n (cancelText != null && String(cancelText).trim() ? cancelText : null) || (schemaActions.cancelText && String(schemaActions.cancelText).trim() ? schemaActions.cancelText : null) || formatMessage({ id: 'cancel' });\n const resolvedSubmitButtonProps = {\n ...(schemaActions.submitButtonProps || {}),\n ...(submitButtonProps || {})\n };\n const resolvedResetButtonProps = {\n ...(schemaActions.resetButtonProps || {}),\n ...(resetButtonProps || {})\n };\n const resolvedCancelButtonProps = {\n ...(schemaActions.cancelButtonProps || {}),\n ...(cancelButtonProps || {})\n };\n\n const flexProps = {\n className: style['schema-actions-inner'],\n justify: resolvedAlign,\n gap: resolvedGap ?? 16,\n wrap: 'wrap'\n };\n\n let actionsEl = null;\n\n if (actions !== undefined) {\n actionsEl = createElement('div', { className: joinClass(style['schema-actions'], footerClassName) }, createElement(Flex, flexProps, actions));\n } else if (resolvedShowSubmit || resolvedShowReset || resolvedShowCancel) {\n actionsEl = createElement(\n 'div',\n { className: joinClass(style['schema-actions'], footerClassName) },\n createElement(\n Flex,\n flexProps,\n resolvedShowSubmit ? createElement(SubmitButton, { type: 'primary', ...resolvedSubmitButtonProps }, resolvedSubmitText) : null,\n resolvedShowReset ? createElement(ResetButton, resolvedResetButtonProps, resolvedResetText) : null,\n resolvedShowCancel ? createElement(CancelButton, resolvedCancelButtonProps, resolvedCancelText) : null\n )\n );\n }\n\n if (!actionsEl) {\n return null;\n }\n\n if (!buttonFooter) {\n return actionsEl;\n }\n\n const footerProps = buttonFooterProps || {};\n return createElement(ButtonFooter, footerProps, actionsEl);\n};\n\nexport const SchemaRendererInner = withLocale(props => {\n const {\n schema,\n preview = false,\n className,\n children,\n showActions = true,\n actions,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n bodyClassName,\n footerClassName,\n buttonFooter = false,\n buttonFooterProps\n } = props;\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const normalized = normalizeSchema(schema);\n\n if (!hasRenderableContent(normalized)) {\n return null;\n }\n\n const actionNode = resolveActionNode({\n schema: normalized,\n formatMessage,\n showActions,\n actions,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n footerClassName,\n buttonFooter,\n buttonFooterProps\n });\n\n return renderSchemaInner(normalized, {\n preview,\n className,\n bodyClassName,\n isMobile,\n formatMessage,\n children,\n actionNode\n });\n});\n\nconst SchemaRenderer = withLocale(props => {\n const {\n schema,\n formProps = {},\n preview = false,\n className,\n children,\n showActions = true,\n actions,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n bodyClassName,\n footerClassName,\n buttonFooter = false,\n buttonFooterProps\n } = props;\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const normalized = normalizeSchema(schema);\n\n if (!hasRenderableContent(normalized)) {\n return null;\n }\n\n const actionNode = resolveActionNode({\n schema: normalized,\n formatMessage,\n showActions,\n actions,\n submitText,\n resetText,\n cancelText,\n submitButtonProps,\n resetButtonProps,\n cancelButtonProps,\n showSubmit,\n showReset,\n showCancel,\n actionsAlign,\n actionsGap,\n footerClassName,\n buttonFooter,\n buttonFooterProps\n });\n\n return renderSchemaContent(normalized, {\n preview,\n formProps,\n className,\n bodyClassName,\n isMobile,\n formatMessage,\n children,\n actionNode\n });\n});\n\nexport default SchemaRenderer;\n","import { useMemo, useState } from 'react';\nimport { Empty } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile, RESPONSIVE_BOUNDARY_CLASS } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport { collectSchemaFields, createBlock, createChoiceOption, createStep, defaultSchema, findBlock, mapBlocks, moveBlockInTree, moveItem, normalizeSchema, hasRenderableContent, removeBlockInTree, updateBlocks } from './schema';\nimport BlockListPanel from './BlockListPanel';\nimport BlockEditorModal from './BlockEditorModal';\nimport StepEditorModal from './StepEditorModal';\nimport ChoiceOptionEditorModal from './ChoiceOptionEditorModal';\nimport FieldEditorModal from './FieldEditorModal';\nimport FormActionsEditor from './FormActionsEditor';\nimport SchemaRenderer from './SchemaRenderer';\nimport style from './style.module.scss';\n\nconst FormCreator = withLocale(({ value, defaultValue, onChange, showPreview = true, className, formProps, renderModal, extraToolbar }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const [innerSchema, setInnerSchema] = useState(() => normalizeSchema(defaultValue || defaultSchema()));\n const [blockEditorOpen, setBlockEditorOpen] = useState(false);\n const [editingBlock, setEditingBlock] = useState(null);\n const [blockParentId, setBlockParentId] = useState(null);\n const [blockParentStepId, setBlockParentStepId] = useState(null);\n const [blockParentOptionId, setBlockParentOptionId] = useState(null);\n const [stepEditorOpen, setStepEditorOpen] = useState(false);\n const [stepContext, setStepContext] = useState(null);\n const [choiceOptionEditorOpen, setChoiceOptionEditorOpen] = useState(false);\n const [choiceOptionContext, setChoiceOptionContext] = useState(null);\n const [fieldEditorOpen, setFieldEditorOpen] = useState(false);\n const [fieldContext, setFieldContext] = useState(null);\n const [editingField, setEditingField] = useState(null);\n const [formActionsOpen, setFormActionsOpen] = useState(false);\n\n const schema = useMemo(() => normalizeSchema(value ?? innerSchema), [value, innerSchema]);\n\n const updateSchema = nextSchema => {\n const normalized = normalizeSchema(nextSchema);\n if (value === undefined) {\n setInnerSchema(normalized);\n }\n onChange?.(normalized);\n };\n\n const clearBlockEditor = () => {\n setBlockEditorOpen(false);\n setEditingBlock(null);\n setBlockParentId(null);\n setBlockParentStepId(null);\n setBlockParentOptionId(null);\n };\n\n const handleAddBlock = (kind, { parentBlockId, stepId, optionId } = {}) => {\n setEditingBlock(createBlock(kind));\n setBlockParentId(parentBlockId || null);\n setBlockParentStepId(stepId || null);\n setBlockParentOptionId(optionId || null);\n setBlockEditorOpen(true);\n };\n\n const handleEditBlock = block => {\n setEditingBlock(block);\n setBlockParentId(null);\n setBlockParentStepId(null);\n setBlockParentOptionId(null);\n setBlockEditorOpen(true);\n };\n\n const handleSaveBlock = block => {\n const exists = !!findBlock(schema, block.id);\n if (exists) {\n updateSchema(mapBlocks(schema, block.id, () => block));\n } else if (blockParentId && blockParentStepId) {\n updateSchema(\n mapBlocks(schema, blockParentId, parent => ({\n ...parent,\n items: (parent.items || []).map(step => (step.id === blockParentStepId ? { ...step, blocks: [...(step.blocks || []), block] } : step))\n }))\n );\n } else if (blockParentId && blockParentOptionId) {\n updateSchema(\n mapBlocks(schema, blockParentId, parent => ({\n ...parent,\n options: (parent.options || []).map(option => (option.id === blockParentOptionId ? { ...option, blocks: [...(option.blocks || []), block] } : option))\n }))\n );\n } else if (blockParentId) {\n updateSchema(\n mapBlocks(schema, blockParentId, parent => {\n if (parent.kind === 'list') {\n return {\n ...parent,\n itemBlocks: [...(parent.itemBlocks || []), block]\n };\n }\n return {\n ...parent,\n blocks: [...(parent.blocks || []), block]\n };\n })\n );\n } else {\n updateSchema({\n ...schema,\n blocks: [...schema.blocks, block]\n });\n }\n clearBlockEditor();\n };\n\n const handleDeleteBlock = blockId => {\n updateSchema(updateBlocks(schema, blocks => removeBlockInTree(blocks, blockId)));\n };\n\n const handleMoveBlock = (blockId, direction) => {\n updateSchema(updateBlocks(schema, blocks => moveBlockInTree(blocks, blockId, direction)));\n };\n\n const handleAddStep = blockId => {\n setStepContext({ blockId, step: createStep() });\n setStepEditorOpen(true);\n };\n\n const handleEditStep = (blockId, step) => {\n setStepContext({ blockId, step });\n setStepEditorOpen(true);\n };\n\n const handleSaveStep = step => {\n const { blockId } = stepContext;\n updateSchema(\n mapBlocks(schema, blockId, block => {\n const exists = (block.items || []).some(item => item.id === step.id);\n return {\n ...block,\n items: exists ? block.items.map(item => (item.id === step.id ? step : item)) : [...(block.items || []), step]\n };\n })\n );\n setStepEditorOpen(false);\n setStepContext(null);\n };\n\n const handleDeleteStep = (blockId, stepId) => {\n updateSchema(\n mapBlocks(schema, blockId, block => ({\n ...block,\n items: (block.items || []).filter(item => item.id !== stepId)\n }))\n );\n };\n\n const handleMoveStep = (blockId, stepId, direction) => {\n updateSchema(\n mapBlocks(schema, blockId, block => ({\n ...block,\n items: moveItem(block.items || [], stepId, direction)\n }))\n );\n };\n\n const handleAddChoiceOption = blockId => {\n setChoiceOptionContext({ blockId, option: createChoiceOption() });\n setChoiceOptionEditorOpen(true);\n };\n\n const handleEditChoiceOption = (blockId, option) => {\n setChoiceOptionContext({ blockId, option });\n setChoiceOptionEditorOpen(true);\n };\n\n const handleSaveChoiceOption = option => {\n const { blockId } = choiceOptionContext;\n updateSchema(\n mapBlocks(schema, blockId, block => {\n const exists = (block.options || []).some(item => item.id === option.id);\n return {\n ...block,\n options: exists ? block.options.map(item => (item.id === option.id ? option : item)) : [...(block.options || []), option]\n };\n })\n );\n setChoiceOptionEditorOpen(false);\n setChoiceOptionContext(null);\n };\n\n const handleDeleteChoiceOption = (blockId, optionId) => {\n updateSchema(\n mapBlocks(schema, blockId, block => ({\n ...block,\n options: (block.options || []).filter(item => item.id !== optionId)\n }))\n );\n };\n\n const handleMoveChoiceOption = (blockId, optionId, direction) => {\n updateSchema(\n mapBlocks(schema, blockId, block => ({\n ...block,\n options: moveItem(block.options || [], optionId, direction)\n }))\n );\n };\n\n const normalizeFieldScope = scope => {\n if (typeof scope === 'string' || scope == null) {\n return { stepId: scope };\n }\n return scope;\n };\n\n const handleAddField = (blockId, scope) => {\n setFieldContext({ blockId, ...normalizeFieldScope(scope) });\n setEditingField(null);\n setFieldEditorOpen(true);\n };\n\n const handleEditField = (blockId, field, scope) => {\n setFieldContext({ blockId, ...normalizeFieldScope(scope) });\n setEditingField(field);\n setFieldEditorOpen(true);\n };\n\n const handleSaveField = field => {\n const { blockId, stepId, optionId } = fieldContext || {};\n updateSchema(\n mapBlocks(schema, blockId, block => {\n if (block.kind === 'steps') {\n return {\n ...block,\n items: (block.items || []).map(step => {\n if (step.id !== stepId) {\n return step;\n }\n const exists = (step.list || []).some(item => item.id === field.id);\n return {\n ...step,\n list: exists ? step.list.map(item => (item.id === field.id ? field : item)) : [...(step.list || []), field]\n };\n })\n };\n }\n if (block.kind === 'choice') {\n return {\n ...block,\n options: (block.options || []).map(option => {\n if (option.id !== optionId) {\n return option;\n }\n const exists = (option.list || []).some(item => item.id === field.id);\n return {\n ...option,\n list: exists ? option.list.map(item => (item.id === field.id ? field : item)) : [...(option.list || []), field]\n };\n })\n };\n }\n const exists = (block.list || []).some(item => item.id === field.id);\n return {\n ...block,\n list: exists ? block.list.map(item => (item.id === field.id ? field : item)) : [...(block.list || []), field]\n };\n })\n );\n setFieldEditorOpen(false);\n setFieldContext(null);\n setEditingField(null);\n };\n\n const handleDeleteField = (blockId, fieldId, scope) => {\n const { stepId, optionId } = normalizeFieldScope(scope);\n updateSchema(\n mapBlocks(schema, blockId, block => {\n if (block.kind === 'steps') {\n return {\n ...block,\n items: (block.items || []).map(step => (step.id === stepId ? { ...step, list: (step.list || []).filter(item => item.id !== fieldId) } : step))\n };\n }\n if (block.kind === 'choice') {\n return {\n ...block,\n options: (block.options || []).map(option => (option.id === optionId ? { ...option, list: (option.list || []).filter(item => item.id !== fieldId) } : option))\n };\n }\n return {\n ...block,\n list: (block.list || []).filter(item => item.id !== fieldId)\n };\n })\n );\n };\n\n const handleMoveField = (blockId, fieldId, direction, scope) => {\n const { stepId, optionId } = normalizeFieldScope(scope);\n updateSchema(\n mapBlocks(schema, blockId, block => {\n if (block.kind === 'steps') {\n return {\n ...block,\n items: (block.items || []).map(step => (step.id === stepId ? { ...step, list: moveItem(step.list || [], fieldId, direction) } : step))\n };\n }\n if (block.kind === 'choice') {\n return {\n ...block,\n options: (block.options || []).map(option => (option.id === optionId ? { ...option, list: moveItem(option.list || [], fieldId, direction) } : option))\n };\n }\n return {\n ...block,\n list: moveItem(block.list || [], fieldId, direction)\n };\n })\n );\n };\n\n const currentFieldScope = fieldContext ? collectSchemaFields(schema, { blockId: fieldContext.blockId, stepId: fieldContext.stepId, optionId: fieldContext.optionId }) : [];\n const toolbarExtra = typeof extraToolbar === 'function' ? extraToolbar({ schema }) : extraToolbar;\n\n return (\n <div className={[style['form-creator'], RESPONSIVE_BOUNDARY_CLASS, isMobile ? style['is-mobile'] : '', className].filter(Boolean).join(' ')}>\n <div className={style['editor-pane']}>\n <BlockListPanel\n blocks={schema.blocks}\n onAddBlock={handleAddBlock}\n onEditBlock={handleEditBlock}\n onDeleteBlock={handleDeleteBlock}\n onMoveBlock={handleMoveBlock}\n onAddField={handleAddField}\n onEditField={handleEditField}\n onDeleteField={handleDeleteField}\n onMoveField={handleMoveField}\n onAddStep={handleAddStep}\n onEditStep={handleEditStep}\n onDeleteStep={handleDeleteStep}\n onMoveStep={handleMoveStep}\n onAddChoiceOption={handleAddChoiceOption}\n onEditChoiceOption={handleEditChoiceOption}\n onDeleteChoiceOption={handleDeleteChoiceOption}\n onMoveChoiceOption={handleMoveChoiceOption}\n onOpenFormActions={() => setFormActionsOpen(true)}\n extraToolbar={toolbarExtra}\n />\n </div>\n {showPreview ? (\n <div className={style['preview-pane']}>\n <div className={style['preview-body']}>\n {hasRenderableContent(schema) ? <SchemaRenderer schema={schema} preview formProps={formProps} /> : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={formatMessage({ id: 'emptyBlockList' })} />}\n </div>\n </div>\n ) : null}\n <BlockEditorModal open={blockEditorOpen} block={editingBlock} renderModal={renderModal} onCancel={clearBlockEditor} onSave={handleSaveBlock} />\n <StepEditorModal\n open={stepEditorOpen}\n step={stepContext?.step}\n renderModal={renderModal}\n onCancel={() => {\n setStepEditorOpen(false);\n setStepContext(null);\n }}\n onSave={handleSaveStep}\n />\n <ChoiceOptionEditorModal\n open={choiceOptionEditorOpen}\n option={choiceOptionContext?.option}\n renderModal={renderModal}\n onCancel={() => {\n setChoiceOptionEditorOpen(false);\n setChoiceOptionContext(null);\n }}\n onSave={handleSaveChoiceOption}\n />\n <FieldEditorModal\n open={fieldEditorOpen}\n field={editingField}\n fieldList={currentFieldScope}\n renderModal={renderModal}\n onCancel={() => {\n setFieldEditorOpen(false);\n setFieldContext(null);\n setEditingField(null);\n }}\n onSave={handleSaveField}\n />\n <FormActionsEditor\n open={formActionsOpen}\n value={schema.actions}\n renderModal={renderModal}\n onCancel={() => setFormActionsOpen(false)}\n onSave={actions => {\n updateSchema({ ...schema, actions });\n setFormActionsOpen(false);\n }}\n />\n </div>\n );\n});\n\nexport default FormCreator;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Flex } from 'antd';\nimport style from './style.module.scss';\n\nconst IMAGE_EXT = /\\.(png|jpe?g|gif|webp|bmp|svg|avif)(?:[?#].*)?$/i;\n\nconst toFileList = value => {\n if (value == null || value === '') {\n return [];\n }\n return Array.isArray(value) ? value : [value];\n};\n\nconst isHttpLike = value => typeof value === 'string' && /^(https?:|blob:|data:)/i.test(value);\n\nconst pickFilePreviewProps = file => {\n if (file == null || file === '') {\n return null;\n }\n if (typeof file === 'string') {\n const filename = file.split('/').pop() || file;\n if (isHttpLike(file)) {\n return { src: file, filename, originName: filename };\n }\n return { filename, originName: filename };\n }\n if (typeof file !== 'object') {\n return null;\n }\n const filename = file.filename || file.name || file.originName || file.originFileObj?.name;\n const src = file.src || file.url || file.path || file.thumbUrl;\n const id = file.id || file.uuid || file.fileId;\n if (!src && !id && !filename) {\n return null;\n }\n return {\n ...(src ? { src } : {}),\n ...(id ? { id } : {}),\n filename,\n originName: file.originName || filename,\n mimetype: file.mimetype || file.type || file.originFileObj?.type\n };\n};\n\nconst isImageFile = (item, field) => {\n const type = field?.type;\n if (type === 'Avatar' || type === 'Signature') {\n return true;\n }\n const mime = item?.mimetype;\n if (typeof mime === 'string' && mime.startsWith('image/')) {\n return true;\n }\n return IMAGE_EXT.test(String(item?.filename || item?.originName || item?.src || ''));\n};\n\nconst FileFieldPreview = createWithRemoteLoader({\n modules: ['components-core:File@FileLink', 'components-core:Image']\n})(({ remoteModules, value, field }) => {\n const [FileLink, Image] = remoteModules;\n const files = toFileList(value).map(pickFilePreviewProps).filter(Boolean);\n\n if (!files.length) {\n return null;\n }\n\n return (\n <Flex vertical gap={8} className={style['schema-content-file-list']}>\n {files.map((item, index) => {\n const key = item.id || item.src || item.filename || String(index);\n const filename = item.filename || item.originName || '';\n const canPreview = !!(item.id || item.src);\n const asImage = isImageFile(item, field);\n\n if (!canPreview) {\n return (\n <span key={key} className={style['schema-content-file-name']}>\n {filename}\n </span>\n );\n }\n\n const linkProps = {\n id: item.id,\n src: item.src,\n url: item.src,\n filename,\n originName: item.originName || filename\n };\n\n if (asImage) {\n const preview = field?.type === 'Avatar' ? <Image.Avatar id={item.id} src={item.src} size={64} shape=\"square\" alt={filename} /> : <Image id={item.id} src={item.src} alt={filename} className={style['schema-content-file-image']} />;\n return (\n <FileLink key={key} className={style['schema-content-file']} icon={null} {...linkProps}>\n {preview}\n </FileLink>\n );\n }\n\n return (\n <FileLink key={key} className={style['schema-content-file']} {...linkProps}>\n {filename}\n </FileLink>\n );\n })}\n </Flex>\n );\n});\n\nexport default FileFieldPreview;\n","import { createElement } from 'react';\nimport { getFieldDefinition, resolveFieldValueSchema } from './fieldRegistry';\nimport FileFieldPreview from './FileFieldPreview';\n\nconst TEMPORAL_PATTERN = {\n date: 'YYYY-MM-DD',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n 'date-time': 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY'\n};\n\nconst TYPE_TO_TEMPORAL = {\n date: 'date',\n month: 'month',\n week: 'week',\n time: 'time',\n year: 'year',\n quarter: 'quarter',\n datetime: 'date-time',\n 'date-time': 'date-time'\n};\n\nconst pad = n => String(n).padStart(2, '0');\n\nexport const isEmptyValue = value => {\n if (value == null || value === '') {\n return true;\n }\n if (Array.isArray(value) && value.length === 0) {\n return true;\n }\n return false;\n};\n\nconst toDate = value => {\n if (value == null || value === '') {\n return null;\n }\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? null : value;\n }\n if (typeof value.toDate === 'function') {\n const next = value.toDate();\n return next instanceof Date && !Number.isNaN(next.getTime()) ? next : null;\n }\n if (typeof value.format === 'function' && typeof value.valueOf === 'function') {\n const next = new Date(value.valueOf());\n return Number.isNaN(next.getTime()) ? null : next;\n }\n if (typeof value === 'string' || typeof value === 'number') {\n const next = new Date(value);\n return Number.isNaN(next.getTime()) ? null : next;\n }\n return null;\n};\n\nconst isoWeek = date => {\n const tmp = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n const day = tmp.getUTCDay() || 7;\n tmp.setUTCDate(tmp.getUTCDate() + 4 - day);\n const yearStart = new Date(Date.UTC(tmp.getUTCFullYear(), 0, 1));\n const week = Math.ceil(((tmp - yearStart) / 86400000 + 1) / 7);\n return { year: tmp.getUTCFullYear(), week };\n};\n\nconst applyPattern = (date, pattern) => {\n const year = date.getFullYear();\n const month = date.getMonth() + 1;\n const quarter = Math.ceil(month / 3);\n return pattern\n .replace(/YYYY/g, String(year))\n .replace(/MM/g, pad(month))\n .replace(/DD/g, pad(date.getDate()))\n .replace(/HH/g, pad(date.getHours()))\n .replace(/mm/g, pad(date.getMinutes()))\n .replace(/ss/g, pad(date.getSeconds()))\n .replace(/Q/g, String(quarter));\n};\n\nexport const formatTemporal = (value, formatKey, patternOverride) => {\n if (Array.isArray(value)) {\n return value\n .map(item => formatTemporal(item, formatKey, patternOverride))\n .filter(item => item !== '')\n .join(' ~ ');\n }\n const date = toDate(value);\n if (!date) {\n return value == null || value === '' ? '' : String(value);\n }\n if (formatKey === 'week') {\n const { year, week } = isoWeek(date);\n return `${year}-W${pad(week)}`;\n }\n if (formatKey === 'quarter') {\n return `${date.getFullYear()}-Q${Math.ceil((date.getMonth() + 1) / 3)}`;\n }\n const pattern = patternOverride || TEMPORAL_PATTERN[formatKey] || TEMPORAL_PATTERN.date;\n if (value && typeof value.format === 'function' && patternOverride) {\n try {\n return value.format(patternOverride);\n } catch {\n // fall through to Date formatting\n }\n }\n return applyPattern(date, pattern);\n};\n\nconst isTemporalKey = key => !!(key && (TEMPORAL_PATTERN[key] || key === 'week' || key === 'quarter'));\n\nexport const pickObjectLabel = (item, labelKey = 'label', valueKey = 'value') => {\n if (item == null) {\n return '';\n }\n if (typeof item !== 'object') {\n return item;\n }\n const label = item[labelKey] ?? item.label ?? item.name;\n if (label != null && typeof label !== 'object' && label !== '') {\n return label;\n }\n const raw = item[valueKey] ?? item.value ?? item.id ?? item.code;\n if (raw != null && typeof raw !== 'object') {\n return raw;\n }\n return '';\n};\n\nconst mapOptionLabel = (value, options, labelKey = 'label', valueKey = 'value') => {\n if (value && typeof value === 'object') {\n return pickObjectLabel(value, labelKey, valueKey);\n }\n if (!Array.isArray(options) || !options.length) {\n return value == null ? '' : value;\n }\n const match = options.find(item => item && (item[valueKey] === value || item.value === value));\n return match?.[labelKey] ?? match?.label ?? value;\n};\n\nconst formatOption = (value, field) => {\n const props = field?.props || {};\n const labelKey = props.labelKey || 'label';\n const valueKey = props.valueKey || 'value';\n const pick = item => {\n if (item && typeof item === 'object') {\n return pickObjectLabel(item, labelKey, valueKey);\n }\n return mapOptionLabel(item, props.options, labelKey, valueKey);\n };\n if (Array.isArray(value)) {\n return value\n .map(pick)\n .filter(item => item != null && item !== '')\n .join('、');\n }\n const label = pick(value);\n return label == null ? '' : label;\n};\n\nconst formatPhone = value => {\n if (value == null || value === '') {\n return '';\n }\n if (typeof value === 'string' || typeof value === 'number') {\n const trimmed = String(value).trim().replace(/\\s+/g, ' ');\n return trimmed;\n }\n if (typeof value !== 'object') {\n return String(value);\n }\n const number = String(value.value ?? value.phone ?? value.number ?? '').replace(/\\s+/g, '');\n const rawCode = value.code ?? value.countryCallingCode;\n const code = rawCode == null || rawCode === '' ? '' : String(rawCode).replace(/^\\+/, '');\n if (!number) {\n return '';\n }\n if (!code) {\n return number;\n }\n return `+${code} ${number}`;\n};\n\nconst formatFile = value => {\n if (Array.isArray(value)) {\n return value\n .map(item => formatFile(item))\n .filter(Boolean)\n .join('、');\n }\n if (typeof value === 'string') {\n return value;\n }\n if (!value || typeof value !== 'object') {\n return value == null ? '' : String(value);\n }\n return value.filename || value.name || value.originName || value.originFileObj?.name || value.id || '';\n};\n\nconst formatTypedDateRange = (value, ctx) => {\n if (!value || typeof value !== 'object') {\n return value == null ? '' : String(value);\n }\n const formatKey = TYPE_TO_TEMPORAL[value.type] || 'date';\n const range = formatTemporal(value.value, formatKey, ctx.field?.props?.format);\n const typeLabel = value.type ? String(value.type) : '';\n return [typeLabel, range].filter(Boolean).join(' ');\n};\n\nconst formatDateToToday = (value, itemSchema, ctx) => {\n const items = Array.isArray(value) ? value : [value];\n const formatKey = itemSchema?.format || 'date';\n const start = formatByValueSchema(items[0], itemSchema, ctx);\n if (items[1] == null || items[1] === '' || items[1] === true) {\n const until = ctx.formatMessage?.({ id: 'schemaContentUntilToday' }) || '至今';\n return [start, until].filter(Boolean).join(' ~ ');\n }\n const end = formatByValueSchema(items[1], itemSchema, ctx);\n return [start, end].filter(Boolean).join(' ~ ');\n};\n\nconst formatJson = value => {\n if (typeof value === 'string') {\n try {\n return JSON.stringify(JSON.parse(value), null, 2);\n } catch {\n return value;\n }\n }\n if (value && typeof value === 'object') {\n return JSON.stringify(value, null, 2);\n }\n return value == null ? '' : String(value);\n};\n\nconst formatHtml = value =>\n String(value ?? '')\n .replace(/<[^>]+>/g, ' ')\n .replace(/\\s+/g, ' ')\n .trim();\n\nconst formatMoney = value => {\n const num = Number(value);\n if (Number.isNaN(num)) {\n return value == null ? '' : String(value);\n }\n return num.toLocaleString();\n};\n\nconst formatColor = value => {\n if (value == null) {\n return '';\n }\n if (typeof value === 'string' || typeof value === 'number') {\n return String(value);\n }\n if (typeof value === 'object') {\n if (typeof value.toHexString === 'function') {\n return value.toHexString();\n }\n return value.hex || value.metaColor || pickObjectLabel(value) || '';\n }\n return String(value);\n};\n\nconst formatPassword = (value, ctx) => {\n if (isEmptyValue(value)) {\n return '';\n }\n return ctx.formatMessage?.({ id: 'schemaContentPasswordMasked' }) || '••••••';\n};\n\nconst formatBoolean = (value, field, ctx) => {\n const props = field?.props || {};\n if (value) {\n return props.checkedChildren || ctx.formatMessage?.({ id: 'schemaContentYes' }) || '是';\n }\n return props.unCheckedChildren || ctx.formatMessage?.({ id: 'schemaContentNo' }) || '否';\n};\n\nconst stringifyFallback = value => {\n if (value == null) {\n return '';\n }\n if (typeof value !== 'object') {\n return String(value);\n }\n if (toDate(value)) {\n return formatTemporal(value, 'date-time');\n }\n if (Array.isArray(value)) {\n return value\n .map(item => (item && typeof item === 'object' ? stringifyFallback(item) : String(item ?? '')))\n .filter(Boolean)\n .join('、');\n }\n if (value.label != null || value.name != null) {\n return pickObjectLabel(value);\n }\n if (value.filename || value.mimetype || value.storageType) {\n return formatFile(value);\n }\n if (value.code != null && value.value != null && value.label == null) {\n return formatPhone(value);\n }\n if (value.type != null && Array.isArray(value.value)) {\n return formatTypedDateRange(value, { field: {} });\n }\n try {\n return JSON.stringify(value);\n } catch {\n return '';\n }\n};\n\nexport const formatByValueSchema = (value, schema, ctx = {}) => {\n if (isEmptyValue(value)) {\n return '';\n }\n const resolved = schema && typeof schema === 'object' ? schema : {};\n const type = resolved.type;\n const format = resolved.format;\n const display = resolved.display;\n const field = ctx.field;\n const patternOverride = field?.props?.format;\n\n if (display === 'option') {\n return formatOption(value, field);\n }\n if (display === 'phone') {\n return formatPhone(value);\n }\n if (display === 'file') {\n return createElement(FileFieldPreview, { value, field });\n }\n if (display === 'typed-date-range') {\n return formatTypedDateRange(value, ctx);\n }\n if (display === 'date-to-today') {\n return formatDateToToday(value, resolved.items || { type: 'string', format: 'date' }, ctx);\n }\n if (display === 'html' || format === 'html') {\n return formatHtml(value);\n }\n if (display === 'money') {\n return formatMoney(value);\n }\n if (format === 'password') {\n return formatPassword(value, ctx);\n }\n if (format === 'json') {\n return formatJson(value);\n }\n if (format === 'color') {\n return formatColor(value);\n }\n if (type === 'boolean') {\n return formatBoolean(value, field, ctx);\n }\n if (isTemporalKey(format)) {\n return formatTemporal(value, format, patternOverride);\n }\n if (type === 'array') {\n const items = Array.isArray(value) ? value : [value];\n const itemSchema = resolved.items || {};\n if (itemSchema.display === 'file') {\n return createElement(FileFieldPreview, { value: items, field });\n }\n const joiner = isTemporalKey(itemSchema.format) || itemSchema.display === 'date-to-today' ? ' ~ ' : '、';\n return items\n .map(item => formatByValueSchema(item, itemSchema, ctx))\n .filter(item => item != null && item !== '')\n .join(joiner);\n }\n if (Array.isArray(value)) {\n const itemSchema = resolved.items || { ...resolved, type: undefined };\n if (itemSchema.display === 'file' || resolved.display === 'file') {\n return createElement(FileFieldPreview, { value, field });\n }\n const joiner = isTemporalKey(itemSchema.format) ? ' ~ ' : '、';\n return value\n .map(item => formatByValueSchema(item, itemSchema, ctx))\n .filter(item => item != null && item !== '')\n .join(joiner);\n }\n if (Array.isArray(resolved.enum) || (Array.isArray(field?.props?.options) && field.props.options.length)) {\n const mapped = formatOption(value, field);\n if (mapped != null && mapped !== '') {\n return mapped;\n }\n }\n if (type === 'object') {\n return stringifyFallback(value);\n }\n if (typeof value === 'object') {\n return stringifyFallback(value);\n }\n return String(value);\n};\n\nexport const formatFieldDisplayValue = (field, value, { formatMessage } = {}) => {\n const emptyText = formatMessage?.({ id: 'schemaContentEmptyValue' }) || '-';\n if (isEmptyValue(value)) {\n return emptyText;\n }\n const definition = getFieldDefinition(field?.type);\n if (typeof definition?.formatDisplayValue === 'function') {\n const custom = definition.formatDisplayValue(value, field, { formatMessage });\n if (custom != null && custom !== '') {\n return custom;\n }\n }\n const schema = resolveFieldValueSchema(field);\n const text = formatByValueSchema(value, schema, { field, formatMessage });\n return text == null || text === '' ? emptyText : text;\n};\n","import { preset as applyFormAntdPreset, RULES } from '@kne/react-form-antd';\nimport { registerField } from './fieldRegistry';\nimport { registerRulePreset } from './rulePresets';\n\n/**\n * 统一注册扩展规则与填写项:运行时校验 + 编辑器规则面板 + 字段类型 registry。\n * 应用入口调用一次即可,FormCreator / SchemaRenderer 共用。\n */\nexport const preset = ({ rules = {}, fields = {} } = {}) => {\n const runtimeRules = { ...RULES };\n\n Object.entries(rules).forEach(([value, def]) => {\n if (def == null) {\n return;\n }\n\n if (typeof def === 'function') {\n registerRulePreset({ value, label: value });\n runtimeRules[value] = def;\n return;\n }\n\n const { label, validator, ...ruleBody } = def;\n if (label) {\n registerRulePreset({ value, label });\n }\n\n if (typeof validator === 'function') {\n runtimeRules[value] = validator;\n } else if (Object.keys(ruleBody).length) {\n runtimeRules[value] = ruleBody;\n }\n });\n\n applyFormAntdPreset({ rules: runtimeRules });\n\n Object.entries(fields).forEach(([type, definition]) => {\n registerField(type, definition);\n });\n};\n","import { normalizeSchema } from './schema';\nimport { resolveFieldValueSchema } from './fieldRegistry';\nimport { parseRuleString } from './rulePresets';\n\nconst createObjectLayer = () => ({\n properties: {},\n required: [],\n composites: []\n});\n\nconst isReq = rule => parseRuleString(rule).presets.includes('REQ');\n\nconst resolveChoiceSelectorName = block => {\n if (block.selectorName != null && String(block.selectorName).trim()) {\n return String(block.selectorName).trim();\n }\n if (block.discriminator?.propertyName) {\n return String(block.discriminator.propertyName).trim();\n }\n return `__choice_${block.id}`;\n};\n\nconst mergeFieldIntoLayer = (layer, field, { allowRequired = true } = {}) => {\n if (!field?.name) {\n return;\n }\n const name = String(field.name).trim();\n if (!name) {\n return;\n }\n layer.properties[name] = resolveFieldValueSchema(field);\n if (allowRequired && isReq(field.rule) && !layer.required.includes(name)) {\n layer.required.push(name);\n }\n};\n\nconst mergeFieldsIntoLayer = (layer, fields, options) => {\n (fields || []).forEach(field => mergeFieldIntoLayer(layer, field, options));\n};\n\nconst toFiniteInt = (value, minAllowed) => {\n if (value == null || value === '') {\n return undefined;\n }\n const num = Number(value);\n if (!Number.isFinite(num)) {\n return undefined;\n }\n const int = Math.floor(num);\n return int < minAllowed ? minAllowed : int;\n};\n\nconst finalizeObjectSchema = (layer, { title, description } = {}) => {\n const schema = {\n type: 'object',\n properties: { ...layer.properties }\n };\n if (layer.required.length) {\n schema.required = layer.required.slice();\n }\n if (title) {\n schema.title = title;\n }\n if (description) {\n schema.description = description;\n }\n if (layer.composites.length === 1) {\n Object.assign(schema, layer.composites[0]);\n } else if (layer.composites.length > 1) {\n schema.allOf = layer.composites.slice();\n }\n return schema;\n};\n\nconst walkBlocks = (blocks, layer, depth = 0) => {\n (blocks || []).forEach(block => {\n if (!block) {\n return;\n }\n walkBlock(block, layer, depth);\n });\n};\n\nconst walkBlock = (block, layer, depth = 0) => {\n switch (block.kind) {\n case 'formInfo': {\n mergeFieldsIntoLayer(layer, block.list);\n walkBlocks(block.blocks, layer, depth + 1);\n return;\n }\n case 'object': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n if (!name) {\n mergeFieldsIntoLayer(layer, block.list);\n walkBlocks(block.blocks, layer, depth + 1);\n return;\n }\n const nested = createObjectLayer();\n mergeFieldsIntoLayer(nested, block.list);\n walkBlocks(block.blocks, nested, depth + 1);\n layer.properties[name] = finalizeObjectSchema(nested, {\n title: block.title || undefined,\n description: block.subtitle || undefined\n });\n return;\n }\n case 'list':\n case 'tableList': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n if (!name) {\n return;\n }\n const itemLayer = createObjectLayer();\n mergeFieldsIntoLayer(itemLayer, block.list);\n if (block.kind === 'list') {\n walkBlocks(block.itemBlocks, itemLayer, depth + 1);\n }\n const items = finalizeObjectSchema(itemLayer);\n const arraySchema = {\n type: 'array',\n items\n };\n if (block.title) {\n arraySchema.title = block.title;\n }\n const minItems = toFiniteInt(block.minLength, 0);\n const maxItems = toFiniteInt(block.maxLength, 1);\n if (minItems != null) {\n arraySchema.minItems = minItems;\n }\n if (maxItems != null) {\n arraySchema.maxItems = maxItems;\n }\n layer.properties[name] = arraySchema;\n return;\n }\n case 'multiField': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n if (!name) {\n return;\n }\n const itemField = {\n type: block.fieldType || 'Input',\n label: block.label,\n props: {}\n };\n const arraySchema = {\n type: 'array',\n items: resolveFieldValueSchema(itemField)\n };\n if (block.label) {\n arraySchema.title = block.label;\n }\n layer.properties[name] = arraySchema;\n return;\n }\n case 'steps': {\n (block.items || []).forEach(step => {\n mergeFieldsIntoLayer(layer, step?.list);\n walkBlocks(step?.blocks, layer, depth + 1);\n });\n return;\n }\n case 'choice': {\n mergeChoiceIntoLayer(layer, block, depth);\n return;\n }\n default:\n return;\n }\n};\n\n/**\n * choice:single → oneOf;multiple → anyOf。\n * 每支为 object:单选支含 selector const;多选支为该 option 字段,selector 数组放在当前层。\n * 支内 REQ 可进 required;hidden 字段仍进入 schema。\n */\nconst mergeChoiceIntoLayer = (layer, block, depth) => {\n const mode = block.mode === 'multiple' ? 'multiple' : 'single';\n const selectorInData = block.selectorInData !== false;\n const selectorName = resolveChoiceSelectorName(block);\n const options = block.options || [];\n const optionIds = options.map(option => String(option.id));\n\n const branches = options.map((option, index) => {\n const branch = createObjectLayer();\n const optionTitle = option.title || `选项${index + 1}`;\n\n if (selectorInData && mode === 'single') {\n branch.properties[selectorName] = {\n const: String(option.id),\n title: optionTitle\n };\n branch.required.push(selectorName);\n }\n\n mergeFieldsIntoLayer(branch, option.list, { allowRequired: true });\n walkBlocks(option.blocks, branch, depth + 1);\n\n return finalizeObjectSchema(branch, { title: optionTitle });\n });\n\n if (!branches.length) {\n if (selectorInData) {\n if (mode === 'multiple') {\n const selectorSchema = {\n type: 'array',\n items: { type: 'string' },\n uniqueItems: true\n };\n if (block.title) {\n selectorSchema.title = block.title;\n }\n const minItems = toFiniteInt(block.minLength, 0);\n const maxItems = toFiniteInt(block.maxLength, 1);\n if (minItems != null) {\n selectorSchema.minItems = minItems;\n }\n if (maxItems != null) {\n selectorSchema.maxItems = maxItems;\n }\n layer.properties[selectorName] = selectorSchema;\n } else {\n layer.properties[selectorName] = { type: 'string', title: block.title || undefined };\n }\n }\n return;\n }\n\n if (mode === 'multiple') {\n if (selectorInData) {\n const selectorSchema = {\n type: 'array',\n items: { type: 'string', ...(optionIds.length ? { enum: optionIds } : {}) },\n uniqueItems: true\n };\n if (block.title) {\n selectorSchema.title = block.title;\n }\n const minItems = toFiniteInt(block.minLength, 0);\n const maxItems = toFiniteInt(block.maxLength, 1);\n if (minItems != null) {\n selectorSchema.minItems = minItems;\n }\n if (maxItems != null) {\n selectorSchema.maxItems = maxItems;\n }\n layer.properties[selectorName] = selectorSchema;\n }\n layer.composites.push({ anyOf: branches });\n return;\n }\n\n layer.composites.push({ oneOf: branches });\n};\n\n/**\n * 将搭建 Schema 转为描述表单提交数据形状的 JSON Schema。\n * - 内置字段:fieldRegistry.valueSchema\n * - 扩展字段:registerField / preset 的 valueSchema;缺省 { type: 'string' }\n * - hidden 字段仍进入 data schema(可提交)\n * - choice:single → oneOf,multiple → anyOf\n */\nexport const schemaToDataSchema = (schema, options = {}) => {\n const normalized = normalizeSchema(schema || {});\n const layer = createObjectLayer();\n walkBlocks(normalized.blocks, layer, 0);\n\n const root = finalizeObjectSchema(layer, {\n title: normalized.title || undefined,\n description: options.description\n });\n\n if (options.$schema) {\n root.$schema = options.$schema;\n }\n\n return root;\n};\n\nexport default schemaToDataSchema;\n","import { Fragment } from 'react';\nimport { Empty } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useIsMobile } from '@kne/responsive-utils';\nimport InfoPage, { Content } from '@kne/info-page';\nimport withLocale from './withLocale';\nimport { formatFieldDisplayValue } from './formatDisplayValue';\nimport { MAX_BLOCK_DEPTH, hasRenderableContent, normalizeSchema } from './schema';\nimport style from './style.module.scss';\n\nconst getByPath = (data, path) => {\n if (data == null || path == null || path === '') {\n return data;\n }\n return String(path)\n .split('.')\n .reduce((acc, key) => (acc == null ? acc : acc[key]), data);\n};\n\nconst resolveChoiceSelectorName = block => {\n if (block.selectorName != null && String(block.selectorName).trim()) {\n return String(block.selectorName).trim();\n }\n if (block.discriminator?.propertyName) {\n return String(block.discriminator.propertyName).trim();\n }\n return `__choice_${block.id}`;\n};\n\nconst formatFieldValue = (field, value, formatMessage) => formatFieldDisplayValue(field, value, { formatMessage });\n\nconst renderFieldsContent = (fields, data, formatMessage, column) => {\n const list = (fields || [])\n .filter(field => field && !field.hidden && field.name)\n .map(field => ({\n label: field.label || field.name,\n content: formatFieldValue(field, getByPath(data, field.name), formatMessage),\n block: field.block || undefined\n }));\n\n if (!list.length) {\n return null;\n }\n\n return <Content col={column || 2} list={list} />;\n};\n\nconst renderBlockList = (blocks, data, ctx) => (blocks || []).map(block => renderBlock(block, data, ctx)).filter(Boolean);\n\nconst renderBlock = (block, data, ctx) => {\n const { formatMessage, isMobile, depth = 0 } = ctx;\n if (!block || depth > MAX_BLOCK_DEPTH) {\n return null;\n }\n\n const nextCtx = { ...ctx, depth: depth + 1 };\n const bordered = isMobile ? false : block.bordered || undefined;\n const partProps = {\n key: block.id,\n title: block.title || block.label || undefined,\n subtitle: block.subtitle || undefined,\n bordered\n };\n\n switch (block.kind) {\n case 'formInfo': {\n return (\n <InfoPage.Part {...partProps}>\n {renderFieldsContent(block.list, data, formatMessage, block.column)}\n {renderBlockList(block.blocks, data, nextCtx)}\n </InfoPage.Part>\n );\n }\n case 'object': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n const nestedData = name ? getByPath(data, name) || {} : data;\n return (\n <InfoPage.Part {...partProps}>\n {renderFieldsContent(block.list, nestedData, formatMessage, block.column)}\n {renderBlockList(block.blocks, nestedData, nextCtx)}\n </InfoPage.Part>\n );\n }\n case 'list':\n case 'tableList': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n const items = name ? getByPath(data, name) : null;\n const rows = Array.isArray(items) ? items : [];\n return (\n <InfoPage.Part {...partProps}>\n {rows.length\n ? rows.map((item, index) => (\n <InfoPage.Part key={`${block.id}-${index}`} title={formatMessage({ id: 'schemaContentItemIndex' }, { index: index + 1 })} bordered={false}>\n {renderFieldsContent(block.list, item || {}, formatMessage, 2)}\n {block.kind === 'list' ? renderBlockList(block.itemBlocks, item || {}, nextCtx) : null}\n </InfoPage.Part>\n ))\n : formatMessage({ id: 'schemaContentEmptyValue' })}\n </InfoPage.Part>\n );\n }\n case 'multiField': {\n const name = block.name != null && String(block.name).trim() ? String(block.name).trim() : '';\n const values = name ? getByPath(data, name) : null;\n const itemField = {\n type: block.fieldType || 'Input',\n label: block.label,\n props: {}\n };\n const content = Array.isArray(values) ? values.map(item => formatFieldValue(itemField, item, formatMessage)).join('、') : formatFieldValue(itemField, values, formatMessage);\n return (\n <InfoPage.Part {...partProps}>\n <Content col={1} list={[{ label: block.label || block.name, content, block: true }]} />\n </InfoPage.Part>\n );\n }\n case 'steps': {\n return (\n <Fragment key={block.id}>\n {(block.items || []).map(step => (\n <InfoPage.Part key={step.id} title={step.title || undefined} bordered={bordered}>\n {renderFieldsContent(step.list, data, formatMessage, step.column || 2)}\n {renderBlockList(step.blocks, data, nextCtx)}\n </InfoPage.Part>\n ))}\n </Fragment>\n );\n }\n case 'choice': {\n const selectorName = resolveChoiceSelectorName(block);\n const selectorValue = block.selectorInData === false ? undefined : getByPath(data, selectorName);\n const selectedIds = block.mode === 'multiple' ? (Array.isArray(selectorValue) ? selectorValue.map(String) : []) : selectorValue != null && selectorValue !== '' ? [String(selectorValue)] : [];\n const options = block.options || [];\n const visibleOptions = selectedIds.length ? options.filter(option => selectedIds.includes(String(option.id))) : [];\n\n return (\n <InfoPage.Part {...partProps}>\n {visibleOptions.map(option => (\n <InfoPage.Part key={option.id} title={option.title || undefined} bordered={false}>\n {renderFieldsContent(option.list, data, formatMessage, block.column)}\n {renderBlockList(option.blocks, data, nextCtx)}\n </InfoPage.Part>\n ))}\n </InfoPage.Part>\n );\n }\n default:\n return null;\n }\n};\n\nconst SchemaContentInnerView = ({ schema, data, className }) => {\n const { formatMessage } = useIntl();\n const isMobile = useIsMobile();\n const normalized = normalizeSchema(schema);\n const children = renderBlockList(normalized.blocks, data || {}, { formatMessage, isMobile, depth: 0 });\n\n if (!children.length) {\n return null;\n }\n\n if (className) {\n return <div className={className}>{children}</div>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n\nexport const SchemaContentInner = withLocale(SchemaContentInnerView);\n\nconst SchemaContent = withLocale(({ schema, data, className, empty }) => {\n const { formatMessage } = useIntl();\n const normalized = normalizeSchema(schema);\n const emptyNode = empty !== undefined ? empty : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={formatMessage({ id: 'schemaContentEmpty' })} />;\n\n if (data == null || !hasRenderableContent(normalized)) {\n return emptyNode;\n }\n\n return (\n <InfoPage className={[style['schema-content'], className].filter(Boolean).join(' ')}>\n <SchemaContentInnerView schema={normalized} data={data} />\n </InfoPage>\n );\n});\n\nexport default SchemaContent;\n"],"names":["locale","addField","editField","deleteField","moveUp","moveDown","fieldListTitle","fieldListSubtitle","blockListTitle","blockListSubtitle","emptyFieldList","emptyBlockList","addBlock","editBlock","deleteBlock","untitledBlock","expandBlock","collapseBlock","fieldCount","fieldAndItemBlockCount","addChildBlock","stepCount","blockKind_formInfo","blockKind_list","blockKind_tableList","blockKind_multiField","blockKind_object","blockKind_choice","blockKind_steps","choiceMode","choiceModeSingle","choiceModeMultiple","choiceMinSelect","choiceMaxSelect","choiceMinSelectError","choiceMaxSelectError","choiceSelectorName","choiceSelectorNamePlaceholder","choiceSelectorInData","choiceTitlePlaceholder","choiceOptionListTitle","addChoiceOption","editChoiceOption","deleteChoiceOption","choiceOptionTitle","choiceOptionTitlePlaceholder","emptyChoiceOptionList","choiceOptionFallback","choiceOptionCount","choiceAreaTitle","choiceModeHintSingle","choiceModeHintMultiple","choiceModeHintMultipleMin","choiceModeHintMultipleMax","choiceModeHintMultipleRange","choiceSelectFirstHint","blockTitle","blockTitlePlaceholder","blockSubtitle","blockSubtitlePlaceholder","blockName","blockNameRequired","blockGap","blockBordered","blockImportant","blockAddText","blockAddTextPlaceholder","blockMaxLength","blockMinLength","blockAutoStep","multiFieldType","multiFieldSummary","multiFieldEditorHint","stepListTitle","addStep","editStep","deleteStep","stepTitle","stepTitlePlaceholder","emptyStepList","untitledStep","stepPrev","stepNext","stepComplete","fieldType","fieldName","fieldNamePlaceholder","fieldLabel","fieldLabelPlaceholder","fieldTips","fieldTipsPlaceholder","fieldDescription","fieldDescriptionPlaceholder","fieldRule","fieldPlaceholder","fieldOptions","fieldBlock","fieldHidden","fieldHiddenTag","fieldBlockTag","fieldNameDuplicate","untitledField","previewTitle","previewHint","confirm","cancel","submit","reset","formActionsSection","formActionsShowSubmit","formActionsShowReset","formActionsShowCancel","formActionsSubmitText","formActionsResetText","formActionsCancelText","formActionsSubmitTextHint","formActionsResetTextHint","formActionsCancelTextHint","formActionsAlign","formActionsAlignCenter","formActionsAlignStart","formActionsAlignEnd","formActionsGap","formActionsGapHint","formActionsLayoutSection","fieldBasicSection","optionLabelPlaceholder","optionValuePlaceholder","optionDescPlaceholder","addOption","builtinDataHint","optionsEditorHint","optionsTreeEditorHint","addChildOption","fieldColumns","columnTitlePlaceholder","columnNamePlaceholder","columnWidthPlaceholder","addColumn","columnsEditorHint","fieldTableRows","tableRowsNeedColumnsHint","tableRowTitle","tableRowLabelPlaceholder","addTableRow","tableRowsEditorHint","superSelectPropsSection","superSelectSingle","superSelectIsPopup","superSelectAllowClear","superSelectAllowSelectedAll","superSelectOnlyLastLevel","superSelectMaxLength","superSelectMaxLengthPlaceholder","superSelectPlaceholderHint","superSelectSearchPlaceholder","superSelectSearchPlaceholderHint","fieldPropsSection","fieldPlaceholderHint","propAllowClear","propMaxLength","propOptionalNumber","propRows","propShowCount","propMin","propMax","propStep","propPrecision","propSelectMode","propSelectModeSingle","propSelectModeMultiple","propDateRange","propDatePickerType","propDatePickerDate","propDatePickerWeek","propDatePickerMonth","propDatePickerQuarter","propDatePickerYear","propDateFormat","propShowTime","propSwitchOnText","propSwitchOffText","propSwitchOnTextHint","propSwitchOffTextHint","ruleLen","ruleLenRange","ruleLenMin","ruleLenMax","ruleEditorHint","formSettingsTitle","formTitlePlaceholder","formSubtitlePlaceholder","formColumnPlaceholder","schemaContentEmpty","schemaContentEmptyValue","schemaContentYes","schemaContentNo","schemaContentItemIndex","schemaContentUntilToday","schemaContentPasswordMasked","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","createFieldId","Date","now","Math","random","toString","slice","createDataKey","prefix","isAutoDataKey","value","RegExp","test","String","trim","MAX_BLOCK_DEPTH","createEmptyColumn","title","name","width","undefined","defaultSchema","subtitle","column","gap","blocks","actions","defaultFormActions","showSubmit","showReset","showCancel","submitText","resetText","cancelText","align","FORM_ACTIONS_ALIGN","normalizeFormActions","base","includes","gapValue","Number","isFinite","submitButtonProps","resetButtonProps","cancelButtonProps","createField","overrides","id","type","label","tips","description","rule","block","hidden","props","createChoiceOption","list","createBlock","kind","needsName","bordered","important","addText","maxLength","minLength","autoStep","mode","selectorName","selectorInData","discriminator","items","itemBlocks","options","createStep","next","Array","isArray","normalizeSelectCount","minAllowed","num","int","floor","normalizeField","field","normalizeStep","step","depth","map","child","normalizeBlock","normalizeChoiceOption","option","length","normalized","minSelect","maxSelect","normalizeSchema","schema","moveItem","direction","index","findIndex","item","targetIndex","splice","isFieldNameUnique","fields","excludeId","some","collectFieldsFromBlocks","acc","forEach","push","collectSchemaFields","_temp","blockId","stepId","optionId","findBlockInTree","collectBlockFieldNames","_temp2","objectNamePrefix","names","walk","nextPrefix","filter","Boolean","join","updateBlocks","updater","found","findBlock","mapChildBlockLists","mapList","nextBlock","changed","childBlocks","optionsChanged","optionBlocks","itemsChanged","stepBlocks","mapBlocksInTree","childChanged","mapBlocks","removeBlockInTree","filtered","moveBlockInTree","blockHasContent","hasRenderableContent","BLOCK_KINDS","formInfo","color","hasFieldList","requiresName","tableList","multiField","object","choice","hasChoiceOptions","steps","hasSteps","getBlockKindOptions","Object","entries","_ref","config","getBlockDefinition","blockToFormValues","formValuesToBlock","values","existingBlock","stepToFormValues","formValuesToStep","existingStep","choiceOptionToFormValues","formValuesToChoiceOption","existingOption","mapOptionItem","children","rest","alignOptionKeys","valueKey","labelKey","rawValue","code","rawLabel","flattenTreeOptions","parentKey","childrenKey","parentId","result","nested","node","createApiFromOptions","loader","pageData","useOnChange","hooks","hasNestedOptions","Component","preferOptions","flattenTree","placeholderPrefix","Field","api","placeholder","flattened","resolvedOptions","useOptionsDirectly","mergedApi","resolvedPlaceholder","render","assign","isPopup","SuperSelectList","SelectList","SuperSelectTableList","SelectTableList","SuperSelectTree","SelectTree","SuperSelectCascader","SelectCascader","SelectFunctionField","SelectFunction","SelectIndustryField","SelectIndustry","SelectAddressField","SelectAddress","RULE_PRESET_ITEMS","DEFAULT_RULE_CONFIG","presets","lenMin","lenMax","RULE_LEN_PRESET","registerRulePreset","getRulePresetItems","parseRuleString","tokens","split","token","lenMatch","match","buildRuleString","parts","registry","Map","defineField","definition","set","FIELD_GROUPS","types","optionEnumValues","stringWithEnumSchema","enums","enum","optionValueSchema","display","superSelectValueSchema","single","PICKER_TO_FORMAT","date","week","month","quarter","year","datePickerValueSchema","picker","format","showTime","range","minItems","maxItems","group","component","Input","defaultProps","allowClear","hasFieldProps","valueSchema","TextArea","rows","defaults","InputNumber","Select","hasOptions","RadioGroup","CheckboxGroup","isSuperSelect","optionsAllowDescription","columns","hasColumns","optionsAllowChildren","onlyAllowLastLevel","hasOnlyLastLevel","hasBuiltinData","Switch","Checkbox","DatePicker","resolveComponent","RangePicker","registerField","propsSchema","groupName","pickFromPropsSchema","key","fallback","defaultValue","applyFromPropsSchema","setOptionalNumber","setOptionalString","getFieldDefinition","get","resolveFieldValueSchema","raw","getFieldComponent","getFieldTypes","grouped","builtinTypes","Set","flatMap","registered","from","has","customGroups","normalizeOptions","allowChildren","columnNames","normalizeColumns","dataIndex","pickSuperSelectFormValues","allowSelectedAll","searchPlaceholder","applySuperSelectProps","pickFieldProps","showCount","min","max","precision","checkedChildren","unCheckedChildren","applyFieldProps","text","fieldToFormValues","ruleConfig","rawPlaceholder","selectProps","fieldProps","formValuesToField","existingField","Text","Typography","TYPE_TAG_COLORS","FieldRow","total","onEdit","onDelete","onMove","formatMessage","useIntl","_jsxs","className","style","_jsx","Space","size","wrap","strong","ellipsis","Tag","Button","icon","ArrowUpOutlined","disabled","onClick","ArrowDownOutlined","EditOutlined","danger","DeleteOutlined","ActionGroup","IconBtn","_ref2","ROOT_ADD_OPTIONS","FormOutlined","UnorderedListOutlined","TableOutlined","ClusterOutlined","PartitionOutlined","AppstoreOutlined","OrderedListOutlined","NESTED_ADD_OPTIONS","opt","BlockListPanel","_ref3","onAddBlock","onEditBlock","onDeleteBlock","onMoveBlock","onAddField","onEditField","onDeleteField","onMoveField","onAddStep","onEditStep","onDeleteStep","onMoveStep","onAddChoiceOption","onEditChoiceOption","onDeleteChoiceOption","onMoveChoiceOption","onOpenFormActions","extraToolbar","addMenuOpen","setAddMenuOpen","useState","addFieldMenuId","setAddFieldMenuId","keepAddFieldMenuOpenRef","useRef","renderAddBlockMenu","onSelect","role","tabIndex","onKeyDown","e","renderAddFieldButton","_ref4","menuKey","onAddFieldClick","onAddChildBlock","canAddChild","menuOpen","btnClass","PlusOutlined","Dropdown","open","onOpenChange","current","trigger","mouseEnterDelay","mouseLeaveDelay","getPopupContainer","parentElement","document","body","dropdownRender","SelectOutlined","onMouseDown","renderFieldList","fieldIndex","fieldItem","fieldId","renderNestedBlocks","childIndex","renderBlockSection","renderItemBlocks","parentBlock","renderBlockChildren","stepIndex","nests","count","parentBlockId","optionIndex","supportsItemBlocks","supportsBlocks","blockIndex","canAddField","supportsChildModules","nestCount","summary","SettingOutlined","Flex","justify","shape","Empty","image","PRESENTED_IMAGE_SIMPLE","BlockConfigFields","fieldTypeOptions","useMemo","openApi","data","FormInfo","BlockEditorModal","onCancel","onSave","renderModal","isMobile","useIsMobile","isEdit","formData","handleSubmit","message","error","Promise","resolve","reject","FormModal","destroyOnHidden","destroyOnClose","formProps","onSubmit","okText","StepEditorModal","ChoiceOptionEditorModal","RulePresetsGroup","Group","RulePresetEditor","rulePresets","createOptionKey","EMPTY_OPTION","_key","createEmptyTableRow","row","ensureOptionKeys","hasMissingOptionKey","FlatOptionRows","onChange","allowDescription","commit","updateItem","patch","itemIndex","event","target","_","TreeOptionNode","siblings","onChangeSiblings","maxDepth","updateSelf","i","removeSelf","addChild","changeChildren","nextChildren","ApartmentOutlined","TreeOptionsEditor","useEffect","ColumnsEditor","TableRowsEditor","usableColumns","Card","extra","minWidth","flex","marginTop","OptionsEditor","onColumnsChange","handleColumnsChange","nextColumns","prevColumns","migrated","nextRow","prevCol","nextCol","prevName","nextName","prototype","hasOwnProperty","call","SuperSelectPropsEditor","useFormContext","checked","setFields","runValidate","BUILTIN_PROP_TYPES","buildPropsSchemaList","buildBuiltinList","FieldPropsEditor","definitionProp","hasFieldPropsEditor","def","getDefaultSelectProps","omitColumns","FieldConfigFields","initialType","onOptionsChange","setFieldType","applyTypeDefaults","nextType","nextDefinition","nextValues","requestAnimationFrame","FieldEditorModal","fieldList","editorValues","setOptions","setColumns","normalizedColumns","nextField","modalKey","FormActionsEditor","alignOptions","gapMarks","optionType","buttonStyle","Slider","marks","tooltip","formatter","v","getByPath","obj","path","reduce","resolveSelectorName","propertyName","resolveSelectedIds","clearUnselectedOptionFields","keepIds","allOptions","resolveSelectLimits","buildMultipleHint","ChoiceBlock","preview","renderOptionContent","titleText","firstOptionId","selectorValueKey","selectedIdsFromValue","selectorOptions","atMax","selectedIds","activeOptions","handleChange","useCallback","nextIds","selectorRule","ids","errMsg","hasSelectLimitRule","Selector","selectorProps","labelHidden","contentChildren","nodes","createElement","modeHint","InfoPage","Part","buildLabelTips","Tooltip","QuestionCircleOutlined","renderFieldElements","namePrefix","labelTips","withBlockLayout","element","forceBlock","nestedListItemPartProps","styles","header","borderBottom","borderRadius","overflow","isFormInfoLikeBlock","renderBlockElement","ctx","asListItem","nextCtx","listItemPartProps","renderChildBlocks","childCtx","List","itemTitle","TableList","FieldComponent","MultiField","Steps","prevIcon","ArrowLeftOutlined","nextIcon","ArrowRightOutlined","fieldNames","Fragment","renderSchemaInner","bodyClassName","actionNode","content","renderSchemaContent","_temp3","formClassName","Form","joinClass","arguments","resolveActionNode","showActions","actionsAlign","actionsGap","footerClassName","buttonFooter","buttonFooterProps","schemaActions","resolvedShowSubmit","resolvedShowReset","resolvedShowCancel","resolvedAlign","resolvedGap","resolvedSubmitText","resolvedResetText","resolvedCancelText","resolvedSubmitButtonProps","resolvedResetButtonProps","resolvedCancelButtonProps","flexProps","actionsEl","SubmitButton","ResetButton","CancelButton","footerProps","ButtonFooter","SchemaRendererInner","SchemaRenderer","FormCreator","showPreview","innerSchema","setInnerSchema","blockEditorOpen","setBlockEditorOpen","editingBlock","setEditingBlock","blockParentId","setBlockParentId","blockParentStepId","setBlockParentStepId","blockParentOptionId","setBlockParentOptionId","stepEditorOpen","setStepEditorOpen","stepContext","setStepContext","choiceOptionEditorOpen","setChoiceOptionEditorOpen","choiceOptionContext","setChoiceOptionContext","fieldEditorOpen","setFieldEditorOpen","fieldContext","setFieldContext","editingField","setEditingField","formActionsOpen","setFormActionsOpen","updateSchema","nextSchema","clearBlockEditor","handleAddBlock","handleEditBlock","handleSaveBlock","exists","parent","handleDeleteBlock","handleMoveBlock","handleAddStep","handleEditStep","handleSaveStep","handleDeleteStep","handleMoveStep","handleAddChoiceOption","handleEditChoiceOption","handleSaveChoiceOption","handleDeleteChoiceOption","handleMoveChoiceOption","normalizeFieldScope","scope","handleAddField","handleEditField","handleSaveField","handleDeleteField","handleMoveField","currentFieldScope","toolbarExtra","RESPONSIVE_BOUNDARY_CLASS","IMAGE_EXT","toFileList","isHttpLike","pickFilePreviewProps","file","filename","pop","src","originName","originFileObj","url","thumbUrl","uuid","fileId","mimetype","isImageFile","mime","startsWith","FileFieldPreview","createWithRemoteLoader","modules","remoteModules","FileLink","Image","files","vertical","canPreview","asImage","linkProps","Avatar","alt","TEMPORAL_PATTERN","time","TYPE_TO_TEMPORAL","datetime","pad","n","padStart","isEmptyValue","toDate","isNaN","getTime","valueOf","isoWeek","tmp","UTC","getFullYear","getMonth","getDate","day","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","ceil","applyPattern","pattern","replace","getHours","getMinutes","getSeconds","formatTemporal","formatKey","patternOverride","isTemporalKey","pickObjectLabel","mapOptionLabel","find","formatOption","pick","formatPhone","trimmed","number","phone","rawCode","countryCallingCode","formatFile","formatTypedDateRange","typeLabel","formatDateToToday","itemSchema","start","formatByValueSchema","until","end","formatJson","JSON","stringify","parse","formatHtml","formatMoney","toLocaleString","formatColor","toHexString","hex","metaColor","formatPassword","formatBoolean","stringifyFallback","storageType","resolved","joiner","mapped","formatFieldDisplayValue","emptyText","formatDisplayValue","custom","preset","rules","runtimeRules","RULES","validator","ruleBody","keys","applyFormAntdPreset","createObjectLayer","properties","required","composites","isReq","resolveChoiceSelectorName","mergeFieldIntoLayer","layer","allowRequired","mergeFieldsIntoLayer","toFiniteInt","finalizeObjectSchema","allOf","walkBlocks","walkBlock","itemLayer","arraySchema","itemField","mergeChoiceIntoLayer","optionIds","branches","branch","optionTitle","const","selectorSchema","uniqueItems","anyOf","oneOf","schemaToDataSchema","root","$schema","formatFieldValue","renderFieldsContent","Content","col","renderBlockList","renderBlock","partProps","nestedData","selectorValue","visibleOptions","SchemaContentInnerView","SchemaContentInner","SchemaContent","empty","emptyNode"],"mappings":"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"}
|