@spiffcommerce/core 21.7.1 → 21.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { createHttpLink as EA, InMemoryCache as hA, ApolloClient as CA, from as QA, gql as F } from "@apollo/client/core";
2
- import { fetch as $e, getAttributesFromArrayBuffer as yt, AssetType as Bt, StepType as D, getFrameData as _e, frameDataCache as uA, GroupCommand as G, UpdateFramePattern as Yt, UpdateFrameThresholdSettingsCommand as mA, calculateOffsets as et, LayoutElementType as v, generate as J, CreateElementCommand as L, generateSVGWithUnknownColors as St, svgObjectURL as De, fetchAsString as Z, DeleteElementCommand as $, generateDefaultRectangleFrameSvg as dt, GetSVGDimensions as IA, patternImageDataCache as wt, fetchAsArrayBuffer as pA, findElement as Fe, modifySVGWithElementProperties as fA, IllustrationColorCommand as Ke, IllustrationCacheCommand as DA, getFontMetrics as FA, getPatternImageData as je, FontAlignmentCommand as MA, FontColorCommand as yA, FontImageFillCommand as Je, applyTextTransformations as Ve, determineCorrectFontSizeAndLines as Ie, FontSourceCommand as Et, loadFont as tt, TextChangeCommand as YA, FontSizeCommand as SA, createElementNS as xA, createElement as de, _loadFontExternalDataURL as At, UpdateWorkflowStateCommand as ht, CommandContext as PA, createCanvas as Me, getSvgElement as xt, LayoutRenderingPurpose as Pt, renderPapyrusComponentAsString as Nt, loadImage as Ht, getDomParser as Rt, toBase64 as Ct, getVariant as NA, generateFrameSVG as HA, getDefaultVariant as He, domParser as Ut, sanitizeSvgTree as Gt, traverse as RA, xmlSerializer as vt, CreateLayoutCommand as UA, AspectType as pe, rehydrateSerializedLayout as ee } from "@spiffcommerce/papyrus";
3
- import { AspectType as Ki, AssetType as ji, BringForwardCommand as Vi, BringToBackCommand as Wi, BringToFrontCommand as Xi, CanvasCommand as qi, CommandContext as Zi, CreateElementCommand as $i, CreateLayoutCommand as _i, DeleteElementCommand as es, FontAlignmentCommand as ts, FontColorCommand as As, FontSizeCommand as ns, FontSourceCommand as as, GroupCommand as is, LayoutElementFactory as ss, LayoutElementType as os, MoveCommand as rs, ResizeCommand as cs, RotateCommand as gs, SendBackwardsCommand as ls, StepAspectType as Bs, StepType as ds, TextChangeCommand as ws, UnitOfMeasurement as Es, dataUrlFromExternalUrl as hs, determineCorrectFontSizeAndLines as Cs, findElement as Qs, frameDataCache as us, generate as ms, generateSVGWithUnknownColors as Is, getAttributesFromArrayBuffer as ps, getAxisAlignedBoundingBox as fs, getFrameData as Ds, getSvgElement as Fs, loadFont as Ms, patternImageDataCache as ys, registerFetchImplementation as Ys, registerWindowImplementation as Ss, rehydrateSerializedLayout as xs, setCanvasModule as Ps } from "@spiffcommerce/papyrus";
1
+ import { createHttpLink as EA, InMemoryCache as hA, ApolloClient as CA, from as uA, gql as D } from "@apollo/client/core";
2
+ import { fetch as $e, getAttributesFromArrayBuffer as yt, AssetType as Bt, StepType as F, getFrameData as _e, frameDataCache as QA, GroupCommand as G, UpdateFramePattern as Yt, UpdateFrameThresholdSettingsCommand as mA, calculateOffsets as et, LayoutElementType as v, generate as J, CreateElementCommand as L, generateSVGWithUnknownColors as St, svgObjectURL as De, fetchAsString as Z, DeleteElementCommand as $, generateDefaultRectangleFrameSvg as dt, GetSVGDimensions as IA, patternImageDataCache as wt, fetchAsArrayBuffer as pA, findElement as Fe, modifySVGWithElementProperties as fA, IllustrationColorCommand as Ke, IllustrationCacheCommand as DA, getFontMetrics as FA, getPatternImageData as je, FontAlignmentCommand as MA, FontColorCommand as yA, FontImageFillCommand as Je, applyTextTransformations as Ve, determineCorrectFontSizeAndLines as Ie, FontSourceCommand as Et, loadFont as tt, TextChangeCommand as YA, FontSizeCommand as SA, createElementNS as xA, createElement as de, _loadFontExternalDataURL as At, UpdateWorkflowStateCommand as ht, CommandContext as PA, createCanvas as Me, getSvgElement as xt, LayoutRenderingPurpose as Pt, renderPapyrusComponentAsString as Nt, loadImage as Ht, getDomParser as Rt, toBase64 as Ct, getVariant as NA, generateFrameSVG as HA, getDefaultVariant as He, domParser as Ut, sanitizeSvgTree as Gt, traverse as RA, xmlSerializer as vt, CreateLayoutCommand as UA, AspectType as pe, rehydrateSerializedLayout as ee } from "@spiffcommerce/papyrus";
3
+ import { AspectType as ji, AssetType as Vi, BringForwardCommand as Wi, BringToBackCommand as Xi, BringToFrontCommand as qi, CanvasCommand as Zi, CommandContext as $i, CreateElementCommand as _i, CreateLayoutCommand as es, DeleteElementCommand as ts, FontAlignmentCommand as As, FontColorCommand as ns, FontSizeCommand as as, FontSourceCommand as is, GroupCommand as ss, LayoutElementFactory as os, LayoutElementType as rs, MoveCommand as cs, ResizeCommand as gs, RotateCommand as ls, SendBackwardsCommand as Bs, StepAspectType as ds, StepType as ws, TextChangeCommand as Es, UnitOfMeasurement as hs, dataUrlFromExternalUrl as Cs, determineCorrectFontSizeAndLines as us, findElement as Qs, frameDataCache as ms, generate as Is, generateSVGWithUnknownColors as ps, getAttributesFromArrayBuffer as fs, getAxisAlignedBoundingBox as Ds, getFrameData as Fs, getSvgElement as Ms, loadFont as ys, patternImageDataCache as Ys, registerFetchImplementation as Ss, registerWindowImplementation as xs, rehydrateSerializedLayout as Ps, setCanvasModule as Ns } from "@spiffcommerce/papyrus";
4
4
  import { setContext as GA } from "@apollo/client/link/context";
5
5
  import { onError as vA } from "@apollo/client/link/error";
6
6
  import { Pith as kt } from "pith";
@@ -10,7 +10,7 @@ import Re from "lodash.clonedeep";
10
10
  import { toString as Lt } from "qrcode";
11
11
  import { split as We } from "unicode-default-word-boundary";
12
12
  import nt from "svg-path-bbox";
13
- import Qt from "lodash.chunk";
13
+ import ut from "lodash.chunk";
14
14
  class Tt extends Error {
15
15
  constructor(e) {
16
16
  super(e), this.name = this.constructor.name;
@@ -91,7 +91,7 @@ class kA {
91
91
  this.set(e, A);
92
92
  }
93
93
  }
94
- class ut {
94
+ class Qt {
95
95
  constructor() {
96
96
  this.storage = /* @__PURE__ */ new Map();
97
97
  }
@@ -116,9 +116,9 @@ class ut {
116
116
  }
117
117
  const JA = () => {
118
118
  try {
119
- return localStorage ? new kA() : new ut();
119
+ return localStorage ? new kA() : new Qt();
120
120
  } catch {
121
- return console.warn("Local storage was unavilable due to browser security settings. Using in-memory storage instead."), new ut();
121
+ return console.warn("Local storage was unavilable due to browser security settings. Using in-memory storage instead."), new Qt();
122
122
  }
123
123
  }, x = JA();
124
124
  class bA {
@@ -181,20 +181,20 @@ class KA {
181
181
  uri: `${q.getServerUrl()}/graphql`,
182
182
  fetch: $e
183
183
  }), t = GA(async (i, s) => {
184
- const { headers: o } = s, r = o || {}, g = await zA(), B = s.bearer ?? g.bearer, l = s.partnerId ?? g.partnerId, d = s.activeIntegration ?? g.activeIntegration, w = s.transactionOwnerId, h = s.customerToken ?? g.customerToken, E = s.applicationKey ?? g.applicationKey, Q = s.bundleOwnerId;
184
+ const { headers: o } = s, r = o || {}, g = await zA(), B = s.bearer ?? g.bearer, l = s.partnerId ?? g.partnerId, d = s.activeIntegration ?? g.activeIntegration, w = s.transactionOwnerId, h = s.customerToken ?? g.customerToken, E = s.applicationKey ?? g.applicationKey, u = s.bundleOwnerId;
185
185
  try {
186
186
  if (window && window.__SENTRY__) {
187
187
  const C = window.__SENTRY__.hub;
188
188
  if (C) {
189
189
  const f = C.traceHeaders();
190
- Object.entries(f).forEach(([u, m]) => {
191
- r[u] = m;
190
+ Object.entries(f).forEach(([Q, m]) => {
191
+ r[Q] = m;
192
192
  });
193
193
  }
194
194
  }
195
195
  } catch {
196
196
  }
197
- return B && (r.Authorization = `Bearer ${B}`), l && (r.partnerId = l), d && (r.activeIntegration = d), w && (r.transactionOwnerId = w), h && (r.customerToken = h), E && (r["X-Application-Key"] = E), Q && (r.bundleOwnerId = Q), {
197
+ return B && (r.Authorization = `Bearer ${B}`), l && (r.partnerId = l), d && (r.activeIntegration = d), w && (r.transactionOwnerId = w), h && (r.customerToken = h), E && (r["X-Application-Key"] = E), u && (r.bundleOwnerId = u), {
198
198
  headers: r
199
199
  };
200
200
  }), A = vA(({ operation: i, graphQLErrors: s, networkError: o }) => {
@@ -246,20 +246,20 @@ class KA {
246
246
  }
247
247
  });
248
248
  return new CA({
249
- link: QA([A, t, e]),
249
+ link: uA([A, t, e]),
250
250
  cache: a,
251
251
  name: "Core"
252
252
  });
253
253
  }
254
254
  }
255
- const P = new KA(), jA = F`
255
+ const P = new KA(), jA = D`
256
256
  fragment AssetMetadataFields on Asset {
257
257
  metadata {
258
258
  key
259
259
  value
260
260
  }
261
261
  }
262
- `, ve = (c) => F`
262
+ `, ve = (c) => D`
263
263
  ${c && jA || ""}
264
264
  fragment AssetFields on Asset {
265
265
  name
@@ -274,14 +274,14 @@ const P = new KA(), jA = F`
274
274
  }
275
275
  ${c && "...AssetMetadataFields" || ""}
276
276
  }
277
- `, VA = F`
277
+ `, VA = D`
278
278
  ${ve(!1)}
279
279
  query GetAssets($keys: [String]!) {
280
280
  assets(keys: $keys) {
281
281
  ...AssetFields
282
282
  }
283
283
  }
284
- `, it = F`
284
+ `, it = D`
285
285
  fragment MaterialFields on Material {
286
286
  id
287
287
  name
@@ -328,14 +328,14 @@ const P = new KA(), jA = F`
328
328
  fileLink
329
329
  }
330
330
  }
331
- `, WA = F`
331
+ `, WA = D`
332
332
  ${it}
333
333
  query GetMaterials($ids: [String]) {
334
334
  materials(id: $ids) {
335
335
  ...MaterialFields
336
336
  }
337
337
  }
338
- `, XA = F`
338
+ `, XA = D`
339
339
  mutation CreateAsset($name: String!, $type: String!, $mimeType: String!, $anonymous: Boolean, $temporary: Boolean) {
340
340
  assetCreate(name: $name, type: $type, mimeType: $mimeType, anonymous: $anonymous, temporary: $temporary) {
341
341
  uploadUrl
@@ -565,7 +565,7 @@ class _A {
565
565
  this.disabled = e;
566
566
  }
567
567
  }
568
- const le = new _A(), Kt = F`
568
+ const le = new _A(), Kt = D`
569
569
  fragment OptionFields on Option {
570
570
  id
571
571
  name
@@ -605,7 +605,7 @@ const le = new _A(), Kt = F`
605
605
  ...AssetFields
606
606
  }
607
607
  }
608
- `, en = F`
608
+ `, en = D`
609
609
  ${ve(!1)}
610
610
  ${it}
611
611
  ${Kt}
@@ -693,7 +693,7 @@ class an {
693
693
  }
694
694
  const j = new an();
695
695
  var sn = /* @__PURE__ */ ((c) => (c.Hub = "Hub", c.Shopify = "Shopify", c))(sn || {}), on = /* @__PURE__ */ ((c) => (c[c.Orbit = 0] = "Orbit", c[c.Pan = 1] = "Pan", c))(on || {}), rn = /* @__PURE__ */ ((c) => (c.Manual = "Manual", c.OnStart = "OnStart", c.OnQuit = "OnQuit", c.OnEnd = "OnEnd", c))(rn || {}), cn = /* @__PURE__ */ ((c) => (c.Email = "Email", c.FirstName = "FirstName", c.LastName = "LastName", c.Phone = "Phone", c))(cn || {}), Se = /* @__PURE__ */ ((c) => (c.Owner = "Owner", c.Approver = "Approver", c.Editor = "Editor", c.Viewer = "Viewer", c))(Se || {});
696
- const ae = F`
696
+ const ae = D`
697
697
  fragment AdditionalIntegrationProductFields on IntegrationProduct {
698
698
  id
699
699
  product {
@@ -710,7 +710,7 @@ const ae = F`
710
710
  preloadImageUrl
711
711
  }
712
712
  }
713
- `, It = F`
713
+ `, It = D`
714
714
  ${ae}
715
715
  mutation CreateTransaction(
716
716
  $integrationProductId: String
@@ -799,7 +799,7 @@ const ae = F`
799
799
  }
800
800
  }
801
801
  }
802
- `, gn = F`
802
+ `, gn = D`
803
803
  ${ae}
804
804
  mutation CreateTransactions($inputs: [TransactionCreateInput]!) {
805
805
  transactionCreateMany(inputs: $inputs) {
@@ -876,7 +876,7 @@ const ae = F`
876
876
  }
877
877
  }
878
878
  }
879
- `, ln = F`
879
+ `, ln = D`
880
880
  ${ae}
881
881
  mutation ClaimTransaction($id: String!) {
882
882
  transactionClaim(id: $id) {
@@ -953,7 +953,7 @@ const ae = F`
953
953
  }
954
954
  }
955
955
  }
956
- `, we = F`
956
+ `, we = D`
957
957
  ${ae}
958
958
  query ReadTransactions($ids: [String]!) {
959
959
  transactions(ids: $ids) {
@@ -1057,26 +1057,26 @@ const ae = F`
1057
1057
  }
1058
1058
  }
1059
1059
  }
1060
- `, Bn = F`
1060
+ `, Bn = D`
1061
1061
  mutation UpdateTransactionWorkflowState($id: String!, $workflowState: String!) {
1062
1062
  transactionUpdate(id: $id, workflowState: $workflowState) {
1063
1063
  id
1064
1064
  }
1065
1065
  }
1066
- `, dn = F`
1066
+ `, dn = D`
1067
1067
  mutation UpdateTransactionWorkflowId($id: String!, $workflowId: String!) {
1068
1068
  transactionUpdate(id: $id, workflowId: $workflowId) {
1069
1069
  id
1070
1070
  }
1071
1071
  }
1072
- `, wn = F`
1072
+ `, wn = D`
1073
1073
  mutation UpdateTransactionQuantity($id: String!, $quantity: Int) {
1074
1074
  transactionUpdate(id: $id, quantity: $quantity) {
1075
1075
  id
1076
1076
  }
1077
1077
  }
1078
1078
  `;
1079
- F`
1079
+ D`
1080
1080
  query ReadTransactionForDesignCreation($id: String!) {
1081
1081
  transactions(ids: [$id]) {
1082
1082
  id
@@ -1122,14 +1122,14 @@ F`
1122
1122
  }
1123
1123
  }
