@agile-team/mach-report 2.12.0 → 2.14.0

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.
Files changed (97) hide show
  1. package/README.md +27 -3
  2. package/dist/ExcelBindingWizard-CLT2p7P3.cjs +1 -0
  3. package/dist/ExcelBindingWizard-CvsWR8Ga.js +1485 -0
  4. package/dist/{ParamEditor-BLaE5q5W.js → ParamEditor-CflQV3eQ.js} +191 -187
  5. package/dist/ParamEditor-vIDzvpPV.cjs +1 -0
  6. package/dist/ReportBatchPanel-DkxTzBkD.cjs +1 -0
  7. package/dist/{ReportBatchPanel-B5ClP9tm.js → ReportBatchPanel-LqVgiqp7.js} +3 -3
  8. package/dist/ReportPreview-CvbqLUzM.cjs +6 -0
  9. package/dist/ReportPreview-D_ywJ_-H.js +4533 -0
  10. package/dist/{ReportTemplateLibrary-BZB-XWjj.js → ReportTemplateLibrary-MjWEtc7X.js} +1 -1
  11. package/dist/ReportTemplateLibrary-cQ1sqNYo.cjs +1 -0
  12. package/dist/RuleEditor-BaR6xUiI.cjs +1 -0
  13. package/dist/RuleEditor-ChuXMlei.js +2037 -0
  14. package/dist/TemplateOutlinePanel-BHKP89Xz.cjs +1 -0
  15. package/dist/TemplateOutlinePanel-Dci6aRn1.js +96 -0
  16. package/dist/TemplateReusePanel-B7Gmyc1z.js +388 -0
  17. package/dist/TemplateReusePanel-CY5eO2Sh.cjs +1 -0
  18. package/dist/TemplateReviewPanel-DjlX3xpt.js +592 -0
  19. package/dist/TemplateReviewPanel-JvZe9_4G.cjs +1 -0
  20. package/dist/{batch-mRqhhhjt.js → batch-DzaTNLWI.js} +23 -16
  21. package/dist/batch-xMkqYiTr.cjs +1 -0
  22. package/dist/config-0UIohTS7.cjs +1 -0
  23. package/dist/{config-B612mw0x.js → config-Dt9NtCPl.js} +227 -186
  24. package/dist/data-explanation-BktvER5B.cjs +1 -0
  25. package/dist/data-explanation-C_J6jYNi.js +16 -0
  26. package/dist/designer-Ci1LizA9.js +5020 -0
  27. package/dist/designer-rtmVIIdN.cjs +2 -0
  28. package/dist/designer.cjs +1 -2
  29. package/dist/designer.d.cts +306 -3
  30. package/dist/designer.d.ts +306 -3
  31. package/dist/designer.js +21 -4266
  32. package/dist/font-loader-DHto6Lra.js +297 -0
  33. package/dist/font-loader-vhCT8znW.cjs +1 -0
  34. package/dist/index.cjs +8 -8
  35. package/dist/index.d.cts +182 -1
  36. package/dist/index.d.ts +182 -1
  37. package/dist/index.js +728 -628
  38. package/dist/{template-review-BzpcI-tR.js → json-snapshot-BeFT3Tso.js} +867 -637
  39. package/dist/json-snapshot-D1NTP2oI.cjs +2 -0
  40. package/dist/pdf-8UPQebOE.js +36288 -0
  41. package/dist/pdf-AyJGb22z.cjs +101 -0
  42. package/dist/pdf.cjs +1 -101
  43. package/dist/pdf.js +9 -36579
  44. package/dist/plugin-BGKf-Tqg.js +22 -0
  45. package/dist/{plugin-BDTU4D94.cjs → plugin-CktLH_Iy.cjs} +1 -1
  46. package/dist/{region-binding-workflow-CcUq8W2Q.js → region-binding-workflow-DEJbhpCv.js} +1 -1
  47. package/dist/server/node.d.cts +46 -11
  48. package/dist/server/node.d.ts +46 -11
  49. package/dist/server-node.cjs +1 -1
  50. package/dist/server-node.js +294 -280
  51. package/dist/server.cjs +1 -1
  52. package/dist/server.d.cts +107 -12
  53. package/dist/server.d.ts +107 -12
  54. package/dist/server.js +713 -453
  55. package/dist/style.css +1 -1
  56. package/dist/template-bindings-BJR4k7qZ.cjs +1 -0
  57. package/dist/template-bindings-Daui7hLF.js +252 -0
  58. package/dist/template-fragments-CLkGo6To.js +187 -0
  59. package/dist/template-fragments-DFUpq5QM.cjs +1 -0
  60. package/dist/template-outline-B3xVkzSv.cjs +1 -0
  61. package/dist/template-outline-CFenM1PV.js +88 -0
  62. package/dist/{template-registry-BjE1VS6g.js → template-registry-COXDEJEM.js} +1 -1
  63. package/dist/{useLocalDraft-C07SYRnC.js → useLocalDraft-BnhcxXk_.js} +1 -1
  64. package/dist/{useLocalDraft-Yiw1wFgI.cjs → useLocalDraft-CioIfDb6.cjs} +1 -1
  65. package/dist/{validate-DbgEM1Hh.js → validate-CkQBWCeg.js} +3 -3
  66. package/dist/vue/async.d.cts +72 -2
  67. package/dist/vue/async.d.ts +72 -2
  68. package/dist/vue/index.d.cts +124 -5
  69. package/dist/vue/index.d.ts +124 -5
  70. package/dist/vue-async.cjs +1 -1
  71. package/dist/vue-async.js +5 -5
  72. package/dist/vue.cjs +1 -1
  73. package/dist/vue.js +78 -71
  74. package/dist/{workbook-session-BPb3TMnT.js → workbook-session-BfK1yHOO.js} +1 -1
  75. package/dist/worker.cjs +1 -1
  76. package/dist/worker.d.cts +46 -11
  77. package/dist/worker.d.ts +46 -11
  78. package/dist/worker.js +59 -55
  79. package/dist/xlsx.js +3 -3
  80. package/package.json +1 -1
  81. package/dist/ExcelBindingWizard-CeAf4QSE.js +0 -1465
  82. package/dist/ExcelBindingWizard-y0mT-AHR.cjs +0 -1
  83. package/dist/ParamEditor-MBBC7lUE.cjs +0 -1
  84. package/dist/ReportBatchPanel-Dc-SDkYA.cjs +0 -1
  85. package/dist/ReportPreview-DWXROHBP.cjs +0 -6
  86. package/dist/ReportPreview-DiNXhQI0.js +0 -4138
  87. package/dist/ReportTemplateLibrary-5fk5CQBO.cjs +0 -1
  88. package/dist/RuleEditor-ChRzNQuF.cjs +0 -1
  89. package/dist/RuleEditor-DzAmW5YH.js +0 -2024
  90. package/dist/TemplateReviewPanel-BKofGrV9.js +0 -222
  91. package/dist/TemplateReviewPanel-DwtOcLue.cjs +0 -1
  92. package/dist/batch-Bt3Fd27Z.cjs +0 -1
  93. package/dist/config-BRoLo2oj.cjs +0 -1
  94. package/dist/plugin-Cd5G2QQn.js +0 -22
  95. package/dist/record-bindings-By_UKZ2g.cjs +0 -1
  96. package/dist/record-bindings-D-5jQlTj.js +0 -196
  97. package/dist/template-review-BfCC8Ng9.cjs +0 -2
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("./template-outline-B3xVkzSv.cjs"),E=require("./designer-rtmVIIdN.cjs"),h=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),y=["aria-label"],S={class:"sr-only"},V=["placeholder"],B={class:"mr-outline-layout"},N={class:"mr-outline-tree"},D=["onClick"],f={class:"mr-outline-kind"},b={key:0},C={key:0,class:"mr-product-note"},T={key:0},$=["onClick"],L=e.defineComponent({__name:"TemplateOutlinePanel",props:{document:{},selection:{},messages:{}},emits:["locate"],setup(m,{emit:p}){const c=m,u=p,l=e.computed(()=>({...E.TEMPLATE_PRODUCT_MESSAGES,...c.messages})),r=e.ref(""),s=e.ref(100),a=e.ref(),v=e.computed(()=>d.collectTemplateOutline(c.document.template)),i=e.computed(()=>{const n=r.value.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return v.value.filter(o=>n.every(t=>`${o.title} ${o.dataset??""} ${o.path}`.toLocaleLowerCase().includes(t)))}),g=e.computed(()=>a.value?d.inspectTemplateFieldUsage(c.document.template,a.value.dataset,a.value.field):[]);function k(n){u("locate",n),n.dataset&&n.field&&(a.value={dataset:n.dataset,field:n.field})}return(n,o)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-product-panel mr-outline","aria-label":l.value.outline},[e.createElementVNode("header",null,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(l.value.outline),1),e.createElementVNode("small",null,e.toDisplayString(i.value.length)+" "+e.toDisplayString(l.value.count),1)]),e.createElementVNode("label",null,[e.createElementVNode("span",S,e.toDisplayString(l.value.search),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=t=>r.value=t),type:"search",placeholder:l.value.search,onInput:o[1]||(o[1]=t=>s.value=100)},null,40,V),[[e.vModelText,r.value]])])]),e.createElementVNode("div",B,[e.createElementVNode("ol",N,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.slice(0,s.value),t=>(e.openBlock(),e.createElementBlock("li",{key:t.path,style:e.normalizeStyle({"--depth":t.depth})},[e.createElementVNode("button",{type:"button",onClick:_=>k(t)},[e.createElementVNode("span",f,e.toDisplayString(l.value[t.kind]),1),e.createElementVNode("strong",null,e.toDisplayString(t.title),1),t.dataset?(e.openBlock(),e.createElementBlock("small",b,e.toDisplayString(t.dataset),1)):e.createCommentVNode("",!0)],8,D)],4))),128)),i.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",C,e.toDisplayString(l.value.noMatches),1))]),a.value?(e.openBlock(),e.createElementBlock("aside",T,[e.createElementVNode("h3",null,e.toDisplayString(l.value.usages)+" · "+e.toDisplayString(a.value.field),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value.slice(0,100),t=>(e.openBlock(),e.createElementBlock("button",{key:t.path,type:"button",class:"mr-outline-reference",onClick:_=>u("locate",t)},[e.createElementVNode("span",null,e.toDisplayString(t.pageIndex===void 0?l.value.binding:`${l.value.page} ${t.pageIndex+1}`)+" · "+e.toDisplayString(l.value[t.kind==="display"?"field":t.kind]),1),e.createElementVNode("code",null,e.toDisplayString(t.path),1)],8,$))),128))])):e.createCommentVNode("",!0)]),i.value.length>s.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mr-product-more",onClick:o[2]||(o[2]=t=>s.value+=100)},e.toDisplayString(l.value.more)+" · "+e.toDisplayString(i.value.length-s.value),1)):e.createCommentVNode("",!0)],8,y))}}),x=h._export_sfc(L,[["__scopeId","data-v-c1e2eb2c"]]);exports.default=x;
@@ -0,0 +1,96 @@
1
+ import { defineComponent as x, computed as r, ref as _, openBlock as s, createElementBlock as n, createElementVNode as t, toDisplayString as l, withDirectives as E, vModelText as L, Fragment as g, renderList as k, normalizeStyle as S, createCommentVNode as p } from "vue";
2
+ import { c as I, i as M } from "./template-outline-CFenM1PV.js";
3
+ import { b as O } from "./designer-Ci1LizA9.js";
4
+ import { _ as P } from "./_plugin-vue_export-helper-8SL1F89S.js";
5
+ const w = ["aria-label"], B = { class: "sr-only" }, D = ["placeholder"], U = { class: "mr-outline-layout" }, V = { class: "mr-outline-tree" }, A = ["onClick"], F = { class: "mr-outline-kind" }, N = { key: 0 }, q = {
6
+ key: 0,
7
+ class: "mr-product-note"
8
+ }, z = { key: 0 }, G = ["onClick"], R = /* @__PURE__ */ x({
9
+ __name: "TemplateOutlinePanel",
10
+ props: {
11
+ document: {},
12
+ selection: {},
13
+ messages: {}
14
+ },
15
+ emits: ["locate"],
16
+ setup(f, { emit: b }) {
17
+ const m = f, h = b, a = r(() => ({ ...O, ...m.messages })), v = _(""), d = _(100), i = _(), y = r(() => I(m.document.template)), c = r(() => {
18
+ const u = v.value.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);
19
+ return y.value.filter(
20
+ (o) => u.every(
21
+ (e) => `${o.title} ${o.dataset ?? ""} ${o.path}`.toLocaleLowerCase().includes(e)
22
+ )
23
+ );
24
+ }), C = r(
25
+ () => i.value ? M(
26
+ m.document.template,
27
+ i.value.dataset,
28
+ i.value.field
29
+ ) : []
30
+ );
31
+ function $(u) {
32
+ h("locate", u), u.dataset && u.field && (i.value = { dataset: u.dataset, field: u.field });
33
+ }
34
+ return (u, o) => (s(), n("section", {
35
+ class: "mr-product-panel mr-outline",
36
+ "aria-label": a.value.outline
37
+ }, [
38
+ t("header", null, [
39
+ t("div", null, [
40
+ t("strong", null, l(a.value.outline), 1),
41
+ t("small", null, l(c.value.length) + " " + l(a.value.count), 1)
42
+ ]),
43
+ t("label", null, [
44
+ t("span", B, l(a.value.search), 1),
45
+ E(t("input", {
46
+ "onUpdate:modelValue": o[0] || (o[0] = (e) => v.value = e),
47
+ type: "search",
48
+ placeholder: a.value.search,
49
+ onInput: o[1] || (o[1] = (e) => d.value = 100)
50
+ }, null, 40, D), [
51
+ [L, v.value]
52
+ ])
53
+ ])
54
+ ]),
55
+ t("div", U, [
56
+ t("ol", V, [
57
+ (s(!0), n(g, null, k(c.value.slice(0, d.value), (e) => (s(), n("li", {
58
+ key: e.path,
59
+ style: S({ "--depth": e.depth })
60
+ }, [
61
+ t("button", {
62
+ type: "button",
63
+ onClick: (T) => $(e)
64
+ }, [
65
+ t("span", F, l(a.value[e.kind]), 1),
66
+ t("strong", null, l(e.title), 1),
67
+ e.dataset ? (s(), n("small", N, l(e.dataset), 1)) : p("", !0)
68
+ ], 8, A)
69
+ ], 4))), 128)),
70
+ c.value.length ? p("", !0) : (s(), n("li", q, l(a.value.noMatches), 1))
71
+ ]),
72
+ i.value ? (s(), n("aside", z, [
73
+ t("h3", null, l(a.value.usages) + " · " + l(i.value.field), 1),
74
+ (s(!0), n(g, null, k(C.value.slice(0, 100), (e) => (s(), n("button", {
75
+ key: e.path,
76
+ type: "button",
77
+ class: "mr-outline-reference",
78
+ onClick: (T) => h("locate", e)
79
+ }, [
80
+ t("span", null, l(e.pageIndex === void 0 ? a.value.binding : `${a.value.page} ${e.pageIndex + 1}`) + " · " + l(a.value[e.kind === "display" ? "field" : e.kind]), 1),
81
+ t("code", null, l(e.path), 1)
82
+ ], 8, G))), 128))
83
+ ])) : p("", !0)
84
+ ]),
85
+ c.value.length > d.value ? (s(), n("button", {
86
+ key: 0,
87
+ type: "button",
88
+ class: "mr-product-more",
89
+ onClick: o[2] || (o[2] = (e) => d.value += 100)
90
+ }, l(a.value.more) + " · " + l(c.value.length - d.value), 1)) : p("", !0)
91
+ ], 8, w));
92
+ }
93
+ }), Q = /* @__PURE__ */ P(R, [["__scopeId", "data-v-c1e2eb2c"]]);
94
+ export {
95
+ Q as default
96
+ };
@@ -0,0 +1,388 @@
1
+ import { computed as f, ref as S, watch as q, defineComponent as J, openBlock as d, createElementBlock as r, unref as e, createElementVNode as i, toDisplayString as a, createCommentVNode as w, Fragment as x, createTextVNode as U, withDirectives as $, isRef as D, renderList as O, vModelSelect as P, vModelText as M, normalizeStyle as L } from "vue";
2
+ import { b as G, c as H, i as W, a as K } from "./template-fragments-CLkGo6To.js";
3
+ import { b as Q } from "./designer-Ci1LizA9.js";
4
+ import { _ as X } from "./_plugin-vue_export-helper-8SL1F89S.js";
5
+ function Y(l, A) {
6
+ const m = f(() => ({
7
+ ...Q,
8
+ ...l.messages
9
+ })), I = S([]), s = S(""), v = S("body"), g = S(""), C = S(""), V = S(), p = S({}), h = f(() => [
10
+ ...l.fragments ?? [],
11
+ ...I.value
12
+ ]);
13
+ q(
14
+ h,
15
+ (o) => {
16
+ o.some((n) => n.id === s.value) || (s.value = o[0]?.id ?? "");
17
+ },
18
+ { immediate: !0 }
19
+ );
20
+ const u = f(
21
+ () => h.value.find((o) => o.id === s.value) ?? h.value[0]
22
+ ), E = f(() => {
23
+ try {
24
+ return u.value ? G(u.value) : [];
25
+ } catch (o) {
26
+ return [{ dataset: "", fields: [], error: String(o) }];
27
+ }
28
+ });
29
+ q(
30
+ u,
31
+ () => {
32
+ p.value = {
33
+ datasets: Object.fromEntries(
34
+ E.value.map((o) => [
35
+ o.dataset,
36
+ l.document.template.repeat?.dataset ?? o.dataset
37
+ ])
38
+ ),
39
+ fields: Object.fromEntries(
40
+ E.value.map((o) => [
41
+ o.dataset,
42
+ Object.fromEntries(o.fields.map((n) => [n, n]))
43
+ ])
44
+ )
45
+ };
46
+ },
47
+ { immediate: !0 }
48
+ );
49
+ const c = f(
50
+ () => l.selection?.pageIndex === l.pageIndex ? l.document.template.pages[l.pageIndex]?.components[l.selection.componentIndex] : void 0
51
+ ), _ = f(
52
+ () => c.value?.meta?.fragment
53
+ ), B = f(
54
+ () => _.value && u.value?.id === _.value.id && u.value.revision !== _.value.revision
55
+ ), k = f(
56
+ () => l.styles?.length ? l.styles : [
57
+ {
58
+ id: "title",
59
+ name: m.value.styleText,
60
+ style: { fontSize: 18, bold: !0, color: "#183b65" }
61
+ },
62
+ {
63
+ id: "heading",
64
+ name: m.value.styleHeading,
65
+ target: "header",
66
+ style: {
67
+ fontSize: 10,
68
+ bold: !0,
69
+ color: "#21466e",
70
+ backgroundColor: "#eaf2fb",
71
+ align: "center",
72
+ verticalAlign: "middle"
73
+ }
74
+ },
75
+ {
76
+ id: "body",
77
+ name: m.value.styleBody,
78
+ style: { fontSize: 10, color: "#334155", bold: !1 }
79
+ },
80
+ {
81
+ id: "number",
82
+ name: m.value.styleNumber,
83
+ style: { fontSize: 10, align: "right", color: "#334155" }
84
+ },
85
+ {
86
+ id: "note",
87
+ name: m.value.styleNote,
88
+ style: { fontSize: 8, color: "#64748b", bold: !1 }
89
+ }
90
+ ]
91
+ ), b = f(
92
+ () => k.value.find((o) => o.id === v.value) ?? k.value[0]
93
+ );
94
+ q(
95
+ k,
96
+ (o) => {
97
+ o.some((n) => n.id === v.value) || (v.value = o[0]?.id ?? "");
98
+ },
99
+ { immediate: !0 }
100
+ );
101
+ function T(o) {
102
+ if (!l.disabled) {
103
+ C.value = "";
104
+ try {
105
+ o();
106
+ } catch (n) {
107
+ C.value = n instanceof Error ? n.message : String(n);
108
+ }
109
+ }
110
+ }
111
+ function z() {
112
+ T(() => {
113
+ if (!l.selection || !c.value) throw new Error(m.value.select);
114
+ if (!g.value.trim()) throw new Error(m.value.nameRequired);
115
+ let o = I.value.length + 1;
116
+ const n = new Set(h.value.map((y) => y.id));
117
+ for (; n.has(`session-fragment-${o}`); ) o++;
118
+ const t = `session-fragment-${o}`;
119
+ I.value.push(
120
+ H(
121
+ l.document,
122
+ l.pageIndex,
123
+ [l.selection.componentIndex],
124
+ { id: t, name: g.value.trim(), revision: "1" }
125
+ )
126
+ ), s.value = t, g.value = "";
127
+ });
128
+ }
129
+ function N(o = !1) {
130
+ T(() => {
131
+ if (!u.value) return;
132
+ const n = W(l.document, u.value, {
133
+ pageIndex: l.pageIndex,
134
+ bindings: p.value,
135
+ ...o ? { replaceInstance: _.value?.instance } : {}
136
+ });
137
+ l.accept((t) => {
138
+ t.template = n.document.template;
139
+ }) && A({
140
+ pageIndex: l.pageIndex,
141
+ componentIndex: n.componentIndices[0]
142
+ });
143
+ });
144
+ }
145
+ function R(o = b.value) {
146
+ T(() => {
147
+ if (!l.selection || !c.value) return;
148
+ const n = K(
149
+ l.document,
150
+ l.pageIndex,
151
+ [l.selection.componentIndex],
152
+ o
153
+ );
154
+ l.accept((t) => {
155
+ t.template = n.template;
156
+ });
157
+ });
158
+ }
159
+ function F() {
160
+ c.value && (V.value = JSON.parse(
161
+ JSON.stringify(
162
+ c.value.kind === "list" ? c.value.columns[0]?.style ?? {} : c.value.style ?? {}
163
+ )
164
+ ));
165
+ }
166
+ return {
167
+ m,
168
+ local: I,
169
+ name: g,
170
+ fragmentId: s,
171
+ fragments: h,
172
+ fragment: u,
173
+ bindings: p,
174
+ required: E,
175
+ active: c,
176
+ instance: _,
177
+ canUpdate: B,
178
+ error: C,
179
+ styles: k,
180
+ styleId: v,
181
+ style: b,
182
+ clipboard: V,
183
+ capture: z,
184
+ insert: N,
185
+ apply: R,
186
+ copyStyle: F
187
+ };
188
+ }
189
+ const Z = ["aria-label"], ee = {
190
+ key: 0,
191
+ role: "alert",
192
+ class: "mr-reuse-error"
193
+ }, te = { class: "mr-reuse-layout" }, ne = {
194
+ key: 0,
195
+ class: "mr-product-note"
196
+ }, le = ["value"], ae = { class: "mr-product-note" }, se = { key: 0 }, oe = {
197
+ key: 0,
198
+ class: "mr-reuse-bindings"
199
+ }, ie = {
200
+ key: 0,
201
+ role: "alert"
202
+ }, de = ["onUpdate:modelValue", "disabled"], re = ["onUpdate:modelValue", "aria-label", "disabled"], ue = { class: "mr-reuse-actions" }, ce = ["disabled"], me = ["disabled"], ve = {
203
+ key: 1,
204
+ class: "mr-product-note"
205
+ }, be = { class: "mr-reuse-bindings" }, ye = ["disabled"], fe = ["disabled"], ge = { class: "mr-product-note" }, pe = ["value"], he = {
206
+ key: 0,
207
+ class: "mr-product-note"
208
+ }, _e = { class: "mr-reuse-actions" }, ke = ["disabled"], Se = ["disabled"], xe = ["disabled"], Ie = /* @__PURE__ */ J({
209
+ __name: "TemplateReusePanel",
210
+ props: {
211
+ document: {},
212
+ pageIndex: {},
213
+ selection: {},
214
+ fragments: {},
215
+ styles: {},
216
+ disabled: { type: Boolean },
217
+ messages: {},
218
+ accept: { type: Function }
219
+ },
220
+ emits: ["select"],
221
+ setup(l, { emit: A }) {
222
+ const m = l, I = A, {
223
+ m: s,
224
+ name: v,
225
+ fragmentId: g,
226
+ fragments: C,
227
+ fragment: V,
228
+ bindings: p,
229
+ required: h,
230
+ active: u,
231
+ instance: E,
232
+ canUpdate: c,
233
+ error: _,
234
+ styles: B,
235
+ styleId: k,
236
+ style: b,
237
+ clipboard: T,
238
+ capture: z,
239
+ insert: N,
240
+ apply: R,
241
+ copyStyle: F
242
+ } = Y(m, (o) => I("select", o));
243
+ return (o, n) => (d(), r("section", {
244
+ class: "mr-product-panel",
245
+ "aria-label": e(s).reuse
246
+ }, [
247
+ i("header", null, [
248
+ i("strong", null, a(e(s).reuse), 1),
249
+ i("small", null, a(e(s).preserve), 1)
250
+ ]),
251
+ e(_) ? (d(), r("p", ee, a(e(_)), 1)) : w("", !0),
252
+ i("div", te, [
253
+ i("section", null, [
254
+ i("h3", null, a(e(s).fragments), 1),
255
+ e(C).length ? (d(), r(x, { key: 1 }, [
256
+ i("label", null, [
257
+ U(a(e(s).fragments), 1),
258
+ $(i("select", {
259
+ "onUpdate:modelValue": n[0] || (n[0] = (t) => D(g) ? g.value = t : null)
260
+ }, [
261
+ (d(!0), r(x, null, O(e(C), (t) => (d(), r("option", {
262
+ key: t.id,
263
+ value: t.id
264
+ }, a(t.name) + " · " + a(t.revision), 9, le))), 128))
265
+ ], 512), [
266
+ [P, e(g)]
267
+ ])
268
+ ]),
269
+ i("p", ae, [
270
+ U(a(e(s).revision) + " " + a(e(V)?.revision), 1),
271
+ e(E) ? (d(), r("span", se, " · " + a(e(s).instance) + " " + a(e(E).revision), 1)) : w("", !0)
272
+ ]),
273
+ e(h).length ? (d(), r("div", oe, [
274
+ i("h3", null, a(e(s).bindings), 1),
275
+ (d(!0), r(x, null, O(e(h), (t) => (d(), r(x, {
276
+ key: t.dataset
277
+ }, [
278
+ "error" in t ? (d(), r("p", ie, a(t.error), 1)) : (d(), r(x, { key: 1 }, [
279
+ i("label", null, [
280
+ U(a(e(s).dataset) + " · " + a(t.dataset), 1),
281
+ $(i("input", {
282
+ "onUpdate:modelValue": (y) => e(p).datasets[t.dataset] = y,
283
+ disabled: l.disabled
284
+ }, null, 8, de), [
285
+ [M, e(p).datasets[t.dataset]]
286
+ ])
287
+ ]),
288
+ (d(!0), r(x, null, O(t.fields, (y) => (d(), r("label", { key: y }, [
289
+ U(a(y), 1),
290
+ $(i("input", {
291
+ "onUpdate:modelValue": (j) => e(p).fields[t.dataset][y] = j,
292
+ "aria-label": `${e(s).target} ${y}`,
293
+ disabled: l.disabled
294
+ }, null, 8, re), [
295
+ [M, e(p).fields[t.dataset][y]]
296
+ ])
297
+ ]))), 128))
298
+ ], 64))
299
+ ], 64))), 128))
300
+ ])) : w("", !0),
301
+ i("div", ue, [
302
+ i("button", {
303
+ type: "button",
304
+ class: "mr-reuse-primary",
305
+ disabled: l.disabled || !e(V),
306
+ onClick: n[1] || (n[1] = (t) => e(N)())
307
+ }, a(e(s).insert), 9, ce),
308
+ e(c) ? (d(), r("button", {
309
+ key: 0,
310
+ type: "button",
311
+ disabled: l.disabled,
312
+ onClick: n[2] || (n[2] = (t) => e(N)(!0))
313
+ }, a(e(s).update), 9, me)) : w("", !0)
314
+ ]),
315
+ e(c) ? (d(), r("p", ve, a(e(s).newRevision), 1)) : w("", !0)
316
+ ], 64)) : (d(), r("p", ne, a(e(s).noFragments), 1)),
317
+ i("div", be, [
318
+ i("label", null, [
319
+ U(a(e(s).fragmentName), 1),
320
+ $(i("input", {
321
+ "onUpdate:modelValue": n[3] || (n[3] = (t) => D(v) ? v.value = t : null),
322
+ disabled: l.disabled || !e(u)
323
+ }, null, 8, ye), [
324
+ [M, e(v)]
325
+ ])
326
+ ]),
327
+ i("button", {
328
+ type: "button",
329
+ disabled: l.disabled || !e(u) || !e(v).trim(),
330
+ onClick: n[4] || (n[4] = //@ts-ignore
331
+ (...t) => e(z) && e(z)(...t))
332
+ }, a(e(s).capture), 9, fe)
333
+ ])
334
+ ]),
335
+ i("section", null, [
336
+ i("h3", null, a(e(s).styles), 1),
337
+ i("p", ge, a(e(s).noStyles), 1),
338
+ i("label", null, [
339
+ U(a(e(s).role), 1),
340
+ $(i("select", {
341
+ "onUpdate:modelValue": n[5] || (n[5] = (t) => D(k) ? k.value = t : null)
342
+ }, [
343
+ (d(!0), r(x, null, O(e(B), (t) => (d(), r("option", {
344
+ key: t.id,
345
+ value: t.id
346
+ }, a(t.name), 9, pe))), 128))
347
+ ], 512), [
348
+ [P, e(k)]
349
+ ])
350
+ ]),
351
+ i("div", {
352
+ class: "mr-reuse-swatch",
353
+ style: L({
354
+ color: e(b).style.color,
355
+ backgroundColor: e(b).style.backgroundColor,
356
+ fontSize: `${e(b).style.fontSize ?? 10}pt`,
357
+ fontWeight: e(b).style.bold ? 600 : 400,
358
+ textAlign: e(b).style.align
359
+ })
360
+ }, a(e(b).name) + " · Aa 0123 ", 5),
361
+ e(u) ? w("", !0) : (d(), r("p", he, a(e(s).select), 1)),
362
+ i("div", _e, [
363
+ i("button", {
364
+ type: "button",
365
+ class: "mr-reuse-primary",
366
+ disabled: l.disabled || !e(u),
367
+ onClick: n[6] || (n[6] = (t) => e(R)())
368
+ }, a(e(s).apply), 9, ke),
369
+ i("button", {
370
+ type: "button",
371
+ disabled: !e(u),
372
+ onClick: n[7] || (n[7] = //@ts-ignore
373
+ (...t) => e(F) && e(F)(...t))
374
+ }, a(e(s).copy), 9, Se),
375
+ i("button", {
376
+ type: "button",
377
+ disabled: l.disabled || !e(u) || !e(T),
378
+ onClick: n[8] || (n[8] = (t) => e(R)({ id: "clipboard", name: e(s).paste, style: e(T) }))
379
+ }, a(e(s).paste), 9, xe)
380
+ ])
381
+ ])
382
+ ])
383
+ ], 8, Z));
384
+ }
385
+ }), Ue = /* @__PURE__ */ X(Ie, [["__scopeId", "data-v-45be4c24"]]);
386
+ export {
387
+ Ue as default
388
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),h=require("./template-fragments-DFUpq5QM.cjs"),T=require("./designer-rtmVIIdN.cjs"),C=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function w(l,_){const i=e.computed(()=>({...T.TEMPLATE_PRODUCT_MESSAGES,...l.messages})),v=e.ref([]),a=e.ref(""),d=e.ref("body"),m=e.ref(""),b=e.ref(""),S=e.ref(),f=e.ref({}),p=e.computed(()=>[...l.fragments??[],...v.value]);e.watch(p,o=>{o.some(n=>n.id===a.value)||(a.value=o[0]?.id??"")},{immediate:!0});const r=e.computed(()=>p.value.find(o=>o.id===a.value)??p.value[0]),k=e.computed(()=>{try{return r.value?h.inspectTemplateFragmentBindings(r.value):[]}catch(o){return[{dataset:"",fields:[],error:String(o)}]}});e.watch(r,()=>{f.value={datasets:Object.fromEntries(k.value.map(o=>[o.dataset,l.document.template.repeat?.dataset??o.dataset])),fields:Object.fromEntries(k.value.map(o=>[o.dataset,Object.fromEntries(o.fields.map(n=>[n,n]))]))}},{immediate:!0});const s=e.computed(()=>l.selection?.pageIndex===l.pageIndex?l.document.template.pages[l.pageIndex]?.components[l.selection.componentIndex]:void 0),y=e.computed(()=>s.value?.meta?.fragment),x=e.computed(()=>y.value&&r.value?.id===y.value.id&&r.value.revision!==y.value.revision),g=e.computed(()=>l.styles?.length?l.styles:[{id:"title",name:i.value.styleText,style:{fontSize:18,bold:!0,color:"#183b65"}},{id:"heading",name:i.value.styleHeading,target:"header",style:{fontSize:10,bold:!0,color:"#21466e",backgroundColor:"#eaf2fb",align:"center",verticalAlign:"middle"}},{id:"body",name:i.value.styleBody,style:{fontSize:10,color:"#334155",bold:!1}},{id:"number",name:i.value.styleNumber,style:{fontSize:10,align:"right",color:"#334155"}},{id:"note",name:i.value.styleNote,style:{fontSize:8,color:"#64748b",bold:!1}}]),u=e.computed(()=>g.value.find(o=>o.id===d.value)??g.value[0]);e.watch(g,o=>{o.some(n=>n.id===d.value)||(d.value=o[0]?.id??"")},{immediate:!0});function E(o){if(!l.disabled){b.value="";try{o()}catch(n){b.value=n instanceof Error?n.message:String(n)}}}function V(){E(()=>{if(!l.selection||!s.value)throw new Error(i.value.select);if(!m.value.trim())throw new Error(i.value.nameRequired);let o=v.value.length+1;const n=new Set(p.value.map(c=>c.id));for(;n.has(`session-fragment-${o}`);)o++;const t=`session-fragment-${o}`;v.value.push(h.captureTemplateFragment(l.document,l.pageIndex,[l.selection.componentIndex],{id:t,name:m.value.trim(),revision:"1"})),a.value=t,m.value=""})}function N(o=!1){E(()=>{if(!r.value)return;const n=h.insertTemplateFragment(l.document,r.value,{pageIndex:l.pageIndex,bindings:f.value,...o?{replaceInstance:y.value?.instance}:{}});l.accept(t=>{t.template=n.document.template})&&_({pageIndex:l.pageIndex,componentIndex:n.componentIndices[0]})})}function B(o=u.value){E(()=>{if(!l.selection||!s.value)return;const n=h.applyReportDocumentStyle(l.document,l.pageIndex,[l.selection.componentIndex],o);l.accept(t=>{t.template=n.template})})}function D(){s.value&&(S.value=JSON.parse(JSON.stringify(s.value.kind==="list"?s.value.columns[0]?.style??{}:s.value.style??{})))}return{m:i,local:v,name:m,fragmentId:a,fragments:p,fragment:r,bindings:f,required:k,active:s,instance:y,canUpdate:x,error:b,styles:g,styleId:d,style:u,clipboard:S,capture:V,insert:N,apply:B,copyStyle:D}}const F=["aria-label"],R={key:0,role:"alert",class:"mr-reuse-error"},U={class:"mr-reuse-layout"},$={key:0,class:"mr-product-note"},q=["value"],z={class:"mr-product-note"},M={key:0},O={key:0,class:"mr-reuse-bindings"},A={key:0,role:"alert"},L=["onUpdate:modelValue","disabled"],P=["onUpdate:modelValue","aria-label","disabled"],j={class:"mr-reuse-actions"},H=["disabled"],J=["disabled"],G={key:1,class:"mr-product-note"},W={class:"mr-reuse-bindings"},K=["disabled"],Q=["disabled"],X={class:"mr-product-note"},Y=["value"],Z={key:0,class:"mr-product-note"},ee={class:"mr-reuse-actions"},te=["disabled"],ne=["disabled"],le=["disabled"],ae=e.defineComponent({__name:"TemplateReusePanel",props:{document:{},pageIndex:{},selection:{},fragments:{},styles:{},disabled:{type:Boolean},messages:{},accept:{type:Function}},emits:["select"],setup(l,{emit:_}){const i=l,v=_,{m:a,name:d,fragmentId:m,fragments:b,fragment:S,bindings:f,required:p,active:r,instance:k,canUpdate:s,error:y,styles:x,styleId:g,style:u,clipboard:E,capture:V,insert:N,apply:B,copyStyle:D}=w(i,o=>v("select",o));return(o,n)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-product-panel","aria-label":e.unref(a).reuse},[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(a).reuse),1),e.createElementVNode("small",null,e.toDisplayString(e.unref(a).preserve),1)]),e.unref(y)?(e.openBlock(),e.createElementBlock("p",R,e.toDisplayString(e.unref(y)),1)):e.createCommentVNode("",!0),e.createElementVNode("div",U,[e.createElementVNode("section",null,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(a).fragments),1),e.unref(b).length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).fragments),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=t=>e.isRef(m)?m.value=t:null)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),t=>(e.openBlock(),e.createElementBlock("option",{key:t.id,value:t.id},e.toDisplayString(t.name)+" · "+e.toDisplayString(t.revision),9,q))),128))],512),[[e.vModelSelect,e.unref(m)]])]),e.createElementVNode("p",z,[e.createTextVNode(e.toDisplayString(e.unref(a).revision)+" "+e.toDisplayString(e.unref(S)?.revision),1),e.unref(k)?(e.openBlock(),e.createElementBlock("span",M," · "+e.toDisplayString(e.unref(a).instance)+" "+e.toDisplayString(e.unref(k).revision),1)):e.createCommentVNode("",!0)]),e.unref(p).length?(e.openBlock(),e.createElementBlock("div",O,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(a).bindings),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.dataset},["error"in t?(e.openBlock(),e.createElementBlock("p",A,e.toDisplayString(t.error),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).dataset)+" · "+e.toDisplayString(t.dataset),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c=>e.unref(f).datasets[t.dataset]=c,disabled:l.disabled},null,8,L),[[e.vModelText,e.unref(f).datasets[t.dataset]]])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,c=>(e.openBlock(),e.createElementBlock("label",{key:c},[e.createTextVNode(e.toDisplayString(c),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":I=>e.unref(f).fields[t.dataset][c]=I,"aria-label":`${e.unref(a).target} ${c}`,disabled:l.disabled},null,8,P),[[e.vModelText,e.unref(f).fields[t.dataset][c]]])]))),128))],64))],64))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",j,[e.createElementVNode("button",{type:"button",class:"mr-reuse-primary",disabled:l.disabled||!e.unref(S),onClick:n[1]||(n[1]=t=>e.unref(N)())},e.toDisplayString(e.unref(a).insert),9,H),e.unref(s)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:l.disabled,onClick:n[2]||(n[2]=t=>e.unref(N)(!0))},e.toDisplayString(e.unref(a).update),9,J)):e.createCommentVNode("",!0)]),e.unref(s)?(e.openBlock(),e.createElementBlock("p",G,e.toDisplayString(e.unref(a).newRevision),1)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("p",$,e.toDisplayString(e.unref(a).noFragments),1)),e.createElementVNode("div",W,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).fragmentName),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[3]||(n[3]=t=>e.isRef(d)?d.value=t:null),disabled:l.disabled||!e.unref(r)},null,8,K),[[e.vModelText,e.unref(d)]])]),e.createElementVNode("button",{type:"button",disabled:l.disabled||!e.unref(r)||!e.unref(d).trim(),onClick:n[4]||(n[4]=(...t)=>e.unref(V)&&e.unref(V)(...t))},e.toDisplayString(e.unref(a).capture),9,Q)])]),e.createElementVNode("section",null,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(a).styles),1),e.createElementVNode("p",X,e.toDisplayString(e.unref(a).noStyles),1),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).role),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":n[5]||(n[5]=t=>e.isRef(g)?g.value=t:null)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),t=>(e.openBlock(),e.createElementBlock("option",{key:t.id,value:t.id},e.toDisplayString(t.name),9,Y))),128))],512),[[e.vModelSelect,e.unref(g)]])]),e.createElementVNode("div",{class:"mr-reuse-swatch",style:e.normalizeStyle({color:e.unref(u).style.color,backgroundColor:e.unref(u).style.backgroundColor,fontSize:`${e.unref(u).style.fontSize??10}pt`,fontWeight:e.unref(u).style.bold?600:400,textAlign:e.unref(u).style.align})},e.toDisplayString(e.unref(u).name)+" · Aa 0123 ",5),e.unref(r)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",Z,e.toDisplayString(e.unref(a).select),1)),e.createElementVNode("div",ee,[e.createElementVNode("button",{type:"button",class:"mr-reuse-primary",disabled:l.disabled||!e.unref(r),onClick:n[6]||(n[6]=t=>e.unref(B)())},e.toDisplayString(e.unref(a).apply),9,te),e.createElementVNode("button",{type:"button",disabled:!e.unref(r),onClick:n[7]||(n[7]=(...t)=>e.unref(D)&&e.unref(D)(...t))},e.toDisplayString(e.unref(a).copy),9,ne),e.createElementVNode("button",{type:"button",disabled:l.disabled||!e.unref(r)||!e.unref(E),onClick:n[8]||(n[8]=t=>e.unref(B)({id:"clipboard",name:e.unref(a).paste,style:e.unref(E)}))},e.toDisplayString(e.unref(a).paste),9,le)])])])],8,F))}}),oe=C._export_sfc(ae,[["__scopeId","data-v-45be4c24"]]);exports.default=oe;