@spiffcommerce/core 22.13.3 → 22.13.4

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,12 +1,12 @@
1
1
  import { createHttpLink as RA, InMemoryCache as HA, ApolloClient as kA, from as UA, gql as f } from "@apollo/client/core";
2
- import { fetch as lt, getAttributesFromArrayBuffer as Ot, AssetType as At, StepType as M, getFrameData as gt, frameDataCache as GA, modifySVGColors as bA, svgToDataUrl as JA, GroupCommand as k, UpdateFramePattern as Lt, UpdateFrameThresholdSettingsCommand as TA, calculateOffsets as Bt, LayoutElementType as G, generate as J, CreateElementCommand as L, generateSVGWithUnknownColors as Le, svgObjectURL as ve, fetchAsString as _, DeleteElementCommand as ne, generateDefaultRectangleFrameSvg as yt, GetSVGDimensions as OA, patternImageDataCache as Mt, fetchAsArrayBuffer as LA, findElement as Re, modifySVGWithElementProperties as zA, IllustrationColorCommand as at, IllustrationCacheCommand as KA, getFontMetrics as jA, getPatternImageData as nt, FontAlignmentCommand as VA, FontColorCommand as WA, FontImageFillCommand as Xe, applyTextTransformations as it, determineCorrectFontSizeAndLines as xe, FontSourceCommand as St, loadFont as dt, TextChangeCommand as XA, FontSizeCommand as qA, createElementNS as ZA, createElement as Ie, _loadFontExternalDataURL as Ct, UpdateWorkflowStateCommand as Yt, CommandContext as $A, createCanvas as He, getSvgElement as zt, LayoutRenderingPurpose as Kt, renderPapyrusComponentAsString as jt, loadImage as Vt, getDomParser as Wt, toBase64 as Pt, getVariant as _A, generateFrameSVG as ea, getDefaultVariant as ze, domParser as Xt, sanitizeSvgTree as qt, traverse as ta, xmlSerializer as Zt, CreateLayoutCommand as Aa, AspectType as $, rehydrateSerializedLayout as se } from "@spiffcommerce/papyrus";
3
- import { AspectType as Ns, AssetType as vs, BringForwardCommand as Rs, BringToBackCommand as Hs, BringToFrontCommand as ks, CanvasCommand as Us, CommandContext as Gs, CreateElementCommand as bs, CreateLayoutCommand as Js, DeleteElementCommand as Ts, FontAlignmentCommand as Os, FontColorCommand as Ls, FontSizeCommand as zs, FontSourceCommand as Ks, GroupCommand as js, LayoutElementFactory as Vs, LayoutElementType as Ws, MoveCommand as Xs, ResizeCommand as qs, RotateCommand as Zs, SendBackwardsCommand as $s, StepAspectType as _s, StepType as eo, TextChangeCommand as to, UnitOfMeasurement as Ao, UpdateImageSourceCommand as ao, dataUrlFromExternalUrl as no, determineCorrectFontSizeAndLines as io, findElement as so, frameDataCache as oo, generate as ro, generateSVGWithUnknownColors as co, getAttributesFromArrayBuffer as lo, getAxisAlignedBoundingBox as go, getFrameData as Bo, getSvgElement as Co, loadFont as wo, patternImageDataCache as ho, registerFetchImplementation as Eo, registerWindowImplementation as uo, rehydrateSerializedLayout as mo, setCanvasModule as Qo, svgToDataUrl as po } from "@spiffcommerce/papyrus";
2
+ import { fetch as gt, getAttributesFromArrayBuffer as Ot, AssetType as At, StepType as M, getFrameData as lt, frameDataCache as GA, modifySVGColors as bA, svgToDataUrl as JA, GroupCommand as k, UpdateFramePattern as Lt, UpdateFrameThresholdSettingsCommand as TA, calculateOffsets as Bt, LayoutElementType as G, generate as J, CreateElementCommand as L, generateSVGWithUnknownColors as Le, svgObjectURL as ve, fetchAsString as _, DeleteElementCommand as ne, generateDefaultRectangleFrameSvg as yt, GetSVGDimensions as OA, patternImageDataCache as Mt, fetchAsArrayBuffer as LA, findElement as Re, modifySVGWithElementProperties as zA, IllustrationColorCommand as at, IllustrationCacheCommand as KA, getFontMetrics as jA, getPatternImageData as nt, FontAlignmentCommand as VA, FontColorCommand as WA, FontImageFillCommand as Xe, applyTextTransformations as it, determineCorrectFontSizeAndLines as xe, FontSourceCommand as St, loadFont as dt, TextChangeCommand as XA, FontSizeCommand as qA, createElementNS as ZA, createElement as Ie, _loadFontExternalDataURL as Ct, UpdateWorkflowStateCommand as Yt, CommandContext as $A, createCanvas as He, getSvgElement as zt, LayoutRenderingPurpose as Kt, renderPapyrusComponentAsString as jt, loadImage as Vt, getDomParser as Wt, toBase64 as Pt, getVariant as _A, generateFrameSVG as ea, getDefaultVariant as ze, domParser as Xt, sanitizeSvgTree as qt, traverse as ta, xmlSerializer as Zt, CreateLayoutCommand as Aa, AspectType as $, rehydrateSerializedLayout as se } from "@spiffcommerce/papyrus";
3
+ import { AspectType as Ns, AssetType as vs, BringForwardCommand as Rs, BringToBackCommand as Hs, BringToFrontCommand as ks, CanvasCommand as Us, CommandContext as Gs, CreateElementCommand as bs, CreateLayoutCommand as Js, DeleteElementCommand as Ts, FontAlignmentCommand as Os, FontColorCommand as Ls, FontSizeCommand as zs, FontSourceCommand as Ks, GroupCommand as js, LayoutElementFactory as Vs, LayoutElementType as Ws, MoveCommand as Xs, ResizeCommand as qs, RotateCommand as Zs, SendBackwardsCommand as $s, StepAspectType as _s, StepType as eo, TextChangeCommand as to, UnitOfMeasurement as Ao, UpdateImageSourceCommand as ao, dataUrlFromExternalUrl as no, determineCorrectFontSizeAndLines as io, findElement as so, frameDataCache as oo, generate as ro, generateSVGWithUnknownColors as co, getAttributesFromArrayBuffer as go, getAxisAlignedBoundingBox as lo, getFrameData as Bo, getSvgElement as Co, loadFont as wo, patternImageDataCache as ho, registerFetchImplementation as Eo, registerWindowImplementation as uo, rehydrateSerializedLayout as mo, setCanvasModule as Qo, svgToDataUrl as po } from "@spiffcommerce/papyrus";
4
4
  import { setContext as aa } from "@apollo/client/link/context";
5
5
  import { onError as na } from "@apollo/client/link/error";
6
6
  import { Pith as $t } from "pith";
7
7
  import _t from "lodash.debounce";
8
8
  import eA from "lodash.isequal";
9
- import le from "lodash.clonedeep";
9
+ import ge from "lodash.clonedeep";
10
10
  import { toString as tA } from "qrcode";
11
11
  import ia from "fuse.js";
12
12
  import { split as st } from "unicode-default-word-boundary";
@@ -150,28 +150,28 @@ class ra {
150
150
  }
151
151
  const q = new ra();
152
152
  let aA;
