@spiffcommerce/core 30.0.1-beta.98c5ea96-cd5c-5541-a3ab-ada9e1901d6f → 30.0.1-beta.d314ee57-14a8-5953-959b-ce73186a03eb

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
@@ -7,18 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  #### Types of changes
9
9
 
10
- - `Added` for new features.
11
- - `Changed` for changes in existing functionality.
12
- - `Deprecated` for soon-to-be removed features.
13
- - `Removed` for now removed features.
14
- - `Fixed` for any bug fixes.
15
- - `Security` in case of vulnerabilities.
10
+ - `Added` for new features.
11
+ - `Changed` for changes in existing functionality.
12
+ - `Deprecated` for soon-to-be removed features.
13
+ - `Removed` for now removed features.
14
+ - `Fixed` for any bug fixes.
15
+ - `Security` in case of vulnerabilities.
16
16
 
17
- ## [30.0.2] - 28-08-2025
17
+ ## [31.0.0] - 27-08-2025
18
18
 
19
19
  ## Added
20
20
 
21
- - The `getOrCreateCustomer` call will fetch an existing customer's product collection customers.
21
+ - Latest versions of internal build tools and libraries. EG. Vite and ESLint
22
22
 
23
23
  ## [30.0.0] - 27-08-2025
24
24
 
@@ -30,586 +30,586 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
30
30
 
31
31
  ## Added
32
32
 
33
- - Added new functionality regarding mandatory Global Property aspects:
34
- - New function `GlobalPropertyHandle.isMandatory(): boolean`: returns a boolean indicating whether the aspect has been marked as required to be completed before the user can continue.
35
- - New function `GlobalPropertyHandle.isMandatoryFulfilled(): boolean`: returns a boolean indicating whether the aspect has been marked as "completed" for mandatory checks. Note that this function always returns `true` if the aspect has not been marked as mandatory.
36
- - New event on Bundle `global-properties-mandatory-changed`: Fires whenever any global property's mandatory states have changed. Provides an object with the following shape: `{ changed: GlobalPropertyHandle[]; completed: GlobalPropertyHandle[]; remaining: GlobalPropertyHandle[]; }`
33
+ - Added new functionality regarding mandatory Global Property aspects:
34
+ - New function `GlobalPropertyHandle.isMandatory(): boolean`: returns a boolean indicating whether the aspect has been marked as required to be completed before the user can continue.
35
+ - New function `GlobalPropertyHandle.isMandatoryFulfilled(): boolean`: returns a boolean indicating whether the aspect has been marked as "completed" for mandatory checks. Note that this function always returns `true` if the aspect has not been marked as mandatory.
36
+ - New event on Bundle `global-properties-mandatory-changed`: Fires whenever any global property's mandatory states have changed. Provides an object with the following shape: `{ changed: GlobalPropertyHandle[]; completed: GlobalPropertyHandle[]; remaining: GlobalPropertyHandle[]; }`
37
37
 
38
38
  ## [29.2.0] - 25-08-2025
39
39
 
40
40
  ## Added
41
41
 
42
- - Added the function `TextGlobalPropertyHandle.isTemplatingEnabled(): boolean`. Use this to determine whether you should display any templating tools.
42
+ - Added the function `TextGlobalPropertyHandle.isTemplatingEnabled(): boolean`. Use this to determine whether you should display any templating tools.
43
43
 
44
44
  ## [29.1.2] - 25-08-2025
45
45
 
46
46
  ## Changed
47
47
 
48
- - Text steps now render any templated values prior to calculating the character limit
48
+ - Text steps now render any templated values prior to calculating the character limit
49
49
 
50
50
  ## [29.1.1] - 20-08-2025
51
51
 
52
52
  ## Fixed
53
53
 
54
- - Inputting an incorrect code when calling `verifyCode` will no longer prevent you from succeeding if you then input the correct code in a subsequent request.
54
+ - Inputting an incorrect code when calling `verifyCode` will no longer prevent you from succeeding if you then input the correct code in a subsequent request.
55
55
 
56
56
  ## [29.0.4] - 14-08-2025
57
57
 
58
58
  ## Fixed
59
59
 
60
- - Existing dispatchDate is now correctly applied when reloading a bundle
60
+ - Existing dispatchDate is now correctly applied when reloading a bundle
61
61
 
62
62
  ## [29.0.3] - 14-08-2025
63
63
 
64
64
  ## Added
65
65
 
66
- - `getDispatchStartDate` method to `ProductCollection`.
67
- - `getDispatchEndDate` method to `ProductCollection`.
66
+ - `getDispatchStartDate` method to `ProductCollection`.
67
+ - `getDispatchEndDate` method to `ProductCollection`.
68
68
 
69
69
  ## [29.0.2] - 08-08-2025
70
70
 
71
71
  ## Fixed
72
72
 
73
- - `getExportedStepData` now returns only steps with properties as per original behavior.
73
+ - `getExportedStepData` now returns only steps with properties as per original behavior.
74
74
 
75
75
  ## [29.0.1] - 07-08-2025
76
76
 
77
77
  ## Fixed
78
78
 
79
- - Missing `ExportedStepData` types.
79
+ - Missing `ExportedStepData` types.
80
80
 
81
81
  ## [29.0.0] - 06-08-2025
82
82
 
83
83
  ## Changed
84
84
 
85
- - The `getExportedData` method has been renamed `getExportedStepData` for clarity, it now returns a list of steps and their metadata chronological to the workflow. Localization has also been removed as this is a theme concern.
85
+ - The `getExportedData` method has been renamed `getExportedStepData` for clarity, it now returns a list of steps and their metadata chronological to the workflow. Localization has also been removed as this is a theme concern.
86
86
 
87
87
  ## [28.0.0] - 30-07-2025
88
88
 
89
89
  ## Changed
