efficient-storefront-blocks 0.32.2 → 0.32.4
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 +48 -0
- package/dist/chunks/{PreviewFooter-HSKRHXFJ.js → PreviewFooter-DNWYCTDR.js} +1 -1
- package/dist/chunks/chunk-QMI6XRAE.js +154 -0
- package/dist/chunks/{render-client-KLKYLHZM.js → render-client-P22XAD47.js} +1 -1
- package/dist/index.js +2 -2
- package/dist/words.d.ts +1 -0
- package/dist/words.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-5XYF5FZK.js +0 -154
- /package/dist/chunks/{chunk-5XYF5FZK.js.LEGAL.txt → chunk-QMI6XRAE.js.LEGAL.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.32.4 — 2026-10-15
|
|
4
|
+
|
|
5
|
+
- **A wheel page fits a phone in "Select by specs".** On a 390px screen the
|
|
6
|
+
buy column grew to 406px once the shopper picked a size that is out of
|
|
7
|
+
stock: the "Notify me when back" row could not get narrower than its email
|
|
8
|
+
field's built-in width (about 20 characters) plus the button. The field is
|
|
9
|
+
now `w-0` (it still fills the row), and below 1100px the hero collapses to
|
|
10
|
+
`minmax(0,1fr)`, as the stacked layout already did, so one wide row can no
|
|
11
|
+
longer widen the column. Nothing moves on a wider screen.
|
|
12
|
+
- **A long product name fits a phone.** On hartesmetal.com/wheels/stormbreaker
|
|
13
|
+
at 390px the name "STORMBREAKER", at the site's 60px Heading size, was 454px
|
|
14
|
+
wide and pushed the hero to 474px. The block around the name is now an
|
|
15
|
+
inline-size query container, and the name's size is capped at
|
|
16
|
+
`100cqi / (longest word × 0.72em)` — the header wordmark's fit, applied to
|
|
17
|
+
the one word that cannot wrap. Measured after: 40.5px, 306px wide, the page
|
|
18
|
+
390px. A name that already fits (any name on a wide screen, "Strike" on a
|
|
19
|
+
phone) keeps the site's size.
|
|
20
|
+
|
|
21
|
+
## 0.32.3 — 2026-10-15
|
|
22
|
+
|
|
23
|
+
**Every lightbox opens above the header, and ✕ closes it** (card [ADD] INOVIT
|
|
24
|
+
And Hartes Metal US Websites). On hartesmetal.com's wheel pages the owner
|
|
25
|
+
photos ("Out there.", a Gallery B grid) opened a lightbox whose ✕ sat under the
|
|
26
|
+
fixed site header: pressing it hit the header's logo and opened the homepage,
|
|
27
|
+
at 1440 and on a 390 phone. The dialog said `z-[100]` and the header `z-50`,
|
|
28
|
+
but the dialog was drawn inside its section, which is `relative z-[2]`, and a
|
|
29
|
+
z-index only orders things inside one stacking context.
|
|
30
|
+
|
|
31
|
+
- **One lightbox frame**, `components/Lightbox` (+ `LightboxClose`). The three
|
|
32
|
+
lightboxes each had their own copy of the overlay: the wheel page's image
|
|
33
|
+
viewer (`ProductLightbox`), /gallery's (`GalleryShowcase`) and the
|
|
34
|
+
owner-photo grid's (`GalleryItem`). Each keeps its own content and look; the
|
|
35
|
+
frame now owns what they must do alike:
|
|
36
|
+
- drawn through a portal at the end of the themed `<main>`, out of every
|
|
37
|
+
section, and carrying its section's theme with it (on `<body>` the
|
|
38
|
+
site's accent and faces would be lost);
|
|
39
|
+
- its layer is the named token `--sf-layer-lightbox` (app/globals.css, a
|
|
40
|
+
step of 100; the value is the 100 they wrote by hand, so nothing
|
|
41
|
+
re-orders);
|
|
42
|
+
- ✕, Esc and a click on the backdrop close it; ◁ / ▷ keys flip photos;
|
|
43
|
+
- focus moves in, Tab cannot leave, and focus goes back to the tile that
|
|
44
|
+
opened it (none of the three did this before);
|
|
45
|
+
- the page behind does not scroll.
|
|
46
|
+
- `useLightbox` is state only now; its Esc and scroll lock moved into the frame.
|
|
47
|
+
- `react-dom` is a declared peer of the source (the npm package already had it).
|
|
48
|
+
- Guard: `scripts/test-lightbox-above-the-header.tsx` mounts all three inside a
|
|
49
|
+
`z-index: 2` section beside a fixed `z-index: 50` header.
|
|
50
|
+
|
|
3
51
|
## 0.32.2 — 2026-10-15
|
|
4
52
|
|
|
5
53
|
**A hand-picked Product Grid draws its wheels on the published page** (card
|
|
@@ -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-QMI6XRAE.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};
|