@cogenta/theme-canonical 1.1.3 → 1.3.3
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/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/render/arrow-link.d.ts +11 -0
- package/dist/src/render/arrow-link.d.ts.map +1 -0
- package/dist/src/render/arrow-link.js +29 -0
- package/dist/src/render/arrow-link.js.map +1 -0
- package/dist/src/render/blocks/collection-list.d.ts +15 -5
- package/dist/src/render/blocks/collection-list.d.ts.map +1 -1
- package/dist/src/render/blocks/collection-list.js +36 -13
- package/dist/src/render/blocks/collection-list.js.map +1 -1
- package/dist/src/render/blocks/embed.d.ts.map +1 -1
- package/dist/src/render/blocks/embed.js +3 -2
- package/dist/src/render/blocks/embed.js.map +1 -1
- package/dist/src/render/blocks/gallery.d.ts.map +1 -1
- package/dist/src/render/blocks/gallery.js +4 -1
- package/dist/src/render/blocks/gallery.js.map +1 -1
- package/dist/src/render/blocks/hero.d.ts.map +1 -1
- package/dist/src/render/blocks/hero.js +9 -2
- package/dist/src/render/blocks/hero.js.map +1 -1
- package/dist/src/render/blocks/pricing-table.d.ts.map +1 -1
- package/dist/src/render/blocks/pricing-table.js +17 -4
- package/dist/src/render/blocks/pricing-table.js.map +1 -1
- package/dist/src/render/chrome.d.ts +40 -1
- package/dist/src/render/chrome.d.ts.map +1 -1
- package/dist/src/render/chrome.js +103 -71
- package/dist/src/render/chrome.js.map +1 -1
- package/dist/src/render/dates.d.ts +9 -0
- package/dist/src/render/dates.d.ts.map +1 -0
- package/dist/src/render/dates.js +16 -0
- package/dist/src/render/dates.js.map +1 -0
- package/dist/src/render/render-block.d.ts.map +1 -1
- package/dist/src/render/render-block.js +7 -1
- package/dist/src/render/render-block.js.map +1 -1
- package/dist/src/render/strings.d.ts +25 -0
- package/dist/src/render/strings.d.ts.map +1 -0
- package/dist/src/render/strings.js +26 -0
- package/dist/src/render/strings.js.map +1 -0
- package/dist/src/render/term-archive.d.ts +5 -5
- package/dist/src/render/term-archive.d.ts.map +1 -1
- package/dist/src/render/term-archive.js +14 -12
- package/dist/src/render/term-archive.js.map +1 -1
- package/dist/src/render/widget-areas.d.ts +20 -0
- package/dist/src/render/widget-areas.d.ts.map +1 -0
- package/dist/src/render/widget-areas.js +40 -0
- package/dist/src/render/widget-areas.js.map +1 -0
- package/package.json +5 -5
- package/src/index.ts +1 -0
- package/src/render/arrow-link.ts +27 -0
- package/src/render/blocks/collection-list.ts +53 -15
- package/src/render/blocks/embed.ts +3 -2
- package/src/render/blocks/gallery.ts +4 -1
- package/src/render/blocks/hero.ts +9 -2
- package/src/render/blocks/pricing-table.ts +22 -4
- package/src/render/chrome.ts +156 -70
- package/src/render/dates.ts +14 -0
- package/src/render/render-block.ts +6 -0
- package/src/render/strings.ts +30 -0
- package/src/render/term-archive.ts +54 -32
- package/src/render/widget-areas.ts +44 -0
- package/src/styles/archive.css +66 -20
- package/src/styles/base.css +266 -680
- package/src/styles/blocks.css +678 -811
- package/src/styles/chrome.css +469 -0
- package/src/styles/listings.css +183 -0
- package/src/styles/theme.css +28 -14
- package/src/styles/tokens.css +192 -205
- package/src/styles/utility.css +295 -0
- package/src/styles/widgets.css +1064 -0
- package/tokens.json +15 -15
package/dist/src/index.d.ts
CHANGED
|
@@ -21,5 +21,6 @@ export * from './render/media.js';
|
|
|
21
21
|
export * from './render/render-block.js';
|
|
22
22
|
export * from './render/rich-text.js';
|
|
23
23
|
export * from './render/term-archive.js';
|
|
24
|
+
export * from './render/widget-areas.js';
|
|
24
25
|
export * from './theme-contract.js';
|
|
25
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,oCAAoC,CAAA;AAClD,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,oCAAoC,CAAA;AAClD,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -21,5 +21,6 @@ export * from './render/media.js';
|
|
|
21
21
|
export * from './render/render-block.js';
|
|
22
22
|
export * from './render/rich-text.js';
|
|
23
23
|
export * from './render/term-archive.js';
|
|
24
|
+
export * from './render/widget-areas.js';
|
|
24
25
|
export * from './theme-contract.js';
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,oCAAoC,CAAA;AAClD,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,oCAAoC,CAAA;AAClD,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Child } from '@cogenta/theme-kit';
|
|
2
|
+
/**
|
|
3
|
+
* The words of a link that ends (or starts) with an arrow.
|
|
4
|
+
*
|
|
5
|
+
* The arrow itself is drawn by the stylesheet, after the last word (or before
|
|
6
|
+
* the first), on a `<span>` that also refuses to break: a long label wraps
|
|
7
|
+
* between its earlier words, and the arrow always travels with a word. A
|
|
8
|
+
* label of one word is that span alone.
|
|
9
|
+
*/
|
|
10
|
+
export declare function arrowWords(label: string, direction?: 'forward' | 'back'): Child[];
|
|
11
|
+
//# sourceMappingURL=arrow-link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow-link.d.ts","sourceRoot":"","sources":["../../../src/render/arrow-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAW,MAAM,oBAAoB,CAAA;AAExD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,SAAS,GAAG,MAAkB,GAAG,KAAK,EAAE,CAgB5F"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { h, text } from '@cogenta/theme-kit';
|
|
2
|
+
/**
|
|
3
|
+
* The words of a link that ends (or starts) with an arrow.
|
|
4
|
+
*
|
|
5
|
+
* The arrow itself is drawn by the stylesheet, after the last word (or before
|
|
6
|
+
* the first), on a `<span>` that also refuses to break: a long label wraps
|
|
7
|
+
* between its earlier words, and the arrow always travels with a word. A
|
|
8
|
+
* label of one word is that span alone.
|
|
9
|
+
*/
|
|
10
|
+
export function arrowWords(label, direction = 'forward') {
|
|
11
|
+
const trimmed = label.trim();
|
|
12
|
+
if (direction === 'back') {
|
|
13
|
+
const at = trimmed.indexOf(' ');
|
|
14
|
+
if (at === -1)
|
|
15
|
+
return [h('span', { class: 'cg-arrow-link__start' }, trimmed)];
|
|
16
|
+
return [
|
|
17
|
+
h('span', { class: 'cg-arrow-link__start' }, trimmed.slice(0, at)),
|
|
18
|
+
text(trimmed.slice(at)),
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
const at = trimmed.lastIndexOf(' ');
|
|
22
|
+
if (at === -1)
|
|
23
|
+
return [h('span', { class: 'cg-arrow-link__end' }, trimmed)];
|
|
24
|
+
return [
|
|
25
|
+
text(trimmed.slice(0, at + 1)),
|
|
26
|
+
h('span', { class: 'cg-arrow-link__end' }, trimmed.slice(at + 1)),
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=arrow-link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow-link.js","sourceRoot":"","sources":["../../../src/render/arrow-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,CAAC,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAExD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,SAAS,GAAuB,SAAS;IACjF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;QAC7E,OAAO;YACL,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACxB,CAAA;IACH,CAAC;IACD,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,EAAE,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3E,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;KAClE,CAAA;AACH,CAAC"}
|
|
@@ -2,16 +2,26 @@ import type { CollectionListBlock } from '@cogenta/blocks';
|
|
|
2
2
|
import type { ContentEntry, RenderContext } from '../../theme-contract.js';
|
|
3
3
|
import { type HtmlElement } from '../html.js';
|
|
4
4
|
/**
|
|
5
|
-
* The only block of the
|
|
6
|
-
* marks it `runtime: 'server'` for that reason.
|
|
5
|
+
* The only block of the vocabulary that reads data at render time — contract
|
|
6
|
+
* B marks it `runtime: 'server'` for that reason.
|
|
7
7
|
*
|
|
8
8
|
* The read is *not* done here. `query` builds the request (`@cogenta/theme-kit`'s
|
|
9
9
|
* `buildCollectionListQuery`, shared across every theme since it derives
|
|
10
10
|
* purely from the block's own fields), the caller awaits `ctx.content.list(...)`
|
|
11
11
|
* before rendering starts, and this function stays a pure function of the
|
|
12
|
-
* entries it is handed.
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* entries it is handed.
|
|
13
|
+
*
|
|
14
|
+
* Three layouts, three readings of the same entries:
|
|
15
|
+
*
|
|
16
|
+
* - `list` is an index: the date in its own narrow column, then the title and
|
|
17
|
+
* the summary. No picture: a reader scans an index by date and title.
|
|
18
|
+
* - `grid` sets entries in columns, each opened by its picture
|
|
19
|
+
* (`entryImage`, `theme@1.4`) — but only when every entry of the list has
|
|
20
|
+
* one. A row where one entry opens on a photograph and its neighbour on
|
|
21
|
+
* nothing reads as a missing image, so a list with any entry lacking a
|
|
22
|
+
* picture is set in type alone, every entry opening on the same rule.
|
|
23
|
+
* - `carousel` is the grid as a horizontal row the reader scrolls, under the
|
|
24
|
+
* same all-or-none rule for pictures.
|
|
15
25
|
*/
|
|
16
26
|
export { buildCollectionListQuery as query } from '@cogenta/theme-kit';
|
|
17
27
|
export declare function renderCollectionList(block: CollectionListBlock, ctx: RenderContext, entries: readonly ContentEntry[]): HtmlElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-list.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/collection-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"collection-list.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/collection-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAe,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAIvF,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,YAAY,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,wBAAwB,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAmDtE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,EAC1B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,WAAW,CA4Cb"}
|
|
@@ -1,42 +1,65 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { renderImageSource } from '@cogenta/theme-kit';
|
|
2
|
+
import { formatEntryDate } from '../dates.js';
|
|
3
|
+
import { entryDate, entryExcerpt, entryHref, entryImage, entryTitle } from '../entry.js';
|
|
2
4
|
import { blockHeadingTag, heading, nestedHeadingTag } from '../heading.js';
|
|
3
5
|
import { h } from '../html.js';
|
|
4
6
|
/**
|
|
5
|
-
* The only block of the
|
|
6
|
-
* marks it `runtime: 'server'` for that reason.
|
|
7
|
+
* The only block of the vocabulary that reads data at render time — contract
|
|
8
|
+
* B marks it `runtime: 'server'` for that reason.
|
|
7
9
|
*
|
|
8
10
|
* The read is *not* done here. `query` builds the request (`@cogenta/theme-kit`'s
|
|
9
11
|
* `buildCollectionListQuery`, shared across every theme since it derives
|
|
10
12
|
* purely from the block's own fields), the caller awaits `ctx.content.list(...)`
|
|
11
13
|
* before rendering starts, and this function stays a pure function of the
|
|
12
|
-
* entries it is handed.
|
|
13
|
-
*
|
|
14
|
-
*
|
|
14
|
+
* entries it is handed.
|
|
15
|
+
*
|
|
16
|
+
* Three layouts, three readings of the same entries:
|
|
17
|
+
*
|
|
18
|
+
* - `list` is an index: the date in its own narrow column, then the title and
|
|
19
|
+
* the summary. No picture: a reader scans an index by date and title.
|
|
20
|
+
* - `grid` sets entries in columns, each opened by its picture
|
|
21
|
+
* (`entryImage`, `theme@1.4`) — but only when every entry of the list has
|
|
22
|
+
* one. A row where one entry opens on a photograph and its neighbour on
|
|
23
|
+
* nothing reads as a missing image, so a list with any entry lacking a
|
|
24
|
+
* picture is set in type alone, every entry opening on the same rule.
|
|
25
|
+
* - `carousel` is the grid as a horizontal row the reader scrolls, under the
|
|
26
|
+
* same all-or-none rule for pictures.
|
|
15
27
|
*/
|
|
16
28
|
export { buildCollectionListQuery as query } from '@cogenta/theme-kit';
|
|
17
|
-
function renderEntry(entry, ctx, tag) {
|
|
29
|
+
function renderEntry(entry, ctx, tag, picture) {
|
|
18
30
|
const date = entryDate(entry);
|
|
19
31
|
const excerpt = entryExcerpt(entry);
|
|
20
|
-
|
|
32
|
+
const href = entryHref(entry, ctx);
|
|
33
|
+
return h('li', { class: 'cg-entry', 'data-picture': picture === undefined ? 'false' : 'true' }, h('article', { class: 'cg-entry__body' }, heading(tag, { class: 'cg-entry__title' }, h('a', { class: 'cg-entry__link', href }, entryTitle(entry, ctx))), date === undefined
|
|
21
34
|
? null
|
|
22
35
|
: h('time', { class: 'cg-entry__date', datetime: date },
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
36
|
+
// The machine-readable form is already in `datetime`.
|
|
37
|
+
formatEntryDate(date, ctx.locale)), excerpt === undefined ? null : h('p', { class: 'cg-entry__excerpt' }, excerpt), picture === undefined
|
|
38
|
+
? null
|
|
39
|
+
: h('a',
|
|
40
|
+
// The picture follows the title's link for a pointer, and is left
|
|
41
|
+
// out of the tab order and of the accessibility tree: the title
|
|
42
|
+
// already is the one named link to this entry.
|
|
43
|
+
{ class: 'cg-entry__media', href, tabindex: '-1', 'aria-hidden': 'true' }, renderImageSource({ ...picture, alt: '' }, {
|
|
44
|
+
className: 'cg-entry__image',
|
|
45
|
+
sizes: '(min-width: 72rem) 23rem, (min-width: 40rem) 50vw, 100vw',
|
|
46
|
+
}))));
|
|
26
47
|
}
|
|
27
48
|
export function renderCollectionList(block, ctx, entries) {
|
|
28
49
|
const hasTitle = block.title !== undefined;
|
|
29
50
|
const entryTag = nestedHeadingTag('collectionList', hasTitle);
|
|
51
|
+
const pictures = block.layout === 'list' ? [] : entries.map((entry) => entryImage(entry, ctx, { width: 960 }));
|
|
52
|
+
const everyPicture = pictures.length > 0 && pictures.every((picture) => picture !== undefined);
|
|
30
53
|
const items = entries.length === 0
|
|
31
54
|
? h('p', { class: 'cg-collection__empty' }, ctx.t('collection.empty'))
|
|
32
|
-
: h('ul', { class: 'cg-collection__items' }, entries.map((entry) => renderEntry(entry, ctx, entryTag)));
|
|
55
|
+
: h('ul', { class: 'cg-collection__items' }, entries.map((entry, index) => renderEntry(entry, ctx, entryTag, everyPicture ? pictures[index] : undefined)));
|
|
33
56
|
return h('section', {
|
|
34
57
|
class: 'cg-block cg-collection',
|
|
35
58
|
'data-block': 'collectionList',
|
|
36
59
|
'data-layout': block.layout,
|
|
37
60
|
}, hasTitle
|
|
38
61
|
? heading(blockHeadingTag('collectionList') ?? 'h2', { class: 'cg-collection__title', 'data-field': 'title' }, block.title ?? '')
|
|
39
|
-
: null, block.layout === 'carousel'
|
|
62
|
+
: null, block.layout === 'carousel' && entries.length > 0
|
|
40
63
|
? h('div', {
|
|
41
64
|
class: 'cg-collection__viewport',
|
|
42
65
|
role: 'region',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-list.js","sourceRoot":"","sources":["../../../../src/render/blocks/collection-list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collection-list.js","sourceRoot":"","sources":["../../../../src/render/blocks/collection-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EAAE,eAAe,EAAmB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAoB,CAAC,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,wBAAwB,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAEtE,SAAS,WAAW,CAClB,KAAmB,EACnB,GAAkB,EAClB,GAAe,EACf,OAAgC;IAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,CACN,IAAI,EACJ,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAC/E,CAAC,CACC,SAAS,EACT,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAC3B,OAAO,CACL,GAAG,EACH,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAC5B,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAClE,EACD,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CACC,MAAM,EACN,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,sDAAsD;QACtD,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAClC,EACL,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,EAC9E,OAAO,KAAK,SAAS;QACnB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CACC,GAAG;QACH,kEAAkE;QAClE,gEAAgE;QAChE,+CAA+C;QAC/C,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EACzE,iBAAiB,CACf,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EACvB;YACE,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,0DAA0D;SAClE,CACF,CACF,CACN,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA0B,EAC1B,GAAkB,EAClB,OAAgC;IAEhC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAA;IAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;IAC7D,MAAM,QAAQ,GACZ,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IAC/F,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;IAC9F,MAAM,KAAK,GACT,OAAO,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC,CACC,IAAI,EACJ,EAAE,KAAK,EAAE,sBAAsB,EAAE,EACjC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC3B,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAC9E,CACF,CAAA;IAEP,OAAO,CAAC,CACN,SAAS,EACT;QACE,KAAK,EAAE,wBAAwB;QAC/B,YAAY,EAAE,gBAAgB;QAC9B,aAAa,EAAE,KAAK,CAAC,MAAM;KAC5B,EACD,QAAQ;QACN,CAAC,CAAC,OAAO,CACL,eAAe,CAAC,gBAAgB,CAAC,IAAI,IAAI,EACzC,EAAE,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,OAAO,EAAE,EACxD,KAAK,CAAC,KAAK,IAAI,EAAE,CAClB;QACH,CAAC,CAAC,IAAI,EACR,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAC/C,CAAC,CAAC,CAAC,CACC,KAAK,EACL;YACE,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC;YACzD,QAAQ,EAAE,GAAG;SACd,EACD,KAAK,CACN;QACH,CAAC,CAAC,KAAK,CACV,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,YAAY,CAAA;AAyEhD,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAmC9E"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { arrowWords } from '../arrow-link.js';
|
|
1
2
|
import { h } from '../html.js';
|
|
2
3
|
import { aspectRatio } from '../media.js';
|
|
3
4
|
/**
|
|
@@ -53,10 +54,10 @@ function frameSource(provider, rawUrl) {
|
|
|
53
54
|
}
|
|
54
55
|
function consentCard(block, ctx, reason) {
|
|
55
56
|
return h('div', { class: 'cg-embed__placeholder' }, h('p', { class: 'cg-embed__notice' }, reason), h('a', {
|
|
56
|
-
class: 'cg-embed__link',
|
|
57
|
+
class: 'cg-arrow-link cg-embed__link',
|
|
57
58
|
href: ctx.link(block.url),
|
|
58
59
|
rel: 'noopener noreferrer nofollow',
|
|
59
|
-
}, ctx.t('embed.open', { provider: block.provider })));
|
|
60
|
+
}, arrowWords(ctx.t('embed.open', { provider: block.provider }))));
|
|
60
61
|
}
|
|
61
62
|
export function renderEmbed(block, ctx) {
|
|
62
63
|
const source = block.consentRequired ? null : frameSource(block.provider, block.url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../../src/render/blocks/embed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,CAAC,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;;;;;;;;;;GAaG;AAEH,qEAAqE;AACrE,SAAS,WAAW,CAAC,QAAgC,EAAE,MAAc;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAA;IAE5E,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS,EAAE,CAAC;YACf,0EAA0E;YAC1E,sCAAsC;YACtC,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC1C,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACb,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0CAA0C,EAAE,EAAE,CAAA;QAChG,CAAC;QACD,KAAK,OAAO,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YAC5D,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC,EAAE,EAAE,CAAA;QACzE,CAAC;QACD,KAAK,aAAa,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACxF,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iDAAiD,EAAE,EAAE,CAAA;QACxF,CAAC;QACD,KAAK,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAA;YAC3B,OAAO,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;gBAC3C,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,kCAAkC,IAAI,IAAI,EAAE,EAAE,CAAA;QACpD,CAAC;QACD,KAAK,YAAY;YACf,OAAO,wCAAwC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAA;QAC7E;YACE,2EAA2E;YAC3E,iDAAiD;YACjD,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB,EAAE,GAAkB,EAAE,MAAc;IACxE,OAAO,CAAC,CACN,KAAK,EACL,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAClC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,EAC7C,CAAC,CACC,GAAG,EACH;QACE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../../src/render/blocks/embed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/gallery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,YAAY,CAAA;AAGhD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/gallery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,YAAY,CAAA;AAGhD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAoClF"}
|
|
@@ -11,7 +11,10 @@ import { image } from '../media.js';
|
|
|
11
11
|
* announces an unlabelled tab stop; that is WCAG 2.4.3 and 4.1.2 both.
|
|
12
12
|
*/
|
|
13
13
|
export function renderGallery(block, ctx) {
|
|
14
|
-
const items = h('ul', { class: 'cg-gallery__items' }, block.items.map((item) => h('li', { class: 'cg-gallery__item' }, image(ctx, item.media, {
|
|
14
|
+
const items = h('ul', { class: 'cg-gallery__items' }, block.items.map((item) => h('li', { class: 'cg-gallery__item' }, image(ctx, item.media, {
|
|
15
|
+
className: 'cg-gallery__image',
|
|
16
|
+
sizes: '(min-width: 64rem) 24rem, 50vw',
|
|
17
|
+
}))));
|
|
15
18
|
return h('section', {
|
|
16
19
|
class: 'cg-block cg-gallery',
|
|
17
20
|
'data-block': 'gallery',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gallery.js","sourceRoot":"","sources":["../../../../src/render/blocks/gallery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,CAAC,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAmB,EAAE,GAAkB;IACnE,MAAM,KAAK,GAAG,CAAC,CACb,IAAI,EACJ,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAC9B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,CAAC,CACC,IAAI,EACJ,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAC7B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gCAAgC,
|
|
1
|
+
{"version":3,"file":"gallery.js","sourceRoot":"","sources":["../../../../src/render/blocks/gallery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,CAAC,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAmB,EAAE,GAAkB;IACnE,MAAM,KAAK,GAAG,CAAC,CACb,IAAI,EACJ,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAC9B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,CAAC,CACC,IAAI,EACJ,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAC7B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE;QACrB,SAAS,EAAE,mBAAmB;QAC9B,KAAK,EAAE,gCAAgC;KACxC,CAAC,CACH,CACF,CACF,CAAA;IAED,OAAO,CAAC,CACN,SAAS,EACT;QACE,KAAK,EAAE,qBAAqB;QAC5B,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,KAAK,CAAC,MAAM;KAC5B,EACD,KAAK,CAAC,MAAM,KAAK,UAAU;QACzB,CAAC,CAAC,CAAC,CACC,KAAK,EACL;YACE,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACvC,QAAQ,EAAE,GAAG;SACd,EACD,KAAK,CACN;QACH,CAAC,CAAC,KAAK,CACV,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/hero.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG5D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,YAAY,CAAA;AAGhD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/hero.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG5D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,YAAY,CAAA;AAGhD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAsC5E"}
|
|
@@ -11,7 +11,13 @@ import { image } from '../media.js';
|
|
|
11
11
|
*/
|
|
12
12
|
export function renderHero(block, ctx) {
|
|
13
13
|
const tag = blockHeadingTag('hero') ?? 'h1';
|
|
14
|
-
return h('section', {
|
|
14
|
+
return h('section', {
|
|
15
|
+
class: 'cg-block cg-hero',
|
|
16
|
+
'data-block': 'hero',
|
|
17
|
+
// Two compositions: words alone, or words over a wide photograph. The
|
|
18
|
+
// attribute says which, so the stylesheet never has to guess.
|
|
19
|
+
'data-media': block.media === undefined ? 'false' : 'true',
|
|
20
|
+
}, h('div', { class: 'cg-hero__body' }, block.eyebrow === undefined
|
|
15
21
|
? null
|
|
16
22
|
: h('p', { class: 'cg-hero__eyebrow', 'data-field': 'eyebrow' }, block.eyebrow), heading(tag, { class: 'cg-hero__title', 'data-field': 'title' }, block.title), block.subtitle === undefined
|
|
17
23
|
? null
|
|
@@ -23,7 +29,8 @@ export function renderHero(block, ctx) {
|
|
|
23
29
|
// is a measured Lighthouse regression, not a theoretical one.
|
|
24
30
|
image(ctx, block.media, {
|
|
25
31
|
loading: 'eager',
|
|
26
|
-
|
|
32
|
+
className: 'cg-hero__image',
|
|
33
|
+
sizes: '(min-width: 72rem) 72rem, 100vw',
|
|
27
34
|
})));
|
|
28
35
|
}
|
|
29
36
|
//# sourceMappingURL=hero.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hero.js","sourceRoot":"","sources":["../../../../src/render/blocks/hero.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAoB,CAAC,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAgB,EAAE,GAAkB;IAC7D,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA;IAC3C,OAAO,CAAC,CACN,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"hero.js","sourceRoot":"","sources":["../../../../src/render/blocks/hero.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAoB,CAAC,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAgB,EAAE,GAAkB;IAC7D,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA;IAC3C,OAAO,CAAC,CACN,SAAS,EACT;QACE,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,MAAM;QACpB,sEAAsE;QACtE,8DAA8D;QAC9D,YAAY,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;KAC3D,EACD,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,eAAe,EAAE,EAC1B,KAAK,CAAC,OAAO,KAAK,SAAS;QACzB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EACjF,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAC7E,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EACpF,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CACtD,EACD,KAAK,CAAC,KAAK,KAAK,SAAS;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,gBAAgB,EAAE;QAC3B,qEAAqE;QACrE,sEAAsE;QACtE,8DAA8D;QAC9D,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE;YACtB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,gBAAgB;YAC3B,KAAK,EAAE,iCAAiC;SACzC,CAAC,CACH,CACN,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pricing-table.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/pricing-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG5D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"pricing-table.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/pricing-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG5D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,YAAY,CAAA;AA2DhD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAmB5F"}
|
|
@@ -1,23 +1,36 @@
|
|
|
1
1
|
import { actionLink } from '../actions.js';
|
|
2
2
|
import { blockHeadingTag, heading, nestedHeadingTag } from '../heading.js';
|
|
3
3
|
import { h } from '../html.js';
|
|
4
|
+
import { word } from '../strings.js';
|
|
4
5
|
/**
|
|
5
6
|
* `blocks@2.0` (RFC 0001). `highlighted` is editorial emphasis, not a colour:
|
|
6
|
-
* it becomes `data-highlighted` for the
|
|
7
|
-
*
|
|
7
|
+
* it becomes `data-highlighted` for the stylesheet, `aria-current` (loosely
|
|
8
|
+
* "the one on offer") so it is announced, and a short label under the plan's
|
|
9
|
+
* name so it is read in words, never only seen as a heavier rule.
|
|
10
|
+
*
|
|
11
|
+
* Each plan is four rows (name, price, features, action) that the stylesheet
|
|
12
|
+
* lines up across plans, so prices sit on one line and actions on another
|
|
13
|
+
* whatever the length of each feature list.
|
|
8
14
|
*/
|
|
9
15
|
function renderTier(tier, ctx, tag) {
|
|
10
16
|
return h('li', {
|
|
11
17
|
class: 'cg-pricing__tier',
|
|
12
18
|
'data-highlighted': tier.highlighted === true ? 'true' : undefined,
|
|
13
19
|
'aria-current': tier.highlighted === true ? 'true' : undefined,
|
|
14
|
-
},
|
|
20
|
+
}, h('div', { class: 'cg-pricing__head' }, heading(tag, { class: 'cg-pricing__name' }, tier.name), tier.highlighted === true
|
|
21
|
+
? h('p', { class: 'cg-pricing__flag' }, word(ctx.locale, 'recommended'))
|
|
22
|
+
: null), h('p', { class: 'cg-pricing__price' }, h('span', { class: 'cg-pricing__amount' }, tier.price), tier.interval === undefined
|
|
15
23
|
? null
|
|
16
24
|
: h('span', { class: 'cg-pricing__interval' }, tier.interval)), tier.features.length === 0
|
|
17
25
|
? null
|
|
18
26
|
: h('ul', { class: 'cg-pricing__features' }, tier.features.map((feature) => h('li', {}, feature))), tier.action === undefined
|
|
19
27
|
? null
|
|
20
|
-
: h('div', { class: 'cg-pricing__action' }, actionLink(ctx, {
|
|
28
|
+
: h('div', { class: 'cg-pricing__action' }, actionLink(ctx, {
|
|
29
|
+
...tier.action,
|
|
30
|
+
// An emphasis the editor left unset follows the plan: the
|
|
31
|
+
// recommended plan gets the filled button, the others an outline.
|
|
32
|
+
emphasis: tier.action.emphasis ?? (tier.highlighted === true ? 'primary' : 'secondary'),
|
|
33
|
+
})));
|
|
21
34
|
}
|
|
22
35
|
export function renderPricingTable(block, ctx) {
|
|
23
36
|
const hasTitle = block.title !== undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pricing-table.js","sourceRoot":"","sources":["../../../../src/render/blocks/pricing-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAmB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAoB,CAAC,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"pricing-table.js","sourceRoot":"","sources":["../../../../src/render/blocks/pricing-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,42 @@
|
|
|
1
|
-
import { type ChromeInput, type ChromeResult } from '@cogenta/theme-kit';
|
|
1
|
+
import { type ChromeInput, type ChromeNavLink, type ChromeResult } from '@cogenta/theme-kit';
|
|
2
|
+
/**
|
|
3
|
+
* The site header and footer of the reference theme.
|
|
4
|
+
*
|
|
5
|
+
* **Header.** One bar on the page's own ground, closed by a hairline: the
|
|
6
|
+
* site's name (or its uploaded logo) at the start, then the primary pages,
|
|
7
|
+
* then the `headerAction` (`theme@1.4`) as the page's one filled button and
|
|
8
|
+
* the light/dark control. The bar scrolls away with the page: a default theme
|
|
9
|
+
* has no reason to keep a strip of the window for itself.
|
|
10
|
+
*
|
|
11
|
+
* Below the wide breakpoint the pages move into a panel under the bar, opened
|
|
12
|
+
* by a CSS-only control: a checkbox named by a visible "Menu" label, placed
|
|
13
|
+
* before the `<nav>` so the sibling combinator reaches it. No script. The
|
|
14
|
+
* source order (name, menu, pages, action, light/dark) is also the visual
|
|
15
|
+
* order at both widths, so keyboard focus never jumps around the bar.
|
|
16
|
+
*
|
|
17
|
+
* **Footer.** On a band a step off the page. The site's name, its `tagline`,
|
|
18
|
+
* the `footerNote` (an address or a legal mention, kept to its own lines) and
|
|
19
|
+
* the social profiles on the first columns; the footer menu on the last ones.
|
|
20
|
+
* An unlinked item of the footer menu (a `submenu-placeholder` such as
|
|
21
|
+
* "Company") starts a column and names it, so an editor builds the columns in
|
|
22
|
+
* the menu screen; a menu without one is a single column. Under a hairline,
|
|
23
|
+
* the legal line: the year and the site's name, then the host's
|
|
24
|
+
* `brandingHtml`, placed once and as received.
|
|
25
|
+
*
|
|
26
|
+
* **Footer widgets** (`theme@1.6`). The footer columns an editor fills in the
|
|
27
|
+
* widgets screen (`footer-1`..`footer-4`) are one row of their own, under the
|
|
28
|
+
* identity and the menu and above the legal line, on the same grid. A footer
|
|
29
|
+
* with no widget renders exactly as it did before.
|
|
30
|
+
*
|
|
31
|
+
* Every optional field renders only when present: a site that sets none of
|
|
32
|
+
* them gets no empty wrapper for any of them (`test/chrome.test.ts`).
|
|
33
|
+
*/
|
|
34
|
+
interface FooterGroup {
|
|
35
|
+
readonly heading: string | null;
|
|
36
|
+
readonly links: readonly ChromeNavLink[];
|
|
37
|
+
}
|
|
38
|
+
/** The footer menu, split into columns at each unlinked heading. */
|
|
39
|
+
export declare function footerGroups(links: readonly ChromeNavLink[]): readonly FooterGroup[];
|
|
2
40
|
export declare function renderChrome(input: ChromeInput): ChromeResult;
|
|
41
|
+
export {};
|
|
3
42
|
//# sourceMappingURL=chrome.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../src/render/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../src/render/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EAQlB,MAAM,oBAAoB,CAAA;AAG3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,UAAU,WAAW;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAA;CACzC;AAeD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,WAAW,EAAE,CAYpF;AA8GD,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAE7D"}
|