@riverbankcms/sdk 0.78.0 → 0.79.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/README.md +125 -43
- package/dist/{PreviewEditorSidebar-RIKFQ72L.mjs → PreviewEditorSidebar-56NMJMIK.mjs} +750 -65
- package/dist/{PreviewEditorUI-XO7TUWKK.mjs → PreviewEditorUI-27KJVEET.mjs} +4 -4
- package/dist/SdkPreviewModeRuntime-H4BSP6E7.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +72 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +64 -0
- package/dist/_dts/api/src/index.d.ts +8 -6
- package/dist/_dts/api/src/media.d.ts +8 -1
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +8 -8
- package/dist/_dts/api/src/navigation/identity.d.ts +59 -0
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/public/types.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/request.d.ts +3 -11
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +8 -1
- package/dist/_dts/api/src/siteIcons.d.ts +128 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +26 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +8 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +21 -20
- package/dist/_dts/api/src/types.d.ts +12 -27
- package/dist/_dts/api/src/webhooks.d.ts +239 -0
- package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
- package/dist/_dts/blocks/src/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +885 -289
- package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +57 -0
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +69 -22
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +170 -0
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +5 -0
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -1
- package/dist/_dts/blocks/src/system/icons/ids.d.ts +13 -0
- package/dist/_dts/blocks/src/system/icons/index.d.ts +6 -0
- package/dist/_dts/blocks/src/system/icons/presets.d.ts +4 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +18 -0
- package/dist/_dts/blocks/src/system/icons/semantic.d.ts +239 -0
- package/dist/_dts/blocks/src/system/icons/value.d.ts +94 -0
- package/dist/_dts/blocks/src/system/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +4 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +187 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +13 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +14 -0
- package/dist/_dts/content-model/src/contentManifest.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
- package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
- package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
- package/dist/_dts/core/src/branded.d.ts +114 -85
- package/dist/_dts/core/src/csv-types.d.ts +2 -2
- package/dist/_dts/core/src/editor-state.d.ts +7 -7
- package/dist/_dts/core/src/participants.d.ts +2 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +202 -0
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +12 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +12 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +12 -2
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +21 -0
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +40 -0
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +11 -1
- package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +82 -0
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
- package/dist/_dts/media-core/src/fileDomain.d.ts +8 -1
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +5 -2
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +2 -1
- package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +17 -0
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +11 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/sync/diff.d.ts +9 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +2 -2
- package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +5 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +19 -2
- package/dist/_dts/sdk/src/next/index.d.ts +1 -1
- package/dist/_dts/sdk/src/next/revalidate.d.ts +26 -5
- package/dist/_dts/sdk/src/next/static-params.d.ts +28 -3
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/verify.d.ts +6 -102
- package/dist/_dts/site-commands/src/commands.d.ts +6 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +3 -3
- package/dist/_dts/theme-core/src/schema.d.ts +5 -5
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +5 -5
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -4
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -0
- package/dist/_dts/ui/src/combobox.d.ts +1 -0
- package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
- package/dist/{chunk-F7RTCZYN.mjs → chunk-4HCW7FHJ.mjs} +504 -63
- package/dist/{chunk-SXOLGNMX.mjs → chunk-A3HHFKVT.mjs} +1 -1
- package/dist/{chunk-TXDES5P2.mjs → chunk-GP555I66.mjs} +180 -10
- package/dist/{chunk-SVMMM2NA.mjs → chunk-K2IIF34C.mjs} +79 -5
- package/dist/{chunk-NIDXI46P.mjs → chunk-LCY32PXF.mjs} +1 -1
- package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
- package/dist/{chunk-OECWLDHN.mjs → chunk-V47ZU33I.mjs} +2762 -732
- package/dist/cli/index.mjs +1799 -345
- package/dist/cli/init-docs/content/cli-reference.md +3 -2
- package/dist/cli/init-docs/content/content-management.md +2 -2
- package/dist/cli/init-docs/content/workflow-editor-workflows.md +2 -0
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +138 -0
- package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
- package/dist/client/{accordion-EVDEOUPR.mjs → accordion-QLA7KBYO.mjs} +2 -2
- package/dist/client/analytics.mjs +1 -1
- package/dist/client/{bookingForm-DIHBLC64.mjs → bookingForm-PYZIPA5G.mjs} +55 -48
- package/dist/client/bookings.mjs +172 -57
- package/dist/client/{carousel-FEBQHIWI.mjs → carousel-5EIULWBI.mjs} +3 -3
- package/dist/client/{cart-7CKSXAE4.mjs → cart-DOP3FNI4.mjs} +7 -7
- package/dist/client/{checkout-WKYCANLV.mjs → checkout-BVMF6FBV.mjs} +7 -7
- package/dist/client/{chunk-GUK2FPXQ.mjs → chunk-44K2U3QI.mjs} +37 -15
- package/dist/client/{chunk-IVNCUVAV.mjs → chunk-AUJ5DBZJ.mjs} +18 -18
- package/dist/client/{chunk-VPPMNXCF.mjs → chunk-CCNTDRCF.mjs} +2 -2
- package/dist/client/{chunk-36WJCERQ.mjs → chunk-CE7IBGVW.mjs} +3 -1
- package/dist/client/{chunk-2SAVKN2M.mjs → chunk-GG4M2NP6.mjs} +2 -2
- package/dist/client/{chunk-65F47D7Y.mjs → chunk-R5ESWNKX.mjs} +49 -39
- package/dist/client/{chunk-RZDWX7QW.mjs → chunk-TYONZMST.mjs} +1 -1
- package/dist/client/{chunk-OFMSCGNY.mjs → chunk-UDS3NTWA.mjs} +2 -2
- package/dist/client/{chunk-YDSEG6GZ.mjs → chunk-V6M5FCR5.mjs} +2 -2
- package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
- package/dist/client/{chunk-RV6FX7UH.mjs → chunk-YLDYVRZL.mjs} +9 -9
- package/dist/client/{chunk-PD6NBCEY.mjs → chunk-ZFHRN6W2.mjs} +1 -1
- package/dist/client/client.mjs +21501 -19812
- package/dist/client/{courseRegistration-5QF2PHKM.mjs → courseRegistration-E6EAA6NL.mjs} +10 -10
- package/dist/client/{eventCalendar-4ZOSETDU.mjs → eventCalendar-HBG3HAK6.mjs} +9 -9
- package/dist/client/{eventCombined-WQGU7JUX.mjs → eventCombined-6K5ZZWAK.mjs} +9 -9
- package/dist/client/{eventDetails-AYWVUJ5Y.mjs → eventDetails-Q75ICXLT.mjs} +9 -9
- package/dist/client/{eventListing-NT7C6UT5.mjs → eventListing-27P5F7DZ.mjs} +9 -9
- package/dist/client/{eventRegistration-OH24F4ZJ.mjs → eventRegistration-IQ7AMASR.mjs} +9 -9
- package/dist/client/{form-7L42SRBB.mjs → form-JRTD65FN.mjs} +6 -3
- package/dist/client/{headerSection-OZRZNZ52.mjs → headerSection-7FPSSZHS.mjs} +3 -3
- package/dist/client/hooks.mjs +428 -83
- package/dist/client/{locationMap-ZBXRPQ7C.mjs → locationMap-7NGFNYBH.mjs} +3 -3
- package/dist/client/{newsletterForm-SNAGFF2I.mjs → newsletterForm-F3BADCI2.mjs} +2 -2
- package/dist/client/{productDetail-I46BOFGV.mjs → productDetail-V3HP7ITJ.mjs} +7 -7
- package/dist/client/{productList-BOYHTYI6.mjs → productList-L3EGJUF2.mjs} +7 -7
- package/dist/client/rendering/client.mjs +2886 -1513
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2244 -564
- package/dist/client/{shop-XTXPZTKR.mjs → shop-DQUB5E2C.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +65 -1
- package/dist/preview-next/client/runtime.mjs +6 -6
- package/dist/preview-next/middleware.mjs +65 -1
- package/dist/preview-next/tailwind-sources.css +1 -0
- package/dist/sdk-runtime-AF6KXJU4.mjs +8 -0
- package/dist/server/components.mjs +2270 -835
- package/dist/server/config-template-validation.mjs +221 -15
- package/dist/server/config-validation.mjs +426 -77
- package/dist/server/config.mjs +426 -77
- package/dist/server/data.mjs +427 -82
- package/dist/server/index.mjs +94 -10
- package/dist/server/next/revalidate.mjs +229 -34
- package/dist/server/next.mjs +2439 -888
- package/dist/server/page-converter.mjs +335 -74
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2281 -846
- package/dist/server/rendering.mjs +2298 -860
- package/dist/server/routing.mjs +860 -113
- package/dist/server/server.mjs +452 -92
- package/dist/server/theme-bridge.mjs +164 -2
- package/dist/server/theme.mjs +2 -2
- package/dist/server/webhooks.mjs +129 -25
- package/dist/styles/index.css +55 -0
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +0 -8
- package/dist/sdk-runtime-ZJLKC6DR.mjs +0 -8
|
@@ -304,6 +304,9 @@ function resolveRepeaterGridColumnFieldId(options) {
|
|
|
304
304
|
return asNonEmptyString(options?.id) ?? DEFAULT_REPEATER_GRID_COLUMN_FIELD_ID;
|
|
305
305
|
}
|
|
306
306
|
|
|
307
|
+
// ../blocks/src/system/icons/presets.ts
|
|
308
|
+
var ICON_PICKER_PRESETS = ["cta", "feature"];
|
|
309
|
+
|
|
307
310
|
// ../blocks/src/system/manifest/schema.ts
|
|
308
311
|
var visibilityLevels = ["admin", "designer", "author"];
|
|
309
312
|
var MEDIA_KINDS = [
|
|
@@ -382,6 +385,8 @@ var uiSchema = z2.object({
|
|
|
382
385
|
mediaPickerAutoOpen: z2.boolean().optional(),
|
|
383
386
|
showMediaPreview: z2.boolean().optional(),
|
|
384
387
|
showMediaOverlayActions: z2.boolean().optional(),
|
|
388
|
+
mediaPreviewMaxWidth: z2.enum(["xs", "sm", "md", "none"]).optional(),
|
|
389
|
+
preventMediaPreviewUpscale: z2.boolean().optional(),
|
|
385
390
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
386
391
|
mediaDeliveryByVariant: z2.record(z2.string(), mediaDeliverySchema).optional(),
|
|
387
392
|
// Optional input hints for validators/widgets
|
|
@@ -460,7 +465,7 @@ var uiSchema = z2.object({
|
|
|
460
465
|
layoutGridColumnField: z2.string().optional(),
|
|
461
466
|
layoutGridMaxRows: z2.number().int().positive().optional(),
|
|
462
467
|
// Icon picker configuration (used when ui.widget === 'iconPicker')
|
|
463
|
-
iconPickerPreset: z2.enum(
|
|
468
|
+
iconPickerPreset: z2.enum(ICON_PICKER_PRESETS).optional(),
|
|
464
469
|
// Entry picker configuration
|
|
465
470
|
contentTypeField: z2.string().optional(),
|
|
466
471
|
fixedContentType: z2.string().optional(),
|
|
@@ -631,6 +636,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
631
636
|
type: z2.literal("repeater"),
|
|
632
637
|
itemLabel: z2.string().default("Item"),
|
|
633
638
|
itemLabelSource: z2.string().optional(),
|
|
639
|
+
showSummary: z2.boolean().optional(),
|
|
640
|
+
summaryFields: z2.string().array().optional(),
|
|
641
|
+
summaryMaxChars: z2.number().int().positive().optional(),
|
|
634
642
|
minItems: z2.number().int().min(0).default(0),
|
|
635
643
|
maxItems: z2.number().int().positive().optional(),
|
|
636
644
|
// Monomorphic mode
|
|
@@ -2049,7 +2057,7 @@ var themeColorBaseTokenNames = [
|
|
|
2049
2057
|
"accentForeground"
|
|
2050
2058
|
];
|
|
2051
2059
|
var themeColorBaseTokenSet = new Set(themeColorBaseTokenNames);
|
|
2052
|
-
var
|
|
2060
|
+
var themeColorShadeSteps = [
|
|
2053
2061
|
"50",
|
|
2054
2062
|
"100",
|
|
2055
2063
|
"200",
|
|
@@ -2062,7 +2070,7 @@ var SHADE_STEPS = [
|
|
|
2062
2070
|
"900",
|
|
2063
2071
|
"950"
|
|
2064
2072
|
];
|
|
2065
|
-
var shadeStepSet = new Set(
|
|
2073
|
+
var shadeStepSet = new Set(themeColorShadeSteps);
|
|
2066
2074
|
function isKnownBaseToken(value) {
|
|
2067
2075
|
return themeColorBaseTokenSet.has(value);
|
|
2068
2076
|
}
|
|
@@ -5689,6 +5697,7 @@ var curatedSiteStyleIdValues = [
|
|
|
5689
5697
|
"site-style:personal-retreat-journal",
|
|
5690
5698
|
"site-style:tactile-workshop",
|
|
5691
5699
|
"site-style:modern-wellness",
|
|
5700
|
+
"site-style:clarity-zen-blue",
|
|
5692
5701
|
SOFT_EARTH_SITE_STYLE_ID_VALUE,
|
|
5693
5702
|
"site-style:bold-launch",
|
|
5694
5703
|
"site-style:south-west-twerk-school"
|
|
@@ -6274,6 +6283,114 @@ var curatedSiteStyles = [
|
|
|
6274
6283
|
paletteChoice("warm-neutral-clay")
|
|
6275
6284
|
]
|
|
6276
6285
|
}),
|
|
6286
|
+
defineCuratedSiteStyle({
|
|
6287
|
+
id: "site-style:clarity-zen-blue",
|
|
6288
|
+
name: "Clarity Zen",
|
|
6289
|
+
description: "Calm, editorial, and reassuring for therapy, counselling, and wellbeing support practices.",
|
|
6290
|
+
generationBrief: "Use a calm, soft palette, editorial serif headings, warm grounded copy, rounded cards, calm proof sections, and clear booking routes. Keep the tone compassionate and straightforward, with professional trust rather than hard-sell wellness language.",
|
|
6291
|
+
siteCreatorSelection: {
|
|
6292
|
+
kind: "site_creator_keyword_heuristic",
|
|
6293
|
+
priority: 25
|
|
6294
|
+
},
|
|
6295
|
+
selectionKeywordRules: [
|
|
6296
|
+
{ kind: "substring", value: "psychotherap" },
|
|
6297
|
+
{ kind: "phrase", value: "mental health" },
|
|
6298
|
+
{ kind: "phrase", value: "talk therapy" },
|
|
6299
|
+
{ kind: "phrase", value: "therapy and wellbeing" }
|
|
6300
|
+
],
|
|
6301
|
+
tokenRecipes: {
|
|
6302
|
+
palette: "brand-led",
|
|
6303
|
+
contrast: "standard",
|
|
6304
|
+
radius: "rounded",
|
|
6305
|
+
shadow: "subtle",
|
|
6306
|
+
typography: "serif-editorial",
|
|
6307
|
+
spacing: "airy",
|
|
6308
|
+
motion: "subtle"
|
|
6309
|
+
},
|
|
6310
|
+
compositionBudget: balancedBudget,
|
|
6311
|
+
themeOverrides: {
|
|
6312
|
+
typography: {
|
|
6313
|
+
body: {
|
|
6314
|
+
family: "Inter, system-ui, sans-serif",
|
|
6315
|
+
size: "md",
|
|
6316
|
+
weight: "regular",
|
|
6317
|
+
lineHeight: "relaxed",
|
|
6318
|
+
letterSpacing: "normal"
|
|
6319
|
+
},
|
|
6320
|
+
headings: {
|
|
6321
|
+
default: {
|
|
6322
|
+
family: '"Cormorant Garamond", Georgia, serif',
|
|
6323
|
+
weight: "regular",
|
|
6324
|
+
lineHeight: "normal",
|
|
6325
|
+
letterSpacing: "normal",
|
|
6326
|
+
colorToken: "text",
|
|
6327
|
+
italic: null,
|
|
6328
|
+
case: null
|
|
6329
|
+
},
|
|
6330
|
+
h1: {
|
|
6331
|
+
size: "xl",
|
|
6332
|
+
weight: "regular",
|
|
6333
|
+
lineHeight: "normal",
|
|
6334
|
+
letterSpacing: "normal",
|
|
6335
|
+
italic: null
|
|
6336
|
+
},
|
|
6337
|
+
h2: {
|
|
6338
|
+
size: "lg",
|
|
6339
|
+
weight: "regular",
|
|
6340
|
+
lineHeight: "normal",
|
|
6341
|
+
letterSpacing: "normal",
|
|
6342
|
+
italic: null
|
|
6343
|
+
},
|
|
6344
|
+
h3: {
|
|
6345
|
+
size: "md",
|
|
6346
|
+
weight: "regular",
|
|
6347
|
+
lineHeight: "normal",
|
|
6348
|
+
letterSpacing: "normal",
|
|
6349
|
+
italic: null
|
|
6350
|
+
}
|
|
6351
|
+
},
|
|
6352
|
+
scale: "majorThird"
|
|
6353
|
+
},
|
|
6354
|
+
bodyText: {
|
|
6355
|
+
intro: {
|
|
6356
|
+
paragraphSize: "default",
|
|
6357
|
+
headingSize: "editorial"
|
|
6358
|
+
}
|
|
6359
|
+
}
|
|
6360
|
+
},
|
|
6361
|
+
defaultBlockVariants: {
|
|
6362
|
+
"block.faq": "split-heading-columns"
|
|
6363
|
+
},
|
|
6364
|
+
recommendedAppearancePresetIds: [
|
|
6365
|
+
"hero-split-editorial",
|
|
6366
|
+
"intro-organic-statement",
|
|
6367
|
+
"feature-cards-raised-rule",
|
|
6368
|
+
"media-text-quiet-story",
|
|
6369
|
+
"testimonials-brand-background-quotes",
|
|
6370
|
+
"faq-contained-help",
|
|
6371
|
+
"contact-form-panel"
|
|
6372
|
+
],
|
|
6373
|
+
recommendedHeaderLookIds: [
|
|
6374
|
+
"centered-calm",
|
|
6375
|
+
"serif-line",
|
|
6376
|
+
"minimal-transparent"
|
|
6377
|
+
],
|
|
6378
|
+
recommendedFooterLookIds: [
|
|
6379
|
+
"footer-muted-grounding",
|
|
6380
|
+
"site-footer-brand-two-band"
|
|
6381
|
+
],
|
|
6382
|
+
buttonPersonalityChoices: [
|
|
6383
|
+
buttonChoice("soft-pill"),
|
|
6384
|
+
buttonChoice("pebble"),
|
|
6385
|
+
buttonChoice("editorial-link")
|
|
6386
|
+
],
|
|
6387
|
+
paletteVariantChoices: [
|
|
6388
|
+
paletteChoice("brand-led-cool"),
|
|
6389
|
+
paletteChoice("soft-natural-watercolor"),
|
|
6390
|
+
paletteChoice("soft-natural-stone"),
|
|
6391
|
+
paletteChoice("warm-neutral-cream")
|
|
6392
|
+
]
|
|
6393
|
+
}),
|
|
6277
6394
|
defineCuratedSiteStyle({
|
|
6278
6395
|
id: "site-style:personal-retreat-journal",
|
|
6279
6396
|
name: "Personal Retreat Journal",
|
|
@@ -8964,47 +9081,48 @@ function validateFieldDefinitions(fields3, fragmentId) {
|
|
|
8964
9081
|
function prefixFieldId(field, scope) {
|
|
8965
9082
|
const cloned = cloneFieldDefinition2(field);
|
|
8966
9083
|
cloned.id = `${scope}.${field.id}`;
|
|
8967
|
-
|
|
9084
|
+
const defaultValue = cloned.defaultValue;
|
|
9085
|
+
cloned.defaultValue = cloneUnknown(defaultValue);
|
|
8968
9086
|
cloned.visibleRoles = cloned.visibleRoles ? [...cloned.visibleRoles] : void 0;
|
|
8969
9087
|
cloned.ui = cloneUnknown(cloned.ui);
|
|
8970
9088
|
return cloned;
|
|
8971
9089
|
}
|
|
8972
9090
|
function cloneFieldDefinition2(field) {
|
|
8973
|
-
|
|
8974
|
-
|
|
8975
|
-
|
|
8976
|
-
|
|
8977
|
-
|
|
8978
|
-
|
|
8979
|
-
|
|
8980
|
-
|
|
8981
|
-
|
|
8982
|
-
|
|
8983
|
-
|
|
8984
|
-
|
|
8985
|
-
|
|
8986
|
-
|
|
8987
|
-
|
|
8988
|
-
|
|
8989
|
-
|
|
8990
|
-
return {
|
|
8991
|
-
...field,
|
|
8992
|
-
schema: {
|
|
8993
|
-
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
8994
|
-
}
|
|
8995
|
-
};
|
|
8996
|
-
}
|
|
8997
|
-
return { ...field };
|
|
8998
|
-
case "group":
|
|
9091
|
+
if (field.type === "repeater") {
|
|
9092
|
+
if (field.polymorphic && field.itemTypes) {
|
|
9093
|
+
return {
|
|
9094
|
+
...field,
|
|
9095
|
+
polymorphic: true,
|
|
9096
|
+
itemTypes: Object.fromEntries(
|
|
9097
|
+
Object.entries(field.itemTypes).map(([key, itemType]) => [
|
|
9098
|
+
key,
|
|
9099
|
+
{
|
|
9100
|
+
...itemType,
|
|
9101
|
+
fields: itemType.fields.map(cloneFieldDefinition2)
|
|
9102
|
+
}
|
|
9103
|
+
])
|
|
9104
|
+
)
|
|
9105
|
+
};
|
|
9106
|
+
}
|
|
9107
|
+
if (field.schema) {
|
|
8999
9108
|
return {
|
|
9000
9109
|
...field,
|
|
9001
9110
|
schema: {
|
|
9002
9111
|
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
9003
9112
|
}
|
|
9004
9113
|
};
|
|
9005
|
-
|
|
9006
|
-
|
|
9114
|
+
}
|
|
9115
|
+
return { ...field };
|
|
9007
9116
|
}
|
|
9117
|
+
if (field.type === "group") {
|
|
9118
|
+
return {
|
|
9119
|
+
...field,
|
|
9120
|
+
schema: {
|
|
9121
|
+
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
9122
|
+
}
|
|
9123
|
+
};
|
|
9124
|
+
}
|
|
9125
|
+
return { ...field };
|
|
9008
9126
|
}
|
|
9009
9127
|
function cloneUnknown(value) {
|
|
9010
9128
|
if (value == null || typeof value !== "object") {
|
|
@@ -9773,36 +9891,46 @@ function buildCarouselLayout() {
|
|
|
9773
9891
|
[buildTestimonialCard(repeat("data.entries", "testimonial"))]
|
|
9774
9892
|
);
|
|
9775
9893
|
}
|
|
9894
|
+
function buildResponsiveGridCards() {
|
|
9895
|
+
return [
|
|
9896
|
+
// 2 columns
|
|
9897
|
+
grid(
|
|
9898
|
+
{ gap: "lg", cols: { base: 1, sm: 2 } },
|
|
9899
|
+
[buildTestimonialCard(repeat("data.entries", "testimonial"))],
|
|
9900
|
+
when("gridColumns", { equals: "2" })
|
|
9901
|
+
),
|
|
9902
|
+
// 3 columns (default when unset)
|
|
9903
|
+
grid(
|
|
9904
|
+
{ gap: "lg", cols: { base: 1, sm: 2, lg: 3 } },
|
|
9905
|
+
[buildTestimonialCard(repeat("data.entries", "testimonial"))],
|
|
9906
|
+
when("gridColumns", { equals: "3" })
|
|
9907
|
+
),
|
|
9908
|
+
// 4 columns
|
|
9909
|
+
grid(
|
|
9910
|
+
{ gap: "lg", cols: { base: 1, sm: 2, lg: 3, xl: 4 } },
|
|
9911
|
+
[buildTestimonialCard(repeat("data.entries", "testimonial"))],
|
|
9912
|
+
when("gridColumns", { equals: "4" })
|
|
9913
|
+
),
|
|
9914
|
+
// Fallback to 3 columns when gridColumns is not set
|
|
9915
|
+
grid(
|
|
9916
|
+
{ gap: "lg", cols: { base: 1, sm: 2, lg: 3 } },
|
|
9917
|
+
[buildTestimonialCard(repeat("data.entries", "testimonial"))],
|
|
9918
|
+
when("gridColumns", { not: true })
|
|
9919
|
+
)
|
|
9920
|
+
];
|
|
9921
|
+
}
|
|
9776
9922
|
function buildGridLayout() {
|
|
9777
9923
|
return el(
|
|
9778
9924
|
"div",
|
|
9779
9925
|
{ className: "rb-mt-12 rb-testimonials-carousel" },
|
|
9780
|
-
|
|
9781
|
-
|
|
9782
|
-
|
|
9783
|
-
|
|
9784
|
-
|
|
9785
|
-
|
|
9786
|
-
|
|
9787
|
-
|
|
9788
|
-
grid(
|
|
9789
|
-
{ gap: "lg", cols: { base: 1, sm: 2, lg: 3 } },
|
|
9790
|
-
[buildTestimonialCard(repeat("data.entries", "testimonial"))],
|
|
9791
|
-
when("gridColumns", { equals: "3" })
|
|
9792
|
-
),
|
|
9793
|
-
// 4 columns
|
|
9794
|
-
grid(
|
|
9795
|
-
{ gap: "lg", cols: { base: 1, sm: 2, lg: 3, xl: 4 } },
|
|
9796
|
-
[buildTestimonialCard(repeat("data.entries", "testimonial"))],
|
|
9797
|
-
when("gridColumns", { equals: "4" })
|
|
9798
|
-
),
|
|
9799
|
-
// Fallback to 3 columns when gridColumns is not set
|
|
9800
|
-
grid(
|
|
9801
|
-
{ gap: "lg", cols: { base: 1, sm: 2, lg: 3 } },
|
|
9802
|
-
[buildTestimonialCard(repeat("data.entries", "testimonial"))],
|
|
9803
|
-
when("gridColumns", { not: true })
|
|
9804
|
-
)
|
|
9805
|
-
]
|
|
9926
|
+
buildResponsiveGridCards()
|
|
9927
|
+
);
|
|
9928
|
+
}
|
|
9929
|
+
function buildGridCardsLayout(className) {
|
|
9930
|
+
return el(
|
|
9931
|
+
"div",
|
|
9932
|
+
{ className },
|
|
9933
|
+
buildResponsiveGridCards()
|
|
9806
9934
|
);
|
|
9807
9935
|
}
|
|
9808
9936
|
var testimonialsCarouselFragment = defineFragment({
|
|
@@ -11347,7 +11475,8 @@ function createBlockManifestWithContentShape(config, _contentShape) {
|
|
|
11347
11475
|
return createBlockManifest(config);
|
|
11348
11476
|
}
|
|
11349
11477
|
function normalizeBlockLayout(layout) {
|
|
11350
|
-
|
|
11478
|
+
const rawLayout = layout;
|
|
11479
|
+
return Array.isArray(rawLayout) ? rawLayout : rawLayout;
|
|
11351
11480
|
}
|
|
11352
11481
|
function deriveComponentName(id) {
|
|
11353
11482
|
const base = id.replace(/^block\./, "");
|
|
@@ -12770,6 +12899,24 @@ var questionColumnsLayout = styledSection({
|
|
|
12770
12899
|
}),
|
|
12771
12900
|
baseClass: ""
|
|
12772
12901
|
});
|
|
12902
|
+
var splitHeadingColumnsLayout = styledSection({
|
|
12903
|
+
children: styledContainer({
|
|
12904
|
+
baseClassName: "rb-relative rb-isolate",
|
|
12905
|
+
children: el(
|
|
12906
|
+
"div",
|
|
12907
|
+
{
|
|
12908
|
+
className: "rb-faq-split-heading-columns rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
12909
|
+
},
|
|
12910
|
+
[
|
|
12911
|
+
el("div", { className: "rb-faq-split-heading-columns-copy" }, [headingLayout]),
|
|
12912
|
+
el("div", { className: "rb-faq-split-heading-columns-accordion" }, [
|
|
12913
|
+
questionColumnsAccordionLayout
|
|
12914
|
+
])
|
|
12915
|
+
]
|
|
12916
|
+
)
|
|
12917
|
+
}),
|
|
12918
|
+
baseClass: ""
|
|
12919
|
+
});
|
|
12773
12920
|
var faqManifest = createBlockManifest({
|
|
12774
12921
|
id: "block.faq",
|
|
12775
12922
|
title: "FAQ",
|
|
@@ -12790,7 +12937,8 @@ var faqManifest = createBlockManifest({
|
|
|
12790
12937
|
variants: {
|
|
12791
12938
|
default: defaultLayout,
|
|
12792
12939
|
"two-column": twoColumnLayout,
|
|
12793
|
-
"question-columns": questionColumnsLayout
|
|
12940
|
+
"question-columns": questionColumnsLayout,
|
|
12941
|
+
"split-heading-columns": splitHeadingColumnsLayout
|
|
12794
12942
|
},
|
|
12795
12943
|
defaultVariant: "default",
|
|
12796
12944
|
variantOptions: {
|
|
@@ -12805,6 +12953,10 @@ var faqManifest = createBlockManifest({
|
|
|
12805
12953
|
"question-columns": {
|
|
12806
12954
|
label: "Question columns",
|
|
12807
12955
|
description: "A full-width heading above FAQ items split into two columns."
|
|
12956
|
+
},
|
|
12957
|
+
"split-heading-columns": {
|
|
12958
|
+
label: "Split heading columns",
|
|
12959
|
+
description: "A left heading column with FAQ items split into two columns on the right."
|
|
12808
12960
|
}
|
|
12809
12961
|
},
|
|
12810
12962
|
description: "Accordion of frequently asked questions and answers.",
|
|
@@ -13575,6 +13727,7 @@ var siteFooterBlockDefinition = {
|
|
|
13575
13727
|
};
|
|
13576
13728
|
|
|
13577
13729
|
// ../blocks/src/system/blocks/testimonials.tsx
|
|
13730
|
+
var backgroundImageClassName = "rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-object-cover rb-opacity-50";
|
|
13578
13731
|
var wrapVariant = (variantLayout) => styledSection({
|
|
13579
13732
|
children: styledContainer({
|
|
13580
13733
|
children: stack(
|
|
@@ -13588,10 +13741,53 @@ var wrapVariant = (variantLayout) => styledSection({
|
|
|
13588
13741
|
// styledContainer (rb-container) already provides horizontal padding
|
|
13589
13742
|
baseClass: "",
|
|
13590
13743
|
spacing: "comfortable",
|
|
13591
|
-
imageClassName:
|
|
13744
|
+
imageClassName: backgroundImageClassName
|
|
13592
13745
|
});
|
|
13593
13746
|
var carouselLayout = wrapVariant(buildCarouselLayout());
|
|
13594
13747
|
var gridLayout2 = wrapVariant(buildGridLayout());
|
|
13748
|
+
var splitHeading = stack(
|
|
13749
|
+
{ gap: "md", className: "rb-testimonials-split-heading-copy rb-max-w-xl" },
|
|
13750
|
+
[
|
|
13751
|
+
text(
|
|
13752
|
+
{ as: "h2" },
|
|
13753
|
+
when("content.heading"),
|
|
13754
|
+
bind("content.heading")
|
|
13755
|
+
),
|
|
13756
|
+
headingDecoration({
|
|
13757
|
+
family: "short-center-rule",
|
|
13758
|
+
placement: "after-heading"
|
|
13759
|
+
}),
|
|
13760
|
+
text(
|
|
13761
|
+
{
|
|
13762
|
+
as: "p",
|
|
13763
|
+
className: "rb-prose",
|
|
13764
|
+
style: textColorStyle("mutedText")
|
|
13765
|
+
},
|
|
13766
|
+
when("content.subheading"),
|
|
13767
|
+
bind("content.subheading")
|
|
13768
|
+
)
|
|
13769
|
+
]
|
|
13770
|
+
);
|
|
13771
|
+
var splitGridLayout = styledSection({
|
|
13772
|
+
children: styledContainer({
|
|
13773
|
+
baseClassName: "rb-relative rb-isolate",
|
|
13774
|
+
children: el(
|
|
13775
|
+
"div",
|
|
13776
|
+
{
|
|
13777
|
+
className: "rb-testimonials-split-grid rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
13778
|
+
},
|
|
13779
|
+
[
|
|
13780
|
+
el("div", { className: "rb-testimonials-split-grid-heading" }, [splitHeading]),
|
|
13781
|
+
el("div", { className: "rb-testimonials-split-grid-cards" }, [
|
|
13782
|
+
buildGridCardsLayout("rb-testimonials-split-grid-card-list")
|
|
13783
|
+
])
|
|
13784
|
+
]
|
|
13785
|
+
)
|
|
13786
|
+
}),
|
|
13787
|
+
baseClass: "",
|
|
13788
|
+
spacing: "comfortable",
|
|
13789
|
+
imageClassName: backgroundImageClassName
|
|
13790
|
+
});
|
|
13595
13791
|
var additionalFields = parseFieldDefinitions([
|
|
13596
13792
|
// Heading fields from fragment
|
|
13597
13793
|
...testimonialsHeadingFragment.fields,
|
|
@@ -13623,7 +13819,7 @@ var additionalFields = parseFieldDefinitions([
|
|
|
13623
13819
|
],
|
|
13624
13820
|
ui: {
|
|
13625
13821
|
intent: "display",
|
|
13626
|
-
visibleWhen: { field: "variant",
|
|
13822
|
+
visibleWhen: { field: "variant", oneOf: ["grid", "split-grid"] }
|
|
13627
13823
|
}
|
|
13628
13824
|
},
|
|
13629
13825
|
// Carousel-specific fields (from fragment)
|
|
@@ -13657,7 +13853,8 @@ var testimonialsManifest = createBlockManifest({
|
|
|
13657
13853
|
// Variant system - enables the variant switcher control in the editor
|
|
13658
13854
|
variants: {
|
|
13659
13855
|
carousel: carouselLayout,
|
|
13660
|
-
grid: gridLayout2
|
|
13856
|
+
grid: gridLayout2,
|
|
13857
|
+
"split-grid": splitGridLayout
|
|
13661
13858
|
},
|
|
13662
13859
|
defaultVariant: "carousel",
|
|
13663
13860
|
variantOptions: {
|
|
@@ -13670,6 +13867,11 @@ var testimonialsManifest = createBlockManifest({
|
|
|
13670
13867
|
label: "Grid",
|
|
13671
13868
|
description: "Responsive grid layout",
|
|
13672
13869
|
icon: "Grid"
|
|
13870
|
+
},
|
|
13871
|
+
"split-grid": {
|
|
13872
|
+
label: "Split grid",
|
|
13873
|
+
description: "Heading on the left with testimonial cards on the right",
|
|
13874
|
+
icon: "PanelLeft"
|
|
13673
13875
|
}
|
|
13674
13876
|
},
|
|
13675
13877
|
// Fields (variant field is auto-generated by augmentManifest)
|
|
@@ -14062,6 +14264,13 @@ var collectionBlockDefinition = {
|
|
|
14062
14264
|
manifest: collectionManifest
|
|
14063
14265
|
};
|
|
14064
14266
|
|
|
14267
|
+
// ../blocks/src/system/blocks/feature-card-icons.ts
|
|
14268
|
+
var FEATURE_CARD_ICON_TREATMENTS = [
|
|
14269
|
+
"plain",
|
|
14270
|
+
"soft-badge",
|
|
14271
|
+
"utility-badge"
|
|
14272
|
+
];
|
|
14273
|
+
|
|
14065
14274
|
// ../blocks/src/system/blocks/feature-cards.ts
|
|
14066
14275
|
function grid3(props2, children) {
|
|
14067
14276
|
return el("grid", props2 ?? void 0, children ?? void 0);
|
|
@@ -14104,6 +14313,15 @@ var featureCard = styledCard(
|
|
|
14104
14313
|
bind("card.media")
|
|
14105
14314
|
),
|
|
14106
14315
|
stack({ gap: "sm", className: "rb-feature-card-content rb-flex-1 rb-p-6" }, [
|
|
14316
|
+
el(
|
|
14317
|
+
"feature-card-icon",
|
|
14318
|
+
{
|
|
14319
|
+
treatment: { $bind: { from: "content._iconTreatment", fallback: "soft-badge" } },
|
|
14320
|
+
generatedAssets: { $bind: { from: "data.generatedIconAssets" } }
|
|
14321
|
+
},
|
|
14322
|
+
null,
|
|
14323
|
+
bind("card.icon")
|
|
14324
|
+
),
|
|
14107
14325
|
text(
|
|
14108
14326
|
{
|
|
14109
14327
|
as: "h3",
|
|
@@ -14225,6 +14443,16 @@ var featureCardsConfig = {
|
|
|
14225
14443
|
defaultValue: "4/3",
|
|
14226
14444
|
visibleWhen: { field: "media", notEquals: null }
|
|
14227
14445
|
}),
|
|
14446
|
+
{
|
|
14447
|
+
id: "icon",
|
|
14448
|
+
type: "text",
|
|
14449
|
+
label: "Icon",
|
|
14450
|
+
required: false,
|
|
14451
|
+
ui: {
|
|
14452
|
+
widget: "iconPicker",
|
|
14453
|
+
iconPickerPreset: "feature"
|
|
14454
|
+
}
|
|
14455
|
+
},
|
|
14228
14456
|
{
|
|
14229
14457
|
id: "title",
|
|
14230
14458
|
type: "text",
|
|
@@ -14260,6 +14488,19 @@ var featureCardsConfig = {
|
|
|
14260
14488
|
]
|
|
14261
14489
|
}
|
|
14262
14490
|
},
|
|
14491
|
+
{
|
|
14492
|
+
id: "_iconTreatment",
|
|
14493
|
+
type: "select",
|
|
14494
|
+
label: "Icon style",
|
|
14495
|
+
required: false,
|
|
14496
|
+
defaultValue: "soft-badge",
|
|
14497
|
+
multiple: false,
|
|
14498
|
+
options: FEATURE_CARD_ICON_TREATMENTS.map((value) => ({
|
|
14499
|
+
value,
|
|
14500
|
+
label: value === "plain" ? "Plain" : value === "soft-badge" ? "Soft badge" : "Utility badge"
|
|
14501
|
+
})),
|
|
14502
|
+
ui: { intent: "display" }
|
|
14503
|
+
},
|
|
14263
14504
|
cardStylesField({
|
|
14264
14505
|
id: "_cardStyles",
|
|
14265
14506
|
label: "Card styles"
|
|
@@ -15262,8 +15503,8 @@ var eventSurfaceScopeValues = [
|
|
|
15262
15503
|
"custom"
|
|
15263
15504
|
];
|
|
15264
15505
|
var eventScheduleScopeValues = ["any", "recurring", "oneOff"];
|
|
15265
|
-
var
|
|
15266
|
-
var
|
|
15506
|
+
var unsafeAsEventCategoryId = (value) => value;
|
|
15507
|
+
var unsafeAsVenueId = (value) => value;
|
|
15267
15508
|
function normalizeEventBlockKind(value) {
|
|
15268
15509
|
return value === "courses" || value === "events" ? value : "all";
|
|
15269
15510
|
}
|
|
@@ -15289,10 +15530,10 @@ function normalizeEventCategoryIds(value) {
|
|
|
15289
15530
|
if (Array.isArray(value)) {
|
|
15290
15531
|
return normalizeIdList(
|
|
15291
15532
|
value.filter((entry) => typeof entry === "string")
|
|
15292
|
-
).map(
|
|
15533
|
+
).map(unsafeAsEventCategoryId);
|
|
15293
15534
|
}
|
|
15294
15535
|
if (typeof value === "string") {
|
|
15295
|
-
return normalizeIdList(value.split(",")).map(
|
|
15536
|
+
return normalizeIdList(value.split(",")).map(unsafeAsEventCategoryId);
|
|
15296
15537
|
}
|
|
15297
15538
|
return [];
|
|
15298
15539
|
}
|
|
@@ -15305,7 +15546,7 @@ function normalizeEventVenueId(value) {
|
|
|
15305
15546
|
return null;
|
|
15306
15547
|
}
|
|
15307
15548
|
const trimmed = value.trim();
|
|
15308
|
-
return trimmed ?
|
|
15549
|
+
return trimmed ? unsafeAsVenueId(trimmed) : null;
|
|
15309
15550
|
}
|
|
15310
15551
|
function normalizeEventStaffMemberId(value) {
|
|
15311
15552
|
if (typeof value !== "string") {
|
|
@@ -22001,7 +22242,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
22001
22242
|
layoutProfiles: [
|
|
22002
22243
|
layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
|
|
22003
22244
|
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" }),
|
|
22004
|
-
layoutProfile({ variantKey: "question-columns", family: "grid", weight: "standard" })
|
|
22245
|
+
layoutProfile({ variantKey: "question-columns", family: "grid", weight: "standard" }),
|
|
22246
|
+
layoutProfile({ variantKey: "split-heading-columns", family: "split", weight: "standard" })
|
|
22005
22247
|
]
|
|
22006
22248
|
})),
|
|
22007
22249
|
withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
|
|
@@ -22032,6 +22274,12 @@ var systemBlockDefinitionsRaw = [
|
|
|
22032
22274
|
family: "grid",
|
|
22033
22275
|
weight: "standard",
|
|
22034
22276
|
bias: "soft"
|
|
22277
|
+
}),
|
|
22278
|
+
layoutProfile({
|
|
22279
|
+
variantKey: "split-grid",
|
|
22280
|
+
family: "split",
|
|
22281
|
+
weight: "featured",
|
|
22282
|
+
bias: "soft"
|
|
22035
22283
|
})
|
|
22036
22284
|
]
|
|
22037
22285
|
})),
|
|
@@ -23749,11 +23997,14 @@ function collectFieldIds(fields3) {
|
|
|
23749
23997
|
for (const field of fieldList) {
|
|
23750
23998
|
ids.add(field.id);
|
|
23751
23999
|
if (field.schema && typeof field.schema === "object" && "fields" in field.schema) {
|
|
23752
|
-
|
|
24000
|
+
const nestedFields = field.schema.fields;
|
|
24001
|
+
if (isFieldIdRecordArray(nestedFields)) {
|
|
24002
|
+
collect(nestedFields);
|
|
24003
|
+
}
|
|
23753
24004
|
}
|
|
23754
|
-
if (
|
|
24005
|
+
if (isRecordArray(field.tabs)) {
|
|
23755
24006
|
for (const tab of field.tabs) {
|
|
23756
|
-
if (
|
|
24007
|
+
if (isFieldIdRecordArray(tab.fields)) {
|
|
23757
24008
|
collect(tab.fields);
|
|
23758
24009
|
}
|
|
23759
24010
|
}
|
|
@@ -23770,6 +24021,12 @@ function collectFieldIds(fields3) {
|
|
|
23770
24021
|
collect(fields3);
|
|
23771
24022
|
return ids;
|
|
23772
24023
|
}
|
|
24024
|
+
function isRecordArray(value) {
|
|
24025
|
+
return Array.isArray(value);
|
|
24026
|
+
}
|
|
24027
|
+
function isFieldIdRecordArray(value) {
|
|
24028
|
+
return Array.isArray(value) && value.every((item) => typeof item === "object" && item !== null && typeof item.id === "string");
|
|
24029
|
+
}
|
|
23773
24030
|
var CONTENT_NODE_TYPES = ["text", "richText", "media", "button", "link"];
|
|
23774
24031
|
function collectFieldInfo(fields3) {
|
|
23775
24032
|
const topLevelFieldIds = /* @__PURE__ */ new Set();
|
|
@@ -25839,7 +26096,7 @@ async function convertHtmlToManifest(input, options) {
|
|
|
25839
26096
|
|
|
25840
26097
|
// src/page-converter/passes/pass2-population.ts
|
|
25841
26098
|
var builtinContentSchema = z59.object({
|
|
25842
|
-
content: z59.
|
|
26099
|
+
content: z59.unknown(),
|
|
25843
26100
|
rationale: z59.string()
|
|
25844
26101
|
});
|
|
25845
26102
|
var SECTION_STYLES_ALLOWED_KEYS = /* @__PURE__ */ new Set(["background", "spacing"]);
|
|
@@ -25899,6 +26156,9 @@ function sanitizeExtractedContent(content) {
|
|
|
25899
26156
|
}
|
|
25900
26157
|
return result;
|
|
25901
26158
|
}
|
|
26159
|
+
function isRecord2(value) {
|
|
26160
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
26161
|
+
}
|
|
25902
26162
|
function isBoxStylesField(fieldId) {
|
|
25903
26163
|
return fieldId === "_sectionStyles" || fieldId === "_containerStyles" || fieldId === "_cardStyles";
|
|
25904
26164
|
}
|
|
@@ -26004,7 +26264,8 @@ async function populateBuiltinBlock(sectionIndex, section2, blockInfo, ctx) {
|
|
|
26004
26264
|
);
|
|
26005
26265
|
await ctx.debug.writeText(`pass2-builtin-${sectionIndex}-raw.txt`, rawText);
|
|
26006
26266
|
await ctx.debug.writeJson(`pass2-builtin-${sectionIndex}-output.json`, result);
|
|
26007
|
-
const
|
|
26267
|
+
const rawContent = result.content;
|
|
26268
|
+
const sanitizedContent = isRecord2(rawContent) ? sanitizeExtractedContent(rawContent) : {};
|
|
26008
26269
|
return {
|
|
26009
26270
|
success: true,
|
|
26010
26271
|
block: {
|