@cniot/mdd-editor 0.3.4 → 0.3.5
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 +6 -0
- package/build/index.cjs.js +21 -21
- package/build/index.es.js +122 -4
- package/build/style.css +1 -1
- package/package.json +1 -1
- package/src/ai/LocalAIDrawer.jsx +112 -2
- package/src/ai/bridgeClient.js +6 -0
package/build/index.es.js
CHANGED
|
@@ -30247,6 +30247,11 @@ function pullPage(baseURL, code) {
|
|
|
30247
30247
|
method: "GET"
|
|
30248
30248
|
});
|
|
30249
30249
|
}
|
|
30250
|
+
function rollbackPage(baseURL, code) {
|
|
30251
|
+
return request(baseURL, `/pages/${encodeURIComponent(code)}/rollback`, {
|
|
30252
|
+
method: "POST"
|
|
30253
|
+
});
|
|
30254
|
+
}
|
|
30250
30255
|
function getPageStatus(baseURL, code) {
|
|
30251
30256
|
return request(baseURL, `/pages/${encodeURIComponent(code)}/status`, {
|
|
30252
30257
|
method: "GET"
|
|
@@ -30486,13 +30491,90 @@ const getChangeTypeText = (type) => {
|
|
|
30486
30491
|
return type || "\u4FEE\u6539";
|
|
30487
30492
|
}
|
|
30488
30493
|
};
|
|
30494
|
+
const TOKEN_PATTERN = /(\/\/.*|\/\*.*?\*\/|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|`(?:\\.|[^`\\])*`|\b(?:async|await|break|case|catch|class|const|default|else|export|false|finally|for|from|function|if|import|let|new|null|return|switch|throw|true|try|undefined|var|while)\b|\b\d+(?:\.\d+)?\b|[#.][a-zA-Z_-][\w-]*|@[a-zA-Z-]+|[{}()[\],;:])/g;
|
|
30495
|
+
const getTokenClassName = (token, language) => {
|
|
30496
|
+
if (/^\/\//.test(token) || /^\/\*/.test(token))
|
|
30497
|
+
return "tok-comment";
|
|
30498
|
+
if (/^["'`]/.test(token))
|
|
30499
|
+
return language === "json" && token.endsWith('"') ? "tok-string" : "tok-string";
|
|
30500
|
+
if (/^\d/.test(token))
|
|
30501
|
+
return "tok-number";
|
|
30502
|
+
if (/^(#|\.|@)/.test(token))
|
|
30503
|
+
return "tok-selector";
|
|
30504
|
+
if (/^[{}()[\],;:]$/.test(token))
|
|
30505
|
+
return "tok-punc";
|
|
30506
|
+
return "tok-keyword";
|
|
30507
|
+
};
|
|
30508
|
+
const renderHighlightedCode = (line = "", language = "text") => {
|
|
30509
|
+
if (!line)
|
|
30510
|
+
return /* @__PURE__ */ React$1.createElement("span", {
|
|
30511
|
+
className: "tok-empty"
|
|
30512
|
+
}, "\xA0");
|
|
30513
|
+
const nodes = [];
|
|
30514
|
+
let lastIndex = 0;
|
|
30515
|
+
let match = TOKEN_PATTERN.exec(line);
|
|
30516
|
+
while (match) {
|
|
30517
|
+
if (match.index > lastIndex) {
|
|
30518
|
+
nodes.push(line.slice(lastIndex, match.index));
|
|
30519
|
+
}
|
|
30520
|
+
const token = match[0];
|
|
30521
|
+
nodes.push(
|
|
30522
|
+
/* @__PURE__ */ React$1.createElement("span", {
|
|
30523
|
+
className: getTokenClassName(token, language),
|
|
30524
|
+
key: `${match.index}-${token}`
|
|
30525
|
+
}, token)
|
|
30526
|
+
);
|
|
30527
|
+
lastIndex = match.index + token.length;
|
|
30528
|
+
match = TOKEN_PATTERN.exec(line);
|
|
30529
|
+
}
|
|
30530
|
+
if (lastIndex < line.length) {
|
|
30531
|
+
nodes.push(line.slice(lastIndex));
|
|
30532
|
+
}
|
|
30533
|
+
TOKEN_PATTERN.lastIndex = 0;
|
|
30534
|
+
return nodes;
|
|
30535
|
+
};
|
|
30536
|
+
function SideBySideDiff({ files = [] }) {
|
|
30537
|
+
if (!files.length)
|
|
30538
|
+
return null;
|
|
30539
|
+
return /* @__PURE__ */ React$1.createElement("div", {
|
|
30540
|
+
className: "mdd-local-ai-side-diff"
|
|
30541
|
+
}, files.map((file) => {
|
|
30542
|
+
var _a2, _b2;
|
|
30543
|
+
return /* @__PURE__ */ React$1.createElement("div", {
|
|
30544
|
+
className: "mdd-local-ai-side-file",
|
|
30545
|
+
key: file.fileName
|
|
30546
|
+
}, /* @__PURE__ */ React$1.createElement("div", {
|
|
30547
|
+
className: "mdd-local-ai-side-file-head"
|
|
30548
|
+
}, /* @__PURE__ */ React$1.createElement("span", null, file.fileName), /* @__PURE__ */ React$1.createElement("span", null, "-", ((_a2 = file.stats) == null ? void 0 : _a2.removed) || 0, " / +", ((_b2 = file.stats) == null ? void 0 : _b2.added) || 0)), /* @__PURE__ */ React$1.createElement("div", {
|
|
30549
|
+
className: "mdd-local-ai-side-grid"
|
|
30550
|
+
}, /* @__PURE__ */ React$1.createElement("div", {
|
|
30551
|
+
className: "mdd-local-ai-side-col-head"
|
|
30552
|
+
}, "\u4E0A\u6B21\u53D1\u9001"), /* @__PURE__ */ React$1.createElement("div", {
|
|
30553
|
+
className: "mdd-local-ai-side-col-head"
|
|
30554
|
+
}, "\u672C\u5730\u4FEE\u6539"), (file.rows || []).map((row, index2) => {
|
|
30555
|
+
var _a3, _b3, _c2, _d;
|
|
30556
|
+
return /* @__PURE__ */ React$1.createElement(React$1.Fragment, {
|
|
30557
|
+
key: `${file.fileName}-${index2}`
|
|
30558
|
+
}, /* @__PURE__ */ React$1.createElement("div", {
|
|
30559
|
+
className: `mdd-local-ai-side-cell is-before is-${row.type}`
|
|
30560
|
+
}, /* @__PURE__ */ React$1.createElement("span", {
|
|
30561
|
+
className: "mdd-local-ai-side-line"
|
|
30562
|
+
}, ((_a3 = row.before) == null ? void 0 : _a3.lineNumber) || ""), /* @__PURE__ */ React$1.createElement("code", null, renderHighlightedCode(((_b3 = row.before) == null ? void 0 : _b3.content) || "", file.language))), /* @__PURE__ */ React$1.createElement("div", {
|
|
30563
|
+
className: `mdd-local-ai-side-cell is-after is-${row.type}`
|
|
30564
|
+
}, /* @__PURE__ */ React$1.createElement("span", {
|
|
30565
|
+
className: "mdd-local-ai-side-line"
|
|
30566
|
+
}, ((_c2 = row.after) == null ? void 0 : _c2.lineNumber) || ""), /* @__PURE__ */ React$1.createElement("code", null, renderHighlightedCode(((_d = row.after) == null ? void 0 : _d.content) || "", file.language))));
|
|
30567
|
+
})));
|
|
30568
|
+
}));
|
|
30569
|
+
}
|
|
30489
30570
|
function PullDiffDetail({ diffSummary }) {
|
|
30490
30571
|
var _a2, _b2, _c2, _d, _e, _f, _g, _h;
|
|
30491
30572
|
if (!(diffSummary == null ? void 0 : diffSummary.hasBaseline))
|
|
30492
30573
|
return null;
|
|
30493
30574
|
const schemaChanges = ((_a2 = diffSummary.schema) == null ? void 0 : _a2.changes) || ((_b2 = diffSummary.schema) == null ? void 0 : _b2.paths) || [];
|
|
30494
30575
|
const diffText = diffSummary.diffText || "";
|
|
30495
|
-
const
|
|
30576
|
+
const diffFiles = diffSummary.diffFiles || [];
|
|
30577
|
+
const hasDetail = schemaChanges.length > 0 || ((_c2 = diffSummary.script) == null ? void 0 : _c2.changed) || ((_d = diffSummary.style) == null ? void 0 : _d.changed) || diffText || diffFiles.length;
|
|
30496
30578
|
if (!hasDetail)
|
|
30497
30579
|
return null;
|
|
30498
30580
|
return /* @__PURE__ */ React$1.createElement("details", {
|
|
@@ -30519,7 +30601,9 @@ function PullDiffDetail({ diffSummary }) {
|
|
|
30519
30601
|
className: "mdd-local-ai-diff-section"
|
|
30520
30602
|
}, /* @__PURE__ */ React$1.createElement("div", {
|
|
30521
30603
|
className: "mdd-local-ai-diff-title"
|
|
30522
|
-
}, "Style \u6539\u52A8"), /* @__PURE__ */ React$1.createElement("div", null, diffSummary.style.message)) : null,
|
|
30604
|
+
}, "Style \u6539\u52A8"), /* @__PURE__ */ React$1.createElement("div", null, diffSummary.style.message)) : null, diffFiles.length ? /* @__PURE__ */ React$1.createElement(SideBySideDiff, {
|
|
30605
|
+
files: diffFiles
|
|
30606
|
+
}) : null, !diffFiles.length && diffText ? /* @__PURE__ */ React$1.createElement("pre", {
|
|
30523
30607
|
className: "mdd-local-ai-diff-pre"
|
|
30524
30608
|
}, diffText) : null));
|
|
30525
30609
|
}
|
|
@@ -30665,6 +30749,37 @@ function LocalAIDrawer(props) {
|
|
|
30665
30749
|
setLoadingAction("");
|
|
30666
30750
|
}
|
|
30667
30751
|
};
|
|
30752
|
+
const handleRollback = async () => {
|
|
30753
|
+
const confirmed = window.confirm(
|
|
30754
|
+
"\u786E\u8BA4\u56DE\u6EDA\u5230\u4E0A\u6B21\u201C\u53D1\u9001\u5230\u672C\u5730 AI\u201D\u65F6\u7684\u7EBF\u4E0A\u57FA\u7EBF\u5417\uFF1F\u56DE\u6EDA\u4F1A\u5148\u66F4\u65B0\u5F53\u524D\u7F16\u8F91\u5668\u5185\u5BB9\uFF0C\u786E\u8BA4\u9884\u89C8\u540E\u8FD8\u9700\u8981\u4F7F\u7528\u539F\u4FDD\u5B58\u6309\u94AE\u63D0\u4EA4\u5230\u7EBF\u4E0A\u3002"
|
|
30755
|
+
);
|
|
30756
|
+
if (!confirmed)
|
|
30757
|
+
return;
|
|
30758
|
+
setLoadingAction("rollback");
|
|
30759
|
+
setPullError(null);
|
|
30760
|
+
try {
|
|
30761
|
+
const res = await rollbackPage(baseURL, pageCode);
|
|
30762
|
+
const nextSchema = parseSchema(res == null ? void 0 : res.schemaInfo);
|
|
30763
|
+
const nextScriptInfo = {
|
|
30764
|
+
script: (res == null ? void 0 : res.scriptInfo) || "",
|
|
30765
|
+
style: (res == null ? void 0 : res.style) || ""
|
|
30766
|
+
};
|
|
30767
|
+
applySchemaToEditor(schema, nextSchema);
|
|
30768
|
+
schema.emit(EVENT_KEY.SCRIPT_UPDATE, nextScriptInfo);
|
|
30769
|
+
onApply == null ? void 0 : onApply({
|
|
30770
|
+
schemaJson: nextSchema,
|
|
30771
|
+
scriptInfo: nextScriptInfo,
|
|
30772
|
+
raw: res
|
|
30773
|
+
});
|
|
30774
|
+
setLastSummary((res == null ? void 0 : res.summary) || "\u5DF2\u56DE\u6EDA\u5230\u4E0A\u6B21\u53D1\u9001\u5230\u672C\u5730 AI \u65F6\u7684\u57FA\u7EBF");
|
|
30775
|
+
setLastDiffSummary(null);
|
|
30776
|
+
CnMessage.success("\u5DF2\u56DE\u6EDA\u4E0A\u6B21 AI \u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u540E\u4FDD\u5B58");
|
|
30777
|
+
} catch (e) {
|
|
30778
|
+
CnMessage.error(e.message || "\u56DE\u6EDA\u4E0A\u6B21\u66F4\u6539\u5931\u8D25");
|
|
30779
|
+
} finally {
|
|
30780
|
+
setLoadingAction("");
|
|
30781
|
+
}
|
|
30782
|
+
};
|
|
30668
30783
|
const handleStatus = async () => {
|
|
30669
30784
|
setLoadingAction("status");
|
|
30670
30785
|
try {
|
|
@@ -30759,7 +30874,10 @@ function LocalAIDrawer(props) {
|
|
|
30759
30874
|
}, "\u67E5\u770B\u72B6\u6001"), /* @__PURE__ */ React$1.createElement(CnButton, {
|
|
30760
30875
|
loading: loadingAction === "open",
|
|
30761
30876
|
onClick: handleOpen
|
|
30762
|
-
}, "\u6253\u5F00\u76EE\u5F55")
|
|
30877
|
+
}, "\u6253\u5F00\u76EE\u5F55"), /* @__PURE__ */ React$1.createElement(CnButton, {
|
|
30878
|
+
loading: loadingAction === "rollback",
|
|
30879
|
+
onClick: handleRollback
|
|
30880
|
+
}, "\u56DE\u6EDA\u4E0A\u6B21\u66F4\u6539"))), /* @__PURE__ */ React$1.createElement("div", {
|
|
30763
30881
|
className: "mdd-local-ai-section"
|
|
30764
30882
|
}, /* @__PURE__ */ React$1.createElement("div", {
|
|
30765
30883
|
className: "mdd-local-ai-section-title"
|
|
@@ -31331,7 +31449,7 @@ function getDefaultIndexStyle() {
|
|
|
31331
31449
|
`;
|
|
31332
31450
|
}
|
|
31333
31451
|
const name = "@cniot/mdd-editor";
|
|
31334
|
-
const version = "0.3.
|
|
31452
|
+
const version = "0.3.5";
|
|
31335
31453
|
const description = "\u6A21\u578B\u9A71\u52A8\u7F16\u8F91\u5668";
|
|
31336
31454
|
const scripts = {
|
|
31337
31455
|
build: "vite build"
|
package/build/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.monaco-clone-btn{position:absolute;right:10px;top:10px;z-index:101;display:none}.monaco-container{min-height:400px}.form-item-exart-abs{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;position:absolute;top:0;right:0;font-size:12px}.help-link{margin-left:20px}.handle-by-source-code{color:#00f;margin-left:5px}.handle-by-source-code-tip{color:#aaa;margin-left:5px}.ajax-schema-form-container{display:flex}.data-source-item{margin:0 0 15px;padding:3px;border:1px solid #000;border-radius:4px;border-color:#49cc90;background-color:#49cc9033;display:flex;align-items:center;cursor:pointer}.data-source-item:hover{box-shadow:0 0 5px #49cc90}.data-source-item .method{font-size:14px;font-weight:700;padding:3px 5px;text-align:center;border-radius:3px;background:#000;font-family:sans-serif;color:#fff;background:#1cce75}.data-source-item .host{font-weight:700;margin-left:5px}.data-source-item .url{font-weight:700;margin-left:10px;overflow:hidden;text-overflow:ellipsis}.data-source-item .description{margin-left:10px}.kv-table .table-operation-row{font-size:12px;margin-top:5px;display:flex;justify-content:space-between}.kv-table .table-operation-row .fast-select{width:200px}._dsType_mxilv_1{margin-bottom:10px}._dsJSONContent_mxilv_5{margin-top:10px}._dsJSONContent_mxilv_5 ._dsJSONContentTip_mxilv_8{margin-top:6px;font-weight:700}._dsAjaxContent_mxilv_13{margin-top:10px}._dsTitle_mxilv_17{font-weight:700;margin-top:10px}._actionButton_mxilv_22{margin-bottom:8px}._watchContainer_mxilv_26{display:flex;align-items:center;margin-top:10px}._dsTitleWatch_mxilv_32{margin-right:8px;font-weight:700}._staticValueOkBtn_mxilv_37{margin-left:4px}._tableDeleteBtn_mxilv_41{margin-left:8px}._secondConfirm_mxilv_45{margin-top:10px}._dsType_1islj_1{margin-bottom:10px}._dsJSONContent_1islj_5{margin-top:10px}._dsJSONContent_1islj_5 ._dsJSONContentTip_1islj_8{margin-top:6px;font-weight:700}._dsTitle_1islj_13{font-weight:700;margin-top:10px}._actionButton_1islj_18{margin-bottom:8px}._watchContainer_1islj_22{display:flex;align-items:center;margin-top:10px}._dsTitleWatch_1islj_28{margin-right:8px;font-weight:700}._staticValueOkBtn_1islj_33{margin-left:4px}._tableDeleteBtn_1islj_37{margin-left:8px}._secondConfirm_1islj_41{margin-top:10px}@charset "UTF-8";.next-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;top:0;margin:-1px}.next-select{box-sizing:border-box}.next-select *,.next-select *:before,.next-select *:after{box-sizing:border-box}.next-select{display:inline-block;position:relative;font-size:0;vertical-align:middle}.next-select-trigger{min-width:100px;outline:0;transition:all .1s linear}.next-select-trigger .next-input-label{flex:0 0 auto;width:auto}.next-select-trigger .next-select-values{display:block;width:100%;flex:1 1 0;overflow:hidden}.next-select-trigger .next-select-values>em{font-style:inherit}.next-select-trigger .next-select-values input{padding-left:0;padding-right:0}.next-select-trigger .next-input-control{flex:0 0 auto;width:auto}.next-select-trigger .next-input-control>*{display:inline-block;width:auto}.next-select-trigger .next-input-control>.next-select-arrow{padding-right:0}.next-select-trigger .next-input.next-disabled em{color:#ccc}.next-select-trigger .next-input.next-disabled .next-select-arrow{cursor:not-allowed}.next-select-trigger .next-select-clear{display:none}.next-select-trigger.next-has-clear:hover .next-select-clear{display:inline-block}.next-select-trigger.next-has-clear:hover .next-select-arrow{display:none}.next-select .next-select-inner{display:inline-flex;align-items:center;width:100%;min-width:100px;outline:0;color:#333}.next-select .next-select-inner .next-tag{line-height:1;margin-right:4px;margin-bottom:3px;padding-left:0;padding-right:0}.next-select .next-select-inner .next-input-inner{width:auto}.next-select-trigger-search{position:relative;display:inline-block;vertical-align:top;overflow:hidden;width:100%;max-width:100%}.next-select-trigger-search>input,.next-select-trigger-search>span{display:block;font-size:inherit;font-family:inherit;letter-spacing:inherit;white-space:nowrap;overflow:hidden}.next-select-trigger-search input{position:absolute;background-color:transparent;width:100%;height:100%!important;z-index:1;left:0;border:0;outline:0;margin:0;padding:0;cursor:inherit}.next-select-trigger-search>span{position:relative;visibility:hidden;white-space:pre;max-width:100%;z-index:-1}.next-select-single.next-no-search{cursor:pointer}.next-select-single.next-has-search.next-active .next-select-values>em{display:none}.next-select-single.next-no-search .next-select-values>em+.next-select-trigger-search,.next-select-single.next-inactive .next-select-values>em+.next-select-trigger-search{width:1px;opacity:0;filter:alpha(opacity=0)}.next-select-single .next-select-values{display:inline-flex;align-items:center}.next-select-single .next-select-values>em{vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-select-multiple .next-select-compact{position:relative;white-space:nowrap}.next-select-multiple .next-select-compact .next-select-trigger-search{width:auto}.next-select-multiple .next-select-compact .next-select-tag-compact{position:absolute;top:0;right:0;z-index:1;padding:0 4px 0 16px;color:#333;background:linear-gradient(90deg,transparent,#FFFFFF 10px)}.next-select-multiple .next-disabled .next-select-tag-compact{background:linear-gradient(90deg,transparent,#F7F8FA 10px)}.next-select-multiple .next-select-values,.next-select-tag .next-select-values{margin-bottom:-3px;height:auto!important}.next-select-multiple .next-select-trigger-search,.next-select-tag .next-select-trigger-search{margin-bottom:3px}.next-select-multiple .next-tag+.next-select-trigger-search,.next-select-tag .next-tag+.next-select-trigger-search{width:auto;min-width:1px}.next-select-multiple .next-input,.next-select-tag .next-input{height:auto;align-items:start}.next-select-multiple.next-small .next-select-values,.next-select-tag.next-small .next-select-values{min-height:18px;padding-top:2px;padding-bottom:2px;line-height:14px}.next-select-multiple.next-small .next-select-values-compact,.next-select-tag.next-small .next-select-values-compact{height:20px!important}.next-select-multiple.next-small .next-tag,.next-select-tag.next-small .next-tag{border:0;padding-top:0;padding-bottom:0;height:14px}.next-select-multiple.next-small .next-tag .next-tag-body,.next-select-multiple.next-small .next-tag .next-tag-close-btn,.next-select-tag.next-small .next-tag .next-tag-body,.next-select-tag.next-small .next-tag .next-tag-close-btn,.next-select-multiple.next-small .next-tag-body,.next-select-tag.next-small .next-tag-body{line-height:14px}.next-select-multiple.next-small .next-input-label,.next-select-multiple.next-small .next-input-inner,.next-select-multiple.next-small .next-input-control,.next-select-multiple.next-small .next-select-tag-compact,.next-select-tag.next-small .next-input-label,.next-select-tag.next-small .next-input-inner,.next-select-tag.next-small .next-input-control,.next-select-tag.next-small .next-select-tag-compact{line-height:18px}.next-select-multiple.next-medium .next-select-values,.next-select-tag.next-medium .next-select-values{min-height:26px;padding-top:3px;padding-bottom:3px;line-height:20px}.next-select-multiple.next-medium .next-select-values-compact,.next-select-tag.next-medium .next-select-values-compact{height:28px!important}.next-select-multiple.next-medium .next-tag,.next-select-tag.next-medium .next-tag{padding-top:1px;padding-bottom:1px;height:20px}.next-select-multiple.next-medium .next-tag .next-tag-body,.next-select-multiple.next-medium .next-tag .next-tag-close-btn,.next-select-tag.next-medium .next-tag .next-tag-body,.next-select-tag.next-medium .next-tag .next-tag-close-btn{line-height:18px}.next-select-multiple.next-medium .next-input-label,.next-select-multiple.next-medium .next-input-inner,.next-select-multiple.next-medium .next-input-control,.next-select-multiple.next-medium .next-select-tag-compact,.next-select-tag.next-medium .next-input-label,.next-select-tag.next-medium .next-input-inner,.next-select-tag.next-medium .next-input-control,.next-select-tag.next-medium .next-select-tag-compact{line-height:26px}.next-select-multiple.next-large .next-select-values,.next-select-tag.next-large .next-select-values{min-height:38px;padding-top:7px;padding-bottom:7px;line-height:24px}.next-select-multiple.next-large .next-select-values-compact,.next-select-tag.next-large .next-select-values-compact{height:40px!important}.next-select-multiple.next-large .next-tag,.next-select-tag.next-large .next-tag{padding-top:3px;padding-bottom:3px;height:24px}.next-select-multiple.next-large .next-tag .next-tag-body,.next-select-multiple.next-large .next-tag .next-tag-close-btn,.next-select-tag.next-large .next-tag .next-tag-body,.next-select-tag.next-large .next-tag .next-tag-close-btn{line-height:18px}.next-select-multiple.next-large .next-input-label,.next-select-multiple.next-large .next-input-inner,.next-select-multiple.next-large .next-input-control,.next-select-multiple.next-large .next-select-tag-compact,.next-select-tag.next-large .next-input-label,.next-select-tag.next-large .next-input-inner,.next-select-tag.next-large .next-input-control,.next-select-tag.next-large .next-select-tag-compact{line-height:38px}.next-select-auto-complete{width:160px}.next-select-auto-complete .next-input{width:100%}.next-select-auto-complete .next-input .next-input-hint-wrap{padding-right:1px}.next-select-auto-complete .next-input .next-select-arrow{padding-left:0}.next-select.next-active .next-select-arrow .next-icon-arrow-down{transform:rotate(180deg)}.next-select .next-select-unfold-icon:before{content:""}.next-select-symbol-fold:before{content:"\e63d"}.next-select-arrow{cursor:pointer;width:auto!important;text-align:center;transition:all .1s linear}.next-select-popup-wrap{animation-duration:.3s;animation-timing-function:ease;padding:0}.next-select-spacing-tb{padding:0}.next-select-menu-wrapper{max-height:260px;overflow:auto;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none}.next-select-menu-wrapper .next-select-menu{max-height:none;border:none}.next-select-menu{max-height:260px;overflow:auto}.next-select-menu .next-select-menu-empty-content{padding-left:8px;padding-right:8px;color:#999}.next-select-menu.next-select-auto-complete-menu.next-select-menu-empty{display:none}.next-select-menu .next-menu-item-text .next-icon{vertical-align:middle}.next-select-all{display:block;cursor:pointer;padding:0 8px;margin:0 12px 8px;border-bottom:1px solid #DCDEE3}.next-select-all:hover{color:#3e71f7}.next-select-all .next-menu-icon-selected.next-icon{display:inline-block!important;top:initial;color:#5584ff}.next-select-highlight{color:#5584ff;font-size:12px}.next-select-in-ie.next-select-trigger .next-select-values{overflow:visible}.next-select-in-ie.next-select-trigger .next-input-control,.next-select-in-ie.next-select-trigger .next-input-label{width:1px}.next-select-in-ie.next-select-trigger .next-input-control>*{display:table-cell;width:1%}.next-select-in-ie.next-select-trigger .next-select-arrow{display:table-cell}.next-select-in-ie.next-select-trigger .next-select-clear{display:none}.next-select-in-ie.next-select-trigger.next-select-multiple .next-select-inner,.next-select-in-ie.next-select-trigger.next-select-tag .next-select-inner{vertical-align:top}.next-select-in-ie.next-select-trigger .next-select-inner,.next-select-in-ie.next-select-trigger.next-select-single .next-select-values{display:inline-table}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-small .next-select-values{line-height:20px}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-medium .next-select-values{line-height:28px}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-large .next-select-values{line-height:40px}.next-select-in-ie.next-select-trigger .next-select-trigger-search>span{max-width:100px}.next-select-in-ie.next-select-trigger.next-select-single.next-select-in-ie-fixwidth .next-select-values{position:relative}.next-select-in-ie.next-select-trigger.next-select-single.next-select-in-ie-fixwidth .next-select-values>em{position:absolute;display:inline-block;height:100%;line-height:1;vertical-align:middle;overflow:hidden;left:4px;right:0;top:30%}.next-select-in-ie.next-select-trigger.next-select-single.next-no-search .next-select-values>em+.next-select-trigger-search,.next-select-in-ie.next-select-trigger.next-select-single.next-inactive .next-select-values>em+.next-select-trigger-search{filter:alpha(opacity=0);font-size:0}.next-select-in-ie.next-select-trigger.next-no-search .next-select-trigger-search input{color:inherit}@media screen and (-webkit-min-device-pixel-ratio: 0){.next-select-multiple .next-select-compact .next-select-tag-compact{background:linear-gradient(90deg,rgba(255,255,255,0),#FFFFFF 10px)}.next-select-multiple .next-disabled .next-select-tag-compact{background:linear-gradient(90deg,rgba(255,255,255,0),#F7F8FA 10px)}}.next-select.next-select-multiple[dir=rtl] .next-select-compact .next-select-tag-compact{left:0;right:auto;padding:0 16px 0 4px;background:linear-gradient(270deg,rgba(255,255,255,0),#FFFFFF 10px)}.next-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;top:0;margin:-1px}.next-menu[dir=rtl] .next-menu-item-helper{float:left}.next-menu[dir=rtl] .next-menu-item .next-checkbox,.next-menu[dir=rtl] .next-menu-item .next-radio{margin-left:4px;margin-right:0}.next-menu[dir=rtl] .next-menu-hoz-right{float:left}.next-menu[dir=rtl] .next-menu-hoz-icon-arrow.next-icon{left:6px;right:auto}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon{margin-left:0;margin-right:-16px}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon:before,.next-menu[dir=rtl] .next-menu-icon-selected.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon.next-menu-icon-right{right:auto;left:4px}.next-menu[dir=rtl] .next-menu-icon-arrow.next-icon{left:10px;right:auto}.next-menu{box-sizing:border-box}.next-menu *,.next-menu *:before,.next-menu *:after{box-sizing:border-box}.next-menu:focus,.next-menu *:focus{outline:0}.next-menu{position:relative;min-width:100px;margin:0;list-style:none;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none;background:#FFFFFF;line-height:32px;font-size:12px;animation-duration:.3s;animation-timing-function:ease}.next-menu-spacing-lr{padding:0}.next-menu-spacing-lr.next-menu-outside>.next-menu{height:100%;overflow-y:auto}.next-menu-spacing-tb{padding:0}.next-menu.next-ver{padding:8px 0}.next-menu.next-ver .next-menu-item{padding:0 20px}.next-menu.next-hoz{padding:8px 0}.next-menu.next-hoz .next-menu-item{padding:0 20px}.next-menu-embeddable,.next-menu-embeddable .next-menu-item.next-disabled,.next-menu-embeddable .next-menu-item.next-disabled .next-menu-item-text>a{background:transparent;border:none}.next-menu-embeddable{box-shadow:none}.next-menu-embeddable .next-menu-item-inner{height:100%}.next-menu-content{position:relative;padding:0;margin:0;list-style:none}.next-menu-sub-menu{padding:0;margin:0;list-style:none}.next-menu-sub-menu.next-expand-enter{overflow:hidden}.next-menu-sub-menu.next-expand-enter-active{transition:height .3s ease}.next-menu-sub-menu.next-expand-leave{overflow:hidden}.next-menu-sub-menu.next-expand-leave-active{transition:height .3s ease}.next-menu-item{position:relative;transition:background .1s linear;color:#333;cursor:pointer}.next-menu-item-helper{float:right;color:#999;font-style:normal;font-size:12px}.next-menu-item .next-checkbox,.next-menu-item .next-radio{margin-right:4px}.next-menu-item.next-selected{color:#333;background-color:#fff}.next-menu-item.next-selected .next-menu-icon-arrow{color:#666}.next-menu-item.next-selected .next-menu-icon-selected{color:#5584ff}.next-menu-item.next-disabled,.next-menu-item.next-disabled .next-menu-item-text>a{color:#ccc;background-color:#fff}.next-menu-item.next-disabled .next-menu-icon-arrow,.next-menu-item.next-disabled .next-menu-item-text>a .next-menu-icon-arrow{color:#ccc}.next-menu-item.next-disabled .next-menu-icon-selected,.next-menu-item.next-disabled .next-menu-item-text>a .next-menu-icon-selected{color:#ccc}.next-menu-item.next-disabled,.next-menu-item.next-disabled .next-menu-item-text>a{cursor:not-allowed}.next-menu-item:not(.next-disabled):hover,.next-menu-item:not(.next-disabled).next-selected:hover,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover,.next-menu-item:not(.next-disabled).next-selected:focus:hover,.next-menu-item:not(.next-disabled).next-focused,.next-menu-item:not(.next-disabled).next-selected.next-focused,.next-menu-item:not(.next-disabled).next-selected:focus{color:#333;background-color:#f2f3f7}.next-menu-item:not(.next-disabled):hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:focus:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-focused .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected.next-focused .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:focus .next-menu-icon-arrow{color:#333}.next-menu-item:not(.next-disabled):hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:focus:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-focused .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected.next-focused .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:focus .next-menu-icon-selected{color:#5584ff}.next-menu-item-inner{height:32px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.next-menu-item .next-menu-item-text{vertical-align:middle}.next-menu-item .next-menu-item-text>a{display:inline-block;text-decoration:none;color:#333}.next-menu-item .next-menu-item-text>a:before{position:absolute;background-color:transparent;top:0;left:0;bottom:0;right:0;content:""}.next-menu.next-hoz{padding:0}.next-menu.next-hoz.next-menu-nowrap{overflow:hidden;white-space:nowrap}.next-menu.next-hoz.next-menu-nowrap .next-menu-more{text-align:center}.next-menu.next-hoz>.next-menu-item,.next-menu.next-hoz>.next-menu-sub-menu-wrapper,.next-menu.next-hoz .next-menu-content>.next-menu-item{display:inline-block;vertical-align:top}.next-menu.next-hoz .next-menu-header,.next-menu.next-hoz .next-menu-content,.next-menu.next-hoz .next-menu-footer{display:inline-block}.next-menu-hoz-right{float:right}.next-menu-group-label{padding:0 12px;color:#999}.next-menu-divider{margin:8px 12px;border-bottom:1px solid #E6E7EB}.next-menu .next-menu-icon-selected.next-icon{position:absolute;top:0;margin-left:-16px}.next-menu .next-menu-icon-selected.next-icon:before,.next-menu .next-menu-icon-selected.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu .next-menu-icon-selected.next-icon.next-menu-icon-right{right:4px}.next-menu .next-menu-symbol-icon-selected.next-menu-icon-selected:before{content:"\e632"}.next-menu .next-menu-icon-arrow.next-icon{position:absolute;top:0;right:10px}.next-menu .next-menu-icon-arrow.next-icon:before,.next-menu .next-menu-icon-arrow.next-icon .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow.next-icon{transform:scale(.5);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow.next-icon:before{width:16px;font-size:16px}}.next-menu .next-menu-icon-arrow.next-icon{color:#666;transition:all .1s linear}.next-menu .next-menu-icon-arrow-down:before{content:"\e63d"}.next-menu .next-menu-icon-arrow-down.next-open{transform:rotate(180deg)}.next-menu .next-menu-icon-arrow-down.next-open:before,.next-menu .next-menu-icon-arrow-down.next-open .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow-down.next-open{transform:scale(.5) rotate(180deg);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow-down.next-open:before{width:16px;font-size:16px}}.next-menu .next-menu-symbol-popupfold:before{content:"\e619"}.next-menu .next-menu-icon-arrow-right.next-open{transform:rotate(-90deg)}.next-menu .next-menu-icon-arrow-right.next-open:before,.next-menu .next-menu-icon-arrow-right.next-open .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow-right.next-open{transform:scale(.5) rotate(-90deg);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow-right.next-open:before{width:16px;font-size:16px}}.next-menu .next-menu-hoz-icon-arrow.next-icon{position:absolute;top:0;right:6px}.next-menu .next-menu-hoz-icon-arrow.next-icon:before,.next-menu .next-menu-hoz-icon-arrow.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu .next-menu-hoz-icon-arrow.next-icon{color:#666;transition:all .1s linear}.next-menu .next-menu-hoz-icon-arrow.next-icon:before{content:"\e63d"}.next-menu-unfold-icon:before{content:""}.next-menu .next-menu-hoz-icon-arrow.next-open{transform:rotate(180deg)}.next-menu .next-menu-hoz-icon-arrow.next-open:before,.next-menu .next-menu-hoz-icon-arrow.next-open .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu.next-context{line-height:24px}.next-menu.next-context .next-menu-item-inner{height:24px}.cn-address{min-width:160px}.cn-address-popup .cn-address-list,.cn-address-popup .cn-address-item{width:184px}.cn-address-popup .cn-address-footer{display:flex;border-top:1px solid #dcdee3;background-color:#fff}.cn-address-popup .cn-address-footer .cn-address-footer-item{display:flex;flex:1}.cn-address-popup .cn-address-footer .cn-address-footer-item .cn-address-footer-btn{display:flex;flex:1;justify-content:center;align-items:center;font-size:12px;color:#333;margin:0;border-radius:0;border:0;border-right:1px solid #dcdee3}.cn-address-popup .cn-address--mark-deletion{text-decoration:line-through;font-style:oblique}.cn-address-header-search{width:100%;padding:10px 0;background-color:#fff}.cn-address-header-search .cn-address-header-search-inner{width:164px;margin:0 10px}.cn-address--search-loading-container{padding:16px 40px;font-size:12px}.cn-address-search-text{background-color:#fff;color:#999;text-align:center}.cn-address-suffix-icon{margin-top:2px;margin-right:4px;color:#999}.next-cascader-select{box-sizing:border-box}.next-cascader-select *,.next-cascader-select *:before,.next-cascader-select *:after{box-sizing:border-box}.next-cascader-select-dropdown{box-sizing:border-box}.next-cascader-select-dropdown *,.next-cascader-select-dropdown *:before,.next-cascader-select-dropdown *:after{box-sizing:border-box}.next-cascader-select-dropdown{border:1px solid #DCDEE3;border-radius:3px;box-shadow:none}.next-cascader-select-dropdown .next-cascader{display:block;border:none;box-shadow:none}.next-cascader-select-not-found{padding:0;border:none;box-shadow:none;overflow:auto;color:#999}.next-cascader-select-not-found .next-menu-item:hover{color:#999;background:#FFFFFF;cursor:default}.mdd-formily-select .next-select-values{width:0!important}._container_t9q14_1 .next-formily-item-feedback-layout-loose{margin-bottom:10px}._container_t9q14_1 .next-formily-item-label,._container_t9q14_1 .cn-ui-form-item .cn-ui-form-item-label{line-height:24px}._container_t9q14_1 ._footer_t9q14_8{display:flex;justify-content:flex-end}._mddTableForm_tl8oe_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableForm_tl8oe_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableForm_tl8oe_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableFormTitle_tl8oe_14{padding-bottom:8px;display:flex;justify-content:space-between}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableFormBottom_tl8oe_34{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_tl8oe_41{display:flex;align-items:center;padding:4px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium{height:24px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_tl8oe_62{border-bottom:2px dashed #3080fe!important}._drop-over-upward_tl8oe_66{border-top:2px dashed #3080fe!important}._itemComponent_tl8oe_70{display:flex;align-items:center;padding:0 12px}._itemLabel_tl8oe_76{padding-right:12px;font-size:12px}._collapseContent_tl8oe_81{padding:0 12px}._itemClose_tl8oe_85{position:absolute;right:12px;top:0;height:48px;line-height:48px}._mddForm_1e2nn_1{display:flex;flex-direction:column;padding:12px}._mddForm_1e2nn_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddForm_1e2nn_1 .cn-next-number-picker .cn-next-input.cn-next-small{height:24px;display:flex}._mddForm_1e2nn_1 .cn-next-number-picker-normal .cn-next-input .cn-next-input-control{width:22px}._mddForm_1e2nn_1 .cn-next-form-item-label{color:#000000d9}._FormTitle_1e2nn_20{padding-bottom:8px}._FormTitleHelp_1e2nn_24{font-size:12px;color:#999;padding-bottom:8px}._FormContent_1e2nn_30{padding:28px;background:#f9f9f9}._content_1e2nn_35{padding:12px}._mddTableArray_16ght_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableArray_16ght_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableArray_16ght_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableArrayTitle_16ght_14{padding-bottom:8px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableArrayBottom_16ght_32{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_16ght_39{display:flex;align-items:center;padding:4px;position:relative}._itemTitle_16ght_39 .cn-next-input.cn-next-medium{height:24px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_16ght_61{border-bottom:2px dashed #3080fe!important}._drop-over-upward_16ght_65{border-top:2px dashed #3080fe!important}._collapseContent_16ght_69{padding:0 12px}._itemClose_16ght_73{position:absolute;right:12px;top:0;height:48px;line-height:48px}._middleBox_119xt_20{margin-left:"10px";margin-bottom:8px;display:flex}._middleBoxLeft_119xt_26{width:100px;text-align:right}._middleBoxRight_119xt_31{flex:1}._customTabItem_119xt_1{padding:8px}._tabTitle_119xt_5{font-size:14px}._tabLabel_119xt_9{display:inline-block;padding:0 2px}._middleBox_119xt_20{margin-left:"10px";margin-bottom:8px;display:flex}._middleBoxLeft_119xt_26{width:100px;text-align:right}._middleBoxRight_119xt_31{flex:1}._mddTableArray_16ght_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableArray_16ght_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableArray_16ght_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableArrayTitle_16ght_14{padding-bottom:8px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableArrayBottom_16ght_32{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_16ght_39{display:flex;align-items:center;padding:4px;position:relative}._itemTitle_16ght_39 .cn-next-input.cn-next-medium{height:24px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_16ght_61{border-bottom:2px dashed #3080fe!important}._drop-over-upward_16ght_65{border-top:2px dashed #3080fe!important}._collapseContent_16ght_69{padding:0 12px}._itemClose_16ght_73{position:absolute;right:12px;top:0;height:48px;line-height:48px}._title_10adh_1{width:100%;display:flex;gap:12px}._titleItem_10adh_7{display:flex;align-items:center}._titleItemLabel_10adh_12{padding-right:12px}._titleItemLabel_10adh_12:first-of-type{padding-left:0}._customTabItem_1lh1l_1{padding:8px}._tabTitle_1lh1l_5{font-size:14px}._tabLabel_1lh1l_9{display:inline-block;padding:0 2px}._mddDetailItems_1lh1l_14 ._itemComponent_1lh1l_14{display:flex;align-items:center;padding:0 12px}._mddDetailItems_1lh1l_14 ._itemLabel_1lh1l_19{padding-right:12px;font-size:12px}.build-page-tab-detail-help{font-size:13px;color:#999;padding:0 12px 12px}._customTabItem_ac2i9_1{padding:8px}._tabTitle_ac2i9_5{font-size:14px}._tabLabel_ac2i9_9{display:inline-block;padding:0 2px}.formily-form-v2-kv{padding:0 12px;display:flex;flex-direction:column;margin-bottom:12px}.formily-form-v2-kv .formily-form-v2-title-wrapper{margin-bottom:8px;line-height:1}.formily-form-v2-kv .formily-form-v2-title-wrapper .title{margin-right:8px}.formily-form-v2-kv .formily-form-v2-title-wrapper .subTitle{color:#585d66;font-size:12px}._kvContainer_rfbib_1{padding:0 12px;display:flex;flex-direction:column;margin-bottom:12px}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7{margin-bottom:8px;line-height:1}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7 ._kvTitle_rfbib_11{margin-right:8px}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7 ._kvSubTitle_rfbib_14{color:#585d66;font-size:12px}.mdd-editor-build-content{flex:1;position:relative}.mdd-editor-build-content .mdd-editor-toolbar{cursor:zoom-in;position:absolute;z-index:100;text-align:right;top:0;right:0;padding:4px 18px;display:flex;align-items:center;gap:8px}.mdd-editor-build-content .mdd-editor-ai-button{cursor:pointer;font-weight:600;box-shadow:0 2px 8px #3080fe47}.mdd-editor-build-content .preview-tool-full>i{cursor:pointer}.mdd-editor-build-content .preview-tool-full .icon-box{position:absolute;right:12px;top:4px;padding:4px;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center;background-color:#00000052;border-radius:2px;cursor:pointer;z-index:19}.mdd-editor-build-content .preview-tool-full .icon-box img{display:inline-block;width:14px;height:14px}.mdd-script-card{position:relative}.mdd-script-card .mdd-script-top-buttons{position:absolute;right:22px;top:12px;display:flex;gap:12px;z-index:10}.mdd-local-ai{display:flex;flex-direction:column;gap:14px;padding:2px 2px 10px;color:#1f2937}.mdd-local-ai .mdd-local-ai-card{border-radius:8px}.mdd-local-ai .mdd-local-ai-hero{overflow:hidden;border:1px solid #dbe5f5;box-shadow:0 8px 24px #1c4e9e14}.mdd-local-ai .mdd-local-ai-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #eef3fb}.mdd-local-ai .mdd-local-ai-heading{color:#111827;font-size:17px;font-weight:700;line-height:24px}.mdd-local-ai .mdd-local-ai-subtitle{margin-top:4px;color:#64748b;font-size:13px;line-height:20px}.mdd-local-ai .mdd-local-ai-status{flex-shrink:0;padding:4px 10px;color:#64748b;font-size:12px;line-height:18px;background:#f1f5f9;border:1px solid #dbe3ef;border-radius:999px}.mdd-local-ai .mdd-local-ai-status.is-ready{color:#0f7a3f;background:#ecfdf3;border-color:#b7ebc6}.mdd-local-ai .mdd-local-ai-bridge-row{display:flex;align-items:flex-end;gap:10px;padding-top:14px}.mdd-local-ai .mdd-local-ai-field{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px}.mdd-local-ai .mdd-local-ai-label{color:#64748b;font-size:12px;line-height:18px}.mdd-local-ai .mdd-local-ai-input{width:100%}.mdd-local-ai .mdd-local-ai-meta{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.mdd-local-ai .mdd-local-ai-meta-item{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px 12px;background:#f8fafc;border:1px solid #e5edf7;border-radius:6px}.mdd-local-ai .mdd-local-ai-meta-item span{display:block;color:#64748b;font-size:12px;line-height:18px}.mdd-local-ai .mdd-local-ai-meta-item strong{display:block;overflow:hidden;color:#1f2937;font-size:13px;font-weight:600;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.mdd-local-ai .mdd-local-ai-meta-path strong{white-space:normal}.mdd-local-ai .mdd-local-ai-section{padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.mdd-local-ai .mdd-local-ai-section-title{margin-bottom:10px;color:#374151;font-size:13px;font-weight:700;line-height:20px}.mdd-local-ai .mdd-local-ai-actions,.mdd-local-ai .mdd-local-ai-copy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mdd-local-ai .mdd-local-ai-actions>*,.mdd-local-ai .mdd-local-ai-copy-actions>*{width:100%}.mdd-local-ai .mdd-local-ai-actions .cn-ui-btn,.mdd-local-ai .mdd-local-ai-copy-actions .cn-ui-btn,.mdd-local-ai .mdd-local-ai-actions button,.mdd-local-ai .mdd-local-ai-copy-actions button{min-width:0}.mdd-local-ai .mdd-local-ai-copy-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.mdd-local-ai .mdd-local-ai-summary{padding:10px 12px;color:#164e63;background:#ecfeff;border:1px solid #bae6fd;border-radius:8px;word-break:break-all}.mdd-local-ai .mdd-local-ai-diff{color:#333;background:#fff;border:1px solid #d8dde8;border-radius:8px}.mdd-local-ai .mdd-local-ai-diff summary{padding:10px 12px;font-weight:600;cursor:pointer;user-select:none}.mdd-local-ai .mdd-local-ai-diff-content{padding:0 12px 12px;border-top:1px solid #eef0f4}.mdd-local-ai .mdd-local-ai-diff-section{margin-top:10px;color:#555;font-size:13px;line-height:22px}.mdd-local-ai .mdd-local-ai-diff-title{margin-bottom:4px;color:#1f2937;font-weight:600}.mdd-local-ai .mdd-local-ai-diff-list{max-height:160px;margin:0;padding-left:18px;overflow:auto}.mdd-local-ai .mdd-local-ai-diff-list li{margin-bottom:4px}.mdd-local-ai .mdd-local-ai-diff-list code{margin-right:8px;padding:1px 4px;color:#1d4ed8;background:#eff6ff;border-radius:3px;word-break:break-all}.mdd-local-ai .mdd-local-ai-diff-pre{max-height:260px;margin:10px 0 0;padding:10px;overflow:auto;color:#1f2937;font-size:12px;line-height:18px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:4px;white-space:pre-wrap}.mdd-local-ai .mdd-local-ai-error{padding:10px 12px;color:#7a2e0e;background:#fff7e8;border:1px solid #ffd591;border-radius:6px}.mdd-local-ai .mdd-local-ai-error-title{margin-bottom:6px;font-weight:600}.mdd-local-ai .mdd-local-ai-error-message{line-height:20px;white-space:pre-wrap;word-break:break-word}.mdd-local-ai .mdd-local-ai-error-snippet{max-height:180px;margin:8px 0 0;padding:8px;overflow:auto;color:#3d3328;font-size:12px;line-height:18px;background:#fff;border:1px solid #ffe7ba;border-radius:4px;white-space:pre-wrap}.mdd-local-ai .mdd-local-ai-title{margin-bottom:8px;color:#1f2937;font-weight:600}.mdd-local-ai .mdd-local-ai-tips{line-height:24px;color:#555}@media (max-width: 560px){.mdd-local-ai .mdd-local-ai-bridge-row{align-items:stretch;flex-direction:column}.mdd-local-ai .mdd-local-ai-meta,.mdd-local-ai .mdd-local-ai-actions,.mdd-local-ai .mdd-local-ai-copy-actions{grid-template-columns:1fr}}._customTabItem_1y6va_1{padding:8px}._tabTitle_1y6va_5{font-size:14px}._tabLabel_1y6va_9{display:inline-block;padding:0 2px}.mdd-tip{color:#999;display:inline;padding-left:20px}
|
|
1
|
+
.monaco-clone-btn{position:absolute;right:10px;top:10px;z-index:101;display:none}.monaco-container{min-height:400px}.form-item-exart-abs{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;position:absolute;top:0;right:0;font-size:12px}.help-link{margin-left:20px}.handle-by-source-code{color:#00f;margin-left:5px}.handle-by-source-code-tip{color:#aaa;margin-left:5px}.ajax-schema-form-container{display:flex}.data-source-item{margin:0 0 15px;padding:3px;border:1px solid #000;border-radius:4px;border-color:#49cc90;background-color:#49cc9033;display:flex;align-items:center;cursor:pointer}.data-source-item:hover{box-shadow:0 0 5px #49cc90}.data-source-item .method{font-size:14px;font-weight:700;padding:3px 5px;text-align:center;border-radius:3px;background:#000;font-family:sans-serif;color:#fff;background:#1cce75}.data-source-item .host{font-weight:700;margin-left:5px}.data-source-item .url{font-weight:700;margin-left:10px;overflow:hidden;text-overflow:ellipsis}.data-source-item .description{margin-left:10px}.kv-table .table-operation-row{font-size:12px;margin-top:5px;display:flex;justify-content:space-between}.kv-table .table-operation-row .fast-select{width:200px}._dsType_mxilv_1{margin-bottom:10px}._dsJSONContent_mxilv_5{margin-top:10px}._dsJSONContent_mxilv_5 ._dsJSONContentTip_mxilv_8{margin-top:6px;font-weight:700}._dsAjaxContent_mxilv_13{margin-top:10px}._dsTitle_mxilv_17{font-weight:700;margin-top:10px}._actionButton_mxilv_22{margin-bottom:8px}._watchContainer_mxilv_26{display:flex;align-items:center;margin-top:10px}._dsTitleWatch_mxilv_32{margin-right:8px;font-weight:700}._staticValueOkBtn_mxilv_37{margin-left:4px}._tableDeleteBtn_mxilv_41{margin-left:8px}._secondConfirm_mxilv_45{margin-top:10px}._dsType_1islj_1{margin-bottom:10px}._dsJSONContent_1islj_5{margin-top:10px}._dsJSONContent_1islj_5 ._dsJSONContentTip_1islj_8{margin-top:6px;font-weight:700}._dsTitle_1islj_13{font-weight:700;margin-top:10px}._actionButton_1islj_18{margin-bottom:8px}._watchContainer_1islj_22{display:flex;align-items:center;margin-top:10px}._dsTitleWatch_1islj_28{margin-right:8px;font-weight:700}._staticValueOkBtn_1islj_33{margin-left:4px}._tableDeleteBtn_1islj_37{margin-left:8px}._secondConfirm_1islj_41{margin-top:10px}@charset "UTF-8";.next-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;top:0;margin:-1px}.next-select{box-sizing:border-box}.next-select *,.next-select *:before,.next-select *:after{box-sizing:border-box}.next-select{display:inline-block;position:relative;font-size:0;vertical-align:middle}.next-select-trigger{min-width:100px;outline:0;transition:all .1s linear}.next-select-trigger .next-input-label{flex:0 0 auto;width:auto}.next-select-trigger .next-select-values{display:block;width:100%;flex:1 1 0;overflow:hidden}.next-select-trigger .next-select-values>em{font-style:inherit}.next-select-trigger .next-select-values input{padding-left:0;padding-right:0}.next-select-trigger .next-input-control{flex:0 0 auto;width:auto}.next-select-trigger .next-input-control>*{display:inline-block;width:auto}.next-select-trigger .next-input-control>.next-select-arrow{padding-right:0}.next-select-trigger .next-input.next-disabled em{color:#ccc}.next-select-trigger .next-input.next-disabled .next-select-arrow{cursor:not-allowed}.next-select-trigger .next-select-clear{display:none}.next-select-trigger.next-has-clear:hover .next-select-clear{display:inline-block}.next-select-trigger.next-has-clear:hover .next-select-arrow{display:none}.next-select .next-select-inner{display:inline-flex;align-items:center;width:100%;min-width:100px;outline:0;color:#333}.next-select .next-select-inner .next-tag{line-height:1;margin-right:4px;margin-bottom:3px;padding-left:0;padding-right:0}.next-select .next-select-inner .next-input-inner{width:auto}.next-select-trigger-search{position:relative;display:inline-block;vertical-align:top;overflow:hidden;width:100%;max-width:100%}.next-select-trigger-search>input,.next-select-trigger-search>span{display:block;font-size:inherit;font-family:inherit;letter-spacing:inherit;white-space:nowrap;overflow:hidden}.next-select-trigger-search input{position:absolute;background-color:transparent;width:100%;height:100%!important;z-index:1;left:0;border:0;outline:0;margin:0;padding:0;cursor:inherit}.next-select-trigger-search>span{position:relative;visibility:hidden;white-space:pre;max-width:100%;z-index:-1}.next-select-single.next-no-search{cursor:pointer}.next-select-single.next-has-search.next-active .next-select-values>em{display:none}.next-select-single.next-no-search .next-select-values>em+.next-select-trigger-search,.next-select-single.next-inactive .next-select-values>em+.next-select-trigger-search{width:1px;opacity:0;filter:alpha(opacity=0)}.next-select-single .next-select-values{display:inline-flex;align-items:center}.next-select-single .next-select-values>em{vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-select-multiple .next-select-compact{position:relative;white-space:nowrap}.next-select-multiple .next-select-compact .next-select-trigger-search{width:auto}.next-select-multiple .next-select-compact .next-select-tag-compact{position:absolute;top:0;right:0;z-index:1;padding:0 4px 0 16px;color:#333;background:linear-gradient(90deg,transparent,#FFFFFF 10px)}.next-select-multiple .next-disabled .next-select-tag-compact{background:linear-gradient(90deg,transparent,#F7F8FA 10px)}.next-select-multiple .next-select-values,.next-select-tag .next-select-values{margin-bottom:-3px;height:auto!important}.next-select-multiple .next-select-trigger-search,.next-select-tag .next-select-trigger-search{margin-bottom:3px}.next-select-multiple .next-tag+.next-select-trigger-search,.next-select-tag .next-tag+.next-select-trigger-search{width:auto;min-width:1px}.next-select-multiple .next-input,.next-select-tag .next-input{height:auto;align-items:start}.next-select-multiple.next-small .next-select-values,.next-select-tag.next-small .next-select-values{min-height:18px;padding-top:2px;padding-bottom:2px;line-height:14px}.next-select-multiple.next-small .next-select-values-compact,.next-select-tag.next-small .next-select-values-compact{height:20px!important}.next-select-multiple.next-small .next-tag,.next-select-tag.next-small .next-tag{border:0;padding-top:0;padding-bottom:0;height:14px}.next-select-multiple.next-small .next-tag .next-tag-body,.next-select-multiple.next-small .next-tag .next-tag-close-btn,.next-select-tag.next-small .next-tag .next-tag-body,.next-select-tag.next-small .next-tag .next-tag-close-btn,.next-select-multiple.next-small .next-tag-body,.next-select-tag.next-small .next-tag-body{line-height:14px}.next-select-multiple.next-small .next-input-label,.next-select-multiple.next-small .next-input-inner,.next-select-multiple.next-small .next-input-control,.next-select-multiple.next-small .next-select-tag-compact,.next-select-tag.next-small .next-input-label,.next-select-tag.next-small .next-input-inner,.next-select-tag.next-small .next-input-control,.next-select-tag.next-small .next-select-tag-compact{line-height:18px}.next-select-multiple.next-medium .next-select-values,.next-select-tag.next-medium .next-select-values{min-height:26px;padding-top:3px;padding-bottom:3px;line-height:20px}.next-select-multiple.next-medium .next-select-values-compact,.next-select-tag.next-medium .next-select-values-compact{height:28px!important}.next-select-multiple.next-medium .next-tag,.next-select-tag.next-medium .next-tag{padding-top:1px;padding-bottom:1px;height:20px}.next-select-multiple.next-medium .next-tag .next-tag-body,.next-select-multiple.next-medium .next-tag .next-tag-close-btn,.next-select-tag.next-medium .next-tag .next-tag-body,.next-select-tag.next-medium .next-tag .next-tag-close-btn{line-height:18px}.next-select-multiple.next-medium .next-input-label,.next-select-multiple.next-medium .next-input-inner,.next-select-multiple.next-medium .next-input-control,.next-select-multiple.next-medium .next-select-tag-compact,.next-select-tag.next-medium .next-input-label,.next-select-tag.next-medium .next-input-inner,.next-select-tag.next-medium .next-input-control,.next-select-tag.next-medium .next-select-tag-compact{line-height:26px}.next-select-multiple.next-large .next-select-values,.next-select-tag.next-large .next-select-values{min-height:38px;padding-top:7px;padding-bottom:7px;line-height:24px}.next-select-multiple.next-large .next-select-values-compact,.next-select-tag.next-large .next-select-values-compact{height:40px!important}.next-select-multiple.next-large .next-tag,.next-select-tag.next-large .next-tag{padding-top:3px;padding-bottom:3px;height:24px}.next-select-multiple.next-large .next-tag .next-tag-body,.next-select-multiple.next-large .next-tag .next-tag-close-btn,.next-select-tag.next-large .next-tag .next-tag-body,.next-select-tag.next-large .next-tag .next-tag-close-btn{line-height:18px}.next-select-multiple.next-large .next-input-label,.next-select-multiple.next-large .next-input-inner,.next-select-multiple.next-large .next-input-control,.next-select-multiple.next-large .next-select-tag-compact,.next-select-tag.next-large .next-input-label,.next-select-tag.next-large .next-input-inner,.next-select-tag.next-large .next-input-control,.next-select-tag.next-large .next-select-tag-compact{line-height:38px}.next-select-auto-complete{width:160px}.next-select-auto-complete .next-input{width:100%}.next-select-auto-complete .next-input .next-input-hint-wrap{padding-right:1px}.next-select-auto-complete .next-input .next-select-arrow{padding-left:0}.next-select.next-active .next-select-arrow .next-icon-arrow-down{transform:rotate(180deg)}.next-select .next-select-unfold-icon:before{content:""}.next-select-symbol-fold:before{content:"\e63d"}.next-select-arrow{cursor:pointer;width:auto!important;text-align:center;transition:all .1s linear}.next-select-popup-wrap{animation-duration:.3s;animation-timing-function:ease;padding:0}.next-select-spacing-tb{padding:0}.next-select-menu-wrapper{max-height:260px;overflow:auto;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none}.next-select-menu-wrapper .next-select-menu{max-height:none;border:none}.next-select-menu{max-height:260px;overflow:auto}.next-select-menu .next-select-menu-empty-content{padding-left:8px;padding-right:8px;color:#999}.next-select-menu.next-select-auto-complete-menu.next-select-menu-empty{display:none}.next-select-menu .next-menu-item-text .next-icon{vertical-align:middle}.next-select-all{display:block;cursor:pointer;padding:0 8px;margin:0 12px 8px;border-bottom:1px solid #DCDEE3}.next-select-all:hover{color:#3e71f7}.next-select-all .next-menu-icon-selected.next-icon{display:inline-block!important;top:initial;color:#5584ff}.next-select-highlight{color:#5584ff;font-size:12px}.next-select-in-ie.next-select-trigger .next-select-values{overflow:visible}.next-select-in-ie.next-select-trigger .next-input-control,.next-select-in-ie.next-select-trigger .next-input-label{width:1px}.next-select-in-ie.next-select-trigger .next-input-control>*{display:table-cell;width:1%}.next-select-in-ie.next-select-trigger .next-select-arrow{display:table-cell}.next-select-in-ie.next-select-trigger .next-select-clear{display:none}.next-select-in-ie.next-select-trigger.next-select-multiple .next-select-inner,.next-select-in-ie.next-select-trigger.next-select-tag .next-select-inner{vertical-align:top}.next-select-in-ie.next-select-trigger .next-select-inner,.next-select-in-ie.next-select-trigger.next-select-single .next-select-values{display:inline-table}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-small .next-select-values{line-height:20px}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-medium .next-select-values{line-height:28px}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-large .next-select-values{line-height:40px}.next-select-in-ie.next-select-trigger .next-select-trigger-search>span{max-width:100px}.next-select-in-ie.next-select-trigger.next-select-single.next-select-in-ie-fixwidth .next-select-values{position:relative}.next-select-in-ie.next-select-trigger.next-select-single.next-select-in-ie-fixwidth .next-select-values>em{position:absolute;display:inline-block;height:100%;line-height:1;vertical-align:middle;overflow:hidden;left:4px;right:0;top:30%}.next-select-in-ie.next-select-trigger.next-select-single.next-no-search .next-select-values>em+.next-select-trigger-search,.next-select-in-ie.next-select-trigger.next-select-single.next-inactive .next-select-values>em+.next-select-trigger-search{filter:alpha(opacity=0);font-size:0}.next-select-in-ie.next-select-trigger.next-no-search .next-select-trigger-search input{color:inherit}@media screen and (-webkit-min-device-pixel-ratio: 0){.next-select-multiple .next-select-compact .next-select-tag-compact{background:linear-gradient(90deg,rgba(255,255,255,0),#FFFFFF 10px)}.next-select-multiple .next-disabled .next-select-tag-compact{background:linear-gradient(90deg,rgba(255,255,255,0),#F7F8FA 10px)}}.next-select.next-select-multiple[dir=rtl] .next-select-compact .next-select-tag-compact{left:0;right:auto;padding:0 16px 0 4px;background:linear-gradient(270deg,rgba(255,255,255,0),#FFFFFF 10px)}.next-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;top:0;margin:-1px}.next-menu[dir=rtl] .next-menu-item-helper{float:left}.next-menu[dir=rtl] .next-menu-item .next-checkbox,.next-menu[dir=rtl] .next-menu-item .next-radio{margin-left:4px;margin-right:0}.next-menu[dir=rtl] .next-menu-hoz-right{float:left}.next-menu[dir=rtl] .next-menu-hoz-icon-arrow.next-icon{left:6px;right:auto}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon{margin-left:0;margin-right:-16px}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon:before,.next-menu[dir=rtl] .next-menu-icon-selected.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon.next-menu-icon-right{right:auto;left:4px}.next-menu[dir=rtl] .next-menu-icon-arrow.next-icon{left:10px;right:auto}.next-menu{box-sizing:border-box}.next-menu *,.next-menu *:before,.next-menu *:after{box-sizing:border-box}.next-menu:focus,.next-menu *:focus{outline:0}.next-menu{position:relative;min-width:100px;margin:0;list-style:none;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none;background:#FFFFFF;line-height:32px;font-size:12px;animation-duration:.3s;animation-timing-function:ease}.next-menu-spacing-lr{padding:0}.next-menu-spacing-lr.next-menu-outside>.next-menu{height:100%;overflow-y:auto}.next-menu-spacing-tb{padding:0}.next-menu.next-ver{padding:8px 0}.next-menu.next-ver .next-menu-item{padding:0 20px}.next-menu.next-hoz{padding:8px 0}.next-menu.next-hoz .next-menu-item{padding:0 20px}.next-menu-embeddable,.next-menu-embeddable .next-menu-item.next-disabled,.next-menu-embeddable .next-menu-item.next-disabled .next-menu-item-text>a{background:transparent;border:none}.next-menu-embeddable{box-shadow:none}.next-menu-embeddable .next-menu-item-inner{height:100%}.next-menu-content{position:relative;padding:0;margin:0;list-style:none}.next-menu-sub-menu{padding:0;margin:0;list-style:none}.next-menu-sub-menu.next-expand-enter{overflow:hidden}.next-menu-sub-menu.next-expand-enter-active{transition:height .3s ease}.next-menu-sub-menu.next-expand-leave{overflow:hidden}.next-menu-sub-menu.next-expand-leave-active{transition:height .3s ease}.next-menu-item{position:relative;transition:background .1s linear;color:#333;cursor:pointer}.next-menu-item-helper{float:right;color:#999;font-style:normal;font-size:12px}.next-menu-item .next-checkbox,.next-menu-item .next-radio{margin-right:4px}.next-menu-item.next-selected{color:#333;background-color:#fff}.next-menu-item.next-selected .next-menu-icon-arrow{color:#666}.next-menu-item.next-selected .next-menu-icon-selected{color:#5584ff}.next-menu-item.next-disabled,.next-menu-item.next-disabled .next-menu-item-text>a{color:#ccc;background-color:#fff}.next-menu-item.next-disabled .next-menu-icon-arrow,.next-menu-item.next-disabled .next-menu-item-text>a .next-menu-icon-arrow{color:#ccc}.next-menu-item.next-disabled .next-menu-icon-selected,.next-menu-item.next-disabled .next-menu-item-text>a .next-menu-icon-selected{color:#ccc}.next-menu-item.next-disabled,.next-menu-item.next-disabled .next-menu-item-text>a{cursor:not-allowed}.next-menu-item:not(.next-disabled):hover,.next-menu-item:not(.next-disabled).next-selected:hover,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover,.next-menu-item:not(.next-disabled).next-selected:focus:hover,.next-menu-item:not(.next-disabled).next-focused,.next-menu-item:not(.next-disabled).next-selected.next-focused,.next-menu-item:not(.next-disabled).next-selected:focus{color:#333;background-color:#f2f3f7}.next-menu-item:not(.next-disabled):hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:focus:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-focused .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected.next-focused .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:focus .next-menu-icon-arrow{color:#333}.next-menu-item:not(.next-disabled):hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:focus:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-focused .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected.next-focused .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:focus .next-menu-icon-selected{color:#5584ff}.next-menu-item-inner{height:32px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.next-menu-item .next-menu-item-text{vertical-align:middle}.next-menu-item .next-menu-item-text>a{display:inline-block;text-decoration:none;color:#333}.next-menu-item .next-menu-item-text>a:before{position:absolute;background-color:transparent;top:0;left:0;bottom:0;right:0;content:""}.next-menu.next-hoz{padding:0}.next-menu.next-hoz.next-menu-nowrap{overflow:hidden;white-space:nowrap}.next-menu.next-hoz.next-menu-nowrap .next-menu-more{text-align:center}.next-menu.next-hoz>.next-menu-item,.next-menu.next-hoz>.next-menu-sub-menu-wrapper,.next-menu.next-hoz .next-menu-content>.next-menu-item{display:inline-block;vertical-align:top}.next-menu.next-hoz .next-menu-header,.next-menu.next-hoz .next-menu-content,.next-menu.next-hoz .next-menu-footer{display:inline-block}.next-menu-hoz-right{float:right}.next-menu-group-label{padding:0 12px;color:#999}.next-menu-divider{margin:8px 12px;border-bottom:1px solid #E6E7EB}.next-menu .next-menu-icon-selected.next-icon{position:absolute;top:0;margin-left:-16px}.next-menu .next-menu-icon-selected.next-icon:before,.next-menu .next-menu-icon-selected.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu .next-menu-icon-selected.next-icon.next-menu-icon-right{right:4px}.next-menu .next-menu-symbol-icon-selected.next-menu-icon-selected:before{content:"\e632"}.next-menu .next-menu-icon-arrow.next-icon{position:absolute;top:0;right:10px}.next-menu .next-menu-icon-arrow.next-icon:before,.next-menu .next-menu-icon-arrow.next-icon .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow.next-icon{transform:scale(.5);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow.next-icon:before{width:16px;font-size:16px}}.next-menu .next-menu-icon-arrow.next-icon{color:#666;transition:all .1s linear}.next-menu .next-menu-icon-arrow-down:before{content:"\e63d"}.next-menu .next-menu-icon-arrow-down.next-open{transform:rotate(180deg)}.next-menu .next-menu-icon-arrow-down.next-open:before,.next-menu .next-menu-icon-arrow-down.next-open .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow-down.next-open{transform:scale(.5) rotate(180deg);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow-down.next-open:before{width:16px;font-size:16px}}.next-menu .next-menu-symbol-popupfold:before{content:"\e619"}.next-menu .next-menu-icon-arrow-right.next-open{transform:rotate(-90deg)}.next-menu .next-menu-icon-arrow-right.next-open:before,.next-menu .next-menu-icon-arrow-right.next-open .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow-right.next-open{transform:scale(.5) rotate(-90deg);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow-right.next-open:before{width:16px;font-size:16px}}.next-menu .next-menu-hoz-icon-arrow.next-icon{position:absolute;top:0;right:6px}.next-menu .next-menu-hoz-icon-arrow.next-icon:before,.next-menu .next-menu-hoz-icon-arrow.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu .next-menu-hoz-icon-arrow.next-icon{color:#666;transition:all .1s linear}.next-menu .next-menu-hoz-icon-arrow.next-icon:before{content:"\e63d"}.next-menu-unfold-icon:before{content:""}.next-menu .next-menu-hoz-icon-arrow.next-open{transform:rotate(180deg)}.next-menu .next-menu-hoz-icon-arrow.next-open:before,.next-menu .next-menu-hoz-icon-arrow.next-open .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu.next-context{line-height:24px}.next-menu.next-context .next-menu-item-inner{height:24px}.cn-address{min-width:160px}.cn-address-popup .cn-address-list,.cn-address-popup .cn-address-item{width:184px}.cn-address-popup .cn-address-footer{display:flex;border-top:1px solid #dcdee3;background-color:#fff}.cn-address-popup .cn-address-footer .cn-address-footer-item{display:flex;flex:1}.cn-address-popup .cn-address-footer .cn-address-footer-item .cn-address-footer-btn{display:flex;flex:1;justify-content:center;align-items:center;font-size:12px;color:#333;margin:0;border-radius:0;border:0;border-right:1px solid #dcdee3}.cn-address-popup .cn-address--mark-deletion{text-decoration:line-through;font-style:oblique}.cn-address-header-search{width:100%;padding:10px 0;background-color:#fff}.cn-address-header-search .cn-address-header-search-inner{width:164px;margin:0 10px}.cn-address--search-loading-container{padding:16px 40px;font-size:12px}.cn-address-search-text{background-color:#fff;color:#999;text-align:center}.cn-address-suffix-icon{margin-top:2px;margin-right:4px;color:#999}.next-cascader-select{box-sizing:border-box}.next-cascader-select *,.next-cascader-select *:before,.next-cascader-select *:after{box-sizing:border-box}.next-cascader-select-dropdown{box-sizing:border-box}.next-cascader-select-dropdown *,.next-cascader-select-dropdown *:before,.next-cascader-select-dropdown *:after{box-sizing:border-box}.next-cascader-select-dropdown{border:1px solid #DCDEE3;border-radius:3px;box-shadow:none}.next-cascader-select-dropdown .next-cascader{display:block;border:none;box-shadow:none}.next-cascader-select-not-found{padding:0;border:none;box-shadow:none;overflow:auto;color:#999}.next-cascader-select-not-found .next-menu-item:hover{color:#999;background:#FFFFFF;cursor:default}.mdd-formily-select .next-select-values{width:0!important}._container_t9q14_1 .next-formily-item-feedback-layout-loose{margin-bottom:10px}._container_t9q14_1 .next-formily-item-label,._container_t9q14_1 .cn-ui-form-item .cn-ui-form-item-label{line-height:24px}._container_t9q14_1 ._footer_t9q14_8{display:flex;justify-content:flex-end}._mddTableForm_tl8oe_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableForm_tl8oe_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableForm_tl8oe_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableFormTitle_tl8oe_14{padding-bottom:8px;display:flex;justify-content:space-between}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableFormBottom_tl8oe_34{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_tl8oe_41{display:flex;align-items:center;padding:4px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium{height:24px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_tl8oe_62{border-bottom:2px dashed #3080fe!important}._drop-over-upward_tl8oe_66{border-top:2px dashed #3080fe!important}._itemComponent_tl8oe_70{display:flex;align-items:center;padding:0 12px}._itemLabel_tl8oe_76{padding-right:12px;font-size:12px}._collapseContent_tl8oe_81{padding:0 12px}._itemClose_tl8oe_85{position:absolute;right:12px;top:0;height:48px;line-height:48px}._mddForm_1e2nn_1{display:flex;flex-direction:column;padding:12px}._mddForm_1e2nn_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddForm_1e2nn_1 .cn-next-number-picker .cn-next-input.cn-next-small{height:24px;display:flex}._mddForm_1e2nn_1 .cn-next-number-picker-normal .cn-next-input .cn-next-input-control{width:22px}._mddForm_1e2nn_1 .cn-next-form-item-label{color:#000000d9}._FormTitle_1e2nn_20{padding-bottom:8px}._FormTitleHelp_1e2nn_24{font-size:12px;color:#999;padding-bottom:8px}._FormContent_1e2nn_30{padding:28px;background:#f9f9f9}._content_1e2nn_35{padding:12px}._mddTableArray_16ght_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableArray_16ght_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableArray_16ght_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableArrayTitle_16ght_14{padding-bottom:8px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableArrayBottom_16ght_32{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_16ght_39{display:flex;align-items:center;padding:4px;position:relative}._itemTitle_16ght_39 .cn-next-input.cn-next-medium{height:24px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_16ght_61{border-bottom:2px dashed #3080fe!important}._drop-over-upward_16ght_65{border-top:2px dashed #3080fe!important}._collapseContent_16ght_69{padding:0 12px}._itemClose_16ght_73{position:absolute;right:12px;top:0;height:48px;line-height:48px}._middleBox_119xt_20{margin-left:"10px";margin-bottom:8px;display:flex}._middleBoxLeft_119xt_26{width:100px;text-align:right}._middleBoxRight_119xt_31{flex:1}._customTabItem_119xt_1{padding:8px}._tabTitle_119xt_5{font-size:14px}._tabLabel_119xt_9{display:inline-block;padding:0 2px}._middleBox_119xt_20{margin-left:"10px";margin-bottom:8px;display:flex}._middleBoxLeft_119xt_26{width:100px;text-align:right}._middleBoxRight_119xt_31{flex:1}._mddTableArray_16ght_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableArray_16ght_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableArray_16ght_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableArrayTitle_16ght_14{padding-bottom:8px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableArrayBottom_16ght_32{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_16ght_39{display:flex;align-items:center;padding:4px;position:relative}._itemTitle_16ght_39 .cn-next-input.cn-next-medium{height:24px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_16ght_61{border-bottom:2px dashed #3080fe!important}._drop-over-upward_16ght_65{border-top:2px dashed #3080fe!important}._collapseContent_16ght_69{padding:0 12px}._itemClose_16ght_73{position:absolute;right:12px;top:0;height:48px;line-height:48px}._title_10adh_1{width:100%;display:flex;gap:12px}._titleItem_10adh_7{display:flex;align-items:center}._titleItemLabel_10adh_12{padding-right:12px}._titleItemLabel_10adh_12:first-of-type{padding-left:0}._customTabItem_1lh1l_1{padding:8px}._tabTitle_1lh1l_5{font-size:14px}._tabLabel_1lh1l_9{display:inline-block;padding:0 2px}._mddDetailItems_1lh1l_14 ._itemComponent_1lh1l_14{display:flex;align-items:center;padding:0 12px}._mddDetailItems_1lh1l_14 ._itemLabel_1lh1l_19{padding-right:12px;font-size:12px}.build-page-tab-detail-help{font-size:13px;color:#999;padding:0 12px 12px}._customTabItem_ac2i9_1{padding:8px}._tabTitle_ac2i9_5{font-size:14px}._tabLabel_ac2i9_9{display:inline-block;padding:0 2px}.formily-form-v2-kv{padding:0 12px;display:flex;flex-direction:column;margin-bottom:12px}.formily-form-v2-kv .formily-form-v2-title-wrapper{margin-bottom:8px;line-height:1}.formily-form-v2-kv .formily-form-v2-title-wrapper .title{margin-right:8px}.formily-form-v2-kv .formily-form-v2-title-wrapper .subTitle{color:#585d66;font-size:12px}._kvContainer_rfbib_1{padding:0 12px;display:flex;flex-direction:column;margin-bottom:12px}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7{margin-bottom:8px;line-height:1}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7 ._kvTitle_rfbib_11{margin-right:8px}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7 ._kvSubTitle_rfbib_14{color:#585d66;font-size:12px}.mdd-editor-build-content{flex:1;position:relative}.mdd-editor-build-content .mdd-editor-toolbar{cursor:zoom-in;position:absolute;z-index:100;text-align:right;top:0;right:0;padding:4px 18px;display:flex;align-items:center;gap:8px}.mdd-editor-build-content .mdd-editor-ai-button{cursor:pointer;font-weight:600;box-shadow:0 2px 8px #3080fe47}.mdd-editor-build-content .preview-tool-full>i{cursor:pointer}.mdd-editor-build-content .preview-tool-full .icon-box{position:absolute;right:12px;top:4px;padding:4px;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center;background-color:#00000052;border-radius:2px;cursor:pointer;z-index:19}.mdd-editor-build-content .preview-tool-full .icon-box img{display:inline-block;width:14px;height:14px}.mdd-script-card{position:relative}.mdd-script-card .mdd-script-top-buttons{position:absolute;right:22px;top:12px;display:flex;gap:12px;z-index:10}.mdd-local-ai{display:flex;flex-direction:column;gap:14px;padding:2px 2px 10px;color:#1f2937}.mdd-local-ai .mdd-local-ai-card{border-radius:8px}.mdd-local-ai .mdd-local-ai-hero{overflow:hidden;border:1px solid #dbe5f5;box-shadow:0 8px 24px #1c4e9e14}.mdd-local-ai .mdd-local-ai-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #eef3fb}.mdd-local-ai .mdd-local-ai-heading{color:#111827;font-size:17px;font-weight:700;line-height:24px}.mdd-local-ai .mdd-local-ai-subtitle{margin-top:4px;color:#64748b;font-size:13px;line-height:20px}.mdd-local-ai .mdd-local-ai-status{flex-shrink:0;padding:4px 10px;color:#64748b;font-size:12px;line-height:18px;background:#f1f5f9;border:1px solid #dbe3ef;border-radius:999px}.mdd-local-ai .mdd-local-ai-status.is-ready{color:#0f7a3f;background:#ecfdf3;border-color:#b7ebc6}.mdd-local-ai .mdd-local-ai-bridge-row{display:flex;align-items:flex-end;gap:10px;padding-top:14px}.mdd-local-ai .mdd-local-ai-field{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px}.mdd-local-ai .mdd-local-ai-label{color:#64748b;font-size:12px;line-height:18px}.mdd-local-ai .mdd-local-ai-input{width:100%}.mdd-local-ai .mdd-local-ai-meta{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.mdd-local-ai .mdd-local-ai-meta-item{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px 12px;background:#f8fafc;border:1px solid #e5edf7;border-radius:6px}.mdd-local-ai .mdd-local-ai-meta-item span{display:block;color:#64748b;font-size:12px;line-height:18px}.mdd-local-ai .mdd-local-ai-meta-item strong{display:block;overflow:hidden;color:#1f2937;font-size:13px;font-weight:600;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.mdd-local-ai .mdd-local-ai-meta-path strong{white-space:normal}.mdd-local-ai .mdd-local-ai-section{padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.mdd-local-ai .mdd-local-ai-section-title{margin-bottom:10px;color:#374151;font-size:13px;font-weight:700;line-height:20px}.mdd-local-ai .mdd-local-ai-actions,.mdd-local-ai .mdd-local-ai-copy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mdd-local-ai .mdd-local-ai-actions>*,.mdd-local-ai .mdd-local-ai-copy-actions>*{width:100%}.mdd-local-ai .mdd-local-ai-actions .cn-ui-btn,.mdd-local-ai .mdd-local-ai-copy-actions .cn-ui-btn,.mdd-local-ai .mdd-local-ai-actions button,.mdd-local-ai .mdd-local-ai-copy-actions button{min-width:0}.mdd-local-ai .mdd-local-ai-copy-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.mdd-local-ai .mdd-local-ai-summary{padding:10px 12px;color:#164e63;background:#ecfeff;border:1px solid #bae6fd;border-radius:8px;word-break:break-all}.mdd-local-ai .mdd-local-ai-diff{color:#333;background:#fff;border:1px solid #d8dde8;border-radius:8px}.mdd-local-ai .mdd-local-ai-diff summary{padding:10px 12px;font-weight:600;cursor:pointer;user-select:none}.mdd-local-ai .mdd-local-ai-diff-content{padding:0 12px 12px;border-top:1px solid #eef0f4}.mdd-local-ai .mdd-local-ai-diff-section{margin-top:10px;color:#555;font-size:13px;line-height:22px}.mdd-local-ai .mdd-local-ai-diff-title{margin-bottom:4px;color:#1f2937;font-weight:600}.mdd-local-ai .mdd-local-ai-diff-list{max-height:160px;margin:0;padding-left:18px;overflow:auto}.mdd-local-ai .mdd-local-ai-diff-list li{margin-bottom:4px}.mdd-local-ai .mdd-local-ai-diff-list code{margin-right:8px;padding:1px 4px;color:#1d4ed8;background:#eff6ff;border-radius:3px;word-break:break-all}.mdd-local-ai .mdd-local-ai-diff-pre{max-height:260px;margin:10px 0 0;padding:10px;overflow:auto;color:#1f2937;font-size:12px;line-height:18px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:4px;white-space:pre-wrap}.mdd-local-ai .mdd-local-ai-side-diff{display:flex;flex-direction:column;gap:12px;margin-top:12px}.mdd-local-ai .mdd-local-ai-side-file{overflow:hidden;background:#f8fafc;border:1px solid #dce5f2;border-radius:8px}.mdd-local-ai .mdd-local-ai-side-file-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;color:#334155;font-size:12px;font-weight:700;background:#eef4ff;border-bottom:1px solid #dce5f2}.mdd-local-ai .mdd-local-ai-side-grid{display:grid;grid-template-columns:minmax(340px,1fr) minmax(340px,1fr);max-height:420px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:18px}.mdd-local-ai .mdd-local-ai-side-col-head{position:sticky;top:0;z-index:2;padding:7px 10px;color:#475569;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:700;background:#f8fafc;border-bottom:1px solid #e2e8f0}.mdd-local-ai .mdd-local-ai-side-col-head:first-child{border-right:1px solid #e2e8f0}.mdd-local-ai .mdd-local-ai-side-cell{display:grid;grid-template-columns:44px minmax(0,1fr);min-height:22px;border-bottom:1px solid #edf2f7}.mdd-local-ai .mdd-local-ai-side-cell.is-before{border-right:1px solid #e2e8f0}.mdd-local-ai .mdd-local-ai-side-cell.is-context{background:#fff}.mdd-local-ai .mdd-local-ai-side-cell.is-changed{background:#fff8db}.mdd-local-ai .mdd-local-ai-side-cell.is-before.is-removed,.mdd-local-ai .mdd-local-ai-side-cell.is-before.is-changed{background:#fff1f2}.mdd-local-ai .mdd-local-ai-side-cell.is-after.is-added,.mdd-local-ai .mdd-local-ai-side-cell.is-after.is-changed{background:#ecfdf3}.mdd-local-ai .mdd-local-ai-side-cell.is-omitted{color:#64748b;font-style:italic;background:#f1f5f9}.mdd-local-ai .mdd-local-ai-side-cell code{display:block;min-width:0;padding:2px 10px 2px 8px;overflow-wrap:anywhere;white-space:pre-wrap}.mdd-local-ai .mdd-local-ai-side-line{padding:2px 8px;color:#94a3b8;text-align:right;background:rgba(241,245,249,.75);border-right:1px solid #e2e8f0;user-select:none}.mdd-local-ai .tok-comment{color:#64748b;font-style:italic}.mdd-local-ai .tok-string{color:#047857}.mdd-local-ai .tok-number{color:#b45309}.mdd-local-ai .tok-keyword{color:#7c3aed;font-weight:600}.mdd-local-ai .tok-selector{color:#0369a1}.mdd-local-ai .tok-punc{color:#475569}.mdd-local-ai .tok-empty{color:transparent}.mdd-local-ai .mdd-local-ai-error{padding:10px 12px;color:#7a2e0e;background:#fff7e8;border:1px solid #ffd591;border-radius:6px}.mdd-local-ai .mdd-local-ai-error-title{margin-bottom:6px;font-weight:600}.mdd-local-ai .mdd-local-ai-error-message{line-height:20px;white-space:pre-wrap;word-break:break-word}.mdd-local-ai .mdd-local-ai-error-snippet{max-height:180px;margin:8px 0 0;padding:8px;overflow:auto;color:#3d3328;font-size:12px;line-height:18px;background:#fff;border:1px solid #ffe7ba;border-radius:4px;white-space:pre-wrap}.mdd-local-ai .mdd-local-ai-title{margin-bottom:8px;color:#1f2937;font-weight:600}.mdd-local-ai .mdd-local-ai-tips{line-height:24px;color:#555}@media (max-width: 560px){.mdd-local-ai .mdd-local-ai-bridge-row{align-items:stretch;flex-direction:column}.mdd-local-ai .mdd-local-ai-meta,.mdd-local-ai .mdd-local-ai-actions,.mdd-local-ai .mdd-local-ai-copy-actions{grid-template-columns:1fr}}._customTabItem_1y6va_1{padding:8px}._tabTitle_1y6va_5{font-size:14px}._tabLabel_1y6va_9{display:inline-block;padding:0 2px}.mdd-tip{color:#999;display:inline;padding-left:20px}
|
package/package.json
CHANGED
package/src/ai/LocalAIDrawer.jsx
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
openPageWorkspace,
|
|
9
9
|
pullPage,
|
|
10
10
|
pushPage,
|
|
11
|
+
rollbackPage,
|
|
11
12
|
shouldUseBridgeRelay,
|
|
12
13
|
} from './bridgeClient';
|
|
13
14
|
import { buildPageIR, getPageCode } from './pageIR';
|
|
@@ -101,11 +102,84 @@ const getChangeTypeText = (type) => {
|
|
|
101
102
|
}
|
|
102
103
|
};
|
|
103
104
|
|
|
105
|
+
const TOKEN_PATTERN =
|
|
106
|
+
/(\/\/.*|\/\*.*?\*\/|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|`(?:\\.|[^`\\])*`|\b(?:async|await|break|case|catch|class|const|default|else|export|false|finally|for|from|function|if|import|let|new|null|return|switch|throw|true|try|undefined|var|while)\b|\b\d+(?:\.\d+)?\b|[#.][a-zA-Z_-][\w-]*|@[a-zA-Z-]+|[{}()[\],;:])/g;
|
|
107
|
+
|
|
108
|
+
const getTokenClassName = (token, language) => {
|
|
109
|
+
if (/^\/\//.test(token) || /^\/\*/.test(token)) return 'tok-comment';
|
|
110
|
+
if (/^["'`]/.test(token)) return language === 'json' && token.endsWith('"') ? 'tok-string' : 'tok-string';
|
|
111
|
+
if (/^\d/.test(token)) return 'tok-number';
|
|
112
|
+
if (/^(#|\.|@)/.test(token)) return 'tok-selector';
|
|
113
|
+
if (/^[{}()[\],;:]$/.test(token)) return 'tok-punc';
|
|
114
|
+
return 'tok-keyword';
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
const renderHighlightedCode = (line = '', language = 'text') => {
|
|
118
|
+
if (!line) return <span className="tok-empty"> </span>;
|
|
119
|
+
const nodes = [];
|
|
120
|
+
let lastIndex = 0;
|
|
121
|
+
let match = TOKEN_PATTERN.exec(line);
|
|
122
|
+
while (match) {
|
|
123
|
+
if (match.index > lastIndex) {
|
|
124
|
+
nodes.push(line.slice(lastIndex, match.index));
|
|
125
|
+
}
|
|
126
|
+
const token = match[0];
|
|
127
|
+
nodes.push(
|
|
128
|
+
<span className={getTokenClassName(token, language)} key={`${match.index}-${token}`}>
|
|
129
|
+
{token}
|
|
130
|
+
</span>,
|
|
131
|
+
);
|
|
132
|
+
lastIndex = match.index + token.length;
|
|
133
|
+
match = TOKEN_PATTERN.exec(line);
|
|
134
|
+
}
|
|
135
|
+
if (lastIndex < line.length) {
|
|
136
|
+
nodes.push(line.slice(lastIndex));
|
|
137
|
+
}
|
|
138
|
+
TOKEN_PATTERN.lastIndex = 0;
|
|
139
|
+
return nodes;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
function SideBySideDiff({ files = [] }) {
|
|
143
|
+
if (!files.length) return null;
|
|
144
|
+
return (
|
|
145
|
+
<div className="mdd-local-ai-side-diff">
|
|
146
|
+
{files.map((file) => (
|
|
147
|
+
<div className="mdd-local-ai-side-file" key={file.fileName}>
|
|
148
|
+
<div className="mdd-local-ai-side-file-head">
|
|
149
|
+
<span>{file.fileName}</span>
|
|
150
|
+
<span>
|
|
151
|
+
-{file.stats?.removed || 0} / +{file.stats?.added || 0}
|
|
152
|
+
</span>
|
|
153
|
+
</div>
|
|
154
|
+
<div className="mdd-local-ai-side-grid">
|
|
155
|
+
<div className="mdd-local-ai-side-col-head">上次发送</div>
|
|
156
|
+
<div className="mdd-local-ai-side-col-head">本地修改</div>
|
|
157
|
+
{(file.rows || []).map((row, index) => (
|
|
158
|
+
<React.Fragment key={`${file.fileName}-${index}`}>
|
|
159
|
+
<div className={`mdd-local-ai-side-cell is-before is-${row.type}`}>
|
|
160
|
+
<span className="mdd-local-ai-side-line">{row.before?.lineNumber || ''}</span>
|
|
161
|
+
<code>{renderHighlightedCode(row.before?.content || '', file.language)}</code>
|
|
162
|
+
</div>
|
|
163
|
+
<div className={`mdd-local-ai-side-cell is-after is-${row.type}`}>
|
|
164
|
+
<span className="mdd-local-ai-side-line">{row.after?.lineNumber || ''}</span>
|
|
165
|
+
<code>{renderHighlightedCode(row.after?.content || '', file.language)}</code>
|
|
166
|
+
</div>
|
|
167
|
+
</React.Fragment>
|
|
168
|
+
))}
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
))}
|
|
172
|
+
</div>
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
|
|
104
176
|
function PullDiffDetail({ diffSummary }) {
|
|
105
177
|
if (!diffSummary?.hasBaseline) return null;
|
|
106
178
|
const schemaChanges = diffSummary.schema?.changes || diffSummary.schema?.paths || [];
|
|
107
179
|
const diffText = diffSummary.diffText || '';
|
|
108
|
-
const
|
|
180
|
+
const diffFiles = diffSummary.diffFiles || [];
|
|
181
|
+
const hasDetail =
|
|
182
|
+
schemaChanges.length > 0 || diffSummary.script?.changed || diffSummary.style?.changed || diffText || diffFiles.length;
|
|
109
183
|
if (!hasDetail) return null;
|
|
110
184
|
|
|
111
185
|
return (
|
|
@@ -150,7 +224,8 @@ function PullDiffDetail({ diffSummary }) {
|
|
|
150
224
|
</div>
|
|
151
225
|
) : null}
|
|
152
226
|
|
|
153
|
-
{
|
|
227
|
+
{diffFiles.length ? <SideBySideDiff files={diffFiles} /> : null}
|
|
228
|
+
{!diffFiles.length && diffText ? <pre className="mdd-local-ai-diff-pre">{diffText}</pre> : null}
|
|
154
229
|
</div>
|
|
155
230
|
</details>
|
|
156
231
|
);
|
|
@@ -302,6 +377,38 @@ export default function LocalAIDrawer(props) {
|
|
|
302
377
|
}
|
|
303
378
|
};
|
|
304
379
|
|
|
380
|
+
const handleRollback = async () => {
|
|
381
|
+
const confirmed = window.confirm(
|
|
382
|
+
'确认回滚到上次“发送到本地 AI”时的线上基线吗?回滚会先更新当前编辑器内容,确认预览后还需要使用原保存按钮提交到线上。',
|
|
383
|
+
);
|
|
384
|
+
if (!confirmed) return;
|
|
385
|
+
|
|
386
|
+
setLoadingAction('rollback');
|
|
387
|
+
setPullError(null);
|
|
388
|
+
try {
|
|
389
|
+
const res = await rollbackPage(baseURL, pageCode);
|
|
390
|
+
const nextSchema = parseSchema(res?.schemaInfo);
|
|
391
|
+
const nextScriptInfo = {
|
|
392
|
+
script: res?.scriptInfo || '',
|
|
393
|
+
style: res?.style || '',
|
|
394
|
+
};
|
|
395
|
+
applySchemaToEditor(schema, nextSchema);
|
|
396
|
+
schema.emit(EVENT_KEY.SCRIPT_UPDATE, nextScriptInfo);
|
|
397
|
+
onApply?.({
|
|
398
|
+
schemaJson: nextSchema,
|
|
399
|
+
scriptInfo: nextScriptInfo,
|
|
400
|
+
raw: res,
|
|
401
|
+
});
|
|
402
|
+
setLastSummary(res?.summary || '已回滚到上次发送到本地 AI 时的基线');
|
|
403
|
+
setLastDiffSummary(null);
|
|
404
|
+
Message.success('已回滚上次 AI 修改,请预览后保存');
|
|
405
|
+
} catch (e) {
|
|
406
|
+
Message.error(e.message || '回滚上次更改失败');
|
|
407
|
+
} finally {
|
|
408
|
+
setLoadingAction('');
|
|
409
|
+
}
|
|
410
|
+
};
|
|
411
|
+
|
|
305
412
|
const handleStatus = async () => {
|
|
306
413
|
setLoadingAction('status');
|
|
307
414
|
try {
|
|
@@ -405,6 +512,9 @@ export default function LocalAIDrawer(props) {
|
|
|
405
512
|
<CnButton loading={loadingAction === 'open'} onClick={handleOpen}>
|
|
406
513
|
打开目录
|
|
407
514
|
</CnButton>
|
|
515
|
+
<CnButton loading={loadingAction === 'rollback'} onClick={handleRollback}>
|
|
516
|
+
回滚上次更改
|
|
517
|
+
</CnButton>
|
|
408
518
|
</div>
|
|
409
519
|
</div>
|
|
410
520
|
|
package/src/ai/bridgeClient.js
CHANGED
|
@@ -207,6 +207,12 @@ export function pullPage(baseURL, code) {
|
|
|
207
207
|
});
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
+
export function rollbackPage(baseURL, code) {
|
|
211
|
+
return request(baseURL, `/pages/${encodeURIComponent(code)}/rollback`, {
|
|
212
|
+
method: 'POST',
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
210
216
|
export function getPageStatus(baseURL, code) {
|
|
211
217
|
return request(baseURL, `/pages/${encodeURIComponent(code)}/status`, {
|
|
212
218
|
method: 'GET',
|