@spiffcommerce/core 25.0.1 → 25.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +13 -6
- package/dist/index.js +44 -30
- package/dist/index.mjs +344 -321
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -16,7 +16,7 @@ import { toString as WA } from "qrcode";
|
|
|
16
16
|
import { split as We } from "unicode-default-word-boundary";
|
|
17
17
|
import oA from "svg-path-bbox";
|
|
18
18
|
import yA from "lodash.chunk";
|
|
19
|
-
var Ce = /* @__PURE__ */ ((n) => (n.Data = "Data", n.Font = "Font", n.Frame = "Frame", n.Illustration = "Illustration", n.Image = "Image", n.Model = "Model", n.Material = "Material", n.Color = "Color", n.QuestionnaireCollateral = "QuestionnaireCollateral", n.RequestCollateral = "RequestCollateral", n.SignupCollateral = "SignupCollateral", n.Video = "Video", n.ColorProfile = "ColorProfile", n.Environment = "Environment", n))(Ce || {}), st = /* @__PURE__ */ ((n) => (n.FileUpload = "FileUpload", n.Option = "Option", n.ColorOption = "ColorOption", n.Text = "Text", n))(st || {}), M = /* @__PURE__ */ ((n) => (n.Information = "Information", n.Bulk = "Bulk", n.DigitalContent = "DigitalContent", n.Finish = "Finish", n.Frame = "Frame", n.Illustration = "Illustration", n.Introduction = "Introduction", n.Material = "Material", n.Model = "Model", n.Module = "Module", n.Picture = "Picture", n.Photo = "Photo", n.ProductOverlay = "ProductOverlay", n.Question = "Question", n.Shape = "Shape", n.SilentIllustration = "SilentIllustration", n.Text = "Text", n))(M || {}), rn = /* @__PURE__ */ ((n) => (n.Color = "Color", n.Colors = "Colors", n.Selection = "Selection", n.Selections = "Selections", n.Text = "Text", n.Upload = "Upload", n))(rn || {}), Ot = /* @__PURE__ */ ((n) => (n.ThreeD = "ThreeD", n.FreeDesign = "FreeDesign", n.Print = "Print", n))(Ot || {}),
|
|
19
|
+
var Ce = /* @__PURE__ */ ((n) => (n.Data = "Data", n.Font = "Font", n.Frame = "Frame", n.Illustration = "Illustration", n.Image = "Image", n.Model = "Model", n.Material = "Material", n.Color = "Color", n.QuestionnaireCollateral = "QuestionnaireCollateral", n.RequestCollateral = "RequestCollateral", n.SignupCollateral = "SignupCollateral", n.Video = "Video", n.ColorProfile = "ColorProfile", n.Environment = "Environment", n))(Ce || {}), st = /* @__PURE__ */ ((n) => (n.FileUpload = "FileUpload", n.Option = "Option", n.ColorOption = "ColorOption", n.Text = "Text", n))(st || {}), M = /* @__PURE__ */ ((n) => (n.Information = "Information", n.Bulk = "Bulk", n.DigitalContent = "DigitalContent", n.Finish = "Finish", n.Frame = "Frame", n.Illustration = "Illustration", n.Introduction = "Introduction", n.Material = "Material", n.Model = "Model", n.Module = "Module", n.Picture = "Picture", n.Photo = "Photo", n.ProductOverlay = "ProductOverlay", n.Question = "Question", n.Shape = "Shape", n.SilentIllustration = "SilentIllustration", n.Text = "Text", n))(M || {}), rn = /* @__PURE__ */ ((n) => (n.Color = "Color", n.Colors = "Colors", n.Selection = "Selection", n.Selections = "Selections", n.Text = "Text", n.Upload = "Upload", n))(rn || {}), Ot = /* @__PURE__ */ ((n) => (n.ThreeD = "ThreeD", n.FreeDesign = "FreeDesign", n.Print = "Print", n))(Ot || {}), k = /* @__PURE__ */ ((n) => (n.Frame = "frame", n.Group = "group", n.Image = "image", n.Pattern = "pattern", n.Illustration = "illustration", n.Textbox = "textbox", n))(k || {}), cn = /* @__PURE__ */ ((n) => (n.Hyperlink = "Hyperlink", n.Edit = "Edit", n.Approve = "Approve", n))(cn || {}), ln = /* @__PURE__ */ ((n) => (n.Hub = "Hub", n.Shopify = "Shopify", n))(ln || {}), rA = /* @__PURE__ */ ((n) => (n.BackgroundRemover = "BackgroundRemover", n.ConversionAccelerator = "Conversion Accelerator", n.ProcessBuilder = "ProcessBuilder", n))(rA || {}), gn = /* @__PURE__ */ ((n) => (n[n.Orbit = 0] = "Orbit", n[n.Pan = 1] = "Pan", n))(gn || {}), dn = /* @__PURE__ */ ((n) => (n.Manual = "Manual", n.OnStart = "OnStart", n.OnQuit = "OnQuit", n.OnEnd = "OnEnd", n))(dn || {}), Bn = /* @__PURE__ */ ((n) => (n.Email = "Email", n.FirstName = "FirstName", n.LastName = "LastName", n.Phone = "Phone", n))(Bn || {}), we = /* @__PURE__ */ ((n) => (n.Owner = "Owner", n.Approver = "Approver", n.Editor = "Editor", n.Viewer = "Viewer", n))(we || {}), Yt = /* @__PURE__ */ ((n) => (n.Autosize = "Autosize", n.Traditional = "Traditional", n))(Yt || {}), W = /* @__PURE__ */ ((n) => (n[n.North = 0] = "North", n[n.Northeast = 1] = "Northeast", n[n.East = 2] = "East", n[n.Southeast = 3] = "Southeast", n[n.South = 4] = "South", n[n.Southwest = 5] = "Southwest", n[n.West = 6] = "West", n[n.Northwest = 7] = "Northwest", n))(W || {}), hn = /* @__PURE__ */ ((n) => (n.Pixel = "px", n.Millimeter = "mm", n.Centimeter = "cm", n))(hn || {});
|
|
20
20
|
class XA extends Error {
|
|
21
21
|
constructor(t) {
|
|
22
22
|
super(t), this.name = this.constructor.name;
|
|
@@ -212,7 +212,7 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
|
|
|
212
212
|
t ? En(n).then(e).catch(A) : rt(n).then((a) => {
|
|
213
213
|
a.text().then(e).catch(A);
|
|
214
214
|
}).catch(A);
|
|
215
|
-
}), $A = (n) => An(n), Ne = /* @__PURE__ */ new Map(),
|
|
215
|
+
}), $A = (n) => An(n), Ne = /* @__PURE__ */ new Map(), fn = async (n, t) => {
|
|
216
216
|
if (Wt([typeof FontFace])) {
|
|
217
217
|
if (Ne.has(t))
|
|
218
218
|
return Ne.get(t);
|
|
@@ -256,14 +256,14 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
|
|
|
256
256
|
}, ur = async (n) => {
|
|
257
257
|
const t = await ZA(n), e = qA.get(n) || Xt(t);
|
|
258
258
|
return await In(new Blob([t], { type: e }));
|
|
259
|
-
},
|
|
259
|
+
}, Qn = (n) => {
|
|
260
260
|
let t = "";
|
|
261
261
|
const e = n.byteLength;
|
|
262
262
|
for (let A = 0; A < e; A++)
|
|
263
263
|
t += String.fromCharCode(n[A]);
|
|
264
264
|
return t;
|
|
265
265
|
}, pn = async (n) => {
|
|
266
|
-
const t = Xt(n), e = new Uint8Array(n), A =
|
|
266
|
+
const t = Xt(n), e = new Uint8Array(n), A = Qn(e), a = btoa(A);
|
|
267
267
|
return `data:${t};base64,${a}`;
|
|
268
268
|
}, _A = (n) => `data:image/svg+xml;base64,${btoa(n)}`, ta = (n) => {
|
|
269
269
|
const t = n.replace(/\r?\n/g, ""), e = t.indexOf(",");
|
|
@@ -328,8 +328,8 @@ class xn {
|
|
|
328
328
|
const E = window.__SENTRY__.hub;
|
|
329
329
|
if (E) {
|
|
330
330
|
const m = E.traceHeaders();
|
|
331
|
-
Object.entries(m).forEach(([
|
|
332
|
-
c[
|
|
331
|
+
Object.entries(m).forEach(([Q, f]) => {
|
|
332
|
+
c[Q] = f;
|
|
333
333
|
});
|
|
334
334
|
}
|
|
335
335
|
}
|
|
@@ -437,9 +437,9 @@ function na(n) {
|
|
|
437
437
|
throw t;
|
|
438
438
|
}
|
|
439
439
|
}
|
|
440
|
-
let
|
|
440
|
+
let ke;
|
|
441
441
|
function lA() {
|
|
442
|
-
return
|
|
442
|
+
return ke === void 0 && (ke = DOMParser), ke;
|
|
443
443
|
}
|
|
444
444
|
let Ae = null;
|
|
445
445
|
const Yn = (n) => new Promise((t) => {
|
|
@@ -499,7 +499,7 @@ const Yn = (n) => new Promise((t) => {
|
|
|
499
499
|
height: t.height,
|
|
500
500
|
width: t.width
|
|
501
501
|
};
|
|
502
|
-
},
|
|
502
|
+
}, kn = F`
|
|
503
503
|
fragment AssetMetadataFields on Asset {
|
|
504
504
|
metadata {
|
|
505
505
|
key
|
|
@@ -507,7 +507,7 @@ const Yn = (n) => new Promise((t) => {
|
|
|
507
507
|
}
|
|
508
508
|
}
|
|
509
509
|
`, Zt = (n) => F`
|
|
510
|
-
${n &&
|
|
510
|
+
${n && kn || ""}
|
|
511
511
|
fragment AssetFields on Asset {
|
|
512
512
|
name
|
|
513
513
|
key
|
|
@@ -521,7 +521,7 @@ const Yn = (n) => new Promise((t) => {
|
|
|
521
521
|
}
|
|
522
522
|
${n && "...AssetMetadataFields" || ""}
|
|
523
523
|
}
|
|
524
|
-
`,
|
|
524
|
+
`, Rn = F`
|
|
525
525
|
${Zt(!1)}
|
|
526
526
|
query GetAssets($keys: [String]!) {
|
|
527
527
|
assets(keys: $keys) {
|
|
@@ -604,7 +604,7 @@ const Yn = (n) => new Promise((t) => {
|
|
|
604
604
|
}
|
|
605
605
|
}
|
|
606
606
|
`, _e = async (n) => (await P.getShadowGraphqlClient().query({
|
|
607
|
-
query:
|
|
607
|
+
query: Rn,
|
|
608
608
|
errorPolicy: "all",
|
|
609
609
|
fetchPolicy: "no-cache",
|
|
610
610
|
variables: {
|
|
@@ -1842,7 +1842,7 @@ const $t = (n) => {
|
|
|
1842
1842
|
if (n.defaultVariant !== void 0)
|
|
1843
1843
|
return t.find((e) => e.id === n.defaultVariant);
|
|
1844
1844
|
}
|
|
1845
|
-
}, ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(),
|
|
1845
|
+
}, ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), Re = /* @__PURE__ */ new Map(), ha = async (n, t) => {
|
|
1846
1846
|
if (!t) {
|
|
1847
1847
|
if (!n)
|
|
1848
1848
|
throw new Error("No region or src supplied. Cannot construct frame!");
|
|
@@ -1866,8 +1866,8 @@ const $t = (n) => {
|
|
|
1866
1866
|
throw new Error(`No asset for variant with ID: ${n.frameVariantId}`);
|
|
1867
1867
|
return e;
|
|
1868
1868
|
}, Ye = async (n) => {
|
|
1869
|
-
if (
|
|
1870
|
-
return
|
|
1869
|
+
if (Re.has(n))
|
|
1870
|
+
return Re.get(n);
|
|
1871
1871
|
const e = (async () => {
|
|
1872
1872
|
if (Ut.has(n))
|
|
1873
1873
|
return Ut.get(n);
|
|
@@ -1903,7 +1903,7 @@ const $t = (n) => {
|
|
|
1903
1903
|
}
|
|
1904
1904
|
throw new Error("Malformed frame SVG");
|
|
1905
1905
|
})();
|
|
1906
|
-
return
|
|
1906
|
+
return Re.set(n, e), e;
|
|
1907
1907
|
}, dA = (n, t, e, A) => {
|
|
1908
1908
|
const a = t.width / t.height, i = n.width / n.height;
|
|
1909
1909
|
let s;
|
|
@@ -1951,11 +1951,11 @@ const $t = (n) => {
|
|
|
1951
1951
|
}, Ca = async (n) => {
|
|
1952
1952
|
const t = await tt(n);
|
|
1953
1953
|
return wa(t);
|
|
1954
|
-
},
|
|
1954
|
+
}, kA = (n) => n.endsWith("mm") ? Number(n.replace("mm", "")) * 3.7795275591 : n.endsWith("px") ? Number(n.replace("px", "")) : Number(n), wa = (n) => {
|
|
1955
1955
|
const A = Bt().parseFromString(n, "image/svg+xml").querySelector("svg");
|
|
1956
1956
|
if (!A)
|
|
1957
1957
|
throw new Error("No svg tag found, this svg must be malformed!");
|
|
1958
|
-
const a = A.getAttribute("viewBox"), i = A.getAttribute("width"), s = A.getAttribute("height"), o = s && i ? [0, 0,
|
|
1958
|
+
const a = A.getAttribute("viewBox"), i = A.getAttribute("width"), s = A.getAttribute("height"), o = s && i ? [0, 0, kA(i), kA(s)] : a == null ? void 0 : a.split(" ").map((r) => Number(r));
|
|
1959
1959
|
if (!o)
|
|
1960
1960
|
throw new Error("No viewbox or width/height values detected on SVG file!");
|
|
1961
1961
|
return {
|
|
@@ -4678,22 +4678,22 @@ function mr(n, t = 64) {
|
|
|
4678
4678
|
return e.sort((g, d) => g.distance - d.distance);
|
|
4679
4679
|
}
|
|
4680
4680
|
const li = jt.map((n, t) => ({ pms: n, hex: St[t] })), gi = new on(li, { keys: ["pms"] });
|
|
4681
|
-
function
|
|
4681
|
+
function fr(n, t) {
|
|
4682
4682
|
return gi.search(n, t ? { limit: t } : void 0);
|
|
4683
4683
|
}
|
|
4684
|
-
let
|
|
4684
|
+
let kt = null;
|
|
4685
4685
|
function di(n) {
|
|
4686
4686
|
if (n.startsWith("#"))
|
|
4687
|
-
return
|
|
4687
|
+
return RA(n);
|
|
4688
4688
|
if (!document)
|
|
4689
4689
|
throw new Error("browserColorToHex is only supported on browsers");
|
|
4690
|
-
if (
|
|
4690
|
+
if (kt || (kt = document.createElement("canvas").getContext("2d")), !kt)
|
|
4691
4691
|
throw new Error("Failed to create canvas context required to convert colors");
|
|
4692
|
-
|
|
4693
|
-
const t =
|
|
4692
|
+
kt.fillStyle = n;
|
|
4693
|
+
const t = RA(kt.fillStyle);
|
|
4694
4694
|
return t || console.error(`Unknown browser color ${n}`), t;
|
|
4695
4695
|
}
|
|
4696
|
-
function
|
|
4696
|
+
function RA(n) {
|
|
4697
4697
|
const t = n.substring(1).toUpperCase();
|
|
4698
4698
|
return t.length === 6 ? t : t.length === 3 ? `${t[0]}${t[0]}${t[1]}${t[1]}${t[2]}${t[2]}` : "";
|
|
4699
4699
|
}
|
|
@@ -4824,16 +4824,16 @@ const ne = (n) => {
|
|
|
4824
4824
|
}
|
|
4825
4825
|
});
|
|
4826
4826
|
});
|
|
4827
|
-
},
|
|
4827
|
+
}, fa = (n) => Se().serializeToString(n), hA = (n, t, e, A, a) => {
|
|
4828
4828
|
const i = Ea(n);
|
|
4829
4829
|
if (!i)
|
|
4830
4830
|
throw new Error("Failed to read SVG.");
|
|
4831
|
-
return wi(i, t, e), ma(i, A, a),
|
|
4832
|
-
},
|
|
4831
|
+
return wi(i, t, e), ma(i, A, a), fa(i);
|
|
4832
|
+
}, Qa = (n, t, e) => {
|
|
4833
4833
|
const A = Ea(n);
|
|
4834
4834
|
if (!A)
|
|
4835
4835
|
throw new Error("Failed to read SVG.");
|
|
4836
|
-
return ma(A, t, e),
|
|
4836
|
+
return ma(A, t, e), fa(A);
|
|
4837
4837
|
}, ui = (n) => {
|
|
4838
4838
|
const t = /<svg.*<\/svg>/s, e = n.match(t) || [], A = (e == null ? void 0 : e.length) > 0 ? e[0] : "";
|
|
4839
4839
|
return Bt().parseFromString(A, "image/svg+xml");
|
|
@@ -4861,7 +4861,7 @@ const ne = (n) => {
|
|
|
4861
4861
|
colors: A,
|
|
4862
4862
|
svg: i
|
|
4863
4863
|
};
|
|
4864
|
-
},
|
|
4864
|
+
}, R = () => {
|
|
4865
4865
|
const n = () => Math.floor((1 + Math.random()) * 65536).toString(16).substring(1);
|
|
4866
4866
|
return n() + n() + "-" + n() + "-" + n() + "-" + n() + "-" + n() + n() + n();
|
|
4867
4867
|
}, Ei = ({
|
|
@@ -4880,14 +4880,14 @@ const ne = (n) => {
|
|
|
4880
4880
|
width: d
|
|
4881
4881
|
}) => {
|
|
4882
4882
|
var p;
|
|
4883
|
-
const B = e || 0, h = 2 * ((r == null ? void 0 : r.scale) || 1), C = g || { x: 0, y: 0, width: d, height: i }, w = `${C.x} ${C.y} ${C.width} ${C.height}`, u =
|
|
4883
|
+
const B = e || 0, h = 2 * ((r == null ? void 0 : r.scale) || 1), C = g || { x: 0, y: 0, width: d, height: i }, w = `${C.x} ${C.y} ${C.width} ${C.height}`, u = R(), E = A.purpose === Ot.FreeDesign && /* @__PURE__ */ v("defs", { children: /* @__PURE__ */ v("clipPath", { id: "viewboxClip", children: /* @__PURE__ */ v("rect", { width: C.width, height: C.height, rx: B }) }) }), m = (p = A.colorProfiles) == null ? void 0 : p.map((I, D) => (
|
|
4884
4884
|
/* @ts-ignore */
|
|
4885
4885
|
/* @__PURE__ */ v("color-profile", { name: I.name, xlinkHref: I.key, children: " " }, D)
|
|
4886
|
-
)),
|
|
4886
|
+
)), Q = a.map((I) => ({
|
|
4887
4887
|
...I,
|
|
4888
4888
|
_renderingConfiguration: A,
|
|
4889
4889
|
mask: r ? `url(#viewmask-${u})` : void 0
|
|
4890
|
-
})),
|
|
4890
|
+
})), f = EA(Q);
|
|
4891
4891
|
return /* @__PURE__ */ ot(
|
|
4892
4892
|
"svg",
|
|
4893
4893
|
{
|
|
@@ -4924,7 +4924,7 @@ const ne = (n) => {
|
|
|
4924
4924
|
{
|
|
4925
4925
|
id: "element-group",
|
|
4926
4926
|
clipPath: A.purpose === Ot.FreeDesign ? "url(#viewboxClip)" : void 0,
|
|
4927
|
-
children:
|
|
4927
|
+
children: f.map((I) => Ma(I)).filter((I) => !!I)
|
|
4928
4928
|
}
|
|
4929
4929
|
),
|
|
4930
4930
|
r && /* @__PURE__ */ v(
|
|
@@ -4965,13 +4965,13 @@ const ne = (n) => {
|
|
|
4965
4965
|
]
|
|
4966
4966
|
}
|
|
4967
4967
|
);
|
|
4968
|
-
},
|
|
4969
|
-
const i = dt(a), s = e / 2, o = A / 2, r = n + s, c = t + o, l = Math.sin(i), g = Math.cos(i), d = s, B = s, h = -o, C = o, w = d * g - h * l, u = B * g - C * l, E = d * l + h * g, m = B * l + C * g,
|
|
4968
|
+
}, Qr = (n, t, e, A, a) => {
|
|
4969
|
+
const i = dt(a), s = e / 2, o = A / 2, r = n + s, c = t + o, l = Math.sin(i), g = Math.cos(i), d = s, B = s, h = -o, C = o, w = d * g - h * l, u = B * g - C * l, E = d * l + h * g, m = B * l + C * g, Q = Math.max(Math.abs(w), Math.abs(u)), f = Math.max(Math.abs(E), Math.abs(m));
|
|
4970
4970
|
return {
|
|
4971
|
-
minX: r -
|
|
4972
|
-
maxX: r +
|
|
4973
|
-
minY: c -
|
|
4974
|
-
maxY: c +
|
|
4971
|
+
minX: r - Q,
|
|
4972
|
+
maxX: r + Q,
|
|
4973
|
+
minY: c - f,
|
|
4974
|
+
maxY: c + f
|
|
4975
4975
|
};
|
|
4976
4976
|
}, pr = (n, t, e) => {
|
|
4977
4977
|
const A = Math.sqrt(Math.pow(t.x - n.x, 2) + Math.pow(t.y - n.y, 2)), a = Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)), i = Math.sqrt(Math.pow(e.x - n.x, 2) + Math.pow(e.y - n.y, 2));
|
|
@@ -5102,7 +5102,7 @@ const ne = (n) => {
|
|
|
5102
5102
|
if (!n.pattern)
|
|
5103
5103
|
return "";
|
|
5104
5104
|
if (n.pattern.svg) {
|
|
5105
|
-
const g =
|
|
5105
|
+
const g = Qa(n.pattern.svg, n.pattern.colors || {}, !1);
|
|
5106
5106
|
return _A(g);
|
|
5107
5107
|
}
|
|
5108
5108
|
return n.pattern.src;
|
|
@@ -5129,11 +5129,11 @@ const ne = (n) => {
|
|
|
5129
5129
|
/* @__PURE__ */ v("feFuncB", { type: "discrete", tableValues: a() })
|
|
5130
5130
|
] })
|
|
5131
5131
|
] }) }) }), s = n.rotation || 0, o = dt(s), r = Math.cos(o), c = -Math.sin(o), l = () => {
|
|
5132
|
-
var m,
|
|
5133
|
-
const g = ((m = n.pattern) == null ? void 0 : m.x) || 0, d = ((
|
|
5132
|
+
var m, Q, f, p, I, D, y, x, N, S;
|
|
5133
|
+
const g = ((m = n.pattern) == null ? void 0 : m.x) || 0, d = ((Q = n.pattern) == null ? void 0 : Q.y) || 0, B = ((f = n.pattern) == null ? void 0 : f.width) || 0, h = ((p = n.pattern) == null ? void 0 : p.height) || 0, C = ((I = n.pattern) == null ? void 0 : I.scaleX) || 1, w = ((D = n.pattern) == null ? void 0 : D.scaleY) || 1, u = ((y = n.pattern) == null ? void 0 : y.rotation) || 0;
|
|
5134
5134
|
return [(x = n.pattern) != null && x.svg ? {
|
|
5135
5135
|
id: `${t}-contents`,
|
|
5136
|
-
type:
|
|
5136
|
+
type: k.Illustration,
|
|
5137
5137
|
x: g,
|
|
5138
5138
|
y: d,
|
|
5139
5139
|
rotation: u,
|
|
@@ -5144,7 +5144,7 @@ const ne = (n) => {
|
|
|
5144
5144
|
colors: (S = n.pattern) == null ? void 0 : S.colors
|
|
5145
5145
|
} : {
|
|
5146
5146
|
id: `${t}-contents`,
|
|
5147
|
-
type:
|
|
5147
|
+
type: k.Image,
|
|
5148
5148
|
x: g,
|
|
5149
5149
|
y: d,
|
|
5150
5150
|
rotation: u,
|
|
@@ -5190,7 +5190,7 @@ const ne = (n) => {
|
|
|
5190
5190
|
)
|
|
5191
5191
|
] });
|
|
5192
5192
|
}, Da = /* @__PURE__ */ new Map();
|
|
5193
|
-
class
|
|
5193
|
+
class fi {
|
|
5194
5194
|
constructor(t) {
|
|
5195
5195
|
this.font = t, this.glyphsFromText = /* @__PURE__ */ new Map(), this.kerningValues = /* @__PURE__ */ new Map(), this.height = this.calculateApproximateHeight();
|
|
5196
5196
|
}
|
|
@@ -5240,19 +5240,19 @@ class Qi {
|
|
|
5240
5240
|
}), A - a;
|
|
5241
5241
|
}
|
|
5242
5242
|
}
|
|
5243
|
-
const
|
|
5243
|
+
const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @__PURE__ */ new Map(), _t = async (n) => {
|
|
5244
5244
|
if (be.has(n))
|
|
5245
5245
|
return be.get(n);
|
|
5246
5246
|
const e = (async () => {
|
|
5247
5247
|
try {
|
|
5248
|
-
return
|
|
5248
|
+
return ft(n).getFont();
|
|
5249
5249
|
} catch {
|
|
5250
|
-
if (
|
|
5250
|
+
if (Qi(n)) {
|
|
5251
5251
|
const A = ta(n), a = Ve.parse(A);
|
|
5252
5252
|
return AA(n, a), a;
|
|
5253
5253
|
} else {
|
|
5254
5254
|
const A = await Me(n, !0), a = Ve.parse(A);
|
|
5255
|
-
return AA(n, a), await
|
|
5255
|
+
return AA(n, a), await fn(a, n), a;
|
|
5256
5256
|
}
|
|
5257
5257
|
}
|
|
5258
5258
|
})();
|
|
@@ -5260,13 +5260,13 @@ const fi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5260
5260
|
}, CA = (n) => {
|
|
5261
5261
|
const t = ta(n), e = Ve.parse(t);
|
|
5262
5262
|
return AA(n, e), e;
|
|
5263
|
-
},
|
|
5263
|
+
}, ft = (n) => {
|
|
5264
5264
|
const t = Da.get(n);
|
|
5265
5265
|
if (t)
|
|
5266
5266
|
return t;
|
|
5267
5267
|
throw new Error("Font metrics unavailable for font");
|
|
5268
5268
|
}, AA = (n, t) => {
|
|
5269
|
-
const e = new
|
|
5269
|
+
const e = new fi(t);
|
|
5270
5270
|
return Da.set(n, e), e;
|
|
5271
5271
|
}, me = (n, t, e, A) => Math.max(Fi(n.join(`
|
|
5272
5272
|
`), e, A), t), bA = (n, t, e, A, a, i) => {
|
|
@@ -5325,7 +5325,7 @@ const fi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5325
5325
|
return Math.min(g, l);
|
|
5326
5326
|
}, Ii = (n, t, e, A) => {
|
|
5327
5327
|
var c;
|
|
5328
|
-
const a =
|
|
5328
|
+
const a = ft(t.fontData.assetUrl), i = a.getFont(), s = t.fontSize / i.unitsPerEm;
|
|
5329
5329
|
if (!e)
|
|
5330
5330
|
return bA(t, n, t.fontSize, s, a, A);
|
|
5331
5331
|
let o;
|
|
@@ -5346,9 +5346,9 @@ const fi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5346
5346
|
fontSize: pi(o, a, i, t.width, t.height, A)
|
|
5347
5347
|
} : bA(t, n, t.fontSize, s, a, A);
|
|
5348
5348
|
}, Di = (n, t, e, A, a) => {
|
|
5349
|
-
const s =
|
|
5349
|
+
const s = ft(t.assetUrl).getFont();
|
|
5350
5350
|
let o = { ...n };
|
|
5351
|
-
const r = { ...n }, c = Fa(A, e / s.unitsPerEm,
|
|
5351
|
+
const r = { ...n }, c = Fa(A, e / s.unitsPerEm, ft(t.assetUrl));
|
|
5352
5352
|
return c && c < o.width && (r.width = c, a === "left" ? (r.left += Math.sin(o.rotation * Math.PI / 360) * (o.width - c), r.top += Math.sin(o.rotation * Math.PI / 180) * (c - o.width) / 2) : a === "right" ? r.left += o.width - c : r.left += (o.width - c) / 2, A && yi(A, A).every(([l, g]) => l === g) && (o = r)), o;
|
|
5353
5353
|
}, Ue = 1, ct = (n, t, e) => {
|
|
5354
5354
|
let A = 0;
|
|
@@ -5377,7 +5377,7 @@ const fi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5377
5377
|
stripControlCharacters: !0,
|
|
5378
5378
|
vertical: !1,
|
|
5379
5379
|
uppercase: !1
|
|
5380
|
-
},
|
|
5380
|
+
}, fe = (n, t = UA) => {
|
|
5381
5381
|
const e = { ...UA, ...t };
|
|
5382
5382
|
let A = n || "";
|
|
5383
5383
|
return e.stripControlCharacters && (A = A.replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, "")), e.uppercase && (A = A.toUpperCase()), e.vertical && (A = A.split("").join(`
|
|
@@ -5552,7 +5552,7 @@ const fi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5552
5552
|
};
|
|
5553
5553
|
class vi {
|
|
5554
5554
|
constructor() {
|
|
5555
|
-
this.id =
|
|
5555
|
+
this.id = R(), this.stateCallbacks = [], this.prevCommands = [], this.nextCommands = [];
|
|
5556
5556
|
}
|
|
5557
5557
|
registerStateCallback(t) {
|
|
5558
5558
|
this.stateCallbacks.push(t);
|
|
@@ -5650,7 +5650,7 @@ class vi {
|
|
|
5650
5650
|
}
|
|
5651
5651
|
}
|
|
5652
5652
|
}
|
|
5653
|
-
const Ma = (n) => n.type ===
|
|
5653
|
+
const Ma = (n) => n.type === k.Image ? /* @__PURE__ */ v(pa, { ...n }, n.id) : n.type === k.Frame ? /* @__PURE__ */ v(mi, { ...n }, n.id) : n.type === k.Illustration ? /* @__PURE__ */ v(Pi, { ...n }, n.id) : n.type === k.Textbox ? /* @__PURE__ */ v(Si, { ...n }, n.id) : n.type === k.Group ? /* @__PURE__ */ v(Ia, { ...n }, n.id) : null, uA = (n, t, e) => {
|
|
5654
5654
|
const A = e.renderingConfiguration, a = A != null && A.removeExcludedElements ? t.filter((i) => !i.excludeFromExport) : t;
|
|
5655
5655
|
return /* @__PURE__ */ v(
|
|
5656
5656
|
Ei,
|
|
@@ -5707,7 +5707,7 @@ const L = (n, t) => Z(n, t).elements.find((a) => a.id === n), Z = (n, t) => {
|
|
|
5707
5707
|
return {
|
|
5708
5708
|
layout: t.layout,
|
|
5709
5709
|
elements: A,
|
|
5710
|
-
modificationID:
|
|
5710
|
+
modificationID: R()
|
|
5711
5711
|
};
|
|
5712
5712
|
}, Dt = async (n, t) => {
|
|
5713
5713
|
const e = [
|
|
@@ -5786,7 +5786,7 @@ class Nr extends T {
|
|
|
5786
5786
|
};
|
|
5787
5787
|
}
|
|
5788
5788
|
}
|
|
5789
|
-
class
|
|
5789
|
+
class kr extends T {
|
|
5790
5790
|
constructor(t, e) {
|
|
5791
5791
|
super(), this.id = t, this.angle = e;
|
|
5792
5792
|
}
|
|
@@ -5808,7 +5808,7 @@ class Rr extends T {
|
|
|
5808
5808
|
};
|
|
5809
5809
|
}
|
|
5810
5810
|
}
|
|
5811
|
-
class
|
|
5811
|
+
class Rr extends T {
|
|
5812
5812
|
constructor(t, e, A) {
|
|
5813
5813
|
super(), this.id = t, this.width = Math.abs(e), this.height = Math.abs(A);
|
|
5814
5814
|
}
|
|
@@ -5859,7 +5859,7 @@ class Sa extends T {
|
|
|
5859
5859
|
[this.layout.id]: {
|
|
5860
5860
|
elements: [],
|
|
5861
5861
|
layout: { ...this.layout },
|
|
5862
|
-
modificationID:
|
|
5862
|
+
modificationID: R()
|
|
5863
5863
|
}
|
|
5864
5864
|
}
|
|
5865
5865
|
};
|
|
@@ -5890,7 +5890,7 @@ class V extends T {
|
|
|
5890
5890
|
[this.layout.id]: {
|
|
5891
5891
|
...t.layouts[this.layout.id],
|
|
5892
5892
|
elements: o,
|
|
5893
|
-
modificationID:
|
|
5893
|
+
modificationID: R()
|
|
5894
5894
|
}
|
|
5895
5895
|
}
|
|
5896
5896
|
};
|
|
@@ -5911,7 +5911,7 @@ class V extends T {
|
|
|
5911
5911
|
[this.layout.id]: {
|
|
5912
5912
|
...t.layouts[this.layout.id],
|
|
5913
5913
|
elements: s,
|
|
5914
|
-
modificationID:
|
|
5914
|
+
modificationID: R()
|
|
5915
5915
|
}
|
|
5916
5916
|
}
|
|
5917
5917
|
};
|
|
@@ -5925,7 +5925,7 @@ class V extends T {
|
|
|
5925
5925
|
return A !== void 0 ? A + 1 : 0;
|
|
5926
5926
|
}
|
|
5927
5927
|
}
|
|
5928
|
-
class
|
|
5928
|
+
class Qt extends T {
|
|
5929
5929
|
constructor(t) {
|
|
5930
5930
|
super(), this.id = t;
|
|
5931
5931
|
}
|
|
@@ -5935,7 +5935,7 @@ class ft extends T {
|
|
|
5935
5935
|
const A = Object.values(t.layouts).map((i) => (i.elements.filter((o) => o.id !== this.id).length !== i.elements.length && (e = !0), {
|
|
5936
5936
|
...i,
|
|
5937
5937
|
elements: i.elements.filter((o) => o.id !== this.id),
|
|
5938
|
-
modificationID:
|
|
5938
|
+
modificationID: R()
|
|
5939
5939
|
}));
|
|
5940
5940
|
e || console.log(`Failed to delete element ${this.id}`);
|
|
5941
5941
|
const a = {};
|
|
@@ -5993,7 +5993,7 @@ class Ge extends T {
|
|
|
5993
5993
|
};
|
|
5994
5994
|
}
|
|
5995
5995
|
}
|
|
5996
|
-
class
|
|
5996
|
+
class ki extends T {
|
|
5997
5997
|
constructor(t, e) {
|
|
5998
5998
|
super(), this.id = t, this.size = e;
|
|
5999
5999
|
}
|
|
@@ -6037,7 +6037,7 @@ class JA extends T {
|
|
|
6037
6037
|
};
|
|
6038
6038
|
}
|
|
6039
6039
|
}
|
|
6040
|
-
class
|
|
6040
|
+
class Ri extends T {
|
|
6041
6041
|
constructor(t, e) {
|
|
6042
6042
|
super(), this.id = t, this.align = e;
|
|
6043
6043
|
}
|
|
@@ -6084,7 +6084,7 @@ class Hi extends T {
|
|
|
6084
6084
|
const s = {
|
|
6085
6085
|
...e,
|
|
6086
6086
|
elements: i,
|
|
6087
|
-
modificationID:
|
|
6087
|
+
modificationID: R()
|
|
6088
6088
|
};
|
|
6089
6089
|
return {
|
|
6090
6090
|
...t,
|
|
@@ -6234,7 +6234,7 @@ class br extends T {
|
|
|
6234
6234
|
[A.layout.id]: {
|
|
6235
6235
|
...t.layouts[A.layout.id],
|
|
6236
6236
|
elements: i,
|
|
6237
|
-
modificationID:
|
|
6237
|
+
modificationID: R()
|
|
6238
6238
|
}
|
|
6239
6239
|
}
|
|
6240
6240
|
};
|
|
@@ -6265,7 +6265,7 @@ class Ur extends T {
|
|
|
6265
6265
|
[A.layout.id]: {
|
|
6266
6266
|
...t.layouts[A.layout.id],
|
|
6267
6267
|
elements: i,
|
|
6268
|
-
modificationID:
|
|
6268
|
+
modificationID: R()
|
|
6269
6269
|
}
|
|
6270
6270
|
}
|
|
6271
6271
|
};
|
|
@@ -6292,7 +6292,7 @@ class Gr extends T {
|
|
|
6292
6292
|
[A.layout.id]: {
|
|
6293
6293
|
...t.layouts[A.layout.id],
|
|
6294
6294
|
elements: s,
|
|
6295
|
-
modificationID:
|
|
6295
|
+
modificationID: R()
|
|
6296
6296
|
}
|
|
6297
6297
|
}
|
|
6298
6298
|
};
|
|
@@ -6319,7 +6319,7 @@ class Jr extends T {
|
|
|
6319
6319
|
[A.layout.id]: {
|
|
6320
6320
|
...t.layouts[A.layout.id],
|
|
6321
6321
|
elements: s,
|
|
6322
|
-
modificationID:
|
|
6322
|
+
modificationID: R()
|
|
6323
6323
|
}
|
|
6324
6324
|
}
|
|
6325
6325
|
};
|
|
@@ -6414,7 +6414,7 @@ class Ti {
|
|
|
6414
6414
|
getImageSrc() {
|
|
6415
6415
|
if (this.imageData) {
|
|
6416
6416
|
if (this.imageData.svg) {
|
|
6417
|
-
const t =
|
|
6417
|
+
const t = Qa(this.imageData.svg, this.imageData.colors || {}, !1);
|
|
6418
6418
|
return _A(t);
|
|
6419
6419
|
}
|
|
6420
6420
|
return this.imageData.src;
|
|
@@ -6561,7 +6561,7 @@ class Ti {
|
|
|
6561
6561
|
}), this._debouncedUpdateFrameOffsets(this.offsets, t, this.frameData, this.thresholdSettings));
|
|
6562
6562
|
}
|
|
6563
6563
|
}
|
|
6564
|
-
const
|
|
6564
|
+
const Rt = (n, t) => {
|
|
6565
6565
|
const e = n.layoutState.elements.filter((a) => a.layer === t), A = Math.max(...e.map((a) => a.layerIndex).filter((a) => a !== void 0));
|
|
6566
6566
|
return Math.max(A, 0) + 1;
|
|
6567
6567
|
}, xa = async (n) => new Promise((t) => {
|
|
@@ -6617,42 +6617,42 @@ const kt = (n, t) => {
|
|
|
6617
6617
|
rotation: 0,
|
|
6618
6618
|
panelId: n.layoutState.layout.panelId
|
|
6619
6619
|
};
|
|
6620
|
-
if (e && t ===
|
|
6620
|
+
if (e && t === k.Illustration) {
|
|
6621
6621
|
const r = await gt(await xa(e)), d = Bt().parseFromString(r.svg, "image/svg+xml").firstElementChild.getAttribute("viewBox");
|
|
6622
6622
|
if (!d)
|
|
6623
6623
|
throw new Error("SVG missing viewBox.");
|
|
6624
6624
|
const B = o.height, h = d.split(" "), C = parseFloat(h[2]) || 1, w = parseFloat(h[3]) || 1, u = C / w;
|
|
6625
6625
|
o.height = o.width / u, o.top += (B - o.height) / 2;
|
|
6626
6626
|
}
|
|
6627
|
-
if (e && t ===
|
|
6627
|
+
if (e && t === k.Image) {
|
|
6628
6628
|
const r = o.height, c = await Me(e), l = await xe(c), g = l.width / l.height;
|
|
6629
6629
|
o.height = o.width / g, o.top += (r - o.height) / 2;
|
|
6630
6630
|
}
|
|
6631
|
-
if (e && t ===
|
|
6631
|
+
if (e && t === k.Textbox && (A != null && A.text) && (A != null && A.fontScale)) {
|
|
6632
6632
|
await _t(e);
|
|
6633
|
-
const r =
|
|
6633
|
+
const r = ft(e), c = ct(A.text, A == null ? void 0 : A.fontScale, r);
|
|
6634
6634
|
o.width = Math.min(c, a.width * 0.85), o.left = a.x + a.width / 2 - o.width / 2;
|
|
6635
6635
|
}
|
|
6636
6636
|
return o;
|
|
6637
6637
|
};
|
|
6638
6638
|
class Tr {
|
|
6639
6639
|
static async getFrame(t, e) {
|
|
6640
|
-
const A = await ha(e.region, e.src), a = await Ye(A), i = e.region || await Ht(t,
|
|
6640
|
+
const A = await ha(e.region, e.src), a = await Ye(A), i = e.region || await Ht(t, k.Frame);
|
|
6641
6641
|
return {
|
|
6642
|
-
id:
|
|
6642
|
+
id: R(),
|
|
6643
6643
|
x: i.left,
|
|
6644
6644
|
y: i.top,
|
|
6645
6645
|
width: i.width,
|
|
6646
6646
|
height: i.height,
|
|
6647
6647
|
layer: i.layer || 0,
|
|
6648
|
-
layerIndex: i.layerIndex ||
|
|
6648
|
+
layerIndex: i.layerIndex || Rt(t, i.layer || 0),
|
|
6649
6649
|
rotation: i.rotation,
|
|
6650
6650
|
scaleX: i.width / a.width,
|
|
6651
6651
|
scaleY: i.height / a.height,
|
|
6652
6652
|
path: a.path,
|
|
6653
6653
|
dataWidth: a.width,
|
|
6654
6654
|
dataHeight: a.height,
|
|
6655
|
-
type:
|
|
6655
|
+
type: k.Frame,
|
|
6656
6656
|
disablePlaceholder: e.configuration.disablePlaceholder,
|
|
6657
6657
|
focalBlur: e.configuration.focalBlur,
|
|
6658
6658
|
focalBlurStrength: e.configuration.focalBlurStrength,
|
|
@@ -6663,18 +6663,18 @@ class Tr {
|
|
|
6663
6663
|
};
|
|
6664
6664
|
}
|
|
6665
6665
|
static async getImage(t, e) {
|
|
6666
|
-
const A = e.region || await Ht(t,
|
|
6666
|
+
const A = e.region || await Ht(t, k.Image, e.src);
|
|
6667
6667
|
return {
|
|
6668
|
-
id:
|
|
6668
|
+
id: R(),
|
|
6669
6669
|
src: e.src,
|
|
6670
|
-
type:
|
|
6670
|
+
type: k.Image,
|
|
6671
6671
|
y: A.top,
|
|
6672
6672
|
x: A.left,
|
|
6673
6673
|
rotation: A.rotation,
|
|
6674
6674
|
width: A.width,
|
|
6675
6675
|
height: A.height,
|
|
6676
6676
|
layer: A.layer || 0,
|
|
6677
|
-
layerIndex: A.layerIndex ||
|
|
6677
|
+
layerIndex: A.layerIndex || Rt(t, A.layer || 0),
|
|
6678
6678
|
immutable: A.immutable,
|
|
6679
6679
|
preserveAspectRatio: "none"
|
|
6680
6680
|
};
|
|
@@ -6684,16 +6684,16 @@ class Tr {
|
|
|
6684
6684
|
const { configuration: A, fontSrc: a, designInputStep: i } = e, s = await _t(a), o = {
|
|
6685
6685
|
assetUrl: a,
|
|
6686
6686
|
name: s.names.fullName.en
|
|
6687
|
-
}, r = (i == null ? void 0 : i.text) || A.defaultText || "", c = A.replaceableText ? A.replaceableText.replace("{{}}", r) : r, l =
|
|
6687
|
+
}, r = (i == null ? void 0 : i.text) || A.defaultText || "", c = A.replaceableText ? A.replaceableText.replace("{{}}", r) : r, l = fe(c, {
|
|
6688
6688
|
vertical: A.vertical,
|
|
6689
6689
|
uppercase: A.uppercase
|
|
6690
|
-
}), g = e.region || await Ht(t,
|
|
6690
|
+
}), g = e.region || await Ht(t, k.Textbox, a, {
|
|
6691
6691
|
text: l,
|
|
6692
6692
|
fontScale: A.size ? A.size / s.unitsPerEm : void 0
|
|
6693
6693
|
}), d = te(
|
|
6694
6694
|
{
|
|
6695
|
-
id:
|
|
6696
|
-
type:
|
|
6695
|
+
id: R(),
|
|
6696
|
+
type: k.Textbox,
|
|
6697
6697
|
x: g.left,
|
|
6698
6698
|
y: g.top,
|
|
6699
6699
|
width: g.width,
|
|
@@ -6703,7 +6703,7 @@ class Tr {
|
|
|
6703
6703
|
fill: (i == null ? void 0 : i.color) || A.colour || "#000000",
|
|
6704
6704
|
fontData: o,
|
|
6705
6705
|
layer: g.layer || 0,
|
|
6706
|
-
layerIndex: g.layerIndex ||
|
|
6706
|
+
layerIndex: g.layerIndex || Rt(t, g.layer || 0),
|
|
6707
6707
|
paths: A.paths,
|
|
6708
6708
|
rotation: g.rotation,
|
|
6709
6709
|
vertical: A.vertical,
|
|
@@ -6753,25 +6753,25 @@ class Tr {
|
|
|
6753
6753
|
</svg>
|
|
6754
6754
|
`, a = {};
|
|
6755
6755
|
a["spiff-fill-shape"] = { browserValue: e.color };
|
|
6756
|
-
const i = e.region || await Ht(t,
|
|
6756
|
+
const i = e.region || await Ht(t, k.Illustration), s = R();
|
|
6757
6757
|
return {
|
|
6758
6758
|
stepRegion: e.region,
|
|
6759
6759
|
colors: a,
|
|
6760
6760
|
id: s,
|
|
6761
6761
|
svg: A,
|
|
6762
|
-
type:
|
|
6762
|
+
type: k.Illustration,
|
|
6763
6763
|
y: i.top,
|
|
6764
6764
|
x: i.left,
|
|
6765
6765
|
rotation: i.rotation,
|
|
6766
6766
|
width: i.width,
|
|
6767
6767
|
height: i.height,
|
|
6768
6768
|
layer: i.layer || 0,
|
|
6769
|
-
layerIndex: i.layerIndex ||
|
|
6769
|
+
layerIndex: i.layerIndex || Rt(t, i.layer || 0),
|
|
6770
6770
|
immutable: i.immutable
|
|
6771
6771
|
};
|
|
6772
6772
|
}
|
|
6773
6773
|
static async getIllustration(t, e) {
|
|
6774
|
-
const A = e.region || await Ht(t,
|
|
6774
|
+
const A = e.region || await Ht(t, k.Illustration, e.src), a = await gt(await xa(e.src)), i = await Kt(a.svg), s = R();
|
|
6775
6775
|
return {
|
|
6776
6776
|
cachedObjectURL: i,
|
|
6777
6777
|
stepRegion: e.region,
|
|
@@ -6779,14 +6779,14 @@ class Tr {
|
|
|
6779
6779
|
id: s,
|
|
6780
6780
|
src: e.src,
|
|
6781
6781
|
svg: a.svg,
|
|
6782
|
-
type:
|
|
6782
|
+
type: k.Illustration,
|
|
6783
6783
|
y: A.top,
|
|
6784
6784
|
x: A.left,
|
|
6785
6785
|
rotation: A.rotation,
|
|
6786
6786
|
width: A.width,
|
|
6787
6787
|
height: A.height,
|
|
6788
6788
|
layer: A.layer || 0,
|
|
6789
|
-
layerIndex: A.layerIndex ||
|
|
6789
|
+
layerIndex: A.layerIndex || Rt(t, A.layer || 0),
|
|
6790
6790
|
immutable: A.immutable
|
|
6791
6791
|
};
|
|
6792
6792
|
}
|
|
@@ -6805,13 +6805,13 @@ class TA {
|
|
|
6805
6805
|
throw new Ee(this.configuration, "Couldn't find an asset for product overlay step");
|
|
6806
6806
|
}
|
|
6807
6807
|
const o = this.evaluateAssetType();
|
|
6808
|
-
if (o ===
|
|
6808
|
+
if (o === k.Image) {
|
|
6809
6809
|
const d = this.configuration.type === M.SilentIllustration ? (c = this.configuration.data.asset) == null ? void 0 : c.fileLink : (l = this.product) == null ? void 0 : l.overlayImageUrl;
|
|
6810
6810
|
if (!d)
|
|
6811
6811
|
throw new Error("Undefined raster silent step source");
|
|
6812
6812
|
const B = {
|
|
6813
6813
|
stepName: this.configuration.stepName,
|
|
6814
|
-
id:
|
|
6814
|
+
id: R(),
|
|
6815
6815
|
src: d,
|
|
6816
6816
|
type: o,
|
|
6817
6817
|
y: a.top,
|
|
@@ -6844,7 +6844,7 @@ class TA {
|
|
|
6844
6844
|
}).catch((E) => console.error(E));
|
|
6845
6845
|
}))()), C = {
|
|
6846
6846
|
stepName: this.configuration.stepName,
|
|
6847
|
-
id:
|
|
6847
|
+
id: R(),
|
|
6848
6848
|
cachedObjectURL: await Kt(h.svg),
|
|
6849
6849
|
src: d,
|
|
6850
6850
|
svg: h.svg,
|
|
@@ -6889,7 +6889,7 @@ class TA {
|
|
|
6889
6889
|
evaluateAssetType() {
|
|
6890
6890
|
var e, A, a;
|
|
6891
6891
|
const t = this.configuration.type === M.ProductOverlay && ((e = this.product) != null && e.overlayImageUrl) ? this.product.overlayImageUrl.toLowerCase() : (a = (A = this.configuration.data.asset) == null ? void 0 : A.fileLink) == null ? void 0 : a.toLowerCase().split("?")[0];
|
|
6892
|
-
return t != null && t.startsWith("data:image/png") || t != null && t.endsWith(".jpeg") || t != null && t.endsWith(".jpg") || t != null && t.endsWith(".png") ?
|
|
6892
|
+
return t != null && t.startsWith("data:image/png") || t != null && t.endsWith(".jpeg") || t != null && t.endsWith(".jpg") || t != null && t.endsWith(".png") ? k.Image : (t != null && t.endsWith(".svg") || t != null && t.startsWith("image/svg+xml"), k.Illustration);
|
|
6893
6893
|
}
|
|
6894
6894
|
}
|
|
6895
6895
|
const Oi = async (n) => {
|
|
@@ -6971,7 +6971,7 @@ class Li {
|
|
|
6971
6971
|
40
|
|
6972
6972
|
);
|
|
6973
6973
|
});
|
|
6974
|
-
t.forEach((B) => A.getCommandDispatcher()(new
|
|
6974
|
+
t.forEach((B) => A.getCommandDispatcher()(new Qt(B.id)));
|
|
6975
6975
|
const o = a.data.baseUrl.slice(0, 4) === "http" ? "" : "https://", r = new URL(o + a.data.baseUrl);
|
|
6976
6976
|
r.searchParams.append("video", btoa(JSON.stringify([s]))), r.pathname = r.pathname + (r.pathname.slice(-1) === "/" ? "" : "/");
|
|
6977
6977
|
const c = r.toString();
|
|
@@ -6989,7 +6989,7 @@ class Li {
|
|
|
6989
6989
|
}), l;
|
|
6990
6990
|
}
|
|
6991
6991
|
async regionElements(t) {
|
|
6992
|
-
const e = (A) => ({ id:
|
|
6992
|
+
const e = (A) => ({ id: R(), region: A });
|
|
6993
6993
|
return t.data.regions.map(e);
|
|
6994
6994
|
}
|
|
6995
6995
|
async command(t, e, A, a) {
|
|
@@ -7007,7 +7007,7 @@ class Li {
|
|
|
7007
7007
|
stepName: a,
|
|
7008
7008
|
id: c.id,
|
|
7009
7009
|
src: o,
|
|
7010
|
-
type:
|
|
7010
|
+
type: k.Image,
|
|
7011
7011
|
y: l.top,
|
|
7012
7012
|
x: l.left,
|
|
7013
7013
|
width: l.width,
|
|
@@ -7174,7 +7174,7 @@ class zi {
|
|
|
7174
7174
|
return new V(
|
|
7175
7175
|
{
|
|
7176
7176
|
id: t,
|
|
7177
|
-
type:
|
|
7177
|
+
type: k.Frame,
|
|
7178
7178
|
x: e.left,
|
|
7179
7179
|
y: e.top,
|
|
7180
7180
|
width: e.width,
|
|
@@ -7310,13 +7310,13 @@ class zi {
|
|
|
7310
7310
|
i && i(!0);
|
|
7311
7311
|
const c = t.data.initialZoomLevel, l = await Promise.all(
|
|
7312
7312
|
t.data.regions.map(async (h, C) => {
|
|
7313
|
-
const w = await Ye(r[C]), u = o.getImageData(), E = A.map((D) => new
|
|
7313
|
+
const w = await Ye(r[C]), u = o.getImageData(), E = A.map((D) => new Qt(D.id)), m = u ? dA(
|
|
7314
7314
|
u,
|
|
7315
7315
|
w,
|
|
7316
7316
|
c && !t.data.forceImageCover ? { scale: c } : void 0,
|
|
7317
7317
|
t.data.forceImageCover
|
|
7318
|
-
) : void 0,
|
|
7319
|
-
id:
|
|
7318
|
+
) : void 0, Q = u ? {
|
|
7319
|
+
id: R(),
|
|
7320
7320
|
src: u.src,
|
|
7321
7321
|
x: (m == null ? void 0 : m.x) || 0,
|
|
7322
7322
|
y: (m == null ? void 0 : m.y) || 0,
|
|
@@ -7325,18 +7325,18 @@ class zi {
|
|
|
7325
7325
|
scaleX: (m == null ? void 0 : m.zoom) || 1,
|
|
7326
7326
|
scaleY: (m == null ? void 0 : m.zoom) || 1,
|
|
7327
7327
|
rotation: 0
|
|
7328
|
-
} : void 0,
|
|
7328
|
+
} : void 0, f = R(), I = a.getLayouts().find((D) => D.panelId === h.panelId);
|
|
7329
7329
|
if (!I)
|
|
7330
7330
|
throw new X(h);
|
|
7331
7331
|
return {
|
|
7332
|
-
command: this.getCreateElementCommand(
|
|
7332
|
+
command: this.getCreateElementCommand(f, h, I, {
|
|
7333
7333
|
frameData: w,
|
|
7334
|
-
pattern:
|
|
7334
|
+
pattern: Q,
|
|
7335
7335
|
disablePlaceholder: t.data.disablePlaceholder,
|
|
7336
7336
|
stepName: t.stepName
|
|
7337
7337
|
}),
|
|
7338
7338
|
regionEl: {
|
|
7339
|
-
id:
|
|
7339
|
+
id: f,
|
|
7340
7340
|
region: h
|
|
7341
7341
|
},
|
|
7342
7342
|
removeExistingCommands: E
|
|
@@ -7426,7 +7426,7 @@ class ji {
|
|
|
7426
7426
|
src: a.src,
|
|
7427
7427
|
svg: a.svg.svg,
|
|
7428
7428
|
cachedObjectURL: a.objectURL,
|
|
7429
|
-
type:
|
|
7429
|
+
type: k.Illustration,
|
|
7430
7430
|
y: e.top,
|
|
7431
7431
|
x: e.left,
|
|
7432
7432
|
rotation: e.rotation,
|
|
@@ -7564,7 +7564,7 @@ class ji {
|
|
|
7564
7564
|
if (!t.data || !t.data.regions)
|
|
7565
7565
|
throw new Ee(t, "Missing regions.");
|
|
7566
7566
|
a(!0);
|
|
7567
|
-
const s = A.map((E) => new
|
|
7567
|
+
const s = A.map((E) => new Qt(E.id));
|
|
7568
7568
|
t.mandatory && i.setMandatoryFulfilled(t.stepName, !1);
|
|
7569
7569
|
const o = e.asset;
|
|
7570
7570
|
if (!o)
|
|
@@ -7573,13 +7573,13 @@ class ji {
|
|
|
7573
7573
|
if (!r)
|
|
7574
7574
|
throw new Lt(o);
|
|
7575
7575
|
const c = await gt(await this.getIllustrationBody(r)), l = await Kt(c.svg), g = (E) => {
|
|
7576
|
-
const m = i.getLayouts().find((
|
|
7576
|
+
const m = i.getLayouts().find((f) => f.panelId === E.panelId);
|
|
7577
7577
|
if (!m)
|
|
7578
7578
|
throw new X(E);
|
|
7579
|
-
const
|
|
7579
|
+
const Q = R();
|
|
7580
7580
|
return {
|
|
7581
|
-
regionElement: { id:
|
|
7582
|
-
command: this.getCreateElementCommand(
|
|
7581
|
+
regionElement: { id: Q, region: E },
|
|
7582
|
+
command: this.getCreateElementCommand(Q, E, m, {
|
|
7583
7583
|
stepName: t.stepName,
|
|
7584
7584
|
src: r,
|
|
7585
7585
|
objectURL: l,
|
|
@@ -7591,8 +7591,8 @@ class ji {
|
|
|
7591
7591
|
const w = t.data.colorOption;
|
|
7592
7592
|
return w && ((u = w.variants) == null || u.forEach((E) => {
|
|
7593
7593
|
C = C.map((m) => {
|
|
7594
|
-
var
|
|
7595
|
-
return m.toLowerCase() === ((
|
|
7594
|
+
var Q;
|
|
7595
|
+
return m.toLowerCase() === ((Q = E.color) == null ? void 0 : Q.toLowerCase()) ? E.name : m;
|
|
7596
7596
|
});
|
|
7597
7597
|
})), i.updateMetadata(t.stepName, { colors: C }), {
|
|
7598
7598
|
command: new G(h),
|
|
@@ -7600,25 +7600,25 @@ class ji {
|
|
|
7600
7600
|
await i.setSelectionsAndElements(
|
|
7601
7601
|
t.stepName,
|
|
7602
7602
|
[e],
|
|
7603
|
-
d.map((
|
|
7603
|
+
d.map((Q) => Q.regionElement),
|
|
7604
7604
|
async () => {
|
|
7605
7605
|
i.setMandatoryFulfilled(t.stepName, !0), a(!1);
|
|
7606
7606
|
}
|
|
7607
7607
|
);
|
|
7608
7608
|
const E = await this.availableColors(t, i) || [], m = Object.keys(c.colors);
|
|
7609
7609
|
if (t.data.colorPickerEnabled && E.length === 1 && m.length === 1) {
|
|
7610
|
-
const
|
|
7610
|
+
const Q = E[0], f = m[0];
|
|
7611
7611
|
await this.changeColors(
|
|
7612
7612
|
t,
|
|
7613
7613
|
d.map((p) => p.regionElement),
|
|
7614
7614
|
i,
|
|
7615
7615
|
() => i.getCommandContext().getAllLayouts(),
|
|
7616
|
-
/* @__PURE__ */ new Map([[
|
|
7616
|
+
/* @__PURE__ */ new Map([[f, Q.variant.color]])
|
|
7617
7617
|
);
|
|
7618
7618
|
} else
|
|
7619
7619
|
t.data.colorPickerEnabled && await this.changeColors(
|
|
7620
7620
|
t,
|
|
7621
|
-
d.map((
|
|
7621
|
+
d.map((Q) => Q.regionElement),
|
|
7622
7622
|
i,
|
|
7623
7623
|
() => i.getCommandContext().getAllLayouts(),
|
|
7624
7624
|
/* @__PURE__ */ new Map()
|
|
@@ -7827,11 +7827,11 @@ class Wi {
|
|
|
7827
7827
|
return console.error("Missing configuration."), null;
|
|
7828
7828
|
A.updateStorage(t.stepName, { text: e }), A.updateMetadata(t.stepName, { text: e });
|
|
7829
7829
|
const c = (g, d, B) => {
|
|
7830
|
-
const h = B ||
|
|
7830
|
+
const h = B || R(), w = A.getLayouts().find((E) => E.panelId === d.panelId);
|
|
7831
7831
|
if (!w)
|
|
7832
7832
|
return console.error(`Can not find layout for region: ${d.panelId}`), null;
|
|
7833
7833
|
const u = [];
|
|
7834
|
-
return B && u.push(new
|
|
7834
|
+
return B && u.push(new Qt(h)), u.push(
|
|
7835
7835
|
new V(
|
|
7836
7836
|
{
|
|
7837
7837
|
stepRegion: d,
|
|
@@ -7839,7 +7839,7 @@ class Wi {
|
|
|
7839
7839
|
colors: {},
|
|
7840
7840
|
id: h,
|
|
7841
7841
|
svg: g,
|
|
7842
|
-
type:
|
|
7842
|
+
type: k.Illustration,
|
|
7843
7843
|
y: d.top,
|
|
7844
7844
|
x: d.left,
|
|
7845
7845
|
rotation: d.rotation,
|
|
@@ -7904,7 +7904,7 @@ class Wi {
|
|
|
7904
7904
|
return a(""), !0;
|
|
7905
7905
|
}
|
|
7906
7906
|
}
|
|
7907
|
-
const
|
|
7907
|
+
const ka = new Wi();
|
|
7908
7908
|
class Xi {
|
|
7909
7909
|
async init(t, e, A) {
|
|
7910
7910
|
const a = t.option;
|
|
@@ -7953,11 +7953,11 @@ class Xi {
|
|
|
7953
7953
|
if (!s)
|
|
7954
7954
|
return console.error("No URL for picture!"), null;
|
|
7955
7955
|
a(!0), t.mandatory && A.setMandatoryFulfilled(t.stepName, !1);
|
|
7956
|
-
const r = A.getRegionElements(t.stepName).map((g) => new
|
|
7956
|
+
const r = A.getRegionElements(t.stepName).map((g) => new Qt(g.id)), c = (g) => {
|
|
7957
7957
|
const B = A.getLayouts().find((C) => C.panelId === g.panelId);
|
|
7958
7958
|
if (!B)
|
|
7959
7959
|
throw new X(g);
|
|
7960
|
-
const h =
|
|
7960
|
+
const h = R();
|
|
7961
7961
|
return {
|
|
7962
7962
|
regionElement: { id: h, region: g },
|
|
7963
7963
|
command: new V(
|
|
@@ -7966,7 +7966,7 @@ class Xi {
|
|
|
7966
7966
|
stepRegion: g,
|
|
7967
7967
|
id: h,
|
|
7968
7968
|
src: s,
|
|
7969
|
-
type:
|
|
7969
|
+
type: k.Image,
|
|
7970
7970
|
y: g.top,
|
|
7971
7971
|
x: g.left,
|
|
7972
7972
|
rotation: g.rotation,
|
|
@@ -7996,7 +7996,7 @@ class Xi {
|
|
|
7996
7996
|
};
|
|
7997
7997
|
}
|
|
7998
7998
|
}
|
|
7999
|
-
const
|
|
7999
|
+
const Ra = new Xi();
|
|
8000
8000
|
class qi {
|
|
8001
8001
|
async init(t, e, A) {
|
|
8002
8002
|
const a = t.option;
|
|
@@ -8186,7 +8186,7 @@ class Zi {
|
|
|
8186
8186
|
</svg>
|
|
8187
8187
|
`, u = {};
|
|
8188
8188
|
u[this.shapeFillId] = { browserValue: C };
|
|
8189
|
-
const E =
|
|
8189
|
+
const E = R();
|
|
8190
8190
|
return {
|
|
8191
8191
|
id: E,
|
|
8192
8192
|
region: B,
|
|
@@ -8197,7 +8197,7 @@ class Zi {
|
|
|
8197
8197
|
colors: u,
|
|
8198
8198
|
id: E,
|
|
8199
8199
|
svg: w,
|
|
8200
|
-
type:
|
|
8200
|
+
type: k.Illustration,
|
|
8201
8201
|
y: B.top,
|
|
8202
8202
|
x: B.left,
|
|
8203
8203
|
rotation: B.rotation,
|
|
@@ -8283,7 +8283,7 @@ const _i = new $i(), Te = (n, t, e, A, a) => {
|
|
|
8283
8283
|
return [null, null];
|
|
8284
8284
|
}, he = (n, t, e, A, a) => {
|
|
8285
8285
|
let i, s;
|
|
8286
|
-
const o =
|
|
8286
|
+
const o = ft(t.assetUrl), r = o.getFont();
|
|
8287
8287
|
if (a.size) {
|
|
8288
8288
|
const d = n / r.unitsPerEm;
|
|
8289
8289
|
return [i, s] = Te(e, A, n, d, o), [a.size, i, s];
|
|
@@ -8299,9 +8299,9 @@ const _i = new $i(), Te = (n, t, e, A, a) => {
|
|
|
8299
8299
|
const g = l / r.unitsPerEm;
|
|
8300
8300
|
return [i, s] = Te(e, A, l, g, o), [l, i, s];
|
|
8301
8301
|
}, Oe = 30;
|
|
8302
|
-
class
|
|
8302
|
+
class Qe extends Error {
|
|
8303
8303
|
constructor(t) {
|
|
8304
|
-
super(t), Object.setPrototypeOf(this, new.target.prototype), this.name =
|
|
8304
|
+
super(t), Object.setPrototypeOf(this, new.target.prototype), this.name = Qe.name;
|
|
8305
8305
|
}
|
|
8306
8306
|
}
|
|
8307
8307
|
const ts = ["‘", "’", "“", "”", `
|
|
@@ -8318,7 +8318,7 @@ class es {
|
|
|
8318
8318
|
/(\r\n|\r|(\u2665|\u00a9|\u00ae|[\u2000-\u2017]|[\u201E-\u3300]]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]))/gm,
|
|
8319
8319
|
""
|
|
8320
8320
|
);
|
|
8321
|
-
const a = [], i = e ?
|
|
8321
|
+
const a = [], i = e ? ft(e.assetUrl) : void 0;
|
|
8322
8322
|
if (i) {
|
|
8323
8323
|
const s = A.split("").filter((r) => !ts.includes(r)).join(""), o = s.split("").map((r) => i.getFont().charToGlyph(r));
|
|
8324
8324
|
for (let r = 0; r < o.length; r++)
|
|
@@ -8413,7 +8413,7 @@ class es {
|
|
|
8413
8413
|
return;
|
|
8414
8414
|
const i = a.getCommandDispatcher();
|
|
8415
8415
|
for (const s of A) {
|
|
8416
|
-
const o = new
|
|
8416
|
+
const o = new Ri(s.id, e);
|
|
8417
8417
|
i(o);
|
|
8418
8418
|
}
|
|
8419
8419
|
}
|
|
@@ -8477,7 +8477,7 @@ class es {
|
|
|
8477
8477
|
}
|
|
8478
8478
|
getProcessedInput(t, e, A) {
|
|
8479
8479
|
const a = A ? t : this.injectReplaceableText(t, e);
|
|
8480
|
-
return
|
|
8480
|
+
return fe(a, {
|
|
8481
8481
|
vertical: e.vertical,
|
|
8482
8482
|
uppercase: e.uppercase
|
|
8483
8483
|
});
|
|
@@ -8553,8 +8553,8 @@ class es {
|
|
|
8553
8553
|
C,
|
|
8554
8554
|
async () => {
|
|
8555
8555
|
e.updateMetadata(t.stepName, { color: w, text: u }), e.updateStorage(t.stepName, { text: u, inputText: u });
|
|
8556
|
-
const m = o.map((
|
|
8557
|
-
e.getCommandDispatcher()(
|
|
8556
|
+
const m = o.map((f) => new JA(f.id, h)), Q = new G(m);
|
|
8557
|
+
e.getCommandDispatcher()(Q);
|
|
8558
8558
|
}
|
|
8559
8559
|
);
|
|
8560
8560
|
const { command: E } = $.updateInputText(
|
|
@@ -8670,7 +8670,7 @@ class es {
|
|
|
8670
8670
|
throw new Error("Step data not supplied");
|
|
8671
8671
|
const o = i.text || A.defaultText || "", r = this.getProcessedInput(o, A, !1), c = async (g) => {
|
|
8672
8672
|
var C;
|
|
8673
|
-
const B = s.getLayouts().find((w) => w.panelId === g.panelId), h =
|
|
8673
|
+
const B = s.getLayouts().find((w) => w.panelId === g.panelId), h = R();
|
|
8674
8674
|
try {
|
|
8675
8675
|
if (!B)
|
|
8676
8676
|
throw new pe("Failed to find layout for region: " + g.panelId);
|
|
@@ -8685,7 +8685,7 @@ class es {
|
|
|
8685
8685
|
colorProfileAssetKey: (C = w.colorProfile) == null ? void 0 : C.key
|
|
8686
8686
|
});
|
|
8687
8687
|
}
|
|
8688
|
-
const E = await this.getDefaultColor(A), m = E || "#000000",
|
|
8688
|
+
const E = await this.getDefaultColor(A), m = E || "#000000", Q = {
|
|
8689
8689
|
stepRegion: g,
|
|
8690
8690
|
stepName: t,
|
|
8691
8691
|
align: this.textAlign(A),
|
|
@@ -8698,7 +8698,7 @@ class es {
|
|
|
8698
8698
|
rotation: g.rotation,
|
|
8699
8699
|
text: r,
|
|
8700
8700
|
input: o,
|
|
8701
|
-
type:
|
|
8701
|
+
type: k.Textbox,
|
|
8702
8702
|
vertical: A.vertical,
|
|
8703
8703
|
x: g.left,
|
|
8704
8704
|
y: g.top,
|
|
@@ -8709,41 +8709,41 @@ class es {
|
|
|
8709
8709
|
curved: A.curved,
|
|
8710
8710
|
paths: A.paths,
|
|
8711
8711
|
fillSpotColorDefinition: u
|
|
8712
|
-
},
|
|
8713
|
-
if (!
|
|
8712
|
+
}, f = [], p = /* @__PURE__ */ new Map(), I = /* @__PURE__ */ new Map();
|
|
8713
|
+
if (!Q.fontData)
|
|
8714
8714
|
throw new O("Failed to resolve font data for text.");
|
|
8715
8715
|
const [D, y] = he(
|
|
8716
|
-
|
|
8717
|
-
|
|
8716
|
+
Q.fontSize,
|
|
8717
|
+
Q.fontData,
|
|
8718
8718
|
{
|
|
8719
|
-
left:
|
|
8720
|
-
top:
|
|
8721
|
-
width:
|
|
8722
|
-
height:
|
|
8723
|
-
rotation:
|
|
8719
|
+
left: Q.x,
|
|
8720
|
+
top: Q.y,
|
|
8721
|
+
width: Q.width,
|
|
8722
|
+
height: Q.height,
|
|
8723
|
+
rotation: Q.rotation,
|
|
8724
8724
|
panelId: ""
|
|
8725
8725
|
},
|
|
8726
8726
|
[r],
|
|
8727
8727
|
{ size: A.size, minSize: A.minSize, maxSize: A.maxSize }
|
|
8728
8728
|
);
|
|
8729
|
-
p.set(
|
|
8729
|
+
p.set(Q.id, D), I.set(Q.id, y);
|
|
8730
8730
|
const x = A.curved || A.vertical ? r : (y || []).join(`
|
|
8731
8731
|
`);
|
|
8732
|
-
|
|
8733
|
-
this.generateTextChangeCommandsForRegion(D, A,
|
|
8732
|
+
f.push(
|
|
8733
|
+
this.generateTextChangeCommandsForRegion(D, A, Q.id, x)
|
|
8734
8734
|
);
|
|
8735
|
-
const N = new V(
|
|
8735
|
+
const N = new V(Q, B);
|
|
8736
8736
|
return {
|
|
8737
8737
|
regionElement: { id: h, region: g },
|
|
8738
|
-
commands: [N, ...
|
|
8739
|
-
newElement:
|
|
8738
|
+
commands: [N, ...f],
|
|
8739
|
+
newElement: Q,
|
|
8740
8740
|
fontData: a
|
|
8741
8741
|
};
|
|
8742
8742
|
} catch (w) {
|
|
8743
|
-
throw console.log(w), new
|
|
8743
|
+
throw console.log(w), new Qe("Error adding font to region");
|
|
8744
8744
|
}
|
|
8745
8745
|
}, l = await Promise.all(A.regions.map(c)).catch((g) => {
|
|
8746
|
-
throw g instanceof
|
|
8746
|
+
throw g instanceof Qe ? (_i.setLatestToast("Failed to load font.", Pe.Error), g) : g instanceof pe ? g : new Error(g);
|
|
8747
8747
|
});
|
|
8748
8748
|
return await s.setSelectionsAndElements(
|
|
8749
8749
|
t,
|
|
@@ -8761,7 +8761,7 @@ class es {
|
|
|
8761
8761
|
generateTextChangeCommandsForRegion(t, e, A, a) {
|
|
8762
8762
|
const i = [], s = new Ui(A, a);
|
|
8763
8763
|
if (i.push(s), !e.size) {
|
|
8764
|
-
const r = new
|
|
8764
|
+
const r = new ki(A, t);
|
|
8765
8765
|
i.push(r);
|
|
8766
8766
|
}
|
|
8767
8767
|
return new G(i);
|
|
@@ -8771,24 +8771,24 @@ class es {
|
|
|
8771
8771
|
*/
|
|
8772
8772
|
async changeInputTextWithRegion(t, e, A, a, i, s, o, r, c, l) {
|
|
8773
8773
|
const g = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), d = this.getProcessedInput(g, t.data, o), B = s.getRegionElements(t.stepName), h = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Map();
|
|
8774
|
-
for (const
|
|
8775
|
-
if (
|
|
8776
|
-
const [
|
|
8774
|
+
for (const Q of B)
|
|
8775
|
+
if (Q.region) {
|
|
8776
|
+
const [f, p] = he(
|
|
8777
8777
|
e,
|
|
8778
8778
|
A,
|
|
8779
|
-
|
|
8779
|
+
Q.region,
|
|
8780
8780
|
[d],
|
|
8781
8781
|
{ size: t.data.size, minSize: t.data.minSize, maxSize: t.data.maxSize }
|
|
8782
8782
|
);
|
|
8783
|
-
h.set(
|
|
8783
|
+
h.set(Q.id, f), C.set(Q.id, p);
|
|
8784
8784
|
}
|
|
8785
8785
|
const u = (() => {
|
|
8786
8786
|
if (t.data && t.data.maxLength && d.length > t.data.maxLength)
|
|
8787
8787
|
return l && l(!0), { info: "0" };
|
|
8788
|
-
const
|
|
8789
|
-
for (const p of
|
|
8790
|
-
for (const I in
|
|
8791
|
-
const D =
|
|
8788
|
+
const Q = s.getProfanities(), f = We(d.toLowerCase());
|
|
8789
|
+
for (const p of f)
|
|
8790
|
+
for (const I in Q) {
|
|
8791
|
+
const D = Q[I].toLowerCase().replace(/\s/g, "");
|
|
8792
8792
|
if (p === D)
|
|
8793
8793
|
return r(!0), { error: "Blocked profanity." };
|
|
8794
8794
|
}
|
|
@@ -8805,15 +8805,15 @@ class es {
|
|
|
8805
8805
|
text: this.injectReplaceableText(g, t.data)
|
|
8806
8806
|
}), (i.defaultCleared || !t.data.deleteDefaultOnFocus) && s.setMandatoryFulfilled(t.stepName, !0);
|
|
8807
8807
|
const E = [];
|
|
8808
|
-
for (const
|
|
8809
|
-
const
|
|
8808
|
+
for (const Q of B) {
|
|
8809
|
+
const f = t.data.curved ? d : (C.get(Q.id) || []).join(`
|
|
8810
8810
|
`);
|
|
8811
8811
|
E.push(
|
|
8812
8812
|
this.generateTextChangeCommandsForRegion(
|
|
8813
|
-
h.get(
|
|
8813
|
+
h.get(Q.id) || 1,
|
|
8814
8814
|
t.data,
|
|
8815
|
-
|
|
8816
|
-
|
|
8815
|
+
Q.id,
|
|
8816
|
+
f
|
|
8817
8817
|
)
|
|
8818
8818
|
);
|
|
8819
8819
|
}
|
|
@@ -10084,7 +10084,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
|
|
|
10084
10084
|
</g>
|
|
10085
10085
|
</svg>
|
|
10086
10086
|
|
|
10087
|
-
`, H = (n) => mn("http://www.w3.org/2000/svg", n),
|
|
10087
|
+
`, H = (n) => mn("http://www.w3.org/2000/svg", n), fA = (n, t) => {
|
|
10088
10088
|
const e = H("rect");
|
|
10089
10089
|
return e.setAttribute("height", `${n}`), e.setAttribute("width", `${t}`), e;
|
|
10090
10090
|
}, ns = () => {
|
|
@@ -10103,7 +10103,7 @@ const ss = (n, t, e) => {
|
|
|
10103
10103
|
n.appendChild(A), A.setAttribute("id", e), A.innerHTML = t;
|
|
10104
10104
|
};
|
|
10105
10105
|
function Ua(n, t, e) {
|
|
10106
|
-
const A =
|
|
10106
|
+
const A = R();
|
|
10107
10107
|
ss(t, e, `bgdef-${A}`), n.appendChild(is(`#bgdef-${A}`));
|
|
10108
10108
|
}
|
|
10109
10109
|
const Ga = (n, t, e, A) => {
|
|
@@ -10119,7 +10119,7 @@ const Ga = (n, t, e, A) => {
|
|
|
10119
10119
|
let t = n;
|
|
10120
10120
|
return t = t.replace(/feoffset/gi, "feOffset"), t = t.replace(/fegaussianblur/gi, "feGaussianBlur"), t = t.replace(/feblend/gi, "feBlend"), t = t.replace(/lineargradient/gi, "linearGradient"), t = t.replace(/stddeviation/gi, "stdDeviation"), t;
|
|
10121
10121
|
};
|
|
10122
|
-
function
|
|
10122
|
+
function QA(n, t, e, A, a, i) {
|
|
10123
10123
|
const s = a || 1, o = i || 1, r = {
|
|
10124
10124
|
x: t[0],
|
|
10125
10125
|
y: t[1],
|
|
@@ -10261,16 +10261,16 @@ class rs extends mA {
|
|
|
10261
10261
|
}
|
|
10262
10262
|
brandSvg(t, e) {
|
|
10263
10263
|
const A = t.toSVG(2), a = t.getBoundingBox(), i = a.x2 - a.x1, s = t.toPathData(3), o = () => {
|
|
10264
|
-
const
|
|
10265
|
-
|
|
10264
|
+
const f = H("g"), p = H("defs");
|
|
10265
|
+
f.appendChild(p), p.appendChild(Ga(3, 7, 4, "shadow"));
|
|
10266
10266
|
const I = H("g");
|
|
10267
|
-
|
|
10267
|
+
f.appendChild(I), I.setAttribute("filter", "url(#shadow)"), I.innerHTML = A;
|
|
10268
10268
|
const D = H("g");
|
|
10269
|
-
|
|
10269
|
+
f.appendChild(D), D.setAttribute("fill", "red"), D.setAttribute("stroke", "red"), D.setAttribute("stroke-width", "9"), D.innerHTML = A;
|
|
10270
10270
|
const y = H("g");
|
|
10271
|
-
|
|
10271
|
+
f.appendChild(y), y.setAttribute("fill", "#9d2621"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = A;
|
|
10272
10272
|
const x = H("g");
|
|
10273
|
-
return
|
|
10273
|
+
return f.appendChild(x), x.setAttribute("fill", "yellow"), x.innerHTML = A, new pA(f).transform(([S, z]) => [S, z + (i / 2 - S) ** 2 / (i * 2.9)]), f;
|
|
10274
10274
|
}, [r, c, l] = ba(e);
|
|
10275
10275
|
if (!r)
|
|
10276
10276
|
return "";
|
|
@@ -10278,14 +10278,14 @@ class rs extends mA {
|
|
|
10278
10278
|
r.appendChild(g), Ua(r, g, e);
|
|
10279
10279
|
const d = c * 0.23, B = l * 0.94, h = l * 0.04, C = c * 0.53, w = H("g");
|
|
10280
10280
|
r.appendChild(w), w.setAttribute("transform", `translate(${h} ${C}) rotate(-21)`);
|
|
10281
|
-
const u =
|
|
10281
|
+
const u = fA(d, B);
|
|
10282
10282
|
u.setAttribute("opacity", "0"), w.appendChild(u);
|
|
10283
10283
|
const E = H("g");
|
|
10284
10284
|
w.appendChild(E);
|
|
10285
10285
|
const m = o();
|
|
10286
10286
|
E.appendChild(m);
|
|
10287
|
-
const
|
|
10288
|
-
return
|
|
10287
|
+
const Q = oA(s);
|
|
10288
|
+
return QA(E, Q, d, B), Ja(r.outerHTML);
|
|
10289
10289
|
}
|
|
10290
10290
|
}
|
|
10291
10291
|
const cs = "data:application/octet-stream;base64,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ZWxmIE1ha2VyIDIuMy41AABNAGEAbAB0AGUAcwBlAHIAcwBSAGUAZwB1AGwAYQByAABNYWx0ZXNlcnNSZWd1bGFyAABNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAAABAAIBAgEDAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQCsAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAljb250cm9sTEYJY29udHJvbENSB0FwLmxpZ2EHQWoubGlnYQdFdC5saWdhB0VmLmxpZ2EHRWoubGlnYQdFay5saWdhB0VsLmxpZ2EHRWIubGlnYQdGdC5saWdhB0ZoLmxpZ2EHRmsubGlnYQdGbC5saWdhB0ZiLmxpZ2EHSHQubGlnYQdIZi5saWdhB0l0LmxpZ2EHSXAubGlnYQdJZi5saWdhB0lqLmxpZ2EHSWwubGlnYQdJYi5saWdhB0p0LmxpZ2EHSmYubGlnYQdKaC5saWdhB0prLmxpZ2EHSmwubGlnYQdKYi5saWdhB0t0LmxpZ2EHS3AubGlnYQdLeS5saWdhB0xqLmxpZ2EHTWoubGlnYQdNaC5saWdhB01mLmxpZ2EHTnQubGlnYQdOZi5saWdhB09mLmxpZ2EHT3oubGlnYQdQcS5saWdhB1B3LmxpZ2EHUHIubGlnYQdQdC5saWdhB1B5LmxpZ2EHUHUubGlnYQdQaS5saWdhB1BmLmxpZ2EHUGgubGlnYQdQai5saWdhB1BrLmxpZ2EHUGwubGlnYQdQei5saWdhB1B4LmxpZ2EHUHYubGlnYQdQYi5saWdhB1BuLmxpZ2EHUG0ubGlnYQdScC5saWdhB1JmLmxpZ2EHUmoubGlnYQdUdC5saWdhB1RmLmxpZ2EHVGgubGlnYQdUay5saWdhB1RsLmxpZ2EHVGIubGlnYQdVdC5saWdhB1VzLmxpZ2EHVWYubGlnYQdWdC5saWdhB1ZzLmxpZ2EHVmYubGlnYQdWbC5saWdhB1d0LmxpZ2EHV2YubGlnYQdYcC5saWdhB1l0LmxpZ2EHWWkubGlnYQdZZi5saWdhB1loLmxpZ2EHWWwubGlnYQdZay5saWdhB1liLmxpZ2EHQWYubGlnYQdDeS5saWdhB0VoLmxpZ2EHR3IubGlnYQdPcC5saWdhB2J0LmxpZ2EHYnIubGlnYQdiZi5saWdhB2JqLmxpZ2EHYnoubGlnYQdkdC5saWdhB2VmLmxpZ2EHZnQubGlnYQdmaC5saWdhB2ZiLmxpZ2EHZmsubGlnYQdnai5saWdhB2pqLmxpZ2EHeWoubGlnYQd0dC5saWdhB3RmLmxpZ2EHdGgubGlnYQd0aS5saWdhB3RrLmxpZ2EHdGwubGlnYQh0dGgubGlnYQhlZmYubGlnYQhlZmIubGlnYQdmZi5saWdhB2ZpLmxpZ2EHZmwubGlnYQAAAAAAAAH//wACAAEAAAAMAAAAHAAAAAIAAgADADoAAQA7AKsAAgAEAAAAAgAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQQIAB0AQABaAGQAngDIANIA5AEWAUgBYgFsAYYBmAGyAkQCXgKQAqoCzALeAugDIgNMA1YDdAOuA7gDwgP+AAMACAAOABQAjQACACUAPAACACkAOwACAC8AAQAEAI4AAgA4AAcAEAAWABwAIgAoAC4ANACPAAIAJwBCAAIAIQBBAAIAKwBAAAIAKgA/AAIAKQA+AAIAJQA9AAIAMwAFAAwAEgAYAB4AJABHAAIAIQBGAAIAKwBFAAIAKgBEAAIAJwBDAAIAMwABAAQAkAACADEAAgAGAAwASQACACUASAACADMABgAOABQAGgAgACYALABPAAIAIQBOAAIAKwBNAAIAKQBMAAIAJQBLAAIALwBKAAIAMwAGAA4AFAAaACAAJgAsAFUAAgAhAFQAAgArAFMAAgAqAFIAAgAnAFEAAgAlAFAAAgAzAAMACAAOABQAWAACADgAVwACAC8AVgACADMAAQAEAFkAAgApAAMACAAOABQAXAACACUAWwACACcAWgACACkAAgAGAAwAXgACACUAXQACADMAAwAIAA4AFACRAAIALwBgAAIAOQBfAAIAJQASACYALAAyADgAPgBEAEoAUABWAFwAYgBoAG4AdAB6AIAAhgCMAHIAAgAsAHEAAgAtAHAAAgAhAG8AAgA1AG4AAgA3AG0AAgA5AGwAAgArAGsAAgAqAGoAAgApAGkAAgAnAGgAAgAlAGcAAgAoAGYAAgA0AGUAAgA4AGQAAgAzAGMAAgAxAGIAAgA2AGEAAgAwAAMACAAOABQAdQACACkAdAACACUAcwACAC8ABgAOABQAGgAgACYALAB7AAIAIQB6AAIAKwB5AAIAKgB4AAIAJwB3AAIAJQB2AAIAMwADAAgADgAUAH4AAgAlAH0AAgAyAHwAAgAzAAQACgAQABYAHACCAAIAKwCBAAIAJQCAAAIAMgB/AAIAMwACAAYADACEAAIAJQCDAAIAMwABAAQAhQACAC8ABwAQABYAHAAiACgALgA0AIwAAgAhAIsAAgAqAIoAAgArAIkAAgAnAIgAAgAlAIcAAgAoAIYAAgAzAAUADAASABgAHgAkAJYAAgA5AJUAAgApAJQAAgAlAJMAAgAxAJIAAgAzAAEABACXAAIAMwADAAgAEAAYAKgAAwAlACEApwADACUAJQCYAAIAJQAHABAAFgAcACIAKAAuADQAqwACACsAqgACACgAqQACACUAnAACACoAmwACACEAmgACACcAmQACADMAAQAEAJ0AAgApAAEABACeAAIAKQAHABAAGAAeACQAKgAwADYApgADADMAJwClAAIAKwCkAAIAKgCjAAIAKACiAAIAJwChAAIAJQCgAAIAMwABAAQAnwACACkAAQAdAAYACAAKAAsADAANAA4ADwAQABEAEgATABQAFQAXABkAGgAbABwAHQAeACEAIwAkACUAJgApADMAOAAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAABAAgAAQPGAAQAAABEAJIAnADSAOABIgEoATYBPAFKAVABXgFkAW4BfAGKAawBsgHAAcYB1AHiAewB/gIIAhYCSAJiAnAChgKcAqoCvALKAtAC6gL0AvoDAAMKAxADGgMgAyYDLAMyAzgDOAMyAz4DRANOAz4DVANaA2ADIANmA2wDcgN4A34DiAOOA5gDngOkA7IDvAACAC7//AA3//IADQAl/+oAKP/8ACn/9AAq//AAK//6ACz//gAt//4AMf/qADP//AA0//wANf/+ADb/+AA5//QAAwAt//wALv/8ADb//AAQACT//AAl/+wAJv/6ACf//AAp/+wAKv/0ACv/+gAs//gALf/8AC//7gAx//gAMv/0ADT/9gA3/+oAOP/6ADn/5AABADf/+gADADX//AA3/+gAOf/6AAEALv/2AAMAKP/8ACn/6AAy/+QAAQAu//IAAwAo/+4AL//2ADX/5gABACT/8AACABgAAgAoAAQAAwAo//4ALv/wADL/+AADACf/9gAv/+4Ao//sAAgAKf/qACv/9AAu//wAL//uADH/7gAy//IAN//mAJX/9AABADYADgADACAABAAjAAQAM//4AAEAMv/8AAMAJv/+ACr/+AA3//4AAwAo//gALv/0AJn/7AACACMAAgAl/+wABAAk//wAL//8ADT/9AA4//4AAgAt//IAq//iAAMAJf/sACb/+AA3//wADAAk//wAJv/+ACj/+gAp/+AAK//+ACz/9gAt//wAL//qADH/7AAy//IAN//cAKP/4gAGACQAAgAl/9oAK//yAC//4gAx/+gAMv/8AAMAKQB+ADL/7ACeAIgABQAg//wAIv/4ACb//AAu//YANQAEAAUAKf/0ACr/+AAv//QAM//mAKP/3gADACEAHAAkAAIALv/4AAQAJf/0AC3//gAv//wAmf/8AAMAJP/wACf/+AAp/+4AAQAk//oABgAg//QAIf/wACj/9gAu/+wAL//0ADP/9AACACH//gA3//IAAQApAEIAAQAnACgAAgAzADQAqgAoAAEAMwA0AAIAMwAyAKEARgABADL/6gABADMALAABACkANAABAJoAGAABADMAMgABACkAOAABADMAMAACACUAEgAzAC4AAQApAHgAAQApADYAAQAzAC4AAQAzADgAAQAzAEIAAQAzAEwAAQAz//IAAQAnAEgAAgAl/+4Amv/oAAEAKQBiAAIAKQBaAJ4AUAABACkAVgABAKEARAADADMANgCaABIAogBKAAIAJwAsAKEARgACAC3/8gA3/+oAAQBEAAYABwAIAAkACgAMABEAFAAVABgAHQAgACEAIgAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOQA8AD0APgBIAEkASwBMAE0AUABRAFkAWgBcAF4AXwBhAGgAagB+AIEAhACIAI0AkQCYAJoAnQCeAJ8AoAChAKkAqgAAAAAAAQAAAADUGBYRAAAAANfpcqUAAAAA1+lypQ==";
|
|
@@ -10325,14 +10325,14 @@ class ls extends mA {
|
|
|
10325
10325
|
A ? (h = g * 0.25 * (1 + 0.1), C = d / 2 * (1 + 0.1), w = d * 0.22, u = g * 0.32) : (h = g * 0.22 * (1 + 0.1), C = d * 0.8, w = d * 0.067, u = g * 0.33);
|
|
10326
10326
|
const E = H("g");
|
|
10327
10327
|
l.appendChild(E), E.setAttribute("transform", `translate(${w} ${u}) rotate(-10)`);
|
|
10328
|
-
const m =
|
|
10328
|
+
const m = fA(h, C);
|
|
10329
10329
|
m.setAttribute("opacity", "0"), E.appendChild(m);
|
|
10330
|
-
const
|
|
10331
|
-
E.appendChild(
|
|
10332
|
-
const
|
|
10333
|
-
|
|
10330
|
+
const Q = H("g");
|
|
10331
|
+
E.appendChild(Q);
|
|
10332
|
+
const f = c();
|
|
10333
|
+
Q.appendChild(f);
|
|
10334
10334
|
const p = oA(r);
|
|
10335
|
-
return
|
|
10335
|
+
return QA(Q, p, h, C), l.outerHTML;
|
|
10336
10336
|
}
|
|
10337
10337
|
// 1 if true, 0 if false.
|
|
10338
10338
|
}
|
|
@@ -10351,12 +10351,12 @@ class ds extends mA {
|
|
|
10351
10351
|
const A = CA(gs), i = t !== "" ? ((m) => m.charAt(0).toUpperCase() + m.substr(1).toLowerCase())(t) : "", s = A.getPath(i, 0, 72, 72), o = s.toSVG(2), r = s.getBoundingBox(), c = r.x2 - r.x1, l = s.toPathData(3), g = () => {
|
|
10352
10352
|
const m = H("g");
|
|
10353
10353
|
m.classList.add("module-text-group");
|
|
10354
|
-
const
|
|
10355
|
-
m.appendChild(
|
|
10356
|
-
const
|
|
10357
|
-
|
|
10354
|
+
const Q = H("defs");
|
|
10355
|
+
m.appendChild(Q), Q.appendChild(Ga(0, 2, 2, "shadow"));
|
|
10356
|
+
const f = H("path");
|
|
10357
|
+
f.setAttribute("d", l), f.setAttribute("stroke", "black"), f.setAttribute("stroke-width", "3"), Q.appendChild(f);
|
|
10358
10358
|
const p = H("g");
|
|
10359
|
-
p.classList.add("module-layer0"), m.appendChild(p), p.setAttribute("filter", "url(#shadow)"), p.innerHTML =
|
|
10359
|
+
p.classList.add("module-layer0"), m.appendChild(p), p.setAttribute("filter", "url(#shadow)"), p.innerHTML = f.outerHTML;
|
|
10360
10360
|
const I = H("g");
|
|
10361
10361
|
I.classList.add("module-layer1"), m.appendChild(I), I.setAttribute("stroke-width", "3"), I.setAttribute("stroke", "rgb(45,41,38)"), I.setAttribute("fill", "rgb(45,41,38)"), I.setAttribute("transform", "translate(0.5,0)"), I.innerHTML = o;
|
|
10362
10362
|
const D = H("g");
|
|
@@ -10369,14 +10369,14 @@ class ds extends mA {
|
|
|
10369
10369
|
d.appendChild(B);
|
|
10370
10370
|
const h = H("g");
|
|
10371
10371
|
h.classList.add("module-bounds"), d.appendChild(h);
|
|
10372
|
-
const C =
|
|
10372
|
+
const C = fA(e.height, e.width);
|
|
10373
10373
|
C.setAttribute("opacity", "0"), h.appendChild(C);
|
|
10374
10374
|
const w = H("g");
|
|
10375
10375
|
w.classList.add("module-text-enclosure"), d.appendChild(w);
|
|
10376
10376
|
const u = g();
|
|
10377
10377
|
w.appendChild(u);
|
|
10378
10378
|
const E = oA(l);
|
|
10379
|
-
return
|
|
10379
|
+
return QA(w, E, e.height, e.width, 0.35, 0.65), Ja(d.outerHTML);
|
|
10380
10380
|
}
|
|
10381
10381
|
}
|
|
10382
10382
|
async function Ta(n) {
|
|
@@ -10407,12 +10407,12 @@ class LA extends da {
|
|
|
10407
10407
|
class hs {
|
|
10408
10408
|
constructor(t, e, A, a, i, s, o, r, c, l, g, d, B, h = !1, C, w = !1, u = !1, E = !1) {
|
|
10409
10409
|
this.workflowStatePromiseQueue = new Ba(1), this.initialized = !1, this.readOnly = !1, this.isReloadedTransaction = !1, this.singleVariantsRenderable = !1, this.stepTags = {}, this.renderLayouts = () => {
|
|
10410
|
-
var
|
|
10410
|
+
var f;
|
|
10411
10411
|
if (!this.previewService)
|
|
10412
10412
|
return;
|
|
10413
|
-
const m = this.getCommandContext().getAllLayouts(),
|
|
10414
|
-
if (
|
|
10415
|
-
for (const [, p] of
|
|
10413
|
+
const m = this.getCommandContext().getAllLayouts(), Q = (f = this.getLayoutPreviewService()) == null ? void 0 : f.getAll();
|
|
10414
|
+
if (Q)
|
|
10415
|
+
for (const [, p] of Q)
|
|
10416
10416
|
p.render(m);
|
|
10417
10417
|
}, this.experience = t, this.client = e, this.updateTransaction = o, this.commandContext = s, this.reloadedState = B, this.transaction = r, this.readOnly = h, this.singleVariantsRenderable = u, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = A, this.stepSpecificServices = {}, this.profanityFilter = a, this.pollers = [], this.allScenes = [], this.layouts = i, this.product = c, this.previewService = g, this.modelContainer = C, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.validationErrors = { steps: /* @__PURE__ */ new Map() }, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.validationCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = d, this.isReloadedTransaction = w, this.stepTags = l, E && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(A), this.initializationPromise.then(() => {
|
|
10418
10418
|
this.initialized = !0;
|
|
@@ -10587,7 +10587,7 @@ class hs {
|
|
|
10587
10587
|
this.pendingUpdates = this.pendingUpdates.filter((e) => e !== t);
|
|
10588
10588
|
}
|
|
10589
10589
|
markUpdatePending() {
|
|
10590
|
-
const t =
|
|
10590
|
+
const t = R();
|
|
10591
10591
|
return this.pendingUpdates = [...this.pendingUpdates, t], t;
|
|
10592
10592
|
}
|
|
10593
10593
|
setEditedStatus(t, e) {
|
|
@@ -10850,12 +10850,12 @@ class hs {
|
|
|
10850
10850
|
async reset() {
|
|
10851
10851
|
this.commandContext.getAllLayouts().forEach(
|
|
10852
10852
|
(e) => e.layoutState.elements.forEach((A) => {
|
|
10853
|
-
this.getCommandDispatcher()(new
|
|
10853
|
+
this.getCommandDispatcher()(new Qt(A.id));
|
|
10854
10854
|
})
|
|
10855
10855
|
), this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, await this.ensureStepsAreLoaded();
|
|
10856
10856
|
}
|
|
10857
10857
|
async setSelectionsAndElements(t, e, A, a) {
|
|
10858
|
-
var
|
|
10858
|
+
var f;
|
|
10859
10859
|
const i = this.stepSelections;
|
|
10860
10860
|
this.stepSelections = {
|
|
10861
10861
|
...this.stepSelections,
|
|
@@ -10878,14 +10878,14 @@ class hs {
|
|
|
10878
10878
|
const C = this.workflow.steps.find((p) => p.stepName === t);
|
|
10879
10879
|
if ((C == null ? void 0 : C.type) === M.Frame) {
|
|
10880
10880
|
const p = this.getStepSpecificServices(t);
|
|
10881
|
-
(
|
|
10881
|
+
(f = p == null ? void 0 : p.frameService) == null || f.setTargetElements(A.map((I) => I.id));
|
|
10882
10882
|
}
|
|
10883
|
-
const w = d.map((p) => new
|
|
10883
|
+
const w = d.map((p) => new Qt(p.id)), u = new GA(this.constructSerializableWorkflow()), E = [...h, ...w, u];
|
|
10884
10884
|
E.length > 0 && this.commandContext.apply(new G(E), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
|
|
10885
|
-
const m = this.getInvalidModelVariants(),
|
|
10886
|
-
if (
|
|
10885
|
+
const m = this.getInvalidModelVariants(), Q = this.modelContainer;
|
|
10886
|
+
if (Q) {
|
|
10887
10887
|
const p = m.map(
|
|
10888
|
-
(I) =>
|
|
10888
|
+
(I) => Q.applyModelVariant(
|
|
10889
10889
|
I,
|
|
10890
10890
|
{
|
|
10891
10891
|
contextService: this.getLayoutPreviewService()
|
|
@@ -10941,12 +10941,12 @@ class hs {
|
|
|
10941
10941
|
this.stepSpecificServices[r.stepName] = {
|
|
10942
10942
|
module: await Ta(r.data.module)
|
|
10943
10943
|
}, A.push(
|
|
10944
|
-
|
|
10944
|
+
ka.init(r, this, this.reloadedState)
|
|
10945
10945
|
);
|
|
10946
10946
|
break;
|
|
10947
10947
|
case M.Picture:
|
|
10948
10948
|
A.push(
|
|
10949
|
-
|
|
10949
|
+
Ra.init(r, this, this.reloadedState)
|
|
10950
10950
|
);
|
|
10951
10951
|
break;
|
|
10952
10952
|
case M.Question:
|
|
@@ -11328,7 +11328,7 @@ class Es extends at {
|
|
|
11328
11328
|
* @returns A promise that can be awaited to ensure the new image asset has been updated on the design.
|
|
11329
11329
|
*/
|
|
11330
11330
|
selectVariant(t) {
|
|
11331
|
-
return
|
|
11331
|
+
return Ra.selectVariant(
|
|
11332
11332
|
this.step,
|
|
11333
11333
|
t.getResource(),
|
|
11334
11334
|
this.manager,
|
|
@@ -11353,7 +11353,7 @@ class ms extends at {
|
|
|
11353
11353
|
return this.step.data.displayType || ((t = this.step.option) == null ? void 0 : t.displayType);
|
|
11354
11354
|
}
|
|
11355
11355
|
}
|
|
11356
|
-
class
|
|
11356
|
+
class fs extends at {
|
|
11357
11357
|
constructor(t, e, A) {
|
|
11358
11358
|
super(t, e, A);
|
|
11359
11359
|
}
|
|
@@ -11408,7 +11408,7 @@ class Qs extends at {
|
|
|
11408
11408
|
return t;
|
|
11409
11409
|
}
|
|
11410
11410
|
}
|
|
11411
|
-
class
|
|
11411
|
+
class Qs extends at {
|
|
11412
11412
|
constructor(t, e, A) {
|
|
11413
11413
|
super(t, e, A);
|
|
11414
11414
|
}
|
|
@@ -11524,7 +11524,7 @@ class fs extends at {
|
|
|
11524
11524
|
getText() {
|
|
11525
11525
|
var A;
|
|
11526
11526
|
const t = this.step.data.defaultText, e = this.manager.getStepStorage(this.step.stepName);
|
|
11527
|
-
return t && !(e != null && e.defaultCleared) ? t : ((A = this.manager.getStepStorage(this.step.stepName)) == null ? void 0 : A.text) || "";
|
|
11527
|
+
return t && (e == null ? void 0 : e.defaultCleared) !== void 0 && !(e != null && e.defaultCleared) ? t : ((A = this.manager.getStepStorage(this.step.stepName)) == null ? void 0 : A.text) || "";
|
|
11528
11528
|
}
|
|
11529
11529
|
isReplaceable() {
|
|
11530
11530
|
return this.step.data.userCanReplaceText;
|
|
@@ -11650,7 +11650,7 @@ class Ds extends at {
|
|
|
11650
11650
|
return ((t = this.manager.getStepStorage(this.step.stepName)) == null ? void 0 : t.text) || "";
|
|
11651
11651
|
}
|
|
11652
11652
|
setText(t) {
|
|
11653
|
-
|
|
11653
|
+
ka.changeText(this.step, t, this.manager, "", (e) => {
|
|
11654
11654
|
if (e)
|
|
11655
11655
|
this.manager.setInformationResults([
|
|
11656
11656
|
...this.manager.getInformationResults(),
|
|
@@ -11677,13 +11677,13 @@ class oe {
|
|
|
11677
11677
|
case M.Question:
|
|
11678
11678
|
return new ms(t, e, t.getStepTags(e.stepName));
|
|
11679
11679
|
case M.Text:
|
|
11680
|
-
return new
|
|
11680
|
+
return new Qs(t, e, t.getStepTags(e.stepName));
|
|
11681
11681
|
case M.Illustration:
|
|
11682
11682
|
return new Cs(t, e, t.getStepTags(e.stepName));
|
|
11683
11683
|
case M.Picture:
|
|
11684
11684
|
return new Es(t, e, t.getStepTags(e.stepName));
|
|
11685
11685
|
case M.Shape:
|
|
11686
|
-
return new
|
|
11686
|
+
return new fs(t, e, t.getStepTags(e.stepName));
|
|
11687
11687
|
case M.Material:
|
|
11688
11688
|
return new ws(t, e, t.getStepTags(e.stepName));
|
|
11689
11689
|
case M.Model:
|
|
@@ -11945,10 +11945,10 @@ const Ms = async (n) => {
|
|
|
11945
11945
|
return [x, N];
|
|
11946
11946
|
}, [E] = await u(!0), m = Object.fromEntries(
|
|
11947
11947
|
Object.keys(E).map((y) => [y, E[y].map((x) => x.id)])
|
|
11948
|
-
), [
|
|
11949
|
-
Object.keys(
|
|
11948
|
+
), [Q] = await u(!1), f = Object.fromEntries(
|
|
11949
|
+
Object.keys(Q).map((y) => [
|
|
11950
11950
|
y,
|
|
11951
|
-
|
|
11951
|
+
Q[y].map((x) => x.id)
|
|
11952
11952
|
])
|
|
11953
11953
|
);
|
|
11954
11954
|
let p = await o(h, a.id);
|
|
@@ -11982,7 +11982,7 @@ const Ms = async (n) => {
|
|
|
11982
11982
|
}
|
|
11983
11983
|
if (m) {
|
|
11984
11984
|
const x = [];
|
|
11985
|
-
for (const [N, S] of Object.entries(
|
|
11985
|
+
for (const [N, S] of Object.entries(f))
|
|
11986
11986
|
x.push({ key: N, ids: S });
|
|
11987
11987
|
y.selectedVariants = x;
|
|
11988
11988
|
}
|
|
@@ -12154,7 +12154,7 @@ const Le = new vs(), Ns = F`
|
|
|
12154
12154
|
}
|
|
12155
12155
|
}
|
|
12156
12156
|
`;
|
|
12157
|
-
var
|
|
12157
|
+
var ks = /* @__PURE__ */ ((n) => (n.QuantityChanged = "QuantityChanged", n.PriceBreakChanged = "PriceBreakChanged", n))(ks || {});
|
|
12158
12158
|
class re {
|
|
12159
12159
|
constructor(t, e) {
|
|
12160
12160
|
var a;
|
|
@@ -12244,9 +12244,9 @@ class re {
|
|
|
12244
12244
|
}
|
|
12245
12245
|
let i = 2048;
|
|
12246
12246
|
e && e <= 2048 && (i = e);
|
|
12247
|
-
const s = lt(i, i), o = this.commandContext.getAllLayouts(), r = A.defaultPreviewPanelIndex || 0, c = A.panels[r], l = o.find((
|
|
12248
|
-
var
|
|
12249
|
-
return ((
|
|
12247
|
+
const s = lt(i, i), o = this.commandContext.getAllLayouts(), r = A.defaultPreviewPanelIndex || 0, c = A.panels[r], l = o.find((Q) => {
|
|
12248
|
+
var f;
|
|
12249
|
+
return ((f = Q.layoutState) == null ? void 0 : f.layout.panelId) === (c == null ? void 0 : c.name);
|
|
12250
12250
|
}) || o[0], g = l.layoutState.layout.previewRegion ? {
|
|
12251
12251
|
x: l.layoutState.layout.previewRegion.left,
|
|
12252
12252
|
y: l.layoutState.layout.previewRegion.top,
|
|
@@ -12546,7 +12546,7 @@ class re {
|
|
|
12546
12546
|
(this.eventCallbacks.get(t) || []).forEach((e) => e(this));
|
|
12547
12547
|
}
|
|
12548
12548
|
}
|
|
12549
|
-
const
|
|
12549
|
+
const Rs = [
|
|
12550
12550
|
"altGlyph",
|
|
12551
12551
|
"circle",
|
|
12552
12552
|
"ellipse",
|
|
@@ -12565,12 +12565,12 @@ const ks = [
|
|
|
12565
12565
|
const h = n.find((w) => w.panelId === B.panelId);
|
|
12566
12566
|
if (!h)
|
|
12567
12567
|
throw new X(B);
|
|
12568
|
-
const C =
|
|
12568
|
+
const C = R();
|
|
12569
12569
|
return new V(
|
|
12570
12570
|
{
|
|
12571
12571
|
id: C,
|
|
12572
12572
|
src: l,
|
|
12573
|
-
type:
|
|
12573
|
+
type: k.Image,
|
|
12574
12574
|
y: B.top,
|
|
12575
12575
|
x: B.left,
|
|
12576
12576
|
width: B.width,
|
|
@@ -12592,7 +12592,7 @@ const ks = [
|
|
|
12592
12592
|
o && (t[A.stepName] = { selectedVariants: [o] });
|
|
12593
12593
|
const r = async (c) => {
|
|
12594
12594
|
var C;
|
|
12595
|
-
const l = await ha(c, (C = o == null ? void 0 : o.asset) == null ? void 0 : C.fileLink), g = await Ye(l), d =
|
|
12595
|
+
const l = await ha(c, (C = o == null ? void 0 : o.asset) == null ? void 0 : C.fileLink), g = await Ye(l), d = R(), B = n.find((w) => w.panelId === c.panelId);
|
|
12596
12596
|
if (!B)
|
|
12597
12597
|
throw new X(c);
|
|
12598
12598
|
const h = dA(
|
|
@@ -12610,7 +12610,7 @@ const ks = [
|
|
|
12610
12610
|
{
|
|
12611
12611
|
id: d,
|
|
12612
12612
|
path: g.path,
|
|
12613
|
-
type:
|
|
12613
|
+
type: k.Frame,
|
|
12614
12614
|
forceImageCover: A.data.forceImageCover,
|
|
12615
12615
|
x: c.left,
|
|
12616
12616
|
y: c.top,
|
|
@@ -12644,11 +12644,11 @@ const ks = [
|
|
|
12644
12644
|
return console.error(o), [];
|
|
12645
12645
|
}
|
|
12646
12646
|
}, Us = async (n, t, e, A) => {
|
|
12647
|
-
var
|
|
12647
|
+
var f, p;
|
|
12648
12648
|
const a = e.data, i = A.option;
|
|
12649
12649
|
if (!i)
|
|
12650
12650
|
return console.error(`No option for step ${A.stepName}.`), [];
|
|
12651
|
-
const s = ((
|
|
12651
|
+
const s = ((f = i.variants) == null ? void 0 : f.find((I) => I.id === a.illustrationVariantId)) || $t(i);
|
|
12652
12652
|
if (!s)
|
|
12653
12653
|
return console.error(`No variant with ID: ${a.illustrationVariantId}`), [];
|
|
12654
12654
|
if (!s.asset)
|
|
@@ -12663,7 +12663,7 @@ const ks = [
|
|
|
12663
12663
|
BA(h);
|
|
12664
12664
|
const C = {};
|
|
12665
12665
|
xt(h, (I) => {
|
|
12666
|
-
|
|
12666
|
+
Rs.includes(I.tagName) && !I.attributes.getNamedItem("fill") && I.setAttribute("fill", "#000000");
|
|
12667
12667
|
const D = I.attributes.getNamedItem("fill");
|
|
12668
12668
|
if (D && D.value !== "none") {
|
|
12669
12669
|
const x = D.value, S = `spiff-fill-${x.replace(/\W/g, "")}`;
|
|
@@ -12688,13 +12688,13 @@ const ks = [
|
|
|
12688
12688
|
const D = n.find((x) => x.panelId === I.panelId);
|
|
12689
12689
|
if (!D)
|
|
12690
12690
|
throw new X(I);
|
|
12691
|
-
const y =
|
|
12691
|
+
const y = R();
|
|
12692
12692
|
return new V(
|
|
12693
12693
|
{
|
|
12694
12694
|
colors: C,
|
|
12695
12695
|
id: y,
|
|
12696
12696
|
svg: u,
|
|
12697
|
-
type:
|
|
12697
|
+
type: k.Illustration,
|
|
12698
12698
|
y: I.top,
|
|
12699
12699
|
x: I.left,
|
|
12700
12700
|
rotation: I.rotation,
|
|
@@ -12706,9 +12706,9 @@ const ks = [
|
|
|
12706
12706
|
},
|
|
12707
12707
|
D
|
|
12708
12708
|
);
|
|
12709
|
-
},
|
|
12709
|
+
}, Q = A.data.regions;
|
|
12710
12710
|
try {
|
|
12711
|
-
return
|
|
12711
|
+
return Q.map(m);
|
|
12712
12712
|
} catch (I) {
|
|
12713
12713
|
return console.error(I), [];
|
|
12714
12714
|
}
|
|
@@ -12717,13 +12717,13 @@ const ks = [
|
|
|
12717
12717
|
const c = n.find((g) => g.panelId === r.panelId);
|
|
12718
12718
|
if (!c)
|
|
12719
12719
|
throw new X(r);
|
|
12720
|
-
const l =
|
|
12720
|
+
const l = R();
|
|
12721
12721
|
return new V(
|
|
12722
12722
|
{
|
|
12723
12723
|
colors: {},
|
|
12724
12724
|
id: l,
|
|
12725
12725
|
svg: o,
|
|
12726
|
-
type:
|
|
12726
|
+
type: k.Illustration,
|
|
12727
12727
|
y: r.top,
|
|
12728
12728
|
x: r.left,
|
|
12729
12729
|
rotation: r.rotation,
|
|
@@ -12760,12 +12760,12 @@ const ks = [
|
|
|
12760
12760
|
const B = n.find((C) => C.panelId === d.panelId);
|
|
12761
12761
|
if (!B)
|
|
12762
12762
|
throw new X(d);
|
|
12763
|
-
const h =
|
|
12763
|
+
const h = R();
|
|
12764
12764
|
return new V(
|
|
12765
12765
|
{
|
|
12766
12766
|
id: h,
|
|
12767
12767
|
src: o,
|
|
12768
|
-
type:
|
|
12768
|
+
type: k.Image,
|
|
12769
12769
|
y: d.top,
|
|
12770
12770
|
x: d.left,
|
|
12771
12771
|
rotation: d.rotation,
|
|
@@ -12817,13 +12817,13 @@ const ks = [
|
|
|
12817
12817
|
fill="${s == null ? void 0 : s.color}"
|
|
12818
12818
|
/>
|
|
12819
12819
|
</svg>
|
|
12820
|
-
`, h = { "spiff-fill-shape": { browserValue: s.color || "#000000" } }, C =
|
|
12820
|
+
`, h = { "spiff-fill-shape": { browserValue: s.color || "#000000" } }, C = R();
|
|
12821
12821
|
return new V(
|
|
12822
12822
|
{
|
|
12823
12823
|
colors: h,
|
|
12824
12824
|
id: C,
|
|
12825
12825
|
svg: d,
|
|
12826
|
-
type:
|
|
12826
|
+
type: k.Illustration,
|
|
12827
12827
|
y: l.top,
|
|
12828
12828
|
x: l.left,
|
|
12829
12829
|
rotation: l.rotation,
|
|
@@ -12845,7 +12845,7 @@ const ks = [
|
|
|
12845
12845
|
const A = [], i = (() => {
|
|
12846
12846
|
var c, l;
|
|
12847
12847
|
return t.type === M.ProductOverlay ? e || ((c = t.data.asset) == null ? void 0 : c.fileLink) || "" : ((l = t.data.asset) == null ? void 0 : l.fileLink) || "";
|
|
12848
|
-
})(), o = (() => i.endsWith(".jpeg") || i.endsWith(".jpg") || i.endsWith(".png") ?
|
|
12848
|
+
})(), o = (() => i.endsWith(".jpeg") || i.endsWith(".jpg") || i.endsWith(".png") ? k.Image : (i.endsWith(".svg"), k.Illustration))(), r = t.data.regions;
|
|
12849
12849
|
if (o === "image")
|
|
12850
12850
|
try {
|
|
12851
12851
|
r.forEach((c) => {
|
|
@@ -12853,7 +12853,7 @@ const ks = [
|
|
|
12853
12853
|
if (!l)
|
|
12854
12854
|
throw new X(c);
|
|
12855
12855
|
const g = {
|
|
12856
|
-
id:
|
|
12856
|
+
id: R(),
|
|
12857
12857
|
src: i,
|
|
12858
12858
|
type: o,
|
|
12859
12859
|
y: c.top,
|
|
@@ -12886,7 +12886,7 @@ const ks = [
|
|
|
12886
12886
|
if (!d)
|
|
12887
12887
|
throw new X(g);
|
|
12888
12888
|
const B = {
|
|
12889
|
-
id:
|
|
12889
|
+
id: R(),
|
|
12890
12890
|
src: i,
|
|
12891
12891
|
asset_key: i,
|
|
12892
12892
|
svg: l(c),
|
|
@@ -12914,7 +12914,7 @@ const ks = [
|
|
|
12914
12914
|
const w = A.option;
|
|
12915
12915
|
if (!w)
|
|
12916
12916
|
return;
|
|
12917
|
-
const u = ((m = w.variants) == null ? void 0 : m.find((
|
|
12917
|
+
const u = ((m = w.variants) == null ? void 0 : m.find((Q) => Q.id === i.fontVariantId)) || $t(w);
|
|
12918
12918
|
if (!u || !u.asset)
|
|
12919
12919
|
return;
|
|
12920
12920
|
t[A.stepName] = { selectedVariants: [u] };
|
|
@@ -12930,7 +12930,7 @@ const ks = [
|
|
|
12930
12930
|
assetUrl: w,
|
|
12931
12931
|
name: u.names.fullName.en
|
|
12932
12932
|
};
|
|
12933
|
-
})(), g = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", i.text) : i.text) || "", d =
|
|
12933
|
+
})(), g = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", i.text) : i.text) || "", d = fe(g, {
|
|
12934
12934
|
vertical: A.data.vertical,
|
|
12935
12935
|
uppercase: A.data.uppercase
|
|
12936
12936
|
}), B = async (w) => {
|
|
@@ -12946,7 +12946,7 @@ const ks = [
|
|
|
12946
12946
|
continue;
|
|
12947
12947
|
const E = {
|
|
12948
12948
|
stepName: e.name,
|
|
12949
|
-
id:
|
|
12949
|
+
id: R(),
|
|
12950
12950
|
align: o(A.data),
|
|
12951
12951
|
curved: A.data.curved,
|
|
12952
12952
|
fill: i.color || h || "#000000",
|
|
@@ -12958,7 +12958,7 @@ const ks = [
|
|
|
12958
12958
|
paths: A.data.paths,
|
|
12959
12959
|
rotation: w.rotation,
|
|
12960
12960
|
text: d,
|
|
12961
|
-
type:
|
|
12961
|
+
type: k.Textbox,
|
|
12962
12962
|
vertical: A.data.vertical,
|
|
12963
12963
|
verticalAlign: A.data.verticalAlign || "middle",
|
|
12964
12964
|
width: w.width,
|
|
@@ -12966,12 +12966,12 @@ const ks = [
|
|
|
12966
12966
|
y: w.top
|
|
12967
12967
|
};
|
|
12968
12968
|
if (l) {
|
|
12969
|
-
const [m,
|
|
12969
|
+
const [m, Q] = he(
|
|
12970
12970
|
A.data.size || s,
|
|
12971
12971
|
l,
|
|
12972
12972
|
w,
|
|
12973
12973
|
[
|
|
12974
|
-
|
|
12974
|
+
fe(d, {
|
|
12975
12975
|
vertical: A.data.vertical,
|
|
12976
12976
|
uppercase: A.data.uppercase
|
|
12977
12977
|
})
|
|
@@ -12987,7 +12987,7 @@ const ks = [
|
|
|
12987
12987
|
{
|
|
12988
12988
|
...E,
|
|
12989
12989
|
fontSize: m,
|
|
12990
|
-
text: E.curved ? E.text : (
|
|
12990
|
+
text: E.curved ? E.text : (Q || []).join(`
|
|
12991
12991
|
`)
|
|
12992
12992
|
},
|
|
12993
12993
|
u
|
|
@@ -13353,6 +13353,8 @@ const Or = (n, t) => {
|
|
|
13353
13353
|
query GetBundle($id: String!) {
|
|
13354
13354
|
bundles(ids: [$id]) {
|
|
13355
13355
|
id
|
|
13356
|
+
workflowViewerLink
|
|
13357
|
+
workflowViewerAmendLink
|
|
13356
13358
|
bundleStateData
|
|
13357
13359
|
metadata {
|
|
13358
13360
|
key
|
|
@@ -13368,12 +13370,22 @@ const Or = (n, t) => {
|
|
|
13368
13370
|
transactions {
|
|
13369
13371
|
id
|
|
13370
13372
|
}
|
|
13373
|
+
bundleShareActions {
|
|
13374
|
+
id
|
|
13375
|
+
title
|
|
13376
|
+
type
|
|
13377
|
+
stakeholderType
|
|
13378
|
+
precedence
|
|
13379
|
+
url
|
|
13380
|
+
}
|
|
13371
13381
|
}
|
|
13372
13382
|
}
|
|
13373
13383
|
`, $s = F`
|
|
13374
13384
|
query GetBundleStakeholders($id: String!) {
|
|
13375
13385
|
bundles(ids: [$id]) {
|
|
13376
13386
|
id
|
|
13387
|
+
workflowViewerLink
|
|
13388
|
+
workflowViewerAmendLink
|
|
13377
13389
|
bundleStakeholders {
|
|
13378
13390
|
id
|
|
13379
13391
|
customer {
|
|
@@ -13398,6 +13410,8 @@ const Or = (n, t) => {
|
|
|
13398
13410
|
type
|
|
13399
13411
|
bundle {
|
|
13400
13412
|
id
|
|
13413
|
+
workflowViewerLink
|
|
13414
|
+
workflowViewerAmendLink
|
|
13401
13415
|
name
|
|
13402
13416
|
createdAt
|
|
13403
13417
|
metadata {
|
|
@@ -14059,7 +14073,7 @@ const DA = F`
|
|
|
14059
14073
|
}
|
|
14060
14074
|
}
|
|
14061
14075
|
}
|
|
14062
|
-
`,
|
|
14076
|
+
`, fo = F`
|
|
14063
14077
|
${DA}
|
|
14064
14078
|
query GetGlobalPropertyState($bundleId: String!) {
|
|
14065
14079
|
globalPropertyState(bundleId: $bundleId) {
|
|
@@ -14070,7 +14084,7 @@ const DA = F`
|
|
|
14070
14084
|
}
|
|
14071
14085
|
}
|
|
14072
14086
|
`;
|
|
14073
|
-
class
|
|
14087
|
+
class Qo {
|
|
14074
14088
|
constructor(t, e, A, a, i) {
|
|
14075
14089
|
this.bundleId = t, this.bundleOwnerId = e, this.configuration = A, this.bundleOptions = i, this.initPromise = this.getOrCreateGlobalPropertyState().then((s) => {
|
|
14076
14090
|
this.globalPropertyState = s;
|
|
@@ -14189,7 +14203,7 @@ class fo {
|
|
|
14189
14203
|
async getOrCreateGlobalPropertyState() {
|
|
14190
14204
|
var A, a, i;
|
|
14191
14205
|
const t = await P.getShadowGraphqlClient().query({
|
|
14192
|
-
query:
|
|
14206
|
+
query: fo,
|
|
14193
14207
|
errorPolicy: "all",
|
|
14194
14208
|
fetchPolicy: "no-cache",
|
|
14195
14209
|
variables: {
|
|
@@ -14573,7 +14587,7 @@ class Fo {
|
|
|
14573
14587
|
class je {
|
|
14574
14588
|
constructor(t, e, A, a, i, s) {
|
|
14575
14589
|
var o, r, c;
|
|
14576
|
-
this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = t, this.id = e.id, this.name = e.name || "", this.ownerId = i, this.metadata = new Map(((o = e.metadata) == null ? void 0 : o.map((l) => [l.key, l.value])) || []), this.productCollection = e.productCollection, this.bundleStateManager = new po(e.bundleStateData), this.globalPropertyStateManager = new
|
|
14590
|
+
this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = t, this.id = e.id, this.name = e.name || "", this.shareActions = e.bundleShareActions, this.workflowViewerLink = e.workflowViewerLink, this.workflowViewerAmendLink = e.workflowViewerAmendLink, this.ownerId = i, this.metadata = new Map(((o = e.metadata) == null ? void 0 : o.map((l) => [l.key, l.value])) || []), this.productCollection = e.productCollection, this.bundleStateManager = new po(e.bundleStateData), this.globalPropertyStateManager = new Qo(
|
|
14577
14591
|
this.id,
|
|
14578
14592
|
this.ownerId,
|
|
14579
14593
|
(r = this.productCollection) == null ? void 0 : r.globalPropertyConfiguration,
|
|
@@ -15044,6 +15058,15 @@ class je {
|
|
|
15044
15058
|
})
|
|
15045
15059
|
);
|
|
15046
15060
|
}
|
|
15061
|
+
getShareActions() {
|
|
15062
|
+
return this.shareActions;
|
|
15063
|
+
}
|
|
15064
|
+
getWorkflowViewerLink() {
|
|
15065
|
+
return this.workflowViewerLink;
|
|
15066
|
+
}
|
|
15067
|
+
getWorkflowViewerAmendLink() {
|
|
15068
|
+
return this.workflowViewerAmendLink;
|
|
15069
|
+
}
|
|
15047
15070
|
}
|
|
15048
15071
|
const yo = F`
|
|
15049
15072
|
mutation processFlowCreate($processFlowId: String!, $inputs: [String]!) {
|
|
@@ -15318,7 +15341,7 @@ const Yo = F`
|
|
|
15318
15341
|
mutation CustomerGenerateVerificationCode($emailAddress: String!) {
|
|
15319
15342
|
customerGenerateVerificationCode(emailAddress: $emailAddress)
|
|
15320
15343
|
}
|
|
15321
|
-
`,
|
|
15344
|
+
`, ko = F`
|
|
15322
15345
|
mutation CustomerVerifyCode($emailAddress: String!, $verificationCode: String!) {
|
|
15323
15346
|
customerVerifyCode(emailAddress: $emailAddress, verificationCode: $verificationCode) {
|
|
15324
15347
|
id
|
|
@@ -15346,7 +15369,7 @@ const Yo = F`
|
|
|
15346
15369
|
}
|
|
15347
15370
|
}
|
|
15348
15371
|
}
|
|
15349
|
-
`,
|
|
15372
|
+
`, Ro = F`
|
|
15350
15373
|
query CustomerMetafields($id: String!) {
|
|
15351
15374
|
metafields(entityId: $id) {
|
|
15352
15375
|
id
|
|
@@ -15932,13 +15955,13 @@ const Yo = F`
|
|
|
15932
15955
|
var t;
|
|
15933
15956
|
for (const e in n.layouts) {
|
|
15934
15957
|
const A = n.layouts[e].elements.filter(
|
|
15935
|
-
(i) => i.type ===
|
|
15958
|
+
(i) => i.type === k.Illustration
|
|
15936
15959
|
);
|
|
15937
15960
|
for (let i = 0; i < A.length; ++i) {
|
|
15938
15961
|
const s = A[i];
|
|
15939
15962
|
s.src && s.svg && (s.cachedObjectURL = await Kt(s.svg));
|
|
15940
15963
|
}
|
|
15941
|
-
const a = n.layouts[e].elements.filter((i) => i.type ===
|
|
15964
|
+
const a = n.layouts[e].elements.filter((i) => i.type === k.Textbox);
|
|
15942
15965
|
for (let i = 0; i < a.length; ++i) {
|
|
15943
15966
|
const s = a[i];
|
|
15944
15967
|
(t = s.fontData) != null && t.assetUrl && await _t(s.fontData.assetUrl);
|
|
@@ -15983,7 +16006,7 @@ const Yo = F`
|
|
|
15983
16006
|
), s = e.filter((o) => o !== void 0);
|
|
15984
16007
|
return await Promise.all(s.concat(i));
|
|
15985
16008
|
}, ge = async (n, t) => (await Xa([n], t))[0], Vo = (n) => n.sort((t, e) => t.index - e.index).map((t) => ({
|
|
15986
|
-
id:
|
|
16009
|
+
id: R(),
|
|
15987
16010
|
panelId: t.name,
|
|
15988
16011
|
name: t.name,
|
|
15989
16012
|
index: t.index,
|
|
@@ -16010,7 +16033,7 @@ class Wo {
|
|
|
16010
16033
|
} catch (A) {
|
|
16011
16034
|
throw console.error(A), new b("Critical - Unable to synchronize workflow state with server.");
|
|
16012
16035
|
}
|
|
16013
|
-
}, this.initialized = !1, this.options = t, this.options.applicationKey && Dn(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 25.0.
|
|
16036
|
+
}, this.initialized = !1, this.options = t, this.options.applicationKey && Dn(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 25.0.3"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
|
|
16014
16037
|
}
|
|
16015
16038
|
/** @deprecated Use `configure` instead */
|
|
16016
16039
|
configureUrls(t, e, A) {
|
|
@@ -16122,13 +16145,13 @@ class Wo {
|
|
|
16122
16145
|
if (w && await this.authenticateCustomerId(w)) {
|
|
16123
16146
|
const E = ((B = (d = this.customer) == null ? void 0 : d.bundleStakeholders) == null ? void 0 : B.find(
|
|
16124
16147
|
(m) => {
|
|
16125
|
-
var
|
|
16126
|
-
return (
|
|
16148
|
+
var Q, f;
|
|
16149
|
+
return (f = (Q = m.bundle) == null ? void 0 : Q.transactions) == null ? void 0 : f.some((p) => p.id === t);
|
|
16127
16150
|
}
|
|
16128
16151
|
)) || ((C = (h = this.customer) == null ? void 0 : h.stakeholders) == null ? void 0 : C.find(
|
|
16129
16152
|
(m) => {
|
|
16130
|
-
var
|
|
16131
|
-
return ((
|
|
16153
|
+
var Q;
|
|
16154
|
+
return ((Q = m.transaction) == null ? void 0 : Q.id) === t;
|
|
16132
16155
|
}
|
|
16133
16156
|
));
|
|
16134
16157
|
if (E)
|
|
@@ -16249,7 +16272,7 @@ class Wo {
|
|
|
16249
16272
|
async verifyCode(t, e) {
|
|
16250
16273
|
var i, s;
|
|
16251
16274
|
const a = (i = (await P.getShadowGraphqlClient().mutate({
|
|
16252
|
-
mutation:
|
|
16275
|
+
mutation: ko,
|
|
16253
16276
|
errorPolicy: "all",
|
|
16254
16277
|
fetchPolicy: "no-cache",
|
|
16255
16278
|
variables: {
|
|
@@ -16273,7 +16296,7 @@ class Wo {
|
|
|
16273
16296
|
if (!((e = this.customer) != null && e.id))
|
|
16274
16297
|
throw new Error("Customer must be logged in before calling this function.");
|
|
16275
16298
|
return (await P.getShadowGraphqlClient().query({
|
|
16276
|
-
query:
|
|
16299
|
+
query: Ro,
|
|
16277
16300
|
fetchPolicy: "no-cache",
|
|
16278
16301
|
variables: {
|
|
16279
16302
|
id: this.customer.id
|
|
@@ -16315,7 +16338,7 @@ class Wo {
|
|
|
16315
16338
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
16316
16339
|
*/
|
|
16317
16340
|
async getExistingBundle(t, e, A, a) {
|
|
16318
|
-
var w, u, E, m,
|
|
16341
|
+
var w, u, E, m, Q, f, p, I, D, y, x;
|
|
16319
16342
|
const i = Y.getMap("bundleOwnerIds"), s = i == null ? void 0 : i.get(t), r = ((w = Object.entries(localStorage).find(([N, S]) => N.startsWith("CognitoIdentityServiceProvider") && N.endsWith("idToken"))) == null ? void 0 : w[0]) || "", c = localStorage.getItem(r), l = {};
|
|
16320
16343
|
c && !Ie(c) && (l.Authorization = `Bearer ${c}`);
|
|
16321
16344
|
const g = {
|
|
@@ -16332,7 +16355,7 @@ class Wo {
|
|
|
16332
16355
|
headers: g
|
|
16333
16356
|
}
|
|
16334
16357
|
});
|
|
16335
|
-
if (!((
|
|
16358
|
+
if (!((Q = d.data) != null && Q.bundles) || ((f = d.data) == null ? void 0 : f.bundles.length) === 0 || !((p = d.data) != null && p.bundles[0]))
|
|
16336
16359
|
throw new Error(`Unable to find bundle: ${t}`);
|
|
16337
16360
|
const B = (I = d.data) == null ? void 0 : I.bundles[0], h = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
|
|
16338
16361
|
h.set(B.id, B.partner.id), Y.setMap("bundlePartnerIds", h);
|
|
@@ -16349,15 +16372,15 @@ class Wo {
|
|
|
16349
16372
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
16350
16373
|
*/
|
|
16351
16374
|
async duplicateBundle(t, e, A, a) {
|
|
16352
|
-
var w, u, E, m,
|
|
16375
|
+
var w, u, E, m, Q, f, p, I;
|
|
16353
16376
|
const i = (w = Y.getMap("bundleOwnerIds")) == null ? void 0 : w.get(t), o = ((u = Object.entries(localStorage).find(([D, y]) => D.startsWith("CognitoIdentityServiceProvider") && D.endsWith("idToken"))) == null ? void 0 : u[0]) || "", r = localStorage.getItem(o), c = {};
|
|
16354
16377
|
r && !Ie(r) && (c.Authorization = `Bearer ${r}`);
|
|
16355
16378
|
const l = {
|
|
16356
16379
|
bundleOwnerId: i,
|
|
16357
16380
|
...c,
|
|
16358
16381
|
...(E = a == null ? void 0 : a.graphql) == null ? void 0 : E.additionalHeaders
|
|
16359
|
-
}, d = (
|
|
16360
|
-
mutation: Ao(((
|
|
16382
|
+
}, d = (f = (await P.getShadowGraphqlClient().mutate({
|
|
16383
|
+
mutation: Ao(((Q = (m = a == null ? void 0 : a.graphql) == null ? void 0 : m.productCollection) == null ? void 0 : Q.eagerFetchProducts) || !1),
|
|
16361
16384
|
variables: {
|
|
16362
16385
|
id: t,
|
|
16363
16386
|
template: e,
|
|
@@ -16369,7 +16392,7 @@ class Wo {
|
|
|
16369
16392
|
headers: l
|
|
16370
16393
|
},
|
|
16371
16394
|
fetchPolicy: "no-cache"
|
|
16372
|
-
})).data) == null ? void 0 :
|
|
16395
|
+
})).data) == null ? void 0 : f.bundleDuplicate;
|
|
16373
16396
|
if (!(d != null && d.id))
|
|
16374
16397
|
throw new Error("Unable to duplicate bundle");
|
|
16375
16398
|
const B = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
|
|
@@ -16457,13 +16480,13 @@ class Wo {
|
|
|
16457
16480
|
if (!a)
|
|
16458
16481
|
return await this.getWorkflowExperienceDeprecated(t, e, A);
|
|
16459
16482
|
const i = async () => {
|
|
16460
|
-
var E, m,
|
|
16483
|
+
var E, m, Q;
|
|
16461
16484
|
const u = P.getShadowGraphqlClient();
|
|
16462
16485
|
if (a.type === "transaction") {
|
|
16463
|
-
const { transactionId:
|
|
16486
|
+
const { transactionId: f, readOnly: p } = a, I = await u.query({
|
|
16464
16487
|
query: ae,
|
|
16465
16488
|
variables: {
|
|
16466
|
-
ids: [
|
|
16489
|
+
ids: [f]
|
|
16467
16490
|
},
|
|
16468
16491
|
errorPolicy: "all",
|
|
16469
16492
|
fetchPolicy: "no-cache"
|
|
@@ -16476,12 +16499,12 @@ class Wo {
|
|
|
16476
16499
|
const y = await ge(D.workflowId);
|
|
16477
16500
|
if (!D.product)
|
|
16478
16501
|
throw new b("Failed to load transaction, product not available.");
|
|
16479
|
-
!this.activeIntegration && ((
|
|
16502
|
+
!this.activeIntegration && ((Q = D.integrationProduct) != null && Q.integration) && (this.activeIntegration = Promise.resolve(D.integrationProduct.integration));
|
|
16480
16503
|
const x = await this.getStepTags(y);
|
|
16481
16504
|
return { transaction: D, workflow: y, stepTags: x, readOnly: p };
|
|
16482
16505
|
}
|
|
16483
16506
|
if (a.type === "integration" || a.type === "external") {
|
|
16484
|
-
const
|
|
16507
|
+
const f = async () => {
|
|
16485
16508
|
const x = a.type === "integration" ? { integrationProductId: a.integrationProductId } : {
|
|
16486
16509
|
externalIntegrationId: a.externalIntegrationId,
|
|
16487
16510
|
externalProductId: a.externalProductId
|
|
@@ -16506,7 +16529,7 @@ class Wo {
|
|
|
16506
16529
|
if (!S.product)
|
|
16507
16530
|
throw new b("Failed to create transaction, product not available.");
|
|
16508
16531
|
return S;
|
|
16509
|
-
}, p = ge(a.workflowId, a == null ? void 0 : a.graphql), [I, D] = await Promise.all([
|
|
16532
|
+
}, p = ge(a.workflowId, a == null ? void 0 : a.graphql), [I, D] = await Promise.all([f(), p]), y = await this.getStepTags(D);
|
|
16510
16533
|
return { transaction: I, workflow: D, stepTags: y };
|
|
16511
16534
|
}
|
|
16512
16535
|
throw new b("No workflow ID provided.");
|
|
@@ -16565,11 +16588,11 @@ class Wo {
|
|
|
16565
16588
|
async getWorkflowExperiences(t, e) {
|
|
16566
16589
|
if (t.length === 0)
|
|
16567
16590
|
throw new b("No options provided!");
|
|
16568
|
-
const A = P.getShadowGraphqlClient(), a = async (
|
|
16591
|
+
const A = P.getShadowGraphqlClient(), a = async (f) => {
|
|
16569
16592
|
var y, x, N;
|
|
16570
|
-
if (
|
|
16593
|
+
if (f.length === 0)
|
|
16571
16594
|
return [];
|
|
16572
|
-
const p =
|
|
16595
|
+
const p = f.map((S) => S.option.transactionId), I = await A.query({
|
|
16573
16596
|
query: ae,
|
|
16574
16597
|
variables: {
|
|
16575
16598
|
ids: p
|
|
@@ -16577,7 +16600,7 @@ class Wo {
|
|
|
16577
16600
|
errorPolicy: "all",
|
|
16578
16601
|
fetchPolicy: "no-cache"
|
|
16579
16602
|
}), D = I.data.transactions;
|
|
16580
|
-
if (D.length !==
|
|
16603
|
+
if (D.length !== f.length) {
|
|
16581
16604
|
const S = ((x = (y = I.errors) == null ? void 0 : y[0]) == null ? void 0 : x.message) || "Unknown error";
|
|
16582
16605
|
throw new b(`Not all transactions were found: ${S}`);
|
|
16583
16606
|
}
|
|
@@ -16586,18 +16609,18 @@ class Wo {
|
|
|
16586
16609
|
return {
|
|
16587
16610
|
transaction: S,
|
|
16588
16611
|
workflowId: S.workflowId,
|
|
16589
|
-
readOnly: ((U =
|
|
16590
|
-
index:
|
|
16612
|
+
readOnly: ((U = f.find((At) => At.option.transactionId === S.id)) == null ? void 0 : U.option.readOnly) ?? !1,
|
|
16613
|
+
index: f[z].index
|
|
16591
16614
|
};
|
|
16592
16615
|
});
|
|
16593
|
-
}, i = async (
|
|
16616
|
+
}, i = async (f) => {
|
|
16594
16617
|
var D, y, x;
|
|
16595
|
-
if (
|
|
16618
|
+
if (f.length === 0)
|
|
16596
16619
|
return [];
|
|
16597
16620
|
const p = await A.mutate({
|
|
16598
16621
|
mutation: Xn,
|
|
16599
16622
|
variables: {
|
|
16600
|
-
inputs:
|
|
16623
|
+
inputs: f.map((N) => ({
|
|
16601
16624
|
integrationProductId: N.option.type === "integration" ? N.option.integrationProductId : void 0,
|
|
16602
16625
|
externalIntegrationId: N.option.type === "external" ? N.option.externalIntegrationId : void 0,
|
|
16603
16626
|
externalProductId: N.option.type === "external" ? N.option.externalProductId : void 0,
|
|
@@ -16619,16 +16642,16 @@ class Wo {
|
|
|
16619
16642
|
transaction: N,
|
|
16620
16643
|
workflowId: N.workflowId,
|
|
16621
16644
|
readOnly: !1,
|
|
16622
|
-
index:
|
|
16645
|
+
index: f[S].index
|
|
16623
16646
|
}));
|
|
16624
|
-
}, s = t.map((
|
|
16625
|
-
(
|
|
16647
|
+
}, s = t.map((f, p) => ({ option: f, index: p })), o = s.filter((f) => f.option.type === "transaction"), r = s.filter(
|
|
16648
|
+
(f) => f.option.type === "integration" || f.option.type === "external"
|
|
16626
16649
|
), c = yA(o, 10), l = yA(r, 10), g = (await Promise.all([
|
|
16627
16650
|
...c.map(a),
|
|
16628
16651
|
...l.map(i)
|
|
16629
|
-
])).flat(), d = [...new Set(g.map((
|
|
16652
|
+
])).flat(), d = [...new Set(g.map((f) => f.workflowId))], B = await Xa(d, e), h = new Map(B.map((f) => [f.id, f])), C = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), w = g.map(async (f) => {
|
|
16630
16653
|
var At;
|
|
16631
|
-
const { transaction: p, workflowId: I, readOnly: D, index: y } =
|
|
16654
|
+
const { transaction: p, workflowId: I, readOnly: D, index: y } = f, x = h.get(I), N = await this.getStepTags(x), S = t[y];
|
|
16632
16655
|
!C.get(p.id) && p.transactionOwnerId && C.set(p.id, p.transactionOwnerId);
|
|
16633
16656
|
const z = C.get(p.id) || void 0, U = {
|
|
16634
16657
|
product: p.product,
|
|
@@ -16659,11 +16682,11 @@ class Wo {
|
|
|
16659
16682
|
), U.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = U, { experienceOptions: U, index: y, options: S };
|
|
16660
16683
|
}), u = await Promise.all(w);
|
|
16661
16684
|
Y.setMap("transactionOwnerIds", C);
|
|
16662
|
-
const m = u.sort((
|
|
16663
|
-
const { experienceOptions: p, options: I } =
|
|
16685
|
+
const m = u.sort((f, p) => f.index - p.index).map(async (f) => {
|
|
16686
|
+
const { experienceOptions: p, options: I } = f, D = new re(this, p);
|
|
16664
16687
|
return await D.getWorkflowManager().getInitializationPromise(), I.type !== "transaction" && this.customer && await D.attachCustomerDetails({ email: this.customer.emailAddress }), D;
|
|
16665
|
-
}),
|
|
16666
|
-
return
|
|
16688
|
+
}), Q = await Promise.all(m);
|
|
16689
|
+
return Q.forEach((f) => f.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), Q;
|
|
16667
16690
|
}
|
|
16668
16691
|
/**
|
|
16669
16692
|
* Initialize the client from an integration product.
|
|
@@ -17254,15 +17277,15 @@ export {
|
|
|
17254
17277
|
dn as ConversionLocation,
|
|
17255
17278
|
V as CreateElementCommand,
|
|
17256
17279
|
Sa as CreateLayoutCommand,
|
|
17257
|
-
|
|
17280
|
+
Qt as DeleteElementCommand,
|
|
17258
17281
|
Is as DigitalContentStepHandle,
|
|
17259
17282
|
wo as FileUploadGlobalPropertyHandle,
|
|
17260
17283
|
le as FlowExecutionNodeResult,
|
|
17261
17284
|
So as FlowExecutionResult,
|
|
17262
17285
|
Mo as FlowService,
|
|
17263
|
-
|
|
17286
|
+
Ri as FontAlignmentCommand,
|
|
17264
17287
|
Ni as FontColorCommand,
|
|
17265
|
-
|
|
17288
|
+
ki as FontSizeCommand,
|
|
17266
17289
|
JA as FontSourceCommand,
|
|
17267
17290
|
Ti as FrameService,
|
|
17268
17291
|
Xo as FrameStep,
|
|
@@ -17275,7 +17298,7 @@ export {
|
|
|
17275
17298
|
jA as IntegrationProduct,
|
|
17276
17299
|
ln as IntegrationType,
|
|
17277
17300
|
Tr as LayoutElementFactory,
|
|
17278
|
-
|
|
17301
|
+
k as LayoutElementType,
|
|
17279
17302
|
X as LayoutNotFoundError,
|
|
17280
17303
|
Ot as LayoutRenderingPurpose,
|
|
17281
17304
|
ws as MaterialStepHandle,
|
|
@@ -17297,12 +17320,13 @@ export {
|
|
|
17297
17320
|
Ba as PromiseQueue,
|
|
17298
17321
|
ms as QuestionStepHandle,
|
|
17299
17322
|
da as QueueablePromise,
|
|
17300
|
-
|
|
17323
|
+
Rr as ResizeCommand,
|
|
17301
17324
|
Lt as ResourceNotFoundError,
|
|
17302
|
-
|
|
17325
|
+
kr as RotateCommand,
|
|
17303
17326
|
W as ScaleAxis,
|
|
17304
17327
|
Jr as SendBackwardsCommand,
|
|
17305
|
-
|
|
17328
|
+
fs as ShapeStepHandle,
|
|
17329
|
+
cn as ShareActionType,
|
|
17306
17330
|
Wo as SpiffCommerceClient,
|
|
17307
17331
|
we as StakeholderType,
|
|
17308
17332
|
rn as StepAspectType,
|
|
@@ -17312,15 +17336,14 @@ export {
|
|
|
17312
17336
|
Ui as TextChangeCommand,
|
|
17313
17337
|
uo as TextGlobalPropertyHandle,
|
|
17314
17338
|
zr as TextInput,
|
|
17315
|
-
|
|
17316
|
-
cn as TransactionShareActionType,
|
|
17339
|
+
Qs as TextStepHandle,
|
|
17317
17340
|
Fo as Transform,
|
|
17318
17341
|
Do as TransformCollection,
|
|
17319
17342
|
O as UnhandledBehaviorError,
|
|
17320
17343
|
hn as UnitOfMeasurement,
|
|
17321
17344
|
Hr as UpdateImageSourceCommand,
|
|
17322
17345
|
it as Variant,
|
|
17323
|
-
|
|
17346
|
+
ks as WorkflowExperienceEventType,
|
|
17324
17347
|
re as WorkflowExperienceImpl,
|
|
17325
17348
|
J as assetService,
|
|
17326
17349
|
di as browserColorToHex,
|
|
@@ -17334,15 +17357,15 @@ export {
|
|
|
17334
17357
|
tt as fetchAsString,
|
|
17335
17358
|
pr as findAngle,
|
|
17336
17359
|
L as findElement,
|
|
17337
|
-
|
|
17360
|
+
fr as findPmsColors,
|
|
17338
17361
|
Ut as frameDataCache,
|
|
17339
17362
|
wt as frameStepService,
|
|
17340
|
-
|
|
17363
|
+
R as generate,
|
|
17341
17364
|
js as generateCommands,
|
|
17342
17365
|
gt as generateSVGWithUnknownColors,
|
|
17343
17366
|
Lr as generateStateFromDesignInputSteps,
|
|
17344
17367
|
xe as getAttributesFromArrayBuffer,
|
|
17345
|
-
|
|
17368
|
+
Qr as getAxisAlignedBoundingBox,
|
|
17346
17369
|
Ji as getBoundedOffsets,
|
|
17347
17370
|
Yr as getElementVertices,
|
|
17348
17371
|
Ye as getFrameData,
|
|
@@ -17362,11 +17385,11 @@ export {
|
|
|
17362
17385
|
va as materialStepService,
|
|
17363
17386
|
Pr as mmPerPixel,
|
|
17364
17387
|
Na as modelStepService,
|
|
17365
|
-
|
|
17388
|
+
ka as moduleStepService,
|
|
17366
17389
|
_ as optionService,
|
|
17367
17390
|
ut as patternImageDataCache,
|
|
17368
17391
|
Y as persistenceService,
|
|
17369
|
-
|
|
17392
|
+
Ra as pictureStepService,
|
|
17370
17393
|
Er as pmsToRgb,
|
|
17371
17394
|
Ha as questionStepService,
|
|
17372
17395
|
wr as registerFetchImplementation,
|