@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
|
@@ -1367,7 +1367,7 @@ var manifestSchema = z3.object({
|
|
|
1367
1367
|
var TEL_RE = /^[+()0-9\s-]{3,}$/;
|
|
1368
1368
|
var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
|
|
1369
1369
|
var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
1370
|
-
function
|
|
1370
|
+
function assertNever(value) {
|
|
1371
1371
|
throw new Error(`Unhandled field validation variant: ${JSON.stringify(value)}`);
|
|
1372
1372
|
}
|
|
1373
1373
|
function validationContext(options = {}) {
|
|
@@ -1419,7 +1419,7 @@ function fieldIssueToMessage(issue2) {
|
|
|
1419
1419
|
case "invalidReference":
|
|
1420
1420
|
return `${issue2.label} must reference a valid item`;
|
|
1421
1421
|
default:
|
|
1422
|
-
return
|
|
1422
|
+
return assertNever(issue2);
|
|
1423
1423
|
}
|
|
1424
1424
|
}
|
|
1425
1425
|
function pluralize(label, count) {
|
|
@@ -1504,7 +1504,7 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
1504
1504
|
case "entryPicker":
|
|
1505
1505
|
return makePlan("passthrough", "unknown", field, path, false, []);
|
|
1506
1506
|
default:
|
|
1507
|
-
return
|
|
1507
|
+
return assertNever(field);
|
|
1508
1508
|
}
|
|
1509
1509
|
}
|
|
1510
1510
|
function commonConstraints(required, ...specific) {
|
|
@@ -1561,7 +1561,7 @@ function resolveSelectConstraintSource(field) {
|
|
|
1561
1561
|
case "sdk":
|
|
1562
1562
|
return { kind: "runtime", source: source.kind };
|
|
1563
1563
|
default:
|
|
1564
|
-
return
|
|
1564
|
+
return assertNever(source);
|
|
1565
1565
|
}
|
|
1566
1566
|
}
|
|
1567
1567
|
function normalizeFieldValue(plan, value, ctx) {
|
|
@@ -1582,7 +1582,7 @@ function normalizeFieldValue(plan, value, ctx) {
|
|
|
1582
1582
|
case "passthrough":
|
|
1583
1583
|
return value;
|
|
1584
1584
|
default:
|
|
1585
|
-
return
|
|
1585
|
+
return assertNever(plan);
|
|
1586
1586
|
}
|
|
1587
1587
|
}
|
|
1588
1588
|
function normalizeObjectChildren(children, value, ctx) {
|
|
@@ -1641,7 +1641,7 @@ function validateNormalizedFieldValue(plan, value, ctx) {
|
|
|
1641
1641
|
case "passthrough":
|
|
1642
1642
|
return [];
|
|
1643
1643
|
default:
|
|
1644
|
-
return
|
|
1644
|
+
return assertNever(plan);
|
|
1645
1645
|
}
|
|
1646
1646
|
}
|
|
1647
1647
|
function shouldRequireValue(plan, value, ctx) {
|
|
@@ -1684,7 +1684,7 @@ function validateStringConstraint(plan, constraint, value) {
|
|
|
1684
1684
|
case "slugFormat":
|
|
1685
1685
|
return SLUG_PATTERN.test(value) ? [] : [issue(plan, "invalidSlug")];
|
|
1686
1686
|
default:
|
|
1687
|
-
return
|
|
1687
|
+
return assertNever(constraint);
|
|
1688
1688
|
}
|
|
1689
1689
|
}
|
|
1690
1690
|
function validateNumberPlan(plan, value) {
|
|
@@ -1701,7 +1701,7 @@ function validateNumberConstraint(plan, constraint, value) {
|
|
|
1701
1701
|
case "numberMax":
|
|
1702
1702
|
return value > constraint.maximum ? [issue(plan, "tooLarge", { maximum: constraint.maximum })] : [];
|
|
1703
1703
|
default:
|
|
1704
|
-
return
|
|
1704
|
+
return assertNever(constraint);
|
|
1705
1705
|
}
|
|
1706
1706
|
}
|
|
1707
1707
|
function validateSelectPlan(plan, value) {
|
|
@@ -1721,7 +1721,7 @@ function validateRepeaterPlan(plan, value, ctx) {
|
|
|
1721
1721
|
case "maxItems":
|
|
1722
1722
|
return value.length > constraint.maximum ? [issue(plan, "tooManyItems", { maximum: constraint.maximum, itemLabel: "item" })] : [];
|
|
1723
1723
|
default:
|
|
1724
|
-
return
|
|
1724
|
+
return assertNever(constraint);
|
|
1725
1725
|
}
|
|
1726
1726
|
});
|
|
1727
1727
|
return [
|
|
@@ -1788,7 +1788,7 @@ function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
|
|
|
1788
1788
|
path
|
|
1789
1789
|
};
|
|
1790
1790
|
default:
|
|
1791
|
-
return
|
|
1791
|
+
return assertNever(plan);
|
|
1792
1792
|
}
|
|
1793
1793
|
}
|
|
1794
1794
|
function rebaseFieldPath(path, fromPrefix, toPrefix) {
|
|
@@ -1868,7 +1868,7 @@ function addFieldIssueToZodContext(zodCtx, validationIssue) {
|
|
|
1868
1868
|
zodCtx.addIssue({ code: "custom", message });
|
|
1869
1869
|
return;
|
|
1870
1870
|
default:
|
|
1871
|
-
|
|
1871
|
+
assertNever(validationIssue);
|
|
1872
1872
|
}
|
|
1873
1873
|
}
|
|
1874
1874
|
function compilePattern(pattern) {
|
|
@@ -1992,6 +1992,144 @@ function resolveVariantKey(manifest, content) {
|
|
|
1992
1992
|
return null;
|
|
1993
1993
|
}
|
|
1994
1994
|
|
|
1995
|
+
// ../theme-core/src/palette/utils/colorConversion.ts
|
|
1996
|
+
var clamp01 = (x) => Math.max(0, Math.min(1, x));
|
|
1997
|
+
var mod = (a, n) => (a % n + n) % n;
|
|
1998
|
+
var deg = (x) => mod(x, 360);
|
|
1999
|
+
function hexToRgb(hex) {
|
|
2000
|
+
const h = hex.replace(/^#/, "");
|
|
2001
|
+
const m = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
|
|
2002
|
+
if (m.length !== 6) throw new Error("Bad hex");
|
|
2003
|
+
const int = parseInt(m, 16);
|
|
2004
|
+
return { r: int >> 16 & 255, g: int >> 8 & 255, b: int & 255 };
|
|
2005
|
+
}
|
|
2006
|
+
function rgbToHex(r2, g, b) {
|
|
2007
|
+
const to = (n) => Math.round(n).toString(16).padStart(2, "0");
|
|
2008
|
+
return `#${to(r2)}${to(g)}${to(b)}`;
|
|
2009
|
+
}
|
|
2010
|
+
function srgbToLinear(u) {
|
|
2011
|
+
const x = u / 255;
|
|
2012
|
+
return x <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
|
|
2013
|
+
}
|
|
2014
|
+
function linearToSrgb(x) {
|
|
2015
|
+
const y = x <= 31308e-7 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055;
|
|
2016
|
+
return clamp01(y) * 255;
|
|
2017
|
+
}
|
|
2018
|
+
function rgbToHsl(r2, g, b) {
|
|
2019
|
+
const R = r2 / 255, G = g / 255, B = b / 255;
|
|
2020
|
+
const max = Math.max(R, G, B), min = Math.min(R, G, B);
|
|
2021
|
+
const d = max - min;
|
|
2022
|
+
let h = 0;
|
|
2023
|
+
if (d !== 0) {
|
|
2024
|
+
switch (max) {
|
|
2025
|
+
case R:
|
|
2026
|
+
h = (G - B) / d + (G < B ? 6 : 0);
|
|
2027
|
+
break;
|
|
2028
|
+
case G:
|
|
2029
|
+
h = (B - R) / d + 2;
|
|
2030
|
+
break;
|
|
2031
|
+
case B:
|
|
2032
|
+
h = (R - G) / d + 4;
|
|
2033
|
+
break;
|
|
2034
|
+
}
|
|
2035
|
+
h *= 60;
|
|
2036
|
+
}
|
|
2037
|
+
const l = (max + min) / 2;
|
|
2038
|
+
const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));
|
|
2039
|
+
return { h, s, l };
|
|
2040
|
+
}
|
|
2041
|
+
function srgbToOklab(r2, g, b) {
|
|
2042
|
+
const R = srgbToLinear(r2), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
2043
|
+
const l = 0.4122214708 * R + 0.5363325363 * G + 0.0514459929 * B;
|
|
2044
|
+
const m = 0.2119034982 * R + 0.6806995451 * G + 0.1073969566 * B;
|
|
2045
|
+
const s = 0.0883024619 * R + 0.2817188376 * G + 0.6299787005 * B;
|
|
2046
|
+
const l_ = Math.cbrt(l), m_ = Math.cbrt(m), s_ = Math.cbrt(s);
|
|
2047
|
+
const L = 0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_;
|
|
2048
|
+
const a = 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_;
|
|
2049
|
+
const b2 = 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_;
|
|
2050
|
+
return { L, a, b: b2 };
|
|
2051
|
+
}
|
|
2052
|
+
function oklabToSrgb(L, a, b) {
|
|
2053
|
+
const l_ = Math.pow(L + 0.3963377774 * a + 0.2158037573 * b, 3);
|
|
2054
|
+
const m_ = Math.pow(L - 0.1055613458 * a - 0.0638541728 * b, 3);
|
|
2055
|
+
const s_ = Math.pow(L - 0.0894841775 * a - 1.291485548 * b, 3);
|
|
2056
|
+
const R = 4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_;
|
|
2057
|
+
const G = -1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_;
|
|
2058
|
+
const B = -0.0041960863 * l_ - 0.7034186147 * m_ + 1.707614701 * s_;
|
|
2059
|
+
return { r: linearToSrgb(R), g: linearToSrgb(G), b: linearToSrgb(B) };
|
|
2060
|
+
}
|
|
2061
|
+
function oklabToOklch(L, a, b) {
|
|
2062
|
+
const C = Math.sqrt(a * a + b * b);
|
|
2063
|
+
const h = C < 1e-7 ? 0 : deg(Math.atan2(b, a) * 180 / Math.PI);
|
|
2064
|
+
return { L, C, h };
|
|
2065
|
+
}
|
|
2066
|
+
function oklchToOklab(L, C, h) {
|
|
2067
|
+
const hr = h * Math.PI / 180;
|
|
2068
|
+
const a = C * Math.cos(hr);
|
|
2069
|
+
const b = C * Math.sin(hr);
|
|
2070
|
+
return { L, a, b };
|
|
2071
|
+
}
|
|
2072
|
+
function inSRGB(r2, g, b) {
|
|
2073
|
+
return r2 >= 0 && r2 <= 255 && g >= 0 && g <= 255 && b >= 0 && b <= 255;
|
|
2074
|
+
}
|
|
2075
|
+
function oklchToHexGamut(L, C, h) {
|
|
2076
|
+
let lo = 0, hi = C, best = 0;
|
|
2077
|
+
for (let i = 0; i < 18; i++) {
|
|
2078
|
+
const mid = (lo + hi) / 2;
|
|
2079
|
+
const { a: a2, b: b2 } = oklchToOklab(L, mid, h);
|
|
2080
|
+
const { r: r3, g: g2, b: bb2 } = oklabToSrgb(L, a2, b2);
|
|
2081
|
+
if (inSRGB(r3, g2, bb2)) {
|
|
2082
|
+
best = mid;
|
|
2083
|
+
lo = mid;
|
|
2084
|
+
} else {
|
|
2085
|
+
hi = mid;
|
|
2086
|
+
}
|
|
2087
|
+
}
|
|
2088
|
+
const { a, b } = oklchToOklab(L, best, h);
|
|
2089
|
+
const { r: r2, g, b: bb } = oklabToSrgb(L, a, b);
|
|
2090
|
+
return rgbToHex(r2, g, bb);
|
|
2091
|
+
}
|
|
2092
|
+
function featuresFromHex(hex) {
|
|
2093
|
+
const { r: r2, g, b } = hexToRgb(hex);
|
|
2094
|
+
const { h, s, l } = rgbToHsl(r2, g, b);
|
|
2095
|
+
const { L, a, b: b2 } = srgbToOklab(r2, g, b);
|
|
2096
|
+
const { L: okL, C: okC, h: okH } = oklabToOklch(L, a, b2);
|
|
2097
|
+
const max = Math.max(r2, g, b);
|
|
2098
|
+
const v = max / 255;
|
|
2099
|
+
const Y = 0.2126 * srgbToLinear(r2) + 0.7152 * srgbToLinear(g) + 0.0722 * srgbToLinear(b);
|
|
2100
|
+
const chroma = s;
|
|
2101
|
+
return { r: r2, g, b, h, s, l, v, Y, chroma, okL, okC, okH, hex };
|
|
2102
|
+
}
|
|
2103
|
+
|
|
2104
|
+
// ../theme-core/src/palette/utils/contrast.ts
|
|
2105
|
+
function relativeLuminance(r2, g, b) {
|
|
2106
|
+
const R = srgbToLinear(r2), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
2107
|
+
return 0.2126 * R + 0.7152 * G + 0.0722 * B;
|
|
2108
|
+
}
|
|
2109
|
+
|
|
2110
|
+
// ../theme-core/src/palette/utils/onColor.ts
|
|
2111
|
+
var BACKGROUND_ROLE_NAMES = /* @__PURE__ */ new Set([
|
|
2112
|
+
"primary",
|
|
2113
|
+
"secondary",
|
|
2114
|
+
"accent",
|
|
2115
|
+
"success",
|
|
2116
|
+
"warning",
|
|
2117
|
+
"destructive",
|
|
2118
|
+
"info",
|
|
2119
|
+
"background",
|
|
2120
|
+
"surface",
|
|
2121
|
+
"surfaceAlt",
|
|
2122
|
+
"muted",
|
|
2123
|
+
"neutral"
|
|
2124
|
+
]);
|
|
2125
|
+
function onColorTokenName(backgroundToken) {
|
|
2126
|
+
return `on${backgroundToken.split("-").filter((part) => part.length > 0).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("")}`;
|
|
2127
|
+
}
|
|
2128
|
+
function isOnColorBackgroundCandidateToken(token) {
|
|
2129
|
+
const role = token.match(/^(.*?)(?:-\d{2,3})?$/)?.[1] ?? token;
|
|
2130
|
+
return BACKGROUND_ROLE_NAMES.has(role);
|
|
2131
|
+
}
|
|
2132
|
+
|
|
1995
2133
|
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
1996
2134
|
function assertValidOptionGroups(preset2) {
|
|
1997
2135
|
preset2.optionGroups?.forEach((group) => {
|
|
@@ -7148,11 +7286,21 @@ function asHeaderLookId(value) {
|
|
|
7148
7286
|
return value;
|
|
7149
7287
|
}
|
|
7150
7288
|
function baseHeader(theme) {
|
|
7289
|
+
const {
|
|
7290
|
+
navLinkStyle: _navLinkStyle,
|
|
7291
|
+
dropdownStyle: _dropdownStyle,
|
|
7292
|
+
ctaVariant: _ctaVariant,
|
|
7293
|
+
navContainer: _navContainer,
|
|
7294
|
+
container: _container,
|
|
7295
|
+
shadow: _shadow,
|
|
7296
|
+
logo: _logo,
|
|
7297
|
+
logoText: _logoText,
|
|
7298
|
+
border: _border,
|
|
7299
|
+
...header
|
|
7300
|
+
} = theme.header;
|
|
7151
7301
|
return {
|
|
7152
|
-
...
|
|
7153
|
-
|
|
7154
|
-
dropdownStyle: void 0,
|
|
7155
|
-
ctaVariant: void 0
|
|
7302
|
+
...header,
|
|
7303
|
+
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
7156
7304
|
};
|
|
7157
7305
|
}
|
|
7158
7306
|
function solidBrandHeader(theme) {
|
|
@@ -7603,6 +7751,9 @@ var curatedSiteStyleIdValues = [
|
|
|
7603
7751
|
"site-style:bright-community",
|
|
7604
7752
|
"site-style:quiet-luxury",
|
|
7605
7753
|
"site-style:practical-services",
|
|
7754
|
+
"site-style:quiet-practice",
|
|
7755
|
+
"site-style:personal-retreat-journal",
|
|
7756
|
+
"site-style:tactile-workshop",
|
|
7606
7757
|
"site-style:modern-wellness",
|
|
7607
7758
|
"site-style:bold-launch",
|
|
7608
7759
|
"site-style:south-west-twerk-school"
|
|
@@ -7685,7 +7836,8 @@ function defineCuratedSiteStyle(input) {
|
|
|
7685
7836
|
name: input.name,
|
|
7686
7837
|
description: input.description,
|
|
7687
7838
|
generationBrief: input.generationBrief,
|
|
7688
|
-
|
|
7839
|
+
selectionKeywordRules: input.selectionKeywordRules ?? [],
|
|
7840
|
+
siteCreatorSelection: input.siteCreatorSelection ?? { kind: "explicit_only" },
|
|
7689
7841
|
template: {
|
|
7690
7842
|
id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
|
|
7691
7843
|
name: input.name,
|
|
@@ -7829,12 +7981,13 @@ var curatedSiteStyles = [
|
|
|
7829
7981
|
name: "Quiet Luxury",
|
|
7830
7982
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
7831
7983
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
7832
|
-
|
|
7833
|
-
|
|
7834
|
-
"
|
|
7835
|
-
"
|
|
7836
|
-
"
|
|
7837
|
-
"
|
|
7984
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 20 },
|
|
7985
|
+
selectionKeywordRules: [
|
|
7986
|
+
{ kind: "word", value: "luxury" },
|
|
7987
|
+
{ kind: "word", value: "premium" },
|
|
7988
|
+
{ kind: "word", value: "boutique" },
|
|
7989
|
+
{ kind: "word", value: "bespoke" },
|
|
7990
|
+
{ kind: "word", value: "exclusive" }
|
|
7838
7991
|
],
|
|
7839
7992
|
tokenRecipes: {
|
|
7840
7993
|
palette: "high-contrast",
|
|
@@ -7863,13 +8016,14 @@ var curatedSiteStyles = [
|
|
|
7863
8016
|
name: "Practical Services",
|
|
7864
8017
|
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
7865
8018
|
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
7866
|
-
|
|
7867
|
-
|
|
7868
|
-
"
|
|
7869
|
-
"
|
|
7870
|
-
"
|
|
7871
|
-
"
|
|
7872
|
-
"
|
|
8019
|
+
siteCreatorSelection: { kind: "primary_goal_support" },
|
|
8020
|
+
selectionKeywordRules: [
|
|
8021
|
+
{ kind: "word", value: "repair" },
|
|
8022
|
+
{ kind: "substring", value: "plumb" },
|
|
8023
|
+
{ kind: "substring", value: "electric" },
|
|
8024
|
+
{ kind: "word", value: "cleaning" },
|
|
8025
|
+
{ kind: "substring", value: "landscap" },
|
|
8026
|
+
{ kind: "substring", value: "contractor" }
|
|
7873
8027
|
],
|
|
7874
8028
|
tokenRecipes: {
|
|
7875
8029
|
palette: "brand-led",
|
|
@@ -7920,18 +8074,134 @@ var curatedSiteStyles = [
|
|
|
7920
8074
|
paletteChoice("warm-neutral-forest")
|
|
7921
8075
|
]
|
|
7922
8076
|
}),
|
|
8077
|
+
defineCuratedSiteStyle({
|
|
8078
|
+
id: "site-style:quiet-practice",
|
|
8079
|
+
name: "Quiet Practice",
|
|
8080
|
+
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
8081
|
+
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.",
|
|
8082
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 30 },
|
|
8083
|
+
selectionKeywordRules: [
|
|
8084
|
+
{ kind: "substring", value: "massage" },
|
|
8085
|
+
{ kind: "word", value: "bodywork" },
|
|
8086
|
+
{ kind: "phrase", value: "appointment practice" },
|
|
8087
|
+
{ kind: "phrase", value: "appointment-first" },
|
|
8088
|
+
{ kind: "substring", value: "practitioner" },
|
|
8089
|
+
{ kind: "substring", value: "therap" },
|
|
8090
|
+
{ kind: "substring", value: "clinic" },
|
|
8091
|
+
{ kind: "phrase", value: "wellness practice" }
|
|
8092
|
+
],
|
|
8093
|
+
tokenRecipes: {
|
|
8094
|
+
palette: "soft-natural",
|
|
8095
|
+
contrast: "standard",
|
|
8096
|
+
radius: "soft",
|
|
8097
|
+
shadow: "subtle",
|
|
8098
|
+
typography: "clean-sans",
|
|
8099
|
+
spacing: "regular",
|
|
8100
|
+
motion: "subtle"
|
|
8101
|
+
},
|
|
8102
|
+
compositionBudget: quietBudget,
|
|
8103
|
+
recommendedHeaderLookIds: ["practical-utility", "clean-base", "centered-calm"],
|
|
8104
|
+
buttonPersonalityChoices: [
|
|
8105
|
+
buttonChoice("pebble"),
|
|
8106
|
+
buttonChoice("soft-pill"),
|
|
8107
|
+
buttonChoice("editorial-link")
|
|
8108
|
+
],
|
|
8109
|
+
paletteVariantChoices: [
|
|
8110
|
+
paletteChoice("soft-natural-stone"),
|
|
8111
|
+
paletteChoice("soft-natural-sage"),
|
|
8112
|
+
paletteChoice("warm-neutral-clay")
|
|
8113
|
+
]
|
|
8114
|
+
}),
|
|
8115
|
+
defineCuratedSiteStyle({
|
|
8116
|
+
id: "site-style:personal-retreat-journal",
|
|
8117
|
+
name: "Personal Retreat Journal",
|
|
8118
|
+
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
8119
|
+
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.",
|
|
8120
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 40 },
|
|
8121
|
+
selectionKeywordRules: [
|
|
8122
|
+
{ kind: "substring", value: "retreat" },
|
|
8123
|
+
{ kind: "phrase", value: "solo practitioner" },
|
|
8124
|
+
{ kind: "phrase", value: "personal brand" },
|
|
8125
|
+
{ kind: "substring", value: "teacher" },
|
|
8126
|
+
{ kind: "substring", value: "coach" },
|
|
8127
|
+
{ kind: "phrase", value: "retreat resources" },
|
|
8128
|
+
{ kind: "substring", value: "journal" }
|
|
8129
|
+
],
|
|
8130
|
+
tokenRecipes: {
|
|
8131
|
+
palette: "warm-neutral",
|
|
8132
|
+
contrast: "standard",
|
|
8133
|
+
radius: "soft",
|
|
8134
|
+
shadow: "subtle",
|
|
8135
|
+
typography: "serif-editorial",
|
|
8136
|
+
spacing: "airy",
|
|
8137
|
+
motion: "subtle"
|
|
8138
|
+
},
|
|
8139
|
+
compositionBudget: balancedBudget,
|
|
8140
|
+
recommendedHeaderLookIds: ["editorial-line", "centered-calm", "minimal-transparent"],
|
|
8141
|
+
buttonPersonalityChoices: [
|
|
8142
|
+
buttonChoice("editorial-link"),
|
|
8143
|
+
buttonChoice("soft-pill"),
|
|
8144
|
+
buttonChoice("brushed-wash")
|
|
8145
|
+
],
|
|
8146
|
+
paletteVariantChoices: [
|
|
8147
|
+
paletteChoice("warm-neutral-forest"),
|
|
8148
|
+
paletteChoice("warm-neutral-clay"),
|
|
8149
|
+
paletteChoice("soft-natural-stone")
|
|
8150
|
+
]
|
|
8151
|
+
}),
|
|
8152
|
+
defineCuratedSiteStyle({
|
|
8153
|
+
id: "site-style:tactile-workshop",
|
|
8154
|
+
name: "Tactile Workshop",
|
|
8155
|
+
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
8156
|
+
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.",
|
|
8157
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 50 },
|
|
8158
|
+
selectionKeywordRules: [
|
|
8159
|
+
{ kind: "substring", value: "ceramic" },
|
|
8160
|
+
{ kind: "word", value: "pottery" },
|
|
8161
|
+
{ kind: "phrase", value: "maker studio" },
|
|
8162
|
+
{ kind: "phrase", value: "craft class" },
|
|
8163
|
+
{ kind: "phrase", value: "craft workshop" },
|
|
8164
|
+
{ kind: "word", value: "clay" },
|
|
8165
|
+
{ kind: "word", value: "kiln" }
|
|
8166
|
+
],
|
|
8167
|
+
tokenRecipes: {
|
|
8168
|
+
palette: "brand-led",
|
|
8169
|
+
contrast: "standard",
|
|
8170
|
+
radius: "soft",
|
|
8171
|
+
shadow: "subtle",
|
|
8172
|
+
typography: "friendly-sans",
|
|
8173
|
+
spacing: "regular",
|
|
8174
|
+
motion: "subtle"
|
|
8175
|
+
},
|
|
8176
|
+
compositionBudget: balancedBudget,
|
|
8177
|
+
recommendedHeaderLookIds: ["brand-solid", "practical-utility", "clean-base"],
|
|
8178
|
+
recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
|
|
8179
|
+
buttonPersonalityChoices: [
|
|
8180
|
+
buttonChoice("pebble"),
|
|
8181
|
+
buttonChoice("confident-chip"),
|
|
8182
|
+
buttonChoice("ink-stamp"),
|
|
8183
|
+
buttonChoice("editorial-link")
|
|
8184
|
+
],
|
|
8185
|
+
paletteVariantChoices: [
|
|
8186
|
+
paletteChoice("brand-led-warm"),
|
|
8187
|
+
paletteChoice("brand-led-cool"),
|
|
8188
|
+
paletteChoice("soft-natural-watercolor"),
|
|
8189
|
+
paletteChoice("warm-neutral-clay")
|
|
8190
|
+
]
|
|
8191
|
+
}),
|
|
7923
8192
|
defineCuratedSiteStyle({
|
|
7924
8193
|
id: "site-style:bold-launch",
|
|
7925
8194
|
name: "Bold Launch",
|
|
7926
8195
|
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
7927
8196
|
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
7928
|
-
|
|
7929
|
-
|
|
7930
|
-
"
|
|
7931
|
-
"
|
|
7932
|
-
"
|
|
7933
|
-
"
|
|
7934
|
-
"
|
|
8197
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 10 },
|
|
8198
|
+
selectionKeywordRules: [
|
|
8199
|
+
{ kind: "substring", value: "launch" },
|
|
8200
|
+
{ kind: "substring", value: "campaign" },
|
|
8201
|
+
{ kind: "word", value: "preorder" },
|
|
8202
|
+
{ kind: "phrase", value: "pre-order" },
|
|
8203
|
+
{ kind: "substring", value: "waitlist" },
|
|
8204
|
+
{ kind: "word", value: "drop" }
|
|
7935
8205
|
],
|
|
7936
8206
|
tokenRecipes: {
|
|
7937
8207
|
palette: "high-contrast",
|
|
@@ -7962,15 +8232,6 @@ var curatedSiteStyles = [
|
|
|
7962
8232
|
name: "South West Twerk School",
|
|
7963
8233
|
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
7964
8234
|
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.",
|
|
7965
|
-
selectionKeywords: [
|
|
7966
|
-
"dance",
|
|
7967
|
-
"classes",
|
|
7968
|
-
"workshop",
|
|
7969
|
-
"school",
|
|
7970
|
-
"movement",
|
|
7971
|
-
"performance",
|
|
7972
|
-
"community"
|
|
7973
|
-
],
|
|
7974
8235
|
tokenRecipes: {
|
|
7975
8236
|
palette: "brand-led",
|
|
7976
8237
|
contrast: "maximum",
|
|
@@ -8213,6 +8474,148 @@ var modernMinimalTheme = {
|
|
|
8213
8474
|
}
|
|
8214
8475
|
};
|
|
8215
8476
|
|
|
8477
|
+
// ../theme-core/src/palette/generateShades.ts
|
|
8478
|
+
function generateShades(hexColor, name) {
|
|
8479
|
+
const shadeSteps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
8480
|
+
const base = featuresFromHex(hexColor);
|
|
8481
|
+
const hue = base.okH;
|
|
8482
|
+
const baseChroma = base.okC;
|
|
8483
|
+
const toneMap = {
|
|
8484
|
+
50: 0.975,
|
|
8485
|
+
100: 0.945,
|
|
8486
|
+
200: 0.89,
|
|
8487
|
+
300: 0.82,
|
|
8488
|
+
400: 0.74,
|
|
8489
|
+
500: 0.66,
|
|
8490
|
+
600: 0.58,
|
|
8491
|
+
700: 0.49,
|
|
8492
|
+
800: 0.4,
|
|
8493
|
+
900: 0.28,
|
|
8494
|
+
950: 0.16
|
|
8495
|
+
};
|
|
8496
|
+
const shadeDefs = shadeSteps.map((step, idx) => {
|
|
8497
|
+
const t = idx / (shadeSteps.length - 1);
|
|
8498
|
+
const L = toneMap[step];
|
|
8499
|
+
const chromaFactor = 0.06 + 0.94 * Math.sin(Math.PI * t);
|
|
8500
|
+
const C = baseChroma * chromaFactor;
|
|
8501
|
+
return {
|
|
8502
|
+
name: `${name}-${step}`,
|
|
8503
|
+
hex: oklchToHexGamut(L, C, hue)
|
|
8504
|
+
};
|
|
8505
|
+
});
|
|
8506
|
+
shadeDefs.push({ name, hex: hexColor });
|
|
8507
|
+
return shadeDefs;
|
|
8508
|
+
}
|
|
8509
|
+
|
|
8510
|
+
// ../theme-core/src/palette/neutralScale.ts
|
|
8511
|
+
function generateNeutralScale({
|
|
8512
|
+
background,
|
|
8513
|
+
steps = 11,
|
|
8514
|
+
warm = false
|
|
8515
|
+
}) {
|
|
8516
|
+
const isDark = background === "#000000" || background.startsWith("#0") || background.startsWith("#1");
|
|
8517
|
+
const shadeNames = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
8518
|
+
const count = Math.min(steps, shadeNames.length);
|
|
8519
|
+
const scale = [];
|
|
8520
|
+
for (let i = 0; i < count; i++) {
|
|
8521
|
+
const t = i / (count - 1);
|
|
8522
|
+
const tone = isDark ? mix(0.06, 0.92, t) : mix(0.98, 0.1, t);
|
|
8523
|
+
const hex = oklchToHexGamut(tone, 0.02, warm ? 85 : 250);
|
|
8524
|
+
const name = `neutral-${shadeNames[i]}`;
|
|
8525
|
+
scale.push({ name, hex });
|
|
8526
|
+
}
|
|
8527
|
+
return scale;
|
|
8528
|
+
}
|
|
8529
|
+
function mix(a, b, t) {
|
|
8530
|
+
return a + (b - a) * Math.max(0, Math.min(1, t));
|
|
8531
|
+
}
|
|
8532
|
+
|
|
8533
|
+
// ../theme-core/src/palette/utils/textColor.ts
|
|
8534
|
+
function pickBlackOrWhiteTextColor(background, minContrast = 4.5) {
|
|
8535
|
+
const { r: r2, g, b } = parseColorToRgb(background);
|
|
8536
|
+
const luminance = relativeLuminance(r2, g, b);
|
|
8537
|
+
const blackContrast = (luminance + 0.05) / 0.05;
|
|
8538
|
+
const whiteContrast = 1.05 / (luminance + 0.05);
|
|
8539
|
+
if (blackContrast >= minContrast && whiteContrast < minContrast) {
|
|
8540
|
+
return "#000000";
|
|
8541
|
+
}
|
|
8542
|
+
if (whiteContrast >= minContrast && blackContrast < minContrast) {
|
|
8543
|
+
return "#FFFFFF";
|
|
8544
|
+
}
|
|
8545
|
+
return blackContrast >= whiteContrast ? "#000000" : "#FFFFFF";
|
|
8546
|
+
}
|
|
8547
|
+
function getTextColorForBackground(background) {
|
|
8548
|
+
return pickBlackOrWhiteTextColor(background);
|
|
8549
|
+
}
|
|
8550
|
+
function parseColorToRgb(input) {
|
|
8551
|
+
const trimmed = input.trim();
|
|
8552
|
+
if (trimmed.startsWith("#")) {
|
|
8553
|
+
return hexToRgb(trimmed);
|
|
8554
|
+
}
|
|
8555
|
+
const rgbMatch = trimmed.match(
|
|
8556
|
+
/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)$/i
|
|
8557
|
+
);
|
|
8558
|
+
if (rgbMatch?.[1] && rgbMatch[2] && rgbMatch[3]) {
|
|
8559
|
+
return {
|
|
8560
|
+
r: clamp255(Number(rgbMatch[1])),
|
|
8561
|
+
g: clamp255(Number(rgbMatch[2])),
|
|
8562
|
+
b: clamp255(Number(rgbMatch[3]))
|
|
8563
|
+
};
|
|
8564
|
+
}
|
|
8565
|
+
throw new Error("Unsupported color format");
|
|
8566
|
+
}
|
|
8567
|
+
function clamp255(value) {
|
|
8568
|
+
if (Number.isNaN(value)) return 0;
|
|
8569
|
+
return Math.max(0, Math.min(255, value));
|
|
8570
|
+
}
|
|
8571
|
+
|
|
8572
|
+
// ../theme-core/src/palette/expandPalette.ts
|
|
8573
|
+
function colorsToMap(palette) {
|
|
8574
|
+
const map = {};
|
|
8575
|
+
for (const c of palette.colors) {
|
|
8576
|
+
map[c.name] = c.hex;
|
|
8577
|
+
}
|
|
8578
|
+
return map;
|
|
8579
|
+
}
|
|
8580
|
+
function isBackgroundDark(hex) {
|
|
8581
|
+
try {
|
|
8582
|
+
return featuresFromHex(hex).Y < 0.5;
|
|
8583
|
+
} catch {
|
|
8584
|
+
return false;
|
|
8585
|
+
}
|
|
8586
|
+
}
|
|
8587
|
+
function expandPalette(palette) {
|
|
8588
|
+
const base = colorsToMap(palette);
|
|
8589
|
+
const expanded = { ...base };
|
|
8590
|
+
const background = base.background || base.surface || "#ffffff";
|
|
8591
|
+
const neutral2 = generateNeutralScale({ background, steps: 11, warm: false });
|
|
8592
|
+
neutral2.forEach((n) => {
|
|
8593
|
+
expanded[n.name] = n.hex;
|
|
8594
|
+
});
|
|
8595
|
+
for (const [name, hex] of Object.entries(base)) {
|
|
8596
|
+
if (hex) {
|
|
8597
|
+
const shades = generateShades(hex, name);
|
|
8598
|
+
shades.forEach((shade) => {
|
|
8599
|
+
expanded[shade.name] = shade.hex;
|
|
8600
|
+
});
|
|
8601
|
+
}
|
|
8602
|
+
}
|
|
8603
|
+
if (base.text) expanded.body = base.text;
|
|
8604
|
+
if (base.danger && !base.destructive) {
|
|
8605
|
+
expanded.destructive = base.danger;
|
|
8606
|
+
}
|
|
8607
|
+
const isDark = base.background ? isBackgroundDark(base.background) : false;
|
|
8608
|
+
const isDarkMode = palette.meta?.mode === "dark" || isDark;
|
|
8609
|
+
expanded.mutedText = isDarkMode ? expanded["neutral-600"] ?? "#666" : expanded["neutral-500"] ?? "#888";
|
|
8610
|
+
for (const [token, hex] of Object.entries({ ...expanded })) {
|
|
8611
|
+
if (!hex || !isOnColorBackgroundCandidateToken(token)) continue;
|
|
8612
|
+
const onToken = onColorTokenName(token);
|
|
8613
|
+
if (expanded[onToken]) continue;
|
|
8614
|
+
expanded[onToken] = getTextColorForBackground(hex);
|
|
8615
|
+
}
|
|
8616
|
+
return expanded;
|
|
8617
|
+
}
|
|
8618
|
+
|
|
8216
8619
|
// ../theme-core/src/site-styles/designState.ts
|
|
8217
8620
|
import { z as z24 } from "zod";
|
|
8218
8621
|
|
|
@@ -8381,25 +8784,19 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
8381
8784
|
"muted-band": {
|
|
8382
8785
|
background: {
|
|
8383
8786
|
type: "color",
|
|
8384
|
-
color: "muted"
|
|
8385
|
-
textColor: "text",
|
|
8386
|
-
headingColor: "text"
|
|
8787
|
+
color: "muted"
|
|
8387
8788
|
}
|
|
8388
8789
|
},
|
|
8389
8790
|
"accent-band": {
|
|
8390
8791
|
background: {
|
|
8391
8792
|
type: "color",
|
|
8392
|
-
color: "primary"
|
|
8393
|
-
textColor: "primaryForeground",
|
|
8394
|
-
headingColor: "primaryForeground"
|
|
8793
|
+
color: "primary"
|
|
8395
8794
|
}
|
|
8396
8795
|
},
|
|
8397
8796
|
"brand-depth-band": {
|
|
8398
8797
|
background: {
|
|
8399
8798
|
type: "color",
|
|
8400
|
-
color: "primary-800"
|
|
8401
|
-
textColor: "primaryForeground",
|
|
8402
|
-
headingColor: "primaryForeground"
|
|
8799
|
+
color: "primary-800"
|
|
8403
8800
|
}
|
|
8404
8801
|
},
|
|
8405
8802
|
"hero-image": {
|
|
@@ -14621,6 +15018,16 @@ var jsonArrayTransform = {
|
|
|
14621
15018
|
return "";
|
|
14622
15019
|
}
|
|
14623
15020
|
};
|
|
15021
|
+
var csvTransform = {
|
|
15022
|
+
id: "value.csv",
|
|
15023
|
+
kind: "formatter",
|
|
15024
|
+
summary: "Normalize a string or array of strings into a comma-separated list",
|
|
15025
|
+
run: (value) => {
|
|
15026
|
+
const rawValues = Array.isArray(value) ? value : typeof value === "string" ? value.split(",") : [];
|
|
15027
|
+
const normalized = rawValues.filter((item) => typeof item === "string").map((item) => item.trim()).filter(Boolean);
|
|
15028
|
+
return normalized.length > 0 ? Array.from(new Set(normalized)).join(",") : "";
|
|
15029
|
+
}
|
|
15030
|
+
};
|
|
14624
15031
|
var marqueeLoopOptionsSchema = z33.object({
|
|
14625
15032
|
minItems: z33.number().int().min(1).default(10)
|
|
14626
15033
|
});
|
|
@@ -14646,6 +15053,7 @@ var formattingTransforms = [
|
|
|
14646
15053
|
dateFormatShort,
|
|
14647
15054
|
arrayLengthTransform,
|
|
14648
15055
|
jsonArrayTransform,
|
|
15056
|
+
csvTransform,
|
|
14649
15057
|
marqueeLoopTransform
|
|
14650
15058
|
];
|
|
14651
15059
|
|
|
@@ -15129,117 +15537,6 @@ var uiTransforms = [
|
|
|
15129
15537
|
|
|
15130
15538
|
// ../blocks/src/system/transforms/registry/layout.ts
|
|
15131
15539
|
import { z as z35 } from "zod";
|
|
15132
|
-
|
|
15133
|
-
// ../theme-core/src/palette/utils/colorConversion.ts
|
|
15134
|
-
var clamp01 = (x) => Math.max(0, Math.min(1, x));
|
|
15135
|
-
var mod = (a, n) => (a % n + n) % n;
|
|
15136
|
-
var deg = (x) => mod(x, 360);
|
|
15137
|
-
function hexToRgb(hex) {
|
|
15138
|
-
const h = hex.replace(/^#/, "");
|
|
15139
|
-
const m = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
|
|
15140
|
-
if (m.length !== 6) throw new Error("Bad hex");
|
|
15141
|
-
const int = parseInt(m, 16);
|
|
15142
|
-
return { r: int >> 16 & 255, g: int >> 8 & 255, b: int & 255 };
|
|
15143
|
-
}
|
|
15144
|
-
function rgbToHex(r2, g, b) {
|
|
15145
|
-
const to = (n) => Math.round(n).toString(16).padStart(2, "0");
|
|
15146
|
-
return `#${to(r2)}${to(g)}${to(b)}`;
|
|
15147
|
-
}
|
|
15148
|
-
function srgbToLinear(u) {
|
|
15149
|
-
const x = u / 255;
|
|
15150
|
-
return x <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
|
|
15151
|
-
}
|
|
15152
|
-
function linearToSrgb(x) {
|
|
15153
|
-
const y = x <= 31308e-7 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055;
|
|
15154
|
-
return clamp01(y) * 255;
|
|
15155
|
-
}
|
|
15156
|
-
function rgbToHsl(r2, g, b) {
|
|
15157
|
-
const R = r2 / 255, G = g / 255, B = b / 255;
|
|
15158
|
-
const max = Math.max(R, G, B), min = Math.min(R, G, B);
|
|
15159
|
-
const d = max - min;
|
|
15160
|
-
let h = 0;
|
|
15161
|
-
if (d !== 0) {
|
|
15162
|
-
switch (max) {
|
|
15163
|
-
case R:
|
|
15164
|
-
h = (G - B) / d + (G < B ? 6 : 0);
|
|
15165
|
-
break;
|
|
15166
|
-
case G:
|
|
15167
|
-
h = (B - R) / d + 2;
|
|
15168
|
-
break;
|
|
15169
|
-
case B:
|
|
15170
|
-
h = (R - G) / d + 4;
|
|
15171
|
-
break;
|
|
15172
|
-
}
|
|
15173
|
-
h *= 60;
|
|
15174
|
-
}
|
|
15175
|
-
const l = (max + min) / 2;
|
|
15176
|
-
const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));
|
|
15177
|
-
return { h, s, l };
|
|
15178
|
-
}
|
|
15179
|
-
function srgbToOklab(r2, g, b) {
|
|
15180
|
-
const R = srgbToLinear(r2), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
15181
|
-
const l = 0.4122214708 * R + 0.5363325363 * G + 0.0514459929 * B;
|
|
15182
|
-
const m = 0.2119034982 * R + 0.6806995451 * G + 0.1073969566 * B;
|
|
15183
|
-
const s = 0.0883024619 * R + 0.2817188376 * G + 0.6299787005 * B;
|
|
15184
|
-
const l_ = Math.cbrt(l), m_ = Math.cbrt(m), s_ = Math.cbrt(s);
|
|
15185
|
-
const L = 0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_;
|
|
15186
|
-
const a = 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_;
|
|
15187
|
-
const b2 = 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_;
|
|
15188
|
-
return { L, a, b: b2 };
|
|
15189
|
-
}
|
|
15190
|
-
function oklabToSrgb(L, a, b) {
|
|
15191
|
-
const l_ = Math.pow(L + 0.3963377774 * a + 0.2158037573 * b, 3);
|
|
15192
|
-
const m_ = Math.pow(L - 0.1055613458 * a - 0.0638541728 * b, 3);
|
|
15193
|
-
const s_ = Math.pow(L - 0.0894841775 * a - 1.291485548 * b, 3);
|
|
15194
|
-
const R = 4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_;
|
|
15195
|
-
const G = -1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_;
|
|
15196
|
-
const B = -0.0041960863 * l_ - 0.7034186147 * m_ + 1.707614701 * s_;
|
|
15197
|
-
return { r: linearToSrgb(R), g: linearToSrgb(G), b: linearToSrgb(B) };
|
|
15198
|
-
}
|
|
15199
|
-
function oklabToOklch(L, a, b) {
|
|
15200
|
-
const C = Math.sqrt(a * a + b * b);
|
|
15201
|
-
const h = C < 1e-7 ? 0 : deg(Math.atan2(b, a) * 180 / Math.PI);
|
|
15202
|
-
return { L, C, h };
|
|
15203
|
-
}
|
|
15204
|
-
function oklchToOklab(L, C, h) {
|
|
15205
|
-
const hr = h * Math.PI / 180;
|
|
15206
|
-
const a = C * Math.cos(hr);
|
|
15207
|
-
const b = C * Math.sin(hr);
|
|
15208
|
-
return { L, a, b };
|
|
15209
|
-
}
|
|
15210
|
-
function inSRGB(r2, g, b) {
|
|
15211
|
-
return r2 >= 0 && r2 <= 255 && g >= 0 && g <= 255 && b >= 0 && b <= 255;
|
|
15212
|
-
}
|
|
15213
|
-
function oklchToHexGamut(L, C, h) {
|
|
15214
|
-
let lo = 0, hi = C, best = 0;
|
|
15215
|
-
for (let i = 0; i < 18; i++) {
|
|
15216
|
-
const mid = (lo + hi) / 2;
|
|
15217
|
-
const { a: a2, b: b2 } = oklchToOklab(L, mid, h);
|
|
15218
|
-
const { r: r3, g: g2, b: bb2 } = oklabToSrgb(L, a2, b2);
|
|
15219
|
-
if (inSRGB(r3, g2, bb2)) {
|
|
15220
|
-
best = mid;
|
|
15221
|
-
lo = mid;
|
|
15222
|
-
} else {
|
|
15223
|
-
hi = mid;
|
|
15224
|
-
}
|
|
15225
|
-
}
|
|
15226
|
-
const { a, b } = oklchToOklab(L, best, h);
|
|
15227
|
-
const { r: r2, g, b: bb } = oklabToSrgb(L, a, b);
|
|
15228
|
-
return rgbToHex(r2, g, bb);
|
|
15229
|
-
}
|
|
15230
|
-
function featuresFromHex(hex) {
|
|
15231
|
-
const { r: r2, g, b } = hexToRgb(hex);
|
|
15232
|
-
const { h, s, l } = rgbToHsl(r2, g, b);
|
|
15233
|
-
const { L, a, b: b2 } = srgbToOklab(r2, g, b);
|
|
15234
|
-
const { L: okL, C: okC, h: okH } = oklabToOklch(L, a, b2);
|
|
15235
|
-
const max = Math.max(r2, g, b);
|
|
15236
|
-
const v = max / 255;
|
|
15237
|
-
const Y = 0.2126 * srgbToLinear(r2) + 0.7152 * srgbToLinear(g) + 0.0722 * srgbToLinear(b);
|
|
15238
|
-
const chroma = s;
|
|
15239
|
-
return { r: r2, g, b, h, s, l, v, Y, chroma, okL, okC, okH, hex };
|
|
15240
|
-
}
|
|
15241
|
-
|
|
15242
|
-
// ../blocks/src/system/transforms/registry/layout.ts
|
|
15243
15540
|
var joinClasses4 = (parts) => parts.filter(
|
|
15244
15541
|
(part) => typeof part === "string" && part.trim().length > 0
|
|
15245
15542
|
).join(" ").replace(/\s+/g, " ").trim();
|
|
@@ -19219,7 +19516,10 @@ var eventDetailsManifest = createBlockManifest({
|
|
|
19219
19516
|
$bind: { from: "content.showAcceptedMemberships", fallback: true }
|
|
19220
19517
|
},
|
|
19221
19518
|
sitePasses: { $bind: { from: "data.eventDetailsData.sitePasses" } },
|
|
19222
|
-
siteMemberships: { $bind: { from: "data.eventDetailsData.siteMemberships" } }
|
|
19519
|
+
siteMemberships: { $bind: { from: "data.eventDetailsData.siteMemberships" } },
|
|
19520
|
+
autoApplyDiscount: {
|
|
19521
|
+
$bind: { from: "data.eventDetailsData.autoApplyDiscount", fallback: null }
|
|
19522
|
+
}
|
|
19223
19523
|
})
|
|
19224
19524
|
],
|
|
19225
19525
|
{ gap: "lg" }
|
|
@@ -19236,13 +19536,32 @@ var occurrenceContextSchema2 = z49.object({
|
|
|
19236
19536
|
capacityOverride: z49.number().nullable().optional(),
|
|
19237
19537
|
overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
|
|
19238
19538
|
}).nullable();
|
|
19539
|
+
var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
|
|
19540
|
+
id: z49.string(),
|
|
19541
|
+
publicLabel: z49.string(),
|
|
19542
|
+
description: z49.string().nullable(),
|
|
19543
|
+
minTicketsRequired: z49.number().nullable()
|
|
19544
|
+
});
|
|
19545
|
+
var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
|
|
19546
|
+
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
19547
|
+
discountType: z49.literal("percent"),
|
|
19548
|
+
discountPercent: z49.number(),
|
|
19549
|
+
discountAmountCents: z49.null()
|
|
19550
|
+
}),
|
|
19551
|
+
eventAutoApplyDiscountPreviewBaseSchema.extend({
|
|
19552
|
+
discountType: z49.literal("fixed"),
|
|
19553
|
+
discountPercent: z49.null(),
|
|
19554
|
+
discountAmountCents: z49.number()
|
|
19555
|
+
})
|
|
19556
|
+
]);
|
|
19239
19557
|
var eventDetailsBlockDefinition = {
|
|
19240
19558
|
manifest: eventDetailsManifest,
|
|
19241
19559
|
dataSchemas: {
|
|
19242
19560
|
eventDetailsData: z49.object({
|
|
19243
19561
|
events: publicEventsArraySchema,
|
|
19244
19562
|
sitePasses: z49.object({ passes: z49.array(publicPassProductSchema) }),
|
|
19245
|
-
siteMemberships: z49.object({ memberships: z49.array(publicMembershipProductSchema) })
|
|
19563
|
+
siteMemberships: z49.object({ memberships: z49.array(publicMembershipProductSchema) }),
|
|
19564
|
+
autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
|
|
19246
19565
|
}).optional(),
|
|
19247
19566
|
occurrenceContext: occurrenceContextSchema2.optional()
|
|
19248
19567
|
},
|
|
@@ -20166,51 +20485,6 @@ function resolveEventCta(event, buttonText) {
|
|
|
20166
20485
|
return { label, href: event.path, hidden: false };
|
|
20167
20486
|
}
|
|
20168
20487
|
|
|
20169
|
-
// ../theme-core/src/palette/utils/contrast.ts
|
|
20170
|
-
function relativeLuminance(r2, g, b) {
|
|
20171
|
-
const R = srgbToLinear(r2), G = srgbToLinear(g), B = srgbToLinear(b);
|
|
20172
|
-
return 0.2126 * R + 0.7152 * G + 0.0722 * B;
|
|
20173
|
-
}
|
|
20174
|
-
|
|
20175
|
-
// ../theme-core/src/palette/utils/textColor.ts
|
|
20176
|
-
function pickBlackOrWhiteTextColor(background, minContrast = 4.5) {
|
|
20177
|
-
const { r: r2, g, b } = parseColorToRgb(background);
|
|
20178
|
-
const luminance = relativeLuminance(r2, g, b);
|
|
20179
|
-
const blackContrast = (luminance + 0.05) / 0.05;
|
|
20180
|
-
const whiteContrast = 1.05 / (luminance + 0.05);
|
|
20181
|
-
if (blackContrast >= minContrast && whiteContrast < minContrast) {
|
|
20182
|
-
return "#000000";
|
|
20183
|
-
}
|
|
20184
|
-
if (whiteContrast >= minContrast && blackContrast < minContrast) {
|
|
20185
|
-
return "#FFFFFF";
|
|
20186
|
-
}
|
|
20187
|
-
return blackContrast >= whiteContrast ? "#000000" : "#FFFFFF";
|
|
20188
|
-
}
|
|
20189
|
-
function getTextColorForBackground(background) {
|
|
20190
|
-
return pickBlackOrWhiteTextColor(background);
|
|
20191
|
-
}
|
|
20192
|
-
function parseColorToRgb(input) {
|
|
20193
|
-
const trimmed = input.trim();
|
|
20194
|
-
if (trimmed.startsWith("#")) {
|
|
20195
|
-
return hexToRgb(trimmed);
|
|
20196
|
-
}
|
|
20197
|
-
const rgbMatch = trimmed.match(
|
|
20198
|
-
/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)$/i
|
|
20199
|
-
);
|
|
20200
|
-
if (rgbMatch?.[1] && rgbMatch[2] && rgbMatch[3]) {
|
|
20201
|
-
return {
|
|
20202
|
-
r: clamp255(Number(rgbMatch[1])),
|
|
20203
|
-
g: clamp255(Number(rgbMatch[2])),
|
|
20204
|
-
b: clamp255(Number(rgbMatch[3]))
|
|
20205
|
-
};
|
|
20206
|
-
}
|
|
20207
|
-
throw new Error("Unsupported color format");
|
|
20208
|
-
}
|
|
20209
|
-
function clamp255(value) {
|
|
20210
|
-
if (Number.isNaN(value)) return 0;
|
|
20211
|
-
return Math.max(0, Math.min(255, value));
|
|
20212
|
-
}
|
|
20213
|
-
|
|
20214
20488
|
// ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
20215
20489
|
function r(e) {
|
|
20216
20490
|
var t, f, n = "";
|
|
@@ -22137,7 +22411,12 @@ var eventListingBlockDefinition = {
|
|
|
22137
22411
|
detailLevel: "listing",
|
|
22138
22412
|
kind: { $bind: { from: "content.kind" } },
|
|
22139
22413
|
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
22140
|
-
eventPresets: {
|
|
22414
|
+
eventPresets: {
|
|
22415
|
+
$bind: {
|
|
22416
|
+
from: "content.filterEventPresets",
|
|
22417
|
+
transforms: [{ id: "value.csv" }]
|
|
22418
|
+
}
|
|
22419
|
+
},
|
|
22141
22420
|
scheduleScope: { $bind: { from: "content.scheduleScope" } }
|
|
22142
22421
|
},
|
|
22143
22422
|
mode: "server"
|
|
@@ -22922,7 +23201,12 @@ var eventCalendarBlockDefinition = {
|
|
|
22922
23201
|
// Pass filter params if configured
|
|
22923
23202
|
kind: { $bind: { from: "content.kind" } },
|
|
22924
23203
|
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
22925
|
-
eventPresets: {
|
|
23204
|
+
eventPresets: {
|
|
23205
|
+
$bind: {
|
|
23206
|
+
from: "content.filterEventPresets",
|
|
23207
|
+
transforms: [{ id: "value.csv" }]
|
|
23208
|
+
}
|
|
23209
|
+
},
|
|
22926
23210
|
scheduleScope: { $bind: { from: "content.scheduleScope" } },
|
|
22927
23211
|
categoryIds: { $bind: { from: "content.filterCategoryIds" } },
|
|
22928
23212
|
staffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
|
|
@@ -24403,7 +24687,7 @@ var publicProductsResponseSchema = z53.object({
|
|
|
24403
24687
|
});
|
|
24404
24688
|
|
|
24405
24689
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
24406
|
-
function
|
|
24690
|
+
function assertNever3(value) {
|
|
24407
24691
|
throw new Error(`Unhandled credit product case: ${String(value)}`);
|
|
24408
24692
|
}
|
|
24409
24693
|
function useCasesFromModules(modules) {
|
|
@@ -24436,7 +24720,7 @@ function getCreditProductCreditUnit(useCase) {
|
|
|
24436
24720
|
perCreditSuffix: "credit"
|
|
24437
24721
|
};
|
|
24438
24722
|
default:
|
|
24439
|
-
return
|
|
24723
|
+
return assertNever3(useCase);
|
|
24440
24724
|
}
|
|
24441
24725
|
}
|
|
24442
24726
|
function deriveCreditProductLabels(products, options = {}) {
|
|
@@ -30178,6 +30462,11 @@ function CoursePricingDisplay({
|
|
|
30178
30462
|
|
|
30179
30463
|
// ../blocks/src/system/runtime/nodes/event-details/view.tsx
|
|
30180
30464
|
import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
30465
|
+
function formatAutoApplyDiscountLine(preview, currency) {
|
|
30466
|
+
const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatCoursePriceAmount(preview.discountAmountCents, currency)} off`;
|
|
30467
|
+
const label = preview.publicLabel.trim() || "Discount";
|
|
30468
|
+
return preview.minTicketsRequired && preview.minTicketsRequired > 1 ? `${label} \u2014 ${rate} when buying ${preview.minTicketsRequired}+ tickets` : `${label} \u2014 ${rate} applied automatically`;
|
|
30469
|
+
}
|
|
30181
30470
|
function TeamMemberName({
|
|
30182
30471
|
name,
|
|
30183
30472
|
profilePath
|
|
@@ -30194,6 +30483,7 @@ function EventDetailsView({
|
|
|
30194
30483
|
showAcceptedMemberships = true,
|
|
30195
30484
|
applicablePasses = [],
|
|
30196
30485
|
applicableMemberships = [],
|
|
30486
|
+
autoApplyDiscount = null,
|
|
30197
30487
|
mapHeight = 200,
|
|
30198
30488
|
mapClassName = "event-details-map",
|
|
30199
30489
|
renderVenueMap
|
|
@@ -30269,6 +30559,7 @@ function EventDetailsView({
|
|
|
30269
30559
|
) : shouldShowEventCost ? /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
|
|
30270
30560
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
|
|
30271
30561
|
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" }),
|
|
30562
|
+
autoApplyDiscount ? /* @__PURE__ */ jsx26("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
|
|
30272
30563
|
hasAcceptedItems ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
|
|
30273
30564
|
"You can also attend with: ",
|
|
30274
30565
|
acceptedItems.join(", ")
|
|
@@ -30317,6 +30608,7 @@ function EventDetailsSSR({
|
|
|
30317
30608
|
showAcceptedMemberships = true,
|
|
30318
30609
|
sitePasses,
|
|
30319
30610
|
siteMemberships,
|
|
30611
|
+
autoApplyDiscount,
|
|
30320
30612
|
className,
|
|
30321
30613
|
children
|
|
30322
30614
|
}) {
|
|
@@ -30353,6 +30645,7 @@ function EventDetailsSSR({
|
|
|
30353
30645
|
showAcceptedMemberships,
|
|
30354
30646
|
sitePasses,
|
|
30355
30647
|
siteMemberships,
|
|
30648
|
+
autoApplyDiscount,
|
|
30356
30649
|
className,
|
|
30357
30650
|
nowIso
|
|
30358
30651
|
}
|
|
@@ -30370,6 +30663,7 @@ function EventDetailsSSR({
|
|
|
30370
30663
|
showAcceptedMemberships,
|
|
30371
30664
|
applicablePasses,
|
|
30372
30665
|
applicableMemberships,
|
|
30666
|
+
autoApplyDiscount: autoApplyDiscount ?? null,
|
|
30373
30667
|
mapClassName: "venue-map event-details-map",
|
|
30374
30668
|
renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx27("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx27(
|
|
30375
30669
|
"div",
|
|
@@ -33374,119 +33668,6 @@ function renderBlock(manifest, content, options = {}) {
|
|
|
33374
33668
|
);
|
|
33375
33669
|
}
|
|
33376
33670
|
|
|
33377
|
-
// ../theme-core/src/palette/generateShades.ts
|
|
33378
|
-
function generateShades(hexColor, name) {
|
|
33379
|
-
const shadeSteps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
33380
|
-
const base = featuresFromHex(hexColor);
|
|
33381
|
-
const hue = base.okH;
|
|
33382
|
-
const baseChroma = base.okC;
|
|
33383
|
-
const toneMap = {
|
|
33384
|
-
50: 0.975,
|
|
33385
|
-
100: 0.945,
|
|
33386
|
-
200: 0.89,
|
|
33387
|
-
300: 0.82,
|
|
33388
|
-
400: 0.74,
|
|
33389
|
-
500: 0.66,
|
|
33390
|
-
600: 0.58,
|
|
33391
|
-
700: 0.49,
|
|
33392
|
-
800: 0.4,
|
|
33393
|
-
900: 0.28,
|
|
33394
|
-
950: 0.16
|
|
33395
|
-
};
|
|
33396
|
-
const shadeDefs = shadeSteps.map((step, idx) => {
|
|
33397
|
-
const t = idx / (shadeSteps.length - 1);
|
|
33398
|
-
const L = toneMap[step];
|
|
33399
|
-
const chromaFactor = 0.06 + 0.94 * Math.sin(Math.PI * t);
|
|
33400
|
-
const C = baseChroma * chromaFactor;
|
|
33401
|
-
return {
|
|
33402
|
-
name: `${name}-${step}`,
|
|
33403
|
-
hex: oklchToHexGamut(L, C, hue)
|
|
33404
|
-
};
|
|
33405
|
-
});
|
|
33406
|
-
shadeDefs.push({ name, hex: hexColor });
|
|
33407
|
-
return shadeDefs;
|
|
33408
|
-
}
|
|
33409
|
-
|
|
33410
|
-
// ../theme-core/src/palette/neutralScale.ts
|
|
33411
|
-
function generateNeutralScale({
|
|
33412
|
-
background,
|
|
33413
|
-
steps = 11,
|
|
33414
|
-
warm = false
|
|
33415
|
-
}) {
|
|
33416
|
-
const isDark = background === "#000000" || background.startsWith("#0") || background.startsWith("#1");
|
|
33417
|
-
const shadeNames = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
33418
|
-
const count = Math.min(steps, shadeNames.length);
|
|
33419
|
-
const scale = [];
|
|
33420
|
-
for (let i = 0; i < count; i++) {
|
|
33421
|
-
const t = i / (count - 1);
|
|
33422
|
-
const tone = isDark ? mix(0.06, 0.92, t) : mix(0.98, 0.1, t);
|
|
33423
|
-
const hex = oklchToHexGamut(tone, 0.02, warm ? 85 : 250);
|
|
33424
|
-
const name = `neutral-${shadeNames[i]}`;
|
|
33425
|
-
scale.push({ name, hex });
|
|
33426
|
-
}
|
|
33427
|
-
return scale;
|
|
33428
|
-
}
|
|
33429
|
-
function mix(a, b, t) {
|
|
33430
|
-
return a + (b - a) * Math.max(0, Math.min(1, t));
|
|
33431
|
-
}
|
|
33432
|
-
|
|
33433
|
-
// ../theme-core/src/palette/expandPalette.ts
|
|
33434
|
-
function colorsToMap(palette) {
|
|
33435
|
-
const map = {};
|
|
33436
|
-
for (const c of palette.colors) {
|
|
33437
|
-
map[c.name] = c.hex;
|
|
33438
|
-
}
|
|
33439
|
-
return map;
|
|
33440
|
-
}
|
|
33441
|
-
function isBackgroundDark(hex) {
|
|
33442
|
-
try {
|
|
33443
|
-
return featuresFromHex(hex).Y < 0.5;
|
|
33444
|
-
} catch {
|
|
33445
|
-
return false;
|
|
33446
|
-
}
|
|
33447
|
-
}
|
|
33448
|
-
function expandPalette(palette) {
|
|
33449
|
-
const base = colorsToMap(palette);
|
|
33450
|
-
const expanded = { ...base };
|
|
33451
|
-
const background = base.background || base.surface || "#ffffff";
|
|
33452
|
-
const neutral2 = generateNeutralScale({ background, steps: 11, warm: false });
|
|
33453
|
-
neutral2.forEach((n) => {
|
|
33454
|
-
expanded[n.name] = n.hex;
|
|
33455
|
-
});
|
|
33456
|
-
for (const [name, hex] of Object.entries(base)) {
|
|
33457
|
-
if (hex) {
|
|
33458
|
-
const shades = generateShades(hex, name);
|
|
33459
|
-
shades.forEach((shade) => {
|
|
33460
|
-
expanded[shade.name] = shade.hex;
|
|
33461
|
-
});
|
|
33462
|
-
}
|
|
33463
|
-
}
|
|
33464
|
-
if (base.text) expanded.body = base.text;
|
|
33465
|
-
if (base.danger && !base.destructive) {
|
|
33466
|
-
expanded.destructive = base.danger;
|
|
33467
|
-
}
|
|
33468
|
-
const isDark = base.background ? isBackgroundDark(base.background) : false;
|
|
33469
|
-
const isDarkMode = palette.meta?.mode === "dark" || isDark;
|
|
33470
|
-
expanded.mutedText = isDarkMode ? expanded["neutral-600"] ?? "#666" : expanded["neutral-500"] ?? "#888";
|
|
33471
|
-
const onRoles = [
|
|
33472
|
-
{ role: "primary", on: "onPrimary" },
|
|
33473
|
-
{ role: "secondary", on: "onSecondary" },
|
|
33474
|
-
{ role: "accent", on: "onAccent" },
|
|
33475
|
-
{ role: "success", on: "onSuccess" },
|
|
33476
|
-
{ role: "warning", on: "onWarning" },
|
|
33477
|
-
{ role: "destructive", on: "onDestructive" },
|
|
33478
|
-
{ role: "info", on: "onInfo" },
|
|
33479
|
-
{ role: "surface", on: "onSurface" }
|
|
33480
|
-
];
|
|
33481
|
-
for (const { role, on } of onRoles) {
|
|
33482
|
-
const bg = base[role];
|
|
33483
|
-
if (!bg) continue;
|
|
33484
|
-
if (expanded[on]) continue;
|
|
33485
|
-
expanded[on] = getTextColorForBackground(bg);
|
|
33486
|
-
}
|
|
33487
|
-
return expanded;
|
|
33488
|
-
}
|
|
33489
|
-
|
|
33490
33671
|
// ../theme-core/src/runtime/fontFamily.ts
|
|
33491
33672
|
var GENERIC_CSS_FAMILIES = [
|
|
33492
33673
|
"serif",
|
|
@@ -48951,6 +49132,17 @@ function normalizeLoaderParams(endpoint, params, context) {
|
|
|
48951
49132
|
return out;
|
|
48952
49133
|
}
|
|
48953
49134
|
|
|
49135
|
+
// ../api/src/apiEndpointTypes.ts
|
|
49136
|
+
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
49137
|
+
if (publicMessage.trim() === "") {
|
|
49138
|
+
throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
49139
|
+
}
|
|
49140
|
+
return {
|
|
49141
|
+
classification,
|
|
49142
|
+
publicMessage
|
|
49143
|
+
};
|
|
49144
|
+
}
|
|
49145
|
+
|
|
48954
49146
|
// ../api/src/cache-tags.ts
|
|
48955
49147
|
var TAG_TEMPLATES = {
|
|
48956
49148
|
siteCollection: "riverbank:site",
|
|
@@ -48981,6 +49173,18 @@ var TAG_TEMPLATES = {
|
|
|
48981
49173
|
};
|
|
48982
49174
|
|
|
48983
49175
|
// ../api/src/endpoints.ts
|
|
49176
|
+
var DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy(
|
|
49177
|
+
"blocked-hidden",
|
|
49178
|
+
"This action is not available in demo sites."
|
|
49179
|
+
);
|
|
49180
|
+
var DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy(
|
|
49181
|
+
"blocked-disabled",
|
|
49182
|
+
"This setting is disabled in demo sites."
|
|
49183
|
+
);
|
|
49184
|
+
var DEMO_MUTATION_INTERNAL_ONLY = blockedDemoMutationPolicy(
|
|
49185
|
+
"internal-only",
|
|
49186
|
+
"This internal operation is not available in demo sites."
|
|
49187
|
+
);
|
|
48984
49188
|
var ENDPOINT_DEFINITIONS = {
|
|
48985
49189
|
// AI endpoints - no cache due to dynamic nature
|
|
48986
49190
|
aiContentUpdateChat: {
|
|
@@ -49097,7 +49301,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49097
49301
|
path: "/sites/{siteId}/ai/generate",
|
|
49098
49302
|
method: "POST",
|
|
49099
49303
|
auth: "user",
|
|
49100
|
-
responseKind: "json"
|
|
49304
|
+
responseKind: "json",
|
|
49305
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49101
49306
|
},
|
|
49102
49307
|
getOnboardingPreviewStatus: {
|
|
49103
49308
|
path: "/public/sites/{siteId}/onboarding/preview-status",
|
|
@@ -49118,7 +49323,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49118
49323
|
method: "POST",
|
|
49119
49324
|
auth: "user",
|
|
49120
49325
|
errors: [],
|
|
49121
|
-
responseKind: "json"
|
|
49326
|
+
responseKind: "json",
|
|
49327
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
|
|
49122
49328
|
},
|
|
49123
49329
|
goLiveSite: {
|
|
49124
49330
|
path: "/sites/{siteId}/launch/go-live",
|
|
@@ -49187,20 +49393,23 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49187
49393
|
path: "/sites/{siteId}/ai/site-wizard/goals",
|
|
49188
49394
|
method: "POST",
|
|
49189
49395
|
auth: "user",
|
|
49190
|
-
responseKind: "json"
|
|
49396
|
+
responseKind: "json",
|
|
49397
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49191
49398
|
},
|
|
49192
49399
|
aiSiteWizardIntakeTriage: {
|
|
49193
49400
|
path: "/sites/{siteId}/ai/site-wizard/intake-triage",
|
|
49194
49401
|
method: "POST",
|
|
49195
49402
|
auth: "user",
|
|
49196
|
-
responseKind: "json"
|
|
49403
|
+
responseKind: "json",
|
|
49404
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49197
49405
|
},
|
|
49198
49406
|
aiSiteWizardTelemetry: {
|
|
49199
49407
|
path: "/sites/{siteId}/ai/site-wizard/telemetry",
|
|
49200
49408
|
method: "POST",
|
|
49201
49409
|
auth: "user",
|
|
49202
49410
|
errors: [],
|
|
49203
|
-
responseKind: "json"
|
|
49411
|
+
responseKind: "json",
|
|
49412
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49204
49413
|
},
|
|
49205
49414
|
// Admin SEO
|
|
49206
49415
|
listGscPropertiesAdmin: {
|
|
@@ -49407,7 +49616,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49407
49616
|
responseKind: "json",
|
|
49408
49617
|
errors: ["resource:not_found", "server:internal_error"]
|
|
49409
49618
|
},
|
|
49410
|
-
// Ops (event
|
|
49619
|
+
// Ops (staff event operators/admins)
|
|
49411
49620
|
opsListUpcomingEventOccurrences: {
|
|
49412
49621
|
path: "/ops/sites/{siteId}/events",
|
|
49413
49622
|
method: "GET",
|
|
@@ -49425,6 +49634,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49425
49634
|
method: "POST",
|
|
49426
49635
|
auth: "user",
|
|
49427
49636
|
responseKind: "json",
|
|
49637
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49428
49638
|
errors: [
|
|
49429
49639
|
"validation:invalid_input",
|
|
49430
49640
|
"auth:forbidden",
|
|
@@ -49437,6 +49647,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49437
49647
|
method: "POST",
|
|
49438
49648
|
auth: "user",
|
|
49439
49649
|
responseKind: "json",
|
|
49650
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49440
49651
|
errors: [
|
|
49441
49652
|
"validation:invalid_input",
|
|
49442
49653
|
"auth:forbidden",
|
|
@@ -49455,6 +49666,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49455
49666
|
method: "POST",
|
|
49456
49667
|
auth: "user",
|
|
49457
49668
|
responseKind: "json",
|
|
49669
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49458
49670
|
errors: [
|
|
49459
49671
|
"validation:invalid_input",
|
|
49460
49672
|
"auth:forbidden",
|
|
@@ -49488,6 +49700,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49488
49700
|
method: "POST",
|
|
49489
49701
|
auth: "user",
|
|
49490
49702
|
responseKind: "json",
|
|
49703
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
49491
49704
|
errors: [
|
|
49492
49705
|
"validation:invalid_input",
|
|
49493
49706
|
"auth:forbidden",
|
|
@@ -49516,7 +49729,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49516
49729
|
method: "POST",
|
|
49517
49730
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
49518
49731
|
auth: "user",
|
|
49519
|
-
responseKind: "json"
|
|
49732
|
+
responseKind: "json",
|
|
49733
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49520
49734
|
},
|
|
49521
49735
|
previewEmailTemplate: {
|
|
49522
49736
|
path: "/sites/{siteId}/settings/emails/preview",
|
|
@@ -49567,14 +49781,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49567
49781
|
method: "POST",
|
|
49568
49782
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49569
49783
|
auth: "user",
|
|
49570
|
-
responseKind: "json"
|
|
49784
|
+
responseKind: "json",
|
|
49785
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49571
49786
|
},
|
|
49572
49787
|
createNewsletterSubscribersImportUploadUrl: {
|
|
49573
49788
|
path: "/sites/{siteId}/newsletter/subscribers/import-url",
|
|
49574
49789
|
method: "POST",
|
|
49575
49790
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49576
49791
|
auth: "user",
|
|
49577
|
-
responseKind: "json"
|
|
49792
|
+
responseKind: "json",
|
|
49793
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49578
49794
|
},
|
|
49579
49795
|
exportNewsletterSubscribersCsv: {
|
|
49580
49796
|
path: "/sites/{siteId}/newsletter/subscribers/export.csv",
|
|
@@ -49771,14 +49987,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49771
49987
|
method: "POST",
|
|
49772
49988
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49773
49989
|
auth: "user",
|
|
49774
|
-
responseKind: "json"
|
|
49990
|
+
responseKind: "json",
|
|
49991
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49775
49992
|
},
|
|
49776
49993
|
testSendNewsletterCampaign: {
|
|
49777
49994
|
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
|
|
49778
49995
|
method: "POST",
|
|
49779
49996
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
49780
49997
|
auth: "user",
|
|
49781
|
-
responseKind: "json"
|
|
49998
|
+
responseKind: "json",
|
|
49999
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
49782
50000
|
},
|
|
49783
50001
|
listNewsletterSendJobs: {
|
|
49784
50002
|
path: "/sites/{siteId}/newsletter/jobs",
|
|
@@ -50466,7 +50684,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
50466
50684
|
method: "DELETE",
|
|
50467
50685
|
tags: ["site", "site-{siteId}"],
|
|
50468
50686
|
auth: "user",
|
|
50469
|
-
responseKind: "json"
|
|
50687
|
+
responseKind: "json",
|
|
50688
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
50470
50689
|
},
|
|
50471
50690
|
listSiteMembers: {
|
|
50472
50691
|
path: "/sites/{siteId}/members",
|
|
@@ -50922,7 +51141,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
50922
51141
|
method: "POST",
|
|
50923
51142
|
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
50924
51143
|
auth: "user",
|
|
50925
|
-
responseKind: "json"
|
|
51144
|
+
responseKind: "json",
|
|
51145
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
50926
51146
|
},
|
|
50927
51147
|
updateSiteGeneralSettings: {
|
|
50928
51148
|
path: "/sites/{siteId}/settings/general",
|
|
@@ -51730,6 +51950,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
51730
51950
|
auth: "user",
|
|
51731
51951
|
responseKind: "json"
|
|
51732
51952
|
},
|
|
51953
|
+
saveSiteChromeLookSelection: {
|
|
51954
|
+
path: "/sites/{siteId}/theme/site-chrome-look",
|
|
51955
|
+
method: "POST",
|
|
51956
|
+
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme],
|
|
51957
|
+
auth: "user",
|
|
51958
|
+
errors: [],
|
|
51959
|
+
responseKind: "json"
|
|
51960
|
+
},
|
|
51733
51961
|
uploadSiteLogo: {
|
|
51734
51962
|
path: "/storage/upload-site-logo",
|
|
51735
51963
|
method: "POST",
|
|
@@ -53153,6 +53381,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53153
53381
|
method: "POST",
|
|
53154
53382
|
tags: ["site-{siteId}"],
|
|
53155
53383
|
auth: "user",
|
|
53384
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN,
|
|
53156
53385
|
errors: [
|
|
53157
53386
|
"validation:invalid_input",
|
|
53158
53387
|
"auth:forbidden",
|
|
@@ -53167,6 +53396,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53167
53396
|
method: "POST",
|
|
53168
53397
|
tags: ["site-{siteId}"],
|
|
53169
53398
|
auth: "user",
|
|
53399
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN,
|
|
53170
53400
|
errors: [
|
|
53171
53401
|
"validation:invalid_input",
|
|
53172
53402
|
"auth:forbidden",
|
|
@@ -53476,6 +53706,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53476
53706
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53477
53707
|
auth: "user",
|
|
53478
53708
|
responseKind: "json",
|
|
53709
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53479
53710
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
53480
53711
|
},
|
|
53481
53712
|
getBookingPass: {
|
|
@@ -53491,6 +53722,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53491
53722
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53492
53723
|
auth: "user",
|
|
53493
53724
|
responseKind: "json",
|
|
53725
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53494
53726
|
errors: [
|
|
53495
53727
|
"validation:invalid_input",
|
|
53496
53728
|
"resource:not_found",
|
|
@@ -53503,6 +53735,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53503
53735
|
tags: ["site-{siteId}", "passes-{siteId}"],
|
|
53504
53736
|
auth: "user",
|
|
53505
53737
|
responseKind: "json",
|
|
53738
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53506
53739
|
errors: [
|
|
53507
53740
|
"validation:invalid_input",
|
|
53508
53741
|
"resource:not_found",
|
|
@@ -53558,6 +53791,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53558
53791
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53559
53792
|
auth: "user",
|
|
53560
53793
|
responseKind: "json",
|
|
53794
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53561
53795
|
errors: ["validation:invalid_input", "server:internal_error"]
|
|
53562
53796
|
},
|
|
53563
53797
|
getBookingMembership: {
|
|
@@ -53573,6 +53807,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53573
53807
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53574
53808
|
auth: "user",
|
|
53575
53809
|
responseKind: "json",
|
|
53810
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53576
53811
|
errors: [
|
|
53577
53812
|
"validation:invalid_input",
|
|
53578
53813
|
"resource:not_found",
|
|
@@ -53585,6 +53820,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53585
53820
|
tags: ["site-{siteId}", "memberships-{siteId}"],
|
|
53586
53821
|
auth: "user",
|
|
53587
53822
|
responseKind: "json",
|
|
53823
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53588
53824
|
errors: [
|
|
53589
53825
|
"validation:invalid_input",
|
|
53590
53826
|
"resource:not_found",
|
|
@@ -53801,6 +54037,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53801
54037
|
tags: ["site-{siteId}", "customers-{siteId}"],
|
|
53802
54038
|
auth: "user",
|
|
53803
54039
|
responseKind: "json",
|
|
54040
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
53804
54041
|
errors: [
|
|
53805
54042
|
"validation:invalid_input",
|
|
53806
54043
|
"auth:forbidden",
|
|
@@ -54174,6 +54411,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
54174
54411
|
auth: "admin",
|
|
54175
54412
|
responseKind: "json"
|
|
54176
54413
|
},
|
|
54414
|
+
adminScheduleBillingComponentEnd: {
|
|
54415
|
+
path: "/admin/sites/{siteId}/billing/components/{componentId}/end",
|
|
54416
|
+
method: "POST",
|
|
54417
|
+
tags: ["admin", "site-{siteId}", "billing"],
|
|
54418
|
+
auth: "admin",
|
|
54419
|
+
responseKind: "json",
|
|
54420
|
+
errors: []
|
|
54421
|
+
},
|
|
54177
54422
|
// Admin GSC/SEO endpoints
|
|
54178
54423
|
adminGscVerifyStart: {
|
|
54179
54424
|
path: "/admin/seo/gsc/properties/verify/start",
|
|
@@ -54898,6 +55143,13 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
54898
55143
|
auth: "public",
|
|
54899
55144
|
responseKind: "json"
|
|
54900
55145
|
},
|
|
55146
|
+
demoClaimMagicLink: {
|
|
55147
|
+
path: "/demo/auth/send-magic-link",
|
|
55148
|
+
method: "POST",
|
|
55149
|
+
auth: "public",
|
|
55150
|
+
responseKind: "json",
|
|
55151
|
+
errors: []
|
|
55152
|
+
},
|
|
54901
55153
|
previewExchangeCode: {
|
|
54902
55154
|
path: "/preview/auth/exchange",
|
|
54903
55155
|
method: "POST",
|
|
@@ -55056,61 +55308,74 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
55056
55308
|
}
|
|
55057
55309
|
};
|
|
55058
55310
|
|
|
55059
|
-
// ../api/src/
|
|
55311
|
+
// ../api/src/accessAdmin.ts
|
|
55060
55312
|
import { z as z64 } from "zod";
|
|
55061
|
-
var
|
|
55062
|
-
|
|
55063
|
-
|
|
55064
|
-
|
|
55065
|
-
|
|
55066
|
-
|
|
55313
|
+
var managedDomainAddOnPricingSnapshotSchema = z64.object({
|
|
55314
|
+
formulaVersion: z64.literal("managed-domain-overage-v1"),
|
|
55315
|
+
conversionRule: z64.literal("usd-to-gbp-1-to-1-v1"),
|
|
55316
|
+
registrarAnnualCost: z64.number().nonnegative(),
|
|
55317
|
+
registrarCurrency: z64.literal("USD"),
|
|
55318
|
+
includedAnnualAllowance: z64.number().nonnegative(),
|
|
55319
|
+
includedAnnualAllowanceCurrency: z64.literal("USD"),
|
|
55320
|
+
monthlyAmountCents: z64.number().int().nonnegative(),
|
|
55321
|
+
monthlyCurrency: z64.literal("gbp")
|
|
55322
|
+
});
|
|
55323
|
+
|
|
55324
|
+
// ../api/src/navigation/contracts.ts
|
|
55325
|
+
import { z as z65 } from "zod";
|
|
55326
|
+
var portalLinkPayloadSchema = z65.object({
|
|
55327
|
+
kind: z65.literal("portal"),
|
|
55328
|
+
path: z65.string().trim().startsWith("/").optional(),
|
|
55329
|
+
labels: z65.object({
|
|
55330
|
+
loggedOut: z65.string().trim().min(1).optional(),
|
|
55331
|
+
loggedIn: z65.string().trim().min(1).optional()
|
|
55067
55332
|
}).optional()
|
|
55068
55333
|
});
|
|
55069
|
-
var cartLinkLabelConfigSchema =
|
|
55070
|
-
|
|
55071
|
-
kind:
|
|
55334
|
+
var cartLinkLabelConfigSchema = z65.discriminatedUnion("kind", [
|
|
55335
|
+
z65.object({
|
|
55336
|
+
kind: z65.literal("icon-only")
|
|
55072
55337
|
}),
|
|
55073
|
-
|
|
55074
|
-
kind:
|
|
55075
|
-
label:
|
|
55338
|
+
z65.object({
|
|
55339
|
+
kind: z65.literal("icon-with-label"),
|
|
55340
|
+
label: z65.string().trim().min(1)
|
|
55076
55341
|
})
|
|
55077
55342
|
]);
|
|
55078
|
-
var cartLinkPayloadSchema =
|
|
55079
|
-
kind:
|
|
55080
|
-
badge:
|
|
55343
|
+
var cartLinkPayloadSchema = z65.object({
|
|
55344
|
+
kind: z65.literal("cart"),
|
|
55345
|
+
badge: z65.enum(["show-count", "hidden"]),
|
|
55081
55346
|
label: cartLinkLabelConfigSchema
|
|
55082
55347
|
});
|
|
55083
|
-
var internalLinkPayloadSchema =
|
|
55084
|
-
kind:
|
|
55085
|
-
routeId:
|
|
55086
|
-
entityId:
|
|
55087
|
-
entityType:
|
|
55088
|
-
href:
|
|
55089
|
-
title:
|
|
55090
|
-
typeLabel:
|
|
55091
|
-
contentTypeKey:
|
|
55092
|
-
contentTypeName:
|
|
55093
|
-
updatedAt:
|
|
55348
|
+
var internalLinkPayloadSchema = z65.object({
|
|
55349
|
+
kind: z65.literal("internal"),
|
|
55350
|
+
routeId: z65.string().uuid(),
|
|
55351
|
+
entityId: z65.string().uuid(),
|
|
55352
|
+
entityType: z65.enum(["page", "content"]),
|
|
55353
|
+
href: z65.string().min(1),
|
|
55354
|
+
title: z65.string().min(1),
|
|
55355
|
+
typeLabel: z65.string().min(1),
|
|
55356
|
+
contentTypeKey: z65.string().nullable().optional(),
|
|
55357
|
+
contentTypeName: z65.string().nullable().optional(),
|
|
55358
|
+
updatedAt: z65.string().nullable().optional()
|
|
55094
55359
|
}).passthrough();
|
|
55095
|
-
var externalLinkSchema2 =
|
|
55096
|
-
kind:
|
|
55360
|
+
var externalLinkSchema2 = z65.object({
|
|
55361
|
+
kind: z65.literal("external"),
|
|
55097
55362
|
// Navigation external links are expected to be absolute URLs.
|
|
55098
|
-
href:
|
|
55363
|
+
href: z65.string().url()
|
|
55099
55364
|
});
|
|
55100
|
-
var customLinkSchema2 =
|
|
55101
|
-
kind:
|
|
55102
|
-
href:
|
|
55365
|
+
var customLinkSchema2 = z65.object({
|
|
55366
|
+
kind: z65.literal("url"),
|
|
55367
|
+
href: z65.string().min(1)
|
|
55103
55368
|
});
|
|
55104
|
-
var pageLinkSchema2 =
|
|
55105
|
-
kind:
|
|
55106
|
-
identifier:
|
|
55369
|
+
var pageLinkSchema2 = z65.object({
|
|
55370
|
+
kind: z65.literal("page"),
|
|
55371
|
+
identifier: z65.string().min(1)
|
|
55107
55372
|
});
|
|
55108
|
-
var entryLinkSchema2 =
|
|
55109
|
-
kind:
|
|
55110
|
-
contentType:
|
|
55111
|
-
identifier:
|
|
55373
|
+
var entryLinkSchema2 = z65.object({
|
|
55374
|
+
kind: z65.literal("entry"),
|
|
55375
|
+
contentType: z65.string().min(1),
|
|
55376
|
+
identifier: z65.string().min(1)
|
|
55112
55377
|
});
|
|
55113
|
-
var linkPayloadSchema =
|
|
55378
|
+
var linkPayloadSchema = z65.discriminatedUnion("kind", [
|
|
55114
55379
|
internalLinkPayloadSchema,
|
|
55115
55380
|
pageLinkSchema2,
|
|
55116
55381
|
entryLinkSchema2,
|
|
@@ -55127,86 +55392,85 @@ var navigationLinkInputSchemaOptions = [
|
|
|
55127
55392
|
portalLinkPayloadSchema,
|
|
55128
55393
|
cartLinkPayloadSchema
|
|
55129
55394
|
];
|
|
55130
|
-
var navigationLinkInputSchema =
|
|
55395
|
+
var navigationLinkInputSchema = z65.discriminatedUnion(
|
|
55131
55396
|
"kind",
|
|
55132
55397
|
navigationLinkInputSchemaOptions
|
|
55133
55398
|
);
|
|
55134
55399
|
|
|
55135
55400
|
// ../api/src/sdkConfig/contracts.ts
|
|
55136
|
-
import { z as
|
|
55401
|
+
import { z as z66 } from "zod";
|
|
55137
55402
|
function unsafeRetypeZodSchema(schema) {
|
|
55138
55403
|
return schema;
|
|
55139
55404
|
}
|
|
55140
|
-
var navIdListSchema =
|
|
55405
|
+
var navIdListSchema = z66.preprocess((value) => {
|
|
55141
55406
|
if (!Array.isArray(value)) return void 0;
|
|
55142
55407
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
55143
55408
|
return filtered.length > 0 ? filtered : void 0;
|
|
55144
|
-
},
|
|
55145
|
-
var dashboardNavVisibilityBaseSchema =
|
|
55146
|
-
mode:
|
|
55409
|
+
}, z66.array(z66.string()).max(200).optional());
|
|
55410
|
+
var dashboardNavVisibilityBaseSchema = z66.object({
|
|
55411
|
+
mode: z66.enum(["augment", "restrict"]).optional(),
|
|
55147
55412
|
allowIds: navIdListSchema,
|
|
55148
55413
|
denyIds: navIdListSchema
|
|
55149
55414
|
}).strip();
|
|
55150
|
-
var dashboardNavVisibilityRolesSchema =
|
|
55415
|
+
var dashboardNavVisibilityRolesSchema = z66.object({
|
|
55151
55416
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
55152
55417
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
55153
|
-
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
55154
|
-
event_host: dashboardNavVisibilityBaseSchema.optional()
|
|
55418
|
+
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
55155
55419
|
}).strip().optional();
|
|
55156
55420
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
55157
55421
|
roles: dashboardNavVisibilityRolesSchema
|
|
55158
55422
|
}).strip();
|
|
55159
|
-
var dashboardNavigationConfigSchema =
|
|
55423
|
+
var dashboardNavigationConfigSchema = z66.object({
|
|
55160
55424
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
55161
55425
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
55162
55426
|
}).strip();
|
|
55163
|
-
var dashboardConfigSchema =
|
|
55164
|
-
previewEditingEnabled:
|
|
55427
|
+
var dashboardConfigSchema = z66.object({
|
|
55428
|
+
previewEditingEnabled: z66.boolean().optional(),
|
|
55165
55429
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
55166
55430
|
}).strip();
|
|
55167
55431
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
55168
55432
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
55169
|
-
var sdkLoaderEndpointSchema =
|
|
55170
|
-
var loaderParamBindingSchema =
|
|
55171
|
-
$bind:
|
|
55172
|
-
from:
|
|
55173
|
-
fallback:
|
|
55433
|
+
var sdkLoaderEndpointSchema = z66.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
55434
|
+
var loaderParamBindingSchema = z66.object({
|
|
55435
|
+
$bind: z66.object({
|
|
55436
|
+
from: z66.string().min(1, "Binding path is required"),
|
|
55437
|
+
fallback: z66.string().optional()
|
|
55174
55438
|
})
|
|
55175
55439
|
});
|
|
55176
|
-
var loaderParamValueSchema =
|
|
55177
|
-
|
|
55178
|
-
|
|
55179
|
-
|
|
55440
|
+
var loaderParamValueSchema = z66.union([
|
|
55441
|
+
z66.string(),
|
|
55442
|
+
z66.number(),
|
|
55443
|
+
z66.boolean(),
|
|
55180
55444
|
loaderParamBindingSchema
|
|
55181
55445
|
]);
|
|
55182
|
-
var sdkConfigLoaderSchema =
|
|
55446
|
+
var sdkConfigLoaderSchema = z66.object({
|
|
55183
55447
|
endpoint: sdkLoaderEndpointSchema,
|
|
55184
|
-
params:
|
|
55185
|
-
mode:
|
|
55448
|
+
params: z66.record(z66.string(), loaderParamValueSchema),
|
|
55449
|
+
mode: z66.enum(["server", "client"]).default("server")
|
|
55186
55450
|
});
|
|
55187
|
-
var sdkDataLoadersSchema =
|
|
55188
|
-
var sdkCustomBlockIdSchema =
|
|
55451
|
+
var sdkDataLoadersSchema = z66.record(z66.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
55452
|
+
var sdkCustomBlockIdSchema = z66.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
55189
55453
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
55190
55454
|
}).transform((value) => value);
|
|
55191
|
-
var sdkCustomBlockInputSchema =
|
|
55455
|
+
var sdkCustomBlockInputSchema = z66.object({
|
|
55192
55456
|
id: sdkCustomBlockIdSchema,
|
|
55193
|
-
title:
|
|
55194
|
-
titleSource:
|
|
55195
|
-
description:
|
|
55457
|
+
title: z66.string().min(1),
|
|
55458
|
+
titleSource: z66.union([z66.string().min(1), z66.array(z66.string().min(1)).min(1)]).optional(),
|
|
55459
|
+
description: z66.string().optional(),
|
|
55196
55460
|
category: blockCategoryEnum,
|
|
55197
|
-
icon:
|
|
55198
|
-
tags:
|
|
55461
|
+
icon: z66.string().optional(),
|
|
55462
|
+
tags: z66.array(z66.string()).optional(),
|
|
55199
55463
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
55200
55464
|
dataLoaders: sdkDataLoadersSchema,
|
|
55201
55465
|
layout: NodeSchema.optional(),
|
|
55202
|
-
variants:
|
|
55203
|
-
defaultVariant:
|
|
55204
|
-
variantOptions:
|
|
55205
|
-
|
|
55206
|
-
|
|
55207
|
-
label:
|
|
55208
|
-
description:
|
|
55209
|
-
icon:
|
|
55466
|
+
variants: z66.record(z66.string().min(1), NodeSchema).optional(),
|
|
55467
|
+
defaultVariant: z66.string().min(1).optional(),
|
|
55468
|
+
variantOptions: z66.record(
|
|
55469
|
+
z66.string().min(1),
|
|
55470
|
+
z66.object({
|
|
55471
|
+
label: z66.string().min(1).optional(),
|
|
55472
|
+
description: z66.string().min(1).optional(),
|
|
55473
|
+
icon: z66.string().min(1).optional()
|
|
55210
55474
|
})
|
|
55211
55475
|
).optional()
|
|
55212
55476
|
}).superRefine((data, ctx) => {
|
|
@@ -55216,7 +55480,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55216
55480
|
const exists = data.fields.some((field) => field.id === source);
|
|
55217
55481
|
if (!exists) {
|
|
55218
55482
|
ctx.addIssue({
|
|
55219
|
-
code:
|
|
55483
|
+
code: z66.ZodIssueCode.custom,
|
|
55220
55484
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
55221
55485
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
55222
55486
|
});
|
|
@@ -55225,7 +55489,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55225
55489
|
}
|
|
55226
55490
|
if (data.layout && data.variants) {
|
|
55227
55491
|
ctx.addIssue({
|
|
55228
|
-
code:
|
|
55492
|
+
code: z66.ZodIssueCode.custom,
|
|
55229
55493
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
55230
55494
|
path: ["variants"]
|
|
55231
55495
|
});
|
|
@@ -55234,14 +55498,14 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55234
55498
|
const keys = Object.keys(data.variants);
|
|
55235
55499
|
if (keys.length === 0) {
|
|
55236
55500
|
ctx.addIssue({
|
|
55237
|
-
code:
|
|
55501
|
+
code: z66.ZodIssueCode.custom,
|
|
55238
55502
|
message: "`variants` must contain at least one variant key",
|
|
55239
55503
|
path: ["variants"]
|
|
55240
55504
|
});
|
|
55241
55505
|
}
|
|
55242
55506
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
55243
55507
|
ctx.addIssue({
|
|
55244
|
-
code:
|
|
55508
|
+
code: z66.ZodIssueCode.custom,
|
|
55245
55509
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
55246
55510
|
path: ["defaultVariant"]
|
|
55247
55511
|
});
|
|
@@ -55250,7 +55514,7 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55250
55514
|
for (const key of Object.keys(data.variantOptions)) {
|
|
55251
55515
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
55252
55516
|
ctx.addIssue({
|
|
55253
|
-
code:
|
|
55517
|
+
code: z66.ZodIssueCode.custom,
|
|
55254
55518
|
message: "`variantOptions` key must exist in `variants`",
|
|
55255
55519
|
path: ["variantOptions", key]
|
|
55256
55520
|
});
|
|
@@ -55259,74 +55523,74 @@ var sdkCustomBlockInputSchema = z65.object({
|
|
|
55259
55523
|
}
|
|
55260
55524
|
}
|
|
55261
55525
|
});
|
|
55262
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
55526
|
+
var sdkBlockFieldExtensionInputSchema = z66.object({
|
|
55263
55527
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
55264
55528
|
});
|
|
55265
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
55266
|
-
|
|
55529
|
+
var sdkBlockFieldExtensionsInputSchema = z66.record(
|
|
55530
|
+
z66.string().min(1),
|
|
55267
55531
|
sdkBlockFieldExtensionInputSchema
|
|
55268
55532
|
);
|
|
55269
|
-
var sdkThemePaletteSchema =
|
|
55270
|
-
var sdkThemeConfigSchema =
|
|
55533
|
+
var sdkThemePaletteSchema = z66.record(z66.string(), z66.string());
|
|
55534
|
+
var sdkThemeConfigSchema = z66.object({
|
|
55271
55535
|
palette: sdkThemePaletteSchema
|
|
55272
55536
|
});
|
|
55273
|
-
var sdkSectionBackgroundSchema =
|
|
55274
|
-
id:
|
|
55275
|
-
label:
|
|
55276
|
-
token:
|
|
55537
|
+
var sdkSectionBackgroundSchema = z66.object({
|
|
55538
|
+
id: z66.string().min(1),
|
|
55539
|
+
label: z66.string().min(1),
|
|
55540
|
+
token: z66.string().min(1)
|
|
55277
55541
|
});
|
|
55278
|
-
var sdkSectionOptionsConfigSchema =
|
|
55279
|
-
backgroundColor:
|
|
55280
|
-
backgroundImage:
|
|
55281
|
-
backgroundGradient:
|
|
55282
|
-
spacing:
|
|
55283
|
-
textColor:
|
|
55542
|
+
var sdkSectionOptionsConfigSchema = z66.object({
|
|
55543
|
+
backgroundColor: z66.boolean().optional(),
|
|
55544
|
+
backgroundImage: z66.boolean().optional(),
|
|
55545
|
+
backgroundGradient: z66.boolean().optional(),
|
|
55546
|
+
spacing: z66.union([z66.array(z66.enum(["compact", "default", "spacious"])), z66.boolean()]).optional(),
|
|
55547
|
+
textColor: z66.boolean().optional()
|
|
55284
55548
|
});
|
|
55285
|
-
var sdkContainerOptionsConfigSchema =
|
|
55286
|
-
maxWidth:
|
|
55287
|
-
alignment:
|
|
55549
|
+
var sdkContainerOptionsConfigSchema = z66.object({
|
|
55550
|
+
maxWidth: z66.union([z66.array(z66.enum(["narrow", "default", "wide", "full"])), z66.boolean()]).optional(),
|
|
55551
|
+
alignment: z66.union([z66.array(z66.enum(["left", "center", "right"])), z66.boolean()]).optional()
|
|
55288
55552
|
});
|
|
55289
|
-
var sdkSiteStyleConfigSchema =
|
|
55290
|
-
sectionBackgrounds:
|
|
55553
|
+
var sdkSiteStyleConfigSchema = z66.object({
|
|
55554
|
+
sectionBackgrounds: z66.array(sdkSectionBackgroundSchema).optional(),
|
|
55291
55555
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
55292
55556
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
55293
55557
|
});
|
|
55294
|
-
var sdkSiteLayoutConfigSchema =
|
|
55295
|
-
footerBlocks:
|
|
55296
|
-
|
|
55297
|
-
id:
|
|
55298
|
-
kind:
|
|
55299
|
-
content:
|
|
55558
|
+
var sdkSiteLayoutConfigSchema = z66.object({
|
|
55559
|
+
footerBlocks: z66.array(
|
|
55560
|
+
z66.object({
|
|
55561
|
+
id: z66.string().min(1).optional(),
|
|
55562
|
+
kind: z66.string().min(1),
|
|
55563
|
+
content: z66.record(z66.string(), z66.unknown()).optional()
|
|
55300
55564
|
})
|
|
55301
55565
|
).optional()
|
|
55302
55566
|
});
|
|
55303
|
-
var sdkFieldSelectOptionSchema =
|
|
55304
|
-
value:
|
|
55305
|
-
label:
|
|
55567
|
+
var sdkFieldSelectOptionSchema = z66.object({
|
|
55568
|
+
value: z66.string(),
|
|
55569
|
+
label: z66.string()
|
|
55306
55570
|
});
|
|
55307
|
-
var sdkBlockFieldConfigSchema =
|
|
55308
|
-
options:
|
|
55571
|
+
var sdkBlockFieldConfigSchema = z66.object({
|
|
55572
|
+
options: z66.array(sdkFieldSelectOptionSchema).optional()
|
|
55309
55573
|
});
|
|
55310
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
55311
|
-
|
|
55574
|
+
var sdkBlockFieldOptionsMapSchema = z66.record(
|
|
55575
|
+
z66.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
55312
55576
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
55313
55577
|
}),
|
|
55314
|
-
|
|
55578
|
+
z66.record(z66.string().min(1), sdkBlockFieldConfigSchema)
|
|
55315
55579
|
).optional();
|
|
55316
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
55317
|
-
blocks:
|
|
55580
|
+
var sdkContentTypeTemplateConfigSchema = z66.object({
|
|
55581
|
+
blocks: z66.array(z66.unknown())
|
|
55318
55582
|
}).passthrough();
|
|
55319
|
-
var sdkContentTypeConfigSchema =
|
|
55320
|
-
key:
|
|
55321
|
-
fields:
|
|
55583
|
+
var sdkContentTypeConfigSchema = z66.object({
|
|
55584
|
+
key: z66.string().min(1),
|
|
55585
|
+
fields: z66.array(z66.unknown()),
|
|
55322
55586
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
55323
55587
|
}).passthrough();
|
|
55324
|
-
var sdkContentConfigSchema =
|
|
55325
|
-
contentTypes:
|
|
55326
|
-
pages:
|
|
55327
|
-
entries:
|
|
55328
|
-
navigationMenus:
|
|
55329
|
-
settings:
|
|
55588
|
+
var sdkContentConfigSchema = z66.object({
|
|
55589
|
+
contentTypes: z66.array(sdkContentTypeConfigSchema).optional(),
|
|
55590
|
+
pages: z66.array(z66.unknown()).optional(),
|
|
55591
|
+
entries: z66.array(z66.unknown()).optional(),
|
|
55592
|
+
navigationMenus: z66.array(z66.unknown()).optional(),
|
|
55593
|
+
settings: z66.unknown().optional()
|
|
55330
55594
|
}).passthrough();
|
|
55331
55595
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
55332
55596
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -55334,46 +55598,69 @@ var SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH = 500;
|
|
|
55334
55598
|
var SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH = 120;
|
|
55335
55599
|
var SDK_WORKFLOW_ENDPOINT_MAX_LENGTH = 500;
|
|
55336
55600
|
var SDK_WORKFLOW_TRIGGER_MAX_COUNT = 5;
|
|
55601
|
+
var SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH = 120;
|
|
55602
|
+
var SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT = 10;
|
|
55337
55603
|
var SDK_WORKFLOW_MAX_COUNT = 50;
|
|
55338
55604
|
var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
55339
55605
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
55340
55606
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
55341
55607
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
55342
|
-
var sdkWorkflowIdSchema =
|
|
55608
|
+
var sdkWorkflowIdSchema = z66.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
55343
55609
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
55344
55610
|
});
|
|
55345
|
-
var sdkWorkflowEndpointSchema =
|
|
55346
|
-
var sdkWorkflowManualTriggerSchema =
|
|
55347
|
-
type:
|
|
55611
|
+
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 "/"' });
|
|
55612
|
+
var sdkWorkflowManualTriggerSchema = z66.object({
|
|
55613
|
+
type: z66.literal("manual")
|
|
55614
|
+
}).strict();
|
|
55615
|
+
var sdkWorkflowTriggerFieldSchema = z66.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
55616
|
+
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
55617
|
+
});
|
|
55618
|
+
var sdkWorkflowFieldChangedConditionSchema = z66.object({
|
|
55619
|
+
field: sdkWorkflowTriggerFieldSchema,
|
|
55620
|
+
changed: z66.literal(true)
|
|
55348
55621
|
}).strict();
|
|
55349
|
-
var
|
|
55350
|
-
|
|
55622
|
+
var sdkWorkflowFieldEmptyConditionSchema = z66.object({
|
|
55623
|
+
field: sdkWorkflowTriggerFieldSchema,
|
|
55624
|
+
isEmpty: z66.boolean()
|
|
55625
|
+
}).strict();
|
|
55626
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z66.object({
|
|
55627
|
+
type: z66.literal("entry.draft.updated"),
|
|
55628
|
+
when: z66.array(
|
|
55629
|
+
z66.union([
|
|
55630
|
+
sdkWorkflowFieldChangedConditionSchema,
|
|
55631
|
+
sdkWorkflowFieldEmptyConditionSchema
|
|
55632
|
+
])
|
|
55633
|
+
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
55634
|
+
}).strict();
|
|
55635
|
+
var sdkWorkflowTriggerSchema = z66.discriminatedUnion("type", [
|
|
55636
|
+
sdkWorkflowManualTriggerSchema,
|
|
55637
|
+
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
55351
55638
|
]);
|
|
55352
|
-
var sdkWorkflowConfirmationSchema =
|
|
55353
|
-
title:
|
|
55354
|
-
body:
|
|
55639
|
+
var sdkWorkflowConfirmationSchema = z66.object({
|
|
55640
|
+
title: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
55641
|
+
body: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
55355
55642
|
}).strict();
|
|
55356
|
-
var sdkWorkflowConfigSchema =
|
|
55643
|
+
var sdkWorkflowConfigSchema = z66.object({
|
|
55357
55644
|
id: sdkWorkflowIdSchema,
|
|
55358
|
-
title:
|
|
55359
|
-
description:
|
|
55360
|
-
contentType:
|
|
55645
|
+
title: z66.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
55646
|
+
description: z66.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
55647
|
+
contentType: z66.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
55361
55648
|
endpoint: sdkWorkflowEndpointSchema,
|
|
55362
|
-
triggers:
|
|
55649
|
+
triggers: z66.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
55363
55650
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
55364
55651
|
}).strict();
|
|
55365
|
-
var sdkWorkflowsSchema =
|
|
55652
|
+
var sdkWorkflowsSchema = z66.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
55366
55653
|
const ids = workflows.map((workflow) => workflow.id);
|
|
55367
55654
|
return ids.length === new Set(ids).size;
|
|
55368
55655
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
55369
|
-
var riverbankSiteConfigInputSchema =
|
|
55370
|
-
siteId:
|
|
55371
|
-
previewUrl:
|
|
55372
|
-
liveUrl:
|
|
55656
|
+
var riverbankSiteConfigInputSchema = z66.object({
|
|
55657
|
+
siteId: z66.string().uuid(),
|
|
55658
|
+
previewUrl: z66.string().url().optional(),
|
|
55659
|
+
liveUrl: z66.string().url().optional(),
|
|
55373
55660
|
theme: sdkThemeConfigSchema.optional(),
|
|
55374
55661
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
55375
55662
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
55376
|
-
customBlocks:
|
|
55663
|
+
customBlocks: z66.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
55377
55664
|
const ids = blocks.map((b) => b.id);
|
|
55378
55665
|
return ids.length === new Set(ids).size;
|
|
55379
55666
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -55381,48 +55668,51 @@ var riverbankSiteConfigInputSchema = z65.object({
|
|
|
55381
55668
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
55382
55669
|
workflows: sdkWorkflowsSchema,
|
|
55383
55670
|
content: sdkContentConfigSchema.optional(),
|
|
55384
|
-
contentDir:
|
|
55385
|
-
sync:
|
|
55386
|
-
existingEntries:
|
|
55671
|
+
contentDir: z66.string().optional(),
|
|
55672
|
+
sync: z66.object({
|
|
55673
|
+
existingEntries: z66.enum(["skip", "update"]).optional()
|
|
55387
55674
|
}).optional(),
|
|
55388
|
-
deploy:
|
|
55389
|
-
verifyCommand:
|
|
55390
|
-
prebuildOutput:
|
|
55675
|
+
deploy: z66.object({
|
|
55676
|
+
verifyCommand: z66.string().optional(),
|
|
55677
|
+
prebuildOutput: z66.string().optional()
|
|
55391
55678
|
}).optional(),
|
|
55392
|
-
themeSource:
|
|
55393
|
-
activeTheme:
|
|
55394
|
-
enablePortal:
|
|
55679
|
+
themeSource: z66.enum(["local", "cms"]).optional(),
|
|
55680
|
+
activeTheme: z66.string().optional(),
|
|
55681
|
+
enablePortal: z66.boolean().optional(),
|
|
55395
55682
|
dashboard: dashboardConfigSchema.optional()
|
|
55396
55683
|
}).strict();
|
|
55397
|
-
var pushSdkConfigBodySchema =
|
|
55684
|
+
var pushSdkConfigBodySchema = z66.object({
|
|
55398
55685
|
config: riverbankSiteConfigInputSchema,
|
|
55399
|
-
forceContentTypes:
|
|
55686
|
+
forceContentTypes: z66.boolean().optional()
|
|
55400
55687
|
}).strict();
|
|
55401
55688
|
|
|
55402
55689
|
// ../api/src/siteOnboarding.ts
|
|
55403
|
-
import { z as
|
|
55690
|
+
import { z as z67 } from "zod";
|
|
55404
55691
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
55405
55692
|
configure_appointments: {
|
|
55406
55693
|
requirementId: "configure_appointments",
|
|
55407
55694
|
reason: "launch_anyway"
|
|
55408
55695
|
}
|
|
55409
55696
|
};
|
|
55410
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
55697
|
+
var acknowledgeLaunchRequirementRequestSchema = z67.discriminatedUnion(
|
|
55411
55698
|
"requirementId",
|
|
55412
55699
|
[
|
|
55413
|
-
|
|
55414
|
-
requirementId:
|
|
55700
|
+
z67.object({
|
|
55701
|
+
requirementId: z67.literal("review_generated_site")
|
|
55415
55702
|
}),
|
|
55416
|
-
|
|
55417
|
-
requirementId:
|
|
55703
|
+
z67.object({
|
|
55704
|
+
requirementId: z67.literal(
|
|
55418
55705
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
55419
55706
|
),
|
|
55420
|
-
overrideReason:
|
|
55707
|
+
overrideReason: z67.literal(
|
|
55421
55708
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
55422
55709
|
)
|
|
55423
55710
|
})
|
|
55424
55711
|
]
|
|
55425
55712
|
);
|
|
55713
|
+
var goLiveSiteRequestSchema = z67.object({
|
|
55714
|
+
acceptExtraSiteCharge: z67.boolean().optional()
|
|
55715
|
+
});
|
|
55426
55716
|
|
|
55427
55717
|
// ../surfaces/src/index.ts
|
|
55428
55718
|
var SURFACE_IDS = ["core", "macadamia"];
|
|
@@ -55602,79 +55892,94 @@ function isRecord4(value) {
|
|
|
55602
55892
|
}
|
|
55603
55893
|
|
|
55604
55894
|
// ../api/src/appointmentSetup.ts
|
|
55605
|
-
import { z as
|
|
55606
|
-
var appointmentSetupRefSchema =
|
|
55607
|
-
|
|
55608
|
-
|
|
55895
|
+
import { z as z68 } from "zod";
|
|
55896
|
+
var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
|
|
55897
|
+
z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
|
|
55898
|
+
z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
|
|
55609
55899
|
]);
|
|
55610
|
-
var appointmentSetupVenueChoiceSchema =
|
|
55611
|
-
|
|
55612
|
-
|
|
55613
|
-
|
|
55614
|
-
kind:
|
|
55615
|
-
draftId:
|
|
55616
|
-
title:
|
|
55617
|
-
description:
|
|
55618
|
-
timezone:
|
|
55619
|
-
addressJson:
|
|
55620
|
-
locationJson:
|
|
55900
|
+
var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
|
|
55901
|
+
z68.object({ kind: z68.literal("none") }),
|
|
55902
|
+
z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
|
|
55903
|
+
z68.object({
|
|
55904
|
+
kind: z68.literal("create"),
|
|
55905
|
+
draftId: z68.string().min(1),
|
|
55906
|
+
title: z68.string().trim().min(1),
|
|
55907
|
+
description: z68.string().nullable(),
|
|
55908
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
55909
|
+
addressJson: z68.record(z68.string(), z68.unknown()),
|
|
55910
|
+
locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
|
|
55621
55911
|
})
|
|
55622
55912
|
]);
|
|
55623
|
-
var appointmentSetupPaymentDraftSchema =
|
|
55624
|
-
priceType:
|
|
55625
|
-
});
|
|
55626
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
55627
|
-
|
|
55628
|
-
|
|
55629
|
-
kind:
|
|
55630
|
-
resourceRefs:
|
|
55913
|
+
var appointmentSetupPaymentDraftSchema = z68.object({
|
|
55914
|
+
priceType: z68.union([z68.literal("free"), z68.literal("paid")])
|
|
55915
|
+
});
|
|
55916
|
+
var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
|
|
55917
|
+
z68.object({ kind: z68.literal("all_practitioners") }),
|
|
55918
|
+
z68.object({
|
|
55919
|
+
kind: z68.literal("selected_practitioners"),
|
|
55920
|
+
resourceRefs: z68.array(appointmentSetupRefSchema)
|
|
55631
55921
|
})
|
|
55632
55922
|
]);
|
|
55633
|
-
var appointmentSetupServiceDraftSchema =
|
|
55923
|
+
var appointmentSetupServiceDraftSchema = z68.object({
|
|
55634
55924
|
ref: appointmentSetupRefSchema,
|
|
55635
|
-
title:
|
|
55636
|
-
description:
|
|
55637
|
-
durationMinutes:
|
|
55638
|
-
priceAmount:
|
|
55639
|
-
isActive:
|
|
55640
|
-
locationType:
|
|
55641
|
-
|
|
55642
|
-
|
|
55643
|
-
|
|
55925
|
+
title: z68.string().trim().min(1),
|
|
55926
|
+
description: z68.string().nullable(),
|
|
55927
|
+
durationMinutes: z68.number().int().positive(),
|
|
55928
|
+
priceAmount: z68.number().int().nonnegative().nullable(),
|
|
55929
|
+
isActive: z68.boolean(),
|
|
55930
|
+
locationType: z68.union([
|
|
55931
|
+
z68.literal("virtual"),
|
|
55932
|
+
z68.literal("in_person"),
|
|
55933
|
+
z68.literal("hybrid")
|
|
55644
55934
|
]),
|
|
55645
55935
|
venue: appointmentSetupVenueChoiceSchema,
|
|
55646
|
-
timezone:
|
|
55936
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
55647
55937
|
payment: appointmentSetupPaymentDraftSchema,
|
|
55648
55938
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
55939
|
+
}).superRefine((service, ctx) => {
|
|
55940
|
+
if (service.payment.priceType === "paid" && (service.priceAmount === null || service.priceAmount <= 0)) {
|
|
55941
|
+
ctx.addIssue({
|
|
55942
|
+
code: "custom",
|
|
55943
|
+
path: ["priceAmount"],
|
|
55944
|
+
message: "Paid appointment services need a positive price."
|
|
55945
|
+
});
|
|
55946
|
+
}
|
|
55947
|
+
if (service.payment.priceType === "free" && service.priceAmount !== null && service.priceAmount > 0) {
|
|
55948
|
+
ctx.addIssue({
|
|
55949
|
+
code: "custom",
|
|
55950
|
+
path: ["priceAmount"],
|
|
55951
|
+
message: "Free appointment services cannot carry a positive price."
|
|
55952
|
+
});
|
|
55953
|
+
}
|
|
55649
55954
|
});
|
|
55650
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
55955
|
+
var appointmentSetupPractitionerDraftSchema = z68.object({
|
|
55651
55956
|
ref: appointmentSetupRefSchema,
|
|
55652
|
-
displayName:
|
|
55653
|
-
bio:
|
|
55654
|
-
timezone:
|
|
55655
|
-
colorHex:
|
|
55656
|
-
});
|
|
55657
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
55658
|
-
weekday:
|
|
55659
|
-
startTime:
|
|
55660
|
-
endTime:
|
|
55661
|
-
});
|
|
55662
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
55663
|
-
kind:
|
|
55957
|
+
displayName: z68.string().trim().min(1),
|
|
55958
|
+
bio: z68.string().nullable(),
|
|
55959
|
+
timezone: z68.string().trim().min(1),
|
|
55960
|
+
colorHex: z68.string().nullable()
|
|
55961
|
+
});
|
|
55962
|
+
var appointmentSetupWeeklyWindowDraftSchema = z68.object({
|
|
55963
|
+
weekday: z68.number().int().min(0).max(6),
|
|
55964
|
+
startTime: z68.string(),
|
|
55965
|
+
endTime: z68.string()
|
|
55966
|
+
});
|
|
55967
|
+
var appointmentSetupAvailabilityDraftSchema = z68.object({
|
|
55968
|
+
kind: z68.literal("weekly_windows"),
|
|
55664
55969
|
resourceRef: appointmentSetupRefSchema,
|
|
55665
55970
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
55666
|
-
windows:
|
|
55971
|
+
windows: z68.array(appointmentSetupWeeklyWindowDraftSchema)
|
|
55667
55972
|
});
|
|
55668
55973
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
55669
55974
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
55670
|
-
var appointmentSetupBookingNoticeSchema =
|
|
55671
|
-
minLeadMinutes:
|
|
55672
|
-
maxBookingNoticeMinutes:
|
|
55673
|
-
});
|
|
55674
|
-
var applyAppointmentSetupRequestSchema =
|
|
55675
|
-
services:
|
|
55676
|
-
practitioners:
|
|
55677
|
-
availability:
|
|
55975
|
+
var appointmentSetupBookingNoticeSchema = z68.object({
|
|
55976
|
+
minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
55977
|
+
maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
55978
|
+
});
|
|
55979
|
+
var applyAppointmentSetupRequestSchema = z68.object({
|
|
55980
|
+
services: z68.array(appointmentSetupServiceDraftSchema),
|
|
55981
|
+
practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
|
|
55982
|
+
availability: z68.array(appointmentSetupAvailabilityDraftSchema),
|
|
55678
55983
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
55679
55984
|
});
|
|
55680
55985
|
|
|
@@ -55707,24 +56012,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
55707
56012
|
];
|
|
55708
56013
|
|
|
55709
56014
|
// ../api/src/siteBanner.ts
|
|
55710
|
-
import { z as
|
|
56015
|
+
import { z as z69 } from "zod";
|
|
55711
56016
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
55712
56017
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
55713
56018
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
55714
56019
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
55715
|
-
var siteBannerScopeSchema =
|
|
55716
|
-
var siteBannerToneSchema =
|
|
55717
|
-
var siteBannerBodySchema =
|
|
55718
|
-
var siteBannerCtaSchema =
|
|
55719
|
-
label:
|
|
56020
|
+
var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
|
|
56021
|
+
var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
|
|
56022
|
+
var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
|
|
56023
|
+
var siteBannerCtaSchema = z69.object({
|
|
56024
|
+
label: z69.string().trim().min(1),
|
|
55720
56025
|
link: linkPayloadSchema
|
|
55721
56026
|
});
|
|
55722
|
-
var siteBannerSettingsSchema =
|
|
55723
|
-
|
|
55724
|
-
enabled:
|
|
56027
|
+
var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
|
|
56028
|
+
z69.object({
|
|
56029
|
+
enabled: z69.literal(false)
|
|
55725
56030
|
}),
|
|
55726
|
-
|
|
55727
|
-
enabled:
|
|
56031
|
+
z69.object({
|
|
56032
|
+
enabled: z69.literal(true),
|
|
55728
56033
|
scope: siteBannerScopeSchema,
|
|
55729
56034
|
tone: siteBannerToneSchema,
|
|
55730
56035
|
body: siteBannerBodySchema,
|
|
@@ -55738,7 +56043,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
55738
56043
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
55739
56044
|
for (const issue2 of analysis.issues) {
|
|
55740
56045
|
ctx.addIssue({
|
|
55741
|
-
code:
|
|
56046
|
+
code: z69.ZodIssueCode.custom,
|
|
55742
56047
|
path: ["body"],
|
|
55743
56048
|
message: siteBannerBodyIssueMessage(issue2)
|
|
55744
56049
|
});
|
|
@@ -55962,71 +56267,71 @@ function parsePublicProductCategorySelector(value) {
|
|
|
55962
56267
|
}
|
|
55963
56268
|
|
|
55964
56269
|
// ../api/src/aiPlayground.ts
|
|
55965
|
-
import { z as
|
|
55966
|
-
var Rfc6902PatchOp =
|
|
56270
|
+
import { z as z70 } from "zod";
|
|
56271
|
+
var Rfc6902PatchOp = z70.discriminatedUnion("op", [
|
|
55967
56272
|
// Standard RFC-6902 operations
|
|
55968
|
-
|
|
55969
|
-
op:
|
|
55970
|
-
path:
|
|
55971
|
-
value:
|
|
56273
|
+
z70.object({
|
|
56274
|
+
op: z70.literal("add"),
|
|
56275
|
+
path: z70.string(),
|
|
56276
|
+
value: z70.unknown()
|
|
55972
56277
|
}),
|
|
55973
|
-
|
|
55974
|
-
op:
|
|
55975
|
-
path:
|
|
56278
|
+
z70.object({
|
|
56279
|
+
op: z70.literal("remove"),
|
|
56280
|
+
path: z70.string()
|
|
55976
56281
|
}),
|
|
55977
|
-
|
|
55978
|
-
op:
|
|
55979
|
-
path:
|
|
55980
|
-
value:
|
|
56282
|
+
z70.object({
|
|
56283
|
+
op: z70.literal("replace"),
|
|
56284
|
+
path: z70.string(),
|
|
56285
|
+
value: z70.unknown()
|
|
55981
56286
|
}),
|
|
55982
|
-
|
|
55983
|
-
op:
|
|
55984
|
-
from:
|
|
55985
|
-
path:
|
|
56287
|
+
z70.object({
|
|
56288
|
+
op: z70.literal("move"),
|
|
56289
|
+
from: z70.string(),
|
|
56290
|
+
path: z70.string()
|
|
55986
56291
|
}),
|
|
55987
|
-
|
|
55988
|
-
op:
|
|
55989
|
-
from:
|
|
55990
|
-
path:
|
|
56292
|
+
z70.object({
|
|
56293
|
+
op: z70.literal("copy"),
|
|
56294
|
+
from: z70.string(),
|
|
56295
|
+
path: z70.string()
|
|
55991
56296
|
}),
|
|
55992
56297
|
// Block-level operations (Phase 2)
|
|
55993
|
-
|
|
55994
|
-
op:
|
|
55995
|
-
blockKind:
|
|
55996
|
-
afterBlockId:
|
|
55997
|
-
content:
|
|
55998
|
-
rationale:
|
|
56298
|
+
z70.object({
|
|
56299
|
+
op: z70.literal("add_block"),
|
|
56300
|
+
blockKind: z70.string(),
|
|
56301
|
+
afterBlockId: z70.string().nullable(),
|
|
56302
|
+
content: z70.record(z70.string(), z70.unknown()),
|
|
56303
|
+
rationale: z70.string()
|
|
55999
56304
|
}),
|
|
56000
|
-
|
|
56001
|
-
op:
|
|
56002
|
-
blockId:
|
|
56003
|
-
rationale:
|
|
56305
|
+
z70.object({
|
|
56306
|
+
op: z70.literal("delete_block"),
|
|
56307
|
+
blockId: z70.string(),
|
|
56308
|
+
rationale: z70.string()
|
|
56004
56309
|
}),
|
|
56005
|
-
|
|
56006
|
-
op:
|
|
56007
|
-
blockId:
|
|
56008
|
-
afterBlockId:
|
|
56009
|
-
rationale:
|
|
56310
|
+
z70.object({
|
|
56311
|
+
op: z70.literal("reorder_block"),
|
|
56312
|
+
blockId: z70.string(),
|
|
56313
|
+
afterBlockId: z70.string().nullable(),
|
|
56314
|
+
rationale: z70.string()
|
|
56010
56315
|
})
|
|
56011
56316
|
]);
|
|
56012
|
-
var PlaygroundProposeRequest =
|
|
56013
|
-
request:
|
|
56317
|
+
var PlaygroundProposeRequest = z70.object({
|
|
56318
|
+
request: z70.string().min(1).max(2e3)
|
|
56014
56319
|
});
|
|
56015
|
-
var MultiPagePatchEnvelope =
|
|
56016
|
-
pageId:
|
|
56017
|
-
blockId:
|
|
56320
|
+
var MultiPagePatchEnvelope = z70.object({
|
|
56321
|
+
pageId: z70.string(),
|
|
56322
|
+
blockId: z70.string().optional(),
|
|
56018
56323
|
// Not present for page-level ops
|
|
56019
|
-
blockKind:
|
|
56020
|
-
blockPurpose:
|
|
56021
|
-
ops:
|
|
56022
|
-
rationale:
|
|
56023
|
-
currentContent:
|
|
56024
|
-
});
|
|
56025
|
-
var MultiPageUpdateResponse =
|
|
56026
|
-
patches:
|
|
56027
|
-
assistantMessage:
|
|
56028
|
-
pagesModified:
|
|
56029
|
-
toolCallsUsed:
|
|
56324
|
+
blockKind: z70.string().optional(),
|
|
56325
|
+
blockPurpose: z70.string().optional().nullable(),
|
|
56326
|
+
ops: z70.array(Rfc6902PatchOp),
|
|
56327
|
+
rationale: z70.string(),
|
|
56328
|
+
currentContent: z70.record(z70.string(), z70.unknown()).optional()
|
|
56329
|
+
});
|
|
56330
|
+
var MultiPageUpdateResponse = z70.object({
|
|
56331
|
+
patches: z70.array(MultiPagePatchEnvelope),
|
|
56332
|
+
assistantMessage: z70.string(),
|
|
56333
|
+
pagesModified: z70.number(),
|
|
56334
|
+
toolCallsUsed: z70.number()
|
|
56030
56335
|
});
|
|
56031
56336
|
|
|
56032
56337
|
// src/data/prefetchBlockData.ts
|