@dropins/storefront-order 4.1.0-alpha-20260902133016 → 4.1.0

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
@@ -1,27 +1,52 @@
1
1
  # @dropins/storefront-order
2
2
 
3
- ## 4.1.0-alpha-20260902133016
3
+ ## 4.1.0
4
4
 
5
- ### Minor Changes
6
-
7
- - 6deaff4: Adds support for displaying a "Free Gift" label and zero-price treatment on order line items across the My Account order detail and order return surfaces.
5
+ ## 4.1.0-beta.0
8
6
 
9
- - Adds the optional `free_gift_label` field to the `ORDER_ITEM_DETAILS_FRAGMENT` on `OrderItemInterface`. The field is nullable and additive — backends that do not yet return it continue to work unchanged (label and zero-price rendering are simply skipped).
10
- - Exposes `freeGiftLabel?: string | null` and a derived `isFreeGift?: boolean` (computed as `Boolean(free_gift_label)`) on `OrderItemModel`.
11
- - `CartSummaryItem` now renders free-gift lines with the catalog/original unit price and a row total that strikes through the original total followed by a `$0` sale price. Logic lives in the new `getFreeGiftDisplayUnit` / `getFreeGiftLineStrikeTotal` helpers in `src/lib/free-gift-pricing.ts`. All tax-display modes (incl./excl./both) are handled.
12
- - For non-free-gift lines that still carry a `freeGiftLabel`, the label is rendered next to the existing price without altering pricing behavior.
13
- - The order returns flow benefits from the same treatment: a new `enrichItemsEligibleForReturn` step in `transformOrderData` propagates `freeGiftLabel`, `isFreeGift`, and `regularPrice` from full order items onto `items_eligible_for_return`, so `ReturnOrderProductList` displays free-gift labels and pricing consistently.
14
-
15
- - e945c7b: `OrderComments` now recognizes a small allowlist of formatting tags (`<br>`, `<b>`, `<i>`) in comment text and renders them as real line breaks/bold/italic, instead of showing the literal tag characters. Any other markup in the comment string is still rendered as plain, escaped text — no other tags or attributes are ever parsed as HTML.
7
+ ### Minor Changes
16
8
 
17
- Internally, sanitization is implemented via DOMPurify (already used by the storefront-checkout dropin for similar rich text) rather than a custom parser.
9
+ - 6deaff4: Adds support for displaying a "Free Gift" label and zero-price
10
+ treatment on order line items across the My Account order detail and order
11
+ return surfaces.
12
+
13
+ - Adds the optional `free_gift_label` field to the
14
+ `ORDER_ITEM_DETAILS_FRAGMENT` on `OrderItemInterface`. The field is nullable
15
+ and additive — backends that do not yet return it continue to work unchanged
16
+ (label and zero-price rendering are simply skipped).
17
+ - Exposes `freeGiftLabel?: string | null` and a derived `isFreeGift?: boolean`
18
+ (computed as `Boolean(free_gift_label)`) on `OrderItemModel`.
19
+ - `CartSummaryItem` now renders free-gift lines with the catalog/original unit
20
+ price and a row total that strikes through the original total followed by a
21
+ `$0` sale price. Logic lives in the new `getFreeGiftDisplayUnit` /
22
+ `getFreeGiftLineStrikeTotal` helpers in `src/lib/free-gift-pricing.ts`. All
23
+ tax-display modes (incl./excl./both) are handled.
24
+ - For non-free-gift lines that still carry a `freeGiftLabel`, the label is
25
+ rendered next to the existing price without altering pricing behavior.
26
+ - The order returns flow benefits from the same treatment: a new
27
+ `enrichItemsEligibleForReturn` step in `transformOrderData` propagates
28
+ `freeGiftLabel`, `isFreeGift`, and `regularPrice` from full order items onto
29
+ `items_eligible_for_return`, so `ReturnOrderProductList` displays free-gift
30
+ labels and pricing consistently.
31
+
32
+ - e945c7b: `OrderComments` now recognizes a small allowlist of formatting tags
33
+ (`<br>`, `<b>`, `<i>`) in comment text and renders them as real line
34
+ breaks/bold/italic, instead of showing the literal tag characters. Any other
35
+ markup in the comment string is still rendered as plain, escaped text — no
36
+ other tags or attributes are ever parsed as HTML.
37
+
38
+ Internally, sanitization is implemented via DOMPurify (already used by the
39
+ storefront-checkout dropin for similar rich text) rather than a custom parser.
18
40
 
