@spiffcommerce/core 21.11.0-alpha.5 → 21.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createHttpLink as IA, InMemoryCache as fA, ApolloClient as DA, from as FA, gql as D } from "@apollo/client/core";
2
- import { fetch as et, getAttributesFromArrayBuffer as Ht, AssetType as ut, StepType as y, getFrameData as tt, frameDataCache as yA, GroupCommand as v, UpdateFramePattern as Rt, UpdateFrameThresholdSettingsCommand as MA, calculateOffsets as At, LayoutElementType as k, generate as J, CreateElementCommand as O, generateSVGWithUnknownColors as Ut, svgObjectURL as Pe, fetchAsString as _, DeleteElementCommand as ee, generateDefaultRectangleFrameSvg as Ct, GetSVGDimensions as SA, patternImageDataCache as Qt, fetchAsArrayBuffer as YA, findElement as xe, modifySVGWithElementProperties as PA, IllustrationColorCommand as We, IllustrationCacheCommand as xA, getFontMetrics as NA, getPatternImageData as Xe, FontAlignmentCommand as HA, FontColorCommand as RA, FontImageFillCommand as Te, applyTextTransformations as qe, determineCorrectFontSizeAndLines as Me, FontSourceCommand as mt, loadFont as at, TextChangeCommand as UA, FontSizeCommand as vA, createElementNS as GA, createElement as Qe, _loadFontExternalDataURL as nt, UpdateWorkflowStateCommand as pt, CommandContext as kA, createCanvas as Ne, getSvgElement as vt, LayoutRenderingPurpose as Gt, renderPapyrusComponentAsString as kt, loadImage as bt, getDomParser as Jt, toBase64 as It, getVariant as bA, generateFrameSVG as JA, getDefaultVariant as be, domParser as Lt, sanitizeSvgTree as Ot, traverse as LA, xmlSerializer as Tt, CreateLayoutCommand as OA, AspectType as Be, rehydrateSerializedLayout as Ae } from "@spiffcommerce/papyrus";
3
- import { AspectType as es, AssetType as ts, BringForwardCommand as As, BringToBackCommand as as, BringToFrontCommand as ns, CanvasCommand as is, CommandContext as ss, CreateElementCommand as os, CreateLayoutCommand as rs, DeleteElementCommand as cs, FontAlignmentCommand as gs, FontColorCommand as ls, FontSizeCommand as Bs, FontSourceCommand as ds, GroupCommand as ws, LayoutElementFactory as hs, LayoutElementType as Es, MoveCommand as us, ResizeCommand as Cs, RotateCommand as Qs, SendBackwardsCommand as ms, StepAspectType as ps, StepType as Is, TextChangeCommand as fs, UnitOfMeasurement as Ds, UpdateImageSourceCommand as Fs, dataUrlFromExternalUrl as ys, determineCorrectFontSizeAndLines as Ms, findElement as Ss, frameDataCache as Ys, generate as Ps, generateSVGWithUnknownColors as xs, getAttributesFromArrayBuffer as Ns, getAxisAlignedBoundingBox as Hs, getFrameData as Rs, getSvgElement as Us, loadFont as vs, patternImageDataCache as Gs, registerFetchImplementation as ks, registerWindowImplementation as bs, rehydrateSerializedLayout as Js, setCanvasModule as Ls } from "@spiffcommerce/papyrus";
2
+ import { fetch as et, getAttributesFromArrayBuffer as Rt, AssetType as ut, StepType as y, getFrameData as tt, frameDataCache as yA, GroupCommand as v, UpdateFramePattern as Ht, UpdateFrameThresholdSettingsCommand as MA, calculateOffsets as At, LayoutElementType as k, generate as J, CreateElementCommand as O, generateSVGWithUnknownColors as Ut, svgObjectURL as Pe, fetchAsString as _, DeleteElementCommand as ee, generateDefaultRectangleFrameSvg as Ct, GetSVGDimensions as SA, patternImageDataCache as Qt, fetchAsArrayBuffer as YA, findElement as xe, modifySVGWithElementProperties as PA, IllustrationColorCommand as We, IllustrationCacheCommand as xA, getFontMetrics as NA, getPatternImageData as Xe, FontAlignmentCommand as RA, FontColorCommand as HA, FontImageFillCommand as Te, applyTextTransformations as qe, determineCorrectFontSizeAndLines as Me, FontSourceCommand as mt, loadFont as at, TextChangeCommand as UA, FontSizeCommand as vA, createElementNS as GA, createElement as Qe, _loadFontExternalDataURL as nt, UpdateWorkflowStateCommand as pt, CommandContext as kA, createCanvas as Ne, getSvgElement as vt, LayoutRenderingPurpose as Gt, renderPapyrusComponentAsString as kt, loadImage as bt, getDomParser as Jt, toBase64 as It, getVariant as bA, generateFrameSVG as JA, getDefaultVariant as be, domParser as Lt, sanitizeSvgTree as Ot, traverse as LA, xmlSerializer as Tt, CreateLayoutCommand as OA, AspectType as Be, rehydrateSerializedLayout as Ae } from "@spiffcommerce/papyrus";
3
+ import { AspectType as es, AssetType as ts, BringForwardCommand as As, BringToBackCommand as as, BringToFrontCommand as ns, CanvasCommand as is, CommandContext as ss, CreateElementCommand as os, CreateLayoutCommand as rs, DeleteElementCommand as cs, FontAlignmentCommand as gs, FontColorCommand as ls, FontSizeCommand as Bs, FontSourceCommand as ds, GroupCommand as ws, LayoutElementFactory as hs, LayoutElementType as Es, MoveCommand as us, ResizeCommand as Cs, RotateCommand as Qs, SendBackwardsCommand as ms, StepAspectType as ps, StepType as Is, TextChangeCommand as fs, UnitOfMeasurement as Ds, UpdateImageSourceCommand as Fs, dataUrlFromExternalUrl as ys, determineCorrectFontSizeAndLines as Ms, findElement as Ss, frameDataCache as Ys, generate as Ps, generateSVGWithUnknownColors as xs, getAttributesFromArrayBuffer as Ns, getAxisAlignedBoundingBox as Rs, getFrameData as Hs, getSvgElement as Us, loadFont as vs, patternImageDataCache as Gs, registerFetchImplementation as ks, registerWindowImplementation as bs, rehydrateSerializedLayout as Js, setCanvasModule as Ls } from "@spiffcommerce/papyrus";
4
4
  import { setContext as TA } from "@apollo/client/link/context";
5
5
  import { onError as zA } from "@apollo/client/link/error";
6
6
  import { Pith as zt } from "pith";
@@ -21,7 +21,7 @@ class ue extends Wt {
21
21
  super(`ConfigurationError - ${e}`);
22
22
  }
23
23
  }
