@cogenta/theme-docs 0.3.3 → 0.5.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 +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/render/blocks/accordion.d.ts +8 -0
- package/dist/src/render/blocks/accordion.d.ts.map +1 -1
- package/dist/src/render/blocks/accordion.js +10 -10
- package/dist/src/render/blocks/accordion.js.map +1 -1
- package/dist/src/render/blocks/collection-list.d.ts +3 -11
- package/dist/src/render/blocks/collection-list.d.ts.map +1 -1
- package/dist/src/render/blocks/collection-list.js +69 -68
- package/dist/src/render/blocks/collection-list.js.map +1 -1
- package/dist/src/render/blocks/cta.d.ts +6 -0
- package/dist/src/render/blocks/cta.d.ts.map +1 -1
- package/dist/src/render/blocks/cta.js +9 -4
- package/dist/src/render/blocks/cta.js.map +1 -1
- package/dist/src/render/blocks/embed.d.ts.map +1 -1
- package/dist/src/render/blocks/embed.js +14 -13
- package/dist/src/render/blocks/embed.js.map +1 -1
- package/dist/src/render/blocks/faq.d.ts +7 -0
- package/dist/src/render/blocks/faq.d.ts.map +1 -1
- package/dist/src/render/blocks/faq.js +10 -10
- package/dist/src/render/blocks/faq.js.map +1 -1
- package/dist/src/render/blocks/feature-grid.d.ts.map +1 -1
- package/dist/src/render/blocks/feature-grid.js +19 -19
- package/dist/src/render/blocks/feature-grid.js.map +1 -1
- package/dist/src/render/blocks/gallery.d.ts +8 -4
- package/dist/src/render/blocks/gallery.d.ts.map +1 -1
- package/dist/src/render/blocks/gallery.js +19 -13
- package/dist/src/render/blocks/gallery.js.map +1 -1
- package/dist/src/render/blocks/hero.d.ts +12 -9
- package/dist/src/render/blocks/hero.d.ts.map +1 -1
- package/dist/src/render/blocks/hero.js +22 -20
- package/dist/src/render/blocks/hero.js.map +1 -1
- package/dist/src/render/blocks/logo-strip.d.ts +6 -0
- package/dist/src/render/blocks/logo-strip.d.ts.map +1 -1
- package/dist/src/render/blocks/logo-strip.js +6 -10
- package/dist/src/render/blocks/logo-strip.js.map +1 -1
- package/dist/src/render/blocks/logos.d.ts +10 -0
- package/dist/src/render/blocks/logos.d.ts.map +1 -1
- package/dist/src/render/blocks/logos.js +20 -17
- package/dist/src/render/blocks/logos.js.map +1 -1
- package/dist/src/render/blocks/media-figure.d.ts +0 -6
- package/dist/src/render/blocks/media-figure.d.ts.map +1 -1
- package/dist/src/render/blocks/media-figure.js +28 -16
- package/dist/src/render/blocks/media-figure.js.map +1 -1
- package/dist/src/render/blocks/pricing-table.d.ts.map +1 -1
- package/dist/src/render/blocks/pricing-table.js +16 -20
- package/dist/src/render/blocks/pricing-table.js.map +1 -1
- package/dist/src/render/blocks/prose.d.ts +13 -1
- package/dist/src/render/blocks/prose.d.ts.map +1 -1
- package/dist/src/render/blocks/prose.js +12 -31
- package/dist/src/render/blocks/prose.js.map +1 -1
- package/dist/src/render/blocks/quote.d.ts +5 -3
- package/dist/src/render/blocks/quote.d.ts.map +1 -1
- package/dist/src/render/blocks/quote.js +10 -14
- package/dist/src/render/blocks/quote.js.map +1 -1
- package/dist/src/render/blocks/stat-counter.d.ts +5 -0
- package/dist/src/render/blocks/stat-counter.d.ts.map +1 -1
- package/dist/src/render/blocks/stat-counter.js +6 -10
- package/dist/src/render/blocks/stat-counter.js.map +1 -1
- package/dist/src/render/blocks/stats.d.ts +10 -0
- package/dist/src/render/blocks/stats.d.ts.map +1 -1
- package/dist/src/render/blocks/stats.js +13 -8
- package/dist/src/render/blocks/stats.js.map +1 -1
- package/dist/src/render/blocks/testimonial.d.ts +4 -5
- package/dist/src/render/blocks/testimonial.d.ts.map +1 -1
- package/dist/src/render/blocks/testimonial.js +9 -13
- package/dist/src/render/blocks/testimonial.js.map +1 -1
- package/dist/src/render/chrome.d.ts +36 -1
- package/dist/src/render/chrome.d.ts.map +1 -1
- package/dist/src/render/chrome.js +122 -80
- package/dist/src/render/chrome.js.map +1 -1
- package/dist/src/render/doc-index.d.ts +25 -0
- package/dist/src/render/doc-index.d.ts.map +1 -0
- package/dist/src/render/doc-index.js +49 -0
- package/dist/src/render/doc-index.js.map +1 -0
- package/dist/src/render/doc-page.d.ts +6 -0
- package/dist/src/render/doc-page.d.ts.map +1 -0
- package/dist/src/render/doc-page.js +127 -0
- package/dist/src/render/doc-page.js.map +1 -0
- package/dist/src/render/layout.d.ts +23 -0
- package/dist/src/render/layout.d.ts.map +1 -0
- package/dist/src/render/layout.js +40 -0
- package/dist/src/render/layout.js.map +1 -0
- package/dist/src/render/render-block.d.ts +9 -6
- package/dist/src/render/render-block.d.ts.map +1 -1
- package/dist/src/render/render-block.js +47 -100
- package/dist/src/render/render-block.js.map +1 -1
- package/dist/src/render/rich-text.d.ts +26 -0
- package/dist/src/render/rich-text.d.ts.map +1 -0
- package/dist/src/render/rich-text.js +325 -0
- package/dist/src/render/rich-text.js.map +1 -0
- package/dist/src/render/search.d.ts +15 -0
- package/dist/src/render/search.d.ts.map +1 -0
- package/dist/src/render/search.js +31 -0
- package/dist/src/render/search.js.map +1 -0
- package/dist/src/render/strings.d.ts +51 -0
- package/dist/src/render/strings.d.ts.map +1 -0
- package/dist/src/render/strings.js +60 -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 +27 -16
- package/dist/src/render/term-archive.js.map +1 -1
- package/dist/src/render/widget-areas.d.ts +22 -0
- package/dist/src/render/widget-areas.d.ts.map +1 -0
- package/dist/src/render/widget-areas.js +29 -0
- package/dist/src/render/widget-areas.js.map +1 -0
- package/package.json +4 -4
- package/src/index.ts +2 -0
- package/src/render/blocks/accordion.ts +31 -42
- package/src/render/blocks/collection-list.ts +132 -123
- package/src/render/blocks/cta.ts +23 -18
- package/src/render/blocks/embed.ts +37 -28
- package/src/render/blocks/faq.ts +26 -37
- package/src/render/blocks/feature-grid.ts +34 -42
- package/src/render/blocks/gallery.ts +33 -29
- package/src/render/blocks/hero.ts +41 -45
- package/src/render/blocks/logo-strip.ts +21 -21
- package/src/render/blocks/logos.ts +32 -42
- package/src/render/blocks/media-figure.ts +47 -25
- package/src/render/blocks/pricing-table.ts +34 -41
- package/src/render/blocks/prose.ts +25 -40
- package/src/render/blocks/quote.ts +25 -19
- package/src/render/blocks/stat-counter.ts +27 -29
- package/src/render/blocks/stats.ts +35 -32
- package/src/render/blocks/testimonial.ts +18 -19
- package/src/render/chrome.ts +170 -83
- package/src/render/doc-index.ts +65 -0
- package/src/render/doc-page.ts +303 -0
- package/src/render/layout.ts +73 -0
- package/src/render/render-block.ts +67 -191
- package/src/render/rich-text.ts +446 -0
- package/src/render/search.ts +41 -0
- package/src/render/strings.ts +67 -0
- package/src/render/term-archive.ts +62 -38
- package/src/render/widget-areas.ts +33 -0
- package/src/styles/archive.css +21 -27
- package/src/styles/base.css +438 -838
- package/src/styles/blocks.css +658 -916
- package/src/styles/chrome.css +439 -0
- package/src/styles/docs.css +404 -0
- package/src/styles/rich.css +337 -0
- package/src/styles/theme.css +28 -23
- package/src/styles/tokens.css +209 -215
- package/src/styles/widgets.css +890 -0
- package/tokens.json +15 -15
package/dist/src/index.d.ts
CHANGED
|
@@ -17,5 +17,7 @@ export * from './render/blocks/stats.js';
|
|
|
17
17
|
export * from './render/blocks/testimonial.js';
|
|
18
18
|
export * from './render/chrome.js';
|
|
19
19
|
export * from './render/render-block.js';
|
|
20
|
+
export { headingAnchors, keyChord, slugify } from './render/rich-text.js';
|
|
20
21
|
export * from './render/term-archive.js';
|
|
22
|
+
export * from './render/widget-areas.js';
|
|
21
23
|
//# 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,8BAA8B,CAAA;AAC5C,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,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,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,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACzE,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -17,5 +17,7 @@ export * from './render/blocks/stats.js';
|
|
|
17
17
|
export * from './render/blocks/testimonial.js';
|
|
18
18
|
export * from './render/chrome.js';
|
|
19
19
|
export * from './render/render-block.js';
|
|
20
|
+
export { headingAnchors, keyChord, slugify } from './render/rich-text.js';
|
|
20
21
|
export * from './render/term-archive.js';
|
|
22
|
+
export * from './render/widget-areas.js';
|
|
21
23
|
//# 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,8BAA8B,CAAA;AAC5C,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,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,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,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACzE,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { AccordionBlock } from '@cogenta/blocks';
|
|
2
2
|
import { type HtmlElement, type RenderContext } from '@cogenta/theme-kit';
|
|
3
|
+
/**
|
|
4
|
+
* Detail a reader opens when they need it (every error code, the fields of a
|
|
5
|
+
* response) as ruled rows on the reading measure.
|
|
6
|
+
*
|
|
7
|
+
* Every row is a `<details>`: it opens without a script, and the browser's
|
|
8
|
+
* own find-in-page still reaches a closed answer. The plus that turns into a
|
|
9
|
+
* minus is two hairlines drawn by the stylesheet, not a glyph.
|
|
10
|
+
*/
|
|
3
11
|
export declare function renderAccordion(block: AccordionBlock, ctx: RenderContext): HtmlElement;
|
|
4
12
|
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,KAAK,WAAW,EAAK,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAI5E;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CA0BtF"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { h } from '@cogenta/theme-kit';
|
|
2
|
+
import { section, sectionHead } from '../layout.js';
|
|
3
|
+
import { renderDocsRichText } from '../rich-text.js';
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
5
|
+
* Detail a reader opens when they need it (every error code, the fields of a
|
|
6
|
+
* response) as ruled rows on the reading measure.
|
|
7
|
+
*
|
|
8
|
+
* Every row is a `<details>`: it opens without a script, and the browser's
|
|
9
|
+
* own find-in-page still reaches a closed answer. The plus that turns into a
|
|
10
|
+
* minus is two hairlines drawn by the stylesheet, not a glyph.
|
|
6
11
|
*/
|
|
7
|
-
function renderItem(item, ctx) {
|
|
8
|
-
return h('li', { class: 'cg-panels__item' }, h('details', { class: 'cg-panels__details' }, h('summary', { class: 'cg-panels__question' }, h('span', { class: 'cg-panels__question-text' }, item.question), h('span', { class: 'cg-panels__chevron', 'aria-hidden': 'true' })), h('div', { class: 'cg-panels__answer' }, renderRichText(ctx, item.answer))));
|
|
9
|
-
}
|
|
10
12
|
export function renderAccordion(block, ctx) {
|
|
11
|
-
return
|
|
12
|
-
? null
|
|
13
|
-
: heading(blockHeadingTag('accordion') ?? 'h2', { class: 'cg-panels__title', 'data-field': 'title' }, block.title), h('ul', { class: 'cg-panels__items' }, block.items.map((item) => renderItem(item, ctx))));
|
|
13
|
+
return section('section', 'accordion', 'cd-accordion', {}, 'div', sectionHead('accordion', block.title), h('div', { class: 'cd-accordion__items' }, block.items.map((item) => h('details', { class: 'cd-accordion__item' }, h('summary', { class: 'cd-accordion__summary' }, h('span', { class: 'cd-accordion__question' }, item.question), h('span', { class: 'cd-accordion__sign', 'aria-hidden': 'true' })), h('div', { class: 'cd-accordion__answer cd-rich' }, renderDocsRichText(ctx, item.answer))))));
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=accordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../../src/render/blocks/accordion.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../../src/render/blocks/accordion.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,CAAC,EAAsB,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAAqB,EAAE,GAAkB;IACvE,OAAO,OAAO,CACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,EAAE,EACF,KAAK,EACL,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,EACrC,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAChC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,CAAC,CACC,SAAS,EACT,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAC/B,CAAC,CACC,SAAS,EACT,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAClC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAC7D,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAClE,EACD,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAC1F,CACF,CACF,CACF,CAAA;AACH,CAAC"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import type { CollectionListBlock } from '@cogenta/blocks';
|
|
2
|
-
import {
|
|
3
|
-
/**
|
|
4
|
-
* The only block of the seventeen that reads data at render time — contract
|
|
5
|
-
* B marks it `runtime: 'server'` for that reason. The read is *not* done
|
|
6
|
-
* here: `query` builds the request from the block's own fields
|
|
7
|
-
* (`@cogenta/theme-kit`'s `buildCollectionListQuery`, shared across every
|
|
8
|
-
* theme), the caller awaits `ctx.content.list(...)` before rendering
|
|
9
|
-
* starts, and this function stays a pure function of the entries handed to
|
|
10
|
-
* it.
|
|
11
|
-
*/
|
|
12
|
-
export { buildCollectionListQuery as query };
|
|
2
|
+
import { type ContentEntry, type HtmlElement, type QueryRequest, type RenderContext } from '@cogenta/theme-kit';
|
|
13
3
|
export declare function renderCollectionList(block: CollectionListBlock, ctx: RenderContext, entries: readonly ContentEntry[]): HtmlElement;
|
|
4
|
+
/** The query this block needs, fetched by the host before any markup is built. */
|
|
5
|
+
export declare function query(block: CollectionListBlock): QueryRequest;
|
|
14
6
|
//# sourceMappingURL=collection-list.d.ts.map
|
|
@@ -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;AAC1D,OAAO,EAEL,
|
|
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;AAC1D,OAAO,EAEL,KAAK,YAAY,EAMjB,KAAK,WAAW,EAGhB,KAAK,YAAY,EACjB,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAA;AAiH3B,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,EAC1B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,WAAW,CAyCb;AAED,kFAAkF;AAClF,wBAAgB,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAE9D"}
|
|
@@ -1,77 +1,78 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { buildCollectionListQuery, entryDate, entryExcerpt, entryHref, entryImage, entryTitle, h, nestedHeadingTag, renderImageSource, } from '@cogenta/theme-kit';
|
|
2
|
+
import { DOC_PAGE_COLLECTION, groupDocPages } from '../doc-index.js';
|
|
3
|
+
import { longDate, section, sectionHead } from '../layout.js';
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* (
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* A list of entries, read by what they are as much as by the layout chosen.
|
|
6
|
+
*
|
|
7
|
+
* - **Doc pages: the documentation, by section.** The home page's "Browse"
|
|
8
|
+
* block. One column per section (sections in the order the documentation
|
|
9
|
+
* reads, pages by their own `order`), the section named in a small heading
|
|
10
|
+
* over a hairline, its pages as a plain column of links. Up to four columns
|
|
11
|
+
* on a desk, two on a tablet, one on a phone. The layout an editor picked
|
|
12
|
+
* is ignored on purpose: a table of contents is not a carousel.
|
|
13
|
+
* - **`list`: an index.** Ruled rows: the title, the summary under it, and a
|
|
14
|
+
* date on the right when the entry has one, in tabular numerals.
|
|
15
|
+
* - **`grid`**: three columns without cards. A picture, when there is one,
|
|
16
|
+
* in the hairline frame at 16:10, then the title, the summary and the date.
|
|
17
|
+
* - **`carousel`**: the same items in one row that scrolls sideways.
|
|
18
|
+
*
|
|
19
|
+
* Each picture repeats the link of its title, so it is taken out of the tab
|
|
20
|
+
* order and hidden from assistive technology: one link per entry.
|
|
10
21
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*/
|
|
17
|
-
function renderRow(entry, ctx, tag) {
|
|
22
|
+
function renderDocIndex(entries, ctx, tag) {
|
|
23
|
+
const groups = groupDocPages(entries, ctx);
|
|
24
|
+
return h('div', { class: 'cd-browse', 'data-count': String(Math.min(groups.length, 4)) }, groups.map((group) => h('div', { class: 'cd-browse__group' }, h(tag, { class: 'cd-browse__heading' }, group.section), h('ul', { class: 'cd-browse__links' }, group.entries.map((entry) => h('li', { class: 'cd-browse__item' }, h('a', { class: 'cd-browse__link', href: entryHref(entry, ctx) }, entryTitle(entry, ctx))))))));
|
|
25
|
+
}
|
|
26
|
+
function dateOf(entry, ctx, className) {
|
|
18
27
|
const date = entryDate(entry);
|
|
28
|
+
if (date === undefined)
|
|
29
|
+
return null;
|
|
30
|
+
return h('time', { class: className, datetime: date }, longDate(date, ctx.locale));
|
|
31
|
+
}
|
|
32
|
+
function indexRow(entry, ctx, tag) {
|
|
19
33
|
const excerpt = entryExcerpt(entry);
|
|
20
|
-
|
|
21
|
-
return h('li', { class: 'cg-list__row' }, image === undefined
|
|
22
|
-
? null
|
|
23
|
-
: h('div', { class: 'cg-list__thumb' }, renderImageSource(image, { loading: 'lazy', className: 'cg-list__thumb-image' })), h('div', { class: 'cg-list__body' }, heading(tag, { class: 'cg-list__title' }, h('a', { class: 'cg-list__link', href: entryHref(entry, ctx) }, entryTitle(entry, ctx))), date === undefined
|
|
24
|
-
? null
|
|
25
|
-
: h('time', { class: 'cg-list__date', datetime: date }, new Intl.DateTimeFormat(ctx.locale, { dateStyle: 'long' }).format(new Date(date))), excerpt === undefined ? null : h('p', { class: 'cg-list__excerpt' }, excerpt)));
|
|
34
|
+
return h('li', { class: 'cd-index__item' }, h('div', { class: 'cd-index__words' }, h(tag, { class: 'cd-index__title' }, h('a', { class: 'cd-index__link', href: entryHref(entry, ctx) }, entryTitle(entry, ctx))), excerpt === undefined ? null : h('p', { class: 'cd-index__text' }, excerpt)), dateOf(entry, ctx, 'cd-index__date'));
|
|
26
35
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
? entry.section
|
|
42
|
-
: ctx.t('entry.untitled');
|
|
43
|
-
const list = groups.get(section) ?? [];
|
|
44
|
-
list.push(entry);
|
|
45
|
-
groups.set(section, list);
|
|
46
|
-
});
|
|
47
|
-
const sortedSections = [...groups.entries()].sort(([a], [b]) => a.localeCompare(b));
|
|
48
|
-
return h('div', { class: 'cg-guides' }, sortedSections.map(([section, sectionEntries]) => {
|
|
49
|
-
const ordered = [...sectionEntries].sort((a, b) => {
|
|
50
|
-
const orderA = typeof a.order === 'number' ? a.order : Number.POSITIVE_INFINITY;
|
|
51
|
-
const orderB = typeof b.order === 'number' ? b.order : Number.POSITIVE_INFINITY;
|
|
52
|
-
return orderA - orderB;
|
|
53
|
-
});
|
|
54
|
-
return h('div', { class: 'cg-guides__section' }, h('h3', { class: 'cg-guides__heading' }, section), h('ul', { class: 'cg-guides__items' }, ordered.map((entry) => h('li', { class: 'cg-guides__item' }, h('a', { class: 'cg-guides__link', href: entryHref(entry, ctx) }, entryTitle(entry, ctx))))));
|
|
55
|
-
}));
|
|
36
|
+
function card(entry, ctx, tag) {
|
|
37
|
+
const excerpt = entryExcerpt(entry);
|
|
38
|
+
const source = entryImage(entry, ctx);
|
|
39
|
+
return h('li', { class: 'cd-cards__item' }, source === undefined
|
|
40
|
+
? null
|
|
41
|
+
: h('a', {
|
|
42
|
+
class: 'cd-cards__media cd-frame',
|
|
43
|
+
href: entryHref(entry, ctx),
|
|
44
|
+
tabindex: -1,
|
|
45
|
+
'aria-hidden': 'true',
|
|
46
|
+
}, renderImageSource(source, {
|
|
47
|
+
className: 'cd-frame__image',
|
|
48
|
+
sizes: '(min-width: 64rem) 24rem, (min-width: 40rem) 50vw, 100vw',
|
|
49
|
+
})), h(tag, { class: 'cd-cards__title' }, h('a', { class: 'cd-cards__link', href: entryHref(entry, ctx) }, entryTitle(entry, ctx))), excerpt === undefined ? null : h('p', { class: 'cd-cards__text' }, excerpt), dateOf(entry, ctx, 'cd-cards__date'));
|
|
56
50
|
}
|
|
57
51
|
export function renderCollectionList(block, ctx, entries) {
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
const body =
|
|
62
|
-
? h('p', { class: '
|
|
63
|
-
:
|
|
64
|
-
?
|
|
65
|
-
:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
52
|
+
const tag = nestedHeadingTag('collectionList', block.title !== undefined);
|
|
53
|
+
const docs = block.collection === DOC_PAGE_COLLECTION;
|
|
54
|
+
const shape = entries.length === 0 ? 'empty' : docs ? 'docs' : block.layout;
|
|
55
|
+
const body = shape === 'empty'
|
|
56
|
+
? h('p', { class: 'cd-empty' }, ctx.t('collection.empty'))
|
|
57
|
+
: shape === 'docs'
|
|
58
|
+
? renderDocIndex(entries, ctx, tag)
|
|
59
|
+
: shape === 'list'
|
|
60
|
+
? h('ul', { class: 'cd-index' }, entries.map((entry) => indexRow(entry, ctx, tag)))
|
|
61
|
+
: h('ul', {
|
|
62
|
+
class: 'cd-cards',
|
|
63
|
+
'data-carousel': shape === 'carousel' ? 'true' : 'false',
|
|
64
|
+
...(shape === 'carousel'
|
|
65
|
+
? {
|
|
66
|
+
role: 'region',
|
|
67
|
+
'aria-label': block.title ?? ctx.t('collection.carousel'),
|
|
68
|
+
tabindex: 0,
|
|
69
|
+
}
|
|
70
|
+
: {}),
|
|
71
|
+
}, entries.map((entry) => card(entry, ctx, tag)));
|
|
72
|
+
return section('section', 'collectionList', 'cd-list', { 'data-layout': block.layout, 'data-shape': shape }, 'div', sectionHead('collectionList', block.title), body);
|
|
73
|
+
}
|
|
74
|
+
/** The query this block needs, fetched by the host before any markup is built. */
|
|
75
|
+
export function query(block) {
|
|
76
|
+
return buildCollectionListQuery(block);
|
|
76
77
|
}
|
|
77
78
|
//# sourceMappingURL=collection-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-list.js","sourceRoot":"","sources":["../../../../src/render/blocks/collection-list.ts"],"names":[],"mappings":"AACA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"collection-list.js","sourceRoot":"","sources":["../../../../src/render/blocks/collection-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { CtaBlock } from '@cogenta/blocks';
|
|
2
2
|
import { type HtmlElement, type RenderContext } from '@cogenta/theme-kit';
|
|
3
|
+
/**
|
|
4
|
+
* A closing line: "Stuck on something", "Upgrading from an older version".
|
|
5
|
+
* Between two hairlines held to the width of the content (never a coloured
|
|
6
|
+
* band, never a rule across the gutters): the title and a sentence on the
|
|
7
|
+
* first seven columns, the actions after them on a wide screen.
|
|
8
|
+
*/
|
|
3
9
|
export declare function renderCta(block: CtaBlock, ctx: RenderContext): HtmlElement;
|
|
4
10
|
//# sourceMappingURL=cta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cta.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/cta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"cta.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/cta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAc,KAAK,WAAW,EAAK,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGxF;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAmB1E"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { actionList,
|
|
1
|
+
import { actionList, h } from '@cogenta/theme-kit';
|
|
2
|
+
import { optionalText, section } from '../layout.js';
|
|
3
|
+
/**
|
|
4
|
+
* A closing line: "Stuck on something", "Upgrading from an older version".
|
|
5
|
+
* Between two hairlines held to the width of the content (never a coloured
|
|
6
|
+
* band, never a rule across the gutters): the title and a sentence on the
|
|
7
|
+
* first seven columns, the actions after them on a wide screen.
|
|
8
|
+
*/
|
|
2
9
|
export function renderCta(block, ctx) {
|
|
3
|
-
return
|
|
4
|
-
? null
|
|
5
|
-
: h('p', { class: 'cg-cta__text', 'data-field': 'text' }, block.text), actionList(ctx, block.actions, block.title));
|
|
10
|
+
return section('section', 'cta', 'cd-cta', {}, 'div', h('div', { class: 'cd-cta__panel' }, h('div', { class: 'cd-cta__words' }, h('h2', { class: 'cd-cta__title', 'data-field': 'title' }, block.title), optionalText('p', 'cd-cta__text', block.text, { 'data-field': 'text' })), h('div', { class: 'cd-cta__actions' }, actionList(ctx, block.actions, block.title))));
|
|
6
11
|
}
|
|
7
12
|
//# sourceMappingURL=cta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cta.js","sourceRoot":"","sources":["../../../../src/render/blocks/cta.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"cta.js","sourceRoot":"","sources":["../../../../src/render/blocks/cta.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAoB,CAAC,EAAsB,MAAM,oBAAoB,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAe,EAAE,GAAkB;IAC3D,OAAO,OAAO,CACZ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,EAAE,EACF,KAAK,EACL,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,eAAe,EAAE,EAC1B,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,eAAe,EAAE,EAC1B,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EACvE,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CACxE,EACD,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CACpF,CACF,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,EAAe,KAAK,WAAW,EAAK,KAAK,aAAa,EAAE,MAAM,oBAAoB,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,EAAe,KAAK,WAAW,EAAK,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AA8DzF,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAuC9E"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { aspectRatio, h } from '@cogenta/theme-kit';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* A recorded walkthrough, a talk, a post: embedded in the hairline frame.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Nothing here contacts a third party before the visitor has consented. When
|
|
6
|
+
* `consentRequired` is true (and for a provider this theme cannot embed) the
|
|
7
|
+
* frame holds a short notice and a link to the original instead: no
|
|
8
|
+
* `<iframe>`, no `<script>`, no preconnect, no poster fetched from the
|
|
9
|
+
* provider.
|
|
8
10
|
*/
|
|
9
11
|
function frameSource(provider, rawUrl) {
|
|
10
12
|
const url = URL.parse(rawUrl);
|
|
@@ -38,9 +40,9 @@ function frameSource(provider, rawUrl) {
|
|
|
38
40
|
return null;
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
|
-
function
|
|
42
|
-
return h('div', { class: '
|
|
43
|
-
class: '
|
|
43
|
+
function notice(block, ctx, reason) {
|
|
44
|
+
return h('div', { class: 'cd-embed__notice' }, h('p', { class: 'cd-embed__reason' }, reason), h('a', {
|
|
45
|
+
class: 'cd-arrow-link cd-embed__link',
|
|
44
46
|
href: ctx.link(block.url),
|
|
45
47
|
rel: 'noopener noreferrer nofollow',
|
|
46
48
|
}, ctx.t('embed.open', { provider: block.provider })));
|
|
@@ -49,23 +51,22 @@ export function renderEmbed(block, ctx) {
|
|
|
49
51
|
const source = block.consentRequired ? null : frameSource(block.provider, block.url);
|
|
50
52
|
const ratio = aspectRatio(block.ratio) ?? '16 / 9';
|
|
51
53
|
return h('div', {
|
|
52
|
-
class: '
|
|
54
|
+
class: 'cd-section cd-embed',
|
|
53
55
|
'data-block': 'embed',
|
|
54
56
|
'data-provider': block.provider,
|
|
55
57
|
'data-consent': block.consentRequired ? 'required' : 'not-required',
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
? consentCard(block, ctx, block.consentRequired
|
|
58
|
+
}, h('div', { class: 'cd-container cd-embed__inner' }, h('div', { class: 'cd-embed__frame cd-frame', style: `aspect-ratio:${ratio}` }, source === null
|
|
59
|
+
? notice(block, ctx, block.consentRequired
|
|
59
60
|
? ctx.t('embed.consentRequired', { provider: block.provider })
|
|
60
61
|
: ctx.t('embed.unsupported', { provider: block.provider }))
|
|
61
62
|
: h('iframe', {
|
|
62
|
-
class: '
|
|
63
|
+
class: 'cd-embed__iframe',
|
|
63
64
|
src: source,
|
|
64
65
|
title: ctx.t('embed.title', { provider: block.provider }),
|
|
65
66
|
loading: 'lazy',
|
|
66
67
|
referrerpolicy: 'strict-origin-when-cross-origin',
|
|
67
68
|
allow: 'accelerometer; clipboard-write; encrypted-media; picture-in-picture; fullscreen',
|
|
68
69
|
allowfullscreen: true,
|
|
69
|
-
}));
|
|
70
|
+
}))));
|
|
70
71
|
}
|
|
71
72
|
//# sourceMappingURL=embed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../../src/render/blocks/embed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAoB,CAAC,EAAsB,MAAM,oBAAoB,CAAA;AAEzF
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../../src/render/blocks/embed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { FaqBlock } from '@cogenta/blocks';
|
|
2
2
|
import { type HtmlElement, type RenderContext } from '@cogenta/theme-kit';
|
|
3
|
+
/**
|
|
4
|
+
* Questions a reader asks before reading further ("Which databases are
|
|
5
|
+
* supported"), answered in the open: no disclosure to click. The title on
|
|
6
|
+
* the first four columns, the questions and answers on the last eight in two
|
|
7
|
+
* columns of ruled items on a wide screen, each question a real heading so a
|
|
8
|
+
* screen reader's heading list reaches it.
|
|
9
|
+
*/
|
|
3
10
|
export declare function renderFaq(block: FaqBlock, ctx: RenderContext): HtmlElement;
|
|
4
11
|
//# sourceMappingURL=faq.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faq.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/faq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"faq.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/faq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAuB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAI9F;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAsB1E"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { h, nestedHeadingTag } from '@cogenta/theme-kit';
|
|
2
|
+
import { section, sectionHead } from '../layout.js';
|
|
3
|
+
import { renderDocsRichText } from '../rich-text.js';
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
5
|
+
* Questions a reader asks before reading further ("Which databases are
|
|
6
|
+
* supported"), answered in the open: no disclosure to click. The title on
|
|
7
|
+
* the first four columns, the questions and answers on the last eight in two
|
|
8
|
+
* columns of ruled items on a wide screen, each question a real heading so a
|
|
9
|
+
* screen reader's heading list reaches it.
|
|
6
10
|
*/
|
|
7
|
-
function renderItem(item, ctx) {
|
|
8
|
-
return h('li', { class: 'cg-faq__item' }, h('details', { class: 'cg-faq__details' }, h('summary', { class: 'cg-faq__question' }, item.question), h('div', { class: 'cg-faq__answer' }, renderRichText(ctx, item.answer))));
|
|
9
|
-
}
|
|
10
11
|
export function renderFaq(block, ctx) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
: heading(blockHeadingTag('faq') ?? 'h2', { class: 'cg-faq__title', 'data-field': 'title' }, block.title), h('ul', { class: 'cg-faq__items' }, block.items.map((item) => renderItem(item, ctx))));
|
|
12
|
+
const tag = nestedHeadingTag('faq', block.title !== undefined);
|
|
13
|
+
return section('section', 'faq', 'cd-faq', { 'data-titled': block.title === undefined ? 'false' : 'true' }, 'div', sectionHead('faq', block.title), h('div', { class: 'cd-faq__items' }, block.items.map((item) => h('div', { class: 'cd-faq__item' }, h(tag, { class: 'cd-faq__question' }, item.question), h('div', { class: 'cd-faq__answer cd-rich' }, renderDocsRichText(ctx, item.answer))))));
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=faq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faq.js","sourceRoot":"","sources":["../../../../src/render/blocks/faq.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"faq.js","sourceRoot":"","sources":["../../../../src/render/blocks/faq.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,CAAC,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAA;AAC9F,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAe,EAAE,GAAkB;IAC3D,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;IAC9D,OAAO,OAAO,CACZ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAC/D,KAAK,EACL,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAC/B,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,eAAe,EAAE,EAC1B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,cAAc,EAAE,EACzB,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EACpD,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CACpF,CACF,CACF,CACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-grid.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/feature-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,iBAAiB,CAAA;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"feature-grid.d.ts","sourceRoot":"","sources":["../../../../src/render/blocks/feature-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,iBAAiB,CAAA;AACpE,OAAO,EACL,KAAK,WAAW,EAIhB,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAA;AAkC3B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAgB1F"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { h, href, nestedHeadingTag, renderIcon, } from '@cogenta/theme-kit';
|
|
2
|
+
import { optionalText, section, sectionHead } from '../layout.js';
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Short entries in three columns: "Start here", "Get help". No card, no tile,
|
|
5
|
+
* no background: each entry hangs from a hairline, its title is the link (an
|
|
6
|
+
* underlined arrow link when there is one), and one or two lines under it say
|
|
7
|
+
* what the reader will find. An icon, when the item names one this theme
|
|
8
|
+
* knows, is a small stroke drawing inline before the title in the secondary
|
|
9
|
+
* ink, the size of the text it sits beside.
|
|
6
10
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* already names the card. An unrecognised name keeps the bare, empty
|
|
10
|
-
* `data-icon` span for a skin/plugin to key off.
|
|
11
|
+
* Three columns on a desk, two on a tablet, one on a phone; four items make
|
|
12
|
+
* a row of four on a wide screen, so no row is left with an empty cell.
|
|
11
13
|
*/
|
|
12
|
-
function
|
|
13
|
-
const
|
|
14
|
-
? heading(tag, { class: 'cg-feature__title' }, item.title)
|
|
15
|
-
: heading(tag, { class: 'cg-feature__title' }, h('a', { class: 'cg-feature__link', href: href(ctx, item.link) }, item.title));
|
|
16
|
-
return h('li', { class: 'cg-feature' }, item.icon === undefined
|
|
14
|
+
function entry(item, ctx, tag) {
|
|
15
|
+
const icon = item.icon === undefined
|
|
17
16
|
? null
|
|
18
|
-
:
|
|
17
|
+
: renderIcon(item.icon, { className: 'cd-features__icon', size: 18 });
|
|
18
|
+
return h('li', { class: 'cd-features__item' }, h(tag, { class: 'cd-features__title' }, icon, item.link === undefined
|
|
19
|
+
? h('span', {}, item.title)
|
|
20
|
+
: h('a', { class: 'cd-arrow-link', href: href(ctx, item.link) }, item.title)), optionalText('p', 'cd-features__text', item.text));
|
|
19
21
|
}
|
|
20
22
|
export function renderFeatureGrid(block, ctx) {
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
return
|
|
24
|
-
? heading(blockHeadingTag('featureGrid') ?? 'h2', { class: 'cg-features__title', 'data-field': 'title' }, block.title ?? '')
|
|
25
|
-
: null, h('ul', { class: 'cg-features__items' }, block.items.map((item) => renderItem(item, ctx, itemTag))));
|
|
23
|
+
const tag = nestedHeadingTag('featureGrid', block.title !== undefined);
|
|
24
|
+
const count = block.items.length;
|
|
25
|
+
return section('section', 'featureGrid', 'cd-features', { 'data-count': String(count % 4 === 0 ? 4 : Math.min(count, 3)) }, 'div', sectionHead('featureGrid', block.title), h('ul', { class: 'cd-features__items' }, block.items.map((item) => entry(item, ctx, tag))));
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=feature-grid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-grid.js","sourceRoot":"","sources":["../../../../src/render/blocks/feature-grid.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"feature-grid.js","sourceRoot":"","sources":["../../../../src/render/blocks/feature-grid.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,CAAC,EACD,IAAI,EACJ,gBAAgB,EAEhB,UAAU,GACX,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEjE;;;;;;;;;;GAUG;AACH,SAAS,KAAK,CAAC,IAAiB,EAAE,GAAkB,EAAE,GAAW;IAC/D,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,KAAK,SAAS;QACrB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACzE,OAAO,CAAC,CACN,IAAI,EACJ,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAC9B,CAAC,CACC,GAAG,EACH,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAC/B,IAAI,EACJ,IAAI,CAAC,IAAI,KAAK,SAAS;QACrB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAC/E,EACD,YAAY,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAClD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAuB,EAAE,GAAkB;IAC3E,MAAM,GAAG,GAAG,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAA;IAChC,OAAO,OAAO,CACZ,SAAS,EACT,aAAa,EACb,aAAa,EACb,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAClE,KAAK,EACL,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,EACvC,CAAC,CACC,IAAI,EACJ,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACjD,CACF,CAAA;AACH,CAAC"}
|