19
41
  - 3e19320: Render shipment details for shipments without tracking data.
20
42
 
21
- Previously, a completed order with a single fully shipped shipment and an empty `tracking` array rendered nothing, even though Commerce GraphQL returned the shipment number and its shipped items.
43
+ Previously, a completed order with a single fully shipped shipment and an
44
+ empty `tracking` array rendered nothing, even though Commerce GraphQL returned
45
+ the shipment number and its shipped items.
22
46
 
23
47
  - A shipment card is now rendered for every returned shipment.
24
- - Untracked shipments show the shipment number, the shipped contents and the shipped quantity.
48
+ - Untracked shipments show the shipment number, the shipped contents and the
49
+ shipped quantity.
25
50
  - No track action is rendered when tracking data is missing.
26
51
  - Tracked shipments keep their carrier, tracking number and track action.
27
52
  - Orders without shipments keep the generic shipping information card.
@@ -29,19 +54,32 @@
29
54
 
30
55
  ### Patch Changes
31
56
 
32
- - f28e6ff: Fix `placeOrder` silently resolving with `null` and no error/event when the GraphQL response returns a `null` `placeOrder` field without a standard `errors` array (e.g. a backend `Cannot return null for non-nullable field PlaceOrderOutput.errors` schema violation surfaced via `extensions.valueCompletion`). This left checkout stuck with no error feedback for the shopper. Now this case is treated as an unexpected server error, surfacing a `PlaceOrderError` so consumers can display the checkout error panel.
57
+ - f28e6ff: Fix `placeOrder` silently resolving with `null` and no error/event
58
+ when the GraphQL response returns a `null` `placeOrder` field without a
59
+ standard `errors` array (e.g. a backend
60
+ `Cannot return null for non-nullable field PlaceOrderOutput.errors` schema
61
+ violation surfaced via `extensions.valueCompletion`). This left checkout stuck
62
+ with no error feedback for the shopper. Now this case is treated as an
63
+ unexpected server error, surfacing a `PlaceOrderError` so consumers can
64
+ display the checkout error panel.
33
65
 
34
66
  ## 4.0.1
35
67
 
36
68
  ### Patch Changes
37
69
 
38
- - 1df0e9c: Fix incorrect and missing `autocomplete` attributes on the order search form (WCAG 1.3.5).
70
+ - 1df0e9c: Fix incorrect and missing `autocomplete` attributes on the order
71
+ search form (WCAG 1.3.5).
39
72
 
40
- The email field on the guest order search form used an invalid `autocomplete` value (`username`), and the last name field had no `autocomplete` attribute at all. They now use the correct `email` and `family-name` values respectively.
73
+ The email field on the guest order search form used an invalid `autocomplete`
74
+ value (`username`), and the last name field had no `autocomplete` attribute at
75
+ all. They now use the correct `email` and `family-name` values respectively.
41
76
 
42
- This helps browsers and assistive technology correctly identify the purpose of each field, making autofill and form-filling easier for everyone, including people using screen readers or who have difficulty typing.
77
+ This helps browsers and assistive technology correctly identify the purpose of
78
+ each field, making autofill and form-filling easier for everyone, including
79
+ people using screen readers or who have difficulty typing.
43
80
 
44
- - 405a09d: Fix visual heading text not marked as heading across order status, order details, shipping, returns and product list sections
81
+ - 405a09d: Fix visual heading text not marked as heading across order status,
82
+ order details, shipping, returns and product list sections
45
83
  - aea506c: Bump SDK stable versions
46
84
 
47
85
  ## 4.0.1-beta.1
@@ -54,23 +92,37 @@
54
92
 
55
93
  ### Patch Changes
56
94
 
