@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 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: 320px;
487
- padding: 8px;
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: 12px;
496
- padding: 10px 12px;
497
- border-radius: 8px;
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: 36px;
509
- height: 36px;
510
- border-radius: 10px;
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: 14px;
525
+ font-size: 13px;
525
526
  font-weight: 600;
526
- line-height: 20px;
527
+ line-height: 18px;
527
528
  }
528
529
 
529
530
  .kne-form-creator_O0C3l {
530
- margin-top: 2px;
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: 2;
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(320px, 100vw - 32px);
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;
@@ -1 +1 @@
1
- {"version":3,"sources":["style.module.scss"],"names":[],"mappings":"AAAA,gBAAgB;AAChB;EACE,kBAAkB;AACpB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,2BAA2B;EAC3B,6BAA6B;EAC7B,iCAAiC;EACjC,iCAAiC;AACnC;;AAEA;EACE,2BAA2B;EAC3B,6BAA6B;EAC7B,iCAAiC;EACjC,iCAAiC;AACnC;;AAEA;EACE,aAAa;EACb,eAAe;EACf,SAAS;EACT,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AACrB;;AAEA;;EAEE,eAAe;EACf,2BAA2B;EAC3B,kBAAkB;EAClB,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,2BAA2B;AAC7B;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,sBAAsB;EACtB,SAAS;EACT,aAAa;EACb,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,sBAAsB;EACtB,0BAA0B;EAC1B,uBAAuB;EACvB,qBAAqB;EACrB,+BAA+B;EAC/B,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,QAAQ;AACV;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,qBAAqB;AACvB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,uBAAuB;EACvB,0BAA0B;EAC1B,+BAA+B;EAC/B,gBAAgB;AAClB;;AAEA,+BAA+B;AAC/B;EACE,uBAAuB;EACvB,0BAA0B;EAC1B,uBAAuB;EACvB,+BAA+B;EAC/B,gDAAgD;EAChD,2BAA2B;EAC3B,qCAAqC;EACrC,0BAA0B;EAC1B,gBAAgB;EAChB,+BAA+B;EAC/B,mBAAmB;EACnB,QAAQ;AACV;AACA;EACE,eAAe;AACjB;AACA;EACE,qCAAqC;EACrC,8BAA8B;AAChC;AACA;EACE,qCAAqC;EACrC,8BAA8B;AAChC;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;AACX;;AAEA,qBAAqB;AACrB;EACE,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,iCAAiC;AACnC;AACA;EACE,yCAAyC;AAC3C;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;AACrB;AACA;EACE,qCAAqC;AACvC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,QAAQ;EACR,YAAY;AACd;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,YAAY;EACZ,YAAY;EACZ,OAAO;AACT;AACA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;EACd,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;EAChB,eAAe;AACjB;;AAEA;EACE,cAAc;EACd,gBAAgB;EAChB,oBAAoB;EACpB,oCAAoC;EACpC,0BAA0B;EAC1B,eAAe;EACf,iBAAiB;EACjB,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,0CAA0C;AAC5C;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,QAAQ;AACV;;AAEA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,qCAAqC;EACrC,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,mBAAmB;EACnB,kBAAkB;EAClB,oHAAoH;AACtH;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;EACf,eAAe;EACf,iBAAiB;EACjB,0BAA0B;AAC5B;AACA;EACE,mBAAmB;AACrB;;AAEA;EACE,oBAAoB;EACpB,cAAc;EACd,eAAe;AACjB;;AAEA;EACE,cAAc;EACd,kBAAkB;EAClB,0BAA0B;EAC1B,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,WAAW;EACX,eAAe;EACf,+BAA+B;AACjC;;AAEA;EACE,qBAAqB;EACrB,0BAA0B;EAC1B,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,eAAe;AACjB;;AAEA;;EAEE,aAAa;EACb,sBAAsB;EACtB,QAAQ;AACV;;AAEA,oBAAoB;AACpB;EACE,kBAAkB;EAClB,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,eAAe;EACf,kBAAkB;EAClB,YAAY;AACd;;AAEA;EACE,OAAO;EACP,YAAY;EACZ,eAAe;AACjB;;AAEA;EACE,cAAc;EACd,oBAAoB;EACpB,mBAAmB;EACnB,eAAe;EACf,QAAQ;AACV;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,mCAAmC;EACnC,cAAc;EACd,eAAe;EACf,gBAAgB;AAClB;;AAEA,YAAY;AACZ;EACE,aAAa;EACb,mBAAmB;EACnB,SAAS;EACT,iBAAiB;EACjB,mBAAmB;EACnB,mBAAmB;EACnB,uDAAuD;AACzD;AACA;EACE,mBAAmB;EACnB,6BAA6B;AAC/B;;AAEA;EACE,WAAW;EACX,cAAc;EACd,cAAc;EACd,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,OAAO;EACP,YAAY;AACd;;AAEA;EACE,cAAc;EACd,iBAAiB;EACjB,eAAe;EACf,mBAAmB;EACnB,qCAAqC;AACvC;;AAEA,8BAA8B;AAC9B;;EAEE,UAAU;EACV,oBAAoB;EACpB,8BAA8B;AAChC;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;EACd,YAAY;EACZ,oBAAoB;EACpB,+BAA+B;EAC/B,MAAM;AACR;;AAEA;;;;;;;;;;;;;EAaE,UAAU;EACV,oBAAoB;AACtB;;AAEA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,+BAA+B;EAC/B,2BAA2B;EAC3B,+BAA+B;EAC/B,mBAAmB;EACnB,uBAAuB;EACvB,0BAA0B;AAC5B;AACA;EACE,eAAe;AACjB;AACA;EACE,0BAA0B;EAC1B,gDAAgD;AAClD;AACA;EACE,0BAA0B;EAC1B,kCAAkC;AACpC;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;EACd,+CAA+C;AACjD;;AAEA;EACE,YAAY;EACZ,YAAY;EACZ,mBAAmB;EACnB,kBAAkB;EAClB,oHAAoH;AACtH;;AAEA;EACE,aAAa;EACb,SAAS;EACT,kBAAkB;EAClB,kBAAkB;EAClB,eAAe;EACf,6BAA6B;EAC7B,wDAAwD;AAC1D;AACA;EACE,mBAAmB;EACnB,qBAAqB;AACvB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,mBAAmB;EACnB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,mBAAmB;EACnB,cAAc;EACd,cAAc;AAChB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,eAAe;EACf,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,oBAAoB;EACpB,qBAAqB;EACrB,4BAA4B;EAC5B,gBAAgB;AAClB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,gBAAgB;EAChB,0BAA0B;EAC1B,YAAY;EACZ,eAAe;AACjB;;AAEA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,OAAO;EACP,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,UAAU;AACZ;AACA;EACE,OAAO;EACP,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,qBAAqB;EACrB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,2BAA2B;EAC3B,8BAA8B;AAChC;AACA;EACE,yBAAyB;AAC3B;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,cAAc;EACd,aAAa;EACb,sBAAsB;EACtB,SAAS;EACT,WAAW;EACX,YAAY;AACd;;AAEA,4BAA4B;AAC5B;EACE,WAAW;EACX,sBAAsB;EACtB,gBAAgB;EAChB,eAAe;EACf,yCAAyC;EACzC,cAAc;AAChB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,sBAAsB;AACxB;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,eAAe;EACf,QAAQ;AACV;AACA;EACE,oBAAoB;EACpB,eAAe;AACjB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;EACT,WAAW;EACX,gBAAgB;EAChB,iBAAiB;EACjB,yCAAyC;EACzC,sBAAsB;AACxB;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,yCAAyC;EACzC,eAAe;EACf,iBAAiB;EACjB,0BAA0B;EAC1B,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,kBAAkB;EAClB,qCAAqC;EACrC,kBAAkB;EAClB,mBAAmB;AACrB;AACA;;EAEE,uBAAuB;AACzB;;AAEA;EACE,mBAAmB;EACnB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,0BAA0B;AAC5B;;AAEA;EACE,aAAa;EACb,eAAe;EACf,QAAQ;EACR,eAAe;AACjB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;EACT,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;EACT,gBAAgB;AAClB;AACA;EACE,YAAY;AACd;;AAEA;EACE,gBAAgB;EAChB,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,uBAAuB;EACvB,mBAAmB;EACnB,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,kCAAkC;EAClC,uBAAuB;EACvB,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,qBAAqB;AACvB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,wBAAwB;EACxB,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,oBAAoB;EACpB,qCAAqC;EACrC,gBAAgB;AAClB;AACA;EACE,OAAO;EACP,YAAY;EACZ,iBAAiB;EACjB,iBAAiB;EACjB,kBAAkB;EAClB,uBAAuB;EACvB,+BAA+B;EAC/B,kCAAkC;EAClC,2BAA2B;EAC3B,0BAA0B;AAC5B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,oDAAoD;EACpD,sBAAsB;EACtB,gBAAgB;AAClB;AACA;EACE,sBAAsB;EACtB,oDAAoD;EACpD,wBAAwB;AAC1B;;AAEA;EACE,mBAAmB;EACnB,0BAA0B;EAC1B,eAAe;EACf,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,4BAA4B;EAC5B,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;;;;;EAKE,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,QAAQ;EACR,WAAW;AACb;;AAEA;EACE,0BAA0B;EAC1B,eAAe;AACjB;;AAEA;EACE,aAAa;EACb,sBAAsB;AACxB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,QAAQ;EACR,mBAAmB;AACrB;;AAEA;EACE,yBAAyB;EACzB,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,uBAAuB;EACvB,QAAQ;AACV;;AAEA;EACE,OAAO;EACP,YAAY;EACZ,aAAa;EACb,2DAA2D;EAC3D,QAAQ;AACV;;AAEA;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,MAAM;AACR;;AAEA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,kBAAkB;EAClB,8BAA8B;EAC9B,aAAa;EACb,sBAAsB;EACtB,QAAQ;AACV;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,eAAe;EACf,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,kBAAkB;AACpB;;AAEA;EACE,OAAO;EACP,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,UAAU;EACV,0BAA0B;EAC1B,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,cAAc;EACd,eAAe;EACf,cAAc;EACd,eAAe;AACjB;;AAEA,gBAAgB;AAChB;EACE,sBAAsB;EACtB,uBAAuB;EACvB,0BAA0B;EAC1B,qBAAqB;EACrB,+BAA+B;EAC/B,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,eAAe;AACjB;;AAEA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,0BAA0B;EAC1B,qBAAqB;EACrB,+BAA+B;EAC/B,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,eAAe;AACjB;;AAEA;EACE;;IAEE,iBAAiB;EACnB;EACA;IACE,gBAAgB;EAClB;EACA;IACE,SAAS;EACX;EACA;IACE,kBAAkB;IAClB,mBAAmB;EACrB;EACA;IACE,wBAAwB;EAC1B;EACA;;IAEE,UAAU;IACV,oBAAoB;EACtB;EACA;IACE,eAAe;IACf,uBAAuB;IACvB,QAAQ;EACV;EACA;IACE,WAAW;IACX,eAAe;EACjB;EACA;IACE,gBAAgB;IAChB,cAAc;EAChB;EACA;IACE,WAAW;IACX,aAAa;IACb,yBAAyB;IACzB,eAAe;IACf,QAAQ;EACV;EACA;IACE,cAAc;EAChB;EACA;IACE,iBAAiB;EACnB;EACA;IACE,uBAAuB;IACvB,QAAQ;EACV;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,cAAc;IACd,WAAW;IACX,YAAY;IACZ,eAAe;EACjB;EACA;IACE,WAAW;IACX,yBAAyB;IACzB,QAAQ;EACV;EACA;IACE,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,eAAe;EACjB;EACA;IACE,eAAe;EACjB;EACA;IACE,2BAA2B;IAC3B,YAAY;EACd;EACA;IACE,iBAAiB;EACnB;EACA;IACE,+BAA+B;EACjC;EACA;IACE,uBAAuB;IACvB,0BAA0B;EAC5B;EACA;IACE,sBAAsB;IACtB,uBAAuB;IACvB,0BAA0B;EAC5B;EACA;IACE,UAAU;EACZ;EACA;;IAEE,gBAAgB;EAClB;EACA;IACE,eAAe;EACjB;EACA;IACE,gBAAgB;EAClB;AACF","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}"]}