@spiffcommerce/core 22.11.0 → 22.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +36 -0
- package/dist/index.js +775 -729
- package/dist/index.umd.cjs +61 -38
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createHttpLink as RA, InMemoryCache as HA, ApolloClient as kA, from as UA, gql as f } from "@apollo/client/core";
|
|
2
|
-
import { fetch as
|
|
3
|
-
import { AspectType as
|
|
2
|
+
import { fetch as lt, getAttributesFromArrayBuffer as Ot, AssetType as At, StepType as M, getFrameData as gt, frameDataCache as GA, modifySVGColors as bA, svgToDataUrl as JA, GroupCommand as k, UpdateFramePattern as Lt, UpdateFrameThresholdSettingsCommand as TA, calculateOffsets as Bt, LayoutElementType as G, generate as J, CreateElementCommand as L, generateSVGWithUnknownColors as Le, svgObjectURL as ve, fetchAsString as _, DeleteElementCommand as ne, generateDefaultRectangleFrameSvg as yt, GetSVGDimensions as OA, patternImageDataCache as Mt, fetchAsArrayBuffer as LA, findElement as Re, modifySVGWithElementProperties as zA, IllustrationColorCommand as at, IllustrationCacheCommand as KA, getFontMetrics as jA, getPatternImageData as nt, FontAlignmentCommand as VA, FontColorCommand as WA, FontImageFillCommand as Xe, applyTextTransformations as it, determineCorrectFontSizeAndLines as xe, FontSourceCommand as St, loadFont as dt, TextChangeCommand as XA, FontSizeCommand as qA, createElementNS as ZA, createElement as Ie, _loadFontExternalDataURL as Ct, UpdateWorkflowStateCommand as Yt, CommandContext as $A, createCanvas as He, getSvgElement as zt, LayoutRenderingPurpose as Kt, renderPapyrusComponentAsString as jt, loadImage as Vt, getDomParser as Wt, toBase64 as Pt, getVariant as _A, generateFrameSVG as ea, getDefaultVariant as ze, domParser as Xt, sanitizeSvgTree as qt, traverse as ta, xmlSerializer as Zt, CreateLayoutCommand as Aa, AspectType as $, rehydrateSerializedLayout as se } from "@spiffcommerce/papyrus";
|
|
3
|
+
import { AspectType as Ns, AssetType as vs, BringForwardCommand as Rs, BringToBackCommand as Hs, BringToFrontCommand as ks, CanvasCommand as Us, CommandContext as Gs, CreateElementCommand as bs, CreateLayoutCommand as Js, DeleteElementCommand as Ts, FontAlignmentCommand as Os, FontColorCommand as Ls, FontSizeCommand as zs, FontSourceCommand as Ks, GroupCommand as js, LayoutElementFactory as Vs, LayoutElementType as Ws, MoveCommand as Xs, ResizeCommand as qs, RotateCommand as Zs, SendBackwardsCommand as $s, StepAspectType as _s, StepType as eo, TextChangeCommand as to, UnitOfMeasurement as Ao, UpdateImageSourceCommand as ao, dataUrlFromExternalUrl as no, determineCorrectFontSizeAndLines as io, findElement as so, frameDataCache as oo, generate as ro, generateSVGWithUnknownColors as co, getAttributesFromArrayBuffer as lo, getAxisAlignedBoundingBox as go, getFrameData as Bo, getSvgElement as Co, loadFont as wo, patternImageDataCache as ho, registerFetchImplementation as Eo, registerWindowImplementation as uo, rehydrateSerializedLayout as mo, setCanvasModule as Qo, svgToDataUrl as po } from "@spiffcommerce/papyrus";
|
|
4
4
|
import { setContext as aa } from "@apollo/client/link/context";
|
|
5
5
|
import { onError as na } from "@apollo/client/link/error";
|
|
6
6
|
import { Pith as $t } from "pith";
|
|
7
7
|
import _t from "lodash.debounce";
|
|
8
8
|
import eA from "lodash.isequal";
|
|
9
|
-
import
|
|
9
|
+
import le from "lodash.clonedeep";
|
|
10
10
|
import { toString as tA } from "qrcode";
|
|
11
11
|
import ia from "fuse.js";
|
|
12
12
|
import { split as st } from "unicode-default-word-boundary";
|
|
@@ -150,28 +150,28 @@ class ra {
|
|
|
150
150
|
}
|
|
151
151
|
const q = new ra();
|
|
152
152
|
let aA;
|
|
153
|
-
const vt = (
|
|
154
|
-
aA =
|
|
153
|
+
const vt = (l) => {
|
|
154
|
+
aA = l;
|
|
155
155
|
};
|
|
156
156
|
let ht;
|
|
157
|
-
const ca = (
|
|
158
|
-
ht =
|
|
159
|
-
},
|
|
157
|
+
const ca = (l) => {
|
|
158
|
+
ht = l;
|
|
159
|
+
}, la = () => ht;
|
|
160
160
|
let nA;
|
|
161
|
-
const
|
|
162
|
-
nA =
|
|
163
|
-
}, Ba = () => new Promise((
|
|
161
|
+
const ga = (l) => {
|
|
162
|
+
nA = l;
|
|
163
|
+
}, Ba = () => new Promise((l) => {
|
|
164
164
|
const e = q.getHubUrl(), t = (A) => {
|
|
165
|
-
A.origin === e && (window.removeEventListener("message", t),
|
|
165
|
+
A.origin === e && (window.removeEventListener("message", t), l(A.data));
|
|
166
166
|
};
|
|
167
167
|
window.parent !== window && (window.addEventListener("message", t, !1), window.parent.postMessage("ready", e));
|
|
168
168
|
}), da = async () => {
|
|
169
|
-
const
|
|
169
|
+
const l = {
|
|
170
170
|
applicationKey: ht,
|
|
171
171
|
customerToken: aA,
|
|
172
172
|
bearer: nA
|
|
173
173
|
};
|
|
174
|
-
return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await Ba(), ...
|
|
174
|
+
return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await Ba(), ...l } : l;
|
|
175
175
|
};
|
|
176
176
|
class Ca {
|
|
177
177
|
constructor() {
|
|
@@ -185,22 +185,22 @@ class Ca {
|
|
|
185
185
|
constructShadowGraphqlClient() {
|
|
186
186
|
const e = RA({
|
|
187
187
|
uri: `${q.getServerUrl()}/graphql`,
|
|
188
|
-
fetch:
|
|
188
|
+
fetch: lt
|
|
189
189
|
}), t = aa(async (i, s) => {
|
|
190
|
-
const { headers: o } = s, r = o || {}, c = await da(), B = s.bearer ?? c.bearer,
|
|
190
|
+
const { headers: o } = s, r = o || {}, c = await da(), B = s.bearer ?? c.bearer, g = s.partnerId ?? c.partnerId, d = s.activeIntegration ?? c.activeIntegration, C = s.transactionOwnerId, w = s.customerToken ?? c.customerToken, h = s.applicationKey ?? c.applicationKey, u = s.bundleOwnerId;
|
|
191
191
|
try {
|
|
192
192
|
if (window && window.__SENTRY__) {
|
|
193
193
|
const E = window.__SENTRY__.hub;
|
|
194
194
|
if (E) {
|
|
195
195
|
const D = E.traceHeaders();
|
|
196
|
-
Object.entries(D).forEach(([
|
|
197
|
-
r[
|
|
196
|
+
Object.entries(D).forEach(([Q, p]) => {
|
|
197
|
+
r[Q] = p;
|
|
198
198
|
});
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
} catch {
|
|
202
202
|
}
|
|
203
|
-
return B && (r.Authorization = `Bearer ${B}`),
|
|
203
|
+
return B && (r.Authorization = `Bearer ${B}`), g && (r.partnerId = g), d && (r.activeIntegration = d), C && (r.transactionOwnerId = C), w && (r.customerToken = w), h && (r["X-Application-Key"] = h), u && (r.bundleOwnerId = u), {
|
|
204
204
|
headers: r
|
|
205
205
|
};
|
|
206
206
|
}), A = na(({ operation: i, graphQLErrors: s, networkError: o }) => {
|
|
@@ -265,8 +265,8 @@ const x = new Ca(), wa = f`
|
|
|
265
265
|
value
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
|
-
`, De = (
|
|
269
|
-
${
|
|
268
|
+
`, De = (l) => f`
|
|
269
|
+
${l && wa || ""}
|
|
270
270
|
fragment AssetFields on Asset {
|
|
271
271
|
name
|
|
272
272
|
key
|
|
@@ -278,7 +278,7 @@ const x = new Ca(), wa = f`
|
|
|
278
278
|
name
|
|
279
279
|
link
|
|
280
280
|
}
|
|
281
|
-
${
|
|
281
|
+
${l && "...AssetMetadataFields" || ""}
|
|
282
282
|
}
|
|
283
283
|
`, ha = f`
|
|
284
284
|
${De(!1)}
|
|
@@ -355,35 +355,35 @@ const x = new Ca(), wa = f`
|
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
`,
|
|
358
|
+
`, ma = f`
|
|
359
359
|
${De(!1)}
|
|
360
360
|
mutation RemoveBackgroundFromAsset($key: String!) {
|
|
361
361
|
assetRemoveBackground(key: $key) {
|
|
362
362
|
...AssetFields
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
|
-
`, ot = async (
|
|
365
|
+
`, ot = async (l) => (await x.getShadowGraphqlClient().query({
|
|
366
366
|
query: ha,
|
|
367
367
|
errorPolicy: "all",
|
|
368
368
|
fetchPolicy: "no-cache",
|
|
369
369
|
variables: {
|
|
370
|
-
keys:
|
|
370
|
+
keys: l
|
|
371
371
|
}
|
|
372
|
-
})).data.assets,
|
|
372
|
+
})).data.assets, Qa = async (l) => (await x.getShadowGraphqlClient().query({
|
|
373
373
|
query: Ea,
|
|
374
374
|
errorPolicy: "all",
|
|
375
375
|
fetchPolicy: "no-cache",
|
|
376
376
|
variables: {
|
|
377
|
-
ids:
|
|
377
|
+
ids: l
|
|
378
378
|
}
|
|
379
|
-
})).data.materials, pa = async (
|
|
379
|
+
})).data.materials, pa = async (l, e, t, A, a) => {
|
|
380
380
|
var i;
|
|
381
381
|
return (i = (await x.getShadowGraphqlClient().mutate({
|
|
382
382
|
mutation: ua,
|
|
383
383
|
errorPolicy: "all",
|
|
384
384
|
fetchPolicy: "no-cache",
|
|
385
385
|
variables: {
|
|
386
|
-
name:
|
|
386
|
+
name: l,
|
|
387
387
|
type: e,
|
|
388
388
|
mimeType: t,
|
|
389
389
|
anonymous: A,
|
|
@@ -458,7 +458,7 @@ class Da {
|
|
|
458
458
|
async getMaterialLocalOrFromServer(e) {
|
|
459
459
|
if (this.materialCache.has(e))
|
|
460
460
|
return this.materialCache.get(e);
|
|
461
|
-
const A = (async () => (await
|
|
461
|
+
const A = (async () => (await Qa([e]))[0])();
|
|
462
462
|
return this.materialCache.set(e, A), A;
|
|
463
463
|
}
|
|
464
464
|
/**
|
|
@@ -507,7 +507,7 @@ class Da {
|
|
|
507
507
|
const a = (async () => {
|
|
508
508
|
var i, s;
|
|
509
509
|
const n = await x.getShadowGraphqlClient().mutate({
|
|
510
|
-
mutation:
|
|
510
|
+
mutation: ma,
|
|
511
511
|
fetchPolicy: "no-cache",
|
|
512
512
|
errorPolicy: "all",
|
|
513
513
|
variables: {
|
|
@@ -680,7 +680,7 @@ class Ia {
|
|
|
680
680
|
this.disabled = e;
|
|
681
681
|
}
|
|
682
682
|
}
|
|
683
|
-
const
|
|
683
|
+
const me = new Ia(), sA = f`
|
|
684
684
|
fragment OptionFields on Option {
|
|
685
685
|
id
|
|
686
686
|
name
|
|
@@ -726,13 +726,13 @@ const Qe = new Ia(), sA = f`
|
|
|
726
726
|
...OptionFields
|
|
727
727
|
}
|
|
728
728
|
}
|
|
729
|
-
`, Fa = async (
|
|
729
|
+
`, Fa = async (l) => {
|
|
730
730
|
const e = await x.getShadowGraphqlClient().query({
|
|
731
731
|
query: fa,
|
|
732
732
|
errorPolicy: "all",
|
|
733
733
|
fetchPolicy: "no-cache",
|
|
734
734
|
variables: {
|
|
735
|
-
ids:
|
|
735
|
+
ids: l
|
|
736
736
|
}
|
|
737
737
|
});
|
|
738
738
|
return e.data.options.forEach((t) => {
|
|
@@ -741,12 +741,12 @@ const Qe = new Ia(), sA = f`
|
|
|
741
741
|
n.asset && U.cacheAsset(n.asset), n.thumbnail && U.cacheAsset(n.thumbnail), n.material && U.cacheMaterial(n.material);
|
|
742
742
|
});
|
|
743
743
|
}), e.data.options;
|
|
744
|
-
}, ya = async (
|
|
745
|
-
const e =
|
|
744
|
+
}, ya = async (l, e) => (await e).find((A) => A.id === l), Ma = async (l) => {
|
|
745
|
+
const e = l.map((i) => me.get({ id: i })), t = l.filter((i, s) => e[s] === void 0);
|
|
746
746
|
if (t.length === 0)
|
|
747
747
|
return Promise.all(e);
|
|
748
748
|
const A = Fa(t), a = t.map(
|
|
749
|
-
(i) =>
|
|
749
|
+
(i) => me.set({ id: i }, ya(i, A))
|
|
750
750
|
), n = e.filter((i) => i !== void 0);
|
|
751
751
|
return await Promise.all(n.concat(a));
|
|
752
752
|
};
|
|
@@ -797,7 +797,7 @@ class Sa {
|
|
|
797
797
|
}
|
|
798
798
|
}
|
|
799
799
|
const V = new Sa();
|
|
800
|
-
var Ya = /* @__PURE__ */ ((
|
|
800
|
+
var Ya = /* @__PURE__ */ ((l) => (l.Hyperlink = "Hyperlink", l.Edit = "Edit", l.Approve = "Approve", l))(Ya || {}), Pa = /* @__PURE__ */ ((l) => (l.Hub = "Hub", l.Shopify = "Shopify", l))(Pa || {}), ut = /* @__PURE__ */ ((l) => (l.BackgroundRemover = "BackgroundRemover", l.ConversionAccelerator = "Conversion Accelerator", l.ProcessBuilder = "ProcessBuilder", l))(ut || {}), xa = /* @__PURE__ */ ((l) => (l[l.Orbit = 0] = "Orbit", l[l.Pan = 1] = "Pan", l))(xa || {}), Na = /* @__PURE__ */ ((l) => (l.Manual = "Manual", l.OnStart = "OnStart", l.OnQuit = "OnQuit", l.OnEnd = "OnEnd", l))(Na || {}), va = /* @__PURE__ */ ((l) => (l.Email = "Email", l.FirstName = "FirstName", l.LastName = "LastName", l.Phone = "Phone", l))(va || {}), Ge = /* @__PURE__ */ ((l) => (l.Owner = "Owner", l.Approver = "Approver", l.Editor = "Editor", l.Viewer = "Viewer", l))(Ge || {});
|
|
801
801
|
const oA = f`
|
|
802
802
|
fragment ActiveIntegrationFields on Integration {
|
|
803
803
|
id
|
|
@@ -1333,14 +1333,14 @@ const Ja = f`
|
|
|
1333
1333
|
}
|
|
1334
1334
|
}
|
|
1335
1335
|
}
|
|
1336
|
-
`,
|
|
1336
|
+
`, lA = f`
|
|
1337
1337
|
query ReadWorkflowStates($ids: [String]!) {
|
|
1338
1338
|
transactions(ids: $ids) {
|
|
1339
1339
|
id
|
|
1340
1340
|
workflowState
|
|
1341
1341
|
}
|
|
1342
1342
|
}
|
|
1343
|
-
`,
|
|
1343
|
+
`, gA = f`
|
|
1344
1344
|
${Be}
|
|
1345
1345
|
fragment IntegrationProductFields on IntegrationProduct {
|
|
1346
1346
|
id
|
|
@@ -1403,14 +1403,14 @@ const Ja = f`
|
|
|
1403
1403
|
}
|
|
1404
1404
|
}
|
|
1405
1405
|
`, Ta = f`
|
|
1406
|
-
${
|
|
1406
|
+
${gA}
|
|
1407
1407
|
query GetIntegrationProducts($ids: [String!]!) {
|
|
1408
1408
|
integrationProducts(ids: $ids) {
|
|
1409
1409
|
...IntegrationProductFields
|
|
1410
1410
|
}
|
|
1411
1411
|
}
|
|
1412
1412
|
`, Oa = f`
|
|
1413
|
-
${
|
|
1413
|
+
${gA}
|
|
1414
1414
|
query GetIntegrationProductFromExternalIds($externalIntegrationId: String!, $externalProductId: String!) {
|
|
1415
1415
|
integrationProductFromExternalIds(
|
|
1416
1416
|
externalIntegrationId: $externalIntegrationId
|
|
@@ -1431,25 +1431,25 @@ const Ja = f`
|
|
|
1431
1431
|
}
|
|
1432
1432
|
}
|
|
1433
1433
|
}
|
|
1434
|
-
`, Ce = [M.SilentIllustration, M.ProductOverlay], za = async (
|
|
1434
|
+
`, Ce = [M.SilentIllustration, M.ProductOverlay], za = async (l) => {
|
|
1435
1435
|
const e = [];
|
|
1436
|
-
|
|
1436
|
+
l.introduction && e.push({
|
|
1437
1437
|
name: "Introduction",
|
|
1438
|
-
title:
|
|
1438
|
+
title: l.name,
|
|
1439
1439
|
renderableSteps: [
|
|
1440
1440
|
{
|
|
1441
1441
|
type: M.Introduction,
|
|
1442
1442
|
stepName: "Introduction",
|
|
1443
|
-
stepTitle:
|
|
1444
|
-
helpText:
|
|
1443
|
+
stepTitle: l.name,
|
|
1444
|
+
helpText: l.introduction,
|
|
1445
1445
|
data: {},
|
|
1446
1446
|
conditions: []
|
|
1447
1447
|
}
|
|
1448
1448
|
],
|
|
1449
1449
|
silentSteps: []
|
|
1450
1450
|
});
|
|
1451
|
-
for (const A of
|
|
1452
|
-
const a = Ka(A.stepName,
|
|
1451
|
+
for (const A of l.steps) {
|
|
1452
|
+
const a = Ka(A.stepName, l.stepGroups);
|
|
1453
1453
|
if (!a)
|
|
1454
1454
|
e.push({
|
|
1455
1455
|
name: A.stepName,
|
|
@@ -1478,15 +1478,15 @@ const Ja = f`
|
|
|
1478
1478
|
stepTitle: t,
|
|
1479
1479
|
helpText: "",
|
|
1480
1480
|
data: {
|
|
1481
|
-
modelAnimation:
|
|
1482
|
-
lookAtAnimation:
|
|
1481
|
+
modelAnimation: l.finalizeStepConfig ? l.finalizeStepConfig.modelAnimation : void 0,
|
|
1482
|
+
lookAtAnimation: l.finalizeStepConfig ? l.finalizeStepConfig.lookAtAnimation : void 0
|
|
1483
1483
|
},
|
|
1484
1484
|
conditions: []
|
|
1485
1485
|
}
|
|
1486
1486
|
],
|
|
1487
1487
|
silentSteps: []
|
|
1488
1488
|
}), e;
|
|
1489
|
-
}, Ka = (
|
|
1489
|
+
}, Ka = (l, e) => e.find((t) => t.stepNames.includes(l)), ae = (l, e) => (l.conditions || []).every((t) => {
|
|
1490
1490
|
const A = e[t.targetStepName];
|
|
1491
1491
|
if (A && A.selectedVariants) {
|
|
1492
1492
|
const a = A.selectedVariants;
|
|
@@ -1495,17 +1495,17 @@ const Ja = f`
|
|
|
1495
1495
|
);
|
|
1496
1496
|
}
|
|
1497
1497
|
return !1;
|
|
1498
|
-
}), ja = (
|
|
1498
|
+
}), ja = (l, e) => {
|
|
1499
1499
|
const t = {
|
|
1500
|
-
name:
|
|
1501
|
-
title:
|
|
1502
|
-
renderableSteps:
|
|
1503
|
-
silentSteps:
|
|
1500
|
+
name: l.name,
|
|
1501
|
+
title: l.title,
|
|
1502
|
+
renderableSteps: l.renderableSteps.filter((A) => ae(A, e)),
|
|
1503
|
+
silentSteps: l.silentSteps.filter((A) => ae(A, e))
|
|
1504
1504
|
};
|
|
1505
1505
|
return t.silentSteps.length === 0 && t.renderableSteps.length === 0 ? null : t;
|
|
1506
|
-
}, ce = (
|
|
1506
|
+
}, ce = (l, e) => l.map((t) => ja(t, e)).filter((t) => t !== null), Va = async (l, e, t = !1) => {
|
|
1507
1507
|
var i;
|
|
1508
|
-
const A = ce(
|
|
1508
|
+
const A = ce(l, e), a = [];
|
|
1509
1509
|
for (const s of A)
|
|
1510
1510
|
for (const o of s.renderableSteps) {
|
|
1511
1511
|
const r = (((i = o.option) == null ? void 0 : i.variants) || []).length;
|
|
@@ -1595,19 +1595,19 @@ class dA {
|
|
|
1595
1595
|
}
|
|
1596
1596
|
}
|
|
1597
1597
|
}
|
|
1598
|
-
function Wa(
|
|
1599
|
-
const a = t.width *
|
|
1598
|
+
function Wa(l, e, t, A) {
|
|
1599
|
+
const a = t.width * l.zoom, n = t.height * l.zoom;
|
|
1600
1600
|
if (A) {
|
|
1601
|
-
const s =
|
|
1602
|
-
s.zoom = Math.max(o,
|
|
1601
|
+
const s = l, o = Math.max(e.width / t.width, e.height / t.height);
|
|
1602
|
+
s.zoom = Math.max(o, l.zoom);
|
|
1603
1603
|
const r = t.width * s.zoom, c = t.height * s.zoom;
|
|
1604
|
-
return s.x = Fe(
|
|
1604
|
+
return s.x = Fe(l.x, e.width - r, 0), s.y = Fe(l.y, e.height - c, 0), s;
|
|
1605
1605
|
}
|
|
1606
|
-
const i =
|
|
1606
|
+
const i = l;
|
|
1607
1607
|
return i.x = Fe(i.x, -a, e.width), i.y = Fe(i.y, -n, e.height), i;
|
|
1608
1608
|
}
|
|
1609
|
-
function Fe(
|
|
1610
|
-
return Math.min(Math.max(
|
|
1609
|
+
function Fe(l, e, t) {
|
|
1610
|
+
return Math.min(Math.max(l, e), t);
|
|
1611
1611
|
}
|
|
1612
1612
|
class Xa {
|
|
1613
1613
|
constructor(e) {
|
|
@@ -1631,7 +1631,7 @@ class Xa {
|
|
|
1631
1631
|
if (a.currentFrameSources) {
|
|
1632
1632
|
let n = !1;
|
|
1633
1633
|
for (let i = 0; i < a.currentFrameSources.length; i++) {
|
|
1634
|
-
const s = a.currentFrameSources[i], o = await
|
|
1634
|
+
const s = a.currentFrameSources[i], o = await gt(s), r = this.frameData ? this.frameData[i] : void 0;
|
|
1635
1635
|
eA(o, r) || (this.frameData || (this.frameData = new Array(a.currentFrameSources.length)), this.frameData[i] = o, n = !0);
|
|
1636
1636
|
}
|
|
1637
1637
|
n && (this.onFrameDataChangeListeners.forEach(
|
|
@@ -1830,24 +1830,24 @@ class kt {
|
|
|
1830
1830
|
constructor(e, t, A) {
|
|
1831
1831
|
this.processRegion = async (a) => {
|
|
1832
1832
|
var o, r, c, B;
|
|
1833
|
-
const n = this.layouts.find((
|
|
1833
|
+
const n = this.layouts.find((g) => g.panelId === a.panelId);
|
|
1834
1834
|
if (!n)
|
|
1835
1835
|
throw new z(a);
|
|
1836
1836
|
let i = "";
|
|
1837
1837
|
if (this.configuration.type === M.ProductOverlay) {
|
|
1838
|
-
let
|
|
1839
|
-
if ((o = this.product) != null && o.overlayImageUrl && (
|
|
1838
|
+
let g = "";
|
|
1839
|
+
if ((o = this.product) != null && o.overlayImageUrl && (g = this.product.overlayImageUrl), i = g, !g)
|
|
1840
1840
|
throw new Ue(this.configuration, "Couldn't find an asset for product overlay step");
|
|
1841
1841
|
}
|
|
1842
1842
|
const s = this.evaluateAssetType();
|
|
1843
1843
|
if (s === G.Image) {
|
|
1844
|
-
const
|
|
1845
|
-
if (!
|
|
1844
|
+
const g = this.configuration.type === M.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (c = this.product) == null ? void 0 : c.overlayImageUrl;
|
|
1845
|
+
if (!g)
|
|
1846
1846
|
throw new Error("Undefined raster silent step source");
|
|
1847
1847
|
const d = {
|
|
1848
1848
|
stepName: this.configuration.stepName,
|
|
1849
1849
|
id: J(),
|
|
1850
|
-
src:
|
|
1850
|
+
src: g,
|
|
1851
1851
|
type: s,
|
|
1852
1852
|
y: a.top,
|
|
1853
1853
|
x: a.left,
|
|
@@ -1869,19 +1869,19 @@ class kt {
|
|
|
1869
1869
|
command: new L(d, n)
|
|
1870
1870
|
};
|
|
1871
1871
|
} else {
|
|
1872
|
-
const
|
|
1873
|
-
if (!
|
|
1872
|
+
const g = this.configuration.type === M.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, C = await Le(await (async () => new Promise((h, u) => {
|
|
1873
|
+
if (!g) {
|
|
1874
1874
|
u("Undefined vector silent step source");
|
|
1875
1875
|
return;
|
|
1876
1876
|
}
|
|
1877
|
-
_(
|
|
1877
|
+
_(g, !0).then((E) => {
|
|
1878
1878
|
h(E);
|
|
1879
1879
|
}).catch((E) => console.error(E));
|
|
1880
1880
|
}))()), w = {
|
|
1881
1881
|
stepName: this.configuration.stepName,
|
|
1882
1882
|
id: J(),
|
|
1883
1883
|
cachedObjectURL: await ve(C.svg),
|
|
1884
|
-
src:
|
|
1884
|
+
src: g,
|
|
1885
1885
|
svg: C.svg,
|
|
1886
1886
|
colors: C.colors,
|
|
1887
1887
|
type: s,
|
|
@@ -1927,12 +1927,12 @@ class kt {
|
|
|
1927
1927
|
return e != null && e.startsWith("data:image/png") || e != null && e.endsWith(".jpeg") || e != null && e.endsWith(".jpg") || e != null && e.endsWith(".png") ? G.Image : e != null && e.endsWith(".svg") || e != null && e.startsWith("image/svg+xml") ? G.Illustration : G.Illustration;
|
|
1928
1928
|
}
|
|
1929
1929
|
}
|
|
1930
|
-
const qa = async (
|
|
1930
|
+
const qa = async (l) => {
|
|
1931
1931
|
const e = `${q.getServicesApiUrl()}/shortener`;
|
|
1932
1932
|
try {
|
|
1933
1933
|
return (await (await fetch(e, {
|
|
1934
1934
|
method: "POST",
|
|
1935
|
-
body: JSON.stringify({ longUrl:
|
|
1935
|
+
body: JSON.stringify({ longUrl: l }),
|
|
1936
1936
|
headers: {
|
|
1937
1937
|
"Content-Type": "application/json"
|
|
1938
1938
|
}
|
|
@@ -1974,8 +1974,8 @@ class Za {
|
|
|
1974
1974
|
A.serializableWorkflow.steps
|
|
1975
1975
|
), o = Object.values(A.layouts).map((r) => r.elements).flat().filter((r) => r.stepName === e.stepName).map((r) => ({ id: r.id, region: r.stepRegion }));
|
|
1976
1976
|
await t.setSelectionsAndElements(e.stepName, [], o, async () => {
|
|
1977
|
-
var B,
|
|
1978
|
-
const r = (B = a == null ? void 0 : a.storage) == null ? void 0 : B.videoShortUrl, c = (
|
|
1977
|
+
var B, g;
|
|
1978
|
+
const r = (B = a == null ? void 0 : a.storage) == null ? void 0 : B.videoShortUrl, c = (g = a == null ? void 0 : a.storage) == null ? void 0 : g.videoUrl;
|
|
1979
1979
|
t.updateStorage(e.stepName, {
|
|
1980
1980
|
videoShortUrl: r,
|
|
1981
1981
|
videoUrl: c
|
|
@@ -2015,8 +2015,8 @@ class Za {
|
|
|
2015
2015
|
const c = await qa(r);
|
|
2016
2016
|
if (!a.data || !a.data.regions)
|
|
2017
2017
|
throw new Ue(a, "Missing regions.");
|
|
2018
|
-
const B = await this.regionElements(a),
|
|
2019
|
-
return
|
|
2018
|
+
const B = await this.regionElements(a), g = await this.command(c, B, A, a.stepName);
|
|
2019
|
+
return g && (g.command && A.getCommandDispatcher()(g.command), g.followup && await g.followup()), await A.setSelectionsAndElements(a.stepName, [], B, async () => {
|
|
2020
2020
|
A.updateStorage(a.stepName, {
|
|
2021
2021
|
videoShortUrl: c,
|
|
2022
2022
|
videoUrl: i.href
|
|
@@ -2029,7 +2029,7 @@ class Za {
|
|
|
2029
2029
|
}
|
|
2030
2030
|
async command(e, t, A, a) {
|
|
2031
2031
|
const n = A.getLayouts(), s = `data:image/svg+xml;base64,${btoa(await tA(e, { type: "svg" }))}`, o = t.map((r) => {
|
|
2032
|
-
const c = r.region, B = n.find((
|
|
2032
|
+
const c = r.region, B = n.find((g) => g.panelId === (c == null ? void 0 : c.panelId));
|
|
2033
2033
|
if (!B && c)
|
|
2034
2034
|
throw new z(c);
|
|
2035
2035
|
if (B && !c)
|
|
@@ -2056,7 +2056,7 @@ class Za {
|
|
|
2056
2056
|
} };
|
|
2057
2057
|
}
|
|
2058
2058
|
}
|
|
2059
|
-
const wA = new Za(),
|
|
2059
|
+
const wA = new Za(), Qe = [
|
|
2060
2060
|
"Yellow C",
|
|
2061
2061
|
"Yellow 012 C",
|
|
2062
2062
|
"Orange 021 C",
|
|
@@ -3398,7 +3398,7 @@ const wA = new Za(), me = [
|
|
|
3398
3398
|
"Black 5 C",
|
|
3399
3399
|
"Black 6 C",
|
|
3400
3400
|
"Black 7 C"
|
|
3401
|
-
],
|
|
3401
|
+
], ge = [
|
|
3402
3402
|
"FEDD00",
|
|
3403
3403
|
"FFD700",
|
|
3404
3404
|
"FE5000",
|
|
@@ -4740,55 +4740,55 @@ const wA = new Za(), me = [
|
|
|
4740
4740
|
"3E2B2E",
|
|
4741
4741
|
"101820",
|
|
4742
4742
|
"3D3935"
|
|
4743
|
-
], qe =
|
|
4744
|
-
parseInt(
|
|
4745
|
-
parseInt(
|
|
4746
|
-
parseInt(
|
|
4743
|
+
], qe = ge.map((l) => [
|
|
4744
|
+
parseInt(l.substring(0, 2), 16),
|
|
4745
|
+
parseInt(l.substring(2, 4), 16),
|
|
4746
|
+
parseInt(l.substring(4, 6), 16)
|
|
4747
4747
|
]);
|
|
4748
|
-
function
|
|
4749
|
-
const e =
|
|
4750
|
-
return e >= 0 ?
|
|
4748
|
+
function Ds(l) {
|
|
4749
|
+
const e = Qe.indexOf(l);
|
|
4750
|
+
return e >= 0 ? ge[e] : "";
|
|
4751
4751
|
}
|
|
4752
|
-
function $a(
|
|
4753
|
-
const e =
|
|
4754
|
-
return e >= 0 ?
|
|
4752
|
+
function $a(l) {
|
|
4753
|
+
const e = ge.indexOf(l);
|
|
4754
|
+
return e >= 0 ? Qe[e] : "";
|
|
4755
4755
|
}
|
|
4756
|
-
function
|
|
4757
|
-
const t = [], A = [], a = $a(
|
|
4756
|
+
function Is(l, e = 64) {
|
|
4757
|
+
const t = [], A = [], a = $a(l);
|
|
4758
4758
|
a && t.push({
|
|
4759
4759
|
pms: a,
|
|
4760
|
-
hex:
|
|
4760
|
+
hex: l,
|
|
4761
4761
|
distance: 0
|
|
4762
4762
|
});
|
|
4763
|
-
const n = parseInt(
|
|
4763
|
+
const n = parseInt(l.substring(0, 2), 16), i = parseInt(l.substring(2, 4), 16), s = parseInt(l.substring(4, 6), 16);
|
|
4764
4764
|
let o, r, c;
|
|
4765
|
-
for (let B = 0; B <
|
|
4765
|
+
for (let B = 0; B < ge.length; B++) {
|
|
4766
4766
|
o = qe[B][0], r = qe[B][1], c = qe[B][2];
|
|
4767
|
-
const
|
|
4768
|
-
A.push(
|
|
4767
|
+
const g = Math.sqrt(Math.pow(n - o, 2) + Math.pow(i - r, 2) + Math.pow(s - c, 2));
|
|
4768
|
+
A.push(g);
|
|
4769
4769
|
}
|
|
4770
4770
|
for (let B = 0; B < A.length; B++)
|
|
4771
|
-
A[B] <= e && !t.some((
|
|
4772
|
-
return t.sort((B,
|
|
4771
|
+
A[B] <= e && !t.some((g) => g.pms === Qe[B]) && t.push({ pms: Qe[B], hex: ge[B], distance: A[B] });
|
|
4772
|
+
return t.sort((B, g) => B.distance - g.distance);
|
|
4773
4773
|
}
|
|
4774
|
-
const _a =
|
|
4775
|
-
function
|
|
4776
|
-
return en.search(
|
|
4774
|
+
const _a = Qe.map((l, e) => ({ pms: l, hex: ge[e] })), en = new ia(_a, { keys: ["pms"] });
|
|
4775
|
+
function fs(l, e) {
|
|
4776
|
+
return en.search(l, e ? { limit: e } : void 0);
|
|
4777
4777
|
}
|
|
4778
4778
|
let we = null;
|
|
4779
|
-
function tn(
|
|
4780
|
-
if (
|
|
4781
|
-
return Ut(
|
|
4779
|
+
function tn(l) {
|
|
4780
|
+
if (l.startsWith("#"))
|
|
4781
|
+
return Ut(l);
|
|
4782
4782
|
if (!document)
|
|
4783
4783
|
throw new Error("browserColorToHex is only supported on browsers");
|
|
4784
4784
|
if (we || (we = document.createElement("canvas").getContext("2d")), !we)
|
|
4785
4785
|
throw new Error("Failed to create canvas context required to convert colors");
|
|
4786
|
-
we.fillStyle =
|
|
4786
|
+
we.fillStyle = l;
|
|
4787
4787
|
const e = Ut(we.fillStyle);
|
|
4788
|
-
return e || console.error(`Unknown browser color ${
|
|
4788
|
+
return e || console.error(`Unknown browser color ${l}`), e;
|
|
4789
4789
|
}
|
|
4790
|
-
function Ut(
|
|
4791
|
-
const e =
|
|
4790
|
+
function Ut(l) {
|
|
4791
|
+
const e = l.substring(1).toUpperCase();
|
|
4792
4792
|
return e.length === 6 ? e : e.length === 3 ? `${e[0]}${e[0]}${e[1]}${e[1]}${e[2]}${e[2]}` : "";
|
|
4793
4793
|
}
|
|
4794
4794
|
class An {
|
|
@@ -4850,16 +4850,16 @@ class An {
|
|
|
4850
4850
|
if (a) {
|
|
4851
4851
|
const c = async () => {
|
|
4852
4852
|
var C, w, h, u, E;
|
|
4853
|
-
const B = (C = a.storage) == null ? void 0 : C.colors,
|
|
4853
|
+
const B = (C = a.storage) == null ? void 0 : C.colors, g = (w = a.storage) == null ? void 0 : w.framePatternSrc, d = (h = a.storage) == null ? void 0 : h.frameOffsetsList;
|
|
4854
4854
|
if (t.updateMetadata(e.stepName, {
|
|
4855
4855
|
frameOffsetsList: d,
|
|
4856
|
-
framePatternSrc:
|
|
4857
|
-
}),
|
|
4856
|
+
framePatternSrc: g
|
|
4857
|
+
}), g) {
|
|
4858
4858
|
const D = (u = t.getStepSpecificServices(e.stepName)) == null ? void 0 : u.frameService;
|
|
4859
4859
|
if (!D)
|
|
4860
4860
|
throw new Error("Frame service unavailable, cannot load pattern!");
|
|
4861
|
-
await this.loadPatternFromString(
|
|
4862
|
-
framePatternSrc:
|
|
4861
|
+
await this.loadPatternFromString(g, D, !0, B), t.updateMetadata(e.stepName, { image: g }), t.updateStorage(e.stepName, {
|
|
4862
|
+
framePatternSrc: g
|
|
4863
4863
|
}), this.validateColorCount(e, t);
|
|
4864
4864
|
}
|
|
4865
4865
|
if (d != null && d.some((D) => D.zoom)) {
|
|
@@ -4873,14 +4873,14 @@ class An {
|
|
|
4873
4873
|
if (a.selectedVariants && a.selectedVariants.length > 0) {
|
|
4874
4874
|
const B = a.selectedVariants[0].id;
|
|
4875
4875
|
if (e.option && B) {
|
|
4876
|
-
const
|
|
4877
|
-
|
|
4876
|
+
const g = (r = e.option.variants) == null ? void 0 : r.find((d) => d.id === B);
|
|
4877
|
+
g && await t.setSelectionsAndElements(
|
|
4878
4878
|
e.stepName,
|
|
4879
|
-
[
|
|
4879
|
+
[g],
|
|
4880
4880
|
o,
|
|
4881
4881
|
async () => {
|
|
4882
4882
|
const d = await Promise.all(
|
|
4883
|
-
e.data.regions.map((C) => this.frameSourceSvg(
|
|
4883
|
+
e.data.regions.map((C) => this.frameSourceSvg(g, C))
|
|
4884
4884
|
);
|
|
4885
4885
|
t.updateStorage(e.stepName, { currentFrameSources: d }), await c();
|
|
4886
4886
|
}
|
|
@@ -4972,8 +4972,8 @@ class An {
|
|
|
4972
4972
|
if (e.endsWith("svg")) {
|
|
4973
4973
|
const i = await OA(e), s = i.width, o = i.height, r = await _(e);
|
|
4974
4974
|
if (n) {
|
|
4975
|
-
const
|
|
4976
|
-
if (
|
|
4975
|
+
const g = r.match(/<(image|linearGradient|radialGradient)(\s|>|\/>)/gim);
|
|
4976
|
+
if (g && g.length > 0)
|
|
4977
4977
|
throw new Error(
|
|
4978
4978
|
"Vector files may not include images or gradients when a color limit is specified."
|
|
4979
4979
|
);
|
|
@@ -5045,8 +5045,8 @@ class An {
|
|
|
5045
5045
|
};
|
|
5046
5046
|
const a = { ...e.getImageData().colors ?? {} }, n = {};
|
|
5047
5047
|
Object.entries(a).forEach(([c, B]) => {
|
|
5048
|
-
const
|
|
5049
|
-
n[c] =
|
|
5048
|
+
const g = { browserValue: B.browserValue };
|
|
5049
|
+
n[c] = g;
|
|
5050
5050
|
});
|
|
5051
5051
|
for (const [c, B] of A.entries())
|
|
5052
5052
|
a[c] = { browserValue: B.browserValue, pmsValue: B.pmsValue }, n[c] = B;
|
|
@@ -5054,8 +5054,8 @@ class An {
|
|
|
5054
5054
|
const s = t.data.colorOption;
|
|
5055
5055
|
return s && ((r = s.variants) == null || r.forEach((c) => {
|
|
5056
5056
|
i = i.map((B) => {
|
|
5057
|
-
var
|
|
5058
|
-
return B.toLowerCase() === ((
|
|
5057
|
+
var g;
|
|
5058
|
+
return B.toLowerCase() === ((g = c.color) == null ? void 0 : g.toLowerCase()) ? c.name : B;
|
|
5059
5059
|
});
|
|
5060
5060
|
})), {
|
|
5061
5061
|
newColors: a,
|
|
@@ -5072,8 +5072,8 @@ class An {
|
|
|
5072
5072
|
);
|
|
5073
5073
|
}
|
|
5074
5074
|
async selectVariantCommand(e, t, A, a, n, i) {
|
|
5075
|
-
var
|
|
5076
|
-
const s = (
|
|
5075
|
+
var g;
|
|
5076
|
+
const s = (g = a.getStepSpecificServices(e.stepName)) == null ? void 0 : g.frameService;
|
|
5077
5077
|
if (!s)
|
|
5078
5078
|
throw new Error("Frame service unavailable, cannot load pattern!");
|
|
5079
5079
|
const o = await Promise.all(
|
|
@@ -5082,7 +5082,7 @@ class An {
|
|
|
5082
5082
|
n && n(!0);
|
|
5083
5083
|
const r = await Promise.all(
|
|
5084
5084
|
e.data.regions.map(async (d, C) => {
|
|
5085
|
-
const w = await
|
|
5085
|
+
const w = await gt(o[C]), h = s.getImageData(), u = A.map((I) => new ne(I.id)), E = h ? Bt(h, w) : void 0, D = h ? {
|
|
5086
5086
|
id: J(),
|
|
5087
5087
|
src: h.src,
|
|
5088
5088
|
x: (E == null ? void 0 : E.x) || 0,
|
|
@@ -5092,11 +5092,11 @@ class An {
|
|
|
5092
5092
|
scaleX: (E == null ? void 0 : E.zoom) || 1,
|
|
5093
5093
|
scaleY: (E == null ? void 0 : E.zoom) || 1,
|
|
5094
5094
|
rotation: 0
|
|
5095
|
-
} : void 0,
|
|
5096
|
-
if (!
|
|
5095
|
+
} : void 0, Q = J(), m = a.getLayouts().find((I) => I.panelId === d.panelId);
|
|
5096
|
+
if (!m)
|
|
5097
5097
|
throw new z(d);
|
|
5098
5098
|
return {
|
|
5099
|
-
command: this.getCreateElementCommand(
|
|
5099
|
+
command: this.getCreateElementCommand(Q, d, m, {
|
|
5100
5100
|
frameData: w,
|
|
5101
5101
|
pattern: D,
|
|
5102
5102
|
disablePlaceholder: e.data.disablePlaceholder,
|
|
@@ -5106,7 +5106,7 @@ class An {
|
|
|
5106
5106
|
stepName: e.stepName
|
|
5107
5107
|
}),
|
|
5108
5108
|
regionEl: {
|
|
5109
|
-
id:
|
|
5109
|
+
id: Q,
|
|
5110
5110
|
region: d
|
|
5111
5111
|
},
|
|
5112
5112
|
removeExistingCommands: u
|
|
@@ -5245,13 +5245,13 @@ class an {
|
|
|
5245
5245
|
if (a != null && a.selectedVariants) {
|
|
5246
5246
|
const c = a.selectedVariants[0].id;
|
|
5247
5247
|
if (o && c) {
|
|
5248
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5248
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5249
5249
|
if (B) {
|
|
5250
|
-
const
|
|
5250
|
+
const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
|
|
5251
5251
|
await t.setSelectionsAndElements(
|
|
5252
5252
|
e.stepName,
|
|
5253
5253
|
[B],
|
|
5254
|
-
|
|
5254
|
+
g,
|
|
5255
5255
|
async () => {
|
|
5256
5256
|
var d;
|
|
5257
5257
|
t.updateMetadata(e.stepName, {
|
|
@@ -5277,12 +5277,12 @@ class an {
|
|
|
5277
5277
|
async changeColorsCommand(e, t, A, a, n) {
|
|
5278
5278
|
var c;
|
|
5279
5279
|
const i = {};
|
|
5280
|
-
for (const [B,
|
|
5281
|
-
i[B] = { browserValue:
|
|
5280
|
+
for (const [B, g] of n.entries())
|
|
5281
|
+
i[B] = { browserValue: g, spotColor: (c = i[B]) == null ? void 0 : c.spotColor };
|
|
5282
5282
|
const s = zA(e, t, A, i), o = await ve(s), r = [];
|
|
5283
5283
|
for (const B of a) {
|
|
5284
|
-
for (const [
|
|
5285
|
-
r.push(new at(B,
|
|
5284
|
+
for (const [g, d] of n.entries())
|
|
5285
|
+
r.push(new at(B, g, d));
|
|
5286
5286
|
r.push(new KA(B, s, o));
|
|
5287
5287
|
}
|
|
5288
5288
|
return new k(r);
|
|
@@ -5314,7 +5314,7 @@ class an {
|
|
|
5314
5314
|
B.set(w, h.browserValue);
|
|
5315
5315
|
}), !i.svg)
|
|
5316
5316
|
throw new Error("Colors changed before SVG loaded. This should never happen!");
|
|
5317
|
-
const
|
|
5317
|
+
const g = await this.changeColorsCommand(
|
|
5318
5318
|
i.svg,
|
|
5319
5319
|
i.width,
|
|
5320
5320
|
i.height,
|
|
@@ -5323,7 +5323,7 @@ class an {
|
|
|
5323
5323
|
);
|
|
5324
5324
|
A.updateStorage(e.stepName, {
|
|
5325
5325
|
colors: o
|
|
5326
|
-
}), A.getCommandDispatcher()(
|
|
5326
|
+
}), A.getCommandDispatcher()(g);
|
|
5327
5327
|
}
|
|
5328
5328
|
async selectVariant(e, t, A, a, n) {
|
|
5329
5329
|
const i = await this.selectVariantCommand(e, t, A, a, n);
|
|
@@ -5346,23 +5346,23 @@ class an {
|
|
|
5346
5346
|
const D = n.getLayouts().find((p) => p.panelId === E.panelId);
|
|
5347
5347
|
if (!D)
|
|
5348
5348
|
throw new z(E);
|
|
5349
|
-
const
|
|
5349
|
+
const Q = J();
|
|
5350
5350
|
return {
|
|
5351
|
-
regionElement: { id:
|
|
5352
|
-
command: this.getCreateElementCommand(
|
|
5351
|
+
regionElement: { id: Q, region: E },
|
|
5352
|
+
command: this.getCreateElementCommand(Q, E, D, {
|
|
5353
5353
|
stepName: e.stepName,
|
|
5354
5354
|
src: o,
|
|
5355
5355
|
objectURL: c,
|
|
5356
5356
|
svg: r
|
|
5357
5357
|
})
|
|
5358
5358
|
};
|
|
5359
|
-
},
|
|
5359
|
+
}, g = e.data.regions.map(B), C = [...g.map((E) => E.command), ...i];
|
|
5360
5360
|
let w = Array.from(Object.values(r.colors)).map((E) => E.browserValue);
|
|
5361
5361
|
const h = e.data.colorOption;
|
|
5362
5362
|
return h && ((u = h.variants) == null || u.forEach((E) => {
|
|
5363
5363
|
w = w.map((D) => {
|
|
5364
|
-
var
|
|
5365
|
-
return D.toLowerCase() === ((
|
|
5364
|
+
var Q;
|
|
5365
|
+
return D.toLowerCase() === ((Q = E.color) == null ? void 0 : Q.toLowerCase()) ? E.name : D;
|
|
5366
5366
|
});
|
|
5367
5367
|
})), n.updateMetadata(e.stepName, { colors: w }), {
|
|
5368
5368
|
command: new k(C),
|
|
@@ -5370,25 +5370,25 @@ class an {
|
|
|
5370
5370
|
await n.setSelectionsAndElements(
|
|
5371
5371
|
e.stepName,
|
|
5372
5372
|
[t],
|
|
5373
|
-
|
|
5373
|
+
g.map((Q) => Q.regionElement),
|
|
5374
5374
|
async () => {
|
|
5375
5375
|
n.setMandatoryFulfilled(e.stepName, !0), a(!1);
|
|
5376
5376
|
}
|
|
5377
5377
|
);
|
|
5378
5378
|
const E = await this.availableColors(e, n) || [], D = Object.keys(r.colors);
|
|
5379
5379
|
if (e.data.colorPickerEnabled && E.length === 1 && D.length === 1) {
|
|
5380
|
-
const
|
|
5380
|
+
const Q = E[0], p = D[0];
|
|
5381
5381
|
await this.changeColors(
|
|
5382
5382
|
e,
|
|
5383
|
-
|
|
5383
|
+
g.map((m) => m.regionElement),
|
|
5384
5384
|
n,
|
|
5385
5385
|
() => n.getCommandContext().getAllLayouts(),
|
|
5386
|
-
/* @__PURE__ */ new Map([[p,
|
|
5386
|
+
/* @__PURE__ */ new Map([[p, Q.variant.color]])
|
|
5387
5387
|
);
|
|
5388
5388
|
} else
|
|
5389
5389
|
e.data.colorPickerEnabled && await this.changeColors(
|
|
5390
5390
|
e,
|
|
5391
|
-
|
|
5391
|
+
g.map((Q) => Q.regionElement),
|
|
5392
5392
|
n,
|
|
5393
5393
|
() => n.getCommandContext().getAllLayouts(),
|
|
5394
5394
|
/* @__PURE__ */ new Map()
|
|
@@ -5424,9 +5424,9 @@ class nn {
|
|
|
5424
5424
|
if (a != null && a.selectedVariants) {
|
|
5425
5425
|
const c = a.selectedVariants[0].id;
|
|
5426
5426
|
if (c) {
|
|
5427
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5427
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5428
5428
|
if (B) {
|
|
5429
|
-
const
|
|
5429
|
+
const g = B.material, d = s.map((C) => ({ id: C.id, region: C.stepRegion }));
|
|
5430
5430
|
await t.setSelectionsAndElements(
|
|
5431
5431
|
e.stepName,
|
|
5432
5432
|
[B],
|
|
@@ -5437,7 +5437,7 @@ class nn {
|
|
|
5437
5437
|
const w = e.data.targetMaterials.map((h) => C.applyMaterialVariant(
|
|
5438
5438
|
h,
|
|
5439
5439
|
o.id || "",
|
|
5440
|
-
|
|
5440
|
+
g || {}
|
|
5441
5441
|
));
|
|
5442
5442
|
Promise.all(w).then(
|
|
5443
5443
|
() => t.setMandatoryFulfilled(e.stepName, !0)
|
|
@@ -5500,13 +5500,13 @@ class sn {
|
|
|
5500
5500
|
if (a != null && a.selectedVariants) {
|
|
5501
5501
|
const c = a.selectedVariants[0].id;
|
|
5502
5502
|
if (o && c) {
|
|
5503
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5503
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5504
5504
|
if (B) {
|
|
5505
|
-
const
|
|
5505
|
+
const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
|
|
5506
5506
|
await t.setSelectionsAndElements(
|
|
5507
5507
|
e.stepName,
|
|
5508
5508
|
[B],
|
|
5509
|
-
|
|
5509
|
+
g,
|
|
5510
5510
|
async () => {
|
|
5511
5511
|
var C;
|
|
5512
5512
|
const d = t.getModelContainer();
|
|
@@ -5596,55 +5596,55 @@ class on {
|
|
|
5596
5596
|
if (A.setMandatoryFulfilled(e.stepName, t !== ""), !e.data || !e.data.regions || e.data.regions.length <= 0)
|
|
5597
5597
|
return console.error("Missing configuration."), null;
|
|
5598
5598
|
A.updateStorage(e.stepName, { text: t }), A.updateMetadata(e.stepName, { text: t });
|
|
5599
|
-
const r = (B,
|
|
5600
|
-
const C = d || J(), h = A.getLayouts().find((E) => E.panelId ===
|
|
5599
|
+
const r = (B, g, d) => {
|
|
5600
|
+
const C = d || J(), h = A.getLayouts().find((E) => E.panelId === g.panelId);
|
|
5601
5601
|
if (!h)
|
|
5602
|
-
return console.error(`Can not find layout for region: ${
|
|
5602
|
+
return console.error(`Can not find layout for region: ${g.panelId}`), null;
|
|
5603
5603
|
const u = [];
|
|
5604
5604
|
return d && u.push(new ne(C)), u.push(
|
|
5605
5605
|
new L(
|
|
5606
5606
|
{
|
|
5607
|
-
stepRegion:
|
|
5607
|
+
stepRegion: g,
|
|
5608
5608
|
stepName: e.stepName,
|
|
5609
5609
|
colors: {},
|
|
5610
5610
|
id: C,
|
|
5611
5611
|
svg: B,
|
|
5612
5612
|
type: G.Illustration,
|
|
5613
|
-
y:
|
|
5614
|
-
x:
|
|
5615
|
-
rotation:
|
|
5616
|
-
width:
|
|
5617
|
-
height:
|
|
5618
|
-
layer:
|
|
5619
|
-
layerIndex:
|
|
5620
|
-
immutable:
|
|
5613
|
+
y: g.top,
|
|
5614
|
+
x: g.left,
|
|
5615
|
+
rotation: g.rotation,
|
|
5616
|
+
width: g.width,
|
|
5617
|
+
height: g.height,
|
|
5618
|
+
layer: g.layer,
|
|
5619
|
+
layerIndex: g.layerIndex,
|
|
5620
|
+
immutable: g.immutable
|
|
5621
5621
|
},
|
|
5622
5622
|
h
|
|
5623
5623
|
)
|
|
5624
5624
|
), {
|
|
5625
5625
|
id: C,
|
|
5626
|
-
region:
|
|
5626
|
+
region: g,
|
|
5627
5627
|
command: new k(u)
|
|
5628
5628
|
};
|
|
5629
5629
|
};
|
|
5630
5630
|
if (i.length > 0) {
|
|
5631
|
-
const
|
|
5631
|
+
const g = i.map((d) => {
|
|
5632
5632
|
if (!d.region)
|
|
5633
5633
|
return null;
|
|
5634
5634
|
const C = s.svgPrint(t, d.region);
|
|
5635
5635
|
return r(C, d.region, d.id);
|
|
5636
5636
|
}).filter((d) => !!d).filter((d) => !!d).map((d) => d && d.command);
|
|
5637
5637
|
return {
|
|
5638
|
-
command: new k(
|
|
5638
|
+
command: new k(g),
|
|
5639
5639
|
followup: async () => {
|
|
5640
5640
|
}
|
|
5641
5641
|
};
|
|
5642
5642
|
} else {
|
|
5643
5643
|
const B = e.data.regions.map(
|
|
5644
5644
|
(d) => r(s.svgPrint(t, d), d)
|
|
5645
|
-
),
|
|
5645
|
+
), g = B.filter((d) => !!d).map((d) => d && d.command);
|
|
5646
5646
|
return {
|
|
5647
|
-
command: new k(
|
|
5647
|
+
command: new k(g),
|
|
5648
5648
|
followup: async () => {
|
|
5649
5649
|
const d = B.filter((C) => C).map((C) => C && { id: C.id, region: C.region });
|
|
5650
5650
|
await A.setSelectionsAndElements(
|
|
@@ -5696,13 +5696,13 @@ class rn {
|
|
|
5696
5696
|
if (a != null && a.selectedVariants) {
|
|
5697
5697
|
const c = a.selectedVariants[0].id;
|
|
5698
5698
|
if (o && c) {
|
|
5699
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5699
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5700
5700
|
if (B) {
|
|
5701
|
-
const
|
|
5701
|
+
const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
|
|
5702
5702
|
await t.setSelectionsAndElements(
|
|
5703
5703
|
e.stepName,
|
|
5704
5704
|
[B],
|
|
5705
|
-
|
|
5705
|
+
g,
|
|
5706
5706
|
async () => {
|
|
5707
5707
|
t.setMandatoryFulfilled(e.stepName, !0);
|
|
5708
5708
|
}
|
|
@@ -5766,7 +5766,7 @@ class rn {
|
|
|
5766
5766
|
};
|
|
5767
5767
|
}
|
|
5768
5768
|
}
|
|
5769
|
-
const
|
|
5769
|
+
const mA = new rn();
|
|
5770
5770
|
class cn {
|
|
5771
5771
|
async init(e, t, A) {
|
|
5772
5772
|
const a = e.option;
|
|
@@ -5825,8 +5825,8 @@ class cn {
|
|
|
5825
5825
|
};
|
|
5826
5826
|
}
|
|
5827
5827
|
}
|
|
5828
|
-
const
|
|
5829
|
-
class
|
|
5828
|
+
const QA = new cn();
|
|
5829
|
+
class ln {
|
|
5830
5830
|
constructor() {
|
|
5831
5831
|
this.shapeFillId = "spiff-fill-shape";
|
|
5832
5832
|
}
|
|
@@ -5883,13 +5883,13 @@ class gn {
|
|
|
5883
5883
|
if (a != null && a.selectedVariants) {
|
|
5884
5884
|
const c = a.selectedVariants[0].id;
|
|
5885
5885
|
if (o && c) {
|
|
5886
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5886
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5887
5887
|
if (B) {
|
|
5888
|
-
const
|
|
5888
|
+
const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
|
|
5889
5889
|
await t.setSelectionsAndElements(
|
|
5890
5890
|
e.stepName,
|
|
5891
5891
|
[B],
|
|
5892
|
-
|
|
5892
|
+
g,
|
|
5893
5893
|
async () => {
|
|
5894
5894
|
var d;
|
|
5895
5895
|
t.updateStorage(e.stepName, {
|
|
@@ -5913,9 +5913,9 @@ class gn {
|
|
|
5913
5913
|
};
|
|
5914
5914
|
if (A.length > 0) {
|
|
5915
5915
|
const r = (B) => {
|
|
5916
|
-
const
|
|
5917
|
-
if (!n.find((w) => w.panelId === (
|
|
5918
|
-
throw new z(
|
|
5916
|
+
const g = B.region;
|
|
5917
|
+
if (!n.find((w) => w.panelId === (g == null ? void 0 : g.panelId)))
|
|
5918
|
+
throw new z(g);
|
|
5919
5919
|
const C = s();
|
|
5920
5920
|
return new at(B.id, this.shapeFillId, C);
|
|
5921
5921
|
}, c = A.map(r).filter((B) => !!B);
|
|
@@ -5981,14 +5981,14 @@ class gn {
|
|
|
5981
5981
|
C
|
|
5982
5982
|
)
|
|
5983
5983
|
};
|
|
5984
|
-
}, c = e.data.regions.map(r), B = c.filter((d) => !!d).map((d) => d == null ? void 0 : d.command),
|
|
5984
|
+
}, c = e.data.regions.map(r), B = c.filter((d) => !!d).map((d) => d == null ? void 0 : d.command), g = c.filter((d) => !!d).map((d) => ({ id: d.id, region: d.region }));
|
|
5985
5985
|
return {
|
|
5986
5986
|
command: new k(B),
|
|
5987
5987
|
followup: async () => {
|
|
5988
5988
|
await a.setSelectionsAndElements(
|
|
5989
5989
|
e.stepName,
|
|
5990
5990
|
t.variant ? [t.variant] : [],
|
|
5991
|
-
|
|
5991
|
+
g,
|
|
5992
5992
|
async () => {
|
|
5993
5993
|
a.updateStorage(e.stepName, { colour: s() });
|
|
5994
5994
|
}
|
|
@@ -5998,8 +5998,8 @@ class gn {
|
|
|
5998
5998
|
}
|
|
5999
5999
|
}
|
|
6000
6000
|
}
|
|
6001
|
-
const Ee = new
|
|
6002
|
-
class
|
|
6001
|
+
const Ee = new ln();
|
|
6002
|
+
class gn {
|
|
6003
6003
|
constructor() {
|
|
6004
6004
|
this.latestToast = null, this.toastType = null, this.toastCallbacks = [];
|
|
6005
6005
|
}
|
|
@@ -6024,7 +6024,7 @@ class ln {
|
|
|
6024
6024
|
);
|
|
6025
6025
|
}
|
|
6026
6026
|
}
|
|
6027
|
-
const Bn = new
|
|
6027
|
+
const Bn = new gn(), Ze = 30;
|
|
6028
6028
|
class be extends Error {
|
|
6029
6029
|
constructor(e) {
|
|
6030
6030
|
super(e), Object.setPrototypeOf(this, new.target.prototype), this.name = be.name;
|
|
@@ -6093,11 +6093,11 @@ class Cn {
|
|
|
6093
6093
|
color: ((s = await this.getDefaultColorVariant(e.data)) == null ? void 0 : s.name) || await this.getDefaultColor(e.data),
|
|
6094
6094
|
fillImage: o == null ? void 0 : o.name
|
|
6095
6095
|
});
|
|
6096
|
-
const
|
|
6097
|
-
if (
|
|
6096
|
+
const g = V.getDefaultVariant(a);
|
|
6097
|
+
if (g)
|
|
6098
6098
|
return this.selectVariantCommand(
|
|
6099
6099
|
e,
|
|
6100
|
-
|
|
6100
|
+
g,
|
|
6101
6101
|
{},
|
|
6102
6102
|
[],
|
|
6103
6103
|
t,
|
|
@@ -6221,19 +6221,19 @@ class Cn {
|
|
|
6221
6221
|
for (const B of t) {
|
|
6222
6222
|
if (!B.fontData)
|
|
6223
6223
|
throw new b("Failed to resolve font data for text.");
|
|
6224
|
-
const [
|
|
6224
|
+
const [g, d] = xe(
|
|
6225
6225
|
B.fontSize,
|
|
6226
6226
|
B.fontData,
|
|
6227
6227
|
{ left: B.x, top: B.y, width: B.width, height: B.height, rotation: B.rotation, panelId: "" },
|
|
6228
6228
|
[i],
|
|
6229
6229
|
{ size: A.data.size, minSize: A.data.minSize, maxSize: A.data.maxSize }
|
|
6230
6230
|
);
|
|
6231
|
-
r.set(B.id,
|
|
6231
|
+
r.set(B.id, g), c.set(B.id, d);
|
|
6232
6232
|
const C = A.data.curved ? i : (d || []).join(`
|
|
6233
6233
|
`);
|
|
6234
|
-
o.push(this.generateTextChangeCommandsForRegion(
|
|
6234
|
+
o.push(this.generateTextChangeCommandsForRegion(g, A.data, B.id, C));
|
|
6235
6235
|
}
|
|
6236
|
-
return !A.data.curved && t.length > 0 && !Array.from(c.values()).every((
|
|
6236
|
+
return !A.data.curved && t.length > 0 && !Array.from(c.values()).every((g) => g) ? (s.errorData || (s.errorData = {}), s.errorData.doesNotFit = !0, s) : (a.updateStorage(A.stepName, { text: e }), a.updateMetadata(A.stepName, {
|
|
6237
6237
|
text: i
|
|
6238
6238
|
}), (n.defaultCleared || !A.data.deleteDefaultOnFocus) && a.setMandatoryFulfilled(A.stepName, !0), s.command = new k(o), s);
|
|
6239
6239
|
}
|
|
@@ -6266,11 +6266,11 @@ class Cn {
|
|
|
6266
6266
|
const a = t.getSerializedStep(
|
|
6267
6267
|
e.stepName,
|
|
6268
6268
|
A.serializableWorkflow.steps
|
|
6269
|
-
), s = Object.values(A.layouts).map((
|
|
6269
|
+
), s = Object.values(A.layouts).map((g) => g.elements).flat().filter((g) => g.stepName === e.stepName), o = e.option;
|
|
6270
6270
|
if (a != null && a.selectedVariants) {
|
|
6271
|
-
const
|
|
6272
|
-
if (o &&
|
|
6273
|
-
const d = (r = o.variants) == null ? void 0 : r.find((C) => C.id ===
|
|
6271
|
+
const g = a.selectedVariants[0].id;
|
|
6272
|
+
if (o && g) {
|
|
6273
|
+
const d = (r = o.variants) == null ? void 0 : r.find((C) => C.id === g);
|
|
6274
6274
|
if (d) {
|
|
6275
6275
|
const C = await this.fontDataFromVariant(d), w = s.map((D) => ({ id: D.id, region: D.stepRegion })), h = (c = a.storage) == null ? void 0 : c.color, u = (B = a.storage) == null ? void 0 : B.text;
|
|
6276
6276
|
await t.setSelectionsAndElements(
|
|
@@ -6279,8 +6279,8 @@ class Cn {
|
|
|
6279
6279
|
w,
|
|
6280
6280
|
async () => {
|
|
6281
6281
|
t.updateMetadata(e.stepName, { color: h, text: u }), t.updateStorage(e.stepName, { text: u, inputText: u });
|
|
6282
|
-
const D = s.map((p) => new St(p.id, C)),
|
|
6283
|
-
t.getCommandDispatcher()(
|
|
6282
|
+
const D = s.map((p) => new St(p.id, C)), Q = new k(D);
|
|
6283
|
+
t.getCommandDispatcher()(Q);
|
|
6284
6284
|
}
|
|
6285
6285
|
);
|
|
6286
6286
|
const { command: E } = j.updateInputText(
|
|
@@ -6328,10 +6328,10 @@ class Cn {
|
|
|
6328
6328
|
var B;
|
|
6329
6329
|
const r = n.markUpdatePending(), c = await this.fontDataFromVariant(t);
|
|
6330
6330
|
if (a.length > 0) {
|
|
6331
|
-
const
|
|
6331
|
+
const g = a.map((w) => new St(w.id, c));
|
|
6332
6332
|
if (o) {
|
|
6333
6333
|
const w = a.map((h) => new Xe(h.id, o));
|
|
6334
|
-
|
|
6334
|
+
g.push(...w);
|
|
6335
6335
|
}
|
|
6336
6336
|
const d = await this.changeInputTextWithRegion(
|
|
6337
6337
|
e,
|
|
@@ -6344,14 +6344,14 @@ class Cn {
|
|
|
6344
6344
|
i,
|
|
6345
6345
|
s
|
|
6346
6346
|
);
|
|
6347
|
-
return d &&
|
|
6348
|
-
command: new k(
|
|
6347
|
+
return d && g.push(d), {
|
|
6348
|
+
command: new k(g),
|
|
6349
6349
|
followup: async () => {
|
|
6350
6350
|
n.markUpdateCompleted(r), await n.setSelectionsAndElements(e.stepName, [t], a);
|
|
6351
6351
|
}
|
|
6352
6352
|
};
|
|
6353
6353
|
} else {
|
|
6354
|
-
const
|
|
6354
|
+
const g = await this.createTextboxRegions(
|
|
6355
6355
|
e.stepName,
|
|
6356
6356
|
t,
|
|
6357
6357
|
e.data,
|
|
@@ -6362,15 +6362,15 @@ class Cn {
|
|
|
6362
6362
|
e,
|
|
6363
6363
|
e.data.size || Ze,
|
|
6364
6364
|
c,
|
|
6365
|
-
((B =
|
|
6365
|
+
((B = g[0]) == null ? void 0 : B.newElement.input) || A.text || e.data.defaultText || "",
|
|
6366
6366
|
A,
|
|
6367
6367
|
n,
|
|
6368
6368
|
!!A.customiseAllText,
|
|
6369
6369
|
i,
|
|
6370
6370
|
s
|
|
6371
|
-
), C =
|
|
6371
|
+
), C = g.flatMap((h) => h.commands);
|
|
6372
6372
|
if (o) {
|
|
6373
|
-
const h =
|
|
6373
|
+
const h = g.map(
|
|
6374
6374
|
(u) => new Xe(u.regionElement.id, o)
|
|
6375
6375
|
);
|
|
6376
6376
|
C.push(...h);
|
|
@@ -6411,7 +6411,7 @@ class Cn {
|
|
|
6411
6411
|
colorProfileAssetKey: (w = h.colorProfile) == null ? void 0 : w.key
|
|
6412
6412
|
});
|
|
6413
6413
|
}
|
|
6414
|
-
const E = await this.getDefaultColor(A), D = E || "#000000",
|
|
6414
|
+
const E = await this.getDefaultColor(A), D = E || "#000000", Q = {
|
|
6415
6415
|
stepRegion: B,
|
|
6416
6416
|
stepName: e,
|
|
6417
6417
|
align: this.textAlign(A),
|
|
@@ -6435,34 +6435,34 @@ class Cn {
|
|
|
6435
6435
|
curved: A.curved,
|
|
6436
6436
|
paths: A.paths,
|
|
6437
6437
|
fillSpotColorDefinition: u
|
|
6438
|
-
}, p = [],
|
|
6439
|
-
if (!
|
|
6438
|
+
}, p = [], m = /* @__PURE__ */ new Map(), I = /* @__PURE__ */ new Map();
|
|
6439
|
+
if (!Q.fontData)
|
|
6440
6440
|
throw new b("Failed to resolve font data for text.");
|
|
6441
6441
|
const [F, y] = xe(
|
|
6442
|
-
|
|
6443
|
-
|
|
6442
|
+
Q.fontSize,
|
|
6443
|
+
Q.fontData,
|
|
6444
6444
|
{
|
|
6445
|
-
left:
|
|
6446
|
-
top:
|
|
6447
|
-
width:
|
|
6448
|
-
height:
|
|
6449
|
-
rotation:
|
|
6445
|
+
left: Q.x,
|
|
6446
|
+
top: Q.y,
|
|
6447
|
+
width: Q.width,
|
|
6448
|
+
height: Q.height,
|
|
6449
|
+
rotation: Q.rotation,
|
|
6450
6450
|
panelId: ""
|
|
6451
6451
|
},
|
|
6452
6452
|
[o],
|
|
6453
6453
|
{ size: A.size, minSize: A.minSize, maxSize: A.maxSize }
|
|
6454
6454
|
);
|
|
6455
|
-
|
|
6455
|
+
m.set(Q.id, F), I.set(Q.id, y);
|
|
6456
6456
|
const Y = A.curved || A.vertical ? o : (y || []).join(`
|
|
6457
6457
|
`);
|
|
6458
6458
|
p.push(
|
|
6459
|
-
this.generateTextChangeCommandsForRegion(F, A,
|
|
6459
|
+
this.generateTextChangeCommandsForRegion(F, A, Q.id, Y)
|
|
6460
6460
|
);
|
|
6461
|
-
const N = new L(
|
|
6461
|
+
const N = new L(Q, d);
|
|
6462
6462
|
return {
|
|
6463
6463
|
regionElement: { id: C, region: B },
|
|
6464
6464
|
commands: [N, ...p],
|
|
6465
|
-
newElement:
|
|
6465
|
+
newElement: Q,
|
|
6466
6466
|
fontData: a
|
|
6467
6467
|
};
|
|
6468
6468
|
} catch (h) {
|
|
@@ -6496,30 +6496,30 @@ class Cn {
|
|
|
6496
6496
|
* @deprecated
|
|
6497
6497
|
*/
|
|
6498
6498
|
async changeInputTextWithRegion(e, t, A, a, n, i, s, o, r, c) {
|
|
6499
|
-
const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""),
|
|
6500
|
-
for (const
|
|
6501
|
-
if (
|
|
6502
|
-
const [p,
|
|
6499
|
+
const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), g = this.getProcessedInput(B, e.data, s), d = i.getRegionElements(e.stepName), C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map();
|
|
6500
|
+
for (const Q of d)
|
|
6501
|
+
if (Q.region) {
|
|
6502
|
+
const [p, m] = xe(
|
|
6503
6503
|
t,
|
|
6504
6504
|
A,
|
|
6505
|
-
|
|
6506
|
-
[
|
|
6505
|
+
Q.region,
|
|
6506
|
+
[g],
|
|
6507
6507
|
{ size: e.data.size, minSize: e.data.minSize, maxSize: e.data.maxSize }
|
|
6508
6508
|
);
|
|
6509
|
-
C.set(
|
|
6509
|
+
C.set(Q.id, p), w.set(Q.id, m);
|
|
6510
6510
|
}
|
|
6511
6511
|
const u = (() => {
|
|
6512
|
-
if (e.data && e.data.maxLength &&
|
|
6512
|
+
if (e.data && e.data.maxLength && g.length > e.data.maxLength)
|
|
6513
6513
|
return c && c(!0), { info: "0" };
|
|
6514
|
-
const
|
|
6515
|
-
for (const
|
|
6516
|
-
for (const I in
|
|
6517
|
-
const F =
|
|
6518
|
-
if (
|
|
6514
|
+
const Q = i.getProfanities(), p = st(g.toLowerCase());
|
|
6515
|
+
for (const m of p)
|
|
6516
|
+
for (const I in Q) {
|
|
6517
|
+
const F = Q[I].toLowerCase().replace(/\s/g, "");
|
|
6518
|
+
if (m === F)
|
|
6519
6519
|
return o(!0), { error: "Blocked profanity." };
|
|
6520
6520
|
}
|
|
6521
|
-
return !e.data.vertical && !e.data.allowNewlines && (
|
|
6522
|
-
`) ||
|
|
6521
|
+
return !e.data.vertical && !e.data.allowNewlines && (g.includes(`
|
|
6522
|
+
`) || g.includes("\r")) ? (o(!0), { error: "Cannot span multiple lines." }) : !e.data.curved && !Array.from(w.values()).every((I) => I) ? (o(!0), { error: "Does not fit." }) : (o(!1), { info: (e.data.maxLength - g.length).toString() });
|
|
6523
6523
|
})();
|
|
6524
6524
|
if (u.error) {
|
|
6525
6525
|
r(u.error);
|
|
@@ -6531,14 +6531,14 @@ class Cn {
|
|
|
6531
6531
|
text: this.injectReplaceableText(B, e.data)
|
|
6532
6532
|
}), (n.defaultCleared || !e.data.deleteDefaultOnFocus) && i.setMandatoryFulfilled(e.stepName, !0);
|
|
6533
6533
|
const E = [];
|
|
6534
|
-
for (const
|
|
6535
|
-
const p = e.data.curved ?
|
|
6534
|
+
for (const Q of d) {
|
|
6535
|
+
const p = e.data.curved ? g : (w.get(Q.id) || []).join(`
|
|
6536
6536
|
`);
|
|
6537
6537
|
E.push(
|
|
6538
6538
|
this.generateTextChangeCommandsForRegion(
|
|
6539
|
-
C.get(
|
|
6539
|
+
C.get(Q.id) || 1,
|
|
6540
6540
|
e.data,
|
|
6541
|
-
|
|
6541
|
+
Q.id,
|
|
6542
6542
|
p
|
|
6543
6543
|
)
|
|
6544
6544
|
);
|
|
@@ -6547,7 +6547,7 @@ class Cn {
|
|
|
6547
6547
|
}
|
|
6548
6548
|
}
|
|
6549
6549
|
const j = new Cn();
|
|
6550
|
-
class
|
|
6550
|
+
class mt {
|
|
6551
6551
|
}
|
|
6552
6552
|
const wn = "data:application/font-woff;base64,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", hn = `<?xml version="1.0" encoding="iso-8859-1"?>
|
|
6553
6553
|
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
@@ -7810,42 +7810,42 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
|
|
|
7810
7810
|
</g>
|
|
7811
7811
|
</svg>
|
|
7812
7812
|
|
|
7813
|
-
`, v = (
|
|
7813
|
+
`, v = (l) => ZA("http://www.w3.org/2000/svg", l), Qt = (l, e) => {
|
|
7814
7814
|
const t = v("rect");
|
|
7815
|
-
return t.setAttribute("height", `${
|
|
7815
|
+
return t.setAttribute("height", `${l}`), t.setAttribute("width", `${e}`), t;
|
|
7816
7816
|
}, En = () => {
|
|
7817
|
-
const
|
|
7818
|
-
return
|
|
7819
|
-
}, un = (
|
|
7817
|
+
const l = v("svg");
|
|
7818
|
+
return l.setAttribute("xmlns", "http://www.w3.org/2000/svg"), l.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), l.setAttribute("version", "1.1"), l;
|
|
7819
|
+
}, un = (l) => {
|
|
7820
7820
|
const e = v("use");
|
|
7821
|
-
return e.setAttribute("xlink:href",
|
|
7821
|
+
return e.setAttribute("xlink:href", l), e.setAttribute("href", l), e;
|
|
7822
7822
|
};
|
|
7823
|
-
function pA(
|
|
7824
|
-
const e = En(), t = /viewBox="0 0 (.+?) (.+?)"/.exec(
|
|
7823
|
+
function pA(l) {
|
|
7824
|
+
const e = En(), t = /viewBox="0 0 (.+?) (.+?)"/.exec(l) || ["0", "0"], A = parseFloat(t[1]), a = parseFloat(t[2]);
|
|
7825
7825
|
return e.setAttribute("height", `${a}`), e.setAttribute("width", `${A}`), [e, a, A];
|
|
7826
7826
|
}
|
|
7827
|
-
const
|
|
7827
|
+
const mn = (l, e, t) => {
|
|
7828
7828
|
const A = v("g");
|
|
7829
|
-
|
|
7829
|
+
l.appendChild(A), A.setAttribute("id", t), A.innerHTML = e;
|
|
7830
7830
|
};
|
|
7831
|
-
function DA(
|
|
7831
|
+
function DA(l, e, t) {
|
|
7832
7832
|
const A = J();
|
|
7833
|
-
|
|
7833
|
+
mn(e, t, `bgdef-${A}`), l.appendChild(un(`#bgdef-${A}`));
|
|
7834
7834
|
}
|
|
7835
|
-
const IA = (
|
|
7835
|
+
const IA = (l, e, t, A) => {
|
|
7836
7836
|
const a = Ie("filter");
|
|
7837
7837
|
a.setAttribute("id", A), a.setAttribute("height", "200%"), a.setAttribute("width", "200%"), a.setAttribute("x", "-50%"), a.setAttribute("y", "-50%");
|
|
7838
7838
|
const n = Ie("feOffset");
|
|
7839
|
-
a.appendChild(n), n.setAttribute("result", "offOut"), n.setAttribute("in", "SourceAlpha"), n.setAttribute("dx", `${
|
|
7839
|
+
a.appendChild(n), n.setAttribute("result", "offOut"), n.setAttribute("in", "SourceAlpha"), n.setAttribute("dx", `${l}`), n.setAttribute("dy", `${e}`);
|
|
7840
7840
|
const i = Ie("feGaussianBlur");
|
|
7841
7841
|
a.appendChild(i), i.setAttribute("result", "blurOut"), i.setAttribute("in", "offOut"), i.setAttribute("stdDeviation", `${t}`);
|
|
7842
7842
|
const s = Ie("feBlend");
|
|
7843
7843
|
return a.appendChild(s), s.setAttribute("in", "SourceGraphic"), s.setAttribute("in2", "blurOut"), s.setAttribute("mode", "normal"), a;
|
|
7844
|
-
}, fA = (
|
|
7845
|
-
let e =
|
|
7844
|
+
}, fA = (l) => {
|
|
7845
|
+
let e = l;
|
|
7846
7846
|
return e = e.replace(/feoffset/gi, "feOffset"), e = e.replace(/fegaussianblur/gi, "feGaussianBlur"), e = e.replace(/feblend/gi, "feBlend"), e = e.replace(/lineargradient/gi, "linearGradient"), e = e.replace(/stddeviation/gi, "stdDeviation"), e;
|
|
7847
7847
|
};
|
|
7848
|
-
function pt(
|
|
7848
|
+
function pt(l, e, t, A, a, n) {
|
|
7849
7849
|
const i = a || 1, s = n || 1, o = {
|
|
7850
7850
|
x: e[0],
|
|
7851
7851
|
y: e[1],
|
|
@@ -7854,11 +7854,11 @@ function pt(g, e, t, A, a, n) {
|
|
|
7854
7854
|
};
|
|
7855
7855
|
if (o.width <= 0)
|
|
7856
7856
|
return;
|
|
7857
|
-
const r =
|
|
7858
|
-
|
|
7857
|
+
const r = Qn(o.height, o.width, t * i, A * s), c = (A - r * o.width) / 2 - r * o.x, B = (t - r * o.height) / 2 - r * o.y;
|
|
7858
|
+
l.setAttribute("transform", `translate(${c} ${B}) scale(${r} ${r})`);
|
|
7859
7859
|
}
|
|
7860
|
-
function
|
|
7861
|
-
const a = t /
|
|
7860
|
+
function Qn(l, e, t, A) {
|
|
7861
|
+
const a = t / l, n = A / e;
|
|
7862
7862
|
return a > 1 && n > 1 ? Math.min(a, n) : a > 1 && n < 1 ? n : a < 1 && n > 1 ? a : Math.min(a, n);
|
|
7863
7863
|
}
|
|
7864
7864
|
const Gt = {
|
|
@@ -7895,18 +7895,18 @@ class Dt {
|
|
|
7895
7895
|
o && (i.push(s), t = s);
|
|
7896
7896
|
for (const c of r) {
|
|
7897
7897
|
const B = n[c];
|
|
7898
|
-
let
|
|
7898
|
+
let g;
|
|
7899
7899
|
switch (typeof B) {
|
|
7900
7900
|
case "boolean":
|
|
7901
|
-
|
|
7901
|
+
g = B | 0;
|
|
7902
7902
|
break;
|
|
7903
7903
|
case "number":
|
|
7904
|
-
|
|
7904
|
+
g = (B * 100 | 0) / 100;
|
|
7905
7905
|
break;
|
|
7906
7906
|
default:
|
|
7907
7907
|
throw new he("Failed to encode path.");
|
|
7908
7908
|
}
|
|
7909
|
-
o || i.push(" "), i.push(
|
|
7909
|
+
o || i.push(" "), i.push(g), o = !1;
|
|
7910
7910
|
}
|
|
7911
7911
|
return i.join("");
|
|
7912
7912
|
};
|
|
@@ -7928,8 +7928,8 @@ class Dt {
|
|
|
7928
7928
|
);
|
|
7929
7929
|
for (let c = 0; c < s.length / r.length; c++) {
|
|
7930
7930
|
const B = { type: i, relative: o };
|
|
7931
|
-
for (let
|
|
7932
|
-
B[r[
|
|
7931
|
+
for (let g = 0; g < r.length; g++)
|
|
7932
|
+
B[r[g]] = s[c * r.length + g];
|
|
7933
7933
|
a.push(B);
|
|
7934
7934
|
}
|
|
7935
7935
|
} else
|
|
@@ -7971,7 +7971,7 @@ class Dt {
|
|
|
7971
7971
|
}
|
|
7972
7972
|
}
|
|
7973
7973
|
}
|
|
7974
|
-
class pn extends
|
|
7974
|
+
class pn extends mt {
|
|
7975
7975
|
constructor() {
|
|
7976
7976
|
super(...arguments), this.moduleName = "Favourites";
|
|
7977
7977
|
}
|
|
@@ -7987,8 +7987,8 @@ class pn extends Qt {
|
|
|
7987
7987
|
}
|
|
7988
7988
|
brandSvg(e, t) {
|
|
7989
7989
|
const A = e.toSVG(2), a = e.getBoundingBox(), n = a.x2 - a.x1, i = e.toPathData(3), s = () => {
|
|
7990
|
-
const p = v("g"),
|
|
7991
|
-
p.appendChild(
|
|
7990
|
+
const p = v("g"), m = v("defs");
|
|
7991
|
+
p.appendChild(m), m.appendChild(IA(3, 7, 4, "shadow"));
|
|
7992
7992
|
const I = v("g");
|
|
7993
7993
|
p.appendChild(I), I.setAttribute("filter", "url(#shadow)"), I.innerHTML = A;
|
|
7994
7994
|
const F = v("g");
|
|
@@ -8002,20 +8002,20 @@ class pn extends Qt {
|
|
|
8002
8002
|
return "";
|
|
8003
8003
|
const B = v("defs");
|
|
8004
8004
|
o.appendChild(B), DA(o, B, t);
|
|
8005
|
-
const
|
|
8005
|
+
const g = r * 0.23, d = c * 0.94, C = c * 0.04, w = r * 0.53, h = v("g");
|
|
8006
8006
|
o.appendChild(h), h.setAttribute("transform", `translate(${C} ${w}) rotate(-21)`);
|
|
8007
|
-
const u =
|
|
8007
|
+
const u = Qt(g, d);
|
|
8008
8008
|
u.setAttribute("opacity", "0"), h.appendChild(u);
|
|
8009
8009
|
const E = v("g");
|
|
8010
8010
|
h.appendChild(E);
|
|
8011
8011
|
const D = s();
|
|
8012
8012
|
E.appendChild(D);
|
|
8013
|
-
const
|
|
8014
|
-
return pt(E,
|
|
8013
|
+
const Q = wt(i);
|
|
8014
|
+
return pt(E, Q, g, d), fA(o.outerHTML);
|
|
8015
8015
|
}
|
|
8016
8016
|
}
|
|
8017
8017
|
const Dn = "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==";
|
|
8018
|
-
class In extends
|
|
8018
|
+
class In extends mt {
|
|
8019
8019
|
constructor(e, t) {
|
|
8020
8020
|
super(), this.moduleName = "Maltesers", this.shortLength = 5, this.indicator = (A) => A ? 1 : 0, this.backgroundSvg = e, this.backgroundShortSvg = t;
|
|
8021
8021
|
}
|
|
@@ -8042,28 +8042,28 @@ class In extends Qt {
|
|
|
8042
8042
|
S,
|
|
8043
8043
|
T + (s / 3 - S) ** 2 / s * this.indicator(S < s / 3)
|
|
8044
8044
|
]), N.transform(([S, T]) => [S - (i - T) * (s - S) / 800, T]), I;
|
|
8045
|
-
}, [c, B,
|
|
8045
|
+
}, [c, B, g] = pA(t);
|
|
8046
8046
|
if (!c)
|
|
8047
8047
|
return "";
|
|
8048
8048
|
const d = v("defs");
|
|
8049
8049
|
c.appendChild(d), DA(c, d, t);
|
|
8050
8050
|
let C, w, h, u;
|
|
8051
|
-
A ? (C = B * 0.25 * (1 + 0.1), w =
|
|
8051
|
+
A ? (C = B * 0.25 * (1 + 0.1), w = g / 2 * (1 + 0.1), h = g * 0.22, u = B * 0.32) : (C = B * 0.22 * (1 + 0.1), w = g * 0.8, h = g * 0.067, u = B * 0.33);
|
|
8052
8052
|
const E = v("g");
|
|
8053
8053
|
c.appendChild(E), E.setAttribute("transform", `translate(${h} ${u}) rotate(-10)`);
|
|
8054
|
-
const D =
|
|
8054
|
+
const D = Qt(C, w);
|
|
8055
8055
|
D.setAttribute("opacity", "0"), E.appendChild(D);
|
|
8056
|
-
const
|
|
8057
|
-
E.appendChild(
|
|
8056
|
+
const Q = v("g");
|
|
8057
|
+
E.appendChild(Q);
|
|
8058
8058
|
const p = r();
|
|
8059
|
-
|
|
8060
|
-
const
|
|
8061
|
-
return pt(
|
|
8059
|
+
Q.appendChild(p);
|
|
8060
|
+
const m = wt(o);
|
|
8061
|
+
return pt(Q, m, C, w), c.outerHTML;
|
|
8062
8062
|
}
|
|
8063
8063
|
// 1 if true, 0 if false.
|
|
8064
8064
|
}
|
|
8065
8065
|
const fn = "data:application/octet-stream;base64,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DOYNZA3mDlQOyg88D54QEBCGEQARchHsEmIS1BOWFAwUghTwFWIV1BaiFxQXkhgEGMYZdBomGtQbfhwYHL4dYB3+HpgfPh/oIJYhPCHmIpQjRiPsJJolSCXuJpQnQifoKJIpRAAmAAn/8QAK//sADP/7AA3/+wAO//sAD//7ABD/+wAR//sAEv/7ABP/+wAU//sAFf/xABb/8QAZ//sAHf/2AB7/+wAf//sAIP/xACH/+wAi//sAI//7ACT/+wAl//EAJv/2ACf/8QAo//sAKf/2ACr/+wAr//sALP/sAC3/7AAu/+IAL//dADD/9gAx/+wAMv/7ADP/+wA0//YAKwAG//EACP/nAAn/4gAK/9MAC//iAAz/9gAN/+IADv/sAA//4gAQ/9gAEf/iABL/1QAT//EAFP/nABX/8QAW/9gAMf/TADL/pgAz//MANP/nADX/8QA2//EAN//7ADj/7gA5//YAOv/7ADv/2AA8//EAPf/2AD7/9gA///EAQP/sAEH/+wBC/+wAQ//xAET/7ABF/+wARv/2AEf/3QBI/90ASf/EAEr/zgBL//YAKwAG//YAB//2AAn/3QAL/+wADP/sAA3/8QAO//YAD//sABD/8QAR/+wAEv/iABP/5wAU/+wAFf/dABb/7AAX/78AMf/YADL/sAAz/+IANP/iADX/8QA2/+cAN//xADj/3QA5/+wAOv/2ADv/4gA8//EAPf/xAD7/8QA///YAQP/YAEH/9gBC/+cAQ//sAET/7ABF/+wARv/xAEf/zgBI/9MASf/OAEr/zgBL/+wAKgAG//YAB//iAAj/4gAK/+IADP/dAA3/ugAO/+IAD//iABD/5wAR/+IAEv/dABP/yQAU/90AFf+mABb/0wAx/5gAMv/YADP/4gA0/9MANf/xADb/7AA3/+wAOP/iADn/7AA6//EAO//dADz/5wA9/+wAPv/sAD//5wBA/9gAQf/sAEL/zgBD/+wARP/YAEX/tQBG/90AR/+hAEj/oQBJ/8QASv+DAEv/7AAqAAb/8QAH/90ACP/YAAn/oQAL/8kADP/iAA3/sAAO/+cAD//YABD/4gAR/90AEv/bABP/4gAU/+IAFf/TABb/5wAg/+QAMf/nADL/3AAz//QANP/rADX/9AA2//IAN//4ADj/8AA5//QAOv/1ADv/7AA8/+oAPf/7AD7/9wA///IAQP/tAEH/+wBC/+IAQ//2AET/4wBF/7YARv/vAEf/pgBK/6MAS//yACYAB//TAAj/8QAK/84ADP/dAA3/9gAO//EAD//dABD/pgAR/8kAEv+6ABP/7AAU/90AFf/OADH/xAAy/5IAM//sADT/3QA1/+cANv/xADf/9gA4/90AO/9WADz/5wA9//EAPv/sAD//5wBA/84AQf/dAEL/0wBD/+cARP/nAEX/5wBG/+cAR//dAEj/2ABJ/7oASv/JAEv/4gAsAAb/+wAH//sACP/xAAn/zgAK/+cAC//dAAz/9gAN/9gADv/tAA//7AAQ/+kAEf/rABL/3QAT/90AFP/hABX/3QAW/90AMf/nADL/vwAz/+cANP/nADX/8QA2//EAN//sADj/5wA5//YAOv/2ADv/4gA8//EAPf/2AD7/+wA///sAQP/2AEH/+wBC/+wAQ//7AET/7ABF/9MARv/7AEf/yQBI/84ASf+wAEr/xABL/+cADgAG//sACf/xAAv/7AAN//sADv/7AA8AAAAR//EAEv/0ABP/9gAU//EAFf/xABb/7AAx//YAQP/2ACkABv/7AAf/9gAI//sACf/iAAr/5wAL/+wADP/vAA3/3QAO//sAD//qABD/8QAR/+wAEv/nABP/8QAU/+cAFf/iABb/7AAx/+cAMv/vADP//AA0/+cANf/7ADb//gA4//EAOf/8ADr//AA7/+kAPP/6AD3//QA+//4AP//7AEL/6gBD//0ARP/2AEX/7ABG//EAR//YAEj/4gBJ/+wASv/LAEv//AAsAAb/+wAH//EACP/2AAn/0wAK/+IAC//JAAz/5wAN/90ADv/iAA//7AAQ/+cAEf/sABL/3QAT/9MAFP/iABX/zgAW/+cAMf/YADL/xAAz/+wANP/dADX/6AA2//EAN//xADj/4wA5//EAOv/2ADv/7AA8/+wAPf/sAD7/9gA//+wAQP/iAEH/8QBC/90AQ//nAET/5wBF/8QARv/mAEf/xABI/8kASf+1AEr/rQBL/+IALAAG//sAB//7AAj/9gAJ/9MACv/2AAv/ugAM/+kADf/dAA7/9gAP/+wAEP/2ABH/8AAS//EAE//2ABT/5wAV/9gAFv/sADH/vwAy/9UAM//eADT/3wA1//EANv/xADf/9gA4/+IAOf/xADr/9gA7/+wAPP/xAD3/9gA+//EAP//2AED/2ABB//EAQv/nAEP/9gBE/+cARf/TAEb/8QBH/9gASP/YAEn/xgBK/78AS//xACsABv/7AAf/9gAI/+wACf/TAAr/5wAL/90ADP/lAA3/zgAO/90AD//dABD/7AAR/+IAEv/iABP/2AAU/+IAFf/JABb/5wAx/90AMv/EADP/6wA0/+EANf/wADb/8AA4/9wAOf/dADr/7AA7/9gAPP/sAD3/5wA+/+wAP//iAED/0wBB/+IAQv/YAEP/4gBE/84ARf/JAEb/4gBH/8kASP/OAEn/vwBK/8kAS//TACwABv/7AAf/3wAI/+cACf+wAAr/4wAL/8kADP/dAA3/xwAO/+cAD//dABD/7AAR/+cAEv/iABP/yQAU/9cAFf+/ABb/4gAa/+kAMf/YADL/uwAz/+EANP/dADb/6wA3//MAOP/lADn/8QA6//IAO//eADz/5wA9/+4APv/zAD//8ABA/+IAQf/2AEL/6gBD//YARP/kAEX/zABG/+8AR/+0AEj/uwBJ/64ASv+vAEv/5QAsAAb/+wAH/90ACP/nAAn/4gAK/9MAC//nAAz/3QAN//YADv/eAA//3QAQ/7AAEf/OABL/sAAT//sAFP/dABX/0wAW/9MAMf/iADL/iAAz//YANP/OADX/9gA2//EAN//xADj/0wA5//YAOv/zADv/gAA8//EAPf/7AD7/+wA///YAQP/OAEH/7gBC/84AQ//2AET/2ABF//sARv/2AEf/5wBI/+cASf/TAEr/4gBL/+wALAAG//sAB//2AAj/8QAJ/9gACv/nAAv/3QAM/+IADf/dAA7/4gAP/+IAEP/nABH/5wAS/9gAE//YABT/3QAV/84AFv/sADH/5wAy/78AM//nADT/2AA1/+cANv/nADf/7AA4/90AOf/sADr/7AA7/+cAPP/sAD3/8QA+/+wAP//xAED/4gBB//EAQv/dAEP/5wBE/+IARf/YAEb/5wBH/78ASP/HAEn/sABK/7UAS//dACsABv/xAAf/8QAI/+IACf/dAAr/0wAL/+IADP/iAA3/3QAO/+cAD//dABD/zgAR/9MAEv/EABP/0wAU/84AFv/dADH/4gAy/6EAM//jADT/3QA1/+wANv/sADf/5wA4/90AOf/nADr/8QA7/78APP/xAD3/9gA+/+wAP//nAED/3QBB/+cAQv/nAEP/5wBE/+IARf/OAEb/3QBH/8QASP/JAEn/lwBK/7oAS//YACkABv/sAAf/0wAI/90ACf/OAAr/3QAM/90ADf/EAA7/5wAP/9gAEP/YABH/3QAS/9MAE//YABT/4gAV/90AMf/sADL/wAAz/+8ANP/kADX/6wA2//AAN//2ADj/5AA5//EAOv/uADv/1gA8//QAPf/2AD7/8QA///AAQP/dAEH/7ABD/+gARP/YAEX/1QBG/+wAR/+3AEj/wwBJ/7UASv+wAEv/5gAeAAf/zgAi/+4AI//5ACT/7wAy/9AAM//pADT/sQA1/+sANv/nADf/5gA4/7oAOf/vADr/9wA7/9AAPP/sAD3/6wA+/+YAP//sAED/uwBB/+kAQv+7AEP/5ABE/9QARf+6AEb/0ABH/34ASP+SAEn/zQBK/5sAS//nABwAF//RACT//wAy/9EAM//uADT/5wA1/+8ANv/3ADf/7gA4/+gAOf/3ADr/+wA7/9oAPP/vAD3/9wA+/+4AP//vAED/4QBB//cAQv/nAEP/7wBE/+4ARf/QAEb/9wBH/8EASP/MAEn/wwBK/7sAS//nABwAF//QABv/+QAy/8EAM//zADT/6wA1//sANv/zADf/+wA4/+8AOf/zADr//gA7/+EAPP/vAD3/9wA+//kAP//3AED/4gBB//kAQv/jAEP/8wBE/+YARf/VAEb/+QBH/84ASP/JAEn/twBK/8EAS//rAB8ABv/7ABL/3wAX/8kAJf/5ACv/7wAy/7oAM//zADT/6wA1/+8ANv/uADf/8wA4/+oAOf/vADr/7wA7/9QAPP/5AD3//gA+//EAP//vAED/4wBB//MAQv/mAEP/7gBE/+cARf/XAEb/6wBH/8kASP/JAEn/twBK/7cAS//nACAABv/7ACQAAgAl/+8AJ//5AC3//gAv//4AMv/oADP//QA0/+sANf/7ADb/+gA3//sAOP/jADn/9wA6//oAO//kADz//wA9//0APv/+AD8AAABA/+gAQf/7AEL/6ABD//sARP/sAEX/8QBG//sAR//qAEj/6wBJ/+cASv/qAEv/+QAbAAb/+wAl/+8AMv+5ADP/+wA0/+8ANf/7ADb/+wA3//0AOP/vADn/+wA6AAAAO/+7ADz//gA9//4APv/7AED/7ABB//4AQv/nAEP/+QBE//kARf/7AEb/+QBH//MASP/rAEn/4gBK/+8AS//7AB0ABv/2ABf/zgAl/+8AMv+3ADP/9wA0/+sANf/3ADb/8QA3//kAOP/uADn/8wA6//sAO//YADz/8wA9/+4APv/3AD//8wBA/+MAQf/3AEL/6QBD/+8ARP/nAEX/1ABG/+8AR//JAEj/zABJ/6YASv/JAEv/3AAcAAb/+wAX//MAJf/7ADL/6wAz//4ANP/uADX/+wA2//4AN//+ADj/8wA5//0AOv/+ADv/7gA8//4APf/+AD7/+wA///4AQP/uAEL/9wBD//4ARP/+AEX/+QBG//4AR//uAEj/9wBJ/+4ASv/zAEv//gAYAAb/+wAx//YAMv/rADP//wA0//MANf//ADYAAQA3//8AOP/zADv/6AA8//4APf/+AD4AAQBA/+4AQf//AEL/8wBD//4ARP/4AEX//QBH/+wASP/3AEn/7ABK//EASwABABwABv/2ABf/4QAy/8oAM//9ADT/+QA1//4ANv/7ADf//gA4//MAOf/+ADr//wA7/+EAPP/7AD3//gA+//4AP//+AED/7wBB//4AQv/zAEP//gBE//sARf/7AEb//gBH/+8ASP/5AEn/2gBK//oAS//+AB0ABv/nABf/5wAx/7AAMv/hADP/7gA0/7QANf/rADb/5wA3/+4AOP+sADn/6wA6//kAO/+3ADz/6gA9/+8APv/nAD//5wBA/6wAQf/uAEL/rgBD/+cARP+8AEX/3ABG/9oAR//cAEj/0QBJ/9oASv/RAEv/7wAeAAb/9gAX//cAI//9ADH/vwAy/+4AM//5ADT/2gA1//4ANv/3ADf/+wA4/9oAOf/3ADr/+wA7/+cAPP/7AD3/+QA+//cAP//5AED/1ABB//sAQv/cAEP/9wBE/+8ARf/JAEb/6wBH/8QASP++AEn/5wBK/8EAS//+ABwAF//7ADH/7AAy/+QAM//+ADT/7gA1//4ANgAAADf//QA4//cAOf/7ADr//gA7/+4APP/+AD3//gA+//0AP//7AED/7wBB//4AQv/uAEP//gBE//cARf/7AEb/+QBH/+gASP/vAEn/6wBK/+gAS//+AB4ABv/7ABf/8wAa//4AHf/3ACX/9wAq//4AMf/2ADL/5AAz//0ANP/zADX/+wA2//4AN//+ADj/+QA7/+4APf/+AD7/+wA///4AQP/2AEH/+gBC/+4AQ//7AET/+QBF//sARv/+AEf/8wBI/+8ASf/zAEr/6wBL//4AHQAG//EAJP/3ADH/7AAy/7sAM//sADT/4wA1/+8ANv/vADf/9wA4/+QAOf/qADr/9wA7/98APP/vAD3/9wA+/+sAP//uAED/4wBB/+4AQv/mAEP/7wBE/+IARf/VAEb/7gBH/8MASP/GAEn/uwBK/7oAS//fABwABv/sACT//gAy/54AM//rADT/6gA1//EANv/rADf/9wA4/+MAOf/oADr/9wA7/64APP/sAD3/8QA+/+wAP//sAED/4QBB//MAQv/oAEP/5ABE/9gARf/kAEb/7gBH/9EASP/QAEn/uwBK/8QAS//zADAAF//3ABj//wAZ/+kAGv//ABv//QAc//4AHf/pAB7/+wAf//8AIP/iACH//gAi//8AI//+ACT//wAl/+IAJ//uACj//gAp/+cAKv/hACv/+QAs/8MALf/QAC7/5AAv/8wAMP//ADL/4QAz//4ANP/jADX/9wA3//kAOP/fADn/9wA7/+IAPP/5AD3/+gA+//EAP//6AED/2gBB/+8AQv/aAET/7wBF/9cARv/qAEf/xgBI/7sASf/qAEr/tABL//sAHQAG/+cAF//oACT/+gAy/+IAM//xADT/zAA1/+8ANv/sADf/+gA4/8wAOf/3ADr/8wA7/8kAPP/uAD3/7wA+/+wAP//rAED/yQBB//cAQv/MAEP/+ABE/9QARf/KAEb/2gBH/8EASP/EAEn/4gBK/7cAS//vAB0ABv/xABv/+QAl/+4AMv+8ADP/7wA0/9wANf/zADb/6AA3//cAOP/hADn/5gA6//MAO//aADz/6QA9//MAPv/pAD//6wBA/+MAQf/3AEL/2gBD/+kARP/rAEX/1ABG/+kAR//JAEj/zABJ/7QASv+7AEv/5wAbAAb/9gAy/6YAM//9ADT/0wA1//oANv/+ADf//QA4/9UAOf/3ADr//wA7/7kAPP/6AD3//gA+//sAP//7AED/0ABB//oAQv/XAEP/+QBE/+IARf/zAEb/9wBH/+8ASP/vAEn/6gBK/+cAS//6ABwABv/7ACQAAgAy/9UAM//7ADT/7wA1//cANv/9ADf//wA4/+4AOf/7ADr//wA7/+sAPP/+AD3//gA+//0AP//6AED/7gBB//sAQv/sAEP/+wBE/+8ARf/7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ABX/3QAx//YAMv+5ADP/+AA0/+MANf/3ADb/+AA3//kAOP/iADn/+gA6//0AO//OADz//QA9//4APv/5AD///ABA/+YAQv/jAEP/9wBE/+YARf/vAEb//gBH/+cASP/vAEn/0QBK/+YAS//9ACgAB//2AAj/4gAJ/90ACv/sAAv/4gAM/+gADf/iAA7/9QAP/+gAEP/dABH/4AAS/+YAE//OABT/4gAV/90AJP/7ADH/9gAy/8EAM//vADT/3wA2//QAN//4ADj/4wA5/+kAOv/6ADv/0QA8/+YAPf/zAD7/6QA///EAQP/qAEL/3ABD/+gARP/fAEb/+ABH/7sASP+7AEn/rwBK/68AS//jACcACP/xAAn/7AAK//gADP/2AA7/9wAP//YAEP/xABH/5wAS/+cAE//xABT/7AAV/+UAMf/2ADL/6AAz//kANP/qADX/+wA2//oAN//7ADj/6wA5//cAOv//ADv/4wA8//sAPf/+AD7/+wA///oAQP/sAEH/+gBC/+MAQ//5AET/7wBF/+oARv/7AEf/4wBI/+wASf/jAEr/6gBL//4AJgAH//sACP/7AAn/5wAK//oADP/2AA7/9gAP//YAEP/xABH/8QAS//IAE//xABT/5wAV//EAMv/nADP/+wA0//EANf/9ADb//gA3//4AOP/uADn/+wA6//4AO//oAD0AAAA+//sAP//+AED/7wBB//4AQv/qAEP//wBE//EARf/3AEb/+wBH/+YASP/3AEn/2gBK/+QAS//7ACkAB//2AAj/9gAJ/90ACv/yAAz/8QAO//EAD//wABD/6gAR/+wAEv/mABP/9AAU/+wAFf/rABf/zgAx//YAMv/OADP/7wA0/+oANf/5ADb//gA3//0AOP/oADn/+QA6//0AO//YADz//gA9//8APv/6AD//+QBA/+4AQf/5AEL/4wBD//gARP/qAEX/+QBG//oAR//pAEj/6QBJ/9UASv/rAEv/+gAqAAf/sgAI/8kACf+wAAr/ugAL/7UADP+1AA3/3QAO/+QAD/+6ABD/sgAR/7UAEv+xABP/4gAU/6sAFf+mADH/lwAy/9oAM//jADT/qwA1/+IANv/iADf/4wA4/5oAOf/XADr/7gA7/7QAPP/kAD3/6wA+/+4AP//mAED/rQBB/+8AQv+qAEP/6gBE/74ARf/XAEb/2gBH/9AASP/SAEn/1QBK/80AS//qACsAB//nAAj/8QAJ/6YACv/sAAv/nAAM/90ADf+6AA7/9gAP/+IAEP/sABH/3QAS/9oAE//sABT/3QAV/8QAJP/+ADH/pgAy/+sAM//vADT/ygA1//0ANv/zADf/+wA4/9MAOf/vADr/+wA7/9gAPP/3AD3/9wA+//EAP//7AED/1QBB//cAQv/PAEP/8wBE/+YARf+7AEb/5wBH/7UASP/JAEn/2gBK/6UAS//zACkAB//2AAn/7AAK//kAC//sAAz/9gAO//oAD//2ABD/7AAR/+cAEv/vABP/9gAU//EAFf/sABcAAQAx/+YAMv/pADP/+QA0/+oANf/zADb/+wA3//oAOP/nADn/9wA6//4AO//uADz/+QA9//oAPv/7AD//+QBA/+8AQf/3AEL/6QBD//oARP/sAEX/8wBG//gAR//pAEj/6QBJ/+MASv/nAEv//QAqAAf/9gAI//sACf/sAAr/9wAL/+wADP/7AA7/+gAP//EAEP/2ABH/7AAS//EAE//2ABT/9gAV/+QAFwABADH/8QAy/+kAM//3ADT/6QA1//kANv/5ADf/+QA4/+8AOf/6ADr//gA7/+8APP/7AD3/+gA+//oAP//4AED/7wBB//sAQv/rAEP//QBE/+8ARf/3AEb/+gBH/+4ASP/rAEn/4QBK/+wAS//5ACsAB//xAAj/4gAJ/9gACv/sAAv/2AAM//YADf/iAA7/8QAP/90AEP/iABH/0wAS/+IAE//JABT/4gAV/94AJP/7ADH/3QAy/7QAM//pADT/4QA1/+wANv/vADf/6gA4/+IAOf/qADr/+gA7/9oAPP/pAD3/6wA+/+wAP//pAED/4QBB/+sAQv/cAEP/6wBE/+IARf/JAEb/7gBH/7wASP/BAEn/pgBK/7UAS//kACwAB//iAAj/5wAJ/+IACv/OAAv/2AAM/+cADf/nAA7/8AAP/90AEP+6ABH/xAAS/9cAE//XABT/2AAV/9gAG//3ACT/+wAx/+IAMv+gADP/6QA0/+MANf/mADb/7wA3/+sAOP/aADn/6AA6//YAO/+xADz/6wA9/+4APv/oAD//7wBA/9oAQf/oAEL/1wBD/+MARP/aAEX/2ABG/+cAR//PAEj/yQBJ/7kASv/BAEv/6AApAAf/8QAI/+wACf/OAAr/6gAL/84ADP/nAA3/2AAO//YAD//fABD/4gAR/9gAEv/lABP/5wAU/+IAFf/YADH/4gAy/+cAM//3ADT/2gA1//gANv/5ADf/+wA4/9wAOf/3ADr//gA7/+MAPP/3AD3//QA+//cAP//3AED/1QBC/9UAQ//9AET/6QBF/+EARv/pAEf/ugBI/8QASf/aAEr/wgBL//sAKwAH/8kACP/YAAn/xAAK/9MAC/+/AAz/yQAN/9gADv/nAA//xAAQ/7oAEf+1ABL/wQAT/9gAFP+6ABX/vwAk//sAMf+/ADL/2gAz/+gANP/KADX/6QA2/+kAN//oADj/xgA5/+QAOv/nADv/uQA8/+wAPf/uAD7/6QA//+cAQP/GAEH/7ABC/8kAQ//mAET/2ABF/84ARv/VAEf/wQBI/7wASf/GAEr/tABL/+8AKwAH//EACP/2AAn/yQAK/+oAC//TAAz/3QAN/+cADv/sAA//4gAQ/+IAEf/YABL/3wAT/90AFP/dABX/2AAk//sAMf/nADL/xgAz//MANP/iADX/7wA2/+4AN//3ADj/4wA5/+kAOv/vADv/1wA8/+4APf/zAD7/6gA//+0AQP/kAEH/9wBC/98AQ//qAET/5wBF/9AARv/vAEf/yQBI/9AASf/PAEr/xABL/+8AKQAH/+cACP/sAAn/5wAK/+kAC//dAAz/2AAO/+wAD//XABD/qwAR/8kAEv/AABP/9gAU/9MAFf/OADH/2AAy/7AAM//5ADT/2gA1//0ANv/6ADf//gA4/98AOf/3ADr//QA7/8YAPP/7AD3//gA+//gAP//4AED/1QBB//0AQv/VAEP/+ABE/+MARf/zAEb/+QBH/+4ASP/zAEn/4gBK/+cAS//zACkACP/2AAn/5wAK//QAC//sAAz/+wAN//4ADv/2AA//5QAQ/+wAEf/nABL/8wAT//EAFP/nABX/3QAx/+QAMv/KADP/+QA0/+wANf/6ADb/+gA3//sAOP/vADn/+gA6AAAAO//hADz//wA9//0APv/5AD///gBA/+wAQf/7AEL/7ABD//sARP/vAEX/9wBG//sAR//zAEj/6gBJ/+EASv/jAEv/+wArAAf/zgAI/84ACf/YAAr/ygAL/9gADP/JAA3/+wAO/9kAD//JABD/ogAR/7oAEv+5ABP/5wAU/8QAFf+9ACT/+wAx/7oAMv+FADP/+wA0/7sANf/qADb/6wA3/+wAOP++ADn/5gA6/+8AO/+iADz/6AA9/+oAPv/sAD//7wBA/8MAQf/mAEL/uwBD/+YARP/KAEX/6QBG/+8AR//jAEj/3wBJ/9MASv/hAEv/6wApAAf/zgAI/84ACf/TAAv/2AAM/84ADv/eAA//xAAQ/7AAEf/TABL/sQAT/+wAFP/FABX/yQAk//sAMf/JADL/lQAz//MANP/BADX/+QA2//MAN//3ADj/xgA5//sAOv/3ADv/pQA8/+8APf/+AD7/7gA//+oAQP/DAEH/7gBC/8QAQ//vAET/0ABF/+4ARv/uAEf/6QBI/+QASf/aAEr/5gBL//cAKgAH/8QACP/OAAn/pgAL/7oADP+rAA3/3QAO/+cAD/+5ABD/twAR/8QAEv+zABP/0wAU/7AAFf+cACT/+wAx/6EAMv/aADP/4wA0/7cANf/4ADb/4wA3//0AOP+3ADn/7gA6/+8AO/+7ADz/7gA9//EAPv/jAD//6ABA/7oAQf/zAEL/uQBD/+sARP/OAEX/3wBG/+EAR//aAEj/2ABJ/9gASv/MAEv/7gAsAAf/yQAI/84ACf/JAAr/wgAL/8kADP/JAA3//gAO/8kAD/+6ABD/jQAR/7oAEv+gABP/4gAU/7UAFf+6AB7/8QAk//sAMf+1ADL/lwAz/+8ANP+7ADX/5gA2/+4AN//uADj/uQA5/+gAOv/3ADv/hAA8/+8APf/sAD7/7AA//+oAQP+6AEH/7ABC/7kAQ//pAET/ygBF/+8ARv/vAEf/6ABI/+kASf/fAEr/5ABL//EAJgAH//YACf/iAAr/7AAL/+cADP/iAA3//wAO//UAD//nABD/7AAR/+IAEv/gABP/7AAU/90AFf/TADH/4gAy/+sAM//+ADT/6AA1//4ANgAEADf//wA4/9wAOf/6ADv/5gA8//8APf//AD///QBA/+MAQf//AEMAAABE/+8ARf/4AEb/+wBH//cASP/rAEn/6QBK/+kAS//9AAIAAQAGAEsAAAAAAAAAAQAAAADUGBYRAAAAANmXsTQAAAAA2ZexNA==";
|
|
8066
|
-
class Fn extends
|
|
8066
|
+
class Fn extends mt {
|
|
8067
8067
|
constructor() {
|
|
8068
8068
|
super(...arguments), this.moduleName = "Vegemite";
|
|
8069
8069
|
}
|
|
@@ -8077,46 +8077,46 @@ class Fn extends Qt {
|
|
|
8077
8077
|
const A = Ct(fn), n = e !== "" ? ((D) => D.charAt(0).toUpperCase() + D.substr(1).toLowerCase())(e) : "", i = A.getPath(n, 0, 72, 72), s = i.toSVG(2), o = i.getBoundingBox(), r = o.x2 - o.x1, c = i.toPathData(3), B = () => {
|
|
8078
8078
|
const D = v("g");
|
|
8079
8079
|
D.classList.add("module-text-group");
|
|
8080
|
-
const
|
|
8081
|
-
D.appendChild(
|
|
8080
|
+
const Q = v("defs");
|
|
8081
|
+
D.appendChild(Q), Q.appendChild(IA(0, 2, 2, "shadow"));
|
|
8082
8082
|
const p = v("path");
|
|
8083
|
-
p.setAttribute("d", c), p.setAttribute("stroke", "black"), p.setAttribute("stroke-width", "3"),
|
|
8084
|
-
const
|
|
8085
|
-
|
|
8083
|
+
p.setAttribute("d", c), p.setAttribute("stroke", "black"), p.setAttribute("stroke-width", "3"), Q.appendChild(p);
|
|
8084
|
+
const m = v("g");
|
|
8085
|
+
m.classList.add("module-layer0"), D.appendChild(m), m.setAttribute("filter", "url(#shadow)"), m.innerHTML = p.outerHTML;
|
|
8086
8086
|
const I = v("g");
|
|
8087
8087
|
I.classList.add("module-layer1"), D.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 = s;
|
|
8088
8088
|
const F = v("g");
|
|
8089
8089
|
F.classList.add("module-layer2"), D.appendChild(F), F.setAttribute("fill", "rgb(255,209,0)"), F.setAttribute("transform", "translate(1,-0.1)"), F.innerHTML = s;
|
|
8090
8090
|
const y = v("g");
|
|
8091
8091
|
return y.classList.add("module-layer3"), D.appendChild(y), y.setAttribute("fill", "white"), y.innerHTML = s, new Dt(D).transform(([N, S]) => [N, S + (r / 2 - N) ** 2 / (r * 6)]), D;
|
|
8092
|
-
},
|
|
8093
|
-
|
|
8092
|
+
}, g = v("g");
|
|
8093
|
+
g.classList.add("module-root");
|
|
8094
8094
|
const d = v("defs");
|
|
8095
|
-
|
|
8095
|
+
g.appendChild(d);
|
|
8096
8096
|
const C = v("g");
|
|
8097
|
-
C.classList.add("module-bounds"),
|
|
8098
|
-
const w =
|
|
8097
|
+
C.classList.add("module-bounds"), g.appendChild(C);
|
|
8098
|
+
const w = Qt(t.height, t.width);
|
|
8099
8099
|
w.setAttribute("opacity", "0"), C.appendChild(w);
|
|
8100
8100
|
const h = v("g");
|
|
8101
|
-
h.classList.add("module-text-enclosure"),
|
|
8101
|
+
h.classList.add("module-text-enclosure"), g.appendChild(h);
|
|
8102
8102
|
const u = B();
|
|
8103
8103
|
h.appendChild(u);
|
|
8104
8104
|
const E = wt(c);
|
|
8105
|
-
return pt(h, E, t.height, t.width, 0.35, 0.65), fA(
|
|
8105
|
+
return pt(h, E, t.height, t.width, 0.35, 0.65), fA(g.outerHTML);
|
|
8106
8106
|
}
|
|
8107
8107
|
}
|
|
8108
|
-
async function FA(
|
|
8109
|
-
if (
|
|
8108
|
+
async function FA(l) {
|
|
8109
|
+
if (l === "Favourites")
|
|
8110
8110
|
return new pn();
|
|
8111
|
-
if (
|
|
8111
|
+
if (l === "Maltesers") {
|
|
8112
8112
|
const e = _("https://assets.spiff.com.au/public/modules/img/MaltesersBackground.svg"), t = _("https://assets.spiff.com.au/public/modules/img/MaltesersBackgroundShort.svg"), A = await Promise.all([e, t]);
|
|
8113
8113
|
return new In(A[0], A[1]);
|
|
8114
8114
|
}
|
|
8115
|
-
if (
|
|
8115
|
+
if (l === "Vegemite")
|
|
8116
8116
|
return new Fn();
|
|
8117
|
-
throw new b(`Failed to resolve Module, Module ${
|
|
8117
|
+
throw new b(`Failed to resolve Module, Module ${l} not found`);
|
|
8118
8118
|
}
|
|
8119
|
-
var Ve = /* @__PURE__ */ ((
|
|
8119
|
+
var Ve = /* @__PURE__ */ ((l) => (l.Error = "Error", l.Warning = "Warning", l.Info = "Info", l))(Ve || {});
|
|
8120
8120
|
const yn = 1e3;
|
|
8121
8121
|
class bt extends BA {
|
|
8122
8122
|
constructor(e) {
|
|
@@ -8131,16 +8131,16 @@ class bt extends BA {
|
|
|
8131
8131
|
}
|
|
8132
8132
|
}
|
|
8133
8133
|
class Mn {
|
|
8134
|
-
constructor(e, t, A, a, n, i, s, o, r, c, B,
|
|
8134
|
+
constructor(e, t, A, a, n, i, s, o, r, c, B, g, d, C = !1, w, h = !1, u = !1, E = !1) {
|
|
8135
8135
|
this.workflowStatePromiseQueue = new dA(1), this.initialized = !1, this.readOnly = !1, this.isReloadedTransaction = !1, this.singleVariantsRenderable = !1, this.stepTags = {}, this.renderLayouts = () => {
|
|
8136
8136
|
var p;
|
|
8137
8137
|
if (!this.previewService)
|
|
8138
8138
|
return;
|
|
8139
|
-
const D = this.getCommandContext().getAllLayouts(),
|
|
8140
|
-
if (
|
|
8141
|
-
for (const [,
|
|
8142
|
-
|
|
8143
|
-
}, this.experience = e, this.client = t, this.updateTransaction = s, this.commandContext = i, this.reloadedState = d, this.transaction = o, this.readOnly = C, 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 = n, this.product = r, this.previewService = B, this.modelContainer = w, 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 =
|
|
8139
|
+
const D = this.getCommandContext().getAllLayouts(), Q = (p = this.getLayoutPreviewService()) == null ? void 0 : p.getAll();
|
|
8140
|
+
if (Q)
|
|
8141
|
+
for (const [, m] of Q)
|
|
8142
|
+
m.render(D);
|
|
8143
|
+
}, this.experience = e, this.client = t, this.updateTransaction = s, this.commandContext = i, this.reloadedState = d, this.transaction = o, this.readOnly = C, 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 = n, this.product = r, this.previewService = B, this.modelContainer = w, 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 = g, this.isReloadedTransaction = h, this.stepTags = c, E && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(A), this.initializationPromise.then(() => {
|
|
8144
8144
|
this.initialized = !0;
|
|
8145
8145
|
}), this.initializationPromise.catch((D) => {
|
|
8146
8146
|
throw console.error(D), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
|
|
@@ -8377,8 +8377,8 @@ class Mn {
|
|
|
8377
8377
|
throw new b(
|
|
8378
8378
|
"We should always have a model container when injecting a preview!"
|
|
8379
8379
|
);
|
|
8380
|
-
const
|
|
8381
|
-
if (!
|
|
8380
|
+
const g = (B = o.asset) == null ? void 0 : B.fileLink;
|
|
8381
|
+
if (!g) {
|
|
8382
8382
|
console.error(`Failed to read model url from variant: ${o.id} for step: ${i.stepName}`);
|
|
8383
8383
|
return;
|
|
8384
8384
|
}
|
|
@@ -8386,14 +8386,14 @@ class Mn {
|
|
|
8386
8386
|
this.modelContainer.applyModelVariant(
|
|
8387
8387
|
i.stepName,
|
|
8388
8388
|
{
|
|
8389
|
-
model:
|
|
8389
|
+
model: g,
|
|
8390
8390
|
contextService: this.getLayoutPreviewService()
|
|
8391
8391
|
},
|
|
8392
8392
|
d.replaceProductModel || !1
|
|
8393
8393
|
);
|
|
8394
8394
|
} else {
|
|
8395
|
-
const
|
|
8396
|
-
if (!
|
|
8395
|
+
const g = o.material;
|
|
8396
|
+
if (!g) {
|
|
8397
8397
|
console.error(`Failed to read material from variant: ${o.id} for step: ${i.stepName}`);
|
|
8398
8398
|
return;
|
|
8399
8399
|
}
|
|
@@ -8402,7 +8402,7 @@ class Mn {
|
|
|
8402
8402
|
throw new b(
|
|
8403
8403
|
"We should always have a model container when injecting a preview!"
|
|
8404
8404
|
);
|
|
8405
|
-
this.modelContainer.applyMaterialVariant(C, i.option.id,
|
|
8405
|
+
this.modelContainer.applyMaterialVariant(C, i.option.id, g);
|
|
8406
8406
|
});
|
|
8407
8407
|
}
|
|
8408
8408
|
}), await A.getInitializationPromise(), this.renderLayouts();
|
|
@@ -8474,7 +8474,7 @@ class Mn {
|
|
|
8474
8474
|
const e = this.getCommandContext().getState();
|
|
8475
8475
|
if (!e)
|
|
8476
8476
|
throw new b("Attempted to serialize state before it was initialized.");
|
|
8477
|
-
return { transaction: JSON.stringify(this.dehydrateState(
|
|
8477
|
+
return { transaction: JSON.stringify(this.dehydrateState(le(e.transaction))) };
|
|
8478
8478
|
}
|
|
8479
8479
|
dehydrateState(e) {
|
|
8480
8480
|
var t;
|
|
@@ -8515,15 +8515,15 @@ class Mn {
|
|
|
8515
8515
|
return Promise.resolve({ stepElements: {}, commands: [] });
|
|
8516
8516
|
const a = async (r, c, B) => {
|
|
8517
8517
|
if (r.type === M.SilentIllustration) {
|
|
8518
|
-
const
|
|
8519
|
-
return { step: r, results:
|
|
8518
|
+
const g = await new kt(r, c).trigger();
|
|
8519
|
+
return { step: r, results: g };
|
|
8520
8520
|
} else if (r.type === M.ProductOverlay) {
|
|
8521
|
-
const
|
|
8521
|
+
const g = await new kt(
|
|
8522
8522
|
r,
|
|
8523
8523
|
c,
|
|
8524
8524
|
B
|
|
8525
8525
|
).trigger();
|
|
8526
|
-
return { step: r, results:
|
|
8526
|
+
return { step: r, results: g };
|
|
8527
8527
|
}
|
|
8528
8528
|
return Promise.reject("Unknown silent step. This is a bug");
|
|
8529
8529
|
}, n = e.filter(
|
|
@@ -8586,32 +8586,32 @@ class Mn {
|
|
|
8586
8586
|
this.stepSelections = {
|
|
8587
8587
|
...this.stepSelections,
|
|
8588
8588
|
[e]: { selectedVariants: t }
|
|
8589
|
-
}, this.selectionCost = Object.values(this.stepSelections).reduce((
|
|
8590
|
-
ae(
|
|
8589
|
+
}, this.selectionCost = Object.values(this.stepSelections).reduce((m, I) => m + I.selectedVariants.map((F) => F.priceModifier || 0).reduce((F, y) => F + y, 0), 0), this.workflow.steps.forEach((m) => {
|
|
8590
|
+
ae(m, this.stepSelections) || (this.stepInitialised[m.stepName] = !1, delete this.stepMetadata[m.stepName], delete this.stepSelections[m.stepName], delete this.storage[m.stepName]);
|
|
8591
8591
|
});
|
|
8592
|
-
const i = this.allScenes, s = ce(i, n), o = ce(i, this.stepSelections), r = s.map((
|
|
8593
|
-
(
|
|
8592
|
+
const i = this.allScenes, s = ce(i, n), o = ce(i, this.stepSelections), r = s.map((m) => m.silentSteps).flat(), B = o.map((m) => m.silentSteps).flat().filter(
|
|
8593
|
+
(m) => !r.some((I) => I.stepName === m.stepName)
|
|
8594
8594
|
);
|
|
8595
|
-
r.forEach((
|
|
8596
|
-
ae(
|
|
8595
|
+
r.forEach((m) => {
|
|
8596
|
+
ae(m, this.stepSelections) || (this.stepInitialised[m.stepName] = !1);
|
|
8597
8597
|
});
|
|
8598
|
-
const
|
|
8598
|
+
const g = this.getInvalidCanvasRegions(), { stepElements: d, commands: C } = await this.stepElementsForIntroducedSilentSteps(B, !1);
|
|
8599
8599
|
this.stepElements = {
|
|
8600
8600
|
...this.stepElements,
|
|
8601
8601
|
...d,
|
|
8602
8602
|
[e]: A
|
|
8603
|
-
}, this.removeElements(
|
|
8604
|
-
const w = this.workflow.steps.find((
|
|
8603
|
+
}, this.removeElements(g);
|
|
8604
|
+
const w = this.workflow.steps.find((m) => m.stepName === e);
|
|
8605
8605
|
if ((w == null ? void 0 : w.type) === M.Frame) {
|
|
8606
|
-
const
|
|
8607
|
-
(p =
|
|
8606
|
+
const m = this.getStepSpecificServices(e);
|
|
8607
|
+
(p = m == null ? void 0 : m.frameService) == null || p.setTargetElements(A.map((I) => I.id));
|
|
8608
8608
|
}
|
|
8609
|
-
const h =
|
|
8609
|
+
const h = g.map((m) => new ne(m.id)), u = new Yt(this.constructSerializableWorkflow()), E = [...C, ...h, u];
|
|
8610
8610
|
E.length > 0 && this.commandContext.apply(new k(E), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
|
|
8611
|
-
const D = this.getInvalidModelVariants(),
|
|
8612
|
-
if (
|
|
8613
|
-
const
|
|
8614
|
-
(I) =>
|
|
8611
|
+
const D = this.getInvalidModelVariants(), Q = this.modelContainer;
|
|
8612
|
+
if (Q) {
|
|
8613
|
+
const m = D.map(
|
|
8614
|
+
(I) => Q.applyModelVariant(
|
|
8615
8615
|
I,
|
|
8616
8616
|
{
|
|
8617
8617
|
contextService: this.getLayoutPreviewService()
|
|
@@ -8619,7 +8619,7 @@ class Mn {
|
|
|
8619
8619
|
!1
|
|
8620
8620
|
)
|
|
8621
8621
|
);
|
|
8622
|
-
await Promise.all(
|
|
8622
|
+
await Promise.all(m);
|
|
8623
8623
|
}
|
|
8624
8624
|
await this.onSelectionChange(), a && await a();
|
|
8625
8625
|
}
|
|
@@ -8669,12 +8669,12 @@ class Mn {
|
|
|
8669
8669
|
break;
|
|
8670
8670
|
case M.Picture:
|
|
8671
8671
|
A.push(
|
|
8672
|
-
|
|
8672
|
+
mA.init(o, this, this.reloadedState)
|
|
8673
8673
|
);
|
|
8674
8674
|
break;
|
|
8675
8675
|
case M.Question:
|
|
8676
8676
|
A.push(
|
|
8677
|
-
|
|
8677
|
+
QA.init(o, this, this.reloadedState)
|
|
8678
8678
|
);
|
|
8679
8679
|
break;
|
|
8680
8680
|
case M.Shape:
|
|
@@ -9051,7 +9051,7 @@ class xn extends X {
|
|
|
9051
9051
|
* @returns A promise that can be awaited to ensure the new image asset has been updated on the design.
|
|
9052
9052
|
*/
|
|
9053
9053
|
selectVariant(e) {
|
|
9054
|
-
return
|
|
9054
|
+
return mA.selectVariant(
|
|
9055
9055
|
this.step,
|
|
9056
9056
|
e.getResource(),
|
|
9057
9057
|
this.manager,
|
|
@@ -9066,7 +9066,7 @@ class Nn extends X {
|
|
|
9066
9066
|
async selectVariant(e) {
|
|
9067
9067
|
if (!e.getId())
|
|
9068
9068
|
throw new Error("Unable to select variant with a null ID");
|
|
9069
|
-
await
|
|
9069
|
+
await QA.selectVariant(this.step, e.getId(), this.manager);
|
|
9070
9070
|
}
|
|
9071
9071
|
/**
|
|
9072
9072
|
* The way that this step expects to be rendered.
|
|
@@ -9419,7 +9419,7 @@ class ye {
|
|
|
9419
9419
|
case M.Model:
|
|
9420
9420
|
return new Pn(e, t, e.getStepTags(t.stepName));
|
|
9421
9421
|
case M.Frame:
|
|
9422
|
-
return new
|
|
9422
|
+
return new rs(e, t, e.getStepTags(t.stepName));
|
|
9423
9423
|
case M.Module:
|
|
9424
9424
|
return new Un(e, t, e.getStepTags(t.stepName));
|
|
9425
9425
|
default:
|
|
@@ -9499,11 +9499,11 @@ const MA = f`
|
|
|
9499
9499
|
}
|
|
9500
9500
|
}
|
|
9501
9501
|
`;
|
|
9502
|
-
function Te(
|
|
9503
|
-
const e = JSON.parse(atob(
|
|
9502
|
+
function Te(l) {
|
|
9503
|
+
const e = JSON.parse(atob(l.split(".")[1])).exp;
|
|
9504
9504
|
return Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3) >= e;
|
|
9505
9505
|
}
|
|
9506
|
-
const Jn = async (
|
|
9506
|
+
const Jn = async (l) => {
|
|
9507
9507
|
var i, s;
|
|
9508
9508
|
const t = ((i = Object.entries(localStorage).find(([o, r]) => o.startsWith("CognitoIdentityServiceProvider") && o.endsWith("idToken"))) == null ? void 0 : i[0]) || "", A = localStorage.getItem(t), a = {};
|
|
9509
9509
|
return A && !Te(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
|
|
@@ -9511,20 +9511,20 @@ const Jn = async (g) => {
|
|
|
9511
9511
|
errorPolicy: "all",
|
|
9512
9512
|
fetchPolicy: "no-cache",
|
|
9513
9513
|
variables: {
|
|
9514
|
-
name:
|
|
9515
|
-
layouts:
|
|
9516
|
-
workflowId:
|
|
9517
|
-
transactionId:
|
|
9518
|
-
previewImage:
|
|
9519
|
-
useThreeDimPreview:
|
|
9520
|
-
metadata:
|
|
9521
|
-
selectedVariants:
|
|
9514
|
+
name: l.name,
|
|
9515
|
+
layouts: l.layouts,
|
|
9516
|
+
workflowId: l.workflowId,
|
|
9517
|
+
transactionId: l.transactionId,
|
|
9518
|
+
previewImage: l.previewImage,
|
|
9519
|
+
useThreeDimPreview: l.useThreeDimPreview,
|
|
9520
|
+
metadata: l.metadata,
|
|
9521
|
+
selectedVariants: l.selectedVariants
|
|
9522
9522
|
},
|
|
9523
9523
|
context: {
|
|
9524
9524
|
headers: a
|
|
9525
9525
|
}
|
|
9526
9526
|
})).data) == null ? void 0 : s.designCreate;
|
|
9527
|
-
}, Tn = async (
|
|
9527
|
+
}, Tn = async (l) => {
|
|
9528
9528
|
var i, s;
|
|
9529
9529
|
const t = ((i = Object.entries(localStorage).find(([o, r]) => o.startsWith("CognitoIdentityServiceProvider") && o.endsWith("idToken"))) == null ? void 0 : i[0]) || "", A = localStorage.getItem(t), a = {};
|
|
9530
9530
|
return A && !Te(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
|
|
@@ -9532,7 +9532,7 @@ const Jn = async (g) => {
|
|
|
9532
9532
|
errorPolicy: "all",
|
|
9533
9533
|
fetchPolicy: "no-cache",
|
|
9534
9534
|
variables: {
|
|
9535
|
-
inputs:
|
|
9535
|
+
inputs: l.map((o) => ({
|
|
9536
9536
|
name: o.name,
|
|
9537
9537
|
layouts: o.layouts,
|
|
9538
9538
|
workflowId: o.workflowId,
|
|
@@ -9547,17 +9547,17 @@ const Jn = async (g) => {
|
|
|
9547
9547
|
headers: a
|
|
9548
9548
|
}
|
|
9549
9549
|
})).data) == null ? void 0 : s.designCreateMany;
|
|
9550
|
-
}, ct = (
|
|
9550
|
+
}, ct = (l, e, t) => {
|
|
9551
9551
|
const A = (n) => {
|
|
9552
9552
|
const i = {};
|
|
9553
9553
|
if (n.type === "Frame") {
|
|
9554
|
-
const s =
|
|
9554
|
+
const s = l[n.stepName], o = n.data;
|
|
9555
9555
|
if (!s || !s.image || o.hideImageInCart && t)
|
|
9556
9556
|
return i;
|
|
9557
9557
|
i[`${n.stepTitle} image`] = s.image;
|
|
9558
9558
|
}
|
|
9559
9559
|
if (n.type === "Illustration") {
|
|
9560
|
-
const s =
|
|
9560
|
+
const s = l[n.stepName], o = n.data;
|
|
9561
9561
|
if (!s || o.hideColorsInCart && t || !s.colors)
|
|
9562
9562
|
return i;
|
|
9563
9563
|
if (s.colors.length > 0) {
|
|
@@ -9566,13 +9566,13 @@ const Jn = async (g) => {
|
|
|
9566
9566
|
}
|
|
9567
9567
|
}
|
|
9568
9568
|
if (n.type === "Module") {
|
|
9569
|
-
const s =
|
|
9569
|
+
const s = l[n.stepName], o = n.data;
|
|
9570
9570
|
if (!s || s.text === void 0 || s.text === null || o.hideTextInCart && t)
|
|
9571
9571
|
return i;
|
|
9572
9572
|
i[`${n.stepTitle} text`] = s.text;
|
|
9573
9573
|
}
|
|
9574
9574
|
if (n.type === "Text") {
|
|
9575
|
-
const s =
|
|
9575
|
+
const s = l[n.stepName];
|
|
9576
9576
|
if (!s)
|
|
9577
9577
|
return i;
|
|
9578
9578
|
const o = n.data;
|
|
@@ -9583,14 +9583,14 @@ const Jn = async (g) => {
|
|
|
9583
9583
|
return e.steps.forEach((n) => {
|
|
9584
9584
|
Object.assign(a, A(n));
|
|
9585
9585
|
}), a;
|
|
9586
|
-
}, On = (
|
|
9586
|
+
}, On = (l, e, t, A) => {
|
|
9587
9587
|
const a = {};
|
|
9588
9588
|
let n = {};
|
|
9589
9589
|
t ? n = ct(t, e, !1) : A && (n = A);
|
|
9590
9590
|
const s = e.steps.map((o) => o.stepTitle).filter((o, r, c) => c.indexOf(o) == r);
|
|
9591
9591
|
for (const o of s) {
|
|
9592
|
-
if (Object.keys(
|
|
9593
|
-
const r =
|
|
9592
|
+
if (Object.keys(l).includes(o)) {
|
|
9593
|
+
const r = l[o], c = e.steps.find((B) => B.stepTitle === o);
|
|
9594
9594
|
a[`${c == null ? void 0 : c.stepTitle} selection`] = {
|
|
9595
9595
|
value: r[0].name,
|
|
9596
9596
|
priceModifier: r[0].priceModifier
|
|
@@ -9603,39 +9603,39 @@ const Jn = async (g) => {
|
|
|
9603
9603
|
});
|
|
9604
9604
|
}
|
|
9605
9605
|
return a;
|
|
9606
|
-
}, SA = (
|
|
9606
|
+
}, SA = (l, e, t, A, a, n, i, s) => {
|
|
9607
9607
|
var C, w;
|
|
9608
|
-
const o = e.basePrice || 0, r =
|
|
9609
|
-
additionalExternalProductId: (C =
|
|
9610
|
-
additionalExternalVariantId: (w =
|
|
9608
|
+
const o = e.basePrice || 0, r = l.priceModifierTotal || 0, c = On(A, t, void 0, n), g = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(l.id), d = {
|
|
9609
|
+
additionalExternalProductId: (C = l.integrationProduct) == null ? void 0 : C.additionalExternalProductId,
|
|
9610
|
+
additionalExternalVariantId: (w = l.integrationProduct) == null ? void 0 : w.additionalExternalVariantId,
|
|
9611
9611
|
baseCost: o,
|
|
9612
|
-
designExternalVariants:
|
|
9613
|
-
designProductId:
|
|
9614
|
-
designProductVariantId:
|
|
9612
|
+
designExternalVariants: l.designExternalVariants,
|
|
9613
|
+
designProductId: l.externalDesignProductId,
|
|
9614
|
+
designProductVariantId: l.externalDesignProductVariantId,
|
|
9615
9615
|
event: "onComplete",
|
|
9616
9616
|
exportedData: c,
|
|
9617
|
-
externalCartProductId:
|
|
9618
|
-
externalCartProductVariantId:
|
|
9617
|
+
externalCartProductId: l.externalCartProductId,
|
|
9618
|
+
externalCartProductVariantId: l.externalCartProductVariantId,
|
|
9619
9619
|
lineItemImageUrl: i || "",
|
|
9620
9620
|
optionsCost: r,
|
|
9621
9621
|
processExecutionId: s,
|
|
9622
|
-
quantity:
|
|
9623
|
-
transactionId:
|
|
9624
|
-
transactionOwnerId:
|
|
9622
|
+
quantity: l.quantity,
|
|
9623
|
+
transactionId: l.id,
|
|
9624
|
+
transactionOwnerId: g,
|
|
9625
9625
|
weight: e.weight,
|
|
9626
|
-
workflowViewerLink:
|
|
9627
|
-
workflowViewerReadOnlyLink:
|
|
9626
|
+
workflowViewerLink: l.workflowViewerLink || "",
|
|
9627
|
+
workflowViewerReadOnlyLink: l.workflowViewerReadOnlyLink || ""
|
|
9628
9628
|
};
|
|
9629
9629
|
return n && (d.metadata = n), A && (d.selectedVariants = A), a && (d.sku = a), d;
|
|
9630
|
-
}, YA = async (
|
|
9630
|
+
}, YA = async (l, e, t, A, a, n, i, s, o, r) => {
|
|
9631
9631
|
var F;
|
|
9632
9632
|
await (async () => {
|
|
9633
9633
|
var R;
|
|
9634
9634
|
if (r !== void 0)
|
|
9635
9635
|
return r;
|
|
9636
|
-
await
|
|
9636
|
+
await l.outstandingRequestsPromise();
|
|
9637
9637
|
const Y = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(a.id), S = await x.getShadowGraphqlClient().query({
|
|
9638
|
-
query:
|
|
9638
|
+
query: lA,
|
|
9639
9639
|
variables: { ids: [a.id] },
|
|
9640
9640
|
fetchPolicy: "no-cache",
|
|
9641
9641
|
errorPolicy: "all",
|
|
@@ -9646,8 +9646,8 @@ const Jn = async (g) => {
|
|
|
9646
9646
|
return S.errors ? (S.errors.forEach((W) => {
|
|
9647
9647
|
S.errors && console.log("Server Error:", W.message);
|
|
9648
9648
|
}), null) : T ?? null;
|
|
9649
|
-
})() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(A())), await
|
|
9650
|
-
const
|
|
9649
|
+
})() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(A())), await l.updateStateWithServerImmediate(A), console.log("Server state is undefined @ Workflow completion"));
|
|
9650
|
+
const g = l.getPreviewService(), d = (F = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : F.lookAtAnimation, C = g && e.showModelOnFinishStep && !!d, w = o && ct(o, e, !0), h = o && ct(o, e, !1), u = async (y) => {
|
|
9651
9651
|
const Y = {};
|
|
9652
9652
|
let N = 0;
|
|
9653
9653
|
if (Object.keys(n).length > 0)
|
|
@@ -9675,16 +9675,16 @@ const Jn = async (g) => {
|
|
|
9675
9675
|
return [Y, N];
|
|
9676
9676
|
}, [E] = await u(!0), D = Object.fromEntries(
|
|
9677
9677
|
Object.keys(E).map((y) => [y, E[y].map((Y) => Y.id)])
|
|
9678
|
-
), [
|
|
9679
|
-
Object.keys(
|
|
9678
|
+
), [Q] = await u(!1), p = Object.fromEntries(
|
|
9679
|
+
Object.keys(Q).map((y) => [
|
|
9680
9680
|
y,
|
|
9681
|
-
|
|
9681
|
+
Q[y].map((Y) => Y.id)
|
|
9682
9682
|
])
|
|
9683
9683
|
);
|
|
9684
|
-
let
|
|
9685
|
-
if (
|
|
9686
|
-
const y = await (await fetch(
|
|
9687
|
-
|
|
9684
|
+
let m = await s(C, a.id);
|
|
9685
|
+
if (m) {
|
|
9686
|
+
const y = await (await fetch(m)).blob();
|
|
9687
|
+
m = (await U.uploadAsset(
|
|
9688
9688
|
{ name: `${a.id}-preview-image.png`, blob: y },
|
|
9689
9689
|
At.Image,
|
|
9690
9690
|
!0,
|
|
@@ -9702,7 +9702,7 @@ const Jn = async (g) => {
|
|
|
9702
9702
|
workflowId: e.id,
|
|
9703
9703
|
transactionId: a.id,
|
|
9704
9704
|
useThreeDimPreview: !!C,
|
|
9705
|
-
previewImage:
|
|
9705
|
+
previewImage: m
|
|
9706
9706
|
};
|
|
9707
9707
|
if (h) {
|
|
9708
9708
|
const Y = [];
|
|
@@ -9721,11 +9721,11 @@ const Jn = async (g) => {
|
|
|
9721
9721
|
cartSelectionsWithPrices: E,
|
|
9722
9722
|
cartMetadata: w
|
|
9723
9723
|
};
|
|
9724
|
-
}, Ln = async (
|
|
9724
|
+
}, Ln = async (l, e, t, A, a, n, i, s, o, r, c) => {
|
|
9725
9725
|
var u, E;
|
|
9726
9726
|
o("workflow.steps.finish.finalize.buildingLayouts");
|
|
9727
|
-
const { designDetails: B, cartSelectionsWithPrices:
|
|
9728
|
-
|
|
9727
|
+
const { designDetails: B, cartSelectionsWithPrices: g, cartMetadata: d } = await YA(
|
|
9728
|
+
l,
|
|
9729
9729
|
e,
|
|
9730
9730
|
t,
|
|
9731
9731
|
A,
|
|
@@ -9745,23 +9745,23 @@ const Jn = async (g) => {
|
|
|
9745
9745
|
h,
|
|
9746
9746
|
a,
|
|
9747
9747
|
e,
|
|
9748
|
-
|
|
9748
|
+
g,
|
|
9749
9749
|
C == null ? void 0 : C.sku,
|
|
9750
9750
|
d,
|
|
9751
9751
|
w,
|
|
9752
9752
|
(E = C == null ? void 0 : C.processExecution) == null ? void 0 : E.id
|
|
9753
9753
|
);
|
|
9754
|
-
}, zn = async (
|
|
9754
|
+
}, zn = async (l, e, t) => {
|
|
9755
9755
|
e("workflow.steps.finish.finalize.buildingLayouts"), await Promise.all(
|
|
9756
|
-
|
|
9756
|
+
l.map(async (s) => {
|
|
9757
9757
|
await s.workflowManager.outstandingRequestsPromise();
|
|
9758
9758
|
})
|
|
9759
9759
|
);
|
|
9760
9760
|
const a = await (async () => {
|
|
9761
9761
|
var r;
|
|
9762
9762
|
const o = await x.getShadowGraphqlClient().query({
|
|
9763
|
-
query:
|
|
9764
|
-
variables: { ids:
|
|
9763
|
+
query: lA,
|
|
9764
|
+
variables: { ids: l.map((c) => c.transaction.id) },
|
|
9765
9765
|
fetchPolicy: "no-cache",
|
|
9766
9766
|
errorPolicy: "all"
|
|
9767
9767
|
});
|
|
@@ -9769,7 +9769,7 @@ const Jn = async (g) => {
|
|
|
9769
9769
|
o.errors && console.log("Server Error:", c.message);
|
|
9770
9770
|
}), null) : (r = o.data) != null && r.transactions ? o.data.transactions.map((c) => c.workflowState ?? null) : null;
|
|
9771
9771
|
})(), n = await Promise.all(
|
|
9772
|
-
|
|
9772
|
+
l.map(async (s, o) => await YA(
|
|
9773
9773
|
s.workflowManager,
|
|
9774
9774
|
s.workflow,
|
|
9775
9775
|
s.layouts,
|
|
@@ -9787,8 +9787,8 @@ const Jn = async (g) => {
|
|
|
9787
9787
|
if (!i)
|
|
9788
9788
|
throw new Error("Failed to create designs");
|
|
9789
9789
|
return e("workflow.steps.finish.finalize.updatingTransaction"), i.map((s, o) => {
|
|
9790
|
-
var
|
|
9791
|
-
const r =
|
|
9790
|
+
var g;
|
|
9791
|
+
const r = l[o], c = n[o], B = s.transaction;
|
|
9792
9792
|
return SA(
|
|
9793
9793
|
B,
|
|
9794
9794
|
r.product,
|
|
@@ -9798,7 +9798,7 @@ const Jn = async (g) => {
|
|
|
9798
9798
|
c.cartMetadata,
|
|
9799
9799
|
//lineItemImageLink,
|
|
9800
9800
|
void 0,
|
|
9801
|
-
(
|
|
9801
|
+
(g = s.processExecution) == null ? void 0 : g.id
|
|
9802
9802
|
);
|
|
9803
9803
|
});
|
|
9804
9804
|
};
|
|
@@ -9884,7 +9884,7 @@ const $e = new Kn(), jn = f`
|
|
|
9884
9884
|
}
|
|
9885
9885
|
}
|
|
9886
9886
|
`;
|
|
9887
|
-
var Vn = /* @__PURE__ */ ((
|
|
9887
|
+
var Vn = /* @__PURE__ */ ((l) => (l.QuantityChanged = "QuantityChanged", l.PriceBreakChanged = "PriceBreakChanged", l))(Vn || {});
|
|
9888
9888
|
class Me {
|
|
9889
9889
|
constructor(e, t) {
|
|
9890
9890
|
var a;
|
|
@@ -9974,9 +9974,9 @@ class Me {
|
|
|
9974
9974
|
}
|
|
9975
9975
|
let n = 2048;
|
|
9976
9976
|
t && t <= 2048 && (n = t);
|
|
9977
|
-
const i = He(n, n), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], c = s.find((
|
|
9977
|
+
const i = He(n, n), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], c = s.find((Q) => {
|
|
9978
9978
|
var p;
|
|
9979
|
-
return ((p =
|
|
9979
|
+
return ((p = Q.layoutState) == null ? void 0 : p.layout.panelId) === (r == null ? void 0 : r.name);
|
|
9980
9980
|
}) || s[0], B = c.layoutState.layout.previewRegion ? {
|
|
9981
9981
|
x: c.layoutState.layout.previewRegion.left,
|
|
9982
9982
|
y: c.layoutState.layout.previewRegion.top,
|
|
@@ -9987,10 +9987,10 @@ class Me {
|
|
|
9987
9987
|
y: 0,
|
|
9988
9988
|
width: c.layoutState.layout.width,
|
|
9989
9989
|
height: c.layoutState.layout.height
|
|
9990
|
-
},
|
|
9990
|
+
}, g = this.commandContext.getLayoutById(c.layoutState.layout.id), d = i.getContext("2d");
|
|
9991
9991
|
if (!d)
|
|
9992
9992
|
throw new je("Failed to obtain 2D context for preview image creation");
|
|
9993
|
-
const C = zt(
|
|
9993
|
+
const C = zt(g.layoutState.layout, g.layoutState.elements, {
|
|
9994
9994
|
renderingConfiguration: {
|
|
9995
9995
|
purpose: Kt.Print,
|
|
9996
9996
|
region: { left: B.x, top: B.y, width: B.width, height: B.height }
|
|
@@ -10002,7 +10002,7 @@ class Me {
|
|
|
10002
10002
|
createCanvas: He,
|
|
10003
10003
|
createImage: Vt,
|
|
10004
10004
|
DOMParser: Wt(),
|
|
10005
|
-
fetch:
|
|
10005
|
+
fetch: lt
|
|
10006
10006
|
})).render();
|
|
10007
10007
|
const u = await this.getCanvasObjectURLAsync(i);
|
|
10008
10008
|
return i.toDataURL(u);
|
|
@@ -10098,17 +10098,17 @@ class Me {
|
|
|
10098
10098
|
const a = await e.getGlobalProperties(), n = A == null ? void 0 : A.map((r) => r.getId()), i = this.getSteps().filter((r) => n === void 0 || n.includes(r.getId())), s = t.getSteps(), o = (r) => a.find((c) => c.getRawProperty().name === r.aspectName);
|
|
10099
10099
|
i.forEach((r) => {
|
|
10100
10100
|
const c = /* @__PURE__ */ new Set(), B = r.getRaw().globalPropertyAspectConfigurations;
|
|
10101
|
-
B !== void 0 && (B.forEach((
|
|
10102
|
-
const d =
|
|
10101
|
+
B !== void 0 && (B.forEach((g) => c.add(JSON.stringify(g))), s.forEach((g) => {
|
|
10102
|
+
const d = g.getRaw().globalPropertyAspectConfigurations;
|
|
10103
10103
|
d !== void 0 && d.forEach((C) => {
|
|
10104
10104
|
const w = o(C), h = c.has(JSON.stringify(C));
|
|
10105
10105
|
if (h && (w == null ? void 0 : w.getType()) === "Option") {
|
|
10106
|
-
const u =
|
|
10106
|
+
const u = g.getCurrentVariant();
|
|
10107
10107
|
if (!u)
|
|
10108
10108
|
return;
|
|
10109
10109
|
r.selectVariant(u), c.delete(JSON.stringify(C));
|
|
10110
10110
|
} else if (h && (w == null ? void 0 : w.getType()) === "Text") {
|
|
10111
|
-
const u =
|
|
10111
|
+
const u = g.getText();
|
|
10112
10112
|
r.setText(u), c.delete(JSON.stringify(C));
|
|
10113
10113
|
}
|
|
10114
10114
|
});
|
|
@@ -10188,10 +10188,10 @@ class Me {
|
|
|
10188
10188
|
}
|
|
10189
10189
|
async copy() {
|
|
10190
10190
|
var s;
|
|
10191
|
-
const e =
|
|
10191
|
+
const e = le(this.getCommandContext().getState());
|
|
10192
10192
|
if (!e)
|
|
10193
10193
|
throw new b("Internal state is undefined! Cannot copy experience!");
|
|
10194
|
-
const t = JSON.stringify(e.transaction), A = this.getWorkflowManager().getWorkflow(), a = new
|
|
10194
|
+
const t = JSON.stringify(e.transaction), A = this.getWorkflowManager().getWorkflow(), a = new ss({}), n = (s = this.getWorkflowManager().getTransaction().integrationProduct) == null ? void 0 : s.id;
|
|
10195
10195
|
if (!n)
|
|
10196
10196
|
throw new b("Integration product id is undefined!");
|
|
10197
10197
|
return await a.initFromIntegrationProduct(n), await a.getWorkflowExperience(A.id, t, void 0);
|
|
@@ -10288,11 +10288,11 @@ const Wn = [
|
|
|
10288
10288
|
"textPath",
|
|
10289
10289
|
"tref",
|
|
10290
10290
|
"tspan"
|
|
10291
|
-
], Xn = async (
|
|
10291
|
+
], Xn = async (l, e, t) => {
|
|
10292
10292
|
const A = e.data, a = t.data.baseUrl, n = A.assetUrl.replace("localhost", "localstack"), i = a.slice(0, 4) === "http" ? "" : "https://", s = new URL(i + a);
|
|
10293
10293
|
s.searchParams.append("video", Pt(JSON.stringify([{ href: n }]))), s.pathname = s.pathname + (s.pathname.slice(-1) === "/" ? "" : "/");
|
|
10294
10294
|
const o = s.toString(), c = `data:image/svg+xml;base64,${Pt(await tA(o, { type: "svg" }))}`, B = (d) => {
|
|
10295
|
-
const C =
|
|
10295
|
+
const C = l.find((h) => h.panelId === d.panelId);
|
|
10296
10296
|
if (!C)
|
|
10297
10297
|
throw new z(d);
|
|
10298
10298
|
const w = J();
|
|
@@ -10309,13 +10309,13 @@ const Wn = [
|
|
|
10309
10309
|
},
|
|
10310
10310
|
C
|
|
10311
10311
|
);
|
|
10312
|
-
},
|
|
10312
|
+
}, g = t.data.regions;
|
|
10313
10313
|
try {
|
|
10314
|
-
return
|
|
10314
|
+
return g.map(B);
|
|
10315
10315
|
} catch (d) {
|
|
10316
10316
|
return console.error(d), [];
|
|
10317
10317
|
}
|
|
10318
|
-
}, qn = async (
|
|
10318
|
+
}, qn = async (l, e, t, A) => {
|
|
10319
10319
|
const a = t.data, n = a.assetUrl, i = await nt(n);
|
|
10320
10320
|
try {
|
|
10321
10321
|
const s = _A(a, A.option);
|
|
@@ -10328,7 +10328,7 @@ const Wn = [
|
|
|
10328
10328
|
height: 1
|
|
10329
10329
|
},
|
|
10330
10330
|
(w = s == null ? void 0 : s.asset) == null ? void 0 : w.fileLink
|
|
10331
|
-
), B = await
|
|
10331
|
+
), B = await gt(c), g = J(), d = l.find((h) => h.panelId === r.panelId);
|
|
10332
10332
|
if (!d)
|
|
10333
10333
|
throw new z(r);
|
|
10334
10334
|
const C = Bt(i, B, {
|
|
@@ -10339,7 +10339,7 @@ const Wn = [
|
|
|
10339
10339
|
return [
|
|
10340
10340
|
new L(
|
|
10341
10341
|
{
|
|
10342
|
-
id:
|
|
10342
|
+
id: g,
|
|
10343
10343
|
path: B.path,
|
|
10344
10344
|
dataWidth: B.width,
|
|
10345
10345
|
dataHeight: B.height,
|
|
@@ -10361,15 +10361,15 @@ const Wn = [
|
|
|
10361
10361
|
},
|
|
10362
10362
|
d
|
|
10363
10363
|
),
|
|
10364
|
-
new Lt(
|
|
10364
|
+
new Lt(g, i, C)
|
|
10365
10365
|
];
|
|
10366
10366
|
};
|
|
10367
10367
|
return (await Promise.all(A.data.regions.map((r) => o(r)))).flat();
|
|
10368
10368
|
} catch (s) {
|
|
10369
10369
|
return console.error(s), [];
|
|
10370
10370
|
}
|
|
10371
|
-
}, Zn = async (
|
|
10372
|
-
var p,
|
|
10371
|
+
}, Zn = async (l, e, t, A) => {
|
|
10372
|
+
var p, m;
|
|
10373
10373
|
const a = t.data, n = A.option;
|
|
10374
10374
|
if (!n)
|
|
10375
10375
|
return console.error(`No option for step ${A.stepName}.`), [];
|
|
@@ -10379,7 +10379,7 @@ const Wn = [
|
|
|
10379
10379
|
if (!i.asset)
|
|
10380
10380
|
return console.error(`No asset for variant with ID: ${a.illustrationVariantId}`), [];
|
|
10381
10381
|
e[A.stepName] = { selectedVariants: [i] };
|
|
10382
|
-
const s = (
|
|
10382
|
+
const s = (m = i.asset) == null ? void 0 : m.fileLink;
|
|
10383
10383
|
if (!s)
|
|
10384
10384
|
return console.error(`No asset link for variant with ID: ${a.illustrationVariantId}`), [];
|
|
10385
10385
|
const o = await _(s, !0), r = /<svg.*?<\/svg>/s, c = o.match(r) || [], B = (c == null ? void 0 : c.length) > 0 ? c[0] : "", C = Xt().parseFromString(B, "image/svg+xml").firstElementChild;
|
|
@@ -10410,7 +10410,7 @@ const Wn = [
|
|
|
10410
10410
|
}
|
|
10411
10411
|
}
|
|
10412
10412
|
const D = (I) => {
|
|
10413
|
-
const F =
|
|
10413
|
+
const F = l.find((Y) => Y.panelId === I.panelId);
|
|
10414
10414
|
if (!F)
|
|
10415
10415
|
throw new z(I);
|
|
10416
10416
|
const y = J();
|
|
@@ -10431,15 +10431,15 @@ const Wn = [
|
|
|
10431
10431
|
},
|
|
10432
10432
|
F
|
|
10433
10433
|
);
|
|
10434
|
-
},
|
|
10434
|
+
}, Q = A.data.regions;
|
|
10435
10435
|
try {
|
|
10436
|
-
return
|
|
10436
|
+
return Q.map(D);
|
|
10437
10437
|
} catch (I) {
|
|
10438
10438
|
return console.error(I), [];
|
|
10439
10439
|
}
|
|
10440
|
-
}, $n = async (
|
|
10440
|
+
}, $n = async (l, e, t) => {
|
|
10441
10441
|
const A = await FA(t.data.module), a = e.data, n = (s, o) => {
|
|
10442
|
-
const r =
|
|
10442
|
+
const r = l.find((B) => B.panelId === o.panelId);
|
|
10443
10443
|
if (!r)
|
|
10444
10444
|
throw new z(o);
|
|
10445
10445
|
const c = J();
|
|
@@ -10467,12 +10467,12 @@ const Wn = [
|
|
|
10467
10467
|
} catch (s) {
|
|
10468
10468
|
return console.error(s), [];
|
|
10469
10469
|
}
|
|
10470
|
-
}, _n = async (
|
|
10470
|
+
}, _n = async (l, e, t, A) => {
|
|
10471
10471
|
var c, B;
|
|
10472
10472
|
const a = t.data, n = A.option;
|
|
10473
10473
|
if (!n)
|
|
10474
10474
|
return console.error(`No option for step ${A.stepName}.`), [];
|
|
10475
|
-
const i = ((c = n.variants) == null ? void 0 : c.find((
|
|
10475
|
+
const i = ((c = n.variants) == null ? void 0 : c.find((g) => g.id === a.pictureVariantId)) || ze(n);
|
|
10476
10476
|
if (!i)
|
|
10477
10477
|
return console.error(`No variant with ID: ${a.pictureVariantId}`), [];
|
|
10478
10478
|
if (!i.asset)
|
|
@@ -10481,24 +10481,24 @@ const Wn = [
|
|
|
10481
10481
|
const s = (B = i.asset) == null ? void 0 : B.fileLink;
|
|
10482
10482
|
if (!s)
|
|
10483
10483
|
return console.error(`No asset link for variant with ID: ${a.pictureVariantId}`), [];
|
|
10484
|
-
const o = (
|
|
10485
|
-
const d =
|
|
10484
|
+
const o = (g) => {
|
|
10485
|
+
const d = l.find((w) => w.panelId === g.panelId);
|
|
10486
10486
|
if (!d)
|
|
10487
|
-
throw new z(
|
|
10487
|
+
throw new z(g);
|
|
10488
10488
|
const C = J();
|
|
10489
10489
|
return new L(
|
|
10490
10490
|
{
|
|
10491
10491
|
id: C,
|
|
10492
10492
|
src: s,
|
|
10493
10493
|
type: G.Image,
|
|
10494
|
-
y:
|
|
10495
|
-
x:
|
|
10496
|
-
rotation:
|
|
10497
|
-
width:
|
|
10498
|
-
height:
|
|
10499
|
-
layer:
|
|
10500
|
-
layerIndex:
|
|
10501
|
-
immutable:
|
|
10494
|
+
y: g.top,
|
|
10495
|
+
x: g.left,
|
|
10496
|
+
rotation: g.rotation,
|
|
10497
|
+
width: g.width,
|
|
10498
|
+
height: g.height,
|
|
10499
|
+
layer: g.layer,
|
|
10500
|
+
layerIndex: g.layerIndex,
|
|
10501
|
+
immutable: g.immutable,
|
|
10502
10502
|
preserveAspectRatio: "none"
|
|
10503
10503
|
},
|
|
10504
10504
|
d
|
|
@@ -10506,10 +10506,10 @@ const Wn = [
|
|
|
10506
10506
|
}, r = A.data.regions;
|
|
10507
10507
|
try {
|
|
10508
10508
|
return r.map(o);
|
|
10509
|
-
} catch (
|
|
10510
|
-
return console.error(
|
|
10509
|
+
} catch (g) {
|
|
10510
|
+
return console.error(g), [];
|
|
10511
10511
|
}
|
|
10512
|
-
}, ei = async (
|
|
10512
|
+
}, ei = async (l, e, t, A) => {
|
|
10513
10513
|
var r;
|
|
10514
10514
|
const a = t.data, n = A.option;
|
|
10515
10515
|
if (!n)
|
|
@@ -10519,10 +10519,10 @@ const Wn = [
|
|
|
10519
10519
|
return console.error(`No variant with ID: ${a.colorVariantId}`), [];
|
|
10520
10520
|
e[A.stepName] = { selectedVariants: [i] };
|
|
10521
10521
|
const s = (c) => {
|
|
10522
|
-
const B =
|
|
10522
|
+
const B = l.find((h) => h.panelId === c.panelId);
|
|
10523
10523
|
if (!B)
|
|
10524
10524
|
throw new z(c);
|
|
10525
|
-
const
|
|
10525
|
+
const g = `
|
|
10526
10526
|
<svg
|
|
10527
10527
|
xmlns="http://www.w3.org/2000/svg"
|
|
10528
10528
|
xmlnsXlink="http://www.w3.org/1999/xlink"
|
|
@@ -10547,7 +10547,7 @@ const Wn = [
|
|
|
10547
10547
|
{
|
|
10548
10548
|
colors: C,
|
|
10549
10549
|
id: w,
|
|
10550
|
-
svg:
|
|
10550
|
+
svg: g,
|
|
10551
10551
|
type: G.Illustration,
|
|
10552
10552
|
y: c.top,
|
|
10553
10553
|
x: c.left,
|
|
@@ -10566,7 +10566,7 @@ const Wn = [
|
|
|
10566
10566
|
} catch (c) {
|
|
10567
10567
|
return console.error(c), [];
|
|
10568
10568
|
}
|
|
10569
|
-
}, ti = async (
|
|
10569
|
+
}, ti = async (l, e, t) => {
|
|
10570
10570
|
const A = [], n = (() => {
|
|
10571
10571
|
var r, c;
|
|
10572
10572
|
return e.type === M.ProductOverlay ? t || ((r = e.data.asset) == null ? void 0 : r.fileLink) || "" : ((c = e.data.asset) == null ? void 0 : c.fileLink) || "";
|
|
@@ -10574,7 +10574,7 @@ const Wn = [
|
|
|
10574
10574
|
if (s === "image")
|
|
10575
10575
|
try {
|
|
10576
10576
|
o.forEach((r) => {
|
|
10577
|
-
const c =
|
|
10577
|
+
const c = l.find((g) => g.panelId === r.panelId);
|
|
10578
10578
|
if (!c)
|
|
10579
10579
|
throw new z(r);
|
|
10580
10580
|
const B = {
|
|
@@ -10601,14 +10601,14 @@ const Wn = [
|
|
|
10601
10601
|
}
|
|
10602
10602
|
else {
|
|
10603
10603
|
const r = await _(n, !0), c = (B) => {
|
|
10604
|
-
const
|
|
10604
|
+
const g = /<svg.*?<\/svg>/s, d = B.match(g) || [], C = (d == null ? void 0 : d.length) > 0 ? d[0] : "", u = Xt().parseFromString(C, "image/svg+xml").firstElementChild;
|
|
10605
10605
|
if (!u)
|
|
10606
10606
|
throw new he("Failed to read SVG.");
|
|
10607
10607
|
return qt(u), Zt().serializeToString(u);
|
|
10608
10608
|
};
|
|
10609
10609
|
o.forEach((B) => {
|
|
10610
|
-
const
|
|
10611
|
-
if (!
|
|
10610
|
+
const g = l.find((C) => C.panelId === B.panelId);
|
|
10611
|
+
if (!g)
|
|
10612
10612
|
throw new z(B);
|
|
10613
10613
|
const d = {
|
|
10614
10614
|
id: J(),
|
|
@@ -10629,17 +10629,17 @@ const Wn = [
|
|
|
10629
10629
|
productOverlay: e.type === M.ProductOverlay ? !0 : void 0,
|
|
10630
10630
|
excludeFromExport: e.data.excludeFromPrint
|
|
10631
10631
|
};
|
|
10632
|
-
A.push(new L(d,
|
|
10632
|
+
A.push(new L(d, g));
|
|
10633
10633
|
});
|
|
10634
10634
|
}
|
|
10635
10635
|
return A;
|
|
10636
|
-
}, Ai = async (
|
|
10636
|
+
}, Ai = async (l, e, t, A) => {
|
|
10637
10637
|
const a = [], n = t.data, i = 30, s = (h) => h.vertical ? "center" : h.textAlign || "center", o = () => {
|
|
10638
10638
|
var D;
|
|
10639
10639
|
const h = A.option;
|
|
10640
10640
|
if (!h)
|
|
10641
10641
|
return;
|
|
10642
|
-
const u = ((D = h.variants) == null ? void 0 : D.find((
|
|
10642
|
+
const u = ((D = h.variants) == null ? void 0 : D.find((Q) => Q.id === n.fontVariantId)) || ze(h);
|
|
10643
10643
|
if (!u || !u.asset)
|
|
10644
10644
|
return;
|
|
10645
10645
|
e[A.stepName] = { selectedVariants: [u] };
|
|
@@ -10655,7 +10655,7 @@ const Wn = [
|
|
|
10655
10655
|
assetUrl: h,
|
|
10656
10656
|
name: u.names.fullName.en
|
|
10657
10657
|
};
|
|
10658
|
-
})(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "",
|
|
10658
|
+
})(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "", g = it(B, {
|
|
10659
10659
|
vertical: A.data.vertical,
|
|
10660
10660
|
uppercase: A.data.uppercase
|
|
10661
10661
|
}), d = async (h) => {
|
|
@@ -10666,7 +10666,7 @@ const Wn = [
|
|
|
10666
10666
|
return E == null ? void 0 : E.color;
|
|
10667
10667
|
}, C = n.color || await d(A.data), w = A.data.regions;
|
|
10668
10668
|
for (const h of w) {
|
|
10669
|
-
const u =
|
|
10669
|
+
const u = l.find((D) => D.panelId === h.panelId);
|
|
10670
10670
|
if (!u)
|
|
10671
10671
|
continue;
|
|
10672
10672
|
const E = {
|
|
@@ -10682,7 +10682,7 @@ const Wn = [
|
|
|
10682
10682
|
layerIndex: h.layerIndex,
|
|
10683
10683
|
paths: A.data.paths,
|
|
10684
10684
|
rotation: h.rotation,
|
|
10685
|
-
text:
|
|
10685
|
+
text: g,
|
|
10686
10686
|
type: G.Textbox,
|
|
10687
10687
|
vertical: A.data.vertical,
|
|
10688
10688
|
verticalAlign: A.data.verticalAlign || "middle",
|
|
@@ -10691,12 +10691,12 @@ const Wn = [
|
|
|
10691
10691
|
y: h.top
|
|
10692
10692
|
};
|
|
10693
10693
|
if (c) {
|
|
10694
|
-
const [D,
|
|
10694
|
+
const [D, Q] = xe(
|
|
10695
10695
|
A.data.size || i,
|
|
10696
10696
|
c,
|
|
10697
10697
|
h,
|
|
10698
10698
|
[
|
|
10699
|
-
it(
|
|
10699
|
+
it(g, {
|
|
10700
10700
|
vertical: A.data.vertical,
|
|
10701
10701
|
uppercase: A.data.uppercase
|
|
10702
10702
|
})
|
|
@@ -10712,7 +10712,7 @@ const Wn = [
|
|
|
10712
10712
|
{
|
|
10713
10713
|
...E,
|
|
10714
10714
|
fontSize: D,
|
|
10715
|
-
text: E.curved ? E.text : (
|
|
10715
|
+
text: E.curved ? E.text : (Q || []).join(`
|
|
10716
10716
|
`)
|
|
10717
10717
|
},
|
|
10718
10718
|
u
|
|
@@ -10722,7 +10722,7 @@ const Wn = [
|
|
|
10722
10722
|
a.push(new L(E, u));
|
|
10723
10723
|
}
|
|
10724
10724
|
return a;
|
|
10725
|
-
}, ai = (
|
|
10725
|
+
}, ai = (l, e) => l.conditions ? l.conditions.every((t) => {
|
|
10726
10726
|
const A = e[t.targetStepName];
|
|
10727
10727
|
if (A && A.selectedVariants) {
|
|
10728
10728
|
const a = A.selectedVariants;
|
|
@@ -10731,9 +10731,9 @@ const Wn = [
|
|
|
10731
10731
|
);
|
|
10732
10732
|
}
|
|
10733
10733
|
return !1;
|
|
10734
|
-
}) : !0, ni = async (
|
|
10734
|
+
}) : !0, ni = async (l, e, t, A) => {
|
|
10735
10735
|
const a = [], n = {};
|
|
10736
|
-
for (const i of
|
|
10736
|
+
for (const i of l) {
|
|
10737
10737
|
const s = e.steps.find((o) => o.stepName === i.name);
|
|
10738
10738
|
if (s)
|
|
10739
10739
|
switch (s.type) {
|
|
@@ -10805,12 +10805,12 @@ class Se {
|
|
|
10805
10805
|
return this.layouts;
|
|
10806
10806
|
}
|
|
10807
10807
|
}
|
|
10808
|
-
const ii = () => new Promise((
|
|
10808
|
+
const ii = () => new Promise((l, e) => {
|
|
10809
10809
|
try {
|
|
10810
10810
|
const A = He().getContext("webgl2");
|
|
10811
|
-
|
|
10811
|
+
l(!!A);
|
|
10812
10812
|
} catch {
|
|
10813
|
-
|
|
10813
|
+
l(!1);
|
|
10814
10814
|
}
|
|
10815
10815
|
}), si = ii();
|
|
10816
10816
|
class oi {
|
|
@@ -10861,7 +10861,7 @@ class oi {
|
|
|
10861
10861
|
* Actions to perform when a static render event is fired for this canvas.
|
|
10862
10862
|
*/
|
|
10863
10863
|
async render(e) {
|
|
10864
|
-
const t =
|
|
10864
|
+
const t = le(e);
|
|
10865
10865
|
this.lastRequestedRenderArguments = t;
|
|
10866
10866
|
const A = this.getStaticContext();
|
|
10867
10867
|
if (!A) {
|
|
@@ -10934,7 +10934,7 @@ class ri extends BA {
|
|
|
10934
10934
|
o = n.width, r = n.height;
|
|
10935
10935
|
const c = zt(e.layoutState.layout, t, {
|
|
10936
10936
|
renderingConfiguration: { purpose: Kt.ThreeD }
|
|
10937
|
-
}), B = jt(c),
|
|
10937
|
+
}), B = jt(c), g = await $t.from(this.ctx, B, {
|
|
10938
10938
|
anonymousCrossOrigin: !0,
|
|
10939
10939
|
ignoreDimensions: !this.nonPOTSupport,
|
|
10940
10940
|
ignoreAnimation: !0,
|
|
@@ -10944,14 +10944,14 @@ class ri extends BA {
|
|
|
10944
10944
|
createCanvas: He,
|
|
10945
10945
|
createImage: Vt,
|
|
10946
10946
|
DOMParser: Wt(),
|
|
10947
|
-
fetch:
|
|
10947
|
+
fetch: lt
|
|
10948
10948
|
});
|
|
10949
|
-
|
|
10949
|
+
g.resize(o, r), await g.render(), this.onRender();
|
|
10950
10950
|
}
|
|
10951
10951
|
}
|
|
10952
|
-
const
|
|
10952
|
+
const Fs = (l, e) => {
|
|
10953
10953
|
const t = [];
|
|
10954
|
-
return
|
|
10954
|
+
return l.forEach((A) => {
|
|
10955
10955
|
const a = e.steps.find((n) => n.stepName === A.stepName);
|
|
10956
10956
|
(a == null ? void 0 : a.type) === M.Text && A.stepAspectType === "Text" && t.push({
|
|
10957
10957
|
name: a.stepName,
|
|
@@ -10960,13 +10960,13 @@ const fs = (g, e) => {
|
|
|
10960
10960
|
}
|
|
10961
10961
|
});
|
|
10962
10962
|
}), t;
|
|
10963
|
-
},
|
|
10963
|
+
}, ys = async (l, e, t, A) => {
|
|
10964
10964
|
let a = {
|
|
10965
10965
|
serializableWorkflow: { steps: [] },
|
|
10966
10966
|
layouts: {}
|
|
10967
10967
|
};
|
|
10968
10968
|
a = new k(t.map((o) => new Aa(o))).apply(a);
|
|
10969
|
-
const i = await ni(
|
|
10969
|
+
const i = await ni(l, e, t, A);
|
|
10970
10970
|
return new k(i).apply(a);
|
|
10971
10971
|
}, ci = f`
|
|
10972
10972
|
${Be}
|
|
@@ -11022,8 +11022,8 @@ const fs = (g, e) => {
|
|
|
11022
11022
|
...ProductFields
|
|
11023
11023
|
}
|
|
11024
11024
|
}
|
|
11025
|
-
`, We = (
|
|
11026
|
-
${
|
|
11025
|
+
`, We = (l) => f`
|
|
11026
|
+
${l ? PA : ""}
|
|
11027
11027
|
fragment ProductCollectionFields on ProductCollection {
|
|
11028
11028
|
id
|
|
11029
11029
|
name
|
|
@@ -11048,7 +11048,7 @@ const fs = (g, e) => {
|
|
|
11048
11048
|
}
|
|
11049
11049
|
}
|
|
11050
11050
|
}
|
|
11051
|
-
${
|
|
11051
|
+
${l ? "productCollectionProducts { ...ProductCollectionProductFields }" : ""}
|
|
11052
11052
|
transformCollection {
|
|
11053
11053
|
id
|
|
11054
11054
|
name
|
|
@@ -11073,8 +11073,8 @@ const fs = (g, e) => {
|
|
|
11073
11073
|
}
|
|
11074
11074
|
}
|
|
11075
11075
|
}
|
|
11076
|
-
`,
|
|
11077
|
-
${We(
|
|
11076
|
+
`, li = (l) => f`
|
|
11077
|
+
${We(l)}
|
|
11078
11078
|
query GetBundle($id: String!) {
|
|
11079
11079
|
bundles(ids: [$id]) {
|
|
11080
11080
|
id
|
|
@@ -11095,7 +11095,7 @@ const fs = (g, e) => {
|
|
|
11095
11095
|
}
|
|
11096
11096
|
}
|
|
11097
11097
|
}
|
|
11098
|
-
`,
|
|
11098
|
+
`, gi = f`
|
|
11099
11099
|
query GetBundleStakeholders($id: String!) {
|
|
11100
11100
|
bundles(ids: [$id]) {
|
|
11101
11101
|
id
|
|
@@ -11146,8 +11146,8 @@ const fs = (g, e) => {
|
|
|
11146
11146
|
}
|
|
11147
11147
|
}
|
|
11148
11148
|
}
|
|
11149
|
-
`, Ci = (
|
|
11150
|
-
${We(
|
|
11149
|
+
`, Ci = (l) => f`
|
|
11150
|
+
${We(l)}
|
|
11151
11151
|
mutation CreateBundle(
|
|
11152
11152
|
$collectionId: String
|
|
11153
11153
|
$initialMetadata: [MetadataInput!]
|
|
@@ -11175,8 +11175,8 @@ const fs = (g, e) => {
|
|
|
11175
11175
|
}
|
|
11176
11176
|
}
|
|
11177
11177
|
}
|
|
11178
|
-
`, wi = (
|
|
11179
|
-
${We(
|
|
11178
|
+
`, wi = (l) => f`
|
|
11179
|
+
${We(l)}
|
|
11180
11180
|
mutation DuplicateBundle(
|
|
11181
11181
|
$id: String!
|
|
11182
11182
|
$template: Boolean
|
|
@@ -11224,7 +11224,7 @@ const fs = (g, e) => {
|
|
|
11224
11224
|
id
|
|
11225
11225
|
}
|
|
11226
11226
|
}
|
|
11227
|
-
`,
|
|
11227
|
+
`, mi = f`
|
|
11228
11228
|
mutation BundleRemoveTransaction(
|
|
11229
11229
|
$id: String!
|
|
11230
11230
|
$transactionId: String!
|
|
@@ -11239,7 +11239,7 @@ const fs = (g, e) => {
|
|
|
11239
11239
|
id
|
|
11240
11240
|
}
|
|
11241
11241
|
}
|
|
11242
|
-
`,
|
|
11242
|
+
`, Qi = f`
|
|
11243
11243
|
mutation BundleRemoveTransactions(
|
|
11244
11244
|
$id: String!
|
|
11245
11245
|
$transactionIds: [String!]!
|
|
@@ -11306,8 +11306,8 @@ const fs = (g, e) => {
|
|
|
11306
11306
|
id
|
|
11307
11307
|
}
|
|
11308
11308
|
}
|
|
11309
|
-
`, Fi = (
|
|
11310
|
-
${We(
|
|
11309
|
+
`, Fi = (l) => f`
|
|
11310
|
+
${We(l)}
|
|
11311
11311
|
mutation BundleAssignProductCollection($id: String!, $productCollectionId: String!) {
|
|
11312
11312
|
bundleAssignProductCollection(id: $id, collectionId: $productCollectionId) {
|
|
11313
11313
|
id
|
|
@@ -11316,8 +11316,31 @@ const fs = (g, e) => {
|
|
|
11316
11316
|
}
|
|
11317
11317
|
}
|
|
11318
11318
|
}
|
|
11319
|
+
`, yi = (l) => f`
|
|
11320
|
+
query CustomerBundlesFeed($id: String!, $limit: Int!, $offset: Int!, $template: Boolean, $templateStatus: BundleTemplateStatus) {
|
|
11321
|
+
customerBundlesFeed(id: $id, limit: $limit, offset: $offset, template: $template, templateStatus: $templateStatus) {
|
|
11322
|
+
items {
|
|
11323
|
+
id
|
|
11324
|
+
name
|
|
11325
|
+
template
|
|
11326
|
+
templateStatus
|
|
11327
|
+
productCollection {
|
|
11328
|
+
id
|
|
11329
|
+
name
|
|
11330
|
+
description
|
|
11331
|
+
asset {
|
|
11332
|
+
key
|
|
11333
|
+
name
|
|
11334
|
+
fileLink
|
|
11335
|
+
}
|
|
11336
|
+
}
|
|
11337
|
+
${l ? "metadata { key, value }" : ""}
|
|
11338
|
+
}
|
|
11339
|
+
total
|
|
11340
|
+
}
|
|
11341
|
+
}
|
|
11319
11342
|
`;
|
|
11320
|
-
class
|
|
11343
|
+
class Mi {
|
|
11321
11344
|
constructor(e) {
|
|
11322
11345
|
this.handleCache = {}, this.bundle = e;
|
|
11323
11346
|
}
|
|
@@ -11361,7 +11384,7 @@ class yi {
|
|
|
11361
11384
|
async createHandle(e) {
|
|
11362
11385
|
switch (e.type) {
|
|
11363
11386
|
case $.FileUpload:
|
|
11364
|
-
return new
|
|
11387
|
+
return new Si(this.bundle, e);
|
|
11365
11388
|
case $.ColorOption:
|
|
11366
11389
|
return new Jt(
|
|
11367
11390
|
this.bundle,
|
|
@@ -11373,7 +11396,7 @@ class yi {
|
|
|
11373
11396
|
return (t == null ? void 0 : t.type) === "Color" ? new Jt(this.bundle, e, t) : new xA(this.bundle, e, t);
|
|
11374
11397
|
}
|
|
11375
11398
|
case $.Text:
|
|
11376
|
-
return new
|
|
11399
|
+
return new Yi(this.bundle, e);
|
|
11377
11400
|
default:
|
|
11378
11401
|
throw new Error("Unhandled Global Property Aspect Type");
|
|
11379
11402
|
}
|
|
@@ -11434,7 +11457,7 @@ class It {
|
|
|
11434
11457
|
return this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);
|
|
11435
11458
|
}
|
|
11436
11459
|
}
|
|
11437
|
-
class
|
|
11460
|
+
class Si extends It {
|
|
11438
11461
|
constructor(e, t) {
|
|
11439
11462
|
super(e, t);
|
|
11440
11463
|
}
|
|
@@ -11575,7 +11598,7 @@ class Mi extends It {
|
|
|
11575
11598
|
);
|
|
11576
11599
|
}
|
|
11577
11600
|
}
|
|
11578
|
-
class
|
|
11601
|
+
class Yi extends It {
|
|
11579
11602
|
constructor(e, t) {
|
|
11580
11603
|
super(e, t);
|
|
11581
11604
|
}
|
|
@@ -11741,7 +11764,7 @@ const ft = f`
|
|
|
11741
11764
|
}
|
|
11742
11765
|
}
|
|
11743
11766
|
}
|
|
11744
|
-
`,
|
|
11767
|
+
`, Pi = f`
|
|
11745
11768
|
${ft}
|
|
11746
11769
|
mutation CreateGlobalPropertyState($bundleId: String!) {
|
|
11747
11770
|
globalPropertyStateCreate(bundleId: $bundleId) {
|
|
@@ -11751,7 +11774,7 @@ const ft = f`
|
|
|
11751
11774
|
}
|
|
11752
11775
|
}
|
|
11753
11776
|
}
|
|
11754
|
-
`,
|
|
11777
|
+
`, xi = f`
|
|
11755
11778
|
${ft}
|
|
11756
11779
|
mutation UpdateGlobalPropertyState($id: String!, $aspects: [GlobalPropertyStateAspectInput]!) {
|
|
11757
11780
|
globalPropertyStateUpdate(id: $id, aspects: $aspects) {
|
|
@@ -11761,7 +11784,7 @@ const ft = f`
|
|
|
11761
11784
|
}
|
|
11762
11785
|
}
|
|
11763
11786
|
}
|
|
11764
|
-
`,
|
|
11787
|
+
`, Ni = f`
|
|
11765
11788
|
${ft}
|
|
11766
11789
|
query GetGlobalPropertyState($bundleId: String!) {
|
|
11767
11790
|
globalPropertyState(bundleId: $bundleId) {
|
|
@@ -11772,7 +11795,7 @@ const ft = f`
|
|
|
11772
11795
|
}
|
|
11773
11796
|
}
|
|
11774
11797
|
`;
|
|
11775
|
-
class
|
|
11798
|
+
class vi {
|
|
11776
11799
|
constructor(e, t, A, a, n) {
|
|
11777
11800
|
this.bundleId = e, this.bundleOwnerId = t, this.configuration = A, this.bundleOptions = n, this.initPromise = this.getOrCreateGlobalPropertyState().then((i) => {
|
|
11778
11801
|
this.globalPropertyState = i;
|
|
@@ -11795,7 +11818,7 @@ class Ni {
|
|
|
11795
11818
|
}
|
|
11796
11819
|
async setGlobalPropertyState(e) {
|
|
11797
11820
|
this.globalPropertyState || await this.initPromise;
|
|
11798
|
-
const t =
|
|
11821
|
+
const t = le(this.globalPropertyState);
|
|
11799
11822
|
this.globalPropertyState = { ...e, id: t.id }, await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(t, this.globalPropertyState);
|
|
11800
11823
|
}
|
|
11801
11824
|
getAspect(e) {
|
|
@@ -11819,7 +11842,7 @@ class Ni {
|
|
|
11819
11842
|
const a = this.configuration.aspects.find((s) => s.name === e);
|
|
11820
11843
|
if (!a)
|
|
11821
11844
|
throw new Error(`Failed to find configuration aspect with name: ${e}`);
|
|
11822
|
-
const n =
|
|
11845
|
+
const n = le(this.globalPropertyState), i = this.globalPropertyState.aspects.find((s) => s.name === e);
|
|
11823
11846
|
i ? (i.value = t, i.type = a.type, A !== void 0 && (i.storage = A !== null ? A : void 0)) : this.globalPropertyState.aspects.push({
|
|
11824
11847
|
name: e,
|
|
11825
11848
|
value: t,
|
|
@@ -11835,7 +11858,7 @@ class Ni {
|
|
|
11835
11858
|
const A = this.configuration.aspects.find((i) => i.name === e);
|
|
11836
11859
|
if (!A)
|
|
11837
11860
|
throw new Error(`Failed to find configuration aspect with name: ${e}`);
|
|
11838
|
-
const a =
|
|
11861
|
+
const a = le(this.globalPropertyState), n = this.globalPropertyState.aspects.find((i) => i.name === e);
|
|
11839
11862
|
n ? (n.storage = t !== null ? t : void 0, n.type = A.type) : this.globalPropertyState.aspects.push({
|
|
11840
11863
|
name: e,
|
|
11841
11864
|
value: "",
|
|
@@ -11848,7 +11871,7 @@ class Ni {
|
|
|
11848
11871
|
if (!this.globalPropertyState)
|
|
11849
11872
|
throw new Error("Global property state not initialized");
|
|
11850
11873
|
const e = await x.getShadowGraphqlClient().mutate({
|
|
11851
|
-
mutation:
|
|
11874
|
+
mutation: xi,
|
|
11852
11875
|
variables: {
|
|
11853
11876
|
id: this.globalPropertyState.id,
|
|
11854
11877
|
aspects: this.globalPropertyState.aspects.map((a) => {
|
|
@@ -11888,7 +11911,7 @@ class Ni {
|
|
|
11888
11911
|
async getOrCreateGlobalPropertyState() {
|
|
11889
11912
|
var A, a, n;
|
|
11890
11913
|
const e = await x.getShadowGraphqlClient().query({
|
|
11891
|
-
query:
|
|
11914
|
+
query: Ni,
|
|
11892
11915
|
errorPolicy: "all",
|
|
11893
11916
|
fetchPolicy: "no-cache",
|
|
11894
11917
|
variables: {
|
|
@@ -11904,7 +11927,7 @@ class Ni {
|
|
|
11904
11927
|
if (e.data.globalPropertyState && e.data.globalPropertyState.id)
|
|
11905
11928
|
return e.data.globalPropertyState;
|
|
11906
11929
|
const t = await x.getShadowGraphqlClient().mutate({
|
|
11907
|
-
mutation:
|
|
11930
|
+
mutation: Pi,
|
|
11908
11931
|
variables: {
|
|
11909
11932
|
bundleId: this.bundleId
|
|
11910
11933
|
},
|
|
@@ -11920,7 +11943,7 @@ class Ni {
|
|
|
11920
11943
|
throw new Error(`Unable to create global property state for bundle: ${this.bundleId}`);
|
|
11921
11944
|
}
|
|
11922
11945
|
}
|
|
11923
|
-
class
|
|
11946
|
+
class Ri {
|
|
11924
11947
|
constructor(e) {
|
|
11925
11948
|
this.setState(e);
|
|
11926
11949
|
}
|
|
@@ -12003,7 +12026,7 @@ class vi {
|
|
|
12003
12026
|
};
|
|
12004
12027
|
}
|
|
12005
12028
|
}
|
|
12006
|
-
class
|
|
12029
|
+
class Hi {
|
|
12007
12030
|
constructor(e) {
|
|
12008
12031
|
this.fullFetched = !1, this.collection = e;
|
|
12009
12032
|
}
|
|
@@ -12058,7 +12081,7 @@ class Ri {
|
|
|
12058
12081
|
}
|
|
12059
12082
|
getTransformCollection() {
|
|
12060
12083
|
if (this.collection.transformCollection)
|
|
12061
|
-
return new
|
|
12084
|
+
return new ki(this.collection.transformCollection);
|
|
12062
12085
|
}
|
|
12063
12086
|
/**
|
|
12064
12087
|
* The raw collection resource. This is generally not needed and should be avoided.
|
|
@@ -12211,7 +12234,7 @@ class Oe {
|
|
|
12211
12234
|
return this.workflow.imageUrl;
|
|
12212
12235
|
}
|
|
12213
12236
|
}
|
|
12214
|
-
class
|
|
12237
|
+
class ki {
|
|
12215
12238
|
constructor(e) {
|
|
12216
12239
|
this.collection = e;
|
|
12217
12240
|
}
|
|
@@ -12231,10 +12254,10 @@ class Hi {
|
|
|
12231
12254
|
* @returns The transforms in this collection.
|
|
12232
12255
|
*/
|
|
12233
12256
|
getTransforms() {
|
|
12234
|
-
return this.collection.transforms.map((e) => new
|
|
12257
|
+
return this.collection.transforms.map((e) => new Ui(e));
|
|
12235
12258
|
}
|
|
12236
12259
|
}
|
|
12237
|
-
class
|
|
12260
|
+
class Ui {
|
|
12238
12261
|
constructor(e) {
|
|
12239
12262
|
this.transform = e;
|
|
12240
12263
|
}
|
|
@@ -12264,13 +12287,13 @@ class ki {
|
|
|
12264
12287
|
class et {
|
|
12265
12288
|
constructor(e, t, A, a, n, i) {
|
|
12266
12289
|
var s, o, r;
|
|
12267
|
-
this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = e, this.id = t.id, this.name = t.name || "", this.ownerId = n, this.metadata = new Map(((s = t.metadata) == null ? void 0 : s.map((c) => [c.key, c.value])) || []), this.productCollection = t.productCollection, this.bundleStateManager = new
|
|
12290
|
+
this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = e, this.id = t.id, this.name = t.name || "", this.ownerId = n, this.metadata = new Map(((s = t.metadata) == null ? void 0 : s.map((c) => [c.key, c.value])) || []), this.productCollection = t.productCollection, this.bundleStateManager = new Ri(t.bundleStateData), this.globalPropertyStateManager = new vi(
|
|
12268
12291
|
this.id,
|
|
12269
12292
|
this.ownerId,
|
|
12270
12293
|
(o = this.productCollection) == null ? void 0 : o.globalPropertyConfiguration,
|
|
12271
12294
|
this.checkConditionalHandlesChanged.bind(this),
|
|
12272
12295
|
i
|
|
12273
|
-
), this.globalPropertyHandleService = new
|
|
12296
|
+
), this.globalPropertyHandleService = new Mi(this), this.setPreviewService(A), this.initializationPromise = Promise.all([
|
|
12274
12297
|
this.loadExistingWorkflowExperiences(((r = t.transactions) == null ? void 0 : r.map((c) => c.id)) || [], a),
|
|
12275
12298
|
this.globalPropertyStateManager.getInitializationPromise()
|
|
12276
12299
|
]), this.initializationPromise.catch((c) => {
|
|
@@ -12338,7 +12361,7 @@ class et {
|
|
|
12338
12361
|
return this.workflowExperiences.map((e) => e.getTotalPriceSubunits()).reduce((e, t) => e + t, 0);
|
|
12339
12362
|
}
|
|
12340
12363
|
getProductCollection() {
|
|
12341
|
-
return this.productCollection ? new
|
|
12364
|
+
return this.productCollection ? new Hi(this.productCollection) : void 0;
|
|
12342
12365
|
}
|
|
12343
12366
|
async addWorkflowExperience(e) {
|
|
12344
12367
|
e.setBundle(this), await this.appendWorkflowExperience(e), await this.injectExperienceIntoPreviewService(e), await e.getWorkflowManager().getInitializationPromise();
|
|
@@ -12419,7 +12442,7 @@ class et {
|
|
|
12419
12442
|
(n) => n.getWorkflowManager().getTransaction().id === t.id
|
|
12420
12443
|
);
|
|
12421
12444
|
a.setBundle(void 0), this.previewService && a.getWorkflowManager().ejectFromPreviewService(), this.bundleStateManager.removeStateForTransaction(t.id), await x.getShadowGraphqlClient().mutate({
|
|
12422
|
-
mutation:
|
|
12445
|
+
mutation: mi,
|
|
12423
12446
|
variables: {
|
|
12424
12447
|
id: this.id,
|
|
12425
12448
|
transactionId: t.id,
|
|
@@ -12451,7 +12474,7 @@ class et {
|
|
|
12451
12474
|
A.forEach((a) => a.setBundle(void 0)), [...this.workflowExperiences, ...A].forEach(
|
|
12452
12475
|
(a) => a.checkForPriceBreakChanges()
|
|
12453
12476
|
), this.previewService && A.forEach((a) => a.getWorkflowManager().ejectFromPreviewService()), e.forEach((a) => this.bundleStateManager.removeStateForTransaction(a.id)), await x.getShadowGraphqlClient().mutate({
|
|
12454
|
-
mutation:
|
|
12477
|
+
mutation: Qi,
|
|
12455
12478
|
variables: {
|
|
12456
12479
|
id: this.id,
|
|
12457
12480
|
transactionIds: e.map((a) => a.id),
|
|
@@ -12560,7 +12583,7 @@ class et {
|
|
|
12560
12583
|
}
|
|
12561
12584
|
async getAllStakeholders() {
|
|
12562
12585
|
const e = await x.getShadowGraphqlClient().query({
|
|
12563
|
-
query:
|
|
12586
|
+
query: gi,
|
|
12564
12587
|
errorPolicy: "all",
|
|
12565
12588
|
fetchPolicy: "no-cache",
|
|
12566
12589
|
variables: {
|
|
@@ -12736,14 +12759,14 @@ class et {
|
|
|
12736
12759
|
);
|
|
12737
12760
|
}
|
|
12738
12761
|
}
|
|
12739
|
-
const
|
|
12762
|
+
const Gi = f`
|
|
12740
12763
|
mutation processFlowCreate($processFlowId: String!, $inputs: [String]!) {
|
|
12741
12764
|
processExecutionCreate(processFlowId: $processFlowId, inputs: $inputs) {
|
|
12742
12765
|
id
|
|
12743
12766
|
}
|
|
12744
12767
|
}
|
|
12745
12768
|
`;
|
|
12746
|
-
class
|
|
12769
|
+
class bi {
|
|
12747
12770
|
/**
|
|
12748
12771
|
*
|
|
12749
12772
|
* @param id
|
|
@@ -12752,14 +12775,14 @@ class Gi {
|
|
|
12752
12775
|
* @returns
|
|
12753
12776
|
*/
|
|
12754
12777
|
async execute(e, t, A) {
|
|
12755
|
-
var B,
|
|
12756
|
-
const n = (
|
|
12757
|
-
mutation:
|
|
12778
|
+
var B, g, d;
|
|
12779
|
+
const n = (g = (B = (await x.getShadowGraphqlClient().mutate({
|
|
12780
|
+
mutation: Gi,
|
|
12758
12781
|
variables: {
|
|
12759
12782
|
processFlowId: e,
|
|
12760
12783
|
inputs: [...t.map((C) => C.getValueForTransmission())]
|
|
12761
12784
|
}
|
|
12762
|
-
})).data) == null ? void 0 : B.processExecutionCreate) == null ? void 0 :
|
|
12785
|
+
})).data) == null ? void 0 : B.processExecutionCreate) == null ? void 0 : g.id;
|
|
12763
12786
|
if (!n)
|
|
12764
12787
|
throw new Error("Failed to create process execution.");
|
|
12765
12788
|
function i(C) {
|
|
@@ -12796,7 +12819,7 @@ class Gi {
|
|
|
12796
12819
|
"Execution has failed to complete. See Automation > FLows in Flight on partner account on SpiffCommerce Hub."
|
|
12797
12820
|
);
|
|
12798
12821
|
if (C.completedAt) {
|
|
12799
|
-
s = !0, c = new
|
|
12822
|
+
s = !0, c = new Ji(C);
|
|
12800
12823
|
break;
|
|
12801
12824
|
}
|
|
12802
12825
|
o += 1;
|
|
@@ -12810,7 +12833,7 @@ class Gi {
|
|
|
12810
12833
|
return Promise.resolve(c);
|
|
12811
12834
|
}
|
|
12812
12835
|
}
|
|
12813
|
-
class
|
|
12836
|
+
class Ji {
|
|
12814
12837
|
constructor(e) {
|
|
12815
12838
|
this.execution = e;
|
|
12816
12839
|
}
|
|
@@ -12895,8 +12918,8 @@ class Ft {
|
|
|
12895
12918
|
return e.startsWith("[") ? JSON.stringify(JSON.parse(e)) : e;
|
|
12896
12919
|
}
|
|
12897
12920
|
}
|
|
12898
|
-
var
|
|
12899
|
-
class
|
|
12921
|
+
var Ti = /* @__PURE__ */ ((l) => (l.Transaction = "Transaction", l.Bundle = "Bundle", l.Product = "Product", l.Variant = "Variant", l.Option = "Option", l.LineItem = "LineItem", l.Asset = "Asset", l))(Ti || {});
|
|
12922
|
+
class Ms extends Ft {
|
|
12900
12923
|
constructor(e) {
|
|
12901
12924
|
super(`"${e}"`);
|
|
12902
12925
|
}
|
|
@@ -12911,7 +12934,7 @@ class NA extends Ft {
|
|
|
12911
12934
|
return e.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);
|
|
12912
12935
|
}
|
|
12913
12936
|
}
|
|
12914
|
-
class
|
|
12937
|
+
class Ss extends Ft {
|
|
12915
12938
|
constructor(e) {
|
|
12916
12939
|
super(`[${e.map((t) => t.getRaw()).join(",")}]`);
|
|
12917
12940
|
}
|
|
@@ -12958,7 +12981,7 @@ class Tt {
|
|
|
12958
12981
|
return e.sort((t, A) => (t.index ?? 0) - (A.index ?? 0)).map((t) => new Oe(t));
|
|
12959
12982
|
}
|
|
12960
12983
|
}
|
|
12961
|
-
const
|
|
12984
|
+
const Oi = f`
|
|
12962
12985
|
query GetCustomer($emailAddress: String!) {
|
|
12963
12986
|
customer(emailAddress: $emailAddress) {
|
|
12964
12987
|
id
|
|
@@ -12968,7 +12991,7 @@ const Ti = f`
|
|
|
12968
12991
|
}
|
|
12969
12992
|
}
|
|
12970
12993
|
}
|
|
12971
|
-
`,
|
|
12994
|
+
`, Li = f`
|
|
12972
12995
|
mutation CustomerCreate($details: CustomerDetailsInput!) {
|
|
12973
12996
|
customerCreate(details: $details) {
|
|
12974
12997
|
id
|
|
@@ -12978,7 +13001,7 @@ const Ti = f`
|
|
|
12978
13001
|
}
|
|
12979
13002
|
}
|
|
12980
13003
|
}
|
|
12981
|
-
`,
|
|
13004
|
+
`, zi = f`
|
|
12982
13005
|
mutation CustomerAuthenticate($loginToken: String!) {
|
|
12983
13006
|
customerAuthenticate(loginToken: $loginToken) {
|
|
12984
13007
|
id
|
|
@@ -13005,11 +13028,11 @@ const Ti = f`
|
|
|
13005
13028
|
}
|
|
13006
13029
|
}
|
|
13007
13030
|
}
|
|
13008
|
-
`,
|
|
13031
|
+
`, Ki = f`
|
|
13009
13032
|
mutation CustomerGenerateVerificationCode($emailAddress: String!) {
|
|
13010
13033
|
customerGenerateVerificationCode(emailAddress: $emailAddress)
|
|
13011
13034
|
}
|
|
13012
|
-
`,
|
|
13035
|
+
`, ji = f`
|
|
13013
13036
|
mutation CustomerVerifyCode($emailAddress: String!, $verificationCode: String!) {
|
|
13014
13037
|
customerVerifyCode(emailAddress: $emailAddress, verificationCode: $verificationCode) {
|
|
13015
13038
|
id
|
|
@@ -13037,7 +13060,7 @@ const Ti = f`
|
|
|
13037
13060
|
}
|
|
13038
13061
|
}
|
|
13039
13062
|
}
|
|
13040
|
-
`,
|
|
13063
|
+
`, Vi = f`
|
|
13041
13064
|
query CustomerMetafields($id: String!) {
|
|
13042
13065
|
metafields(entityId: $id) {
|
|
13043
13066
|
id
|
|
@@ -13055,7 +13078,7 @@ const Ti = f`
|
|
|
13055
13078
|
}
|
|
13056
13079
|
}
|
|
13057
13080
|
}
|
|
13058
|
-
`,
|
|
13081
|
+
`, Wi = f`
|
|
13059
13082
|
fragment RegionFields on Region {
|
|
13060
13083
|
width
|
|
13061
13084
|
top
|
|
@@ -13073,7 +13096,7 @@ const Ti = f`
|
|
|
13073
13096
|
height
|
|
13074
13097
|
}
|
|
13075
13098
|
}
|
|
13076
|
-
`,
|
|
13099
|
+
`, Xi = f`
|
|
13077
13100
|
fragment LookAtAnimationFields on LookAtAnimation {
|
|
13078
13101
|
latDeg
|
|
13079
13102
|
lonDeg
|
|
@@ -13084,7 +13107,7 @@ const Ti = f`
|
|
|
13084
13107
|
z
|
|
13085
13108
|
}
|
|
13086
13109
|
}
|
|
13087
|
-
`,
|
|
13110
|
+
`, qi = f`
|
|
13088
13111
|
fragment RenderingPipelineConfigurationFields on RenderingPipelineConfiguration {
|
|
13089
13112
|
antiAliasing {
|
|
13090
13113
|
samples
|
|
@@ -13168,21 +13191,21 @@ const Ti = f`
|
|
|
13168
13191
|
weight
|
|
13169
13192
|
}
|
|
13170
13193
|
}
|
|
13171
|
-
`,
|
|
13194
|
+
`, Zi = f`
|
|
13172
13195
|
fragment ModelAnimationFields on ModelAnimation {
|
|
13173
13196
|
from
|
|
13174
13197
|
to
|
|
13175
13198
|
loop
|
|
13176
13199
|
name
|
|
13177
13200
|
}
|
|
13178
|
-
`,
|
|
13179
|
-
${De(
|
|
13201
|
+
`, $i = (l) => f`
|
|
13202
|
+
${De(l)}
|
|
13180
13203
|
${Et}
|
|
13181
13204
|
${sA}
|
|
13182
|
-
${Vi}
|
|
13183
13205
|
${Wi}
|
|
13184
13206
|
${Xi}
|
|
13185
13207
|
${qi}
|
|
13208
|
+
${Zi}
|
|
13186
13209
|
query GetWorkflows($ids: [String!]!) {
|
|
13187
13210
|
workflows(ids: $ids) {
|
|
13188
13211
|
partner {
|
|
@@ -13571,7 +13594,7 @@ const Ti = f`
|
|
|
13571
13594
|
}
|
|
13572
13595
|
}
|
|
13573
13596
|
}
|
|
13574
|
-
`,
|
|
13597
|
+
`, _i = f`
|
|
13575
13598
|
query GetTransactionForPartner($id: String!) {
|
|
13576
13599
|
transactions(ids: [$id]) {
|
|
13577
13600
|
id
|
|
@@ -13588,7 +13611,7 @@ const Ti = f`
|
|
|
13588
13611
|
}
|
|
13589
13612
|
}
|
|
13590
13613
|
}
|
|
13591
|
-
`,
|
|
13614
|
+
`, es = f`
|
|
13592
13615
|
${De(!1)}
|
|
13593
13616
|
query GetWorkflowForTheme($id: String!) {
|
|
13594
13617
|
workflow(id: $id) {
|
|
@@ -13610,68 +13633,68 @@ const Ti = f`
|
|
|
13610
13633
|
}
|
|
13611
13634
|
}
|
|
13612
13635
|
}
|
|
13613
|
-
`,
|
|
13636
|
+
`, ts = f`
|
|
13614
13637
|
fragment TagFields on Tag {
|
|
13615
13638
|
id
|
|
13616
13639
|
name
|
|
13617
13640
|
}
|
|
13618
|
-
`,
|
|
13619
|
-
${
|
|
13641
|
+
`, As = f`
|
|
13642
|
+
${ts}
|
|
13620
13643
|
query GetManyTags($entityIds: [String!]!) {
|
|
13621
13644
|
tagsMany(entityIds: $entityIds) {
|
|
13622
13645
|
...TagFields
|
|
13623
13646
|
}
|
|
13624
13647
|
}
|
|
13625
|
-
`, re = async (
|
|
13648
|
+
`, re = async (l) => {
|
|
13626
13649
|
var e;
|
|
13627
|
-
for (const t in
|
|
13628
|
-
const A =
|
|
13650
|
+
for (const t in l.layouts) {
|
|
13651
|
+
const A = l.layouts[t].elements.filter(
|
|
13629
13652
|
(n) => n.type === G.Illustration
|
|
13630
13653
|
);
|
|
13631
13654
|
for (let n = 0; n < A.length; ++n) {
|
|
13632
13655
|
const i = A[n];
|
|
13633
13656
|
i.src && i.svg && (i.cachedObjectURL = await ve(i.svg));
|
|
13634
13657
|
}
|
|
13635
|
-
const a =
|
|
13658
|
+
const a = l.layouts[t].elements.filter((n) => n.type === G.Textbox);
|
|
13636
13659
|
for (let n = 0; n < a.length; ++n) {
|
|
13637
13660
|
const i = a[n];
|
|
13638
13661
|
(e = i.fontData) != null && e.assetUrl && await dt(i.fontData.assetUrl);
|
|
13639
13662
|
}
|
|
13640
13663
|
}
|
|
13641
|
-
},
|
|
13664
|
+
}, as = async (l, e) => {
|
|
13642
13665
|
var a;
|
|
13643
13666
|
const t = await x.getShadowGraphqlClient().query({
|
|
13644
|
-
query:
|
|
13667
|
+
query: $i(((a = e == null ? void 0 : e.assets) == null ? void 0 : a.metadata) || !1),
|
|
13645
13668
|
errorPolicy: "all",
|
|
13646
13669
|
fetchPolicy: "no-cache",
|
|
13647
13670
|
variables: {
|
|
13648
|
-
ids:
|
|
13671
|
+
ids: l
|
|
13649
13672
|
}
|
|
13650
13673
|
}), A = t.data.workflows;
|
|
13651
|
-
if (A === void 0 || A.length !==
|
|
13674
|
+
if (A === void 0 || A.length !== l.length)
|
|
13652
13675
|
throw new Error(`Unable to read workflows: ${t.errors ?? "Length mismatch in response"}`);
|
|
13653
13676
|
return A.forEach((n) => {
|
|
13654
13677
|
n.steps.forEach((i) => {
|
|
13655
13678
|
var s, o, r;
|
|
13656
13679
|
delete i.data.__typename, (s = i.option) != null && s.id && ((o = i.option.defaultVariant) != null && o.asset && U.cacheAsset(i.option.defaultVariant.asset), i.option.colorProfile && U.cacheAsset(i.option.colorProfile), (r = i.option.variants) == null || r.forEach((c) => {
|
|
13657
13680
|
c.asset && U.cacheAsset(c.asset), c.thumbnail && U.cacheAsset(c.thumbnail), c.material && U.cacheMaterial(c.material);
|
|
13658
|
-
}),
|
|
13681
|
+
}), me.set({ id: i.option.id }, Promise.resolve(i.option)));
|
|
13659
13682
|
}), n.finalizeStepConfig || (n.finalizeStepConfig = {}), n.finalizeStepConfig.termsMarkdown = n.partner.termsMarkdown;
|
|
13660
13683
|
}), A;
|
|
13661
|
-
},
|
|
13662
|
-
const A = (await e).find((a) => a.id ===
|
|
13684
|
+
}, ns = async (l, e) => {
|
|
13685
|
+
const A = (await e).find((a) => a.id === l);
|
|
13663
13686
|
if (!A)
|
|
13664
|
-
throw new Error(`Workflow not found: ${
|
|
13687
|
+
throw new Error(`Workflow not found: ${l}`);
|
|
13665
13688
|
return A;
|
|
13666
|
-
}, vA = async (
|
|
13667
|
-
const t =
|
|
13689
|
+
}, vA = async (l, e) => {
|
|
13690
|
+
const t = l.map((s) => me.get({ id: s, options: e })), A = l.filter((s, o) => t[o] === void 0);
|
|
13668
13691
|
if (A.length === 0)
|
|
13669
13692
|
return Promise.all(t);
|
|
13670
|
-
const a =
|
|
13671
|
-
(s) =>
|
|
13693
|
+
const a = as(A, e), n = A.map(
|
|
13694
|
+
(s) => me.set({ id: s, options: e }, ns(s, a))
|
|
13672
13695
|
), i = t.filter((s) => s !== void 0);
|
|
13673
13696
|
return await Promise.all(i.concat(n));
|
|
13674
|
-
}, Pe = async (
|
|
13697
|
+
}, Pe = async (l, e) => (await vA([l], e))[0], is = (l) => l.sort((e, t) => e.index - t.index).map((e) => ({
|
|
13675
13698
|
id: J(),
|
|
13676
13699
|
panelId: e.name,
|
|
13677
13700
|
name: e.name,
|
|
@@ -13684,11 +13707,11 @@ const Ti = f`
|
|
|
13684
13707
|
previewRegion: e.previewRegion,
|
|
13685
13708
|
useEditableArea: e.useEditableArea,
|
|
13686
13709
|
editableArea: e.editableArea
|
|
13687
|
-
})), tt = (
|
|
13688
|
-
const t =
|
|
13689
|
-
return A ? Object.values(A.layouts).map((a) => a.layout) :
|
|
13710
|
+
})), tt = (l, e) => {
|
|
13711
|
+
const t = l.workflowState, A = t ? JSON.parse(t) : void 0;
|
|
13712
|
+
return A ? Object.values(A.layouts).map((a) => a.layout) : is(e.panels);
|
|
13690
13713
|
};
|
|
13691
|
-
class
|
|
13714
|
+
class ss {
|
|
13692
13715
|
constructor(e) {
|
|
13693
13716
|
this.activeIntegration = void 0, this.updateTransactionState = async (t) => {
|
|
13694
13717
|
try {
|
|
@@ -13699,14 +13722,14 @@ class is {
|
|
|
13699
13722
|
} catch (A) {
|
|
13700
13723
|
throw console.error(A), new H("Critical - Unable to synchronize workflow state with server.");
|
|
13701
13724
|
}
|
|
13702
|
-
}, this.initialized = !1, this.options = e, this.options.applicationKey && ca(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 22.
|
|
13725
|
+
}, this.initialized = !1, this.options = e, this.options.applicationKey && ca(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 22.13.0"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
|
|
13703
13726
|
}
|
|
13704
13727
|
/** @deprecated Use `configure` instead */
|
|
13705
13728
|
configureUrls(e, t, A) {
|
|
13706
13729
|
q.setHubUrl(e), q.setServerUrl(t), q.setServicesApiUrl(A), this.options.applicationKey && this.getIntegration();
|
|
13707
13730
|
}
|
|
13708
13731
|
configure(e) {
|
|
13709
|
-
q.setHubUrl(e.hubUrl), q.setServerUrl(e.serverUrl), q.setServicesApiUrl(e.servicesApiUrl), this.marketplaceThemeInstallId = e.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = e.marketplaceThemeInstallConfigurationId, e.bearerAuthenticationToken &&
|
|
13732
|
+
q.setHubUrl(e.hubUrl), q.setServerUrl(e.serverUrl), q.setServicesApiUrl(e.servicesApiUrl), this.marketplaceThemeInstallId = e.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = e.marketplaceThemeInstallConfigurationId, e.bearerAuthenticationToken && ga(e.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration();
|
|
13710
13733
|
}
|
|
13711
13734
|
/**
|
|
13712
13735
|
* @returns The asset manager allows for common operations related to assets
|
|
@@ -13721,9 +13744,9 @@ class is {
|
|
|
13721
13744
|
return this.currencyCode;
|
|
13722
13745
|
}
|
|
13723
13746
|
getFlowService() {
|
|
13724
|
-
if (!
|
|
13747
|
+
if (!la())
|
|
13725
13748
|
throw new Error("Application key required to use Flow Service.");
|
|
13726
|
-
return new
|
|
13749
|
+
return new bi();
|
|
13727
13750
|
}
|
|
13728
13751
|
async getIntegration() {
|
|
13729
13752
|
if (this.activeIntegration)
|
|
@@ -13762,8 +13785,8 @@ class is {
|
|
|
13762
13785
|
if (o && await this.authenticateCustomerId(o)) {
|
|
13763
13786
|
const c = (n = (a = this.customer) == null ? void 0 : a.bundleStakeholders) == null ? void 0 : n.find(
|
|
13764
13787
|
(B) => {
|
|
13765
|
-
var
|
|
13766
|
-
return ((
|
|
13788
|
+
var g;
|
|
13789
|
+
return ((g = B.bundle) == null ? void 0 : g.id) === e;
|
|
13767
13790
|
}
|
|
13768
13791
|
);
|
|
13769
13792
|
if (c)
|
|
@@ -13786,9 +13809,9 @@ class is {
|
|
|
13786
13809
|
* @throws An error if the transaction is not found.
|
|
13787
13810
|
*/
|
|
13788
13811
|
async authenticateTransactionFromLocalStorage(e) {
|
|
13789
|
-
var c, B,
|
|
13812
|
+
var c, B, g, d, C, w;
|
|
13790
13813
|
const t = x.getShadowGraphqlClient(), A = await t.query({
|
|
13791
|
-
query:
|
|
13814
|
+
query: _i,
|
|
13792
13815
|
errorPolicy: "all",
|
|
13793
13816
|
fetchPolicy: "no-cache",
|
|
13794
13817
|
variables: {
|
|
@@ -13809,15 +13832,15 @@ class is {
|
|
|
13809
13832
|
if (s != null && s.has(e)) {
|
|
13810
13833
|
const h = s.get(e);
|
|
13811
13834
|
if (h && await this.authenticateCustomerId(h)) {
|
|
13812
|
-
const E = ((d = (
|
|
13835
|
+
const E = ((d = (g = this.customer) == null ? void 0 : g.bundleStakeholders) == null ? void 0 : d.find(
|
|
13813
13836
|
(D) => {
|
|
13814
|
-
var
|
|
13815
|
-
return (p = (
|
|
13837
|
+
var Q, p;
|
|
13838
|
+
return (p = (Q = D.bundle) == null ? void 0 : Q.transactions) == null ? void 0 : p.some((m) => m.id === e);
|
|
13816
13839
|
}
|
|
13817
13840
|
)) || ((w = (C = this.customer) == null ? void 0 : C.stakeholders) == null ? void 0 : w.find(
|
|
13818
13841
|
(D) => {
|
|
13819
|
-
var
|
|
13820
|
-
return ((
|
|
13842
|
+
var Q;
|
|
13843
|
+
return ((Q = D.transaction) == null ? void 0 : Q.id) === e;
|
|
13821
13844
|
}
|
|
13822
13845
|
));
|
|
13823
13846
|
if (E)
|
|
@@ -13828,7 +13851,7 @@ class is {
|
|
|
13828
13851
|
}
|
|
13829
13852
|
}
|
|
13830
13853
|
const r = (await t.query({
|
|
13831
|
-
query:
|
|
13854
|
+
query: es,
|
|
13832
13855
|
errorPolicy: "all",
|
|
13833
13856
|
variables: {
|
|
13834
13857
|
id: a.workflowId
|
|
@@ -13864,7 +13887,7 @@ class is {
|
|
|
13864
13887
|
var i;
|
|
13865
13888
|
this.customer = void 0;
|
|
13866
13889
|
const t = x.getShadowGraphqlClient(), a = (await t.query({
|
|
13867
|
-
query:
|
|
13890
|
+
query: Oi,
|
|
13868
13891
|
errorPolicy: "all",
|
|
13869
13892
|
fetchPolicy: "no-cache",
|
|
13870
13893
|
variables: {
|
|
@@ -13873,7 +13896,7 @@ class is {
|
|
|
13873
13896
|
})).data.customer;
|
|
13874
13897
|
if (!a.id) {
|
|
13875
13898
|
const o = (i = (await t.mutate({
|
|
13876
|
-
mutation:
|
|
13899
|
+
mutation: Li,
|
|
13877
13900
|
errorPolicy: "all",
|
|
13878
13901
|
fetchPolicy: "no-cache",
|
|
13879
13902
|
variables: {
|
|
@@ -13908,7 +13931,7 @@ class is {
|
|
|
13908
13931
|
if (!a)
|
|
13909
13932
|
return !1;
|
|
13910
13933
|
const i = (s = (await t.mutate({
|
|
13911
|
-
mutation:
|
|
13934
|
+
mutation: zi,
|
|
13912
13935
|
errorPolicy: "all",
|
|
13913
13936
|
fetchPolicy: "no-cache",
|
|
13914
13937
|
variables: {
|
|
@@ -13923,7 +13946,7 @@ class is {
|
|
|
13923
13946
|
*/
|
|
13924
13947
|
async generateVerificationCode(e) {
|
|
13925
13948
|
await x.getShadowGraphqlClient().mutate({
|
|
13926
|
-
mutation:
|
|
13949
|
+
mutation: Ki,
|
|
13927
13950
|
variables: {
|
|
13928
13951
|
emailAddress: e
|
|
13929
13952
|
}
|
|
@@ -13938,7 +13961,7 @@ class is {
|
|
|
13938
13961
|
async verifyCode(e, t) {
|
|
13939
13962
|
var n, i;
|
|
13940
13963
|
const a = (n = (await x.getShadowGraphqlClient().mutate({
|
|
13941
|
-
mutation:
|
|
13964
|
+
mutation: ji,
|
|
13942
13965
|
errorPolicy: "all",
|
|
13943
13966
|
fetchPolicy: "no-cache",
|
|
13944
13967
|
variables: {
|
|
@@ -13962,7 +13985,7 @@ class is {
|
|
|
13962
13985
|
if (!((t = this.customer) != null && t.id))
|
|
13963
13986
|
throw new Error("Customer must be logged in before calling this function.");
|
|
13964
13987
|
return (await x.getShadowGraphqlClient().query({
|
|
13965
|
-
query:
|
|
13988
|
+
query: Vi,
|
|
13966
13989
|
fetchPolicy: "no-cache",
|
|
13967
13990
|
variables: {
|
|
13968
13991
|
id: this.customer.id
|
|
@@ -13974,7 +13997,7 @@ class is {
|
|
|
13974
13997
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
13975
13998
|
*/
|
|
13976
13999
|
async getNewBundle(e, t, A) {
|
|
13977
|
-
var r, c, B,
|
|
14000
|
+
var r, c, B, g, d;
|
|
13978
14001
|
const n = (B = (await x.getShadowGraphqlClient().mutate({
|
|
13979
14002
|
mutation: Ci(((c = (r = A == null ? void 0 : A.graphql) == null ? void 0 : r.productCollection) == null ? void 0 : c.eagerFetchProducts) || !1),
|
|
13980
14003
|
variables: {
|
|
@@ -13992,7 +14015,7 @@ class is {
|
|
|
13992
14015
|
const s = P.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
|
|
13993
14016
|
s.set(n.id, n.bundleOwnerId), P.setMap("bundleOwnerIds", s);
|
|
13994
14017
|
const o = new et(this, n, void 0, void 0, n.bundleOwnerId, {
|
|
13995
|
-
eagerFetchProducts: (d = (
|
|
14018
|
+
eagerFetchProducts: (d = (g = A == null ? void 0 : A.graphql) == null ? void 0 : g.productCollection) == null ? void 0 : d.eagerFetchProducts
|
|
13996
14019
|
});
|
|
13997
14020
|
return await o.getInitializationPromise(), o;
|
|
13998
14021
|
}
|
|
@@ -14004,15 +14027,15 @@ class is {
|
|
|
14004
14027
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
14005
14028
|
*/
|
|
14006
14029
|
async getExistingBundle(e, t, A, a) {
|
|
14007
|
-
var h, u, E, D,
|
|
14030
|
+
var h, u, E, D, Q, p, m, I, F, y, Y;
|
|
14008
14031
|
const n = P.getMap("bundleOwnerIds"), i = n == null ? void 0 : n.get(e), o = ((h = Object.entries(localStorage).find(([N, S]) => N.startsWith("CognitoIdentityServiceProvider") && N.endsWith("idToken"))) == null ? void 0 : h[0]) || "", r = localStorage.getItem(o), c = {};
|
|
14009
14032
|
r && !Te(r) && (c.Authorization = `Bearer ${r}`);
|
|
14010
14033
|
const B = {
|
|
14011
14034
|
bundleOwnerId: i,
|
|
14012
14035
|
...c,
|
|
14013
14036
|
...(u = a == null ? void 0 : a.graphql) == null ? void 0 : u.additionalHeaders
|
|
14014
|
-
},
|
|
14015
|
-
query:
|
|
14037
|
+
}, g = await x.getShadowGraphqlClient().query({
|
|
14038
|
+
query: li(((D = (E = a == null ? void 0 : a.graphql) == null ? void 0 : E.productCollection) == null ? void 0 : D.eagerFetchProducts) || !1),
|
|
14016
14039
|
variables: {
|
|
14017
14040
|
id: e
|
|
14018
14041
|
},
|
|
@@ -14021,9 +14044,9 @@ class is {
|
|
|
14021
14044
|
headers: B
|
|
14022
14045
|
}
|
|
14023
14046
|
});
|
|
14024
|
-
if (!((
|
|
14047
|
+
if (!((Q = g.data) != null && Q.bundles) || ((p = g.data) == null ? void 0 : p.bundles.length) === 0 || !((m = g.data) != null && m.bundles[0]))
|
|
14025
14048
|
throw new Error(`Unable to find bundle: ${e}`);
|
|
14026
|
-
const d = (I =
|
|
14049
|
+
const d = (I = g.data) == null ? void 0 : I.bundles[0], C = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
|
|
14027
14050
|
C.set(d.id, d.partner.id), P.setMap("bundlePartnerIds", C);
|
|
14028
14051
|
const w = new et(this, d, t, A, i, {
|
|
14029
14052
|
additionalHeaders: (F = a == null ? void 0 : a.graphql) == null ? void 0 : F.additionalHeaders,
|
|
@@ -14038,15 +14061,15 @@ class is {
|
|
|
14038
14061
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
14039
14062
|
*/
|
|
14040
14063
|
async duplicateBundle(e, t, A, a) {
|
|
14041
|
-
var h, u, E, D,
|
|
14064
|
+
var h, u, E, D, Q, p, m, I;
|
|
14042
14065
|
const n = (h = P.getMap("bundleOwnerIds")) == null ? void 0 : h.get(e), s = ((u = Object.entries(localStorage).find(([F, y]) => F.startsWith("CognitoIdentityServiceProvider") && F.endsWith("idToken"))) == null ? void 0 : u[0]) || "", o = localStorage.getItem(s), r = {};
|
|
14043
14066
|
o && !Te(o) && (r.Authorization = `Bearer ${o}`);
|
|
14044
14067
|
const c = {
|
|
14045
14068
|
bundleOwnerId: n,
|
|
14046
14069
|
...r,
|
|
14047
14070
|
...(E = a == null ? void 0 : a.graphql) == null ? void 0 : E.additionalHeaders
|
|
14048
|
-
},
|
|
14049
|
-
mutation: wi(((
|
|
14071
|
+
}, g = (p = (await x.getShadowGraphqlClient().mutate({
|
|
14072
|
+
mutation: wi(((Q = (D = a == null ? void 0 : a.graphql) == null ? void 0 : D.productCollection) == null ? void 0 : Q.eagerFetchProducts) || !1),
|
|
14050
14073
|
variables: {
|
|
14051
14074
|
id: e,
|
|
14052
14075
|
template: t,
|
|
@@ -14059,17 +14082,40 @@ class is {
|
|
|
14059
14082
|
},
|
|
14060
14083
|
fetchPolicy: "no-cache"
|
|
14061
14084
|
})).data) == null ? void 0 : p.bundleDuplicate;
|
|
14062
|
-
if (!(
|
|
14085
|
+
if (!(g != null && g.id))
|
|
14063
14086
|
throw new Error("Unable to duplicate bundle");
|
|
14064
14087
|
const d = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
|
|
14065
|
-
d.set(
|
|
14088
|
+
d.set(g.id, g.partner.id), P.setMap("bundlePartnerIds", d);
|
|
14066
14089
|
const C = P.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
|
|
14067
|
-
C.set(
|
|
14068
|
-
const w = new et(this,
|
|
14069
|
-
eagerFetchProducts: (I = (
|
|
14090
|
+
C.set(g.id, g.bundleOwnerId), P.setMap("bundleOwnerIds", C);
|
|
14091
|
+
const w = new et(this, g, void 0, void 0, g.bundleOwnerId, {
|
|
14092
|
+
eagerFetchProducts: (I = (m = a == null ? void 0 : a.graphql) == null ? void 0 : m.productCollection) == null ? void 0 : I.eagerFetchProducts
|
|
14070
14093
|
});
|
|
14071
14094
|
return await w.getInitializationPromise(), w;
|
|
14072
14095
|
}
|
|
14096
|
+
/**
|
|
14097
|
+
* Fetches information about the currently authenticated customer's bundles.
|
|
14098
|
+
* NOTE: This does not initialize a bundle for active use.
|
|
14099
|
+
* You must call either `getExistingBundle` or `duplicateBundle` to actually interact with a bundle.
|
|
14100
|
+
* @param options Options to configure the request.
|
|
14101
|
+
* @returns A promise that resolves with an object containing:
|
|
14102
|
+
* `items` - The bundles that matched the request.
|
|
14103
|
+
* `total` - The total number of bundles on the server that match this query.
|
|
14104
|
+
*/
|
|
14105
|
+
async getBundlesForCustomer(e) {
|
|
14106
|
+
var n;
|
|
14107
|
+
if (!((n = this.customer) != null && n.id))
|
|
14108
|
+
throw new Error("Customer not authenticated.");
|
|
14109
|
+
const { includeMetadata: t, ...A } = e;
|
|
14110
|
+
return (await x.getShadowGraphqlClient().query({
|
|
14111
|
+
query: yi(t ?? !1),
|
|
14112
|
+
variables: {
|
|
14113
|
+
...A,
|
|
14114
|
+
id: this.customer.id
|
|
14115
|
+
},
|
|
14116
|
+
fetchPolicy: "no-cache"
|
|
14117
|
+
})).data.customerBundlesFeed;
|
|
14118
|
+
}
|
|
14073
14119
|
/**
|
|
14074
14120
|
* Retrieves all existing bundle stakeholders from the API, for the currently authenticated customer.
|
|
14075
14121
|
* @returns An array of bundle stakeholders.
|
|
@@ -14097,7 +14143,7 @@ class is {
|
|
|
14097
14143
|
const t = x.getShadowGraphqlClient();
|
|
14098
14144
|
let A = {};
|
|
14099
14145
|
const a = e.steps.map((i) => `${e.id}_${i.stepName}`), n = await t.query({
|
|
14100
|
-
query:
|
|
14146
|
+
query: As,
|
|
14101
14147
|
fetchPolicy: "no-cache",
|
|
14102
14148
|
variables: { entityIds: a }
|
|
14103
14149
|
});
|
|
@@ -14119,14 +14165,14 @@ class is {
|
|
|
14119
14165
|
* @returns A workflow experience configured as requested.
|
|
14120
14166
|
*/
|
|
14121
14167
|
async getWorkflowExperience(e, t, A, a) {
|
|
14122
|
-
var
|
|
14168
|
+
var g, d, C, w, h;
|
|
14123
14169
|
if (!a)
|
|
14124
14170
|
return await this.getWorkflowExperienceDeprecated(e, t, A);
|
|
14125
14171
|
const n = async () => {
|
|
14126
|
-
var E, D,
|
|
14172
|
+
var E, D, Q;
|
|
14127
14173
|
const u = x.getShadowGraphqlClient();
|
|
14128
14174
|
if (a.type === "transaction") {
|
|
14129
|
-
const { transactionId: p, readOnly:
|
|
14175
|
+
const { transactionId: p, readOnly: m } = a, I = await u.query({
|
|
14130
14176
|
query: fe,
|
|
14131
14177
|
variables: {
|
|
14132
14178
|
ids: [p]
|
|
@@ -14142,9 +14188,9 @@ class is {
|
|
|
14142
14188
|
const y = await Pe(F.workflowId);
|
|
14143
14189
|
if (!F.product)
|
|
14144
14190
|
throw new H("Failed to load transaction, product not available.");
|
|
14145
|
-
!this.activeIntegration && ((
|
|
14191
|
+
!this.activeIntegration && ((Q = F.integrationProduct) != null && Q.integration) && (this.activeIntegration = Promise.resolve(F.integrationProduct.integration));
|
|
14146
14192
|
const Y = await this.getStepTags(y);
|
|
14147
|
-
return { transaction: F, workflow: y, stepTags: Y, readOnly:
|
|
14193
|
+
return { transaction: F, workflow: y, stepTags: Y, readOnly: m };
|
|
14148
14194
|
}
|
|
14149
14195
|
if (a.type === "integration" || a.type === "external") {
|
|
14150
14196
|
const p = async () => {
|
|
@@ -14172,12 +14218,12 @@ class is {
|
|
|
14172
14218
|
if (!S.product)
|
|
14173
14219
|
throw new H("Failed to create transaction, product not available.");
|
|
14174
14220
|
return S;
|
|
14175
|
-
},
|
|
14221
|
+
}, m = Pe(a.workflowId, a == null ? void 0 : a.graphql), [I, F] = await Promise.all([p(), m]), y = await this.getStepTags(F);
|
|
14176
14222
|
return { transaction: I, workflow: F, stepTags: y };
|
|
14177
14223
|
}
|
|
14178
14224
|
throw new H("No workflow ID provided.");
|
|
14179
14225
|
}, { transaction: i, workflow: s, stepTags: o, readOnly: r } = await n();
|
|
14180
|
-
this.currencyCode = (
|
|
14226
|
+
this.currencyCode = (g = i.product.partner) == null ? void 0 : g.currencyCode;
|
|
14181
14227
|
const c = {
|
|
14182
14228
|
product: i.product,
|
|
14183
14229
|
transaction: i,
|
|
@@ -14235,10 +14281,10 @@ class is {
|
|
|
14235
14281
|
var y, Y, N;
|
|
14236
14282
|
if (p.length === 0)
|
|
14237
14283
|
return [];
|
|
14238
|
-
const
|
|
14284
|
+
const m = p.map((S) => S.option.transactionId), I = await A.query({
|
|
14239
14285
|
query: fe,
|
|
14240
14286
|
variables: {
|
|
14241
|
-
ids:
|
|
14287
|
+
ids: m
|
|
14242
14288
|
},
|
|
14243
14289
|
errorPolicy: "all",
|
|
14244
14290
|
fetchPolicy: "no-cache"
|
|
@@ -14260,7 +14306,7 @@ class is {
|
|
|
14260
14306
|
var F, y, Y;
|
|
14261
14307
|
if (p.length === 0)
|
|
14262
14308
|
return [];
|
|
14263
|
-
const
|
|
14309
|
+
const m = await A.mutate({
|
|
14264
14310
|
mutation: Ha,
|
|
14265
14311
|
variables: {
|
|
14266
14312
|
inputs: p.map((N) => ({
|
|
@@ -14276,9 +14322,9 @@ class is {
|
|
|
14276
14322
|
},
|
|
14277
14323
|
errorPolicy: "all",
|
|
14278
14324
|
fetchPolicy: "no-cache"
|
|
14279
|
-
}), I = (F =
|
|
14325
|
+
}), I = (F = m.data) == null ? void 0 : F.transactionCreateMany;
|
|
14280
14326
|
if (!I || I.length === 0) {
|
|
14281
|
-
const N = ((Y = (y =
|
|
14327
|
+
const N = ((Y = (y = m.errors) == null ? void 0 : y[0]) == null ? void 0 : Y.message) || "Unknown error";
|
|
14282
14328
|
throw new H(`Failed to create transactions: ${N}`);
|
|
14283
14329
|
}
|
|
14284
14330
|
return I.map((N, S) => ({
|
|
@@ -14287,18 +14333,18 @@ class is {
|
|
|
14287
14333
|
readOnly: !1,
|
|
14288
14334
|
index: p[S].index
|
|
14289
14335
|
}));
|
|
14290
|
-
}, i = e.map((p,
|
|
14336
|
+
}, i = e.map((p, m) => ({ option: p, index: m })), s = i.filter((p) => p.option.type === "transaction"), o = i.filter(
|
|
14291
14337
|
(p) => p.option.type === "integration" || p.option.type === "external"
|
|
14292
14338
|
), r = xt(s, 10), c = xt(o, 10), B = (await Promise.all([
|
|
14293
14339
|
...r.map(a),
|
|
14294
14340
|
...c.map(n)
|
|
14295
|
-
])).flat(),
|
|
14341
|
+
])).flat(), g = [...new Set(B.map((p) => p.workflowId))], d = await vA(g, t), C = new Map(d.map((p) => [p.id, p])), w = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), h = B.map(async (p) => {
|
|
14296
14342
|
var W;
|
|
14297
|
-
const { transaction:
|
|
14298
|
-
!w.get(
|
|
14299
|
-
const T = w.get(
|
|
14300
|
-
product:
|
|
14301
|
-
transaction:
|
|
14343
|
+
const { transaction: m, workflowId: I, readOnly: F, index: y } = p, Y = C.get(I), N = await this.getStepTags(Y), S = e[y];
|
|
14344
|
+
!w.get(m.id) && m.transactionOwnerId && w.set(m.id, m.transactionOwnerId);
|
|
14345
|
+
const T = w.get(m.id) || void 0, R = {
|
|
14346
|
+
product: m.product,
|
|
14347
|
+
transaction: m,
|
|
14302
14348
|
stepTags: N,
|
|
14303
14349
|
layouts: [],
|
|
14304
14350
|
singleVariantsRenderable: (W = S == null ? void 0 : S.workflowConfiguration) == null ? void 0 : W.singleVariantsRenderable,
|
|
@@ -14309,8 +14355,8 @@ class is {
|
|
|
14309
14355
|
workflow: Y,
|
|
14310
14356
|
isReloadedTransaction: S.type === "transaction"
|
|
14311
14357
|
};
|
|
14312
|
-
if (S.type === "transaction" &&
|
|
14313
|
-
const O = JSON.parse(
|
|
14358
|
+
if (S.type === "transaction" && m.workflowState) {
|
|
14359
|
+
const O = JSON.parse(m.workflowState);
|
|
14314
14360
|
R.layouts = Object.values(O.layouts || {}).map((ee) => ee.layout), await se(O), await re(O), R.reloadedState = O;
|
|
14315
14361
|
} else if (!F && S.workflowState) {
|
|
14316
14362
|
const O = JSON.parse(S.workflowState);
|
|
@@ -14325,11 +14371,11 @@ class is {
|
|
|
14325
14371
|
), R.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = R, { experienceOptions: R, index: y, options: S };
|
|
14326
14372
|
}), u = await Promise.all(h);
|
|
14327
14373
|
P.setMap("transactionOwnerIds", w);
|
|
14328
|
-
const D = u.sort((p,
|
|
14329
|
-
const { experienceOptions:
|
|
14374
|
+
const D = u.sort((p, m) => p.index - m.index).map(async (p) => {
|
|
14375
|
+
const { experienceOptions: m, options: I } = p, F = new Me(this, m);
|
|
14330
14376
|
return await F.getWorkflowManager().getInitializationPromise(), I.type !== "transaction" && this.customer && await F.attachCustomerDetails({ email: this.customer.emailAddress }), F;
|
|
14331
|
-
}),
|
|
14332
|
-
return
|
|
14377
|
+
}), Q = await Promise.all(D);
|
|
14378
|
+
return Q.forEach((p) => p.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), Q;
|
|
14333
14379
|
}
|
|
14334
14380
|
/**
|
|
14335
14381
|
* Initialize the client from an integration product.
|
|
@@ -14382,19 +14428,19 @@ class is {
|
|
|
14382
14428
|
throw new H("No transaction ID provided.");
|
|
14383
14429
|
const A = x.getShadowGraphqlClient(), a = async () => {
|
|
14384
14430
|
var d, C;
|
|
14385
|
-
const
|
|
14431
|
+
const g = (d = (await A.query({
|
|
14386
14432
|
query: fe,
|
|
14387
14433
|
variables: { ids: [e] },
|
|
14388
14434
|
fetchPolicy: "no-cache",
|
|
14389
14435
|
errorPolicy: "all"
|
|
14390
14436
|
})).data) == null ? void 0 : d.transactions[0];
|
|
14391
|
-
if (!
|
|
14437
|
+
if (!g)
|
|
14392
14438
|
throw new H("Failed to read transaction.");
|
|
14393
|
-
if (!
|
|
14439
|
+
if (!g.product)
|
|
14394
14440
|
throw new H("Failed to load transaction, product not available.");
|
|
14395
|
-
this.currencyCode = (C =
|
|
14396
|
-
product:
|
|
14397
|
-
transaction:
|
|
14441
|
+
this.currencyCode = (C = g.product.partner) == null ? void 0 : C.currencyCode, this.experienceOptions = {
|
|
14442
|
+
product: g.product,
|
|
14443
|
+
transaction: g,
|
|
14398
14444
|
layouts: [],
|
|
14399
14445
|
stateMutationFunc: async () => {
|
|
14400
14446
|
throw new b("State mutation is forbidden in read only mode!");
|
|
@@ -14406,20 +14452,20 @@ class is {
|
|
|
14406
14452
|
return await a();
|
|
14407
14453
|
const n = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), i = n.get(e);
|
|
14408
14454
|
if (i) {
|
|
14409
|
-
const
|
|
14455
|
+
const g = (s = (await A.query({
|
|
14410
14456
|
query: fe,
|
|
14411
14457
|
variables: {
|
|
14412
14458
|
ids: [e]
|
|
14413
14459
|
},
|
|
14414
14460
|
errorPolicy: "all"
|
|
14415
14461
|
})).data) == null ? void 0 : s.transactions[0];
|
|
14416
|
-
if (!
|
|
14462
|
+
if (!g)
|
|
14417
14463
|
throw new H("Failed to read transaction.");
|
|
14418
|
-
if (!
|
|
14464
|
+
if (!g.product)
|
|
14419
14465
|
throw new H("Failed to load transaction, product not available.");
|
|
14420
|
-
this.currencyCode = (o =
|
|
14421
|
-
product:
|
|
14422
|
-
transaction:
|
|
14466
|
+
this.currencyCode = (o = g.product.partner) == null ? void 0 : o.currencyCode, this.experienceOptions = {
|
|
14467
|
+
product: g.product,
|
|
14468
|
+
transaction: g,
|
|
14423
14469
|
layouts: [],
|
|
14424
14470
|
stateMutationFunc: async (d) => this.updateTransactionState({ ...d, context: { transactionOwnerId: i } }),
|
|
14425
14471
|
readOnly: t
|
|
@@ -14427,22 +14473,22 @@ class is {
|
|
|
14427
14473
|
return;
|
|
14428
14474
|
}
|
|
14429
14475
|
try {
|
|
14430
|
-
const
|
|
14476
|
+
const g = (r = (await A.mutate({
|
|
14431
14477
|
mutation: ka,
|
|
14432
14478
|
variables: { id: e },
|
|
14433
14479
|
errorPolicy: "all"
|
|
14434
14480
|
})).data) == null ? void 0 : r.transactionClaim;
|
|
14435
|
-
if (!
|
|
14481
|
+
if (!g)
|
|
14436
14482
|
throw new H("Failed to read transaction.");
|
|
14437
|
-
if (!
|
|
14483
|
+
if (!g.product)
|
|
14438
14484
|
throw new H("Failed to load transaction, product not available.");
|
|
14439
|
-
this.currencyCode = (c =
|
|
14440
|
-
product:
|
|
14441
|
-
transaction:
|
|
14485
|
+
this.currencyCode = (c = g.product.partner) == null ? void 0 : c.currencyCode, g.transactionOwnerId && (n.set(g.id, g.transactionOwnerId), P.setMap("transactionOwnerIds", n)), this.experienceOptions = {
|
|
14486
|
+
product: g.product,
|
|
14487
|
+
transaction: g,
|
|
14442
14488
|
layouts: [],
|
|
14443
14489
|
stateMutationFunc: async (d) => this.updateTransactionState({
|
|
14444
14490
|
...d,
|
|
14445
|
-
context: { transactionOwnerId:
|
|
14491
|
+
context: { transactionOwnerId: g.transactionOwnerId }
|
|
14446
14492
|
}),
|
|
14447
14493
|
readOnly: t
|
|
14448
14494
|
}, this.initialized = !0;
|
|
@@ -14493,8 +14539,8 @@ class is {
|
|
|
14493
14539
|
model: this.experienceOptions.product.modelUrl,
|
|
14494
14540
|
contextService: this.experienceOptions.renderableContextService
|
|
14495
14541
|
}));
|
|
14496
|
-
const
|
|
14497
|
-
return await
|
|
14542
|
+
const g = new Me(this, this.experienceOptions);
|
|
14543
|
+
return await g.getWorkflowManager().getInitializationPromise(), g;
|
|
14498
14544
|
}
|
|
14499
14545
|
throw new H("No workflow ID provided.");
|
|
14500
14546
|
}
|
|
@@ -14577,7 +14623,7 @@ class is {
|
|
|
14577
14623
|
return a.data.transactions[0].transactionShareActions;
|
|
14578
14624
|
}
|
|
14579
14625
|
}
|
|
14580
|
-
class
|
|
14626
|
+
class Ys {
|
|
14581
14627
|
getClient() {
|
|
14582
14628
|
return this.client ?? {};
|
|
14583
14629
|
}
|
|
@@ -14730,8 +14776,8 @@ class Ss {
|
|
|
14730
14776
|
return [];
|
|
14731
14777
|
}
|
|
14732
14778
|
}
|
|
14733
|
-
var
|
|
14734
|
-
class
|
|
14779
|
+
var os = /* @__PURE__ */ ((l) => (l.SelectFrame = "SelectFrame", l.SelectImage = "SelectImage", l.Position = "Position", l))(os || {});
|
|
14780
|
+
class rs extends X {
|
|
14735
14781
|
constructor(e, t, A) {
|
|
14736
14782
|
var a;
|
|
14737
14783
|
super(e, t, A), this.frameService = (a = this.manager.getStepSpecificServices(this.getId())) == null ? void 0 : a.frameService;
|
|
@@ -14905,132 +14951,132 @@ class os extends X {
|
|
|
14905
14951
|
}
|
|
14906
14952
|
export {
|
|
14907
14953
|
ut as AddonHandle,
|
|
14908
|
-
|
|
14909
|
-
|
|
14954
|
+
Ss as ArrayInput,
|
|
14955
|
+
Ns as AspectType,
|
|
14910
14956
|
ie as AssetNotFoundError,
|
|
14911
|
-
|
|
14912
|
-
|
|
14913
|
-
|
|
14914
|
-
|
|
14915
|
-
|
|
14957
|
+
vs as AssetType,
|
|
14958
|
+
Rs as BringForwardCommand,
|
|
14959
|
+
Hs as BringToBackCommand,
|
|
14960
|
+
ks as BringToFrontCommand,
|
|
14961
|
+
Us as CanvasCommand,
|
|
14916
14962
|
_e as CollectionProduct,
|
|
14917
14963
|
Jt as ColorOptionGlobalPropertyHandle,
|
|
14918
|
-
|
|
14964
|
+
Gs as CommandContext,
|
|
14919
14965
|
va as ConversionDataType,
|
|
14920
14966
|
Na as ConversionLocation,
|
|
14921
|
-
|
|
14922
|
-
|
|
14923
|
-
|
|
14967
|
+
bs as CreateElementCommand,
|
|
14968
|
+
Js as CreateLayoutCommand,
|
|
14969
|
+
Ts as DeleteElementCommand,
|
|
14924
14970
|
kn as DigitalContentStepHandle,
|
|
14925
|
-
|
|
14971
|
+
Si as FileUploadGlobalPropertyHandle,
|
|
14926
14972
|
Ye as FlowExecutionNodeResult,
|
|
14927
|
-
|
|
14928
|
-
|
|
14929
|
-
|
|
14930
|
-
|
|
14931
|
-
|
|
14932
|
-
|
|
14973
|
+
Ji as FlowExecutionResult,
|
|
14974
|
+
bi as FlowService,
|
|
14975
|
+
Os as FontAlignmentCommand,
|
|
14976
|
+
Ls as FontColorCommand,
|
|
14977
|
+
zs as FontSizeCommand,
|
|
14978
|
+
Ks as FontSourceCommand,
|
|
14933
14979
|
Xa as FrameService,
|
|
14934
|
-
|
|
14935
|
-
|
|
14980
|
+
os as FrameStep,
|
|
14981
|
+
rs as FrameStepHandle,
|
|
14936
14982
|
It as GlobalPropertyHandle,
|
|
14937
|
-
|
|
14983
|
+
js as GroupCommand,
|
|
14938
14984
|
Sn as IllustrationStepHandle,
|
|
14939
14985
|
Ve as InformationMessageType,
|
|
14940
14986
|
Hn as InformationStepHandle,
|
|
14941
14987
|
Tt as IntegrationProduct,
|
|
14942
14988
|
Pa as IntegrationType,
|
|
14943
|
-
|
|
14944
|
-
|
|
14989
|
+
Vs as LayoutElementFactory,
|
|
14990
|
+
Ws as LayoutElementType,
|
|
14945
14991
|
z as LayoutNotFoundError,
|
|
14946
14992
|
Yn as MaterialStepHandle,
|
|
14947
14993
|
Ue as MisconfigurationError,
|
|
14948
|
-
|
|
14994
|
+
Ys as MockWorkflowManager,
|
|
14949
14995
|
Pn as ModelStepHandle,
|
|
14950
14996
|
Un as ModuleStepHandle,
|
|
14951
|
-
|
|
14997
|
+
Xs as MoveCommand,
|
|
14952
14998
|
NA as ObjectInput,
|
|
14953
|
-
|
|
14999
|
+
Ti as ObjectInputType,
|
|
14954
15000
|
xA as OptionGlobalPropertyHandle,
|
|
14955
15001
|
ke as OptionNotFoundError,
|
|
14956
15002
|
he as ParseError,
|
|
14957
15003
|
xn as PictureStepHandle,
|
|
14958
15004
|
xa as ProductCameraRig,
|
|
14959
|
-
|
|
15005
|
+
Hi as ProductCollection,
|
|
14960
15006
|
Oe as ProductWorkflow,
|
|
14961
|
-
|
|
15007
|
+
me as PromiseCache,
|
|
14962
15008
|
dA as PromiseQueue,
|
|
14963
15009
|
Nn as QuestionStepHandle,
|
|
14964
15010
|
BA as QueueablePromise,
|
|
14965
|
-
|
|
15011
|
+
qs as ResizeCommand,
|
|
14966
15012
|
ue as ResourceNotFoundError,
|
|
14967
|
-
|
|
14968
|
-
|
|
15013
|
+
Zs as RotateCommand,
|
|
15014
|
+
$s as SendBackwardsCommand,
|
|
14969
15015
|
vn as ShapeStepHandle,
|
|
14970
|
-
|
|
15016
|
+
ss as SpiffCommerceClient,
|
|
14971
15017
|
Ge as StakeholderType,
|
|
14972
|
-
|
|
15018
|
+
_s as StepAspectType,
|
|
14973
15019
|
X as StepHandle,
|
|
14974
|
-
|
|
14975
|
-
|
|
14976
|
-
|
|
14977
|
-
|
|
15020
|
+
eo as StepType,
|
|
15021
|
+
to as TextChangeCommand,
|
|
15022
|
+
Yi as TextGlobalPropertyHandle,
|
|
15023
|
+
Ms as TextInput,
|
|
14978
15024
|
Rn as TextStepHandle,
|
|
14979
15025
|
Ya as TransactionShareActionType,
|
|
14980
|
-
|
|
14981
|
-
|
|
15026
|
+
Ui as Transform,
|
|
15027
|
+
ki as TransformCollection,
|
|
14982
15028
|
b as UnhandledBehaviorError,
|
|
14983
|
-
|
|
14984
|
-
|
|
15029
|
+
Ao as UnitOfMeasurement,
|
|
15030
|
+
ao as UpdateImageSourceCommand,
|
|
14985
15031
|
Z as Variant,
|
|
14986
15032
|
Vn as WorkflowExperienceEventType,
|
|
14987
15033
|
Me as WorkflowExperienceImpl,
|
|
14988
15034
|
U as assetService,
|
|
14989
15035
|
tn as browserColorToHex,
|
|
14990
15036
|
Ln as createDesign,
|
|
14991
|
-
|
|
15037
|
+
no as dataUrlFromExternalUrl,
|
|
14992
15038
|
$e as designService,
|
|
14993
|
-
|
|
15039
|
+
io as determineCorrectFontSizeAndLines,
|
|
14994
15040
|
wA as digitalContentStepService,
|
|
14995
|
-
|
|
14996
|
-
|
|
14997
|
-
|
|
15041
|
+
so as findElement,
|
|
15042
|
+
fs as findPmsColors,
|
|
15043
|
+
oo as frameDataCache,
|
|
14998
15044
|
Ae as frameStepService,
|
|
14999
|
-
|
|
15045
|
+
ro as generate,
|
|
15000
15046
|
ni as generateCommands,
|
|
15001
|
-
|
|
15002
|
-
|
|
15003
|
-
|
|
15047
|
+
co as generateSVGWithUnknownColors,
|
|
15048
|
+
ys as generateStateFromDesignInputSteps,
|
|
15049
|
+
lo as getAttributesFromArrayBuffer,
|
|
15004
15050
|
go as getAxisAlignedBoundingBox,
|
|
15005
15051
|
Wa as getBoundedOffsets,
|
|
15006
|
-
|
|
15007
|
-
|
|
15052
|
+
Bo as getFrameData,
|
|
15053
|
+
Co as getSvgElement,
|
|
15008
15054
|
Pe as getWorkflow,
|
|
15009
15055
|
vA as getWorkflows,
|
|
15010
15056
|
x as graphQlManager,
|
|
15011
15057
|
Ne as illustrationStepService,
|
|
15012
|
-
|
|
15013
|
-
|
|
15058
|
+
wo as loadFont,
|
|
15059
|
+
Is as matchHexToPms,
|
|
15014
15060
|
hA as materialStepService,
|
|
15015
15061
|
EA as modelStepService,
|
|
15016
15062
|
uA as moduleStepService,
|
|
15017
15063
|
V as optionService,
|
|
15018
|
-
|
|
15064
|
+
ho as patternImageDataCache,
|
|
15019
15065
|
P as persistenceService,
|
|
15020
|
-
|
|
15021
|
-
|
|
15022
|
-
|
|
15023
|
-
|
|
15024
|
-
|
|
15025
|
-
|
|
15066
|
+
mA as pictureStepService,
|
|
15067
|
+
Ds as pmsToRgb,
|
|
15068
|
+
QA as questionStepService,
|
|
15069
|
+
Eo as registerFetchImplementation,
|
|
15070
|
+
uo as registerWindowImplementation,
|
|
15071
|
+
mo as rehydrateSerializedLayout,
|
|
15026
15072
|
$a as rgbToPms,
|
|
15027
|
-
|
|
15073
|
+
ga as setBearerAuthenticationToken,
|
|
15028
15074
|
Qo as setCanvasModule,
|
|
15029
15075
|
Ee as shapeStepService,
|
|
15030
15076
|
qa as shortenUrl,
|
|
15031
15077
|
q as spiffCoreConfiguration,
|
|
15032
|
-
|
|
15033
|
-
|
|
15078
|
+
Fs as stepAspectValuesToDesignInputSteps,
|
|
15079
|
+
po as svgToDataUrl,
|
|
15034
15080
|
j as textStepService,
|
|
15035
15081
|
Bn as toast
|
|
15036
15082
|
};
|