@spiffcommerce/core 32.3.0 → 32.3.1-beta.f47441d7-c6fd-544a-8448-b3ed6932599d

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 CHANGED
@@ -14,6 +14,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
14
14
  - `Fixed` for any bug fixes.
15
15
  - `Security` in case of vulnerabilities.
16
16
 
17
+ ## [33.0.0] - 14-10-2025
18
+
19
+ ## Changed
20
+
21
+ - Updated `WorkflowExperience` to store `transaction`, `product`, `profanityList`, and `workflow` as direct properties, initialized in the constructor for improved encapsulation and performance.
22
+
23
+ ## Added
24
+
25
+ - Added new methods to `WorkflowExperience`: `getProduct()`, `getProfanityList()`, `setProduct(integrationProductId: string)`, `getTransaction()`, `getWorkflow()`, and `setWorkflow(workflow: Workflow)` for easier access and mutation of core experience data.
26
+ - Introduced `getIntegrationProductIds()` and `addIntegrationProductId(id: string)` methods to `Bundle` and `BundleImpl` for tracking associated integration product IDs.
27
+ - Added GraphQL mutation for updating a transaction's integration product, enabling backend synchronization of integration product changes.
28
+ - Added `getState()` method to `BundleStateManager` for easier external access to the current bundle state.
29
+
30
+ ## [32.3.1] - 09-10-2025
31
+
32
+ ## Added
33
+
34
+ - Added the `SelectionChanged` event to `WorkflowExperienceEventType`. This event fires whenever the selection in a workflow experience changes. This includes changes to variant selections.
35
+
17
36
  ## [32.3.0] - 08-10-2025
18
37
 
19
38
  ## Added
