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