@riverbankcms/sdk 0.62.4 → 0.67.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 +11 -0
- package/dist/_dts/api/src/accessAdmin.d.ts +64 -2
- package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/aiPlayground.d.ts +18 -11
- package/dist/_dts/api/src/apiEndpointTypes.d.ts +12 -0
- package/dist/_dts/api/src/billing.d.ts +46 -10
- package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +1 -1
- package/dist/_dts/api/src/bookingRecords.d.ts +26 -0
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/courses.d.ts +3 -0
- package/dist/_dts/api/src/endpoints.d.ts +48 -0
- package/dist/_dts/api/src/index.d.ts +8 -5
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -40
- package/dist/_dts/api/src/sdkContracts.d.ts +14 -2
- package/dist/_dts/api/src/siteMembers.d.ts +1 -1
- package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
- package/dist/_dts/api/src/siteOperations.d.ts +11 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
- package/dist/_dts/billing/src/plans/types.d.ts +10 -1
- package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
- package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
- package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
- package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
- package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
- package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
- package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
- package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
- package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
- package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
- package/dist/_dts/block-form/src/client/index.d.ts +30 -0
- package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
- package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
- package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
- package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
- package/dist/_dts/block-form/src/context/index.d.ts +4 -0
- package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
- package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
- package/dist/_dts/block-form/src/index.d.ts +22 -0
- package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
- package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
- package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
- package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
- package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
- package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
- package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
- package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
- package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
- package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
- package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
- package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
- package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
- package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
- package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
- package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
- package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
- package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
- package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
- package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
- package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
- package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
- package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
- package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
- package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
- package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
- package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
- package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
- package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
- package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
- package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
- package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
- package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
- package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
- package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
- package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
- package/dist/_dts/calendar/src/grid.d.ts +60 -0
- package/dist/_dts/calendar/src/group.d.ts +14 -0
- package/dist/_dts/calendar/src/index.d.ts +6 -0
- package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
- package/dist/_dts/calendar/src/timetable.d.ts +90 -0
- package/dist/_dts/calendar/src/timezone.d.ts +19 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -4
- package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
- package/dist/_dts/core/src/branded.d.ts +18 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +900 -69
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
- package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +7 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +33 -0
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/env.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +22 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
- package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +114 -0
- package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +63 -0
- package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +50 -0
- package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +57 -0
- package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +57 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +83 -0
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +83 -0
- package/dist/_dts/sdk/src/cli/sync/executor.d.ts +11 -28
- package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
- package/dist/_dts/sdk/src/config/dashboard-validation.d.ts +0 -48
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
- package/dist/_dts/site-commands/src/commands.d.ts +2341 -0
- package/dist/_dts/site-commands/src/domain.d.ts +104 -0
- package/dist/_dts/site-commands/src/exposure.d.ts +41 -0
- package/dist/_dts/site-commands/src/guards.d.ts +1 -0
- package/dist/_dts/site-commands/src/index.d.ts +10 -0
- package/dist/_dts/site-commands/src/metadata.d.ts +503 -0
- package/dist/_dts/site-commands/src/planner.d.ts +58 -0
- package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
- package/dist/_dts/site-commands/src/refs.d.ts +87 -0
- package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
- package/dist/_dts/theme-core/src/palette/utils/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/palette/utils/onColor.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +83 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +89 -12
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -6
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/cli/index.mjs +6446 -1220
- package/dist/cli/init-docs/content/cli-reference.md +18 -0
- package/dist/client/bookings.mjs +25 -25
- package/dist/client/client.mjs +3157 -2858
- package/dist/client/hooks.mjs +2608 -2326
- package/dist/client/rendering/client.mjs +505 -176
- package/dist/client/rendering/islands.mjs +18329 -13012
- package/dist/client/rendering.mjs +1204 -903
- package/dist/preview-next/before-render.mjs +84 -13
- package/dist/preview-next/client/runtime.mjs +3149 -2452
- package/dist/preview-next/middleware.mjs +84 -13
- package/dist/server/components.mjs +936 -631
- package/dist/server/config-validation.mjs +2838 -2556
- package/dist/server/config.mjs +2838 -2556
- package/dist/server/data.mjs +2608 -2326
- package/dist/server/index.mjs +676 -552
- package/dist/server/next.mjs +3043 -2738
- package/dist/server/page-converter.mjs +201 -51
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +936 -631
- package/dist/server/rendering.mjs +936 -631
- package/dist/server/routing.mjs +2701 -2426
- package/dist/server/server.mjs +2626 -2344
- package/dist/server/theme-bridge.mjs +169 -52
- package/package.json +2 -1
- package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
- package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
- package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
- package/dist/_dts/path-utils/src/index.d.ts +0 -8
- package/dist/_dts/path-utils/src/redirectPaths.d.ts +0 -26
- package/dist/_dts/path-utils/src/safeAppPath.d.ts +0 -26
|
@@ -1370,7 +1370,7 @@ var manifestSchema = z3.object({
|
|
|
1370
1370
|
var TEL_RE = /^[+()0-9\s-]{3,}$/;
|
|
1371
1371
|
var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
|
|
1372
1372
|
var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
1373
|
-
function
|
|
1373
|
+
function assertNever(value) {
|
|
1374
1374
|
throw new Error(`Unhandled field validation variant: ${JSON.stringify(value)}`);
|
|
1375
1375
|
}
|
|
1376
1376
|
function validationContext(options = {}) {
|
|
@@ -1422,7 +1422,7 @@ function fieldIssueToMessage(issue2) {
|
|
|
1422
1422
|
case "invalidReference":
|
|
1423
1423
|
return `${issue2.label} must reference a valid item`;
|
|
1424
1424
|
default:
|
|
1425
|
-
return
|
|
1425
|
+
return assertNever(issue2);
|
|
1426
1426
|
}
|
|
1427
1427
|
}
|
|
1428
1428
|
function pluralize(label, count) {
|
|
@@ -1507,7 +1507,7 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
1507
1507
|
case "entryPicker":
|
|
1508
1508
|
return makePlan("passthrough", "unknown", field, path, false, []);
|
|
1509
1509
|
default:
|
|
1510
|
-
return
|
|
1510
|
+
return assertNever(field);
|
|
1511
1511
|
}
|
|
1512
1512
|
}
|
|
1513
1513
|
function commonConstraints(required, ...specific) {
|
|
@@ -1564,7 +1564,7 @@ function resolveSelectConstraintSource(field) {
|
|
|
1564
1564
|
case "sdk":
|
|
1565
1565
|
return { kind: "runtime", source: source.kind };
|
|
1566
1566
|
default:
|
|
1567
|
-
return
|
|
1567
|
+
return assertNever(source);
|
|
1568
1568
|
}
|
|
1569
1569
|
}
|
|
1570
1570
|
function normalizeFieldValue(plan, value, ctx) {
|
|
@@ -1585,7 +1585,7 @@ function normalizeFieldValue(plan, value, ctx) {
|
|
|
1585
1585
|
case "passthrough":
|
|
1586
1586
|
return value;
|
|
1587
1587
|
default:
|
|
1588
|
-
return
|
|
1588
|
+
return assertNever(plan);
|
|
1589
1589
|
}
|
|
1590
1590
|
}
|
|
1591
1591
|
function normalizeObjectChildren(children, value, ctx) {
|
|
@@ -1644,7 +1644,7 @@ function validateNormalizedFieldValue(plan, value, ctx) {
|
|
|
1644
1644
|
case "passthrough":
|
|
1645
1645
|
return [];
|
|
1646
1646
|
default:
|
|
1647
|
-
return
|
|
1647
|
+
return assertNever(plan);
|
|
1648
1648
|
}
|
|
1649
1649
|
}
|
|
1650
1650
|
function shouldRequireValue(plan, value, ctx) {
|
|
@@ -1687,7 +1687,7 @@ function validateStringConstraint(plan, constraint, value) {
|
|
|
1687
1687
|
case "slugFormat":
|
|
1688
1688
|
return SLUG_PATTERN.test(value) ? [] : [issue(plan, "invalidSlug")];
|
|
1689
1689
|
default:
|
|
1690
|
-
return
|
|
1690
|
+
return assertNever(constraint);
|
|
1691
1691
|
}
|
|
1692
1692
|
}
|
|
1693
1693
|
function validateNumberPlan(plan, value) {
|
|
@@ -1704,7 +1704,7 @@ function validateNumberConstraint(plan, constraint, value) {
|
|
|
1704
1704
|
case "numberMax":
|
|
1705
1705
|
return value > constraint.maximum ? [issue(plan, "tooLarge", { maximum: constraint.maximum })] : [];
|
|
1706
1706
|
default:
|
|
1707
|
-
return
|
|
1707
|
+
return assertNever(constraint);
|
|
1708
1708
|
}
|
|
1709
1709
|
}
|
|
1710
1710
|
function validateSelectPlan(plan, value) {
|
|
@@ -1724,7 +1724,7 @@ function validateRepeaterPlan(plan, value, ctx) {
|
|
|
1724
1724
|
case "maxItems":
|
|
1725
1725
|
return value.length > constraint.maximum ? [issue(plan, "tooManyItems", { maximum: constraint.maximum, itemLabel: "item" })] : [];
|
|
1726
1726
|
default:
|
|
1727
|
-
return
|
|
1727
|
+
return assertNever(constraint);
|
|
1728
1728
|
}
|
|
1729
1729
|
});
|
|
1730
1730
|
return [
|
|
@@ -1791,7 +1791,7 @@ function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
|
|
|
1791
1791
|
path
|
|
1792
1792
|
};
|
|
1793
1793
|
default:
|
|
1794
|
-
return
|
|
1794
|
+
return assertNever(plan);
|
|
1795
1795
|
}
|
|
1796
1796
|
}
|
|
1797
1797
|
function rebaseFieldPath(path, fromPrefix, toPrefix) {
|
|
@@ -1871,7 +1871,7 @@ function addFieldIssueToZodContext(zodCtx, validationIssue) {
|
|
|
1871
1871
|
zodCtx.addIssue({ code: "custom", message });
|
|
1872
1872
|
return;
|
|
1873
1873
|
default:
|
|
1874
|
-
|
|
1874
|
+
assertNever(validationIssue);
|
|
1875
1875
|
}
|
|
1876
1876
|
}
|
|
1877
1877
|
function compilePattern(pattern) {
|
|
@@ -1995,6 +1995,144 @@ function resolveVariantKey(manifest, content) {
|
|
|
1995
1995
|
return null;
|
|
1996
1996
|
}
|
|
1997
1997
|
|
|
1998
|
+
// ../theme-core/src/palette/utils/colorConversion.ts
|
|
1999
|
+
var clamp01 = (x) => Math.max(0, Math.min(1, x));
|
|
2000
|
+
var mod = (a, n) => (a % n + n) % n;
|
|
2001
|
+
var deg = (x) => mod(x, 360);
|
|
2002
|
+
function hexToRgb(hex) {
|
|
2003
|
+
const h = hex.replace(/^#/, "");
|
|
2004
|
+
const m = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
|
|
2005
|
+
if (m.length !== 6) throw new Error("Bad hex");
|
|
2006
|
+
const int = parseInt(m, 16);
|
|
2007
|
+
return { r: int >> 16 & 255, g: int >> 8 & 255, b: int & 255 };
|
|
2008
|
+
}
|
|
2009
|
+
function rgbToHex(r2, g, b) {
|
|
2010
|
+
const to = (n) => Math.round(n).toString(16).padStart(2, "0");
|
|
2011
|
+
return `#${to(r2)}${to(g)}${to(b)}`;
|
|
2012
|
+
}
|
|
2013
|
+
function srgbToLinear(u) {
|
|
2014
|
+
const x = u / 255;
|
|
2015
|
+
return x <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
|
|
2016
|
+
}
|
|
2017
|
+
function linearToSrgb(x) {
|
|
2018
|
+
const y = x <= 31308e-7 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055;
|
|
2019
|
+
return clamp01(y) * 255;
|
|
2020
|
+
}
|
|
2021
|
+
function rgbToHsl(r2, g, b) {
|
|
2022
|
+
const R = r2 / 255, G = g / 255, B = b / 255;
|
|
2023
|
+
const max = Math.max(R, G, B), min = Math.min(R, G, B);
|
|
2024
|
+
const d = max - min;
|
|
2025
|
+
let h = 0;
|
|
2026
|
+
if (d !== 0) {
|
|
2027
|
+
switch (max) {
|
|
2028
|
+
case R:
|
|
2029
|
+
h = (G - B) / d + (G < B ? 6 : 0);
|
|
2030
|
+
break;
|
|
2031
|
+
case G:
|
|
2032
|
+
h = (B - R) / d + 2;
|
|
2033
|
+
break;
|
|
2034
|
+
case B:
|
|
2035
|
+
h = (R - G) / d + 4;
|
|
2036
|
+
break;
|
|
2037
|
+
}
|
|
2038
|
+
h *= 60;
|
|
2039
|
+
}
|
|
2040
|
+
const l = (max + min) / 2;
|
|
2041
|
+
const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));
|
|
2042
|
+
return { h, s, l };
|
|
2043
|
+
}
|
|
2044
|
+
function srgbToOklab(r2, g, b) {
|
|
2045
|
+
const R = srgbToLinear(r2), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
2046
|
+
const l = 0.4122214708 * R + 0.5363325363 * G + 0.0514459929 * B;
|
|
2047
|
+
const m = 0.2119034982 * R + 0.6806995451 * G + 0.1073969566 * B;
|
|
2048
|
+
const s = 0.0883024619 * R + 0.2817188376 * G + 0.6299787005 * B;
|
|
2049
|
+
const l_ = Math.cbrt(l), m_ = Math.cbrt(m), s_ = Math.cbrt(s);
|
|
2050
|
+
const L = 0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_;
|
|
2051
|
+
const a = 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_;
|
|
2052
|
+
const b2 = 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_;
|
|
2053
|
+
return { L, a, b: b2 };
|
|
2054
|
+
}
|
|
2055
|
+
function oklabToSrgb(L, a, b) {
|
|
2056
|
+
const l_ = Math.pow(L + 0.3963377774 * a + 0.2158037573 * b, 3);
|
|
2057
|
+
const m_ = Math.pow(L - 0.1055613458 * a - 0.0638541728 * b, 3);
|
|
2058
|
+
const s_ = Math.pow(L - 0.0894841775 * a - 1.291485548 * b, 3);
|
|
2059
|
+
const R = 4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_;
|
|
2060
|
+
const G = -1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_;
|
|
2061
|
+
const B = -0.0041960863 * l_ - 0.7034186147 * m_ + 1.707614701 * s_;
|
|
2062
|
+
return { r: linearToSrgb(R), g: linearToSrgb(G), b: linearToSrgb(B) };
|
|
2063
|
+
}
|
|
2064
|
+
function oklabToOklch(L, a, b) {
|
|
2065
|
+
const C = Math.sqrt(a * a + b * b);
|
|
2066
|
+
const h = C < 1e-7 ? 0 : deg(Math.atan2(b, a) * 180 / Math.PI);
|
|
2067
|
+
return { L, C, h };
|
|
2068
|
+
}
|
|
2069
|
+
function oklchToOklab(L, C, h) {
|
|
2070
|
+
const hr = h * Math.PI / 180;
|
|
2071
|
+
const a = C * Math.cos(hr);
|
|
2072
|
+
const b = C * Math.sin(hr);
|
|
2073
|
+
return { L, a, b };
|
|
2074
|
+
}
|
|
2075
|
+
function inSRGB(r2, g, b) {
|
|
2076
|
+
return r2 >= 0 && r2 <= 255 && g >= 0 && g <= 255 && b >= 0 && b <= 255;
|
|
2077
|
+
}
|
|
2078
|
+
function oklchToHexGamut(L, C, h) {
|
|
2079
|
+
let lo = 0, hi = C, best = 0;
|
|
2080
|
+
for (let i = 0; i < 18; i++) {
|
|
2081
|
+
const mid = (lo + hi) / 2;
|
|
2082
|
+
const { a: a2, b: b2 } = oklchToOklab(L, mid, h);
|
|
2083
|
+
const { r: r3, g: g2, b: bb2 } = oklabToSrgb(L, a2, b2);
|
|
2084
|
+
if (inSRGB(r3, g2, bb2)) {
|
|
2085
|
+
best = mid;
|
|
2086
|
+
lo = mid;
|
|
2087
|
+
} else {
|
|
2088
|
+
hi = mid;
|
|
2089
|
+
}
|
|
2090
|
+
}
|
|
2091
|
+
const { a, b } = oklchToOklab(L, best, h);
|
|
2092
|
+
const { r: r2, g, b: bb } = oklabToSrgb(L, a, b);
|
|
2093
|
+
return rgbToHex(r2, g, bb);
|
|
2094
|
+
}
|
|
2095
|
+
function featuresFromHex(hex) {
|
|
2096
|
+
const { r: r2, g, b } = hexToRgb(hex);
|
|
2097
|
+
const { h, s, l } = rgbToHsl(r2, g, b);
|
|
2098
|
+
const { L, a, b: b2 } = srgbToOklab(r2, g, b);
|
|
2099
|
+
const { L: okL, C: okC, h: okH } = oklabToOklch(L, a, b2);
|
|
2100
|
+
const max = Math.max(r2, g, b);
|
|
2101
|
+
const v = max / 255;
|
|
2102
|
+
const Y = 0.2126 * srgbToLinear(r2) + 0.7152 * srgbToLinear(g) + 0.0722 * srgbToLinear(b);
|
|
2103
|
+
const chroma = s;
|
|
2104
|
+
return { r: r2, g, b, h, s, l, v, Y, chroma, okL, okC, okH, hex };
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2107
|
+
// ../theme-core/src/palette/utils/contrast.ts
|
|
2108
|
+
function relativeLuminance(r2, g, b) {
|
|
2109
|
+
const R = srgbToLinear(r2), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
2110
|
+
return 0.2126 * R + 0.7152 * G + 0.0722 * B;
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
// ../theme-core/src/palette/utils/onColor.ts
|
|
2114
|
+
var BACKGROUND_ROLE_NAMES = /* @__PURE__ */ new Set([
|
|
2115
|
+
"primary",
|
|
2116
|
+
"secondary",
|
|
2117
|
+
"accent",
|
|
2118
|
+
"success",
|
|
2119
|
+
"warning",
|
|
2120
|
+
"destructive",
|
|
2121
|
+
"info",
|
|
2122
|
+
"background",
|
|
2123
|
+
"surface",
|
|
2124
|
+
"surfaceAlt",
|
|
2125
|
+
"muted",
|
|
2126
|
+
"neutral"
|
|
2127
|
+
]);
|
|
2128
|
+
function onColorTokenName(backgroundToken) {
|
|
2129
|
+
return `on${backgroundToken.split("-").filter((part) => part.length > 0).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("")}`;
|
|
2130
|
+
}
|
|
2131
|
+
function isOnColorBackgroundCandidateToken(token) {
|
|
2132
|
+
const role = token.match(/^(.*?)(?:-\d{2,3})?$/)?.[1] ?? token;
|
|
2133
|
+
return BACKGROUND_ROLE_NAMES.has(role);
|
|
2134
|
+
}
|
|
2135
|
+
|
|
1998
2136
|
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
1999
2137
|
function assertValidOptionGroups(preset2) {
|
|
2000
2138
|
preset2.optionGroups?.forEach((group) => {
|
|
@@ -7151,11 +7289,21 @@ function asHeaderLookId(value) {
|
|
|
7151
7289
|
return value;
|
|
7152
7290
|
}
|
|
7153
7291
|
function baseHeader(theme) {
|
|
7292
|
+
const {
|
|
7293
|
+
navLinkStyle: _navLinkStyle,
|
|
7294
|
+
dropdownStyle: _dropdownStyle,
|
|
7295
|
+
ctaVariant: _ctaVariant,
|
|
7296
|
+
navContainer: _navContainer,
|
|
7297
|
+
container: _container,
|
|
7298
|
+
shadow: _shadow,
|
|
7299
|
+
logo: _logo,
|
|
7300
|
+
logoText: _logoText,
|
|
7301
|
+
border: _border,
|
|
7302
|
+
...header
|
|
7303
|
+
} = theme.header;
|
|
7154
7304
|
return {
|
|
7155
|
-
...
|
|
7156
|
-
|
|
7157
|
-
dropdownStyle: void 0,
|
|
7158
|
-
ctaVariant: void 0
|
|
7305
|
+
...header,
|
|
7306
|
+
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
7159
7307
|
};
|
|
7160
7308
|
}
|
|
7161
7309
|
function solidBrandHeader(theme) {
|
|
@@ -7606,6 +7754,9 @@ var curatedSiteStyleIdValues = [
|
|
|
7606
7754
|
"site-style:bright-community",
|
|
7607
7755
|
"site-style:quiet-luxury",
|
|
7608
7756
|
"site-style:practical-services",
|
|
7757
|
+
"site-style:quiet-practice",
|
|
7758
|
+
"site-style:personal-retreat-journal",
|
|
7759
|
+
"site-style:tactile-workshop",
|
|
7609
7760
|
"site-style:modern-wellness",
|
|
7610
7761
|
"site-style:bold-launch",
|
|
7611
7762
|
"site-style:south-west-twerk-school"
|
|
@@ -7688,7 +7839,8 @@ function defineCuratedSiteStyle(input) {
|
|
|
7688
7839
|
name: input.name,
|
|
7689
7840
|
description: input.description,
|
|
7690
7841
|
generationBrief: input.generationBrief,
|
|
7691
|
-
|
|
7842
|
+
selectionKeywordRules: input.selectionKeywordRules ?? [],
|
|
7843
|
+
siteCreatorSelection: input.siteCreatorSelection ?? { kind: "explicit_only" },
|
|
7692
7844
|
template: {
|
|
7693
7845
|
id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
|
|
7694
7846
|
name: input.name,
|
|
@@ -7832,12 +7984,13 @@ var curatedSiteStyles = [
|
|
|
7832
7984
|
name: "Quiet Luxury",
|
|
7833
7985
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
7834
7986
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
7835
|
-
|
|
7836
|
-
|
|
7837
|
-
"
|
|
7838
|
-
"
|
|
7839
|
-
"
|
|
7840
|
-
"
|
|
7987
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 20 },
|
|
7988
|
+
selectionKeywordRules: [
|
|
7989
|
+
{ kind: "word", value: "luxury" },
|
|
7990
|
+
{ kind: "word", value: "premium" },
|
|
7991
|
+
{ kind: "word", value: "boutique" },
|
|
7992
|
+
{ kind: "word", value: "bespoke" },
|
|
7993
|
+
{ kind: "word", value: "exclusive" }
|
|
7841
7994
|
],
|
|
7842
7995
|
tokenRecipes: {
|
|
7843
7996
|
palette: "high-contrast",
|
|
@@ -7866,13 +8019,14 @@ var curatedSiteStyles = [
|
|
|
7866
8019
|
name: "Practical Services",
|
|
7867
8020
|
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
7868
8021
|
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
7869
|
-
|
|
7870
|
-
|
|
7871
|
-
"
|
|
7872
|
-
"
|
|
7873
|
-
"
|
|
7874
|
-
"
|
|
7875
|
-
"
|
|
8022
|
+
siteCreatorSelection: { kind: "primary_goal_support" },
|
|
8023
|
+
selectionKeywordRules: [
|
|
8024
|
+
{ kind: "word", value: "repair" },
|
|
8025
|
+
{ kind: "substring", value: "plumb" },
|
|
8026
|
+
{ kind: "substring", value: "electric" },
|
|
8027
|
+
{ kind: "word", value: "cleaning" },
|
|
8028
|
+
{ kind: "substring", value: "landscap" },
|
|
8029
|
+
{ kind: "substring", value: "contractor" }
|
|
7876
8030
|
],
|
|
7877
8031
|
tokenRecipes: {
|
|
7878
8032
|
palette: "brand-led",
|
|
@@ -7923,18 +8077,134 @@ var curatedSiteStyles = [
|
|
|
7923
8077
|
paletteChoice("warm-neutral-forest")
|
|
7924
8078
|
]
|
|
7925
8079
|
}),
|
|
8080
|
+
defineCuratedSiteStyle({
|
|
8081
|
+
id: "site-style:quiet-practice",
|
|
8082
|
+
name: "Quiet Practice",
|
|
8083
|
+
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
8084
|
+
generationBrief: "Make services, practitioner trust, preparation notes, and booking routes easy to scan. Keep the tone warm and specific, with quiet confidence rather than spa cliches or medical claims.",
|
|
8085
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 30 },
|
|
8086
|
+
selectionKeywordRules: [
|
|
8087
|
+
{ kind: "substring", value: "massage" },
|
|
8088
|
+
{ kind: "word", value: "bodywork" },
|
|
8089
|
+
{ kind: "phrase", value: "appointment practice" },
|
|
8090
|
+
{ kind: "phrase", value: "appointment-first" },
|
|
8091
|
+
{ kind: "substring", value: "practitioner" },
|
|
8092
|
+
{ kind: "substring", value: "therap" },
|
|
8093
|
+
{ kind: "substring", value: "clinic" },
|
|
8094
|
+
{ kind: "phrase", value: "wellness practice" }
|
|
8095
|
+
],
|
|
8096
|
+
tokenRecipes: {
|
|
8097
|
+
palette: "soft-natural",
|
|
8098
|
+
contrast: "standard",
|
|
8099
|
+
radius: "soft",
|
|
8100
|
+
shadow: "subtle",
|
|
8101
|
+
typography: "clean-sans",
|
|
8102
|
+
spacing: "regular",
|
|
8103
|
+
motion: "subtle"
|
|
8104
|
+
},
|
|
8105
|
+
compositionBudget: quietBudget,
|
|
8106
|
+
recommendedHeaderLookIds: ["practical-utility", "clean-base", "centered-calm"],
|
|
8107
|
+
buttonPersonalityChoices: [
|
|
8108
|
+
buttonChoice("pebble"),
|
|
8109
|
+
buttonChoice("soft-pill"),
|
|
8110
|
+
buttonChoice("editorial-link")
|
|
8111
|
+
],
|
|
8112
|
+
paletteVariantChoices: [
|
|
8113
|
+
paletteChoice("soft-natural-stone"),
|
|
8114
|
+
paletteChoice("soft-natural-sage"),
|
|
8115
|
+
paletteChoice("warm-neutral-clay")
|
|
8116
|
+
]
|
|
8117
|
+
}),
|
|
8118
|
+
defineCuratedSiteStyle({
|
|
8119
|
+
id: "site-style:personal-retreat-journal",
|
|
8120
|
+
name: "Personal Retreat Journal",
|
|
8121
|
+
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
8122
|
+
generationBrief: "Center the practitioner as the guide, then make private sessions, classes, retreats, and resources feel like clear pathways. Keep retreat copy grounded and practical, with enough editorial warmth for longer reading.",
|
|
8123
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 40 },
|
|
8124
|
+
selectionKeywordRules: [
|
|
8125
|
+
{ kind: "substring", value: "retreat" },
|
|
8126
|
+
{ kind: "phrase", value: "solo practitioner" },
|
|
8127
|
+
{ kind: "phrase", value: "personal brand" },
|
|
8128
|
+
{ kind: "substring", value: "teacher" },
|
|
8129
|
+
{ kind: "substring", value: "coach" },
|
|
8130
|
+
{ kind: "phrase", value: "retreat resources" },
|
|
8131
|
+
{ kind: "substring", value: "journal" }
|
|
8132
|
+
],
|
|
8133
|
+
tokenRecipes: {
|
|
8134
|
+
palette: "warm-neutral",
|
|
8135
|
+
contrast: "standard",
|
|
8136
|
+
radius: "soft",
|
|
8137
|
+
shadow: "subtle",
|
|
8138
|
+
typography: "serif-editorial",
|
|
8139
|
+
spacing: "airy",
|
|
8140
|
+
motion: "subtle"
|
|
8141
|
+
},
|
|
8142
|
+
compositionBudget: balancedBudget,
|
|
8143
|
+
recommendedHeaderLookIds: ["editorial-line", "centered-calm", "minimal-transparent"],
|
|
8144
|
+
buttonPersonalityChoices: [
|
|
8145
|
+
buttonChoice("editorial-link"),
|
|
8146
|
+
buttonChoice("soft-pill"),
|
|
8147
|
+
buttonChoice("brushed-wash")
|
|
8148
|
+
],
|
|
8149
|
+
paletteVariantChoices: [
|
|
8150
|
+
paletteChoice("warm-neutral-forest"),
|
|
8151
|
+
paletteChoice("warm-neutral-clay"),
|
|
8152
|
+
paletteChoice("soft-natural-stone")
|
|
8153
|
+
]
|
|
8154
|
+
}),
|
|
8155
|
+
defineCuratedSiteStyle({
|
|
8156
|
+
id: "site-style:tactile-workshop",
|
|
8157
|
+
name: "Tactile Workshop",
|
|
8158
|
+
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
8159
|
+
generationBrief: "Lead with objects, materials, studio process, and practical booking detail. Keep the tone warm and direct, with useful mess, clear dates, and enough gallery rhythm to feel like a real creative studio.",
|
|
8160
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 50 },
|
|
8161
|
+
selectionKeywordRules: [
|
|
8162
|
+
{ kind: "substring", value: "ceramic" },
|
|
8163
|
+
{ kind: "word", value: "pottery" },
|
|
8164
|
+
{ kind: "phrase", value: "maker studio" },
|
|
8165
|
+
{ kind: "phrase", value: "craft class" },
|
|
8166
|
+
{ kind: "phrase", value: "craft workshop" },
|
|
8167
|
+
{ kind: "word", value: "clay" },
|
|
8168
|
+
{ kind: "word", value: "kiln" }
|
|
8169
|
+
],
|
|
8170
|
+
tokenRecipes: {
|
|
8171
|
+
palette: "brand-led",
|
|
8172
|
+
contrast: "standard",
|
|
8173
|
+
radius: "soft",
|
|
8174
|
+
shadow: "subtle",
|
|
8175
|
+
typography: "friendly-sans",
|
|
8176
|
+
spacing: "regular",
|
|
8177
|
+
motion: "subtle"
|
|
8178
|
+
},
|
|
8179
|
+
compositionBudget: balancedBudget,
|
|
8180
|
+
recommendedHeaderLookIds: ["brand-solid", "practical-utility", "clean-base"],
|
|
8181
|
+
recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
|
|
8182
|
+
buttonPersonalityChoices: [
|
|
8183
|
+
buttonChoice("pebble"),
|
|
8184
|
+
buttonChoice("confident-chip"),
|
|
8185
|
+
buttonChoice("ink-stamp"),
|
|
8186
|
+
buttonChoice("editorial-link")
|
|
8187
|
+
],
|
|
8188
|
+
paletteVariantChoices: [
|
|
8189
|
+
paletteChoice("brand-led-warm"),
|
|
8190
|
+
paletteChoice("brand-led-cool"),
|
|
8191
|
+
paletteChoice("soft-natural-watercolor"),
|
|
8192
|
+
paletteChoice("warm-neutral-clay")
|
|
8193
|
+
]
|
|
8194
|
+
}),
|
|
7926
8195
|
defineCuratedSiteStyle({
|
|
7927
8196
|
id: "site-style:bold-launch",
|
|
7928
8197
|
name: "Bold Launch",
|
|
7929
8198
|
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
7930
8199
|
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
7931
|
-
|
|
7932
|
-
|
|
7933
|
-
"
|
|
7934
|
-
"
|
|
7935
|
-
"
|
|
7936
|
-
"
|
|
7937
|
-
"
|
|
8200
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 10 },
|
|
8201
|
+
selectionKeywordRules: [
|
|
8202
|
+
{ kind: "substring", value: "launch" },
|
|
8203
|
+
{ kind: "substring", value: "campaign" },
|
|
8204
|
+
{ kind: "word", value: "preorder" },
|
|
8205
|
+
{ kind: "phrase", value: "pre-order" },
|
|
8206
|
+
{ kind: "substring", value: "waitlist" },
|
|
8207
|
+
{ kind: "word", value: "drop" }
|
|
7938
8208
|
],
|
|
7939
8209
|
tokenRecipes: {
|
|
7940
8210
|
palette: "high-contrast",
|
|
@@ -7965,15 +8235,6 @@ var curatedSiteStyles = [
|
|
|
7965
8235
|
name: "South West Twerk School",
|
|
7966
8236
|
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
7967
8237
|
generationBrief: "Use confident rhythm, bold burgundy-and-gold accents, large editorial intro copy, strong booking routes, and dark feature sections where proof or forms need emphasis.",
|
|
7968
|
-
selectionKeywords: [
|
|
7969
|
-
"dance",
|
|
7970
|
-
"classes",
|
|
7971
|
-
"workshop",
|
|
7972
|
-
"school",
|
|
7973
|
-
"movement",
|
|
7974
|
-
"performance",
|
|
7975
|
-
"community"
|
|
7976
|
-
],
|
|
7977
8238
|
tokenRecipes: {
|
|
7978
8239
|
palette: "brand-led",
|
|
7979
8240
|
contrast: "maximum",
|
|
@@ -8216,6 +8477,148 @@ var modernMinimalTheme = {
|
|
|
8216
8477
|
}
|
|
8217
8478
|
};
|
|
8218
8479
|
|
|
8480
|
+
// ../theme-core/src/palette/generateShades.ts
|
|
8481
|
+
function generateShades(hexColor, name) {
|
|
8482
|
+
const shadeSteps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
8483
|
+
const base = featuresFromHex(hexColor);
|
|
8484
|
+
const hue = base.okH;
|
|
8485
|
+
const baseChroma = base.okC;
|
|
8486
|
+
const toneMap = {
|
|
8487
|
+
50: 0.975,
|
|
8488
|
+
100: 0.945,
|
|
8489
|
+
200: 0.89,
|
|
8490
|
+
300: 0.82,
|
|
8491
|
+
400: 0.74,
|
|
8492
|
+
500: 0.66,
|
|
8493
|
+
600: 0.58,
|
|
8494
|
+
700: 0.49,
|
|
8495
|
+
800: 0.4,
|
|
8496
|
+
900: 0.28,
|
|
8497
|
+
950: 0.16
|
|
8498
|
+
};
|
|
8499
|
+
const shadeDefs = shadeSteps.map((step, idx) => {
|
|
8500
|
+
const t = idx / (shadeSteps.length - 1);
|
|
8501
|
+
const L = toneMap[step];
|
|
8502
|
+
const chromaFactor = 0.06 + 0.94 * Math.sin(Math.PI * t);
|
|
8503
|
+
const C = baseChroma * chromaFactor;
|
|
8504
|
+
return {
|
|
8505
|
+
name: `${name}-${step}`,
|
|
8506
|
+
hex: oklchToHexGamut(L, C, hue)
|
|
8507
|
+
};
|
|
8508
|
+
});
|
|
8509
|
+
shadeDefs.push({ name, hex: hexColor });
|
|
8510
|
+
return shadeDefs;
|
|
8511
|
+
}
|
|
8512
|
+
|
|
8513
|
+
// ../theme-core/src/palette/neutralScale.ts
|
|
8514
|
+
function generateNeutralScale({
|
|
8515
|
+
background,
|
|
8516
|
+
steps = 11,
|
|
8517
|
+
warm = false
|
|
8518
|
+
}) {
|
|
8519
|
+
const isDark = background === "#000000" || background.startsWith("#0") || background.startsWith("#1");
|
|
8520
|
+
const shadeNames = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
8521
|
+
const count = Math.min(steps, shadeNames.length);
|
|
8522
|
+
const scale = [];
|
|
8523
|
+
for (let i = 0; i < count; i++) {
|
|
8524
|
+
const t = i / (count - 1);
|
|
8525
|
+
const tone = isDark ? mix(0.06, 0.92, t) : mix(0.98, 0.1, t);
|
|
8526
|
+
const hex = oklchToHexGamut(tone, 0.02, warm ? 85 : 250);
|
|
8527
|
+
const name = `neutral-${shadeNames[i]}`;
|
|
8528
|
+
scale.push({ name, hex });
|
|
8529
|
+
}
|
|
8530
|
+
return scale;
|
|
8531
|
+
}
|
|
8532
|
+
function mix(a, b, t) {
|
|
8533
|
+
return a + (b - a) * Math.max(0, Math.min(1, t));
|
|
8534
|
+
}
|
|
8535
|
+
|
|
8536
|
+
// ../theme-core/src/palette/utils/textColor.ts
|
|
8537
|
+
function pickBlackOrWhiteTextColor(background, minContrast = 4.5) {
|
|
8538
|
+
const { r: r2, g, b } = parseColorToRgb(background);
|
|
8539
|
+
const luminance = relativeLuminance(r2, g, b);
|
|
8540
|
+
const blackContrast = (luminance + 0.05) / 0.05;
|
|
8541
|
+
const whiteContrast = 1.05 / (luminance + 0.05);
|
|
8542
|
+
if (blackContrast >= minContrast && whiteContrast < minContrast) {
|
|
8543
|
+
return "#000000";
|
|
8544
|
+
}
|
|
8545
|
+
if (whiteContrast >= minContrast && blackContrast < minContrast) {
|
|
8546
|
+
return "#FFFFFF";
|
|
8547
|
+
}
|
|
8548
|
+
return blackContrast >= whiteContrast ? "#000000" : "#FFFFFF";
|
|
8549
|
+
}
|
|
8550
|
+
function getTextColorForBackground(background) {
|
|
8551
|
+
return pickBlackOrWhiteTextColor(background);
|
|
8552
|
+
}
|
|
8553
|
+
function parseColorToRgb(input) {
|
|
8554
|
+
const trimmed = input.trim();
|
|
8555
|
+
if (trimmed.startsWith("#")) {
|
|
8556
|
+
return hexToRgb(trimmed);
|
|
8557
|
+
}
|
|
8558
|
+
const rgbMatch = trimmed.match(
|
|
8559
|
+
/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)$/i
|
|
8560
|
+
);
|
|
8561
|
+
if (rgbMatch?.[1] && rgbMatch[2] && rgbMatch[3]) {
|
|
8562
|
+
return {
|
|
8563
|
+
r: clamp255(Number(rgbMatch[1])),
|
|
8564
|
+
g: clamp255(Number(rgbMatch[2])),
|
|
8565
|
+
b: clamp255(Number(rgbMatch[3]))
|
|
8566
|
+
};
|
|
8567
|
+
}
|
|
8568
|
+
throw new Error("Unsupported color format");
|
|
8569
|
+
}
|
|
8570
|
+
function clamp255(value) {
|
|
8571
|
+
if (Number.isNaN(value)) return 0;
|
|
8572
|
+
return Math.max(0, Math.min(255, value));
|
|
8573
|
+
}
|
|
8574
|
+
|
|
8575
|
+
// ../theme-core/src/palette/expandPalette.ts
|
|
8576
|
+
function colorsToMap(palette) {
|
|
8577
|
+
const map = {};
|
|
8578
|
+
for (const c of palette.colors) {
|
|
8579
|
+
map[c.name] = c.hex;
|
|
8580
|
+
}
|
|
8581
|
+
return map;
|
|
8582
|
+
}
|
|
8583
|
+
function isBackgroundDark(hex) {
|
|
8584
|
+
try {
|
|
8585
|
+
return featuresFromHex(hex).Y < 0.5;
|
|
8586
|
+
} catch {
|
|
8587
|
+
return false;
|
|
8588
|
+
}
|
|
8589
|
+
}
|
|
8590
|
+
function expandPalette(palette) {
|
|
8591
|
+
const base = colorsToMap(palette);
|
|
8592
|
+
const expanded = { ...base };
|
|
8593
|
+
const background = base.background || base.surface || "#ffffff";
|
|
8594
|
+
const neutral2 = generateNeutralScale({ background, steps: 11, warm: false });
|
|
8595
|
+
neutral2.forEach((n) => {
|
|
8596
|
+
expanded[n.name] = n.hex;
|
|
8597
|
+
});
|
|
8598
|
+
for (const [name, hex] of Object.entries(base)) {
|
|
8599
|
+
if (hex) {
|
|
8600
|
+
const shades = generateShades(hex, name);
|
|
8601
|
+
shades.forEach((shade) => {
|
|
8602
|
+
expanded[shade.name] = shade.hex;
|
|
8603
|
+
});
|
|
8604
|
+
}
|
|
8605
|
+
}
|
|
8606
|
+
if (base.text) expanded.body = base.text;
|
|
8607
|
+
if (base.danger && !base.destructive) {
|
|
8608
|
+
expanded.destructive = base.danger;
|
|
8609
|
+
}
|
|
8610
|
+
const isDark = base.background ? isBackgroundDark(base.background) : false;
|
|
8611
|
+
const isDarkMode = palette.meta?.mode === "dark" || isDark;
|
|
8612
|
+
expanded.mutedText = isDarkMode ? expanded["neutral-600"] ?? "#666" : expanded["neutral-500"] ?? "#888";
|
|
8613
|
+
for (const [token, hex] of Object.entries({ ...expanded })) {
|
|
8614
|
+
if (!hex || !isOnColorBackgroundCandidateToken(token)) continue;
|
|
8615
|
+
const onToken = onColorTokenName(token);
|
|
8616
|
+
if (expanded[onToken]) continue;
|
|
8617
|
+
expanded[onToken] = getTextColorForBackground(hex);
|
|
8618
|
+
}
|
|
8619
|
+
return expanded;
|
|
8620
|
+
}
|
|
8621
|
+
|
|
8219
8622
|
// ../theme-core/src/site-styles/designState.ts
|
|
8220
8623
|
import { z as z24 } from "zod";
|
|
8221
8624
|
|
|
@@ -8384,25 +8787,19 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
8384
8787
|
"muted-band": {
|
|
8385
8788
|
background: {
|
|
8386
8789
|
type: "color",
|
|
8387
|
-
color: "muted"
|
|
8388
|
-
textColor: "text",
|
|
8389
|
-
headingColor: "text"
|
|
8790
|
+
color: "muted"
|
|
8390
8791
|
}
|
|
8391
8792
|
},
|
|
8392
8793
|
"accent-band": {
|
|
8393
8794
|
background: {
|
|
8394
8795
|
type: "color",
|
|
8395
|
-
color: "primary"
|
|
8396
|
-
textColor: "primaryForeground",
|
|
8397
|
-
headingColor: "primaryForeground"
|
|
8796
|
+
color: "primary"
|
|
8398
8797
|
}
|
|
8399
8798
|
},
|
|
8400
8799
|
"brand-depth-band": {
|
|
8401
8800
|
background: {
|
|
8402
8801
|
type: "color",
|
|
8403
|
-
color: "primary-800"
|
|
8404
|
-
textColor: "primaryForeground",
|
|
8405
|
-
headingColor: "primaryForeground"
|
|
8802
|
+
color: "primary-800"
|
|
8406
8803
|
}
|
|
8407
8804
|
},
|
|
8408
8805
|
"hero-image": {
|
|
@@ -14624,6 +15021,16 @@ var jsonArrayTransform = {
|
|
|
14624
15021
|
return "";
|
|
14625
15022
|
}
|
|
14626
15023
|
};
|
|
15024
|
+
var csvTransform = {
|
|
15025
|
+
id: "value.csv",
|
|
15026
|
+
kind: "formatter",
|
|
15027
|
+
summary: "Normalize a string or array of strings into a comma-separated list",
|
|
15028
|
+
run: (value) => {
|
|
15029
|
+
const rawValues = Array.isArray(value) ? value : typeof value === "string" ? value.split(",") : [];
|
|
15030
|
+
const normalized = rawValues.filter((item) => typeof item === "string").map((item) => item.trim()).filter(Boolean);
|
|
15031
|
+
return normalized.length > 0 ? Array.from(new Set(normalized)).join(",") : "";
|
|
15032
|
+
}
|
|
15033
|
+
};
|
|
14627
15034
|
var marqueeLoopOptionsSchema = z33.object({
|
|
14628
15035
|
minItems: z33.number().int().min(1).default(10)
|
|
14629
15036
|
});
|
|
@@ -14649,6 +15056,7 @@ var formattingTransforms = [
|
|
|
14649
15056
|
dateFormatShort,
|
|
14650
15057
|
arrayLengthTransform,
|
|
14651
15058
|
jsonArrayTransform,
|
|
15059
|
+
csvTransform,
|
|
14652
15060
|
marqueeLoopTransform
|
|
14653
15061
|
];
|
|
14654
15062
|
|
|
@@ -15132,117 +15540,6 @@ var uiTransforms = [
|
|
|
15132
15540
|
|
|
15133
15541
|
// ../blocks/src/system/transforms/registry/layout.ts
|
|
15134
15542
|
import { z as z35 } from "zod";
|
|
15135
|
-
|
|
15136
|
-
// ../theme-core/src/palette/utils/colorConversion.ts
|
|
15137
|
-
var clamp01 = (x) => Math.max(0, Math.min(1, x));
|
|
15138
|
-
var mod = (a, n) => (a % n + n) % n;
|
|
15139
|
-
var deg = (x) => mod(x, 360);
|
|
15140
|
-
function hexToRgb(hex) {
|
|
15141
|
-
const h = hex.replace(/^#/, "");
|
|
15142
|
-
const m = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
|
|
15143
|
-
if (m.length !== 6) throw new Error("Bad hex");
|
|
15144
|
-
const int = parseInt(m, 16);
|
|
15145
|
-
return { r: int >> 16 & 255, g: int >> 8 & 255, b: int & 255 };
|
|
15146
|
-
}
|
|
15147
|
-
function rgbToHex(r2, g, b) {
|
|
15148
|
-
const to = (n) => Math.round(n).toString(16).padStart(2, "0");
|
|
15149
|
-
return `#${to(r2)}${to(g)}${to(b)}`;
|
|
15150
|
-
}
|
|
15151
|
-
function srgbToLinear(u) {
|
|
15152
|
-
const x = u / 255;
|
|
15153
|
-
return x <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
|
|
15154
|
-
}
|
|
15155
|
-
function linearToSrgb(x) {
|
|
15156
|
-
const y = x <= 31308e-7 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055;
|
|
15157
|
-
return clamp01(y) * 255;
|
|
15158
|
-
}
|
|
15159
|
-
function rgbToHsl(r2, g, b) {
|
|
15160
|
-
const R = r2 / 255, G = g / 255, B = b / 255;
|
|
15161
|
-
const max = Math.max(R, G, B), min = Math.min(R, G, B);
|
|
15162
|
-
const d = max - min;
|
|
15163
|
-
let h = 0;
|
|
15164
|
-
if (d !== 0) {
|
|
15165
|
-
switch (max) {
|
|
15166
|
-
case R:
|
|
15167
|
-
h = (G - B) / d + (G < B ? 6 : 0);
|
|
15168
|
-
break;
|
|
15169
|
-
case G:
|
|
15170
|
-
h = (B - R) / d + 2;
|
|
15171
|
-
break;
|
|
15172
|
-
case B:
|
|
15173
|
-
h = (R - G) / d + 4;
|
|
15174
|
-
break;
|
|
15175
|
-
}
|
|
15176
|
-
h *= 60;
|
|
15177
|
-
}
|
|
15178
|
-
const l = (max + min) / 2;
|
|
15179
|
-
const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));
|
|
15180
|
-
return { h, s, l };
|
|
15181
|
-
}
|
|
15182
|
-
function srgbToOklab(r2, g, b) {
|
|
15183
|
-
const R = srgbToLinear(r2), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
15184
|
-
const l = 0.4122214708 * R + 0.5363325363 * G + 0.0514459929 * B;
|
|
15185
|
-
const m = 0.2119034982 * R + 0.6806995451 * G + 0.1073969566 * B;
|
|
15186
|
-
const s = 0.0883024619 * R + 0.2817188376 * G + 0.6299787005 * B;
|
|
15187
|
-
const l_ = Math.cbrt(l), m_ = Math.cbrt(m), s_ = Math.cbrt(s);
|
|
15188
|
-
const L = 0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_;
|
|
15189
|
-
const a = 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_;
|
|
15190
|
-
const b2 = 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_;
|
|
15191
|
-
return { L, a, b: b2 };
|
|
15192
|
-
}
|
|
15193
|
-
function oklabToSrgb(L, a, b) {
|
|
15194
|
-
const l_ = Math.pow(L + 0.3963377774 * a + 0.2158037573 * b, 3);
|
|
15195
|
-
const m_ = Math.pow(L - 0.1055613458 * a - 0.0638541728 * b, 3);
|
|
15196
|
-
const s_ = Math.pow(L - 0.0894841775 * a - 1.291485548 * b, 3);
|
|
15197
|
-
const R = 4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_;
|
|
15198
|
-
const G = -1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_;
|
|
15199
|
-
const B = -0.0041960863 * l_ - 0.7034186147 * m_ + 1.707614701 * s_;
|
|
15200
|
-
return { r: linearToSrgb(R), g: linearToSrgb(G), b: linearToSrgb(B) };
|
|
15201
|
-
}
|
|
15202
|
-
function oklabToOklch(L, a, b) {
|
|
15203
|
-
const C = Math.sqrt(a * a + b * b);
|
|
15204
|
-
const h = C < 1e-7 ? 0 : deg(Math.atan2(b, a) * 180 / Math.PI);
|
|
15205
|
-
return { L, C, h };
|
|
15206
|
-
}
|
|
15207
|
-
function oklchToOklab(L, C, h) {
|
|
15208
|
-
const hr = h * Math.PI / 180;
|
|
15209
|
-
const a = C * Math.cos(hr);
|
|
15210
|
-
const b = C * Math.sin(hr);
|
|
15211
|
-
return { L, a, b };
|
|
15212
|
-
}
|
|
15213
|
-
function inSRGB(r2, g, b) {
|
|
15214
|
-
return r2 >= 0 && r2 <= 255 && g >= 0 && g <= 255 && b >= 0 && b <= 255;
|
|
15215
|
-
}
|
|
15216
|
-
function oklchToHexGamut(L, C, h) {
|
|
15217
|
-
let lo = 0, hi = C, best = 0;
|
|
15218
|
-
for (let i = 0; i < 18; i++) {
|
|
15219
|
-
const mid = (lo + hi) / 2;
|
|
15220
|
-
const { a: a2, b: b2 } = oklchToOklab(L, mid, h);
|
|
15221
|
-
const { r: r3, g: g2, b: bb2 } = oklabToSrgb(L, a2, b2);
|
|
15222
|
-
if (inSRGB(r3, g2, bb2)) {
|
|
15223
|
-
best = mid;
|
|
15224
|
-
lo = mid;
|
|
15225
|
-
} else {
|
|
15226
|
-
hi = mid;
|
|
15227
|
-
}
|
|
15228
|
-
}
|
|
15229
|
-
const { a, b } = oklchToOklab(L, best, h);
|
|
15230
|
-
const { r: r2, g, b: bb } = oklabToSrgb(L, a, b);
|
|
15231
|
-
return rgbToHex(r2, g, bb);
|
|
15232
|
-
}
|
|
15233
|
-
function featuresFromHex(hex) {
|
|
15234
|
-
const { r: r2, g, b } = hexToRgb(hex);
|
|
15235
|
-
const { h, s, l } = rgbToHsl(r2, g, b);
|
|
15236
|
-
const { L, a, b: b2 } = srgbToOklab(r2, g, b);
|
|
15237
|
-
const { L: okL, C: okC, h: okH } = oklabToOklch(L, a, b2);
|
|
15238
|
-
const max = Math.max(r2, g, b);
|
|
15239
|
-
const v = max / 255;
|
|
15240
|
-
const Y = 0.2126 * srgbToLinear(r2) + 0.7152 * srgbToLinear(g) + 0.0722 * srgbToLinear(b);
|
|
15241
|
-
const chroma = s;
|
|
15242
|
-
return { r: r2, g, b, h, s, l, v, Y, chroma, okL, okC, okH, hex };
|
|
15243
|
-
}
|
|
15244
|
-
|
|
15245
|
-
// ../blocks/src/system/transforms/registry/layout.ts
|
|
15246
15543
|
var joinClasses4 = (parts) => parts.filter(
|
|
15247
15544
|
(part) => typeof part === "string" && part.trim().length > 0
|
|
15248
15545
|
).join(" ").replace(/\s+/g, " ").trim();
|
|
@@ -19222,7 +19519,10 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
19222
19519
|
$bind: { from: "content.showAcceptedMemberships", fallback: true }
|
|
19223
19520
|
},
|
|
19224
19521
|
sitePasses: { $bind: { from: "data.eventDetailsData.sitePasses" } },
|
|
19225
|
-
siteMemberships: { $bind: { from: "data.eventDetailsData.siteMemberships" } }
|
|
19522
|
+
siteMemberships: { $bind: { from: "data.eventDetailsData.siteMemberships" } },
|
|
19523
|
+
autoApplyDiscount: {
|
|
19524
|
+
$bind: { from: "data.eventDetailsData.autoApplyDiscount", fallback: null }
|
|
19525
|
+
}
|
|
19226
19526
|
})
|
|
19227
19527
|
],
|
|
19228
19528
|
{ gap: "lg" }
|
|
@@ -19239,13 +19539,32 @@ var occurrenceContextSchema2 = z49.object({
|
|
|
19239
19539
|
capacityOverride: z49.number().nullable().optional(),
|
|
19240
19540
|
overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
|
|
19241
19541
|
}).nullable();
|
|
19542
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
|
|
19543
|
+
id: z49.string(),
|
|
19544
|
+
publicLabel: z49.string(),
|
|
19545
|
+
description: z49.string().nullable(),
|
|
19546
|
+
minTicketsRequired: z49.number().nullable()
|
|
19547
|
+
});
|
|
19548
|
+
var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
|
|
19549
|
+
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
19550
|
+
discountType: z49.literal("percent"),
|
|
19551
|
+
discountPercent: z49.number(),
|
|
19552
|
+
discountAmountCents: z49.null()
|
|
19553
|
+
}),
|
|
19554
|
+
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
19555
|
+
discountType: z49.literal("fixed"),
|
|
19556
|
+
discountPercent: z49.null(),
|
|
19557
|
+
discountAmountCents: z49.number()
|
|
19558
|
+
})
|
|
19559
|
+
]);
|
|
19242
19560
|
var eventDetailsBlockDefinition = {
|
|
19243
19561
|
manifest: eventDetailsManifest,
|
|
19244
19562
|
dataSchemas: {
|
|
19245
19563
|
eventDetailsData: z49.object({
|
|
19246
19564
|
events: publicEventsArraySchema,
|
|
19247
19565
|
sitePasses: z49.object({ passes: z49.array(publicPassProductSchema) }),
|
|
19248
|
-
siteMemberships: z49.object({ memberships: z49.array(publicMembershipProductSchema) })
|
|
19566
|
+
siteMemberships: z49.object({ memberships: z49.array(publicMembershipProductSchema) }),
|
|
19567
|
+
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
19249
19568
|
}).optional(),
|
|
19250
19569
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
19251
19570
|
},
|
|
@@ -20169,51 +20488,6 @@ function resolveEventCta(event, buttonText) {
|
|
|
20169
20488
|
return { label, href: event.path, hidden: false };
|
|
20170
20489
|
}
|
|
20171
20490
|
|
|
20172
|
-
// ../theme-core/src/palette/utils/contrast.ts
|
|
20173
|
-
function relativeLuminance(r2, g, b) {
|
|
20174
|
-
const R = srgbToLinear(r2), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
20175
|
-
return 0.2126 * R + 0.7152 * G + 0.0722 * B;
|
|
20176
|
-
}
|
|
20177
|
-
|
|
20178
|
-
// ../theme-core/src/palette/utils/textColor.ts
|
|
20179
|
-
function pickBlackOrWhiteTextColor(background, minContrast = 4.5) {
|
|
20180
|
-
const { r: r2, g, b } = parseColorToRgb(background);
|
|
20181
|
-
const luminance = relativeLuminance(r2, g, b);
|
|
20182
|
-
const blackContrast = (luminance + 0.05) / 0.05;
|
|
20183
|
-
const whiteContrast = 1.05 / (luminance + 0.05);
|
|
20184
|
-
if (blackContrast >= minContrast && whiteContrast < minContrast) {
|
|
20185
|
-
return "#000000";
|
|
20186
|
-
}
|
|
20187
|
-
if (whiteContrast >= minContrast && blackContrast < minContrast) {
|
|
20188
|
-
return "#FFFFFF";
|
|
20189
|
-
}
|
|
20190
|
-
return blackContrast >= whiteContrast ? "#000000" : "#FFFFFF";
|
|
20191
|
-
}
|
|
20192
|
-
function getTextColorForBackground(background) {
|
|
20193
|
-
return pickBlackOrWhiteTextColor(background);
|
|
20194
|
-
}
|
|
20195
|
-
function parseColorToRgb(input) {
|
|
20196
|
-
const trimmed = input.trim();
|
|
20197
|
-
if (trimmed.startsWith("#")) {
|
|
20198
|
-
return hexToRgb(trimmed);
|
|
20199
|
-
}
|
|
20200
|
-
const rgbMatch = trimmed.match(
|
|
20201
|
-
/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)$/i
|
|
20202
|
-
);
|
|
20203
|
-
if (rgbMatch?.[1] && rgbMatch[2] && rgbMatch[3]) {
|
|
20204
|
-
return {
|
|
20205
|
-
r: clamp255(Number(rgbMatch[1])),
|
|
20206
|
-
g: clamp255(Number(rgbMatch[2])),
|
|
20207
|
-
b: clamp255(Number(rgbMatch[3]))
|
|
20208
|
-
};
|
|
20209
|
-
}
|
|
20210
|
-
throw new Error("Unsupported color format");
|
|
20211
|
-
}
|
|
20212
|
-
function clamp255(value) {
|
|
20213
|
-
if (Number.isNaN(value)) return 0;
|
|
20214
|
-
return Math.max(0, Math.min(255, value));
|
|
20215
|
-
}
|
|
20216
|
-
|
|
20217
20491
|
// ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
20218
20492
|
function r(e) {
|
|
20219
20493
|
var t, f, n = "";
|
|
@@ -22143,7 +22417,12 @@ var eventListingBlockDefinition = {
|
|
|
22143
22417
|
detailLevel: "listing",
|
|
22144
22418
|
kind: { $bind: { from: "content.kind" } },
|
|
22145
22419
|
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
22146
|
-
eventPresets: {
|
|
22420
|
+
eventPresets: {
|
|
22421
|
+
$bind: {
|
|
22422
|
+
from: "content.filterEventPresets",
|
|
22423
|
+
transforms: [{ id: "value.csv" }]
|
|
22424
|
+
}
|
|
22425
|
+
},
|
|
22147
22426
|
scheduleScope: { $bind: { from: "content.scheduleScope" } }
|
|
22148
22427
|
},
|
|
22149
22428
|
mode: "server"
|
|
@@ -22928,7 +23207,12 @@ var eventCalendarBlockDefinition = {
|
|
|
22928
23207
|
// Pass filter params if configured
|
|
22929
23208
|
kind: { $bind: { from: "content.kind" } },
|
|
22930
23209
|
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
22931
|
-
eventPresets: {
|
|
23210
|
+
eventPresets: {
|
|
23211
|
+
$bind: {
|
|
23212
|
+
from: "content.filterEventPresets",
|
|
23213
|
+
transforms: [{ id: "value.csv" }]
|
|
23214
|
+
}
|
|
23215
|
+
},
|
|
22932
23216
|
scheduleScope: { $bind: { from: "content.scheduleScope" } },
|
|
22933
23217
|
categoryIds: { $bind: { from: "content.filterCategoryIds" } },
|
|
22934
23218
|
staffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
|
|
@@ -24409,7 +24693,7 @@ var publicProductsResponseSchema = z53.object({
|
|
|
24409
24693
|
});
|
|
24410
24694
|
|
|
24411
24695
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
24412
|
-
function
|
|
24696
|
+
function assertNever3(value) {
|
|
24413
24697
|
throw new Error(`Unhandled credit product case: ${String(value)}`);
|
|
24414
24698
|
}
|
|
24415
24699
|
function useCasesFromModules(modules) {
|
|
@@ -24442,7 +24726,7 @@ function getCreditProductCreditUnit(useCase) {
|
|
|
24442
24726
|
perCreditSuffix: "credit"
|
|
24443
24727
|
};
|
|
24444
24728
|
default:
|
|
24445
|
-
return
|
|
24729
|
+
return assertNever3(useCase);
|
|
24446
24730
|
}
|
|
24447
24731
|
}
|
|
24448
24732
|
function deriveCreditProductLabels(products, options = {}) {
|
|
@@ -30184,6 +30468,11 @@ function CoursePricingDisplay({
|
|
|
30184
30468
|
|
|
30185
30469
|
// ../blocks/src/system/runtime/nodes/event-details/view.tsx
|
|
30186
30470
|
import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
30471
|
+
function formatAutoApplyDiscountLine(preview, currency) {
|
|
30472
|
+
const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatCoursePriceAmount(preview.discountAmountCents, currency)} off`;
|
|
30473
|
+
const label = preview.publicLabel.trim() || "Discount";
|
|
30474
|
+
return preview.minTicketsRequired && preview.minTicketsRequired > 1 ? `${label} \u2014 ${rate} when buying ${preview.minTicketsRequired}+ tickets` : `${label} \u2014 ${rate} applied automatically`;
|
|
30475
|
+
}
|
|
30187
30476
|
function TeamMemberName({
|
|
30188
30477
|
name,
|
|
30189
30478
|
profilePath
|
|
@@ -30200,6 +30489,7 @@ function EventDetailsView({
|
|
|
30200
30489
|
showAcceptedMemberships = true,
|
|
30201
30490
|
applicablePasses = [],
|
|
30202
30491
|
applicableMemberships = [],
|
|
30492
|
+
autoApplyDiscount = null,
|
|
30203
30493
|
mapHeight = 200,
|
|
30204
30494
|
mapClassName = "event-details-map",
|
|
30205
30495
|
renderVenueMap
|
|
@@ -30275,6 +30565,7 @@ function EventDetailsView({
|
|
|
30275
30565
|
) : shouldShowEventCost ? /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
|
|
30276
30566
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
|
|
30277
30567
|
eventPrice !== null ? /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: formatCoursePriceAmount(eventPrice, selected.currency ?? "USD") }) }) : /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "See checkout for details" }),
|
|
30568
|
+
autoApplyDiscount ? /* @__PURE__ */ jsx26("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
|
|
30278
30569
|
hasAcceptedItems ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
|
|
30279
30570
|
"You can also attend with: ",
|
|
30280
30571
|
acceptedItems.join(", ")
|
|
@@ -30323,6 +30614,7 @@ function EventDetailsSSR({
|
|
|
30323
30614
|
showAcceptedMemberships = true,
|
|
30324
30615
|
sitePasses,
|
|
30325
30616
|
siteMemberships,
|
|
30617
|
+
autoApplyDiscount,
|
|
30326
30618
|
className,
|
|
30327
30619
|
children
|
|
30328
30620
|
}) {
|
|
@@ -30359,6 +30651,7 @@ function EventDetailsSSR({
|
|
|
30359
30651
|
showAcceptedMemberships,
|
|
30360
30652
|
sitePasses,
|
|
30361
30653
|
siteMemberships,
|
|
30654
|
+
autoApplyDiscount,
|
|
30362
30655
|
className,
|
|
30363
30656
|
nowIso
|
|
30364
30657
|
}
|
|
@@ -30376,6 +30669,7 @@ function EventDetailsSSR({
|
|
|
30376
30669
|
showAcceptedMemberships,
|
|
30377
30670
|
applicablePasses,
|
|
30378
30671
|
applicableMemberships,
|
|
30672
|
+
autoApplyDiscount: autoApplyDiscount ?? null,
|
|
30379
30673
|
mapClassName: "venue-map event-details-map",
|
|
30380
30674
|
renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx27("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx27(
|
|
30381
30675
|
"div",
|
|
@@ -33380,119 +33674,6 @@ function renderBlock(manifest, content, options = {}) {
|
|
|
33380
33674
|
);
|
|
33381
33675
|
}
|
|
33382
33676
|
|
|
33383
|
-
// ../theme-core/src/palette/generateShades.ts
|
|
33384
|
-
function generateShades(hexColor, name) {
|
|
33385
|
-
const shadeSteps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
33386
|
-
const base = featuresFromHex(hexColor);
|
|
33387
|
-
const hue = base.okH;
|
|
33388
|
-
const baseChroma = base.okC;
|
|
33389
|
-
const toneMap = {
|
|
33390
|
-
50: 0.975,
|
|
33391
|
-
100: 0.945,
|
|
33392
|
-
200: 0.89,
|
|
33393
|
-
300: 0.82,
|
|
33394
|
-
400: 0.74,
|
|
33395
|
-
500: 0.66,
|
|
33396
|
-
600: 0.58,
|
|
33397
|
-
700: 0.49,
|
|
33398
|
-
800: 0.4,
|
|
33399
|
-
900: 0.28,
|
|
33400
|
-
950: 0.16
|
|
33401
|
-
};
|
|
33402
|
-
const shadeDefs = shadeSteps.map((step, idx) => {
|
|
33403
|
-
const t = idx / (shadeSteps.length - 1);
|
|
33404
|
-
const L = toneMap[step];
|
|
33405
|
-
const chromaFactor = 0.06 + 0.94 * Math.sin(Math.PI * t);
|
|
33406
|
-
const C = baseChroma * chromaFactor;
|
|
33407
|
-
return {
|
|
33408
|
-
name: `${name}-${step}`,
|
|
33409
|
-
hex: oklchToHexGamut(L, C, hue)
|
|
33410
|
-
};
|
|
33411
|
-
});
|
|
33412
|
-
shadeDefs.push({ name, hex: hexColor });
|
|
33413
|
-
return shadeDefs;
|
|
33414
|
-
}
|
|
33415
|
-
|
|
33416
|
-
// ../theme-core/src/palette/neutralScale.ts
|
|
33417
|
-
function generateNeutralScale({
|
|
33418
|
-
background,
|
|
33419
|
-
steps = 11,
|
|
33420
|
-
warm = false
|
|
33421
|
-
}) {
|
|
33422
|
-
const isDark = background === "#000000" || background.startsWith("#0") || background.startsWith("#1");
|
|
33423
|
-
const shadeNames = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
33424
|
-
const count = Math.min(steps, shadeNames.length);
|
|
33425
|
-
const scale = [];
|
|
33426
|
-
for (let i = 0; i < count; i++) {
|
|
33427
|
-
const t = i / (count - 1);
|
|
33428
|
-
const tone = isDark ? mix(0.06, 0.92, t) : mix(0.98, 0.1, t);
|
|
33429
|
-
const hex = oklchToHexGamut(tone, 0.02, warm ? 85 : 250);
|
|
33430
|
-
const name = `neutral-${shadeNames[i]}`;
|
|
33431
|
-
scale.push({ name, hex });
|
|
33432
|
-
}
|
|
33433
|
-
return scale;
|
|
33434
|
-
}
|
|
33435
|
-
function mix(a, b, t) {
|
|
33436
|
-
return a + (b - a) * Math.max(0, Math.min(1, t));
|
|
33437
|
-
}
|
|
33438
|
-
|
|
33439
|
-
// ../theme-core/src/palette/expandPalette.ts
|
|
33440
|
-
function colorsToMap(palette) {
|
|
33441
|
-
const map = {};
|
|
33442
|
-
for (const c of palette.colors) {
|
|
33443
|
-
map[c.name] = c.hex;
|
|
33444
|
-
}
|
|
33445
|
-
return map;
|
|
33446
|
-
}
|
|
33447
|
-
function isBackgroundDark(hex) {
|
|
33448
|
-
try {
|
|
33449
|
-
return featuresFromHex(hex).Y < 0.5;
|
|
33450
|
-
} catch {
|
|
33451
|
-
return false;
|
|
33452
|
-
}
|
|
33453
|
-
}
|
|
33454
|
-
function expandPalette(palette) {
|
|
33455
|
-
const base = colorsToMap(palette);
|
|
33456
|
-
const expanded = { ...base };
|
|
33457
|
-
const background = base.background || base.surface || "#ffffff";
|
|
33458
|
-
const neutral2 = generateNeutralScale({ background, steps: 11, warm: false });
|
|
33459
|
-
neutral2.forEach((n) => {
|
|
33460
|
-
expanded[n.name] = n.hex;
|
|
33461
|
-
});
|
|
33462
|
-
for (const [name, hex] of Object.entries(base)) {
|
|
33463
|
-
if (hex) {
|
|
33464
|
-
const shades = generateShades(hex, name);
|
|
33465
|
-
shades.forEach((shade) => {
|
|
33466
|
-
expanded[shade.name] = shade.hex;
|
|
33467
|
-
});
|
|
33468
|
-
}
|
|
33469
|
-
}
|
|
33470
|
-
if (base.text) expanded.body = base.text;
|
|
33471
|
-
if (base.danger && !base.destructive) {
|
|
33472
|
-
expanded.destructive = base.danger;
|
|
33473
|
-
}
|
|
33474
|
-
const isDark = base.background ? isBackgroundDark(base.background) : false;
|
|
33475
|
-
const isDarkMode = palette.meta?.mode === "dark" || isDark;
|
|
33476
|
-
expanded.mutedText = isDarkMode ? expanded["neutral-600"] ?? "#666" : expanded["neutral-500"] ?? "#888";
|
|
33477
|
-
const onRoles = [
|
|
33478
|
-
{ role: "primary", on: "onPrimary" },
|
|
33479
|
-
{ role: "secondary", on: "onSecondary" },
|
|
33480
|
-
{ role: "accent", on: "onAccent" },
|
|
33481
|
-
{ role: "success", on: "onSuccess" },
|
|
33482
|
-
{ role: "warning", on: "onWarning" },
|
|
33483
|
-
{ role: "destructive", on: "onDestructive" },
|
|
33484
|
-
{ role: "info", on: "onInfo" },
|
|
33485
|
-
{ role: "surface", on: "onSurface" }
|
|
33486
|
-
];
|
|
33487
|
-
for (const { role, on } of onRoles) {
|
|
33488
|
-
const bg = base[role];
|
|
33489
|
-
if (!bg) continue;
|
|
33490
|
-
if (expanded[on]) continue;
|
|
33491
|
-
expanded[on] = getTextColorForBackground(bg);
|
|
33492
|
-
}
|
|
33493
|
-
return expanded;
|
|
33494
|
-
}
|
|
33495
|
-
|
|
33496
33677
|
// ../theme-core/src/runtime/fontFamily.ts
|
|
33497
33678
|
var GENERIC_CSS_FAMILIES = [
|
|
33498
33679
|
"serif",
|
|
@@ -48640,6 +48821,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
48640
48821
|
// ../blocks/src/primitives/content/primitives.tsx
|
|
48641
48822
|
var RichText2 = RichText;
|
|
48642
48823
|
|
|
48824
|
+
// ../api/src/apiEndpointTypes.ts
|
|
48825
|
+
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
48826
|
+
if (publicMessage.trim() === "") {
|
|
48827
|
+
throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
48828
|
+
}
|
|
48829
|
+
return {
|
|
48830
|
+
classification,
|
|
48831
|
+
publicMessage
|
|
48832
|
+
};
|
|
48833
|
+
}
|
|
48834
|
+
|
|
48643
48835
|
// ../api/src/cache-tags.ts
|
|
48644
48836
|
var TAG_TEMPLATES = {
|
|
48645
48837
|
siteCollection: "riverbank:site",
|
|
@@ -48670,6 +48862,18 @@ var TAG_TEMPLATES = {
|
|
|
48670
48862
|
};
|
|
48671
48863
|
|
|
48672
48864
|
// ../api/src/endpoints.ts
|
|
48865
|
+
var DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy(
|
|
48866
|
+
"blocked-hidden",
|
|
48867
|
+
"This action is not available in demo sites."
|
|
48868
|
+
);
|
|
48869
|
+
var DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy(
|
|
48870
|
+
"blocked-disabled",
|
|
48871
|
+
"This setting is disabled in demo sites."
|
|
48872
|
+
);
|
|
48873
|
+
var DEMO_MUTATION_INTERNAL_ONLY = blockedDemoMutationPolicy(
|
|
48874
|
+
"internal-only",
|
|
48875
|
+
"This internal operation is not available in demo sites."
|
|
48876
|
+
);
|
|
48673
48877
|
var ENDPOINT_DEFINITIONS = {
|
|
48674
48878
|
// AI endpoints - no cache due to dynamic nature
|
|
48675
48879
|
aiContentUpdateChat: {
|
|
@@ -48786,7 +48990,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
48786
48990
|
path: "/sites/{siteId}/ai/generate",
|
|
48787
48991
|
method: "POST",
|
|
48788
48992
|
auth: "user",
|
|
48789
|
-
responseKind: "json"
|
|
48993
|
+
responseKind: "json",
|
|
48994
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
48790
48995
|
},
|
|
48791
48996
|
getOnboardingPreviewStatus: {
|
|
48792
48997
|
path: "/public/sites/{siteId}/onboarding/preview-status",
|
|
@@ -48807,7 +49012,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
48807
49012
|
method: "POST",
|
|
48808
49013
|
auth: "user",
|
|
48809
49014
|
errors: [],
|
|
48810
|
-
responseKind: "json"
|
|
49015
|
+
responseKind: "json",
|
|
49016
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
|
|
48811
49017
|
},
|
|
48812
49018
|
goLiveSite: {
|
|
48813
49019
|
path: "/sites/{siteId}/launch/go-live",
|
|
@@ -48876,20 +49082,23 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
48876
49082
|
path: "/sites/{siteId}/ai/site-wizard/goals",
|
|
48877
49083
|
method: "POST",
|
|
48878
49084
|
auth: "user",
|
|
48879
|
-
responseKind: "json"
|
|
49085
|
+
responseKind: "json",
|
|
49086
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
48880
49087
|
},
|
|
48881
49088
|
aiSiteWizardIntakeTriage: {
|
|
48882
49089
|
path: "/sites/{siteId}/ai/site-wizard/intake-triage",
|
|
48883
49090
|
method: "POST",
|
|
48884
49091
|
auth: "user",
|
|
48885
|
-
responseKind: "json"
|
|
49092
|
+
responseKind: "json",
|
|
49093
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
48886
49094
|
},
|
|
48887
49095
|
aiSiteWizardTelemetry: {
|
|
48888
49096
|
path: "/sites/{siteId}/ai/site-wizard/telemetry",
|
|
48889
49097
|
method: "POST",
|
|
48890
49098
|
auth: "user",
|
|
48891
49099
|
errors: [],
|
|
48892
|
-
responseKind: "json"
|
|
49100
|
+
responseKind: "json",
|
|
49101
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
48893
49102
|
},
|
|
48894
49103
|
// Admin SEO
|
|
48895
49104
|
listGscPropertiesAdmin: {
|
|
@@ -49096,7 +49305,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49096
49305
|
responseKind: "json",
|
|
49097
49306
|
errors: ["resource:not_found", "server:internal_error"]
|
|
49098
49307
|
},
|
|
49099
|
-
// Ops (event
|
|
49308
|
+
// Ops (staff event operators/admins)
|
|
49100
49309
|
opsListUpcomingEventOccurrences: {
|
|
49101
49310
|
path: "/ops/sites/{siteId}/events",
|
|
49102
49311
|
method: "GET",
|
|
@@ -49114,6 +49323,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49114
49323
|
method: "POST",
|
|
49115
49324
|
auth: "user",
|
|
49116
49325
|
responseKind: "json",
|
|
49326
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49117
49327
|
errors: [
|
|
49118
49328
|
"validation:invalid_input",
|
|
49119
49329
|
"auth:forbidden",
|
|
@@ -49126,6 +49336,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49126
49336
|
method: "POST",
|
|
49127
49337
|
auth: "user",
|
|
49128
49338
|
responseKind: "json",
|
|
49339
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49129
49340
|
errors: [
|
|
49130
49341
|
"validation:invalid_input",
|
|
49131
49342
|
"auth:forbidden",
|
|
@@ -49144,6 +49355,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49144
49355
|
method: "POST",
|
|
49145
49356
|
auth: "user",
|
|
49146
49357
|
responseKind: "json",
|
|
49358
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49147
49359
|
errors: [
|
|
49148
49360
|
"validation:invalid_input",
|
|
49149
49361
|
"auth:forbidden",
|
|
@@ -49177,6 +49389,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49177
49389
|
method: "POST",
|
|
49178
49390
|
auth: "user",
|
|
49179
49391
|
responseKind: "json",
|
|
49392
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49180
49393
|
errors: [
|
|
49181
49394
|
"validation:invalid_input",
|
|
49182
49395
|
"auth:forbidden",
|
|
@@ -49205,7 +49418,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49205
49418
|
method: "POST",
|
|
49206
49419
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
49207
49420
|
auth: "user",
|
|
49208
|
-
responseKind: "json"
|
|
49421
|
+
responseKind: "json",
|
|
49422
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49209
49423
|
},
|
|
49210
49424
|
previewEmailTemplate: {
|
|
49211
49425
|
path: "/sites/{siteId}/settings/emails/preview",
|
|
@@ -49256,14 +49470,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49256
49470
|
method: "POST",
|
|
49257
49471
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49258
49472
|
auth: "user",
|
|
49259
|
-
responseKind: "json"
|
|
49473
|
+
responseKind: "json",
|
|
49474
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49260
49475
|
},
|
|
49261
49476
|
createNewsletterSubscribersImportUploadUrl: {
|
|
49262
49477
|
path: "/sites/{siteId}/newsletter/subscribers/import-url",
|
|
49263
49478
|
method: "POST",
|
|
49264
49479
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49265
49480
|
auth: "user",
|
|
49266
|
-
responseKind: "json"
|
|
49481
|
+
responseKind: "json",
|
|
49482
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49267
49483
|
},
|
|
49268
49484
|
exportNewsletterSubscribersCsv: {
|
|
49269
49485
|
path: "/sites/{siteId}/newsletter/subscribers/export.csv",
|
|
@@ -49460,14 +49676,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49460
49676
|
method: "POST",
|
|
49461
49677
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49462
49678
|
auth: "user",
|
|
49463
|
-
responseKind: "json"
|
|
49679
|
+
responseKind: "json",
|
|
49680
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49464
49681
|
},
|
|
49465
49682
|
testSendNewsletterCampaign: {
|
|
49466
49683
|
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
|
|
49467
49684
|
method: "POST",
|
|
49468
49685
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49469
49686
|
auth: "user",
|
|
49470
|
-
responseKind: "json"
|
|
49687
|
+
responseKind: "json",
|
|
49688
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49471
49689
|
},
|
|
49472
49690
|
listNewsletterSendJobs: {
|
|
49473
49691
|
path: "/sites/{siteId}/newsletter/jobs",
|
|
@@ -50155,7 +50373,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
50155
50373
|
method: "DELETE",
|
|
50156
50374
|
tags: ["site", "site-{siteId}"],
|
|
50157
50375
|
auth: "user",
|
|
50158
|
-
responseKind: "json"
|
|
50376
|
+
responseKind: "json",
|
|
50377
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
50159
50378
|
},
|
|
50160
50379
|
listSiteMembers: {
|
|
50161
50380
|
path: "/sites/{siteId}/members",
|
|
@@ -50611,7 +50830,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
50611
50830
|
method: "POST",
|
|
50612
50831
|
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
50613
50832
|
auth: "user",
|
|
50614
|
-
responseKind: "json"
|
|
50833
|
+
responseKind: "json",
|
|
50834
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
50615
50835
|
},
|
|
50616
50836
|
updateSiteGeneralSettings: {
|
|
50617
50837
|
path: "/sites/{siteId}/settings/general",
|
|
@@ -51419,6 +51639,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
51419
51639
|
auth: "user",
|
|
51420
51640
|
responseKind: "json"
|
|
51421
51641
|
},
|
|
51642
|
+
saveSiteChromeLookSelection: {
|
|
51643
|
+
path: "/sites/{siteId}/theme/site-chrome-look",
|
|
51644
|
+
method: "POST",
|
|
51645
|
+
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme],
|
|
51646
|
+
auth: "user",
|
|
51647
|
+
errors: [],
|
|
51648
|
+
responseKind: "json"
|
|
51649
|
+
},
|
|
51422
51650
|
uploadSiteLogo: {
|
|
51423
51651
|
path: "/storage/upload-site-logo",
|
|
51424
51652
|
method: "POST",
|
|
@@ -52842,6 +53070,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52842
53070
|
method: "POST",
|
|
52843
53071
|
tags: ["site-{siteId}"],
|
|
52844
53072
|
auth: "user",
|
|
53073
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN,
|
|
52845
53074
|
errors: [
|
|
52846
53075
|
"validation:invalid_input",
|
|
52847
53076
|
"auth:forbidden",
|
|
@@ -52856,6 +53085,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52856
53085
|
method: "POST",
|
|
52857
53086
|
tags: ["site-{siteId}"],
|
|
52858
53087
|
auth: "user",
|
|
53088
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN,
|
|
52859
53089
|
errors: [
|
|
52860
53090
|
"validation:invalid_input",
|
|
52861
53091
|
"auth:forbidden",
|
|
@@ -53165,6 +53395,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53165
53395
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53166
53396
|
auth: "user",
|
|
53167
53397
|
responseKind: "json",
|
|
53398
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53168
53399
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
53169
53400
|
},
|
|
53170
53401
|
getBookingPass: {
|
|
@@ -53180,6 +53411,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53180
53411
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53181
53412
|
auth: "user",
|
|
53182
53413
|
responseKind: "json",
|
|
53414
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53183
53415
|
errors: [
|
|
53184
53416
|
"validation:invalid_input",
|
|
53185
53417
|
"resource:not_found",
|
|
@@ -53192,6 +53424,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53192
53424
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53193
53425
|
auth: "user",
|
|
53194
53426
|
responseKind: "json",
|
|
53427
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53195
53428
|
errors: [
|
|
53196
53429
|
"validation:invalid_input",
|
|
53197
53430
|
"resource:not_found",
|
|
@@ -53247,6 +53480,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53247
53480
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53248
53481
|
auth: "user",
|
|
53249
53482
|
responseKind: "json",
|
|
53483
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53250
53484
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
53251
53485
|
},
|
|
53252
53486
|
getBookingMembership: {
|
|
@@ -53262,6 +53496,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53262
53496
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53263
53497
|
auth: "user",
|
|
53264
53498
|
responseKind: "json",
|
|
53499
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53265
53500
|
errors: [
|
|
53266
53501
|
"validation:invalid_input",
|
|
53267
53502
|
"resource:not_found",
|
|
@@ -53274,6 +53509,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53274
53509
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53275
53510
|
auth: "user",
|
|
53276
53511
|
responseKind: "json",
|
|
53512
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53277
53513
|
errors: [
|
|
53278
53514
|
"validation:invalid_input",
|
|
53279
53515
|
"resource:not_found",
|
|
@@ -53490,6 +53726,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53490
53726
|
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
53491
53727
|
auth: "user",
|
|
53492
53728
|
responseKind: "json",
|
|
53729
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53493
53730
|
errors: [
|
|
53494
53731
|
"validation:invalid_input",
|
|
53495
53732
|
"auth:forbidden",
|
|
@@ -53863,6 +54100,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53863
54100
|
auth: "admin",
|
|
53864
54101
|
responseKind: "json"
|
|
53865
54102
|
},
|
|
54103
|
+
adminScheduleBillingComponentEnd: {
|
|
54104
|
+
path: "/admin/sites/{siteId}/billing/components/{componentId}/end",
|
|
54105
|
+
method: "POST",
|
|
54106
|
+
tags: ["admin", "site-{siteId}", "billing"],
|
|
54107
|
+
auth: "admin",
|
|
54108
|
+
responseKind: "json",
|
|
54109
|
+
errors: []
|
|
54110
|
+
},
|
|
53866
54111
|
// Admin GSC/SEO endpoints
|
|
53867
54112
|
adminGscVerifyStart: {
|
|
53868
54113
|
path: "/admin/seo/gsc/properties/verify/start",
|
|
@@ -54587,6 +54832,13 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
54587
54832
|
auth: "public",
|
|
54588
54833
|
responseKind: "json"
|
|
54589
54834
|
},
|
|
54835
|
+
demoClaimMagicLink: {
|
|
54836
|
+
path: "/demo/auth/send-magic-link",
|
|
54837
|
+
method: "POST",
|
|
54838
|
+
auth: "public",
|
|
54839
|
+
responseKind: "json",
|
|
54840
|
+
errors: []
|
|
54841
|
+
},
|
|
54590
54842
|
previewExchangeCode: {
|
|
54591
54843
|
path: "/preview/auth/exchange",
|
|
54592
54844
|
method: "POST",
|
|
@@ -54745,61 +54997,74 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
54745
54997
|
}
|
|
54746
54998
|
};
|
|
54747
54999
|
|
|
54748
|
-
// ../api/src/
|
|
55000
|
+
// ../api/src/accessAdmin.ts
|
|
54749
55001
|
import { z as z64 } from "zod";
|
|
54750
|
-
var
|
|
54751
|
-
|
|
54752
|
-
|
|
54753
|
-
|
|
54754
|
-
|
|
54755
|
-
|
|
55002
|
+
var managedDomainAddOnPricingSnapshotSchema = z64.object({
|
|
55003
|
+
formulaVersion: z64.literal("managed-domain-overage-v1"),
|
|
55004
|
+
conversionRule: z64.literal("usd-to-gbp-1-to-1-v1"),
|
|
55005
|
+
registrarAnnualCost: z64.number().nonnegative(),
|
|
55006
|
+
registrarCurrency: z64.literal("USD"),
|
|
55007
|
+
includedAnnualAllowance: z64.number().nonnegative(),
|
|
55008
|
+
includedAnnualAllowanceCurrency: z64.literal("USD"),
|
|
55009
|
+
monthlyAmountCents: z64.number().int().nonnegative(),
|
|
55010
|
+
monthlyCurrency: z64.literal("gbp")
|
|
55011
|
+
});
|
|
55012
|
+
|
|
55013
|
+
// ../api/src/navigation/contracts.ts
|
|
55014
|
+
import { z as z65 } from "zod";
|
|
55015
|
+
var portalLinkPayloadSchema = z65.object({
|
|
55016
|
+
kind: z65.literal("portal"),
|
|
55017
|
+
path: z65.string().trim().startsWith("/").optional(),
|
|
55018
|
+
labels: z65.object({
|
|
55019
|
+
loggedOut: z65.string().trim().min(1).optional(),
|
|
55020
|
+
loggedIn: z65.string().trim().min(1).optional()
|
|
54756
55021
|
}).optional()
|
|
54757
55022
|
});
|
|
54758
|
-
var cartLinkLabelConfigSchema =
|
|
54759
|
-
|
|
54760
|
-
kind:
|
|
55023
|
+
var cartLinkLabelConfigSchema = z65.discriminatedUnion("kind", [
|
|
55024
|
+
z65.object({
|
|
55025
|
+
kind: z65.literal("icon-only")
|
|
54761
55026
|
}),
|
|
54762
|
-
|
|
54763
|
-
kind:
|
|
54764
|
-
label:
|
|
55027
|
+
z65.object({
|
|
55028
|
+
kind: z65.literal("icon-with-label"),
|
|
55029
|
+
label: z65.string().trim().min(1)
|
|
54765
55030
|
})
|
|
54766
55031
|
]);
|
|
54767
|
-
var cartLinkPayloadSchema =
|
|
54768
|
-
kind:
|
|
54769
|
-
badge:
|
|
55032
|
+
var cartLinkPayloadSchema = z65.object({
|
|
55033
|
+
kind: z65.literal("cart"),
|
|
55034
|
+
badge: z65.enum(["show-count", "hidden"]),
|
|
54770
55035
|
label: cartLinkLabelConfigSchema
|
|
54771
55036
|
});
|
|
54772
|
-
var internalLinkPayloadSchema =
|
|
54773
|
-
kind:
|
|
54774
|
-
routeId:
|
|
54775
|
-
entityId:
|
|
54776
|
-
entityType:
|
|
54777
|
-
href:
|
|
54778
|
-
title:
|
|
54779
|
-
typeLabel:
|
|
54780
|
-
contentTypeKey:
|
|
54781
|
-
contentTypeName:
|
|
54782
|
-
updatedAt:
|
|
55037
|
+
var internalLinkPayloadSchema = z65.object({
|
|
55038
|
+
kind: z65.literal("internal"),
|
|
55039
|
+
routeId: z65.string().uuid(),
|
|
55040
|
+
entityId: z65.string().uuid(),
|
|
55041
|
+
entityType: z65.enum(["page", "content"]),
|
|
55042
|
+
href: z65.string().min(1),
|
|
55043
|
+
title: z65.string().min(1),
|
|
55044
|
+
typeLabel: z65.string().min(1),
|
|
55045
|
+
contentTypeKey: z65.string().nullable().optional(),
|
|
55046
|
+
contentTypeName: z65.string().nullable().optional(),
|
|
55047
|
+
updatedAt: z65.string().nullable().optional()
|
|
54783
55048
|
}).passthrough();
|
|
54784
|
-
var externalLinkSchema2 =
|
|
54785
|
-
kind:
|
|
55049
|
+
var externalLinkSchema2 = z65.object({
|
|
55050
|
+
kind: z65.literal("external"),
|
|
54786
55051
|
// Navigation external links are expected to be absolute URLs.
|
|
54787
|
-
href:
|
|
55052
|
+
href: z65.string().url()
|
|
54788
55053
|
});
|
|
54789
|
-
var customLinkSchema2 =
|
|
54790
|
-
kind:
|
|
54791
|
-
href:
|
|
55054
|
+
var customLinkSchema2 = z65.object({
|
|
55055
|
+
kind: z65.literal("url"),
|
|
55056
|
+
href: z65.string().min(1)
|
|
54792
55057
|
});
|
|
54793
|
-
var pageLinkSchema2 =
|
|
54794
|
-
kind:
|
|
54795
|
-
identifier:
|
|
55058
|
+
var pageLinkSchema2 = z65.object({
|
|
55059
|
+
kind: z65.literal("page"),
|
|
55060
|
+
identifier: z65.string().min(1)
|
|
54796
55061
|
});
|
|
54797
|
-
var entryLinkSchema2 =
|
|
54798
|
-
kind:
|
|
54799
|
-
contentType:
|
|
54800
|
-
identifier:
|
|
55062
|
+
var entryLinkSchema2 = z65.object({
|
|
55063
|
+
kind: z65.literal("entry"),
|
|
55064
|
+
contentType: z65.string().min(1),
|
|
55065
|
+
identifier: z65.string().min(1)
|
|
54801
55066
|
});
|
|
54802
|
-
var linkPayloadSchema =
|
|
55067
|
+
var linkPayloadSchema = z65.discriminatedUnion("kind", [
|
|
54803
55068
|
internalLinkPayloadSchema,
|
|
54804
55069
|
pageLinkSchema2,
|
|
54805
55070
|
entryLinkSchema2,
|
|
@@ -54816,86 +55081,85 @@ var navigationLinkInputSchemaOptions = [
|
|
|
54816
55081
|
portalLinkPayloadSchema,
|
|
54817
55082
|
cartLinkPayloadSchema
|
|
54818
55083
|
];
|
|
54819
|
-
var navigationLinkInputSchema =
|
|
55084
|
+
var navigationLinkInputSchema = z65.discriminatedUnion(
|
|
54820
55085
|
"kind",
|
|
54821
55086
|
navigationLinkInputSchemaOptions
|
|
54822
55087
|
);
|
|
54823
55088
|
|
|
54824
55089
|
// ../api/src/sdkConfig/contracts.ts
|
|
54825
|
-
import { z as
|
|
55090
|
+
import { z as z66 } from "zod";
|
|
54826
55091
|
function unsafeRetypeZodSchema(schema) {
|
|
54827
55092
|
return schema;
|
|
54828
55093
|
}
|
|
54829
|
-
var navIdListSchema =
|
|
55094
|
+
var navIdListSchema = z66.preprocess((value) => {
|
|
54830
55095
|
if (!Array.isArray(value)) return void 0;
|
|
54831
55096
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
54832
55097
|
return filtered.length > 0 ? filtered : void 0;
|
|
54833
|
-
},
|
|
54834
|
-
var dashboardNavVisibilityBaseSchema =
|
|
54835
|
-
mode:
|
|
55098
|
+
}, z66.array(z66.string()).max(200).optional());
|
|
55099
|
+
var dashboardNavVisibilityBaseSchema = z66.object({
|
|
55100
|
+
mode: z66.enum(["augment", "restrict"]).optional(),
|
|
54836
55101
|
allowIds: navIdListSchema,
|
|
54837
55102
|
denyIds: navIdListSchema
|
|
54838
55103
|
}).strip();
|
|
54839
|
-
var dashboardNavVisibilityRolesSchema =
|
|
55104
|
+
var dashboardNavVisibilityRolesSchema = z66.object({
|
|
54840
55105
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
54841
55106
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
54842
|
-
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
54843
|
-
event_host: dashboardNavVisibilityBaseSchema.optional()
|
|
55107
|
+
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
54844
55108
|
}).strip().optional();
|
|
54845
55109
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
54846
55110
|
roles: dashboardNavVisibilityRolesSchema
|
|
54847
55111
|
}).strip();
|
|
54848
|
-
var dashboardNavigationConfigSchema =
|
|
55112
|
+
var dashboardNavigationConfigSchema = z66.object({
|
|
54849
55113
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
54850
55114
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
54851
55115
|
}).strip();
|
|
54852
|
-
var dashboardConfigSchema =
|
|
54853
|
-
previewEditingEnabled:
|
|
55116
|
+
var dashboardConfigSchema = z66.object({
|
|
55117
|
+
previewEditingEnabled: z66.boolean().optional(),
|
|
54854
55118
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
54855
55119
|
}).strip();
|
|
54856
55120
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
54857
55121
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
54858
|
-
var sdkLoaderEndpointSchema =
|
|
54859
|
-
var loaderParamBindingSchema =
|
|
54860
|
-
$bind:
|
|
54861
|
-
from:
|
|
54862
|
-
fallback:
|
|
55122
|
+
var sdkLoaderEndpointSchema = z66.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
55123
|
+
var loaderParamBindingSchema = z66.object({
|
|
55124
|
+
$bind: z66.object({
|
|
55125
|
+
from: z66.string().min(1, "Binding path is required"),
|
|
55126
|
+
fallback: z66.string().optional()
|
|
54863
55127
|
})
|
|
54864
55128
|
});
|
|
54865
|
-
var loaderParamValueSchema =
|
|
54866
|
-
|
|
54867
|
-
|
|
54868
|
-
|
|
55129
|
+
var loaderParamValueSchema = z66.union([
|
|
55130
|
+
z66.string(),
|
|
55131
|
+
z66.number(),
|
|
55132
|
+
z66.boolean(),
|
|
54869
55133
|
loaderParamBindingSchema
|
|
54870
55134
|
]);
|
|
54871
|
-
var sdkConfigLoaderSchema =
|
|
55135
|
+
var sdkConfigLoaderSchema = z66.object({
|
|
54872
55136
|
endpoint: sdkLoaderEndpointSchema,
|
|
54873
|
-
params:
|
|
54874
|
-
mode:
|
|
55137
|
+
params: z66.record(z66.string(), loaderParamValueSchema),
|
|
55138
|
+
mode: z66.enum(["server", "client"]).default("server")
|
|
54875
55139
|
});
|
|
54876
|
-
var sdkDataLoadersSchema =
|
|
54877
|
-
var sdkCustomBlockIdSchema =
|
|
55140
|
+
var sdkDataLoadersSchema = z66.record(z66.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
55141
|
+
var sdkCustomBlockIdSchema = z66.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
54878
55142
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
54879
55143
|
}).transform((value) => value);
|
|
54880
|
-
var sdkCustomBlockInputSchema =
|
|
55144
|
+
var sdkCustomBlockInputSchema = z66.object({
|
|
54881
55145
|
id: sdkCustomBlockIdSchema,
|
|
54882
|
-
title:
|
|
54883
|
-
titleSource:
|
|
54884
|
-
description:
|
|
55146
|
+
title: z66.string().min(1),
|
|
55147
|
+
titleSource: z66.union([z66.string().min(1), z66.array(z66.string().min(1)).min(1)]).optional(),
|
|
55148
|
+
description: z66.string().optional(),
|
|
54885
55149
|
category: blockCategoryEnum,
|
|
54886
|
-
icon:
|
|
54887
|
-
tags:
|
|
55150
|
+
icon: z66.string().optional(),
|
|
55151
|
+
tags: z66.array(z66.string()).optional(),
|
|
54888
55152
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
54889
55153
|
dataLoaders: sdkDataLoadersSchema,
|
|
54890
55154
|
layout: NodeSchema.optional(),
|
|
54891
|
-
variants:
|
|
54892
|
-
defaultVariant:
|
|
54893
|
-
variantOptions:
|
|
54894
|
-
|
|
54895
|
-
|
|
54896
|
-
label:
|
|
54897
|
-
description:
|
|
54898
|
-
icon:
|
|
55155
|
+
variants: z66.record(z66.string().min(1), NodeSchema).optional(),
|
|
55156
|
+
defaultVariant: z66.string().min(1).optional(),
|
|
55157
|
+
variantOptions: z66.record(
|
|
55158
|
+
z66.string().min(1),
|
|
55159
|
+
z66.object({
|
|
55160
|
+
label: z66.string().min(1).optional(),
|
|
55161
|
+
description: z66.string().min(1).optional(),
|
|
55162
|
+
icon: z66.string().min(1).optional()
|
|
54899
55163
|
})
|
|
54900
55164
|
).optional()
|
|
54901
55165
|
}).superRefine((data, ctx) => {
|
|
@@ -54905,7 +55169,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
54905
55169
|
const exists = data.fields.some((field) => field.id === source);
|
|
54906
55170
|
if (!exists) {
|
|
54907
55171
|
ctx.addIssue({
|
|
54908
|
-
code:
|
|
55172
|
+
code: z66.ZodIssueCode.custom,
|
|
54909
55173
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
54910
55174
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
54911
55175
|
});
|
|
@@ -54914,7 +55178,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
54914
55178
|
}
|
|
54915
55179
|
if (data.layout && data.variants) {
|
|
54916
55180
|
ctx.addIssue({
|
|
54917
|
-
code:
|
|
55181
|
+
code: z66.ZodIssueCode.custom,
|
|
54918
55182
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
54919
55183
|
path: ["variants"]
|
|
54920
55184
|
});
|
|
@@ -54923,14 +55187,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
54923
55187
|
const keys = Object.keys(data.variants);
|
|
54924
55188
|
if (keys.length === 0) {
|
|
54925
55189
|
ctx.addIssue({
|
|
54926
|
-
code:
|
|
55190
|
+
code: z66.ZodIssueCode.custom,
|
|
54927
55191
|
message: "`variants` must contain at least one variant key",
|
|
54928
55192
|
path: ["variants"]
|
|
54929
55193
|
});
|
|
54930
55194
|
}
|
|
54931
55195
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
54932
55196
|
ctx.addIssue({
|
|
54933
|
-
code:
|
|
55197
|
+
code: z66.ZodIssueCode.custom,
|
|
54934
55198
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
54935
55199
|
path: ["defaultVariant"]
|
|
54936
55200
|
});
|
|
@@ -54939,7 +55203,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
54939
55203
|
for (const key of Object.keys(data.variantOptions)) {
|
|
54940
55204
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
54941
55205
|
ctx.addIssue({
|
|
54942
|
-
code:
|
|
55206
|
+
code: z66.ZodIssueCode.custom,
|
|
54943
55207
|
message: "`variantOptions` key must exist in `variants`",
|
|
54944
55208
|
path: ["variantOptions", key]
|
|
54945
55209
|
});
|
|
@@ -54948,74 +55212,74 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
54948
55212
|
}
|
|
54949
55213
|
}
|
|
54950
55214
|
});
|
|
54951
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
55215
|
+
var sdkBlockFieldExtensionInputSchema = z66.object({
|
|
54952
55216
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
54953
55217
|
});
|
|
54954
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
54955
|
-
|
|
55218
|
+
var sdkBlockFieldExtensionsInputSchema = z66.record(
|
|
55219
|
+
z66.string().min(1),
|
|
54956
55220
|
sdkBlockFieldExtensionInputSchema
|
|
54957
55221
|
);
|
|
54958
|
-
var sdkThemePaletteSchema =
|
|
54959
|
-
var sdkThemeConfigSchema =
|
|
55222
|
+
var sdkThemePaletteSchema = z66.record(z66.string(), z66.string());
|
|
55223
|
+
var sdkThemeConfigSchema = z66.object({
|
|
54960
55224
|
palette: sdkThemePaletteSchema
|
|
54961
55225
|
});
|
|
54962
|
-
var sdkSectionBackgroundSchema =
|
|
54963
|
-
id:
|
|
54964
|
-
label:
|
|
54965
|
-
token:
|
|
55226
|
+
var sdkSectionBackgroundSchema = z66.object({
|
|
55227
|
+
id: z66.string().min(1),
|
|
55228
|
+
label: z66.string().min(1),
|
|
55229
|
+
token: z66.string().min(1)
|
|
54966
55230
|
});
|
|
54967
|
-
var sdkSectionOptionsConfigSchema =
|
|
54968
|
-
backgroundColor:
|
|
54969
|
-
backgroundImage:
|
|
54970
|
-
backgroundGradient:
|
|
54971
|
-
spacing:
|
|
54972
|
-
textColor:
|
|
55231
|
+
var sdkSectionOptionsConfigSchema = z66.object({
|
|
55232
|
+
backgroundColor: z66.boolean().optional(),
|
|
55233
|
+
backgroundImage: z66.boolean().optional(),
|
|
55234
|
+
backgroundGradient: z66.boolean().optional(),
|
|
55235
|
+
spacing: z66.union([z66.array(z66.enum(["compact", "default", "spacious"])), z66.boolean()]).optional(),
|
|
55236
|
+
textColor: z66.boolean().optional()
|
|
54973
55237
|
});
|
|
54974
|
-
var sdkContainerOptionsConfigSchema =
|
|
54975
|
-
maxWidth:
|
|
54976
|
-
alignment:
|
|
55238
|
+
var sdkContainerOptionsConfigSchema = z66.object({
|
|
55239
|
+
maxWidth: z66.union([z66.array(z66.enum(["narrow", "default", "wide", "full"])), z66.boolean()]).optional(),
|
|
55240
|
+
alignment: z66.union([z66.array(z66.enum(["left", "center", "right"])), z66.boolean()]).optional()
|
|
54977
55241
|
});
|
|
54978
|
-
var sdkSiteStyleConfigSchema =
|
|
54979
|
-
sectionBackgrounds:
|
|
55242
|
+
var sdkSiteStyleConfigSchema = z66.object({
|
|
55243
|
+
sectionBackgrounds: z66.array(sdkSectionBackgroundSchema).optional(),
|
|
54980
55244
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
54981
55245
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
54982
55246
|
});
|
|
54983
|
-
var sdkSiteLayoutConfigSchema =
|
|
54984
|
-
footerBlocks:
|
|
54985
|
-
|
|
54986
|
-
id:
|
|
54987
|
-
kind:
|
|
54988
|
-
content:
|
|
55247
|
+
var sdkSiteLayoutConfigSchema = z66.object({
|
|
55248
|
+
footerBlocks: z66.array(
|
|
55249
|
+
z66.object({
|
|
55250
|
+
id: z66.string().min(1).optional(),
|
|
55251
|
+
kind: z66.string().min(1),
|
|
55252
|
+
content: z66.record(z66.string(), z66.unknown()).optional()
|
|
54989
55253
|
})
|
|
54990
55254
|
).optional()
|
|
54991
55255
|
});
|
|
54992
|
-
var sdkFieldSelectOptionSchema =
|
|
54993
|
-
value:
|
|
54994
|
-
label:
|
|
55256
|
+
var sdkFieldSelectOptionSchema = z66.object({
|
|
55257
|
+
value: z66.string(),
|
|
55258
|
+
label: z66.string()
|
|
54995
55259
|
});
|
|
54996
|
-
var sdkBlockFieldConfigSchema =
|
|
54997
|
-
options:
|
|
55260
|
+
var sdkBlockFieldConfigSchema = z66.object({
|
|
55261
|
+
options: z66.array(sdkFieldSelectOptionSchema).optional()
|
|
54998
55262
|
});
|
|
54999
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
55000
|
-
|
|
55263
|
+
var sdkBlockFieldOptionsMapSchema = z66.record(
|
|
55264
|
+
z66.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
55001
55265
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
55002
55266
|
}),
|
|
55003
|
-
|
|
55267
|
+
z66.record(z66.string().min(1), sdkBlockFieldConfigSchema)
|
|
55004
55268
|
).optional();
|
|
55005
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
55006
|
-
blocks:
|
|
55269
|
+
var sdkContentTypeTemplateConfigSchema = z66.object({
|
|
55270
|
+
blocks: z66.array(z66.unknown())
|
|
55007
55271
|
}).passthrough();
|
|
55008
|
-
var sdkContentTypeConfigSchema =
|
|
55009
|
-
key:
|
|
55010
|
-
fields:
|
|
55272
|
+
var sdkContentTypeConfigSchema = z66.object({
|
|
55273
|
+
key: z66.string().min(1),
|
|
55274
|
+
fields: z66.array(z66.unknown()),
|
|
55011
55275
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
55012
55276
|
}).passthrough();
|
|
55013
|
-
var sdkContentConfigSchema =
|
|
55014
|
-
contentTypes:
|
|
55015
|
-
pages:
|
|
55016
|
-
entries:
|
|
55017
|
-
navigationMenus:
|
|
55018
|
-
settings:
|
|
55277
|
+
var sdkContentConfigSchema = z66.object({
|
|
55278
|
+
contentTypes: z66.array(sdkContentTypeConfigSchema).optional(),
|
|
55279
|
+
pages: z66.array(z66.unknown()).optional(),
|
|
55280
|
+
entries: z66.array(z66.unknown()).optional(),
|
|
55281
|
+
navigationMenus: z66.array(z66.unknown()).optional(),
|
|
55282
|
+
settings: z66.unknown().optional()
|
|
55019
55283
|
}).passthrough();
|
|
55020
55284
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
55021
55285
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -55023,46 +55287,69 @@ var SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH = 500;
|
|
|
55023
55287
|
var SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH = 120;
|
|
55024
55288
|
var SDK_WORKFLOW_ENDPOINT_MAX_LENGTH = 500;
|
|
55025
55289
|
var SDK_WORKFLOW_TRIGGER_MAX_COUNT = 5;
|
|
55290
|
+
var SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH = 120;
|
|
55291
|
+
var SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT = 10;
|
|
55026
55292
|
var SDK_WORKFLOW_MAX_COUNT = 50;
|
|
55027
55293
|
var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
55028
55294
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
55029
55295
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
55030
55296
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
55031
|
-
var sdkWorkflowIdSchema =
|
|
55297
|
+
var sdkWorkflowIdSchema = z66.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
55032
55298
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
55033
55299
|
});
|
|
55034
|
-
var sdkWorkflowEndpointSchema =
|
|
55035
|
-
var sdkWorkflowManualTriggerSchema =
|
|
55036
|
-
type:
|
|
55300
|
+
var sdkWorkflowEndpointSchema = z66.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
|
|
55301
|
+
var sdkWorkflowManualTriggerSchema = z66.object({
|
|
55302
|
+
type: z66.literal("manual")
|
|
55303
|
+
}).strict();
|
|
55304
|
+
var sdkWorkflowTriggerFieldSchema = z66.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
55305
|
+
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
55306
|
+
});
|
|
55307
|
+
var sdkWorkflowFieldChangedConditionSchema = z66.object({
|
|
55308
|
+
field: sdkWorkflowTriggerFieldSchema,
|
|
55309
|
+
changed: z66.literal(true)
|
|
55037
55310
|
}).strict();
|
|
55038
|
-
var
|
|
55039
|
-
|
|
55311
|
+
var sdkWorkflowFieldEmptyConditionSchema = z66.object({
|
|
55312
|
+
field: sdkWorkflowTriggerFieldSchema,
|
|
55313
|
+
isEmpty: z66.boolean()
|
|
55314
|
+
}).strict();
|
|
55315
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z66.object({
|
|
55316
|
+
type: z66.literal("entry.draft.updated"),
|
|
55317
|
+
when: z66.array(
|
|
55318
|
+
z66.union([
|
|
55319
|
+
sdkWorkflowFieldChangedConditionSchema,
|
|
55320
|
+
sdkWorkflowFieldEmptyConditionSchema
|
|
55321
|
+
])
|
|
55322
|
+
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
55323
|
+
}).strict();
|
|
55324
|
+
var sdkWorkflowTriggerSchema = z66.discriminatedUnion("type", [
|
|
55325
|
+
sdkWorkflowManualTriggerSchema,
|
|
55326
|
+
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
55040
55327
|
]);
|
|
55041
|
-
var sdkWorkflowConfirmationSchema =
|
|
55042
|
-
title:
|
|
55043
|
-
body:
|
|
55328
|
+
var sdkWorkflowConfirmationSchema = z66.object({
|
|
55329
|
+
title: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
55330
|
+
body: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
55044
55331
|
}).strict();
|
|
55045
|
-
var sdkWorkflowConfigSchema =
|
|
55332
|
+
var sdkWorkflowConfigSchema = z66.object({
|
|
55046
55333
|
id: sdkWorkflowIdSchema,
|
|
55047
|
-
title:
|
|
55048
|
-
description:
|
|
55049
|
-
contentType:
|
|
55334
|
+
title: z66.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
55335
|
+
description: z66.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
55336
|
+
contentType: z66.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
55050
55337
|
endpoint: sdkWorkflowEndpointSchema,
|
|
55051
|
-
triggers:
|
|
55338
|
+
triggers: z66.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
55052
55339
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
55053
55340
|
}).strict();
|
|
55054
|
-
var sdkWorkflowsSchema =
|
|
55341
|
+
var sdkWorkflowsSchema = z66.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
55055
55342
|
const ids = workflows.map((workflow) => workflow.id);
|
|
55056
55343
|
return ids.length === new Set(ids).size;
|
|
55057
55344
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
55058
|
-
var riverbankSiteConfigInputSchema =
|
|
55059
|
-
siteId:
|
|
55060
|
-
previewUrl:
|
|
55061
|
-
liveUrl:
|
|
55345
|
+
var riverbankSiteConfigInputSchema = z66.object({
|
|
55346
|
+
siteId: z66.string().uuid(),
|
|
55347
|
+
previewUrl: z66.string().url().optional(),
|
|
55348
|
+
liveUrl: z66.string().url().optional(),
|
|
55062
55349
|
theme: sdkThemeConfigSchema.optional(),
|
|
55063
55350
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
55064
55351
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
55065
|
-
customBlocks:
|
|
55352
|
+
customBlocks: z66.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
55066
55353
|
const ids = blocks.map((b) => b.id);
|
|
55067
55354
|
return ids.length === new Set(ids).size;
|
|
55068
55355
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -55070,48 +55357,51 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
55070
55357
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
55071
55358
|
workflows: sdkWorkflowsSchema,
|
|
55072
55359
|
content: sdkContentConfigSchema.optional(),
|
|
55073
|
-
contentDir:
|
|
55074
|
-
sync:
|
|
55075
|
-
existingEntries:
|
|
55360
|
+
contentDir: z66.string().optional(),
|
|
55361
|
+
sync: z66.object({
|
|
55362
|
+
existingEntries: z66.enum(["skip", "update"]).optional()
|
|
55076
55363
|
}).optional(),
|
|
55077
|
-
deploy:
|
|
55078
|
-
verifyCommand:
|
|
55079
|
-
prebuildOutput:
|
|
55364
|
+
deploy: z66.object({
|
|
55365
|
+
verifyCommand: z66.string().optional(),
|
|
55366
|
+
prebuildOutput: z66.string().optional()
|
|
55080
55367
|
}).optional(),
|
|
55081
|
-
themeSource:
|
|
55082
|
-
activeTheme:
|
|
55083
|
-
enablePortal:
|
|
55368
|
+
themeSource: z66.enum(["local", "cms"]).optional(),
|
|
55369
|
+
activeTheme: z66.string().optional(),
|
|
55370
|
+
enablePortal: z66.boolean().optional(),
|
|
55084
55371
|
dashboard: dashboardConfigSchema.optional()
|
|
55085
55372
|
}).strict();
|
|
55086
|
-
var pushSdkConfigBodySchema =
|
|
55373
|
+
var pushSdkConfigBodySchema = z66.object({
|
|
55087
55374
|
config: riverbankSiteConfigInputSchema,
|
|
55088
|
-
forceContentTypes:
|
|
55375
|
+
forceContentTypes: z66.boolean().optional()
|
|
55089
55376
|
}).strict();
|
|
55090
55377
|
|
|
55091
55378
|
// ../api/src/siteOnboarding.ts
|
|
55092
|
-
import { z as
|
|
55379
|
+
import { z as z67 } from "zod";
|
|
55093
55380
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
55094
55381
|
configure_appointments: {
|
|
55095
55382
|
requirementId: "configure_appointments",
|
|
55096
55383
|
reason: "launch_anyway"
|
|
55097
55384
|
}
|
|
55098
55385
|
};
|
|
55099
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
55386
|
+
var acknowledgeLaunchRequirementRequestSchema = z67.discriminatedUnion(
|
|
55100
55387
|
"requirementId",
|
|
55101
55388
|
[
|
|
55102
|
-
|
|
55103
|
-
requirementId:
|
|
55389
|
+
z67.object({
|
|
55390
|
+
requirementId: z67.literal("review_generated_site")
|
|
55104
55391
|
}),
|
|
55105
|
-
|
|
55106
|
-
requirementId:
|
|
55392
|
+
z67.object({
|
|
55393
|
+
requirementId: z67.literal(
|
|
55107
55394
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
55108
55395
|
),
|
|
55109
|
-
overrideReason:
|
|
55396
|
+
overrideReason: z67.literal(
|
|
55110
55397
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
55111
55398
|
)
|
|
55112
55399
|
})
|
|
55113
55400
|
]
|
|
55114
55401
|
);
|
|
55402
|
+
var goLiveSiteRequestSchema = z67.object({
|
|
55403
|
+
acceptExtraSiteCharge: z67.boolean().optional()
|
|
55404
|
+
});
|
|
55115
55405
|
|
|
55116
55406
|
// ../surfaces/src/index.ts
|
|
55117
55407
|
var SURFACE_IDS = ["core", "macadamia"];
|
|
@@ -55291,79 +55581,94 @@ function isRecord4(value) {
|
|
|
55291
55581
|
}
|
|
55292
55582
|
|
|
55293
55583
|
// ../api/src/appointmentSetup.ts
|
|
55294
|
-
import { z as
|
|
55295
|
-
var appointmentSetupRefSchema =
|
|
55296
|
-
|
|
55297
|
-
|
|
55584
|
+
import { z as z68 } from "zod";
|
|
55585
|
+
var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
|
|
55586
|
+
z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
|
|
55587
|
+
z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
|
|
55298
55588
|
]);
|
|
55299
|
-
var appointmentSetupVenueChoiceSchema =
|
|
55300
|
-
|
|
55301
|
-
|
|
55302
|
-
|
|
55303
|
-
kind:
|
|
55304
|
-
draftId:
|
|
55305
|
-
title:
|
|
55306
|
-
description:
|
|
55307
|
-
timezone:
|
|
55308
|
-
addressJson:
|
|
55309
|
-
locationJson:
|
|
55589
|
+
var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
|
|
55590
|
+
z68.object({ kind: z68.literal("none") }),
|
|
55591
|
+
z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
|
|
55592
|
+
z68.object({
|
|
55593
|
+
kind: z68.literal("create"),
|
|
55594
|
+
draftId: z68.string().min(1),
|
|
55595
|
+
title: z68.string().trim().min(1),
|
|
55596
|
+
description: z68.string().nullable(),
|
|
55597
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
55598
|
+
addressJson: z68.record(z68.string(), z68.unknown()),
|
|
55599
|
+
locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
|
|
55310
55600
|
})
|
|
55311
55601
|
]);
|
|
55312
|
-
var appointmentSetupPaymentDraftSchema =
|
|
55313
|
-
priceType:
|
|
55314
|
-
});
|
|
55315
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
55316
|
-
|
|
55317
|
-
|
|
55318
|
-
kind:
|
|
55319
|
-
resourceRefs:
|
|
55602
|
+
var appointmentSetupPaymentDraftSchema = z68.object({
|
|
55603
|
+
priceType: z68.union([z68.literal("free"), z68.literal("paid")])
|
|
55604
|
+
});
|
|
55605
|
+
var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
|
|
55606
|
+
z68.object({ kind: z68.literal("all_practitioners") }),
|
|
55607
|
+
z68.object({
|
|
55608
|
+
kind: z68.literal("selected_practitioners"),
|
|
55609
|
+
resourceRefs: z68.array(appointmentSetupRefSchema)
|
|
55320
55610
|
})
|
|
55321
55611
|
]);
|
|
55322
|
-
var appointmentSetupServiceDraftSchema =
|
|
55612
|
+
var appointmentSetupServiceDraftSchema = z68.object({
|
|
55323
55613
|
ref: appointmentSetupRefSchema,
|
|
55324
|
-
title:
|
|
55325
|
-
description:
|
|
55326
|
-
durationMinutes:
|
|
55327
|
-
priceAmount:
|
|
55328
|
-
isActive:
|
|
55329
|
-
locationType:
|
|
55330
|
-
|
|
55331
|
-
|
|
55332
|
-
|
|
55614
|
+
title: z68.string().trim().min(1),
|
|
55615
|
+
description: z68.string().nullable(),
|
|
55616
|
+
durationMinutes: z68.number().int().positive(),
|
|
55617
|
+
priceAmount: z68.number().int().nonnegative().nullable(),
|
|
55618
|
+
isActive: z68.boolean(),
|
|
55619
|
+
locationType: z68.union([
|
|
55620
|
+
z68.literal("virtual"),
|
|
55621
|
+
z68.literal("in_person"),
|
|
55622
|
+
z68.literal("hybrid")
|
|
55333
55623
|
]),
|
|
55334
55624
|
venue: appointmentSetupVenueChoiceSchema,
|
|
55335
|
-
timezone:
|
|
55625
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
55336
55626
|
payment: appointmentSetupPaymentDraftSchema,
|
|
55337
55627
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
55628
|
+
}).superRefine((service, ctx) => {
|
|
55629
|
+
if (service.payment.priceType === "paid" && (service.priceAmount === null || service.priceAmount <= 0)) {
|
|
55630
|
+
ctx.addIssue({
|
|
55631
|
+
code: "custom",
|
|
55632
|
+
path: ["priceAmount"],
|
|
55633
|
+
message: "Paid appointment services need a positive price."
|
|
55634
|
+
});
|
|
55635
|
+
}
|
|
55636
|
+
if (service.payment.priceType === "free" && service.priceAmount !== null && service.priceAmount > 0) {
|
|
55637
|
+
ctx.addIssue({
|
|
55638
|
+
code: "custom",
|
|
55639
|
+
path: ["priceAmount"],
|
|
55640
|
+
message: "Free appointment services cannot carry a positive price."
|
|
55641
|
+
});
|
|
55642
|
+
}
|
|
55338
55643
|
});
|
|
55339
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
55644
|
+
var appointmentSetupPractitionerDraftSchema = z68.object({
|
|
55340
55645
|
ref: appointmentSetupRefSchema,
|
|
55341
|
-
displayName:
|
|
55342
|
-
bio:
|
|
55343
|
-
timezone:
|
|
55344
|
-
colorHex:
|
|
55345
|
-
});
|
|
55346
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
55347
|
-
weekday:
|
|
55348
|
-
startTime:
|
|
55349
|
-
endTime:
|
|
55350
|
-
});
|
|
55351
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
55352
|
-
kind:
|
|
55646
|
+
displayName: z68.string().trim().min(1),
|
|
55647
|
+
bio: z68.string().nullable(),
|
|
55648
|
+
timezone: z68.string().trim().min(1),
|
|
55649
|
+
colorHex: z68.string().nullable()
|
|
55650
|
+
});
|
|
55651
|
+
var appointmentSetupWeeklyWindowDraftSchema = z68.object({
|
|
55652
|
+
weekday: z68.number().int().min(0).max(6),
|
|
55653
|
+
startTime: z68.string(),
|
|
55654
|
+
endTime: z68.string()
|
|
55655
|
+
});
|
|
55656
|
+
var appointmentSetupAvailabilityDraftSchema = z68.object({
|
|
55657
|
+
kind: z68.literal("weekly_windows"),
|
|
55353
55658
|
resourceRef: appointmentSetupRefSchema,
|
|
55354
55659
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
55355
|
-
windows:
|
|
55660
|
+
windows: z68.array(appointmentSetupWeeklyWindowDraftSchema)
|
|
55356
55661
|
});
|
|
55357
55662
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
55358
55663
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
55359
|
-
var appointmentSetupBookingNoticeSchema =
|
|
55360
|
-
minLeadMinutes:
|
|
55361
|
-
maxBookingNoticeMinutes:
|
|
55362
|
-
});
|
|
55363
|
-
var applyAppointmentSetupRequestSchema =
|
|
55364
|
-
services:
|
|
55365
|
-
practitioners:
|
|
55366
|
-
availability:
|
|
55664
|
+
var appointmentSetupBookingNoticeSchema = z68.object({
|
|
55665
|
+
minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
55666
|
+
maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
55667
|
+
});
|
|
55668
|
+
var applyAppointmentSetupRequestSchema = z68.object({
|
|
55669
|
+
services: z68.array(appointmentSetupServiceDraftSchema),
|
|
55670
|
+
practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
|
|
55671
|
+
availability: z68.array(appointmentSetupAvailabilityDraftSchema),
|
|
55367
55672
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
55368
55673
|
});
|
|
55369
55674
|
|
|
@@ -55396,24 +55701,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
55396
55701
|
];
|
|
55397
55702
|
|
|
55398
55703
|
// ../api/src/siteBanner.ts
|
|
55399
|
-
import { z as
|
|
55704
|
+
import { z as z69 } from "zod";
|
|
55400
55705
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
55401
55706
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
55402
55707
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
55403
55708
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
55404
|
-
var siteBannerScopeSchema =
|
|
55405
|
-
var siteBannerToneSchema =
|
|
55406
|
-
var siteBannerBodySchema =
|
|
55407
|
-
var siteBannerCtaSchema =
|
|
55408
|
-
label:
|
|
55709
|
+
var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
|
|
55710
|
+
var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
|
|
55711
|
+
var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
|
|
55712
|
+
var siteBannerCtaSchema = z69.object({
|
|
55713
|
+
label: z69.string().trim().min(1),
|
|
55409
55714
|
link: linkPayloadSchema
|
|
55410
55715
|
});
|
|
55411
|
-
var siteBannerSettingsSchema =
|
|
55412
|
-
|
|
55413
|
-
enabled:
|
|
55716
|
+
var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
|
|
55717
|
+
z69.object({
|
|
55718
|
+
enabled: z69.literal(false)
|
|
55414
55719
|
}),
|
|
55415
|
-
|
|
55416
|
-
enabled:
|
|
55720
|
+
z69.object({
|
|
55721
|
+
enabled: z69.literal(true),
|
|
55417
55722
|
scope: siteBannerScopeSchema,
|
|
55418
55723
|
tone: siteBannerToneSchema,
|
|
55419
55724
|
body: siteBannerBodySchema,
|
|
@@ -55427,7 +55732,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
55427
55732
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
55428
55733
|
for (const issue2 of analysis.issues) {
|
|
55429
55734
|
ctx.addIssue({
|
|
55430
|
-
code:
|
|
55735
|
+
code: z69.ZodIssueCode.custom,
|
|
55431
55736
|
path: ["body"],
|
|
55432
55737
|
message: siteBannerBodyIssueMessage(issue2)
|
|
55433
55738
|
});
|
|
@@ -55616,71 +55921,71 @@ function collectText(node) {
|
|
|
55616
55921
|
}
|
|
55617
55922
|
|
|
55618
55923
|
// ../api/src/aiPlayground.ts
|
|
55619
|
-
import { z as
|
|
55620
|
-
var Rfc6902PatchOp =
|
|
55924
|
+
import { z as z70 } from "zod";
|
|
55925
|
+
var Rfc6902PatchOp = z70.discriminatedUnion("op", [
|
|
55621
55926
|
// Standard RFC-6902 operations
|
|
55622
|
-
|
|
55623
|
-
op:
|
|
55624
|
-
path:
|
|
55625
|
-
value:
|
|
55927
|
+
z70.object({
|
|
55928
|
+
op: z70.literal("add"),
|
|
55929
|
+
path: z70.string(),
|
|
55930
|
+
value: z70.unknown()
|
|
55626
55931
|
}),
|
|
55627
|
-
|
|
55628
|
-
op:
|
|
55629
|
-
path:
|
|
55932
|
+
z70.object({
|
|
55933
|
+
op: z70.literal("remove"),
|
|
55934
|
+
path: z70.string()
|
|
55630
55935
|
}),
|
|
55631
|
-
|
|
55632
|
-
op:
|
|
55633
|
-
path:
|
|
55634
|
-
value:
|
|
55936
|
+
z70.object({
|
|
55937
|
+
op: z70.literal("replace"),
|
|
55938
|
+
path: z70.string(),
|
|
55939
|
+
value: z70.unknown()
|
|
55635
55940
|
}),
|
|
55636
|
-
|
|
55637
|
-
op:
|
|
55638
|
-
from:
|
|
55639
|
-
path:
|
|
55941
|
+
z70.object({
|
|
55942
|
+
op: z70.literal("move"),
|
|
55943
|
+
from: z70.string(),
|
|
55944
|
+
path: z70.string()
|
|
55640
55945
|
}),
|
|
55641
|
-
|
|
55642
|
-
op:
|
|
55643
|
-
from:
|
|
55644
|
-
path:
|
|
55946
|
+
z70.object({
|
|
55947
|
+
op: z70.literal("copy"),
|
|
55948
|
+
from: z70.string(),
|
|
55949
|
+
path: z70.string()
|
|
55645
55950
|
}),
|
|
55646
55951
|
// Block-level operations (Phase 2)
|
|
55647
|
-
|
|
55648
|
-
op:
|
|
55649
|
-
blockKind:
|
|
55650
|
-
afterBlockId:
|
|
55651
|
-
content:
|
|
55652
|
-
rationale:
|
|
55952
|
+
z70.object({
|
|
55953
|
+
op: z70.literal("add_block"),
|
|
55954
|
+
blockKind: z70.string(),
|
|
55955
|
+
afterBlockId: z70.string().nullable(),
|
|
55956
|
+
content: z70.record(z70.string(), z70.unknown()),
|
|
55957
|
+
rationale: z70.string()
|
|
55653
55958
|
}),
|
|
55654
|
-
|
|
55655
|
-
op:
|
|
55656
|
-
blockId:
|
|
55657
|
-
rationale:
|
|
55959
|
+
z70.object({
|
|
55960
|
+
op: z70.literal("delete_block"),
|
|
55961
|
+
blockId: z70.string(),
|
|
55962
|
+
rationale: z70.string()
|
|
55658
55963
|
}),
|
|
55659
|
-
|
|
55660
|
-
op:
|
|
55661
|
-
blockId:
|
|
55662
|
-
afterBlockId:
|
|
55663
|
-
rationale:
|
|
55964
|
+
z70.object({
|
|
55965
|
+
op: z70.literal("reorder_block"),
|
|
55966
|
+
blockId: z70.string(),
|
|
55967
|
+
afterBlockId: z70.string().nullable(),
|
|
55968
|
+
rationale: z70.string()
|
|
55664
55969
|
})
|
|
55665
55970
|
]);
|
|
55666
|
-
var PlaygroundProposeRequest =
|
|
55667
|
-
request:
|
|
55971
|
+
var PlaygroundProposeRequest = z70.object({
|
|
55972
|
+
request: z70.string().min(1).max(2e3)
|
|
55668
55973
|
});
|
|
55669
|
-
var MultiPagePatchEnvelope =
|
|
55670
|
-
pageId:
|
|
55671
|
-
blockId:
|
|
55974
|
+
var MultiPagePatchEnvelope = z70.object({
|
|
55975
|
+
pageId: z70.string(),
|
|
55976
|
+
blockId: z70.string().optional(),
|
|
55672
55977
|
// Not present for page-level ops
|
|
55673
|
-
blockKind:
|
|
55674
|
-
blockPurpose:
|
|
55675
|
-
ops:
|
|
55676
|
-
rationale:
|
|
55677
|
-
currentContent:
|
|
55678
|
-
});
|
|
55679
|
-
var MultiPageUpdateResponse =
|
|
55680
|
-
patches:
|
|
55681
|
-
assistantMessage:
|
|
55682
|
-
pagesModified:
|
|
55683
|
-
toolCallsUsed:
|
|
55978
|
+
blockKind: z70.string().optional(),
|
|
55979
|
+
blockPurpose: z70.string().optional().nullable(),
|
|
55980
|
+
ops: z70.array(Rfc6902PatchOp),
|
|
55981
|
+
rationale: z70.string(),
|
|
55982
|
+
currentContent: z70.record(z70.string(), z70.unknown()).optional()
|
|
55983
|
+
});
|
|
55984
|
+
var MultiPageUpdateResponse = z70.object({
|
|
55985
|
+
patches: z70.array(MultiPagePatchEnvelope),
|
|
55986
|
+
assistantMessage: z70.string(),
|
|
55987
|
+
pagesModified: z70.number(),
|
|
55988
|
+
toolCallsUsed: z70.number()
|
|
55684
55989
|
});
|
|
55685
55990
|
|
|
55686
55991
|
// src/rendering/components/Block.shared.tsx
|