@spiffcommerce/core 32.3.0-beta.e9f6a9e0-1fee-54ca-a731-939a38d038b8 → 32.3.1-beta.0913bb04-4304-5dae-95b3-20ea61cba9ab

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,29 +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
- quantity?: number;
2369
- recipient?: any;
2370
2410
  type: "integration";
2371
2411
  }
2372
- interface GetWorkflowFromExternalProductOptions extends GetNewWorkflowOptionsBase {
2412
+ interface GetWorkflowExperienceFromExternalProductOptions extends GetNewWorkflowExperienceOptionsBase {
2373
2413
  /** The external ID associated with an integration. */
2374
2414
  externalIntegrationId: string;
2375
2415
  /** The ID of the product from the external system. */
2376
2416
  externalProductId: string;
2377
2417
  type: "external";
2378
2418
  }
2379
- type GetNewWorkflowOptions = GetWorkflowFromIntegrationProductOptions | GetWorkflowFromExternalProductOptions;
2380
- type GetWorkflowOptions = GetWorkflowFromTransactionOptions | GetNewWorkflowOptions;
2419
+ type GetNewWorkflowExperienceOptions = GetWorkflowExperienceFromBlankOptions | GetWorkflowExperienceFromIntegrationProductOptions | GetWorkflowExperienceFromExternalProductOptions;
2420
+ type GetWorkflowOptions = GetWorkflowFromTransactionOptions | GetNewWorkflowExperienceOptions;
2381
2421
  interface ClientConfiguration {
2382
2422
  hubUrl: string;
2383
2423
  serverUrl: string;
@@ -2657,7 +2697,6 @@ interface WorkflowManager {
2657
2697
  getAllLayoutData: () => LayoutState[];
2658
2698
  getLayoutPreviewService: () => LayoutPreviewService | undefined;
2659
2699
  getPreviewService: () => ThreeDPreviewService | undefined;
2660
- getProfanities: () => string[];
2661
2700
  getRegionElements: (stepName: string) => RegionElement[];
2662
2701
  getSerializedStep: (stepName: string, serializedSteps: SerializableStep[]) => SerializableStep | undefined;
2663
2702
  getStepSpecificServices: (stepName: string) => StepSpecificServices | undefined;
@@ -2665,19 +2704,22 @@ interface WorkflowManager {
2665
2704
  getMetadata: (stepName: string) => StepMetadata | undefined;
2666
2705
  getWorkflowMetadata: () => WorkflowMetadata;
2667
2706
  getInformationResults(): InformationResult[];
2668
- getTransaction: () => Transaction;
2669
2707
  getTransactionCustomer: () => Customer | undefined;
2670
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>;
2671
2715
  /**
2672
2716
  * @deprecated Use setTransactionCustomer instead.
2673
2717
  */
2674
2718
  setTransactionCustomerDetails: (details: {
2675
2719
  email: string;
2676
2720
  }) => void;
2677
- getWorkflow: () => Workflow;
2678
2721
  getWorkflowSelections: () => WorkflowSelections;
2679
2722
  getStepSelections: () => StepSelections;
2680
- getProduct: () => Product;
2681
2723
  /**
2682
2724
  * A promise resolving when the initial state of the workflow has completed loading.
2683
2725
  */
@@ -5176,6 +5218,7 @@ declare class MockWorkflowManager implements WorkflowManager {
5176
5218
  getWorkflowExperience(): WorkflowExperience;
5177
5219
  setClient(client: SpiffCommerceClient): void;
5178
5220
  getInitializationPromise(): Promise<void>;
5221
+ setWorkflow: (workflow: Workflow) => Promise<void>;
5179
5222
  getProduct: () => Product;
5180
5223
  isInitialized(): boolean;
5181
5224
  getCommandContext: () => CommandContext;
@@ -5206,7 +5249,6 @@ declare class MockWorkflowManager implements WorkflowManager {
5206
5249
  getPreviewService(): undefined;
5207
5250
  setModelContainer: (container: any) => void;
5208
5251
  getModelContainer(): undefined;
5209
- getProfanities(): never[];
5210
5252
  getRegionElements(_stepName: string): never[];
5211
5253
  getSerializedStep(_stepName: string, _serializedSteps: SerializableStep[]): undefined;
5212
5254
  getStepSpecificServices(_stepName: string): undefined;
@@ -6032,4 +6074,4 @@ declare const overrideWorkflowExperienceRecipientAddress: (workflowExperience: W
6032
6074
  */
6033
6075
  declare const getGlobalPropertyStateForBundle: (bundleId: string) => Promise<GlobalPropertyState | undefined>;
6034
6076
 
6035
- 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 };