x-print-designer 0.4.13 → 0.4.14

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.
@@ -20793,12 +20793,24 @@ function requireIsEqual() {
20793
20793
  }
20794
20794
  var isEqualExports = requireIsEqual();
20795
20795
  const isEqual = /* @__PURE__ */ getDefaultExportFromCjs(isEqualExports);
20796
- const sanitizeElement = (element) => {
20796
+ const normalizeIdentifier = (value, fallback) => {
20797
+ if (typeof value === "string") {
20798
+ const normalized = value.trim();
20799
+ return normalized || fallback;
20800
+ }
20801
+ if (typeof value === "number" && Number.isFinite(value)) {
20802
+ return String(value);
20803
+ }
20804
+ return fallback;
20805
+ };
20806
+ const sanitizeElement = (element, pageIndex, elementIndex) => {
20797
20807
  if (!element || typeof element !== "object") return null;
20798
- if (typeof element.id !== "string" || !element.id) return null;
20799
- if (typeof element.type !== "string" || !element.type) return null;
20808
+ const type = typeof element.type === "string" ? element.type.trim() : "";
20809
+ if (!type) return null;
20800
20810
  const next = {
20801
20811
  ...element,
20812
+ id: normalizeIdentifier(element.id, `element-${pageIndex + 1}-${elementIndex + 1}`),
20813
+ type,
20802
20814
  style: element.style && typeof element.style === "object" ? element.style : {}
20803
20815
  };
20804
20816
  if (next.type === "table") {
@@ -20812,8 +20824,8 @@ const sanitizePages = (pages) => {
20812
20824
  if (!Array.isArray(pages)) return [];
20813
20825
  return pages.filter((page) => page && typeof page === "object").map((page, index2) => ({
20814
20826
  ...page,
20815
- id: typeof page.id === "string" && page.id ? page.id : `page-${index2 + 1}`,
20816
- elements: Array.isArray(page.elements) ? page.elements.map(sanitizeElement).filter(Boolean) : []
20827
+ id: normalizeIdentifier(page.id, `page-${index2 + 1}`),
20828
+ elements: Array.isArray(page.elements) ? page.elements.map((element, elementIndex) => sanitizeElement(element, index2, elementIndex)).filter(Boolean) : []
20817
20829
  }));
20818
20830
  };
20819
20831
  const sanitizeTemplateData = (data) => {
@@ -21408,6 +21420,9 @@ const useTemplateStore = /* @__PURE__ */ defineStore("templates", {
21408
21420
  }
21409
21421
  const t = detail;
21410
21422
  const designerStore = useDesignerStore();
21423
+ const isReportMode = designerStore.mode === "report";
21424
+ const injectedTestData = isReportMode && Object.keys(designerStore.testData || {}).length > 0 ? cloneDeep$1(designerStore.testData) : null;
21425
+ const injectedVariables = isReportMode && Object.keys(designerStore.variables || {}).length > 0 ? cloneDeep$1(designerStore.variables) : null;
21411
21426
  designerStore.resetCanvas();
21412
21427
  const data = t.data;
21413
21428
  if (data.pages && data.pages.length > 0) {
@@ -21433,12 +21448,16 @@ const useTemplateStore = /* @__PURE__ */ defineStore("templates", {
21433
21448
  if (data.pageSpacingY !== void 0) designerStore.pageSpacingY = data.pageSpacingY;
21434
21449
  if (data.unit !== void 0) designerStore.unit = data.unit;
21435
21450
  if (data.watermark !== void 0) designerStore.watermark = cloneDeep$1(data.watermark);
21436
- if (designerStore.mode !== "report" || Object.keys(designerStore.testData || {}).length === 0) {
21451
+ if (injectedTestData) {
21452
+ designerStore.testData = injectedTestData;
21453
+ } else {
21437
21454
  designerStore.testData = cloneDeep$1(data.testData || {});
21438
21455
  }
21439
- if (data.variables !== void 0) {
21456
+ if (injectedVariables) {
21457
+ designerStore.variables = injectedVariables;
21458
+ } else if (data.variables !== void 0) {
21440
21459
  designerStore.variables = cloneDeep$1(data.variables || {});
21441
- } else if (designerStore.mode === "report" && data.testData && typeof data.testData === "object") {
21460
+ } else if (isReportMode && data.testData && typeof data.testData === "object") {
21442
21461
  const nestedVariables = data.testData.variables && typeof data.testData.variables === "object" ? data.testData.variables : data.testData;
21443
21462
  designerStore.variables = cloneDeep$1(nestedVariables || {});
21444
21463
  }
@@ -21484,6 +21503,9 @@ const useTemplateStore = /* @__PURE__ */ defineStore("templates", {
21484
21503
  const t = this.templates.find((t2) => t2.id === id);
21485
21504
  if (t) {
21486
21505
  const designerStore = useDesignerStore();
21506
+ const isReportMode = designerStore.mode === "report";
21507
+ const injectedTestData = isReportMode && Object.keys(designerStore.testData || {}).length > 0 ? cloneDeep$1(designerStore.testData) : null;
21508
+ const injectedVariables = isReportMode && Object.keys(designerStore.variables || {}).length > 0 ? cloneDeep$1(designerStore.variables) : null;
21487
21509
  designerStore.resetCanvas();
21488
21510
  const data = sanitizeTemplateData(t.data);
21489
21511
  if (data.pages && data.pages.length > 0) {
@@ -21514,12 +21536,16 @@ const useTemplateStore = /* @__PURE__ */ defineStore("templates", {
21514
21536
  if (data.pageSpacingY !== void 0) designerStore.pageSpacingY = data.pageSpacingY;
21515
21537
  if (data.unit !== void 0) designerStore.unit = data.unit;
21516
21538
  if (data.watermark !== void 0) designerStore.watermark = cloneDeep$1(data.watermark);
21517
- if (designerStore.mode !== "report" || Object.keys(designerStore.testData || {}).length === 0) {
21539
+ if (injectedTestData) {
21540
+ designerStore.testData = injectedTestData;
21541
+ } else {
21518
21542
  designerStore.testData = cloneDeep$1(data.testData || {});
21519
21543
  }
21520
- if (data.variables !== void 0) {
21544
+ if (injectedVariables) {
21545
+ designerStore.variables = injectedVariables;
21546
+ } else if (data.variables !== void 0) {
21521
21547
  designerStore.variables = cloneDeep$1(data.variables || {});
21522
- } else if (designerStore.mode === "report" && data.testData && typeof data.testData === "object") {
21548
+ } else if (isReportMode && data.testData && typeof data.testData === "object") {
21523
21549
  const nestedVariables = data.testData.variables && typeof data.testData.variables === "object" ? data.testData.variables : data.testData;
21524
21550
  designerStore.variables = cloneDeep$1(nestedVariables || {});
21525
21551
  }
@@ -22731,6 +22757,13 @@ const useDesignerStore = /* @__PURE__ */ defineStore("designer", {
22731
22757
  * 用于派发对外 `templateloaded` 事件,解决调用方无法 await loadTemplate 的问题。
22732
22758
  */
22733
22759
  loadCompleteEmitter: null,
22760
+ /**
22761
+ * 原始模板页快照(materialize 之前的 pages)。
22762
+ * 报告模式下 materializeReportTables 会把 table 转成 customTable(分页后),
22763
+ * 导致后续数据变化时无法重新分页(table 元素已消失)。
22764
+ * 每次加载模板时保存快照,重新分页前从快照恢复原始 table。
22765
+ */
22766
+ originalTemplatePages: null,
22734
22767
  testData: {},
22735
22768
  variables: {},
22736
22769
  availableVariables: [],
@@ -22904,6 +22937,7 @@ const useDesignerStore = /* @__PURE__ */ defineStore("designer", {
22904
22937
  this.watermark = { ...defaultWatermark };
22905
22938
  localStorage.setItem("print-designer-watermark", JSON.stringify(this.watermark));
22906
22939
  this.pages = [{ id: v4(), elements: [] }];
22940
+ this.originalTemplatePages = null;
22907
22941
  this.currentPageIndex = 0;
22908
22942
  this.testData = {};
22909
22943
  this.variables = {};
@@ -24464,8 +24498,15 @@ const useDesignerStore = /* @__PURE__ */ defineStore("designer", {
24464
24498
  materializeReportTables() {
24465
24499
  if (this.mode !== "report") return false;
24466
24500
  if (!Array.isArray(this.pages) || this.pages.length === 0) return false;
24467
- const hasDataTable = this.pages.some((page) => Array.isArray(page == null ? void 0 : page.elements) && page.elements.some((element) => (element == null ? void 0 : element.type) === ElementType.TABLE));
24501
+ let hasDataTable = this.pages.some((page) => Array.isArray(page == null ? void 0 : page.elements) && page.elements.some((element) => (element == null ? void 0 : element.type) === ElementType.TABLE));
24502
+ if (!hasDataTable && this.originalTemplatePages) {
24503
+ this.pages = cloneDeep$1(this.originalTemplatePages);
24504
+ hasDataTable = this.pages.some((page) => Array.isArray(page == null ? void 0 : page.elements) && page.elements.some((element) => (element == null ? void 0 : element.type) === ElementType.TABLE));
24505
+ }
24468
24506
  if (!hasDataTable) return false;
24507
+ if (!this.originalTemplatePages) {
24508
+ this.originalTemplatePages = cloneDeep$1(this.pages);
24509
+ }
24469
24510
  const result = materializeReportDataTables({
24470
24511
  pages: this.pages,
24471
24512
  canvasHeight: this.canvasSize.height,
@@ -25283,13 +25324,125 @@ function toRgbaString(h2, s, v, a = 1) {
25283
25324
  const { r, g, b } = hsvToRgb(h2, s, v);
25284
25325
  return `rgba(${r}, ${g}, ${b}, ${parseFloat(a.toFixed(2))})`;
25285
25326
  }
25286
- const _hoisted_1$25 = {
25327
+ function expandLoopPages(pages, ctx) {
25328
+ const result = [];
25329
+ for (const page of pages) {
25330
+ const loopVariable = page.loopDataVariable;
25331
+ if (!loopVariable) {
25332
+ result.push(page);
25333
+ continue;
25334
+ }
25335
+ const key = normalizeVariableKey(loopVariable);
25336
+ if (!key) {
25337
+ result.push(page);
25338
+ continue;
25339
+ }
25340
+ const data = resolveRenderValue(key, ctx);
25341
+ if (!Array.isArray(data) || data.length === 0) {
25342
+ result.push(page);
25343
+ continue;
25344
+ }
25345
+ for (let i = 0; i < data.length; i++) {
25346
+ const item = data[i];
25347
+ const newPage = {
25348
+ id: i === 0 ? page.id : `${page.id}-loop-${i}`,
25349
+ elements: page.elements.map((el) => {
25350
+ const cloned = cloneDeep$1(el);
25351
+ if (i !== 0) {
25352
+ cloned.id = `${el.id}-loop-${i}`;
25353
+ }
25354
+ if (el.type === ElementType.LOOP_RENDER) {
25355
+ return cloned;
25356
+ }
25357
+ if (el.variable) {
25358
+ const varKey = normalizeVariableKey(el.variable);
25359
+ if (varKey) {
25360
+ let itemValue;
25361
+ for (const candidate of getScopedVariableKeyCandidates(varKey, key)) {
25362
+ itemValue = resolveNestedValue(item, candidate);
25363
+ if (itemValue !== void 0 && itemValue !== null) break;
25364
+ }
25365
+ if (itemValue !== void 0 && itemValue !== null) {
25366
+ cloned.content = String(itemValue);
25367
+ cloned.variable = "";
25368
+ }
25369
+ }
25370
+ }
25371
+ if (cloned.content && /\{#([^}]+)\}/.test(cloned.content)) {
25372
+ cloned.content = cloned.content.replace(/\{#([^}]+)\}/g, (_match, tokenKey) => {
25373
+ const value = resolveNestedValue(item, tokenKey.trim());
25374
+ if (value !== void 0 && value !== null) {
25375
+ return String(value);
25376
+ }
25377
+ return `{#${tokenKey}}`;
25378
+ });
25379
+ }
25380
+ return cloned;
25381
+ }),
25382
+ loopDataVariable: page.loopDataVariable
25383
+ };
25384
+ result.push(newPage);
25385
+ }
25386
+ }
25387
+ return result;
25388
+ }
25389
+ function hasLoopPage(pages) {
25390
+ return !!pages && pages.some((p2) => !!p2.loopDataVariable);
25391
+ }
25392
+ function collapseLoopPages(currentPages, originalTemplatePages) {
25393
+ if (!Array.isArray(currentPages) || !Array.isArray(originalTemplatePages)) {
25394
+ return currentPages;
25395
+ }
25396
+ const originalLoopPages = originalTemplatePages.filter((p2) => p2.loopDataVariable);
25397
+ if (originalLoopPages.length === 0) {
25398
+ return currentPages;
25399
+ }
25400
+ const result = [];
25401
+ const emittedLoopPageIds = /* @__PURE__ */ new Set();
25402
+ for (const page of currentPages) {
25403
+ const originalLoopPage = originalLoopPages.find(
25404
+ (orig) => page.id === orig.id || typeof page.id === "string" && page.id.startsWith(`${orig.id}-`)
25405
+ );
25406
+ if (!originalLoopPage) {
25407
+ result.push(page);
25408
+ continue;
25409
+ }
25410
+ if (emittedLoopPageIds.has(originalLoopPage.id)) {
25411
+ continue;
25412
+ }
25413
+ emittedLoopPageIds.add(originalLoopPage.id);
25414
+ const mergedElements = cloneDeep$1(page.elements || []);
25415
+ const originalElements = originalLoopPage.elements || [];
25416
+ const originalElementMap = new Map(originalElements.map((element) => [element.id, element]));
25417
+ mergedElements.forEach((element, index2) => {
25418
+ const baseElementId = typeof element.id === "string" ? element.id.replace(/-loop-\d+$/, "") : element.id;
25419
+ const originalElement = originalElementMap.get(baseElementId) || originalElements[index2];
25420
+ if (originalElement == null ? void 0 : originalElement.variable) {
25421
+ element.variable = originalElement.variable;
25422
+ }
25423
+ if ((originalElement == null ? void 0 : originalElement.content) && /\{#/.test(originalElement.content)) {
25424
+ element.content = originalElement.content;
25425
+ }
25426
+ });
25427
+ result.push({
25428
+ ...originalLoopPage,
25429
+ elements: mergedElements
25430
+ });
25431
+ }
25432
+ for (const originalLoopPage of originalLoopPages) {
25433
+ if (!emittedLoopPageIds.has(originalLoopPage.id)) {
25434
+ result.push(cloneDeep$1(originalLoopPage));
25435
+ }
25436
+ }
25437
+ return result;
25438
+ }
25439
+ const _hoisted_1$24 = {
25287
25440
  viewBox: "0 0 24 24",
25288
25441
  width: "1.2em",
25289
25442
  height: "1.2em"
25290
25443
  };
25291
25444
  function render$1i(_ctx, _cache) {
25292
- return openBlock(), createElementBlock("svg", _hoisted_1$25, [..._cache[0] || (_cache[0] = [
25445
+ return openBlock(), createElementBlock("svg", _hoisted_1$24, [..._cache[0] || (_cache[0] = [
25293
25446
  createBaseVNode("path", {
25294
25447
  fill: "currentColor",
25295
25448
  d: "M3 18v-2h18v2zm0-5v-2h18v2zm0-5V6h18v2z"
@@ -25297,13 +25450,13 @@ function render$1i(_ctx, _cache) {
25297
25450
  ])]);
25298
25451
  }
25299
25452
  const MenuIcon = markRaw({ name: "material-symbols-menu", render: render$1i });
25300
- const _hoisted_1$24 = {
25453
+ const _hoisted_1$23 = {
25301
25454
  viewBox: "0 0 24 24",
25302
25455
  width: "1.2em",
25303
25456
  height: "1.2em"
25304
25457
  };
25305
25458
  function render$1h(_ctx, _cache) {
25306
- return openBlock(), createElementBlock("svg", _hoisted_1$24, [..._cache[0] || (_cache[0] = [
25459
+ return openBlock(), createElementBlock("svg", _hoisted_1$23, [..._cache[0] || (_cache[0] = [
25307
25460
  createBaseVNode("path", {
25308
25461
  fill: "currentColor",
25309
25462
  d: "M6.4 19L5 17.6l5.6-5.6L5 6.4L6.4 5l5.6 5.6L17.6 5L19 6.4L13.4 12l5.6 5.6l-1.4 1.4l-5.6-5.6z"
@@ -25311,13 +25464,13 @@ function render$1h(_ctx, _cache) {
25311
25464
  ])]);
25312
25465
  }
25313
25466
  const Close = markRaw({ name: "material-symbols-close", render: render$1h });
25314
- const _hoisted_1$23 = {
25467
+ const _hoisted_1$22 = {
25315
25468
  viewBox: "0 0 24 24",
25316
25469
  width: "1.2em",
25317
25470
  height: "1.2em"
25318
25471
  };
25319
25472
  function render$1g(_ctx, _cache) {
25320
- return openBlock(), createElementBlock("svg", _hoisted_1$23, [..._cache[0] || (_cache[0] = [
25473
+ return openBlock(), createElementBlock("svg", _hoisted_1$22, [..._cache[0] || (_cache[0] = [
25321
25474
  createBaseVNode("path", {
25322
25475
  fill: "currentColor",
25323
25476
  d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V7H5zm3.338-3.113Q6.725 14.776 6 13q.725-1.775 2.338-2.887T12 9t3.663 1.113T18 13q-.725 1.775-2.337 2.888T12 17t-3.662-1.112m2.6-1.826Q10.5 13.626 10.5 13t.438-1.062T12 11.5t1.063.438T13.5 13t-.437 1.063T12 14.5t-1.062-.437m2.837.712Q14.5 14.05 14.5 13t-.725-1.775T12 10.5t-1.775.725T9.5 13t.725 1.775T12 15.5t1.775-.725"
@@ -25325,13 +25478,13 @@ function render$1g(_ctx, _cache) {
25325
25478
  ])]);
25326
25479
  }
25327
25480
  const Preview = markRaw({ name: "material-symbols-preview", render: render$1g });
25328
- const _hoisted_1$22 = {
25481
+ const _hoisted_1$21 = {
25329
25482
  viewBox: "0 0 24 24",
25330
25483
  width: "1.2em",
25331
25484
  height: "1.2em"
25332
25485
  };
25333
25486
  function render$1f(_ctx, _cache) {
25334
- return openBlock(), createElementBlock("svg", _hoisted_1$22, [..._cache[0] || (_cache[0] = [
25487
+ return openBlock(), createElementBlock("svg", _hoisted_1$21, [..._cache[0] || (_cache[0] = [
25335
25488
  createBaseVNode("path", {
25336
25489
  fill: "currentColor",
25337
25490
  d: "m12 16l-5-5l1.4-1.45l2.6 2.6V4h2v8.15l2.6-2.6L17 11zm-6 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"
@@ -25339,13 +25492,13 @@ function render$1f(_ctx, _cache) {
25339
25492
  ])]);
25340
25493
  }
25341
25494
  const FileOutput = markRaw({ name: "material-symbols-file-download", render: render$1f });
25342
- const _hoisted_1$21 = {
25495
+ const _hoisted_1$20 = {
25343
25496
  viewBox: "0 0 24 24",
25344
25497
  width: "1.2em",
25345
25498
  height: "1.2em"
25346
25499
  };
25347
25500
  function render$1e(_ctx, _cache) {
25348
- return openBlock(), createElementBlock("svg", _hoisted_1$21, [..._cache[0] || (_cache[0] = [
25501
+ return openBlock(), createElementBlock("svg", _hoisted_1$20, [..._cache[0] || (_cache[0] = [
25349
25502
  createBaseVNode("path", {
25350
25503
  fill: "currentColor",
25351
25504
  d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm1-4h12l-3.75-5l-3 4L9 13z"
@@ -25353,13 +25506,13 @@ function render$1e(_ctx, _cache) {
25353
25506
  ])]);
25354
25507
  }
25355
25508
  const Image$1 = markRaw({ name: "material-symbols-image", render: render$1e });
25356
- const _hoisted_1$20 = {
25509
+ const _hoisted_1$1$ = {
25357
25510
  viewBox: "0 0 24 24",
25358
25511
  width: "1.2em",
25359
25512
  height: "1.2em"
25360
25513
  };
25361
25514
  function render$1d(_ctx, _cache) {
25362
- return openBlock(), createElementBlock("svg", _hoisted_1$20, [..._cache[0] || (_cache[0] = [
25515
+ return openBlock(), createElementBlock("svg", _hoisted_1$1$, [..._cache[0] || (_cache[0] = [
25363
25516
  createBaseVNode("path", {
25364
25517
  fill: "currentColor",
25365
25518
  d: "M14 20v-2h3q.425 0 .713-.288T18 17v-2q0-.95.55-1.725t1.45-1.1v-.35q-.9-.325-1.45-1.1T18 9V7q0-.425-.288-.712T17 6h-3V4h3q1.25 0 2.125.875T20 7v2q0 .425.288.713T21 10h1v4h-1q-.425 0-.712.288T20 15v2q0 1.25-.875 2.125T17 20zm-7 0q-1.25 0-2.125-.875T4 17v-2q0-.425-.288-.712T3 14H2v-4h1q.425 0 .713-.288T4 9V7q0-1.25.875-2.125T7 4h3v2H7q-.425 0-.712.288T6 7v2q0 .95-.55 1.725T4 11.825v.35q.9.325 1.45 1.1T6 15v2q0 .425.288.713T7 18h3v2z"
@@ -25367,13 +25520,13 @@ function render$1d(_ctx, _cache) {
25367
25520
  ])]);
25368
25521
  }
25369
25522
  const DataObject = markRaw({ name: "material-symbols-data-object", render: render$1d });
25370
- const _hoisted_1$1$ = {
25523
+ const _hoisted_1$1_ = {
25371
25524
  viewBox: "0 0 24 24",
25372
25525
  width: "1.2em",
25373
25526
  height: "1.2em"
25374
25527
  };
25375
25528
  function render$1c(_ctx, _cache) {
25376
- return openBlock(), createElementBlock("svg", _hoisted_1$1$, [..._cache[0] || (_cache[0] = [
25529
+ return openBlock(), createElementBlock("svg", _hoisted_1$1_, [..._cache[0] || (_cache[0] = [
25377
25530
  createBaseVNode("path", {
25378
25531
  fill: "currentColor",
25379
25532
  d: "M21 7v12q0 .825-.587 1.413T19 21H5q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h12zm-6.875 10.125Q15 16.25 15 15t-.875-2.125T12 12t-2.125.875T9 15t.875 2.125T12 18t2.125-.875M6 10h9V6H6z"
@@ -25381,13 +25534,13 @@ function render$1c(_ctx, _cache) {
25381
25534
  ])]);
25382
25535
  }
25383
25536
  const Save = markRaw({ name: "material-symbols-save", render: render$1c });
25384
- const _hoisted_1$1_ = {
25537
+ const _hoisted_1$1Z = {
25385
25538
  viewBox: "0 0 24 24",
25386
25539
  width: "1.2em",
25387
25540
  height: "1.2em"
25388
25541
  };
25389
25542
  function render$1b(_ctx, _cache) {
25390
- return openBlock(), createElementBlock("svg", _hoisted_1$1_, [..._cache[0] || (_cache[0] = [
25543
+ return openBlock(), createElementBlock("svg", _hoisted_1$1Z, [..._cache[0] || (_cache[0] = [
25391
25544
  createBaseVNode("path", {
25392
25545
  fill: "currentColor",
25393
25546
  d: "M8.125 21.213q-1.825-.788-3.187-2.15t-2.15-3.188T2 11.988t.788-3.875t2.15-3.175t3.187-2.15T12 2q.425 0 .713.288T13 3t-.288.713T12 4Q8.675 4 6.337 6.338T4 12t2.338 5.663T12 20t5.663-2.337T20 12q0-.425.288-.712T21 11t.713.288T22 12q0 2.05-.788 3.875t-2.15 3.188t-3.175 2.15t-3.875.787t-3.887-.787"
@@ -25395,13 +25548,13 @@ function render$1b(_ctx, _cache) {
25395
25548
  ])]);
25396
25549
  }
25397
25550
  const Loading = markRaw({ name: "material-symbols-progress-activity", render: render$1b });
25398
- const _hoisted_1$1Z = {
25551
+ const _hoisted_1$1Y = {
25399
25552
  viewBox: "0 0 24 24",
25400
25553
  width: "1.2em",
25401
25554
  height: "1.2em"
25402
25555
  };
25403
25556
  function render$1a(_ctx, _cache) {
25404
- return openBlock(), createElementBlock("svg", _hoisted_1$1Z, [..._cache[0] || (_cache[0] = [
25557
+ return openBlock(), createElementBlock("svg", _hoisted_1$1Y, [..._cache[0] || (_cache[0] = [
25405
25558
  createBaseVNode("path", {
25406
25559
  fill: "currentColor",
25407
25560
  d: "m12 15.375l-6-6l1.4-1.4l4.6 4.6l4.6-4.6l1.4 1.4z"
@@ -25409,13 +25562,13 @@ function render$1a(_ctx, _cache) {
25409
25562
  ])]);
25410
25563
  }
25411
25564
  const ChevronDown = markRaw({ name: "material-symbols-expand-more", render: render$1a });
25412
- const _hoisted_1$1Y = {
25565
+ const _hoisted_1$1X = {
25413
25566
  viewBox: "0 0 24 24",
25414
25567
  width: "1.2em",
25415
25568
  height: "1.2em"
25416
25569
  };
25417
25570
  function render$19(_ctx, _cache) {
25418
- return openBlock(), createElementBlock("svg", _hoisted_1$1Y, [..._cache[0] || (_cache[0] = [
25571
+ return openBlock(), createElementBlock("svg", _hoisted_1$1X, [..._cache[0] || (_cache[0] = [
25419
25572
  createBaseVNode("path", {
25420
25573
  fill: "currentColor",
25421
25574
  d: "M18 7H6V3h12zm0 5.5q.425 0 .713-.288T19 11.5t-.288-.712T18 10.5t-.712.288T17 11.5t.288.713t.712.287M16 19v-4H8v4zm2 2H6v-4H2v-6q0-1.275.875-2.137T5 8h14q1.275 0 2.138.863T22 11v6h-4z"
@@ -25423,13 +25576,13 @@ function render$19(_ctx, _cache) {
25423
25576
  ])]);
25424
25577
  }
25425
25578
  const Printer = markRaw({ name: "material-symbols-print", render: render$19 });
25426
- const _hoisted_1$1X = {
25579
+ const _hoisted_1$1W = {
25427
25580
  viewBox: "0 0 24 24",
25428
25581
  width: "1.2em",
25429
25582
  height: "1.2em"
25430
25583
  };
25431
25584
  function render$18(_ctx, _cache) {
25432
- return openBlock(), createElementBlock("svg", _hoisted_1$1X, [..._cache[0] || (_cache[0] = [
25585
+ return openBlock(), createElementBlock("svg", _hoisted_1$1W, [..._cache[0] || (_cache[0] = [
25433
25586
  createBaseVNode("path", {
25434
25587
  fill: "currentColor",
25435
25588
  d: "M12.838 17.638q.362-.363.362-.888t-.362-.888t-.888-.362t-.887.363t-.363.887t.363.888t.887.362t.888-.363M11.05 14.15h1.85q0-.825.188-1.3t1.062-1.3q.65-.65 1.025-1.238T15.55 8.9q0-1.4-1.025-2.15T12.1 6q-1.425 0-2.312.75T8.55 8.55l1.65.65q.125-.45.563-.975T12.1 7.7q.8 0 1.2.438t.4.962q0 .5-.3.938t-.75.812q-1.1.975-1.35 1.475t-.25 1.825M12 22q-2.075 0-3.9-.787t-3.175-2.138T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22"
@@ -25437,13 +25590,13 @@ function render$18(_ctx, _cache) {
25437
25590
  ])]);
25438
25591
  }
25439
25592
  const HelpCircle = markRaw({ name: "material-symbols-help", render: render$18 });
25440
- const _hoisted_1$1W = {
25593
+ const _hoisted_1$1V = {
25441
25594
  viewBox: "0 0 24 24",
25442
25595
  width: "1.2em",
25443
25596
  height: "1.2em"
25444
25597
  };
25445
25598
  function render$17(_ctx, _cache) {
25446
- return openBlock(), createElementBlock("svg", _hoisted_1$1W, [..._cache[0] || (_cache[0] = [
25599
+ return openBlock(), createElementBlock("svg", _hoisted_1$1V, [..._cache[0] || (_cache[0] = [
25447
25600
  createBaseVNode("path", {
25448
25601
  fill: "currentColor",
25449
25602
  d: "m9.25 22l-.4-3.2q-.325-.125-.612-.3t-.563-.375L4.7 19.375l-2.75-4.75l2.575-1.95Q4.5 12.5 4.5 12.338v-.675q0-.163.025-.338L1.95 9.375l2.75-4.75l2.975 1.25q.275-.2.575-.375t.6-.3l.4-3.2h5.5l.4 3.2q.325.125.613.3t.562.375l2.975-1.25l2.75 4.75l-2.575 1.95q.025.175.025.338v.674q0 .163-.05.338l2.575 1.95l-2.75 4.75l-2.95-1.25q-.275.2-.575.375t-.6.3l-.4 3.2zm2.8-6.5q1.45 0 2.475-1.025T15.55 12t-1.025-2.475T12.05 8.5q-1.475 0-2.488 1.025T8.55 12t1.013 2.475T12.05 15.5"
@@ -25451,13 +25604,13 @@ function render$17(_ctx, _cache) {
25451
25604
  ])]);
25452
25605
  }
25453
25606
  const Settings = markRaw({ name: "material-symbols-settings", render: render$17 });
25454
- const _hoisted_1$1V = {
25607
+ const _hoisted_1$1U = {
25455
25608
  viewBox: "0 0 24 24",
25456
25609
  width: "1.2em",
25457
25610
  height: "1.2em"
25458
25611
  };
25459
25612
  function render$16(_ctx, _cache) {
25460
- return openBlock(), createElementBlock("svg", _hoisted_1$1V, [..._cache[0] || (_cache[0] = [
25613
+ return openBlock(), createElementBlock("svg", _hoisted_1$1U, [..._cache[0] || (_cache[0] = [
25461
25614
  createBaseVNode("path", {
25462
25615
  fill: "currentColor",
25463
25616
  d: "M7 19v-2h7.1q1.575 0 2.738-1T18 13.5T16.838 11T14.1 10H7.8l2.6 2.6L9 14L4 9l5-5l1.4 1.4L7.8 8h6.3q2.425 0 4.163 1.575T20 13.5t-1.737 3.925T14.1 19z"
@@ -25465,13 +25618,13 @@ function render$16(_ctx, _cache) {
25465
25618
  ])]);
25466
25619
  }
25467
25620
  const UndoIcon = markRaw({ name: "material-symbols-undo", render: render$16 });
25468
- const _hoisted_1$1U = {
25621
+ const _hoisted_1$1T = {
25469
25622
  viewBox: "0 0 24 24",
25470
25623
  width: "1.2em",
25471
25624
  height: "1.2em"
25472
25625
  };
25473
25626
  function render$15(_ctx, _cache) {
25474
- return openBlock(), createElementBlock("svg", _hoisted_1$1U, [..._cache[0] || (_cache[0] = [
25627
+ return openBlock(), createElementBlock("svg", _hoisted_1$1T, [..._cache[0] || (_cache[0] = [
25475
25628
  createBaseVNode("path", {
25476
25629
  fill: "currentColor",
25477
25630
  d: "M9.9 19q-2.425 0-4.163-1.575T4 13.5t1.738-3.925T9.9 8h6.3l-2.6-2.6L15 4l5 5l-5 5l-1.4-1.4l2.6-2.6H9.9q-1.575 0-2.738 1T6 13.5T7.163 16T9.9 17H17v2z"
@@ -25479,13 +25632,13 @@ function render$15(_ctx, _cache) {
25479
25632
  ])]);
25480
25633
  }
25481
25634
  const RedoIcon = markRaw({ name: "material-symbols-redo", render: render$15 });
25482
- const _hoisted_1$1T = {
25635
+ const _hoisted_1$1S = {
25483
25636
  viewBox: "0 0 24 24",
25484
25637
  width: "1.2em",
25485
25638
  height: "1.2em"
25486
25639
  };
25487
25640
  function render$14(_ctx, _cache) {
25488
- return openBlock(), createElementBlock("svg", _hoisted_1$1T, [..._cache[0] || (_cache[0] = [
25641
+ return openBlock(), createElementBlock("svg", _hoisted_1$1S, [..._cache[0] || (_cache[0] = [
25489
25642
  createBaseVNode("path", {
25490
25643
  fill: "currentColor",
25491
25644
  d: "M9 18q-.825 0-1.412-.587T7 16V4q0-.825.588-1.412T9 2h9q.825 0 1.413.588T20 4v12q0 .825-.587 1.413T18 18zm-4 4q-.825 0-1.412-.587T3 20V6h2v14h11v2z"
@@ -25493,13 +25646,13 @@ function render$14(_ctx, _cache) {
25493
25646
  ])]);
25494
25647
  }
25495
25648
  const CopyIcon = markRaw({ name: "material-symbols-content-copy", render: render$14 });
25496
- const _hoisted_1$1S = {
25649
+ const _hoisted_1$1R = {
25497
25650
  viewBox: "0 0 24 24",
25498
25651
  width: "1.2em",
25499
25652
  height: "1.2em"
25500
25653
  };
25501
25654
  function render$13(_ctx, _cache) {
25502
- return openBlock(), createElementBlock("svg", _hoisted_1$1S, [..._cache[0] || (_cache[0] = [
25655
+ return openBlock(), createElementBlock("svg", _hoisted_1$1R, [..._cache[0] || (_cache[0] = [
25503
25656
  createBaseVNode("path", {
25504
25657
  fill: "currentColor",
25505
25658
  d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h4.175q.275-.875 1.075-1.437T12 1q1 0 1.788.563T14.85 3H19q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5h-2v3H7V5H5zm7.713-14.288Q13 4.425 13 4t-.288-.712T12 3t-.712.288T11 4t.288.713T12 5t.713-.288"
@@ -25507,13 +25660,13 @@ function render$13(_ctx, _cache) {
25507
25660
  ])]);
25508
25661
  }
25509
25662
  const PasteIcon = markRaw({ name: "material-symbols-content-paste", render: render$13 });
25510
- const _hoisted_1$1R = {
25663
+ const _hoisted_1$1Q = {
25511
25664
  viewBox: "0 0 24 24",
25512
25665
  width: "1.2em",
25513
25666
  height: "1.2em"
25514
25667
  };
25515
25668
  function render$12(_ctx, _cache) {
25516
- return openBlock(), createElementBlock("svg", _hoisted_1$1R, [..._cache[0] || (_cache[0] = [
25669
+ return openBlock(), createElementBlock("svg", _hoisted_1$1Q, [..._cache[0] || (_cache[0] = [
25517
25670
  createBaseVNode("path", {
25518
25671
  fill: "currentColor",
25519
25672
  d: "M6 22q-.825 0-1.412-.587T4 20V10q0-.825.588-1.412T6 8h1V6q0-2.075 1.463-3.537T12 1t3.538 1.463T17 6v2h1q.825 0 1.413.588T20 10v10q0 .825-.587 1.413T18 22zm7.413-5.587Q14 15.825 14 15t-.587-1.412T12 13t-1.412.588T10 15t.588 1.413T12 17t1.413-.587M9 8h6V6q0-1.25-.875-2.125T12 3t-2.125.875T9 6z"
@@ -25521,13 +25674,13 @@ function render$12(_ctx, _cache) {
25521
25674
  ])]);
25522
25675
  }
25523
25676
  const LockIcon = markRaw({ name: "material-symbols-lock", render: render$12 });
25524
- const _hoisted_1$1Q = {
25677
+ const _hoisted_1$1P = {
25525
25678
  viewBox: "0 0 24 24",
25526
25679
  width: "1.2em",
25527
25680
  height: "1.2em"
25528
25681
  };
25529
25682
  function render$11(_ctx, _cache) {
25530
- return openBlock(), createElementBlock("svg", _hoisted_1$1Q, [..._cache[0] || (_cache[0] = [
25683
+ return openBlock(), createElementBlock("svg", _hoisted_1$1P, [..._cache[0] || (_cache[0] = [
25531
25684
  createBaseVNode("path", {
25532
25685
  fill: "currentColor",
25533
25686
  d: "M7 21q-.825 0-1.412-.587T5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413T17 21zm2-4h2V8H9zm4 0h2V8h-2z"
@@ -25535,13 +25688,13 @@ function render$11(_ctx, _cache) {
25535
25688
  ])]);
25536
25689
  }
25537
25690
  const DeleteIcon = markRaw({ name: "material-symbols-delete", render: render$11 });
25538
- const _hoisted_1$1P = {
25691
+ const _hoisted_1$1O = {
25539
25692
  viewBox: "0 0 24 24",
25540
25693
  width: "1.2em",
25541
25694
  height: "1.2em"
25542
25695
  };
25543
25696
  function render$10(_ctx, _cache) {
25544
- return openBlock(), createElementBlock("svg", _hoisted_1$1P, [..._cache[0] || (_cache[0] = [
25697
+ return openBlock(), createElementBlock("svg", _hoisted_1$1O, [..._cache[0] || (_cache[0] = [
25545
25698
  createBaseVNode("path", {
25546
25699
  fill: "currentColor",
25547
25700
  d: "m19.6 21l-6.3-6.3q-.75.6-1.725.95T9.5 16q-2.725 0-4.612-1.888T3 9.5t1.888-4.612T9.5 3t4.613 1.888T16 9.5q0 1.1-.35 2.075T14.7 13.3l6.3 6.3zM9.5 14q1.875 0 3.188-1.312T14 9.5t-1.312-3.187T9.5 5T6.313 6.313T5 9.5t1.313 3.188T9.5 14m-1-1.5v-2h-2v-2h2v-2h2v2h2v2h-2v2z"
@@ -25549,13 +25702,13 @@ function render$10(_ctx, _cache) {
25549
25702
  ])]);
25550
25703
  }
25551
25704
  const ZoomIn = markRaw({ name: "material-symbols-zoom-in", render: render$10 });
25552
- const _hoisted_1$1O = {
25705
+ const _hoisted_1$1N = {
25553
25706
  viewBox: "0 0 24 24",
25554
25707
  width: "1.2em",
25555
25708
  height: "1.2em"
25556
25709
  };
25557
25710
  function render$$(_ctx, _cache) {
25558
- return openBlock(), createElementBlock("svg", _hoisted_1$1O, [..._cache[0] || (_cache[0] = [
25711
+ return openBlock(), createElementBlock("svg", _hoisted_1$1N, [..._cache[0] || (_cache[0] = [
25559
25712
  createBaseVNode("path", {
25560
25713
  fill: "currentColor",
25561
25714
  d: "m19.6 21l-6.3-6.3q-.75.6-1.725.95T9.5 16q-2.725 0-4.612-1.888T3 9.5t1.888-4.612T9.5 3t4.613 1.888T16 9.5q0 1.1-.35 2.075T14.7 13.3l6.3 6.3zM9.5 14q1.875 0 3.188-1.312T14 9.5t-1.312-3.187T9.5 5T6.313 6.313T5 9.5t1.313 3.188T9.5 14M7 10.5v-2h5v2z"
@@ -26217,13 +26370,13 @@ const usePrintSettings = () => {
26217
26370
  }
26218
26371
  return state;
26219
26372
  };
26220
- const _hoisted_1$1N = {
26373
+ const _hoisted_1$1M = {
26221
26374
  viewBox: "0 0 24 24",
26222
26375
  width: "1.2em",
26223
26376
  height: "1.2em"
26224
26377
  };
26225
26378
  function render$_(_ctx, _cache) {
26226
- return openBlock(), createElementBlock("svg", _hoisted_1$1N, [..._cache[0] || (_cache[0] = [
26379
+ return openBlock(), createElementBlock("svg", _hoisted_1$1M, [..._cache[0] || (_cache[0] = [
26227
26380
  createBaseVNode("path", {
26228
26381
  fill: "currentColor",
26229
26382
  d: "M13.05 22v-2.05q.85-.125 1.663-.45t1.537-.85l1.4 1.45q-1.05.8-2.2 1.287t-2.4.613m-2 0q-3.45-.45-5.725-2.988T3.05 13.05q0-1.875.713-3.512t1.925-2.85t2.85-1.925t3.512-.713h.15L10.65 2.5l1.4-1.45l4 4l-4 4l-1.4-1.4l1.6-1.6h-.2q-2.925 0-4.962 2.038T5.05 13.05q0 2.6 1.7 4.563t4.3 2.337zm8.05-3.35l-1.45-1.4q.525-.725.85-1.537t.45-1.663H21q-.125 1.25-.612 2.4t-1.288 2.2m1.9-6.6h-2.05q-.125-.85-.45-1.662t-.85-1.538l1.45-1.4q.8.975 1.275 2.15T21 12.05"
@@ -26231,7 +26384,7 @@ function render$_(_ctx, _cache) {
26231
26384
  ])]);
26232
26385
  }
26233
26386
  const RotateRight = markRaw({ name: "material-symbols-rotate-right", render: render$_ });
26234
- const _hoisted_1$1M = ["data-element-id", "data-read-only", "data-repeat-per-page"];
26387
+ const _hoisted_1$1L = ["data-element-id", "data-read-only", "data-repeat-per-page"];
26235
26388
  const _hoisted_2$F = ["title"];
26236
26389
  const _hoisted_3$B = {
26237
26390
  key: 1,
@@ -26581,7 +26734,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
26581
26734
  }, toDisplayString$1(currentRotationDisplay.value) + "掳 ", 3)) : createCommentVNode("", true)
26582
26735
  ], 40, _hoisted_4$y)
26583
26736
  ], 64)) : createCommentVNode("", true)
26584
- ], 46, _hoisted_1$1M);
26737
+ ], 46, _hoisted_1$1L);
26585
26738
  };
26586
26739
  }
26587
26740
  });
@@ -26603,7 +26756,7 @@ function useRenderContext() {
26603
26756
  }
26604
26757
  return computed(buildStoreRenderContext);
26605
26758
  }
26606
- const _hoisted_1$1L = ["data-auto-height"];
26759
+ const _hoisted_1$1K = ["data-auto-height"];
26607
26760
  const elementPropertiesSchema$i = {
26608
26761
  sections: [
26609
26762
  {
@@ -26877,11 +27030,11 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
26877
27030
  ]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
26878
27031
  createTextVNode(toDisplayString$1(resolvedText.value), 1)
26879
27032
  ], 64))
26880
- ], 44, _hoisted_1$1L);
27033
+ ], 44, _hoisted_1$1K);
26881
27034
  };
26882
27035
  }
26883
27036
  });
26884
- const _hoisted_1$1K = ["src"];
27037
+ const _hoisted_1$1J = ["src"];
26885
27038
  const _hoisted_2$E = {
26886
27039
  key: 1,
26887
27040
  class: "text-gray-400 text-xs"
@@ -27016,7 +27169,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
27016
27169
  src: resolvedContent.value,
27017
27170
  class: normalizeClass(["w-full h-full pointer-events-none", imageFitClass.value]),
27018
27171
  alt: "Element"
27019
- }, null, 10, _hoisted_1$1K)) : (openBlock(), createElementBlock("span", _hoisted_2$E, toDisplayString$1(placeholderText.value), 1)),
27172
+ }, null, 10, _hoisted_1$1J)) : (openBlock(), createElementBlock("span", _hoisted_2$E, toDisplayString$1(placeholderText.value), 1)),
27020
27173
  createBaseVNode("input", {
27021
27174
  ref_key: "fileInputRef",
27022
27175
  ref: fileInputRef,
@@ -27081,7 +27234,7 @@ function shouldPaginate(options) {
27081
27234
  const { totalPages } = calculatePagination(options);
27082
27235
  return totalPages > 1;
27083
27236
  }
27084
- const _hoisted_1$1J = {
27237
+ const _hoisted_1$1I = {
27085
27238
  key: 0,
27086
27239
  class: "absolute top-0 right-0 bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-bl z-50"
27087
27240
  };
@@ -27922,7 +28075,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
27922
28075
  "data-table-container": "",
27923
28076
  style: normalizeStyle({ ...tableContainerStyle.value, backgroundColor: __props.element.style.backgroundColor || "transparent" })
27924
28077
  }, [
27925
- needsPagination.value && !unref(store).isExporting && !usesReportPaginatedLayout.value && unref(store).showVariableNames ? (openBlock(), createElementBlock("div", _hoisted_1$1J, toDisplayString$1(paginationInfo.value.totalPages) + " 页 · 每页 " + toDisplayString$1(paginationInfo.value.rowsPerPage) + " 行 ", 1)) : createCommentVNode("", true),
28078
+ needsPagination.value && !unref(store).isExporting && !usesReportPaginatedLayout.value && unref(store).showVariableNames ? (openBlock(), createElementBlock("div", _hoisted_1$1I, toDisplayString$1(paginationInfo.value.totalPages) + " 页 · 每页 " + toDisplayString$1(paginationInfo.value.rowsPerPage) + " 行 ", 1)) : createCommentVNode("", true),
27926
28079
  !unref(store).isExporting && !usesReportPaginatedLayout.value && !isHeaderLeft.value ? (openBlock(), createElementBlock("div", _hoisted_2$D, [
27927
28080
  createBaseVNode("table", {
27928
28081
  class: "w-full border-collapse flex-shrink-0",
@@ -28685,13 +28838,13 @@ const buildFieldCatalog = ({
28685
28838
  mappedCount: items.filter((item) => item.mapped).length
28686
28839
  };
28687
28840
  };
28688
- const _hoisted_1$1I = {
28841
+ const _hoisted_1$1H = {
28689
28842
  viewBox: "0 0 24 24",
28690
28843
  width: "1.2em",
28691
28844
  height: "1.2em"
28692
28845
  };
28693
28846
  function render$Z(_ctx, _cache) {
28694
- return openBlock(), createElementBlock("svg", _hoisted_1$1I, [..._cache[0] || (_cache[0] = [
28847
+ return openBlock(), createElementBlock("svg", _hoisted_1$1H, [..._cache[0] || (_cache[0] = [
28695
28848
  createBaseVNode("path", {
28696
28849
  fill: "currentColor",
28697
28850
  d: "m19.6 21l-6.3-6.3q-.75.6-1.725.95T9.5 16q-2.725 0-4.612-1.888T3 9.5t1.888-4.612T9.5 3t4.613 1.888T16 9.5q0 1.1-.35 2.075T14.7 13.3l6.3 6.3zM9.5 14q1.875 0 3.188-1.312T14 9.5t-1.312-3.187T9.5 5T6.313 6.313T5 9.5t1.313 3.188T9.5 14"
@@ -28699,7 +28852,7 @@ function render$Z(_ctx, _cache) {
28699
28852
  ])]);
28700
28853
  }
28701
28854
  const SearchIcon = markRaw({ name: "material-symbols-search", render: render$Z });
28702
- const _hoisted_1$1H = {
28855
+ const _hoisted_1$1G = {
28703
28856
  class: "field-picker-dialog",
28704
28857
  role: "dialog",
28705
28858
  "aria-modal": "true"
@@ -28873,7 +29026,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
28873
29026
  onClick: _cache[2] || (_cache[2] = withModifiers(($event) => emit2("close"), ["self"])),
28874
29027
  onKeydown: handleKeydown
28875
29028
  }, [
28876
- createBaseVNode("section", _hoisted_1$1H, [
29029
+ createBaseVNode("section", _hoisted_1$1G, [
28877
29030
  createBaseVNode("header", _hoisted_2$C, [
28878
29031
  createBaseVNode("div", _hoisted_3$z, [
28879
29032
  _cache[3] || (_cache[3] = createBaseVNode("div", { class: "field-picker-mark" }, "F", -1)),
@@ -28986,7 +29139,7 @@ const _export_sfc = (sfc, props) => {
28986
29139
  return target;
28987
29140
  };
28988
29141
  const FieldSelectModal = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-774c4c6c"]]);
28989
- const _hoisted_1$1G = ["rowspan", "colspan", "onMousedown", "onMouseenter", "onDblclick"];
29142
+ const _hoisted_1$1F = ["rowspan", "colspan", "onMousedown", "onMouseenter", "onDblclick"];
28990
29143
  const _hoisted_2$B = ["src"];
28991
29144
  const _hoisted_3$y = { key: 0 };
28992
29145
  const _hoisted_4$v = {
@@ -29875,7 +30028,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
29875
30028
  }), 128)),
29876
30029
  getCellRichTextSegments(row - 1, col - 1).length === 0 ? (openBlock(), createElementBlock("span", _hoisted_3$y, " ")) : createCommentVNode("", true)
29877
30030
  ], 64))
29878
- ], 46, _hoisted_1$1G)), [
30031
+ ], 46, _hoisted_1$1F)), [
29879
30032
  [vShow, shouldRenderCell(row - 1, col - 1)]
29880
30033
  ]);
29881
30034
  }), 128))
@@ -30260,7 +30413,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
30260
30413
  }
30261
30414
  });
30262
30415
  const CustomTableElement = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-a367d5a2"]]);
30263
- const _hoisted_1$1F = { class: "page-number-text" };
30416
+ const _hoisted_1$1E = { class: "page-number-text" };
30264
30417
  const elementPropertiesSchema$e = {
30265
30418
  sections: [
30266
30419
  {
@@ -30415,7 +30568,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
30415
30568
  padding: "0 4px"
30416
30569
  })
30417
30570
  }, toDisplayString$1(__props.element.labelText), 5)) : createCommentVNode("", true),
30418
- createBaseVNode("span", _hoisted_1$1F, toDisplayString$1(pageText.value), 1),
30571
+ createBaseVNode("span", _hoisted_1$1E, toDisplayString$1(pageText.value), 1),
30419
30572
  __props.element.labelText && __props.element.labelPosition === "after" ? (openBlock(), createElementBlock("span", {
30420
30573
  key: 1,
30421
30574
  style: normalizeStyle({
@@ -30435,7 +30588,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
30435
30588
  };
30436
30589
  }
30437
30590
  });
30438
- const _hoisted_1$1E = { class: "w-full h-full flex items-center justify-center overflow-hidden" };
30591
+ const _hoisted_1$1D = { class: "w-full h-full flex items-center justify-center overflow-hidden" };
30439
30592
  const elementPropertiesSchema$d = {
30440
30593
  sections: [
30441
30594
  {
@@ -30522,7 +30675,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
30522
30675
  const renderBarcode = async () => {
30523
30676
  if (!barcodeRef.value) return;
30524
30677
  try {
30525
- const jsBarcodeModule = await import("./JsBarcode-Ie7CY3Wt.js").then((n) => n.JsBarcode);
30678
+ const jsBarcodeModule = await import("./JsBarcode-DKThGPUY.js").then((n) => n.JsBarcode);
30526
30679
  const JsBarcode = (jsBarcodeModule == null ? void 0 : jsBarcodeModule.default) || jsBarcodeModule;
30527
30680
  const content = resolvedContent.value;
30528
30681
  const style = props.element.style;
@@ -30554,7 +30707,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
30554
30707
  if (registerRenderTask) registerRenderTask(task);
30555
30708
  }, { deep: true });
30556
30709
  return (_ctx, _cache) => {
30557
- return openBlock(), createElementBlock("div", _hoisted_1$1E, [
30710
+ return openBlock(), createElementBlock("div", _hoisted_1$1D, [
30558
30711
  createBaseVNode("img", {
30559
30712
  ref_key: "barcodeRef",
30560
30713
  ref: barcodeRef,
@@ -30564,7 +30717,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
30564
30717
  };
30565
30718
  }
30566
30719
  });
30567
- const _hoisted_1$1D = { class: "w-full h-full flex items-center justify-center overflow-hidden" };
30720
+ const _hoisted_1$1C = { class: "w-full h-full flex items-center justify-center overflow-hidden" };
30568
30721
  const _hoisted_2$A = ["src"];
30569
30722
  const elementPropertiesSchema$c = {
30570
30723
  sections: [
@@ -30622,7 +30775,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
30622
30775
  });
30623
30776
  const renderQR = async () => {
30624
30777
  try {
30625
- const qrcodeModule = await import("./browser-VQbZ-HlB.js").then((n) => n.browser);
30778
+ const qrcodeModule = await import("./browser-k38foCq0.js").then((n) => n.browser);
30626
30779
  const QRCode = (qrcodeModule == null ? void 0 : qrcodeModule.default) || qrcodeModule;
30627
30780
  const content = resolvedContent.value;
30628
30781
  qrSrc.value = await QRCode.toDataURL(content, {
@@ -30646,7 +30799,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
30646
30799
  if (registerRenderTask) registerRenderTask(task);
30647
30800
  }, { deep: true });
30648
30801
  return (_ctx, _cache) => {
30649
- return openBlock(), createElementBlock("div", _hoisted_1$1D, [
30802
+ return openBlock(), createElementBlock("div", _hoisted_1$1C, [
30650
30803
  qrSrc.value ? (openBlock(), createElementBlock("img", {
30651
30804
  key: 0,
30652
30805
  src: qrSrc.value,
@@ -30657,7 +30810,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
30657
30810
  };
30658
30811
  }
30659
30812
  });
30660
- const _hoisted_1$1C = { class: "w-full h-full flex items-center justify-center" };
30813
+ const _hoisted_1$1B = { class: "w-full h-full flex items-center justify-center" };
30661
30814
  const elementPropertiesSchema$b = {
30662
30815
  sections: [
30663
30816
  {
@@ -30689,7 +30842,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
30689
30842
  },
30690
30843
  setup(__props) {
30691
30844
  return (_ctx, _cache) => {
30692
- return openBlock(), createElementBlock("div", _hoisted_1$1C, [
30845
+ return openBlock(), createElementBlock("div", _hoisted_1$1B, [
30693
30846
  createBaseVNode("div", {
30694
30847
  class: "w-full",
30695
30848
  style: normalizeStyle({
@@ -30794,7 +30947,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
30794
30947
  };
30795
30948
  }
30796
30949
  });
30797
- const _hoisted_1$1B = { class: "w-full h-full relative" };
30950
+ const _hoisted_1$1A = { class: "w-full h-full relative" };
30798
30951
  const elementPropertiesSchema$8 = {
30799
30952
  sections: [
30800
30953
  {
@@ -31575,7 +31728,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
31575
31728
  }
31576
31729
  }, { deep: true });
31577
31730
  return (_ctx, _cache) => {
31578
- return openBlock(), createElementBlock("div", _hoisted_1$1B, [
31731
+ return openBlock(), createElementBlock("div", _hoisted_1$1A, [
31579
31732
  createBaseVNode("div", {
31580
31733
  ref_key: "chartRef",
31581
31734
  ref: chartRef,
@@ -31590,7 +31743,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
31590
31743
  };
31591
31744
  }
31592
31745
  });
31593
- const _hoisted_1$1A = ["data-auto-height"];
31746
+ const _hoisted_1$1z = ["data-auto-height"];
31594
31747
  const _hoisted_2$z = {
31595
31748
  key: 1,
31596
31749
  class: "whitespace-pre-wrap"
@@ -31911,11 +32064,11 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
31911
32064
  }, toDisplayString$1(seg.text), 5);
31912
32065
  }), 128))
31913
32066
  ])) : (openBlock(), createElementBlock("div", _hoisted_3$x, toDisplayString$1(unref(t)("properties.label.longTextPlaceholder").split("\n")[0]), 1))
31914
- ], 44, _hoisted_1$1A);
32067
+ ], 44, _hoisted_1$1z);
31915
32068
  };
31916
32069
  }
31917
32070
  });
31918
- const _hoisted_1$1z = ["innerHTML"];
32071
+ const _hoisted_1$1y = ["innerHTML"];
31919
32072
  const elementPropertiesSchema$6 = {
31920
32073
  sections: [
31921
32074
  {
@@ -31976,12 +32129,12 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
31976
32129
  padding: `${((_e = __props.element.style) == null ? void 0 : _e.padding) || 4}px`
31977
32130
  }),
31978
32131
  innerHTML: displayContent.value
31979
- }, null, 12, _hoisted_1$1z);
32132
+ }, null, 12, _hoisted_1$1y);
31980
32133
  };
31981
32134
  }
31982
32135
  });
31983
32136
  const RichTextElement = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-4f64b16f"]]);
31984
- const _hoisted_1$1y = { key: 0 };
32137
+ const _hoisted_1$1x = { key: 0 };
31985
32138
  const _hoisted_2$y = { key: 1 };
31986
32139
  const elementPropertiesSchema$5 = {
31987
32140
  sections: [
@@ -32075,12 +32228,12 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
32075
32228
  padding: `${((_e = __props.element.style) == null ? void 0 : _e.padding) || 4}px`
32076
32229
  })
32077
32230
  }, [
32078
- unref(renderContext).showVariableNames && __props.element.variable ? (openBlock(), createElementBlock("span", _hoisted_1$1y, "{#" + toDisplayString$1(__props.element.variable) + "}", 1)) : (openBlock(), createElementBlock("span", _hoisted_2$y, toDisplayString$1(currentDate.value), 1))
32231
+ unref(renderContext).showVariableNames && __props.element.variable ? (openBlock(), createElementBlock("span", _hoisted_1$1x, "{#" + toDisplayString$1(__props.element.variable) + "}", 1)) : (openBlock(), createElementBlock("span", _hoisted_2$y, toDisplayString$1(currentDate.value), 1))
32079
32232
  ], 4);
32080
32233
  };
32081
32234
  }
32082
32235
  });
32083
- const _hoisted_1$1x = { class: "flex items-baseline gap-1" };
32236
+ const _hoisted_1$1w = { class: "flex items-baseline gap-1" };
32084
32237
  const _hoisted_2$x = {
32085
32238
  key: 0,
32086
32239
  class: "text-gray-400 text-sm"
@@ -32208,7 +32361,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
32208
32361
  class: "text-gray-500 mb-2",
32209
32362
  style: normalizeStyle({ fontSize: `${__props.element.labelFontSize || 12}px` })
32210
32363
  }, toDisplayString$1(resolvedData.value.label), 5),
32211
- createBaseVNode("div", _hoisted_1$1x, [
32364
+ createBaseVNode("div", _hoisted_1$1w, [
32212
32365
  createBaseVNode("span", {
32213
32366
  class: "font-bold text-gray-900",
32214
32367
  style: normalizeStyle({ fontSize: `${__props.element.valueFontSize || 32}px` })
@@ -32246,7 +32399,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
32246
32399
  };
32247
32400
  }
32248
32401
  });
32249
- const _hoisted_1$1w = {
32402
+ const _hoisted_1$1v = {
32250
32403
  key: 4,
32251
32404
  class: "text-xs text-gray-400"
32252
32405
  };
@@ -32366,7 +32519,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
32366
32519
  class: "text-sm font-medium text-gray-700",
32367
32520
  style: normalizeStyle({ minWidth: "40px", textAlign: __props.element.progressLabelPosition === "outside" ? "left" : "right" })
32368
32521
  }, toDisplayString$1(resolvedProgress.value.percent) + "% ", 5)) : createCommentVNode("", true),
32369
- unref(renderContext).showVariableNames && __props.element.variable ? (openBlock(), createElementBlock("div", _hoisted_1$1w, " {#" + toDisplayString$1(__props.element.variable) + "} ", 1)) : createCommentVNode("", true)
32522
+ unref(renderContext).showVariableNames && __props.element.variable ? (openBlock(), createElementBlock("div", _hoisted_1$1v, " {#" + toDisplayString$1(__props.element.variable) + "} ", 1)) : createCommentVNode("", true)
32370
32523
  ], 4);
32371
32524
  };
32372
32525
  }
@@ -32462,7 +32615,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
32462
32615
  };
32463
32616
  }
32464
32617
  });
32465
- const _hoisted_1$1v = ["src", "alt"];
32618
+ const _hoisted_1$1u = ["src", "alt"];
32466
32619
  const _hoisted_2$w = {
32467
32620
  key: 0,
32468
32621
  class: "text-center text-xs text-gray-500 mt-1"
@@ -32533,7 +32686,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
32533
32686
  src: displayImage.value,
32534
32687
  alt: __props.element.label || "印章/签名",
32535
32688
  class: "max-w-full max-h-full object-contain"
32536
- }, null, 8, _hoisted_1$1v),
32689
+ }, null, 8, _hoisted_1$1u),
32537
32690
  __props.element.label ? (openBlock(), createElementBlock("div", _hoisted_2$w, toDisplayString$1(__props.element.label), 1)) : createCommentVNode("", true)
32538
32691
  ], 64)) : showPlaceholder.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
32539
32692
  _cache[0] || (_cache[0] = createBaseVNode("svg", {
@@ -32555,7 +32708,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
32555
32708
  };
32556
32709
  }
32557
32710
  });
32558
- const _hoisted_1$1u = { class: "hidden" };
32711
+ const _hoisted_1$1t = { class: "hidden" };
32559
32712
  const elementPropertiesSchema = {
32560
32713
  sections: [
32561
32714
  {
@@ -32575,17 +32728,17 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
32575
32728
  },
32576
32729
  setup(__props) {
32577
32730
  return (_ctx, _cache) => {
32578
- return openBlock(), createElementBlock("div", _hoisted_1$1u);
32731
+ return openBlock(), createElementBlock("div", _hoisted_1$1t);
32579
32732
  };
32580
32733
  }
32581
32734
  });
32582
- const _hoisted_1$1t = {
32735
+ const _hoisted_1$1s = {
32583
32736
  viewBox: "0 0 24 24",
32584
32737
  width: "1.2em",
32585
32738
  height: "1.2em"
32586
32739
  };
32587
32740
  function render$Y(_ctx, _cache) {
32588
- return openBlock(), createElementBlock("svg", _hoisted_1$1t, [..._cache[0] || (_cache[0] = [
32741
+ return openBlock(), createElementBlock("svg", _hoisted_1$1s, [..._cache[0] || (_cache[0] = [
32589
32742
  createBaseVNode("path", {
32590
32743
  fill: "currentColor",
32591
32744
  d: "M11 13H5v-2h6V5h2v6h6v2h-6v6h-2z"
@@ -32593,13 +32746,13 @@ function render$Y(_ctx, _cache) {
32593
32746
  ])]);
32594
32747
  }
32595
32748
  const AddIcon = markRaw({ name: "material-symbols-add", render: render$Y });
32596
- const _hoisted_1$1s = {
32749
+ const _hoisted_1$1r = {
32597
32750
  viewBox: "0 0 24 24",
32598
32751
  width: "1.2em",
32599
32752
  height: "1.2em"
32600
32753
  };
32601
32754
  function render$X(_ctx, _cache) {
32602
- return openBlock(), createElementBlock("svg", _hoisted_1$1s, [..._cache[0] || (_cache[0] = [
32755
+ return openBlock(), createElementBlock("svg", _hoisted_1$1r, [..._cache[0] || (_cache[0] = [
32603
32756
  createBaseVNode("path", {
32604
32757
  fill: "currentColor",
32605
32758
  d: "M11 20V7.825l-5.6 5.6L4 12l8-8l8 8l-1.4 1.425l-5.6-5.6V20z"
@@ -32607,13 +32760,13 @@ function render$X(_ctx, _cache) {
32607
32760
  ])]);
32608
32761
  }
32609
32762
  const ArrowUpIcon = markRaw({ name: "material-symbols-arrow-upward", render: render$X });
32610
- const _hoisted_1$1r = {
32763
+ const _hoisted_1$1q = {
32611
32764
  viewBox: "0 0 24 24",
32612
32765
  width: "1.2em",
32613
32766
  height: "1.2em"
32614
32767
  };
32615
32768
  function render$W(_ctx, _cache) {
32616
- return openBlock(), createElementBlock("svg", _hoisted_1$1r, [..._cache[0] || (_cache[0] = [
32769
+ return openBlock(), createElementBlock("svg", _hoisted_1$1q, [..._cache[0] || (_cache[0] = [
32617
32770
  createBaseVNode("path", {
32618
32771
  fill: "currentColor",
32619
32772
  d: "M11 4v12.175l-5.6-5.6L4 12l8 8l8-8l-1.4-1.425l-5.6 5.6V4z"
@@ -32621,13 +32774,13 @@ function render$W(_ctx, _cache) {
32621
32774
  ])]);
32622
32775
  }
32623
32776
  const ArrowDownIcon = markRaw({ name: "material-symbols-arrow-downward", render: render$W });
32624
- const _hoisted_1$1q = {
32777
+ const _hoisted_1$1p = {
32625
32778
  viewBox: "0 0 24 24",
32626
32779
  width: "1.2em",
32627
32780
  height: "1.2em"
32628
32781
  };
32629
32782
  function render$V(_ctx, _cache) {
32630
- return openBlock(), createElementBlock("svg", _hoisted_1$1q, [..._cache[0] || (_cache[0] = [
32783
+ return openBlock(), createElementBlock("svg", _hoisted_1$1p, [..._cache[0] || (_cache[0] = [
32631
32784
  createBaseVNode("path", {
32632
32785
  fill: "currentColor",
32633
32786
  d: "m7 22l-4-4l4-4l1.4 1.45L6.85 17H17v-4h2v6H6.85l1.55 1.55zM5 11V5h12.15L15.6 3.45L17 2l4 4l-4 4l-1.4-1.45L17.15 7H7v4z"
@@ -33076,7 +33229,7 @@ function createNewElement(type, x, y, t) {
33076
33229
  }
33077
33230
  };
33078
33231
  }
33079
- const _hoisted_1$1p = ["id"];
33232
+ const _hoisted_1$1o = ["id"];
33080
33233
  const _hoisted_2$v = {
33081
33234
  key: 0,
33082
33235
  class: "absolute top-0 -right-12 flex flex-col gap-2 z-10"
@@ -33219,7 +33372,23 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
33219
33372
  });
33220
33373
  return result;
33221
33374
  };
33222
- const pages = computed(() => buildReportPaginatedPages(store.pages));
33375
+ const buildReportLoopPages = (sourcePages) => {
33376
+ if (store.mode !== "report") {
33377
+ return sourcePages.map((page, sourcePageIndex) => ({ ...page, __sourcePageIndex: sourcePageIndex }));
33378
+ }
33379
+ return sourcePages.flatMap((page, sourcePageIndex) => expandLoopPages([page], {
33380
+ testData: store.testData,
33381
+ variables: store.variables,
33382
+ mode: store.mode,
33383
+ isExporting: true,
33384
+ showVariableNames: store.showVariableNames
33385
+ }).map((expandedPage, loopIndex) => ({
33386
+ ...expandedPage,
33387
+ __sourcePageIndex: sourcePageIndex,
33388
+ __loopPreviewPage: loopIndex > 0
33389
+ })));
33390
+ };
33391
+ const pages = computed(() => buildReportPaginatedPages(buildReportLoopPages(store.pages)));
33223
33392
  const getSourcePageIndex = (page, fallbackIndex) => {
33224
33393
  return page.__sourcePageIndex ?? fallbackIndex;
33225
33394
  };
@@ -33606,7 +33775,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
33606
33775
  id: `page-wrapper-${index2}`,
33607
33776
  class: "relative group"
33608
33777
  }, [
33609
- showEditorChrome.value && !page.__autoTablePage ? (openBlock(), createElementBlock("div", _hoisted_2$v, [
33778
+ showEditorChrome.value && !page.__autoTablePage && !page.__loopPreviewPage ? (openBlock(), createElementBlock("div", _hoisted_2$v, [
33610
33779
  createBaseVNode("button", {
33611
33780
  class: "w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-blue-50 hover:text-blue-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
33612
33781
  title: unref(t)("canvas.addPage"),
@@ -33822,7 +33991,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
33822
33991
  }, null, 4)) : createCommentVNode("", true)
33823
33992
  ])) : createCommentVNode("", true)
33824
33993
  ], 46, _hoisted_10$i)
33825
- ], 8, _hoisted_1$1p);
33994
+ ], 8, _hoisted_1$1o);
33826
33995
  }), 128))
33827
33996
  ], 4);
33828
33997
  };
@@ -33956,120 +34125,6 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
33956
34125
  }
33957
34126
  });
33958
34127
  const PrintRenderer = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-d181d33d"]]);
33959
- function expandLoopPages(pages, ctx) {
33960
- const result = [];
33961
- for (const page of pages) {
33962
- const loopVariable = page.loopDataVariable;
33963
- if (!loopVariable) {
33964
- result.push(page);
33965
- continue;
33966
- }
33967
- const key = normalizeVariableKey(loopVariable);
33968
- if (!key) {
33969
- result.push(page);
33970
- continue;
33971
- }
33972
- const data = resolveRenderValue(key, ctx);
33973
- if (!Array.isArray(data) || data.length === 0) {
33974
- result.push(page);
33975
- continue;
33976
- }
33977
- for (let i = 0; i < data.length; i++) {
33978
- const item = data[i];
33979
- const newPage = {
33980
- id: i === 0 ? page.id : v4(),
33981
- elements: page.elements.map((el) => {
33982
- const cloned = cloneDeep$1(el);
33983
- if (i !== 0) {
33984
- cloned.id = v4();
33985
- }
33986
- if (el.type === ElementType.LOOP_RENDER) {
33987
- return cloned;
33988
- }
33989
- if (el.variable) {
33990
- const varKey = normalizeVariableKey(el.variable);
33991
- if (varKey) {
33992
- let itemValue;
33993
- for (const candidate of getScopedVariableKeyCandidates(varKey, key)) {
33994
- itemValue = resolveNestedValue(item, candidate);
33995
- if (itemValue !== void 0 && itemValue !== null) break;
33996
- }
33997
- if (itemValue !== void 0 && itemValue !== null) {
33998
- cloned.content = String(itemValue);
33999
- cloned.variable = "";
34000
- }
34001
- }
34002
- }
34003
- if (cloned.content && /\{#([^}]+)\}/.test(cloned.content)) {
34004
- cloned.content = cloned.content.replace(/\{#([^}]+)\}/g, (_match, tokenKey) => {
34005
- const value = resolveNestedValue(item, tokenKey.trim());
34006
- if (value !== void 0 && value !== null) {
34007
- return String(value);
34008
- }
34009
- return `{#${tokenKey}}`;
34010
- });
34011
- }
34012
- return cloned;
34013
- }),
34014
- loopDataVariable: page.loopDataVariable
34015
- };
34016
- result.push(newPage);
34017
- }
34018
- }
34019
- return result;
34020
- }
34021
- function hasLoopPage(pages) {
34022
- return !!pages && pages.some((p2) => !!p2.loopDataVariable);
34023
- }
34024
- function collapseLoopPages(currentPages, originalTemplatePages) {
34025
- var _a2;
34026
- if (!Array.isArray(currentPages) || !Array.isArray(originalTemplatePages)) {
34027
- return currentPages;
34028
- }
34029
- const originalLoopPages = originalTemplatePages.filter((p2) => p2.loopDataVariable);
34030
- if (originalLoopPages.length === 0) {
34031
- return currentPages;
34032
- }
34033
- const result = [];
34034
- for (const originalLoopPage of originalLoopPages) {
34035
- const basePageId = originalLoopPage.id;
34036
- const loopVar = originalLoopPage.loopDataVariable;
34037
- const expandedGroupPages = currentPages.filter(
34038
- (p2) => p2.id === basePageId || typeof p2.id === "string" && p2.id.startsWith(`${basePageId}-`)
34039
- );
34040
- if (expandedGroupPages.length === 0) {
34041
- result.push(originalLoopPage);
34042
- continue;
34043
- }
34044
- const mergedElements = cloneDeep$1(expandedGroupPages[0].elements || []);
34045
- const origElMap = new Map(((_a2 = originalLoopPage.elements) == null ? void 0 : _a2.map((e) => [e.type, e])) || []);
34046
- for (const el of mergedElements) {
34047
- const orig = origElMap.get(el.type);
34048
- if (orig == null ? void 0 : orig.variable) {
34049
- el.variable = orig.variable;
34050
- }
34051
- if ((orig == null ? void 0 : orig.content) && /\{#/.test(orig.content)) {
34052
- el.content = orig.content;
34053
- }
34054
- }
34055
- result.push({
34056
- ...originalLoopPage,
34057
- elements: mergedElements,
34058
- loopDataVariable: loopVar,
34059
- loopFields: originalLoopPage.loopFields
34060
- });
34061
- }
34062
- new Set(originalLoopPages.map((p2) => p2.id));
34063
- for (const page of currentPages) {
34064
- const belongsToLoop = originalLoopPages.some(
34065
- (orig) => page.id === orig.id || typeof page.id === "string" && page.id.startsWith(`${orig.id}-`)
34066
- );
34067
- if (!belongsToLoop) {
34068
- result.push(page);
34069
- }
34070
- }
34071
- return result;
34072
- }
34073
34128
  const usePrint = () => {
34074
34129
  const store = useDesignerStore();
34075
34130
  const {
@@ -34410,7 +34465,7 @@ const usePrint = () => {
34410
34465
  const svgToCanvas = async (root) => {
34411
34466
  const svgs = root.querySelectorAll("svg");
34412
34467
  if (svgs.length === 0) return;
34413
- const { Canvg } = await import("./index.es-CJVAF11T.js");
34468
+ const { Canvg } = await import("./index.es-CpznCo85.js");
34414
34469
  svgs.forEach((svg) => {
34415
34470
  const parent = svg.parentElement;
34416
34471
  if (!parent) return;
@@ -34998,7 +35053,7 @@ const usePrint = () => {
34998
35053
  }
34999
35054
  try {
35000
35055
  const generatePageImage = async (page) => {
35001
- const domToImageModule = await import("./dom-to-image-more.min-CyxmydGS.js").then((n) => n.domToImageMore_min);
35056
+ const domToImageModule = await import("./dom-to-image-more.min-CmrNolwX.js").then((n) => n.domToImageMore_min);
35002
35057
  const domtoimage = (domToImageModule == null ? void 0 : domToImageModule.default) || domToImageModule;
35003
35058
  const canvas = await domtoimage.toCanvas(page, {
35004
35059
  filter: (node) => {
@@ -35056,7 +35111,7 @@ const usePrint = () => {
35056
35111
  cleanup = source.cleanup;
35057
35112
  const { container, tempWrapper: wrapper } = await processContentForImage(source.content, width, height, true, source.getComputedStyleFn);
35058
35113
  tempWrapper = wrapper;
35059
- const jsPdfModule = await import("./jspdf.es.min-BZ5J-fwr.js");
35114
+ const jsPdfModule = await import("./jspdf.es.min-DVOmjmD9.js");
35060
35115
  const jsPDF = (jsPdfModule == null ? void 0 : jsPdfModule.default) || (jsPdfModule == null ? void 0 : jsPdfModule.jsPDF) || jsPdfModule;
35061
35116
  const pdf = new jsPDF({
35062
35117
  orientation: width > height ? "l" : "p",
@@ -35468,7 +35523,7 @@ const usePrint = () => {
35468
35523
  link.click();
35469
35524
  document.body.removeChild(link);
35470
35525
  } else {
35471
- const jsZipModule = await import("./jszip.min-DQML3mxT.js").then((n) => n.jszip_min);
35526
+ const jsZipModule = await import("./jszip.min-BDBW17Ci.js").then((n) => n.jszip_min);
35472
35527
  const JSZip = (jsZipModule == null ? void 0 : jsZipModule.default) || jsZipModule;
35473
35528
  const zip = new JSZip();
35474
35529
  await Promise.all(pageImages.map(async (dataUrl, index2) => {
@@ -35581,13 +35636,13 @@ const formatShortcut = (keys) => {
35581
35636
  }
35582
35637
  }).join(" + ");
35583
35638
  };
35584
- const _hoisted_1$1o = {
35639
+ const _hoisted_1$1n = {
35585
35640
  viewBox: "0 0 24 24",
35586
35641
  width: "1.2em",
35587
35642
  height: "1.2em"
35588
35643
  };
35589
35644
  function render$U(_ctx, _cache) {
35590
- return openBlock(), createElementBlock("svg", _hoisted_1$1o, [..._cache[0] || (_cache[0] = [
35645
+ return openBlock(), createElementBlock("svg", _hoisted_1$1n, [..._cache[0] || (_cache[0] = [
35591
35646
  createBaseVNode("path", {
35592
35647
  fill: "currentColor",
35593
35648
  d: "M6.8 19V5h5.525q1.625 0 3 1T16.7 8.775q0 1.275-.575 1.963t-1.075.987q.625.275 1.388 1.025T17.2 15q0 2.225-1.625 3.113t-3.05.887zm3.025-2.8h2.6q1.2 0 1.463-.612t.262-.888t-.262-.887t-1.538-.613H9.825zm0-5.7h2.325q.825 0 1.2-.425t.375-.95q0-.6-.425-.975t-1.1-.375H9.825z"
@@ -35595,13 +35650,13 @@ function render$U(_ctx, _cache) {
35595
35650
  ])]);
35596
35651
  }
35597
35652
  const Bold = markRaw({ name: "material-symbols-format-bold", render: render$U });
35598
- const _hoisted_1$1n = {
35653
+ const _hoisted_1$1m = {
35599
35654
  viewBox: "0 0 24 24",
35600
35655
  width: "1.2em",
35601
35656
  height: "1.2em"
35602
35657
  };
35603
35658
  function render$T(_ctx, _cache) {
35604
- return openBlock(), createElementBlock("svg", _hoisted_1$1n, [..._cache[0] || (_cache[0] = [
35659
+ return openBlock(), createElementBlock("svg", _hoisted_1$1m, [..._cache[0] || (_cache[0] = [
35605
35660
  createBaseVNode("path", {
35606
35661
  fill: "currentColor",
35607
35662
  d: "M5 19v-2.5h4l3-9H8V5h10v2.5h-3.5l-3 9H15V19z"
@@ -35609,13 +35664,13 @@ function render$T(_ctx, _cache) {
35609
35664
  ])]);
35610
35665
  }
35611
35666
  const Italic = markRaw({ name: "material-symbols-format-italic", render: render$T });
35612
- const _hoisted_1$1m = {
35667
+ const _hoisted_1$1l = {
35613
35668
  viewBox: "0 0 24 24",
35614
35669
  width: "1.2em",
35615
35670
  height: "1.2em"
35616
35671
  };
35617
35672
  function render$S(_ctx, _cache) {
35618
- return openBlock(), createElementBlock("svg", _hoisted_1$1m, [..._cache[0] || (_cache[0] = [
35673
+ return openBlock(), createElementBlock("svg", _hoisted_1$1l, [..._cache[0] || (_cache[0] = [
35619
35674
  createBaseVNode("path", {
35620
35675
  fill: "currentColor",
35621
35676
  d: "M5 21v-2h14v2zm3.075-5.575q-1.4-1.575-1.4-4.175V3H9.25v8.4q0 1.4.7 2.275t2.05.875t2.05-.875t.7-2.275V3h2.575v8.25q0 2.6-1.4 4.175T12 17t-3.925-1.575"
@@ -35623,13 +35678,13 @@ function render$S(_ctx, _cache) {
35623
35678
  ])]);
35624
35679
  }
35625
35680
  const FormatUnderlined = markRaw({ name: "material-symbols-format-underlined", render: render$S });
35626
- const _hoisted_1$1l = {
35681
+ const _hoisted_1$1k = {
35627
35682
  viewBox: "0 0 24 24",
35628
35683
  width: "1.2em",
35629
35684
  height: "1.2em"
35630
35685
  };
35631
35686
  function render$R(_ctx, _cache) {
35632
- return openBlock(), createElementBlock("svg", _hoisted_1$1l, [..._cache[0] || (_cache[0] = [
35687
+ return openBlock(), createElementBlock("svg", _hoisted_1$1k, [..._cache[0] || (_cache[0] = [
35633
35688
  createBaseVNode("path", {
35634
35689
  fill: "currentColor",
35635
35690
  d: "M10.9 16L15 5h2l4.1 11h-1.9l-1-2.8h-4.4l-1 2.8zm3.45-4.4h3.3l-1.6-4.55h-.1zM6 20l-3.5-3.5l1.4-1.4L5 16.15V3h2v13.15l1.1-1.05l1.4 1.4z"
@@ -35637,13 +35692,13 @@ function render$R(_ctx, _cache) {
35637
35692
  ])]);
35638
35693
  }
35639
35694
  const TextRotateVertical = markRaw({ name: "material-symbols-text-rotate-vertical", render: render$R });
35640
- const _hoisted_1$1k = {
35695
+ const _hoisted_1$1j = {
35641
35696
  viewBox: "0 0 24 24",
35642
35697
  width: "1.2em",
35643
35698
  height: "1.2em"
35644
35699
  };
35645
35700
  function render$Q(_ctx, _cache) {
35646
- return openBlock(), createElementBlock("svg", _hoisted_1$1k, [..._cache[0] || (_cache[0] = [
35701
+ return openBlock(), createElementBlock("svg", _hoisted_1$1j, [..._cache[0] || (_cache[0] = [
35647
35702
  createBaseVNode("path", {
35648
35703
  fill: "currentColor",
35649
35704
  d: "M11 22q-1.25-.125-2.4-.612T6.4 20.1l1.4-1.45q.725.525 1.538.85t1.662.45zm2 0v-2.05q2.6-.375 4.3-2.337T19 13.05q0-2.925-2.037-4.962T12 6.05h-.2l1.6 1.6l-1.4 1.4l-4-4l4-4l1.4 1.45l-1.55 1.55H12q1.875 0 3.513.713t2.85 1.925t1.925 2.85T21 13.05q0 3.425-2.275 5.963T13 22m-8.05-3.35q-.8-1.05-1.288-2.2t-.612-2.4H5.1q.125.85.45 1.663t.85 1.537zm-1.9-6.6q.15-1.275.625-2.45T4.95 7.45l1.45 1.4q-.525.725-.85 1.538T5.1 12.05z"
@@ -35651,13 +35706,13 @@ function render$Q(_ctx, _cache) {
35651
35706
  ])]);
35652
35707
  }
35653
35708
  const RotateCcw = markRaw({ name: "material-symbols-rotate-left", render: render$Q });
35654
- const _hoisted_1$1j = {
35709
+ const _hoisted_1$1i = {
35655
35710
  viewBox: "0 0 24 24",
35656
35711
  width: "1.2em",
35657
35712
  height: "1.2em"
35658
35713
  };
35659
35714
  function render$P(_ctx, _cache) {
35660
- return openBlock(), createElementBlock("svg", _hoisted_1$1j, [..._cache[0] || (_cache[0] = [
35715
+ return openBlock(), createElementBlock("svg", _hoisted_1$1i, [..._cache[0] || (_cache[0] = [
35661
35716
  createBaseVNode("path", {
35662
35717
  fill: "currentColor",
35663
35718
  d: "M6.4 18h2.1l1.1-3.05h4.8L15.5 18h2.1L13.05 6h-2.1zm3.8-4.8l1.75-4.95h.1l1.75 4.95zM4 22q-.825 0-1.412-.587T2 20V4q0-.825.588-1.412T4 2h16q.825 0 1.413.588T22 4v16q0 .825-.587 1.413T20 22z"
@@ -35665,13 +35720,13 @@ function render$P(_ctx, _cache) {
35665
35720
  ])]);
35666
35721
  }
35667
35722
  const FontDownload = markRaw({ name: "material-symbols-font-download", render: render$P });
35668
- const _hoisted_1$1i = {
35723
+ const _hoisted_1$1h = {
35669
35724
  viewBox: "0 0 24 24",
35670
35725
  width: "1.2em",
35671
35726
  height: "1.2em"
35672
35727
  };
35673
35728
  function render$O(_ctx, _cache) {
35674
- return openBlock(), createElementBlock("svg", _hoisted_1$1i, [..._cache[0] || (_cache[0] = [
35729
+ return openBlock(), createElementBlock("svg", _hoisted_1$1h, [..._cache[0] || (_cache[0] = [
35675
35730
  createBaseVNode("path", {
35676
35731
  fill: "currentColor",
35677
35732
  d: "M6.175 1.4L7.6 0l8.575 8.575q.575.575.575 1.425t-.575 1.425l-4.75 4.75q-.575.575-1.425.575t-1.425-.575l-4.75-4.75Q3.25 10.85 3.25 10t.575-1.425L8.575 3.8zM10 5.225L5.225 10h9.55zm7.588 11.188Q17 15.825 17 15q0-.525.313-1.125T18 12.75q.225-.3.475-.625T19 11.5q.275.3.525.625t.475.625q.375.525.688 1.125T21 15q0 .825-.587 1.413T19 17t-1.412-.587M2 24v-4h20v4z"
@@ -35679,13 +35734,13 @@ function render$O(_ctx, _cache) {
35679
35734
  ])]);
35680
35735
  }
35681
35736
  const FormatColorFill = markRaw({ name: "material-symbols-format-color-fill", render: render$O });
35682
- const _hoisted_1$1h = {
35737
+ const _hoisted_1$1g = {
35683
35738
  viewBox: "0 0 24 24",
35684
35739
  width: "1.2em",
35685
35740
  height: "1.2em"
35686
35741
  };
35687
35742
  function render$N(_ctx, _cache) {
35688
- return openBlock(), createElementBlock("svg", _hoisted_1$1h, [..._cache[0] || (_cache[0] = [
35743
+ return openBlock(), createElementBlock("svg", _hoisted_1$1g, [..._cache[0] || (_cache[0] = [
35689
35744
  createBaseVNode("path", {
35690
35745
  fill: "currentColor",
35691
35746
  d: "m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z"
@@ -35693,13 +35748,13 @@ function render$N(_ctx, _cache) {
35693
35748
  ])]);
35694
35749
  }
35695
35750
  const Check = markRaw({ name: "material-symbols-check", render: render$N });
35696
- const _hoisted_1$1g = {
35751
+ const _hoisted_1$1f = {
35697
35752
  viewBox: "0 0 24 24",
35698
35753
  width: "1.2em",
35699
35754
  height: "1.2em"
35700
35755
  };
35701
35756
  function render$M(_ctx, _cache) {
35702
- return openBlock(), createElementBlock("svg", _hoisted_1$1g, [..._cache[0] || (_cache[0] = [
35757
+ return openBlock(), createElementBlock("svg", _hoisted_1$1f, [..._cache[0] || (_cache[0] = [
35703
35758
  createBaseVNode("path", {
35704
35759
  fill: "currentColor",
35705
35760
  d: "M19.25 16.4L8.4 5.55L12 2l5.65 5.55q1.1 1.05 1.725 2.488T20 13.1q0 .9-.2 1.725t-.55 1.575m.55 6.2l-3.1-3.1q-1.025.725-2.2 1.113T12 21q-3.325 0-5.663-2.312T4 13.1q0-1.275.4-2.45T5.6 8.4L1.4 4.2l1.4-1.4l18.4 18.4z"
@@ -35707,13 +35762,13 @@ function render$M(_ctx, _cache) {
35707
35762
  ])]);
35708
35763
  }
35709
35764
  markRaw({ name: "material-symbols-format-color-reset", render: render$M });
35710
- const _hoisted_1$1f = {
35765
+ const _hoisted_1$1e = {
35711
35766
  viewBox: "0 0 24 24",
35712
35767
  width: "1.2em",
35713
35768
  height: "1.2em"
35714
35769
  };
35715
35770
  function render$L(_ctx, _cache) {
35716
- return openBlock(), createElementBlock("svg", _hoisted_1$1f, [..._cache[0] || (_cache[0] = [
35771
+ return openBlock(), createElementBlock("svg", _hoisted_1$1e, [..._cache[0] || (_cache[0] = [
35717
35772
  createBaseVNode("path", {
35718
35773
  fill: "currentColor",
35719
35774
  d: "m20.475 23.3l-2.3-2.3h-1.85v-1.85l-2-2V21h-4.65v-4.675H13.5l-2-2H9.675v-1.85l-2-2v3.85H3v-4.65h3.875l-2-2H3V5.8L.7 3.5l1.4-1.4l19.8 19.8zM5 21q-.825 0-1.412-.587T3 19v-2.675h4.675V21zm16-2.9l-1.775-1.775H21zm-3.775-3.775l-.9-.9v-3.75H21v4.65zm-2.9-2.9l-1.75-1.75h1.75zm-3.75-3.75l-.9-.9V3h4.65v4.675zm5.75 0V3H19q.825 0 1.413.588T21 5v2.675zm-8.65-2.9L5.9 3h1.775z"
@@ -35721,7 +35776,7 @@ function render$L(_ctx, _cache) {
35721
35776
  ])]);
35722
35777
  }
35723
35778
  markRaw({ name: "material-symbols-grid-off", render: render$L });
35724
- const _hoisted_1$1e = {
35779
+ const _hoisted_1$1d = {
35725
35780
  key: 0,
35726
35781
  class: "w-full h-[1px] bg-red-500 rotate-45 absolute"
35727
35782
  };
@@ -35997,7 +36052,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
35997
36052
  class: normalizeClass(["w-6 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer flex items-center justify-center overflow-hidden transition-all hover:border-blue-500", { "opacity-50 cursor-not-allowed": __props.disabled, "ring-2 ring-blue-500 ring-offset-1": isOpen.value }]),
35998
36053
  style: normalizeStyle({ backgroundColor: isTransparent.value ? "transparent" : displayColor.value })
35999
36054
  }, [
36000
- !__props.modelValue ? (openBlock(), createElementBlock("div", _hoisted_1$1e)) : createCommentVNode("", true),
36055
+ !__props.modelValue ? (openBlock(), createElementBlock("div", _hoisted_1$1d)) : createCommentVNode("", true),
36001
36056
  isTransparent.value ? (openBlock(), createElementBlock("div", _hoisted_2$u)) : createCommentVNode("", true)
36002
36057
  ], 6)
36003
36058
  ])
@@ -36119,7 +36174,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
36119
36174
  };
36120
36175
  }
36121
36176
  });
36122
- const _hoisted_1$1d = { class: "flex items-center gap-1 lg:gap-1.5 bg-gray-100 dark:bg-gray-800 rounded-lg px-1.5 lg:px-2 py-0.5 lg:py-1 flex-shrink-0" };
36177
+ const _hoisted_1$1c = { class: "flex items-center gap-1 lg:gap-1.5 bg-gray-100 dark:bg-gray-800 rounded-lg px-1.5 lg:px-2 py-0.5 lg:py-1 flex-shrink-0" };
36123
36178
  const _hoisted_2$t = ["disabled", "title"];
36124
36179
  const _hoisted_3$s = ["value"];
36125
36180
  const _hoisted_4$r = { class: "flex items-center gap-0.5" };
@@ -36242,7 +36297,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
36242
36297
  watch(selectedColor, (val) => updateStyle({ color: val }));
36243
36298
  watch(selectedBackgroundColor, (val) => updateStyle({ backgroundColor: val === "transparent" ? void 0 : val }));
36244
36299
  return (_ctx, _cache) => {
36245
- return openBlock(), createElementBlock("div", _hoisted_1$1d, [
36300
+ return openBlock(), createElementBlock("div", _hoisted_1$1c, [
36246
36301
  withDirectives(createBaseVNode("select", {
36247
36302
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedFont.value = $event),
36248
36303
  disabled: isFontControlsDisabled.value,
@@ -36387,13 +36442,13 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
36387
36442
  };
36388
36443
  }
36389
36444
  });
36390
- const _hoisted_1$1c = {
36445
+ const _hoisted_1$1b = {
36391
36446
  viewBox: "0 0 24 24",
36392
36447
  width: "1.2em",
36393
36448
  height: "1.2em"
36394
36449
  };
36395
36450
  function render$K(_ctx, _cache) {
36396
- return openBlock(), createElementBlock("svg", _hoisted_1$1c, [..._cache[0] || (_cache[0] = [
36451
+ return openBlock(), createElementBlock("svg", _hoisted_1$1b, [..._cache[0] || (_cache[0] = [
36397
36452
  createBaseVNode("path", {
36398
36453
  fill: "currentColor",
36399
36454
  d: "M2 22V2h2v20zm4-5v-3h10v3zm0-7V7h16v3z"
@@ -36401,13 +36456,13 @@ function render$K(_ctx, _cache) {
36401
36456
  ])]);
36402
36457
  }
36403
36458
  const AlignLeft = markRaw({ name: "material-symbols-align-horizontal-left", render: render$K });
36404
- const _hoisted_1$1b = {
36459
+ const _hoisted_1$1a = {
36405
36460
  viewBox: "0 0 24 24",
36406
36461
  width: "1.2em",
36407
36462
  height: "1.2em"
36408
36463
  };
36409
36464
  function render$J(_ctx, _cache) {
36410
- return openBlock(), createElementBlock("svg", _hoisted_1$1b, [..._cache[0] || (_cache[0] = [
36465
+ return openBlock(), createElementBlock("svg", _hoisted_1$1a, [..._cache[0] || (_cache[0] = [
36411
36466
  createBaseVNode("path", {
36412
36467
  fill: "currentColor",
36413
36468
  d: "M11 22v-5H6v-3h5v-4H3V7h8V2h2v5h8v3h-8v4h5v3h-5v5z"
@@ -36415,13 +36470,13 @@ function render$J(_ctx, _cache) {
36415
36470
  ])]);
36416
36471
  }
36417
36472
  const AlignCenter = markRaw({ name: "material-symbols-align-horizontal-center", render: render$J });
36418
- const _hoisted_1$1a = {
36473
+ const _hoisted_1$19 = {
36419
36474
  viewBox: "0 0 24 24",
36420
36475
  width: "1.2em",
36421
36476
  height: "1.2em"
36422
36477
  };
36423
36478
  function render$I(_ctx, _cache) {
36424
- return openBlock(), createElementBlock("svg", _hoisted_1$1a, [..._cache[0] || (_cache[0] = [
36479
+ return openBlock(), createElementBlock("svg", _hoisted_1$19, [..._cache[0] || (_cache[0] = [
36425
36480
  createBaseVNode("path", {
36426
36481
  fill: "currentColor",
36427
36482
  d: "M20 22V2h2v20zM8 17v-3h10v3zm-6-7V7h16v3z"
@@ -36429,13 +36484,13 @@ function render$I(_ctx, _cache) {
36429
36484
  ])]);
36430
36485
  }
36431
36486
  const AlignRight = markRaw({ name: "material-symbols-align-horizontal-right", render: render$I });
36432
- const _hoisted_1$19 = {
36487
+ const _hoisted_1$18 = {
36433
36488
  viewBox: "0 0 24 24",
36434
36489
  width: "1.2em",
36435
36490
  height: "1.2em"
36436
36491
  };
36437
36492
  function render$H(_ctx, _cache) {
36438
- return openBlock(), createElementBlock("svg", _hoisted_1$19, [..._cache[0] || (_cache[0] = [
36493
+ return openBlock(), createElementBlock("svg", _hoisted_1$18, [..._cache[0] || (_cache[0] = [
36439
36494
  createBaseVNode("path", {
36440
36495
  fill: "currentColor",
36441
36496
  d: "M7 22V6h3v16zm7-6V6h3v10zM2 4V2h20v2z"
@@ -36443,13 +36498,13 @@ function render$H(_ctx, _cache) {
36443
36498
  ])]);
36444
36499
  }
36445
36500
  const AlignTop = markRaw({ name: "material-symbols-align-vertical-top", render: render$H });
36446
- const _hoisted_1$18 = {
36501
+ const _hoisted_1$17 = {
36447
36502
  viewBox: "0 0 24 24",
36448
36503
  width: "1.2em",
36449
36504
  height: "1.2em"
36450
36505
  };
36451
36506
  function render$G(_ctx, _cache) {
36452
- return openBlock(), createElementBlock("svg", _hoisted_1$18, [..._cache[0] || (_cache[0] = [
36507
+ return openBlock(), createElementBlock("svg", _hoisted_1$17, [..._cache[0] || (_cache[0] = [
36453
36508
  createBaseVNode("path", {
36454
36509
  fill: "currentColor",
36455
36510
  d: "M7 21v-8H2v-2h5V3h3v8h4V6h3v5h5v2h-5v5h-3v-5h-4v8z"
@@ -36457,13 +36512,13 @@ function render$G(_ctx, _cache) {
36457
36512
  ])]);
36458
36513
  }
36459
36514
  const AlignMiddle = markRaw({ name: "material-symbols-align-vertical-center", render: render$G });
36460
- const _hoisted_1$17 = {
36515
+ const _hoisted_1$16 = {
36461
36516
  viewBox: "0 0 24 24",
36462
36517
  width: "1.2em",
36463
36518
  height: "1.2em"
36464
36519
  };
36465
36520
  function render$F(_ctx, _cache) {
36466
- return openBlock(), createElementBlock("svg", _hoisted_1$17, [..._cache[0] || (_cache[0] = [
36521
+ return openBlock(), createElementBlock("svg", _hoisted_1$16, [..._cache[0] || (_cache[0] = [
36467
36522
  createBaseVNode("path", {
36468
36523
  fill: "currentColor",
36469
36524
  d: "M2 22v-2h20v2zm5-4V2h3v16zm7 0V8h3v10z"
@@ -36471,13 +36526,13 @@ function render$F(_ctx, _cache) {
36471
36526
  ])]);
36472
36527
  }
36473
36528
  const AlignBottom = markRaw({ name: "material-symbols-align-vertical-bottom", render: render$F });
36474
- const _hoisted_1$16 = {
36529
+ const _hoisted_1$15 = {
36475
36530
  viewBox: "0 0 24 24",
36476
36531
  width: "1.2em",
36477
36532
  height: "1.2em"
36478
36533
  };
36479
36534
  function render$E(_ctx, _cache) {
36480
- return openBlock(), createElementBlock("svg", _hoisted_1$16, [..._cache[0] || (_cache[0] = [
36535
+ return openBlock(), createElementBlock("svg", _hoisted_1$15, [..._cache[0] || (_cache[0] = [
36481
36536
  createBaseVNode("path", {
36482
36537
  fill: "currentColor",
36483
36538
  d: "M4 15V9h2v4h12V9h2v6z"
@@ -36485,7 +36540,7 @@ function render$E(_ctx, _cache) {
36485
36540
  ])]);
36486
36541
  }
36487
36542
  const DistributeH = markRaw({ name: "material-symbols-space-bar", render: render$E });
36488
- const _hoisted_1$15 = {
36543
+ const _hoisted_1$14 = {
36489
36544
  key: 0,
36490
36545
  class: "flex items-center gap-0.5 border border-gray-200 rounded-lg px-1 py-0.5 bg-white"
36491
36546
  };
@@ -36501,7 +36556,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
36501
36556
  const showDistribute = computed(() => store.selectedElementIds.length >= 3 && store.isTemplateEditable);
36502
36557
  return (_ctx, _cache) => {
36503
36558
  return openBlock(), createElementBlock(Fragment, null, [
36504
- showAlign.value ? (openBlock(), createElementBlock("div", _hoisted_1$15, [
36559
+ showAlign.value ? (openBlock(), createElementBlock("div", _hoisted_1$14, [
36505
36560
  createBaseVNode("button", {
36506
36561
  class: "p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",
36507
36562
  title: "左对齐",
@@ -36566,13 +36621,13 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
36566
36621
  };
36567
36622
  }
36568
36623
  });
36569
- const _hoisted_1$14 = {
36624
+ const _hoisted_1$13 = {
36570
36625
  viewBox: "0 0 24 24",
36571
36626
  width: "1.2em",
36572
36627
  height: "1.2em"
36573
36628
  };
36574
36629
  function render$D(_ctx, _cache) {
36575
- return openBlock(), createElementBlock("svg", _hoisted_1$14, [..._cache[0] || (_cache[0] = [
36630
+ return openBlock(), createElementBlock("svg", _hoisted_1$13, [..._cache[0] || (_cache[0] = [
36576
36631
  createBaseVNode("path", {
36577
36632
  fill: "currentColor",
36578
36633
  d: "M12 20q-.825 0-1.412-.587T10 18t.588-1.412T12 16t1.413.588T14 18t-.587 1.413T12 20m0-6q-.825 0-1.412-.587T10 12t.588-1.412T12 10t1.413.588T14 12t-.587 1.413T12 14m0-6q-.825 0-1.412-.587T10 6t.588-1.412T12 4t1.413.588T14 6t-.587 1.413T12 8"
@@ -36580,13 +36635,13 @@ function render$D(_ctx, _cache) {
36580
36635
  ])]);
36581
36636
  }
36582
36637
  const MoreVert = markRaw({ name: "material-symbols-more-vert", render: render$D });
36583
- const _hoisted_1$13 = {
36638
+ const _hoisted_1$12 = {
36584
36639
  viewBox: "0 0 24 24",
36585
36640
  width: "1.2em",
36586
36641
  height: "1.2em"
36587
36642
  };
36588
36643
  function render$C(_ctx, _cache) {
36589
- return openBlock(), createElementBlock("svg", _hoisted_1$13, [..._cache[0] || (_cache[0] = [
36644
+ return openBlock(), createElementBlock("svg", _hoisted_1$12, [..._cache[0] || (_cache[0] = [
36590
36645
  createBaseVNode("path", {
36591
36646
  fill: "currentColor",
36592
36647
  d: "M3 21v-4.25L16.2 3.575q.3-.275.663-.425t.762-.15t.775.15t.65.45L20.425 5q.3.275.438.65T21 6.4q0 .4-.137.763t-.438.662L7.25 21zM17.6 7.8L19 6.4L17.6 5l-1.4 1.4z"
@@ -36594,13 +36649,13 @@ function render$C(_ctx, _cache) {
36594
36649
  ])]);
36595
36650
  }
36596
36651
  const Edit = markRaw({ name: "material-symbols-edit", render: render$C });
36597
- const _hoisted_1$12 = {
36652
+ const _hoisted_1$11 = {
36598
36653
  viewBox: "0 0 24 24",
36599
36654
  width: "1.2em",
36600
36655
  height: "1.2em"
36601
36656
  };
36602
36657
  function render$B(_ctx, _cache) {
36603
- return openBlock(), createElementBlock("svg", _hoisted_1$12, [..._cache[0] || (_cache[0] = [
36658
+ return openBlock(), createElementBlock("svg", _hoisted_1$11, [..._cache[0] || (_cache[0] = [
36604
36659
  createBaseVNode("path", {
36605
36660
  fill: "currentColor",
36606
36661
  d: "M9 20h11q.825 0 1.413-.587T22 18v-2H9zM2 8h5V4H4q-.825 0-1.412.588T2 6zm0 6h5v-4H2zm2 6h3v-4H2v2q0 .825.588 1.413T4 20m5-6h13v-4H9zm0-6h13V6q0-.825-.587-1.412T20 4H9z"
@@ -36608,13 +36663,13 @@ function render$B(_ctx, _cache) {
36608
36663
  ])]);
36609
36664
  }
36610
36665
  const ViewList = markRaw({ name: "material-symbols-view-list", render: render$B });
36611
- const _hoisted_1$11 = {
36666
+ const _hoisted_1$10 = {
36612
36667
  viewBox: "0 0 24 24",
36613
36668
  width: "1.2em",
36614
36669
  height: "1.2em"
36615
36670
  };
36616
36671
  function render$A(_ctx, _cache) {
36617
- return openBlock(), createElementBlock("svg", _hoisted_1$11, [..._cache[0] || (_cache[0] = [
36672
+ return openBlock(), createElementBlock("svg", _hoisted_1$10, [..._cache[0] || (_cache[0] = [
36618
36673
  createBaseVNode("path", {
36619
36674
  fill: "currentColor",
36620
36675
  d: "M8 18h8v-2H8zm0-4h8v-2H8zm-2 8q-.825 0-1.412-.587T4 20V4q0-.825.588-1.412T6 2h8l6 6v12q0 .825-.587 1.413T18 22zm7-13h5l-5-5z"
@@ -36622,7 +36677,7 @@ function render$A(_ctx, _cache) {
36622
36677
  ])]);
36623
36678
  }
36624
36679
  const Description = markRaw({ name: "material-symbols-description", render: render$A });
36625
- const _hoisted_1$10 = { class: "h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-800 shrink-0" };
36680
+ const _hoisted_1$$ = { class: "h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-800 shrink-0" };
36626
36681
  const _hoisted_2$r = { class: "text-lg font-semibold text-gray-800 dark:text-gray-100" };
36627
36682
  const _hoisted_3$r = { class: "p-4" };
36628
36683
  const _hoisted_4$q = { class: "mb-4 space-y-3" };
@@ -36788,7 +36843,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
36788
36843
  ref: modalRef,
36789
36844
  class: "bg-white dark:bg-gray-900 rounded-lg shadow-xl w-96 animate-in fade-in zoom-in duration-200 flex flex-col overflow-hidden"
36790
36845
  }, [
36791
- createBaseVNode("div", _hoisted_1$10, [
36846
+ createBaseVNode("div", _hoisted_1$$, [
36792
36847
  createBaseVNode("h3", _hoisted_2$r, toDisplayString$1(__props.title || unref(t)("input.title")), 1),
36793
36848
  createBaseVNode("button", {
36794
36849
  onClick: _cache[0] || (_cache[0] = ($event) => emit2("close")),
@@ -36909,7 +36964,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
36909
36964
  };
36910
36965
  }
36911
36966
  });
36912
- const _hoisted_1$$ = { class: "bg-white dark:bg-gray-900 rounded-lg shadow-xl w-[60vw] h-[80vh] flex flex-col overflow-hidden animate-fade-in" };
36967
+ const _hoisted_1$_ = { class: "bg-white dark:bg-gray-900 rounded-lg shadow-xl w-[60vw] h-[80vh] flex flex-col overflow-hidden animate-fade-in" };
36913
36968
  const _hoisted_2$q = { class: "h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-800 shrink-0" };
36914
36969
  const _hoisted_3$q = { class: "flex items-center gap-2" };
36915
36970
  const _hoisted_4$p = { class: "text-lg font-semibold text-gray-800 dark:text-gray-100" };
@@ -36927,7 +36982,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
36927
36982
  },
36928
36983
  emits: ["update:visible", "update:value", "close"],
36929
36984
  setup(__props, { emit: __emit }) {
36930
- const Editor = /* @__PURE__ */ defineAsyncComponent(() => import("./index-C6B5Mzsh.js").then((m) => m.Editor));
36985
+ const Editor = /* @__PURE__ */ defineAsyncComponent(() => import("./index-C6kUsKU-.js").then((m) => m.Editor));
36931
36986
  const { t } = useI18n();
36932
36987
  const { isDark: isDark2 } = useTheme();
36933
36988
  const modalContainer = inject("modal-container", /* @__PURE__ */ ref(null));
@@ -36983,7 +37038,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
36983
37038
  class: normalizeClass([{ "dark": unref(isDark2) }, "fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto"]),
36984
37039
  onClick: withModifiers(handleClose, ["self"])
36985
37040
  }, [
36986
- createBaseVNode("div", _hoisted_1$$, [
37041
+ createBaseVNode("div", _hoisted_1$_, [
36987
37042
  createBaseVNode("div", _hoisted_2$q, [
36988
37043
  createBaseVNode("div", _hoisted_3$q, [
36989
37044
  createBaseVNode("h3", _hoisted_4$p, toDisplayString$1(__props.title), 1),
@@ -37018,7 +37073,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
37018
37073
  }
37019
37074
  });
37020
37075
  const CodeEditorModal = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-4c59b77a"]]);
37021
- const _hoisted_1$_ = ["title"];
37076
+ const _hoisted_1$Z = ["title"];
37022
37077
  const _hoisted_2$p = { class: "flex-1 overflow-hidden flex items-center gap-1.5 text-left" };
37023
37078
  const _hoisted_3$p = {
37024
37079
  key: 0,
@@ -37558,7 +37613,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
37558
37613
  createBaseVNode("span", _hoisted_4$o, toDisplayString$1(currentTemplateName.value), 1)
37559
37614
  ]),
37560
37615
  createVNode(unref(ChevronDown), { class: "w-4 h-4 flex-shrink-0" })
37561
- ], 8, _hoisted_1$_),
37616
+ ], 8, _hoisted_1$Z),
37562
37617
  isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_5$n, [
37563
37618
  createBaseVNode("div", _hoisted_6$l, [
37564
37619
  withDirectives(createBaseVNode("input", {
@@ -37698,7 +37753,7 @@ const PAPER_SIZES = {
37698
37753
  "241-3 (Third)": { width: 911, height: 352 }
37699
37754
  // 241mm x 93.1mm
37700
37755
  };
37701
- const _hoisted_1$Z = { class: "relative" };
37756
+ const _hoisted_1$Y = { class: "relative" };
37702
37757
  const _hoisted_2$o = { class: "flex items-center bg-gray-100 dark:bg-gray-800 rounded-lg p-1" };
37703
37758
  const _hoisted_3$o = ["disabled", "title"];
37704
37759
  const _hoisted_4$n = ["disabled", "title"];
@@ -37931,7 +37986,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
37931
37986
  }
37932
37987
  });
37933
37988
  return (_ctx, _cache) => {
37934
- return openBlock(), createElementBlock("div", _hoisted_1$Z, [
37989
+ return openBlock(), createElementBlock("div", _hoisted_1$Y, [
37935
37990
  createBaseVNode("div", _hoisted_2$o, [
37936
37991
  createBaseVNode("button", {
37937
37992
  onClick: togglePaperSettings,
@@ -38357,13 +38412,13 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
38357
38412
  };
38358
38413
  }
38359
38414
  });
38360
- const _hoisted_1$Y = {
38415
+ const _hoisted_1$X = {
38361
38416
  viewBox: "0 0 24 24",
38362
38417
  width: "1.2em",
38363
38418
  height: "1.2em"
38364
38419
  };
38365
38420
  function render$z(_ctx, _cache) {
38366
- return openBlock(), createElementBlock("svg", _hoisted_1$Y, [..._cache[0] || (_cache[0] = [
38421
+ return openBlock(), createElementBlock("svg", _hoisted_1$X, [..._cache[0] || (_cache[0] = [
38367
38422
  createBaseVNode("path", {
38368
38423
  fill: "currentColor",
38369
38424
  d: "M9 12.5h1v-2h1q.425 0 .713-.288T12 9.5v-1q0-.425-.288-.712T11 7.5H9zm1-3v-1h1v1zm3 3h2q.425 0 .713-.288T16 11.5v-3q0-.425-.288-.712T15 7.5h-2zm1-1v-3h1v3zm3 1h1v-2h1v-1h-1v-1h1v-1h-2zM8 18q-.825 0-1.412-.587T6 16V4q0-.825.588-1.412T8 2h12q.825 0 1.413.588T22 4v12q0 .825-.587 1.413T20 18zm-4 4q-.825 0-1.412-.587T2 20V6h2v14h14v2z"
@@ -38371,7 +38426,7 @@ function render$z(_ctx, _cache) {
38371
38426
  ])]);
38372
38427
  }
38373
38428
  markRaw({ name: "material-symbols-picture-as-pdf", render: render$z });
38374
- const _hoisted_1$X = { class: "bg-white rounded-lg shadow-xl w-[90vw] h-[90vh] flex flex-col overflow-hidden" };
38429
+ const _hoisted_1$W = { class: "bg-white rounded-lg shadow-xl w-[90vw] h-[90vh] flex flex-col overflow-hidden" };
38375
38430
  const _hoisted_2$n = { class: "relative flex items-center justify-between p-4 border-b border-gray-200" };
38376
38431
  const _hoisted_3$n = { class: "text-lg font-semibold text-gray-800" };
38377
38432
  const _hoisted_4$m = { class: "absolute left-1/2 -translate-x-1/2 flex items-center gap-2" };
@@ -38565,7 +38620,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
38565
38620
  class: "fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",
38566
38621
  onClick: withModifiers(handleClose, ["self"])
38567
38622
  }, [
38568
- createBaseVNode("div", _hoisted_1$X, [
38623
+ createBaseVNode("div", _hoisted_1$W, [
38569
38624
  createBaseVNode("div", _hoisted_2$n, [
38570
38625
  createBaseVNode("h3", _hoisted_3$n, toDisplayString$1(unref(t)("preview.title")), 1),
38571
38626
  createBaseVNode("div", _hoisted_4$m, [
@@ -39209,13 +39264,13 @@ function requireStartCase() {
39209
39264
  }
39210
39265
  var startCaseExports = requireStartCase();
39211
39266
  const startCase = /* @__PURE__ */ getDefaultExportFromCjs(startCaseExports);
39212
- const _hoisted_1$W = {
39267
+ const _hoisted_1$V = {
39213
39268
  viewBox: "0 0 24 24",
39214
39269
  width: "1.2em",
39215
39270
  height: "1.2em"
39216
39271
  };
39217
39272
  function render$y(_ctx, _cache) {
39218
- return openBlock(), createElementBlock("svg", _hoisted_1$W, [..._cache[0] || (_cache[0] = [
39273
+ return openBlock(), createElementBlock("svg", _hoisted_1$V, [..._cache[0] || (_cache[0] = [
39219
39274
  createBaseVNode("path", {
39220
39275
  fill: "currentColor",
39221
39276
  d: "M4 19q-.825 0-1.412-.587T2 17V7q0-.825.588-1.412T4 5h16q.825 0 1.413.588T22 7v10q0 .825-.587 1.413T20 19zm4-3h8v-2H8zm-3-3h2v-2H5zm3 0h2v-2H8zm3 0h2v-2h-2zm3 0h2v-2h-2zm3 0h2v-2h-2zM5 10h2V8H5zm3 0h2V8H8zm3 0h2V8h-2zm3 0h2V8h-2zm3 0h2V8h-2z"
@@ -39223,13 +39278,13 @@ function render$y(_ctx, _cache) {
39223
39278
  ])]);
39224
39279
  }
39225
39280
  const KeyboardIcon = markRaw({ name: "material-symbols-keyboard", render: render$y });
39226
- const _hoisted_1$V = {
39281
+ const _hoisted_1$U = {
39227
39282
  viewBox: "0 0 24 24",
39228
39283
  width: "1.2em",
39229
39284
  height: "1.2em"
39230
39285
  };
39231
39286
  function render$x(_ctx, _cache) {
39232
- return openBlock(), createElementBlock("svg", _hoisted_1$V, [..._cache[0] || (_cache[0] = [
39287
+ return openBlock(), createElementBlock("svg", _hoisted_1$U, [..._cache[0] || (_cache[0] = [
39233
39288
  createBaseVNode("path", {
39234
39289
  fill: "currentColor",
39235
39290
  d: "M11 17h2v-6h-2zm1.713-8.287Q13 8.425 13 8t-.288-.712T12 7t-.712.288T11 8t.288.713T12 9t.713-.288M12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22"
@@ -39238,7 +39293,7 @@ function render$x(_ctx, _cache) {
39238
39293
  }
39239
39294
  const InfoIcon = markRaw({ name: "material-symbols-info", render: render$x });
39240
39295
  const name = "x-print-designer";
39241
- const version = "0.4.12";
39296
+ const version = "0.4.14";
39242
39297
  const dependencies = { "@guolao/vue-monaco-editor": "^1.6.0", "canvg": "^3.0.11", "dom-to-image-more": "^3.7.2", "echarts": "^6.0.0", "jsbarcode": "^3.12.3", "jspdf": "4.2", "jszip": "^3.10.1", "lodash": "^4.17.21", "qrcode": "^1.5.4", "uuid": "^11.0.3" };
39243
39298
  const devDependencies = { "@iconify-json/material-symbols": "^1.2.53", "@types/jsbarcode": "^3.11.4", "@types/lodash": "^4.17.13", "@types/node": "^22.10.2", "@types/qrcode": "^1.5.6", "@types/uuid": "^10.0.0", "@vitejs/plugin-vue": "^5.2.1", "@vue/tsconfig": "^0.7.0", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", "pinia": "2.3.0", "rollup-plugin-visualizer": "^7.0.1", "sharp": "^0.34.5", "tailwindcss": "^3.4.17", "terser": "^5.46.1", "typescript": "~5.6.2", "unplugin-icons": "^23.0.1", "vite": "^6.0.1", "vue": "3.5.13", "vue-i18n": "11.2.8", "vue-tsc": "^2.1.10" };
39244
39299
  const pkg = {
@@ -39247,7 +39302,7 @@ const pkg = {
39247
39302
  dependencies,
39248
39303
  devDependencies
39249
39304
  };
39250
- const _hoisted_1$U = { class: "bg-white rounded-lg shadow-xl w-[700px] max-w-full h-[500px] flex overflow-hidden" };
39305
+ const _hoisted_1$T = { class: "bg-white rounded-lg shadow-xl w-[700px] max-w-full h-[500px] flex overflow-hidden" };
39251
39306
  const _hoisted_2$m = { class: "w-48 bg-gray-50 border-r border-gray-200 flex flex-col" };
39252
39307
  const _hoisted_3$m = { class: "h-[60px] flex items-center px-4 border-b border-gray-200" };
39253
39308
  const _hoisted_4$l = { class: "text-lg font-semibold text-gray-800" };
@@ -39399,7 +39454,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
39399
39454
  class: "fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",
39400
39455
  onClick: withModifiers(close, ["self"])
39401
39456
  }, [
39402
- createBaseVNode("div", _hoisted_1$U, [
39457
+ createBaseVNode("div", _hoisted_1$T, [
39403
39458
  createBaseVNode("div", _hoisted_2$m, [
39404
39459
  createBaseVNode("div", _hoisted_3$m, [
39405
39460
  createBaseVNode("h3", _hoisted_4$l, toDisplayString$1(unref(t)("help.title")), 1)
@@ -39681,13 +39736,13 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
39681
39736
  };
39682
39737
  }
39683
39738
  });
39684
- const _hoisted_1$T = {
39739
+ const _hoisted_1$S = {
39685
39740
  viewBox: "0 0 24 24",
39686
39741
  width: "1.2em",
39687
39742
  height: "1.2em"
39688
39743
  };
39689
39744
  function render$w(_ctx, _cache) {
39690
- return openBlock(), createElementBlock("svg", _hoisted_1$T, [..._cache[0] || (_cache[0] = [
39745
+ return openBlock(), createElementBlock("svg", _hoisted_1$S, [..._cache[0] || (_cache[0] = [
39691
39746
  createBaseVNode("path", {
39692
39747
  fill: "currentColor",
39693
39748
  d: "m11.9 22l4.55-12h2.1l4.55 12H21l-1.075-3.05h-4.85L14 22zM4 19l-1.4-1.4l5.05-5.05q-.875-.875-1.588-2T4.75 8h2.1q.5.975 1 1.7t1.2 1.45q.825-.825 1.713-2.313T12.1 6H1V4h7V2h2v2h7v2h-2.9q-.525 1.8-1.575 3.7t-2.075 2.9l2.4 2.45l-.75 2.05l-3.05-3.125zm11.7-1.8h3.6l-1.8-5.1z"
@@ -39695,13 +39750,13 @@ function render$w(_ctx, _cache) {
39695
39750
  ])]);
39696
39751
  }
39697
39752
  const TranslateIcon = markRaw({ name: "material-symbols-translate", render: render$w });
39698
- const _hoisted_1$S = {
39753
+ const _hoisted_1$R = {
39699
39754
  viewBox: "0 0 24 24",
39700
39755
  width: "1.2em",
39701
39756
  height: "1.2em"
39702
39757
  };
39703
39758
  function render$v(_ctx, _cache) {
39704
- return openBlock(), createElementBlock("svg", _hoisted_1$S, [..._cache[0] || (_cache[0] = [
39759
+ return openBlock(), createElementBlock("svg", _hoisted_1$R, [..._cache[0] || (_cache[0] = [
39705
39760
  createBaseVNode("path", {
39706
39761
  fill: "currentColor",
39707
39762
  d: "M6.5 20q-2.275 0-3.887-1.575T1 14.575q0-1.95 1.175-3.475T5.25 9.15q.625-2.3 2.5-3.725T12 4q2.925 0 4.963 2.038T19 11q1.725.2 2.863 1.488T23 15.5q0 1.875-1.312 3.188T18.5 20z"
@@ -39709,13 +39764,13 @@ function render$v(_ctx, _cache) {
39709
39764
  ])]);
39710
39765
  }
39711
39766
  markRaw({ name: "material-symbols-cloud", render: render$v });
39712
- const _hoisted_1$R = {
39767
+ const _hoisted_1$Q = {
39713
39768
  viewBox: "0 0 24 24",
39714
39769
  width: "1.2em",
39715
39770
  height: "1.2em"
39716
39771
  };
39717
39772
  function render$u(_ctx, _cache) {
39718
- return openBlock(), createElementBlock("svg", _hoisted_1$R, [..._cache[0] || (_cache[0] = [
39773
+ return openBlock(), createElementBlock("svg", _hoisted_1$Q, [..._cache[0] || (_cache[0] = [
39719
39774
  createBaseVNode("path", {
39720
39775
  fill: "currentColor",
39721
39776
  d: "M11 17H7q-2.075 0-3.537-1.463T2 12t1.463-3.537T7 7h4v2H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h8v2zm5 4v-2h4q1.25 0 2.125-.875T20 12t-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12t-1.463 3.538T17 17z"
@@ -39723,13 +39778,13 @@ function render$u(_ctx, _cache) {
39723
39778
  ])]);
39724
39779
  }
39725
39780
  markRaw({ name: "material-symbols-link", render: render$u });
39726
- const _hoisted_1$Q = {
39781
+ const _hoisted_1$P = {
39727
39782
  viewBox: "0 0 24 24",
39728
39783
  width: "1.2em",
39729
39784
  height: "1.2em"
39730
39785
  };
39731
39786
  function render$t(_ctx, _cache) {
39732
- return openBlock(), createElementBlock("svg", _hoisted_1$Q, [..._cache[0] || (_cache[0] = [
39787
+ return openBlock(), createElementBlock("svg", _hoisted_1$P, [..._cache[0] || (_cache[0] = [
39733
39788
  createBaseVNode("path", {
39734
39789
  fill: "currentColor",
39735
39790
  d: "m19.25 16.45l-1.5-1.55q1-.275 1.625-1.063T20 12q0-1.25-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12q0 1.425-.737 2.625T19.25 16.45M15.85 13l-2-2H16v2zm3.95 9.6L1.4 4.2l1.4-1.4l18.4 18.4zM11 17H7q-2.075 0-3.537-1.463T2 12q0-1.725 1.05-3.075t2.7-1.775L7.6 9H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h1.625l1.975 2z"
@@ -39737,7 +39792,7 @@ function render$t(_ctx, _cache) {
39737
39792
  ])]);
39738
39793
  }
39739
39794
  markRaw({ name: "material-symbols-link-off", render: render$t });
39740
- const _hoisted_1$P = { class: "bg-white rounded-lg shadow-xl w-[700px] max-w-full h-[500px] flex overflow-hidden" };
39795
+ const _hoisted_1$O = { class: "bg-white rounded-lg shadow-xl w-[700px] max-w-full h-[500px] flex overflow-hidden" };
39741
39796
  const _hoisted_2$l = { class: "w-48 bg-gray-50 border-r border-gray-200 flex flex-col" };
39742
39797
  const _hoisted_3$l = { class: "h-[60px] flex items-center px-4 border-b border-gray-200" };
39743
39798
  const _hoisted_4$k = { class: "text-lg font-semibold text-gray-800" };
@@ -40056,7 +40111,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
40056
40111
  class: "fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",
40057
40112
  onClick: withModifiers(close, ["self"])
40058
40113
  }, [
40059
- createBaseVNode("div", _hoisted_1$P, [
40114
+ createBaseVNode("div", _hoisted_1$O, [
40060
40115
  createBaseVNode("div", _hoisted_2$l, [
40061
40116
  createBaseVNode("div", _hoisted_3$l, [
40062
40117
  createBaseVNode("h3", _hoisted_4$k, toDisplayString$1(unref(t)("settings.title")), 1)
@@ -40336,7 +40391,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
40336
40391
  };
40337
40392
  }
40338
40393
  });
40339
- const _hoisted_1$O = { class: "h-12 lg:h-14 bg-white dark:bg-gray-900 border-b border-gray-200 dark:border-gray-700 flex items-center px-2 lg:px-4 z-[2000] relative shadow-sm flex-shrink-0" };
40394
+ const _hoisted_1$N = { class: "h-12 lg:h-14 bg-white dark:bg-gray-900 border-b border-gray-200 dark:border-gray-700 flex items-center px-2 lg:px-4 z-[2000] relative shadow-sm flex-shrink-0" };
40340
40395
  const _hoisted_2$k = { class: "flex items-center flex-shrink-0" };
40341
40396
  const _hoisted_3$k = { class: "flex-1 flex items-center justify-center gap-1 lg:gap-2 min-w-0" };
40342
40397
  const _hoisted_4$j = { class: "flex items-center gap-1 lg:gap-2" };
@@ -40486,7 +40541,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
40486
40541
  };
40487
40542
  return (_ctx, _cache) => {
40488
40543
  return openBlock(), createElementBlock(Fragment, null, [
40489
- createBaseVNode("header", _hoisted_1$O, [
40544
+ createBaseVNode("header", _hoisted_1$N, [
40490
40545
  createBaseVNode("div", _hoisted_2$k, [
40491
40546
  createVNode(_sfc_main$r, { class: "max-w-[140px] lg:max-w-[200px]" })
40492
40547
  ]),
@@ -40906,13 +40961,13 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
40906
40961
  };
40907
40962
  }
40908
40963
  });
40909
- const _hoisted_1$N = {
40964
+ const _hoisted_1$M = {
40910
40965
  viewBox: "0 0 24 24",
40911
40966
  width: "1.2em",
40912
40967
  height: "1.2em"
40913
40968
  };
40914
40969
  function render$s(_ctx, _cache) {
40915
- return openBlock(), createElementBlock("svg", _hoisted_1$N, [..._cache[0] || (_cache[0] = [
40970
+ return openBlock(), createElementBlock("svg", _hoisted_1$M, [..._cache[0] || (_cache[0] = [
40916
40971
  createBaseVNode("path", {
40917
40972
  fill: "currentColor",
40918
40973
  d: "M10.5 20V7H5V4h14v3h-5.5v13z"
@@ -40920,13 +40975,13 @@ function render$s(_ctx, _cache) {
40920
40975
  ])]);
40921
40976
  }
40922
40977
  const Title = markRaw({ name: "material-symbols-title", render: render$s });
40923
- const _hoisted_1$M = {
40978
+ const _hoisted_1$L = {
40924
40979
  viewBox: "0 0 24 24",
40925
40980
  width: "1.2em",
40926
40981
  height: "1.2em"
40927
40982
  };
40928
40983
  function render$r(_ctx, _cache) {
40929
- return openBlock(), createElementBlock("svg", _hoisted_1$M, [..._cache[0] || (_cache[0] = [
40984
+ return openBlock(), createElementBlock("svg", _hoisted_1$L, [..._cache[0] || (_cache[0] = [
40930
40985
  createBaseVNode("path", {
40931
40986
  fill: "currentColor",
40932
40987
  d: "M7 20V7H2V4h13v3h-5v13zm9 0v-8h-3V9h9v3h-3v8z"
@@ -40934,13 +40989,13 @@ function render$r(_ctx, _cache) {
40934
40989
  ])]);
40935
40990
  }
40936
40991
  const Type = markRaw({ name: "material-symbols-text-fields", render: render$r });
40937
- const _hoisted_1$L = {
40992
+ const _hoisted_1$K = {
40938
40993
  viewBox: "0 0 24 24",
40939
40994
  width: "1.2em",
40940
40995
  height: "1.2em"
40941
40996
  };
40942
40997
  function render$q(_ctx, _cache) {
40943
- return openBlock(), createElementBlock("svg", _hoisted_1$L, [..._cache[0] || (_cache[0] = [
40998
+ return openBlock(), createElementBlock("svg", _hoisted_1$K, [..._cache[0] || (_cache[0] = [
40944
40999
  createBaseVNode("path", {
40945
41000
  fill: "currentColor",
40946
41001
  d: "m6 20l1-4H3l.5-2h4l1-4h-4L5 8h4l1-4h2l-1 4h4l1-4h2l-1 4h4l-.5 2h-4l-1 4h4l-.5 2h-4l-1 4h-2l1-4H9l-1 4zm3.5-6h4l1-4h-4z"
@@ -40948,13 +41003,13 @@ function render$q(_ctx, _cache) {
40948
41003
  ])]);
40949
41004
  }
40950
41005
  const Numbers = markRaw({ name: "material-symbols-numbers", render: render$q });
40951
- const _hoisted_1$K = {
41006
+ const _hoisted_1$J = {
40952
41007
  viewBox: "0 0 24 24",
40953
41008
  width: "1.2em",
40954
41009
  height: "1.2em"
40955
41010
  };
40956
41011
  function render$p(_ctx, _cache) {
40957
- return openBlock(), createElementBlock("svg", _hoisted_1$K, [..._cache[0] || (_cache[0] = [
41012
+ return openBlock(), createElementBlock("svg", _hoisted_1$J, [..._cache[0] || (_cache[0] = [
40958
41013
  createBaseVNode("path", {
40959
41014
  fill: "currentColor",
40960
41015
  d: "M3 8V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v3zm2 13q-.825 0-1.412-.587T3 19v-9h4.5v11zm11.5 0V10H21v9q0 .825-.587 1.413T19 21zm-7 0V10h5v11z"
@@ -40962,13 +41017,13 @@ function render$p(_ctx, _cache) {
40962
41017
  ])]);
40963
41018
  }
40964
41019
  const Table = markRaw({ name: "material-symbols-table-chart", render: render$p });
40965
- const _hoisted_1$J = {
41020
+ const _hoisted_1$I = {
40966
41021
  viewBox: "0 0 24 24",
40967
41022
  width: "1.2em",
40968
41023
  height: "1.2em"
40969
41024
  };
40970
41025
  function render$o(_ctx, _cache) {
40971
- return openBlock(), createElementBlock("svg", _hoisted_1$J, [..._cache[0] || (_cache[0] = [
41026
+ return openBlock(), createElementBlock("svg", _hoisted_1$I, [..._cache[0] || (_cache[0] = [
40972
41027
  createBaseVNode("path", {
40973
41028
  fill: "currentColor",
40974
41029
  d: "M3 14V9h8v5zm0-7V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v2zm2 14q-.825 0-1.412-.587T3 19v-3h8v5zm8-7V9h8v2.3q-.95-.425-2.025-.25t-1.875.975L15.125 14zm0 8v-3.075l5.525-5.5q.225-.225.5-.325t.55-.1q.3 0 .575.113t.5.337l.925.925q.2.225.313.5t.112.55t-.1.563t-.325.512l-5.5 5.5zm6.575-5.6l.925-.975l-.925-.925l-.95.95z"
@@ -40976,13 +41031,13 @@ function render$o(_ctx, _cache) {
40976
41031
  ])]);
40977
41032
  }
40978
41033
  const TableEdit = markRaw({ name: "material-symbols-table-edit", render: render$o });
40979
- const _hoisted_1$I = {
41034
+ const _hoisted_1$H = {
40980
41035
  viewBox: "0 0 24 24",
40981
41036
  width: "1.2em",
40982
41037
  height: "1.2em"
40983
41038
  };
40984
41039
  function render$n(_ctx, _cache) {
40985
- return openBlock(), createElementBlock("svg", _hoisted_1$I, [..._cache[0] || (_cache[0] = [
41040
+ return openBlock(), createElementBlock("svg", _hoisted_1$H, [..._cache[0] || (_cache[0] = [
40986
41041
  createBaseVNode("path", {
40987
41042
  fill: "currentColor",
40988
41043
  d: "M1 19V5h2v14zm3 0V5h2v14zm3 0V5h1v14zm3 0V5h2v14zm3 0V5h3v14zm4 0V5h1v14zm3 0V5h3v14z"
@@ -40990,13 +41045,13 @@ function render$n(_ctx, _cache) {
40990
41045
  ])]);
40991
41046
  }
40992
41047
  const Barcode = markRaw({ name: "material-symbols-barcode", render: render$n });
40993
- const _hoisted_1$H = {
41048
+ const _hoisted_1$G = {
40994
41049
  viewBox: "0 0 24 24",
40995
41050
  width: "1.2em",
40996
41051
  height: "1.2em"
40997
41052
  };
40998
41053
  function render$m(_ctx, _cache) {
40999
- return openBlock(), createElementBlock("svg", _hoisted_1$H, [..._cache[0] || (_cache[0] = [
41054
+ return openBlock(), createElementBlock("svg", _hoisted_1$G, [..._cache[0] || (_cache[0] = [
41000
41055
  createBaseVNode("path", {
41001
41056
  fill: "currentColor",
41002
41057
  d: "M3 11V3h8v8zm2-2h4V5H5zM3 21v-8h8v8zm2-2h4v-4H5zm8-8V3h8v8zm2-2h4V5h-4zm4 12v-2h2v2zm-6-6v-2h2v2zm2 2v-2h2v2zm-2 2v-2h2v2zm2 2v-2h2v2zm2-2v-2h2v2zm0-4v-2h2v2zm2 2v-2h2v2z"
@@ -41004,13 +41059,13 @@ function render$m(_ctx, _cache) {
41004
41059
  ])]);
41005
41060
  }
41006
41061
  const QrCode = markRaw({ name: "material-symbols-qr-code", render: render$m });
41007
- const _hoisted_1$G = {
41062
+ const _hoisted_1$F = {
41008
41063
  viewBox: "0 0 24 24",
41009
41064
  width: "1.2em",
41010
41065
  height: "1.2em"
41011
41066
  };
41012
41067
  function render$l(_ctx, _cache) {
41013
- return openBlock(), createElementBlock("svg", _hoisted_1$G, [..._cache[0] || (_cache[0] = [
41068
+ return openBlock(), createElementBlock("svg", _hoisted_1$F, [..._cache[0] || (_cache[0] = [
41014
41069
  createBaseVNode("path", {
41015
41070
  fill: "currentColor",
41016
41071
  d: "M16 20v-7h4v7zm-6 0V4h4v16zm-6 0V9h4v11z"
@@ -41018,13 +41073,13 @@ function render$l(_ctx, _cache) {
41018
41073
  ])]);
41019
41074
  }
41020
41075
  const Chart = markRaw({ name: "material-symbols-bar-chart", render: render$l });
41021
- const _hoisted_1$F = {
41076
+ const _hoisted_1$E = {
41022
41077
  viewBox: "0 0 24 24",
41023
41078
  width: "1.2em",
41024
41079
  height: "1.2em"
41025
41080
  };
41026
41081
  function render$k(_ctx, _cache) {
41027
- return openBlock(), createElementBlock("svg", _hoisted_1$F, [..._cache[0] || (_cache[0] = [
41082
+ return openBlock(), createElementBlock("svg", _hoisted_1$E, [..._cache[0] || (_cache[0] = [
41028
41083
  createBaseVNode("path", {
41029
41084
  fill: "currentColor",
41030
41085
  d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm2-4h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7z"
@@ -41032,13 +41087,13 @@ function render$k(_ctx, _cache) {
41032
41087
  ])]);
41033
41088
  }
41034
41089
  markRaw({ name: "material-symbols-article", render: render$k });
41035
- const _hoisted_1$E = {
41090
+ const _hoisted_1$D = {
41036
41091
  viewBox: "0 0 24 24",
41037
41092
  width: "1.2em",
41038
41093
  height: "1.2em"
41039
41094
  };
41040
41095
  function render$j(_ctx, _cache) {
41041
- return openBlock(), createElementBlock("svg", _hoisted_1$E, [..._cache[0] || (_cache[0] = [
41096
+ return openBlock(), createElementBlock("svg", _hoisted_1$D, [..._cache[0] || (_cache[0] = [
41042
41097
  createBaseVNode("path", {
41043
41098
  fill: "currentColor",
41044
41099
  d: "M4 19v-2h10v2zm0-4v-2h16v2zm0-4V9h16v2zm0-4V5h16v2z"
@@ -41046,13 +41101,13 @@ function render$j(_ctx, _cache) {
41046
41101
  ])]);
41047
41102
  }
41048
41103
  const Subject = markRaw({ name: "material-symbols-subject", render: render$j });
41049
- const _hoisted_1$D = {
41104
+ const _hoisted_1$C = {
41050
41105
  viewBox: "0 0 24 24",
41051
41106
  width: "1.2em",
41052
41107
  height: "1.2em"
41053
41108
  };
41054
41109
  function render$i(_ctx, _cache) {
41055
- return openBlock(), createElementBlock("svg", _hoisted_1$D, [..._cache[0] || (_cache[0] = [
41110
+ return openBlock(), createElementBlock("svg", _hoisted_1$C, [..._cache[0] || (_cache[0] = [
41056
41111
  createBaseVNode("path", {
41057
41112
  fill: "currentColor",
41058
41113
  d: "M4 13v-2h16v2z"
@@ -41060,13 +41115,13 @@ function render$i(_ctx, _cache) {
41060
41115
  ])]);
41061
41116
  }
41062
41117
  const HorizontalRule = markRaw({ name: "material-symbols-horizontal-rule", render: render$i });
41063
- const _hoisted_1$C = {
41118
+ const _hoisted_1$B = {
41064
41119
  viewBox: "0 0 24 24",
41065
41120
  width: "1.2em",
41066
41121
  height: "1.2em"
41067
41122
  };
41068
41123
  function render$h(_ctx, _cache) {
41069
- return openBlock(), createElementBlock("svg", _hoisted_1$C, [..._cache[0] || (_cache[0] = [
41124
+ return openBlock(), createElementBlock("svg", _hoisted_1$B, [..._cache[0] || (_cache[0] = [
41070
41125
  createBaseVNode("path", {
41071
41126
  fill: "currentColor",
41072
41127
  d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5z"
@@ -41074,13 +41129,13 @@ function render$h(_ctx, _cache) {
41074
41129
  ])]);
41075
41130
  }
41076
41131
  const CheckBoxOutlineBlank = markRaw({ name: "material-symbols-check-box-outline-blank", render: render$h });
41077
- const _hoisted_1$B = {
41132
+ const _hoisted_1$A = {
41078
41133
  viewBox: "0 0 24 24",
41079
41134
  width: "1.2em",
41080
41135
  height: "1.2em"
41081
41136
  };
41082
41137
  function render$g(_ctx, _cache) {
41083
- return openBlock(), createElementBlock("svg", _hoisted_1$B, [..._cache[0] || (_cache[0] = [
41138
+ return openBlock(), createElementBlock("svg", _hoisted_1$A, [..._cache[0] || (_cache[0] = [
41084
41139
  createBaseVNode("path", {
41085
41140
  fill: "currentColor",
41086
41141
  d: "M12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20"
@@ -41088,13 +41143,13 @@ function render$g(_ctx, _cache) {
41088
41143
  ])]);
41089
41144
  }
41090
41145
  const RadioButtonUnchecked = markRaw({ name: "material-symbols-radio-button-unchecked", render: render$g });
41091
- const _hoisted_1$A = {
41146
+ const _hoisted_1$z = {
41092
41147
  viewBox: "0 0 24 24",
41093
41148
  width: "1.2em",
41094
41149
  height: "1.2em"
41095
41150
  };
41096
41151
  function render$f(_ctx, _cache) {
41097
- return openBlock(), createElementBlock("svg", _hoisted_1$A, [..._cache[0] || (_cache[0] = [
41152
+ return openBlock(), createElementBlock("svg", _hoisted_1$z, [..._cache[0] || (_cache[0] = [
41098
41153
  createBaseVNode("path", {
41099
41154
  fill: "currentColor",
41100
41155
  d: "m5.825 21l1.625-7.025L2 9.25l7.2-.625L12 2l2.8 6.625l7.2.625l-5.45 4.725L18.175 21L12 17.275z"
@@ -41102,13 +41157,13 @@ function render$f(_ctx, _cache) {
41102
41157
  ])]);
41103
41158
  }
41104
41159
  const Star = markRaw({ name: "material-symbols-star", render: render$f });
41105
- const _hoisted_1$z = {
41160
+ const _hoisted_1$y = {
41106
41161
  viewBox: "0 0 24 24",
41107
41162
  width: "1.2em",
41108
41163
  height: "1.2em"
41109
41164
  };
41110
41165
  function render$e(_ctx, _cache) {
41111
- return openBlock(), createElementBlock("svg", _hoisted_1$z, [..._cache[0] || (_cache[0] = [
41166
+ return openBlock(), createElementBlock("svg", _hoisted_1$y, [..._cache[0] || (_cache[0] = [
41112
41167
  createBaseVNode("path", {
41113
41168
  fill: "currentColor",
41114
41169
  d: "M10.45 15.5q.625.625 1.575.588T13.4 15.4L19 7l-8.4 5.6q-.65.45-.712 1.362t.562 1.538M5.1 20q-.55 0-1.012-.238t-.738-.712q-.65-1.175-1-2.437T2 14q0-2.075.788-3.9t2.137-3.175T8.1 4.788T12 4q2.05 0 3.85.775T19 6.888t2.15 3.125t.825 3.837q.025 1.375-.312 2.688t-1.038 2.512q-.275.475-.737.713T18.874 20z"
@@ -41116,13 +41171,13 @@ function render$e(_ctx, _cache) {
41116
41171
  ])]);
41117
41172
  }
41118
41173
  const Speed = markRaw({ name: "material-symbols-speed", render: render$e });
41119
- const _hoisted_1$y = {
41174
+ const _hoisted_1$x = {
41120
41175
  viewBox: "0 0 24 24",
41121
41176
  width: "1.2em",
41122
41177
  height: "1.2em"
41123
41178
  };
41124
41179
  function render$d(_ctx, _cache) {
41125
- return openBlock(), createElementBlock("svg", _hoisted_1$y, [..._cache[0] || (_cache[0] = [
41180
+ return openBlock(), createElementBlock("svg", _hoisted_1$x, [..._cache[0] || (_cache[0] = [
41126
41181
  createBaseVNode("path", {
41127
41182
  fill: "currentColor",
41128
41183
  d: "M12.725 17.275Q12 16.55 12 15.5t.725-1.775T14.5 13t1.775.725T17 15.5t-.725 1.775T14.5 18t-1.775-.725M5 22q-.825 0-1.412-.587T3 20V6q0-.825.588-1.412T5 4h1V2h2v2h8V2h2v2h1q.825 0 1.413.588T21 6v14q0 .825-.587 1.413T19 22zm0-2h14V10H5z"
@@ -41130,13 +41185,13 @@ function render$d(_ctx, _cache) {
41130
41185
  ])]);
41131
41186
  }
41132
41187
  const Event$1 = markRaw({ name: "material-symbols-event", render: render$d });
41133
- const _hoisted_1$x = {
41188
+ const _hoisted_1$w = {
41134
41189
  viewBox: "0 0 24 24",
41135
41190
  width: "1.2em",
41136
41191
  height: "1.2em"
41137
41192
  };
41138
41193
  function render$c(_ctx, _cache) {
41139
- return openBlock(), createElementBlock("svg", _hoisted_1$x, [..._cache[0] || (_cache[0] = [
41194
+ return openBlock(), createElementBlock("svg", _hoisted_1$w, [..._cache[0] || (_cache[0] = [
41140
41195
  createBaseVNode("path", {
41141
41196
  fill: "currentColor",
41142
41197
  d: "M4 22q-.825 0-1.412-.587T2 20V9q0-.825.588-1.412T4 7h5V4q0-.825.588-1.412T11 2h2q.825 0 1.413.588T15 4v3h5q.825 0 1.413.588T22 9v11q0 .825-.587 1.413T20 22zm2-4h6v-.45q0-.425-.238-.788T11.1 16.2q-.5-.225-1.012-.337T9 15.75t-1.088.113T6.9 16.2q-.425.2-.663.563T6 17.55zm8-1.5h4V15h-4zm-3.937-1.937q.437-.438.437-1.063t-.437-1.062T9 12t-1.062.438T7.5 13.5t.438 1.063T9 15t1.063-.437M14 13.5h4V12h-4zM11 9h2V4h-2z"
@@ -41144,13 +41199,13 @@ function render$c(_ctx, _cache) {
41144
41199
  ])]);
41145
41200
  }
41146
41201
  const Badge = markRaw({ name: "material-symbols-badge", render: render$c });
41147
- const _hoisted_1$w = {
41202
+ const _hoisted_1$v = {
41148
41203
  viewBox: "0 0 24 24",
41149
41204
  width: "1.2em",
41150
41205
  height: "1.2em"
41151
41206
  };
41152
41207
  function render$b(_ctx, _cache) {
41153
- return openBlock(), createElementBlock("svg", _hoisted_1$w, [..._cache[0] || (_cache[0] = [
41208
+ return openBlock(), createElementBlock("svg", _hoisted_1$v, [..._cache[0] || (_cache[0] = [
41154
41209
  createBaseVNode("path", {
41155
41210
  fill: "currentColor",
41156
41211
  d: "M12 22q-2.05 0-3.875-.788t-3.187-2.15t-2.15-3.187T2 12q0-2.075.813-3.9t2.2-3.175T8.25 2.788T12.2 2q2 0 3.775.688t3.113 1.9t2.125 2.875T22 11.05q0 2.875-1.75 4.413T16 17h-1.85q-.225 0-.312.125t-.088.275q0 .3.375.863t.375 1.287q0 1.25-.687 1.85T12 22m-4.425-9.425Q8 12.15 8 11.5t-.425-1.075T6.5 10t-1.075.425T5 11.5t.425 1.075T6.5 13t1.075-.425m3-4Q11 8.15 11 7.5t-.425-1.075T9.5 6t-1.075.425T8 7.5t.425 1.075T9.5 9t1.075-.425m5 0Q16 8.15 16 7.5t-.425-1.075T14.5 6t-1.075.425T13 7.5t.425 1.075T14.5 9t1.075-.425m3 4Q19 12.15 19 11.5t-.425-1.075T17.5 10t-1.075.425T16 11.5t.425 1.075T17.5 13t1.075-.425"
@@ -41158,7 +41213,7 @@ function render$b(_ctx, _cache) {
41158
41213
  ])]);
41159
41214
  }
41160
41215
  const Palette = markRaw({ name: "material-symbols-palette", render: render$b });
41161
- const _hoisted_1$v = { class: "w-64 bg-white dark:bg-gray-900 border-r border-gray-200 dark:border-gray-700 flex flex-col h-full z-40" };
41216
+ const _hoisted_1$u = { class: "w-64 bg-white dark:bg-gray-900 border-r border-gray-200 dark:border-gray-700 flex flex-col h-full z-40" };
41162
41217
  const _hoisted_2$j = { class: "p-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800" };
41163
41218
  const _hoisted_3$j = { class: "font-semibold text-gray-700 dark:text-gray-200" };
41164
41219
  const _hoisted_4$i = { class: "text-xs text-gray-500 dark:text-gray-400 mt-1" };
@@ -41646,7 +41701,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
41646
41701
  window.removeEventListener("mousedown", handleGlobalClick);
41647
41702
  });
41648
41703
  return (_ctx, _cache) => {
41649
- return openBlock(), createElementBlock("aside", _hoisted_1$v, [
41704
+ return openBlock(), createElementBlock("aside", _hoisted_1$u, [
41650
41705
  createBaseVNode("div", _hoisted_2$j, [
41651
41706
  createBaseVNode("h2", _hoisted_3$j, toDisplayString$1(unref(t)("sidebar.elements")), 1),
41652
41707
  createBaseVNode("p", _hoisted_4$i, toDisplayString$1(unref(t)("sidebar.dragToCanvas")), 1)
@@ -41749,7 +41804,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
41749
41804
  };
41750
41805
  }
41751
41806
  });
41752
- const _hoisted_1$u = {
41807
+ const _hoisted_1$t = {
41753
41808
  key: 0,
41754
41809
  class: "flex items-center justify-between"
41755
41810
  };
@@ -41780,7 +41835,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
41780
41835
  emit2("update:value", target.value);
41781
41836
  };
41782
41837
  return (_ctx, _cache) => {
41783
- return __props.type === "switch" ? (openBlock(), createElementBlock("div", _hoisted_1$u, [
41838
+ return __props.type === "switch" ? (openBlock(), createElementBlock("div", _hoisted_1$t, [
41784
41839
  createBaseVNode("label", _hoisted_2$i, toDisplayString$1(__props.label), 1),
41785
41840
  createBaseVNode("button", {
41786
41841
  type: "button",
@@ -41819,7 +41874,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
41819
41874
  };
41820
41875
  }
41821
41876
  });
41822
- const _hoisted_1$t = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
41877
+ const _hoisted_1$s = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
41823
41878
  const _hoisted_2$h = ["value", "disabled"];
41824
41879
  const _hoisted_3$h = ["value"];
41825
41880
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
@@ -41842,7 +41897,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
41842
41897
  };
41843
41898
  return (_ctx, _cache) => {
41844
41899
  return openBlock(), createElementBlock("div", null, [
41845
- createBaseVNode("label", _hoisted_1$t, toDisplayString$1(__props.label), 1),
41900
+ createBaseVNode("label", _hoisted_1$s, toDisplayString$1(__props.label), 1),
41846
41901
  createBaseVNode("select", {
41847
41902
  value: __props.value,
41848
41903
  disabled: __props.disabled,
@@ -41861,7 +41916,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
41861
41916
  };
41862
41917
  }
41863
41918
  });
41864
- const _hoisted_1$s = { class: "flex items-center justify-between" };
41919
+ const _hoisted_1$r = { class: "flex items-center justify-between" };
41865
41920
  const _hoisted_2$g = { class: "text-xs text-gray-500 dark:text-gray-400" };
41866
41921
  const _hoisted_3$g = { class: "flex items-center gap-2" };
41867
41922
  const _hoisted_4$g = {
@@ -41879,7 +41934,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
41879
41934
  setup(__props, { emit: __emit }) {
41880
41935
  const emit2 = __emit;
41881
41936
  return (_ctx, _cache) => {
41882
- return openBlock(), createElementBlock("div", _hoisted_1$s, [
41937
+ return openBlock(), createElementBlock("div", _hoisted_1$r, [
41883
41938
  createBaseVNode("label", _hoisted_2$g, toDisplayString$1(__props.label), 1),
41884
41939
  createBaseVNode("div", _hoisted_3$g, [
41885
41940
  createVNode(_sfc_main$w, {
@@ -41909,13 +41964,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
41909
41964
  };
41910
41965
  }
41911
41966
  });
41912
- const _hoisted_1$r = {
41967
+ const _hoisted_1$q = {
41913
41968
  viewBox: "0 0 24 24",
41914
41969
  width: "1.2em",
41915
41970
  height: "1.2em"
41916
41971
  };
41917
41972
  function render$a(_ctx, _cache) {
41918
- return openBlock(), createElementBlock("svg", _hoisted_1$r, [..._cache[0] || (_cache[0] = [
41973
+ return openBlock(), createElementBlock("svg", _hoisted_1$q, [..._cache[0] || (_cache[0] = [
41919
41974
  createBaseVNode("path", {
41920
41975
  fill: "currentColor",
41921
41976
  d: "M3 21v-8h2v4.6L17.6 5H13V3h8v8h-2V6.4L6.4 19H11v2z"
@@ -41923,7 +41978,7 @@ function render$a(_ctx, _cache) {
41923
41978
  ])]);
41924
41979
  }
41925
41980
  const OpenInFull = markRaw({ name: "material-symbols-open-in-full", render: render$a });
41926
- const _hoisted_1$q = { class: "flex flex-col gap-1" };
41981
+ const _hoisted_1$p = { class: "flex flex-col gap-1" };
41927
41982
  const _hoisted_2$f = { class: "flex justify-between items-center" };
41928
41983
  const _hoisted_3$f = { class: "text-xs text-gray-500 font-medium" };
41929
41984
  const _hoisted_4$f = { class: "flex items-center gap-2" };
@@ -41939,7 +41994,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
41939
41994
  },
41940
41995
  emits: ["update:value"],
41941
41996
  setup(__props, { emit: __emit }) {
41942
- const Editor = /* @__PURE__ */ defineAsyncComponent(() => import("./index-C6B5Mzsh.js").then((m) => m.Editor));
41997
+ const Editor = /* @__PURE__ */ defineAsyncComponent(() => import("./index-C6kUsKU-.js").then((m) => m.Editor));
41943
41998
  const emit2 = __emit;
41944
41999
  useDesignerStore();
41945
42000
  const { isDark: isDark2 } = useTheme();
@@ -41973,7 +42028,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
41973
42028
  emit2("update:value", val);
41974
42029
  };
41975
42030
  return (_ctx, _cache) => {
41976
- return openBlock(), createElementBlock("div", _hoisted_1$q, [
42031
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [
41977
42032
  createBaseVNode("div", _hoisted_2$f, [
41978
42033
  createBaseVNode("label", _hoisted_3$f, toDisplayString$1(__props.label), 1),
41979
42034
  createBaseVNode("div", _hoisted_4$f, [
@@ -42015,7 +42070,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
42015
42070
  }
42016
42071
  });
42017
42072
  const PropertyCode = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-e19d1803"]]);
42018
- const _hoisted_1$p = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42073
+ const _hoisted_1$o = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42019
42074
  const _hoisted_2$e = { class: "space-y-2" };
42020
42075
  const _hoisted_3$e = ["value", "disabled", "placeholder"];
42021
42076
  const _hoisted_4$e = { class: "flex flex-col gap-1" };
@@ -42074,7 +42129,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
42074
42129
  };
42075
42130
  return (_ctx, _cache) => {
42076
42131
  return openBlock(), createElementBlock("div", null, [
42077
- createBaseVNode("label", _hoisted_1$p, toDisplayString$1(__props.label), 1),
42132
+ createBaseVNode("label", _hoisted_1$o, toDisplayString$1(__props.label), 1),
42078
42133
  createBaseVNode("div", _hoisted_2$e, [
42079
42134
  createBaseVNode("input", {
42080
42135
  type: "text",
@@ -42123,7 +42178,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
42123
42178
  };
42124
42179
  }
42125
42180
  });
42126
- const _hoisted_1$o = { class: "relative" };
42181
+ const _hoisted_1$n = { class: "relative" };
42127
42182
  const _hoisted_2$d = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42128
42183
  const _hoisted_3$d = { class: "relative" };
42129
42184
  const _hoisted_4$d = ["disabled"];
@@ -42187,7 +42242,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
42187
42242
  emit2("update:value", "");
42188
42243
  };
42189
42244
  return (_ctx, _cache) => {
42190
- return openBlock(), createElementBlock("div", _hoisted_1$o, [
42245
+ return openBlock(), createElementBlock("div", _hoisted_1$n, [
42191
42246
  createBaseVNode("label", _hoisted_2$d, toDisplayString$1(__props.label), 1),
42192
42247
  createBaseVNode("div", _hoisted_3$d, [
42193
42248
  createBaseVNode("button", {
@@ -42234,7 +42289,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
42234
42289
  };
42235
42290
  }
42236
42291
  });
42237
- const _hoisted_1$n = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42292
+ const _hoisted_1$m = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42238
42293
  const _hoisted_2$c = {
42239
42294
  key: 0,
42240
42295
  class: "text-xs text-gray-400 dark:text-gray-500 py-2"
@@ -42270,7 +42325,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
42270
42325
  };
42271
42326
  return (_ctx, _cache) => {
42272
42327
  return openBlock(), createElementBlock("div", null, [
42273
- createBaseVNode("label", _hoisted_1$n, toDisplayString$1(__props.label), 1),
42328
+ createBaseVNode("label", _hoisted_1$m, toDisplayString$1(__props.label), 1),
42274
42329
  !__props.fields || __props.fields.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_2$c, toDisplayString$1(_ctx.$t("common.noData")), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$c, [
42275
42330
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.fields, (field) => {
42276
42331
  return openBlock(), createElementBlock("label", {
@@ -42293,7 +42348,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
42293
42348
  }
42294
42349
  });
42295
42350
  const PropertyColumnPicker = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-1e890fd6"]]);
42296
- const _hoisted_1$m = { class: "space-y-2" };
42351
+ const _hoisted_1$l = { class: "space-y-2" };
42297
42352
  const _hoisted_2$b = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium" };
42298
42353
  const _hoisted_3$b = { class: "flex items-center gap-1 p-2 border border-gray-300 dark:border-gray-600 rounded-t bg-gray-50 dark:bg-gray-800" };
42299
42354
  const _hoisted_4$b = ["disabled"];
@@ -42378,7 +42433,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
42378
42433
  handleUpdate(localValue.value + "<p>段落文本</p>");
42379
42434
  };
42380
42435
  return (_ctx, _cache) => {
42381
- return openBlock(), createElementBlock("div", _hoisted_1$m, [
42436
+ return openBlock(), createElementBlock("div", _hoisted_1$l, [
42382
42437
  createBaseVNode("label", _hoisted_2$b, toDisplayString$1(__props.label), 1),
42383
42438
  createBaseVNode("div", _hoisted_3$b, [
42384
42439
  createBaseVNode("button", {
@@ -42446,7 +42501,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
42446
42501
  }
42447
42502
  });
42448
42503
  const PropertyRichText = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-8b504327"]]);
42449
- const _hoisted_1$l = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42504
+ const _hoisted_1$k = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42450
42505
  const _hoisted_2$a = {
42451
42506
  key: 0,
42452
42507
  class: "text-xs text-gray-400 dark:text-gray-500 py-2"
@@ -42552,7 +42607,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
42552
42607
  };
42553
42608
  return (_ctx, _cache) => {
42554
42609
  return openBlock(), createElementBlock("div", null, [
42555
- createBaseVNode("label", _hoisted_1$l, toDisplayString$1(__props.label), 1),
42610
+ createBaseVNode("label", _hoisted_1$k, toDisplayString$1(__props.label), 1),
42556
42611
  displayColumns.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_2$a, toDisplayString$1(_ctx.$t("common.noData")), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$a, [
42557
42612
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayColumns.value, (col) => {
42558
42613
  return openBlock(), createElementBlock("div", {
@@ -42589,7 +42644,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
42589
42644
  }
42590
42645
  });
42591
42646
  const ColumnAliasEditor = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-b836815d"]]);
42592
- const _hoisted_1$k = { class: "mb-1 flex items-center justify-between" };
42647
+ const _hoisted_1$j = { class: "mb-1 flex items-center justify-between" };
42593
42648
  const _hoisted_2$9 = { class: "text-xs text-gray-500 dark:text-gray-400" };
42594
42649
  const _hoisted_3$9 = ["disabled", "title"];
42595
42650
  const _hoisted_4$9 = {
@@ -42706,7 +42761,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
42706
42761
  }
42707
42762
  return (_ctx, _cache) => {
42708
42763
  return openBlock(), createElementBlock("div", null, [
42709
- createBaseVNode("div", _hoisted_1$k, [
42764
+ createBaseVNode("div", _hoisted_1$j, [
42710
42765
  createBaseVNode("label", _hoisted_2$9, toDisplayString$1(__props.label), 1),
42711
42766
  createBaseVNode("button", {
42712
42767
  type: "button",
@@ -42852,7 +42907,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
42852
42907
  }
42853
42908
  });
42854
42909
  const PropertyConditionFormatEditor = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-5fdf36e3"]]);
42855
- const _hoisted_1$j = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42910
+ const _hoisted_1$i = { class: "block text-xs text-gray-500 dark:text-gray-400 mb-1" };
42856
42911
  const _hoisted_2$8 = {
42857
42912
  key: 0,
42858
42913
  class: "px-2 py-1.5 text-xs text-gray-400 dark:text-gray-500 border border-dashed border-gray-300 dark:border-gray-700 rounded bg-gray-50 dark:bg-gray-800"
@@ -42904,7 +42959,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
42904
42959
  };
42905
42960
  return (_ctx, _cache) => {
42906
42961
  return openBlock(), createElementBlock("div", null, [
42907
- createBaseVNode("label", _hoisted_1$j, toDisplayString$1(__props.label), 1),
42962
+ createBaseVNode("label", _hoisted_1$i, toDisplayString$1(__props.label), 1),
42908
42963
  numericFields.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_2$8, toDisplayString$1(__props.scopeData ? unref(t)("common.noData") : unref(t)("properties.label.selectDataSourceFirst")), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$8, [
42909
42964
  (openBlock(true), createElementBlock(Fragment, null, renderList(numericFields.value, (field) => {
42910
42965
  return openBlock(), createElementBlock("button", {
@@ -42935,7 +42990,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
42935
42990
  }
42936
42991
  });
42937
42992
  const PropertyChartFieldsPicker = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-abd69fc3"]]);
42938
- const _hoisted_1$i = { class: "space-y-2" };
42993
+ const _hoisted_1$h = { class: "space-y-2" };
42939
42994
  const _hoisted_2$7 = { class: "block text-xs text-gray-500 dark:text-gray-400 font-medium" };
42940
42995
  const _hoisted_3$7 = { class: "relative" };
42941
42996
  const _hoisted_4$7 = ["value", "placeholder", "disabled", "readonly"];
@@ -43062,7 +43117,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
43062
43117
  document.removeEventListener("click", handleClickOutside, true);
43063
43118
  });
43064
43119
  return (_ctx, _cache) => {
43065
- return openBlock(), createElementBlock("div", _hoisted_1$i, [
43120
+ return openBlock(), createElementBlock("div", _hoisted_1$h, [
43066
43121
  createBaseVNode("label", _hoisted_2$7, toDisplayString$1(__props.label), 1),
43067
43122
  createBaseVNode("div", _hoisted_3$7, [
43068
43123
  createBaseVNode("textarea", {
@@ -43160,7 +43215,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
43160
43215
  };
43161
43216
  }
43162
43217
  });
43163
- const _hoisted_1$h = { class: "p-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800 flex items-center justify-between" };
43218
+ const _hoisted_1$g = { class: "p-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800 flex items-center justify-between" };
43164
43219
  const _hoisted_2$6 = { class: "font-semibold text-gray-700 dark:text-gray-200" };
43165
43220
  const _hoisted_3$6 = { class: "text-xs text-gray-500 dark:text-gray-400 mt-1" };
43166
43221
  const _hoisted_4$6 = {
@@ -43994,7 +44049,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
43994
44049
  onFocusin: handleFocusIn,
43995
44050
  onFocusout: handleFocusOut
43996
44051
  }, [
43997
- createBaseVNode("div", _hoisted_1$h, [
44052
+ createBaseVNode("div", _hoisted_1$g, [
43998
44053
  createBaseVNode("div", null, [
43999
44054
  createBaseVNode("h2", _hoisted_2$6, toDisplayString$1(unref(t)("properties.title")), 1),
44000
44055
  createBaseVNode("p", _hoisted_3$6, toDisplayString$1(unref(t)("properties.subtitle")), 1)
@@ -44660,13 +44715,13 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
44660
44715
  };
44661
44716
  }
44662
44717
  });
44663
- const _hoisted_1$g = {
44718
+ const _hoisted_1$f = {
44664
44719
  viewBox: "0 0 24 24",
44665
44720
  width: "1.2em",
44666
44721
  height: "1.2em"
44667
44722
  };
44668
44723
  function render$9(_ctx, _cache) {
44669
- return openBlock(), createElementBlock("svg", _hoisted_1$g, [..._cache[0] || (_cache[0] = [
44724
+ return openBlock(), createElementBlock("svg", _hoisted_1$f, [..._cache[0] || (_cache[0] = [
44670
44725
  createBaseVNode("path", {
44671
44726
  fill: "currentColor",
44672
44727
  d: "m19 21l-7-7l-2.35 2.35q.2.375.275.8T10 18q0 1.65-1.175 2.825T6 22t-2.825-1.175T2 18t1.175-2.825T6 14q.425 0 .85.075t.8.275L10 12L7.65 9.65q-.375.2-.8.275T6 10q-1.65 0-2.825-1.175T2 6t1.175-2.825T6 2t2.825 1.175T10 6q0 .425-.075.85t-.275.8L22 20v1zm-4-10l-2-2l6-6h3v1zM7.413 7.413Q8 6.825 8 6t-.587-1.412T6 4t-1.412.588T4 6t.588 1.413T6 8t1.413-.587m4.937 4.937q.15-.15.15-.35t-.15-.35t-.35-.15t-.35.15t-.15.35t.15.35t.35.15t.35-.15m-4.937 7.063Q8 18.825 8 18t-.587-1.412T6 16t-1.412.588T4 18t.588 1.413T6 20t1.413-.587"
@@ -44674,13 +44729,13 @@ function render$9(_ctx, _cache) {
44674
44729
  ])]);
44675
44730
  }
44676
44731
  const CutIcon = markRaw({ name: "material-symbols-content-cut", render: render$9 });
44677
- const _hoisted_1$f = {
44732
+ const _hoisted_1$e = {
44678
44733
  viewBox: "0 0 24 24",
44679
44734
  width: "1.2em",
44680
44735
  height: "1.2em"
44681
44736
  };
44682
44737
  function render$8(_ctx, _cache) {
44683
- return openBlock(), createElementBlock("svg", _hoisted_1$f, [..._cache[0] || (_cache[0] = [
44738
+ return openBlock(), createElementBlock("svg", _hoisted_1$e, [..._cache[0] || (_cache[0] = [
44684
44739
  createBaseVNode("path", {
44685
44740
  fill: "currentColor",
44686
44741
  d: "M6 8h9V6q0-1.25-.875-2.125T12 3t-2.125.875T9 6H7q0-2.075 1.463-3.537T12 1t3.538 1.463T17 6v2h1q.825 0 1.413.588T20 10v10q0 .825-.587 1.413T18 22H6q-.825 0-1.412-.587T4 20V10q0-.825.588-1.412T6 8m7.413 8.413Q14 15.825 14 15t-.587-1.412T12 13t-1.412.588T10 15t.588 1.413T12 17t1.413-.587"
@@ -44688,7 +44743,7 @@ function render$8(_ctx, _cache) {
44688
44743
  ])]);
44689
44744
  }
44690
44745
  const UnlockIcon = markRaw({ name: "material-symbols-lock-open", render: render$8 });
44691
- const _hoisted_1$e = { class: "bg-white border border-gray-200 shadow-xl rounded-md min-w-[160px] py-1" };
44746
+ const _hoisted_1$d = { class: "bg-white border border-gray-200 shadow-xl rounded-md min-w-[160px] py-1" };
44692
44747
  const _hoisted_2$5 = ["disabled"];
44693
44748
  const _hoisted_3$5 = { class: "flex-1" };
44694
44749
  const _hoisted_4$5 = { class: "text-xs text-gray-400" };
@@ -44992,7 +45047,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
44992
45047
  class: "fixed z-[9999]",
44993
45048
  style: normalizeStyle({ left: `${menuX.value}px`, top: `${menuY.value}px` })
44994
45049
  }, [
44995
- createBaseVNode("div", _hoisted_1$e, [
45050
+ createBaseVNode("div", _hoisted_1$d, [
44996
45051
  createBaseVNode("button", {
44997
45052
  class: "w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",
44998
45053
  disabled: unref(store).selectedElementIds.length === 0 && !unref(store).selectedGuideId || ((_a2 = unref(store).selectedElement) == null ? void 0 : _a2.locked),
@@ -45091,7 +45146,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
45091
45146
  };
45092
45147
  }
45093
45148
  });
45094
- const _hoisted_1$d = { class: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm leading-none text-gray-300 z-10" };
45149
+ const _hoisted_1$c = { class: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm leading-none text-gray-300 z-10" };
45095
45150
  const _hoisted_2$4 = {
45096
45151
  key: 2,
45097
45152
  class: "w-full h-full bg-gray-200 flex items-center justify-center overflow-hidden"
@@ -45329,7 +45384,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
45329
45384
  };
45330
45385
  const renderBarcodeDataUrl = async (element) => {
45331
45386
  try {
45332
- const jsBarcodeModule = await import("./JsBarcode-Ie7CY3Wt.js").then((n) => n.JsBarcode);
45387
+ const jsBarcodeModule = await import("./JsBarcode-DKThGPUY.js").then((n) => n.JsBarcode);
45333
45388
  const JsBarcode = (jsBarcodeModule == null ? void 0 : jsBarcodeModule.default) || jsBarcodeModule;
45334
45389
  const canvas = document.createElement("canvas");
45335
45390
  const style = element.style || {};
@@ -45356,7 +45411,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
45356
45411
  const renderQrDataUrl = async (element) => {
45357
45412
  var _a2, _b;
45358
45413
  try {
45359
- const qrcodeModule = await import("./browser-VQbZ-HlB.js").then((n) => n.browser);
45414
+ const qrcodeModule = await import("./browser-k38foCq0.js").then((n) => n.browser);
45360
45415
  const QRCode = (qrcodeModule == null ? void 0 : qrcodeModule.default) || qrcodeModule;
45361
45416
  return await QRCode.toDataURL(getResolvedContent(element), {
45362
45417
  margin: 0,
@@ -45478,7 +45533,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
45478
45533
  class: "absolute shadow-sm border border-gray-300 overflow-hidden",
45479
45534
  style: normalizeStyle(getPageStyle(index2))
45480
45535
  }, [
45481
- createBaseVNode("div", _hoisted_1$d, toDisplayString$1(index2 + 1), 1),
45536
+ createBaseVNode("div", _hoisted_1$c, toDisplayString$1(index2 + 1), 1),
45482
45537
  (openBlock(true), createElementBlock(Fragment, null, renderList(page.elements, (element) => {
45483
45538
  var _a2, _b;
45484
45539
  return openBlock(), createElementBlock("div", {
@@ -45643,13 +45698,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
45643
45698
  }
45644
45699
  });
45645
45700
  const Minimap = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-9e6ec8c1"]]);
45646
- const _hoisted_1$c = {
45701
+ const _hoisted_1$b = {
45647
45702
  viewBox: "0 0 24 24",
45648
45703
  width: "1.2em",
45649
45704
  height: "1.2em"
45650
45705
  };
45651
45706
  function render$7(_ctx, _cache) {
45652
- return openBlock(), createElementBlock("svg", _hoisted_1$c, [..._cache[0] || (_cache[0] = [
45707
+ return openBlock(), createElementBlock("svg", _hoisted_1$b, [..._cache[0] || (_cache[0] = [
45653
45708
  createBaseVNode("path", {
45654
45709
  fill: "currentColor",
45655
45710
  d: "M12.6 12L8 7.4L9.4 6l6 6l-6 6L8 16.6z"
@@ -45657,13 +45712,13 @@ function render$7(_ctx, _cache) {
45657
45712
  ])]);
45658
45713
  }
45659
45714
  const KeyboardArrowRight = markRaw({ name: "material-symbols-keyboard-arrow-right", render: render$7 });
45660
- const _hoisted_1$b = {
45715
+ const _hoisted_1$a = {
45661
45716
  viewBox: "0 0 24 24",
45662
45717
  width: "1.2em",
45663
45718
  height: "1.2em"
45664
45719
  };
45665
45720
  function render$6(_ctx, _cache) {
45666
- return openBlock(), createElementBlock("svg", _hoisted_1$b, [..._cache[0] || (_cache[0] = [
45721
+ return openBlock(), createElementBlock("svg", _hoisted_1$a, [..._cache[0] || (_cache[0] = [
45667
45722
  createBaseVNode("path", {
45668
45723
  fill: "currentColor",
45669
45724
  d: "m12 15.4l-6-6L7.4 8l4.6 4.6L16.6 8L18 9.4z"
@@ -45671,7 +45726,7 @@ function render$6(_ctx, _cache) {
45671
45726
  ])]);
45672
45727
  }
45673
45728
  const KeyboardArrowDown = markRaw({ name: "material-symbols-keyboard-arrow-down", render: render$6 });
45674
- const _hoisted_1$a = { class: "text-sm font-semibold text-gray-700 dark:text-gray-200 m-0" };
45729
+ const _hoisted_1$9 = { class: "text-sm font-semibold text-gray-700 dark:text-gray-200 m-0" };
45675
45730
  const _hoisted_2$3 = { class: "flex-1 overflow-y-auto p-2 custom-scrollbar" };
45676
45731
  const _hoisted_3$3 = {
45677
45732
  key: 0,
@@ -45883,7 +45938,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
45883
45938
  class: "flex items-center justify-between px-3 py-2 bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600 cursor-move select-none",
45884
45939
  onMousedown: handleDragStart
45885
45940
  }, [
45886
- createBaseVNode("h3", _hoisted_1$a, toDisplayString$1(unref(t)("common.variables")), 1),
45941
+ createBaseVNode("h3", _hoisted_1$9, toDisplayString$1(unref(t)("common.variables")), 1),
45887
45942
  createBaseVNode("button", {
45888
45943
  class: "panel-close-btn p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full transition-colors text-gray-500 dark:text-gray-400",
45889
45944
  onClick: _cache[0] || (_cache[0] = ($event) => unref(store).setShowVariablesPanel(false))
@@ -46138,13 +46193,13 @@ function extractFieldsFromTemplate(templateData) {
46138
46193
  }
46139
46194
  return Array.from(fields);
46140
46195
  }
46141
- const _hoisted_1$9 = {
46196
+ const _hoisted_1$8 = {
46142
46197
  viewBox: "0 0 24 24",
46143
46198
  width: "1.2em",
46144
46199
  height: "1.2em"
46145
46200
  };
46146
46201
  function render$5(_ctx, _cache) {
46147
- return openBlock(), createElementBlock("svg", _hoisted_1$9, [..._cache[0] || (_cache[0] = [
46202
+ return openBlock(), createElementBlock("svg", _hoisted_1$8, [..._cache[0] || (_cache[0] = [
46148
46203
  createBaseVNode("path", {
46149
46204
  fill: "currentColor",
46150
46205
  d: "m12 16l-5-5l1.4-1.45l2.6 2.6V4h2v8.15l2.6-2.6L17 11zm-6 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"
@@ -46152,13 +46207,13 @@ function render$5(_ctx, _cache) {
46152
46207
  ])]);
46153
46208
  }
46154
46209
  const Download = markRaw({ name: "material-symbols-download", render: render$5 });
46155
- const _hoisted_1$8 = {
46210
+ const _hoisted_1$7 = {
46156
46211
  viewBox: "0 0 24 24",
46157
46212
  width: "1.2em",
46158
46213
  height: "1.2em"
46159
46214
  };
46160
46215
  function render$4(_ctx, _cache) {
46161
- return openBlock(), createElementBlock("svg", _hoisted_1$8, [..._cache[0] || (_cache[0] = [
46216
+ return openBlock(), createElementBlock("svg", _hoisted_1$7, [..._cache[0] || (_cache[0] = [
46162
46217
  createBaseVNode("path", {
46163
46218
  fill: "currentColor",
46164
46219
  d: "M11 16V7.85l-2.6 2.6L7 9l5-5l5 5l-1.4 1.45l-2.6-2.6V16zm-5 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"
@@ -46166,13 +46221,13 @@ function render$4(_ctx, _cache) {
46166
46221
  ])]);
46167
46222
  }
46168
46223
  const Upload = markRaw({ name: "material-symbols-upload", render: render$4 });
46169
- const _hoisted_1$7 = {
46224
+ const _hoisted_1$6 = {
46170
46225
  viewBox: "0 0 24 24",
46171
46226
  width: "1.2em",
46172
46227
  height: "1.2em"
46173
46228
  };
46174
46229
  function render$3(_ctx, _cache) {
46175
- return openBlock(), createElementBlock("svg", _hoisted_1$7, [..._cache[0] || (_cache[0] = [
46230
+ return openBlock(), createElementBlock("svg", _hoisted_1$6, [..._cache[0] || (_cache[0] = [
46176
46231
  createBaseVNode("path", {
46177
46232
  fill: "currentColor",
46178
46233
  d: "M12 20q-3.35 0-5.675-2.325T4 12t2.325-5.675T12 4q1.725 0 3.3.712T18 6.75V4h2v7h-7V9h4.2q-.8-1.4-2.187-2.2T12 6Q9.5 6 7.75 7.75T6 12t1.75 4.25T12 18q1.925 0 3.475-1.1T17.65 14h2.1q-.7 2.65-2.85 4.325T12 20"
@@ -46180,13 +46235,13 @@ function render$3(_ctx, _cache) {
46180
46235
  ])]);
46181
46236
  }
46182
46237
  const Refresh = markRaw({ name: "material-symbols-refresh", render: render$3 });
46183
- const _hoisted_1$6 = {
46238
+ const _hoisted_1$5 = {
46184
46239
  viewBox: "0 0 24 24",
46185
46240
  width: "1.2em",
46186
46241
  height: "1.2em"
46187
46242
  };
46188
46243
  function render$2(_ctx, _cache) {
46189
- return openBlock(), createElementBlock("svg", _hoisted_1$6, [..._cache[0] || (_cache[0] = [
46244
+ return openBlock(), createElementBlock("svg", _hoisted_1$5, [..._cache[0] || (_cache[0] = [
46190
46245
  createBaseVNode("path", {
46191
46246
  fill: "currentColor",
46192
46247
  d: "m8 18l-6-6l6-6l1.425 1.425l-4.6 4.6L9.4 16.6zm8 0l-1.425-1.425l4.6-4.6L14.6 7.4L16 6l6 6z"
@@ -46194,7 +46249,7 @@ function render$2(_ctx, _cache) {
46194
46249
  ])]);
46195
46250
  }
46196
46251
  const Code = markRaw({ name: "material-symbols-code", render: render$2 });
46197
- const _hoisted_1$5 = { class: "tree-node" };
46252
+ const _hoisted_1$4 = { class: "tree-node" };
46198
46253
  const _hoisted_2$2 = {
46199
46254
  key: 0,
46200
46255
  class: "text-xs select-none"
@@ -46325,7 +46380,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
46325
46380
  const isRootLevel = computed(() => props.depth === 0);
46326
46381
  return (_ctx, _cache) => {
46327
46382
  const _component_DataTreeNode = resolveComponent("DataTreeNode", true);
46328
- return openBlock(), createElementBlock("div", _hoisted_1$5, [
46383
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
46329
46384
  createBaseVNode("div", {
46330
46385
  class: normalizeClass(["flex items-center gap-2 py-1.5 px-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors cursor-pointer", { "font-semibold": isRootLevel.value, "font-normal": !isRootLevel.value }]),
46331
46386
  style: normalizeStyle({ paddingLeft: `${__props.depth * 20 + 12}px` }),
@@ -46378,7 +46433,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
46378
46433
  }
46379
46434
  });
46380
46435
  const DataTreeNode = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-ab4421ba"]]);
46381
- const _hoisted_1$4 = {
46436
+ const _hoisted_1$3 = {
46382
46437
  class: "data-manager-dialog",
46383
46438
  role: "dialog",
46384
46439
  "aria-modal": "true"
@@ -46638,7 +46693,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
46638
46693
  onClick: withModifiers(handleClose, ["self"]),
46639
46694
  onKeydown: handlePanelKeydown
46640
46695
  }, [
46641
- createBaseVNode("section", _hoisted_1$4, [
46696
+ createBaseVNode("section", _hoisted_1$3, [
46642
46697
  createBaseVNode("header", _hoisted_2$1, [
46643
46698
  createBaseVNode("div", _hoisted_3$1, [
46644
46699
  createBaseVNode("div", _hoisted_4$1, [
@@ -46829,13 +46884,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
46829
46884
  }
46830
46885
  });
46831
46886
  const TestDataPanel = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-d86409cd"]]);
46832
- const _hoisted_1$3 = {
46887
+ const _hoisted_1$2 = {
46833
46888
  viewBox: "0 0 24 24",
46834
46889
  width: "1.2em",
46835
46890
  height: "1.2em"
46836
46891
  };
46837
46892
  function render$1(_ctx, _cache) {
46838
- return openBlock(), createElementBlock("svg", _hoisted_1$3, [..._cache[0] || (_cache[0] = [
46893
+ return openBlock(), createElementBlock("svg", _hoisted_1$2, [..._cache[0] || (_cache[0] = [
46839
46894
  createBaseVNode("path", {
46840
46895
  fill: "currentColor",
46841
46896
  d: "M13 23v-3.075l5.525-5.5q.225-.225.5-.325t.55-.1q.3 0 .575.113t.5.337l.925.925q.2.225.313.5t.112.55t-.1.563t-.325.512l-5.5 5.5zM6 10h9V6H6zm13.575 7.4l.925-.975l-.925-.925l-.95.95zM11 21H5q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h12l4 4v5.3q-.475-.2-.987-.262T19 12.05t-.975.313t-.875.612L15 15.125V15q0-1.25-.875-2.125T12 12t-2.125.875T9 15t.875 2.125T12 18h.1L11 19.1z"
@@ -46843,13 +46898,13 @@ function render$1(_ctx, _cache) {
46843
46898
  ])]);
46844
46899
  }
46845
46900
  const SaveAs = markRaw({ name: "material-symbols-save-as", render: render$1 });
46846
- const _hoisted_1$2 = {
46901
+ const _hoisted_1$1 = {
46847
46902
  viewBox: "0 0 24 24",
46848
46903
  width: "1.2em",
46849
46904
  height: "1.2em"
46850
46905
  };
46851
46906
  function render(_ctx, _cache) {
46852
- return openBlock(), createElementBlock("svg", _hoisted_1$2, [..._cache[0] || (_cache[0] = [
46907
+ return openBlock(), createElementBlock("svg", _hoisted_1$1, [..._cache[0] || (_cache[0] = [
46853
46908
  createBaseVNode("path", {
46854
46909
  fill: "currentColor",
46855
46910
  d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h7v2H5v14h7v2zm11-4l-1.375-1.45l2.55-2.55H9v-2h8.175l-2.55-2.55L16 7l5 5z"
@@ -46857,7 +46912,7 @@ function render(_ctx, _cache) {
46857
46912
  ])]);
46858
46913
  }
46859
46914
  const Logout = markRaw({ name: "material-symbols-logout", render });
46860
- const _hoisted_1$1 = {
46915
+ const _hoisted_1 = {
46861
46916
  key: 0,
46862
46917
  class: "print-designer-headless",
46863
46918
  style: { "display": "none" }
@@ -47310,9 +47365,19 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
47310
47365
  const value = pxToUnit(px, store.unit || "mm");
47311
47366
  return store.unit === "px" ? Math.round(value) : Number(value.toFixed(1));
47312
47367
  };
47368
+ const reportEditorPages = computed(() => {
47369
+ if (store.mode !== "report") return store.pages;
47370
+ return expandLoopPages(store.pages, {
47371
+ testData: store.testData,
47372
+ variables: store.variables,
47373
+ mode: store.mode,
47374
+ isExporting: true,
47375
+ showVariableNames: store.showVariableNames
47376
+ });
47377
+ });
47313
47378
  const reportEditorExtraPageCount = computed(() => {
47314
47379
  if (!shouldPaginateReportTable(store.mode, store.isExporting)) return 0;
47315
- return store.pages.reduce((count, page) => {
47380
+ return reportEditorPages.value.reduce((count, page) => {
47316
47381
  const elements = Array.isArray(page.elements) ? page.elements : [];
47317
47382
  const plan = elements.filter((element) => element && element.type === ElementType.TABLE).map((table) => {
47318
47383
  const rows = store.resolveTableOrRawData(table) || [];
@@ -47324,7 +47389,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
47324
47389
  }, 0);
47325
47390
  });
47326
47391
  const canvasStyle = computed(() => {
47327
- const pagesCount = store.pages.length;
47392
+ const pagesCount = reportEditorPages.value.length;
47328
47393
  const pageHeight = store.canvasSize.height;
47329
47394
  const pageWidth = store.canvasSize.width;
47330
47395
  const unscaledHeight = pagesCount > 0 ? (pagesCount + reportEditorExtraPageCount.value) * pageHeight + (pagesCount + reportEditorExtraPageCount.value - 1) * PAGE_GAP_Y : 0;
@@ -47572,7 +47637,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
47572
47637
  });
47573
47638
  return (_ctx, _cache) => {
47574
47639
  var _a2;
47575
- return props.headless ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
47640
+ return props.headless ? (openBlock(), createElementBlock("div", _hoisted_1, [
47576
47641
  createBaseVNode("div", {
47577
47642
  ref_key: "rootContainer",
47578
47643
  ref: rootContainer
@@ -47840,7 +47905,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
47840
47905
  };
47841
47906
  }
47842
47907
  });
47843
- const _hoisted_1 = { class: "preview-page" };
47844
47908
  const _sfc_main = /* @__PURE__ */ defineComponent({
47845
47909
  __name: "PreviewPage",
47846
47910
  props: {
@@ -48007,6 +48071,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48007
48071
  const elementWrapperStyle = (element) => {
48008
48072
  var _a2, _b, _c, _d;
48009
48073
  const base = {
48074
+ position: "absolute",
48010
48075
  left: `${element.x}px`,
48011
48076
  top: `${element.y}px`,
48012
48077
  width: `${element.width}px`,
@@ -48079,6 +48144,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48079
48144
  });
48080
48145
  };
48081
48146
  const totalPages = computed(() => pages.value.length);
48147
+ const containerStyle = {
48148
+ display: "flex",
48149
+ flexDirection: "column",
48150
+ alignItems: "center",
48151
+ gap: "20px",
48152
+ padding: "20px",
48153
+ backgroundColor: "#f3f4f6"
48154
+ };
48155
+ const printPageBaseStyle = {
48156
+ background: "white",
48157
+ flexShrink: 0
48158
+ };
48082
48159
  const triggerRender = async () => {
48083
48160
  if (!props.autoRender) return;
48084
48161
  store.setIsExporting(true);
@@ -48108,17 +48185,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48108
48185
  isReady
48109
48186
  });
48110
48187
  return (_ctx, _cache) => {
48111
- return openBlock(), createElementBlock("div", _hoisted_1, [
48188
+ return openBlock(), createElementBlock("div", { style: containerStyle }, [
48112
48189
  (openBlock(true), createElementBlock(Fragment, null, renderList(pages.value, (page, index2) => {
48113
48190
  return openBlock(), createElementBlock("div", {
48114
48191
  key: page.id,
48115
- class: "print-page relative shadow-lg overflow-hidden",
48116
- style: normalizeStyle([pageStyle.value, watermarkStyle.value ? watermarkStyle.value : {}])
48192
+ style: normalizeStyle([printPageBaseStyle, { position: "relative", boxShadow: "0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06)", overflow: "hidden" }, pageStyle.value, watermarkStyle.value ? watermarkStyle.value : {}])
48117
48193
  }, [
48118
48194
  index2 > 0 && pages.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(getGlobalElements(), (element) => {
48119
48195
  return openBlock(), createElementBlock("div", {
48120
48196
  key: `global-${element.id}`,
48121
- class: "absolute",
48122
48197
  style: normalizeStyle(elementWrapperStyle(element))
48123
48198
  }, [
48124
48199
  (openBlock(), createBlock(resolveDynamicComponent(getComponent(element.type)), {
@@ -48131,7 +48206,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48131
48206
  (openBlock(true), createElementBlock(Fragment, null, renderList(getRenderableElements(page.elements), (element) => {
48132
48207
  return openBlock(), createElementBlock("div", {
48133
48208
  key: element.id,
48134
- class: "absolute",
48135
48209
  style: normalizeStyle(elementWrapperStyle(element))
48136
48210
  }, [
48137
48211
  (openBlock(), createBlock(resolveDynamicComponent(getComponent(element.type)), {
@@ -48147,7 +48221,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48147
48221
  };
48148
48222
  }
48149
48223
  });
48150
- const PreviewPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9fd7d897"]]);
48151
48224
  var lodash$1 = { exports: {} };
48152
48225
  /**
48153
48226
  * @license
@@ -54336,7 +54409,7 @@ class PrintDesignerElement extends HTMLElementBase {
54336
54409
  const previewPageProps = this.getPreviewPageProps(options);
54337
54410
  const app = createApp({
54338
54411
  setup: () => {
54339
- return () => h(PreviewPage, previewPageProps);
54412
+ return () => h(_sfc_main, previewPageProps);
54340
54413
  }
54341
54414
  });
54342
54415
  app.use(pinia);
@@ -54487,7 +54560,7 @@ class PrintDesignerElement extends HTMLElementBase {
54487
54560
  setup: () => {
54488
54561
  if (isPreview && previewData) {
54489
54562
  const previewPageProps = this.getPreviewPageProps(previewData);
54490
- return () => h(PreviewPage, previewPageProps);
54563
+ return () => h(_sfc_main, previewPageProps);
54491
54564
  }
54492
54565
  return () => h(_sfc_main$1, { headless: this._headless.value, mode: this._mode.value, viewMode: this._viewMode.value, onSave: this._onSave.value ?? void 0, autoSaveEnabled: this._autoSaveEnabled.value, autoSaveIntervalMs: this._autoSaveIntervalMs.value, fieldDictionary: this._fieldDictionary.value });
54493
54566
  }