@spiffcommerce/core 24.0.0 → 24.0.2
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 +2 -1
- package/dist/index.js +509 -513
- package/dist/index.umd.cjs +94 -94
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -6,8 +6,9 @@ import an from "exifreader";
|
|
|
6
6
|
import { Pith as sA } from "pith";
|
|
7
7
|
import KA from "lodash.debounce";
|
|
8
8
|
import VA from "lodash.isequal";
|
|
9
|
-
import {
|
|
10
|
-
import sn from "
|
|
9
|
+
import { dataUriToBuffer as nn } from "data-uri-to-buffer";
|
|
10
|
+
import { parse as sn } from "css";
|
|
11
|
+
import on from "fuse.js";
|
|
11
12
|
import Mt from "lodash.clonedeep";
|
|
12
13
|
import { jsx as v, jsxs as ot, Fragment as Jt } from "preact/jsx-runtime";
|
|
13
14
|
import Ve from "opentype.js";
|
|
@@ -15,7 +16,7 @@ import { toString as WA } from "qrcode";
|
|
|
15
16
|
import { split as We } from "unicode-default-word-boundary";
|
|
16
17
|
import oA from "svg-path-bbox";
|
|
17
18
|
import yA from "lodash.chunk";
|
|
18
|
-
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 || {}),
|
|
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 || {}), R = /* @__PURE__ */ ((n) => (n.Frame = "frame", n.Group = "group", n.Image = "image", n.Pattern = "pattern", n.Illustration = "illustration", n.Textbox = "textbox", n))(R || {}), 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 || {});
|
|
19
20
|
class XA extends Error {
|
|
20
21
|
constructor(t) {
|
|
21
22
|
super(t), this.name = this.constructor.name;
|
|
@@ -76,7 +77,7 @@ class Fe extends De {
|
|
|
76
77
|
super(`Resource Generation Failed: ${t}`);
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
|
-
class
|
|
80
|
+
class Cn {
|
|
80
81
|
get(t) {
|
|
81
82
|
return localStorage.getItem(t) || void 0;
|
|
82
83
|
}
|
|
@@ -119,14 +120,14 @@ class MA {
|
|
|
119
120
|
this.set(t, A);
|
|
120
121
|
}
|
|
121
122
|
}
|
|
122
|
-
const
|
|
123
|
+
const wn = () => {
|
|
123
124
|
try {
|
|
124
|
-
return localStorage ? new
|
|
125
|
+
return localStorage ? new Cn() : new MA();
|
|
125
126
|
} catch {
|
|
126
127
|
return console.warn("Local storage was unavilable due to browser security settings. Using in-memory storage instead."), new MA();
|
|
127
128
|
}
|
|
128
|
-
}, Y =
|
|
129
|
-
class
|
|
129
|
+
}, Y = wn();
|
|
130
|
+
class un {
|
|
130
131
|
constructor() {
|
|
131
132
|
this.defaultServerUrl = "https://api.spiff.com.au", this.defaultServicesApiUrl = "https://services.spiff.com.au", this.defaultHubUrl = "https://hub.spiff.com.au", this.serverUrl = this.defaultServerUrl, this.servicesApiUrl = this.defaultServicesApiUrl, this.hubUrl = this.defaultHubUrl, this.serverUrlCallbacks = [];
|
|
132
133
|
}
|
|
@@ -152,12 +153,12 @@ class wn {
|
|
|
152
153
|
this.serverUrlCallbacks.push(t);
|
|
153
154
|
}
|
|
154
155
|
}
|
|
155
|
-
const nt = new
|
|
156
|
+
const nt = new un();
|
|
156
157
|
let Xe, qe;
|
|
157
|
-
function
|
|
158
|
+
function Cr(n) {
|
|
158
159
|
Xe = n;
|
|
159
160
|
}
|
|
160
|
-
function
|
|
161
|
+
function wr(n) {
|
|
161
162
|
qe = n;
|
|
162
163
|
}
|
|
163
164
|
function ye() {
|
|
@@ -185,13 +186,13 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
|
|
|
185
186
|
return qA.set(n, ((i = a.headers) == null ? void 0 : i.get("content-type")) || ""), await a.arrayBuffer();
|
|
186
187
|
})();
|
|
187
188
|
return SA.set(n, A), A;
|
|
188
|
-
},
|
|
189
|
+
}, En = async (n) => {
|
|
189
190
|
const t = xA.get(n);
|
|
190
191
|
if (t)
|
|
191
192
|
return t;
|
|
192
193
|
const A = (async () => await (await rt(n)).text())();
|
|
193
194
|
return xA.set(n, A), A;
|
|
194
|
-
}, Wt = (n) => n.every((t) => t !== "undefined"), ee = (n) => Wt([typeof document]) ? document.createElement(n) : ye().window.document.createElement(n),
|
|
195
|
+
}, Wt = (n) => n.every((t) => t !== "undefined"), ee = (n) => Wt([typeof document]) ? document.createElement(n) : ye().window.document.createElement(n), mn = (n, t) => {
|
|
195
196
|
if (Wt([typeof document]))
|
|
196
197
|
return document.createElementNS(n, t);
|
|
197
198
|
const A = ye().window.document.createElement(t);
|
|
@@ -208,10 +209,10 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
|
|
|
208
209
|
A(a);
|
|
209
210
|
});
|
|
210
211
|
}), tt = (n, t) => new Promise((e, A) => {
|
|
211
|
-
t ?
|
|
212
|
+
t ? En(n).then(e).catch(A) : rt(n).then((a) => {
|
|
212
213
|
a.text().then(e).catch(A);
|
|
213
214
|
}).catch(A);
|
|
214
|
-
}), $A = (n) => An(n), Ne = /* @__PURE__ */ new Map(),
|
|
215
|
+
}), $A = (n) => An(n), Ne = /* @__PURE__ */ new Map(), Qn = async (n, t) => {
|
|
215
216
|
if (Wt([typeof FontFace])) {
|
|
216
217
|
if (Ne.has(t))
|
|
217
218
|
return Ne.get(t);
|
|
@@ -252,16 +253,16 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
|
|
|
252
253
|
}
|
|
253
254
|
const e = t();
|
|
254
255
|
return e || "image/svg+xml";
|
|
255
|
-
},
|
|
256
|
+
}, ur = async (n) => {
|
|
256
257
|
const t = await ZA(n), e = qA.get(n) || Xt(t);
|
|
257
|
-
return await
|
|
258
|
+
return await In(new Blob([t], { type: e }));
|
|
258
259
|
}, fn = (n) => {
|
|
259
260
|
let t = "";
|
|
260
261
|
const e = n.byteLength;
|
|
261
262
|
for (let A = 0; A < e; A++)
|
|
262
263
|
t += String.fromCharCode(n[A]);
|
|
263
264
|
return t;
|
|
264
|
-
},
|
|
265
|
+
}, pn = async (n) => {
|
|
265
266
|
const t = Xt(n), e = new Uint8Array(n), A = fn(e), a = btoa(A);
|
|
266
267
|
return `data:${t};base64,${a}`;
|
|
267
268
|
}, _A = (n) => `data:image/svg+xml;base64,${btoa(n)}`, ta = (n) => {
|
|
@@ -276,7 +277,7 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
|
|
|
276
277
|
return a ? new Uint8Array(
|
|
277
278
|
atob(i).split("").map((o) => o.charCodeAt(0))
|
|
278
279
|
).buffer : new Uint8Array(i.split("").map((o) => o.charCodeAt(0))).buffer;
|
|
279
|
-
},
|
|
280
|
+
}, In = (n) => new Promise((t, e) => {
|
|
280
281
|
const A = new FileReader();
|
|
281
282
|
A.onload = function(a) {
|
|
282
283
|
const i = a.target;
|
|
@@ -288,26 +289,26 @@ const PA = (n) => {
|
|
|
288
289
|
ea = n;
|
|
289
290
|
};
|
|
290
291
|
let cA;
|
|
291
|
-
const
|
|
292
|
+
const Dn = (n) => {
|
|
292
293
|
cA = n;
|
|
293
|
-
},
|
|
294
|
+
}, Fn = () => cA;
|
|
294
295
|
let Aa;
|
|
295
|
-
const
|
|
296
|
+
const yn = (n) => {
|
|
296
297
|
Aa = n;
|
|
297
|
-
},
|
|
298
|
+
}, Mn = () => new Promise((n) => {
|
|
298
299
|
const t = nt.getHubUrl(), e = (A) => {
|
|
299
300
|
A.origin === t && (window.removeEventListener("message", e), n(A.data));
|
|
300
301
|
};
|
|
301
302
|
window.parent !== window && (window.addEventListener("message", e, !1), window.parent.postMessage("ready", t));
|
|
302
|
-
}),
|
|
303
|
+
}), Sn = async () => {
|
|
303
304
|
const n = {
|
|
304
305
|
applicationKey: cA,
|
|
305
306
|
customerToken: ea,
|
|
306
307
|
bearer: Aa
|
|
307
308
|
};
|
|
308
|
-
return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await
|
|
309
|
+
return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await Mn(), ...n } : n;
|
|
309
310
|
};
|
|
310
|
-
class
|
|
311
|
+
class xn {
|
|
311
312
|
constructor() {
|
|
312
313
|
this.shadowGraphqlClient = this.constructShadowGraphqlClient(), nt.addServerUrlCallback(() => {
|
|
313
314
|
this.shadowGraphqlClient = this.constructShadowGraphqlClient();
|
|
@@ -321,14 +322,14 @@ class Sn {
|
|
|
321
322
|
uri: `${nt.getServerUrl()}/graphql`,
|
|
322
323
|
fetch: rt
|
|
323
324
|
}), e = tn(async (s, o) => {
|
|
324
|
-
const { headers: r } = o, c = r || {}, l = await
|
|
325
|
+
const { headers: r } = o, c = r || {}, l = await Sn(), g = o.bearer ?? l.bearer, d = o.partnerId ?? l.partnerId, B = o.activeIntegration ?? l.activeIntegration, h = o.transactionOwnerId, C = o.customerToken ?? l.customerToken, w = o.applicationKey ?? l.applicationKey, u = o.bundleOwnerId;
|
|
325
326
|
try {
|
|
326
327
|
if (window && window.__SENTRY__) {
|
|
327
328
|
const E = window.__SENTRY__.hub;
|
|
328
329
|
if (E) {
|
|
329
|
-
const
|
|
330
|
-
Object.entries(
|
|
331
|
-
c[
|
|
330
|
+
const m = E.traceHeaders();
|
|
331
|
+
Object.entries(m).forEach(([f, Q]) => {
|
|
332
|
+
c[f] = Q;
|
|
332
333
|
});
|
|
333
334
|
}
|
|
334
335
|
}
|
|
@@ -392,7 +393,7 @@ class Sn {
|
|
|
392
393
|
});
|
|
393
394
|
}
|
|
394
395
|
}
|
|
395
|
-
const P = new
|
|
396
|
+
const P = new xn();
|
|
396
397
|
let Ze, $e;
|
|
397
398
|
const lt = (n, t, e) => {
|
|
398
399
|
if (Ze !== void 0)
|
|
@@ -441,28 +442,28 @@ function lA() {
|
|
|
441
442
|
return Re === void 0 && (Re = DOMParser), Re;
|
|
442
443
|
}
|
|
443
444
|
let Ae = null;
|
|
444
|
-
const
|
|
445
|
+
const Yn = (n) => new Promise((t) => {
|
|
445
446
|
var a;
|
|
446
447
|
if (Xt(n) !== "image/jpeg")
|
|
447
448
|
return t(1);
|
|
448
449
|
const A = (a = an.load(n).Orientation) == null ? void 0 : a.value;
|
|
449
450
|
return t(A ? Number(A) : 1);
|
|
450
|
-
}),
|
|
451
|
+
}), Pn = async () => {
|
|
451
452
|
if (Ae !== null)
|
|
452
453
|
return !Ae;
|
|
453
454
|
const t = await qt("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAIAAwMBEQACEQEDEQH/xABRAAEAAAAAAAAAAAAAAAAAAAAKEAEBAQADAQEAAAAAAAAAAAAGBQQDCAkCBwEBAAAAAAAAAAAAAAAAAAAAABEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AG8T9NfSMEVMhQvoP3fFiRZ+MTHDifa/95OFSZU5OzRzxkyejv8ciEfhSceSXGjS8eSdLnZc2HDm4M3BxcXwH/9k=");
|
|
454
455
|
return Ae = t.width === 2 && t.height === 3, !Ae;
|
|
455
|
-
},
|
|
456
|
+
}, vn = (n) => {
|
|
456
457
|
const e = n.naturalWidth / n.naturalHeight;
|
|
457
458
|
return n.naturalHeight <= 8192 && n.naturalWidth <= 8192 ? [n.naturalWidth, n.naturalHeight] : n.naturalHeight > n.naturalWidth ? [e * 8192, 8192] : [8192, 8192 / e];
|
|
458
|
-
},
|
|
459
|
+
}, Nn = async (n) => {
|
|
459
460
|
var g;
|
|
460
|
-
const t = await
|
|
461
|
-
if (!await
|
|
461
|
+
const t = await pn(n), e = await qt(t), [A, a] = vn(e);
|
|
462
|
+
if (!await Pn()) {
|
|
462
463
|
const d = lt(A, a);
|
|
463
464
|
return (g = d.getContext("2d")) == null || g.drawImage(e, 0, 0, A, a), d;
|
|
464
465
|
}
|
|
465
|
-
const s = await
|
|
466
|
+
const s = await Yn(n), [o, r] = s > 4 ? [a, A] : [A, a], c = lt(o, r), l = c.getContext("2d");
|
|
466
467
|
switch (s) {
|
|
467
468
|
case 2:
|
|
468
469
|
l.translate(o, 0), l.scale(-1, 1);
|
|
@@ -488,7 +489,7 @@ const xn = (n) => new Promise((t) => {
|
|
|
488
489
|
}
|
|
489
490
|
return l.drawImage(e, 0, 0, o, r), c;
|
|
490
491
|
}, xe = async (n) => {
|
|
491
|
-
const t = await
|
|
492
|
+
const t = await Nn(n);
|
|
492
493
|
return Xt(n) === "image/jpeg" ? {
|
|
493
494
|
dataUrl: t.toDataURL("image/jpeg", 1),
|
|
494
495
|
height: t.height,
|
|
@@ -498,7 +499,7 @@ const xn = (n) => new Promise((t) => {
|
|
|
498
499
|
height: t.height,
|
|
499
500
|
width: t.width
|
|
500
501
|
};
|
|
501
|
-
},
|
|
502
|
+
}, Rn = F`
|
|
502
503
|
fragment AssetMetadataFields on Asset {
|
|
503
504
|
metadata {
|
|
504
505
|
key
|
|
@@ -506,7 +507,7 @@ const xn = (n) => new Promise((t) => {
|
|
|
506
507
|
}
|
|
507
508
|
}
|
|
508
509
|
`, Zt = (n) => F`
|
|
509
|
-
${n &&
|
|
510
|
+
${n && Rn || ""}
|
|
510
511
|
fragment AssetFields on Asset {
|
|
511
512
|
name
|
|
512
513
|
key
|
|
@@ -520,7 +521,7 @@ const xn = (n) => new Promise((t) => {
|
|
|
520
521
|
}
|
|
521
522
|
${n && "...AssetMetadataFields" || ""}
|
|
522
523
|
}
|
|
523
|
-
`,
|
|
524
|
+
`, kn = F`
|
|
524
525
|
${Zt(!1)}
|
|
525
526
|
query GetAssets($keys: [String]!) {
|
|
526
527
|
assets(keys: $keys) {
|
|
@@ -574,14 +575,14 @@ const xn = (n) => new Promise((t) => {
|
|
|
574
575
|
fileLink
|
|
575
576
|
}
|
|
576
577
|
}
|
|
577
|
-
`,
|
|
578
|
+
`, Hn = F`
|
|
578
579
|
${gA}
|
|
579
580
|
query GetMaterials($ids: [String]) {
|
|
580
581
|
materials(id: $ids) {
|
|
581
582
|
...MaterialFields
|
|
582
583
|
}
|
|
583
584
|
}
|
|
584
|
-
`,
|
|
585
|
+
`, bn = F`
|
|
585
586
|
mutation CreateAsset($name: String!, $type: String!, $mimeType: String!, $anonymous: Boolean, $temporary: Boolean) {
|
|
586
587
|
assetCreate(name: $name, type: $type, mimeType: $mimeType, anonymous: $anonymous, temporary: $temporary) {
|
|
587
588
|
uploadUrl
|
|
@@ -595,7 +596,7 @@ const xn = (n) => new Promise((t) => {
|
|
|
595
596
|
}
|
|
596
597
|
}
|
|
597
598
|
}
|
|
598
|
-
`,
|
|
599
|
+
`, Un = F`
|
|
599
600
|
${Zt(!1)}
|
|
600
601
|
mutation RemoveBackgroundFromAsset($key: String!) {
|
|
601
602
|
assetRemoveBackground(key: $key) {
|
|
@@ -603,23 +604,23 @@ const xn = (n) => new Promise((t) => {
|
|
|
603
604
|
}
|
|
604
605
|
}
|
|
605
606
|
`, _e = async (n) => (await P.getShadowGraphqlClient().query({
|
|
606
|
-
query:
|
|
607
|
+
query: kn,
|
|
607
608
|
errorPolicy: "all",
|
|
608
609
|
fetchPolicy: "no-cache",
|
|
609
610
|
variables: {
|
|
610
611
|
keys: n
|
|
611
612
|
}
|
|
612
|
-
})).data.assets,
|
|
613
|
-
query:
|
|
613
|
+
})).data.assets, Gn = async (n) => (await P.getShadowGraphqlClient().query({
|
|
614
|
+
query: Hn,
|
|
614
615
|
errorPolicy: "all",
|
|
615
616
|
fetchPolicy: "no-cache",
|
|
616
617
|
variables: {
|
|
617
618
|
ids: n
|
|
618
619
|
}
|
|
619
|
-
})).data.materials,
|
|
620
|
+
})).data.materials, Jn = async (n, t, e, A, a) => {
|
|
620
621
|
var s;
|
|
621
622
|
return (s = (await P.getShadowGraphqlClient().mutate({
|
|
622
|
-
mutation:
|
|
623
|
+
mutation: bn,
|
|
623
624
|
errorPolicy: "all",
|
|
624
625
|
fetchPolicy: "no-cache",
|
|
625
626
|
variables: {
|
|
@@ -631,7 +632,7 @@ const xn = (n) => new Promise((t) => {
|
|
|
631
632
|
}
|
|
632
633
|
})).data) == null ? void 0 : s.assetCreate;
|
|
633
634
|
};
|
|
634
|
-
class
|
|
635
|
+
class Tn {
|
|
635
636
|
constructor() {
|
|
636
637
|
this.cache = /* @__PURE__ */ new Map(), this.bgrmProcessCache = /* @__PURE__ */ new Map(), this.materialCache = /* @__PURE__ */ new Map(), this.loadImageAsFileInfo = async (t) => {
|
|
637
638
|
const e = await t.arrayBuffer(), A = await xe(e), a = (i, s) => {
|
|
@@ -698,7 +699,7 @@ class Jn {
|
|
|
698
699
|
async getMaterialLocalOrFromServer(t) {
|
|
699
700
|
if (this.materialCache.has(t))
|
|
700
701
|
return this.materialCache.get(t);
|
|
701
|
-
const A = (async () => (await
|
|
702
|
+
const A = (async () => (await Gn([t]))[0])();
|
|
702
703
|
return this.materialCache.set(t, A), A;
|
|
703
704
|
}
|
|
704
705
|
/**
|
|
@@ -747,7 +748,7 @@ class Jn {
|
|
|
747
748
|
const a = (async () => {
|
|
748
749
|
var s, o;
|
|
749
750
|
const i = await P.getShadowGraphqlClient().mutate({
|
|
750
|
-
mutation:
|
|
751
|
+
mutation: Un,
|
|
751
752
|
fetchPolicy: "no-cache",
|
|
752
753
|
errorPolicy: "all",
|
|
753
754
|
variables: {
|
|
@@ -781,7 +782,7 @@ class Jn {
|
|
|
781
782
|
* @param assetType The type of asset we're expecting to upload
|
|
782
783
|
*/
|
|
783
784
|
async dispatchCreateAssetRequest(t, e, A, a) {
|
|
784
|
-
const i = t.blob.type ? t.blob.type : this.guessMIME(t.name), s = await
|
|
785
|
+
const i = t.blob.type ? t.blob.type : this.guessMIME(t.name), s = await Jn(t.name, e, i, A, a);
|
|
785
786
|
if (s)
|
|
786
787
|
return {
|
|
787
788
|
assetResponse: s,
|
|
@@ -888,8 +889,8 @@ class q {
|
|
|
888
889
|
Y.setMap(vA, t);
|
|
889
890
|
}
|
|
890
891
|
}
|
|
891
|
-
const J = new
|
|
892
|
-
class
|
|
892
|
+
const J = new Tn();
|
|
893
|
+
class On {
|
|
893
894
|
constructor() {
|
|
894
895
|
this.cache = {}, this.disabled = !1;
|
|
895
896
|
}
|
|
@@ -920,7 +921,7 @@ class Tn {
|
|
|
920
921
|
this.disabled = t;
|
|
921
922
|
}
|
|
922
923
|
}
|
|
923
|
-
const zt = new
|
|
924
|
+
const zt = new On(), sa = F`
|
|
924
925
|
fragment OptionFields on Option {
|
|
925
926
|
id
|
|
926
927
|
name
|
|
@@ -957,7 +958,7 @@ const zt = new Tn(), sa = F`
|
|
|
957
958
|
...AssetFields
|
|
958
959
|
}
|
|
959
960
|
}
|
|
960
|
-
`,
|
|
961
|
+
`, Ln = F`
|
|
961
962
|
${Zt(!1)}
|
|
962
963
|
${gA}
|
|
963
964
|
${sa}
|
|
@@ -966,9 +967,9 @@ const zt = new Tn(), sa = F`
|
|
|
966
967
|
...OptionFields
|
|
967
968
|
}
|
|
968
969
|
}
|
|
969
|
-
`,
|
|
970
|
+
`, zn = async (n) => {
|
|
970
971
|
const t = await P.getShadowGraphqlClient().query({
|
|
971
|
-
query:
|
|
972
|
+
query: Ln,
|
|
972
973
|
errorPolicy: "all",
|
|
973
974
|
fetchPolicy: "no-cache",
|
|
974
975
|
variables: {
|
|
@@ -981,16 +982,16 @@ const zt = new Tn(), sa = F`
|
|
|
981
982
|
i.asset && J.cacheAsset(i.asset), i.thumbnail && J.cacheAsset(i.thumbnail), i.material && J.cacheMaterial(i.material);
|
|
982
983
|
});
|
|
983
984
|
}), t.data.options;
|
|
984
|
-
},
|
|
985
|
+
}, jn = async (n, t) => (await t).find((A) => A.id === n), Kn = async (n) => {
|
|
985
986
|
const t = n.map((s) => zt.get({ id: s })), e = n.filter((s, o) => t[o] === void 0);
|
|
986
987
|
if (e.length === 0)
|
|
987
988
|
return Promise.all(t);
|
|
988
|
-
const A =
|
|
989
|
-
(s) => zt.set({ id: s },
|
|
989
|
+
const A = zn(e), a = e.map(
|
|
990
|
+
(s) => zt.set({ id: s }, jn(s, A))
|
|
990
991
|
), i = t.filter((s) => s !== void 0);
|
|
991
992
|
return await Promise.all(i.concat(a));
|
|
992
993
|
};
|
|
993
|
-
class
|
|
994
|
+
class Vn {
|
|
994
995
|
constructor() {
|
|
995
996
|
this.getSelectedVariant = (t, e) => {
|
|
996
997
|
var A;
|
|
@@ -1004,7 +1005,7 @@ class Kn {
|
|
|
1004
1005
|
*/
|
|
1005
1006
|
async getOption(t) {
|
|
1006
1007
|
return (async () => {
|
|
1007
|
-
const a = (await
|
|
1008
|
+
const a = (await Kn([t]))[0];
|
|
1008
1009
|
if (a)
|
|
1009
1010
|
return a;
|
|
1010
1011
|
})();
|
|
@@ -1036,7 +1037,7 @@ class Kn {
|
|
|
1036
1037
|
}
|
|
1037
1038
|
}
|
|
1038
1039
|
}
|
|
1039
|
-
const _ = new
|
|
1040
|
+
const _ = new Vn(), oa = F`
|
|
1040
1041
|
fragment ActiveIntegrationFields on Integration {
|
|
1041
1042
|
id
|
|
1042
1043
|
logo
|
|
@@ -1053,7 +1054,7 @@ const _ = new Kn(), oa = F`
|
|
|
1053
1054
|
activeAddons
|
|
1054
1055
|
}
|
|
1055
1056
|
}
|
|
1056
|
-
`,
|
|
1057
|
+
`, Wn = F`
|
|
1057
1058
|
${oa}
|
|
1058
1059
|
query GetCurrentIntegration {
|
|
1059
1060
|
currentIntegration {
|
|
@@ -1174,7 +1175,7 @@ const _ = new Kn(), oa = F`
|
|
|
1174
1175
|
}
|
|
1175
1176
|
}
|
|
1176
1177
|
}
|
|
1177
|
-
`,
|
|
1178
|
+
`, Xn = F`
|
|
1178
1179
|
${Pt}
|
|
1179
1180
|
mutation CreateTransactions(
|
|
1180
1181
|
$inputs: [TransactionCreateInput]!
|
|
@@ -1260,7 +1261,7 @@ const _ = new Kn(), oa = F`
|
|
|
1260
1261
|
}
|
|
1261
1262
|
}
|
|
1262
1263
|
}
|
|
1263
|
-
`,
|
|
1264
|
+
`, qn = F`
|
|
1264
1265
|
${Pt}
|
|
1265
1266
|
mutation ClaimTransaction($id: String!) {
|
|
1266
1267
|
transactionClaim(id: $id) {
|
|
@@ -1495,19 +1496,19 @@ const _ = new Kn(), oa = F`
|
|
|
1495
1496
|
}
|
|
1496
1497
|
}
|
|
1497
1498
|
}
|
|
1498
|
-
`,
|
|
1499
|
+
`, Zn = F`
|
|
1499
1500
|
mutation UpdateTransactionWorkflowState($id: String!, $workflowState: String!) {
|
|
1500
1501
|
transactionUpdate(id: $id, workflowState: $workflowState) {
|
|
1501
1502
|
id
|
|
1502
1503
|
}
|
|
1503
1504
|
}
|
|
1504
|
-
`,
|
|
1505
|
+
`, $n = F`
|
|
1505
1506
|
mutation UpdateTransactionWorkflowId($id: String!, $workflowId: String!) {
|
|
1506
1507
|
transactionUpdate(id: $id, workflowId: $workflowId) {
|
|
1507
1508
|
id
|
|
1508
1509
|
}
|
|
1509
1510
|
}
|
|
1510
|
-
`,
|
|
1511
|
+
`, _n = F`
|
|
1511
1512
|
mutation UpdateTransactionQuantity($id: String!, $quantity: Int) {
|
|
1512
1513
|
transactionUpdate(id: $id, quantity: $quantity) {
|
|
1513
1514
|
id
|
|
@@ -1560,7 +1561,7 @@ F`
|
|
|
1560
1561
|
}
|
|
1561
1562
|
}
|
|
1562
1563
|
`;
|
|
1563
|
-
const
|
|
1564
|
+
const ti = F`
|
|
1564
1565
|
${ca}
|
|
1565
1566
|
query ReadTransactionForShareActions($id: String!) {
|
|
1566
1567
|
transactions(ids: [$id]) {
|
|
@@ -1640,14 +1641,14 @@ const _n = F`
|
|
|
1640
1641
|
}
|
|
1641
1642
|
}
|
|
1642
1643
|
}
|
|
1643
|
-
`,
|
|
1644
|
+
`, ei = F`
|
|
1644
1645
|
${ga}
|
|
1645
1646
|
query GetIntegrationProducts($ids: [String!]!) {
|
|
1646
1647
|
integrationProducts(ids: $ids) {
|
|
1647
1648
|
...IntegrationProductFields
|
|
1648
1649
|
}
|
|
1649
1650
|
}
|
|
1650
|
-
`,
|
|
1651
|
+
`, Ai = F`
|
|
1651
1652
|
${ga}
|
|
1652
1653
|
query GetIntegrationProductFromExternalIds($externalIntegrationId: String!, $externalProductId: String!) {
|
|
1653
1654
|
integrationProductFromExternalIds(
|
|
@@ -1657,7 +1658,7 @@ const _n = F`
|
|
|
1657
1658
|
...IntegrationProductFields
|
|
1658
1659
|
}
|
|
1659
1660
|
}
|
|
1660
|
-
`,
|
|
1661
|
+
`, ai = F`
|
|
1661
1662
|
${ra}
|
|
1662
1663
|
query ReadTransactionForStakeholders($id: String!) {
|
|
1663
1664
|
transactions(ids: [$id]) {
|
|
@@ -1669,7 +1670,7 @@ const _n = F`
|
|
|
1669
1670
|
}
|
|
1670
1671
|
}
|
|
1671
1672
|
}
|
|
1672
|
-
`, Nt = [M.SilentIllustration, M.ProductOverlay],
|
|
1673
|
+
`, Nt = [M.SilentIllustration, M.ProductOverlay], ni = async (n) => {
|
|
1673
1674
|
const t = [];
|
|
1674
1675
|
n.introduction && t.push({
|
|
1675
1676
|
name: "Introduction",
|
|
@@ -1687,7 +1688,7 @@ const _n = F`
|
|
|
1687
1688
|
silentSteps: []
|
|
1688
1689
|
});
|
|
1689
1690
|
for (const A of n.steps) {
|
|
1690
|
-
const a =
|
|
1691
|
+
const a = ii(A.stepName, n.stepGroups);
|
|
1691
1692
|
if (!a)
|
|
1692
1693
|
t.push({
|
|
1693
1694
|
name: A.stepName,
|
|
@@ -1724,7 +1725,7 @@ const _n = F`
|
|
|
1724
1725
|
],
|
|
1725
1726
|
silentSteps: []
|
|
1726
1727
|
}), t;
|
|
1727
|
-
},
|
|
1728
|
+
}, ii = (n, t) => t.find((e) => e.stepNames.includes(n)), Et = (n, t) => (n.conditions || []).every((e) => {
|
|
1728
1729
|
const A = t[e.targetStepName];
|
|
1729
1730
|
if (A && A.selectedVariants) {
|
|
1730
1731
|
const a = A.selectedVariants;
|
|
@@ -1733,7 +1734,7 @@ const _n = F`
|
|
|
1733
1734
|
);
|
|
1734
1735
|
}
|
|
1735
1736
|
return !1;
|
|
1736
|
-
}),
|
|
1737
|
+
}), si = (n, t) => {
|
|
1737
1738
|
const e = {
|
|
1738
1739
|
name: n.name,
|
|
1739
1740
|
title: n.title,
|
|
@@ -1741,7 +1742,7 @@ const _n = F`
|
|
|
1741
1742
|
silentSteps: n.silentSteps.filter((A) => Et(A, t))
|
|
1742
1743
|
};
|
|
1743
1744
|
return e.silentSteps.length === 0 && e.renderableSteps.length === 0 ? null : e;
|
|
1744
|
-
}, yt = (n, t) => n.map((e) =>
|
|
1745
|
+
}, yt = (n, t) => n.map((e) => si(e, t)).filter((e) => e !== null), oi = async (n, t, e = !1) => {
|
|
1745
1746
|
var s;
|
|
1746
1747
|
const A = yt(n, t), a = [];
|
|
1747
1748
|
for (const o of A)
|
|
@@ -1841,25 +1842,7 @@ const $t = (n) => {
|
|
|
1841
1842
|
if (n.defaultVariant !== void 0)
|
|
1842
1843
|
return t.find((e) => e.id === n.defaultVariant);
|
|
1843
1844
|
}
|
|
1844
|
-
}
|
|
1845
|
-
function oi(n) {
|
|
1846
|
-
if (!/^data:/i.test(n))
|
|
1847
|
-
throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');
|
|
1848
|
-
n = n.replace(/\r?\n/g, "");
|
|
1849
|
-
const t = n.indexOf(",");
|
|
1850
|
-
if (t === -1 || t <= 4)
|
|
1851
|
-
throw new TypeError("malformed data: URI");
|
|
1852
|
-
const e = n.substring(5, t).split(";");
|
|
1853
|
-
let A = "", a = !1;
|
|
1854
|
-
const i = e[0] || "text/plain";
|
|
1855
|
-
let s = i;
|
|
1856
|
-
for (let l = 1; l < e.length; l++)
|
|
1857
|
-
e[l] === "base64" ? a = !0 : e[l] && (s += `;${e[l]}`, e[l].indexOf("charset=") === 0 && (A = e[l].substring(8)));
|
|
1858
|
-
!e[0] && !A.length && (s += ";charset=US-ASCII", A = "US-ASCII");
|
|
1859
|
-
const o = a ? "base64" : "ascii", r = unescape(n.substring(t + 1)), c = Buffer.from(r, o);
|
|
1860
|
-
return c.type = i, c.typeFull = s, c.charset = A, c;
|
|
1861
|
-
}
|
|
1862
|
-
const ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map(), ha = async (n, t) => {
|
|
1845
|
+
}, ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map(), ha = async (n, t) => {
|
|
1863
1846
|
if (!t) {
|
|
1864
1847
|
if (!n)
|
|
1865
1848
|
throw new Error("No region or src supplied. Cannot construct frame!");
|
|
@@ -1936,7 +1919,7 @@ const ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), ke = /* @_
|
|
|
1936
1919
|
if (ut.has(n))
|
|
1937
1920
|
return ut.get(n);
|
|
1938
1921
|
if (n.startsWith("data:image/svg+xml")) {
|
|
1939
|
-
const A =
|
|
1922
|
+
const A = nn(n), a = new TextDecoder().decode(A.buffer), i = wa(a), s = {
|
|
1940
1923
|
src: n,
|
|
1941
1924
|
width: i.width,
|
|
1942
1925
|
height: i.height,
|
|
@@ -4668,7 +4651,7 @@ const ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), ke = /* @_
|
|
|
4668
4651
|
parseInt(n.substring(2, 4), 16),
|
|
4669
4652
|
parseInt(n.substring(4, 6), 16)
|
|
4670
4653
|
]);
|
|
4671
|
-
function
|
|
4654
|
+
function Er(n) {
|
|
4672
4655
|
const t = jt.indexOf(n);
|
|
4673
4656
|
return t >= 0 ? St[t] : "";
|
|
4674
4657
|
}
|
|
@@ -4676,7 +4659,7 @@ function ci(n) {
|
|
|
4676
4659
|
const t = St.indexOf(n);
|
|
4677
4660
|
return t >= 0 ? jt[t] : "";
|
|
4678
4661
|
}
|
|
4679
|
-
function
|
|
4662
|
+
function mr(n, t = 64) {
|
|
4680
4663
|
const e = [], A = [], a = ci(n);
|
|
4681
4664
|
a && e.push({
|
|
4682
4665
|
pms: a,
|
|
@@ -4694,8 +4677,8 @@ function Er(n, t = 64) {
|
|
|
4694
4677
|
A[g] <= t && !e.some((d) => d.pms === jt[g]) && e.push({ pms: jt[g], hex: St[g], distance: A[g] });
|
|
4695
4678
|
return e.sort((g, d) => g.distance - d.distance);
|
|
4696
4679
|
}
|
|
4697
|
-
const li = jt.map((n, t) => ({ pms: n, hex: St[t] })), gi = new
|
|
4698
|
-
function
|
|
4680
|
+
const li = jt.map((n, t) => ({ pms: n, hex: St[t] })), gi = new on(li, { keys: ["pms"] });
|
|
4681
|
+
function Qr(n, t) {
|
|
4699
4682
|
return gi.search(n, t ? { limit: t } : void 0);
|
|
4700
4683
|
}
|
|
4701
4684
|
let Rt = null;
|
|
@@ -4770,7 +4753,7 @@ const ne = (n) => {
|
|
|
4770
4753
|
}
|
|
4771
4754
|
if (A.tagName === "style") {
|
|
4772
4755
|
try {
|
|
4773
|
-
(i =
|
|
4756
|
+
(i = sn(A.innerHTML).stylesheet) == null || i.rules.forEach((c) => {
|
|
4774
4757
|
e.push(c);
|
|
4775
4758
|
}), A.remove();
|
|
4776
4759
|
} catch (r) {
|
|
@@ -4841,16 +4824,16 @@ const ne = (n) => {
|
|
|
4841
4824
|
}
|
|
4842
4825
|
});
|
|
4843
4826
|
});
|
|
4844
|
-
},
|
|
4827
|
+
}, Qa = (n) => Se().serializeToString(n), hA = (n, t, e, A, a) => {
|
|
4845
4828
|
const i = Ea(n);
|
|
4846
4829
|
if (!i)
|
|
4847
4830
|
throw new Error("Failed to read SVG.");
|
|
4848
|
-
return wi(i, t, e), ma(i, A, a),
|
|
4849
|
-
},
|
|
4831
|
+
return wi(i, t, e), ma(i, A, a), Qa(i);
|
|
4832
|
+
}, fa = (n, t, e) => {
|
|
4850
4833
|
const A = Ea(n);
|
|
4851
4834
|
if (!A)
|
|
4852
4835
|
throw new Error("Failed to read SVG.");
|
|
4853
|
-
return ma(A, t, e),
|
|
4836
|
+
return ma(A, t, e), Qa(A);
|
|
4854
4837
|
}, ui = (n) => {
|
|
4855
4838
|
const t = /<svg.*<\/svg>/s, e = n.match(t) || [], A = (e == null ? void 0 : e.length) > 0 ? e[0] : "";
|
|
4856
4839
|
return Bt().parseFromString(A, "image/svg+xml");
|
|
@@ -4896,15 +4879,15 @@ const ne = (n) => {
|
|
|
4896
4879
|
viewBox: g,
|
|
4897
4880
|
width: d
|
|
4898
4881
|
}) => {
|
|
4899
|
-
var
|
|
4900
|
-
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 = k(), 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 }) }) }),
|
|
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 = k(), 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) => (
|
|
4901
4884
|
/* @ts-ignore */
|
|
4902
|
-
/* @__PURE__ */ v("color-profile", { name:
|
|
4903
|
-
)),
|
|
4904
|
-
...
|
|
4885
|
+
/* @__PURE__ */ v("color-profile", { name: I.name, xlinkHref: I.key, children: " " }, D)
|
|
4886
|
+
)), f = a.map((I) => ({
|
|
4887
|
+
...I,
|
|
4905
4888
|
_renderingConfiguration: A,
|
|
4906
4889
|
mask: r ? `url(#viewmask-${u})` : void 0
|
|
4907
|
-
})),
|
|
4890
|
+
})), Q = EA(f);
|
|
4908
4891
|
return /* @__PURE__ */ ot(
|
|
4909
4892
|
"svg",
|
|
4910
4893
|
{
|
|
@@ -4924,7 +4907,7 @@ const ne = (n) => {
|
|
|
4924
4907
|
},
|
|
4925
4908
|
viewBox: w,
|
|
4926
4909
|
children: [
|
|
4927
|
-
|
|
4910
|
+
m,
|
|
4928
4911
|
E,
|
|
4929
4912
|
!!n && /* @__PURE__ */ v(
|
|
4930
4913
|
"rect",
|
|
@@ -4941,7 +4924,7 @@ const ne = (n) => {
|
|
|
4941
4924
|
{
|
|
4942
4925
|
id: "element-group",
|
|
4943
4926
|
clipPath: A.purpose === Ot.FreeDesign ? "url(#viewboxClip)" : void 0,
|
|
4944
|
-
children:
|
|
4927
|
+
children: Q.map((I) => Ma(I)).filter((I) => !!I)
|
|
4945
4928
|
}
|
|
4946
4929
|
),
|
|
4947
4930
|
r && /* @__PURE__ */ v(
|
|
@@ -4983,32 +4966,32 @@ const ne = (n) => {
|
|
|
4983
4966
|
}
|
|
4984
4967
|
);
|
|
4985
4968
|
}, fr = (n, t, e, A, a) => {
|
|
4986
|
-
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,
|
|
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, f = Math.max(Math.abs(w), Math.abs(u)), Q = Math.max(Math.abs(E), Math.abs(m));
|
|
4987
4970
|
return {
|
|
4988
|
-
minX: r -
|
|
4989
|
-
maxX: r +
|
|
4990
|
-
minY: c -
|
|
4991
|
-
maxY: c +
|
|
4971
|
+
minX: r - f,
|
|
4972
|
+
maxX: r + f,
|
|
4973
|
+
minY: c - Q,
|
|
4974
|
+
maxY: c + Q
|
|
4992
4975
|
};
|
|
4993
|
-
},
|
|
4976
|
+
}, pr = (n, t, e) => {
|
|
4994
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));
|
|
4995
4978
|
return Math.acos((a * a + A * A - i * i) / (2 * a * A)) * (180 / Math.PI);
|
|
4996
|
-
}, dt = (n) => n * (Math.PI / 180),
|
|
4979
|
+
}, dt = (n) => n * (Math.PI / 180), Ir = (n, t, e) => Math.abs(n - t) < e, Dr = (n, t, e) => {
|
|
4997
4980
|
const A = Math.sin(dt(e)), a = Math.cos(dt(e));
|
|
4998
4981
|
return {
|
|
4999
4982
|
x: (n.x - t.x) * a - (n.y - t.y) * A + t.x,
|
|
5000
4983
|
y: (n.x - t.x) * A + (n.y - t.y) * a + t.y
|
|
5001
4984
|
};
|
|
5002
|
-
},
|
|
4985
|
+
}, Fr = (n, t) => ({
|
|
5003
4986
|
x: (n.x + t.x) / 2,
|
|
5004
4987
|
y: (n.y + t.y) / 2
|
|
5005
|
-
}),
|
|
4988
|
+
}), yr = (n, t, e, A) => ({
|
|
5006
4989
|
x: n.x + (t == null ? void 0 : t.x) * e,
|
|
5007
4990
|
y: n.y + (t == null ? void 0 : t.y) * A
|
|
5008
|
-
}),
|
|
4991
|
+
}), Mr = (n, t, e, A) => ({
|
|
5009
4992
|
x: n.x + ((t == null ? void 0 : t.x) + (t == null ? void 0 : t.width)) * e,
|
|
5010
4993
|
y: n.y + (t == null ? void 0 : t.y) * A
|
|
5011
|
-
}),
|
|
4994
|
+
}), Sr = (n, t, e, A) => ({
|
|
5012
4995
|
x: n.x + ((t == null ? void 0 : t.x) + (t == null ? void 0 : t.width)) * e,
|
|
5013
4996
|
y: n.y + ((t == null ? void 0 : t.y) + (t == null ? void 0 : t.height)) * A
|
|
5014
4997
|
}), It = (n) => {
|
|
@@ -5030,7 +5013,7 @@ const ne = (n) => {
|
|
|
5030
5013
|
case W.Southwest:
|
|
5031
5014
|
return W.Northwest;
|
|
5032
5015
|
}
|
|
5033
|
-
},
|
|
5016
|
+
}, xr = (n, t) => t > 45 && t <= 135 ? It(n) : t > 135 && t <= 225 ? It(It(n)) : t > 225 && t <= 315 ? It(It(It(n))) : n, Yr = (n, t = { x: 0, y: 0 }, e = { x: 1, y: 1 }) => {
|
|
5034
5017
|
const A = dt(n.rotation), a = {
|
|
5035
5018
|
x: t.x + n.x * e.x,
|
|
5036
5019
|
y: t.x + n.y * e.y
|
|
@@ -5060,7 +5043,7 @@ const ne = (n) => {
|
|
|
5060
5043
|
x: (n.x - t.x) * a - (n.y - t.y) * A + t.x,
|
|
5061
5044
|
y: (n.x - t.x) * A + (n.y - t.y) * a + t.y
|
|
5062
5045
|
};
|
|
5063
|
-
},
|
|
5046
|
+
}, Pr = 0.352778, vr = 0.035277, pa = (n) => {
|
|
5064
5047
|
const t = n.rotation || 0, e = dt(t), A = Math.cos(e), a = -Math.sin(e);
|
|
5065
5048
|
return /* @__PURE__ */ v("g", { mask: n.stepName || n.productOverlay ? void 0 : n.mask, children: /* @__PURE__ */ v(
|
|
5066
5049
|
"g",
|
|
@@ -5119,7 +5102,7 @@ const ne = (n) => {
|
|
|
5119
5102
|
if (!n.pattern)
|
|
5120
5103
|
return "";
|
|
5121
5104
|
if (n.pattern.svg) {
|
|
5122
|
-
const g =
|
|
5105
|
+
const g = fa(n.pattern.svg, n.pattern.colors || {}, !1);
|
|
5123
5106
|
return _A(g);
|
|
5124
5107
|
}
|
|
5125
5108
|
return n.pattern.src;
|
|
@@ -5146,8 +5129,8 @@ const ne = (n) => {
|
|
|
5146
5129
|
/* @__PURE__ */ v("feFuncB", { type: "discrete", tableValues: a() })
|
|
5147
5130
|
] })
|
|
5148
5131
|
] }) }) }), s = n.rotation || 0, o = dt(s), r = Math.cos(o), c = -Math.sin(o), l = () => {
|
|
5149
|
-
var
|
|
5150
|
-
const g = ((
|
|
5132
|
+
var m, f, Q, p, I, D, y, x, N, S;
|
|
5133
|
+
const g = ((m = n.pattern) == null ? void 0 : m.x) || 0, d = ((f = n.pattern) == null ? void 0 : f.y) || 0, B = ((Q = n.pattern) == null ? void 0 : Q.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;
|
|
5151
5134
|
return [(x = n.pattern) != null && x.svg ? {
|
|
5152
5135
|
id: `${t}-contents`,
|
|
5153
5136
|
type: R.Illustration,
|
|
@@ -5207,7 +5190,7 @@ const ne = (n) => {
|
|
|
5207
5190
|
)
|
|
5208
5191
|
] });
|
|
5209
5192
|
}, Da = /* @__PURE__ */ new Map();
|
|
5210
|
-
class
|
|
5193
|
+
class Qi {
|
|
5211
5194
|
constructor(t) {
|
|
5212
5195
|
this.font = t, this.glyphsFromText = /* @__PURE__ */ new Map(), this.kerningValues = /* @__PURE__ */ new Map(), this.height = this.calculateApproximateHeight();
|
|
5213
5196
|
}
|
|
@@ -5257,19 +5240,19 @@ class fi {
|
|
|
5257
5240
|
}), A - a;
|
|
5258
5241
|
}
|
|
5259
5242
|
}
|
|
5260
|
-
const
|
|
5243
|
+
const fi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @__PURE__ */ new Map(), _t = async (n) => {
|
|
5261
5244
|
if (be.has(n))
|
|
5262
5245
|
return be.get(n);
|
|
5263
5246
|
const e = (async () => {
|
|
5264
5247
|
try {
|
|
5265
|
-
return
|
|
5248
|
+
return Qt(n).getFont();
|
|
5266
5249
|
} catch {
|
|
5267
|
-
if (
|
|
5250
|
+
if (fi(n)) {
|
|
5268
5251
|
const A = ta(n), a = Ve.parse(A);
|
|
5269
5252
|
return AA(n, a), a;
|
|
5270
5253
|
} else {
|
|
5271
5254
|
const A = await Me(n, !0), a = Ve.parse(A);
|
|
5272
|
-
return AA(n, a), await
|
|
5255
|
+
return AA(n, a), await Qn(a, n), a;
|
|
5273
5256
|
}
|
|
5274
5257
|
}
|
|
5275
5258
|
})();
|
|
@@ -5277,13 +5260,13 @@ const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5277
5260
|
}, CA = (n) => {
|
|
5278
5261
|
const t = ta(n), e = Ve.parse(t);
|
|
5279
5262
|
return AA(n, e), e;
|
|
5280
|
-
},
|
|
5263
|
+
}, Qt = (n) => {
|
|
5281
5264
|
const t = Da.get(n);
|
|
5282
5265
|
if (t)
|
|
5283
5266
|
return t;
|
|
5284
5267
|
throw new Error("Font metrics unavailable for font");
|
|
5285
5268
|
}, AA = (n, t) => {
|
|
5286
|
-
const e = new
|
|
5269
|
+
const e = new Qi(t);
|
|
5287
5270
|
return Da.set(n, e), e;
|
|
5288
5271
|
}, me = (n, t, e, A) => Math.max(Fi(n.join(`
|
|
5289
5272
|
`), e, A), t), bA = (n, t, e, A, a, i) => {
|
|
@@ -5342,7 +5325,7 @@ const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5342
5325
|
return Math.min(g, l);
|
|
5343
5326
|
}, Ii = (n, t, e, A) => {
|
|
5344
5327
|
var c;
|
|
5345
|
-
const a =
|
|
5328
|
+
const a = Qt(t.fontData.assetUrl), i = a.getFont(), s = t.fontSize / i.unitsPerEm;
|
|
5346
5329
|
if (!e)
|
|
5347
5330
|
return bA(t, n, t.fontSize, s, a, A);
|
|
5348
5331
|
let o;
|
|
@@ -5363,9 +5346,9 @@ const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5363
5346
|
fontSize: pi(o, a, i, t.width, t.height, A)
|
|
5364
5347
|
} : bA(t, n, t.fontSize, s, a, A);
|
|
5365
5348
|
}, Di = (n, t, e, A, a) => {
|
|
5366
|
-
const s =
|
|
5349
|
+
const s = Qt(t.assetUrl).getFont();
|
|
5367
5350
|
let o = { ...n };
|
|
5368
|
-
const r = { ...n }, c = Fa(A, e / s.unitsPerEm,
|
|
5351
|
+
const r = { ...n }, c = Fa(A, e / s.unitsPerEm, Qt(t.assetUrl));
|
|
5369
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;
|
|
5370
5353
|
}, Ue = 1, ct = (n, t, e) => {
|
|
5371
5354
|
let A = 0;
|
|
@@ -5394,7 +5377,7 @@ const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
|
|
|
5394
5377
|
stripControlCharacters: !0,
|
|
5395
5378
|
vertical: !1,
|
|
5396
5379
|
uppercase: !1
|
|
5397
|
-
},
|
|
5380
|
+
}, Qe = (n, t = UA) => {
|
|
5398
5381
|
const e = { ...UA, ...t };
|
|
5399
5382
|
let A = n || "";
|
|
5400
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(`
|
|
@@ -5780,7 +5763,7 @@ class GA extends T {
|
|
|
5780
5763
|
};
|
|
5781
5764
|
}
|
|
5782
5765
|
}
|
|
5783
|
-
class
|
|
5766
|
+
class Nr extends T {
|
|
5784
5767
|
constructor(t, e, A) {
|
|
5785
5768
|
super(), this.id = t, this.x = e, this.y = A;
|
|
5786
5769
|
}
|
|
@@ -5803,7 +5786,7 @@ class vr extends T {
|
|
|
5803
5786
|
};
|
|
5804
5787
|
}
|
|
5805
5788
|
}
|
|
5806
|
-
class
|
|
5789
|
+
class Rr extends T {
|
|
5807
5790
|
constructor(t, e) {
|
|
5808
5791
|
super(), this.id = t, this.angle = e;
|
|
5809
5792
|
}
|
|
@@ -5825,7 +5808,7 @@ class Nr extends T {
|
|
|
5825
5808
|
};
|
|
5826
5809
|
}
|
|
5827
5810
|
}
|
|
5828
|
-
class
|
|
5811
|
+
class kr extends T {
|
|
5829
5812
|
constructor(t, e, A) {
|
|
5830
5813
|
super(), this.id = t, this.width = Math.abs(e), this.height = Math.abs(A);
|
|
5831
5814
|
}
|
|
@@ -5942,7 +5925,7 @@ class V extends T {
|
|
|
5942
5925
|
return A !== void 0 ? A + 1 : 0;
|
|
5943
5926
|
}
|
|
5944
5927
|
}
|
|
5945
|
-
class
|
|
5928
|
+
class ft extends T {
|
|
5946
5929
|
constructor(t) {
|
|
5947
5930
|
super(), this.id = t;
|
|
5948
5931
|
}
|
|
@@ -6137,7 +6120,7 @@ class bi extends T {
|
|
|
6137
6120
|
};
|
|
6138
6121
|
}
|
|
6139
6122
|
}
|
|
6140
|
-
class
|
|
6123
|
+
class Hr extends T {
|
|
6141
6124
|
constructor(t, e) {
|
|
6142
6125
|
super(), this.id = t, this.src = e;
|
|
6143
6126
|
}
|
|
@@ -6228,7 +6211,7 @@ class Gi extends T {
|
|
|
6228
6211
|
};
|
|
6229
6212
|
}
|
|
6230
6213
|
}
|
|
6231
|
-
class
|
|
6214
|
+
class br extends T {
|
|
6232
6215
|
/**
|
|
6233
6216
|
* @param id The targeted element to bring to the front.
|
|
6234
6217
|
*/
|
|
@@ -6257,7 +6240,7 @@ class Hr extends T {
|
|
|
6257
6240
|
};
|
|
6258
6241
|
}
|
|
6259
6242
|
}
|
|
6260
|
-
class
|
|
6243
|
+
class Ur extends T {
|
|
6261
6244
|
/**
|
|
6262
6245
|
* @param id The targeted element to bring to the back.
|
|
6263
6246
|
*/
|
|
@@ -6288,7 +6271,7 @@ class br extends T {
|
|
|
6288
6271
|
};
|
|
6289
6272
|
}
|
|
6290
6273
|
}
|
|
6291
|
-
class
|
|
6274
|
+
class Gr extends T {
|
|
6292
6275
|
/**
|
|
6293
6276
|
* @param id The targeted element to bring to the front.
|
|
6294
6277
|
*/
|
|
@@ -6315,7 +6298,7 @@ class Ur extends T {
|
|
|
6315
6298
|
};
|
|
6316
6299
|
}
|
|
6317
6300
|
}
|
|
6318
|
-
class
|
|
6301
|
+
class Jr extends T {
|
|
6319
6302
|
/**
|
|
6320
6303
|
* @param id The targeted element to bring to the front.
|
|
6321
6304
|
*/
|
|
@@ -6357,8 +6340,8 @@ function se(n, t, e) {
|
|
|
6357
6340
|
return Math.min(Math.max(n, t), e);
|
|
6358
6341
|
}
|
|
6359
6342
|
class Ti {
|
|
6360
|
-
constructor(t) {
|
|
6361
|
-
this.minZoomScale = [0.03], this.maxZoomScale = [20], this._debouncedUpdateFrameOffsets = KA(this.updateFrameOffsets, 200), this.targetElements = [], this.onFrameDataChangeListeners = [], this.onZoomChangeListeners = [], this.forceImageCover = t, this.thresholdSettings = {
|
|
6343
|
+
constructor(t, e) {
|
|
6344
|
+
this.minZoomScale = [0.03], this.maxZoomScale = [20], this._debouncedUpdateFrameOffsets = KA(this.updateFrameOffsets, 200), this.targetElements = [], this.onFrameDataChangeListeners = [], this.onZoomChangeListeners = [], this.forceImageCover = t, this.initialZoom = e, this.thresholdSettings = {
|
|
6362
6345
|
useThreshold: !1,
|
|
6363
6346
|
invertThreshold: !1,
|
|
6364
6347
|
threshold: 128,
|
|
@@ -6431,7 +6414,7 @@ class Ti {
|
|
|
6431
6414
|
getImageSrc() {
|
|
6432
6415
|
if (this.imageData) {
|
|
6433
6416
|
if (this.imageData.svg) {
|
|
6434
|
-
const t =
|
|
6417
|
+
const t = fa(this.imageData.svg, this.imageData.colors || {}, !1);
|
|
6435
6418
|
return _A(t);
|
|
6436
6419
|
}
|
|
6437
6420
|
return this.imageData.src;
|
|
@@ -6569,7 +6552,12 @@ class Ti {
|
|
|
6569
6552
|
}
|
|
6570
6553
|
recalculateOffsets(t) {
|
|
6571
6554
|
this.frameData && ((!this.offsets || this.offsets.length !== this.frameData.length) && (this.offsets = new Array(this.frameData.length)), this.frameData.forEach((e, A) => {
|
|
6572
|
-
this.offsets[A] = dA(
|
|
6555
|
+
this.offsets[A] = dA(
|
|
6556
|
+
t,
|
|
6557
|
+
e,
|
|
6558
|
+
this.initialZoom && !this.forceImageCover ? { scale: this.initialZoom } : void 0,
|
|
6559
|
+
this.forceImageCover
|
|
6560
|
+
);
|
|
6573
6561
|
}), this._debouncedUpdateFrameOffsets(this.offsets, t, this.frameData, this.thresholdSettings));
|
|
6574
6562
|
}
|
|
6575
6563
|
}
|
|
@@ -6642,12 +6630,12 @@ const kt = (n, t) => {
|
|
|
6642
6630
|
}
|
|
6643
6631
|
if (e && t === R.Textbox && (A != null && A.text) && (A != null && A.fontScale)) {
|
|
6644
6632
|
await _t(e);
|
|
6645
|
-
const r =
|
|
6633
|
+
const r = Qt(e), c = ct(A.text, A == null ? void 0 : A.fontScale, r);
|
|
6646
6634
|
o.width = Math.min(c, a.width * 0.85), o.left = a.x + a.width / 2 - o.width / 2;
|
|
6647
6635
|
}
|
|
6648
6636
|
return o;
|
|
6649
6637
|
};
|
|
6650
|
-
class
|
|
6638
|
+
class Tr {
|
|
6651
6639
|
static async getFrame(t, e) {
|
|
6652
6640
|
const A = await ha(e.region, e.src), a = await Ye(A), i = e.region || await Ht(t, R.Frame);
|
|
6653
6641
|
return {
|
|
@@ -6696,7 +6684,7 @@ class Jr {
|
|
|
6696
6684
|
const { configuration: A, fontSrc: a, designInputStep: i } = e, s = await _t(a), o = {
|
|
6697
6685
|
assetUrl: a,
|
|
6698
6686
|
name: s.names.fullName.en
|
|
6699
|
-
}, 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 = Qe(c, {
|
|
6700
6688
|
vertical: A.vertical,
|
|
6701
6689
|
uppercase: A.uppercase
|
|
6702
6690
|
}), g = e.region || await Ht(t, R.Textbox, a, {
|
|
@@ -6983,7 +6971,7 @@ class Li {
|
|
|
6983
6971
|
40
|
|
6984
6972
|
);
|
|
6985
6973
|
});
|
|
6986
|
-
t.forEach((B) => A.getCommandDispatcher()(new
|
|
6974
|
+
t.forEach((B) => A.getCommandDispatcher()(new ft(B.id)));
|
|
6987
6975
|
const o = a.data.baseUrl.slice(0, 4) === "http" ? "" : "https://", r = new URL(o + a.data.baseUrl);
|
|
6988
6976
|
r.searchParams.append("video", btoa(JSON.stringify([s]))), r.pathname = r.pathname + (r.pathname.slice(-1) === "/" ? "" : "/");
|
|
6989
6977
|
const c = r.toString();
|
|
@@ -7098,18 +7086,18 @@ class zi {
|
|
|
7098
7086
|
frameOffsetsList: B,
|
|
7099
7087
|
framePatternSrc: d
|
|
7100
7088
|
}), d) {
|
|
7101
|
-
const
|
|
7102
|
-
if (!
|
|
7089
|
+
const m = (u = e.getStepSpecificServices(t.stepName)) == null ? void 0 : u.frameService;
|
|
7090
|
+
if (!m)
|
|
7103
7091
|
throw new Error("Frame service unavailable, cannot load pattern!");
|
|
7104
|
-
await this.loadPatternFromString(d,
|
|
7092
|
+
await this.loadPatternFromString(d, m, !0, g), e.updateMetadata(t.stepName, { image: d }), e.updateStorage(t.stepName, {
|
|
7105
7093
|
framePatternSrc: d
|
|
7106
7094
|
}), this.validateColorCount(t, e);
|
|
7107
7095
|
}
|
|
7108
|
-
if (B != null && B.some((
|
|
7109
|
-
const
|
|
7110
|
-
if (!
|
|
7096
|
+
if (B != null && B.some((m) => m.zoom)) {
|
|
7097
|
+
const m = (E = e.getStepSpecificServices(t.stepName)) == null ? void 0 : E.frameService;
|
|
7098
|
+
if (!m)
|
|
7111
7099
|
throw new Error("Frame service unavailable, cannot load pattern!");
|
|
7112
|
-
|
|
7100
|
+
m.updateOffsets(B);
|
|
7113
7101
|
}
|
|
7114
7102
|
e.setMandatoryFulfilled(t.stepName, !0);
|
|
7115
7103
|
};
|
|
@@ -7312,60 +7300,65 @@ class zi {
|
|
|
7312
7300
|
);
|
|
7313
7301
|
}
|
|
7314
7302
|
async selectVariantCommand(t, e, A, a, i, s) {
|
|
7315
|
-
var
|
|
7316
|
-
const o = (
|
|
7303
|
+
var B;
|
|
7304
|
+
const o = (B = a.getStepSpecificServices(t.stepName)) == null ? void 0 : B.frameService;
|
|
7317
7305
|
if (!o)
|
|
7318
7306
|
throw new Error("Frame service unavailable, cannot load pattern!");
|
|
7319
7307
|
const r = await Promise.all(
|
|
7320
|
-
t.data.regions.map((
|
|
7308
|
+
t.data.regions.map((h) => this.frameSourceSvg(e, h))
|
|
7321
7309
|
);
|
|
7322
7310
|
i && i(!0);
|
|
7323
|
-
const c = await Promise.all(
|
|
7324
|
-
t.data.regions.map(async (
|
|
7325
|
-
const
|
|
7311
|
+
const c = t.data.initialZoomLevel, l = await Promise.all(
|
|
7312
|
+
t.data.regions.map(async (h, C) => {
|
|
7313
|
+
const w = await Ye(r[C]), u = o.getImageData(), E = A.map((D) => new ft(D.id)), m = u ? dA(
|
|
7314
|
+
u,
|
|
7315
|
+
w,
|
|
7316
|
+
c && !t.data.forceImageCover ? { scale: c } : void 0,
|
|
7317
|
+
t.data.forceImageCover
|
|
7318
|
+
) : void 0, f = u ? {
|
|
7326
7319
|
id: k(),
|
|
7327
|
-
src:
|
|
7328
|
-
x: (
|
|
7329
|
-
y: (
|
|
7330
|
-
width:
|
|
7331
|
-
height:
|
|
7332
|
-
scaleX: (
|
|
7333
|
-
scaleY: (
|
|
7320
|
+
src: u.src,
|
|
7321
|
+
x: (m == null ? void 0 : m.x) || 0,
|
|
7322
|
+
y: (m == null ? void 0 : m.y) || 0,
|
|
7323
|
+
width: u.width,
|
|
7324
|
+
height: u.height,
|
|
7325
|
+
scaleX: (m == null ? void 0 : m.zoom) || 1,
|
|
7326
|
+
scaleY: (m == null ? void 0 : m.zoom) || 1,
|
|
7334
7327
|
rotation: 0
|
|
7335
|
-
} : void 0,
|
|
7336
|
-
if (!
|
|
7337
|
-
throw new X(
|
|
7328
|
+
} : void 0, Q = k(), I = a.getLayouts().find((D) => D.panelId === h.panelId);
|
|
7329
|
+
if (!I)
|
|
7330
|
+
throw new X(h);
|
|
7338
7331
|
return {
|
|
7339
|
-
command: this.getCreateElementCommand(
|
|
7340
|
-
frameData:
|
|
7341
|
-
pattern:
|
|
7332
|
+
command: this.getCreateElementCommand(Q, h, I, {
|
|
7333
|
+
frameData: w,
|
|
7334
|
+
pattern: f,
|
|
7342
7335
|
disablePlaceholder: t.data.disablePlaceholder,
|
|
7343
7336
|
stepName: t.stepName
|
|
7344
7337
|
}),
|
|
7345
7338
|
regionEl: {
|
|
7346
|
-
id:
|
|
7347
|
-
region:
|
|
7339
|
+
id: Q,
|
|
7340
|
+
region: h
|
|
7348
7341
|
},
|
|
7349
|
-
removeExistingCommands:
|
|
7342
|
+
removeExistingCommands: E
|
|
7350
7343
|
};
|
|
7351
7344
|
})
|
|
7352
|
-
),
|
|
7345
|
+
), g = l.map((h) => h.command), d = l.map((h) => h.removeExistingCommands).flat();
|
|
7353
7346
|
return {
|
|
7354
|
-
command: new G([...
|
|
7347
|
+
command: new G([...g, ...d]),
|
|
7355
7348
|
followup: async () => {
|
|
7356
7349
|
i && i(!1), await a.setSelectionsAndElements(
|
|
7357
7350
|
t.stepName,
|
|
7358
7351
|
e ? [e] : [],
|
|
7359
|
-
[...
|
|
7352
|
+
[...l.map((h) => h.regionEl)],
|
|
7360
7353
|
async () => {
|
|
7361
|
-
var
|
|
7354
|
+
var h;
|
|
7362
7355
|
if (a.updateStorage(t.stepName, { currentFrameSources: r }), s) {
|
|
7363
|
-
const
|
|
7356
|
+
const C = (h = a.getStepSpecificServices(
|
|
7364
7357
|
t.stepName
|
|
7365
|
-
)) == null ? void 0 :
|
|
7366
|
-
if (!
|
|
7358
|
+
)) == null ? void 0 : h.frameService;
|
|
7359
|
+
if (!C)
|
|
7367
7360
|
throw new Error("Frame service unavailable, cannot load pattern!");
|
|
7368
|
-
await this.loadPatternFromString(s,
|
|
7361
|
+
await this.loadPatternFromString(s, C, !0);
|
|
7369
7362
|
}
|
|
7370
7363
|
}
|
|
7371
7364
|
);
|
|
@@ -7571,7 +7564,7 @@ class ji {
|
|
|
7571
7564
|
if (!t.data || !t.data.regions)
|
|
7572
7565
|
throw new Ee(t, "Missing regions.");
|
|
7573
7566
|
a(!0);
|
|
7574
|
-
const s = A.map((E) => new
|
|
7567
|
+
const s = A.map((E) => new ft(E.id));
|
|
7575
7568
|
t.mandatory && i.setMandatoryFulfilled(t.stepName, !1);
|
|
7576
7569
|
const o = e.asset;
|
|
7577
7570
|
if (!o)
|
|
@@ -7580,13 +7573,13 @@ class ji {
|
|
|
7580
7573
|
if (!r)
|
|
7581
7574
|
throw new Lt(o);
|
|
7582
7575
|
const c = await gt(await this.getIllustrationBody(r)), l = await Kt(c.svg), g = (E) => {
|
|
7583
|
-
const
|
|
7584
|
-
if (!
|
|
7576
|
+
const m = i.getLayouts().find((Q) => Q.panelId === E.panelId);
|
|
7577
|
+
if (!m)
|
|
7585
7578
|
throw new X(E);
|
|
7586
|
-
const
|
|
7579
|
+
const f = k();
|
|
7587
7580
|
return {
|
|
7588
|
-
regionElement: { id:
|
|
7589
|
-
command: this.getCreateElementCommand(
|
|
7581
|
+
regionElement: { id: f, region: E },
|
|
7582
|
+
command: this.getCreateElementCommand(f, E, m, {
|
|
7590
7583
|
stepName: t.stepName,
|
|
7591
7584
|
src: r,
|
|
7592
7585
|
objectURL: l,
|
|
@@ -7597,9 +7590,9 @@ class ji {
|
|
|
7597
7590
|
let C = Array.from(Object.values(c.colors)).map((E) => E.browserValue);
|
|
7598
7591
|
const w = t.data.colorOption;
|
|
7599
7592
|
return w && ((u = w.variants) == null || u.forEach((E) => {
|
|
7600
|
-
C = C.map((
|
|
7601
|
-
var
|
|
7602
|
-
return
|
|
7593
|
+
C = C.map((m) => {
|
|
7594
|
+
var f;
|
|
7595
|
+
return m.toLowerCase() === ((f = E.color) == null ? void 0 : f.toLowerCase()) ? E.name : m;
|
|
7603
7596
|
});
|
|
7604
7597
|
})), i.updateMetadata(t.stepName, { colors: C }), {
|
|
7605
7598
|
command: new G(h),
|
|
@@ -7607,25 +7600,25 @@ class ji {
|
|
|
7607
7600
|
await i.setSelectionsAndElements(
|
|
7608
7601
|
t.stepName,
|
|
7609
7602
|
[e],
|
|
7610
|
-
d.map((
|
|
7603
|
+
d.map((f) => f.regionElement),
|
|
7611
7604
|
async () => {
|
|
7612
7605
|
i.setMandatoryFulfilled(t.stepName, !0), a(!1);
|
|
7613
7606
|
}
|
|
7614
7607
|
);
|
|
7615
|
-
const E = await this.availableColors(t, i) || [],
|
|
7616
|
-
if (t.data.colorPickerEnabled && E.length === 1 &&
|
|
7617
|
-
const
|
|
7608
|
+
const E = await this.availableColors(t, i) || [], m = Object.keys(c.colors);
|
|
7609
|
+
if (t.data.colorPickerEnabled && E.length === 1 && m.length === 1) {
|
|
7610
|
+
const f = E[0], Q = m[0];
|
|
7618
7611
|
await this.changeColors(
|
|
7619
7612
|
t,
|
|
7620
|
-
d.map((
|
|
7613
|
+
d.map((p) => p.regionElement),
|
|
7621
7614
|
i,
|
|
7622
7615
|
() => i.getCommandContext().getAllLayouts(),
|
|
7623
|
-
/* @__PURE__ */ new Map([[
|
|
7616
|
+
/* @__PURE__ */ new Map([[Q, f.variant.color]])
|
|
7624
7617
|
);
|
|
7625
7618
|
} else
|
|
7626
7619
|
t.data.colorPickerEnabled && await this.changeColors(
|
|
7627
7620
|
t,
|
|
7628
|
-
d.map((
|
|
7621
|
+
d.map((f) => f.regionElement),
|
|
7629
7622
|
i,
|
|
7630
7623
|
() => i.getCommandContext().getAllLayouts(),
|
|
7631
7624
|
/* @__PURE__ */ new Map()
|
|
@@ -7838,7 +7831,7 @@ class Wi {
|
|
|
7838
7831
|
if (!w)
|
|
7839
7832
|
return console.error(`Can not find layout for region: ${d.panelId}`), null;
|
|
7840
7833
|
const u = [];
|
|
7841
|
-
return B && u.push(new
|
|
7834
|
+
return B && u.push(new ft(h)), u.push(
|
|
7842
7835
|
new V(
|
|
7843
7836
|
{
|
|
7844
7837
|
stepRegion: d,
|
|
@@ -7960,7 +7953,7 @@ class Xi {
|
|
|
7960
7953
|
if (!s)
|
|
7961
7954
|
return console.error("No URL for picture!"), null;
|
|
7962
7955
|
a(!0), t.mandatory && A.setMandatoryFulfilled(t.stepName, !1);
|
|
7963
|
-
const r = A.getRegionElements(t.stepName).map((g) => new
|
|
7956
|
+
const r = A.getRegionElements(t.stepName).map((g) => new ft(g.id)), c = (g) => {
|
|
7964
7957
|
const B = A.getLayouts().find((C) => C.panelId === g.panelId);
|
|
7965
7958
|
if (!B)
|
|
7966
7959
|
throw new X(g);
|
|
@@ -8168,7 +8161,7 @@ class Zi {
|
|
|
8168
8161
|
};
|
|
8169
8162
|
} else {
|
|
8170
8163
|
const c = (B) => {
|
|
8171
|
-
const h = i.find((
|
|
8164
|
+
const h = i.find((m) => m.panelId === B.panelId);
|
|
8172
8165
|
if (!h)
|
|
8173
8166
|
throw new X(B);
|
|
8174
8167
|
const C = o(), w = `
|
|
@@ -8274,11 +8267,11 @@ const _i = new $i(), Te = (n, t, e, A, a) => {
|
|
|
8274
8267
|
const g = Math.max(...o);
|
|
8275
8268
|
if (g <= n.width)
|
|
8276
8269
|
return [i, g];
|
|
8277
|
-
const d = o.reduce((w, u, E,
|
|
8270
|
+
const d = o.reduce((w, u, E, m) => u > m[w] ? E : w, 0), B = i[d];
|
|
8278
8271
|
let h = !1, C = B.length;
|
|
8279
8272
|
for (; !h && C > -1; ) {
|
|
8280
8273
|
C = B.lastIndexOf(" ", C - 1);
|
|
8281
|
-
const w = [B.slice(0, C), B.slice(C + 1)], u = w.map((
|
|
8274
|
+
const w = [B.slice(0, C), B.slice(C + 1)], u = w.map((m) => ct(m, A, a));
|
|
8282
8275
|
u[0] <= n.width && (i = [...i.slice(0, d), ...w, ...i.slice(d + 1)], o = [
|
|
8283
8276
|
...o.slice(0, d),
|
|
8284
8277
|
...u,
|
|
@@ -8290,7 +8283,7 @@ const _i = new $i(), Te = (n, t, e, A, a) => {
|
|
|
8290
8283
|
return [null, null];
|
|
8291
8284
|
}, he = (n, t, e, A, a) => {
|
|
8292
8285
|
let i, s;
|
|
8293
|
-
const o =
|
|
8286
|
+
const o = Qt(t.assetUrl), r = o.getFont();
|
|
8294
8287
|
if (a.size) {
|
|
8295
8288
|
const d = n / r.unitsPerEm;
|
|
8296
8289
|
return [i, s] = Te(e, A, n, d, o), [a.size, i, s];
|
|
@@ -8306,9 +8299,9 @@ const _i = new $i(), Te = (n, t, e, A, a) => {
|
|
|
8306
8299
|
const g = l / r.unitsPerEm;
|
|
8307
8300
|
return [i, s] = Te(e, A, l, g, o), [l, i, s];
|
|
8308
8301
|
}, Oe = 30;
|
|
8309
|
-
class
|
|
8302
|
+
class fe extends Error {
|
|
8310
8303
|
constructor(t) {
|
|
8311
|
-
super(t), Object.setPrototypeOf(this, new.target.prototype), this.name =
|
|
8304
|
+
super(t), Object.setPrototypeOf(this, new.target.prototype), this.name = fe.name;
|
|
8312
8305
|
}
|
|
8313
8306
|
}
|
|
8314
8307
|
const ts = ["‘", "’", "“", "”", `
|
|
@@ -8325,7 +8318,7 @@ class es {
|
|
|
8325
8318
|
/(\r\n|\r|(\u2665|\u00a9|\u00ae|[\u2000-\u2017]|[\u201E-\u3300]]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]))/gm,
|
|
8326
8319
|
""
|
|
8327
8320
|
);
|
|
8328
|
-
const a = [], i = e ?
|
|
8321
|
+
const a = [], i = e ? Qt(e.assetUrl) : void 0;
|
|
8329
8322
|
if (i) {
|
|
8330
8323
|
const s = A.split("").filter((r) => !ts.includes(r)).join(""), o = s.split("").map((r) => i.getFont().charToGlyph(r));
|
|
8331
8324
|
for (let r = 0; r < o.length; r++)
|
|
@@ -8484,7 +8477,7 @@ class es {
|
|
|
8484
8477
|
}
|
|
8485
8478
|
getProcessedInput(t, e, A) {
|
|
8486
8479
|
const a = A ? t : this.injectReplaceableText(t, e);
|
|
8487
|
-
return
|
|
8480
|
+
return Qe(a, {
|
|
8488
8481
|
vertical: e.vertical,
|
|
8489
8482
|
uppercase: e.uppercase
|
|
8490
8483
|
});
|
|
@@ -8553,15 +8546,15 @@ class es {
|
|
|
8553
8546
|
if (r && d) {
|
|
8554
8547
|
const B = (c = r.variants) == null ? void 0 : c.find((h) => h.id === d);
|
|
8555
8548
|
if (B) {
|
|
8556
|
-
const h = await this.fontDataFromVariant(B), C = o.map((
|
|
8549
|
+
const h = await this.fontDataFromVariant(B), C = o.map((m) => ({ id: m.id, region: m.stepRegion })), w = (l = a.storage) == null ? void 0 : l.color, u = (g = a.storage) == null ? void 0 : g.text;
|
|
8557
8550
|
await e.setSelectionsAndElements(
|
|
8558
8551
|
t.stepName,
|
|
8559
8552
|
[B],
|
|
8560
8553
|
C,
|
|
8561
8554
|
async () => {
|
|
8562
8555
|
e.updateMetadata(t.stepName, { color: w, text: u }), e.updateStorage(t.stepName, { text: u, inputText: u });
|
|
8563
|
-
const
|
|
8564
|
-
e.getCommandDispatcher()(
|
|
8556
|
+
const m = o.map((Q) => new JA(Q.id, h)), f = new G(m);
|
|
8557
|
+
e.getCommandDispatcher()(f);
|
|
8565
8558
|
}
|
|
8566
8559
|
);
|
|
8567
8560
|
const { command: E } = $.updateInputText(
|
|
@@ -8692,11 +8685,11 @@ class es {
|
|
|
8692
8685
|
colorProfileAssetKey: (C = w.colorProfile) == null ? void 0 : C.key
|
|
8693
8686
|
});
|
|
8694
8687
|
}
|
|
8695
|
-
const E = await this.getDefaultColor(A),
|
|
8688
|
+
const E = await this.getDefaultColor(A), m = E || "#000000", f = {
|
|
8696
8689
|
stepRegion: g,
|
|
8697
8690
|
stepName: t,
|
|
8698
8691
|
align: this.textAlign(A),
|
|
8699
|
-
fill: i.color ? i.color :
|
|
8692
|
+
fill: i.color ? i.color : m,
|
|
8700
8693
|
fontSize: A.size || Oe,
|
|
8701
8694
|
fontData: a,
|
|
8702
8695
|
id: h,
|
|
@@ -8716,41 +8709,41 @@ class es {
|
|
|
8716
8709
|
curved: A.curved,
|
|
8717
8710
|
paths: A.paths,
|
|
8718
8711
|
fillSpotColorDefinition: u
|
|
8719
|
-
},
|
|
8720
|
-
if (!
|
|
8712
|
+
}, Q = [], p = /* @__PURE__ */ new Map(), I = /* @__PURE__ */ new Map();
|
|
8713
|
+
if (!f.fontData)
|
|
8721
8714
|
throw new O("Failed to resolve font data for text.");
|
|
8722
8715
|
const [D, y] = he(
|
|
8723
|
-
|
|
8724
|
-
|
|
8716
|
+
f.fontSize,
|
|
8717
|
+
f.fontData,
|
|
8725
8718
|
{
|
|
8726
|
-
left:
|
|
8727
|
-
top:
|
|
8728
|
-
width:
|
|
8729
|
-
height:
|
|
8730
|
-
rotation:
|
|
8719
|
+
left: f.x,
|
|
8720
|
+
top: f.y,
|
|
8721
|
+
width: f.width,
|
|
8722
|
+
height: f.height,
|
|
8723
|
+
rotation: f.rotation,
|
|
8731
8724
|
panelId: ""
|
|
8732
8725
|
},
|
|
8733
8726
|
[r],
|
|
8734
8727
|
{ size: A.size, minSize: A.minSize, maxSize: A.maxSize }
|
|
8735
8728
|
);
|
|
8736
|
-
|
|
8729
|
+
p.set(f.id, D), I.set(f.id, y);
|
|
8737
8730
|
const x = A.curved || A.vertical ? r : (y || []).join(`
|
|
8738
8731
|
`);
|
|
8739
|
-
|
|
8740
|
-
this.generateTextChangeCommandsForRegion(D, A,
|
|
8732
|
+
Q.push(
|
|
8733
|
+
this.generateTextChangeCommandsForRegion(D, A, f.id, x)
|
|
8741
8734
|
);
|
|
8742
|
-
const N = new V(
|
|
8735
|
+
const N = new V(f, B);
|
|
8743
8736
|
return {
|
|
8744
8737
|
regionElement: { id: h, region: g },
|
|
8745
|
-
commands: [N, ...
|
|
8746
|
-
newElement:
|
|
8738
|
+
commands: [N, ...Q],
|
|
8739
|
+
newElement: f,
|
|
8747
8740
|
fontData: a
|
|
8748
8741
|
};
|
|
8749
8742
|
} catch (w) {
|
|
8750
|
-
throw console.log(w), new
|
|
8743
|
+
throw console.log(w), new fe("Error adding font to region");
|
|
8751
8744
|
}
|
|
8752
8745
|
}, l = await Promise.all(A.regions.map(c)).catch((g) => {
|
|
8753
|
-
throw g instanceof
|
|
8746
|
+
throw g instanceof fe ? (_i.setLatestToast("Failed to load font.", Pe.Error), g) : g instanceof pe ? g : new Error(g);
|
|
8754
8747
|
});
|
|
8755
8748
|
return await s.setSelectionsAndElements(
|
|
8756
8749
|
t,
|
|
@@ -8778,29 +8771,29 @@ class es {
|
|
|
8778
8771
|
*/
|
|
8779
8772
|
async changeInputTextWithRegion(t, e, A, a, i, s, o, r, c, l) {
|
|
8780
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();
|
|
8781
|
-
for (const
|
|
8782
|
-
if (
|
|
8783
|
-
const [
|
|
8774
|
+
for (const f of B)
|
|
8775
|
+
if (f.region) {
|
|
8776
|
+
const [Q, p] = he(
|
|
8784
8777
|
e,
|
|
8785
8778
|
A,
|
|
8786
|
-
|
|
8779
|
+
f.region,
|
|
8787
8780
|
[d],
|
|
8788
8781
|
{ size: t.data.size, minSize: t.data.minSize, maxSize: t.data.maxSize }
|
|
8789
8782
|
);
|
|
8790
|
-
h.set(
|
|
8783
|
+
h.set(f.id, Q), C.set(f.id, p);
|
|
8791
8784
|
}
|
|
8792
8785
|
const u = (() => {
|
|
8793
8786
|
if (t.data && t.data.maxLength && d.length > t.data.maxLength)
|
|
8794
8787
|
return l && l(!0), { info: "0" };
|
|
8795
|
-
const
|
|
8796
|
-
for (const
|
|
8797
|
-
for (const
|
|
8798
|
-
const D =
|
|
8799
|
-
if (
|
|
8788
|
+
const f = s.getProfanities(), Q = We(d.toLowerCase());
|
|
8789
|
+
for (const p of Q)
|
|
8790
|
+
for (const I in f) {
|
|
8791
|
+
const D = f[I].toLowerCase().replace(/\s/g, "");
|
|
8792
|
+
if (p === D)
|
|
8800
8793
|
return r(!0), { error: "Blocked profanity." };
|
|
8801
8794
|
}
|
|
8802
8795
|
return !t.data.vertical && !t.data.allowNewlines && (d.includes(`
|
|
8803
|
-
`) || d.includes("\r")) ? (r(!0), { error: "Cannot span multiple lines." }) : !t.data.curved && !Array.from(C.values()).every((
|
|
8796
|
+
`) || d.includes("\r")) ? (r(!0), { error: "Cannot span multiple lines." }) : !t.data.curved && !Array.from(C.values()).every((I) => I) ? (r(!0), { error: "Does not fit." }) : (r(!1), { info: (t.data.maxLength - d.length).toString() });
|
|
8804
8797
|
})();
|
|
8805
8798
|
if (u.error) {
|
|
8806
8799
|
c(u.error);
|
|
@@ -8812,15 +8805,15 @@ class es {
|
|
|
8812
8805
|
text: this.injectReplaceableText(g, t.data)
|
|
8813
8806
|
}), (i.defaultCleared || !t.data.deleteDefaultOnFocus) && s.setMandatoryFulfilled(t.stepName, !0);
|
|
8814
8807
|
const E = [];
|
|
8815
|
-
for (const
|
|
8816
|
-
const
|
|
8808
|
+
for (const f of B) {
|
|
8809
|
+
const Q = t.data.curved ? d : (C.get(f.id) || []).join(`
|
|
8817
8810
|
`);
|
|
8818
8811
|
E.push(
|
|
8819
8812
|
this.generateTextChangeCommandsForRegion(
|
|
8820
|
-
h.get(
|
|
8813
|
+
h.get(f.id) || 1,
|
|
8821
8814
|
t.data,
|
|
8822
|
-
|
|
8823
|
-
|
|
8815
|
+
f.id,
|
|
8816
|
+
Q
|
|
8824
8817
|
)
|
|
8825
8818
|
);
|
|
8826
8819
|
}
|
|
@@ -10091,7 +10084,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
|
|
|
10091
10084
|
</g>
|
|
10092
10085
|
</svg>
|
|
10093
10086
|
|
|
10094
|
-
`, H = (n) =>
|
|
10087
|
+
`, H = (n) => mn("http://www.w3.org/2000/svg", n), QA = (n, t) => {
|
|
10095
10088
|
const e = H("rect");
|
|
10096
10089
|
return e.setAttribute("height", `${n}`), e.setAttribute("width", `${t}`), e;
|
|
10097
10090
|
}, ns = () => {
|
|
@@ -10126,7 +10119,7 @@ const Ga = (n, t, e, A) => {
|
|
|
10126
10119
|
let t = n;
|
|
10127
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;
|
|
10128
10121
|
};
|
|
10129
|
-
function
|
|
10122
|
+
function fA(n, t, e, A, a, i) {
|
|
10130
10123
|
const s = a || 1, o = i || 1, r = {
|
|
10131
10124
|
x: t[0],
|
|
10132
10125
|
y: t[1],
|
|
@@ -10268,16 +10261,16 @@ class rs extends mA {
|
|
|
10268
10261
|
}
|
|
10269
10262
|
brandSvg(t, e) {
|
|
10270
10263
|
const A = t.toSVG(2), a = t.getBoundingBox(), i = a.x2 - a.x1, s = t.toPathData(3), o = () => {
|
|
10271
|
-
const
|
|
10272
|
-
|
|
10273
|
-
const
|
|
10274
|
-
|
|
10264
|
+
const Q = H("g"), p = H("defs");
|
|
10265
|
+
Q.appendChild(p), p.appendChild(Ga(3, 7, 4, "shadow"));
|
|
10266
|
+
const I = H("g");
|
|
10267
|
+
Q.appendChild(I), I.setAttribute("filter", "url(#shadow)"), I.innerHTML = A;
|
|
10275
10268
|
const D = H("g");
|
|
10276
|
-
|
|
10269
|
+
Q.appendChild(D), D.setAttribute("fill", "red"), D.setAttribute("stroke", "red"), D.setAttribute("stroke-width", "9"), D.innerHTML = A;
|
|
10277
10270
|
const y = H("g");
|
|
10278
|
-
|
|
10271
|
+
Q.appendChild(y), y.setAttribute("fill", "#9d2621"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = A;
|
|
10279
10272
|
const x = H("g");
|
|
10280
|
-
return
|
|
10273
|
+
return Q.appendChild(x), x.setAttribute("fill", "yellow"), x.innerHTML = A, new pA(Q).transform(([S, z]) => [S, z + (i / 2 - S) ** 2 / (i * 2.9)]), Q;
|
|
10281
10274
|
}, [r, c, l] = ba(e);
|
|
10282
10275
|
if (!r)
|
|
10283
10276
|
return "";
|
|
@@ -10285,14 +10278,14 @@ class rs extends mA {
|
|
|
10285
10278
|
r.appendChild(g), Ua(r, g, e);
|
|
10286
10279
|
const d = c * 0.23, B = l * 0.94, h = l * 0.04, C = c * 0.53, w = H("g");
|
|
10287
10280
|
r.appendChild(w), w.setAttribute("transform", `translate(${h} ${C}) rotate(-21)`);
|
|
10288
|
-
const u =
|
|
10281
|
+
const u = QA(d, B);
|
|
10289
10282
|
u.setAttribute("opacity", "0"), w.appendChild(u);
|
|
10290
10283
|
const E = H("g");
|
|
10291
10284
|
w.appendChild(E);
|
|
10292
|
-
const
|
|
10293
|
-
E.appendChild(
|
|
10294
|
-
const
|
|
10295
|
-
return
|
|
10285
|
+
const m = o();
|
|
10286
|
+
E.appendChild(m);
|
|
10287
|
+
const f = oA(s);
|
|
10288
|
+
return fA(E, f, d, B), Ja(r.outerHTML);
|
|
10296
10289
|
}
|
|
10297
10290
|
}
|
|
10298
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==";
|
|
@@ -10312,17 +10305,17 @@ class ls extends mA {
|
|
|
10312
10305
|
}
|
|
10313
10306
|
brandSvg(t, e, A) {
|
|
10314
10307
|
const a = t.toSVG(2), i = t.getBoundingBox(), s = i.y2 - i.y1, o = i.x2 - i.x1, r = t.toPathData(3), c = () => {
|
|
10315
|
-
const
|
|
10316
|
-
|
|
10308
|
+
const I = H("g"), D = H("g");
|
|
10309
|
+
I.appendChild(D), D.setAttribute("stroke", "#5C1A0D"), D.setAttribute("stroke-width", "4"), D.setAttribute("transform", "translate(1,1)"), D.innerHTML = a;
|
|
10317
10310
|
const y = H("g");
|
|
10318
|
-
|
|
10311
|
+
I.appendChild(y), y.setAttribute("fill", "#FFE386"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = a;
|
|
10319
10312
|
const x = H("g");
|
|
10320
|
-
|
|
10321
|
-
const N = new pA(
|
|
10313
|
+
I.appendChild(x), x.setAttribute("fill", "white"), x.innerHTML = a;
|
|
10314
|
+
const N = new pA(I);
|
|
10322
10315
|
return N.transform(([S, z]) => [S, z + ((o - S) * z) ** 2 / (o * 5e4)]), N.transform(([S, z]) => [
|
|
10323
10316
|
S,
|
|
10324
10317
|
z + (o / 3 - S) ** 2 / o * this.indicator(S < o / 3)
|
|
10325
|
-
]), N.transform(([S, z]) => [S - (s - z) * (o - S) / 800, z]),
|
|
10318
|
+
]), N.transform(([S, z]) => [S - (s - z) * (o - S) / 800, z]), I;
|
|
10326
10319
|
}, [l, g, d] = ba(e);
|
|
10327
10320
|
if (!l)
|
|
10328
10321
|
return "";
|
|
@@ -10332,14 +10325,14 @@ class ls extends mA {
|
|
|
10332
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);
|
|
10333
10326
|
const E = H("g");
|
|
10334
10327
|
l.appendChild(E), E.setAttribute("transform", `translate(${w} ${u}) rotate(-10)`);
|
|
10335
|
-
const
|
|
10336
|
-
|
|
10337
|
-
const
|
|
10338
|
-
E.appendChild(
|
|
10339
|
-
const
|
|
10340
|
-
|
|
10341
|
-
const
|
|
10342
|
-
return
|
|
10328
|
+
const m = QA(h, C);
|
|
10329
|
+
m.setAttribute("opacity", "0"), E.appendChild(m);
|
|
10330
|
+
const f = H("g");
|
|
10331
|
+
E.appendChild(f);
|
|
10332
|
+
const Q = c();
|
|
10333
|
+
f.appendChild(Q);
|
|
10334
|
+
const p = oA(r);
|
|
10335
|
+
return fA(f, p, h, C), l.outerHTML;
|
|
10343
10336
|
}
|
|
10344
10337
|
// 1 if true, 0 if false.
|
|
10345
10338
|
}
|
|
@@ -10355,35 +10348,35 @@ class ds extends mA {
|
|
|
10355
10348
|
return this.svgElement(t, e);
|
|
10356
10349
|
}
|
|
10357
10350
|
svgElement(t, e) {
|
|
10358
|
-
const A = CA(gs), i = t !== "" ? ((
|
|
10359
|
-
const
|
|
10360
|
-
|
|
10361
|
-
const
|
|
10362
|
-
|
|
10363
|
-
const
|
|
10364
|
-
|
|
10365
|
-
const Q = H("g");
|
|
10366
|
-
Q.classList.add("module-layer0"), I.appendChild(Q), Q.setAttribute("filter", "url(#shadow)"), Q.innerHTML = f.outerHTML;
|
|
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
|
+
const m = H("g");
|
|
10353
|
+
m.classList.add("module-text-group");
|
|
10354
|
+
const f = H("defs");
|
|
10355
|
+
m.appendChild(f), f.appendChild(Ga(0, 2, 2, "shadow"));
|
|
10356
|
+
const Q = H("path");
|
|
10357
|
+
Q.setAttribute("d", l), Q.setAttribute("stroke", "black"), Q.setAttribute("stroke-width", "3"), f.appendChild(Q);
|
|
10367
10358
|
const p = H("g");
|
|
10368
|
-
p.classList.add("module-
|
|
10359
|
+
p.classList.add("module-layer0"), m.appendChild(p), p.setAttribute("filter", "url(#shadow)"), p.innerHTML = Q.outerHTML;
|
|
10360
|
+
const I = H("g");
|
|
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;
|
|
10369
10362
|
const D = H("g");
|
|
10370
|
-
D.classList.add("module-layer2"),
|
|
10363
|
+
D.classList.add("module-layer2"), m.appendChild(D), D.setAttribute("fill", "rgb(255,209,0)"), D.setAttribute("transform", "translate(1,-0.1)"), D.innerHTML = o;
|
|
10371
10364
|
const y = H("g");
|
|
10372
|
-
return y.classList.add("module-layer3"),
|
|
10365
|
+
return y.classList.add("module-layer3"), m.appendChild(y), y.setAttribute("fill", "white"), y.innerHTML = o, new pA(m).transform(([N, S]) => [N, S + (c / 2 - N) ** 2 / (c * 6)]), m;
|
|
10373
10366
|
}, d = H("g");
|
|
10374
10367
|
d.classList.add("module-root");
|
|
10375
10368
|
const B = H("defs");
|
|
10376
10369
|
d.appendChild(B);
|
|
10377
10370
|
const h = H("g");
|
|
10378
10371
|
h.classList.add("module-bounds"), d.appendChild(h);
|
|
10379
|
-
const C =
|
|
10372
|
+
const C = QA(e.height, e.width);
|
|
10380
10373
|
C.setAttribute("opacity", "0"), h.appendChild(C);
|
|
10381
10374
|
const w = H("g");
|
|
10382
10375
|
w.classList.add("module-text-enclosure"), d.appendChild(w);
|
|
10383
10376
|
const u = g();
|
|
10384
10377
|
w.appendChild(u);
|
|
10385
10378
|
const E = oA(l);
|
|
10386
|
-
return
|
|
10379
|
+
return fA(w, E, e.height, e.width, 0.35, 0.65), Ja(d.outerHTML);
|
|
10387
10380
|
}
|
|
10388
10381
|
}
|
|
10389
10382
|
async function Ta(n) {
|
|
@@ -10414,17 +10407,17 @@ class LA extends da {
|
|
|
10414
10407
|
class hs {
|
|
10415
10408
|
constructor(t, e, A, a, i, s, o, r, c, l, g, d, B, h = !1, C, w = !1, u = !1, E = !1) {
|
|
10416
10409
|
this.workflowStatePromiseQueue = new Ba(1), this.initialized = !1, this.readOnly = !1, this.isReloadedTransaction = !1, this.singleVariantsRenderable = !1, this.stepTags = {}, this.renderLayouts = () => {
|
|
10417
|
-
var
|
|
10410
|
+
var Q;
|
|
10418
10411
|
if (!this.previewService)
|
|
10419
10412
|
return;
|
|
10420
|
-
const
|
|
10421
|
-
if (
|
|
10422
|
-
for (const [,
|
|
10423
|
-
|
|
10413
|
+
const m = this.getCommandContext().getAllLayouts(), f = (Q = this.getLayoutPreviewService()) == null ? void 0 : Q.getAll();
|
|
10414
|
+
if (f)
|
|
10415
|
+
for (const [, p] of f)
|
|
10416
|
+
p.render(m);
|
|
10424
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(() => {
|
|
10425
10418
|
this.initialized = !0;
|
|
10426
|
-
}), this.initializationPromise.catch((
|
|
10427
|
-
throw console.error(
|
|
10419
|
+
}), this.initializationPromise.catch((m) => {
|
|
10420
|
+
throw console.error(m), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
|
|
10428
10421
|
}), this.initializationPromise.finally(
|
|
10429
10422
|
() => this.getCommandContext().registerStateCallback(() => {
|
|
10430
10423
|
this.updateStateWithServer(), this.renderLayouts();
|
|
@@ -10442,7 +10435,7 @@ class hs {
|
|
|
10442
10435
|
};
|
|
10443
10436
|
this.reloadedState && this.reloadedState.serializableWorkflow.steps.forEach((o) => {
|
|
10444
10437
|
this.storage[o.stepName] = o.storage || {};
|
|
10445
|
-
}), this.allScenes = await
|
|
10438
|
+
}), this.allScenes = await ni(t);
|
|
10446
10439
|
const a = yt(this.allScenes, this.stepSelections).map((o) => o.silentSteps).flat(), { stepElements: i, commands: s } = await this.stepElementsForIntroducedSilentSteps(a, !!this.reloadedState);
|
|
10447
10440
|
this.commandContext.apply(new G(s), !0), this.stepElements = { ...this.stepElements, ...i }, await this.ensureStepsAreLoaded(), !this.isReloadedTransaction && this.updateStateWithServer(), this.renderLayouts(), this.reloadedState && e();
|
|
10448
10441
|
}
|
|
@@ -10845,7 +10838,7 @@ class hs {
|
|
|
10845
10838
|
async updateTransactionStakeholders() {
|
|
10846
10839
|
var e;
|
|
10847
10840
|
const t = await P.getShadowGraphqlClient().query({
|
|
10848
|
-
query:
|
|
10841
|
+
query: ai,
|
|
10849
10842
|
errorPolicy: "all",
|
|
10850
10843
|
fetchPolicy: "no-cache",
|
|
10851
10844
|
variables: {
|
|
@@ -10857,24 +10850,24 @@ class hs {
|
|
|
10857
10850
|
async reset() {
|
|
10858
10851
|
this.commandContext.getAllLayouts().forEach(
|
|
10859
10852
|
(e) => e.layoutState.elements.forEach((A) => {
|
|
10860
|
-
this.getCommandDispatcher()(new
|
|
10853
|
+
this.getCommandDispatcher()(new ft(A.id));
|
|
10861
10854
|
})
|
|
10862
10855
|
), this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, await this.ensureStepsAreLoaded();
|
|
10863
10856
|
}
|
|
10864
10857
|
async setSelectionsAndElements(t, e, A, a) {
|
|
10865
|
-
var
|
|
10858
|
+
var Q;
|
|
10866
10859
|
const i = this.stepSelections;
|
|
10867
10860
|
this.stepSelections = {
|
|
10868
10861
|
...this.stepSelections,
|
|
10869
10862
|
[t]: { selectedVariants: e }
|
|
10870
|
-
}, this.selectionCost = Object.values(this.stepSelections).reduce((
|
|
10871
|
-
Et(
|
|
10863
|
+
}, this.selectionCost = Object.values(this.stepSelections).reduce((p, I) => p + I.selectedVariants.map((D) => D.priceModifier || 0).reduce((D, y) => D + y, 0), 0), this.workflow.steps.forEach((p) => {
|
|
10864
|
+
Et(p, this.stepSelections) || (this.stepInitialised[p.stepName] = !1, delete this.stepMetadata[p.stepName], delete this.stepSelections[p.stepName], delete this.storage[p.stepName]);
|
|
10872
10865
|
});
|
|
10873
|
-
const s = this.allScenes, o = yt(s, i), r = yt(s, this.stepSelections), c = o.map((
|
|
10874
|
-
(
|
|
10866
|
+
const s = this.allScenes, o = yt(s, i), r = yt(s, this.stepSelections), c = o.map((p) => p.silentSteps).flat(), g = r.map((p) => p.silentSteps).flat().filter(
|
|
10867
|
+
(p) => !c.some((I) => I.stepName === p.stepName)
|
|
10875
10868
|
);
|
|
10876
|
-
c.forEach((
|
|
10877
|
-
Et(
|
|
10869
|
+
c.forEach((p) => {
|
|
10870
|
+
Et(p, this.stepSelections) || (this.stepInitialised[p.stepName] = !1);
|
|
10878
10871
|
});
|
|
10879
10872
|
const d = this.getInvalidCanvasRegions(), { stepElements: B, commands: h } = await this.stepElementsForIntroducedSilentSteps(g, !1);
|
|
10880
10873
|
this.stepElements = {
|
|
@@ -10882,25 +10875,25 @@ class hs {
|
|
|
10882
10875
|
...B,
|
|
10883
10876
|
[t]: A
|
|
10884
10877
|
}, this.removeElements(d);
|
|
10885
|
-
const C = this.workflow.steps.find((
|
|
10878
|
+
const C = this.workflow.steps.find((p) => p.stepName === t);
|
|
10886
10879
|
if ((C == null ? void 0 : C.type) === M.Frame) {
|
|
10887
|
-
const
|
|
10888
|
-
(
|
|
10880
|
+
const p = this.getStepSpecificServices(t);
|
|
10881
|
+
(Q = p == null ? void 0 : p.frameService) == null || Q.setTargetElements(A.map((I) => I.id));
|
|
10889
10882
|
}
|
|
10890
|
-
const w = d.map((
|
|
10883
|
+
const w = d.map((p) => new ft(p.id)), u = new GA(this.constructSerializableWorkflow()), E = [...h, ...w, u];
|
|
10891
10884
|
E.length > 0 && this.commandContext.apply(new G(E), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
|
|
10892
|
-
const
|
|
10893
|
-
if (
|
|
10894
|
-
const
|
|
10895
|
-
(
|
|
10896
|
-
|
|
10885
|
+
const m = this.getInvalidModelVariants(), f = this.modelContainer;
|
|
10886
|
+
if (f) {
|
|
10887
|
+
const p = m.map(
|
|
10888
|
+
(I) => f.applyModelVariant(
|
|
10889
|
+
I,
|
|
10897
10890
|
{
|
|
10898
10891
|
contextService: this.getLayoutPreviewService()
|
|
10899
10892
|
},
|
|
10900
10893
|
!1
|
|
10901
10894
|
)
|
|
10902
10895
|
);
|
|
10903
|
-
await Promise.all(
|
|
10896
|
+
await Promise.all(p);
|
|
10904
10897
|
}
|
|
10905
10898
|
await this.onSelectionChange(), a && await a();
|
|
10906
10899
|
}
|
|
@@ -10920,9 +10913,12 @@ class hs {
|
|
|
10920
10913
|
break;
|
|
10921
10914
|
case M.Frame:
|
|
10922
10915
|
{
|
|
10923
|
-
const c = new Ti(
|
|
10924
|
-
|
|
10925
|
-
|
|
10916
|
+
const c = r.data, l = new Ti(
|
|
10917
|
+
c.forceImageCover,
|
|
10918
|
+
c.initialZoomLevel
|
|
10919
|
+
);
|
|
10920
|
+
l.connectWorkflowManager(this, r.stepName), this.stepSpecificServices[r.stepName] = {
|
|
10921
|
+
frameService: l
|
|
10926
10922
|
}, A.push(
|
|
10927
10923
|
wt.init(r, this, this.reloadedState)
|
|
10928
10924
|
);
|
|
@@ -11022,7 +11018,7 @@ class hs {
|
|
|
11022
11018
|
this.validationCallbacks.forEach((t) => t(this.validationErrors));
|
|
11023
11019
|
}
|
|
11024
11020
|
traversableScenes() {
|
|
11025
|
-
return
|
|
11021
|
+
return oi(this.allScenes, this.stepSelections, this.singleVariantsRenderable);
|
|
11026
11022
|
}
|
|
11027
11023
|
}
|
|
11028
11024
|
class it {
|
|
@@ -11357,7 +11353,7 @@ class ms extends at {
|
|
|
11357
11353
|
return this.step.data.displayType || ((t = this.step.option) == null ? void 0 : t.displayType);
|
|
11358
11354
|
}
|
|
11359
11355
|
}
|
|
11360
|
-
class
|
|
11356
|
+
class Qs extends at {
|
|
11361
11357
|
constructor(t, e, A) {
|
|
11362
11358
|
super(t, e, A);
|
|
11363
11359
|
}
|
|
@@ -11412,7 +11408,7 @@ class fs extends at {
|
|
|
11412
11408
|
return t;
|
|
11413
11409
|
}
|
|
11414
11410
|
}
|
|
11415
|
-
class
|
|
11411
|
+
class fs extends at {
|
|
11416
11412
|
constructor(t, e, A) {
|
|
11417
11413
|
super(t, e, A);
|
|
11418
11414
|
}
|
|
@@ -11681,13 +11677,13 @@ class oe {
|
|
|
11681
11677
|
case M.Question:
|
|
11682
11678
|
return new ms(t, e, t.getStepTags(e.stepName));
|
|
11683
11679
|
case M.Text:
|
|
11684
|
-
return new
|
|
11680
|
+
return new fs(t, e, t.getStepTags(e.stepName));
|
|
11685
11681
|
case M.Illustration:
|
|
11686
11682
|
return new Cs(t, e, t.getStepTags(e.stepName));
|
|
11687
11683
|
case M.Picture:
|
|
11688
11684
|
return new Es(t, e, t.getStepTags(e.stepName));
|
|
11689
11685
|
case M.Shape:
|
|
11690
|
-
return new
|
|
11686
|
+
return new Qs(t, e, t.getStepTags(e.stepName));
|
|
11691
11687
|
case M.Material:
|
|
11692
11688
|
return new ws(t, e, t.getStepTags(e.stepName));
|
|
11693
11689
|
case M.Model:
|
|
@@ -11947,18 +11943,18 @@ const Ms = async (n) => {
|
|
|
11947
11943
|
}
|
|
11948
11944
|
}
|
|
11949
11945
|
return [x, N];
|
|
11950
|
-
}, [E] = await u(!0),
|
|
11946
|
+
}, [E] = await u(!0), m = Object.fromEntries(
|
|
11951
11947
|
Object.keys(E).map((y) => [y, E[y].map((x) => x.id)])
|
|
11952
|
-
), [
|
|
11953
|
-
Object.keys(
|
|
11948
|
+
), [f] = await u(!1), Q = Object.fromEntries(
|
|
11949
|
+
Object.keys(f).map((y) => [
|
|
11954
11950
|
y,
|
|
11955
|
-
|
|
11951
|
+
f[y].map((x) => x.id)
|
|
11956
11952
|
])
|
|
11957
11953
|
);
|
|
11958
|
-
let
|
|
11959
|
-
if (
|
|
11960
|
-
const y = await (await rt(
|
|
11961
|
-
|
|
11954
|
+
let p = await o(h, a.id);
|
|
11955
|
+
if (p) {
|
|
11956
|
+
const y = await (await rt(p)).blob();
|
|
11957
|
+
p = (await J.uploadAsset(
|
|
11962
11958
|
{ name: `${a.id}-preview-image.png`, blob: y },
|
|
11963
11959
|
Ce.Image,
|
|
11964
11960
|
!0,
|
|
@@ -11976,7 +11972,7 @@ const Ms = async (n) => {
|
|
|
11976
11972
|
workflowId: t.id,
|
|
11977
11973
|
transactionId: a.id,
|
|
11978
11974
|
useThreeDimPreview: !!h,
|
|
11979
|
-
previewImage:
|
|
11975
|
+
previewImage: p
|
|
11980
11976
|
};
|
|
11981
11977
|
if (w) {
|
|
11982
11978
|
const x = [];
|
|
@@ -11984,9 +11980,9 @@ const Ms = async (n) => {
|
|
|
11984
11980
|
x.push({ key: N, value: S });
|
|
11985
11981
|
y.metadata = x;
|
|
11986
11982
|
}
|
|
11987
|
-
if (
|
|
11983
|
+
if (m) {
|
|
11988
11984
|
const x = [];
|
|
11989
|
-
for (const [N, S] of Object.entries(
|
|
11985
|
+
for (const [N, S] of Object.entries(Q))
|
|
11990
11986
|
x.push({ key: N, ids: S });
|
|
11991
11987
|
y.selectedVariants = x;
|
|
11992
11988
|
}
|
|
@@ -12239,18 +12235,18 @@ class re {
|
|
|
12239
12235
|
return this.workflowManager;
|
|
12240
12236
|
}
|
|
12241
12237
|
async createPreviewImage(t, e) {
|
|
12242
|
-
var E,
|
|
12238
|
+
var E, m;
|
|
12243
12239
|
const A = this.workflowManager.getWorkflow(), a = (E = A == null ? void 0 : A.finalizeStepConfig) == null ? void 0 : E.lookAtAnimation;
|
|
12244
12240
|
if (t) {
|
|
12245
12241
|
if (!a)
|
|
12246
12242
|
throw new Error("Failed to generate cart preview image!");
|
|
12247
|
-
return await ((
|
|
12243
|
+
return await ((m = this.workflowManager.getPreviewService()) == null ? void 0 : m.renderSceneScreenshot(e ?? 512, a)) || "";
|
|
12248
12244
|
}
|
|
12249
12245
|
let i = 2048;
|
|
12250
12246
|
e && e <= 2048 && (i = e);
|
|
12251
|
-
const s = lt(i, i), o = this.commandContext.getAllLayouts(), r = A.defaultPreviewPanelIndex || 0, c = A.panels[r], l = o.find((
|
|
12252
|
-
var
|
|
12253
|
-
return ((
|
|
12247
|
+
const s = lt(i, i), o = this.commandContext.getAllLayouts(), r = A.defaultPreviewPanelIndex || 0, c = A.panels[r], l = o.find((f) => {
|
|
12248
|
+
var Q;
|
|
12249
|
+
return ((Q = f.layoutState) == null ? void 0 : Q.layout.panelId) === (c == null ? void 0 : c.name);
|
|
12254
12250
|
}) || o[0], g = l.layoutState.layout.previewRegion ? {
|
|
12255
12251
|
x: l.layoutState.layout.previewRegion.left,
|
|
12256
12252
|
y: l.layoutState.layout.previewRegion.top,
|
|
@@ -12525,7 +12521,7 @@ class re {
|
|
|
12525
12521
|
), this.checkForPriceBreakChanges();
|
|
12526
12522
|
const e = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), A = this.getWorkflowManager().getTransaction(), a = e.get(A.id) || void 0;
|
|
12527
12523
|
await P.getShadowGraphqlClient().mutate({
|
|
12528
|
-
mutation:
|
|
12524
|
+
mutation: _n,
|
|
12529
12525
|
variables: {
|
|
12530
12526
|
id: A.id,
|
|
12531
12527
|
quantity: t
|
|
@@ -12648,17 +12644,17 @@ const ks = [
|
|
|
12648
12644
|
return console.error(o), [];
|
|
12649
12645
|
}
|
|
12650
12646
|
}, Us = async (n, t, e, A) => {
|
|
12651
|
-
var
|
|
12647
|
+
var Q, p;
|
|
12652
12648
|
const a = e.data, i = A.option;
|
|
12653
12649
|
if (!i)
|
|
12654
12650
|
return console.error(`No option for step ${A.stepName}.`), [];
|
|
12655
|
-
const s = ((
|
|
12651
|
+
const s = ((Q = i.variants) == null ? void 0 : Q.find((I) => I.id === a.illustrationVariantId)) || $t(i);
|
|
12656
12652
|
if (!s)
|
|
12657
12653
|
return console.error(`No variant with ID: ${a.illustrationVariantId}`), [];
|
|
12658
12654
|
if (!s.asset)
|
|
12659
12655
|
return console.error(`No asset for variant with ID: ${a.illustrationVariantId}`), [];
|
|
12660
12656
|
t[A.stepName] = { selectedVariants: [s] };
|
|
12661
|
-
const o = (
|
|
12657
|
+
const o = (p = s.asset) == null ? void 0 : p.fileLink;
|
|
12662
12658
|
if (!o)
|
|
12663
12659
|
return console.error(`No asset link for variant with ID: ${a.illustrationVariantId}`), [];
|
|
12664
12660
|
const r = await tt(o, !0), c = /<svg.*?<\/svg>/s, l = r.match(c) || [], g = (l == null ? void 0 : l.length) > 0 ? l[0] : "", h = Bt().parseFromString(g, "image/svg+xml").firstElementChild;
|
|
@@ -12666,32 +12662,32 @@ const ks = [
|
|
|
12666
12662
|
return console.error("Failed to read SVG."), [];
|
|
12667
12663
|
BA(h);
|
|
12668
12664
|
const C = {};
|
|
12669
|
-
xt(h, (
|
|
12670
|
-
ks.includes(
|
|
12671
|
-
const D =
|
|
12665
|
+
xt(h, (I) => {
|
|
12666
|
+
ks.includes(I.tagName) && !I.attributes.getNamedItem("fill") && I.setAttribute("fill", "#000000");
|
|
12667
|
+
const D = I.attributes.getNamedItem("fill");
|
|
12672
12668
|
if (D && D.value !== "none") {
|
|
12673
12669
|
const x = D.value, S = `spiff-fill-${x.replace(/\W/g, "")}`;
|
|
12674
|
-
|
|
12670
|
+
I.classList.add(S), C[S] = { browserValue: x };
|
|
12675
12671
|
}
|
|
12676
|
-
const y =
|
|
12672
|
+
const y = I.attributes.getNamedItem("stroke");
|
|
12677
12673
|
if (y && y.value !== "none") {
|
|
12678
12674
|
const x = y.value, S = `spiff-stroke-${x.replace(/\W/g, "")}`;
|
|
12679
|
-
|
|
12675
|
+
I.classList.add(S), C[S] = { browserValue: x };
|
|
12680
12676
|
}
|
|
12681
12677
|
});
|
|
12682
12678
|
const u = Se().serializeToString(h), E = a.colors;
|
|
12683
12679
|
if (E) {
|
|
12684
|
-
for (const [
|
|
12680
|
+
for (const [I, D] of Object.entries(C))
|
|
12685
12681
|
for (const y of Object.keys(E))
|
|
12686
12682
|
if (D.browserValue === y) {
|
|
12687
|
-
C[
|
|
12683
|
+
C[I] = { browserValue: E[y] };
|
|
12688
12684
|
break;
|
|
12689
12685
|
}
|
|
12690
12686
|
}
|
|
12691
|
-
const
|
|
12692
|
-
const D = n.find((x) => x.panelId ===
|
|
12687
|
+
const m = (I) => {
|
|
12688
|
+
const D = n.find((x) => x.panelId === I.panelId);
|
|
12693
12689
|
if (!D)
|
|
12694
|
-
throw new X(
|
|
12690
|
+
throw new X(I);
|
|
12695
12691
|
const y = k();
|
|
12696
12692
|
return new V(
|
|
12697
12693
|
{
|
|
@@ -12699,22 +12695,22 @@ const ks = [
|
|
|
12699
12695
|
id: y,
|
|
12700
12696
|
svg: u,
|
|
12701
12697
|
type: R.Illustration,
|
|
12702
|
-
y:
|
|
12703
|
-
x:
|
|
12704
|
-
rotation:
|
|
12705
|
-
width:
|
|
12706
|
-
height:
|
|
12707
|
-
layer:
|
|
12708
|
-
layerIndex:
|
|
12709
|
-
immutable:
|
|
12698
|
+
y: I.top,
|
|
12699
|
+
x: I.left,
|
|
12700
|
+
rotation: I.rotation,
|
|
12701
|
+
width: I.width,
|
|
12702
|
+
height: I.height,
|
|
12703
|
+
layer: I.layer,
|
|
12704
|
+
layerIndex: I.layerIndex,
|
|
12705
|
+
immutable: I.immutable
|
|
12710
12706
|
},
|
|
12711
12707
|
D
|
|
12712
12708
|
);
|
|
12713
|
-
},
|
|
12709
|
+
}, f = A.data.regions;
|
|
12714
12710
|
try {
|
|
12715
|
-
return
|
|
12716
|
-
} catch (
|
|
12717
|
-
return console.error(
|
|
12711
|
+
return f.map(m);
|
|
12712
|
+
} catch (I) {
|
|
12713
|
+
return console.error(I), [];
|
|
12718
12714
|
}
|
|
12719
12715
|
}, Gs = async (n, t, e) => {
|
|
12720
12716
|
const A = await Ta(e.data.module), a = t.data, i = (o, r) => {
|
|
@@ -12914,11 +12910,11 @@ const ks = [
|
|
|
12914
12910
|
return A;
|
|
12915
12911
|
}, Ls = async (n, t, e, A) => {
|
|
12916
12912
|
const a = [], i = e.data, s = 30, o = (w) => w.vertical ? "center" : w.textAlign || "center", r = () => {
|
|
12917
|
-
var
|
|
12913
|
+
var m;
|
|
12918
12914
|
const w = A.option;
|
|
12919
12915
|
if (!w)
|
|
12920
12916
|
return;
|
|
12921
|
-
const u = ((
|
|
12917
|
+
const u = ((m = w.variants) == null ? void 0 : m.find((f) => f.id === i.fontVariantId)) || $t(w);
|
|
12922
12918
|
if (!u || !u.asset)
|
|
12923
12919
|
return;
|
|
12924
12920
|
t[A.stepName] = { selectedVariants: [u] };
|
|
@@ -12934,7 +12930,7 @@ const ks = [
|
|
|
12934
12930
|
assetUrl: w,
|
|
12935
12931
|
name: u.names.fullName.en
|
|
12936
12932
|
};
|
|
12937
|
-
})(), 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 = Qe(g, {
|
|
12938
12934
|
vertical: A.data.vertical,
|
|
12939
12935
|
uppercase: A.data.uppercase
|
|
12940
12936
|
}), B = async (w) => {
|
|
@@ -12945,7 +12941,7 @@ const ks = [
|
|
|
12945
12941
|
return E == null ? void 0 : E.color;
|
|
12946
12942
|
}, h = i.color || await B(A.data), C = A.data.regions;
|
|
12947
12943
|
for (const w of C) {
|
|
12948
|
-
const u = n.find((
|
|
12944
|
+
const u = n.find((m) => m.panelId === w.panelId);
|
|
12949
12945
|
if (!u)
|
|
12950
12946
|
continue;
|
|
12951
12947
|
const E = {
|
|
@@ -12970,12 +12966,12 @@ const ks = [
|
|
|
12970
12966
|
y: w.top
|
|
12971
12967
|
};
|
|
12972
12968
|
if (l) {
|
|
12973
|
-
const [
|
|
12969
|
+
const [m, f] = he(
|
|
12974
12970
|
A.data.size || s,
|
|
12975
12971
|
l,
|
|
12976
12972
|
w,
|
|
12977
12973
|
[
|
|
12978
|
-
|
|
12974
|
+
Qe(d, {
|
|
12979
12975
|
vertical: A.data.vertical,
|
|
12980
12976
|
uppercase: A.data.uppercase
|
|
12981
12977
|
})
|
|
@@ -12990,8 +12986,8 @@ const ks = [
|
|
|
12990
12986
|
new V(
|
|
12991
12987
|
{
|
|
12992
12988
|
...E,
|
|
12993
|
-
fontSize:
|
|
12994
|
-
text: E.curved ? E.text : (
|
|
12989
|
+
fontSize: m,
|
|
12990
|
+
text: E.curved ? E.text : (f || []).join(`
|
|
12995
12991
|
`)
|
|
12996
12992
|
},
|
|
12997
12993
|
u
|
|
@@ -13228,7 +13224,7 @@ class Xs extends da {
|
|
|
13228
13224
|
d.resize(r, c), await d.render(), this.onRender();
|
|
13229
13225
|
}
|
|
13230
13226
|
}
|
|
13231
|
-
const
|
|
13227
|
+
const Or = (n, t) => {
|
|
13232
13228
|
const e = [];
|
|
13233
13229
|
return n.forEach((A) => {
|
|
13234
13230
|
const a = t.steps.find((i) => i.stepName === A.stepName);
|
|
@@ -13239,7 +13235,7 @@ const Tr = (n, t) => {
|
|
|
13239
13235
|
}
|
|
13240
13236
|
});
|
|
13241
13237
|
}), e;
|
|
13242
|
-
},
|
|
13238
|
+
}, Lr = async (n, t, e, A) => {
|
|
13243
13239
|
let a = {
|
|
13244
13240
|
serializableWorkflow: { steps: [] },
|
|
13245
13241
|
layouts: {}
|
|
@@ -14063,7 +14059,7 @@ const DA = F`
|
|
|
14063
14059
|
}
|
|
14064
14060
|
}
|
|
14065
14061
|
}
|
|
14066
|
-
`,
|
|
14062
|
+
`, Qo = F`
|
|
14067
14063
|
${DA}
|
|
14068
14064
|
query GetGlobalPropertyState($bundleId: String!) {
|
|
14069
14065
|
globalPropertyState(bundleId: $bundleId) {
|
|
@@ -14074,7 +14070,7 @@ const DA = F`
|
|
|
14074
14070
|
}
|
|
14075
14071
|
}
|
|
14076
14072
|
`;
|
|
14077
|
-
class
|
|
14073
|
+
class fo {
|
|
14078
14074
|
constructor(t, e, A, a, i) {
|
|
14079
14075
|
this.bundleId = t, this.bundleOwnerId = e, this.configuration = A, this.bundleOptions = i, this.initPromise = this.getOrCreateGlobalPropertyState().then((s) => {
|
|
14080
14076
|
this.globalPropertyState = s;
|
|
@@ -14193,7 +14189,7 @@ class Qo {
|
|
|
14193
14189
|
async getOrCreateGlobalPropertyState() {
|
|
14194
14190
|
var A, a, i;
|
|
14195
14191
|
const t = await P.getShadowGraphqlClient().query({
|
|
14196
|
-
query:
|
|
14192
|
+
query: Qo,
|
|
14197
14193
|
errorPolicy: "all",
|
|
14198
14194
|
fetchPolicy: "no-cache",
|
|
14199
14195
|
variables: {
|
|
@@ -14577,7 +14573,7 @@ class Fo {
|
|
|
14577
14573
|
class je {
|
|
14578
14574
|
constructor(t, e, A, a, i, s) {
|
|
14579
14575
|
var o, r, c;
|
|
14580
|
-
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
|
|
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 fo(
|
|
14581
14577
|
this.id,
|
|
14582
14578
|
this.ownerId,
|
|
14583
14579
|
(r = this.productCollection) == null ? void 0 : r.globalPropertyConfiguration,
|
|
@@ -15209,7 +15205,7 @@ class FA {
|
|
|
15209
15205
|
}
|
|
15210
15206
|
}
|
|
15211
15207
|
var xo = /* @__PURE__ */ ((n) => (n.Transaction = "Transaction", n.Bundle = "Bundle", n.Product = "Product", n.Variant = "Variant", n.Option = "Option", n.LineItem = "LineItem", n.Asset = "Asset", n))(xo || {});
|
|
15212
|
-
class
|
|
15208
|
+
class zr extends FA {
|
|
15213
15209
|
constructor(t) {
|
|
15214
15210
|
super(`"${t}"`);
|
|
15215
15211
|
}
|
|
@@ -15224,7 +15220,7 @@ class Wa extends FA {
|
|
|
15224
15220
|
return t.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i);
|
|
15225
15221
|
}
|
|
15226
15222
|
}
|
|
15227
|
-
class
|
|
15223
|
+
class jr extends FA {
|
|
15228
15224
|
constructor(t) {
|
|
15229
15225
|
super(`[${t.map((e) => e.getRaw()).join(",")}]`);
|
|
15230
15226
|
}
|
|
@@ -16009,19 +16005,19 @@ class Wo {
|
|
|
16009
16005
|
try {
|
|
16010
16006
|
return P.getShadowGraphqlClient().mutate({
|
|
16011
16007
|
...e,
|
|
16012
|
-
mutation:
|
|
16008
|
+
mutation: Zn
|
|
16013
16009
|
});
|
|
16014
16010
|
} catch (A) {
|
|
16015
16011
|
throw console.error(A), new b("Critical - Unable to synchronize workflow state with server.");
|
|
16016
16012
|
}
|
|
16017
|
-
}, this.initialized = !1, this.options = t, this.options.applicationKey &&
|
|
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: 24.0.2"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
|
|
16018
16014
|
}
|
|
16019
16015
|
/** @deprecated Use `configure` instead */
|
|
16020
16016
|
configureUrls(t, e, A) {
|
|
16021
16017
|
nt.setHubUrl(t), nt.setServerUrl(e), nt.setServicesApiUrl(A), this.options.applicationKey && this.getIntegration();
|
|
16022
16018
|
}
|
|
16023
16019
|
configure(t) {
|
|
16024
|
-
nt.setHubUrl(t.hubUrl), nt.setServerUrl(t.serverUrl), nt.setServicesApiUrl(t.servicesApiUrl), this.marketplaceThemeInstallId = t.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = t.marketplaceThemeInstallConfigurationId, t.bearerAuthenticationToken &&
|
|
16020
|
+
nt.setHubUrl(t.hubUrl), nt.setServerUrl(t.serverUrl), nt.setServicesApiUrl(t.servicesApiUrl), this.marketplaceThemeInstallId = t.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = t.marketplaceThemeInstallConfigurationId, t.bearerAuthenticationToken && yn(t.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration();
|
|
16025
16021
|
}
|
|
16026
16022
|
/**
|
|
16027
16023
|
* @returns The asset manager allows for common operations related to assets
|
|
@@ -16036,7 +16032,7 @@ class Wo {
|
|
|
16036
16032
|
return this.currencyCode;
|
|
16037
16033
|
}
|
|
16038
16034
|
getFlowService() {
|
|
16039
|
-
if (!
|
|
16035
|
+
if (!Fn())
|
|
16040
16036
|
throw new Error("Application key required to use Flow Service.");
|
|
16041
16037
|
return new Mo();
|
|
16042
16038
|
}
|
|
@@ -16046,7 +16042,7 @@ class Wo {
|
|
|
16046
16042
|
if (!this.options.applicationKey)
|
|
16047
16043
|
throw new Error("Cannot get current Integration without specifying an Application Key.");
|
|
16048
16044
|
const t = async () => (await P.getShadowGraphqlClient().query({
|
|
16049
|
-
query:
|
|
16045
|
+
query: Wn,
|
|
16050
16046
|
errorPolicy: "all",
|
|
16051
16047
|
fetchPolicy: "no-cache"
|
|
16052
16048
|
})).data.currentIntegration;
|
|
@@ -16125,14 +16121,14 @@ class Wo {
|
|
|
16125
16121
|
const w = o.get(t);
|
|
16126
16122
|
if (w && await this.authenticateCustomerId(w)) {
|
|
16127
16123
|
const E = ((B = (d = this.customer) == null ? void 0 : d.bundleStakeholders) == null ? void 0 : B.find(
|
|
16128
|
-
(
|
|
16129
|
-
var
|
|
16130
|
-
return (
|
|
16124
|
+
(m) => {
|
|
16125
|
+
var f, Q;
|
|
16126
|
+
return (Q = (f = m.bundle) == null ? void 0 : f.transactions) == null ? void 0 : Q.some((p) => p.id === t);
|
|
16131
16127
|
}
|
|
16132
16128
|
)) || ((C = (h = this.customer) == null ? void 0 : h.stakeholders) == null ? void 0 : C.find(
|
|
16133
|
-
(
|
|
16134
|
-
var
|
|
16135
|
-
return ((
|
|
16129
|
+
(m) => {
|
|
16130
|
+
var f;
|
|
16131
|
+
return ((f = m.transaction) == null ? void 0 : f.id) === t;
|
|
16136
16132
|
}
|
|
16137
16133
|
));
|
|
16138
16134
|
if (E)
|
|
@@ -16319,7 +16315,7 @@ class Wo {
|
|
|
16319
16315
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
16320
16316
|
*/
|
|
16321
16317
|
async getExistingBundle(t, e, A, a) {
|
|
16322
|
-
var w, u, E,
|
|
16318
|
+
var w, u, E, m, f, Q, p, I, D, y, x;
|
|
16323
16319
|
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 = {};
|
|
16324
16320
|
c && !Ie(c) && (l.Authorization = `Bearer ${c}`);
|
|
16325
16321
|
const g = {
|
|
@@ -16327,7 +16323,7 @@ class Wo {
|
|
|
16327
16323
|
...l,
|
|
16328
16324
|
...(u = a == null ? void 0 : a.graphql) == null ? void 0 : u.additionalHeaders
|
|
16329
16325
|
}, d = await P.getShadowGraphqlClient().query({
|
|
16330
|
-
query: Zs(((
|
|
16326
|
+
query: Zs(((m = (E = a == null ? void 0 : a.graphql) == null ? void 0 : E.productCollection) == null ? void 0 : m.eagerFetchProducts) || !1),
|
|
16331
16327
|
variables: {
|
|
16332
16328
|
id: t
|
|
16333
16329
|
},
|
|
@@ -16336,9 +16332,9 @@ class Wo {
|
|
|
16336
16332
|
headers: g
|
|
16337
16333
|
}
|
|
16338
16334
|
});
|
|
16339
|
-
if (!((
|
|
16335
|
+
if (!((f = d.data) != null && f.bundles) || ((Q = d.data) == null ? void 0 : Q.bundles.length) === 0 || !((p = d.data) != null && p.bundles[0]))
|
|
16340
16336
|
throw new Error(`Unable to find bundle: ${t}`);
|
|
16341
|
-
const B = (
|
|
16337
|
+
const B = (I = d.data) == null ? void 0 : I.bundles[0], h = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
|
|
16342
16338
|
h.set(B.id, B.partner.id), Y.setMap("bundlePartnerIds", h);
|
|
16343
16339
|
const C = new je(this, B, e, A, s, {
|
|
16344
16340
|
additionalHeaders: (D = a == null ? void 0 : a.graphql) == null ? void 0 : D.additionalHeaders,
|
|
@@ -16353,15 +16349,15 @@ class Wo {
|
|
|
16353
16349
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
16354
16350
|
*/
|
|
16355
16351
|
async duplicateBundle(t, e, A, a) {
|
|
16356
|
-
var w, u, E,
|
|
16352
|
+
var w, u, E, m, f, Q, p, I;
|
|
16357
16353
|
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 = {};
|
|
16358
16354
|
r && !Ie(r) && (c.Authorization = `Bearer ${r}`);
|
|
16359
16355
|
const l = {
|
|
16360
16356
|
bundleOwnerId: i,
|
|
16361
16357
|
...c,
|
|
16362
16358
|
...(E = a == null ? void 0 : a.graphql) == null ? void 0 : E.additionalHeaders
|
|
16363
|
-
}, d = (
|
|
16364
|
-
mutation: Ao(((
|
|
16359
|
+
}, d = (Q = (await P.getShadowGraphqlClient().mutate({
|
|
16360
|
+
mutation: Ao(((f = (m = a == null ? void 0 : a.graphql) == null ? void 0 : m.productCollection) == null ? void 0 : f.eagerFetchProducts) || !1),
|
|
16365
16361
|
variables: {
|
|
16366
16362
|
id: t,
|
|
16367
16363
|
template: e,
|
|
@@ -16373,7 +16369,7 @@ class Wo {
|
|
|
16373
16369
|
headers: l
|
|
16374
16370
|
},
|
|
16375
16371
|
fetchPolicy: "no-cache"
|
|
16376
|
-
})).data) == null ? void 0 :
|
|
16372
|
+
})).data) == null ? void 0 : Q.bundleDuplicate;
|
|
16377
16373
|
if (!(d != null && d.id))
|
|
16378
16374
|
throw new Error("Unable to duplicate bundle");
|
|
16379
16375
|
const B = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
|
|
@@ -16381,7 +16377,7 @@ class Wo {
|
|
|
16381
16377
|
const h = Y.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
|
|
16382
16378
|
h.set(d.id, d.bundleOwnerId), Y.setMap("bundleOwnerIds", h);
|
|
16383
16379
|
const C = new je(this, d, void 0, void 0, d.bundleOwnerId, {
|
|
16384
|
-
eagerFetchProducts: (
|
|
16380
|
+
eagerFetchProducts: (I = (p = a == null ? void 0 : a.graphql) == null ? void 0 : p.productCollection) == null ? void 0 : I.eagerFetchProducts
|
|
16385
16381
|
});
|
|
16386
16382
|
return await C.getInitializationPromise(), C;
|
|
16387
16383
|
}
|
|
@@ -16461,31 +16457,31 @@ class Wo {
|
|
|
16461
16457
|
if (!a)
|
|
16462
16458
|
return await this.getWorkflowExperienceDeprecated(t, e, A);
|
|
16463
16459
|
const i = async () => {
|
|
16464
|
-
var E,
|
|
16460
|
+
var E, m, f;
|
|
16465
16461
|
const u = P.getShadowGraphqlClient();
|
|
16466
16462
|
if (a.type === "transaction") {
|
|
16467
|
-
const { transactionId:
|
|
16463
|
+
const { transactionId: Q, readOnly: p } = a, I = await u.query({
|
|
16468
16464
|
query: ae,
|
|
16469
16465
|
variables: {
|
|
16470
|
-
ids: [
|
|
16466
|
+
ids: [Q]
|
|
16471
16467
|
},
|
|
16472
16468
|
errorPolicy: "all",
|
|
16473
16469
|
fetchPolicy: "no-cache"
|
|
16474
16470
|
});
|
|
16475
|
-
if (!((E =
|
|
16471
|
+
if (!((E = I.data) != null && E.transactions) || I.data.transactions.length === 0)
|
|
16476
16472
|
throw new b("Existing transaction not found.");
|
|
16477
|
-
const D = (
|
|
16473
|
+
const D = (m = I.data) == null ? void 0 : m.transactions[0];
|
|
16478
16474
|
if (!D.workflowId)
|
|
16479
16475
|
throw new b("Existing transaction has no workflow ID.");
|
|
16480
16476
|
const y = await ge(D.workflowId);
|
|
16481
16477
|
if (!D.product)
|
|
16482
16478
|
throw new b("Failed to load transaction, product not available.");
|
|
16483
|
-
!this.activeIntegration && ((
|
|
16479
|
+
!this.activeIntegration && ((f = D.integrationProduct) != null && f.integration) && (this.activeIntegration = Promise.resolve(D.integrationProduct.integration));
|
|
16484
16480
|
const x = await this.getStepTags(y);
|
|
16485
|
-
return { transaction: D, workflow: y, stepTags: x, readOnly:
|
|
16481
|
+
return { transaction: D, workflow: y, stepTags: x, readOnly: p };
|
|
16486
16482
|
}
|
|
16487
16483
|
if (a.type === "integration" || a.type === "external") {
|
|
16488
|
-
const
|
|
16484
|
+
const Q = async () => {
|
|
16489
16485
|
const x = a.type === "integration" ? { integrationProductId: a.integrationProductId } : {
|
|
16490
16486
|
externalIntegrationId: a.externalIntegrationId,
|
|
16491
16487
|
externalProductId: a.externalProductId
|
|
@@ -16510,8 +16506,8 @@ class Wo {
|
|
|
16510
16506
|
if (!S.product)
|
|
16511
16507
|
throw new b("Failed to create transaction, product not available.");
|
|
16512
16508
|
return S;
|
|
16513
|
-
},
|
|
16514
|
-
return { transaction:
|
|
16509
|
+
}, p = ge(a.workflowId, a == null ? void 0 : a.graphql), [I, D] = await Promise.all([Q(), p]), y = await this.getStepTags(D);
|
|
16510
|
+
return { transaction: I, workflow: D, stepTags: y };
|
|
16515
16511
|
}
|
|
16516
16512
|
throw new b("No workflow ID provided.");
|
|
16517
16513
|
}, { transaction: s, workflow: o, stepTags: r, readOnly: c } = await i();
|
|
@@ -16525,8 +16521,8 @@ class Wo {
|
|
|
16525
16521
|
stateMutationFunc: c ? async () => {
|
|
16526
16522
|
throw new O("State mutation is forbidden in read only mode!");
|
|
16527
16523
|
} : async (u) => {
|
|
16528
|
-
const
|
|
16529
|
-
return this.updateTransactionState({ ...u, context: { transactionOwnerId:
|
|
16524
|
+
const m = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(s.id) || void 0;
|
|
16525
|
+
return this.updateTransactionState({ ...u, context: { transactionOwnerId: m } });
|
|
16530
16526
|
},
|
|
16531
16527
|
readOnly: c,
|
|
16532
16528
|
workflow: o
|
|
@@ -16569,20 +16565,20 @@ class Wo {
|
|
|
16569
16565
|
async getWorkflowExperiences(t, e) {
|
|
16570
16566
|
if (t.length === 0)
|
|
16571
16567
|
throw new b("No options provided!");
|
|
16572
|
-
const A = P.getShadowGraphqlClient(), a = async (
|
|
16568
|
+
const A = P.getShadowGraphqlClient(), a = async (Q) => {
|
|
16573
16569
|
var y, x, N;
|
|
16574
|
-
if (
|
|
16570
|
+
if (Q.length === 0)
|
|
16575
16571
|
return [];
|
|
16576
|
-
const
|
|
16572
|
+
const p = Q.map((S) => S.option.transactionId), I = await A.query({
|
|
16577
16573
|
query: ae,
|
|
16578
16574
|
variables: {
|
|
16579
|
-
ids:
|
|
16575
|
+
ids: p
|
|
16580
16576
|
},
|
|
16581
16577
|
errorPolicy: "all",
|
|
16582
16578
|
fetchPolicy: "no-cache"
|
|
16583
|
-
}), D =
|
|
16584
|
-
if (D.length !==
|
|
16585
|
-
const S = ((x = (y =
|
|
16579
|
+
}), D = I.data.transactions;
|
|
16580
|
+
if (D.length !== Q.length) {
|
|
16581
|
+
const S = ((x = (y = I.errors) == null ? void 0 : y[0]) == null ? void 0 : x.message) || "Unknown error";
|
|
16586
16582
|
throw new b(`Not all transactions were found: ${S}`);
|
|
16587
16583
|
}
|
|
16588
16584
|
return !this.activeIntegration && ((N = D[0].integrationProduct) != null && N.integration) && (this.activeIntegration = Promise.resolve(D[0].integrationProduct.integration)), D.map((S, z) => {
|
|
@@ -16590,18 +16586,18 @@ class Wo {
|
|
|
16590
16586
|
return {
|
|
16591
16587
|
transaction: S,
|
|
16592
16588
|
workflowId: S.workflowId,
|
|
16593
|
-
readOnly: ((U =
|
|
16594
|
-
index:
|
|
16589
|
+
readOnly: ((U = Q.find((At) => At.option.transactionId === S.id)) == null ? void 0 : U.option.readOnly) ?? !1,
|
|
16590
|
+
index: Q[z].index
|
|
16595
16591
|
};
|
|
16596
16592
|
});
|
|
16597
|
-
}, i = async (
|
|
16593
|
+
}, i = async (Q) => {
|
|
16598
16594
|
var D, y, x;
|
|
16599
|
-
if (
|
|
16595
|
+
if (Q.length === 0)
|
|
16600
16596
|
return [];
|
|
16601
|
-
const
|
|
16602
|
-
mutation:
|
|
16597
|
+
const p = await A.mutate({
|
|
16598
|
+
mutation: Xn,
|
|
16603
16599
|
variables: {
|
|
16604
|
-
inputs:
|
|
16600
|
+
inputs: Q.map((N) => ({
|
|
16605
16601
|
integrationProductId: N.option.type === "integration" ? N.option.integrationProductId : void 0,
|
|
16606
16602
|
externalIntegrationId: N.option.type === "external" ? N.option.externalIntegrationId : void 0,
|
|
16607
16603
|
externalProductId: N.option.type === "external" ? N.option.externalProductId : void 0,
|
|
@@ -16614,29 +16610,29 @@ class Wo {
|
|
|
16614
16610
|
},
|
|
16615
16611
|
errorPolicy: "all",
|
|
16616
16612
|
fetchPolicy: "no-cache"
|
|
16617
|
-
}),
|
|
16618
|
-
if (!
|
|
16619
|
-
const N = ((x = (y =
|
|
16613
|
+
}), I = (D = p.data) == null ? void 0 : D.transactionCreateMany;
|
|
16614
|
+
if (!I || I.length === 0) {
|
|
16615
|
+
const N = ((x = (y = p.errors) == null ? void 0 : y[0]) == null ? void 0 : x.message) || "Unknown error";
|
|
16620
16616
|
throw new b(`Failed to create transactions: ${N}`);
|
|
16621
16617
|
}
|
|
16622
|
-
return
|
|
16618
|
+
return I.map((N, S) => ({
|
|
16623
16619
|
transaction: N,
|
|
16624
16620
|
workflowId: N.workflowId,
|
|
16625
16621
|
readOnly: !1,
|
|
16626
|
-
index:
|
|
16622
|
+
index: Q[S].index
|
|
16627
16623
|
}));
|
|
16628
|
-
}, s = t.map((
|
|
16629
|
-
(
|
|
16624
|
+
}, s = t.map((Q, p) => ({ option: Q, index: p })), o = s.filter((Q) => Q.option.type === "transaction"), r = s.filter(
|
|
16625
|
+
(Q) => Q.option.type === "integration" || Q.option.type === "external"
|
|
16630
16626
|
), c = yA(o, 10), l = yA(r, 10), g = (await Promise.all([
|
|
16631
16627
|
...c.map(a),
|
|
16632
16628
|
...l.map(i)
|
|
16633
|
-
])).flat(), d = [...new Set(g.map((
|
|
16629
|
+
])).flat(), d = [...new Set(g.map((Q) => Q.workflowId))], B = await Xa(d, e), h = new Map(B.map((Q) => [Q.id, Q])), C = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), w = g.map(async (Q) => {
|
|
16634
16630
|
var At;
|
|
16635
|
-
const { transaction:
|
|
16636
|
-
!C.get(
|
|
16637
|
-
const z = C.get(
|
|
16638
|
-
product:
|
|
16639
|
-
transaction:
|
|
16631
|
+
const { transaction: p, workflowId: I, readOnly: D, index: y } = Q, x = h.get(I), N = await this.getStepTags(x), S = t[y];
|
|
16632
|
+
!C.get(p.id) && p.transactionOwnerId && C.set(p.id, p.transactionOwnerId);
|
|
16633
|
+
const z = C.get(p.id) || void 0, U = {
|
|
16634
|
+
product: p.product,
|
|
16635
|
+
transaction: p,
|
|
16640
16636
|
stepTags: N,
|
|
16641
16637
|
layouts: [],
|
|
16642
16638
|
singleVariantsRenderable: (At = S == null ? void 0 : S.workflowConfiguration) == null ? void 0 : At.singleVariantsRenderable,
|
|
@@ -16647,8 +16643,8 @@ class Wo {
|
|
|
16647
16643
|
workflow: x,
|
|
16648
16644
|
isReloadedTransaction: S.type === "transaction"
|
|
16649
16645
|
};
|
|
16650
|
-
if (S.type === "transaction" &&
|
|
16651
|
-
const K = JSON.parse(
|
|
16646
|
+
if (S.type === "transaction" && p.workflowState) {
|
|
16647
|
+
const K = JSON.parse(p.workflowState);
|
|
16652
16648
|
U.layouts = Object.values(K.layouts || {}).map((ht) => ht.layout), await Dt(K), await Ft(K), U.reloadedState = K;
|
|
16653
16649
|
} else if (!D && S.workflowState) {
|
|
16654
16650
|
const K = JSON.parse(S.workflowState);
|
|
@@ -16663,11 +16659,11 @@ class Wo {
|
|
|
16663
16659
|
), U.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = U, { experienceOptions: U, index: y, options: S };
|
|
16664
16660
|
}), u = await Promise.all(w);
|
|
16665
16661
|
Y.setMap("transactionOwnerIds", C);
|
|
16666
|
-
const
|
|
16667
|
-
const { experienceOptions:
|
|
16668
|
-
return await D.getWorkflowManager().getInitializationPromise(),
|
|
16669
|
-
}),
|
|
16670
|
-
return
|
|
16662
|
+
const m = u.sort((Q, p) => Q.index - p.index).map(async (Q) => {
|
|
16663
|
+
const { experienceOptions: p, options: I } = Q, D = new re(this, p);
|
|
16664
|
+
return await D.getWorkflowManager().getInitializationPromise(), I.type !== "transaction" && this.customer && await D.attachCustomerDetails({ email: this.customer.emailAddress }), D;
|
|
16665
|
+
}), f = await Promise.all(m);
|
|
16666
|
+
return f.forEach((Q) => Q.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), f;
|
|
16671
16667
|
}
|
|
16672
16668
|
/**
|
|
16673
16669
|
* Initialize the client from an integration product.
|
|
@@ -16766,7 +16762,7 @@ class Wo {
|
|
|
16766
16762
|
}
|
|
16767
16763
|
try {
|
|
16768
16764
|
const d = (c = (await A.mutate({
|
|
16769
|
-
mutation:
|
|
16765
|
+
mutation: qn,
|
|
16770
16766
|
variables: { id: t },
|
|
16771
16767
|
errorPolicy: "all"
|
|
16772
16768
|
})).data) == null ? void 0 : c.transactionClaim;
|
|
@@ -16810,7 +16806,7 @@ class Wo {
|
|
|
16810
16806
|
}
|
|
16811
16807
|
if (t) {
|
|
16812
16808
|
const c = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(this.experienceOptions.transaction.id), l = P.getShadowGraphqlClient().mutate({
|
|
16813
|
-
mutation:
|
|
16809
|
+
mutation: $n,
|
|
16814
16810
|
variables: {
|
|
16815
16811
|
workflowId: t,
|
|
16816
16812
|
id: this.experienceOptions.transaction.id
|
|
@@ -16869,7 +16865,7 @@ class Wo {
|
|
|
16869
16865
|
async getIntegrationProductById(t) {
|
|
16870
16866
|
var i, s;
|
|
16871
16867
|
const a = (i = (await P.getShadowGraphqlClient().query({
|
|
16872
|
-
query:
|
|
16868
|
+
query: ei,
|
|
16873
16869
|
variables: {
|
|
16874
16870
|
ids: [t]
|
|
16875
16871
|
},
|
|
@@ -16883,7 +16879,7 @@ class Wo {
|
|
|
16883
16879
|
async getIntegrationProductFromExternalIds(t, e) {
|
|
16884
16880
|
var s;
|
|
16885
16881
|
const i = (s = (await P.getShadowGraphqlClient().query({
|
|
16886
|
-
query:
|
|
16882
|
+
query: Ai,
|
|
16887
16883
|
variables: {
|
|
16888
16884
|
externalProductId: e,
|
|
16889
16885
|
externalIntegrationId: t
|
|
@@ -16900,7 +16896,7 @@ class Wo {
|
|
|
16900
16896
|
}
|
|
16901
16897
|
async getShareActionsForTransaction(t) {
|
|
16902
16898
|
const A = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(t) || void 0, a = await P.getShadowGraphqlClient().query({
|
|
16903
|
-
query:
|
|
16899
|
+
query: ti,
|
|
16904
16900
|
errorPolicy: "all",
|
|
16905
16901
|
fetchPolicy: "no-cache",
|
|
16906
16902
|
variables: {
|
|
@@ -16915,7 +16911,7 @@ class Wo {
|
|
|
16915
16911
|
return a.data.transactions[0].transactionShareActions;
|
|
16916
16912
|
}
|
|
16917
16913
|
}
|
|
16918
|
-
class
|
|
16914
|
+
class Kr {
|
|
16919
16915
|
getClient() {
|
|
16920
16916
|
return this.client ?? {};
|
|
16921
16917
|
}
|
|
@@ -17243,22 +17239,22 @@ class qo extends at {
|
|
|
17243
17239
|
}
|
|
17244
17240
|
export {
|
|
17245
17241
|
rA as AddonHandle,
|
|
17246
|
-
|
|
17242
|
+
jr as ArrayInput,
|
|
17247
17243
|
st as AspectType,
|
|
17248
17244
|
mt as AssetNotFoundError,
|
|
17249
17245
|
Ce as AssetType,
|
|
17250
|
-
|
|
17251
|
-
|
|
17252
|
-
|
|
17246
|
+
Gr as BringForwardCommand,
|
|
17247
|
+
Ur as BringToBackCommand,
|
|
17248
|
+
br as BringToFrontCommand,
|
|
17253
17249
|
T as CanvasCommand,
|
|
17254
17250
|
ze as CollectionProduct,
|
|
17255
17251
|
zA as ColorOptionGlobalPropertyHandle,
|
|
17256
17252
|
vi as CommandContext,
|
|
17257
|
-
|
|
17258
|
-
|
|
17253
|
+
Bn as ConversionDataType,
|
|
17254
|
+
dn as ConversionLocation,
|
|
17259
17255
|
V as CreateElementCommand,
|
|
17260
17256
|
Sa as CreateLayoutCommand,
|
|
17261
|
-
|
|
17257
|
+
ft as DeleteElementCommand,
|
|
17262
17258
|
Is as DigitalContentStepHandle,
|
|
17263
17259
|
wo as FileUploadGlobalPropertyHandle,
|
|
17264
17260
|
le as FlowExecutionNodeResult,
|
|
@@ -17277,114 +17273,114 @@ export {
|
|
|
17277
17273
|
Pe as InformationMessageType,
|
|
17278
17274
|
ps as InformationStepHandle,
|
|
17279
17275
|
jA as IntegrationProduct,
|
|
17280
|
-
|
|
17281
|
-
|
|
17276
|
+
ln as IntegrationType,
|
|
17277
|
+
Tr as LayoutElementFactory,
|
|
17282
17278
|
R as LayoutElementType,
|
|
17283
17279
|
X as LayoutNotFoundError,
|
|
17284
17280
|
Ot as LayoutRenderingPurpose,
|
|
17285
17281
|
ws as MaterialStepHandle,
|
|
17286
17282
|
Ee as MisconfigurationError,
|
|
17287
|
-
|
|
17283
|
+
Kr as MockWorkflowManager,
|
|
17288
17284
|
us as ModelStepHandle,
|
|
17289
17285
|
Ds as ModuleStepHandle,
|
|
17290
|
-
|
|
17286
|
+
Nr as MoveCommand,
|
|
17291
17287
|
Wa as ObjectInput,
|
|
17292
17288
|
xo as ObjectInputType,
|
|
17293
17289
|
Va as OptionGlobalPropertyHandle,
|
|
17294
17290
|
ue as OptionNotFoundError,
|
|
17295
17291
|
bt as ParseError,
|
|
17296
17292
|
Es as PictureStepHandle,
|
|
17297
|
-
|
|
17293
|
+
gn as ProductCameraRig,
|
|
17298
17294
|
Io as ProductCollection,
|
|
17299
17295
|
Tt as ProductWorkflow,
|
|
17300
17296
|
zt as PromiseCache,
|
|
17301
17297
|
Ba as PromiseQueue,
|
|
17302
17298
|
ms as QuestionStepHandle,
|
|
17303
17299
|
da as QueueablePromise,
|
|
17304
|
-
|
|
17300
|
+
kr as ResizeCommand,
|
|
17305
17301
|
Lt as ResourceNotFoundError,
|
|
17306
|
-
|
|
17302
|
+
Rr as RotateCommand,
|
|
17307
17303
|
W as ScaleAxis,
|
|
17308
|
-
|
|
17309
|
-
|
|
17304
|
+
Jr as SendBackwardsCommand,
|
|
17305
|
+
Qs as ShapeStepHandle,
|
|
17310
17306
|
Wo as SpiffCommerceClient,
|
|
17311
17307
|
we as StakeholderType,
|
|
17312
|
-
|
|
17308
|
+
rn as StepAspectType,
|
|
17313
17309
|
at as StepHandle,
|
|
17314
17310
|
M as StepType,
|
|
17315
17311
|
Yt as TextAlgorithm,
|
|
17316
17312
|
Ui as TextChangeCommand,
|
|
17317
17313
|
uo as TextGlobalPropertyHandle,
|
|
17318
|
-
|
|
17319
|
-
|
|
17320
|
-
|
|
17314
|
+
zr as TextInput,
|
|
17315
|
+
fs as TextStepHandle,
|
|
17316
|
+
cn as TransactionShareActionType,
|
|
17321
17317
|
Fo as Transform,
|
|
17322
17318
|
Do as TransformCollection,
|
|
17323
17319
|
O as UnhandledBehaviorError,
|
|
17324
|
-
|
|
17325
|
-
|
|
17320
|
+
hn as UnitOfMeasurement,
|
|
17321
|
+
Hr as UpdateImageSourceCommand,
|
|
17326
17322
|
it as Variant,
|
|
17327
17323
|
Rs as WorkflowExperienceEventType,
|
|
17328
17324
|
re as WorkflowExperienceImpl,
|
|
17329
17325
|
J as assetService,
|
|
17330
17326
|
di as browserColorToHex,
|
|
17331
|
-
|
|
17327
|
+
vr as cmPerPixel,
|
|
17332
17328
|
Ys as createDesign,
|
|
17333
|
-
|
|
17334
|
-
|
|
17329
|
+
xr as currentDirection,
|
|
17330
|
+
ur as dataUrlFromExternalUrl,
|
|
17335
17331
|
Le as designService,
|
|
17336
17332
|
he as determineCorrectFontSizeAndLines,
|
|
17337
17333
|
Pa as digitalContentStepService,
|
|
17338
17334
|
tt as fetchAsString,
|
|
17339
|
-
|
|
17335
|
+
pr as findAngle,
|
|
17340
17336
|
L as findElement,
|
|
17341
|
-
|
|
17337
|
+
Qr as findPmsColors,
|
|
17342
17338
|
Ut as frameDataCache,
|
|
17343
17339
|
wt as frameStepService,
|
|
17344
17340
|
k as generate,
|
|
17345
17341
|
js as generateCommands,
|
|
17346
17342
|
gt as generateSVGWithUnknownColors,
|
|
17347
|
-
|
|
17343
|
+
Lr as generateStateFromDesignInputSteps,
|
|
17348
17344
|
xe as getAttributesFromArrayBuffer,
|
|
17349
17345
|
fr as getAxisAlignedBoundingBox,
|
|
17350
17346
|
Ji as getBoundedOffsets,
|
|
17351
|
-
|
|
17347
|
+
Yr as getElementVertices,
|
|
17352
17348
|
Ye as getFrameData,
|
|
17353
|
-
|
|
17354
|
-
|
|
17355
|
-
|
|
17356
|
-
|
|
17349
|
+
Mr as getNEPoint,
|
|
17350
|
+
yr as getNWPoint,
|
|
17351
|
+
Fr as getPointOfRotation,
|
|
17352
|
+
Sr as getSEPoint,
|
|
17357
17353
|
uA as getSvgElement,
|
|
17358
|
-
|
|
17354
|
+
Dr as getTrueCoordinates,
|
|
17359
17355
|
ge as getWorkflow,
|
|
17360
17356
|
Xa as getWorkflows,
|
|
17361
17357
|
P as graphQlManager,
|
|
17362
17358
|
Be as illustrationStepService,
|
|
17363
|
-
|
|
17359
|
+
Ir as isCloseToValue,
|
|
17364
17360
|
_t as loadFont,
|
|
17365
|
-
|
|
17361
|
+
mr as matchHexToPms,
|
|
17366
17362
|
va as materialStepService,
|
|
17367
|
-
|
|
17363
|
+
Pr as mmPerPixel,
|
|
17368
17364
|
Na as modelStepService,
|
|
17369
17365
|
Ra as moduleStepService,
|
|
17370
17366
|
_ as optionService,
|
|
17371
17367
|
ut as patternImageDataCache,
|
|
17372
17368
|
Y as persistenceService,
|
|
17373
17369
|
ka as pictureStepService,
|
|
17374
|
-
|
|
17370
|
+
Er as pmsToRgb,
|
|
17375
17371
|
Ha as questionStepService,
|
|
17376
|
-
|
|
17377
|
-
|
|
17372
|
+
wr as registerFetchImplementation,
|
|
17373
|
+
Cr as registerWindowImplementation,
|
|
17378
17374
|
Dt as rehydrateSerializedLayout,
|
|
17379
17375
|
ci as rgbToPms,
|
|
17380
17376
|
ie as rotateAroundPoint,
|
|
17381
17377
|
BA as sanitizeSvgTree,
|
|
17382
|
-
|
|
17378
|
+
yn as setBearerAuthenticationToken,
|
|
17383
17379
|
aa as setCanvasModule,
|
|
17384
17380
|
Gt as shapeStepService,
|
|
17385
17381
|
Oi as shortenUrl,
|
|
17386
17382
|
nt as spiffCoreConfiguration,
|
|
17387
|
-
|
|
17383
|
+
Or as stepAspectValuesToDesignInputSteps,
|
|
17388
17384
|
HA as svgColorValueToDefinition,
|
|
17389
17385
|
wa as svgStringDimensions,
|
|
17390
17386
|
_A as svgToDataUrl,
|