@kne/form-creator 0.1.2 → 0.1.4
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 +128 -99
- package/dist/index.js +170 -141
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +95 -31
- package/dist/index.modern.js.map +1 -1
- package/package.json +6 -2
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/RulePresetEditor.js","../src/OptionsEditor.js","../src/SuperSelectPropsEditor.js","../src/FieldPropsEditor.js","../src/FieldEditorModal.js","../src/FormActionsEditor.js","../src/renderSchema.js","../src/SchemaRenderer.js","../src/FormCreator.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 stepCount: '{count} 个步骤',\n blockKind_formInfo: '基础表单',\n blockKind_list: '可增减列表',\n blockKind_tableList: '表格列表',\n blockKind_multiField: '同类多值',\n blockKind_steps: '分步表单',\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};\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 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_steps: 'Step-by-Step',\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: 'Data Key',\n blockNameRequired: 'Data key is required',\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: 'Data Key',\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 data key 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};\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 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 createBlock = (kind, overrides = {}) => {\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: ['list', 'tableList', 'multiField'].includes(kind) ? createDataKey('block') : '',\n label: '',\n addText: '',\n maxLength: undefined,\n minLength: undefined,\n fieldType: 'Input',\n autoStep: true,\n list: [],\n items: []\n };\n\n if (kind === 'steps') {\n return {\n ...base,\n list: undefined,\n items: [createStep()],\n ...overrides\n };\n }\n\n if (kind === 'multiField') {\n return {\n ...base,\n list: undefined,\n ...overrides\n };\n }\n\n return { ...base, ...overrides };\n};\n\nexport const createStep = (overrides = {}) => ({\n id: createFieldId(),\n title: '',\n column: 2,\n list: [],\n ...overrides\n});\n\nconst normalizeField = field => ({\n ...createField(),\n ...field,\n props: { ...(field.props || {}) }\n});\n\nconst normalizeStep = step => ({\n ...createStep(),\n ...step,\n list: Array.isArray(step.list) ? step.list.map(normalizeField) : []\n});\n\nexport const normalizeBlock = block => {\n const kind = block.kind || 'formInfo';\n const normalized = {\n ...createBlock(kind),\n ...block\n };\n\n if (kind === 'steps') {\n normalized.items = Array.isArray(block.items) ? block.items.map(normalizeStep) : [createStep()];\n delete normalized.list;\n return normalized;\n }\n\n if (kind === 'multiField') {\n normalized.list = undefined;\n normalized.items = undefined;\n return normalized;\n }\n\n normalized.list = Array.isArray(block.list) ? block.list.map(normalizeField) : [];\n normalized.items = undefined;\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(normalizeBlock)\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\nexport const collectSchemaFields = (schema, { blockId, stepId } = {}) => {\n const blocks = schema.blocks || [];\n const fields = [];\n\n blocks.forEach(block => {\n if (blockId && block.id !== blockId) {\n return;\n }\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;\n }\n if (block.kind !== 'multiField') {\n fields.push(...(block.list || []));\n }\n });\n\n return fields;\n};\n\nexport const updateBlocks = (schema, updater) => ({\n ...schema,\n blocks: updater(schema.blocks || [])\n});\n\nexport const findBlock = (schema, blockId) => (schema.blocks || []).find(block => block.id === blockId);\n\nexport const mapBlocks = (schema, blockId, updater) =>\n updateBlocks(schema, blocks =>\n blocks.map(block => {\n if (block.id !== blockId) {\n return block;\n }\n return updater(block);\n })\n );\n\nexport const hasRenderableContent = schema => {\n const blocks = schema.blocks || [];\n return blocks.some(block => {\n if (block.kind === 'steps') {\n return (block.items || []).some(step => (step.list || []).length > 0);\n }\n if (block.kind === 'multiField') {\n return !!block.name;\n }\n return (block.list || []).length > 0 || block.title;\n });\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 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});\n\nexport const formValuesToBlock = (values, existingBlock = {}) => ({\n ...existingBlock,\n kind: values.kind || existingBlock.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});\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","export const mapOptionItem = item => {\n if (!item || typeof item !== 'object') {\n return item;\n }\n const { children, ...rest } = item;\n const next = { ...rest };\n if (Array.isArray(children) && children.length) {\n next.children = children.map(mapOptionItem);\n }\n return next;\n};\n\nexport const createApiFromOptions = (options = []) => ({\n loader: () => ({\n pageData: options.map(mapOptionItem)\n })\n});\n","import { hooks } from '@kne/react-form-antd';\nimport SelectList, { SelectCascader, SelectTableList, SelectTree } from '@kne/super-select';\nimport { SelectFunction, SelectIndustry, SelectAddress } from '@kne/super-select-plus';\nimport '@kne/super-select/dist/index.css';\nimport '@kne/super-select-plus/dist/index.css';\nimport { createApiFromOptions } from './optionsApi';\n\nconst { useOnChange } = hooks;\n\nconst hasNestedOptions = options => Array.isArray(options) && options.some(item => Array.isArray(item?.children) && item.children.length);\n\nconst createField = (Component, { preferOptions = false, placeholderPrefix = '请选择' } = {}) => {\n const Field = props => {\n const { options, api, placeholder, ...rest } = props;\n const useOptionsDirectly = preferOptions || hasNestedOptions(options);\n const mergedApi = api || (!useOptionsDirectly && Array.isArray(options) && options.length ? createApiFromOptions(options) : undefined);\n const resolvedPlaceholder = placeholder != null && String(placeholder).trim() ? placeholder : `${placeholderPrefix}${props.label || ''}`;\n\n const render = useOnChange(\n Object.assign(\n {},\n {\n isPopup: true,\n placeholder: resolvedPlaceholder\n },\n rest,\n useOptionsDirectly && Array.isArray(options) ? { options } : {},\n mergedApi ? { api: mergedApi } : {}\n )\n );\n return render(Component);\n };\n Field.field = Component;\n return Field;\n};\n\nexport const SuperSelectList = createField(SelectList);\nexport const SuperSelectTableList = createField(SelectTableList, { preferOptions: true });\nexport const SuperSelectTree = createField(SelectTree, { preferOptions: true });\nexport const SuperSelectCascader = createField(SelectCascader, { preferOptions: true });\n\nexport const SelectFunctionField = createField(SelectFunction);\nexport const SelectIndustryField = createField(SelectIndustry);\nexport const SelectAddressField = createField(SelectAddress);\n","export const RULE_PRESET_ITEMS = [\n { value: 'REQ', label: '必填' },\n { value: 'TEL', label: '手机号格式' },\n { value: 'EMAIL', label: '邮箱格式' }\n];\n\nexport const DEFAULT_RULE_CONFIG = () => ({\n presets: [],\n lenMin: '',\n lenMax: ''\n});\n\nexport const RULE_LEN_PRESET = 'LEN';\n\n/** 注册填写项校验规则 preset,会在规则勾选面板中展示 */\nexport const registerRulePreset = item => {\n if (!item?.value) {\n return;\n }\n const index = RULE_PRESET_ITEMS.findIndex(rule => rule.value === item.value);\n const next = {\n value: item.value,\n label: item.label || item.value\n };\n if (index >= 0) {\n RULE_PRESET_ITEMS[index] = next;\n } else {\n RULE_PRESET_ITEMS.push(next);\n }\n};\n\nexport const getRulePresetItems = () => RULE_PRESET_ITEMS.slice();\n\nexport const parseRuleString = rule => {\n const config = DEFAULT_RULE_CONFIG();\n if (!rule) {\n return config;\n }\n const tokens = String(rule).trim().split(/\\s+/).filter(Boolean);\n tokens.forEach(token => {\n if (RULE_PRESET_ITEMS.some(item => item.value === token)) {\n config.presets.push(token);\n return;\n }\n const lenMatch = token.match(/^LEN-(\\d+)-(\\d+)$/);\n if (lenMatch) {\n config.lenMin = lenMatch[1];\n config.lenMax = lenMatch[2];\n config.presets.push('LEN');\n }\n });\n return config;\n};\n\nexport const buildRuleString = ({ presets = [], lenMin, lenMax } = {}) => {\n const parts = [];\n RULE_PRESET_ITEMS.forEach(item => {\n if (presets.includes(item.value)) {\n parts.push(item.value);\n }\n });\n if (presets.includes('LEN') && lenMin !== '' && lenMax !== '') {\n parts.push(`LEN-${lenMin}-${lenMax}`);\n }\n return parts.join(' ') || undefined;\n};\n","import { Input, TextArea, Select, InputNumber, Switch, Checkbox, DatePicker, RadioGroup, CheckboxGroup } from '@kne/react-form-antd';\nimport { SuperSelectList, SuperSelectTableList, SuperSelectTree, SuperSelectCascader, SelectFunctionField, SelectIndustryField, SelectAddressField } from './fields/extendedFields';\nimport { buildRuleString, parseRuleString } from './rulePresets';\nimport { createEmptyColumn } from './schema';\n\nconst registry = new Map();\n\nconst defineField = (type, definition) => {\n registry.set(type, {\n type,\n ...definition\n });\n};\n\nconst FIELD_GROUPS = [\n {\n label: '基础字段',\n types: ['Input', 'TextArea', 'InputNumber', 'Switch', 'Checkbox', 'DatePicker']\n },\n {\n label: '选择字段',\n types: ['Select', 'RadioGroup', 'CheckboxGroup']\n },\n {\n label: '高级选择',\n types: ['SuperSelectList', 'SuperSelectTableList', 'SuperSelectTree', 'SuperSelectCascader']\n },\n {\n label: '业务选择',\n types: ['SelectFunction', 'SelectIndustry', 'SelectAddress']\n }\n];\n\ndefineField('Input', {\n label: '单行文本',\n group: '基础字段',\n component: Input,\n defaultProps: { allowClear: true },\n hasFieldProps: true\n});\n\ndefineField('TextArea', {\n label: '多行文本',\n group: '基础字段',\n component: TextArea,\n defaultProps: { rows: 3 },\n defaults: { block: true },\n hasFieldProps: true\n});\n\ndefineField('InputNumber', {\n label: '数字',\n group: '基础字段',\n component: InputNumber,\n defaultProps: {},\n hasFieldProps: true\n});\n\ndefineField('Select', {\n label: '下拉选择',\n group: '选择字段',\n component: Select,\n defaultProps: { options: [], allowClear: true },\n hasOptions: true,\n hasFieldProps: true\n});\n\ndefineField('RadioGroup', {\n label: '单选组',\n group: '选择字段',\n component: RadioGroup,\n defaultProps: { options: [] },\n hasOptions: true\n});\n\ndefineField('CheckboxGroup', {\n label: '复选组',\n group: '选择字段',\n component: CheckboxGroup,\n defaultProps: { options: [] },\n hasOptions: true\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});\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});\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});\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});\n\ndefineField('SelectFunction', {\n label: '职能选择',\n group: 'SuperSelectPlus',\n component: SelectFunctionField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true\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});\n\ndefineField('SelectAddress', {\n label: '地址选择',\n group: 'SuperSelectPlus',\n component: SelectAddressField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true\n});\n\ndefineField('Switch', {\n label: '开关',\n group: '基础字段',\n component: Switch,\n defaultProps: {},\n hasFieldProps: true\n});\n\ndefineField('Checkbox', {\n label: '复选框',\n group: '基础字段',\n component: Checkbox,\n defaultProps: { children: '' }\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});\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 * registerField(type, definition) 还可传:\n * - groupName?: string 自定义类型下拉分组名;不传则归入「扩展字段」\n */\nexport const registerField = (type, definition) => {\n const propsSchema = Array.isArray(definition?.propsSchema) ? definition.propsSchema : undefined;\n const groupName = definition?.groupName != null && String(definition.groupName).trim() ? String(definition.groupName).trim() : undefined;\n defineField(type, {\n ...definition,\n propsSchema,\n groupName,\n hasFieldProps: definition.hasFieldProps ?? !!(propsSchema && propsSchema.length)\n });\n};\n\nexport const pickFromPropsSchema = (props = {}, propsSchema = [], defaultProps = {}) => {\n const next = {};\n propsSchema.forEach(item => {\n if (!item?.name) {\n return;\n }\n const key = item.name;\n const fallback = item.defaultValue !== undefined ? item.defaultValue : defaultProps[key];\n if (item.type === 'boolean') {\n next[key] = props[key] !== undefined ? !!props[key] : !!fallback;\n return;\n }\n if (item.type === 'number') {\n next[key] = props[key] != null && props[key] !== '' ? props[key] : (fallback ?? null);\n return;\n }\n if (item.type === 'select') {\n next[key] = props[key] !== undefined ? props[key] : fallback;\n return;\n }\n next[key] = props[key] != null ? props[key] : (fallback ?? '');\n });\n return next;\n};\n\nexport const applyFromPropsSchema = (props, values = {}, propsSchema = []) => {\n propsSchema.forEach(item => {\n if (!item?.name) {\n return;\n }\n const key = item.name;\n const value = values[key];\n if (item.type === 'boolean') {\n props[key] = !!value;\n return;\n }\n if (item.type === 'number') {\n setOptionalNumber(props, key, value);\n return;\n }\n if (item.type === 'select') {\n if (value !== undefined && value !== null && value !== '') {\n props[key] = value;\n } else if (item.defaultValue !== undefined) {\n props[key] = item.defaultValue;\n } else {\n delete props[key];\n }\n return;\n }\n setOptionalString(props, key, value);\n });\n};\n\nexport const getFieldDefinition = type => registry.get(type);\n\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 { useState } from 'react';\nimport { Button, Dropdown, Empty, Flex, Space, Tag, Typography } from 'antd';\nimport { ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined, FormOutlined, UnorderedListOutlined, TableOutlined, AppstoreOutlined, OrderedListOutlined, PlusOutlined, SettingOutlined } from '@ant-design/icons';\nimport { useIntl } from '@kne/react-intl';\nimport { getBlockDefinition } from './blockRegistry';\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 BlockListPanel = ({ blocks, onAddBlock, onEditBlock, onDeleteBlock, onMoveBlock, onAddField, onEditField, onDeleteField, onMoveField, onAddStep, onEditStep, onDeleteStep, onMoveStep, onOpenFormActions }) => {\n const { formatMessage } = useIntl();\n const [addMenuOpen, setAddMenuOpen] = useState(false);\n\n const addBlockOptions = [\n { key: 'formInfo', icon: <FormOutlined /> },\n { key: 'list', icon: <UnorderedListOutlined /> },\n { key: 'tableList', icon: <TableOutlined /> },\n { key: 'multiField', icon: <AppstoreOutlined /> },\n { key: 'steps', icon: <OrderedListOutlined /> }\n ];\n\n const renderFieldList = (fields, blockId, stepId) => {\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)}\n onDelete={fieldId => onDeleteField(blockId, fieldId, stepId)}\n onMove={(fieldId, direction) => onMoveField(blockId, fieldId, direction, stepId)}\n />\n ))}\n </div>\n );\n };\n\n const renderBlockChildren = block => {\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} 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\">{formatMessage({ id: 'fieldCount' }, { count: step.list?.length || 0 })}</Text>\n </Space>\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 <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={`${style['add-inline-btn']} ${style['hover-reveal']}`} onClick={() => onAddField(block.id, step.id)}>\n {formatMessage({ id: 'addField' })}\n </Button>\n </div>\n {renderFieldList(step.list, block.id, step.id)}\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 return <div className={style['block-body']}>{renderFieldList(block.list, block.id)}</div>;\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 <div className={style['add-block-dropdown']}>\n {addBlockOptions.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={() => {\n onAddBlock(opt.key);\n setAddMenuOpen(false);\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n onAddBlock(opt.key);\n setAddMenuOpen(false);\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 <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 </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']}>\n {blocks.map((block, blockIndex) => {\n const definition = getBlockDefinition(block.kind);\n const canAddField = block.kind !== 'steps' && block.kind !== 'multiField';\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 : 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}`] || ''}`.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 === blocks.length - 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 <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={`${style['add-inline-btn']} ${style['hover-reveal']}`} onClick={() => onAddField(block.id)}>\n {formatMessage({ id: 'addField' })}\n </Button>\n ) : null}\n </Space>\n </header>\n {renderBlockChildren(block)}\n </section>\n );\n })}\n </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') {\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' ? <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 !== 'formInfo' ? <Input key=\"addText\" name=\"addText\" label={formatMessage({ id: 'blockAddText' })} placeholder={formatMessage({ id: 'blockAddTextPlaceholder' })} /> : null,\n kind !== 'formInfo' ? <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'blockMaxLength' })} min={1} /> : null,\n kind !== 'formInfo' ? <InputNumber key=\"minLength\" name=\"minLength\" label={formatMessage({ id: 'blockMinLength' })} min={0} /> : null\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') && !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 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, Fragment } from 'react';\nimport { Tooltip } from 'antd';\nimport { QuestionCircleOutlined } from '@ant-design/icons';\nimport FormInfo, { Form, List, TableList, MultiField, Steps } from '@kne/form-info';\nimport { getFieldComponent, getFieldDefinition } from './fieldRegistry';\nimport { createApiFromOptions } from './fields/optionsApi';\nimport { normalizeSchema } from './schema';\nimport style from './style.module.scss';\n\nconst buildLabelTips = tips => {\n if (tips == null || !String(tips).trim()) {\n return undefined;\n }\n return createElement(Tooltip, { title: tips }, createElement(QuestionCircleOutlined, { className: style['field-label-tips-icon'] }));\n};\n\nconst renderFieldElements = (fields = [], preview = false) =>\n fields\n .filter(field => !field.hidden)\n .map(field => {\n const Component = getFieldComponent(field.type, field);\n if (!Component) {\n return null;\n }\n const definition = getFieldDefinition(field.type);\n const props = { ...(field.props || {}) };\n\n if (definition?.optionsAllowDescription && props.options?.length && !props.api && !definition.optionsAllowChildren) {\n props.api = createApiFromOptions(props.options);\n }\n\n // 空字符串会盖掉 react-form-antd / SuperSelect 的默认「请输入/请选择」占位\n if (!Array.isArray(props.placeholder) && props.placeholder != null && !String(props.placeholder).trim()) {\n delete props.placeholder;\n }\n\n // schema 内部标记,不传给 antd\n delete props.range;\n\n const description = field.description != null && String(field.description).trim() ? field.description : undefined;\n\n return createElement(Component, {\n key: field.id,\n name: field.name,\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\nexport const renderBlockElement = (block, preview = false, { isMobile = false, formatMessage } = {}) => {\n const fields = renderFieldElements(block.list, preview);\n const bordered = isMobile ? false : block.bordered || undefined;\n\n switch (block.kind) {\n case 'formInfo':\n return 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\n });\n case 'list':\n return createElement(List, {\n key: block.id,\n name: block.name,\n title: block.title || undefined,\n important: block.important || undefined,\n bordered,\n maxLength: block.maxLength,\n minLength: block.minLength,\n // 不要传 addText: undefined,会盖掉 form-info 内部默认文案,变成畸形 icon-only 按钮\n ...(block.addText ? { addText: block.addText } : {}),\n ...(typeof block.itemTitle === 'function' || block.itemTitle ? { itemTitle: block.itemTitle } : {}),\n list: fields\n });\n case 'tableList':\n return 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 });\n case 'multiField': {\n const FieldComponent = getFieldComponent(block.fieldType);\n if (!FieldComponent) {\n return null;\n }\n return 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 }\n case 'steps': {\n const bordered = isMobile ? false : block.bordered || undefined;\n return createElement(Steps, {\n key: block.id,\n title: block.title || undefined,\n subtitle: block.subtitle || undefined,\n bordered,\n items: (block.items || []).map(step => ({\n key: step.id,\n title: step.title,\n column: step.column,\n gap: block.gap,\n list: renderFieldElements(step.list, preview),\n fieldNames: (step.list || []).filter(field => field && !field.hidden && field.name).map(field => field.name)\n }))\n });\n }\n default:\n return null;\n }\n};\n\nexport const renderSchemaInner = (schema, { preview = false, className, 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(Fragment, null, ...contentChildren, children, actionNode || null);\n\n return className ? createElement('div', { className }, body) : body;\n};\n\nexport const renderSchemaContent = (schema, { preview = false, formProps = {}, className, 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'] }, ...contentChildren, children),\n actionNode || null\n );\n};\n\nexport default renderSchemaContent;\n","import { Fragment, 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 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';\n\nconst resolveActionNode = ({ schema, formatMessage, actions, showActions = true, submitText, resetText, cancelText, submitButtonProps, resetButtonProps, cancelButtonProps, showSubmit, showReset, showCancel, actionsAlign, actionsGap }) => {\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 if (actions !== undefined) {\n return createElement('div', { className: style['schema-actions'] }, createElement(Flex, flexProps, actions));\n }\n\n if (!resolvedShowSubmit && !resolvedShowReset && !resolvedShowCancel) {\n return null;\n }\n\n return createElement(\n 'div',\n { className: style['schema-actions'] },\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\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 } = 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 });\n\n return renderSchemaInner(normalized, {\n preview,\n className,\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 } = 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 });\n\n return renderSchemaContent(normalized, {\n preview,\n formProps,\n className,\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, createStep, defaultSchema, mapBlocks, moveItem, normalizeSchema, updateBlocks, hasRenderableContent } from './schema';\nimport BlockListPanel from './BlockListPanel';\nimport BlockEditorModal from './BlockEditorModal';\nimport StepEditorModal from './StepEditorModal';\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 }) => {\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 [stepEditorOpen, setStepEditorOpen] = useState(false);\n const [stepContext, setStepContext] = 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 handleAddBlock = kind => {\n setEditingBlock(createBlock(kind));\n setBlockEditorOpen(true);\n };\n\n const handleEditBlock = block => {\n setEditingBlock(block);\n setBlockEditorOpen(true);\n };\n\n const handleSaveBlock = block => {\n const exists = schema.blocks.some(item => item.id === block.id);\n updateSchema({\n ...schema,\n blocks: exists ? schema.blocks.map(item => (item.id === block.id ? block : item)) : [...schema.blocks, block]\n });\n setBlockEditorOpen(false);\n setEditingBlock(null);\n };\n\n const handleDeleteBlock = blockId => {\n updateSchema({\n ...schema,\n blocks: schema.blocks.filter(item => item.id !== blockId)\n });\n };\n\n const handleMoveBlock = (blockId, direction) => {\n updateSchema({\n ...schema,\n blocks: moveItem(schema.blocks, blockId, direction)\n });\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 handleAddField = (blockId, stepId) => {\n setFieldContext({ blockId, stepId });\n setEditingField(null);\n setFieldEditorOpen(true);\n };\n\n const handleEditField = (blockId, field, stepId) => {\n setFieldContext({ blockId, stepId });\n setEditingField(field);\n setFieldEditorOpen(true);\n };\n\n const handleSaveField = field => {\n const { blockId, stepId } = 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 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, stepId) => {\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 return {\n ...block,\n list: (block.list || []).filter(item => item.id !== fieldId)\n };\n })\n );\n };\n\n const handleMoveField = (blockId, fieldId, direction, stepId) => {\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 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 }) : [];\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 onOpenFormActions={() => setFormActionsOpen(true)}\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\n open={blockEditorOpen}\n block={editingBlock}\n renderModal={renderModal}\n onCancel={() => {\n setBlockEditorOpen(false);\n setEditingBlock(null);\n }}\n onSave={handleSaveBlock}\n />\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 <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"],"names":["locale","addField","editField","deleteField","moveUp","moveDown","fieldListTitle","fieldListSubtitle","blockListTitle","blockListSubtitle","emptyFieldList","emptyBlockList","addBlock","editBlock","deleteBlock","untitledBlock","expandBlock","collapseBlock","fieldCount","stepCount","blockKind_formInfo","blockKind_list","blockKind_tableList","blockKind_multiField","blockKind_steps","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","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","createFieldId","Date","now","Math","random","toString","slice","createDataKey","prefix","isAutoDataKey","value","RegExp","test","String","trim","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","createBlock","kind","bordered","important","addText","maxLength","minLength","autoStep","list","items","createStep","normalizeField","field","normalizeStep","step","Array","isArray","map","normalizeBlock","normalized","normalizeSchema","schema","length","moveItem","direction","index","findIndex","item","targetIndex","next","splice","isFieldNameUnique","fields","excludeId","some","collectSchemaFields","blockId","stepId","forEach","push","updateBlocks","updater","findBlock","find","mapBlocks","hasRenderableContent","BLOCK_KINDS","formInfo","color","hasFieldList","requiresName","tableList","multiField","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","mapOptionItem","children","rest","_objectWithoutPropertiesLoose","_excluded","createApiFromOptions","options","loader","pageData","useOnChange","hooks","hasNestedOptions","Component","preferOptions","placeholderPrefix","Field","api","placeholder","useOptionsDirectly","mergedApi","resolvedPlaceholder","render","assign","isPopup","SuperSelectList","SelectList","SuperSelectTableList","SelectTableList","SuperSelectTree","SelectTree","SuperSelectCascader","SelectCascader","SelectFunctionField","SelectFunction","SelectIndustryField","SelectIndustry","SelectAddressField","SelectAddress","RULE_PRESET_ITEMS","DEFAULT_RULE_CONFIG","presets","lenMin","lenMax","RULE_LEN_PRESET","registerRulePreset","getRulePresetItems","parseRuleString","tokens","split","filter","Boolean","token","lenMatch","match","buildRuleString","parts","join","registry","Map","defineField","definition","set","FIELD_GROUPS","types","group","component","Input","defaultProps","allowClear","hasFieldProps","TextArea","rows","defaults","InputNumber","Select","hasOptions","RadioGroup","CheckboxGroup","labelKey","valueKey","isSuperSelect","optionsAllowDescription","columns","hasColumns","optionsAllowChildren","onlyAllowLastLevel","hasOnlyLastLevel","hasBuiltinData","Switch","Checkbox","DatePicker","format","picker","range","showTime","resolveComponent","RangePicker","registerField","_definition$hasFieldP","propsSchema","groupName","pickFromPropsSchema","key","fallback","defaultValue","applyFromPropsSchema","setOptionalNumber","setOptionalString","getFieldDefinition","get","getFieldComponent","getFieldTypes","grouped","builtinTypes","Set","flatMap","registered","from","has","customGroups","option","normalizeOptions","allowChildren","columnNames","_item$label","_item$value","_item$description","_item$name","normalizeColumns","_item$title","dataIndex","pickSuperSelectFormValues","single","allowSelectedAll","searchPlaceholder","applySuperSelectProps","_definition$defaultPr","_definition$defaultPr2","pickFieldProps","_props$rows","_definition$propsSche","showCount","min","max","precision","mode","raw","checkedChildren","unCheckedChildren","applyFieldProps","_values$rows","_definition$propsSche2","text","fieldToFormValues","_field$props","_field$props2","_field$props3","ruleConfig","rawPlaceholder","selectProps","fieldProps","formValuesToField","existingField","_ref","_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","BlockListPanel","onAddBlock","onEditBlock","onDeleteBlock","onMoveBlock","onAddField","onEditField","onDeleteField","onMoveField","onAddStep","onEditStep","onDeleteStep","onMoveStep","onOpenFormActions","addMenuOpen","setAddMenuOpen","useState","addBlockOptions","FormOutlined","UnorderedListOutlined","TableOutlined","AppstoreOutlined","OrderedListOutlined","renderFieldList","fieldIndex","fieldItem","fieldId","renderBlockChildren","PlusOutlined","stepIndex","_step$list","_block$items","count","Flex","justify","Dropdown","open","onOpenChange","trigger","dropdownRender","opt","role","tabIndex","onKeyDown","e","shape","SettingOutlined","Empty","image","PRESENTED_IMAGE_SIMPLE","blockIndex","_block$items2","_block$list","canAddField","summary","BlockConfigFields","fieldTypeOptions","useMemo","FormInfo","BlockEditorModal","onCancel","onSave","renderModal","isMobile","useIsMobile","isEdit","formData","handleSubmit","message","error","FormModal","destroyOnHidden","destroyOnClose","formProps","data","onSubmit","okText","StepEditorModal","RulePresetsGroup","Group","RulePresetEditor","display","openApi","_openApi$data","rulePresets","_openApi$data2","createOptionKey","EMPTY_OPTION","_key","createEmptyTableRow","row","ensureOptionKeys","hasMissingOptionKey","FlatOptionRows","onChange","allowDescription","commit","updateItem","patch","itemIndex","event","target","_","TreeOptionNode","siblings","onChangeSiblings","depth","maxDepth","canAddChild","updateSelf","i","removeSelf","addChild","changeChildren","nextChildren","ApartmentOutlined","child","childIndex","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","buildLabelTips","createElement","Tooltip","QuestionCircleOutlined","renderFieldElements","preview","_props$options","labelTips","renderBlockElement","List","itemTitle","TableList","FieldComponent","MultiField","Steps","fieldNames","renderSchemaInner","actionNode","contentChildren","body","Fragment","renderSchemaContent","formClassName","Form","resolveActionNode","showActions","actionsAlign","actionsGap","schemaActions","resolvedShowSubmit","resolvedShowReset","resolvedShowCancel","resolvedAlign","resolvedGap","resolvedSubmitText","resolvedResetText","resolvedCancelText","resolvedSubmitButtonProps","resolvedResetButtonProps","resolvedCancelButtonProps","flexProps","SubmitButton","ResetButton","CancelButton","SchemaRendererInner","SchemaRenderer","FormCreator","showPreview","innerSchema","setInnerSchema","blockEditorOpen","setBlockEditorOpen","editingBlock","setEditingBlock","stepEditorOpen","setStepEditorOpen","stepContext","setStepContext","fieldEditorOpen","setFieldEditorOpen","fieldContext","setFieldContext","editingField","setEditingField","formActionsOpen","setFormActionsOpen","updateSchema","nextSchema","handleAddBlock","handleEditBlock","handleSaveBlock","exists","handleDeleteBlock","handleMoveBlock","handleAddStep","handleEditStep","handleSaveStep","handleDeleteStep","handleMoveStep","handleAddField","handleEditField","handleSaveField","handleDeleteField","handleMoveField","currentFieldScope","RESPONSIVE_BOUNDARY_CLASS"],"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/RulePresetEditor.js","../src/OptionsEditor.js","../src/SuperSelectPropsEditor.js","../src/FieldPropsEditor.js","../src/FieldEditorModal.js","../src/FormActionsEditor.js","../src/renderSchema.js","../src/SchemaRenderer.js","../src/FormCreator.js","../src/preset.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 stepCount: '{count} 个步骤',\n blockKind_formInfo: '基础表单',\n blockKind_list: '可增减列表',\n blockKind_tableList: '表格列表',\n blockKind_multiField: '同类多值',\n blockKind_steps: '分步表单',\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};\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 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_steps: 'Step-by-Step',\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: 'Data Key',\n blockNameRequired: 'Data key is required',\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: 'Data Key',\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 data key 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};\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 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 createBlock = (kind, overrides = {}) => {\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: ['list', 'tableList', 'multiField'].includes(kind) ? createDataKey('block') : '',\n label: '',\n addText: '',\n maxLength: undefined,\n minLength: undefined,\n fieldType: 'Input',\n autoStep: true,\n list: [],\n items: []\n };\n\n if (kind === 'steps') {\n return {\n ...base,\n list: undefined,\n items: [createStep()],\n ...overrides\n };\n }\n\n if (kind === 'multiField') {\n return {\n ...base,\n list: undefined,\n ...overrides\n };\n }\n\n return { ...base, ...overrides };\n};\n\nexport const createStep = (overrides = {}) => ({\n id: createFieldId(),\n title: '',\n column: 2,\n list: [],\n ...overrides\n});\n\nconst normalizeField = field => ({\n ...createField(),\n ...field,\n props: { ...(field.props || {}) }\n});\n\nconst normalizeStep = step => ({\n ...createStep(),\n ...step,\n list: Array.isArray(step.list) ? step.list.map(normalizeField) : []\n});\n\nexport const normalizeBlock = block => {\n const kind = block.kind || 'formInfo';\n const normalized = {\n ...createBlock(kind),\n ...block\n };\n\n if (kind === 'steps') {\n normalized.items = Array.isArray(block.items) ? block.items.map(normalizeStep) : [createStep()];\n delete normalized.list;\n return normalized;\n }\n\n if (kind === 'multiField') {\n normalized.list = undefined;\n normalized.items = undefined;\n return normalized;\n }\n\n normalized.list = Array.isArray(block.list) ? block.list.map(normalizeField) : [];\n normalized.items = undefined;\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(normalizeBlock)\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\nexport const collectSchemaFields = (schema, { blockId, stepId } = {}) => {\n const blocks = schema.blocks || [];\n const fields = [];\n\n blocks.forEach(block => {\n if (blockId && block.id !== blockId) {\n return;\n }\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;\n }\n if (block.kind !== 'multiField') {\n fields.push(...(block.list || []));\n }\n });\n\n return fields;\n};\n\nexport const updateBlocks = (schema, updater) => ({\n ...schema,\n blocks: updater(schema.blocks || [])\n});\n\nexport const findBlock = (schema, blockId) => (schema.blocks || []).find(block => block.id === blockId);\n\nexport const mapBlocks = (schema, blockId, updater) =>\n updateBlocks(schema, blocks =>\n blocks.map(block => {\n if (block.id !== blockId) {\n return block;\n }\n return updater(block);\n })\n );\n\nexport const hasRenderableContent = schema => {\n const blocks = schema.blocks || [];\n return blocks.some(block => {\n if (block.kind === 'steps') {\n return (block.items || []).some(step => (step.list || []).length > 0);\n }\n if (block.kind === 'multiField') {\n return !!block.name;\n }\n return (block.list || []).length > 0 || block.title;\n });\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 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});\n\nexport const formValuesToBlock = (values, existingBlock = {}) => ({\n ...existingBlock,\n kind: values.kind || existingBlock.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});\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","export const mapOptionItem = item => {\n if (!item || typeof item !== 'object') {\n return item;\n }\n const { children, ...rest } = item;\n const next = { ...rest };\n if (Array.isArray(children) && children.length) {\n next.children = children.map(mapOptionItem);\n }\n return next;\n};\n\nexport const createApiFromOptions = (options = []) => ({\n loader: () => ({\n pageData: options.map(mapOptionItem)\n })\n});\n","import { hooks } from '@kne/react-form-antd';\nimport SelectList, { SelectCascader, SelectTableList, SelectTree } from '@kne/super-select';\nimport { SelectFunction, SelectIndustry, SelectAddress } from '@kne/super-select-plus';\nimport '@kne/super-select/dist/index.css';\nimport '@kne/super-select-plus/dist/index.css';\nimport { createApiFromOptions } from './optionsApi';\n\nconst { useOnChange } = hooks;\n\nconst hasNestedOptions = options => Array.isArray(options) && options.some(item => Array.isArray(item?.children) && item.children.length);\n\nconst createField = (Component, { preferOptions = false, placeholderPrefix = '请选择' } = {}) => {\n const Field = props => {\n const { options, api, placeholder, ...rest } = props;\n const useOptionsDirectly = preferOptions || hasNestedOptions(options);\n const mergedApi = api || (!useOptionsDirectly && Array.isArray(options) && options.length ? createApiFromOptions(options) : undefined);\n const resolvedPlaceholder = placeholder != null && String(placeholder).trim() ? placeholder : `${placeholderPrefix}${props.label || ''}`;\n\n const render = useOnChange(\n Object.assign(\n {},\n {\n isPopup: true,\n placeholder: resolvedPlaceholder\n },\n rest,\n useOptionsDirectly && Array.isArray(options) ? { options } : {},\n mergedApi ? { api: mergedApi } : {}\n )\n );\n return render(Component);\n };\n Field.field = Component;\n return Field;\n};\n\nexport const SuperSelectList = createField(SelectList);\nexport const SuperSelectTableList = createField(SelectTableList, { preferOptions: true });\nexport const SuperSelectTree = createField(SelectTree, { preferOptions: true });\nexport const SuperSelectCascader = createField(SelectCascader, { preferOptions: true });\n\nexport const SelectFunctionField = createField(SelectFunction);\nexport const SelectIndustryField = createField(SelectIndustry);\nexport const SelectAddressField = createField(SelectAddress);\n","export const RULE_PRESET_ITEMS = [\n { value: 'REQ', label: '必填' },\n { value: 'TEL', label: '手机号格式' },\n { value: 'EMAIL', label: '邮箱格式' }\n];\n\nexport const DEFAULT_RULE_CONFIG = () => ({\n presets: [],\n lenMin: '',\n lenMax: ''\n});\n\nexport const RULE_LEN_PRESET = 'LEN';\n\n/** 注册填写项校验规则 preset,会在规则勾选面板中展示 */\nexport const registerRulePreset = item => {\n if (!item?.value) {\n return;\n }\n const index = RULE_PRESET_ITEMS.findIndex(rule => rule.value === item.value);\n const next = {\n value: item.value,\n label: item.label || item.value\n };\n if (index >= 0) {\n RULE_PRESET_ITEMS[index] = next;\n } else {\n RULE_PRESET_ITEMS.push(next);\n }\n};\n\nexport const getRulePresetItems = () => RULE_PRESET_ITEMS.slice();\n\nexport const parseRuleString = rule => {\n const config = DEFAULT_RULE_CONFIG();\n if (!rule) {\n return config;\n }\n const tokens = String(rule).trim().split(/\\s+/).filter(Boolean);\n tokens.forEach(token => {\n if (RULE_PRESET_ITEMS.some(item => item.value === token)) {\n config.presets.push(token);\n return;\n }\n const lenMatch = token.match(/^LEN-(\\d+)-(\\d+)$/);\n if (lenMatch) {\n config.lenMin = lenMatch[1];\n config.lenMax = lenMatch[2];\n config.presets.push('LEN');\n }\n });\n return config;\n};\n\nexport const buildRuleString = ({ presets = [], lenMin, lenMax } = {}) => {\n const parts = [];\n RULE_PRESET_ITEMS.forEach(item => {\n if (presets.includes(item.value)) {\n parts.push(item.value);\n }\n });\n if (presets.includes('LEN') && lenMin !== '' && lenMax !== '') {\n parts.push(`LEN-${lenMin}-${lenMax}`);\n }\n return parts.join(' ') || undefined;\n};\n","import { Input, TextArea, Select, InputNumber, Switch, Checkbox, DatePicker, RadioGroup, CheckboxGroup } from '@kne/react-form-antd';\nimport { SuperSelectList, SuperSelectTableList, SuperSelectTree, SuperSelectCascader, SelectFunctionField, SelectIndustryField, SelectAddressField } from './fields/extendedFields';\nimport { buildRuleString, parseRuleString } from './rulePresets';\nimport { createEmptyColumn } from './schema';\n\nconst registry = new Map();\n\nconst defineField = (type, definition) => {\n registry.set(type, {\n type,\n ...definition\n });\n};\n\nconst FIELD_GROUPS = [\n {\n label: '基础字段',\n types: ['Input', 'TextArea', 'InputNumber', 'Switch', 'Checkbox', 'DatePicker']\n },\n {\n label: '选择字段',\n types: ['Select', 'RadioGroup', 'CheckboxGroup']\n },\n {\n label: '高级选择',\n types: ['SuperSelectList', 'SuperSelectTableList', 'SuperSelectTree', 'SuperSelectCascader']\n },\n {\n label: '业务选择',\n types: ['SelectFunction', 'SelectIndustry', 'SelectAddress']\n }\n];\n\ndefineField('Input', {\n label: '单行文本',\n group: '基础字段',\n component: Input,\n defaultProps: { allowClear: true },\n hasFieldProps: true\n});\n\ndefineField('TextArea', {\n label: '多行文本',\n group: '基础字段',\n component: TextArea,\n defaultProps: { rows: 3 },\n defaults: { block: true },\n hasFieldProps: true\n});\n\ndefineField('InputNumber', {\n label: '数字',\n group: '基础字段',\n component: InputNumber,\n defaultProps: {},\n hasFieldProps: true\n});\n\ndefineField('Select', {\n label: '下拉选择',\n group: '选择字段',\n component: Select,\n defaultProps: { options: [], allowClear: true },\n hasOptions: true,\n hasFieldProps: true\n});\n\ndefineField('RadioGroup', {\n label: '单选组',\n group: '选择字段',\n component: RadioGroup,\n defaultProps: { options: [] },\n hasOptions: true\n});\n\ndefineField('CheckboxGroup', {\n label: '复选组',\n group: '选择字段',\n component: CheckboxGroup,\n defaultProps: { options: [] },\n hasOptions: true\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});\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});\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});\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});\n\ndefineField('SelectFunction', {\n label: '职能选择',\n group: 'SuperSelectPlus',\n component: SelectFunctionField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true\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});\n\ndefineField('SelectAddress', {\n label: '地址选择',\n group: 'SuperSelectPlus',\n component: SelectAddressField,\n defaultProps: { isPopup: true, allowClear: true },\n isSuperSelect: true,\n hasBuiltinData: true\n});\n\ndefineField('Switch', {\n label: '开关',\n group: '基础字段',\n component: Switch,\n defaultProps: {},\n hasFieldProps: true\n});\n\ndefineField('Checkbox', {\n label: '复选框',\n group: '基础字段',\n component: Checkbox,\n defaultProps: { children: '' }\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});\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 * registerField(type, definition) 还可传:\n * - groupName?: string 自定义类型下拉分组名;不传则归入「扩展字段」\n */\nexport const registerField = (type, definition) => {\n const propsSchema = Array.isArray(definition?.propsSchema) ? definition.propsSchema : undefined;\n const groupName = definition?.groupName != null && String(definition.groupName).trim() ? String(definition.groupName).trim() : undefined;\n defineField(type, {\n ...definition,\n propsSchema,\n groupName,\n hasFieldProps: definition.hasFieldProps ?? !!(propsSchema && propsSchema.length)\n });\n};\n\nexport const pickFromPropsSchema = (props = {}, propsSchema = [], defaultProps = {}) => {\n const next = {};\n propsSchema.forEach(item => {\n if (!item?.name) {\n return;\n }\n const key = item.name;\n const fallback = item.defaultValue !== undefined ? item.defaultValue : defaultProps[key];\n if (item.type === 'boolean') {\n next[key] = props[key] !== undefined ? !!props[key] : !!fallback;\n return;\n }\n if (item.type === 'number') {\n next[key] = props[key] != null && props[key] !== '' ? props[key] : (fallback ?? null);\n return;\n }\n if (item.type === 'select') {\n next[key] = props[key] !== undefined ? props[key] : fallback;\n return;\n }\n next[key] = props[key] != null ? props[key] : (fallback ?? '');\n });\n return next;\n};\n\nexport const applyFromPropsSchema = (props, values = {}, propsSchema = []) => {\n propsSchema.forEach(item => {\n if (!item?.name) {\n return;\n }\n const key = item.name;\n const value = values[key];\n if (item.type === 'boolean') {\n props[key] = !!value;\n return;\n }\n if (item.type === 'number') {\n setOptionalNumber(props, key, value);\n return;\n }\n if (item.type === 'select') {\n if (value !== undefined && value !== null && value !== '') {\n props[key] = value;\n } else if (item.defaultValue !== undefined) {\n props[key] = item.defaultValue;\n } else {\n delete props[key];\n }\n return;\n }\n setOptionalString(props, key, value);\n });\n};\n\nexport const getFieldDefinition = type => registry.get(type);\n\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 { useState } from 'react';\nimport { Button, Dropdown, Empty, Flex, Space, Tag, Typography } from 'antd';\nimport { ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined, FormOutlined, UnorderedListOutlined, TableOutlined, AppstoreOutlined, OrderedListOutlined, PlusOutlined, SettingOutlined } from '@ant-design/icons';\nimport { useIntl } from '@kne/react-intl';\nimport { getBlockDefinition } from './blockRegistry';\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 BlockListPanel = ({ blocks, onAddBlock, onEditBlock, onDeleteBlock, onMoveBlock, onAddField, onEditField, onDeleteField, onMoveField, onAddStep, onEditStep, onDeleteStep, onMoveStep, onOpenFormActions }) => {\n const { formatMessage } = useIntl();\n const [addMenuOpen, setAddMenuOpen] = useState(false);\n\n const addBlockOptions = [\n { key: 'formInfo', icon: <FormOutlined /> },\n { key: 'list', icon: <UnorderedListOutlined /> },\n { key: 'tableList', icon: <TableOutlined /> },\n { key: 'multiField', icon: <AppstoreOutlined /> },\n { key: 'steps', icon: <OrderedListOutlined /> }\n ];\n\n const renderFieldList = (fields, blockId, stepId) => {\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)}\n onDelete={fieldId => onDeleteField(blockId, fieldId, stepId)}\n onMove={(fieldId, direction) => onMoveField(blockId, fieldId, direction, stepId)}\n />\n ))}\n </div>\n );\n };\n\n const renderBlockChildren = block => {\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} 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\">{formatMessage({ id: 'fieldCount' }, { count: step.list?.length || 0 })}</Text>\n </Space>\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 <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={`${style['add-inline-btn']} ${style['hover-reveal']}`} onClick={() => onAddField(block.id, step.id)}>\n {formatMessage({ id: 'addField' })}\n </Button>\n </div>\n {renderFieldList(step.list, block.id, step.id)}\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 return <div className={style['block-body']}>{renderFieldList(block.list, block.id)}</div>;\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 <div className={style['add-block-dropdown']}>\n {addBlockOptions.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={() => {\n onAddBlock(opt.key);\n setAddMenuOpen(false);\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n onAddBlock(opt.key);\n setAddMenuOpen(false);\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 <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 </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']}>\n {blocks.map((block, blockIndex) => {\n const definition = getBlockDefinition(block.kind);\n const canAddField = block.kind !== 'steps' && block.kind !== 'multiField';\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 : 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}`] || ''}`.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 === blocks.length - 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 <Button type=\"text\" size=\"small\" icon={<PlusOutlined />} className={`${style['add-inline-btn']} ${style['hover-reveal']}`} onClick={() => onAddField(block.id)}>\n {formatMessage({ id: 'addField' })}\n </Button>\n ) : null}\n </Space>\n </header>\n {renderBlockChildren(block)}\n </section>\n );\n })}\n </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') {\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' ? <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 !== 'formInfo' ? <Input key=\"addText\" name=\"addText\" label={formatMessage({ id: 'blockAddText' })} placeholder={formatMessage({ id: 'blockAddTextPlaceholder' })} /> : null,\n kind !== 'formInfo' ? <InputNumber key=\"maxLength\" name=\"maxLength\" label={formatMessage({ id: 'blockMaxLength' })} min={1} /> : null,\n kind !== 'formInfo' ? <InputNumber key=\"minLength\" name=\"minLength\" label={formatMessage({ id: 'blockMinLength' })} min={0} /> : null\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') && !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 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, Fragment } from 'react';\nimport { Tooltip } from 'antd';\nimport { QuestionCircleOutlined } from '@ant-design/icons';\nimport FormInfo, { Form, List, TableList, MultiField, Steps } from '@kne/form-info';\nimport { getFieldComponent, getFieldDefinition } from './fieldRegistry';\nimport { createApiFromOptions } from './fields/optionsApi';\nimport { normalizeSchema } from './schema';\nimport style from './style.module.scss';\n\nconst buildLabelTips = tips => {\n if (tips == null || !String(tips).trim()) {\n return undefined;\n }\n return createElement(Tooltip, { title: tips }, createElement(QuestionCircleOutlined, { className: style['field-label-tips-icon'] }));\n};\n\nconst renderFieldElements = (fields = [], preview = false) =>\n fields\n .filter(field => !field.hidden)\n .map(field => {\n const Component = getFieldComponent(field.type, field);\n if (!Component) {\n return null;\n }\n const definition = getFieldDefinition(field.type);\n const props = { ...(field.props || {}) };\n\n if (definition?.optionsAllowDescription && props.options?.length && !props.api && !definition.optionsAllowChildren) {\n props.api = createApiFromOptions(props.options);\n }\n\n // 空字符串会盖掉 react-form-antd / SuperSelect 的默认「请输入/请选择」占位\n if (!Array.isArray(props.placeholder) && props.placeholder != null && !String(props.placeholder).trim()) {\n delete props.placeholder;\n }\n\n // schema 内部标记,不传给 antd\n delete props.range;\n\n const description = field.description != null && String(field.description).trim() ? field.description : undefined;\n\n return createElement(Component, {\n key: field.id,\n name: field.name,\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\nexport const renderBlockElement = (block, preview = false, { isMobile = false, formatMessage } = {}) => {\n const fields = renderFieldElements(block.list, preview);\n const bordered = isMobile ? false : block.bordered || undefined;\n\n switch (block.kind) {\n case 'formInfo':\n return 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\n });\n case 'list':\n return createElement(List, {\n key: block.id,\n name: block.name,\n title: block.title || undefined,\n important: block.important || undefined,\n bordered,\n maxLength: block.maxLength,\n minLength: block.minLength,\n // 不要传 addText: undefined,会盖掉 form-info 内部默认文案,变成畸形 icon-only 按钮\n ...(block.addText ? { addText: block.addText } : {}),\n ...(typeof block.itemTitle === 'function' || block.itemTitle ? { itemTitle: block.itemTitle } : {}),\n list: fields\n });\n case 'tableList':\n return 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 });\n case 'multiField': {\n const FieldComponent = getFieldComponent(block.fieldType);\n if (!FieldComponent) {\n return null;\n }\n return 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 }\n case 'steps': {\n const bordered = isMobile ? false : block.bordered || undefined;\n return createElement(Steps, {\n key: block.id,\n title: block.title || undefined,\n subtitle: block.subtitle || undefined,\n bordered,\n items: (block.items || []).map(step => ({\n key: step.id,\n title: step.title,\n column: step.column,\n gap: block.gap,\n list: renderFieldElements(step.list, preview),\n fieldNames: (step.list || []).filter(field => field && !field.hidden && field.name).map(field => field.name)\n }))\n });\n }\n default:\n return null;\n }\n};\n\nexport const renderSchemaInner = (schema, { preview = false, className, 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(Fragment, null, ...contentChildren, children, actionNode || null);\n\n return className ? createElement('div', { className }, body) : body;\n};\n\nexport const renderSchemaContent = (schema, { preview = false, formProps = {}, className, 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'] }, ...contentChildren, children),\n actionNode || null\n );\n};\n\nexport default renderSchemaContent;\n","import { Fragment, 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 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';\n\nconst resolveActionNode = ({ schema, formatMessage, actions, showActions = true, submitText, resetText, cancelText, submitButtonProps, resetButtonProps, cancelButtonProps, showSubmit, showReset, showCancel, actionsAlign, actionsGap }) => {\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 if (actions !== undefined) {\n return createElement('div', { className: style['schema-actions'] }, createElement(Flex, flexProps, actions));\n }\n\n if (!resolvedShowSubmit && !resolvedShowReset && !resolvedShowCancel) {\n return null;\n }\n\n return createElement(\n 'div',\n { className: style['schema-actions'] },\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\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 } = 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 });\n\n return renderSchemaInner(normalized, {\n preview,\n className,\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 } = 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 });\n\n return renderSchemaContent(normalized, {\n preview,\n formProps,\n className,\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, createStep, defaultSchema, mapBlocks, moveItem, normalizeSchema, updateBlocks, hasRenderableContent } from './schema';\nimport BlockListPanel from './BlockListPanel';\nimport BlockEditorModal from './BlockEditorModal';\nimport StepEditorModal from './StepEditorModal';\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 }) => {\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 [stepEditorOpen, setStepEditorOpen] = useState(false);\n const [stepContext, setStepContext] = 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 handleAddBlock = kind => {\n setEditingBlock(createBlock(kind));\n setBlockEditorOpen(true);\n };\n\n const handleEditBlock = block => {\n setEditingBlock(block);\n setBlockEditorOpen(true);\n };\n\n const handleSaveBlock = block => {\n const exists = schema.blocks.some(item => item.id === block.id);\n updateSchema({\n ...schema,\n blocks: exists ? schema.blocks.map(item => (item.id === block.id ? block : item)) : [...schema.blocks, block]\n });\n setBlockEditorOpen(false);\n setEditingBlock(null);\n };\n\n const handleDeleteBlock = blockId => {\n updateSchema({\n ...schema,\n blocks: schema.blocks.filter(item => item.id !== blockId)\n });\n };\n\n const handleMoveBlock = (blockId, direction) => {\n updateSchema({\n ...schema,\n blocks: moveItem(schema.blocks, blockId, direction)\n });\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 handleAddField = (blockId, stepId) => {\n setFieldContext({ blockId, stepId });\n setEditingField(null);\n setFieldEditorOpen(true);\n };\n\n const handleEditField = (blockId, field, stepId) => {\n setFieldContext({ blockId, stepId });\n setEditingField(field);\n setFieldEditorOpen(true);\n };\n\n const handleSaveField = field => {\n const { blockId, stepId } = 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 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, stepId) => {\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 return {\n ...block,\n list: (block.list || []).filter(item => item.id !== fieldId)\n };\n })\n );\n };\n\n const handleMoveField = (blockId, fieldId, direction, stepId) => {\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 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 }) : [];\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 onOpenFormActions={() => setFormActionsOpen(true)}\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\n open={blockEditorOpen}\n block={editingBlock}\n renderModal={renderModal}\n onCancel={() => {\n setBlockEditorOpen(false);\n setEditingBlock(null);\n }}\n onSave={handleSaveBlock}\n />\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 <FieldEditorModal\n open={fieldEditorOpen}\n field={editingField}\n fieldList={currentFieldScope}\n renderModal={renderModal}\n onCancel={() => {\n setFieldEditorOpen(false);\n setFieldContext(null);\n setEditingField(null);\n }}\n onSave={handleSaveField}\n />\n <FormActionsEditor\n open={formActionsOpen}\n value={schema.actions}\n renderModal={renderModal}\n onCancel={() => setFormActionsOpen(false)}\n onSave={actions => {\n updateSchema({ ...schema, actions });\n setFormActionsOpen(false);\n }}\n />\n </div>\n );\n});\n\nexport default FormCreator;\n","import { preset as applyFormAntdPreset, RULES } from '@kne/react-form-antd';\nimport { registerField } from './fieldRegistry';\nimport { registerRulePreset } from './rulePresets';\n\n/**\n * 统一注册扩展规则与填写项:运行时校验 + 编辑器规则面板 + 字段类型 registry。\n * 应用入口调用一次即可,FormCreator / SchemaRenderer 共用。\n */\nexport const preset = ({ rules = {}, fields = {} } = {}) => {\n const runtimeRules = { ...RULES };\n\n Object.entries(rules).forEach(([value, def]) => {\n if (def == null) {\n return;\n }\n\n if (typeof def === 'function') {\n registerRulePreset({ value, label: value });\n runtimeRules[value] = def;\n return;\n }\n\n const { label, validator, ...ruleBody } = def;\n if (label) {\n registerRulePreset({ value, label });\n }\n\n if (typeof validator === 'function') {\n runtimeRules[value] = validator;\n } else if (Object.keys(ruleBody).length) {\n runtimeRules[value] = ruleBody;\n }\n });\n\n applyFormAntdPreset({ rules: runtimeRules });\n\n Object.entries(fields).forEach(([type, definition]) => {\n registerField(type, definition);\n });\n};\n"],"names":["locale","addField","editField","deleteField","moveUp","moveDown","fieldListTitle","fieldListSubtitle","blockListTitle","blockListSubtitle","emptyFieldList","emptyBlockList","addBlock","editBlock","deleteBlock","untitledBlock","expandBlock","collapseBlock","fieldCount","stepCount","blockKind_formInfo","blockKind_list","blockKind_tableList","blockKind_multiField","blockKind_steps","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","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","createFieldId","Date","now","Math","random","toString","slice","createDataKey","prefix","isAutoDataKey","value","RegExp","test","String","trim","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","createBlock","kind","bordered","important","addText","maxLength","minLength","autoStep","list","items","createStep","normalizeField","field","normalizeStep","step","Array","isArray","map","normalizeBlock","normalized","normalizeSchema","schema","length","moveItem","direction","index","findIndex","item","targetIndex","next","splice","isFieldNameUnique","fields","excludeId","some","collectSchemaFields","blockId","stepId","forEach","push","updateBlocks","updater","findBlock","find","mapBlocks","hasRenderableContent","BLOCK_KINDS","formInfo","color","hasFieldList","requiresName","tableList","multiField","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","mapOptionItem","children","rest","_objectWithoutPropertiesLoose","_excluded","createApiFromOptions","options","loader","pageData","useOnChange","hooks","hasNestedOptions","Component","preferOptions","placeholderPrefix","Field","api","placeholder","useOptionsDirectly","mergedApi","resolvedPlaceholder","render","assign","isPopup","SuperSelectList","SelectList","SuperSelectTableList","SelectTableList","SuperSelectTree","SelectTree","SuperSelectCascader","SelectCascader","SelectFunctionField","SelectFunction","SelectIndustryField","SelectIndustry","SelectAddressField","SelectAddress","RULE_PRESET_ITEMS","DEFAULT_RULE_CONFIG","presets","lenMin","lenMax","RULE_LEN_PRESET","registerRulePreset","getRulePresetItems","parseRuleString","tokens","split","filter","Boolean","token","lenMatch","match","buildRuleString","parts","join","registry","Map","defineField","definition","set","FIELD_GROUPS","types","group","component","Input","defaultProps","allowClear","hasFieldProps","TextArea","rows","defaults","InputNumber","Select","hasOptions","RadioGroup","CheckboxGroup","labelKey","valueKey","isSuperSelect","optionsAllowDescription","columns","hasColumns","optionsAllowChildren","onlyAllowLastLevel","hasOnlyLastLevel","hasBuiltinData","Switch","Checkbox","DatePicker","format","picker","range","showTime","resolveComponent","RangePicker","registerField","_definition$hasFieldP","propsSchema","groupName","pickFromPropsSchema","key","fallback","defaultValue","applyFromPropsSchema","setOptionalNumber","setOptionalString","getFieldDefinition","get","getFieldComponent","getFieldTypes","grouped","builtinTypes","Set","flatMap","registered","from","has","customGroups","option","normalizeOptions","allowChildren","columnNames","_item$label","_item$value","_item$description","_item$name","normalizeColumns","_item$title","dataIndex","pickSuperSelectFormValues","single","allowSelectedAll","searchPlaceholder","applySuperSelectProps","_definition$defaultPr","_definition$defaultPr2","pickFieldProps","_props$rows","_definition$propsSche","showCount","min","max","precision","mode","raw","checkedChildren","unCheckedChildren","applyFieldProps","_values$rows","_definition$propsSche2","text","fieldToFormValues","_field$props","_field$props2","_field$props3","ruleConfig","rawPlaceholder","selectProps","fieldProps","formValuesToField","existingField","_ref","_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","BlockListPanel","onAddBlock","onEditBlock","onDeleteBlock","onMoveBlock","onAddField","onEditField","onDeleteField","onMoveField","onAddStep","onEditStep","onDeleteStep","onMoveStep","onOpenFormActions","addMenuOpen","setAddMenuOpen","useState","addBlockOptions","FormOutlined","UnorderedListOutlined","TableOutlined","AppstoreOutlined","OrderedListOutlined","renderFieldList","fieldIndex","fieldItem","fieldId","renderBlockChildren","PlusOutlined","stepIndex","_step$list","_block$items","count","Flex","justify","Dropdown","open","onOpenChange","trigger","dropdownRender","opt","role","tabIndex","onKeyDown","e","shape","SettingOutlined","Empty","image","PRESENTED_IMAGE_SIMPLE","blockIndex","_block$items2","_block$list","canAddField","summary","BlockConfigFields","fieldTypeOptions","useMemo","FormInfo","BlockEditorModal","onCancel","onSave","renderModal","isMobile","useIsMobile","isEdit","formData","handleSubmit","message","error","FormModal","destroyOnHidden","destroyOnClose","formProps","data","onSubmit","okText","StepEditorModal","RulePresetsGroup","Group","RulePresetEditor","display","openApi","_openApi$data","rulePresets","_openApi$data2","createOptionKey","EMPTY_OPTION","_key","createEmptyTableRow","row","ensureOptionKeys","hasMissingOptionKey","FlatOptionRows","onChange","allowDescription","commit","updateItem","patch","itemIndex","event","target","_","TreeOptionNode","siblings","onChangeSiblings","depth","maxDepth","canAddChild","updateSelf","i","removeSelf","addChild","changeChildren","nextChildren","ApartmentOutlined","child","childIndex","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","buildLabelTips","createElement","Tooltip","QuestionCircleOutlined","renderFieldElements","preview","_props$options","labelTips","renderBlockElement","List","itemTitle","TableList","FieldComponent","MultiField","Steps","fieldNames","renderSchemaInner","actionNode","contentChildren","body","Fragment","renderSchemaContent","formClassName","Form","resolveActionNode","showActions","actionsAlign","actionsGap","schemaActions","resolvedShowSubmit","resolvedShowReset","resolvedShowCancel","resolvedAlign","resolvedGap","resolvedSubmitText","resolvedResetText","resolvedCancelText","resolvedSubmitButtonProps","resolvedResetButtonProps","resolvedCancelButtonProps","flexProps","SubmitButton","ResetButton","CancelButton","SchemaRendererInner","SchemaRenderer","FormCreator","showPreview","innerSchema","setInnerSchema","blockEditorOpen","setBlockEditorOpen","editingBlock","setEditingBlock","stepEditorOpen","setStepEditorOpen","stepContext","setStepContext","fieldEditorOpen","setFieldEditorOpen","fieldContext","setFieldContext","editingField","setEditingField","formActionsOpen","setFormActionsOpen","updateSchema","nextSchema","handleAddBlock","handleEditBlock","handleSaveBlock","exists","handleDeleteBlock","handleMoveBlock","handleAddStep","handleEditStep","handleSaveStep","handleDeleteStep","handleMoveStep","handleAddField","handleEditField","handleSaveField","handleDeleteField","handleMoveField","currentFieldScope","RESPONSIVE_BOUNDARY_CLASS","preset","rules","runtimeRules","RULES","validator","ruleBody","keys","applyFormAntdPreset"],"mappings":"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"}
|