efficient-storefront-blocks 0.32.6 → 0.33.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,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.33.0 — 2026-10-16
4
+
5
+ **A close-up row draws its eyebrow, and no box behind the picture** (card
6
+ [ADD] Close-Up Eyebrow And Paragraph; plan
7
+ `_desk/plans/2026-10-15-close-up-words.md`, PR 2 of 5). The wheel page's
8
+ close-up rows (Surface, Cap, Back) now carry an eyebrow, a title and a 60-90
9
+ word paragraph, written on the rendering in the ERP (Lewis, 2026-10-15).
10
+
11
+ - **`DetailShot.eyebrow`** (optional) in the generated API types, as
12
+ efficient-backend sends it on each `detailShots` row (be#3285). The
13
+ storefront's `openapi.yml` gains the same line when it pins this release.
14
+ - **`DynamicDetailRows` maps it** to the row's eyebrow, above the title. A row
15
+ with none (an older backend, or none written) draws no eyebrow, as before.
16
+ - **`DetailRows` draws no surface box behind a picture** (`showBackground` off
17
+ when the row has an image). This is every Alternating Feature Rows section,
18
+ story rows included. A row with no picture keeps the box, so the editor's
19
+ empty rows stay visible.
20
+ - **No close-ups for the shopper's lug count? The closest set stands in**
21
+ (Lewis, 2026-10-15). Hawkish, Mjolnir, Strike and Whipsaw were rendered at 8
22
+ lug only, and a 6-lug shopper saw no section. Now they see the 8-lug rows, and
23
+ each row drawn for a lug count says "Shown on the 8 lug wheel. Your 6 lug wheel
24
+ may look different." A tie takes the larger count. When the right render is
25
+ added the notice goes by itself. A row drawn for any car never carries it, and
26
+ when some rows match the car (a cap tagged 5, 6 and 8) a missing back face is
27
+ still left out rather than borrowed. New exports in `lib/wheels/detail-shots`:
28
+ `pickDetailShots` (rows + `shownFor`) and `detailShotTag`.
29
+ - **One row per close-up, not per size.** The render sync stores a close-up for
30
+ every size (`hawkish.2010…`, `.2090…`, `.2212…detail.back`), and every size of
31
+ a finish's shot carries the same words, so a US wheel page would draw each
32
+ close-up three times. A row with the same words and lug set as an earlier one
33
+ is dropped; the first in media order stays.
34
+ - Guards: `scripts/test-detail-shots-eyebrow.tsx`; `scripts/test-detail-shots.ts`
35
+ gains the fallback and one-row-per-close-up cases.
36
+
3
37
  ## 0.32.6 — 2026-10-16
4
38
 
5
39
  **Each site's car picker lists its own market's cars** (card [FIX] Car Picker
@@ -1 +1 @@
1
- "use client";import{ba as p,l as m}from"./chunk-LCA4D7H4.js";import{Pc as u,Pd as d,jg as c}from"./chunk-QOXKQV6L.js";import"./chunk-GW3NVLTK.js";import"./chunk-5FHN3KMU.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};
1
+ "use client";import{ba as p,l as m}from"./chunk-54AB3OZX.js";import{Pc as u,Pd as d,jg as c}from"./chunk-QOXKQV6L.js";import"./chunk-GW3NVLTK.js";import"./chunk-5FHN3KMU.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};