@actuate-media/sections-react 0.3.1 → 0.4.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 +23 -0
- package/dist/Sections.d.ts.map +1 -1
- package/dist/Sections.js +11 -2
- package/dist/Sections.js.map +1 -1
- package/dist/components/defaults.d.ts.map +1 -1
- package/dist/components/defaults.js +21 -4
- package/dist/components/defaults.js.map +1 -1
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +5 -2
- package/dist/image.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lcp.d.ts +30 -0
- package/dist/lcp.d.ts.map +1 -0
- package/dist/lcp.js +34 -0
- package/dist/lcp.js.map +1 -0
- package/dist/sizes.d.ts +30 -0
- package/dist/sizes.d.ts.map +1 -0
- package/dist/sizes.js +34 -0
- package/dist/sizes.js.map +1 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @actuate-media/sections-react
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8a64a6e: Core Web Vitals: enforce the single-priority-image (LCP) policy and ship responsive `sizes` by default.
|
|
8
|
+
|
|
9
|
+
The section renderer now guarantees the key LCP/CLS image rules automatically, so an editor (or AI author) can't ship a slow page:
|
|
10
|
+
- **One priority image per page.** A new `LcpController` (exported `createLcpController`) grants the eager, `fetchpriority="high"` slot to the first image on the page; every other image lazy-loads. This replaces `PostHeader`'s hard-coded `priority` (which could collide with a section image). Pass one shared controller via `options.lcp` to both `PostHeader` and `Sections` to share the budget.
|
|
11
|
+
- **Responsive `sizes` everywhere.** Built-in renderers emit contextual `sizes` (full-width header, half-width feature, column-aware gallery via the exported `gallerySizes`) so mobile stops over-downloading the desktop image. `defaultRenderImage` now forwards `sizes` and sets `fetchPriority`.
|
|
12
|
+
- **No raw `<img>`.** The author-bio avatar now renders through `renderImage` (dimensioned, lazy) like every other image.
|
|
13
|
+
- `PostContext` gains `featuredImageWidth`/`featuredImageHeight` so the post header featured image can be dimensioned (CLS).
|
|
14
|
+
|
|
15
|
+
`create-actuate-cms`: the generated catch-all creates a per-request shared `LcpController` for the post header + body and forwards `sizes`/`fetchPriority` in its `next/image` fallback.
|
|
16
|
+
|
|
17
|
+
Note: `ResolvedRenderOptions` now includes a required `lcp` field — only affects code that constructs that internal type directly; consumers passing `RenderOptions` are unaffected (`lcp` is optional there).
|
|
18
|
+
|
|
19
|
+
## 0.3.2
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Updated dependencies [2fa4ebb]
|
|
24
|
+
- @actuate-media/cms-core@0.72.1
|
|
25
|
+
|
|
3
26
|
## 0.3.1
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
package/dist/Sections.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sections.d.ts","sourceRoot":"","sources":["../src/Sections.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"Sections.d.ts","sourceRoot":"","sources":["../src/Sections.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAKjG,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EAEb,kBAAkB,EACnB,MAAM,YAAY,CAAA;AA4BnB,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAA;IAC9B,kDAAkD;IAClD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,aAAa,GAAG,SAAS,CA2BxF;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,gBAAgB,CAAA;IACxB,GAAG,EAAE,WAAW,CAAA;IAChB,qEAAqE;IACrE,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,eAAe,GAAG,SAAS,CA2E/E"}
|
package/dist/Sections.js
CHANGED
|
@@ -2,6 +2,8 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { computeReadingTime } from '@actuate-media/cms-core/page-sections';
|
|
3
3
|
import { getSectionRenderer } from './registry.js';
|
|
4
4
|
import { defaultRenderImage } from './image.js';
|
|
5
|
+
import { createLcpController } from './lcp.js';
|
|
6
|
+
import { CONTENT_WIDTH_SIZES, FULL_WIDTH_SIZES } from './sizes.js';
|
|
5
7
|
import { backgroundClass, formatHeaderDate, paddingClass } from './utils.js';
|
|
6
8
|
const identity = (html) => html;
|
|
7
9
|
function resolveOptions(options) {
|
|
@@ -9,6 +11,7 @@ function resolveOptions(options) {
|
|
|
9
11
|
sanitizeHtml: options?.sanitizeHtml ?? identity,
|
|
10
12
|
baseUrl: options?.baseUrl ?? '',
|
|
11
13
|
renderImage: options?.renderImage ?? defaultRenderImage,
|
|
14
|
+
lcp: options?.lcp ?? createLcpController(),
|
|
12
15
|
};
|
|
13
16
|
}
|
|
14
17
|
/** Dev-only: warn at most once per unknown section type. */
|
|
@@ -56,14 +59,20 @@ export function PostHeader({ config, ctx, options }) {
|
|
|
56
59
|
return (_jsxs("header", { className: "relative", children: [resolved.renderImage({
|
|
57
60
|
src: ctx.featuredImageUrl,
|
|
58
61
|
alt: '',
|
|
59
|
-
|
|
62
|
+
width: ctx.featuredImageWidth,
|
|
63
|
+
height: ctx.featuredImageHeight,
|
|
64
|
+
priority: resolved.lcp.claim(),
|
|
65
|
+
sizes: FULL_WIDTH_SIZES,
|
|
60
66
|
className: 'h-[360px] w-full object-cover sm:h-[440px]',
|
|
61
67
|
}), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/70 to-black/10", "aria-hidden": true }), _jsx("div", { className: "absolute inset-x-0 bottom-0 px-6 pb-10", children: _jsxs("div", { className: `mx-auto flex max-w-3xl flex-col ${align}`, children: [_jsx("h1", { className: "text-3xl font-bold tracking-tight text-white sm:text-5xl", children: title }), config.showExcerpt && ctx.excerpt && (_jsx("p", { className: "mt-3 max-w-2xl text-lg text-white/90", children: ctx.excerpt })), meta] }) })] }));
|
|
62
68
|
}
|
|
63
69
|
return (_jsxs("header", { className: "border-b border-zinc-100 bg-zinc-50 py-16", children: [_jsxs("div", { className: `mx-auto flex max-w-3xl flex-col px-6 ${align}`, children: [_jsx("h1", { className: "text-4xl font-bold tracking-tight text-zinc-900 sm:text-5xl", children: title }), config.showExcerpt && ctx.excerpt && (_jsx("p", { className: `mt-4 max-w-2xl text-lg text-zinc-600 ${centered ? 'mx-auto' : ''}`, children: ctx.excerpt })), meta] }), config.showFeaturedImage && ctx.featuredImageUrl && (_jsx("div", { className: "mx-auto mt-8 max-w-4xl px-6", children: resolved.renderImage({
|
|
64
70
|
src: ctx.featuredImageUrl,
|
|
65
71
|
alt: title,
|
|
66
|
-
|
|
72
|
+
width: ctx.featuredImageWidth,
|
|
73
|
+
height: ctx.featuredImageHeight,
|
|
74
|
+
priority: resolved.lcp.claim(),
|
|
75
|
+
sizes: CONTENT_WIDTH_SIZES,
|
|
67
76
|
className: 'aspect-video w-full rounded-xl object-cover shadow-sm',
|
|
68
77
|
}) }))] }));
|
|
69
78
|
}
|
package/dist/Sections.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sections.js","sourceRoot":"","sources":["../src/Sections.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,kBAAkB,EAAyB,MAAM,uCAAuC,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"Sections.js","sourceRoot":"","sources":["../src/Sections.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/components/defaults.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAwB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/components/defaults.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAwB,MAAM,aAAa,CAAA;AAM5F,eAAO,MAAM,WAAW,EAAE,eA4BzB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,eAWzB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,eAsC5B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,eAuB1B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,eAkBxB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,eAqBhC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,eAe1B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,eAqC9B,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,eA2BjC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,eAqC5B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,eAqBzB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAYvC,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ActuateForm } from '../ActuateForm.js';
|
|
3
3
|
import { Button } from '../primitives.js';
|
|
4
|
+
import { FEATURE_SIZES, gallerySizes } from '../sizes.js';
|
|
4
5
|
import { bool, isDark, num, rows, str } from '../utils.js';
|
|
5
6
|
export const HeroSection = ({ section }) => {
|
|
6
7
|
const c = section.content;
|
|
@@ -21,6 +22,8 @@ export const FeatureSection = ({ section, options, }) => {
|
|
|
21
22
|
alt: str(c, 'imageAlt'),
|
|
22
23
|
width: num(c, 'imageWidth'),
|
|
23
24
|
height: num(c, 'imageHeight'),
|
|
25
|
+
priority: options.lcp.claim(),
|
|
26
|
+
sizes: FEATURE_SIZES,
|
|
24
27
|
className: 'w-full rounded-xl object-cover shadow-sm',
|
|
25
28
|
})) : (_jsx("div", { className: "aspect-video w-full rounded-xl bg-zinc-100", "aria-hidden": true })) })] }));
|
|
26
29
|
};
|
|
@@ -50,12 +53,20 @@ export const QuoteSection = ({ section }) => {
|
|
|
50
53
|
const c = section.content;
|
|
51
54
|
return (_jsxs("figure", { className: "mx-auto max-w-3xl px-6 text-center", children: [_jsxs("blockquote", { className: "text-2xl font-medium text-zinc-900 sm:text-3xl", children: ["\u201C", str(c, 'quote'), "\u201D"] }), (str(c, 'attribution') || str(c, 'role')) && (_jsxs("figcaption", { className: "mt-4 text-sm text-zinc-500", children: [str(c, 'attribution'), str(c, 'role') && _jsxs("span", { className: "opacity-70", children: [" \u2014 ", str(c, 'role')] })] }))] }));
|
|
52
55
|
};
|
|
53
|
-
export const AuthorBioSection = ({ section, ctx, }) => {
|
|
56
|
+
export const AuthorBioSection = ({ section, ctx, options, }) => {
|
|
54
57
|
const c = section.content;
|
|
55
58
|
const author = ctx?.author;
|
|
56
|
-
return (_jsxs("div", { className: "mx-auto max-w-3xl px-6", children: [str(c, 'heading') && (_jsx("h2", { className: "mb-4 text-sm font-semibold tracking-wide text-zinc-500 uppercase", children: str(c, 'heading') })), _jsxs("div", { className: "flex items-center gap-4", children: [bool(c, 'showAvatar', true) && (_jsx("div", { className: "h-14 w-14 shrink-0 overflow-hidden rounded-full bg-zinc-200", children: author?.avatarUrl &&
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
return (_jsxs("div", { className: "mx-auto max-w-3xl px-6", children: [str(c, 'heading') && (_jsx("h2", { className: "mb-4 text-sm font-semibold tracking-wide text-zinc-500 uppercase", children: str(c, 'heading') })), _jsxs("div", { className: "flex items-center gap-4", children: [bool(c, 'showAvatar', true) && (_jsx("div", { className: "h-14 w-14 shrink-0 overflow-hidden rounded-full bg-zinc-200", children: author?.avatarUrl &&
|
|
60
|
+
// Route the avatar through the image renderer (dimensioned, lazy)
|
|
61
|
+
// so it benefits from next/image + never ships a raw <img>.
|
|
62
|
+
options.renderImage({
|
|
63
|
+
src: author.avatarUrl,
|
|
64
|
+
alt: author.name ?? '',
|
|
65
|
+
width: 56,
|
|
66
|
+
height: 56,
|
|
67
|
+
sizes: '56px',
|
|
68
|
+
className: 'h-full w-full object-cover',
|
|
69
|
+
}) })), _jsxs("div", { children: [_jsx("p", { className: "font-medium text-zinc-900", children: author?.name ?? 'Staff Writer' }), author?.bio && _jsx("p", { className: "mt-1 text-sm text-zinc-600", children: author.bio })] })] })] }));
|
|
59
70
|
};
|
|
60
71
|
export const RelatedPostsSection = ({ section, ctx, }) => {
|
|
61
72
|
const c = section.content;
|
|
@@ -66,12 +77,18 @@ export const RelatedPostsSection = ({ section, ctx, }) => {
|
|
|
66
77
|
export const GallerySection = ({ section, options, }) => {
|
|
67
78
|
const c = section.content;
|
|
68
79
|
const cols = str(c, 'columns', '3');
|
|
80
|
+
const colCount = cols === '2' ? 2 : cols === '4' ? 4 : 3;
|
|
69
81
|
const colClass = cols === '2' ? 'sm:grid-cols-2' : cols === '4' ? 'sm:grid-cols-4' : 'sm:grid-cols-3';
|
|
82
|
+
const imgSizes = gallerySizes(colCount);
|
|
70
83
|
return (_jsxs("div", { className: "mx-auto max-w-5xl px-6", children: [str(c, 'heading') && (_jsx("h2", { className: "mb-6 text-2xl font-bold tracking-tight", children: str(c, 'heading') })), _jsx("div", { className: `grid grid-cols-1 gap-4 ${colClass}`, children: rows(c, 'images').map((img, i) => (_jsxs("figure", { children: [options.renderImage({
|
|
71
84
|
src: str(img, 'url'),
|
|
72
85
|
alt: str(img, 'alt'),
|
|
73
86
|
width: num(img, 'width'),
|
|
74
87
|
height: num(img, 'height'),
|
|
88
|
+
// Only the first gallery image can claim the page's priority slot;
|
|
89
|
+
// the rest lazy-load so they never compete with the LCP image.
|
|
90
|
+
priority: i === 0 ? options.lcp.claim() : false,
|
|
91
|
+
sizes: imgSizes,
|
|
75
92
|
className: 'aspect-square w-full rounded-lg object-cover',
|
|
76
93
|
}), str(img, 'caption') && (_jsx("figcaption", { className: "mt-1 text-xs text-zinc-500", children: str(img, 'caption') }))] }, i))) })] }));
|
|
77
94
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/components/defaults.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAoB,CAAC,EAAE,OAAO,EAAwB,EAAa,EAAE;IAC3F,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aAChD,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CACpB,YAAG,SAAS,EAAC,6DAA6D,YACvE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAChB,CACL,EACD,aAAI,SAAS,EAAC,+CAA+C,YAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAM,EACrF,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CACjB,YAAG,SAAS,EAAC,2CAA2C,YAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAK,CAC9E,EACD,eAAK,SAAS,EAAC,uDAAuD,aACpE,KAAC,MAAM,IACL,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EACnC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAChC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GACjC,EACF,KAAC,MAAM,IACL,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,EACrC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAClC,IAAI,EAAC,OAAO,GACZ,IACE,IACF,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAoB,CAAC,EAAE,OAAO,EAAwB,EAAa,EAAE;IAC3F,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAA;IAC5F,OAAO,CACL,eAAK,SAAS,EAAE,kBAAkB,KAAK,EAAE,aACvC,aAAI,SAAS,EAAC,mCAAmC,YAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAM,EACzE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CACjB,YAAG,SAAS,EAAC,6CAA6C,YAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAK,CAChF,IACG,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAoB,CAAC,EAC9C,OAAO,EACP,OAAO,GACc,EAAa,EAAE;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAC9B,OAAO,CACL,eAAK,SAAS,EAAC,gEAAgE,aAC7E,eAAK,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aACrC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAClB,YAAG,SAAS,EAAC,kEAAkE,YAC5E,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GACd,CACL,EACD,aAAI,SAAS,EAAC,mCAAmC,YAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAM,EACzE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,YAAG,SAAS,EAAC,yBAAyB,YAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAK,EAC9E,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,MAAM,IAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,GAAI,GAC/D,IACF,EACN,cAAK,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YACrC,GAAG,CAAC,CAAC,CAAC,CACL,OAAO,CAAC,WAAW,CAAC;oBAClB,GAAG,EAAE,GAAG;oBACR,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;oBACvB,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;oBAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;oBAC7B,SAAS,EAAE,0CAA0C;iBACtD,CAAC,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,4CAA4C,wBAAe,CAC3E,GACG,IACF,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAoB,CAAC,EAAE,OAAO,EAAwB,EAAa,EAAE;IAC5F,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aAChD,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CACpB,aAAI,SAAS,EAAC,mCAAmC,YAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAM,CAC3E,EACA,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CACjB,YAAG,SAAS,EAAC,2CAA2C,YAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAK,CAC9E,EACD,aAAI,SAAS,EAAC,6CAA6C,YACxD,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAChC,0BACE,aAAI,SAAS,EAAC,oCAAoC,YAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAM,EAC3E,aAAI,SAAS,EAAC,qCAAqC,YAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAM,EAC3E,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,CAC1B,aAAI,SAAS,EAAC,yBAAyB,YAAE,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,GAAM,CACvE,KALO,CAAC,CAML,CACP,CAAC,GACC,IACD,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAoB,CAAC,EAAE,OAAO,EAAwB,EAAa,EAAE;IAC1F,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aACjD,aAAI,SAAS,EAAC,mCAAmC,YAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAM,EACzE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CACjB,YAAG,SAAS,EAAC,0CAA0C,YAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAK,CAC7E,EACD,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,MAAM,IACL,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,EACzB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GACjC,GACE,IACF,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAoB,CAAC,EAClD,OAAO,EACP,GAAG,EACH,OAAO,GACc,EAAa,EAAE;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;IAC9E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,cAAK,SAAS,EAAE,WAAW,KAAK,4BAA4B,qCAA4B,CAAA;IACjG,CAAC;IACD,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC1C,OAAO,CACL,cACE,SAAS,EAAE,4BAA4B,KAAK,OAAO,EACnD,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GACzC,CACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAoB,CAAC,EAAE,OAAO,EAAwB,EAAa,EAAE;IAC5F,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,OAAO,CACL,kBAAQ,SAAS,EAAC,oCAAoC,aACpD,sBAAY,SAAS,EAAC,gDAAgD,uBAC5D,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,cACZ,EACZ,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAC5C,sBAAY,SAAS,EAAC,4BAA4B,aAC/C,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EACrB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,gBAAM,SAAS,EAAC,YAAY,yBAAK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAQ,IAC/D,CACd,IACM,CACV,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAoB,CAAC,EAChD,OAAO,EACP,GAAG,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/components/defaults.tsx"],"names":[],"mappings":"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"}
|
package/dist/image.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEtF,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEtF,eAAO,MAAM,kBAAkB,EAAE,WAyBhC,CAAA;AAED,oEAAoE;AACpE,wBAAgB,GAAG,CAAC,EAClB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG;IAAE,OAAO,EAAE,qBAAqB,CAAA;CAAE,GAAG,SAAS,CAEnE"}
|
package/dist/image.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export const defaultRenderImage = ({ src, alt, width, height, className, priority, }) => {
|
|
2
|
+
export const defaultRenderImage = ({ src, alt, width, height, className, priority, sizes, }) => {
|
|
3
3
|
return (
|
|
4
4
|
// eslint-disable-next-line @next/next/no-img-element
|
|
5
|
-
_jsx("img", { src: src, alt: alt, width: typeof width === 'number' ? width : undefined, height: typeof height === 'number' ? height : undefined, loading: priority ? 'eager' : 'lazy',
|
|
5
|
+
_jsx("img", { src: src, alt: alt, width: typeof width === 'number' ? width : undefined, height: typeof height === 'number' ? height : undefined, loading: priority ? 'eager' : 'lazy',
|
|
6
|
+
// The LCP image hints high priority; everything else defers so it never
|
|
7
|
+
// steals bandwidth from the largest contentful paint.
|
|
8
|
+
fetchPriority: priority ? 'high' : undefined, decoding: "async", sizes: sizes, className: className }));
|
|
6
9
|
};
|
|
7
10
|
/** Render an image through the resolved options' image renderer. */
|
|
8
11
|
export function Img({ options, ...props }) {
|
package/dist/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.tsx"],"names":[],"mappings":";AAYA,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,EAC9C,GAAG,EACH,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.tsx"],"names":[],"mappings":";AAYA,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,EAC9C,GAAG,EACH,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,GACY,EAAa,EAAE;IAChC,OAAO;IACL,qDAAqD;IACrD,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACpD,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACvD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;QACpC,wEAAwE;QACxE,sDAAsD;QACtD,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC5C,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;AACH,CAAC,CAAA;AAED,oEAAoE;AACpE,MAAM,UAAU,GAAG,CAAC,EAClB,OAAO,EACP,GAAG,KAAK,EAC8C;IACtD,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -39,5 +39,8 @@ export { coercePublicForm, fieldControl, htmlInputType, initialValues, firstMiss
|
|
|
39
39
|
export type { PublicForm, PublicFormField, FieldControl, SubmitBodyArgs } from './forms.js';
|
|
40
40
|
export { Button } from './primitives.js';
|
|
41
41
|
export { defaultRenderImage, Img } from './image.js';
|
|
42
|
+
export { createLcpController } from './lcp.js';
|
|
43
|
+
export type { LcpController } from './lcp.js';
|
|
44
|
+
export { FULL_WIDTH_SIZES, CONTENT_WIDTH_SIZES, FEATURE_SIZES, gallerySizes } from './sizes.js';
|
|
42
45
|
export type { PublicSection, PostContext, RenderOptions, ResolvedRenderOptions, RenderImage, RenderImageProps, SectionRenderer, SectionRendererProps, SectionRendererMap, } from './types.js';
|
|
43
46
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACpD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEnE,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE7D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3F,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACpD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEnE,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE7D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3F,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE/F,YAAY,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -35,4 +35,6 @@ export { SiteNav } from './SiteNav.js';
|
|
|
35
35
|
export { coercePublicForm, fieldControl, htmlInputType, initialValues, firstMissingRequired, buildSubmitBody, } from './forms.js';
|
|
36
36
|
export { Button } from './primitives.js';
|
|
37
37
|
export { defaultRenderImage, Img } from './image.js';
|
|
38
|
+
export { createLcpController } from './lcp.js';
|
|
39
|
+
export { FULL_WIDTH_SIZES, CONTENT_WIDTH_SIZES, FEATURE_SIZES, gallerySizes } from './sizes.js';
|
|
38
40
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAGpD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAGpD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAG9C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/lcp.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LCP (Largest Contentful Paint) coordination for the section renderer.
|
|
3
|
+
*
|
|
4
|
+
* Core Web Vitals best practice: exactly ONE image per page should be eagerly
|
|
5
|
+
* loaded with `fetchpriority="high"` — the Largest Contentful Paint candidate,
|
|
6
|
+
* almost always the first image in the document. Every other image must lazy-
|
|
7
|
+
* load so it never competes with the LCP resource for bandwidth.
|
|
8
|
+
*
|
|
9
|
+
* The renderer can't know which image is "first" without coordinating across
|
|
10
|
+
* independent renderers (`PostHeader` + each section). An {@link LcpController}
|
|
11
|
+
* is a tiny single-claim allocator: the first renderer to call `claim()` wins
|
|
12
|
+
* the page's one priority slot; everyone else gets `false` and lazy-loads.
|
|
13
|
+
*
|
|
14
|
+
* Pass ONE controller to both `PostHeader` and `Sections` (via `options.lcp`)
|
|
15
|
+
* so a post's featured image and its body sections share a single budget. When
|
|
16
|
+
* omitted, each component creates its own — correct for the common case of
|
|
17
|
+
* rendering only one of them.
|
|
18
|
+
*/
|
|
19
|
+
export interface LcpController {
|
|
20
|
+
/**
|
|
21
|
+
* Returns `true` exactly once — for the page's single LCP (priority) image —
|
|
22
|
+
* and `false` for every subsequent call. Safe to call during render.
|
|
23
|
+
*/
|
|
24
|
+
claim(): boolean;
|
|
25
|
+
/** True once the priority slot has been claimed. */
|
|
26
|
+
readonly claimed: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Create a fresh single-claim LCP controller (one per rendered page). */
|
|
29
|
+
export declare function createLcpController(): LcpController;
|
|
30
|
+
//# sourceMappingURL=lcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lcp.d.ts","sourceRoot":"","sources":["../src/lcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAA;IAChB,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,IAAI,aAAa,CAYnD"}
|
package/dist/lcp.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LCP (Largest Contentful Paint) coordination for the section renderer.
|
|
3
|
+
*
|
|
4
|
+
* Core Web Vitals best practice: exactly ONE image per page should be eagerly
|
|
5
|
+
* loaded with `fetchpriority="high"` — the Largest Contentful Paint candidate,
|
|
6
|
+
* almost always the first image in the document. Every other image must lazy-
|
|
7
|
+
* load so it never competes with the LCP resource for bandwidth.
|
|
8
|
+
*
|
|
9
|
+
* The renderer can't know which image is "first" without coordinating across
|
|
10
|
+
* independent renderers (`PostHeader` + each section). An {@link LcpController}
|
|
11
|
+
* is a tiny single-claim allocator: the first renderer to call `claim()` wins
|
|
12
|
+
* the page's one priority slot; everyone else gets `false` and lazy-loads.
|
|
13
|
+
*
|
|
14
|
+
* Pass ONE controller to both `PostHeader` and `Sections` (via `options.lcp`)
|
|
15
|
+
* so a post's featured image and its body sections share a single budget. When
|
|
16
|
+
* omitted, each component creates its own — correct for the common case of
|
|
17
|
+
* rendering only one of them.
|
|
18
|
+
*/
|
|
19
|
+
/** Create a fresh single-claim LCP controller (one per rendered page). */
|
|
20
|
+
export function createLcpController() {
|
|
21
|
+
let claimed = false;
|
|
22
|
+
return {
|
|
23
|
+
claim() {
|
|
24
|
+
if (claimed)
|
|
25
|
+
return false;
|
|
26
|
+
claimed = true;
|
|
27
|
+
return true;
|
|
28
|
+
},
|
|
29
|
+
get claimed() {
|
|
30
|
+
return claimed;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=lcp.js.map
|
package/dist/lcp.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lcp.js","sourceRoot":"","sources":["../src/lcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAYH,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB;IACjC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,OAAO;QACL,KAAK;YACH,IAAI,OAAO;gBAAE,OAAO,KAAK,CAAA;YACzB,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/sizes.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Responsive `sizes` helpers.
|
|
3
|
+
*
|
|
4
|
+
* The `sizes` attribute tells the browser how wide an image will render at each
|
|
5
|
+
* breakpoint so it can pick the smallest sufficient `srcset` candidate. Getting
|
|
6
|
+
* it wrong (or omitting it) makes mobile silently over-download the desktop-
|
|
7
|
+
* sized image — one of the most common, invisible LCP regressions.
|
|
8
|
+
*
|
|
9
|
+
* These constants/helpers encode the layout each built-in section renders at, so
|
|
10
|
+
* the right `sizes` ships by default without each renderer hand-rolling it.
|
|
11
|
+
*/
|
|
12
|
+
/** Full-bleed image (hero, overlay header): one column at every width. */
|
|
13
|
+
export declare const FULL_WIDTH_SIZES = "100vw";
|
|
14
|
+
/**
|
|
15
|
+
* Centered content image capped at a max width (e.g. the standard post header
|
|
16
|
+
* featured image, rendered inside `max-w-4xl` = 896px).
|
|
17
|
+
*/
|
|
18
|
+
export declare const CONTENT_WIDTH_SIZES = "(max-width: 896px) 100vw, 896px";
|
|
19
|
+
/**
|
|
20
|
+
* Feature section image: stacks full-width on mobile, ~half the row on `md+`
|
|
21
|
+
* (two-column grid).
|
|
22
|
+
*/
|
|
23
|
+
export declare const FEATURE_SIZES = "(max-width: 768px) 100vw, 50vw";
|
|
24
|
+
/**
|
|
25
|
+
* Gallery cell `sizes` for a given column count: full-width on small screens,
|
|
26
|
+
* an even fraction of the viewport at the grid breakpoint. Clamps the column
|
|
27
|
+
* count to a sane range so a bad value can't produce a nonsense hint.
|
|
28
|
+
*/
|
|
29
|
+
export declare function gallerySizes(columns: number): string;
|
|
30
|
+
//# sourceMappingURL=sizes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sizes.d.ts","sourceRoot":"","sources":["../src/sizes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,oCAAoC,CAAA;AAEpE;;;GAGG;AACH,eAAO,MAAM,aAAa,mCAAmC,CAAA;AAE7D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIpD"}
|
package/dist/sizes.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Responsive `sizes` helpers.
|
|
3
|
+
*
|
|
4
|
+
* The `sizes` attribute tells the browser how wide an image will render at each
|
|
5
|
+
* breakpoint so it can pick the smallest sufficient `srcset` candidate. Getting
|
|
6
|
+
* it wrong (or omitting it) makes mobile silently over-download the desktop-
|
|
7
|
+
* sized image — one of the most common, invisible LCP regressions.
|
|
8
|
+
*
|
|
9
|
+
* These constants/helpers encode the layout each built-in section renders at, so
|
|
10
|
+
* the right `sizes` ships by default without each renderer hand-rolling it.
|
|
11
|
+
*/
|
|
12
|
+
/** Full-bleed image (hero, overlay header): one column at every width. */
|
|
13
|
+
export const FULL_WIDTH_SIZES = '100vw';
|
|
14
|
+
/**
|
|
15
|
+
* Centered content image capped at a max width (e.g. the standard post header
|
|
16
|
+
* featured image, rendered inside `max-w-4xl` = 896px).
|
|
17
|
+
*/
|
|
18
|
+
export const CONTENT_WIDTH_SIZES = '(max-width: 896px) 100vw, 896px';
|
|
19
|
+
/**
|
|
20
|
+
* Feature section image: stacks full-width on mobile, ~half the row on `md+`
|
|
21
|
+
* (two-column grid).
|
|
22
|
+
*/
|
|
23
|
+
export const FEATURE_SIZES = '(max-width: 768px) 100vw, 50vw';
|
|
24
|
+
/**
|
|
25
|
+
* Gallery cell `sizes` for a given column count: full-width on small screens,
|
|
26
|
+
* an even fraction of the viewport at the grid breakpoint. Clamps the column
|
|
27
|
+
* count to a sane range so a bad value can't produce a nonsense hint.
|
|
28
|
+
*/
|
|
29
|
+
export function gallerySizes(columns) {
|
|
30
|
+
const cols = Number.isFinite(columns) ? Math.min(Math.max(Math.round(columns), 1), 6) : 3;
|
|
31
|
+
const pct = Math.round(100 / cols);
|
|
32
|
+
return `(max-width: 640px) 100vw, ${pct}vw`;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=sizes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sizes.js","sourceRoot":"","sources":["../src/sizes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEvC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iCAAiC,CAAA;AAEpE;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,gCAAgC,CAAA;AAE7D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;IAClC,OAAO,6BAA6B,GAAG,IAAI,CAAA;AAC7C,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* field schemas live in `@actuate-media/cms-core/page-sections`.
|
|
11
11
|
*/
|
|
12
12
|
import type { ReactNode } from 'react';
|
|
13
|
+
import type { LcpController } from './lcp.js';
|
|
13
14
|
/** A single section as delivered by the CMS (`data.sections[]`). */
|
|
14
15
|
export interface PublicSection {
|
|
15
16
|
id: string;
|
|
@@ -32,6 +33,9 @@ export interface PostContext {
|
|
|
32
33
|
/** Post body HTML — used by the `article-body` section in `source: 'field'` mode. */
|
|
33
34
|
body?: string;
|
|
34
35
|
featuredImageUrl?: string;
|
|
36
|
+
/** Intrinsic featured-image dimensions (from `/resolve` enrichment) — avoids CLS. */
|
|
37
|
+
featuredImageWidth?: number | null;
|
|
38
|
+
featuredImageHeight?: number | null;
|
|
35
39
|
publishDate?: string | null;
|
|
36
40
|
category?: string;
|
|
37
41
|
author?: {
|
|
@@ -87,12 +91,20 @@ export interface RenderOptions {
|
|
|
87
91
|
baseUrl?: string;
|
|
88
92
|
/** Custom image renderer (e.g. `next/image`). Defaults to a lazy `<img>`. */
|
|
89
93
|
renderImage?: RenderImage;
|
|
94
|
+
/**
|
|
95
|
+
* Shared LCP (priority-image) budget. Pass ONE controller to both
|
|
96
|
+
* `PostHeader` and `Sections` so a post's featured image and its body
|
|
97
|
+
* sections compete for the same single priority slot. When omitted, each
|
|
98
|
+
* component creates its own (correct when only one is rendered).
|
|
99
|
+
*/
|
|
100
|
+
lcp?: LcpController;
|
|
90
101
|
}
|
|
91
102
|
/** Internal: options with all defaults resolved. */
|
|
92
103
|
export interface ResolvedRenderOptions {
|
|
93
104
|
sanitizeHtml: (html: string) => string;
|
|
94
105
|
baseUrl: string;
|
|
95
106
|
renderImage: RenderImage;
|
|
107
|
+
lcp: LcpController;
|
|
96
108
|
}
|
|
97
109
|
/** Props every section renderer receives. */
|
|
98
110
|
export interface SectionRendererProps {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actuate-media/sections-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Public React renderer for Actuate CMS page sections — the canonical PageSection[] contract — with a consumer-controlled renderer registry.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"CHANGELOG.md"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@actuate-media/cms-core": "0.72.
|
|
29
|
+
"@actuate-media/cms-core": "0.72.1"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"react": ">=18.0.0"
|