90
90
 
91
- - The `duplicateBundle` method now returns a function that creates a bundle object, rather than creating the object automatically.
91
+ - The `duplicateBundle` method now returns a function that creates a bundle object, rather than creating the object automatically.
92
92
 
93
93
  ## Fixed
94
94
 
95
- - Fixed bugs around reloading state.
95
+ - Fixed bugs around reloading state.
96
96
 
97
97
  ## [27.3.0] - 28-07-2025
98
98
 
99
99
  ## Added
100
100
 
101
- - CurrencyService & CurrencyContext can now be used to correctly transform values for display. See `client.getCurrencyContext`
101
+ - CurrencyService & CurrencyContext can now be used to correctly transform values for display. See `client.getCurrencyContext`
102
102
 
103
103
  ## [27.2.1] - 28-07-2025
104
104
 
105
105
  ## Fixed
106
106
 
107
- - `WorkflowExperience.assignCustomerDetails` should no longer fail when you have ownership of the associated Transaction.
107
+ - `WorkflowExperience.assignCustomerDetails` should no longer fail when you have ownership of the associated Transaction.
108
108
 
109
109
  ## [27.2.0] - 24-07-2025
110
110
 
111
111
  ## Added
112
112
 
113
- - Bundles now have the `applyGlobalPropertyState` method for copying one global state onto another.
113
+ - Bundles now have the `applyGlobalPropertyState` method for copying one global state onto another.
114
114
 
115
115
  ## [27.1.1] - 23-07-2025
116
116
 
117
117
  ## Fixed
118
118
 
119
- - Correctly the case of handle multiple text steps that are conditional and share a text aspect.
119
+ - Correctly the case of handle multiple text steps that are conditional and share a text aspect.
120
120
 
121
121
  ## [27.1.0] - 16-07-2025
122
122
 
123
123
  ## Changed
124
124
 
125
- - Added support for Handlebars in text steps.
125
+ - Added support for Handlebars in text steps.
126
126
 
127
127
  ## [27.0.0] - 15-07-2025
128
128
 
129
129
  ## Changed
130
130
 
131
- - Modified the functions for logging in as a customer.
131
+ - Modified the functions for logging in as a customer.
132
132
 
133
133
  ## [26.40.0] - 10-07-2025
134
134
 
135
135
  ## Added
136
136
 
137
- - Added `setDispatchDate` and `setPurchaseOrder` to `Bundle`.
137
+ - Added `setDispatchDate` and `setPurchaseOrder` to `Bundle`.
138
138
 
139
139
  ## [26.39.0] - 08-07-2025
140
140
 
141
141
  ## Fixed
142
142
 
143
- - The function `fetchProductsFeed` on `ProductCollection` now correctly reads from the in-memory cache for repeated calls with the same inputs.
143
+ - The function `fetchProductsFeed` on `ProductCollection` now correctly reads from the in-memory cache for repeated calls with the same inputs.
144
144
 
145
145
  ## [26.38.0] - 07-07-2025
146
146
 
147
147
  ## Added
148
148
 
149
- - `WorkflowManager` now has the function `addRecipientCallback` to listen to changes to the attached Recipient.
149
+ - `WorkflowManager` now has the function `addRecipientCallback` to listen to changes to the attached Recipient.
150
150
 
151
151
  ## [26.35.0] - 03-07-2025
152
152
 
153
153
  ## Added
154
154
 
155
- - The `Bundle` type now has the `productsCount` property.
155
+ - The `Bundle` type now has the `productsCount` property.
156
156
 
157
157
  ## [26.33.0] - 02-07-2025
158
158
 
159
159
  ## Added
160
160
 
161
- - The method `getBundlesForCustomer` now has an "ordered" option.
161
+ - The method `getBundlesForCustomer` now has an "ordered" option.
162
162
 
163
163
  ## [26.31.0] - 24-06-2025
164
164
 
165
165
  ## Fixed
166
166
 
167
- - Fixed issues with authorizing certain requests affecting recipients.
167
+ - Fixed issues with authorizing certain requests affecting recipients.
168
168
 
169
169
  ## [26.30.0] - 23-06-2025
170
170
 
171
171
  ## Added
172
172
 
173
- - New global function `getProductCollections`, which fetches a list of Product Collections by their ids.
173
+ - New global function `getProductCollections`, which fetches a list of Product Collections by their ids.
174
174
 
175
175
  ## [26.29.3] - 19-06-2025
176
176
 
177
177
  ## Fixed
178
178
 
179
- - The method `updateRecipient` now saves its arguments correctly.
179
+ - The method `updateRecipient` now saves its arguments correctly.
180
180
 
181
181
  ## [26.29.1] - 18-06-2025
182
182
 
183
183
  ### Fixed
184
184
 
185
- - Fix issues with bleeding-edge endpoints.
185
+ - Fix issues with bleeding-edge endpoints.
186
186
 
187
187
  ## [26.29.0] - 18-06-2025
188
188
 
189
189
  ### Added
190
190
 
191
- - The method `updateRecipient` on `WorkflowManager`.
191
+ - The method `updateRecipient` on `WorkflowManager`.
192
192
 
193
193
  ## [26.28.0] - 18-06-2025
194
194
 
195
195
  ### Added
196
196
 
197
- - The methods `filterProducts` and `fetchProductsFeed` on `ProductCollection` now accept the optional parameters `sortKey` and `sortDescending`. Sort key can be one of: Default, Name, Price.
197
+ - The methods `filterProducts` and `fetchProductsFeed` on `ProductCollection` now accept the optional parameters `sortKey` and `sortDescending`. Sort key can be one of: Default, Name, Price.
198
198
 
199
199
  ## [26.27.0] - 11-06-2025
200
200
 
201
201
  ### Added
202
202
 
