@opensite/ui 3.5.7 → 3.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/navbar-animated-preview.cjs +10 -4
- package/dist/navbar-animated-preview.d.cts +6 -6
- package/dist/navbar-animated-preview.d.ts +6 -6
- package/dist/navbar-animated-preview.js +10 -4
- package/dist/registry.cjs +135 -16
- package/dist/registry.d.cts +20 -9
- package/dist/registry.d.ts +20 -9
- package/dist/registry.js +135 -16
- package/package.json +1 -1
|
@@ -1132,16 +1132,22 @@ var FeaturedCardsGridDropdown = ({
|
|
|
1132
1132
|
optixFlowConfig
|
|
1133
1133
|
}) => {
|
|
1134
1134
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1135
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1135
|
+
featuredLinks && featuredLinks?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1136
1136
|
FeaturedLink,
|
|
1137
1137
|
{
|
|
1138
1138
|
link,
|
|
1139
1139
|
optixFlowConfig
|
|
1140
1140
|
},
|
|
1141
1141
|
`desktop-featured-link-${index}`
|
|
1142
|
-
)) }),
|
|
1143
|
-
/* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
|
|
1144
|
-
|
|
1142
|
+
)) }) : null,
|
|
1143
|
+
featuredLinks && featuredLinks?.length > 0 && links && links?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Separator, {}) : null,
|
|
1144
|
+
links && links?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1145
|
+
"div",
|
|
1146
|
+
{
|
|
1147
|
+
className: `grid grid-cols-4 pt-${featuredLinks && featuredLinks?.length > 0 ? 8 : 0} gap-4`,
|
|
1148
|
+
children: links?.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(NavLink, { link }, `default-nav-link-${index}`))
|
|
1149
|
+
}
|
|
1150
|
+
) : null
|
|
1145
1151
|
] });
|
|
1146
1152
|
};
|
|
1147
1153
|
var GroupedLinksImageDropdown = ({
|
|
@@ -39,16 +39,16 @@ interface IMenuLink {
|
|
|
39
39
|
*/
|
|
40
40
|
interface NavbarAnimatedPreviewProps {
|
|
41
41
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
* Logo configuration
|
|
43
|
+
*/
|
|
44
44
|
logo?: LogoConfig;
|
|
45
45
|
/**
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
* Navigation menu links with optional dropdown groups
|
|
47
|
+
*/
|
|
48
48
|
menuLinks?: IMenuLink[];
|
|
49
49
|
/**
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
* Action configurations (e.g., Sign In, Get Started buttons)
|
|
51
|
+
*/
|
|
52
52
|
actions?: ActionConfig[];
|
|
53
53
|
}
|
|
54
54
|
interface NavbarAnimatedPreviewRuntimeProps {
|
|
@@ -39,16 +39,16 @@ interface IMenuLink {
|
|
|
39
39
|
*/
|
|
40
40
|
interface NavbarAnimatedPreviewProps {
|
|
41
41
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
* Logo configuration
|
|
43
|
+
*/
|
|
44
44
|
logo?: LogoConfig;
|
|
45
45
|
/**
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
* Navigation menu links with optional dropdown groups
|
|
47
|
+
*/
|
|
48
48
|
menuLinks?: IMenuLink[];
|
|
49
49
|
/**
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
* Action configurations (e.g., Sign In, Get Started buttons)
|
|
51
|
+
*/
|
|
52
52
|
actions?: ActionConfig[];
|
|
53
53
|
}
|
|
54
54
|
interface NavbarAnimatedPreviewRuntimeProps {
|
|
@@ -1107,16 +1107,22 @@ var FeaturedCardsGridDropdown = ({
|
|
|
1107
1107
|
optixFlowConfig
|
|
1108
1108
|
}) => {
|
|
1109
1109
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
1110
|
-
/* @__PURE__ */ jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsx(
|
|
1110
|
+
featuredLinks && featuredLinks?.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsx(
|
|
1111
1111
|
FeaturedLink,
|
|
1112
1112
|
{
|
|
1113
1113
|
link,
|
|
1114
1114
|
optixFlowConfig
|
|
1115
1115
|
},
|
|
1116
1116
|
`desktop-featured-link-${index}`
|
|
1117
|
-
)) }),
|
|
1118
|
-
/* @__PURE__ */ jsx(Separator, {}),
|
|
1119
|
-
|
|
1117
|
+
)) }) : null,
|
|
1118
|
+
featuredLinks && featuredLinks?.length > 0 && links && links?.length > 0 ? /* @__PURE__ */ jsx(Separator, {}) : null,
|
|
1119
|
+
links && links?.length > 0 ? /* @__PURE__ */ jsx(
|
|
1120
|
+
"div",
|
|
1121
|
+
{
|
|
1122
|
+
className: `grid grid-cols-4 pt-${featuredLinks && featuredLinks?.length > 0 ? 8 : 0} gap-4`,
|
|
1123
|
+
children: links?.map((link, index) => /* @__PURE__ */ jsx(NavLink, { link }, `default-nav-link-${index}`))
|
|
1124
|
+
}
|
|
1125
|
+
) : null
|
|
1120
1126
|
] });
|
|
1121
1127
|
};
|
|
1122
1128
|
var GroupedLinksImageDropdown = ({
|
package/dist/registry.cjs
CHANGED
|
@@ -66975,16 +66975,22 @@ var FeaturedCardsGridDropdown = ({
|
|
|
66975
66975
|
optixFlowConfig
|
|
66976
66976
|
}) => {
|
|
66977
66977
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
66978
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
66978
|
+
featuredLinks && featuredLinks?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
66979
66979
|
FeaturedLink,
|
|
66980
66980
|
{
|
|
66981
66981
|
link,
|
|
66982
66982
|
optixFlowConfig
|
|
66983
66983
|
},
|
|
66984
66984
|
`desktop-featured-link-${index}`
|
|
66985
|
-
)) }),
|
|
66986
|
-
/* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
|
|
66987
|
-
|
|
66985
|
+
)) }) : null,
|
|
66986
|
+
featuredLinks && featuredLinks?.length > 0 && links && links?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Separator, {}) : null,
|
|
66987
|
+
links && links?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
66988
|
+
"div",
|
|
66989
|
+
{
|
|
66990
|
+
className: `grid grid-cols-4 pt-${featuredLinks && featuredLinks?.length > 0 ? 8 : 0} gap-4`,
|
|
66991
|
+
children: links?.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(NavLink, { link }, `default-nav-link-${index}`))
|
|
66992
|
+
}
|
|
66993
|
+
) : null
|
|
66988
66994
|
] });
|
|
66989
66995
|
};
|
|
66990
66996
|
var GroupedLinksImageDropdown = ({
|
|
@@ -112065,17 +112071,27 @@ var BLOCK_REGISTRY = {
|
|
|
112065
112071
|
heading="Compassionate care for your mental wellbeing"
|
|
112066
112072
|
description="Our team of experienced mental health professionals is dedicated to providing compassionate care and support to individuals in need."
|
|
112067
112073
|
smallImages={[
|
|
112068
|
-
{
|
|
112069
|
-
|
|
112074
|
+
{
|
|
112075
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112076
|
+
alt: "Dr. Smith",
|
|
112077
|
+
},
|
|
112078
|
+
{
|
|
112079
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112080
|
+
alt: "Dr. Johnson",
|
|
112081
|
+
},
|
|
112070
112082
|
]}
|
|
112071
112083
|
testimonial={{
|
|
112072
112084
|
quote:
|
|
112073
112085
|
"The support I received changed my life. I'm so grateful for the compassionate care.",
|
|
112074
112086
|
author: "Sarah M.",
|
|
112075
112087
|
role: "Client",
|
|
112076
|
-
avatarSrc:
|
|
112088
|
+
avatarSrc:
|
|
112089
|
+
"https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112090
|
+
}}
|
|
112091
|
+
featureImage={{
|
|
112092
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112093
|
+
alt: "Mental health support",
|
|
112077
112094
|
}}
|
|
112078
|
-
featureImage={{ src: "/images/feature.jpg", alt: "Mental health support" }}
|
|
112079
112095
|
actions={[
|
|
112080
112096
|
{ label: "Get Started", href: "#", variant: "default" },
|
|
112081
112097
|
{ label: "Talk to Sales", href: "#", variant: "outline" },
|
|
@@ -112083,7 +112099,7 @@ var BLOCK_REGISTRY = {
|
|
|
112083
112099
|
background="gray"
|
|
112084
112100
|
/>
|
|
112085
112101
|
`.trim(),
|
|
112086
|
-
importantUsageNotes: "Only use if you have a valid testimonial - DO NOT MAKE UP A TESTIMONIAL/REVIEW. Supply exactly 2 images to the 'smallImages' prop and ensure you supply a 'featureImage' prop object. Do not exceed 40 characters for the 'heading' prop. Do not exceed 130 characters for the 'description' prop. If you supply multiple 'actions', ensure to use a variant of 'default' for the first action, and 'outline' for the second action to ensure proper visual distinction between the two CTAs. Follow the example props closely for this block.",
|
|
112102
|
+
importantUsageNotes: "Only use if you have a valid testimonial - DO NOT MAKE UP A TESTIMONIAL/REVIEW. Supply exactly 2 images to the 'smallImages' prop and ensure you supply a 'featureImage' prop object. Do not exceed 40 characters for the 'heading' prop. Do not exceed 130 characters for the 'description' prop. If you supply multiple 'actions', ensure to use a variant of 'default' for the first action, and 'outline' for the second action to ensure proper visual distinction between the two CTAs. All media src values must be absolute URLs to real CDN assets \u2014 never relative paths (e.g. '/images/...') or placeholder strings. Follow the example props closely for this block.",
|
|
112087
112103
|
usageRequirements: {
|
|
112088
112104
|
requiredProps: ["heading", "smallImages", "featureImage", "testimonial"],
|
|
112089
112105
|
propConstraints: {
|
|
@@ -112131,20 +112147,29 @@ var BLOCK_REGISTRY = {
|
|
|
112131
112147
|
},
|
|
112132
112148
|
requiresSiteCapabilities: ["reviews_or_testimonials", "media_library"]
|
|
112133
112149
|
},
|
|
112134
|
-
|
|
112150
|
+
exampleProps: {
|
|
112135
112151
|
heading: "Compassionate care for your mental wellbeing",
|
|
112136
112152
|
description: "Our team of experienced mental health professionals is dedicated to providing compassionate care and support to individuals in need.",
|
|
112137
112153
|
smallImages: [
|
|
112138
|
-
{
|
|
112139
|
-
|
|
112154
|
+
{
|
|
112155
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112156
|
+
alt: "Dr. Smith"
|
|
112157
|
+
},
|
|
112158
|
+
{
|
|
112159
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112160
|
+
alt: "Dr. Johnson"
|
|
112161
|
+
}
|
|
112140
112162
|
],
|
|
112141
112163
|
testimonial: {
|
|
112142
112164
|
quote: "The support I received changed my life. I'm so grateful for the compassionate care.",
|
|
112143
112165
|
author: "Sarah M.",
|
|
112144
112166
|
role: "Client",
|
|
112145
|
-
avatarSrc: "/
|
|
112167
|
+
avatarSrc: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp"
|
|
112168
|
+
},
|
|
112169
|
+
featureImage: {
|
|
112170
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112171
|
+
alt: "Mental health support"
|
|
112146
112172
|
},
|
|
112147
|
-
featureImage: { src: "/images/feature.jpg", alt: "Mental health support" },
|
|
112148
112173
|
actions: [
|
|
112149
112174
|
{ label: "Get Started", href: "#", variant: "default" },
|
|
112150
112175
|
{ label: "Talk to Sales", href: "#", variant: "outline" }
|
|
@@ -112169,7 +112194,101 @@ var BLOCK_REGISTRY = {
|
|
|
112169
112194
|
category: "hero",
|
|
112170
112195
|
component: HeroMentorshipVideoSplit,
|
|
112171
112196
|
props: "HeroMentorshipVideoSplitProps",
|
|
112172
|
-
exampleUsage:
|
|
112197
|
+
exampleUsage: `
|
|
112198
|
+
<HeroMentorshipVideoSplit
|
|
112199
|
+
heading="Reclaim Your Peace. Scale Sustainably."
|
|
112200
|
+
description="Somatic mindset coaching for high-achieving entrepreneurs ready to lead from strength \u2014 not survival mode."
|
|
112201
|
+
action={{ label: "Book Your Discovery Call", href: "/contact", variant: "default", size: "lg" }}
|
|
112202
|
+
videoLabel="Watch the Overview"
|
|
112203
|
+
videoTitle="Coaching Overview"
|
|
112204
|
+
modalVideo={{
|
|
112205
|
+
image: {
|
|
112206
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112207
|
+
alt: "Coaching overview poster",
|
|
112208
|
+
},
|
|
112209
|
+
video: {
|
|
112210
|
+
src: "https://toastability-production.s3.amazonaws.com/4kox2ux0ye1wlqkdwg03s08a67i1",
|
|
112211
|
+
},
|
|
112212
|
+
}}
|
|
112213
|
+
image={{
|
|
112214
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112215
|
+
alt: "Coach portrait",
|
|
112216
|
+
}}
|
|
112217
|
+
background="dark"
|
|
112218
|
+
/>
|
|
112219
|
+
`.trim(),
|
|
112220
|
+
importantUsageNotes: "The 'image' prop is the main hero image and MUST be an image asset (poster/photo). The 'modalVideo' prop's nested 'video.src' MUST be a video asset (HLS playlist or MP4) and 'modalVideo.image.src' MUST be an image asset (video poster). NEVER swap these: do not put a video URL into the 'image' prop and do not put an image URL into 'modalVideo.video.src'. All media src values must be absolute URLs to real CDN assets \u2014 never relative paths or placeholder strings. Keep 'heading' concise (under 60 characters) for visual balance.",
|
|
112221
|
+
usageRequirements: {
|
|
112222
|
+
requiredProps: ["heading", "image"],
|
|
112223
|
+
propConstraints: {
|
|
112224
|
+
heading: { required: true, maxLength: 60 },
|
|
112225
|
+
description: { maxLength: 220 },
|
|
112226
|
+
image: {
|
|
112227
|
+
required: true,
|
|
112228
|
+
note: "Main hero image. Must be an image asset (jpg/png/webp), NOT a video URL."
|
|
112229
|
+
},
|
|
112230
|
+
"modalVideo.video.src": {
|
|
112231
|
+
note: "Must be a video asset URL (HLS .m3u8 master playlist or .mp4). Must NOT be an image URL."
|
|
112232
|
+
},
|
|
112233
|
+
"modalVideo.image.src": {
|
|
112234
|
+
note: "Video poster image. Must be an image asset, NOT a video URL."
|
|
112235
|
+
}
|
|
112236
|
+
},
|
|
112237
|
+
mediaSlots: {
|
|
112238
|
+
image: {
|
|
112239
|
+
path: "image",
|
|
112240
|
+
roles: ["hero", "feature", "profile"],
|
|
112241
|
+
disallowedRoles: ["logo", "favicon", "video-thumbnail"],
|
|
112242
|
+
minPixelClass: "large",
|
|
112243
|
+
required: true,
|
|
112244
|
+
note: "Main hero image slot. IMAGE MEDIA ONLY. Do not assign a video URL here."
|
|
112245
|
+
},
|
|
112246
|
+
"modalVideo.video.src": {
|
|
112247
|
+
path: "modalVideo.video.src",
|
|
112248
|
+
roles: [],
|
|
112249
|
+
disallowedRoles: ["logo", "favicon", "hero", "feature", "profile"],
|
|
112250
|
+
note: "VIDEO MEDIA ONLY (HLS master playlist or MP4). Do not assign an image URL here."
|
|
112251
|
+
},
|
|
112252
|
+
"modalVideo.image.src": {
|
|
112253
|
+
path: "modalVideo.image.src",
|
|
112254
|
+
roles: ["video-thumbnail", "hero", "feature"],
|
|
112255
|
+
disallowedRoles: ["logo", "favicon"],
|
|
112256
|
+
minPixelClass: "medium",
|
|
112257
|
+
note: "Poster image shown before the video plays. IMAGE MEDIA ONLY."
|
|
112258
|
+
}
|
|
112259
|
+
},
|
|
112260
|
+
requiresSiteCapabilities: ["media_library"],
|
|
112261
|
+
notes: [
|
|
112262
|
+
"Image and video media must never be swapped between the 'image' prop and the 'modalVideo' prop.",
|
|
112263
|
+
"All media src values must be absolute URLs to real assets; relative paths are not allowed."
|
|
112264
|
+
]
|
|
112265
|
+
},
|
|
112266
|
+
exampleProps: {
|
|
112267
|
+
heading: "Reclaim Your Peace. Scale Sustainably.",
|
|
112268
|
+
description: "Somatic mindset coaching for high-achieving entrepreneurs ready to lead from strength \u2014 not survival mode.",
|
|
112269
|
+
action: {
|
|
112270
|
+
label: "Book Your Discovery Call",
|
|
112271
|
+
href: "/contact",
|
|
112272
|
+
variant: "default",
|
|
112273
|
+
size: "lg"
|
|
112274
|
+
},
|
|
112275
|
+
videoLabel: "Watch the Overview",
|
|
112276
|
+
videoTitle: "Coaching Overview",
|
|
112277
|
+
modalVideo: {
|
|
112278
|
+
image: {
|
|
112279
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112280
|
+
alt: "Coaching overview poster"
|
|
112281
|
+
},
|
|
112282
|
+
video: {
|
|
112283
|
+
src: "https://toastability-production.s3.amazonaws.com/4kox2ux0ye1wlqkdwg03s08a67i1"
|
|
112284
|
+
}
|
|
112285
|
+
},
|
|
112286
|
+
image: {
|
|
112287
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112288
|
+
alt: "Coach portrait"
|
|
112289
|
+
},
|
|
112290
|
+
background: "dark"
|
|
112291
|
+
}
|
|
112173
112292
|
},
|
|
112174
112293
|
"hero-business-operations-mosaic": {
|
|
112175
112294
|
id: "hero-business-operations-mosaic",
|
|
@@ -120450,7 +120569,7 @@ function normalizeBlock(block, source) {
|
|
|
120450
120569
|
},
|
|
120451
120570
|
examples: {
|
|
120452
120571
|
exampleUsage: block.exampleUsage || null,
|
|
120453
|
-
|
|
120572
|
+
exampleProps: block.exampleProps ? JSON.parse(JSON.stringify(block.exampleProps)) : null
|
|
120454
120573
|
},
|
|
120455
120574
|
source: source ?? null,
|
|
120456
120575
|
importantUsageNotes: block.importantUsageNotes ?? null,
|
package/dist/registry.d.cts
CHANGED
|
@@ -108,11 +108,18 @@ interface BlockContractFields {
|
|
|
108
108
|
/** Structured, machine-readable usage requirements. */
|
|
109
109
|
usageRequirements?: BlockUsageRequirements;
|
|
110
110
|
/**
|
|
111
|
-
* Canonical
|
|
112
|
-
*
|
|
113
|
-
*
|
|
111
|
+
* Canonical example payload for the block, matching the prop shape.
|
|
112
|
+
* Optional. When supplied, consumers should prefer this over parsing
|
|
113
|
+
* `exampleUsage` JSX.
|
|
114
|
+
*
|
|
115
|
+
* IMPORTANT: These are reference examples for AI prompting / preview
|
|
116
|
+
* tooling only. They are NOT runtime defaults — consumers MUST NOT
|
|
117
|
+
* substitute these values as fallback content on a real client site.
|
|
118
|
+
* The previous name (`defaultProps`) was renamed to make this explicit:
|
|
119
|
+
* AI agents had begun treating "default" values as safe runtime
|
|
120
|
+
* fallbacks for missing client data, which is incorrect.
|
|
114
121
|
*/
|
|
115
|
-
|
|
122
|
+
exampleProps?: Record<string, unknown>;
|
|
116
123
|
}
|
|
117
124
|
/**
|
|
118
125
|
* Metadata-only block registry entry (no component import)
|
|
@@ -164,12 +171,16 @@ interface BuilderContractPropsContract {
|
|
|
164
171
|
interface BuilderContractExamples {
|
|
165
172
|
exampleUsage: string | null;
|
|
166
173
|
/**
|
|
167
|
-
* Canonical
|
|
168
|
-
* BlockRegistryEntry.
|
|
169
|
-
*
|
|
170
|
-
*
|
|
174
|
+
* Canonical example props payload. Populated from
|
|
175
|
+
* BlockRegistryEntry.exampleProps when declared, otherwise null.
|
|
176
|
+
*
|
|
177
|
+
* IMPORTANT: This is reference example data only, not a runtime
|
|
178
|
+
* fallback. Consumers MUST NOT substitute these values for missing
|
|
179
|
+
* client content. The previous name (`defaultData`) was renamed
|
|
180
|
+
* because downstream AI agents were treating it as safe runtime
|
|
181
|
+
* default content.
|
|
171
182
|
*/
|
|
172
|
-
|
|
183
|
+
exampleProps: Record<string, unknown> | null;
|
|
173
184
|
}
|
|
174
185
|
interface BuilderContractBlock {
|
|
175
186
|
componentId: string;
|
package/dist/registry.d.ts
CHANGED
|
@@ -108,11 +108,18 @@ interface BlockContractFields {
|
|
|
108
108
|
/** Structured, machine-readable usage requirements. */
|
|
109
109
|
usageRequirements?: BlockUsageRequirements;
|
|
110
110
|
/**
|
|
111
|
-
* Canonical
|
|
112
|
-
*
|
|
113
|
-
*
|
|
111
|
+
* Canonical example payload for the block, matching the prop shape.
|
|
112
|
+
* Optional. When supplied, consumers should prefer this over parsing
|
|
113
|
+
* `exampleUsage` JSX.
|
|
114
|
+
*
|
|
115
|
+
* IMPORTANT: These are reference examples for AI prompting / preview
|
|
116
|
+
* tooling only. They are NOT runtime defaults — consumers MUST NOT
|
|
117
|
+
* substitute these values as fallback content on a real client site.
|
|
118
|
+
* The previous name (`defaultProps`) was renamed to make this explicit:
|
|
119
|
+
* AI agents had begun treating "default" values as safe runtime
|
|
120
|
+
* fallbacks for missing client data, which is incorrect.
|
|
114
121
|
*/
|
|
115
|
-
|
|
122
|
+
exampleProps?: Record<string, unknown>;
|
|
116
123
|
}
|
|
117
124
|
/**
|
|
118
125
|
* Metadata-only block registry entry (no component import)
|
|
@@ -164,12 +171,16 @@ interface BuilderContractPropsContract {
|
|
|
164
171
|
interface BuilderContractExamples {
|
|
165
172
|
exampleUsage: string | null;
|
|
166
173
|
/**
|
|
167
|
-
* Canonical
|
|
168
|
-
* BlockRegistryEntry.
|
|
169
|
-
*
|
|
170
|
-
*
|
|
174
|
+
* Canonical example props payload. Populated from
|
|
175
|
+
* BlockRegistryEntry.exampleProps when declared, otherwise null.
|
|
176
|
+
*
|
|
177
|
+
* IMPORTANT: This is reference example data only, not a runtime
|
|
178
|
+
* fallback. Consumers MUST NOT substitute these values for missing
|
|
179
|
+
* client content. The previous name (`defaultData`) was renamed
|
|
180
|
+
* because downstream AI agents were treating it as safe runtime
|
|
181
|
+
* default content.
|
|
171
182
|
*/
|
|
172
|
-
|
|
183
|
+
exampleProps: Record<string, unknown> | null;
|
|
173
184
|
}
|
|
174
185
|
interface BuilderContractBlock {
|
|
175
186
|
componentId: string;
|
package/dist/registry.js
CHANGED
|
@@ -66935,16 +66935,22 @@ var FeaturedCardsGridDropdown = ({
|
|
|
66935
66935
|
optixFlowConfig
|
|
66936
66936
|
}) => {
|
|
66937
66937
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
66938
|
-
/* @__PURE__ */ jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsx(
|
|
66938
|
+
featuredLinks && featuredLinks?.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsx(
|
|
66939
66939
|
FeaturedLink,
|
|
66940
66940
|
{
|
|
66941
66941
|
link,
|
|
66942
66942
|
optixFlowConfig
|
|
66943
66943
|
},
|
|
66944
66944
|
`desktop-featured-link-${index}`
|
|
66945
|
-
)) }),
|
|
66946
|
-
/* @__PURE__ */ jsx(Separator, {}),
|
|
66947
|
-
|
|
66945
|
+
)) }) : null,
|
|
66946
|
+
featuredLinks && featuredLinks?.length > 0 && links && links?.length > 0 ? /* @__PURE__ */ jsx(Separator, {}) : null,
|
|
66947
|
+
links && links?.length > 0 ? /* @__PURE__ */ jsx(
|
|
66948
|
+
"div",
|
|
66949
|
+
{
|
|
66950
|
+
className: `grid grid-cols-4 pt-${featuredLinks && featuredLinks?.length > 0 ? 8 : 0} gap-4`,
|
|
66951
|
+
children: links?.map((link, index) => /* @__PURE__ */ jsx(NavLink, { link }, `default-nav-link-${index}`))
|
|
66952
|
+
}
|
|
66953
|
+
) : null
|
|
66948
66954
|
] });
|
|
66949
66955
|
};
|
|
66950
66956
|
var GroupedLinksImageDropdown = ({
|
|
@@ -112025,17 +112031,27 @@ var BLOCK_REGISTRY = {
|
|
|
112025
112031
|
heading="Compassionate care for your mental wellbeing"
|
|
112026
112032
|
description="Our team of experienced mental health professionals is dedicated to providing compassionate care and support to individuals in need."
|
|
112027
112033
|
smallImages={[
|
|
112028
|
-
{
|
|
112029
|
-
|
|
112034
|
+
{
|
|
112035
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112036
|
+
alt: "Dr. Smith",
|
|
112037
|
+
},
|
|
112038
|
+
{
|
|
112039
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112040
|
+
alt: "Dr. Johnson",
|
|
112041
|
+
},
|
|
112030
112042
|
]}
|
|
112031
112043
|
testimonial={{
|
|
112032
112044
|
quote:
|
|
112033
112045
|
"The support I received changed my life. I'm so grateful for the compassionate care.",
|
|
112034
112046
|
author: "Sarah M.",
|
|
112035
112047
|
role: "Client",
|
|
112036
|
-
avatarSrc:
|
|
112048
|
+
avatarSrc:
|
|
112049
|
+
"https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112050
|
+
}}
|
|
112051
|
+
featureImage={{
|
|
112052
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112053
|
+
alt: "Mental health support",
|
|
112037
112054
|
}}
|
|
112038
|
-
featureImage={{ src: "/images/feature.jpg", alt: "Mental health support" }}
|
|
112039
112055
|
actions={[
|
|
112040
112056
|
{ label: "Get Started", href: "#", variant: "default" },
|
|
112041
112057
|
{ label: "Talk to Sales", href: "#", variant: "outline" },
|
|
@@ -112043,7 +112059,7 @@ var BLOCK_REGISTRY = {
|
|
|
112043
112059
|
background="gray"
|
|
112044
112060
|
/>
|
|
112045
112061
|
`.trim(),
|
|
112046
|
-
importantUsageNotes: "Only use if you have a valid testimonial - DO NOT MAKE UP A TESTIMONIAL/REVIEW. Supply exactly 2 images to the 'smallImages' prop and ensure you supply a 'featureImage' prop object. Do not exceed 40 characters for the 'heading' prop. Do not exceed 130 characters for the 'description' prop. If you supply multiple 'actions', ensure to use a variant of 'default' for the first action, and 'outline' for the second action to ensure proper visual distinction between the two CTAs. Follow the example props closely for this block.",
|
|
112062
|
+
importantUsageNotes: "Only use if you have a valid testimonial - DO NOT MAKE UP A TESTIMONIAL/REVIEW. Supply exactly 2 images to the 'smallImages' prop and ensure you supply a 'featureImage' prop object. Do not exceed 40 characters for the 'heading' prop. Do not exceed 130 characters for the 'description' prop. If you supply multiple 'actions', ensure to use a variant of 'default' for the first action, and 'outline' for the second action to ensure proper visual distinction between the two CTAs. All media src values must be absolute URLs to real CDN assets \u2014 never relative paths (e.g. '/images/...') or placeholder strings. Follow the example props closely for this block.",
|
|
112047
112063
|
usageRequirements: {
|
|
112048
112064
|
requiredProps: ["heading", "smallImages", "featureImage", "testimonial"],
|
|
112049
112065
|
propConstraints: {
|
|
@@ -112091,20 +112107,29 @@ var BLOCK_REGISTRY = {
|
|
|
112091
112107
|
},
|
|
112092
112108
|
requiresSiteCapabilities: ["reviews_or_testimonials", "media_library"]
|
|
112093
112109
|
},
|
|
112094
|
-
|
|
112110
|
+
exampleProps: {
|
|
112095
112111
|
heading: "Compassionate care for your mental wellbeing",
|
|
112096
112112
|
description: "Our team of experienced mental health professionals is dedicated to providing compassionate care and support to individuals in need.",
|
|
112097
112113
|
smallImages: [
|
|
112098
|
-
{
|
|
112099
|
-
|
|
112114
|
+
{
|
|
112115
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112116
|
+
alt: "Dr. Smith"
|
|
112117
|
+
},
|
|
112118
|
+
{
|
|
112119
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112120
|
+
alt: "Dr. Johnson"
|
|
112121
|
+
}
|
|
112100
112122
|
],
|
|
112101
112123
|
testimonial: {
|
|
112102
112124
|
quote: "The support I received changed my life. I'm so grateful for the compassionate care.",
|
|
112103
112125
|
author: "Sarah M.",
|
|
112104
112126
|
role: "Client",
|
|
112105
|
-
avatarSrc: "/
|
|
112127
|
+
avatarSrc: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp"
|
|
112128
|
+
},
|
|
112129
|
+
featureImage: {
|
|
112130
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112131
|
+
alt: "Mental health support"
|
|
112106
112132
|
},
|
|
112107
|
-
featureImage: { src: "/images/feature.jpg", alt: "Mental health support" },
|
|
112108
112133
|
actions: [
|
|
112109
112134
|
{ label: "Get Started", href: "#", variant: "default" },
|
|
112110
112135
|
{ label: "Talk to Sales", href: "#", variant: "outline" }
|
|
@@ -112129,7 +112154,101 @@ var BLOCK_REGISTRY = {
|
|
|
112129
112154
|
category: "hero",
|
|
112130
112155
|
component: HeroMentorshipVideoSplit,
|
|
112131
112156
|
props: "HeroMentorshipVideoSplitProps",
|
|
112132
|
-
exampleUsage:
|
|
112157
|
+
exampleUsage: `
|
|
112158
|
+
<HeroMentorshipVideoSplit
|
|
112159
|
+
heading="Reclaim Your Peace. Scale Sustainably."
|
|
112160
|
+
description="Somatic mindset coaching for high-achieving entrepreneurs ready to lead from strength \u2014 not survival mode."
|
|
112161
|
+
action={{ label: "Book Your Discovery Call", href: "/contact", variant: "default", size: "lg" }}
|
|
112162
|
+
videoLabel="Watch the Overview"
|
|
112163
|
+
videoTitle="Coaching Overview"
|
|
112164
|
+
modalVideo={{
|
|
112165
|
+
image: {
|
|
112166
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112167
|
+
alt: "Coaching overview poster",
|
|
112168
|
+
},
|
|
112169
|
+
video: {
|
|
112170
|
+
src: "https://toastability-production.s3.amazonaws.com/4kox2ux0ye1wlqkdwg03s08a67i1",
|
|
112171
|
+
},
|
|
112172
|
+
}}
|
|
112173
|
+
image={{
|
|
112174
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112175
|
+
alt: "Coach portrait",
|
|
112176
|
+
}}
|
|
112177
|
+
background="dark"
|
|
112178
|
+
/>
|
|
112179
|
+
`.trim(),
|
|
112180
|
+
importantUsageNotes: "The 'image' prop is the main hero image and MUST be an image asset (poster/photo). The 'modalVideo' prop's nested 'video.src' MUST be a video asset (HLS playlist or MP4) and 'modalVideo.image.src' MUST be an image asset (video poster). NEVER swap these: do not put a video URL into the 'image' prop and do not put an image URL into 'modalVideo.video.src'. All media src values must be absolute URLs to real CDN assets \u2014 never relative paths or placeholder strings. Keep 'heading' concise (under 60 characters) for visual balance.",
|
|
112181
|
+
usageRequirements: {
|
|
112182
|
+
requiredProps: ["heading", "image"],
|
|
112183
|
+
propConstraints: {
|
|
112184
|
+
heading: { required: true, maxLength: 60 },
|
|
112185
|
+
description: { maxLength: 220 },
|
|
112186
|
+
image: {
|
|
112187
|
+
required: true,
|
|
112188
|
+
note: "Main hero image. Must be an image asset (jpg/png/webp), NOT a video URL."
|
|
112189
|
+
},
|
|
112190
|
+
"modalVideo.video.src": {
|
|
112191
|
+
note: "Must be a video asset URL (HLS .m3u8 master playlist or .mp4). Must NOT be an image URL."
|
|
112192
|
+
},
|
|
112193
|
+
"modalVideo.image.src": {
|
|
112194
|
+
note: "Video poster image. Must be an image asset, NOT a video URL."
|
|
112195
|
+
}
|
|
112196
|
+
},
|
|
112197
|
+
mediaSlots: {
|
|
112198
|
+
image: {
|
|
112199
|
+
path: "image",
|
|
112200
|
+
roles: ["hero", "feature", "profile"],
|
|
112201
|
+
disallowedRoles: ["logo", "favicon", "video-thumbnail"],
|
|
112202
|
+
minPixelClass: "large",
|
|
112203
|
+
required: true,
|
|
112204
|
+
note: "Main hero image slot. IMAGE MEDIA ONLY. Do not assign a video URL here."
|
|
112205
|
+
},
|
|
112206
|
+
"modalVideo.video.src": {
|
|
112207
|
+
path: "modalVideo.video.src",
|
|
112208
|
+
roles: [],
|
|
112209
|
+
disallowedRoles: ["logo", "favicon", "hero", "feature", "profile"],
|
|
112210
|
+
note: "VIDEO MEDIA ONLY (HLS master playlist or MP4). Do not assign an image URL here."
|
|
112211
|
+
},
|
|
112212
|
+
"modalVideo.image.src": {
|
|
112213
|
+
path: "modalVideo.image.src",
|
|
112214
|
+
roles: ["video-thumbnail", "hero", "feature"],
|
|
112215
|
+
disallowedRoles: ["logo", "favicon"],
|
|
112216
|
+
minPixelClass: "medium",
|
|
112217
|
+
note: "Poster image shown before the video plays. IMAGE MEDIA ONLY."
|
|
112218
|
+
}
|
|
112219
|
+
},
|
|
112220
|
+
requiresSiteCapabilities: ["media_library"],
|
|
112221
|
+
notes: [
|
|
112222
|
+
"Image and video media must never be swapped between the 'image' prop and the 'modalVideo' prop.",
|
|
112223
|
+
"All media src values must be absolute URLs to real assets; relative paths are not allowed."
|
|
112224
|
+
]
|
|
112225
|
+
},
|
|
112226
|
+
exampleProps: {
|
|
112227
|
+
heading: "Reclaim Your Peace. Scale Sustainably.",
|
|
112228
|
+
description: "Somatic mindset coaching for high-achieving entrepreneurs ready to lead from strength \u2014 not survival mode.",
|
|
112229
|
+
action: {
|
|
112230
|
+
label: "Book Your Discovery Call",
|
|
112231
|
+
href: "/contact",
|
|
112232
|
+
variant: "default",
|
|
112233
|
+
size: "lg"
|
|
112234
|
+
},
|
|
112235
|
+
videoLabel: "Watch the Overview",
|
|
112236
|
+
videoTitle: "Coaching Overview",
|
|
112237
|
+
modalVideo: {
|
|
112238
|
+
image: {
|
|
112239
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112240
|
+
alt: "Coaching overview poster"
|
|
112241
|
+
},
|
|
112242
|
+
video: {
|
|
112243
|
+
src: "https://toastability-production.s3.amazonaws.com/4kox2ux0ye1wlqkdwg03s08a67i1"
|
|
112244
|
+
}
|
|
112245
|
+
},
|
|
112246
|
+
image: {
|
|
112247
|
+
src: "https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp",
|
|
112248
|
+
alt: "Coach portrait"
|
|
112249
|
+
},
|
|
112250
|
+
background: "dark"
|
|
112251
|
+
}
|
|
112133
112252
|
},
|
|
112134
112253
|
"hero-business-operations-mosaic": {
|
|
112135
112254
|
id: "hero-business-operations-mosaic",
|
|
@@ -120410,7 +120529,7 @@ function normalizeBlock(block, source) {
|
|
|
120410
120529
|
},
|
|
120411
120530
|
examples: {
|
|
120412
120531
|
exampleUsage: block.exampleUsage || null,
|
|
120413
|
-
|
|
120532
|
+
exampleProps: block.exampleProps ? JSON.parse(JSON.stringify(block.exampleProps)) : null
|
|
120414
120533
|
},
|
|
120415
120534
|
source: source ?? null,
|
|
120416
120535
|
importantUsageNotes: block.importantUsageNotes ?? null,
|