1124
1124
  `;
1125
- const jt = F`
1125
+ const jt = D`
1126
1126
  query ReadWorkflowStates($ids: [String]!) {
1127
1127
  transactions(ids: $ids) {
1128
1128
  id
1129
1129
  workflowState
1130
1130
  }
1131
1131
  }
1132
- `, Vt = F`
1132
+ `, Vt = D`
1133
1133
  ${ae}
1134
1134
  fragment IntegrationProductFields on IntegrationProduct {
1135
1135
  id
@@ -1176,14 +1176,14 @@ const jt = F`
1176
1176
  }
1177
1177
  }
1178
1178
  }
1179
- `, En = F`
1179
+ `, En = D`
1180
1180
  ${Vt}
1181
1181
  query GetIntegrationProducts($ids: [String!]!) {
1182
1182
  integrationProducts(ids: $ids) {
1183
1183
  ...IntegrationProductFields
1184
1184
  }
1185
1185
  }
1186
- `, hn = F`
1186
+ `, hn = D`
1187
1187
  ${Vt}
1188
1188
  query GetIntegrationProductFromExternalIds($externalIntegrationId: String!, $externalProductId: String!) {
1189
1189
  integrationProductFromExternalIds(
@@ -1193,14 +1193,14 @@ const jt = F`
1193
1193
  ...IntegrationProductFields
1194
1194
  }
1195
1195
  }
1196
- `, se = [D.SilentIllustration, D.ProductOverlay], Cn = async (c) => {
1196
+ `, se = [F.SilentIllustration, F.ProductOverlay], Cn = async (c) => {
1197
1197
  const e = [];
1198
1198
  c.introduction && e.push({
1199
1199
  name: "Introduction",
1200
1200
  title: c.name,
1201
1201
  renderableSteps: [
1202
1202
  {
1203
- type: D.Introduction,
1203
+ type: F.Introduction,
1204
1204
  stepName: "Introduction",
1205
1205
  stepTitle: c.name,
1206
1206
  helpText: c.introduction,
@@ -1211,7 +1211,7 @@ const jt = F`
1211
1211
  silentSteps: []
1212
1212
  });
1213
1213
  for (const A of c.steps) {
1214
- const n = Qn(A.stepName, c.stepGroups);
1214
+ const n = un(A.stepName, c.stepGroups);
1215
1215
  if (!n)
1216
1216
  e.push({
1217
1217
  name: A.stepName,
@@ -1235,7 +1235,7 @@ const jt = F`
1235
1235
  title: t,
1236
1236
  renderableSteps: [
1237
1237
  {
1238
- type: D.Finish,
1238
+ type: F.Finish,
1239
1239
  stepName: "Finish",
1240
1240
  stepTitle: t,
1241
1241
  helpText: "",
@@ -1248,7 +1248,7 @@ const jt = F`
1248
1248
  ],
1249
1249
  silentSteps: []
1250
1250
  }), e;
1251
- }, Qn = (c, e) => e.find((t) => t.stepNames.includes(c)), ne = (c, e) => (c.conditions || []).every((t) => {
1251
+ }, un = (c, e) => e.find((t) => t.stepNames.includes(c)), ne = (c, e) => (c.conditions || []).every((t) => {
1252
1252
  const A = e[t.targetStepName];
1253
1253
  if (A && A.selectedVariants) {
1254
1254
  const n = A.selectedVariants;
@@ -1257,7 +1257,7 @@ const jt = F`
1257
1257
  );
1258
1258
  }
1259
1259
  return !1;
1260
- }), un = (c, e) => {
1260
+ }), Qn = (c, e) => {
1261
1261
  const t = {
1262
1262
  name: c.name,
1263
1263
  title: c.title,
@@ -1265,13 +1265,13 @@ const jt = F`
1265
1265
  silentSteps: c.silentSteps.filter((A) => ne(A, e))
1266
1266
  };
1267
1267
  return t.silentSteps.length === 0 && t.renderableSteps.length === 0 ? null : t;
1268
- }, Ae = (c, e) => c.map((t) => un(t, e)).filter((t) => t !== null), mn = async (c, e, t = !1) => {
1268
+ }, Ae = (c, e) => c.map((t) => Qn(t, e)).filter((t) => t !== null), mn = async (c, e, t = !1) => {
1269
1269
  var i;
1270
1270
  const A = Ae(c, e), n = [];
1271
1271
  for (const s of A)
1272
1272
  for (const o of s.renderableSteps) {
1273
1273
  const r = (((i = o.option) == null ? void 0 : i.variants) || []).length;
1274
- o.silent || (o.type === D.Model || o.type === D.Material || o.type === D.Picture || o.type === D.Shape ? (r > 1 || t) && n.push(o.stepName) : n.push(o.stepName));
1274
+ o.silent || (o.type === F.Model || o.type === F.Material || o.type === F.Picture || o.type === F.Shape ? (r > 1 || t) && n.push(o.stepName) : n.push(o.stepName));
1275
1275
  }
1276
1276
  const a = A.filter((s) => s.renderableSteps.filter(
1277
1277
  (r) => n.includes(r.stepName)
@@ -1423,7 +1423,7 @@ class pn {
1423
1423
  return;
1424
1424
  }
1425
1425
  e.forEach((t, A) => {
1426
- const n = uA.get(t);
1426
+ const n = QA.get(t);
1427
1427
  n && (this.frameData || (this.frameData = new Array(e.length)), this.frameData[A] = n);
1428
1428
  });
1429
1429
  }
@@ -1564,14 +1564,14 @@ class pt {
1564
1564
  if (!a)
1565
1565
  throw new z(n);
1566
1566
  let i = "";
1567
- if (this.configuration.type === D.ProductOverlay) {
1567
+ if (this.configuration.type === F.ProductOverlay) {
1568
1568
  let l = "";
1569
1569
  if ((o = this.product) != null && o.overlayImageUrl && (l = this.product.overlayImageUrl), i = l, !l)
1570
1570
  throw new Ye(this.configuration, "Couldn't find an asset for product overlay step");
1571
1571
  }
1572
1572
  const s = this.evaluateAssetType();
1573
1573
  if (s === v.Image) {
1574
- const l = this.configuration.type === D.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (g = this.product) == null ? void 0 : g.overlayImageUrl;
1574
+ const l = this.configuration.type === F.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (g = this.product) == null ? void 0 : g.overlayImageUrl;
1575
1575
  if (!l)
1576
1576
  throw new Error("Undefined raster silent step source");
1577
1577
  const d = {
@@ -1586,7 +1586,7 @@ class pt {
1586
1586
  layer: n.layer,
1587
1587
  layerIndex: n.layerIndex,
1588
1588
  immutable: n.immutable,
1589
- productOverlay: this.configuration.type === D.ProductOverlay ? !0 : void 0,
1589
+ productOverlay: this.configuration.type === F.ProductOverlay ? !0 : void 0,
1590
1590
  rotation: n.rotation,
1591
1591
  excludeFromExport: this.configuration.data.excludeFromPrint,
1592
1592
  preserveAspectRatio: "none"
@@ -1599,9 +1599,9 @@ class pt {
1599
1599
  command: new L(d, a)
1600
1600
  };
1601
1601
  } else {
1602
- const l = this.configuration.type === D.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, w = await St(await (async () => new Promise((E, Q) => {
1602
+ const l = this.configuration.type === F.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, w = await St(await (async () => new Promise((E, u) => {
1603
1603
  if (!l) {
1604
- Q("Undefined vector silent step source");
1604
+ u("Undefined vector silent step source");
1605
1605
  return;
1606
1606
  }
1607
1607
  Z(l, !0).then((C) => {
@@ -1623,7 +1623,7 @@ class pt {
1623
1623
  layerIndex: n.layerIndex,
1624
1624
  rotation: n.rotation,
1625
1625
  immutable: n.immutable,
1626
- productOverlay: this.configuration.type === D.ProductOverlay ? !0 : void 0,
1626
+ productOverlay: this.configuration.type === F.ProductOverlay ? !0 : void 0,
1627
1627
  excludeFromExport: this.configuration.data.excludeFromPrint
1628
1628
  };
1629
1629
  return {
@@ -1639,11 +1639,11 @@ class pt {
1639
1639
  async trigger() {
1640
1640
  if (!this.configuration.data.regions)
1641
1641
  throw new Ye(this.configuration, "Missing regions.");
1642
- if (this.configuration.type === D.SilentIllustration) {
1642
+ if (this.configuration.type === F.SilentIllustration) {
1643
1643
  const e = this.configuration.data.regions.map(this.processRegion);
1644
1644
  return Promise.all(e);
1645
1645
  } else
1646
- return this.configuration.type === D.ProductOverlay ? Promise.all(
1646
+ return this.configuration.type === F.ProductOverlay ? Promise.all(
1647
1647
  this.configuration.data.regions.map((e) => {
1648
1648
  if (!this.layouts.find((A) => e.panelId === A.panelId))
1649
1649
  throw new z(e);
@@ -1653,7 +1653,7 @@ class pt {
1653
1653
  }
1654
1654
  evaluateAssetType() {
1655
1655
  var t, A, n;
1656
- const e = this.configuration.type === D.ProductOverlay && ((t = this.product) != null && t.overlayImageUrl) ? this.product.overlayImageUrl.toLowerCase() : (n = (A = this.configuration.data.asset) == null ? void 0 : A.fileLink) == null ? void 0 : n.toLowerCase().split("?")[0];
1656
+ const e = this.configuration.type === F.ProductOverlay && ((t = this.product) != null && t.overlayImageUrl) ? this.product.overlayImageUrl.toLowerCase() : (n = (A = this.configuration.data.asset) == null ? void 0 : A.fileLink) == null ? void 0 : n.toLowerCase().split("?")[0];
1657
1657
  return e != null && e.startsWith("data:image/png") || e != null && e.endsWith(".jpeg") || e != null && e.endsWith(".jpg") || e != null && e.endsWith(".png") ? v.Image : e != null && e.endsWith(".svg") || e != null && e.startsWith("image/svg+xml") ? v.Illustration : v.Illustration;
1658
1658
  }
1659
1659
  }
@@ -1715,19 +1715,19 @@ class Dn {
1715
1715
  async regenerateQRCode(e, t, A, n, a, i, s, o, r) {
1716
1716
  if (!t && A !== "" && n === "") {
1717
1717
  const g = async () => {
1718
- var u, m;
1719
- const C = (await zt([A]))[0], f = (m = (u = C == null ? void 0 : C.versions) == null ? void 0 : u.find((I) => I.name === "mpeg4")) == null ? void 0 : m.link;
1718
+ var Q, m;
1719
+ const C = (await zt([A]))[0], f = (m = (Q = C == null ? void 0 : C.versions) == null ? void 0 : Q.find((I) => I.name === "mpeg4")) == null ? void 0 : m.link;
1720
1720
  return { asset: C, link: f };
1721
1721
  }, B = await new Promise((C, f) => {
1722
1722
  new qt(
1723
1723
  async () => !!(await g()).link,
1724
1724
  async () => {
1725
- const u = await g();
1726
- if (!u.link || !u.link)
1727
- throw new ge(u.asset);
1725
+ const Q = await g();
1726
+ if (!Q.link || !Q.link)
1727
+ throw new ge(Q.asset);
1728
1728
  C({
1729
1729
  rel: "mpeg4",
1730
- href: u.link
1730
+ href: Q.link
1731
1731
  });
1732
1732
  },
1733
1733
  () => {
@@ -1746,8 +1746,8 @@ class Dn {
1746
1746
  const h = await fn(w);
1747
1747
  if (s(h), !i.data || !i.data.regions)
1748
1748
  throw new Ye(i, "Missing regions.");
1749
- const E = await this.regionElements(i), Q = await this.command(h, E, a, i.stepName);
1750
- Q && (Q.command && a.getCommandDispatcher()(Q.command), Q.followup && await Q.followup()), await a.setSelectionsAndElements(i.stepName, [], E, async () => {
1749
+ const E = await this.regionElements(i), u = await this.command(h, E, a, i.stepName);
1750
+ u && (u.command && a.getCommandDispatcher()(u.command), u.followup && await u.followup()), await a.setSelectionsAndElements(i.stepName, [], E, async () => {
1751
1751
  a.updateStorage(i.stepName, {
1752
1752
  videoShortUrl: h,
1753
1753
  videoUrl: n
@@ -1847,18 +1847,18 @@ class Mn {
1847
1847
  frameOffsetsList: l,
1848
1848
  framePatternSrc: B
1849
1849
  }), B) {
1850
- const Q = (h = t.getStepSpecificServices(e.stepName)) == null ? void 0 : h.frameService;
1851
- if (!Q)
1850
+ const u = (h = t.getStepSpecificServices(e.stepName)) == null ? void 0 : h.frameService;
1851
+ if (!u)
1852
1852
  throw new Error("Frame service unavailable, cannot load pattern!");
1853
- await this.loadPatternFromString(B, Q), t.updateMetadata(e.stepName, { image: B }), t.updateStorage(e.stepName, {
1853
+ await this.loadPatternFromString(B, u), t.updateMetadata(e.stepName, { image: B }), t.updateStorage(e.stepName, {
1854
1854
  framePatternSrc: B
1855
1855
  });
1856
1856
  }
1857
- if (l != null && l.some((Q) => Q.zoom)) {
1858
- const Q = (E = t.getStepSpecificServices(e.stepName)) == null ? void 0 : E.frameService;
1859
- if (!Q)
1857
+ if (l != null && l.some((u) => u.zoom)) {
1858
+ const u = (E = t.getStepSpecificServices(e.stepName)) == null ? void 0 : E.frameService;
1859
+ if (!u)
1860
1860
  throw new Error("Frame service unavailable, cannot load pattern!");
1861
- Q.updateOffsets(l);
1861
+ u.updateOffsets(l);
1862
1862
  }
1863
1863
  t.setMandatoryFulfilled(e.stepName, !0);
1864
1864
  };
@@ -1970,7 +1970,7 @@ class Mn {
1970
1970
  a && a(!0);
1971
1971
  const r = await Promise.all(
1972
1972
  e.data.regions.map(async (d, w) => {
1973
- const h = await _e(o[w]), E = s.getImageData(), Q = A.map((p) => new $(p.id)), C = E ? et(E, h) : void 0, f = E ? {
1973
+ const h = await _e(o[w]), E = s.getImageData(), u = A.map((p) => new $(p.id)), C = E ? et(E, h) : void 0, f = E ? {
1974
1974
  id: J(),
1975
1975
  src: E.src,
1976
1976
  x: (C == null ? void 0 : C.x) || 0,
@@ -1980,11 +1980,11 @@ class Mn {
1980
1980
  scaleX: (C == null ? void 0 : C.zoom) || 1,
1981
1981
  scaleY: (C == null ? void 0 : C.zoom) || 1,
1982
1982
  rotation: 0
1983
- } : void 0, u = J(), I = n.getLayouts().find((p) => p.panelId === d.panelId);
1983
+ } : void 0, Q = J(), I = n.getLayouts().find((p) => p.panelId === d.panelId);
1984
1984
  if (!I)
1985
1985
  throw new z(d);
1986
1986
  return {
1987
- command: this.getCreateElementCommand(u, d, I, {
1987
+ command: this.getCreateElementCommand(Q, d, I, {
1988
1988
  frameData: h,
1989
1989
  pattern: f,
1990
1990
  disablePlaceholder: e.data.disablePlaceholder,
@@ -1994,10 +1994,10 @@ class Mn {
1994
1994
  stepName: e.stepName
1995
1995
  }),
1996
1996
  regionEl: {
1997
- id: u,
1997
+ id: Q,
1998
1998
  region: d
1999
1999
  },
2000
- removeExistingCommands: Q
2000
+ removeExistingCommands: u
2001
2001
  };
2002
2002
  })
2003
2003
  ), g = r.map((d) => d.command), B = r.map((d) => d.removeExistingCommands).flat();
@@ -2165,8 +2165,8 @@ class yn {
2165
2165
  n().map((h) => h.layoutState)
2166
2166
  ), s = { ...i.colors }, o = {};
2167
2167
  Object.entries(s).forEach(([h, E]) => {
2168
- const Q = { browserValue: E.browserValue }, C = E.spotColor;
2169
- C && (Q.spotColor = { profileName: C.profileName, namedColor: C.namedColor }), o[h] = Q;
2168
+ const u = { browserValue: E.browserValue }, C = E.spotColor;
2169
+ C && (u.spotColor = { profileName: C.profileName, namedColor: C.namedColor }), o[h] = u;
2170
2170
  });
2171
2171
  for (const [h, E] of a.entries())
2172
2172
  s[h] = { browserValue: E, spotColor: (d = s[h]) == null ? void 0 : d.spotColor }, o[h] = { browserValue: E };
@@ -2174,8 +2174,8 @@ class yn {
2174
2174
  const g = e.data.colorOption;
2175
2175
  g && ((w = g.variants) == null || w.forEach((h) => {
2176
2176
  r = r.map((E) => {
2177
- var Q;
2178
- return E.toLowerCase() === ((Q = h.color) == null ? void 0 : Q.toLowerCase()) ? h.name : E;
2177
+ var u;
2178
+ return E.toLowerCase() === ((u = h.color) == null ? void 0 : u.toLowerCase()) ? h.name : E;
2179
2179
  });
2180
2180
  })), A.updateMetadata(e.stepName, { colors: r });
2181
2181
  const B = /* @__PURE__ */ new Map();
@@ -2199,7 +2199,7 @@ class yn {
2199
2199
  i && (i.command && a.getCommandDispatcher()(i.command), i.followup && await i.followup());
2200
2200
  }
2201
2201
  async selectVariantCommand(e, t, A, n, a) {
2202
- var Q;
2202
+ var u;
2203
2203
  if (!e.data || !e.data.regions)
2204
2204
  throw new Ye(e, "Missing regions.");
2205
2205
  n(!0);
@@ -2215,10 +2215,10 @@ class yn {
2215
2215
  const f = a.getLayouts().find((m) => m.panelId === C.panelId);
2216
2216
  if (!f)
2217
2217
  throw new z(C);
2218
- const u = J();
2218
+ const Q = J();
2219
2219
  return {
2220
- regionElement: { id: u, region: C },
2221
- command: this.getCreateElementCommand(u, C, f, {
2220
+ regionElement: { id: Q, region: C },
2221
+ command: this.getCreateElementCommand(Q, C, f, {
2222
2222
  stepName: e.stepName,
2223
2223
  src: o,
2224
2224
  objectURL: g,
@@ -2228,10 +2228,10 @@ class yn {
2228
2228
  }, l = e.data.regions.map(B), w = [...l.map((C) => C.command), ...i];
2229
2229
  let h = Array.from(Object.values(r.colors)).map((C) => C.browserValue);
2230
2230
  const E = e.data.colorOption;
2231
- return E && ((Q = E.variants) == null || Q.forEach((C) => {
2231
+ return E && ((u = E.variants) == null || u.forEach((C) => {
2232
2232
  h = h.map((f) => {
2233
- var u;
2234
- return f.toLowerCase() === ((u = C.color) == null ? void 0 : u.toLowerCase()) ? C.name : f;
2233
+ var Q;
2234
+ return f.toLowerCase() === ((Q = C.color) == null ? void 0 : Q.toLowerCase()) ? C.name : f;
2235
2235
  });
2236
2236
  })), a.updateMetadata(e.stepName, { colors: h }), {
2237
2237
  command: new G(w),
@@ -2239,20 +2239,20 @@ class yn {
2239
2239
  await a.setSelectionsAndElements(
2240
2240
  e.stepName,
2241
2241
  [t],
2242
- l.map((u) => u.regionElement),
2242
+ l.map((Q) => Q.regionElement),
2243
2243
  async () => {
2244
2244
  a.setMandatoryFulfilled(e.stepName, !0), n(!1);
2245
2245
  }
2246
2246
  );
2247
2247
  const C = await this.availableColors(e, a) || [], f = Object.keys(r.colors);
2248
2248
  if (e.data.colorPickerEnabled && C.length === 1 && f.length === 1) {
2249
- const u = C[0], m = f[0];
2249
+ const Q = C[0], m = f[0];
2250
2250
  await this.changeColors(
2251
2251
  e,
2252
2252
  l.map((I) => I.regionElement),
2253
2253
  a,
2254
2254
  () => a.getCommandContext().getAllLayouts(),
2255
- /* @__PURE__ */ new Map([[m, u.variant.color]])
2255
+ /* @__PURE__ */ new Map([[m, Q.variant.color]])
2256
2256
  );
2257
2257
  }
2258
2258
  }
@@ -2458,8 +2458,8 @@ class xn {
2458
2458
  const w = d || J(), E = A.getLayouts().find((C) => C.panelId === l.panelId);
2459
2459
  if (!E)
2460
2460
  return console.error(`Can not find layout for region: ${l.panelId}`), null;
2461
- const Q = [];
2462
- return d && Q.push(new $(w)), Q.push(
2461
+ const u = [];
2462
+ return d && u.push(new $(w)), u.push(
2463
2463
  new L(
2464
2464
  {
2465
2465
  stepRegion: l,
@@ -2482,7 +2482,7 @@ class xn {
2482
2482
  ), {
2483
2483
  id: w,
2484
2484
  region: l,
2485
- command: new G(Q)
2485
+ command: new G(u)
2486
2486
  };
2487
2487
  };
2488
2488
  if (i.length > 0) {
@@ -2812,8 +2812,8 @@ class Rn {
2812
2812
  fill="${h}"
2813
2813
  />
2814
2814
  </svg>
2815
- `, Q = {};
2816
- Q[this.shapeFillId] = { browserValue: h };
2815
+ `, u = {};
2816
+ u[this.shapeFillId] = { browserValue: h };
2817
2817
  const C = J();
2818
2818
  return {
2819
2819
  id: C,
@@ -2822,7 +2822,7 @@ class Rn {
2822
2822
  {
2823
2823
  stepRegion: d,
2824
2824
  stepName: e.stepName,
2825
- colors: Q,
2825
+ colors: u,
2826
2826
  id: C,
2827
2827
  svg: E,
2828
2828
  type: v.Illustration,
@@ -3127,19 +3127,19 @@ class kn {
3127
3127
  if (o && l) {
3128
3128
  const d = (r = o.variants) == null ? void 0 : r.find((w) => w.id === l);
3129
3129
  if (d) {
3130
- const w = await this.fontDataFromVariant(d), h = s.map((f) => ({ id: f.id, region: f.stepRegion })), E = (g = n.storage) == null ? void 0 : g.color, Q = (B = n.storage) == null ? void 0 : B.text;
3130
+ const w = await this.fontDataFromVariant(d), h = s.map((f) => ({ id: f.id, region: f.stepRegion })), E = (g = n.storage) == null ? void 0 : g.color, u = (B = n.storage) == null ? void 0 : B.text;
3131
3131
  await t.setSelectionsAndElements(
3132
3132
  e.stepName,
3133
3133
  [d],
3134
3134
  h,
3135
3135
  async () => {
3136
- t.updateMetadata(e.stepName, { color: E, text: Q }), t.updateStorage(e.stepName, { text: Q, inputText: Q });
3137
- const f = s.map((m) => new Et(m.id, w)), u = new G(f);
3138
- t.getCommandDispatcher()(u), t.setMandatoryFulfilled(e.stepName, !0);
3136
+ t.updateMetadata(e.stepName, { color: E, text: u }), t.updateStorage(e.stepName, { text: u, inputText: u });
3137
+ const f = s.map((m) => new Et(m.id, w)), Q = new G(f);
3138
+ t.getCommandDispatcher()(Q), t.setMandatoryFulfilled(e.stepName, !0);
3139
3139
  }
3140
3140
  );
3141
3141
  const { command: C } = K.updateInputText(
3142
- Q || "",
3142
+ u || "",
3143
3143
  s,
3144
3144
  e,
3145
3145
  t
@@ -3226,7 +3226,7 @@ class kn {
3226
3226
  ), w = l.flatMap((E) => E.commands);
3227
3227
  if (o) {
3228
3228
  const E = l.map(
3229
- (Q) => new Je(Q.regionElement.id, o)
3229
+ (u) => new Je(u.regionElement.id, o)
3230
3230
  );
3231
3231
  w.push(...E);
3232
3232
  }
@@ -3256,17 +3256,17 @@ class kn {
3256
3256
  if (!d)
3257
3257
  throw new Pe("Failed to find layout for region: " + B.panelId);
3258
3258
  const E = A.colorOption;
3259
- let Q;
3259
+ let u;
3260
3260
  if (E && E.variants) {
3261
3261
  const N = E.variants.find((H) => {
3262
3262
  var O;
3263
3263
  return H.id === ((O = E.defaultVariant) == null ? void 0 : O.id);
3264
3264
  }) || E.variants[0];
3265
- Q = this.createTextFillSpotColor(E, N), i.updateStorage(e, {
3265
+ u = this.createTextFillSpotColor(E, N), i.updateStorage(e, {
3266
3266
  colorProfileAssetKey: (h = E.colorProfile) == null ? void 0 : h.key
3267
3267
  });
3268
3268
  }
3269
- const C = await this.getDefaultColor(A), f = C || "#000000", u = {
3269
+ const C = await this.getDefaultColor(A), f = C || "#000000", Q = {
3270
3270
  stepRegion: B,
3271
3271
  stepName: e,
3272
3272
  align: this.textAlign(A),
@@ -3289,35 +3289,35 @@ class kn {
3289
3289
  verticalAlign: A.verticalAlign || "middle",
3290
3290
  curved: A.curved,
3291
3291
  paths: A.paths,
3292
- fillSpotColorDefinition: Q
3292
+ fillSpotColorDefinition: u
3293
3293
  }, m = [], I = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map();
3294
- if (!u.fontData)
3294
+ if (!Q.fontData)
3295
3295
  throw new k("Failed to resolve font data for text.");
3296
3296
  const [M, y] = Ie(
3297
- u.fontSize,
3298
- u.fontData,
3297
+ Q.fontSize,
3298
+ Q.fontData,
3299
3299
  {
3300
- left: u.x,
3301
- top: u.y,
3302
- width: u.width,
3303
- height: u.height,
3304
- rotation: u.rotation,
3300
+ left: Q.x,
3301
+ top: Q.y,
3302
+ width: Q.width,
3303
+ height: Q.height,
3304
+ rotation: Q.rotation,
3305
3305
  panelId: ""
3306
3306
  },
3307
3307
  [o],
3308
3308
  { size: A.size, minSize: A.minSize, maxSize: A.maxSize }
3309
3309
  );
3310
- I.set(u.id, M), p.set(u.id, y);
3310
+ I.set(Q.id, M), p.set(Q.id, y);
3311
3311
  const S = A.curved || A.vertical ? o : (y || []).join(`
3312
3312
  `);
3313
3313
  m.push(
3314
- this.generateTextChangeCommandsForRegion(M, A, u.id, S)
3314
+ this.generateTextChangeCommandsForRegion(M, A, Q.id, S)
3315
3315
  );
3316
- const Y = new L(u, d);
3316
+ const Y = new L(Q, d);
3317
3317
  return {
3318
3318
  regionElement: { id: w, region: B },
3319
3319
  commands: [Y, ...m],
3320
- newElement: u,
3320
+ newElement: Q,
3321
3321
  fontData: n
3322
3322
  };
3323
3323
  } catch (E) {
@@ -3352,48 +3352,48 @@ class kn {
3352
3352
  */
3353
3353
  async changeInputTextWithRegion(e, t, A, n, a, i, s, o, r, g) {
3354
3354
  const B = (n || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), l = this.getProcessedInput(B, e.data, s), d = i.getRegionElements(e.stepName), w = /* @__PURE__ */ new Map(), h = /* @__PURE__ */ new Map();
3355
- for (const u of d)
3356
- if (u.region) {
3355
+ for (const Q of d)
3356
+ if (Q.region) {
3357
3357
  const [m, I] = Ie(
3358
3358
  t,
3359
3359
  A,
3360
- u.region,
3360
+ Q.region,
3361
3361
  [l],
3362
3362
  { size: e.data.size, minSize: e.data.minSize, maxSize: e.data.maxSize }
3363
3363
  );
3364
- w.set(u.id, m), h.set(u.id, I);
3364
+ w.set(Q.id, m), h.set(Q.id, I);
3365
3365
  }
3366
- const Q = (() => {
3366
+ const u = (() => {
3367
3367
  if (e.data && e.data.maxLength && l.length > e.data.maxLength)
3368
3368
  return g && g(!0), { info: "0" };
3369
- const u = i.getProfanities(), m = We(l.toLowerCase());
3369
+ const Q = i.getProfanities(), m = We(l.toLowerCase());
3370
3370
  for (const I of m)
3371
- for (const p in u) {
3372
- const M = u[p].toLowerCase().replace(/\s/g, "");
3371
+ for (const p in Q) {
3372
+ const M = Q[p].toLowerCase().replace(/\s/g, "");
3373
3373
  if (I === M)
3374
3374
  return o(!0), { error: "Blocked profanity." };
3375
3375
  }
3376
3376
  return !e.data.vertical && !e.data.allowNewlines && (l.includes(`
3377
3377
  `) || l.includes("\r")) ? (o(!0), { error: "Cannot span multiple lines." }) : !e.data.curved && !Array.from(h.values()).every((p) => p) ? (o(!0), { error: "Does not fit." }) : (o(!1), { info: (e.data.maxLength - l.length).toString() });
3378
3378
  })();
3379
- if (Q.error) {
3380
- r(Q.error);
3379
+ if (u.error) {
3380
+ r(u.error);
3381
3381
  return;
3382
3382
  }
3383
- if (r(`${Q.info} characters remaining` || ""), g)
3383
+ if (r(`${u.info} characters remaining` || ""), g)
3384
3384
  return;
3385
3385
  i.updateStorage(e.stepName, { text: B }), i.updateMetadata(e.stepName, {
3386
3386
  text: this.injectReplaceableText(B, e.data)
3387
3387
  }), a.defaultCleared && i.setMandatoryFulfilled(e.stepName, !0);
3388
3388
  const C = [];
3389
- for (const u of d) {
3390
- const m = e.data.curved ? l : (h.get(u.id) || []).join(`
3389
+ for (const Q of d) {
3390
+ const m = e.data.curved ? l : (h.get(Q.id) || []).join(`
3391
3391
  `);
3392
3392
  C.push(
3393
3393
  this.generateTextChangeCommandsForRegion(
3394
- w.get(u.id) || 1,
3394
+ w.get(Q.id) || 1,
3395
3395
  e.data,
3396
- u.id,
3396
+ Q.id,
3397
3397
  m
3398
3398
  )
3399
3399
  );
@@ -4859,14 +4859,14 @@ class Kn extends st {
4859
4859
  o.appendChild(B), AA(o, B, t);
4860
4860
  const l = r * 0.23, d = g * 0.94, w = g * 0.04, h = r * 0.53, E = R("g");
4861
4861
  o.appendChild(E), E.setAttribute("transform", `translate(${w} ${h}) rotate(-21)`);
4862
- const Q = ot(l, d);
4863
- Q.setAttribute("opacity", "0"), E.appendChild(Q);
4862
+ const u = ot(l, d);
4863
+ u.setAttribute("opacity", "0"), E.appendChild(u);
4864
4864
  const C = R("g");
4865
4865
  E.appendChild(C);
4866
4866
  const f = s();
4867
4867
  C.appendChild(f);
4868
- const u = nt(i);
4869
- return rt(C, u, l, d), aA(o.outerHTML);
4868
+ const Q = nt(i);
4869
+ return rt(C, Q, l, d), aA(o.outerHTML);
4870
4870
  }
4871
4871
  }
4872
4872
  const jn = "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==";
@@ -4902,18 +4902,18 @@ class Vn extends st {
4902
4902
  return "";
4903
4903
  const d = R("defs");
4904
4904
  g.appendChild(d), AA(g, d, t);
4905
- let w, h, E, Q;
4906
- A ? (w = B * 0.25 * (1 + 0.1), h = l / 2 * (1 + 0.1), E = l * 0.22, Q = B * 0.32) : (w = B * 0.22 * (1 + 0.1), h = l * 0.8, E = l * 0.067, Q = B * 0.33);
4905
+ let w, h, E, u;
4906
+ A ? (w = B * 0.25 * (1 + 0.1), h = l / 2 * (1 + 0.1), E = l * 0.22, u = B * 0.32) : (w = B * 0.22 * (1 + 0.1), h = l * 0.8, E = l * 0.067, u = B * 0.33);
4907
4907
  const C = R("g");
4908
- g.appendChild(C), C.setAttribute("transform", `translate(${E} ${Q}) rotate(-10)`);
4908
+ g.appendChild(C), C.setAttribute("transform", `translate(${E} ${u}) rotate(-10)`);
4909
4909
  const f = ot(w, h);
4910
4910
  f.setAttribute("opacity", "0"), C.appendChild(f);
4911
- const u = R("g");
4912
- C.appendChild(u);
4911
+ const Q = R("g");
4912
+ C.appendChild(Q);
4913
4913
  const m = r();
4914
- u.appendChild(m);
4914
+ Q.appendChild(m);
4915
4915
  const I = nt(o);
4916
- return rt(u, I, w, h), g.outerHTML;
4916
+ return rt(Q, I, w, h), g.outerHTML;
4917
4917
  }
4918
4918
  // 1 if true, 0 if false.
4919
4919
  }
@@ -4932,10 +4932,10 @@ class Xn extends st {
4932
4932
  const A = At(Wn), a = e !== "" ? ((f) => f.charAt(0).toUpperCase() + f.substr(1).toLowerCase())(e) : "", i = A.getPath(a, 0, 72, 72), s = i.toSVG(2), o = i.getBoundingBox(), r = o.x2 - o.x1, g = i.toPathData(3), B = () => {
4933
4933
  const f = R("g");
4934
4934
  f.classList.add("module-text-group");
4935
- const u = R("defs");
4936
- f.appendChild(u), u.appendChild(nA(0, 2, 2, "shadow"));
4935
+ const Q = R("defs");
4936
+ f.appendChild(Q), Q.appendChild(nA(0, 2, 2, "shadow"));
4937
4937
  const m = R("path");
4938
- m.setAttribute("d", g), m.setAttribute("stroke", "black"), m.setAttribute("stroke-width", "3"), u.appendChild(m);
4938
+ m.setAttribute("d", g), m.setAttribute("stroke", "black"), m.setAttribute("stroke-width", "3"), Q.appendChild(m);
4939
4939
  const I = R("g");
4940
4940
  I.classList.add("module-layer0"), f.appendChild(I), I.setAttribute("filter", "url(#shadow)"), I.innerHTML = m.outerHTML;
4941
4941
  const p = R("g");
@@ -4954,8 +4954,8 @@ class Xn extends st {
4954
4954
  h.setAttribute("opacity", "0"), w.appendChild(h);
4955
4955
  const E = R("g");
4956
4956
  E.classList.add("module-text-enclosure"), l.appendChild(E);
4957
- const Q = B();
4958
- E.appendChild(Q);
4957
+ const u = B();
4958
+ E.appendChild(u);
4959
4959
  const C = nt(g);
4960
4960
  return rt(E, C, t.height, t.width, 0.35, 0.65), aA(l.outerHTML);
4961
4961
  }
@@ -4991,9 +4991,9 @@ class Zn {
4991
4991
  var C;
4992
4992
  if (!this.previewService)
4993
4993
  return;
4994
- const E = this.getCommandContext().getAllLayouts(), Q = (C = this.getLayoutPreviewService()) == null ? void 0 : C.getAll();
4995
- if (Q)
4996
- for (const [, f] of Q)
4994
+ const E = this.getCommandContext().getAllLayouts(), u = (C = this.getLayoutPreviewService()) == null ? void 0 : C.getAll();
4995
+ if (u)
4996
+ for (const [, f] of u)
4997
4997
  f.render(this.getWorkflow(), E, this.getProduct().overlayImageUrl);
4998
4998
  }, this.updateTransaction = a, this.commandContext = n, this.reloadedState = g, this.transaction = i, this.readOnly = B, this.singleVariantsRenderable = w, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = e, this.stepSpecificServices = {}, this.profanityFilter = t, this.pollers = [], this.allScenes = [], this.layouts = A, this.product = s, this.previewService = o, this.modelContainer = l, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = r, this.isReloadedTransaction = d, h && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(e), this.initializationPromise.then(() => {
4999
4999
  this.initialized = !0;
@@ -5189,7 +5189,7 @@ class Zn {
5189
5189
  },
5190
5190
  { refocusCamera: t }
5191
5191
  );
5192
- this.setModelContainer(A), Ae(this.allScenes, this.stepSelections).filter((i) => i).map((i) => i.renderableSteps).flat().filter((i) => i.type === D.Model || i.type === D.Material).forEach((i) => {
5192
+ this.setModelContainer(A), Ae(this.allScenes, this.stepSelections).filter((i) => i).map((i) => i.renderableSteps).flat().filter((i) => i.type === F.Model || i.type === F.Material).forEach((i) => {
5193
5193
  var r, g, B;
5194
5194
  if (!((r = i.option) != null && r.id)) {
5195
5195
  console.error(`Failed to read option id from step: ${i.stepName}`);
@@ -5199,7 +5199,7 @@ class Zn {
5199
5199
  if (s.length === 0)
5200
5200
  return;
5201
5201
  const o = s[0];
5202
- if (i.type === D.Model) {
5202
+ if (i.type === F.Model) {
5203
5203
  if (!this.modelContainer)
5204
5204
  throw new k(
5205
5205
  "We should always have a model container when injecting a preview!"
@@ -5333,17 +5333,17 @@ class Zn {
5333
5333
  ), e), []);
5334
5334
  }
5335
5335
  getInvalidModelVariants() {
5336
- return this.workflow.steps.reduce((e, t) => (t.type === D.Model && !ne(t, this.stepSelections) && e.push(t.stepName), e), []);
5336
+ return this.workflow.steps.reduce((e, t) => (t.type === F.Model && !ne(t, this.stepSelections) && e.push(t.stepName), e), []);
5337
5337
  }
5338
5338
  async stepElementsForIntroducedSilentSteps(e, t) {
5339
5339
  const A = this.product;
5340
5340
  if (!A)
5341
5341
  return Promise.resolve({ stepElements: {}, commands: [] });
5342
5342
  const n = async (r, g, B) => {
5343
- if (r.type === D.SilentIllustration) {
5343
+ if (r.type === F.SilentIllustration) {
5344
5344
  const l = await new pt(r, g).trigger();
5345
5345
  return { step: r, results: l };
5346
- } else if (r.type === D.ProductOverlay) {
5346
+ } else if (r.type === F.ProductOverlay) {
5347
5347
  const l = await new pt(
5348
5348
  r,
5349
5349
  g,
@@ -5409,16 +5409,16 @@ class Zn {
5409
5409
  [e]: A
5410
5410
  }, this.removeElements(l);
5411
5411
  const h = this.workflow.steps.find((I) => I.stepName === e);
5412
- if ((h == null ? void 0 : h.type) === D.Frame) {
5412
+ if ((h == null ? void 0 : h.type) === F.Frame) {
5413
5413
  const I = this.getStepSpecificServices(e);
5414
5414
  (m = I == null ? void 0 : I.frameService) == null || m.setTargetElements(A.map((p) => p.id));
5415
5415
  }
5416
- const E = l.map((I) => new $(I.id)), Q = new ht(this.constructSerializableWorkflow()), C = [...w, ...E, Q];
5416
+ const E = l.map((I) => new $(I.id)), u = new ht(this.constructSerializableWorkflow()), C = [...w, ...E, u];
5417
5417
  C.length > 0 && this.commandContext.apply(new G(C), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
5418
- const f = this.getInvalidModelVariants(), u = this.modelContainer;
5419
- if (u) {
5418
+ const f = this.getInvalidModelVariants(), Q = this.modelContainer;
5419
+ if (Q) {
5420
5420
  const I = f.map(
5421
- (p) => u.applyModelVariant(
5421
+ (p) => Q.applyModelVariant(
5422
5422
  p,
5423
5423
  {
5424
5424
  contextService: this.getLayoutPreviewService()
@@ -5435,7 +5435,7 @@ class Zn {
5435
5435
  for (const o of n)
5436
5436
  if (!this.stepInitialised[o.stepName])
5437
5437
  switch (this.stepInitialised[o.stepName] = !0, o.type) {
5438
- case D.DigitalContent:
5438
+ case F.DigitalContent:
5439
5439
  A.push(
5440
5440
  Fn.init(
5441
5441
  o,
@@ -5444,8 +5444,8 @@ class Zn {
5444
5444
  )
5445
5445
  );
5446
5446
  break;
5447
- case D.Frame:
5448
- case D.Photo:
5447
+ case F.Frame:
5448
+ case F.Photo:
5449
5449
  {
5450
5450
  const r = new pn(o.data.forceImageCover);
5451
5451
  r.connectWorkflowManager(this, o.stepName), this.stepSpecificServices[o.stepName] = {
@@ -5455,40 +5455,40 @@ class Zn {
5455
5455
  );
5456
5456
  }
5457
5457
  break;
5458
- case D.Illustration:
5458
+ case F.Illustration:
5459
5459
  A.push(
5460
5460
  fe.init(o, this, this.reloadedState)
5461
5461
  );
5462
5462
  break;
5463
- case D.Material:
5463
+ case F.Material:
5464
5464
  A.push(
5465
5465
  Zt.init(o, this, this.reloadedState)
5466
5466
  );
5467
5467
  break;
5468
- case D.Model:
5468
+ case F.Model:
5469
5469
  A.push($t.init(o, this, this.reloadedState));
5470
5470
  break;
5471
- case D.Module:
5471
+ case F.Module:
5472
5472
  this.stepSpecificServices[o.stepName] = {
5473
5473
  module: await iA(o.data.module)
5474
5474
  }, A.push(
5475
5475
  Pn.init(o, this, this.reloadedState)
5476
5476
  );
5477
5477
  break;
5478
- case D.Picture:
5478
+ case F.Picture:
5479
5479
  A.push(
5480
5480
  _t.init(o, this, this.reloadedState)
5481
5481
  );
5482
5482
  break;
5483
- case D.Question:
5483
+ case F.Question:
5484
5484
  A.push(
5485
5485
  eA.init(o, this, this.reloadedState)
5486
5486
  );
5487
5487
  break;
5488
- case D.Shape:
5488
+ case F.Shape:
5489
5489
  A.push(re.init(o, this, this.reloadedState));
5490
5490
  break;
5491
- case D.Text:
5491
+ case F.Text:
5492
5492
  A.push(K.init(o, this, this.reloadedState));
5493
5493
  break;
5494
5494
  }
@@ -6125,30 +6125,30 @@ class ia extends W {
6125
6125
  class he {
6126
6126
  static get(e, t) {
6127
6127
  switch (t.type) {
6128
- case D.Information:
6128
+ case F.Information:
6129
6129
  return new ia(e, t);
6130
- case D.Question:
6130
+ case F.Question:
6131
6131
  return new Aa(e, t);
6132
- case D.Text:
6132
+ case F.Text:
6133
6133
  return new aa(e, t);
6134
- case D.Illustration:
6134
+ case F.Illustration:
6135
6135
  return new $n(e, t);
6136
- case D.Picture:
6136
+ case F.Picture:
6137
6137
  return new ta(e, t);
6138
- case D.Shape:
6138
+ case F.Shape:
6139
6139
  return new na(e, t);
6140
- case D.Material:
6140
+ case F.Material:
6141
6141
  return new _n(e, t);
6142
- case D.Model:
6142
+ case F.Model:
6143
6143
  return new ea(e, t);
6144
- case D.Frame:
6145
- return new Fi(e, t);
6144
+ case F.Frame:
6145
+ return new Mi(e, t);
6146
6146
  default:
6147
6147
  throw new k(`Step type ${t.type} not yet supported in Core SDK`);
6148
6148
  }
6149
6149
  }
6150
6150
  }
6151
- const oA = F`
6151
+ const oA = D`
6152
6152
  fragment CreateDesignTransaction on Transaction {
6153
6153
  id
6154
6154
  designName
@@ -6168,7 +6168,7 @@ const oA = F`
6168
6168
  additionalExternalVariantId
6169
6169
  }
6170
6170
  }
6171
- `, sa = F`
6171
+ `, sa = D`
6172
6172
  ${oA}
6173
6173
  mutation CreateDesign(
6174
6174
  $name: String!
@@ -6200,7 +6200,7 @@ const oA = F`
6200
6200
  }
6201
6201
  }
6202
6202
  }
6203
- `, oa = F`
6203
+ `, oa = D`
6204
6204
  ${oA}
6205
6205
  mutation CreateDesigns($inputs: [DesignCreateInput]!) {
6206
6206
  designCreateMany(inputs: $inputs) {
@@ -6362,7 +6362,7 @@ const oA = F`
6362
6362
  N.errors && console.log("Server Error:", b.message);
6363
6363
  }), null) : H ?? null;
6364
6364
  })() || (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"));
6365
- const l = c.getPreviewService(), d = (M = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : M.lookAtAnimation, w = l && e.showModelOnFinishStep && !!d, h = o && Ze(o, e, !0), E = o && Ze(o, e, !1), Q = async (y) => {
6365
+ const l = c.getPreviewService(), d = (M = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : M.lookAtAnimation, w = l && e.showModelOnFinishStep && !!d, h = o && Ze(o, e, !0), E = o && Ze(o, e, !1), u = async (y) => {
6366
6366
  const S = {};
6367
6367
  let Y = 0;
6368
6368
  if (Object.keys(a).length > 0)
@@ -6388,12 +6388,12 @@ const oA = F`
6388
6388
  }
6389
6389
  }
6390
6390
  return [S, Y];
6391
- }, [C] = await Q(!0), f = Object.fromEntries(
6391
+ }, [C] = await u(!0), f = Object.fromEntries(
6392
6392
  Object.keys(C).map((y) => [y, C[y].map((S) => S.id)])
6393
- ), [u] = await Q(!1), m = Object.fromEntries(
6394
- Object.keys(u).map((y) => [
6393
+ ), [Q] = await u(!1), m = Object.fromEntries(
6394
+ Object.keys(Q).map((y) => [
6395
6395
  y,
6396
- u[y].map((S) => S.id)
6396
+ Q[y].map((S) => S.id)
6397
6397
  ])
6398
6398
  ), I = await s(w, n.id);
6399
6399
  return {
@@ -6427,7 +6427,7 @@ const oA = F`
6427
6427
  cartMetadata: h
6428
6428
  };
6429
6429
  }, la = async (c, e, t, A, n, a, i, s, o, r, g) => {
6430
- var Q, C;
6430
+ var u, C;
6431
6431
  o("workflow.steps.finish.finalize.buildingLayouts");
6432
6432
  const { designDetails: B, cartSelectionsWithPrices: l, cartMetadata: d } = await cA(
6433
6433
  c,
@@ -6441,7 +6441,7 @@ const oA = F`
6441
6441
  g
6442
6442
  );
6443
6443
  o("workflow.steps.finish.finalize.creatingDesign");
6444
- const w = await ra(B), h = (Q = w == null ? void 0 : w.transaction) == null ? void 0 : Q.previewImageLink;
6444
+ const w = await ra(B), h = (u = w == null ? void 0 : w.transaction) == null ? void 0 : u.previewImageLink;
6445
6445
  if (!(w != null && w.transaction))
6446
6446
  throw new Error("Failed to create design");
6447
6447
  o("workflow.steps.finish.finalize.updatingTransaction");
@@ -6574,7 +6574,7 @@ class da {
6574
6574
  throw new k("Unexpected storage method requested");
6575
6575
  }
6576
6576
  }
6577
- const Te = new da(), wa = F`
6577
+ const Te = new da(), wa = D`
6578
6578
  mutation AddTransactionStakeholder($id: String!, $type: String!, $details: CustomerDetailsInput!) {
6579
6579
  transactionAddStakeholder(id: $id, details: $details, type: $type) {
6580
6580
  id
@@ -6676,9 +6676,9 @@ class Ce {
6676
6676
  }
6677
6677
  let a = 2048;
6678
6678
  t && t <= 2048 && (a = t);
6679
- const i = Me(a, a), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], g = s.find((u) => {
6679
+ const i = Me(a, a), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], g = s.find((Q) => {
6680
6680
  var m;
6681
- return ((m = u.layoutState) == null ? void 0 : m.layout.panelId) === (r == null ? void 0 : r.name);
6681
+ return ((m = Q.layoutState) == null ? void 0 : m.layout.panelId) === (r == null ? void 0 : r.name);
6682
6682
  }) || s[0], B = g.layoutState.layout.previewRegion ? {
6683
6683
  x: g.layoutState.layout.previewRegion.left,
6684
6684
  y: g.layoutState.layout.previewRegion.top,
@@ -6706,8 +6706,8 @@ class Ce {
6706
6706
  DOMParser: Rt(),
6707
6707
  fetch: $e
6708
6708
  })).render();
6709
- const Q = await this.getCanvasObjectURLAsync(i);
6710
- return i.toDataURL(Q);
6709
+ const u = await this.getCanvasObjectURLAsync(i);
6710
+ return i.toDataURL(u);
6711
6711
  }
6712
6712
  getStepById(e) {
6713
6713
  const t = this.getWorkflowManager().getWorkflow().steps.find((a) => a.stepName === e);
@@ -6798,13 +6798,13 @@ class Ce {
6798
6798
  d !== void 0 && d.forEach((w) => {
6799
6799
  const h = o(w), E = g.has(JSON.stringify(w));
6800
6800
  if (E && (h == null ? void 0 : h.getType()) === "Option") {
6801
- const Q = l.getCurrentVariant();
6802
- if (!Q)
6801
+ const u = l.getCurrentVariant();
6802
+ if (!u)
6803
6803
  return;
6804
- r.selectVariant(Q), g.delete(JSON.stringify(w));
6804
+ r.selectVariant(u), g.delete(JSON.stringify(w));
6805
6805
  } else if (E && (h == null ? void 0 : h.getType()) === "Text") {
6806
- const Q = l.getText();
6807
- r.setText(Q), g.delete(JSON.stringify(w));
6806
+ const u = l.getText();
6807
+ r.setText(u), g.delete(JSON.stringify(w));
6808
6808
  }
6809
6809
  });
6810
6810
  }));
@@ -6886,7 +6886,7 @@ class Ce {
6886
6886
  const e = Re(this.getCommandContext().getState());
6887
6887
  if (!e)
6888
6888
  throw new k("Internal state is undefined! Cannot copy experience!");
6889
- const t = JSON.stringify(e.transaction), A = this.getWorkflowManager().getWorkflow(), n = new fi({}), a = (s = this.getWorkflowManager().getTransaction().integrationProduct) == null ? void 0 : s.id;
6889
+ const t = JSON.stringify(e.transaction), A = this.getWorkflowManager().getWorkflow(), n = new Di({}), a = (s = this.getWorkflowManager().getTransaction().integrationProduct) == null ? void 0 : s.id;
6890
6890
  if (!a)
6891
6891
  throw new k("Integration product id is undefined!");
6892
6892
  return await n.initFromIntegrationProduct(a), await n.getWorkflowExperience(A.id, t, void 0);
@@ -6913,7 +6913,7 @@ class Ce {
6913
6913
  * @returns Returns true when a valid handle is implemented for a given step type. Certain steps don't support handles, such as silent illustrations.
6914
6914
  */
6915
6915
  stepHasHandle(e) {
6916
- return e.type !== D.SilentIllustration && e.type !== D.ProductOverlay;
6916
+ return e.type !== F.SilentIllustration && e.type !== F.ProductOverlay;
6917
6917
  }
6918
6918
  getExportedData() {
6919
6919
  var n;
@@ -7010,7 +7010,7 @@ const ha = [
7010
7010
  } catch (d) {
7011
7011
  return console.error(d), [];
7012
7012
  }
7013
- }, Qa = async (c, e, t, A) => {
7013
+ }, ua = async (c, e, t, A) => {
7014
7014
  const n = t.data, a = n.assetUrl, i = await je(a);
7015
7015
  try {
7016
7016
  const s = NA(n, A.option);
@@ -7063,7 +7063,7 @@ const ha = [
7063
7063
  } catch (s) {
7064
7064
  return console.error(s), [];
7065
7065
  }
7066
- }, ua = async (c, e, t, A) => {
7066
+ }, Qa = async (c, e, t, A) => {
7067
7067
  var m, I;
7068
7068
  const n = t.data, a = A.option;
7069
7069
  if (!a)
@@ -7095,7 +7095,7 @@ const ha = [
7095
7095
  p.classList.add(N), h[N] = { browserValue: S };
7096
7096
  }
7097
7097
  });
7098
- const Q = vt().serializeToString(w), C = n.colors;
7098
+ const u = vt().serializeToString(w), C = n.colors;
7099
7099
  if (C) {
7100
7100
  for (const [p, M] of Object.entries(h))
7101
7101
  for (const y of Object.keys(C))
@@ -7113,7 +7113,7 @@ const ha = [
7113
7113
  {
7114
7114
  colors: h,
7115
7115
  id: y,
7116
- svg: Q,
7116
+ svg: u,
7117
7117
  type: v.Illustration,
7118
7118
  y: p.top,
7119
7119
  x: p.left,
@@ -7126,9 +7126,9 @@ const ha = [
7126
7126
  },
7127
7127
  M
7128
7128
  );
7129
- }, u = A.data.regions;
7129
+ }, Q = A.data.regions;
7130
7130
  try {
7131
- return u.map(f);
7131
+ return Q.map(f);
7132
7132
  } catch (p) {
7133
7133
  return console.error(p), [];
7134
7134
  }
@@ -7264,7 +7264,7 @@ const ha = [
7264
7264
  }, fa = async (c, e, t) => {
7265
7265
  const A = [], a = (() => {
7266
7266
  var r, g;
7267
- return e.type === D.ProductOverlay ? t || ((r = e.data.asset) == null ? void 0 : r.fileLink) || "" : ((g = e.data.asset) == null ? void 0 : g.fileLink) || "";
7267
+ return e.type === F.ProductOverlay ? t || ((r = e.data.asset) == null ? void 0 : r.fileLink) || "" : ((g = e.data.asset) == null ? void 0 : g.fileLink) || "";
7268
7268
  })(), s = (() => a.endsWith(".jpeg") || a.endsWith(".jpg") || a.endsWith(".png") ? v.Image : a.endsWith(".svg") ? v.Illustration : v.Illustration)(), o = e.data.regions;
7269
7269
  if (s === "image")
7270
7270
  try {
@@ -7282,7 +7282,7 @@ const ha = [
7282
7282
  height: r.height,
7283
7283
  layer: r.layer,
7284
7284
  layerIndex: r.layerIndex,
7285
- productOverlay: e.type === D.ProductOverlay ? !0 : void 0,
7285
+ productOverlay: e.type === F.ProductOverlay ? !0 : void 0,
7286
7286
  scaleX: 1,
7287
7287
  scaleY: 1,
7288
7288
  rotation: r.rotation,
@@ -7296,10 +7296,10 @@ const ha = [
7296
7296
  }
7297
7297
  else {
7298
7298
  const r = await Z(a, !0), g = (B) => {
7299
- const l = /<svg.*?<\/svg>/s, d = B.match(l) || [], w = (d == null ? void 0 : d.length) > 0 ? d[0] : "", Q = Ut().parseFromString(w, "image/svg+xml").firstElementChild;
7300
- if (!Q)
7299
+ const l = /<svg.*?<\/svg>/s, d = B.match(l) || [], w = (d == null ? void 0 : d.length) > 0 ? d[0] : "", u = Ut().parseFromString(w, "image/svg+xml").firstElementChild;
7300
+ if (!u)
7301
7301
  throw new oe("Failed to read SVG.");
7302
- return Gt(Q), vt().serializeToString(Q);
7302
+ return Gt(u), vt().serializeToString(u);
7303
7303
  };
7304
7304
  o.forEach((B) => {
7305
7305
  const l = c.find((w) => w.panelId === B.panelId);
@@ -7321,7 +7321,7 @@ const ha = [
7321
7321
  scaleX: 1,
7322
7322
  scaleY: 1,
7323
7323
  rotation: B.rotation,
7324
- productOverlay: e.type === D.ProductOverlay ? !0 : void 0,
7324
+ productOverlay: e.type === F.ProductOverlay ? !0 : void 0,
7325
7325
  excludeFromExport: e.data.excludeFromPrint
7326
7326
  };
7327
7327
  A.push(new L(d, l));
@@ -7334,35 +7334,35 @@ const ha = [
7334
7334
  const E = A.option;
7335
7335
  if (!E)
7336
7336
  return;
7337
- const Q = ((f = E.variants) == null ? void 0 : f.find((u) => u.id === a.fontVariantId)) || He(E);
7338
- if (!Q || !Q.asset)
7337
+ const u = ((f = E.variants) == null ? void 0 : f.find((Q) => Q.id === a.fontVariantId)) || He(E);
7338
+ if (!u || !u.asset)
7339
7339
  return;
7340
- e[A.stepName] = { selectedVariants: [Q] };
7341
- const C = Q.asset.fileLink;
7340
+ e[A.stepName] = { selectedVariants: [u] };
7341
+ const C = u.asset.fileLink;
7342
7342
  if (C)
7343
7343
  return C;
7344
7344
  }, g = await (async () => {
7345
7345
  const E = o();
7346
7346
  if (!E)
7347
7347
  return;
7348
- const Q = await tt(E);
7348
+ const u = await tt(E);
7349
7349
  return {
7350
7350
  assetUrl: E,
7351
- name: Q.names.fullName.en
7351
+ name: u.names.fullName.en
7352
7352
  };
7353
7353
  })(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", a.text) : a.text) || "", l = Ve(B, {
7354
7354
  vertical: A.data.vertical,
7355
7355
  uppercase: A.data.uppercase
7356
7356
  }), d = async (E) => {
7357
- const Q = E.colorOption;
7358
- if (!Q)
7357
+ const u = E.colorOption;
7358
+ if (!u)
7359
7359
  return;
7360
- const C = j.getDefaultVariant(Q);
7360
+ const C = j.getDefaultVariant(u);
7361
7361
  return C == null ? void 0 : C.color;
7362
7362
  }, w = a.color || await d(A.data), h = A.data.regions;
7363
7363
  for (const E of h) {
7364
- const Q = c.find((f) => f.panelId === E.panelId);
7365
- if (!Q)
7364
+ const u = c.find((f) => f.panelId === E.panelId);
7365
+ if (!u)
7366
7366
  continue;
7367
7367
  const C = {
7368
7368
  stepName: t.name,
@@ -7386,7 +7386,7 @@ const ha = [
7386
7386
  y: E.top
7387
7387
  };
7388
7388
  if (g) {
7389
- const [f, u] = Ie(
7389
+ const [f, Q] = Ie(
7390
7390
  A.data.size || i,
7391
7391
  g,
7392
7392
  E,
@@ -7407,14 +7407,14 @@ const ha = [
7407
7407
  {
7408
7408
  ...C,
7409
7409
  fontSize: f,
7410
- text: C.curved ? C.text : (u || []).join(`
7410
+ text: C.curved ? C.text : (Q || []).join(`
7411
7411
  `)
7412
7412
  },
7413
- Q
7413
+ u
7414
7414
  )
7415
7415
  );
7416
7416
  } else
7417
- n.push(new L(C, Q));
7417
+ n.push(new L(C, u));
7418
7418
  }
7419
7419
  return n;
7420
7420
  }, Fa = (c, e) => c.conditions ? c.conditions.every((t) => {
@@ -7432,20 +7432,20 @@ const ha = [
7432
7432
  const s = e.steps.find((o) => o.stepName === i.name);
7433
7433
  if (s)
7434
7434
  switch (s.type) {
7435
- case D.DigitalContent:
7435
+ case F.DigitalContent:
7436
7436
  n.push(
7437
7437
  ...await Ca(t, i, s)
7438
7438
  );
7439
7439
  break;
7440
- case D.Frame:
7441
- case D.Photo:
7440
+ case F.Frame:
7441
+ case F.Photo:
7442
7442
  n.push(
7443
- ...await Qa(t, a, i, s)
7443
+ ...await ua(t, a, i, s)
7444
7444
  );
7445
7445
  break;
7446
- case D.Illustration:
7446
+ case F.Illustration:
7447
7447
  n.push(
7448
- ...await ua(
7448
+ ...await Qa(
7449
7449
  t,
7450
7450
  a,
7451
7451
  i,
@@ -7453,20 +7453,20 @@ const ha = [
7453
7453
  )
7454
7454
  );
7455
7455
  break;
7456
- case D.Module:
7456
+ case F.Module:
7457
7457
  n.push(...await ma(t, i, s));
7458
7458
  break;
7459
- case D.Picture:
7459
+ case F.Picture:
7460
7460
  n.push(
7461
7461
  ...await Ia(t, a, i, s)
7462
7462
  );
7463
7463
  break;
7464
- case D.Shape:
7464
+ case F.Shape:
7465
7465
  n.push(
7466
7466
  ...await pa(t, a, i, s)
7467
7467
  );
7468
7468
  break;
7469
- case D.Text:
7469
+ case F.Text:
7470
7470
  n.push(
7471
7471
  ...await Da(t, a, i, s)
7472
7472
  );
@@ -7474,12 +7474,12 @@ const ha = [
7474
7474
  }
7475
7475
  }
7476
7476
  for (const i of e.steps)
7477
- i.type !== D.SilentIllustration && i.type !== D.ProductOverlay || Fa(i, a) && n.push(
7477
+ i.type !== F.SilentIllustration && i.type !== F.ProductOverlay || Fa(i, a) && n.push(
7478
7478
  ...await fa(t, i, A)
7479
7479
  );
7480
7480
  return n;
7481
7481
  };
7482
- class Qe {
7482
+ class ue {
7483
7483
  constructor(e) {
7484
7484
  this.handleCompleteRender = null;
7485
7485
  const t = /* @__PURE__ */ new Map();
@@ -7642,18 +7642,18 @@ class xa extends Wt {
7642
7642
  B.resize(s, o), await B.render(), this.onRender();
7643
7643
  }
7644
7644
  }
7645
- const ki = (c, e) => {
7645
+ const Ji = (c, e) => {
7646
7646
  const t = [];
7647
7647
  return c.forEach((A) => {
7648
7648
  const n = e.steps.find((a) => a.stepName === A.stepName);
7649
- (n == null ? void 0 : n.type) === D.Text && A.stepAspectType === "Text" && t.push({
7649
+ (n == null ? void 0 : n.type) === F.Text && A.stepAspectType === "Text" && t.push({
7650
7650
  name: n.stepName,
7651
7651
  data: {
7652
7652
  text: A.value
7653
7653
  }
7654
7654
  });
7655
7655
  }), t;
7656
- }, Ji = async (c, e, t, A) => {
7656
+ }, bi = async (c, e, t, A) => {
7657
7657
  let n = {
7658
7658
  serializableWorkflow: { steps: [] },
7659
7659
  layouts: {}
@@ -7661,7 +7661,7 @@ const ki = (c, e) => {
7661
7661
  n = new G(t.map((o) => new UA(o))).apply(n);
7662
7662
  const i = await Ma(c, e, t, A);
7663
7663
  return new G(i).apply(n);
7664
- }, Pa = F`
7664
+ }, Pa = D`
7665
7665
  ${ae}
7666
7666
  fragment ProductFields on Product {
7667
7667
  id
@@ -7704,7 +7704,7 @@ const ki = (c, e) => {
7704
7704
  name
7705
7705
  }
7706
7706
  }
7707
- `, gA = F`
7707
+ `, gA = D`
7708
7708
  ${Pa}
7709
7709
  fragment ProductCollectionProductFields on ProductCollectionProduct {
7710
7710
  id
@@ -7714,7 +7714,7 @@ const ki = (c, e) => {
7714
7714
  ...ProductFields
7715
7715
  }
7716
7716
  }
7717
- `, lA = (c) => F`
7717
+ `, lA = (c) => D`
7718
7718
  ${c ? gA : ""}
7719
7719
  fragment ProductCollectionFields on ProductCollection {
7720
7720
  id
@@ -7759,7 +7759,7 @@ const ki = (c, e) => {
7759
7759
  }
7760
7760
  }
7761
7761
  }
7762
- `, Na = (c) => F`
7762
+ `, Na = (c) => D`
7763
7763
  ${lA(c)}
7764
7764
  query GetBundle($id: String!) {
7765
7765
  bundles(ids: [$id]) {
@@ -7781,7 +7781,7 @@ const ki = (c, e) => {
7781
7781
  }
7782
7782
  }
7783
7783
  }
7784
- `, Ha = F`
7784
+ `, Ha = D`
7785
7785
  query GetBundleStakeholders($id: String!) {
7786
7786
  bundles(ids: [$id]) {
7787
7787
  id
@@ -7801,7 +7801,7 @@ const ki = (c, e) => {
7801
7801
  }
7802
7802
  }
7803
7803
  }
7804
- `, Ra = F`
7804
+ `, Ra = D`
7805
7805
  query GetBundlesForCustomer($id: String!) {
7806
7806
  customers(ids: [$id]) {
7807
7807
  bundleStakeholders {
@@ -7822,7 +7822,7 @@ const ki = (c, e) => {
7822
7822
  }
7823
7823
  }
7824
7824
  }
7825
- `, Ua = F`
7825
+ `, Ua = D`
7826
7826
  ${gA}
7827
7827
  query GetProductCollectionProducts($id: String!) {
7828
7828
  productCollections(ids: [$id]) {
@@ -7832,7 +7832,7 @@ const ki = (c, e) => {
7832
7832
  }
7833
7833
  }
7834
7834
  }
7835
- `, Ga = (c) => F`
7835
+ `, Ga = (c) => D`
7836
7836
  ${lA(c)}
7837
7837
  mutation CreateBundle($collectionId: String, $initialMetadata: [MetadataInput!]) {
7838
7838
  bundleCreate(collectionId: $collectionId, metadata: $initialMetadata) {
@@ -7851,25 +7851,25 @@ const ki = (c, e) => {
7851
7851
  }
7852
7852
  }
7853
7853
  }
7854
- `, va = F`
7854
+ `, va = D`
7855
7855
  mutation UpdateBundle($id: String!, $name: String, $metadata: [MetadataInput!], $bundleStateData: String) {
7856
7856
  bundleUpdate(id: $id, name: $name, metadata: $metadata, bundleStateData: $bundleStateData) {
7857
7857
  id
7858
7858
  }
7859
7859
  }
7860
- `, ka = F`
7860
+ `, ka = D`
7861
7861
  mutation BundleAddTransaction($id: String!, $transactionId: String!) {
7862
7862
  bundleAddTransaction(id: $id, transactionId: $transactionId) {
7863
7863
  id
7864
7864
  }
7865
7865
  }
7866
- `, Ja = F`
7866
+ `, Ja = D`
7867
7867
  mutation BundleAddTransactions($id: String!, $transactionIds: [String!]!, $transactionOwnerIds: [String!]) {
7868
7868
  bundleAddTransactions(id: $id, transactionIds: $transactionIds, transactionOwnerIds: $transactionOwnerIds) {
7869
7869
  id
7870
7870
  }
7871
7871
  }
7872
- `, ba = F`
7872
+ `, ba = D`
7873
7873
  mutation BundleRemoveTransaction(
7874
7874
  $id: String!
7875
7875
  $transactionId: String!
@@ -7884,7 +7884,7 @@ const ki = (c, e) => {
7884
7884
  id
7885
7885
  }
7886
7886
  }
7887
- `, La = F`
7887
+ `, La = D`
7888
7888
  mutation BundleRemoveTransactions(
7889
7889
  $id: String!
7890
7890
  $transactionIds: [String!]!
@@ -7899,7 +7899,7 @@ const ki = (c, e) => {
7899
7899
  id
7900
7900
  }
7901
7901
  }
7902
- `, Ta = F`
7902
+ `, Ta = D`
7903
7903
  mutation BundleAddStakeholder($id: String!, $details: CustomerDetailsInput!, $type: String!) {
7904
7904
  bundleAddStakeholder(id: $id, details: $details, type: $type) {
7905
7905
  id
@@ -7919,7 +7919,13 @@ const ki = (c, e) => {
7919
7919
  }
7920
7920
  }
7921
7921
  }
7922
- `, Oa = F`
7922
+ `, Oa = D`
7923
+ mutation BundleAddStakeholder($id: String!, $emailAddress: String!) {
7924
+ bundleRemoveStakeholder(id: $id, emailAddress: $emailAddress) {
7925
+ id
7926
+ }
7927
+ }
7928
+ `, za = D`
7923
7929
  mutation BundleUpdateStakeholders($id: String!, $input: [BundleStakeholderInput!]!) {
7924
7930
  bundleUpdateStakeholders(id: $id, input: $input) {
7925
7931
  id
@@ -7939,14 +7945,14 @@ const ki = (c, e) => {
7939
7945
  }
7940
7946
  }
7941
7947
  }
7942
- `, za = F`
7948
+ `, Ka = D`
7943
7949
  mutation BundleUpdateTransactionOrder($id: String!, $transactionIds: [String!]!) {
7944
7950
  bundleUpdateTransactionOrder(id: $id, transactionIds: $transactionIds) {
7945
7951
  id
7946
7952
  }
7947
7953
  }
7948
7954
  `;
7949
- class Ka {
7955
+ class ja {
7950
7956
  constructor(e) {
7951
7957
  this.handleCache = {}, this.bundle = e;
7952
7958
  }
@@ -7990,13 +7996,13 @@ class Ka {
7990
7996
  async createHandle(e) {
7991
7997
  switch (e.type) {
7992
7998
  case pe.FileUpload:
7993
- return new ja(this.bundle, e);
7999
+ return new Va(this.bundle, e);
7994
8000
  case pe.Option: {
7995
8001
  const t = e.entityId ? await j.getOption(e.entityId) : void 0;
7996
- return (t == null ? void 0 : t.type) === "Color" ? new Wa(this.bundle, e, t) : new BA(this.bundle, e, t);
8002
+ return (t == null ? void 0 : t.type) === "Color" ? new Xa(this.bundle, e, t) : new BA(this.bundle, e, t);
7997
8003
  }
7998
8004
  case pe.Text:
7999
- return new Va(this.bundle, e);
8005
+ return new Wa(this.bundle, e);
8000
8006
  }
8001
8007
  }
8002
8008
  }
@@ -8055,7 +8061,7 @@ class gt {
8055
8061
  return this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);
8056
8062
  }
8057
8063
  }
8058
- class ja extends gt {
8064
+ class Va extends gt {
8059
8065
  constructor(e, t) {
8060
8066
  super(e, t);
8061
8067
  }
@@ -8097,7 +8103,7 @@ class ja extends gt {
8097
8103
  await Promise.all(n);
8098
8104
  }
8099
8105
  }
8100
- class Va extends gt {
8106
+ class Wa extends gt {
8101
8107
  constructor(e, t) {
8102
8108
  super(e, t);
8103
8109
  }
@@ -8192,7 +8198,7 @@ class BA extends gt {
8192
8198
  await Promise.all(n);
8193
8199
  }
8194
8200
  }
8195
- class Wa extends BA {
8201
+ class Xa extends BA {
8196
8202
  constructor(e, t, A) {
8197
8203
  super(e, t, A);
8198
8204
  }
@@ -8209,7 +8215,7 @@ class Wa extends BA {
8209
8215
  return this.getSharedSteps()[0].getCustomColor();
8210
8216
  }
8211
8217
  }
8212
- const Xa = F`
8218
+ const qa = D`
8213
8219
  mutation CreateGlobalPropertyState($bundleId: String!) {
8214
8220
  globalPropertyStateCreate(bundleId: $bundleId) {
8215
8221
  id
@@ -8219,7 +8225,7 @@ const Xa = F`
8219
8225
  }
8220
8226
  }
8221
8227
  }
8222
- `, qa = F`
8228
+ `, Za = D`
8223
8229
  mutation UpdateGlobalPropertyState($id: String!, $aspects: [GlobalPropertyStateAspectInput]!) {
8224
8230
  globalPropertyStateUpdate(id: $id, aspects: $aspects) {
8225
8231
  id
@@ -8229,7 +8235,7 @@ const Xa = F`
8229
8235
  }
8230
8236
  }
8231
8237
  }
8232
- `, Za = F`
8238
+ `, $a = D`
8233
8239
  query GetGlobalPropertyState($bundleId: String!) {
8234
8240
  globalPropertyState(bundleId: $bundleId) {
8235
8241
  id
@@ -8240,7 +8246,7 @@ const Xa = F`
8240
8246
  }
8241
8247
  }
8242
8248
  `;
8243
- class $a {
8249
+ class _a {
8244
8250
  constructor(e, t, A) {
8245
8251
  this.bundleId = e, this.bundleOwnerId = t, this.initPromise = this.getOrCreateGlobalPropertyState().then((n) => {
8246
8252
  this.globalPropertyState = n;
@@ -8270,7 +8276,7 @@ class $a {
8270
8276
  if (!this.globalPropertyState)
8271
8277
  throw new Error("Global property state not initialized");
8272
8278
  const e = await P.getShadowGraphqlClient().mutate({
8273
- mutation: qa,
8279
+ mutation: Za,
8274
8280
  variables: {
8275
8281
  id: this.globalPropertyState.id,
8276
8282
  aspects: this.globalPropertyState.aspects
@@ -8287,7 +8293,7 @@ class $a {
8287
8293
  async getOrCreateGlobalPropertyState() {
8288
8294
  var A;
8289
8295
  const e = await P.getShadowGraphqlClient().query({
8290
- query: Za,
8296
+ query: $a,
8291
8297
  errorPolicy: "all",
8292
8298
  fetchPolicy: "no-cache",
8293
8299
  variables: {
@@ -8300,7 +8306,7 @@ class $a {
8300
8306
  if (e.data.globalPropertyState && e.data.globalPropertyState.id)
8301
8307
  return e.data.globalPropertyState;
8302
8308
  const t = await P.getShadowGraphqlClient().mutate({
8303
- mutation: Xa,
8309
+ mutation: qa,
8304
8310
  variables: {
8305
8311
  bundleId: this.bundleId
8306
8312
  },
@@ -8313,7 +8319,7 @@ class $a {
8313
8319
  throw new Error(`Unable to create global property state for bundle: ${this.bundleId}`);
8314
8320
  }
8315
8321
  }
8316
- class _a {
8322
+ class ei {
8317
8323
  constructor(e) {
8318
8324
  this.setState(e);
8319
8325
  }
@@ -8396,7 +8402,7 @@ class _a {
8396
8402
  };
8397
8403
  }
8398
8404
  }
8399
- class ei {
8405
+ class ti {
8400
8406
  constructor(e) {
8401
8407
  this.collection = e;
8402
8408
  }
@@ -8438,7 +8444,7 @@ class ei {
8438
8444
  }
8439
8445
  getTransformCollection() {
8440
8446
  if (this.collection.transformCollection)
8441
- return new ti(this.collection.transformCollection);
8447
+ return new Ai(this.collection.transformCollection);
8442
8448
  }
8443
8449
  /**
8444
8450
  * The raw collection resource. This is generally not needed and should be avoided.
@@ -8590,7 +8596,7 @@ class ce {
8590
8596
  return this.workflow.imageUrl;
8591
8597
  }
8592
8598
  }
8593
- class ti {
8599
+ class Ai {
8594
8600
  constructor(e) {
8595
8601
  this.collection = e;
8596
8602
  }
@@ -8610,10 +8616,10 @@ class ti {
8610
8616
  * @returns The transforms in this collection.
8611
8617
  */
8612
8618
  getTransforms() {
8613
- return this.collection.transforms.map((e) => new Ai(e));
8619
+ return this.collection.transforms.map((e) => new ni(e));
8614
8620
  }
8615
8621
  }
8616
- class Ai {
8622
+ class ni {
8617
8623
  constructor(e) {
8618
8624
  this.transform = e;
8619
8625
  }
@@ -8643,11 +8649,11 @@ class Ai {
8643
8649
  class Ft {
8644
8650
  constructor(e, t, A, n, a) {
8645
8651
  var i, s;
8646
- this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = e, this.id = t.id, this.name = t.name || "", this.ownerId = a, this.metadata = new Map(((i = t.metadata) == null ? void 0 : i.map((o) => [o.key, o.value])) || []), this.productCollection = t.productCollection, this.bundleStateManager = new _a(t.bundleStateData), this.globalPropertyStateManager = new $a(
8652
+ this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = e, this.id = t.id, this.name = t.name || "", this.ownerId = a, this.metadata = new Map(((i = t.metadata) == null ? void 0 : i.map((o) => [o.key, o.value])) || []), this.productCollection = t.productCollection, this.bundleStateManager = new ei(t.bundleStateData), this.globalPropertyStateManager = new _a(
8647
8653
  this.id,
8648
8654
  this.ownerId,
8649
8655
  this.checkConditionalHandlesChanged.bind(this)
8650
- ), this.globalPropertyHandleService = new Ka(this), this.setPreviewService(A), this.initializationPromise = this.loadExistingWorkflowExperiences(
8656
+ ), this.globalPropertyHandleService = new ja(this), this.setPreviewService(A), this.initializationPromise = this.loadExistingWorkflowExperiences(
8651
8657
  ((s = t.transactions) == null ? void 0 : s.map((o) => o.id)) || [],
8652
8658
  n
8653
8659
  );
@@ -8710,7 +8716,7 @@ class Ft {
8710
8716
  return this.workflowExperiences.map((e) => e.getTotalPriceSubunits()).reduce((e, t) => e + t, 0);
8711
8717
  }
8712
8718
  getProductCollection() {
8713
- return this.productCollection ? new ei(this.productCollection) : void 0;
8719
+ return this.productCollection ? new ti(this.productCollection) : void 0;
8714
8720
  }
8715
8721
  async addWorkflowExperience(e) {
8716
8722
  e.setBundle(this), await this.appendWorkflowExperience(e), await this.injectExperienceIntoPreviewService(e);
@@ -8897,10 +8903,24 @@ class Ft {
8897
8903
  const n = A.data.bundleAddStakeholder.bundleStakeholders || [];
8898
8904
  this.storeStakeholderCustomers(n);
8899
8905
  }
8906
+ async removeStakeholder(e) {
8907
+ var A;
8908
+ if (!((A = (await P.getShadowGraphqlClient().mutate({
8909
+ mutation: Oa,
8910
+ variables: {
8911
+ id: this.id,
8912
+ emailAddress: e
8913
+ },
8914
+ context: {
8915
+ bundleOwnerId: this.ownerId
8916
+ }
8917
+ })).data) != null && A.bundleRemoveStakeholder))
8918
+ throw new Error("Bundle not found!");
8919
+ }
8900
8920
  async updateStakeholders(e) {
8901
8921
  var n;
8902
8922
  const t = await P.getShadowGraphqlClient().mutate({
8903
- mutation: Oa,
8923
+ mutation: za,
8904
8924
  variables: {
8905
8925
  id: this.id,
8906
8926
  input: e
@@ -9036,7 +9056,7 @@ class Ft {
9036
9056
  }
9037
9057
  async updateTransactionOrder() {
9038
9058
  await P.getShadowGraphqlClient().mutate({
9039
- mutation: za,
9059
+ mutation: Ka,
9040
9060
  variables: {
9041
9061
  id: this.id,
9042
9062
  transactionIds: this.workflowExperiences.map((e) => e.getWorkflowManager().getTransaction().id)
@@ -9069,14 +9089,14 @@ class Ft {
9069
9089
  );
9070
9090
  }
9071
9091
  }
9072
- const ni = F`
9092
+ const ai = D`
9073
9093
  mutation processFlowCreate($processFlowId: String!, $inputs: [String]!) {
9074
9094
  processExecutionCreate(processFlowId: $processFlowId, inputs: $inputs) {
9075
9095
  id
9076
9096
  }
9077
9097
  }
9078
9098
  `;
9079
- class ai {
9099
+ class ii {
9080
9100
  /**
9081
9101
  *
9082
9102
  * @param id
@@ -9087,7 +9107,7 @@ class ai {
9087
9107
  async execute(e, t, A) {
9088
9108
  var B, l, d;
9089
9109
  const a = (l = (B = (await P.getShadowGraphqlClient().mutate({
9090
- mutation: ni,
9110
+ mutation: ai,
9091
9111
  variables: {
9092
9112
  processFlowId: e,
9093
9113
  inputs: [...t.map((w) => w.getValueForTransmission())]
@@ -9103,7 +9123,7 @@ class ai {
9103
9123
  let s = !1, o = 0, r, g;
9104
9124
  for (; !s; ) {
9105
9125
  r = await P.getShadowGraphqlClient().query({
9106
- query: F`
9126
+ query: D`
9107
9127
  query getProcessFlowExecution($ids: [String]!) {
9108
9128
  processExecutions(ids: $ids) {
9109
9129
  id
@@ -9129,7 +9149,7 @@ class ai {
9129
9149
  "Execution has failed to complete. See Automation > FLows in Flight on partner account on SpiffCommerce Hub."
9130
9150
  );
9131
9151
  if (w.completedAt) {
9132
- s = !0, g = new ii(w);
9152
+ s = !0, g = new si(w);
9133
9153
  break;
9134
9154
  }
9135
9155
  o += 1;
@@ -9143,7 +9163,7 @@ class ai {
9143
9163
  return Promise.resolve(g);
9144
9164
  }
9145
9165
  }
9146
- class ii {
9166
+ class si {
9147
9167
  constructor(e) {
9148
9168
  this.execution = e;
9149
9169
  }
@@ -9157,14 +9177,14 @@ class ii {
9157
9177
  * @returns The nodes contained within the execution.
9158
9178
  */
9159
9179
  getNodes() {
9160
- return this.execution.nodes.map((e) => new ue(e));
9180
+ return this.execution.nodes.map((e) => new Qe(e));
9161
9181
  }
9162
9182
  /**
9163
9183
  * @param type The type of node to return.
9164
9184
  * @returns A list of nodes matching the requested type.
9165
9185
  */
9166
9186
  getNodesByType(e) {
9167
- return this.execution.nodes.filter((t) => t.type === e).map((t) => new ue(t));
9187
+ return this.execution.nodes.filter((t) => t.type === e).map((t) => new Qe(t));
9168
9188
  }
9169
9189
  /**
9170
9190
  * @returns A list of input nodes that exist in this execution.
@@ -9173,7 +9193,7 @@ class ii {
9173
9193
  return this.execution.nodes.filter(
9174
9194
  (e) => e.type === "StartTerminal"
9175
9195
  /* StartTerminal */
9176
- ).map((e) => new ue(e));
9196
+ ).map((e) => new Qe(e));
9177
9197
  }
9178
9198
  /**
9179
9199
  * @returns A list of out put nodes that exist in this execution.
@@ -9182,7 +9202,7 @@ class ii {
9182
9202
  return this.execution.nodes.filter(
9183
9203
  (e) => e.type === "EndTerminal"
9184
9204
  /* EndTerminal */
9185
- ).map((e) => new ue(e));
9205
+ ).map((e) => new Qe(e));
9186
9206
  }
9187
9207
  /**
9188
9208
  * @returns A date object representing the point in time this execution completed.
@@ -9199,7 +9219,7 @@ class ii {
9199
9219
  return new Date(this.execution.failedAt);
9200
9220
  }
9201
9221
  }
9202
- class ue {
9222
+ class Qe {
9203
9223
  constructor(e) {
9204
9224
  this.node = e;
9205
9225
  }
@@ -9228,8 +9248,8 @@ class lt {
9228
9248
  return e.startsWith("[") ? JSON.stringify(JSON.parse(e)) : e;
9229
9249
  }
9230
9250
  }
9231
- var si = /* @__PURE__ */ ((c) => (c.Transaction = "Transaction", c.Bundle = "Bundle", c.Product = "Product", c.Variant = "Variant", c.Option = "Option", c.LineItem = "LineItem", c.Asset = "Asset", c))(si || {});
9232
- class bi extends lt {
9251
+ var oi = /* @__PURE__ */ ((c) => (c.Transaction = "Transaction", c.Bundle = "Bundle", c.Product = "Product", c.Variant = "Variant", c.Option = "Option", c.LineItem = "LineItem", c.Asset = "Asset", c))(oi || {});
9252
+ class Li extends lt {
9233
9253
  constructor(e) {
9234
9254
  super(`"${e}"`);
9235
9255
  }
@@ -9244,7 +9264,7 @@ class dA extends lt {
9244
9264
  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);
9245
9265
  }
9246
9266
  }
9247
- class Li extends lt {
9267
+ class Ti extends lt {
9248
9268
  constructor(e) {
9249
9269
  super(`[${e.map((t) => t.getRaw()).join(",")}]`);
9250
9270
  }
@@ -9291,7 +9311,7 @@ class Mt {
9291
9311
  return e.sort((t, A) => (t.index ?? 0) - (A.index ?? 0)).map((t) => new ce(t));
9292
9312
  }
9293
9313
  }
9294
- const oi = F`
9314
+ const ri = D`
9295
9315
  fragment RegionFields on Region {
9296
9316
  width
9297
9317
  top
@@ -9309,7 +9329,7 @@ const oi = F`
9309
9329
  height
9310
9330
  }
9311
9331
  }
9312
- `, ri = F`
9332
+ `, ci = D`
9313
9333
  fragment LookAtAnimationFields on LookAtAnimation {
9314
9334
  latDeg
9315
9335
  lonDeg
@@ -9320,7 +9340,7 @@ const oi = F`
9320
9340
  z
9321
9341
  }
9322
9342
  }
9323
- `, ci = F`
9343
+ `, gi = D`
9324
9344
  fragment RenderingPipelineConfigurationFields on RenderingPipelineConfiguration {
9325
9345
  antiAliasing {
9326
9346
  samples
@@ -9404,21 +9424,21 @@ const oi = F`
9404
9424
  weight
9405
9425
  }
9406
9426
  }
9407
- `, gi = F`
9427
+ `, li = D`
9408
9428
  fragment ModelAnimationFields on ModelAnimation {
9409
9429
  from
9410
9430
  to
9411
9431
  loop
9412
9432
  name
9413
9433
  }
9414
- `, li = (c) => F`
9434
+ `, Bi = (c) => D`
9415
9435
  ${ve(c)}
9416
9436
  ${it}
9417
9437
  ${Kt}
9418
- ${oi}
9419
9438
  ${ri}
9420
9439
  ${ci}
9421
9440
  ${gi}
9441
+ ${li}
9422
9442
  query GetWorkflows($ids: [String!]!) {
9423
9443
  workflows(ids: $ids) {
9424
9444
  allowProofDownload
@@ -9796,7 +9816,7 @@ const oi = F`
9796
9816
  }
9797
9817
  }
9798
9818
  }
9799
- `, Bi = F`
9819
+ `, di = D`
9800
9820
  query GetTransactionForPartner($id: String!) {
9801
9821
  transactions(ids: [$id]) {
9802
9822
  id
@@ -9813,7 +9833,7 @@ const oi = F`
9813
9833
  }
9814
9834
  }
9815
9835
  }
9816
- `, di = F`
9836
+ `, wi = D`
9817
9837
  query GetIntegrationWithPartnerAndLogo {
9818
9838
  currentIntegration {
9819
9839
  id
@@ -9831,7 +9851,7 @@ const oi = F`
9831
9851
  }
9832
9852
  }
9833
9853
  }
9834
- `, wi = F`
9854
+ `, Ei = D`
9835
9855
  ${ve(!1)}
9836
9856
  query GetWorkflowForTheme($id: String!) {
9837
9857
  workflow(id: $id) {
@@ -9853,7 +9873,7 @@ const oi = F`
9853
9873
  }
9854
9874
  }
9855
9875
  }
9856
- `, Ei = F`
9876
+ `, hi = D`
9857
9877
  query GetCustomer($emailAddress: String!) {
9858
9878
  customer(emailAddress: $emailAddress) {
9859
9879
  id
@@ -9863,7 +9883,7 @@ const oi = F`
9863
9883
  }
9864
9884
  }
9865
9885
  }
9866
- `, hi = F`
9886
+ `, Ci = D`
9867
9887
  mutation CustomerCreate($details: CustomerDetailsInput!) {
9868
9888
  customerCreate(details: $details) {
9869
9889
  id
@@ -9873,7 +9893,7 @@ const oi = F`
9873
9893
  }
9874
9894
  }
9875
9895
  }
9876
- `, Ci = F`
9896
+ `, ui = D`
9877
9897
  mutation CustomerAuthenticate($loginToken: String!) {
9878
9898
  customerAuthenticate(loginToken: $loginToken) {
9879
9899
  id
@@ -9900,11 +9920,11 @@ const oi = F`
9900
9920
  }
9901
9921
  }
9902
9922
  }
9903
- `, Qi = F`
9923
+ `, Qi = D`
9904
9924
  mutation CustomerGenerateVerificationCode($emailAddress: String!) {
9905
9925
  customerGenerateVerificationCode(emailAddress: $emailAddress)
9906
9926
  }
9907
- `, ui = F`
9927
+ `, mi = D`
9908
9928
  mutation CustomerVerifyCode($emailAddress: String!, $verificationCode: String!) {
9909
9929
  customerVerifyCode(emailAddress: $emailAddress, verificationCode: $verificationCode) {
9910
9930
  id
@@ -9948,10 +9968,10 @@ const oi = F`
9948
9968
  (e = i.fontData) != null && e.assetUrl && await tt(i.fontData.assetUrl);
9949
9969
  }
9950
9970
  }
9951
- }, mi = async (c, e) => {
9971
+ }, Ii = async (c, e) => {
9952
9972
  var n;
9953
9973
  const t = await P.getShadowGraphqlClient().query({
9954
- query: li(((n = e == null ? void 0 : e.assets) == null ? void 0 : n.metadata) || !1),
9974
+ query: Bi(((n = e == null ? void 0 : e.assets) == null ? void 0 : n.metadata) || !1),
9955
9975
  errorPolicy: "all",
9956
9976
  fetchPolicy: "no-cache",
9957
9977
  variables: {
@@ -9968,7 +9988,7 @@ const oi = F`
9968
9988
  }), le.set({ id: i.option.id }, Promise.resolve(i.option)));
9969
9989
  });
9970
9990
  }), A;
9971
- }, Ii = async (c, e) => {
9991
+ }, pi = async (c, e) => {
9972
9992
  const A = (await e).find((n) => n.id === c);
9973
9993
  if (!A)
9974
9994
  throw new Error(`Workflow not found: ${c}`);
@@ -9977,11 +9997,11 @@ const oi = F`
9977
9997
  const t = c.map((s) => le.get({ id: s, options: e })), A = c.filter((s, o) => t[o] === void 0);
9978
9998
  if (A.length === 0)
9979
9999
  return Promise.all(t);
9980
- const n = mi(A, e), a = A.map(
9981
- (s) => le.set({ id: s, options: e }, Ii(s, n))
10000
+ const n = Ii(A, e), a = A.map(
10001
+ (s) => le.set({ id: s, options: e }, pi(s, n))
9982
10002
  ), i = t.filter((s) => s !== void 0);
9983
10003
  return await Promise.all(i.concat(a));
9984
- }, me = async (c, e) => (await wA([c], e))[0], pi = (c) => c.sort((e, t) => e.index - t.index).map((e) => ({
10004
+ }, me = async (c, e) => (await wA([c], e))[0], fi = (c) => c.sort((e, t) => e.index - t.index).map((e) => ({
9985
10005
  id: J(),
9986
10006
  panelId: e.name,
9987
10007
  name: e.name,
@@ -9996,9 +10016,9 @@ const oi = F`
9996
10016
  editableArea: e.editableArea
9997
10017
  })), ze = (c, e) => {
9998
10018
  const t = c.workflowState, A = t ? JSON.parse(t) : void 0;
9999
- return A ? Object.values(A.layouts).map((n) => n.layout) : pi(e.panels);
10019
+ return A ? Object.values(A.layouts).map((n) => n.layout) : fi(e.panels);
10000
10020
  };
10001
- class fi {
10021
+ class Di {
10002
10022
  constructor(e) {
10003
10023
  this.updateTransactionState = async (t) => {
10004
10024
  try {
@@ -10026,11 +10046,11 @@ class fi {
10026
10046
  getFlowService() {
10027
10047
  if (!TA())
10028
10048
  throw new Error("Application key required to use Flow Service.");
10029
- return new ai();
10049
+ return new ii();
10030
10050
  }
10031
10051
  async getIntegration() {
10032
10052
  return (await P.getShadowGraphqlClient().query({
10033
- query: di,
10053
+ query: wi,
10034
10054
  errorPolicy: "all"
10035
10055
  })).data.currentIntegration;
10036
10056
  }
@@ -10077,7 +10097,7 @@ class fi {
10077
10097
  async authenticateTransactionFromLocalStorage(e) {
10078
10098
  var g, B, l, d, w, h;
10079
10099
  const t = P.getShadowGraphqlClient(), A = await t.query({
10080
- query: Bi,
10100
+ query: di,
10081
10101
  errorPolicy: "all",
10082
10102
  fetchPolicy: "no-cache",
10083
10103
  variables: {
@@ -10100,13 +10120,13 @@ class fi {
10100
10120
  if (E && await this.authenticateCustomerId(E)) {
10101
10121
  const C = ((d = (l = this.customer) == null ? void 0 : l.bundleStakeholders) == null ? void 0 : d.find(
10102
10122
  (f) => {
10103
- var u, m;
10104
- return (m = (u = f.bundle) == null ? void 0 : u.transactions) == null ? void 0 : m.some((I) => I.id === e);
10123
+ var Q, m;
10124
+ return (m = (Q = f.bundle) == null ? void 0 : Q.transactions) == null ? void 0 : m.some((I) => I.id === e);
10105
10125
  }
10106
10126
  )) || ((h = (w = this.customer) == null ? void 0 : w.stakeholders) == null ? void 0 : h.find(
10107
10127
  (f) => {
10108
- var u;
10109
- return ((u = f.transaction) == null ? void 0 : u.id) === e;
10128
+ var Q;
10129
+ return ((Q = f.transaction) == null ? void 0 : Q.id) === e;
10110
10130
  }
10111
10131
  ));
10112
10132
  if (C)
@@ -10117,7 +10137,7 @@ class fi {
10117
10137
  }
10118
10138
  }
10119
10139
  const r = (await t.query({
10120
- query: wi,
10140
+ query: Ei,
10121
10141
  errorPolicy: "all",
10122
10142
  variables: {
10123
10143
  id: n.workflowId
@@ -10153,7 +10173,7 @@ class fi {
10153
10173
  var i;
10154
10174
  this.customer = void 0;
10155
10175
  const t = P.getShadowGraphqlClient(), n = (await t.query({
10156
- query: Ei,
10176
+ query: hi,
10157
10177
  errorPolicy: "all",
10158
10178
  fetchPolicy: "no-cache",
10159
10179
  variables: {
@@ -10162,7 +10182,7 @@ class fi {
10162
10182
  })).data.customer;
10163
10183
  if (!n.id) {
10164
10184
  const o = (i = (await t.mutate({
10165
- mutation: hi,
10185
+ mutation: Ci,
10166
10186
  errorPolicy: "all",
10167
10187
  fetchPolicy: "no-cache",
10168
10188
  variables: {
@@ -10194,7 +10214,7 @@ class fi {
10194
10214
  if (!n)
10195
10215
  return !1;
10196
10216
  const i = (s = (await t.mutate({
10197
- mutation: Ci,
10217
+ mutation: ui,
10198
10218
  errorPolicy: "all",
10199
10219
  fetchPolicy: "no-cache",
10200
10220
  variables: {
@@ -10224,7 +10244,7 @@ class fi {
10224
10244
  async verifyCode(e, t) {
10225
10245
  var a, i;
10226
10246
  const n = (a = (await P.getShadowGraphqlClient().mutate({
10227
- mutation: ui,
10247
+ mutation: mi,
10228
10248
  errorPolicy: "all",
10229
10249
  fetchPolicy: "no-cache",
10230
10250
  variables: {
@@ -10326,10 +10346,10 @@ class fi {
10326
10346
  if (!n)
10327
10347
  return await this.getWorkflowExperienceDeprecated(e, t, A);
10328
10348
  const a = async () => {
10329
- var Q, C;
10349
+ var u, C;
10330
10350
  const E = P.getShadowGraphqlClient();
10331
10351
  if (n.type === "transaction") {
10332
- const { transactionId: f, readOnly: u } = n, m = await E.query({
10352
+ const { transactionId: f, readOnly: Q } = n, m = await E.query({
10333
10353
  query: we,
10334
10354
  variables: {
10335
10355
  ids: [f]
@@ -10337,7 +10357,7 @@ class fi {
10337
10357
  errorPolicy: "all",
10338
10358
  fetchPolicy: "no-cache"
10339
10359
  });
10340
- if (!((Q = m.data) != null && Q.transactions) || m.data.transactions.length === 0)
10360
+ if (!((u = m.data) != null && u.transactions) || m.data.transactions.length === 0)
10341
10361
  throw new U("Existing transaction not found.");
10342
10362
  const I = (C = m.data) == null ? void 0 : C.transactions[0];
10343
10363
  if (!I.workflowId)
@@ -10345,7 +10365,7 @@ class fi {
10345
10365
  const p = await me(I.workflowId);
10346
10366
  if (!I.product)
10347
10367
  throw new U("Failed to load transaction, product not available.");
10348
- return { transaction: I, workflow: p, readOnly: u };
10368
+ return { transaction: I, workflow: p, readOnly: Q };
10349
10369
  }
10350
10370
  if (n.type === "integration" || n.type === "external") {
10351
10371
  const f = async () => {
@@ -10370,7 +10390,7 @@ class fi {
10370
10390
  if (!y.product)
10371
10391
  throw new U("Failed to create transaction, product not available.");
10372
10392
  return y;
10373
- }, u = me(n.workflowId, n == null ? void 0 : n.graphql), [m, I] = await Promise.all([f(), u]);
10393
+ }, Q = me(n.workflowId, n == null ? void 0 : n.graphql), [m, I] = await Promise.all([f(), Q]);
10374
10394
  return { transaction: m, workflow: I };
10375
10395
  }
10376
10396
  throw new U("No workflow ID provided.");
@@ -10392,16 +10412,16 @@ class fi {
10392
10412
  };
10393
10413
  if (n.type === "transaction" && i.workflowState) {
10394
10414
  const E = JSON.parse(i.workflowState);
10395
- r.layouts = Object.values(E.layouts).map((Q) => Q.layout), await ee(E), await te(E), r.reloadedState = E;
10415
+ r.layouts = Object.values(E.layouts).map((u) => u.layout), await ee(E), await te(E), r.reloadedState = E;
10396
10416
  } else if (!o && n.workflowState) {
10397
10417
  const E = JSON.parse(n.workflowState);
10398
- r.layouts = Object.values(E.layouts).map((Q) => Q.layout), await ee(E), await te(E), r.reloadedState = E;
10418
+ r.layouts = Object.values(E.layouts).map((u) => u.layout), await ee(E), await te(E), r.reloadedState = E;
10399
10419
  } else
10400
10420
  r.layouts = ze(
10401
10421
  r.transaction,
10402
10422
  r.workflow
10403
10423
  );
10404
- if (r.renderableContextService = new Qe(
10424
+ if (r.renderableContextService = new ue(
10405
10425
  r.layouts
10406
10426
  ), n.previewService ? (r.previewService = n.previewService, (d = r.product) != null && d.modelUrl && (r.modelContainer = r.previewService.loadModel({
10407
10427
  model: r.product.modelUrl,
@@ -10483,7 +10503,7 @@ class fi {
10483
10503
  }));
10484
10504
  }, i = e.map((m, I) => ({ option: m, index: I })), s = i.filter((m) => m.option.type === "transaction"), o = i.filter(
10485
10505
  (m) => m.option.type === "integration" || m.option.type === "external"
10486
- ), r = Qt(s, 10), g = Qt(o, 10), B = (await Promise.all([
10506
+ ), r = ut(s, 10), g = ut(o, 10), B = (await Promise.all([
10487
10507
  ...r.map(n),
10488
10508
  ...g.map(a)
10489
10509
  ])).flat(), l = [...new Set(B.map((m) => m.workflowId))], d = await wA(l, t), w = new Map(d.map((m) => [m.id, m])), h = x.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), E = B.map(async (m) => {
@@ -10513,7 +10533,7 @@ class fi {
10513
10533
  H.transaction,
10514
10534
  H.workflow
10515
10535
  );
10516
- return H.renderableContextService = new Qe(
10536
+ return H.renderableContextService = new ue(
10517
10537
  H.layouts
10518
10538
  ), H.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = H, { experienceOptions: H, index: y, options: Y };
10519
10539
  });
@@ -10521,8 +10541,8 @@ class fi {
10521
10541
  const f = (await Promise.all(E)).sort((m, I) => m.index - I.index).map(async (m) => {
10522
10542
  const { experienceOptions: I, options: p } = m, M = new Ce(this, I);
10523
10543
  return await M.getWorkflowManager().getInitializationPromise(), p.type !== "transaction" && this.customer && await M.attachCustomerDetails({ email: this.customer.emailAddress }), M;
10524
- }), u = await Promise.all(f);
10525
- return u.forEach((m) => m.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), u;
10544
+ }), Q = await Promise.all(f);
10545
+ return Q.forEach((m) => m.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), Q;
10526
10546
  }
10527
10547
  /**
10528
10548
  * Initialize the client from an integration product.
@@ -10654,7 +10674,7 @@ class fi {
10654
10674
  const g = JSON.parse(this.experienceOptions.transaction.workflowState);
10655
10675
  this.experienceOptions.layouts = Object.values(g.layouts).map((B) => B.layout), await ee(g), await te(g), this.experienceOptions.reloadedState = g;
10656
10676
  }
10657
- this.experienceOptions.previewService = A && A(o), this.experienceOptions.renderableContextService = new Qe(this.experienceOptions.layouts), (n = this.experienceOptions.product) != null && n.modelUrl && (this.experienceOptions.modelContainer = (a = this.experienceOptions.previewService) == null ? void 0 : a.loadModel({
10677
+ this.experienceOptions.previewService = A && A(o), this.experienceOptions.renderableContextService = new ue(this.experienceOptions.layouts), (n = this.experienceOptions.product) != null && n.modelUrl && (this.experienceOptions.modelContainer = (a = this.experienceOptions.previewService) == null ? void 0 : a.loadModel({
10658
10678
  model: this.experienceOptions.product.modelUrl,
10659
10679
  contextService: this.experienceOptions.renderableContextService
10660
10680
  }));
@@ -10680,7 +10700,7 @@ class fi {
10680
10700
  this.experienceOptions.transaction,
10681
10701
  this.experienceOptions.workflow
10682
10702
  );
10683
- this.experienceOptions.previewService = A && A(await B), this.experienceOptions.renderableContextService = new Qe(this.experienceOptions.layouts), (i = this.experienceOptions.product) != null && i.modelUrl && (this.experienceOptions.modelContainer = (s = this.experienceOptions.previewService) == null ? void 0 : s.loadModel({
10703
+ this.experienceOptions.previewService = A && A(await B), this.experienceOptions.renderableContextService = new ue(this.experienceOptions.layouts), (i = this.experienceOptions.product) != null && i.modelUrl && (this.experienceOptions.modelContainer = (s = this.experienceOptions.previewService) == null ? void 0 : s.loadModel({
10684
10704
  model: this.experienceOptions.product.modelUrl,
10685
10705
  contextService: this.experienceOptions.renderableContextService
10686
10706
  }));
@@ -10755,7 +10775,7 @@ class fi {
10755
10775
  return e.type === "integration" ? this.getIntegrationProductById(e.integrationProductId) : this.getIntegrationProductFromExternalIds(e.externalIntegrationId, e.externalProductId);
10756
10776
  }
10757
10777
  }
10758
- class Ti {
10778
+ class Oi {
10759
10779
  getInitializationPromise() {
10760
10780
  return Promise.resolve();
10761
10781
  }
@@ -10880,8 +10900,8 @@ class Ti {
10880
10900
  setWorkflowStateSyncEnabled(e) {
10881
10901
  }
10882
10902
  }
10883
- var Di = /* @__PURE__ */ ((c) => (c.SelectFrame = "SelectFrame", c.SelectImage = "SelectImage", c.Position = "Position", c))(Di || {});
10884
- class Fi extends W {
10903
+ var Fi = /* @__PURE__ */ ((c) => (c.SelectFrame = "SelectFrame", c.SelectImage = "SelectImage", c.Position = "Position", c))(Fi || {});
10904
+ class Mi extends W {
10885
10905
  constructor(e, t) {
10886
10906
  var A;
10887
10907
  super(e, t), this.frameService = (A = this.manager.getStepSpecificServices(this.getId())) == null ? void 0 : A.frameService;
@@ -10922,121 +10942,121 @@ class Fi extends W {
10922
10942
  }
10923
10943
  }
10924
10944
  export {
10925
- Li as ArrayInput,
10926
- Ki as AspectType,
10945
+ Ti as ArrayInput,
10946
+ ji as AspectType,
10927
10947
  _ as AssetNotFoundError,
10928
- ji as AssetType,
10929
- Vi as BringForwardCommand,
10930
- Wi as BringToBackCommand,
10931
- Xi as BringToFrontCommand,
10932
- qi as CanvasCommand,
10948
+ Vi as AssetType,
10949
+ Wi as BringForwardCommand,
10950
+ Xi as BringToBackCommand,
10951
+ qi as BringToFrontCommand,
10952
+ Zi as CanvasCommand,
10933
10953
  Oe as CollectionProduct,
10934
- Wa as ColorOptionGlobalPropertyHandle,
10935
- Zi as CommandContext,
10954
+ Xa as ColorOptionGlobalPropertyHandle,
10955
+ $i as CommandContext,
10936
10956
  cn as ConversionDataType,
10937
10957
  rn as ConversionLocation,
10938
- $i as CreateElementCommand,
10939
- _i as CreateLayoutCommand,
10940
- es as DeleteElementCommand,
10941
- ja as FileUploadGlobalPropertyHandle,
10942
- ue as FlowExecutionNodeResult,
10943
- ii as FlowExecutionResult,
10944
- ai as FlowService,
10945
- ts as FontAlignmentCommand,
10946
- As as FontColorCommand,
10947
- ns as FontSizeCommand,
10948
- as as FontSourceCommand,
10958
+ _i as CreateElementCommand,
10959
+ es as CreateLayoutCommand,
10960
+ ts as DeleteElementCommand,
10961
+ Va as FileUploadGlobalPropertyHandle,
10962
+ Qe as FlowExecutionNodeResult,
10963
+ si as FlowExecutionResult,
10964
+ ii as FlowService,
10965
+ As as FontAlignmentCommand,
10966
+ ns as FontColorCommand,
10967
+ as as FontSizeCommand,
10968
+ is as FontSourceCommand,
10949
10969
  pn as FrameService,
10950
- Di as FrameStep,
10951
- Fi as FrameStepHandle,
10970
+ Fi as FrameStep,
10971
+ Mi as FrameStepHandle,
10952
10972
  gt as GlobalPropertyHandle,
10953
- is as GroupCommand,
10973
+ ss as GroupCommand,
10954
10974
  $n as IllustrationStepHandle,
10955
10975
  Ne as InformationMessageType,
10956
10976
  ia as InformationStepHandle,
10957
10977
  Mt as IntegrationProduct,
10958
10978
  sn as IntegrationType,
10959
- ss as LayoutElementFactory,
10960
- os as LayoutElementType,
10979
+ os as LayoutElementFactory,
10980
+ rs as LayoutElementType,
10961
10981
  z as LayoutNotFoundError,
10962
10982
  _n as MaterialStepHandle,
10963
10983
  Ye as MisconfigurationError,
10964
- Ti as MockWorkflowManager,
10984
+ Oi as MockWorkflowManager,
10965
10985
  ea as ModelStepHandle,
10966
- rs as MoveCommand,
10986
+ cs as MoveCommand,
10967
10987
  dA as ObjectInput,
10968
- si as ObjectInputType,
10988
+ oi as ObjectInputType,
10969
10989
  BA as OptionGlobalPropertyHandle,
10970
10990
  ye as OptionNotFoundError,
10971
10991
  oe as ParseError,
10972
10992
  ta as PictureStepHandle,
10973
10993
  on as ProductCameraRig,
10974
- ei as ProductCollection,
10994
+ ti as ProductCollection,
10975
10995
  ce as ProductWorkflow,
10976
10996
  le as PromiseCache,
10977
10997
  Xt as PromiseQueue,
10978
10998
  Aa as QuestionStepHandle,
10979
10999
  Wt as QueueablePromise,
10980
- cs as ResizeCommand,
11000
+ gs as ResizeCommand,
10981
11001
  ge as ResourceNotFoundError,
10982
- gs as RotateCommand,
10983
- ls as SendBackwardsCommand,
11002
+ ls as RotateCommand,
11003
+ Bs as SendBackwardsCommand,
10984
11004
  na as ShapeStepHandle,
10985
- fi as SpiffCommerceClient,
11005
+ Di as SpiffCommerceClient,
10986
11006
  Se as StakeholderType,
10987
- Bs as StepAspectType,
11007
+ ds as StepAspectType,
10988
11008
  W as StepHandle,
10989
- ds as StepType,
10990
- ws as TextChangeCommand,
10991
- Va as TextGlobalPropertyHandle,
10992
- bi as TextInput,
11009
+ ws as StepType,
11010
+ Es as TextChangeCommand,
11011
+ Wa as TextGlobalPropertyHandle,
11012
+ Li as TextInput,
10993
11013
  aa as TextStepHandle,
10994
- Ai as Transform,
10995
- ti as TransformCollection,
11014
+ ni as Transform,
11015
+ Ai as TransformCollection,
10996
11016
  k as UnhandledBehaviorError,
10997
- Es as UnitOfMeasurement,
11017
+ hs as UnitOfMeasurement,
10998
11018
  X as Variant,
10999
11019
  Ea as WorkflowExperienceEventType,
11000
11020
  Ce as WorkflowExperienceImpl,
11001
11021
  T as assetService,
11002
11022
  la as createDesign,
11003
- hs as dataUrlFromExternalUrl,
11023
+ Cs as dataUrlFromExternalUrl,
11004
11024
  Te as designService,
11005
- Cs as determineCorrectFontSizeAndLines,
11025
+ us as determineCorrectFontSizeAndLines,
11006
11026
  Fn as digitalContentStepService,
11007
11027
  Qs as findElement,
11008
- us as frameDataCache,
11028
+ ms as frameDataCache,
11009
11029
  Xe as frameStepService,
11010
- ms as generate,
11030
+ Is as generate,
11011
11031
  Ma as generateCommands,
11012
- Is as generateSVGWithUnknownColors,
11013
- Ji as generateStateFromDesignInputSteps,
11014
- ps as getAttributesFromArrayBuffer,
11015
- fs as getAxisAlignedBoundingBox,
11032
+ ps as generateSVGWithUnknownColors,
11033
+ bi as generateStateFromDesignInputSteps,
11034
+ fs as getAttributesFromArrayBuffer,
11035
+ Ds as getAxisAlignedBoundingBox,
11016
11036
  In as getBoundedOffsets,
11017
- Ds as getFrameData,
11018
- Fs as getSvgElement,
11037
+ Fs as getFrameData,
11038
+ Ms as getSvgElement,
11019
11039
  me as getWorkflow,
11020
11040
  wA as getWorkflows,
11021
11041
  P as graphQlManager,
11022
11042
  fe as illustrationStepService,
11023
- Ms as loadFont,
11043
+ ys as loadFont,
11024
11044
  Zt as materialStepService,
11025
11045
  $t as modelStepService,
11026
11046
  Pn as moduleStepService,
11027
11047
  j as optionService,
11028
- ys as patternImageDataCache,
11048
+ Ys as patternImageDataCache,
11029
11049
  x as persistenceService,
11030
11050
  _t as pictureStepService,
11031
11051
  eA as questionStepService,
11032
- Ys as registerFetchImplementation,
11033
- Ss as registerWindowImplementation,
11034
- xs as rehydrateSerializedLayout,
11035
- Ps as setCanvasModule,
11052
+ Ss as registerFetchImplementation,
11053
+ xs as registerWindowImplementation,
11054
+ Ps as rehydrateSerializedLayout,
11055
+ Ns as setCanvasModule,
11036
11056
  re as shapeStepService,
11037
11057
  fn as shortenUrl,
11038
11058
  q as spiffCoreConfiguration,
11039
- ki as stepAspectValuesToDesignInputSteps,
11059
+ Ji as stepAspectValuesToDesignInputSteps,
11040
11060
  K as textStepService,
11041
11061
  Gn as toast
11042
11062
  };