203
- - The methods `filterProducts` and `fetchProductsFeed` on `ProductCollection` now accept an optional parameter `tags`, which is an object with the shape `{ include: string[]; exclude: string[]; }`. Only products that have all tags in `include` and no tags in `exclude` will be returned. If either array is provided as empty they will have no effect on the query.
203
+ - The methods `filterProducts` and `fetchProductsFeed` on `ProductCollection` now accept an optional parameter `tags`, which is an object with the shape `{ include: string[]; exclude: string[]; }`. Only products that have all tags in `include` and no tags in `exclude` will be returned. If either array is provided as empty they will have no effect on the query.
204
204
 
205
205
  ## [26.26.0] - 27-05-2025
206
206
 
207
207
  ### Changed
208
208
 
209
- - The event emitter on `Bundle` has been improved and made generic. Two new events will also now fire. One for a workflow being added and one for a workflow being removed.
209
+ - The event emitter on `Bundle` has been improved and made generic. Two new events will also now fire. One for a workflow being added and one for a workflow being removed.
210
210
 
211
211
  ### Added
212
212
 
213
- - The `MetafieldManager` is now exposed for use. Certain functions such as CollectionProduct will now expose utility functions that allow pulling the metafields for the entity being called on.
213
+ - The `MetafieldManager` is now exposed for use. Certain functions such as CollectionProduct will now expose utility functions that allow pulling the metafields for the entity being called on.
214
214
 
215
215
  ## [26.24.0] - 12-05-2025
216
216
 
217
217
  ### Changed
218
218
 
219
- - The functions `getIntegrationProductById` and `getIntegrationProductFromExternalIds` now accept an additional boolean parameter that allows you to fetch all of the linked integration products on the product you have requested.
219
+ - The functions `getIntegrationProductById` and `getIntegrationProductFromExternalIds` now accept an additional boolean parameter that allows you to fetch all of the linked integration products on the product you have requested.
220
220
 
221
221
  ### Fixed
222
222
 
223
- - The `duplicateBundle` call no longer fails due to missing GraphQl fragments.
223
+ - The `duplicateBundle` call no longer fails due to missing GraphQl fragments.
224
224
 
225
225
  ## [26.23.2] - 16-04-2025
226
226
 
227
227
  ### Fixed
228
228
 
229
- - The `duplicateBundle` will now correctly duplicate the global property state.
229
+ - The `duplicateBundle` will now correctly duplicate the global property state.
230
230
 
231
231
  ## [26.22.0] - 07-04-2025
232
232
 
233
233
  ### Changed
234
234
 
235
- - The `approve` and `reject` functions on `Bundle` now accept a `stakeholderId?: string` to specify which stakeholder you are interacting as.
235
+ - The `approve` and `reject` functions on `Bundle` now accept a `stakeholderId?: string` to specify which stakeholder you are interacting as.
236
236
 
237
237
  ## [26.21.1] - 03-04-2025
238
238
 
239
239
  ### Fixed
240
240
 
241
- - Fixed a bug around illustrations in global configurations being initializd with the incorrect amount of channel aspects.
241
+ - Fixed a bug around illustrations in global configurations being initializd with the incorrect amount of channel aspects.
242
242
 
243
243
  ## [26.21.0] - 01-04-2025
244
244
 
245
245
  ### Added
246
246
 
247
- - The `getQuoteCompleteMessage` method on bundles. Pass the return value of this method to Theme Bridge's `SpiffThemeLoader.completeQuote` method.
247
+ - The `getQuoteCompleteMessage` method on bundles. Pass the return value of this method to Theme Bridge's `SpiffThemeLoader.completeQuote` method.
248
248
 
249
249
  ## [26.20.0] - 31-03-2025
250
250
 
251
251
  ### Added
252
252
 
253
- - Added new methods to the `FileUploadGlobalPropertyHandle` for overriding SVG colors:
254
- - `getImageWithColors`: Returns a promise that resolves with the current image with the current color configuration, if applicable.
255
- - `getAvailableColors`: Returns the colors from the configured color option.
256
- - `getCurrentColors`: Returns the current color configuration.
257
- - `isColorPickerEnabled` and `isPmsPickerEnabled`: Return whether the color picker and pms picker are enabled, respectively.
258
- - `getOriginalColors`: Returns a promise that resolves with the original color configuration of the image asset.
259
- - `changeColors`: Updates the current color configuration and propagates the changes to all connected workflow experiences.
253
+ - Added new methods to the `FileUploadGlobalPropertyHandle` for overriding SVG colors:
254
+ - `getImageWithColors`: Returns a promise that resolves with the current image with the current color configuration, if applicable.
255
+ - `getAvailableColors`: Returns the colors from the configured color option.
256
+ - `getCurrentColors`: Returns the current color configuration.
257
+ - `isColorPickerEnabled` and `isPmsPickerEnabled`: Return whether the color picker and pms picker are enabled, respectively.
258
+ - `getOriginalColors`: Returns a promise that resolves with the original color configuration of the image asset.
259
+ - `changeColors`: Updates the current color configuration and propagates the changes to all connected workflow experiences.
260
260
 
261
261
  ## [26.19.0] - 26-03-2025
262
262
 
263
263
  ### Added
264
264
 
265
- - The `generateQuoteId` method on bundles.
265
+ - The `generateQuoteId` method on bundles.
266
266
 
267
267
  ## [26.18.0] - 24-03-2025
268
268
 
269
269
  ### Added
270
270
 
271
- - Added `OneToOne` mode to `BundleDesignCreationCartAddMode`, which adds each Transaction of a Bundle to the cart as individual line items.
271
+ - Added `OneToOne` mode to `BundleDesignCreationCartAddMode`, which adds each Transaction of a Bundle to the cart as individual line items.
272
272
 
273
273
  ## [26.17.0] - 24-03-2025