24
- class He extends ue {
24
+ class Re extends ue {
25
25
  constructor(e) {
26
26
  super(`Option not Configured: ${e.stepTitle}`), this.optionId = (e == null ? void 0 : e.optionId) || "N/A";
27
27
  }
@@ -41,7 +41,7 @@ class he extends ue {
41
41
  super(`Resource not found for asset: ${e.name}`), this.asset = e;
42
42
  }
43
43
  }
44
- class Re extends ue {
44
+ class He extends ue {
45
45
  constructor(e, t) {
46
46
  super(`Workflow Misconfiguration: ${e.stepName} - ${t}`), this.step = e;
47
47
  }
@@ -181,20 +181,20 @@ class $A {
181
181
  uri: `${$.getServerUrl()}/graphql`,
182
182
  fetch: et
183
183
  }), t = TA(async (i, s) => {
184
- const { headers: o } = s, r = o || {}, g = await ZA(), B = s.bearer ?? g.bearer, l = s.partnerId ?? g.partnerId, d = s.activeIntegration ?? g.activeIntegration, w = s.transactionOwnerId, E = s.customerToken ?? g.customerToken, h = s.applicationKey ?? g.applicationKey, C = s.bundleOwnerId;
184
+ const { headers: o } = s, r = o || {}, g = await ZA(), B = s.bearer ?? g.bearer, l = s.partnerId ?? g.partnerId, d = s.activeIntegration ?? g.activeIntegration, w = s.transactionOwnerId, E = s.customerToken ?? g.customerToken, h = s.applicationKey ?? g.applicationKey, u = s.bundleOwnerId;
185
185
  try {
186
186
  if (window && window.__SENTRY__) {
187
- const u = window.__SENTRY__.hub;
188
- if (u) {
189
- const f = u.traceHeaders();
190
- Object.entries(f).forEach(([Q, m]) => {
191
- r[Q] = m;
187
+ const C = window.__SENTRY__.hub;
188
+ if (C) {
189
+ const I = C.traceHeaders();
190
+ Object.entries(I).forEach(([m, Q]) => {
191
+ r[m] = Q;
192
192
  });
193
193
  }
194
194
  }
195
195
  } catch {
196
196
  }
197
- return B && (r.Authorization = `Bearer ${B}`), l && (r.partnerId = l), d && (r.activeIntegration = d), w && (r.transactionOwnerId = w), E && (r.customerToken = E), h && (r["X-Application-Key"] = h), C && (r.bundleOwnerId = C), {
197
+ return B && (r.Authorization = `Bearer ${B}`), l && (r.partnerId = l), d && (r.activeIntegration = d), w && (r.transactionOwnerId = w), E && (r.customerToken = E), h && (r["X-Application-Key"] = h), u && (r.bundleOwnerId = u), {
198
198
  headers: r
199
199
  };
200
200
  }), A = zA(({ operation: i, graphQLErrors: s, networkError: o }) => {
@@ -387,8 +387,8 @@ const x = new $A(), _A = D`
387
387
  };
388
388
  class sa {
389
389
  constructor() {
390
- this.cache = /* @__PURE__ */ new Map(), this.bgrmCache = /* @__PURE__ */ new Map(), this.materialCache = /* @__PURE__ */ new Map(), this.loadImageAsFileInfo = async (e) => {
391
- const t = await e.arrayBuffer(), A = await Ht(t), a = (n, i) => {
390
+ this.cache = /* @__PURE__ */ new Map(), this.bgrmProcessCache = /* @__PURE__ */ new Map(), this.materialCache = /* @__PURE__ */ new Map(), this.loadImageAsFileInfo = async (e) => {
391
+ const t = await e.arrayBuffer(), A = await Rt(t), a = (n, i) => {
392
392
  const s = atob(n.split(",")[1]), o = [];
393
393
  for (let r = 0; r < s.length; r++)
394
394
  o.push(s.charCodeAt(r));
@@ -485,11 +485,11 @@ class sa {
485
485
  }
486
486
  async removeBackgroundFromAsset(e) {
487
487
  const t = e.key;
488
- if (this.bgrmCache.has(t))
489
- return this.bgrmCache.get(t);
488
+ if (this.bgrmProcessCache.has(t))
489
+ return this.bgrmProcessCache.get(t);
490
490
  if (K.has(t)) {
491
491
  const n = this.getLocalOrFromServer(K.get(t));
492
- return this.bgrmCache.set(t, n), n;
492
+ return this.bgrmProcessCache.set(t, n), n;
493
493
  }
494
494
  const a = (async () => {
495
495
  var i, s;
@@ -501,11 +501,14 @@ class sa {
501
501
  key: t
502
502
  }
503
503
  });
504
- if (!((s = (i = n.data) == null ? void 0 : i.assetRemoveBackground) != null && s.key))
504
+ if (this.bgrmProcessCache.delete(t), !((s = (i = n.data) == null ? void 0 : i.assetRemoveBackground) != null && s.key))
505
505
  throw new Error("Failed to remove background from image");
506
- return ae.add(n.data.assetRemoveBackground), K.add(t, n.data.assetRemoveBackground.key), this.bgrmCache.delete(t), n.data.assetRemoveBackground;
506
+ return ae.add(n.data.assetRemoveBackground), K.add(t, n.data.assetRemoveBackground.key), this.cache.set(
507
+ n.data.assetRemoveBackground.key,
508
+ Promise.resolve(n.data.assetRemoveBackground)
509
+ ), n.data.assetRemoveBackground;
507
510
  })();
508
- return this.bgrmCache.set(t, a), a;
511
+ return this.bgrmProcessCache.set(t, a), a;
509
512
  }
510
513
  removePersistedAsset(e) {
511
514
  ae.remove(e), K.delete(e), K.deleteForBgRemovedKey(e);
@@ -1630,7 +1633,7 @@ class Ya {
1630
1633
  n.forEach((o, r) => {
1631
1634
  s(
1632
1635
  new v([
1633
- new Rt(o, t, e[r]),
1636
+ new Ht(o, t, e[r]),
1634
1637
  new MA(o, a.useThreshold, a.invertThreshold, a.threshold, a.thresholdSaturation)
1635
1638
  ])
1636
1639
  );
@@ -1666,7 +1669,7 @@ class St {
1666
1669
  if (this.configuration.type === y.ProductOverlay) {
1667
1670
  let l = "";
1668
1671
  if ((o = this.product) != null && o.overlayImageUrl && (l = this.product.overlayImageUrl), i = l, !l)
1669
- throw new Re(this.configuration, "Couldn't find an asset for product overlay step");
1672
+ throw new He(this.configuration, "Couldn't find an asset for product overlay step");
1670
1673
  }
1671
1674
  const s = this.evaluateAssetType();
1672
1675
  if (s === k.Image) {
@@ -1698,14 +1701,14 @@ class St {
1698
1701
  command: new O(d, n)
1699
1702
  };
1700
1703
  } else {
1701
- const l = this.configuration.type === y.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, w = await Ut(await (async () => new Promise((h, C) => {
1704
+ const l = this.configuration.type === y.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, w = await Ut(await (async () => new Promise((h, u) => {
1702
1705
  if (!l) {
1703
- C("Undefined vector silent step source");
1706
+ u("Undefined vector silent step source");
1704
1707
  return;
1705
1708
  }
1706
- _(l, !0).then((u) => {
1707
- h(u);
1708
- }).catch((u) => console.error(u));
1709
+ _(l, !0).then((C) => {
1710
+ h(C);
1711
+ }).catch((C) => console.error(C));
1709
1712
  }))()), E = {
1710
1713
  stepName: this.configuration.stepName,
1711
1714
  id: J(),
@@ -1737,7 +1740,7 @@ class St {
1737
1740
  }
1738
1741
  async trigger() {
1739
1742
  if (!this.configuration.data.regions)
1740
- throw new Re(this.configuration, "Missing regions.");
1743
+ throw new He(this.configuration, "Missing regions.");
1741
1744
  if (this.configuration.type === y.SilentIllustration) {
1742
1745
  const e = this.configuration.data.regions.map(this.processRegion);
1743
1746
  return Promise.all(e);
@@ -1814,29 +1817,29 @@ class xa {
1814
1817
  async regenerateQRCode(e, t, A, a, n, i, s, o, r) {
1815
1818
  if (!t && A !== "" && a === "") {
1816
1819
  const g = async () => {
1817
- var Q, m;
1818
- const u = (await qt([A]))[0], f = (m = (Q = u == null ? void 0 : u.versions) == null ? void 0 : Q.find((p) => p.name === "mpeg4")) == null ? void 0 : m.link;
1819
- return { asset: u, link: f };
1820
- }, B = await new Promise((u, f) => {
1820
+ var m, Q;
1821
+ const C = (await qt([A]))[0], I = (Q = (m = C == null ? void 0 : C.versions) == null ? void 0 : m.find((p) => p.name === "mpeg4")) == null ? void 0 : Q.link;
1822
+ return { asset: C, link: I };
1823
+ }, B = await new Promise((C, I) => {
1821
1824
  new aA(
1822
1825
  async () => !!(await g()).link,
1823
1826
  async () => {
1824
- const Q = await g();
1825
- if (!Q.link || !Q.link)
1826
- throw new he(Q.asset);
1827
- u({
1827
+ const m = await g();
1828
+ if (!m.link || !m.link)
1829
+ throw new he(m.asset);
1830
+ C({
1828
1831
  rel: "mpeg4",
1829
- href: Q.link
1832
+ href: m.link
1830
1833
  });
1831
1834
  },
1832
1835
  () => {
1833
- f("Poller timed out with 40 attempts @ 3 second interval");
1836
+ I("Poller timed out with 40 attempts @ 3 second interval");
1834
1837
  },
1835
1838
  3e3,
1836
1839
  40
1837
1840
  );
1838
1841
  });
1839
- e.forEach((u) => o(new ee(u.id)));
1842
+ e.forEach((C) => o(new ee(C.id)));
1840
1843
  const l = i.data.baseUrl.slice(0, 4) === "http" ? "" : "https://", d = new URL(l + i.data.baseUrl);
1841
1844
  d.searchParams.append("video", btoa(JSON.stringify([B]))), d.pathname = d.pathname + (d.pathname.slice(-1) === "/" ? "" : "/");
1842
1845
  const w = d.toString();
@@ -1844,9 +1847,9 @@ class xa {
1844
1847
  throw new Le("Cannot create QR code, URL too long.");
1845
1848
  const E = await Pa(w);
1846
1849
  if (s(E), !i.data || !i.data.regions)
1847
- throw new Re(i, "Missing regions.");
1848
- const h = await this.regionElements(i), C = await this.command(E, h, n, i.stepName);
1849
- C && (C.command && n.getCommandDispatcher()(C.command), C.followup && await C.followup()), await n.setSelectionsAndElements(i.stepName, [], h, async () => {
1850
+ throw new He(i, "Missing regions.");
1851
+ const h = await this.regionElements(i), u = await this.command(E, h, n, i.stepName);
1852
+ u && (u.command && n.getCommandDispatcher()(u.command), u.followup && await u.followup()), await n.setSelectionsAndElements(i.stepName, [], h, async () => {
1850
1853
  n.updateStorage(i.stepName, {
1851
1854
  videoShortUrl: E,
1852
1855
  videoUrl: a
@@ -1889,7 +1892,7 @@ class xa {
1889
1892
  }
1890
1893
  }
1891
1894
  const Na = new xa();
1892
- class Ha {
1895
+ class Ra {
1893
1896
  constructor() {
1894
1897
  this.frameSourceSvg = async (e, t) => {
1895
1898
  if (!e)
@@ -1946,18 +1949,18 @@ class Ha {
1946
1949
  frameOffsetsList: l,
1947
1950
  framePatternSrc: B
1948
1951
  }), B) {
1949
- const C = (E = t.getStepSpecificServices(e.stepName)) == null ? void 0 : E.frameService;
1950
- if (!C)
1952
+ const u = (E = t.getStepSpecificServices(e.stepName)) == null ? void 0 : E.frameService;
1953
+ if (!u)
1951
1954
  throw new Error("Frame service unavailable, cannot load pattern!");
1952
- await this.loadPatternFromString(B, C), t.updateMetadata(e.stepName, { image: B }), t.updateStorage(e.stepName, {
1955
+ await this.loadPatternFromString(B, u), t.updateMetadata(e.stepName, { image: B }), t.updateStorage(e.stepName, {
1953
1956
  framePatternSrc: B
1954
1957
  });
1955
1958
  }
1956
- if (l != null && l.some((C) => C.zoom)) {
1957
- const C = (h = t.getStepSpecificServices(e.stepName)) == null ? void 0 : h.frameService;
1958
- if (!C)
1959
+ if (l != null && l.some((u) => u.zoom)) {
1960
+ const u = (h = t.getStepSpecificServices(e.stepName)) == null ? void 0 : h.frameService;
1961
+ if (!u)
1959
1962
  throw new Error("Frame service unavailable, cannot load pattern!");
1960
- C.updateOffsets(l);
1963
+ u.updateOffsets(l);
1961
1964
  }
1962
1965
  t.setMandatoryFulfilled(e.stepName, !0);
1963
1966
  };
@@ -2051,7 +2054,7 @@ class Ha {
2051
2054
  };
2052
2055
  Qt.set(e, i), t.setPatternData(i);
2053
2056
  } else {
2054
- const A = await YA(e, !0), a = await Ht(A), n = {
2057
+ const A = await YA(e, !0), a = await Rt(A), n = {
2055
2058
  src: e,
2056
2059
  width: a.width,
2057
2060
  height: a.height,
@@ -2071,23 +2074,23 @@ class Ha {
2071
2074
  n && n(!0);
2072
2075
  const r = await Promise.all(
2073
2076
  e.data.regions.map(async (d, w) => {
2074
- const E = await tt(o[w]), h = s.getImageData(), C = A.map((I) => new ee(I.id)), u = h ? At(h, E) : void 0, f = h ? {
2077
+ const E = await tt(o[w]), h = s.getImageData(), u = A.map((f) => new ee(f.id)), C = h ? At(h, E) : void 0, I = h ? {
2075
2078
  id: J(),
2076
2079
  src: h.src,
2077
- x: (u == null ? void 0 : u.x) || 0,
2078
- y: (u == null ? void 0 : u.y) || 0,
2080
+ x: (C == null ? void 0 : C.x) || 0,
2081
+ y: (C == null ? void 0 : C.y) || 0,
2079
2082
  width: h.width,
2080
2083
  height: h.height,
2081
- scaleX: (u == null ? void 0 : u.zoom) || 1,
2082
- scaleY: (u == null ? void 0 : u.zoom) || 1,
2084
+ scaleX: (C == null ? void 0 : C.zoom) || 1,
2085
+ scaleY: (C == null ? void 0 : C.zoom) || 1,
2083
2086
  rotation: 0
2084
- } : void 0, Q = J(), p = a.getLayouts().find((I) => I.panelId === d.panelId);
2087
+ } : void 0, m = J(), p = a.getLayouts().find((f) => f.panelId === d.panelId);
2085
2088
  if (!p)
2086
2089
  throw new z(d);
2087
2090
  return {
2088
- command: this.getCreateElementCommand(Q, d, p, {
2091
+ command: this.getCreateElementCommand(m, d, p, {
2089
2092
  frameData: E,
2090
- pattern: f,
2093
+ pattern: I,
2091
2094
  disablePlaceholder: e.data.disablePlaceholder,
2092
2095
  focalBlur: e.data.focalBlur,
2093
2096
  focalBlurStrength: e.data.focalBlurStrength,
@@ -2095,10 +2098,10 @@ class Ha {
2095
2098
  stepName: e.stepName
2096
2099
  }),
2097
2100
  regionEl: {
2098
- id: Q,
2101
+ id: m,
2099
2102
  region: d
2100
2103
  },
2101
- removeExistingCommands: C
2104
+ removeExistingCommands: u
2102
2105
  };
2103
2106
  })
2104
2107
  ), g = r.map((d) => d.command), B = r.map((d) => d.removeExistingCommands).flat();
@@ -2147,8 +2150,8 @@ class Ha {
2147
2150
  }), A.markUpdateCompleted(n);
2148
2151
  }
2149
2152
  }
2150
- const Se = new Ha();
2151
- class Ra {
2153
+ const Se = new Ra();
2154
+ class Ha {
2152
2155
  async getIllustrationBody(e) {
2153
2156
  return new Promise((t) => {
2154
2157
  _(e, !0).then((A) => {
@@ -2202,7 +2205,7 @@ class Ra {
2202
2205
  const n = V.getDefaultVariant(a);
2203
2206
  if (n)
2204
2207
  return await this.selectVariantCommand(e, n, [], () => {
2205
- }, t);
2208
+ }, t, !0);
2206
2209
  }
2207
2210
  return null;
2208
2211
  }
@@ -2266,8 +2269,8 @@ class Ra {
2266
2269
  a().map((E) => E.layoutState)
2267
2270
  ), s = { ...i.colors }, o = {};
2268
2271
  Object.entries(s).forEach(([E, h]) => {
2269
- const C = { browserValue: h.browserValue }, u = h.spotColor;
2270
- u && (C.spotColor = { profileName: u.profileName, namedColor: u.namedColor }), o[E] = C;
2272
+ const u = { browserValue: h.browserValue }, C = h.spotColor;
2273
+ C && (u.spotColor = { profileName: C.profileName, namedColor: C.namedColor }), o[E] = u;
2271
2274
  });
2272
2275
  for (const [E, h] of n.entries())
2273
2276
  s[E] = { browserValue: h, spotColor: (d = s[E]) == null ? void 0 : d.spotColor }, o[E] = { browserValue: h };
@@ -2275,8 +2278,8 @@ class Ra {
2275
2278
  const g = e.data.colorOption;
2276
2279
  g && ((w = g.variants) == null || w.forEach((E) => {
2277
2280
  r = r.map((h) => {
2278
- var C;
2279
- return h.toLowerCase() === ((C = E.color) == null ? void 0 : C.toLowerCase()) ? E.name : h;
2281
+ var u;
2282
+ return h.toLowerCase() === ((u = E.color) == null ? void 0 : u.toLowerCase()) ? E.name : h;
2280
2283
  });
2281
2284
  })), A.updateMetadata(e.stepName, { colors: r });
2282
2285
  const B = /* @__PURE__ */ new Map();
@@ -2299,80 +2302,80 @@ class Ra {
2299
2302
  const i = await this.selectVariantCommand(e, t, A, a, n);
2300
2303
  i && (i.command && n.getCommandDispatcher()(i.command), i.followup && await i.followup());
2301
2304
  }
2302
- async selectVariantCommand(e, t, A, a, n) {
2305
+ async selectVariantCommand(e, t, A, a, n, i) {
2303
2306
  var C;
2304
2307
  if (!e.data || !e.data.regions)
2305
- throw new Re(e, "Missing regions.");
2308
+ throw new He(e, "Missing regions.");
2306
2309
  a(!0);
2307
- const i = A.map((u) => new ee(u.id));
2310
+ const s = A.map((I) => new ee(I.id));
2308
2311
  n.setMandatoryFulfilled(e.stepName, !1);
2309
- const s = t.asset;
2310
- if (!s)
2311
- throw new te(t);
2312
- const o = s.fileLink;
2312
+ const o = t.asset;
2313
2313
  if (!o)
2314
- throw new he(s);
2315
- const r = await Ut(await this.getIllustrationBody(o)), g = await Pe(r.svg), B = (u) => {
2316
- const f = n.getLayouts().find((m) => m.panelId === u.panelId);
2317
- if (!f)
2318
- throw new z(u);
2314
+ throw new te(t);
2315
+ const r = o.fileLink;
2316
+ if (!r)
2317
+ throw new he(o);
2318
+ const g = await Ut(await this.getIllustrationBody(r)), B = await Pe(g.svg), l = (I) => {
2319
+ const m = n.getLayouts().find((p) => p.panelId === I.panelId);
2320
+ if (!m)
2321
+ throw new z(I);
2319
2322
  const Q = J();
2320
2323
  return {
2321
- regionElement: { id: Q, region: u },
2322
- command: this.getCreateElementCommand(Q, u, f, {
2324
+ regionElement: { id: Q, region: I },
2325
+ command: this.getCreateElementCommand(Q, I, m, {
2323
2326
  stepName: e.stepName,
2324
- src: o,
2325
- objectURL: g,
2326
- svg: r
2327
+ src: r,
2328
+ objectURL: B,
2329
+ svg: g
2327
2330
  })
2328
2331
  };
2329
- }, l = e.data.regions.map(B), w = [...l.map((u) => u.command), ...i];
2330
- let E = Array.from(Object.values(r.colors)).map((u) => u.browserValue);
2331
- const h = e.data.colorOption;
2332
- return h && ((C = h.variants) == null || C.forEach((u) => {
2333
- E = E.map((f) => {
2332
+ }, d = e.data.regions.map(l), E = [...d.map((I) => I.command), ...s];
2333
+ let h = Array.from(Object.values(g.colors)).map((I) => I.browserValue);
2334
+ const u = e.data.colorOption;
2335
+ return u && ((C = u.variants) == null || C.forEach((I) => {
2336
+ h = h.map((m) => {
2334
2337
  var Q;
2335
- return f.toLowerCase() === ((Q = u.color) == null ? void 0 : Q.toLowerCase()) ? u.name : f;
2338
+ return m.toLowerCase() === ((Q = I.color) == null ? void 0 : Q.toLowerCase()) ? I.name : m;
2336
2339
  });
2337
- })), n.updateMetadata(e.stepName, { colors: E }), {
2338
- command: new v(w),
2340
+ })), n.updateMetadata(e.stepName, { colors: h }), {
2341
+ command: new v(E),
2339
2342
  followup: async () => {
2340
2343
  await n.setSelectionsAndElements(
2341
2344
  e.stepName,
2342
2345
  [t],
2343
- l.map((Q) => Q.regionElement),
2346
+ d.map((Q) => Q.regionElement),
2344
2347
  async () => {
2345
- n.setMandatoryFulfilled(e.stepName, !0), a(!1);
2348
+ i || n.setMandatoryFulfilled(e.stepName, !0), a(!1);
2346
2349
  }
2347
2350
  );
2348
- const u = await this.availableColors(e, n) || [], f = Object.keys(r.colors);
2349
- if (e.data.colorPickerEnabled && u.length === 1 && f.length === 1) {
2350
- const Q = u[0], m = f[0];
2351
+ const I = await this.availableColors(e, n) || [], m = Object.keys(g.colors);
2352
+ if (e.data.colorPickerEnabled && I.length === 1 && m.length === 1) {
2353
+ const Q = I[0], p = m[0];
2351
2354
  await this.changeColors(
2352
2355
  e,
2353
- l.map((p) => p.regionElement),
2356
+ d.map((f) => f.regionElement),
2354
2357
  n,
2355
2358
  () => n.getCommandContext().getAllLayouts(),
2356
- /* @__PURE__ */ new Map([[m, Q.variant.color]])
2359
+ /* @__PURE__ */ new Map([[p, Q.variant.color]])
2357
2360
  );
2358
2361
  }
2359
2362
  }
2360
2363
  };
2361
2364
  }
2362
2365
  }
2363
- const Ye = new Ra();
2366
+ const Ye = new Ha();
2364
2367
  class Ua {
2365
2368
  async init(e, t, A) {
2366
2369
  const a = e.option;
2367
2370
  if (!a)
2368
- throw new He(e);
2371
+ throw new Re(e);
2369
2372
  if (A)
2370
2373
  await this.reload(e, t, A);
2371
2374
  else {
2372
2375
  const n = V.getDefaultVariant(a);
2373
2376
  if (n)
2374
2377
  return await this.selectVariantLambda(e, n, t, () => {
2375
- });
2378
+ }, !0);
2376
2379
  }
2377
2380
  return null;
2378
2381
  }
@@ -2383,7 +2386,7 @@ class Ua {
2383
2386
  A.serializableWorkflow.steps
2384
2387
  ), s = Object.values(A.layouts).map((g) => g.elements).flat().filter((g) => g.stepName === e.stepName), o = e.option;
2385
2388
  if (!o)
2386
- throw new He(e);
2389
+ throw new Re(e);
2387
2390
  if (a != null && a.selectedVariants) {
2388
2391
  const g = a.selectedVariants[0].id;
2389
2392
  if (g) {
@@ -2412,20 +2415,20 @@ class Ua {
2412
2415
  const n = await this.selectVariantLambda(e, t, A, a);
2413
2416
  n && (n.command && A.getCommandDispatcher()(n.command), n.followup && await n.followup());
2414
2417
  }
2415
- async selectVariantLambda(e, t, A, a) {
2416
- const n = A.getModelContainer();
2418
+ async selectVariantLambda(e, t, A, a, n) {
2419
+ const i = A.getModelContainer();
2417
2420
  a(!0);
2418
- const i = t.material;
2419
- if (!i)
2421
+ const s = t.material;
2422
+ if (!s)
2420
2423
  throw a(!1), new te(t);
2421
2424
  return {
2422
2425
  command: void 0,
2423
2426
  followup: async () => {
2424
2427
  await A.setSelectionsAndElements(e.stepName, [t], [], async () => {
2425
2428
  try {
2426
- n && e.data.targetMaterials.forEach((s) => {
2427
- e.option && n.applyMaterialVariant(s, e.option.id || "", i);
2428
- }), A.setMandatoryFulfilled(e.stepName, !0);
2429
+ i && e.data.targetMaterials.forEach((o) => {
2430
+ e.option && i.applyMaterialVariant(o, e.option.id || "", s);
2431
+ }), n || A.setMandatoryFulfilled(e.stepName, !0);
2429
2432
  } finally {
2430
2433
  a(!1);
2431
2434
  }
@@ -2439,14 +2442,14 @@ class va {
2439
2442
  async init(e, t, A) {
2440
2443
  const a = e.option;
2441
2444
  if (!a)
2442
- throw new He(e);
2445
+ throw new Re(e);
2443
2446
  if (A)
2444
2447
  await this.reload(e, t, A);
2445
2448
  else {
2446
2449
  const n = V.getDefaultVariant(a);
2447
2450
  if (n)
2448
2451
  return await this.selectVariantLambda(e, n, t, () => {
2449
- });
2452
+ }, !0);
2450
2453
  }
2451
2454
  return null;
2452
2455
  }
@@ -2492,26 +2495,26 @@ class va {
2492
2495
  const n = await this.selectVariantLambda(e, t, A, a);
2493
2496
  n && (n.command && A.getCommandDispatcher()(n.command), n.followup && await n.followup());
2494
2497
  }
2495
- async selectVariantLambda(e, t, A, a) {
2496
- var i;
2498
+ async selectVariantLambda(e, t, A, a, n) {
2499
+ var s;
2497
2500
  a(!0);
2498
- const n = (i = t.asset) == null ? void 0 : i.fileLink;
2499
- if (!n)
2501
+ const i = (s = t.asset) == null ? void 0 : s.fileLink;
2502
+ if (!i)
2500
2503
  throw new te(t);
2501
2504
  return {
2502
2505
  command: void 0,
2503
2506
  followup: async () => {
2504
2507
  await A.setSelectionsAndElements(e.stepName, [t], [], async () => {
2505
2508
  try {
2506
- const s = A.getModelContainer();
2507
- s && await s.applyModelVariant(
2509
+ const o = A.getModelContainer();
2510
+ o && await o.applyModelVariant(
2508
2511
  e.stepName,
2509
2512
  {
2510
- model: n,
2513
+ model: i,
2511
2514
  contextService: A.getLayoutPreviewService()
2512
2515
  },
2513
2516
  e.data.replaceProductModel || !1
2514
- ), A.setMandatoryFulfilled(e.stepName, !0);
2517
+ ), n || A.setMandatoryFulfilled(e.stepName, !0);
2515
2518
  } finally {
2516
2519
  a(!1);
2517
2520
  }
@@ -2556,11 +2559,11 @@ class Ga {
2556
2559
  return console.error("Missing configuration."), null;
2557
2560
  A.updateStorage(e.stepName, { text: t });
2558
2561
  const r = (B, l, d) => {
2559
- const w = d || J(), h = A.getLayouts().find((u) => u.panelId === l.panelId);
2562
+ const w = d || J(), h = A.getLayouts().find((C) => C.panelId === l.panelId);
2560
2563
  if (!h)
2561
2564
  return console.error(`Can not find layout for region: ${l.panelId}`), null;
2562
- const C = [];
2563
- return d && C.push(new ee(w)), C.push(
2565
+ const u = [];
2566
+ return d && u.push(new ee(w)), u.push(
2564
2567
  new O(
2565
2568
  {
2566
2569
  stepRegion: l,
@@ -2583,7 +2586,7 @@ class Ga {
2583
2586
  ), {
2584
2587
  id: w,
2585
2588
  region: l,
2586
- command: new v(C)
2589
+ command: new v(u)
2587
2590
  };
2588
2591
  };
2589
2592
  if (i.length > 0) {
@@ -2643,7 +2646,7 @@ class ba {
2643
2646
  await this.reload(e, t, A);
2644
2647
  else if (a.defaultVariant)
2645
2648
  return t.markStepsAsInitialised([e.stepName]), this.selectVariantCommand(e, a.defaultVariant, t, () => {
2646
- });
2649
+ }, !0);
2647
2650
  return t.markStepsAsInitialised([e.stepName]), null;
2648
2651
  }
2649
2652
  async reload(e, t, A) {
@@ -2674,51 +2677,51 @@ class ba {
2674
2677
  const n = await this.selectVariantCommand(e, t, A, a);
2675
2678
  n && (n.command && A.getCommandDispatcher()(n.command), n.followup && await n.followup());
2676
2679
  }
2677
- async selectVariantCommand(e, t, A, a) {
2678
- const n = t.asset;
2679
- if (!n)
2680
- throw new te(t);
2681
- const i = n == null ? void 0 : n.fileLink;
2680
+ async selectVariantCommand(e, t, A, a, n) {
2681
+ const i = t.asset;
2682
2682
  if (!i)
2683
+ throw new te(t);
2684
+ const s = i == null ? void 0 : i.fileLink;
2685
+ if (!s)
2683
2686
  return console.error("No URL for picture!"), null;
2684
2687
  a(!0), A.setMandatoryFulfilled(e.stepName, !1);
2685
- const o = A.getRegionElements(e.stepName).map((B) => new ee(B.id)), r = (B) => {
2686
- const d = A.getLayouts().find((E) => E.panelId === B.panelId);
2687
- if (!d)
2688
- throw new z(B);
2689
- const w = J();
2688
+ const r = A.getRegionElements(e.stepName).map((l) => new ee(l.id)), g = (l) => {
2689
+ const w = A.getLayouts().find((h) => h.panelId === l.panelId);
2690
+ if (!w)
2691
+ throw new z(l);
2692
+ const E = J();
2690
2693
  return {
2691
- regionElement: { id: w, region: B },
2694
+ regionElement: { id: E, region: l },
2692
2695
  command: new O(
2693
2696
  {
2694
2697
  stepName: e.stepName,
2695
- stepRegion: B,
2696
- id: w,
2697
- src: i,
2698
+ stepRegion: l,
2699
+ id: E,
2700
+ src: s,
2698
2701
  type: k.Image,
2699
- y: B.top,
2700
- x: B.left,
2701
- rotation: B.rotation,
2702
- width: B.width,
2703
- height: B.height,
2704
- layer: B.layer,
2705
- layerIndex: B.layerIndex,
2706
- immutable: B.immutable,
2702
+ y: l.top,
2703
+ x: l.left,
2704
+ rotation: l.rotation,
2705
+ width: l.width,
2706
+ height: l.height,
2707
+ layer: l.layer,
2708
+ layerIndex: l.layerIndex,
2709
+ immutable: l.immutable,
2707
2710
  preserveAspectRatio: "none"
2708
2711
  },
2709
- d
2712
+ w
2710
2713
  )
2711
2714
  };
2712
- }, g = e.data.regions.map(r);
2715
+ }, B = e.data.regions.map(g);
2713
2716
  return {
2714
- command: new v([...o, ...g.map((B) => B.command)]),
2717
+ command: new v([...r, ...B.map((l) => l.command)]),
2715
2718
  followup: async () => {
2716
2719
  await A.setSelectionsAndElements(
2717
2720
  e.stepName,
2718
2721
  [t],
2719
- g.map((B) => B.regionElement),
2722
+ B.map((l) => l.regionElement),
2720
2723
  async () => {
2721
- A.setMandatoryFulfilled(e.stepName, !0), a(!1);
2724
+ n || A.setMandatoryFulfilled(e.stepName, !0), a(!1);
2722
2725
  }
2723
2726
  );
2724
2727
  }
@@ -2740,7 +2743,7 @@ class Ja {
2740
2743
  var r;
2741
2744
  return o.id === ((r = a.defaultVariant) == null ? void 0 : r.id);
2742
2745
  });
2743
- return this.selectVariantLambda(e, (s == null ? void 0 : s.id) || "", t);
2746
+ return this.selectVariantLambda(e, (s == null ? void 0 : s.id) || "", t, !0);
2744
2747
  }
2745
2748
  }
2746
2749
  return null;
@@ -2764,21 +2767,21 @@ class Ja {
2764
2767
  const a = await this.selectVariantLambda(e, t, A);
2765
2768
  a && (a.command && A.getCommandDispatcher()(a.command), a.followup && await a.followup());
2766
2769
  }
2767
- async selectVariantLambda(e, t, A) {
2768
- const a = e.option;
2769
- if (!a)
2770
- return null;
2771
- const n = a.variants;
2770
+ async selectVariantLambda(e, t, A, a) {
2771
+ const n = e.option;
2772
2772
  if (!n)
2773
2773
  return null;
2774
- const i = n.length > 1 ? n.find((s) => s.id === t) : n[0];
2774
+ const i = n.variants;
2775
2775
  if (!i)
2776
+ return null;
2777
+ const s = i.length > 1 ? i.find((o) => o.id === t) : i[0];
2778
+ if (!s)
2776
2779
  throw new Error("Failed to find selected variant in step variants, this should never happen!");
2777
2780
  return {
2778
2781
  command: void 0,
2779
2782
  followup: async () => {
2780
- await A.setSelectionsAndElements(e.stepName, [i], [], async () => {
2781
- A.setMandatoryFulfilled(e.stepName, !0);
2783
+ await A.setSelectionsAndElements(e.stepName, [s], [], async () => {
2784
+ a || A.setMandatoryFulfilled(e.stepName, !0);
2782
2785
  });
2783
2786
  }
2784
2787
  };
@@ -2811,7 +2814,7 @@ class La {
2811
2814
  async init(e, t, A) {
2812
2815
  const a = e.option;
2813
2816
  if (!a)
2814
- throw new He(e);
2817
+ throw new Re(e);
2815
2818
  if (A)
2816
2819
  await this.reload(e, t, A);
2817
2820
  else {
@@ -2890,7 +2893,7 @@ class La {
2890
2893
  };
2891
2894
  } else {
2892
2895
  const r = (d) => {
2893
- const w = n.find((f) => f.panelId === d.panelId);
2896
+ const w = n.find((I) => I.panelId === d.panelId);
2894
2897
  if (!w)
2895
2898
  throw new z(d);
2896
2899
  const E = s(), h = `
@@ -2913,18 +2916,18 @@ class La {
2913
2916
  fill="${E}"
2914
2917
  />
2915
2918
  </svg>
2916
- `, C = {};
2917
- C[this.shapeFillId] = { browserValue: E };
2918
- const u = J();
2919
+ `, u = {};
2920
+ u[this.shapeFillId] = { browserValue: E };
2921
+ const C = J();
2919
2922
  return {
2920
- id: u,
2923
+ id: C,
2921
2924
  region: d,
2922
2925
  command: new O(
2923
2926
  {
2924
2927
  stepRegion: d,
2925
2928
  stepName: e.stepName,
2926
- colors: C,
2927
- id: u,
2929
+ colors: u,
2930
+ id: C,
2928
2931
  svg: h,
2929
2932
  type: k.Illustration,
2930
2933
  y: d.top,
@@ -3094,7 +3097,7 @@ class Ka {
3094
3097
  return;
3095
3098
  const n = a.getCommandDispatcher();
3096
3099
  for (const i of A) {
3097
- const s = new HA(i.id, t);
3100
+ const s = new RA(i.id, t);
3098
3101
  n(s);
3099
3102
  }
3100
3103
  }
@@ -3114,7 +3117,7 @@ class Ka {
3114
3117
  for (const r of A) {
3115
3118
  if (!t.fill)
3116
3119
  throw new Error("Fill not set on new color selection!");
3117
- const g = new RA(r.id, t.fill, s);
3120
+ const g = new HA(r.id, t.fill, s);
3118
3121
  n(g);
3119
3122
  }
3120
3123
  }
@@ -3228,24 +3231,24 @@ class Ka {
3228
3231
  if (o && l) {
3229
3232
  const d = (r = o.variants) == null ? void 0 : r.find((w) => w.id === l);
3230
3233
  if (d) {
3231
- const w = await this.fontDataFromVariant(d), E = s.map((f) => ({ id: f.id, region: f.stepRegion })), h = (g = a.storage) == null ? void 0 : g.color, C = (B = a.storage) == null ? void 0 : B.text;
3234
+ const w = await this.fontDataFromVariant(d), E = s.map((I) => ({ id: I.id, region: I.stepRegion })), h = (g = a.storage) == null ? void 0 : g.color, u = (B = a.storage) == null ? void 0 : B.text;
3232
3235
  await t.setSelectionsAndElements(
3233
3236
  e.stepName,
3234
3237
  [d],
3235
3238
  E,
3236
3239
  async () => {
3237
- t.updateMetadata(e.stepName, { color: h, text: C }), t.updateStorage(e.stepName, { text: C, inputText: C });
3238
- const f = s.map((m) => new mt(m.id, w)), Q = new v(f);
3239
- t.getCommandDispatcher()(Q), t.setMandatoryFulfilled(e.stepName, !0);
3240
+ t.updateMetadata(e.stepName, { color: h, text: u }), t.updateStorage(e.stepName, { text: u, inputText: u });
3241
+ const I = s.map((Q) => new mt(Q.id, w)), m = new v(I);
3242
+ t.getCommandDispatcher()(m), t.setMandatoryFulfilled(e.stepName, !0);
3240
3243
  }
3241
3244
  );
3242
- const { command: u } = j.updateInputText(
3243
- C || "",
3245
+ const { command: C } = j.updateInputText(
3246
+ u || "",
3244
3247
  s,
3245
3248
  e,
3246
3249
  t
3247
3250
  );
3248
- u && t.getCommandDispatcher()(u);
3251
+ C && t.getCommandDispatcher()(C);
3249
3252
  }
3250
3253
  }
3251
3254
  }
@@ -3327,7 +3330,7 @@ class Ka {
3327
3330
  ), w = l.flatMap((h) => h.commands);
3328
3331
  if (o) {
3329
3332
  const h = l.map(
3330
- (C) => new Te(C.regionElement.id, o)
3333
+ (u) => new Te(u.regionElement.id, o)
3331
3334
  );
3332
3335
  w.push(...h);
3333
3336
  }
@@ -3357,21 +3360,21 @@ class Ka {
3357
3360
  if (!d)
3358
3361
  throw new Ge("Failed to find layout for region: " + B.panelId);
3359
3362
  const h = A.colorOption;
3360
- let C;
3363
+ let u;
3361
3364
  if (h && h.variants) {
3362
- const N = h.variants.find((H) => {
3365
+ const N = h.variants.find((R) => {
3363
3366
  var T;
3364
- return H.id === ((T = h.defaultVariant) == null ? void 0 : T.id);
3367
+ return R.id === ((T = h.defaultVariant) == null ? void 0 : T.id);
3365
3368
  }) || h.variants[0];
3366
- C = this.createTextFillSpotColor(h, N), i.updateStorage(e, {
3369
+ u = this.createTextFillSpotColor(h, N), i.updateStorage(e, {
3367
3370
  colorProfileAssetKey: (E = h.colorProfile) == null ? void 0 : E.key
3368
3371
  });
3369
3372
  }
3370
- const u = await this.getDefaultColor(A), f = u || "#000000", Q = {
3373
+ const C = await this.getDefaultColor(A), I = C || "#000000", m = {
3371
3374
  stepRegion: B,
3372
3375
  stepName: e,
3373
3376
  align: this.textAlign(A),
3374
- fill: n.color ? n.color : f,
3377
+ fill: n.color ? n.color : I,
3375
3378
  fontSize: A.size || ze,
3376
3379
  fontData: a,
3377
3380
  id: w,
@@ -3390,35 +3393,35 @@ class Ka {
3390
3393
  verticalAlign: A.verticalAlign || "middle",
3391
3394
  curved: A.curved,
3392
3395
  paths: A.paths,
3393
- fillSpotColorDefinition: C
3394
- }, m = [], p = /* @__PURE__ */ new Map(), I = /* @__PURE__ */ new Map();
3395
- if (!Q.fontData)
3396
+ fillSpotColorDefinition: u
3397
+ }, Q = [], p = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map();
3398
+ if (!m.fontData)
3396
3399
  throw new b("Failed to resolve font data for text.");
3397
3400
  const [F, M] = Me(
3398
- Q.fontSize,
3399
- Q.fontData,
3401
+ m.fontSize,
3402
+ m.fontData,
3400
3403
  {
3401
- left: Q.x,
3402
- top: Q.y,
3403
- width: Q.width,
3404
- height: Q.height,
3405
- rotation: Q.rotation,
3404
+ left: m.x,
3405
+ top: m.y,
3406
+ width: m.width,
3407
+ height: m.height,
3408
+ rotation: m.rotation,
3406
3409
  panelId: ""
3407
3410
  },
3408
3411
  [o],
3409
3412
  { size: A.size, minSize: A.minSize, maxSize: A.maxSize }
3410
3413
  );
3411
- p.set(Q.id, F), I.set(Q.id, M);
3414
+ p.set(m.id, F), f.set(m.id, M);
3412
3415
  const P = A.curved || A.vertical ? o : (M || []).join(`
3413
3416
  `);
3414
- m.push(
3415
- this.generateTextChangeCommandsForRegion(F, A, Q.id, P)
3417
+ Q.push(
3418
+ this.generateTextChangeCommandsForRegion(F, A, m.id, P)
3416
3419
  );
3417
- const S = new O(Q, d);
3420
+ const S = new O(m, d);
3418
3421
  return {
3419
3422
  regionElement: { id: w, region: B },
3420
- commands: [S, ...m],
3421
- newElement: Q,
3423
+ commands: [S, ...Q],
3424
+ newElement: m,
3422
3425
  fontData: a
3423
3426
  };
3424
3427
  } catch (h) {
@@ -3453,53 +3456,53 @@ class Ka {
3453
3456
  */
3454
3457
  async changeInputTextWithRegion(e, t, A, a, n, i, s, o, r, g) {
3455
3458
  const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), l = this.getProcessedInput(B, e.data, s), d = i.getRegionElements(e.stepName), w = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Map();
3456
- for (const Q of d)
3457
- if (Q.region) {
3458
- const [m, p] = Me(
3459
+ for (const m of d)
3460
+ if (m.region) {
3461
+ const [Q, p] = Me(
3459
3462
  t,
3460
3463
  A,
3461
- Q.region,
3464
+ m.region,
3462
3465
  [l],
3463
3466
  { size: e.data.size, minSize: e.data.minSize, maxSize: e.data.maxSize }
3464
3467
  );
3465
- w.set(Q.id, m), E.set(Q.id, p);
3468
+ w.set(m.id, Q), E.set(m.id, p);
3466
3469
  }
3467
- const C = (() => {
3470
+ const u = (() => {
3468
3471
  if (e.data && e.data.maxLength && l.length > e.data.maxLength)
3469
3472
  return g && g(!0), { info: "0" };
3470
- const Q = i.getProfanities(), m = Ze(l.toLowerCase());
3471
- for (const p of m)
3472
- for (const I in Q) {
3473
- const F = Q[I].toLowerCase().replace(/\s/g, "");
3473
+ const m = i.getProfanities(), Q = Ze(l.toLowerCase());
3474
+ for (const p of Q)
3475
+ for (const f in m) {
3476
+ const F = m[f].toLowerCase().replace(/\s/g, "");
3474
3477
  if (p === F)
3475
3478
  return o(!0), { error: "Blocked profanity." };
3476
3479
  }
3477
3480
  return !e.data.vertical && !e.data.allowNewlines && (l.includes(`
3478
- `) || l.includes("\r")) ? (o(!0), { error: "Cannot span multiple lines." }) : !e.data.curved && !Array.from(E.values()).every((I) => I) ? (o(!0), { error: "Does not fit." }) : (o(!1), { info: (e.data.maxLength - l.length).toString() });
3481
+ `) || l.includes("\r")) ? (o(!0), { error: "Cannot span multiple lines." }) : !e.data.curved && !Array.from(E.values()).every((f) => f) ? (o(!0), { error: "Does not fit." }) : (o(!1), { info: (e.data.maxLength - l.length).toString() });
3479
3482
  })();
3480
- if (C.error) {
3481
- r(C.error);
3483
+ if (u.error) {
3484
+ r(u.error);
3482
3485
  return;
3483
3486
  }
3484
- if (r(`${C.info} characters remaining` || ""), g)
3487
+ if (r(`${u.info} characters remaining` || ""), g)
3485
3488
  return;
3486
3489
  i.updateStorage(e.stepName, { text: B }), i.updateMetadata(e.stepName, {
3487
3490
  text: this.injectReplaceableText(B, e.data)
3488
3491
  }), n.defaultCleared && i.setMandatoryFulfilled(e.stepName, !0);
3489
- const u = [];
3490
- for (const Q of d) {
3491
- const m = e.data.curved ? l : (E.get(Q.id) || []).join(`
3492
+ const C = [];
3493
+ for (const m of d) {
3494
+ const Q = e.data.curved ? l : (E.get(m.id) || []).join(`
3492
3495
  `);
3493
- u.push(
3496
+ C.push(
3494
3497
  this.generateTextChangeCommandsForRegion(
3495
- w.get(Q.id) || 1,
3498
+ w.get(m.id) || 1,
3496
3499
  e.data,
3497
- Q.id,
3498
- m
3500
+ m.id,
3501
+ Q
3499
3502
  )
3500
3503
  );
3501
3504
  }
3502
- return new v(u);
3505
+ return new v(C);
3503
3506
  }
3504
3507
  }
3505
3508
  const j = new Ka();
@@ -4766,14 +4769,14 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
4766
4769
  </g>
4767
4770
  </svg>
4768
4771
 
4769
- `, R = (c) => GA("http://www.w3.org/2000/svg", c), gt = (c, e) => {
4770
- const t = R("rect");
4772
+ `, H = (c) => GA("http://www.w3.org/2000/svg", c), gt = (c, e) => {
4773
+ const t = H("rect");
4771
4774
  return t.setAttribute("height", `${c}`), t.setAttribute("width", `${e}`), t;
4772
4775
  }, Wa = () => {
4773
- const c = R("svg");
4776
+ const c = H("svg");
4774
4777
  return c.setAttribute("xmlns", "http://www.w3.org/2000/svg"), c.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), c.setAttribute("version", "1.1"), c;
4775
4778
  }, Xa = (c) => {
4776
- const e = R("use");
4779
+ const e = H("use");
4777
4780
  return e.setAttribute("xlink:href", c), e.setAttribute("href", c), e;
4778
4781
  };
4779
4782
  function rA(c) {
@@ -4781,7 +4784,7 @@ function rA(c) {
4781
4784
  return e.setAttribute("height", `${a}`), e.setAttribute("width", `${A}`), [e, a, A];
4782
4785
  }
4783
4786
  const qa = (c, e, t) => {
4784
- const A = R("g");
4787
+ const A = H("g");
4785
4788
  c.appendChild(A), A.setAttribute("id", t), A.innerHTML = e;
4786
4789
  };
4787
4790
  function cA(c, e, t) {
@@ -4943,31 +4946,31 @@ class $a extends ct {
4943
4946
  }
4944
4947
  brandSvg(e, t) {
4945
4948
  const A = e.toSVG(2), a = e.getBoundingBox(), n = a.x2 - a.x1, i = e.toPathData(3), s = () => {
4946
- const m = R("g"), p = R("defs");
4947
- m.appendChild(p), p.appendChild(gA(3, 7, 4, "shadow"));
4948
- const I = R("g");
4949
- m.appendChild(I), I.setAttribute("filter", "url(#shadow)"), I.innerHTML = A;
4950
- const F = R("g");
4951
- m.appendChild(F), F.setAttribute("fill", "red"), F.setAttribute("stroke", "red"), F.setAttribute("stroke-width", "9"), F.innerHTML = A;
4952
- const M = R("g");
4953
- m.appendChild(M), M.setAttribute("fill", "#9d2621"), M.setAttribute("transform", "translate(1,1)"), M.innerHTML = A;
4954
- const P = R("g");
4955
- return m.appendChild(P), P.setAttribute("fill", "yellow"), P.innerHTML = A, new Bt(m).transform(([N, H]) => [N, H + (n / 2 - N) ** 2 / (n * 2.9)]), m;
4949
+ const Q = H("g"), p = H("defs");
4950
+ Q.appendChild(p), p.appendChild(gA(3, 7, 4, "shadow"));
4951
+ const f = H("g");
4952
+ Q.appendChild(f), f.setAttribute("filter", "url(#shadow)"), f.innerHTML = A;
4953
+ const F = H("g");
4954
+ Q.appendChild(F), F.setAttribute("fill", "red"), F.setAttribute("stroke", "red"), F.setAttribute("stroke-width", "9"), F.innerHTML = A;
4955
+ const M = H("g");
4956
+ Q.appendChild(M), M.setAttribute("fill", "#9d2621"), M.setAttribute("transform", "translate(1,1)"), M.innerHTML = A;
4957
+ const P = H("g");
4958
+ return Q.appendChild(P), P.setAttribute("fill", "yellow"), P.innerHTML = A, new Bt(Q).transform(([N, R]) => [N, R + (n / 2 - N) ** 2 / (n * 2.9)]), Q;
4956
4959
  }, [o, r, g] = rA(t);
4957
4960
  if (!o)
4958
4961
  return "";
4959
- const B = R("defs");
4962
+ const B = H("defs");
4960
4963
  o.appendChild(B), cA(o, B, t);
4961
- const l = r * 0.23, d = g * 0.94, w = g * 0.04, E = r * 0.53, h = R("g");
4964
+ const l = r * 0.23, d = g * 0.94, w = g * 0.04, E = r * 0.53, h = H("g");
4962
4965
  o.appendChild(h), h.setAttribute("transform", `translate(${w} ${E}) rotate(-21)`);
4963
- const C = gt(l, d);
4964
- C.setAttribute("opacity", "0"), h.appendChild(C);
4965
- const u = R("g");
4966
- h.appendChild(u);
4967
- const f = s();
4968
- u.appendChild(f);
4969
- const Q = it(i);
4970
- return lt(u, Q, l, d), lA(o.outerHTML);
4966
+ const u = gt(l, d);
4967
+ u.setAttribute("opacity", "0"), h.appendChild(u);
4968
+ const C = H("g");
4969
+ h.appendChild(C);
4970
+ const I = s();
4971
+ C.appendChild(I);
4972
+ const m = it(i);
4973
+ return lt(C, m, l, d), lA(o.outerHTML);
4971
4974
  }
4972
4975
  }
4973
4976
  const _a = "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==";
@@ -4987,34 +4990,34 @@ class en extends ct {
4987
4990
  }
4988
4991
  brandSvg(e, t, A) {
4989
4992
  const a = e.toSVG(2), n = e.getBoundingBox(), i = n.y2 - n.y1, s = n.x2 - n.x1, o = e.toPathData(3), r = () => {
4990
- const I = R("g"), F = R("g");
4991
- I.appendChild(F), F.setAttribute("stroke", "#5C1A0D"), F.setAttribute("stroke-width", "4"), F.setAttribute("transform", "translate(1,1)"), F.innerHTML = a;
4992
- const M = R("g");
4993
- I.appendChild(M), M.setAttribute("fill", "#FFE386"), M.setAttribute("transform", "translate(1,1)"), M.innerHTML = a;
4994
- const P = R("g");
4995
- I.appendChild(P), P.setAttribute("fill", "white"), P.innerHTML = a;
4996
- const S = new Bt(I);
4997
- return S.transform(([N, H]) => [N, H + ((s - N) * H) ** 2 / (s * 5e4)]), S.transform(([N, H]) => [
4993
+ const f = H("g"), F = H("g");
4994
+ f.appendChild(F), F.setAttribute("stroke", "#5C1A0D"), F.setAttribute("stroke-width", "4"), F.setAttribute("transform", "translate(1,1)"), F.innerHTML = a;
4995
+ const M = H("g");
4996
+ f.appendChild(M), M.setAttribute("fill", "#FFE386"), M.setAttribute("transform", "translate(1,1)"), M.innerHTML = a;
4997
+ const P = H("g");
4998
+ f.appendChild(P), P.setAttribute("fill", "white"), P.innerHTML = a;
4999
+ const S = new Bt(f);
5000
+ return S.transform(([N, R]) => [N, R + ((s - N) * R) ** 2 / (s * 5e4)]), S.transform(([N, R]) => [
4998
5001
  N,
4999
- H + (s / 3 - N) ** 2 / s * this.indicator(N < s / 3)
5000
- ]), S.transform(([N, H]) => [N - (i - H) * (s - N) / 800, H]), I;
5002
+ R + (s / 3 - N) ** 2 / s * this.indicator(N < s / 3)
5003
+ ]), S.transform(([N, R]) => [N - (i - R) * (s - N) / 800, R]), f;
5001
5004
  }, [g, B, l] = rA(t);
5002
5005
  if (!g)
5003
5006
  return "";
5004
- const d = R("defs");
5007
+ const d = H("defs");
5005
5008
  g.appendChild(d), cA(g, d, t);
5006
- let w, E, h, C;
5007
- A ? (w = B * 0.25 * (1 + 0.1), E = l / 2 * (1 + 0.1), h = l * 0.22, C = B * 0.32) : (w = B * 0.22 * (1 + 0.1), E = l * 0.8, h = l * 0.067, C = B * 0.33);
5008
- const u = R("g");
5009
- g.appendChild(u), u.setAttribute("transform", `translate(${h} ${C}) rotate(-10)`);
5010
- const f = gt(w, E);
5011
- f.setAttribute("opacity", "0"), u.appendChild(f);
5012
- const Q = R("g");
5013
- u.appendChild(Q);
5014
- const m = r();
5015
- Q.appendChild(m);
5009
+ let w, E, h, u;
5010
+ A ? (w = B * 0.25 * (1 + 0.1), E = l / 2 * (1 + 0.1), h = l * 0.22, u = B * 0.32) : (w = B * 0.22 * (1 + 0.1), E = l * 0.8, h = l * 0.067, u = B * 0.33);
5011
+ const C = H("g");
5012
+ g.appendChild(C), C.setAttribute("transform", `translate(${h} ${u}) rotate(-10)`);
5013
+ const I = gt(w, E);
5014
+ I.setAttribute("opacity", "0"), C.appendChild(I);
5015
+ const m = H("g");
5016
+ C.appendChild(m);
5017
+ const Q = r();
5018
+ m.appendChild(Q);
5016
5019
  const p = it(o);
5017
- return lt(Q, p, w, E), g.outerHTML;
5020
+ return lt(m, p, w, E), g.outerHTML;
5018
5021
  }
5019
5022
  // 1 if true, 0 if false.
5020
5023
  }
@@ -5030,35 +5033,35 @@ class An extends ct {
5030
5033
  return this.svgElement(e, t);
5031
5034
  }
5032
5035
  svgElement(e, t) {
5033
- const A = nt(tn), n = e !== "" ? ((f) => f.charAt(0).toUpperCase() + f.substr(1).toLowerCase())(e) : "", i = A.getPath(n, 0, 72, 72), s = i.toSVG(2), o = i.getBoundingBox(), r = o.x2 - o.x1, g = i.toPathData(3), B = () => {
5034
- const f = R("g");
5035
- f.classList.add("module-text-group");
5036
- const Q = R("defs");
5037
- f.appendChild(Q), Q.appendChild(gA(0, 2, 2, "shadow"));
5038
- const m = R("path");
5039
- m.setAttribute("d", g), m.setAttribute("stroke", "black"), m.setAttribute("stroke-width", "3"), Q.appendChild(m);
5040
- const p = R("g");
5041
- p.classList.add("module-layer0"), f.appendChild(p), p.setAttribute("filter", "url(#shadow)"), p.innerHTML = m.outerHTML;
5042
- const I = R("g");
5043
- I.classList.add("module-layer1"), f.appendChild(I), I.setAttribute("stroke-width", "3"), I.setAttribute("stroke", "rgb(45,41,38)"), I.setAttribute("fill", "rgb(45,41,38)"), I.setAttribute("transform", "translate(0.5,0)"), I.innerHTML = s;
5044
- const F = R("g");
5045
- F.classList.add("module-layer2"), f.appendChild(F), F.setAttribute("fill", "rgb(255,209,0)"), F.setAttribute("transform", "translate(1,-0.1)"), F.innerHTML = s;
5046
- const M = R("g");
5047
- return M.classList.add("module-layer3"), f.appendChild(M), M.setAttribute("fill", "white"), M.innerHTML = s, new Bt(f).transform(([S, N]) => [S, N + (r / 2 - S) ** 2 / (r * 6)]), f;
5048
- }, l = R("g");
5036
+ const A = nt(tn), n = e !== "" ? ((I) => I.charAt(0).toUpperCase() + I.substr(1).toLowerCase())(e) : "", i = A.getPath(n, 0, 72, 72), s = i.toSVG(2), o = i.getBoundingBox(), r = o.x2 - o.x1, g = i.toPathData(3), B = () => {
5037
+ const I = H("g");
5038
+ I.classList.add("module-text-group");
5039
+ const m = H("defs");
5040
+ I.appendChild(m), m.appendChild(gA(0, 2, 2, "shadow"));
5041
+ const Q = H("path");
5042
+ Q.setAttribute("d", g), Q.setAttribute("stroke", "black"), Q.setAttribute("stroke-width", "3"), m.appendChild(Q);
5043
+ const p = H("g");
5044
+ p.classList.add("module-layer0"), I.appendChild(p), p.setAttribute("filter", "url(#shadow)"), p.innerHTML = Q.outerHTML;
5045
+ const f = H("g");
5046
+ f.classList.add("module-layer1"), I.appendChild(f), f.setAttribute("stroke-width", "3"), f.setAttribute("stroke", "rgb(45,41,38)"), f.setAttribute("fill", "rgb(45,41,38)"), f.setAttribute("transform", "translate(0.5,0)"), f.innerHTML = s;
5047
+ const F = H("g");
5048
+ F.classList.add("module-layer2"), I.appendChild(F), F.setAttribute("fill", "rgb(255,209,0)"), F.setAttribute("transform", "translate(1,-0.1)"), F.innerHTML = s;
5049
+ const M = H("g");
5050
+ return M.classList.add("module-layer3"), I.appendChild(M), M.setAttribute("fill", "white"), M.innerHTML = s, new Bt(I).transform(([S, N]) => [S, N + (r / 2 - S) ** 2 / (r * 6)]), I;
5051
+ }, l = H("g");
5049
5052
  l.classList.add("module-root");
5050
- const d = R("defs");
5053
+ const d = H("defs");
5051
5054
  l.appendChild(d);
5052
- const w = R("g");
5055
+ const w = H("g");
5053
5056
  w.classList.add("module-bounds"), l.appendChild(w);
5054
5057
  const E = gt(t.height, t.width);
5055
5058
  E.setAttribute("opacity", "0"), w.appendChild(E);
5056
- const h = R("g");
5059
+ const h = H("g");
5057
5060
  h.classList.add("module-text-enclosure"), l.appendChild(h);
5058
- const C = B();
5059
- h.appendChild(C);
5060
- const u = it(g);
5061
- return lt(h, u, t.height, t.width, 0.35, 0.65), lA(l.outerHTML);
5061
+ const u = B();
5062
+ h.appendChild(u);
5063
+ const C = it(g);
5064
+ return lt(h, C, t.height, t.width, 0.35, 0.65), lA(l.outerHTML);
5062
5065
  }
5063
5066
  }
5064
5067
  async function BA(c) {
@@ -5089,17 +5092,17 @@ class Pt extends tA {
5089
5092
  class nn {
5090
5093
  constructor(e, t, A, a, n, i, s, o, r, g, B, l = !1, d, w = !1, E = !1, h = !1) {
5091
5094
  this.workflowStatePromiseQueue = new AA(1), this.initialized = !1, this.readOnly = !1, this.isReloadedTransaction = !1, this.singleVariantsRenderable = !1, this.renderLayouts = () => {
5092
- var f;
5095
+ var I;
5093
5096
  if (!this.previewService)
5094
5097
  return;
5095
- const C = this.getCommandContext().getAllLayouts(), u = (f = this.getLayoutPreviewService()) == null ? void 0 : f.getAll();
5096
- if (u)
5097
- for (const [, Q] of u)
5098
- Q.render(this.getWorkflow(), C, this.getProduct().overlayImageUrl);
5098
+ const u = this.getCommandContext().getAllLayouts(), C = (I = this.getLayoutPreviewService()) == null ? void 0 : I.getAll();
5099
+ if (C)
5100
+ for (const [, m] of C)
5101
+ m.render(this.getWorkflow(), u, this.getProduct().overlayImageUrl);
5099
5102
  }, this.client = e, this.updateTransaction = i, this.commandContext = n, this.reloadedState = B, this.transaction = s, this.readOnly = l, this.singleVariantsRenderable = E, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = t, this.stepSpecificServices = {}, this.profanityFilter = A, this.pollers = [], this.allScenes = [], this.layouts = a, this.product = o, this.previewService = r, this.modelContainer = d, 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.currentAdjustingStepId = "", this.renderableContextService = g, this.isReloadedTransaction = w, h && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(t), this.initializationPromise.then(() => {
5100
5103
  this.initialized = !0;
5101
- }), this.initializationPromise.catch((C) => {
5102
- throw console.error(C), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
5104
+ }), this.initializationPromise.catch((u) => {
5105
+ throw console.error(u), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
5103
5106
  }), this.initializationPromise.finally(
5104
5107
  () => this.getCommandContext().registerStateCallback(() => {
5105
5108
  this.updateStateWithServer(), this.renderLayouts();
@@ -5492,16 +5495,16 @@ class nn {
5492
5495
  ), this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, await this.ensureStepsAreLoaded();
5493
5496
  }
5494
5497
  async setSelectionsAndElements(e, t, A, a) {
5495
- var m;
5498
+ var Q;
5496
5499
  const n = this.stepSelections;
5497
5500
  this.stepSelections = {
5498
5501
  ...this.stepSelections,
5499
5502
  [e]: { selectedVariants: t }
5500
- }, this.selectionCost = Object.values(this.stepSelections).reduce((p, I) => p + I.selectedVariants.map((F) => F.priceModifier || 0).reduce((F, M) => F + M, 0), 0), this.workflow.steps.forEach((p) => {
5503
+ }, this.selectionCost = Object.values(this.stepSelections).reduce((p, f) => p + f.selectedVariants.map((F) => F.priceModifier || 0).reduce((F, M) => F + M, 0), 0), this.workflow.steps.forEach((p) => {
5501
5504
  se(p, this.stepSelections) || (this.stepInitialised[p.stepName] = !1, delete this.stepMetadata[p.stepName], delete this.stepSelections[p.stepName], delete this.storage[p.stepName]);
5502
5505
  });
5503
5506
  const i = this.allScenes, s = ie(i, n), o = ie(i, this.stepSelections), r = s.map((p) => p.silentSteps).flat(), B = o.map((p) => p.silentSteps).flat().filter(
5504
- (p) => !r.some((I) => I.stepName === p.stepName)
5507
+ (p) => !r.some((f) => f.stepName === p.stepName)
5505
5508
  );
5506
5509
  r.forEach((p) => {
5507
5510
  se(p, this.stepSelections) || (this.stepInitialised[p.stepName] = !1);
@@ -5515,15 +5518,15 @@ class nn {
5515
5518
  const E = this.workflow.steps.find((p) => p.stepName === e);
5516
5519
  if ((E == null ? void 0 : E.type) === y.Frame) {
5517
5520
  const p = this.getStepSpecificServices(e);
5518
- (m = p == null ? void 0 : p.frameService) == null || m.setTargetElements(A.map((I) => I.id));
5519
- }
5520
- const h = l.map((p) => new ee(p.id)), C = new pt(this.constructSerializableWorkflow()), u = [...w, ...h, C];
5521
- u.length > 0 && this.commandContext.apply(new v(u), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
5522
- const f = this.getInvalidModelVariants(), Q = this.modelContainer;
5523
- if (Q) {
5524
- const p = f.map(
5525
- (I) => Q.applyModelVariant(
5526
- I,
5521
+ (Q = p == null ? void 0 : p.frameService) == null || Q.setTargetElements(A.map((f) => f.id));
5522
+ }
5523
+ const h = l.map((p) => new ee(p.id)), u = new pt(this.constructSerializableWorkflow()), C = [...w, ...h, u];
5524
+ C.length > 0 && this.commandContext.apply(new v(C), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
5525
+ const I = this.getInvalidModelVariants(), m = this.modelContainer;
5526
+ if (m) {
5527
+ const p = I.map(
5528
+ (f) => m.applyModelVariant(
5529
+ f,
5527
5530
  {
5528
5531
  contextService: this.getLayoutPreviewService()
5529
5532
  },
@@ -6248,7 +6251,7 @@ class Ie {
6248
6251
  case y.Model:
6249
6252
  return new rn(e, t);
6250
6253
  case y.Frame:
6251
- return new Ri(e, t);
6254
+ return new Hi(e, t);
6252
6255
  default:
6253
6256
  throw new b(`Step type ${t.type} not yet supported in Core SDK`);
6254
6257
  }
@@ -6476,19 +6479,19 @@ const En = async (c) => {
6476
6479
  context: {
6477
6480
  transactionOwnerId: P
6478
6481
  }
6479
- }), H = (T = N.data) == null ? void 0 : T.transactions[0].workflowState;
6482
+ }), R = (T = N.data) == null ? void 0 : T.transactions[0].workflowState;
6480
6483
  return N.errors ? (N.errors.forEach((L) => {
6481
6484
  N.errors && console.log("Server Error:", L.message);
6482
- }), null) : H ?? null;
6485
+ }), null) : R ?? null;
6483
6486
  })() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(A())), await c.updateStateWithServerImmediate(A), console.log("Server state is undefined @ Workflow completion"));
6484
- const l = c.getPreviewService(), d = (F = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : F.lookAtAnimation, w = l && e.showModelOnFinishStep && !!d, E = o && _e(o, e, !0), h = o && _e(o, e, !1), C = async (M) => {
6487
+ const l = c.getPreviewService(), d = (F = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : F.lookAtAnimation, w = l && e.showModelOnFinishStep && !!d, E = o && _e(o, e, !0), h = o && _e(o, e, !1), u = async (M) => {
6485
6488
  const P = {};
6486
6489
  let S = 0;
6487
6490
  if (Object.keys(n).length > 0)
6488
6491
  for (const N of Object.keys(n)) {
6489
- const H = n[N], T = e.steps.find((L) => L.stepName === N);
6490
- for (let L = 0; L < H.selections.length; ++L) {
6491
- const W = H.selections[L];
6492
+ const R = n[N], T = e.steps.find((L) => L.stepName === N);
6493
+ for (let L = 0; L < R.selections.length; ++L) {
6494
+ const W = R.selections[L];
6492
6495
  if (T && (!M || T.option && (T.option.variants || []).length > 1 && !T.data.hideSelectionInCart && !T.data.hideSelectionsInCart)) {
6493
6496
  const Oe = T.stepTitle;
6494
6497
  P[Oe] ? P[Oe].push({
@@ -6507,12 +6510,12 @@ const En = async (c) => {
6507
6510
  }
6508
6511
  }
6509
6512
  return [P, S];
6510
- }, [u] = await C(!0), f = Object.fromEntries(
6511
- Object.keys(u).map((M) => [M, u[M].map((P) => P.id)])
6512
- ), [Q] = await C(!1), m = Object.fromEntries(
6513
- Object.keys(Q).map((M) => [
6513
+ }, [C] = await u(!0), I = Object.fromEntries(
6514
+ Object.keys(C).map((M) => [M, C[M].map((P) => P.id)])
6515
+ ), [m] = await u(!1), Q = Object.fromEntries(
6516
+ Object.keys(m).map((M) => [
6514
6517
  M,
6515
- Q[M].map((P) => P.id)
6518
+ m[M].map((P) => P.id)
6516
6519
  ])
6517
6520
  ), p = await s(w, a.id);
6518
6521
  return {
@@ -6534,19 +6537,19 @@ const En = async (c) => {
6534
6537
  P.push({ key: S, value: N });
6535
6538
  M.metadata = P;
6536
6539
  }
6537
- if (f) {
6540
+ if (I) {
6538
6541
  const P = [];
6539
- for (const [S, N] of Object.entries(m))
6542
+ for (const [S, N] of Object.entries(Q))
6540
6543
  P.push({ key: S, ids: N });
6541
6544
  M.selectedVariants = P;
6542
6545
  }
6543
6546
  return M;
6544
6547
  })(),
6545
- cartSelectionsWithPrices: u,
6548
+ cartSelectionsWithPrices: C,
6546
6549
  cartMetadata: E
6547
6550
  };
6548
6551
  }, Qn = async (c, e, t, A, a, n, i, s, o, r, g) => {
6549
- var C, u;
6552
+ var u, C;
6550
6553
  o("workflow.steps.finish.finalize.buildingLayouts");
6551
6554
  const { designDetails: B, cartSelectionsWithPrices: l, cartMetadata: d } = await EA(
6552
6555
  c,
@@ -6560,7 +6563,7 @@ const En = async (c) => {
6560
6563
  g
6561
6564
  );
6562
6565
  o("workflow.steps.finish.finalize.creatingDesign");
6563
- const w = await En(B), E = (C = w == null ? void 0 : w.transaction) == null ? void 0 : C.previewImageLink;
6566
+ const w = await En(B), E = (u = w == null ? void 0 : w.transaction) == null ? void 0 : u.previewImageLink;
6564
6567
  if (!(w != null && w.transaction))
6565
6568
  throw new Error("Failed to create design");
6566
6569
  o("workflow.steps.finish.finalize.updatingTransaction");
@@ -6573,7 +6576,7 @@ const En = async (c) => {
6573
6576
  w == null ? void 0 : w.sku,
6574
6577
  d,
6575
6578
  E,
6576
- (u = w == null ? void 0 : w.processExecution) == null ? void 0 : u.id
6579
+ (C = w == null ? void 0 : w.processExecution) == null ? void 0 : C.id
6577
6580
  );
6578
6581
  }, mn = async (c, e, t) => {
6579
6582
  e("workflow.steps.finish.finalize.buildingLayouts"), await Promise.all(
@@ -6787,18 +6790,18 @@ class fe {
6787
6790
  return this.workflowManager;
6788
6791
  }
6789
6792
  async createPreviewImage(e, t) {
6790
- var u, f;
6791
- const A = this.workflowManager.getWorkflow(), a = (u = A == null ? void 0 : A.finalizeStepConfig) == null ? void 0 : u.lookAtAnimation;
6793
+ var C, I;
6794
+ const A = this.workflowManager.getWorkflow(), a = (C = A == null ? void 0 : A.finalizeStepConfig) == null ? void 0 : C.lookAtAnimation;
6792
6795
  if (e) {
6793
6796
  if (!a)
6794
6797
  throw new Error("Failed to generate cart preview image!");
6795
- return await ((f = this.workflowManager.getPreviewService()) == null ? void 0 : f.renderSceneScreenshot(t ?? 512, a)) || "";
6798
+ return await ((I = this.workflowManager.getPreviewService()) == null ? void 0 : I.renderSceneScreenshot(t ?? 512, a)) || "";
6796
6799
  }
6797
6800
  let n = 2048;
6798
6801
  t && t <= 2048 && (n = t);
6799
- const i = Ne(n, n), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], g = s.find((Q) => {
6800
- var m;
6801
- return ((m = Q.layoutState) == null ? void 0 : m.layout.panelId) === (r == null ? void 0 : r.name);
6802
+ const i = Ne(n, n), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], g = s.find((m) => {
6803
+ var Q;
6804
+ return ((Q = m.layoutState) == null ? void 0 : Q.layout.panelId) === (r == null ? void 0 : r.name);
6802
6805
  }) || s[0], B = g.layoutState.layout.previewRegion ? {
6803
6806
  x: g.layoutState.layout.previewRegion.left,
6804
6807
  y: g.layoutState.layout.previewRegion.top,
@@ -6826,8 +6829,8 @@ class fe {
6826
6829
  DOMParser: Jt(),
6827
6830
  fetch: et
6828
6831
  })).render();
6829
- const C = await this.getCanvasObjectURLAsync(i);
6830
- return i.toDataURL(C);
6832
+ const u = await this.getCanvasObjectURLAsync(i);
6833
+ return i.toDataURL(u);
6831
6834
  }
6832
6835
  getStepById(e) {
6833
6836
  const t = this.getWorkflowManager().getWorkflow().steps.find((n) => n.stepName === e);
@@ -6918,13 +6921,13 @@ class fe {
6918
6921
  d !== void 0 && d.forEach((w) => {
6919
6922
  const E = o(w), h = g.has(JSON.stringify(w));
6920
6923
  if (h && (E == null ? void 0 : E.getType()) === "Option") {
6921
- const C = l.getCurrentVariant();
6922
- if (!C)
6924
+ const u = l.getCurrentVariant();
6925
+ if (!u)
6923
6926
  return;
6924
- r.selectVariant(C), g.delete(JSON.stringify(w));
6927
+ r.selectVariant(u), g.delete(JSON.stringify(w));
6925
6928
  } else if (h && (E == null ? void 0 : E.getType()) === "Text") {
6926
- const C = l.getText();
6927
- r.setText(C), g.delete(JSON.stringify(w));
6929
+ const u = l.getText();
6930
+ r.setText(u), g.delete(JSON.stringify(w));
6928
6931
  }
6929
6932
  });
6930
6933
  }));
@@ -7176,7 +7179,7 @@ const Dn = [
7176
7179
  },
7177
7180
  d
7178
7181
  ),
7179
- new Rt(l, i, w)
7182
+ new Ht(l, i, w)
7180
7183
  ];
7181
7184
  };
7182
7185
  return (await Promise.all(A.data.regions.map((r) => o(r)))).flat();
@@ -7184,11 +7187,11 @@ const Dn = [
7184
7187
  return console.error(s), [];
7185
7188
  }
7186
7189
  }, Mn = async (c, e, t, A) => {
7187
- var m, p;
7190
+ var Q, p;
7188
7191
  const a = t.data, n = A.option;
7189
7192
  if (!n)
7190
7193
  return console.error(`No option for step ${A.stepName}.`), [];
7191
- const i = ((m = n.variants) == null ? void 0 : m.find((I) => I.id === a.illustrationVariantId)) || be(n);
7194
+ const i = ((Q = n.variants) == null ? void 0 : Q.find((f) => f.id === a.illustrationVariantId)) || be(n);
7192
7195
  if (!i)
7193
7196
  return console.error(`No variant with ID: ${a.illustrationVariantId}`), [];
7194
7197
  if (!i.asset)
@@ -7202,55 +7205,55 @@ const Dn = [
7202
7205
  return console.error("Failed to read SVG."), [];
7203
7206
  Ot(w);
7204
7207
  const E = {};
7205
- LA(w, (I) => {
7206
- Dn.includes(I.tagName) && !I.attributes.getNamedItem("fill") && I.setAttribute("fill", "#000000");
7207
- const F = I.attributes.getNamedItem("fill");
7208
+ LA(w, (f) => {
7209
+ Dn.includes(f.tagName) && !f.attributes.getNamedItem("fill") && f.setAttribute("fill", "#000000");
7210
+ const F = f.attributes.getNamedItem("fill");
7208
7211
  if (F && F.value !== "none") {
7209
7212
  const P = F.value, N = `spiff-fill-${P.replace(/\W/g, "")}`;
7210
- I.classList.add(N), E[N] = { browserValue: P };
7213
+ f.classList.add(N), E[N] = { browserValue: P };
7211
7214
  }
7212
- const M = I.attributes.getNamedItem("stroke");
7215
+ const M = f.attributes.getNamedItem("stroke");
7213
7216
  if (M && M.value !== "none") {
7214
7217
  const P = M.value, N = `spiff-stroke-${P.replace(/\W/g, "")}`;
7215
- I.classList.add(N), E[N] = { browserValue: P };
7218
+ f.classList.add(N), E[N] = { browserValue: P };
7216
7219
  }
7217
7220
  });
7218
- const C = Tt().serializeToString(w), u = a.colors;
7219
- if (u) {
7220
- for (const [I, F] of Object.entries(E))
7221
- for (const M of Object.keys(u))
7221
+ const u = Tt().serializeToString(w), C = a.colors;
7222
+ if (C) {
7223
+ for (const [f, F] of Object.entries(E))
7224
+ for (const M of Object.keys(C))
7222
7225
  if (F.browserValue === M) {
7223
- E[I] = { browserValue: u[M] };
7226
+ E[f] = { browserValue: C[M] };
7224
7227
  break;
7225
7228
  }
7226
7229
  }
7227
- const f = (I) => {
7228
- const F = c.find((P) => P.panelId === I.panelId);
7230
+ const I = (f) => {
7231
+ const F = c.find((P) => P.panelId === f.panelId);
7229
7232
  if (!F)
7230
- throw new z(I);
7233
+ throw new z(f);
7231
7234
  const M = J();
7232
7235
  return new O(
7233
7236
  {
7234
7237
  colors: E,
7235
7238
  id: M,
7236
- svg: C,
7239
+ svg: u,
7237
7240
  type: k.Illustration,
7238
- y: I.top,
7239
- x: I.left,
7240
- rotation: I.rotation,
7241
- width: I.width,
7242
- height: I.height,
7243
- layer: I.layer,
7244
- layerIndex: I.layerIndex,
7245
- immutable: I.immutable
7241
+ y: f.top,
7242
+ x: f.left,
7243
+ rotation: f.rotation,
7244
+ width: f.width,
7245
+ height: f.height,
7246
+ layer: f.layer,
7247
+ layerIndex: f.layerIndex,
7248
+ immutable: f.immutable
7246
7249
  },
7247
7250
  F
7248
7251
  );
7249
- }, Q = A.data.regions;
7252
+ }, m = A.data.regions;
7250
7253
  try {
7251
- return Q.map(f);
7252
- } catch (I) {
7253
- return console.error(I), [];
7254
+ return m.map(I);
7255
+ } catch (f) {
7256
+ return console.error(f), [];
7254
7257
  }
7255
7258
  }, Sn = async (c, e, t) => {
7256
7259
  const A = await BA(t.data.module), a = e.data, n = (s, o) => {
@@ -7416,10 +7419,10 @@ const Dn = [
7416
7419
  }
7417
7420
  else {
7418
7421
  const r = await _(n, !0), g = (B) => {
7419
- const l = /<svg.*?<\/svg>/s, d = B.match(l) || [], w = (d == null ? void 0 : d.length) > 0 ? d[0] : "", C = Lt().parseFromString(w, "image/svg+xml").firstElementChild;
7420
- if (!C)
7422
+ const l = /<svg.*?<\/svg>/s, d = B.match(l) || [], w = (d == null ? void 0 : d.length) > 0 ? d[0] : "", u = Lt().parseFromString(w, "image/svg+xml").firstElementChild;
7423
+ if (!u)
7421
7424
  throw new ge("Failed to read SVG.");
7422
- return Ot(C), Tt().serializeToString(C);
7425
+ return Ot(u), Tt().serializeToString(u);
7423
7426
  };
7424
7427
  o.forEach((B) => {
7425
7428
  const l = c.find((w) => w.panelId === B.panelId);
@@ -7450,41 +7453,41 @@ const Dn = [
7450
7453
  return A;
7451
7454
  }, Nn = async (c, e, t, A) => {
7452
7455
  const a = [], n = t.data, i = 30, s = (h) => h.vertical ? "center" : h.textAlign || "center", o = () => {
7453
- var f;
7456
+ var I;
7454
7457
  const h = A.option;
7455
7458
  if (!h)
7456
7459
  return;
7457
- const C = ((f = h.variants) == null ? void 0 : f.find((Q) => Q.id === n.fontVariantId)) || be(h);
7458
- if (!C || !C.asset)
7460
+ const u = ((I = h.variants) == null ? void 0 : I.find((m) => m.id === n.fontVariantId)) || be(h);
7461
+ if (!u || !u.asset)
7459
7462
  return;
7460
- e[A.stepName] = { selectedVariants: [C] };
7461
- const u = C.asset.fileLink;
7462
- if (u)
7463
- return u;
7463
+ e[A.stepName] = { selectedVariants: [u] };
7464
+ const C = u.asset.fileLink;
7465
+ if (C)
7466
+ return C;
7464
7467
  }, g = await (async () => {
7465
7468
  const h = o();
7466
7469
  if (!h)
7467
7470
  return;
7468
- const C = await at(h);
7471
+ const u = await at(h);
7469
7472
  return {
7470
7473
  assetUrl: h,
7471
- name: C.names.fullName.en
7474
+ name: u.names.fullName.en
7472
7475
  };
7473
7476
  })(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "", l = qe(B, {
7474
7477
  vertical: A.data.vertical,
7475
7478
  uppercase: A.data.uppercase
7476
7479
  }), d = async (h) => {
7477
- const C = h.colorOption;
7478
- if (!C)
7480
+ const u = h.colorOption;
7481
+ if (!u)
7479
7482
  return;
7480
- const u = V.getDefaultVariant(C);
7481
- return u == null ? void 0 : u.color;
7483
+ const C = V.getDefaultVariant(u);
7484
+ return C == null ? void 0 : C.color;
7482
7485
  }, w = n.color || await d(A.data), E = A.data.regions;
7483
7486
  for (const h of E) {
7484
- const C = c.find((f) => f.panelId === h.panelId);
7485
- if (!C)
7487
+ const u = c.find((I) => I.panelId === h.panelId);
7488
+ if (!u)
7486
7489
  continue;
7487
- const u = {
7490
+ const C = {
7488
7491
  stepName: t.name,
7489
7492
  id: J(),
7490
7493
  align: s(A.data),
@@ -7506,7 +7509,7 @@ const Dn = [
7506
7509
  y: h.top
7507
7510
  };
7508
7511
  if (g) {
7509
- const [f, Q] = Me(
7512
+ const [I, m] = Me(
7510
7513
  A.data.size || i,
7511
7514
  g,
7512
7515
  h,
@@ -7525,19 +7528,19 @@ const Dn = [
7525
7528
  a.push(
7526
7529
  new O(
7527
7530
  {
7528
- ...u,
7529
- fontSize: f,
7530
- text: u.curved ? u.text : (Q || []).join(`
7531
+ ...C,
7532
+ fontSize: I,
7533
+ text: C.curved ? C.text : (m || []).join(`
7531
7534
  `)
7532
7535
  },
7533
- C
7536
+ u
7534
7537
  )
7535
7538
  );
7536
7539
  } else
7537
- a.push(new O(u, C));
7540
+ a.push(new O(C, u));
7538
7541
  }
7539
7542
  return a;
7540
- }, Hn = (c, e) => c.conditions ? c.conditions.every((t) => {
7543
+ }, Rn = (c, e) => c.conditions ? c.conditions.every((t) => {
7541
7544
  const A = e[t.targetStepName];
7542
7545
  if (A && A.selectedVariants) {
7543
7546
  const a = A.selectedVariants;
@@ -7546,7 +7549,7 @@ const Dn = [
7546
7549
  );
7547
7550
  }
7548
7551
  return !1;
7549
- }) : !0, Rn = async (c, e, t, A) => {
7552
+ }) : !0, Hn = async (c, e, t, A) => {
7550
7553
  const a = [], n = {};
7551
7554
  for (const i of c) {
7552
7555
  const s = e.steps.find((o) => o.stepName === i.name);
@@ -7594,7 +7597,7 @@ const Dn = [
7594
7597
  }
7595
7598
  }
7596
7599
  for (const i of e.steps)
7597
- i.type !== y.SilentIllustration && i.type !== y.ProductOverlay || Hn(i, n) && a.push(
7600
+ i.type !== y.SilentIllustration && i.type !== y.ProductOverlay || Rn(i, n) && a.push(
7598
7601
  ...await xn(t, i, A)
7599
7602
  );
7600
7603
  return a;
@@ -7779,7 +7782,7 @@ const Vi = (c, e) => {
7779
7782
  layouts: {}
7780
7783
  };
7781
7784
  a = new v(t.map((o) => new OA(o))).apply(a);
7782
- const i = await Rn(c, e, t, A);
7785
+ const i = await Hn(c, e, t, A);
7783
7786
  return new v(i).apply(a);
7784
7787
  }, bn = D`
7785
7788
  ${oe}
@@ -10425,21 +10428,21 @@ class Ni {
10425
10428
  if (s != null && s.has(e)) {
10426
10429
  const h = s.get(e);
10427
10430
  if (h && await this.authenticateCustomerId(h)) {
10428
- const u = ((d = (l = this.customer) == null ? void 0 : l.bundleStakeholders) == null ? void 0 : d.find(
10429
- (f) => {
10430
- var Q, m;
10431
- return (m = (Q = f.bundle) == null ? void 0 : Q.transactions) == null ? void 0 : m.some((p) => p.id === e);
10431
+ const C = ((d = (l = this.customer) == null ? void 0 : l.bundleStakeholders) == null ? void 0 : d.find(
10432
+ (I) => {
10433
+ var m, Q;
10434
+ return (Q = (m = I.bundle) == null ? void 0 : m.transactions) == null ? void 0 : Q.some((p) => p.id === e);
10432
10435
  }
10433
10436
  )) || ((E = (w = this.customer) == null ? void 0 : w.stakeholders) == null ? void 0 : E.find(
10434
- (f) => {
10435
- var Q;
10436
- return ((Q = f.transaction) == null ? void 0 : Q.id) === e;
10437
+ (I) => {
10438
+ var m;
10439
+ return ((m = I.transaction) == null ? void 0 : m.id) === e;
10437
10440
  }
10438
10441
  ));
10439
- if (u)
10442
+ if (C)
10440
10443
  return Promise.resolve({
10441
10444
  success: !0,
10442
- stakeholderType: u.type
10445
+ stakeholderType: C.type
10443
10446
  });
10444
10447
  }
10445
10448
  }
@@ -10599,15 +10602,15 @@ class Ni {
10599
10602
  * @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
10600
10603
  */
10601
10604
  async getExistingBundle(e, t, A, a) {
10602
- var h, C, u, f, Q, m, p, I, F;
10605
+ var h, u, C, I, m, Q, p, f, F;
10603
10606
  const n = Y.getMap("bundleOwnerIds"), i = n == null ? void 0 : n.get(e), o = ((h = Object.entries(localStorage).find(([M, P]) => M.startsWith("CognitoIdentityServiceProvider") && M.endsWith("idToken"))) == null ? void 0 : h[0]) || "", r = localStorage.getItem(o), g = {};
10604
10607
  r && !dt(r) && (g.Authorization = `Bearer ${r}`);
10605
10608
  const B = {
10606
10609
  bundleOwnerId: i,
10607
10610
  ...g,
10608
- ...(C = a == null ? void 0 : a.graphql) == null ? void 0 : C.additionalHeaders
10611
+ ...(u = a == null ? void 0 : a.graphql) == null ? void 0 : u.additionalHeaders
10609
10612
  }, l = await x.getShadowGraphqlClient().query({
10610
- query: Jn(((f = (u = a == null ? void 0 : a.graphql) == null ? void 0 : u.productCollection) == null ? void 0 : f.eagerFetchProducts) || !1),
10613
+ query: Jn(((I = (C = a == null ? void 0 : a.graphql) == null ? void 0 : C.productCollection) == null ? void 0 : I.eagerFetchProducts) || !1),
10611
10614
  variables: {
10612
10615
  id: e
10613
10616
  },
@@ -10616,9 +10619,9 @@ class Ni {
10616
10619
  headers: B
10617
10620
  }
10618
10621
  });
10619
- if (!((Q = l.data) != null && Q.bundles) || ((m = l.data) == null ? void 0 : m.bundles.length) === 0 || !((p = l.data) != null && p.bundles[0]))
10622
+ if (!((m = l.data) != null && m.bundles) || ((Q = l.data) == null ? void 0 : Q.bundles.length) === 0 || !((p = l.data) != null && p.bundles[0]))
10620
10623
  throw new Error(`Unable to find bundle: ${e}`);
10621
- const d = (I = l.data) == null ? void 0 : I.bundles[0], w = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10624
+ const d = (f = l.data) == null ? void 0 : f.bundles[0], w = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10622
10625
  w.set(d.id, d.partner.id), Y.setMap("bundlePartnerIds", w);
10623
10626
  const E = new xt(this, d, t, A, i, {
10624
10627
  additionalHeaders: (F = a == null ? void 0 : a.graphql) == null ? void 0 : F.additionalHeaders
@@ -10661,36 +10664,36 @@ class Ni {
10661
10664
  if (!a)
10662
10665
  return await this.getWorkflowExperienceDeprecated(e, t, A);
10663
10666
  const n = async () => {
10664
- var C, u;
10667
+ var u, C;
10665
10668
  const h = x.getShadowGraphqlClient();
10666
10669
  if (a.type === "transaction") {
10667
- const { transactionId: f, readOnly: Q } = a, m = await h.query({
10670
+ const { transactionId: I, readOnly: m } = a, Q = await h.query({
10668
10671
  query: me,
10669
10672
  variables: {
10670
- ids: [f]
10673
+ ids: [I]
10671
10674
  },
10672
10675
  errorPolicy: "all",
10673
10676
  fetchPolicy: "no-cache"
10674
10677
  });
10675
- if (!((C = m.data) != null && C.transactions) || m.data.transactions.length === 0)
10678
+ if (!((u = Q.data) != null && u.transactions) || Q.data.transactions.length === 0)
10676
10679
  throw new U("Existing transaction not found.");
10677
- const p = (u = m.data) == null ? void 0 : u.transactions[0];
10680
+ const p = (C = Q.data) == null ? void 0 : C.transactions[0];
10678
10681
  if (!p.workflowId)
10679
10682
  throw new U("Existing transaction has no workflow ID.");
10680
- const I = await ye(p.workflowId);
10683
+ const f = await ye(p.workflowId);
10681
10684
  if (!p.product)
10682
10685
  throw new U("Failed to load transaction, product not available.");
10683
- return { transaction: p, workflow: I, readOnly: Q };
10686
+ return { transaction: p, workflow: f, readOnly: m };
10684
10687
  }
10685
10688
  if (a.type === "integration" || a.type === "external") {
10686
- const f = async () => {
10687
- const I = a.type === "integration" ? { integrationProductId: a.integrationProductId } : {
10689
+ const I = async () => {
10690
+ const f = a.type === "integration" ? { integrationProductId: a.integrationProductId } : {
10688
10691
  externalIntegrationId: a.externalIntegrationId,
10689
10692
  externalProductId: a.externalProductId
10690
10693
  }, F = await h.mutate({
10691
10694
  mutation: Mt,
10692
10695
  variables: {
10693
- ...I,
10696
+ ...f,
10694
10697
  workflowId: a.workflowId,
10695
10698
  claim: !0
10696
10699
  },
@@ -10705,8 +10708,8 @@ class Ni {
10705
10708
  if (!M.product)
10706
10709
  throw new U("Failed to create transaction, product not available.");
10707
10710
  return M;
10708
- }, Q = ye(a.workflowId, a == null ? void 0 : a.graphql), [m, p] = await Promise.all([f(), Q]);
10709
- return { transaction: m, workflow: p };
10711
+ }, m = ye(a.workflowId, a == null ? void 0 : a.graphql), [Q, p] = await Promise.all([I(), m]);
10712
+ return { transaction: Q, workflow: p };
10710
10713
  }
10711
10714
  throw new U("No workflow ID provided.");
10712
10715
  }, { transaction: i, workflow: s, readOnly: o } = await n();
@@ -10719,18 +10722,18 @@ class Ni {
10719
10722
  stateMutationFunc: o ? async () => {
10720
10723
  throw new b("State mutation is forbidden in read only mode!");
10721
10724
  } : async (h) => {
10722
- const u = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(i.id) || void 0;
10723
- return this.updateTransactionState({ ...h, context: { transactionOwnerId: u } });
10725
+ const C = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(i.id) || void 0;
10726
+ return this.updateTransactionState({ ...h, context: { transactionOwnerId: C } });
10724
10727
  },
10725
10728
  readOnly: o,
10726
10729
  workflow: s
10727
10730
  };
10728
10731
  if (a.type === "transaction" && i.workflowState) {
10729
10732
  const h = JSON.parse(i.workflowState);
10730
- r.layouts = Object.values(h.layouts).map((C) => C.layout), await Ae(h), await ne(h), r.reloadedState = h;
10733
+ r.layouts = Object.values(h.layouts).map((u) => u.layout), await Ae(h), await ne(h), r.reloadedState = h;
10731
10734
  } else if (!o && a.workflowState) {
10732
10735
  const h = JSON.parse(a.workflowState);
10733
- r.layouts = Object.values(h.layouts).map((C) => C.layout), await Ae(h), await ne(h), r.reloadedState = h;
10736
+ r.layouts = Object.values(h.layouts).map((u) => u.layout), await Ae(h), await ne(h), r.reloadedState = h;
10734
10737
  } else
10735
10738
  r.layouts = Ve(
10736
10739
  r.transaction,
@@ -10763,39 +10766,39 @@ class Ni {
10763
10766
  async getWorkflowExperiences(e, t) {
10764
10767
  if (e.length === 0)
10765
10768
  throw new U("No options provided!");
10766
- const A = x.getShadowGraphqlClient(), a = async (m) => {
10769
+ const A = x.getShadowGraphqlClient(), a = async (Q) => {
10767
10770
  var M, P;
10768
- if (m.length === 0)
10771
+ if (Q.length === 0)
10769
10772
  return [];
10770
- const p = m.map((S) => S.option.transactionId), I = await A.query({
10773
+ const p = Q.map((S) => S.option.transactionId), f = await A.query({
10771
10774
  query: me,
10772
10775
  variables: {
10773
10776
  ids: p
10774
10777
  },
10775
10778
  errorPolicy: "all",
10776
10779
  fetchPolicy: "no-cache"
10777
- }), F = I.data.transactions;
10778
- if (F.length !== m.length) {
10779
- const S = ((P = (M = I.errors) == null ? void 0 : M[0]) == null ? void 0 : P.message) || "Unknown error";
10780
+ }), F = f.data.transactions;
10781
+ if (F.length !== Q.length) {
10782
+ const S = ((P = (M = f.errors) == null ? void 0 : M[0]) == null ? void 0 : P.message) || "Unknown error";
10780
10783
  throw new U(`Not all transactions were found: ${S}`);
10781
10784
  }
10782
10785
  return F.map((S, N) => {
10783
- var H;
10786
+ var R;
10784
10787
  return {
10785
10788
  transaction: S,
10786
10789
  workflowId: S.workflowId,
10787
- readOnly: ((H = m.find((T) => T.option.transactionId === S.id)) == null ? void 0 : H.option.readOnly) ?? !1,
10788
- index: m[N].index
10790
+ readOnly: ((R = Q.find((T) => T.option.transactionId === S.id)) == null ? void 0 : R.option.readOnly) ?? !1,
10791
+ index: Q[N].index
10789
10792
  };
10790
10793
  });
10791
- }, n = async (m) => {
10794
+ }, n = async (Q) => {
10792
10795
  var F, M, P;
10793
- if (m.length === 0)
10796
+ if (Q.length === 0)
10794
10797
  return [];
10795
10798
  const p = await A.mutate({
10796
10799
  mutation: ua,
10797
10800
  variables: {
10798
- inputs: m.map((S) => ({
10801
+ inputs: Q.map((S) => ({
10799
10802
  integrationProductId: S.option.type === "integration" ? S.option.integrationProductId : void 0,
10800
10803
  externalIntegrationId: S.option.type === "external" ? S.option.externalIntegrationId : void 0,
10801
10804
  externalProductId: S.option.type === "external" ? S.option.externalProductId : void 0,
@@ -10805,27 +10808,27 @@ class Ni {
10805
10808
  },
10806
10809
  errorPolicy: "all",
10807
10810
  fetchPolicy: "no-cache"
10808
- }), I = (F = p.data) == null ? void 0 : F.transactionCreateMany;
10809
- if (!I || I.length === 0) {
10811
+ }), f = (F = p.data) == null ? void 0 : F.transactionCreateMany;
10812
+ if (!f || f.length === 0) {
10810
10813
  const S = ((P = (M = p.errors) == null ? void 0 : M[0]) == null ? void 0 : P.message) || "Unknown error";
10811
10814
  throw new U(`Failed to create transactions: ${S}`);
10812
10815
  }
10813
- return I.map((S, N) => ({
10816
+ return f.map((S, N) => ({
10814
10817
  transaction: S,
10815
10818
  workflowId: S.workflowId,
10816
10819
  readOnly: !1,
10817
- index: m[N].index
10820
+ index: Q[N].index
10818
10821
  }));
10819
- }, i = e.map((m, p) => ({ option: m, index: p })), s = i.filter((m) => m.option.type === "transaction"), o = i.filter(
10820
- (m) => m.option.type === "integration" || m.option.type === "external"
10822
+ }, i = e.map((Q, p) => ({ option: Q, index: p })), s = i.filter((Q) => Q.option.type === "transaction"), o = i.filter(
10823
+ (Q) => Q.option.type === "integration" || Q.option.type === "external"
10821
10824
  ), r = ft(s, 10), g = ft(o, 10), B = (await Promise.all([
10822
10825
  ...r.map(a),
10823
10826
  ...g.map(n)
10824
- ])).flat(), l = [...new Set(B.map((m) => m.workflowId))], d = await pA(l, t), w = new Map(d.map((m) => [m.id, m])), E = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), h = B.map(async (m) => {
10827
+ ])).flat(), l = [...new Set(B.map((Q) => Q.workflowId))], d = await pA(l, t), w = new Map(d.map((Q) => [Q.id, Q])), E = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), h = B.map(async (Q) => {
10825
10828
  var T;
10826
- const { transaction: p, workflowId: I, readOnly: F, index: M } = m, P = w.get(I), S = e[M];
10829
+ const { transaction: p, workflowId: f, readOnly: F, index: M } = Q, P = w.get(f), S = e[M];
10827
10830
  !E.get(p.id) && p.transactionOwnerId && E.set(p.id, p.transactionOwnerId);
10828
- const N = E.get(p.id) || void 0, H = {
10831
+ const N = E.get(p.id) || void 0, R = {
10829
10832
  product: p.product,
10830
10833
  transaction: p,
10831
10834
  layouts: [],
@@ -10839,25 +10842,25 @@ class Ni {
10839
10842
  };
10840
10843
  if (S.type === "transaction" && p.workflowState) {
10841
10844
  const L = JSON.parse(p.workflowState);
10842
- H.layouts = Object.values(L.layouts || {}).map((W) => W.layout), await Ae(L), await ne(L), H.reloadedState = L;
10845
+ R.layouts = Object.values(L.layouts || {}).map((W) => W.layout), await Ae(L), await ne(L), R.reloadedState = L;
10843
10846
  } else if (!F && S.workflowState) {
10844
10847
  const L = JSON.parse(S.workflowState);
10845
- H.layouts = Object.values(L.layouts || {}).map((W) => W.layout), await Ae(L), await ne(L), H.reloadedState = L;
10848
+ R.layouts = Object.values(L.layouts || {}).map((W) => W.layout), await Ae(L), await ne(L), R.reloadedState = L;
10846
10849
  } else
10847
- H.layouts = Ve(
10848
- H.transaction,
10849
- H.workflow
10850
+ R.layouts = Ve(
10851
+ R.transaction,
10852
+ R.workflow
10850
10853
  );
10851
- return H.renderableContextService = new De(
10852
- H.layouts
10853
- ), H.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = H, { experienceOptions: H, index: M, options: S };
10854
+ return R.renderableContextService = new De(
10855
+ R.layouts
10856
+ ), R.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = R, { experienceOptions: R, index: M, options: S };
10854
10857
  });
10855
10858
  Y.setMap("transactionOwnerIds", E);
10856
- const f = (await Promise.all(h)).sort((m, p) => m.index - p.index).map(async (m) => {
10857
- const { experienceOptions: p, options: I } = m, F = new fe(this, p);
10858
- return await F.getWorkflowManager().getInitializationPromise(), I.type !== "transaction" && this.customer && await F.attachCustomerDetails({ email: this.customer.emailAddress }), F;
10859
- }), Q = await Promise.all(f);
10860
- return Q.forEach((m) => m.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), Q;
10859
+ const I = (await Promise.all(h)).sort((Q, p) => Q.index - p.index).map(async (Q) => {
10860
+ const { experienceOptions: p, options: f } = Q, F = new fe(this, p);
10861
+ return await F.getWorkflowManager().getInitializationPromise(), f.type !== "transaction" && this.customer && await F.attachCustomerDetails({ email: this.customer.emailAddress }), F;
10862
+ }), m = await Promise.all(I);
10863
+ return m.forEach((Q) => Q.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), m;
10861
10864
  }
10862
10865
  /**
10863
10866
  * Initialize the client from an integration product.
@@ -11221,8 +11224,8 @@ class Zi {
11221
11224
  setWorkflowStateSyncEnabled(e) {
11222
11225
  }
11223
11226
  }
11224
- var Hi = /* @__PURE__ */ ((c) => (c.SelectFrame = "SelectFrame", c.SelectImage = "SelectImage", c.Position = "Position", c))(Hi || {});
11225
- class Ri extends X {
11227
+ var Ri = /* @__PURE__ */ ((c) => (c.SelectFrame = "SelectFrame", c.SelectImage = "SelectImage", c.Position = "Position", c))(Ri || {});
11228
+ class Hi extends X {
11226
11229
  constructor(e, t) {
11227
11230
  var A;
11228
11231
  super(e, t), this.frameService = (A = this.manager.getStepSpecificServices(this.getId())) == null ? void 0 : A.frameService;
@@ -11378,8 +11381,8 @@ export {
11378
11381
  Bs as FontSizeCommand,
11379
11382
  ds as FontSourceCommand,
11380
11383
  Ya as FrameService,
11381
- Hi as FrameStep,
11382
- Ri as FrameStepHandle,
11384
+ Ri as FrameStep,
11385
+ Hi as FrameStepHandle,
11383
11386
  wt as GlobalPropertyHandle,
11384
11387
  ws as GroupCommand,
11385
11388
  sn as IllustrationStepHandle,
@@ -11391,14 +11394,14 @@ export {
11391
11394
  Es as LayoutElementType,
11392
11395
  z as LayoutNotFoundError,
11393
11396
  on as MaterialStepHandle,
11394
- Re as MisconfigurationError,
11397
+ He as MisconfigurationError,
11395
11398
  Zi as MockWorkflowManager,
11396
11399
  rn as ModelStepHandle,
11397
11400
  us as MoveCommand,
11398
11401
  mA as ObjectInput,
11399
11402
  hi as ObjectInputType,
11400
11403
  QA as OptionGlobalPropertyHandle,
11401
- He as OptionNotFoundError,
11404
+ Re as OptionNotFoundError,
11402
11405
  ge as ParseError,
11403
11406
  cn as PictureStepHandle,
11404
11407
  wa as ProductCameraRig,
@@ -11440,13 +11443,13 @@ export {
11440
11443
  Ys as frameDataCache,
11441
11444
  Se as frameStepService,
11442
11445
  Ps as generate,
11443
- Rn as generateCommands,
11446
+ Hn as generateCommands,
11444
11447
  xs as generateSVGWithUnknownColors,
11445
11448
  Wi as generateStateFromDesignInputSteps,
11446
11449
  Ns as getAttributesFromArrayBuffer,
11447
- Hs as getAxisAlignedBoundingBox,
11450
+ Rs as getAxisAlignedBoundingBox,
11448
11451
  Sa as getBoundedOffsets,
11449
- Rs as getFrameData,
11452
+ Hs as getFrameData,
11450
11453
  Us as getSvgElement,
11451
11454
  ye as getWorkflow,
11452
11455
  pA as getWorkflows,