package/dist/index.d.ts CHANGED
@@ -1049,7 +1049,6 @@ interface Scene {
1049
1049
  * State related to a workflow experience.
1050
1050
  */
1051
1051
  interface ExperienceOptions {
1052
- product: Product;
1053
1052
  transaction: Transaction;
1054
1053
  workflow?: Workflow;
1055
1054
  /**
@@ -1094,6 +1093,10 @@ interface ExperienceOptions {
1094
1093
  * should get an instance of this class from a Client you have constructed previously.
1095
1094
  */
1096
1095
  interface WorkflowExperience {
1096
+ /**
1097
+ * Get the current transaction for this experience.
1098
+ */
1099
+ getTransaction(): Transaction;
1097
1100
  /**
1098
1101
  * Get the bundle this experience is part of. May be undefined.
1099
1102
  */
@@ -1102,6 +1105,28 @@ interface WorkflowExperience {
1102
1105
  * Set the bundle this experience is part of. Can be cleared using undefined.
1103
1106
  */
1104
1107
  setBundle(bundle: Bundle$1 | undefined): any;
1108
+ /**
1109
+ * Get the current product for this experience. May be undefined.
1110
+ */
1111
+ getProduct(): Product | undefined;
1112
+ /**
1113
+ * Get the current profanity list for this experience. May be empty.
1114
+ */
1115
+ getProfanityList(): string[];
1116
+ /**
1117
+ * Set the current product for this experience.
1118
+ * @param product The new product to set.
1119
+ */
1120
+ setProduct(integrationProductId: string): Promise<void>;
1121
+ /**
1122
+ * Get the current workflow for this experience. May be undefined.
1123
+ */
1124
+ getWorkflow(): Workflow | undefined;
1125
+ /**
1126
+ * Set the current workflow for this experience.
1127
+ * @param workflow The new workflow to set.
1128
+ */
1129
+ setWorkflow(workflow: Workflow): Promise<void>;
1105
1130
  /**
1106
1131
  * Returns the client that was responsible for spawning this experience.
1107
1132
  */
@@ -1258,6 +1283,7 @@ interface WorkflowExperience {
1258
1283
  setQuantity(quantity: number): Promise<void>;
1259
1284
  /**
1260
1285
  * Registers a callback function to be called when the specified event is raised.
1286
+ * TODO: We should include a second param to pass information about the event?
1261
1287
  * @param type The type of event to listen for.
1262
1288
  * @param callback The function to call when the event occurs.
1263
1289
  */
@@ -1284,10 +1310,12 @@ interface ExportedStepData {
1284
1310
  }
1285
1311
  declare enum WorkflowExperienceEventType {
1286
1312
  QuantityChanged = "QuantityChanged",
1287
- PriceBreakChanged = "PriceBreakChanged"
1313
+ PriceBreakChanged = "PriceBreakChanged",
1314
+ SelectionChanged = "SelectionChanged"
1288
1315
  }
1289
1316
  declare class WorkflowExperienceImpl implements WorkflowExperience {
1290
1317
  readonly client: SpiffCommerceClient;
1318
+ readonly transaction: Transaction;
1291
1319
  readonly commandContext: CommandContext;
1292
1320
  readonly graphQlClient: GraphQlClientFunc;
1293
1321
  readonly workflowManager: WorkflowManager;
@@ -1297,11 +1325,20 @@ declare class WorkflowExperienceImpl implements WorkflowExperience {
1297
1325
  * Bundle this experience has been added to.
1298
1326
  */
1299
1327
  private bundle?;
1328
+ private product?;
1329
+ private profanityList;
1330
+ private workflow?;
1300
1331
  private currentPriceBreak;
1301
1332
  private renderableScenes;
1302
1333
  private renderableSceneCallbacks;
1303
1334
  private eventCallbacks;
1304
1335
  constructor(client: SpiffCommerceClient, experienceOptions: ExperienceOptions);
1336
+ getTransaction(): Transaction;
1337
+ getProduct(): Product | undefined;
1338
+ getProfanityList(): string[];
1339
+ setProduct(integrationProductId: string): Promise<void>;
1340
+ getWorkflow(): Workflow | undefined;
1341
+ setWorkflow(workflow: Workflow): Promise<void>;
1305
1342
  attachAddress(streetAddress?: string, apartment?: string, city?: string, country?: string, state?: string, postCode?: string): Promise<void>;
1306
1343
  attachOrganization(name: string): Promise<void>;
1307
1344
  getBundle(): Bundle$1 | undefined;
@@ -2051,6 +2088,8 @@ interface Bundle$1 {
2051
2088
  generateQuoteId(): Promise<string>;
2052
2089
  getQuoteCompleteMessage(): CompleteQuoteMessage;
2053
2090
  applyGlobalPropertyState(state: GlobalPropertyState): Promise<void>;
2091
+ getIntegrationProductIds(): undefined | string[];
2092
+ addIntegrationProductId(id: string): void;
2054
2093
  }
2055
2094
 
2056
2095
  /**
@@ -2355,27 +2394,30 @@ interface GetWorkflowFromTransactionOptions extends GetWorkflowOptionsBase {
2355
2394
  workflowState?: string;
2356
2395
  type: "transaction";
2357
2396
  }
2358
- interface GetNewWorkflowOptionsBase extends GetWorkflowOptionsBase {
2397
+ interface GetNewWorkflowExperienceOptionsBase extends GetWorkflowOptionsBase {
2359
2398
  /** A name for the new transaction. */
2360
2399
  designName?: string;
2361
2400
  /** The workflow to load. */
2362
- workflowId: string;
2401
+ workflowId?: string;
2363
2402
  /** An existing workflow state, if available. */
2364
2403
  workflowState?: string;
2365
2404
  }
2366
- interface GetWorkflowFromIntegrationProductOptions extends GetNewWorkflowOptionsBase {
2405
+ interface GetWorkflowExperienceFromBlankOptions extends GetNewWorkflowExperienceOptionsBase {
2406
+ type: "blank";
2407
+ }
2408
+ interface GetWorkflowExperienceFromIntegrationProductOptions extends GetNewWorkflowExperienceOptionsBase {
2367
2409
  integrationProductId: string;
2368
2410
  type: "integration";
2369
2411
  }
2370
- interface GetWorkflowFromExternalProductOptions extends GetNewWorkflowOptionsBase {
2412
+ interface GetWorkflowExperienceFromExternalProductOptions extends GetNewWorkflowExperienceOptionsBase {
2371
2413
  /** The external ID associated with an integration. */
2372
2414
  externalIntegrationId: string;
2373
2415
  /** The ID of the product from the external system. */
2374
2416
  externalProductId: string;
2375
2417
  type: "external";
2376
2418
  }
2377
- type GetNewWorkflowOptions = GetWorkflowFromIntegrationProductOptions | GetWorkflowFromExternalProductOptions;
2378
- type GetWorkflowOptions = GetWorkflowFromTransactionOptions | GetNewWorkflowOptions;
2419
+ type GetNewWorkflowExperienceOptions = GetWorkflowExperienceFromBlankOptions | GetWorkflowExperienceFromIntegrationProductOptions | GetWorkflowExperienceFromExternalProductOptions;
2420
+ type GetWorkflowOptions = GetWorkflowFromTransactionOptions | GetNewWorkflowExperienceOptions;
2379
2421
  interface ClientConfiguration {
2380
2422
  hubUrl: string;
2381
2423
  serverUrl: string;
@@ -2655,7 +2697,6 @@ interface WorkflowManager {
2655
2697
  getAllLayoutData: () => LayoutState[];
2656
2698
  getLayoutPreviewService: () => LayoutPreviewService | undefined;
2657
2699
  getPreviewService: () => ThreeDPreviewService | undefined;
2658
- getProfanities: () => string[];
2659
2700
  getRegionElements: (stepName: string) => RegionElement[];
2660
2701
  getSerializedStep: (stepName: string, serializedSteps: SerializableStep[]) => SerializableStep | undefined;
2661
2702
  getStepSpecificServices: (stepName: string) => StepSpecificServices | undefined;
@@ -2663,19 +2704,22 @@ interface WorkflowManager {
2663
2704
  getMetadata: (stepName: string) => StepMetadata | undefined;
2664
2705
  getWorkflowMetadata: () => WorkflowMetadata;
2665
2706
  getInformationResults(): InformationResult[];
2666
- getTransaction: () => Transaction;
2667
2707
  getTransactionCustomer: () => Customer | undefined;
2668
2708
  setTransactionCustomer: (customer: Customer) => void;
2709
+ /**
2710
+ * Sets the current workflow for this experience.
2711
+ * @param workflow The new workflow to set.
2712
+ * @returns A promise that resolves when the workflow has been set.
2713
+ */
2714
+ setWorkflow: (workflow: Workflow) => Promise<void>;
2669
2715
  /**
2670
2716
  * @deprecated Use setTransactionCustomer instead.
2671
2717
  */
2672
2718
  setTransactionCustomerDetails: (details: {
2673
2719
  email: string;
2674
2720
  }) => void;
2675
- getWorkflow: () => Workflow;
2676
2721
  getWorkflowSelections: () => WorkflowSelections;
2677
2722
  getStepSelections: () => StepSelections;
2678
- getProduct: () => Product;
2679
2723
  /**
2680
2724
  * A promise resolving when the initial state of the workflow has completed loading.
2681
2725
  */
@@ -5174,6 +5218,7 @@ declare class MockWorkflowManager implements WorkflowManager {
5174
5218
  getWorkflowExperience(): WorkflowExperience;
5175
5219
  setClient(client: SpiffCommerceClient): void;
5176
5220
  getInitializationPromise(): Promise<void>;
5221
+ setWorkflow: (workflow: Workflow) => Promise<void>;
5177
5222
  getProduct: () => Product;
5178
5223
  isInitialized(): boolean;
5179
5224
  getCommandContext: () => CommandContext;
@@ -5204,7 +5249,6 @@ declare class MockWorkflowManager implements WorkflowManager {
5204
5249
  getPreviewService(): undefined;
5205
5250
  setModelContainer: (container: any) => void;
5206
5251
  getModelContainer(): undefined;
5207
- getProfanities(): never[];
5208
5252
  getRegionElements(_stepName: string): never[];
5209
5253
  getSerializedStep(_stepName: string, _serializedSteps: SerializableStep[]): undefined;
5210
5254
  getStepSpecificServices(_stepName: string): undefined;
@@ -6030,4 +6074,4 @@ declare const overrideWorkflowExperienceRecipientAddress: (workflowExperience: W
6030
6074
  */
6031
6075
  declare const getGlobalPropertyStateForBundle: (bundleId: string) => Promise<GlobalPropertyState | undefined>;
6032
6076
 
6033
- export { AddonHandle, type AddressComponent, type AddressValidationJob, AddressValidationJobStatus, type AddressValidationResult, AddressValidationResultConfirmationLevel, AddressValidationStatus, type Animatable, type AnyStepData, ArrayInput, AspectType, type Asset, type AssetConfiguration, AssetNotFoundError, type AssetObjectVersion, AssetType, BringForwardCommand, BringToBackCommand, BringToFrontCommand, type Bundle$1 as Bundle, BundleDesignCreationCartAddMode, type BundleDesignCreationMessage, type BundleEvent, type BundleEventData, type BundleEventType, type Bundle as BundleRaw, type BundleStakeholder, CanvasCommand, CollectionProduct, type ColorDefinition, type ColorOption, ColorOptionGlobalPropertyHandle, type ColorProfileProps, CommandContext, type CommandState, type Condition, type ConditionalGlobalPropertiesChangedEventData, CreateElementCommand, CreateLayoutCommand, CurrencyContext, CurrencyService, type Customer, type CustomerDetailsInput, DeleteElementCommand, type DesignCreationMessage, type DesignCreationProgressUpdate, type DesignInputStep, type DigitalContentStepData, DigitalContentStepHandle, type EditedSteps, type ExportedStepData, type ExportedStepDataProperty, type ExportedStepDataPropertyType, FileUploadGlobalPropertyHandle, FlowExecutionNodeResult, FlowExecutionResult, FlowService, FontAlignmentCommand, FontColorCommand, FontSizeCommand, FontSourceCommand, type FrameElement, FrameService, FrameStep, type FrameStepData, FrameStepHandle, type FrameThresholdSettings, type GetNewWorkflowOptions, type GetWorkflowOptions, type GlobalPropertiesMandatoryChangedEventData, type GlobalPropertyConfiguration, GlobalPropertyHandle, GroupCommand, type ILayout, type IllustrationElement, type IllustrationStepData, IllustrationStepHandle, type ImageElement, InformationMessageType, type InformationResult, type InformationStepData, InformationStepHandle, type Integration, type IntegrationOptionResource, IntegrationProduct, IntegrationType, type LayoutComponentConfiguration, type LayoutData, type LayoutElement, LayoutElementFactory, LayoutElementType, LayoutNotFoundError, LayoutRenderingPurpose, type LayoutState, type LayoutsState, type MandatorySteps, MaterialEffectMode, type MaterialStepData, MaterialStepHandle, MisconfigurationError, MockWorkflowManager, type ModelStepData, ModelStepHandle, type ModuleStepData, ModuleStepHandle, MoveCommand, NodeType, ObjectInput, ObjectInputType, OptionGlobalPropertyHandle, OptionNotFoundError, type OptionResource, type Order, type OrderItem, type PapyrusComponent, ParseError, type PictureStepData, PictureStepHandle, type Placeable, type PmsSearchResult, type Point, type Product, ProductCameraRig, ProductCollection, ProductCollectionProductSortKey, ProductWorkflow$1 as ProductWorkflow, promiseCache as PromiseCache, PromiseQueue, type QuestionStepData, QuestionStepHandle, QueueablePromise, type Recipient, type Region, type RegionElement, type RenderableScene, ResizeCommand, ResourceNotFoundError, RotateCommand, type SavedDesign, ScaleAxis, type SelectionStorage, SendBackwardsCommand, type ShapeStepData, ShapeStepHandle, type ShareAction, ShareActionType, type SilentIllustrationStepData, SpiffCommerceClient, type Stakeholder, StakeholderType, type StateMutationFunc, type Step, type StepAspect, StepAspectType, type StepElements, type StepGroup, StepHandle, type StepStorage, StepType, TextAlgorithm, TextChangeCommand, type TextChangeResult, TextGlobalPropertyHandle, TextInput, type TextStepData, TextStepHandle, type TextStepStorage, type TextboxElement, type Theme, type ToastCallback, type Transaction, Transform, TransformCollection$1 as TransformCollection, UnhandledBehaviorError, UnitOfMeasurement, UpdateImageSourceCommand, Variant, type VariantResource, type Vector3, type Workflow, type WorkflowExperience, WorkflowExperienceEventType, type WorkflowExperienceHoverEventData, WorkflowExperienceImpl, type WorkflowManager, type WorkflowMetadata, type WorkflowPanel, type WorkflowScene, type WorkflowSelections, type WorkflowStorage, assetService, browserColorToHex, cmPerPixel, createDesign, currentDirection, dataUrlFromExternalUrl, deleteBundle, designService, determineCorrectFontSizeAndLines, digitalContentStepService, domParser, duplicateBundle, duplicateTransaction, fetchAsString, findAngle, findElement, findPmsColors, frameDataCache, frameStepService, generate, generateCommands, generateSVGWithUnknownColors, generateStateFromDesignInputSteps, getAddressValidationJobs, getAttributesFromArrayBuffer, getAxisAlignedBoundingBox, getBoundedOffsets, getBundleThemeConfiguration, getCustomer, getCustomerBundles, getElementVertices, getFrameData, getGlobalPropertyStateForBundle, getIntegration, getNEPoint, getNWPoint, getOrderedTransactions, getOverrideThemeConfiguration, getPointOfRotation, getProductCollections, getSEPoint, getSvgElement, getTemplateBundles, getTemplateTransactions, getTransaction, getTransactionThemeConfiguration, getTransactionsForBundle, getTrueCoordinates, getUnorderedTransactions, getValidationJobsForWorkflowExperiences, getWorkflow, getWorkflows, graphQlManager, illustrationStepService, isCloseToValue, loadFont, matchHexToPms, materialStepService, metafieldManager, mmPerPixel, modelStepService, modifySVGColors, moduleStepService, nameBundle, nameTransaction, optionService, outlineFontsInSvg, overrideWorkflowExperienceRecipientAddress, patternImageDataCache, persistenceService, pictureStepService, pmsToRgb, questionStepService, registerFetchImplementation, registerWindowImplementation, rehydrateSerializedLayout, rgbToPms, rotateAroundPoint, sanitizeSvgTree, setBearerAuthenticationToken, setCanvasModule, shapeStepService, shortenUrl, spiffCoreConfiguration, stepAspectValuesToDesignInputSteps, svgColorValueToDefinition, svgStringDimensions, svgToDataUrl, textStepService, toast, validateWorkflowExperienceRecipient, validateWorkflowExperienceRecipients, xmlSerializer };
6077
+ export { AddonHandle, type AddressComponent, type AddressValidationJob, AddressValidationJobStatus, type AddressValidationResult, AddressValidationResultConfirmationLevel, AddressValidationStatus, type Animatable, type AnyStepData, ArrayInput, AspectType, type Asset, type AssetConfiguration, AssetNotFoundError, type AssetObjectVersion, AssetType, BringForwardCommand, BringToBackCommand, BringToFrontCommand, type Bundle$1 as Bundle, BundleDesignCreationCartAddMode, type BundleDesignCreationMessage, type BundleEvent, type BundleEventData, type BundleEventType, type Bundle as BundleRaw, type BundleStakeholder, CanvasCommand, CollectionProduct, type ColorDefinition, type ColorOption, ColorOptionGlobalPropertyHandle, type ColorProfileProps, CommandContext, type CommandState, type Condition, type ConditionalGlobalPropertiesChangedEventData, CreateElementCommand, CreateLayoutCommand, CurrencyContext, CurrencyService, type Customer, type CustomerDetailsInput, DeleteElementCommand, type DesignCreationMessage, type DesignCreationProgressUpdate, type DesignInputStep, type DigitalContentStepData, DigitalContentStepHandle, type EditedSteps, type ExportedStepData, type ExportedStepDataProperty, type ExportedStepDataPropertyType, FileUploadGlobalPropertyHandle, FlowExecutionNodeResult, FlowExecutionResult, FlowService, FontAlignmentCommand, FontColorCommand, FontSizeCommand, FontSourceCommand, type FrameElement, FrameService, FrameStep, type FrameStepData, FrameStepHandle, type FrameThresholdSettings, type GetNewWorkflowExperienceOptions as GetNewWorkflowOptions, type GetWorkflowOptions, type GlobalPropertiesMandatoryChangedEventData, type GlobalPropertyConfiguration, GlobalPropertyHandle, GroupCommand, type ILayout, type IllustrationElement, type IllustrationStepData, IllustrationStepHandle, type ImageElement, InformationMessageType, type InformationResult, type InformationStepData, InformationStepHandle, type Integration, type IntegrationOptionResource, IntegrationProduct, IntegrationType, type LayoutComponentConfiguration, type LayoutData, type LayoutElement, LayoutElementFactory, LayoutElementType, LayoutNotFoundError, LayoutRenderingPurpose, type LayoutState, type LayoutsState, type MandatorySteps, MaterialEffectMode, type MaterialStepData, MaterialStepHandle, MisconfigurationError, MockWorkflowManager, type ModelStepData, ModelStepHandle, type ModuleStepData, ModuleStepHandle, MoveCommand, NodeType, ObjectInput, ObjectInputType, OptionGlobalPropertyHandle, OptionNotFoundError, type OptionResource, type Order, type OrderItem, type PapyrusComponent, ParseError, type PictureStepData, PictureStepHandle, type Placeable, type PmsSearchResult, type Point, type Product, ProductCameraRig, ProductCollection, ProductCollectionProductSortKey, ProductWorkflow$1 as ProductWorkflow, promiseCache as PromiseCache, PromiseQueue, type QuestionStepData, QuestionStepHandle, QueueablePromise, type Recipient, type Region, type RegionElement, type RenderableScene, ResizeCommand, ResourceNotFoundError, RotateCommand, type SavedDesign, ScaleAxis, type SelectionStorage, SendBackwardsCommand, type ShapeStepData, ShapeStepHandle, type ShareAction, ShareActionType, type SilentIllustrationStepData, SpiffCommerceClient, type Stakeholder, StakeholderType, type StateMutationFunc, type Step, type StepAspect, StepAspectType, type StepElements, type StepGroup, StepHandle, type StepStorage, StepType, TextAlgorithm, TextChangeCommand, type TextChangeResult, TextGlobalPropertyHandle, TextInput, type TextStepData, TextStepHandle, type TextStepStorage, type TextboxElement, type Theme, type ToastCallback, type Transaction, Transform, TransformCollection$1 as TransformCollection, UnhandledBehaviorError, UnitOfMeasurement, UpdateImageSourceCommand, Variant, type VariantResource, type Vector3, type Workflow, type WorkflowExperience, WorkflowExperienceEventType, type WorkflowExperienceHoverEventData, WorkflowExperienceImpl, type WorkflowManager, type WorkflowMetadata, type WorkflowPanel, type WorkflowScene, type WorkflowSelections, type WorkflowStorage, assetService, browserColorToHex, cmPerPixel, createDesign, currentDirection, dataUrlFromExternalUrl, deleteBundle, designService, determineCorrectFontSizeAndLines, digitalContentStepService, domParser, duplicateBundle, duplicateTransaction, fetchAsString, findAngle, findElement, findPmsColors, frameDataCache, frameStepService, generate, generateCommands, generateSVGWithUnknownColors, generateStateFromDesignInputSteps, getAddressValidationJobs, getAttributesFromArrayBuffer, getAxisAlignedBoundingBox, getBoundedOffsets, getBundleThemeConfiguration, getCustomer, getCustomerBundles, getElementVertices, getFrameData, getGlobalPropertyStateForBundle, getIntegration, getNEPoint, getNWPoint, getOrderedTransactions, getOverrideThemeConfiguration, getPointOfRotation, getProductCollections, getSEPoint, getSvgElement, getTemplateBundles, getTemplateTransactions, getTransaction, getTransactionThemeConfiguration, getTransactionsForBundle, getTrueCoordinates, getUnorderedTransactions, getValidationJobsForWorkflowExperiences, getWorkflow, getWorkflows, graphQlManager, illustrationStepService, isCloseToValue, loadFont, matchHexToPms, materialStepService, metafieldManager, mmPerPixel, modelStepService, modifySVGColors, moduleStepService, nameBundle, nameTransaction, optionService, outlineFontsInSvg, overrideWorkflowExperienceRecipientAddress, patternImageDataCache, persistenceService, pictureStepService, pmsToRgb, questionStepService, registerFetchImplementation, registerWindowImplementation, rehydrateSerializedLayout, rgbToPms, rotateAroundPoint, sanitizeSvgTree, setBearerAuthenticationToken, setCanvasModule, shapeStepService, shortenUrl, spiffCoreConfiguration, stepAspectValuesToDesignInputSteps, svgColorValueToDefinition, svgStringDimensions, svgToDataUrl, textStepService, toast, validateWorkflowExperienceRecipient, validateWorkflowExperienceRecipients, xmlSerializer };