274
274
 
275
275
  ### Added
276
276
 
277
- - The object returned by `Bundle.finish()`, `BundleDesignCreationMessage`, has a new field `cartAddMode?: BundleDesignCreationCartAddMode`. This controls the strategy for adding the items of a Bundle to an ecommerce cart.
277
+ - The object returned by `Bundle.finish()`, `BundleDesignCreationMessage`, has a new field `cartAddMode?: BundleDesignCreationCartAddMode`. This controls the strategy for adding the items of a Bundle to an ecommerce cart.
278
278
 
279
279
  ## [26.16.1] - 18-03-2025
280
280
 
281
281
  ### Changed
282
282
 
283
- - If both the partner and workflow have terms and conditions, the workflow wins.
283
+ - If both the partner and workflow have terms and conditions, the workflow wins.
284
284
 
285
285
  ## [26.15.0] - 03-03-2025
286
286
 
287
287
  ### Added
288
288
 
289
- - Methods on experiences and bundles to attach addresses and organizations.
289
+ - Methods on experiences and bundles to attach addresses and organizations.
290
290
 
291
291
  ## [26.13.0] - 27-02-2025
292
292
 
293
293
  ### Changed
294
294
 
295
- - The selectVariant method of ColorOptionGlobalPropertyHandle objects now has an optional `channel` parameter for color channels.
295
+ - The selectVariant method of ColorOptionGlobalPropertyHandle objects now has an optional `channel` parameter for color channels.
296
296
 
297
297
  ## [26.12.0] - 26-02-2025
298
298
 
299
299
  ### Changed
300
300
 
301
- - The global function `getIntegration` now supports a second parameter, `themeConfigurationId`, which allows you to override the Theme Configuration that is returned on the object.
301
+ - The global function `getIntegration` now supports a second parameter, `themeConfigurationId`, which allows you to override the Theme Configuration that is returned on the object.
302
302
 
303
303
  ## [26.11.0] - 24-02-2025
304
304
 
305
305
  ### Changed
306
306
 
307
- - The `createPreviewImage` parameter in `Bundle.finish()` is now provided a second argument, `shouldRender3D: boolean`, which can be passed to `WorkflowExperience.createPreviewImage()`
307
+ - The `createPreviewImage` parameter in `Bundle.finish()` is now provided a second argument, `shouldRender3D: boolean`, which can be passed to `WorkflowExperience.createPreviewImage()`
308
308
 
309
309
  ## [26.10.0] - 24-02-2025
310
310
 
311
311
  ### Added
312
312
 
313
- - Ability to handle illustrations with asset configurations.
313
+ - Ability to handle illustrations with asset configurations.
314
314
 
315
315
  ## [26.9.1] - 20-02-2025
316
316
 
317
317
  ### Fixed
318
318
 
319
- - Resolved an issue allowing empty text to pass mandatory checks on the text step.
319
+ - Resolved an issue allowing empty text to pass mandatory checks on the text step.
320
320
 
321
321
  ## [26.8.0] - 06-02-2025
322
322
 
323
323
  ### Fixed
324
324
 
325
- - Resolved an issue causing clients using module steps not to handle errors correctly.
325
+ - Resolved an issue causing clients using module steps not to handle errors correctly.
326
326
 
327
327
  ## [26.7.9] - 21-01-2025
328
328
 
329
329
  ### Fixed
330
330
 
331
- - Resolved an issue when duplicating a bundle causing any copied workflow experiences to be missing in the javascript class returned.
331
+ - Resolved an issue when duplicating a bundle causing any copied workflow experiences to be missing in the javascript class returned.
332
332
 
333
333
  ## [26.7.6] - 10-01-2025
334
334
 
335
335
  ### Fixed
336
336
 
337
- - Reverted the previous due to issues with other areas of opentype.
337
+ - Reverted the previous due to issues with other areas of opentype.
338
338
 
339
339
  ## [26.7.5] - 10-01-2025
340
340
 
341
341
  ### Added
342
342
 
343
- - Updated opentype to access more functionality around font outlining.
343
+ - Updated opentype to access more functionality around font outlining.
344
344
 
345
345
  ## [26.7.4] - 19-12-2024
346
346
 
347
347
  ### Fixed
348
348
 
349
- - The version of Opentype we use now correctly includes the fill functionality of the font outlining tool. Fill will now be correctly applied to any text outlined by this tool.
349
+ - The version of Opentype we use now correctly includes the fill functionality of the font outlining tool. Fill will now be correctly applied to any text outlined by this tool.
350
350
 
351
351
  ## [26.7.3] - 18-12-2024
352
352
 
353
353
  ### Added
354
354
 
355
- - Added the `illustrationStep.isPMSPickerEnabled` function. This function returns a boolean indicating whether the PMS picker is enabled for the step.
355
+ - Added the `illustrationStep.isPMSPickerEnabled` function. This function returns a boolean indicating whether the PMS picker is enabled for the step.
356
356
 
357
357
  ## [26.7.2] - 02-12-2024
358
358
 
359
359
  ### Fixed
360
360
 
361
- - Corrected an issue with `TextStepService.availableFillColors` not returning the correct colors under certain conditions.
361
+ - Corrected an issue with `TextStepService.availableFillColors` not returning the correct colors under certain conditions.
362
362
 
363
363
  ## [26.7.0] - 27-11-2024
364
364
 
365
365
  ### Added
366
366
 
367
- - Text steps now support custom stroke. Similar to other color customisation features, this is accessible via the functions `getAvailableStrokeColors`, `getStrokeColor`, and `setStrokeColor` on `TextStepHandle`.
368
- The thickness of the stroke, the colors to select from, and other options, are configurable via the Spiff Hub in the Workflow editor.
367
+ - Text steps now support custom stroke. Similar to other color customisation features, this is accessible via the functions `getAvailableStrokeColors`, `getStrokeColor`, and `setStrokeColor` on `TextStepHandle`.
368
+ The thickness of the stroke, the colors to select from, and other options, are configurable via the Spiff Hub in the Workflow editor.
369
369
 
