@spiffcommerce/core 21.14.0 → 21.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createHttpLink as IA, InMemoryCache as fA, ApolloClient as DA, from as FA, gql as D } from "@apollo/client/core";
2
- import { fetch as et, getAttributesFromArrayBuffer as Rt, AssetType as ut, StepType as y, getFrameData as tt, frameDataCache as yA, GroupCommand as v, UpdateFramePattern as Ht, UpdateFrameThresholdSettingsCommand as MA, calculateOffsets as At, LayoutElementType as k, generate as J, CreateElementCommand as L, generateSVGWithUnknownColors as Ut, svgObjectURL as Pe, fetchAsString as _, DeleteElementCommand as ee, generateDefaultRectangleFrameSvg as Ct, GetSVGDimensions as SA, patternImageDataCache as Qt, fetchAsArrayBuffer as YA, findElement as xe, modifySVGWithElementProperties as PA, IllustrationColorCommand as We, IllustrationCacheCommand as xA, getFontMetrics as NA, getPatternImageData as Xe, FontAlignmentCommand as RA, FontColorCommand as HA, FontImageFillCommand as Oe, applyTextTransformations as qe, determineCorrectFontSizeAndLines as Me, FontSourceCommand as mt, loadFont as at, TextChangeCommand as UA, FontSizeCommand as vA, createElementNS as GA, createElement as Qe, _loadFontExternalDataURL as nt, UpdateWorkflowStateCommand as pt, CommandContext as kA, createCanvas as Ne, getSvgElement as vt, LayoutRenderingPurpose as Gt, renderPapyrusComponentAsString as kt, loadImage as bt, getDomParser as Jt, toBase64 as It, getVariant as bA, generateFrameSVG as JA, getDefaultVariant as be, domParser as Tt, sanitizeSvgTree as Lt, traverse as TA, xmlSerializer as Ot, CreateLayoutCommand as LA, AspectType as Be, rehydrateSerializedLayout as Ae } from "@spiffcommerce/papyrus";
3
- import { AspectType as es, AssetType as ts, BringForwardCommand as As, BringToBackCommand as as, BringToFrontCommand as ns, CanvasCommand as is, CommandContext as ss, CreateElementCommand as os, CreateLayoutCommand as rs, DeleteElementCommand as cs, FontAlignmentCommand as gs, FontColorCommand as ls, FontSizeCommand as Bs, FontSourceCommand as ds, GroupCommand as ws, LayoutElementFactory as hs, LayoutElementType as Es, MoveCommand as us, ResizeCommand as Cs, RotateCommand as Qs, SendBackwardsCommand as ms, StepAspectType as ps, StepType as Is, TextChangeCommand as fs, UnitOfMeasurement as Ds, UpdateImageSourceCommand as Fs, dataUrlFromExternalUrl as ys, determineCorrectFontSizeAndLines as Ms, findElement as Ss, frameDataCache as Ys, generate as Ps, generateSVGWithUnknownColors as xs, getAttributesFromArrayBuffer as Ns, getAxisAlignedBoundingBox as Rs, getFrameData as Hs, getSvgElement as Us, loadFont as vs, patternImageDataCache as Gs, registerFetchImplementation as ks, registerWindowImplementation as bs, rehydrateSerializedLayout as Js, setCanvasModule as Ts } from "@spiffcommerce/papyrus";
2
+ import { fetch as tt, getAttributesFromArrayBuffer as Ht, AssetType as We, StepType as M, getFrameData as At, frameDataCache as yA, GroupCommand as G, UpdateFramePattern as Rt, UpdateFrameThresholdSettingsCommand as MA, calculateOffsets as at, LayoutElementType as k, generate as J, CreateElementCommand as T, generateSVGWithUnknownColors as Ut, svgObjectURL as Pe, fetchAsString as _, DeleteElementCommand as ee, generateDefaultRectangleFrameSvg as Ct, GetSVGDimensions as SA, patternImageDataCache as Qt, fetchAsArrayBuffer as YA, findElement as xe, modifySVGWithElementProperties as PA, IllustrationColorCommand as Xe, IllustrationCacheCommand as xA, getFontMetrics as NA, getPatternImageData as qe, FontAlignmentCommand as HA, FontColorCommand as RA, FontImageFillCommand as Oe, applyTextTransformations as Ze, determineCorrectFontSizeAndLines as Me, FontSourceCommand as mt, loadFont as nt, TextChangeCommand as UA, FontSizeCommand as vA, createElementNS as GA, createElement as Qe, _loadFontExternalDataURL as it, UpdateWorkflowStateCommand as pt, CommandContext as kA, createCanvas as Ne, getSvgElement as vt, LayoutRenderingPurpose as Gt, renderPapyrusComponentAsString as kt, loadImage as bt, getDomParser as Jt, toBase64 as It, getVariant as bA, generateFrameSVG as JA, getDefaultVariant as be, domParser as Lt, sanitizeSvgTree as Tt, traverse as LA, xmlSerializer as Ot, CreateLayoutCommand as TA, AspectType as Be, rehydrateSerializedLayout as Ae } from "@spiffcommerce/papyrus";
3
+ import { AspectType as es, AssetType as ts, BringForwardCommand as As, BringToBackCommand as as, BringToFrontCommand as ns, CanvasCommand as is, CommandContext as ss, CreateElementCommand as os, CreateLayoutCommand as rs, DeleteElementCommand as cs, FontAlignmentCommand as gs, FontColorCommand as ls, FontSizeCommand as Bs, FontSourceCommand as ds, GroupCommand as ws, LayoutElementFactory as hs, LayoutElementType as Es, MoveCommand as us, ResizeCommand as Cs, RotateCommand as Qs, SendBackwardsCommand as ms, StepAspectType as ps, StepType as Is, TextChangeCommand as fs, UnitOfMeasurement as Ds, UpdateImageSourceCommand as Fs, dataUrlFromExternalUrl as ys, determineCorrectFontSizeAndLines as Ms, findElement as Ss, frameDataCache as Ys, generate as Ps, generateSVGWithUnknownColors as xs, getAttributesFromArrayBuffer as Ns, getAxisAlignedBoundingBox as Hs, getFrameData as Rs, getSvgElement as Us, loadFont as vs, patternImageDataCache as Gs, registerFetchImplementation as ks, registerWindowImplementation as bs, rehydrateSerializedLayout as Js, setCanvasModule as Ls } from "@spiffcommerce/papyrus";
4
4
  import { setContext as OA } from "@apollo/client/link/context";
5
5
  import { onError as zA } from "@apollo/client/link/error";
6
6
  import { Pith as zt } from "pith";
@@ -8,8 +8,8 @@ import Kt from "lodash.debounce";
8
8
  import jt from "lodash.isequal";
9
9
  import we from "lodash.clonedeep";
10
10
  import { toString as Vt } from "qrcode";
11
- import { split as Ze } from "unicode-default-word-boundary";
12
- import it from "svg-path-bbox";
11
+ import { split as $e } from "unicode-default-word-boundary";
12
+ import st from "svg-path-bbox";
13
13
  import ft from "lodash.chunk";
