@spiffcommerce/core 16.4.2-rc.1 → 16.4.3

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.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _spiffcommerce_papyrus from '@spiffcommerce/papyrus';
2
2
  import { OptionResource, VariantResource, Step, AnyStepData, FrameOffsets, PatternImageData, Region, Workflow, ILayout, LayoutsState, LayoutData, SilentStepData, Placeable, StepStorage, CanvasCommand, CommandContext, LayoutState, SerializableStep, CommandState, GlobalPropertyConfiguration, Asset, MaterialResource, AssetType, StepType, GlobalPropertyConfigurationAspect, AspectType, Theme, StepAspect, FrameStepData, CreateElementCommand, FrameElement, IllustrationStepData, IllustrationElement, ColorDefinition, MaterialStepData, ModelStepData, TextStepData, TextboxElement, TextFillImage, FontData, GroupCommand, PictureStepData, QuestionStepData, ShapeStepData, ModuleStepData, DigitalContentStepData, FrameData as FrameData$1, BulkStepData, InformationStepData } from '@spiffcommerce/papyrus';
3
- export { Animatable, AnyStepData, Asset, AssetType, BringForwardCommand, BringToBackCommand, BringToFrontCommand, BulkStepData, CanvasCommand, ColorDefinition, ColorProfileProps, CommandContext, CommandState, CreateElementCommand, CreateLayoutCommand, DeleteElementCommand, DigitalContentStepData, FontAlignmentCommand, FontColorCommand, FontSizeCommand, FontSourceCommand, FrameElement, FrameStepData, GroupCommand, ILayout, IllustrationElement, IllustrationStepData, ImageElement, InformationStepData, LayoutData, LayoutElement, LayoutElementFactory, LayoutElementType, LayoutsState, MaterialStepData, ModelStepData, ModuleStepData, MoveCommand, OptionResource, PictureStepData, QuestionStepData, ResizeCommand, RotateCommand, SendBackwardsCommand, ShapeStepData, Step, StepAspect, StepAspectType, StepStorage, StepType, TextChangeCommand, TextStepData, TextboxElement, Theme, UnitOfMeasurement, VariantResource, Workflow, WorkflowPanel, dataUrlFromExternalUrl, determineCorrectFontSizeAndLines, findElement, frameDataCache, generate, generateSVGWithUnknownColors, getAttributesFromArrayBuffer, getAxisAlignedBoundingBox, getFrameData, getSvgElement, loadFont, patternImageDataCache, registerFetchImplementation, registerWindowImplementation, rehydrateSerializedLayout } from '@spiffcommerce/papyrus';
3
+ export { Animatable, AnyStepData, Asset, AssetType, BringForwardCommand, BringToBackCommand, BringToFrontCommand, BulkStepData, CanvasCommand, ColorDefinition, ColorProfileProps, CommandContext, CommandState, CreateElementCommand, CreateLayoutCommand, DeleteElementCommand, DigitalContentStepData, FontAlignmentCommand, FontColorCommand, FontSizeCommand, FontSourceCommand, FrameElement, FrameStepData, GroupCommand, ILayout, IllustrationElement, IllustrationStepData, ImageElement, InformationStepData, LayoutData, LayoutElement, LayoutElementFactory, LayoutElementType, LayoutsState, MaterialStepData, ModelStepData, ModuleStepData, MoveCommand, OptionResource, PictureStepData, QuestionStepData, ResizeCommand, RotateCommand, SendBackwardsCommand, ShapeStepData, Step, StepAspect, StepAspectType, StepStorage, StepType, TextChangeCommand, TextStepData, TextboxElement, Theme, UnitOfMeasurement, VariantResource, Workflow, WorkflowPanel, dataUrlFromExternalUrl, determineCorrectFontSizeAndLines, findElement, frameDataCache, generate, generateSVGWithUnknownColors, getAttributesFromArrayBuffer, getAxisAlignedBoundingBox, getFrameData, getSvgElement, loadFont, patternImageDataCache, registerFetchImplementation, registerWindowImplementation, rehydrateSerializedLayout, setCanvasModule } from '@spiffcommerce/papyrus';
4
4
  import { ApolloClient, MutationOptions, FetchResult } from '@apollo/client/core';
5
5
  import { RenderableContextService, RenderableContext, ThreeDPreviewService, ModelContainer } from '@spiffcommerce/preview';
6
6
  import * as lodash from 'lodash';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createHttpLink as Ct, InMemoryCache as Qt, ApolloClient as ut, from as mt, gql as M } from "@apollo/client/core";
2
2
  import { fetch as _A, getAttributesFromArrayBuffer as Fe, AssetType as le, StepType as I, StepAspectType as O, getFrameData as Ae, frameDataCache as pt, UpdateFramePattern as Me, calculateOffsets as ee, LayoutElementType as U, generate as k, CreateElementCommand as J, generateSVGWithUnknownColors as ye, svgObjectURL as FA, fetchAsString as Z, DeleteElementCommand as $, GroupCommand as G, generateDefaultRectangleFrameSvg as Be, GetSVGDimensions as It, patternImageDataCache as de, fetchAsArrayBuffer as Dt, findElement as MA, modifySVGWithElementProperties as ft, IllustrationColorCommand as jA, IllustrationCacheCommand as Ft, getFontMetrics as Mt, getPatternImageData as VA, FontColorCommand as yt, FontImageFillCommand as bA, applyTextTransformations as WA, determineCorrectFontSizeAndLines as IA, FontSourceCommand as we, loadFont as te, TextChangeCommand as Yt, FontSizeCommand as St, createElementNS as xt, createElement as wA, _loadFontExternalDataURL as ae, UpdateWorkflowStateCommand as Ee, CommandContext as Nt, createCanvas as yA, getSvgElement as Ye, LayoutRenderingPurpose as Se, renderPapyrusComponentAsString as xe, loadImage as Ne, getDomParser as Re, toBase64 as he, getVariant as Rt, generateFrameSVG as Pt, getDefaultVariant as UA, domParser as Pe, sanitizeSvgTree as He, traverse as Ht, xmlSerializer as Ue, CreateLayoutCommand as Ut, sortElementsByLayersWithIndex as Gt, AspectType as DA, rehydrateSerializedLayout as AA } from "@spiffcommerce/papyrus";
3
- import { AssetType as Ts, BringForwardCommand as Ls, BringToBackCommand as Os, BringToFrontCommand as zs, CanvasCommand as Ks, CommandContext as js, CreateElementCommand as Vs, CreateLayoutCommand as Ws, DeleteElementCommand as Xs, FontAlignmentCommand as qs, FontColorCommand as Zs, FontSizeCommand as $s, FontSourceCommand as _s, GroupCommand as Ai, LayoutElementFactory as ei, LayoutElementType as ti, MoveCommand as ai, ResizeCommand as ni, RotateCommand as si, SendBackwardsCommand as ii, StepAspectType as oi, StepType as ri, TextChangeCommand as ci, UnitOfMeasurement as gi, dataUrlFromExternalUrl as li, determineCorrectFontSizeAndLines as Bi, findElement as di, frameDataCache as wi, generate as Ei, generateSVGWithUnknownColors as hi, getAttributesFromArrayBuffer as Ci, getAxisAlignedBoundingBox as Qi, getFrameData as ui, getSvgElement as mi, loadFont as pi, patternImageDataCache as Ii, registerFetchImplementation as Di, registerWindowImplementation as fi, rehydrateSerializedLayout as Fi } from "@spiffcommerce/papyrus";
3
+ import { AssetType as Ts, BringForwardCommand as Ls, BringToBackCommand as Os, BringToFrontCommand as zs, CanvasCommand as Ks, CommandContext as js, CreateElementCommand as Vs, CreateLayoutCommand as Ws, DeleteElementCommand as Xs, FontAlignmentCommand as qs, FontColorCommand as Zs, FontSizeCommand as $s, FontSourceCommand as _s, GroupCommand as Ai, LayoutElementFactory as ei, LayoutElementType as ti, MoveCommand as ai, ResizeCommand as ni, RotateCommand as si, SendBackwardsCommand as ii, StepAspectType as oi, StepType as ri, TextChangeCommand as ci, UnitOfMeasurement as gi, dataUrlFromExternalUrl as li, determineCorrectFontSizeAndLines as Bi, findElement as di, frameDataCache as wi, generate as Ei, generateSVGWithUnknownColors as hi, getAttributesFromArrayBuffer as Ci, getAxisAlignedBoundingBox as Qi, getFrameData as ui, getSvgElement as mi, loadFont as pi, patternImageDataCache as Ii, registerFetchImplementation as Di, registerWindowImplementation as fi, rehydrateSerializedLayout as Fi, setCanvasModule as Mi } from "@spiffcommerce/papyrus";
4
4
  import { setContext as vt } from "@apollo/client/link/context";
5
5
  import { onError as kt } from "@apollo/client/link/error";
6
6
  import { Pith as Ge } from "pith";
@@ -10845,6 +10845,7 @@ export {
10845
10845
  Di as registerFetchImplementation,
10846
10846
  fi as registerWindowImplementation,
10847
10847
  Fi as rehydrateSerializedLayout,
10848
+ Mi as setCanvasModule,
10848
10849
  cA as shapeStepService,
10849
10850
  ma as shortenUrl,
10850
10851
  xA as spiffCoreConfiguration,
@@ -2897,4 +2897,4 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2897
2897
  }
2898
2898
  }
2899
2899
  }
