@riverbankcms/sdk 0.143.0 → 0.145.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/dist/{PreviewEditorSidebar-DROGfMKi.mjs → PreviewEditorSidebar-O-V6Pl5a.mjs} +20 -26
- package/dist/{PreviewEditorUI-BaRjhFu-.mjs → PreviewEditorUI-1UlX_9cw.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-BxGwdOCV.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-OIABYLES.mjs → SdkPreviewModeRuntime-DYbA_4iv.mjs} +431 -351
- package/dist/{SiteChromeCustomizeContext-ohjTvZbc.mjs → SiteChromeCustomizeContext-CNTKQ9nx.mjs} +3989 -2769
- package/dist/_dts/ai/src/contracts/proposals.d.ts +4719 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +429 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/billing.d.ts +1 -1
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
- package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -12
- package/dist/_dts/api/src/communications.d.ts +14 -22
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
- package/dist/_dts/api/src/endpoints.d.ts +105 -58
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +2 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +0 -23
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
- package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -6
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
- package/dist/_dts/api/src/siteSettings.d.ts +17 -7
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/billing/src/membership/index.d.ts +3 -0
- package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
- package/dist/_dts/block-form/src/client/index.d.ts +1 -0
- package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
- package/dist/_dts/block-form/src/context/index.d.ts +1 -0
- package/dist/_dts/block-form/src/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +58 -10
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.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 +47 -47
- package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +6 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/editor-state.d.ts +6 -0
- package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
- package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
- package/dist/_dts/core/src/index.d.ts +3 -0
- package/dist/_dts/core/src/public-profile.d.ts +9 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +676 -241
- package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
- package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +6 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/logger/src/console.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +4 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +21 -15
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
- package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
- package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
- package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
- package/dist/_dts/ui/src/index.d.ts +1 -0
- package/dist/client/{BookingConsentAgreement-BoCtvzzu.mjs → BookingConsentAgreement-DlVOmpW4.mjs} +4 -55
- package/dist/client/{DiscountCodeDisclosure-B5S30nZk.mjs → DiscountCodeDisclosure-T9q623PQ.mjs} +27 -17
- package/dist/client/{EventCombined.client-CeZ2-zSt.mjs → EventCombined.client-DnsUeONl.mjs} +54 -46
- package/dist/client/{EventListing.client-DJN3j8B3.mjs → EventListing.client-CNBFqJS4.mjs} +3 -4
- package/dist/client/{LeafletStaticMap-RjtGzDQT.mjs → LeafletStaticMap-C7higg52.mjs} +1 -1
- package/dist/client/ThemedButton-LAJTNrS8.mjs +412 -0
- package/dist/client/{accordion-DOmnDoyg.mjs → accordion-BcNF9TjX.mjs} +1 -1
- package/dist/client/{bookingForm-C0vk7pgS.mjs → bookingForm-BUaQ3S03.mjs} +161 -75
- package/dist/client/bookings.mjs +392 -182
- package/dist/client/{carousel-BZJ7pno3.mjs → carousel-CTdF6e0V.mjs} +2 -2
- package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
- package/dist/client/{cart-CaeVAHJl.mjs → cart-pGtyf_XU.mjs} +3 -3
- package/dist/client/{checkout-7wmoNDtG.mjs → checkout-Da9WSn7Y.mjs} +3 -3
- package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
- package/dist/client/client.mjs +3819 -2717
- package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
- package/dist/client/{context-BOimxE3U.mjs → context-BFeY_Wbm.mjs} +24 -8
- package/dist/client/{dates-BnzVksi4.mjs → dates-BhwVSxDg.mjs} +2 -2
- package/dist/client/{eventCalendar-l-fpaslC.mjs → eventCalendar-BAtdnR4s.mjs} +39 -50
- package/dist/client/{eventCombined-DGGvssK6.mjs → eventCombined-RksA3tRC.mjs} +5 -4
- package/dist/client/{eventDetails-DRiCm_hL.mjs → eventDetails-BB9hB4wR.mjs} +4 -4
- package/dist/client/{eventListing-dph8loYX.mjs → eventListing-BpJBkviM.mjs} +5 -4
- package/dist/client/{eventRegistration-ClBohmbY.mjs → eventRegistration-B18jFq_o.mjs} +83 -68
- package/dist/client/{form-BLVVAnd3.mjs → form-Dodt8Y8t.mjs} +9 -10
- package/dist/client/{headerSection-DHy4C8Ix.mjs → headerSection-B0qj9ttg.mjs} +23 -30
- package/dist/client/hooks.mjs +807 -162
- package/dist/client/{locationMap-6HuS28ck.mjs → locationMap-gn-iMk7a.mjs} +9 -10
- package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
- package/dist/client/{newsletterForm-xOdcOhZP.mjs → newsletterForm-oByLdFkr.mjs} +31 -11
- package/dist/client/{pricing-ChinRYFt.mjs → pricing-BOU0_Hai.mjs} +1 -1
- package/dist/client/{productDetail-0chA5gbK.mjs → productDetail-D9v1zH2j.mjs} +3 -3
- package/dist/client/{productList-OoINA0h1.mjs → productList-D-mItx1n.mjs} +3 -3
- package/dist/client/{propsDecoder-CIZ-hbIG.mjs → propsDecoder-C3TP_z4x.mjs} +158 -61
- package/dist/client/rendering/client.mjs +2785 -2000
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3855 -2694
- package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-DzN1W0sq.mjs} +8 -1
- package/dist/client/{scrollToBlock-BPZl0gPZ.mjs → scrollToBlock-CWs8EIdo.mjs} +1 -1
- package/dist/client/{shop-CLJFqNIq.mjs → shop-Dufw7N7o.mjs} +45 -58
- package/dist/client/{shop-commerce-PpANg5wB.mjs → shop-commerce-gklw_hLF.mjs} +42 -55
- package/dist/client/{shop-commerce-store-TA_Kz2ku.mjs → shop-commerce-store-Sf1eyTaZ.mjs} +1 -1
- package/dist/client/{shopShared-DzcFcA5g.mjs → shopShared-B5nyA41S.mjs} +6 -5
- package/dist/client/{useEventFilters-CFU21QZo.mjs → useEventFilters-CLL829vy.mjs} +66 -355
- package/dist/preview-next/before-render.mjs +147 -77
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-chrome.css +8 -0
- package/dist/preview-next/keepAlive.mjs +147 -77
- package/dist/preview-next/middleware.mjs +147 -77
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-BxAFlu-j.mjs} +147 -77
- package/dist/{sdk-runtime-CDKl0Fr7.mjs → sdk-runtime-D0uZFev7.mjs} +2 -2
- package/dist/{separator-BTp96X32.mjs → separator-EvdCAn4V.mjs} +1 -1
- package/dist/server/components.mjs +2548 -1607
- package/dist/server/config-validation.mjs +794 -160
- package/dist/server/config.mjs +794 -160
- package/dist/server/data.mjs +806 -161
- package/dist/server/index.mjs +167 -85
- package/dist/server/navigation.mjs +28 -1
- package/dist/server/next.mjs +14930 -14036
- package/dist/server/page-converter.mjs +494 -113
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2537 -1590
- package/dist/server/rendering.mjs +2571 -1618
- package/dist/server/routing.mjs +918 -200
- package/dist/server/server.mjs +819 -205
- package/dist/server/theme-bridge.mjs +1232 -28
- package/dist/server/theme.mjs +6 -4
- package/dist/styles/index.css +6 -0
- package/package.json +2 -1
|
@@ -559,6 +559,11 @@ export type AppointmentBookingContent = {
|
|
|
559
559
|
export type AppointmentServicesContent = {
|
|
560
560
|
heading?: string | null;
|
|
561
561
|
description?: unknown;
|
|
562
|
+
/**
|
|
563
|
+
* Show one appointment-service category, with its heading and intro. Unset
|
|
564
|
+
* shows every category grouped; a deleted category falls back to that.
|
|
565
|
+
*/
|
|
566
|
+
categoryId?: string | null;
|
|
562
567
|
_sectionStyles?: SectionStylesContent;
|
|
563
568
|
};
|
|
564
569
|
export type WeeklySlotAvailabilityContent = {
|
|
@@ -19,10 +19,10 @@ export declare const fieldTypeEnum: z.ZodEnum<{
|
|
|
19
19
|
boolean: "boolean";
|
|
20
20
|
link: "link";
|
|
21
21
|
text: "text";
|
|
22
|
+
group: "group";
|
|
22
23
|
select: "select";
|
|
23
24
|
media: "media";
|
|
24
25
|
repeater: "repeater";
|
|
25
|
-
group: "group";
|
|
26
26
|
richText: "richText";
|
|
27
27
|
}>;
|
|
28
28
|
/**
|
|
@@ -167,8 +167,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
|
|
|
167
167
|
blockDescription: z.ZodNullable<z.ZodString>;
|
|
168
168
|
category: z.ZodEnum<{
|
|
169
169
|
content: "content";
|
|
170
|
-
media: "media";
|
|
171
170
|
layout: "layout";
|
|
171
|
+
media: "media";
|
|
172
172
|
marketing: "marketing";
|
|
173
173
|
blog: "blog";
|
|
174
174
|
interactive: "interactive";
|
|
@@ -415,4 +415,31 @@ export declare function resolveNavigationLinkHref(link: LinkPayload | null, rout
|
|
|
415
415
|
* ```
|
|
416
416
|
*/
|
|
417
417
|
export declare function buildLogo(logo: Partial<LogoSource> | null, fallbackAlt: string | null | undefined): Logo;
|
|
418
|
+
/** Both site logos, for chrome that picks one per surface. */
|
|
419
|
+
export type LogoVariants = {
|
|
420
|
+
forLightBackgrounds: Logo;
|
|
421
|
+
forDarkBackgrounds: Logo;
|
|
422
|
+
};
|
|
423
|
+
/**
|
|
424
|
+
* Build both site logos from layout data. The default header and footer choose
|
|
425
|
+
* between them by the surface they sit on; custom chrome can do the same.
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
* ```ts
|
|
429
|
+
* const logoVariants = buildLogoVariants(siteData.layout, siteData.site.title);
|
|
430
|
+
* ```
|
|
431
|
+
*/
|
|
432
|
+
export declare function buildLogoVariants(layout: Readonly<{
|
|
433
|
+
logo?: Partial<LogoSource> | null;
|
|
434
|
+
logoForDarkBackgrounds?: Partial<LogoSource> | null;
|
|
435
|
+
}> | null | undefined, fallbackAlt: string | null | undefined): LogoVariants;
|
|
436
|
+
/**
|
|
437
|
+
* Header/footer block content for the site logos. `logo` stays populated with
|
|
438
|
+
* whichever logo exists so presence checks keep working; `logoVariants` is
|
|
439
|
+
* what the blocks select from at render.
|
|
440
|
+
*/
|
|
441
|
+
export declare function buildChromeLogoContent(layout: Parameters<typeof buildLogoVariants>[0], fallbackAlt: string | null | undefined): {
|
|
442
|
+
logo: Logo;
|
|
443
|
+
logoVariants: LogoVariants;
|
|
444
|
+
};
|
|
418
445
|
export type { NavigationMenuWithItems, NavigationItemRecord, LinkPayload } from '../public-api/contracts';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { AddressedLocationValue, BusinessAddress } from '../../../core/src/index';
|
|
2
2
|
import type { ResolvedInternalLinkEntityType } from '../../../blocks/src/index';
|
|
3
|
-
import type { APIEndpoints, PublicBookingService as ApiPublicBookingService, RoutableContentItem as ApiRoutableContentItem, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject, SiteBySlugResponse as ApiSiteBySlugResponse, SiteBookingOfferingPresetSummary as ApiSiteBookingOfferingPresetSummary, SdkBlockContentAdmission } from '../../../api/src/index';
|
|
3
|
+
import type { APIEndpoints, PublicBookingService as ApiPublicBookingService, PublicBookingServiceCatalogueItem as ApiPublicBookingServiceCatalogueItem, PublicBookingServicesResponse as ApiPublicBookingServicesResponse, PublicServiceCategorySummary as ApiPublicServiceCategorySummary, RoutableContentItem as ApiRoutableContentItem, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject, SiteBySlugResponse as ApiSiteBySlugResponse, SiteBookingOfferingPresetSummary as ApiSiteBookingOfferingPresetSummary, SdkBlockContentAdmission } from '../../../api/src/index';
|
|
4
4
|
import type { MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent } from '../contracts';
|
|
5
|
-
import type {
|
|
5
|
+
import type { PageRuntimeJoin } from '../../../theme-core/src/site-styles/index';
|
|
6
6
|
import type { BlockFieldConfig as SdkBlockFieldConfig, BlockFieldOptionsMap as SdkBlockFieldOptionsMap, ContentConfig as SdkContentConfig, ContainerOptionsConfig as SdkContainerOptionsConfig, FieldSelectOption as SdkFieldSelectOption, SdkCustomBlock, SdkThemeConfig, SdkThemePalette, SectionBackground as SdkSectionBackground, SectionOptionsConfig as SdkSectionOptionsConfig, SiteStyleConfig as SdkSiteStyleConfig } from '../config/types';
|
|
7
7
|
import type { PublicTeamMemberBlockItem } from './teamMemberContracts';
|
|
8
8
|
import type { ResolveEventSubrouteResponse } from './eventSubrouteContracts';
|
|
@@ -184,14 +184,22 @@ export type SiteLayoutSettingsPayload = {
|
|
|
184
184
|
header: SiteHeaderContent;
|
|
185
185
|
footer: SiteFooterContent;
|
|
186
186
|
};
|
|
187
|
+
export type SiteLayoutLogoPayload = {
|
|
188
|
+
assetId: string | null;
|
|
189
|
+
url: string | null;
|
|
190
|
+
alt: string | null;
|
|
191
|
+
width?: number | null;
|
|
192
|
+
height?: number | null;
|
|
193
|
+
};
|
|
187
194
|
export type SiteLayoutResolvedPayload = SiteLayoutSettingsPayload & {
|
|
188
|
-
logo
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
+
/** The site logo, designed for light backgrounds. */
|
|
196
|
+
logo?: SiteLayoutLogoPayload;
|
|
197
|
+
/**
|
|
198
|
+
* Optional logo designed for dark backgrounds. The default header and
|
|
199
|
+
* footer draw it on surfaces whose text colour resolves light. Absent or
|
|
200
|
+
* null when the site has not set one.
|
|
201
|
+
*/
|
|
202
|
+
logoForDarkBackgrounds?: SiteLayoutLogoPayload | null;
|
|
195
203
|
};
|
|
196
204
|
export interface SiteAnalyticsCookieBannerCopyOverrides {
|
|
197
205
|
title?: string;
|
|
@@ -362,7 +370,7 @@ export type SdkRuntimePage = {
|
|
|
362
370
|
content: Record<string, unknown>;
|
|
363
371
|
admission?: SdkBlockContentAdmission;
|
|
364
372
|
}>;
|
|
365
|
-
|
|
373
|
+
runtimeJoins?: readonly PageRuntimeJoin<string>[];
|
|
366
374
|
};
|
|
367
375
|
export type SdkTemplate = {
|
|
368
376
|
id: string;
|
|
@@ -554,11 +562,9 @@ export type PublicFormsResponse = {
|
|
|
554
562
|
forms: FormRecord[];
|
|
555
563
|
};
|
|
556
564
|
export type PublicBookingService = ApiPublicBookingService;
|
|
557
|
-
export type
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
}>;
|
|
561
|
-
};
|
|
565
|
+
export type PublicServiceCategorySummary = ApiPublicServiceCategorySummary;
|
|
566
|
+
export type PublicBookingServiceCatalogueItem = ApiPublicBookingServiceCatalogueItem;
|
|
567
|
+
export type PublicBookingServicesResponse = ApiPublicBookingServicesResponse;
|
|
562
568
|
export type PublicWeeklySlotAvailabilityOption = {
|
|
563
569
|
id: string;
|
|
564
570
|
resourceId: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { BlockLoaderFailures } from '../../../blocks/src/system/data/index';
|
|
3
3
|
import type { RenderablePageOutline as BlocksRenderablePageOutline } from '../../../blocks/src/index';
|
|
4
|
-
import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline,
|
|
4
|
+
import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, PageRuntimeJoin, ResolveImageUrlContextInput, RouteMap, Theme, ThemeTokens } from '../contracts';
|
|
5
5
|
import type { SdkCustomBlock } from '../config/types';
|
|
6
6
|
import type { BlockOverrides } from './overrides';
|
|
7
7
|
import type { SiteBookingOfferingPresetSummary } from '../public-api/contracts';
|
|
@@ -44,6 +44,7 @@ export type PageRendererDataContext = {
|
|
|
44
44
|
apiBaseUrl?: string;
|
|
45
45
|
portalToken?: string | null;
|
|
46
46
|
previewToken?: string | null;
|
|
47
|
+
readAuthority?: import('../../../blocks/src/api').BrowserReadAuthority;
|
|
47
48
|
eventRegistrationOverlayEnabled?: boolean;
|
|
48
49
|
};
|
|
49
50
|
export type BlocksPageRendererDataContext = Omit<PageRendererDataContext, 'mediaAssets' | 'imageResolveContext'> & {
|
|
@@ -55,7 +56,7 @@ export type SdkConfigForRenderer = {
|
|
|
55
56
|
};
|
|
56
57
|
type PageRendererCommonProps<TPage> = {
|
|
57
58
|
page: TPage | null;
|
|
58
|
-
|
|
59
|
+
runtimeJoins?: readonly PageRuntimeJoin[];
|
|
59
60
|
dataContext?: PageRendererDataContext;
|
|
60
61
|
routeMap?: RouteMap;
|
|
61
62
|
wrapBlock?: (blockId: string, rendered: React.ReactNode) => React.ReactNode;
|
|
@@ -34,6 +34,7 @@ type BlockCommonProps = {
|
|
|
34
34
|
* Portal token for customer portal Bearer auth.
|
|
35
35
|
*/
|
|
36
36
|
portalToken?: string | null;
|
|
37
|
+
readAuthority?: import('../../../../blocks/src/api').BrowserReadAuthority;
|
|
37
38
|
/** Route lookup for CMS links inside block content. */
|
|
38
39
|
routeMap?: RouteMap;
|
|
39
40
|
/** Page identifier to routeId lookup for { kind: 'page' } links. */
|
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders site header and footer around content. Fetches site data if not provided.
|
|
5
5
|
*/
|
|
6
|
-
import { buildMenu, buildFooterMenu, buildFooterMenuForRole, buildLogo } from '../../navigation';
|
|
6
|
+
import { buildMenu, buildFooterMenu, buildFooterMenuForRole, type buildLogo, type buildLogoVariants } from '../../navigation';
|
|
7
7
|
import type { RiverbankClient, SiteResponse } from '../../client/types';
|
|
8
8
|
import type { Theme } from '../../contracts';
|
|
9
9
|
import { type SdkThemeRuntime } from '../themeRuntime';
|
|
10
10
|
import { type SdkOverrideOnlyRendering } from '../renderingMode';
|
|
11
11
|
export type CustomHeaderData = {
|
|
12
12
|
menu: ReturnType<typeof buildMenu>;
|
|
13
|
+
/** The site logo (for light backgrounds), or the dark-background one if it is the only logo set. */
|
|
13
14
|
logo: ReturnType<typeof buildLogo>;
|
|
15
|
+
/** Both logos, so a custom header can pick by its own surface. */
|
|
16
|
+
logoVariants: ReturnType<typeof buildLogoVariants>;
|
|
14
17
|
site: SiteResponse['site'];
|
|
15
18
|
routes: SiteResponse['routes'];
|
|
16
19
|
};
|
|
@@ -18,7 +21,10 @@ export type CustomFooterData = {
|
|
|
18
21
|
menu: ReturnType<typeof buildMenu>;
|
|
19
22
|
footerMenu: ReturnType<typeof buildFooterMenu>;
|
|
20
23
|
legalFooterMenu: ReturnType<typeof buildFooterMenuForRole>;
|
|
24
|
+
/** The site logo (for light backgrounds), or the dark-background one if it is the only logo set. */
|
|
21
25
|
logo: ReturnType<typeof buildLogo>;
|
|
26
|
+
/** Both logos, so a custom footer can pick by its own surface. */
|
|
27
|
+
logoVariants: ReturnType<typeof buildLogoVariants>;
|
|
22
28
|
site: SiteResponse['site'];
|
|
23
29
|
routes: SiteResponse['routes'];
|
|
24
30
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
|
-
import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData,
|
|
2
|
+
import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageRuntimeJoin, RouteMap, Theme, ThemeTokens } from '../../contracts';
|
|
3
3
|
import type { ResolvedBlockData } from '../../data';
|
|
4
4
|
import type { SiteBookingOfferingPresetSummary } from '../../public-api/contracts';
|
|
5
5
|
import type { RuntimeSdkConfig } from '../helpers/loadPage';
|
|
@@ -10,7 +10,7 @@ import type { SdkCustomBlock } from '../../config/types';
|
|
|
10
10
|
import type { SdkRenderingMode } from '../renderingMode';
|
|
11
11
|
type PageCommonProps = {
|
|
12
12
|
page: RenderablePageOutline;
|
|
13
|
-
|
|
13
|
+
runtimeJoins?: readonly PageRuntimeJoin[];
|
|
14
14
|
siteId: string;
|
|
15
15
|
resolvedData?: ResolvedBlockData;
|
|
16
16
|
bookingOfferingPresets?: readonly SiteBookingOfferingPresetSummary[];
|
|
@@ -55,11 +55,13 @@ type PageCommonProps = {
|
|
|
55
55
|
* Optional because normal published rendering does not have or need one.
|
|
56
56
|
*/
|
|
57
57
|
previewToken?: string | null;
|
|
58
|
+
readAuthority?: import('../../../../blocks/src/api').BrowserReadAuthority;
|
|
58
59
|
/**
|
|
59
60
|
* Additional context data for content entry pages.
|
|
60
61
|
* Used to pass occurrence context and content entry data to blocks.
|
|
61
62
|
*/
|
|
62
63
|
dataContext?: {
|
|
64
|
+
readAuthority?: import('../../../../blocks/src/api').BrowserReadAuthority;
|
|
63
65
|
/** Mailing-list runtime projected for the placements on this page. */
|
|
64
66
|
mailingList?: import('../../../../core/src/index').MailingListRuntimeContext;
|
|
65
67
|
/** Occurrence context for event pages (from URL like /events/yoga/2025-01-15) */
|
|
@@ -101,7 +101,7 @@ export type PageContentResult = {
|
|
|
101
101
|
pageMetadata: PagePreviewMetadata;
|
|
102
102
|
/** Page outline ready for rendering with <Page> component */
|
|
103
103
|
page: PageProps['page'];
|
|
104
|
-
|
|
104
|
+
runtimeJoins?: PageProps['runtimeJoins'];
|
|
105
105
|
/** Site theme for styling */
|
|
106
106
|
theme: Theme | null;
|
|
107
107
|
/** Site ID */
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BlockApiConfig, type BrowserReadAuthority } from '../../../../../blocks/src/api';
|
|
2
2
|
export type RouteIslandApiConfigInput = Readonly<{
|
|
3
3
|
apiBaseUrl: string;
|
|
4
4
|
portalToken?: string | null;
|
|
5
5
|
previewToken?: string | null;
|
|
6
6
|
siteId: string;
|
|
7
7
|
stage?: 'preview' | 'published';
|
|
8
|
+
readAuthority?: BrowserReadAuthority;
|
|
8
9
|
}>;
|
|
9
|
-
export declare function buildRouteIslandApiConfig({ apiBaseUrl, portalToken, previewToken, siteId, stage, }: RouteIslandApiConfigInput): BlockApiConfig;
|
|
10
|
+
export declare function buildRouteIslandApiConfig({ apiBaseUrl, portalToken, previewToken, siteId, stage, readAuthority, }: RouteIslandApiConfigInput): BlockApiConfig;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type ComponentType } from 'react';
|
|
2
|
+
import type { BrowserReadAuthority } from '../../../../../blocks/src/api';
|
|
2
3
|
type IslandPropsWithApi = Readonly<{
|
|
3
4
|
siteId?: string;
|
|
4
5
|
apiBaseUrl?: string;
|
|
6
|
+
readAuthority?: BrowserReadAuthority;
|
|
5
7
|
stage?: 'preview' | 'published';
|
|
6
8
|
}>;
|
|
7
9
|
export declare function mountShopBlockIsland<TProps extends IslandPropsWithApi>(root: HTMLElement, props: TProps, Component: ComponentType<TProps>, label: string): (() => void) | undefined;
|
|
@@ -17,6 +17,7 @@ export type BlockOverrideProps<TContent = Record<string, unknown>, TData = Recor
|
|
|
17
17
|
apiBaseUrl?: string;
|
|
18
18
|
portalToken?: string | null;
|
|
19
19
|
previewToken?: string | null;
|
|
20
|
+
readAuthority?: import('../../../blocks/src/api').BrowserReadAuthority;
|
|
20
21
|
stage?: 'published' | 'preview';
|
|
21
22
|
occurrenceContext?: OccurrenceContextData | null;
|
|
22
23
|
entrySubrouteContext?: EntrySubrouteContextData | null;
|
|
@@ -36,6 +36,7 @@ export type SurfaceHostContext = Readonly<{
|
|
|
36
36
|
export declare const SURFACE_ROOT_HOSTS: Readonly<Record<SurfaceId, Readonly<Record<SurfaceTier, string>>>>;
|
|
37
37
|
export declare const SURFACE_SITE_ROOT_HOSTS: Readonly<Record<SurfaceId, Readonly<Record<SurfaceTier, string>>>>;
|
|
38
38
|
export declare function resolveSurfaceFontHref(surfaceId: SurfaceId): string | null;
|
|
39
|
+
export declare function resolveSurfaceSiteHostContext(value: string | URL | null | undefined): SurfaceHostContext | null;
|
|
39
40
|
export declare function resolveSurfaceHostContext(value: string | URL | null | undefined): SurfaceHostContext | null;
|
|
40
41
|
export declare function buildSurfaceAwareDashboardOrigin(input: Readonly<{
|
|
41
42
|
dashboardOrigin: string;
|
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
* overriding the twelve styles that deliberately declare none. Whether a button
|
|
13
13
|
* carries a trailing affordance is the style's decision; the only caller that
|
|
14
14
|
* legitimately opts out is the authored-button renderer, which reaches it
|
|
15
|
-
* through `
|
|
15
|
+
* through `themeButtonExtraClassesWithTrailingIcon`.
|
|
16
16
|
*/
|
|
17
17
|
export declare const AFFORDANCE_SUPPRESS_CLASS = "rb-affordance-off";
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import { type ButtonSizeName, type DefaultVariantAliasId, type VariantId } from './types';
|
|
2
2
|
export type ThemeButtonVariantId = VariantId | DefaultVariantAliasId;
|
|
3
|
-
export type ThemeButtonClassName = string & {
|
|
4
|
-
readonly __brand: 'ThemeButtonClassName';
|
|
5
|
-
};
|
|
6
3
|
export type ThemeButtonSizeClassName = `btn-${ButtonSizeName}`;
|
|
7
|
-
export type ThemeButtonClassSpec = Readonly<{
|
|
8
|
-
variant: ThemeButtonVariantId;
|
|
9
|
-
size: ButtonSizeName;
|
|
10
|
-
extraClassName?: string | null;
|
|
11
|
-
}>;
|
|
12
4
|
/**
|
|
13
5
|
* Parse content/runtime variant identifiers into the closed theme-button class
|
|
14
6
|
* contract. Empty input is the intentional local/unstyled escape hatch used by
|
|
@@ -18,12 +10,10 @@ export declare function parseThemeButtonVariantId(value: string | null | undefin
|
|
|
18
10
|
export declare function themeButtonVariantClassNames(variant: ThemeButtonVariantId): readonly [string] | readonly [string, string];
|
|
19
11
|
export declare function themeButtonSizeClassName(size: ButtonSizeName): ThemeButtonSizeClassName;
|
|
20
12
|
export declare function themeButtonSelector(variant: ThemeButtonVariantId, size?: ButtonSizeName): string;
|
|
21
|
-
export declare function themeButtonClassName(spec: ThemeButtonClassSpec): ThemeButtonClassName;
|
|
22
13
|
/**
|
|
23
|
-
*
|
|
14
|
+
* Extra classes for an authored button that renders its own trailing icon.
|
|
24
15
|
*
|
|
25
|
-
*
|
|
26
|
-
* there is exactly one caller and it should stay visible in a diff. The name
|
|
16
|
+
* This intent-named function has exactly one caller. The name
|
|
27
17
|
* states what the caller knows to be true of its own markup — that it renders a
|
|
28
18
|
* trailing icon — rather than what the theme does about it. The consequence is
|
|
29
19
|
* the theme's to decide and to change; a caller naming the consequence would be
|
|
@@ -34,4 +24,4 @@ export declare function themeButtonClassName(spec: ThemeButtonClassSpec): ThemeB
|
|
|
34
24
|
* affordance is declared by the button style, and a block overriding that is the
|
|
35
25
|
* defect this replaced.
|
|
36
26
|
*/
|
|
37
|
-
export declare function
|
|
27
|
+
export declare function themeButtonExtraClassesWithTrailingIcon(): string;
|
|
@@ -9,4 +9,4 @@ export { selectorSchema, declarationValueSchema, declarationsSchema, customCssRu
|
|
|
9
9
|
export { keyframesAtRuleSchema, fontFaceAtRuleSchema, mediaAtRuleSchema, supportsAtRuleSchema, rawAtRuleSchema, customCssAtRuleSchema, customCssAtRulesSchema, type KeyframesAtRuleInput, type FontFaceAtRuleInput, type MediaAtRuleInput, type SupportsAtRuleInput, type RawAtRuleInput, type CustomCssAtRuleInput, } from './atRuleValidation';
|
|
10
10
|
export { compileCustomCssRules, compileBlockCustomCssRules, } from './compile';
|
|
11
11
|
export { compileCustomCssAtRules } from './compileAtRules';
|
|
12
|
-
export { type CssRulePatch,
|
|
12
|
+
export { type CssRulePatch, applyCssRulePatch, applyCssRulePatches, diffCssRules, } from './patch';
|
|
@@ -19,11 +19,6 @@ export type CssRulePatch = {
|
|
|
19
19
|
ruleId: string;
|
|
20
20
|
changes: Partial<Omit<CustomCssRule, 'id'>>;
|
|
21
21
|
};
|
|
22
|
-
/**
|
|
23
|
-
* Generate a unique ID for a new CSS rule.
|
|
24
|
-
* Uses timestamp + random suffix for uniqueness.
|
|
25
|
-
*/
|
|
26
|
-
export declare function generateCssRuleId(): string;
|
|
27
22
|
/**
|
|
28
23
|
* Apply a single patch operation to a rules array.
|
|
29
24
|
*
|