370
370
  ## [26.5.2] - 20-11-2024
371
371
 
372
372
  ### Fixed
373
373
 
374
- - Fixed issues regarding EXIF orientation calculation throwing errors under specific conditions.
374
+ - Fixed issues regarding EXIF orientation calculation throwing errors under specific conditions.
375
375
 
376
376
  ## [26.5.1] - 20-11-2024
377
377
 
378
378
  ### Fixed
379
379
 
380
- - SVG Files uploaded to the platform will now have widths and heights specified in non-pixel values
381
- stripped. This shouldn't have any effect on user uploads but will prevent the system from breaking when
382
- encountering these values.
380
+ - SVG Files uploaded to the platform will now have widths and heights specified in non-pixel values
381
+ stripped. This shouldn't have any effect on user uploads but will prevent the system from breaking when
382
+ encountering these values.
383
383
 
384
384
  ## [26.5.0] - 18-11-2024
385
385
 
386
386
  ### Added
387
387
 
388
- - ProductCollection has a new function `fetchProductsFeed`, which fetches a paginated array of product collection products (entries in the product collection). Note that this does not edit the internal array of previously fetched products like `fetchProducts` does, so calls to `fetchProductsFeed` will not change the array that is returned by `getProducts`. If `fetchProducts` has already been called, or if the ProductCollection has been initialised with products, `fetchProductsFeed` will avoid making any network calls where it can.
388
+ - ProductCollection has a new function `fetchProductsFeed`, which fetches a paginated array of product collection products (entries in the product collection). Note that this does not edit the internal array of previously fetched products like `fetchProducts` does, so calls to `fetchProductsFeed` will not change the array that is returned by `getProducts`. If `fetchProducts` has already been called, or if the ProductCollection has been initialised with products, `fetchProductsFeed` will avoid making any network calls where it can.
389
389
 
390
390
  ## [26.4.0] - 07-11-2024
391
391
 
392
392
  ### Added
393
393
 
394
- - The client now has a `placeOrder` function. This allows ordering any combination of transactions. Remember that this may require additional permissions on the application key.
395
- - Bundle now has a `placeOrder` function that will place an order for the bundle. The will create an order containing all transactions in the bundle. Remember that this may require additional permissions on the application key.
396
- - Interface `Order` and `OrderItem` have been added to the package. These interfaces can be used with the new placeOrder functions.
394
+ - The client now has a `placeOrder` function. This allows ordering any combination of transactions. Remember that this may require additional permissions on the application key.
395
+ - Bundle now has a `placeOrder` function that will place an order for the bundle. The will create an order containing all transactions in the bundle. Remember that this may require additional permissions on the application key.
396
+ - Interface `Order` and `OrderItem` have been added to the package. These interfaces can be used with the new placeOrder functions.
397
397
 
398
398
  ## [26.3.0] - 04-11-2024
399
399
 
400
400
  ### Changed
401
401
 
402
- - IllustrationStepHandle now accepts providing PMS values when calling `setColor`
403
- - IllustrationStepHandle's `getAvailableColors` function now returns the names of the variants as PMS values.
402
+ - IllustrationStepHandle now accepts providing PMS values when calling `setColor`
403
+ - IllustrationStepHandle's `getAvailableColors` function now returns the names of the variants as PMS values.
404
404
 
405
405
  ## [26.1.2] - 30-10-2024
406
406
 
407
407
  ### Fixed
408
408
 
409
- - The ProductCollection class will no longer request the products it contains if they are already present in the cache.
409
+ - The ProductCollection class will no longer request the products it contains if they are already present in the cache.
410
410
 
411
411
  ## [26.1.1] - 30-10-2024
412
412
 
413
413
  ### Changed
414
414
 
415
- - Merged some GraphQL calls to reduce the number of requests made when loading a bundle.
415
+ - Merged some GraphQL calls to reduce the number of requests made when loading a bundle.
416
416
 
417
417
  ## [26.1.0] - 30-10-2024
418
418
 
419
419
  ### Changed
420
420
 
421
- - Several internal functions have been changed, been merged or removed. This should not affect any public API.
422
- - `rehydrateSerializedLayout` is no longer exported from the package. No functionality is intended to take its place. The function was always intended for internal use only.
421
+ - Several internal functions have been changed, been merged or removed. This should not affect any public API.
422
+ - `rehydrateSerializedLayout` is no longer exported from the package. No functionality is intended to take its place. The function was always intended for internal use only.
423
423
 
424
424
  ## [26.0.0] - 30-10-2024
425
425
 
426
426
  ### Changed
427
427
 
428
- - `getWorkflowExperience` has removed 3 deprecated parameters in favor of the options object. The options object is no longer optional.
429
- - `configureUrls` has been removed in favor of the `configure` function. Please use `configure` moving forwards.
430
- - The client constructor should know be called with an application in most use cases. We'll continue locking down functionality to require this in the future.
428
+ - `getWorkflowExperience` has removed 3 deprecated parameters in favor of the options object. The options object is no longer optional.
429
+ - `configureUrls` has been removed in favor of the `configure` function. Please use `configure` moving forwards.
430
+ - The client constructor should know be called with an application in most use cases. We'll continue locking down functionality to require this in the future.
431
431
 
432
432
  ## [22.0.0] - 10-07-2024
433
433
 
434
434
  ### Changed
435
435
 
436
- - `matchHexToPms` now returns a list of objects of `{ pms: string; hex: string; }` rather than strings.
436
+ - `matchHexToPms` now returns a list of objects of `{ pms: string; hex: string; }` rather than strings.
437
437
 
