efficient-storefront-blocks 0.32.0 → 0.32.2
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 +54 -0
- package/dist/chunks/{PreviewFooter-OIGLH5ZN.js → PreviewFooter-HSKRHXFJ.js} +1 -1
- package/dist/chunks/chunk-5XYF5FZK.js +154 -0
- package/dist/chunks/{render-client-PQUQUDJN.js → render-client-KLKYLHZM.js} +1 -1
- package/dist/index.js +2 -2
- package/dist/links.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-ARXXIF4I.js +0 -154
- /package/dist/chunks/{chunk-ARXXIF4I.js.LEGAL.txt → chunk-5XYF5FZK.js.LEGAL.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,59 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.32.2 — 2026-10-15
|
|
4
|
+
|
|
5
|
+
**A hand-picked Product Grid draws its wheels on the published page** (card
|
|
6
|
+
[FIX] Hand-Picked Grid Draws Its Wheels; plan
|
|
7
|
+
`_desk/plans/2026-10-15-hand-picked-grid.md`, PR 1 of 3). hartesmetal.com's
|
|
8
|
+
homepage grid (slots `754`, `711`, `747`) drew three grey boxes printing the
|
|
9
|
+
codes. The backend had found the wheels and put them on the GRID as
|
|
10
|
+
`props.wheels`; nothing handed them to the slots, and a slot matched its code
|
|
11
|
+
on `slug` alone (`754` is Crossbow's design code, its slug is `crossbow`).
|
|
12
|
+
|
|
13
|
+
- **One rule for a slot, editor and live alike**: `wheelForCode(pool, code)`
|
|
14
|
+
(`components/ProductRef`) — the wheel's `designCode` first, then its `slug`.
|
|
15
|
+
The editor's pool is the site's catalog, as before; the published page's is
|
|
16
|
+
the section's `props.wheels`, handed to the slots by the new
|
|
17
|
+
`SectionWheelsProvider`.
|
|
18
|
+
- **`WheelSummary.designCode`** (optional) in the generated API types — the
|
|
19
|
+
storefront's `openapi.yml` gains the same line in PR 2, which regenerates to
|
|
20
|
+
this file byte for byte. Until the backend sends it (PR 3), a slot holding a
|
|
21
|
+
SLUG draws now and one holding a design code draws once the backend ships.
|
|
22
|
+
- **On a published page, a slot whose code found no wheel draws nothing** (GG,
|
|
23
|
+
2026-10-15) — the backend drops a hidden, deleted or other-site code on
|
|
24
|
+
purpose, and a shopper must not see a box printing it. The editor keeps its
|
|
25
|
+
placeholder box.
|
|
26
|
+
- Guard: `scripts/test-hand-picked-grid-live.tsx`, over the grid exactly as
|
|
27
|
+
production served it (`scripts/fixtures/hartes-us-hand-picked-grid.json`).
|
|
28
|
+
|
|
29
|
+
## 0.32.1 — 2026-10-15
|
|
30
|
+
|
|
31
|
+
**A wheel card is the same card at rest and on hover** (card [FIX] Wheel
|
|
32
|
+
Cards Change On Hover; Lewis on hartesmetal.com/wheels, One-Piece Cast). The
|
|
33
|
+
chip row and the main button were drawn from the design summary at rest and
|
|
34
|
+
from the fetched variants once the pointer arrived, so Patriot went from
|
|
35
|
+
`12×20 · 14×22` and ADD TO BASKET to `20" × 12 · 20" × 12 · 22" × 14 · +1`
|
|
36
|
+
and a dashed SELECT A SIZE that grew the card 2px. Both wheel cards (the
|
|
37
|
+
listing's and the Product Grid's) share the one bottom this changes.
|
|
38
|
+
|
|
39
|
+
- **One chip per SIZE, one format.** The chips are the design's sizes from
|
|
40
|
+
the summary, `20" × 9` (diameter first, the product page's own format,
|
|
41
|
+
`wheelSizeLabel`), each printed once; `+N` counts the sizes left over,
|
|
42
|
+
never variants. Strike reads `20" × 9 · 20" × 10 · 22" × 10 · +1`, at rest
|
|
43
|
+
and on hover. A chip that does not fit a narrow card is left off whole
|
|
44
|
+
(and counted), never cut in half.
|
|
45
|
+
- **The chips are information, not a picker.** A size is sold in several
|
|
46
|
+
bolt patterns and offsets, so a size chip cannot know which wheel to add;
|
|
47
|
+
the old picker added whichever variant came first.
|
|
48
|
+
- **The button, in one line:** "Add to basket" only on a design sold as one
|
|
49
|
+
wheel (one size, one bolt pattern, one offset — `isOneWheelDesign`, read
|
|
50
|
+
from the summary); every other card says "Select a size" and opens the
|
|
51
|
+
product page. Same box in every state. A one-wheel card's button resolves
|
|
52
|
+
its wheel as it mounts, so the Product Grid's button (which nothing armed)
|
|
53
|
+
works too; out of stock it reads "Notify me when back".
|
|
54
|
+
- `sizePairLabel` (`7.5×17`) stays as it was: it is the pre-order key the
|
|
55
|
+
backend parses, not a display label any more.
|
|
56
|
+
|
|
3
57
|
## 0.32.0 — 2026-10-15
|
|
4
58
|
|
|
5
59
|
**The B3 save bar: Publish as the main action, and Preview opens the saved
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{ba as p,l as m}from"./chunk-
|
|
1
|
+
"use client";import{ba as p,l as m}from"./chunk-5XYF5FZK.js";import{Pc as u,Pd as d,jg as c}from"./chunk-QOXKQV6L.js";import"./chunk-GD6ZFQC7.js";import"./chunk-NEQXU52M.js";import{Ga as s,La as a,Ma as f,Qa as g}from"./chunk-IKG5YKP7.js";import"./chunk-VBQY6H55.js";import"./chunk-Y6SLVHK3.js";import{Render as P}from"efficient-easel/render";import{jsx as k}from"react/jsx-runtime";function i({footerBlock:r,rootProps:e,headerSettings:o,siteName:t,legalName:l,foundedYear:n,socialLinks:v}){let I=m({root:{props:{...e??{},kind:d}},content:[r],zones:{}});return k(s.Provider,{value:{logoUrl:o?.logoUrl??null,logoReversed:o?.logoReversed??null,logoInkIsDark:o?.logoInkIsDark??null,siteName:t,legalName:l??null,foundedYear:n??null,socialLinks:v??g},children:k(P,{config:p,data:I})})}import{jsx as h}from"react/jsx-runtime";function F(){let{footerBlock:r,editFooter:e}=c(),{settings:o,websiteName:t}=a();if(!r)return null;let l=o?{logoUrl:o.logoUrl,logoReversed:o.logoReversed??null,logoInkIsDark:o.logoInkIsDark??null}:null;return h("div",{className:"sf-preview-footer-pick",onClick:e?n=>{n.stopPropagation(),e()}:void 0,style:e?{cursor:"pointer"}:void 0,title:e?u("Edit the site footer \u2192"):void 0,children:h(i,{footerBlock:r,headerSettings:l,siteName:t?.trim()||f})})}export{F as default};
|