@thresho/site-sdk 0.0.0-stage → 2.0.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 ADDED
@@ -0,0 +1,6 @@
1
+ # Changelog
2
+
3
+ ## 2.0.0
4
+
5
+ Initial public format 2 SDK. Generate declaration-only element types, manifest types, JSON schemas and vocabulary from Forger.
6
+ The compiler remains authoritative for accepted source.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Thresho Ltd Co
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,43 @@
1
- # Temporary Holding Version
1
+ # @thresho/site-sdk
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Install the public authoring types:
4
+
5
+ ```sh
6
+ npm install -D @thresho/site-sdk
7
+ ```
8
+
9
+ Extend the package configuration in your workspace tsconfig.json:
10
+
11
+ ```json
12
+ {"extends":"@thresho/site-sdk/tsconfig.json","include":["src/**/*.tsx"]}
13
+ ```
14
+
15
+ Run TypeScript with no output. This package contains no JavaScript runtime, React dependency or install script.
16
+ It supports editor completion and local type checks. Source check, preview and submission still require sign-in to thresho.
17
+
18
+ Associate the manifest schema in your editor workspace settings:
19
+
20
+ ```json
21
+ {"json.schemas":[{"fileMatch":["thresho.site.json"],"url":"./node_modules/@thresho/site-sdk/schema/manifest.schema.json"}]}
22
+ ```
23
+
24
+ Do not add a $schema key to the manifest. The compiler refuses unknown manifest keys.
25
+
26
+ Import the named Catalog, Product, Cart, Checkout, Presentation, Form and Content namespaces.
27
+ Use a component reference for Catalog.Products item, or supply authored children.
28
+ Local component props can use the exported SiteChild type through an inline type reference.
29
+
30
+ TypeScript checks admitted element names, ordinary prop names, literal enums, required props and declared child permissions.
31
+ The compiler also checks source syntax, literal values, route capabilities, ancestry, checkout composition, expanded child emptiness,
32
+ manifest cross-field predicates, uniqueness, bounds and runtime safety. A successful type check does not establish compiler acceptance.
33
+ Unknown hyphenated JSX attributes, JSX children attributes, spreads and structural excess-property cases can pass TypeScript and fail the compiler.
34
+ Content.Text collects and discards its authored children; put visible text in the named content field.
35
+ Empty fragments do not satisfy the compiler's Catalog.Products child requirement.
36
+
37
+ The vocabulary.json file records the shared compiler vocabulary and enforcement boundaries.
38
+ The diagnostic catalog is supplied by a later SDK release.
39
+
40
+ Version 2.x targets package format 2. Additions require a minor release; type corrections require a patch release.
41
+ Removal or narrowing requires a major format release.
42
+
43
+ The SDK and public authoring pack use the MIT licence. The thresho compiler and service runtime are separate products.
package/index.d.ts ADDED
@@ -0,0 +1,90 @@
1
+ /** Generated from the compiler vocabulary. Do not edit. */
2
+ import type { JSX } from "./jsx-runtime.js";
3
+ export type SiteChild = JSX.Element | string | number | boolean | null | undefined | readonly SiteChild[];
4
+ /** @remarks The compiler enforces source syntax, scope, nesting, bounds and cross-field constraints. TypeScript alone does not establish source acceptance. */
5
+ export type SiteSourceManifest = { "kind": "thresho.website.source"; "formatVersion": 2; "id": string; "name": string; "journeys": Array<"presentation-retail-journey.v2">; "locales"?: { "default": string; "supported": Array<string>; }; "routes": Array<{ "path": string; "entry": string; "capability"?: "commerce.discovery" | "commerce.productPurchase" | "commerce.cart"; "role"?: "home" | "content" | "catalog" | "product" | "cart" | "checkout" | "confirmation" | "account" | "notFound"; "seo"?: { "title"?: string; "description"?: string; "ogImage"?: string; "noindex"?: boolean; }; }>; "content": Record<string, (string) | (Record<string, string>)>; "styles"?: Array<string>; "fonts"?: Array<{ "slot": string; "family": "manrope" | "playfair-display"; "weight"?: number; "style"?: "normal" | "italic"; "display"?: "auto" | "block" | "swap" | "fallback" | "optional"; "preload"?: boolean; }>; "media"?: Array<{ "slot": string; "kind": "image" | "video"; "backend": "r2" | "stream"; "poster"?: string; "hero"?: boolean; }>; "forms"?: Array<{ "formId": string; "formKind": "contact" | "lead" | "newsletter" | "booking" | "review"; "heading": string; "subheading"?: string; "submitLabel": string; "successMessage": string; "consent": { "label": string; "privacyPath": string; }; "fields": Array<{ "name": string; "kind": "text" | "email" | "tel" | "url" | "number" | "textarea" | "select" | "checkbox" | "radio-group" | "date" | "time"; "label": string; "purpose": "name" | "email" | "phone" | "company" | "role" | "message" | "service" | "budget" | "date" | "time" | "partySize" | "rating" | "notes" | "address" | "city" | "postalCode" | "country" | "url" | "quantity" | "preference"; "required"?: boolean; "hint"?: string; "placeholder"?: string; "autoComplete"?: string; "maxLength"?: number; "minLength"?: number; "min"?: (number) | (string); "max"?: (number) | (string); "step"?: number; "rows"?: number; "options"?: Array<{ "value": string; "label": string; }>; }>; }>; "extension"?: { "contentKeys"?: Array<string>; "imageSlots"?: Array<string>; "tokens"?: Array<{ "token": "--presentation-color-accent" | "--presentation-color-surface" | "--presentation-type-scale" | "--presentation-gap" | "--presentation-radius" | "--presentation-columns"; "minimum"?: number; "maximum"?: number; "allowedValues"?: Array<"var(--presentation-palette-accent)" | "var(--presentation-palette-ink)" | "var(--presentation-palette-muted)" | "var(--presentation-palette-line)" | "var(--presentation-palette-surface)">; }>; "anchors"?: Array<{ "route": string; "nodeId": string; "properties": Array<"data-design-columns" | "data-design-columns-tablet" | "data-design-columns-mobile" | "data-design-gap" | "data-design-image-ratio" | "data-design-typography" | "data-design-color" | "data-design-visibility" | "data-design-repeat" | "data-design-facet-search">; }>; "regions"?: Array<{ "id": string; "route": string; "nodeId": string; "position": "before" | "after" | "inside-start" | "inside-end"; "allowedBlocks": Array<"Content.Text" | "Catalog.Root" | "Catalog.Products" | "Catalog.ResultCount" | "Catalog.Filters" | "Catalog.PriceRange" | "Catalog.SelectedFilters" | "Catalog.Sort" | "Catalog.Categories" | "Catalog.FilterPanel" | "Catalog.ClearFilters" | "Catalog.Search" | "Catalog.Pickup" | "Catalog.LoadMore" | "Catalog.Status" | "Product.Link" | "Product.Image" | "Product.Options" | "Product.Name" | "Product.Description" | "Product.CompareAtPrice" | "Product.Rating" | "Product.Badge" | "Product.Pickup" | "Product.Availability" | "Product.GalleryImage" | "Product.GalleryThumbnails" | "Product.GalleryPrevious" | "Product.GalleryNext" | "Product.Specifications" | "Product.SKU" | "Presentation.Image" | "Presentation.Video" | "Presentation.Icon" | "Form.Contact" | "Form.Lead" | "Form.Newsletter" | "Form.Booking" | "Form.Review">; "minimumBlocks"?: number; "maximumBlocks"?: number; }>; "routeKits"?: Array<{ "id": string; "label": string; "template": string; "pathPattern": string; }>; }; };
6
+ export type SiteSourceInput = { manifest: SiteSourceManifest; files: Record<string, string> };
7
+ export type SiteSourceRoute = SiteSourceManifest["routes"][number];
8
+ export type SiteSourceRouteSeo = NonNullable<SiteSourceRoute["seo"]>;
9
+ export type SiteLocales = NonNullable<SiteSourceManifest["locales"]>;
10
+ export type SiteFontSlot = NonNullable<SiteSourceManifest["fonts"]>[number];
11
+ export type SiteMediaSlot = NonNullable<SiteSourceManifest["media"]>[number];
12
+ export type SiteFormDefinition = NonNullable<SiteSourceManifest["forms"]>[number];
13
+ export type SiteFormField = SiteFormDefinition["fields"][number];
14
+ export type SiteSourceExtension = NonNullable<SiteSourceManifest["extension"]>;
15
+ export type SiteSourceExtensionToken = NonNullable<SiteSourceExtension["tokens"]>[number];
16
+ export type SiteSourceExtensionAnchor = NonNullable<SiteSourceExtension["anchors"]>[number];
17
+ export type SiteSourceExtensionRegion = NonNullable<SiteSourceExtension["regions"]>[number];
18
+ export type SiteSourceExtensionRouteKit = NonNullable<SiteSourceExtension["routeKits"]>[number];
19
+ export declare const Content: {
20
+ readonly "Text": (props: { "field": string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
21
+ };
22
+ export declare const Catalog: {
23
+ readonly "Root": (props: { "className"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
24
+ readonly "Products": (props: { "className"?: string; "nodeId"?: string; } & ({ item: string | (() => JSX.Element); children?: SiteChild } | { item?: never; children: SiteChild })) => JSX.Element;
25
+ readonly "ResultCount": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
26
+ readonly "Filters": (props: { "className"?: string; "data-design-facet-search"?: true | false | "true" | "false"; "nodeId"?: string; }) => JSX.Element;
27
+ readonly "PriceRange": (props: { "className"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
28
+ readonly "SelectedFilters": (props: { "className"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
29
+ readonly "Sort": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
30
+ readonly "Categories": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
31
+ readonly "FilterPanel": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
32
+ readonly "ClearFilters": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
33
+ readonly "Search": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
34
+ readonly "Pickup": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
35
+ readonly "LoadMore": (props: { "className"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
36
+ readonly "Status": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
37
+ };
38
+ export declare const Product: {
39
+ readonly "Link": (props: { "className"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
40
+ readonly "Image": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
41
+ readonly "QuickAdd": (props: { "className"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
42
+ readonly "Options": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
43
+ readonly "Name": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
44
+ readonly "Description": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
45
+ readonly "CompareAtPrice": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
46
+ readonly "Rating": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
47
+ readonly "Badge": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
48
+ readonly "Pickup": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
49
+ readonly "Price": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
50
+ readonly "PurchaseTerms": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
51
+ readonly "Availability": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
52
+ readonly "GalleryImage": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
53
+ readonly "GalleryThumbnails": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
54
+ readonly "GalleryPrevious": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
55
+ readonly "GalleryNext": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
56
+ readonly "Specifications": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
57
+ readonly "SKU": (props: { "className"?: string; "nodeId"?: string; }) => JSX.Element;
58
+ };
59
+ export declare const Cart: {
60
+ readonly "Summary": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
61
+ readonly "Lines": (props: { "className"?: string; "label"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
62
+ readonly "LineQuantity": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
63
+ readonly "LineRemove": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
64
+ readonly "Adjustment": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
65
+ readonly "Total": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
66
+ readonly "Checkout": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
67
+ };
68
+ export declare const Checkout: {
69
+ readonly "Root": (props: { "className"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
70
+ readonly "Coordinator": (props: { "className"?: string; "nodeId"?: string; children?: SiteChild; }) => JSX.Element;
71
+ readonly "Contact": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
72
+ readonly "Fulfillment": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
73
+ readonly "Summary": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
74
+ readonly "Payment": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
75
+ readonly "Submit": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
76
+ readonly "Status": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
77
+ readonly "Confirmation": (props: { "className"?: string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
78
+ };
79
+ export declare const Presentation: {
80
+ readonly "Image": (props: { "className"?: string; "slot": string; "alt": string; "nodeId"?: string; }) => JSX.Element;
81
+ readonly "Video": (props: { "className"?: string; "slot": string; "label"?: string; "nodeId"?: string; }) => JSX.Element;
82
+ readonly "Icon": (props: { "className"?: string; "name": "menu" | "search" | "heart" | "user" | "bag" | "chevron-down" | "arrow-left" | "arrow-right" | "x" | "plus" | "minus" | "star"; "nodeId"?: string; }) => JSX.Element;
83
+ };
84
+ export declare const Form: {
85
+ readonly "Contact": (props: { "form": string; "className"?: string; "nodeId"?: string; }) => JSX.Element;
86
+ readonly "Lead": (props: { "form": string; "className"?: string; "nodeId"?: string; }) => JSX.Element;
87
+ readonly "Newsletter": (props: { "form": string; "className"?: string; "nodeId"?: string; }) => JSX.Element;
88
+ readonly "Booking": (props: { "form": string; "className"?: string; "nodeId"?: string; }) => JSX.Element;
89
+ readonly "Review": (props: { "form": string; "className"?: string; "nodeId"?: string; }) => JSX.Element;
90
+ };
@@ -0,0 +1,32 @@
1
+ /** Generated from the compiler vocabulary. Do not edit. */
2
+ import type { SiteChild } from "./index.js";
3
+ export namespace JSX {
4
+ export interface Element { readonly __threshoSiteElement?: never; }
5
+ export interface ElementChildrenAttribute { children: unknown; }
6
+ export interface IntrinsicElements {
7
+ "div": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
8
+ "section": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
9
+ "main": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
10
+ "header": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
11
+ "nav": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
12
+ "aside": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
13
+ "footer": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
14
+ "article": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
15
+ "h1": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
16
+ "h2": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
17
+ "h3": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
18
+ "h4": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
19
+ "h5": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
20
+ "h6": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
21
+ "p": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
22
+ "span": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
23
+ "strong": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
24
+ "small": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
25
+ "em": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
26
+ "ul": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
27
+ "ol": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
28
+ "li": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
29
+ "a": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
30
+ "label": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
31
+ }
32
+ }
@@ -0,0 +1,32 @@
1
+ /** Generated from the compiler vocabulary. Do not edit. */
2
+ import type { SiteChild } from "./index.js";
3
+ export namespace JSX {
4
+ export interface Element { readonly __threshoSiteElement?: never; }
5
+ export interface ElementChildrenAttribute { children: unknown; }
6
+ export interface IntrinsicElements {
7
+ "div": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
8
+ "section": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
9
+ "main": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
10
+ "header": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
11
+ "nav": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
12
+ "aside": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
13
+ "footer": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
14
+ "article": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
15
+ "h1": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
16
+ "h2": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
17
+ "h3": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
18
+ "h4": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
19
+ "h5": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
20
+ "h6": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
21
+ "p": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
22
+ "span": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
23
+ "strong": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
24
+ "small": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
25
+ "em": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
26
+ "ul": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
27
+ "ol": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
28
+ "li": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
29
+ "a": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
30
+ "label": { "className"?: string; "id"?: string; "role"?: string; "href"?: string; "field"?: string; "item"?: string; "nodeId"?: string; "slot"?: string; "alt"?: string; "name"?: string; "form"?: string; "data-design-columns"?: number | `${number}`; "data-design-columns-tablet"?: number | `${number}`; "data-design-columns-mobile"?: number | `${number}`; "data-design-gap"?: number | `${number}`; "data-design-image-ratio"?: "1/1" | "4/5" | "3/2" | "16/9"; "data-design-typography"?: "display" | "title" | "heading" | "body" | "caption"; "data-design-color"?: "surface" | "ink" | "muted" | "accent" | "line"; "data-design-visibility"?: "visible" | "hidden"; "data-design-repeat"?: boolean | "true" | "false" | ""; "data-design-facet-search"?: never; children?: SiteChild; [name: `aria-${string}`]: string | boolean | undefined; };
31
+ }
32
+ }
package/package.json CHANGED
@@ -1,6 +1,43 @@
1
1
  {
2
2
  "name": "@thresho/site-sdk",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "2.0.0",
4
+ "type": "module",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/thresholtd/site-sdk.git"
9
+ },
10
+ "types": "./index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./index.d.ts"
14
+ },
15
+ "./jsx-runtime": {
16
+ "types": "./jsx-runtime.d.ts"
17
+ },
18
+ "./jsx-dev-runtime": {
19
+ "types": "./jsx-dev-runtime.d.ts"
20
+ },
21
+ "./tsconfig.json": "./tsconfig.json",
22
+ "./schema/manifest.schema.json": "./schema/manifest.schema.json",
23
+ "./schema/source.schema.json": "./schema/source.schema.json",
24
+ "./vocabulary.json": "./vocabulary.json"
25
+ },
26
+ "files": [
27
+ "CHANGELOG.md",
28
+ "LICENSE",
29
+ "README.md",
30
+ "index.d.ts",
31
+ "jsx-dev-runtime.d.ts",
32
+ "jsx-runtime.d.ts",
33
+ "schema/manifest.schema.json",
34
+ "schema/source.schema.json",
35
+ "tsconfig.json",
36
+ "vocabulary.json"
37
+ ],
38
+ "thresho": {
39
+ "formatVersion": 2,
40
+ "compilerVersion": "site-source-compiler/10",
41
+ "vocabularyDigest": "288e401dfa7080e62d12f5dce773cb2bbc264efe286b3cc81bf2474143560992"
42
+ }
43
+ }
@@ -0,0 +1 @@
1
+ {"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"content":{"additionalProperties":{"oneOf":[{"description":"Maximum length is measured in Unicode code points.","maxLength":10000,"type":"string","x-thresho-maximumCharacters":10000},{"additionalProperties":{"maxLength":10000,"type":"string","x-thresho-maximumCharacters":10000},"maxProperties":8,"minProperties":1,"propertyNames":{"pattern":"^[a-z]{2,3}(-[A-Z]{2})?$"},"type":"object"}]},"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,63}$"},"type":"object"},"extension":{"additionalProperties":false,"description":"The declared extension surface. The compiler also checks that every named content key, image slot, token declaration, nodeId, route and block exists in this package, and refuses a protected surface.","minProperties":1,"properties":{"anchors":{"items":{"additionalProperties":false,"properties":{"nodeId":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,79}$","type":"string"},"properties":{"items":{"enum":["data-design-columns","data-design-columns-tablet","data-design-columns-mobile","data-design-gap","data-design-image-ratio","data-design-typography","data-design-color","data-design-visibility","data-design-repeat","data-design-facet-search"]},"maxItems":16,"minItems":1,"type":"array","uniqueItems":true},"route":{"maxLength":256,"minLength":1,"type":"string"}},"required":["route","nodeId","properties"],"type":"object"},"maxItems":256,"minItems":1,"type":"array"},"contentKeys":{"items":{"pattern":"^[a-z][a-z0-9_.-]{0,63}$","type":"string"},"maxItems":512,"minItems":1,"type":"array","uniqueItems":true},"imageSlots":{"items":{"pattern":"^[a-z][a-z0-9-]{0,63}$","type":"string"},"maxItems":32,"minItems":1,"type":"array","uniqueItems":true},"regions":{"items":{"additionalProperties":false,"properties":{"allowedBlocks":{"items":{"enum":["Content.Text","Catalog.Root","Catalog.Products","Catalog.ResultCount","Catalog.Filters","Catalog.PriceRange","Catalog.SelectedFilters","Catalog.Sort","Catalog.Categories","Catalog.FilterPanel","Catalog.ClearFilters","Catalog.Search","Catalog.Pickup","Catalog.LoadMore","Catalog.Status","Product.Link","Product.Image","Product.Options","Product.Name","Product.Description","Product.CompareAtPrice","Product.Rating","Product.Badge","Product.Pickup","Product.Availability","Product.GalleryImage","Product.GalleryThumbnails","Product.GalleryPrevious","Product.GalleryNext","Product.Specifications","Product.SKU","Presentation.Image","Presentation.Video","Presentation.Icon","Form.Contact","Form.Lead","Form.Newsletter","Form.Booking","Form.Review"]},"maxItems":32,"minItems":1,"type":"array","uniqueItems":true},"id":{"pattern":"^[a-z][a-z0-9-]{0,31}$","type":"string"},"maximumBlocks":{"maximum":16,"minimum":0,"type":"integer"},"minimumBlocks":{"maximum":16,"minimum":0,"type":"integer"},"nodeId":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,79}$","type":"string"},"position":{"enum":["before","after","inside-start","inside-end"]},"route":{"maxLength":256,"minLength":1,"type":"string"}},"required":["id","route","nodeId","position","allowedBlocks"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"},"routeKits":{"items":{"additionalProperties":false,"properties":{"id":{"pattern":"^[a-z][a-z0-9-]{0,31}$","type":"string"},"label":{"maxLength":80,"minLength":1,"type":"string"},"pathPattern":{"maxLength":256,"minLength":1,"type":"string"},"template":{"maxLength":256,"minLength":1,"type":"string"}},"required":["id","label","template","pathPattern"],"type":"object"},"maxItems":16,"minItems":1,"type":"array"},"tokens":{"items":{"additionalProperties":false,"allOf":[{"if":{"properties":{"token":{"enum":["--presentation-color-accent","--presentation-color-surface"]}},"required":["token"]},"then":{"not":{"anyOf":[{"required":["minimum"]},{"required":["maximum"]}]}}},{"if":{"properties":{"token":{"const":"--presentation-columns"}},"required":["token"]},"then":{"not":{"required":["allowedValues"]},"properties":{"maximum":{"maximum":12,"minimum":1,"type":"integer"},"minimum":{"maximum":12,"minimum":1,"type":"integer"}}}},{"if":{"properties":{"token":{"const":"--presentation-type-scale"}},"required":["token"]},"then":{"not":{"required":["allowedValues"]},"properties":{"maximum":{"maximum":2,"minimum":0.75,"type":"number"},"minimum":{"maximum":2,"minimum":0.75,"type":"number"}}}},{"if":{"properties":{"token":{"const":"--presentation-gap"}},"required":["token"]},"then":{"not":{"required":["allowedValues"]},"properties":{"maximum":{"maximum":96,"minimum":0,"type":"number"},"minimum":{"maximum":96,"minimum":0,"type":"number"}}}},{"if":{"properties":{"token":{"const":"--presentation-radius"}},"required":["token"]},"then":{"not":{"required":["allowedValues"]},"properties":{"maximum":{"maximum":32,"minimum":0,"type":"number"},"minimum":{"maximum":32,"minimum":0,"type":"number"}}}}],"properties":{"allowedValues":{"items":{"enum":["var(--presentation-palette-accent)","var(--presentation-palette-ink)","var(--presentation-palette-muted)","var(--presentation-palette-line)","var(--presentation-palette-surface)"]},"minItems":1,"type":"array","uniqueItems":true},"maximum":{"type":"number"},"minimum":{"type":"number"},"token":{"enum":["--presentation-color-accent","--presentation-color-surface","--presentation-type-scale","--presentation-gap","--presentation-radius","--presentation-columns"]}},"required":["token"],"type":"object"},"maxItems":16,"minItems":1,"type":"array","uniqueItems":true}},"type":"object"},"fonts":{"items":{"additionalProperties":false,"properties":{"display":{"enum":["auto","block","swap","fallback","optional"],"type":"string"},"family":{"enum":["manrope","playfair-display"],"type":"string"},"preload":{"type":"boolean"},"slot":{"pattern":"^[a-z][a-z0-9-]{0,31}$","type":"string"},"style":{"enum":["normal","italic"],"type":"string"},"weight":{"maximum":900,"minimum":100,"multipleOf":100,"type":"integer"}},"required":["slot","family"],"type":"object"},"maxItems":8,"type":"array"},"formatVersion":{"const":2},"forms":{"items":{"additionalProperties":false,"properties":{"consent":{"additionalProperties":false,"properties":{"label":{"maxLength":180,"minLength":1,"type":"string"},"privacyPath":{"maxLength":256,"minLength":1,"pattern":"^(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))(?!.*\\/\\/)(?!.*:)\\/[^?#%\\\\\\u0000-\\u001f\\u007f]*$","type":"string"}},"required":["label","privacyPath"],"type":"object"},"fields":{"items":{"additionalProperties":false,"allOf":[{"if":{"properties":{"kind":{"enum":["select","radio-group"]}},"required":["kind"]},"then":{"required":["options"]}},{"if":{"properties":{"kind":{"not":{"enum":["select","radio-group"]}}},"required":["kind"]},"then":{"not":{"required":["options"]}}}],"properties":{"autoComplete":{"maxLength":64,"type":"string"},"hint":{"maxLength":240,"type":"string"},"kind":{"enum":["text","email","tel","url","number","textarea","select","checkbox","radio-group","date","time"]},"label":{"maxLength":80,"minLength":1,"type":"string"},"max":{"oneOf":[{"type":"number"},{"maxLength":20,"type":"string"}]},"maxLength":{"maximum":5000,"minimum":1,"type":"integer"},"min":{"oneOf":[{"type":"number"},{"maxLength":20,"type":"string"}]},"minLength":{"maximum":5000,"minimum":1,"type":"integer"},"name":{"pattern":"^[a-z][a-z0-9_]{1,39}$","type":"string"},"options":{"items":{"additionalProperties":false,"properties":{"label":{"maxLength":60,"minLength":1,"type":"string"},"value":{"maxLength":60,"minLength":1,"type":"string"}},"required":["value","label"],"type":"object"},"maxItems":12,"minItems":1,"type":"array"},"placeholder":{"maxLength":160,"type":"string"},"purpose":{"enum":["name","email","phone","company","role","message","service","budget","date","time","partySize","rating","notes","address","city","postalCode","country","url","quantity","preference"]},"required":{"type":"boolean"},"rows":{"maximum":20,"minimum":1,"type":"integer"},"step":{"exclusiveMinimum":0,"type":"number"}},"required":["name","kind","label","purpose"],"type":"object"},"maxItems":12,"minItems":1,"type":"array"},"formId":{"pattern":"^[a-z][a-z0-9-]{0,31}$","type":"string"},"formKind":{"enum":["contact","lead","newsletter","booking","review"]},"heading":{"maxLength":120,"minLength":1,"type":"string"},"subheading":{"maxLength":240,"type":"string"},"submitLabel":{"maxLength":80,"minLength":1,"type":"string"},"successMessage":{"maxLength":240,"minLength":1,"type":"string"}},"required":["formId","formKind","heading","submitLabel","successMessage","consent","fields"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"id":{"pattern":"^[a-z0-9][a-z0-9._-]{0,63}$","type":"string"},"journeys":{"items":{"const":"presentation-retail-journey.v2"},"maxItems":8,"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"thresho.website.source"},"locales":{"additionalProperties":false,"properties":{"default":{"pattern":"^[a-z]{2,3}(-[A-Z]{2})?$","type":"string"},"supported":{"items":{"pattern":"^[a-z]{2,3}(-[A-Z]{2})?$","type":"string"},"maxItems":8,"minItems":1,"type":"array","uniqueItems":true}},"required":["default","supported"],"type":"object"},"media":{"items":{"additionalProperties":false,"properties":{"backend":{"enum":["r2","stream"],"type":"string"},"hero":{"type":"boolean"},"kind":{"enum":["image","video"],"type":"string"},"poster":{"pattern":"^[a-z][a-z0-9-]{0,63}$","type":"string"},"slot":{"pattern":"^[a-z][a-z0-9-]{0,63}$","type":"string"}},"required":["slot","kind","backend"],"type":"object"},"maxItems":32,"type":"array"},"name":{"maxLength":160,"minLength":1,"type":"string"},"routes":{"items":{"additionalProperties":false,"allOf":[{"if":{"properties":{"role":{"enum":["cart","checkout","confirmation","account"]}},"required":["role"]},"then":{"not":{"required":["seo"]}}},{"if":{"properties":{"role":{"const":"notFound"}},"required":["role"]},"then":{"not":{"anyOf":[{"required":["seo"]},{"required":["capability"]}]},"properties":{"path":{"const":"/404"}}}},{"if":{"properties":{"role":{"const":"product"}},"required":["role"]},"then":{"properties":{"path":{"pattern":"^(?:/[A-Za-z0-9._~-]+)*/:[A-Za-z][A-Za-z0-9_]*$"}}}}],"anyOf":[{"properties":{"path":{"not":{"anyOf":[{"pattern":"^(?:/(?:__[dD][rR][aA][fF][tT]|__[pP][oO][rR][tT][aA][lL]-[pP][rR][eE][vV][iI][eE][wW]|__[pP][uU][bB][lL][iI][sS][hH][eE][dD]-[sS][nN][aA][pP][sS][hH][oO][tT]|__[sS][iI][tT][eE]-[bB][uU][iI][lL][dD]-[pP][rR][eE][vV][iI][eE][wW]|__[tT][hH][rR][eE][sS][hH][oO]|__[vV][aA][rR][iI][aA][nN][tT]-[pP][rR][eE][vV][iI][eE][wW]|[aA][cC][cC][oO][uU][nN][tT]|[aA][pP][iI]|[aA][uU][tT][hH]|[cC][aA][rR][tT]|[cC][hH][eE][cC][kK][oO][uU][tT]|[cC][lL][aA][sS][sS][eE][sS]|[cC][oO][nN][fF][iI][rR][mM][aA][tT][iI][oO][nN]|[eE][mM][aA][iI][lL]|[eE][vV][eE][nN][tT][sS]|[fF][eE][eE][dD]\\.[xX][mM][lL]|[iI][nN][tT][eE][rR][nN][aA][lL]|[lL][oO][gG][iI][nN]|[lL][oO][gG][oO][uU][tT]|[nN][eE][wW][sS][lL][eE][tT][tT][eE][rR]|[oO][gG]-[iI][mM][aA][gG][eE]|[oO][rR][dD][eE][rR]|[pP][aA][yY]|[pP][oO][rR][tT][aA][lL]|[pP][rR][eE][vV][iI][eE][wW]|[rR][eE][vV][iI][eE][wW]|[rR][oO][bB][oO][tT][sS]\\.[tT][xX][tT]|[sS][iI][tT][eE][mM][aA][pP]\\.[xX][mM][lL]|[sS][tT][oO][cC][kK]-[aA][lL][eE][rR][tT][sS])(?:/|$))"},{"pattern":"^/:"}]}}}},{"properties":{"path":{"pattern":"^/cart/?$"},"role":{"const":"cart"}},"required":["role"]},{"properties":{"path":{"pattern":"^/checkout/?$"},"role":{"const":"checkout"}},"required":["role"]},{"properties":{"path":{"pattern":"^/confirmation/?$"},"role":{"const":"confirmation"}},"required":["role"]}],"properties":{"capability":{"enum":["commerce.discovery","commerce.productPurchase","commerce.cart"]},"entry":{"pattern":"^(?!/)(?!.*[\\\\\\u0000-\\u001f\\u007f])(?!.*(?:^|/)\\.{1,2}(?:/|$))[^/]+(?:/[^/]+)*\\.tsx$","type":"string"},"path":{"anyOf":[{"const":"/"},{"not":{"pattern":"/$"}}],"maxLength":256,"not":{"anyOf":[{"pattern":"^/[Ss][Ii][Tt][Ee][Mm][Aa][Pp]-[^/]+\\.[Xx][Mm][Ll]/?$"},{"pattern":"^/[Bb][Oo][Oo][Kk]/[Cc][Oo][Nn][Ff][Ii][Rr][Mm][Ee][Dd]/?$"},{"pattern":"^/[Jj][Oo][Ii][Nn]/[Cc][Oo][Nn][Ff][Ii][Rr][Mm][Ee][Dd]/?$"},{"pattern":"^/__thresho/"},{"pattern":"^/\\.well-known/"},{"pattern":"^/feeds/"},{"pattern":"^/robots\\.txt$"},{"pattern":"^/sitemap\\.xml$"},{"pattern":"^/feed\\.xml$"},{"pattern":"^/manifest\\.json$"},{"pattern":"^/sw\\.js$"},{"pattern":"^/favicon\\.ico$"},{"pattern":"^/agents\\.md$"},{"pattern":"^/llms\\.txt$"},{"pattern":"^/health$"},{"pattern":"^/ready$"}]},"pattern":"^(?!.*(?:^|/)\\.{1,2}(?:/|$))/(?:[A-Za-z0-9._~-]+/)*[A-Za-z0-9._~-]*(?::[A-Za-z][A-Za-z0-9_]*)?$","type":"string"},"role":{"enum":["home","content","catalog","product","cart","checkout","confirmation","account","notFound"]},"seo":{"additionalProperties":false,"description":"Required on every route whose role is absent, home, content, catalog or product. Not allowed on cart, checkout, confirmation, account or notFound. title and description name content fields: 10 to 60 and 50 to 160 characters are recommended.","properties":{"description":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$","type":"string"},"noindex":{"type":"boolean"},"ogImage":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$","type":"string"},"title":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$","type":"string"}},"type":"object"}},"required":["path","entry"],"type":"object"},"minItems":1,"type":"array"},"styles":{"items":{"pattern":"^(?!/)(?!.*[\\\\\\u0000-\\u001f\\u007f])(?!.*(?:^|/)\\.{1,2}(?:/|$))[^/]+(?:/[^/]+)*\\.css$","type":"string"},"maxItems":64,"type":"array","uniqueItems":true}},"required":["kind","formatVersion","id","name","journeys","routes","content"],"type":"object"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"files":{"additionalProperties":{"description":"maxLength is a character guard; the compiler also enforces the UTF-8 byte limit.","maxLength":65536,"type":"string","x-thresho-maximumUtf8Bytes":65536},"propertyNames":{"pattern":"^(?!/)(?!.*[\\\\\\u0000-\\u001f\\u007f])(?!.*(?:^|/)\\.{1,2}(?:/|$))[^/]+(?:/[^/]+)*\\.(?:tsx|css)$"},"type":"object"},"manifest":{"additionalProperties":false,"properties":{"content":{"additionalProperties":{"oneOf":[{"description":"Maximum length is measured in Unicode code points.","maxLength":10000,"type":"string","x-thresho-maximumCharacters":10000},{"additionalProperties":{"maxLength":10000,"type":"string","x-thresho-maximumCharacters":10000},"maxProperties":8,"minProperties":1,"propertyNames":{"pattern":"^[a-z]{2,3}(-[A-Z]{2})?$"},"type":"object"}]},"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,63}$"},"type":"object"},"extension":{"additionalProperties":false,"description":"The declared extension surface. The compiler also checks that every named content key, image slot, token declaration, nodeId, route and block exists in this package, and refuses a protected surface.","minProperties":1,"properties":{"anchors":{"items":{"additionalProperties":false,"properties":{"nodeId":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,79}$","type":"string"},"properties":{"items":{"enum":["data-design-columns","data-design-columns-tablet","data-design-columns-mobile","data-design-gap","data-design-image-ratio","data-design-typography","data-design-color","data-design-visibility","data-design-repeat","data-design-facet-search"]},"maxItems":16,"minItems":1,"type":"array","uniqueItems":true},"route":{"maxLength":256,"minLength":1,"type":"string"}},"required":["route","nodeId","properties"],"type":"object"},"maxItems":256,"minItems":1,"type":"array"},"contentKeys":{"items":{"pattern":"^[a-z][a-z0-9_.-]{0,63}$","type":"string"},"maxItems":512,"minItems":1,"type":"array","uniqueItems":true},"imageSlots":{"items":{"pattern":"^[a-z][a-z0-9-]{0,63}$","type":"string"},"maxItems":32,"minItems":1,"type":"array","uniqueItems":true},"regions":{"items":{"additionalProperties":false,"properties":{"allowedBlocks":{"items":{"enum":["Content.Text","Catalog.Root","Catalog.Products","Catalog.ResultCount","Catalog.Filters","Catalog.PriceRange","Catalog.SelectedFilters","Catalog.Sort","Catalog.Categories","Catalog.FilterPanel","Catalog.ClearFilters","Catalog.Search","Catalog.Pickup","Catalog.LoadMore","Catalog.Status","Product.Link","Product.Image","Product.Options","Product.Name","Product.Description","Product.CompareAtPrice","Product.Rating","Product.Badge","Product.Pickup","Product.Availability","Product.GalleryImage","Product.GalleryThumbnails","Product.GalleryPrevious","Product.GalleryNext","Product.Specifications","Product.SKU","Presentation.Image","Presentation.Video","Presentation.Icon","Form.Contact","Form.Lead","Form.Newsletter","Form.Booking","Form.Review"]},"maxItems":32,"minItems":1,"type":"array","uniqueItems":true},"id":{"pattern":"^[a-z][a-z0-9-]{0,31}$","type":"string"},"maximumBlocks":{"maximum":16,"minimum":0,"type":"integer"},"minimumBlocks":{"maximum":16,"minimum":0,"type":"integer"},"nodeId":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,79}$","type":"string"},"position":{"enum":["before","after","inside-start","inside-end"]},"route":{"maxLength":256,"minLength":1,"type":"string"}},"required":["id","route","nodeId","position","allowedBlocks"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"},"routeKits":{"items":{"additionalProperties":false,"properties":{"id":{"pattern":"^[a-z][a-z0-9-]{0,31}$","type":"string"},"label":{"maxLength":80,"minLength":1,"type":"string"},"pathPattern":{"maxLength":256,"minLength":1,"type":"string"},"template":{"maxLength":256,"minLength":1,"type":"string"}},"required":["id","label","template","pathPattern"],"type":"object"},"maxItems":16,"minItems":1,"type":"array"},"tokens":{"items":{"additionalProperties":false,"allOf":[{"if":{"properties":{"token":{"enum":["--presentation-color-accent","--presentation-color-surface"]}},"required":["token"]},"then":{"not":{"anyOf":[{"required":["minimum"]},{"required":["maximum"]}]}}},{"if":{"properties":{"token":{"const":"--presentation-columns"}},"required":["token"]},"then":{"not":{"required":["allowedValues"]},"properties":{"maximum":{"maximum":12,"minimum":1,"type":"integer"},"minimum":{"maximum":12,"minimum":1,"type":"integer"}}}},{"if":{"properties":{"token":{"const":"--presentation-type-scale"}},"required":["token"]},"then":{"not":{"required":["allowedValues"]},"properties":{"maximum":{"maximum":2,"minimum":0.75,"type":"number"},"minimum":{"maximum":2,"minimum":0.75,"type":"number"}}}},{"if":{"properties":{"token":{"const":"--presentation-gap"}},"required":["token"]},"then":{"not":{"required":["allowedValues"]},"properties":{"maximum":{"maximum":96,"minimum":0,"type":"number"},"minimum":{"maximum":96,"minimum":0,"type":"number"}}}},{"if":{"properties":{"token":{"const":"--presentation-radius"}},"required":["token"]},"then":{"not":{"required":["allowedValues"]},"properties":{"maximum":{"maximum":32,"minimum":0,"type":"number"},"minimum":{"maximum":32,"minimum":0,"type":"number"}}}}],"properties":{"allowedValues":{"items":{"enum":["var(--presentation-palette-accent)","var(--presentation-palette-ink)","var(--presentation-palette-muted)","var(--presentation-palette-line)","var(--presentation-palette-surface)"]},"minItems":1,"type":"array","uniqueItems":true},"maximum":{"type":"number"},"minimum":{"type":"number"},"token":{"enum":["--presentation-color-accent","--presentation-color-surface","--presentation-type-scale","--presentation-gap","--presentation-radius","--presentation-columns"]}},"required":["token"],"type":"object"},"maxItems":16,"minItems":1,"type":"array","uniqueItems":true}},"type":"object"},"fonts":{"items":{"additionalProperties":false,"properties":{"display":{"enum":["auto","block","swap","fallback","optional"],"type":"string"},"family":{"enum":["manrope","playfair-display"],"type":"string"},"preload":{"type":"boolean"},"slot":{"pattern":"^[a-z][a-z0-9-]{0,31}$","type":"string"},"style":{"enum":["normal","italic"],"type":"string"},"weight":{"maximum":900,"minimum":100,"multipleOf":100,"type":"integer"}},"required":["slot","family"],"type":"object"},"maxItems":8,"type":"array"},"formatVersion":{"const":2},"forms":{"items":{"additionalProperties":false,"properties":{"consent":{"additionalProperties":false,"properties":{"label":{"maxLength":180,"minLength":1,"type":"string"},"privacyPath":{"maxLength":256,"minLength":1,"pattern":"^(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))(?!.*\\/\\/)(?!.*:)\\/[^?#%\\\\\\u0000-\\u001f\\u007f]*$","type":"string"}},"required":["label","privacyPath"],"type":"object"},"fields":{"items":{"additionalProperties":false,"allOf":[{"if":{"properties":{"kind":{"enum":["select","radio-group"]}},"required":["kind"]},"then":{"required":["options"]}},{"if":{"properties":{"kind":{"not":{"enum":["select","radio-group"]}}},"required":["kind"]},"then":{"not":{"required":["options"]}}}],"properties":{"autoComplete":{"maxLength":64,"type":"string"},"hint":{"maxLength":240,"type":"string"},"kind":{"enum":["text","email","tel","url","number","textarea","select","checkbox","radio-group","date","time"]},"label":{"maxLength":80,"minLength":1,"type":"string"},"max":{"oneOf":[{"type":"number"},{"maxLength":20,"type":"string"}]},"maxLength":{"maximum":5000,"minimum":1,"type":"integer"},"min":{"oneOf":[{"type":"number"},{"maxLength":20,"type":"string"}]},"minLength":{"maximum":5000,"minimum":1,"type":"integer"},"name":{"pattern":"^[a-z][a-z0-9_]{1,39}$","type":"string"},"options":{"items":{"additionalProperties":false,"properties":{"label":{"maxLength":60,"minLength":1,"type":"string"},"value":{"maxLength":60,"minLength":1,"type":"string"}},"required":["value","label"],"type":"object"},"maxItems":12,"minItems":1,"type":"array"},"placeholder":{"maxLength":160,"type":"string"},"purpose":{"enum":["name","email","phone","company","role","message","service","budget","date","time","partySize","rating","notes","address","city","postalCode","country","url","quantity","preference"]},"required":{"type":"boolean"},"rows":{"maximum":20,"minimum":1,"type":"integer"},"step":{"exclusiveMinimum":0,"type":"number"}},"required":["name","kind","label","purpose"],"type":"object"},"maxItems":12,"minItems":1,"type":"array"},"formId":{"pattern":"^[a-z][a-z0-9-]{0,31}$","type":"string"},"formKind":{"enum":["contact","lead","newsletter","booking","review"]},"heading":{"maxLength":120,"minLength":1,"type":"string"},"subheading":{"maxLength":240,"type":"string"},"submitLabel":{"maxLength":80,"minLength":1,"type":"string"},"successMessage":{"maxLength":240,"minLength":1,"type":"string"}},"required":["formId","formKind","heading","submitLabel","successMessage","consent","fields"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"id":{"pattern":"^[a-z0-9][a-z0-9._-]{0,63}$","type":"string"},"journeys":{"items":{"const":"presentation-retail-journey.v2"},"maxItems":8,"minItems":1,"type":"array","uniqueItems":true},"kind":{"const":"thresho.website.source"},"locales":{"additionalProperties":false,"properties":{"default":{"pattern":"^[a-z]{2,3}(-[A-Z]{2})?$","type":"string"},"supported":{"items":{"pattern":"^[a-z]{2,3}(-[A-Z]{2})?$","type":"string"},"maxItems":8,"minItems":1,"type":"array","uniqueItems":true}},"required":["default","supported"],"type":"object"},"media":{"items":{"additionalProperties":false,"properties":{"backend":{"enum":["r2","stream"],"type":"string"},"hero":{"type":"boolean"},"kind":{"enum":["image","video"],"type":"string"},"poster":{"pattern":"^[a-z][a-z0-9-]{0,63}$","type":"string"},"slot":{"pattern":"^[a-z][a-z0-9-]{0,63}$","type":"string"}},"required":["slot","kind","backend"],"type":"object"},"maxItems":32,"type":"array"},"name":{"maxLength":160,"minLength":1,"type":"string"},"routes":{"items":{"additionalProperties":false,"allOf":[{"if":{"properties":{"role":{"enum":["cart","checkout","confirmation","account"]}},"required":["role"]},"then":{"not":{"required":["seo"]}}},{"if":{"properties":{"role":{"const":"notFound"}},"required":["role"]},"then":{"not":{"anyOf":[{"required":["seo"]},{"required":["capability"]}]},"properties":{"path":{"const":"/404"}}}},{"if":{"properties":{"role":{"const":"product"}},"required":["role"]},"then":{"properties":{"path":{"pattern":"^(?:/[A-Za-z0-9._~-]+)*/:[A-Za-z][A-Za-z0-9_]*$"}}}}],"anyOf":[{"properties":{"path":{"not":{"anyOf":[{"pattern":"^(?:/(?:__[dD][rR][aA][fF][tT]|__[pP][oO][rR][tT][aA][lL]-[pP][rR][eE][vV][iI][eE][wW]|__[pP][uU][bB][lL][iI][sS][hH][eE][dD]-[sS][nN][aA][pP][sS][hH][oO][tT]|__[sS][iI][tT][eE]-[bB][uU][iI][lL][dD]-[pP][rR][eE][vV][iI][eE][wW]|__[tT][hH][rR][eE][sS][hH][oO]|__[vV][aA][rR][iI][aA][nN][tT]-[pP][rR][eE][vV][iI][eE][wW]|[aA][cC][cC][oO][uU][nN][tT]|[aA][pP][iI]|[aA][uU][tT][hH]|[cC][aA][rR][tT]|[cC][hH][eE][cC][kK][oO][uU][tT]|[cC][lL][aA][sS][sS][eE][sS]|[cC][oO][nN][fF][iI][rR][mM][aA][tT][iI][oO][nN]|[eE][mM][aA][iI][lL]|[eE][vV][eE][nN][tT][sS]|[fF][eE][eE][dD]\\.[xX][mM][lL]|[iI][nN][tT][eE][rR][nN][aA][lL]|[lL][oO][gG][iI][nN]|[lL][oO][gG][oO][uU][tT]|[nN][eE][wW][sS][lL][eE][tT][tT][eE][rR]|[oO][gG]-[iI][mM][aA][gG][eE]|[oO][rR][dD][eE][rR]|[pP][aA][yY]|[pP][oO][rR][tT][aA][lL]|[pP][rR][eE][vV][iI][eE][wW]|[rR][eE][vV][iI][eE][wW]|[rR][oO][bB][oO][tT][sS]\\.[tT][xX][tT]|[sS][iI][tT][eE][mM][aA][pP]\\.[xX][mM][lL]|[sS][tT][oO][cC][kK]-[aA][lL][eE][rR][tT][sS])(?:/|$))"},{"pattern":"^/:"}]}}}},{"properties":{"path":{"pattern":"^/cart/?$"},"role":{"const":"cart"}},"required":["role"]},{"properties":{"path":{"pattern":"^/checkout/?$"},"role":{"const":"checkout"}},"required":["role"]},{"properties":{"path":{"pattern":"^/confirmation/?$"},"role":{"const":"confirmation"}},"required":["role"]}],"properties":{"capability":{"enum":["commerce.discovery","commerce.productPurchase","commerce.cart"]},"entry":{"pattern":"^(?!/)(?!.*[\\\\\\u0000-\\u001f\\u007f])(?!.*(?:^|/)\\.{1,2}(?:/|$))[^/]+(?:/[^/]+)*\\.tsx$","type":"string"},"path":{"anyOf":[{"const":"/"},{"not":{"pattern":"/$"}}],"maxLength":256,"not":{"anyOf":[{"pattern":"^/[Ss][Ii][Tt][Ee][Mm][Aa][Pp]-[^/]+\\.[Xx][Mm][Ll]/?$"},{"pattern":"^/[Bb][Oo][Oo][Kk]/[Cc][Oo][Nn][Ff][Ii][Rr][Mm][Ee][Dd]/?$"},{"pattern":"^/[Jj][Oo][Ii][Nn]/[Cc][Oo][Nn][Ff][Ii][Rr][Mm][Ee][Dd]/?$"},{"pattern":"^/__thresho/"},{"pattern":"^/\\.well-known/"},{"pattern":"^/feeds/"},{"pattern":"^/robots\\.txt$"},{"pattern":"^/sitemap\\.xml$"},{"pattern":"^/feed\\.xml$"},{"pattern":"^/manifest\\.json$"},{"pattern":"^/sw\\.js$"},{"pattern":"^/favicon\\.ico$"},{"pattern":"^/agents\\.md$"},{"pattern":"^/llms\\.txt$"},{"pattern":"^/health$"},{"pattern":"^/ready$"}]},"pattern":"^(?!.*(?:^|/)\\.{1,2}(?:/|$))/(?:[A-Za-z0-9._~-]+/)*[A-Za-z0-9._~-]*(?::[A-Za-z][A-Za-z0-9_]*)?$","type":"string"},"role":{"enum":["home","content","catalog","product","cart","checkout","confirmation","account","notFound"]},"seo":{"additionalProperties":false,"description":"Required on every route whose role is absent, home, content, catalog or product. Not allowed on cart, checkout, confirmation, account or notFound. title and description name content fields: 10 to 60 and 50 to 160 characters are recommended.","properties":{"description":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$","type":"string"},"noindex":{"type":"boolean"},"ogImage":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$","type":"string"},"title":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$","type":"string"}},"type":"object"}},"required":["path","entry"],"type":"object"},"minItems":1,"type":"array"},"styles":{"items":{"pattern":"^(?!/)(?!.*[\\\\\\u0000-\\u001f\\u007f])(?!.*(?:^|/)\\.{1,2}(?:/|$))[^/]+(?:/[^/]+)*\\.css$","type":"string"},"maxItems":64,"type":"array","uniqueItems":true}},"required":["kind","formatVersion","id","name","journeys","routes","content"],"type":"object"}},"required":["manifest","files"],"type":"object","x-thresho-constraints":{"expandedSource":{"enforcement":"compiler","maximumUtf8Bytes":524288},"sourceFilePath":{"forbidden":["absolute paths","empty, dot, or dot-dot segments","backslashes","ASCII control characters"]}}}
package/tsconfig.json ADDED
@@ -0,0 +1 @@
1
+ {"compilerOptions":{"jsx":"react-jsx","jsxImportSource":"@thresho/site-sdk","module":"preserve","moduleResolution":"bundler","noEmit":true,"strict":true,"types":[]}}
@@ -0,0 +1 @@
1
+ {"compilerOnly":["source syntax, literal values, imports, spreads and executable constructs","route capability, ancestry, checkout composition and expanded child emptiness","children attributes and unknown hyphenated JSX attributes","cross-field manifest predicates, uniqueness, numeric ranges and string lengths","TypeScript structural excess-property checks do not validate unknown runtime data"],"components":{"Cart.Adjustment":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Cart","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Cart.Checkout":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Cart","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Cart.LineQuantity":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Cart","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Cart.LineRemove":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Cart","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Cart.Lines":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":false,"namespace":"Cart","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Cart.Summary":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Cart","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Cart.Total":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Cart","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Catalog.Categories":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.ClearFilters":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":true,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.FilterPanel":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":false,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.Filters":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":true,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"data-design-facet-search":{"kind":"boolean","required":false,"values":[true,false,"true","false"]},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.LoadMore":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":false,"filterPanel":false,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.Pickup":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":true,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.PriceRange":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":true,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.Products":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":false,"filterPanel":false,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"item":{"kind":"component","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.ResultCount":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.Root":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":false,"filterPanel":false,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.Search":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":true,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.SelectedFilters":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":false,"filterPanel":true,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.Sort":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Catalog.Status":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Catalog","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Checkout.Confirmation":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Checkout.Contact":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Checkout.Coordinator":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":false,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Checkout.Fulfillment":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Checkout.Payment":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Checkout.Root":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":false,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Checkout.Status":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Checkout.Submit":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Checkout.Summary":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Checkout","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Content.Text":{"acceptsChildren":true,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"ignoresChildren":true,"namespace":"Content","props":{"field":{"kind":"string","required":true},"nodeId":{"kind":"string","required":false}},"protected":false},"Form.Booking":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Form","props":{"className":{"kind":"string","required":false},"form":{"kind":"string","required":true},"nodeId":{"kind":"string","required":false}},"protected":false},"Form.Contact":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Form","props":{"className":{"kind":"string","required":false},"form":{"kind":"string","required":true},"nodeId":{"kind":"string","required":false}},"protected":false},"Form.Lead":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Form","props":{"className":{"kind":"string","required":false},"form":{"kind":"string","required":true},"nodeId":{"kind":"string","required":false}},"protected":false},"Form.Newsletter":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Form","props":{"className":{"kind":"string","required":false},"form":{"kind":"string","required":true},"nodeId":{"kind":"string","required":false}},"protected":false},"Form.Review":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Form","props":{"className":{"kind":"string","required":false},"form":{"kind":"string","required":true},"nodeId":{"kind":"string","required":false}},"protected":false},"Presentation.Icon":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Presentation","props":{"className":{"kind":"string","required":false},"name":{"kind":"string","required":true,"values":["menu","search","heart","user","bag","chevron-down","arrow-left","arrow-right","x","plus","minus","star"]},"nodeId":{"kind":"string","required":false}},"protected":false},"Presentation.Image":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Presentation","props":{"alt":{"kind":"string","required":true},"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false},"slot":{"kind":"string","required":true}},"protected":false},"Presentation.Video":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Presentation","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false},"slot":{"kind":"string","required":true}},"protected":false},"Product.Availability":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Badge":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.CompareAtPrice":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Description":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.GalleryImage":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.GalleryNext":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.GalleryPrevious":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.GalleryThumbnails":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Image":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Link":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Name":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Options":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Pickup":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":true,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Price":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Product.PurchaseTerms":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Product.QuickAdd":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":true},"Product.Rating":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.SKU":{"acceptsChildren":false,"advertisedChildren":false,"captureLabel":false,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false},"Product.Specifications":{"acceptsChildren":true,"advertisedChildren":true,"captureLabel":true,"filterPanel":false,"namespace":"Product","props":{"className":{"kind":"string","required":false},"label":{"kind":"string","required":false},"nodeId":{"kind":"string","required":false}},"protected":false}},"designProps":{"data-design-color":{"allowedValues":["surface","ink","muted","accent","line"],"kind":"colorToken"},"data-design-columns":{"kind":"integer","maximum":12,"minimum":1},"data-design-columns-mobile":{"kind":"integer","maximum":12,"minimum":1},"data-design-columns-tablet":{"kind":"integer","maximum":12,"minimum":1},"data-design-facet-search":{"kind":"boolean"},"data-design-gap":{"kind":"number","maximum":96,"minimum":0},"data-design-image-ratio":{"allowedValues":["1/1","4/5","3/2","16/9"],"kind":"enum"},"data-design-repeat":{"kind":"boolean"},"data-design-typography":{"allowedValues":["display","title","heading","body","caption"],"kind":"textToken"},"data-design-visibility":{"allowedValues":["visible","hidden"],"kind":"visibility"}},"html":["div","section","main","header","nav","aside","footer","article","h1","h2","h3","h4","h5","h6","p","span","strong","small","em","ul","ol","li","a","button","label"],"icons":["menu","search","heart","user","bag","chevron-down","arrow-left","arrow-right","x","plus","minus","star"],"manifestBounds":{"contentFields":10000,"expandedSourceBytes":524288,"issues":100,"nodeCount":2048,"nodeDepth":32,"packageBytes":3145728,"packageNodeCount":16384,"sourceFileBytes":65536,"stylesheets":64},"nesting":{"cartLines":"Cart.Lines","checkout":{"coordinator":"Checkout.Coordinator","excludedDesignProperties":["data-design-facet-search"],"forbiddenAttributes":["href","style","dangerouslySetInnerHTML","aria-hidden"],"inertHtml":["div","section","main","aside","header","footer","p","h1","h2","h3","h4","h5","h6","span","strong","em","ul","ol","li"],"roles":{"Checkout.Confirmation":{"maximum":1,"minimum":1},"Checkout.Contact":{"maximum":1,"minimum":1},"Checkout.Fulfillment":{"maximum":1,"minimum":1},"Checkout.Payment":{"maximum":1,"minimum":1},"Checkout.Status":{"maximum":1,"minimum":1},"Checkout.Submit":{"maximum":1,"minimum":1},"Checkout.Summary":{"maximum":4,"minimum":1}},"root":"Checkout.Root","treatmentTokens":["checkout-root","checkout-coordinator","checkout-contact","checkout-fulfillment","checkout-summary","checkout-payment","checkout-submit","checkout-status","checkout-confirmation","checkout-stack","checkout-grid","checkout-section","checkout-panel","checkout-content","checkout-heading","checkout-actions","checkout-label","checkout-value","checkout-error","checkout-disclosure"]},"compilerOnly":["Only named SDK imports and relative component imports are accepted; SDK default imports, namespace imports and import-type declarations are refused.","Attribute spreads, event handlers, function calls and executable source are refused by the compiler.","Catalog controls require a discovery route; Product controls on discovery routes must be inside Catalog.Products.","Cart line controls require Cart.Lines; filter-panel children and product-card repetition follow the registry rules.","Checkout composition requires one root, one coordinator and the registered role counts; only approved inert layout and treatment are accepted.","Content fields, form and media references, exact numeric bounds, empty expanded children and route requirements are checked by the compiler.","TypeScript permits unknown hyphenated JSX attributes and some structurally compatible objects; the compiler still refuses unsupported attributes and source forms.","A JSX children attribute is refused even when TypeScript accepts it; use authored child syntax."],"enforcement":"compiler","filterPanel":"Catalog.FilterPanel","forbiddenInProducts":["Catalog.FilterPanel","Cart.*","Checkout.*"],"lineControls":["Cart.LineQuantity","Cart.LineRemove"],"namespaceCapabilities":{"Cart":["commerce.discovery","commerce.productPurchase","commerce.cart"],"Catalog":["commerce.discovery"],"Checkout":["commerce.discovery","commerce.productPurchase","commerce.cart"],"Product":["commerce.productPurchase","commerce.discovery"]},"productRepeater":"Catalog.Products"},"ordinaryAttributes":["className","id","role","aria-*","data-design-*","href","field","item","nodeId","slot","alt","name","form"],"ordinaryProps":["className","id","role","aria-*","data-design-*","href","field","item","nodeId"],"refusedHtml":{"button":"native buttons are not accepted; use a registered capability action"}}