@kne/form-creator 0.1.17 → 0.1.19
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 +245 -75
- package/dist/index.css +79 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +376 -132
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +388 -135
- package/dist/index.modern.js.map +1 -1
- package/dist/locale/en-US.js +25 -2
- package/dist/locale/en-US.js.map +1 -1
- package/dist/locale/en-US.modern.js +25 -2
- package/dist/locale/en-US.modern.js.map +1 -1
- package/dist/locale/zh-CN.js +25 -2
- package/dist/locale/zh-CN.js.map +1 -1
- package/dist/locale/zh-CN.modern.js +25 -2
- package/dist/locale/zh-CN.modern.js.map +1 -1
- package/package.json +3 -3
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.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, isPartRoot = 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'], isPartRoot ? InfoPage.partRootClassName : null].filter(Boolean).join(' '),\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 InfoPage from '@kne/info-page';\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 resolvePartRootClassName = (depth, ...extra) => {\n // 顶层模块一律重设一级标题,嵌入外层 FormInfo Part 时不降为二级胶囊\n const names = [depth === 0 ? InfoPage.partRootClassName : null, ...extra].filter(Boolean);\n return names.length ? names.join(' ') : undefined;\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 className: resolvePartRootClassName(depth)\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 className: resolvePartRootClassName(depth)\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 className: resolvePartRootClassName(depth),\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 className: resolvePartRootClassName(depth)\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 className: resolvePartRootClassName(depth),\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 isPartRoot: depth === 0,\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 className: depth === 0 ? InfoPage.partRootClassName : undefined\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","_extends","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","_blocks$","length","normalized","minSelect","maxSelect","normalizeSchema","schema","moveItem","direction","index","findIndex","item","targetIndex","splice","isFieldNameUnique","fields","excludeId","some","collectFieldsFromBlocks","acc","forEach","push","collectSchemaFields","blockId","stepId","optionId","findBlockInTree","collectBlockFieldNames","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","config","getBlockDefinition","blockToFormValues","_block$column","_block$gap","_block$maxLength","_block$minLength","formValuesToBlock","values","existingBlock","_values$column","_values$gap","_values$maxLength","_values$minLength","stepToFormValues","_step$column","formValuesToStep","existingStep","_values$column2","choiceOptionToFormValues","formValuesToChoiceOption","existingOption","mapOptionItem","children","rest","_objectWithoutPropertiesLoose","_excluded","alignOptionKeys","valueKey","labelKey","_ref","_ref2","_item$_valueKey","_ref3","_item$_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","_field$props","stringWithEnumSchema","enums","enum","optionValueSchema","display","superSelectValueSchema","_field$props2","single","PICKER_TO_FORMAT","date","week","month","quarter","year","datePickerValueSchema","_field$props3","_field$props4","_field$props5","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","_definition$hasFieldP","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","_item$label","_item$value","_item$description","_item$name","normalizeColumns","_item$title","dataIndex","pickSuperSelectFormValues","allowSelectedAll","searchPlaceholder","applySuperSelectProps","_definition$defaultPr","_definition$defaultPr2","pickFieldProps","_props$rows","_definition$propsSche","showCount","min","max","precision","checkedChildren","unCheckedChildren","applyFieldProps","_values$rows","_definition$propsSche2","text","fieldToFormValues","_field$props6","_field$props7","_field$props8","ruleConfig","rawPlaceholder","selectProps","fieldProps","formValuesToField","existingField","_values$block","_definition$defaults","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","ROOT_ADD_OPTIONS","FormOutlined","UnorderedListOutlined","TableOutlined","ClusterOutlined","PartitionOutlined","AppstoreOutlined","OrderedListOutlined","NESTED_ADD_OPTIONS","opt","BlockListPanel","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","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","_step$list","_step$list2","_block$items","nests","count","parentBlockId","optionIndex","_option$list","_option$list2","_block$options","supportsItemBlocks","supportsBlocks","blockIndex","_block$itemBlocks","_block$blocks","_block$items2","_block$options2","_block$list","_block$list2","canAddField","supportsChildModules","nestCount","summary","SettingOutlined","Flex","justify","shape","Empty","image","PRESENTED_IMAGE_SIMPLE","BlockConfigFields","fieldTypeOptions","useMemo","openApi","_openApi$data","data","_openApi$data2","FormInfo","BlockEditorModal","onCancel","onSave","renderModal","isMobile","useIsMobile","isEdit","formData","handleSubmit","message","error","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","_item$width","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$propsSchema","def","getDefaultSelectProps","omitColumns","FieldConfigFields","initialType","onOptionsChange","setFieldType","applyTypeDefaults","nextType","_nextDefinition$props","nextDefinition","nextValues","requestAnimationFrame","FieldEditorModal","fieldList","editorValues","setOptions","setColumns","_editorValues$options","_editorValues$selectP","_values$lenMin","_values$lenMax","normalizedColumns","nextField","modalKey","FormActionsEditor","alignOptions","gapMarks","_openApi$data3","optionType","buttonStyle","Slider","marks","tooltip","formatter","v","getByPath","obj","path","reduce","resolveSelectorName","_block$discriminator","propertyName","resolveSelectedIds","clearUnselectedOptionFields","keepIds","allOptions","resolveSelectLimits","buildMultipleHint","ChoiceBlock","preview","isPartRoot","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","partRootClassName","buildLabelTips","Tooltip","QuestionCircleOutlined","resolvePartRootClassName","renderFieldElements","namePrefix","_props$options","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","formClassName","Form","joinClass","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","_file$originFileObj","_file$originFileObj2","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","_unused","isTemporalKey","pickObjectLabel","_item$labelKey","_item$valueKey","mapOptionLabel","_ref4","_match$labelKey","find","formatOption","pick","formatPhone","_ref5","_ref6","_value$value","_value$code","trimmed","number","phone","rawCode","countryCallingCode","formatFile","_value$originFileObj","formatTypedDateRange","_ctx$field","typeLabel","formatDateToToday","itemSchema","start","formatByValueSchema","until","end","formatJson","JSON","stringify","parse","_unused2","formatHtml","formatMoney","toLocaleString","formatColor","toHexString","hex","metaColor","formatPassword","formatBoolean","stringifyFallback","storageType","_unused3","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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"}
|
|
1
|
+
{"version":3,"file":"index.modern.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 blockShowIndex: '展示题目序号',\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 FieldGroupBasic: '基础字段',\n FieldGroupSelect: '选择字段',\n FieldGroupAdvancedSelect: '高级选择',\n FieldGroupBusinessSelect: '业务选择',\n FieldGroupExtended: '扩展字段',\n FieldTypeInput: '单行文本',\n FieldTypeTextArea: '多行文本',\n FieldTypeInputNumber: '数字',\n FieldTypeSelect: '下拉选择',\n FieldTypeRadioGroup: '单选组',\n FieldTypeCheckboxGroup: '复选组',\n FieldTypeSuperSelectList: '普通下拉',\n FieldTypeSuperSelectTableList: '表格选择',\n FieldTypeSuperSelectTree: '树形选择',\n FieldTypeSuperSelectCascader: '级联选择',\n FieldTypeSelectFunction: '职能选择',\n FieldTypeSelectIndustry: '行业选择',\n FieldTypeSelectAddress: '地址选择',\n FieldTypeSwitch: '开关',\n FieldTypeCheckbox: '复选框',\n FieldTypeDatePicker: '日期',\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 propOptionsInline: '选项单行显示',\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 blockShowIndex: 'Show question numbers',\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 FieldGroupBasic: 'Basic Fields',\n FieldGroupSelect: 'Select Fields',\n FieldGroupAdvancedSelect: 'Advanced Select',\n FieldGroupBusinessSelect: 'Business Select',\n FieldGroupExtended: 'Extended Fields',\n FieldTypeInput: 'Single-line Text',\n FieldTypeTextArea: 'Multi-line Text',\n FieldTypeInputNumber: 'Number',\n FieldTypeSelect: 'Dropdown',\n FieldTypeRadioGroup: 'Radio Group',\n FieldTypeCheckboxGroup: 'Checkbox Group',\n FieldTypeSuperSelectList: 'Select List',\n FieldTypeSuperSelectTableList: 'Table Select',\n FieldTypeSuperSelectTree: 'Tree Select',\n FieldTypeSuperSelectCascader: 'Cascader',\n FieldTypeSelectFunction: 'Job Function',\n FieldTypeSelectIndustry: 'Industry',\n FieldTypeSelectAddress: 'Address',\n FieldTypeSwitch: 'Switch',\n FieldTypeCheckbox: 'Checkbox',\n FieldTypeDatePicker: 'Date',\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: 'Display text syncs to value by default; you can edit value anytime. Leading/trailing spaces are trimmed on save',\n optionsTreeEditorHint: 'Display text syncs to value by default; use “Add Child” for nesting; 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 propOptionsInline: 'Options in a single row',\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 showIndex: 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 showIndex: !!block.showIndex,\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 showIndex: !!values.showIndex,\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 labelId: 'FieldGroupBasic',\n types: ['Input', 'TextArea', 'InputNumber', 'Switch', 'Checkbox', 'DatePicker']\n },\n {\n labelId: 'FieldGroupSelect',\n types: ['Select', 'RadioGroup', 'CheckboxGroup']\n },\n {\n labelId: 'FieldGroupAdvancedSelect',\n types: ['SuperSelectList', 'SuperSelectTableList', 'SuperSelectTree', 'SuperSelectCascader']\n },\n {\n labelId: 'FieldGroupBusinessSelect',\n types: ['SelectFunction', 'SelectIndustry', 'SelectAddress']\n }\n];\n\nconst resolveRegistryLabel = (formatMessage, labelId, fallbackLabel) => {\n if (typeof formatMessage === 'function' && labelId) {\n return formatMessage({ id: labelId });\n }\n if (fallbackLabel != null && String(fallbackLabel).trim()) {\n return String(fallbackLabel).trim();\n }\n return labelId || '';\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 labelId: 'FieldTypeInput',\n component: Input,\n defaultProps: { allowClear: true },\n hasFieldProps: true,\n valueSchema: { type: 'string' }\n});\n\ndefineField('TextArea', {\n labelId: 'FieldTypeTextArea',\n component: TextArea,\n defaultProps: { rows: 3 },\n defaults: { block: true },\n hasFieldProps: true,\n valueSchema: { type: 'string' }\n});\n\ndefineField('InputNumber', {\n labelId: 'FieldTypeInputNumber',\n component: InputNumber,\n defaultProps: {},\n hasFieldProps: true,\n valueSchema: { type: 'number' }\n});\n\ndefineField('Select', {\n labelId: 'FieldTypeSelect',\n component: Select,\n defaultProps: { options: [], allowClear: true },\n hasOptions: true,\n hasFieldProps: true,\n valueSchema: stringWithEnumSchema\n});\n\ndefineField('RadioGroup', {\n labelId: 'FieldTypeRadioGroup',\n component: RadioGroup,\n defaultProps: { options: [], inline: true },\n hasOptions: true,\n hasFieldProps: true,\n valueSchema: stringWithEnumSchema\n});\n\ndefineField('CheckboxGroup', {\n labelId: 'FieldTypeCheckboxGroup',\n component: CheckboxGroup,\n defaultProps: { options: [], inline: true },\n hasOptions: true,\n hasFieldProps: 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 labelId: 'FieldTypeSuperSelectList',\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 labelId: 'FieldTypeSuperSelectTableList',\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 labelId: 'FieldTypeSuperSelectTree',\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 labelId: 'FieldTypeSuperSelectCascader',\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 labelId: 'FieldTypeSelectFunction',\n component: SelectFunctionField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SelectIndustry', {\n labelId: 'FieldTypeSelectIndustry',\n component: SelectIndustryField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('SelectAddress', {\n labelId: 'FieldTypeSelectAddress',\n component: SelectAddressField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true,\n valueSchema: superSelectValueSchema\n});\n\ndefineField('Switch', {\n labelId: 'FieldTypeSwitch',\n component: Switch,\n defaultProps: {},\n hasFieldProps: true,\n valueSchema: { type: 'boolean' }\n});\n\ndefineField('Checkbox', {\n labelId: 'FieldTypeCheckbox',\n component: Checkbox,\n defaultProps: { children: '' },\n valueSchema: { type: 'boolean' }\n});\n\ndefineField('DatePicker', {\n labelId: 'FieldTypeDatePicker',\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 / registerField 的 fields 项还可传:\n * - label / labelId?: 展示名;有 labelId 时随 formatMessage 切换语言\n * - groupName / groupNameId?: 自定义类型下拉分组;有 groupNameId 时随语言切换;都不传则归入「扩展字段」\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 const groupNameId = definition?.groupNameId != null && String(definition.groupNameId).trim() ? String(definition.groupNameId).trim() : undefined;\n const labelId = definition?.labelId != null && String(definition.labelId).trim() ? String(definition.labelId).trim() : undefined;\n defineField(type, {\n ...definition,\n propsSchema,\n groupName,\n groupNameId,\n labelId,\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/** 解析字段类型展示名:内置走 labelId;扩展字段可用已翻译的 label */\nexport const resolveFieldTypeLabel = (typeOrDefinition, formatMessage) => {\n const definition = typeof typeOrDefinition === 'string' ? registry.get(typeOrDefinition) : typeOrDefinition;\n if (!definition) {\n return typeof typeOrDefinition === 'string' ? typeOrDefinition : '';\n }\n return resolveRegistryLabel(formatMessage, definition.labelId, definition.label) || definition.type || '';\n};\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 = formatMessage => {\n const grouped = FIELD_GROUPS.map(group => ({\n label: resolveRegistryLabel(formatMessage, group.labelId, group.label),\n options: group.types\n .map(type => registry.get(type))\n .filter(Boolean)\n .map(item => ({\n label: resolveFieldTypeLabel(item, formatMessage),\n value: item.type\n }))\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 = {\n label: resolveFieldTypeLabel(item, formatMessage),\n value: item.type\n };\n const groupNameId = item.groupNameId != null && String(item.groupNameId).trim() ? String(item.groupNameId).trim() : '';\n const groupName = item.groupName != null && String(item.groupName).trim() ? String(item.groupName).trim() : '';\n if (!groupNameId && !groupName) {\n fallback.push(option);\n return;\n }\n const groupKey = groupNameId || groupName;\n if (!customGroups.has(groupKey)) {\n customGroups.set(groupKey, {\n label: resolveRegistryLabel(formatMessage, groupNameId || null, groupName),\n options: []\n });\n }\n customGroups.get(groupKey).options.push(option);\n });\n\n customGroups.forEach(({ label, options }) => {\n grouped.push({ label, options });\n });\n if (fallback.length) {\n grouped.push({\n label: resolveRegistryLabel(formatMessage, 'FieldGroupExtended', '扩展字段'),\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 label = String(item?.label ?? '').trim();\n let value = String(item?.value ?? '').trim();\n if (!value && label) {\n value = label;\n }\n const next = {\n label,\n value,\n description: String(item?.description ?? '').trim()\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]]).trim();\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 case 'RadioGroup':\n case 'CheckboxGroup':\n return {\n inline: props.inline !== false\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 case 'RadioGroup':\n case 'CheckboxGroup':\n // 始终落盘布尔值,避免 Checkbox 未勾选时字段缺失被当成默认单行\n props.inline = values.inline !== false;\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, resolveFieldTypeLabel } 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 {resolveFieldTypeLabel(definition || field.type, formatMessage)}\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 { resolveFieldTypeLabel } from './fieldRegistry';\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: resolveFieldTypeLabel(block.fieldType, formatMessage) })\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 {formatMessage({ id: `blockKind_${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(formatMessage), [formatMessage]);\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 === 'formInfo' ? (\n <Checkbox key=\"showIndex\" name=\"showIndex\">\n {formatMessage({ id: 'blockShowIndex' })}\n </Checkbox>\n ) : null,\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 <Checkbox key=\"selectorInData\" name=\"selectorInData\">\n {formatMessage({ id: 'choiceSelectorInData' })}\n </Checkbox>,\n <Input\n key=\"selectorName\"\n name=\"selectorName\"\n label={formatMessage({ id: 'choiceSelectorName' })}\n placeholder={formatMessage({ id: 'choiceSelectorNamePlaceholder' })}\n display={({ openApi }) => openApi?.data?.selectorInData !== false}\n />\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={formatMessage({ id: `blockKind_${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\n/** value 为空或仍等于当前 label 时视为联动中,改 label 会同步 value */\nconst isOptionValueLinked = (label, value) => {\n const labelText = label == null ? '' : String(label);\n const valueText = value == null ? '' : String(value);\n return valueText === '' || valueText === labelText;\n};\n\nconst patchOptionLabelChange = (item, nextLabel) => {\n const patch = { label: nextLabel };\n if (isOptionValueLinked(item.label, item.value)) {\n patch.value = nextLabel;\n }\n return patch;\n};\n\nconst trimOptionLabelValue = item => {\n const label = String(item?.label ?? '').trim();\n const rawValue = String(item?.value ?? '').trim();\n const linked = isOptionValueLinked(item?.label, item?.value) || rawValue === '' || rawValue === label;\n return {\n label,\n value: linked ? label : rawValue\n };\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\n value={item.label}\n placeholder={formatMessage({ id: 'optionLabelPlaceholder' })}\n onChange={event => updateItem(index, patchOptionLabelChange(item, event.target.value))}\n onBlur={() => updateItem(index, trimOptionLabelValue(item))}\n />\n <Input\n value={item.value}\n placeholder={formatMessage({ id: 'optionValuePlaceholder' })}\n onChange={event => updateItem(index, { value: event.target.value })}\n onBlur={() => updateItem(index, { value: String(item.value ?? '').trim() })}\n />\n {allowDescription ? (\n <Input\n value={item.description || ''}\n placeholder={formatMessage({ id: 'optionDescPlaceholder' })}\n onChange={event => updateItem(index, { description: event.target.value })}\n onBlur={() => updateItem(index, { description: String(item.description ?? '').trim() })}\n />\n ) : 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(patchOptionLabelChange(item, e.target.value))} onBlur={() => updateSelf(trimOptionLabelValue(item))} />\n <Input value={item.value} placeholder={formatMessage({ id: 'optionValuePlaceholder' })} onChange={e => updateSelf({ value: e.target.value })} onBlur={() => updateSelf({ value: String(item.value ?? '').trim() })} />\n {allowDescription ? (\n <Input\n value={item.description || ''}\n placeholder={formatMessage({ id: 'optionDescPlaceholder' })}\n onChange={e => updateSelf({ description: e.target.value })}\n onBlur={() => updateSelf({ description: String(item.description ?? '').trim() })}\n />\n ) : 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', 'RadioGroup', 'CheckboxGroup'];\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 case 'RadioGroup':\n case 'CheckboxGroup':\n return [\n <Checkbox key=\"inline\" name=\"inline\">\n {formatMessage({ id: 'propOptionsInline' })}\n </Checkbox>\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(formatMessage), [formatMessage]);\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 = ({ schemaBlock, block: blockProp, preview = false, isMobile = false, isPartRoot = false, formatMessage, renderOptionContent }) => {\n // schema 配置用 schemaBlock;兼容旧 prop 名 block(且忽略 withBlockLayout 写入的 boolean true)\n const block = schemaBlock && typeof schemaBlock === 'object' ? schemaBlock : blockProp && typeof blockProp === 'object' ? blockProp : null;\n const mode = block?.mode === 'multiple' ? 'multiple' : 'single';\n const selectorName = block ? resolveSelectorName(block) : '';\n const options = useMemo(() => (block && Array.isArray(block.options) ? block.options : []), [block]);\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' && block ? 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 if (!block) {\n return null;\n }\n\n return createElement(\n InfoPage.Part,\n {\n title,\n subtitle: modeHint,\n bordered,\n className: [style['choice-block'], isPartRoot ? InfoPage.partRootClassName : null].filter(Boolean).join(' '),\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 InfoPage from '@kne/info-page';\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 resolvePartRootClassName = (depth, ...extra) => {\n // 顶层模块一律重设一级标题,嵌入外层 FormInfo Part 时不降为二级胶囊\n const names = [depth === 0 ? InfoPage.partRootClassName : null, ...extra].filter(Boolean);\n return names.length ? names.join(' ') : undefined;\n};\n\nconst buildFieldLabel = field => {\n const base = field?.label != null && String(field.label).trim() ? String(field.label).trim() : field?.name || '';\n return base || undefined;\n};\n\nconst buildIndexedLabelRender = index => {\n return ({ label }) => {\n const text = label != null ? String(label).replace(/\\u200b/g, '') : '';\n return createElement(Fragment, null, createElement('span', { className: style['field-label-index'] }, `${index + 1}.`), text ? createElement('span', { className: style['field-label-main'] }, text) : null);\n };\n};\n\nconst renderFieldElements = (fields = [], preview = false, { namePrefix, locale, showIndex = false } = {}) =>\n fields\n .filter(field => !field.hidden)\n .map((field, index) => {\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 // Radio/Checkbox 选项布局:inline=false 纵向;Radio 用 antd vertical,Checkbox 用样式兜底\n if (field.type === 'RadioGroup' || field.type === 'CheckboxGroup') {\n const optionsInline = props.inline !== false;\n delete props.inline;\n if (!optionsInline) {\n if (field.type === 'RadioGroup') {\n props.vertical = true;\n }\n props.className = [props.className, style['option-group-stack']].filter(Boolean).join(' ');\n }\n }\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 // 显式传 locale,避免 Global 仍为 zh-CN 时 react-form-antd withLocale 盖掉父级英文\n const localeProps = locale ? { locale } : {};\n const label = buildFieldLabel(field);\n\n return createElement(Component, {\n key: field.id,\n name: fieldName,\n label: showIndex ? label || '\\u200b' : label,\n ...(showIndex ? { labelRender: buildIndexedLabelRender(index) } : null),\n rule: field.rule || undefined,\n block: field.block || undefined,\n ...props,\n ...localeProps,\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 // FormInfo / List 等用 block 表示整行占位;勿覆盖 ChoiceBlock 的 schemaBlock\n if (element.type === ChoiceBlock || element.props?.schemaBlock) {\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, locale } = ctx;\n if (!block || depth > MAX_BLOCK_DEPTH) {\n return null;\n }\n\n const nextCtx = { ...ctx, depth: depth + 1, asListItem: false };\n const fieldRenderOpts = { locale };\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 showIndex = !!block.showIndex;\n const fields = renderFieldElements(block.list, preview, { ...fieldRenderOpts, showIndex });\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 className: resolvePartRootClassName(depth, showIndex ? style['form-info-show-index'] : null)\n }),\n asListItem\n );\n }\n case 'object': {\n const fields = renderFieldElements(block.list, preview, { ...fieldRenderOpts, 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 className: resolvePartRootClassName(depth)\n }),\n asListItem\n );\n }\n case 'list': {\n const fields = renderFieldElements(block.list, preview, fieldRenderOpts);\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 className: resolvePartRootClassName(depth),\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, fieldRenderOpts);\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 className: resolvePartRootClassName(depth)\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 className: resolvePartRootClassName(depth),\n prevIcon: createElement(ArrowLeftOutlined),\n nextIcon: createElement(ArrowRightOutlined),\n items: (block.items || []).map(step => {\n const fields = renderFieldElements(step.list, preview, fieldRenderOpts);\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 schemaBlock: block,\n preview,\n isMobile,\n isPartRoot: depth === 0,\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, locale, children, actionNode } = {}) => {\n const normalized = normalizeSchema(schema);\n const blocks = normalized.blocks || [];\n const contentChildren = blocks.map(block => renderBlockElement(block, preview, { isMobile, formatMessage, locale })).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, locale, children, actionNode } = {}) => {\n const normalized = normalizeSchema(schema);\n const blocks = normalized.blocks || [];\n const contentChildren = blocks.map(block => renderBlockElement(block, preview, { isMobile, formatMessage, locale })).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, locale } = 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 locale,\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, locale } = 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 locale,\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, locale } = 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} locale={locale} /> : <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 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\n/**\n * 问卷题干往往很长:不用 InfoPage Content 的横向 label 列宽对齐(minWidth),\n * 改为 label 在上、值在下,避免窄栏(如弹窗双栏预览)被撑乱。\n */\nconst renderFieldsContent = (fields, data, formatMessage, column, { showIndex = false } = {}) => {\n const list = (fields || [])\n .filter(field => field && !field.hidden && field.name)\n .map((field, index) => {\n const baseLabel = field.label || field.name;\n const label = showIndex ? `${index + 1}. ${baseLabel}` : baseLabel;\n return {\n label,\n content: formatFieldValue(field, getByPath(data, field.name), formatMessage),\n block: field.block === true\n };\n });\n\n if (!list.length) {\n return null;\n }\n\n const cols = Math.max(1, Number(column) || 2);\n\n return (\n <div className={style['schema-content-fields']} style={{ '--schema-content-cols': cols }}>\n {list.map((item, index) => (\n <div key={index} className={[style['schema-content-field'], item.block ? style['schema-content-field-block'] : null].filter(Boolean).join(' ')}>\n {item.label ? <div className={style['schema-content-field-label']}>{item.label}:</div> : null}\n <div className={style['schema-content-field-value']}>{item.content}</div>\n </div>\n ))}\n </div>\n );\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 className: depth === 0 ? InfoPage.partRootClassName : undefined\n };\n\n switch (block.kind) {\n case 'formInfo': {\n return (\n <InfoPage.Part {...partProps}>\n {renderFieldsContent(block.list, data, formatMessage, block.column, { showIndex: !!block.showIndex })}\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 <div className={style['schema-content-fields']} style={{ '--schema-content-cols': 1 }}>\n <div className={[style['schema-content-field'], style['schema-content-field-block']].join(' ')}>\n {block.label || block.name ? <div className={style['schema-content-field-label']}>{(block.label || block.name) + ':'}</div> : null}\n <div className={style['schema-content-field-value']}>{content}</div>\n </div>\n </div>\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","blockShowIndex","blockImportant","blockAddText","blockAddTextPlaceholder","blockMaxLength","blockMinLength","blockAutoStep","multiFieldType","multiFieldSummary","multiFieldEditorHint","stepListTitle","addStep","editStep","deleteStep","stepTitle","stepTitlePlaceholder","emptyStepList","untitledStep","stepPrev","stepNext","stepComplete","fieldType","FieldGroupBasic","FieldGroupSelect","FieldGroupAdvancedSelect","FieldGroupBusinessSelect","FieldGroupExtended","FieldTypeInput","FieldTypeTextArea","FieldTypeInputNumber","FieldTypeSelect","FieldTypeRadioGroup","FieldTypeCheckboxGroup","FieldTypeSuperSelectList","FieldTypeSuperSelectTableList","FieldTypeSuperSelectTree","FieldTypeSuperSelectCascader","FieldTypeSelectFunction","FieldTypeSelectIndustry","FieldTypeSelectAddress","FieldTypeSwitch","FieldTypeCheckbox","FieldTypeDatePicker","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","propOptionsInline","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","_extends","submitButtonProps","resetButtonProps","cancelButtonProps","createField","overrides","id","type","label","tips","description","rule","block","hidden","props","createChoiceOption","list","createBlock","kind","needsName","bordered","important","showIndex","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","_blocks$","length","normalized","minSelect","maxSelect","normalizeSchema","schema","moveItem","direction","index","findIndex","item","targetIndex","splice","isFieldNameUnique","fields","excludeId","some","collectFieldsFromBlocks","acc","forEach","push","collectSchemaFields","blockId","stepId","optionId","findBlockInTree","collectBlockFieldNames","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","config","getBlockDefinition","blockToFormValues","_block$column","_block$gap","_block$maxLength","_block$minLength","formValuesToBlock","values","existingBlock","_values$column","_values$gap","_values$maxLength","_values$minLength","stepToFormValues","_step$column","formValuesToStep","existingStep","_values$column2","choiceOptionToFormValues","formValuesToChoiceOption","existingOption","mapOptionItem","children","rest","_objectWithoutPropertiesLoose","_excluded","alignOptionKeys","valueKey","labelKey","_ref","_ref2","_item$_valueKey","_ref3","_item$_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","labelId","types","resolveRegistryLabel","formatMessage","fallbackLabel","optionEnumValues","_field$props","stringWithEnumSchema","enums","enum","optionValueSchema","display","superSelectValueSchema","_field$props2","single","PICKER_TO_FORMAT","date","week","month","quarter","year","datePickerValueSchema","_field$props3","_field$props4","_field$props5","picker","format","showTime","range","minItems","maxItems","component","Input","defaultProps","allowClear","hasFieldProps","valueSchema","TextArea","rows","defaults","InputNumber","Select","hasOptions","RadioGroup","inline","CheckboxGroup","isSuperSelect","optionsAllowDescription","columns","hasColumns","optionsAllowChildren","onlyAllowLastLevel","hasOnlyLastLevel","hasBuiltinData","Switch","Checkbox","DatePicker","resolveComponent","RangePicker","registerField","_definition$hasFieldP","propsSchema","groupName","groupNameId","pickFromPropsSchema","key","fallback","defaultValue","applyFromPropsSchema","setOptionalNumber","setOptionalString","getFieldDefinition","get","resolveFieldTypeLabel","typeOrDefinition","resolveFieldValueSchema","raw","getFieldComponent","getFieldTypes","grouped","group","builtinTypes","Set","flatMap","registered","from","has","customGroups","groupKey","normalizeOptions","allowChildren","columnNames","_item$label","_item$value","_item$description","_item$name","normalizeColumns","_item$title","dataIndex","pickSuperSelectFormValues","allowSelectedAll","searchPlaceholder","applySuperSelectProps","_definition$defaultPr","_definition$defaultPr2","pickFieldProps","_props$rows","_definition$propsSche","showCount","min","max","precision","checkedChildren","unCheckedChildren","applyFieldProps","_values$rows","_definition$propsSche2","text","fieldToFormValues","_field$props6","_field$props7","_field$props8","ruleConfig","rawPlaceholder","selectProps","fieldProps","formValuesToField","existingField","_values$block","_definition$defaults","Text","Typography","TYPE_TAG_COLORS","FieldRow","total","onEdit","onDelete","onMove","useIntl","_jsxs","className","style","_jsx","Space","size","wrap","strong","ellipsis","Tag","Button","icon","ArrowUpOutlined","disabled","onClick","ArrowDownOutlined","EditOutlined","danger","DeleteOutlined","ActionGroup","IconBtn","ROOT_ADD_OPTIONS","FormOutlined","UnorderedListOutlined","TableOutlined","ClusterOutlined","PartitionOutlined","AppstoreOutlined","OrderedListOutlined","NESTED_ADD_OPTIONS","opt","BlockListPanel","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","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","_step$list","_step$list2","_block$items","nests","count","parentBlockId","optionIndex","_option$list","_option$list2","_block$options","supportsItemBlocks","supportsBlocks","blockIndex","_block$itemBlocks","_block$blocks","_block$items2","_block$options2","_block$list","_block$list2","canAddField","supportsChildModules","nestCount","summary","SettingOutlined","Flex","justify","shape","Empty","image","PRESENTED_IMAGE_SIMPLE","BlockConfigFields","fieldTypeOptions","useMemo","openApi","_openApi$data","data","_openApi$data2","_openApi$data3","FormInfo","BlockEditorModal","onCancel","onSave","renderModal","isMobile","useIsMobile","isEdit","formData","handleSubmit","message","error","FormModal","destroyOnHidden","destroyOnClose","formProps","onSubmit","okText","StepEditorModal","ChoiceOptionEditorModal","RulePresetsGroup","Group","RulePresetEditor","rulePresets","createOptionKey","EMPTY_OPTION","_key","isOptionValueLinked","labelText","valueText","patchOptionLabelChange","nextLabel","patch","trimOptionLabelValue","linked","createEmptyTableRow","row","ensureOptionKeys","hasMissingOptionKey","FlatOptionRows","onChange","allowDescription","commit","updateItem","itemIndex","event","target","onBlur","_item$value2","_","TreeOptionNode","siblings","onChangeSiblings","maxDepth","updateSelf","i","removeSelf","addChild","changeChildren","nextChildren","_item$value3","_item$description2","ApartmentOutlined","TreeOptionsEditor","useEffect","ColumnsEditor","_item$width","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$propsSchema","def","getDefaultSelectProps","omitColumns","FieldConfigFields","initialType","onOptionsChange","setFieldType","applyTypeDefaults","nextType","_nextDefinition$props","nextDefinition","nextValues","requestAnimationFrame","FieldEditorModal","fieldList","editorValues","setOptions","setColumns","_editorValues$options","_editorValues$selectP","_values$lenMin","_values$lenMax","normalizedColumns","nextField","modalKey","FormActionsEditor","alignOptions","gapMarks","optionType","buttonStyle","Slider","marks","tooltip","formatter","v","getByPath","obj","path","reduce","resolveSelectorName","_block$discriminator","propertyName","resolveSelectedIds","clearUnselectedOptionFields","keepIds","allOptions","resolveSelectLimits","buildMultipleHint","ChoiceBlock","schemaBlock","blockProp","preview","isPartRoot","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","partRootClassName","buildLabelTips","Tooltip","QuestionCircleOutlined","resolvePartRootClassName","buildFieldLabel","buildIndexedLabelRender","replace","Fragment","renderFieldElements","namePrefix","_props$options","optionsInline","vertical","localeProps","labelRender","labelTips","withBlockLayout","element","forceBlock","_element$props","nestedListItemPartProps","styles","header","borderBottom","borderRadius","overflow","isFormInfoLikeBlock","renderBlockElement","ctx","asListItem","nextCtx","fieldRenderOpts","listItemPartProps","renderChildBlocks","childCtx","List","itemTitle","TableList","FieldComponent","MultiField","Steps","prevIcon","ArrowLeftOutlined","nextIcon","ArrowRightOutlined","fieldNames","renderSchemaInner","bodyClassName","actionNode","content","renderSchemaContent","formClassName","Form","joinClass","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","_file$originFileObj","_file$originFileObj2","filename","pop","src","originName","originFileObj","url","thumbUrl","uuid","fileId","mimetype","isImageFile","mime","startsWith","FileFieldPreview","createWithRemoteLoader","modules","remoteModules","FileLink","Image","files","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","getHours","getMinutes","getSeconds","formatTemporal","formatKey","patternOverride","_unused","isTemporalKey","pickObjectLabel","_item$labelKey","_item$valueKey","mapOptionLabel","_ref4","_match$labelKey","find","formatOption","pick","formatPhone","_ref5","_ref6","_value$value","_value$code","trimmed","number","phone","rawCode","countryCallingCode","formatFile","_value$originFileObj","formatTypedDateRange","_ctx$field","typeLabel","formatDateToToday","itemSchema","start","formatByValueSchema","until","end","formatJson","JSON","stringify","parse","_unused2","formatHtml","formatMoney","toLocaleString","formatColor","toHexString","hex","metaColor","formatPassword","formatBoolean","stringifyFallback","storageType","_unused3","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","baseLabel","cols","renderBlockList","renderBlock","partProps","nestedData","selectorValue","visibleOptions","SchemaContentInnerView","SchemaContentInner","SchemaContent","empty","emptyNode"],"mappings":"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"}
|