@spiffcommerce/core 29.2.0-beta.c2f233cf-0c8a-5f9b-b1db-025730373034 → 29.2.0-beta.decf8a29-8a3c-5a28-b86d-f2ac07bea19f

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.mjs CHANGED
@@ -11,7 +11,7 @@ import yt from "lodash.clonedeep";
11
11
  import { toString as ln } from "qrcode";
12
12
  import fr from "svg-path-bbox";
13
13
  import { parse as Ze } from "opentype.js";
14
- import { jsx as F, jsxs as ct, Fragment as Gt } from "preact/jsx-runtime";
14
+ import { jsx as x, jsxs as ct, Fragment as Gt } from "preact/jsx-runtime";
15
15
  import Cr from "handlebars";
16
16
  import { dataUriToBuffer as wr } from "data-uri-to-buffer";
17
17
  import ka from "lodash.chunk";
@@ -59,32 +59,32 @@ class ve extends Xt {
59
59
  super(`Workflow Misconfiguration: ${t.stepName} - ${e}`), this.step = t;
60
60
  }
61
61
  }
62
- class xe extends An {
62
+ class Fe extends An {
63
63
  constructor(t) {
64
64
  super(`ImplementationError - ${t}`);
65
65
  }
66
66
  }
67
- class G extends xe {
67
+ class G extends Fe {
68
68
  constructor(t) {
69
69
  super(`Unhandled Behavior Encountered: ${t}`);
70
70
  }
71
71
  }
72
- class Dt extends xe {
72
+ class Dt extends Fe {
73
73
  constructor(t) {
74
74
  super(`Parsing Error: ${t}`);
75
75
  }
76
76
  }
77
- class ut extends xe {
77
+ class ut extends Fe {
78
78
  constructor(t) {
79
79
  super(`Client Error: ${t}`);
80
80
  }
81
81
  }
82
- class Fe extends xe {
82
+ class xe extends Fe {
83
83
  constructor(t) {
84
84
  super(`Resource Generation Failed: ${t}`);
85
85
  }
86
86
  }
87
- class xr {
87
+ class Fr {
88
88
  get(t) {
89
89
  return localStorage.getItem(t) || void 0;
90
90
  }
@@ -127,13 +127,13 @@ class Na {
127
127
  this.set(t, a);
128
128
  }
129
129
  }
130
- const Fr = () => {
130
+ const xr = () => {
131
131
  try {
132
- return localStorage ? new xr() : new Na();
132
+ return localStorage ? new Fr() : new Na();
133
133
  } catch {
134
134
  return console.warn("Local storage was unavilable due to browser security settings. Using in-memory storage instead."), new Na();
135
135
  }
136
- }, N = Fr();
136
+ }, N = xr();
137
137
  class kr {
138
138
  constructor() {
139
139
  this.defaultServerUrl = "https://api.au.spiffcommerce.com", this.defaultServicesApiUrl = "https://services.au.spiffcommerce.com", this.defaultHubUrl = "https://hub.au.spiffcommerce.com", this.serverUrl = this.defaultServerUrl, this.servicesApiUrl = this.defaultServicesApiUrl, this.hubUrl = this.defaultHubUrl, this.serverUrlCallbacks = [];
@@ -1814,7 +1814,7 @@ const jr = (r) => new Promise((t) => {
1814
1814
  "Black 5 C",
1815
1815
  "Black 6 C",
1816
1816
  "Black 7 C"
1817
- ], xt = [
1817
+ ], Ft = [
1818
1818
  "FEDD00",
1819
1819
  "FFD700",
1820
1820
  "FE5000",
@@ -3156,17 +3156,17 @@ const jr = (r) => new Promise((t) => {
3156
3156
  "3E2B2E",
3157
3157
  "101820",
3158
3158
  "3D3935"
3159
- ], Le = xt.map((r) => [
3159
+ ], Le = Ft.map((r) => [
3160
3160
  parseInt(r.substring(0, 2), 16),
3161
3161
  parseInt(r.substring(2, 4), 16),
3162
3162
  parseInt(r.substring(4, 6), 16)
3163
3163
  ]);
3164
3164
  function Oc(r) {
3165
3165
  const t = Yt.indexOf(r);
3166
- return t >= 0 ? xt[t] : "";
3166
+ return t >= 0 ? Ft[t] : "";
3167
3167
  }
3168
3168
  function _r(r) {
3169
- const t = xt.indexOf(r);
3169
+ const t = Ft.indexOf(r);
3170
3170
  return t >= 0 ? Yt[t] : "";
3171
3171
  }
3172
3172
  function $c(r, t = 64) {
@@ -3178,16 +3178,16 @@ function $c(r, t = 64) {
3178
3178
  });
3179
3179
  const i = parseInt(r.substring(0, 2), 16), s = parseInt(r.substring(2, 4), 16), o = parseInt(r.substring(4, 6), 16);
3180
3180
  let l, c, d;
3181
- for (let A = 0; A < xt.length; A++) {
3181
+ for (let A = 0; A < Ft.length; A++) {
3182
3182
  l = Le[A][0], c = Le[A][1], d = Le[A][2];
3183
3183
  const u = Math.sqrt(Math.pow(i - l, 2) + Math.pow(s - c, 2) + Math.pow(o - d, 2));
3184
3184
  a.push(u);
3185
3185
  }
3186
3186
  for (let A = 0; A < a.length; A++)
3187
- a[A] <= t && !e.some((u) => u.pms === Yt[A]) && e.push({ pms: Yt[A], hex: xt[A], distance: a[A] });
3187
+ a[A] <= t && !e.some((u) => u.pms === Yt[A]) && e.push({ pms: Yt[A], hex: Ft[A], distance: a[A] });
3188
3188
  return e.sort((A, u) => A.distance - u.distance);
3189
3189
  }
3190
- const Xr = Yt.map((r, t) => ({ pms: r, hex: xt[t] })), Zr = new pr(Xr, { keys: ["pms"] });
3190
+ const Xr = Yt.map((r, t) => ({ pms: r, hex: Ft[t] })), Zr = new pr(Xr, { keys: ["pms"] });
3191
3191
  function Uc(r, t) {
3192
3192
  return Zr.search(r, t ? { limit: t } : void 0);
3193
3193
  }
@@ -3244,8 +3244,8 @@ const le = (r) => {
3244
3244
  "textPath",
3245
3245
  "tref",
3246
3246
  "tspan"
3247
- ], ai = ["fill", "stroke"], Ft = (r, t) => {
3248
- t(r), r.children.length > 0 && Array.from(r.children).forEach((e) => Ft(e, t));
3247
+ ], ai = ["fill", "stroke"], xt = (r, t) => {
3248
+ t(r), r.children.length > 0 && Array.from(r.children).forEach((e) => xt(e, t));
3249
3249
  }, ni = (r, t) => {
3250
3250
  try {
3251
3251
  return r.matches(t);
@@ -3255,7 +3255,7 @@ const le = (r) => {
3255
3255
  }, fa = (r, t = !1) => {
3256
3256
  !t && r.setAttribute("preserveAspectRatio", "none");
3257
3257
  const e = [];
3258
- Ft(r, (a) => {
3258
+ xt(r, (a) => {
3259
3259
  var i, s, o;
3260
3260
  if (a.tagName === "script") {
3261
3261
  a.remove();
@@ -3282,7 +3282,7 @@ const le = (r) => {
3282
3282
  }
3283
3283
  }), l.length > 0 ? a.setAttribute("style", l.join(";")) : a.removeAttribute("style");
3284
3284
  }
3285
- }), Ft(r, (a) => {
3285
+ }), xt(r, (a) => {
3286
3286
  e.forEach((n) => {
3287
3287
  var i;
3288
3288
  (i = n.selectors) == null || i.forEach((s) => {
@@ -3301,7 +3301,7 @@ const le = (r) => {
3301
3301
  }, yn = (r) => dt().parseFromString(r, "image/svg+xml").firstElementChild, ii = (r, t, e) => {
3302
3302
  r.setAttribute("height", `${e}px`), r.setAttribute("width", `${t}px`);
3303
3303
  }, Sn = (r, t, e) => {
3304
- Ft(r, (a) => {
3304
+ xt(r, (a) => {
3305
3305
  const n = a.attributes.getNamedItem("fill");
3306
3306
  n && n.value !== "none" && a.classList.forEach((s) => {
3307
3307
  if (s.startsWith("spiff-fill")) {
@@ -3358,7 +3358,7 @@ const le = (r) => {
3358
3358
  throw new Error("Failed to read SVG.");
3359
3359
  fa(e);
3360
3360
  const a = {};
3361
- Ft(e, (s) => {
3361
+ xt(e, (s) => {
3362
3362
  ei.includes(s.tagName) && !s.attributes.getNamedItem("fill") && s.setAttribute("fill", "black");
3363
3363
  const o = s.attributes.getNamedItem("fill");
3364
3364
  if (o && o.value !== "none" && !o.value.startsWith("url(")) {
@@ -4349,7 +4349,7 @@ const j = new yi(), Bn = v`
4349
4349
  workflowState
4350
4350
  }
4351
4351
  }
4352
- `, xn = (r) => v`
4352
+ `, Fn = (r) => v`
4353
4353
  ${Ne}
4354
4354
  fragment IntegrationProductFields on IntegrationProduct {
4355
4355
  id
@@ -4433,14 +4433,14 @@ const j = new yi(), Bn = v`
4433
4433
  }
4434
4434
  }
4435
4435
  `, Pi = (r) => v`
4436
- ${xn(r)}
4436
+ ${Fn(r)}
4437
4437
  query GetIntegrationProducts($ids: [String!]!) {
4438
4438
  integrationProducts(ids: $ids) {
4439
4439
  ...IntegrationProductFields
4440
4440
  }
4441
4441
  }
4442
4442
  `, Di = (r) => v`
4443
- ${xn(r)}
4443
+ ${Fn(r)}
4444
4444
  query GetIntegrationProductFromExternalIds($externalIntegrationId: String!, $externalProductId: String!) {
4445
4445
  integrationProductFromExternalIds(
4446
4446
  externalIntegrationId: $externalIntegrationId
@@ -4449,7 +4449,7 @@ const j = new yi(), Bn = v`
4449
4449
  ...IntegrationProductFields
4450
4450
  }
4451
4451
  }
4452
- `, xi = v`
4452
+ `, Fi = v`
4453
4453
  ${In}
4454
4454
  query ReadTransactionForStakeholders($id: String!) {
4455
4455
  transactions(ids: [$id]) {
@@ -4461,7 +4461,7 @@ const j = new yi(), Bn = v`
4461
4461
  }
4462
4462
  }
4463
4463
  }
4464
- `, Fi = v`
4464
+ `, xi = v`
4465
4465
  mutation FinalizeUpdateTransaction($transactionId: String!) {
4466
4466
  transactionFinalizeUpdate(transactionId: $transactionId)
4467
4467
  }
@@ -5246,7 +5246,7 @@ const j = new yi(), Bn = v`
5246
5246
  );
5247
5247
  return i;
5248
5248
  };
5249
- class Fn {
5249
+ class xn {
5250
5250
  constructor() {
5251
5251
  this.timestamp = Date.now();
5252
5252
  }
@@ -5340,9 +5340,9 @@ const Q = () => {
5340
5340
  width: u
5341
5341
  }) => {
5342
5342
  var E;
5343
- const h = e || 0, m = 2 * ((l == null ? void 0 : l.scale) || 1), g = A || { x: 0, y: 0, width: u, height: i }, p = `${g.x} ${g.y} ${g.width} ${g.height}`, f = Q(), C = a.purpose === Ht.FreeDesign && /* @__PURE__ */ F("defs", { children: /* @__PURE__ */ F("clipPath", { id: "viewboxClip", children: /* @__PURE__ */ F("rect", { width: g.width, height: g.height, rx: h }) }) }), w = (E = a.colorProfiles) == null ? void 0 : E.map((b, P) => (
5343
+ const h = e || 0, m = 2 * ((l == null ? void 0 : l.scale) || 1), g = A || { x: 0, y: 0, width: u, height: i }, p = `${g.x} ${g.y} ${g.width} ${g.height}`, f = Q(), C = a.purpose === Ht.FreeDesign && /* @__PURE__ */ x("defs", { children: /* @__PURE__ */ x("clipPath", { id: "viewboxClip", children: /* @__PURE__ */ x("rect", { width: g.width, height: g.height, rx: h }) }) }), w = (E = a.colorProfiles) == null ? void 0 : E.map((b, P) => (
5344
5344
  /* @ts-ignore */
5345
- /* @__PURE__ */ F("color-profile", { name: b.name, xlinkHref: b.key, children: " " }, P)
5345
+ /* @__PURE__ */ x("color-profile", { name: b.name, xlinkHref: b.key, children: " " }, P)
5346
5346
  )), S = n.map((b) => ({
5347
5347
  ...b,
5348
5348
  _renderingConfiguration: a,
@@ -5369,7 +5369,7 @@ const Q = () => {
5369
5369
  children: [
5370
5370
  w,
5371
5371
  C,
5372
- !!r && /* @__PURE__ */ F(
5372
+ !!r && /* @__PURE__ */ x(
5373
5373
  "rect",
5374
5374
  {
5375
5375
  id: "layout-background",
@@ -5379,7 +5379,7 @@ const Q = () => {
5379
5379
  rx: h
5380
5380
  }
5381
5381
  ),
5382
- /* @__PURE__ */ F(
5382
+ /* @__PURE__ */ x(
5383
5383
  "g",
5384
5384
  {
5385
5385
  id: "element-group",
@@ -5387,7 +5387,7 @@ const Q = () => {
5387
5387
  children: y.map((b) => $n(b)).filter((b) => !!b)
5388
5388
  }
5389
5389
  ),
5390
- l && /* @__PURE__ */ F(
5390
+ l && /* @__PURE__ */ x(
5391
5391
  "rect",
5392
5392
  {
5393
5393
  x: l.x,
@@ -5401,7 +5401,7 @@ const Q = () => {
5401
5401
  }
5402
5402
  ),
5403
5403
  l && /* @__PURE__ */ ct("mask", { id: `viewmask-${f}`, children: [
5404
- /* @__PURE__ */ F(
5404
+ /* @__PURE__ */ x(
5405
5405
  "rect",
5406
5406
  {
5407
5407
  x: g.x,
@@ -5411,7 +5411,7 @@ const Q = () => {
5411
5411
  fill: "black"
5412
5412
  }
5413
5413
  ),
5414
- /* @__PURE__ */ F(
5414
+ /* @__PURE__ */ x(
5415
5415
  "rect",
5416
5416
  {
5417
5417
  x: l.x,
@@ -5505,7 +5505,7 @@ const Q = () => {
5505
5505
  };
5506
5506
  }, Kc = 0.352778, _c = 0.035277, Mn = (r) => {
5507
5507
  const t = r.rotation || 0, e = pt(t), a = Math.cos(e), n = -Math.sin(e);
5508
- return /* @__PURE__ */ F("g", { mask: r.stepName || r.productOverlay ? void 0 : r.mask, children: /* @__PURE__ */ F(
5508
+ return /* @__PURE__ */ x("g", { mask: r.stepName || r.productOverlay ? void 0 : r.mask, children: /* @__PURE__ */ x(
5509
5509
  "g",
5510
5510
  {
5511
5511
  transform: `
@@ -5514,7 +5514,7 @@ const Q = () => {
5514
5514
  matrix(${a}, ${-n}, ${n}, ${a}, 0, 0)
5515
5515
  matrix(1, 0, 0, 1, ${-r.width / 2}, ${-r.height / 2})
5516
5516
  `,
5517
- children: /* @__PURE__ */ F(
5517
+ children: /* @__PURE__ */ x(
5518
5518
  "image",
5519
5519
  {
5520
5520
  xlinkHref: r.src,
@@ -5529,7 +5529,7 @@ const Q = () => {
5529
5529
  var l;
5530
5530
  const t = `spiff-group-clip-${r.id}`, e = r.rotation || 0, a = pt(e), n = Math.cos(a), i = -Math.sin(a), s = Ea(r.children);
5531
5531
  return /* @__PURE__ */ ct(Gt, { children: [
5532
- /* @__PURE__ */ F("defs", { children: (() => /* @__PURE__ */ F("clipPath", { id: t, preserveAspectRatio: "none", children: r.clipPath ? /* @__PURE__ */ F("path", { d: r.clipPath }) : /* @__PURE__ */ F("rect", { x: 0, y: 0, width: r.width, height: r.height }) }))() }),
5532
+ /* @__PURE__ */ x("defs", { children: (() => /* @__PURE__ */ x("clipPath", { id: t, preserveAspectRatio: "none", children: r.clipPath ? /* @__PURE__ */ x("path", { d: r.clipPath }) : /* @__PURE__ */ x("rect", { x: 0, y: 0, width: r.width, height: r.height }) }))() }),
5533
5533
  /* @__PURE__ */ ct(
5534
5534
  "g",
5535
5535
  {
@@ -5540,7 +5540,7 @@ const Q = () => {
5540
5540
  matrix(1, 0, 0, 1, ${-r.width / 2}, ${-r.height / 2})
5541
5541
  `,
5542
5542
  children: [
5543
- (l = r._renderingConfiguration) != null && l.debug ? /* @__PURE__ */ F(
5543
+ (l = r._renderingConfiguration) != null && l.debug ? /* @__PURE__ */ x(
5544
5544
  "rect",
5545
5545
  {
5546
5546
  stroke: "red",
@@ -5552,7 +5552,7 @@ const Q = () => {
5552
5552
  height: r.height
5553
5553
  }
5554
5554
  ) : void 0,
5555
- s.map((c) => $n(c)).filter((c) => !!c).map((c) => /* @__PURE__ */ F("g", { clipPath: `url(#${t})`, children: c }))
5555
+ s.map((c) => $n(c)).filter((c) => !!c).map((c) => /* @__PURE__ */ x("g", { clipPath: `url(#${t})`, children: c }))
5556
5556
  ]
5557
5557
  }
5558
5558
  )
@@ -5568,9 +5568,9 @@ const Q = () => {
5568
5568
  return r.pattern.src;
5569
5569
  };
5570
5570
  if (!a())
5571
- return /* @__PURE__ */ F(Gt, {});
5572
- const n = () => r.threshold ? r.invertThreshold ? "1 ".repeat(r.threshold) + "0 ".repeat(256 - r.threshold) : "0 ".repeat(r.threshold) + "1 ".repeat(256 - r.threshold) : "", i = () => /* @__PURE__ */ F(Gt, { children: r.useThreshold && /* @__PURE__ */ F("defs", { children: /* @__PURE__ */ ct("filter", { id: e, "color-interpolation-filters": "sRGB", children: [
5573
- /* @__PURE__ */ F(
5571
+ return /* @__PURE__ */ x(Gt, {});
5572
+ const n = () => r.threshold ? r.invertThreshold ? "1 ".repeat(r.threshold) + "0 ".repeat(256 - r.threshold) : "0 ".repeat(r.threshold) + "1 ".repeat(256 - r.threshold) : "", i = () => /* @__PURE__ */ x(Gt, { children: r.useThreshold && /* @__PURE__ */ x("defs", { children: /* @__PURE__ */ ct("filter", { id: e, "color-interpolation-filters": "sRGB", children: [
5573
+ /* @__PURE__ */ x(
5574
5574
  "feColorMatrix",
5575
5575
  {
5576
5576
  type: "matrix",
@@ -5584,14 +5584,14 @@ const Q = () => {
5584
5584
  }
5585
5585
  ),
5586
5586
  /* @__PURE__ */ ct("feComponentTransfer", { in: "greyscale", children: [
5587
- /* @__PURE__ */ F("feFuncR", { type: "discrete", tableValues: n() }),
5588
- /* @__PURE__ */ F("feFuncG", { type: "discrete", tableValues: n() }),
5589
- /* @__PURE__ */ F("feFuncB", { type: "discrete", tableValues: n() })
5587
+ /* @__PURE__ */ x("feFuncR", { type: "discrete", tableValues: n() }),
5588
+ /* @__PURE__ */ x("feFuncG", { type: "discrete", tableValues: n() }),
5589
+ /* @__PURE__ */ x("feFuncB", { type: "discrete", tableValues: n() })
5590
5590
  ] })
5591
5591
  ] }) }) }), s = r.rotation || 0, o = pt(s), l = Math.cos(o), c = -Math.sin(o), d = () => {
5592
- var w, S, y, E, b, P, D, x, k, T;
5592
+ var w, S, y, E, b, P, D, F, k, T;
5593
5593
  const A = ((w = r.pattern) == null ? void 0 : w.x) || 0, u = ((S = r.pattern) == null ? void 0 : S.y) || 0, h = ((y = r.pattern) == null ? void 0 : y.width) || 0, m = ((E = r.pattern) == null ? void 0 : E.height) || 0, g = ((b = r.pattern) == null ? void 0 : b.scaleX) || 1, p = ((P = r.pattern) == null ? void 0 : P.scaleY) || 1, f = ((D = r.pattern) == null ? void 0 : D.rotation) || 0;
5594
- return [(x = r.pattern) != null && x.svg ? {
5594
+ return [(F = r.pattern) != null && F.svg ? {
5595
5595
  id: `${t}-contents`,
5596
5596
  type: M.Illustration,
5597
5597
  x: A,
@@ -5615,13 +5615,13 @@ const Q = () => {
5615
5615
  };
5616
5616
  return /* @__PURE__ */ ct(Gt, { children: [
5617
5617
  i(),
5618
- /* @__PURE__ */ F(
5618
+ /* @__PURE__ */ x(
5619
5619
  "g",
5620
5620
  {
5621
5621
  opacity: r.opacity,
5622
5622
  mask: r.stepName ? void 0 : r.mask,
5623
5623
  filter: r.useThreshold ? `url(#${e})` : void 0,
5624
- children: /* @__PURE__ */ F(
5624
+ children: /* @__PURE__ */ x(
5625
5625
  "g",
5626
5626
  {
5627
5627
  transform: `
@@ -5631,7 +5631,7 @@ const Q = () => {
5631
5631
  matrix(1, 0, 0, 1, ${-r.width / 2}, ${-r.height / 2})
5632
5632
  matrix(${r.scaleX}, 0, 0, ${r.scaleY}, 0, 0)
5633
5633
  `,
5634
- children: /* @__PURE__ */ F(
5634
+ children: /* @__PURE__ */ x(
5635
5635
  Tn,
5636
5636
  {
5637
5637
  id: t,
@@ -5760,8 +5760,8 @@ const _i = (r) => r.substring(0, 5).toLowerCase().trim() === "data:", Ve = /* @_
5760
5760
  parseInt(u.getAttribute("font-size") ?? "72")
5761
5761
  );
5762
5762
  b.fill = p, b.stroke = f, b.strokeWidth = parseFloat(C ?? "0");
5763
- const P = b.toSVG(2), x = t.parseFromString(P, "image/svg+xml").firstElementChild;
5764
- h.appendChild(x);
5763
+ const P = b.toSVG(2), F = t.parseFromString(P, "image/svg+xml").firstElementChild;
5764
+ h.appendChild(F);
5765
5765
  }
5766
5766
  return e.querySelectorAll("text").forEach((d) => d.remove()), bt().serializeToString(a);
5767
5767
  }, be = (r, t, e, a) => Math.max(as(r.join(`
@@ -5920,7 +5920,7 @@ const is = (r) => {
5920
5920
  };
5921
5921
  return /* @__PURE__ */ ct(Gt, { children: [
5922
5922
  /* @__PURE__ */ ct("defs", { children: [
5923
- r.textFillImage && /* @__PURE__ */ F(
5923
+ r.textFillImage && /* @__PURE__ */ x(
5924
5924
  "pattern",
5925
5925
  {
5926
5926
  id: s,
@@ -5929,7 +5929,7 @@ const is = (r) => {
5929
5929
  height: r.textFillImage.scale * r.textFillImage.height,
5930
5930
  x: 0,
5931
5931
  y: 0,
5932
- children: /* @__PURE__ */ F(
5932
+ children: /* @__PURE__ */ x(
5933
5933
  "image",
5934
5934
  {
5935
5935
  href: r.textFillImage.src,
@@ -5940,7 +5940,7 @@ const is = (r) => {
5940
5940
  )
5941
5941
  }
5942
5942
  ),
5943
- /* @__PURE__ */ F(
5943
+ /* @__PURE__ */ x(
5944
5944
  "style",
5945
5945
  {
5946
5946
  type: "text/css",
@@ -5954,10 +5954,10 @@ const is = (r) => {
5954
5954
  }
5955
5955
  }
5956
5956
  ),
5957
- r.curved && r.paths ? /* @__PURE__ */ F("path", { id: i, d: r.paths[0] }) : void 0
5957
+ r.curved && r.paths ? /* @__PURE__ */ x("path", { id: i, d: r.paths[0] }) : void 0
5958
5958
  ] }),
5959
- (C = r._renderingConfiguration) != null && C.debug ? /* @__PURE__ */ F("rect", { stroke: "blue", fill: "none", x: r.x, y: r.y, width: r.width, height: r.height }) : void 0,
5960
- /* @__PURE__ */ F("g", { mask: r.stepName ? void 0 : r.mask, children: /* @__PURE__ */ F("g", { transform: `matrix(${a}, ${-n}, ${n}, ${a}, ${o}, ${l})`, children: /* @__PURE__ */ F(
5959
+ (C = r._renderingConfiguration) != null && C.debug ? /* @__PURE__ */ x("rect", { stroke: "blue", fill: "none", x: r.x, y: r.y, width: r.width, height: r.height }) : void 0,
5960
+ /* @__PURE__ */ x("g", { mask: r.stepName ? void 0 : r.mask, children: /* @__PURE__ */ x("g", { transform: `matrix(${a}, ${-n}, ${n}, ${a}, ${o}, ${l})`, children: /* @__PURE__ */ x(
5961
5961
  "text",
5962
5962
  {
5963
5963
  xmlSpace: "preserve",
@@ -5972,7 +5972,7 @@ const is = (r) => {
5972
5972
  },
5973
5973
  stroke: A,
5974
5974
  strokeWidth: u,
5975
- children: r.curved ? /* @__PURE__ */ F(os, { text: c, curvedPathId: i, align: r.align }) : d.map((w, S) => /* @__PURE__ */ F(
5975
+ children: r.curved ? /* @__PURE__ */ x(os, { text: c, curvedPathId: i, align: r.align }) : d.map((w, S) => /* @__PURE__ */ x(
5976
5976
  ss,
5977
5977
  {
5978
5978
  align: r.vertical ? "center" : r.align,
@@ -6003,10 +6003,10 @@ const is = (r) => {
6003
6003
  const s = (r.amountLines - 1) / 2;
6004
6004
  return (r.thisLineIdx - s) * n + r.fontSize / 4;
6005
6005
  };
6006
- return /* @__PURE__ */ F("tspan", { textAnchor: Rn(r.align), x: e(), y: `${a()}px`, children: r.text });
6006
+ return /* @__PURE__ */ x("tspan", { textAnchor: Rn(r.align), x: e(), y: `${a()}px`, children: r.text });
6007
6007
  }, os = (r) => {
6008
6008
  const t = `#${r.curvedPathId}`;
6009
- return /* @__PURE__ */ F(
6009
+ return /* @__PURE__ */ x(
6010
6010
  "textPath",
6011
6011
  {
6012
6012
  startOffset: (() => r.align === "left" ? "0%" : r.align === "right" ? "100%" : "50%")(),
@@ -6019,7 +6019,7 @@ const is = (r) => {
6019
6019
  }, ls = (r) => {
6020
6020
  var s, o;
6021
6021
  if (r.cachedObjectURL && !((s = r._renderingConfiguration) != null && s.omitCachedFields))
6022
- return /* @__PURE__ */ F(
6022
+ return /* @__PURE__ */ x(
6023
6023
  Mn,
6024
6024
  {
6025
6025
  id: r.id,
@@ -6044,7 +6044,7 @@ const is = (r) => {
6044
6044
  throw new Error(
6045
6045
  `Illustration element ${r.id} (stepName ${r.stepName}) lacked svg from src ${r.src} at render time.`
6046
6046
  );
6047
- return /* @__PURE__ */ F("g", { mask: r.stepName ? void 0 : r.mask, children: /* @__PURE__ */ F(
6047
+ return /* @__PURE__ */ x("g", { mask: r.stepName ? void 0 : r.mask, children: /* @__PURE__ */ x(
6048
6048
  "g",
6049
6049
  {
6050
6050
  transform: i,
@@ -6152,9 +6152,9 @@ class cs {
6152
6152
  return { ...t, transaction: e.apply(a) };
6153
6153
  }
6154
6154
  }
6155
- const $n = (r) => r.type === M.Image ? /* @__PURE__ */ F(Mn, { ...r }, r.id) : r.type === M.Frame ? /* @__PURE__ */ F(Ji, { ...r }, r.id) : r.type === M.Illustration ? /* @__PURE__ */ F(ls, { ...r }, r.id) : r.type === M.Textbox ? /* @__PURE__ */ F(is, { ...r }, r.id) : r.type === M.Group ? /* @__PURE__ */ F(Tn, { ...r }, r.id) : null, va = (r, t, e) => {
6155
+ const $n = (r) => r.type === M.Image ? /* @__PURE__ */ x(Mn, { ...r }, r.id) : r.type === M.Frame ? /* @__PURE__ */ x(Ji, { ...r }, r.id) : r.type === M.Illustration ? /* @__PURE__ */ x(ls, { ...r }, r.id) : r.type === M.Textbox ? /* @__PURE__ */ x(is, { ...r }, r.id) : r.type === M.Group ? /* @__PURE__ */ x(Tn, { ...r }, r.id) : null, va = (r, t, e) => {
6156
6156
  const a = e.renderingConfiguration, n = a != null && a.removeExcludedElements ? t.filter((i) => !i.excludeFromExport) : t;
6157
- return /* @__PURE__ */ F(
6157
+ return /* @__PURE__ */ x(
6158
6158
  Yi,
6159
6159
  {
6160
6160
  preserveAspectRatio: void 0,
@@ -7340,7 +7340,7 @@ const ws = async (r) => {
7340
7340
  }
7341
7341
  })).json()).shortUrl;
7342
7342
  } catch (e) {
7343
- throw console.error(e), new Fe("Failed to shorten URL, see console.");
7343
+ throw console.error(e), new xe("Failed to shorten URL, see console.");
7344
7344
  }
7345
7345
  };
7346
7346
  class Gn {
@@ -7413,7 +7413,7 @@ class ys {
7413
7413
  l.searchParams.append("video", btoa(JSON.stringify([s]))), l.pathname = l.pathname + (l.pathname.slice(-1) === "/" ? "" : "/");
7414
7414
  const c = l.toString();
7415
7415
  if (c.length >= 2e3)
7416
- throw new Fe("Cannot create QR code, URL too long.");
7416
+ throw new xe("Cannot create QR code, URL too long.");
7417
7417
  const d = await ws(c);
7418
7418
  if (!n.data || !n.data.regions)
7419
7419
  throw new ve(n, "Missing regions.");
@@ -7594,7 +7594,7 @@ class Ie {
7594
7594
  });
7595
7595
  },
7596
7596
  () => {
7597
- throw new Fe("Failed to resolve transcoded PDF");
7597
+ throw new xe("Failed to resolve transcoded PDF");
7598
7598
  }
7599
7599
  )
7600
7600
  );
@@ -8059,7 +8059,7 @@ class Ss {
8059
8059
  const y = {};
8060
8060
  (((S = o.assetConfiguration) == null ? void 0 : S.channelNumbers) || []).forEach((b) => {
8061
8061
  var D;
8062
- const P = C.find((x) => x.channelNumber === b.number);
8062
+ const P = C.find((F) => F.channelNumber === b.number);
8063
8063
  P && (y[`${b.id.replace(/\W/g, "")}`] = { browserValue: ((D = P == null ? void 0 : P.variant) == null ? void 0 : D.color) || "" });
8064
8064
  }), await this.changeColors(
8065
8065
  t,
@@ -8075,7 +8075,7 @@ class Ss {
8075
8075
  const P = y[0], D = E[0];
8076
8076
  await this.changeColors(
8077
8077
  t,
8078
- u.map((x) => x.regionElement),
8078
+ u.map((F) => F.regionElement),
8079
8079
  i,
8080
8080
  () => i.getCommandContext().getAllLayouts(),
8081
8081
  /* @__PURE__ */ new Map([[D, P.variant.color]])
@@ -8720,7 +8720,7 @@ class Ds {
8720
8720
  );
8721
8721
  }
8722
8722
  }
8723
- const xs = new Ds(), je = (r, t, e, a, n) => {
8723
+ const Fs = new Ds(), je = (r, t, e, a, n) => {
8724
8724
  if (t.some((d) => d == null))
8725
8725
  throw new Error(`Failed to autosize lines: ${t.join(", ")}`);
8726
8726
  let i = t.map((d) => d.split(`
@@ -8770,7 +8770,7 @@ class Pe extends Error {
8770
8770
  super(t), Object.setPrototypeOf(this, new.target.prototype), this.name = Pe.name;
8771
8771
  }
8772
8772
  }
8773
- const Fs = ["‘", "’", "“", "”", `
8773
+ const xs = ["‘", "’", "“", "”", `
8774
8774
  `];
8775
8775
  class De extends Error {
8776
8776
  constructor(t) {
@@ -8786,7 +8786,7 @@ class ks {
8786
8786
  );
8787
8787
  const n = [], i = e ? vt(e.assetUrl) : void 0;
8788
8788
  if (i) {
8789
- const s = a.split("").filter((l) => !Fs.includes(l)).join(""), o = s.split("").map((l) => i.getFont().charToGlyph(l));
8789
+ const s = a.split("").filter((l) => !xs.includes(l)).join(""), o = s.split("").map((l) => i.getFont().charToGlyph(l));
8790
8790
  for (let l = 0; l < o.length; l++)
8791
8791
  o[l].name === ".notdef" && n.push(String.fromCharCode(s.charCodeAt(l)));
8792
8792
  }
@@ -9339,10 +9339,10 @@ class ks {
9339
9339
  { size: a.size, minSize: a.minSize, maxSize: a.maxSize }
9340
9340
  );
9341
9341
  E.set(S.id, P), b.set(S.id, D);
9342
- const x = a.curved || a.vertical ? l : (D || []).join(`
9342
+ const F = a.curved || a.vertical ? l : (D || []).join(`
9343
9343
  `);
9344
9344
  y.push(
9345
- this.generateTextChangeCommandsForRegion(P, a, S.id, x)
9345
+ this.generateTextChangeCommandsForRegion(P, a, S.id, F)
9346
9346
  );
9347
9347
  const k = new W(S, h);
9348
9348
  return {
@@ -9355,7 +9355,7 @@ class ks {
9355
9355
  throw console.log(p), new Pe("Error adding font to region");
9356
9356
  }
9357
9357
  }, d = await Promise.all(a.regions.map(c)).catch((A) => {
9358
- throw A instanceof Pe ? (xs.setLatestToast("Failed to load font.", Oe.Error), A) : A instanceof De ? A : new Error(A);
9358
+ throw A instanceof Pe ? (Fs.setLatestToast("Failed to load font.", Oe.Error), A) : A instanceof De ? A : new Error(A);
9359
9359
  });
9360
9360
  return await s.setSelectionsAndElements(
9361
9361
  t,
@@ -9631,7 +9631,6 @@ const re = v`
9631
9631
  value
9632
9632
  type
9633
9633
  channel
9634
- mandatoryFulfilled
9635
9634
  storage {
9636
9635
  ... on GlobalPropertyStateColorOptionStorage {
9637
9636
  customColor
@@ -10307,7 +10306,7 @@ const re = v`
10307
10306
  `;
10308
10307
  var Oe = /* @__PURE__ */ ((r) => (r.Error = "Error", r.Warning = "Warning", r.Info = "Info", r))(Oe || {});
10309
10308
  const wo = 1e3;
10310
- class Ja extends Fn {
10309
+ class Ja extends xn {
10311
10310
  constructor(t) {
10312
10311
  super(), this.createdAt = /* @__PURE__ */ new Date(), this.update = t;
10313
10312
  }
@@ -10852,7 +10851,7 @@ class yo {
10852
10851
  async updateTransactionStakeholders() {
10853
10852
  var e;
10854
10853
  const t = await B.getShadowGraphqlClient().query({
10855
- query: xi,
10854
+ query: Fi,
10856
10855
  errorPolicy: "all",
10857
10856
  fetchPolicy: "no-cache",
10858
10857
  variables: {
@@ -11671,7 +11670,7 @@ class Do extends it {
11671
11670
  return this.step.data.content;
11672
11671
  }
11673
11672
  }
11674
- class xo extends it {
11673
+ class Fo extends it {
11675
11674
  constructor(t, e, a) {
11676
11675
  super(t, e, a);
11677
11676
  }
@@ -11698,7 +11697,7 @@ class xo extends it {
11698
11697
  );
11699
11698
  }
11700
11699
  }
11701
- class Fo extends it {
11700
+ class xo extends it {
11702
11701
  constructor(t, e, a) {
11703
11702
  super(t, e, a);
11704
11703
  }
@@ -11750,7 +11749,7 @@ class de {
11750
11749
  static get(t, e) {
11751
11750
  switch (e.type) {
11752
11751
  case I.DigitalContent:
11753
- return new xo(t, e, t.getStepTags(e.stepName));
11752
+ return new Fo(t, e, t.getStepTags(e.stepName));
11754
11753
  case I.Information:
11755
11754
  return new Do(t, e, t.getStepTags(e.stepName));
11756
11755
  case I.Question:
@@ -11770,7 +11769,7 @@ class de {
11770
11769
  case I.Frame:
11771
11770
  return new ql(t, e, t.getStepTags(e.stepName));
11772
11771
  case I.Module:
11773
- return new Fo(t, e, t.getStepTags(e.stepName));
11772
+ return new xo(t, e, t.getStepTags(e.stepName));
11774
11773
  default:
11775
11774
  throw new G(`Step type ${e.type} not yet supported in Core SDK`);
11776
11775
  }
@@ -12003,13 +12002,13 @@ const To = async (r, t) => {
12003
12002
  if (c !== void 0)
12004
12003
  return c;
12005
12004
  await r.outstandingRequestsPromise();
12006
- const x = (N.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(n.id), T = await B.getShadowGraphqlClient().query({
12005
+ const F = (N.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(n.id), T = await B.getShadowGraphqlClient().query({
12007
12006
  query: Dn,
12008
12007
  variables: { ids: [n.id] },
12009
12008
  fetchPolicy: "no-cache",
12010
12009
  errorPolicy: "all",
12011
12010
  context: {
12012
- transactionOwnerId: x
12011
+ transactionOwnerId: F
12013
12012
  }
12014
12013
  }), Z = (R = T.data) == null ? void 0 : R.transactions[0].workflowState;
12015
12014
  return T.errors ? (T.errors.forEach((et) => {
@@ -12017,7 +12016,7 @@ const To = async (r, t) => {
12017
12016
  }), null) : Z ?? null;
12018
12017
  })() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(a())), await r.updateStateWithServerImmediate(a), console.log("Server state is undefined @ Workflow completion"));
12019
12018
  const u = r.getPreviewService(), h = (P = t == null ? void 0 : t.finalizeStepConfig) == null ? void 0 : P.lookAtAnimation, m = u && t.showModelOnFinishStep && !!h, g = l && da(l, t, !0), p = l && da(l, t, !1), f = async (D) => {
12020
- const x = {};
12019
+ const F = {};
12021
12020
  let k = 0;
12022
12021
  if (Object.keys(i).length > 0)
12023
12022
  for (const T of Object.keys(i)) {
@@ -12026,11 +12025,11 @@ const To = async (r, t) => {
12026
12025
  const tt = Z.selections[et];
12027
12026
  if (R && (!D || R.option && (R.option.variants || []).length > 1 && !R.data.hideSelectionInCart && !R.data.hideSelectionsInCart)) {
12028
12027
  const Nt = R.stepTitle;
12029
- x[Nt] ? x[Nt].push({
12028
+ F[Nt] ? F[Nt].push({
12030
12029
  id: tt.id || "",
12031
12030
  name: tt.name,
12032
12031
  priceModifier: tt.priceModifier
12033
- }) : x[Nt] = [
12032
+ }) : F[Nt] = [
12034
12033
  {
12035
12034
  id: tt.id || "",
12036
12035
  name: tt.name,
@@ -12041,13 +12040,13 @@ const To = async (r, t) => {
12041
12040
  k += tt.priceModifier;
12042
12041
  }
12043
12042
  }
12044
- return [x, k];
12043
+ return [F, k];
12045
12044
  }, [C] = await f(!0), w = Object.fromEntries(
12046
- Object.keys(C).map((D) => [D, C[D].map((x) => x.id)])
12045
+ Object.keys(C).map((D) => [D, C[D].map((F) => F.id)])
12047
12046
  ), [S] = await f(!1), y = Object.fromEntries(
12048
12047
  Object.keys(S).map((D) => [
12049
12048
  D,
12050
- S[D].map((x) => x.id)
12049
+ S[D].map((F) => F.id)
12051
12050
  ])
12052
12051
  );
12053
12052
  let E = await o(m, n.id);
@@ -12064,9 +12063,9 @@ const To = async (r, t) => {
12064
12063
  designDetails: (() => {
12065
12064
  const D = {
12066
12065
  name: s,
12067
- layouts: e.map((x) => ({
12068
- index: x.index,
12069
- panelId: x.panelId
12066
+ layouts: e.map((F) => ({
12067
+ index: F.index,
12068
+ panelId: F.panelId
12070
12069
  })),
12071
12070
  workflowId: t.id,
12072
12071
  transactionId: n.id,
@@ -12074,16 +12073,16 @@ const To = async (r, t) => {
12074
12073
  previewImage: E
12075
12074
  };
12076
12075
  if (p) {
12077
- const x = [];
12076
+ const F = [];
12078
12077
  for (const [k, T] of Object.entries(p))
12079
- x.push({ key: k, value: T });
12080
- D.metadata = x;
12078
+ F.push({ key: k, value: T });
12079
+ D.metadata = F;
12081
12080
  }
12082
12081
  if (w) {
12083
- const x = [];
12082
+ const F = [];
12084
12083
  for (const [k, T] of Object.entries(y))
12085
- x.push({ key: k, ids: T });
12086
- D.selectedVariants = x;
12084
+ F.push({ key: k, ids: T });
12085
+ D.selectedVariants = F;
12087
12086
  }
12088
12087
  return D;
12089
12088
  })(),
@@ -12408,7 +12407,7 @@ class Go {
12408
12407
  height: d.layoutState.layout.height
12409
12408
  }, u = this.commandContext.getLayoutById(d.layoutState.layout.id), h = s.getContext("2d");
12410
12409
  if (!h)
12411
- throw new Fe("Failed to obtain 2D context for preview image creation");
12410
+ throw new xe("Failed to obtain 2D context for preview image creation");
12412
12411
  const m = va(u.layoutState.layout, u.layoutState.elements, {
12413
12412
  renderingConfiguration: {
12414
12413
  purpose: Ht.Print,
@@ -12621,7 +12620,7 @@ class Go {
12621
12620
  async onDesignFinished(t, e = !0) {
12622
12621
  const a = this.workflowManager.getTransaction();
12623
12622
  return a.completed ? (await this.graphQlClient().mutate({
12624
- mutation: Fi,
12623
+ mutation: xi,
12625
12624
  variables: {
12626
12625
  transactionId: a.id
12627
12626
  }
@@ -12898,17 +12897,17 @@ const Wo = (r) => {
12898
12897
  return console.error("Failed to read SVG."), [];
12899
12898
  fa(m);
12900
12899
  const g = {};
12901
- Ft(m, (b) => {
12900
+ xt(m, (b) => {
12902
12901
  Ho.includes(b.tagName) && !b.attributes.getNamedItem("fill") && b.setAttribute("fill", "#000000");
12903
12902
  const P = b.attributes.getNamedItem("fill");
12904
12903
  if (P && P.value !== "none") {
12905
- const x = P.value, T = `spiff-fill-${x.replace(/\W/g, "")}`;
12906
- b.classList.add(T), g[T] = { browserValue: x };
12904
+ const F = P.value, T = `spiff-fill-${F.replace(/\W/g, "")}`;
12905
+ b.classList.add(T), g[T] = { browserValue: F };
12907
12906
  }
12908
12907
  const D = b.attributes.getNamedItem("stroke");
12909
12908
  if (D && D.value !== "none") {
12910
- const x = D.value, T = `spiff-stroke-${x.replace(/\W/g, "")}`;
12911
- b.classList.add(T), g[T] = { browserValue: x };
12909
+ const F = D.value, T = `spiff-stroke-${F.replace(/\W/g, "")}`;
12910
+ b.classList.add(T), g[T] = { browserValue: F };
12912
12911
  }
12913
12912
  });
12914
12913
  const f = bt().serializeToString(m), C = n.colors;
@@ -12921,7 +12920,7 @@ const Wo = (r) => {
12921
12920
  }
12922
12921
  }
12923
12922
  const w = (b) => {
12924
- const P = r.find((x) => x.panelId === b.panelId);
12923
+ const P = r.find((F) => F.panelId === b.panelId);
12925
12924
  if (!P)
12926
12925
  throw new Y(b);
12927
12926
  const D = Q();
@@ -13405,7 +13404,7 @@ class sl {
13405
13404
  );
13406
13405
  }
13407
13406
  }
13408
- class ol extends Fn {
13407
+ class ol extends xn {
13409
13408
  constructor(t, e, a, n, i, s) {
13410
13409
  super(), this.layoutId = t, this.ctx = e, this.nonPOTSupport = a, this.onRender = n, this.layouts = i, this.getWorkflowManager = s;
13411
13410
  }
@@ -13675,9 +13674,9 @@ class cl extends Pa {
13675
13674
  backgroundRemovedAssetKey: void 0,
13676
13675
  useOriginalAsset: void 0
13677
13676
  },
13678
- void 0,
13679
- !0
13677
+ void 0
13680
13678
  ),
13679
+ e.setAspectMandatoryFulfilled(this.property.name, !0),
13681
13680
  this.applyImageSelection(t),
13682
13681
  this.loadImageData()
13683
13682
  ]);
@@ -13893,7 +13892,8 @@ class dl extends Pa {
13893
13892
  */
13894
13893
  async setText(t) {
13895
13894
  await Promise.all([
13896
- this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name, t, void 0, void 0, t.trim() !== ""),
13895
+ this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name, t, void 0, void 0),
13896
+ this.bundle.getGlobalPropertyStateManager().setAspectMandatoryFulfilled(this.property.name, t.trim() !== ""),
13897
13897
  this.applyTextSelection(t)
13898
13898
  ]);
13899
13899
  }
@@ -13968,7 +13968,8 @@ class er extends Pa {
13968
13968
  */
13969
13969
  async selectVariant(t, e) {
13970
13970
  await Promise.all([
13971
- this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name, t.getId(), void 0, e, !0),
13971
+ this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name, t.getId(), void 0, e),
13972
+ this.bundle.getGlobalPropertyStateManager().setAspectMandatoryFulfilled(this.property.name, !0),
13972
13973
  this.applyVariantSelection(t)
13973
13974
  ]);
13974
13975
  }
@@ -13995,7 +13996,8 @@ class Ka extends er {
13995
13996
  */
13996
13997
  async selectVariant(t, e) {
13997
13998
  await Promise.all([
13998
- this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name, t.getId(), void 0, e, !0),
13999
+ this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name, t.getId(), void 0, e),
14000
+ this.bundle.getGlobalPropertyStateManager().setAspectMandatoryFulfilled(this.property.name, !0),
13999
14001
  this.applyColorVariant(t, void 0, e)
14000
14002
  ]);
14001
14003
  }
@@ -14057,14 +14059,19 @@ const Al = (r, t, e, a) => r.flatMap((n) => n.getSteps()).filter((n) => n.getGlo
14057
14059
  };
14058
14060
  class hl {
14059
14061
  constructor(t, e, a, n, i) {
14060
- this.bundleId = t, this.bundleOwnerId = e, this.configuration = a, this.bundleOptions = i;
14062
+ this.mandatoryFulfilledAspects = /* @__PURE__ */ new Map(), this.bundleId = t, this.bundleOwnerId = e, this.configuration = a, this.bundleOptions = i;
14061
14063
  const s = i == null ? void 0 : i.existingGlobalPropertyState;
14062
14064
  this.initPromise = s ? Promise.resolve(s).then(() => {
14063
- console.log("Setting global property state to existing state."), this.globalPropertyState = s;
14065
+ console.log("Setting global property state to existing state."), this.globalPropertyState = s, this.recalculateMandatoryStates();
14064
14066
  }) : this.createGlobalPropertyState().then((o) => {
14065
- console.log("Setting global property state to new state."), this.globalPropertyState = o;
14067
+ console.log("Setting global property state to new state."), this.globalPropertyState = o, this.recalculateMandatoryStates();
14066
14068
  }), this.onGlobalPropertyStateChange = n;
14067
14069
  }
14070
+ recalculateMandatoryStates() {
14071
+ this.mandatoryFulfilledAspects.clear(), this.globalPropertyState.aspects.forEach((t) => {
14072
+ t.value !== "" && (this.mandatoryFulfilledAspects[t.name] = !0);
14073
+ });
14074
+ }
14068
14075
  setBundleOptions(t) {
14069
14076
  this.bundleOptions = t;
14070
14077
  }
@@ -14083,7 +14090,13 @@ class hl {
14083
14090
  async setGlobalPropertyState(t) {
14084
14091
  this.globalPropertyState || await this.initPromise;
14085
14092
  const e = yt(this.globalPropertyState);
14086
- this.globalPropertyState = { ...t, id: e.id }, await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(e, this.globalPropertyState);
14093
+ this.globalPropertyState = { ...t, id: e.id }, this.recalculateMandatoryStates(), await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(e, this.globalPropertyState);
14094
+ }
14095
+ getAspectMandatoryFulfilled(t) {
14096
+ return this.mandatoryFulfilledAspects[t];
14097
+ }
14098
+ async setAspectMandatoryFulfilled(t, e) {
14099
+ this.mandatoryFulfilledAspects[t] = e, await this.onGlobalPropertyStateChange(this.globalPropertyState, this.globalPropertyState);
14087
14100
  }
14088
14101
  getAspect(t, e) {
14089
14102
  if (!this.globalPropertyState)
@@ -14098,85 +14111,75 @@ class hl {
14098
14111
  throw new Error("Global property state not initialized");
14099
14112
  return (a = this.globalPropertyState.aspects.find((n) => n.name === t && n.channel === e)) == null ? void 0 : a.storage;
14100
14113
  }
14101
- getAspectMandatoryFulfilled(t) {
14102
- if (!this.globalPropertyState)
14103
- throw new Error("Global property state not initialized");
14104
- const e = this.globalPropertyState.aspects.filter((a) => a.name === t);
14105
- if (e)
14106
- return e.some((a) => !!a.mandatoryFulfilled);
14107
- }
14108
- async setAspect(t, e, a, n, i) {
14114
+ async setAspect(t, e, a, n) {
14109
14115
  if (!this.globalPropertyState)
14110
14116
  throw new Error("Global property state not initialized");
14111
14117
  if (!this.configuration)
14112
14118
  throw new Error("Global property configuration not linked to the state manager.");
14113
- const s = this.configuration.aspects.find((c) => c.name === t);
14114
- if (!s)
14119
+ const i = this.configuration.aspects.find((l) => l.name === t);
14120
+ if (!i)
14115
14121
  throw new Error(`Failed to find configuration aspect with name: ${t}`);
14116
- const o = yt(this.globalPropertyState), l = this.globalPropertyState.aspects.filter((c) => c.name === t);
14117
- if (l.length > 0)
14122
+ const s = yt(this.globalPropertyState), o = this.globalPropertyState.aspects.filter((l) => l.name === t);
14123
+ if (o.length > 0)
14118
14124
  if (n) {
14119
- const c = l.find((d) => d.channel === n);
14120
- if (c)
14121
- c.value = e, c.type = s.type, c.channel = n, a !== void 0 && (c.storage = a !== null ? a : void 0), i !== void 0 && (c.mandatoryFulfilled = i);
14125
+ const l = o.find((c) => c.channel === n);
14126
+ if (l)
14127
+ l.value = e, l.type = i.type, l.channel = n, a !== void 0 && (l.storage = a !== null ? a : void 0);
14122
14128
  else {
14123
14129
  if (n === 1) {
14124
- const d = this.globalPropertyState.aspects.findIndex(
14125
- (A) => !A.channel && A.name === t
14130
+ const c = this.globalPropertyState.aspects.findIndex(
14131
+ (d) => !d.channel && d.name === t
14126
14132
  );
14127
- d && d > 0 && this.globalPropertyState.aspects.splice(d, 1);
14133
+ c && c > 0 && this.globalPropertyState.aspects.splice(c, 1);
14128
14134
  }
14129
14135
  this.globalPropertyState.aspects.push({
14130
14136
  name: t,
14131
14137
  value: e,
14132
- type: s.type,
14138
+ type: i.type,
14133
14139
  storage: a !== null ? a : void 0,
14134
- channel: n,
14135
- mandatoryFulfilled: i
14140
+ channel: n
14136
14141
  });
14137
14142
  }
14138
14143
  } else {
14139
- const c = l[0];
14140
- c.value = e, c.type = s.type, a !== void 0 && (c.storage = a !== null ? a : void 0), i !== void 0 && (c.mandatoryFulfilled = i);
14144
+ const l = o[0];
14145
+ l.value = e, l.type = i.type, a !== void 0 && (l.storage = a !== null ? a : void 0);
14141
14146
  }
14142
14147
  else
14143
14148
  this.globalPropertyState.aspects.push({
14144
14149
  name: t,
14145
14150
  value: e,
14146
- type: s.type,
14151
+ type: i.type,
14147
14152
  storage: a !== null ? a : void 0,
14148
- channel: n,
14149
- mandatoryFulfilled: i
14153
+ channel: n
14150
14154
  });
14151
- await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(o, this.globalPropertyState);
14155
+ await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(s, this.globalPropertyState);
14152
14156
  }
14153
- async setAspectStorage(t, e, a, n) {
14157
+ async setAspectStorage(t, e, a) {
14154
14158
  if (!this.globalPropertyState)
14155
14159
  throw new Error("Global property state not initialized");
14156
14160
  if (!this.configuration)
14157
14161
  throw new Error("Global property configuration not linked to the state manager.");
14158
- const i = this.configuration.aspects.find((l) => l.name === t);
14159
- if (!i)
14162
+ const n = this.configuration.aspects.find((o) => o.name === t);
14163
+ if (!n)
14160
14164
  throw new Error(`Failed to find configuration aspect with name: ${t}`);
14161
- const s = yt(this.globalPropertyState), o = this.globalPropertyState.aspects.filter((l) => l.name === t);
14162
- if (o.length > 0)
14165
+ const i = yt(this.globalPropertyState), s = this.globalPropertyState.aspects.filter((o) => o.name === t);
14166
+ if (s.length > 0)
14163
14167
  if (a) {
14164
- const l = o.find((c) => c.channel === a);
14165
- l && (l.storage = e !== null ? e : void 0, l.type = i.type, n !== void 0 && (l.mandatoryFulfilled = n));
14168
+ const o = s.find((l) => l.channel === a);
14169
+ o && (o.storage = e !== null ? e : void 0, o.type = n.type);
14166
14170
  } else {
14167
- const l = o[0];
14168
- l.storage = e !== null ? e : void 0, l.type = i.type, n !== void 0 && (l.mandatoryFulfilled = n);
14171
+ const o = s[0];
14172
+ o.storage = e !== null ? e : void 0, o.type = n.type;
14169
14173
  }
14170
14174
  else
14171
14175
  this.globalPropertyState.aspects.push({
14172
14176
  name: t,
14173
14177
  value: "",
14174
- type: i.type,
14178
+ type: n.type,
14175
14179
  storage: e !== null ? e : void 0,
14176
- channel: a,
14177
- mandatoryFulfilled: n
14180
+ channel: a
14178
14181
  });
14179
- await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(s, this.globalPropertyState);
14182
+ await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(i, this.globalPropertyState);
14180
14183
  }
14181
14184
  async updateGlobalPropertyState() {
14182
14185
  var e, a;
@@ -15774,7 +15777,7 @@ class Da {
15774
15777
  return t.startsWith("[") ? JSON.stringify(JSON.parse(t)) : t;
15775
15778
  }
15776
15779
  }
15777
- var xl = /* @__PURE__ */ ((r) => (r.Transaction = "Transaction", r.Bundle = "Bundle", r.Product = "Product", r.Variant = "Variant", r.Option = "Option", r.LineItem = "LineItem", r.Asset = "Asset", r))(xl || {});
15780
+ var Fl = /* @__PURE__ */ ((r) => (r.Transaction = "Transaction", r.Bundle = "Bundle", r.Product = "Product", r.Variant = "Variant", r.Option = "Option", r.LineItem = "LineItem", r.Asset = "Asset", r))(Fl || {});
15778
15781
  class ud extends Da {
15779
15782
  constructor(t) {
15780
15783
  super(`"${t}"`);
@@ -15848,7 +15851,7 @@ const he = v`
15848
15851
  }
15849
15852
  }
15850
15853
  }
15851
- `, Fl = v`
15854
+ `, xl = v`
15852
15855
  mutation CustomerCreate($details: CustomerDetailsInput!) {
15853
15856
  customerCreate(details: $details) {
15854
15857
  id
@@ -16170,7 +16173,7 @@ class gd {
16170
16173
  } catch (a) {
16171
16174
  throw console.error(a), new ut("Critical - Unable to synchronize workflow state with server.");
16172
16175
  }
16173
- }, this.options = t, this.options.applicationKey && Lr(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 29.2.0-beta.d6eca60e-99f1-5e8b-b469-3e390879560c"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
16176
+ }, this.options = t, this.options.applicationKey && Lr(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 29.2.0-beta.3ff37077-33d0-571f-b9a9-bc0d6594c98d"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
16174
16177
  }
16175
16178
  configure(t) {
16176
16179
  mt.setHubUrl(t.hubUrl), mt.setServerUrl(t.serverUrl), mt.setServicesApiUrl(t.servicesApiUrl), this.marketplaceThemeInstallId = t.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = t.marketplaceThemeInstallConfigurationId, this.userPoolClientId = t.userPoolClientId, this.userPoolRegion = t.userPoolRegion, this.spiffRegion = t.spiffRegion, t.bearerAuthenticationToken && zr(t.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration(), this.spiffRegion && this.userPoolRegion && this.userPoolClientId && Lt.init(this.spiffRegion, this.userPoolRegion, this.userPoolClientId);
@@ -16350,7 +16353,7 @@ class gd {
16350
16353
  })).data.customer;
16351
16354
  if (!n.id) {
16352
16355
  const l = (s = (await e.mutate({
16353
- mutation: Fl,
16356
+ mutation: xl,
16354
16357
  errorPolicy: "all",
16355
16358
  fetchPolicy: "no-cache",
16356
16359
  variables: {
@@ -16660,7 +16663,7 @@ class gd {
16660
16663
  if (t.length === 0)
16661
16664
  throw new ut("No options provided!");
16662
16665
  const a = B.getShadowGraphqlClient(), n = async (y) => {
16663
- var D, x, k;
16666
+ var D, F, k;
16664
16667
  if (y.length === 0)
16665
16668
  return [];
16666
16669
  const E = y.map((T) => T.option.transactionId), b = await a.query({
@@ -16672,7 +16675,7 @@ class gd {
16672
16675
  fetchPolicy: "no-cache"
16673
16676
  }), P = b.data.transactions;
16674
16677
  if (P.length !== y.length) {
16675
- const T = ((x = (D = b.errors) == null ? void 0 : D[0]) == null ? void 0 : x.message) || "Unknown error";
16678
+ const T = ((F = (D = b.errors) == null ? void 0 : D[0]) == null ? void 0 : F.message) || "Unknown error";
16676
16679
  throw new ut(`Not all transactions were found: ${T}`);
16677
16680
  }
16678
16681
  return !this.activeIntegration && ((k = P[0].integrationProduct) != null && k.integration) && (this.activeIntegration = Promise.resolve(P[0].integrationProduct.integration)), P.map((T, Z) => {
@@ -16685,7 +16688,7 @@ class gd {
16685
16688
  };
16686
16689
  });
16687
16690
  }, i = async (y) => {
16688
- var P, D, x;
16691
+ var P, D, F;
16689
16692
  if (y.length === 0)
16690
16693
  return [];
16691
16694
  const E = await a.mutate({
@@ -16706,7 +16709,7 @@ class gd {
16706
16709
  fetchPolicy: "no-cache"
16707
16710
  }), b = (P = E.data) == null ? void 0 : P.transactionCreateMany;
16708
16711
  if (!b || b.length === 0) {
16709
- const k = ((x = (D = E.errors) == null ? void 0 : D[0]) == null ? void 0 : x.message) || "Unknown error";
16712
+ const k = ((F = (D = E.errors) == null ? void 0 : D[0]) == null ? void 0 : F.message) || "Unknown error";
16710
16713
  throw new ut(`Failed to create transactions: ${k}`);
16711
16714
  }
16712
16715
  return b.map((k, T) => ({
@@ -16722,7 +16725,7 @@ class gd {
16722
16725
  ...d.map(i)
16723
16726
  ])).flat(), u = [...new Set(A.map((y) => y.workflowId))], h = await rr(u, e), m = new Map(h.map((y) => [y.id, y])), g = N.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), p = A.map(async (y) => {
16724
16727
  var et;
16725
- const { transaction: E, workflowId: b, readOnly: P, index: D } = y, x = m.get(b), k = t[D];
16728
+ const { transaction: E, workflowId: b, readOnly: P, index: D } = y, F = m.get(b), k = t[D];
16726
16729
  !g.get(E.id) && E.transactionOwnerId && g.set(E.id, E.transactionOwnerId);
16727
16730
  const T = g.get(E.id) || void 0, Z = new Tl({
16728
16731
  onMutate: () => ({ context: { transactionOwnerId: T, bundleOwnerId: e == null ? void 0 : e.bundleOwnerId } }),
@@ -16740,7 +16743,7 @@ class gd {
16740
16743
  }),
16741
16744
  graphQlClient: () => Z,
16742
16745
  readOnly: P,
16743
- workflow: x,
16746
+ workflow: F,
16744
16747
  isReloadedTransaction: k.type === "transaction"
16745
16748
  };
16746
16749
  if (!P && k.workflowState) {
@@ -17461,7 +17464,7 @@ const Hl = v`
17461
17464
  id
17462
17465
  }
17463
17466
  }
17464
- `, xa = v`
17467
+ `, Fa = v`
17465
17468
  query GetCustomerTransactions(
17466
17469
  $id: String!
17467
17470
  $limit: Int!
@@ -17630,7 +17633,7 @@ const Hl = v`
17630
17633
  }), Dd = async (r, t, e) => {
17631
17634
  var n;
17632
17635
  const a = await B.getShadowGraphqlClient().query({
17633
- query: xa,
17636
+ query: Fa,
17634
17637
  errorPolicy: "all",
17635
17638
  fetchPolicy: "no-cache",
17636
17639
  variables: {
@@ -17651,10 +17654,10 @@ const Hl = v`
17651
17654
  }
17652
17655
  });
17653
17656
  return ((n = a == null ? void 0 : a.data.customerTransactionsFeed) == null ? void 0 : n.items) || [];
17654
- }, xd = async (r, t, e) => {
17657
+ }, Fd = async (r, t, e) => {
17655
17658
  var n;
17656
17659
  const a = await B.getShadowGraphqlClient().query({
17657
- query: xa,
17660
+ query: Fa,
17658
17661
  errorPolicy: "all",
17659
17662
  fetchPolicy: "no-cache",
17660
17663
  variables: {
@@ -17675,10 +17678,10 @@ const Hl = v`
17675
17678
  }
17676
17679
  });
17677
17680
  return ((n = a == null ? void 0 : a.data.customerTransactionsFeed) == null ? void 0 : n.items) || [];
17678
- }, Fd = async (r, t, e) => {
17681
+ }, xd = async (r, t, e) => {
17679
17682
  var n;
17680
17683
  const a = await B.getShadowGraphqlClient().query({
17681
- query: xa,
17684
+ query: Fa,
17682
17685
  errorPolicy: "all",
17683
17686
  fetchPolicy: "no-cache",
17684
17687
  variables: {
@@ -17815,7 +17818,7 @@ const sr = v`
17815
17818
  }
17816
17819
  missingComponentTypes
17817
17820
  }
17818
- `, Fa = v`
17821
+ `, xa = v`
17819
17822
  ${sr}
17820
17823
  fragment AddressValidationJobFields on AddressValidationJob {
17821
17824
  id
@@ -17828,14 +17831,14 @@ const sr = v`
17828
17831
  }
17829
17832
  }
17830
17833
  `, rc = v`
17831
- ${Fa}
17834
+ ${xa}
17832
17835
  query GetAddressValidationJobs($ids: [String!]!) {
17833
17836
  addressValidationJobs(ids: $ids) {
17834
17837
  ...AddressValidationJobFields
17835
17838
  }
17836
17839
  }
17837
17840
  `, ic = v`
17838
- ${Fa}
17841
+ ${xa}
17839
17842
  query GetRecipientsWithAddressValidationJobs($ids: [String!]!) {
17840
17843
  recipients(ids: $ids) {
17841
17844
  id
@@ -17852,7 +17855,7 @@ const sr = v`
17852
17855
  }
17853
17856
  }
17854
17857
  `, oc = v`
17855
- ${Fa}
17858
+ ${xa}
17856
17859
  mutation BatchValidateRecipientAddress($ids: [String!]!) {
17857
17860
  recipientValidateBatch(ids: $ids) {
17858
17861
  ...AddressValidationJobFields
@@ -17940,7 +17943,7 @@ export {
17940
17943
  Rl as CurrencyContext,
17941
17944
  Ql as CurrencyService,
17942
17945
  Et as DeleteElementCommand,
17943
- xo as DigitalContentStepHandle,
17946
+ Fo as DigitalContentStepHandle,
17944
17947
  cl as FileUploadGlobalPropertyHandle,
17945
17948
  ue as FlowExecutionNodeResult,
17946
17949
  Dl as FlowExecutionResult,
@@ -17967,10 +17970,10 @@ export {
17967
17970
  ve as MisconfigurationError,
17968
17971
  yd as MockWorkflowManager,
17969
17972
  Eo as ModelStepHandle,
17970
- Fo as ModuleStepHandle,
17973
+ xo as ModuleStepHandle,
17971
17974
  td as MoveCommand,
17972
17975
  nr as ObjectInput,
17973
- xl as ObjectInputType,
17976
+ Fl as ObjectInputType,
17974
17977
  er as OptionGlobalPropertyHandle,
17975
17978
  Se as OptionNotFoundError,
17976
17979
  Dt as ParseError,
@@ -17982,7 +17985,7 @@ export {
17982
17985
  Jt as PromiseCache,
17983
17986
  kn as PromiseQueue,
17984
17987
  Bo as QuestionStepHandle,
17985
- Fn as QueueablePromise,
17988
+ xn as QueueablePromise,
17986
17989
  ad as ResizeCommand,
17987
17990
  jt as ResourceNotFoundError,
17988
17991
  ed as RotateCommand,
@@ -18043,14 +18046,14 @@ export {
18043
18046
  Vl as getIntegration,
18044
18047
  Hc as getNEPoint,
18045
18048
  qc as getNWPoint,
18046
- xd as getOrderedTransactions,
18049
+ Fd as getOrderedTransactions,
18047
18050
  fd as getOverrideThemeConfiguration,
18048
18051
  Wc as getPointOfRotation,
18049
18052
  Ad as getProductCollections,
18050
18053
  jc as getSEPoint,
18051
18054
  va as getSvgElement,
18052
18055
  kd as getTemplateBundles,
18053
- Fd as getTemplateTransactions,
18056
+ xd as getTemplateTransactions,
18054
18057
  pd as getTransaction,
18055
18058
  wd as getTransactionThemeConfiguration,
18056
18059
  Pd as getTransactionsForBundle,
@@ -18095,7 +18098,7 @@ export {
18095
18098
  Ln as svgStringDimensions,
18096
18099
  ma as svgToDataUrl,
18097
18100
  q as textStepService,
18098
- xs as toast,
18101
+ Fs as toast,
18099
18102
  Nd as validateWorkflowExperienceRecipient,
18100
18103
  Qd as validateWorkflowExperienceRecipients,
18101
18104
  bt as xmlSerializer