@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",
|
|
@@ -48974,6 +49155,17 @@ function normalizeLoaderParams(endpoint, params, context) {
|
|
|
48974
49155
|
// ../blocks/src/primitives/content/primitives.tsx
|
|
48975
49156
|
var RichText2 = RichText;
|
|
48976
49157
|
|
|
49158
|
+
// ../api/src/apiEndpointTypes.ts
|
|
49159
|
+
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
49160
|
+
if (publicMessage.trim() === "") {
|
|
49161
|
+
throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
49162
|
+
}
|
|
49163
|
+
return {
|
|
49164
|
+
classification,
|
|
49165
|
+
publicMessage
|
|
49166
|
+
};
|
|
49167
|
+
}
|
|
49168
|
+
|
|
48977
49169
|
// ../api/src/cache-tags.ts
|
|
48978
49170
|
var TAG_TEMPLATES = {
|
|
48979
49171
|
siteCollection: "riverbank:site",
|
|
@@ -49004,6 +49196,18 @@ var TAG_TEMPLATES = {
|
|
|
49004
49196
|
};
|
|
49005
49197
|
|
|
49006
49198
|
// ../api/src/endpoints.ts
|
|
49199
|
+
var DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy(
|
|
49200
|
+
"blocked-hidden",
|
|
49201
|
+
"This action is not available in demo sites."
|
|
49202
|
+
);
|
|
49203
|
+
var DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy(
|
|
49204
|
+
"blocked-disabled",
|
|
49205
|
+
"This setting is disabled in demo sites."
|
|
49206
|
+
);
|
|
49207
|
+
var DEMO_MUTATION_INTERNAL_ONLY = blockedDemoMutationPolicy(
|
|
49208
|
+
"internal-only",
|
|
49209
|
+
"This internal operation is not available in demo sites."
|
|
49210
|
+
);
|
|
49007
49211
|
var ENDPOINT_DEFINITIONS = {
|
|
49008
49212
|
// AI endpoints - no cache due to dynamic nature
|
|
49009
49213
|
aiContentUpdateChat: {
|
|
@@ -49120,7 +49324,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49120
49324
|
path: "/sites/{siteId}/ai/generate",
|
|
49121
49325
|
method: "POST",
|
|
49122
49326
|
auth: "user",
|
|
49123
|
-
responseKind: "json"
|
|
49327
|
+
responseKind: "json",
|
|
49328
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49124
49329
|
},
|
|
49125
49330
|
getOnboardingPreviewStatus: {
|
|
49126
49331
|
path: "/public/sites/{siteId}/onboarding/preview-status",
|
|
@@ -49141,7 +49346,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49141
49346
|
method: "POST",
|
|
49142
49347
|
auth: "user",
|
|
49143
49348
|
errors: [],
|
|
49144
|
-
responseKind: "json"
|
|
49349
|
+
responseKind: "json",
|
|
49350
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
|
|
49145
49351
|
},
|
|
49146
49352
|
goLiveSite: {
|
|
49147
49353
|
path: "/sites/{siteId}/launch/go-live",
|
|
@@ -49210,20 +49416,23 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49210
49416
|
path: "/sites/{siteId}/ai/site-wizard/goals",
|
|
49211
49417
|
method: "POST",
|
|
49212
49418
|
auth: "user",
|
|
49213
|
-
responseKind: "json"
|
|
49419
|
+
responseKind: "json",
|
|
49420
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49214
49421
|
},
|
|
49215
49422
|
aiSiteWizardIntakeTriage: {
|
|
49216
49423
|
path: "/sites/{siteId}/ai/site-wizard/intake-triage",
|
|
49217
49424
|
method: "POST",
|
|
49218
49425
|
auth: "user",
|
|
49219
|
-
responseKind: "json"
|
|
49426
|
+
responseKind: "json",
|
|
49427
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49220
49428
|
},
|
|
49221
49429
|
aiSiteWizardTelemetry: {
|
|
49222
49430
|
path: "/sites/{siteId}/ai/site-wizard/telemetry",
|
|
49223
49431
|
method: "POST",
|
|
49224
49432
|
auth: "user",
|
|
49225
49433
|
errors: [],
|
|
49226
|
-
responseKind: "json"
|
|
49434
|
+
responseKind: "json",
|
|
49435
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49227
49436
|
},
|
|
49228
49437
|
// Admin SEO
|
|
49229
49438
|
listGscPropertiesAdmin: {
|
|
@@ -49430,7 +49639,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49430
49639
|
responseKind: "json",
|
|
49431
49640
|
errors: ["resource:not_found", "server:internal_error"]
|
|
49432
49641
|
},
|
|
49433
|
-
// Ops (event
|
|
49642
|
+
// Ops (staff event operators/admins)
|
|
49434
49643
|
opsListUpcomingEventOccurrences: {
|
|
49435
49644
|
path: "/ops/sites/{siteId}/events",
|
|
49436
49645
|
method: "GET",
|
|
@@ -49448,6 +49657,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49448
49657
|
method: "POST",
|
|
49449
49658
|
auth: "user",
|
|
49450
49659
|
responseKind: "json",
|
|
49660
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49451
49661
|
errors: [
|
|
49452
49662
|
"validation:invalid_input",
|
|
49453
49663
|
"auth:forbidden",
|
|
@@ -49460,6 +49670,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49460
49670
|
method: "POST",
|
|
49461
49671
|
auth: "user",
|
|
49462
49672
|
responseKind: "json",
|
|
49673
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49463
49674
|
errors: [
|
|
49464
49675
|
"validation:invalid_input",
|
|
49465
49676
|
"auth:forbidden",
|
|
@@ -49478,6 +49689,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49478
49689
|
method: "POST",
|
|
49479
49690
|
auth: "user",
|
|
49480
49691
|
responseKind: "json",
|
|
49692
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49481
49693
|
errors: [
|
|
49482
49694
|
"validation:invalid_input",
|
|
49483
49695
|
"auth:forbidden",
|
|
@@ -49511,6 +49723,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49511
49723
|
method: "POST",
|
|
49512
49724
|
auth: "user",
|
|
49513
49725
|
responseKind: "json",
|
|
49726
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49514
49727
|
errors: [
|
|
49515
49728
|
"validation:invalid_input",
|
|
49516
49729
|
"auth:forbidden",
|
|
@@ -49539,7 +49752,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49539
49752
|
method: "POST",
|
|
49540
49753
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
49541
49754
|
auth: "user",
|
|
49542
|
-
responseKind: "json"
|
|
49755
|
+
responseKind: "json",
|
|
49756
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49543
49757
|
},
|
|
49544
49758
|
previewEmailTemplate: {
|
|
49545
49759
|
path: "/sites/{siteId}/settings/emails/preview",
|
|
@@ -49590,14 +49804,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49590
49804
|
method: "POST",
|
|
49591
49805
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49592
49806
|
auth: "user",
|
|
49593
|
-
responseKind: "json"
|
|
49807
|
+
responseKind: "json",
|
|
49808
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49594
49809
|
},
|
|
49595
49810
|
createNewsletterSubscribersImportUploadUrl: {
|
|
49596
49811
|
path: "/sites/{siteId}/newsletter/subscribers/import-url",
|
|
49597
49812
|
method: "POST",
|
|
49598
49813
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49599
49814
|
auth: "user",
|
|
49600
|
-
responseKind: "json"
|
|
49815
|
+
responseKind: "json",
|
|
49816
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49601
49817
|
},
|
|
49602
49818
|
exportNewsletterSubscribersCsv: {
|
|
49603
49819
|
path: "/sites/{siteId}/newsletter/subscribers/export.csv",
|
|
@@ -49794,14 +50010,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49794
50010
|
method: "POST",
|
|
49795
50011
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49796
50012
|
auth: "user",
|
|
49797
|
-
responseKind: "json"
|
|
50013
|
+
responseKind: "json",
|
|
50014
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49798
50015
|
},
|
|
49799
50016
|
testSendNewsletterCampaign: {
|
|
49800
50017
|
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
|
|
49801
50018
|
method: "POST",
|
|
49802
50019
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49803
50020
|
auth: "user",
|
|
49804
|
-
responseKind: "json"
|
|
50021
|
+
responseKind: "json",
|
|
50022
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49805
50023
|
},
|
|
49806
50024
|
listNewsletterSendJobs: {
|
|
49807
50025
|
path: "/sites/{siteId}/newsletter/jobs",
|
|
@@ -50489,7 +50707,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
50489
50707
|
method: "DELETE",
|
|
50490
50708
|
tags: ["site", "site-{siteId}"],
|
|
50491
50709
|
auth: "user",
|
|
50492
|
-
responseKind: "json"
|
|
50710
|
+
responseKind: "json",
|
|
50711
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
50493
50712
|
},
|
|
50494
50713
|
listSiteMembers: {
|
|
50495
50714
|
path: "/sites/{siteId}/members",
|
|
@@ -50945,7 +51164,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
50945
51164
|
method: "POST",
|
|
50946
51165
|
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
50947
51166
|
auth: "user",
|
|
50948
|
-
responseKind: "json"
|
|
51167
|
+
responseKind: "json",
|
|
51168
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
50949
51169
|
},
|
|
50950
51170
|
updateSiteGeneralSettings: {
|
|
50951
51171
|
path: "/sites/{siteId}/settings/general",
|
|
@@ -51753,6 +51973,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
51753
51973
|
auth: "user",
|
|
51754
51974
|
responseKind: "json"
|
|
51755
51975
|
},
|
|
51976
|
+
saveSiteChromeLookSelection: {
|
|
51977
|
+
path: "/sites/{siteId}/theme/site-chrome-look",
|
|
51978
|
+
method: "POST",
|
|
51979
|
+
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme],
|
|
51980
|
+
auth: "user",
|
|
51981
|
+
errors: [],
|
|
51982
|
+
responseKind: "json"
|
|
51983
|
+
},
|
|
51756
51984
|
uploadSiteLogo: {
|
|
51757
51985
|
path: "/storage/upload-site-logo",
|
|
51758
51986
|
method: "POST",
|
|
@@ -53176,6 +53404,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53176
53404
|
method: "POST",
|
|
53177
53405
|
tags: ["site-{siteId}"],
|
|
53178
53406
|
auth: "user",
|
|
53407
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN,
|
|
53179
53408
|
errors: [
|
|
53180
53409
|
"validation:invalid_input",
|
|
53181
53410
|
"auth:forbidden",
|
|
@@ -53190,6 +53419,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53190
53419
|
method: "POST",
|
|
53191
53420
|
tags: ["site-{siteId}"],
|
|
53192
53421
|
auth: "user",
|
|
53422
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN,
|
|
53193
53423
|
errors: [
|
|
53194
53424
|
"validation:invalid_input",
|
|
53195
53425
|
"auth:forbidden",
|
|
@@ -53499,6 +53729,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53499
53729
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53500
53730
|
auth: "user",
|
|
53501
53731
|
responseKind: "json",
|
|
53732
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53502
53733
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
53503
53734
|
},
|
|
53504
53735
|
getBookingPass: {
|
|
@@ -53514,6 +53745,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53514
53745
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53515
53746
|
auth: "user",
|
|
53516
53747
|
responseKind: "json",
|
|
53748
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53517
53749
|
errors: [
|
|
53518
53750
|
"validation:invalid_input",
|
|
53519
53751
|
"resource:not_found",
|
|
@@ -53526,6 +53758,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53526
53758
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53527
53759
|
auth: "user",
|
|
53528
53760
|
responseKind: "json",
|
|
53761
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53529
53762
|
errors: [
|
|
53530
53763
|
"validation:invalid_input",
|
|
53531
53764
|
"resource:not_found",
|
|
@@ -53581,6 +53814,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53581
53814
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53582
53815
|
auth: "user",
|
|
53583
53816
|
responseKind: "json",
|
|
53817
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53584
53818
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
53585
53819
|
},
|
|
53586
53820
|
getBookingMembership: {
|
|
@@ -53596,6 +53830,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53596
53830
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53597
53831
|
auth: "user",
|
|
53598
53832
|
responseKind: "json",
|
|
53833
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53599
53834
|
errors: [
|
|
53600
53835
|
"validation:invalid_input",
|
|
53601
53836
|
"resource:not_found",
|
|
@@ -53608,6 +53843,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53608
53843
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53609
53844
|
auth: "user",
|
|
53610
53845
|
responseKind: "json",
|
|
53846
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53611
53847
|
errors: [
|
|
53612
53848
|
"validation:invalid_input",
|
|
53613
53849
|
"resource:not_found",
|
|
@@ -53824,6 +54060,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53824
54060
|
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
53825
54061
|
auth: "user",
|
|
53826
54062
|
responseKind: "json",
|
|
54063
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53827
54064
|
errors: [
|
|
53828
54065
|
"validation:invalid_input",
|
|
53829
54066
|
"auth:forbidden",
|
|
@@ -54197,6 +54434,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
54197
54434
|
auth: "admin",
|
|
54198
54435
|
responseKind: "json"
|
|
54199
54436
|
},
|
|
54437
|
+
adminScheduleBillingComponentEnd: {
|
|
54438
|
+
path: "/admin/sites/{siteId}/billing/components/{componentId}/end",
|
|
54439
|
+
method: "POST",
|
|
54440
|
+
tags: ["admin", "site-{siteId}", "billing"],
|
|
54441
|
+
auth: "admin",
|
|
54442
|
+
responseKind: "json",
|
|
54443
|
+
errors: []
|
|
54444
|
+
},
|
|
54200
54445
|
// Admin GSC/SEO endpoints
|
|
54201
54446
|
adminGscVerifyStart: {
|
|
54202
54447
|
path: "/admin/seo/gsc/properties/verify/start",
|
|
@@ -54921,6 +55166,13 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
54921
55166
|
auth: "public",
|
|
54922
55167
|
responseKind: "json"
|
|
54923
55168
|
},
|
|
55169
|
+
demoClaimMagicLink: {
|
|
55170
|
+
path: "/demo/auth/send-magic-link",
|
|
55171
|
+
method: "POST",
|
|
55172
|
+
auth: "public",
|
|
55173
|
+
responseKind: "json",
|
|
55174
|
+
errors: []
|
|
55175
|
+
},
|
|
54924
55176
|
previewExchangeCode: {
|
|
54925
55177
|
path: "/preview/auth/exchange",
|
|
54926
55178
|
method: "POST",
|
|
@@ -55079,61 +55331,74 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
55079
55331
|
}
|
|
55080
55332
|
};
|
|
55081
55333
|
|
|
55082
|
-
// ../api/src/
|
|
55334
|
+
// ../api/src/accessAdmin.ts
|
|
55083
55335
|
import { z as z64 } from "zod";
|
|
55084
|
-
var
|
|
55085
|
-
|
|
55086
|
-
|
|
55087
|
-
|
|
55088
|
-
|
|
55089
|
-
|
|
55336
|
+
var managedDomainAddOnPricingSnapshotSchema = z64.object({
|
|
55337
|
+
formulaVersion: z64.literal("managed-domain-overage-v1"),
|
|
55338
|
+
conversionRule: z64.literal("usd-to-gbp-1-to-1-v1"),
|
|
55339
|
+
registrarAnnualCost: z64.number().nonnegative(),
|
|
55340
|
+
registrarCurrency: z64.literal("USD"),
|
|
55341
|
+
includedAnnualAllowance: z64.number().nonnegative(),
|
|
55342
|
+
includedAnnualAllowanceCurrency: z64.literal("USD"),
|
|
55343
|
+
monthlyAmountCents: z64.number().int().nonnegative(),
|
|
55344
|
+
monthlyCurrency: z64.literal("gbp")
|
|
55345
|
+
});
|
|
55346
|
+
|
|
55347
|
+
// ../api/src/navigation/contracts.ts
|
|
55348
|
+
import { z as z65 } from "zod";
|
|
55349
|
+
var portalLinkPayloadSchema = z65.object({
|
|
55350
|
+
kind: z65.literal("portal"),
|
|
55351
|
+
path: z65.string().trim().startsWith("/").optional(),
|
|
55352
|
+
labels: z65.object({
|
|
55353
|
+
loggedOut: z65.string().trim().min(1).optional(),
|
|
55354
|
+
loggedIn: z65.string().trim().min(1).optional()
|
|
55090
55355
|
}).optional()
|
|
55091
55356
|
});
|
|
55092
|
-
var cartLinkLabelConfigSchema =
|
|
55093
|
-
|
|
55094
|
-
kind:
|
|
55357
|
+
var cartLinkLabelConfigSchema = z65.discriminatedUnion("kind", [
|
|
55358
|
+
z65.object({
|
|
55359
|
+
kind: z65.literal("icon-only")
|
|
55095
55360
|
}),
|
|
55096
|
-
|
|
55097
|
-
kind:
|
|
55098
|
-
label:
|
|
55361
|
+
z65.object({
|
|
55362
|
+
kind: z65.literal("icon-with-label"),
|
|
55363
|
+
label: z65.string().trim().min(1)
|
|
55099
55364
|
})
|
|
55100
55365
|
]);
|
|
55101
|
-
var cartLinkPayloadSchema =
|
|
55102
|
-
kind:
|
|
55103
|
-
badge:
|
|
55366
|
+
var cartLinkPayloadSchema = z65.object({
|
|
55367
|
+
kind: z65.literal("cart"),
|
|
55368
|
+
badge: z65.enum(["show-count", "hidden"]),
|
|
55104
55369
|
label: cartLinkLabelConfigSchema
|
|
55105
55370
|
});
|
|
55106
|
-
var internalLinkPayloadSchema =
|
|
55107
|
-
kind:
|
|
55108
|
-
routeId:
|
|
55109
|
-
entityId:
|
|
55110
|
-
entityType:
|
|
55111
|
-
href:
|
|
55112
|
-
title:
|
|
55113
|
-
typeLabel:
|
|
55114
|
-
contentTypeKey:
|
|
55115
|
-
contentTypeName:
|
|
55116
|
-
updatedAt:
|
|
55371
|
+
var internalLinkPayloadSchema = z65.object({
|
|
55372
|
+
kind: z65.literal("internal"),
|
|
55373
|
+
routeId: z65.string().uuid(),
|
|
55374
|
+
entityId: z65.string().uuid(),
|
|
55375
|
+
entityType: z65.enum(["page", "content"]),
|
|
55376
|
+
href: z65.string().min(1),
|
|
55377
|
+
title: z65.string().min(1),
|
|
55378
|
+
typeLabel: z65.string().min(1),
|
|
55379
|
+
contentTypeKey: z65.string().nullable().optional(),
|
|
55380
|
+
contentTypeName: z65.string().nullable().optional(),
|
|
55381
|
+
updatedAt: z65.string().nullable().optional()
|
|
55117
55382
|
}).passthrough();
|
|
55118
|
-
var externalLinkSchema2 =
|
|
55119
|
-
kind:
|
|
55383
|
+
var externalLinkSchema2 = z65.object({
|
|
55384
|
+
kind: z65.literal("external"),
|
|
55120
55385
|
// Navigation external links are expected to be absolute URLs.
|
|
55121
|
-
href:
|
|
55386
|
+
href: z65.string().url()
|
|
55122
55387
|
});
|
|
55123
|
-
var customLinkSchema2 =
|
|
55124
|
-
kind:
|
|
55125
|
-
href:
|
|
55388
|
+
var customLinkSchema2 = z65.object({
|
|
55389
|
+
kind: z65.literal("url"),
|
|
55390
|
+
href: z65.string().min(1)
|
|
55126
55391
|
});
|
|
55127
|
-
var pageLinkSchema2 =
|
|
55128
|
-
kind:
|
|
55129
|
-
identifier:
|
|
55392
|
+
var pageLinkSchema2 = z65.object({
|
|
55393
|
+
kind: z65.literal("page"),
|
|
55394
|
+
identifier: z65.string().min(1)
|
|
55130
55395
|
});
|
|
55131
|
-
var entryLinkSchema2 =
|
|
55132
|
-
kind:
|
|
55133
|
-
contentType:
|
|
55134
|
-
identifier:
|
|
55396
|
+
var entryLinkSchema2 = z65.object({
|
|
55397
|
+
kind: z65.literal("entry"),
|
|
55398
|
+
contentType: z65.string().min(1),
|
|
55399
|
+
identifier: z65.string().min(1)
|
|
55135
55400
|
});
|
|
55136
|
-
var linkPayloadSchema =
|
|
55401
|
+
var linkPayloadSchema = z65.discriminatedUnion("kind", [
|
|
55137
55402
|
internalLinkPayloadSchema,
|
|
55138
55403
|
pageLinkSchema2,
|
|
55139
55404
|
entryLinkSchema2,
|
|
@@ -55150,86 +55415,85 @@ var navigationLinkInputSchemaOptions = [
|
|
|
55150
55415
|
portalLinkPayloadSchema,
|
|
55151
55416
|
cartLinkPayloadSchema
|
|
55152
55417
|
];
|
|
55153
|
-
var navigationLinkInputSchema =
|
|
55418
|
+
var navigationLinkInputSchema = z65.discriminatedUnion(
|
|
55154
55419
|
"kind",
|
|
55155
55420
|
navigationLinkInputSchemaOptions
|
|
55156
55421
|
);
|
|
55157
55422
|
|
|
55158
55423
|
// ../api/src/sdkConfig/contracts.ts
|
|
55159
|
-
import { z as
|
|
55424
|
+
import { z as z66 } from "zod";
|
|
55160
55425
|
function unsafeRetypeZodSchema(schema) {
|
|
55161
55426
|
return schema;
|
|
55162
55427
|
}
|
|
55163
|
-
var navIdListSchema =
|
|
55428
|
+
var navIdListSchema = z66.preprocess((value) => {
|
|
55164
55429
|
if (!Array.isArray(value)) return void 0;
|
|
55165
55430
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
55166
55431
|
return filtered.length > 0 ? filtered : void 0;
|
|
55167
|
-
},
|
|
55168
|
-
var dashboardNavVisibilityBaseSchema =
|
|
55169
|
-
mode:
|
|
55432
|
+
}, z66.array(z66.string()).max(200).optional());
|
|
55433
|
+
var dashboardNavVisibilityBaseSchema = z66.object({
|
|
55434
|
+
mode: z66.enum(["augment", "restrict"]).optional(),
|
|
55170
55435
|
allowIds: navIdListSchema,
|
|
55171
55436
|
denyIds: navIdListSchema
|
|
55172
55437
|
}).strip();
|
|
55173
|
-
var dashboardNavVisibilityRolesSchema =
|
|
55438
|
+
var dashboardNavVisibilityRolesSchema = z66.object({
|
|
55174
55439
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
55175
55440
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
55176
|
-
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
55177
|
-
event_host: dashboardNavVisibilityBaseSchema.optional()
|
|
55441
|
+
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
55178
55442
|
}).strip().optional();
|
|
55179
55443
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
55180
55444
|
roles: dashboardNavVisibilityRolesSchema
|
|
55181
55445
|
}).strip();
|
|
55182
|
-
var dashboardNavigationConfigSchema =
|
|
55446
|
+
var dashboardNavigationConfigSchema = z66.object({
|
|
55183
55447
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
55184
55448
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
55185
55449
|
}).strip();
|
|
55186
|
-
var dashboardConfigSchema =
|
|
55187
|
-
previewEditingEnabled:
|
|
55450
|
+
var dashboardConfigSchema = z66.object({
|
|
55451
|
+
previewEditingEnabled: z66.boolean().optional(),
|
|
55188
55452
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
55189
55453
|
}).strip();
|
|
55190
55454
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
55191
55455
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
55192
|
-
var sdkLoaderEndpointSchema =
|
|
55193
|
-
var loaderParamBindingSchema =
|
|
55194
|
-
$bind:
|
|
55195
|
-
from:
|
|
55196
|
-
fallback:
|
|
55456
|
+
var sdkLoaderEndpointSchema = z66.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
55457
|
+
var loaderParamBindingSchema = z66.object({
|
|
55458
|
+
$bind: z66.object({
|
|
55459
|
+
from: z66.string().min(1, "Binding path is required"),
|
|
55460
|
+
fallback: z66.string().optional()
|
|
55197
55461
|
})
|
|
55198
55462
|
});
|
|
55199
|
-
var loaderParamValueSchema =
|
|
55200
|
-
|
|
55201
|
-
|
|
55202
|
-
|
|
55463
|
+
var loaderParamValueSchema = z66.union([
|
|
55464
|
+
z66.string(),
|
|
55465
|
+
z66.number(),
|
|
55466
|
+
z66.boolean(),
|
|
55203
55467
|
loaderParamBindingSchema
|
|
55204
55468
|
]);
|
|
55205
|
-
var sdkConfigLoaderSchema =
|
|
55469
|
+
var sdkConfigLoaderSchema = z66.object({
|
|
55206
55470
|
endpoint: sdkLoaderEndpointSchema,
|
|
55207
|
-
params:
|
|
55208
|
-
mode:
|
|
55471
|
+
params: z66.record(z66.string(), loaderParamValueSchema),
|
|
55472
|
+
mode: z66.enum(["server", "client"]).default("server")
|
|
55209
55473
|
});
|
|
55210
|
-
var sdkDataLoadersSchema =
|
|
55211
|
-
var sdkCustomBlockIdSchema =
|
|
55474
|
+
var sdkDataLoadersSchema = z66.record(z66.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
55475
|
+
var sdkCustomBlockIdSchema = z66.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
55212
55476
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
55213
55477
|
}).transform((value) => value);
|
|
55214
|
-
var sdkCustomBlockInputSchema =
|
|
55478
|
+
var sdkCustomBlockInputSchema = z66.object({
|
|
55215
55479
|
id: sdkCustomBlockIdSchema,
|
|
55216
|
-
title:
|
|
55217
|
-
titleSource:
|
|
55218
|
-
description:
|
|
55480
|
+
title: z66.string().min(1),
|
|
55481
|
+
titleSource: z66.union([z66.string().min(1), z66.array(z66.string().min(1)).min(1)]).optional(),
|
|
55482
|
+
description: z66.string().optional(),
|
|
55219
55483
|
category: blockCategoryEnum,
|
|
55220
|
-
icon:
|
|
55221
|
-
tags:
|
|
55484
|
+
icon: z66.string().optional(),
|
|
55485
|
+
tags: z66.array(z66.string()).optional(),
|
|
55222
55486
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
55223
55487
|
dataLoaders: sdkDataLoadersSchema,
|
|
55224
55488
|
layout: NodeSchema.optional(),
|
|
55225
|
-
variants:
|
|
55226
|
-
defaultVariant:
|
|
55227
|
-
variantOptions:
|
|
55228
|
-
|
|
55229
|
-
|
|
55230
|
-
label:
|
|
55231
|
-
description:
|
|
55232
|
-
icon:
|
|
55489
|
+
variants: z66.record(z66.string().min(1), NodeSchema).optional(),
|
|
55490
|
+
defaultVariant: z66.string().min(1).optional(),
|
|
55491
|
+
variantOptions: z66.record(
|
|
55492
|
+
z66.string().min(1),
|
|
55493
|
+
z66.object({
|
|
55494
|
+
label: z66.string().min(1).optional(),
|
|
55495
|
+
description: z66.string().min(1).optional(),
|
|
55496
|
+
icon: z66.string().min(1).optional()
|
|
55233
55497
|
})
|
|
55234
55498
|
).optional()
|
|
55235
55499
|
}).superRefine((data, ctx) => {
|
|
@@ -55239,7 +55503,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55239
55503
|
const exists = data.fields.some((field) => field.id === source);
|
|
55240
55504
|
if (!exists) {
|
|
55241
55505
|
ctx.addIssue({
|
|
55242
|
-
code:
|
|
55506
|
+
code: z66.ZodIssueCode.custom,
|
|
55243
55507
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
55244
55508
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
55245
55509
|
});
|
|
@@ -55248,7 +55512,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55248
55512
|
}
|
|
55249
55513
|
if (data.layout && data.variants) {
|
|
55250
55514
|
ctx.addIssue({
|
|
55251
|
-
code:
|
|
55515
|
+
code: z66.ZodIssueCode.custom,
|
|
55252
55516
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
55253
55517
|
path: ["variants"]
|
|
55254
55518
|
});
|
|
@@ -55257,14 +55521,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55257
55521
|
const keys = Object.keys(data.variants);
|
|
55258
55522
|
if (keys.length === 0) {
|
|
55259
55523
|
ctx.addIssue({
|
|
55260
|
-
code:
|
|
55524
|
+
code: z66.ZodIssueCode.custom,
|
|
55261
55525
|
message: "`variants` must contain at least one variant key",
|
|
55262
55526
|
path: ["variants"]
|
|
55263
55527
|
});
|
|
55264
55528
|
}
|
|
55265
55529
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
55266
55530
|
ctx.addIssue({
|
|
55267
|
-
code:
|
|
55531
|
+
code: z66.ZodIssueCode.custom,
|
|
55268
55532
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
55269
55533
|
path: ["defaultVariant"]
|
|
55270
55534
|
});
|
|
@@ -55273,7 +55537,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55273
55537
|
for (const key of Object.keys(data.variantOptions)) {
|
|
55274
55538
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
55275
55539
|
ctx.addIssue({
|
|
55276
|
-
code:
|
|
55540
|
+
code: z66.ZodIssueCode.custom,
|
|
55277
55541
|
message: "`variantOptions` key must exist in `variants`",
|
|
55278
55542
|
path: ["variantOptions", key]
|
|
55279
55543
|
});
|
|
@@ -55282,74 +55546,74 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55282
55546
|
}
|
|
55283
55547
|
}
|
|
55284
55548
|
});
|
|
55285
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
55549
|
+
var sdkBlockFieldExtensionInputSchema = z66.object({
|
|
55286
55550
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
55287
55551
|
});
|
|
55288
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
55289
|
-
|
|
55552
|
+
var sdkBlockFieldExtensionsInputSchema = z66.record(
|
|
55553
|
+
z66.string().min(1),
|
|
55290
55554
|
sdkBlockFieldExtensionInputSchema
|
|
55291
55555
|
);
|
|
55292
|
-
var sdkThemePaletteSchema =
|
|
55293
|
-
var sdkThemeConfigSchema =
|
|
55556
|
+
var sdkThemePaletteSchema = z66.record(z66.string(), z66.string());
|
|
55557
|
+
var sdkThemeConfigSchema = z66.object({
|
|
55294
55558
|
palette: sdkThemePaletteSchema
|
|
55295
55559
|
});
|
|
55296
|
-
var sdkSectionBackgroundSchema =
|
|
55297
|
-
id:
|
|
55298
|
-
label:
|
|
55299
|
-
token:
|
|
55560
|
+
var sdkSectionBackgroundSchema = z66.object({
|
|
55561
|
+
id: z66.string().min(1),
|
|
55562
|
+
label: z66.string().min(1),
|
|
55563
|
+
token: z66.string().min(1)
|
|
55300
55564
|
});
|
|
55301
|
-
var sdkSectionOptionsConfigSchema =
|
|
55302
|
-
backgroundColor:
|
|
55303
|
-
backgroundImage:
|
|
55304
|
-
backgroundGradient:
|
|
55305
|
-
spacing:
|
|
55306
|
-
textColor:
|
|
55565
|
+
var sdkSectionOptionsConfigSchema = z66.object({
|
|
55566
|
+
backgroundColor: z66.boolean().optional(),
|
|
55567
|
+
backgroundImage: z66.boolean().optional(),
|
|
55568
|
+
backgroundGradient: z66.boolean().optional(),
|
|
55569
|
+
spacing: z66.union([z66.array(z66.enum(["compact", "default", "spacious"])), z66.boolean()]).optional(),
|
|
55570
|
+
textColor: z66.boolean().optional()
|
|
55307
55571
|
});
|
|
55308
|
-
var sdkContainerOptionsConfigSchema =
|
|
55309
|
-
maxWidth:
|
|
55310
|
-
alignment:
|
|
55572
|
+
var sdkContainerOptionsConfigSchema = z66.object({
|
|
55573
|
+
maxWidth: z66.union([z66.array(z66.enum(["narrow", "default", "wide", "full"])), z66.boolean()]).optional(),
|
|
55574
|
+
alignment: z66.union([z66.array(z66.enum(["left", "center", "right"])), z66.boolean()]).optional()
|
|
55311
55575
|
});
|
|
55312
|
-
var sdkSiteStyleConfigSchema =
|
|
55313
|
-
sectionBackgrounds:
|
|
55576
|
+
var sdkSiteStyleConfigSchema = z66.object({
|
|
55577
|
+
sectionBackgrounds: z66.array(sdkSectionBackgroundSchema).optional(),
|
|
55314
55578
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
55315
55579
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
55316
55580
|
});
|
|
55317
|
-
var sdkSiteLayoutConfigSchema =
|
|
55318
|
-
footerBlocks:
|
|
55319
|
-
|
|
55320
|
-
id:
|
|
55321
|
-
kind:
|
|
55322
|
-
content:
|
|
55581
|
+
var sdkSiteLayoutConfigSchema = z66.object({
|
|
55582
|
+
footerBlocks: z66.array(
|
|
55583
|
+
z66.object({
|
|
55584
|
+
id: z66.string().min(1).optional(),
|
|
55585
|
+
kind: z66.string().min(1),
|
|
55586
|
+
content: z66.record(z66.string(), z66.unknown()).optional()
|
|
55323
55587
|
})
|
|
55324
55588
|
).optional()
|
|
55325
55589
|
});
|
|
55326
|
-
var sdkFieldSelectOptionSchema =
|
|
55327
|
-
value:
|
|
55328
|
-
label:
|
|
55590
|
+
var sdkFieldSelectOptionSchema = z66.object({
|
|
55591
|
+
value: z66.string(),
|
|
55592
|
+
label: z66.string()
|
|
55329
55593
|
});
|
|
55330
|
-
var sdkBlockFieldConfigSchema =
|
|
55331
|
-
options:
|
|
55594
|
+
var sdkBlockFieldConfigSchema = z66.object({
|
|
55595
|
+
options: z66.array(sdkFieldSelectOptionSchema).optional()
|
|
55332
55596
|
});
|
|
55333
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
55334
|
-
|
|
55597
|
+
var sdkBlockFieldOptionsMapSchema = z66.record(
|
|
55598
|
+
z66.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
55335
55599
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
55336
55600
|
}),
|
|
55337
|
-
|
|
55601
|
+
z66.record(z66.string().min(1), sdkBlockFieldConfigSchema)
|
|
55338
55602
|
).optional();
|
|
55339
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
55340
|
-
blocks:
|
|
55603
|
+
var sdkContentTypeTemplateConfigSchema = z66.object({
|
|
55604
|
+
blocks: z66.array(z66.unknown())
|
|
55341
55605
|
}).passthrough();
|
|
55342
|
-
var sdkContentTypeConfigSchema =
|
|
55343
|
-
key:
|
|
55344
|
-
fields:
|
|
55606
|
+
var sdkContentTypeConfigSchema = z66.object({
|
|
55607
|
+
key: z66.string().min(1),
|
|
55608
|
+
fields: z66.array(z66.unknown()),
|
|
55345
55609
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
55346
55610
|
}).passthrough();
|
|
55347
|
-
var sdkContentConfigSchema =
|
|
55348
|
-
contentTypes:
|
|
55349
|
-
pages:
|
|
55350
|
-
entries:
|
|
55351
|
-
navigationMenus:
|
|
55352
|
-
settings:
|
|
55611
|
+
var sdkContentConfigSchema = z66.object({
|
|
55612
|
+
contentTypes: z66.array(sdkContentTypeConfigSchema).optional(),
|
|
55613
|
+
pages: z66.array(z66.unknown()).optional(),
|
|
55614
|
+
entries: z66.array(z66.unknown()).optional(),
|
|
55615
|
+
navigationMenus: z66.array(z66.unknown()).optional(),
|
|
55616
|
+
settings: z66.unknown().optional()
|
|
55353
55617
|
}).passthrough();
|
|
55354
55618
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
55355
55619
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -55357,46 +55621,69 @@ var SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH = 500;
|
|
|
55357
55621
|
var SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH = 120;
|
|
55358
55622
|
var SDK_WORKFLOW_ENDPOINT_MAX_LENGTH = 500;
|
|
55359
55623
|
var SDK_WORKFLOW_TRIGGER_MAX_COUNT = 5;
|
|
55624
|
+
var SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH = 120;
|
|
55625
|
+
var SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT = 10;
|
|
55360
55626
|
var SDK_WORKFLOW_MAX_COUNT = 50;
|
|
55361
55627
|
var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
55362
55628
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
55363
55629
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
55364
55630
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
55365
|
-
var sdkWorkflowIdSchema =
|
|
55631
|
+
var sdkWorkflowIdSchema = z66.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
55366
55632
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
55367
55633
|
});
|
|
55368
|
-
var sdkWorkflowEndpointSchema =
|
|
55369
|
-
var sdkWorkflowManualTriggerSchema =
|
|
55370
|
-
type:
|
|
55634
|
+
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 "/"' });
|
|
55635
|
+
var sdkWorkflowManualTriggerSchema = z66.object({
|
|
55636
|
+
type: z66.literal("manual")
|
|
55637
|
+
}).strict();
|
|
55638
|
+
var sdkWorkflowTriggerFieldSchema = z66.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
55639
|
+
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
55640
|
+
});
|
|
55641
|
+
var sdkWorkflowFieldChangedConditionSchema = z66.object({
|
|
55642
|
+
field: sdkWorkflowTriggerFieldSchema,
|
|
55643
|
+
changed: z66.literal(true)
|
|
55371
55644
|
}).strict();
|
|
55372
|
-
var
|
|
55373
|
-
|
|
55645
|
+
var sdkWorkflowFieldEmptyConditionSchema = z66.object({
|
|
55646
|
+
field: sdkWorkflowTriggerFieldSchema,
|
|
55647
|
+
isEmpty: z66.boolean()
|
|
55648
|
+
}).strict();
|
|
55649
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z66.object({
|
|
55650
|
+
type: z66.literal("entry.draft.updated"),
|
|
55651
|
+
when: z66.array(
|
|
55652
|
+
z66.union([
|
|
55653
|
+
sdkWorkflowFieldChangedConditionSchema,
|
|
55654
|
+
sdkWorkflowFieldEmptyConditionSchema
|
|
55655
|
+
])
|
|
55656
|
+
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
55657
|
+
}).strict();
|
|
55658
|
+
var sdkWorkflowTriggerSchema = z66.discriminatedUnion("type", [
|
|
55659
|
+
sdkWorkflowManualTriggerSchema,
|
|
55660
|
+
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
55374
55661
|
]);
|
|
55375
|
-
var sdkWorkflowConfirmationSchema =
|
|
55376
|
-
title:
|
|
55377
|
-
body:
|
|
55662
|
+
var sdkWorkflowConfirmationSchema = z66.object({
|
|
55663
|
+
title: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
55664
|
+
body: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
55378
55665
|
}).strict();
|
|
55379
|
-
var sdkWorkflowConfigSchema =
|
|
55666
|
+
var sdkWorkflowConfigSchema = z66.object({
|
|
55380
55667
|
id: sdkWorkflowIdSchema,
|
|
55381
|
-
title:
|
|
55382
|
-
description:
|
|
55383
|
-
contentType:
|
|
55668
|
+
title: z66.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
55669
|
+
description: z66.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
55670
|
+
contentType: z66.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
55384
55671
|
endpoint: sdkWorkflowEndpointSchema,
|
|
55385
|
-
triggers:
|
|
55672
|
+
triggers: z66.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
55386
55673
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
55387
55674
|
}).strict();
|
|
55388
|
-
var sdkWorkflowsSchema =
|
|
55675
|
+
var sdkWorkflowsSchema = z66.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
55389
55676
|
const ids = workflows.map((workflow) => workflow.id);
|
|
55390
55677
|
return ids.length === new Set(ids).size;
|
|
55391
55678
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
55392
|
-
var riverbankSiteConfigInputSchema =
|
|
55393
|
-
siteId:
|
|
55394
|
-
previewUrl:
|
|
55395
|
-
liveUrl:
|
|
55679
|
+
var riverbankSiteConfigInputSchema = z66.object({
|
|
55680
|
+
siteId: z66.string().uuid(),
|
|
55681
|
+
previewUrl: z66.string().url().optional(),
|
|
55682
|
+
liveUrl: z66.string().url().optional(),
|
|
55396
55683
|
theme: sdkThemeConfigSchema.optional(),
|
|
55397
55684
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
55398
55685
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
55399
|
-
customBlocks:
|
|
55686
|
+
customBlocks: z66.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
55400
55687
|
const ids = blocks.map((b) => b.id);
|
|
55401
55688
|
return ids.length === new Set(ids).size;
|
|
55402
55689
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -55404,48 +55691,51 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
55404
55691
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
55405
55692
|
workflows: sdkWorkflowsSchema,
|
|
55406
55693
|
content: sdkContentConfigSchema.optional(),
|
|
55407
|
-
contentDir:
|
|
55408
|
-
sync:
|
|
55409
|
-
existingEntries:
|
|
55694
|
+
contentDir: z66.string().optional(),
|
|
55695
|
+
sync: z66.object({
|
|
55696
|
+
existingEntries: z66.enum(["skip", "update"]).optional()
|
|
55410
55697
|
}).optional(),
|
|
55411
|
-
deploy:
|
|
55412
|
-
verifyCommand:
|
|
55413
|
-
prebuildOutput:
|
|
55698
|
+
deploy: z66.object({
|
|
55699
|
+
verifyCommand: z66.string().optional(),
|
|
55700
|
+
prebuildOutput: z66.string().optional()
|
|
55414
55701
|
}).optional(),
|
|
55415
|
-
themeSource:
|
|
55416
|
-
activeTheme:
|
|
55417
|
-
enablePortal:
|
|
55702
|
+
themeSource: z66.enum(["local", "cms"]).optional(),
|
|
55703
|
+
activeTheme: z66.string().optional(),
|
|
55704
|
+
enablePortal: z66.boolean().optional(),
|
|
55418
55705
|
dashboard: dashboardConfigSchema.optional()
|
|
55419
55706
|
}).strict();
|
|
55420
|
-
var pushSdkConfigBodySchema =
|
|
55707
|
+
var pushSdkConfigBodySchema = z66.object({
|
|
55421
55708
|
config: riverbankSiteConfigInputSchema,
|
|
55422
|
-
forceContentTypes:
|
|
55709
|
+
forceContentTypes: z66.boolean().optional()
|
|
55423
55710
|
}).strict();
|
|
55424
55711
|
|
|
55425
55712
|
// ../api/src/siteOnboarding.ts
|
|
55426
|
-
import { z as
|
|
55713
|
+
import { z as z67 } from "zod";
|
|
55427
55714
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
55428
55715
|
configure_appointments: {
|
|
55429
55716
|
requirementId: "configure_appointments",
|
|
55430
55717
|
reason: "launch_anyway"
|
|
55431
55718
|
}
|
|
55432
55719
|
};
|
|
55433
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
55720
|
+
var acknowledgeLaunchRequirementRequestSchema = z67.discriminatedUnion(
|
|
55434
55721
|
"requirementId",
|
|
55435
55722
|
[
|
|
55436
|
-
|
|
55437
|
-
requirementId:
|
|
55723
|
+
z67.object({
|
|
55724
|
+
requirementId: z67.literal("review_generated_site")
|
|
55438
55725
|
}),
|
|
55439
|
-
|
|
55440
|
-
requirementId:
|
|
55726
|
+
z67.object({
|
|
55727
|
+
requirementId: z67.literal(
|
|
55441
55728
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
55442
55729
|
),
|
|
55443
|
-
overrideReason:
|
|
55730
|
+
overrideReason: z67.literal(
|
|
55444
55731
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
55445
55732
|
)
|
|
55446
55733
|
})
|
|
55447
55734
|
]
|
|
55448
55735
|
);
|
|
55736
|
+
var goLiveSiteRequestSchema = z67.object({
|
|
55737
|
+
acceptExtraSiteCharge: z67.boolean().optional()
|
|
55738
|
+
});
|
|
55449
55739
|
|
|
55450
55740
|
// ../surfaces/src/index.ts
|
|
55451
55741
|
var SURFACE_IDS = ["core", "macadamia"];
|
|
@@ -55625,79 +55915,94 @@ function isRecord4(value) {
|
|
|
55625
55915
|
}
|
|
55626
55916
|
|
|
55627
55917
|
// ../api/src/appointmentSetup.ts
|
|
55628
|
-
import { z as
|
|
55629
|
-
var appointmentSetupRefSchema =
|
|
55630
|
-
|
|
55631
|
-
|
|
55918
|
+
import { z as z68 } from "zod";
|
|
55919
|
+
var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
|
|
55920
|
+
z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
|
|
55921
|
+
z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
|
|
55632
55922
|
]);
|
|
55633
|
-
var appointmentSetupVenueChoiceSchema =
|
|
55634
|
-
|
|
55635
|
-
|
|
55636
|
-
|
|
55637
|
-
kind:
|
|
55638
|
-
draftId:
|
|
55639
|
-
title:
|
|
55640
|
-
description:
|
|
55641
|
-
timezone:
|
|
55642
|
-
addressJson:
|
|
55643
|
-
locationJson:
|
|
55923
|
+
var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
|
|
55924
|
+
z68.object({ kind: z68.literal("none") }),
|
|
55925
|
+
z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
|
|
55926
|
+
z68.object({
|
|
55927
|
+
kind: z68.literal("create"),
|
|
55928
|
+
draftId: z68.string().min(1),
|
|
55929
|
+
title: z68.string().trim().min(1),
|
|
55930
|
+
description: z68.string().nullable(),
|
|
55931
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
55932
|
+
addressJson: z68.record(z68.string(), z68.unknown()),
|
|
55933
|
+
locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
|
|
55644
55934
|
})
|
|
55645
55935
|
]);
|
|
55646
|
-
var appointmentSetupPaymentDraftSchema =
|
|
55647
|
-
priceType:
|
|
55648
|
-
});
|
|
55649
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
55650
|
-
|
|
55651
|
-
|
|
55652
|
-
kind:
|
|
55653
|
-
resourceRefs:
|
|
55936
|
+
var appointmentSetupPaymentDraftSchema = z68.object({
|
|
55937
|
+
priceType: z68.union([z68.literal("free"), z68.literal("paid")])
|
|
55938
|
+
});
|
|
55939
|
+
var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
|
|
55940
|
+
z68.object({ kind: z68.literal("all_practitioners") }),
|
|
55941
|
+
z68.object({
|
|
55942
|
+
kind: z68.literal("selected_practitioners"),
|
|
55943
|
+
resourceRefs: z68.array(appointmentSetupRefSchema)
|
|
55654
55944
|
})
|
|
55655
55945
|
]);
|
|
55656
|
-
var appointmentSetupServiceDraftSchema =
|
|
55946
|
+
var appointmentSetupServiceDraftSchema = z68.object({
|
|
55657
55947
|
ref: appointmentSetupRefSchema,
|
|
55658
|
-
title:
|
|
55659
|
-
description:
|
|
55660
|
-
durationMinutes:
|
|
55661
|
-
priceAmount:
|
|
55662
|
-
isActive:
|
|
55663
|
-
locationType:
|
|
55664
|
-
|
|
55665
|
-
|
|
55666
|
-
|
|
55948
|
+
title: z68.string().trim().min(1),
|
|
55949
|
+
description: z68.string().nullable(),
|
|
55950
|
+
durationMinutes: z68.number().int().positive(),
|
|
55951
|
+
priceAmount: z68.number().int().nonnegative().nullable(),
|
|
55952
|
+
isActive: z68.boolean(),
|
|
55953
|
+
locationType: z68.union([
|
|
55954
|
+
z68.literal("virtual"),
|
|
55955
|
+
z68.literal("in_person"),
|
|
55956
|
+
z68.literal("hybrid")
|
|
55667
55957
|
]),
|
|
55668
55958
|
venue: appointmentSetupVenueChoiceSchema,
|
|
55669
|
-
timezone:
|
|
55959
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
55670
55960
|
payment: appointmentSetupPaymentDraftSchema,
|
|
55671
55961
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
55962
|
+
}).superRefine((service, ctx) => {
|
|
55963
|
+
if (service.payment.priceType === "paid" && (service.priceAmount === null || service.priceAmount <= 0)) {
|
|
55964
|
+
ctx.addIssue({
|
|
55965
|
+
code: "custom",
|
|
55966
|
+
path: ["priceAmount"],
|
|
55967
|
+
message: "Paid appointment services need a positive price."
|
|
55968
|
+
});
|
|
55969
|
+
}
|
|
55970
|
+
if (service.payment.priceType === "free" && service.priceAmount !== null && service.priceAmount > 0) {
|
|
55971
|
+
ctx.addIssue({
|
|
55972
|
+
code: "custom",
|
|
55973
|
+
path: ["priceAmount"],
|
|
55974
|
+
message: "Free appointment services cannot carry a positive price."
|
|
55975
|
+
});
|
|
55976
|
+
}
|
|
55672
55977
|
});
|
|
55673
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
55978
|
+
var appointmentSetupPractitionerDraftSchema = z68.object({
|
|
55674
55979
|
ref: appointmentSetupRefSchema,
|
|
55675
|
-
displayName:
|
|
55676
|
-
bio:
|
|
55677
|
-
timezone:
|
|
55678
|
-
colorHex:
|
|
55679
|
-
});
|
|
55680
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
55681
|
-
weekday:
|
|
55682
|
-
startTime:
|
|
55683
|
-
endTime:
|
|
55684
|
-
});
|
|
55685
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
55686
|
-
kind:
|
|
55980
|
+
displayName: z68.string().trim().min(1),
|
|
55981
|
+
bio: z68.string().nullable(),
|
|
55982
|
+
timezone: z68.string().trim().min(1),
|
|
55983
|
+
colorHex: z68.string().nullable()
|
|
55984
|
+
});
|
|
55985
|
+
var appointmentSetupWeeklyWindowDraftSchema = z68.object({
|
|
55986
|
+
weekday: z68.number().int().min(0).max(6),
|
|
55987
|
+
startTime: z68.string(),
|
|
55988
|
+
endTime: z68.string()
|
|
55989
|
+
});
|
|
55990
|
+
var appointmentSetupAvailabilityDraftSchema = z68.object({
|
|
55991
|
+
kind: z68.literal("weekly_windows"),
|
|
55687
55992
|
resourceRef: appointmentSetupRefSchema,
|
|
55688
55993
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
55689
|
-
windows:
|
|
55994
|
+
windows: z68.array(appointmentSetupWeeklyWindowDraftSchema)
|
|
55690
55995
|
});
|
|
55691
55996
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
55692
55997
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
55693
|
-
var appointmentSetupBookingNoticeSchema =
|
|
55694
|
-
minLeadMinutes:
|
|
55695
|
-
maxBookingNoticeMinutes:
|
|
55696
|
-
});
|
|
55697
|
-
var applyAppointmentSetupRequestSchema =
|
|
55698
|
-
services:
|
|
55699
|
-
practitioners:
|
|
55700
|
-
availability:
|
|
55998
|
+
var appointmentSetupBookingNoticeSchema = z68.object({
|
|
55999
|
+
minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
56000
|
+
maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
56001
|
+
});
|
|
56002
|
+
var applyAppointmentSetupRequestSchema = z68.object({
|
|
56003
|
+
services: z68.array(appointmentSetupServiceDraftSchema),
|
|
56004
|
+
practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
|
|
56005
|
+
availability: z68.array(appointmentSetupAvailabilityDraftSchema),
|
|
55701
56006
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
55702
56007
|
});
|
|
55703
56008
|
|
|
@@ -55730,24 +56035,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
55730
56035
|
];
|
|
55731
56036
|
|
|
55732
56037
|
// ../api/src/siteBanner.ts
|
|
55733
|
-
import { z as
|
|
56038
|
+
import { z as z69 } from "zod";
|
|
55734
56039
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
55735
56040
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
55736
56041
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
55737
56042
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
55738
|
-
var siteBannerScopeSchema =
|
|
55739
|
-
var siteBannerToneSchema =
|
|
55740
|
-
var siteBannerBodySchema =
|
|
55741
|
-
var siteBannerCtaSchema =
|
|
55742
|
-
label:
|
|
56043
|
+
var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
|
|
56044
|
+
var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
|
|
56045
|
+
var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
|
|
56046
|
+
var siteBannerCtaSchema = z69.object({
|
|
56047
|
+
label: z69.string().trim().min(1),
|
|
55743
56048
|
link: linkPayloadSchema
|
|
55744
56049
|
});
|
|
55745
|
-
var siteBannerSettingsSchema =
|
|
55746
|
-
|
|
55747
|
-
enabled:
|
|
56050
|
+
var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
|
|
56051
|
+
z69.object({
|
|
56052
|
+
enabled: z69.literal(false)
|
|
55748
56053
|
}),
|
|
55749
|
-
|
|
55750
|
-
enabled:
|
|
56054
|
+
z69.object({
|
|
56055
|
+
enabled: z69.literal(true),
|
|
55751
56056
|
scope: siteBannerScopeSchema,
|
|
55752
56057
|
tone: siteBannerToneSchema,
|
|
55753
56058
|
body: siteBannerBodySchema,
|
|
@@ -55761,7 +56066,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
55761
56066
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
55762
56067
|
for (const issue2 of analysis.issues) {
|
|
55763
56068
|
ctx.addIssue({
|
|
55764
|
-
code:
|
|
56069
|
+
code: z69.ZodIssueCode.custom,
|
|
55765
56070
|
path: ["body"],
|
|
55766
56071
|
message: siteBannerBodyIssueMessage(issue2)
|
|
55767
56072
|
});
|
|
@@ -55985,71 +56290,71 @@ function parsePublicProductCategorySelector(value) {
|
|
|
55985
56290
|
}
|
|
55986
56291
|
|
|
55987
56292
|
// ../api/src/aiPlayground.ts
|
|
55988
|
-
import { z as
|
|
55989
|
-
var Rfc6902PatchOp =
|
|
56293
|
+
import { z as z70 } from "zod";
|
|
56294
|
+
var Rfc6902PatchOp = z70.discriminatedUnion("op", [
|
|
55990
56295
|
// Standard RFC-6902 operations
|
|
55991
|
-
|
|
55992
|
-
op:
|
|
55993
|
-
path:
|
|
55994
|
-
value:
|
|
56296
|
+
z70.object({
|
|
56297
|
+
op: z70.literal("add"),
|
|
56298
|
+
path: z70.string(),
|
|
56299
|
+
value: z70.unknown()
|
|
55995
56300
|
}),
|
|
55996
|
-
|
|
55997
|
-
op:
|
|
55998
|
-
path:
|
|
56301
|
+
z70.object({
|
|
56302
|
+
op: z70.literal("remove"),
|
|
56303
|
+
path: z70.string()
|
|
55999
56304
|
}),
|
|
56000
|
-
|
|
56001
|
-
op:
|
|
56002
|
-
path:
|
|
56003
|
-
value:
|
|
56305
|
+
z70.object({
|
|
56306
|
+
op: z70.literal("replace"),
|
|
56307
|
+
path: z70.string(),
|
|
56308
|
+
value: z70.unknown()
|
|
56004
56309
|
}),
|
|
56005
|
-
|
|
56006
|
-
op:
|
|
56007
|
-
from:
|
|
56008
|
-
path:
|
|
56310
|
+
z70.object({
|
|
56311
|
+
op: z70.literal("move"),
|
|
56312
|
+
from: z70.string(),
|
|
56313
|
+
path: z70.string()
|
|
56009
56314
|
}),
|
|
56010
|
-
|
|
56011
|
-
op:
|
|
56012
|
-
from:
|
|
56013
|
-
path:
|
|
56315
|
+
z70.object({
|
|
56316
|
+
op: z70.literal("copy"),
|
|
56317
|
+
from: z70.string(),
|
|
56318
|
+
path: z70.string()
|
|
56014
56319
|
}),
|
|
56015
56320
|
// Block-level operations (Phase 2)
|
|
56016
|
-
|
|
56017
|
-
op:
|
|
56018
|
-
blockKind:
|
|
56019
|
-
afterBlockId:
|
|
56020
|
-
content:
|
|
56021
|
-
rationale:
|
|
56321
|
+
z70.object({
|
|
56322
|
+
op: z70.literal("add_block"),
|
|
56323
|
+
blockKind: z70.string(),
|
|
56324
|
+
afterBlockId: z70.string().nullable(),
|
|
56325
|
+
content: z70.record(z70.string(), z70.unknown()),
|
|
56326
|
+
rationale: z70.string()
|
|
56022
56327
|
}),
|
|
56023
|
-
|
|
56024
|
-
op:
|
|
56025
|
-
blockId:
|
|
56026
|
-
rationale:
|
|
56328
|
+
z70.object({
|
|
56329
|
+
op: z70.literal("delete_block"),
|
|
56330
|
+
blockId: z70.string(),
|
|
56331
|
+
rationale: z70.string()
|
|
56027
56332
|
}),
|
|
56028
|
-
|
|
56029
|
-
op:
|
|
56030
|
-
blockId:
|
|
56031
|
-
afterBlockId:
|
|
56032
|
-
rationale:
|
|
56333
|
+
z70.object({
|
|
56334
|
+
op: z70.literal("reorder_block"),
|
|
56335
|
+
blockId: z70.string(),
|
|
56336
|
+
afterBlockId: z70.string().nullable(),
|
|
56337
|
+
rationale: z70.string()
|
|
56033
56338
|
})
|
|
56034
56339
|
]);
|
|
56035
|
-
var PlaygroundProposeRequest =
|
|
56036
|
-
request:
|
|
56340
|
+
var PlaygroundProposeRequest = z70.object({
|
|
56341
|
+
request: z70.string().min(1).max(2e3)
|
|
56037
56342
|
});
|
|
56038
|
-
var MultiPagePatchEnvelope =
|
|
56039
|
-
pageId:
|
|
56040
|
-
blockId:
|
|
56343
|
+
var MultiPagePatchEnvelope = z70.object({
|
|
56344
|
+
pageId: z70.string(),
|
|
56345
|
+
blockId: z70.string().optional(),
|
|
56041
56346
|
// Not present for page-level ops
|
|
56042
|
-
blockKind:
|
|
56043
|
-
blockPurpose:
|
|
56044
|
-
ops:
|
|
56045
|
-
rationale:
|
|
56046
|
-
currentContent:
|
|
56047
|
-
});
|
|
56048
|
-
var MultiPageUpdateResponse =
|
|
56049
|
-
patches:
|
|
56050
|
-
assistantMessage:
|
|
56051
|
-
pagesModified:
|
|
56052
|
-
toolCallsUsed:
|
|
56347
|
+
blockKind: z70.string().optional(),
|
|
56348
|
+
blockPurpose: z70.string().optional().nullable(),
|
|
56349
|
+
ops: z70.array(Rfc6902PatchOp),
|
|
56350
|
+
rationale: z70.string(),
|
|
56351
|
+
currentContent: z70.record(z70.string(), z70.unknown()).optional()
|
|
56352
|
+
});
|
|
56353
|
+
var MultiPageUpdateResponse = z70.object({
|
|
56354
|
+
patches: z70.array(MultiPagePatchEnvelope),
|
|
56355
|
+
assistantMessage: z70.string(),
|
|
56356
|
+
pagesModified: z70.number(),
|
|
56357
|
+
toolCallsUsed: z70.number()
|
|
56053
56358
|
});
|
|
56054
56359
|
|
|
56055
56360
|
// src/data/prefetchBlockData.ts
|