57
- - 1df0e9c: Fix incorrect and missing `autocomplete` attributes on the order search form (WCAG 1.3.5).
95
+ - 1df0e9c: Fix incorrect and missing `autocomplete` attributes on the order
96
+ search form (WCAG 1.3.5).
58
97
 
59
- The email field on the guest order search form used an invalid `autocomplete` value (`username`), and the last name field had no `autocomplete` attribute at all. They now use the correct `email` and `family-name` values respectively.
98
+ The email field on the guest order search form used an invalid `autocomplete`
99
+ value (`username`), and the last name field had no `autocomplete` attribute at
100
+ all. They now use the correct `email` and `family-name` values respectively.
60
101
 
61
- This helps browsers and assistive technology correctly identify the purpose of each field, making autofill and form-filling easier for everyone, including people using screen readers or who have difficulty typing.
102
+ This helps browsers and assistive technology correctly identify the purpose of
103
+ each field, making autofill and form-filling easier for everyone, including
104
+ people using screen readers or who have difficulty typing.
62
105
 
63
- - 405a09d: Fix visual heading text not marked as heading across order status, order details, shipping, returns and product list sections
106
+ - 405a09d: Fix visual heading text not marked as heading across order status,
107
+ order details, shipping, returns and product list sections
64
108
 
65
109
  ## 4.0.0
66
110
 
67
111
  ### Major Changes
68
112
 
69
- - 6a3e582: Add support for Seller Assisted Buying feature that allows store administrators to place orders on behalf of customers. Orders placed by administrators are marked with a visible "Order placed by an administrator" label on the order details page. The feature also integrates with order comments to track admin actions and provide a history of administrative assistance throughout the order lifecycle.
113
+ - 6a3e582: Add support for Seller Assisted Buying feature that allows store
114
+ administrators to place orders on behalf of customers. Orders placed by
115
+ administrators are marked with a visible "Order placed by an administrator"
116
+ label on the order details page. The feature also integrates with order
117
+ comments to track admin actions and provide a history of administrative
118
+ assistance throughout the order lifecycle.
70
119
 
71
120
  ### Minor Changes
72
121
 
73
- - d09caca: Removed the `engines.node` constraint from `package.json`. This package targets browser environments exclusively and does not depend on a specific Node.js runtime version. The package is now built and distributed using Node.js 22 LTS.
122
+ - d09caca: Removed the `engines.node` constraint from `package.json`. This
123
+ package targets browser environments exclusively and does not depend on a
124
+ specific Node.js runtime version. The package is now built and distributed
125
+ using Node.js 22 LTS.
74
126
 
75
127
  ### Patch Changes
76
128
 
@@ -100,37 +152,55 @@
100
152
 
101
153
  ### Major Changes
102
154
 
103
- - 6a3e582: Add support for Seller Assisted Buying feature that allows store administrators to place orders on behalf of customers. Orders placed by administrators are marked with a visible "Order placed by an administrator" label on the order details page. The feature also integrates with order comments to track admin actions and provide a history of administrative assistance throughout the order lifecycle.
155
+ - 6a3e582: Add support for Seller Assisted Buying feature that allows store
156
+ administrators to place orders on behalf of customers. Orders placed by
157
+ administrators are marked with a visible "Order placed by an administrator"
158
+ label on the order details page. The feature also integrates with order
159
+ comments to track admin actions and provide a history of administrative
160
+ assistance throughout the order lifecycle.
104
161
 
105
162
  ### Minor Changes
106
163
 
107
- - d09caca: Removed the `engines.node` constraint from `package.json`. This package targets browser environments exclusively and does not depend on a specific Node.js runtime version. The package is now built and distributed using Node.js 22 LTS.
164
+ - d09caca: Removed the `engines.node` constraint from `package.json`. This
165
+ package targets browser environments exclusively and does not depend on a
166
+ specific Node.js runtime version. The package is now built and distributed
167
+ using Node.js 22 LTS.
108
168
 
109
169
  ## 3.3.0
110
170
 
111
171
  ### Minor Changes
112
172
 
113
173
  - 233a773: Add comments field for authenticated users
