@spiffcommerce/core 16.5.1-0 → 16.5.1-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -190,13 +190,13 @@ class Kt {
190
190
  uri: `${xA.getServerUrl()}/graphql`,
191
191
  fetch: _A
192
192
  }), e = vt(async (s, i) => {
193
- const { headers: r } = i, o = r || {}, c = await zt(), B = i.bearer ?? c.bearer, l = i.partnerId ?? c.partnerId, d = i.activeIntegration ?? c.activeIntegration, E = i.transactionOwnerId ?? c.transactionOwnerId, C = i.customerToken ?? c.customerToken, w = i.applicationKey ?? c.applicationKey, Q = i.bundleOwnerId ?? c.bundleOwnerId;
194
- return B && (o.Authorization = `Bearer ${B}`), l && (o.partnerId = l), d && (o.activeIntegration = d), E && (o.transactionOwnerId = E), C && (o.customerToken = C), w && (o["X-Application-Key"] = w), Q && (o.bundleOwnerId = Q), {
195
- headers: o
193
+ const { headers: o } = i, r = o || {}, c = await zt(), B = i.bearer ?? c.bearer, l = i.partnerId ?? c.partnerId, d = i.activeIntegration ?? c.activeIntegration, E = i.transactionOwnerId ?? c.transactionOwnerId, C = i.customerToken ?? c.customerToken, w = i.applicationKey ?? c.applicationKey, Q = i.bundleOwnerId ?? c.bundleOwnerId;
194
+ return B && (r.Authorization = `Bearer ${B}`), l && (r.partnerId = l), d && (r.activeIntegration = d), E && (r.transactionOwnerId = E), C && (r.customerToken = C), w && (r["X-Application-Key"] = w), Q && (r.bundleOwnerId = Q), {
195
+ headers: r
196
196
  };
197
- }), t = kt(({ operation: s, graphQLErrors: i, networkError: r }) => {
198
- const o = i || [];
199
- r && console.log("GraphQL Network error"), o.forEach(() => console.log("GraphQL Error: " + s.operationName));
197
+ }), t = kt(({ operation: s, graphQLErrors: i, networkError: o }) => {
198
+ const r = i || [];
199
+ o && console.log("GraphQL Network error"), r.forEach(() => console.log("GraphQL Error: " + s.operationName));
200
200
  });
201
201
  function a() {
202
202
  return {
@@ -375,10 +375,10 @@ class $t {
375
375
  constructor() {
376
376
  this.cache = /* @__PURE__ */ new Map(), this.materialCache = /* @__PURE__ */ new Map(), this.loadImageAsFileInfo = async (A) => {
377
377
  const e = await A.arrayBuffer(), t = await Fe(e), a = (n, s) => {
378
- const i = atob(n.split(",")[1]), r = [];
379
- for (let o = 0; o < i.length; o++)
380
- r.push(i.charCodeAt(o));
381
- return new Blob([new Uint8Array(r)], { type: s });
378
+ const i = atob(n.split(",")[1]), o = [];
379
+ for (let r = 0; r < i.length; r++)
380
+ o.push(i.charCodeAt(r));
381
+ return new Blob([new Uint8Array(o)], { type: s });
382
382
  };
383
383
  return {
384
384
  name: A.name.substring(A.name.lastIndexOf("/") + 1),
@@ -433,14 +433,14 @@ class $t {
433
433
  const s = await this.dispatchCreateAssetRequest(A, e, a, n);
434
434
  if (!s)
435
435
  throw new Error("Failed to create asset.");
436
- return await new Promise((i, r) => {
437
- const o = new XMLHttpRequest();
438
- o.open("PUT", s.assetResponse.uploadUrl, !0), o.setRequestHeader("Content-Type", s.mimeType), o.setRequestHeader("Cache-Control", "public,max-age=31536000,immutable"), o.upload.onprogress = (c) => {
436
+ return await new Promise((i, o) => {
437
+ const r = new XMLHttpRequest();
438
+ r.open("PUT", s.assetResponse.uploadUrl, !0), r.setRequestHeader("Content-Type", s.mimeType), r.setRequestHeader("Cache-Control", "public,max-age=31536000,immutable"), r.upload.onprogress = (c) => {
439
439
  c.lengthComputable && t(c.loaded * 100 / c.total);
440
- }, o.onload = () => {
440
+ }, r.onload = () => {
441
441
  const c = s.assetResponse.asset;
442
442
  LA.add(s.assetResponse.asset), i(c);
443
- }, o.onerror = r, o.send(A.blob);
443
+ }, r.onerror = o, r.send(A.blob);
444
444
  }), s.assetResponse.asset;
445
445
  }
446
446
  async uploadFile(A, e) {
@@ -649,12 +649,12 @@ class na {
649
649
  var a, n;
650
650
  const e = A.thumbnail;
651
651
  if (e) {
652
- const s = (a = e.versions) == null ? void 0 : a.find((r) => r.name === "thumbnail"), i = e.fileLink;
652
+ const s = (a = e.versions) == null ? void 0 : a.find((o) => o.name === "thumbnail"), i = e.fileLink;
653
653
  return (s == null ? void 0 : s.link) || i;
654
654
  }
655
655
  const t = A.asset;
656
656
  if (t) {
657
- const s = (n = t.versions) == null ? void 0 : n.find((r) => r.name === "thumbnail"), i = t.fileLink;
657
+ const s = (n = t.versions) == null ? void 0 : n.find((o) => o.name === "thumbnail"), i = t.fileLink;
658
658
  return (s == null ? void 0 : s.link) || i;
659
659
  }
660
660
  return A.material ? A.material.id : "";
@@ -1202,66 +1202,65 @@ const Ve = y`
1202
1202
  });
1203
1203
  for (const n of g.steps) {
1204
1204
  if (A.bulkScene) {
1205
- let r = !1;
1205
+ let i = !1;
1206
1206
  switch (n.type) {
1207
1207
  case I.DigitalContent:
1208
- n.data.varyUpload && (r = !0);
1208
+ n.data.varyUpload && (i = !0);
1209
1209
  break;
1210
1210
  case I.Frame:
1211
1211
  {
1212
1212
  const o = n.data;
1213
- o.varyUpload && (o.varySelection || !n.option) && (r = !0);
1213
+ o.varyUpload && (o.varySelection || !n.option) && (i = !0);
1214
1214
  }
1215
1215
  break;
1216
1216
  case I.Illustration:
1217
1217
  {
1218
1218
  const o = n.data;
1219
- (o.varySelection || !n.option || (n.option.variants || []).length === 1) && (o.varyColors || !o.colorPickerEnabled) && (r = !0);
1219
+ (o.varySelection || !n.option || (n.option.variants || []).length === 1) && (o.varyColors || !o.colorPickerEnabled) && (i = !0);
1220
1220
  }
1221
1221
  break;
1222
1222
  case I.Material:
1223
- n.data.varySelection && (r = !0);
1223
+ n.data.varySelection && (i = !0);
1224
1224
  break;
1225
1225
  case I.Model:
1226
- n.data.varySelection && (r = !0);
1226
+ n.data.varySelection && (i = !0);
1227
1227
  break;
1228
1228
  case I.Picture:
1229
- n.data.varySelection && (r = !0);
1229
+ n.data.varySelection && (i = !0);
1230
1230
  break;
1231
1231
  case I.Question:
1232
- n.data.varySelections && (r = !0);
1232
+ n.data.varySelections && (i = !0);
1233
1233
  break;
1234
1234
  case I.Shape:
1235
- n.data.varySelection && (r = !0);
1235
+ n.data.varySelection && (i = !0);
1236
1236
  break;
1237
1237
  case I.Text:
1238
1238
  {
1239
1239
  const o = n.data;
1240
- (o.varySelection || !n.option || (n.option.variants || []).length === 1) && (o.varyColor || !o.colorPickerEnabled || !o.colorOption) && o.varyText && (r = !0);
1240
+ (o.varySelection || !n.option || (n.option.variants || []).length === 1) && (o.varyColor || !o.colorPickerEnabled || !o.colorOption) && o.varyText && (i = !0);
1241
1241
  }
1242
1242
  break;
1243
1243
  }
1244
- if (r)
1244
+ if (i)
1245
1245
  continue;
1246
1246
  }
1247
1247
  const s = Ea(n.stepName, g.stepGroups);
1248
- if (!n.silent)
1249
- if (!s)
1250
- t.push({
1251
- name: n.stepName,
1252
- title: n.stepTitle,
1253
- renderableSteps: iA.includes(n.type) ? [] : [n],
1254
- silentSteps: iA.includes(n.type) ? [n] : []
1255
- });
1256
- else {
1257
- const r = t.find((o) => o.name === s.name);
1258
- r ? iA.includes(n.type) ? r.silentSteps.push(n) : r.renderableSteps.push(n) : t.push({
1259
- name: s.name,
1260
- title: s.name,
1261
- renderableSteps: iA.includes(n.type) ? [] : [n],
1262
- silentSteps: iA.includes(n.type) ? [n] : []
1263
- });
1264
- }
1248
+ if (!s)
1249
+ t.push({
1250
+ name: n.stepName,
1251
+ title: n.stepTitle,
1252
+ renderableSteps: iA.includes(n.type) ? [] : [n],
1253
+ silentSteps: iA.includes(n.type) ? [n] : []
1254
+ });
1255
+ else {
1256
+ const i = t.find((o) => o.name === s.name);
1257
+ i ? iA.includes(n.type) ? i.silentSteps.push(n) : i.renderableSteps.push(n) : t.push({
1258
+ name: s.name,
1259
+ title: s.name,
1260
+ renderableSteps: iA.includes(n.type) ? [] : [n],
1261
+ silentSteps: iA.includes(n.type) ? [n] : []
1262
+ });
1263
+ }
1265
1264
  }
1266
1265
  if (A.bulkScene) {
1267
1266
  const n = (a = e == null ? void 0 : e.product) == null ? void 0 : a.bulkConfiguration;
@@ -1322,16 +1321,16 @@ const Ve = y`
1322
1321
  var s;
1323
1322
  const t = aA(g, A), a = [];
1324
1323
  for (const i of t)
1325
- for (const r of i.renderableSteps) {
1326
- const o = (((s = r.option) == null ? void 0 : s.variants) || []).length;
1327
- r.type === I.Model || r.type === I.Material || r.type === I.Picture || r.type === I.Shape ? (o > 1 || e) && a.push(r.stepName) : a.push(r.stepName);
1324
+ for (const o of i.renderableSteps) {
1325
+ const r = (((s = o.option) == null ? void 0 : s.variants) || []).length;
1326
+ o.silent || (o.type === I.Model || o.type === I.Material || o.type === I.Picture || o.type === I.Shape ? (r > 1 || e) && a.push(o.stepName) : a.push(o.stepName));
1328
1327
  }
1329
1328
  const n = t.filter((i) => i.renderableSteps.filter(
1330
- (o) => a.includes(o.stepName)
1329
+ (r) => a.includes(r.stepName)
1331
1330
  ).length > 0);
1332
1331
  for (const i of n)
1333
1332
  i.renderableSteps = i.renderableSteps.filter(
1334
- (r) => a.includes(r.stepName)
1333
+ (o) => a.includes(o.stepName)
1335
1334
  );
1336
1335
  return n;
1337
1336
  };
@@ -1402,10 +1401,10 @@ class qe {
1402
1401
  function Qa(g, A, e, t) {
1403
1402
  const a = e.width * g.zoom, n = e.height * g.zoom;
1404
1403
  if (t) {
1405
- const i = g, r = Math.max(A.width / e.width, A.height / e.height);
1406
- i.zoom = Math.max(r, g.zoom);
1407
- const o = e.width * i.zoom, c = e.height * i.zoom;
1408
- return i.x = hA(g.x, A.width - o, 0), i.y = hA(g.y, A.height - c, 0), i;
1404
+ const i = g, o = Math.max(A.width / e.width, A.height / e.height);
1405
+ i.zoom = Math.max(o, g.zoom);
1406
+ const r = e.width * i.zoom, c = e.height * i.zoom;
1407
+ return i.x = hA(g.x, A.width - r, 0), i.y = hA(g.y, A.height - c, 0), i;
1409
1408
  }
1410
1409
  const s = g;
1411
1410
  return s.x = hA(s.x, -a, A.width), s.y = hA(s.y, -n, A.height), s;
@@ -1430,8 +1429,8 @@ class ua {
1430
1429
  if (a.currentFrameSources) {
1431
1430
  let n = !1;
1432
1431
  for (let s = 0; s < a.currentFrameSources.length; s++) {
1433
- const i = a.currentFrameSources[s], r = await Ae(i);
1434
- ke(r, this.frameData) || (this.frameData || (this.frameData = new Array(a.currentFrameSources.length)), this.frameData[s] = r, n = !0);
1432
+ const i = a.currentFrameSources[s], o = await Ae(i);
1433
+ ke(o, this.frameData) || (this.frameData || (this.frameData = new Array(a.currentFrameSources.length)), this.frameData[s] = o, n = !0);
1435
1434
  }
1436
1435
  n && (this.onFrameDataChangeListeners.forEach(
1437
1436
  (s) => s(this.frameData)
@@ -1500,7 +1499,7 @@ class ua {
1500
1499
  if (this.imageData && this.offsets && this.frameData) {
1501
1500
  (!this.offsets || this.offsets.length !== this.frameData.length) && (this.offsets = new Array(this.frameData.length));
1502
1501
  const n = this.frameData.map((s, i) => {
1503
- const r = (e[i] - this.offsets[i].x) / this.offsets[i].zoom, o = (t[i] - this.offsets[i].y) / this.offsets[i].zoom, c = e[i] - r * A[i], B = t[i] - o * A[i];
1502
+ const o = (e[i] - this.offsets[i].x) / this.offsets[i].zoom, r = (t[i] - this.offsets[i].y) / this.offsets[i].zoom, c = e[i] - o * A[i], B = t[i] - r * A[i];
1504
1503
  return {
1505
1504
  x: c,
1506
1505
  y: B,
@@ -1564,8 +1563,8 @@ class ua {
1564
1563
  if (!this.workflowManager)
1565
1564
  throw new v("No workflow manager set, cannot update offsets.");
1566
1565
  const s = this.workflowManager.getCommandDispatcher();
1567
- a.forEach((i, r) => {
1568
- s(new Me(i, e, A[r]));
1566
+ a.forEach((i, o) => {
1567
+ s(new Me(i, e, A[o]));
1569
1568
  }), this.stepName && this.workflowManager.updateStorage(this.stepName, {
1570
1569
  frameOffsetsList: A
1571
1570
  }), n && n();
@@ -1590,19 +1589,19 @@ class ua {
1590
1589
  class me {
1591
1590
  constructor(A, e, t) {
1592
1591
  this.processRegion = async (a) => {
1593
- var r, o, c, B;
1592
+ var o, r, c, B;
1594
1593
  const n = this.layouts.find((l) => l.panelId === a.panelId);
1595
1594
  if (!n)
1596
1595
  throw new L(a);
1597
1596
  let s = "";
1598
1597
  if (this.configuration.type === I.ProductOverlay) {
1599
1598
  let l = "";
1600
- if ((r = this.product) != null && r.overlayImageUrl && (l = this.product.overlayImageUrl), s = l, !l)
1599
+ if ((o = this.product) != null && o.overlayImageUrl && (l = this.product.overlayImageUrl), s = l, !l)
1601
1600
  throw new SA(this.configuration, "Couldn't find an asset for product overlay step");
1602
1601
  }
1603
1602
  const i = this.evaluateAssetType();
1604
1603
  if (i === H.Image) {
1605
- const l = this.configuration.type === I.SilentIllustration ? (o = this.configuration.data.asset) == null ? void 0 : o.fileLink : (c = this.product) == null ? void 0 : c.overlayImageUrl;
1604
+ const l = this.configuration.type === I.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (c = this.product) == null ? void 0 : c.overlayImageUrl;
1606
1605
  if (!l)
1607
1606
  throw new Error("Undefined raster silent step source");
1608
1607
  const d = {
@@ -1733,17 +1732,17 @@ class pa {
1733
1732
  const a = e.getSerializedStep(
1734
1733
  A.stepName,
1735
1734
  t.serializableWorkflow.steps
1736
- ), r = Object.values(t.layouts).map((o) => o.elements).flat().filter((o) => o.stepName === A.stepName).map((o) => ({ id: o.id, region: o.stepRegion }));
1737
- await e.setSelectionsAndElements(A.stepName, [], r, async () => {
1735
+ ), o = Object.values(t.layouts).map((r) => r.elements).flat().filter((r) => r.stepName === A.stepName).map((r) => ({ id: r.id, region: r.stepRegion }));
1736
+ await e.setSelectionsAndElements(A.stepName, [], o, async () => {
1738
1737
  var B, l;
1739
- const o = (B = a == null ? void 0 : a.storage) == null ? void 0 : B.videoShortUrl, c = (l = a == null ? void 0 : a.storage) == null ? void 0 : l.videoUrl;
1738
+ const r = (B = a == null ? void 0 : a.storage) == null ? void 0 : B.videoShortUrl, c = (l = a == null ? void 0 : a.storage) == null ? void 0 : l.videoUrl;
1740
1739
  e.updateStorage(A.stepName, {
1741
- videoShortUrl: o,
1740
+ videoShortUrl: r,
1742
1741
  videoUrl: c
1743
1742
  });
1744
1743
  });
1745
1744
  }
1746
- async regenerateQRCode(A, e, t, a, n, s, i, r, o) {
1745
+ async regenerateQRCode(A, e, t, a, n, s, i, o, r) {
1747
1746
  if (!e && t !== "" && a === "") {
1748
1747
  const c = async () => {
1749
1748
  var f, p;
@@ -1768,7 +1767,7 @@ class pa {
1768
1767
  40
1769
1768
  );
1770
1769
  });
1771
- A.forEach((h) => r(new $(h.id)));
1770
+ A.forEach((h) => o(new $(h.id)));
1772
1771
  const l = s.data.baseUrl.slice(0, 4) === "http" ? "" : "https://", d = new URL(l + s.data.baseUrl);
1773
1772
  d.searchParams.append("video", btoa(JSON.stringify([B]))), d.pathname = d.pathname + (d.pathname.slice(-1) === "/" ? "" : "/");
1774
1773
  const E = d.toString();
@@ -1782,18 +1781,18 @@ class pa {
1782
1781
  n.updateStorage(s.stepName, {
1783
1782
  videoShortUrl: C,
1784
1783
  videoUrl: a
1785
- }), o(!1);
1784
+ }), r(!1);
1786
1785
  });
1787
1786
  } else
1788
- o(!1);
1787
+ r(!1);
1789
1788
  }
1790
1789
  async regionElements(A) {
1791
1790
  const e = (t) => ({ id: k(), region: t });
1792
1791
  return A.data.regions.map(e);
1793
1792
  }
1794
1793
  async command(A, e, t, a) {
1795
- const n = t.getLayouts(), i = `data:image/svg+xml;base64,${btoa(await be(A, { type: "svg" }))}`, r = e.map((o) => {
1796
- const c = o.region, B = n.find((l) => l.panelId === (c == null ? void 0 : c.panelId));
1794
+ const n = t.getLayouts(), i = `data:image/svg+xml;base64,${btoa(await be(A, { type: "svg" }))}`, o = e.map((r) => {
1795
+ const c = r.region, B = n.find((l) => l.panelId === (c == null ? void 0 : c.panelId));
1797
1796
  if (!B && c)
1798
1797
  throw new L(c);
1799
1798
  if (B && !c)
@@ -1804,7 +1803,7 @@ class pa {
1804
1803
  {
1805
1804
  stepRegion: c,
1806
1805
  stepName: a,
1807
- id: o.id,
1806
+ id: r.id,
1808
1807
  src: i,
1809
1808
  type: H.Image,
1810
1809
  y: c.top,
@@ -1816,7 +1815,7 @@ class pa {
1816
1815
  B
1817
1816
  );
1818
1817
  });
1819
- return { command: new G(r), followup: async () => {
1818
+ return { command: new G(o), followup: async () => {
1820
1819
  } };
1821
1820
  }
1822
1821
  }
@@ -1859,11 +1858,11 @@ class Da {
1859
1858
  );
1860
1859
  }
1861
1860
  async reload(A, e, t) {
1862
- var o;
1861
+ var r;
1863
1862
  const a = e.getSerializedStep(
1864
1863
  A.stepName,
1865
1864
  t.serializableWorkflow.steps
1866
- ), r = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName).map((c) => ({ id: c.id, region: c.stepRegion }));
1865
+ ), o = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName).map((c) => ({ id: c.id, region: c.stepRegion }));
1867
1866
  if (!A.option || (A.option.variants || []).length === 0) {
1868
1867
  const c = A.data.regions.map((B) => Be(B));
1869
1868
  e.updateStorage(A.stepName, {
@@ -1896,11 +1895,11 @@ class Da {
1896
1895
  if (a.selectedVariants && a.selectedVariants.length > 0) {
1897
1896
  const B = a.selectedVariants[0].id;
1898
1897
  if (A.option && B) {
1899
- const l = (o = A.option.variants) == null ? void 0 : o.find((d) => d.id === B);
1898
+ const l = (r = A.option.variants) == null ? void 0 : r.find((d) => d.id === B);
1900
1899
  l && await e.setSelectionsAndElements(
1901
1900
  A.stepName,
1902
1901
  [l],
1903
- r,
1902
+ o,
1904
1903
  async () => {
1905
1904
  const d = await Promise.all(
1906
1905
  A.data.regions.map((E) => this.frameSourceSvg(l, E))
@@ -1910,15 +1909,15 @@ class Da {
1910
1909
  );
1911
1910
  }
1912
1911
  } else
1913
- await e.setSelectionsAndElements(A.stepName, [], r, c);
1912
+ await e.setSelectionsAndElements(A.stepName, [], o, c);
1914
1913
  }
1915
1914
  }
1916
1915
  selectImage(A, e, t) {
1917
1916
  t.setEditedStatus(A.stepName, !0), (e.fileLink || "").endsWith("pdf") ? t.addPoller(
1918
1917
  new Ze(
1919
1918
  async () => {
1920
- var r;
1921
- const s = (r = (await T.getLocalOrFromServer(e.key || "")).versions) == null ? void 0 : r.find((o) => o.name === "svg");
1919
+ var o;
1920
+ const s = (o = (await T.getLocalOrFromServer(e.key || "")).versions) == null ? void 0 : o.find((r) => r.name === "svg");
1922
1921
  return s ? (await fetch(s.link)).status === 200 : !1;
1923
1922
  },
1924
1923
  () => {
@@ -1995,13 +1994,13 @@ class Da {
1995
1994
  const i = (l = a.getStepSpecificServices(A.stepName)) == null ? void 0 : l.frameService;
1996
1995
  if (!i)
1997
1996
  throw new Error("Frame service unavailable, cannot load pattern!");
1998
- const r = await Promise.all(
1997
+ const o = await Promise.all(
1999
1998
  A.data.regions.map((d) => this.frameSourceSvg(e, d))
2000
1999
  );
2001
2000
  n && n(!0);
2002
- const o = await Promise.all(
2001
+ const r = await Promise.all(
2003
2002
  A.data.regions.map(async (d, E) => {
2004
- const C = await Ae(r[E]), w = i.getImageData(), Q = t.map((m) => new $(m.id)), h = w ? ee(w, C) : void 0, u = w ? {
2003
+ const C = await Ae(o[E]), w = i.getImageData(), Q = t.map((m) => new $(m.id)), h = w ? ee(w, C) : void 0, u = w ? {
2005
2004
  id: k(),
2006
2005
  src: w.src,
2007
2006
  x: (h == null ? void 0 : h.x) || 0,
@@ -2031,17 +2030,17 @@ class Da {
2031
2030
  removeExistingCommands: Q
2032
2031
  };
2033
2032
  })
2034
- ), c = o.map((d) => d.command), B = o.map((d) => d.removeExistingCommands).flat();
2033
+ ), c = r.map((d) => d.command), B = r.map((d) => d.removeExistingCommands).flat();
2035
2034
  return {
2036
2035
  command: new G([...c, ...B]),
2037
2036
  followup: async () => {
2038
2037
  n && n(!1), await a.setSelectionsAndElements(
2039
2038
  A.stepName,
2040
2039
  e ? [e] : [],
2041
- [...o.map((d) => d.regionEl)],
2040
+ [...r.map((d) => d.regionEl)],
2042
2041
  async () => {
2043
2042
  var d;
2044
- if (a.updateStorage(A.stepName, { currentFrameSources: r }), s) {
2043
+ if (a.updateStorage(A.stepName, { currentFrameSources: o }), s) {
2045
2044
  const E = (d = a.getStepSpecificServices(
2046
2045
  A.stepName
2047
2046
  )) == null ? void 0 : d.frameService;
@@ -2137,15 +2136,15 @@ class fa {
2137
2136
  return null;
2138
2137
  }
2139
2138
  async reload(A, e, t) {
2140
- var o;
2139
+ var r;
2141
2140
  const a = e.getSerializedStep(
2142
2141
  A.stepName,
2143
2142
  t.serializableWorkflow.steps
2144
- ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), r = A.option;
2143
+ ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), o = A.option;
2145
2144
  if (a != null && a.selectedVariants) {
2146
2145
  const c = a.selectedVariants[0].id;
2147
- if (r && c) {
2148
- const B = (o = r.variants) == null ? void 0 : o.find((l) => l.id === c);
2146
+ if (o && c) {
2147
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
2149
2148
  if (B) {
2150
2149
  const l = i.map((d) => ({ id: d.id, region: d.stepRegion }));
2151
2150
  await e.setSelectionsAndElements(
@@ -2179,13 +2178,13 @@ class fa {
2179
2178
  const s = {};
2180
2179
  for (const [B, l] of n.entries())
2181
2180
  s[B] = { browserValue: l, spotColor: (c = s[B]) == null ? void 0 : c.spotColor };
2182
- const i = ft(A, e, t, s), r = await FA(i), o = [];
2181
+ const i = ft(A, e, t, s), o = await FA(i), r = [];
2183
2182
  for (const B of a) {
2184
2183
  for (const [l, d] of n.entries())
2185
- o.push(new jA(B, l, d));
2186
- o.push(new Ft(B, i, r));
2184
+ r.push(new jA(B, l, d));
2185
+ r.push(new Ft(B, i, o));
2187
2186
  }
2188
- return new G(o);
2187
+ return new G(r);
2189
2188
  }
2190
2189
  async changeColors(A, e, t, a, n) {
2191
2190
  var d, E;
@@ -2194,21 +2193,21 @@ class fa {
2194
2193
  const s = MA(
2195
2194
  e[0].id,
2196
2195
  a().map((C) => C.layoutState)
2197
- ), i = { ...s.colors }, r = {};
2196
+ ), i = { ...s.colors }, o = {};
2198
2197
  Object.entries(i).forEach(([C, w]) => {
2199
2198
  const Q = { browserValue: w.browserValue }, h = w.spotColor;
2200
- h && (Q.spotColor = { profileName: h.profileName, namedColor: h.namedColor }), r[C] = Q;
2199
+ h && (Q.spotColor = { profileName: h.profileName, namedColor: h.namedColor }), o[C] = Q;
2201
2200
  });
2202
2201
  for (const [C, w] of n.entries())
2203
- i[C] = { browserValue: w, spotColor: (d = i[C]) == null ? void 0 : d.spotColor }, r[C] = { browserValue: w };
2204
- let o = Array.from(Object.values(i)).map((C) => C.browserValue);
2202
+ i[C] = { browserValue: w, spotColor: (d = i[C]) == null ? void 0 : d.spotColor }, o[C] = { browserValue: w };
2203
+ let r = Array.from(Object.values(i)).map((C) => C.browserValue);
2205
2204
  const c = A.data.colorOption;
2206
2205
  c && ((E = c.variants) == null || E.forEach((C) => {
2207
- o = o.map((w) => {
2206
+ r = r.map((w) => {
2208
2207
  var Q;
2209
2208
  return w.toLowerCase() === ((Q = C.color) == null ? void 0 : Q.toLowerCase()) ? C.name : w;
2210
2209
  });
2211
- })), t.updateMetadata(A.stepName, { colors: o });
2210
+ })), t.updateMetadata(A.stepName, { colors: r });
2212
2211
  const B = /* @__PURE__ */ new Map();
2213
2212
  if (Object.entries(i).forEach(([C, w]) => {
2214
2213
  B.set(C, w.browserValue);
@@ -2222,7 +2221,7 @@ class fa {
2222
2221
  B
2223
2222
  );
2224
2223
  t.updateStorage(A.stepName, {
2225
- colors: r
2224
+ colors: o
2226
2225
  }), t.getCommandDispatcher()(l);
2227
2226
  }
2228
2227
  async selectVariant(A, e, t, a, n) {
@@ -2239,10 +2238,10 @@ class fa {
2239
2238
  const i = e.asset;
2240
2239
  if (!i)
2241
2240
  throw new _(e);
2242
- const r = i.fileLink;
2243
- if (!r)
2241
+ const o = i.fileLink;
2242
+ if (!o)
2244
2243
  throw new lA(i);
2245
- const o = await ye(await this.getIllustrationBody(r)), c = await FA(o.svg), B = (h) => {
2244
+ const r = await ye(await this.getIllustrationBody(o)), c = await FA(r.svg), B = (h) => {
2246
2245
  const u = n.getLayouts().find((p) => p.panelId === h.panelId);
2247
2246
  if (!u)
2248
2247
  throw new L(h);
@@ -2251,13 +2250,13 @@ class fa {
2251
2250
  regionElement: { id: f, region: h },
2252
2251
  command: this.getCreateElementCommand(f, h, u, {
2253
2252
  stepName: A.stepName,
2254
- src: r,
2253
+ src: o,
2255
2254
  objectURL: c,
2256
- svg: o
2255
+ svg: r
2257
2256
  })
2258
2257
  };
2259
2258
  }, l = A.data.regions.map(B), E = [...l.map((h) => h.command), ...s];
2260
- let C = Array.from(Object.values(o.colors)).map((h) => h.browserValue);
2259
+ let C = Array.from(Object.values(r.colors)).map((h) => h.browserValue);
2261
2260
  const w = A.data.colorOption;
2262
2261
  return w && ((Q = w.variants) == null || Q.forEach((h) => {
2263
2262
  C = C.map((u) => {
@@ -2296,17 +2295,17 @@ class Fa {
2296
2295
  return null;
2297
2296
  }
2298
2297
  async reload(A, e, t) {
2299
- var o;
2298
+ var r;
2300
2299
  const a = e.getSerializedStep(
2301
2300
  A.stepName,
2302
2301
  t.serializableWorkflow.steps
2303
- ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), r = A.option;
2304
- if (!r)
2302
+ ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), o = A.option;
2303
+ if (!o)
2305
2304
  throw new YA(A);
2306
2305
  if (a != null && a.selectedVariants) {
2307
2306
  const c = a.selectedVariants[0].id;
2308
2307
  if (c) {
2309
- const B = (o = r.variants) == null ? void 0 : o.find((l) => l.id === c);
2308
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
2310
2309
  if (B) {
2311
2310
  const l = B.material, d = i.map((E) => ({ id: E.id, region: E.stepRegion }));
2312
2311
  await e.setSelectionsAndElements(
@@ -2316,7 +2315,7 @@ class Fa {
2316
2315
  async () => {
2317
2316
  const E = e.getModelContainer();
2318
2317
  if (E) {
2319
- const C = A.data.targetMaterials.map((w) => E.applyMaterialVariant(w, r.id || "", l || {}));
2318
+ const C = A.data.targetMaterials.map((w) => E.applyMaterialVariant(w, o.id || "", l || {}));
2320
2319
  Promise.all(C).then(
2321
2320
  () => e.setMandatoryFulfilled(A.stepName, !0)
2322
2321
  );
@@ -2370,15 +2369,15 @@ class Ma {
2370
2369
  return null;
2371
2370
  }
2372
2371
  async reload(A, e, t) {
2373
- var o;
2372
+ var r;
2374
2373
  const a = e.getSerializedStep(
2375
2374
  A.stepName,
2376
2375
  t.serializableWorkflow.steps
2377
- ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), r = A.option;
2376
+ ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), o = A.option;
2378
2377
  if (a != null && a.selectedVariants) {
2379
2378
  const c = a.selectedVariants[0].id;
2380
- if (r && c) {
2381
- const B = (o = r.variants) == null ? void 0 : o.find((l) => l.id === c);
2379
+ if (o && c) {
2380
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
2382
2381
  if (B) {
2383
2382
  const l = i.map((d) => ({ id: d.id, region: d.stepRegion }));
2384
2383
  await e.setSelectionsAndElements(
@@ -2453,10 +2452,10 @@ class ya {
2453
2452
  const a = e.getSerializedStep(
2454
2453
  A.stepName,
2455
2454
  t.serializableWorkflow.steps
2456
- ), r = Object.values(t.layouts).map((o) => o.elements).flat().filter((o) => o.stepName === A.stepName).map((o) => ({ id: o.id, region: o.stepRegion }));
2457
- await e.setSelectionsAndElements(A.stepName, [], r, async () => {
2458
- var o, c;
2459
- e.updateStorage(A.stepName, { text: (o = a == null ? void 0 : a.storage) == null ? void 0 : o.text }), e.setMandatoryFulfilled(A.stepName, ((c = a == null ? void 0 : a.storage) == null ? void 0 : c.text) !== "");
2455
+ ), o = Object.values(t.layouts).map((r) => r.elements).flat().filter((r) => r.stepName === A.stepName).map((r) => ({ id: r.id, region: r.stepRegion }));
2456
+ await e.setSelectionsAndElements(A.stepName, [], o, async () => {
2457
+ var r, c;
2458
+ e.updateStorage(A.stepName, { text: (r = a == null ? void 0 : a.storage) == null ? void 0 : r.text }), e.setMandatoryFulfilled(A.stepName, ((c = a == null ? void 0 : a.storage) == null ? void 0 : c.text) !== "");
2460
2459
  });
2461
2460
  }
2462
2461
  async changeText(A, e, t, a, n) {
@@ -2468,13 +2467,13 @@ class ya {
2468
2467
  const s = t.getRegionElements(A.stepName), i = (c = t.getStepSpecificServices(A.stepName)) == null ? void 0 : c.module;
2469
2468
  if (!i)
2470
2469
  return console.error("Missing module."), null;
2471
- const r = t.getProfanities();
2472
- if (!this.validateInput(A, e, r, n))
2470
+ const o = t.getProfanities();
2471
+ if (!this.validateInput(A, e, o, n))
2473
2472
  return t.setMandatoryFulfilled(A.stepName, !1), console.error(a), null;
2474
2473
  if (t.setMandatoryFulfilled(A.stepName, e !== ""), !A.data || !A.data.regions || A.data.regions.length <= 0)
2475
2474
  return console.error("Missing configuration."), null;
2476
2475
  t.updateStorage(A.stepName, { text: e });
2477
- const o = (B, l, d) => {
2476
+ const r = (B, l, d) => {
2478
2477
  const E = d || k(), w = t.getLayouts().find((h) => h.panelId === l.panelId);
2479
2478
  if (!w)
2480
2479
  return console.error(`Can not find layout for region: ${l.panelId}`), null;
@@ -2510,7 +2509,7 @@ class ya {
2510
2509
  if (!d.region)
2511
2510
  return null;
2512
2511
  const E = i.svgPrint(e, d.region);
2513
- return o(E, d.region, d.id);
2512
+ return r(E, d.region, d.id);
2514
2513
  }).filter((d) => !!d).filter((d) => !!d).map((d) => d && d.command);
2515
2514
  return {
2516
2515
  command: new G(l),
@@ -2519,7 +2518,7 @@ class ya {
2519
2518
  };
2520
2519
  } else {
2521
2520
  const B = A.data.regions.map(
2522
- (d) => o(i.svgPrint(e, d), d)
2521
+ (d) => r(i.svgPrint(e, d), d)
2523
2522
  ), l = B.filter((d) => !!d).map((d) => d && d.command);
2524
2523
  return {
2525
2524
  command: new G(l),
@@ -2545,8 +2544,8 @@ class ya {
2545
2544
  const n = XA(e.toLowerCase());
2546
2545
  for (const s of n)
2547
2546
  for (const i in t) {
2548
- const r = t[i].toLowerCase().replace(/\s/g, "");
2549
- if (s === r)
2547
+ const o = t[i].toLowerCase().replace(/\s/g, "");
2548
+ if (s === o)
2550
2549
  return a("Blocked profanity."), !1;
2551
2550
  }
2552
2551
  return a(""), !0;
@@ -2566,15 +2565,15 @@ class Sa {
2566
2565
  return e.markStepsAsInitialised([A.stepName]), null;
2567
2566
  }
2568
2567
  async reload(A, e, t) {
2569
- var o;
2568
+ var r;
2570
2569
  const a = e.getSerializedStep(
2571
2570
  A.stepName,
2572
2571
  t.serializableWorkflow.steps
2573
- ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), r = A.option;
2572
+ ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), o = A.option;
2574
2573
  if (a != null && a.selectedVariants) {
2575
2574
  const c = a.selectedVariants[0].id;
2576
- if (r && c) {
2577
- const B = (o = r.variants) == null ? void 0 : o.find((l) => l.id === c);
2575
+ if (o && c) {
2576
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
2578
2577
  if (B) {
2579
2578
  const l = i.map((d) => ({ id: d.id, region: d.stepRegion }));
2580
2579
  await e.setSelectionsAndElements(
@@ -2601,7 +2600,7 @@ class Sa {
2601
2600
  if (!s)
2602
2601
  return console.error("No URL for picture!"), null;
2603
2602
  a(!0), t.setMandatoryFulfilled(A.stepName, !1);
2604
- const r = t.getRegionElements(A.stepName).map((B) => new $(B.id)), o = (B) => {
2603
+ const o = t.getRegionElements(A.stepName).map((B) => new $(B.id)), r = (B) => {
2605
2604
  const d = t.getLayouts().find((C) => C.panelId === B.panelId);
2606
2605
  if (!d)
2607
2606
  throw new L(B);
@@ -2628,9 +2627,9 @@ class Sa {
2628
2627
  d
2629
2628
  )
2630
2629
  };
2631
- }, c = A.data.regions.map(o);
2630
+ }, c = A.data.regions.map(r);
2632
2631
  return {
2633
- command: new G([...r, ...c.map((B) => B.command)]),
2632
+ command: new G([...o, ...c.map((B) => B.command)]),
2634
2633
  followup: async () => {
2635
2634
  await t.setSelectionsAndElements(
2636
2635
  A.stepName,
@@ -2655,9 +2654,9 @@ class xa {
2655
2654
  else {
2656
2655
  const n = a.variants;
2657
2656
  if (z.getDefaultVariant(a)) {
2658
- const i = n == null ? void 0 : n.find((r) => {
2659
- var o;
2660
- return r.id === ((o = a.defaultVariant) == null ? void 0 : o.id);
2657
+ const i = n == null ? void 0 : n.find((o) => {
2658
+ var r;
2659
+ return o.id === ((r = a.defaultVariant) == null ? void 0 : r.id);
2661
2660
  });
2662
2661
  return this.selectVariantLambda(A, (i == null ? void 0 : i.id) || "", e);
2663
2662
  }
@@ -2673,8 +2672,8 @@ class xa {
2673
2672
  if (a != null && a.selectedVariants) {
2674
2673
  const i = a.selectedVariants[0].id;
2675
2674
  if (n && i) {
2676
- const r = (s = n.variants) == null ? void 0 : s.find((o) => o.id === i);
2677
- r && await e.setSelectionsAndElements(A.stepName, [r], []);
2675
+ const o = (s = n.variants) == null ? void 0 : s.find((r) => r.id === i);
2676
+ o && await e.setSelectionsAndElements(A.stepName, [o], []);
2678
2677
  }
2679
2678
  }
2680
2679
  }
@@ -2720,9 +2719,9 @@ class Na {
2720
2719
  }
2721
2720
  setCustomColor(A, e, t) {
2722
2721
  const a = t.getLayouts(), s = (t.getRegionElements(e.stepName) || []).map((i) => {
2723
- const r = i.region;
2724
- if (!a.find((c) => c.panelId === (r == null ? void 0 : r.panelId)))
2725
- throw new L(r);
2722
+ const o = i.region;
2723
+ if (!a.find((c) => c.panelId === (o == null ? void 0 : o.panelId)))
2724
+ throw new L(o);
2726
2725
  return new jA(i.id, this.shapeFillId, A);
2727
2726
  }).filter((i) => !!i);
2728
2727
  t.getCommandDispatcher()(new G(s)), t.updateStorage(e.stepName, { colour: A });
@@ -2753,15 +2752,15 @@ class Na {
2753
2752
  n && (n.command && a.getCommandDispatcher()(n.command), n.followup && await n.followup());
2754
2753
  }
2755
2754
  async reload(A, e, t) {
2756
- var o;
2755
+ var r;
2757
2756
  const a = e.getSerializedStep(
2758
2757
  A.stepName,
2759
2758
  t.serializableWorkflow.steps
2760
- ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), r = A.option;
2759
+ ), i = Object.values(t.layouts).map((c) => c.elements).flat().filter((c) => c.stepName === A.stepName), o = A.option;
2761
2760
  if (a != null && a.selectedVariants) {
2762
2761
  const c = a.selectedVariants[0].id;
2763
- if (r && c) {
2764
- const B = (o = r.variants) == null ? void 0 : o.find((l) => l.id === c);
2762
+ if (o && c) {
2763
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
2765
2764
  if (B) {
2766
2765
  const l = i.map((d) => ({ id: d.id, region: d.stepRegion }));
2767
2766
  await e.setSelectionsAndElements(
@@ -2780,23 +2779,23 @@ class Na {
2780
2779
  }
2781
2780
  }
2782
2781
  async selectVariantCommand(A, e, t, a) {
2783
- var r;
2784
- const n = a.getLayouts(), s = (r = a.getStepStorage(A.stepName)) == null ? void 0 : r.colour, i = () => {
2785
- var o, c;
2786
- if (((o = e.variant) == null ? void 0 : o.color) === "#custom")
2782
+ var o;
2783
+ const n = a.getLayouts(), s = (o = a.getStepStorage(A.stepName)) == null ? void 0 : o.colour, i = () => {
2784
+ var r, c;
2785
+ if (((r = e.variant) == null ? void 0 : r.color) === "#custom")
2787
2786
  return s || "#FFFFFF";
2788
2787
  if ((c = e.variant) != null && c.color)
2789
2788
  return e.variant.color;
2790
2789
  throw new Error("Failed to resolve color for shape step.");
2791
2790
  };
2792
2791
  if (t.length > 0) {
2793
- const o = (B) => {
2792
+ const r = (B) => {
2794
2793
  const l = B.region;
2795
2794
  if (!n.find((C) => C.panelId === (l == null ? void 0 : l.panelId)))
2796
2795
  throw new L(l);
2797
2796
  const E = i();
2798
2797
  return new jA(B.id, this.shapeFillId, E);
2799
- }, c = t.map(o).filter((B) => !!B);
2798
+ }, c = t.map(r).filter((B) => !!B);
2800
2799
  return {
2801
2800
  command: new G(c),
2802
2801
  followup: async () => {
@@ -2808,7 +2807,7 @@ class Na {
2808
2807
  }
2809
2808
  };
2810
2809
  } else {
2811
- const o = (d) => {
2810
+ const r = (d) => {
2812
2811
  const E = n.find((u) => u.panelId === d.panelId);
2813
2812
  if (!E)
2814
2813
  throw new L(d);
@@ -2859,7 +2858,7 @@ class Na {
2859
2858
  E
2860
2859
  )
2861
2860
  };
2862
- }, c = A.data.regions.map(o), B = c.filter((d) => !!d).map((d) => d == null ? void 0 : d.command), l = c.filter((d) => !!d).map((d) => ({ id: d.id, region: d.region }));
2861
+ }, c = A.data.regions.map(r), B = c.filter((d) => !!d).map((d) => d == null ? void 0 : d.command), l = c.filter((d) => !!d).map((d) => ({ id: d.id, region: d.region }));
2863
2862
  return {
2864
2863
  command: new G(B),
2865
2864
  followup: async () => {
@@ -2921,9 +2920,9 @@ class Ua {
2921
2920
  );
2922
2921
  const a = [], n = e ? Mt(e.assetUrl) : void 0;
2923
2922
  if (n) {
2924
- const s = t.split("").filter((r) => !Ha.includes(r)).join(""), i = s.split("").map((r) => n.getFont().charToGlyph(r));
2925
- for (let r = 0; r < i.length; r++)
2926
- i[r].name === ".notdef" && a.push(String.fromCharCode(s.charCodeAt(r)));
2923
+ const s = t.split("").filter((o) => !Ha.includes(o)).join(""), i = s.split("").map((o) => n.getFont().charToGlyph(o));
2924
+ for (let o = 0; o < i.length; o++)
2925
+ i[o].name === ".notdef" && a.push(String.fromCharCode(s.charCodeAt(o)));
2927
2926
  }
2928
2927
  for (let s = 0; s < a.length; s++)
2929
2928
  t = t.replaceAll(a[s], "");
@@ -2932,10 +2931,10 @@ class Ua {
2932
2931
  const a = [];
2933
2932
  e.data && e.data.maxLength && A.length > e.data.maxLength && a.push({ localizationKey: "workflow.steps.text.characterLimit" });
2934
2933
  const n = t.getProfanities(), s = XA(A.toLowerCase());
2935
- for (const r of s)
2936
- for (const o in n) {
2937
- const c = n[o].toLowerCase().replace(/\s/g, "");
2938
- if (r === c) {
2934
+ for (const o of s)
2935
+ for (const r in n) {
2936
+ const c = n[r].toLowerCase().replace(/\s/g, "");
2937
+ if (o === c) {
2939
2938
  a.push({ localizationKey: "workflow.steps.text.blockedProfanity" });
2940
2939
  break;
2941
2940
  }
@@ -2952,7 +2951,7 @@ class Ua {
2952
2951
  if (t)
2953
2952
  await this.reload(A, e, t);
2954
2953
  else {
2955
- const r = this.getDefaultImageFillVariant(A.data), o = (n = r == null ? void 0 : r.asset) == null ? void 0 : n.fileLink, c = o ? await VA(o) : void 0, B = c ? {
2954
+ const o = this.getDefaultImageFillVariant(A.data), r = (n = o == null ? void 0 : o.asset) == null ? void 0 : n.fileLink, c = r ? await VA(r) : void 0, B = c ? {
2956
2955
  src: c.src,
2957
2956
  height: c.height,
2958
2957
  width: c.width,
@@ -2965,7 +2964,7 @@ class Ua {
2965
2964
  }), e.updateMetadata(A.stepName, {
2966
2965
  text: A.data.defaultText || "",
2967
2966
  color: ((i = await this.getDefaultColorVariant(A.data)) == null ? void 0 : i.name) || await this.getDefaultColor(A.data),
2968
- fillImage: r == null ? void 0 : r.name
2967
+ fillImage: o == null ? void 0 : o.name
2969
2968
  });
2970
2969
  const l = z.getDefaultVariant(a);
2971
2970
  if (l)
@@ -3009,7 +3008,7 @@ class Ua {
3009
3008
  return [];
3010
3009
  }
3011
3010
  async changeFillColor(A, e, t, a) {
3012
- var r;
3011
+ var o;
3013
3012
  if (!A.data || !A.data.regions)
3014
3013
  return;
3015
3014
  const n = a.getCommandDispatcher();
@@ -3017,14 +3016,14 @@ class Ua {
3017
3016
  const s = A.data.colorOption, i = s ? this.createTextFillSpotColor(s, e.variant) : void 0;
3018
3017
  s ? a.updateStorage(A.stepName, {
3019
3018
  color: e.fill,
3020
- colorProfileAssetKey: (r = s.colorProfile) == null ? void 0 : r.key
3019
+ colorProfileAssetKey: (o = s.colorProfile) == null ? void 0 : o.key
3021
3020
  }) : a.updateStorage(A.stepName, {
3022
3021
  color: e.fill
3023
3022
  });
3024
- for (const o of t) {
3023
+ for (const r of t) {
3025
3024
  if (!e.fill)
3026
3025
  throw new Error("Fill not set on new color selection!");
3027
- const c = new yt(o.id, e.fill, i);
3026
+ const c = new yt(r.id, e.fill, i);
3028
3027
  n(c);
3029
3028
  }
3030
3029
  }
@@ -3051,18 +3050,18 @@ class Ua {
3051
3050
  return Promise.resolve([]);
3052
3051
  }
3053
3052
  async changeFillImage(A, e, t, a) {
3054
- var i, r;
3053
+ var i, o;
3055
3054
  if (!A.data || !A.data.regions)
3056
3055
  return;
3057
- const n = a.getCommandDispatcher(), s = (r = (i = A.option) == null ? void 0 : i.variants) == null ? void 0 : r.find((o) => {
3056
+ const n = a.getCommandDispatcher(), s = (o = (i = A.option) == null ? void 0 : i.variants) == null ? void 0 : o.find((r) => {
3058
3057
  var c;
3059
- return ((c = o.asset) == null ? void 0 : c.fileLink) === e.src;
3058
+ return ((c = r.asset) == null ? void 0 : c.fileLink) === e.src;
3060
3059
  });
3061
3060
  a.updateMetadata(A.stepName, { fillImage: s == null ? void 0 : s.name }), a.updateStorage(A.stepName, {
3062
3061
  fillImage: e
3063
3062
  });
3064
- for (const o of t) {
3065
- const c = new JA(o.id, e);
3063
+ for (const r of t) {
3064
+ const c = new JA(r.id, e);
3066
3065
  n(c);
3067
3066
  }
3068
3067
  }
@@ -3081,9 +3080,9 @@ class Ua {
3081
3080
  };
3082
3081
  if (i.errors.length > 0)
3083
3082
  return i.helperText = i.errors[0].localizationKey, i;
3084
- const r = (t.data.maxLength - s.length).toString();
3085
- i.helperText = `${r} characters remaining`;
3086
- const o = a.getTransaction().bulk && t.data.varyText || !1, c = [], B = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map();
3083
+ const o = (t.data.maxLength - s.length).toString();
3084
+ i.helperText = `${o} characters remaining`;
3085
+ const r = a.getTransaction().bulk && t.data.varyText || !1, c = [], B = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map();
3087
3086
  for (const d of e) {
3088
3087
  if (!d.fontData)
3089
3088
  throw new v("Failed to resolve font data for text.");
@@ -3097,11 +3096,11 @@ class Ua {
3097
3096
  B.set(d.id, E), l.set(d.id, C);
3098
3097
  const w = t.data.curved ? s : (C || []).join(`
3099
3098
  `);
3100
- c.push(this.generateTextChangeCommandsForRegion(E, t.data, d.id, w, o));
3099
+ c.push(this.generateTextChangeCommandsForRegion(E, t.data, d.id, w, r));
3101
3100
  }
3102
3101
  return !t.data.curved && e.length > 0 && !Array.from(l.values()).every((E) => E) ? (i.errors.push({ localizationKey: "workflow.steps.text.doesNotFit" }), i) : (a.updateStorage(t.stepName, { text: A }), a.updateMetadata(t.stepName, {
3103
3102
  text: s
3104
- }), n.defaultCleared && a.setMandatoryFulfilled(t.stepName, !0), i.command = new G(c), i.command.varying = o, i);
3103
+ }), n.defaultCleared && a.setMandatoryFulfilled(t.stepName, !0), i.command = new G(c), i.command.varying = r, i);
3105
3104
  }
3106
3105
  async selectVariant(A, e, t, a, n) {
3107
3106
  const s = await this.selectVariantCommand(
@@ -3128,15 +3127,15 @@ class Ua {
3128
3127
  }
3129
3128
  }
3130
3129
  async reload(A, e, t) {
3131
- var o, c, B;
3130
+ var r, c, B;
3132
3131
  const a = e.getSerializedStep(
3133
3132
  A.stepName,
3134
3133
  t.serializableWorkflow.steps
3135
- ), i = Object.values(t.layouts).map((l) => l.elements).flat().filter((l) => l.stepName === A.stepName), r = A.option;
3134
+ ), i = Object.values(t.layouts).map((l) => l.elements).flat().filter((l) => l.stepName === A.stepName), o = A.option;
3136
3135
  if (a != null && a.selectedVariants) {
3137
3136
  const l = a.selectedVariants[0].id;
3138
- if (r && l) {
3139
- const d = (o = r.variants) == null ? void 0 : o.find((E) => E.id === l);
3137
+ if (o && l) {
3138
+ const d = (r = o.variants) == null ? void 0 : r.find((E) => E.id === l);
3140
3139
  if (d) {
3141
3140
  const E = await this.fontDataFromVariant(d), C = i.map((u) => ({ id: u.id, region: u.stepRegion })), w = (c = a.storage) == null ? void 0 : c.color, Q = (B = a.storage) == null ? void 0 : B.text;
3142
3141
  await e.setSelectionsAndElements(
@@ -3190,13 +3189,13 @@ class Ua {
3190
3189
  name: a.names.fullName.en
3191
3190
  };
3192
3191
  }
3193
- async selectVariantCommand(A, e, t, a, n, s, i, r) {
3192
+ async selectVariantCommand(A, e, t, a, n, s, i, o) {
3194
3193
  var B;
3195
- const o = n.markUpdatePending(), c = await this.fontDataFromVariant(e);
3194
+ const r = n.markUpdatePending(), c = await this.fontDataFromVariant(e);
3196
3195
  if (a.length > 0) {
3197
3196
  const l = a.map((C) => new we(C.id, c));
3198
- if (r) {
3199
- const C = a.map((w) => new JA(w.id, r));
3197
+ if (o) {
3198
+ const C = a.map((w) => new JA(w.id, o));
3200
3199
  l.push(...C);
3201
3200
  }
3202
3201
  const d = await this.changeInputTextWithRegion(
@@ -3213,7 +3212,7 @@ class Ua {
3213
3212
  return d && l.push(d), {
3214
3213
  command: new G(l),
3215
3214
  followup: async () => {
3216
- n.markUpdateCompleted(o), await n.setSelectionsAndElements(A.stepName, [e], a);
3215
+ n.markUpdateCompleted(r), await n.setSelectionsAndElements(A.stepName, [e], a);
3217
3216
  }
3218
3217
  };
3219
3218
  } else {
@@ -3235,16 +3234,16 @@ class Ua {
3235
3234
  s,
3236
3235
  i
3237
3236
  ), E = l.flatMap((w) => w.commands);
3238
- if (r) {
3237
+ if (o) {
3239
3238
  const w = l.map(
3240
- (Q) => new JA(Q.regionElement.id, r)
3239
+ (Q) => new JA(Q.regionElement.id, o)
3241
3240
  );
3242
3241
  E.push(...w);
3243
3242
  }
3244
3243
  return d && E.push(d), {
3245
3244
  command: new G(E),
3246
3245
  followup: async () => {
3247
- n.markUpdateCompleted(o);
3246
+ n.markUpdateCompleted(r);
3248
3247
  }
3249
3248
  };
3250
3249
  }
@@ -3260,7 +3259,7 @@ class Ua {
3260
3259
  async createTextboxRegions(A, e, t, a, n, s) {
3261
3260
  if (!t || !t.regions)
3262
3261
  throw new Error("Step data not supplied");
3263
- const i = s.getTransaction().bulk && t.varyText || !1, r = i ? "" : n.text || t.defaultText || "", o = this.getProcessedInput(r, t, !1), c = async (l) => {
3262
+ const i = s.getTransaction().bulk && t.varyText || !1, o = i ? "" : n.text || t.defaultText || "", r = this.getProcessedInput(o, t, !1), c = async (l) => {
3264
3263
  var w;
3265
3264
  const E = s.getLayouts().find((Q) => Q.panelId === l.panelId), C = k();
3266
3265
  try {
@@ -3288,8 +3287,8 @@ class Ua {
3288
3287
  layer: l.layer,
3289
3288
  layerIndex: l.layerIndex,
3290
3289
  rotation: l.rotation,
3291
- text: o,
3292
- input: r,
3290
+ text: r,
3291
+ input: o,
3293
3292
  type: H.Textbox,
3294
3293
  vertical: t.vertical,
3295
3294
  x: l.left,
@@ -3315,11 +3314,11 @@ class Ua {
3315
3314
  rotation: p.rotation,
3316
3315
  panelId: ""
3317
3316
  },
3318
- [o],
3317
+ [r],
3319
3318
  { size: t.size, minSize: t.minSize, maxSize: t.maxSize }
3320
3319
  );
3321
3320
  m.set(p.id, Y), M.set(p.id, F);
3322
- const U = t.curved || t.vertical ? o : (F || []).join(`
3321
+ const U = t.curved || t.vertical ? r : (F || []).join(`
3323
3322
  `);
3324
3323
  D.push(
3325
3324
  this.generateTextChangeCommandsForRegion(Y, t, p.id, U, i)
@@ -3343,9 +3342,9 @@ class Ua {
3343
3342
  B.map((l) => l.regionElement),
3344
3343
  async () => {
3345
3344
  s.updateMetadata(A, {
3346
- text: r
3345
+ text: o
3347
3346
  }), s.updateStorage(A, {
3348
- text: r
3347
+ text: o
3349
3348
  });
3350
3349
  }
3351
3350
  ), B;
@@ -3353,16 +3352,16 @@ class Ua {
3353
3352
  generateTextChangeCommandsForRegion(A, e, t, a, n) {
3354
3353
  const s = [], i = new Yt(t, a);
3355
3354
  if (i.varying = n, s.push(i), !e.size) {
3356
- const o = new St(t, A);
3357
- o.varying = n, s.push(o);
3355
+ const r = new St(t, A);
3356
+ r.varying = n, s.push(r);
3358
3357
  }
3359
- const r = new G(s);
3360
- return r.varying = n, r;
3358
+ const o = new G(s);
3359
+ return o.varying = n, o;
3361
3360
  }
3362
3361
  /**
3363
3362
  * @deprecated
3364
3363
  */
3365
- async changeInputTextWithRegion(A, e, t, a, n, s, i, r, o, c) {
3364
+ async changeInputTextWithRegion(A, e, t, a, n, s, i, o, r, c) {
3366
3365
  const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), l = this.getProcessedInput(B, A.data, i), d = s.getRegionElements(A.stepName), E = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Map();
3367
3366
  for (const p of d)
3368
3367
  if (p.region) {
@@ -3383,16 +3382,16 @@ class Ua {
3383
3382
  for (const M in p) {
3384
3383
  const Y = p[M].toLowerCase().replace(/\s/g, "");
3385
3384
  if (m === Y)
3386
- return r(!0), { error: "Blocked profanity." };
3385
+ return o(!0), { error: "Blocked profanity." };
3387
3386
  }
3388
3387
  return !A.data.vertical && !A.data.allowNewlines && (l.includes(`
3389
- `) || l.includes("\r")) ? (r(!0), { error: "Cannot span multiple lines." }) : !A.data.curved && !Array.from(C.values()).every((M) => M) ? (r(!0), { error: "Does not fit." }) : (r(!1), { info: (A.data.maxLength - l.length).toString() });
3388
+ `) || l.includes("\r")) ? (o(!0), { error: "Cannot span multiple lines." }) : !A.data.curved && !Array.from(C.values()).every((M) => M) ? (o(!0), { error: "Does not fit." }) : (o(!1), { info: (A.data.maxLength - l.length).toString() });
3390
3389
  })();
3391
3390
  if (Q.error) {
3392
- o(Q.error);
3391
+ r(Q.error);
3393
3392
  return;
3394
3393
  }
3395
- if (o(`${Q.info} characters remaining` || ""), c)
3394
+ if (r(`${Q.info} characters remaining` || ""), c)
3396
3395
  return;
3397
3396
  s.updateStorage(A.stepName, { text: B }), s.updateMetadata(A.stepName, {
3398
3397
  text: this.injectReplaceableText(B, A.data)
@@ -4717,16 +4716,16 @@ const nt = (g, A, e, t) => {
4717
4716
  return A = A.replace(/feoffset/gi, "feOffset"), A = A.replace(/fegaussianblur/gi, "feGaussianBlur"), A = A.replace(/feblend/gi, "feBlend"), A = A.replace(/lineargradient/gi, "linearGradient"), A = A.replace(/stddeviation/gi, "stdDeviation"), A;
4718
4717
  };
4719
4718
  function re(g, A, e, t, a, n) {
4720
- const s = a || 1, i = n || 1, r = {
4719
+ const s = a || 1, i = n || 1, o = {
4721
4720
  x: A[0],
4722
4721
  y: A[1],
4723
4722
  width: A[2] - A[0],
4724
4723
  height: A[3] - A[1]
4725
4724
  };
4726
- if (r.width <= 0)
4725
+ if (o.width <= 0)
4727
4726
  return;
4728
- const o = Ta(r.height, r.width, e * s, t * i), c = (t - o * r.width) / 2 - o * r.x, B = (e - o * r.height) / 2 - o * r.y;
4729
- g.setAttribute("transform", `translate(${c} ${B}) scale(${o} ${o})`);
4727
+ const r = Ta(o.height, o.width, e * s, t * i), c = (t - r * o.width) / 2 - r * o.x, B = (e - r * o.height) / 2 - r * o.y;
4728
+ g.setAttribute("transform", `translate(${c} ${B}) scale(${r} ${r})`);
4730
4729
  }
4731
4730
  function Ta(g, A, e, t) {
4732
4731
  const a = e / g, n = t / A;
@@ -4761,10 +4760,10 @@ class ce {
4761
4760
  let e = "";
4762
4761
  const a = (n) => {
4763
4762
  const s = [], i = n.relative ? n.type : n.type.toUpperCase();
4764
- let r = e !== i;
4765
- const o = pe[n.type];
4766
- r && (s.push(i), e = i);
4767
- for (const c of o) {
4763
+ let o = e !== i;
4764
+ const r = pe[n.type];
4765
+ o && (s.push(i), e = i);
4766
+ for (const c of r) {
4768
4767
  const B = n[c];
4769
4768
  let l;
4770
4769
  switch (typeof B) {
@@ -4777,7 +4776,7 @@ class ce {
4777
4776
  default:
4778
4777
  throw new rA("Failed to encode path.");
4779
4778
  }
4780
- r || s.push(" "), s.push(l), r = !1;
4779
+ o || s.push(" "), s.push(l), o = !1;
4781
4780
  }
4782
4781
  return s.join("");
4783
4782
  };
@@ -4787,24 +4786,24 @@ class ce {
4787
4786
  const e = /([mzlhvcsqta])([^mzlhvcsqta]*)/gi, t = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi, a = [];
4788
4787
  let n;
4789
4788
  for (e.lastIndex = 0; n = e.exec(A); ) {
4790
- const s = n[1].toLowerCase(), i = (n[2].match(t) || []).map(parseFloat), r = s === n[1], o = pe[s];
4791
- if (i.length < o.length)
4789
+ const s = n[1].toLowerCase(), i = (n[2].match(t) || []).map(parseFloat), o = s === n[1], r = pe[s];
4790
+ if (i.length < r.length)
4792
4791
  throw new rA(
4793
- `Path type "${s}" given ${i.length} arguments, expected ${o.length}.`
4792
+ `Path type "${s}" given ${i.length} arguments, expected ${r.length}.`
4794
4793
  );
4795
- if (o.length > 0) {
4796
- if (i.length % o.length !== 0)
4794
+ if (r.length > 0) {
4795
+ if (i.length % r.length !== 0)
4797
4796
  throw new rA(
4798
- `Path type "${s}" given ${i.length} arguments, not divisible by ${o.length}`
4797
+ `Path type "${s}" given ${i.length} arguments, not divisible by ${r.length}`
4799
4798
  );
4800
- for (let c = 0; c < i.length / o.length; c++) {
4801
- const B = { type: s, relative: r };
4802
- for (let l = 0; l < o.length; l++)
4803
- B[o[l]] = i[c * o.length + l];
4799
+ for (let c = 0; c < i.length / r.length; c++) {
4800
+ const B = { type: s, relative: o };
4801
+ for (let l = 0; l < r.length; l++)
4802
+ B[r[l]] = i[c * r.length + l];
4804
4803
  a.push(B);
4805
4804
  }
4806
4805
  } else
4807
- a.push({ type: s, relative: r });
4806
+ a.push({ type: s, relative: o });
4808
4807
  }
4809
4808
  return a;
4810
4809
  }
@@ -4815,12 +4814,12 @@ class ce {
4815
4814
  ["x", "y"]
4816
4815
  ], a = (n) => {
4817
4816
  for (let s = 0; s < t.length; s++) {
4818
- const [i, r] = t[s];
4819
- if (i in n && r in n) {
4820
- const o = [n[i], n[r]], c = e(o);
4817
+ const [i, o] = t[s];
4818
+ if (i in n && o in n) {
4819
+ const r = [n[i], n[o]], c = e(r);
4821
4820
  if (c.length < 2)
4822
4821
  throw new rA("Transformer must return at least 2 points.");
4823
- n[i] = c[0], n[r] = c[1];
4822
+ n[i] = c[0], n[o] = c[1];
4824
4823
  }
4825
4824
  }
4826
4825
  return n;
@@ -4868,13 +4867,13 @@ class La extends ie {
4868
4867
  p.appendChild(Y), Y.setAttribute("fill", "#9d2621"), Y.setAttribute("transform", "translate(1,1)"), Y.innerHTML = t;
4869
4868
  const F = R("g");
4870
4869
  return p.appendChild(F), F.setAttribute("fill", "yellow"), F.innerHTML = t, new ce(p).transform(([S, b]) => [S, b + (n / 2 - S) ** 2 / (n * 2.9)]), p;
4871
- }, [r, o, c] = tt(e);
4872
- if (!r)
4870
+ }, [o, r, c] = tt(e);
4871
+ if (!o)
4873
4872
  return "";
4874
4873
  const B = R("defs");
4875
- r.appendChild(B), at(r, B, e);
4876
- const l = o * 0.23, d = c * 0.94, E = c * 0.04, C = o * 0.53, w = R("g");
4877
- r.appendChild(w), w.setAttribute("transform", `translate(${E} ${C}) rotate(-21)`);
4874
+ o.appendChild(B), at(o, B, e);
4875
+ const l = r * 0.23, d = c * 0.94, E = c * 0.04, C = r * 0.53, w = R("g");
4876
+ o.appendChild(w), w.setAttribute("transform", `translate(${E} ${C}) rotate(-21)`);
4878
4877
  const Q = oe(l, d);
4879
4878
  Q.setAttribute("opacity", "0"), w.appendChild(Q);
4880
4879
  const h = R("g");
@@ -4882,7 +4881,7 @@ class La extends ie {
4882
4881
  const u = i();
4883
4882
  h.appendChild(u);
4884
4883
  const f = ne(s);
4885
- return re(h, f, l, d), st(r.outerHTML);
4884
+ return re(h, f, l, d), st(o.outerHTML);
4886
4885
  }
4887
4886
  }
4888
4887
  const Oa = "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==";
@@ -4897,11 +4896,11 @@ class za extends ie {
4897
4896
  return this.svg(A);
4898
4897
  }
4899
4898
  svg(A) {
4900
- const e = ae(Oa), a = A !== "" ? ((r) => r.charAt(0).toUpperCase() + r.substr(1).toLowerCase())(A) : "", n = e.getPath(a, 0, 72, 72), s = A.length < this.shortLength, i = s ? this.backgroundShortSvg : this.backgroundSvg;
4899
+ const e = ae(Oa), a = A !== "" ? ((o) => o.charAt(0).toUpperCase() + o.substr(1).toLowerCase())(A) : "", n = e.getPath(a, 0, 72, 72), s = A.length < this.shortLength, i = s ? this.backgroundShortSvg : this.backgroundSvg;
4901
4900
  return this.brandSvg(n, i, s);
4902
4901
  }
4903
4902
  brandSvg(A, e, t) {
4904
- const a = A.toSVG(2), n = A.getBoundingBox(), s = n.y2 - n.y1, i = n.x2 - n.x1, r = A.toPathData(3), o = () => {
4903
+ const a = A.toSVG(2), n = A.getBoundingBox(), s = n.y2 - n.y1, i = n.x2 - n.x1, o = A.toPathData(3), r = () => {
4905
4904
  const m = R("g"), M = R("g");
4906
4905
  m.appendChild(M), M.setAttribute("stroke", "#5C1A0D"), M.setAttribute("stroke-width", "4"), M.setAttribute("transform", "translate(1,1)"), M.innerHTML = a;
4907
4906
  const Y = R("g");
@@ -4926,9 +4925,9 @@ class za extends ie {
4926
4925
  u.setAttribute("opacity", "0"), h.appendChild(u);
4927
4926
  const f = R("g");
4928
4927
  h.appendChild(f);
4929
- const p = o();
4928
+ const p = r();
4930
4929
  f.appendChild(p);
4931
- const D = ne(r);
4930
+ const D = ne(o);
4932
4931
  return re(f, D, E, C), c.outerHTML;
4933
4932
  }
4934
4933
  // 1 if true, 0 if false.
@@ -4945,7 +4944,7 @@ class ja extends ie {
4945
4944
  return this.svgElement(A, e);
4946
4945
  }
4947
4946
  svgElement(A, e) {
4948
- const t = ae(Ka), n = A !== "" ? ((u) => u.charAt(0).toUpperCase() + u.substr(1).toLowerCase())(A) : "", s = t.getPath(n, 0, 72, 72), i = s.toSVG(2), r = s.getBoundingBox(), o = r.x2 - r.x1, c = s.toPathData(3), B = () => {
4947
+ const t = ae(Ka), n = A !== "" ? ((u) => u.charAt(0).toUpperCase() + u.substr(1).toLowerCase())(A) : "", s = t.getPath(n, 0, 72, 72), i = s.toSVG(2), o = s.getBoundingBox(), r = o.x2 - o.x1, c = s.toPathData(3), B = () => {
4949
4948
  const u = R("g");
4950
4949
  u.classList.add("module-text-group");
4951
4950
  const f = R("defs");
@@ -4959,7 +4958,7 @@ class ja extends ie {
4959
4958
  const M = R("g");
4960
4959
  M.classList.add("module-layer2"), u.appendChild(M), M.setAttribute("fill", "rgb(255,209,0)"), M.setAttribute("transform", "translate(1,-0.1)"), M.innerHTML = i;
4961
4960
  const Y = R("g");
4962
- return Y.classList.add("module-layer3"), u.appendChild(Y), Y.setAttribute("fill", "white"), Y.innerHTML = i, new ce(u).transform(([U, S]) => [U, S + (o / 2 - U) ** 2 / (o * 6)]), u;
4961
+ return Y.classList.add("module-layer3"), u.appendChild(Y), Y.setAttribute("fill", "white"), Y.innerHTML = i, new ce(u).transform(([U, S]) => [U, S + (r / 2 - U) ** 2 / (r * 6)]), u;
4963
4962
  }, l = R("g");
4964
4963
  l.classList.add("module-root");
4965
4964
  const d = R("defs");
@@ -5002,7 +5001,7 @@ class Ie extends Xe {
5002
5001
  }
5003
5002
  }
5004
5003
  class Wa {
5005
- constructor(A, e, t, a, n, s, i, r, o, c, B = !1, l, d = !1, E = !1) {
5004
+ constructor(A, e, t, a, n, s, i, o, r, c, B = !1, l, d = !1, E = !1) {
5006
5005
  this.workflowStatePromiseQueue = new qe(1), this.variationRecords = [], this.initialized = !1, this.readOnly = !1, this.isReloadedTransaction = !1, this.singleVariantsRenderable = !1, this.renderLayouts = () => {
5007
5006
  var Q;
5008
5007
  if (!this.previewService)
@@ -5016,7 +5015,7 @@ class Wa {
5016
5015
  this.getCurrentVariationRecord() || null,
5017
5016
  this.getProduct().overlayImageUrl
5018
5017
  );
5019
- }, this.updateTransaction = n, this.commandContext = a, this.reloadedState = c, this.transaction = s, this.readOnly = B, this.singleVariantsRenderable = E, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = A, this.stepSpecificServices = {}, this.profanityFilter = e, this.pollers = [], this.allScenes = [], this.layouts = t, this.product = i, this.previewService = r, this.modelContainer = l, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.currentVariationRecordCallbacks = [], this.variationRecordCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = o, this.currentVariationRecord = null, this.isReloadedTransaction = d, this.initializationPromise = this.initializeDefaultWorkflowState(A, s), this.initializationPromise.then(() => {
5018
+ }, this.updateTransaction = n, this.commandContext = a, this.reloadedState = c, this.transaction = s, this.readOnly = B, this.singleVariantsRenderable = E, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = A, this.stepSpecificServices = {}, this.profanityFilter = e, this.pollers = [], this.allScenes = [], this.layouts = t, this.product = i, this.previewService = o, this.modelContainer = l, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.currentVariationRecordCallbacks = [], this.variationRecordCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = r, this.currentVariationRecord = null, this.isReloadedTransaction = d, this.initializationPromise = this.initializeDefaultWorkflowState(A, s), this.initializationPromise.then(() => {
5020
5019
  this.initialized = !0;
5021
5020
  }), this.initializationPromise.catch((C) => {
5022
5021
  throw console.error(C), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
@@ -5029,14 +5028,14 @@ class Wa {
5029
5028
  async initializeDefaultWorkflowState(A, e) {
5030
5029
  const t = () => {
5031
5030
  var B, l;
5032
- const r = this.workflow.finalizeStepConfig;
5033
- if (!r)
5031
+ const o = this.workflow.finalizeStepConfig;
5032
+ if (!o)
5034
5033
  return;
5035
- const o = r.lookAtAnimation, c = r.modelAnimation;
5036
- o && ((B = this.previewService) == null || B.executeCameraAnimation(o)), c && ((l = this.modelContainer) == null || l.executeAnimation(c));
5034
+ const r = o.lookAtAnimation, c = o.modelAnimation;
5035
+ r && ((B = this.previewService) == null || B.executeCameraAnimation(r)), c && ((l = this.modelContainer) == null || l.executeAnimation(c));
5037
5036
  };
5038
- this.reloadedState && this.reloadedState.serializableWorkflow.steps.forEach((r) => {
5039
- this.storage[r.stepName] = r.storage || {};
5037
+ this.reloadedState && this.reloadedState.serializableWorkflow.steps.forEach((o) => {
5038
+ this.storage[o.stepName] = o.storage || {};
5040
5039
  }), this.allScenes = await wa(
5041
5040
  A,
5042
5041
  {
@@ -5048,7 +5047,7 @@ class Wa {
5048
5047
  },
5049
5048
  e
5050
5049
  );
5051
- const n = aA(this.allScenes, this.stepSelections).map((r) => r.silentSteps).flat(), { stepElements: s, commands: i } = await this.stepElementsForIntroducedSilentSteps(n, !!this.reloadedState);
5050
+ const n = aA(this.allScenes, this.stepSelections).map((o) => o.silentSteps).flat(), { stepElements: s, commands: i } = await this.stepElementsForIntroducedSilentSteps(n, !!this.reloadedState);
5052
5051
  this.commandContext.apply(new G(i), !0), this.stepElements = { ...this.stepElements, ...s }, await this.ensureStepsAreLoaded(), !this.isReloadedTransaction && this.updateStateWithServer(), this.renderLayouts(), this.reloadedState && t();
5053
5052
  }
5054
5053
  getProduct() {
@@ -5241,12 +5240,12 @@ class Wa {
5241
5240
  contextService: this.getLayoutPreviewService()
5242
5241
  }).getInitializationPromise();
5243
5242
  this.setModelContainer(e), aA(this.allScenes, this.stepSelections).filter((n) => n).map((n) => n.renderableSteps).flat().filter((n) => n.type === I.Model || n.type === I.Material).forEach((n) => {
5244
- var r, o, c;
5245
- if (!((r = n.option) != null && r.id)) {
5243
+ var o, r, c;
5244
+ if (!((o = n.option) != null && o.id)) {
5246
5245
  console.error(`Failed to read option id from step: ${n.stepName}`);
5247
5246
  return;
5248
5247
  }
5249
- const s = ((o = this.stepSelections[n.stepName]) == null ? void 0 : o.selectedVariants) || [];
5248
+ const s = ((r = this.stepSelections[n.stepName]) == null ? void 0 : r.selectedVariants) || [];
5250
5249
  if (s.length === 0)
5251
5250
  return;
5252
5251
  const i = s[0];
@@ -5375,9 +5374,9 @@ class Wa {
5375
5374
  removeElements(A) {
5376
5375
  const e = (t, a) => Object.keys(t).reduce((n, s) => {
5377
5376
  const i = [...t[s] || []];
5378
- return a.forEach((r) => {
5379
- const o = i.findIndex((c) => c.id === r.id);
5380
- o > -1 && i.splice(o, 1);
5377
+ return a.forEach((o) => {
5378
+ const r = i.findIndex((c) => c.id === o.id);
5379
+ r > -1 && i.splice(r, 1);
5381
5380
  }), n[s] = i, n;
5382
5381
  }, {});
5383
5382
  this.stepElements = e(this.stepElements, A);
@@ -5394,30 +5393,30 @@ class Wa {
5394
5393
  const t = this.product;
5395
5394
  if (!t)
5396
5395
  return Promise.resolve({ stepElements: {}, commands: [] });
5397
- const a = async (o, c, B) => {
5398
- if (o.type === I.SilentIllustration) {
5399
- const l = await new me(o, c).trigger();
5400
- return { step: o, results: l };
5401
- } else if (o.type === I.ProductOverlay) {
5396
+ const a = async (r, c, B) => {
5397
+ if (r.type === I.SilentIllustration) {
5398
+ const l = await new me(r, c).trigger();
5399
+ return { step: r, results: l };
5400
+ } else if (r.type === I.ProductOverlay) {
5402
5401
  const l = await new me(
5403
- o,
5402
+ r,
5404
5403
  c,
5405
5404
  B
5406
5405
  ).trigger();
5407
- return { step: o, results: l };
5406
+ return { step: r, results: l };
5408
5407
  }
5409
5408
  return Promise.reject("Unknown silent step. This is a bug");
5410
5409
  }, n = A.filter(
5411
- (o) => !this.stepInitialised[o.stepName]
5410
+ (r) => !this.stepInitialised[r.stepName]
5412
5411
  ), s = {
5413
5412
  stepElements: {},
5414
5413
  commands: []
5415
5414
  }, i = [];
5416
- for (const o of n)
5417
- this.markStepsAsInitialised([o.stepName]), e || i.push(a(o, this.layouts, t));
5418
- const r = await Promise.all(i);
5419
- for (const o of r)
5420
- s.stepElements[o.step.stepName] = o.results.map((c) => c.regionElement), s.commands = [...s.commands, ...o.results.map((c) => c.command)];
5415
+ for (const r of n)
5416
+ this.markStepsAsInitialised([r.stepName]), e || i.push(a(r, this.layouts, t));
5417
+ const o = await Promise.all(i);
5418
+ for (const r of o)
5419
+ s.stepElements[r.step.stepName] = r.results.map((c) => c.regionElement), s.commands = [...s.commands, ...r.results.map((c) => c.command)];
5421
5420
  return s;
5422
5421
  }
5423
5422
  getStepStorage(A) {
@@ -5457,10 +5456,10 @@ class Wa {
5457
5456
  }, this.selectionCost = Object.values(this.stepSelections).reduce((D, m) => D + m.selectedVariants.map((M) => M.priceModifier || 0).reduce((M, Y) => M + Y, 0), 0), this.workflow.steps.forEach((D) => {
5458
5457
  nA(D, this.stepSelections) || (this.stepInitialised[D.stepName] = !1, delete this.stepMetadata[D.stepName], delete this.stepSelections[D.stepName], delete this.storage[D.stepName]);
5459
5458
  });
5460
- const s = this.allScenes, i = aA(s, n), r = aA(s, this.stepSelections), o = i.map((D) => D.silentSteps).flat(), B = r.map((D) => D.silentSteps).flat().filter(
5461
- (D) => !o.some((m) => m.stepName === D.stepName)
5459
+ const s = this.allScenes, i = aA(s, n), o = aA(s, this.stepSelections), r = i.map((D) => D.silentSteps).flat(), B = o.map((D) => D.silentSteps).flat().filter(
5460
+ (D) => !r.some((m) => m.stepName === D.stepName)
5462
5461
  );
5463
- o.forEach((D) => {
5462
+ r.forEach((D) => {
5464
5463
  nA(D, this.stepSelections) || (this.stepInitialised[D.stepName] = !1);
5465
5464
  });
5466
5465
  const l = this.getInvalidCanvasRegions(), { stepElements: d, commands: E } = await this.stepElementsForIntroducedSilentSteps(B, !1);
@@ -5492,7 +5491,7 @@ class Wa {
5492
5491
  await this.onSelectionChange(), a && await a();
5493
5492
  }
5494
5493
  async ensureStepsAreLoaded() {
5495
- var r, o;
5494
+ var o, r;
5496
5495
  const e = aA(this.allScenes, this.stepSelections).map((c) => c.renderableSteps), t = [], a = e.flat();
5497
5496
  for (const c of a)
5498
5497
  if (!this.stepInitialised[c.stepName])
@@ -5500,7 +5499,7 @@ class Wa {
5500
5499
  case I.Bulk:
5501
5500
  this.updateStorage(
5502
5501
  "Bulk",
5503
- ((o = (r = this.reloadedState) == null ? void 0 : r.serializableWorkflow.steps.find((B) => B.stepName === "Bulk")) == null ? void 0 : o.storage) || {}
5502
+ ((r = (o = this.reloadedState) == null ? void 0 : o.serializableWorkflow.steps.find((B) => B.stepName === "Bulk")) == null ? void 0 : r.storage) || {}
5504
5503
  );
5505
5504
  break;
5506
5505
  case I.DigitalContent:
@@ -6159,14 +6158,14 @@ class an extends j {
6159
6158
  text: a
6160
6159
  }), s)
6161
6160
  return e;
6162
- const { command: r, errors: o, helperText: c } = K.updateInputText(
6161
+ const { command: o, errors: r, helperText: c } = K.updateInputText(
6163
6162
  a,
6164
6163
  t,
6165
6164
  this.step,
6166
6165
  this.manager
6167
6166
  );
6168
- r && this.manager.getCommandDispatcher()(r);
6169
- const B = this.manager.getInformationResults(), l = (E = o[0]) == null ? void 0 : E.localizationKey;
6167
+ o && this.manager.getCommandDispatcher()(o);
6168
+ const B = this.manager.getInformationResults(), l = (E = r[0]) == null ? void 0 : E.localizationKey;
6170
6169
  if (l)
6171
6170
  this.manager.setInformationResults([
6172
6171
  ...B,
@@ -6383,23 +6382,23 @@ const ct = y`
6383
6382
  const t = (n) => {
6384
6383
  const s = {};
6385
6384
  if (n.type === "Frame") {
6386
- const i = g[n.stepName], r = n.data;
6387
- if (!i || !i.image || r.hideImageInCart && e)
6385
+ const i = g[n.stepName], o = n.data;
6386
+ if (!i || !i.image || o.hideImageInCart && e)
6388
6387
  return s;
6389
6388
  s[`${n.stepTitle} image`] = i.image;
6390
6389
  }
6391
6390
  if (n.type === "Illustration") {
6392
- const i = g[n.stepName], r = n.data;
6393
- if (!i || r.hideColorsInCart && e || !i.colors)
6391
+ const i = g[n.stepName], o = n.data;
6392
+ if (!i || o.hideColorsInCart && e || !i.colors)
6394
6393
  return s;
6395
6394
  if (i.colors.length > 0) {
6396
- const o = i.colors.join(", ").toUpperCase();
6397
- s[`${n.stepTitle} colors`] = o;
6395
+ const r = i.colors.join(", ").toUpperCase();
6396
+ s[`${n.stepTitle} colors`] = r;
6398
6397
  }
6399
6398
  }
6400
6399
  if (n.type === "Module") {
6401
- const i = g[n.stepName], r = n.data;
6402
- if (!i || i.text === void 0 || i.text === null || r.hideTextInCart && e)
6400
+ const i = g[n.stepName], o = n.data;
6401
+ if (!i || i.text === void 0 || i.text === null || o.hideTextInCart && e)
6403
6402
  return s;
6404
6403
  s[`${n.stepTitle} text`] = i.text;
6405
6404
  }
@@ -6407,8 +6406,8 @@ const ct = y`
6407
6406
  const i = g[n.stepName];
6408
6407
  if (!i)
6409
6408
  return s;
6410
- const r = n.data;
6411
- (!r.hideTextInCart || !e && i.text !== void 0 && i.text !== null) && (s[`${n.stepTitle} text`] = i.text), i.color && (!r.hideColorInCart || !e) && (s[`${n.stepTitle} color`] = i.color);
6409
+ const o = n.data;
6410
+ (!o.hideTextInCart || !e && i.text !== void 0 && i.text !== null) && (s[`${n.stepTitle} text`] = i.text), i.color && (!o.hideColorInCart || !e) && (s[`${n.stepTitle} color`] = i.color);
6412
6411
  }
6413
6412
  return s;
6414
6413
  }, a = {};
@@ -6434,21 +6433,21 @@ const ct = y`
6434
6433
  };
6435
6434
  }
6436
6435
  for (const s of Object.keys(g)) {
6437
- const i = g[s], r = A.steps.find((o) => o.stepTitle === s);
6436
+ const i = g[s], o = A.steps.find((r) => r.stepTitle === s);
6438
6437
  if (i.length === 1)
6439
- a[`${r == null ? void 0 : r.stepTitle} selection`] = {
6438
+ a[`${o == null ? void 0 : o.stepTitle} selection`] = {
6440
6439
  value: i[0].name,
6441
6440
  priceModifier: i[0].priceModifier
6442
6441
  };
6443
6442
  else if (i.length > 1)
6444
- for (let o = 0; o < i.length; o++)
6445
- a[`${r == null ? void 0 : r.stepTitle} selection ${o + 1}`] = {
6446
- value: i[o].name,
6447
- priceModifier: i[o].priceModifier
6443
+ for (let r = 0; r < i.length; r++)
6444
+ a[`${o == null ? void 0 : o.stepTitle} selection ${r + 1}`] = {
6445
+ value: i[r].name,
6446
+ priceModifier: i[r].priceModifier
6448
6447
  };
6449
6448
  }
6450
6449
  return a;
6451
- }, gt = (g, A, e, t, a, n, s, i, r, o) => {
6450
+ }, gt = (g, A, e, t, a, n, s, i, o, r) => {
6452
6451
  const B = (x.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(g.id), l = {
6453
6452
  baseCost: e,
6454
6453
  designProductId: g.externalDesignProductId,
@@ -6459,14 +6458,14 @@ const ct = y`
6459
6458
  externalCartProductVariantId: g.externalCartProductVariantId,
6460
6459
  lineItemImageUrl: s || "",
6461
6460
  optionsCost: t,
6462
- processExecutionId: o,
6461
+ processExecutionId: r,
6463
6462
  transactionId: g.id,
6464
6463
  transactionOwnerId: B,
6465
6464
  weight: A.weight,
6466
6465
  workflowViewerLink: g.workflowViewerLink || "",
6467
6466
  workflowViewerReadOnlyLink: g.workflowViewerReadOnlyLink || ""
6468
6467
  };
6469
- return a && (l.metadata = a), i && (l.selectedVariants = i), r && (l.sku = r), l;
6468
+ return a && (l.metadata = a), i && (l.selectedVariants = i), o && (l.sku = o), l;
6470
6469
  }, ln = (g, A, e, t) => {
6471
6470
  const a = (A.basePrice || 0) * (g.variationsCount || 0), n = g.priceModifierTotal || 0, s = {
6472
6471
  items: {
@@ -6487,12 +6486,12 @@ const ct = y`
6487
6486
  t
6488
6487
  );
6489
6488
  }, lt = async (g, A, e, t, a, n, s, i) => {
6490
- const r = A.basePrice || 0, o = g.priceModifierTotal || 0, c = gn(t, e, void 0, n);
6489
+ const o = A.basePrice || 0, r = g.priceModifierTotal || 0, c = gn(t, e, void 0, n);
6491
6490
  return gt(
6492
6491
  g,
6493
6492
  A,
6494
- r,
6495
6493
  o,
6494
+ r,
6496
6495
  n,
6497
6496
  c,
6498
6497
  s,
@@ -6500,12 +6499,12 @@ const ct = y`
6500
6499
  a,
6501
6500
  i
6502
6501
  );
6503
- }, Bt = async (g, A, e, t, a, n, s, i, r, o) => {
6502
+ }, Bt = async (g, A, e, t, a, n, s, i, o, r) => {
6504
6503
  var M;
6505
6504
  await (async () => {
6506
6505
  var S;
6507
- if (o !== void 0)
6508
- return o;
6506
+ if (r !== void 0)
6507
+ return r;
6509
6508
  await g.outstandingRequestsPromise();
6510
6509
  const F = await N.getShadowGraphqlClient().query({
6511
6510
  query: Ve,
@@ -6517,7 +6516,7 @@ const ct = y`
6517
6516
  F.errors && console.log("Server Error:", b.message);
6518
6517
  }), null) : U ?? null;
6519
6518
  })() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(t())), await g.updateStateWithServerImmediate(t), console.log("Server state is undefined @ Workflow completion"));
6520
- const l = g.getPreviewService(), d = (M = A == null ? void 0 : A.finalizeStepConfig) == null ? void 0 : M.lookAtAnimation, E = l && A.showModelOnFinishStep && !!d, C = r && $A(r, A, !0), w = r && $A(r, A, !1), Q = async (Y) => {
6519
+ const l = g.getPreviewService(), d = (M = A == null ? void 0 : A.finalizeStepConfig) == null ? void 0 : M.lookAtAnimation, E = l && A.showModelOnFinishStep && !!d, C = o && $A(o, A, !0), w = o && $A(o, A, !1), Q = async (Y) => {
6521
6520
  const F = {};
6522
6521
  let U = 0;
6523
6522
  if (Object.keys(n).length > 0)
@@ -6581,9 +6580,9 @@ const ct = y`
6581
6580
  cartSelectionsWithPrices: h,
6582
6581
  cartMetadata: C
6583
6582
  };
6584
- }, Bn = async (g, A, e, t, a, n, s, i, r, o, c, B, l) => {
6583
+ }, Bn = async (g, A, e, t, a, n, s, i, o, r, c, B, l) => {
6585
6584
  var u, f, p;
6586
- r("workflow.steps.finish.finalize.buildingLayouts");
6585
+ o("workflow.steps.finish.finalize.buildingLayouts");
6587
6586
  const { designDetails: d, cartSelectionsWithPrices: E, cartMetadata: C } = await Bt(
6588
6587
  g,
6589
6588
  A,
@@ -6595,11 +6594,11 @@ const ct = y`
6595
6594
  B,
6596
6595
  l
6597
6596
  );
6598
- r("workflow.steps.finish.finalize.creatingDesign"), n.bulk && await o(c);
6597
+ o("workflow.steps.finish.finalize.creatingDesign"), n.bulk && await r(c);
6599
6598
  const w = await rn(d), Q = (u = w == null ? void 0 : w.transaction) == null ? void 0 : u.previewImageLink;
6600
6599
  if (!(w != null && w.transaction))
6601
6600
  throw new Error("Failed to create design");
6602
- r("workflow.steps.finish.finalize.updatingTransaction");
6601
+ o("workflow.steps.finish.finalize.updatingTransaction");
6603
6602
  const h = w.transaction;
6604
6603
  return n.bulk ? ln(
6605
6604
  h,
@@ -6623,16 +6622,16 @@ const ct = y`
6623
6622
  })
6624
6623
  );
6625
6624
  const t = await (async () => {
6626
- var r;
6625
+ var o;
6627
6626
  const i = await N.getShadowGraphqlClient().query({
6628
6627
  query: Ve,
6629
- variables: { ids: g.map((o) => o.transaction.id) },
6628
+ variables: { ids: g.map((r) => r.transaction.id) },
6630
6629
  fetchPolicy: "no-cache",
6631
6630
  errorPolicy: "all"
6632
6631
  });
6633
- return i.errors ? (i.errors.forEach((o) => {
6634
- i.errors && console.log("Server Error:", o.message);
6635
- }), null) : (r = i.data) != null && r.transactions ? i.data.transactions.map((o) => o.workflowState ?? null) : null;
6632
+ return i.errors ? (i.errors.forEach((r) => {
6633
+ i.errors && console.log("Server Error:", r.message);
6634
+ }), null) : (o = i.data) != null && o.transactions ? i.data.transactions.map((r) => r.workflowState ?? null) : null;
6636
6635
  })(), a = await Promise.all(
6637
6636
  g.map(async (s, i) => await Bt(
6638
6637
  s.workflowManager,
@@ -6655,14 +6654,14 @@ const ct = y`
6655
6654
  return A("workflow.steps.finish.finalize.updatingTransaction"), Promise.all(
6656
6655
  n.map(async (s, i) => {
6657
6656
  var B;
6658
- const r = g[i], o = a[i], c = s.transaction;
6657
+ const o = g[i], r = a[i], c = s.transaction;
6659
6658
  return await lt(
6660
6659
  c,
6661
- r.product,
6662
- r.workflow,
6663
- o.cartSelectionsWithPrices,
6660
+ o.product,
6661
+ o.workflow,
6662
+ r.cartSelectionsWithPrices,
6664
6663
  s.sku,
6665
- o.cartMetadata,
6664
+ r.cartMetadata,
6666
6665
  //lineItemImageLink,
6667
6666
  void 0,
6668
6667
  (B = s.processExecution) == null ? void 0 : B.id
@@ -6747,14 +6746,14 @@ class CA {
6747
6746
  ) && this.save();
6748
6747
  }, 2500), this.getCanvasObjectURLAsync = async (n) => new Promise((s, i) => {
6749
6748
  try {
6750
- n.toBlob((r) => {
6751
- if (r) {
6752
- const o = URL.createObjectURL(r);
6753
- s(o);
6749
+ n.toBlob((o) => {
6750
+ if (o) {
6751
+ const r = URL.createObjectURL(o);
6752
+ s(r);
6754
6753
  }
6755
6754
  });
6756
- } catch (r) {
6757
- i(r);
6755
+ } catch (o) {
6756
+ i(o);
6758
6757
  }
6759
6758
  }), !e.workflow)
6760
6759
  throw new Error("No Workflow ID provided.");
@@ -6783,11 +6782,11 @@ class CA {
6783
6782
  e.isReloadedTransaction
6784
6783
  ), this.workflowManager.addSelectionCallback((n) => {
6785
6784
  const s = n.traversableScenes.map((i) => {
6786
- const r = i.renderableSteps.map((o) => o.stepName);
6785
+ const o = i.renderableSteps.map((r) => r.stepName);
6787
6786
  return {
6788
6787
  id: i.name,
6789
6788
  title: i.title,
6790
- renderableSteps: r
6789
+ renderableSteps: o
6791
6790
  };
6792
6791
  });
6793
6792
  this.renderableScenes = s, this.renderableSceneCallbacks.forEach((i) => i(s));
@@ -6831,9 +6830,9 @@ class CA {
6831
6830
  }
6832
6831
  let n = 2048;
6833
6832
  e && e <= 2048 && (n = e);
6834
- const s = yA(n, n), i = this.commandContext.getAllLayouts(), r = t.defaultPreviewPanelIndex || 0, o = t.panels[r], c = i.find((f) => {
6833
+ const s = yA(n, n), i = this.commandContext.getAllLayouts(), o = t.defaultPreviewPanelIndex || 0, r = t.panels[o], c = i.find((f) => {
6835
6834
  var p;
6836
- return ((p = f.layoutState) == null ? void 0 : p.layout.panelId) === (o == null ? void 0 : o.name);
6835
+ return ((p = f.layoutState) == null ? void 0 : p.layout.panelId) === (r == null ? void 0 : r.name);
6837
6836
  }) || i[0], B = c.layoutState.layout.previewRegion ? {
6838
6837
  x: c.layoutState.layout.previewRegion.left,
6839
6838
  y: c.layoutState.layout.previewRegion.top,
@@ -6938,8 +6937,8 @@ class CA {
6938
6937
  }
6939
6938
  })).data) == null ? void 0 : a.transactionAddStakeholder) == null ? void 0 : n.stakeholders) == null ? void 0 : s.find(
6940
6939
  (i) => {
6941
- var r;
6942
- return ((r = i.customer) == null ? void 0 : r.emailAddress) === A.emailAddress;
6940
+ var o;
6941
+ return ((o = i.customer) == null ? void 0 : o.emailAddress) === A.emailAddress;
6943
6942
  }
6944
6943
  );
6945
6944
  if (t != null && t.customer) {
@@ -6959,10 +6958,10 @@ class CA {
6959
6958
  throw new v("State undefined!");
6960
6959
  const a = {
6961
6960
  title: await (async () => {
6962
- var r;
6961
+ var o;
6963
6962
  if (A)
6964
6963
  return A;
6965
- const n = this.getWorkflowManager().getTransaction().id, i = (r = (await zA.getSavedDesigns()).find((o) => o.transactionId === n)) == null ? void 0 : r.title;
6964
+ const n = this.getWorkflowManager().getTransaction().id, i = (o = (await zA.getSavedDesigns()).find((r) => r.transactionId === n)) == null ? void 0 : o.title;
6966
6965
  return i || "My design";
6967
6966
  })(),
6968
6967
  thumbnail: await this.createPreviewImage(!1, 256),
@@ -7015,13 +7014,13 @@ class CA {
7015
7014
  var a;
7016
7015
  const A = /* @__PURE__ */ new Map(), e = this.getWorkflowManager().getWorkflowMetadata(), t = this.getWorkflowManager().getWorkflowSelections();
7017
7016
  return Object.keys(e).forEach((n) => {
7018
- const s = this.workflowManager.getWorkflow().steps.find((r) => r.stepName === n);
7017
+ const s = this.workflowManager.getWorkflow().steps.find((o) => o.stepName === n);
7019
7018
  if (!s)
7020
7019
  return;
7021
7020
  A.has(s.stepTitle) || A.set(s.stepTitle, {});
7022
7021
  const i = e[n];
7023
- Object.keys(i).forEach((r) => {
7024
- A.get(s.stepTitle)[r] = i[r];
7022
+ Object.keys(i).forEach((o) => {
7023
+ A.get(s.stepTitle)[o] = i[o];
7025
7024
  });
7026
7025
  }), (a = Object.keys(t)) == null || a.forEach((n) => {
7027
7026
  const s = this.workflowManager.getWorkflow().steps.find((i) => i.stepName === n);
@@ -7044,7 +7043,7 @@ const En = [
7044
7043
  ], hn = async (g, A, e) => {
7045
7044
  const t = A.data, a = e.data.baseUrl, n = t.assetUrl.replace("localhost", "localstack"), s = a.slice(0, 4) === "http" ? "" : "https://", i = new URL(s + a);
7046
7045
  i.searchParams.append("video", he(JSON.stringify([{ href: n }]))), i.pathname = i.pathname + (i.pathname.slice(-1) === "/" ? "" : "/");
7047
- const r = i.toString(), c = `data:image/svg+xml;base64,${he(await be(r, { type: "svg" }))}`, B = (d) => {
7046
+ const o = i.toString(), c = `data:image/svg+xml;base64,${he(await be(o, { type: "svg" }))}`, B = (d) => {
7048
7047
  const E = g.find((w) => w.panelId === d.panelId);
7049
7048
  if (!E)
7050
7049
  throw new L(d);
@@ -7073,17 +7072,17 @@ const En = [
7073
7072
  try {
7074
7073
  const i = Rt(a, t.option);
7075
7074
  i && (A[t.stepName] = { selectedVariants: [i] });
7076
- const r = async (o) => {
7075
+ const o = async (r) => {
7077
7076
  var C;
7078
7077
  const c = await Pt(
7079
- o || {
7078
+ r || {
7080
7079
  width: 1,
7081
7080
  height: 1
7082
7081
  },
7083
7082
  (C = i == null ? void 0 : i.asset) == null ? void 0 : C.fileLink
7084
- ), B = await Ae(c), l = k(), d = g.find((w) => w.panelId === o.panelId);
7083
+ ), B = await Ae(c), l = k(), d = g.find((w) => w.panelId === r.panelId);
7085
7084
  if (!d)
7086
- throw new L(o);
7085
+ throw new L(r);
7087
7086
  const E = ee(s, B, {
7088
7087
  scale: a.scale,
7089
7088
  left: a.x,
@@ -7101,15 +7100,15 @@ const En = [
7101
7100
  focalBlurStrength: t.data.focalBlurStrength,
7102
7101
  focalBlurRadius: t.data.focalBlurRadius,
7103
7102
  forceImageCover: t.data.forceImageCover,
7104
- x: o.left,
7105
- y: o.top,
7106
- width: o.width,
7107
- height: o.height,
7108
- layer: o.layer,
7109
- layerIndex: o.layerIndex,
7110
- rotation: o.rotation,
7111
- scaleX: o.width / B.width,
7112
- scaleY: o.height / B.height,
7103
+ x: r.left,
7104
+ y: r.top,
7105
+ width: r.width,
7106
+ height: r.height,
7107
+ layer: r.layer,
7108
+ layerIndex: r.layerIndex,
7109
+ rotation: r.rotation,
7110
+ scaleX: r.width / B.width,
7111
+ scaleY: r.height / B.height,
7113
7112
  pattern: void 0
7114
7113
  },
7115
7114
  d
@@ -7117,7 +7116,7 @@ const En = [
7117
7116
  new Me(l, s, E)
7118
7117
  ];
7119
7118
  };
7120
- return (await Promise.all(t.data.regions.map((o) => r(o)))).flat();
7119
+ return (await Promise.all(t.data.regions.map((r) => o(r)))).flat();
7121
7120
  } catch (i) {
7122
7121
  return console.error(i), [];
7123
7122
  }
@@ -7135,7 +7134,7 @@ const En = [
7135
7134
  const i = (D = s.asset) == null ? void 0 : D.fileLink;
7136
7135
  if (!i)
7137
7136
  return console.error(`No asset link for variant with ID: ${a.illustrationVariantId}`), [];
7138
- const r = await Z(i, !0), o = /<svg.*?<\/svg>/s, c = r.match(o) || [], B = (c == null ? void 0 : c.length) > 0 ? c[0] : "", E = Pe().parseFromString(B, "image/svg+xml").firstElementChild;
7137
+ const o = await Z(i, !0), r = /<svg.*?<\/svg>/s, c = o.match(r) || [], B = (c == null ? void 0 : c.length) > 0 ? c[0] : "", E = Pe().parseFromString(B, "image/svg+xml").firstElementChild;
7139
7138
  if (!E)
7140
7139
  return console.error("Failed to read SVG."), [];
7141
7140
  He(E);
@@ -7191,10 +7190,10 @@ const En = [
7191
7190
  return console.error(m), [];
7192
7191
  }
7193
7192
  }, un = async (g, A, e) => {
7194
- const t = await it(e.data.module), a = A.data, n = (i, r) => {
7195
- const o = g.find((B) => B.panelId === r.panelId);
7196
- if (!o)
7197
- throw new L(r);
7193
+ const t = await it(e.data.module), a = A.data, n = (i, o) => {
7194
+ const r = g.find((B) => B.panelId === o.panelId);
7195
+ if (!r)
7196
+ throw new L(o);
7198
7197
  const c = k();
7199
7198
  return new J(
7200
7199
  {
@@ -7202,15 +7201,15 @@ const En = [
7202
7201
  id: c,
7203
7202
  svg: i,
7204
7203
  type: H.Illustration,
7205
- y: r.top,
7206
- x: r.left,
7207
- rotation: r.rotation,
7208
- width: r.width,
7209
- height: r.height,
7210
- layer: r.layer,
7211
- layerIndex: r.layerIndex
7204
+ y: o.top,
7205
+ x: o.left,
7206
+ rotation: o.rotation,
7207
+ width: o.width,
7208
+ height: o.height,
7209
+ layer: o.layer,
7210
+ layerIndex: o.layerIndex
7212
7211
  },
7213
- o
7212
+ r
7214
7213
  );
7215
7214
  }, s = e.data.regions;
7216
7215
  try {
@@ -7234,7 +7233,7 @@ const En = [
7234
7233
  const i = (B = s.asset) == null ? void 0 : B.fileLink;
7235
7234
  if (!i)
7236
7235
  return console.error(`No asset link for variant with ID: ${a.pictureVariantId}`), [];
7237
- const r = (l) => {
7236
+ const o = (l) => {
7238
7237
  const d = g.find((C) => C.panelId === l.panelId);
7239
7238
  if (!d)
7240
7239
  throw new L(l);
@@ -7256,18 +7255,18 @@ const En = [
7256
7255
  },
7257
7256
  d
7258
7257
  );
7259
- }, o = t.data.regions;
7258
+ }, r = t.data.regions;
7260
7259
  try {
7261
- return o.map(r);
7260
+ return r.map(o);
7262
7261
  } catch (l) {
7263
7262
  return console.error(l), [];
7264
7263
  }
7265
7264
  }, pn = async (g, A, e, t) => {
7266
- var o;
7265
+ var r;
7267
7266
  const a = e.data, n = t.option;
7268
7267
  if (!n)
7269
7268
  return console.error(`No option for step ${t.stepName}.`), [];
7270
- const s = ((o = n.variants) == null ? void 0 : o.find((c) => c.id === a.colorVariantId)) || UA(n);
7269
+ const s = ((r = n.variants) == null ? void 0 : r.find((c) => c.id === a.colorVariantId)) || UA(n);
7271
7270
  if (!s)
7272
7271
  return console.error(`No variant with ID: ${a.colorVariantId}`), [];
7273
7272
  A[t.stepName] = { selectedVariants: [s] };
@@ -7313,53 +7312,53 @@ const En = [
7313
7312
  },
7314
7313
  B
7315
7314
  );
7316
- }, r = t.data.regions;
7315
+ }, o = t.data.regions;
7317
7316
  try {
7318
- return r.map(i);
7317
+ return o.map(i);
7319
7318
  } catch (c) {
7320
7319
  return console.error(c), [];
7321
7320
  }
7322
7321
  }, In = async (g, A, e) => {
7323
7322
  const t = [], n = (() => {
7324
- var o, c;
7325
- return A.type === I.ProductOverlay ? e || ((o = A.data.asset) == null ? void 0 : o.fileLink) || "" : ((c = A.data.asset) == null ? void 0 : c.fileLink) || "";
7326
- })(), i = (() => n.endsWith(".jpeg") || n.endsWith(".jpg") || n.endsWith(".png") ? H.Image : n.endsWith(".svg") ? H.Illustration : H.Illustration)(), r = A.data.regions;
7323
+ var r, c;
7324
+ return A.type === I.ProductOverlay ? e || ((r = A.data.asset) == null ? void 0 : r.fileLink) || "" : ((c = A.data.asset) == null ? void 0 : c.fileLink) || "";
7325
+ })(), i = (() => n.endsWith(".jpeg") || n.endsWith(".jpg") || n.endsWith(".png") ? H.Image : n.endsWith(".svg") ? H.Illustration : H.Illustration)(), o = A.data.regions;
7327
7326
  if (i === "image")
7328
7327
  try {
7329
- r.forEach((o) => {
7330
- const c = g.find((l) => l.panelId === o.panelId);
7328
+ o.forEach((r) => {
7329
+ const c = g.find((l) => l.panelId === r.panelId);
7331
7330
  if (!c)
7332
- throw new L(o);
7331
+ throw new L(r);
7333
7332
  const B = {
7334
7333
  id: k(),
7335
7334
  src: n,
7336
7335
  type: i,
7337
- y: o.top,
7338
- x: o.left,
7339
- width: o.width,
7340
- height: o.height,
7341
- layer: o.layer,
7342
- layerIndex: o.layerIndex,
7336
+ y: r.top,
7337
+ x: r.left,
7338
+ width: r.width,
7339
+ height: r.height,
7340
+ layer: r.layer,
7341
+ layerIndex: r.layerIndex,
7343
7342
  productOverlay: A.type === I.ProductOverlay ? !0 : void 0,
7344
7343
  scaleX: 1,
7345
7344
  scaleY: 1,
7346
- rotation: o.rotation,
7345
+ rotation: r.rotation,
7347
7346
  excludeFromExport: A.data.excludeFromPrint,
7348
7347
  preserveAspectRatio: "none"
7349
7348
  };
7350
7349
  t.push(new J(B, c));
7351
7350
  });
7352
- } catch (o) {
7353
- console.error(o);
7351
+ } catch (r) {
7352
+ console.error(r);
7354
7353
  }
7355
7354
  else {
7356
- const o = await Z(n, !0), c = (B) => {
7355
+ const r = await Z(n, !0), c = (B) => {
7357
7356
  const l = /<svg.*?<\/svg>/s, d = B.match(l) || [], E = (d == null ? void 0 : d.length) > 0 ? d[0] : "", Q = Pe().parseFromString(E, "image/svg+xml").firstElementChild;
7358
7357
  if (!Q)
7359
7358
  throw new rA("Failed to read SVG.");
7360
7359
  return He(Q), Ue().serializeToString(Q);
7361
7360
  };
7362
- r.forEach((B) => {
7361
+ o.forEach((B) => {
7363
7362
  const l = g.find((E) => E.panelId === B.panelId);
7364
7363
  if (!l)
7365
7364
  throw new L(B);
@@ -7367,7 +7366,7 @@ const En = [
7367
7366
  id: k(),
7368
7367
  src: n,
7369
7368
  asset_key: n,
7370
- svg: c(o),
7369
+ svg: c(r),
7371
7370
  colors: {},
7372
7371
  type: i,
7373
7372
  y: B.top,
@@ -7387,7 +7386,7 @@ const En = [
7387
7386
  }
7388
7387
  return t;
7389
7388
  }, Dn = async (g, A, e, t) => {
7390
- const a = [], n = e.data, s = 30, i = (w) => w.vertical ? "center" : w.textAlign || "center", r = () => {
7389
+ const a = [], n = e.data, s = 30, i = (w) => w.vertical ? "center" : w.textAlign || "center", o = () => {
7391
7390
  var u;
7392
7391
  const w = t.option;
7393
7392
  if (!w)
@@ -7400,7 +7399,7 @@ const En = [
7400
7399
  if (h)
7401
7400
  return h;
7402
7401
  }, c = await (async () => {
7403
- const w = r();
7402
+ const w = o();
7404
7403
  if (!w)
7405
7404
  return;
7406
7405
  const Q = await te(w);
@@ -7487,7 +7486,7 @@ const En = [
7487
7486
  }) : !0, Fn = async (g, A, e, t) => {
7488
7487
  const a = [], n = {};
7489
7488
  for (const s of g) {
7490
- const i = A.steps.find((r) => r.stepName === s.name);
7489
+ const i = A.steps.find((o) => o.stepName === s.name);
7491
7490
  if (i)
7492
7491
  switch (i.type) {
7493
7492
  case I.DigitalContent:
@@ -7635,8 +7634,8 @@ class yn {
7635
7634
  }
7636
7635
  }
7637
7636
  class Yn extends Xe {
7638
- constructor(A, e, t, a, n, s, i, r) {
7639
- super(), this.layoutId = A, this.ctx = e, this.nonPOTSupport = t, this.onRender = a, this.workflow = n, this.layouts = s, this.variationRecord = i, this.productOverlayImageUrl = r;
7637
+ constructor(A, e, t, a, n, s, i, o) {
7638
+ super(), this.layoutId = A, this.ctx = e, this.nonPOTSupport = t, this.onRender = a, this.workflow = n, this.layouts = s, this.variationRecord = i, this.productOverlayImageUrl = o;
7640
7639
  }
7641
7640
  /**
7642
7641
  * Returns the resolution expected for generated textures.
@@ -7692,17 +7691,17 @@ class Yn extends Xe {
7692
7691
  }), Gt(e);
7693
7692
  }
7694
7693
  const t = A.layoutState.layout.width, a = A.layoutState.layout.height, n = this.getDynamicTextureResolution().width, s = this.getDynamicTextureResolution().height;
7695
- let i, r;
7694
+ let i, o;
7696
7695
  if (this.nonPOTSupport) {
7697
7696
  const l = n / s;
7698
- t / a < l ? (i = n, r = a * (n / t)) : (i = t * (s / a), r = s);
7699
- const E = this.resizeFit({ width: i, height: r });
7700
- i = E.width, r = E.height;
7697
+ t / a < l ? (i = n, o = a * (n / t)) : (i = t * (s / a), o = s);
7698
+ const E = this.resizeFit({ width: i, height: o });
7699
+ i = E.width, o = E.height;
7701
7700
  } else
7702
- i = this.getDynamicTextureResolution().width, r = this.getDynamicTextureResolution().height;
7703
- const o = Ye(A.layoutState.layout, e, {
7701
+ i = this.getDynamicTextureResolution().width, o = this.getDynamicTextureResolution().height;
7702
+ const r = Ye(A.layoutState.layout, e, {
7704
7703
  renderingConfiguration: { purpose: Se.ThreeD }
7705
- }), c = xe(o), B = await Ge.from(this.ctx, c, {
7704
+ }), c = xe(r), B = await Ge.from(this.ctx, c, {
7706
7705
  anonymousCrossOrigin: !0,
7707
7706
  ignoreDimensions: !this.nonPOTSupport,
7708
7707
  ignoreAnimation: !0,
@@ -7714,7 +7713,7 @@ class Yn extends Xe {
7714
7713
  DOMParser: Re(),
7715
7714
  fetch: _A
7716
7715
  });
7717
- B.resize(i, r), await B.render(), this.onRender();
7716
+ B.resize(i, o), await B.render(), this.onRender();
7718
7717
  }
7719
7718
  }
7720
7719
  const Sn = (g, A) => {
@@ -7733,7 +7732,7 @@ const Sn = (g, A) => {
7733
7732
  serializableWorkflow: { steps: [] },
7734
7733
  layouts: {}
7735
7734
  };
7736
- a = new G(e.map((r) => new Ut(r))).apply(a);
7735
+ a = new G(e.map((o) => new Ut(o))).apply(a);
7737
7736
  const s = await Fn(g, A, e, t);
7738
7737
  return new G(s).apply(a);
7739
7738
  }, Nn = y`
@@ -8103,8 +8102,8 @@ class ge {
8103
8102
  var s;
8104
8103
  return (s = n.getRaw().globalPropertyAspectConfigurations) == null ? void 0 : s.some(
8105
8104
  (i) => {
8106
- var r, o;
8107
- return i.globalPropertyConfigurationId === ((o = (r = this.bundle.getProductCollection()) == null ? void 0 : r.getResource().globalPropertyConfiguration) == null ? void 0 : o.id) && i.aspectName === this.property.name;
8105
+ var o, r;
8106
+ return i.globalPropertyConfigurationId === ((r = (o = this.bundle.getProductCollection()) == null ? void 0 : o.getResource().globalPropertyConfiguration) == null ? void 0 : r.id) && i.aspectName === this.property.name;
8108
8107
  }
8109
8108
  );
8110
8109
  })
@@ -8380,7 +8379,7 @@ class _n {
8380
8379
  this.state ? this.state.transactions || (this.state.transactions = []) : this.state = {
8381
8380
  transactions: []
8382
8381
  };
8383
- const s = this.state.transactions.find((r) => r.transactionId === n);
8382
+ const s = this.state.transactions.find((o) => o.transactionId === n);
8384
8383
  s ? s.transform = e : this.state.transactions.push({
8385
8384
  transactionId: n,
8386
8385
  transform: e
@@ -8474,9 +8473,9 @@ class es {
8474
8473
  */
8475
8474
  getIntegrationByType(A, e) {
8476
8475
  const a = (this.product.integrationProducts || []).find((n) => {
8477
- var o, c, B;
8478
- const s = (o = n.integration) == null ? void 0 : o.type, i = ((c = n.integration) == null ? void 0 : c.type) === A, r = e ? ((B = n.integration) == null ? void 0 : B.externalIntegrationId) === e : !0;
8479
- return s && i && r;
8476
+ var r, c, B;
8477
+ const s = (r = n.integration) == null ? void 0 : r.type, i = ((c = n.integration) == null ? void 0 : c.type) === A, o = e ? ((B = n.integration) == null ? void 0 : B.externalIntegrationId) === e : !0;
8478
+ return s && i && o;
8480
8479
  });
8481
8480
  if (!a)
8482
8481
  throw new Error(
@@ -8592,11 +8591,11 @@ class as {
8592
8591
  class fe {
8593
8592
  constructor(A, e, t, a) {
8594
8593
  var n, s, i;
8595
- this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = A, this.id = e.id, this.name = e.name || "", this.metadata = new Map(((n = e.metadata) == null ? void 0 : n.map((r) => [r.key, r.value])) || []), this.productCollection = e.productCollection, this.bundleStateManager = new _n(e.bundleStateData), this.globalConfiguration = (s = this.productCollection) == null ? void 0 : s.globalPropertyConfiguration, this.globalPropertyStateManager = new $n(
8594
+ this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = A, this.id = e.id, this.name = e.name || "", this.metadata = new Map(((n = e.metadata) == null ? void 0 : n.map((o) => [o.key, o.value])) || []), this.productCollection = e.productCollection, this.bundleStateManager = new _n(e.bundleStateData), this.globalConfiguration = (s = this.productCollection) == null ? void 0 : s.globalPropertyConfiguration, this.globalPropertyStateManager = new $n(
8596
8595
  this.id,
8597
8596
  this.checkConditionalHandlesChanged.bind(this)
8598
8597
  ), this.globalPropertyHandleService = new Kn(this), this.setPreviewService(t), this.initializationPromise = this.loadExistingBundles(
8599
- ((i = e.transactions) == null ? void 0 : i.map((r) => r.id)) || [],
8598
+ ((i = e.transactions) == null ? void 0 : i.map((o) => o.id)) || [],
8600
8599
  a
8601
8600
  );
8602
8601
  }
@@ -9002,9 +9001,9 @@ class ss {
9002
9001
  setTimeout(C, E);
9003
9002
  });
9004
9003
  }
9005
- let i = !1, r = 0, o, c;
9004
+ let i = !1, o = 0, r, c;
9006
9005
  for (; !i; ) {
9007
- o = await N.getShadowGraphqlClient().query({
9006
+ r = await N.getShadowGraphqlClient().query({
9008
9007
  query: y`
9009
9008
  query getProcessFlowExecution($ids: [String]!) {
9010
9009
  processExecutions(ids: $ids) {
@@ -9023,8 +9022,8 @@ class ss {
9023
9022
  ids: [n]
9024
9023
  }
9025
9024
  });
9026
- const E = (d = o.data) == null ? void 0 : d.processExecutions[0];
9027
- if (!o || !E)
9025
+ const E = (d = r.data) == null ? void 0 : d.processExecutions[0];
9026
+ if (!r || !E)
9028
9027
  throw new Error("Failed to retrieve server response for execution.");
9029
9028
  if (E.failedAt)
9030
9029
  throw new Error(
@@ -9034,9 +9033,9 @@ class ss {
9034
9033
  i = !0, c = new is(E);
9035
9034
  break;
9036
9035
  }
9037
- r += 1;
9036
+ o += 1;
9038
9037
  const C = t != null && t.repeats ? t == null ? void 0 : t.repeats : 5;
9039
- if (r >= C)
9038
+ if (o >= C)
9040
9039
  throw new Error("Maximum wait time exceeded for execution result.");
9041
9040
  await s(t != null && t.sleepTime ? Math.max(t.sleepTime, 500) : 2e3);
9042
9041
  }
@@ -9805,8 +9804,8 @@ const cs = y`
9805
9804
  throw new Error(`Unable to read workflows: ${e.errors ?? "Length mismatch in response"}`);
9806
9805
  return t.forEach((n) => {
9807
9806
  n.steps.forEach((s) => {
9808
- var i, r, o;
9809
- delete s.data.__typename, (i = s.option) != null && i.id && ((r = s.option.defaultVariant) != null && r.asset && T.cacheAsset(s.option.defaultVariant.asset), s.option.colorProfile && T.cacheAsset(s.option.colorProfile), (o = s.option.variants) == null || o.forEach((c) => {
9807
+ var i, o, r;
9808
+ delete s.data.__typename, (i = s.option) != null && i.id && ((o = s.option.defaultVariant) != null && o.asset && T.cacheAsset(s.option.defaultVariant.asset), s.option.colorProfile && T.cacheAsset(s.option.colorProfile), (r = s.option.variants) == null || r.forEach((c) => {
9810
9809
  c.asset && T.cacheAsset(c.asset), c.displayImage && T.cacheAsset(c.displayImage), c.thumbnail && T.cacheAsset(c.thumbnail), c.material && T.cacheMaterial(c.material);
9811
9810
  }), BA.set({ id: s.option.id }, Promise.resolve(s.option)));
9812
9811
  });
@@ -9817,7 +9816,7 @@ const cs = y`
9817
9816
  throw new Error(`Workflow not found: ${g}`);
9818
9817
  return t;
9819
9818
  }, ht = async (g, A) => {
9820
- const e = g.map((i) => BA.get({ id: i, options: A })), t = g.filter((i, r) => e[r] === void 0);
9819
+ const e = g.map((i) => BA.get({ id: i, options: A })), t = g.filter((i, o) => e[o] === void 0);
9821
9820
  if (t.length === 0)
9822
9821
  return Promise.all(e);
9823
9822
  const a = ps(t, A), n = t.map(
@@ -9886,8 +9885,8 @@ class fs {
9886
9885
  }
9887
9886
  const t = x.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
9888
9887
  if (t.has(A)) {
9889
- const s = t.get(A), r = (x.getMap("partnerCustomerIds") || /* @__PURE__ */ new Map()).get(s);
9890
- if (r && await this.authenticateCustomerId(r)) {
9888
+ const s = t.get(A), o = (x.getMap("partnerCustomerIds") || /* @__PURE__ */ new Map()).get(s);
9889
+ if (o && await this.authenticateCustomerId(o)) {
9891
9890
  const c = (n = (a = this.customer) == null ? void 0 : a.bundleStakeholders) == null ? void 0 : n.find(
9892
9891
  (B) => {
9893
9892
  var l;
@@ -9957,18 +9956,18 @@ class fs {
9957
9956
  });
9958
9957
  }
9959
9958
  }
9960
- const o = (await e.query({
9959
+ const r = (await e.query({
9961
9960
  query: Es,
9962
9961
  errorPolicy: "all",
9963
9962
  variables: {
9964
9963
  id: a.workflowId
9965
9964
  }
9966
9965
  })).data.workflow;
9967
- if (!o)
9966
+ if (!r)
9968
9967
  throw new Error(`Unable to read workflow: ${a.workflowId}`);
9969
9968
  return Promise.resolve({
9970
9969
  success: !1,
9971
- theme: o.overrideTheme,
9970
+ theme: r.overrideTheme,
9972
9971
  customLogoLink: a.customLogoLink
9973
9972
  });
9974
9973
  }
@@ -10002,7 +10001,7 @@ class fs {
10002
10001
  }
10003
10002
  })).data.customer;
10004
10003
  if (!a.id) {
10005
- const r = (s = (await e.mutate({
10004
+ const o = (s = (await e.mutate({
10006
10005
  mutation: Cs,
10007
10006
  errorPolicy: "all",
10008
10007
  fetchPolicy: "no-cache",
@@ -10012,10 +10011,10 @@ class fs {
10012
10011
  }
10013
10012
  }
10014
10013
  })).data) == null ? void 0 : s.customerCreate;
10015
- if (!r)
10014
+ if (!o)
10016
10015
  throw new Error("Unable to create customer.");
10017
- return this.storeCustomer(r), this.customer = r, {
10018
- customer: r,
10016
+ return this.storeCustomer(o), this.customer = o, {
10017
+ customer: o,
10019
10018
  isAuthenticated: !1
10020
10019
  };
10021
10020
  }
@@ -10124,10 +10123,10 @@ class fs {
10124
10123
  });
10125
10124
  if (!((c = s.data) != null && c.bundles) || ((B = s.data) == null ? void 0 : B.bundles.length) === 0 || !((l = s.data) != null && l.bundles[0]))
10126
10125
  throw new Error(`Unable to find bundle: ${A}`);
10127
- const i = (d = s.data) == null ? void 0 : d.bundles[0], r = x.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10128
- r.set(i.id, i.partner.id), x.setMap("bundlePartnerIds", r);
10129
- const o = new fe(this, i, e, t);
10130
- return await o.getInitializationPromise(), o;
10126
+ const i = (d = s.data) == null ? void 0 : d.bundles[0], o = x.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10127
+ o.set(i.id, i.partner.id), x.setMap("bundlePartnerIds", o);
10128
+ const r = new fe(this, i, e, t);
10129
+ return await r.getInitializationPromise(), r;
10131
10130
  }
10132
10131
  /**
10133
10132
  * Retrieves all existing bundle stakeholders from the API, for the currently authenticated customer.
@@ -10148,8 +10147,8 @@ class fs {
10148
10147
  throw new Error("Unable to find customer.");
10149
10148
  const t = A.data.customers[0].bundleStakeholders || [], a = x.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10150
10149
  return t.forEach((s) => {
10151
- var i, r;
10152
- (i = s.bundle) != null && i.id && ((r = s.bundle.partner) != null && r.id) && a.set(s.bundle.id, s.bundle.partner.id);
10150
+ var i, o;
10151
+ (i = s.bundle) != null && i.id && ((o = s.bundle.partner) != null && o.id) && a.set(s.bundle.id, s.bundle.partner.id);
10153
10152
  }), x.setMap("bundlePartnerIds", a), t;
10154
10153
  }
10155
10154
  /**
@@ -10214,50 +10213,50 @@ class fs {
10214
10213
  return { transaction: p, workflow: D };
10215
10214
  }
10216
10215
  throw new P("No workflow ID provided.");
10217
- }, { transaction: s, workflow: i, readOnly: r } = await n();
10216
+ }, { transaction: s, workflow: i, readOnly: o } = await n();
10218
10217
  this.currencyCode = (B = s.product.partner) == null ? void 0 : B.currencyCode;
10219
- const o = {
10218
+ const r = {
10220
10219
  product: s.product,
10221
10220
  transaction: s,
10222
10221
  layouts: [],
10223
10222
  singleVariantsRenderable: (l = a == null ? void 0 : a.workflowConfiguration) == null ? void 0 : l.singleVariantsRenderable,
10224
- stateMutationFunc: r ? async () => {
10223
+ stateMutationFunc: o ? async () => {
10225
10224
  throw new v("State mutation is forbidden in read only mode!");
10226
10225
  } : async (w) => {
10227
10226
  const h = (x.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(s.id) || void 0;
10228
10227
  return this.updateTransactionState({ ...w, context: { transactionOwnerId: h } });
10229
10228
  },
10230
- readOnly: r,
10229
+ readOnly: o,
10231
10230
  workflow: i
10232
10231
  };
10233
10232
  if (a.type === "transaction" && s.workflowState) {
10234
10233
  const w = JSON.parse(s.workflowState);
10235
- o.layouts = Object.values(w.layouts).map((Q) => Q.layout), await AA(w), await tA(w), o.reloadedState = w;
10236
- } else if (!r && a.workflowState) {
10234
+ r.layouts = Object.values(w.layouts).map((Q) => Q.layout), await AA(w), await tA(w), r.reloadedState = w;
10235
+ } else if (!o && a.workflowState) {
10237
10236
  const w = JSON.parse(a.workflowState);
10238
- o.layouts = Object.values(w.layouts).map((Q) => Q.layout), await AA(w), await tA(w), o.reloadedState = w;
10237
+ r.layouts = Object.values(w.layouts).map((Q) => Q.layout), await AA(w), await tA(w), r.reloadedState = w;
10239
10238
  } else
10240
- o.layouts = KA(
10241
- o.transaction,
10242
- o.workflow
10239
+ r.layouts = KA(
10240
+ r.transaction,
10241
+ r.workflow
10243
10242
  );
10244
- if (o.renderableContextService = new QA(
10245
- o.layouts
10246
- ), a.previewService ? (o.previewService = a.previewService, (d = o.product) != null && d.modelUrl && (o.modelContainer = o.previewService.loadModel({
10247
- model: o.product.modelUrl,
10248
- contextService: o.renderableContextService
10249
- }))) : (o.previewService = t && t(i), (E = o.product) != null && E.modelUrl && (o.modelContainer = (C = o.previewService) == null ? void 0 : C.loadModel({
10250
- model: o.product.modelUrl,
10251
- contextService: o.renderableContextService
10243
+ if (r.renderableContextService = new QA(
10244
+ r.layouts
10245
+ ), a.previewService ? (r.previewService = a.previewService, (d = r.product) != null && d.modelUrl && (r.modelContainer = r.previewService.loadModel({
10246
+ model: r.product.modelUrl,
10247
+ contextService: r.renderableContextService
10248
+ }))) : (r.previewService = t && t(i), (E = r.product) != null && E.modelUrl && (r.modelContainer = (C = r.previewService) == null ? void 0 : C.loadModel({
10249
+ model: r.product.modelUrl,
10250
+ contextService: r.renderableContextService
10252
10251
  }))), a.type !== "transaction") {
10253
10252
  const w = x.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map();
10254
10253
  w.set(s.id, s.transactionOwnerId), eA(s.transactionOwnerId || ""), x.setMap("transactionOwnerIds", w);
10255
10254
  } else {
10256
10255
  const Q = (x.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(s.id);
10257
- Q && eA(Q), o.isReloadedTransaction = !0;
10256
+ Q && eA(Q), r.isReloadedTransaction = !0;
10258
10257
  }
10259
- this.initialized = !0, this.experienceOptions = o;
10260
- const c = new CA(this, o);
10258
+ this.initialized = !0, this.experienceOptions = r;
10259
+ const c = new CA(this, r);
10261
10260
  return await c.getWorkflowManager().getInitializationPromise(), a.type !== "transaction" && this.customer && await c.attachCustomerDetails({ email: this.customer.emailAddress }), c;
10262
10261
  }
10263
10262
  /**
@@ -10297,7 +10296,7 @@ class fs {
10297
10296
  index: n[M].index
10298
10297
  };
10299
10298
  });
10300
- }, r = async () => {
10299
+ }, o = async () => {
10301
10300
  var f, p, D;
10302
10301
  if (s.length === 0)
10303
10302
  return [];
@@ -10326,7 +10325,7 @@ class fs {
10326
10325
  readOnly: !1,
10327
10326
  index: s[M].index
10328
10327
  }));
10329
- }, o = (await Promise.all([i(), r()])).flat(), c = [...new Set(o.map((h) => h.workflowId))], B = await ht(c, e), l = new Map(B.map((h) => [h.id, h])), d = x.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), E = o.map(async (h) => {
10328
+ }, r = (await Promise.all([i(), o()])).flat(), c = [...new Set(r.map((h) => h.workflowId))], B = await ht(c, e), l = new Map(B.map((h) => [h.id, h])), d = x.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), E = r.map(async (h) => {
10330
10329
  var U;
10331
10330
  const { transaction: u, workflowId: f, readOnly: p, index: D } = h, m = l.get(f), M = A[D];
10332
10331
  !d.get(u.id) && u.transactionOwnerId && d.set(u.id, u.transactionOwnerId);
@@ -10406,7 +10405,7 @@ class fs {
10406
10405
  * @deprecated Use getWorkflowExperience to initialize the experience.
10407
10406
  */
10408
10407
  async initFromTransaction(A, e = !1) {
10409
- var i, r, o, c;
10408
+ var i, o, r, c;
10410
10409
  if (A === "")
10411
10410
  throw new P("No transaction ID provided.");
10412
10411
  const t = N.getShadowGraphqlClient(), a = async () => {
@@ -10447,7 +10446,7 @@ class fs {
10447
10446
  throw new P("Failed to read transaction.");
10448
10447
  if (!l.product)
10449
10448
  throw new P("Failed to load transaction, product not available.");
10450
- this.currencyCode = (r = l.product.partner) == null ? void 0 : r.currencyCode, this.experienceOptions = {
10449
+ this.currencyCode = (o = l.product.partner) == null ? void 0 : o.currencyCode, this.experienceOptions = {
10451
10450
  product: l.product,
10452
10451
  transaction: l,
10453
10452
  layouts: [],
@@ -10457,11 +10456,11 @@ class fs {
10457
10456
  return;
10458
10457
  }
10459
10458
  try {
10460
- const l = (o = (await t.mutate({
10459
+ const l = (r = (await t.mutate({
10461
10460
  mutation: ga,
10462
10461
  variables: { id: A },
10463
10462
  errorPolicy: "all"
10464
- })).data) == null ? void 0 : o.transactionClaim;
10463
+ })).data) == null ? void 0 : r.transactionClaim;
10465
10464
  if (!l)
10466
10465
  throw new P("Failed to read transaction.");
10467
10466
  if (!l.product)
@@ -10485,27 +10484,27 @@ class fs {
10485
10484
  if (!this.initialized || !this.experienceOptions)
10486
10485
  throw new P("Cannot launch experience: Not initialized.");
10487
10486
  if (this.experienceOptions.transaction.workflowId) {
10488
- const r = await pA(this.experienceOptions.transaction.workflowId);
10489
- if (this.experienceOptions.workflow = r, this.experienceOptions.transaction.workflowState) {
10487
+ const o = await pA(this.experienceOptions.transaction.workflowId);
10488
+ if (this.experienceOptions.workflow = o, this.experienceOptions.transaction.workflowState) {
10490
10489
  const c = JSON.parse(this.experienceOptions.transaction.workflowState);
10491
10490
  this.experienceOptions.layouts = Object.values(c.layouts).map((B) => B.layout), await AA(c), await tA(c), this.experienceOptions.reloadedState = c;
10492
10491
  }
10493
- this.experienceOptions.previewService = t && t(r), this.experienceOptions.renderableContextService = new QA(this.experienceOptions.layouts), (a = this.experienceOptions.product) != null && a.modelUrl && (this.experienceOptions.modelContainer = (n = this.experienceOptions.previewService) == null ? void 0 : n.loadModel({
10492
+ this.experienceOptions.previewService = t && t(o), this.experienceOptions.renderableContextService = new QA(this.experienceOptions.layouts), (a = this.experienceOptions.product) != null && a.modelUrl && (this.experienceOptions.modelContainer = (n = this.experienceOptions.previewService) == null ? void 0 : n.loadModel({
10494
10493
  model: this.experienceOptions.product.modelUrl,
10495
10494
  contextService: this.experienceOptions.renderableContextService
10496
10495
  }));
10497
- const o = new CA(this, this.experienceOptions);
10498
- return await o.getWorkflowManager().getInitializationPromise(), o;
10496
+ const r = new CA(this, this.experienceOptions);
10497
+ return await r.getWorkflowManager().getInitializationPromise(), r;
10499
10498
  }
10500
10499
  if (A) {
10501
- const r = N.getShadowGraphqlClient().mutate({
10500
+ const o = N.getShadowGraphqlClient().mutate({
10502
10501
  mutation: Ba,
10503
10502
  variables: {
10504
10503
  workflowId: A,
10505
10504
  id: this.experienceOptions.transaction.id
10506
10505
  }
10507
- }), o = pA(A);
10508
- if (await Promise.all([r, o]), this.experienceOptions.workflow = await o, e) {
10506
+ }), r = pA(A);
10507
+ if (await Promise.all([o, r]), this.experienceOptions.workflow = await r, e) {
10509
10508
  const B = JSON.parse(e);
10510
10509
  this.experienceOptions.layouts = Object.values(B.layouts).map((l) => l.layout), await AA(B), await tA(B), this.experienceOptions.reloadedState = B;
10511
10510
  } else
@@ -10513,7 +10512,7 @@ class fs {
10513
10512
  this.experienceOptions.transaction,
10514
10513
  this.experienceOptions.workflow
10515
10514
  );
10516
- this.experienceOptions.previewService = t && t(await o), this.experienceOptions.renderableContextService = new QA(this.experienceOptions.layouts), (s = this.experienceOptions.product) != null && s.modelUrl && (this.experienceOptions.modelContainer = (i = this.experienceOptions.previewService) == null ? void 0 : i.loadModel({
10515
+ this.experienceOptions.previewService = t && t(await r), this.experienceOptions.renderableContextService = new QA(this.experienceOptions.layouts), (s = this.experienceOptions.product) != null && s.modelUrl && (this.experienceOptions.modelContainer = (i = this.experienceOptions.previewService) == null ? void 0 : i.loadModel({
10517
10516
  model: this.experienceOptions.product.modelUrl,
10518
10517
  contextService: this.experienceOptions.renderableContextService
10519
10518
  }));