@kne/form-creator 0.1.16 → 0.1.17
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 +124 -2
- package/dist/index.css +14 -13
- package/dist/index.css.map +1 -1
- package/dist/index.js +113 -148
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +21 -5
- package/dist/index.modern.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1180,7 +1180,6 @@ const demoData = {
|
|
|
1180
1180
|
mobile: '13800138000',
|
|
1181
1181
|
gender: 'male',
|
|
1182
1182
|
agree: true,
|
|
1183
|
-
joinDate: '2024-03-01',
|
|
1184
1183
|
remark: '可远程办公',
|
|
1185
1184
|
projects: [
|
|
1186
1185
|
{ projectName: '招聘门户改版', role: '前端' },
|
|
@@ -1232,6 +1231,127 @@ render(<SchemaContentExample />);
|
|
|
1232
1231
|
|
|
1233
1232
|
```
|
|
1234
1233
|
|
|
1234
|
+
- FormInfo 包装为表单字段
|
|
1235
|
+
- 用 form-info 的 FormModal + useDecorator 把 FormCreator 做成字段;复现外层 Part 嵌套导致模块标题变成二级标签
|
|
1236
|
+
- _FormCreator(@kne/current-lib_form-creator)[import * as _FormCreator from "@kne/form-creator"],(@kne/current-lib_form-creator/dist/index.css)[import "@kne/form-creator/dist/index.css"],_FormInfo(@kne/form-info)[import * as _FormInfo from "@kne/form-info"],(@kne/form-info/dist/index.css)[import "@kne/form-info/dist/index.css"],antd(antd)[import antd from "antd"]
|
|
1237
|
+
|
|
1238
|
+
```jsx
|
|
1239
|
+
const { default: FormCreator, defaultSchema, createBlock, createField } = _FormCreator;
|
|
1240
|
+
const { default: FormInfo, FormModal, Input, hooks } = _FormInfo;
|
|
1241
|
+
const { useState } = React;
|
|
1242
|
+
const { Alert, Button, Space, Typography } = antd;
|
|
1243
|
+
const { Text, Paragraph } = Typography;
|
|
1244
|
+
const { useDecorator } = hooks;
|
|
1245
|
+
|
|
1246
|
+
/**
|
|
1247
|
+
* 业务侧常见写法:把 FormCreator 用 form-info 的 useDecorator 包成表单字段,
|
|
1248
|
+
* 再放进 FormModal / FormInfo。外层 Part(常 no-title)会套住内层 Schema 的 FormInfo Part,
|
|
1249
|
+
* InfoPage 会把内层标题渲染成「二级标签」胶囊样式。
|
|
1250
|
+
*/
|
|
1251
|
+
const FormCreatorField = props => {
|
|
1252
|
+
const render = useDecorator(Object.assign({ block: true }, props));
|
|
1253
|
+
return render(FormCreator);
|
|
1254
|
+
};
|
|
1255
|
+
|
|
1256
|
+
const demoSchema = {
|
|
1257
|
+
...defaultSchema(),
|
|
1258
|
+
blocks: [
|
|
1259
|
+
createBlock('formInfo', {
|
|
1260
|
+
title: '在校时间',
|
|
1261
|
+
bordered: true,
|
|
1262
|
+
column: 2,
|
|
1263
|
+
list: [
|
|
1264
|
+
createField({
|
|
1265
|
+
type: 'TextArea',
|
|
1266
|
+
name: 'multiLine',
|
|
1267
|
+
label: '多行文本',
|
|
1268
|
+
block: true,
|
|
1269
|
+
props: { placeholder: '请输入多行文本', rows: 3 }
|
|
1270
|
+
}),
|
|
1271
|
+
createField({
|
|
1272
|
+
type: 'Input',
|
|
1273
|
+
name: 'decimal',
|
|
1274
|
+
label: '小数点保留两位',
|
|
1275
|
+
props: { placeholder: '请输入小数点保留两位' }
|
|
1276
|
+
}),
|
|
1277
|
+
createField({
|
|
1278
|
+
type: 'Switch',
|
|
1279
|
+
name: 'enabled',
|
|
1280
|
+
label: '开关'
|
|
1281
|
+
}),
|
|
1282
|
+
createField({
|
|
1283
|
+
type: 'Select',
|
|
1284
|
+
name: 'select',
|
|
1285
|
+
label: '下拉选择',
|
|
1286
|
+
props: {
|
|
1287
|
+
placeholder: '请选择下拉选择',
|
|
1288
|
+
options: [
|
|
1289
|
+
{ label: '选项 A', value: 'a' },
|
|
1290
|
+
{ label: '选项 B', value: 'b' }
|
|
1291
|
+
]
|
|
1292
|
+
}
|
|
1293
|
+
})
|
|
1294
|
+
]
|
|
1295
|
+
})
|
|
1296
|
+
]
|
|
1297
|
+
};
|
|
1298
|
+
|
|
1299
|
+
const FormInfoFieldExample = () => {
|
|
1300
|
+
const [open, setOpen] = useState(false);
|
|
1301
|
+
const [schema, setSchema] = useState(demoSchema);
|
|
1302
|
+
|
|
1303
|
+
return (
|
|
1304
|
+
<Space direction="vertical" size={16} style={{ width: '100%' }}>
|
|
1305
|
+
<Alert
|
|
1306
|
+
type="warning"
|
|
1307
|
+
showIcon
|
|
1308
|
+
message="嵌套 Part:顶层模块自动重设一级标题"
|
|
1309
|
+
description={
|
|
1310
|
+
<div>
|
|
1311
|
+
<Paragraph style={{ marginBottom: 8 }}>
|
|
1312
|
+
业务里用 <Text code>FormModal</Text> + <Text code>FormInfo</Text> 包一层,再把 <Text code>FormCreator</Text>{' '}
|
|
1313
|
+
用 <Text code>useDecorator</Text> 做成字段时,外层 Part 会让内层模块标题变成二级胶囊。
|
|
1314
|
+
</Paragraph>
|
|
1315
|
+
<Paragraph style={{ marginBottom: 0 }}>
|
|
1316
|
+
Schema 顶层模块会自动挂上 <Text code>InfoPage.partRootClassName</Text>
|
|
1317
|
+
,标题从一级色条重新起算;模块内再嵌套仍为二级。
|
|
1318
|
+
</Paragraph>
|
|
1319
|
+
</div>
|
|
1320
|
+
}
|
|
1321
|
+
/>
|
|
1322
|
+
<Button type="primary" onClick={() => setOpen(true)}>
|
|
1323
|
+
打开业务弹窗(FormCreator 作字段)
|
|
1324
|
+
</Button>
|
|
1325
|
+
<FormModal
|
|
1326
|
+
title="编辑表单配置"
|
|
1327
|
+
open={open}
|
|
1328
|
+
onCancel={() => setOpen(false)}
|
|
1329
|
+
width={960}
|
|
1330
|
+
formProps={{
|
|
1331
|
+
data: { name: '示例项目', schema },
|
|
1332
|
+
onSubmit: data => {
|
|
1333
|
+
setSchema(data.schema || demoSchema);
|
|
1334
|
+
return true;
|
|
1335
|
+
}
|
|
1336
|
+
}}
|
|
1337
|
+
>
|
|
1338
|
+
{/* 无 title → Part.no-title,内层 Schema 的 FormInfo 标题会走 InfoPage 二级标签样式 */}
|
|
1339
|
+
<FormInfo
|
|
1340
|
+
column={1}
|
|
1341
|
+
list={[
|
|
1342
|
+
<Input key="name" name="name" label="配置名称" rule="REQ" />,
|
|
1343
|
+
<FormCreatorField key="schema" name="schema" label="表单搭建" block />
|
|
1344
|
+
]}
|
|
1345
|
+
/>
|
|
1346
|
+
</FormModal>
|
|
1347
|
+
</Space>
|
|
1348
|
+
);
|
|
1349
|
+
};
|
|
1350
|
+
|
|
1351
|
+
render(<FormInfoFieldExample />);
|
|
1352
|
+
|
|
1353
|
+
```
|
|
1354
|
+
|
|
1235
1355
|
### API
|
|
1236
1356
|
|
|
1237
1357
|
| 属性 | 类型 | 默认值 | 说明 |
|
|
@@ -1401,6 +1521,8 @@ import { SchemaContent, SchemaContentInner } from '@kne/form-creator';
|
|
|
1401
1521
|
```
|
|
1402
1522
|
|
|
1403
1523
|
`actions` 由 FormCreator 顶部「添加模块」旁的设置按钮弹窗配置,写入 Schema;`SchemaRenderer` 会读取并渲染居中操作按钮(组件 props 可覆盖 Schema)。设置按钮后面可用 `extraToolbar` 追加自定义按钮。
|
|
1524
|
+
|
|
1525
|
+
顶层模块渲染时会自动挂上 `InfoPage.partRootClassName`,嵌入外层 FormInfo Part 时标题从一级重新起算;模块内再嵌套仍为二级胶囊。
|
|
1404
1526
|
#### 区块类型
|
|
1405
1527
|
|
|
1406
1528
|
| kind | 说明 | 主要参数 |
|
|
@@ -1408,7 +1530,7 @@ import { SchemaContent, SchemaContentInner } from '@kne/form-creator';
|
|
|
1408
1530
|
| formInfo | 表单信息区块 | title, subtitle, column, gap, bordered, list, **blocks** |
|
|
1409
1531
|
| list | 动态列表 | name, title, important, bordered, maxLength, list, **itemBlocks** |
|
|
1410
1532
|
| tableList | 表格列表 | name, title, bordered, maxLength, list(不支持子模块) |
|
|
1411
|
-
| object | 对象分组 | name, title, column, gap, list(字段名渲染为 `name.field`), **blocks** |
|
|
1533
|
+
| object | 对象分组 | name, title, column, gap, bordered, list(字段名渲染为 `name.field`), **blocks** |
|
|
1412
1534
|
| choice | 选项分支 | title, **mode**(`single`\|`multiple`), **minLength** / **maxLength**(仅多选:最少/最多选几项), selectorName, selectorInData, options[{ title, list, **blocks** }] |
|
|
1413
1535
|
| multiField | 同类型多值 | name, label, fieldType, addText(不支持子模块) |
|
|
1414
1536
|
| steps | 步骤表单 | title, subtitle, bordered, autoStep, items[{ title, column, list, **blocks** }] |
|
package/dist/index.css
CHANGED
|
@@ -483,8 +483,8 @@
|
|
|
483
483
|
}
|
|
484
484
|
|
|
485
485
|
.kne-form-creator_vmS-e {
|
|
486
|
-
width:
|
|
487
|
-
padding:
|
|
486
|
+
width: 380px;
|
|
487
|
+
padding: 6px;
|
|
488
488
|
background: #ffffff;
|
|
489
489
|
border-radius: 8px;
|
|
490
490
|
box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
|
|
@@ -492,9 +492,9 @@
|
|
|
492
492
|
|
|
493
493
|
.kne-form-creator_gjg2Y {
|
|
494
494
|
display: flex;
|
|
495
|
-
gap:
|
|
496
|
-
padding: 10px
|
|
497
|
-
border-radius:
|
|
495
|
+
gap: 10px;
|
|
496
|
+
padding: 6px 10px;
|
|
497
|
+
border-radius: 6px;
|
|
498
498
|
cursor: pointer;
|
|
499
499
|
border: 1px solid transparent;
|
|
500
500
|
transition: background 0.2s ease, border-color 0.2s ease;
|
|
@@ -505,15 +505,16 @@
|
|
|
505
505
|
}
|
|
506
506
|
|
|
507
507
|
.kne-form-creator_qh1hh {
|
|
508
|
-
width:
|
|
509
|
-
height:
|
|
510
|
-
border-radius:
|
|
508
|
+
width: 28px;
|
|
509
|
+
height: 28px;
|
|
510
|
+
border-radius: 8px;
|
|
511
511
|
display: flex;
|
|
512
512
|
align-items: center;
|
|
513
513
|
justify-content: center;
|
|
514
514
|
background: #f1f7ff;
|
|
515
515
|
color: #4183f0;
|
|
516
516
|
flex-shrink: 0;
|
|
517
|
+
font-size: 14px;
|
|
517
518
|
}
|
|
518
519
|
|
|
519
520
|
.kne-form-creator_G8iJO {
|
|
@@ -521,18 +522,18 @@
|
|
|
521
522
|
}
|
|
522
523
|
|
|
523
524
|
.kne-form-creator_ETSvm {
|
|
524
|
-
font-size:
|
|
525
|
+
font-size: 13px;
|
|
525
526
|
font-weight: 600;
|
|
526
|
-
line-height:
|
|
527
|
+
line-height: 18px;
|
|
527
528
|
}
|
|
528
529
|
|
|
529
530
|
.kne-form-creator_O0C3l {
|
|
530
|
-
margin-top:
|
|
531
|
+
margin-top: 1px;
|
|
531
532
|
color: #667085;
|
|
532
533
|
font-size: 12px;
|
|
533
534
|
line-height: 16px;
|
|
534
535
|
display: -webkit-box;
|
|
535
|
-
-webkit-line-clamp:
|
|
536
|
+
-webkit-line-clamp: 1;
|
|
536
537
|
-webkit-box-orient: vertical;
|
|
537
538
|
overflow: hidden;
|
|
538
539
|
}
|
|
@@ -1042,7 +1043,7 @@
|
|
|
1042
1043
|
margin-left: auto;
|
|
1043
1044
|
}
|
|
1044
1045
|
.kne-form-creator_Xrjrk.kne-form-creator_LtgJz .kne-form-creator_vmS-e {
|
|
1045
|
-
width: min(
|
|
1046
|
+
width: min(380px, 100vw - 32px);
|
|
1046
1047
|
}
|
|
1047
1048
|
.kne-form-creator_Xrjrk.kne-form-creator_LtgJz .kne-form-creator_iCYdB {
|
|
1048
1049
|
height: 28px !important;
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["style.module.scss"],"names":[],"mappings":"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","file":"index.css","sourcesContent":["@charset \"UTF-8\";\n.kne-responsive-boundary {\n position: relative;\n}\n\n.kne-responsive-scroll {\n overflow: auto;\n}\n\n:root {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.kne-responsive-boundary {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.form-creator {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n min-height: 480px;\n align-items: stretch;\n box-sizing: border-box;\n padding: 16px;\n background: #f5f5f5;\n border-radius: 12px;\n}\n\n.editor-pane,\n.preview-pane {\n flex: 1 1 360px;\n min-width: min(360px, 100%);\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.editor-pane {\n flex-basis: 420px;\n min-width: min(420px, 100%);\n}\n\n.preview-pane {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n margin: 0;\n padding: 16px;\n background: #fff;\n border-radius: 8px;\n}\n\n.editor-header {\n padding: 0 0 12px;\n margin-bottom: 4px;\n}\n\n.block-list-panel {\n padding: 8px 0 0;\n}\n\n.form-actions-setting-btn {\n width: 30px !important;\n min-width: 30px !important;\n height: 30px !important;\n padding: 0 !important;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n}\n\n.panel-toolbar {\n margin-bottom: 10px;\n}\n\n.panel-toolbar-extra {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.schema-content {\n width: 100%;\n}\n\n.schema-content-file-list {\n width: 100%;\n min-width: 0;\n}\n\n.schema-content-file {\n max-width: 280px;\n height: auto !important;\n padding: 0 !important;\n}\n\n.schema-content-file-image {\n width: 72px;\n height: 72px;\n overflow: hidden;\n border-radius: 4px;\n}\n.schema-content-file-image :global(img) {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.schema-content-file-name {\n word-break: break-all;\n}\n\n.add-block-btn {\n height: 30px !important;\n padding: 0 14px !important;\n border-radius: 999px !important;\n font-weight: 500;\n}\n\n/* 添加填写项 / 添加步骤:中性小胶囊,与操作组同语汇 */\n.add-inline-btn {\n height: 26px !important;\n padding: 0 10px !important;\n border: none !important;\n border-radius: 999px !important;\n background: rgba(255, 255, 255, 0.72) !important;\n box-shadow: none !important;\n color: rgba(0, 0, 0, 0.55) !important;\n font-size: 12px !important;\n font-weight: 500;\n display: inline-flex !important;\n align-items: center;\n gap: 2px;\n}\n.add-inline-btn :global(.anticon) {\n font-size: 11px;\n}\n.add-inline-btn:hover {\n color: rgba(0, 0, 0, 0.85) !important;\n background: #ffffff !important;\n}\n.add-inline-btn:global(.ant-btn-text):not(:disabled):not(.ant-btn-disabled):hover {\n color: rgba(0, 0, 0, 0.85) !important;\n background: #ffffff !important;\n}\n\n.block-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n/* 模块:类型浅色底区隔,无边框线框 */\n.block-section {\n padding: 12px 14px;\n border-radius: 12px;\n background: #f4f6f9;\n transition: box-shadow 0.15s ease;\n}\n.block-section:hover {\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03);\n}\n\n.block-kind-formInfo {\n background: #eef4ff;\n}\n\n.block-kind-list {\n background: #eafaf8;\n}\n\n.block-kind-tableList {\n background: #eef1ff;\n}\n\n.block-kind-multiField {\n background: #f6f0ff;\n}\n\n.block-kind-steps {\n background: #fff8e8;\n}\n.block-kind-steps .step-section {\n background: rgba(255, 255, 255, 0.72);\n}\n\n.block-section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n min-width: 0;\n}\n\n.block-header-left {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px 8px;\n min-width: 0;\n flex: 1;\n}\n.block-header-left :global(.ant-tag) {\n flex-shrink: 0;\n}\n\n.block-title {\n flex: 0 1 auto;\n min-width: 0;\n max-width: 160px;\n overflow: hidden;\n font-size: 14px;\n}\n\n.block-summary {\n flex-shrink: 0;\n padding: 1px 8px;\n border-radius: 999px;\n background: rgba(255, 255, 255, 0.7);\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n line-height: 18px;\n white-space: nowrap;\n}\n\n.block-header-actions {\n flex-shrink: 0;\n}\n\n.block-body {\n margin-top: 10px;\n}\n\n.item-blocks-section {\n margin-top: 12px;\n padding-top: 10px;\n border-top: 1px dashed rgba(0, 0, 0, 0.08);\n}\n\n.nested-block-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.block-section-nested {\n padding: 10px 12px;\n border-radius: 10px;\n background: rgba(255, 255, 255, 0.55);\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);\n}\n.block-section-nested:hover {\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);\n}\n\n.add-field-dropdown {\n min-width: 200px;\n max-width: 280px;\n max-height: 280px;\n overflow-y: auto;\n padding: 6px;\n background: #ffffff;\n border-radius: 8px;\n box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n\n.add-field-dropdown-item {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px 8px;\n padding: 8px 10px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 13px;\n line-height: 20px;\n color: rgba(0, 0, 0, 0.88);\n}\n.add-field-dropdown-item:hover {\n background: #f5f5f5;\n}\n\n.add-field-dropdown-item-icon {\n display: inline-flex;\n color: #4183f0;\n font-size: 14px;\n}\n\n.add-field-dropdown-item-desc {\n flex: 1 0 100%;\n padding-left: 22px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n line-height: 16px;\n}\n\n.add-field-dropdown-divider {\n height: 1px;\n margin: 4px 6px;\n background: rgba(0, 0, 0, 0.06);\n}\n\n.add-field-dropdown-label {\n padding: 6px 10px 2px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n line-height: 18px;\n}\n\n.section-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 28px;\n margin-bottom: 6px;\n}\n\n.section-toolbar-label {\n font-size: 12px;\n}\n\n.field-list,\n.step-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n/* 步骤:半透明白底叠在模块色底上 */\n.step-section {\n padding: 10px 12px;\n border-radius: 10px;\n background: rgba(255, 255, 255, 0.55);\n}\n.step-section + .step-section {\n margin-top: 0;\n}\n\n.step-section-header {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n margin-bottom: 6px;\n min-width: 0;\n}\n\n.step-section-title {\n flex: 1;\n min-width: 0;\n max-width: 100%;\n}\n\n.step-section-actions {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.step-index {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: rgba(47, 84, 235, 0.12);\n color: #2f54eb;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* 填写项:白底块 */\n.field-row {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n border-radius: 10px;\n background: #ffffff;\n transition: background 0.15s ease, transform 0.15s ease;\n}\n.field-row:hover {\n background: #fcfdff;\n transform: translateY(-0.5px);\n}\n\n.field-row-index {\n width: 18px;\n flex-shrink: 0;\n color: #bfbfbf;\n font-size: 12px;\n text-align: center;\n}\n\n.field-row-main {\n flex: 1;\n min-width: 0;\n}\n\n.inline-empty {\n display: block;\n padding: 8px 10px;\n font-size: 12px;\n border-radius: 10px;\n background: rgba(255, 255, 255, 0.55);\n}\n\n/* 操作组 / 添加按钮:默认隐藏,悬停对应容器再显示 */\n.action-group,\n.hover-reveal {\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.15s ease;\n}\n\n.action-group {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n padding: 2px;\n border-radius: 999px;\n background: rgba(0, 0, 0, 0.06);\n gap: 0;\n}\n\n.block-section:hover > .block-section-header .action-group,\n.block-section:hover > .block-section-header .hover-reveal,\n.block-section:focus-within > .block-section-header .action-group,\n.block-section:focus-within > .block-section-header .hover-reveal,\n.block-section:hover > .block-body > .section-toolbar .hover-reveal,\n.block-section:focus-within > .block-body > .section-toolbar .hover-reveal,\n.step-section:hover > .step-section-header .action-group,\n.step-section:hover > .step-section-header .hover-reveal,\n.step-section:focus-within > .step-section-header .action-group,\n.step-section:focus-within > .step-section-header .hover-reveal,\n.field-row:hover .action-group,\n.field-row:focus-within .action-group,\n.hover-reveal-active {\n opacity: 1;\n pointer-events: auto;\n}\n\n.action-btn {\n width: 26px !important;\n height: 26px !important;\n min-width: 26px !important;\n padding: 0 !important;\n border: none !important;\n border-radius: 999px !important;\n box-shadow: none !important;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n color: rgba(0, 0, 0, 0.55);\n}\n.action-btn :global(.anticon) {\n font-size: 12px;\n}\n.action-btn:hover:not(:disabled) {\n color: rgba(0, 0, 0, 0.88);\n background: rgba(255, 255, 255, 0.85) !important;\n}\n.action-btn:disabled {\n color: rgba(0, 0, 0, 0.25);\n background: transparent !important;\n}\n.action-btn:global(.ant-btn-dangerous) {\n color: #ff4d4f;\n}\n.action-btn:global(.ant-btn-dangerous):hover:not(:disabled) {\n color: #ff7875;\n background: rgba(255, 255, 255, 0.9) !important;\n}\n\n.add-block-dropdown {\n width: 320px;\n padding: 8px;\n background: #ffffff;\n border-radius: 8px;\n box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n\n.add-block-option {\n display: flex;\n gap: 12px;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n border: 1px solid transparent;\n transition: background 0.2s ease, border-color 0.2s ease;\n}\n.add-block-option:hover {\n background: #f7fbff;\n border-color: #dbe7ff;\n}\n\n.add-block-option-icon {\n width: 36px;\n height: 36px;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f1f7ff;\n color: #4183f0;\n flex-shrink: 0;\n}\n\n.add-block-option-text {\n min-width: 0;\n}\n\n.add-block-option-title {\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n}\n\n.add-block-option-desc {\n margin-top: 2px;\n color: #667085;\n font-size: 12px;\n line-height: 16px;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.field-empty {\n padding: 24px 0;\n}\n\n.field-label-tips-icon {\n margin-left: 4px;\n color: rgba(0, 0, 0, 0.45);\n cursor: help;\n font-size: 14px;\n}\n\n.preview-header {\n padding: 0 0 12px;\n margin-bottom: 4px;\n}\n\n.preview-title {\n margin-bottom: 4px !important;\n}\n\n.preview-body {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n padding: 0;\n}\n.preview-body :global form {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 100%;\n}\n.preview-body :global .ant-card-extra .ant-btn.ant-btn-icon-only {\n width: 32px;\n height: 32px;\n min-width: 32px;\n padding: 0 !important;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.preview-body :global form .ant-card.no-title > .ant-card-head {\n margin-bottom: 0 !important;\n padding-bottom: 8px !important;\n}\n.preview-body :global form .ant-card.no-title > .ant-card-body {\n padding-top: 0 !important;\n}\n\n.schema-form {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n box-sizing: border-box;\n}\n\n.schema-body {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n gap: 24px;\n width: 100%;\n min-width: 0;\n}\n\n/* 表单底部操作区:与内容分隔,固定落在表单最下方 */\n.schema-actions {\n width: 100%;\n box-sizing: border-box;\n margin-top: auto;\n padding: 16px 0;\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n flex-shrink: 0;\n}\n\n.schema-actions-inner {\n width: 100%;\n}\n\n.choice-block {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.choice-selector {\n margin-bottom: 4px;\n}\n.choice-selector :global .react-form__field {\n margin-bottom: 8px;\n}\n.choice-selector :global .ant-checkbox-group {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n.choice-selector :global .ant-radio-group {\n display: inline-flex;\n flex-wrap: wrap;\n}\n\n.choice-panels {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n margin-top: 12px;\n padding-top: 16px;\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n}\n\n.choice-panels-empty {\n margin-top: 12px;\n padding: 16px 0 4px;\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n font-size: 13px;\n line-height: 20px;\n color: rgba(0, 0, 0, 0.45);\n text-align: center;\n}\n\n.choice-option-panel {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n padding: 12px 14px;\n border: 1px solid rgba(0, 0, 0, 0.06);\n border-radius: 8px;\n background: #fafafa;\n}\n.choice-option-panel :global(.ant-card),\n.choice-option-panel :global(.ant-card-body) {\n background: transparent;\n}\n\n.choice-option-panel-title {\n margin-bottom: 12px;\n font-size: 14px;\n font-weight: 600;\n line-height: 22px;\n color: rgba(0, 0, 0, 0.88);\n}\n\n.choice-option-summary {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 8px;\n}\n\n.field-editor-form {\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding-top: 4px;\n}\n\n.form-actions-editor {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding-top: 4px;\n}\n.form-actions-editor :global .ant-row {\n row-gap: 8px;\n}\n\n.form-actions-switch-field :global .react-form__field-main {\n min-height: 32px;\n display: flex;\n align-items: center;\n}\n\n.form-actions-layout-panel {\n padding: 14px 16px 18px;\n border-radius: 10px;\n background: #f7f8fa;\n border: 1px solid rgba(0, 0, 0, 0.04);\n}\n.form-actions-layout-panel :global .ant-card {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n}\n.form-actions-layout-panel :global .ant-card-head {\n display: none;\n}\n.form-actions-layout-panel :global .ant-card-body {\n padding: 0 !important;\n}\n.form-actions-layout-panel :global .ant-form-item {\n margin-bottom: 14px;\n}\n.form-actions-layout-panel :global .ant-form-item:last-child {\n margin-bottom: 0;\n}\n\n.form-actions-align-group {\n display: flex !important;\n width: 100%;\n padding: 3px;\n background: #fff;\n border-radius: 999px;\n border: 1px solid rgba(0, 0, 0, 0.06);\n overflow: hidden;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper {\n flex: 1;\n height: 30px;\n line-height: 30px;\n padding-inline: 0;\n text-align: center;\n border: none !important;\n border-radius: 999px !important;\n background: transparent !important;\n box-shadow: none !important;\n color: rgba(0, 0, 0, 0.65);\n}\n.form-actions-align-group :global .ant-radio-button-wrapper::before {\n display: none !important;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper:not(:first-child)::before {\n display: none !important;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper:hover {\n color: rgba(0, 0, 0, 0.88);\n}\n.form-actions-align-group :global .ant-radio-button-wrapper:focus-within {\n box-shadow: none !important;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n background: var(--primary-color, #1677ff) !important;\n color: #fff !important;\n font-weight: 500;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {\n color: #fff !important;\n background: var(--primary-color, #1677ff) !important;\n filter: brightness(1.08);\n}\n\n.form-actions-layout-title {\n margin-bottom: 12px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 13px;\n font-weight: 500;\n letter-spacing: 0.02em;\n}\n\n.form-actions-gap-slider {\n margin: 0 6px 8px !important;\n padding-bottom: 12px;\n}\n\n.editor-section {\n margin-bottom: 4px;\n}\n\n.section-divider {\n margin: 16px 0 !important;\n}\n\n.rule-editor,\n.options-editor,\n.super-select-props,\n.field-props-editor,\n.columns-editor {\n padding: 0 2px;\n}\n\n.prop-row {\n display: flex;\n flex-direction: column;\n gap: 6px;\n width: 100%;\n}\n\n.prop-label {\n color: rgba(0, 0, 0, 0.88);\n font-size: 14px;\n}\n\n.options-item {\n display: flex;\n flex-direction: column;\n}\n\n.table-row-card {\n background: #fafafa;\n}\n\n.tree-options-editor {\n margin-top: 12px;\n}\n\n.tree-options-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 12px;\n}\n\n.tree-option-node {\n border: 1px solid #eef0f4;\n border-radius: 8px;\n background: #fff;\n padding: 10px 12px;\n}\n\n.tree-option-row {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n\n.tree-option-fields {\n flex: 1;\n min-width: 0;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 8px;\n}\n\n.tree-option-actions {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: 0;\n}\n\n.tree-option-children {\n margin-top: 10px;\n margin-left: 12px;\n padding-left: 12px;\n border-left: 2px solid #e6ebf5;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.tree-add-sibling {\n align-self: flex-start;\n}\n\n.rule-checkbox-group {\n display: flex;\n flex-wrap: wrap;\n gap: 8px 16px;\n margin-top: 12px;\n}\n\n.rule-len-row {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 10px;\n padding: 10px 12px;\n background: #fafafa;\n border-radius: 8px;\n}\n\n.rule-len-input {\n flex: 1;\n min-width: 0;\n width: 100%;\n}\n\n.rule-len-sep {\n flex: none;\n color: rgba(0, 0, 0, 0.45);\n line-height: 1;\n}\n\n.options-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 12px 0;\n}\n\n.options-row {\n width: 100%;\n}\n\n.options-tip {\n display: block;\n margin-top: 8px;\n color: #8c8c8c;\n font-size: 12px;\n}\n\n/* 纯图标按钮统一为正方形 */\n.icon-square-btn {\n width: 32px !important;\n height: 32px !important;\n min-width: 32px !important;\n padding: 0 !important;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n}\n.icon-square-btn :global(.anticon) {\n font-size: 14px;\n}\n\n.icon-square-btn-sm {\n width: 28px !important;\n height: 28px !important;\n min-width: 28px !important;\n padding: 0 !important;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n}\n.icon-square-btn-sm :global(.anticon) {\n font-size: 13px;\n}\n\n@container kne-responsive (max-width: 768px) {\n .form-creator.is-mobile .editor-header,\n .form-creator.is-mobile .preview-header {\n padding: 0 0 10px;\n }\n .form-creator.is-mobile .block-list-panel {\n padding: 6px 0 0;\n }\n .form-creator.is-mobile .block-list {\n gap: 10px;\n }\n .form-creator.is-mobile .block-section {\n padding: 10px 12px;\n border-radius: 10px;\n }\n .form-creator.is-mobile {\n /* 触屏无 hover:操作与添加按钮常显 */\n }\n .form-creator.is-mobile .action-group,\n .form-creator.is-mobile .hover-reveal {\n opacity: 1;\n pointer-events: auto;\n }\n .form-creator.is-mobile .block-section-header {\n flex-wrap: wrap;\n align-items: flex-start;\n gap: 8px;\n }\n .form-creator.is-mobile .block-header-left {\n width: 100%;\n flex-wrap: wrap;\n }\n .form-creator.is-mobile .block-title {\n max-width: 160px;\n flex: 0 1 auto;\n }\n .form-creator.is-mobile .block-header-actions {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n flex-wrap: wrap;\n gap: 6px;\n }\n .form-creator.is-mobile .block-summary {\n margin-left: 0;\n }\n .form-creator.is-mobile .step-section {\n padding: 8px 10px;\n }\n .form-creator.is-mobile .step-section-header {\n align-items: flex-start;\n gap: 8px;\n }\n .form-creator.is-mobile {\n /* 标题独占一行,避免与常显操作栏挤成竖排字 */\n }\n .form-creator.is-mobile .step-section-title {\n flex: 0 0 100%;\n width: 100%;\n min-width: 0;\n max-width: 100%;\n }\n .form-creator.is-mobile .step-section-actions {\n width: 100%;\n justify-content: flex-end;\n gap: 6px;\n }\n .form-creator.is-mobile .field-row {\n flex-wrap: wrap;\n gap: 8px;\n padding: 8px;\n transform: none;\n }\n .form-creator.is-mobile .field-row:hover {\n transform: none;\n }\n .form-creator.is-mobile .field-row-main {\n flex: 1 1 calc(100% - 28px);\n min-width: 0;\n }\n .form-creator.is-mobile .field-row .action-group {\n margin-left: auto;\n }\n .form-creator.is-mobile .add-block-dropdown {\n width: min(320px, 100vw - 32px);\n }\n .form-creator.is-mobile .add-inline-btn {\n height: 28px !important;\n padding: 0 12px !important;\n }\n .form-creator.is-mobile .action-btn {\n width: 28px !important;\n height: 28px !important;\n min-width: 28px !important;\n }\n .form-creator.is-mobile .preview-body {\n padding: 0;\n }\n .form-creator.is-mobile .preview-body :global form + .part,\n .form-creator.is-mobile .preview-body :global .part + form {\n margin-top: 12px;\n }\n .form-creator.is-mobile .preview-body :global .ant-steps {\n max-width: 100%;\n }\n .form-creator.is-mobile .preview-body :global .ant-steps-horizontal {\n overflow-x: auto;\n }\n}"]}
|
|
1
|
+
{"version":3,"sources":["style.module.scss"],"names":[],"mappings":"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","file":"index.css","sourcesContent":["@charset \"UTF-8\";\n.kne-responsive-boundary {\n position: relative;\n}\n\n.kne-responsive-scroll {\n overflow: auto;\n}\n\n:root {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.kne-responsive-boundary {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.form-creator {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n min-height: 480px;\n align-items: stretch;\n box-sizing: border-box;\n padding: 16px;\n background: #f5f5f5;\n border-radius: 12px;\n}\n\n.editor-pane,\n.preview-pane {\n flex: 1 1 360px;\n min-width: min(360px, 100%);\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.editor-pane {\n flex-basis: 420px;\n min-width: min(420px, 100%);\n}\n\n.preview-pane {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n margin: 0;\n padding: 16px;\n background: #fff;\n border-radius: 8px;\n}\n\n.editor-header {\n padding: 0 0 12px;\n margin-bottom: 4px;\n}\n\n.block-list-panel {\n padding: 8px 0 0;\n}\n\n.form-actions-setting-btn {\n width: 30px !important;\n min-width: 30px !important;\n height: 30px !important;\n padding: 0 !important;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n}\n\n.panel-toolbar {\n margin-bottom: 10px;\n}\n\n.panel-toolbar-extra {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.schema-content {\n width: 100%;\n}\n\n.schema-content-file-list {\n width: 100%;\n min-width: 0;\n}\n\n.schema-content-file {\n max-width: 280px;\n height: auto !important;\n padding: 0 !important;\n}\n\n.schema-content-file-image {\n width: 72px;\n height: 72px;\n overflow: hidden;\n border-radius: 4px;\n}\n.schema-content-file-image :global(img) {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.schema-content-file-name {\n word-break: break-all;\n}\n\n.add-block-btn {\n height: 30px !important;\n padding: 0 14px !important;\n border-radius: 999px !important;\n font-weight: 500;\n}\n\n/* 添加填写项 / 添加步骤:中性小胶囊,与操作组同语汇 */\n.add-inline-btn {\n height: 26px !important;\n padding: 0 10px !important;\n border: none !important;\n border-radius: 999px !important;\n background: rgba(255, 255, 255, 0.72) !important;\n box-shadow: none !important;\n color: rgba(0, 0, 0, 0.55) !important;\n font-size: 12px !important;\n font-weight: 500;\n display: inline-flex !important;\n align-items: center;\n gap: 2px;\n}\n.add-inline-btn :global(.anticon) {\n font-size: 11px;\n}\n.add-inline-btn:hover {\n color: rgba(0, 0, 0, 0.85) !important;\n background: #ffffff !important;\n}\n.add-inline-btn:global(.ant-btn-text):not(:disabled):not(.ant-btn-disabled):hover {\n color: rgba(0, 0, 0, 0.85) !important;\n background: #ffffff !important;\n}\n\n.block-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n/* 模块:类型浅色底区隔,无边框线框 */\n.block-section {\n padding: 12px 14px;\n border-radius: 12px;\n background: #f4f6f9;\n transition: box-shadow 0.15s ease;\n}\n.block-section:hover {\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03);\n}\n\n.block-kind-formInfo {\n background: #eef4ff;\n}\n\n.block-kind-list {\n background: #eafaf8;\n}\n\n.block-kind-tableList {\n background: #eef1ff;\n}\n\n.block-kind-multiField {\n background: #f6f0ff;\n}\n\n.block-kind-steps {\n background: #fff8e8;\n}\n.block-kind-steps .step-section {\n background: rgba(255, 255, 255, 0.72);\n}\n\n.block-section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n min-width: 0;\n}\n\n.block-header-left {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px 8px;\n min-width: 0;\n flex: 1;\n}\n.block-header-left :global(.ant-tag) {\n flex-shrink: 0;\n}\n\n.block-title {\n flex: 0 1 auto;\n min-width: 0;\n max-width: 160px;\n overflow: hidden;\n font-size: 14px;\n}\n\n.block-summary {\n flex-shrink: 0;\n padding: 1px 8px;\n border-radius: 999px;\n background: rgba(255, 255, 255, 0.7);\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n line-height: 18px;\n white-space: nowrap;\n}\n\n.block-header-actions {\n flex-shrink: 0;\n}\n\n.block-body {\n margin-top: 10px;\n}\n\n.item-blocks-section {\n margin-top: 12px;\n padding-top: 10px;\n border-top: 1px dashed rgba(0, 0, 0, 0.08);\n}\n\n.nested-block-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.block-section-nested {\n padding: 10px 12px;\n border-radius: 10px;\n background: rgba(255, 255, 255, 0.55);\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);\n}\n.block-section-nested:hover {\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);\n}\n\n.add-field-dropdown {\n min-width: 200px;\n max-width: 280px;\n max-height: 280px;\n overflow-y: auto;\n padding: 6px;\n background: #ffffff;\n border-radius: 8px;\n box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n\n.add-field-dropdown-item {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px 8px;\n padding: 8px 10px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 13px;\n line-height: 20px;\n color: rgba(0, 0, 0, 0.88);\n}\n.add-field-dropdown-item:hover {\n background: #f5f5f5;\n}\n\n.add-field-dropdown-item-icon {\n display: inline-flex;\n color: #4183f0;\n font-size: 14px;\n}\n\n.add-field-dropdown-item-desc {\n flex: 1 0 100%;\n padding-left: 22px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n line-height: 16px;\n}\n\n.add-field-dropdown-divider {\n height: 1px;\n margin: 4px 6px;\n background: rgba(0, 0, 0, 0.06);\n}\n\n.add-field-dropdown-label {\n padding: 6px 10px 2px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n line-height: 18px;\n}\n\n.section-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 28px;\n margin-bottom: 6px;\n}\n\n.section-toolbar-label {\n font-size: 12px;\n}\n\n.field-list,\n.step-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n/* 步骤:半透明白底叠在模块色底上 */\n.step-section {\n padding: 10px 12px;\n border-radius: 10px;\n background: rgba(255, 255, 255, 0.55);\n}\n.step-section + .step-section {\n margin-top: 0;\n}\n\n.step-section-header {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n margin-bottom: 6px;\n min-width: 0;\n}\n\n.step-section-title {\n flex: 1;\n min-width: 0;\n max-width: 100%;\n}\n\n.step-section-actions {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.step-index {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: rgba(47, 84, 235, 0.12);\n color: #2f54eb;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* 填写项:白底块 */\n.field-row {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n border-radius: 10px;\n background: #ffffff;\n transition: background 0.15s ease, transform 0.15s ease;\n}\n.field-row:hover {\n background: #fcfdff;\n transform: translateY(-0.5px);\n}\n\n.field-row-index {\n width: 18px;\n flex-shrink: 0;\n color: #bfbfbf;\n font-size: 12px;\n text-align: center;\n}\n\n.field-row-main {\n flex: 1;\n min-width: 0;\n}\n\n.inline-empty {\n display: block;\n padding: 8px 10px;\n font-size: 12px;\n border-radius: 10px;\n background: rgba(255, 255, 255, 0.55);\n}\n\n/* 操作组 / 添加按钮:默认隐藏,悬停对应容器再显示 */\n.action-group,\n.hover-reveal {\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.15s ease;\n}\n\n.action-group {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n padding: 2px;\n border-radius: 999px;\n background: rgba(0, 0, 0, 0.06);\n gap: 0;\n}\n\n.block-section:hover > .block-section-header .action-group,\n.block-section:hover > .block-section-header .hover-reveal,\n.block-section:focus-within > .block-section-header .action-group,\n.block-section:focus-within > .block-section-header .hover-reveal,\n.block-section:hover > .block-body > .section-toolbar .hover-reveal,\n.block-section:focus-within > .block-body > .section-toolbar .hover-reveal,\n.step-section:hover > .step-section-header .action-group,\n.step-section:hover > .step-section-header .hover-reveal,\n.step-section:focus-within > .step-section-header .action-group,\n.step-section:focus-within > .step-section-header .hover-reveal,\n.field-row:hover .action-group,\n.field-row:focus-within .action-group,\n.hover-reveal-active {\n opacity: 1;\n pointer-events: auto;\n}\n\n.action-btn {\n width: 26px !important;\n height: 26px !important;\n min-width: 26px !important;\n padding: 0 !important;\n border: none !important;\n border-radius: 999px !important;\n box-shadow: none !important;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n color: rgba(0, 0, 0, 0.55);\n}\n.action-btn :global(.anticon) {\n font-size: 12px;\n}\n.action-btn:hover:not(:disabled) {\n color: rgba(0, 0, 0, 0.88);\n background: rgba(255, 255, 255, 0.85) !important;\n}\n.action-btn:disabled {\n color: rgba(0, 0, 0, 0.25);\n background: transparent !important;\n}\n.action-btn:global(.ant-btn-dangerous) {\n color: #ff4d4f;\n}\n.action-btn:global(.ant-btn-dangerous):hover:not(:disabled) {\n color: #ff7875;\n background: rgba(255, 255, 255, 0.9) !important;\n}\n\n.add-block-dropdown {\n width: 380px;\n padding: 6px;\n background: #ffffff;\n border-radius: 8px;\n box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n\n.add-block-option {\n display: flex;\n gap: 10px;\n padding: 6px 10px;\n border-radius: 6px;\n cursor: pointer;\n border: 1px solid transparent;\n transition: background 0.2s ease, border-color 0.2s ease;\n}\n.add-block-option:hover {\n background: #f7fbff;\n border-color: #dbe7ff;\n}\n\n.add-block-option-icon {\n width: 28px;\n height: 28px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f1f7ff;\n color: #4183f0;\n flex-shrink: 0;\n font-size: 14px;\n}\n\n.add-block-option-text {\n min-width: 0;\n}\n\n.add-block-option-title {\n font-size: 13px;\n font-weight: 600;\n line-height: 18px;\n}\n\n.add-block-option-desc {\n margin-top: 1px;\n color: #667085;\n font-size: 12px;\n line-height: 16px;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.field-empty {\n padding: 24px 0;\n}\n\n.field-label-tips-icon {\n margin-left: 4px;\n color: rgba(0, 0, 0, 0.45);\n cursor: help;\n font-size: 14px;\n}\n\n.preview-header {\n padding: 0 0 12px;\n margin-bottom: 4px;\n}\n\n.preview-title {\n margin-bottom: 4px !important;\n}\n\n.preview-body {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n padding: 0;\n}\n.preview-body :global form {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 100%;\n}\n.preview-body :global .ant-card-extra .ant-btn.ant-btn-icon-only {\n width: 32px;\n height: 32px;\n min-width: 32px;\n padding: 0 !important;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.preview-body :global form .ant-card.no-title > .ant-card-head {\n margin-bottom: 0 !important;\n padding-bottom: 8px !important;\n}\n.preview-body :global form .ant-card.no-title > .ant-card-body {\n padding-top: 0 !important;\n}\n\n.schema-form {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n box-sizing: border-box;\n}\n\n.schema-body {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n gap: 24px;\n width: 100%;\n min-width: 0;\n}\n\n/* 表单底部操作区:与内容分隔,固定落在表单最下方 */\n.schema-actions {\n width: 100%;\n box-sizing: border-box;\n margin-top: auto;\n padding: 16px 0;\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n flex-shrink: 0;\n}\n\n.schema-actions-inner {\n width: 100%;\n}\n\n.choice-block {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.choice-selector {\n margin-bottom: 4px;\n}\n.choice-selector :global .react-form__field {\n margin-bottom: 8px;\n}\n.choice-selector :global .ant-checkbox-group {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n.choice-selector :global .ant-radio-group {\n display: inline-flex;\n flex-wrap: wrap;\n}\n\n.choice-panels {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n margin-top: 12px;\n padding-top: 16px;\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n}\n\n.choice-panels-empty {\n margin-top: 12px;\n padding: 16px 0 4px;\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n font-size: 13px;\n line-height: 20px;\n color: rgba(0, 0, 0, 0.45);\n text-align: center;\n}\n\n.choice-option-panel {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n padding: 12px 14px;\n border: 1px solid rgba(0, 0, 0, 0.06);\n border-radius: 8px;\n background: #fafafa;\n}\n.choice-option-panel :global(.ant-card),\n.choice-option-panel :global(.ant-card-body) {\n background: transparent;\n}\n\n.choice-option-panel-title {\n margin-bottom: 12px;\n font-size: 14px;\n font-weight: 600;\n line-height: 22px;\n color: rgba(0, 0, 0, 0.88);\n}\n\n.choice-option-summary {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 8px;\n}\n\n.field-editor-form {\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding-top: 4px;\n}\n\n.form-actions-editor {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding-top: 4px;\n}\n.form-actions-editor :global .ant-row {\n row-gap: 8px;\n}\n\n.form-actions-switch-field :global .react-form__field-main {\n min-height: 32px;\n display: flex;\n align-items: center;\n}\n\n.form-actions-layout-panel {\n padding: 14px 16px 18px;\n border-radius: 10px;\n background: #f7f8fa;\n border: 1px solid rgba(0, 0, 0, 0.04);\n}\n.form-actions-layout-panel :global .ant-card {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n}\n.form-actions-layout-panel :global .ant-card-head {\n display: none;\n}\n.form-actions-layout-panel :global .ant-card-body {\n padding: 0 !important;\n}\n.form-actions-layout-panel :global .ant-form-item {\n margin-bottom: 14px;\n}\n.form-actions-layout-panel :global .ant-form-item:last-child {\n margin-bottom: 0;\n}\n\n.form-actions-align-group {\n display: flex !important;\n width: 100%;\n padding: 3px;\n background: #fff;\n border-radius: 999px;\n border: 1px solid rgba(0, 0, 0, 0.06);\n overflow: hidden;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper {\n flex: 1;\n height: 30px;\n line-height: 30px;\n padding-inline: 0;\n text-align: center;\n border: none !important;\n border-radius: 999px !important;\n background: transparent !important;\n box-shadow: none !important;\n color: rgba(0, 0, 0, 0.65);\n}\n.form-actions-align-group :global .ant-radio-button-wrapper::before {\n display: none !important;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper:not(:first-child)::before {\n display: none !important;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper:hover {\n color: rgba(0, 0, 0, 0.88);\n}\n.form-actions-align-group :global .ant-radio-button-wrapper:focus-within {\n box-shadow: none !important;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n background: var(--primary-color, #1677ff) !important;\n color: #fff !important;\n font-weight: 500;\n}\n.form-actions-align-group :global .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {\n color: #fff !important;\n background: var(--primary-color, #1677ff) !important;\n filter: brightness(1.08);\n}\n\n.form-actions-layout-title {\n margin-bottom: 12px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 13px;\n font-weight: 500;\n letter-spacing: 0.02em;\n}\n\n.form-actions-gap-slider {\n margin: 0 6px 8px !important;\n padding-bottom: 12px;\n}\n\n.editor-section {\n margin-bottom: 4px;\n}\n\n.section-divider {\n margin: 16px 0 !important;\n}\n\n.rule-editor,\n.options-editor,\n.super-select-props,\n.field-props-editor,\n.columns-editor {\n padding: 0 2px;\n}\n\n.prop-row {\n display: flex;\n flex-direction: column;\n gap: 6px;\n width: 100%;\n}\n\n.prop-label {\n color: rgba(0, 0, 0, 0.88);\n font-size: 14px;\n}\n\n.options-item {\n display: flex;\n flex-direction: column;\n}\n\n.table-row-card {\n background: #fafafa;\n}\n\n.tree-options-editor {\n margin-top: 12px;\n}\n\n.tree-options-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 12px;\n}\n\n.tree-option-node {\n border: 1px solid #eef0f4;\n border-radius: 8px;\n background: #fff;\n padding: 10px 12px;\n}\n\n.tree-option-row {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n\n.tree-option-fields {\n flex: 1;\n min-width: 0;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 8px;\n}\n\n.tree-option-actions {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: 0;\n}\n\n.tree-option-children {\n margin-top: 10px;\n margin-left: 12px;\n padding-left: 12px;\n border-left: 2px solid #e6ebf5;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.tree-add-sibling {\n align-self: flex-start;\n}\n\n.rule-checkbox-group {\n display: flex;\n flex-wrap: wrap;\n gap: 8px 16px;\n margin-top: 12px;\n}\n\n.rule-len-row {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 10px;\n padding: 10px 12px;\n background: #fafafa;\n border-radius: 8px;\n}\n\n.rule-len-input {\n flex: 1;\n min-width: 0;\n width: 100%;\n}\n\n.rule-len-sep {\n flex: none;\n color: rgba(0, 0, 0, 0.45);\n line-height: 1;\n}\n\n.options-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 12px 0;\n}\n\n.options-row {\n width: 100%;\n}\n\n.options-tip {\n display: block;\n margin-top: 8px;\n color: #8c8c8c;\n font-size: 12px;\n}\n\n/* 纯图标按钮统一为正方形 */\n.icon-square-btn {\n width: 32px !important;\n height: 32px !important;\n min-width: 32px !important;\n padding: 0 !important;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n}\n.icon-square-btn :global(.anticon) {\n font-size: 14px;\n}\n\n.icon-square-btn-sm {\n width: 28px !important;\n height: 28px !important;\n min-width: 28px !important;\n padding: 0 !important;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n}\n.icon-square-btn-sm :global(.anticon) {\n font-size: 13px;\n}\n\n@container kne-responsive (max-width: 768px) {\n .form-creator.is-mobile .editor-header,\n .form-creator.is-mobile .preview-header {\n padding: 0 0 10px;\n }\n .form-creator.is-mobile .block-list-panel {\n padding: 6px 0 0;\n }\n .form-creator.is-mobile .block-list {\n gap: 10px;\n }\n .form-creator.is-mobile .block-section {\n padding: 10px 12px;\n border-radius: 10px;\n }\n .form-creator.is-mobile {\n /* 触屏无 hover:操作与添加按钮常显 */\n }\n .form-creator.is-mobile .action-group,\n .form-creator.is-mobile .hover-reveal {\n opacity: 1;\n pointer-events: auto;\n }\n .form-creator.is-mobile .block-section-header {\n flex-wrap: wrap;\n align-items: flex-start;\n gap: 8px;\n }\n .form-creator.is-mobile .block-header-left {\n width: 100%;\n flex-wrap: wrap;\n }\n .form-creator.is-mobile .block-title {\n max-width: 160px;\n flex: 0 1 auto;\n }\n .form-creator.is-mobile .block-header-actions {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n flex-wrap: wrap;\n gap: 6px;\n }\n .form-creator.is-mobile .block-summary {\n margin-left: 0;\n }\n .form-creator.is-mobile .step-section {\n padding: 8px 10px;\n }\n .form-creator.is-mobile .step-section-header {\n align-items: flex-start;\n gap: 8px;\n }\n .form-creator.is-mobile {\n /* 标题独占一行,避免与常显操作栏挤成竖排字 */\n }\n .form-creator.is-mobile .step-section-title {\n flex: 0 0 100%;\n width: 100%;\n min-width: 0;\n max-width: 100%;\n }\n .form-creator.is-mobile .step-section-actions {\n width: 100%;\n justify-content: flex-end;\n gap: 6px;\n }\n .form-creator.is-mobile .field-row {\n flex-wrap: wrap;\n gap: 8px;\n padding: 8px;\n transform: none;\n }\n .form-creator.is-mobile .field-row:hover {\n transform: none;\n }\n .form-creator.is-mobile .field-row-main {\n flex: 1 1 calc(100% - 28px);\n min-width: 0;\n }\n .form-creator.is-mobile .field-row .action-group {\n margin-left: auto;\n }\n .form-creator.is-mobile .add-block-dropdown {\n width: min(380px, 100vw - 32px);\n }\n .form-creator.is-mobile .add-inline-btn {\n height: 28px !important;\n padding: 0 12px !important;\n }\n .form-creator.is-mobile .action-btn {\n width: 28px !important;\n height: 28px !important;\n min-width: 28px !important;\n }\n .form-creator.is-mobile .preview-body {\n padding: 0;\n }\n .form-creator.is-mobile .preview-body :global form + .part,\n .form-creator.is-mobile .preview-body :global .part + form {\n margin-top: 12px;\n }\n .form-creator.is-mobile .preview-body :global .ant-steps {\n max-width: 100%;\n }\n .form-creator.is-mobile .preview-body :global .ant-steps-horizontal {\n overflow-x: auto;\n }\n}"]}
|