438
438
  ### Added
439
439
 
440
- - `findPmsColors(input: string, limit?: number): PmsSearchResult[]`: A function to find PMS colors by name using fuzzy search.
440
+ - `findPmsColors(input: string, limit?: number): PmsSearchResult[]`: A function to find PMS colors by name using fuzzy search.
441
441
 
442
442
  ## [21.8.1] - 27-03-2024
443
443
 
444
444
  ### Fixed
445
445
 
446
- - `WorkflowExperience.getTotalPriceSubunits` no longer always returns the discounted price.
446
+ - `WorkflowExperience.getTotalPriceSubunits` no longer always returns the discounted price.
447
447
 
448
448
  ## [21.8.0] - 26-03-2024
449
449
 
450
450
  ### Added
451
451
 
452
- - `Bundle.removeStakeholder(email: string): Promise<void>`: Removes a single stakeholder from the Bundle, via email address.
452
+ - `Bundle.removeStakeholder(email: string): Promise<void>`: Removes a single stakeholder from the Bundle, via email address.
453
453
 
454
454
  ## [21.7.1] - 25-03-2024
455
455
 
456
456
  ### Fixed
457
457
 
458
- - `Bundle.getAllStakeholders()` now returns correct results on subsequent calls.
458
+ - `Bundle.getAllStakeholders()` now returns correct results on subsequent calls.
459
459
 
460
460
  ## [21.7.0] - 25-03-2024
461
461
 
462
462
  ### Added
463
463
 
464
- - `CollectionProduct.getAllWorkflows(): ProductWorkflow[]`: Returns all workflows associated with this product.
464
+ - `CollectionProduct.getAllWorkflows(): ProductWorkflow[]`: Returns all workflows associated with this product.
465
465
 
466
466
  ## [21.6.0] - 22-03-2024
467
467
 
468
468
  ### Added
469
469
 
470
- - `WorkflowExperienceEventType.PriceBreakChanged`: The relevant event fires whenever the price break to be used in a WorkflowExperience changes. This even will fire when the quantity changes, and will also fire when in a Bundle when other WorkflowExperiences using the same Product have quantity changes (or are added & removed from the Bundle).
470
+ - `WorkflowExperienceEventType.PriceBreakChanged`: The relevant event fires whenever the price break to be used in a WorkflowExperience changes. This even will fire when the quantity changes, and will also fire when in a Bundle when other WorkflowExperiences using the same Product have quantity changes (or are added & removed from the Bundle).
471
471
 
472
472
  ## [21.5.0] - 22-03-2024
473
473
 
474
474
  ### Changed
475
475
 
476
- - `StepHandle`: The override global property state setting now has a different value for each Global Property Aspect type. The get/set functions have been renamed and have an extra parameter to determine the Aspect Type.
477
- - `getOverrideGlobalPreviewConfiguration` -> `getOverrideGlobalPropertyConfiguration(type: AspectType): boolean`.
478
- - `setOverrideGlobalPreviewConfiguration` -> `setOverrideGlobalPropertyConfiguration(type: AspectType, value: boolean): void`
476
+ - `StepHandle`: The override global property state setting now has a different value for each Global Property Aspect type. The get/set functions have been renamed and have an extra parameter to determine the Aspect Type.
477
+ - `getOverrideGlobalPreviewConfiguration` -> `getOverrideGlobalPropertyConfiguration(type: AspectType): boolean`.
478
+ - `setOverrideGlobalPreviewConfiguration` -> `setOverrideGlobalPropertyConfiguration(type: AspectType, value: boolean): void`
479
479
 
480
480
  ## [21.4.1] - 21-03-2024
481
481
 
482
482
  ### Changed
483
483
 
484
- - `readTransactionsQuery` now fetches `printFileUrl1` to `printFileUrl5` for each transaction.
484
+ - `readTransactionsQuery` now fetches `printFileUrl1` to `printFileUrl5` for each transaction.
485
485
 
486
486
  ## [21.4.0] - 20-03-2024
487
487
 
488
488
  ### Added
489
489
 
490
- - `StepHandle`:
491
- - `getOverrideGlobalPreviewConfiguration(): boolean`: Returns a boolean that indicates whether this step should override (ignore) Global Property state.
492
- - `setOverrideGlobalPreviewConfiguration(value: boolean): void`: Modifies whether this step should override (ignore) Global Property state.
493
- - `getGlobalPropertyAspects(configurationId: string): string[]`: Returns all Aspect names in the supplied Global Property Configuration that this step is configured to use.
494
- - `Bundle.getGlobalPropertyConfiguration(): GlobalPropertyConfiguration | undefined`: Returns the Global Property Configuration object associated with the Bundle, if it exists.
490
+ - `StepHandle`:
491
+ - `getOverrideGlobalPreviewConfiguration(): boolean`: Returns a boolean that indicates whether this step should override (ignore) Global Property state.
492
+ - `setOverrideGlobalPreviewConfiguration(value: boolean): void`: Modifies whether this step should override (ignore) Global Property state.
493
+ - `getGlobalPropertyAspects(configurationId: string): string[]`: Returns all Aspect names in the supplied Global Property Configuration that this step is configured to use.
494
+ - `Bundle.getGlobalPropertyConfiguration(): GlobalPropertyConfiguration | undefined`: Returns the Global Property Configuration object associated with the Bundle, if it exists.
495
495
 
496
496
  ## [21.3.1] - 20-03-2024
497
497
 
498
498
  ### Fixed
499
499
 
500
- - When a `Bundle` is loaded by ID, the `WorkflowExperience` objects it loads will not correctly be linked internally. This resolves issues regarding price breaks not calculating correctly on bundle reload when multiple transactions share a product.
500
+ - When a `Bundle` is loaded by ID, the `WorkflowExperience` objects it loads will not correctly be linked internally. This resolves issues regarding price breaks not calculating correctly on bundle reload when multiple transactions share a product.
501
501
 
