bearminion 1.3.0 → 1.5.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 +12 -0
- package/dist/astro.d.ts +2 -2
- package/dist/astro.js +4 -4
- package/dist/content.d.ts +1 -1
- package/dist/content.js +2 -2
- package/dist/index.d.ts +49 -21
- package/dist/index.js +28 -6
- package/dist/{options-BdPRHcqA.d.ts → options-DBfoi9D1.d.ts} +1 -1
- package/dist/{page-DJ6L8RmH.d.ts → page-B5NoN74Q.d.ts} +118 -10
- package/dist/{page-ON4Jkcm-.js → page-NOFVEqn1.js} +125 -3
- package/dist/{preview-CTVEBdEY.js → preview--S1QUrMM.js} +1 -1
- package/dist/{reload-Cq434rtI.js → reload-D0vwI0OT.js} +1 -1
- package/dist/{theme-DMpt3hcT.js → theme-DFjHjgFO.js} +1 -1
- package/dist/{theme-colors-B2kAO2n6.js → theme-colors-CbCyVANH.js} +52 -51
- package/dist/ui/mount.js +1094 -570
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# bearminion
|
|
2
2
|
|
|
3
|
+
## 1.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8a428e7: Sitewide JSON-LD. `site.seo.jsonLd` is optional (up to 10 blocks, 50 KB, so no migration) and the default template emits its blocks on every page. A page's own `seo.jsonLd` still replaces only the generated `WebPage` block, and a block with the same `@id` is emitted once, the page's first. With the conventional ids `<url>/#organization` and `<url>/#website` in the site's blocks, the generated `WebPage` gets `isPartOf` and `publisher` as `@id` references. The Site tab has a Structured data group with an Edit JSON-LD dialog and a Generate button that fills an `Organization` and a `WebSite` from the site name, address and language, replacing blocks with the same `@id`. The logo is added only for a full https address. A warning shows while the site address is still `example.com`. `siteJsonLdIds`, `mergeJsonLd`, `hasJsonLdId`, `generateSiteJsonLd`, `upsertJsonLd` and `isPlaceholderSiteUrl` are exported; themes that emit JSON-LD should use `mergeJsonLd` (see the theme docs).
|
|
8
|
+
|
|
9
|
+
## 1.4.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 5d333af: Cookie banner for analytics. `site.consent` (`enabled`, `title`, `body`, `accept`, `reject`, `settings`, `policyLabel`, `policyHref`) is optional, and the banner is on by default: a site that has analytics snippets now asks visitors first, so one that did not want a banner needs `consent.enabled: false` (Site tab, Cookie banner switch). The template sets Google Consent Mode v2 to denied before any tag, keeps the snippets in `<template>` until the visitor accepts, then sends the update and runs them. A footer link, or a corner cookie icon (`reopen: "icon"`), reopens the banner, and withdrawing clears Google Analytics cookies and reloads. The Site tab has a Cookie banner group with the switch and an Edit banner dialog for the text and a privacy policy link. `siteConsentSchema`, `CONSENT_REOPEN`, `consentCopy`, `CONSENT_COPY`, `CONSENT_LIMITS`, `CONSENT_HREF` and `consentTextIssues` are exported. Themes that emit the snippets should hold them back the same way (see the theme docs).
|
|
14
|
+
|
|
3
15
|
## 1.3.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/dist/astro.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as StoreKeyError, c as createFileStore, i as FileStoreOptions, n as EditorContext, o as StoreOperation, r as ContentStore, s as UploadStore, t as BearminionOptions } from "./options-
|
|
1
|
+
import { A as SectionRegistry, J as SiteDefinition, Y as SiteOf, Yt as ContentMigrator, k as ContentModel, t as Page, u as SectionOf } from "./page-B5NoN74Q.js";
|
|
2
|
+
import { a as StoreKeyError, c as createFileStore, i as FileStoreOptions, n as EditorContext, o as StoreOperation, r as ContentStore, s as UploadStore, t as BearminionOptions } from "./options-DBfoi9D1.js";
|
|
3
3
|
import { AstroIntegration } from "astro";
|
|
4
4
|
//#region src/integration.d.ts
|
|
5
5
|
interface BearminionIntegration extends AstroIntegration {
|
package/dist/astro.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as imageFields, c as ContentReadError, l as ContentValidationError, r as loadThemePreview, t as PreviewUnavailableError } from "./preview
|
|
2
|
-
import { t as defaultTheme } from "./theme-
|
|
3
|
-
import {
|
|
1
|
+
import { a as imageFields, c as ContentReadError, l as ContentValidationError, r as loadThemePreview, t as PreviewUnavailableError } from "./preview--S1QUrMM.js";
|
|
2
|
+
import { t as defaultTheme } from "./theme-DFjHjgFO.js";
|
|
3
|
+
import { i as isSystemPage, n as createPageSchema$1, r as createTolerantPageSchema, s as withoutOrphanSections, u as isOrphanSection } from "./page-NOFVEqn1.js";
|
|
4
4
|
import { a as DEFAULT_UPLOADS_DIR, i as DEFAULT_CONTENT_DIR, n as createMigrator, r as API_PREFIX, t as SCHEMA_VERSION_KEY } from "./migrate-B56wxCiC.js";
|
|
5
|
-
import { a as JSON_BODY_LIMIT, c as isInside, d as resolveDir, f as resolveInside, i as IMAGE_BYTE_LIMIT, l as isLocalRequest, n as contentReloadPlugin, o as MULTIPART_BODY_LIMIT, r as dropEarlyReloadAfterSave, s as asDirectory, u as readSlug } from "./reload-
|
|
5
|
+
import { a as JSON_BODY_LIMIT, c as isInside, d as resolveDir, f as resolveInside, i as IMAGE_BYTE_LIMIT, l as isLocalRequest, n as contentReloadPlugin, o as MULTIPART_BODY_LIMIT, r as dropEarlyReloadAfterSave, s as asDirectory, u as readSlug } from "./reload-D0vwI0OT.js";
|
|
6
6
|
import { S as isAssetPath, b as describeSiteRef, c as projectId, v as assetRefs, y as describePageRef } from "./draft-store-1Y4-sn45.js";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
import fs from "node:fs";
|
package/dist/content.d.ts
CHANGED
package/dist/content.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as createPageSchema, r as createTolerantPageSchema } from "./page-
|
|
1
|
+
import { n as createPageSchema, r as createTolerantPageSchema } from "./page-NOFVEqn1.js";
|
|
2
2
|
import { n as createMigrator } from "./migrate-B56wxCiC.js";
|
|
3
|
-
import { t as CONTENT_COLLECTIONS_MARKER } from "./reload-
|
|
3
|
+
import { t as CONTENT_COLLECTIONS_MARKER } from "./reload-D0vwI0OT.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { pathToFileURL } from "node:url";
|
|
6
6
|
import path from "node:path";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as brandLogoSchema, $t as createMigrator, A as SectionRegistry, At as wireframeIssues, B as FooterColumn, Bt as themeModes, C as jsonLdWarnings, Ct as SectionDefinition, D as upsertJsonLd, Dt as Wireframe, E as siteJsonLdIds, Et as WireRect, F as defineTheme, Ft as NumberOption, G as SiteAnalytics, Gt as FieldIcons, H as Header, Ht as tones, I as BRAND_LOGO_HEIGHT, It as Option, J as SiteDefinition, Jt as ContentMigration, K as SiteConfig, Kt as ShowCondition, L as DEFAULT_MAX_FOOTER_COLUMNS, Lt as StringOption, M as ThemeDefinition, Mt as BooleanOption, N as ThemeFont, Nt as CountRule, O as API_PREFIX, Ot as defineWireframe, P as defaultTheme, Pt as EnumOption, Q as Theme, Qt as SCHEMA_VERSION_KEY, R as DEFAULT_MAX_HEADER_ACTIONS, Rt as buttonStyles, S as jsonLdSchema, St as SectionConfig, T as parseJsonLdInput, Tt as WireKind, U as HeaderConfig, Ut as variantOption, V as FooterConfig, Vt as toneOption, W as Site, Wt as FieldChoices, X as SiteSeo, Xt as ContentVersioning, Y as SiteOf, Yt as ContentMigrator, Z as SiteWith, Zt as DocumentKind, _ as SiteJsonLdSource, _t as textMarkSchema, a as isSystemPage, at as themeSchema, b as hasJsonLdId, bt as trackingIdSchema, c as BaseSection, ct as Link, d as anchorSchema, dt as Text, et as defineSite, f as createSectionSchema, ft as Tone, g as SiteJsonLdIds, gt as richTextSchema, h as JsonLdResult, ht as linkSchema, i as createPageSchema, it as themeColorsSchema, j as ThemeConfig, jt as OptionalContent, k as ContentModel, kt as wireKinds, l as PropsOf, lt as MAX_NAV_DEPTH, m as JsonLdBlock, mt as imageSchema, n as SYSTEM_PAGES, nt as siteConsentSchema, o as seoSchema, ot as ButtonStyle, p as sectionIdSchema, pt as htmlIdSchema, q as SiteConsent, qt as ShowWhen, r as Seo, rt as siteSeoSchema, s as withoutOrphanSections, st as Image, t as Page, tt as siteAnalyticsSchema, u as SectionOf, ut as RichText, v as formatJsonLd, vt as textSchema, w as mergeJsonLd, wt as defineSection, x as isPlaceholderSiteUrl, xt as withEmphasis, y as generateSiteJsonLd, yt as toneSchema, z as Footer, zt as motionOption } from "./page-B5NoN74Q.js";
|
|
2
2
|
import { _ as renderMarkedHtml, a as WeightMark, f as markClass, g as reconcileMarks, i as TextRun, l as fontMarks, m as marksFromEmphasis, o as applyTextMark, r as TextMark, t as FontMark, v as splitMarkedText, y as weightMarks } from "./marks-BzLa48Y9.js";
|
|
3
|
-
import "./options-
|
|
3
|
+
import "./options-DBfoi9D1.js";
|
|
4
4
|
//#region src/errors.d.ts
|
|
5
5
|
/** One schema problem, addressed by a dot path such as `sections.0.props.heading`. */
|
|
6
6
|
interface ContentIssue {
|
|
@@ -162,25 +162,53 @@ interface SitePreview {
|
|
|
162
162
|
footer: string;
|
|
163
163
|
}
|
|
164
164
|
//#endregion
|
|
165
|
-
//#region src/
|
|
166
|
-
/**
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
ok: false;
|
|
173
|
-
error: string;
|
|
165
|
+
//#region src/consent.d.ts
|
|
166
|
+
/** Longest copy the consent banner takes, in characters. The editor shows the same limits. */
|
|
167
|
+
export declare const CONSENT_LIMITS: {
|
|
168
|
+
readonly title: 80;
|
|
169
|
+
readonly body: 400;
|
|
170
|
+
readonly button: 30;
|
|
171
|
+
readonly link: 40;
|
|
174
172
|
};
|
|
175
|
-
/**
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
*/
|
|
179
|
-
export declare
|
|
180
|
-
/** The
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
173
|
+
/** Where visitors reopen the banner: a link in the footer, or a small fixed icon in the bottom-left corner. */
|
|
174
|
+
export declare const CONSENT_REOPEN: readonly ["footer", "icon"];
|
|
175
|
+
type ConsentReopen = (typeof CONSENT_REOPEN)[number];
|
|
176
|
+
/** A policy link points to a path on this site, an anchor or an http(s) address, so it cannot run script. */
|
|
177
|
+
export declare const CONSENT_HREF: RegExp;
|
|
178
|
+
/** The texts of the banner. Each one is optional in `site.consent`; a theme falls back to {@link CONSENT_COPY}. */
|
|
179
|
+
interface ConsentText {
|
|
180
|
+
title?: string;
|
|
181
|
+
body?: string;
|
|
182
|
+
accept?: string;
|
|
183
|
+
reject?: string;
|
|
184
|
+
/** The footer link that reopens the banner, and the label of the corner icon. */
|
|
185
|
+
settings?: string;
|
|
186
|
+
policyLabel?: string;
|
|
187
|
+
policyHref?: string;
|
|
188
|
+
}
|
|
189
|
+
type ConsentTextKey = keyof ConsentText;
|
|
190
|
+
interface ConsentCopy {
|
|
191
|
+
title: string;
|
|
192
|
+
body: string;
|
|
193
|
+
accept: string;
|
|
194
|
+
reject: string;
|
|
195
|
+
settings: string;
|
|
196
|
+
policyLabel: string;
|
|
197
|
+
policyHref?: string;
|
|
198
|
+
}
|
|
199
|
+
/** The banner's words when `site.consent` does not set its own. The editor shows them, and themes render them. */
|
|
200
|
+
export declare const CONSENT_COPY: {
|
|
201
|
+
readonly title: "Cookies";
|
|
202
|
+
readonly body: "This site counts visits with analytics cookies. Nothing is loaded until you accept.";
|
|
203
|
+
readonly accept: "Accept";
|
|
204
|
+
readonly reject: "Reject";
|
|
205
|
+
readonly settings: "Cookie settings";
|
|
206
|
+
readonly policyLabel: "Privacy policy";
|
|
207
|
+
};
|
|
208
|
+
/** `site.consent` laid over the defaults. */
|
|
209
|
+
export declare function consentCopy(consent?: ConsentText): ConsentCopy;
|
|
210
|
+
/** What is wrong with a draft of the banner copy, per field. The same rules as `siteConsentSchema`, without zod. */
|
|
211
|
+
export declare function consentTextIssues(copy: ConsentText): Partial<Record<ConsentTextKey, string>>;
|
|
184
212
|
//#endregion
|
|
185
213
|
//#region src/theme-colors.d.ts
|
|
186
214
|
/**
|
|
@@ -244,4 +272,4 @@ interface ContrastCheck {
|
|
|
244
272
|
/** Text pairs a visitor reads: text on its background, label on the accent fill, link on its background. */
|
|
245
273
|
export declare function contrastChecks(colors: ThemeColors | undefined): ContrastCheck[];
|
|
246
274
|
//#endregion
|
|
247
|
-
export { API_PREFIX, type ApiIssue, type ApiProblem, BRAND_LOGO_HEIGHT, type BaseSection, type BooleanOption, type ButtonStyle, type ChangedFile, type CommitRequest, type CommitResult, type ContentIssue, type ContentMigration, type ContentMigrator, type ContentModel, type ContentVersioning, type ContrastCheck, type CountRule, type CreatePageRequest, DEFAULT_MAX_FOOTER_COLUMNS, DEFAULT_MAX_HEADER_ACTIONS, type DocumentKind, type EnumOption, type FieldChoices, type FieldIcons, type FontMark, type Footer, type FooterColumn, type FooterConfig, type GitInfo, type Header, type HeaderConfig, type HistoryEntry, type Image, type ImageFit, type ImagePosition, type JsonLdBlock, type JsonLdResult, type Link, MAX_NAV_DEPTH, type NumberOption, type Option, type OptionalContent, type Page, type PageListItem, type PropsOf, type RichText, SCHEMA_VERSION_KEY, SYSTEM_PAGES, type SaveRequest, type SaveResponse, type SectionConfig, type SectionDefinition, type SectionOf, type SectionRegistry, type Seo, type ShowCondition, type ShowWhen, type Site, type SiteAnalytics, type SiteConfig, type SiteDefinition, type SiteOf, type SitePreview, type SitePreviewHtml, type SiteSeo, type SiteWith, type StringOption, type Text, type TextMark, type TextRun, type Theme, type ThemeColors, type ThemeConfig, type ThemeDefinition, type ThemeFont, type ThemePreview, type Tone, type UploadedImage, type WeightMark, type WireKind, type WireRect, type Wireframe, anchorSchema, applyTextMark, brandLogoSchema, buttonStyles, createMigrator, createPageSchema, createSectionSchema, defaultTheme, defineSection, defineSite, defineTheme, defineWireframe, fontMarks, htmlIdSchema, imageSchema, isSystemPage, jsonLdSchema, linkSchema, markClass, marksFromEmphasis, motionOption, reconcileMarks, renderMarkedHtml, richTextSchema, sectionIdSchema, seoSchema, siteAnalyticsSchema, siteSeoSchema, splitMarkedText, textMarkSchema, textSchema, themeColorsSchema, themeModes, themeSchema, toneOption, toneSchema, tones, trackingIdSchema, variantOption, weightMarks, wireKinds, wireframeIssues, withEmphasis, withoutOrphanSections };
|
|
275
|
+
export { API_PREFIX, type ApiIssue, type ApiProblem, BRAND_LOGO_HEIGHT, type BaseSection, type BooleanOption, type ButtonStyle, type ChangedFile, type CommitRequest, type CommitResult, type ConsentCopy, type ConsentReopen, type ConsentText, type ConsentTextKey, type ContentIssue, type ContentMigration, type ContentMigrator, type ContentModel, type ContentVersioning, type ContrastCheck, type CountRule, type CreatePageRequest, DEFAULT_MAX_FOOTER_COLUMNS, DEFAULT_MAX_HEADER_ACTIONS, type DocumentKind, type EnumOption, type FieldChoices, type FieldIcons, type FontMark, type Footer, type FooterColumn, type FooterConfig, type GitInfo, type Header, type HeaderConfig, type HistoryEntry, type Image, type ImageFit, type ImagePosition, type JsonLdBlock, type JsonLdResult, type Link, MAX_NAV_DEPTH, type NumberOption, type Option, type OptionalContent, type Page, type PageListItem, type PropsOf, type RichText, SCHEMA_VERSION_KEY, SYSTEM_PAGES, type SaveRequest, type SaveResponse, type SectionConfig, type SectionDefinition, type SectionOf, type SectionRegistry, type Seo, type ShowCondition, type ShowWhen, type Site, type SiteAnalytics, type SiteConfig, type SiteConsent, type SiteDefinition, type SiteJsonLdIds, type SiteJsonLdSource, type SiteOf, type SitePreview, type SitePreviewHtml, type SiteSeo, type SiteWith, type StringOption, type Text, type TextMark, type TextRun, type Theme, type ThemeColors, type ThemeConfig, type ThemeDefinition, type ThemeFont, type ThemePreview, type Tone, type UploadedImage, type WeightMark, type WireKind, type WireRect, type Wireframe, anchorSchema, applyTextMark, brandLogoSchema, buttonStyles, createMigrator, createPageSchema, createSectionSchema, defaultTheme, defineSection, defineSite, defineTheme, defineWireframe, fontMarks, formatJsonLd, generateSiteJsonLd, hasJsonLdId, htmlIdSchema, imageSchema, isPlaceholderSiteUrl, isSystemPage, jsonLdSchema, jsonLdWarnings, linkSchema, markClass, marksFromEmphasis, mergeJsonLd, motionOption, parseJsonLdInput, reconcileMarks, renderMarkedHtml, richTextSchema, sectionIdSchema, seoSchema, siteAnalyticsSchema, siteConsentSchema, siteJsonLdIds, siteSeoSchema, splitMarkedText, textMarkSchema, textSchema, themeColorsSchema, themeModes, themeSchema, toneOption, toneSchema, tones, trackingIdSchema, upsertJsonLd, variantOption, weightMarks, wireKinds, wireframeIssues, withEmphasis, withoutOrphanSections };
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as ContentReadError, i as enumFields, l as ContentValidationError, n as defineThemePreview, o as schemaProps, s as ContentError, u as formatContentIssues } from "./preview
|
|
2
|
-
import { n as defineTheme, t as defaultTheme } from "./theme-
|
|
3
|
-
import { A as
|
|
1
|
+
import { c as ContentReadError, i as enumFields, l as ContentValidationError, n as defineThemePreview, o as schemaProps, s as ContentError, u as formatContentIssues } from "./preview--S1QUrMM.js";
|
|
2
|
+
import { n as defineTheme, t as defaultTheme } from "./theme-DFjHjgFO.js";
|
|
3
|
+
import { A as textSchema, C as MAX_NAV_DEPTH, D as linkSchema, E as imageSchema, F as DEFAULT_IMAGE_POSITION, G as tones, H as motionOption, I as IMAGE_FITS, K as variantOption, L as IMAGE_POSITIONS, M as trackingIdSchema, N as withEmphasis, O as richTextSchema, P as DEFAULT_IMAGE_FIT, R as isImageFit, S as upsertJsonLd, T as htmlIdSchema, U as themeModes, V as buttonStyles, W as toneOption, _ as jsonLdSchema, a as seoSchema, b as parseJsonLdInput, c as anchorSchema, d as sectionIdSchema, f as walkLinkIds, g as isPlaceholderSiteUrl, h as hasJsonLdId, i as isSystemPage, j as toneSchema, k as textMarkSchema, l as createSectionSchema, m as generateSiteJsonLd, n as createPageSchema, p as formatJsonLd, s as withoutOrphanSections, t as SYSTEM_PAGES, v as jsonLdWarnings, w as addMarkIssues, x as siteJsonLdIds, y as mergeJsonLd, z as isImagePosition } from "./page-NOFVEqn1.js";
|
|
4
4
|
import { applyTextMark, fontMarks, markClass, marksFromEmphasis, reconcileMarks, renderMarkedHtml, splitMarkedText, weightMarks } from "./marks.js";
|
|
5
5
|
import { n as createMigrator, r as API_PREFIX, t as SCHEMA_VERSION_KEY } from "./migrate-B56wxCiC.js";
|
|
6
|
-
import { a as contrastRatio, c as hasThemeColors, d as tokenToHex, f as
|
|
6
|
+
import { _ as consentCopy, a as contrastRatio, c as hasThemeColors, d as tokenToHex, f as CONSENT_COPY, g as CONSENT_REOPEN, h as CONSENT_LIMITS, i as contrastChecks, l as hexToToken, m as CONSENT_HREF_MESSAGE, n as HEX_COLOR, o as derivePalette, p as CONSENT_HREF, s as hasOverrides, u as themeCss, v as consentTextIssues } from "./theme-colors-CbCyVANH.js";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
//#region src/wireframe.ts
|
|
9
9
|
/**
|
|
@@ -239,7 +239,9 @@ const siteSeoSchema = z.object({
|
|
|
239
239
|
/** `%s` is replaced with the page SEO title. */
|
|
240
240
|
titleTemplate: z.string().min(1).optional(),
|
|
241
241
|
description: z.string().optional(),
|
|
242
|
-
ogImage: z.string().min(1).optional()
|
|
242
|
+
ogImage: z.string().min(1).optional(),
|
|
243
|
+
/** Structured data emitted on every page, such as `Organization` and `WebSite`. A page's own blocks add to it. */
|
|
244
|
+
jsonLd: jsonLdSchema.optional()
|
|
243
245
|
}).strict();
|
|
244
246
|
/**
|
|
245
247
|
* Raw HTML snippets for analytics and similar tags. A theme renders `head` at the end of `<head>` and
|
|
@@ -249,6 +251,25 @@ const siteAnalyticsSchema = z.object({
|
|
|
249
251
|
head: z.string().max(2e4).optional(),
|
|
250
252
|
bodyEnd: z.string().max(2e4).optional()
|
|
251
253
|
}).strict();
|
|
254
|
+
/**
|
|
255
|
+
* The cookie consent banner. A theme shows it whenever it ships analytics snippets, unless `enabled` is
|
|
256
|
+
* `false`, and holds the snippets back until the visitor accepts. Every text is optional: the theme has a default.
|
|
257
|
+
*/
|
|
258
|
+
const siteConsentSchema = z.object({
|
|
259
|
+
/** Only `false` turns the banner off. Absent means on. */
|
|
260
|
+
enabled: z.boolean().optional(),
|
|
261
|
+
/** Where visitors reopen the banner. Absent means a link in the footer. */
|
|
262
|
+
reopen: z.enum(CONSENT_REOPEN).optional(),
|
|
263
|
+
title: z.string().min(1).max(CONSENT_LIMITS.title).optional(),
|
|
264
|
+
body: z.string().min(1).max(CONSENT_LIMITS.body).optional(),
|
|
265
|
+
accept: z.string().min(1).max(CONSENT_LIMITS.button).optional(),
|
|
266
|
+
reject: z.string().min(1).max(CONSENT_LIMITS.button).optional(),
|
|
267
|
+
/** The footer link that reopens the banner, and the label of the corner icon. */
|
|
268
|
+
settings: z.string().min(1).max(CONSENT_LIMITS.link).optional(),
|
|
269
|
+
policyLabel: z.string().min(1).max(CONSENT_LIMITS.link).optional(),
|
|
270
|
+
/** A path on this site or an http(s) address. Nothing else, so the link cannot run script. */
|
|
271
|
+
policyHref: z.string().min(1).max(500).regex(CONSENT_HREF, CONSENT_HREF_MESSAGE).optional()
|
|
272
|
+
}).strict();
|
|
252
273
|
/** Height range in px. Unset means the wordmark's own height, 28. */
|
|
253
274
|
const BRAND_LOGO_HEIGHT = {
|
|
254
275
|
min: 16,
|
|
@@ -283,6 +304,7 @@ function createSiteSchema(header, footer) {
|
|
|
283
304
|
brandLogo: brandLogoSchema.optional(),
|
|
284
305
|
seo: siteSeoSchema,
|
|
285
306
|
analytics: siteAnalyticsSchema.optional(),
|
|
307
|
+
consent: siteConsentSchema.optional(),
|
|
286
308
|
theme: themeSchema.default({
|
|
287
309
|
mode: "light",
|
|
288
310
|
motion: true
|
|
@@ -419,4 +441,4 @@ function defineSite(config) {
|
|
|
419
441
|
};
|
|
420
442
|
}
|
|
421
443
|
//#endregion
|
|
422
|
-
export { API_PREFIX, BRAND_LOGO_HEIGHT, ContentError, ContentReadError, ContentValidationError, DEFAULT_IMAGE_FIT, DEFAULT_IMAGE_POSITION, DEFAULT_MAX_FOOTER_COLUMNS, DEFAULT_MAX_HEADER_ACTIONS, HEX_COLOR, IMAGE_FITS, IMAGE_POSITIONS, MAX_NAV_DEPTH, SCHEMA_VERSION_KEY, SYSTEM_PAGES, anchorSchema, applyTextMark, brandLogoSchema, buttonStyles, contrastChecks, contrastRatio, createMigrator, createPageSchema, createSectionSchema, defaultTheme, defineSection, defineSite, defineTheme, defineThemePreview, defineWireframe, derivePalette, fontMarks, formatJsonLd, hasOverrides, hasThemeColors, hexToToken, htmlIdSchema, imageSchema, isImageFit, isImagePosition, isSystemPage, jsonLdSchema, jsonLdWarnings, linkSchema, markClass, marksFromEmphasis, motionOption, parseJsonLdInput, reconcileMarks, renderMarkedHtml, richTextSchema, sectionIdSchema, seoSchema, siteAnalyticsSchema, siteSeoSchema, splitMarkedText, textMarkSchema, textSchema, themeColorsSchema, themeCss, themeModes, themeSchema, tokenToHex, toneOption, toneSchema, tones, trackingIdSchema, variantOption, weightMarks, wireKinds, wireframeIssues, withEmphasis, withoutOrphanSections };
|
|
444
|
+
export { API_PREFIX, BRAND_LOGO_HEIGHT, CONSENT_COPY, CONSENT_HREF, CONSENT_LIMITS, CONSENT_REOPEN, ContentError, ContentReadError, ContentValidationError, DEFAULT_IMAGE_FIT, DEFAULT_IMAGE_POSITION, DEFAULT_MAX_FOOTER_COLUMNS, DEFAULT_MAX_HEADER_ACTIONS, HEX_COLOR, IMAGE_FITS, IMAGE_POSITIONS, MAX_NAV_DEPTH, SCHEMA_VERSION_KEY, SYSTEM_PAGES, anchorSchema, applyTextMark, brandLogoSchema, buttonStyles, consentCopy, consentTextIssues, contrastChecks, contrastRatio, createMigrator, createPageSchema, createSectionSchema, defaultTheme, defineSection, defineSite, defineTheme, defineThemePreview, defineWireframe, derivePalette, fontMarks, formatJsonLd, generateSiteJsonLd, hasJsonLdId, hasOverrides, hasThemeColors, hexToToken, htmlIdSchema, imageSchema, isImageFit, isImagePosition, isPlaceholderSiteUrl, isSystemPage, jsonLdSchema, jsonLdWarnings, linkSchema, markClass, marksFromEmphasis, mergeJsonLd, motionOption, parseJsonLdInput, reconcileMarks, renderMarkedHtml, richTextSchema, sectionIdSchema, seoSchema, siteAnalyticsSchema, siteConsentSchema, siteJsonLdIds, siteSeoSchema, splitMarkedText, textMarkSchema, textSchema, themeColorsSchema, themeCss, themeModes, themeSchema, tokenToHex, toneOption, toneSchema, tones, trackingIdSchema, upsertJsonLd, variantOption, weightMarks, wireKinds, wireframeIssues, withEmphasis, withoutOrphanSections };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as SectionRegistry, J as SiteDefinition, M as ThemeDefinition, Yt as ContentMigrator, k as ContentModel } from "./page-B5NoN74Q.js";
|
|
2
2
|
//#region src/images.d.ts
|
|
3
3
|
type ImageKind = 'png' | 'jpeg' | 'webp' | 'gif' | 'avif';
|
|
4
4
|
interface SavedImage {
|
|
@@ -271,10 +271,10 @@ declare const textMarkSchema: z.ZodObject<{
|
|
|
271
271
|
start: z.ZodNumber;
|
|
272
272
|
end: z.ZodNumber;
|
|
273
273
|
weight: z.ZodOptional<z.ZodEnum<{
|
|
274
|
-
bold: "bold";
|
|
275
274
|
regular: "regular";
|
|
276
275
|
medium: "medium";
|
|
277
276
|
semibold: "semibold";
|
|
277
|
+
bold: "bold";
|
|
278
278
|
}>>;
|
|
279
279
|
italic: z.ZodOptional<z.ZodBoolean>;
|
|
280
280
|
font: z.ZodOptional<z.ZodEnum<{
|
|
@@ -315,10 +315,10 @@ declare function withEmphasis<T extends z.ZodRawShape>(shape: T): z.ZodPipe<z.Zo
|
|
|
315
315
|
start: z.ZodNumber;
|
|
316
316
|
end: z.ZodNumber;
|
|
317
317
|
weight: z.ZodOptional<z.ZodEnum<{
|
|
318
|
-
bold: "bold";
|
|
319
318
|
regular: "regular";
|
|
320
319
|
medium: "medium";
|
|
321
320
|
semibold: "semibold";
|
|
321
|
+
bold: "bold";
|
|
322
322
|
}>>;
|
|
323
323
|
italic: z.ZodOptional<z.ZodBoolean>;
|
|
324
324
|
font: z.ZodOptional<z.ZodEnum<{
|
|
@@ -333,10 +333,10 @@ declare function withEmphasis<T extends z.ZodRawShape>(shape: T): z.ZodPipe<z.Zo
|
|
|
333
333
|
start: z.ZodNumber;
|
|
334
334
|
end: z.ZodNumber;
|
|
335
335
|
weight: z.ZodOptional<z.ZodEnum<{
|
|
336
|
-
bold: "bold";
|
|
337
336
|
regular: "regular";
|
|
338
337
|
medium: "medium";
|
|
339
338
|
semibold: "semibold";
|
|
339
|
+
bold: "bold";
|
|
340
340
|
}>>;
|
|
341
341
|
italic: z.ZodOptional<z.ZodBoolean>;
|
|
342
342
|
font: z.ZodOptional<z.ZodEnum<{
|
|
@@ -353,10 +353,10 @@ declare function withEmphasis<T extends z.ZodRawShape>(shape: T): z.ZodPipe<z.Zo
|
|
|
353
353
|
start: z.ZodNumber;
|
|
354
354
|
end: z.ZodNumber;
|
|
355
355
|
weight: z.ZodOptional<z.ZodEnum<{
|
|
356
|
-
bold: "bold";
|
|
357
356
|
regular: "regular";
|
|
358
357
|
medium: "medium";
|
|
359
358
|
semibold: "semibold";
|
|
359
|
+
bold: "bold";
|
|
360
360
|
}>>;
|
|
361
361
|
italic: z.ZodOptional<z.ZodBoolean>;
|
|
362
362
|
font: z.ZodOptional<z.ZodEnum<{
|
|
@@ -567,6 +567,7 @@ declare const siteSeoSchema: z.ZodObject<{
|
|
|
567
567
|
titleTemplate: z.ZodOptional<z.ZodString>;
|
|
568
568
|
description: z.ZodOptional<z.ZodString>;
|
|
569
569
|
ogImage: z.ZodOptional<z.ZodString>;
|
|
570
|
+
jsonLd: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
570
571
|
}, z.core.$strict>;
|
|
571
572
|
/**
|
|
572
573
|
* Raw HTML snippets for analytics and similar tags. A theme renders `head` at the end of `<head>` and
|
|
@@ -576,6 +577,24 @@ declare const siteAnalyticsSchema: z.ZodObject<{
|
|
|
576
577
|
head: z.ZodOptional<z.ZodString>;
|
|
577
578
|
bodyEnd: z.ZodOptional<z.ZodString>;
|
|
578
579
|
}, z.core.$strict>;
|
|
580
|
+
/**
|
|
581
|
+
* The cookie consent banner. A theme shows it whenever it ships analytics snippets, unless `enabled` is
|
|
582
|
+
* `false`, and holds the snippets back until the visitor accepts. Every text is optional: the theme has a default.
|
|
583
|
+
*/
|
|
584
|
+
declare const siteConsentSchema: z.ZodObject<{
|
|
585
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
586
|
+
reopen: z.ZodOptional<z.ZodEnum<{
|
|
587
|
+
footer: "footer";
|
|
588
|
+
icon: "icon";
|
|
589
|
+
}>>;
|
|
590
|
+
title: z.ZodOptional<z.ZodString>;
|
|
591
|
+
body: z.ZodOptional<z.ZodString>;
|
|
592
|
+
accept: z.ZodOptional<z.ZodString>;
|
|
593
|
+
reject: z.ZodOptional<z.ZodString>;
|
|
594
|
+
settings: z.ZodOptional<z.ZodString>;
|
|
595
|
+
policyLabel: z.ZodOptional<z.ZodString>;
|
|
596
|
+
policyHref: z.ZodOptional<z.ZodString>;
|
|
597
|
+
}, z.core.$strict>;
|
|
579
598
|
/** Height range in px. Unset means the wordmark's own height, 28. */
|
|
580
599
|
declare const BRAND_LOGO_HEIGHT: {
|
|
581
600
|
readonly min: 16;
|
|
@@ -594,10 +613,10 @@ declare function createSiteSchema(header: HeaderParts, footer: FooterParts): z.Z
|
|
|
594
613
|
start: z.ZodNumber;
|
|
595
614
|
end: z.ZodNumber;
|
|
596
615
|
weight: z.ZodOptional<z.ZodEnum<{
|
|
597
|
-
bold: "bold";
|
|
598
616
|
regular: "regular";
|
|
599
617
|
medium: "medium";
|
|
600
618
|
semibold: "semibold";
|
|
619
|
+
bold: "bold";
|
|
601
620
|
}>>;
|
|
602
621
|
italic: z.ZodOptional<z.ZodBoolean>;
|
|
603
622
|
font: z.ZodOptional<z.ZodEnum<{
|
|
@@ -659,11 +678,26 @@ declare function createSiteSchema(header: HeaderParts, footer: FooterParts): z.Z
|
|
|
659
678
|
titleTemplate: z.ZodOptional<z.ZodString>;
|
|
660
679
|
description: z.ZodOptional<z.ZodString>;
|
|
661
680
|
ogImage: z.ZodOptional<z.ZodString>;
|
|
681
|
+
jsonLd: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
662
682
|
}, z.core.$strict>;
|
|
663
683
|
analytics: z.ZodOptional<z.ZodObject<{
|
|
664
684
|
head: z.ZodOptional<z.ZodString>;
|
|
665
685
|
bodyEnd: z.ZodOptional<z.ZodString>;
|
|
666
686
|
}, z.core.$strict>>;
|
|
687
|
+
consent: z.ZodOptional<z.ZodObject<{
|
|
688
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
689
|
+
reopen: z.ZodOptional<z.ZodEnum<{
|
|
690
|
+
footer: "footer";
|
|
691
|
+
icon: "icon";
|
|
692
|
+
}>>;
|
|
693
|
+
title: z.ZodOptional<z.ZodString>;
|
|
694
|
+
body: z.ZodOptional<z.ZodString>;
|
|
695
|
+
accept: z.ZodOptional<z.ZodString>;
|
|
696
|
+
reject: z.ZodOptional<z.ZodString>;
|
|
697
|
+
settings: z.ZodOptional<z.ZodString>;
|
|
698
|
+
policyLabel: z.ZodOptional<z.ZodString>;
|
|
699
|
+
policyHref: z.ZodOptional<z.ZodString>;
|
|
700
|
+
}, z.core.$strict>>;
|
|
667
701
|
theme: z.ZodDefault<z.ZodObject<{
|
|
668
702
|
mode: z.ZodPreprocess<z.ZodDefault<z.ZodEnum<{
|
|
669
703
|
light: "light";
|
|
@@ -814,7 +848,7 @@ declare function createSiteSchema(header: HeaderParts, footer: FooterParts): z.Z
|
|
|
814
848
|
nameMarks: {
|
|
815
849
|
start: number;
|
|
816
850
|
end: number;
|
|
817
|
-
weight?: "
|
|
851
|
+
weight?: "regular" | "medium" | "semibold" | "bold" | undefined;
|
|
818
852
|
italic?: boolean | undefined;
|
|
819
853
|
font?: "sans" | "serif" | "mono" | undefined;
|
|
820
854
|
}[] | undefined;
|
|
@@ -824,6 +858,7 @@ declare function createSiteSchema(header: HeaderParts, footer: FooterParts): z.Z
|
|
|
824
858
|
titleTemplate?: string | undefined;
|
|
825
859
|
description?: string | undefined;
|
|
826
860
|
ogImage?: string | undefined;
|
|
861
|
+
jsonLd?: Record<string, unknown>[] | undefined;
|
|
827
862
|
};
|
|
828
863
|
theme: {
|
|
829
864
|
mode: "light" | "dark";
|
|
@@ -941,6 +976,17 @@ declare function createSiteSchema(header: HeaderParts, footer: FooterParts): z.Z
|
|
|
941
976
|
head?: string | undefined;
|
|
942
977
|
bodyEnd?: string | undefined;
|
|
943
978
|
} | undefined;
|
|
979
|
+
consent?: {
|
|
980
|
+
enabled?: boolean | undefined;
|
|
981
|
+
reopen?: "footer" | "icon" | undefined;
|
|
982
|
+
title?: string | undefined;
|
|
983
|
+
body?: string | undefined;
|
|
984
|
+
accept?: string | undefined;
|
|
985
|
+
reject?: string | undefined;
|
|
986
|
+
settings?: string | undefined;
|
|
987
|
+
policyLabel?: string | undefined;
|
|
988
|
+
policyHref?: string | undefined;
|
|
989
|
+
} | undefined;
|
|
944
990
|
}, {
|
|
945
991
|
name: string;
|
|
946
992
|
url: string;
|
|
@@ -948,6 +994,7 @@ declare function createSiteSchema(header: HeaderParts, footer: FooterParts): z.Z
|
|
|
948
994
|
titleTemplate?: string | undefined;
|
|
949
995
|
description?: string | undefined;
|
|
950
996
|
ogImage?: string | undefined;
|
|
997
|
+
jsonLd?: Record<string, unknown>[] | undefined;
|
|
951
998
|
};
|
|
952
999
|
theme: {
|
|
953
1000
|
mode: "light" | "dark";
|
|
@@ -1059,7 +1106,7 @@ declare function createSiteSchema(header: HeaderParts, footer: FooterParts): z.Z
|
|
|
1059
1106
|
nameMarks?: {
|
|
1060
1107
|
start: number;
|
|
1061
1108
|
end: number;
|
|
1062
|
-
weight?: "
|
|
1109
|
+
weight?: "regular" | "medium" | "semibold" | "bold" | undefined;
|
|
1063
1110
|
italic?: boolean | undefined;
|
|
1064
1111
|
font?: "sans" | "serif" | "mono" | undefined;
|
|
1065
1112
|
}[] | undefined;
|
|
@@ -1087,11 +1134,23 @@ declare function createSiteSchema(header: HeaderParts, footer: FooterParts): z.Z
|
|
|
1087
1134
|
head?: string | undefined;
|
|
1088
1135
|
bodyEnd?: string | undefined;
|
|
1089
1136
|
} | undefined;
|
|
1137
|
+
consent?: {
|
|
1138
|
+
enabled?: boolean | undefined;
|
|
1139
|
+
reopen?: "footer" | "icon" | undefined;
|
|
1140
|
+
title?: string | undefined;
|
|
1141
|
+
body?: string | undefined;
|
|
1142
|
+
accept?: string | undefined;
|
|
1143
|
+
reject?: string | undefined;
|
|
1144
|
+
settings?: string | undefined;
|
|
1145
|
+
policyLabel?: string | undefined;
|
|
1146
|
+
policyHref?: string | undefined;
|
|
1147
|
+
} | undefined;
|
|
1090
1148
|
}>>;
|
|
1091
1149
|
type Theme = z.infer<typeof themeSchema>;
|
|
1092
1150
|
type FooterColumn = z.infer<typeof footerColumnSchema>;
|
|
1093
1151
|
type SiteSeo = z.infer<typeof siteSeoSchema>;
|
|
1094
1152
|
type SiteAnalytics = z.infer<typeof siteAnalyticsSchema>;
|
|
1153
|
+
type SiteConsent = z.infer<typeof siteConsentSchema>;
|
|
1095
1154
|
type AnySite = z.output<ReturnType<typeof createSiteSchema>>;
|
|
1096
1155
|
/** A site with header and footer variants as plain strings. {@link SiteWith} narrows them. */
|
|
1097
1156
|
type Header = AnySite['header'];
|
|
@@ -1213,6 +1272,57 @@ interface ContentModel extends ContentVersioning {
|
|
|
1213
1272
|
theme?: ThemeDefinition;
|
|
1214
1273
|
}
|
|
1215
1274
|
//#endregion
|
|
1275
|
+
//#region src/json-ld.d.ts
|
|
1276
|
+
/** JSON-LD blocks as a page stores them: parsed, so diffs stay readable and output can be escaped safely. */
|
|
1277
|
+
type JsonLdBlock = Record<string, unknown>;
|
|
1278
|
+
type JsonLdResult = {
|
|
1279
|
+
ok: true;
|
|
1280
|
+
value: JsonLdBlock[];
|
|
1281
|
+
} | {
|
|
1282
|
+
ok: false;
|
|
1283
|
+
error: string;
|
|
1284
|
+
};
|
|
1285
|
+
/**
|
|
1286
|
+
* Parses what a person pastes into the JSON-LD box: an object, an array of objects, or either one inside a
|
|
1287
|
+
* `<script type="application/ld+json">` tag. Empty input is valid and means "no custom JSON-LD".
|
|
1288
|
+
*/
|
|
1289
|
+
declare function parseJsonLdInput(raw: string): JsonLdResult;
|
|
1290
|
+
/** The text shown in the editor box: one block as an object, several as an array, none as empty. */
|
|
1291
|
+
declare function formatJsonLd(blocks: readonly JsonLdBlock[] | undefined): string;
|
|
1292
|
+
/** Advice, not errors: a block without `@type` or `@context` is usually a paste mistake, but Google decides what it accepts. */
|
|
1293
|
+
declare function jsonLdWarnings(blocks: readonly JsonLdBlock[]): string[];
|
|
1294
|
+
/** Custom structured data. At most 10 blocks and 50 KB, so a stray paste cannot bloat every page. */
|
|
1295
|
+
declare const jsonLdSchema: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1296
|
+
/** The `@id` the generated site blocks use, so a page's markup can point at them. */
|
|
1297
|
+
interface SiteJsonLdIds {
|
|
1298
|
+
organization: string;
|
|
1299
|
+
website: string;
|
|
1300
|
+
}
|
|
1301
|
+
/** `<site.url>/#organization` and `<site.url>/#website`, with trailing slashes on the site URL ignored. */
|
|
1302
|
+
declare function siteJsonLdIds(siteUrl: string): SiteJsonLdIds;
|
|
1303
|
+
/** Whether a block with this `@id` is in the list. */
|
|
1304
|
+
declare function hasJsonLdId(blocks: readonly JsonLdBlock[] | undefined, id: string): boolean;
|
|
1305
|
+
/**
|
|
1306
|
+
* The blocks a page emits: every site block, then the page's own. A block with the same `@id` is
|
|
1307
|
+
* emitted once and the page's copy wins, so a page can refine what the site says without repeating it.
|
|
1308
|
+
*/
|
|
1309
|
+
declare function mergeJsonLd(site: readonly JsonLdBlock[] | undefined, page: readonly JsonLdBlock[]): JsonLdBlock[];
|
|
1310
|
+
/** What the Generate button reads from the site settings. */
|
|
1311
|
+
interface SiteJsonLdSource {
|
|
1312
|
+
name: string;
|
|
1313
|
+
url: string;
|
|
1314
|
+
/** BCP 47 tag. Default `en`. */
|
|
1315
|
+
lang?: string;
|
|
1316
|
+
/** An absolute https address. Local images get their address at build time, so they cannot go here. */
|
|
1317
|
+
logo?: string;
|
|
1318
|
+
}
|
|
1319
|
+
/** An `Organization` and a `WebSite` block for the site, in the `@id` convention of {@link siteJsonLdIds}. */
|
|
1320
|
+
declare function generateSiteJsonLd(source: SiteJsonLdSource): JsonLdBlock[];
|
|
1321
|
+
/** Puts generated blocks into a list: a block with the same `@id` is replaced in place, the rest is kept. */
|
|
1322
|
+
declare function upsertJsonLd(blocks: readonly JsonLdBlock[], generated: readonly JsonLdBlock[]): JsonLdBlock[];
|
|
1323
|
+
/** True while the site URL is still the template's `example.com` placeholder. */
|
|
1324
|
+
declare function isPlaceholderSiteUrl(siteUrl: string): boolean;
|
|
1325
|
+
//#endregion
|
|
1216
1326
|
//#region src/section-schema.d.ts
|
|
1217
1327
|
declare const sectionIdSchema: z.ZodString;
|
|
1218
1328
|
declare const anchorSchema: z.ZodString;
|
|
@@ -1246,8 +1356,6 @@ type PropsOf<TRegistry extends SectionRegistry, TKey extends keyof TRegistry & s
|
|
|
1246
1356
|
declare function createSectionSchema<TRegistry extends SectionRegistry>(registry: TRegistry): z.ZodType<SectionOf<TRegistry>>;
|
|
1247
1357
|
//#endregion
|
|
1248
1358
|
//#region src/page.d.ts
|
|
1249
|
-
/** Custom structured data. At most 10 blocks and 50 KB, so a stray paste cannot bloat every page. */
|
|
1250
|
-
declare const jsonLdSchema: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1251
1359
|
declare const seoSchema: z.ZodObject<{
|
|
1252
1360
|
title: z.ZodString;
|
|
1253
1361
|
description: z.ZodString;
|
|
@@ -1281,4 +1389,4 @@ declare function withoutOrphanSections<TPage extends {
|
|
|
1281
1389
|
sections: readonly unknown[];
|
|
1282
1390
|
}>(page: TPage, registry: SectionRegistry): TPage;
|
|
1283
1391
|
//#endregion
|
|
1284
|
-
export {
|
|
1392
|
+
export { brandLogoSchema as $, createMigrator as $t, SectionRegistry as A, wireframeIssues as At, FooterColumn as B, themeModes as Bt, jsonLdWarnings as C, SectionDefinition as Ct, upsertJsonLd as D, Wireframe as Dt, siteJsonLdIds as E, WireRect as Et, defineTheme as F, NumberOption as Ft, SiteAnalytics as G, FieldIcons as Gt, Header as H, tones as Ht, BRAND_LOGO_HEIGHT as I, Option as It, SiteDefinition as J, ContentMigration as Jt, SiteConfig as K, ShowCondition as Kt, DEFAULT_MAX_FOOTER_COLUMNS as L, StringOption as Lt, ThemeDefinition as M, BooleanOption as Mt, ThemeFont as N, CountRule as Nt, API_PREFIX as O, defineWireframe as Ot, defaultTheme as P, EnumOption as Pt, Theme as Q, SCHEMA_VERSION_KEY as Qt, DEFAULT_MAX_HEADER_ACTIONS as R, buttonStyles as Rt, jsonLdSchema as S, SectionConfig as St, parseJsonLdInput as T, WireKind as Tt, HeaderConfig as U, variantOption as Ut, FooterConfig as V, toneOption as Vt, Site as W, FieldChoices as Wt, SiteSeo as X, ContentVersioning as Xt, SiteOf as Y, ContentMigrator as Yt, SiteWith as Z, DocumentKind as Zt, SiteJsonLdSource as _, textMarkSchema as _t, isSystemPage as a, themeSchema as at, hasJsonLdId as b, trackingIdSchema as bt, BaseSection as c, Link as ct, anchorSchema as d, Text as dt, defineSite as et, createSectionSchema as f, Tone as ft, SiteJsonLdIds as g, richTextSchema as gt, JsonLdResult as h, linkSchema as ht, createPageSchema as i, themeColorsSchema as it, ThemeConfig as j, OptionalContent as jt, ContentModel as k, wireKinds as kt, PropsOf as l, MAX_NAV_DEPTH as lt, JsonLdBlock as m, imageSchema as mt, SYSTEM_PAGES as n, siteConsentSchema as nt, seoSchema as o, ButtonStyle as ot, sectionIdSchema as p, htmlIdSchema as pt, SiteConsent as q, ShowWhen as qt, Seo as r, siteSeoSchema as rt, withoutOrphanSections as s, Image as st, Page as t, siteAnalyticsSchema as tt, SectionOf as u, RichText as ut, formatJsonLd as v, textSchema as vt, mergeJsonLd as w, defineSection as wt, isPlaceholderSiteUrl as x, withEmphasis as xt, generateSiteJsonLd as y, toneSchema as yt, Footer as z, motionOption as zt };
|