@spiffcommerce/core 40.2.0 → 40.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/index.cjs +26 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.mjs +64 -61
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -4269,6 +4269,7 @@ interface Customer {
|
|
|
4269
4269
|
bundleStakeholders?: BundleStakeholder[];
|
|
4270
4270
|
hasBundleTemplates?: boolean;
|
|
4271
4271
|
productCollectionCustomers?: ProductCollectionCustomer[];
|
|
4272
|
+
defaultTemplateBundleId?: string;
|
|
4272
4273
|
}
|
|
4273
4274
|
interface CustomerDetailsInput {
|
|
4274
4275
|
emailAddress: string;
|
|
@@ -4324,6 +4325,7 @@ interface Bundle {
|
|
|
4324
4325
|
transactions?: Transaction[];
|
|
4325
4326
|
transactionIds?: string[];
|
|
4326
4327
|
template?: boolean;
|
|
4328
|
+
templateLocked: boolean;
|
|
4327
4329
|
templateStatus?: BundleTemplateStatus;
|
|
4328
4330
|
bundleShareActions?: ShareAction[];
|
|
4329
4331
|
workflowViewerLink: string;
|
package/dist/index.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import { parse as Bn } from "css";
|
|
|
8
8
|
import Vi from "fuse.js";
|
|
9
9
|
import { Pith as Ia } from "pith";
|
|
10
10
|
import ca from "lodash.chunk";
|
|
11
|
-
import
|
|
11
|
+
import wt from "lodash.clonedeep";
|
|
12
12
|
import { jsx as F, jsxs as ut, Fragment as Wt } from "preact/jsx-runtime";
|
|
13
13
|
import { parse as da } from "opentype.js";
|
|
14
14
|
import { decode as Li } from "html-entities";
|
|
@@ -162,7 +162,7 @@ class nr {
|
|
|
162
162
|
this.serverUrlCallbacks.push(t);
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
-
const
|
|
165
|
+
const yt = new nr();
|
|
166
166
|
let Aa, ha;
|
|
167
167
|
function Ad(i) {
|
|
168
168
|
Aa = i;
|
|
@@ -297,7 +297,7 @@ let Rn;
|
|
|
297
297
|
const gr = (i) => {
|
|
298
298
|
Rn = i;
|
|
299
299
|
}, mr = () => new Promise((i) => {
|
|
300
|
-
const t =
|
|
300
|
+
const t = yt.getHubUrl(), e = (a) => {
|
|
301
301
|
a.origin === t && (window.removeEventListener("message", e), i(a.data));
|
|
302
302
|
};
|
|
303
303
|
window.parent !== window && (window.addEventListener("message", e, !1), window.parent.postMessage("ready", t));
|
|
@@ -310,13 +310,13 @@ const gr = (i) => {
|
|
|
310
310
|
return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await mr(), ...i } : i;
|
|
311
311
|
};
|
|
312
312
|
async function fr(i, t) {
|
|
313
|
-
const e =
|
|
313
|
+
const e = yt.getServerUrl(), a = e.includes(".aumelbdev.spiffcommerce.com") ? "https://moonlight.aumelbdev.spiffcommerce.com" : e.includes(".us.spiffcommerce.com") ? "https://moonlight.us.spiffcommerce.com" : "https://moonlight.au.spiffcommerce.com";
|
|
314
314
|
let n = await nt(i, { ...t, redirect: "manual" });
|
|
315
315
|
return (n.type === "opaqueredirect" || n.status === 307) && (typeof i != "string" && "url" in i ? n = await nt({ ...i, url: `${a}/graphql` }, t) : n = await nt(`${a}/graphql`, t)), n;
|
|
316
316
|
}
|
|
317
317
|
class Cr {
|
|
318
318
|
constructor() {
|
|
319
|
-
this.shadowGraphqlClient = this.constructShadowGraphqlClient(),
|
|
319
|
+
this.shadowGraphqlClient = this.constructShadowGraphqlClient(), yt.addServerUrlCallback(() => {
|
|
320
320
|
this.shadowGraphqlClient = this.constructShadowGraphqlClient();
|
|
321
321
|
});
|
|
322
322
|
}
|
|
@@ -328,7 +328,7 @@ class Cr {
|
|
|
328
328
|
}
|
|
329
329
|
constructShadowGraphqlClient() {
|
|
330
330
|
const t = ki({
|
|
331
|
-
uri: `${
|
|
331
|
+
uri: `${yt.getServerUrl()}/graphql`,
|
|
332
332
|
fetch: fr
|
|
333
333
|
}), e = Qi(async (r, s) => {
|
|
334
334
|
const { headers: o } = s, l = o || {}, c = await pr();
|
|
@@ -372,7 +372,7 @@ class Cr {
|
|
|
372
372
|
}
|
|
373
373
|
const S = new Cr();
|
|
374
374
|
let ga, ma;
|
|
375
|
-
const
|
|
375
|
+
const St = (i, t, e) => {
|
|
376
376
|
if (ga !== void 0)
|
|
377
377
|
return ga(i, t, e);
|
|
378
378
|
try {
|
|
@@ -433,10 +433,10 @@ const wr = (i) => new Promise((t) => {
|
|
|
433
433
|
}, vr = async (i) => {
|
|
434
434
|
const t = await cr(i), e = await ne(t), [a, n] = Sr(e);
|
|
435
435
|
if (!await yr()) {
|
|
436
|
-
const u =
|
|
436
|
+
const u = St(a, n);
|
|
437
437
|
return u.getContext("2d")?.drawImage(e, 0, 0, a, n), u;
|
|
438
438
|
}
|
|
439
|
-
const s = await wr(i), [o, l] = s > 4 ? [n, a] : [a, n], c =
|
|
439
|
+
const s = await wr(i), [o, l] = s > 4 ? [n, a] : [a, n], c = St(o, l), d = c.getContext("2d");
|
|
440
440
|
switch (s) {
|
|
441
441
|
case 2:
|
|
442
442
|
d.translate(o, 0), d.scale(-1, 1);
|
|
@@ -5437,7 +5437,7 @@ const N = () => {
|
|
|
5437
5437
|
}
|
|
5438
5438
|
);
|
|
5439
5439
|
}, Cd = (i, t, e, a, n) => {
|
|
5440
|
-
const r =
|
|
5440
|
+
const r = vt(n), s = e / 2, o = a / 2, l = i + s, c = t + o, d = Math.sin(r), u = Math.cos(r), A = s, h = s, g = -o, p = o, m = A * u - g * d, f = h * u - p * d, y = A * d + g * u, w = h * d + p * u, x = Math.max(Math.abs(m), Math.abs(f)), b = Math.max(Math.abs(y), Math.abs(w));
|
|
5441
5441
|
return {
|
|
5442
5442
|
minX: l - x,
|
|
5443
5443
|
maxX: l + x,
|
|
@@ -5447,8 +5447,8 @@ const N = () => {
|
|
|
5447
5447
|
}, wd = (i, t, e) => {
|
|
5448
5448
|
const a = Math.sqrt(Math.pow(t.x - i.x, 2) + Math.pow(t.y - i.y, 2)), n = Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)), r = Math.sqrt(Math.pow(e.x - i.x, 2) + Math.pow(e.y - i.y, 2));
|
|
5449
5449
|
return Math.acos((n * n + a * a - r * r) / (2 * n * a)) * (180 / Math.PI);
|
|
5450
|
-
},
|
|
5451
|
-
const a = Math.sin(
|
|
5450
|
+
}, vt = (i) => i * (Math.PI / 180), yd = (i, t, e) => Math.abs(i - t) < e, Sd = (i, t, e) => {
|
|
5451
|
+
const a = Math.sin(vt(e)), n = Math.cos(vt(e));
|
|
5452
5452
|
return {
|
|
5453
5453
|
x: (i.x - t.x) * n - (i.y - t.y) * a + t.x,
|
|
5454
5454
|
y: (i.x - t.x) * a + (i.y - t.y) * n + t.y
|
|
@@ -5485,7 +5485,7 @@ const N = () => {
|
|
|
5485
5485
|
return Y.Northwest;
|
|
5486
5486
|
}
|
|
5487
5487
|
}, Bd = (i, t) => t > 45 && t <= 135 ? Ft(i) : t > 135 && t <= 225 ? Ft(Ft(i)) : t > 225 && t <= 315 ? Ft(Ft(Ft(i))) : i, Pd = (i, t = { x: 0, y: 0 }, e = { x: 1, y: 1 }) => {
|
|
5488
|
-
const a =
|
|
5488
|
+
const a = vt(i.rotation), n = {
|
|
5489
5489
|
x: t.x + i.x * e.x,
|
|
5490
5490
|
y: t.x + i.y * e.y
|
|
5491
5491
|
}, r = {
|
|
@@ -5515,7 +5515,7 @@ const N = () => {
|
|
|
5515
5515
|
y: (i.x - t.x) * a + (i.y - t.y) * n + t.y
|
|
5516
5516
|
};
|
|
5517
5517
|
}, Fd = 0.352778, xd = 0.035277, Xn = (i) => {
|
|
5518
|
-
const t = i.rotation || 0, e =
|
|
5518
|
+
const t = i.rotation || 0, e = vt(t), a = Math.cos(e), n = -Math.sin(e);
|
|
5519
5519
|
return /* @__PURE__ */ F("g", { mask: i.stepName || i.productOverlay ? void 0 : i.mask, children: /* @__PURE__ */ F(
|
|
5520
5520
|
"g",
|
|
5521
5521
|
{
|
|
@@ -5537,7 +5537,7 @@ const N = () => {
|
|
|
5537
5537
|
}
|
|
5538
5538
|
) });
|
|
5539
5539
|
}, Zn = (i) => {
|
|
5540
|
-
const t = `spiff-group-clip-${i.id}`, e = i.rotation || 0, a =
|
|
5540
|
+
const t = `spiff-group-clip-${i.id}`, e = i.rotation || 0, a = vt(e), n = Math.cos(a), r = -Math.sin(a), s = Ra(i.children);
|
|
5541
5541
|
return /* @__PURE__ */ ut(Wt, { children: [
|
|
5542
5542
|
/* @__PURE__ */ F("defs", { children: /* @__PURE__ */ F("clipPath", { id: t, preserveAspectRatio: "none", children: i.clipPath ? /* @__PURE__ */ F("path", { d: i.clipPath }) : /* @__PURE__ */ F("rect", { x: 0, y: 0, width: i.width, height: i.height }) }) }),
|
|
5543
5543
|
/* @__PURE__ */ ut(
|
|
@@ -5598,7 +5598,7 @@ const N = () => {
|
|
|
5598
5598
|
/* @__PURE__ */ F("feFuncG", { type: "discrete", tableValues: n() }),
|
|
5599
5599
|
/* @__PURE__ */ F("feFuncB", { type: "discrete", tableValues: n() })
|
|
5600
5600
|
] })
|
|
5601
|
-
] }) }) }), s = i.rotation || 0, o =
|
|
5601
|
+
] }) }) }), s = i.rotation || 0, o = vt(s), l = Math.cos(o), c = -Math.sin(o), d = () => {
|
|
5602
5602
|
const u = i.pattern?.x || 0, A = i.pattern?.y || 0, h = i.pattern?.width || 0, g = i.pattern?.height || 0, p = i.pattern?.scaleX || 1, m = i.pattern?.scaleY || 1, f = i.pattern?.rotation || 0;
|
|
5603
5603
|
return [i.pattern?.svg ? {
|
|
5604
5604
|
id: `${t}-contents`,
|
|
@@ -5713,7 +5713,7 @@ const Is = (i) => i.substring(0, 5).toLowerCase().trim() === "data:", _e = /* @_
|
|
|
5713
5713
|
return _e.get(i);
|
|
5714
5714
|
const e = (async () => {
|
|
5715
5715
|
try {
|
|
5716
|
-
return
|
|
5716
|
+
return Et(i).getFont();
|
|
5717
5717
|
} catch {
|
|
5718
5718
|
if (Is(i)) {
|
|
5719
5719
|
const a = On(i), n = da(a);
|
|
@@ -5728,7 +5728,7 @@ const Is = (i) => i.substring(0, 5).toLowerCase().trim() === "data:", _e = /* @_
|
|
|
5728
5728
|
}, Bs = (i) => {
|
|
5729
5729
|
const t = On(i), e = da(t);
|
|
5730
5730
|
return pa(i, e), e;
|
|
5731
|
-
},
|
|
5731
|
+
}, Et = (i) => {
|
|
5732
5732
|
const t = ti.get(i);
|
|
5733
5733
|
if (t)
|
|
5734
5734
|
return t;
|
|
@@ -5826,7 +5826,7 @@ const Is = (i) => i.substring(0, 5).toLowerCase().trim() === "data:", _e = /* @_
|
|
|
5826
5826
|
const s = (r ?? ni) * t.getApproximateHeight(), o = 1 / e.unitsPerEm, l = ei(i, o, t), c = i.length * s * o, d = a / l, u = n / c;
|
|
5827
5827
|
return Math.min(u, d);
|
|
5828
5828
|
}, Fs = (i, t, e, a) => {
|
|
5829
|
-
const n =
|
|
5829
|
+
const n = Et(t.fontData.assetUrl), r = n.getFont(), s = t.fontSize / r.unitsPerEm;
|
|
5830
5830
|
if (!e)
|
|
5831
5831
|
return an(t, i, t.fontSize, s, n, a);
|
|
5832
5832
|
let o;
|
|
@@ -5847,9 +5847,9 @@ const Is = (i) => i.substring(0, 5).toLowerCase().trim() === "data:", _e = /* @_
|
|
|
5847
5847
|
fontSize: Ps(o, n, r, t.width, t.height, a)
|
|
5848
5848
|
} : an(t, i, t.fontSize, s, n, a);
|
|
5849
5849
|
}, xs = (i, t, e, a, n) => {
|
|
5850
|
-
const s =
|
|
5850
|
+
const s = Et(t.assetUrl).getFont();
|
|
5851
5851
|
let o = { ...i };
|
|
5852
|
-
const l = { ...i }, c = ei(a, e / s.unitsPerEm,
|
|
5852
|
+
const l = { ...i }, c = ei(a, e / s.unitsPerEm, Et(t.assetUrl));
|
|
5853
5853
|
return c && c < o.width && (l.width = c, n === "left" ? (l.left += Math.sin(o.rotation * Math.PI / 360) * (o.width - c), l.top += Math.sin(o.rotation * Math.PI / 180) * (c - o.width) / 2) : n === "right" ? l.left += o.width - c : l.left += (o.width - c) / 2, a && ks(a, a).every(([d, u]) => d === u) && (o = l)), o;
|
|
5854
5854
|
}, Xe = 1, Ct = (i, t, e) => {
|
|
5855
5855
|
let a = 0;
|
|
@@ -5997,7 +5997,7 @@ const Ts = (i) => {
|
|
|
5997
5997
|
const t = () => {
|
|
5998
5998
|
if (i.lineHeight !== void 0)
|
|
5999
5999
|
return i.lineHeight * i.fontSize;
|
|
6000
|
-
const n =
|
|
6000
|
+
const n = Et(i.fontData.assetUrl), r = n.getFont(), s = i.fontSize / r.unitsPerEm;
|
|
6001
6001
|
return n.getApproximateHeight() * s;
|
|
6002
6002
|
}, e = () => i.align === "left" ? -i.textboxWidth / 2 : i.align === "right" ? i.textboxWidth / 2 : 0, a = () => {
|
|
6003
6003
|
const n = t(), r = i.textboxHeight / 2;
|
|
@@ -6040,7 +6040,7 @@ const Ts = (i) => {
|
|
|
6040
6040
|
mask: i.stepName ? void 0 : i.mask
|
|
6041
6041
|
}
|
|
6042
6042
|
);
|
|
6043
|
-
const t = i.rotation || 0, e =
|
|
6043
|
+
const t = i.rotation || 0, e = vt(t), a = Math.cos(e), n = -Math.sin(e), r = `
|
|
6044
6044
|
matrix(1, 0, 0, 1, ${i.x}, ${i.y})
|
|
6045
6045
|
matrix(1, 0, 0, 1, ${i.width / 2}, ${i.height / 2})
|
|
6046
6046
|
matrix(${a}, ${-n}, ${n}, ${a}, 0, 0)
|
|
@@ -6334,10 +6334,10 @@ const mt = /* @__PURE__ */ new Map(), qt = /* @__PURE__ */ new Map(), Ze = /* @_
|
|
|
6334
6334
|
const s = ht().parseFromString(i, "image/svg+xml").firstElementChild;
|
|
6335
6335
|
if (!s)
|
|
6336
6336
|
throw new Error("Failed to read SVG");
|
|
6337
|
-
const l = Pt().serializeToString(s), c =
|
|
6337
|
+
const l = Pt().serializeToString(s), c = St(), d = c.getContext("2d"), u = await Ia.from(d, l, {
|
|
6338
6338
|
anonymousCrossOrigin: !0,
|
|
6339
6339
|
ignoreDimensions: !1,
|
|
6340
|
-
createCanvas:
|
|
6340
|
+
createCanvas: St,
|
|
6341
6341
|
createImage: ne,
|
|
6342
6342
|
DOMParser: xa(),
|
|
6343
6343
|
fetch: nt
|
|
@@ -6376,7 +6376,7 @@ const mt = /* @__PURE__ */ new Map(), qt = /* @__PURE__ */ new Map(), Ze = /* @_
|
|
|
6376
6376
|
}
|
|
6377
6377
|
if (e && t === D.Textbox && a?.text && a?.fontScale) {
|
|
6378
6378
|
await Qt(e);
|
|
6379
|
-
const l =
|
|
6379
|
+
const l = Et(e), c = Ct(a.text, a?.fontScale, l);
|
|
6380
6380
|
o.width = Math.min(c, n.width * 0.85), o.left = n.x + n.width / 2 - o.width / 2;
|
|
6381
6381
|
}
|
|
6382
6382
|
return o;
|
|
@@ -7314,7 +7314,7 @@ class cn {
|
|
|
7314
7314
|
}
|
|
7315
7315
|
}
|
|
7316
7316
|
const Ws = async (i) => {
|
|
7317
|
-
const t = `${
|
|
7317
|
+
const t = `${yt.getServicesApiUrl()}/shortener`;
|
|
7318
7318
|
try {
|
|
7319
7319
|
return (await (await nt(t, {
|
|
7320
7320
|
method: "POST",
|
|
@@ -7820,7 +7820,7 @@ class De {
|
|
|
7820
7820
|
), this.validateColorCount(e, a);
|
|
7821
7821
|
}
|
|
7822
7822
|
}
|
|
7823
|
-
const
|
|
7823
|
+
const It = new De();
|
|
7824
7824
|
class Ys {
|
|
7825
7825
|
async getIllustrationBody(t) {
|
|
7826
7826
|
return new Promise((e) => {
|
|
@@ -8701,7 +8701,7 @@ const ao = new eo(), na = (i, t, e, a, n) => {
|
|
|
8701
8701
|
return [null, null];
|
|
8702
8702
|
}, Se = (i, t, e, a, n) => {
|
|
8703
8703
|
let r, s;
|
|
8704
|
-
const o =
|
|
8704
|
+
const o = Et(t.assetUrl), l = o.getFont();
|
|
8705
8705
|
if (n.size) {
|
|
8706
8706
|
const A = i / l.unitsPerEm;
|
|
8707
8707
|
return [r, s] = na(e, a, i, A, o), [n.size, r, s];
|
|
@@ -8736,7 +8736,7 @@ class io {
|
|
|
8736
8736
|
/(\r\n|\r|(\u2665|\u00a9|\u00ae|[\u2000-\u2017]|[\u201E-\u3300]]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]))/gm,
|
|
8737
8737
|
""
|
|
8738
8738
|
);
|
|
8739
|
-
const n = [], r = e ?
|
|
8739
|
+
const n = [], r = e ? Et(e.assetUrl) : void 0;
|
|
8740
8740
|
if (r) {
|
|
8741
8741
|
const s = a.split("").filter((l) => !no.includes(l)).join(""), o = s.split("").map((l) => r.getFont().charToGlyph(l));
|
|
8742
8742
|
for (let l = 0; l < o.length; l++)
|
|
@@ -10097,7 +10097,7 @@ class Io {
|
|
|
10097
10097
|
}
|
|
10098
10098
|
const Bo = () => new Promise((i, t) => {
|
|
10099
10099
|
try {
|
|
10100
|
-
const a =
|
|
10100
|
+
const a = St().getContext("webgl2");
|
|
10101
10101
|
i(!!a);
|
|
10102
10102
|
} catch {
|
|
10103
10103
|
i(!1);
|
|
@@ -10151,7 +10151,7 @@ class Fo {
|
|
|
10151
10151
|
* Actions to perform when a static render event is fired for this canvas.
|
|
10152
10152
|
*/
|
|
10153
10153
|
async render(t) {
|
|
10154
|
-
const e =
|
|
10154
|
+
const e = wt(t);
|
|
10155
10155
|
this.lastRequestedRenderArguments = e;
|
|
10156
10156
|
const a = this.getStaticContext();
|
|
10157
10157
|
if (!a) {
|
|
@@ -10234,7 +10234,7 @@ class xo extends Na {
|
|
|
10234
10234
|
ignoreClear: !0,
|
|
10235
10235
|
ignoreMouse: !0,
|
|
10236
10236
|
enableRedraw: !1,
|
|
10237
|
-
createCanvas:
|
|
10237
|
+
createCanvas: St,
|
|
10238
10238
|
createImage: ne,
|
|
10239
10239
|
DOMParser: xa(),
|
|
10240
10240
|
fetch
|
|
@@ -10436,6 +10436,7 @@ const Vd = (i, t) => {
|
|
|
10436
10436
|
name
|
|
10437
10437
|
completed
|
|
10438
10438
|
template
|
|
10439
|
+
templateLocked
|
|
10439
10440
|
templateStatus
|
|
10440
10441
|
transactionsCount
|
|
10441
10442
|
productsCount
|
|
@@ -11493,7 +11494,7 @@ const ul = (i) => i.sort((t, e) => t.index - e.index).map((t) => ({
|
|
|
11493
11494
|
const t = this.getCommandContext().getState();
|
|
11494
11495
|
if (!t)
|
|
11495
11496
|
throw new O("Attempted to serialize state before it was initialized.");
|
|
11496
|
-
const e =
|
|
11497
|
+
const e = wt(t.transaction), a = cl(e);
|
|
11497
11498
|
return JSON.stringify(a, ll, void 0);
|
|
11498
11499
|
}
|
|
11499
11500
|
async getStateHash() {
|
|
@@ -11700,7 +11701,7 @@ const ul = (i) => i.sort((t, e) => t.index - e.index).map((t) => ({
|
|
|
11700
11701
|
);
|
|
11701
11702
|
break;
|
|
11702
11703
|
case E.Frame:
|
|
11703
|
-
a.push(
|
|
11704
|
+
a.push(It.init(l, this, this.reloadedState));
|
|
11704
11705
|
break;
|
|
11705
11706
|
case E.Illustration:
|
|
11706
11707
|
a.push(
|
|
@@ -12718,12 +12719,12 @@ const Il = async (i, t) => {
|
|
|
12718
12719
|
if (T) {
|
|
12719
12720
|
const X = await I.getOptionForStep(T);
|
|
12720
12721
|
if (!v || X && (X.variants || []).length > 1 && !T.data.hideSelectionInCart && !T.data.hideSelectionsInCart) {
|
|
12721
|
-
const
|
|
12722
|
-
B[
|
|
12722
|
+
const bt = T.stepTitle;
|
|
12723
|
+
B[bt] ? B[bt].push({
|
|
12723
12724
|
id: k.id || "",
|
|
12724
12725
|
name: k.name,
|
|
12725
12726
|
priceModifier: k.priceModifier
|
|
12726
|
-
}) : B[
|
|
12727
|
+
}) : B[bt] = [
|
|
12727
12728
|
{
|
|
12728
12729
|
id: k.id || "",
|
|
12729
12730
|
name: k.name,
|
|
@@ -13210,7 +13211,7 @@ class Tl {
|
|
|
13210
13211
|
}
|
|
13211
13212
|
let r = 2048;
|
|
13212
13213
|
e && e <= 2048 && (r = e);
|
|
13213
|
-
const s =
|
|
13214
|
+
const s = St(r, r), o = this.workflowManager.getCommandContext().getAllLayouts(), l = a.defaultPreviewPanelIndex || 0, c = a.panels[l], d = o.find((w) => w.layoutState?.layout.panelId === c?.name) || o[0], u = d.layoutState.layout.previewRegion ? {
|
|
13214
13215
|
x: d.layoutState.layout.previewRegion.left,
|
|
13215
13216
|
y: d.layoutState.layout.previewRegion.top,
|
|
13216
13217
|
width: d.layoutState.layout.previewRegion.width,
|
|
@@ -13233,7 +13234,7 @@ class Tl {
|
|
|
13233
13234
|
await (await Ia.from(h, m, {
|
|
13234
13235
|
anonymousCrossOrigin: !0,
|
|
13235
13236
|
ignoreDimensions: !1,
|
|
13236
|
-
createCanvas:
|
|
13237
|
+
createCanvas: St,
|
|
13237
13238
|
createImage: ne,
|
|
13238
13239
|
DOMParser: xa(),
|
|
13239
13240
|
fetch
|
|
@@ -13411,7 +13412,7 @@ class Tl {
|
|
|
13411
13412
|
return await ra.addDesign(s), s;
|
|
13412
13413
|
}
|
|
13413
13414
|
async copy() {
|
|
13414
|
-
const t =
|
|
13415
|
+
const t = wt(this.getCommandContext().getState());
|
|
13415
13416
|
if (!t) throw new O("Internal state is undefined! Cannot copy experience!");
|
|
13416
13417
|
const e = JSON.stringify(t.transaction), a = this.getWorkflow();
|
|
13417
13418
|
if (!a) throw new O("Workflow is undefined! Cannot copy experience!");
|
|
@@ -14229,7 +14230,7 @@ class ql {
|
|
|
14229
14230
|
}
|
|
14230
14231
|
async setGlobalPropertyState(t) {
|
|
14231
14232
|
this.globalPropertyState || await this.initPromise;
|
|
14232
|
-
const e =
|
|
14233
|
+
const e = wt(this.globalPropertyState);
|
|
14233
14234
|
this.globalPropertyState = { ...sa(t), id: e.id }, this.recalculateMandatoryStates(), this.queueGlobalPropertyStateUpdate(), await this.onGlobalPropertyStateChange(e, this.globalPropertyState);
|
|
14234
14235
|
}
|
|
14235
14236
|
getAspectMandatoryFulfilled(t) {
|
|
@@ -14261,7 +14262,7 @@ class ql {
|
|
|
14261
14262
|
if (!s)
|
|
14262
14263
|
throw new Error(`Failed to find configuration aspect with name: ${t}`);
|
|
14263
14264
|
this.mandatoryFulfilledAspects.set(t, e !== "");
|
|
14264
|
-
const o =
|
|
14265
|
+
const o = wt(this.globalPropertyState), l = this.globalPropertyState.aspects.filter((c) => c.name === t);
|
|
14265
14266
|
if (l.length > 0)
|
|
14266
14267
|
if (n) {
|
|
14267
14268
|
const c = l.find((d) => d.channel === n);
|
|
@@ -14307,7 +14308,7 @@ class ql {
|
|
|
14307
14308
|
const n = this.configuration.aspects.find((o) => o.name === t);
|
|
14308
14309
|
if (!n)
|
|
14309
14310
|
throw new Error(`Failed to find configuration aspect with name: ${t}`);
|
|
14310
|
-
const r =
|
|
14311
|
+
const r = wt(this.globalPropertyState), s = this.globalPropertyState.aspects.filter((o) => o.name === t);
|
|
14311
14312
|
if (s.length > 0)
|
|
14312
14313
|
if (a) {
|
|
14313
14314
|
const o = s.find((l) => l.channel === a);
|
|
@@ -14665,7 +14666,7 @@ class Ei {
|
|
|
14665
14666
|
if (h || p.partial && (!p.data.productCollections || p.data.productCollections.length === 0 || !p.data.productCollections[0].productCollectionProductsFeed?.items || p.data.productCollections[0].productCollectionProductsFeed?.items.length === 0))
|
|
14666
14667
|
return;
|
|
14667
14668
|
c.abort(), h = !0, g.unsubscribe();
|
|
14668
|
-
const m = p.data.productCollections?.[0].productCollectionProductsFeed?.items.filter((f) => !!f.product).map((f) => new me(
|
|
14669
|
+
const m = p.data.productCollections?.[0].productCollectionProductsFeed?.items.filter((f) => !!f.product).map((f) => new me(wt(f))) || [];
|
|
14669
14670
|
A({
|
|
14670
14671
|
items: m,
|
|
14671
14672
|
// Clone items because it could be cached data (immutable)
|
|
@@ -15960,6 +15961,7 @@ const fe = C`
|
|
|
15960
15961
|
customer(emailAddress: $emailAddress) {
|
|
15961
15962
|
id
|
|
15962
15963
|
emailAddress
|
|
15964
|
+
defaultTemplateBundleId
|
|
15963
15965
|
hasBundleTemplates
|
|
15964
15966
|
partner {
|
|
15965
15967
|
id
|
|
@@ -16235,9 +16237,9 @@ const uc = async (i, t) => {
|
|
|
16235
16237
|
throw e.error;
|
|
16236
16238
|
if (e.errors)
|
|
16237
16239
|
throw e.errors.forEach((n) => console.error(n)), new Error("Unable to read workflows. Consult GraphQL errors.");
|
|
16238
|
-
|
|
16239
|
-
if (a === void 0 || a.length !== i.length)
|
|
16240
|
+
if (e.data.workflows === void 0 || e.data.workflows.length !== i.length)
|
|
16240
16241
|
throw new Error(`Unable to read workflows: ${e.errors ?? "Length mismatch in response"}`);
|
|
16242
|
+
const a = wt(e.data.workflows);
|
|
16241
16243
|
return a.forEach((n) => {
|
|
16242
16244
|
n.finalizeStepConfig || (n.finalizeStepConfig = {}), n.finalizeStepConfig.termsMarkdown = n.finalizeStepConfig.termsMarkdown || n.partner.termsMarkdown;
|
|
16243
16245
|
}), a;
|
|
@@ -16276,10 +16278,10 @@ class Wd {
|
|
|
16276
16278
|
} catch (a) {
|
|
16277
16279
|
throw console.error(a), new pt("Critical - Unable to synchronize workflow state with server.");
|
|
16278
16280
|
}
|
|
16279
|
-
}, this.options = t, this.options.applicationKey && Ar(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 40.
|
|
16281
|
+
}, this.options = t, this.options.applicationKey && Ar(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 40.3.1"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
|
|
16280
16282
|
}
|
|
16281
16283
|
configure(t) {
|
|
16282
|
-
|
|
16284
|
+
yt.setHubUrl(t.hubUrl), yt.setServerUrl(t.serverUrl), yt.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 && gr(t.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration(), this.spiffRegion && this.userPoolRegion && this.userPoolClientId && Gt.init(this.spiffRegion, this.userPoolRegion, this.userPoolClientId);
|
|
16283
16285
|
}
|
|
16284
16286
|
/**
|
|
16285
16287
|
* @returns The asset manager allows for common operations related to assets
|
|
@@ -16678,11 +16680,11 @@ class Wd {
|
|
|
16678
16680
|
const X = V.errors?.[0]?.message || "Unknown error";
|
|
16679
16681
|
throw new pt(`Not all transactions were found: ${X}`);
|
|
16680
16682
|
}
|
|
16681
|
-
return !this.activeIntegration && k[0].integrationProduct?.integration && (this.activeIntegration = Promise.resolve(k[0].integrationProduct.integration)), k.map((X,
|
|
16683
|
+
return !this.activeIntegration && k[0].integrationProduct?.integration && (this.activeIntegration = Promise.resolve(k[0].integrationProduct.integration)), k.map((X, bt) => ({
|
|
16682
16684
|
transaction: X,
|
|
16683
16685
|
workflowId: X.workflowId,
|
|
16684
16686
|
readOnly: P.find((gt) => gt.option.transactionId === X.id)?.option.readOnly ?? !1,
|
|
16685
|
-
index: P[
|
|
16687
|
+
index: P[bt].index
|
|
16686
16688
|
}));
|
|
16687
16689
|
}, g = async (P) => {
|
|
16688
16690
|
if (P.length === 0)
|
|
@@ -16727,7 +16729,7 @@ class Wd {
|
|
|
16727
16729
|
(async () => m.length > 0 ? await gc(m) : [])(),
|
|
16728
16730
|
(async () => f.length > 0 ? await Ii(f, e) : [])()
|
|
16729
16731
|
]), x = new Map(y.map((P) => [P.id, P])), b = new Map(w.map((P) => [P.id, P])), v = p.map(async (P) => {
|
|
16730
|
-
const { transaction: T, workflowId: V, readOnly: k, index: X } = P,
|
|
16732
|
+
const { transaction: T, workflowId: V, readOnly: k, index: X } = P, bt = V ? b.get(V) : void 0, gt = t[X];
|
|
16731
16733
|
if (T.integrationProductId) {
|
|
16732
16734
|
const it = x.get(T.integrationProductId);
|
|
16733
16735
|
T.integrationProduct = it, T.product = it?.product, T.integrationProduct || console.error("failed to find transaction's product");
|
|
@@ -16738,7 +16740,7 @@ class Wd {
|
|
|
16738
16740
|
onMutate: () => ({ context: { transactionOwnerId: He, bundleOwnerId: e?.bundleOwnerId } }),
|
|
16739
16741
|
onQuery: () => ({ context: { transactionOwnerId: He, bundleOwnerId: e?.bundleOwnerId } })
|
|
16740
16742
|
}), le = {
|
|
16741
|
-
workflow:
|
|
16743
|
+
workflow: bt,
|
|
16742
16744
|
transaction: T,
|
|
16743
16745
|
singleVariantsRenderable: gt?.workflowConfiguration?.singleVariantsRenderable,
|
|
16744
16746
|
stateMutationFunc: k ? async () => {
|
|
@@ -17343,7 +17345,7 @@ class yc extends tt {
|
|
|
17343
17345
|
}
|
|
17344
17346
|
selectVariant(t) {
|
|
17345
17347
|
const e = this.manager.getRegionElements(this.step.stepName);
|
|
17346
|
-
return
|
|
17348
|
+
return It.selectVariant(
|
|
17347
17349
|
this.step,
|
|
17348
17350
|
t.getResource(),
|
|
17349
17351
|
e,
|
|
@@ -17363,7 +17365,7 @@ class yc extends tt {
|
|
|
17363
17365
|
* @param [recalculateOffsets=true] Optional: Recalculates the offsets of the image inside the frame. Default: `true`.
|
|
17364
17366
|
*/
|
|
17365
17367
|
async selectImage(t, e = !0, a = !0) {
|
|
17366
|
-
if (await
|
|
17368
|
+
if (await It.selectImage(this.step, t, this.manager, a), e) {
|
|
17367
17369
|
const n = this.manager.getStepStorage(this.step.stepName)?.framePatternData || {};
|
|
17368
17370
|
this.manager.updateStorage(this.step.stepName, {
|
|
17369
17371
|
framePatternData: {
|
|
@@ -17401,7 +17403,7 @@ class yc extends tt {
|
|
|
17401
17403
|
if (!e)
|
|
17402
17404
|
throw new Error("You must supply an image selection before attempting to remove the background.");
|
|
17403
17405
|
const a = await H.removeBackgroundFromAsset(e);
|
|
17404
|
-
t && await
|
|
17406
|
+
t && await It.selectImage(this.step, a, this.manager, !1);
|
|
17405
17407
|
const n = this.manager.getStepStorage(this.step.stepName)?.framePatternData || {};
|
|
17406
17408
|
return this.manager.updateStorage(this.step.stepName, {
|
|
17407
17409
|
framePatternData: {
|
|
@@ -17451,7 +17453,7 @@ class yc extends tt {
|
|
|
17451
17453
|
return !!this.getFrameStepStorage()?.framePatternData?.vectorizedAssetKey;
|
|
17452
17454
|
}
|
|
17453
17455
|
async changeColors(t) {
|
|
17454
|
-
await
|
|
17456
|
+
await It.changeColors(this.step, this.manager, t);
|
|
17455
17457
|
}
|
|
17456
17458
|
getImageData() {
|
|
17457
17459
|
if (this.frameService)
|
|
@@ -17461,7 +17463,7 @@ class yc extends tt {
|
|
|
17461
17463
|
return await I.ensureFullOption(this.step.data.colorOption);
|
|
17462
17464
|
}
|
|
17463
17465
|
getAvailableColors() {
|
|
17464
|
-
return this.step.data.colorPickerEnabled ?
|
|
17466
|
+
return this.step.data.colorPickerEnabled ? It.availableColors(this.step, this.manager) : Promise.resolve([]);
|
|
17465
17467
|
}
|
|
17466
17468
|
isColorPickerEnabled() {
|
|
17467
17469
|
return this.step.data.colorPickerEnabled ?? !1;
|
|
@@ -17480,7 +17482,7 @@ class yc extends tt {
|
|
|
17480
17482
|
return this.step.data.maxColors;
|
|
17481
17483
|
}
|
|
17482
17484
|
getUniqueColorCount() {
|
|
17483
|
-
return
|
|
17485
|
+
return It.getUniqueColorCount(this.step, this.manager);
|
|
17484
17486
|
}
|
|
17485
17487
|
getCurrentFrameStep(t, e, a, n) {
|
|
17486
17488
|
return n && n.length > 1 && t === void 0 ? "SelectFrame" : e || a || this.getImageData() ? "Position" : "SelectImage";
|
|
@@ -17540,6 +17542,7 @@ const Sc = C`
|
|
|
17540
17542
|
query GetLoggedInCustomer($email: String!) {
|
|
17541
17543
|
customer(emailAddress: $email) {
|
|
17542
17544
|
id
|
|
17545
|
+
defaultTemplateBundleId
|
|
17543
17546
|
}
|
|
17544
17547
|
}
|
|
17545
17548
|
`, Ga = C`
|
|
@@ -18109,7 +18112,7 @@ export {
|
|
|
18109
18112
|
L as findElement,
|
|
18110
18113
|
fd as findPmsColors,
|
|
18111
18114
|
qt as frameDataCache,
|
|
18112
|
-
|
|
18115
|
+
It as frameStepService,
|
|
18113
18116
|
N as generate,
|
|
18114
18117
|
bo as generateCommands,
|
|
18115
18118
|
ot as generateSVGWithUnknownColors,
|
|
@@ -18177,7 +18180,7 @@ export {
|
|
|
18177
18180
|
$n as setCanvasModule,
|
|
18178
18181
|
Ht as shapeStepService,
|
|
18179
18182
|
Ws as shortenUrl,
|
|
18180
|
-
|
|
18183
|
+
yt as spiffCoreConfiguration,
|
|
18181
18184
|
Vd as stepAspectValuesToDesignInputSteps,
|
|
18182
18185
|
Xa as svgColorValueToDefinition,
|
|
18183
18186
|
oi as svgStringDimensions,
|