@propeller-commerce/propeller-v2-react-ui 0.24.0 → 0.26.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 +66 -0
- package/dist/index.cjs +365 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +170 -6
- package/dist/index.d.ts +170 -6
- package/dist/index.js +360 -41
- package/dist/index.js.map +1 -1
- package/dist/pure.cjs +2 -1
- package/dist/pure.cjs.map +1 -1
- package/dist/pure.d.cts +11 -3
- package/dist/pure.d.ts +11 -3
- package/dist/pure.js +2 -1
- package/dist/pure.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,72 @@ once it reaches 1.0. Until then (the `0.x` line) the public API may change
|
|
|
8
8
|
between minor versions; breaking changes are called out below and in
|
|
9
9
|
[MIGRATION.md](./MIGRATION.md).
|
|
10
10
|
|
|
11
|
+
## [0.26.0] - 2026-09-28
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **Price-on-request is now a first-class state.** A product whose
|
|
16
|
+
`priceData.display` is `ON_REQUEST` carries no price the customer may be
|
|
17
|
+
quoted, but `price.gross`/`price.net` are still populated — almost always
|
|
18
|
+
with 0 — so every surface that rendered them unguarded showed a real-looking
|
|
19
|
+
"€ 0,00" beside a working add-to-cart button. `isPriceOnRequest()` (exported)
|
|
20
|
+
detects it, resolving a cluster through its default product, and
|
|
21
|
+
`ProductPrice`, `ProductCard`, `ClusterCard` and `SearchBar` render a
|
|
22
|
+
translatable `priceOnRequest` label instead of an amount.
|
|
23
|
+
|
|
24
|
+
- **`RequestPriceButton` + `usePriceRequest` + `PriceRequestList`** — the
|
|
25
|
+
quote funnel these products need. The button replaces add-to-cart on the PDP;
|
|
26
|
+
the list is a parallel basket in `localStorage`, backed by
|
|
27
|
+
`useSyncExternalStore` so the server snapshot is empty and hydration matches;
|
|
28
|
+
the component renders it as an editable SKU/quantity table with one comment
|
|
29
|
+
field. Deliberately NOT the cart: a quoted product cannot be paid for, and
|
|
30
|
+
mixing the two would put an unpriced line into a payable order.
|
|
31
|
+
|
|
32
|
+
There is no SDK mutation for this, so delivery is the host's, supplied as
|
|
33
|
+
`onSubmit`. Without it the list still works and `submit` reports the omission
|
|
34
|
+
rather than reporting a success that never left the browser.
|
|
35
|
+
|
|
36
|
+
- `ProductInfoProps.onRequestPrice` / `priceRequestAdded`, and
|
|
37
|
+
`QuickOrderMatch.priceOnRequest`.
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- **`ProductPriceProps.price` is now optional.** It is unread when
|
|
42
|
+
`priceOnRequest` renders in its place, and a card for such a product may
|
|
43
|
+
carry no price object at all. Existing callers are unaffected.
|
|
44
|
+
|
|
45
|
+
- **The PDP gates add-to-cart in the WordPress plugin's order**: `orderable`
|
|
46
|
+
first, then the display mode. A non-orderable product gets neither control, a
|
|
47
|
+
quoted one gets the request button, and an anonymous visitor gets the log-in
|
|
48
|
+
action rather than a list they cannot be quoted from.
|
|
49
|
+
|
|
50
|
+
- **Quick order excludes quoted products.** A bulk upload reports the code as
|
|
51
|
+
unresolved instead of adding a line priced at 0; picking one from the
|
|
52
|
+
typeahead clears the row with a notice. Matches the plugin, which drops them
|
|
53
|
+
from quick-order search results server-side.
|
|
54
|
+
|
|
55
|
+
## [0.25.0] - 2026-09-25
|
|
56
|
+
|
|
57
|
+
### Added
|
|
58
|
+
|
|
59
|
+
- `CartOverviewProps.paymethodLabels` — maps a lowercased payment-method code
|
|
60
|
+
to its display name, the same contract `CartPaymethods` and `OrderSummary`
|
|
61
|
+
already use.
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- **The checkout review step printed the raw payment-method code** (e.g.
|
|
66
|
+
"Betaling: ON_ACCOUNT") while the step before it showed the method's name for
|
|
67
|
+
the same selection. `CartOverview` had no way to map the stored code, so it
|
|
68
|
+
was the one place in checkout where the enum leaked to the customer. Pass
|
|
69
|
+
`paymethodLabels` to resolve it; it still falls back to the raw value.
|
|
70
|
+
(PWP-1028)
|
|
71
|
+
|
|
72
|
+
- **The cart line's delete button had no accessible name.** It is icon-only,
|
|
73
|
+
with no `aria-label`, `title` or visually-hidden text, so assistive
|
|
74
|
+
technology announced it as just "button". It now carries both, via a
|
|
75
|
+
`deleteLabel` label key. (PWP-1030)
|
|
76
|
+
|
|
11
77
|
## [0.24.0] - 2026-09-25
|
|
12
78
|
|
|
13
79
|
### Added
|