114
- - 2d34f43: This branch adds order-level comments from the GraphQL CustomerOrder.comments field and a new OrderComments UI (component + container).
174
+ - 2d34f43: This branch adds order-level comments from the GraphQL
175
+ CustomerOrder.comments field and a new OrderComments UI (component +
176
+ container).
115
177
 
116
178
  ## 3.3.0-beta.0
117
179
 
118
180
  ### Minor Changes
119
181
 
120
182
  - 233a773: Add comments field for authenticated users
121
- - 2d34f43: This branch adds order-level comments from the GraphQL CustomerOrder.comments field and a new OrderComments UI (component + container).
183
+ - 2d34f43: This branch adds order-level comments from the GraphQL
184
+ CustomerOrder.comments field and a new OrderComments UI (component +
185
+ container).
122
186
 
123
187
  ## 3.2.0
124
188
 
125
189
  ### Minor Changes
126
190
 
127
- - b4b4251: Enable GraphQL fragment extension for the CustomerOrder type by exporting GUEST_ORDER_FRAGMENT, allowing merchants to extend order queries with custom fields via overrideGQLOperations.
191
+ - b4b4251: Enable GraphQL fragment extension for the CustomerOrder type by
192
+ exporting GUEST_ORDER_FRAGMENT, allowing merchants to extend order queries
193
+ with custom fields via overrideGQLOperations.
128
194
 
129
195
  ### Patch Changes
130
196
 
131
197
  - 12facdd: Internal sync: backmerge main into develop.
132
- - 5284e7f: Fix order cancellation flow by creating separate CUSTOMER_ORDER_FRAGMENT without token field. This prevents authenticated orders from incorrectly using the guest cancellation flow while maintaining backward compatibility for fragment extensions.
133
- - cf344b1: Add Changesets-based release automation with branch-aware workflows (alpha/beta/stable), PR changeset validation, and contributor helper scripts.
198
+ - 5284e7f: Fix order cancellation flow by creating separate
199
+ CUSTOMER_ORDER_FRAGMENT without token field. This prevents authenticated
200
+ orders from incorrectly using the guest cancellation flow while maintaining
201
+ backward compatibility for fragment extensions.
202
+ - cf344b1: Add Changesets-based release automation with branch-aware workflows
203
+ (alpha/beta/stable), PR changeset validation, and contributor helper scripts.
134
204
  - 6554de1: Bump "@adobe-commerce/elsie" from 1.7.0 to 1.8.0-beta.1
135
205
  - 2a57159: Bump adobe-commerce/elsie from 1.8.0-beta.1 to 1.8.0
136
206
 
@@ -150,15 +220,21 @@
150
220
 
151
221
  ### Patch Changes
152
222
 
153
- - 5284e7f: Fix order cancellation flow by creating separate CUSTOMER_ORDER_FRAGMENT without token field. This prevents authenticated orders from incorrectly using the guest cancellation flow while maintaining backward compatibility for fragment extensions.
223
+ - 5284e7f: Fix order cancellation flow by creating separate
224
+ CUSTOMER_ORDER_FRAGMENT without token field. This prevents authenticated
225
+ orders from incorrectly using the guest cancellation flow while maintaining
226
+ backward compatibility for fragment extensions.
154
227
 
155
228
  ## 3.2.0-beta.0
156
229
 
157
230
  ### Minor Changes
158
231
 
159
- - b4b4251: Enable GraphQL fragment extension for the CustomerOrder type by exporting GUEST_ORDER_FRAGMENT, allowing merchants to extend order queries with custom fields via overrideGQLOperations.
232
+ - b4b4251: Enable GraphQL fragment extension for the CustomerOrder type by
233
+ exporting GUEST_ORDER_FRAGMENT, allowing merchants to extend order queries
234
+ with custom fields via overrideGQLOperations.
160
235
 
161
236
  ### Patch Changes
162
237
 
163
238
  - 12facdd: Internal sync: backmerge main into develop.
164
- - cf344b1: Add Changesets-based release automation with branch-aware workflows (alpha/beta/stable), PR changeset validation, and contributor helper scripts.
239
+ - cf344b1: Add Changesets-based release automation with branch-aware workflows
240
+ (alpha/beta/stable), PR changeset validation, and contributor helper scripts.