x-print-designer 0.4.6 → 0.4.8
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 +24 -4
- package/dist/{JsBarcode-vc-3mdEJ.js → JsBarcode-DxjTagMM.js} +1 -1
- package/dist/{browser-DsS88qn_.js → browser-CYHQS9L7.js} +1 -1
- package/dist/{dom-to-image-more.min-BEgF6dfQ.js → dom-to-image-more.min-BPzsxQjT.js} +1 -1
- package/dist/{index-ChgzOe1D.js → index-DDpdu5o7.js} +1 -1
- package/dist/{index.es-DCb7AXDf.js → index.es-bGPC2lWY.js} +1 -1
- package/dist/{jspdf.es.min-D2oIFFrB.js → jspdf.es.min-Bl2JrjPw.js} +1 -1
- package/dist/{jszip.min-BDwXmkf5.js → jszip.min-DjNutFBr.js} +1 -1
- package/dist/print-designer.css +1 -1
- package/dist/print-designer.es.js +1 -1
- package/dist/print-designer.umd.js +33 -33
- package/dist/{web-component-D3C-OgqR.js → web-component-DTlUr7qT.js} +2495 -1570
- package/dist/web-component.d.ts +57 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -350,17 +350,37 @@ designer.setMode('report')
|
|
|
350
350
|
| `setTestData(data)` | `Record<string, any>` | `void` | 设置测试/预览数据(等价 Vue 组件的 `sample-data`) |
|
|
351
351
|
| `setSampleData(data)` | `Record<string, any>` | `void` | `setTestData` 的别名 |
|
|
352
352
|
| `setVariables(vars)` | `Record<string, any>` | `void` | 打印/导出时注入真实变量(覆盖 testData 中的同名字段) |
|
|
353
|
-
| `setTemplates(list, opts?)` | `Array<Template>, object?` | `void
|
|
354
|
-
| `loadTemplate(id)` | `string` | `Promise<
|
|
353
|
+
| `setTemplates(list, opts?)` | `Array<Template>, object?` | `Promise<void>` | 设置预设模板列表并加载当前模板。`opts` 可选:`{ currentTemplateId?: string }`。返回的 Promise 在画布 pages 填充完成后 resolve,可据此消除时序竞态 |
|
|
354
|
+
| `loadTemplate(id)` | `string` | `Promise<boolean>` | 加载指定模板到画布。resolve 时 pages 已填充;返回 `false` 表示因前置条件(如正在编辑自定义元素)未触发 |
|
|
355
355
|
| `loadTemplateData(data)` | `Record<string, any>` | `boolean` | 直接加载模板 JSON 数据到画布,返回是否成功 |
|
|
356
356
|
| `getTemplateData()` | — | `Record<string, any>` | 获取当前模板完整数据 |
|
|
357
357
|
| `getPreviewHtml()` | — | `Promise<string>` | 获取预览 HTML 字符串 |
|
|
358
358
|
| `print(options?)` | `PrintOptions` | `Promise<void>` | 执行打印,详见[打印与导出](#打印与导出) |
|
|
359
359
|
| `export(options?)` | `ExportOptions` | `Promise<void>` | 导出 PDF / 图片 / HTML,详见[打印与导出](#打印与导出) |
|
|
360
|
-
| `setPreviewMode(options)` | `PreviewModeOptions` | `void` |
|
|
360
|
+
| `setPreviewMode(options)` | `PreviewModeOptions` | `void` | 进入独立预览面板模式。传入的 `pages` 若含循环页(`loopDataVariable`),预览时会自动按数据展开成 N 页 |
|
|
361
361
|
| `exitPreviewMode()` | — | `void` | 退出预览模式,返回编辑器 |
|
|
362
362
|
| `setBranding(config)` | `{ title?, logoUrl?, showTitle?, showLogo? }` | `void` | 设置品牌标识 |
|
|
363
|
-
| `
|
|
363
|
+
| `setLanguage(lang)` | `'zh'` \| `'en'` | `void` | 切换语言 |
|
|
364
|
+
| `setCrudMode(mode, opts?)` | `'local'` \| `'remote'`, `{ skipAutoLoad?: boolean }` | `void` | 切换 CRUD 模式。`skipAutoLoad: true` 跳过 remote 模式下自动 `loadTemplates + loadTemplate` 的链式加载,适用于已通过 `setTemplates` 提供数据的场景,避免双次加载闪烁 |
|
|
365
|
+
| `expandLoopPages(pages, ctx?)` | `Page[], LoopExpandContext?` | `Page[]` | 循环页展开:按 `page.loopDataVariable` + 数据数组,把 1 个模板页展开成 N 页。不传 `ctx` 时默认使用当前 store 数据(导出语义) |
|
|
366
|
+
| `hasLoopPage(pages)` | `Page[]?` | `boolean` | 判断页面数组中是否含循环页 |
|
|
367
|
+
| `collapseLoopPages(currentPages, originalPages)` | `Page[], Page[]` | `Page[]` | 折叠已展开的循环页,还原为带 `loopDataVariable` 的单个模板页。适用于报告模式保存前还原模板结构 |
|
|
368
|
+
|
|
369
|
+
### 事件参考
|
|
370
|
+
|
|
371
|
+
Web Component 元素会派发以下自定义事件,可通过 `addEventListener` 监听:
|
|
372
|
+
|
|
373
|
+
| 事件名 | 触发时机 | `detail` 结构 |
|
|
374
|
+
|--------|---------|--------------|
|
|
375
|
+
| `ready` | 组件挂载完成、API 可调用时(下一个 tick 派发) | 无 |
|
|
376
|
+
| `templateloaded` | 模板加载完成、画布 pages 已填充时 | `{ id: string, mode: 'template' \| 'report' }` |
|
|
377
|
+
| `print` | 开始执行打印前 | `{ request: DesignerPrintRequest }` |
|
|
378
|
+
| `printed` | 打印成功完成 | `{ request, result }` |
|
|
379
|
+
| `export` | 开始导出前 | `{ request: DesignerExportRequest }` |
|
|
380
|
+
| `exported` | 导出成功完成(pdf/html/images/pdfBlob/imageBlob) | `{ request }` 或 `{ request, blob }`(Blob 类型) |
|
|
381
|
+
| `error` | 打印/导出/内部渲染出错 | `{ scope: 'print' \| 'export' \| 'getPreviewHtml' \| 'render', error, info? }` |
|
|
382
|
+
|
|
383
|
+
> **时序提示**:若需要在模板加载完成后执行操作(如注入运行时数据),监听 `templateloaded` 事件,或 `await` `setTemplates` / `loadTemplate` 返回的 Promise,二者等价且都比轮询 `store.pages` 更可靠。
|
|
364
384
|
|
|
365
385
|
### 基本使用示例
|
|
366
386
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, h, computed, onUnmounted, watch, shallowRef, loader, onMounted, nextTick, ref } from "./web-component-
|
|
1
|
+
import { defineComponent, h, computed, onUnmounted, watch, shallowRef, loader, onMounted, nextTick, ref } from "./web-component-DTlUr7qT.js";
|
|
2
2
|
var __defProp$2 = Object.defineProperty;
|
|
3
3
|
var __defProps = Object.defineProperties;
|
|
4
4
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { commonjsGlobal, getDefaultExportFromCjs } from "./web-component-
|
|
1
|
+
import { commonjsGlobal, getDefaultExportFromCjs } from "./web-component-DTlUr7qT.js";
|
|
2
2
|
import { _typeof as _typeof$1 } from "./typeof-DxTVrAEz.js";
|
|
3
3
|
var es_promise = {};
|
|
4
4
|
var es_promise_constructor = {};
|
|
@@ -10832,7 +10832,7 @@ function le() {
|
|
|
10832
10832
|
var h2 = l2.getContext("2d");
|
|
10833
10833
|
h2.fillStyle = "#fff", h2.fillRect(0, 0, l2.width, l2.height);
|
|
10834
10834
|
var f2 = { ignoreMouse: true, ignoreAnimation: true, ignoreDimensions: true }, d2 = this;
|
|
10835
|
-
return (i.canvg ? Promise.resolve(i.canvg) : import("./index.es-
|
|
10835
|
+
return (i.canvg ? Promise.resolve(i.canvg) : import("./index.es-bGPC2lWY.js")).catch(function(t3) {
|
|
10836
10836
|
return Promise.reject(new Error("Could not load canvg: " + t3));
|
|
10837
10837
|
}).then(function(t3) {
|
|
10838
10838
|
return t3.default ? t3.default : t3;
|
package/dist/print-designer.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.field-picker-overlay[data-v-774c4c6c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color-scheme:light}.field-picker-dialog[data-v-774c4c6c]{width:min(920px,96vw);height:min(760px,86vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.field-picker-header[data-v-774c4c6c]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e5e7eb}.field-picker-title-block[data-v-774c4c6c]{display:flex;align-items:center;gap:12px;min-width:0}.field-picker-title-block h2[data-v-774c4c6c]{margin:0;color:#111827;font-size:17px;font-weight:700}.field-picker-title-block p[data-v-774c4c6c]{margin:2px 0 0;color:#6b7280;font-size:12px}.field-picker-mark[data-v-774c4c6c]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eef2ff;color:#4f46e5;font-size:15px;font-weight:800}.field-picker-icon-button[data-v-774c4c6c]{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer}.field-picker-icon-button[data-v-774c4c6c]:hover{background:#f3f4f6;color:#111827}.field-picker-icon-button svg[data-v-774c4c6c]{width:18px;height:18px}.field-picker-toolbar[data-v-774c4c6c]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #eef2f7}.field-picker-search[data-v-774c4c6c]{position:relative;flex:1;min-width:0}.field-picker-search-icon[data-v-774c4c6c]{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.field-picker-search input[data-v-774c4c6c]{width:100%;height:36px;box-sizing:border-box;padding:0 12px 0 36px;border:1px solid #d1d5db;border-radius:8px;outline:none;color:#111827;background:#fff;font-size:13px}.field-picker-search input[data-v-774c4c6c]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.field-picker-filter[data-v-774c4c6c]{max-width:160px;padding:7px 10px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:12px;white-space:nowrap}.field-picker-empty[data-v-774c4c6c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6b7280}.field-picker-empty-icon[data-v-774c4c6c]{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f3f4f6;color:#9ca3af;font-size:12px;font-weight:800}.field-picker-empty strong[data-v-774c4c6c]{color:#374151;font-size:15px}.field-picker-empty span[data-v-774c4c6c]{font-size:12px}.field-picker-body[data-v-774c4c6c]{flex:1;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr);background:#f8fafc}.field-picker-sections[data-v-774c4c6c]{min-height:0;overflow:auto;padding:12px;border-right:1px solid #e5e7eb;background:#fff}.field-picker-section[data-v-774c4c6c]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px;padding:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#374151;text-align:left;cursor:pointer}.field-picker-section[data-v-774c4c6c]:hover{background:#f9fafb}.field-picker-section.active[data-v-774c4c6c]{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.field-picker-section-main[data-v-774c4c6c]{min-width:0;display:flex;flex-direction:column;gap:2px}.field-picker-section-main span[data-v-774c4c6c]{overflow:hidden;text-overflow:ellipsis;color:inherit;font-size:13px;font-weight:650;white-space:nowrap}.field-picker-section-main small[data-v-774c4c6c]{overflow:hidden;text-overflow:ellipsis;color:#6b7280;font-size:11px;white-space:nowrap}.field-picker-section-count[data-v-774c4c6c]{min-width:26px;padding:2px 7px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:11px;text-align:center}.field-picker-section.active .field-picker-section-count[data-v-774c4c6c]{background:#dbeafe;color:#1d4ed8}.field-picker-results[data-v-774c4c6c]{min-width:0;min-height:0;display:flex;flex-direction:column;padding:14px}.field-picker-result-head[data-v-774c4c6c]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#6b7280;font-size:12px}.field-picker-result-head strong[data-v-774c4c6c]{display:block;color:#111827;font-size:14px}.field-picker-stats[data-v-774c4c6c]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.field-picker-stats span[data-v-774c4c6c]{padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #e5e7eb}.field-picker-list[data-v-774c4c6c]{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.field-picker-row[data-v-774c4c6c]{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,190px);align-items:center;gap:12px;padding:11px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#111827;text-align:left;cursor:pointer}.field-picker-row[data-v-774c4c6c]:hover{border-color:#93c5fd;background:#f8fbff}.field-picker-row.selected[data-v-774c4c6c]{border-color:#60a5fa;background:#eff6ff}.field-picker-kind[data-v-774c4c6c]{min-width:44px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;text-align:center;white-space:nowrap}.field-picker-kind.is-string[data-v-774c4c6c]{background:#fff7ed;color:#c2410c}.field-picker-kind.is-number[data-v-774c4c6c]{background:#eff6ff;color:#2563eb}.field-picker-kind.is-boolean[data-v-774c4c6c]{background:#faf5ff;color:#9333ea}.field-picker-kind.is-array[data-v-774c4c6c]{background:#eef2ff;color:#4f46e5}.field-picker-kind.is-null[data-v-774c4c6c],.field-picker-kind.is-unknown[data-v-774c4c6c]{background:#f3f4f6;color:#6b7280}.field-picker-row-content[data-v-774c4c6c]{min-width:0;display:flex;flex-direction:column;gap:3px}.field-picker-row-title[data-v-774c4c6c]{min-width:0;display:flex;align-items:center;gap:6px}.field-picker-label[data-v-774c4c6c]{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:650;white-space:nowrap}.field-picker-mapped[data-v-774c4c6c],.field-picker-selected[data-v-774c4c6c]{flex-shrink:0;padding:2px 6px;border-radius:999px;font-size:10px}.field-picker-mapped[data-v-774c4c6c]{background:#ecfdf5;color:#047857}.field-picker-selected[data-v-774c4c6c]{background:#dbeafe;color:#1d4ed8}.field-picker-path[data-v-774c4c6c]{overflow:hidden;text-overflow:ellipsis;color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;white-space:nowrap}.field-picker-desc[data-v-774c4c6c]{overflow:hidden;text-overflow:ellipsis;color:#9ca3af;font-size:11px;white-space:nowrap}.field-picker-sample[data-v-774c4c6c]{min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:#6b7280}.field-picker-sample small[data-v-774c4c6c],.field-picker-sample em[data-v-774c4c6c]{color:#9ca3af;font-size:10px;font-style:normal}.field-picker-sample span[data-v-774c4c6c]{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.field-picker-no-result[data-v-774c4c6c]{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:13px}.field-picker-footer[data-v-774c4c6c]{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:10px 16px;border-top:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:12px}@media(max-width:720px){.field-picker-overlay[data-v-774c4c6c]{padding:10px}.field-picker-dialog[data-v-774c4c6c]{width:100%;height:92vh}.field-picker-body[data-v-774c4c6c]{grid-template-columns:1fr}.field-picker-sections[data-v-774c4c6c]{display:flex;gap:8px;overflow-x:auto;border-right:0;border-bottom:1px solid #e5e7eb}.field-picker-section[data-v-774c4c6c]{min-width:160px;margin:0}.field-picker-row[data-v-774c4c6c]{grid-template-columns:auto minmax(0,1fr)}.field-picker-sample[data-v-774c4c6c]{grid-column:2;align-items:flex-start}}.checkerboard[data-v-7ca6a7e0]{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff}:root.dark .checkerboard[data-v-7ca6a7e0]{background-image:linear-gradient(45deg,#444 25%,transparent 25%),linear-gradient(-45deg,#444 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#444 75%),linear-gradient(-45deg,transparent 75%,#444 75%);background-color:#222}.rich-text-content[data-v-3ca3e1d8] b,.rich-text-content[data-v-3ca3e1d8] strong{font-weight:700}.rich-text-content[data-v-3ca3e1d8] i,.rich-text-content[data-v-3ca3e1d8] em{font-style:italic}.rich-text-content[data-v-3ca3e1d8] u{text-decoration:underline}.rich-text-content[data-v-3ca3e1d8] s,.rich-text-content[data-v-3ca3e1d8] strike{text-decoration:line-through}.rich-text-content[data-v-3ca3e1d8] ul{list-style-type:disc;padding-left:20px}.rich-text-content[data-v-3ca3e1d8] ol{list-style-type:decimal;padding-left:20px}.rich-text-content[data-v-3ca3e1d8] li{margin:4px 0}.print-renderer[data-v-d181d33d]{padding:0}.animate-fade-in[data-v-4c59b77a]{animation:fadeIn-4c59b77a .2s ease-out}@keyframes fadeIn-4c59b77a{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-v-97a5fbbf] .print-page{margin-bottom:20px;background:#fff;box-shadow:none!important;position:relative!important;left:auto!important;top:auto!important}[data-v-97a5fbbf] .print-page:last-child{margin-bottom:0}.preview-content[data-v-97a5fbbf] *{cursor:default!important}.preview-content[data-v-97a5fbbf] table{border-collapse:collapse!important;box-sizing:border-box!important}.preview-content[data-v-97a5fbbf] table td,.preview-content[data-v-97a5fbbf] table th{box-sizing:border-box!important}.resize-y[data-v-e19d1803]{resize:vertical}.custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:2px}.custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.dark .custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-thumb{background-color:#374151}.dark .custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-thumb:hover{background-color:#4b5563}.prose[data-v-8b504327] b,.prose[data-v-8b504327] strong{font-weight:700}.prose[data-v-8b504327] i,.prose[data-v-8b504327] em{font-style:italic}.prose[data-v-8b504327] u{text-decoration:underline}.prose[data-v-8b504327] ul{list-style-type:disc;padding-left:20px}.prose[data-v-8b504327] ol{list-style-type:decimal;padding-left:20px}.prose[data-v-8b504327] li{margin:4px 0}.custom-scrollbar[data-v-b836815d]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:2px}.custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.dark .custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-thumb{background-color:#374151}.dark .custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-thumb:hover{background-color:#4b5563}.custom-scrollbar[data-v-abd69fc3]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-abd69fc3]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-abd69fc3]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:2px}.dark .custom-scrollbar[data-v-abd69fc3]::-webkit-scrollbar-thumb{background-color:#374151}.custom-scrollbar[data-v-996ab1b2]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-996ab1b2]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-996ab1b2]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:3px}.custom-scrollbar[data-v-996ab1b2]::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.no-scrollbar[data-v-9e6ec8c1]{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar[data-v-9e6ec8c1]::-webkit-scrollbar{display:none}.custom-scrollbar[data-v-105a64be]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:3px}.custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.dark .custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-thumb{background-color:#374151}.dark .custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-thumb:hover{background-color:#4b5563}.tree-node[data-v-ab4421ba]{position:relative}.tree-node .hover\:bg-gray-50[data-v-ab4421ba]:hover{background-color:#f9fafb!important}.tree-node .dark[data-v-ab4421ba]:hover\:bg-gray-800\/50:hover{background-color:#1f293780!important}.tree-node .text-gray-400[data-v-ab4421ba]{color:#9ca3af!important}.tree-node .text-gray-800[data-v-ab4421ba]{color:#1f2937!important}.tree-node .dark\:text-gray-200[data-v-ab4421ba]{color:#e5e7eb!important}.tree-node .dark\:text-gray-100[data-v-ab4421ba],.tree-node .text-black[data-v-ab4421ba],.tree-node .dark\:text-white[data-v-ab4421ba]{color:#000!important}.tree-node .text-gray-700[data-v-ab4421ba]{color:#374151!important}.tree-node .dark\:text-gray-300[data-v-ab4421ba]{color:#d1d5db!important}.tree-node .text-indigo-800[data-v-ab4421ba]{color:#1e1b4b!important}.tree-node .dark\:text-indigo-200[data-v-ab4421ba]{color:#c7d2fe!important}.tree-node .text-indigo-600[data-v-ab4421ba]{color:#4f46e5!important}.tree-node .dark\:text-indigo-400[data-v-ab4421ba]{color:#a5b4fc!important}.data-manager-overlay[data-v-d86409cd]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color-scheme:light}.data-manager-dialog[data-v-d86409cd]{width:min(980px,96vw);height:min(780px,88vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.data-manager-header[data-v-d86409cd]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e5e7eb}.data-manager-title[data-v-d86409cd]{min-width:0;display:flex;align-items:center;gap:12px}.data-manager-title-icon[data-v-d86409cd]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eef2ff;color:#4f46e5}.data-manager-title-icon svg[data-v-d86409cd]{width:19px;height:19px}.data-manager-title h2[data-v-d86409cd]{margin:0;color:#111827;font-size:17px;font-weight:700}.data-manager-title p[data-v-d86409cd]{margin:2px 0 0;color:#6b7280;font-size:12px}.data-manager-actions[data-v-d86409cd]{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.icon-button[data-v-d86409cd],.text-button[data-v-d86409cd],.primary-button[data-v-d86409cd],.plain-button[data-v-d86409cd]{border:0;border-radius:8px;cursor:pointer;font-family:inherit}.icon-button[data-v-d86409cd]{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#6b7280}.icon-button[data-v-d86409cd]:hover,.text-button[data-v-d86409cd]:hover,.plain-button[data-v-d86409cd]:hover{background:#f3f4f6;color:#111827}.icon-button.danger[data-v-d86409cd]{color:#dc2626}.icon-button svg[data-v-d86409cd]{width:18px;height:18px}.text-button[data-v-d86409cd]{height:34px;padding:0 10px;background:transparent;color:#4b5563;font-size:12px;font-weight:650}.data-manager-divider[data-v-d86409cd]{width:1px;height:22px;margin:0 6px;background:#e5e7eb}.data-manager-tabs[data-v-d86409cd]{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid #eef2f7;background:#fff}.data-manager-tabs button[data-v-d86409cd]{height:30px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:#f3f4f6;color:#4b5563;font-size:12px;font-weight:650;cursor:pointer}.data-manager-tabs button.active[data-v-d86409cd]{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.data-manager-body[data-v-d86409cd]{flex:1;min-height:0;overflow:hidden;background:#f8fafc}.data-manager-editor[data-v-d86409cd]{width:100%;height:100%;box-sizing:border-box;padding:16px;border:0;outline:none;resize:none;background:#0f172a;color:#e5e7eb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6}.data-manager-empty[data-v-d86409cd]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6b7280}.data-manager-empty-icon[data-v-d86409cd]{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#f3f4f6;color:#9ca3af}.data-manager-empty-icon svg[data-v-d86409cd]{width:30px;height:30px}.data-manager-empty strong[data-v-d86409cd]{color:#374151;font-size:15px}.data-manager-empty span[data-v-d86409cd]{font-size:12px}.data-manager-overview[data-v-d86409cd]{height:100%;box-sizing:border-box;overflow:auto;padding:16px}.data-manager-metrics[data-v-d86409cd]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-card[data-v-d86409cd]{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.metric-card span[data-v-d86409cd]{display:block;color:#6b7280;font-size:12px}.metric-card strong[data-v-d86409cd]{display:block;margin-top:4px;color:#111827;font-size:22px;line-height:1}.data-section-list[data-v-d86409cd]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.data-section-card[data-v-d86409cd]{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.data-section-head[data-v-d86409cd]{display:flex;justify-content:space-between;gap:12px}.data-section-head div[data-v-d86409cd]{min-width:0}.data-section-head strong[data-v-d86409cd]{display:block;overflow:hidden;text-overflow:ellipsis;color:#111827;font-size:14px;white-space:nowrap}.data-section-head span[data-v-d86409cd]{display:block;overflow:hidden;text-overflow:ellipsis;margin-top:2px;color:#6b7280;font-size:11px;white-space:nowrap}.data-section-head em[data-v-d86409cd]{flex-shrink:0;min-width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:11px;font-style:normal;font-weight:700}.data-section-tags[data-v-d86409cd]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.data-section-tags span[data-v-d86409cd]{padding:3px 7px;border-radius:999px;background:#f8fafc;color:#6b7280;font-size:11px}.data-section-samples[data-v-d86409cd]{display:flex;flex-direction:column;gap:6px;margin-top:10px}.data-section-samples div[data-v-d86409cd]{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,140px);gap:10px;align-items:center}.data-section-samples code[data-v-d86409cd]{overflow:hidden;text-overflow:ellipsis;color:#1d4ed8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;white-space:nowrap}.data-section-samples span[data-v-d86409cd]{overflow:hidden;text-overflow:ellipsis;color:#6b7280;font-size:11px;text-align:right;white-space:nowrap}.data-manager-tree[data-v-d86409cd]{height:100%;box-sizing:border-box;overflow:auto;padding:16px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.data-manager-footer[data-v-d86409cd]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #e5e7eb;background:#fff}.data-manager-footer-left[data-v-d86409cd]{display:flex;align-items:center;gap:8px}.primary-button[data-v-d86409cd]{height:34px;padding:0 14px;background:#2563eb;color:#fff;font-size:13px;font-weight:700}.primary-button[data-v-d86409cd]:hover{background:#1d4ed8}.primary-button.save[data-v-d86409cd]{background:#059669}.primary-button.save[data-v-d86409cd]:hover{background:#047857}.plain-button[data-v-d86409cd]{height:34px;padding:0 12px;background:transparent;color:#4b5563;font-size:13px}.data-manager-footer-stat[data-v-d86409cd]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;color:#6b7280;font-size:12px}@media(max-width:760px){.data-manager-overlay[data-v-d86409cd]{padding:10px}.data-manager-dialog[data-v-d86409cd]{width:100%;height:92vh}.data-manager-header[data-v-d86409cd],.data-manager-footer[data-v-d86409cd]{align-items:flex-start;flex-direction:column}.data-manager-actions[data-v-d86409cd]{justify-content:flex-start}.data-manager-metrics[data-v-d86409cd],.data-section-list[data-v-d86409cd]{grid-template-columns:1fr}}.preview-page[data-v-bf5c0d73]{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;background-color:#f3f4f6}.print-page[data-v-bf5c0d73]{background:#fff;flex-shrink:0}
|
|
1
|
+
.field-picker-overlay[data-v-774c4c6c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color-scheme:light}.field-picker-dialog[data-v-774c4c6c]{width:min(920px,96vw);height:min(760px,86vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.field-picker-header[data-v-774c4c6c]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e5e7eb}.field-picker-title-block[data-v-774c4c6c]{display:flex;align-items:center;gap:12px;min-width:0}.field-picker-title-block h2[data-v-774c4c6c]{margin:0;color:#111827;font-size:17px;font-weight:700}.field-picker-title-block p[data-v-774c4c6c]{margin:2px 0 0;color:#6b7280;font-size:12px}.field-picker-mark[data-v-774c4c6c]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eef2ff;color:#4f46e5;font-size:15px;font-weight:800}.field-picker-icon-button[data-v-774c4c6c]{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer}.field-picker-icon-button[data-v-774c4c6c]:hover{background:#f3f4f6;color:#111827}.field-picker-icon-button svg[data-v-774c4c6c]{width:18px;height:18px}.field-picker-toolbar[data-v-774c4c6c]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #eef2f7}.field-picker-search[data-v-774c4c6c]{position:relative;flex:1;min-width:0}.field-picker-search-icon[data-v-774c4c6c]{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.field-picker-search input[data-v-774c4c6c]{width:100%;height:36px;box-sizing:border-box;padding:0 12px 0 36px;border:1px solid #d1d5db;border-radius:8px;outline:none;color:#111827;background:#fff;font-size:13px}.field-picker-search input[data-v-774c4c6c]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.field-picker-filter[data-v-774c4c6c]{max-width:160px;padding:7px 10px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:12px;white-space:nowrap}.field-picker-empty[data-v-774c4c6c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6b7280}.field-picker-empty-icon[data-v-774c4c6c]{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f3f4f6;color:#9ca3af;font-size:12px;font-weight:800}.field-picker-empty strong[data-v-774c4c6c]{color:#374151;font-size:15px}.field-picker-empty span[data-v-774c4c6c]{font-size:12px}.field-picker-body[data-v-774c4c6c]{flex:1;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr);background:#f8fafc}.field-picker-sections[data-v-774c4c6c]{min-height:0;overflow:auto;padding:12px;border-right:1px solid #e5e7eb;background:#fff}.field-picker-section[data-v-774c4c6c]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px;padding:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#374151;text-align:left;cursor:pointer}.field-picker-section[data-v-774c4c6c]:hover{background:#f9fafb}.field-picker-section.active[data-v-774c4c6c]{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.field-picker-section-main[data-v-774c4c6c]{min-width:0;display:flex;flex-direction:column;gap:2px}.field-picker-section-main span[data-v-774c4c6c]{overflow:hidden;text-overflow:ellipsis;color:inherit;font-size:13px;font-weight:650;white-space:nowrap}.field-picker-section-main small[data-v-774c4c6c]{overflow:hidden;text-overflow:ellipsis;color:#6b7280;font-size:11px;white-space:nowrap}.field-picker-section-count[data-v-774c4c6c]{min-width:26px;padding:2px 7px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:11px;text-align:center}.field-picker-section.active .field-picker-section-count[data-v-774c4c6c]{background:#dbeafe;color:#1d4ed8}.field-picker-results[data-v-774c4c6c]{min-width:0;min-height:0;display:flex;flex-direction:column;padding:14px}.field-picker-result-head[data-v-774c4c6c]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#6b7280;font-size:12px}.field-picker-result-head strong[data-v-774c4c6c]{display:block;color:#111827;font-size:14px}.field-picker-stats[data-v-774c4c6c]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.field-picker-stats span[data-v-774c4c6c]{padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #e5e7eb}.field-picker-list[data-v-774c4c6c]{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.field-picker-row[data-v-774c4c6c]{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,190px);align-items:center;gap:12px;padding:11px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#111827;text-align:left;cursor:pointer}.field-picker-row[data-v-774c4c6c]:hover{border-color:#93c5fd;background:#f8fbff}.field-picker-row.selected[data-v-774c4c6c]{border-color:#60a5fa;background:#eff6ff}.field-picker-kind[data-v-774c4c6c]{min-width:44px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;text-align:center;white-space:nowrap}.field-picker-kind.is-string[data-v-774c4c6c]{background:#fff7ed;color:#c2410c}.field-picker-kind.is-number[data-v-774c4c6c]{background:#eff6ff;color:#2563eb}.field-picker-kind.is-boolean[data-v-774c4c6c]{background:#faf5ff;color:#9333ea}.field-picker-kind.is-array[data-v-774c4c6c]{background:#eef2ff;color:#4f46e5}.field-picker-kind.is-null[data-v-774c4c6c],.field-picker-kind.is-unknown[data-v-774c4c6c]{background:#f3f4f6;color:#6b7280}.field-picker-row-content[data-v-774c4c6c]{min-width:0;display:flex;flex-direction:column;gap:3px}.field-picker-row-title[data-v-774c4c6c]{min-width:0;display:flex;align-items:center;gap:6px}.field-picker-label[data-v-774c4c6c]{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:650;white-space:nowrap}.field-picker-mapped[data-v-774c4c6c],.field-picker-selected[data-v-774c4c6c]{flex-shrink:0;padding:2px 6px;border-radius:999px;font-size:10px}.field-picker-mapped[data-v-774c4c6c]{background:#ecfdf5;color:#047857}.field-picker-selected[data-v-774c4c6c]{background:#dbeafe;color:#1d4ed8}.field-picker-path[data-v-774c4c6c]{overflow:hidden;text-overflow:ellipsis;color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;white-space:nowrap}.field-picker-desc[data-v-774c4c6c]{overflow:hidden;text-overflow:ellipsis;color:#9ca3af;font-size:11px;white-space:nowrap}.field-picker-sample[data-v-774c4c6c]{min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:#6b7280}.field-picker-sample small[data-v-774c4c6c],.field-picker-sample em[data-v-774c4c6c]{color:#9ca3af;font-size:10px;font-style:normal}.field-picker-sample span[data-v-774c4c6c]{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.field-picker-no-result[data-v-774c4c6c]{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:13px}.field-picker-footer[data-v-774c4c6c]{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:10px 16px;border-top:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:12px}@media(max-width:720px){.field-picker-overlay[data-v-774c4c6c]{padding:10px}.field-picker-dialog[data-v-774c4c6c]{width:100%;height:92vh}.field-picker-body[data-v-774c4c6c]{grid-template-columns:1fr}.field-picker-sections[data-v-774c4c6c]{display:flex;gap:8px;overflow-x:auto;border-right:0;border-bottom:1px solid #e5e7eb}.field-picker-section[data-v-774c4c6c]{min-width:160px;margin:0}.field-picker-row[data-v-774c4c6c]{grid-template-columns:auto minmax(0,1fr)}.field-picker-sample[data-v-774c4c6c]{grid-column:2;align-items:flex-start}}.checkerboard[data-v-a367d5a2]{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff}:root.dark .checkerboard[data-v-a367d5a2]{background-image:linear-gradient(45deg,#444 25%,transparent 25%),linear-gradient(-45deg,#444 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#444 75%),linear-gradient(-45deg,transparent 75%,#444 75%);background-color:#222}.rich-text-content[data-v-4f64b16f] b,.rich-text-content[data-v-4f64b16f] strong{font-weight:700}.rich-text-content[data-v-4f64b16f] i,.rich-text-content[data-v-4f64b16f] em{font-style:italic}.rich-text-content[data-v-4f64b16f] u{text-decoration:underline}.rich-text-content[data-v-4f64b16f] s,.rich-text-content[data-v-4f64b16f] strike{text-decoration:line-through}.rich-text-content[data-v-4f64b16f] ul{list-style-type:disc;padding-left:20px}.rich-text-content[data-v-4f64b16f] ol{list-style-type:decimal;padding-left:20px}.rich-text-content[data-v-4f64b16f] li{margin:4px 0}.print-renderer[data-v-d181d33d]{padding:0}.animate-fade-in[data-v-4c59b77a]{animation:fadeIn-4c59b77a .2s ease-out}@keyframes fadeIn-4c59b77a{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-v-97a5fbbf] .print-page{margin-bottom:20px;background:#fff;box-shadow:none!important;position:relative!important;left:auto!important;top:auto!important}[data-v-97a5fbbf] .print-page:last-child{margin-bottom:0}.preview-content[data-v-97a5fbbf] *{cursor:default!important}.preview-content[data-v-97a5fbbf] table{border-collapse:collapse!important;box-sizing:border-box!important}.preview-content[data-v-97a5fbbf] table td,.preview-content[data-v-97a5fbbf] table th{box-sizing:border-box!important}.resize-y[data-v-e19d1803]{resize:vertical}.custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:2px}.custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.dark .custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-thumb{background-color:#374151}.dark .custom-scrollbar[data-v-1e890fd6]::-webkit-scrollbar-thumb:hover{background-color:#4b5563}.prose[data-v-8b504327] b,.prose[data-v-8b504327] strong{font-weight:700}.prose[data-v-8b504327] i,.prose[data-v-8b504327] em{font-style:italic}.prose[data-v-8b504327] u{text-decoration:underline}.prose[data-v-8b504327] ul{list-style-type:disc;padding-left:20px}.prose[data-v-8b504327] ol{list-style-type:decimal;padding-left:20px}.prose[data-v-8b504327] li{margin:4px 0}.custom-scrollbar[data-v-b836815d]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:2px}.custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.dark .custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-thumb{background-color:#374151}.dark .custom-scrollbar[data-v-b836815d]::-webkit-scrollbar-thumb:hover{background-color:#4b5563}.custom-scrollbar[data-v-5fdf36e3]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-5fdf36e3]::-webkit-scrollbar-thumb{border-radius:2px;background-color:#9ca3af}.custom-scrollbar[data-v-5fdf36e3]::-webkit-scrollbar-track{background-color:transparent}.custom-scrollbar[data-v-abd69fc3]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-abd69fc3]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-abd69fc3]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:2px}.dark .custom-scrollbar[data-v-abd69fc3]::-webkit-scrollbar-thumb{background-color:#374151}.custom-scrollbar[data-v-3f829884]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-3f829884]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-3f829884]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:3px}.custom-scrollbar[data-v-3f829884]::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.no-scrollbar[data-v-9e6ec8c1]{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar[data-v-9e6ec8c1]::-webkit-scrollbar{display:none}.custom-scrollbar[data-v-105a64be]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:3px}.custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.dark .custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-thumb{background-color:#374151}.dark .custom-scrollbar[data-v-105a64be]::-webkit-scrollbar-thumb:hover{background-color:#4b5563}.tree-node[data-v-ab4421ba]{position:relative}.tree-node .hover\:bg-gray-50[data-v-ab4421ba]:hover{background-color:#f9fafb!important}.tree-node .dark[data-v-ab4421ba]:hover\:bg-gray-800\/50:hover{background-color:#1f293780!important}.tree-node .text-gray-400[data-v-ab4421ba]{color:#9ca3af!important}.tree-node .text-gray-800[data-v-ab4421ba]{color:#1f2937!important}.tree-node .dark\:text-gray-200[data-v-ab4421ba]{color:#e5e7eb!important}.tree-node .dark\:text-gray-100[data-v-ab4421ba],.tree-node .text-black[data-v-ab4421ba],.tree-node .dark\:text-white[data-v-ab4421ba]{color:#000!important}.tree-node .text-gray-700[data-v-ab4421ba]{color:#374151!important}.tree-node .dark\:text-gray-300[data-v-ab4421ba]{color:#d1d5db!important}.tree-node .text-indigo-800[data-v-ab4421ba]{color:#1e1b4b!important}.tree-node .dark\:text-indigo-200[data-v-ab4421ba]{color:#c7d2fe!important}.tree-node .text-indigo-600[data-v-ab4421ba]{color:#4f46e5!important}.tree-node .dark\:text-indigo-400[data-v-ab4421ba]{color:#a5b4fc!important}.data-manager-overlay[data-v-d86409cd]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color-scheme:light}.data-manager-dialog[data-v-d86409cd]{width:min(980px,96vw);height:min(780px,88vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.data-manager-header[data-v-d86409cd]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e5e7eb}.data-manager-title[data-v-d86409cd]{min-width:0;display:flex;align-items:center;gap:12px}.data-manager-title-icon[data-v-d86409cd]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eef2ff;color:#4f46e5}.data-manager-title-icon svg[data-v-d86409cd]{width:19px;height:19px}.data-manager-title h2[data-v-d86409cd]{margin:0;color:#111827;font-size:17px;font-weight:700}.data-manager-title p[data-v-d86409cd]{margin:2px 0 0;color:#6b7280;font-size:12px}.data-manager-actions[data-v-d86409cd]{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.icon-button[data-v-d86409cd],.text-button[data-v-d86409cd],.primary-button[data-v-d86409cd],.plain-button[data-v-d86409cd]{border:0;border-radius:8px;cursor:pointer;font-family:inherit}.icon-button[data-v-d86409cd]{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#6b7280}.icon-button[data-v-d86409cd]:hover,.text-button[data-v-d86409cd]:hover,.plain-button[data-v-d86409cd]:hover{background:#f3f4f6;color:#111827}.icon-button.danger[data-v-d86409cd]{color:#dc2626}.icon-button svg[data-v-d86409cd]{width:18px;height:18px}.text-button[data-v-d86409cd]{height:34px;padding:0 10px;background:transparent;color:#4b5563;font-size:12px;font-weight:650}.data-manager-divider[data-v-d86409cd]{width:1px;height:22px;margin:0 6px;background:#e5e7eb}.data-manager-tabs[data-v-d86409cd]{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid #eef2f7;background:#fff}.data-manager-tabs button[data-v-d86409cd]{height:30px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:#f3f4f6;color:#4b5563;font-size:12px;font-weight:650;cursor:pointer}.data-manager-tabs button.active[data-v-d86409cd]{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.data-manager-body[data-v-d86409cd]{flex:1;min-height:0;overflow:hidden;background:#f8fafc}.data-manager-editor[data-v-d86409cd]{width:100%;height:100%;box-sizing:border-box;padding:16px;border:0;outline:none;resize:none;background:#0f172a;color:#e5e7eb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6}.data-manager-empty[data-v-d86409cd]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6b7280}.data-manager-empty-icon[data-v-d86409cd]{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#f3f4f6;color:#9ca3af}.data-manager-empty-icon svg[data-v-d86409cd]{width:30px;height:30px}.data-manager-empty strong[data-v-d86409cd]{color:#374151;font-size:15px}.data-manager-empty span[data-v-d86409cd]{font-size:12px}.data-manager-overview[data-v-d86409cd]{height:100%;box-sizing:border-box;overflow:auto;padding:16px}.data-manager-metrics[data-v-d86409cd]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-card[data-v-d86409cd]{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.metric-card span[data-v-d86409cd]{display:block;color:#6b7280;font-size:12px}.metric-card strong[data-v-d86409cd]{display:block;margin-top:4px;color:#111827;font-size:22px;line-height:1}.data-section-list[data-v-d86409cd]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.data-section-card[data-v-d86409cd]{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.data-section-head[data-v-d86409cd]{display:flex;justify-content:space-between;gap:12px}.data-section-head div[data-v-d86409cd]{min-width:0}.data-section-head strong[data-v-d86409cd]{display:block;overflow:hidden;text-overflow:ellipsis;color:#111827;font-size:14px;white-space:nowrap}.data-section-head span[data-v-d86409cd]{display:block;overflow:hidden;text-overflow:ellipsis;margin-top:2px;color:#6b7280;font-size:11px;white-space:nowrap}.data-section-head em[data-v-d86409cd]{flex-shrink:0;min-width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:11px;font-style:normal;font-weight:700}.data-section-tags[data-v-d86409cd]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.data-section-tags span[data-v-d86409cd]{padding:3px 7px;border-radius:999px;background:#f8fafc;color:#6b7280;font-size:11px}.data-section-samples[data-v-d86409cd]{display:flex;flex-direction:column;gap:6px;margin-top:10px}.data-section-samples div[data-v-d86409cd]{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,140px);gap:10px;align-items:center}.data-section-samples code[data-v-d86409cd]{overflow:hidden;text-overflow:ellipsis;color:#1d4ed8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;white-space:nowrap}.data-section-samples span[data-v-d86409cd]{overflow:hidden;text-overflow:ellipsis;color:#6b7280;font-size:11px;text-align:right;white-space:nowrap}.data-manager-tree[data-v-d86409cd]{height:100%;box-sizing:border-box;overflow:auto;padding:16px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.data-manager-footer[data-v-d86409cd]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #e5e7eb;background:#fff}.data-manager-footer-left[data-v-d86409cd]{display:flex;align-items:center;gap:8px}.primary-button[data-v-d86409cd]{height:34px;padding:0 14px;background:#2563eb;color:#fff;font-size:13px;font-weight:700}.primary-button[data-v-d86409cd]:hover{background:#1d4ed8}.primary-button.save[data-v-d86409cd]{background:#059669}.primary-button.save[data-v-d86409cd]:hover{background:#047857}.plain-button[data-v-d86409cd]{height:34px;padding:0 12px;background:transparent;color:#4b5563;font-size:13px}.data-manager-footer-stat[data-v-d86409cd]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;color:#6b7280;font-size:12px}@media(max-width:760px){.data-manager-overlay[data-v-d86409cd]{padding:10px}.data-manager-dialog[data-v-d86409cd]{width:100%;height:92vh}.data-manager-header[data-v-d86409cd],.data-manager-footer[data-v-d86409cd]{align-items:flex-start;flex-direction:column}.data-manager-actions[data-v-d86409cd]{justify-content:flex-start}.data-manager-metrics[data-v-d86409cd],.data-section-list[data-v-d86409cd]{grid-template-columns:1fr}}.preview-page[data-v-9fd7d897]{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;background-color:#f3f4f6}.print-page[data-v-9fd7d897]{background:#fff;flex-shrink:0}
|