@propeller-commerce/propeller-v2-react-ui 0.27.0 → 0.28.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 +56 -0
- package/dist/index.cjs +132 -54
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -3
- package/dist/index.d.ts +22 -3
- package/dist/index.js +132 -56
- package/dist/index.js.map +1 -1
- package/dist/pure.cjs +23 -4
- package/dist/pure.cjs.map +1 -1
- package/dist/pure.d.cts +18 -3
- package/dist/pure.d.ts +18 -3
- package/dist/pure.js +23 -5
- package/dist/pure.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +6 -3
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,62 @@ 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.28.0] - 2026-10-02
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **`imgComponent` on `<PropellerDepsProvider>` — one setting routes every
|
|
16
|
+
image through the host’s image component.** Components rendered a bare
|
|
17
|
+
`<img src="https://media.…">`, so catalog images were fetched straight from
|
|
18
|
+
the media CDN. That CDN sends no `X-Robots-Tag` and serves no `robots.txt`,
|
|
19
|
+
so those images sat outside the storefront’s crawler directives and got none
|
|
20
|
+
of the host framework’s image optimisation. The existing `imageComponent`
|
|
21
|
+
slot could not close this: it takes a `product`/`cluster` and resolves the
|
|
22
|
+
URL itself, so it only fitted five surfaces, and the other nineteen image
|
|
23
|
+
sites had already resolved a URL string by render time. Set `imgComponent`
|
|
24
|
+
once on the provider and images across the package route through it,
|
|
25
|
+
including components added later. Optional — omitting it keeps the previous
|
|
26
|
+
markup. (PWP-1001)
|
|
27
|
+
- **`<PropellerImg>` and `useImgComponent()` are exported.** Hosts composing
|
|
28
|
+
their own cards get the same seam; `<PropellerImg>` is also on the `/pure`
|
|
29
|
+
entry for Server Components.
|
|
30
|
+
- **`OrderItemCard` accepts `imgComponent` as a prop.** It is `@rsc-safe` and
|
|
31
|
+
reads no context, so the provider cannot reach it — same direct-prop
|
|
32
|
+
convention as its existing `priceComponent` / `stockComponent`.
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- **Nineteen image sites now render `<PropellerImg>`** across `ProductCard`,
|
|
37
|
+
`ClusterCard`, `ProductGallery`, `CartItem`, `OrderItemCard`, `SearchBar`,
|
|
38
|
+
`ProductBundles`, `MachineCard`, `AddToCart`, `QuickOrder`, `ItemsOverview`,
|
|
39
|
+
`FavoriteListItem`, `FavoriteListDetails`, `ClusterOptions`,
|
|
40
|
+
`ClusterConfigurator`, `CartBonusItems` and `DefaultProductImage`. Markup is
|
|
41
|
+
unchanged when no component is injected.
|
|
42
|
+
- **Carrier and payment-provider logos stay plain `<img>`.** Their domains sit
|
|
43
|
+
outside the host’s image allowlist, so routing them through a framework
|
|
44
|
+
image component would stop them loading. They are catalog-external and not
|
|
45
|
+
crawlable.
|
|
46
|
+
- **`npm run check:img` fails the build on a raw `<img>`.** The seam only holds
|
|
47
|
+
if new components use it, and a raw `<img>` opts a surface out silently.
|
|
48
|
+
Wired into `validate` and `prepublishOnly`.
|
|
49
|
+
|
|
50
|
+
### Fixed
|
|
51
|
+
|
|
52
|
+
- **The "no image" placeholder was two different icons.** Cards, favourites and
|
|
53
|
+
`DefaultProductImage` drew one glyph; cart rows, the cart drawer, bundles, the
|
|
54
|
+
add-to-cart modal and the checkout overview drew another, at a heavier stroke
|
|
55
|
+
weight — so the same missing-image product looked like two different states
|
|
56
|
+
depending on which surface showed it. All of them now use the card icon at a
|
|
57
|
+
consistent stroke weight. The machine card keeps its own glyph, which is
|
|
58
|
+
deliberate.
|
|
59
|
+
- **The cart drawer’s image box did not centre its contents.** It overrides
|
|
60
|
+
`CartItem.Image`’s class, and the override dropped the flex centring, so the
|
|
61
|
+
placeholder sat top-left at its natural size instead of filling the box.
|
|
62
|
+
- **Placeholder icons were exposed to screen readers.** They carry no
|
|
63
|
+
information the row does not already state in text, so they now set
|
|
64
|
+
`aria-hidden`, matching what `DefaultProductImage` already did.
|
|
65
|
+
---
|
|
66
|
+
|
|
11
67
|
## [0.27.0] - 2026-09-28
|
|
12
68
|
|
|
13
69
|
### Fixed
|