502
502
  ## [21.3.0] - 20-03-2024
503
503
 
504
504
  ### Added
505
505
 
506
- - `WorkflowExperience.priceBreakToBeApplied()` returns the percentage that will be used in `WorkflowExperience.getTotalPriceSubunits()` and related methods.
506
+ - `WorkflowExperience.priceBreakToBeApplied()` returns the percentage that will be used in `WorkflowExperience.getTotalPriceSubunits()` and related methods.
507
507
 
508
508
  ### Changed
509
509
 
510
- - `WorkflowExperience.getTotalPriceSubunits()` and related methods now consider price breaks in their calculations, but also now have a `disablePriceBreaks` argument.
510
+ - `WorkflowExperience.getTotalPriceSubunits()` and related methods now consider price breaks in their calculations, but also now have a `disablePriceBreaks` argument.
511
511
 
512
512
  ## [21.2.1] - 15-03-2024
513
513
 
514
514
  ### Fixed
515
515
 
516
- - Fixed Global Property Handles not updating values when WorkflowExperiences in the Bundle share the same Workflow.
516
+ - Fixed Global Property Handles not updating values when WorkflowExperiences in the Bundle share the same Workflow.
517
517
 
518
518
  ## [21.2.0] - 15-03-2024
519
519
 
520
520
  ### Added
521
521
 
522
- - `FileUploadGlobalPropertyHandle`:
523
- - `hasImage(): boolean`: Returns a boolean value indicating if the associated state has an image.
524
- - `getImage(): Promise<Asset | undefined>`: Retrieves the current image from the server.
522
+ - `FileUploadGlobalPropertyHandle`:
523
+ - `hasImage(): boolean`: Returns a boolean value indicating if the associated state has an image.
524
+ - `getImage(): Promise<Asset | undefined>`: Retrieves the current image from the server.
525
525
 
526
526
  ## [21.1.1] - 15-03-2024
527
527
 
528
528
  ### Fixed
529
529
 
530
- - Exported missing `AspectType` for global property handles.
530
+ - Exported missing `AspectType` for global property handles.
531
531
 
532
532
  ## [21.1.0] - 14-03-2024
533
533
 
534
534
  ### Added
535
535
 
536
- - `Bundle.hasGlobalProperties(): boolean`: Returns true when the bundle is linked to a Global Property Configuration.
536
+ - `Bundle.hasGlobalProperties(): boolean`: Returns true when the bundle is linked to a Global Property Configuration.
537
537
 
538
538
  ## [21.0.1] - 13-03-2024
539
539
 
540
540
  ### Fixed
541
541
 
542
- - Package now supplies this `CHANGELOG.md` in published releases.
542
+ - Package now supplies this `CHANGELOG.md` in published releases.
543
543
 
544
544
  ## [21.0.0] - 13-03-2024
545
545
 
546
546
  ### Added
547
547
 
548
- - `DesignCreationMessage` now has `quantity: number | undefined`.
548
+ - `DesignCreationMessage` now has `quantity: number | undefined`.
549
549
 
550
550
  ### Changed
551
551
 
552
- - `Bundle.finish()` no longer returns an array of `DesignCreationMessage` objects, but instead returns a `BundleDesignCreationMessage` object which wraps the array of `DesignCreationMessage` entries.
552
+ - `Bundle.finish()` no longer returns an array of `DesignCreationMessage` objects, but instead returns a `BundleDesignCreationMessage` object which wraps the array of `DesignCreationMessage` entries.
553
553
 
554
554
  ## [20.5.1] - 12-03-2024
555
555
 
556
556
  ### Fixed
557
557
 
558
- - `WorkflowExperience.getSelectionPriceSubunits()` (and consequently `getTotalPriceSubunits()`) can no longer return `NaN`.
558
+ - `WorkflowExperience.getSelectionPriceSubunits()` (and consequently `getTotalPriceSubunits()`) can no longer return `NaN`.
559
559
 
560
560
  ## [20.5.0] - 12-03-2024
561
561
 
562
562
  ### Added
563
563
 
564
- - `WorkflowManager.injectIntoPreviewService()` now has a second argument `refocusCamera`, a boolean which allows you to disable the automatic refocusing of the camera when the model is loaded. This requires `@spiffcommerce/preview@^5.7.0`.
564
+ - `WorkflowManager.injectIntoPreviewService()` now has a second argument `refocusCamera`, a boolean which allows you to disable the automatic refocusing of the camera when the model is loaded. This requires `@spiffcommerce/preview@^5.7.0`.
565
565
 
566
566
  ## [20.4.5] - 08-03-2024
567
567
 
568
568
  ### Added
569
569
 
570
- - `RenderableScene` objects will now contain a `workflowScene: WorkflowScene` field. This is only provided for backwards compatibility and is considered deprecated functionality.
570
+ - `RenderableScene` objects will now contain a `workflowScene: WorkflowScene` field. This is only provided for backwards compatibility and is considered deprecated functionality.
571
571
 
572
572
  ## [20.4.4] - 08-03-2024
573
573
 
574
574
  ### Fixed
575
575
 
576
- - Updating quantity via `WorkflowExperience.setQuantity()` will now correctly update on the server.
576
+ - Updating quantity via `WorkflowExperience.setQuantity()` will now correctly update on the server.
577
577
 
578
578
  ## [20.4.3] - 08-03-2024
579
579
 
580
580
  ### Changed
581
581
 
582
- - `WorkflowExperience.setQuantity()` now returns a promise that resolves once the quantity has been updated on the server.
582
+ - `WorkflowExperience.setQuantity()` now returns a promise that resolves once the quantity has been updated on the server.
583
583
 
