@spiffcommerce/core 24.0.0 → 24.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6,8 +6,9 @@ import an from "exifreader";
6
6
  import { Pith as sA } from "pith";
7
7
  import KA from "lodash.debounce";
8
8
  import VA from "lodash.isequal";
9
- import { parse as nn } from "css";
10
- import sn from "fuse.js";
9
+ import { dataUriToBuffer as nn } from "data-uri-to-buffer";
10
+ import { parse as sn } from "css";
11
+ import on from "fuse.js";
11
12
  import Mt from "lodash.clonedeep";
12
13
  import { jsx as v, jsxs as ot, Fragment as Jt } from "preact/jsx-runtime";
13
14
  import Ve from "opentype.js";
@@ -15,7 +16,7 @@ import { toString as WA } from "qrcode";
15
16
  import { split as We } from "unicode-default-word-boundary";
16
17
  import oA from "svg-path-bbox";
17
18
  import yA from "lodash.chunk";
18
- var Ce = /* @__PURE__ */ ((n) => (n.Data = "Data", n.Font = "Font", n.Frame = "Frame", n.Illustration = "Illustration", n.Image = "Image", n.Model = "Model", n.Material = "Material", n.Color = "Color", n.QuestionnaireCollateral = "QuestionnaireCollateral", n.RequestCollateral = "RequestCollateral", n.SignupCollateral = "SignupCollateral", n.Video = "Video", n.ColorProfile = "ColorProfile", n.Environment = "Environment", n))(Ce || {}), st = /* @__PURE__ */ ((n) => (n.FileUpload = "FileUpload", n.Option = "Option", n.ColorOption = "ColorOption", n.Text = "Text", n))(st || {}), M = /* @__PURE__ */ ((n) => (n.Information = "Information", n.Bulk = "Bulk", n.DigitalContent = "DigitalContent", n.Finish = "Finish", n.Frame = "Frame", n.Illustration = "Illustration", n.Introduction = "Introduction", n.Material = "Material", n.Model = "Model", n.Module = "Module", n.Picture = "Picture", n.Photo = "Photo", n.ProductOverlay = "ProductOverlay", n.Question = "Question", n.Shape = "Shape", n.SilentIllustration = "SilentIllustration", n.Text = "Text", n))(M || {}), on = /* @__PURE__ */ ((n) => (n.Color = "Color", n.Colors = "Colors", n.Selection = "Selection", n.Selections = "Selections", n.Text = "Text", n.Upload = "Upload", n))(on || {}), Ot = /* @__PURE__ */ ((n) => (n.ThreeD = "ThreeD", n.FreeDesign = "FreeDesign", n.Print = "Print", n))(Ot || {}), R = /* @__PURE__ */ ((n) => (n.Frame = "frame", n.Group = "group", n.Image = "image", n.Pattern = "pattern", n.Illustration = "illustration", n.Textbox = "textbox", n))(R || {}), rn = /* @__PURE__ */ ((n) => (n.Hyperlink = "Hyperlink", n.Edit = "Edit", n.Approve = "Approve", n))(rn || {}), cn = /* @__PURE__ */ ((n) => (n.Hub = "Hub", n.Shopify = "Shopify", n))(cn || {}), rA = /* @__PURE__ */ ((n) => (n.BackgroundRemover = "BackgroundRemover", n.ConversionAccelerator = "Conversion Accelerator", n.ProcessBuilder = "ProcessBuilder", n))(rA || {}), ln = /* @__PURE__ */ ((n) => (n[n.Orbit = 0] = "Orbit", n[n.Pan = 1] = "Pan", n))(ln || {}), gn = /* @__PURE__ */ ((n) => (n.Manual = "Manual", n.OnStart = "OnStart", n.OnQuit = "OnQuit", n.OnEnd = "OnEnd", n))(gn || {}), dn = /* @__PURE__ */ ((n) => (n.Email = "Email", n.FirstName = "FirstName", n.LastName = "LastName", n.Phone = "Phone", n))(dn || {}), we = /* @__PURE__ */ ((n) => (n.Owner = "Owner", n.Approver = "Approver", n.Editor = "Editor", n.Viewer = "Viewer", n))(we || {}), Yt = /* @__PURE__ */ ((n) => (n.Autosize = "Autosize", n.Traditional = "Traditional", n))(Yt || {}), W = /* @__PURE__ */ ((n) => (n[n.North = 0] = "North", n[n.Northeast = 1] = "Northeast", n[n.East = 2] = "East", n[n.Southeast = 3] = "Southeast", n[n.South = 4] = "South", n[n.Southwest = 5] = "Southwest", n[n.West = 6] = "West", n[n.Northwest = 7] = "Northwest", n))(W || {}), Bn = /* @__PURE__ */ ((n) => (n.Pixel = "px", n.Millimeter = "mm", n.Centimeter = "cm", n))(Bn || {});
19
+ var Ce = /* @__PURE__ */ ((n) => (n.Data = "Data", n.Font = "Font", n.Frame = "Frame", n.Illustration = "Illustration", n.Image = "Image", n.Model = "Model", n.Material = "Material", n.Color = "Color", n.QuestionnaireCollateral = "QuestionnaireCollateral", n.RequestCollateral = "RequestCollateral", n.SignupCollateral = "SignupCollateral", n.Video = "Video", n.ColorProfile = "ColorProfile", n.Environment = "Environment", n))(Ce || {}), st = /* @__PURE__ */ ((n) => (n.FileUpload = "FileUpload", n.Option = "Option", n.ColorOption = "ColorOption", n.Text = "Text", n))(st || {}), M = /* @__PURE__ */ ((n) => (n.Information = "Information", n.Bulk = "Bulk", n.DigitalContent = "DigitalContent", n.Finish = "Finish", n.Frame = "Frame", n.Illustration = "Illustration", n.Introduction = "Introduction", n.Material = "Material", n.Model = "Model", n.Module = "Module", n.Picture = "Picture", n.Photo = "Photo", n.ProductOverlay = "ProductOverlay", n.Question = "Question", n.Shape = "Shape", n.SilentIllustration = "SilentIllustration", n.Text = "Text", n))(M || {}), rn = /* @__PURE__ */ ((n) => (n.Color = "Color", n.Colors = "Colors", n.Selection = "Selection", n.Selections = "Selections", n.Text = "Text", n.Upload = "Upload", n))(rn || {}), Ot = /* @__PURE__ */ ((n) => (n.ThreeD = "ThreeD", n.FreeDesign = "FreeDesign", n.Print = "Print", n))(Ot || {}), R = /* @__PURE__ */ ((n) => (n.Frame = "frame", n.Group = "group", n.Image = "image", n.Pattern = "pattern", n.Illustration = "illustration", n.Textbox = "textbox", n))(R || {}), cn = /* @__PURE__ */ ((n) => (n.Hyperlink = "Hyperlink", n.Edit = "Edit", n.Approve = "Approve", n))(cn || {}), ln = /* @__PURE__ */ ((n) => (n.Hub = "Hub", n.Shopify = "Shopify", n))(ln || {}), rA = /* @__PURE__ */ ((n) => (n.BackgroundRemover = "BackgroundRemover", n.ConversionAccelerator = "Conversion Accelerator", n.ProcessBuilder = "ProcessBuilder", n))(rA || {}), gn = /* @__PURE__ */ ((n) => (n[n.Orbit = 0] = "Orbit", n[n.Pan = 1] = "Pan", n))(gn || {}), dn = /* @__PURE__ */ ((n) => (n.Manual = "Manual", n.OnStart = "OnStart", n.OnQuit = "OnQuit", n.OnEnd = "OnEnd", n))(dn || {}), Bn = /* @__PURE__ */ ((n) => (n.Email = "Email", n.FirstName = "FirstName", n.LastName = "LastName", n.Phone = "Phone", n))(Bn || {}), we = /* @__PURE__ */ ((n) => (n.Owner = "Owner", n.Approver = "Approver", n.Editor = "Editor", n.Viewer = "Viewer", n))(we || {}), Yt = /* @__PURE__ */ ((n) => (n.Autosize = "Autosize", n.Traditional = "Traditional", n))(Yt || {}), W = /* @__PURE__ */ ((n) => (n[n.North = 0] = "North", n[n.Northeast = 1] = "Northeast", n[n.East = 2] = "East", n[n.Southeast = 3] = "Southeast", n[n.South = 4] = "South", n[n.Southwest = 5] = "Southwest", n[n.West = 6] = "West", n[n.Northwest = 7] = "Northwest", n))(W || {}), hn = /* @__PURE__ */ ((n) => (n.Pixel = "px", n.Millimeter = "mm", n.Centimeter = "cm", n))(hn || {});
19
20
  class XA extends Error {
20
21
  constructor(t) {
21
22
  super(t), this.name = this.constructor.name;
@@ -76,7 +77,7 @@ class Fe extends De {
76
77
  super(`Resource Generation Failed: ${t}`);
77
78
  }
78
79
  }
79
- class hn {
80
+ class Cn {
80
81
  get(t) {
81
82
  return localStorage.getItem(t) || void 0;
82
83
  }
@@ -119,14 +120,14 @@ class MA {
119
120
  this.set(t, A);
120
121
  }
121
122
  }
122
- const Cn = () => {
123
+ const wn = () => {
123
124
  try {
124
- return localStorage ? new hn() : new MA();
125
+ return localStorage ? new Cn() : new MA();
125
126
  } catch {
126
127
  return console.warn("Local storage was unavilable due to browser security settings. Using in-memory storage instead."), new MA();
127
128
  }
128
- }, Y = Cn();
129
- class wn {
129
+ }, Y = wn();
130
+ class un {
130
131
  constructor() {
131
132
  this.defaultServerUrl = "https://api.spiff.com.au", this.defaultServicesApiUrl = "https://services.spiff.com.au", this.defaultHubUrl = "https://hub.spiff.com.au", this.serverUrl = this.defaultServerUrl, this.servicesApiUrl = this.defaultServicesApiUrl, this.hubUrl = this.defaultHubUrl, this.serverUrlCallbacks = [];
132
133
  }
@@ -152,12 +153,12 @@ class wn {
152
153
  this.serverUrlCallbacks.push(t);
153
154
  }
154
155
  }
155
- const nt = new wn();
156
+ const nt = new un();
156
157
  let Xe, qe;
157
- function hr(n) {
158
+ function Cr(n) {
158
159
  Xe = n;
159
160
  }
160
- function Cr(n) {
161
+ function wr(n) {
161
162
  qe = n;
162
163
  }
163
164
  function ye() {
@@ -185,13 +186,13 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
185
186
  return qA.set(n, ((i = a.headers) == null ? void 0 : i.get("content-type")) || ""), await a.arrayBuffer();
186
187
  })();
187
188
  return SA.set(n, A), A;
188
- }, un = async (n) => {
189
+ }, En = async (n) => {
189
190
  const t = xA.get(n);
190
191
  if (t)
191
192
  return t;
192
193
  const A = (async () => await (await rt(n)).text())();
193
194
  return xA.set(n, A), A;
194
- }, Wt = (n) => n.every((t) => t !== "undefined"), ee = (n) => Wt([typeof document]) ? document.createElement(n) : ye().window.document.createElement(n), En = (n, t) => {
195
+ }, Wt = (n) => n.every((t) => t !== "undefined"), ee = (n) => Wt([typeof document]) ? document.createElement(n) : ye().window.document.createElement(n), mn = (n, t) => {
195
196
  if (Wt([typeof document]))
196
197
  return document.createElementNS(n, t);
197
198
  const A = ye().window.document.createElement(t);
@@ -208,10 +209,10 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
208
209
  A(a);
209
210
  });
210
211
  }), tt = (n, t) => new Promise((e, A) => {
211
- t ? un(n).then(e).catch(A) : rt(n).then((a) => {
212
+ t ? En(n).then(e).catch(A) : rt(n).then((a) => {
212
213
  a.text().then(e).catch(A);
213
214
  }).catch(A);
214
- }), $A = (n) => An(n), Ne = /* @__PURE__ */ new Map(), mn = async (n, t) => {
215
+ }), $A = (n) => An(n), Ne = /* @__PURE__ */ new Map(), Qn = async (n, t) => {
215
216
  if (Wt([typeof FontFace])) {
216
217
  if (Ne.has(t))
217
218
  return Ne.get(t);
@@ -252,16 +253,16 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
252
253
  }
253
254
  const e = t();
254
255
  return e || "image/svg+xml";
255
- }, wr = async (n) => {
256
+ }, ur = async (n) => {
256
257
  const t = await ZA(n), e = qA.get(n) || Xt(t);
257
- return await pn(new Blob([t], { type: e }));
258
+ return await In(new Blob([t], { type: e }));
258
259
  }, fn = (n) => {
259
260
  let t = "";
260
261
  const e = n.byteLength;
261
262
  for (let A = 0; A < e; A++)
262
263
  t += String.fromCharCode(n[A]);
263
264
  return t;
264
- }, Qn = async (n) => {
265
+ }, pn = async (n) => {
265
266
  const t = Xt(n), e = new Uint8Array(n), A = fn(e), a = btoa(A);
266
267
  return `data:${t};base64,${a}`;
267
268
  }, _A = (n) => `data:image/svg+xml;base64,${btoa(n)}`, ta = (n) => {
@@ -276,7 +277,7 @@ const qA = /* @__PURE__ */ new Map(), SA = /* @__PURE__ */ new Map(), xA = /* @_
276
277
  return a ? new Uint8Array(
277
278
  atob(i).split("").map((o) => o.charCodeAt(0))
278
279
  ).buffer : new Uint8Array(i.split("").map((o) => o.charCodeAt(0))).buffer;
279
- }, pn = (n) => new Promise((t, e) => {
280
+ }, In = (n) => new Promise((t, e) => {
280
281
  const A = new FileReader();
281
282
  A.onload = function(a) {
282
283
  const i = a.target;
@@ -288,26 +289,26 @@ const PA = (n) => {
288
289
  ea = n;
289
290
  };
290
291
  let cA;
291
- const In = (n) => {
292
+ const Dn = (n) => {
292
293
  cA = n;
293
- }, Dn = () => cA;
294
+ }, Fn = () => cA;
294
295
  let Aa;
295
- const Fn = (n) => {
296
+ const yn = (n) => {
296
297
  Aa = n;
297
- }, yn = () => new Promise((n) => {
298
+ }, Mn = () => new Promise((n) => {
298
299
  const t = nt.getHubUrl(), e = (A) => {
299
300
  A.origin === t && (window.removeEventListener("message", e), n(A.data));
300
301
  };
301
302
  window.parent !== window && (window.addEventListener("message", e, !1), window.parent.postMessage("ready", t));
302
- }), Mn = async () => {
303
+ }), Sn = async () => {
303
304
  const n = {
304
305
  applicationKey: cA,
305
306
  customerToken: ea,
306
307
  bearer: Aa
307
308
  };
308
- return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await yn(), ...n } : n;
309
+ return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await Mn(), ...n } : n;
309
310
  };
310
- class Sn {
311
+ class xn {
311
312
  constructor() {
312
313
  this.shadowGraphqlClient = this.constructShadowGraphqlClient(), nt.addServerUrlCallback(() => {
313
314
  this.shadowGraphqlClient = this.constructShadowGraphqlClient();
@@ -321,14 +322,14 @@ class Sn {
321
322
  uri: `${nt.getServerUrl()}/graphql`,
322
323
  fetch: rt
323
324
  }), e = tn(async (s, o) => {
324
- const { headers: r } = o, c = r || {}, l = await Mn(), g = o.bearer ?? l.bearer, d = o.partnerId ?? l.partnerId, B = o.activeIntegration ?? l.activeIntegration, h = o.transactionOwnerId, C = o.customerToken ?? l.customerToken, w = o.applicationKey ?? l.applicationKey, u = o.bundleOwnerId;
325
+ const { headers: r } = o, c = r || {}, l = await Sn(), g = o.bearer ?? l.bearer, d = o.partnerId ?? l.partnerId, B = o.activeIntegration ?? l.activeIntegration, h = o.transactionOwnerId, C = o.customerToken ?? l.customerToken, w = o.applicationKey ?? l.applicationKey, u = o.bundleOwnerId;
325
326
  try {
326
327
  if (window && window.__SENTRY__) {
327
328
  const E = window.__SENTRY__.hub;
328
329
  if (E) {
329
- const I = E.traceHeaders();
330
- Object.entries(I).forEach(([m, f]) => {
331
- c[m] = f;
330
+ const m = E.traceHeaders();
331
+ Object.entries(m).forEach(([f, Q]) => {
332
+ c[f] = Q;
332
333
  });
333
334
  }
334
335
  }
@@ -392,7 +393,7 @@ class Sn {
392
393
  });
393
394
  }
394
395
  }
395
- const P = new Sn();
396
+ const P = new xn();
396
397
  let Ze, $e;
397
398
  const lt = (n, t, e) => {
398
399
  if (Ze !== void 0)
@@ -441,28 +442,28 @@ function lA() {
441
442
  return Re === void 0 && (Re = DOMParser), Re;
442
443
  }
443
444
  let Ae = null;
444
- const xn = (n) => new Promise((t) => {
445
+ const Yn = (n) => new Promise((t) => {
445
446
  var a;
446
447
  if (Xt(n) !== "image/jpeg")
447
448
  return t(1);
448
449
  const A = (a = an.load(n).Orientation) == null ? void 0 : a.value;
449
450
  return t(A ? Number(A) : 1);
450
- }), Yn = async () => {
451
+ }), Pn = async () => {
451
452
  if (Ae !== null)
452
453
  return !Ae;
453
454
  const t = await qt("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAIAAwMBEQACEQEDEQH/xABRAAEAAAAAAAAAAAAAAAAAAAAKEAEBAQADAQEAAAAAAAAAAAAGBQQDCAkCBwEBAAAAAAAAAAAAAAAAAAAAABEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AG8T9NfSMEVMhQvoP3fFiRZ+MTHDifa/95OFSZU5OzRzxkyejv8ciEfhSceSXGjS8eSdLnZc2HDm4M3BxcXwH/9k=");
454
455
  return Ae = t.width === 2 && t.height === 3, !Ae;
455
- }, Pn = (n) => {
456
+ }, vn = (n) => {
456
457
  const e = n.naturalWidth / n.naturalHeight;
457
458
  return n.naturalHeight <= 8192 && n.naturalWidth <= 8192 ? [n.naturalWidth, n.naturalHeight] : n.naturalHeight > n.naturalWidth ? [e * 8192, 8192] : [8192, 8192 / e];
458
- }, vn = async (n) => {
459
+ }, Nn = async (n) => {
459
460
  var g;
460
- const t = await Qn(n), e = await qt(t), [A, a] = Pn(e);
461
- if (!await Yn()) {
461
+ const t = await pn(n), e = await qt(t), [A, a] = vn(e);
462
+ if (!await Pn()) {
462
463
  const d = lt(A, a);
463
464
  return (g = d.getContext("2d")) == null || g.drawImage(e, 0, 0, A, a), d;
464
465
  }
465
- const s = await xn(n), [o, r] = s > 4 ? [a, A] : [A, a], c = lt(o, r), l = c.getContext("2d");
466
+ const s = await Yn(n), [o, r] = s > 4 ? [a, A] : [A, a], c = lt(o, r), l = c.getContext("2d");
466
467
  switch (s) {
467
468
  case 2:
468
469
  l.translate(o, 0), l.scale(-1, 1);
@@ -488,7 +489,7 @@ const xn = (n) => new Promise((t) => {
488
489
  }
489
490
  return l.drawImage(e, 0, 0, o, r), c;
490
491
  }, xe = async (n) => {
491
- const t = await vn(n);
492
+ const t = await Nn(n);
492
493
  return Xt(n) === "image/jpeg" ? {
493
494
  dataUrl: t.toDataURL("image/jpeg", 1),
494
495
  height: t.height,
@@ -498,7 +499,7 @@ const xn = (n) => new Promise((t) => {
498
499
  height: t.height,
499
500
  width: t.width
500
501
  };
501
- }, Nn = F`
502
+ }, Rn = F`
502
503
  fragment AssetMetadataFields on Asset {
503
504
  metadata {
504
505
  key
@@ -506,7 +507,7 @@ const xn = (n) => new Promise((t) => {
506
507
  }
507
508
  }
508
509
  `, Zt = (n) => F`
509
- ${n && Nn || ""}
510
+ ${n && Rn || ""}
510
511
  fragment AssetFields on Asset {
511
512
  name
512
513
  key
@@ -520,7 +521,7 @@ const xn = (n) => new Promise((t) => {
520
521
  }
521
522
  ${n && "...AssetMetadataFields" || ""}
522
523
  }
523
- `, Rn = F`
524
+ `, kn = F`
524
525
  ${Zt(!1)}
525
526
  query GetAssets($keys: [String]!) {
526
527
  assets(keys: $keys) {
@@ -574,14 +575,14 @@ const xn = (n) => new Promise((t) => {
574
575
  fileLink
575
576
  }
576
577
  }
577
- `, kn = F`
578
+ `, Hn = F`
578
579
  ${gA}
579
580
  query GetMaterials($ids: [String]) {
580
581
  materials(id: $ids) {
581
582
  ...MaterialFields
582
583
  }
583
584
  }
584
- `, Hn = F`
585
+ `, bn = F`
585
586
  mutation CreateAsset($name: String!, $type: String!, $mimeType: String!, $anonymous: Boolean, $temporary: Boolean) {
586
587
  assetCreate(name: $name, type: $type, mimeType: $mimeType, anonymous: $anonymous, temporary: $temporary) {
587
588
  uploadUrl
@@ -595,7 +596,7 @@ const xn = (n) => new Promise((t) => {
595
596
  }
596
597
  }
597
598
  }
598
- `, bn = F`
599
+ `, Un = F`
599
600
  ${Zt(!1)}
600
601
  mutation RemoveBackgroundFromAsset($key: String!) {
601
602
  assetRemoveBackground(key: $key) {
@@ -603,23 +604,23 @@ const xn = (n) => new Promise((t) => {
603
604
  }
604
605
  }
605
606
  `, _e = async (n) => (await P.getShadowGraphqlClient().query({
606
- query: Rn,
607
+ query: kn,
607
608
  errorPolicy: "all",
608
609
  fetchPolicy: "no-cache",
609
610
  variables: {
610
611
  keys: n
611
612
  }
612
- })).data.assets, Un = async (n) => (await P.getShadowGraphqlClient().query({
613
- query: kn,
613
+ })).data.assets, Gn = async (n) => (await P.getShadowGraphqlClient().query({
614
+ query: Hn,
614
615
  errorPolicy: "all",
615
616
  fetchPolicy: "no-cache",
616
617
  variables: {
617
618
  ids: n
618
619
  }
619
- })).data.materials, Gn = async (n, t, e, A, a) => {
620
+ })).data.materials, Jn = async (n, t, e, A, a) => {
620
621
  var s;
621
622
  return (s = (await P.getShadowGraphqlClient().mutate({
622
- mutation: Hn,
623
+ mutation: bn,
623
624
  errorPolicy: "all",
624
625
  fetchPolicy: "no-cache",
625
626
  variables: {
@@ -631,7 +632,7 @@ const xn = (n) => new Promise((t) => {
631
632
  }
632
633
  })).data) == null ? void 0 : s.assetCreate;
633
634
  };
634
- class Jn {
635
+ class Tn {
635
636
  constructor() {
636
637
  this.cache = /* @__PURE__ */ new Map(), this.bgrmProcessCache = /* @__PURE__ */ new Map(), this.materialCache = /* @__PURE__ */ new Map(), this.loadImageAsFileInfo = async (t) => {
637
638
  const e = await t.arrayBuffer(), A = await xe(e), a = (i, s) => {
@@ -698,7 +699,7 @@ class Jn {
698
699
  async getMaterialLocalOrFromServer(t) {
699
700
  if (this.materialCache.has(t))
700
701
  return this.materialCache.get(t);
701
- const A = (async () => (await Un([t]))[0])();
702
+ const A = (async () => (await Gn([t]))[0])();
702
703
  return this.materialCache.set(t, A), A;
703
704
  }
704
705
  /**
@@ -747,7 +748,7 @@ class Jn {
747
748
  const a = (async () => {
748
749
  var s, o;
749
750
  const i = await P.getShadowGraphqlClient().mutate({
750
- mutation: bn,
751
+ mutation: Un,
751
752
  fetchPolicy: "no-cache",
752
753
  errorPolicy: "all",
753
754
  variables: {
@@ -781,7 +782,7 @@ class Jn {
781
782
  * @param assetType The type of asset we're expecting to upload
782
783
  */
783
784
  async dispatchCreateAssetRequest(t, e, A, a) {
784
- const i = t.blob.type ? t.blob.type : this.guessMIME(t.name), s = await Gn(t.name, e, i, A, a);
785
+ const i = t.blob.type ? t.blob.type : this.guessMIME(t.name), s = await Jn(t.name, e, i, A, a);
785
786
  if (s)
786
787
  return {
787
788
  assetResponse: s,
@@ -888,8 +889,8 @@ class q {
888
889
  Y.setMap(vA, t);
889
890
  }
890
891
  }
891
- const J = new Jn();
892
- class Tn {
892
+ const J = new Tn();
893
+ class On {
893
894
  constructor() {
894
895
  this.cache = {}, this.disabled = !1;
895
896
  }
@@ -920,7 +921,7 @@ class Tn {
920
921
  this.disabled = t;
921
922
  }
922
923
  }
923
- const zt = new Tn(), sa = F`
924
+ const zt = new On(), sa = F`
924
925
  fragment OptionFields on Option {
925
926
  id
926
927
  name
@@ -957,7 +958,7 @@ const zt = new Tn(), sa = F`
957
958
  ...AssetFields
958
959
  }
959
960
  }
960
- `, On = F`
961
+ `, Ln = F`
961
962
  ${Zt(!1)}
962
963
  ${gA}
963
964
  ${sa}
@@ -966,9 +967,9 @@ const zt = new Tn(), sa = F`
966
967
  ...OptionFields
967
968
  }
968
969
  }
969
- `, Ln = async (n) => {
970
+ `, zn = async (n) => {
970
971
  const t = await P.getShadowGraphqlClient().query({
971
- query: On,
972
+ query: Ln,
972
973
  errorPolicy: "all",
973
974
  fetchPolicy: "no-cache",
974
975
  variables: {
@@ -981,16 +982,16 @@ const zt = new Tn(), sa = F`
981
982
  i.asset && J.cacheAsset(i.asset), i.thumbnail && J.cacheAsset(i.thumbnail), i.material && J.cacheMaterial(i.material);
982
983
  });
983
984
  }), t.data.options;
984
- }, zn = async (n, t) => (await t).find((A) => A.id === n), jn = async (n) => {
985
+ }, jn = async (n, t) => (await t).find((A) => A.id === n), Kn = async (n) => {
985
986
  const t = n.map((s) => zt.get({ id: s })), e = n.filter((s, o) => t[o] === void 0);
986
987
  if (e.length === 0)
987
988
  return Promise.all(t);
988
- const A = Ln(e), a = e.map(
989
- (s) => zt.set({ id: s }, zn(s, A))
989
+ const A = zn(e), a = e.map(
990
+ (s) => zt.set({ id: s }, jn(s, A))
990
991
  ), i = t.filter((s) => s !== void 0);
991
992
  return await Promise.all(i.concat(a));
992
993
  };
993
- class Kn {
994
+ class Vn {
994
995
  constructor() {
995
996
  this.getSelectedVariant = (t, e) => {
996
997
  var A;
@@ -1004,7 +1005,7 @@ class Kn {
1004
1005
  */
1005
1006
  async getOption(t) {
1006
1007
  return (async () => {
1007
- const a = (await jn([t]))[0];
1008
+ const a = (await Kn([t]))[0];
1008
1009
  if (a)
1009
1010
  return a;
1010
1011
  })();
@@ -1036,7 +1037,7 @@ class Kn {
1036
1037
  }
1037
1038
  }
1038
1039
  }
1039
- const _ = new Kn(), oa = F`
1040
+ const _ = new Vn(), oa = F`
1040
1041
  fragment ActiveIntegrationFields on Integration {
1041
1042
  id
1042
1043
  logo
@@ -1053,7 +1054,7 @@ const _ = new Kn(), oa = F`
1053
1054
  activeAddons
1054
1055
  }
1055
1056
  }
1056
- `, Vn = F`
1057
+ `, Wn = F`
1057
1058
  ${oa}
1058
1059
  query GetCurrentIntegration {
1059
1060
  currentIntegration {
@@ -1174,7 +1175,7 @@ const _ = new Kn(), oa = F`
1174
1175
  }
1175
1176
  }
1176
1177
  }
1177
- `, Wn = F`
1178
+ `, Xn = F`
1178
1179
  ${Pt}
1179
1180
  mutation CreateTransactions(
1180
1181
  $inputs: [TransactionCreateInput]!
@@ -1260,7 +1261,7 @@ const _ = new Kn(), oa = F`
1260
1261
  }
1261
1262
  }
1262
1263
  }
1263
- `, Xn = F`
1264
+ `, qn = F`
1264
1265
  ${Pt}
1265
1266
  mutation ClaimTransaction($id: String!) {
1266
1267
  transactionClaim(id: $id) {
@@ -1495,19 +1496,19 @@ const _ = new Kn(), oa = F`
1495
1496
  }
1496
1497
  }
1497
1498
  }
1498
- `, qn = F`
1499
+ `, Zn = F`
1499
1500
  mutation UpdateTransactionWorkflowState($id: String!, $workflowState: String!) {
1500
1501
  transactionUpdate(id: $id, workflowState: $workflowState) {
1501
1502
  id
1502
1503
  }
1503
1504
  }
1504
- `, Zn = F`
1505
+ `, $n = F`
1505
1506
  mutation UpdateTransactionWorkflowId($id: String!, $workflowId: String!) {
1506
1507
  transactionUpdate(id: $id, workflowId: $workflowId) {
1507
1508
  id
1508
1509
  }
1509
1510
  }
1510
- `, $n = F`
1511
+ `, _n = F`
1511
1512
  mutation UpdateTransactionQuantity($id: String!, $quantity: Int) {
1512
1513
  transactionUpdate(id: $id, quantity: $quantity) {
1513
1514
  id
@@ -1560,7 +1561,7 @@ F`
1560
1561
  }
1561
1562
  }
1562
1563
  `;
1563
- const _n = F`
1564
+ const ti = F`
1564
1565
  ${ca}
1565
1566
  query ReadTransactionForShareActions($id: String!) {
1566
1567
  transactions(ids: [$id]) {
@@ -1640,14 +1641,14 @@ const _n = F`
1640
1641
  }
1641
1642
  }
1642
1643
  }
1643
- `, ti = F`
1644
+ `, ei = F`
1644
1645
  ${ga}
1645
1646
  query GetIntegrationProducts($ids: [String!]!) {
1646
1647
  integrationProducts(ids: $ids) {
1647
1648
  ...IntegrationProductFields
1648
1649
  }
1649
1650
  }
1650
- `, ei = F`
1651
+ `, Ai = F`
1651
1652
  ${ga}
1652
1653
  query GetIntegrationProductFromExternalIds($externalIntegrationId: String!, $externalProductId: String!) {
1653
1654
  integrationProductFromExternalIds(
@@ -1657,7 +1658,7 @@ const _n = F`
1657
1658
  ...IntegrationProductFields
1658
1659
  }
1659
1660
  }
1660
- `, Ai = F`
1661
+ `, ai = F`
1661
1662
  ${ra}
1662
1663
  query ReadTransactionForStakeholders($id: String!) {
1663
1664
  transactions(ids: [$id]) {
@@ -1669,7 +1670,7 @@ const _n = F`
1669
1670
  }
1670
1671
  }
1671
1672
  }
1672
- `, Nt = [M.SilentIllustration, M.ProductOverlay], ai = async (n) => {
1673
+ `, Nt = [M.SilentIllustration, M.ProductOverlay], ni = async (n) => {
1673
1674
  const t = [];
1674
1675
  n.introduction && t.push({
1675
1676
  name: "Introduction",
@@ -1687,7 +1688,7 @@ const _n = F`
1687
1688
  silentSteps: []
1688
1689
  });
1689
1690
  for (const A of n.steps) {
1690
- const a = ni(A.stepName, n.stepGroups);
1691
+ const a = ii(A.stepName, n.stepGroups);
1691
1692
  if (!a)
1692
1693
  t.push({
1693
1694
  name: A.stepName,
@@ -1724,7 +1725,7 @@ const _n = F`
1724
1725
  ],
1725
1726
  silentSteps: []
1726
1727
  }), t;
1727
- }, ni = (n, t) => t.find((e) => e.stepNames.includes(n)), Et = (n, t) => (n.conditions || []).every((e) => {
1728
+ }, ii = (n, t) => t.find((e) => e.stepNames.includes(n)), Et = (n, t) => (n.conditions || []).every((e) => {
1728
1729
  const A = t[e.targetStepName];
1729
1730
  if (A && A.selectedVariants) {
1730
1731
  const a = A.selectedVariants;
@@ -1733,7 +1734,7 @@ const _n = F`
1733
1734
  );
1734
1735
  }
1735
1736
  return !1;
1736
- }), ii = (n, t) => {
1737
+ }), si = (n, t) => {
1737
1738
  const e = {
1738
1739
  name: n.name,
1739
1740
  title: n.title,
@@ -1741,7 +1742,7 @@ const _n = F`
1741
1742
  silentSteps: n.silentSteps.filter((A) => Et(A, t))
1742
1743
  };
1743
1744
  return e.silentSteps.length === 0 && e.renderableSteps.length === 0 ? null : e;
1744
- }, yt = (n, t) => n.map((e) => ii(e, t)).filter((e) => e !== null), si = async (n, t, e = !1) => {
1745
+ }, yt = (n, t) => n.map((e) => si(e, t)).filter((e) => e !== null), oi = async (n, t, e = !1) => {
1745
1746
  var s;
1746
1747
  const A = yt(n, t), a = [];
1747
1748
  for (const o of A)
@@ -1841,25 +1842,7 @@ const $t = (n) => {
1841
1842
  if (n.defaultVariant !== void 0)
1842
1843
  return t.find((e) => e.id === n.defaultVariant);
1843
1844
  }
1844
- };
1845
- function oi(n) {
1846
- if (!/^data:/i.test(n))
1847
- throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');
1848
- n = n.replace(/\r?\n/g, "");
1849
- const t = n.indexOf(",");
1850
- if (t === -1 || t <= 4)
1851
- throw new TypeError("malformed data: URI");
1852
- const e = n.substring(5, t).split(";");
1853
- let A = "", a = !1;
1854
- const i = e[0] || "text/plain";
1855
- let s = i;
1856
- for (let l = 1; l < e.length; l++)
1857
- e[l] === "base64" ? a = !0 : e[l] && (s += `;${e[l]}`, e[l].indexOf("charset=") === 0 && (A = e[l].substring(8)));
1858
- !e[0] && !A.length && (s += ";charset=US-ASCII", A = "US-ASCII");
1859
- const o = a ? "base64" : "ascii", r = unescape(n.substring(t + 1)), c = Buffer.from(r, o);
1860
- return c.type = i, c.typeFull = s, c.charset = A, c;
1861
- }
1862
- const ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map(), ha = async (n, t) => {
1845
+ }, ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map(), ha = async (n, t) => {
1863
1846
  if (!t) {
1864
1847
  if (!n)
1865
1848
  throw new Error("No region or src supplied. Cannot construct frame!");
@@ -1936,7 +1919,7 @@ const ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), ke = /* @_
1936
1919
  if (ut.has(n))
1937
1920
  return ut.get(n);
1938
1921
  if (n.startsWith("data:image/svg+xml")) {
1939
- const A = oi(n), a = new TextDecoder().decode(A.buffer), i = wa(a), s = {
1922
+ const A = nn(n), a = new TextDecoder().decode(A.buffer), i = wa(a), s = {
1940
1923
  src: n,
1941
1924
  width: i.width,
1942
1925
  height: i.height,
@@ -4668,7 +4651,7 @@ const ut = /* @__PURE__ */ new Map(), Ut = /* @__PURE__ */ new Map(), ke = /* @_
4668
4651
  parseInt(n.substring(2, 4), 16),
4669
4652
  parseInt(n.substring(4, 6), 16)
4670
4653
  ]);
4671
- function ur(n) {
4654
+ function Er(n) {
4672
4655
  const t = jt.indexOf(n);
4673
4656
  return t >= 0 ? St[t] : "";
4674
4657
  }
@@ -4676,7 +4659,7 @@ function ci(n) {
4676
4659
  const t = St.indexOf(n);
4677
4660
  return t >= 0 ? jt[t] : "";
4678
4661
  }
4679
- function Er(n, t = 64) {
4662
+ function mr(n, t = 64) {
4680
4663
  const e = [], A = [], a = ci(n);
4681
4664
  a && e.push({
4682
4665
  pms: a,
@@ -4694,8 +4677,8 @@ function Er(n, t = 64) {
4694
4677
  A[g] <= t && !e.some((d) => d.pms === jt[g]) && e.push({ pms: jt[g], hex: St[g], distance: A[g] });
4695
4678
  return e.sort((g, d) => g.distance - d.distance);
4696
4679
  }
4697
- const li = jt.map((n, t) => ({ pms: n, hex: St[t] })), gi = new sn(li, { keys: ["pms"] });
4698
- function mr(n, t) {
4680
+ const li = jt.map((n, t) => ({ pms: n, hex: St[t] })), gi = new on(li, { keys: ["pms"] });
4681
+ function Qr(n, t) {
4699
4682
  return gi.search(n, t ? { limit: t } : void 0);
4700
4683
  }
4701
4684
  let Rt = null;
@@ -4770,7 +4753,7 @@ const ne = (n) => {
4770
4753
  }
4771
4754
  if (A.tagName === "style") {
4772
4755
  try {
4773
- (i = nn(A.innerHTML).stylesheet) == null || i.rules.forEach((c) => {
4756
+ (i = sn(A.innerHTML).stylesheet) == null || i.rules.forEach((c) => {
4774
4757
  e.push(c);
4775
4758
  }), A.remove();
4776
4759
  } catch (r) {
@@ -4841,16 +4824,16 @@ const ne = (n) => {
4841
4824
  }
4842
4825
  });
4843
4826
  });
4844
- }, fa = (n) => Se().serializeToString(n), hA = (n, t, e, A, a) => {
4827
+ }, Qa = (n) => Se().serializeToString(n), hA = (n, t, e, A, a) => {
4845
4828
  const i = Ea(n);
4846
4829
  if (!i)
4847
4830
  throw new Error("Failed to read SVG.");
4848
- return wi(i, t, e), ma(i, A, a), fa(i);
4849
- }, Qa = (n, t, e) => {
4831
+ return wi(i, t, e), ma(i, A, a), Qa(i);
4832
+ }, fa = (n, t, e) => {
4850
4833
  const A = Ea(n);
4851
4834
  if (!A)
4852
4835
  throw new Error("Failed to read SVG.");
4853
- return ma(A, t, e), fa(A);
4836
+ return ma(A, t, e), Qa(A);
4854
4837
  }, ui = (n) => {
4855
4838
  const t = /<svg.*<\/svg>/s, e = n.match(t) || [], A = (e == null ? void 0 : e.length) > 0 ? e[0] : "";
4856
4839
  return Bt().parseFromString(A, "image/svg+xml");
@@ -4896,15 +4879,15 @@ const ne = (n) => {
4896
4879
  viewBox: g,
4897
4880
  width: d
4898
4881
  }) => {
4899
- var Q;
4900
- const B = e || 0, h = 2 * ((r == null ? void 0 : r.scale) || 1), C = g || { x: 0, y: 0, width: d, height: i }, w = `${C.x} ${C.y} ${C.width} ${C.height}`, u = k(), E = A.purpose === Ot.FreeDesign && /* @__PURE__ */ v("defs", { children: /* @__PURE__ */ v("clipPath", { id: "viewboxClip", children: /* @__PURE__ */ v("rect", { width: C.width, height: C.height, rx: B }) }) }), I = (Q = A.colorProfiles) == null ? void 0 : Q.map((p, D) => (
4882
+ var p;
4883
+ const B = e || 0, h = 2 * ((r == null ? void 0 : r.scale) || 1), C = g || { x: 0, y: 0, width: d, height: i }, w = `${C.x} ${C.y} ${C.width} ${C.height}`, u = k(), E = A.purpose === Ot.FreeDesign && /* @__PURE__ */ v("defs", { children: /* @__PURE__ */ v("clipPath", { id: "viewboxClip", children: /* @__PURE__ */ v("rect", { width: C.width, height: C.height, rx: B }) }) }), m = (p = A.colorProfiles) == null ? void 0 : p.map((I, D) => (
4901
4884
  /* @ts-ignore */
4902
- /* @__PURE__ */ v("color-profile", { name: p.name, xlinkHref: p.key, children: " " }, D)
4903
- )), m = a.map((p) => ({
4904
- ...p,
4885
+ /* @__PURE__ */ v("color-profile", { name: I.name, xlinkHref: I.key, children: " " }, D)
4886
+ )), f = a.map((I) => ({
4887
+ ...I,
4905
4888
  _renderingConfiguration: A,
4906
4889
  mask: r ? `url(#viewmask-${u})` : void 0
4907
- })), f = EA(m);
4890
+ })), Q = EA(f);
4908
4891
  return /* @__PURE__ */ ot(
4909
4892
  "svg",
4910
4893
  {
@@ -4924,7 +4907,7 @@ const ne = (n) => {
4924
4907
  },
4925
4908
  viewBox: w,
4926
4909
  children: [
4927
- I,
4910
+ m,
4928
4911
  E,
4929
4912
  !!n && /* @__PURE__ */ v(
4930
4913
  "rect",
@@ -4941,7 +4924,7 @@ const ne = (n) => {
4941
4924
  {
4942
4925
  id: "element-group",
4943
4926
  clipPath: A.purpose === Ot.FreeDesign ? "url(#viewboxClip)" : void 0,
4944
- children: f.map((p) => Ma(p)).filter((p) => !!p)
4927
+ children: Q.map((I) => Ma(I)).filter((I) => !!I)
4945
4928
  }
4946
4929
  ),
4947
4930
  r && /* @__PURE__ */ v(
@@ -4983,32 +4966,32 @@ const ne = (n) => {
4983
4966
  }
4984
4967
  );
4985
4968
  }, fr = (n, t, e, A, a) => {
4986
- const i = dt(a), s = e / 2, o = A / 2, r = n + s, c = t + o, l = Math.sin(i), g = Math.cos(i), d = s, B = s, h = -o, C = o, w = d * g - h * l, u = B * g - C * l, E = d * l + h * g, I = B * l + C * g, m = Math.max(Math.abs(w), Math.abs(u)), f = Math.max(Math.abs(E), Math.abs(I));
4969
+ const i = dt(a), s = e / 2, o = A / 2, r = n + s, c = t + o, l = Math.sin(i), g = Math.cos(i), d = s, B = s, h = -o, C = o, w = d * g - h * l, u = B * g - C * l, E = d * l + h * g, m = B * l + C * g, f = Math.max(Math.abs(w), Math.abs(u)), Q = Math.max(Math.abs(E), Math.abs(m));
4987
4970
  return {
4988
- minX: r - m,
4989
- maxX: r + m,
4990
- minY: c - f,
4991
- maxY: c + f
4971
+ minX: r - f,
4972
+ maxX: r + f,
4973
+ minY: c - Q,
4974
+ maxY: c + Q
4992
4975
  };
4993
- }, Qr = (n, t, e) => {
4976
+ }, pr = (n, t, e) => {
4994
4977
  const A = Math.sqrt(Math.pow(t.x - n.x, 2) + Math.pow(t.y - n.y, 2)), a = Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)), i = Math.sqrt(Math.pow(e.x - n.x, 2) + Math.pow(e.y - n.y, 2));
4995
4978
  return Math.acos((a * a + A * A - i * i) / (2 * a * A)) * (180 / Math.PI);
4996
- }, dt = (n) => n * (Math.PI / 180), pr = (n, t, e) => Math.abs(n - t) < e, Ir = (n, t, e) => {
4979
+ }, dt = (n) => n * (Math.PI / 180), Ir = (n, t, e) => Math.abs(n - t) < e, Dr = (n, t, e) => {
4997
4980
  const A = Math.sin(dt(e)), a = Math.cos(dt(e));
4998
4981
  return {
4999
4982
  x: (n.x - t.x) * a - (n.y - t.y) * A + t.x,
5000
4983
  y: (n.x - t.x) * A + (n.y - t.y) * a + t.y
5001
4984
  };
5002
- }, Dr = (n, t) => ({
4985
+ }, Fr = (n, t) => ({
5003
4986
  x: (n.x + t.x) / 2,
5004
4987
  y: (n.y + t.y) / 2
5005
- }), Fr = (n, t, e, A) => ({
4988
+ }), yr = (n, t, e, A) => ({
5006
4989
  x: n.x + (t == null ? void 0 : t.x) * e,
5007
4990
  y: n.y + (t == null ? void 0 : t.y) * A
5008
- }), yr = (n, t, e, A) => ({
4991
+ }), Mr = (n, t, e, A) => ({
5009
4992
  x: n.x + ((t == null ? void 0 : t.x) + (t == null ? void 0 : t.width)) * e,
5010
4993
  y: n.y + (t == null ? void 0 : t.y) * A
5011
- }), Mr = (n, t, e, A) => ({
4994
+ }), Sr = (n, t, e, A) => ({
5012
4995
  x: n.x + ((t == null ? void 0 : t.x) + (t == null ? void 0 : t.width)) * e,
5013
4996
  y: n.y + ((t == null ? void 0 : t.y) + (t == null ? void 0 : t.height)) * A
5014
4997
  }), It = (n) => {
@@ -5030,7 +5013,7 @@ const ne = (n) => {
5030
5013
  case W.Southwest:
5031
5014
  return W.Northwest;
5032
5015
  }
5033
- }, Sr = (n, t) => t > 45 && t <= 135 ? It(n) : t > 135 && t <= 225 ? It(It(n)) : t > 225 && t <= 315 ? It(It(It(n))) : n, xr = (n, t = { x: 0, y: 0 }, e = { x: 1, y: 1 }) => {
5016
+ }, xr = (n, t) => t > 45 && t <= 135 ? It(n) : t > 135 && t <= 225 ? It(It(n)) : t > 225 && t <= 315 ? It(It(It(n))) : n, Yr = (n, t = { x: 0, y: 0 }, e = { x: 1, y: 1 }) => {
5034
5017
  const A = dt(n.rotation), a = {
5035
5018
  x: t.x + n.x * e.x,
5036
5019
  y: t.x + n.y * e.y
@@ -5060,7 +5043,7 @@ const ne = (n) => {
5060
5043
  x: (n.x - t.x) * a - (n.y - t.y) * A + t.x,
5061
5044
  y: (n.x - t.x) * A + (n.y - t.y) * a + t.y
5062
5045
  };
5063
- }, Yr = 0.352778, Pr = 0.035277, pa = (n) => {
5046
+ }, Pr = 0.352778, vr = 0.035277, pa = (n) => {
5064
5047
  const t = n.rotation || 0, e = dt(t), A = Math.cos(e), a = -Math.sin(e);
5065
5048
  return /* @__PURE__ */ v("g", { mask: n.stepName || n.productOverlay ? void 0 : n.mask, children: /* @__PURE__ */ v(
5066
5049
  "g",
@@ -5119,7 +5102,7 @@ const ne = (n) => {
5119
5102
  if (!n.pattern)
5120
5103
  return "";
5121
5104
  if (n.pattern.svg) {
5122
- const g = Qa(n.pattern.svg, n.pattern.colors || {}, !1);
5105
+ const g = fa(n.pattern.svg, n.pattern.colors || {}, !1);
5123
5106
  return _A(g);
5124
5107
  }
5125
5108
  return n.pattern.src;
@@ -5146,8 +5129,8 @@ const ne = (n) => {
5146
5129
  /* @__PURE__ */ v("feFuncB", { type: "discrete", tableValues: a() })
5147
5130
  ] })
5148
5131
  ] }) }) }), s = n.rotation || 0, o = dt(s), r = Math.cos(o), c = -Math.sin(o), l = () => {
5149
- var I, m, f, Q, p, D, y, x, N, S;
5150
- const g = ((I = n.pattern) == null ? void 0 : I.x) || 0, d = ((m = n.pattern) == null ? void 0 : m.y) || 0, B = ((f = n.pattern) == null ? void 0 : f.width) || 0, h = ((Q = n.pattern) == null ? void 0 : Q.height) || 0, C = ((p = n.pattern) == null ? void 0 : p.scaleX) || 1, w = ((D = n.pattern) == null ? void 0 : D.scaleY) || 1, u = ((y = n.pattern) == null ? void 0 : y.rotation) || 0;
5132
+ var m, f, Q, p, I, D, y, x, N, S;
5133
+ const g = ((m = n.pattern) == null ? void 0 : m.x) || 0, d = ((f = n.pattern) == null ? void 0 : f.y) || 0, B = ((Q = n.pattern) == null ? void 0 : Q.width) || 0, h = ((p = n.pattern) == null ? void 0 : p.height) || 0, C = ((I = n.pattern) == null ? void 0 : I.scaleX) || 1, w = ((D = n.pattern) == null ? void 0 : D.scaleY) || 1, u = ((y = n.pattern) == null ? void 0 : y.rotation) || 0;
5151
5134
  return [(x = n.pattern) != null && x.svg ? {
5152
5135
  id: `${t}-contents`,
5153
5136
  type: R.Illustration,
@@ -5207,7 +5190,7 @@ const ne = (n) => {
5207
5190
  )
5208
5191
  ] });
5209
5192
  }, Da = /* @__PURE__ */ new Map();
5210
- class fi {
5193
+ class Qi {
5211
5194
  constructor(t) {
5212
5195
  this.font = t, this.glyphsFromText = /* @__PURE__ */ new Map(), this.kerningValues = /* @__PURE__ */ new Map(), this.height = this.calculateApproximateHeight();
5213
5196
  }
@@ -5257,19 +5240,19 @@ class fi {
5257
5240
  }), A - a;
5258
5241
  }
5259
5242
  }
5260
- const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @__PURE__ */ new Map(), _t = async (n) => {
5243
+ const fi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @__PURE__ */ new Map(), _t = async (n) => {
5261
5244
  if (be.has(n))
5262
5245
  return be.get(n);
5263
5246
  const e = (async () => {
5264
5247
  try {
5265
- return ft(n).getFont();
5248
+ return Qt(n).getFont();
5266
5249
  } catch {
5267
- if (Qi(n)) {
5250
+ if (fi(n)) {
5268
5251
  const A = ta(n), a = Ve.parse(A);
5269
5252
  return AA(n, a), a;
5270
5253
  } else {
5271
5254
  const A = await Me(n, !0), a = Ve.parse(A);
5272
- return AA(n, a), await mn(a, n), a;
5255
+ return AA(n, a), await Qn(a, n), a;
5273
5256
  }
5274
5257
  }
5275
5258
  })();
@@ -5277,13 +5260,13 @@ const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
5277
5260
  }, CA = (n) => {
5278
5261
  const t = ta(n), e = Ve.parse(t);
5279
5262
  return AA(n, e), e;
5280
- }, ft = (n) => {
5263
+ }, Qt = (n) => {
5281
5264
  const t = Da.get(n);
5282
5265
  if (t)
5283
5266
  return t;
5284
5267
  throw new Error("Font metrics unavailable for font");
5285
5268
  }, AA = (n, t) => {
5286
- const e = new fi(t);
5269
+ const e = new Qi(t);
5287
5270
  return Da.set(n, e), e;
5288
5271
  }, me = (n, t, e, A) => Math.max(Fi(n.join(`
5289
5272
  `), e, A), t), bA = (n, t, e, A, a, i) => {
@@ -5342,7 +5325,7 @@ const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
5342
5325
  return Math.min(g, l);
5343
5326
  }, Ii = (n, t, e, A) => {
5344
5327
  var c;
5345
- const a = ft(t.fontData.assetUrl), i = a.getFont(), s = t.fontSize / i.unitsPerEm;
5328
+ const a = Qt(t.fontData.assetUrl), i = a.getFont(), s = t.fontSize / i.unitsPerEm;
5346
5329
  if (!e)
5347
5330
  return bA(t, n, t.fontSize, s, a, A);
5348
5331
  let o;
@@ -5363,9 +5346,9 @@ const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
5363
5346
  fontSize: pi(o, a, i, t.width, t.height, A)
5364
5347
  } : bA(t, n, t.fontSize, s, a, A);
5365
5348
  }, Di = (n, t, e, A, a) => {
5366
- const s = ft(t.assetUrl).getFont();
5349
+ const s = Qt(t.assetUrl).getFont();
5367
5350
  let o = { ...n };
5368
- const r = { ...n }, c = Fa(A, e / s.unitsPerEm, ft(t.assetUrl));
5351
+ const r = { ...n }, c = Fa(A, e / s.unitsPerEm, Qt(t.assetUrl));
5369
5352
  return c && c < o.width && (r.width = c, a === "left" ? (r.left += Math.sin(o.rotation * Math.PI / 360) * (o.width - c), r.top += Math.sin(o.rotation * Math.PI / 180) * (c - o.width) / 2) : a === "right" ? r.left += o.width - c : r.left += (o.width - c) / 2, A && yi(A, A).every(([l, g]) => l === g) && (o = r)), o;
5370
5353
  }, Ue = 1, ct = (n, t, e) => {
5371
5354
  let A = 0;
@@ -5394,7 +5377,7 @@ const Qi = (n) => n.substring(0, 5).toLowerCase().trim() === "data:", be = /* @_
5394
5377
  stripControlCharacters: !0,
5395
5378
  vertical: !1,
5396
5379
  uppercase: !1
5397
- }, fe = (n, t = UA) => {
5380
+ }, Qe = (n, t = UA) => {
5398
5381
  const e = { ...UA, ...t };
5399
5382
  let A = n || "";
5400
5383
  return e.stripControlCharacters && (A = A.replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, "")), e.uppercase && (A = A.toUpperCase()), e.vertical && (A = A.split("").join(`
@@ -5780,7 +5763,7 @@ class GA extends T {
5780
5763
  };
5781
5764
  }
5782
5765
  }
5783
- class vr extends T {
5766
+ class Nr extends T {
5784
5767
  constructor(t, e, A) {
5785
5768
  super(), this.id = t, this.x = e, this.y = A;
5786
5769
  }
@@ -5803,7 +5786,7 @@ class vr extends T {
5803
5786
  };
5804
5787
  }
5805
5788
  }
5806
- class Nr extends T {
5789
+ class Rr extends T {
5807
5790
  constructor(t, e) {
5808
5791
  super(), this.id = t, this.angle = e;
5809
5792
  }
@@ -5825,7 +5808,7 @@ class Nr extends T {
5825
5808
  };
5826
5809
  }
5827
5810
  }
5828
- class Rr extends T {
5811
+ class kr extends T {
5829
5812
  constructor(t, e, A) {
5830
5813
  super(), this.id = t, this.width = Math.abs(e), this.height = Math.abs(A);
5831
5814
  }
@@ -5942,7 +5925,7 @@ class V extends T {
5942
5925
  return A !== void 0 ? A + 1 : 0;
5943
5926
  }
5944
5927
  }
5945
- class Qt extends T {
5928
+ class ft extends T {
5946
5929
  constructor(t) {
5947
5930
  super(), this.id = t;
5948
5931
  }
@@ -6137,7 +6120,7 @@ class bi extends T {
6137
6120
  };
6138
6121
  }
6139
6122
  }
6140
- class kr extends T {
6123
+ class Hr extends T {
6141
6124
  constructor(t, e) {
6142
6125
  super(), this.id = t, this.src = e;
6143
6126
  }
@@ -6228,7 +6211,7 @@ class Gi extends T {
6228
6211
  };
6229
6212
  }
6230
6213
  }
6231
- class Hr extends T {
6214
+ class br extends T {
6232
6215
  /**
6233
6216
  * @param id The targeted element to bring to the front.
6234
6217
  */
@@ -6257,7 +6240,7 @@ class Hr extends T {
6257
6240
  };
6258
6241
  }
6259
6242
  }
6260
- class br extends T {
6243
+ class Ur extends T {
6261
6244
  /**
6262
6245
  * @param id The targeted element to bring to the back.
6263
6246
  */
@@ -6288,7 +6271,7 @@ class br extends T {
6288
6271
  };
6289
6272
  }
6290
6273
  }
6291
- class Ur extends T {
6274
+ class Gr extends T {
6292
6275
  /**
6293
6276
  * @param id The targeted element to bring to the front.
6294
6277
  */
@@ -6315,7 +6298,7 @@ class Ur extends T {
6315
6298
  };
6316
6299
  }
6317
6300
  }
6318
- class Gr extends T {
6301
+ class Jr extends T {
6319
6302
  /**
6320
6303
  * @param id The targeted element to bring to the front.
6321
6304
  */
@@ -6357,8 +6340,8 @@ function se(n, t, e) {
6357
6340
  return Math.min(Math.max(n, t), e);
6358
6341
  }
6359
6342
  class Ti {
6360
- constructor(t) {
6361
- this.minZoomScale = [0.03], this.maxZoomScale = [20], this._debouncedUpdateFrameOffsets = KA(this.updateFrameOffsets, 200), this.targetElements = [], this.onFrameDataChangeListeners = [], this.onZoomChangeListeners = [], this.forceImageCover = t, this.thresholdSettings = {
6343
+ constructor(t, e) {
6344
+ this.minZoomScale = [0.03], this.maxZoomScale = [20], this._debouncedUpdateFrameOffsets = KA(this.updateFrameOffsets, 200), this.targetElements = [], this.onFrameDataChangeListeners = [], this.onZoomChangeListeners = [], this.forceImageCover = t, this.initialZoom = e, this.thresholdSettings = {
6362
6345
  useThreshold: !1,
6363
6346
  invertThreshold: !1,
6364
6347
  threshold: 128,
@@ -6431,7 +6414,7 @@ class Ti {
6431
6414
  getImageSrc() {
6432
6415
  if (this.imageData) {
6433
6416
  if (this.imageData.svg) {
6434
- const t = Qa(this.imageData.svg, this.imageData.colors || {}, !1);
6417
+ const t = fa(this.imageData.svg, this.imageData.colors || {}, !1);
6435
6418
  return _A(t);
6436
6419
  }
6437
6420
  return this.imageData.src;
@@ -6569,7 +6552,12 @@ class Ti {
6569
6552
  }
6570
6553
  recalculateOffsets(t) {
6571
6554
  this.frameData && ((!this.offsets || this.offsets.length !== this.frameData.length) && (this.offsets = new Array(this.frameData.length)), this.frameData.forEach((e, A) => {
6572
- this.offsets[A] = dA(t, e, void 0, this.forceImageCover);
6555
+ this.offsets[A] = dA(
6556
+ t,
6557
+ e,
6558
+ this.initialZoom && !this.forceImageCover ? { scale: this.initialZoom } : void 0,
6559
+ this.forceImageCover
6560
+ );
6573
6561
  }), this._debouncedUpdateFrameOffsets(this.offsets, t, this.frameData, this.thresholdSettings));
6574
6562
  }
6575
6563
  }
@@ -6642,12 +6630,12 @@ const kt = (n, t) => {
6642
6630
  }
6643
6631
  if (e && t === R.Textbox && (A != null && A.text) && (A != null && A.fontScale)) {
6644
6632
  await _t(e);
6645
- const r = ft(e), c = ct(A.text, A == null ? void 0 : A.fontScale, r);
6633
+ const r = Qt(e), c = ct(A.text, A == null ? void 0 : A.fontScale, r);
6646
6634
  o.width = Math.min(c, a.width * 0.85), o.left = a.x + a.width / 2 - o.width / 2;
6647
6635
  }
6648
6636
  return o;
6649
6637
  };
6650
- class Jr {
6638
+ class Tr {
6651
6639
  static async getFrame(t, e) {
6652
6640
  const A = await ha(e.region, e.src), a = await Ye(A), i = e.region || await Ht(t, R.Frame);
6653
6641
  return {
@@ -6696,7 +6684,7 @@ class Jr {
6696
6684
  const { configuration: A, fontSrc: a, designInputStep: i } = e, s = await _t(a), o = {
6697
6685
  assetUrl: a,
6698
6686
  name: s.names.fullName.en
6699
- }, r = (i == null ? void 0 : i.text) || A.defaultText || "", c = A.replaceableText ? A.replaceableText.replace("{{}}", r) : r, l = fe(c, {
6687
+ }, r = (i == null ? void 0 : i.text) || A.defaultText || "", c = A.replaceableText ? A.replaceableText.replace("{{}}", r) : r, l = Qe(c, {
6700
6688
  vertical: A.vertical,
6701
6689
  uppercase: A.uppercase
6702
6690
  }), g = e.region || await Ht(t, R.Textbox, a, {
@@ -6983,7 +6971,7 @@ class Li {
6983
6971
  40
6984
6972
  );
6985
6973
  });
6986
- t.forEach((B) => A.getCommandDispatcher()(new Qt(B.id)));
6974
+ t.forEach((B) => A.getCommandDispatcher()(new ft(B.id)));
6987
6975
  const o = a.data.baseUrl.slice(0, 4) === "http" ? "" : "https://", r = new URL(o + a.data.baseUrl);
6988
6976
  r.searchParams.append("video", btoa(JSON.stringify([s]))), r.pathname = r.pathname + (r.pathname.slice(-1) === "/" ? "" : "/");
6989
6977
  const c = r.toString();
@@ -7098,18 +7086,18 @@ class zi {
7098
7086
  frameOffsetsList: B,
7099
7087
  framePatternSrc: d
7100
7088
  }), d) {
7101
- const I = (u = e.getStepSpecificServices(t.stepName)) == null ? void 0 : u.frameService;
7102
- if (!I)
7089
+ const m = (u = e.getStepSpecificServices(t.stepName)) == null ? void 0 : u.frameService;
7090
+ if (!m)
7103
7091
  throw new Error("Frame service unavailable, cannot load pattern!");
7104
- await this.loadPatternFromString(d, I, !0, g), e.updateMetadata(t.stepName, { image: d }), e.updateStorage(t.stepName, {
7092
+ await this.loadPatternFromString(d, m, !0, g), e.updateMetadata(t.stepName, { image: d }), e.updateStorage(t.stepName, {
7105
7093
  framePatternSrc: d
7106
7094
  }), this.validateColorCount(t, e);
7107
7095
  }
7108
- if (B != null && B.some((I) => I.zoom)) {
7109
- const I = (E = e.getStepSpecificServices(t.stepName)) == null ? void 0 : E.frameService;
7110
- if (!I)
7096
+ if (B != null && B.some((m) => m.zoom)) {
7097
+ const m = (E = e.getStepSpecificServices(t.stepName)) == null ? void 0 : E.frameService;
7098
+ if (!m)
7111
7099
  throw new Error("Frame service unavailable, cannot load pattern!");
7112
- I.updateOffsets(B);
7100
+ m.updateOffsets(B);
7113
7101
  }
7114
7102
  e.setMandatoryFulfilled(t.stepName, !0);
7115
7103
  };
@@ -7312,60 +7300,65 @@ class zi {
7312
7300
  );
7313
7301
  }
7314
7302
  async selectVariantCommand(t, e, A, a, i, s) {
7315
- var d;
7316
- const o = (d = a.getStepSpecificServices(t.stepName)) == null ? void 0 : d.frameService;
7303
+ var B;
7304
+ const o = (B = a.getStepSpecificServices(t.stepName)) == null ? void 0 : B.frameService;
7317
7305
  if (!o)
7318
7306
  throw new Error("Frame service unavailable, cannot load pattern!");
7319
7307
  const r = await Promise.all(
7320
- t.data.regions.map((B) => this.frameSourceSvg(e, B))
7308
+ t.data.regions.map((h) => this.frameSourceSvg(e, h))
7321
7309
  );
7322
7310
  i && i(!0);
7323
- const c = await Promise.all(
7324
- t.data.regions.map(async (B, h) => {
7325
- const C = await Ye(r[h]), w = o.getImageData(), u = A.map((p) => new Qt(p.id)), E = w ? dA(w, C, void 0, t.data.forceImageCover) : void 0, I = w ? {
7311
+ const c = t.data.initialZoomLevel, l = await Promise.all(
7312
+ t.data.regions.map(async (h, C) => {
7313
+ const w = await Ye(r[C]), u = o.getImageData(), E = A.map((D) => new ft(D.id)), m = u ? dA(
7314
+ u,
7315
+ w,
7316
+ c && !t.data.forceImageCover ? { scale: c } : void 0,
7317
+ t.data.forceImageCover
7318
+ ) : void 0, f = u ? {
7326
7319
  id: k(),
7327
- src: w.src,
7328
- x: (E == null ? void 0 : E.x) || 0,
7329
- y: (E == null ? void 0 : E.y) || 0,
7330
- width: w.width,
7331
- height: w.height,
7332
- scaleX: (E == null ? void 0 : E.zoom) || 1,
7333
- scaleY: (E == null ? void 0 : E.zoom) || 1,
7320
+ src: u.src,
7321
+ x: (m == null ? void 0 : m.x) || 0,
7322
+ y: (m == null ? void 0 : m.y) || 0,
7323
+ width: u.width,
7324
+ height: u.height,
7325
+ scaleX: (m == null ? void 0 : m.zoom) || 1,
7326
+ scaleY: (m == null ? void 0 : m.zoom) || 1,
7334
7327
  rotation: 0
7335
- } : void 0, m = k(), Q = a.getLayouts().find((p) => p.panelId === B.panelId);
7336
- if (!Q)
7337
- throw new X(B);
7328
+ } : void 0, Q = k(), I = a.getLayouts().find((D) => D.panelId === h.panelId);
7329
+ if (!I)
7330
+ throw new X(h);
7338
7331
  return {
7339
- command: this.getCreateElementCommand(m, B, Q, {
7340
- frameData: C,
7341
- pattern: I,
7332
+ command: this.getCreateElementCommand(Q, h, I, {
7333
+ frameData: w,
7334
+ pattern: f,
7342
7335
  disablePlaceholder: t.data.disablePlaceholder,
7343
7336
  stepName: t.stepName
7344
7337
  }),
7345
7338
  regionEl: {
7346
- id: m,
7347
- region: B
7339
+ id: Q,
7340
+ region: h
7348
7341
  },
7349
- removeExistingCommands: u
7342
+ removeExistingCommands: E
7350
7343
  };
7351
7344
  })
7352
- ), l = c.map((B) => B.command), g = c.map((B) => B.removeExistingCommands).flat();
7345
+ ), g = l.map((h) => h.command), d = l.map((h) => h.removeExistingCommands).flat();
7353
7346
  return {
7354
- command: new G([...l, ...g]),
7347
+ command: new G([...g, ...d]),
7355
7348
  followup: async () => {
7356
7349
  i && i(!1), await a.setSelectionsAndElements(
7357
7350
  t.stepName,
7358
7351
  e ? [e] : [],
7359
- [...c.map((B) => B.regionEl)],
7352
+ [...l.map((h) => h.regionEl)],
7360
7353
  async () => {
7361
- var B;
7354
+ var h;
7362
7355
  if (a.updateStorage(t.stepName, { currentFrameSources: r }), s) {
7363
- const h = (B = a.getStepSpecificServices(
7356
+ const C = (h = a.getStepSpecificServices(
7364
7357
  t.stepName
7365
- )) == null ? void 0 : B.frameService;
7366
- if (!h)
7358
+ )) == null ? void 0 : h.frameService;
7359
+ if (!C)
7367
7360
  throw new Error("Frame service unavailable, cannot load pattern!");
7368
- await this.loadPatternFromString(s, h, !0);
7361
+ await this.loadPatternFromString(s, C, !0);
7369
7362
  }
7370
7363
  }
7371
7364
  );
@@ -7571,7 +7564,7 @@ class ji {
7571
7564
  if (!t.data || !t.data.regions)
7572
7565
  throw new Ee(t, "Missing regions.");
7573
7566
  a(!0);
7574
- const s = A.map((E) => new Qt(E.id));
7567
+ const s = A.map((E) => new ft(E.id));
7575
7568
  t.mandatory && i.setMandatoryFulfilled(t.stepName, !1);
7576
7569
  const o = e.asset;
7577
7570
  if (!o)
@@ -7580,13 +7573,13 @@ class ji {
7580
7573
  if (!r)
7581
7574
  throw new Lt(o);
7582
7575
  const c = await gt(await this.getIllustrationBody(r)), l = await Kt(c.svg), g = (E) => {
7583
- const I = i.getLayouts().find((f) => f.panelId === E.panelId);
7584
- if (!I)
7576
+ const m = i.getLayouts().find((Q) => Q.panelId === E.panelId);
7577
+ if (!m)
7585
7578
  throw new X(E);
7586
- const m = k();
7579
+ const f = k();
7587
7580
  return {
7588
- regionElement: { id: m, region: E },
7589
- command: this.getCreateElementCommand(m, E, I, {
7581
+ regionElement: { id: f, region: E },
7582
+ command: this.getCreateElementCommand(f, E, m, {
7590
7583
  stepName: t.stepName,
7591
7584
  src: r,
7592
7585
  objectURL: l,
@@ -7597,9 +7590,9 @@ class ji {
7597
7590
  let C = Array.from(Object.values(c.colors)).map((E) => E.browserValue);
7598
7591
  const w = t.data.colorOption;
7599
7592
  return w && ((u = w.variants) == null || u.forEach((E) => {
7600
- C = C.map((I) => {
7601
- var m;
7602
- return I.toLowerCase() === ((m = E.color) == null ? void 0 : m.toLowerCase()) ? E.name : I;
7593
+ C = C.map((m) => {
7594
+ var f;
7595
+ return m.toLowerCase() === ((f = E.color) == null ? void 0 : f.toLowerCase()) ? E.name : m;
7603
7596
  });
7604
7597
  })), i.updateMetadata(t.stepName, { colors: C }), {
7605
7598
  command: new G(h),
@@ -7607,25 +7600,25 @@ class ji {
7607
7600
  await i.setSelectionsAndElements(
7608
7601
  t.stepName,
7609
7602
  [e],
7610
- d.map((m) => m.regionElement),
7603
+ d.map((f) => f.regionElement),
7611
7604
  async () => {
7612
7605
  i.setMandatoryFulfilled(t.stepName, !0), a(!1);
7613
7606
  }
7614
7607
  );
7615
- const E = await this.availableColors(t, i) || [], I = Object.keys(c.colors);
7616
- if (t.data.colorPickerEnabled && E.length === 1 && I.length === 1) {
7617
- const m = E[0], f = I[0];
7608
+ const E = await this.availableColors(t, i) || [], m = Object.keys(c.colors);
7609
+ if (t.data.colorPickerEnabled && E.length === 1 && m.length === 1) {
7610
+ const f = E[0], Q = m[0];
7618
7611
  await this.changeColors(
7619
7612
  t,
7620
- d.map((Q) => Q.regionElement),
7613
+ d.map((p) => p.regionElement),
7621
7614
  i,
7622
7615
  () => i.getCommandContext().getAllLayouts(),
7623
- /* @__PURE__ */ new Map([[f, m.variant.color]])
7616
+ /* @__PURE__ */ new Map([[Q, f.variant.color]])
7624
7617
  );
7625
7618
  } else
7626
7619
  t.data.colorPickerEnabled && await this.changeColors(
7627
7620
  t,
7628
- d.map((m) => m.regionElement),
7621
+ d.map((f) => f.regionElement),
7629
7622
  i,
7630
7623
  () => i.getCommandContext().getAllLayouts(),
7631
7624
  /* @__PURE__ */ new Map()
@@ -7838,7 +7831,7 @@ class Wi {
7838
7831
  if (!w)
7839
7832
  return console.error(`Can not find layout for region: ${d.panelId}`), null;
7840
7833
  const u = [];
7841
- return B && u.push(new Qt(h)), u.push(
7834
+ return B && u.push(new ft(h)), u.push(
7842
7835
  new V(
7843
7836
  {
7844
7837
  stepRegion: d,
@@ -7960,7 +7953,7 @@ class Xi {
7960
7953
  if (!s)
7961
7954
  return console.error("No URL for picture!"), null;
7962
7955
  a(!0), t.mandatory && A.setMandatoryFulfilled(t.stepName, !1);
7963
- const r = A.getRegionElements(t.stepName).map((g) => new Qt(g.id)), c = (g) => {
7956
+ const r = A.getRegionElements(t.stepName).map((g) => new ft(g.id)), c = (g) => {
7964
7957
  const B = A.getLayouts().find((C) => C.panelId === g.panelId);
7965
7958
  if (!B)
7966
7959
  throw new X(g);
@@ -8168,7 +8161,7 @@ class Zi {
8168
8161
  };
8169
8162
  } else {
8170
8163
  const c = (B) => {
8171
- const h = i.find((I) => I.panelId === B.panelId);
8164
+ const h = i.find((m) => m.panelId === B.panelId);
8172
8165
  if (!h)
8173
8166
  throw new X(B);
8174
8167
  const C = o(), w = `
@@ -8274,11 +8267,11 @@ const _i = new $i(), Te = (n, t, e, A, a) => {
8274
8267
  const g = Math.max(...o);
8275
8268
  if (g <= n.width)
8276
8269
  return [i, g];
8277
- const d = o.reduce((w, u, E, I) => u > I[w] ? E : w, 0), B = i[d];
8270
+ const d = o.reduce((w, u, E, m) => u > m[w] ? E : w, 0), B = i[d];
8278
8271
  let h = !1, C = B.length;
8279
8272
  for (; !h && C > -1; ) {
8280
8273
  C = B.lastIndexOf(" ", C - 1);
8281
- const w = [B.slice(0, C), B.slice(C + 1)], u = w.map((I) => ct(I, A, a));
8274
+ const w = [B.slice(0, C), B.slice(C + 1)], u = w.map((m) => ct(m, A, a));
8282
8275
  u[0] <= n.width && (i = [...i.slice(0, d), ...w, ...i.slice(d + 1)], o = [
8283
8276
  ...o.slice(0, d),
8284
8277
  ...u,
@@ -8290,7 +8283,7 @@ const _i = new $i(), Te = (n, t, e, A, a) => {
8290
8283
  return [null, null];
8291
8284
  }, he = (n, t, e, A, a) => {
8292
8285
  let i, s;
8293
- const o = ft(t.assetUrl), r = o.getFont();
8286
+ const o = Qt(t.assetUrl), r = o.getFont();
8294
8287
  if (a.size) {
8295
8288
  const d = n / r.unitsPerEm;
8296
8289
  return [i, s] = Te(e, A, n, d, o), [a.size, i, s];
@@ -8306,9 +8299,9 @@ const _i = new $i(), Te = (n, t, e, A, a) => {
8306
8299
  const g = l / r.unitsPerEm;
8307
8300
  return [i, s] = Te(e, A, l, g, o), [l, i, s];
8308
8301
  }, Oe = 30;
8309
- class Qe extends Error {
8302
+ class fe extends Error {
8310
8303
  constructor(t) {
8311
- super(t), Object.setPrototypeOf(this, new.target.prototype), this.name = Qe.name;
8304
+ super(t), Object.setPrototypeOf(this, new.target.prototype), this.name = fe.name;
8312
8305
  }
8313
8306
  }
8314
8307
  const ts = ["‘", "’", "“", "”", `
@@ -8325,7 +8318,7 @@ class es {
8325
8318
  /(\r\n|\r|(\u2665|\u00a9|\u00ae|[\u2000-\u2017]|[\u201E-\u3300]]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]))/gm,
8326
8319
  ""
8327
8320
  );
8328
- const a = [], i = e ? ft(e.assetUrl) : void 0;
8321
+ const a = [], i = e ? Qt(e.assetUrl) : void 0;
8329
8322
  if (i) {
8330
8323
  const s = A.split("").filter((r) => !ts.includes(r)).join(""), o = s.split("").map((r) => i.getFont().charToGlyph(r));
8331
8324
  for (let r = 0; r < o.length; r++)
@@ -8484,7 +8477,7 @@ class es {
8484
8477
  }
8485
8478
  getProcessedInput(t, e, A) {
8486
8479
  const a = A ? t : this.injectReplaceableText(t, e);
8487
- return fe(a, {
8480
+ return Qe(a, {
8488
8481
  vertical: e.vertical,
8489
8482
  uppercase: e.uppercase
8490
8483
  });
@@ -8553,15 +8546,15 @@ class es {
8553
8546
  if (r && d) {
8554
8547
  const B = (c = r.variants) == null ? void 0 : c.find((h) => h.id === d);
8555
8548
  if (B) {
8556
- const h = await this.fontDataFromVariant(B), C = o.map((I) => ({ id: I.id, region: I.stepRegion })), w = (l = a.storage) == null ? void 0 : l.color, u = (g = a.storage) == null ? void 0 : g.text;
8549
+ const h = await this.fontDataFromVariant(B), C = o.map((m) => ({ id: m.id, region: m.stepRegion })), w = (l = a.storage) == null ? void 0 : l.color, u = (g = a.storage) == null ? void 0 : g.text;
8557
8550
  await e.setSelectionsAndElements(
8558
8551
  t.stepName,
8559
8552
  [B],
8560
8553
  C,
8561
8554
  async () => {
8562
8555
  e.updateMetadata(t.stepName, { color: w, text: u }), e.updateStorage(t.stepName, { text: u, inputText: u });
8563
- const I = o.map((f) => new JA(f.id, h)), m = new G(I);
8564
- e.getCommandDispatcher()(m);
8556
+ const m = o.map((Q) => new JA(Q.id, h)), f = new G(m);
8557
+ e.getCommandDispatcher()(f);
8565
8558
  }
8566
8559
  );
8567
8560
  const { command: E } = $.updateInputText(
@@ -8692,11 +8685,11 @@ class es {
8692
8685
  colorProfileAssetKey: (C = w.colorProfile) == null ? void 0 : C.key
8693
8686
  });
8694
8687
  }
8695
- const E = await this.getDefaultColor(A), I = E || "#000000", m = {
8688
+ const E = await this.getDefaultColor(A), m = E || "#000000", f = {
8696
8689
  stepRegion: g,
8697
8690
  stepName: t,
8698
8691
  align: this.textAlign(A),
8699
- fill: i.color ? i.color : I,
8692
+ fill: i.color ? i.color : m,
8700
8693
  fontSize: A.size || Oe,
8701
8694
  fontData: a,
8702
8695
  id: h,
@@ -8716,41 +8709,41 @@ class es {
8716
8709
  curved: A.curved,
8717
8710
  paths: A.paths,
8718
8711
  fillSpotColorDefinition: u
8719
- }, f = [], Q = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map();
8720
- if (!m.fontData)
8712
+ }, Q = [], p = /* @__PURE__ */ new Map(), I = /* @__PURE__ */ new Map();
8713
+ if (!f.fontData)
8721
8714
  throw new O("Failed to resolve font data for text.");
8722
8715
  const [D, y] = he(
8723
- m.fontSize,
8724
- m.fontData,
8716
+ f.fontSize,
8717
+ f.fontData,
8725
8718
  {
8726
- left: m.x,
8727
- top: m.y,
8728
- width: m.width,
8729
- height: m.height,
8730
- rotation: m.rotation,
8719
+ left: f.x,
8720
+ top: f.y,
8721
+ width: f.width,
8722
+ height: f.height,
8723
+ rotation: f.rotation,
8731
8724
  panelId: ""
8732
8725
  },
8733
8726
  [r],
8734
8727
  { size: A.size, minSize: A.minSize, maxSize: A.maxSize }
8735
8728
  );
8736
- Q.set(m.id, D), p.set(m.id, y);
8729
+ p.set(f.id, D), I.set(f.id, y);
8737
8730
  const x = A.curved || A.vertical ? r : (y || []).join(`
8738
8731
  `);
8739
- f.push(
8740
- this.generateTextChangeCommandsForRegion(D, A, m.id, x)
8732
+ Q.push(
8733
+ this.generateTextChangeCommandsForRegion(D, A, f.id, x)
8741
8734
  );
8742
- const N = new V(m, B);
8735
+ const N = new V(f, B);
8743
8736
  return {
8744
8737
  regionElement: { id: h, region: g },
8745
- commands: [N, ...f],
8746
- newElement: m,
8738
+ commands: [N, ...Q],
8739
+ newElement: f,
8747
8740
  fontData: a
8748
8741
  };
8749
8742
  } catch (w) {
8750
- throw console.log(w), new Qe("Error adding font to region");
8743
+ throw console.log(w), new fe("Error adding font to region");
8751
8744
  }
8752
8745
  }, l = await Promise.all(A.regions.map(c)).catch((g) => {
8753
- throw g instanceof Qe ? (_i.setLatestToast("Failed to load font.", Pe.Error), g) : g instanceof pe ? g : new Error(g);
8746
+ throw g instanceof fe ? (_i.setLatestToast("Failed to load font.", Pe.Error), g) : g instanceof pe ? g : new Error(g);
8754
8747
  });
8755
8748
  return await s.setSelectionsAndElements(
8756
8749
  t,
@@ -8778,29 +8771,29 @@ class es {
8778
8771
  */
8779
8772
  async changeInputTextWithRegion(t, e, A, a, i, s, o, r, c, l) {
8780
8773
  const g = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), d = this.getProcessedInput(g, t.data, o), B = s.getRegionElements(t.stepName), h = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Map();
8781
- for (const m of B)
8782
- if (m.region) {
8783
- const [f, Q] = he(
8774
+ for (const f of B)
8775
+ if (f.region) {
8776
+ const [Q, p] = he(
8784
8777
  e,
8785
8778
  A,
8786
- m.region,
8779
+ f.region,
8787
8780
  [d],
8788
8781
  { size: t.data.size, minSize: t.data.minSize, maxSize: t.data.maxSize }
8789
8782
  );
8790
- h.set(m.id, f), C.set(m.id, Q);
8783
+ h.set(f.id, Q), C.set(f.id, p);
8791
8784
  }
8792
8785
  const u = (() => {
8793
8786
  if (t.data && t.data.maxLength && d.length > t.data.maxLength)
8794
8787
  return l && l(!0), { info: "0" };
8795
- const m = s.getProfanities(), f = We(d.toLowerCase());
8796
- for (const Q of f)
8797
- for (const p in m) {
8798
- const D = m[p].toLowerCase().replace(/\s/g, "");
8799
- if (Q === D)
8788
+ const f = s.getProfanities(), Q = We(d.toLowerCase());
8789
+ for (const p of Q)
8790
+ for (const I in f) {
8791
+ const D = f[I].toLowerCase().replace(/\s/g, "");
8792
+ if (p === D)
8800
8793
  return r(!0), { error: "Blocked profanity." };
8801
8794
  }
8802
8795
  return !t.data.vertical && !t.data.allowNewlines && (d.includes(`
8803
- `) || d.includes("\r")) ? (r(!0), { error: "Cannot span multiple lines." }) : !t.data.curved && !Array.from(C.values()).every((p) => p) ? (r(!0), { error: "Does not fit." }) : (r(!1), { info: (t.data.maxLength - d.length).toString() });
8796
+ `) || d.includes("\r")) ? (r(!0), { error: "Cannot span multiple lines." }) : !t.data.curved && !Array.from(C.values()).every((I) => I) ? (r(!0), { error: "Does not fit." }) : (r(!1), { info: (t.data.maxLength - d.length).toString() });
8804
8797
  })();
8805
8798
  if (u.error) {
8806
8799
  c(u.error);
@@ -8812,15 +8805,15 @@ class es {
8812
8805
  text: this.injectReplaceableText(g, t.data)
8813
8806
  }), (i.defaultCleared || !t.data.deleteDefaultOnFocus) && s.setMandatoryFulfilled(t.stepName, !0);
8814
8807
  const E = [];
8815
- for (const m of B) {
8816
- const f = t.data.curved ? d : (C.get(m.id) || []).join(`
8808
+ for (const f of B) {
8809
+ const Q = t.data.curved ? d : (C.get(f.id) || []).join(`
8817
8810
  `);
8818
8811
  E.push(
8819
8812
  this.generateTextChangeCommandsForRegion(
8820
- h.get(m.id) || 1,
8813
+ h.get(f.id) || 1,
8821
8814
  t.data,
8822
- m.id,
8823
- f
8815
+ f.id,
8816
+ Q
8824
8817
  )
8825
8818
  );
8826
8819
  }
@@ -10091,7 +10084,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
10091
10084
  </g>
10092
10085
  </svg>
10093
10086
 
10094
- `, H = (n) => En("http://www.w3.org/2000/svg", n), fA = (n, t) => {
10087
+ `, H = (n) => mn("http://www.w3.org/2000/svg", n), QA = (n, t) => {
10095
10088
  const e = H("rect");
10096
10089
  return e.setAttribute("height", `${n}`), e.setAttribute("width", `${t}`), e;
10097
10090
  }, ns = () => {
@@ -10126,7 +10119,7 @@ const Ga = (n, t, e, A) => {
10126
10119
  let t = n;
10127
10120
  return t = t.replace(/feoffset/gi, "feOffset"), t = t.replace(/fegaussianblur/gi, "feGaussianBlur"), t = t.replace(/feblend/gi, "feBlend"), t = t.replace(/lineargradient/gi, "linearGradient"), t = t.replace(/stddeviation/gi, "stdDeviation"), t;
10128
10121
  };
10129
- function QA(n, t, e, A, a, i) {
10122
+ function fA(n, t, e, A, a, i) {
10130
10123
  const s = a || 1, o = i || 1, r = {
10131
10124
  x: t[0],
10132
10125
  y: t[1],
@@ -10268,16 +10261,16 @@ class rs extends mA {
10268
10261
  }
10269
10262
  brandSvg(t, e) {
10270
10263
  const A = t.toSVG(2), a = t.getBoundingBox(), i = a.x2 - a.x1, s = t.toPathData(3), o = () => {
10271
- const f = H("g"), Q = H("defs");
10272
- f.appendChild(Q), Q.appendChild(Ga(3, 7, 4, "shadow"));
10273
- const p = H("g");
10274
- f.appendChild(p), p.setAttribute("filter", "url(#shadow)"), p.innerHTML = A;
10264
+ const Q = H("g"), p = H("defs");
10265
+ Q.appendChild(p), p.appendChild(Ga(3, 7, 4, "shadow"));
10266
+ const I = H("g");
10267
+ Q.appendChild(I), I.setAttribute("filter", "url(#shadow)"), I.innerHTML = A;
10275
10268
  const D = H("g");
10276
- f.appendChild(D), D.setAttribute("fill", "red"), D.setAttribute("stroke", "red"), D.setAttribute("stroke-width", "9"), D.innerHTML = A;
10269
+ Q.appendChild(D), D.setAttribute("fill", "red"), D.setAttribute("stroke", "red"), D.setAttribute("stroke-width", "9"), D.innerHTML = A;
10277
10270
  const y = H("g");
10278
- f.appendChild(y), y.setAttribute("fill", "#9d2621"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = A;
10271
+ Q.appendChild(y), y.setAttribute("fill", "#9d2621"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = A;
10279
10272
  const x = H("g");
10280
- return f.appendChild(x), x.setAttribute("fill", "yellow"), x.innerHTML = A, new pA(f).transform(([S, z]) => [S, z + (i / 2 - S) ** 2 / (i * 2.9)]), f;
10273
+ return Q.appendChild(x), x.setAttribute("fill", "yellow"), x.innerHTML = A, new pA(Q).transform(([S, z]) => [S, z + (i / 2 - S) ** 2 / (i * 2.9)]), Q;
10281
10274
  }, [r, c, l] = ba(e);
10282
10275
  if (!r)
10283
10276
  return "";
@@ -10285,14 +10278,14 @@ class rs extends mA {
10285
10278
  r.appendChild(g), Ua(r, g, e);
10286
10279
  const d = c * 0.23, B = l * 0.94, h = l * 0.04, C = c * 0.53, w = H("g");
10287
10280
  r.appendChild(w), w.setAttribute("transform", `translate(${h} ${C}) rotate(-21)`);
10288
- const u = fA(d, B);
10281
+ const u = QA(d, B);
10289
10282
  u.setAttribute("opacity", "0"), w.appendChild(u);
10290
10283
  const E = H("g");
10291
10284
  w.appendChild(E);
10292
- const I = o();
10293
- E.appendChild(I);
10294
- const m = oA(s);
10295
- return QA(E, m, d, B), Ja(r.outerHTML);
10285
+ const m = o();
10286
+ E.appendChild(m);
10287
+ const f = oA(s);
10288
+ return fA(E, f, d, B), Ja(r.outerHTML);
10296
10289
  }
10297
10290
  }
10298
10291
  const cs = "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==";
@@ -10312,17 +10305,17 @@ class ls extends mA {
10312
10305
  }
10313
10306
  brandSvg(t, e, A) {
10314
10307
  const a = t.toSVG(2), i = t.getBoundingBox(), s = i.y2 - i.y1, o = i.x2 - i.x1, r = t.toPathData(3), c = () => {
10315
- const p = H("g"), D = H("g");
10316
- p.appendChild(D), D.setAttribute("stroke", "#5C1A0D"), D.setAttribute("stroke-width", "4"), D.setAttribute("transform", "translate(1,1)"), D.innerHTML = a;
10308
+ const I = H("g"), D = H("g");
10309
+ I.appendChild(D), D.setAttribute("stroke", "#5C1A0D"), D.setAttribute("stroke-width", "4"), D.setAttribute("transform", "translate(1,1)"), D.innerHTML = a;
10317
10310
  const y = H("g");
10318
- p.appendChild(y), y.setAttribute("fill", "#FFE386"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = a;
10311
+ I.appendChild(y), y.setAttribute("fill", "#FFE386"), y.setAttribute("transform", "translate(1,1)"), y.innerHTML = a;
10319
10312
  const x = H("g");
10320
- p.appendChild(x), x.setAttribute("fill", "white"), x.innerHTML = a;
10321
- const N = new pA(p);
10313
+ I.appendChild(x), x.setAttribute("fill", "white"), x.innerHTML = a;
10314
+ const N = new pA(I);
10322
10315
  return N.transform(([S, z]) => [S, z + ((o - S) * z) ** 2 / (o * 5e4)]), N.transform(([S, z]) => [
10323
10316
  S,
10324
10317
  z + (o / 3 - S) ** 2 / o * this.indicator(S < o / 3)
10325
- ]), N.transform(([S, z]) => [S - (s - z) * (o - S) / 800, z]), p;
10318
+ ]), N.transform(([S, z]) => [S - (s - z) * (o - S) / 800, z]), I;
10326
10319
  }, [l, g, d] = ba(e);
10327
10320
  if (!l)
10328
10321
  return "";
@@ -10332,14 +10325,14 @@ class ls extends mA {
10332
10325
  A ? (h = g * 0.25 * (1 + 0.1), C = d / 2 * (1 + 0.1), w = d * 0.22, u = g * 0.32) : (h = g * 0.22 * (1 + 0.1), C = d * 0.8, w = d * 0.067, u = g * 0.33);
10333
10326
  const E = H("g");
10334
10327
  l.appendChild(E), E.setAttribute("transform", `translate(${w} ${u}) rotate(-10)`);
10335
- const I = fA(h, C);
10336
- I.setAttribute("opacity", "0"), E.appendChild(I);
10337
- const m = H("g");
10338
- E.appendChild(m);
10339
- const f = c();
10340
- m.appendChild(f);
10341
- const Q = oA(r);
10342
- return QA(m, Q, h, C), l.outerHTML;
10328
+ const m = QA(h, C);
10329
+ m.setAttribute("opacity", "0"), E.appendChild(m);
10330
+ const f = H("g");
10331
+ E.appendChild(f);
10332
+ const Q = c();
10333
+ f.appendChild(Q);
10334
+ const p = oA(r);
10335
+ return fA(f, p, h, C), l.outerHTML;
10343
10336
  }
10344
10337
  // 1 if true, 0 if false.
10345
10338
  }
@@ -10355,35 +10348,35 @@ class ds extends mA {
10355
10348
  return this.svgElement(t, e);
10356
10349
  }
10357
10350
  svgElement(t, e) {
10358
- const A = CA(gs), i = t !== "" ? ((I) => I.charAt(0).toUpperCase() + I.substr(1).toLowerCase())(t) : "", s = A.getPath(i, 0, 72, 72), o = s.toSVG(2), r = s.getBoundingBox(), c = r.x2 - r.x1, l = s.toPathData(3), g = () => {
10359
- const I = H("g");
10360
- I.classList.add("module-text-group");
10361
- const m = H("defs");
10362
- I.appendChild(m), m.appendChild(Ga(0, 2, 2, "shadow"));
10363
- const f = H("path");
10364
- f.setAttribute("d", l), f.setAttribute("stroke", "black"), f.setAttribute("stroke-width", "3"), m.appendChild(f);
10365
- const Q = H("g");
10366
- Q.classList.add("module-layer0"), I.appendChild(Q), Q.setAttribute("filter", "url(#shadow)"), Q.innerHTML = f.outerHTML;
10351
+ const A = CA(gs), i = t !== "" ? ((m) => m.charAt(0).toUpperCase() + m.substr(1).toLowerCase())(t) : "", s = A.getPath(i, 0, 72, 72), o = s.toSVG(2), r = s.getBoundingBox(), c = r.x2 - r.x1, l = s.toPathData(3), g = () => {
10352
+ const m = H("g");
10353
+ m.classList.add("module-text-group");
10354
+ const f = H("defs");
10355
+ m.appendChild(f), f.appendChild(Ga(0, 2, 2, "shadow"));
10356
+ const Q = H("path");
10357
+ Q.setAttribute("d", l), Q.setAttribute("stroke", "black"), Q.setAttribute("stroke-width", "3"), f.appendChild(Q);
10367
10358
  const p = H("g");
10368
- p.classList.add("module-layer1"), I.appendChild(p), p.setAttribute("stroke-width", "3"), p.setAttribute("stroke", "rgb(45,41,38)"), p.setAttribute("fill", "rgb(45,41,38)"), p.setAttribute("transform", "translate(0.5,0)"), p.innerHTML = o;
10359
+ p.classList.add("module-layer0"), m.appendChild(p), p.setAttribute("filter", "url(#shadow)"), p.innerHTML = Q.outerHTML;
10360
+ const I = H("g");
10361
+ I.classList.add("module-layer1"), m.appendChild(I), I.setAttribute("stroke-width", "3"), I.setAttribute("stroke", "rgb(45,41,38)"), I.setAttribute("fill", "rgb(45,41,38)"), I.setAttribute("transform", "translate(0.5,0)"), I.innerHTML = o;
10369
10362
  const D = H("g");
10370
- D.classList.add("module-layer2"), I.appendChild(D), D.setAttribute("fill", "rgb(255,209,0)"), D.setAttribute("transform", "translate(1,-0.1)"), D.innerHTML = o;
10363
+ D.classList.add("module-layer2"), m.appendChild(D), D.setAttribute("fill", "rgb(255,209,0)"), D.setAttribute("transform", "translate(1,-0.1)"), D.innerHTML = o;
10371
10364
  const y = H("g");
10372
- return y.classList.add("module-layer3"), I.appendChild(y), y.setAttribute("fill", "white"), y.innerHTML = o, new pA(I).transform(([N, S]) => [N, S + (c / 2 - N) ** 2 / (c * 6)]), I;
10365
+ return y.classList.add("module-layer3"), m.appendChild(y), y.setAttribute("fill", "white"), y.innerHTML = o, new pA(m).transform(([N, S]) => [N, S + (c / 2 - N) ** 2 / (c * 6)]), m;
10373
10366
  }, d = H("g");
10374
10367
  d.classList.add("module-root");
10375
10368
  const B = H("defs");
10376
10369
  d.appendChild(B);
10377
10370
  const h = H("g");
10378
10371
  h.classList.add("module-bounds"), d.appendChild(h);
10379
- const C = fA(e.height, e.width);
10372
+ const C = QA(e.height, e.width);
10380
10373
  C.setAttribute("opacity", "0"), h.appendChild(C);
10381
10374
  const w = H("g");
10382
10375
  w.classList.add("module-text-enclosure"), d.appendChild(w);
10383
10376
  const u = g();
10384
10377
  w.appendChild(u);
10385
10378
  const E = oA(l);
10386
- return QA(w, E, e.height, e.width, 0.35, 0.65), Ja(d.outerHTML);
10379
+ return fA(w, E, e.height, e.width, 0.35, 0.65), Ja(d.outerHTML);
10387
10380
  }
10388
10381
  }
10389
10382
  async function Ta(n) {
@@ -10414,17 +10407,17 @@ class LA extends da {
10414
10407
  class hs {
10415
10408
  constructor(t, e, A, a, i, s, o, r, c, l, g, d, B, h = !1, C, w = !1, u = !1, E = !1) {
10416
10409
  this.workflowStatePromiseQueue = new Ba(1), this.initialized = !1, this.readOnly = !1, this.isReloadedTransaction = !1, this.singleVariantsRenderable = !1, this.stepTags = {}, this.renderLayouts = () => {
10417
- var f;
10410
+ var Q;
10418
10411
  if (!this.previewService)
10419
10412
  return;
10420
- const I = this.getCommandContext().getAllLayouts(), m = (f = this.getLayoutPreviewService()) == null ? void 0 : f.getAll();
10421
- if (m)
10422
- for (const [, Q] of m)
10423
- Q.render(I);
10413
+ const m = this.getCommandContext().getAllLayouts(), f = (Q = this.getLayoutPreviewService()) == null ? void 0 : Q.getAll();
10414
+ if (f)
10415
+ for (const [, p] of f)
10416
+ p.render(m);
10424
10417
  }, this.experience = t, this.client = e, this.updateTransaction = o, this.commandContext = s, this.reloadedState = B, this.transaction = r, this.readOnly = h, this.singleVariantsRenderable = u, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = A, this.stepSpecificServices = {}, this.profanityFilter = a, this.pollers = [], this.allScenes = [], this.layouts = i, this.product = c, this.previewService = g, this.modelContainer = C, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.validationErrors = { steps: /* @__PURE__ */ new Map() }, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.validationCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = d, this.isReloadedTransaction = w, this.stepTags = l, E && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(A), this.initializationPromise.then(() => {
10425
10418
  this.initialized = !0;
10426
- }), this.initializationPromise.catch((I) => {
10427
- throw console.error(I), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
10419
+ }), this.initializationPromise.catch((m) => {
10420
+ throw console.error(m), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
10428
10421
  }), this.initializationPromise.finally(
10429
10422
  () => this.getCommandContext().registerStateCallback(() => {
10430
10423
  this.updateStateWithServer(), this.renderLayouts();
@@ -10442,7 +10435,7 @@ class hs {
10442
10435
  };
10443
10436
  this.reloadedState && this.reloadedState.serializableWorkflow.steps.forEach((o) => {
10444
10437
  this.storage[o.stepName] = o.storage || {};
10445
- }), this.allScenes = await ai(t);
10438
+ }), this.allScenes = await ni(t);
10446
10439
  const a = yt(this.allScenes, this.stepSelections).map((o) => o.silentSteps).flat(), { stepElements: i, commands: s } = await this.stepElementsForIntroducedSilentSteps(a, !!this.reloadedState);
10447
10440
  this.commandContext.apply(new G(s), !0), this.stepElements = { ...this.stepElements, ...i }, await this.ensureStepsAreLoaded(), !this.isReloadedTransaction && this.updateStateWithServer(), this.renderLayouts(), this.reloadedState && e();
10448
10441
  }
@@ -10845,7 +10838,7 @@ class hs {
10845
10838
  async updateTransactionStakeholders() {
10846
10839
  var e;
10847
10840
  const t = await P.getShadowGraphqlClient().query({
10848
- query: Ai,
10841
+ query: ai,
10849
10842
  errorPolicy: "all",
10850
10843
  fetchPolicy: "no-cache",
10851
10844
  variables: {
@@ -10857,24 +10850,24 @@ class hs {
10857
10850
  async reset() {
10858
10851
  this.commandContext.getAllLayouts().forEach(
10859
10852
  (e) => e.layoutState.elements.forEach((A) => {
10860
- this.getCommandDispatcher()(new Qt(A.id));
10853
+ this.getCommandDispatcher()(new ft(A.id));
10861
10854
  })
10862
10855
  ), this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, await this.ensureStepsAreLoaded();
10863
10856
  }
10864
10857
  async setSelectionsAndElements(t, e, A, a) {
10865
- var f;
10858
+ var Q;
10866
10859
  const i = this.stepSelections;
10867
10860
  this.stepSelections = {
10868
10861
  ...this.stepSelections,
10869
10862
  [t]: { selectedVariants: e }
10870
- }, this.selectionCost = Object.values(this.stepSelections).reduce((Q, p) => Q + p.selectedVariants.map((D) => D.priceModifier || 0).reduce((D, y) => D + y, 0), 0), this.workflow.steps.forEach((Q) => {
10871
- Et(Q, this.stepSelections) || (this.stepInitialised[Q.stepName] = !1, delete this.stepMetadata[Q.stepName], delete this.stepSelections[Q.stepName], delete this.storage[Q.stepName]);
10863
+ }, this.selectionCost = Object.values(this.stepSelections).reduce((p, I) => p + I.selectedVariants.map((D) => D.priceModifier || 0).reduce((D, y) => D + y, 0), 0), this.workflow.steps.forEach((p) => {
10864
+ Et(p, this.stepSelections) || (this.stepInitialised[p.stepName] = !1, delete this.stepMetadata[p.stepName], delete this.stepSelections[p.stepName], delete this.storage[p.stepName]);
10872
10865
  });
10873
- const s = this.allScenes, o = yt(s, i), r = yt(s, this.stepSelections), c = o.map((Q) => Q.silentSteps).flat(), g = r.map((Q) => Q.silentSteps).flat().filter(
10874
- (Q) => !c.some((p) => p.stepName === Q.stepName)
10866
+ const s = this.allScenes, o = yt(s, i), r = yt(s, this.stepSelections), c = o.map((p) => p.silentSteps).flat(), g = r.map((p) => p.silentSteps).flat().filter(
10867
+ (p) => !c.some((I) => I.stepName === p.stepName)
10875
10868
  );
10876
- c.forEach((Q) => {
10877
- Et(Q, this.stepSelections) || (this.stepInitialised[Q.stepName] = !1);
10869
+ c.forEach((p) => {
10870
+ Et(p, this.stepSelections) || (this.stepInitialised[p.stepName] = !1);
10878
10871
  });
10879
10872
  const d = this.getInvalidCanvasRegions(), { stepElements: B, commands: h } = await this.stepElementsForIntroducedSilentSteps(g, !1);
10880
10873
  this.stepElements = {
@@ -10882,25 +10875,25 @@ class hs {
10882
10875
  ...B,
10883
10876
  [t]: A
10884
10877
  }, this.removeElements(d);
10885
- const C = this.workflow.steps.find((Q) => Q.stepName === t);
10878
+ const C = this.workflow.steps.find((p) => p.stepName === t);
10886
10879
  if ((C == null ? void 0 : C.type) === M.Frame) {
10887
- const Q = this.getStepSpecificServices(t);
10888
- (f = Q == null ? void 0 : Q.frameService) == null || f.setTargetElements(A.map((p) => p.id));
10880
+ const p = this.getStepSpecificServices(t);
10881
+ (Q = p == null ? void 0 : p.frameService) == null || Q.setTargetElements(A.map((I) => I.id));
10889
10882
  }
10890
- const w = d.map((Q) => new Qt(Q.id)), u = new GA(this.constructSerializableWorkflow()), E = [...h, ...w, u];
10883
+ const w = d.map((p) => new ft(p.id)), u = new GA(this.constructSerializableWorkflow()), E = [...h, ...w, u];
10891
10884
  E.length > 0 && this.commandContext.apply(new G(E), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
10892
- const I = this.getInvalidModelVariants(), m = this.modelContainer;
10893
- if (m) {
10894
- const Q = I.map(
10895
- (p) => m.applyModelVariant(
10896
- p,
10885
+ const m = this.getInvalidModelVariants(), f = this.modelContainer;
10886
+ if (f) {
10887
+ const p = m.map(
10888
+ (I) => f.applyModelVariant(
10889
+ I,
10897
10890
  {
10898
10891
  contextService: this.getLayoutPreviewService()
10899
10892
  },
10900
10893
  !1
10901
10894
  )
10902
10895
  );
10903
- await Promise.all(Q);
10896
+ await Promise.all(p);
10904
10897
  }
10905
10898
  await this.onSelectionChange(), a && await a();
10906
10899
  }
@@ -10920,9 +10913,12 @@ class hs {
10920
10913
  break;
10921
10914
  case M.Frame:
10922
10915
  {
10923
- const c = new Ti(r.data.forceImageCover);
10924
- c.connectWorkflowManager(this, r.stepName), this.stepSpecificServices[r.stepName] = {
10925
- frameService: c
10916
+ const c = r.data, l = new Ti(
10917
+ c.forceImageCover,
10918
+ c.initialZoomLevel
10919
+ );
10920
+ l.connectWorkflowManager(this, r.stepName), this.stepSpecificServices[r.stepName] = {
10921
+ frameService: l
10926
10922
  }, A.push(
10927
10923
  wt.init(r, this, this.reloadedState)
10928
10924
  );
@@ -11022,7 +11018,7 @@ class hs {
11022
11018
  this.validationCallbacks.forEach((t) => t(this.validationErrors));
11023
11019
  }
11024
11020
  traversableScenes() {
11025
- return si(this.allScenes, this.stepSelections, this.singleVariantsRenderable);
11021
+ return oi(this.allScenes, this.stepSelections, this.singleVariantsRenderable);
11026
11022
  }
11027
11023
  }
11028
11024
  class it {
@@ -11357,7 +11353,7 @@ class ms extends at {
11357
11353
  return this.step.data.displayType || ((t = this.step.option) == null ? void 0 : t.displayType);
11358
11354
  }
11359
11355
  }
11360
- class fs extends at {
11356
+ class Qs extends at {
11361
11357
  constructor(t, e, A) {
11362
11358
  super(t, e, A);
11363
11359
  }
@@ -11412,7 +11408,7 @@ class fs extends at {
11412
11408
  return t;
11413
11409
  }
11414
11410
  }
11415
- class Qs extends at {
11411
+ class fs extends at {
11416
11412
  constructor(t, e, A) {
11417
11413
  super(t, e, A);
11418
11414
  }
@@ -11681,13 +11677,13 @@ class oe {
11681
11677
  case M.Question:
11682
11678
  return new ms(t, e, t.getStepTags(e.stepName));
11683
11679
  case M.Text:
11684
- return new Qs(t, e, t.getStepTags(e.stepName));
11680
+ return new fs(t, e, t.getStepTags(e.stepName));
11685
11681
  case M.Illustration:
11686
11682
  return new Cs(t, e, t.getStepTags(e.stepName));
11687
11683
  case M.Picture:
11688
11684
  return new Es(t, e, t.getStepTags(e.stepName));
11689
11685
  case M.Shape:
11690
- return new fs(t, e, t.getStepTags(e.stepName));
11686
+ return new Qs(t, e, t.getStepTags(e.stepName));
11691
11687
  case M.Material:
11692
11688
  return new ws(t, e, t.getStepTags(e.stepName));
11693
11689
  case M.Model:
@@ -11947,18 +11943,18 @@ const Ms = async (n) => {
11947
11943
  }
11948
11944
  }
11949
11945
  return [x, N];
11950
- }, [E] = await u(!0), I = Object.fromEntries(
11946
+ }, [E] = await u(!0), m = Object.fromEntries(
11951
11947
  Object.keys(E).map((y) => [y, E[y].map((x) => x.id)])
11952
- ), [m] = await u(!1), f = Object.fromEntries(
11953
- Object.keys(m).map((y) => [
11948
+ ), [f] = await u(!1), Q = Object.fromEntries(
11949
+ Object.keys(f).map((y) => [
11954
11950
  y,
11955
- m[y].map((x) => x.id)
11951
+ f[y].map((x) => x.id)
11956
11952
  ])
11957
11953
  );
11958
- let Q = await o(h, a.id);
11959
- if (Q) {
11960
- const y = await (await rt(Q)).blob();
11961
- Q = (await J.uploadAsset(
11954
+ let p = await o(h, a.id);
11955
+ if (p) {
11956
+ const y = await (await rt(p)).blob();
11957
+ p = (await J.uploadAsset(
11962
11958
  { name: `${a.id}-preview-image.png`, blob: y },
11963
11959
  Ce.Image,
11964
11960
  !0,
@@ -11976,7 +11972,7 @@ const Ms = async (n) => {
11976
11972
  workflowId: t.id,
11977
11973
  transactionId: a.id,
11978
11974
  useThreeDimPreview: !!h,
11979
- previewImage: Q
11975
+ previewImage: p
11980
11976
  };
11981
11977
  if (w) {
11982
11978
  const x = [];
@@ -11984,9 +11980,9 @@ const Ms = async (n) => {
11984
11980
  x.push({ key: N, value: S });
11985
11981
  y.metadata = x;
11986
11982
  }
11987
- if (I) {
11983
+ if (m) {
11988
11984
  const x = [];
11989
- for (const [N, S] of Object.entries(f))
11985
+ for (const [N, S] of Object.entries(Q))
11990
11986
  x.push({ key: N, ids: S });
11991
11987
  y.selectedVariants = x;
11992
11988
  }
@@ -12239,18 +12235,18 @@ class re {
12239
12235
  return this.workflowManager;
12240
12236
  }
12241
12237
  async createPreviewImage(t, e) {
12242
- var E, I;
12238
+ var E, m;
12243
12239
  const A = this.workflowManager.getWorkflow(), a = (E = A == null ? void 0 : A.finalizeStepConfig) == null ? void 0 : E.lookAtAnimation;
12244
12240
  if (t) {
12245
12241
  if (!a)
12246
12242
  throw new Error("Failed to generate cart preview image!");
12247
- return await ((I = this.workflowManager.getPreviewService()) == null ? void 0 : I.renderSceneScreenshot(e ?? 512, a)) || "";
12243
+ return await ((m = this.workflowManager.getPreviewService()) == null ? void 0 : m.renderSceneScreenshot(e ?? 512, a)) || "";
12248
12244
  }
12249
12245
  let i = 2048;
12250
12246
  e && e <= 2048 && (i = e);
12251
- const s = lt(i, i), o = this.commandContext.getAllLayouts(), r = A.defaultPreviewPanelIndex || 0, c = A.panels[r], l = o.find((m) => {
12252
- var f;
12253
- return ((f = m.layoutState) == null ? void 0 : f.layout.panelId) === (c == null ? void 0 : c.name);
12247
+ const s = lt(i, i), o = this.commandContext.getAllLayouts(), r = A.defaultPreviewPanelIndex || 0, c = A.panels[r], l = o.find((f) => {
12248
+ var Q;
12249
+ return ((Q = f.layoutState) == null ? void 0 : Q.layout.panelId) === (c == null ? void 0 : c.name);
12254
12250
  }) || o[0], g = l.layoutState.layout.previewRegion ? {
12255
12251
  x: l.layoutState.layout.previewRegion.left,
12256
12252
  y: l.layoutState.layout.previewRegion.top,
@@ -12525,7 +12521,7 @@ class re {
12525
12521
  ), this.checkForPriceBreakChanges();
12526
12522
  const e = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), A = this.getWorkflowManager().getTransaction(), a = e.get(A.id) || void 0;
12527
12523
  await P.getShadowGraphqlClient().mutate({
12528
- mutation: $n,
12524
+ mutation: _n,
12529
12525
  variables: {
12530
12526
  id: A.id,
12531
12527
  quantity: t
@@ -12648,17 +12644,17 @@ const ks = [
12648
12644
  return console.error(o), [];
12649
12645
  }
12650
12646
  }, Us = async (n, t, e, A) => {
12651
- var f, Q;
12647
+ var Q, p;
12652
12648
  const a = e.data, i = A.option;
12653
12649
  if (!i)
12654
12650
  return console.error(`No option for step ${A.stepName}.`), [];
12655
- const s = ((f = i.variants) == null ? void 0 : f.find((p) => p.id === a.illustrationVariantId)) || $t(i);
12651
+ const s = ((Q = i.variants) == null ? void 0 : Q.find((I) => I.id === a.illustrationVariantId)) || $t(i);
12656
12652
  if (!s)
12657
12653
  return console.error(`No variant with ID: ${a.illustrationVariantId}`), [];
12658
12654
  if (!s.asset)
12659
12655
  return console.error(`No asset for variant with ID: ${a.illustrationVariantId}`), [];
12660
12656
  t[A.stepName] = { selectedVariants: [s] };
12661
- const o = (Q = s.asset) == null ? void 0 : Q.fileLink;
12657
+ const o = (p = s.asset) == null ? void 0 : p.fileLink;
12662
12658
  if (!o)
12663
12659
  return console.error(`No asset link for variant with ID: ${a.illustrationVariantId}`), [];
12664
12660
  const r = await tt(o, !0), c = /<svg.*?<\/svg>/s, l = r.match(c) || [], g = (l == null ? void 0 : l.length) > 0 ? l[0] : "", h = Bt().parseFromString(g, "image/svg+xml").firstElementChild;
@@ -12666,32 +12662,32 @@ const ks = [
12666
12662
  return console.error("Failed to read SVG."), [];
12667
12663
  BA(h);
12668
12664
  const C = {};
12669
- xt(h, (p) => {
12670
- ks.includes(p.tagName) && !p.attributes.getNamedItem("fill") && p.setAttribute("fill", "#000000");
12671
- const D = p.attributes.getNamedItem("fill");
12665
+ xt(h, (I) => {
12666
+ ks.includes(I.tagName) && !I.attributes.getNamedItem("fill") && I.setAttribute("fill", "#000000");
12667
+ const D = I.attributes.getNamedItem("fill");
12672
12668
  if (D && D.value !== "none") {
12673
12669
  const x = D.value, S = `spiff-fill-${x.replace(/\W/g, "")}`;
12674
- p.classList.add(S), C[S] = { browserValue: x };
12670
+ I.classList.add(S), C[S] = { browserValue: x };
12675
12671
  }
12676
- const y = p.attributes.getNamedItem("stroke");
12672
+ const y = I.attributes.getNamedItem("stroke");
12677
12673
  if (y && y.value !== "none") {
12678
12674
  const x = y.value, S = `spiff-stroke-${x.replace(/\W/g, "")}`;
12679
- p.classList.add(S), C[S] = { browserValue: x };
12675
+ I.classList.add(S), C[S] = { browserValue: x };
12680
12676
  }
12681
12677
  });
12682
12678
  const u = Se().serializeToString(h), E = a.colors;
12683
12679
  if (E) {
12684
- for (const [p, D] of Object.entries(C))
12680
+ for (const [I, D] of Object.entries(C))
12685
12681
  for (const y of Object.keys(E))
12686
12682
  if (D.browserValue === y) {
12687
- C[p] = { browserValue: E[y] };
12683
+ C[I] = { browserValue: E[y] };
12688
12684
  break;
12689
12685
  }
12690
12686
  }
12691
- const I = (p) => {
12692
- const D = n.find((x) => x.panelId === p.panelId);
12687
+ const m = (I) => {
12688
+ const D = n.find((x) => x.panelId === I.panelId);
12693
12689
  if (!D)
12694
- throw new X(p);
12690
+ throw new X(I);
12695
12691
  const y = k();
12696
12692
  return new V(
12697
12693
  {
@@ -12699,22 +12695,22 @@ const ks = [
12699
12695
  id: y,
12700
12696
  svg: u,
12701
12697
  type: R.Illustration,
12702
- y: p.top,
12703
- x: p.left,
12704
- rotation: p.rotation,
12705
- width: p.width,
12706
- height: p.height,
12707
- layer: p.layer,
12708
- layerIndex: p.layerIndex,
12709
- immutable: p.immutable
12698
+ y: I.top,
12699
+ x: I.left,
12700
+ rotation: I.rotation,
12701
+ width: I.width,
12702
+ height: I.height,
12703
+ layer: I.layer,
12704
+ layerIndex: I.layerIndex,
12705
+ immutable: I.immutable
12710
12706
  },
12711
12707
  D
12712
12708
  );
12713
- }, m = A.data.regions;
12709
+ }, f = A.data.regions;
12714
12710
  try {
12715
- return m.map(I);
12716
- } catch (p) {
12717
- return console.error(p), [];
12711
+ return f.map(m);
12712
+ } catch (I) {
12713
+ return console.error(I), [];
12718
12714
  }
12719
12715
  }, Gs = async (n, t, e) => {
12720
12716
  const A = await Ta(e.data.module), a = t.data, i = (o, r) => {
@@ -12914,11 +12910,11 @@ const ks = [
12914
12910
  return A;
12915
12911
  }, Ls = async (n, t, e, A) => {
12916
12912
  const a = [], i = e.data, s = 30, o = (w) => w.vertical ? "center" : w.textAlign || "center", r = () => {
12917
- var I;
12913
+ var m;
12918
12914
  const w = A.option;
12919
12915
  if (!w)
12920
12916
  return;
12921
- const u = ((I = w.variants) == null ? void 0 : I.find((m) => m.id === i.fontVariantId)) || $t(w);
12917
+ const u = ((m = w.variants) == null ? void 0 : m.find((f) => f.id === i.fontVariantId)) || $t(w);
12922
12918
  if (!u || !u.asset)
12923
12919
  return;
12924
12920
  t[A.stepName] = { selectedVariants: [u] };
@@ -12934,7 +12930,7 @@ const ks = [
12934
12930
  assetUrl: w,
12935
12931
  name: u.names.fullName.en
12936
12932
  };
12937
- })(), g = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", i.text) : i.text) || "", d = fe(g, {
12933
+ })(), g = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", i.text) : i.text) || "", d = Qe(g, {
12938
12934
  vertical: A.data.vertical,
12939
12935
  uppercase: A.data.uppercase
12940
12936
  }), B = async (w) => {
@@ -12945,7 +12941,7 @@ const ks = [
12945
12941
  return E == null ? void 0 : E.color;
12946
12942
  }, h = i.color || await B(A.data), C = A.data.regions;
12947
12943
  for (const w of C) {
12948
- const u = n.find((I) => I.panelId === w.panelId);
12944
+ const u = n.find((m) => m.panelId === w.panelId);
12949
12945
  if (!u)
12950
12946
  continue;
12951
12947
  const E = {
@@ -12970,12 +12966,12 @@ const ks = [
12970
12966
  y: w.top
12971
12967
  };
12972
12968
  if (l) {
12973
- const [I, m] = he(
12969
+ const [m, f] = he(
12974
12970
  A.data.size || s,
12975
12971
  l,
12976
12972
  w,
12977
12973
  [
12978
- fe(d, {
12974
+ Qe(d, {
12979
12975
  vertical: A.data.vertical,
12980
12976
  uppercase: A.data.uppercase
12981
12977
  })
@@ -12990,8 +12986,8 @@ const ks = [
12990
12986
  new V(
12991
12987
  {
12992
12988
  ...E,
12993
- fontSize: I,
12994
- text: E.curved ? E.text : (m || []).join(`
12989
+ fontSize: m,
12990
+ text: E.curved ? E.text : (f || []).join(`
12995
12991
  `)
12996
12992
  },
12997
12993
  u
@@ -13228,7 +13224,7 @@ class Xs extends da {
13228
13224
  d.resize(r, c), await d.render(), this.onRender();
13229
13225
  }
13230
13226
  }
13231
- const Tr = (n, t) => {
13227
+ const Or = (n, t) => {
13232
13228
  const e = [];
13233
13229
  return n.forEach((A) => {
13234
13230
  const a = t.steps.find((i) => i.stepName === A.stepName);
@@ -13239,7 +13235,7 @@ const Tr = (n, t) => {
13239
13235
  }
13240
13236
  });
13241
13237
  }), e;
13242
- }, Or = async (n, t, e, A) => {
13238
+ }, Lr = async (n, t, e, A) => {
13243
13239
  let a = {
13244
13240
  serializableWorkflow: { steps: [] },
13245
13241
  layouts: {}
@@ -14063,7 +14059,7 @@ const DA = F`
14063
14059
  }
14064
14060
  }
14065
14061
  }
14066
- `, fo = F`
14062
+ `, Qo = F`
14067
14063
  ${DA}
14068
14064
  query GetGlobalPropertyState($bundleId: String!) {
14069
14065
  globalPropertyState(bundleId: $bundleId) {
@@ -14074,7 +14070,7 @@ const DA = F`
14074
14070
  }
14075
14071
  }
14076
14072
  `;
14077
- class Qo {
14073
+ class fo {
14078
14074
  constructor(t, e, A, a, i) {
14079
14075
  this.bundleId = t, this.bundleOwnerId = e, this.configuration = A, this.bundleOptions = i, this.initPromise = this.getOrCreateGlobalPropertyState().then((s) => {
14080
14076
  this.globalPropertyState = s;
@@ -14193,7 +14189,7 @@ class Qo {
14193
14189
  async getOrCreateGlobalPropertyState() {
14194
14190
  var A, a, i;
14195
14191
  const t = await P.getShadowGraphqlClient().query({
14196
- query: fo,
14192
+ query: Qo,
14197
14193
  errorPolicy: "all",
14198
14194
  fetchPolicy: "no-cache",
14199
14195
  variables: {
@@ -14577,7 +14573,7 @@ class Fo {
14577
14573
  class je {
14578
14574
  constructor(t, e, A, a, i, s) {
14579
14575
  var o, r, c;
14580
- this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = t, this.id = e.id, this.name = e.name || "", this.ownerId = i, this.metadata = new Map(((o = e.metadata) == null ? void 0 : o.map((l) => [l.key, l.value])) || []), this.productCollection = e.productCollection, this.bundleStateManager = new po(e.bundleStateData), this.globalPropertyStateManager = new Qo(
14576
+ this.eventListeners = /* @__PURE__ */ new Map(), this.workflowExperiences = [], this.client = t, this.id = e.id, this.name = e.name || "", this.ownerId = i, this.metadata = new Map(((o = e.metadata) == null ? void 0 : o.map((l) => [l.key, l.value])) || []), this.productCollection = e.productCollection, this.bundleStateManager = new po(e.bundleStateData), this.globalPropertyStateManager = new fo(
14581
14577
  this.id,
14582
14578
  this.ownerId,
14583
14579
  (r = this.productCollection) == null ? void 0 : r.globalPropertyConfiguration,
@@ -15209,7 +15205,7 @@ class FA {
15209
15205
  }
15210
15206
  }
15211
15207
  var xo = /* @__PURE__ */ ((n) => (n.Transaction = "Transaction", n.Bundle = "Bundle", n.Product = "Product", n.Variant = "Variant", n.Option = "Option", n.LineItem = "LineItem", n.Asset = "Asset", n))(xo || {});
15212
- class Lr extends FA {
15208
+ class zr extends FA {
15213
15209
  constructor(t) {
15214
15210
  super(`"${t}"`);
15215
15211
  }
@@ -15224,7 +15220,7 @@ class Wa extends FA {
15224
15220
  return t.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);
15225
15221
  }
15226
15222
  }
15227
- class zr extends FA {
15223
+ class jr extends FA {
15228
15224
  constructor(t) {
15229
15225
  super(`[${t.map((e) => e.getRaw()).join(",")}]`);
15230
15226
  }
@@ -16009,19 +16005,19 @@ class Wo {
16009
16005
  try {
16010
16006
  return P.getShadowGraphqlClient().mutate({
16011
16007
  ...e,
16012
- mutation: qn
16008
+ mutation: Zn
16013
16009
  });
16014
16010
  } catch (A) {
16015
16011
  throw console.error(A), new b("Critical - Unable to synchronize workflow state with server.");
16016
16012
  }
16017
- }, this.initialized = !1, this.options = t, this.options.applicationKey && In(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 24.0.0"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
16013
+ }, this.initialized = !1, this.options = t, this.options.applicationKey && Dn(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 24.0.2"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
16018
16014
  }
16019
16015
  /** @deprecated Use `configure` instead */
16020
16016
  configureUrls(t, e, A) {
16021
16017
  nt.setHubUrl(t), nt.setServerUrl(e), nt.setServicesApiUrl(A), this.options.applicationKey && this.getIntegration();
16022
16018
  }
16023
16019
  configure(t) {
16024
- nt.setHubUrl(t.hubUrl), nt.setServerUrl(t.serverUrl), nt.setServicesApiUrl(t.servicesApiUrl), this.marketplaceThemeInstallId = t.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = t.marketplaceThemeInstallConfigurationId, t.bearerAuthenticationToken && Fn(t.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration();
16020
+ nt.setHubUrl(t.hubUrl), nt.setServerUrl(t.serverUrl), nt.setServicesApiUrl(t.servicesApiUrl), this.marketplaceThemeInstallId = t.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = t.marketplaceThemeInstallConfigurationId, t.bearerAuthenticationToken && yn(t.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration();
16025
16021
  }
16026
16022
  /**
16027
16023
  * @returns The asset manager allows for common operations related to assets
@@ -16036,7 +16032,7 @@ class Wo {
16036
16032
  return this.currencyCode;
16037
16033
  }
16038
16034
  getFlowService() {
16039
- if (!Dn())
16035
+ if (!Fn())
16040
16036
  throw new Error("Application key required to use Flow Service.");
16041
16037
  return new Mo();
16042
16038
  }
@@ -16046,7 +16042,7 @@ class Wo {
16046
16042
  if (!this.options.applicationKey)
16047
16043
  throw new Error("Cannot get current Integration without specifying an Application Key.");
16048
16044
  const t = async () => (await P.getShadowGraphqlClient().query({
16049
- query: Vn,
16045
+ query: Wn,
16050
16046
  errorPolicy: "all",
16051
16047
  fetchPolicy: "no-cache"
16052
16048
  })).data.currentIntegration;
@@ -16125,14 +16121,14 @@ class Wo {
16125
16121
  const w = o.get(t);
16126
16122
  if (w && await this.authenticateCustomerId(w)) {
16127
16123
  const E = ((B = (d = this.customer) == null ? void 0 : d.bundleStakeholders) == null ? void 0 : B.find(
16128
- (I) => {
16129
- var m, f;
16130
- return (f = (m = I.bundle) == null ? void 0 : m.transactions) == null ? void 0 : f.some((Q) => Q.id === t);
16124
+ (m) => {
16125
+ var f, Q;
16126
+ return (Q = (f = m.bundle) == null ? void 0 : f.transactions) == null ? void 0 : Q.some((p) => p.id === t);
16131
16127
  }
16132
16128
  )) || ((C = (h = this.customer) == null ? void 0 : h.stakeholders) == null ? void 0 : C.find(
16133
- (I) => {
16134
- var m;
16135
- return ((m = I.transaction) == null ? void 0 : m.id) === t;
16129
+ (m) => {
16130
+ var f;
16131
+ return ((f = m.transaction) == null ? void 0 : f.id) === t;
16136
16132
  }
16137
16133
  ));
16138
16134
  if (E)
@@ -16319,7 +16315,7 @@ class Wo {
16319
16315
  * @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
16320
16316
  */
16321
16317
  async getExistingBundle(t, e, A, a) {
16322
- var w, u, E, I, m, f, Q, p, D, y, x;
16318
+ var w, u, E, m, f, Q, p, I, D, y, x;
16323
16319
  const i = Y.getMap("bundleOwnerIds"), s = i == null ? void 0 : i.get(t), r = ((w = Object.entries(localStorage).find(([N, S]) => N.startsWith("CognitoIdentityServiceProvider") && N.endsWith("idToken"))) == null ? void 0 : w[0]) || "", c = localStorage.getItem(r), l = {};
16324
16320
  c && !Ie(c) && (l.Authorization = `Bearer ${c}`);
16325
16321
  const g = {
@@ -16327,7 +16323,7 @@ class Wo {
16327
16323
  ...l,
16328
16324
  ...(u = a == null ? void 0 : a.graphql) == null ? void 0 : u.additionalHeaders
16329
16325
  }, d = await P.getShadowGraphqlClient().query({
16330
- query: Zs(((I = (E = a == null ? void 0 : a.graphql) == null ? void 0 : E.productCollection) == null ? void 0 : I.eagerFetchProducts) || !1),
16326
+ query: Zs(((m = (E = a == null ? void 0 : a.graphql) == null ? void 0 : E.productCollection) == null ? void 0 : m.eagerFetchProducts) || !1),
16331
16327
  variables: {
16332
16328
  id: t
16333
16329
  },
@@ -16336,9 +16332,9 @@ class Wo {
16336
16332
  headers: g
16337
16333
  }
16338
16334
  });
16339
- if (!((m = d.data) != null && m.bundles) || ((f = d.data) == null ? void 0 : f.bundles.length) === 0 || !((Q = d.data) != null && Q.bundles[0]))
16335
+ if (!((f = d.data) != null && f.bundles) || ((Q = d.data) == null ? void 0 : Q.bundles.length) === 0 || !((p = d.data) != null && p.bundles[0]))
16340
16336
  throw new Error(`Unable to find bundle: ${t}`);
16341
- const B = (p = d.data) == null ? void 0 : p.bundles[0], h = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
16337
+ const B = (I = d.data) == null ? void 0 : I.bundles[0], h = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
16342
16338
  h.set(B.id, B.partner.id), Y.setMap("bundlePartnerIds", h);
16343
16339
  const C = new je(this, B, e, A, s, {
16344
16340
  additionalHeaders: (D = a == null ? void 0 : a.graphql) == null ? void 0 : D.additionalHeaders,
@@ -16353,15 +16349,15 @@ class Wo {
16353
16349
  * @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
16354
16350
  */
16355
16351
  async duplicateBundle(t, e, A, a) {
16356
- var w, u, E, I, m, f, Q, p;
16352
+ var w, u, E, m, f, Q, p, I;
16357
16353
  const i = (w = Y.getMap("bundleOwnerIds")) == null ? void 0 : w.get(t), o = ((u = Object.entries(localStorage).find(([D, y]) => D.startsWith("CognitoIdentityServiceProvider") && D.endsWith("idToken"))) == null ? void 0 : u[0]) || "", r = localStorage.getItem(o), c = {};
16358
16354
  r && !Ie(r) && (c.Authorization = `Bearer ${r}`);
16359
16355
  const l = {
16360
16356
  bundleOwnerId: i,
16361
16357
  ...c,
16362
16358
  ...(E = a == null ? void 0 : a.graphql) == null ? void 0 : E.additionalHeaders
16363
- }, d = (f = (await P.getShadowGraphqlClient().mutate({
16364
- mutation: Ao(((m = (I = a == null ? void 0 : a.graphql) == null ? void 0 : I.productCollection) == null ? void 0 : m.eagerFetchProducts) || !1),
16359
+ }, d = (Q = (await P.getShadowGraphqlClient().mutate({
16360
+ mutation: Ao(((f = (m = a == null ? void 0 : a.graphql) == null ? void 0 : m.productCollection) == null ? void 0 : f.eagerFetchProducts) || !1),
16365
16361
  variables: {
16366
16362
  id: t,
16367
16363
  template: e,
@@ -16373,7 +16369,7 @@ class Wo {
16373
16369
  headers: l
16374
16370
  },
16375
16371
  fetchPolicy: "no-cache"
16376
- })).data) == null ? void 0 : f.bundleDuplicate;
16372
+ })).data) == null ? void 0 : Q.bundleDuplicate;
16377
16373
  if (!(d != null && d.id))
16378
16374
  throw new Error("Unable to duplicate bundle");
16379
16375
  const B = Y.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
@@ -16381,7 +16377,7 @@ class Wo {
16381
16377
  const h = Y.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
16382
16378
  h.set(d.id, d.bundleOwnerId), Y.setMap("bundleOwnerIds", h);
16383
16379
  const C = new je(this, d, void 0, void 0, d.bundleOwnerId, {
16384
- eagerFetchProducts: (p = (Q = a == null ? void 0 : a.graphql) == null ? void 0 : Q.productCollection) == null ? void 0 : p.eagerFetchProducts
16380
+ eagerFetchProducts: (I = (p = a == null ? void 0 : a.graphql) == null ? void 0 : p.productCollection) == null ? void 0 : I.eagerFetchProducts
16385
16381
  });
16386
16382
  return await C.getInitializationPromise(), C;
16387
16383
  }
@@ -16461,31 +16457,31 @@ class Wo {
16461
16457
  if (!a)
16462
16458
  return await this.getWorkflowExperienceDeprecated(t, e, A);
16463
16459
  const i = async () => {
16464
- var E, I, m;
16460
+ var E, m, f;
16465
16461
  const u = P.getShadowGraphqlClient();
16466
16462
  if (a.type === "transaction") {
16467
- const { transactionId: f, readOnly: Q } = a, p = await u.query({
16463
+ const { transactionId: Q, readOnly: p } = a, I = await u.query({
16468
16464
  query: ae,
16469
16465
  variables: {
16470
- ids: [f]
16466
+ ids: [Q]
16471
16467
  },
16472
16468
  errorPolicy: "all",
16473
16469
  fetchPolicy: "no-cache"
16474
16470
  });
16475
- if (!((E = p.data) != null && E.transactions) || p.data.transactions.length === 0)
16471
+ if (!((E = I.data) != null && E.transactions) || I.data.transactions.length === 0)
16476
16472
  throw new b("Existing transaction not found.");
16477
- const D = (I = p.data) == null ? void 0 : I.transactions[0];
16473
+ const D = (m = I.data) == null ? void 0 : m.transactions[0];
16478
16474
  if (!D.workflowId)
16479
16475
  throw new b("Existing transaction has no workflow ID.");
16480
16476
  const y = await ge(D.workflowId);
16481
16477
  if (!D.product)
16482
16478
  throw new b("Failed to load transaction, product not available.");
16483
- !this.activeIntegration && ((m = D.integrationProduct) != null && m.integration) && (this.activeIntegration = Promise.resolve(D.integrationProduct.integration));
16479
+ !this.activeIntegration && ((f = D.integrationProduct) != null && f.integration) && (this.activeIntegration = Promise.resolve(D.integrationProduct.integration));
16484
16480
  const x = await this.getStepTags(y);
16485
- return { transaction: D, workflow: y, stepTags: x, readOnly: Q };
16481
+ return { transaction: D, workflow: y, stepTags: x, readOnly: p };
16486
16482
  }
16487
16483
  if (a.type === "integration" || a.type === "external") {
16488
- const f = async () => {
16484
+ const Q = async () => {
16489
16485
  const x = a.type === "integration" ? { integrationProductId: a.integrationProductId } : {
16490
16486
  externalIntegrationId: a.externalIntegrationId,
16491
16487
  externalProductId: a.externalProductId
@@ -16510,8 +16506,8 @@ class Wo {
16510
16506
  if (!S.product)
16511
16507
  throw new b("Failed to create transaction, product not available.");
16512
16508
  return S;
16513
- }, Q = ge(a.workflowId, a == null ? void 0 : a.graphql), [p, D] = await Promise.all([f(), Q]), y = await this.getStepTags(D);
16514
- return { transaction: p, workflow: D, stepTags: y };
16509
+ }, p = ge(a.workflowId, a == null ? void 0 : a.graphql), [I, D] = await Promise.all([Q(), p]), y = await this.getStepTags(D);
16510
+ return { transaction: I, workflow: D, stepTags: y };
16515
16511
  }
16516
16512
  throw new b("No workflow ID provided.");
16517
16513
  }, { transaction: s, workflow: o, stepTags: r, readOnly: c } = await i();
@@ -16525,8 +16521,8 @@ class Wo {
16525
16521
  stateMutationFunc: c ? async () => {
16526
16522
  throw new O("State mutation is forbidden in read only mode!");
16527
16523
  } : async (u) => {
16528
- const I = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(s.id) || void 0;
16529
- return this.updateTransactionState({ ...u, context: { transactionOwnerId: I } });
16524
+ const m = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(s.id) || void 0;
16525
+ return this.updateTransactionState({ ...u, context: { transactionOwnerId: m } });
16530
16526
  },
16531
16527
  readOnly: c,
16532
16528
  workflow: o
@@ -16569,20 +16565,20 @@ class Wo {
16569
16565
  async getWorkflowExperiences(t, e) {
16570
16566
  if (t.length === 0)
16571
16567
  throw new b("No options provided!");
16572
- const A = P.getShadowGraphqlClient(), a = async (f) => {
16568
+ const A = P.getShadowGraphqlClient(), a = async (Q) => {
16573
16569
  var y, x, N;
16574
- if (f.length === 0)
16570
+ if (Q.length === 0)
16575
16571
  return [];
16576
- const Q = f.map((S) => S.option.transactionId), p = await A.query({
16572
+ const p = Q.map((S) => S.option.transactionId), I = await A.query({
16577
16573
  query: ae,
16578
16574
  variables: {
16579
- ids: Q
16575
+ ids: p
16580
16576
  },
16581
16577
  errorPolicy: "all",
16582
16578
  fetchPolicy: "no-cache"
16583
- }), D = p.data.transactions;
16584
- if (D.length !== f.length) {
16585
- const S = ((x = (y = p.errors) == null ? void 0 : y[0]) == null ? void 0 : x.message) || "Unknown error";
16579
+ }), D = I.data.transactions;
16580
+ if (D.length !== Q.length) {
16581
+ const S = ((x = (y = I.errors) == null ? void 0 : y[0]) == null ? void 0 : x.message) || "Unknown error";
16586
16582
  throw new b(`Not all transactions were found: ${S}`);
16587
16583
  }
16588
16584
  return !this.activeIntegration && ((N = D[0].integrationProduct) != null && N.integration) && (this.activeIntegration = Promise.resolve(D[0].integrationProduct.integration)), D.map((S, z) => {
@@ -16590,18 +16586,18 @@ class Wo {
16590
16586
  return {
16591
16587
  transaction: S,
16592
16588
  workflowId: S.workflowId,
16593
- readOnly: ((U = f.find((At) => At.option.transactionId === S.id)) == null ? void 0 : U.option.readOnly) ?? !1,
16594
- index: f[z].index
16589
+ readOnly: ((U = Q.find((At) => At.option.transactionId === S.id)) == null ? void 0 : U.option.readOnly) ?? !1,
16590
+ index: Q[z].index
16595
16591
  };
16596
16592
  });
16597
- }, i = async (f) => {
16593
+ }, i = async (Q) => {
16598
16594
  var D, y, x;
16599
- if (f.length === 0)
16595
+ if (Q.length === 0)
16600
16596
  return [];
16601
- const Q = await A.mutate({
16602
- mutation: Wn,
16597
+ const p = await A.mutate({
16598
+ mutation: Xn,
16603
16599
  variables: {
16604
- inputs: f.map((N) => ({
16600
+ inputs: Q.map((N) => ({
16605
16601
  integrationProductId: N.option.type === "integration" ? N.option.integrationProductId : void 0,
16606
16602
  externalIntegrationId: N.option.type === "external" ? N.option.externalIntegrationId : void 0,
16607
16603
  externalProductId: N.option.type === "external" ? N.option.externalProductId : void 0,
@@ -16614,29 +16610,29 @@ class Wo {
16614
16610
  },
16615
16611
  errorPolicy: "all",
16616
16612
  fetchPolicy: "no-cache"
16617
- }), p = (D = Q.data) == null ? void 0 : D.transactionCreateMany;
16618
- if (!p || p.length === 0) {
16619
- const N = ((x = (y = Q.errors) == null ? void 0 : y[0]) == null ? void 0 : x.message) || "Unknown error";
16613
+ }), I = (D = p.data) == null ? void 0 : D.transactionCreateMany;
16614
+ if (!I || I.length === 0) {
16615
+ const N = ((x = (y = p.errors) == null ? void 0 : y[0]) == null ? void 0 : x.message) || "Unknown error";
16620
16616
  throw new b(`Failed to create transactions: ${N}`);
16621
16617
  }
16622
- return p.map((N, S) => ({
16618
+ return I.map((N, S) => ({
16623
16619
  transaction: N,
16624
16620
  workflowId: N.workflowId,
16625
16621
  readOnly: !1,
16626
- index: f[S].index
16622
+ index: Q[S].index
16627
16623
  }));
16628
- }, s = t.map((f, Q) => ({ option: f, index: Q })), o = s.filter((f) => f.option.type === "transaction"), r = s.filter(
16629
- (f) => f.option.type === "integration" || f.option.type === "external"
16624
+ }, s = t.map((Q, p) => ({ option: Q, index: p })), o = s.filter((Q) => Q.option.type === "transaction"), r = s.filter(
16625
+ (Q) => Q.option.type === "integration" || Q.option.type === "external"
16630
16626
  ), c = yA(o, 10), l = yA(r, 10), g = (await Promise.all([
16631
16627
  ...c.map(a),
16632
16628
  ...l.map(i)
16633
- ])).flat(), d = [...new Set(g.map((f) => f.workflowId))], B = await Xa(d, e), h = new Map(B.map((f) => [f.id, f])), C = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), w = g.map(async (f) => {
16629
+ ])).flat(), d = [...new Set(g.map((Q) => Q.workflowId))], B = await Xa(d, e), h = new Map(B.map((Q) => [Q.id, Q])), C = Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), w = g.map(async (Q) => {
16634
16630
  var At;
16635
- const { transaction: Q, workflowId: p, readOnly: D, index: y } = f, x = h.get(p), N = await this.getStepTags(x), S = t[y];
16636
- !C.get(Q.id) && Q.transactionOwnerId && C.set(Q.id, Q.transactionOwnerId);
16637
- const z = C.get(Q.id) || void 0, U = {
16638
- product: Q.product,
16639
- transaction: Q,
16631
+ const { transaction: p, workflowId: I, readOnly: D, index: y } = Q, x = h.get(I), N = await this.getStepTags(x), S = t[y];
16632
+ !C.get(p.id) && p.transactionOwnerId && C.set(p.id, p.transactionOwnerId);
16633
+ const z = C.get(p.id) || void 0, U = {
16634
+ product: p.product,
16635
+ transaction: p,
16640
16636
  stepTags: N,
16641
16637
  layouts: [],
16642
16638
  singleVariantsRenderable: (At = S == null ? void 0 : S.workflowConfiguration) == null ? void 0 : At.singleVariantsRenderable,
@@ -16647,8 +16643,8 @@ class Wo {
16647
16643
  workflow: x,
16648
16644
  isReloadedTransaction: S.type === "transaction"
16649
16645
  };
16650
- if (S.type === "transaction" && Q.workflowState) {
16651
- const K = JSON.parse(Q.workflowState);
16646
+ if (S.type === "transaction" && p.workflowState) {
16647
+ const K = JSON.parse(p.workflowState);
16652
16648
  U.layouts = Object.values(K.layouts || {}).map((ht) => ht.layout), await Dt(K), await Ft(K), U.reloadedState = K;
16653
16649
  } else if (!D && S.workflowState) {
16654
16650
  const K = JSON.parse(S.workflowState);
@@ -16663,11 +16659,11 @@ class Wo {
16663
16659
  ), U.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = U, { experienceOptions: U, index: y, options: S };
16664
16660
  }), u = await Promise.all(w);
16665
16661
  Y.setMap("transactionOwnerIds", C);
16666
- const I = u.sort((f, Q) => f.index - Q.index).map(async (f) => {
16667
- const { experienceOptions: Q, options: p } = f, D = new re(this, Q);
16668
- return await D.getWorkflowManager().getInitializationPromise(), p.type !== "transaction" && this.customer && await D.attachCustomerDetails({ email: this.customer.emailAddress }), D;
16669
- }), m = await Promise.all(I);
16670
- return m.forEach((f) => f.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), m;
16662
+ const m = u.sort((Q, p) => Q.index - p.index).map(async (Q) => {
16663
+ const { experienceOptions: p, options: I } = Q, D = new re(this, p);
16664
+ return await D.getWorkflowManager().getInitializationPromise(), I.type !== "transaction" && this.customer && await D.attachCustomerDetails({ email: this.customer.emailAddress }), D;
16665
+ }), f = await Promise.all(m);
16666
+ return f.forEach((Q) => Q.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), f;
16671
16667
  }
16672
16668
  /**
16673
16669
  * Initialize the client from an integration product.
@@ -16766,7 +16762,7 @@ class Wo {
16766
16762
  }
16767
16763
  try {
16768
16764
  const d = (c = (await A.mutate({
16769
- mutation: Xn,
16765
+ mutation: qn,
16770
16766
  variables: { id: t },
16771
16767
  errorPolicy: "all"
16772
16768
  })).data) == null ? void 0 : c.transactionClaim;
@@ -16810,7 +16806,7 @@ class Wo {
16810
16806
  }
16811
16807
  if (t) {
16812
16808
  const c = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(this.experienceOptions.transaction.id), l = P.getShadowGraphqlClient().mutate({
16813
- mutation: Zn,
16809
+ mutation: $n,
16814
16810
  variables: {
16815
16811
  workflowId: t,
16816
16812
  id: this.experienceOptions.transaction.id
@@ -16869,7 +16865,7 @@ class Wo {
16869
16865
  async getIntegrationProductById(t) {
16870
16866
  var i, s;
16871
16867
  const a = (i = (await P.getShadowGraphqlClient().query({
16872
- query: ti,
16868
+ query: ei,
16873
16869
  variables: {
16874
16870
  ids: [t]
16875
16871
  },
@@ -16883,7 +16879,7 @@ class Wo {
16883
16879
  async getIntegrationProductFromExternalIds(t, e) {
16884
16880
  var s;
16885
16881
  const i = (s = (await P.getShadowGraphqlClient().query({
16886
- query: ei,
16882
+ query: Ai,
16887
16883
  variables: {
16888
16884
  externalProductId: e,
16889
16885
  externalIntegrationId: t
@@ -16900,7 +16896,7 @@ class Wo {
16900
16896
  }
16901
16897
  async getShareActionsForTransaction(t) {
16902
16898
  const A = (Y.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(t) || void 0, a = await P.getShadowGraphqlClient().query({
16903
- query: _n,
16899
+ query: ti,
16904
16900
  errorPolicy: "all",
16905
16901
  fetchPolicy: "no-cache",
16906
16902
  variables: {
@@ -16915,7 +16911,7 @@ class Wo {
16915
16911
  return a.data.transactions[0].transactionShareActions;
16916
16912
  }
16917
16913
  }
16918
- class jr {
16914
+ class Kr {
16919
16915
  getClient() {
16920
16916
  return this.client ?? {};
16921
16917
  }
@@ -17243,22 +17239,22 @@ class qo extends at {
17243
17239
  }
17244
17240
  export {
17245
17241
  rA as AddonHandle,
17246
- zr as ArrayInput,
17242
+ jr as ArrayInput,
17247
17243
  st as AspectType,
17248
17244
  mt as AssetNotFoundError,
17249
17245
  Ce as AssetType,
17250
- Ur as BringForwardCommand,
17251
- br as BringToBackCommand,
17252
- Hr as BringToFrontCommand,
17246
+ Gr as BringForwardCommand,
17247
+ Ur as BringToBackCommand,
17248
+ br as BringToFrontCommand,
17253
17249
  T as CanvasCommand,
17254
17250
  ze as CollectionProduct,
17255
17251
  zA as ColorOptionGlobalPropertyHandle,
17256
17252
  vi as CommandContext,
17257
- dn as ConversionDataType,
17258
- gn as ConversionLocation,
17253
+ Bn as ConversionDataType,
17254
+ dn as ConversionLocation,
17259
17255
  V as CreateElementCommand,
17260
17256
  Sa as CreateLayoutCommand,
17261
- Qt as DeleteElementCommand,
17257
+ ft as DeleteElementCommand,
17262
17258
  Is as DigitalContentStepHandle,
17263
17259
  wo as FileUploadGlobalPropertyHandle,
17264
17260
  le as FlowExecutionNodeResult,
@@ -17277,114 +17273,114 @@ export {
17277
17273
  Pe as InformationMessageType,
17278
17274
  ps as InformationStepHandle,
17279
17275
  jA as IntegrationProduct,
17280
- cn as IntegrationType,
17281
- Jr as LayoutElementFactory,
17276
+ ln as IntegrationType,
17277
+ Tr as LayoutElementFactory,
17282
17278
  R as LayoutElementType,
17283
17279
  X as LayoutNotFoundError,
17284
17280
  Ot as LayoutRenderingPurpose,
17285
17281
  ws as MaterialStepHandle,
17286
17282
  Ee as MisconfigurationError,
17287
- jr as MockWorkflowManager,
17283
+ Kr as MockWorkflowManager,
17288
17284
  us as ModelStepHandle,
17289
17285
  Ds as ModuleStepHandle,
17290
- vr as MoveCommand,
17286
+ Nr as MoveCommand,
17291
17287
  Wa as ObjectInput,
17292
17288
  xo as ObjectInputType,
17293
17289
  Va as OptionGlobalPropertyHandle,
17294
17290
  ue as OptionNotFoundError,
17295
17291
  bt as ParseError,
17296
17292
  Es as PictureStepHandle,
17297
- ln as ProductCameraRig,
17293
+ gn as ProductCameraRig,
17298
17294
  Io as ProductCollection,
17299
17295
  Tt as ProductWorkflow,
17300
17296
  zt as PromiseCache,
17301
17297
  Ba as PromiseQueue,
17302
17298
  ms as QuestionStepHandle,
17303
17299
  da as QueueablePromise,
17304
- Rr as ResizeCommand,
17300
+ kr as ResizeCommand,
17305
17301
  Lt as ResourceNotFoundError,
17306
- Nr as RotateCommand,
17302
+ Rr as RotateCommand,
17307
17303
  W as ScaleAxis,
17308
- Gr as SendBackwardsCommand,
17309
- fs as ShapeStepHandle,
17304
+ Jr as SendBackwardsCommand,
17305
+ Qs as ShapeStepHandle,
17310
17306
  Wo as SpiffCommerceClient,
17311
17307
  we as StakeholderType,
17312
- on as StepAspectType,
17308
+ rn as StepAspectType,
17313
17309
  at as StepHandle,
17314
17310
  M as StepType,
17315
17311
  Yt as TextAlgorithm,
17316
17312
  Ui as TextChangeCommand,
17317
17313
  uo as TextGlobalPropertyHandle,
17318
- Lr as TextInput,
17319
- Qs as TextStepHandle,
17320
- rn as TransactionShareActionType,
17314
+ zr as TextInput,
17315
+ fs as TextStepHandle,
17316
+ cn as TransactionShareActionType,
17321
17317
  Fo as Transform,
17322
17318
  Do as TransformCollection,
17323
17319
  O as UnhandledBehaviorError,
17324
- Bn as UnitOfMeasurement,
17325
- kr as UpdateImageSourceCommand,
17320
+ hn as UnitOfMeasurement,
17321
+ Hr as UpdateImageSourceCommand,
17326
17322
  it as Variant,
17327
17323
  Rs as WorkflowExperienceEventType,
17328
17324
  re as WorkflowExperienceImpl,
17329
17325
  J as assetService,
17330
17326
  di as browserColorToHex,
17331
- Pr as cmPerPixel,
17327
+ vr as cmPerPixel,
17332
17328
  Ys as createDesign,
17333
- Sr as currentDirection,
17334
- wr as dataUrlFromExternalUrl,
17329
+ xr as currentDirection,
17330
+ ur as dataUrlFromExternalUrl,
17335
17331
  Le as designService,
17336
17332
  he as determineCorrectFontSizeAndLines,
17337
17333
  Pa as digitalContentStepService,
17338
17334
  tt as fetchAsString,
17339
- Qr as findAngle,
17335
+ pr as findAngle,
17340
17336
  L as findElement,
17341
- mr as findPmsColors,
17337
+ Qr as findPmsColors,
17342
17338
  Ut as frameDataCache,
17343
17339
  wt as frameStepService,
17344
17340
  k as generate,
17345
17341
  js as generateCommands,
17346
17342
  gt as generateSVGWithUnknownColors,
17347
- Or as generateStateFromDesignInputSteps,
17343
+ Lr as generateStateFromDesignInputSteps,
17348
17344
  xe as getAttributesFromArrayBuffer,
17349
17345
  fr as getAxisAlignedBoundingBox,
17350
17346
  Ji as getBoundedOffsets,
17351
- xr as getElementVertices,
17347
+ Yr as getElementVertices,
17352
17348
  Ye as getFrameData,
17353
- yr as getNEPoint,
17354
- Fr as getNWPoint,
17355
- Dr as getPointOfRotation,
17356
- Mr as getSEPoint,
17349
+ Mr as getNEPoint,
17350
+ yr as getNWPoint,
17351
+ Fr as getPointOfRotation,
17352
+ Sr as getSEPoint,
17357
17353
  uA as getSvgElement,
17358
- Ir as getTrueCoordinates,
17354
+ Dr as getTrueCoordinates,
17359
17355
  ge as getWorkflow,
17360
17356
  Xa as getWorkflows,
17361
17357
  P as graphQlManager,
17362
17358
  Be as illustrationStepService,
17363
- pr as isCloseToValue,
17359
+ Ir as isCloseToValue,
17364
17360
  _t as loadFont,
17365
- Er as matchHexToPms,
17361
+ mr as matchHexToPms,
17366
17362
  va as materialStepService,
17367
- Yr as mmPerPixel,
17363
+ Pr as mmPerPixel,
17368
17364
  Na as modelStepService,
17369
17365
  Ra as moduleStepService,
17370
17366
  _ as optionService,
17371
17367
  ut as patternImageDataCache,
17372
17368
  Y as persistenceService,
17373
17369
  ka as pictureStepService,
17374
- ur as pmsToRgb,
17370
+ Er as pmsToRgb,
17375
17371
  Ha as questionStepService,
17376
- Cr as registerFetchImplementation,
17377
- hr as registerWindowImplementation,
17372
+ wr as registerFetchImplementation,
17373
+ Cr as registerWindowImplementation,
17378
17374
  Dt as rehydrateSerializedLayout,
17379
17375
  ci as rgbToPms,
17380
17376
  ie as rotateAroundPoint,
17381
17377
  BA as sanitizeSvgTree,
17382
- Fn as setBearerAuthenticationToken,
17378
+ yn as setBearerAuthenticationToken,
17383
17379
  aa as setCanvasModule,
17384
17380
  Gt as shapeStepService,
17385
17381
  Oi as shortenUrl,
17386
17382
  nt as spiffCoreConfiguration,
17387
- Tr as stepAspectValuesToDesignInputSteps,
17383
+ Or as stepAspectValuesToDesignInputSteps,
17388
17384
  HA as svgColorValueToDefinition,
17389
17385
  wa as svgStringDimensions,
17390
17386
  _A as svgToDataUrl,