14
14
  class Wt extends Error {
15
15
  constructor(e) {
@@ -21,7 +21,7 @@ class ue extends Wt {
21
21
  super(`ConfigurationError - ${e}`);
22
22
  }
23
23
  }
24
- class Re extends ue {
24
+ class He extends ue {
25
25
  constructor(e) {
26
26
  super(`Option not Configured: ${e.stepTitle}`), this.optionId = (e == null ? void 0 : e.optionId) || "N/A";
27
27
  }
@@ -41,7 +41,7 @@ class he extends ue {
41
41
  super(`Resource not found for asset: ${e.name}`), this.asset = e;
42
42
  }
43
43
  }
44
- class He extends ue {
44
+ class Re extends ue {
45
45
  constructor(e, t) {
46
46
  super(`Workflow Misconfiguration: ${e.stepName} - ${t}`), this.step = e;
47
47
  }
@@ -66,7 +66,7 @@ class U extends Je {
66
66
  super(`Client Error: ${e}`);
67
67
  }
68
68
  }
69
- class Te extends Je {
69
+ class Le extends Je {
70
70
  constructor(e) {
71
71
  super(`Resource Generation Failed: ${e}`);
72
72
  }
@@ -120,7 +120,7 @@ const jA = () => {
120
120
  } catch {
121
121
  return console.warn("Local storage was unavilable due to browser security settings. Using in-memory storage instead."), new Dt();
122
122
  }
123
- }, Y = jA();
123
+ }, P = jA();
124
124
  class VA {
125
125
  constructor() {
126
126
  this.defaultServerUrl = "https://api.spiff.com.au", this.defaultServicesApiUrl = "https://services.spiff.com.au", this.defaultHubUrl = "https://hub.spiff.com.au", this.serverUrl = this.defaultServerUrl, this.servicesApiUrl = this.defaultServicesApiUrl, this.hubUrl = this.defaultHubUrl, this.serverUrlCallbacks = [];
@@ -152,17 +152,17 @@ let Xt;
152
152
  const Ft = (c) => {
153
153
  Xt = c;
154
154
  };
155
- let st;
155
+ let ot;
156
156
  const WA = (c) => {
157
- st = c;
158
- }, XA = () => st, qA = () => new Promise((c) => {
157
+ ot = c;
158
+ }, XA = () => ot, qA = () => new Promise((c) => {
159
159
  const e = $.getHubUrl(), t = (A) => {
160
160
  A.origin === e && (window.removeEventListener("message", t), c(A.data));
161
161
  };
162
162
  window.parent !== window && (window.addEventListener("message", t, !1), window.parent.postMessage("ready", e));
163
163
  }), ZA = async () => {
164
164
  const c = {
165
- applicationKey: st,
165
+ applicationKey: ot,
166
166
  customerToken: Xt
167
167
  };
168
168
  return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await qA(), ...c } : c;
@@ -179,7 +179,7 @@ class $A {
179
179
  constructShadowGraphqlClient() {
180
180
  const e = IA({
181
181
  uri: `${$.getServerUrl()}/graphql`,
182
- fetch: et
182
+ fetch: tt
183
183
  }), t = OA(async (i, s) => {
184
184
  const { headers: o } = s, r = o || {}, g = await ZA(), B = s.bearer ?? g.bearer, l = s.partnerId ?? g.partnerId, d = s.activeIntegration ?? g.activeIntegration, w = s.transactionOwnerId, E = s.customerToken ?? g.customerToken, h = s.applicationKey ?? g.applicationKey, u = s.bundleOwnerId;
185
185
  try {
@@ -187,8 +187,8 @@ class $A {
187
187
  const C = window.__SENTRY__.hub;
188
188
  if (C) {
189
189
  const I = C.traceHeaders();
190
- Object.entries(I).forEach(([m, Q]) => {
191
- r[m] = Q;
190
+ Object.entries(I).forEach(([p, Q]) => {
191
+ r[p] = Q;
192
192
  });
193
193
  }
194
194
  }
@@ -281,7 +281,7 @@ const x = new $A(), _A = D`
281
281
  ...AssetFields
282
282
  }
283
283
  }
284
- `, ot = D`
284
+ `, rt = D`
285
285
  fragment MaterialFields on Material {
286
286
  id
287
287
  name
@@ -329,7 +329,7 @@ const x = new $A(), _A = D`
329
329
  }
330
330
  }
331
331
  `, ta = D`
332
- ${ot}
332
+ ${rt}
333
333
  query GetMaterials($ids: [String]) {
334
334
  materials(id: $ids) {
335
335
  ...MaterialFields
@@ -388,7 +388,7 @@ const x = new $A(), _A = D`
388
388
  class sa {
389
389
  constructor() {
390
390
  this.cache = /* @__PURE__ */ new Map(), this.bgrmProcessCache = /* @__PURE__ */ new Map(), this.materialCache = /* @__PURE__ */ new Map(), this.loadImageAsFileInfo = async (e) => {
391
- const t = await e.arrayBuffer(), A = await Rt(t), a = (n, i) => {
391
+ const t = await e.arrayBuffer(), A = await Ht(t), a = (n, i) => {
392
392
  const s = atob(n.split(",")[1]), o = [];
393
393
  for (let r = 0; r < s.length; r++)
394
394
  o.push(s.charCodeAt(r));
@@ -471,7 +471,7 @@ class sa {
471
471
  }, A, a);
472
472
  }
473
473
  async uploadFile(e, t) {
474
- const A = !(e.type === "image/svg+xml" || e.type === "application/pdf"), a = A ? ut.Image : ut.Illustration;
474
+ const A = !(e.type === "image/svg+xml" || e.type === "application/pdf"), a = A ? We.Image : We.Illustration;
475
475
  if (A) {
476
476
  const n = await this.loadImageAsFileInfo(e);
477
477
  return await this.uploadAssetWithProgress(n, a, t, !0);
@@ -561,27 +561,27 @@ const re = "persistentAssets", Zt = class Z {
561
561
  }
562
562
  const t = /* @__PURE__ */ new Map();
563
563
  t.set(e.key || "", e.fileLink);
564
- const A = Y.getMap(re);
564
+ const A = P.getMap(re);
565
565
  A && A.forEach((a, n) => {
566
566
  t.set(n, a);
567
- }), Y.setMap(re, t), Z.executeCallbacks();
567
+ }), P.setMap(re, t), Z.executeCallbacks();
568
568
  }
569
569
  /**
570
570
  * Remove an existing asset from persistence. Noop if the asset doesn't exist.
571
571
  * @param assetKey The key to remove.
572
572
  */
573
573
  static remove(e) {
574
- const t = Y.getMap(re);
574
+ const t = P.getMap(re);
575
575
  if (!t)
576
576
  return;
577
577
  const A = Array.from(t.entries()).find((a) => a[0] === e);
578
- A && (t.delete(A[0]), Y.setMap(re, t), Z.executeCallbacks());
578
+ A && (t.delete(A[0]), P.setMap(re, t), Z.executeCallbacks());
579
579
  }
580
580
  /**
581
581
  * Get a list of all persisted assets.
582
582
  */
583
583
  static list() {
584
- const e = Y.getMap(re);
584
+ const e = P.getMap(re);
585
585
  return e ? Array.from(e.entries()).map((t) => ({ assetKey: t[0], src: t[1] })) : [];
586
586
  }
587
587
  /**
@@ -629,13 +629,13 @@ class K {
629
629
  A && (t.delete(A), K.setMap(t));
630
630
  }
631
631
  static getMap() {
632
- return Y.getMap(yt) || /* @__PURE__ */ new Map();
632
+ return P.getMap(yt) || /* @__PURE__ */ new Map();
633
633
  }
634
634
  static setMap(e) {
635
- Y.setMap(yt, e);
635
+ P.setMap(yt, e);
636
636
  }
637
637
  }
638
- const G = new sa();
638
+ const v = new sa();
639
639
  class oa {
640
640
  constructor() {
641
641
  this.cache = {}, this.disabled = !1;
@@ -709,7 +709,7 @@ const Ee = new oa(), $t = D`
709
709
  }
710
710
  `, ra = D`
711
711
  ${Ce(!1)}
712
- ${ot}
712
+ ${rt}
713
713
  ${$t}
714
714
  query GetOptions($ids: [String]!) {
715
715
  options(ids: $ids) {
@@ -727,8 +727,8 @@ const Ee = new oa(), $t = D`
727
727
  });
728
728
  return e.data.options.forEach((t) => {
729
729
  var A, a;
730
- (A = t.defaultVariant) != null && A.asset && G.cacheAsset(t.defaultVariant.asset), t.colorProfile && G.cacheAsset(t.colorProfile), (a = t.variants) == null || a.forEach((n) => {
731
- n.asset && G.cacheAsset(n.asset), n.displayImage && G.cacheAsset(n.displayImage), n.thumbnail && G.cacheAsset(n.thumbnail), n.material && G.cacheMaterial(n.material);
730
+ (A = t.defaultVariant) != null && A.asset && v.cacheAsset(t.defaultVariant.asset), t.colorProfile && v.cacheAsset(t.colorProfile), (a = t.variants) == null || a.forEach((n) => {
731
+ n.asset && v.cacheAsset(n.asset), n.displayImage && v.cacheAsset(n.displayImage), n.thumbnail && v.cacheAsset(n.thumbnail), n.material && v.cacheMaterial(n.material);
732
732
  });
733
733
  }), e.data.options;
734
734
  }, ga = async (c, e) => (await e).find((A) => A.id === c), la = async (c) => {
@@ -794,7 +794,7 @@ class Ba {
794
794
  }
795
795
  }
796
796
  const V = new Ba();
797
- var da = /* @__PURE__ */ ((c) => (c.Hub = "Hub", c.Shopify = "Shopify", c))(da || {}), rt = /* @__PURE__ */ ((c) => (c.BackgroundRemover = "BackgroundRemover", c.ConversionAccelerator = "Conversion Accelerator", c.ProcessBuilder = "ProcessBuilder", c))(rt || {}), wa = /* @__PURE__ */ ((c) => (c[c.Orbit = 0] = "Orbit", c[c.Pan = 1] = "Pan", c))(wa || {}), ha = /* @__PURE__ */ ((c) => (c.Manual = "Manual", c.OnStart = "OnStart", c.OnQuit = "OnQuit", c.OnEnd = "OnEnd", c))(ha || {}), Ea = /* @__PURE__ */ ((c) => (c.Email = "Email", c.FirstName = "FirstName", c.LastName = "LastName", c.Phone = "Phone", c))(Ea || {}), Ue = /* @__PURE__ */ ((c) => (c.Owner = "Owner", c.Approver = "Approver", c.Editor = "Editor", c.Viewer = "Viewer", c))(Ue || {});
797
+ var da = /* @__PURE__ */ ((c) => (c.Hub = "Hub", c.Shopify = "Shopify", c))(da || {}), ct = /* @__PURE__ */ ((c) => (c.BackgroundRemover = "BackgroundRemover", c.ConversionAccelerator = "Conversion Accelerator", c.ProcessBuilder = "ProcessBuilder", c))(ct || {}), wa = /* @__PURE__ */ ((c) => (c[c.Orbit = 0] = "Orbit", c[c.Pan = 1] = "Pan", c))(wa || {}), ha = /* @__PURE__ */ ((c) => (c.Manual = "Manual", c.OnStart = "OnStart", c.OnQuit = "OnQuit", c.OnEnd = "OnEnd", c))(ha || {}), Ea = /* @__PURE__ */ ((c) => (c.Email = "Email", c.FirstName = "FirstName", c.LastName = "LastName", c.Phone = "Phone", c))(Ea || {}), Ue = /* @__PURE__ */ ((c) => (c.Owner = "Owner", c.Approver = "Approver", c.Editor = "Editor", c.Viewer = "Viewer", c))(Ue || {});
798
798
  const oe = D`
799
799
  fragment AdditionalIntegrationProductFields on IntegrationProduct {
800
800
  id
@@ -1295,14 +1295,14 @@ const _t = D`
1295
1295
  ...IntegrationProductFields
1296
1296
  }
1297
1297
  }
1298
- `, ce = [y.SilentIllustration, y.ProductOverlay], Da = async (c) => {
1298
+ `, ce = [M.SilentIllustration, M.ProductOverlay], Da = async (c) => {
1299
1299
  const e = [];
1300
1300
  c.introduction && e.push({
1301
1301
  name: "Introduction",
1302
1302
  title: c.name,
1303
1303
  renderableSteps: [
1304
1304
  {
1305
- type: y.Introduction,
1305
+ type: M.Introduction,
1306
1306
  stepName: "Introduction",
1307
1307
  stepTitle: c.name,
1308
1308
  helpText: c.introduction,
@@ -1337,7 +1337,7 @@ const _t = D`
1337
1337
  title: t,
1338
1338
  renderableSteps: [
1339
1339
  {
1340
- type: y.Finish,
1340
+ type: M.Finish,
1341
1341
  stepName: "Finish",
1342
1342
  stepTitle: t,
1343
1343
  helpText: "",
@@ -1373,7 +1373,7 @@ const _t = D`
1373
1373
  for (const s of A)
1374
1374
  for (const o of s.renderableSteps) {
1375
1375
  const r = (((i = o.option) == null ? void 0 : i.variants) || []).length;
1376
- o.silent || (o.type === y.Model || o.type === y.Material || o.type === y.Picture || o.type === y.Shape ? (r > 1 || t) && a.push(o.stepName) : a.push(o.stepName));
1376
+ o.silent || (o.type === M.Model || o.type === M.Material || o.type === M.Picture || o.type === M.Shape ? (r > 1 || t) && a.push(o.stepName) : a.push(o.stepName));
1377
1377
  }
1378
1378
  const n = A.filter((s) => s.renderableSteps.filter(
1379
1379
  (r) => a.includes(r.stepName)
@@ -1495,7 +1495,7 @@ class Ya {
1495
1495
  if (a.currentFrameSources) {
1496
1496
  let n = !1;
1497
1497
  for (let i = 0; i < a.currentFrameSources.length; i++) {
1498
- const s = a.currentFrameSources[i], o = await tt(s), r = this.frameData ? this.frameData[i] : void 0;
1498
+ const s = a.currentFrameSources[i], o = await At(s), r = this.frameData ? this.frameData[i] : void 0;
1499
1499
  jt(o, r) || (this.frameData || (this.frameData = new Array(a.currentFrameSources.length)), this.frameData[i] = o, n = !0);
1500
1500
  }
1501
1501
  n && (this.onFrameDataChangeListeners.forEach(
@@ -1652,8 +1652,8 @@ class Ya {
1652
1652
  const s = this.workflowManager.getCommandDispatcher();
1653
1653
  n.forEach((o, r) => {
1654
1654
  s(
1655
- new v([
1656
- new Ht(o, t, e[r]),
1655
+ new G([
1656
+ new Rt(o, t, e[r]),
1657
1657
  new MA(
1658
1658
  o,
1659
1659
  a.useThreshold,
@@ -1680,7 +1680,7 @@ class Ya {
1680
1680
  }
1681
1681
  recalculateOffsets(e) {
1682
1682
  this.frameData && ((!this.offsets || this.offsets.length !== this.frameData.length) && (this.offsets = new Array(this.frameData.length)), this.frameData.forEach((t, A) => {
1683
- this.offsets[A] = At(e, t);
1683
+ this.offsets[A] = at(e, t);
1684
1684
  }), this._debouncedUpdateFrameOffsets(
1685
1685
  this.offsets,
1686
1686
  e,
@@ -1698,14 +1698,14 @@ class St {
1698
1698
  if (!n)
1699
1699
  throw new z(a);
1700
1700
  let i = "";
1701
- if (this.configuration.type === y.ProductOverlay) {
1701
+ if (this.configuration.type === M.ProductOverlay) {
1702
1702
  let l = "";
1703
1703
  if ((o = this.product) != null && o.overlayImageUrl && (l = this.product.overlayImageUrl), i = l, !l)
1704
- throw new He(this.configuration, "Couldn't find an asset for product overlay step");
1704
+ throw new Re(this.configuration, "Couldn't find an asset for product overlay step");
1705
1705
  }
1706
1706
  const s = this.evaluateAssetType();
1707
1707
  if (s === k.Image) {
1708
- const l = this.configuration.type === y.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (g = this.product) == null ? void 0 : g.overlayImageUrl;
1708
+ const l = this.configuration.type === M.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (g = this.product) == null ? void 0 : g.overlayImageUrl;
1709
1709
  if (!l)
1710
1710
  throw new Error("Undefined raster silent step source");
1711
1711
  const d = {
@@ -1720,7 +1720,7 @@ class St {
1720
1720
  layer: a.layer,
1721
1721
  layerIndex: a.layerIndex,
1722
1722
  immutable: a.immutable,
1723
- productOverlay: this.configuration.type === y.ProductOverlay ? !0 : void 0,
1723
+ productOverlay: this.configuration.type === M.ProductOverlay ? !0 : void 0,
1724
1724
  rotation: a.rotation,
1725
1725
  excludeFromExport: this.configuration.data.excludeFromPrint,
1726
1726
  preserveAspectRatio: "none"
@@ -1730,10 +1730,10 @@ class St {
1730
1730
  id: d.id,
1731
1731
  region: a
1732
1732
  },
1733
- command: new L(d, n)
1733
+ command: new T(d, n)
1734
1734
  };
1735
1735
  } else {
1736
- const l = this.configuration.type === y.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, w = await Ut(await (async () => new Promise((h, u) => {
1736
+ const l = this.configuration.type === M.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, w = await Ut(await (async () => new Promise((h, u) => {
1737
1737
  if (!l) {
1738
1738
  u("Undefined vector silent step source");
1739
1739
  return;
@@ -1757,7 +1757,7 @@ class St {
1757
1757
  layerIndex: a.layerIndex,
1758
1758
  rotation: a.rotation,
1759
1759
  immutable: a.immutable,
1760
- productOverlay: this.configuration.type === y.ProductOverlay ? !0 : void 0,
1760
+ productOverlay: this.configuration.type === M.ProductOverlay ? !0 : void 0,
1761
1761
  excludeFromExport: this.configuration.data.excludeFromPrint
1762
1762
  };
1763
1763
  return {
@@ -1765,19 +1765,19 @@ class St {
1765
1765
  id: E.id,
1766
1766
  region: a
1767
1767
  },
1768
- command: new L(E, n)
1768
+ command: new T(E, n)
1769
1769
  };
1770
1770
  }
1771
1771
  }, this.configuration = e, this.layouts = t, this.product = A || void 0;
1772
1772
  }
1773
1773
  async trigger() {
1774
1774
  if (!this.configuration.data.regions)
1775
- throw new He(this.configuration, "Missing regions.");
1776
- if (this.configuration.type === y.SilentIllustration) {
1775
+ throw new Re(this.configuration, "Missing regions.");
1776
+ if (this.configuration.type === M.SilentIllustration) {
1777
1777
  const e = this.configuration.data.regions.map(this.processRegion);
1778
1778
  return Promise.all(e);
1779
1779
  } else
1780
- return this.configuration.type === y.ProductOverlay ? Promise.all(
1780
+ return this.configuration.type === M.ProductOverlay ? Promise.all(
1781
1781
  this.configuration.data.regions.map((e) => {
1782
1782
  if (!this.layouts.find((A) => e.panelId === A.panelId))
1783
1783
  throw new z(e);
@@ -1787,7 +1787,7 @@ class St {
1787
1787
  }
1788
1788
  evaluateAssetType() {
1789
1789
  var t, A, a;
1790
- const e = this.configuration.type === y.ProductOverlay && ((t = this.product) != null && t.overlayImageUrl) ? this.product.overlayImageUrl.toLowerCase() : (a = (A = this.configuration.data.asset) == null ? void 0 : A.fileLink) == null ? void 0 : a.toLowerCase().split("?")[0];
1790
+ const e = this.configuration.type === M.ProductOverlay && ((t = this.product) != null && t.overlayImageUrl) ? this.product.overlayImageUrl.toLowerCase() : (a = (A = this.configuration.data.asset) == null ? void 0 : A.fileLink) == null ? void 0 : a.toLowerCase().split("?")[0];
1791
1791
  return e != null && e.startsWith("data:image/png") || e != null && e.endsWith(".jpeg") || e != null && e.endsWith(".jpg") || e != null && e.endsWith(".png") ? k.Image : e != null && e.endsWith(".svg") || e != null && e.startsWith("image/svg+xml") ? k.Illustration : k.Illustration;
1792
1792
  }
1793
1793
  }
@@ -1802,7 +1802,7 @@ const Pa = async (c) => {
1802
1802
  }
1803
1803
  })).json()).shortUrl;
1804
1804
  } catch (t) {
1805
- throw console.error(t), new Te("Failed to shorten URL, see console.");
1805
+ throw console.error(t), new Le("Failed to shorten URL, see console.");
1806
1806
  }
1807
1807
  };
1808
1808
  class aA {
@@ -1849,19 +1849,19 @@ class xa {
1849
1849
  async regenerateQRCode(e, t, A, a, n, i, s, o, r) {
1850
1850
  if (!t && A !== "" && a === "") {
1851
1851
  const g = async () => {
1852
- var m, Q;
1853
- const C = (await qt([A]))[0], I = (Q = (m = C == null ? void 0 : C.versions) == null ? void 0 : m.find((p) => p.name === "mpeg4")) == null ? void 0 : Q.link;
1852
+ var p, Q;
1853
+ const C = (await qt([A]))[0], I = (Q = (p = C == null ? void 0 : C.versions) == null ? void 0 : p.find((m) => m.name === "mpeg4")) == null ? void 0 : Q.link;
1854
1854
  return { asset: C, link: I };
1855
1855
  }, B = await new Promise((C, I) => {
1856
1856
  new aA(
1857
1857
  async () => !!(await g()).link,
1858
1858
  async () => {
1859
- const m = await g();
1860
- if (!m.link || !m.link)
1861
- throw new he(m.asset);
1859
+ const p = await g();
1860
+ if (!p.link || !p.link)
1861
+ throw new he(p.asset);
1862
1862
  C({
1863
1863
  rel: "mpeg4",
1864
- href: m.link
1864
+ href: p.link
1865
1865
  });
1866
1866
  },
1867
1867
  () => {
@@ -1876,10 +1876,10 @@ class xa {
1876
1876
  d.searchParams.append("video", btoa(JSON.stringify([B]))), d.pathname = d.pathname + (d.pathname.slice(-1) === "/" ? "" : "/");
1877
1877
  const w = d.toString();
1878
1878
  if (w.length >= 2e3)
1879
- throw new Te("Cannot create QR code, URL too long.");
1879
+ throw new Le("Cannot create QR code, URL too long.");
1880
1880
  const E = await Pa(w);
1881
1881
  if (s(E), !i.data || !i.data.regions)
1882
- throw new He(i, "Missing regions.");
1882
+ throw new Re(i, "Missing regions.");
1883
1883
  const h = await this.regionElements(i), u = await this.command(E, h, n, i.stepName);
1884
1884
  u && (u.command && n.getCommandDispatcher()(u.command), u.followup && await u.followup()), await n.setSelectionsAndElements(i.stepName, [], h, async () => {
1885
1885
  n.updateStorage(i.stepName, {
@@ -1903,7 +1903,7 @@ class xa {
1903
1903
  throw new Error("Region not found");
1904
1904
  if (!B || !g)
1905
1905
  throw new Error("Neither a region or layout found!");
1906
- return new L(
1906
+ return new T(
1907
1907
  {
1908
1908
  stepRegion: g,
1909
1909
  stepName: a,
@@ -1919,12 +1919,12 @@ class xa {
1919
1919
  B
1920
1920
  );
1921
1921
  });
1922
- return { command: new v(o), followup: async () => {
1922
+ return { command: new G(o), followup: async () => {
1923
1923
  } };
1924
1924
  }
1925
1925
  }
1926
1926
  const Na = new xa();
1927
- class Ra {
1927
+ class Ha {
1928
1928
  constructor() {
1929
1929
  this.frameSourceSvg = async (e, t) => {
1930
1930
  if (!e)
@@ -2024,18 +2024,18 @@ class Ra {
2024
2024
  new aA(
2025
2025
  async () => {
2026
2026
  var d;
2027
- const B = (d = (await G.getLocalOrFromServer(t.key || "")).versions) == null ? void 0 : d.find((w) => w.name === "svg");
2027
+ const B = (d = (await v.getLocalOrFromServer(t.key || "")).versions) == null ? void 0 : d.find((w) => w.name === "svg");
2028
2028
  return B ? (await fetch(B.link)).status === 200 : !1;
2029
2029
  },
2030
2030
  () => {
2031
- G.getLocalOrFromServer(t.key || "").then((g) => {
2031
+ v.getLocalOrFromServer(t.key || "").then((g) => {
2032
2032
  this.loadPatternFromAsset(g, e, A, a).then(
2033
2033
  r
2034
2034
  );
2035
2035
  });
2036
2036
  },
2037
2037
  () => {
2038
- throw new Te("Failed to resolve transcoded PDF");
2038
+ throw new Le("Failed to resolve transcoded PDF");
2039
2039
  }
2040
2040
  )
2041
2041
  );
@@ -2052,7 +2052,7 @@ class Ra {
2052
2052
  i && (i.command && a.getCommandDispatcher()(i.command), i.followup && await i.followup());
2053
2053
  }
2054
2054
  getCreateElementCommand(e, t, A, a) {
2055
- return new L(
2055
+ return new T(
2056
2056
  {
2057
2057
  id: e,
2058
2058
  type: k.Frame,
@@ -2090,7 +2090,7 @@ class Ra {
2090
2090
  };
2091
2091
  Qt.set(e, s), t.setPatternData(s, A);
2092
2092
  } else {
2093
- const a = await YA(e, !0), n = await Rt(a), i = {
2093
+ const a = await YA(e, !0), n = await Ht(a), i = {
2094
2094
  src: e,
2095
2095
  width: n.width,
2096
2096
  height: n.height,
@@ -2110,7 +2110,7 @@ class Ra {
2110
2110
  n && n(!0);
2111
2111
  const r = await Promise.all(
2112
2112
  e.data.regions.map(async (d, w) => {
2113
- const E = await tt(o[w]), h = s.getImageData(), u = A.map((f) => new ee(f.id)), C = h ? At(h, E) : void 0, I = h ? {
2113
+ const E = await At(o[w]), h = s.getImageData(), u = A.map((f) => new ee(f.id)), C = h ? at(h, E) : void 0, I = h ? {
2114
2114
  id: J(),
2115
2115
  src: h.src,
2116
2116
  x: (C == null ? void 0 : C.x) || 0,
@@ -2120,11 +2120,11 @@ class Ra {
2120
2120
  scaleX: (C == null ? void 0 : C.zoom) || 1,
2121
2121
  scaleY: (C == null ? void 0 : C.zoom) || 1,
2122
2122
  rotation: 0
2123
- } : void 0, m = J(), p = a.getLayouts().find((f) => f.panelId === d.panelId);
2124
- if (!p)
2123
+ } : void 0, p = J(), m = a.getLayouts().find((f) => f.panelId === d.panelId);
2124
+ if (!m)
2125
2125
  throw new z(d);
2126
2126
  return {
2127
- command: this.getCreateElementCommand(m, d, p, {
2127
+ command: this.getCreateElementCommand(p, d, m, {
2128
2128
  frameData: E,
2129
2129
  pattern: I,
2130
2130
  disablePlaceholder: e.data.disablePlaceholder,
@@ -2134,7 +2134,7 @@ class Ra {
2134
2134
  stepName: e.stepName
2135
2135
  }),
2136
2136
  regionEl: {
2137
- id: m,
2137
+ id: p,
2138
2138
  region: d
2139
2139
  },
2140
2140
  removeExistingCommands: u
@@ -2142,7 +2142,7 @@ class Ra {
2142
2142
  })
2143
2143
  ), g = r.map((d) => d.command), B = r.map((d) => d.removeExistingCommands).flat();
2144
2144
  return {
2145
- command: new v([...g, ...B]),
2145
+ command: new G([...g, ...B]),
2146
2146
  followup: async () => {
2147
2147
  n && n(!1), await a.setSelectionsAndElements(
2148
2148
  e.stepName,
@@ -2186,8 +2186,8 @@ class Ra {
2186
2186
  }), A.markUpdateCompleted(i);
2187
2187
  }
2188
2188
  }
2189
- const Se = new Ra();
2190
- class Ha {
2189
+ const Se = new Ha();
2190
+ class Ra {
2191
2191
  async getIllustrationBody(e) {
2192
2192
  return new Promise((t) => {
2193
2193
  _(e, !0).then((A) => {
@@ -2196,7 +2196,7 @@ class Ha {
2196
2196
  });
2197
2197
  }
2198
2198
  getCreateElementCommand(e, t, A, a) {
2199
- return new L(
2199
+ return new T(
2200
2200
  {
2201
2201
  stepRegion: t,
2202
2202
  stepName: a.stepName,
@@ -2291,10 +2291,10 @@ class Ha {
2291
2291
  const s = PA(e, t, A, i), o = await Pe(s), r = [];
2292
2292
  for (const B of a) {
2293
2293
  for (const [l, d] of n.entries())
2294
- r.push(new We(B, l, d));
2294
+ r.push(new Xe(B, l, d));
2295
2295
  r.push(new xA(B, s, o));
2296
2296
  }
2297
- return new v(r);
2297
+ return new G(r);
2298
2298
  }
2299
2299
  async changeColors(e, t, A, a, n) {
2300
2300
  var d, w;
@@ -2341,7 +2341,7 @@ class Ha {
2341
2341
  async selectVariantCommand(e, t, A, a, n, i) {
2342
2342
  var C;
2343
2343
  if (!e.data || !e.data.regions)
2344
- throw new He(e, "Missing regions.");
2344
+ throw new Re(e, "Missing regions.");
2345
2345
  a(!0);
2346
2346
  const s = A.map((I) => new ee(I.id));
2347
2347
  e.mandatory && n.setMandatoryFulfilled(e.stepName, !1);
@@ -2352,13 +2352,13 @@ class Ha {
2352
2352
  if (!r)
2353
2353
  throw new he(o);
2354
2354
  const g = await Ut(await this.getIllustrationBody(r)), B = await Pe(g.svg), l = (I) => {
2355
- const m = n.getLayouts().find((p) => p.panelId === I.panelId);
2356
- if (!m)
2355
+ const p = n.getLayouts().find((m) => m.panelId === I.panelId);
2356
+ if (!p)
2357
2357
  throw new z(I);
2358
2358
  const Q = J();
2359
2359
  return {
2360
2360
  regionElement: { id: Q, region: I },
2361
- command: this.getCreateElementCommand(Q, I, m, {
2361
+ command: this.getCreateElementCommand(Q, I, p, {
2362
2362
  stepName: e.stepName,
2363
2363
  src: r,
2364
2364
  objectURL: B,
@@ -2369,12 +2369,12 @@ class Ha {
2369
2369
  let h = Array.from(Object.values(g.colors)).map((I) => I.browserValue);
2370
2370
  const u = e.data.colorOption;
2371
2371
  return u && ((C = u.variants) == null || C.forEach((I) => {
2372
- h = h.map((m) => {
2372
+ h = h.map((p) => {
2373
2373
  var Q;
2374
- return m.toLowerCase() === ((Q = I.color) == null ? void 0 : Q.toLowerCase()) ? I.name : m;
2374
+ return p.toLowerCase() === ((Q = I.color) == null ? void 0 : Q.toLowerCase()) ? I.name : p;
2375
2375
  });
2376
2376
  })), n.updateMetadata(e.stepName, { colors: h }), {
2377
- command: new v(E),
2377
+ command: new G(E),
2378
2378
  followup: async () => {
2379
2379
  await n.setSelectionsAndElements(
2380
2380
  e.stepName,
@@ -2384,27 +2384,27 @@ class Ha {
2384
2384
  i || n.setMandatoryFulfilled(e.stepName, !0), a(!1);
2385
2385
  }
2386
2386
  );
2387
- const I = await this.availableColors(e, n) || [], m = Object.keys(g.colors);
2388
- if (e.data.colorPickerEnabled && I.length === 1 && m.length === 1) {
2389
- const Q = I[0], p = m[0];
2387
+ const I = await this.availableColors(e, n) || [], p = Object.keys(g.colors);
2388
+ if (e.data.colorPickerEnabled && I.length === 1 && p.length === 1) {
2389
+ const Q = I[0], m = p[0];
2390
2390
  await this.changeColors(
2391
2391
  e,
2392
2392
  d.map((f) => f.regionElement),
2393
2393
  n,
2394
2394
  () => n.getCommandContext().getAllLayouts(),
2395
- /* @__PURE__ */ new Map([[p, Q.variant.color]])
2395
+ /* @__PURE__ */ new Map([[m, Q.variant.color]])
2396
2396
  );
2397
2397
  }
2398
2398
  }
2399
2399
  };
2400
2400
  }
2401
2401
  }
2402
- const Ye = new Ha();
2402
+ const Ye = new Ra();
2403
2403
  class Ua {
2404
2404
  async init(e, t, A) {
2405
2405
  const a = e.option;
2406
2406
  if (!a)
2407
- throw new Re(e);
2407
+ throw new He(e);
2408
2408
  if (A)
2409
2409
  await this.reload(e, t, A);
2410
2410
  else {
@@ -2422,7 +2422,7 @@ class Ua {
2422
2422
  A.serializableWorkflow.steps
2423
2423
  ), s = Object.values(A.layouts).map((g) => g.elements).flat().filter((g) => g.stepName === e.stepName), o = e.option;
2424
2424
  if (!o)
2425
- throw new Re(e);
2425
+ throw new He(e);
2426
2426
  if (a != null && a.selectedVariants) {
2427
2427
  const g = a.selectedVariants[0].id;
2428
2428
  if (g) {
@@ -2478,7 +2478,7 @@ class va {
2478
2478
  async init(e, t, A) {
2479
2479
  const a = e.option;
2480
2480
  if (!a)
2481
- throw new Re(e);
2481
+ throw new He(e);
2482
2482
  if (A)
2483
2483
  await this.reload(e, t, A);
2484
2484
  else {
@@ -2600,7 +2600,7 @@ class Ga {
2600
2600
  return console.error(`Can not find layout for region: ${l.panelId}`), null;
2601
2601
  const u = [];
2602
2602
  return d && u.push(new ee(w)), u.push(
2603
- new L(
2603
+ new T(
2604
2604
  {
2605
2605
  stepRegion: l,
2606
2606
  stepName: e.stepName,
@@ -2622,7 +2622,7 @@ class Ga {
2622
2622
  ), {
2623
2623
  id: w,
2624
2624
  region: l,
2625
- command: new v(u)
2625
+ command: new G(u)
2626
2626
  };
2627
2627
  };
2628
2628
  if (i.length > 0) {
@@ -2633,7 +2633,7 @@ class Ga {
2633
2633
  return r(w, d.region, d.id);
2634
2634
  }).filter((d) => !!d).filter((d) => !!d).map((d) => d && d.command);
2635
2635
  return {
2636
- command: new v(l),
2636
+ command: new G(l),
2637
2637
  followup: async () => {
2638
2638
  }
2639
2639
  };
@@ -2642,7 +2642,7 @@ class Ga {
2642
2642
  (d) => r(s.svgPrint(t, d), d)
2643
2643
  ), l = B.filter((d) => !!d).map((d) => d && d.command);
2644
2644
  return {
2645
- command: new v(l),
2645
+ command: new G(l),
2646
2646
  followup: async () => {
2647
2647
  const d = B.filter((w) => w).map((w) => w && { id: w.id, region: w.region });
2648
2648
  await A.setSelectionsAndElements(
@@ -2662,7 +2662,7 @@ class Ga {
2662
2662
  }
2663
2663
  if (!/^$|^[a-zA-Z0-9 ]+$/.test(t))
2664
2664
  return a("Unsupported characters."), !1;
2665
- const n = Ze(t.toLowerCase());
2665
+ const n = $e(t.toLowerCase());
2666
2666
  for (const i of n)
2667
2667
  for (const s in A) {
2668
2668
  const o = A[s].toLowerCase().replace(/\s/g, "");
@@ -2728,7 +2728,7 @@ class ba {
2728
2728
  const E = J();
2729
2729
  return {
2730
2730
  regionElement: { id: E, region: l },
2731
- command: new L(
2731
+ command: new T(
2732
2732
  {
2733
2733
  stepName: e.stepName,
2734
2734
  stepRegion: l,
@@ -2750,7 +2750,7 @@ class ba {
2750
2750
  };
2751
2751
  }, B = e.data.regions.map(g);
2752
2752
  return {
2753
- command: new v([...r, ...B.map((l) => l.command)]),
2753
+ command: new G([...r, ...B.map((l) => l.command)]),
2754
2754
  followup: async () => {
2755
2755
  await A.setSelectionsAndElements(
2756
2756
  e.stepName,
@@ -2824,7 +2824,7 @@ class Ja {
2824
2824
  }
2825
2825
  }
2826
2826
  const oA = new Ja();
2827
- class Ta {
2827
+ class La {
2828
2828
  constructor() {
2829
2829
  this.shapeFillId = "spiff-fill-shape";
2830
2830
  }
@@ -2843,14 +2843,14 @@ class Ta {
2843
2843
  const o = s.region;
2844
2844
  if (!a.find((g) => g.panelId === (o == null ? void 0 : o.panelId)))
2845
2845
  throw new z(o);
2846
- return new We(s.id, this.shapeFillId, e);
2846
+ return new Xe(s.id, this.shapeFillId, e);
2847
2847
  }).filter((s) => !!s);
2848
- A.getCommandDispatcher()(new v(i)), A.updateStorage(t.stepName, { colour: e });
2848
+ A.getCommandDispatcher()(new G(i)), A.updateStorage(t.stepName, { colour: e });
2849
2849
  }
2850
2850
  async init(e, t, A) {
2851
2851
  const a = e.option;
2852
2852
  if (!a)
2853
- throw new Re(e);
2853
+ throw new He(e);
2854
2854
  if (A)
2855
2855
  await this.reload(e, t, A);
2856
2856
  else {
@@ -2915,10 +2915,10 @@ class Ta {
2915
2915
  if (!n.find((E) => E.panelId === (l == null ? void 0 : l.panelId)))
2916
2916
  throw new z(l);
2917
2917
  const w = s();
2918
- return new We(B.id, this.shapeFillId, w);
2918
+ return new Xe(B.id, this.shapeFillId, w);
2919
2919
  }, g = A.map(r).filter((B) => !!B);
2920
2920
  return {
2921
- command: new v(g),
2921
+ command: new G(g),
2922
2922
  followup: async () => {
2923
2923
  await a.setSelectionsAndElements(
2924
2924
  e.stepName,
@@ -2958,7 +2958,7 @@ class Ta {
2958
2958
  return {
2959
2959
  id: C,
2960
2960
  region: d,
2961
- command: new L(
2961
+ command: new T(
2962
2962
  {
2963
2963
  stepRegion: d,
2964
2964
  stepName: e.stepName,
@@ -2981,7 +2981,7 @@ class Ta {
2981
2981
  };
2982
2982
  }, g = e.data.regions.map(r), B = g.filter((d) => !!d).map((d) => d == null ? void 0 : d.command), l = g.filter((d) => !!d).map((d) => ({ id: d.id, region: d.region }));
2983
2983
  return {
2984
- command: new v(B),
2984
+ command: new G(B),
2985
2985
  followup: async () => {
2986
2986
  await a.setSelectionsAndElements(
2987
2987
  e.stepName,
@@ -2996,8 +2996,8 @@ class Ta {
2996
2996
  }
2997
2997
  }
2998
2998
  }
2999
- const le = new Ta();
3000
- class La {
2999
+ const le = new La();
3000
+ class Ta {
3001
3001
  constructor() {
3002
3002
  this.latestToast = null, this.toastType = null, this.toastCallbacks = [];
3003
3003
  }
@@ -3022,7 +3022,7 @@ class La {
3022
3022
  );
3023
3023
  }
3024
3024
  }
3025
- const Oa = new La(), ze = 30;
3025
+ const Oa = new Ta(), ze = 30;
3026
3026
  class ve extends Error {
3027
3027
  constructor(e) {
3028
3028
  super(e), Object.setPrototypeOf(this, new.target.prototype), this.name = ve.name;
@@ -3054,7 +3054,7 @@ class Ka {
3054
3054
  }, this.textAlign = (e) => e.vertical ? "center" : e.textAlign || "center", this.getErrorsForText = (e, t, A) => {
3055
3055
  const a = [];
3056
3056
  t.data && t.data.maxLength && e.length > t.data.maxLength && a.push({ localizationKey: "workflow.steps.text.characterLimit" });
3057
- const n = A.getProfanities(), i = Ze(e.toLowerCase());
3057
+ const n = A.getProfanities(), i = $e(e.toLowerCase());
3058
3058
  for (const o of i)
3059
3059
  for (const r in n) {
3060
3060
  const g = n[r].toLowerCase().replace(/\s/g, "");
@@ -3075,7 +3075,7 @@ class Ka {
3075
3075
  if (A)
3076
3076
  await this.reload(e, t, A);
3077
3077
  else {
3078
- const o = this.getDefaultImageFillVariant(e.data), r = (n = o == null ? void 0 : o.asset) == null ? void 0 : n.fileLink, g = r ? await Xe(r) : void 0, B = g ? {
3078
+ const o = this.getDefaultImageFillVariant(e.data), r = (n = o == null ? void 0 : o.asset) == null ? void 0 : n.fileLink, g = r ? await qe(r) : void 0, B = g ? {
3079
3079
  src: g.src,
3080
3080
  height: g.height,
3081
3081
  width: g.width,
@@ -3136,7 +3136,7 @@ class Ka {
3136
3136
  return;
3137
3137
  const n = a.getCommandDispatcher();
3138
3138
  for (const i of A) {
3139
- const s = new RA(i.id, t);
3139
+ const s = new HA(i.id, t);
3140
3140
  n(s);
3141
3141
  }
3142
3142
  }
@@ -3156,7 +3156,7 @@ class Ka {
3156
3156
  for (const r of A) {
3157
3157
  if (!t.fill)
3158
3158
  throw new Error("Fill not set on new color selection!");
3159
- const g = new HA(r.id, t.fill, s);
3159
+ const g = new RA(r.id, t.fill, s);
3160
3160
  n(g);
3161
3161
  }
3162
3162
  }
@@ -3170,7 +3170,7 @@ class Ka {
3170
3170
  })) == null ? void 0 : a.filter((i) => !!i)) || [];
3171
3171
  return Promise.all(
3172
3172
  n.map(async (i) => {
3173
- const s = await Xe(i);
3173
+ const s = await qe(i);
3174
3174
  return {
3175
3175
  src: i,
3176
3176
  width: s.width,
@@ -3200,7 +3200,7 @@ class Ka {
3200
3200
  }
3201
3201
  getProcessedInput(e, t, A) {
3202
3202
  const a = A ? e : this.injectReplaceableText(e, t);
3203
- return qe(a, {
3203
+ return Ze(a, {
3204
3204
  vertical: t.vertical,
3205
3205
  uppercase: t.uppercase
3206
3206
  });
@@ -3233,7 +3233,7 @@ class Ka {
3233
3233
  }
3234
3234
  return !A.data.curved && t.length > 0 && !Array.from(B.values()).every((d) => d) ? (s.errors.push({ localizationKey: "workflow.steps.text.doesNotFit" }), s) : (a.updateStorage(A.stepName, { text: e }), a.updateMetadata(A.stepName, {
3235
3235
  text: i
3236
- }), n.defaultCleared && a.setMandatoryFulfilled(A.stepName, !0), s.command = new v(r), s);
3236
+ }), n.defaultCleared && a.setMandatoryFulfilled(A.stepName, !0), s.command = new G(r), s);
3237
3237
  }
3238
3238
  async selectVariant(e, t, A, a, n) {
3239
3239
  const i = await this.selectVariantCommand(
@@ -3277,8 +3277,8 @@ class Ka {
3277
3277
  E,
3278
3278
  async () => {
3279
3279
  t.updateMetadata(e.stepName, { color: h, text: u }), t.updateStorage(e.stepName, { text: u, inputText: u });
3280
- const I = s.map((Q) => new mt(Q.id, w)), m = new v(I);
3281
- t.getCommandDispatcher()(m), t.setMandatoryFulfilled(e.stepName, !0);
3280
+ const I = s.map((Q) => new mt(Q.id, w)), p = new G(I);
3281
+ t.getCommandDispatcher()(p), t.setMandatoryFulfilled(e.stepName, !0);
3282
3282
  }
3283
3283
  );
3284
3284
  const { command: C } = j.updateInputText(
@@ -3316,7 +3316,7 @@ class Ka {
3316
3316
  const A = t.fileLink;
3317
3317
  if (!A)
3318
3318
  throw new he(t);
3319
- const a = await at(A);
3319
+ const a = await nt(A);
3320
3320
  return {
3321
3321
  assetUrl: A,
3322
3322
  name: a.names.fullName.en
@@ -3343,7 +3343,7 @@ class Ka {
3343
3343
  s
3344
3344
  );
3345
3345
  return d && l.push(d), {
3346
- command: new v(l),
3346
+ command: new G(l),
3347
3347
  followup: async () => {
3348
3348
  n.markUpdateCompleted(r), await n.setSelectionsAndElements(e.stepName, [t], a);
3349
3349
  }
@@ -3374,7 +3374,7 @@ class Ka {
3374
3374
  w.push(...h);
3375
3375
  }
3376
3376
  return d && w.push(d), {
3377
- command: new v(w),
3377
+ command: new G(w),
3378
3378
  followup: async () => {
3379
3379
  n.markUpdateCompleted(r);
3380
3380
  }
@@ -3401,15 +3401,15 @@ class Ka {
3401
3401
  const h = A.colorOption;
3402
3402
  let u;
3403
3403
  if (h && h.variants) {
3404
- const N = h.variants.find((R) => {
3404
+ const N = h.variants.find((H) => {
3405
3405
  var O;
3406
- return R.id === ((O = h.defaultVariant) == null ? void 0 : O.id);
3406
+ return H.id === ((O = h.defaultVariant) == null ? void 0 : O.id);
3407
3407
  }) || h.variants[0];
3408
3408
  u = this.createTextFillSpotColor(h, N), i.updateStorage(e, {
3409
3409
  colorProfileAssetKey: (E = h.colorProfile) == null ? void 0 : E.key
3410
3410
  });
3411
3411
  }
3412
- const C = await this.getDefaultColor(A), I = C || "#000000", m = {
3412
+ const C = await this.getDefaultColor(A), I = C || "#000000", p = {
3413
3413
  stepRegion: B,
3414
3414
  stepName: e,
3415
3415
  align: this.textAlign(A),
@@ -3433,34 +3433,34 @@ class Ka {
3433
3433
  curved: A.curved,
3434
3434
  paths: A.paths,
3435
3435
  fillSpotColorDefinition: u
3436
- }, Q = [], p = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map();
3437
- if (!m.fontData)
3436
+ }, Q = [], m = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map();
3437
+ if (!p.fontData)
3438
3438
  throw new b("Failed to resolve font data for text.");
3439
- const [F, M] = Me(
3440
- m.fontSize,
3441
- m.fontData,
3439
+ const [F, y] = Me(
3440
+ p.fontSize,
3441
+ p.fontData,
3442
3442
  {
3443
- left: m.x,
3444
- top: m.y,
3445
- width: m.width,
3446
- height: m.height,
3447
- rotation: m.rotation,
3443
+ left: p.x,
3444
+ top: p.y,
3445
+ width: p.width,
3446
+ height: p.height,
3447
+ rotation: p.rotation,
3448
3448
  panelId: ""
3449
3449
  },
3450
3450
  [o],
3451
3451
  { size: A.size, minSize: A.minSize, maxSize: A.maxSize }
3452
3452
  );
3453
- p.set(m.id, F), f.set(m.id, M);
3454
- const P = A.curved || A.vertical ? o : (M || []).join(`
3453
+ m.set(p.id, F), f.set(p.id, y);
3454
+ const Y = A.curved || A.vertical ? o : (y || []).join(`
3455
3455
  `);
3456
3456
  Q.push(
3457
- this.generateTextChangeCommandsForRegion(F, A, m.id, P)
3457
+ this.generateTextChangeCommandsForRegion(F, A, p.id, Y)
3458
3458
  );
3459
- const S = new L(m, d);
3459
+ const S = new T(p, d);
3460
3460
  return {
3461
3461
  regionElement: { id: w, region: B },
3462
3462
  commands: [S, ...Q],
3463
- newElement: m,
3463
+ newElement: p,
3464
3464
  fontData: a
3465
3465
  };
3466
3466
  } catch (h) {
@@ -3488,32 +3488,32 @@ class Ka {
3488
3488
  const o = new vA(A, e);
3489
3489
  n.push(o);
3490
3490
  }
3491
- return new v(n);
3491
+ return new G(n);
3492
3492
  }
3493
3493
  /**
3494
3494
  * @deprecated
3495
3495
  */
3496
3496
  async changeInputTextWithRegion(e, t, A, a, n, i, s, o, r, g) {
3497
3497
  const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), l = this.getProcessedInput(B, e.data, s), d = i.getRegionElements(e.stepName), w = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Map();
3498
- for (const m of d)
3499
- if (m.region) {
3500
- const [Q, p] = Me(
3498
+ for (const p of d)
3499
+ if (p.region) {
3500
+ const [Q, m] = Me(
3501
3501
  t,
3502
3502
  A,
3503
- m.region,
3503
+ p.region,
3504
3504
  [l],
3505
3505
  { size: e.data.size, minSize: e.data.minSize, maxSize: e.data.maxSize }
3506
3506
  );
3507
- w.set(m.id, Q), E.set(m.id, p);
3507
+ w.set(p.id, Q), E.set(p.id, m);
3508
3508
  }
3509
3509
  const u = (() => {
3510
3510
  if (e.data && e.data.maxLength && l.length > e.data.maxLength)
3511
3511
  return g && g(!0), { info: "0" };
3512
- const m = i.getProfanities(), Q = Ze(l.toLowerCase());
3513
- for (const p of Q)
3514
- for (const f in m) {
3515
- const F = m[f].toLowerCase().replace(/\s/g, "");
3516
- if (p === F)
3512
+ const p = i.getProfanities(), Q = $e(l.toLowerCase());
3513
+ for (const m of Q)
3514
+ for (const f in p) {
3515
+ const F = p[f].toLowerCase().replace(/\s/g, "");
3516
+ if (m === F)
3517
3517
  return o(!0), { error: "Blocked profanity." };
3518
3518
  }
3519
3519
  return !e.data.vertical && !e.data.allowNewlines && (l.includes(`
@@ -3529,23 +3529,23 @@ class Ka {
3529
3529
  text: this.injectReplaceableText(B, e.data)
3530
3530
  }), n.defaultCleared && i.setMandatoryFulfilled(e.stepName, !0);
3531
3531
  const C = [];
3532
- for (const m of d) {
3533
- const Q = e.data.curved ? l : (E.get(m.id) || []).join(`
3532
+ for (const p of d) {
3533
+ const Q = e.data.curved ? l : (E.get(p.id) || []).join(`
3534
3534
  `);
3535
3535
  C.push(
3536
3536
  this.generateTextChangeCommandsForRegion(
3537
- w.get(m.id) || 1,
3537
+ w.get(p.id) || 1,
3538
3538
  e.data,
3539
- m.id,
3539
+ p.id,
3540
3540
  Q
3541
3541
  )
3542
3542
  );
3543
3543
  }
3544
- return new v(C);
3544
+ return new G(C);
3545
3545
  }
3546
3546
  }
3547
3547
  const j = new Ka();
3548
- class ct {
3548
+ class gt {
3549
3549
  }
3550
3550
  const ja = "data:application/font-woff;base64,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", Va = `<?xml version="1.0" encoding="iso-8859-1"?>
3551
3551
  <!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
@@ -4808,14 +4808,14 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
4808
4808
  </g>
4809
4809
  </svg>
4810
4810
 
4811
- `, H = (c) => GA("http://www.w3.org/2000/svg", c), gt = (c, e) => {
4812
- const t = H("rect");
4811
+ `, R = (c) => GA("http://www.w3.org/2000/svg", c), lt = (c, e) => {
4812
+ const t = R("rect");
4813
4813
  return t.setAttribute("height", `${c}`), t.setAttribute("width", `${e}`), t;
4814
4814
  }, Wa = () => {
4815
- const c = H("svg");
4815
+ const c = R("svg");
4816
4816
  return c.setAttribute("xmlns", "http://www.w3.org/2000/svg"), c.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), c.setAttribute("version", "1.1"), c;
4817
4817
  }, Xa = (c) => {
4818
- const e = H("use");
4818
+ const e = R("use");
4819
4819
  return e.setAttribute("xlink:href", c), e.setAttribute("href", c), e;
4820
4820
  };
4821
4821
  function rA(c) {
@@ -4823,7 +4823,7 @@ function rA(c) {
4823
4823
  return e.setAttribute("height", `${a}`), e.setAttribute("width", `${A}`), [e, a, A];
4824
4824
  }
4825
4825
  const qa = (c, e, t) => {
4826
- const A = H("g");
4826
+ const A = R("g");
4827
4827
  c.appendChild(A), A.setAttribute("id", t), A.innerHTML = e;
4828
4828
  };
4829
4829
  function cA(c, e, t) {
@@ -4843,7 +4843,7 @@ const gA = (c, e, t, A) => {
4843
4843
  let e = c;
4844
4844
  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;
4845
4845
  };
4846
- function lt(c, e, t, A, a, n) {
4846
+ function Bt(c, e, t, A, a, n) {
4847
4847
  const i = a || 1, s = n || 1, o = {
4848
4848
  x: e[0],
4849
4849
  y: e[1],
@@ -4871,7 +4871,7 @@ const Yt = {
4871
4871
  t: ["x", "y"],
4872
4872
  a: ["rx", "ry", "xRotation", "largeArc", "sweep", "x", "y"]
4873
4873
  };
4874
- class Bt {
4874
+ class dt {
4875
4875
  constructor(e) {
4876
4876
  const t = Array.from(e.querySelectorAll("path"));
4877
4877
  this.paths = t.map((A) => {
@@ -4969,7 +4969,7 @@ class Bt {
4969
4969
  }
4970
4970
  }
4971
4971
  }
4972
- class $a extends ct {
4972
+ class $a extends gt {
4973
4973
  constructor() {
4974
4974
  super(...arguments), this.moduleName = "Favourites";
4975
4975
  }
@@ -4980,40 +4980,40 @@ class $a extends ct {
4980
4980
  return this.svg(e);
4981
4981
  }
4982
4982
  svg(e) {
4983
- const t = nt(ja), a = e !== "" ? ((i) => i.charAt(0).toUpperCase() + i.substr(1).toLowerCase())(e) : "", n = t.getPath(a, 0, 72, 72);
4983
+ const t = it(ja), a = e !== "" ? ((i) => i.charAt(0).toUpperCase() + i.substr(1).toLowerCase())(e) : "", n = t.getPath(a, 0, 72, 72);
4984
4984
  return this.brandSvg(n, Va);
4985
4985
  }
4986
4986
  brandSvg(e, t) {
4987
4987
  const A = e.toSVG(2), a = e.getBoundingBox(), n = a.x2 - a.x1, i = e.toPathData(3), s = () => {
4988
- const Q = H("g"), p = H("defs");
4989
- Q.appendChild(p), p.appendChild(gA(3, 7, 4, "shadow"));
4990
- const f = H("g");
4988
+ const Q = R("g"), m = R("defs");
4989
+ Q.appendChild(m), m.appendChild(gA(3, 7, 4, "shadow"));
4990
+ const f = R("g");
4991
4991
  Q.appendChild(f), f.setAttribute("filter", "url(#shadow)"), f.innerHTML = A;
4992
- const F = H("g");
4992
+ const F = R("g");
4993
4993
  Q.appendChild(F), F.setAttribute("fill", "red"), F.setAttribute("stroke", "red"), F.setAttribute("stroke-width", "9"), F.innerHTML = A;
4994
- const M = H("g");
4995
- Q.appendChild(M), M.setAttribute("fill", "#9d2621"), M.setAttribute("transform", "translate(1,1)"), M.innerHTML = A;
4996
- const P = H("g");
4997
- return Q.appendChild(P), P.setAttribute("fill", "yellow"), P.innerHTML = A, new Bt(Q).transform(([N, R]) => [N, R + (n / 2 - N) ** 2 / (n * 2.9)]), Q;
4994
+ const y = R("g");
4995
+ Q.appendChild(y), y.setAttribute("fill", "#9d2621"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = A;
4996
+ const Y = R("g");
4997
+ return Q.appendChild(Y), Y.setAttribute("fill", "yellow"), Y.innerHTML = A, new dt(Q).transform(([N, H]) => [N, H + (n / 2 - N) ** 2 / (n * 2.9)]), Q;
4998
4998
  }, [o, r, g] = rA(t);
4999
4999
  if (!o)
5000
5000
  return "";
5001
- const B = H("defs");
5001
+ const B = R("defs");
5002
5002
  o.appendChild(B), cA(o, B, t);
5003
- const l = r * 0.23, d = g * 0.94, w = g * 0.04, E = r * 0.53, h = H("g");
5003
+ const l = r * 0.23, d = g * 0.94, w = g * 0.04, E = r * 0.53, h = R("g");
5004
5004
  o.appendChild(h), h.setAttribute("transform", `translate(${w} ${E}) rotate(-21)`);
5005
- const u = gt(l, d);
5005
+ const u = lt(l, d);
5006
5006
  u.setAttribute("opacity", "0"), h.appendChild(u);
5007
- const C = H("g");
5007
+ const C = R("g");
5008
5008
  h.appendChild(C);
5009
5009
  const I = s();
5010
5010
  C.appendChild(I);
5011
- const m = it(i);
5012
- return lt(C, m, l, d), lA(o.outerHTML);
5011
+ const p = st(i);
5012
+ return Bt(C, p, l, d), lA(o.outerHTML);
5013
5013
  }
5014
5014
  }
5015
5015
  const _a = "data:application/octet-stream;base64,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ZWxmIE1ha2VyIDIuMy41AABNAGEAbAB0AGUAcwBlAHIAcwBSAGUAZwB1AGwAYQByAABNYWx0ZXNlcnNSZWd1bGFyAABNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAAABAAIBAgEDAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQCsAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAljb250cm9sTEYJY29udHJvbENSB0FwLmxpZ2EHQWoubGlnYQdFdC5saWdhB0VmLmxpZ2EHRWoubGlnYQdFay5saWdhB0VsLmxpZ2EHRWIubGlnYQdGdC5saWdhB0ZoLmxpZ2EHRmsubGlnYQdGbC5saWdhB0ZiLmxpZ2EHSHQubGlnYQdIZi5saWdhB0l0LmxpZ2EHSXAubGlnYQdJZi5saWdhB0lqLmxpZ2EHSWwubGlnYQdJYi5saWdhB0p0LmxpZ2EHSmYubGlnYQdKaC5saWdhB0prLmxpZ2EHSmwubGlnYQdKYi5saWdhB0t0LmxpZ2EHS3AubGlnYQdLeS5saWdhB0xqLmxpZ2EHTWoubGlnYQdNaC5saWdhB01mLmxpZ2EHTnQubGlnYQdOZi5saWdhB09mLmxpZ2EHT3oubGlnYQdQcS5saWdhB1B3LmxpZ2EHUHIubGlnYQdQdC5saWdhB1B5LmxpZ2EHUHUubGlnYQdQaS5saWdhB1BmLmxpZ2EHUGgubGlnYQdQai5saWdhB1BrLmxpZ2EHUGwubGlnYQdQei5saWdhB1B4LmxpZ2EHUHYubGlnYQdQYi5saWdhB1BuLmxpZ2EHUG0ubGlnYQdScC5saWdhB1JmLmxpZ2EHUmoubGlnYQdUdC5saWdhB1RmLmxpZ2EHVGgubGlnYQdUay5saWdhB1RsLmxpZ2EHVGIubGlnYQdVdC5saWdhB1VzLmxpZ2EHVWYubGlnYQdWdC5saWdhB1ZzLmxpZ2EHVmYubGlnYQdWbC5saWdhB1d0LmxpZ2EHV2YubGlnYQdYcC5saWdhB1l0LmxpZ2EHWWkubGlnYQdZZi5saWdhB1loLmxpZ2EHWWwubGlnYQdZay5saWdhB1liLmxpZ2EHQWYubGlnYQdDeS5saWdhB0VoLmxpZ2EHR3IubGlnYQdPcC5saWdhB2J0LmxpZ2EHYnIubGlnYQdiZi5saWdhB2JqLmxpZ2EHYnoubGlnYQdkdC5saWdhB2VmLmxpZ2EHZnQubGlnYQdmaC5saWdhB2ZiLmxpZ2EHZmsubGlnYQdnai5saWdhB2pqLmxpZ2EHeWoubGlnYQd0dC5saWdhB3RmLmxpZ2EHdGgubGlnYQd0aS5saWdhB3RrLmxpZ2EHdGwubGlnYQh0dGgubGlnYQhlZmYubGlnYQhlZmIubGlnYQdmZi5saWdhB2ZpLmxpZ2EHZmwubGlnYQAAAAAAAAH//wACAAEAAAAMAAAAHAAAAAIAAgADADoAAQA7AKsAAgAEAAAAAgAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQQIAB0AQABaAGQAngDIANIA5AEWAUgBYgFsAYYBmAGyAkQCXgKQAqoCzALeAugDIgNMA1YDdAOuA7gDwgP+AAMACAAOABQAjQACACUAPAACACkAOwACAC8AAQAEAI4AAgA4AAcAEAAWABwAIgAoAC4ANACPAAIAJwBCAAIAIQBBAAIAKwBAAAIAKgA/AAIAKQA+AAIAJQA9AAIAMwAFAAwAEgAYAB4AJABHAAIAIQBGAAIAKwBFAAIAKgBEAAIAJwBDAAIAMwABAAQAkAACADEAAgAGAAwASQACACUASAACADMABgAOABQAGgAgACYALABPAAIAIQBOAAIAKwBNAAIAKQBMAAIAJQBLAAIALwBKAAIAMwAGAA4AFAAaACAAJgAsAFUAAgAhAFQAAgArAFMAAgAqAFIAAgAnAFEAAgAlAFAAAgAzAAMACAAOABQAWAACADgAVwACAC8AVgACADMAAQAEAFkAAgApAAMACAAOABQAXAACACUAWwACACcAWgACACkAAgAGAAwAXgACACUAXQACADMAAwAIAA4AFACRAAIALwBgAAIAOQBfAAIAJQASACYALAAyADgAPgBEAEoAUABWAFwAYgBoAG4AdAB6AIAAhgCMAHIAAgAsAHEAAgAtAHAAAgAhAG8AAgA1AG4AAgA3AG0AAgA5AGwAAgArAGsAAgAqAGoAAgApAGkAAgAnAGgAAgAlAGcAAgAoAGYAAgA0AGUAAgA4AGQAAgAzAGMAAgAxAGIAAgA2AGEAAgAwAAMACAAOABQAdQACACkAdAACACUAcwACAC8ABgAOABQAGgAgACYALAB7AAIAIQB6AAIAKwB5AAIAKgB4AAIAJwB3AAIAJQB2AAIAMwADAAgADgAUAH4AAgAlAH0AAgAyAHwAAgAzAAQACgAQABYAHACCAAIAKwCBAAIAJQCAAAIAMgB/AAIAMwACAAYADACEAAIAJQCDAAIAMwABAAQAhQACAC8ABwAQABYAHAAiACgALgA0AIwAAgAhAIsAAgAqAIoAAgArAIkAAgAnAIgAAgAlAIcAAgAoAIYAAgAzAAUADAASABgAHgAkAJYAAgA5AJUAAgApAJQAAgAlAJMAAgAxAJIAAgAzAAEABACXAAIAMwADAAgAEAAYAKgAAwAlACEApwADACUAJQCYAAIAJQAHABAAFgAcACIAKAAuADQAqwACACsAqgACACgAqQACACUAnAACACoAmwACACEAmgACACcAmQACADMAAQAEAJ0AAgApAAEABACeAAIAKQAHABAAGAAeACQAKgAwADYApgADADMAJwClAAIAKwCkAAIAKgCjAAIAKACiAAIAJwChAAIAJQCgAAIAMwABAAQAnwACACkAAQAdAAYACAAKAAsADAANAA4ADwAQABEAEgATABQAFQAXABkAGgAbABwAHQAeACEAIwAkACUAJgApADMAOAAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAABAAgAAQPGAAQAAABEAJIAnADSAOABIgEoATYBPAFKAVABXgFkAW4BfAGKAawBsgHAAcYB1AHiAewB/gIIAhYCSAJiAnAChgKcAqoCvALKAtAC6gL0AvoDAAMKAxADGgMgAyYDLAMyAzgDOAMyAz4DRANOAz4DVANaA2ADIANmA2wDcgN4A34DiAOOA5gDngOkA7IDvAACAC7//AA3//IADQAl/+oAKP/8ACn/9AAq//AAK//6ACz//gAt//4AMf/qADP//AA0//wANf/+ADb/+AA5//QAAwAt//wALv/8ADb//AAQACT//AAl/+wAJv/6ACf//AAp/+wAKv/0ACv/+gAs//gALf/8AC//7gAx//gAMv/0ADT/9gA3/+oAOP/6ADn/5AABADf/+gADADX//AA3/+gAOf/6AAEALv/2AAMAKP/8ACn/6AAy/+QAAQAu//IAAwAo/+4AL//2ADX/5gABACT/8AACABgAAgAoAAQAAwAo//4ALv/wADL/+AADACf/9gAv/+4Ao//sAAgAKf/qACv/9AAu//wAL//uADH/7gAy//IAN//mAJX/9AABADYADgADACAABAAjAAQAM//4AAEAMv/8AAMAJv/+ACr/+AA3//4AAwAo//gALv/0AJn/7AACACMAAgAl/+wABAAk//wAL//8ADT/9AA4//4AAgAt//IAq//iAAMAJf/sACb/+AA3//wADAAk//wAJv/+ACj/+gAp/+AAK//+ACz/9gAt//wAL//qADH/7AAy//IAN//cAKP/4gAGACQAAgAl/9oAK//yAC//4gAx/+gAMv/8AAMAKQB+ADL/7ACeAIgABQAg//wAIv/4ACb//AAu//YANQAEAAUAKf/0ACr/+AAv//QAM//mAKP/3gADACEAHAAkAAIALv/4AAQAJf/0AC3//gAv//wAmf/8AAMAJP/wACf/+AAp/+4AAQAk//oABgAg//QAIf/wACj/9gAu/+wAL//0ADP/9AACACH//gA3//IAAQApAEIAAQAnACgAAgAzADQAqgAoAAEAMwA0AAIAMwAyAKEARgABADL/6gABADMALAABACkANAABAJoAGAABADMAMgABACkAOAABADMAMAACACUAEgAzAC4AAQApAHgAAQApADYAAQAzAC4AAQAzADgAAQAzAEIAAQAzAEwAAQAz//IAAQAnAEgAAgAl/+4Amv/oAAEAKQBiAAIAKQBaAJ4AUAABACkAVgABAKEARAADADMANgCaABIAogBKAAIAJwAsAKEARgACAC3/8gA3/+oAAQBEAAYABwAIAAkACgAMABEAFAAVABgAHQAgACEAIgAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOQA8AD0APgBIAEkASwBMAE0AUABRAFkAWgBcAF4AXwBhAGgAagB+AIEAhACIAI0AkQCYAJoAnQCeAJ8AoAChAKkAqgAAAAAAAQAAAADUGBYRAAAAANfpcqUAAAAA1+lypQ==";
5016
- class en extends ct {
5016
+ class en extends gt {
5017
5017
  constructor(e, t) {
5018
5018
  super(), this.moduleName = "Maltesers", this.shortLength = 5, this.indicator = (A) => A ? 1 : 0, this.backgroundSvg = e, this.backgroundShortSvg = t;
5019
5019
  }
@@ -5024,44 +5024,44 @@ class en extends ct {
5024
5024
  return this.svg(e);
5025
5025
  }
5026
5026
  svg(e) {
5027
- const t = nt(_a), a = e !== "" ? ((o) => o.charAt(0).toUpperCase() + o.substr(1).toLowerCase())(e) : "", n = t.getPath(a, 0, 72, 72), i = e.length < this.shortLength, s = i ? this.backgroundShortSvg : this.backgroundSvg;
5027
+ const t = it(_a), a = e !== "" ? ((o) => o.charAt(0).toUpperCase() + o.substr(1).toLowerCase())(e) : "", n = t.getPath(a, 0, 72, 72), i = e.length < this.shortLength, s = i ? this.backgroundShortSvg : this.backgroundSvg;
5028
5028
  return this.brandSvg(n, s, i);
5029
5029
  }
5030
5030
  brandSvg(e, t, A) {
5031
5031
  const a = e.toSVG(2), n = e.getBoundingBox(), i = n.y2 - n.y1, s = n.x2 - n.x1, o = e.toPathData(3), r = () => {
5032
- const f = H("g"), F = H("g");
5032
+ const f = R("g"), F = R("g");
5033
5033
  f.appendChild(F), F.setAttribute("stroke", "#5C1A0D"), F.setAttribute("stroke-width", "4"), F.setAttribute("transform", "translate(1,1)"), F.innerHTML = a;
5034
- const M = H("g");
5035
- f.appendChild(M), M.setAttribute("fill", "#FFE386"), M.setAttribute("transform", "translate(1,1)"), M.innerHTML = a;
5036
- const P = H("g");
5037
- f.appendChild(P), P.setAttribute("fill", "white"), P.innerHTML = a;
5038
- const S = new Bt(f);
5039
- return S.transform(([N, R]) => [N, R + ((s - N) * R) ** 2 / (s * 5e4)]), S.transform(([N, R]) => [
5034
+ const y = R("g");
5035
+ f.appendChild(y), y.setAttribute("fill", "#FFE386"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = a;
5036
+ const Y = R("g");
5037
+ f.appendChild(Y), Y.setAttribute("fill", "white"), Y.innerHTML = a;
5038
+ const S = new dt(f);
5039
+ return S.transform(([N, H]) => [N, H + ((s - N) * H) ** 2 / (s * 5e4)]), S.transform(([N, H]) => [
5040
5040
  N,
5041
- R + (s / 3 - N) ** 2 / s * this.indicator(N < s / 3)
5042
- ]), S.transform(([N, R]) => [N - (i - R) * (s - N) / 800, R]), f;
5041
+ H + (s / 3 - N) ** 2 / s * this.indicator(N < s / 3)
5042
+ ]), S.transform(([N, H]) => [N - (i - H) * (s - N) / 800, H]), f;
5043
5043
  }, [g, B, l] = rA(t);
5044
5044
  if (!g)
5045
5045
  return "";
5046
- const d = H("defs");
5046
+ const d = R("defs");
5047
5047
  g.appendChild(d), cA(g, d, t);
5048
5048
  let w, E, h, u;
5049
5049
  A ? (w = B * 0.25 * (1 + 0.1), E = l / 2 * (1 + 0.1), h = l * 0.22, u = B * 0.32) : (w = B * 0.22 * (1 + 0.1), E = l * 0.8, h = l * 0.067, u = B * 0.33);
5050
- const C = H("g");
5050
+ const C = R("g");
5051
5051
  g.appendChild(C), C.setAttribute("transform", `translate(${h} ${u}) rotate(-10)`);
5052
- const I = gt(w, E);
5052
+ const I = lt(w, E);
5053
5053
  I.setAttribute("opacity", "0"), C.appendChild(I);
5054
- const m = H("g");
5055
- C.appendChild(m);
5054
+ const p = R("g");
5055
+ C.appendChild(p);
5056
5056
  const Q = r();
5057
- m.appendChild(Q);
5058
- const p = it(o);
5059
- return lt(m, p, w, E), g.outerHTML;
5057
+ p.appendChild(Q);
5058
+ const m = st(o);
5059
+ return Bt(p, m, w, E), g.outerHTML;
5060
5060
  }
5061
5061
  // 1 if true, 0 if false.
5062
5062
  }
5063
5063
  const tn = "data:application/octet-stream;base64,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DOYNZA3mDlQOyg88D54QEBCGEQARchHsEmIS1BOWFAwUghTwFWIV1BaiFxQXkhgEGMYZdBomGtQbfhwYHL4dYB3+HpgfPh/oIJYhPCHmIpQjRiPsJJolSCXuJpQnQifoKJIpRAAmAAn/8QAK//sADP/7AA3/+wAO//sAD//7ABD/+wAR//sAEv/7ABP/+wAU//sAFf/xABb/8QAZ//sAHf/2AB7/+wAf//sAIP/xACH/+wAi//sAI//7ACT/+wAl//EAJv/2ACf/8QAo//sAKf/2ACr/+wAr//sALP/sAC3/7AAu/+IAL//dADD/9gAx/+wAMv/7ADP/+wA0//YAKwAG//EACP/nAAn/4gAK/9MAC//iAAz/9gAN/+IADv/sAA//4gAQ/9gAEf/iABL/1QAT//EAFP/nABX/8QAW/9gAMf/TADL/pgAz//MANP/nADX/8QA2//EAN//7ADj/7gA5//YAOv/7ADv/2AA8//EAPf/2AD7/9gA///EAQP/sAEH/+wBC/+wAQ//xAET/7ABF/+wARv/2AEf/3QBI/90ASf/EAEr/zgBL//YAKwAG//YAB//2AAn/3QAL/+wADP/sAA3/8QAO//YAD//sABD/8QAR/+wAEv/iABP/5wAU/+wAFf/dABb/7AAX/78AMf/YADL/sAAz/+IANP/iADX/8QA2/+cAN//xADj/3QA5/+wAOv/2ADv/4gA8//EAPf/xAD7/8QA///YAQP/YAEH/9gBC/+cAQ//sAET/7ABF/+wARv/xAEf/zgBI/9MASf/OAEr/zgBL/+wAKgAG//YAB//iAAj/4gAK/+IADP/dAA3/ugAO/+IAD//iABD/5wAR/+IAEv/dABP/yQAU/90AFf+mABb/0wAx/5gAMv/YADP/4gA0/9MANf/xADb/7AA3/+wAOP/iADn/7AA6//EAO//dADz/5wA9/+wAPv/sAD//5wBA/9gAQf/sAEL/zgBD/+wARP/YAEX/tQBG/90AR/+hAEj/oQBJ/8QASv+DAEv/7AAqAAb/8QAH/90ACP/YAAn/oQAL/8kADP/iAA3/sAAO/+cAD//YABD/4gAR/90AEv/bABP/4gAU/+IAFf/TABb/5wAg/+QAMf/nADL/3AAz//QANP/rADX/9AA2//IAN//4ADj/8AA5//QAOv/1ADv/7AA8/+oAPf/7AD7/9wA///IAQP/tAEH/+wBC/+IAQ//2AET/4wBF/7YARv/vAEf/pgBK/6MAS//yACYAB//TAAj/8QAK/84ADP/dAA3/9gAO//EAD//dABD/pgAR/8kAEv+6ABP/7AAU/90AFf/OADH/xAAy/5IAM//sADT/3QA1/+cANv/xADf/9gA4/90AO/9WADz/5wA9//EAPv/sAD//5wBA/84AQf/dAEL/0wBD/+cARP/nAEX/5wBG/+cAR//dAEj/2ABJ/7oASv/JAEv/4gAsAAb/+wAH//sACP/xAAn/zgAK/+cAC//dAAz/9gAN/9gADv/tAA//7AAQ/+kAEf/rABL/3QAT/90AFP/hABX/3QAW/90AMf/nADL/vwAz/+cANP/nADX/8QA2//EAN//sADj/5wA5//YAOv/2ADv/4gA8//EAPf/2AD7/+wA///sAQP/2AEH/+wBC/+wAQ//7AET/7ABF/9MARv/7AEf/yQBI/84ASf+wAEr/xABL/+cADgAG//sACf/xAAv/7AAN//sADv/7AA8AAAAR//EAEv/0ABP/9gAU//EAFf/xABb/7AAx//YAQP/2ACkABv/7AAf/9gAI//sACf/iAAr/5wAL/+wADP/vAA3/3QAO//sAD//qABD/8QAR/+wAEv/nABP/8QAU/+cAFf/iABb/7AAx/+cAMv/vADP//AA0/+cANf/7ADb//gA4//EAOf/8ADr//AA7/+kAPP/6AD3//QA+//4AP//7AEL/6gBD//0ARP/2AEX/7ABG//EAR//YAEj/4gBJ/+wASv/LAEv//AAsAAb/+wAH//EACP/2AAn/0wAK/+IAC//JAAz/5wAN/90ADv/iAA//7AAQ/+cAEf/sABL/3QAT/9MAFP/iABX/zgAW/+cAMf/YADL/xAAz/+wANP/dADX/6AA2//EAN//xADj/4wA5//EAOv/2ADv/7AA8/+wAPf/sAD7/9gA//+wAQP/iAEH/8QBC/90AQ//nAET/5wBF/8QARv/mAEf/xABI/8kASf+1AEr/rQBL/+IALAAG//sAB//7AAj/9gAJ/9MACv/2AAv/ugAM/+kADf/dAA7/9gAP/+wAEP/2ABH/8AAS//EAE//2ABT/5wAV/9gAFv/sADH/vwAy/9UAM//eADT/3wA1//EANv/xADf/9gA4/+IAOf/xADr/9gA7/+wAPP/xAD3/9gA+//EAP//2AED/2ABB//EAQv/nAEP/9gBE/+cARf/TAEb/8QBH/9gASP/YAEn/xgBK/78AS//xACsABv/7AAf/9gAI/+wACf/TAAr/5wAL/90ADP/lAA3/zgAO/90AD//dABD/7AAR/+IAEv/iABP/2AAU/+IAFf/JABb/5wAx/90AMv/EADP/6wA0/+EANf/wADb/8AA4/9wAOf/dADr/7AA7/9gAPP/sAD3/5wA+/+wAP//iAED/0wBB/+IAQv/YAEP/4gBE/84ARf/JAEb/4gBH/8kASP/OAEn/vwBK/8kAS//TACwABv/7AAf/3wAI/+cACf+wAAr/4wAL/8kADP/dAA3/xwAO/+cAD//dABD/7AAR/+cAEv/iABP/yQAU/9cAFf+/ABb/4gAa/+kAMf/YADL/uwAz/+EANP/dADb/6wA3//MAOP/lADn/8QA6//IAO//eADz/5wA9/+4APv/zAD//8ABA/+IAQf/2AEL/6gBD//YARP/kAEX/zABG/+8AR/+0AEj/uwBJ/64ASv+vAEv/5QAsAAb/+wAH/90ACP/nAAn/4gAK/9MAC//nAAz/3QAN//YADv/eAA//3QAQ/7AAEf/OABL/sAAT//sAFP/dABX/0wAW/9MAMf/iADL/iAAz//YANP/OADX/9gA2//EAN//xADj/0wA5//YAOv/zADv/gAA8//EAPf/7AD7/+wA///YAQP/OAEH/7gBC/84AQ//2AET/2ABF//sARv/2AEf/5wBI/+cASf/TAEr/4gBL/+wALAAG//sAB//2AAj/8QAJ/9gACv/nAAv/3QAM/+IADf/dAA7/4gAP/+IAEP/nABH/5wAS/9gAE//YABT/3QAV/84AFv/sADH/5wAy/78AM//nADT/2AA1/+cANv/nADf/7AA4/90AOf/sADr/7AA7/+cAPP/sAD3/8QA+/+wAP//xAED/4gBB//EAQv/dAEP/5wBE/+IARf/YAEb/5wBH/78ASP/HAEn/sABK/7UAS//dACsABv/xAAf/8QAI/+IACf/dAAr/0wAL/+IADP/iAA3/3QAO/+cAD//dABD/zgAR/9MAEv/EABP/0wAU/84AFv/dADH/4gAy/6EAM//jADT/3QA1/+wANv/sADf/5wA4/90AOf/nADr/8QA7/78APP/xAD3/9gA+/+wAP//nAED/3QBB/+cAQv/nAEP/5wBE/+IARf/OAEb/3QBH/8QASP/JAEn/lwBK/7oAS//YACkABv/sAAf/0wAI/90ACf/OAAr/3QAM/90ADf/EAA7/5wAP/9gAEP/YABH/3QAS/9MAE//YABT/4gAV/90AMf/sADL/wAAz/+8ANP/kADX/6wA2//AAN//2ADj/5AA5//EAOv/uADv/1gA8//QAPf/2AD7/8QA///AAQP/dAEH/7ABD/+gARP/YAEX/1QBG/+wAR/+3AEj/wwBJ/7UASv+wAEv/5gAeAAf/zgAi/+4AI//5ACT/7wAy/9AAM//pADT/sQA1/+sANv/nADf/5gA4/7oAOf/vADr/9wA7/9AAPP/sAD3/6wA+/+YAP//sAED/uwBB/+kAQv+7AEP/5ABE/9QARf+6AEb/0ABH/34ASP+SAEn/zQBK/5sAS//nABwAF//RACT//wAy/9EAM//uADT/5wA1/+8ANv/3ADf/7gA4/+gAOf/3ADr/+wA7/9oAPP/vAD3/9wA+/+4AP//vAED/4QBB//cAQv/nAEP/7wBE/+4ARf/QAEb/9wBH/8EASP/MAEn/wwBK/7sAS//nABwAF//QABv/+QAy/8EAM//zADT/6wA1//sANv/zADf/+wA4/+8AOf/zADr//gA7/+EAPP/vAD3/9wA+//kAP//3AED/4gBB//kAQv/jAEP/8wBE/+YARf/VAEb/+QBH/84ASP/JAEn/twBK/8EAS//rAB8ABv/7ABL/3wAX/8kAJf/5ACv/7wAy/7oAM//zADT/6wA1/+8ANv/uADf/8wA4/+oAOf/vADr/7wA7/9QAPP/5AD3//gA+//EAP//vAED/4wBB//MAQv/mAEP/7gBE/+cARf/XAEb/6wBH/8kASP/JAEn/twBK/7cAS//nACAABv/7ACQAAgAl/+8AJ//5AC3//gAv//4AMv/oADP//QA0/+sANf/7ADb/+gA3//sAOP/jADn/9wA6//oAO//kADz//wA9//0APv/+AD8AAABA/+gAQf/7AEL/6ABD//sARP/sAEX/8QBG//sAR//qAEj/6wBJ/+cASv/qAEv/+QAbAAb/+wAl/+8AMv+5ADP/+wA0/+8ANf/7ADb/+wA3//0AOP/vADn/+wA6AAAAO/+7ADz//gA9//4APv/7AED/7ABB//4AQv/nAEP/+QBE//kARf/7AEb/+QBH//MASP/rAEn/4gBK/+8AS//7AB0ABv/2ABf/zgAl/+8AMv+3ADP/9wA0/+sANf/3ADb/8QA3//kAOP/uADn/8wA6//sAO//YADz/8wA9/+4APv/3AD//8wBA/+MAQf/3AEL/6QBD/+8ARP/nAEX/1ABG/+8AR//JAEj/zABJ/6YASv/JAEv/3AAcAAb/+wAX//MAJf/7ADL/6wAz//4ANP/uADX/+wA2//4AN//+ADj/8wA5//0AOv/+ADv/7gA8//4APf/+AD7/+wA///4AQP/uAEL/9wBD//4ARP/+AEX/+QBG//4AR//uAEj/9wBJ/+4ASv/zAEv//gAYAAb/+wAx//YAMv/rADP//wA0//MANf//ADYAAQA3//8AOP/zADv/6AA8//4APf/+AD4AAQBA/+4AQf//AEL/8wBD//4ARP/4AEX//QBH/+wASP/3AEn/7ABK//EASwABABwABv/2ABf/4QAy/8oAM//9ADT/+QA1//4ANv/7ADf//gA4//MAOf/+ADr//wA7/+EAPP/7AD3//gA+//4AP//+AED/7wBB//4AQv/zAEP//gBE//sARf/7AEb//gBH/+8ASP/5AEn/2gBK//oAS//+AB0ABv/nABf/5wAx/7AAMv/hADP/7gA0/7QANf/rADb/5wA3/+4AOP+sADn/6wA6//kAO/+3ADz/6gA9/+8APv/nAD//5wBA/6wAQf/uAEL/rgBD/+cARP+8AEX/3ABG/9oAR//cAEj/0QBJ/9oASv/RAEv/7wAeAAb/9gAX//cAI//9ADH/vwAy/+4AM//5ADT/2gA1//4ANv/3ADf/+wA4/9oAOf/3ADr/+wA7/+cAPP/7AD3/+QA+//cAP//5AED/1ABB//sAQv/cAEP/9wBE/+8ARf/JAEb/6wBH/8QASP++AEn/5wBK/8EAS//+ABwAF//7ADH/7AAy/+QAM//+ADT/7gA1//4ANgAAADf//QA4//cAOf/7ADr//gA7/+4APP/+AD3//gA+//0AP//7AED/7wBB//4AQv/uAEP//gBE//cARf/7AEb/+QBH/+gASP/vAEn/6wBK/+gAS//+AB4ABv/7ABf/8wAa//4AHf/3ACX/9wAq//4AMf/2ADL/5AAz//0ANP/zADX/+wA2//4AN//+ADj/+QA7/+4APf/+AD7/+wA///4AQP/2AEH/+gBC/+4AQ//7AET/+QBF//sARv/+AEf/8wBI/+8ASf/zAEr/6wBL//4AHQAG//EAJP/3ADH/7AAy/7sAM//sADT/4wA1/+8ANv/vADf/9wA4/+QAOf/qADr/9wA7/98APP/vAD3/9wA+/+sAP//uAED/4wBB/+4AQv/mAEP/7wBE/+IARf/VAEb/7gBH/8MASP/GAEn/uwBK/7oAS//fABwABv/sACT//gAy/54AM//rADT/6gA1//EANv/rADf/9wA4/+MAOf/oADr/9wA7/64APP/sAD3/8QA+/+wAP//sAED/4QBB//MAQv/oAEP/5ABE/9gARf/kAEb/7gBH/9EASP/QAEn/uwBK/8QAS//zADAAF//3ABj//wAZ/+kAGv//ABv//QAc//4AHf/pAB7/+wAf//8AIP/iACH//gAi//8AI//+ACT//wAl/+IAJ//uACj//gAp/+cAKv/hACv/+QAs/8MALf/QAC7/5AAv/8wAMP//ADL/4QAz//4ANP/jADX/9wA3//kAOP/fADn/9wA7/+IAPP/5AD3/+gA+//EAP//6AED/2gBB/+8AQv/aAET/7wBF/9cARv/qAEf/xgBI/7sASf/qAEr/tABL//sAHQAG/+cAF//oACT/+gAy/+IAM//xADT/zAA1/+8ANv/sADf/+gA4/8wAOf/3ADr/8wA7/8kAPP/uAD3/7wA+/+wAP//rAED/yQBB//cAQv/MAEP/+ABE/9QARf/KAEb/2gBH/8EASP/EAEn/4gBK/7cAS//vAB0ABv/xABv/+QAl/+4AMv+8ADP/7wA0/9wANf/zADb/6AA3//cAOP/hADn/5gA6//MAO//aADz/6QA9//MAPv/pAD//6wBA/+MAQf/3AEL/2gBD/+kARP/rAEX/1ABG/+kAR//JAEj/zABJ/7QASv+7AEv/5wAbAAb/9gAy/6YAM//9ADT/0wA1//oANv/+ADf//QA4/9UAOf/3ADr//wA7/7kAPP/6AD3//gA+//sAP//7AED/0ABB//oAQv/XAEP/+QBE/+IARf/zAEb/9wBH/+8ASP/vAEn/6gBK/+cAS//6ABwABv/7ACQAAgAy/9UAM//7ADT/7wA1//cANv/9ADf//wA4/+4AOf/7ADr//wA7/+sAPP/+AD3//gA+//0AP//6AED/7gBB//sAQv/sAEP/+wBE/+8ARf/7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ABX/3QAx//YAMv+5ADP/+AA0/+MANf/3ADb/+AA3//kAOP/iADn/+gA6//0AO//OADz//QA9//4APv/5AD///ABA/+YAQv/jAEP/9wBE/+YARf/vAEb//gBH/+cASP/vAEn/0QBK/+YAS//9ACgAB//2AAj/4gAJ/90ACv/sAAv/4gAM/+gADf/iAA7/9QAP/+gAEP/dABH/4AAS/+YAE//OABT/4gAV/90AJP/7ADH/9gAy/8EAM//vADT/3wA2//QAN//4ADj/4wA5/+kAOv/6ADv/0QA8/+YAPf/zAD7/6QA///EAQP/qAEL/3ABD/+gARP/fAEb/+ABH/7sASP+7AEn/rwBK/68AS//jACcACP/xAAn/7AAK//gADP/2AA7/9wAP//YAEP/xABH/5wAS/+cAE//xABT/7AAV/+UAMf/2ADL/6AAz//kANP/qADX/+wA2//oAN//7ADj/6wA5//cAOv//ADv/4wA8//sAPf/+AD7/+wA///oAQP/sAEH/+gBC/+MAQ//5AET/7wBF/+oARv/7AEf/4wBI/+wASf/jAEr/6gBL//4AJgAH//sACP/7AAn/5wAK//oADP/2AA7/9gAP//YAEP/xABH/8QAS//IAE//xABT/5wAV//EAMv/nADP/+wA0//EANf/9ADb//gA3//4AOP/uADn/+wA6//4AO//oAD0AAAA+//sAP//+AED/7wBB//4AQv/qAEP//wBE//EARf/3AEb/+wBH/+YASP/3AEn/2gBK/+QAS//7ACkAB//2AAj/9gAJ/90ACv/yAAz/8QAO//EAD//wABD/6gAR/+wAEv/mABP/9AAU/+wAFf/rABf/zgAx//YAMv/OADP/7wA0/+oANf/5ADb//gA3//0AOP/oADn/+QA6//0AO//YADz//gA9//8APv/6AD//+QBA/+4AQf/5AEL/4wBD//gARP/qAEX/+QBG//oAR//pAEj/6QBJ/9UASv/rAEv/+gAqAAf/sgAI/8kACf+wAAr/ugAL/7UADP+1AA3/3QAO/+QAD/+6ABD/sgAR/7UAEv+xABP/4gAU/6sAFf+mADH/lwAy/9oAM//jADT/qwA1/+IANv/iADf/4wA4/5oAOf/XADr/7gA7/7QAPP/kAD3/6wA+/+4AP//mAED/rQBB/+8AQv+qAEP/6gBE/74ARf/XAEb/2gBH/9AASP/SAEn/1QBK/80AS//qACsAB//nAAj/8QAJ/6YACv/sAAv/nAAM/90ADf+6AA7/9gAP/+IAEP/sABH/3QAS/9oAE//sABT/3QAV/8QAJP/+ADH/pgAy/+sAM//vADT/ygA1//0ANv/zADf/+wA4/9MAOf/vADr/+wA7/9gAPP/3AD3/9wA+//EAP//7AED/1QBB//cAQv/PAEP/8wBE/+YARf+7AEb/5wBH/7UASP/JAEn/2gBK/6UAS//zACkAB//2AAn/7AAK//kAC//sAAz/9gAO//oAD//2ABD/7AAR/+cAEv/vABP/9gAU//EAFf/sABcAAQAx/+YAMv/pADP/+QA0/+oANf/zADb/+wA3//oAOP/nADn/9wA6//4AO//uADz/+QA9//oAPv/7AD//+QBA/+8AQf/3AEL/6QBD//oARP/sAEX/8wBG//gAR//pAEj/6QBJ/+MASv/nAEv//QAqAAf/9gAI//sACf/sAAr/9wAL/+wADP/7AA7/+gAP//EAEP/2ABH/7AAS//EAE//2ABT/9gAV/+QAFwABADH/8QAy/+kAM//3ADT/6QA1//kANv/5ADf/+QA4/+8AOf/6ADr//gA7/+8APP/7AD3/+gA+//oAP//4AED/7wBB//sAQv/rAEP//QBE/+8ARf/3AEb/+gBH/+4ASP/rAEn/4QBK/+wAS//5ACsAB//xAAj/4gAJ/9gACv/sAAv/2AAM//YADf/iAA7/8QAP/90AEP/iABH/0wAS/+IAE//JABT/4gAV/94AJP/7ADH/3QAy/7QAM//pADT/4QA1/+wANv/vADf/6gA4/+IAOf/qADr/+gA7/9oAPP/pAD3/6wA+/+wAP//pAED/4QBB/+sAQv/cAEP/6wBE/+IARf/JAEb/7gBH/7wASP/BAEn/pgBK/7UAS//kACwAB//iAAj/5wAJ/+IACv/OAAv/2AAM/+cADf/nAA7/8AAP/90AEP+6ABH/xAAS/9cAE//XABT/2AAV/9gAG//3ACT/+wAx/+IAMv+gADP/6QA0/+MANf/mADb/7wA3/+sAOP/aADn/6AA6//YAO/+xADz/6wA9/+4APv/oAD//7wBA/9oAQf/oAEL/1wBD/+MARP/aAEX/2ABG/+cAR//PAEj/yQBJ/7kASv/BAEv/6AApAAf/8QAI/+wACf/OAAr/6gAL/84ADP/nAA3/2AAO//YAD//fABD/4gAR/9gAEv/lABP/5wAU/+IAFf/YADH/4gAy/+cAM//3ADT/2gA1//gANv/5ADf/+wA4/9wAOf/3ADr//gA7/+MAPP/3AD3//QA+//cAP//3AED/1QBC/9UAQ//9AET/6QBF/+EARv/pAEf/ugBI/8QASf/aAEr/wgBL//sAKwAH/8kACP/YAAn/xAAK/9MAC/+/AAz/yQAN/9gADv/nAA//xAAQ/7oAEf+1ABL/wQAT/9gAFP+6ABX/vwAk//sAMf+/ADL/2gAz/+gANP/KADX/6QA2/+kAN//oADj/xgA5/+QAOv/nADv/uQA8/+wAPf/uAD7/6QA//+cAQP/GAEH/7ABC/8kAQ//mAET/2ABF/84ARv/VAEf/wQBI/7wASf/GAEr/tABL/+8AKwAH//EACP/2AAn/yQAK/+oAC//TAAz/3QAN/+cADv/sAA//4gAQ/+IAEf/YABL/3wAT/90AFP/dABX/2AAk//sAMf/nADL/xgAz//MANP/iADX/7wA2/+4AN//3ADj/4wA5/+kAOv/vADv/1wA8/+4APf/zAD7/6gA//+0AQP/kAEH/9wBC/98AQ//qAET/5wBF/9AARv/vAEf/yQBI/9AASf/PAEr/xABL/+8AKQAH/+cACP/sAAn/5wAK/+kAC//dAAz/2AAO/+wAD//XABD/qwAR/8kAEv/AABP/9gAU/9MAFf/OADH/2AAy/7AAM//5ADT/2gA1//0ANv/6ADf//gA4/98AOf/3ADr//QA7/8YAPP/7AD3//gA+//gAP//4AED/1QBB//0AQv/VAEP/+ABE/+MARf/zAEb/+QBH/+4ASP/zAEn/4gBK/+cAS//zACkACP/2AAn/5wAK//QAC//sAAz/+wAN//4ADv/2AA//5QAQ/+wAEf/nABL/8wAT//EAFP/nABX/3QAx/+QAMv/KADP/+QA0/+wANf/6ADb/+gA3//sAOP/vADn/+gA6AAAAO//hADz//wA9//0APv/5AD///gBA/+wAQf/7AEL/7ABD//sARP/vAEX/9wBG//sAR//zAEj/6gBJ/+EASv/jAEv/+wArAAf/zgAI/84ACf/YAAr/ygAL/9gADP/JAA3/+wAO/9kAD//JABD/ogAR/7oAEv+5ABP/5wAU/8QAFf+9ACT/+wAx/7oAMv+FADP/+wA0/7sANf/qADb/6wA3/+wAOP++ADn/5gA6/+8AO/+iADz/6AA9/+oAPv/sAD//7wBA/8MAQf/mAEL/uwBD/+YARP/KAEX/6QBG/+8AR//jAEj/3wBJ/9MASv/hAEv/6wApAAf/zgAI/84ACf/TAAv/2AAM/84ADv/eAA//xAAQ/7AAEf/TABL/sQAT/+wAFP/FABX/yQAk//sAMf/JADL/lQAz//MANP/BADX/+QA2//MAN//3ADj/xgA5//sAOv/3ADv/pQA8/+8APf/+AD7/7gA//+oAQP/DAEH/7gBC/8QAQ//vAET/0ABF/+4ARv/uAEf/6QBI/+QASf/aAEr/5gBL//cAKgAH/8QACP/OAAn/pgAL/7oADP+rAA3/3QAO/+cAD/+5ABD/twAR/8QAEv+zABP/0wAU/7AAFf+cACT/+wAx/6EAMv/aADP/4wA0/7cANf/4ADb/4wA3//0AOP+3ADn/7gA6/+8AO/+7ADz/7gA9//EAPv/jAD//6ABA/7oAQf/zAEL/uQBD/+sARP/OAEX/3wBG/+EAR//aAEj/2ABJ/9gASv/MAEv/7gAsAAf/yQAI/84ACf/JAAr/wgAL/8kADP/JAA3//gAO/8kAD/+6ABD/jQAR/7oAEv+gABP/4gAU/7UAFf+6AB7/8QAk//sAMf+1ADL/lwAz/+8ANP+7ADX/5gA2/+4AN//uADj/uQA5/+gAOv/3ADv/hAA8/+8APf/sAD7/7AA//+oAQP+6AEH/7ABC/7kAQ//pAET/ygBF/+8ARv/vAEf/6ABI/+kASf/fAEr/5ABL//EAJgAH//YACf/iAAr/7AAL/+cADP/iAA3//wAO//UAD//nABD/7AAR/+IAEv/gABP/7AAU/90AFf/TADH/4gAy/+sAM//+ADT/6AA1//4ANgAEADf//wA4/9wAOf/6ADv/5gA8//8APf//AD///QBA/+MAQf//AEMAAABE/+8ARf/4AEb/+wBH//cASP/rAEn/6QBK/+kAS//9AAIAAQAGAEsAAAAAAAAAAQAAAADUGBYRAAAAANmXsTQAAAAA2ZexNA==";
5064
- class An extends ct {
5064
+ class An extends gt {
5065
5065
  constructor() {
5066
5066
  super(...arguments), this.moduleName = "Vegemite";
5067
5067
  }
@@ -5072,35 +5072,35 @@ class An extends ct {
5072
5072
  return this.svgElement(e, t);
5073
5073
  }
5074
5074
  svgElement(e, t) {
5075
- const A = nt(tn), n = e !== "" ? ((I) => I.charAt(0).toUpperCase() + I.substr(1).toLowerCase())(e) : "", i = A.getPath(n, 0, 72, 72), s = i.toSVG(2), o = i.getBoundingBox(), r = o.x2 - o.x1, g = i.toPathData(3), B = () => {
5076
- const I = H("g");
5075
+ const A = it(tn), n = e !== "" ? ((I) => I.charAt(0).toUpperCase() + I.substr(1).toLowerCase())(e) : "", i = A.getPath(n, 0, 72, 72), s = i.toSVG(2), o = i.getBoundingBox(), r = o.x2 - o.x1, g = i.toPathData(3), B = () => {
5076
+ const I = R("g");
5077
5077
  I.classList.add("module-text-group");
5078
- const m = H("defs");
5079
- I.appendChild(m), m.appendChild(gA(0, 2, 2, "shadow"));
5080
- const Q = H("path");
5081
- Q.setAttribute("d", g), Q.setAttribute("stroke", "black"), Q.setAttribute("stroke-width", "3"), m.appendChild(Q);
5082
- const p = H("g");
5083
- p.classList.add("module-layer0"), I.appendChild(p), p.setAttribute("filter", "url(#shadow)"), p.innerHTML = Q.outerHTML;
5084
- const f = H("g");
5078
+ const p = R("defs");
5079
+ I.appendChild(p), p.appendChild(gA(0, 2, 2, "shadow"));
5080
+ const Q = R("path");
5081
+ Q.setAttribute("d", g), Q.setAttribute("stroke", "black"), Q.setAttribute("stroke-width", "3"), p.appendChild(Q);
5082
+ const m = R("g");
5083
+ m.classList.add("module-layer0"), I.appendChild(m), m.setAttribute("filter", "url(#shadow)"), m.innerHTML = Q.outerHTML;
5084
+ const f = R("g");
5085
5085
  f.classList.add("module-layer1"), I.appendChild(f), f.setAttribute("stroke-width", "3"), f.setAttribute("stroke", "rgb(45,41,38)"), f.setAttribute("fill", "rgb(45,41,38)"), f.setAttribute("transform", "translate(0.5,0)"), f.innerHTML = s;
5086
- const F = H("g");
5086
+ const F = R("g");
5087
5087
  F.classList.add("module-layer2"), I.appendChild(F), F.setAttribute("fill", "rgb(255,209,0)"), F.setAttribute("transform", "translate(1,-0.1)"), F.innerHTML = s;
5088
- const M = H("g");
5089
- return M.classList.add("module-layer3"), I.appendChild(M), M.setAttribute("fill", "white"), M.innerHTML = s, new Bt(I).transform(([S, N]) => [S, N + (r / 2 - S) ** 2 / (r * 6)]), I;
5090
- }, l = H("g");
5088
+ const y = R("g");
5089
+ return y.classList.add("module-layer3"), I.appendChild(y), y.setAttribute("fill", "white"), y.innerHTML = s, new dt(I).transform(([S, N]) => [S, N + (r / 2 - S) ** 2 / (r * 6)]), I;
5090
+ }, l = R("g");
5091
5091
  l.classList.add("module-root");
5092
- const d = H("defs");
5092
+ const d = R("defs");
5093
5093
  l.appendChild(d);
5094
- const w = H("g");
5094
+ const w = R("g");
5095
5095
  w.classList.add("module-bounds"), l.appendChild(w);
5096
- const E = gt(t.height, t.width);
5096
+ const E = lt(t.height, t.width);
5097
5097
  E.setAttribute("opacity", "0"), w.appendChild(E);
5098
- const h = H("g");
5098
+ const h = R("g");
5099
5099
  h.classList.add("module-text-enclosure"), l.appendChild(h);
5100
5100
  const u = B();
5101
5101
  h.appendChild(u);
5102
- const C = it(g);
5103
- return lt(h, C, t.height, t.width, 0.35, 0.65), lA(l.outerHTML);
5102
+ const C = st(g);
5103
+ return Bt(h, C, t.height, t.width, 0.35, 0.65), lA(l.outerHTML);
5104
5104
  }
5105
5105
  }
5106
5106
  async function BA(c) {
@@ -5136,8 +5136,8 @@ class nn {
5136
5136
  return;
5137
5137
  const u = this.getCommandContext().getAllLayouts(), C = (I = this.getLayoutPreviewService()) == null ? void 0 : I.getAll();
5138
5138
  if (C)
5139
- for (const [, m] of C)
5140
- m.render(this.getWorkflow(), u, this.getProduct().overlayImageUrl);
5139
+ for (const [, p] of C)
5140
+ p.render(this.getWorkflow(), u, this.getProduct().overlayImageUrl);
5141
5141
  }, this.client = e, this.updateTransaction = i, this.commandContext = n, this.reloadedState = B, this.transaction = s, this.readOnly = l, this.singleVariantsRenderable = E, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = t, this.stepSpecificServices = {}, this.profanityFilter = A, this.pollers = [], this.allScenes = [], this.layouts = a, this.product = o, this.previewService = r, this.modelContainer = d, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = g, this.isReloadedTransaction = w, h && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(t), this.initializationPromise.then(() => {
5142
5142
  this.initialized = !0;
5143
5143
  }), this.initializationPromise.catch((u) => {
@@ -5161,7 +5161,7 @@ class nn {
5161
5161
  this.storage[s.stepName] = s.storage || {};
5162
5162
  }), this.allScenes = await Da(e);
5163
5163
  const a = ie(this.allScenes, this.stepSelections).map((s) => s.silentSteps).flat(), { stepElements: n, commands: i } = await this.stepElementsForIntroducedSilentSteps(a, !!this.reloadedState);
5164
- this.commandContext.apply(new v(i), !0), this.stepElements = { ...this.stepElements, ...n }, await this.ensureStepsAreLoaded(), !this.isReloadedTransaction && this.updateStateWithServer(), this.renderLayouts(), this.reloadedState && t();
5164
+ this.commandContext.apply(new G(i), !0), this.stepElements = { ...this.stepElements, ...n }, await this.ensureStepsAreLoaded(), !this.isReloadedTransaction && this.updateStateWithServer(), this.renderLayouts(), this.reloadedState && t();
5165
5165
  }
5166
5166
  getClient() {
5167
5167
  return this.client;
@@ -5335,7 +5335,7 @@ class nn {
5335
5335
  },
5336
5336
  { refocusCamera: t }
5337
5337
  );
5338
- this.setModelContainer(A), ie(this.allScenes, this.stepSelections).filter((i) => i).map((i) => i.renderableSteps).flat().filter((i) => i.type === y.Model || i.type === y.Material).forEach((i) => {
5338
+ this.setModelContainer(A), ie(this.allScenes, this.stepSelections).filter((i) => i).map((i) => i.renderableSteps).flat().filter((i) => i.type === M.Model || i.type === M.Material).forEach((i) => {
5339
5339
  var r, g, B;
5340
5340
  if (!((r = i.option) != null && r.id)) {
5341
5341
  console.error(`Failed to read option id from step: ${i.stepName}`);
@@ -5345,7 +5345,7 @@ class nn {
5345
5345
  if (s.length === 0)
5346
5346
  return;
5347
5347
  const o = s[0];
5348
- if (i.type === y.Model) {
5348
+ if (i.type === M.Model) {
5349
5349
  if (!this.modelContainer)
5350
5350
  throw new b(
5351
5351
  "We should always have a model container when injecting a preview!"
@@ -5479,17 +5479,17 @@ class nn {
5479
5479
  ), e), []);
5480
5480
  }
5481
5481
  getInvalidModelVariants() {
5482
- return this.workflow.steps.reduce((e, t) => (t.type === y.Model && !se(t, this.stepSelections) && e.push(t.stepName), e), []);
5482
+ return this.workflow.steps.reduce((e, t) => (t.type === M.Model && !se(t, this.stepSelections) && e.push(t.stepName), e), []);
5483
5483
  }
5484
5484
  async stepElementsForIntroducedSilentSteps(e, t) {
5485
5485
  const A = this.product;
5486
5486
  if (!A)
5487
5487
  return Promise.resolve({ stepElements: {}, commands: [] });
5488
5488
  const a = async (r, g, B) => {
5489
- if (r.type === y.SilentIllustration) {
5489
+ if (r.type === M.SilentIllustration) {
5490
5490
  const l = await new St(r, g).trigger();
5491
5491
  return { step: r, results: l };
5492
- } else if (r.type === y.ProductOverlay) {
5492
+ } else if (r.type === M.ProductOverlay) {
5493
5493
  const l = await new St(
5494
5494
  r,
5495
5495
  g,
@@ -5539,14 +5539,14 @@ class nn {
5539
5539
  this.stepSelections = {
5540
5540
  ...this.stepSelections,
5541
5541
  [e]: { selectedVariants: t }
5542
- }, this.selectionCost = Object.values(this.stepSelections).reduce((p, f) => p + f.selectedVariants.map((F) => F.priceModifier || 0).reduce((F, M) => F + M, 0), 0), this.workflow.steps.forEach((p) => {
5543
- se(p, this.stepSelections) || (this.stepInitialised[p.stepName] = !1, delete this.stepMetadata[p.stepName], delete this.stepSelections[p.stepName], delete this.storage[p.stepName]);
5542
+ }, this.selectionCost = Object.values(this.stepSelections).reduce((m, f) => m + f.selectedVariants.map((F) => F.priceModifier || 0).reduce((F, y) => F + y, 0), 0), this.workflow.steps.forEach((m) => {
5543
+ se(m, this.stepSelections) || (this.stepInitialised[m.stepName] = !1, delete this.stepMetadata[m.stepName], delete this.stepSelections[m.stepName], delete this.storage[m.stepName]);
5544
5544
  });
5545
- const i = this.allScenes, s = ie(i, n), o = ie(i, this.stepSelections), r = s.map((p) => p.silentSteps).flat(), B = o.map((p) => p.silentSteps).flat().filter(
5546
- (p) => !r.some((f) => f.stepName === p.stepName)
5545
+ const i = this.allScenes, s = ie(i, n), o = ie(i, this.stepSelections), r = s.map((m) => m.silentSteps).flat(), B = o.map((m) => m.silentSteps).flat().filter(
5546
+ (m) => !r.some((f) => f.stepName === m.stepName)
5547
5547
  );
5548
- r.forEach((p) => {
5549
- se(p, this.stepSelections) || (this.stepInitialised[p.stepName] = !1);
5548
+ r.forEach((m) => {
5549
+ se(m, this.stepSelections) || (this.stepInitialised[m.stepName] = !1);
5550
5550
  });
5551
5551
  const l = this.getInvalidCanvasRegions(), { stepElements: d, commands: w } = await this.stepElementsForIntroducedSilentSteps(B, !1);
5552
5552
  this.stepElements = {
@@ -5554,17 +5554,17 @@ class nn {
5554
5554
  ...d,
5555
5555
  [e]: A
5556
5556
  }, this.removeElements(l);
5557
- const E = this.workflow.steps.find((p) => p.stepName === e);
5558
- if ((E == null ? void 0 : E.type) === y.Frame) {
5559
- const p = this.getStepSpecificServices(e);
5560
- (Q = p == null ? void 0 : p.frameService) == null || Q.setTargetElements(A.map((f) => f.id));
5561
- }
5562
- const h = l.map((p) => new ee(p.id)), u = new pt(this.constructSerializableWorkflow()), C = [...w, ...h, u];
5563
- C.length > 0 && this.commandContext.apply(new v(C), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
5564
- const I = this.getInvalidModelVariants(), m = this.modelContainer;
5565
- if (m) {
5566
- const p = I.map(
5567
- (f) => m.applyModelVariant(
5557
+ const E = this.workflow.steps.find((m) => m.stepName === e);
5558
+ if ((E == null ? void 0 : E.type) === M.Frame) {
5559
+ const m = this.getStepSpecificServices(e);
5560
+ (Q = m == null ? void 0 : m.frameService) == null || Q.setTargetElements(A.map((f) => f.id));
5561
+ }
5562
+ const h = l.map((m) => new ee(m.id)), u = new pt(this.constructSerializableWorkflow()), C = [...w, ...h, u];
5563
+ C.length > 0 && this.commandContext.apply(new G(C), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
5564
+ const I = this.getInvalidModelVariants(), p = this.modelContainer;
5565
+ if (p) {
5566
+ const m = I.map(
5567
+ (f) => p.applyModelVariant(
5568
5568
  f,
5569
5569
  {
5570
5570
  contextService: this.getLayoutPreviewService()
@@ -5572,7 +5572,7 @@ class nn {
5572
5572
  !1
5573
5573
  )
5574
5574
  );
5575
- await Promise.all(p);
5575
+ await Promise.all(m);
5576
5576
  }
5577
5577
  await this.onSelectionChange(), a && await a();
5578
5578
  }
@@ -5581,7 +5581,7 @@ class nn {
5581
5581
  for (const o of a)
5582
5582
  if (!this.stepInitialised[o.stepName])
5583
5583
  switch (this.stepInitialised[o.stepName] = !0, o.type) {
5584
- case y.DigitalContent:
5584
+ case M.DigitalContent:
5585
5585
  A.push(
5586
5586
  Na.init(
5587
5587
  o,
@@ -5590,8 +5590,8 @@ class nn {
5590
5590
  )
5591
5591
  );
5592
5592
  break;
5593
- case y.Frame:
5594
- case y.Photo:
5593
+ case M.Frame:
5594
+ case M.Photo:
5595
5595
  {
5596
5596
  const r = new Ya(o.data.forceImageCover);
5597
5597
  r.connectWorkflowManager(this, o.stepName), this.stepSpecificServices[o.stepName] = {
@@ -5601,40 +5601,40 @@ class nn {
5601
5601
  );
5602
5602
  }
5603
5603
  break;
5604
- case y.Illustration:
5604
+ case M.Illustration:
5605
5605
  A.push(
5606
5606
  Ye.init(o, this, this.reloadedState)
5607
5607
  );
5608
5608
  break;
5609
- case y.Material:
5609
+ case M.Material:
5610
5610
  A.push(
5611
5611
  nA.init(o, this, this.reloadedState)
5612
5612
  );
5613
5613
  break;
5614
- case y.Model:
5614
+ case M.Model:
5615
5615
  A.push(iA.init(o, this, this.reloadedState));
5616
5616
  break;
5617
- case y.Module:
5617
+ case M.Module:
5618
5618
  this.stepSpecificServices[o.stepName] = {
5619
5619
  module: await BA(o.data.module)
5620
5620
  }, A.push(
5621
5621
  ka.init(o, this, this.reloadedState)
5622
5622
  );
5623
5623
  break;
5624
- case y.Picture:
5624
+ case M.Picture:
5625
5625
  A.push(
5626
5626
  sA.init(o, this, this.reloadedState)
5627
5627
  );
5628
5628
  break;
5629
- case y.Question:
5629
+ case M.Question:
5630
5630
  A.push(
5631
5631
  oA.init(o, this, this.reloadedState)
5632
5632
  );
5633
5633
  break;
5634
- case y.Shape:
5634
+ case M.Shape:
5635
5635
  A.push(le.init(o, this, this.reloadedState));
5636
5636
  break;
5637
- case y.Text:
5637
+ case M.Text:
5638
5638
  A.push(j.init(o, this, this.reloadedState));
5639
5639
  break;
5640
5640
  }
@@ -5643,7 +5643,7 @@ class nn {
5643
5643
  throw new Error(`Step initialization failed: ${o.reason}`);
5644
5644
  return o.value;
5645
5645
  }), i = n.filter((o) => !!o && !!o.command).map((o) => o.command), s = n.filter((o) => !!o && !!o.followup).map((o) => o.followup);
5646
- i && i.length > 0 && this.commandContext.apply(new v(i), !0);
5646
+ i && i.length > 0 && this.commandContext.apply(new G(i), !0);
5647
5647
  for (const o of s)
5648
5648
  await o();
5649
5649
  s.length > 0 && await this.ensureStepsAreLoaded(), this.onInitChange();
@@ -5786,7 +5786,7 @@ class q {
5786
5786
  return this.variantData.enabled;
5787
5787
  }
5788
5788
  }
5789
- const dA = class $e {
5789
+ const dA = class _e {
5790
5790
  constructor(e, t) {
5791
5791
  this.manager = e, this.step = t;
5792
5792
  }
@@ -5796,13 +5796,13 @@ const dA = class $e {
5796
5796
  * @param value The new value
5797
5797
  */
5798
5798
  setUpdateState(e) {
5799
- $e.updateState.set(`${this.step.stepName}-${this.manager.getTransaction().id}`, e);
5799
+ _e.updateState.set(`${this.step.stepName}-${this.manager.getTransaction().id}`, e);
5800
5800
  }
5801
5801
  /**
5802
5802
  * @returns Gets the current update state of this step. All step handles for this step will see this value.
5803
5803
  */
5804
5804
  getUpdateState() {
5805
- return !!$e.updateState.get(`${this.step.stepName}-${this.manager.getTransaction().id}`);
5805
+ return !!_e.updateState.get(`${this.step.stepName}-${this.manager.getTransaction().id}`);
5806
5806
  }
5807
5807
  /**
5808
5808
  * Gets the currently selected variant, or undefined if no variant is selected.
@@ -6273,24 +6273,24 @@ class dn extends X {
6273
6273
  class Ie {
6274
6274
  static get(e, t) {
6275
6275
  switch (t.type) {
6276
- case y.Information:
6276
+ case M.Information:
6277
6277
  return new dn(e, t);
6278
- case y.Question:
6278
+ case M.Question:
6279
6279
  return new gn(e, t);
6280
- case y.Text:
6280
+ case M.Text:
6281
6281
  return new Bn(e, t);
6282
- case y.Illustration:
6282
+ case M.Illustration:
6283
6283
  return new sn(e, t);
6284
- case y.Picture:
6284
+ case M.Picture:
6285
6285
  return new cn(e, t);
6286
- case y.Shape:
6286
+ case M.Shape:
6287
6287
  return new ln(e, t);
6288
- case y.Material:
6288
+ case M.Material:
6289
6289
  return new on(e, t);
6290
- case y.Model:
6290
+ case M.Model:
6291
6291
  return new rn(e, t);
6292
- case y.Frame:
6293
- return new Hi(e, t);
6292
+ case M.Frame:
6293
+ return new Ri(e, t);
6294
6294
  default:
6295
6295
  throw new b(`Step type ${t.type} not yet supported in Core SDK`);
6296
6296
  }
@@ -6363,14 +6363,14 @@ const wA = D`
6363
6363
  }
6364
6364
  }
6365
6365
  `;
6366
- function dt(c) {
6366
+ function wt(c) {
6367
6367
  const e = JSON.parse(atob(c.split(".")[1])).exp;
6368
6368
  return Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3) >= e;
6369
6369
  }
6370
6370
  const En = async (c) => {
6371
6371
  var i, s;
6372
6372
  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 = {};
6373
- return A && !dt(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
6373
+ return A && !wt(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
6374
6374
  mutation: wn,
6375
6375
  errorPolicy: "all",
6376
6376
  fetchPolicy: "no-cache",
@@ -6391,7 +6391,7 @@ const En = async (c) => {
6391
6391
  }, un = async (c) => {
6392
6392
  var i, s;
6393
6393
  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 = {};
6394
- return A && !dt(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
6394
+ return A && !wt(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
6395
6395
  mutation: hn,
6396
6396
  errorPolicy: "all",
6397
6397
  fetchPolicy: "no-cache",
@@ -6411,7 +6411,7 @@ const En = async (c) => {
6411
6411
  headers: a
6412
6412
  }
6413
6413
  })).data) == null ? void 0 : s.designCreateMany;
6414
- }, _e = (c, e, t) => {
6414
+ }, et = (c, e, t) => {
6415
6415
  const A = (n) => {
6416
6416
  const i = {};
6417
6417
  if (n.type === "Frame") {
@@ -6451,7 +6451,7 @@ const En = async (c) => {
6451
6451
  const a = {};
6452
6452
  let n;
6453
6453
  if (t) {
6454
- n = _e(t, e, !1);
6454
+ n = et(t, e, !1);
6455
6455
  for (const i of Object.keys(n))
6456
6456
  a[i] = {
6457
6457
  value: n[i],
@@ -6482,7 +6482,7 @@ const En = async (c) => {
6482
6482
  return a;
6483
6483
  }, hA = (c, e, t, A, a, n, i, s) => {
6484
6484
  var w, E;
6485
- const o = e.basePrice || 0, r = c.priceModifierTotal || 0, g = Cn(A, t, void 0, n), l = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(c.id), d = {
6485
+ const o = e.basePrice || 0, r = c.priceModifierTotal || 0, g = Cn(A, t, void 0, n), l = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(c.id), d = {
6486
6486
  additionalExternalProductId: (w = c.integrationProduct) == null ? void 0 : w.additionalExternalProductId,
6487
6487
  additionalExternalVariantId: (E = c.integrationProduct) == null ? void 0 : E.additionalExternalVariantId,
6488
6488
  baseCost: o,
@@ -6510,34 +6510,34 @@ const En = async (c) => {
6510
6510
  if (r !== void 0)
6511
6511
  return r;
6512
6512
  await c.outstandingRequestsPromise();
6513
- const P = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(a.id), N = await x.getShadowGraphqlClient().query({
6513
+ const Y = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(a.id), N = await x.getShadowGraphqlClient().query({
6514
6514
  query: _t,
6515
6515
  variables: { ids: [a.id] },
6516
6516
  fetchPolicy: "no-cache",
6517
6517
  errorPolicy: "all",
6518
6518
  context: {
6519
- transactionOwnerId: P
6519
+ transactionOwnerId: Y
6520
6520
  }
6521
- }), R = (O = N.data) == null ? void 0 : O.transactions[0].workflowState;
6522
- return N.errors ? (N.errors.forEach((T) => {
6523
- N.errors && console.log("Server Error:", T.message);
6524
- }), null) : R ?? null;
6521
+ }), H = (O = N.data) == null ? void 0 : O.transactions[0].workflowState;
6522
+ return N.errors ? (N.errors.forEach((L) => {
6523
+ N.errors && console.log("Server Error:", L.message);
6524
+ }), null) : H ?? null;
6525
6525
  })() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(A())), await c.updateStateWithServerImmediate(A), console.log("Server state is undefined @ Workflow completion"));
6526
- const l = c.getPreviewService(), d = (F = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : F.lookAtAnimation, w = l && e.showModelOnFinishStep && !!d, E = o && _e(o, e, !0), h = o && _e(o, e, !1), u = async (M) => {
6527
- const P = {};
6526
+ const l = c.getPreviewService(), d = (F = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : F.lookAtAnimation, w = l && e.showModelOnFinishStep && !!d, E = o && et(o, e, !0), h = o && et(o, e, !1), u = async (y) => {
6527
+ const Y = {};
6528
6528
  let S = 0;
6529
6529
  if (Object.keys(n).length > 0)
6530
6530
  for (const N of Object.keys(n)) {
6531
- const R = n[N], O = e.steps.find((T) => T.stepName === N);
6532
- for (let T = 0; T < R.selections.length; ++T) {
6533
- const W = R.selections[T];
6534
- if (O && (!M || O.option && (O.option.variants || []).length > 1 && !O.data.hideSelectionInCart && !O.data.hideSelectionsInCart)) {
6535
- const Le = O.stepTitle;
6536
- P[Le] ? P[Le].push({
6531
+ const H = n[N], O = e.steps.find((L) => L.stepName === N);
6532
+ for (let L = 0; L < H.selections.length; ++L) {
6533
+ const W = H.selections[L];
6534
+ if (O && (!y || O.option && (O.option.variants || []).length > 1 && !O.data.hideSelectionInCart && !O.data.hideSelectionsInCart)) {
6535
+ const Te = O.stepTitle;
6536
+ Y[Te] ? Y[Te].push({
6537
6537
  id: W.id || "",
6538
6538
  name: W.name,
6539
6539
  priceModifier: W.priceModifier
6540
- }) : P[Le] = [
6540
+ }) : Y[Te] = [
6541
6541
  {
6542
6542
  id: W.id || "",
6543
6543
  name: W.name,
@@ -6548,41 +6548,51 @@ const En = async (c) => {
6548
6548
  S += W.priceModifier;
6549
6549
  }
6550
6550
  }
6551
- return [P, S];
6551
+ return [Y, S];
6552
6552
  }, [C] = await u(!0), I = Object.fromEntries(
6553
- Object.keys(C).map((M) => [M, C[M].map((P) => P.id)])
6554
- ), [m] = await u(!1), Q = Object.fromEntries(
6555
- Object.keys(m).map((M) => [
6556
- M,
6557
- m[M].map((P) => P.id)
6553
+ Object.keys(C).map((y) => [y, C[y].map((Y) => Y.id)])
6554
+ ), [p] = await u(!1), Q = Object.fromEntries(
6555
+ Object.keys(p).map((y) => [
6556
+ y,
6557
+ p[y].map((Y) => Y.id)
6558
6558
  ])
6559
- ), p = await s(w, a.id);
6559
+ );
6560
+ let m = await s(w, a.id);
6561
+ if (m) {
6562
+ const y = await (await fetch(m)).blob();
6563
+ m = (await v.uploadAsset(
6564
+ { name: `${a.id}-preview-image.png`, blob: y },
6565
+ We.Image,
6566
+ !0,
6567
+ !1
6568
+ )).fileLink;
6569
+ }
6560
6570
  return {
6561
6571
  designDetails: (() => {
6562
- const M = {
6572
+ const y = {
6563
6573
  name: i,
6564
- layouts: t.map((P) => ({
6565
- index: P.index,
6566
- panelId: P.panelId
6574
+ layouts: t.map((Y) => ({
6575
+ index: Y.index,
6576
+ panelId: Y.panelId
6567
6577
  })),
6568
6578
  workflowId: e.id,
6569
6579
  transactionId: a.id,
6570
6580
  useThreeDimPreview: !!w,
6571
- previewImage: p
6581
+ previewImage: m
6572
6582
  };
6573
6583
  if (h) {
6574
- const P = [];
6584
+ const Y = [];
6575
6585
  for (const [S, N] of Object.entries(h))
6576
- P.push({ key: S, value: N });
6577
- M.metadata = P;
6586
+ Y.push({ key: S, value: N });
6587
+ y.metadata = Y;
6578
6588
  }
6579
6589
  if (I) {
6580
- const P = [];
6590
+ const Y = [];
6581
6591
  for (const [S, N] of Object.entries(Q))
6582
- P.push({ key: S, ids: N });
6583
- M.selectedVariants = P;
6592
+ Y.push({ key: S, ids: N });
6593
+ y.selectedVariants = Y;
6584
6594
  }
6585
- return M;
6595
+ return y;
6586
6596
  })(),
6587
6597
  cartSelectionsWithPrices: C,
6588
6598
  cartMetadata: E
@@ -6689,7 +6699,7 @@ class pn {
6689
6699
  */
6690
6700
  async getSavedDesigns() {
6691
6701
  if (this.storageMethod === "Local") {
6692
- const e = Y.get(this.localPersistenceKey);
6702
+ const e = P.get(this.localPersistenceKey);
6693
6703
  return e ? JSON.parse(e) : [];
6694
6704
  }
6695
6705
  throw new b("Unexpected storage method requested");
@@ -6729,7 +6739,7 @@ class pn {
6729
6739
  }
6730
6740
  async setDesigns(e) {
6731
6741
  if (this.storageMethod === "Local") {
6732
- Y.set(this.localPersistenceKey, JSON.stringify(e));
6742
+ P.set(this.localPersistenceKey, JSON.stringify(e));
6733
6743
  return;
6734
6744
  }
6735
6745
  throw new b("Unexpected storage method requested");
@@ -6838,9 +6848,9 @@ class fe {
6838
6848
  }
6839
6849
  let n = 2048;
6840
6850
  t && t <= 2048 && (n = t);
6841
- const i = Ne(n, n), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], g = s.find((m) => {
6851
+ const i = Ne(n, n), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], g = s.find((p) => {
6842
6852
  var Q;
6843
- return ((Q = m.layoutState) == null ? void 0 : Q.layout.panelId) === (r == null ? void 0 : r.name);
6853
+ return ((Q = p.layoutState) == null ? void 0 : Q.layout.panelId) === (r == null ? void 0 : r.name);
6844
6854
  }) || s[0], B = g.layoutState.layout.previewRegion ? {
6845
6855
  x: g.layoutState.layout.previewRegion.left,
6846
6856
  y: g.layoutState.layout.previewRegion.top,
@@ -6853,7 +6863,7 @@ class fe {
6853
6863
  height: g.layoutState.layout.height
6854
6864
  }, l = this.commandContext.getLayoutById(g.layoutState.layout.id), d = i.getContext("2d");
6855
6865
  if (!d)
6856
- throw new Te("Failed to obtain 2D context for preview image creation");
6866
+ throw new Le("Failed to obtain 2D context for preview image creation");
6857
6867
  const w = vt(l.layoutState.layout, l.layoutState.elements, {
6858
6868
  renderingConfiguration: {
6859
6869
  purpose: Gt.Print,
@@ -6866,7 +6876,7 @@ class fe {
6866
6876
  createCanvas: Ne,
6867
6877
  createImage: bt,
6868
6878
  DOMParser: Jt(),
6869
- fetch: et
6879
+ fetch: tt
6870
6880
  })).render();
6871
6881
  const u = await this.getCanvasObjectURLAsync(i);
6872
6882
  return i.toDataURL(u);
@@ -6994,7 +7004,7 @@ class fe {
6994
7004
  }
6995
7005
  async assignCustomerDetails(e) {
6996
7006
  var i, s, o;
6997
- const A = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(this.getWorkflowManager().getTransaction().id), n = (o = (s = (i = (await x.getShadowGraphqlClient().mutate({
7007
+ const A = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(this.getWorkflowManager().getTransaction().id), n = (o = (s = (i = (await x.getShadowGraphqlClient().mutate({
6998
7008
  mutation: In,
6999
7009
  variables: {
7000
7010
  id: this.getWorkflowManager().getTransaction().id,
@@ -7012,8 +7022,8 @@ class fe {
7012
7022
  );
7013
7023
  if (n != null && n.customer) {
7014
7024
  this.getWorkflowManager().setTransactionCustomer(n.customer);
7015
- const r = Y.getMap("transactionCustomerIds") || /* @__PURE__ */ new Map();
7016
- r.set(this.getWorkflowManager().getTransaction().id, n.customer.id), Y.setMap("transactionCustomerIds", r);
7025
+ const r = P.getMap("transactionCustomerIds") || /* @__PURE__ */ new Map();
7026
+ r.set(this.getWorkflowManager().getTransaction().id, n.customer.id), P.setMap("transactionCustomerIds", r);
7017
7027
  }
7018
7028
  }
7019
7029
  attachRenderableSceneListener(e) {
@@ -7075,7 +7085,7 @@ class fe {
7075
7085
  * @returns Returns true when a valid handle is implemented for a given step type. Certain steps don't support handles, such as silent illustrations.
7076
7086
  */
7077
7087
  stepHasHandle(e) {
7078
- return e.type !== y.SilentIllustration && e.type !== y.ProductOverlay;
7088
+ return e.type !== M.SilentIllustration && e.type !== M.ProductOverlay;
7079
7089
  }
7080
7090
  getExportedData() {
7081
7091
  var a;
@@ -7106,7 +7116,7 @@ class fe {
7106
7116
  "QuantityChanged"
7107
7117
  /* QuantityChanged */
7108
7118
  ), this.checkForPriceBreakChanges();
7109
- const t = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), A = this.getWorkflowManager().getTransaction(), a = t.get(A.id) || void 0;
7119
+ const t = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), A = this.getWorkflowManager().getTransaction(), a = t.get(A.id) || void 0;
7110
7120
  await x.getShadowGraphqlClient().mutate({
7111
7121
  mutation: pa,
7112
7122
  variables: {
@@ -7153,7 +7163,7 @@ const Dn = [
7153
7163
  if (!w)
7154
7164
  throw new z(d);
7155
7165
  const E = J();
7156
- return new L(
7166
+ return new T(
7157
7167
  {
7158
7168
  id: E,
7159
7169
  src: g,
@@ -7173,7 +7183,7 @@ const Dn = [
7173
7183
  return console.error(d), [];
7174
7184
  }
7175
7185
  }, yn = async (c, e, t, A) => {
7176
- const a = t.data, n = a.assetUrl, i = await Xe(n);
7186
+ const a = t.data, n = a.assetUrl, i = await qe(n);
7177
7187
  try {
7178
7188
  const s = bA(a, A.option);
7179
7189
  s && (e[A.stepName] = { selectedVariants: [s] });
@@ -7185,16 +7195,16 @@ const Dn = [
7185
7195
  height: 1
7186
7196
  },
7187
7197
  (E = s == null ? void 0 : s.asset) == null ? void 0 : E.fileLink
7188
- ), B = await tt(g), l = J(), d = c.find((h) => h.panelId === r.panelId);
7198
+ ), B = await At(g), l = J(), d = c.find((h) => h.panelId === r.panelId);
7189
7199
  if (!d)
7190
7200
  throw new z(r);
7191
- const w = At(i, B, {
7201
+ const w = at(i, B, {
7192
7202
  scale: a.scale,
7193
7203
  left: a.x,
7194
7204
  top: a.y
7195
7205
  });
7196
7206
  return [
7197
- new L(
7207
+ new T(
7198
7208
  {
7199
7209
  id: l,
7200
7210
  path: B.path,
@@ -7218,7 +7228,7 @@ const Dn = [
7218
7228
  },
7219
7229
  d
7220
7230
  ),
7221
- new Ht(l, i, w)
7231
+ new Rt(l, i, w)
7222
7232
  ];
7223
7233
  };
7224
7234
  return (await Promise.all(A.data.regions.map((r) => o(r)))).flat();
@@ -7226,7 +7236,7 @@ const Dn = [
7226
7236
  return console.error(s), [];
7227
7237
  }
7228
7238
  }, Mn = async (c, e, t, A) => {
7229
- var Q, p;
7239
+ var Q, m;
7230
7240
  const a = t.data, n = A.option;
7231
7241
  if (!n)
7232
7242
  return console.error(`No option for step ${A.stepName}.`), [];
@@ -7236,45 +7246,45 @@ const Dn = [
7236
7246
  if (!i.asset)
7237
7247
  return console.error(`No asset for variant with ID: ${a.illustrationVariantId}`), [];
7238
7248
  e[A.stepName] = { selectedVariants: [i] };
7239
- const s = (p = i.asset) == null ? void 0 : p.fileLink;
7249
+ const s = (m = i.asset) == null ? void 0 : m.fileLink;
7240
7250
  if (!s)
7241
7251
  return console.error(`No asset link for variant with ID: ${a.illustrationVariantId}`), [];
7242
- const o = await _(s, !0), r = /<svg.*?<\/svg>/s, g = o.match(r) || [], B = (g == null ? void 0 : g.length) > 0 ? g[0] : "", w = Tt().parseFromString(B, "image/svg+xml").firstElementChild;
7252
+ const o = await _(s, !0), r = /<svg.*?<\/svg>/s, g = o.match(r) || [], B = (g == null ? void 0 : g.length) > 0 ? g[0] : "", w = Lt().parseFromString(B, "image/svg+xml").firstElementChild;
7243
7253
  if (!w)
7244
7254
  return console.error("Failed to read SVG."), [];
7245
- Lt(w);
7255
+ Tt(w);
7246
7256
  const E = {};
7247
- TA(w, (f) => {
7257
+ LA(w, (f) => {
7248
7258
  Dn.includes(f.tagName) && !f.attributes.getNamedItem("fill") && f.setAttribute("fill", "#000000");
7249
7259
  const F = f.attributes.getNamedItem("fill");
7250
7260
  if (F && F.value !== "none") {
7251
- const P = F.value, N = `spiff-fill-${P.replace(/\W/g, "")}`;
7252
- f.classList.add(N), E[N] = { browserValue: P };
7261
+ const Y = F.value, N = `spiff-fill-${Y.replace(/\W/g, "")}`;
7262
+ f.classList.add(N), E[N] = { browserValue: Y };
7253
7263
  }
7254
- const M = f.attributes.getNamedItem("stroke");
7255
- if (M && M.value !== "none") {
7256
- const P = M.value, N = `spiff-stroke-${P.replace(/\W/g, "")}`;
7257
- f.classList.add(N), E[N] = { browserValue: P };
7264
+ const y = f.attributes.getNamedItem("stroke");
7265
+ if (y && y.value !== "none") {
7266
+ const Y = y.value, N = `spiff-stroke-${Y.replace(/\W/g, "")}`;
7267
+ f.classList.add(N), E[N] = { browserValue: Y };
7258
7268
  }
7259
7269
  });
7260
7270
  const u = Ot().serializeToString(w), C = a.colors;
7261
7271
  if (C) {
7262
7272
  for (const [f, F] of Object.entries(E))
7263
- for (const M of Object.keys(C))
7264
- if (F.browserValue === M) {
7265
- E[f] = { browserValue: C[M] };
7273
+ for (const y of Object.keys(C))
7274
+ if (F.browserValue === y) {
7275
+ E[f] = { browserValue: C[y] };
7266
7276
  break;
7267
7277
  }
7268
7278
  }
7269
7279
  const I = (f) => {
7270
- const F = c.find((P) => P.panelId === f.panelId);
7280
+ const F = c.find((Y) => Y.panelId === f.panelId);
7271
7281
  if (!F)
7272
7282
  throw new z(f);
7273
- const M = J();
7274
- return new L(
7283
+ const y = J();
7284
+ return new T(
7275
7285
  {
7276
7286
  colors: E,
7277
- id: M,
7287
+ id: y,
7278
7288
  svg: u,
7279
7289
  type: k.Illustration,
7280
7290
  y: f.top,
@@ -7288,9 +7298,9 @@ const Dn = [
7288
7298
  },
7289
7299
  F
7290
7300
  );
7291
- }, m = A.data.regions;
7301
+ }, p = A.data.regions;
7292
7302
  try {
7293
- return m.map(I);
7303
+ return p.map(I);
7294
7304
  } catch (f) {
7295
7305
  return console.error(f), [];
7296
7306
  }
@@ -7300,7 +7310,7 @@ const Dn = [
7300
7310
  if (!r)
7301
7311
  throw new z(o);
7302
7312
  const g = J();
7303
- return new L(
7313
+ return new T(
7304
7314
  {
7305
7315
  colors: {},
7306
7316
  id: g,
@@ -7343,7 +7353,7 @@ const Dn = [
7343
7353
  if (!d)
7344
7354
  throw new z(l);
7345
7355
  const w = J();
7346
- return new L(
7356
+ return new T(
7347
7357
  {
7348
7358
  id: w,
7349
7359
  src: s,
@@ -7400,7 +7410,7 @@ const Dn = [
7400
7410
  />
7401
7411
  </svg>
7402
7412
  `, w = { "spiff-fill-shape": { browserValue: i.color || "#000000" } }, E = J();
7403
- return new L(
7413
+ return new T(
7404
7414
  {
7405
7415
  colors: w,
7406
7416
  id: E,
@@ -7426,7 +7436,7 @@ const Dn = [
7426
7436
  }, xn = async (c, e, t) => {
7427
7437
  const A = [], n = (() => {
7428
7438
  var r, g;
7429
- return e.type === y.ProductOverlay ? t || ((r = e.data.asset) == null ? void 0 : r.fileLink) || "" : ((g = e.data.asset) == null ? void 0 : g.fileLink) || "";
7439
+ return e.type === M.ProductOverlay ? t || ((r = e.data.asset) == null ? void 0 : r.fileLink) || "" : ((g = e.data.asset) == null ? void 0 : g.fileLink) || "";
7430
7440
  })(), s = (() => n.endsWith(".jpeg") || n.endsWith(".jpg") || n.endsWith(".png") ? k.Image : n.endsWith(".svg") ? k.Illustration : k.Illustration)(), o = e.data.regions;
7431
7441
  if (s === "image")
7432
7442
  try {
@@ -7444,24 +7454,24 @@ const Dn = [
7444
7454
  height: r.height,
7445
7455
  layer: r.layer,
7446
7456
  layerIndex: r.layerIndex,
7447
- productOverlay: e.type === y.ProductOverlay ? !0 : void 0,
7457
+ productOverlay: e.type === M.ProductOverlay ? !0 : void 0,
7448
7458
  scaleX: 1,
7449
7459
  scaleY: 1,
7450
7460
  rotation: r.rotation,
7451
7461
  excludeFromExport: e.data.excludeFromPrint,
7452
7462
  preserveAspectRatio: "none"
7453
7463
  };
7454
- A.push(new L(B, g));
7464
+ A.push(new T(B, g));
7455
7465
  });
7456
7466
  } catch (r) {
7457
7467
  console.error(r);
7458
7468
  }
7459
7469
  else {
7460
7470
  const r = await _(n, !0), g = (B) => {
7461
- const l = /<svg.*?<\/svg>/s, d = B.match(l) || [], w = (d == null ? void 0 : d.length) > 0 ? d[0] : "", u = Tt().parseFromString(w, "image/svg+xml").firstElementChild;
7471
+ const l = /<svg.*?<\/svg>/s, d = B.match(l) || [], w = (d == null ? void 0 : d.length) > 0 ? d[0] : "", u = Lt().parseFromString(w, "image/svg+xml").firstElementChild;
7462
7472
  if (!u)
7463
7473
  throw new ge("Failed to read SVG.");
7464
- return Lt(u), Ot().serializeToString(u);
7474
+ return Tt(u), Ot().serializeToString(u);
7465
7475
  };
7466
7476
  o.forEach((B) => {
7467
7477
  const l = c.find((w) => w.panelId === B.panelId);
@@ -7483,10 +7493,10 @@ const Dn = [
7483
7493
  scaleX: 1,
7484
7494
  scaleY: 1,
7485
7495
  rotation: B.rotation,
7486
- productOverlay: e.type === y.ProductOverlay ? !0 : void 0,
7496
+ productOverlay: e.type === M.ProductOverlay ? !0 : void 0,
7487
7497
  excludeFromExport: e.data.excludeFromPrint
7488
7498
  };
7489
- A.push(new L(d, l));
7499
+ A.push(new T(d, l));
7490
7500
  });
7491
7501
  }
7492
7502
  return A;
@@ -7496,7 +7506,7 @@ const Dn = [
7496
7506
  const h = A.option;
7497
7507
  if (!h)
7498
7508
  return;
7499
- const u = ((I = h.variants) == null ? void 0 : I.find((m) => m.id === n.fontVariantId)) || be(h);
7509
+ const u = ((I = h.variants) == null ? void 0 : I.find((p) => p.id === n.fontVariantId)) || be(h);
7500
7510
  if (!u || !u.asset)
7501
7511
  return;
7502
7512
  e[A.stepName] = { selectedVariants: [u] };
@@ -7507,12 +7517,12 @@ const Dn = [
7507
7517
  const h = o();
7508
7518
  if (!h)
7509
7519
  return;
7510
- const u = await at(h);
7520
+ const u = await nt(h);
7511
7521
  return {
7512
7522
  assetUrl: h,
7513
7523
  name: u.names.fullName.en
7514
7524
  };
7515
- })(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "", l = qe(B, {
7525
+ })(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "", l = Ze(B, {
7516
7526
  vertical: A.data.vertical,
7517
7527
  uppercase: A.data.uppercase
7518
7528
  }), d = async (h) => {
@@ -7548,12 +7558,12 @@ const Dn = [
7548
7558
  y: h.top
7549
7559
  };
7550
7560
  if (g) {
7551
- const [I, m] = Me(
7561
+ const [I, p] = Me(
7552
7562
  A.data.size || i,
7553
7563
  g,
7554
7564
  h,
7555
7565
  [
7556
- qe(l, {
7566
+ Ze(l, {
7557
7567
  vertical: A.data.vertical,
7558
7568
  uppercase: A.data.uppercase
7559
7569
  })
@@ -7565,21 +7575,21 @@ const Dn = [
7565
7575
  }
7566
7576
  );
7567
7577
  a.push(
7568
- new L(
7578
+ new T(
7569
7579
  {
7570
7580
  ...C,
7571
7581
  fontSize: I,
7572
- text: C.curved ? C.text : (m || []).join(`
7582
+ text: C.curved ? C.text : (p || []).join(`
7573
7583
  `)
7574
7584
  },
7575
7585
  u
7576
7586
  )
7577
7587
  );
7578
7588
  } else
7579
- a.push(new L(C, u));
7589
+ a.push(new T(C, u));
7580
7590
  }
7581
7591
  return a;
7582
- }, Rn = (c, e) => c.conditions ? c.conditions.every((t) => {
7592
+ }, Hn = (c, e) => c.conditions ? c.conditions.every((t) => {
7583
7593
  const A = e[t.targetStepName];
7584
7594
  if (A && A.selectedVariants) {
7585
7595
  const a = A.selectedVariants;
@@ -7588,24 +7598,24 @@ const Dn = [
7588
7598
  );
7589
7599
  }
7590
7600
  return !1;
7591
- }) : !0, Hn = async (c, e, t, A) => {
7601
+ }) : !0, Rn = async (c, e, t, A) => {
7592
7602
  const a = [], n = {};
7593
7603
  for (const i of c) {
7594
7604
  const s = e.steps.find((o) => o.stepName === i.name);
7595
7605
  if (s)
7596
7606
  switch (s.type) {
7597
- case y.DigitalContent:
7607
+ case M.DigitalContent:
7598
7608
  a.push(
7599
7609
  ...await Fn(t, i, s)
7600
7610
  );
7601
7611
  break;
7602
- case y.Frame:
7603
- case y.Photo:
7612
+ case M.Frame:
7613
+ case M.Photo:
7604
7614
  a.push(
7605
7615
  ...await yn(t, n, i, s)
7606
7616
  );
7607
7617
  break;
7608
- case y.Illustration:
7618
+ case M.Illustration:
7609
7619
  a.push(
7610
7620
  ...await Mn(
7611
7621
  t,
@@ -7615,20 +7625,20 @@ const Dn = [
7615
7625
  )
7616
7626
  );
7617
7627
  break;
7618
- case y.Module:
7628
+ case M.Module:
7619
7629
  a.push(...await Sn(t, i, s));
7620
7630
  break;
7621
- case y.Picture:
7631
+ case M.Picture:
7622
7632
  a.push(
7623
7633
  ...await Yn(t, n, i, s)
7624
7634
  );
7625
7635
  break;
7626
- case y.Shape:
7636
+ case M.Shape:
7627
7637
  a.push(
7628
7638
  ...await Pn(t, n, i, s)
7629
7639
  );
7630
7640
  break;
7631
- case y.Text:
7641
+ case M.Text:
7632
7642
  a.push(
7633
7643
  ...await Nn(t, n, i, s)
7634
7644
  );
@@ -7636,7 +7646,7 @@ const Dn = [
7636
7646
  }
7637
7647
  }
7638
7648
  for (const i of e.steps)
7639
- i.type !== y.SilentIllustration && i.type !== y.ProductOverlay || Rn(i, n) && a.push(
7649
+ i.type !== M.SilentIllustration && i.type !== M.ProductOverlay || Hn(i, n) && a.push(
7640
7650
  ...await xn(t, i, A)
7641
7651
  );
7642
7652
  return a;
@@ -7645,7 +7655,12 @@ class De {
7645
7655
  constructor(e) {
7646
7656
  this.handleCompleteRender = null;
7647
7657
  const t = /* @__PURE__ */ new Map();
7648
- e.forEach((A) => t.set(A.id, new Gn(A.id, A.name, this))), this.layouts = t;
7658
+ e.forEach(
7659
+ (A) => t.set(
7660
+ A.id,
7661
+ new Gn(A.id, A.name, this, { width: A.width, height: A.height })
7662
+ )
7663
+ ), this.layouts = t;
7649
7664
  }
7650
7665
  setCompleteRenderCallback(e) {
7651
7666
  this.handleCompleteRender = e, e(Array.from(this.layouts.values()));
@@ -7662,8 +7677,8 @@ const Un = () => new Promise((c, e) => {
7662
7677
  c(!!A);
7663
7678
  }), vn = Un();
7664
7679
  class Gn {
7665
- constructor(e, t, A) {
7666
- this.hasSetStaticContext = !1, this.interactiveDirty = !1, this.staticCtxDirty = !1, this.lastRequestedRenderArguments = void 0, this.lastCompletedStaticRender = void 0, this.lastModificationID = void 0, this.renderQueue = new AA(2), this.id = e, this.name = t, this.service = A;
7680
+ constructor(e, t, A, a) {
7681
+ this.hasSetStaticContext = !1, this.interactiveDirty = !1, this.staticCtxDirty = !1, this.lastRequestedRenderArguments = void 0, this.lastCompletedStaticRender = void 0, this.lastModificationID = void 0, this.renderQueue = new AA(2), this.id = e, this.name = t, this.service = A, this.panelSize = a;
7667
7682
  }
7668
7683
  getID() {
7669
7684
  return this.id;
@@ -7671,6 +7686,9 @@ class Gn {
7671
7686
  getName() {
7672
7687
  return this.name;
7673
7688
  }
7689
+ getPanelSize() {
7690
+ return this.panelSize;
7691
+ }
7674
7692
  getStaticContext() {
7675
7693
  return this.textureCtx;
7676
7694
  }
@@ -7744,6 +7762,7 @@ class kn extends tA {
7744
7762
  }
7745
7763
  /**
7746
7764
  * Returns the resolution expected for generated textures.
7765
+ * FIXME: This is reimplemented from the preview package. Can we find a way to remove this duplication.
7747
7766
  */
7748
7767
  getDynamicTextureResolution() {
7749
7768
  return this.getIsMobile() || !this.offscreenRenderingSupported() ? {
@@ -7775,21 +7794,21 @@ class kn extends tA {
7775
7794
  * a loose target but should be kept in mind when making changes.
7776
7795
  */
7777
7796
  async execute() {
7778
- const e = this.layouts.find((l) => l.layoutState.layout.id === this.layoutId);
7797
+ const e = this.layouts.find((d) => d.layoutState.layout.id === this.layoutId);
7779
7798
  if (!e)
7780
7799
  return;
7781
- const t = e.layoutState.elements || [], A = e.layoutState.layout.width, a = e.layoutState.layout.height, n = this.getDynamicTextureResolution().width, i = this.getDynamicTextureResolution().height;
7782
- let s, o;
7800
+ const t = e.layoutState.elements || [], A = e.layoutState.layout.width, a = e.layoutState.layout.height, n = A === 1 || a === 1 ? { width: 1, height: 1 } : this.getDynamicTextureResolution(), i = n.width, s = n.height;
7801
+ let o, r;
7783
7802
  if (this.nonPOTSupport) {
7784
- const l = n / i;
7785
- A / a < l ? (s = n, o = a * (n / A)) : (s = A * (i / a), o = i);
7786
- const w = this.resizeFit({ width: s, height: o });
7787
- s = w.width, o = w.height;
7803
+ const d = i / s;
7804
+ A / a < d ? (o = i, r = a * (i / A)) : (o = A * (s / a), r = s);
7805
+ const E = this.resizeFit({ width: o, height: r });
7806
+ o = E.width, r = E.height;
7788
7807
  } else
7789
- s = this.getDynamicTextureResolution().width, o = this.getDynamicTextureResolution().height;
7790
- const r = vt(e.layoutState.layout, t, {
7808
+ o = n.width, r = n.height;
7809
+ const g = vt(e.layoutState.layout, t, {
7791
7810
  renderingConfiguration: { purpose: Gt.ThreeD }
7792
- }), g = kt(r), B = await zt.from(this.ctx, g, {
7811
+ }), B = kt(g), l = await zt.from(this.ctx, B, {
7793
7812
  anonymousCrossOrigin: !0,
7794
7813
  ignoreDimensions: !this.nonPOTSupport,
7795
7814
  ignoreAnimation: !0,
@@ -7799,16 +7818,16 @@ class kn extends tA {
7799
7818
  createCanvas: Ne,
7800
7819
  createImage: bt,
7801
7820
  DOMParser: Jt(),
7802
- fetch: et
7821
+ fetch: tt
7803
7822
  });
7804
- B.resize(s, o), await B.render(), this.onRender();
7823
+ l.resize(o, r), await l.render(), this.onRender();
7805
7824
  }
7806
7825
  }
7807
7826
  const Vi = (c, e) => {
7808
7827
  const t = [];
7809
7828
  return c.forEach((A) => {
7810
7829
  const a = e.steps.find((n) => n.stepName === A.stepName);
7811
- (a == null ? void 0 : a.type) === y.Text && A.stepAspectType === "Text" && t.push({
7830
+ (a == null ? void 0 : a.type) === M.Text && A.stepAspectType === "Text" && t.push({
7812
7831
  name: a.stepName,
7813
7832
  data: {
7814
7833
  text: A.value
@@ -7820,9 +7839,9 @@ const Vi = (c, e) => {
7820
7839
  serializableWorkflow: { steps: [] },
7821
7840
  layouts: {}
7822
7841
  };
7823
- a = new v(t.map((o) => new LA(o))).apply(a);
7824
- const i = await Hn(c, e, t, A);
7825
- return new v(i).apply(a);
7842
+ a = new G(t.map((o) => new TA(o))).apply(a);
7843
+ const i = await Rn(c, e, t, A);
7844
+ return new G(i).apply(a);
7826
7845
  }, bn = D`
7827
7846
  ${oe}
7828
7847
  fragment ProductFields on Product {
@@ -7943,7 +7962,7 @@ const Vi = (c, e) => {
7943
7962
  }
7944
7963
  }
7945
7964
  }
7946
- `, Tn = D`
7965
+ `, Ln = D`
7947
7966
  query GetBundleStakeholders($id: String!) {
7948
7967
  bundles(ids: [$id]) {
7949
7968
  id
@@ -7963,7 +7982,7 @@ const Vi = (c, e) => {
7963
7982
  }
7964
7983
  }
7965
7984
  }
7966
- `, Ln = D`
7985
+ `, Tn = D`
7967
7986
  query GetBundlesForCustomer($id: String!) {
7968
7987
  customers(ids: [$id]) {
7969
7988
  bundleStakeholders {
@@ -8168,7 +8187,7 @@ class ei {
8168
8187
  }
8169
8188
  }
8170
8189
  }
8171
- class wt {
8190
+ class ht {
8172
8191
  constructor(e, t) {
8173
8192
  this.bundle = e, this.property = t;
8174
8193
  }
@@ -8223,7 +8242,7 @@ class wt {
8223
8242
  return this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);
8224
8243
  }
8225
8244
  }
8226
- class ti extends wt {
8245
+ class ti extends ht {
8227
8246
  constructor(e, t) {
8228
8247
  super(e, t);
8229
8248
  }
@@ -8245,7 +8264,7 @@ class ti extends wt {
8245
8264
  ]);
8246
8265
  }
8247
8266
  async canUseBackgroundRemover() {
8248
- return this.bundle.getClient().canUseAddon(rt.BackgroundRemover);
8267
+ return this.bundle.getClient().canUseAddon(ct.BackgroundRemover);
8249
8268
  }
8250
8269
  /**
8251
8270
  * Removes the background from an image, stores it in the state, and returns the new asset.
@@ -8260,7 +8279,7 @@ class ti extends wt {
8260
8279
  const t = await this.getOriginalImage();
8261
8280
  if (!t)
8262
8281
  throw new Error("You must supply an image selection before attempting to remove the background.");
8263
- const A = this.bundle.getGlobalPropertyStateManager(), a = await G.removeBackgroundFromAsset(t), i = {
8282
+ const A = this.bundle.getGlobalPropertyStateManager(), a = await v.removeBackgroundFromAsset(t), i = {
8264
8283
  ...A.getAspectStorage(this.property.name),
8265
8284
  backgroundRemovedAssetKey: a.key,
8266
8285
  useOriginalAsset: !e
@@ -8280,7 +8299,7 @@ class ti extends wt {
8280
8299
  async getImage() {
8281
8300
  const e = this.getStateValue();
8282
8301
  if (e)
8283
- return G.getLocalOrFromServer(e);
8302
+ return v.getLocalOrFromServer(e);
8284
8303
  }
8285
8304
  /**
8286
8305
  * Retrieves the original, unmodified image selection, if one exists.
@@ -8289,7 +8308,7 @@ class ti extends wt {
8289
8308
  async getOriginalImage() {
8290
8309
  const e = this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);
8291
8310
  if (e != null && e.originalAssetKey)
8292
- return G.getLocalOrFromServer(e.originalAssetKey);
8311
+ return v.getLocalOrFromServer(e.originalAssetKey);
8293
8312
  }
8294
8313
  /**
8295
8314
  * Retrieves the version of the image selection that has the background removed, if one exists.
@@ -8298,7 +8317,7 @@ class ti extends wt {
8298
8317
  async getBackgroundRemovedImage() {
8299
8318
  const e = this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);
8300
8319
  if (e != null && e.backgroundRemovedAssetKey)
8301
- return G.getLocalOrFromServer(e.backgroundRemovedAssetKey);
8320
+ return v.getLocalOrFromServer(e.backgroundRemovedAssetKey);
8302
8321
  }
8303
8322
  getUseOriginalImage() {
8304
8323
  var e;
@@ -8334,7 +8353,7 @@ class ti extends wt {
8334
8353
  const t = this.getStateValue();
8335
8354
  if (!t)
8336
8355
  return;
8337
- const A = await G.getLocalOrFromServer(t);
8356
+ const A = await v.getLocalOrFromServer(t);
8338
8357
  if (!A)
8339
8358
  return;
8340
8359
  const a = this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);
@@ -8360,7 +8379,7 @@ class ti extends wt {
8360
8379
  );
8361
8380
  }
8362
8381
  }
8363
- class Ai extends wt {
8382
+ class Ai extends ht {
8364
8383
  constructor(e, t) {
8365
8384
  super(e, t);
8366
8385
  }
@@ -8393,7 +8412,7 @@ class Ai extends wt {
8393
8412
  await Promise.all(a);
8394
8413
  }
8395
8414
  }
8396
- class QA extends wt {
8415
+ class QA extends ht {
8397
8416
  constructor(e, t, A) {
8398
8417
  super(e, t), this.optionResource = A;
8399
8418
  }
@@ -8472,7 +8491,7 @@ class ai extends QA {
8472
8491
  return this.getSharedSteps()[0].getCustomColor();
8473
8492
  }
8474
8493
  }
8475
- const ht = D`
8494
+ const Et = D`
8476
8495
  fragment GlobalPropertyStateAspectFields on GlobalPropertyStateAspect {
8477
8496
  name
8478
8497
  value
@@ -8486,7 +8505,7 @@ const ht = D`
8486
8505
  }
8487
8506
  }
8488
8507
  `, ni = D`
8489
- ${ht}
8508
+ ${Et}
8490
8509
  mutation CreateGlobalPropertyState($bundleId: String!) {
8491
8510
  globalPropertyStateCreate(bundleId: $bundleId) {
8492
8511
  id
@@ -8496,7 +8515,7 @@ const ht = D`
8496
8515
  }
8497
8516
  }
8498
8517
  `, ii = D`
8499
- ${ht}
8518
+ ${Et}
8500
8519
  mutation UpdateGlobalPropertyState($id: String!, $aspects: [GlobalPropertyStateAspectInput]!) {
8501
8520
  globalPropertyStateUpdate(id: $id, aspects: $aspects) {
8502
8521
  id
@@ -8506,7 +8525,7 @@ const ht = D`
8506
8525
  }
8507
8526
  }
8508
8527
  `, si = D`
8509
- ${ht}
8528
+ ${Et}
8510
8529
  query GetGlobalPropertyState($bundleId: String!) {
8511
8530
  globalPropertyState(bundleId: $bundleId) {
8512
8531
  id
@@ -9064,7 +9083,7 @@ class xt {
9064
9083
  throw new Error(
9065
9084
  "Unable to add transaction to bundle - Already Exists: " + A.filter((i) => !!i).map((i) => i == null ? void 0 : i.getWorkflowManager().getTransaction().id).join(", ")
9066
9085
  );
9067
- const a = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), n = t.map((i) => a.get(i));
9086
+ const a = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), n = t.map((i) => a.get(i));
9068
9087
  await x.getShadowGraphqlClient().mutate({
9069
9088
  mutation: Vn,
9070
9089
  variables: {
@@ -9093,7 +9112,7 @@ class xt {
9093
9112
  (s) => s.getWorkflowManager().getTransaction().id === A
9094
9113
  ))
9095
9114
  throw new Error("Unable to add transaction to bundle - Already Exists!");
9096
- const i = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(A);
9115
+ const i = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(A);
9097
9116
  await x.getShadowGraphqlClient().mutate({
9098
9117
  mutation: jn,
9099
9118
  variables: {
@@ -9269,7 +9288,7 @@ class xt {
9269
9288
  }
9270
9289
  async getAllStakeholders() {
9271
9290
  const e = await x.getShadowGraphqlClient().query({
9272
- query: Tn,
9291
+ query: Ln,
9273
9292
  errorPolicy: "all",
9274
9293
  fetchPolicy: "no-cache",
9275
9294
  variables: {
@@ -9569,7 +9588,7 @@ class Fe {
9569
9588
  return this.getArtifacts().get(e);
9570
9589
  }
9571
9590
  }
9572
- class Et {
9591
+ class ut {
9573
9592
  constructor(e) {
9574
9593
  this.value = e;
9575
9594
  }
@@ -9582,12 +9601,12 @@ class Et {
9582
9601
  }
9583
9602
  }
9584
9603
  var hi = /* @__PURE__ */ ((c) => (c.Transaction = "Transaction", c.Bundle = "Bundle", c.Product = "Product", c.Variant = "Variant", c.Option = "Option", c.LineItem = "LineItem", c.Asset = "Asset", c))(hi || {});
9585
- class Xi extends Et {
9604
+ class Xi extends ut {
9586
9605
  constructor(e) {
9587
9606
  super(`"${e}"`);
9588
9607
  }
9589
9608
  }
9590
- class mA extends Et {
9609
+ class mA extends ut {
9591
9610
  constructor(e, t) {
9592
9611
  if (t !== "Asset" && !mA.validUUID(e))
9593
9612
  throw new Error("Invalid ID, must be a valid v4 UUID. https://www.uuidgenerator.net/");
@@ -9597,7 +9616,7 @@ class mA extends Et {
9597
9616
  return e.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i);
9598
9617
  }
9599
9618
  }
9600
- class qi extends Et {
9619
+ class qi extends ut {
9601
9620
  constructor(e) {
9602
9621
  super(`[${e.map((t) => t.getRaw()).join(",")}]`);
9603
9622
  }
@@ -9766,7 +9785,7 @@ const Ei = D`
9766
9785
  }
9767
9786
  `, mi = (c) => D`
9768
9787
  ${Ce(c)}
9769
- ${ot}
9788
+ ${rt}
9770
9789
  ${$t}
9771
9790
  ${Ei}
9772
9791
  ${ui}
@@ -10300,7 +10319,7 @@ const Ei = D`
10300
10319
  const a = c.layouts[t].elements.filter((n) => n.type === k.Textbox);
10301
10320
  for (let n = 0; n < a.length; ++n) {
10302
10321
  const i = a[n];
10303
- (e = i.fontData) != null && e.assetUrl && await at(i.fontData.assetUrl);
10322
+ (e = i.fontData) != null && e.assetUrl && await nt(i.fontData.assetUrl);
10304
10323
  }
10305
10324
  }
10306
10325
  }, Yi = async (c, e) => {
@@ -10318,8 +10337,8 @@ const Ei = D`
10318
10337
  return A.forEach((n) => {
10319
10338
  n.steps.forEach((i) => {
10320
10339
  var s, o, r;
10321
- delete i.data.__typename, (s = i.option) != null && s.id && ((o = i.option.defaultVariant) != null && o.asset && G.cacheAsset(i.option.defaultVariant.asset), i.option.colorProfile && G.cacheAsset(i.option.colorProfile), (r = i.option.variants) == null || r.forEach((g) => {
10322
- g.asset && G.cacheAsset(g.asset), g.displayImage && G.cacheAsset(g.displayImage), g.thumbnail && G.cacheAsset(g.thumbnail), g.material && G.cacheMaterial(g.material);
10340
+ delete i.data.__typename, (s = i.option) != null && s.id && ((o = i.option.defaultVariant) != null && o.asset && v.cacheAsset(i.option.defaultVariant.asset), i.option.colorProfile && v.cacheAsset(i.option.colorProfile), (r = i.option.variants) == null || r.forEach((g) => {
10341
+ g.asset && v.cacheAsset(g.asset), g.displayImage && v.cacheAsset(g.displayImage), g.thumbnail && v.cacheAsset(g.thumbnail), g.material && v.cacheMaterial(g.material);
10323
10342
  }), Ee.set({ id: i.option.id }, Promise.resolve(i.option)));
10324
10343
  });
10325
10344
  }), A;
@@ -10371,7 +10390,7 @@ class Ni {
10371
10390
  * and the Spiff Commerce platform.
10372
10391
  */
10373
10392
  getAssetManager() {
10374
- return G;
10393
+ return v;
10375
10394
  }
10376
10395
  getCurrencyCode() {
10377
10396
  if (this.currencyCode === void 0)
@@ -10411,12 +10430,12 @@ class Ni {
10411
10430
  */
10412
10431
  async authenticateBundleFromLocalStorage(e) {
10413
10432
  var a, n;
10414
- const t = Y.getMap("bundleOwnerIds");
10433
+ const t = P.getMap("bundleOwnerIds");
10415
10434
  if (t != null && t.has(e))
10416
10435
  return Promise.resolve({ success: !0, stakeholderType: Ue.Owner });
10417
- const A = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10436
+ const A = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10418
10437
  if (A.has(e)) {
10419
- const i = A.get(e), o = (Y.getMap("partnerCustomerIds") || /* @__PURE__ */ new Map()).get(i);
10438
+ const i = A.get(e), o = (P.getMap("partnerCustomerIds") || /* @__PURE__ */ new Map()).get(i);
10420
10439
  if (o && await this.authenticateCustomerId(o)) {
10421
10440
  const g = (n = (a = this.customer) == null ? void 0 : a.bundleStakeholders) == null ? void 0 : n.find(
10422
10441
  (B) => {
@@ -10460,22 +10479,22 @@ class Ni {
10460
10479
  throw new Error(`Unable to read transaction: ${e}`);
10461
10480
  if (a.isOrdered)
10462
10481
  return Promise.resolve({ success: !1, transactionReadOnly: !0 });
10463
- const i = Y.getMap("transactionOwnerIds");
10482
+ const i = P.getMap("transactionOwnerIds");
10464
10483
  if (i != null && i.has(e))
10465
10484
  return Promise.resolve({ success: !0, stakeholderType: Ue.Owner });
10466
- const s = Y.getMap("transactionCustomerIds");
10485
+ const s = P.getMap("transactionCustomerIds");
10467
10486
  if (s != null && s.has(e)) {
10468
10487
  const h = s.get(e);
10469
10488
  if (h && await this.authenticateCustomerId(h)) {
10470
10489
  const C = ((d = (l = this.customer) == null ? void 0 : l.bundleStakeholders) == null ? void 0 : d.find(
10471
10490
  (I) => {
10472
- var m, Q;
10473
- return (Q = (m = I.bundle) == null ? void 0 : m.transactions) == null ? void 0 : Q.some((p) => p.id === e);
10491
+ var p, Q;
10492
+ return (Q = (p = I.bundle) == null ? void 0 : p.transactions) == null ? void 0 : Q.some((m) => m.id === e);
10474
10493
  }
10475
10494
  )) || ((E = (w = this.customer) == null ? void 0 : w.stakeholders) == null ? void 0 : E.find(
10476
10495
  (I) => {
10477
- var m;
10478
- return ((m = I.transaction) == null ? void 0 : m.id) === e;
10496
+ var p;
10497
+ return ((p = I.transaction) == null ? void 0 : p.id) === e;
10479
10498
  }
10480
10499
  ));
10481
10500
  if (C)
@@ -10504,8 +10523,8 @@ class Ni {
10504
10523
  this.customer = void 0;
10505
10524
  }
10506
10525
  clearCustomerForTransaction(e) {
10507
- const t = Y.getMap("transactionCustomerIds");
10508
- t != null && t.has(e) && (t.delete(e), Y.setMap("transactionCustomerIds", t));
10526
+ const t = P.getMap("transactionCustomerIds");
10527
+ t != null && t.has(e) && (t.delete(e), P.setMap("transactionCustomerIds", t));
10509
10528
  }
10510
10529
  getStakeholderTypeForTransaction(e) {
10511
10530
  var A, a;
@@ -10556,7 +10575,7 @@ class Ni {
10556
10575
  }
10557
10576
  async authenticateCustomerId(e) {
10558
10577
  var s;
10559
- const t = x.getShadowGraphqlClient(), A = Y.getMap("customerTokens");
10578
+ const t = x.getShadowGraphqlClient(), A = P.getMap("customerTokens");
10560
10579
  if (!(A != null && A.has(e)))
10561
10580
  return !1;
10562
10581
  const a = A.get(e);
@@ -10604,8 +10623,8 @@ class Ni {
10604
10623
  if (a != null && a.loginToken) {
10605
10624
  if (!((i = a.partner) != null && i.id))
10606
10625
  throw new Error(`Unable to find customer: ${e}`);
10607
- const s = Y.getMap("customerTokens") || /* @__PURE__ */ new Map();
10608
- return s.set(a.id, a.loginToken), Y.setMap("customerTokens", s), this.storeCustomer(a), Ft(a.loginToken), this.customer = {
10626
+ const s = P.getMap("customerTokens") || /* @__PURE__ */ new Map();
10627
+ return s.set(a.id, a.loginToken), P.setMap("customerTokens", s), this.storeCustomer(a), Ft(a.loginToken), this.customer = {
10609
10628
  ...a,
10610
10629
  loginToken: void 0
10611
10630
  }, !0;
@@ -10628,10 +10647,10 @@ class Ni {
10628
10647
  })).data) == null ? void 0 : g.bundleCreate;
10629
10648
  if (!(n != null && n.id))
10630
10649
  throw new Error("Unable to create bundle");
10631
- const i = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10632
- i.set(n.id, n.partner.id), Y.setMap("bundlePartnerIds", i);
10633
- const s = Y.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
10634
- return s.set(n.id, n.bundleOwnerId), Y.setMap("bundleOwnerIds", s), new xt(this, n, void 0, void 0, n.bundleOwnerId);
10650
+ const i = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10651
+ i.set(n.id, n.partner.id), P.setMap("bundlePartnerIds", i);
10652
+ const s = P.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
10653
+ return s.set(n.id, n.bundleOwnerId), P.setMap("bundleOwnerIds", s), new xt(this, n, void 0, void 0, n.bundleOwnerId);
10635
10654
  }
10636
10655
  /**
10637
10656
  * Retrieves an existing bundle from the API, by id.
@@ -10641,9 +10660,9 @@ class Ni {
10641
10660
  * @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
10642
10661
  */
10643
10662
  async getExistingBundle(e, t, A, a) {
10644
- var h, u, C, I, m, Q, p, f, F;
10645
- const n = Y.getMap("bundleOwnerIds"), i = n == null ? void 0 : n.get(e), o = ((h = Object.entries(localStorage).find(([M, P]) => M.startsWith("CognitoIdentityServiceProvider") && M.endsWith("idToken"))) == null ? void 0 : h[0]) || "", r = localStorage.getItem(o), g = {};
10646
- r && !dt(r) && (g.Authorization = `Bearer ${r}`);
10663
+ var h, u, C, I, p, Q, m, f, F;
10664
+ const n = P.getMap("bundleOwnerIds"), i = n == null ? void 0 : n.get(e), o = ((h = Object.entries(localStorage).find(([y, Y]) => y.startsWith("CognitoIdentityServiceProvider") && y.endsWith("idToken"))) == null ? void 0 : h[0]) || "", r = localStorage.getItem(o), g = {};
10665
+ r && !wt(r) && (g.Authorization = `Bearer ${r}`);
10647
10666
  const B = {
10648
10667
  bundleOwnerId: i,
10649
10668
  ...g,
@@ -10658,10 +10677,10 @@ class Ni {
10658
10677
  headers: B
10659
10678
  }
10660
10679
  });
10661
- if (!((m = l.data) != null && m.bundles) || ((Q = l.data) == null ? void 0 : Q.bundles.length) === 0 || !((p = l.data) != null && p.bundles[0]))
10680
+ if (!((p = l.data) != null && p.bundles) || ((Q = l.data) == null ? void 0 : Q.bundles.length) === 0 || !((m = l.data) != null && m.bundles[0]))
10662
10681
  throw new Error(`Unable to find bundle: ${e}`);
10663
- const d = (f = l.data) == null ? void 0 : f.bundles[0], w = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10664
- w.set(d.id, d.partner.id), Y.setMap("bundlePartnerIds", w);
10682
+ const d = (f = l.data) == null ? void 0 : f.bundles[0], w = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10683
+ w.set(d.id, d.partner.id), P.setMap("bundlePartnerIds", w);
10665
10684
  const E = new xt(this, d, t, A, i, {
10666
10685
  additionalHeaders: (F = a == null ? void 0 : a.graphql) == null ? void 0 : F.additionalHeaders
10667
10686
  });
@@ -10676,7 +10695,7 @@ class Ni {
10676
10695
  if (!this.customer)
10677
10696
  throw new Error("Customer not authenticated.");
10678
10697
  const e = await x.getShadowGraphqlClient().query({
10679
- query: Ln,
10698
+ query: Tn,
10680
10699
  variables: {
10681
10700
  id: this.customer.id
10682
10701
  },
@@ -10684,11 +10703,11 @@ class Ni {
10684
10703
  });
10685
10704
  if (!((n = e.data) != null && n.customers) || e.data.customers.length === 0)
10686
10705
  throw new Error("Unable to find customer.");
10687
- const A = e.data.customers[0].bundleStakeholders || [], a = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10706
+ const A = e.data.customers[0].bundleStakeholders || [], a = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
10688
10707
  return A.forEach((i) => {
10689
10708
  var s, o;
10690
10709
  (s = i.bundle) != null && s.id && ((o = i.bundle.partner) != null && o.id) && a.set(i.bundle.id, i.bundle.partner.id);
10691
- }), Y.setMap("bundlePartnerIds", a), A;
10710
+ }), P.setMap("bundlePartnerIds", a), A;
10692
10711
  }
10693
10712
  /**
10694
10713
  * Creates a new instance of WorkflowExperience. A high level wrapper for workflows.
@@ -10706,7 +10725,7 @@ class Ni {
10706
10725
  var u, C;
10707
10726
  const h = x.getShadowGraphqlClient();
10708
10727
  if (a.type === "transaction") {
10709
- const { transactionId: I, readOnly: m } = a, Q = await h.query({
10728
+ const { transactionId: I, readOnly: p } = a, Q = await h.query({
10710
10729
  query: me,
10711
10730
  variables: {
10712
10731
  ids: [I]
@@ -10716,13 +10735,13 @@ class Ni {
10716
10735
  });
10717
10736
  if (!((u = Q.data) != null && u.transactions) || Q.data.transactions.length === 0)
10718
10737
  throw new U("Existing transaction not found.");
10719
- const p = (C = Q.data) == null ? void 0 : C.transactions[0];
10720
- if (!p.workflowId)
10738
+ const m = (C = Q.data) == null ? void 0 : C.transactions[0];
10739
+ if (!m.workflowId)
10721
10740
  throw new U("Existing transaction has no workflow ID.");
10722
- const f = await ye(p.workflowId);
10723
- if (!p.product)
10741
+ const f = await ye(m.workflowId);
10742
+ if (!m.product)
10724
10743
  throw new U("Failed to load transaction, product not available.");
10725
- return { transaction: p, workflow: f, readOnly: m };
10744
+ return { transaction: m, workflow: f, readOnly: p };
10726
10745
  }
10727
10746
  if (a.type === "integration" || a.type === "external") {
10728
10747
  const I = async () => {
@@ -10743,12 +10762,12 @@ class Ni {
10743
10762
  });
10744
10763
  if (!F.data || !F.data.transactionCreate)
10745
10764
  throw new U("Failed to create transaction!");
10746
- const M = F.data.transactionCreate;
10747
- if (!M.product)
10765
+ const y = F.data.transactionCreate;
10766
+ if (!y.product)
10748
10767
  throw new U("Failed to create transaction, product not available.");
10749
- return M;
10750
- }, m = ye(a.workflowId, a == null ? void 0 : a.graphql), [Q, p] = await Promise.all([I(), m]);
10751
- return { transaction: Q, workflow: p };
10768
+ return y;
10769
+ }, p = ye(a.workflowId, a == null ? void 0 : a.graphql), [Q, m] = await Promise.all([I(), p]);
10770
+ return { transaction: Q, workflow: m };
10752
10771
  }
10753
10772
  throw new U("No workflow ID provided.");
10754
10773
  }, { transaction: i, workflow: s, readOnly: o } = await n();
@@ -10761,7 +10780,7 @@ class Ni {
10761
10780
  stateMutationFunc: o ? async () => {
10762
10781
  throw new b("State mutation is forbidden in read only mode!");
10763
10782
  } : async (h) => {
10764
- const C = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(i.id) || void 0;
10783
+ const C = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(i.id) || void 0;
10765
10784
  return this.updateTransactionState({ ...h, context: { transactionOwnerId: C } });
10766
10785
  },
10767
10786
  readOnly: o,
@@ -10787,8 +10806,8 @@ class Ni {
10787
10806
  model: r.product.modelUrl,
10788
10807
  contextService: r.renderableContextService
10789
10808
  }))), a.type !== "transaction") {
10790
- const h = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map();
10791
- h.set(i.id, i.transactionOwnerId), Y.setMap("transactionOwnerIds", h);
10809
+ const h = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map();
10810
+ h.set(i.id, i.transactionOwnerId), P.setMap("transactionOwnerIds", h);
10792
10811
  } else
10793
10812
  r.isReloadedTransaction = !0;
10794
10813
  this.initialized = !0, this.experienceOptions = r;
@@ -10806,35 +10825,35 @@ class Ni {
10806
10825
  if (e.length === 0)
10807
10826
  throw new U("No options provided!");
10808
10827
  const A = x.getShadowGraphqlClient(), a = async (Q) => {
10809
- var M, P;
10828
+ var y, Y;
10810
10829
  if (Q.length === 0)
10811
10830
  return [];
10812
- const p = Q.map((S) => S.option.transactionId), f = await A.query({
10831
+ const m = Q.map((S) => S.option.transactionId), f = await A.query({
10813
10832
  query: me,
10814
10833
  variables: {
10815
- ids: p
10834
+ ids: m
10816
10835
  },
10817
10836
  errorPolicy: "all",
10818
10837
  fetchPolicy: "no-cache"
10819
10838
  }), F = f.data.transactions;
10820
10839
  if (F.length !== Q.length) {
10821
- const S = ((P = (M = f.errors) == null ? void 0 : M[0]) == null ? void 0 : P.message) || "Unknown error";
10840
+ const S = ((Y = (y = f.errors) == null ? void 0 : y[0]) == null ? void 0 : Y.message) || "Unknown error";
10822
10841
  throw new U(`Not all transactions were found: ${S}`);
10823
10842
  }
10824
10843
  return F.map((S, N) => {
10825
- var R;
10844
+ var H;
10826
10845
  return {
10827
10846
  transaction: S,
10828
10847
  workflowId: S.workflowId,
10829
- readOnly: ((R = Q.find((O) => O.option.transactionId === S.id)) == null ? void 0 : R.option.readOnly) ?? !1,
10848
+ readOnly: ((H = Q.find((O) => O.option.transactionId === S.id)) == null ? void 0 : H.option.readOnly) ?? !1,
10830
10849
  index: Q[N].index
10831
10850
  };
10832
10851
  });
10833
10852
  }, n = async (Q) => {
10834
- var F, M, P;
10853
+ var F, y, Y;
10835
10854
  if (Q.length === 0)
10836
10855
  return [];
10837
- const p = await A.mutate({
10856
+ const m = await A.mutate({
10838
10857
  mutation: ua,
10839
10858
  variables: {
10840
10859
  inputs: Q.map((S) => ({
@@ -10847,9 +10866,9 @@ class Ni {
10847
10866
  },
10848
10867
  errorPolicy: "all",
10849
10868
  fetchPolicy: "no-cache"
10850
- }), f = (F = p.data) == null ? void 0 : F.transactionCreateMany;
10869
+ }), f = (F = m.data) == null ? void 0 : F.transactionCreateMany;
10851
10870
  if (!f || f.length === 0) {
10852
- const S = ((P = (M = p.errors) == null ? void 0 : M[0]) == null ? void 0 : P.message) || "Unknown error";
10871
+ const S = ((Y = (y = m.errors) == null ? void 0 : y[0]) == null ? void 0 : Y.message) || "Unknown error";
10853
10872
  throw new U(`Failed to create transactions: ${S}`);
10854
10873
  }
10855
10874
  return f.map((S, N) => ({
@@ -10858,48 +10877,48 @@ class Ni {
10858
10877
  readOnly: !1,
10859
10878
  index: Q[N].index
10860
10879
  }));
10861
- }, i = e.map((Q, p) => ({ option: Q, index: p })), s = i.filter((Q) => Q.option.type === "transaction"), o = i.filter(
10880
+ }, i = e.map((Q, m) => ({ option: Q, index: m })), s = i.filter((Q) => Q.option.type === "transaction"), o = i.filter(
10862
10881
  (Q) => Q.option.type === "integration" || Q.option.type === "external"
10863
10882
  ), r = ft(s, 10), g = ft(o, 10), B = (await Promise.all([
10864
10883
  ...r.map(a),
10865
10884
  ...g.map(n)
10866
- ])).flat(), l = [...new Set(B.map((Q) => Q.workflowId))], d = await pA(l, t), w = new Map(d.map((Q) => [Q.id, Q])), E = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), h = B.map(async (Q) => {
10885
+ ])).flat(), l = [...new Set(B.map((Q) => Q.workflowId))], d = await pA(l, t), w = new Map(d.map((Q) => [Q.id, Q])), E = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), h = B.map(async (Q) => {
10867
10886
  var O;
10868
- const { transaction: p, workflowId: f, readOnly: F, index: M } = Q, P = w.get(f), S = e[M];
10869
- !E.get(p.id) && p.transactionOwnerId && E.set(p.id, p.transactionOwnerId);
10870
- const N = E.get(p.id) || void 0, R = {
10871
- product: p.product,
10872
- transaction: p,
10887
+ const { transaction: m, workflowId: f, readOnly: F, index: y } = Q, Y = w.get(f), S = e[y];
10888
+ !E.get(m.id) && m.transactionOwnerId && E.set(m.id, m.transactionOwnerId);
10889
+ const N = E.get(m.id) || void 0, H = {
10890
+ product: m.product,
10891
+ transaction: m,
10873
10892
  layouts: [],
10874
10893
  singleVariantsRenderable: (O = S == null ? void 0 : S.workflowConfiguration) == null ? void 0 : O.singleVariantsRenderable,
10875
10894
  stateMutationFunc: F ? async () => {
10876
10895
  throw new b("State mutation is forbidden in read only mode!");
10877
- } : async (T) => this.updateTransactionState({ ...T, context: { transactionOwnerId: N } }),
10896
+ } : async (L) => this.updateTransactionState({ ...L, context: { transactionOwnerId: N } }),
10878
10897
  readOnly: F,
10879
- workflow: P,
10898
+ workflow: Y,
10880
10899
  isReloadedTransaction: S.type === "transaction"
10881
10900
  };
10882
- if (S.type === "transaction" && p.workflowState) {
10883
- const T = JSON.parse(p.workflowState);
10884
- R.layouts = Object.values(T.layouts || {}).map((W) => W.layout), await Ae(T), await ne(T), R.reloadedState = T;
10901
+ if (S.type === "transaction" && m.workflowState) {
10902
+ const L = JSON.parse(m.workflowState);
10903
+ H.layouts = Object.values(L.layouts || {}).map((W) => W.layout), await Ae(L), await ne(L), H.reloadedState = L;
10885
10904
  } else if (!F && S.workflowState) {
10886
- const T = JSON.parse(S.workflowState);
10887
- R.layouts = Object.values(T.layouts || {}).map((W) => W.layout), await Ae(T), await ne(T), R.reloadedState = T;
10905
+ const L = JSON.parse(S.workflowState);
10906
+ H.layouts = Object.values(L.layouts || {}).map((W) => W.layout), await Ae(L), await ne(L), H.reloadedState = L;
10888
10907
  } else
10889
- R.layouts = Ve(
10890
- R.transaction,
10891
- R.workflow
10908
+ H.layouts = Ve(
10909
+ H.transaction,
10910
+ H.workflow
10892
10911
  );
10893
- return R.renderableContextService = new De(
10894
- R.layouts
10895
- ), R.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = R, { experienceOptions: R, index: M, options: S };
10912
+ return H.renderableContextService = new De(
10913
+ H.layouts
10914
+ ), H.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = H, { experienceOptions: H, index: y, options: S };
10896
10915
  });
10897
- Y.setMap("transactionOwnerIds", E);
10898
- const I = (await Promise.all(h)).sort((Q, p) => Q.index - p.index).map(async (Q) => {
10899
- const { experienceOptions: p, options: f } = Q, F = new fe(this, p);
10916
+ P.setMap("transactionOwnerIds", E);
10917
+ const I = (await Promise.all(h)).sort((Q, m) => Q.index - m.index).map(async (Q) => {
10918
+ const { experienceOptions: m, options: f } = Q, F = new fe(this, m);
10900
10919
  return await F.getWorkflowManager().getInitializationPromise(), f.type !== "transaction" && this.customer && await F.attachCustomerDetails({ email: this.customer.emailAddress }), F;
10901
- }), m = await Promise.all(I);
10902
- return m.forEach((Q) => Q.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), m;
10920
+ }), p = await Promise.all(I);
10921
+ return p.forEach((Q) => Q.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), p;
10903
10922
  }
10904
10923
  /**
10905
10924
  * Initialize the client from an integration product.
@@ -10927,8 +10946,8 @@ class Ni {
10927
10946
  if (!a.product)
10928
10947
  throw new U("Failed to create transaction, product not available.");
10929
10948
  this.currencyCode = (i = a.product.partner) == null ? void 0 : i.currencyCode;
10930
- const n = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map();
10931
- n.set(a.id, a.transactionOwnerId), Y.setMap("transactionOwnerIds", n), this.experienceOptions = {
10949
+ const n = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map();
10950
+ n.set(a.id, a.transactionOwnerId), P.setMap("transactionOwnerIds", n), this.experienceOptions = {
10932
10951
  product: a.product,
10933
10952
  transaction: a,
10934
10953
  layouts: [],
@@ -10972,7 +10991,7 @@ class Ni {
10972
10991
  };
10973
10992
  if (t)
10974
10993
  return await a();
10975
- const n = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), i = n.get(e);
10994
+ const n = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), i = n.get(e);
10976
10995
  if (i) {
10977
10996
  const l = (s = (await A.query({
10978
10997
  query: me,
@@ -11004,7 +11023,7 @@ class Ni {
11004
11023
  throw new U("Failed to read transaction.");
11005
11024
  if (!l.product)
11006
11025
  throw new U("Failed to load transaction, product not available.");
11007
- this.currencyCode = (g = l.product.partner) == null ? void 0 : g.currencyCode, l.transactionOwnerId && (n.set(l.id, l.transactionOwnerId), Y.setMap("transactionOwnerIds", n)), this.experienceOptions = {
11026
+ this.currencyCode = (g = l.product.partner) == null ? void 0 : g.currencyCode, l.transactionOwnerId && (n.set(l.id, l.transactionOwnerId), P.setMap("transactionOwnerIds", n)), this.experienceOptions = {
11008
11027
  product: l.product,
11009
11028
  transaction: l,
11010
11029
  layouts: [],
@@ -11039,7 +11058,7 @@ class Ni {
11039
11058
  return await r.getWorkflowManager().getInitializationPromise(), r;
11040
11059
  }
11041
11060
  if (e) {
11042
- const r = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(this.experienceOptions.transaction.id), g = x.getShadowGraphqlClient().mutate({
11061
+ const r = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(this.experienceOptions.transaction.id), g = x.getShadowGraphqlClient().mutate({
11043
11062
  mutation: ma,
11044
11063
  variables: {
11045
11064
  workflowId: e,
@@ -11096,8 +11115,8 @@ class Ni {
11096
11115
  $.setHubUrl(e), $.setServerUrl(t), $.setServicesApiUrl(A), this.getIntegration();
11097
11116
  }
11098
11117
  storeCustomer(e) {
11099
- const t = Y.getMap("partnerCustomerIds") || /* @__PURE__ */ new Map();
11100
- t.set(e.partner.id, e.id), Y.setMap("partnerCustomerIds", t);
11118
+ const t = P.getMap("partnerCustomerIds") || /* @__PURE__ */ new Map();
11119
+ t.set(e.partner.id, e.id), P.setMap("partnerCustomerIds", t);
11101
11120
  }
11102
11121
  async getIntegrationProductById(e) {
11103
11122
  var n, i;
@@ -11263,8 +11282,8 @@ class Zi {
11263
11282
  setWorkflowStateSyncEnabled(e) {
11264
11283
  }
11265
11284
  }
11266
- var Ri = /* @__PURE__ */ ((c) => (c.SelectFrame = "SelectFrame", c.SelectImage = "SelectImage", c.Position = "Position", c))(Ri || {});
11267
- class Hi extends X {
11285
+ var Hi = /* @__PURE__ */ ((c) => (c.SelectFrame = "SelectFrame", c.SelectImage = "SelectImage", c.Position = "Position", c))(Hi || {});
11286
+ class Ri extends X {
11268
11287
  constructor(e, t) {
11269
11288
  var A;
11270
11289
  super(e, t), this.frameService = (A = this.manager.getStepSpecificServices(this.getId())) == null ? void 0 : A.frameService;
@@ -11305,7 +11324,7 @@ class Hi extends X {
11305
11324
  }
11306
11325
  }
11307
11326
  async canUseBackgroundRemover() {
11308
- return this.manager.getClient().canUseAddon(rt.BackgroundRemover);
11327
+ return this.manager.getClient().canUseAddon(ct.BackgroundRemover);
11309
11328
  }
11310
11329
  /**
11311
11330
  * Removes the background from an image, stores it in the state, and returns the new asset.
@@ -11321,7 +11340,7 @@ class Hi extends X {
11321
11340
  const t = await this.getOriginalImageSelection();
11322
11341
  if (!t)
11323
11342
  throw new Error("You must supply an image selection before attempting to remove the background.");
11324
- const A = await G.removeBackgroundFromAsset(t);
11343
+ const A = await v.removeBackgroundFromAsset(t);
11325
11344
  e && await Se.selectImage(this.step, A, this.manager, !1);
11326
11345
  const a = ((n = this.manager.getStepStorage(this.step.stepName)) == null ? void 0 : n.framePatternData) || {};
11327
11346
  return this.manager.updateStorage(this.step.stepName, {
@@ -11352,13 +11371,13 @@ class Hi extends X {
11352
11371
  var t, A;
11353
11372
  const e = (A = (t = this.manager.getStepStorage(this.step.stepName)) == null ? void 0 : t.framePatternData) == null ? void 0 : A.originalAssetKey;
11354
11373
  if (e)
11355
- return G.getLocalOrFromServer(e);
11374
+ return v.getLocalOrFromServer(e);
11356
11375
  }
11357
11376
  async getBackgroundRemovedImageSelection() {
11358
11377
  var t, A;
11359
11378
  const e = (A = (t = this.manager.getStepStorage(this.step.stepName)) == null ? void 0 : t.framePatternData) == null ? void 0 : A.backgroundRemovedAssetKey;
11360
11379
  if (e)
11361
- return G.getLocalOrFromServer(e);
11380
+ return v.getLocalOrFromServer(e);
11362
11381
  }
11363
11382
  hasBackgroundRemovedImageSelection() {
11364
11383
  var e, t;
@@ -11395,7 +11414,7 @@ class Hi extends X {
11395
11414
  }
11396
11415
  }
11397
11416
  export {
11398
- rt as AddonHandle,
11417
+ ct as AddonHandle,
11399
11418
  qi as ArrayInput,
11400
11419
  es as AspectType,
11401
11420
  te as AssetNotFoundError,
@@ -11421,9 +11440,9 @@ export {
11421
11440
  Bs as FontSizeCommand,
11422
11441
  ds as FontSourceCommand,
11423
11442
  Ya as FrameService,
11424
- Ri as FrameStep,
11425
- Hi as FrameStepHandle,
11426
- wt as GlobalPropertyHandle,
11443
+ Hi as FrameStep,
11444
+ Ri as FrameStepHandle,
11445
+ ht as GlobalPropertyHandle,
11427
11446
  ws as GroupCommand,
11428
11447
  sn as IllustrationStepHandle,
11429
11448
  ke as InformationMessageType,
@@ -11434,14 +11453,14 @@ export {
11434
11453
  Es as LayoutElementType,
11435
11454
  z as LayoutNotFoundError,
11436
11455
  on as MaterialStepHandle,
11437
- He as MisconfigurationError,
11456
+ Re as MisconfigurationError,
11438
11457
  Zi as MockWorkflowManager,
11439
11458
  rn as ModelStepHandle,
11440
11459
  us as MoveCommand,
11441
11460
  mA as ObjectInput,
11442
11461
  hi as ObjectInputType,
11443
11462
  QA as OptionGlobalPropertyHandle,
11444
- Re as OptionNotFoundError,
11463
+ He as OptionNotFoundError,
11445
11464
  ge as ParseError,
11446
11465
  cn as PictureStepHandle,
11447
11466
  wa as ProductCameraRig,
@@ -11473,7 +11492,7 @@ export {
11473
11492
  q as Variant,
11474
11493
  fn as WorkflowExperienceEventType,
11475
11494
  fe as WorkflowExperienceImpl,
11476
- G as assetService,
11495
+ v as assetService,
11477
11496
  Qn as createDesign,
11478
11497
  ys as dataUrlFromExternalUrl,
11479
11498
  Ke as designService,
@@ -11483,13 +11502,13 @@ export {
11483
11502
  Ys as frameDataCache,
11484
11503
  Se as frameStepService,
11485
11504
  Ps as generate,
11486
- Hn as generateCommands,
11505
+ Rn as generateCommands,
11487
11506
  xs as generateSVGWithUnknownColors,
11488
11507
  Wi as generateStateFromDesignInputSteps,
11489
11508
  Ns as getAttributesFromArrayBuffer,
11490
- Rs as getAxisAlignedBoundingBox,
11509
+ Hs as getAxisAlignedBoundingBox,
11491
11510
  Sa as getBoundedOffsets,
11492
- Hs as getFrameData,
11511
+ Rs as getFrameData,
11493
11512
  Us as getSvgElement,
11494
11513
  ye as getWorkflow,
11495
11514
  pA as getWorkflows,
@@ -11501,13 +11520,13 @@ export {
11501
11520
  ka as moduleStepService,
11502
11521
  V as optionService,
11503
11522
  Gs as patternImageDataCache,
11504
- Y as persistenceService,
11523
+ P as persistenceService,
11505
11524
  sA as pictureStepService,
11506
11525
  oA as questionStepService,
11507
11526
  ks as registerFetchImplementation,
11508
11527
  bs as registerWindowImplementation,
11509
11528
  Js as rehydrateSerializedLayout,
11510
- Ts as setCanvasModule,
11529
+ Ls as setCanvasModule,
11511
11530
  le as shapeStepService,
11512
11531
  Pa as shortenUrl,
11513
11532
  $ as spiffCoreConfiguration,