584
584
  ## [20.4.0] - 08-03-2024
585
585
 
586
586
  ### Added
587
587
 
588
- - `Transaction` entities now have `quantity: number | undefined`.
589
- - New functions on `WorkflowExperience` for managing quantity:
590
- - `getQuantity()`: The amount that was, or will be, ordered of the underlying `Transaction`. This will default to `1` if the value is undefined. If you want to read the raw value, use `getWorkflowManager().getTransaction().quantity`.
591
- - `setQuantity(<number>)`: Updates the quantity value on the underlying `Transaction` entity. Must be >= 1.
592
- - New events functionality on `WorkflowExperience`. Currently the only event is `QuantityChanged`.
593
- - `addEventListener(<type>, <callback>)`: Registers a callback function to be called when the specified event is raised. The associated `WorkflowExperience` is passed as a parameter to the callback function.
594
- - `removeEventListener(<type>, <callback>)`: Removes a previously registered callback.
588
+ - `Transaction` entities now have `quantity: number | undefined`.
589
+ - New functions on `WorkflowExperience` for managing quantity:
590
+ - `getQuantity()`: The amount that was, or will be, ordered of the underlying `Transaction`. This will default to `1` if the value is undefined. If you want to read the raw value, use `getWorkflowManager().getTransaction().quantity`.
591
+ - `setQuantity(<number>)`: Updates the quantity value on the underlying `Transaction` entity. Must be >= 1.
592
+ - New events functionality on `WorkflowExperience`. Currently the only event is `QuantityChanged`.
593
+ - `addEventListener(<type>, <callback>)`: Registers a callback function to be called when the specified event is raised. The associated `WorkflowExperience` is passed as a parameter to the callback function.
594
+ - `removeEventListener(<type>, <callback>)`: Removes a previously registered callback.
595
595
 
596
596
  ## [20.3.0] - 07-03-2024
597
597
 
598
598
  ### Added
599
599
 
600
- - `CollectionProduct.getCurrentIntegration()`: returns the `IntegrationProductResource` associated with the product that is linked to the current Integration (resolved via the application key).
600
+ - `CollectionProduct.getCurrentIntegration()`: returns the `IntegrationProductResource` associated with the product that is linked to the current Integration (resolved via the application key).
601
601
 
602
602
  ## [20.2.2] - 05-03-2024
603
603
 
604
604
  ### Changed
605
605
 
606
- - `WorkflowExperience.getStepById(<string>)` now internally caches the `StepHandle` objects that it creates. This resolves an issue with functional rendering systems that re-render when the object reference changes, where they would re-renderer whenever this function was called even if the object was identical.
606
+ - `WorkflowExperience.getStepById(<string>)` now internally caches the `StepHandle` objects that it creates. This resolves an issue with functional rendering systems that re-render when the object reference changes, where they would re-renderer whenever this function was called even if the object was identical.
607
607
 
608
608
  ## [20.2.1] - 29-02-2024
609
609
 
610
610
  ### Changed
611
611
 
612
- - The union type `GetWorkflowOptions` has some of its entries wrapped in another union. The types that will create a brand new `Transaction` are now nested under `GetNewWorkflowOptions`:
612
+ - The union type `GetWorkflowOptions` has some of its entries wrapped in another union. The types that will create a brand new `Transaction` are now nested under `GetNewWorkflowOptions`:
613
613
 
614
614
  ```ts
615
615
  // Before
@@ -630,7 +630,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
630
630
 
631
631
  ### Added
632
632
 
633
- - `SpiffCommerceClient.getIntegrationProduct(<options>)`: Fetches an `IntegrationProduct` object. Essentially a wrapper for the functions `getIntegrationProductById` and `getIntegrationProductFromExternalIds`. The options object type is as follows:
633
+ - `SpiffCommerceClient.getIntegrationProduct(<options>)`: Fetches an `IntegrationProduct` object. Essentially a wrapper for the functions `getIntegrationProductById` and `getIntegrationProductFromExternalIds`. The options object type is as follows:
634
634
  ```ts
635
635
  {
636
636
  type: "integration";
@@ -646,27 +646,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
646
646
 
647
647
  ### Added
648
648
 
649
- - `IntegrationProduct.getAllWorkflows()`: Returns an array of `ProductWorkflow`, ordered by their internal `index` value (matches the order seen on the SpiffCommerce Hub).
649
+ - `IntegrationProduct.getAllWorkflows()`: Returns an array of `ProductWorkflow`, ordered by their internal `index` value (matches the order seen on the SpiffCommerce Hub).
650
650
 
651
651
  ## [20.0.1] - 23-02-2024
652
652
 
653
653
  ### Changed
654
654
 
655
- - `StepHandle.executeAnimations()` now logs a warning to the console when the associated `WorkflowManager` is not associated with a `ThreeDPreviewService`.
655
+ - `StepHandle.executeAnimations()` now logs a warning to the console when the associated `WorkflowManager` is not associated with a `ThreeDPreviewService`.
656
656
 
657
657
  ## [20.0.0] - 15-02-2024
658
658
 
659
659
  ### Added
660
660
 
661
- - Additional configuration options for GraphQL on bundles.
662
- - A separate fetchProducts function on the ProductCollection interface.
661
+ - Additional configuration options for GraphQL on bundles.
662
+ - A separate fetchProducts function on the ProductCollection interface.
663
663
 
664
664
  ### Changed
665
665
 
666
- - Removed async on getProducts call.
666
+ - Removed async on getProducts call.
667
667
 
668
668
  ### Removed
669
669
 
670
- - Unused normalize.css file.
671
- - Identical links assigned in each translation file.
672
- - Duplicate index file for the english version.
670
+ - Unused normalize.css file.
671
+ - Identical links assigned in each translation file.
672
+ - Duplicate index file for the english version.