2900
- `,ee=async l=>{var e;for(const t in l.layouts){const A=l.layouts[t].elements.filter(n=>n.type===r.LayoutElementType.Illustration);for(let n=0;n<A.length;++n){const i=A[n];i.src&&i.svg&&(i.cachedObjectURL=await r.svgObjectURL(i.svg))}const a=l.layouts[t].elements.filter(n=>n.type===r.LayoutElementType.Textbox);for(let n=0;n<a.length;++n){const i=a[n];(e=i.fontData)!=null&&e.assetUrl&&await r.loadFont(i.fontData.assetUrl)}}},Cn=async(l,e)=>{var a;const t=await P.getShadowGraphqlClient().query({query:cn(((a=e==null?void 0:e.assets)==null?void 0:a.metadata)||!1),errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:l}}),A=t.data.workflows;if(A===void 0||A.length!==l.length)throw new Error(`Unable to read workflows: ${t.errors??"Length mismatch in response"}`);return A.forEach(n=>{n.steps.forEach(i=>{var o,s,c;delete i.data.__typename,(o=i.option)!=null&&o.id&&((s=i.option.defaultVariant)!=null&&s.asset&&k.cacheAsset(i.option.defaultVariant.asset),i.option.colorProfile&&k.cacheAsset(i.option.colorProfile),(c=i.option.variants)==null||c.forEach(g=>{g.asset&&k.cacheAsset(g.asset),g.displayImage&&k.cacheAsset(g.displayImage),g.thumbnail&&k.cacheAsset(g.thumbnail),g.material&&k.cacheMaterial(g.material)}),se.set({id:i.option.id},Promise.resolve(i.option)))})}),A},Qn=async(l,e)=>{const A=(await e).find(a=>a.id===l);if(!A)throw new Error(`Workflow not found: ${l}`);return A},We=async(l,e)=>{const t=l.map(o=>se.get({id:o,options:e})),A=l.filter((o,s)=>t[s]===void 0);if(A.length===0)return Promise.all(t);const a=Cn(A,e),n=A.map(o=>se.set({id:o,options:e},Qn(o,a))),i=t.filter(o=>o!==void 0);return await Promise.all(i.concat(n))},Ee=async(l,e)=>(await We([l],e))[0],un=l=>l.sort((e,t)=>e.index-t.index).map(e=>({id:r.generate(),panelId:e.name,name:e.name,index:e.index,createdAt:new Date,updatedAt:new Date,transparentBackground:e.transparentBackground,height:e.height,width:e.width,previewRegion:e.previewRegion,useEditableArea:e.useEditableArea,editableArea:e.editableArea})),Xe=(l,e)=>{const t=l.workflowState,A=t?JSON.parse(t):void 0;return A?Object.values(A.layouts).map(a=>a.layout):un(e.panels)};class sA{constructor(e){this.updateTransactionState=async t=>{try{return P.getShadowGraphqlClient().mutate({...t,mutation:xA})}catch(A){throw console.error(A),new U("Critical - Unable to synchronize workflow state with server.")}},this.initialized=!1,this.options=e,this.options.applicationKey&&wA(this.options.applicationKey)}getAssetManager(){return k}getCurrencyCode(){if(this.currencyCode===void 0)throw new Error("No currency code set.");return this.currencyCode}getFlowService(){if(!this.options.applicationKey)throw new Error("Application key required to use Flow Service.");return new nA}async authenticateBundleFromLocalStorage(e){var a,n;const t=N.getMap("bundleOwnerIds");if(t!=null&&t.has(e)){const i=t.get(e);return Ne(i),Promise.resolve({success:!0,stakeholderType:re.Owner})}const A=N.getMap("bundlePartnerIds")||new Map;if(A.has(e)){const i=A.get(e),s=(N.getMap("partnerCustomerIds")||new Map).get(i);if(s&&await this.authenticateCustomerId(s)){const g=(n=(a=this.customer)==null?void 0:a.bundleStakeholders)==null?void 0:n.find(d=>{var B;return((B=d.bundle)==null?void 0:B.id)===e});if(g)return Promise.resolve({success:!0,stakeholderType:g.type})}}return Promise.resolve({success:!1})}async authenticateTransactionFromLocalStorage(e){var g,d,B,w,h,C;const t=P.getShadowGraphqlClient(),A=await t.query({query:gn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:e}});if(!A.data.transactions||A.data.transactions.length===0)throw new Error(`Transaction not found: ${e}`);const a=A.data.transactions[0];if(!((d=(g=a.product)==null?void 0:g.partner)==null?void 0:d.id))throw new Error(`Unable to read transaction: ${e}`);if(a.isOrdered)return Promise.resolve({success:!1,transactionReadOnly:!0});const i=N.getMap("transactionOwnerIds");if(i!=null&&i.has(e)){const E=i.get(e);return q(E),Promise.resolve({success:!0,stakeholderType:re.Owner})}const o=N.getMap("transactionCustomerIds");if(o!=null&&o.has(e)){const E=o.get(e);if(E&&await this.authenticateCustomerId(E)){const Q=((w=(B=this.customer)==null?void 0:B.bundleStakeholders)==null?void 0:w.find(I=>{var p,D;return(D=(p=I.bundle)==null?void 0:p.transactions)==null?void 0:D.some(F=>F.id===e)}))||((C=(h=this.customer)==null?void 0:h.stakeholders)==null?void 0:C.find(I=>{var p;return((p=I.transaction)==null?void 0:p.id)===e}));if(Q)return Promise.resolve({success:!0,stakeholderType:Q.type})}}const c=(await t.query({query:ln,errorPolicy:"all",variables:{id:a.workflowId}})).data.workflow;if(!c)throw new Error(`Unable to read workflow: ${a.workflowId}`);return Promise.resolve({success:!1,theme:c.overrideTheme,customLogoLink:a.customLogoLink})}clearCustomer(){this.customer=void 0}clearCustomerForTransaction(e){const t=N.getMap("transactionCustomerIds");t!=null&&t.has(e)&&(t.delete(e),N.setMap("transactionCustomerIds",t))}getStakeholderTypeForTransaction(e){var A,a;const t=(a=(A=this.customer)==null?void 0:A.stakeholders)==null?void 0:a.find(n=>{var i;return((i=n.transaction)==null?void 0:i.id)===e});if(t)return t.type}async getOrCreateCustomer(e){var i;this.customer=void 0;const t=P.getShadowGraphqlClient(),a=(await t.query({query:Bn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e}})).data.customer;if(!a.id){const s=(i=(await t.mutate({mutation:dn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{details:{emailAddress:e}}})).data)==null?void 0:i.customerCreate;if(!s)throw new Error("Unable to create customer.");return this.storeCustomer(s),this.customer=s,{customer:s,isAuthenticated:!1}}this.storeCustomer(a);const n=await this.authenticateCustomerId(a.id);return{customer:this.customer||a,isAuthenticated:n}}async authenticateCustomerId(e){var o;const t=P.getShadowGraphqlClient(),A=N.getMap("customerTokens");if(!(A!=null&&A.has(e)))return!1;const a=A.get(e);if(!a)return!1;const i=(o=(await t.mutate({mutation:wn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{loginToken:a}})).data)==null?void 0:o.customerAuthenticate;return i?(this.storeCustomer(i),st(a),this.customer=i,!0):!1}async generateVerificationCode(e){await P.getShadowGraphqlClient().mutate({mutation:En,variables:{emailAddress:e}})}async verifyCode(e,t){var n,i;const a=(n=(await P.getShadowGraphqlClient().mutate({mutation:hn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e,verificationCode:t}})).data)==null?void 0:n.customerVerifyCode;if(a!=null&&a.loginToken){if(!((i=a.partner)!=null&&i.id))throw new Error(`Unable to find customer: ${e}`);const o=N.getMap("customerTokens")||new Map;return o.set(a.id,a.loginToken),N.setMap("customerTokens",o),this.storeCustomer(a),st(a.loginToken),this.customer={...a,loginToken:void 0},!0}return!1}async getNewBundle(e){var i;const A=(i=(await P.getShadowGraphqlClient().mutate({mutation:ka,variables:{collectionId:e},fetchPolicy:"no-cache"})).data)==null?void 0:i.bundleCreate;if(!(A!=null&&A.id))throw new Error("Unable to create bundle");const a=N.getMap("bundlePartnerIds")||new Map;a.set(A.id,A.partner.id),N.setMap("bundlePartnerIds",a),Ne(A.bundleOwnerId);const n=N.getMap("bundleOwnerIds")||new Map;return n.set(A.id,A.bundleOwnerId),N.setMap("bundleOwnerIds",n),new aA(this,A)}async getExistingBundle(e,t,A){var g,d,B,w;const a=N.getMap("bundleOwnerIds"),n=a==null?void 0:a.get(e);n&&Ne(n);const i=await P.getShadowGraphqlClient().query({query:Ua,variables:{id:e},fetchPolicy:"no-cache"});if(!((g=i.data)!=null&&g.bundles)||((d=i.data)==null?void 0:d.bundles.length)===0||!((B=i.data)!=null&&B.bundles[0]))throw new Error(`Unable to find bundle: ${e}`);const o=(w=i.data)==null?void 0:w.bundles[0],s=N.getMap("bundlePartnerIds")||new Map;s.set(o.id,o.partner.id),N.setMap("bundlePartnerIds",s);const c=new aA(this,o,t,A);return await c.getInitializationPromise(),c}async getBundleStakeholders(){var n;if(!this.customer)throw new Error("Customer not authenticated.");const e=await P.getShadowGraphqlClient().query({query:va,variables:{id:this.customer.id},fetchPolicy:"no-cache"});if(!((n=e.data)!=null&&n.customers)||e.data.customers.length===0)throw new Error("Unable to find customer.");const A=e.data.customers[0].bundleStakeholders||[],a=N.getMap("bundlePartnerIds")||new Map;return A.forEach(i=>{var o,s;(o=i.bundle)!=null&&o.id&&((s=i.bundle.partner)!=null&&s.id)&&a.set(i.bundle.id,i.bundle.partner.id)}),N.setMap("bundlePartnerIds",a),A}async getWorkflowExperience(e,t,A,a){var d,B,w,h;if(!a)return await this.getWorkflowExperienceDeprecated(e,t,A);const n=async()=>{var E,m;const C=P.getShadowGraphqlClient();if(a.type==="transaction"){const{transactionId:Q,readOnly:I}=a,p=await C.query({query:ue,variables:{ids:[Q]},errorPolicy:"all",fetchPolicy:"no-cache"});if(!((E=p.data)!=null&&E.transactions)||p.data.transactions.length===0)throw new U("Existing transaction not found.");const D=(m=p.data)==null?void 0:m.transactions[0];if(!D.workflowId)throw new U("Existing transaction has no workflow ID.");const F=await Ee(D.workflowId);if(!D.product)throw new U("Failed to load transaction, product not available.");return{transaction:D,workflow:F,readOnly:I}}if(a.type==="integration"||a.type==="external"){const Q=async()=>{const F=a.type==="integration"?{integrationProductId:a.integrationProductId}:{externalIntegrationId:a.externalIntegrationId,externalProductId:a.externalProductId},f=await C.mutate({mutation:Et,variables:{...F,bulk:a.bulk,workflowId:a.workflowId,claim:!0},errorPolicy:"all",fetchPolicy:"no-cache",context:this.options.applicationKey?{headers:{"X-Application-Key":this.options.applicationKey}}:void 0});if(!f.data||!f.data.transactionCreate)throw new U("Failed to create transaction!");const y=f.data.transactionCreate;if(!y.product)throw new U("Failed to create transaction, product not available.");return y},I=Ee(a.workflowId,a==null?void 0:a.graphql),[p,D]=await Promise.all([Q(),I]);return{transaction:p,workflow:D}}throw new U("No workflow ID provided.")},{transaction:i,workflow:o,readOnly:s}=await n();this.currencyCode=(d=i.product.partner)==null?void 0:d.currencyCode;const c={product:i.product,transaction:i,layouts:[],stateMutationFunc:s?async()=>{throw new G("State mutation is forbidden in read only mode!")}:async C=>{const m=(N.getMap("transactionOwnerIds")||new Map).get(i.id)||void 0;return this.updateTransactionState({...C,context:{transactionOwnerId:m}})},readOnly:s,workflow:o};if(a.type==="transaction"&&i.workflowState){const C=JSON.parse(i.workflowState);c.layouts=Object.values(C.layouts).map(E=>E.layout),await r.rehydrateSerializedLayout(C),await ee(C),c.reloadedState=C}else if(!s&&a.workflowState){const C=JSON.parse(a.workflowState);c.layouts=Object.values(C.layouts).map(E=>E.layout),await r.rehydrateSerializedLayout(C),await ee(C),c.reloadedState=C}else c.layouts=Xe(c.transaction,c.workflow);if(c.renderableContextService=new Fe(c.layouts),a.previewService?(c.previewService=a.previewService,(B=c.product)!=null&&B.modelUrl&&(c.modelContainer=c.previewService.loadModel({model:c.product.modelUrl,contextService:c.renderableContextService}))):(c.previewService=A&&A(o),(w=c.product)!=null&&w.modelUrl&&(c.modelContainer=(h=c.previewService)==null?void 0:h.loadModel({model:c.product.modelUrl,contextService:c.renderableContextService}))),a.type!=="transaction"){const C=N.getMap("transactionOwnerIds")||new Map;C.set(i.id,i.transactionOwnerId),q(i.transactionOwnerId||""),N.setMap("transactionOwnerIds",C)}else{const E=(N.getMap("transactionOwnerIds")||new Map).get(i.id);E&&q(E),c.isReloadedTransaction=!0}this.initialized=!0,this.experienceOptions=c;const g=new de(this,c);return await g.getWorkflowManager().getInitializationPromise(),a.type!=="transaction"&&this.customer&&await g.attachCustomerDetails({email:this.customer.emailAddress}),g}async getWorkflowExperiences(e,t){if(e.length===0)throw new U("No options provided!");const A=P.getShadowGraphqlClient(),a=e.map((Q,I)=>({option:Q,index:I})),n=a.filter(Q=>Q.option.type==="transaction"),i=a.filter(Q=>Q.option.type==="integration"||Q.option.type==="external"),o=async()=>{var D,F;if(n.length===0)return[];const Q=n.map(f=>f.option.transactionId),I=await A.query({query:ue,variables:{ids:Q},errorPolicy:"all",fetchPolicy:"no-cache"}),p=I.data.transactions;if(p.length!==n.length){const f=((F=(D=I.errors)==null?void 0:D[0])==null?void 0:F.message)||"Unknown error";throw new U(`Not all transactions were found: ${f}`)}return p.map((f,y)=>{var Y;return{transaction:f,workflowId:f.workflowId,readOnly:((Y=n.find(S=>S.option.transactionId===f.id))==null?void 0:Y.option.readOnly)??!1,index:n[y].index}})},s=async()=>{var p,D,F;if(i.length===0)return[];const Q=await A.mutate({mutation:PA,variables:{inputs:i.map(f=>({integrationProductId:f.option.type==="integration"?f.option.integrationProductId:void 0,externalIntegrationId:f.option.type==="external"?f.option.externalIntegrationId:void 0,externalProductId:f.option.type==="external"?f.option.externalProductId:void 0,workflowId:f.option.workflowId,bulk:f.option.bulk,claim:!0}))},errorPolicy:"all",fetchPolicy:"no-cache"}),I=(p=Q.data)==null?void 0:p.transactionCreateMany;if(!I||I.length===0){const f=((F=(D=Q.errors)==null?void 0:D[0])==null?void 0:F.message)||"Unknown error";throw new U(`Failed to create transactions: ${f}`)}return I.map((f,y)=>({transaction:f,workflowId:f.workflowId,readOnly:!1,index:i[y].index}))},c=(await Promise.all([o(),s()])).flat(),g=[...new Set(c.map(Q=>Q.workflowId))],d=await We(g,t),B=new Map(d.map(Q=>[Q.id,Q])),w=N.getMap("transactionOwnerIds")||new Map,h=c.map(async Q=>{const{transaction:I,workflowId:p,readOnly:D,index:F}=Q,f=B.get(p),y=e[F];!w.get(I.id)&&I.transactionOwnerId&&w.set(I.id,I.transactionOwnerId);const Y=w.get(I.id)||void 0,S={product:I.product,transaction:I,layouts:[],stateMutationFunc:D?async()=>{throw new G("State mutation is forbidden in read only mode!")}:async x=>this.updateTransactionState({...x,context:{transactionOwnerId:Y}}),readOnly:D,workflow:f,isReloadedTransaction:y.type==="transaction"};if(y.type==="transaction"&&I.workflowState){const x=JSON.parse(I.workflowState);S.layouts=Object.values(x.layouts).map(R=>R.layout),await r.rehydrateSerializedLayout(x),await ee(x),S.reloadedState=x}else if(!D&&y.workflowState){const x=JSON.parse(y.workflowState);S.layouts=Object.values(x.layouts).map(R=>R.layout),await r.rehydrateSerializedLayout(x),await ee(x),S.reloadedState=x}else S.layouts=Xe(S.transaction,S.workflow);return S.renderableContextService=new Fe(S.layouts),this.initialized=!0,this.experienceOptions=S,{experienceOptions:S,index:F,options:y}});N.setMap("transactionOwnerIds",w);const m=(await Promise.all(h)).sort((Q,I)=>Q.index-I.index).map(async Q=>{const{experienceOptions:I,options:p}=Q,D=new de(this,I);return await D.getWorkflowManager().getInitializationPromise(),p.type!=="transaction"&&this.customer&&await D.attachCustomerDetails({email:this.customer.emailAddress}),D});return await Promise.all(m)}async initFromIntegrationProduct(e){var i;if(e==="")throw new U("No integration product ID provided.");const A=await P.getShadowGraphqlClient().mutate({mutation:Et,variables:{integrationProductId:e,bulk:this.options.bulk||!1,claim:!0},errorPolicy:"all",fetchPolicy:"no-cache",context:this.options.applicationKey?{headers:{"X-Application-Key":this.options.applicationKey}}:void 0});if(!A.data||!A.data.transactionCreate)throw new U("Failed to create transaction!");const a=A.data.transactionCreate;if(!a.product)throw new U("Failed to create transaction, product not available.");this.currencyCode=(i=a.product.partner)==null?void 0:i.currencyCode;const n=N.getMap("transactionOwnerIds")||new Map;n.set(a.id,a.transactionOwnerId),q(a.transactionOwnerId||""),N.setMap("transactionOwnerIds",n),this.experienceOptions={product:a.product,transaction:a,layouts:[],stateMutationFunc:this.updateTransactionState},this.initialized=!0}async initFromTransaction(e,t=!1){var o,s,c,g;if(e==="")throw new U("No transaction ID provided.");const A=P.getShadowGraphqlClient(),a=async()=>{var w,h;const B=(w=(await A.query({query:ue,variables:{ids:[e]},fetchPolicy:"no-cache",errorPolicy:"all"})).data)==null?void 0:w.transactions[0];if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(h=B.product.partner)==null?void 0:h.currencyCode,this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:async()=>{throw new G("State mutation is forbidden in read only mode!")},readOnly:t},this.initialized=!0};if(t)return await a();const n=N.getMap("transactionOwnerIds")||new Map,i=n.get(e);if(i){q(i);const B=(o=(await A.query({query:ue,variables:{ids:[e]},errorPolicy:"all"})).data)==null?void 0:o.transactions[0];if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(s=B.product.partner)==null?void 0:s.currencyCode,this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:this.updateTransactionState,readOnly:t},this.initialized=!0;return}try{const B=(c=(await A.mutate({mutation:RA,variables:{id:e},errorPolicy:"all"})).data)==null?void 0:c.transactionClaim;if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(g=B.product.partner)==null?void 0:g.currencyCode,B.transactionOwnerId&&(n.set(B.id,B.transactionOwnerId),q(B.transactionOwnerId),N.setMap("transactionOwnerIds",n)),this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:this.updateTransactionState,readOnly:t},this.initialized=!0}catch{throw new U("Attempted to access a transaction that isn't available.")}}async getWorkflowExperienceDeprecated(e,t,A){var a,n,i,o;if(!this.initialized||!this.experienceOptions)throw new U("Cannot launch experience: Not initialized.");if(this.experienceOptions.transaction.workflowId){const s=await Ee(this.experienceOptions.transaction.workflowId);if(this.experienceOptions.workflow=s,this.experienceOptions.transaction.workflowState){const g=JSON.parse(this.experienceOptions.transaction.workflowState);this.experienceOptions.layouts=Object.values(g.layouts).map(d=>d.layout),await r.rehydrateSerializedLayout(g),await ee(g),this.experienceOptions.reloadedState=g}this.experienceOptions.previewService=A&&A(s),this.experienceOptions.renderableContextService=new Fe(this.experienceOptions.layouts),(a=this.experienceOptions.product)!=null&&a.modelUrl&&(this.experienceOptions.modelContainer=(n=this.experienceOptions.previewService)==null?void 0:n.loadModel({model:this.experienceOptions.product.modelUrl,contextService:this.experienceOptions.renderableContextService}));const c=new de(this,this.experienceOptions);return await c.getWorkflowManager().getInitializationPromise(),c}if(e){const s=P.getShadowGraphqlClient().mutate({mutation:HA,variables:{workflowId:e,id:this.experienceOptions.transaction.id}}),c=Ee(e);if(await Promise.all([s,c]),this.experienceOptions.workflow=await c,t){const d=JSON.parse(t);this.experienceOptions.layouts=Object.values(d.layouts).map(B=>B.layout),await r.rehydrateSerializedLayout(d),await ee(d),this.experienceOptions.reloadedState=d}else this.experienceOptions.layouts=Xe(this.experienceOptions.transaction,this.experienceOptions.workflow);this.experienceOptions.previewService=A&&A(await c),this.experienceOptions.renderableContextService=new Fe(this.experienceOptions.layouts),(i=this.experienceOptions.product)!=null&&i.modelUrl&&(this.experienceOptions.modelContainer=(o=this.experienceOptions.previewService)==null?void 0:o.loadModel({model:this.experienceOptions.product.modelUrl,contextService:this.experienceOptions.renderableContextService}));const g=new de(this,this.experienceOptions);return await g.getWorkflowManager().getInitializationPromise(),g}throw new U("No workflow ID provided.")}getPreviewService(){var e;return(e=this.experienceOptions)==null?void 0:e.previewService}getProduct(){if(!this.initialized||!this.experienceOptions)throw new U("Cannot get product: Not initialized.");return this.experienceOptions.product}getTransaction(){if(!this.initialized||!this.experienceOptions)throw new U("Cannot get transaction: Not initialized.");return this.experienceOptions.transaction}storeCustomer(e){const t=N.getMap("partnerCustomerIds")||new Map;t.set(e.partner.id,e.id),N.setMap("partnerCustomerIds",t)}}class mn{getInitializationPromise(){return Promise.resolve()}isInitialized(){return!0}getInformationResults(){return[]}getVariationRecords(){return[]}async reset(){}updateStateWithServer(e){}addVariationRecord(e){return{recordNumber:0,transactionId:"",values:[]}}getCurrentVariationRecord(){}removeVariationRecord(e){return[]}async outstandingRequestsPromise(){}async updateStateWithServerImmediate(e){}addPoller(e){}addConfirmCallback(e){}addCurrentVariationCallback(e){}addEditedCallback(e){}addElementsCallback(e){}addInformationResultCallback(e){}addInitCallback(e){}addMakingAdjustmentsCallback(e){}addMandatoryCallback(e){}addMetadataCallback(e){}addSelectionCallback(e){}addStepSpecificStorageCallback(e,t){}addStorageCallback(e){}addVariationRecordsCallback(e){}getCommandDispatcher(){return e=>{}}getLayouts(){return[]}getLayoutPreviewService(){return{getAll:()=>new Map}}getPreviewService(){}getModelContainer(){}getProfanities(){return[]}getRegionElements(e){return[]}getSerializedStep(e,t){}getStepSpecificServices(e){}getTransaction(){return{id:""}}getTransactionCustomer(){}setTransactionCustomer(){}setTransactionCustomerDetails(){}getWorkflow(){return{id:"",name:"",panels:[],steps:[],showModelOnFinishStep:!1,allowProofDownload:!1,introduction:"",stepGroups:[]}}markStepsAsInitialised(e){}markUpdateCompleted(e){}markUpdatePending(){return"123"}getWorkflowSelections(){return{}}setCurrentAdjustingStepId(e){}setCurrentVariationRecord(e){}setEditedStatus(e,t){}setInformationResults(e){}setMandatoryFulfilled(e,t){}async setSelectionsAndElements(e,t,A){}setVariationRecords(e){}toggleDesignConfirmed(){}updateMetadata(e,t){}async updateStorage(e,t){}injectIntoPreviewService(e){return Promise.resolve()}ejectFromPreviewService(){}}var rA=(l=>(l.SelectFrame="SelectFrame",l.SelectImage="SelectImage",l.Position="Position",l))(rA||{});class cA extends L{constructor(e,t){var A;super(e,t),this.frameService=(A=this.manager.getStepSpecificServices(this.getId()))==null?void 0:A.frameService}selectVariant(e){const t=this.manager.getRegionElements(this.step.stepName);return Ie.selectVariant(this.step,e.getResource(),t,this.manager,A=>this.setUpdateState(A))}onFrameDataChanged(e){this.frameService&&this.frameService.onFrameDataChanged(t=>{t&&e(t)})}selectImage(e){return Ie.selectImage(this.step,e,this.manager)}getImageData(){if(this.frameService)return this.frameService.getImageData()}getCurrentFrameStep(e,t,A,a){return a&&a.length>1&&e===void 0?"SelectFrame":t||A||this.getImageData()?"Position":"SelectImage"}getFrameService(){return this.frameService}hasOverlayImageKey(){return this.step.data.overlayImageKey}hasOverlayImageUrl(){return this.step.data.overlayImageUrl}hasVaryingUpload(){return this.step.data.varyUpload}hasVaryingSelection(){return this.step.data.varySelection}}Object.defineProperty(u,"AssetType",{enumerable:!0,get:()=>r.AssetType}),Object.defineProperty(u,"BringForwardCommand",{enumerable:!0,get:()=>r.BringForwardCommand}),Object.defineProperty(u,"BringToBackCommand",{enumerable:!0,get:()=>r.BringToBackCommand}),Object.defineProperty(u,"BringToFrontCommand",{enumerable:!0,get:()=>r.BringToFrontCommand}),Object.defineProperty(u,"CanvasCommand",{enumerable:!0,get:()=>r.CanvasCommand}),Object.defineProperty(u,"CommandContext",{enumerable:!0,get:()=>r.CommandContext}),Object.defineProperty(u,"CreateElementCommand",{enumerable:!0,get:()=>r.CreateElementCommand}),Object.defineProperty(u,"CreateLayoutCommand",{enumerable:!0,get:()=>r.CreateLayoutCommand}),Object.defineProperty(u,"DeleteElementCommand",{enumerable:!0,get:()=>r.DeleteElementCommand}),Object.defineProperty(u,"FontAlignmentCommand",{enumerable:!0,get:()=>r.FontAlignmentCommand}),Object.defineProperty(u,"FontColorCommand",{enumerable:!0,get:()=>r.FontColorCommand}),Object.defineProperty(u,"FontSizeCommand",{enumerable:!0,get:()=>r.FontSizeCommand}),Object.defineProperty(u,"FontSourceCommand",{enumerable:!0,get:()=>r.FontSourceCommand}),Object.defineProperty(u,"GroupCommand",{enumerable:!0,get:()=>r.GroupCommand}),Object.defineProperty(u,"LayoutElementFactory",{enumerable:!0,get:()=>r.LayoutElementFactory}),Object.defineProperty(u,"LayoutElementType",{enumerable:!0,get:()=>r.LayoutElementType}),Object.defineProperty(u,"MoveCommand",{enumerable:!0,get:()=>r.MoveCommand}),Object.defineProperty(u,"ResizeCommand",{enumerable:!0,get:()=>r.ResizeCommand}),Object.defineProperty(u,"RotateCommand",{enumerable:!0,get:()=>r.RotateCommand}),Object.defineProperty(u,"SendBackwardsCommand",{enumerable:!0,get:()=>r.SendBackwardsCommand}),Object.defineProperty(u,"StepAspectType",{enumerable:!0,get:()=>r.StepAspectType}),Object.defineProperty(u,"StepType",{enumerable:!0,get:()=>r.StepType}),Object.defineProperty(u,"TextChangeCommand",{enumerable:!0,get:()=>r.TextChangeCommand}),Object.defineProperty(u,"UnitOfMeasurement",{enumerable:!0,get:()=>r.UnitOfMeasurement}),Object.defineProperty(u,"dataUrlFromExternalUrl",{enumerable:!0,get:()=>r.dataUrlFromExternalUrl}),Object.defineProperty(u,"determineCorrectFontSizeAndLines",{enumerable:!0,get:()=>r.determineCorrectFontSizeAndLines}),Object.defineProperty(u,"findElement",{enumerable:!0,get:()=>r.findElement}),Object.defineProperty(u,"frameDataCache",{enumerable:!0,get:()=>r.frameDataCache}),Object.defineProperty(u,"generate",{enumerable:!0,get:()=>r.generate}),Object.defineProperty(u,"generateSVGWithUnknownColors",{enumerable:!0,get:()=>r.generateSVGWithUnknownColors}),Object.defineProperty(u,"getAttributesFromArrayBuffer",{enumerable:!0,get:()=>r.getAttributesFromArrayBuffer}),Object.defineProperty(u,"getAxisAlignedBoundingBox",{enumerable:!0,get:()=>r.getAxisAlignedBoundingBox}),Object.defineProperty(u,"getFrameData",{enumerable:!0,get:()=>r.getFrameData}),Object.defineProperty(u,"getSvgElement",{enumerable:!0,get:()=>r.getSvgElement}),Object.defineProperty(u,"loadFont",{enumerable:!0,get:()=>r.loadFont}),Object.defineProperty(u,"patternImageDataCache",{enumerable:!0,get:()=>r.patternImageDataCache}),Object.defineProperty(u,"registerFetchImplementation",{enumerable:!0,get:()=>r.registerFetchImplementation}),Object.defineProperty(u,"registerWindowImplementation",{enumerable:!0,get:()=>r.registerWindowImplementation}),Object.defineProperty(u,"rehydrateSerializedLayout",{enumerable:!0,get:()=>r.rehydrateSerializedLayout}),u.AssetNotFoundError=z,u.BulkPriceCalculationStrategy=Bt,u.BulkStepHandle=Ht,u.CollectionProduct=eA,u.ConversionDataType=wt,u.ConversionLocation=dt,u.FlowExecutionNodeResult=we,u.FlowExecutionResult=iA,u.FlowService=nA,u.FrameService=Qt,u.FrameStep=rA,u.FrameStepHandle=cA,u.GlobalPropertyHandle=Se,u.IllustrationStepHandle=Ut,u.InformationMessageType=le,u.InformationStepHandle=Lt,u.LayoutNotFoundError=v,u.MaterialStepHandle=Gt,u.MisconfigurationError=ne,u.MockWorkflowManager=mn,u.ModelStepHandle=vt,u.ObjectInput=Ve,u.ObjectInputType=oA,u.OptionNotFoundError=ae,u.ParseError=X,u.PictureStepHandle=kt,u.ProductCameraRig=lt,u.ProductCollection=_t,u.ProductWorkflow=Ke,u.PromiseQueue=Ue,u.QuestionStepHandle=bt,u.QueueablePromise=He,u.ResourceNotFoundError=W,u.ShapeStepHandle=Tt,u.SpiffCommerceClient=sA,u.StakeholderType=re,u.StepHandle=L,u.TextStepHandle=Jt,u.Transform=AA,u.TransformCollection=tA,u.UnhandledBehaviorError=G,u.Variant=O,u.WorkflowExperienceImpl=de,u.assetService=k,u.createDesign=Vt,u.designService=pe,u.digitalContentStepService=ft,u.frameStepService=Ie,u.gatherVaryingStepAspects=xe,u.generateCommands=Wt,u.generateStateFromDesignInputSteps=qt,u.getBoundedOffsets=Ct,u.getWorkflow=Ee,u.getWorkflows=We,u.graphQlManager=P,u.illustrationStepService=ge,u.materialStepService=Ge,u.modelStepService=ve,u.moduleStepService=Dt,u.optionService=T,u.persistenceService=N,u.pictureStepService=ke,u.questionStepService=be,u.shapeStepService=_,u.shortenUrl=mt,u.spiffCoreConfiguration=ie,u.stepAspectValuesToDesignInputSteps=Xt,u.textStepService=J,u.toast=pt,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
2900
+ `,ee=async l=>{var e;for(const t in l.layouts){const A=l.layouts[t].elements.filter(n=>n.type===r.LayoutElementType.Illustration);for(let n=0;n<A.length;++n){const i=A[n];i.src&&i.svg&&(i.cachedObjectURL=await r.svgObjectURL(i.svg))}const a=l.layouts[t].elements.filter(n=>n.type===r.LayoutElementType.Textbox);for(let n=0;n<a.length;++n){const i=a[n];(e=i.fontData)!=null&&e.assetUrl&&await r.loadFont(i.fontData.assetUrl)}}},Cn=async(l,e)=>{var a;const t=await P.getShadowGraphqlClient().query({query:cn(((a=e==null?void 0:e.assets)==null?void 0:a.metadata)||!1),errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:l}}),A=t.data.workflows;if(A===void 0||A.length!==l.length)throw new Error(`Unable to read workflows: ${t.errors??"Length mismatch in response"}`);return A.forEach(n=>{n.steps.forEach(i=>{var o,s,c;delete i.data.__typename,(o=i.option)!=null&&o.id&&((s=i.option.defaultVariant)!=null&&s.asset&&k.cacheAsset(i.option.defaultVariant.asset),i.option.colorProfile&&k.cacheAsset(i.option.colorProfile),(c=i.option.variants)==null||c.forEach(g=>{g.asset&&k.cacheAsset(g.asset),g.displayImage&&k.cacheAsset(g.displayImage),g.thumbnail&&k.cacheAsset(g.thumbnail),g.material&&k.cacheMaterial(g.material)}),se.set({id:i.option.id},Promise.resolve(i.option)))})}),A},Qn=async(l,e)=>{const A=(await e).find(a=>a.id===l);if(!A)throw new Error(`Workflow not found: ${l}`);return A},We=async(l,e)=>{const t=l.map(o=>se.get({id:o,options:e})),A=l.filter((o,s)=>t[s]===void 0);if(A.length===0)return Promise.all(t);const a=Cn(A,e),n=A.map(o=>se.set({id:o,options:e},Qn(o,a))),i=t.filter(o=>o!==void 0);return await Promise.all(i.concat(n))},Ee=async(l,e)=>(await We([l],e))[0],un=l=>l.sort((e,t)=>e.index-t.index).map(e=>({id:r.generate(),panelId:e.name,name:e.name,index:e.index,createdAt:new Date,updatedAt:new Date,transparentBackground:e.transparentBackground,height:e.height,width:e.width,previewRegion:e.previewRegion,useEditableArea:e.useEditableArea,editableArea:e.editableArea})),Xe=(l,e)=>{const t=l.workflowState,A=t?JSON.parse(t):void 0;return A?Object.values(A.layouts).map(a=>a.layout):un(e.panels)};class sA{constructor(e){this.updateTransactionState=async t=>{try{return P.getShadowGraphqlClient().mutate({...t,mutation:xA})}catch(A){throw console.error(A),new U("Critical - Unable to synchronize workflow state with server.")}},this.initialized=!1,this.options=e,this.options.applicationKey&&wA(this.options.applicationKey)}getAssetManager(){return k}getCurrencyCode(){if(this.currencyCode===void 0)throw new Error("No currency code set.");return this.currencyCode}getFlowService(){if(!this.options.applicationKey)throw new Error("Application key required to use Flow Service.");return new nA}async authenticateBundleFromLocalStorage(e){var a,n;const t=N.getMap("bundleOwnerIds");if(t!=null&&t.has(e)){const i=t.get(e);return Ne(i),Promise.resolve({success:!0,stakeholderType:re.Owner})}const A=N.getMap("bundlePartnerIds")||new Map;if(A.has(e)){const i=A.get(e),s=(N.getMap("partnerCustomerIds")||new Map).get(i);if(s&&await this.authenticateCustomerId(s)){const g=(n=(a=this.customer)==null?void 0:a.bundleStakeholders)==null?void 0:n.find(d=>{var B;return((B=d.bundle)==null?void 0:B.id)===e});if(g)return Promise.resolve({success:!0,stakeholderType:g.type})}}return Promise.resolve({success:!1})}async authenticateTransactionFromLocalStorage(e){var g,d,B,w,h,C;const t=P.getShadowGraphqlClient(),A=await t.query({query:gn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:e}});if(!A.data.transactions||A.data.transactions.length===0)throw new Error(`Transaction not found: ${e}`);const a=A.data.transactions[0];if(!((d=(g=a.product)==null?void 0:g.partner)==null?void 0:d.id))throw new Error(`Unable to read transaction: ${e}`);if(a.isOrdered)return Promise.resolve({success:!1,transactionReadOnly:!0});const i=N.getMap("transactionOwnerIds");if(i!=null&&i.has(e)){const E=i.get(e);return q(E),Promise.resolve({success:!0,stakeholderType:re.Owner})}const o=N.getMap("transactionCustomerIds");if(o!=null&&o.has(e)){const E=o.get(e);if(E&&await this.authenticateCustomerId(E)){const Q=((w=(B=this.customer)==null?void 0:B.bundleStakeholders)==null?void 0:w.find(I=>{var p,D;return(D=(p=I.bundle)==null?void 0:p.transactions)==null?void 0:D.some(F=>F.id===e)}))||((C=(h=this.customer)==null?void 0:h.stakeholders)==null?void 0:C.find(I=>{var p;return((p=I.transaction)==null?void 0:p.id)===e}));if(Q)return Promise.resolve({success:!0,stakeholderType:Q.type})}}const c=(await t.query({query:ln,errorPolicy:"all",variables:{id:a.workflowId}})).data.workflow;if(!c)throw new Error(`Unable to read workflow: ${a.workflowId}`);return Promise.resolve({success:!1,theme:c.overrideTheme,customLogoLink:a.customLogoLink})}clearCustomer(){this.customer=void 0}clearCustomerForTransaction(e){const t=N.getMap("transactionCustomerIds");t!=null&&t.has(e)&&(t.delete(e),N.setMap("transactionCustomerIds",t))}getStakeholderTypeForTransaction(e){var A,a;const t=(a=(A=this.customer)==null?void 0:A.stakeholders)==null?void 0:a.find(n=>{var i;return((i=n.transaction)==null?void 0:i.id)===e});if(t)return t.type}async getOrCreateCustomer(e){var i;this.customer=void 0;const t=P.getShadowGraphqlClient(),a=(await t.query({query:Bn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e}})).data.customer;if(!a.id){const s=(i=(await t.mutate({mutation:dn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{details:{emailAddress:e}}})).data)==null?void 0:i.customerCreate;if(!s)throw new Error("Unable to create customer.");return this.storeCustomer(s),this.customer=s,{customer:s,isAuthenticated:!1}}this.storeCustomer(a);const n=await this.authenticateCustomerId(a.id);return{customer:this.customer||a,isAuthenticated:n}}async authenticateCustomerId(e){var o;const t=P.getShadowGraphqlClient(),A=N.getMap("customerTokens");if(!(A!=null&&A.has(e)))return!1;const a=A.get(e);if(!a)return!1;const i=(o=(await t.mutate({mutation:wn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{loginToken:a}})).data)==null?void 0:o.customerAuthenticate;return i?(this.storeCustomer(i),st(a),this.customer=i,!0):!1}async generateVerificationCode(e){await P.getShadowGraphqlClient().mutate({mutation:En,variables:{emailAddress:e}})}async verifyCode(e,t){var n,i;const a=(n=(await P.getShadowGraphqlClient().mutate({mutation:hn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e,verificationCode:t}})).data)==null?void 0:n.customerVerifyCode;if(a!=null&&a.loginToken){if(!((i=a.partner)!=null&&i.id))throw new Error(`Unable to find customer: ${e}`);const o=N.getMap("customerTokens")||new Map;return o.set(a.id,a.loginToken),N.setMap("customerTokens",o),this.storeCustomer(a),st(a.loginToken),this.customer={...a,loginToken:void 0},!0}return!1}async getNewBundle(e){var i;const A=(i=(await P.getShadowGraphqlClient().mutate({mutation:ka,variables:{collectionId:e},fetchPolicy:"no-cache"})).data)==null?void 0:i.bundleCreate;if(!(A!=null&&A.id))throw new Error("Unable to create bundle");const a=N.getMap("bundlePartnerIds")||new Map;a.set(A.id,A.partner.id),N.setMap("bundlePartnerIds",a),Ne(A.bundleOwnerId);const n=N.getMap("bundleOwnerIds")||new Map;return n.set(A.id,A.bundleOwnerId),N.setMap("bundleOwnerIds",n),new aA(this,A)}async getExistingBundle(e,t,A){var g,d,B,w;const a=N.getMap("bundleOwnerIds"),n=a==null?void 0:a.get(e);n&&Ne(n);const i=await P.getShadowGraphqlClient().query({query:Ua,variables:{id:e},fetchPolicy:"no-cache"});if(!((g=i.data)!=null&&g.bundles)||((d=i.data)==null?void 0:d.bundles.length)===0||!((B=i.data)!=null&&B.bundles[0]))throw new Error(`Unable to find bundle: ${e}`);const o=(w=i.data)==null?void 0:w.bundles[0],s=N.getMap("bundlePartnerIds")||new Map;s.set(o.id,o.partner.id),N.setMap("bundlePartnerIds",s);const c=new aA(this,o,t,A);return await c.getInitializationPromise(),c}async getBundleStakeholders(){var n;if(!this.customer)throw new Error("Customer not authenticated.");const e=await P.getShadowGraphqlClient().query({query:va,variables:{id:this.customer.id},fetchPolicy:"no-cache"});if(!((n=e.data)!=null&&n.customers)||e.data.customers.length===0)throw new Error("Unable to find customer.");const A=e.data.customers[0].bundleStakeholders||[],a=N.getMap("bundlePartnerIds")||new Map;return A.forEach(i=>{var o,s;(o=i.bundle)!=null&&o.id&&((s=i.bundle.partner)!=null&&s.id)&&a.set(i.bundle.id,i.bundle.partner.id)}),N.setMap("bundlePartnerIds",a),A}async getWorkflowExperience(e,t,A,a){var d,B,w,h;if(!a)return await this.getWorkflowExperienceDeprecated(e,t,A);const n=async()=>{var E,m;const C=P.getShadowGraphqlClient();if(a.type==="transaction"){const{transactionId:Q,readOnly:I}=a,p=await C.query({query:ue,variables:{ids:[Q]},errorPolicy:"all",fetchPolicy:"no-cache"});if(!((E=p.data)!=null&&E.transactions)||p.data.transactions.length===0)throw new U("Existing transaction not found.");const D=(m=p.data)==null?void 0:m.transactions[0];if(!D.workflowId)throw new U("Existing transaction has no workflow ID.");const F=await Ee(D.workflowId);if(!D.product)throw new U("Failed to load transaction, product not available.");return{transaction:D,workflow:F,readOnly:I}}if(a.type==="integration"||a.type==="external"){const Q=async()=>{const F=a.type==="integration"?{integrationProductId:a.integrationProductId}:{externalIntegrationId:a.externalIntegrationId,externalProductId:a.externalProductId},f=await C.mutate({mutation:Et,variables:{...F,bulk:a.bulk,workflowId:a.workflowId,claim:!0},errorPolicy:"all",fetchPolicy:"no-cache",context:this.options.applicationKey?{headers:{"X-Application-Key":this.options.applicationKey}}:void 0});if(!f.data||!f.data.transactionCreate)throw new U("Failed to create transaction!");const y=f.data.transactionCreate;if(!y.product)throw new U("Failed to create transaction, product not available.");return y},I=Ee(a.workflowId,a==null?void 0:a.graphql),[p,D]=await Promise.all([Q(),I]);return{transaction:p,workflow:D}}throw new U("No workflow ID provided.")},{transaction:i,workflow:o,readOnly:s}=await n();this.currencyCode=(d=i.product.partner)==null?void 0:d.currencyCode;const c={product:i.product,transaction:i,layouts:[],stateMutationFunc:s?async()=>{throw new G("State mutation is forbidden in read only mode!")}:async C=>{const m=(N.getMap("transactionOwnerIds")||new Map).get(i.id)||void 0;return this.updateTransactionState({...C,context:{transactionOwnerId:m}})},readOnly:s,workflow:o};if(a.type==="transaction"&&i.workflowState){const C=JSON.parse(i.workflowState);c.layouts=Object.values(C.layouts).map(E=>E.layout),await r.rehydrateSerializedLayout(C),await ee(C),c.reloadedState=C}else if(!s&&a.workflowState){const C=JSON.parse(a.workflowState);c.layouts=Object.values(C.layouts).map(E=>E.layout),await r.rehydrateSerializedLayout(C),await ee(C),c.reloadedState=C}else c.layouts=Xe(c.transaction,c.workflow);if(c.renderableContextService=new Fe(c.layouts),a.previewService?(c.previewService=a.previewService,(B=c.product)!=null&&B.modelUrl&&(c.modelContainer=c.previewService.loadModel({model:c.product.modelUrl,contextService:c.renderableContextService}))):(c.previewService=A&&A(o),(w=c.product)!=null&&w.modelUrl&&(c.modelContainer=(h=c.previewService)==null?void 0:h.loadModel({model:c.product.modelUrl,contextService:c.renderableContextService}))),a.type!=="transaction"){const C=N.getMap("transactionOwnerIds")||new Map;C.set(i.id,i.transactionOwnerId),q(i.transactionOwnerId||""),N.setMap("transactionOwnerIds",C)}else{const E=(N.getMap("transactionOwnerIds")||new Map).get(i.id);E&&q(E),c.isReloadedTransaction=!0}this.initialized=!0,this.experienceOptions=c;const g=new de(this,c);return await g.getWorkflowManager().getInitializationPromise(),a.type!=="transaction"&&this.customer&&await g.attachCustomerDetails({email:this.customer.emailAddress}),g}async getWorkflowExperiences(e,t){if(e.length===0)throw new U("No options provided!");const A=P.getShadowGraphqlClient(),a=e.map((Q,I)=>({option:Q,index:I})),n=a.filter(Q=>Q.option.type==="transaction"),i=a.filter(Q=>Q.option.type==="integration"||Q.option.type==="external"),o=async()=>{var D,F;if(n.length===0)return[];const Q=n.map(f=>f.option.transactionId),I=await A.query({query:ue,variables:{ids:Q},errorPolicy:"all",fetchPolicy:"no-cache"}),p=I.data.transactions;if(p.length!==n.length){const f=((F=(D=I.errors)==null?void 0:D[0])==null?void 0:F.message)||"Unknown error";throw new U(`Not all transactions were found: ${f}`)}return p.map((f,y)=>{var Y;return{transaction:f,workflowId:f.workflowId,readOnly:((Y=n.find(S=>S.option.transactionId===f.id))==null?void 0:Y.option.readOnly)??!1,index:n[y].index}})},s=async()=>{var p,D,F;if(i.length===0)return[];const Q=await A.mutate({mutation:PA,variables:{inputs:i.map(f=>({integrationProductId:f.option.type==="integration"?f.option.integrationProductId:void 0,externalIntegrationId:f.option.type==="external"?f.option.externalIntegrationId:void 0,externalProductId:f.option.type==="external"?f.option.externalProductId:void 0,workflowId:f.option.workflowId,bulk:f.option.bulk,claim:!0}))},errorPolicy:"all",fetchPolicy:"no-cache"}),I=(p=Q.data)==null?void 0:p.transactionCreateMany;if(!I||I.length===0){const f=((F=(D=Q.errors)==null?void 0:D[0])==null?void 0:F.message)||"Unknown error";throw new U(`Failed to create transactions: ${f}`)}return I.map((f,y)=>({transaction:f,workflowId:f.workflowId,readOnly:!1,index:i[y].index}))},c=(await Promise.all([o(),s()])).flat(),g=[...new Set(c.map(Q=>Q.workflowId))],d=await We(g,t),B=new Map(d.map(Q=>[Q.id,Q])),w=N.getMap("transactionOwnerIds")||new Map,h=c.map(async Q=>{const{transaction:I,workflowId:p,readOnly:D,index:F}=Q,f=B.get(p),y=e[F];!w.get(I.id)&&I.transactionOwnerId&&w.set(I.id,I.transactionOwnerId);const Y=w.get(I.id)||void 0,S={product:I.product,transaction:I,layouts:[],stateMutationFunc:D?async()=>{throw new G("State mutation is forbidden in read only mode!")}:async x=>this.updateTransactionState({...x,context:{transactionOwnerId:Y}}),readOnly:D,workflow:f,isReloadedTransaction:y.type==="transaction"};if(y.type==="transaction"&&I.workflowState){const x=JSON.parse(I.workflowState);S.layouts=Object.values(x.layouts).map(R=>R.layout),await r.rehydrateSerializedLayout(x),await ee(x),S.reloadedState=x}else if(!D&&y.workflowState){const x=JSON.parse(y.workflowState);S.layouts=Object.values(x.layouts).map(R=>R.layout),await r.rehydrateSerializedLayout(x),await ee(x),S.reloadedState=x}else S.layouts=Xe(S.transaction,S.workflow);return S.renderableContextService=new Fe(S.layouts),this.initialized=!0,this.experienceOptions=S,{experienceOptions:S,index:F,options:y}});N.setMap("transactionOwnerIds",w);const m=(await Promise.all(h)).sort((Q,I)=>Q.index-I.index).map(async Q=>{const{experienceOptions:I,options:p}=Q,D=new de(this,I);return await D.getWorkflowManager().getInitializationPromise(),p.type!=="transaction"&&this.customer&&await D.attachCustomerDetails({email:this.customer.emailAddress}),D});return await Promise.all(m)}async initFromIntegrationProduct(e){var i;if(e==="")throw new U("No integration product ID provided.");const A=await P.getShadowGraphqlClient().mutate({mutation:Et,variables:{integrationProductId:e,bulk:this.options.bulk||!1,claim:!0},errorPolicy:"all",fetchPolicy:"no-cache",context:this.options.applicationKey?{headers:{"X-Application-Key":this.options.applicationKey}}:void 0});if(!A.data||!A.data.transactionCreate)throw new U("Failed to create transaction!");const a=A.data.transactionCreate;if(!a.product)throw new U("Failed to create transaction, product not available.");this.currencyCode=(i=a.product.partner)==null?void 0:i.currencyCode;const n=N.getMap("transactionOwnerIds")||new Map;n.set(a.id,a.transactionOwnerId),q(a.transactionOwnerId||""),N.setMap("transactionOwnerIds",n),this.experienceOptions={product:a.product,transaction:a,layouts:[],stateMutationFunc:this.updateTransactionState},this.initialized=!0}async initFromTransaction(e,t=!1){var o,s,c,g;if(e==="")throw new U("No transaction ID provided.");const A=P.getShadowGraphqlClient(),a=async()=>{var w,h;const B=(w=(await A.query({query:ue,variables:{ids:[e]},fetchPolicy:"no-cache",errorPolicy:"all"})).data)==null?void 0:w.transactions[0];if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(h=B.product.partner)==null?void 0:h.currencyCode,this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:async()=>{throw new G("State mutation is forbidden in read only mode!")},readOnly:t},this.initialized=!0};if(t)return await a();const n=N.getMap("transactionOwnerIds")||new Map,i=n.get(e);if(i){q(i);const B=(o=(await A.query({query:ue,variables:{ids:[e]},errorPolicy:"all"})).data)==null?void 0:o.transactions[0];if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(s=B.product.partner)==null?void 0:s.currencyCode,this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:this.updateTransactionState,readOnly:t},this.initialized=!0;return}try{const B=(c=(await A.mutate({mutation:RA,variables:{id:e},errorPolicy:"all"})).data)==null?void 0:c.transactionClaim;if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(g=B.product.partner)==null?void 0:g.currencyCode,B.transactionOwnerId&&(n.set(B.id,B.transactionOwnerId),q(B.transactionOwnerId),N.setMap("transactionOwnerIds",n)),this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:this.updateTransactionState,readOnly:t},this.initialized=!0}catch{throw new U("Attempted to access a transaction that isn't available.")}}async getWorkflowExperienceDeprecated(e,t,A){var a,n,i,o;if(!this.initialized||!this.experienceOptions)throw new U("Cannot launch experience: Not initialized.");if(this.experienceOptions.transaction.workflowId){const s=await Ee(this.experienceOptions.transaction.workflowId);if(this.experienceOptions.workflow=s,this.experienceOptions.transaction.workflowState){const g=JSON.parse(this.experienceOptions.transaction.workflowState);this.experienceOptions.layouts=Object.values(g.layouts).map(d=>d.layout),await r.rehydrateSerializedLayout(g),await ee(g),this.experienceOptions.reloadedState=g}this.experienceOptions.previewService=A&&A(s),this.experienceOptions.renderableContextService=new Fe(this.experienceOptions.layouts),(a=this.experienceOptions.product)!=null&&a.modelUrl&&(this.experienceOptions.modelContainer=(n=this.experienceOptions.previewService)==null?void 0:n.loadModel({model:this.experienceOptions.product.modelUrl,contextService:this.experienceOptions.renderableContextService}));const c=new de(this,this.experienceOptions);return await c.getWorkflowManager().getInitializationPromise(),c}if(e){const s=P.getShadowGraphqlClient().mutate({mutation:HA,variables:{workflowId:e,id:this.experienceOptions.transaction.id}}),c=Ee(e);if(await Promise.all([s,c]),this.experienceOptions.workflow=await c,t){const d=JSON.parse(t);this.experienceOptions.layouts=Object.values(d.layouts).map(B=>B.layout),await r.rehydrateSerializedLayout(d),await ee(d),this.experienceOptions.reloadedState=d}else this.experienceOptions.layouts=Xe(this.experienceOptions.transaction,this.experienceOptions.workflow);this.experienceOptions.previewService=A&&A(await c),this.experienceOptions.renderableContextService=new Fe(this.experienceOptions.layouts),(i=this.experienceOptions.product)!=null&&i.modelUrl&&(this.experienceOptions.modelContainer=(o=this.experienceOptions.previewService)==null?void 0:o.loadModel({model:this.experienceOptions.product.modelUrl,contextService:this.experienceOptions.renderableContextService}));const g=new de(this,this.experienceOptions);return await g.getWorkflowManager().getInitializationPromise(),g}throw new U("No workflow ID provided.")}getPreviewService(){var e;return(e=this.experienceOptions)==null?void 0:e.previewService}getProduct(){if(!this.initialized||!this.experienceOptions)throw new U("Cannot get product: Not initialized.");return this.experienceOptions.product}getTransaction(){if(!this.initialized||!this.experienceOptions)throw new U("Cannot get transaction: Not initialized.");return this.experienceOptions.transaction}storeCustomer(e){const t=N.getMap("partnerCustomerIds")||new Map;t.set(e.partner.id,e.id),N.setMap("partnerCustomerIds",t)}}class mn{getInitializationPromise(){return Promise.resolve()}isInitialized(){return!0}getInformationResults(){return[]}getVariationRecords(){return[]}async reset(){}updateStateWithServer(e){}addVariationRecord(e){return{recordNumber:0,transactionId:"",values:[]}}getCurrentVariationRecord(){}removeVariationRecord(e){return[]}async outstandingRequestsPromise(){}async updateStateWithServerImmediate(e){}addPoller(e){}addConfirmCallback(e){}addCurrentVariationCallback(e){}addEditedCallback(e){}addElementsCallback(e){}addInformationResultCallback(e){}addInitCallback(e){}addMakingAdjustmentsCallback(e){}addMandatoryCallback(e){}addMetadataCallback(e){}addSelectionCallback(e){}addStepSpecificStorageCallback(e,t){}addStorageCallback(e){}addVariationRecordsCallback(e){}getCommandDispatcher(){return e=>{}}getLayouts(){return[]}getLayoutPreviewService(){return{getAll:()=>new Map}}getPreviewService(){}getModelContainer(){}getProfanities(){return[]}getRegionElements(e){return[]}getSerializedStep(e,t){}getStepSpecificServices(e){}getTransaction(){return{id:""}}getTransactionCustomer(){}setTransactionCustomer(){}setTransactionCustomerDetails(){}getWorkflow(){return{id:"",name:"",panels:[],steps:[],showModelOnFinishStep:!1,allowProofDownload:!1,introduction:"",stepGroups:[]}}markStepsAsInitialised(e){}markUpdateCompleted(e){}markUpdatePending(){return"123"}getWorkflowSelections(){return{}}setCurrentAdjustingStepId(e){}setCurrentVariationRecord(e){}setEditedStatus(e,t){}setInformationResults(e){}setMandatoryFulfilled(e,t){}async setSelectionsAndElements(e,t,A){}setVariationRecords(e){}toggleDesignConfirmed(){}updateMetadata(e,t){}async updateStorage(e,t){}injectIntoPreviewService(e){return Promise.resolve()}ejectFromPreviewService(){}}var rA=(l=>(l.SelectFrame="SelectFrame",l.SelectImage="SelectImage",l.Position="Position",l))(rA||{});class cA extends L{constructor(e,t){var A;super(e,t),this.frameService=(A=this.manager.getStepSpecificServices(this.getId()))==null?void 0:A.frameService}selectVariant(e){const t=this.manager.getRegionElements(this.step.stepName);return Ie.selectVariant(this.step,e.getResource(),t,this.manager,A=>this.setUpdateState(A))}onFrameDataChanged(e){this.frameService&&this.frameService.onFrameDataChanged(t=>{t&&e(t)})}selectImage(e){return Ie.selectImage(this.step,e,this.manager)}getImageData(){if(this.frameService)return this.frameService.getImageData()}getCurrentFrameStep(e,t,A,a){return a&&a.length>1&&e===void 0?"SelectFrame":t||A||this.getImageData()?"Position":"SelectImage"}getFrameService(){return this.frameService}hasOverlayImageKey(){return this.step.data.overlayImageKey}hasOverlayImageUrl(){return this.step.data.overlayImageUrl}hasVaryingUpload(){return this.step.data.varyUpload}hasVaryingSelection(){return this.step.data.varySelection}}Object.defineProperty(u,"AssetType",{enumerable:!0,get:()=>r.AssetType}),Object.defineProperty(u,"BringForwardCommand",{enumerable:!0,get:()=>r.BringForwardCommand}),Object.defineProperty(u,"BringToBackCommand",{enumerable:!0,get:()=>r.BringToBackCommand}),Object.defineProperty(u,"BringToFrontCommand",{enumerable:!0,get:()=>r.BringToFrontCommand}),Object.defineProperty(u,"CanvasCommand",{enumerable:!0,get:()=>r.CanvasCommand}),Object.defineProperty(u,"CommandContext",{enumerable:!0,get:()=>r.CommandContext}),Object.defineProperty(u,"CreateElementCommand",{enumerable:!0,get:()=>r.CreateElementCommand}),Object.defineProperty(u,"CreateLayoutCommand",{enumerable:!0,get:()=>r.CreateLayoutCommand}),Object.defineProperty(u,"DeleteElementCommand",{enumerable:!0,get:()=>r.DeleteElementCommand}),Object.defineProperty(u,"FontAlignmentCommand",{enumerable:!0,get:()=>r.FontAlignmentCommand}),Object.defineProperty(u,"FontColorCommand",{enumerable:!0,get:()=>r.FontColorCommand}),Object.defineProperty(u,"FontSizeCommand",{enumerable:!0,get:()=>r.FontSizeCommand}),Object.defineProperty(u,"FontSourceCommand",{enumerable:!0,get:()=>r.FontSourceCommand}),Object.defineProperty(u,"GroupCommand",{enumerable:!0,get:()=>r.GroupCommand}),Object.defineProperty(u,"LayoutElementFactory",{enumerable:!0,get:()=>r.LayoutElementFactory}),Object.defineProperty(u,"LayoutElementType",{enumerable:!0,get:()=>r.LayoutElementType}),Object.defineProperty(u,"MoveCommand",{enumerable:!0,get:()=>r.MoveCommand}),Object.defineProperty(u,"ResizeCommand",{enumerable:!0,get:()=>r.ResizeCommand}),Object.defineProperty(u,"RotateCommand",{enumerable:!0,get:()=>r.RotateCommand}),Object.defineProperty(u,"SendBackwardsCommand",{enumerable:!0,get:()=>r.SendBackwardsCommand}),Object.defineProperty(u,"StepAspectType",{enumerable:!0,get:()=>r.StepAspectType}),Object.defineProperty(u,"StepType",{enumerable:!0,get:()=>r.StepType}),Object.defineProperty(u,"TextChangeCommand",{enumerable:!0,get:()=>r.TextChangeCommand}),Object.defineProperty(u,"UnitOfMeasurement",{enumerable:!0,get:()=>r.UnitOfMeasurement}),Object.defineProperty(u,"dataUrlFromExternalUrl",{enumerable:!0,get:()=>r.dataUrlFromExternalUrl}),Object.defineProperty(u,"determineCorrectFontSizeAndLines",{enumerable:!0,get:()=>r.determineCorrectFontSizeAndLines}),Object.defineProperty(u,"findElement",{enumerable:!0,get:()=>r.findElement}),Object.defineProperty(u,"frameDataCache",{enumerable:!0,get:()=>r.frameDataCache}),Object.defineProperty(u,"generate",{enumerable:!0,get:()=>r.generate}),Object.defineProperty(u,"generateSVGWithUnknownColors",{enumerable:!0,get:()=>r.generateSVGWithUnknownColors}),Object.defineProperty(u,"getAttributesFromArrayBuffer",{enumerable:!0,get:()=>r.getAttributesFromArrayBuffer}),Object.defineProperty(u,"getAxisAlignedBoundingBox",{enumerable:!0,get:()=>r.getAxisAlignedBoundingBox}),Object.defineProperty(u,"getFrameData",{enumerable:!0,get:()=>r.getFrameData}),Object.defineProperty(u,"getSvgElement",{enumerable:!0,get:()=>r.getSvgElement}),Object.defineProperty(u,"loadFont",{enumerable:!0,get:()=>r.loadFont}),Object.defineProperty(u,"patternImageDataCache",{enumerable:!0,get:()=>r.patternImageDataCache}),Object.defineProperty(u,"registerFetchImplementation",{enumerable:!0,get:()=>r.registerFetchImplementation}),Object.defineProperty(u,"registerWindowImplementation",{enumerable:!0,get:()=>r.registerWindowImplementation}),Object.defineProperty(u,"rehydrateSerializedLayout",{enumerable:!0,get:()=>r.rehydrateSerializedLayout}),Object.defineProperty(u,"setCanvasModule",{enumerable:!0,get:()=>r.setCanvasModule}),u.AssetNotFoundError=z,u.BulkPriceCalculationStrategy=Bt,u.BulkStepHandle=Ht,u.CollectionProduct=eA,u.ConversionDataType=wt,u.ConversionLocation=dt,u.FlowExecutionNodeResult=we,u.FlowExecutionResult=iA,u.FlowService=nA,u.FrameService=Qt,u.FrameStep=rA,u.FrameStepHandle=cA,u.GlobalPropertyHandle=Se,u.IllustrationStepHandle=Ut,u.InformationMessageType=le,u.InformationStepHandle=Lt,u.LayoutNotFoundError=v,u.MaterialStepHandle=Gt,u.MisconfigurationError=ne,u.MockWorkflowManager=mn,u.ModelStepHandle=vt,u.ObjectInput=Ve,u.ObjectInputType=oA,u.OptionNotFoundError=ae,u.ParseError=X,u.PictureStepHandle=kt,u.ProductCameraRig=lt,u.ProductCollection=_t,u.ProductWorkflow=Ke,u.PromiseQueue=Ue,u.QuestionStepHandle=bt,u.QueueablePromise=He,u.ResourceNotFoundError=W,u.ShapeStepHandle=Tt,u.SpiffCommerceClient=sA,u.StakeholderType=re,u.StepHandle=L,u.TextStepHandle=Jt,u.Transform=AA,u.TransformCollection=tA,u.UnhandledBehaviorError=G,u.Variant=O,u.WorkflowExperienceImpl=de,u.assetService=k,u.createDesign=Vt,u.designService=pe,u.digitalContentStepService=ft,u.frameStepService=Ie,u.gatherVaryingStepAspects=xe,u.generateCommands=Wt,u.generateStateFromDesignInputSteps=qt,u.getBoundedOffsets=Ct,u.getWorkflow=Ee,u.getWorkflows=We,u.graphQlManager=P,u.illustrationStepService=ge,u.materialStepService=Ge,u.modelStepService=ve,u.moduleStepService=Dt,u.optionService=T,u.persistenceService=N,u.pictureStepService=ke,u.questionStepService=be,u.shapeStepService=_,u.shortenUrl=mt,u.spiffCoreConfiguration=ie,u.stepAspectValuesToDesignInputSteps=Xt,u.textStepService=J,u.toast=pt,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spiffcommerce/core",
3
- "version": "16.4.2-rc.1",
3
+ "version": "16.4.3",
4
4
  "description": "Core client API for interacting with the Spiff Commerce backend.",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.umd.cjs",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "@apollo/client": "^3.8.3",
55
- "@spiffcommerce/papyrus": "6.2.0-rc.1",
55
+ "@spiffcommerce/papyrus": "6.2.0",
56
56
  "graphql": "^16.8.0",
57
57
  "lodash.clonedeep": "^4.5.0",
58
58
  "lodash.debounce": "^4.0.8",