form-design-v3 1.0.0 → 1.0.2
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/{CodeEditor-B7PzbdP9.js → CodeEditor-CJeYvarM.js} +1 -2
- package/form-design-v3.css +1 -0
- package/form-design-v3.es.js +13 -0
- package/form-design-v3.umd.cjs +4 -0
- package/index-BNitnTdB.js +3578 -0
- package/index.d.ts +83 -19
- package/package.json +2 -2
- package/CodeEditor-B7PzbdP9.js.map +0 -1
- package/CodeEditor-d-AMHZfA.js +0 -56
- package/CodeEditor-d-AMHZfA.js.map +0 -1
- package/form-designer.css +0 -1
- package/index-DCHlgXXr.js +0 -3033
- package/index-DCHlgXXr.js.map +0 -1
- package/index-oUADtA5r.js +0 -3016
- package/index-oUADtA5r.js.map +0 -1
- package/mt-form-designer.es.js +0 -12
- package/mt-form-designer.es.js.map +0 -1
- package/mt-form-designer.umd.cjs +0 -5
- package/mt-form-designer.umd.cjs.map +0 -1
package/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
2
|
import { Component, App } from 'vue';
|
|
3
3
|
|
|
4
|
-
type __VLS_Props = {
|
|
4
|
+
type __VLS_Props$1 = {
|
|
5
5
|
formId?: string;
|
|
6
6
|
};
|
|
7
|
-
declare const _default: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default$1: vue.DefineComponent<__VLS_Props$1, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<__VLS_Props$1> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
8
8
|
|
|
9
9
|
type WidgetType = 'card' | 'label' | 'subtable' | 'slot' | 'grid' | 'text';
|
|
10
10
|
type RenderMode = 'design' | 'render';
|
|
@@ -30,7 +30,10 @@ interface BaseWidgetProps {
|
|
|
30
30
|
}
|
|
31
31
|
interface LabelWidgetProps extends BaseWidgetProps {
|
|
32
32
|
type: 'label';
|
|
33
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* 绑定链接:链接字段(dataType === 'link')的字段名。
|
|
35
|
+
* 绑定链接类型字段时自动带入(与 bindField 一致),其值直接作为链接地址。
|
|
36
|
+
*/
|
|
34
37
|
bindLink: string;
|
|
35
38
|
/** 字体颜色(内容区文字颜色),默认 #344054 */
|
|
36
39
|
color?: string;
|
|
@@ -94,7 +97,10 @@ interface ColumnConfig {
|
|
|
94
97
|
iscompletehidecode: string;
|
|
95
98
|
/** 同内容合并:本列相邻内容相同时合并单元格(默认关闭) */
|
|
96
99
|
issamecolmerge?: 0 | 1;
|
|
97
|
-
/**
|
|
100
|
+
/**
|
|
101
|
+
* 绑定链接字段:链接类型(dataType === 'link')的列字段名,作为本列点击跳转地址;
|
|
102
|
+
* 选择链接字段时自动带入(与列字段名一致),为空则按文本渲染
|
|
103
|
+
*/
|
|
98
104
|
bindLink?: string;
|
|
99
105
|
/** 列编辑模式对象 */
|
|
100
106
|
editmode: ColumnEditMode;
|
|
@@ -201,11 +207,30 @@ interface FieldMeta {
|
|
|
201
207
|
name: string;
|
|
202
208
|
/** 字段中文名 */
|
|
203
209
|
label: string;
|
|
204
|
-
/**
|
|
210
|
+
/**
|
|
211
|
+
* 字段类型:
|
|
212
|
+
* string 文本 / date 日期 / number 数值 / money 金额 / file 文件 / link 链接。
|
|
213
|
+
* link 字段被控件绑定后,其值直接作为链接使用(无需单独配置链接字段)。
|
|
214
|
+
*/
|
|
205
215
|
dataType: string;
|
|
206
216
|
/** 字段枚举(可选) */
|
|
207
217
|
enums?: EnumItem[];
|
|
208
218
|
}
|
|
219
|
+
/** 子表字段(决定子表默认展示列) */
|
|
220
|
+
interface SubtableField {
|
|
221
|
+
name: string;
|
|
222
|
+
label: string;
|
|
223
|
+
dataType: 'string' | 'date' | 'number' | 'money' | 'file' | 'link';
|
|
224
|
+
}
|
|
225
|
+
/** 子表定义:可绑定到子表控件的数据源(来自后端 allfields 接口) */
|
|
226
|
+
interface SubtableDef {
|
|
227
|
+
/** 子表名 / 业务对象标识(即 secondtable 取值) */
|
|
228
|
+
name: string;
|
|
229
|
+
/** 子表显示名(后端未提供时回退为 name) */
|
|
230
|
+
label: string;
|
|
231
|
+
/** 子表字段(决定默认展示列) */
|
|
232
|
+
fields: SubtableField[];
|
|
233
|
+
}
|
|
209
234
|
/** 表单初始化接口返回的结构(mock,后续与后端对齐) */
|
|
210
235
|
interface FormSchema {
|
|
211
236
|
/** 表单标识 */
|
|
@@ -226,6 +251,36 @@ interface FormSchema {
|
|
|
226
251
|
events: FormEvents;
|
|
227
252
|
}
|
|
228
253
|
|
|
254
|
+
type __VLS_Props = {
|
|
255
|
+
widgets: WidgetNode[];
|
|
256
|
+
formMode?: FormMode;
|
|
257
|
+
formData?: Record<string, unknown>;
|
|
258
|
+
/** 表单级事件配置(全局事件),由宿主从 Schema 透传 */
|
|
259
|
+
events?: FormEvents;
|
|
260
|
+
/** 表单标识(透传给插槽等需要宿主上下文的控件) */
|
|
261
|
+
formId?: string;
|
|
262
|
+
};
|
|
263
|
+
/** 运行指定生命周期钩子 */
|
|
264
|
+
declare function runLifecycle(hook: LifecycleHook): void;
|
|
265
|
+
/** 触发自定义事件:执行对应 name 的 handler */
|
|
266
|
+
declare function fireEvent(name: string, payload?: unknown): void;
|
|
267
|
+
declare var __VLS_5: string | number;
|
|
268
|
+
declare var __VLS_6: any;
|
|
269
|
+
type __VLS_Slots = {} & {
|
|
270
|
+
[K in NonNullable<typeof __VLS_5>]?: (props: typeof __VLS_6) => any;
|
|
271
|
+
};
|
|
272
|
+
declare const __VLS_component: vue.DefineComponent<__VLS_Props, {
|
|
273
|
+
fireEvent: typeof fireEvent;
|
|
274
|
+
runLifecycle: typeof runLifecycle;
|
|
275
|
+
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
276
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
277
|
+
|
|
278
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
279
|
+
new (): {
|
|
280
|
+
$slots: S;
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
|
|
229
284
|
/** 渲染表单所需的全部入参(供外部调用方传递) */
|
|
230
285
|
interface RenderFormOptions {
|
|
231
286
|
/** 挂载容器(必填)。渲染内容将挂载到该元素内部 */
|
|
@@ -240,10 +295,8 @@ interface RenderFormOptions {
|
|
|
240
295
|
events?: FormEvents;
|
|
241
296
|
/** 表单标识(透传给插槽等需要宿主上下文的控件),可选 */
|
|
242
297
|
formId?: string;
|
|
243
|
-
/**
|
|
244
|
-
|
|
245
|
-
/** 基础模块(baseModule),可选 */
|
|
246
|
-
baseModule?: string;
|
|
298
|
+
/** 网关前缀(含环境),如 /bpmapi-uat;运行态控件如需请求接口时使用 */
|
|
299
|
+
baseUrl?: string;
|
|
247
300
|
}
|
|
248
301
|
/** 渲染实例句柄,供外部在挂载后调用 */
|
|
249
302
|
interface RenderFormHandle {
|
|
@@ -258,6 +311,9 @@ interface RenderFormHandle {
|
|
|
258
311
|
*/
|
|
259
312
|
declare function renderForm(options: RenderFormOptions): RenderFormHandle;
|
|
260
313
|
|
|
314
|
+
/** 从本地读取表单 Schema;不存在或解析失败返回 null */
|
|
315
|
+
declare function loadFormFromLocal(formId: string): FormSchema | null;
|
|
316
|
+
|
|
261
317
|
interface WidgetDefinition {
|
|
262
318
|
/** 控件类型 */
|
|
263
319
|
type: WidgetType;
|
|
@@ -284,25 +340,33 @@ interface WidgetDefinition {
|
|
|
284
340
|
declare function registerComponent(def: WidgetDefinition): void;
|
|
285
341
|
|
|
286
342
|
/**
|
|
287
|
-
*
|
|
343
|
+
* bpmapi 后端接口适配层(2026-10-19 接入)。
|
|
344
|
+
*
|
|
345
|
+
* 路径规则:{baseUrl}/api/formdesigner/v1/{action},参数走 query string。
|
|
346
|
+
* 接口清单与字段说明见 docs/API-backend.md;接入评估见 docs/integration-assessment.md。
|
|
347
|
+
*
|
|
348
|
+
* 打开设计器为 1+1+1 流程(与子表数量无关):
|
|
349
|
+
* ① opendesigner 建版本 / 取工作表单 ID(newFormID)
|
|
350
|
+
* ② formconfig 取模板四合一(模板内容在 json,即 FormSchema)
|
|
351
|
+
* ③ allfields 取主表 + 全部子表字段
|
|
288
352
|
*/
|
|
289
353
|
interface ApiConfig {
|
|
290
|
-
|
|
291
|
-
|
|
354
|
+
/** 网关前缀(含环境),如 /bpmapi-uat;经 dev-server 代理时用相对路径 */
|
|
355
|
+
baseUrl: string;
|
|
292
356
|
}
|
|
293
357
|
declare function configureApi(options: Partial<ApiConfig>): void;
|
|
294
|
-
|
|
358
|
+
/** @deprecated 兼容旧名:baseModule 即网关前缀(不带前导斜杠也可) */
|
|
295
359
|
declare function setBaseModule(module: string): void;
|
|
360
|
+
/** @deprecated 兼容旧名:后端模块已固定为 formdesigner/v1,无需配置 */
|
|
361
|
+
declare function setApiModule(_module: string): void;
|
|
296
362
|
|
|
297
363
|
interface InstallOptions {
|
|
298
|
-
/**
|
|
299
|
-
|
|
300
|
-
/** 基础模块(baseModule) */
|
|
301
|
-
baseModule?: string;
|
|
364
|
+
/** 网关前缀(含环境),如 /bpmapi-uat;对应后端 api/formdesigner/v1 之前的部分 */
|
|
365
|
+
baseUrl?: string;
|
|
302
366
|
}
|
|
303
367
|
declare const DesignerPlugin: {
|
|
304
368
|
install(app: App, options?: InstallOptions): void;
|
|
305
369
|
};
|
|
306
370
|
|
|
307
|
-
export { _default as Designer, LIFECYCLE_HOOKS, configureApi, DesignerPlugin as default, registerComponent, renderForm, setApiModule, setBaseModule };
|
|
308
|
-
export type { BaseWidgetProps, CardWidgetProps, ColumnConfig, ColumnEditMode, CustomEvent, EditMode, EnumItem, FieldMeta, FormEvents, FormLifecycleEvents, FormMode, FormSchema, GridWidgetProps, HiddenMode, InstallOptions, LabelWidgetProps, LifecycleHook, RenderFormHandle, RenderFormOptions, RenderMode, SlotWidgetProps, SubtableWidgetProps, TextWidgetProps, WidgetNode, WidgetProps, WidgetType };
|
|
371
|
+
export { _default$1 as Designer, LIFECYCLE_HOOKS, _default as Renderer, configureApi, DesignerPlugin as default, loadFormFromLocal, registerComponent, renderForm, setApiModule, setBaseModule };
|
|
372
|
+
export type { BaseWidgetProps, CardWidgetProps, ColumnConfig, ColumnEditMode, CustomEvent, EditMode, EnumItem, FieldMeta, FormEvents, FormLifecycleEvents, FormMode, FormSchema, GridWidgetProps, HiddenMode, InstallOptions, LabelWidgetProps, LifecycleHook, RenderFormHandle, RenderFormOptions, RenderMode, SlotWidgetProps, SubtableDef, SubtableField, SubtableWidgetProps, TextWidgetProps, WidgetNode, WidgetProps, WidgetType };
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor-B7PzbdP9.js","sources":["../src/components/designer/CodeEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, onMounted, onBeforeUnmount, watch } from 'vue'\nimport * as monaco from 'monaco-editor'\nimport { javascriptDefaults } from 'monaco-editor/language/typescript/monaco.contribution'\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: string\n language?: string\n }>(),\n { modelValue: '', language: 'javascript' },\n)\n\nconst emit = defineEmits<{ 'update:modelValue': [value: string] }>()\n\nconst container = ref<HTMLDivElement | null>(null)\nlet editor: monaco.editor.IStandaloneCodeEditor | null = null\n\nonMounted(() => {\n if (!container.value) return\n // 处理函数多为运行态 ctx 等上下文变量,关闭语义校验避免误报红线\n javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true,\n noSyntaxValidation: false,\n })\n editor = monaco.editor.create(container.value, {\n value: props.modelValue,\n language: props.language,\n theme: 'vs-dark',\n automaticLayout: true,\n fontSize: 14,\n tabSize: 2,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n fontFamily: \"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace\",\n scrollbar: { verticalScrollbarSize: 8, horizontalScrollbarSize: 8 },\n })\n editor.onDidChangeModelContent(() => {\n emit('update:modelValue', editor?.getValue() ?? '')\n })\n})\n\nwatch(\n () => props.modelValue,\n (val) => {\n if (editor && val !== editor.getValue()) editor.setValue(val ?? '')\n },\n)\n\nwatch(\n () => props.language,\n (lang) => {\n const model = editor?.getModel()\n if (model) monaco.editor.setModelLanguage(model, lang)\n },\n)\n\nonBeforeUnmount(() => {\n editor?.dispose()\n editor = null\n})\n</script>\n\n<template>\n <div ref=\"container\" class=\"fd-code-editor\"></div>\n</template>\n\n<style scoped>\n.fd-code-editor {\n width: 100%;\n height: 32rem;\n border: 1px solid var(--fd-color-border);\n border-radius: var(--fd-radius-base);\n overflow: hidden;\n}\n</style>\n"],"names":["props","__props","emit","__emit","container","ref","editor","onMounted","javascriptDefaults","monaco","watch","val","lang","model","onBeforeUnmount","_createElementBlock"],"mappings":";;;;;;;;;;;;AAKA,UAAMA,IAAQC,GAQRC,IAAOC,GAEPC,IAAYC,EAA2B,IAAI;AACjD,QAAIC,IAAqD;AAEzD,WAAAC,EAAU,MAAM;AACd,MAAKH,EAAU,UAEfI,EAAmB,sBAAsB;AAAA,QACvC,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,MAAA,CACrB,GACDF,IAASG,EAAO,OAAO,OAAOL,EAAU,OAAO;AAAA,QAC7C,OAAOJ,EAAM;AAAA,QACb,UAAUA,EAAM;AAAA,QAChB,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAS,EAAE,SAAS,GAAA;AAAA,QACpB,sBAAsB;AAAA,QACtB,YAAY;AAAA,QACZ,WAAW,EAAE,uBAAuB,GAAG,yBAAyB,EAAA;AAAA,MAAE,CACnE,GACDM,EAAO,wBAAwB,MAAM;AACnC,QAAAJ,EAAK,sBAAqBI,KAAA,gBAAAA,EAAQ,eAAc,EAAE;AAAA,MACpD,CAAC;AAAA,IACH,CAAC,GAEDI;AAAA,MACE,MAAMV,EAAM;AAAA,MACZ,CAACW,MAAQ;AACP,QAAIL,KAAUK,MAAQL,EAAO,SAAA,KAAYA,EAAO,SAASK,KAAO,EAAE;AAAA,MACpE;AAAA,IAAA,GAGFD;AAAA,MACE,MAAMV,EAAM;AAAA,MACZ,CAACY,MAAS;AACR,cAAMC,IAAQP,KAAA,gBAAAA,EAAQ;AACtB,QAAIO,KAAOJ,EAAO,OAAO,iBAAiBI,GAAOD,CAAI;AAAA,MACvD;AAAA,IAAA,GAGFE,EAAgB,MAAM;AACpB,MAAAR,KAAA,QAAAA,EAAQ,WACRA,IAAS;AAAA,IACX,CAAC,mBAICS,EAAkD,OAAA;AAAA,eAAzC;AAAA,MAAJ,KAAIX;AAAA,MAAY,OAAM;AAAA,IAAA;;;"}
|
package/CodeEditor-d-AMHZfA.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { defineComponent as c, ref as d, onMounted as m, watch as n, onBeforeUnmount as f, openBlock as p, createElementBlock as g } from "vue";
|
|
2
|
-
import * as r from "monaco-editor";
|
|
3
|
-
import { javascriptDefaults as _ } from "monaco-editor/language/typescript/monaco.contribution";
|
|
4
|
-
import { _ as V } from "./index-DCHlgXXr.js";
|
|
5
|
-
const S = /* @__PURE__ */ c({
|
|
6
|
-
__name: "CodeEditor",
|
|
7
|
-
props: {
|
|
8
|
-
modelValue: { default: "" },
|
|
9
|
-
language: { default: "javascript" }
|
|
10
|
-
},
|
|
11
|
-
emits: ["update:modelValue"],
|
|
12
|
-
setup(i, { emit: s }) {
|
|
13
|
-
const o = i, u = s, t = d(null);
|
|
14
|
-
let e = null;
|
|
15
|
-
return m(() => {
|
|
16
|
-
t.value && (_.setDiagnosticsOptions({
|
|
17
|
-
noSemanticValidation: !0,
|
|
18
|
-
noSyntaxValidation: !1
|
|
19
|
-
}), e = r.editor.create(t.value, {
|
|
20
|
-
value: o.modelValue,
|
|
21
|
-
language: o.language,
|
|
22
|
-
theme: "vs-dark",
|
|
23
|
-
automaticLayout: !0,
|
|
24
|
-
fontSize: 14,
|
|
25
|
-
tabSize: 2,
|
|
26
|
-
minimap: { enabled: !1 },
|
|
27
|
-
scrollBeyondLastLine: !1,
|
|
28
|
-
fontFamily: "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace",
|
|
29
|
-
scrollbar: { verticalScrollbarSize: 8, horizontalScrollbarSize: 8 }
|
|
30
|
-
}), e.onDidChangeModelContent(() => {
|
|
31
|
-
u("update:modelValue", (e == null ? void 0 : e.getValue()) ?? "");
|
|
32
|
-
}));
|
|
33
|
-
}), n(
|
|
34
|
-
() => o.modelValue,
|
|
35
|
-
(a) => {
|
|
36
|
-
e && a !== e.getValue() && e.setValue(a ?? "");
|
|
37
|
-
}
|
|
38
|
-
), n(
|
|
39
|
-
() => o.language,
|
|
40
|
-
(a) => {
|
|
41
|
-
const l = e == null ? void 0 : e.getModel();
|
|
42
|
-
l && r.editor.setModelLanguage(l, a);
|
|
43
|
-
}
|
|
44
|
-
), f(() => {
|
|
45
|
-
e == null || e.dispose(), e = null;
|
|
46
|
-
}), (a, l) => (p(), g("div", {
|
|
47
|
-
ref_key: "container",
|
|
48
|
-
ref: t,
|
|
49
|
-
class: "fd-code-editor"
|
|
50
|
-
}, null, 512));
|
|
51
|
-
}
|
|
52
|
-
}), C = /* @__PURE__ */ V(S, [["__scopeId", "data-v-aeb9c1ee"]]);
|
|
53
|
-
export {
|
|
54
|
-
C as default
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=CodeEditor-d-AMHZfA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor-d-AMHZfA.js","sources":["../src/components/designer/CodeEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, onMounted, onBeforeUnmount, watch } from 'vue'\nimport * as monaco from 'monaco-editor'\nimport { javascriptDefaults } from 'monaco-editor/language/typescript/monaco.contribution'\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: string\n language?: string\n }>(),\n { modelValue: '', language: 'javascript' },\n)\n\nconst emit = defineEmits<{ 'update:modelValue': [value: string] }>()\n\nconst container = ref<HTMLDivElement | null>(null)\nlet editor: monaco.editor.IStandaloneCodeEditor | null = null\n\nonMounted(() => {\n if (!container.value) return\n // 处理函数多为运行态 ctx 等上下文变量,关闭语义校验避免误报红线\n javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true,\n noSyntaxValidation: false,\n })\n editor = monaco.editor.create(container.value, {\n value: props.modelValue,\n language: props.language,\n theme: 'vs-dark',\n automaticLayout: true,\n fontSize: 14,\n tabSize: 2,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n fontFamily: \"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace\",\n scrollbar: { verticalScrollbarSize: 8, horizontalScrollbarSize: 8 },\n })\n editor.onDidChangeModelContent(() => {\n emit('update:modelValue', editor?.getValue() ?? '')\n })\n})\n\nwatch(\n () => props.modelValue,\n (val) => {\n if (editor && val !== editor.getValue()) editor.setValue(val ?? '')\n },\n)\n\nwatch(\n () => props.language,\n (lang) => {\n const model = editor?.getModel()\n if (model) monaco.editor.setModelLanguage(model, lang)\n },\n)\n\nonBeforeUnmount(() => {\n editor?.dispose()\n editor = null\n})\n</script>\n\n<template>\n <div ref=\"container\" class=\"fd-code-editor\"></div>\n</template>\n\n<style scoped>\n.fd-code-editor {\n width: 100%;\n height: 32rem;\n border: 1px solid var(--fd-color-border);\n border-radius: var(--fd-radius-base);\n overflow: hidden;\n}\n</style>\n"],"names":["props","__props","emit","__emit","container","ref","editor","onMounted","javascriptDefaults","monaco","watch","val","lang","model","onBeforeUnmount","_createElementBlock"],"mappings":";;;;;;;;;;;;AAKA,UAAMA,IAAQC,GAQRC,IAAOC,GAEPC,IAAYC,EAA2B,IAAI;AACjD,QAAIC,IAAqD;AAEzD,WAAAC,EAAU,MAAM;AACd,MAAKH,EAAU,UAEfI,EAAmB,sBAAsB;AAAA,QACvC,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,MAAA,CACrB,GACDF,IAASG,EAAO,OAAO,OAAOL,EAAU,OAAO;AAAA,QAC7C,OAAOJ,EAAM;AAAA,QACb,UAAUA,EAAM;AAAA,QAChB,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAS,EAAE,SAAS,GAAA;AAAA,QACpB,sBAAsB;AAAA,QACtB,YAAY;AAAA,QACZ,WAAW,EAAE,uBAAuB,GAAG,yBAAyB,EAAA;AAAA,MAAE,CACnE,GACDM,EAAO,wBAAwB,MAAM;AACnC,QAAAJ,EAAK,sBAAqBI,KAAA,gBAAAA,EAAQ,eAAc,EAAE;AAAA,MACpD,CAAC;AAAA,IACH,CAAC,GAEDI;AAAA,MACE,MAAMV,EAAM;AAAA,MACZ,CAACW,MAAQ;AACP,QAAIL,KAAUK,MAAQL,EAAO,SAAA,KAAYA,EAAO,SAASK,KAAO,EAAE;AAAA,MACpE;AAAA,IAAA,GAGFD;AAAA,MACE,MAAMV,EAAM;AAAA,MACZ,CAACY,MAAS;AACR,cAAMC,IAAQP,KAAA,gBAAAA,EAAQ;AACtB,QAAIO,KAAOJ,EAAO,OAAO,iBAAiBI,GAAOD,CAAI;AAAA,MACvD;AAAA,IAAA,GAGFE,EAAgB,MAAM;AACpB,MAAAR,KAAA,QAAAA,EAAQ,WACRA,IAAS;AAAA,IACX,CAAC,mBAICS,EAAkD,OAAA;AAAA,eAAzC;AAAA,MAAJ,KAAIX;AAAA,MAAY,OAAM;AAAA,IAAA;;;"}
|
package/form-designer.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.fd-label-design[data-v-b6dcc499]{display:flex;align-items:stretch;font-size:1.4rem;line-height:1.5;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);overflow:hidden}.fd-label-name[data-v-b6dcc499]{width:16rem;flex-shrink:0;padding:1.1rem 1.2rem;background:var(--fd-color-bg-hover);border-right:1px solid var(--fd-color-border);color:var(--fd-color-text-secondary);text-align:right;font-weight:500}.fd-label-design.is-mobile .fd-label-name[data-v-b6dcc499]{width:12rem}.fd-label-value[data-v-b6dcc499]{flex:1;min-width:0;padding:1.1rem 1.2rem;background:var(--fd-color-bg-panel);color:var(--fd-color-text);white-space:pre-wrap;word-break:break-all}.fd-label-value--link[data-v-b6dcc499]{color:var(--fd-color-primary)}.fd-label-render[data-v-7fe92042]{display:flex;align-items:stretch;font-size:1.4rem;line-height:1.5;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);overflow:hidden}.fd-label-name[data-v-7fe92042]{width:16rem;flex-shrink:0;padding:1.1rem 1.2rem;background:var(--fd-color-bg-hover);border-right:1px solid var(--fd-color-border);color:var(--fd-color-text-secondary);text-align:right;font-weight:500}.fd-label-render.is-mobile .fd-label-name[data-v-7fe92042]{width:12rem}.fd-label-value[data-v-7fe92042]{flex:1;min-width:0;padding:1.1rem 1.2rem;background:var(--fd-color-bg-panel);color:var(--fd-color-text);white-space:pre-wrap;word-break:break-all}.fd-label-value--link[data-v-7fe92042]{color:var(--fd-color-primary)}.fd-label-link[data-v-7fe92042]{color:inherit;text-decoration:none;cursor:pointer;word-break:break-all}.fd-label-link[data-v-7fe92042]:hover{text-decoration:underline}.fd-panel[data-v-a5d99c1e]{display:flex;flex-direction:column;gap:1.2rem}.fd-panel-item[data-v-a5d99c1e]{display:flex;flex-direction:column;gap:.4rem}.fd-panel-item label[data-v-a5d99c1e]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-panel-item input[data-v-a5d99c1e],.fd-panel-item select[data-v-a5d99c1e]{height:3.2rem;padding:0 1rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);font-size:1.4rem;background:var(--fd-color-bg-panel)}.fd-color-row[data-v-a5d99c1e]{display:flex;gap:.6rem;align-items:center}.fd-panel .fd-panel-item .fd-color-row input[type=color][data-v-a5d99c1e]{width:3.6rem;height:3.2rem;padding:.2rem;flex-shrink:0;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);background:var(--fd-color-bg-panel);cursor:pointer}.fd-color-row input[data-v-a5d99c1e]:not([type=color]){flex:1;min-width:0}.fd-card-design[data-v-6a46ee95]{border:1px solid var(--fd-color-border);border-radius:14px;background:var(--fd-color-bg-panel);box-shadow:0 2px 10px #19375f0f;overflow:hidden}.fd-card-head[data-v-6a46ee95]{display:flex;align-items:center;gap:10px;height:64px;padding:0 22px;background:transparent}.fd-card-icon[data-v-6a46ee95]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--fd-color-primary);background:var(--fd-color-primary-light);border-radius:9px}.fd-card-title[data-v-6a46ee95]{flex:1;font-size:17px;font-weight:700;color:var(--fd-color-text)}.fd-card-arrow[data-v-6a46ee95]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;color:var(--fd-color-text-tertiary);cursor:pointer;transition:transform .3s,background .2s}.fd-card-arrow[data-v-6a46ee95]:hover{background:var(--fd-color-bg-hover)}.fd-card-arrow svg[data-v-6a46ee95]{width:16px;height:16px;display:block}.fd-card-arrow.is-open[data-v-6a46ee95]{transform:rotate(180deg)}.fd-card-body[data-v-6a46ee95]{padding:0 22px 22px;min-height:6rem;background:var(--fd-color-bg-panel)}.fd-card-empty[data-v-6a46ee95]{border:1px dashed var(--fd-color-border);border-radius:var(--fd-radius-base);padding:1.6rem;text-align:center;color:var(--fd-color-text-tertiary);font-size:1.3rem}.fd-card-render[data-v-bc2f6273]{border:1px solid var(--fd-color-border);border-radius:14px;background:var(--fd-color-bg-panel);box-shadow:0 2px 10px #19375f0f;overflow:hidden}.fd-card-head[data-v-bc2f6273]{display:flex;align-items:center;gap:10px;height:64px;padding:0 22px;background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.fd-card-icon[data-v-bc2f6273]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--fd-color-primary);background:var(--fd-color-primary-light);border-radius:9px}.fd-card-title[data-v-bc2f6273]{flex:1;font-size:17px;font-weight:700;color:var(--fd-color-text)}.fd-card-arrow[data-v-bc2f6273]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;color:var(--fd-color-text-tertiary);transition:transform .3s}.fd-card-arrow svg[data-v-bc2f6273]{width:16px;height:16px;display:block}.fd-card-arrow.is-open[data-v-bc2f6273]{transform:rotate(180deg)}.fd-card-body[data-v-bc2f6273]{padding:0 22px 22px;min-height:6rem;background:var(--fd-color-bg-panel)}.fd-switch[data-v-eac909bd]{position:relative;width:3.6rem;height:2rem;padding:0;border:none;border-radius:1rem;background:var(--fd-color-border-hover);cursor:pointer;flex-shrink:0;transition:background var(--fd-transition)}.fd-switch.is-on[data-v-eac909bd]{background:var(--fd-color-primary)}.fd-switch[data-v-eac909bd]:disabled{opacity:.5;cursor:not-allowed}.fd-switch-dot[data-v-eac909bd]{position:absolute;top:.2rem;left:.2rem;width:1.6rem;height:1.6rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform var(--fd-transition)}.fd-switch.is-on .fd-switch-dot[data-v-eac909bd]{transform:translate(1.6rem)}.fd-panel[data-v-4585a5b8]{display:flex;flex-direction:column;gap:1.2rem}.fd-panel-item[data-v-4585a5b8]{display:flex;flex-direction:column;gap:.4rem}.fd-panel-item--row[data-v-4585a5b8]{flex-direction:row;align-items:center;justify-content:space-between}.fd-panel-item label[data-v-4585a5b8]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-panel-item input[data-v-4585a5b8],.fd-panel-item select[data-v-4585a5b8]{height:3.2rem;padding:0 1rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);font-size:1.4rem;background:var(--fd-color-bg-panel)}.fd-panel-item select[data-v-4585a5b8]{color:var(--fd-color-text);cursor:pointer}.fd-icon-picker[data-v-4585a5b8]{position:relative}.fd-icon-trigger[data-v-4585a5b8]{width:100%;height:3.2rem;padding:0 .8rem;display:flex;align-items:center;gap:.6rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);background:var(--fd-color-bg-panel);color:var(--fd-color-text);cursor:pointer}.fd-icon-trigger[data-v-4585a5b8]:hover{border-color:var(--fd-color-border-hover)}.fd-icon-placeholder[data-v-4585a5b8]{flex:1;text-align:left;font-size:1.4rem;color:var(--fd-color-text-tertiary)}.fd-icon-caret[data-v-4585a5b8]{width:1.4rem;height:1.4rem;margin-left:auto;color:var(--fd-color-text-tertiary)}.fd-icon-popover[data-v-4585a5b8]{position:absolute;z-index:20;top:calc(100% + .4rem);left:0;right:0;padding:.8rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);background:var(--fd-color-bg-panel);box-shadow:var(--fd-shadow-pop);max-height:26rem;overflow-y:auto}.fd-icon-grid[data-v-4585a5b8]{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}.fd-icon-option[data-v-4585a5b8]{display:inline-flex;align-items:center;justify-content:center;height:3.2rem;border:1px solid transparent;border-radius:var(--fd-radius-base);background:transparent;color:var(--fd-color-text);cursor:pointer}.fd-icon-option[data-v-4585a5b8]:hover{background:var(--fd-color-bg-hover)}.fd-icon-option.active[data-v-4585a5b8]{border-color:var(--fd-color-primary);background:var(--fd-color-bg-active);color:var(--fd-color-primary)}.fd-icon-none[data-v-4585a5b8]{font-size:1.2rem}.fd-slot-design[data-v-d3fbc11d]{display:flex;align-items:center;gap:.8rem;padding:1.2rem 1.6rem;border:1px dashed var(--fd-color-border-hover);border-radius:var(--fd-radius-base);background:var(--fd-color-bg-hover)}.fd-slot-tag[data-v-d3fbc11d]{padding:.2rem .8rem;border-radius:var(--fd-radius-base);background:var(--fd-color-primary-light);color:var(--fd-color-primary);font-size:1.2rem}.fd-slot-name[data-v-d3fbc11d]{font-weight:600;color:var(--fd-color-text)}.fd-slot-hint[data-v-d3fbc11d]{margin-left:auto;color:var(--fd-color-text-tertiary);font-size:1.2rem}.fd-slot-render[data-v-10795159]{margin:0}.fd-slot-missing[data-v-10795159]{padding:1.2rem 1.6rem;border:1px dashed var(--fd-color-border-hover);border-radius:var(--fd-radius-base);background:var(--fd-color-bg-hover);color:var(--fd-color-text-tertiary);font-size:1.3rem}.fd-panel[data-v-4c380320]{display:flex;flex-direction:column;gap:1.2rem}.fd-panel-item[data-v-4c380320]{display:flex;flex-direction:column;gap:.4rem}.fd-panel-item label[data-v-4c380320]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-panel-item input[data-v-4c380320],.fd-panel-item select[data-v-4c380320]{height:3.2rem;padding:0 1rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);font-size:1.4rem;background:var(--fd-color-bg-panel)}.fd-panel-item select[data-v-4c380320]{color:var(--fd-color-text);cursor:pointer}.fd-st-design[data-v-aba8caec]{border-radius:var(--fd-radius-base);background:var(--fd-color-bg-panel);overflow:hidden}.fd-st-table-wrap[data-v-aba8caec]{overflow-x:auto}.fd-st-table[data-v-aba8caec]{width:max-content;min-width:100%;border-collapse:collapse}.fd-st-table th[data-v-aba8caec]{background:var(--fd-color-bg-hover);color:var(--fd-color-text-secondary);font-weight:600}.fd-st-table th[data-v-aba8caec],.fd-st-table td[data-v-aba8caec]{border:1px solid var(--fd-color-border);padding:.8rem 1rem;font-size:1.3rem;text-align:left}.fd-st-seq[data-v-aba8caec]{width:5rem;text-align:center!important}.fd-st-cell[data-v-aba8caec]{color:var(--fd-color-text-secondary)}.fd-st-cell--link[data-v-aba8caec]{color:var(--fd-color-primary);cursor:pointer}.fd-st-cards[data-v-aba8caec]{display:flex;flex-direction:column;gap:.8rem}.fd-st-card[data-v-aba8caec]{display:flex;flex-direction:column;gap:.6rem;background:var(--fd-color-bg-panel);border-radius:var(--fd-radius-base);box-shadow:0 1px 2px #0000000f;border:1px solid var(--fd-color-border)}.fd-st-card-row[data-v-aba8caec]{display:flex;align-items:flex-start;padding:1rem 1.4rem;border-bottom:1px solid var(--fd-color-border)}.fd-st-card-row[data-v-aba8caec]:last-child{border-bottom:none}.fd-st-card-label[data-v-aba8caec]{flex:0 0 11.5rem;max-width:11.5rem;color:var(--fd-color-text-secondary);font-size:1.3rem}.fd-st-card-value[data-v-aba8caec]{flex:1 1 auto;min-width:0;color:var(--fd-color-text);font-size:1.3rem;word-break:break-all;display:flex;align-items:center}.fd-st-card-value--link[data-v-aba8caec]{color:var(--fd-color-primary);cursor:pointer}.fd-st-cards-empty[data-v-aba8caec]{text-align:center;font-size:1.3rem;color:var(--fd-color-text-tertiary);padding:2rem 1rem}.fd-st-render[data-v-a650847e]{background:var(--fd-color-bg-panel)}.fd-st-table-wrap[data-v-a650847e]{overflow-x:auto}.fd-st-table[data-v-a650847e]{width:max-content;min-width:100%;border-spacing:0;border-collapse:separate;border:1px solid #e4eaf2;border-radius:1rem;overflow:hidden;background:#fff}.fd-st-table th[data-v-a650847e],.fd-st-table td[data-v-a650847e]{border:0;border-right:1px solid #e4eaf2;border-bottom:1px solid #e4eaf2;padding:1.1rem 1.2rem;line-height:1.45;font-size:1.3rem}.fd-st-table tr[data-v-a650847e]>*:last-child{border-right:0}.fd-st-table th[data-v-a650847e]{color:#667085;background:#f8fafc;font-weight:500}.fd-st-table thead th[data-v-a650847e]{color:#475467;background:#f6f8fb;font-weight:600}.fd-st-seq[data-v-a650847e]{width:5rem;text-align:center!important}.fd-st-op[data-v-a650847e]{width:8rem;text-align:center}.fd-st-empty[data-v-a650847e]{text-align:center;color:var(--fd-color-text-secondary);padding:1.6rem}.fd-st-link[data-v-a650847e]{color:var(--fd-color-primary);cursor:pointer;text-decoration:none;word-break:break-all}.fd-st-link[data-v-a650847e]:hover{text-decoration:underline}.fd-st-add[data-v-a650847e]{margin:1rem 1.2rem}.fd-st-cards[data-v-a650847e]{display:flex;flex-direction:column;gap:.8rem}.fd-st-card[data-v-a650847e]{display:flex;flex-direction:column;background:var(--fd-color-bg-panel);border-radius:var(--fd-radius-base);box-shadow:0 .1rem .2rem #0000000f;border:1px solid var(--fd-color-border)}.fd-st-card-row[data-v-a650847e]{display:flex;align-items:flex-start;padding:1rem 1.4rem;border-bottom:1px solid var(--fd-color-border)}.fd-st-card-row[data-v-a650847e]:last-child{border-bottom:none}.fd-st-card-label[data-v-a650847e]{flex:0 0 11.5rem;max-width:11.5rem;color:var(--fd-color-text-secondary);font-size:1.3rem}.fd-st-card-value[data-v-a650847e]{flex:1 1 auto;min-width:0;color:var(--fd-color-text);font-size:1.3rem;word-break:break-all}.fd-st-card-actions[data-v-a650847e]{display:flex;justify-content:flex-end;padding:.8rem 1.4rem;border-top:1px solid var(--fd-color-border)}.fd-st-cards-empty[data-v-a650847e]{text-align:center;font-size:1.3rem;color:var(--fd-color-text-secondary);padding:2rem 1rem}.fd-panel[data-v-31bf2515]{display:flex;flex-direction:column;gap:1.2rem}.fd-panel-item[data-v-31bf2515]{display:flex;flex-direction:column;gap:.4rem}.fd-panel-item--row[data-v-31bf2515]{flex-direction:row;align-items:center;justify-content:space-between}.fd-panel-item label[data-v-31bf2515]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-cols-head[data-v-31bf2515]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;font-weight:600}.fd-cols-empty[data-v-31bf2515]{font-size:1.3rem;color:var(--fd-color-text-placeholder);text-align:center;padding:1.6rem;border:1px dashed var(--fd-color-border);border-radius:var(--fd-radius-base)}.fd-col-card[data-v-31bf2515]{display:flex;flex-direction:column;gap:.8rem;padding:1rem 1.2rem;margin-bottom:.8rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);background:var(--fd-color-bg-panel);transition:border-color var(--fd-transition)}.fd-col-card[data-v-31bf2515]:hover{border-color:var(--fd-color-primary)}.fd-col-card-top[data-v-31bf2515]{display:flex;align-items:center;gap:.8rem}.fd-col-order[data-v-31bf2515]{flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;color:var(--fd-color-primary);background:var(--fd-color-primary-light)}.fd-col-meta[data-v-31bf2515]{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.fd-col-title[data-v-31bf2515]{font-size:1.4rem;font-weight:600;color:var(--fd-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-col-name-sub[data-v-31bf2515]{font-size:1.1rem;color:var(--fd-color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-col-tag[data-v-31bf2515]{flex-shrink:0;font-size:1.1rem;color:var(--fd-color-text-secondary);background:var(--fd-color-bg);border:1px solid var(--fd-color-border);padding:.2rem .6rem;border-radius:var(--fd-radius-base)}.fd-col-card-bottom[data-v-31bf2515]{display:flex;align-items:center;justify-content:space-between}.fd-col-switch[data-v-31bf2515]{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-col-actions[data-v-31bf2515]{display:flex;gap:.6rem}.fd-form-section[data-v-31bf2515]{margin-bottom:1.6rem}.fd-form-section[data-v-31bf2515]:last-child{margin-bottom:0}.fd-form-section-h[data-v-31bf2515]{margin:0 0 .8rem;font-size:1.3rem;font-weight:600;color:var(--fd-color-text-secondary)}.fd-form-grid[data-v-31bf2515]{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.6rem}.fd-form-item[data-v-31bf2515]{display:flex;flex-direction:column;gap:.4rem}.fd-form-item label[data-v-31bf2515]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-color-row[data-v-31bf2515]{display:flex;gap:.6rem;align-items:center}.fd-form-section .fd-form-item .fd-color-row input[type=color][data-v-31bf2515]{width:3.6rem;height:3.2rem;padding:.2rem;flex-shrink:0;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);background:var(--fd-color-bg-panel);cursor:pointer}.fd-form-section .fd-form-item .fd-switch[data-v-31bf2515]{margin-top:.6rem}.fd-color-row input[type=text][data-v-31bf2515]{flex:1;min-width:0}.fd-btn--sm[data-v-31bf2515]{height:2.6rem;padding:0 1rem;font-size:1.2rem}.fd-btn--ghost[data-v-31bf2515]{background:transparent;color:var(--fd-color-primary);border:1px solid var(--fd-color-primary)}.fd-btn--ghost[data-v-31bf2515]:hover{background:var(--fd-color-primary-light)}.fd-dialog-mask[data-v-31bf2515]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;display:flex;align-items:center;justify-content:center}.fd-dialog[data-v-31bf2515]{width:min(56rem,92vw);max-height:82vh;display:flex;flex-direction:column;background:var(--fd-color-bg-panel);border-radius:var(--fd-radius-lg);box-shadow:var(--fd-shadow-pop);overflow:hidden}.fd-dialog-head[data-v-31bf2515]{display:flex;align-items:center;gap:1.2rem;padding:1.2rem 1.6rem;border-bottom:1px solid var(--fd-color-border);font-weight:600;font-size:1.5rem}.fd-dialog-head span[data-v-31bf2515]{margin-right:auto}.fd-dialog-close[data-v-31bf2515]{width:3rem;height:3rem;padding:0;font-size:2rem;line-height:1;border:none;border-radius:var(--fd-radius-base);background:transparent;color:var(--fd-color-text-secondary);cursor:pointer}.fd-dialog-close[data-v-31bf2515]:hover{background:var(--fd-color-bg);color:var(--fd-color-text)}.fd-dialog-body[data-v-31bf2515]{padding:1.6rem;overflow:auto}.fd-dialog-foot[data-v-31bf2515]{display:flex;justify-content:flex-end;gap:1rem;padding:1.2rem 1.6rem;border-top:1px solid var(--fd-color-border)}.fd-grid-design[data-v-25511a77]{display:grid;grid-template-columns:repeat(24,1fr);align-items:start}.fd-grid-design.is-mobile[data-v-25511a77]{grid-template-columns:1fr}.fd-grid-render[data-v-417035f9]{display:grid;grid-template-columns:repeat(24,1fr);align-items:start}.fd-grid-render.is-mobile[data-v-417035f9]{grid-template-columns:1fr}.fd-grid-cell[data-v-417035f9]{min-width:0}.fd-grid-cell[data-v-417035f9]>*{margin-bottom:0}.fd-panel[data-v-a333d2ea]{display:flex;flex-direction:column;gap:1.2rem}.fd-panel-item[data-v-a333d2ea]{display:flex;flex-direction:column;gap:.4rem}.fd-panel-item label[data-v-a333d2ea]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-panel-item select[data-v-a333d2ea]{height:3.2rem;padding:0 1rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);font-size:1.4rem;background:var(--fd-color-bg-panel)}.fd-grid-apply[data-v-a333d2ea]{width:100%}.fd-text-design[data-v-ba382e6c],.fd-text-render[data-v-3ed7b0f0]{display:inline-block;padding:.4rem 0;font-size:1.4rem;line-height:1.5;color:var(--fd-color-text);white-space:pre-wrap;word-break:break-word}.fd-panel[data-v-3201879c]{display:flex;flex-direction:column;gap:1.2rem}.fd-panel-item[data-v-3201879c]{display:flex;flex-direction:column;gap:.4rem}.fd-panel-item label[data-v-3201879c]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-panel-item textarea[data-v-3201879c],.fd-panel-item select[data-v-3201879c]{padding:.8rem 1rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);font-size:1.4rem;font-family:inherit;line-height:1.5;background:var(--fd-color-bg-panel)}.fd-panel-item textarea[data-v-3201879c]{resize:vertical}.fd-panel-item select[data-v-3201879c]{height:3.2rem}.fd-renderer[data-v-82088c12]{display:block;padding:1.6rem}.fd-tree[data-v-e38c14ec]{padding:1.2rem;height:100%;overflow:auto;display:flex;flex-direction:column}.fd-tree-head[data-v-e38c14ec]{display:flex;align-items:center;gap:.8rem;padding:0 .4rem .8rem;margin-bottom:.8rem;border-bottom:1px solid var(--fd-color-border);flex-shrink:0}.fd-tree-head-icon[data-v-e38c14ec]{width:1.6rem;height:1.6rem;color:var(--fd-color-primary);flex-shrink:0}.fd-tree-title[data-v-e38c14ec]{font-weight:600;font-size:1.5rem}.fd-tree-count[data-v-e38c14ec]{margin-left:auto;padding:.1rem .7rem;border-radius:1rem;font-size:1.2rem;color:var(--fd-color-text-tertiary);background:var(--fd-color-info-light)}.fd-tree-empty[data-v-e38c14ec]{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:4rem 2rem;color:var(--fd-color-text-tertiary);font-size:1.3rem;text-align:center}.fd-tree-empty svg[data-v-e38c14ec]{width:3.2rem;height:3.2rem;opacity:.6}.fd-tree-el[data-v-e38c14ec]{background:transparent;--el-tree-node-hover-bg-color: transparent}.fd-tree-el[data-v-e38c14ec] .el-tree-node__content{height:auto;min-height:2.8rem;border-radius:var(--fd-radius-base);padding-left:.4rem}.fd-tree-el[data-v-e38c14ec] .el-tree-node__content:hover{background:var(--fd-color-info-light)}.fd-tree-el[data-v-e38c14ec] .el-tree-node.is-current>.el-tree-node__content{background:var(--fd-color-primary-light);color:var(--fd-color-primary)}.fd-tree-el[data-v-e38c14ec] .el-tree-node__expand-icon{color:var(--fd-color-text-tertiary)}.fd-tree-el[data-v-e38c14ec] .el-tree-node.is-current>.el-tree-node__content .el-tree-node__expand-icon{color:var(--fd-color-primary)}.fd-tree-name[data-v-e38c14ec]{font-size:1.3rem}.fd-tree-sub[data-v-e38c14ec]{margin-left:.6rem;color:var(--fd-color-text-tertiary);font-size:1.2rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-tree-node.is-current>.el-tree-node__content .fd-tree-sub[data-v-e38c14ec]{color:var(--fd-color-primary);opacity:.75}.fd-toolbar[data-v-2d05aedb]{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;height:var(--fd-header-height);padding:0 2rem;background:var(--fd-color-bg-panel);border-bottom:1px solid var(--fd-color-border);flex-shrink:0}.fd-toolbar-title[data-v-2d05aedb]{font-weight:600;font-size:1.8rem;color:var(--fd-color-text);white-space:nowrap}.fd-toolbar-left[data-v-2d05aedb]{gap:1.6rem}.fd-toolbar-divider[data-v-2d05aedb]{width:1px;height:2rem;background:var(--fd-color-border);flex-shrink:0}.fd-toolbar-name[data-v-2d05aedb]{height:3.2rem;width:16rem;padding:0 1.2rem;border:1px solid transparent;border-radius:var(--fd-radius-base);background:var(--fd-color-info-light);color:var(--fd-color-text-secondary);font-size:1.4rem;transition:all var(--fd-transition)}.fd-toolbar-name[data-v-2d05aedb]:hover{background:var(--fd-color-bg-panel);border-color:var(--fd-color-primary)}.fd-toolbar-name[data-v-2d05aedb]:focus{outline:none;background:var(--fd-color-bg-panel);border-color:var(--fd-color-primary);box-shadow:0 0 0 .2rem #4c8eff33}.fd-device[data-v-2d05aedb]{display:inline-flex;background:var(--fd-color-info-light);border-radius:.6rem;padding:.2rem}.fd-device button[data-v-2d05aedb]{height:2.8rem;display:inline-flex;align-items:center;gap:.4rem;padding:0 1rem;border:none;background:transparent;border-radius:var(--fd-radius-base);color:var(--fd-color-text-secondary);font-size:1.3rem;cursor:default;white-space:nowrap;transition:all var(--fd-transition)}.fd-device button.is-active[data-v-2d05aedb]{background:var(--fd-color-bg-panel);color:var(--fd-color-primary);box-shadow:var(--fd-shadow-card);font-weight:600}.fd-toolbar-right[data-v-2d05aedb]{gap:.8rem;flex-wrap:nowrap;overflow-x:auto}.fd-tool-btn[data-v-2d05aedb]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:3.4rem;padding:0 1rem;border:none;border-radius:var(--fd-radius-base);background:var(--fd-color-info-light);color:#4a4f59;font-size:1.3rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all var(--fd-transition)}.fd-tool-btn-icon[data-v-2d05aedb]{width:1.4rem;height:1.4rem;flex-shrink:0;display:block}.fd-tool-btn[data-v-2d05aedb]:hover{background:#e8e9eb}.fd-tool-btn[data-v-2d05aedb]:disabled{opacity:.45;cursor:not-allowed}.fd-tool-btn--primary[data-v-2d05aedb]{background:var(--fd-color-primary);color:#fff}.fd-tool-btn--primary[data-v-2d05aedb]:hover{background:var(--fd-color-primary-hover);color:#fff}.fd-tool-icon-btn[data-v-2d05aedb]{width:3.4rem;padding:0}.fd-tool-icon[data-v-2d05aedb]{width:1.8rem;height:1.8rem;display:block}.fd-dialog-mask[data-v-2d05aedb]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;display:flex;align-items:center;justify-content:center}.fd-dialog[data-v-2d05aedb]{width:min(86rem,90vw);max-height:82vh;display:flex;flex-direction:column;background:var(--fd-color-bg-panel);border-radius:var(--fd-radius-lg);box-shadow:var(--fd-shadow-pop);overflow:hidden}.fd-dialog--preview[data-v-2d05aedb]{width:min(128rem,94vw)}.fd-preview-width[data-v-2d05aedb]{display:inline-flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:400;color:var(--fd-color-text-secondary)}.fd-preview-width[data-v-2d05aedb] .el-input-number{width:11rem}.fd-preview-width[data-v-2d05aedb] .el-input-number .el-input__wrapper{background:var(--fd-color-bg);box-shadow:0 0 0 1px var(--fd-color-border) inset}.fd-preview-width[data-v-2d05aedb] .el-input-number .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--fd-color-border-hover) inset}.fd-preview-width[data-v-2d05aedb] .el-input-number .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--fd-color-primary) inset}.fd-preview-width label[data-v-2d05aedb]{white-space:nowrap}.fd-preview-width-unit[data-v-2d05aedb]{color:var(--fd-color-text-tertiary)}.fd-preview-stage[data-v-2d05aedb]{min-width:27rem;max-width:120rem;margin:0 auto}.fd-dialog-head[data-v-2d05aedb]{display:flex;align-items:center;gap:1.2rem;padding:1.2rem 1.6rem;border-bottom:1px solid var(--fd-color-border);font-weight:600;font-size:1.5rem}.fd-dialog-head span[data-v-2d05aedb]{margin-right:auto}.fd-dialog-body[data-v-2d05aedb]{padding:1.6rem;overflow:auto}.fd-dialog-code[data-v-2d05aedb]{margin:0;padding:1.6rem;overflow:auto;font-size:1.2rem;line-height:1.6;color:var(--fd-color-text)}.fd-dialog-import-text[data-v-2d05aedb]{width:100%;min-height:32rem;padding:1.2rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);font-size:1.2rem;line-height:1.6;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:var(--fd-color-bg);color:var(--fd-color-text);resize:vertical}.fd-tree-drawer[data-v-2d05aedb]{position:fixed;top:5.6rem;right:0;bottom:0;width:30rem;z-index:90;background:var(--fd-color-bg-panel);border-left:1px solid var(--fd-color-border);box-shadow:var(--fd-shadow-pop)}.fd-palette[data-v-6a2bab90]{padding:1.2rem;display:flex;flex-direction:column;gap:1.2rem;overflow:auto;height:100%}.fd-palette-title[data-v-6a2bab90]{font-weight:600;font-size:1.4rem;color:var(--fd-color-text);padding:0 .4rem}.fd-palette-group[data-v-6a2bab90]{display:flex;flex-direction:column;gap:.8rem}.fd-palette-group-title[data-v-6a2bab90]{font-size:1.2rem;color:var(--fd-color-text-tertiary);margin-bottom:.2rem;padding-left:.4rem}.fd-palette-item[data-v-6a2bab90]{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid transparent;border-radius:var(--fd-radius-base);background:var(--fd-color-bg-hover);font-size:1.3rem;color:var(--fd-color-text);cursor:grab;-webkit-user-select:none;user-select:none;transition:all var(--fd-transition)}.fd-palette-item[data-v-6a2bab90]:hover{background:var(--fd-color-primary-bg);border-color:var(--fd-color-primary)}.fd-palette-item[data-v-6a2bab90]:active{cursor:grabbing}.fd-palette-icon[data-v-6a2bab90]{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:var(--fd-radius-base);background:var(--fd-color-icon-bg);color:var(--fd-color-icon);font-size:1.3rem;font-weight:600}.fd-form-events[data-v-7e5a3f15]{display:flex;flex-direction:column;gap:1.6rem}.fd-form-meta[data-v-7e5a3f15]{display:flex;flex-direction:column;gap:.4rem;font-size:1.2rem;color:var(--fd-color-text-secondary);padding:.8rem 1rem;background:var(--fd-color-bg);border-radius:var(--fd-radius-base)}.fd-events-section[data-v-7e5a3f15]{display:flex;flex-direction:column;gap:1rem}.fd-events-head[data-v-7e5a3f15]{display:flex;align-items:center;justify-content:space-between}.fd-events-h[data-v-7e5a3f15]{margin:0;font-size:1.4rem;font-weight:600}.fd-events-tip[data-v-7e5a3f15]{margin:0;font-size:1.2rem;color:var(--fd-color-text-tertiary)}.fd-events-empty[data-v-7e5a3f15]{font-size:1.3rem;color:var(--fd-color-text-placeholder);text-align:center;padding:1.2rem;border:1px dashed var(--fd-color-border);border-radius:var(--fd-radius-base)}.fd-event-row[data-v-7e5a3f15]{display:flex;flex-direction:column;gap:.4rem}.fd-event-head[data-v-7e5a3f15]{display:flex;align-items:center;gap:.8rem}.fd-event-row label[data-v-7e5a3f15]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-event-key[data-v-7e5a3f15]{font-size:1.1rem;color:var(--fd-color-primary);background:var(--fd-color-primary-light);padding:.1rem .6rem;border-radius:var(--fd-radius-base)}.fd-event-trigger[data-v-7e5a3f15]{display:flex;align-items:center;gap:.6rem;width:100%;min-height:3.2rem;padding:0 1rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);font-size:1.3rem;background:var(--fd-color-bg-panel);cursor:pointer;transition:border-color var(--fd-transition),background-color var(--fd-transition);overflow:hidden}.fd-event-trigger[data-v-7e5a3f15]:hover{border-color:var(--fd-color-primary);background:var(--fd-color-primary-light)}.fd-event-trigger-text[data-v-7e5a3f15]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fd-color-text);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.fd-event-trigger-placeholder[data-v-7e5a3f15]{flex:1;color:var(--fd-color-text-placeholder)}.fd-event-trigger-arrow[data-v-7e5a3f15]{flex-shrink:0;color:var(--fd-color-text-tertiary);font-size:1.8rem;line-height:1}.fd-custom-card[data-v-7e5a3f15]{display:flex;flex-direction:column;gap:.8rem;padding:1.2rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);background:var(--fd-color-bg)}.fd-custom-head[data-v-7e5a3f15]{display:flex;align-items:center;justify-content:space-between}.fd-custom-index[data-v-7e5a3f15]{font-size:1.3rem;font-weight:600;color:var(--fd-color-text-secondary)}.fd-event-row input[data-v-7e5a3f15]{width:100%;height:3.2rem;font-size:1.4rem;padding:0 1rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);background:var(--fd-color-bg-panel);color:var(--fd-color-text)}.fd-event-row input[data-v-7e5a3f15]:focus{border-color:var(--fd-color-primary);outline:none}.fd-btn[data-v-7e5a3f15]{height:3.2rem;padding:0 1.4rem;border:none;border-radius:var(--fd-radius-base);font-size:1.3rem;cursor:pointer}.fd-btn--sm[data-v-7e5a3f15]{height:2.6rem;padding:0 1rem;font-size:1.2rem}.fd-btn--primary[data-v-7e5a3f15]{background:var(--fd-color-primary);color:#fff}.fd-btn--danger[data-v-7e5a3f15]{background:var(--fd-color-danger-light);color:var(--fd-color-danger)}.fd-dialog-mask[data-v-7e5a3f15]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;display:flex;align-items:center;justify-content:center}.fd-dialog[data-v-7e5a3f15]{width:min(60rem,92vw);max-height:82vh;display:flex;flex-direction:column;background:var(--fd-color-bg-panel);border-radius:var(--fd-radius-lg);box-shadow:var(--fd-shadow-pop);overflow:hidden}.fd-dialog-head[data-v-7e5a3f15]{display:flex;align-items:center;gap:1.2rem;padding:1.2rem 1.6rem;border-bottom:1px solid var(--fd-color-border);font-weight:600;font-size:1.5rem}.fd-dialog-head span[data-v-7e5a3f15]{margin-right:auto}.fd-dialog-close[data-v-7e5a3f15]{width:3rem;height:3rem;padding:0;font-size:2rem;line-height:1;border:none;border-radius:var(--fd-radius-base);background:transparent;color:var(--fd-color-text-secondary);cursor:pointer}.fd-dialog-close[data-v-7e5a3f15]:hover{background:var(--fd-color-bg);color:var(--fd-color-text)}.fd-dialog-body[data-v-7e5a3f15]{padding:1.6rem;overflow:auto}.fd-dialog-foot[data-v-7e5a3f15]{display:flex;justify-content:flex-end;gap:1rem;padding:1.2rem 1.6rem;border-top:1px solid var(--fd-color-border)}.fd-property[data-v-e89617c7]{padding:1.2rem;display:flex;flex-direction:column;gap:1.2rem;height:100%;overflow:auto}.fd-property-title[data-v-e89617c7]{font-weight:600;font-size:1.4rem}.fd-property-empty[data-v-e89617c7]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;color:var(--fd-color-text-secondary);font-size:1.3rem;text-align:center}.fd-property-empty-icon[data-v-e89617c7]{font-size:3.6rem;color:var(--fd-color-border)}.fd-property-foot[data-v-e89617c7]{display:flex;align-items:center;justify-content:space-between;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--fd-color-border)}.fd-property-type[data-v-e89617c7]{font-size:1.2rem;color:var(--fd-color-text-secondary)}.fd-property-item[data-v-e89617c7]{display:flex;flex-direction:column;gap:.4rem}.fd-property-item label[data-v-e89617c7]{font-size:1.3rem;color:var(--fd-color-text-secondary)}.fd-property-item input[data-v-e89617c7],.fd-property-item select[data-v-e89617c7]{height:3.2rem;padding:0 1rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);font-size:1.4rem;background:var(--fd-color-bg-panel)}.fd-btn[data-v-e89617c7]{height:3.2rem;padding:0 1.4rem;border:none;border-radius:var(--fd-radius-base);font-size:1.3rem;cursor:pointer}.fd-btn--danger[data-v-e89617c7]{background:var(--fd-color-danger-light);color:var(--fd-color-danger)}.fd-canvas-node[data-v-3f3a43d3]{position:relative;border-radius:var(--fd-radius-base);cursor:pointer;transition:background-color var(--fd-transition),box-shadow var(--fd-transition),opacity var(--fd-transition)}.fd-canvas-node[data-v-3f3a43d3]:hover{background:var(--fd-color-bg-hover)}.fd-canvas-node.is-selected[data-v-3f3a43d3]{background:var(--fd-color-primary-bg);outline:1px solid var(--fd-color-primary);z-index:1}.fd-canvas-node.drop-before[data-v-3f3a43d3]:before{content:"";position:absolute;left:0;right:0;top:-.15rem;height:.3rem;border-radius:.15rem;background:var(--fd-color-primary);z-index:2}.fd-canvas-node.drop-target[data-v-3f3a43d3]{background:#4c8eff14!important;box-shadow:0 0 0 1px var(--fd-color-primary),0 0 .6rem #4c8eff40}.fd-canvas-node.dragging-source[data-v-3f3a43d3]{opacity:.4}.fd-canvas-node-actions[data-v-3f3a43d3]{position:absolute;top:.6rem;right:.6rem;display:none;gap:.4rem;z-index:5}.fd-canvas-node:hover>.fd-canvas-node-actions[data-v-3f3a43d3]{display:flex}.fd-canvas-node:hover:has(.fd-canvas-node:hover)>.fd-canvas-node-actions[data-v-3f3a43d3]{display:none}.fd-node-action[data-v-3f3a43d3]{width:2.6rem;height:2.6rem;display:flex;align-items:center;justify-content:center;background:var(--fd-color-bg-panel);border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);cursor:pointer;color:var(--fd-color-text-tertiary);transition:all var(--fd-transition)}.fd-node-icon[data-v-3f3a43d3]{width:1.4rem;height:1.4rem;display:block}.fd-node-action[data-v-3f3a43d3]:hover{background:var(--fd-color-bg-hover);border-color:var(--fd-color-border-hover);color:var(--fd-color-primary)}.fd-node-action.delete[data-v-3f3a43d3]:hover{color:var(--fd-color-danger)}.fd-canvas-dropzone[data-v-3f3a43d3]{grid-column:1 / -1;border:1px dashed var(--fd-color-border);border-radius:var(--fd-radius-base);padding:.8rem;text-align:center;color:var(--fd-color-text-tertiary);font-size:1.2rem;margin-top:.6rem}.fd-designer[data-v-2f9ce87a]{display:flex;flex-direction:column;height:100vh}.fd-designer-body[data-v-2f9ce87a]{flex:1;display:flex;min-height:0}.fd-designer-left[data-v-2f9ce87a]{width:var(--fd-sidebar-width);border-right:1px solid var(--fd-color-border);background:var(--fd-color-bg-panel);overflow:hidden}.fd-designer-center[data-v-2f9ce87a]{flex:1;padding:2.4rem;overflow:auto;background:var(--fd-color-bg)}.fd-canvas[data-v-2f9ce87a]{width:100%;max-width:var(--fd-canvas-max);min-height:calc(100vh - 16rem);margin:0 auto;padding:1.6rem;background:var(--fd-color-bg-panel);border-radius:var(--fd-radius-lg);box-shadow:var(--fd-shadow-card)}.fd-canvas.is-mobile[data-v-2f9ce87a]{max-width:37.5rem}.fd-canvas.is-selected[data-v-2f9ce87a]{outline:2px solid var(--fd-color-primary);outline-offset:-2px}.fd-canvas-empty[data-v-2f9ce87a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8rem 2.4rem;color:var(--fd-color-text-tertiary)}.fd-canvas-empty-icon[data-v-2f9ce87a]{font-size:4.8rem;margin-bottom:1.6rem;color:var(--fd-color-text-placeholder)}.fd-canvas-empty span[data-v-2f9ce87a]:last-child{font-size:1.4rem}.fd-designer-right[data-v-2f9ce87a]{width:var(--fd-property-width);border-left:1px solid var(--fd-color-border);background:var(--fd-color-bg-panel)}:root{--fd-color-primary: #4c8eff;--fd-color-primary-hover: #3a7de8;--fd-color-primary-active: #2a6bd6;--fd-color-primary-light: #e8f1ff;--fd-color-primary-bg: #f0f6ff;--fd-color-danger: #f5523a;--fd-color-danger-light: #fef0ed;--fd-color-warning: #ff9900;--fd-color-warning-light: #fff8eb;--fd-color-info: #646a78;--fd-color-info-light: #f2f3f5;--fd-color-text: #344054;--fd-color-text-secondary: #667085;--fd-color-text-tertiary: #8a8f99;--fd-color-text-placeholder: #c9cdd4;--fd-color-border: #e5e6e8;--fd-color-border-hover: #c9cdd4;--fd-color-bg: #f5f6f7;--fd-color-bg-panel: #ffffff;--fd-color-bg-hover: #f8fafc;--fd-color-bg-active: #e8f1ff;--fd-color-bg-mask: rgba(0, 0, 0, .5);--fd-color-icon-bg: #e8f1ff;--fd-color-icon: #4c8eff;--fd-color-required: #f5523a;--fd-radius-base: .4rem;--fd-radius-lg: .8rem;--fd-shadow-card: 0 1px 3px rgba(0, 0, 0, .08);--fd-shadow-pop: 0 8px 24px rgba(0, 0, 0, .16);--fd-gap-base: 1.2rem;--fd-transition: .2s ease-in-out;--fd-header-height: 5.6rem;--fd-sidebar-width: 24rem;--fd-property-width: 30rem;--fd-canvas-max: 120rem}[data-theme=dark]{--fd-color-primary: #4c8eff;--fd-color-primary-hover: #5e9eff;--fd-color-primary-active: #3a7be8;--fd-color-primary-light: #1a3a5e;--fd-color-primary-bg: #1a2a4e;--fd-color-danger: #f5523a;--fd-color-danger-light: #3a1a1a;--fd-color-warning: #ff9900;--fd-color-warning-light: #3a2a0a;--fd-color-info: #b0b0b0;--fd-color-info-light: #333333;--fd-color-text: #344054;--fd-color-text-secondary: #667085;--fd-color-text-tertiary: #8a8a8a;--fd-color-text-placeholder: #6a6a6a;--fd-color-border: #3a3a3a;--fd-color-border-hover: #5a5a5a;--fd-color-bg: #1a1a1a;--fd-color-bg-panel: #2a2a2a;--fd-color-bg-hover: #333333;--fd-color-bg-active: #1a3a5e;--fd-color-bg-mask: rgba(0, 0, 0, .7);--fd-color-icon-bg: #1e293b;--fd-color-icon: #93c5fd;--fd-color-required: #f5523a;--fd-shadow-card: 0 1px 3px rgba(0, 0, 0, .4);--fd-shadow-pop: 0 8px 24px rgba(0, 0, 0, .6)}html{font-size:10px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.4rem;color:var(--fd-color-text);background:var(--fd-color-bg)}*,*:before,*:after{box-sizing:border-box}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-align-center{display:flex;align-items:center}.flex-justify-between{display:flex;align-items:center;justify-content:space-between}.flex-1{flex:1}.fd-form-row{display:flex;flex-wrap:wrap;gap:var(--fd-gap-base)}.fd-form-col{display:flex;flex-direction:column;gap:var(--fd-gap-base)}.fd-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;height:3.4rem;padding:0 2rem;border:none;border-radius:var(--fd-radius-base);font-size:1.4rem;cursor:pointer;color:#fff;background:var(--fd-color-primary);transition:background var(--fd-transition)}.fd-btn--primary{background:var(--fd-color-primary)}.fd-btn--primary:hover{background:var(--fd-color-primary-hover)}.fd-btn--danger{background:var(--fd-color-danger-light);color:var(--fd-color-danger)}.fd-btn--warning{background:var(--fd-color-warning-light);color:var(--fd-color-warning)}.fd-btn--info{background:var(--fd-color-info-light);color:var(--fd-color-info)}.fd-btn:disabled{opacity:.5;cursor:not-allowed}input:not([type=file]):not(.fd-toolbar-name):not(.el-select__input):not(.el-input__inner),select,textarea{display:block;width:100%;height:3.4rem;padding:0 1rem;font-family:inherit;font-size:1.4rem;line-height:1.4;color:var(--fd-color-text);background:var(--fd-color-bg-panel);border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);outline:none;transition:border-color var(--fd-transition),box-shadow var(--fd-transition)}textarea{height:auto;min-height:8rem;padding:.8rem 1rem;resize:vertical}input:not([type=file]):not(.fd-toolbar-name):not(.el-select__input):not(.el-input__inner):hover,select:hover,textarea:hover{border-color:var(--fd-color-border-hover)}input:not([type=file]):not(.fd-toolbar-name):not(.el-select__input):not(.el-input__inner):focus,select:focus,textarea:focus{border-color:var(--fd-color-primary);box-shadow:0 0 0 2px var(--fd-color-primary-light)}input::placeholder,textarea::placeholder{color:var(--fd-color-text-placeholder)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%238a8f99' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.8rem}.monaco-editor textarea,.monaco-editor input{display:inline;width:auto;height:auto;min-height:0;padding:0;border:none;border-radius:0;box-shadow:none;background:transparent;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.fd-canvas>*+*,.fd-card-body>*+*,.fd-renderer>*+*{margin-top:var(--fd-gap-base)}.fd-canvas>.fd-canvas-node--label+.fd-canvas-node--label,.fd-card-body>.fd-canvas-node--label+.fd-canvas-node--label,.fd-renderer>.fd-label-render+.fd-label-render,.fd-card-body>.fd-label-render+.fd-label-render{margin-top:-1px}.fd-canvas>.fd-canvas-node--label+.fd-canvas-node--label>.fd-label-design,.fd-card-body>.fd-canvas-node--label+.fd-canvas-node--label>.fd-label-design,.fd-renderer>.fd-label-render+.fd-label-render,.fd-card-body>.fd-label-render+.fd-label-render{border-top-left-radius:0;border-top-right-radius:0}.fd-canvas>.fd-canvas-node--label:not(:last-child)>.fd-label-design,.fd-card-body>.fd-canvas-node--label:not(:last-child)>.fd-label-design,.fd-renderer>.fd-label-render:not(:last-child),.fd-card-body>.fd-label-render:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-grid-design>*,.fd-grid-render>*{margin-top:0;margin-bottom:0}.fd-grid-design>.fd-canvas-node--label,.fd-grid-render>.fd-grid-cell:has(.fd-label-render){margin-left:-1px;margin-top:-1px}.fd-grid-design.is-mobile>.fd-canvas-node--label+.fd-canvas-node--label,.fd-grid-render.is-mobile>.fd-grid-cell:has(.fd-label-render)+.fd-grid-cell:has(.fd-label-render){margin-left:0}.fd-grid-design>.fd-canvas-node--label>.fd-label-design,.fd-grid-render>.fd-grid-cell>.fd-label-render{border-radius:0}.fd-grid-design>.fd-canvas-node--label.is-g-corner-tl>.fd-label-design,.fd-grid-render>.fd-grid-cell.is-g-corner-tl>.fd-label-render{border-top-left-radius:1rem}.fd-grid-design>.fd-canvas-node--label.is-g-corner-tr>.fd-label-design,.fd-grid-render>.fd-grid-cell.is-g-corner-tr>.fd-label-render{border-top-right-radius:1rem}.fd-grid-design>.fd-canvas-node--label.is-g-corner-bl>.fd-label-design,.fd-grid-render>.fd-grid-cell.is-g-corner-bl>.fd-label-render{border-bottom-left-radius:1rem}.fd-grid-design>.fd-canvas-node--label.is-g-corner-br>.fd-label-design,.fd-grid-render>.fd-grid-cell.is-g-corner-br>.fd-label-render{border-bottom-right-radius:1rem}.fd-grid-design>.fd-canvas-node--label,.fd-grid-render>.fd-grid-cell:has(>.fd-label-render){align-self:stretch}.fd-grid-design>.fd-canvas-node--label>.fd-label-design,.fd-grid-render>.fd-grid-cell:has(>.fd-label-render)>.fd-label-render{height:100%}.fd-grid-design.is-mobile>.fd-canvas-node--label+.fd-canvas-node--label,.fd-grid-render.is-mobile>.fd-grid-cell:has(.fd-label-render)+.fd-grid-cell:has(.fd-label-render){margin-top:-1px}.fd-grid-design.is-mobile>.fd-canvas-node--label+.fd-canvas-node--label>.fd-label-design,.fd-grid-render.is-mobile>.fd-grid-cell:has(.fd-label-render)+.fd-grid-cell:has(.fd-label-render)>.fd-label-render{border-top-left-radius:0;border-top-right-radius:0}.fd-grid-design.is-mobile>.fd-canvas-node--label:not(:last-child)>.fd-label-design,.fd-grid-render.is-mobile>.fd-grid-cell:has(.fd-label-render):not(:last-child)>.fd-label-render{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-code-editor[data-v-aeb9c1ee]{width:100%;height:32rem;border:1px solid var(--fd-color-border);border-radius:var(--fd-radius-base);overflow:hidden}
|