153
- const vt = (l) => {
154
- aA = l;
153
+ const vt = (g) => {
154
+ aA = g;
155
155
  };
156
156
  let ht;
157
- const ca = (l) => {
158
- ht = l;
159
- }, la = () => ht;
157
+ const ca = (g) => {
158
+ ht = g;
159
+ }, ga = () => ht;
160
160
  let nA;
161
- const ga = (l) => {
162
- nA = l;
163
- }, Ba = () => new Promise((l) => {
161
+ const la = (g) => {
162
+ nA = g;
163
+ }, Ba = () => new Promise((g) => {
164
164
  const e = q.getHubUrl(), t = (A) => {
165
- A.origin === e && (window.removeEventListener("message", t), l(A.data));
165
+ A.origin === e && (window.removeEventListener("message", t), g(A.data));
166
166
  };
167
167
  window.parent !== window && (window.addEventListener("message", t, !1), window.parent.postMessage("ready", e));
168
168
  }), da = async () => {
169
- const l = {
169
+ const g = {
170
170
  applicationKey: ht,
171
171
  customerToken: aA,
172
172
  bearer: nA
173
173
  };
174
- return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await Ba(), ...l } : l;
174
+ return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await Ba(), ...g } : g;
175
175
  };
176
176
  class Ca {
177
177
  constructor() {
@@ -185,9 +185,9 @@ class Ca {
185
185
  constructShadowGraphqlClient() {
186
186
  const e = RA({
187
187
  uri: `${q.getServerUrl()}/graphql`,
188
- fetch: lt
188
+ fetch: gt
189
189
  }), t = aa(async (i, s) => {
190
- const { headers: o } = s, r = o || {}, c = await da(), B = s.bearer ?? c.bearer, g = s.partnerId ?? c.partnerId, d = s.activeIntegration ?? c.activeIntegration, C = s.transactionOwnerId, w = s.customerToken ?? c.customerToken, h = s.applicationKey ?? c.applicationKey, u = s.bundleOwnerId;
190
+ const { headers: o } = s, r = o || {}, c = await da(), B = s.bearer ?? c.bearer, l = s.partnerId ?? c.partnerId, d = s.activeIntegration ?? c.activeIntegration, C = s.transactionOwnerId, w = s.customerToken ?? c.customerToken, h = s.applicationKey ?? c.applicationKey, u = s.bundleOwnerId;
191
191
  try {
192
192
  if (window && window.__SENTRY__) {
193
193
  const E = window.__SENTRY__.hub;
@@ -200,7 +200,7 @@ class Ca {
200
200
  }
201
201
  } catch {
202
202
  }
203
- return B && (r.Authorization = `Bearer ${B}`), g && (r.partnerId = g), d && (r.activeIntegration = d), C && (r.transactionOwnerId = C), w && (r.customerToken = w), h && (r["X-Application-Key"] = h), u && (r.bundleOwnerId = u), {
203
+ return B && (r.Authorization = `Bearer ${B}`), l && (r.partnerId = l), d && (r.activeIntegration = d), C && (r.transactionOwnerId = C), w && (r.customerToken = w), h && (r["X-Application-Key"] = h), u && (r.bundleOwnerId = u), {
204
204
  headers: r
205
205
  };
206
206
  }), A = na(({ operation: i, graphQLErrors: s, networkError: o }) => {
@@ -265,8 +265,8 @@ const x = new Ca(), wa = f`
265
265
  value
266
266
  }
267
267
  }
268
- `, De = (l) => f`
269
- ${l && wa || ""}
268
+ `, De = (g) => f`
269
+ ${g && wa || ""}
270
270
  fragment AssetFields on Asset {
271
271
  name
272
272
  key
@@ -278,7 +278,7 @@ const x = new Ca(), wa = f`
278
278
  name
279
279
  link
280
280
  }
281
- ${l && "...AssetMetadataFields" || ""}
281
+ ${g && "...AssetMetadataFields" || ""}
282
282
  }
283
283
  `, ha = f`
284
284
  ${De(!1)}
@@ -362,28 +362,28 @@ const x = new Ca(), wa = f`
362
362
  ...AssetFields
363
363
  }
364
364
  }
365
- `, ot = async (l) => (await x.getShadowGraphqlClient().query({
365
+ `, ot = async (g) => (await x.getShadowGraphqlClient().query({
366
366
  query: ha,
367
367
  errorPolicy: "all",
368
368
  fetchPolicy: "no-cache",
369
369
  variables: {
370
- keys: l
370
+ keys: g
371
371
  }
372
- })).data.assets, Qa = async (l) => (await x.getShadowGraphqlClient().query({
372
+ })).data.assets, Qa = async (g) => (await x.getShadowGraphqlClient().query({
373
373
  query: Ea,
374
374
  errorPolicy: "all",
375
375
  fetchPolicy: "no-cache",
376
376
  variables: {
377
- ids: l
377
+ ids: g
378
378
  }
379
- })).data.materials, pa = async (l, e, t, A, a) => {
379
+ })).data.materials, pa = async (g, e, t, A, a) => {
380
380
  var i;
381
381
  return (i = (await x.getShadowGraphqlClient().mutate({
382
382
  mutation: ua,
383
383
  errorPolicy: "all",
384
384
  fetchPolicy: "no-cache",
385
385
  variables: {
386
- name: l,
386
+ name: g,
387
387
  type: e,
388
388
  mimeType: t,
389
389
  anonymous: A,
@@ -726,13 +726,13 @@ const me = new Ia(), sA = f`
726
726
  ...OptionFields
727
727
  }
728
728
  }
729
- `, Fa = async (l) => {
729
+ `, Fa = async (g) => {
730
730
  const e = await x.getShadowGraphqlClient().query({
731
731
  query: fa,
732
732
  errorPolicy: "all",
733
733
  fetchPolicy: "no-cache",
734
734
  variables: {
735
- ids: l
735
+ ids: g
736
736
  }
737
737
  });
738
738
  return e.data.options.forEach((t) => {
@@ -741,8 +741,8 @@ const me = new Ia(), sA = f`
741
741
  n.asset && U.cacheAsset(n.asset), n.thumbnail && U.cacheAsset(n.thumbnail), n.material && U.cacheMaterial(n.material);
742
742
  });
743
743
  }), e.data.options;
744
- }, ya = async (l, e) => (await e).find((A) => A.id === l), Ma = async (l) => {
745
- const e = l.map((i) => me.get({ id: i })), t = l.filter((i, s) => e[s] === void 0);
744
+ }, ya = async (g, e) => (await e).find((A) => A.id === g), Ma = async (g) => {
745
+ const e = g.map((i) => me.get({ id: i })), t = g.filter((i, s) => e[s] === void 0);
746
746
  if (t.length === 0)
747
747
  return Promise.all(e);
748
748
  const A = Fa(t), a = t.map(
@@ -797,7 +797,7 @@ class Sa {
797
797
  }
798
798
  }
799
799
  const V = new Sa();
800
- var Ya = /* @__PURE__ */ ((l) => (l.Hyperlink = "Hyperlink", l.Edit = "Edit", l.Approve = "Approve", l))(Ya || {}), Pa = /* @__PURE__ */ ((l) => (l.Hub = "Hub", l.Shopify = "Shopify", l))(Pa || {}), ut = /* @__PURE__ */ ((l) => (l.BackgroundRemover = "BackgroundRemover", l.ConversionAccelerator = "Conversion Accelerator", l.ProcessBuilder = "ProcessBuilder", l))(ut || {}), xa = /* @__PURE__ */ ((l) => (l[l.Orbit = 0] = "Orbit", l[l.Pan = 1] = "Pan", l))(xa || {}), Na = /* @__PURE__ */ ((l) => (l.Manual = "Manual", l.OnStart = "OnStart", l.OnQuit = "OnQuit", l.OnEnd = "OnEnd", l))(Na || {}), va = /* @__PURE__ */ ((l) => (l.Email = "Email", l.FirstName = "FirstName", l.LastName = "LastName", l.Phone = "Phone", l))(va || {}), Ge = /* @__PURE__ */ ((l) => (l.Owner = "Owner", l.Approver = "Approver", l.Editor = "Editor", l.Viewer = "Viewer", l))(Ge || {});
800
+ var Ya = /* @__PURE__ */ ((g) => (g.Hyperlink = "Hyperlink", g.Edit = "Edit", g.Approve = "Approve", g))(Ya || {}), Pa = /* @__PURE__ */ ((g) => (g.Hub = "Hub", g.Shopify = "Shopify", g))(Pa || {}), ut = /* @__PURE__ */ ((g) => (g.BackgroundRemover = "BackgroundRemover", g.ConversionAccelerator = "Conversion Accelerator", g.ProcessBuilder = "ProcessBuilder", g))(ut || {}), xa = /* @__PURE__ */ ((g) => (g[g.Orbit = 0] = "Orbit", g[g.Pan = 1] = "Pan", g))(xa || {}), Na = /* @__PURE__ */ ((g) => (g.Manual = "Manual", g.OnStart = "OnStart", g.OnQuit = "OnQuit", g.OnEnd = "OnEnd", g))(Na || {}), va = /* @__PURE__ */ ((g) => (g.Email = "Email", g.FirstName = "FirstName", g.LastName = "LastName", g.Phone = "Phone", g))(va || {}), Ge = /* @__PURE__ */ ((g) => (g.Owner = "Owner", g.Approver = "Approver", g.Editor = "Editor", g.Viewer = "Viewer", g))(Ge || {});
801
801
  const oA = f`
802
802
  fragment ActiveIntegrationFields on Integration {
803
803
  id
@@ -1333,14 +1333,14 @@ const Ja = f`
1333
1333
  }
1334
1334
  }
1335
1335
  }
1336
- `, lA = f`
1336
+ `, gA = f`
1337
1337
  query ReadWorkflowStates($ids: [String]!) {
1338
1338
  transactions(ids: $ids) {
1339
1339
  id
1340
1340
  workflowState
1341
1341
  }
1342
1342
  }
1343
- `, gA = f`
1343
+ `, lA = f`
1344
1344
  ${Be}
1345
1345
  fragment IntegrationProductFields on IntegrationProduct {
1346
1346
  id
@@ -1403,14 +1403,14 @@ const Ja = f`
1403
1403
  }
1404
1404
  }
1405
1405
  `, Ta = f`
1406
- ${gA}
1406
+ ${lA}
1407
1407
  query GetIntegrationProducts($ids: [String!]!) {
1408
1408
  integrationProducts(ids: $ids) {
1409
1409
  ...IntegrationProductFields
1410
1410
  }
1411
1411
  }
1412
1412
  `, Oa = f`
1413
- ${gA}
1413
+ ${lA}
1414
1414
  query GetIntegrationProductFromExternalIds($externalIntegrationId: String!, $externalProductId: String!) {
1415
1415
  integrationProductFromExternalIds(
1416
1416
  externalIntegrationId: $externalIntegrationId
@@ -1431,25 +1431,25 @@ const Ja = f`
1431
1431
  }
1432
1432
  }
1433
1433
  }
1434
- `, Ce = [M.SilentIllustration, M.ProductOverlay], za = async (l) => {
1434
+ `, Ce = [M.SilentIllustration, M.ProductOverlay], za = async (g) => {
1435
1435
  const e = [];
1436
- l.introduction && e.push({
1436
+ g.introduction && e.push({
1437
1437
  name: "Introduction",
1438
- title: l.name,
1438
+ title: g.name,
1439
1439
  renderableSteps: [
1440
1440
  {
1441
1441
  type: M.Introduction,
1442
1442
  stepName: "Introduction",
1443
- stepTitle: l.name,
1444
- helpText: l.introduction,
1443
+ stepTitle: g.name,
1444
+ helpText: g.introduction,
1445
1445
  data: {},
1446
1446
  conditions: []
1447
1447
  }
1448
1448
  ],
1449
1449
  silentSteps: []
1450
1450
  });
1451
- for (const A of l.steps) {
1452
- const a = Ka(A.stepName, l.stepGroups);
1451
+ for (const A of g.steps) {
1452
+ const a = Ka(A.stepName, g.stepGroups);
1453
1453
  if (!a)
1454
1454
  e.push({
1455
1455
  name: A.stepName,
@@ -1478,15 +1478,15 @@ const Ja = f`
1478
1478
  stepTitle: t,
1479
1479
  helpText: "",
1480
1480
  data: {
1481
- modelAnimation: l.finalizeStepConfig ? l.finalizeStepConfig.modelAnimation : void 0,
1482
- lookAtAnimation: l.finalizeStepConfig ? l.finalizeStepConfig.lookAtAnimation : void 0
1481
+ modelAnimation: g.finalizeStepConfig ? g.finalizeStepConfig.modelAnimation : void 0,
1482
+ lookAtAnimation: g.finalizeStepConfig ? g.finalizeStepConfig.lookAtAnimation : void 0
1483
1483
  },
1484
1484
  conditions: []
1485
1485
  }
1486
1486
  ],
1487
1487
  silentSteps: []
1488
1488
  }), e;
1489
- }, Ka = (l, e) => e.find((t) => t.stepNames.includes(l)), ae = (l, e) => (l.conditions || []).every((t) => {
1489
+ }, Ka = (g, e) => e.find((t) => t.stepNames.includes(g)), ae = (g, e) => (g.conditions || []).every((t) => {
1490
1490
  const A = e[t.targetStepName];
1491
1491
  if (A && A.selectedVariants) {
1492
1492
  const a = A.selectedVariants;
@@ -1495,17 +1495,17 @@ const Ja = f`
1495
1495
  );
1496
1496
  }
1497
1497
  return !1;
1498
- }), ja = (l, e) => {
1498
+ }), ja = (g, e) => {
1499
1499
  const t = {
1500
- name: l.name,
1501
- title: l.title,
1502
- renderableSteps: l.renderableSteps.filter((A) => ae(A, e)),
1503
- silentSteps: l.silentSteps.filter((A) => ae(A, e))
1500
+ name: g.name,
1501
+ title: g.title,
1502
+ renderableSteps: g.renderableSteps.filter((A) => ae(A, e)),
1503
+ silentSteps: g.silentSteps.filter((A) => ae(A, e))
1504
1504
  };
1505
1505
  return t.silentSteps.length === 0 && t.renderableSteps.length === 0 ? null : t;
1506
- }, ce = (l, e) => l.map((t) => ja(t, e)).filter((t) => t !== null), Va = async (l, e, t = !1) => {
1506
+ }, ce = (g, e) => g.map((t) => ja(t, e)).filter((t) => t !== null), Va = async (g, e, t = !1) => {
1507
1507
  var i;
1508
- const A = ce(l, e), a = [];
1508
+ const A = ce(g, e), a = [];
1509
1509
  for (const s of A)
1510
1510
  for (const o of s.renderableSteps) {
1511
1511
  const r = (((i = o.option) == null ? void 0 : i.variants) || []).length;
@@ -1595,19 +1595,19 @@ class dA {
1595
1595
  }
1596
1596
  }
1597
1597
  }
1598
- function Wa(l, e, t, A) {
1599
- const a = t.width * l.zoom, n = t.height * l.zoom;
1598
+ function Wa(g, e, t, A) {
1599
+ const a = t.width * g.zoom, n = t.height * g.zoom;
1600
1600
  if (A) {
1601
- const s = l, o = Math.max(e.width / t.width, e.height / t.height);
1602
- s.zoom = Math.max(o, l.zoom);
1601
+ const s = g, o = Math.max(e.width / t.width, e.height / t.height);
1602
+ s.zoom = Math.max(o, g.zoom);
1603
1603
  const r = t.width * s.zoom, c = t.height * s.zoom;
1604
- return s.x = Fe(l.x, e.width - r, 0), s.y = Fe(l.y, e.height - c, 0), s;
1604
+ return s.x = Fe(g.x, e.width - r, 0), s.y = Fe(g.y, e.height - c, 0), s;
1605
1605
  }
1606
- const i = l;
1606
+ const i = g;
1607
1607
  return i.x = Fe(i.x, -a, e.width), i.y = Fe(i.y, -n, e.height), i;
1608
1608
  }
1609
- function Fe(l, e, t) {
1610
- return Math.min(Math.max(l, e), t);
1609
+ function Fe(g, e, t) {
1610
+ return Math.min(Math.max(g, e), t);
1611
1611
  }
1612
1612
  class Xa {
1613
1613
  constructor(e) {
@@ -1631,7 +1631,7 @@ class Xa {
1631
1631
  if (a.currentFrameSources) {
1632
1632
  let n = !1;
1633
1633
  for (let i = 0; i < a.currentFrameSources.length; i++) {
1634
- const s = a.currentFrameSources[i], o = await gt(s), r = this.frameData ? this.frameData[i] : void 0;
1634
+ const s = a.currentFrameSources[i], o = await lt(s), r = this.frameData ? this.frameData[i] : void 0;
1635
1635
  eA(o, r) || (this.frameData || (this.frameData = new Array(a.currentFrameSources.length)), this.frameData[i] = o, n = !0);
1636
1636
  }
1637
1637
  n && (this.onFrameDataChangeListeners.forEach(
@@ -1830,24 +1830,24 @@ class kt {
1830
1830
  constructor(e, t, A) {
1831
1831
  this.processRegion = async (a) => {
1832
1832
  var o, r, c, B;
1833
- const n = this.layouts.find((g) => g.panelId === a.panelId);
1833
+ const n = this.layouts.find((l) => l.panelId === a.panelId);
1834
1834
  if (!n)
1835
1835
  throw new z(a);
1836
1836
  let i = "";
1837
1837
  if (this.configuration.type === M.ProductOverlay) {
1838
- let g = "";
1839
- if ((o = this.product) != null && o.overlayImageUrl && (g = this.product.overlayImageUrl), i = g, !g)
1838
+ let l = "";
1839
+ if ((o = this.product) != null && o.overlayImageUrl && (l = this.product.overlayImageUrl), i = l, !l)
1840
1840
  throw new Ue(this.configuration, "Couldn't find an asset for product overlay step");
1841
1841
  }
1842
1842
  const s = this.evaluateAssetType();
1843
1843
  if (s === G.Image) {
1844
- const g = this.configuration.type === M.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (c = this.product) == null ? void 0 : c.overlayImageUrl;
1845
- if (!g)
1844
+ const l = this.configuration.type === M.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (c = this.product) == null ? void 0 : c.overlayImageUrl;
1845
+ if (!l)
1846
1846
  throw new Error("Undefined raster silent step source");
1847
1847
  const d = {
1848
1848
  stepName: this.configuration.stepName,
1849
1849
  id: J(),
1850
- src: g,
1850
+ src: l,
1851
1851
  type: s,
1852
1852
  y: a.top,
1853
1853
  x: a.left,
@@ -1869,19 +1869,19 @@ class kt {
1869
1869
  command: new L(d, n)
1870
1870
  };
1871
1871
  } else {
1872
- const g = this.configuration.type === M.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, C = await Le(await (async () => new Promise((h, u) => {
1873
- if (!g) {
1872
+ const l = this.configuration.type === M.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, C = await Le(await (async () => new Promise((h, u) => {
1873
+ if (!l) {
1874
1874
  u("Undefined vector silent step source");
1875
1875
  return;
1876
1876
  }
1877
- _(g, !0).then((E) => {
1877
+ _(l, !0).then((E) => {
1878
1878
  h(E);
1879
1879
  }).catch((E) => console.error(E));
1880
1880
  }))()), w = {
1881
1881
  stepName: this.configuration.stepName,
1882
1882
  id: J(),
1883
1883
  cachedObjectURL: await ve(C.svg),
1884
- src: g,
1884
+ src: l,
1885
1885
  svg: C.svg,
1886
1886
  colors: C.colors,
1887
1887
  type: s,
@@ -1927,12 +1927,12 @@ class kt {
1927
1927
  return e != null && e.startsWith("data:image/png") || e != null && e.endsWith(".jpeg") || e != null && e.endsWith(".jpg") || e != null && e.endsWith(".png") ? G.Image : e != null && e.endsWith(".svg") || e != null && e.startsWith("image/svg+xml") ? G.Illustration : G.Illustration;
1928
1928
  }
1929
1929
  }
1930
- const qa = async (l) => {
1930
+ const qa = async (g) => {
1931
1931
  const e = `${q.getServicesApiUrl()}/shortener`;
1932
1932
  try {
1933
1933
  return (await (await fetch(e, {
1934
1934
  method: "POST",
1935
- body: JSON.stringify({ longUrl: l }),
1935
+ body: JSON.stringify({ longUrl: g }),
1936
1936
  headers: {
1937
1937
  "Content-Type": "application/json"
1938
1938
  }
@@ -1974,8 +1974,8 @@ class Za {
1974
1974
  A.serializableWorkflow.steps
1975
1975
  ), o = Object.values(A.layouts).map((r) => r.elements).flat().filter((r) => r.stepName === e.stepName).map((r) => ({ id: r.id, region: r.stepRegion }));
1976
1976
  await t.setSelectionsAndElements(e.stepName, [], o, async () => {
1977
- var B, g;
1978
- const r = (B = a == null ? void 0 : a.storage) == null ? void 0 : B.videoShortUrl, c = (g = a == null ? void 0 : a.storage) == null ? void 0 : g.videoUrl;
1977
+ var B, l;
1978
+ const r = (B = a == null ? void 0 : a.storage) == null ? void 0 : B.videoShortUrl, c = (l = a == null ? void 0 : a.storage) == null ? void 0 : l.videoUrl;
1979
1979
  t.updateStorage(e.stepName, {
1980
1980
  videoShortUrl: r,
1981
1981
  videoUrl: c
@@ -2015,8 +2015,8 @@ class Za {
2015
2015
  const c = await qa(r);
2016
2016
  if (!a.data || !a.data.regions)
2017
2017
  throw new Ue(a, "Missing regions.");
2018
- const B = await this.regionElements(a), g = await this.command(c, B, A, a.stepName);
2019
- return g && (g.command && A.getCommandDispatcher()(g.command), g.followup && await g.followup()), await A.setSelectionsAndElements(a.stepName, [], B, async () => {
2018
+ const B = await this.regionElements(a), l = await this.command(c, B, A, a.stepName);
2019
+ return l && (l.command && A.getCommandDispatcher()(l.command), l.followup && await l.followup()), await A.setSelectionsAndElements(a.stepName, [], B, async () => {
2020
2020
  A.updateStorage(a.stepName, {
2021
2021
  videoShortUrl: c,
2022
2022
  videoUrl: i.href
@@ -2029,7 +2029,7 @@ class Za {
2029
2029
  }
2030
2030
  async command(e, t, A, a) {
2031
2031
  const n = A.getLayouts(), s = `data:image/svg+xml;base64,${btoa(await tA(e, { type: "svg" }))}`, o = t.map((r) => {
2032
- const c = r.region, B = n.find((g) => g.panelId === (c == null ? void 0 : c.panelId));
2032
+ const c = r.region, B = n.find((l) => l.panelId === (c == null ? void 0 : c.panelId));
2033
2033
  if (!B && c)
2034
2034
  throw new z(c);
2035
2035
  if (B && !c)
@@ -3398,7 +3398,7 @@ const wA = new Za(), Qe = [
3398
3398
  "Black 5 C",
3399
3399
  "Black 6 C",
3400
3400
  "Black 7 C"
3401
- ], ge = [
3401
+ ], le = [
3402
3402
  "FEDD00",
3403
3403
  "FFD700",
3404
3404
  "FE5000",
@@ -4740,55 +4740,55 @@ const wA = new Za(), Qe = [
4740
4740
  "3E2B2E",
4741
4741
  "101820",
4742
4742
  "3D3935"
4743
- ], qe = ge.map((l) => [
4744
- parseInt(l.substring(0, 2), 16),
4745
- parseInt(l.substring(2, 4), 16),
4746
- parseInt(l.substring(4, 6), 16)
4743
+ ], qe = le.map((g) => [
4744
+ parseInt(g.substring(0, 2), 16),
4745
+ parseInt(g.substring(2, 4), 16),
4746
+ parseInt(g.substring(4, 6), 16)
4747
4747
  ]);
4748
- function Ds(l) {
4749
- const e = Qe.indexOf(l);
4750
- return e >= 0 ? ge[e] : "";
4748
+ function Ds(g) {
4749
+ const e = Qe.indexOf(g);
4750
+ return e >= 0 ? le[e] : "";
4751
4751
  }
4752
- function $a(l) {
4753
- const e = ge.indexOf(l);
4752
+ function $a(g) {
4753
+ const e = le.indexOf(g);
4754
4754
  return e >= 0 ? Qe[e] : "";
4755
4755
  }
4756
- function Is(l, e = 64) {
4757
- const t = [], A = [], a = $a(l);
4756
+ function Is(g, e = 64) {
4757
+ const t = [], A = [], a = $a(g);
4758
4758
  a && t.push({
4759
4759
  pms: a,
4760
- hex: l,
4760
+ hex: g,
4761
4761
  distance: 0
4762
4762
  });
4763
- const n = parseInt(l.substring(0, 2), 16), i = parseInt(l.substring(2, 4), 16), s = parseInt(l.substring(4, 6), 16);
4763
+ const n = parseInt(g.substring(0, 2), 16), i = parseInt(g.substring(2, 4), 16), s = parseInt(g.substring(4, 6), 16);
4764
4764
  let o, r, c;
4765
- for (let B = 0; B < ge.length; B++) {
4765
+ for (let B = 0; B < le.length; B++) {
4766
4766
  o = qe[B][0], r = qe[B][1], c = qe[B][2];
4767
- const g = Math.sqrt(Math.pow(n - o, 2) + Math.pow(i - r, 2) + Math.pow(s - c, 2));
4768
- A.push(g);
4767
+ const l = Math.sqrt(Math.pow(n - o, 2) + Math.pow(i - r, 2) + Math.pow(s - c, 2));
4768
+ A.push(l);
4769
4769
  }
4770
4770
  for (let B = 0; B < A.length; B++)
4771
- A[B] <= e && !t.some((g) => g.pms === Qe[B]) && t.push({ pms: Qe[B], hex: ge[B], distance: A[B] });
4772
- return t.sort((B, g) => B.distance - g.distance);
4771
+ A[B] <= e && !t.some((l) => l.pms === Qe[B]) && t.push({ pms: Qe[B], hex: le[B], distance: A[B] });
4772
+ return t.sort((B, l) => B.distance - l.distance);
4773
4773
  }
4774
- const _a = Qe.map((l, e) => ({ pms: l, hex: ge[e] })), en = new ia(_a, { keys: ["pms"] });
4775
- function fs(l, e) {
4776
- return en.search(l, e ? { limit: e } : void 0);
4774
+ const _a = Qe.map((g, e) => ({ pms: g, hex: le[e] })), en = new ia(_a, { keys: ["pms"] });
4775
+ function fs(g, e) {
4776
+ return en.search(g, e ? { limit: e } : void 0);
4777
4777
  }
4778
4778
  let we = null;
4779
- function tn(l) {
4780
- if (l.startsWith("#"))
4781
- return Ut(l);
4779
+ function tn(g) {
4780
+ if (g.startsWith("#"))
4781
+ return Ut(g);
4782
4782
  if (!document)
4783
4783
  throw new Error("browserColorToHex is only supported on browsers");
4784
4784
  if (we || (we = document.createElement("canvas").getContext("2d")), !we)
4785
4785
  throw new Error("Failed to create canvas context required to convert colors");
4786
- we.fillStyle = l;
4786
+ we.fillStyle = g;
4787
4787
  const e = Ut(we.fillStyle);
4788
- return e || console.error(`Unknown browser color ${l}`), e;
4788
+ return e || console.error(`Unknown browser color ${g}`), e;
4789
4789
  }
4790
- function Ut(l) {
4791
- const e = l.substring(1).toUpperCase();
4790
+ function Ut(g) {
4791
+ const e = g.substring(1).toUpperCase();
4792
4792
  return e.length === 6 ? e : e.length === 3 ? `${e[0]}${e[0]}${e[1]}${e[1]}${e[2]}${e[2]}` : "";
4793
4793
  }
4794
4794
  class An {
@@ -4850,16 +4850,16 @@ class An {
4850
4850
  if (a) {
4851
4851
  const c = async () => {
4852
4852
  var C, w, h, u, E;
4853
- const B = (C = a.storage) == null ? void 0 : C.colors, g = (w = a.storage) == null ? void 0 : w.framePatternSrc, d = (h = a.storage) == null ? void 0 : h.frameOffsetsList;
4853
+ const B = (C = a.storage) == null ? void 0 : C.colors, l = (w = a.storage) == null ? void 0 : w.framePatternSrc, d = (h = a.storage) == null ? void 0 : h.frameOffsetsList;
4854
4854
  if (t.updateMetadata(e.stepName, {
4855
4855
  frameOffsetsList: d,
4856
- framePatternSrc: g
4857
- }), g) {
4856
+ framePatternSrc: l
4857
+ }), l) {
4858
4858
  const D = (u = t.getStepSpecificServices(e.stepName)) == null ? void 0 : u.frameService;
4859
4859
  if (!D)
4860
4860
  throw new Error("Frame service unavailable, cannot load pattern!");
4861
- await this.loadPatternFromString(g, D, !0, B), t.updateMetadata(e.stepName, { image: g }), t.updateStorage(e.stepName, {
4862
- framePatternSrc: g
4861
+ await this.loadPatternFromString(l, D, !0, B), t.updateMetadata(e.stepName, { image: l }), t.updateStorage(e.stepName, {
4862
+ framePatternSrc: l
4863
4863
  }), this.validateColorCount(e, t);
4864
4864
  }
4865
4865
  if (d != null && d.some((D) => D.zoom)) {
@@ -4873,14 +4873,14 @@ class An {
4873
4873
  if (a.selectedVariants && a.selectedVariants.length > 0) {
4874
4874
  const B = a.selectedVariants[0].id;
4875
4875
  if (e.option && B) {
4876
- const g = (r = e.option.variants) == null ? void 0 : r.find((d) => d.id === B);
4877
- g && await t.setSelectionsAndElements(
4876
+ const l = (r = e.option.variants) == null ? void 0 : r.find((d) => d.id === B);
4877
+ l && await t.setSelectionsAndElements(
4878
4878
  e.stepName,
4879
- [g],
4879
+ [l],
4880
4880
  o,
4881
4881
  async () => {
4882
4882
  const d = await Promise.all(
4883
- e.data.regions.map((C) => this.frameSourceSvg(g, C))
4883
+ e.data.regions.map((C) => this.frameSourceSvg(l, C))
4884
4884
  );
4885
4885
  t.updateStorage(e.stepName, { currentFrameSources: d }), await c();
4886
4886
  }
@@ -4959,9 +4959,6 @@ class An {
4959
4959
  stepRegion: t,
4960
4960
  stepName: a.stepName,
4961
4961
  disablePlaceholder: a.disablePlaceholder,
4962
- focalBlur: a.focalBlur,
4963
- focalBlurStrength: a.focalBlurStrength,
4964
- focalBlurRadius: a.focalBlurRadius,
4965
4962
  pattern: a.pattern,
4966
4963
  immutable: t.immutable
4967
4964
  },
@@ -4972,8 +4969,8 @@ class An {
4972
4969
  if (e.endsWith("svg")) {
4973
4970
  const i = await OA(e), s = i.width, o = i.height, r = await _(e);
4974
4971
  if (n) {
4975
- const g = r.match(/<(image|linearGradient|radialGradient)(\s|>|\/>)/gim);
4976
- if (g && g.length > 0)
4972
+ const l = r.match(/<(image|linearGradient|radialGradient)(\s|>|\/>)/gim);
4973
+ if (l && l.length > 0)
4977
4974
  throw new Error(
4978
4975
  "Vector files may not include images or gradients when a color limit is specified."
4979
4976
  );
@@ -5045,8 +5042,8 @@ class An {
5045
5042
  };
5046
5043
  const a = { ...e.getImageData().colors ?? {} }, n = {};
5047
5044
  Object.entries(a).forEach(([c, B]) => {
5048
- const g = { browserValue: B.browserValue };
5049
- n[c] = g;
5045
+ const l = { browserValue: B.browserValue };
5046
+ n[c] = l;
5050
5047
  });
5051
5048
  for (const [c, B] of A.entries())
5052
5049
  a[c] = { browserValue: B.browserValue, pmsValue: B.pmsValue }, n[c] = B;
@@ -5054,8 +5051,8 @@ class An {
5054
5051
  const s = t.data.colorOption;
5055
5052
  return s && ((r = s.variants) == null || r.forEach((c) => {
5056
5053
  i = i.map((B) => {
5057
- var g;
5058
- return B.toLowerCase() === ((g = c.color) == null ? void 0 : g.toLowerCase()) ? c.name : B;
5054
+ var l;
5055
+ return B.toLowerCase() === ((l = c.color) == null ? void 0 : l.toLowerCase()) ? c.name : B;
5059
5056
  });
5060
5057
  })), {
5061
5058
  newColors: a,
@@ -5072,8 +5069,8 @@ class An {
5072
5069
  );
5073
5070
  }
5074
5071
  async selectVariantCommand(e, t, A, a, n, i) {
5075
- var g;
5076
- const s = (g = a.getStepSpecificServices(e.stepName)) == null ? void 0 : g.frameService;
5072
+ var l;
5073
+ const s = (l = a.getStepSpecificServices(e.stepName)) == null ? void 0 : l.frameService;
5077
5074
  if (!s)
5078
5075
  throw new Error("Frame service unavailable, cannot load pattern!");
5079
5076
  const o = await Promise.all(
@@ -5082,7 +5079,7 @@ class An {
5082
5079
  n && n(!0);
5083
5080
  const r = await Promise.all(
5084
5081
  e.data.regions.map(async (d, C) => {
5085
- const w = await gt(o[C]), h = s.getImageData(), u = A.map((I) => new ne(I.id)), E = h ? Bt(h, w) : void 0, D = h ? {
5082
+ const w = await lt(o[C]), h = s.getImageData(), u = A.map((I) => new ne(I.id)), E = h ? Bt(h, w) : void 0, D = h ? {
5086
5083
  id: J(),
5087
5084
  src: h.src,
5088
5085
  x: (E == null ? void 0 : E.x) || 0,
@@ -5100,9 +5097,6 @@ class An {
5100
5097
  frameData: w,
5101
5098
  pattern: D,
5102
5099
  disablePlaceholder: e.data.disablePlaceholder,
5103
- focalBlur: e.data.focalBlur,
5104
- focalBlurStrength: e.data.focalBlurStrength,
5105
- focalBlurRadius: e.data.focalBlurRadius,
5106
5100
  stepName: e.stepName
5107
5101
  }),
5108
5102
  regionEl: {
@@ -5245,13 +5239,13 @@ class an {
5245
5239
  if (a != null && a.selectedVariants) {
5246
5240
  const c = a.selectedVariants[0].id;
5247
5241
  if (o && c) {
5248
- const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
5242
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
5249
5243
  if (B) {
5250
- const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
5244
+ const l = s.map((d) => ({ id: d.id, region: d.stepRegion }));
5251
5245
  await t.setSelectionsAndElements(
5252
5246
  e.stepName,
5253
5247
  [B],
5254
- g,
5248
+ l,
5255
5249
  async () => {
5256
5250
  var d;
5257
5251
  t.updateMetadata(e.stepName, {
@@ -5277,12 +5271,12 @@ class an {
5277
5271
  async changeColorsCommand(e, t, A, a, n) {
5278
5272
  var c;
5279
5273
  const i = {};
5280
- for (const [B, g] of n.entries())
5281
- i[B] = { browserValue: g, spotColor: (c = i[B]) == null ? void 0 : c.spotColor };
5274
+ for (const [B, l] of n.entries())
5275
+ i[B] = { browserValue: l, spotColor: (c = i[B]) == null ? void 0 : c.spotColor };
5282
5276
  const s = zA(e, t, A, i), o = await ve(s), r = [];
5283
5277
  for (const B of a) {
5284
- for (const [g, d] of n.entries())
5285
- r.push(new at(B, g, d));
5278
+ for (const [l, d] of n.entries())
5279
+ r.push(new at(B, l, d));
5286
5280
  r.push(new KA(B, s, o));
5287
5281
  }
5288
5282
  return new k(r);
@@ -5314,7 +5308,7 @@ class an {
5314
5308
  B.set(w, h.browserValue);
5315
5309
  }), !i.svg)
5316
5310
  throw new Error("Colors changed before SVG loaded. This should never happen!");
5317
- const g = await this.changeColorsCommand(
5311
+ const l = await this.changeColorsCommand(
5318
5312
  i.svg,
5319
5313
  i.width,
5320
5314
  i.height,
@@ -5323,7 +5317,7 @@ class an {
5323
5317
  );
5324
5318
  A.updateStorage(e.stepName, {
5325
5319
  colors: o
5326
- }), A.getCommandDispatcher()(g);
5320
+ }), A.getCommandDispatcher()(l);
5327
5321
  }
5328
5322
  async selectVariant(e, t, A, a, n) {
5329
5323
  const i = await this.selectVariantCommand(e, t, A, a, n);
@@ -5356,7 +5350,7 @@ class an {
5356
5350
  svg: r
5357
5351
  })
5358
5352
  };
5359
- }, g = e.data.regions.map(B), C = [...g.map((E) => E.command), ...i];
5353
+ }, l = e.data.regions.map(B), C = [...l.map((E) => E.command), ...i];
5360
5354
  let w = Array.from(Object.values(r.colors)).map((E) => E.browserValue);
5361
5355
  const h = e.data.colorOption;
5362
5356
  return h && ((u = h.variants) == null || u.forEach((E) => {
@@ -5370,7 +5364,7 @@ class an {
5370
5364
  await n.setSelectionsAndElements(
5371
5365
  e.stepName,
5372
5366
  [t],
5373
- g.map((Q) => Q.regionElement),
5367
+ l.map((Q) => Q.regionElement),
5374
5368
  async () => {
5375
5369
  n.setMandatoryFulfilled(e.stepName, !0), a(!1);
5376
5370
  }
@@ -5380,7 +5374,7 @@ class an {
5380
5374
  const Q = E[0], p = D[0];
5381
5375
  await this.changeColors(
5382
5376
  e,
5383
- g.map((m) => m.regionElement),
5377
+ l.map((m) => m.regionElement),
5384
5378
  n,
5385
5379
  () => n.getCommandContext().getAllLayouts(),
5386
5380
  /* @__PURE__ */ new Map([[p, Q.variant.color]])
@@ -5388,7 +5382,7 @@ class an {
5388
5382
  } else
5389
5383
  e.data.colorPickerEnabled && await this.changeColors(
5390
5384
  e,
5391
- g.map((Q) => Q.regionElement),
5385
+ l.map((Q) => Q.regionElement),
5392
5386
  n,
5393
5387
  () => n.getCommandContext().getAllLayouts(),
5394
5388
  /* @__PURE__ */ new Map()
@@ -5424,9 +5418,9 @@ class nn {
5424
5418
  if (a != null && a.selectedVariants) {
5425
5419
  const c = a.selectedVariants[0].id;
5426
5420
  if (c) {
5427
- const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
5421
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
5428
5422
  if (B) {
5429
- const g = B.material, d = s.map((C) => ({ id: C.id, region: C.stepRegion }));
5423
+ const l = B.material, d = s.map((C) => ({ id: C.id, region: C.stepRegion }));
5430
5424
  await t.setSelectionsAndElements(
5431
5425
  e.stepName,
5432
5426
  [B],
@@ -5437,7 +5431,7 @@ class nn {
5437
5431
  const w = e.data.targetMaterials.map((h) => C.applyMaterialVariant(
5438
5432
  h,
5439
5433
  o.id || "",
5440
- g || {}
5434
+ l || {}
5441
5435
  ));
5442
5436
  Promise.all(w).then(
5443
5437
  () => t.setMandatoryFulfilled(e.stepName, !0)
@@ -5500,13 +5494,13 @@ class sn {
5500
5494
  if (a != null && a.selectedVariants) {
5501
5495
  const c = a.selectedVariants[0].id;
5502
5496
  if (o && c) {
5503
- const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
5497
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
5504
5498
  if (B) {
5505
- const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
5499
+ const l = s.map((d) => ({ id: d.id, region: d.stepRegion }));
5506
5500
  await t.setSelectionsAndElements(
5507
5501
  e.stepName,
5508
5502
  [B],
5509
- g,
5503
+ l,
5510
5504
  async () => {
5511
5505
  var C;
5512
5506
  const d = t.getModelContainer();
@@ -5596,55 +5590,55 @@ class on {
5596
5590
  if (A.setMandatoryFulfilled(e.stepName, t !== ""), !e.data || !e.data.regions || e.data.regions.length <= 0)
5597
5591
  return console.error("Missing configuration."), null;
5598
5592
  A.updateStorage(e.stepName, { text: t }), A.updateMetadata(e.stepName, { text: t });
5599
- const r = (B, g, d) => {
5600
- const C = d || J(), h = A.getLayouts().find((E) => E.panelId === g.panelId);
5593
+ const r = (B, l, d) => {
5594
+ const C = d || J(), h = A.getLayouts().find((E) => E.panelId === l.panelId);
5601
5595
  if (!h)
5602
- return console.error(`Can not find layout for region: ${g.panelId}`), null;
5596
+ return console.error(`Can not find layout for region: ${l.panelId}`), null;
5603
5597
  const u = [];
5604
5598
  return d && u.push(new ne(C)), u.push(
5605
5599
  new L(
5606
5600
  {
5607
- stepRegion: g,
5601
+ stepRegion: l,
5608
5602
  stepName: e.stepName,
5609
5603
  colors: {},
5610
5604
  id: C,
5611
5605
  svg: B,
5612
5606
  type: G.Illustration,
5613
- y: g.top,
5614
- x: g.left,
5615
- rotation: g.rotation,
5616
- width: g.width,
5617
- height: g.height,
5618
- layer: g.layer,
5619
- layerIndex: g.layerIndex,
5620
- immutable: g.immutable
5607
+ y: l.top,
5608
+ x: l.left,
5609
+ rotation: l.rotation,
5610
+ width: l.width,
5611
+ height: l.height,
5612
+ layer: l.layer,
5613
+ layerIndex: l.layerIndex,
5614
+ immutable: l.immutable
5621
5615
  },
5622
5616
  h
5623
5617
  )
5624
5618
  ), {
5625
5619
  id: C,
5626
- region: g,
5620
+ region: l,
5627
5621
  command: new k(u)
5628
5622
  };
5629
5623
  };
5630
5624
  if (i.length > 0) {
5631
- const g = i.map((d) => {
5625
+ const l = i.map((d) => {
5632
5626
  if (!d.region)
5633
5627
  return null;
5634
5628
  const C = s.svgPrint(t, d.region);
5635
5629
  return r(C, d.region, d.id);
5636
5630
  }).filter((d) => !!d).filter((d) => !!d).map((d) => d && d.command);
5637
5631
  return {
5638
- command: new k(g),
5632
+ command: new k(l),
5639
5633
  followup: async () => {
5640
5634
  }
5641
5635
  };
5642
5636
  } else {
5643
5637
  const B = e.data.regions.map(
5644
5638
  (d) => r(s.svgPrint(t, d), d)
5645
- ), g = B.filter((d) => !!d).map((d) => d && d.command);
5639
+ ), l = B.filter((d) => !!d).map((d) => d && d.command);
5646
5640
  return {
5647
- command: new k(g),
5641
+ command: new k(l),
5648
5642
  followup: async () => {
5649
5643
  const d = B.filter((C) => C).map((C) => C && { id: C.id, region: C.region });
5650
5644
  await A.setSelectionsAndElements(
@@ -5696,13 +5690,13 @@ class rn {
5696
5690
  if (a != null && a.selectedVariants) {
5697
5691
  const c = a.selectedVariants[0].id;
5698
5692
  if (o && c) {
5699
- const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
5693
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
5700
5694
  if (B) {
5701
- const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
5695
+ const l = s.map((d) => ({ id: d.id, region: d.stepRegion }));
5702
5696
  await t.setSelectionsAndElements(
5703
5697
  e.stepName,
5704
5698
  [B],
5705
- g,
5699
+ l,
5706
5700
  async () => {
5707
5701
  t.setMandatoryFulfilled(e.stepName, !0);
5708
5702
  }
@@ -5826,7 +5820,7 @@ class cn {
5826
5820
  }
5827
5821
  }
5828
5822
  const QA = new cn();
5829
- class ln {
5823
+ class gn {
5830
5824
  constructor() {
5831
5825
  this.shapeFillId = "spiff-fill-shape";
5832
5826
  }
@@ -5883,13 +5877,13 @@ class ln {
5883
5877
  if (a != null && a.selectedVariants) {
5884
5878
  const c = a.selectedVariants[0].id;
5885
5879
  if (o && c) {
5886
- const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
5880
+ const B = (r = o.variants) == null ? void 0 : r.find((l) => l.id === c);
5887
5881
  if (B) {
5888
- const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
5882
+ const l = s.map((d) => ({ id: d.id, region: d.stepRegion }));
5889
5883
  await t.setSelectionsAndElements(
5890
5884
  e.stepName,
5891
5885
  [B],
5892
- g,
5886
+ l,
5893
5887
  async () => {
5894
5888
  var d;
5895
5889
  t.updateStorage(e.stepName, {
@@ -5913,9 +5907,9 @@ class ln {
5913
5907
  };
5914
5908
  if (A.length > 0) {
5915
5909
  const r = (B) => {
5916
- const g = B.region;
5917
- if (!n.find((w) => w.panelId === (g == null ? void 0 : g.panelId)))
5918
- throw new z(g);
5910
+ const l = B.region;
5911
+ if (!n.find((w) => w.panelId === (l == null ? void 0 : l.panelId)))
5912
+ throw new z(l);
5919
5913
  const C = s();
5920
5914
  return new at(B.id, this.shapeFillId, C);
5921
5915
  }, c = A.map(r).filter((B) => !!B);
@@ -5981,14 +5975,14 @@ class ln {
5981
5975
  C
5982
5976
  )
5983
5977
  };
5984
- }, c = e.data.regions.map(r), B = c.filter((d) => !!d).map((d) => d == null ? void 0 : d.command), g = c.filter((d) => !!d).map((d) => ({ id: d.id, region: d.region }));
5978
+ }, c = e.data.regions.map(r), B = c.filter((d) => !!d).map((d) => d == null ? void 0 : d.command), l = c.filter((d) => !!d).map((d) => ({ id: d.id, region: d.region }));
5985
5979
  return {
5986
5980
  command: new k(B),
5987
5981
  followup: async () => {
5988
5982
  await a.setSelectionsAndElements(
5989
5983
  e.stepName,
5990
5984
  t.variant ? [t.variant] : [],
5991
- g,
5985
+ l,
5992
5986
  async () => {
5993
5987
  a.updateStorage(e.stepName, { colour: s() });
5994
5988
  }
@@ -5998,8 +5992,8 @@ class ln {
5998
5992
  }
5999
5993
  }
6000
5994
  }
6001
- const Ee = new ln();
6002
- class gn {
5995
+ const Ee = new gn();
5996
+ class ln {
6003
5997
  constructor() {
6004
5998
  this.latestToast = null, this.toastType = null, this.toastCallbacks = [];
6005
5999
  }
@@ -6024,7 +6018,7 @@ class gn {
6024
6018
  );
6025
6019
  }
6026
6020
  }
6027
- const Bn = new gn(), Ze = 30;
6021
+ const Bn = new ln(), Ze = 30;
6028
6022
  class be extends Error {
6029
6023
  constructor(e) {
6030
6024
  super(e), Object.setPrototypeOf(this, new.target.prototype), this.name = be.name;
@@ -6093,11 +6087,11 @@ class Cn {
6093
6087
  color: ((s = await this.getDefaultColorVariant(e.data)) == null ? void 0 : s.name) || await this.getDefaultColor(e.data),
6094
6088
  fillImage: o == null ? void 0 : o.name
6095
6089
  });
6096
- const g = V.getDefaultVariant(a);
6097
- if (g)
6090
+ const l = V.getDefaultVariant(a);
6091
+ if (l)
6098
6092
  return this.selectVariantCommand(
6099
6093
  e,
6100
- g,
6094
+ l,
6101
6095
  {},
6102
6096
  [],
6103
6097
  t,
@@ -6221,19 +6215,19 @@ class Cn {
6221
6215
  for (const B of t) {
6222
6216
  if (!B.fontData)
6223
6217
  throw new b("Failed to resolve font data for text.");
6224
- const [g, d] = xe(
6218
+ const [l, d] = xe(
6225
6219
  B.fontSize,
6226
6220
  B.fontData,
6227
6221
  { left: B.x, top: B.y, width: B.width, height: B.height, rotation: B.rotation, panelId: "" },
6228
6222
  [i],
6229
6223
  { size: A.data.size, minSize: A.data.minSize, maxSize: A.data.maxSize }
6230
6224
  );
6231
- r.set(B.id, g), c.set(B.id, d);
6225
+ r.set(B.id, l), c.set(B.id, d);
6232
6226
  const C = A.data.curved ? i : (d || []).join(`
6233
6227
  `);
6234
- o.push(this.generateTextChangeCommandsForRegion(g, A.data, B.id, C));
6228
+ o.push(this.generateTextChangeCommandsForRegion(l, A.data, B.id, C));
6235
6229
  }
6236
- return !A.data.curved && t.length > 0 && !Array.from(c.values()).every((g) => g) ? (s.errorData || (s.errorData = {}), s.errorData.doesNotFit = !0, s) : (a.updateStorage(A.stepName, { text: e }), a.updateMetadata(A.stepName, {
6230
+ return !A.data.curved && t.length > 0 && !Array.from(c.values()).every((l) => l) ? (s.errorData || (s.errorData = {}), s.errorData.doesNotFit = !0, s) : (a.updateStorage(A.stepName, { text: e }), a.updateMetadata(A.stepName, {
6237
6231
  text: i
6238
6232
  }), (n.defaultCleared || !A.data.deleteDefaultOnFocus) && a.setMandatoryFulfilled(A.stepName, !0), s.command = new k(o), s);
6239
6233
  }
@@ -6266,11 +6260,11 @@ class Cn {
6266
6260
  const a = t.getSerializedStep(
6267
6261
  e.stepName,
6268
6262
  A.serializableWorkflow.steps
6269
- ), s = Object.values(A.layouts).map((g) => g.elements).flat().filter((g) => g.stepName === e.stepName), o = e.option;
6263
+ ), s = Object.values(A.layouts).map((l) => l.elements).flat().filter((l) => l.stepName === e.stepName), o = e.option;
6270
6264
  if (a != null && a.selectedVariants) {
6271
- const g = a.selectedVariants[0].id;
6272
- if (o && g) {
6273
- const d = (r = o.variants) == null ? void 0 : r.find((C) => C.id === g);
6265
+ const l = a.selectedVariants[0].id;
6266
+ if (o && l) {
6267
+ const d = (r = o.variants) == null ? void 0 : r.find((C) => C.id === l);
6274
6268
  if (d) {
6275
6269
  const C = await this.fontDataFromVariant(d), w = s.map((D) => ({ id: D.id, region: D.stepRegion })), h = (c = a.storage) == null ? void 0 : c.color, u = (B = a.storage) == null ? void 0 : B.text;
6276
6270
  await t.setSelectionsAndElements(
@@ -6328,10 +6322,10 @@ class Cn {
6328
6322
  var B;
6329
6323
  const r = n.markUpdatePending(), c = await this.fontDataFromVariant(t);
6330
6324
  if (a.length > 0) {
6331
- const g = a.map((w) => new St(w.id, c));
6325
+ const l = a.map((w) => new St(w.id, c));
6332
6326
  if (o) {
6333
6327
  const w = a.map((h) => new Xe(h.id, o));
6334
- g.push(...w);
6328
+ l.push(...w);
6335
6329
  }
6336
6330
  const d = await this.changeInputTextWithRegion(
6337
6331
  e,
@@ -6344,14 +6338,14 @@ class Cn {
6344
6338
  i,
6345
6339
  s
6346
6340
  );
6347
- return d && g.push(d), {
6348
- command: new k(g),
6341
+ return d && l.push(d), {
6342
+ command: new k(l),
6349
6343
  followup: async () => {
6350
6344
  n.markUpdateCompleted(r), await n.setSelectionsAndElements(e.stepName, [t], a);
6351
6345
  }
6352
6346
  };
6353
6347
  } else {
6354
- const g = await this.createTextboxRegions(
6348
+ const l = await this.createTextboxRegions(
6355
6349
  e.stepName,
6356
6350
  t,
6357
6351
  e.data,
@@ -6362,15 +6356,15 @@ class Cn {
6362
6356
  e,
6363
6357
  e.data.size || Ze,
6364
6358
  c,
6365
- ((B = g[0]) == null ? void 0 : B.newElement.input) || A.text || e.data.defaultText || "",
6359
+ ((B = l[0]) == null ? void 0 : B.newElement.input) || A.text || e.data.defaultText || "",
6366
6360
  A,
6367
6361
  n,
6368
6362
  !!A.customiseAllText,
6369
6363
  i,
6370
6364
  s
6371
- ), C = g.flatMap((h) => h.commands);
6365
+ ), C = l.flatMap((h) => h.commands);
6372
6366
  if (o) {
6373
- const h = g.map(
6367
+ const h = l.map(
6374
6368
  (u) => new Xe(u.regionElement.id, o)
6375
6369
  );
6376
6370
  C.push(...h);
@@ -6496,30 +6490,30 @@ class Cn {
6496
6490
  * @deprecated
6497
6491
  */
6498
6492
  async changeInputTextWithRegion(e, t, A, a, n, i, s, o, r, c) {
6499
- const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), g = this.getProcessedInput(B, e.data, s), d = i.getRegionElements(e.stepName), C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map();
6493
+ const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), l = this.getProcessedInput(B, e.data, s), d = i.getRegionElements(e.stepName), C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map();
6500
6494
  for (const Q of d)
6501
6495
  if (Q.region) {
6502
6496
  const [p, m] = xe(
6503
6497
  t,
6504
6498
  A,
6505
6499
  Q.region,
6506
- [g],
6500
+ [l],
6507
6501
  { size: e.data.size, minSize: e.data.minSize, maxSize: e.data.maxSize }
6508
6502
  );
6509
6503
  C.set(Q.id, p), w.set(Q.id, m);
6510
6504
  }
6511
6505
  const u = (() => {
6512
- if (e.data && e.data.maxLength && g.length > e.data.maxLength)
6506
+ if (e.data && e.data.maxLength && l.length > e.data.maxLength)
6513
6507
  return c && c(!0), { info: "0" };
6514
- const Q = i.getProfanities(), p = st(g.toLowerCase());
6508
+ const Q = i.getProfanities(), p = st(l.toLowerCase());
6515
6509
  for (const m of p)
6516
6510
  for (const I in Q) {
6517
6511
  const F = Q[I].toLowerCase().replace(/\s/g, "");
6518
6512
  if (m === F)
6519
6513
  return o(!0), { error: "Blocked profanity." };
6520
6514
  }
6521
- return !e.data.vertical && !e.data.allowNewlines && (g.includes(`
6522
- `) || g.includes("\r")) ? (o(!0), { error: "Cannot span multiple lines." }) : !e.data.curved && !Array.from(w.values()).every((I) => I) ? (o(!0), { error: "Does not fit." }) : (o(!1), { info: (e.data.maxLength - g.length).toString() });
6515
+ return !e.data.vertical && !e.data.allowNewlines && (l.includes(`
6516
+ `) || l.includes("\r")) ? (o(!0), { error: "Cannot span multiple lines." }) : !e.data.curved && !Array.from(w.values()).every((I) => I) ? (o(!0), { error: "Does not fit." }) : (o(!1), { info: (e.data.maxLength - l.length).toString() });
6523
6517
  })();
6524
6518
  if (u.error) {
6525
6519
  r(u.error);
@@ -6532,7 +6526,7 @@ class Cn {
6532
6526
  }), (n.defaultCleared || !e.data.deleteDefaultOnFocus) && i.setMandatoryFulfilled(e.stepName, !0);
6533
6527
  const E = [];
6534
6528
  for (const Q of d) {
6535
- const p = e.data.curved ? g : (w.get(Q.id) || []).join(`
6529
+ const p = e.data.curved ? l : (w.get(Q.id) || []).join(`
6536
6530
  `);
6537
6531
  E.push(
6538
6532
  this.generateTextChangeCommandsForRegion(
@@ -7810,42 +7804,42 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
7810
7804
  </g>
7811
7805
  </svg>
7812
7806
 
7813
- `, v = (l) => ZA("http://www.w3.org/2000/svg", l), Qt = (l, e) => {
7807
+ `, v = (g) => ZA("http://www.w3.org/2000/svg", g), Qt = (g, e) => {
7814
7808
  const t = v("rect");
7815
- return t.setAttribute("height", `${l}`), t.setAttribute("width", `${e}`), t;
7809
+ return t.setAttribute("height", `${g}`), t.setAttribute("width", `${e}`), t;
7816
7810
  }, En = () => {
7817
- const l = v("svg");
7818
- return l.setAttribute("xmlns", "http://www.w3.org/2000/svg"), l.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), l.setAttribute("version", "1.1"), l;
7819
- }, un = (l) => {
7811
+ const g = v("svg");
7812
+ return g.setAttribute("xmlns", "http://www.w3.org/2000/svg"), g.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), g.setAttribute("version", "1.1"), g;
7813
+ }, un = (g) => {
7820
7814
  const e = v("use");
7821
- return e.setAttribute("xlink:href", l), e.setAttribute("href", l), e;
7815
+ return e.setAttribute("xlink:href", g), e.setAttribute("href", g), e;
7822
7816
  };
7823
- function pA(l) {
7824
- const e = En(), t = /viewBox="0 0 (.+?) (.+?)"/.exec(l) || ["0", "0"], A = parseFloat(t[1]), a = parseFloat(t[2]);
7817
+ function pA(g) {
7818
+ const e = En(), t = /viewBox="0 0 (.+?) (.+?)"/.exec(g) || ["0", "0"], A = parseFloat(t[1]), a = parseFloat(t[2]);
7825
7819
  return e.setAttribute("height", `${a}`), e.setAttribute("width", `${A}`), [e, a, A];
7826
7820
  }
7827
- const mn = (l, e, t) => {
7821
+ const mn = (g, e, t) => {
7828
7822
  const A = v("g");
7829
- l.appendChild(A), A.setAttribute("id", t), A.innerHTML = e;
7823
+ g.appendChild(A), A.setAttribute("id", t), A.innerHTML = e;
7830
7824
  };
7831
- function DA(l, e, t) {
7825
+ function DA(g, e, t) {
7832
7826
  const A = J();
7833
- mn(e, t, `bgdef-${A}`), l.appendChild(un(`#bgdef-${A}`));
7827
+ mn(e, t, `bgdef-${A}`), g.appendChild(un(`#bgdef-${A}`));
7834
7828
  }
7835
- const IA = (l, e, t, A) => {
7829
+ const IA = (g, e, t, A) => {
7836
7830
  const a = Ie("filter");
7837
7831
  a.setAttribute("id", A), a.setAttribute("height", "200%"), a.setAttribute("width", "200%"), a.setAttribute("x", "-50%"), a.setAttribute("y", "-50%");
7838
7832
  const n = Ie("feOffset");
7839
- a.appendChild(n), n.setAttribute("result", "offOut"), n.setAttribute("in", "SourceAlpha"), n.setAttribute("dx", `${l}`), n.setAttribute("dy", `${e}`);
7833
+ a.appendChild(n), n.setAttribute("result", "offOut"), n.setAttribute("in", "SourceAlpha"), n.setAttribute("dx", `${g}`), n.setAttribute("dy", `${e}`);
7840
7834
  const i = Ie("feGaussianBlur");
7841
7835
  a.appendChild(i), i.setAttribute("result", "blurOut"), i.setAttribute("in", "offOut"), i.setAttribute("stdDeviation", `${t}`);
7842
7836
  const s = Ie("feBlend");
7843
7837
  return a.appendChild(s), s.setAttribute("in", "SourceGraphic"), s.setAttribute("in2", "blurOut"), s.setAttribute("mode", "normal"), a;
7844
- }, fA = (l) => {
7845
- let e = l;
7838
+ }, fA = (g) => {
7839
+ let e = g;
7846
7840
  return e = e.replace(/feoffset/gi, "feOffset"), e = e.replace(/fegaussianblur/gi, "feGaussianBlur"), e = e.replace(/feblend/gi, "feBlend"), e = e.replace(/lineargradient/gi, "linearGradient"), e = e.replace(/stddeviation/gi, "stdDeviation"), e;
7847
7841
  };
7848
- function pt(l, e, t, A, a, n) {
7842
+ function pt(g, e, t, A, a, n) {
7849
7843
  const i = a || 1, s = n || 1, o = {
7850
7844
  x: e[0],
7851
7845
  y: e[1],
@@ -7855,10 +7849,10 @@ function pt(l, e, t, A, a, n) {
7855
7849
  if (o.width <= 0)
7856
7850
  return;
7857
7851
  const r = Qn(o.height, o.width, t * i, A * s), c = (A - r * o.width) / 2 - r * o.x, B = (t - r * o.height) / 2 - r * o.y;
7858
- l.setAttribute("transform", `translate(${c} ${B}) scale(${r} ${r})`);
7852
+ g.setAttribute("transform", `translate(${c} ${B}) scale(${r} ${r})`);
7859
7853
  }
7860
- function Qn(l, e, t, A) {
7861
- const a = t / l, n = A / e;
7854
+ function Qn(g, e, t, A) {
7855
+ const a = t / g, n = A / e;
7862
7856
  return a > 1 && n > 1 ? Math.min(a, n) : a > 1 && n < 1 ? n : a < 1 && n > 1 ? a : Math.min(a, n);
7863
7857
  }
7864
7858
  const Gt = {
@@ -7895,18 +7889,18 @@ class Dt {
7895
7889
  o && (i.push(s), t = s);
7896
7890
  for (const c of r) {
7897
7891
  const B = n[c];
7898
- let g;
7892
+ let l;
7899
7893
  switch (typeof B) {
7900
7894
  case "boolean":
7901
- g = B | 0;
7895
+ l = B | 0;
7902
7896
  break;
7903
7897
  case "number":
7904
- g = (B * 100 | 0) / 100;
7898
+ l = (B * 100 | 0) / 100;
7905
7899
  break;
7906
7900
  default:
7907
7901
  throw new he("Failed to encode path.");
7908
7902
  }
7909
- o || i.push(" "), i.push(g), o = !1;
7903
+ o || i.push(" "), i.push(l), o = !1;
7910
7904
  }
7911
7905
  return i.join("");
7912
7906
  };
@@ -7928,8 +7922,8 @@ class Dt {
7928
7922
  );
7929
7923
  for (let c = 0; c < s.length / r.length; c++) {
7930
7924
  const B = { type: i, relative: o };
7931
- for (let g = 0; g < r.length; g++)
7932
- B[r[g]] = s[c * r.length + g];
7925
+ for (let l = 0; l < r.length; l++)
7926
+ B[r[l]] = s[c * r.length + l];
7933
7927
  a.push(B);
7934
7928
  }
7935
7929
  } else
@@ -8002,16 +7996,16 @@ class pn extends mt {
8002
7996
  return "";
8003
7997
  const B = v("defs");
8004
7998
  o.appendChild(B), DA(o, B, t);
8005
- const g = r * 0.23, d = c * 0.94, C = c * 0.04, w = r * 0.53, h = v("g");
7999
+ const l = r * 0.23, d = c * 0.94, C = c * 0.04, w = r * 0.53, h = v("g");
8006
8000
  o.appendChild(h), h.setAttribute("transform", `translate(${C} ${w}) rotate(-21)`);
8007
- const u = Qt(g, d);
8001
+ const u = Qt(l, d);
8008
8002
  u.setAttribute("opacity", "0"), h.appendChild(u);
8009
8003
  const E = v("g");
8010
8004
  h.appendChild(E);
8011
8005
  const D = s();
8012
8006
  E.appendChild(D);
8013
8007
  const Q = wt(i);
8014
- return pt(E, Q, g, d), fA(o.outerHTML);
8008
+ return pt(E, Q, l, d), fA(o.outerHTML);
8015
8009
  }
8016
8010
  }
8017
8011
  const Dn = "data:application/octet-stream;base64,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ZWxmIE1ha2VyIDIuMy41AABNAGEAbAB0AGUAcwBlAHIAcwBSAGUAZwB1AGwAYQByAABNYWx0ZXNlcnNSZWd1bGFyAABNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAAABAAIBAgEDAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQCsAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAljb250cm9sTEYJY29udHJvbENSB0FwLmxpZ2EHQWoubGlnYQdFdC5saWdhB0VmLmxpZ2EHRWoubGlnYQdFay5saWdhB0VsLmxpZ2EHRWIubGlnYQdGdC5saWdhB0ZoLmxpZ2EHRmsubGlnYQdGbC5saWdhB0ZiLmxpZ2EHSHQubGlnYQdIZi5saWdhB0l0LmxpZ2EHSXAubGlnYQdJZi5saWdhB0lqLmxpZ2EHSWwubGlnYQdJYi5saWdhB0p0LmxpZ2EHSmYubGlnYQdKaC5saWdhB0prLmxpZ2EHSmwubGlnYQdKYi5saWdhB0t0LmxpZ2EHS3AubGlnYQdLeS5saWdhB0xqLmxpZ2EHTWoubGlnYQdNaC5saWdhB01mLmxpZ2EHTnQubGlnYQdOZi5saWdhB09mLmxpZ2EHT3oubGlnYQdQcS5saWdhB1B3LmxpZ2EHUHIubGlnYQdQdC5saWdhB1B5LmxpZ2EHUHUubGlnYQdQaS5saWdhB1BmLmxpZ2EHUGgubGlnYQdQai5saWdhB1BrLmxpZ2EHUGwubGlnYQdQei5saWdhB1B4LmxpZ2EHUHYubGlnYQdQYi5saWdhB1BuLmxpZ2EHUG0ubGlnYQdScC5saWdhB1JmLmxpZ2EHUmoubGlnYQdUdC5saWdhB1RmLmxpZ2EHVGgubGlnYQdUay5saWdhB1RsLmxpZ2EHVGIubGlnYQdVdC5saWdhB1VzLmxpZ2EHVWYubGlnYQdWdC5saWdhB1ZzLmxpZ2EHVmYubGlnYQdWbC5saWdhB1d0LmxpZ2EHV2YubGlnYQdYcC5saWdhB1l0LmxpZ2EHWWkubGlnYQdZZi5saWdhB1loLmxpZ2EHWWwubGlnYQdZay5saWdhB1liLmxpZ2EHQWYubGlnYQdDeS5saWdhB0VoLmxpZ2EHR3IubGlnYQdPcC5saWdhB2J0LmxpZ2EHYnIubGlnYQdiZi5saWdhB2JqLmxpZ2EHYnoubGlnYQdkdC5saWdhB2VmLmxpZ2EHZnQubGlnYQdmaC5saWdhB2ZiLmxpZ2EHZmsubGlnYQdnai5saWdhB2pqLmxpZ2EHeWoubGlnYQd0dC5saWdhB3RmLmxpZ2EHdGgubGlnYQd0aS5saWdhB3RrLmxpZ2EHdGwubGlnYQh0dGgubGlnYQhlZmYubGlnYQhlZmIubGlnYQdmZi5saWdhB2ZpLmxpZ2EHZmwubGlnYQAAAAAAAAH//wACAAEAAAAMAAAAHAAAAAIAAgADADoAAQA7AKsAAgAEAAAAAgAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQQIAB0AQABaAGQAngDIANIA5AEWAUgBYgFsAYYBmAGyAkQCXgKQAqoCzALeAugDIgNMA1YDdAOuA7gDwgP+AAMACAAOABQAjQACACUAPAACACkAOwACAC8AAQAEAI4AAgA4AAcAEAAWABwAIgAoAC4ANACPAAIAJwBCAAIAIQBBAAIAKwBAAAIAKgA/AAIAKQA+AAIAJQA9AAIAMwAFAAwAEgAYAB4AJABHAAIAIQBGAAIAKwBFAAIAKgBEAAIAJwBDAAIAMwABAAQAkAACADEAAgAGAAwASQACACUASAACADMABgAOABQAGgAgACYALABPAAIAIQBOAAIAKwBNAAIAKQBMAAIAJQBLAAIALwBKAAIAMwAGAA4AFAAaACAAJgAsAFUAAgAhAFQAAgArAFMAAgAqAFIAAgAnAFEAAgAlAFAAAgAzAAMACAAOABQAWAACADgAVwACAC8AVgACADMAAQAEAFkAAgApAAMACAAOABQAXAACACUAWwACACcAWgACACkAAgAGAAwAXgACACUAXQACADMAAwAIAA4AFACRAAIALwBgAAIAOQBfAAIAJQASACYALAAyADgAPgBEAEoAUABWAFwAYgBoAG4AdAB6AIAAhgCMAHIAAgAsAHEAAgAtAHAAAgAhAG8AAgA1AG4AAgA3AG0AAgA5AGwAAgArAGsAAgAqAGoAAgApAGkAAgAnAGgAAgAlAGcAAgAoAGYAAgA0AGUAAgA4AGQAAgAzAGMAAgAxAGIAAgA2AGEAAgAwAAMACAAOABQAdQACACkAdAACACUAcwACAC8ABgAOABQAGgAgACYALAB7AAIAIQB6AAIAKwB5AAIAKgB4AAIAJwB3AAIAJQB2AAIAMwADAAgADgAUAH4AAgAlAH0AAgAyAHwAAgAzAAQACgAQABYAHACCAAIAKwCBAAIAJQCAAAIAMgB/AAIAMwACAAYADACEAAIAJQCDAAIAMwABAAQAhQACAC8ABwAQABYAHAAiACgALgA0AIwAAgAhAIsAAgAqAIoAAgArAIkAAgAnAIgAAgAlAIcAAgAoAIYAAgAzAAUADAASABgAHgAkAJYAAgA5AJUAAgApAJQAAgAlAJMAAgAxAJIAAgAzAAEABACXAAIAMwADAAgAEAAYAKgAAwAlACEApwADACUAJQCYAAIAJQAHABAAFgAcACIAKAAuADQAqwACACsAqgACACgAqQACACUAnAACACoAmwACACEAmgACACcAmQACADMAAQAEAJ0AAgApAAEABACeAAIAKQAHABAAGAAeACQAKgAwADYApgADADMAJwClAAIAKwCkAAIAKgCjAAIAKACiAAIAJwChAAIAJQCgAAIAMwABAAQAnwACACkAAQAdAAYACAAKAAsADAANAA4ADwAQABEAEgATABQAFQAXABkAGgAbABwAHQAeACEAIwAkACUAJgApADMAOAAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAABAAgAAQPGAAQAAABEAJIAnADSAOABIgEoATYBPAFKAVABXgFkAW4BfAGKAawBsgHAAcYB1AHiAewB/gIIAhYCSAJiAnAChgKcAqoCvALKAtAC6gL0AvoDAAMKAxADGgMgAyYDLAMyAzgDOAMyAz4DRANOAz4DVANaA2ADIANmA2wDcgN4A34DiAOOA5gDngOkA7IDvAACAC7//AA3//IADQAl/+oAKP/8ACn/9AAq//AAK//6ACz//gAt//4AMf/qADP//AA0//wANf/+ADb/+AA5//QAAwAt//wALv/8ADb//AAQACT//AAl/+wAJv/6ACf//AAp/+wAKv/0ACv/+gAs//gALf/8AC//7gAx//gAMv/0ADT/9gA3/+oAOP/6ADn/5AABADf/+gADADX//AA3/+gAOf/6AAEALv/2AAMAKP/8ACn/6AAy/+QAAQAu//IAAwAo/+4AL//2ADX/5gABACT/8AACABgAAgAoAAQAAwAo//4ALv/wADL/+AADACf/9gAv/+4Ao//sAAgAKf/qACv/9AAu//wAL//uADH/7gAy//IAN//mAJX/9AABADYADgADACAABAAjAAQAM//4AAEAMv/8AAMAJv/+ACr/+AA3//4AAwAo//gALv/0AJn/7AACACMAAgAl/+wABAAk//wAL//8ADT/9AA4//4AAgAt//IAq//iAAMAJf/sACb/+AA3//wADAAk//wAJv/+ACj/+gAp/+AAK//+ACz/9gAt//wAL//qADH/7AAy//IAN//cAKP/4gAGACQAAgAl/9oAK//yAC//4gAx/+gAMv/8AAMAKQB+ADL/7ACeAIgABQAg//wAIv/4ACb//AAu//YANQAEAAUAKf/0ACr/+AAv//QAM//mAKP/3gADACEAHAAkAAIALv/4AAQAJf/0AC3//gAv//wAmf/8AAMAJP/wACf/+AAp/+4AAQAk//oABgAg//QAIf/wACj/9gAu/+wAL//0ADP/9AACACH//gA3//IAAQApAEIAAQAnACgAAgAzADQAqgAoAAEAMwA0AAIAMwAyAKEARgABADL/6gABADMALAABACkANAABAJoAGAABADMAMgABACkAOAABADMAMAACACUAEgAzAC4AAQApAHgAAQApADYAAQAzAC4AAQAzADgAAQAzAEIAAQAzAEwAAQAz//IAAQAnAEgAAgAl/+4Amv/oAAEAKQBiAAIAKQBaAJ4AUAABACkAVgABAKEARAADADMANgCaABIAogBKAAIAJwAsAKEARgACAC3/8gA3/+oAAQBEAAYABwAIAAkACgAMABEAFAAVABgAHQAgACEAIgAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOQA8AD0APgBIAEkASwBMAE0AUABRAFkAWgBcAF4AXwBhAGgAagB+AIEAhACIAI0AkQCYAJoAnQCeAJ8AoAChAKkAqgAAAAAAAQAAAADUGBYRAAAAANfpcqUAAAAA1+lypQ==";
@@ -8042,13 +8036,13 @@ class In extends mt {
8042
8036
  S,
8043
8037
  T + (s / 3 - S) ** 2 / s * this.indicator(S < s / 3)
8044
8038
  ]), N.transform(([S, T]) => [S - (i - T) * (s - S) / 800, T]), I;
8045
- }, [c, B, g] = pA(t);
8039
+ }, [c, B, l] = pA(t);
8046
8040
  if (!c)
8047
8041
  return "";
8048
8042
  const d = v("defs");
8049
8043
  c.appendChild(d), DA(c, d, t);
8050
8044
  let C, w, h, u;
8051
- A ? (C = B * 0.25 * (1 + 0.1), w = g / 2 * (1 + 0.1), h = g * 0.22, u = B * 0.32) : (C = B * 0.22 * (1 + 0.1), w = g * 0.8, h = g * 0.067, u = B * 0.33);
8045
+ A ? (C = B * 0.25 * (1 + 0.1), w = l / 2 * (1 + 0.1), h = l * 0.22, u = B * 0.32) : (C = B * 0.22 * (1 + 0.1), w = l * 0.8, h = l * 0.067, u = B * 0.33);
8052
8046
  const E = v("g");
8053
8047
  c.appendChild(E), E.setAttribute("transform", `translate(${h} ${u}) rotate(-10)`);
8054
8048
  const D = Qt(C, w);
@@ -8089,34 +8083,34 @@ class Fn extends mt {
8089
8083
  F.classList.add("module-layer2"), D.appendChild(F), F.setAttribute("fill", "rgb(255,209,0)"), F.setAttribute("transform", "translate(1,-0.1)"), F.innerHTML = s;
8090
8084
  const y = v("g");
8091
8085
  return y.classList.add("module-layer3"), D.appendChild(y), y.setAttribute("fill", "white"), y.innerHTML = s, new Dt(D).transform(([N, S]) => [N, S + (r / 2 - N) ** 2 / (r * 6)]), D;
8092
- }, g = v("g");
8093
- g.classList.add("module-root");
8086
+ }, l = v("g");
8087
+ l.classList.add("module-root");
8094
8088
  const d = v("defs");
8095
- g.appendChild(d);
8089
+ l.appendChild(d);
8096
8090
  const C = v("g");
8097
- C.classList.add("module-bounds"), g.appendChild(C);
8091
+ C.classList.add("module-bounds"), l.appendChild(C);
8098
8092
  const w = Qt(t.height, t.width);
8099
8093
  w.setAttribute("opacity", "0"), C.appendChild(w);
8100
8094
  const h = v("g");
8101
- h.classList.add("module-text-enclosure"), g.appendChild(h);
8095
+ h.classList.add("module-text-enclosure"), l.appendChild(h);
8102
8096
  const u = B();
8103
8097
  h.appendChild(u);
8104
8098
  const E = wt(c);
8105
- return pt(h, E, t.height, t.width, 0.35, 0.65), fA(g.outerHTML);
8099
+ return pt(h, E, t.height, t.width, 0.35, 0.65), fA(l.outerHTML);
8106
8100
  }
8107
8101
  }
8108
- async function FA(l) {
8109
- if (l === "Favourites")
8102
+ async function FA(g) {
8103
+ if (g === "Favourites")
8110
8104
  return new pn();
8111
- if (l === "Maltesers") {
8105
+ if (g === "Maltesers") {
8112
8106
  const e = _("https://assets.spiff.com.au/public/modules/img/MaltesersBackground.svg"), t = _("https://assets.spiff.com.au/public/modules/img/MaltesersBackgroundShort.svg"), A = await Promise.all([e, t]);
8113
8107
  return new In(A[0], A[1]);
8114
8108
  }
8115
- if (l === "Vegemite")
8109
+ if (g === "Vegemite")
8116
8110
  return new Fn();
8117
- throw new b(`Failed to resolve Module, Module ${l} not found`);
8111
+ throw new b(`Failed to resolve Module, Module ${g} not found`);
8118
8112
  }
8119
- var Ve = /* @__PURE__ */ ((l) => (l.Error = "Error", l.Warning = "Warning", l.Info = "Info", l))(Ve || {});
8113
+ var Ve = /* @__PURE__ */ ((g) => (g.Error = "Error", g.Warning = "Warning", g.Info = "Info", g))(Ve || {});
8120
8114
  const yn = 1e3;
8121
8115
  class bt extends BA {
8122
8116
  constructor(e) {
@@ -8131,7 +8125,7 @@ class bt extends BA {
8131
8125
  }
8132
8126
  }
8133
8127
  class Mn {
8134
- constructor(e, t, A, a, n, i, s, o, r, c, B, g, d, C = !1, w, h = !1, u = !1, E = !1) {
8128
+ constructor(e, t, A, a, n, i, s, o, r, c, B, l, d, C = !1, w, h = !1, u = !1, E = !1) {
8135
8129
  this.workflowStatePromiseQueue = new dA(1), this.initialized = !1, this.readOnly = !1, this.isReloadedTransaction = !1, this.singleVariantsRenderable = !1, this.stepTags = {}, this.renderLayouts = () => {
8136
8130
  var p;
8137
8131
  if (!this.previewService)
@@ -8140,7 +8134,7 @@ class Mn {
8140
8134
  if (Q)
8141
8135
  for (const [, m] of Q)
8142
8136
  m.render(D);
8143
- }, this.experience = e, this.client = t, this.updateTransaction = s, this.commandContext = i, this.reloadedState = d, this.transaction = o, this.readOnly = C, this.singleVariantsRenderable = u, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = A, this.stepSpecificServices = {}, this.profanityFilter = a, this.pollers = [], this.allScenes = [], this.layouts = n, this.product = r, this.previewService = B, this.modelContainer = w, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.validationErrors = { steps: /* @__PURE__ */ new Map() }, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.validationCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = g, this.isReloadedTransaction = h, this.stepTags = c, E && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(A), this.initializationPromise.then(() => {
8137
+ }, this.experience = e, this.client = t, this.updateTransaction = s, this.commandContext = i, this.reloadedState = d, this.transaction = o, this.readOnly = C, this.singleVariantsRenderable = u, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = A, this.stepSpecificServices = {}, this.profanityFilter = a, this.pollers = [], this.allScenes = [], this.layouts = n, this.product = r, this.previewService = B, this.modelContainer = w, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.validationErrors = { steps: /* @__PURE__ */ new Map() }, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.validationCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = l, this.isReloadedTransaction = h, this.stepTags = c, E && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(A), this.initializationPromise.then(() => {
8144
8138
  this.initialized = !0;
8145
8139
  }), this.initializationPromise.catch((D) => {
8146
8140
  throw console.error(D), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
@@ -8377,8 +8371,8 @@ class Mn {
8377
8371
  throw new b(
8378
8372
  "We should always have a model container when injecting a preview!"
8379
8373
  );
8380
- const g = (B = o.asset) == null ? void 0 : B.fileLink;
8381
- if (!g) {
8374
+ const l = (B = o.asset) == null ? void 0 : B.fileLink;
8375
+ if (!l) {
8382
8376
  console.error(`Failed to read model url from variant: ${o.id} for step: ${i.stepName}`);
8383
8377
  return;
8384
8378
  }
@@ -8386,14 +8380,14 @@ class Mn {
8386
8380
  this.modelContainer.applyModelVariant(
8387
8381
  i.stepName,
8388
8382
  {
8389
- model: g,
8383
+ model: l,
8390
8384
  contextService: this.getLayoutPreviewService()
8391
8385
  },
8392
8386
  d.replaceProductModel || !1
8393
8387
  );
8394
8388
  } else {
8395
- const g = o.material;
8396
- if (!g) {
8389
+ const l = o.material;
8390
+ if (!l) {
8397
8391
  console.error(`Failed to read material from variant: ${o.id} for step: ${i.stepName}`);
8398
8392
  return;
8399
8393
  }
@@ -8402,7 +8396,7 @@ class Mn {
8402
8396
  throw new b(
8403
8397
  "We should always have a model container when injecting a preview!"
8404
8398
  );
8405
- this.modelContainer.applyMaterialVariant(C, i.option.id, g);
8399
+ this.modelContainer.applyMaterialVariant(C, i.option.id, l);
8406
8400
  });
8407
8401
  }
8408
8402
  }), await A.getInitializationPromise(), this.renderLayouts();
@@ -8474,7 +8468,7 @@ class Mn {
8474
8468
  const e = this.getCommandContext().getState();
8475
8469
  if (!e)
8476
8470
  throw new b("Attempted to serialize state before it was initialized.");
8477
- return { transaction: JSON.stringify(this.dehydrateState(le(e.transaction))) };
8471
+ return { transaction: JSON.stringify(this.dehydrateState(ge(e.transaction))) };
8478
8472
  }
8479
8473
  dehydrateState(e) {
8480
8474
  var t;
@@ -8515,15 +8509,15 @@ class Mn {
8515
8509
  return Promise.resolve({ stepElements: {}, commands: [] });
8516
8510
  const a = async (r, c, B) => {
8517
8511
  if (r.type === M.SilentIllustration) {
8518
- const g = await new kt(r, c).trigger();
8519
- return { step: r, results: g };
8512
+ const l = await new kt(r, c).trigger();
8513
+ return { step: r, results: l };
8520
8514
  } else if (r.type === M.ProductOverlay) {
8521
- const g = await new kt(
8515
+ const l = await new kt(
8522
8516
  r,
8523
8517
  c,
8524
8518
  B
8525
8519
  ).trigger();
8526
- return { step: r, results: g };
8520
+ return { step: r, results: l };
8527
8521
  }
8528
8522
  return Promise.reject("Unknown silent step. This is a bug");
8529
8523
  }, n = e.filter(
@@ -8595,18 +8589,18 @@ class Mn {
8595
8589
  r.forEach((m) => {
8596
8590
  ae(m, this.stepSelections) || (this.stepInitialised[m.stepName] = !1);
8597
8591
  });
8598
- const g = this.getInvalidCanvasRegions(), { stepElements: d, commands: C } = await this.stepElementsForIntroducedSilentSteps(B, !1);
8592
+ const l = this.getInvalidCanvasRegions(), { stepElements: d, commands: C } = await this.stepElementsForIntroducedSilentSteps(B, !1);
8599
8593
  this.stepElements = {
8600
8594
  ...this.stepElements,
8601
8595
  ...d,
8602
8596
  [e]: A
8603
- }, this.removeElements(g);
8597
+ }, this.removeElements(l);
8604
8598
  const w = this.workflow.steps.find((m) => m.stepName === e);
8605
8599
  if ((w == null ? void 0 : w.type) === M.Frame) {
8606
8600
  const m = this.getStepSpecificServices(e);
8607
8601
  (p = m == null ? void 0 : m.frameService) == null || p.setTargetElements(A.map((I) => I.id));
8608
8602
  }
8609
- const h = g.map((m) => new ne(m.id)), u = new Yt(this.constructSerializableWorkflow()), E = [...C, ...h, u];
8603
+ const h = l.map((m) => new ne(m.id)), u = new Yt(this.constructSerializableWorkflow()), E = [...C, ...h, u];
8610
8604
  E.length > 0 && this.commandContext.apply(new k(E), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
8611
8605
  const D = this.getInvalidModelVariants(), Q = this.modelContainer;
8612
8606
  if (Q) {
@@ -9492,11 +9486,11 @@ const MA = f`
9492
9486
  }
9493
9487
  }
9494
9488
  `;
9495
- function Te(l) {
9496
- const e = JSON.parse(atob(l.split(".")[1])).exp;
9489
+ function Te(g) {
9490
+ const e = JSON.parse(atob(g.split(".")[1])).exp;
9497
9491
  return Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3) >= e;
9498
9492
  }
9499
- const Jn = async (l) => {
9493
+ const Jn = async (g) => {
9500
9494
  var i, s;
9501
9495
  const t = ((i = Object.entries(localStorage).find(([o, r]) => o.startsWith("CognitoIdentityServiceProvider") && o.endsWith("idToken"))) == null ? void 0 : i[0]) || "", A = localStorage.getItem(t), a = {};
9502
9496
  return A && !Te(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
@@ -9504,20 +9498,20 @@ const Jn = async (l) => {
9504
9498
  errorPolicy: "all",
9505
9499
  fetchPolicy: "no-cache",
9506
9500
  variables: {
9507
- name: l.name,
9508
- layouts: l.layouts,
9509
- workflowId: l.workflowId,
9510
- transactionId: l.transactionId,
9511
- previewImage: l.previewImage,
9512
- useThreeDimPreview: l.useThreeDimPreview,
9513
- metadata: l.metadata,
9514
- selectedVariants: l.selectedVariants
9501
+ name: g.name,
9502
+ layouts: g.layouts,
9503
+ workflowId: g.workflowId,
9504
+ transactionId: g.transactionId,
9505
+ previewImage: g.previewImage,
9506
+ useThreeDimPreview: g.useThreeDimPreview,
9507
+ metadata: g.metadata,
9508
+ selectedVariants: g.selectedVariants
9515
9509
  },
9516
9510
  context: {
9517
9511
  headers: a
9518
9512
  }
9519
9513
  })).data) == null ? void 0 : s.designCreate;
9520
- }, Tn = async (l) => {
9514
+ }, Tn = async (g) => {
9521
9515
  var i, s;
9522
9516
  const t = ((i = Object.entries(localStorage).find(([o, r]) => o.startsWith("CognitoIdentityServiceProvider") && o.endsWith("idToken"))) == null ? void 0 : i[0]) || "", A = localStorage.getItem(t), a = {};
9523
9517
  return A && !Te(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
@@ -9525,7 +9519,7 @@ const Jn = async (l) => {
9525
9519
  errorPolicy: "all",
9526
9520
  fetchPolicy: "no-cache",
9527
9521
  variables: {
9528
- inputs: l.map((o) => ({
9522
+ inputs: g.map((o) => ({
9529
9523
  name: o.name,
9530
9524
  layouts: o.layouts,
9531
9525
  workflowId: o.workflowId,
@@ -9540,17 +9534,17 @@ const Jn = async (l) => {
9540
9534
  headers: a
9541
9535
  }
9542
9536
  })).data) == null ? void 0 : s.designCreateMany;
9543
- }, ct = (l, e, t) => {
9537
+ }, ct = (g, e, t) => {
9544
9538
  const A = (n) => {
9545
9539
  const i = {};
9546
9540
  if (n.type === "Frame") {
9547
- const s = l[n.stepName], o = n.data;
9541
+ const s = g[n.stepName], o = n.data;
9548
9542
  if (!s || !s.image || o.hideImageInCart && t)
9549
9543
  return i;
9550
9544
  i[`${n.stepTitle} image`] = s.image;
9551
9545
  }
9552
9546
  if (n.type === "Illustration") {
9553
- const s = l[n.stepName], o = n.data;
9547
+ const s = g[n.stepName], o = n.data;
9554
9548
  if (!s || o.hideColorsInCart && t || !s.colors)
9555
9549
  return i;
9556
9550
  if (s.colors.length > 0) {
@@ -9559,13 +9553,13 @@ const Jn = async (l) => {
9559
9553
  }
9560
9554
  }
9561
9555
  if (n.type === "Module") {
9562
- const s = l[n.stepName], o = n.data;
9556
+ const s = g[n.stepName], o = n.data;
9563
9557
  if (!s || s.text === void 0 || s.text === null || o.hideTextInCart && t)
9564
9558
  return i;
9565
9559
  i[`${n.stepTitle} text`] = s.text;
9566
9560
  }
9567
9561
  if (n.type === "Text") {
9568
- const s = l[n.stepName];
9562
+ const s = g[n.stepName];
9569
9563
  if (!s)
9570
9564
  return i;
9571
9565
  const o = n.data;
@@ -9576,14 +9570,14 @@ const Jn = async (l) => {
9576
9570
  return e.steps.forEach((n) => {
9577
9571
  Object.assign(a, A(n));
9578
9572
  }), a;
9579
- }, On = (l, e, t, A) => {
9573
+ }, On = (g, e, t, A) => {
9580
9574
  const a = {};
9581
9575
  let n = {};
9582
9576
  t ? n = ct(t, e, !1) : A && (n = A);
9583
9577
  const s = e.steps.map((o) => o.stepTitle).filter((o, r, c) => c.indexOf(o) == r);
9584
9578
  for (const o of s) {
9585
- if (Object.keys(l).includes(o)) {
9586
- const r = l[o], c = e.steps.find((B) => B.stepTitle === o);
9579
+ if (Object.keys(g).includes(o)) {
9580
+ const r = g[o], c = e.steps.find((B) => B.stepTitle === o);
9587
9581
  a[`${c == null ? void 0 : c.stepTitle} selection`] = {
9588
9582
  value: r[0].name,
9589
9583
  priceModifier: r[0].priceModifier
@@ -9596,39 +9590,39 @@ const Jn = async (l) => {
9596
9590
  });
9597
9591
  }
9598
9592
  return a;
9599
- }, SA = (l, e, t, A, a, n, i, s) => {
9593
+ }, SA = (g, e, t, A, a, n, i, s) => {
9600
9594
  var C, w;
9601
- const o = e.basePrice || 0, r = l.priceModifierTotal || 0, c = On(A, t, void 0, n), g = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(l.id), d = {
9602
- additionalExternalProductId: (C = l.integrationProduct) == null ? void 0 : C.additionalExternalProductId,
9603
- additionalExternalVariantId: (w = l.integrationProduct) == null ? void 0 : w.additionalExternalVariantId,
9595
+ const o = e.basePrice || 0, r = g.priceModifierTotal || 0, c = On(A, t, void 0, n), l = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(g.id), d = {
9596
+ additionalExternalProductId: (C = g.integrationProduct) == null ? void 0 : C.additionalExternalProductId,
9597
+ additionalExternalVariantId: (w = g.integrationProduct) == null ? void 0 : w.additionalExternalVariantId,
9604
9598
  baseCost: o,
9605
- designExternalVariants: l.designExternalVariants,
9606
- designProductId: l.externalDesignProductId,
9607
- designProductVariantId: l.externalDesignProductVariantId,
9599
+ designExternalVariants: g.designExternalVariants,
9600
+ designProductId: g.externalDesignProductId,
9601
+ designProductVariantId: g.externalDesignProductVariantId,
9608
9602
  event: "onComplete",
9609
9603
  exportedData: c,
9610
- externalCartProductId: l.externalCartProductId,
9611
- externalCartProductVariantId: l.externalCartProductVariantId,
9604
+ externalCartProductId: g.externalCartProductId,
9605
+ externalCartProductVariantId: g.externalCartProductVariantId,
9612
9606
  lineItemImageUrl: i || "",
9613
9607
  optionsCost: r,
9614
9608
  processExecutionId: s,
9615
- quantity: l.quantity,
9616
- transactionId: l.id,
9617
- transactionOwnerId: g,
9609
+ quantity: g.quantity,
9610
+ transactionId: g.id,
9611
+ transactionOwnerId: l,
9618
9612
  weight: e.weight,
9619
- workflowViewerLink: l.workflowViewerLink || "",
9620
- workflowViewerReadOnlyLink: l.workflowViewerReadOnlyLink || ""
9613
+ workflowViewerLink: g.workflowViewerLink || "",
9614
+ workflowViewerReadOnlyLink: g.workflowViewerReadOnlyLink || ""
9621
9615
  };
9622
9616
  return n && (d.metadata = n), A && (d.selectedVariants = A), a && (d.sku = a), d;
9623
- }, YA = async (l, e, t, A, a, n, i, s, o, r) => {
9617
+ }, YA = async (g, e, t, A, a, n, i, s, o, r) => {
9624
9618
  var F;
9625
9619
  await (async () => {
9626
9620
  var R;
9627
9621
  if (r !== void 0)
9628
9622
  return r;
9629
- await l.outstandingRequestsPromise();
9623
+ await g.outstandingRequestsPromise();
9630
9624
  const Y = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(a.id), S = await x.getShadowGraphqlClient().query({
9631
- query: lA,
9625
+ query: gA,
9632
9626
  variables: { ids: [a.id] },
9633
9627
  fetchPolicy: "no-cache",
9634
9628
  errorPolicy: "all",
@@ -9639,8 +9633,8 @@ const Jn = async (l) => {
9639
9633
  return S.errors ? (S.errors.forEach((W) => {
9640
9634
  S.errors && console.log("Server Error:", W.message);
9641
9635
  }), null) : T ?? null;
9642
- })() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(A())), await l.updateStateWithServerImmediate(A), console.log("Server state is undefined @ Workflow completion"));
9643
- const g = l.getPreviewService(), d = (F = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : F.lookAtAnimation, C = g && e.showModelOnFinishStep && !!d, w = o && ct(o, e, !0), h = o && ct(o, e, !1), u = async (y) => {
9636
+ })() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(A())), await g.updateStateWithServerImmediate(A), console.log("Server state is undefined @ Workflow completion"));
9637
+ const l = g.getPreviewService(), d = (F = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : F.lookAtAnimation, C = l && e.showModelOnFinishStep && !!d, w = o && ct(o, e, !0), h = o && ct(o, e, !1), u = async (y) => {
9644
9638
  const Y = {};
9645
9639
  let N = 0;
9646
9640
  if (Object.keys(n).length > 0)
@@ -9714,11 +9708,11 @@ const Jn = async (l) => {
9714
9708
  cartSelectionsWithPrices: E,
9715
9709
  cartMetadata: w
9716
9710
  };
9717
- }, Ln = async (l, e, t, A, a, n, i, s, o, r, c) => {
9711
+ }, Ln = async (g, e, t, A, a, n, i, s, o, r, c) => {
9718
9712
  var u, E;
9719
9713
  o("workflow.steps.finish.finalize.buildingLayouts");
9720
- const { designDetails: B, cartSelectionsWithPrices: g, cartMetadata: d } = await YA(
9721
- l,
9714
+ const { designDetails: B, cartSelectionsWithPrices: l, cartMetadata: d } = await YA(
9715
+ g,
9722
9716
  e,
9723
9717
  t,
9724
9718
  A,
@@ -9738,23 +9732,23 @@ const Jn = async (l) => {
9738
9732
  h,
9739
9733
  a,
9740
9734
  e,
9741
- g,
9735
+ l,
9742
9736
  C == null ? void 0 : C.sku,
9743
9737
  d,
9744
9738
  w,
9745
9739
  (E = C == null ? void 0 : C.processExecution) == null ? void 0 : E.id
9746
9740
  );
9747
- }, zn = async (l, e, t) => {
9741
+ }, zn = async (g, e, t) => {
9748
9742
  e("workflow.steps.finish.finalize.buildingLayouts"), await Promise.all(
9749
- l.map(async (s) => {
9743
+ g.map(async (s) => {
9750
9744
  await s.workflowManager.outstandingRequestsPromise();
9751
9745
  })
9752
9746
  );
9753
9747
  const a = await (async () => {
9754
9748
  var r;
9755
9749
  const o = await x.getShadowGraphqlClient().query({
9756
- query: lA,
9757
- variables: { ids: l.map((c) => c.transaction.id) },
9750
+ query: gA,
9751
+ variables: { ids: g.map((c) => c.transaction.id) },
9758
9752
  fetchPolicy: "no-cache",
9759
9753
  errorPolicy: "all"
9760
9754
  });
@@ -9762,7 +9756,7 @@ const Jn = async (l) => {
9762
9756
  o.errors && console.log("Server Error:", c.message);
9763
9757
  }), null) : (r = o.data) != null && r.transactions ? o.data.transactions.map((c) => c.workflowState ?? null) : null;
9764
9758
  })(), n = await Promise.all(
9765
- l.map(async (s, o) => await YA(
9759
+ g.map(async (s, o) => await YA(
9766
9760
  s.workflowManager,
9767
9761
  s.workflow,
9768
9762
  s.layouts,
@@ -9780,8 +9774,8 @@ const Jn = async (l) => {
9780
9774
  if (!i)
9781
9775
  throw new Error("Failed to create designs");
9782
9776
  return e("workflow.steps.finish.finalize.updatingTransaction"), i.map((s, o) => {
9783
- var g;
9784
- const r = l[o], c = n[o], B = s.transaction;
9777
+ var l;
9778
+ const r = g[o], c = n[o], B = s.transaction;
9785
9779
  return SA(
9786
9780
  B,
9787
9781
  r.product,
@@ -9791,7 +9785,7 @@ const Jn = async (l) => {
9791
9785
  c.cartMetadata,
9792
9786
  //lineItemImageLink,
9793
9787
  void 0,
9794
- (g = s.processExecution) == null ? void 0 : g.id
9788
+ (l = s.processExecution) == null ? void 0 : l.id
9795
9789
  );
9796
9790
  });
9797
9791
  };
@@ -9877,7 +9871,7 @@ const $e = new Kn(), jn = f`
9877
9871
  }
9878
9872
  }
9879
9873
  `;
9880
- var Vn = /* @__PURE__ */ ((l) => (l.QuantityChanged = "QuantityChanged", l.PriceBreakChanged = "PriceBreakChanged", l))(Vn || {});
9874
+ var Vn = /* @__PURE__ */ ((g) => (g.QuantityChanged = "QuantityChanged", g.PriceBreakChanged = "PriceBreakChanged", g))(Vn || {});
9881
9875
  class Me {
9882
9876
  constructor(e, t) {
9883
9877
  var a;
@@ -9980,10 +9974,10 @@ class Me {
9980
9974
  y: 0,
9981
9975
  width: c.layoutState.layout.width,
9982
9976
  height: c.layoutState.layout.height
9983
- }, g = this.commandContext.getLayoutById(c.layoutState.layout.id), d = i.getContext("2d");
9977
+ }, l = this.commandContext.getLayoutById(c.layoutState.layout.id), d = i.getContext("2d");
9984
9978
  if (!d)
9985
9979
  throw new je("Failed to obtain 2D context for preview image creation");
9986
- const C = zt(g.layoutState.layout, g.layoutState.elements, {
9980
+ const C = zt(l.layoutState.layout, l.layoutState.elements, {
9987
9981
  renderingConfiguration: {
9988
9982
  purpose: Kt.Print,
9989
9983
  region: { left: B.x, top: B.y, width: B.width, height: B.height }
@@ -9995,7 +9989,7 @@ class Me {
9995
9989
  createCanvas: He,
9996
9990
  createImage: Vt,
9997
9991
  DOMParser: Wt(),
9998
- fetch: lt
9992
+ fetch: gt
9999
9993
  })).render();
10000
9994
  const u = await this.getCanvasObjectURLAsync(i);
10001
9995
  return i.toDataURL(u);
@@ -10091,17 +10085,17 @@ class Me {
10091
10085
  const a = await e.getGlobalProperties(), n = A == null ? void 0 : A.map((r) => r.getId()), i = this.getSteps().filter((r) => n === void 0 || n.includes(r.getId())), s = t.getSteps(), o = (r) => a.find((c) => c.getRawProperty().name === r.aspectName);
10092
10086
  i.forEach((r) => {
10093
10087
  const c = /* @__PURE__ */ new Set(), B = r.getRaw().globalPropertyAspectConfigurations;
10094
- B !== void 0 && (B.forEach((g) => c.add(JSON.stringify(g))), s.forEach((g) => {
10095
- const d = g.getRaw().globalPropertyAspectConfigurations;
10088
+ B !== void 0 && (B.forEach((l) => c.add(JSON.stringify(l))), s.forEach((l) => {
10089
+ const d = l.getRaw().globalPropertyAspectConfigurations;
10096
10090
  d !== void 0 && d.forEach((C) => {
10097
10091
  const w = o(C), h = c.has(JSON.stringify(C));
10098
10092
  if (h && (w == null ? void 0 : w.getType()) === "Option") {
10099
- const u = g.getCurrentVariant();
10093
+ const u = l.getCurrentVariant();
10100
10094
  if (!u)
10101
10095
  return;
10102
10096
  r.selectVariant(u), c.delete(JSON.stringify(C));
10103
10097
  } else if (h && (w == null ? void 0 : w.getType()) === "Text") {
10104
- const u = g.getText();
10098
+ const u = l.getText();
10105
10099
  r.setText(u), c.delete(JSON.stringify(C));
10106
10100
  }
10107
10101
  });
@@ -10181,7 +10175,7 @@ class Me {
10181
10175
  }
10182
10176
  async copy() {
10183
10177
  var s;
10184
- const e = le(this.getCommandContext().getState());
10178
+ const e = ge(this.getCommandContext().getState());
10185
10179
  if (!e)
10186
10180
  throw new b("Internal state is undefined! Cannot copy experience!");
10187
10181
  const t = JSON.stringify(e.transaction), A = this.getWorkflowManager().getWorkflow(), a = new ss({}), n = (s = this.getWorkflowManager().getTransaction().integrationProduct) == null ? void 0 : s.id;
@@ -10281,11 +10275,11 @@ const Wn = [
10281
10275
  "textPath",
10282
10276
  "tref",
10283
10277
  "tspan"
10284
- ], Xn = async (l, e, t) => {
10278
+ ], Xn = async (g, e, t) => {
10285
10279
  const A = e.data, a = t.data.baseUrl, n = A.assetUrl.replace("localhost", "localstack"), i = a.slice(0, 4) === "http" ? "" : "https://", s = new URL(i + a);
10286
10280
  s.searchParams.append("video", Pt(JSON.stringify([{ href: n }]))), s.pathname = s.pathname + (s.pathname.slice(-1) === "/" ? "" : "/");
10287
10281
  const o = s.toString(), c = `data:image/svg+xml;base64,${Pt(await tA(o, { type: "svg" }))}`, B = (d) => {
10288
- const C = l.find((h) => h.panelId === d.panelId);
10282
+ const C = g.find((h) => h.panelId === d.panelId);
10289
10283
  if (!C)
10290
10284
  throw new z(d);
10291
10285
  const w = J();
@@ -10302,13 +10296,13 @@ const Wn = [
10302
10296
  },
10303
10297
  C
10304
10298
  );
10305
- }, g = t.data.regions;
10299
+ }, l = t.data.regions;
10306
10300
  try {
10307
- return g.map(B);
10301
+ return l.map(B);
10308
10302
  } catch (d) {
10309
10303
  return console.error(d), [];
10310
10304
  }
10311
- }, qn = async (l, e, t, A) => {
10305
+ }, qn = async (g, e, t, A) => {
10312
10306
  const a = t.data, n = a.assetUrl, i = await nt(n);
10313
10307
  try {
10314
10308
  const s = _A(a, A.option);
@@ -10321,7 +10315,7 @@ const Wn = [
10321
10315
  height: 1
10322
10316
  },
10323
10317
  (w = s == null ? void 0 : s.asset) == null ? void 0 : w.fileLink
10324
- ), B = await gt(c), g = J(), d = l.find((h) => h.panelId === r.panelId);
10318
+ ), B = await lt(c), l = J(), d = g.find((h) => h.panelId === r.panelId);
10325
10319
  if (!d)
10326
10320
  throw new z(r);
10327
10321
  const C = Bt(i, B, {
@@ -10332,14 +10326,11 @@ const Wn = [
10332
10326
  return [
10333
10327
  new L(
10334
10328
  {
10335
- id: g,
10329
+ id: l,
10336
10330
  path: B.path,
10337
10331
  dataWidth: B.width,
10338
10332
  dataHeight: B.height,
10339
10333
  type: G.Frame,
10340
- focalBlur: A.data.focalBlur,
10341
- focalBlurStrength: A.data.focalBlurStrength,
10342
- focalBlurRadius: A.data.focalBlurRadius,
10343
10334
  forceImageCover: A.data.forceImageCover,
10344
10335
  x: r.left,
10345
10336
  y: r.top,
@@ -10354,14 +10345,14 @@ const Wn = [
10354
10345
  },
10355
10346
  d
10356
10347
  ),
10357
- new Lt(g, i, C)
10348
+ new Lt(l, i, C)
10358
10349
  ];
10359
10350
  };
10360
10351
  return (await Promise.all(A.data.regions.map((r) => o(r)))).flat();
10361
10352
  } catch (s) {
10362
10353
  return console.error(s), [];
10363
10354
  }
10364
- }, Zn = async (l, e, t, A) => {
10355
+ }, Zn = async (g, e, t, A) => {
10365
10356
  var p, m;
10366
10357
  const a = t.data, n = A.option;
10367
10358
  if (!n)
@@ -10403,7 +10394,7 @@ const Wn = [
10403
10394
  }
10404
10395
  }
10405
10396
  const D = (I) => {
10406
- const F = l.find((Y) => Y.panelId === I.panelId);
10397
+ const F = g.find((Y) => Y.panelId === I.panelId);
10407
10398
  if (!F)
10408
10399
  throw new z(I);
10409
10400
  const y = J();
@@ -10430,9 +10421,9 @@ const Wn = [
10430
10421
  } catch (I) {
10431
10422
  return console.error(I), [];
10432
10423
  }
10433
- }, $n = async (l, e, t) => {
10424
+ }, $n = async (g, e, t) => {
10434
10425
  const A = await FA(t.data.module), a = e.data, n = (s, o) => {
10435
- const r = l.find((B) => B.panelId === o.panelId);
10426
+ const r = g.find((B) => B.panelId === o.panelId);
10436
10427
  if (!r)
10437
10428
  throw new z(o);
10438
10429
  const c = J();
@@ -10460,12 +10451,12 @@ const Wn = [
10460
10451
  } catch (s) {
10461
10452
  return console.error(s), [];
10462
10453
  }
10463
- }, _n = async (l, e, t, A) => {
10454
+ }, _n = async (g, e, t, A) => {
10464
10455
  var c, B;
10465
10456
  const a = t.data, n = A.option;
10466
10457
  if (!n)
10467
10458
  return console.error(`No option for step ${A.stepName}.`), [];
10468
- const i = ((c = n.variants) == null ? void 0 : c.find((g) => g.id === a.pictureVariantId)) || ze(n);
10459
+ const i = ((c = n.variants) == null ? void 0 : c.find((l) => l.id === a.pictureVariantId)) || ze(n);
10469
10460
  if (!i)
10470
10461
  return console.error(`No variant with ID: ${a.pictureVariantId}`), [];
10471
10462
  if (!i.asset)
@@ -10474,24 +10465,24 @@ const Wn = [
10474
10465
  const s = (B = i.asset) == null ? void 0 : B.fileLink;
10475
10466
  if (!s)
10476
10467
  return console.error(`No asset link for variant with ID: ${a.pictureVariantId}`), [];
10477
- const o = (g) => {
10478
- const d = l.find((w) => w.panelId === g.panelId);
10468
+ const o = (l) => {
10469
+ const d = g.find((w) => w.panelId === l.panelId);
10479
10470
  if (!d)
10480
- throw new z(g);
10471
+ throw new z(l);
10481
10472
  const C = J();
10482
10473
  return new L(
10483
10474
  {
10484
10475
  id: C,
10485
10476
  src: s,
10486
10477
  type: G.Image,
10487
- y: g.top,
10488
- x: g.left,
10489
- rotation: g.rotation,
10490
- width: g.width,
10491
- height: g.height,
10492
- layer: g.layer,
10493
- layerIndex: g.layerIndex,
10494
- immutable: g.immutable,
10478
+ y: l.top,
10479
+ x: l.left,
10480
+ rotation: l.rotation,
10481
+ width: l.width,
10482
+ height: l.height,
10483
+ layer: l.layer,
10484
+ layerIndex: l.layerIndex,
10485
+ immutable: l.immutable,
10495
10486
  preserveAspectRatio: "none"
10496
10487
  },
10497
10488
  d
@@ -10499,10 +10490,10 @@ const Wn = [
10499
10490
  }, r = A.data.regions;
10500
10491
  try {
10501
10492
  return r.map(o);
10502
- } catch (g) {
10503
- return console.error(g), [];
10493
+ } catch (l) {
10494
+ return console.error(l), [];
10504
10495
  }
10505
- }, ei = async (l, e, t, A) => {
10496
+ }, ei = async (g, e, t, A) => {
10506
10497
  var r;
10507
10498
  const a = t.data, n = A.option;
10508
10499
  if (!n)
@@ -10512,10 +10503,10 @@ const Wn = [
10512
10503
  return console.error(`No variant with ID: ${a.colorVariantId}`), [];
10513
10504
  e[A.stepName] = { selectedVariants: [i] };
10514
10505
  const s = (c) => {
10515
- const B = l.find((h) => h.panelId === c.panelId);
10506
+ const B = g.find((h) => h.panelId === c.panelId);
10516
10507
  if (!B)
10517
10508
  throw new z(c);
10518
- const g = `
10509
+ const l = `
10519
10510
  <svg
10520
10511
  xmlns="http://www.w3.org/2000/svg"
10521
10512
  xmlnsXlink="http://www.w3.org/1999/xlink"
@@ -10540,7 +10531,7 @@ const Wn = [
10540
10531
  {
10541
10532
  colors: C,
10542
10533
  id: w,
10543
- svg: g,
10534
+ svg: l,
10544
10535
  type: G.Illustration,
10545
10536
  y: c.top,
10546
10537
  x: c.left,
@@ -10559,7 +10550,7 @@ const Wn = [
10559
10550
  } catch (c) {
10560
10551
  return console.error(c), [];
10561
10552
  }
10562
- }, ti = async (l, e, t) => {
10553
+ }, ti = async (g, e, t) => {
10563
10554
  const A = [], n = (() => {
10564
10555
  var r, c;
10565
10556
  return e.type === M.ProductOverlay ? t || ((r = e.data.asset) == null ? void 0 : r.fileLink) || "" : ((c = e.data.asset) == null ? void 0 : c.fileLink) || "";
@@ -10567,7 +10558,7 @@ const Wn = [
10567
10558
  if (s === "image")
10568
10559
  try {
10569
10560
  o.forEach((r) => {
10570
- const c = l.find((g) => g.panelId === r.panelId);
10561
+ const c = g.find((l) => l.panelId === r.panelId);
10571
10562
  if (!c)
10572
10563
  throw new z(r);
10573
10564
  const B = {
@@ -10594,14 +10585,14 @@ const Wn = [
10594
10585
  }
10595
10586
  else {
10596
10587
  const r = await _(n, !0), c = (B) => {
10597
- const g = /<svg.*?<\/svg>/s, d = B.match(g) || [], C = (d == null ? void 0 : d.length) > 0 ? d[0] : "", u = Xt().parseFromString(C, "image/svg+xml").firstElementChild;
10588
+ const l = /<svg.*?<\/svg>/s, d = B.match(l) || [], C = (d == null ? void 0 : d.length) > 0 ? d[0] : "", u = Xt().parseFromString(C, "image/svg+xml").firstElementChild;
10598
10589
  if (!u)
10599
10590
  throw new he("Failed to read SVG.");
10600
10591
  return qt(u), Zt().serializeToString(u);
10601
10592
  };
10602
10593
  o.forEach((B) => {
10603
- const g = l.find((C) => C.panelId === B.panelId);
10604
- if (!g)
10594
+ const l = g.find((C) => C.panelId === B.panelId);
10595
+ if (!l)
10605
10596
  throw new z(B);
10606
10597
  const d = {
10607
10598
  id: J(),
@@ -10622,11 +10613,11 @@ const Wn = [
10622
10613
  productOverlay: e.type === M.ProductOverlay ? !0 : void 0,
10623
10614
  excludeFromExport: e.data.excludeFromPrint
10624
10615
  };
10625
- A.push(new L(d, g));
10616
+ A.push(new L(d, l));
10626
10617
  });
10627
10618
  }
10628
10619
  return A;
10629
- }, Ai = async (l, e, t, A) => {
10620
+ }, Ai = async (g, e, t, A) => {
10630
10621
  const a = [], n = t.data, i = 30, s = (h) => h.vertical ? "center" : h.textAlign || "center", o = () => {
10631
10622
  var D;
10632
10623
  const h = A.option;
@@ -10648,7 +10639,7 @@ const Wn = [
10648
10639
  assetUrl: h,
10649
10640
  name: u.names.fullName.en
10650
10641
  };
10651
- })(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "", g = it(B, {
10642
+ })(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "", l = it(B, {
10652
10643
  vertical: A.data.vertical,
10653
10644
  uppercase: A.data.uppercase
10654
10645
  }), d = async (h) => {
@@ -10659,7 +10650,7 @@ const Wn = [
10659
10650
  return E == null ? void 0 : E.color;
10660
10651
  }, C = n.color || await d(A.data), w = A.data.regions;
10661
10652
  for (const h of w) {
10662
- const u = l.find((D) => D.panelId === h.panelId);
10653
+ const u = g.find((D) => D.panelId === h.panelId);
10663
10654
  if (!u)
10664
10655
  continue;
10665
10656
  const E = {
@@ -10675,7 +10666,7 @@ const Wn = [
10675
10666
  layerIndex: h.layerIndex,
10676
10667
  paths: A.data.paths,
10677
10668
  rotation: h.rotation,
10678
- text: g,
10669
+ text: l,
10679
10670
  type: G.Textbox,
10680
10671
  vertical: A.data.vertical,
10681
10672
  verticalAlign: A.data.verticalAlign || "middle",
@@ -10689,7 +10680,7 @@ const Wn = [
10689
10680
  c,
10690
10681
  h,
10691
10682
  [
10692
- it(g, {
10683
+ it(l, {
10693
10684
  vertical: A.data.vertical,
10694
10685
  uppercase: A.data.uppercase
10695
10686
  })
@@ -10715,7 +10706,7 @@ const Wn = [
10715
10706
  a.push(new L(E, u));
10716
10707
  }
10717
10708
  return a;
10718
- }, ai = (l, e) => l.conditions ? l.conditions.every((t) => {
10709
+ }, ai = (g, e) => g.conditions ? g.conditions.every((t) => {
10719
10710
  const A = e[t.targetStepName];
10720
10711
  if (A && A.selectedVariants) {
10721
10712
  const a = A.selectedVariants;
@@ -10724,9 +10715,9 @@ const Wn = [
10724
10715
  );
10725
10716
  }
10726
10717
  return !1;
10727
- }) : !0, ni = async (l, e, t, A) => {
10718
+ }) : !0, ni = async (g, e, t, A) => {
10728
10719
  const a = [], n = {};
10729
- for (const i of l) {
10720
+ for (const i of g) {
10730
10721
  const s = e.steps.find((o) => o.stepName === i.name);
10731
10722
  if (s)
10732
10723
  switch (s.type) {
@@ -10798,12 +10789,12 @@ class Se {
10798
10789
  return this.layouts;
10799
10790
  }
10800
10791
  }
10801
- const ii = () => new Promise((l, e) => {
10792
+ const ii = () => new Promise((g, e) => {
10802
10793
  try {
10803
10794
  const A = He().getContext("webgl2");
10804
- l(!!A);
10795
+ g(!!A);
10805
10796
  } catch {
10806
- l(!1);
10797
+ g(!1);
10807
10798
  }
10808
10799
  }), si = ii();
10809
10800
  class oi {
@@ -10854,7 +10845,7 @@ class oi {
10854
10845
  * Actions to perform when a static render event is fired for this canvas.
10855
10846
  */
10856
10847
  async render(e) {
10857
- const t = le(e);
10848
+ const t = ge(e);
10858
10849
  this.lastRequestedRenderArguments = t;
10859
10850
  const A = this.getStaticContext();
10860
10851
  if (!A) {
@@ -10927,7 +10918,7 @@ class ri extends BA {
10927
10918
  o = n.width, r = n.height;
10928
10919
  const c = zt(e.layoutState.layout, t, {
10929
10920
  renderingConfiguration: { purpose: Kt.ThreeD }
10930
- }), B = jt(c), g = await $t.from(this.ctx, B, {
10921
+ }), B = jt(c), l = await $t.from(this.ctx, B, {
10931
10922
  anonymousCrossOrigin: !0,
10932
10923
  ignoreDimensions: !this.nonPOTSupport,
10933
10924
  ignoreAnimation: !0,
@@ -10937,14 +10928,14 @@ class ri extends BA {
10937
10928
  createCanvas: He,
10938
10929
  createImage: Vt,
10939
10930
  DOMParser: Wt(),
10940
- fetch: lt
10931
+ fetch: gt
10941
10932
  });
10942
- g.resize(o, r), await g.render(), this.onRender();
10933
+ l.resize(o, r), await l.render(), this.onRender();
10943
10934
  }
10944
10935
  }
10945
- const Fs = (l, e) => {
10936
+ const Fs = (g, e) => {
10946
10937
  const t = [];
10947
- return l.forEach((A) => {
10938
+ return g.forEach((A) => {
10948
10939
  const a = e.steps.find((n) => n.stepName === A.stepName);
10949
10940
  (a == null ? void 0 : a.type) === M.Text && A.stepAspectType === "Text" && t.push({
10950
10941
  name: a.stepName,
@@ -10953,13 +10944,13 @@ const Fs = (l, e) => {
10953
10944
  }
10954
10945
  });
10955
10946
  }), t;
10956
- }, ys = async (l, e, t, A) => {
10947
+ }, ys = async (g, e, t, A) => {
10957
10948
  let a = {
10958
10949
  serializableWorkflow: { steps: [] },
10959
10950
  layouts: {}
10960
10951
  };
10961
10952
  a = new k(t.map((o) => new Aa(o))).apply(a);
10962
- const i = await ni(l, e, t, A);
10953
+ const i = await ni(g, e, t, A);
10963
10954
  return new k(i).apply(a);
10964
10955
  }, ci = f`
10965
10956
  ${Be}
@@ -11015,8 +11006,8 @@ const Fs = (l, e) => {
11015
11006
  ...ProductFields
11016
11007
  }
11017
11008
  }
11018
- `, We = (l) => f`
11019
- ${l ? PA : ""}
11009
+ `, We = (g) => f`
11010
+ ${g ? PA : ""}
11020
11011
  fragment ProductCollectionFields on ProductCollection {
11021
11012
  id
11022
11013
  name
@@ -11041,7 +11032,7 @@ const Fs = (l, e) => {
11041
11032
  }
11042
11033
  }
11043
11034
  }
11044
- ${l ? "productCollectionProducts { ...ProductCollectionProductFields }" : ""}
11035
+ ${g ? "productCollectionProducts { ...ProductCollectionProductFields }" : ""}
11045
11036
  transformCollection {
11046
11037
  id
11047
11038
  name
@@ -11066,8 +11057,8 @@ const Fs = (l, e) => {
11066
11057
  }
11067
11058
  }
11068
11059
  }
11069
- `, li = (l) => f`
11070
- ${We(l)}
11060
+ `, gi = (g) => f`
11061
+ ${We(g)}
11071
11062
  query GetBundle($id: String!) {
11072
11063
  bundles(ids: [$id]) {
11073
11064
  id
@@ -11088,7 +11079,7 @@ const Fs = (l, e) => {
11088
11079
  }
11089
11080
  }
11090
11081
  }
11091
- `, gi = f`
11082
+ `, li = f`
11092
11083
  query GetBundleStakeholders($id: String!) {
11093
11084
  bundles(ids: [$id]) {
11094
11085
  id
@@ -11139,8 +11130,8 @@ const Fs = (l, e) => {
11139
11130
  }
11140
11131
  }
11141
11132
  }
11142
- `, Ci = (l) => f`
11143
- ${We(l)}
11133
+ `, Ci = (g) => f`
11134
+ ${We(g)}
11144
11135
  mutation CreateBundle(
11145
11136
  $collectionId: String
11146
11137
  $initialMetadata: [MetadataInput!]
@@ -11168,8 +11159,8 @@ const Fs = (l, e) => {
11168
11159
  }
11169
11160
  }
11170
11161
  }
11171
- `, wi = (l) => f`
11172
- ${We(l)}
11162
+ `, wi = (g) => f`
11163
+ ${We(g)}
11173
11164
  mutation DuplicateBundle(
11174
11165
  $id: String!
11175
11166
  $template: Boolean
@@ -11299,8 +11290,8 @@ const Fs = (l, e) => {
11299
11290
  id
11300
11291
  }
11301
11292
  }
11302
- `, Fi = (l) => f`
11303
- ${We(l)}
11293
+ `, Fi = (g) => f`
11294
+ ${We(g)}
11304
11295
  mutation BundleAssignProductCollection($id: String!, $productCollectionId: String!) {
11305
11296
  bundleAssignProductCollection(id: $id, collectionId: $productCollectionId) {
11306
11297
  id
@@ -11309,7 +11300,7 @@ const Fs = (l, e) => {
11309
11300
  }
11310
11301
  }
11311
11302
  }
11312
- `, yi = (l) => f`
11303
+ `, yi = (g) => f`
11313
11304
  query CustomerBundlesFeed($id: String!, $limit: Int!, $offset: Int!, $template: Boolean, $templateStatus: BundleTemplateStatus) {
11314
11305
  customerBundlesFeed(id: $id, limit: $limit, offset: $offset, template: $template, templateStatus: $templateStatus) {
11315
11306
  items {
@@ -11327,7 +11318,7 @@ const Fs = (l, e) => {
11327
11318
  fileLink
11328
11319
  }
11329
11320
  }
11330
- ${l ? "metadata { key, value }" : ""}
11321
+ ${g ? "metadata { key, value }" : ""}
11331
11322
  }
11332
11323
  total
11333
11324
  }
@@ -11811,7 +11802,7 @@ class vi {
11811
11802
  }
11812
11803
  async setGlobalPropertyState(e) {
11813
11804
  this.globalPropertyState || await this.initPromise;
11814
- const t = le(this.globalPropertyState);
11805
+ const t = ge(this.globalPropertyState);
11815
11806
  this.globalPropertyState = { ...e, id: t.id }, await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(t, this.globalPropertyState);
11816
11807
  }
11817
11808
  getAspect(e) {
@@ -11835,7 +11826,7 @@ class vi {
11835
11826
  const a = this.configuration.aspects.find((s) => s.name === e);
11836
11827
  if (!a)
11837
11828
  throw new Error(`Failed to find configuration aspect with name: ${e}`);
11838
- const n = le(this.globalPropertyState), i = this.globalPropertyState.aspects.find((s) => s.name === e);
11829
+ const n = ge(this.globalPropertyState), i = this.globalPropertyState.aspects.find((s) => s.name === e);
11839
11830
  i ? (i.value = t, i.type = a.type, A !== void 0 && (i.storage = A !== null ? A : void 0)) : this.globalPropertyState.aspects.push({
11840
11831
  name: e,
11841
11832
  value: t,
@@ -11851,7 +11842,7 @@ class vi {
11851
11842
  const A = this.configuration.aspects.find((i) => i.name === e);
11852
11843
  if (!A)
11853
11844
  throw new Error(`Failed to find configuration aspect with name: ${e}`);
11854
- const a = le(this.globalPropertyState), n = this.globalPropertyState.aspects.find((i) => i.name === e);
11845
+ const a = ge(this.globalPropertyState), n = this.globalPropertyState.aspects.find((i) => i.name === e);
11855
11846
  n ? (n.storage = t !== null ? t : void 0, n.type = A.type) : this.globalPropertyState.aspects.push({
11856
11847
  name: e,
11857
11848
  value: "",
@@ -12579,7 +12570,7 @@ class et {
12579
12570
  }
12580
12571
  async getAllStakeholders() {
12581
12572
  const e = await x.getShadowGraphqlClient().query({
12582
- query: gi,
12573
+ query: li,
12583
12574
  errorPolicy: "all",
12584
12575
  fetchPolicy: "no-cache",
12585
12576
  variables: {
@@ -12771,14 +12762,14 @@ class bi {
12771
12762
  * @returns
12772
12763
  */
12773
12764
  async execute(e, t, A) {
12774
- var B, g, d;
12775
- const n = (g = (B = (await x.getShadowGraphqlClient().mutate({
12765
+ var B, l, d;
12766
+ const n = (l = (B = (await x.getShadowGraphqlClient().mutate({
12776
12767
  mutation: Gi,
12777
12768
  variables: {
12778
12769
  processFlowId: e,
12779
12770
  inputs: [...t.map((C) => C.getValueForTransmission())]
12780
12771
  }
12781
- })).data) == null ? void 0 : B.processExecutionCreate) == null ? void 0 : g.id;
12772
+ })).data) == null ? void 0 : B.processExecutionCreate) == null ? void 0 : l.id;
12782
12773
  if (!n)
12783
12774
  throw new Error("Failed to create process execution.");
12784
12775
  function i(C) {
@@ -12914,7 +12905,7 @@ class Ft {
12914
12905
  return e.startsWith("[") ? JSON.stringify(JSON.parse(e)) : e;
12915
12906
  }
12916
12907
  }
12917
- var Ti = /* @__PURE__ */ ((l) => (l.Transaction = "Transaction", l.Bundle = "Bundle", l.Product = "Product", l.Variant = "Variant", l.Option = "Option", l.LineItem = "LineItem", l.Asset = "Asset", l))(Ti || {});
12908
+ var Ti = /* @__PURE__ */ ((g) => (g.Transaction = "Transaction", g.Bundle = "Bundle", g.Product = "Product", g.Variant = "Variant", g.Option = "Option", g.LineItem = "LineItem", g.Asset = "Asset", g))(Ti || {});
12918
12909
  class Ms extends Ft {
12919
12910
  constructor(e) {
12920
12911
  super(`"${e}"`);
@@ -13194,8 +13185,8 @@ const Oi = f`
13194
13185
  loop
13195
13186
  name
13196
13187
  }
13197
- `, $i = (l) => f`
13198
- ${De(l)}
13188
+ `, $i = (g) => f`
13189
+ ${De(g)}
13199
13190
  ${Et}
13200
13191
  ${sA}
13201
13192
  ${Wi}
@@ -13352,9 +13343,6 @@ const Oi = f`
13352
13343
  disablePlaceholder
13353
13344
  displayImageOnFinishStep
13354
13345
  displaySelectionOnFinishStep
13355
- focalBlur
13356
- focalBlurRadius
13357
- focalBlurStrength
13358
13346
  forceImageCover
13359
13347
  hideImageInCart
13360
13348
  hideSelectionInCart
@@ -13641,33 +13629,33 @@ const Oi = f`
13641
13629
  ...TagFields
13642
13630
  }
13643
13631
  }
13644
- `, re = async (l) => {
13632
+ `, re = async (g) => {
13645
13633
  var e;
13646
- for (const t in l.layouts) {
13647
- const A = l.layouts[t].elements.filter(
13634
+ for (const t in g.layouts) {
13635
+ const A = g.layouts[t].elements.filter(
13648
13636
  (n) => n.type === G.Illustration
13649
13637
  );
13650
13638
  for (let n = 0; n < A.length; ++n) {
13651
13639
  const i = A[n];
13652
13640
  i.src && i.svg && (i.cachedObjectURL = await ve(i.svg));
13653
13641
  }
13654
- const a = l.layouts[t].elements.filter((n) => n.type === G.Textbox);
13642
+ const a = g.layouts[t].elements.filter((n) => n.type === G.Textbox);
13655
13643
  for (let n = 0; n < a.length; ++n) {
13656
13644
  const i = a[n];
13657
13645
  (e = i.fontData) != null && e.assetUrl && await dt(i.fontData.assetUrl);
13658
13646
  }
13659
13647
  }
13660
- }, as = async (l, e) => {
13648
+ }, as = async (g, e) => {
13661
13649
  var a;
13662
13650
  const t = await x.getShadowGraphqlClient().query({
13663
13651
  query: $i(((a = e == null ? void 0 : e.assets) == null ? void 0 : a.metadata) || !1),
13664
13652
  errorPolicy: "all",
13665
13653
  fetchPolicy: "no-cache",
13666
13654
  variables: {
13667
- ids: l
13655
+ ids: g
13668
13656
  }
13669
13657
  }), A = t.data.workflows;
13670
- if (A === void 0 || A.length !== l.length)
13658
+ if (A === void 0 || A.length !== g.length)
13671
13659
  throw new Error(`Unable to read workflows: ${t.errors ?? "Length mismatch in response"}`);
13672
13660
  return A.forEach((n) => {
13673
13661
  n.steps.forEach((i) => {
@@ -13677,20 +13665,20 @@ const Oi = f`
13677
13665
  }), me.set({ id: i.option.id }, Promise.resolve(i.option)));
13678
13666
  }), n.finalizeStepConfig || (n.finalizeStepConfig = {}), n.finalizeStepConfig.termsMarkdown = n.partner.termsMarkdown;
13679
13667
  }), A;
13680
- }, ns = async (l, e) => {
13681
- const A = (await e).find((a) => a.id === l);
13668
+ }, ns = async (g, e) => {
13669
+ const A = (await e).find((a) => a.id === g);
13682
13670
  if (!A)
13683
- throw new Error(`Workflow not found: ${l}`);
13671
+ throw new Error(`Workflow not found: ${g}`);
13684
13672
  return A;
13685
- }, vA = async (l, e) => {
13686
- const t = l.map((s) => me.get({ id: s, options: e })), A = l.filter((s, o) => t[o] === void 0);
13673
+ }, vA = async (g, e) => {
13674
+ const t = g.map((s) => me.get({ id: s, options: e })), A = g.filter((s, o) => t[o] === void 0);
13687
13675
  if (A.length === 0)
13688
13676
  return Promise.all(t);
13689
13677
  const a = as(A, e), n = A.map(
13690
13678
  (s) => me.set({ id: s, options: e }, ns(s, a))
13691
13679
  ), i = t.filter((s) => s !== void 0);
13692
13680
  return await Promise.all(i.concat(n));
13693
- }, Pe = async (l, e) => (await vA([l], e))[0], is = (l) => l.sort((e, t) => e.index - t.index).map((e) => ({
13681
+ }, Pe = async (g, e) => (await vA([g], e))[0], is = (g) => g.sort((e, t) => e.index - t.index).map((e) => ({
13694
13682
  id: J(),
13695
13683
  panelId: e.name,
13696
13684
  name: e.name,
@@ -13703,8 +13691,8 @@ const Oi = f`
13703
13691
  previewRegion: e.previewRegion,
13704
13692
  useEditableArea: e.useEditableArea,
13705
13693
  editableArea: e.editableArea
13706
- })), tt = (l, e) => {
13707
- const t = l.workflowState, A = t ? JSON.parse(t) : void 0;
13694
+ })), tt = (g, e) => {
13695
+ const t = g.workflowState, A = t ? JSON.parse(t) : void 0;
13708
13696
  return A ? Object.values(A.layouts).map((a) => a.layout) : is(e.panels);
13709
13697
  };
13710
13698
  class ss {
@@ -13718,14 +13706,14 @@ class ss {
13718
13706
  } catch (A) {
13719
13707
  throw console.error(A), new H("Critical - Unable to synchronize workflow state with server.");
13720
13708
  }
13721
- }, this.initialized = !1, this.options = e, this.options.applicationKey && ca(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 22.13.3"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
13709
+ }, this.initialized = !1, this.options = e, this.options.applicationKey && ca(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 22.13.4"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
13722
13710
  }
13723
13711
  /** @deprecated Use `configure` instead */
13724
13712
  configureUrls(e, t, A) {
13725
13713
  q.setHubUrl(e), q.setServerUrl(t), q.setServicesApiUrl(A), this.options.applicationKey && this.getIntegration();
13726
13714
  }
13727
13715
  configure(e) {
13728
- q.setHubUrl(e.hubUrl), q.setServerUrl(e.serverUrl), q.setServicesApiUrl(e.servicesApiUrl), this.marketplaceThemeInstallId = e.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = e.marketplaceThemeInstallConfigurationId, e.bearerAuthenticationToken && ga(e.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration();
13716
+ q.setHubUrl(e.hubUrl), q.setServerUrl(e.serverUrl), q.setServicesApiUrl(e.servicesApiUrl), this.marketplaceThemeInstallId = e.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = e.marketplaceThemeInstallConfigurationId, e.bearerAuthenticationToken && la(e.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration();
13729
13717
  }
13730
13718
  /**
13731
13719
  * @returns The asset manager allows for common operations related to assets
@@ -13740,7 +13728,7 @@ class ss {
13740
13728
  return this.currencyCode;
13741
13729
  }
13742
13730
  getFlowService() {
13743
- if (!la())
13731
+ if (!ga())
13744
13732
  throw new Error("Application key required to use Flow Service.");
13745
13733
  return new bi();
13746
13734
  }
@@ -13781,8 +13769,8 @@ class ss {
13781
13769
  if (o && await this.authenticateCustomerId(o)) {
13782
13770
  const c = (n = (a = this.customer) == null ? void 0 : a.bundleStakeholders) == null ? void 0 : n.find(
13783
13771
  (B) => {
13784
- var g;
13785
- return ((g = B.bundle) == null ? void 0 : g.id) === e;
13772
+ var l;
13773
+ return ((l = B.bundle) == null ? void 0 : l.id) === e;
13786
13774
  }
13787
13775
  );
13788
13776
  if (c)
@@ -13805,7 +13793,7 @@ class ss {
13805
13793
  * @throws An error if the transaction is not found.
13806
13794
  */
13807
13795
  async authenticateTransactionFromLocalStorage(e) {
13808
- var c, B, g, d, C, w;
13796
+ var c, B, l, d, C, w;
13809
13797
  const t = x.getShadowGraphqlClient(), A = await t.query({
13810
13798
  query: _i,
13811
13799
  errorPolicy: "all",
@@ -13828,7 +13816,7 @@ class ss {
13828
13816
  if (s != null && s.has(e)) {
13829
13817
  const h = s.get(e);
13830
13818
  if (h && await this.authenticateCustomerId(h)) {
13831
- const E = ((d = (g = this.customer) == null ? void 0 : g.bundleStakeholders) == null ? void 0 : d.find(
13819
+ const E = ((d = (l = this.customer) == null ? void 0 : l.bundleStakeholders) == null ? void 0 : d.find(
13832
13820
  (D) => {
13833
13821
  var Q, p;
13834
13822
  return (p = (Q = D.bundle) == null ? void 0 : Q.transactions) == null ? void 0 : p.some((m) => m.id === e);
@@ -13993,7 +13981,7 @@ class ss {
13993
13981
  * @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
13994
13982
  */
13995
13983
  async getNewBundle(e, t, A) {
13996
- var r, c, B, g, d;
13984
+ var r, c, B, l, d;
13997
13985
  const n = (B = (await x.getShadowGraphqlClient().mutate({
13998
13986
  mutation: Ci(((c = (r = A == null ? void 0 : A.graphql) == null ? void 0 : r.productCollection) == null ? void 0 : c.eagerFetchProducts) || !1),
13999
13987
  variables: {
@@ -14011,7 +13999,7 @@ class ss {
14011
13999
  const s = P.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
14012
14000
  s.set(n.id, n.bundleOwnerId), P.setMap("bundleOwnerIds", s);
14013
14001
  const o = new et(this, n, void 0, void 0, n.bundleOwnerId, {
14014
- eagerFetchProducts: (d = (g = A == null ? void 0 : A.graphql) == null ? void 0 : g.productCollection) == null ? void 0 : d.eagerFetchProducts
14002
+ eagerFetchProducts: (d = (l = A == null ? void 0 : A.graphql) == null ? void 0 : l.productCollection) == null ? void 0 : d.eagerFetchProducts
14015
14003
  });
14016
14004
  return await o.getInitializationPromise(), o;
14017
14005
  }
@@ -14030,8 +14018,8 @@ class ss {
14030
14018
  bundleOwnerId: i,
14031
14019
  ...c,
14032
14020
  ...(u = a == null ? void 0 : a.graphql) == null ? void 0 : u.additionalHeaders
14033
- }, g = await x.getShadowGraphqlClient().query({
14034
- query: li(((D = (E = a == null ? void 0 : a.graphql) == null ? void 0 : E.productCollection) == null ? void 0 : D.eagerFetchProducts) || !1),
14021
+ }, l = await x.getShadowGraphqlClient().query({
14022
+ query: gi(((D = (E = a == null ? void 0 : a.graphql) == null ? void 0 : E.productCollection) == null ? void 0 : D.eagerFetchProducts) || !1),
14035
14023
  variables: {
14036
14024
  id: e
14037
14025
  },
@@ -14040,9 +14028,9 @@ class ss {
14040
14028
  headers: B
14041
14029
  }
14042
14030
  });
14043
- if (!((Q = g.data) != null && Q.bundles) || ((p = g.data) == null ? void 0 : p.bundles.length) === 0 || !((m = g.data) != null && m.bundles[0]))
14031
+ if (!((Q = l.data) != null && Q.bundles) || ((p = l.data) == null ? void 0 : p.bundles.length) === 0 || !((m = l.data) != null && m.bundles[0]))
14044
14032
  throw new Error(`Unable to find bundle: ${e}`);
14045
- const d = (I = g.data) == null ? void 0 : I.bundles[0], C = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
14033
+ const d = (I = l.data) == null ? void 0 : I.bundles[0], C = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
14046
14034
  C.set(d.id, d.partner.id), P.setMap("bundlePartnerIds", C);
14047
14035
  const w = new et(this, d, t, A, i, {
14048
14036
  additionalHeaders: (F = a == null ? void 0 : a.graphql) == null ? void 0 : F.additionalHeaders,
@@ -14064,7 +14052,7 @@ class ss {
14064
14052
  bundleOwnerId: n,
14065
14053
  ...r,
14066
14054
  ...(E = a == null ? void 0 : a.graphql) == null ? void 0 : E.additionalHeaders
14067
- }, g = (p = (await x.getShadowGraphqlClient().mutate({
14055
+ }, l = (p = (await x.getShadowGraphqlClient().mutate({
14068
14056
  mutation: wi(((Q = (D = a == null ? void 0 : a.graphql) == null ? void 0 : D.productCollection) == null ? void 0 : Q.eagerFetchProducts) || !1),
14069
14057
  variables: {
14070
14058
  id: e,
@@ -14078,13 +14066,13 @@ class ss {
14078
14066
  },
14079
14067
  fetchPolicy: "no-cache"
14080
14068
  })).data) == null ? void 0 : p.bundleDuplicate;
14081
- if (!(g != null && g.id))
14069
+ if (!(l != null && l.id))
14082
14070
  throw new Error("Unable to duplicate bundle");
14083
14071
  const d = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
14084
- d.set(g.id, g.partner.id), P.setMap("bundlePartnerIds", d);
14072
+ d.set(l.id, l.partner.id), P.setMap("bundlePartnerIds", d);
14085
14073
  const C = P.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
14086
- C.set(g.id, g.bundleOwnerId), P.setMap("bundleOwnerIds", C);
14087
- const w = new et(this, g, void 0, void 0, g.bundleOwnerId, {
14074
+ C.set(l.id, l.bundleOwnerId), P.setMap("bundleOwnerIds", C);
14075
+ const w = new et(this, l, void 0, void 0, l.bundleOwnerId, {
14088
14076
  eagerFetchProducts: (I = (m = a == null ? void 0 : a.graphql) == null ? void 0 : m.productCollection) == null ? void 0 : I.eagerFetchProducts
14089
14077
  });
14090
14078
  return await w.getInitializationPromise(), w;
@@ -14161,7 +14149,7 @@ class ss {
14161
14149
  * @returns A workflow experience configured as requested.
14162
14150
  */
14163
14151
  async getWorkflowExperience(e, t, A, a) {
14164
- var g, d, C, w, h;
14152
+ var l, d, C, w, h;
14165
14153
  if (!a)
14166
14154
  return await this.getWorkflowExperienceDeprecated(e, t, A);
14167
14155
  const n = async () => {
@@ -14219,7 +14207,7 @@ class ss {
14219
14207
  }
14220
14208
  throw new H("No workflow ID provided.");
14221
14209
  }, { transaction: i, workflow: s, stepTags: o, readOnly: r } = await n();
14222
- this.currencyCode = (g = i.product.partner) == null ? void 0 : g.currencyCode;
14210
+ this.currencyCode = (l = i.product.partner) == null ? void 0 : l.currencyCode;
14223
14211
  const c = {
14224
14212
  product: i.product,
14225
14213
  transaction: i,
@@ -14334,7 +14322,7 @@ class ss {
14334
14322
  ), r = xt(s, 10), c = xt(o, 10), B = (await Promise.all([
14335
14323
  ...r.map(a),
14336
14324
  ...c.map(n)
14337
- ])).flat(), g = [...new Set(B.map((p) => p.workflowId))], d = await vA(g, t), C = new Map(d.map((p) => [p.id, p])), w = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), h = B.map(async (p) => {
14325
+ ])).flat(), l = [...new Set(B.map((p) => p.workflowId))], d = await vA(l, t), C = new Map(d.map((p) => [p.id, p])), w = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), h = B.map(async (p) => {
14338
14326
  var W;
14339
14327
  const { transaction: m, workflowId: I, readOnly: F, index: y } = p, Y = C.get(I), N = await this.getStepTags(Y), S = e[y];
14340
14328
  !w.get(m.id) && m.transactionOwnerId && w.set(m.id, m.transactionOwnerId);
@@ -14424,19 +14412,19 @@ class ss {
14424
14412
  throw new H("No transaction ID provided.");
14425
14413
  const A = x.getShadowGraphqlClient(), a = async () => {
14426
14414
  var d, C;
14427
- const g = (d = (await A.query({
14415
+ const l = (d = (await A.query({
14428
14416
  query: fe,
14429
14417
  variables: { ids: [e] },
14430
14418
  fetchPolicy: "no-cache",
14431
14419
  errorPolicy: "all"
14432
14420
  })).data) == null ? void 0 : d.transactions[0];
14433
- if (!g)
14421
+ if (!l)
14434
14422
  throw new H("Failed to read transaction.");
14435
- if (!g.product)
14423
+ if (!l.product)
14436
14424
  throw new H("Failed to load transaction, product not available.");
14437
- this.currencyCode = (C = g.product.partner) == null ? void 0 : C.currencyCode, this.experienceOptions = {
14438
- product: g.product,
14439
- transaction: g,
14425
+ this.currencyCode = (C = l.product.partner) == null ? void 0 : C.currencyCode, this.experienceOptions = {
14426
+ product: l.product,
14427
+ transaction: l,
14440
14428
  layouts: [],
14441
14429
  stateMutationFunc: async () => {
14442
14430
  throw new b("State mutation is forbidden in read only mode!");
@@ -14448,20 +14436,20 @@ class ss {
14448
14436
  return await a();
14449
14437
  const n = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), i = n.get(e);
14450
14438
  if (i) {
14451
- const g = (s = (await A.query({
14439
+ const l = (s = (await A.query({
14452
14440
  query: fe,
14453
14441
  variables: {
14454
14442
  ids: [e]
14455
14443
  },
14456
14444
  errorPolicy: "all"
14457
14445
  })).data) == null ? void 0 : s.transactions[0];
14458
- if (!g)
14446
+ if (!l)
14459
14447
  throw new H("Failed to read transaction.");
14460
- if (!g.product)
14448
+ if (!l.product)
14461
14449
  throw new H("Failed to load transaction, product not available.");
14462
- this.currencyCode = (o = g.product.partner) == null ? void 0 : o.currencyCode, this.experienceOptions = {
14463
- product: g.product,
14464
- transaction: g,
14450
+ this.currencyCode = (o = l.product.partner) == null ? void 0 : o.currencyCode, this.experienceOptions = {
14451
+ product: l.product,
14452
+ transaction: l,
14465
14453
  layouts: [],
14466
14454
  stateMutationFunc: async (d) => this.updateTransactionState({ ...d, context: { transactionOwnerId: i } }),
14467
14455
  readOnly: t
@@ -14469,22 +14457,22 @@ class ss {
14469
14457
  return;
14470
14458
  }
14471
14459
  try {
14472
- const g = (r = (await A.mutate({
14460
+ const l = (r = (await A.mutate({
14473
14461
  mutation: ka,
14474
14462
  variables: { id: e },
14475
14463
  errorPolicy: "all"
14476
14464
  })).data) == null ? void 0 : r.transactionClaim;
14477
- if (!g)
14465
+ if (!l)
14478
14466
  throw new H("Failed to read transaction.");
14479
- if (!g.product)
14467
+ if (!l.product)
14480
14468
  throw new H("Failed to load transaction, product not available.");
14481
- this.currencyCode = (c = g.product.partner) == null ? void 0 : c.currencyCode, g.transactionOwnerId && (n.set(g.id, g.transactionOwnerId), P.setMap("transactionOwnerIds", n)), this.experienceOptions = {
14482
- product: g.product,
14483
- transaction: g,
14469
+ this.currencyCode = (c = l.product.partner) == null ? void 0 : c.currencyCode, l.transactionOwnerId && (n.set(l.id, l.transactionOwnerId), P.setMap("transactionOwnerIds", n)), this.experienceOptions = {
14470
+ product: l.product,
14471
+ transaction: l,
14484
14472
  layouts: [],
14485
14473
  stateMutationFunc: async (d) => this.updateTransactionState({
14486
14474
  ...d,
14487
- context: { transactionOwnerId: g.transactionOwnerId }
14475
+ context: { transactionOwnerId: l.transactionOwnerId }
14488
14476
  }),
14489
14477
  readOnly: t
14490
14478
  }, this.initialized = !0;
@@ -14535,8 +14523,8 @@ class ss {
14535
14523
  model: this.experienceOptions.product.modelUrl,
14536
14524
  contextService: this.experienceOptions.renderableContextService
14537
14525
  }));
14538
- const g = new Me(this, this.experienceOptions);
14539
- return await g.getWorkflowManager().getInitializationPromise(), g;
14526
+ const l = new Me(this, this.experienceOptions);
14527
+ return await l.getWorkflowManager().getInitializationPromise(), l;
14540
14528
  }
14541
14529
  throw new H("No workflow ID provided.");
14542
14530
  }
@@ -14772,7 +14760,7 @@ class Ys {
14772
14760
  return [];
14773
14761
  }
14774
14762
  }
14775
- var os = /* @__PURE__ */ ((l) => (l.SelectFrame = "SelectFrame", l.SelectImage = "SelectImage", l.Position = "Position", l))(os || {});
14763
+ var os = /* @__PURE__ */ ((g) => (g.SelectFrame = "SelectFrame", g.SelectImage = "SelectImage", g.Position = "Position", g))(os || {});
14776
14764
  class rs extends X {
14777
14765
  constructor(e, t, A) {
14778
14766
  var a;
@@ -15042,8 +15030,8 @@ export {
15042
15030
  ni as generateCommands,
15043
15031
  co as generateSVGWithUnknownColors,
15044
15032
  ys as generateStateFromDesignInputSteps,
15045
- lo as getAttributesFromArrayBuffer,
15046
- go as getAxisAlignedBoundingBox,
15033
+ go as getAttributesFromArrayBuffer,
15034
+ lo as getAxisAlignedBoundingBox,
15047
15035
  Wa as getBoundedOffsets,
15048
15036
  Bo as getFrameData,
15049
15037
  Co as getSvgElement,
@@ -15066,7 +15054,7 @@ export {
15066
15054
  uo as registerWindowImplementation,
15067
15055
  mo as rehydrateSerializedLayout,
15068
15056
  $a as rgbToPms,
15069
- ga as setBearerAuthenticationToken,
15057
+ la as setBearerAuthenticationToken,
15070
15058
  Qo as setCanvasModule,
15071
15059
  Ee as shapeStepService,
15072
15060
  qa as shortenUrl,