@riverbankcms/sdk 0.108.0 → 0.109.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 +21 -1
- package/dist/{PreviewEditorSidebar-BBT-kZAM.mjs → PreviewEditorSidebar-DWqwfy3_.mjs} +7 -22
- package/dist/{PreviewEditorUI-D69xNKT2.mjs → PreviewEditorUI-B7OL4sfR.mjs} +3 -3
- package/dist/{PreviewQueryProvider-RRu7wyQ5.mjs → PreviewQueryProvider-D0y2l8JN.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CuDjXH6o.mjs → SdkPreviewModeRuntime-D8Gt9Gbe.mjs} +212 -153
- package/dist/{SiteChromeCustomizeContext-BQUY2dEk.mjs → SiteChromeCustomizeContext-DUpalEdL.mjs} +1919 -1032
- package/dist/_dts/ai/src/contracts/proposals.d.ts +11244 -10741
- package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +2 -17
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
- package/dist/_dts/api/src/common/envelope.d.ts +7 -0
- package/dist/_dts/api/src/courses.d.ts +1 -0
- package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
- package/dist/_dts/api/src/endpoints.d.ts +35 -0
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +247 -1
- package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +1 -5
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +29 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +33 -27
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +1 -22
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -22
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
- package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +8 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
- package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
- package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
- package/dist/_dts/content-model/src/index.d.ts +3 -0
- package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3071 -3157
- package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
- package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
- package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
- package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
- package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
- package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
- package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
- package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
- package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +43 -19
- package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +893 -823
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
- package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +44 -32
- package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +101 -83
- package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
- package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +87 -126
- package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
- package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
- package/dist/_dts/theme-core/src/schema.d.ts +112 -138
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +29 -8
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
- package/dist/cli/index.mjs +67956 -66745
- package/dist/cli/init-docs/content/cli-reference.md +50 -7
- package/dist/cli/init-docs/content/content-management.md +7 -4
- package/dist/cli/init-docs/content/workflow-publish.md +5 -1
- package/dist/client/{DiscountCodeDisclosure-D6TOf6Hi.mjs → DiscountCodeDisclosure-DU1ygxU2.mjs} +1 -1
- package/dist/client/{EventCombined.client-Dao3zxRk.mjs → EventCombined.client-DB5zagCo.mjs} +3 -3
- package/dist/client/{EventListing.client-B2NNt4y1.mjs → EventListing.client-CTX9JHBL.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BhwFo16w.mjs → LeafletStaticMap-BYImhgiB.mjs} +1 -1
- package/dist/client/{MagicLinkForm-BWnB7cMR.mjs → MagicLinkForm-CRkw_M3l.mjs} +2 -2
- package/dist/client/{StepIndicator-TzRiQ0BY.mjs → StepIndicator-BnmVBJJh.mjs} +2 -2
- package/dist/client/{accordion-BPy-AJ4_.mjs → accordion-CeGreumd.mjs} +1 -1
- package/dist/client/{bookingForm-BL4PGZds.mjs → bookingForm-CSzFNrpN.mjs} +6 -6
- package/dist/client/bookings.mjs +512 -252
- package/dist/client/{buttons-EBjyslaX.mjs → buttons-DoFV7KDL.mjs} +493 -230
- package/dist/client/{carousel-C2b7Cn9-.mjs → carousel-B2jDtogf.mjs} +1 -1
- package/dist/client/{cart-BQcbXIVD.mjs → cart-D-jZ-vaY.mjs} +3 -3
- package/dist/client/{checkout-DEmpGRJu.mjs → checkout-Dza-LA7N.mjs} +3 -3
- package/dist/client/client.mjs +1673 -785
- package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-CrgzoXsm.mjs} +1 -30
- package/dist/client/{courseRegistration-BqRZPmsq.mjs → courseRegistration-TYkNychb.mjs} +7 -7
- package/dist/client/{eventCalendar-B8N_tSl5.mjs → eventCalendar-BI_90SsT.mjs} +5 -5
- package/dist/client/{eventCombined-Gjn6gtq7.mjs → eventCombined-mNrpryE9.mjs} +2 -2
- package/dist/client/{eventDetails-M-VCxA-r.mjs → eventDetails-D4GVlCIY.mjs} +3 -3
- package/dist/client/{eventListing-DR19hqYi.mjs → eventListing-YhKN018y.mjs} +2 -2
- package/dist/client/{eventRegistration-BR02a0k3.mjs → eventRegistration-CdHGtilr.mjs} +7 -7
- package/dist/client/foregroundContract-xICPq59x.mjs +31 -0
- package/dist/client/{form-LY2xIbwg.mjs → form-AcAL45rA.mjs} +2 -2
- package/dist/client/{headerSection-CYwwXJfh.mjs → headerSection-uEC52ueD.mjs} +3 -3
- package/dist/client/hooks.mjs +890 -497
- package/dist/client/{locationMap-DWnBXrFq.mjs → locationMap-_wJDSUYe.mjs} +3 -3
- package/dist/client/{media-DHtSxS5V.mjs → media-BK0O3b-U.mjs} +3 -2
- package/dist/client/{newsletterForm-D9s-fQ2P.mjs → newsletterForm-DrArsb2B.mjs} +2 -2
- package/dist/client/{pricing-DDq80oYc.mjs → pricing-BSYVghwo.mjs} +1 -1
- package/dist/client/{productDetail-B0SbWd45.mjs → productDetail-Dyk90sMs.mjs} +3 -3
- package/dist/client/{productList-PwYlZn0y.mjs → productList-BCKThwAI.mjs} +3 -3
- package/dist/client/{propsDecoder-BRWBiH7i.mjs → propsDecoder-CkXxkdSR.mjs} +63 -24
- package/dist/client/rendering/client.mjs +1034 -486
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +1832 -760
- package/dist/client/{shop-CMwZPYME.mjs → shop-DeltVH10.mjs} +6 -6
- package/dist/client/{shop-commerce-BuxsFate.mjs → shop-commerce-BD9Jsm2Z.mjs} +6 -6
- package/dist/client/{shop-commerce-store-boYlEJ91.mjs → shop-commerce-store-CmXD6FDS.mjs} +1 -1
- package/dist/client/{shopShared-D2naaOes.mjs → shopShared-B8v-lH_F.mjs} +2 -2
- package/dist/client/{useDiscountCodeUi-D9RHpVoj.mjs → useDiscountCodeUi-DbWJN8ld.mjs} +1 -1
- package/dist/client/{useEventFilters-igGiK1re.mjs → useEventFilters-EJIMUnqT.mjs} +46 -69
- package/dist/client/{usePolling-CI7MbsFB.mjs → usePolling-Cmh14fc7.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +35 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +35 -0
- package/dist/{previewAuthStore-a_cBD28m.mjs → previewAuthStore-CTO7CRPk.mjs} +35 -0
- package/dist/{sdk-runtime-MBzD-GmP.mjs → sdk-runtime-Dou0GAav.mjs} +2 -2
- package/dist/{separator-5ahRBC85.mjs → separator-CI5wZNXT.mjs} +1 -1
- package/dist/server/components.mjs +1832 -784
- package/dist/server/config-validation.mjs +890 -497
- package/dist/server/config.mjs +890 -497
- package/dist/server/data.mjs +890 -497
- package/dist/server/date-time.mjs +386 -0
- package/dist/server/index.mjs +36 -1
- package/dist/server/next.mjs +1868 -785
- package/dist/server/page-converter.mjs +849 -285
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1553 -718
- package/dist/server/rendering.mjs +1832 -784
- package/dist/server/routing.mjs +933 -522
- package/dist/server/server.mjs +929 -501
- package/dist/server/theme-bridge.mjs +1408 -392
- package/dist/server/theme.mjs +471 -228
- package/dist/styles/index.css +5 -0
- package/package.json +7 -1
- package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
- package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
- package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, SiteFooterContent, Theme } from '../../blocks/src/index';
|
|
1
|
+
import type { BlockContentSource, BlockContentSourceKind, FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, SiteFooterContent, Theme } from '../../blocks/src/index';
|
|
2
|
+
import type { ContentTypeSchema } from '../../content-model/src/index';
|
|
2
3
|
import type { LinkPayload } from './navigation/types';
|
|
3
4
|
import type { JsonValue } from './shared-contracts';
|
|
4
5
|
import type { SdkEventPricing, SdkEventPricingInput } from './sdk-event-pricing';
|
|
@@ -405,6 +406,14 @@ export type SdkPatchPageBlockOperation = Readonly<{
|
|
|
405
406
|
export interface SdkPatchPageBlockBody {
|
|
406
407
|
operations: readonly SdkPatchPageBlockOperation[];
|
|
407
408
|
baseContentHash: string;
|
|
409
|
+
/**
|
|
410
|
+
* Optional catalog-coherence precondition: the `activeTheme.selectionVersion`
|
|
411
|
+
* from `catalog/blocks`. When provided and the site's current style-selection
|
|
412
|
+
* version differs (the theme changed since the catalog was read), the write is
|
|
413
|
+
* rejected with 409 and error tag `STALE_CATALOG` instead of risking a
|
|
414
|
+
* confusing validation failure on a variant the stale catalog advertised.
|
|
415
|
+
*/
|
|
416
|
+
baseSelectionVersion?: number;
|
|
408
417
|
}
|
|
409
418
|
export declare const SDK_PATCH_STALE_CONTENT_FIELD = "baseContentHash";
|
|
410
419
|
export declare const SDK_PATCH_STALE_CONTENT_CODE = "STALE_CONTENT";
|
|
@@ -421,12 +430,28 @@ export interface SdkPatchPageBlockStaleContentFieldError {
|
|
|
421
430
|
/** Exactly the current draft content hash. */
|
|
422
431
|
message: string;
|
|
423
432
|
}
|
|
433
|
+
/**
|
|
434
|
+
* Non-blocking warning emitted on a block write. Currently used for button-variant
|
|
435
|
+
* values that ARE valid manifest options but the ACTIVE theme does not implement:
|
|
436
|
+
* the write is accepted (themes can change under content), but the variant will not
|
|
437
|
+
* render until a personality that provides it is selected.
|
|
438
|
+
*/
|
|
439
|
+
export interface SdkBlockContentWarning {
|
|
440
|
+
/** Data path of the value (e.g. `ctas[0].variant`). */
|
|
441
|
+
field: string;
|
|
442
|
+
code: 'theme-unavailable-variant';
|
|
443
|
+
message: string;
|
|
444
|
+
/** The offending value. */
|
|
445
|
+
value: string;
|
|
446
|
+
}
|
|
424
447
|
/**
|
|
425
448
|
* Success response mirrors the block GET shape; `block.contentHash` is the
|
|
426
449
|
* NEW draft content hash (use it as `baseContentHash` for the next patch).
|
|
427
450
|
*/
|
|
428
451
|
export interface SdkPatchPageBlockResponse {
|
|
429
452
|
block: SdkGetPageBlock;
|
|
453
|
+
/** Non-blocking content warnings (e.g. theme-unavailable button variants). */
|
|
454
|
+
warnings?: SdkBlockContentWarning[];
|
|
430
455
|
}
|
|
431
456
|
export interface SdkPullNavigationItem {
|
|
432
457
|
id: string;
|
|
@@ -457,6 +482,8 @@ export interface SdkPullNavigationResponse {
|
|
|
457
482
|
meta: SdkPullMeta;
|
|
458
483
|
}
|
|
459
484
|
export interface SdkPullSettings {
|
|
485
|
+
/** Site title (stored on `sites.title`). Present on pull; writable via PATCH. */
|
|
486
|
+
siteTitle?: string;
|
|
460
487
|
homepageId: string | null;
|
|
461
488
|
seoDefaults: {
|
|
462
489
|
title?: string;
|
|
@@ -524,6 +551,223 @@ export interface SdkPullThemeResponse {
|
|
|
524
551
|
selectionVersion: number;
|
|
525
552
|
meta: SdkPullThemeMeta;
|
|
526
553
|
}
|
|
554
|
+
/** One curated-style recommendation choice; the catalog lists them in preference order. */
|
|
555
|
+
export interface SdkCatalogChoice {
|
|
556
|
+
id: string;
|
|
557
|
+
note?: string;
|
|
558
|
+
}
|
|
559
|
+
export interface SdkCatalogHeaderLayoutStyleChoice {
|
|
560
|
+
layoutId: string;
|
|
561
|
+
styleId: string;
|
|
562
|
+
}
|
|
563
|
+
export interface SdkCatalogSiteStyle {
|
|
564
|
+
id: string;
|
|
565
|
+
name: string;
|
|
566
|
+
description: string;
|
|
567
|
+
/** Button personality recommendations in preference order (first = default). */
|
|
568
|
+
buttonPersonalityChoices: SdkCatalogChoice[];
|
|
569
|
+
defaultButtonPersonalityId: string;
|
|
570
|
+
/** Curated palette recommendations (value-keys) in preference order (first = default). */
|
|
571
|
+
paletteRecommendations: SdkCatalogChoice[];
|
|
572
|
+
defaultPaletteValueKey: string;
|
|
573
|
+
/**
|
|
574
|
+
* Concrete typography the style applies. NOTE: current theme-core carries a resolved
|
|
575
|
+
* `typography` object per style, not a preset-choice list (see deviation notes).
|
|
576
|
+
*/
|
|
577
|
+
typography: Theme['typography'];
|
|
578
|
+
/** Canonical header layout+style pair (replaces the older single `defaultHeaderSelection` look id). */
|
|
579
|
+
defaultHeaderSelection: SdkCatalogHeaderLayoutStyleChoice;
|
|
580
|
+
recommendedHeaderLookIds: string[];
|
|
581
|
+
recommendedFooterLookIds: string[];
|
|
582
|
+
}
|
|
583
|
+
export interface SdkCatalogButtonPersonality {
|
|
584
|
+
id: string;
|
|
585
|
+
name: string;
|
|
586
|
+
description: string;
|
|
587
|
+
/** Enabled variant ids this personality provides. */
|
|
588
|
+
variantIds: string[];
|
|
589
|
+
}
|
|
590
|
+
export interface SdkCatalogPalette {
|
|
591
|
+
/** Human-readable source alias. */
|
|
592
|
+
authoringKey: string;
|
|
593
|
+
/** Canonical persistence/runtime identity (colors+mode hash). */
|
|
594
|
+
valueKey: string;
|
|
595
|
+
name: string;
|
|
596
|
+
description: string;
|
|
597
|
+
mode: string;
|
|
598
|
+
}
|
|
599
|
+
export interface SdkCatalogTypographyPreset {
|
|
600
|
+
/** Recipe id: `serif-editorial` | `clean-sans` | `classic-serif` | `friendly-sans`. */
|
|
601
|
+
id: string;
|
|
602
|
+
/** Concrete typography this preset resolves to. */
|
|
603
|
+
typography: Theme['typography'];
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* The site's current resolved selection, so one catalog read primes an apply.
|
|
607
|
+
* Carries everything the apply endpoint requires — including `siteStyleId`
|
|
608
|
+
* (read from the active compiled theme). This is the single wire shape;
|
|
609
|
+
* services map to it explicitly (no structural pass-through of domain rows).
|
|
610
|
+
*/
|
|
611
|
+
export interface SdkCatalogCurrentSelection {
|
|
612
|
+
/** Pass as `baseSelectionVersion` on apply; 0 when no selection exists. */
|
|
613
|
+
selectionVersion: number;
|
|
614
|
+
/** The curated site style the active theme was compiled from (null when unknown). */
|
|
615
|
+
siteStyleId: string | null;
|
|
616
|
+
buttonPersonalityId: string | null;
|
|
617
|
+
paletteValueKey: string | null;
|
|
618
|
+
headerLayoutId: string | null;
|
|
619
|
+
headerStyleId: string | null;
|
|
620
|
+
headerLookId: string | null;
|
|
621
|
+
footerLookId: string | null;
|
|
622
|
+
typographyPresetId: string | null;
|
|
623
|
+
}
|
|
624
|
+
export interface SdkCatalogThemeResponse {
|
|
625
|
+
siteStyles: SdkCatalogSiteStyle[];
|
|
626
|
+
buttonPersonalities: SdkCatalogButtonPersonality[];
|
|
627
|
+
palettes: SdkCatalogPalette[];
|
|
628
|
+
typographyPresets: SdkCatalogTypographyPreset[];
|
|
629
|
+
headerLookIds: string[];
|
|
630
|
+
footerLookIds: string[];
|
|
631
|
+
headerLayoutIds: string[];
|
|
632
|
+
headerStyleIds: string[];
|
|
633
|
+
currentSelection: SdkCatalogCurrentSelection;
|
|
634
|
+
meta: SdkPullMeta;
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* Content-source classification, derived DIRECTLY from the blocks package's
|
|
638
|
+
* authoring type (`BlockContentSource` / `blockContentSourceKinds`) so the wire
|
|
639
|
+
* union can never drift from what block definitions declare.
|
|
640
|
+
*/
|
|
641
|
+
export type SdkCatalogContentSourceKind = BlockContentSourceKind;
|
|
642
|
+
export type SdkCatalogContentSource = BlockContentSource;
|
|
643
|
+
export interface SdkCatalogSelectOption {
|
|
644
|
+
value: string;
|
|
645
|
+
label: string;
|
|
646
|
+
}
|
|
647
|
+
export interface SdkCatalogField {
|
|
648
|
+
id: string;
|
|
649
|
+
type: string;
|
|
650
|
+
label?: string;
|
|
651
|
+
required: boolean;
|
|
652
|
+
/** Present for `select` fields. */
|
|
653
|
+
options?: SdkCatalogSelectOption[];
|
|
654
|
+
/** Present for container fields (group/repeater/tabGroup/modal). */
|
|
655
|
+
fields?: SdkCatalogField[];
|
|
656
|
+
}
|
|
657
|
+
/** Machine-readable reason a manifest variant option is not currently renderable. */
|
|
658
|
+
export type SdkCatalogVariantUnavailableReason = 'not-implemented-by-personality';
|
|
659
|
+
/** Where a resolved variant value originates. */
|
|
660
|
+
export type SdkCatalogVariantSource = 'manifest' | 'theme' | 'both';
|
|
661
|
+
/**
|
|
662
|
+
* One button-variant option, discriminated on `availability`:
|
|
663
|
+
* - `available` — the active theme implements it (never carries a reason).
|
|
664
|
+
* - `unavailable` — a manifest option the active theme does NOT implement;
|
|
665
|
+
* always carries a machine-readable `reason`. Writes accept it
|
|
666
|
+
* with a warning.
|
|
667
|
+
* - `unknown` — the site has no active theme/button system, so availability
|
|
668
|
+
* cannot be determined; only manifest options appear.
|
|
669
|
+
*/
|
|
670
|
+
export type SdkCatalogVariantOption = Readonly<{
|
|
671
|
+
value: string;
|
|
672
|
+
availability: 'available';
|
|
673
|
+
source: SdkCatalogVariantSource;
|
|
674
|
+
}> | Readonly<{
|
|
675
|
+
value: string;
|
|
676
|
+
availability: 'unavailable';
|
|
677
|
+
source: 'manifest';
|
|
678
|
+
reason: SdkCatalogVariantUnavailableReason;
|
|
679
|
+
}> | Readonly<{
|
|
680
|
+
value: string;
|
|
681
|
+
availability: 'unknown';
|
|
682
|
+
source: 'manifest';
|
|
683
|
+
}>;
|
|
684
|
+
export interface SdkCatalogVariantAvailability {
|
|
685
|
+
/** Structural field-id path of the button-variant field (e.g. `ctas.variant`). */
|
|
686
|
+
fieldPath: string;
|
|
687
|
+
variants: SdkCatalogVariantOption[];
|
|
688
|
+
}
|
|
689
|
+
export interface SdkCatalogBlock {
|
|
690
|
+
identifier: string;
|
|
691
|
+
title: string;
|
|
692
|
+
category?: string;
|
|
693
|
+
contentSource: SdkCatalogContentSource;
|
|
694
|
+
fields: SdkCatalogField[];
|
|
695
|
+
/** Button-variant availability against the active theme (shared resolver). */
|
|
696
|
+
variantAvailability: SdkCatalogVariantAvailability[];
|
|
697
|
+
}
|
|
698
|
+
/**
|
|
699
|
+
* The active-theme context the blocks catalog was computed against. `selectionVersion`
|
|
700
|
+
* doubles as an optional write precondition: pass it as `baseSelectionVersion` on block
|
|
701
|
+
* upsert/PATCH to fail loudly (409, tag `STALE_CATALOG`) if the theme changed since
|
|
702
|
+
* the catalog was read — a catalog-advertised theme-only variant may otherwise be
|
|
703
|
+
* rejected after a mid-air theme change.
|
|
704
|
+
*/
|
|
705
|
+
export type SdkCatalogActiveTheme = Readonly<{
|
|
706
|
+
state: 'active';
|
|
707
|
+
selectionVersion: number;
|
|
708
|
+
}> | Readonly<{
|
|
709
|
+
state: 'none';
|
|
710
|
+
}>;
|
|
711
|
+
export interface SdkCatalogBlocksResponse {
|
|
712
|
+
blocks: SdkCatalogBlock[];
|
|
713
|
+
/** Theme context the variant availability was computed against. */
|
|
714
|
+
activeTheme: SdkCatalogActiveTheme;
|
|
715
|
+
meta: SdkPullMeta;
|
|
716
|
+
}
|
|
717
|
+
export interface SdkCatalogContentType {
|
|
718
|
+
key: string;
|
|
719
|
+
name: string;
|
|
720
|
+
hasPages: boolean;
|
|
721
|
+
routePattern: string | null;
|
|
722
|
+
isSingleton: boolean;
|
|
723
|
+
/** Normalized stored field DSL (NOT generated JSON Schema). */
|
|
724
|
+
schema: ContentTypeSchema;
|
|
725
|
+
}
|
|
726
|
+
export interface SdkCatalogContentTypesResponse {
|
|
727
|
+
contentTypes: SdkCatalogContentType[];
|
|
728
|
+
meta: SdkPullMeta;
|
|
729
|
+
}
|
|
730
|
+
export interface SdkCapabilityCatalogLink {
|
|
731
|
+
/** Relative path under `/api/sdk/{siteId}`. */
|
|
732
|
+
path: string;
|
|
733
|
+
/** Stable content hash of the catalog body, for caching + drift detection. */
|
|
734
|
+
contentHash: string;
|
|
735
|
+
}
|
|
736
|
+
export interface SdkCapabilitiesResponse {
|
|
737
|
+
apiVersion: string;
|
|
738
|
+
catalogs: {
|
|
739
|
+
theme: SdkCapabilityCatalogLink;
|
|
740
|
+
blocks: SdkCapabilityCatalogLink;
|
|
741
|
+
contentTypes: SdkCapabilityCatalogLink;
|
|
742
|
+
};
|
|
743
|
+
meta: SdkPullMeta;
|
|
744
|
+
}
|
|
745
|
+
/** One provenance ledger row: a resource a demo recipe run created/linked on this site. */
|
|
746
|
+
export interface SdkDemoSeedProvenanceEntry {
|
|
747
|
+
id: string;
|
|
748
|
+
/** The recipe run that created/linked the resource. */
|
|
749
|
+
runId: string;
|
|
750
|
+
/** The command ref within the run (e.g. `content:testimonial-ava`). */
|
|
751
|
+
commandKey: string;
|
|
752
|
+
/** The command type (e.g. `upsertContentEntry`). */
|
|
753
|
+
commandType: string;
|
|
754
|
+
/** Closed resource kind (e.g. `content`, `customer`, `page`, `staff`). */
|
|
755
|
+
resourceKind: string;
|
|
756
|
+
/** The recipe resource ref (e.g. `content:testimonial-ava`). */
|
|
757
|
+
resourceRef: string;
|
|
758
|
+
/** The concrete resource id. */
|
|
759
|
+
resourceId: string;
|
|
760
|
+
/**
|
|
761
|
+
* `created` — the run authored this resource (a cleanup candidate);
|
|
762
|
+
* `existing` — the run only linked/configured a pre-existing resource.
|
|
763
|
+
*/
|
|
764
|
+
disposition: 'created' | 'existing';
|
|
765
|
+
createdAt: string;
|
|
766
|
+
}
|
|
767
|
+
export interface SdkDemoContentResponse {
|
|
768
|
+
items: SdkDemoSeedProvenanceEntry[];
|
|
769
|
+
meta: SdkPullMeta;
|
|
770
|
+
}
|
|
527
771
|
export interface SdkPullFooterMeta extends SdkPullMeta {
|
|
528
772
|
updatedAt: string | null;
|
|
529
773
|
}
|
|
@@ -824,6 +1068,8 @@ export interface SdkPullDraftsResponse {
|
|
|
824
1068
|
}
|
|
825
1069
|
export interface SdkUpsertBlockResponse {
|
|
826
1070
|
block: SdkManagementBlock;
|
|
1071
|
+
/** Non-blocking content warnings (e.g. theme-unavailable button variants). */
|
|
1072
|
+
warnings?: SdkBlockContentWarning[];
|
|
827
1073
|
}
|
|
828
1074
|
export interface SdkDeleteResponse {
|
|
829
1075
|
deleted: true;
|
|
@@ -250,11 +250,16 @@ export type CreateSitePreviewKeyResponse = {
|
|
|
250
250
|
keyId: string;
|
|
251
251
|
message: string;
|
|
252
252
|
};
|
|
253
|
+
/** Access mode for a management API key: read-only or full write access. */
|
|
254
|
+
export type ManagementKeyAccessMode = 'read' | 'write';
|
|
253
255
|
export type ManagementKeyRecord = {
|
|
254
256
|
id: string;
|
|
255
257
|
name: string | null;
|
|
256
258
|
keyPrefix: string;
|
|
257
259
|
keyHint: string | null;
|
|
260
|
+
accessMode: ManagementKeyAccessMode;
|
|
261
|
+
/** ISO timestamp when the key expires, or null if it never expires. */
|
|
262
|
+
expiresAt: string | null;
|
|
258
263
|
createdAt: string;
|
|
259
264
|
lastUsedAt: string | null;
|
|
260
265
|
};
|
|
@@ -263,10 +268,18 @@ export type ListManagementKeysResponse = {
|
|
|
263
268
|
};
|
|
264
269
|
export type CreateManagementKeyRequest = {
|
|
265
270
|
name?: string;
|
|
271
|
+
/** Defaults to 'write' when omitted (preserves prior all-access behavior). */
|
|
272
|
+
accessMode?: ManagementKeyAccessMode;
|
|
273
|
+
/** Optional ISO timestamp; must be in the future. Null/omitted = never expires. */
|
|
274
|
+
expiresAt?: string | null;
|
|
266
275
|
};
|
|
267
276
|
export type CreateManagementKeyResponse = {
|
|
268
277
|
key: string;
|
|
269
278
|
keyId: string;
|
|
279
|
+
/** Normalized access mode the key was issued with. */
|
|
280
|
+
accessMode: ManagementKeyAccessMode;
|
|
281
|
+
/** Normalized expiry (ISO) or null when the key never expires. */
|
|
282
|
+
expiresAt: string | null;
|
|
270
283
|
message: string;
|
|
271
284
|
};
|
|
272
285
|
export type RevokeManagementKeyRequest = {
|
|
@@ -1054,12 +1054,8 @@ export type SiteManagementAPIEndpoints = {
|
|
|
1054
1054
|
siteId: string;
|
|
1055
1055
|
ids?: string;
|
|
1056
1056
|
}, {
|
|
1057
|
-
services: Array<{
|
|
1058
|
-
id: string;
|
|
1059
|
-
siteId: string;
|
|
1060
|
-
title: string;
|
|
1057
|
+
services: Array<Omit<PublicBookingService, 'description'> & {
|
|
1061
1058
|
description?: string;
|
|
1062
|
-
durationMinutes?: number;
|
|
1063
1059
|
}>;
|
|
1064
1060
|
}>;
|
|
1065
1061
|
getPublicBookingService: APIEndpoint<never, {
|
|
@@ -10,7 +10,7 @@ import type { CreateManagementKeyRequest, CreateManagementKeyResponse, CreateSit
|
|
|
10
10
|
import type { GetSiteInspirationAnalysisResponse, ListSiteInspirationAnalysesResponse } from './siteGeneration';
|
|
11
11
|
import type { ListGscPropertiesAdminResponse, AuthStatusResponse, CronAppointmentRemindersResponse, CronBillingStatusResponse, CronEventFeedbackEmailsResponse, CronEventOccurrencesResponse, CronEventRemindersResponse, CronMediaJobsQuery, CronMediaJobsResponse, CronNewsletterSendResponse, CronPaymentReconciliationResponse, CronSeoIngestResponse, CronWaitlistExpiryResponse } from './siteOperations';
|
|
12
12
|
import type { ApplySiteStyleSelectionBody, ApplySiteStyleSelectionResponse } from './siteRuntimeEndpoints';
|
|
13
|
-
import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkBackfillIdentifiersResult, SdkGetCourseResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListCoursesResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkPullCourseProgram, SdkPullCourseSession, SdkPullCoursesResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpsertBlockResponse, SdkUpsertCourseResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
|
|
13
|
+
import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkBackfillIdentifiersResult, SdkGetCourseResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListCoursesResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkCatalogThemeResponse, SdkCatalogBlocksResponse, SdkCatalogContentTypesResponse, SdkCapabilitiesResponse, SdkDemoContentResponse, SdkPullCourseProgram, SdkPullCourseSession, SdkPullCoursesResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpsertBlockResponse, SdkUpsertCourseResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
|
|
14
14
|
import type { SdkEventUpsertBody } from './sdk-event-upsert';
|
|
15
15
|
import type { StripeConnectDisconnectResponse, StripeConnectStartResponse, StripeConnectStatusResponse, UpdateStripeAutomaticTaxRequest } from './billing';
|
|
16
16
|
import type { NavigationLinkInput } from './navigation/types';
|
|
@@ -186,6 +186,21 @@ export type SitePlatformAPIEndpoints = {
|
|
|
186
186
|
sdkPullContentTypes: APIEndpoint<never, {
|
|
187
187
|
siteId: string;
|
|
188
188
|
}, SdkPullContentTypesResponse>;
|
|
189
|
+
sdkCatalogTheme: APIEndpoint<never, {
|
|
190
|
+
siteId: string;
|
|
191
|
+
}, SdkCatalogThemeResponse>;
|
|
192
|
+
sdkCatalogBlocks: APIEndpoint<never, {
|
|
193
|
+
siteId: string;
|
|
194
|
+
}, SdkCatalogBlocksResponse>;
|
|
195
|
+
sdkCatalogContentTypes: APIEndpoint<never, {
|
|
196
|
+
siteId: string;
|
|
197
|
+
}, SdkCatalogContentTypesResponse>;
|
|
198
|
+
sdkCapabilities: APIEndpoint<never, {
|
|
199
|
+
siteId: string;
|
|
200
|
+
}, SdkCapabilitiesResponse>;
|
|
201
|
+
sdkListDemoContent: APIEndpoint<never, {
|
|
202
|
+
siteId: string;
|
|
203
|
+
}, SdkDemoContentResponse>;
|
|
189
204
|
sdkPullPages: APIEndpoint<never, {
|
|
190
205
|
siteId: string;
|
|
191
206
|
}, SdkPullPagesResponse>;
|
|
@@ -262,6 +277,11 @@ export type SitePlatformAPIEndpoints = {
|
|
|
262
277
|
kind: string;
|
|
263
278
|
data: Record<string, unknown>;
|
|
264
279
|
position?: number;
|
|
280
|
+
/**
|
|
281
|
+
* Optional catalog-coherence precondition (`catalog/blocks`
|
|
282
|
+
* `activeTheme.selectionVersion`); mismatch → 409 tag `STALE_CATALOG`.
|
|
283
|
+
*/
|
|
284
|
+
baseSelectionVersion?: number;
|
|
265
285
|
}, {
|
|
266
286
|
siteId: string;
|
|
267
287
|
identifier: string;
|
|
@@ -449,6 +469,13 @@ export type SitePlatformAPIEndpoints = {
|
|
|
449
469
|
contentType: string;
|
|
450
470
|
data: Record<string, unknown>;
|
|
451
471
|
slug?: string;
|
|
472
|
+
/**
|
|
473
|
+
* Raw display ordinal, only accepted for content types with
|
|
474
|
+
* `ordering.mode: 'manual'` (400 fieldError otherwise). The server never
|
|
475
|
+
* displaces other entries; equal ordinals resolve deterministically by
|
|
476
|
+
* (manualOrder ASC, createdAt ASC, id ASC). Callers wanting insert-at-
|
|
477
|
+
* position semantics reassign ordinals for the affected entries.
|
|
478
|
+
*/
|
|
452
479
|
manualOrder?: number;
|
|
453
480
|
blocks?: Record<string, SdkEntryUpsertSlotBlock[]>;
|
|
454
481
|
publication?: 'draft' | 'publish';
|
|
@@ -484,6 +511,7 @@ export type SitePlatformAPIEndpoints = {
|
|
|
484
511
|
identifier: string;
|
|
485
512
|
}, SdkPublishOrUnpublishEntryResponse>;
|
|
486
513
|
sdkUpdateSettings: APIEndpoint<{
|
|
514
|
+
siteTitle?: string;
|
|
487
515
|
homepageId?: string | null;
|
|
488
516
|
seoDefaults?: SdkPullSettings['seoDefaults'];
|
|
489
517
|
logoIdentifier?: string | null;
|
|
@@ -26,37 +26,43 @@ export type SiteThemeSelectionsPayload = {
|
|
|
26
26
|
headerLookId?: HeaderLookId | null;
|
|
27
27
|
footerLookId?: FooterLookId | null;
|
|
28
28
|
};
|
|
29
|
-
export type
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
headerLookId
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
baseSelectionVersion: number;
|
|
40
|
-
/** Omitted or `null` lets the server target the current selection; a value targets that selection row. */
|
|
41
|
-
selectionId?: string | null;
|
|
29
|
+
export type SiteStyleHeaderSelectionChange = Readonly<{
|
|
30
|
+
kind: 'default';
|
|
31
|
+
}> | Readonly<{
|
|
32
|
+
kind: 'legacy';
|
|
33
|
+
headerLookId: HeaderLookId | null;
|
|
34
|
+
}> | Readonly<{
|
|
35
|
+
kind: 'canonical';
|
|
36
|
+
headerLookId: HeaderLookId | null;
|
|
37
|
+
layoutId: HeaderLayoutId;
|
|
38
|
+
styleId: HeaderStyleId;
|
|
42
39
|
}>;
|
|
43
|
-
export type
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
headerStyleId?: undefined;
|
|
40
|
+
export type SiteStyleSelectionChange = Readonly<{
|
|
41
|
+
kind: 'set-site-style';
|
|
42
|
+
siteStyleId: SiteStyleId;
|
|
47
43
|
}> | Readonly<{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
headerStyleId: null;
|
|
44
|
+
kind: 'set-button-personality';
|
|
45
|
+
buttonPersonalityId: ButtonPersonalityId | null;
|
|
51
46
|
}> | Readonly<{
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
kind: 'set-palette';
|
|
48
|
+
command: PaletteCommand;
|
|
49
|
+
}> | Readonly<{
|
|
50
|
+
kind: 'set-typography';
|
|
51
|
+
typography: Theme['typography'] | null;
|
|
52
|
+
}> | Readonly<{
|
|
53
|
+
kind: 'set-header';
|
|
54
|
+
selection: SiteStyleHeaderSelectionChange;
|
|
55
|
+
}> | Readonly<{
|
|
56
|
+
kind: 'set-footer-look';
|
|
57
|
+
footerLookId: FooterLookId | null;
|
|
58
|
+
}>;
|
|
59
|
+
export type ApplySiteStyleSelectionBody = Readonly<{
|
|
60
|
+
baseSelectionVersion: number;
|
|
61
|
+
/** Omitted or `null` lets the server target the current selection. */
|
|
62
|
+
selectionId?: string | null;
|
|
63
|
+
/** A non-empty, unique-axis batch. Unmentioned axes are preserved. */
|
|
64
|
+
changes: readonly [SiteStyleSelectionChange, ...SiteStyleSelectionChange[]];
|
|
55
65
|
}>;
|
|
56
|
-
export type ApplySiteStyleSelectionBody = ApplySiteStyleSelectionCommonBody & Readonly<{
|
|
57
|
-
/** Omitted selects the site style's recommended curated palette; a command applies that palette operation. */
|
|
58
|
-
paletteCommand?: PaletteCommand;
|
|
59
|
-
}> & ApplySiteStyleSelectionHeaderBody;
|
|
60
66
|
export type ApplySiteStyleSelectionResponse = Readonly<{
|
|
61
67
|
success: boolean;
|
|
62
68
|
themeId: string;
|
package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { FieldWidgetProps } from '../../fields/props';
|
|
3
3
|
import type { TextFieldConfig } from '../../fields/types';
|
|
4
|
+
import { type GradientConfig } from '../../../../blocks/src/index';
|
|
4
5
|
/**
|
|
5
6
|
* BackgroundGradientField
|
|
6
7
|
*
|
|
@@ -11,3 +12,11 @@ import type { TextFieldConfig } from '../../fields/types';
|
|
|
11
12
|
* This is registered as a widget override with key 'backgroundGradient'.
|
|
12
13
|
*/
|
|
13
14
|
export declare function BackgroundGradientField({ path, backend, config, }: FieldWidgetProps<string | null, TextFieldConfig>): ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Attempts to find a preset that matches the given CSS gradient string.
|
|
17
|
+
*
|
|
18
|
+
* This is a best-effort reverse lookup - if the CSS was generated from a preset,
|
|
19
|
+
* we can find and highlight that preset. If it's custom CSS, we return null
|
|
20
|
+
* and the widget shows no selection.
|
|
21
|
+
*/
|
|
22
|
+
export declare function findPresetFromCss(css: string | null, tokens: Record<string, string>): GradientConfig | null;
|
package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type
|
|
2
|
+
import { type GradientConfig, type GradientPreset } from '../../../../blocks/src/index';
|
|
3
3
|
export type BackgroundGradientWidgetProps = {
|
|
4
4
|
label: string;
|
|
5
5
|
value: GradientConfig | null;
|
|
@@ -9,9 +9,8 @@ export type BackgroundGradientWidgetProps = {
|
|
|
9
9
|
dataPath?: string;
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
|
-
* BackgroundGradientWidget
|
|
13
|
-
*
|
|
14
12
|
* Select a curated gradient from the theme-based library.
|
|
15
13
|
* Gradients use theme color tokens, so they adapt to the site's palette.
|
|
16
14
|
*/
|
|
17
|
-
export declare function BackgroundGradientWidget(
|
|
15
|
+
export declare function BackgroundGradientWidget({ label, value, onChange, description, error, dataPath, }: BackgroundGradientWidgetProps): import("react").JSX.Element;
|
|
16
|
+
export declare function gradientConfigFromPreset(preset: GradientPreset): GradientConfig;
|
|
@@ -256,7 +256,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
256
256
|
className: string | null;
|
|
257
257
|
titleText: string;
|
|
258
258
|
bodyText: string;
|
|
259
|
-
stepLabels: readonly ("
|
|
259
|
+
stepLabels: readonly ("Date" | "Event" | "Tickets" | "Details" | "Payment")[];
|
|
260
260
|
summaryButtonText: string;
|
|
261
261
|
}>;
|
|
262
262
|
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
|
|
@@ -279,7 +279,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
279
279
|
className: string | null;
|
|
280
280
|
titleText: string;
|
|
281
281
|
bodyText: string;
|
|
282
|
-
stepLabels: readonly ("
|
|
282
|
+
stepLabels: readonly ("Date" | "Event" | "Tickets" | "Details" | "Payment")[];
|
|
283
283
|
summaryButtonText: string;
|
|
284
284
|
}>;
|
|
285
285
|
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
|
|
@@ -1342,7 +1342,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1342
1342
|
className: string | null;
|
|
1343
1343
|
titleText: string;
|
|
1344
1344
|
bodyText: string;
|
|
1345
|
-
stepLabels: readonly ("
|
|
1345
|
+
stepLabels: readonly ("Date" | "Event" | "Tickets" | "Details" | "Payment")[];
|
|
1346
1346
|
summaryButtonText: string;
|
|
1347
1347
|
}>;
|
|
1348
1348
|
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
|
|
@@ -1365,7 +1365,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1365
1365
|
className: string | null;
|
|
1366
1366
|
titleText: string;
|
|
1367
1367
|
bodyText: string;
|
|
1368
|
-
stepLabels: readonly ("
|
|
1368
|
+
stepLabels: readonly ("Date" | "Event" | "Tickets" | "Details" | "Payment")[];
|
|
1369
1369
|
summaryButtonText: string;
|
|
1370
1370
|
}>;
|
|
1371
1371
|
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
|
|
@@ -13,7 +13,7 @@ export * from '../../theme-core/src/schema';
|
|
|
13
13
|
export * from '../../theme-core/src/site-styles/index';
|
|
14
14
|
export * from '../../theme-core/src/styles/buttons';
|
|
15
15
|
export * from '../../theme-core/src/styles/buttonsLibrary';
|
|
16
|
-
export { type ButtonBackground, type ButtonBorder, type ButtonGlobalSettings, type ButtonSystem, type ButtonVariant, type CornerStyle, type EffectApplication, type FontWeight, type GradientSharpness, type GradientStyle, type HoverColor, type HoverTransform, type ShadowSize, type TextTransform, buttonBackgroundSchema, buttonBorderSchema, buttonGlobalSettingsSchema, buttonSystemSchema, buttonVariantSchema, cornerStyleSchema, effectApplicationSchema, fontWeightSchema, gradientSharpnessSchema, gradientStyleSchema, hoverColorSchema, hoverTransformSchema, shadowSizeSchema, textTransformSchema, generateButtonCss, generateDefaultButtonSystem, buttonPresets, type ButtonPreset, EFFECT_PRESETS, getEffectPreset, getEffectPresetsByCategory, getAllEffectPresets, type EffectCategory, type EffectPreset, type EffectContext, type StateGroup, generateButtonCoreCss, getDefaultButtonVariants, type ButtonVariantCore, type ButtonCoreSettings, type
|
|
16
|
+
export { type ButtonBackground, type ButtonBorder, type ButtonGlobalSettings, type ButtonSystem, type ButtonVariant, type CornerStyle, type EffectApplication, type FontWeight, type GradientSharpness, type GradientStyle, type HoverColor, type HoverTransform, type ShadowSize, type TextTransform, buttonBackgroundSchema, buttonBorderSchema, buttonGlobalSettingsSchema, buttonSystemSchema, buttonVariantSchema, cornerStyleSchema, effectApplicationSchema, fontWeightSchema, gradientSharpnessSchema, gradientStyleSchema, hoverColorSchema, hoverTransformSchema, shadowSizeSchema, textTransformSchema, generateButtonCss, generateDefaultButtonSystem, buttonPresets, type ButtonPreset, EFFECT_PRESETS, getEffectPreset, getEffectPresetsByCategory, getAllEffectPresets, type EffectCategory, type EffectPreset, type EffectContext, type StateGroup, generateButtonCoreCss, getDefaultButtonVariants, type ButtonVariantCore, type ButtonCoreSettings, type GradientDirection, } from '../../theme-core/src/buttons/index';
|
|
17
17
|
export { type CardBackground, type CardBorder, type CardSpacing, type CardSystem, type CardVariant, type CardVariantRole, type BoxStylesCardVariant, cardBackgroundSchema, cardBorderSchema, cardSpacingSchema, cardSystemSchema, cardVariantSchema, cardVariantRoleSchema, boxStylesCardVariantSchema, normalizeCardVariantRole, normalizeBoxStylesCardVariant, generateCardCss, generateDefaultCardSystem, generateCardCoreCss, getDefaultCardVariants, type CardVariantCore, type CardCoreSettings, type CardBackgroundType, type CardSpacingCore, } from '../../theme-core/src/cards/index';
|
|
18
18
|
export { generateInputCoreCss, getDefaultInputSettings, type InputCoreSettings, } from '../../theme-core/src/inputs/core';
|
|
19
19
|
export * from '../../theme-core/src/tokens/index';
|
|
@@ -5,6 +5,9 @@ export declare const audioPlayerManifest: import("..").DefinedBlockManifest<impo
|
|
|
5
5
|
readonly title: "Audio Player";
|
|
6
6
|
readonly titleSource: "title";
|
|
7
7
|
readonly category: "media";
|
|
8
|
+
readonly contentSource: {
|
|
9
|
+
readonly kind: "inline";
|
|
10
|
+
};
|
|
8
11
|
readonly description: "Add a branded audio player for a single track.";
|
|
9
12
|
readonly tags: readonly ["audio", "player", "music", "podcast", "media"];
|
|
10
13
|
readonly icon: "AudioLines";
|
|
@@ -5,6 +5,9 @@ export declare const bodyTextManifest: import("..").DefinedBlockManifest<import(
|
|
|
5
5
|
readonly title: "Body Text";
|
|
6
6
|
readonly titleSource: "heading";
|
|
7
7
|
readonly category: "content";
|
|
8
|
+
readonly contentSource: {
|
|
9
|
+
readonly kind: "inline";
|
|
10
|
+
};
|
|
8
11
|
readonly fragments: readonly [{
|
|
9
12
|
readonly fragment: import("..").DefinedFragment<{
|
|
10
13
|
readonly fields: readonly [{
|
|
@@ -8,6 +8,9 @@ export declare const contactNewsletterManifest: import("..").DefinedBlockManifes
|
|
|
8
8
|
readonly titleSource: "contactTitle";
|
|
9
9
|
readonly description: "Two-column newsletter signup and contact form section.";
|
|
10
10
|
readonly category: "interactive";
|
|
11
|
+
readonly contentSource: {
|
|
12
|
+
readonly kind: "inline";
|
|
13
|
+
};
|
|
11
14
|
readonly layout: import("..").NodeDefinition;
|
|
12
15
|
readonly defaultVariant: "default";
|
|
13
16
|
readonly variants: {
|
|
@@ -111,28 +111,7 @@ export declare const courseRegistrationManifest: import("..").DefinedBlockManife
|
|
|
111
111
|
readonly multiline: false;
|
|
112
112
|
readonly defaultValue: "Sign up";
|
|
113
113
|
readonly maxLength: 40;
|
|
114
|
-
},
|
|
115
|
-
readonly id: "buttonVariant";
|
|
116
|
-
readonly type: "select";
|
|
117
|
-
readonly label: "Button style";
|
|
118
|
-
readonly description: "Choose a button style from your theme";
|
|
119
|
-
readonly required: false;
|
|
120
|
-
readonly multiple: false;
|
|
121
|
-
readonly defaultValue: "primary";
|
|
122
|
-
readonly options: [{
|
|
123
|
-
readonly value: "primary";
|
|
124
|
-
readonly label: "Primary";
|
|
125
|
-
}, {
|
|
126
|
-
readonly value: "secondary";
|
|
127
|
-
readonly label: "Secondary";
|
|
128
|
-
}, {
|
|
129
|
-
readonly value: "outline";
|
|
130
|
-
readonly label: "Outline";
|
|
131
|
-
}];
|
|
132
|
-
readonly ui: {
|
|
133
|
-
readonly intent: "style";
|
|
134
|
-
};
|
|
135
|
-
}];
|
|
114
|
+
}, import("../../../../block-form/src/backend/index").FieldDefinition];
|
|
136
115
|
}>;
|
|
137
116
|
export type CourseRegistrationContent = {
|
|
138
117
|
heading?: string | null;
|
|
@@ -5,6 +5,9 @@ declare const ctaFullConfig: {
|
|
|
5
5
|
readonly id: "block.cta-full";
|
|
6
6
|
readonly title: "Full-width CTA";
|
|
7
7
|
readonly category: "marketing";
|
|
8
|
+
readonly contentSource: {
|
|
9
|
+
readonly kind: "inline";
|
|
10
|
+
};
|
|
8
11
|
readonly fragments: readonly [{
|
|
9
12
|
readonly fragment: import("..").DefinedFragment<{
|
|
10
13
|
readonly fields: readonly [{
|