@riverbankcms/sdk 0.60.0 → 0.60.3
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 +20 -3
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +1 -3
- package/dist/_dts/api/src/bookingRecords.d.ts +8 -0
- package/dist/_dts/api/src/communications.d.ts +1 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +8 -0
- package/dist/_dts/api/src/endpoints.d.ts +18 -1
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/media.d.ts +1 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +45 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +24 -1
- package/dist/_dts/api/src/siteSettings.d.ts +7 -0
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/billing/src/plans/types.d.ts +27 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +173 -2
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -2
- package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +16 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +38 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +2 -1
- package/dist/_dts/content-editor/src/index.d.ts +2 -2
- package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +9 -0
- package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -0
- package/dist/_dts/core/src/business-address.d.ts +38 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +22 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +8 -5
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +7 -5
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/reorderControlMode.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +4 -0
- package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +14 -0
- package/dist/_dts/media-react/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +43 -20
- package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +11 -28
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +99 -0
- package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +12 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +41 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +15 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +106 -0
- package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +34 -0
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/useOnboardingConfirmationCheck.d.ts +4 -9
- package/dist/_dts/preview-next/src/constants.d.ts +0 -1
- package/dist/_dts/preview-next/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/onboarding-preview-planner.d.ts +89 -0
- package/dist/_dts/preview-next/src/route-contract.d.ts +37 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
- package/dist/_dts/sdk/src/rendering/components/Block.d.ts +7 -76
- package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +9 -0
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +78 -0
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +5 -5
- package/dist/_dts/sdk/src/rendering/server.d.ts +2 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/constants.d.ts +9 -1
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +16 -11
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +9 -16
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +14 -0
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +268 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +253 -72
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +17 -16
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +69 -15
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +28 -0
- package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +28 -0
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +17 -0
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +28 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +154 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +28 -0
- package/dist/_dts/theme-core/src/responsiveDisplay.d.ts +23 -0
- package/dist/_dts/theme-core/src/responsiveMode.d.ts +21 -0
- package/dist/_dts/theme-core/src/schema.d.ts +122 -10
- package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +109 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +193 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorErrors.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +43 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +23 -1
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/command-multi-select.d.ts +2 -2
- package/dist/cli/index.mjs +1590 -302
- package/dist/client/bookings.mjs +321 -144
- package/dist/client/client.mjs +4371 -2715
- package/dist/client/hooks.mjs +2826 -1675
- package/dist/client/rendering/client.mjs +3570 -2262
- package/dist/client/rendering/islands.mjs +1948 -756
- package/dist/client/rendering.mjs +42015 -40278
- package/dist/preview-next/before-render.mjs +5542 -0
- package/dist/preview-next/client/runtime.mjs +103364 -99924
- package/dist/preview-next/constants.mjs +0 -2
- package/dist/preview-next/index.mjs +0 -2
- package/dist/preview-next/middleware.mjs +5552 -1
- package/dist/server/components.mjs +11234 -9740
- package/dist/server/config-validation.mjs +3057 -1906
- package/dist/server/config.mjs +3057 -1906
- package/dist/server/data.mjs +2826 -1675
- package/dist/server/index.mjs +19 -2
- package/dist/server/next.mjs +3997 -2507
- package/dist/server/page-converter.mjs +2970 -1836
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +5960 -3200
- package/dist/server/rendering.mjs +12734 -11162
- package/dist/server/routing.mjs +3045 -1743
- package/dist/server/server.mjs +2827 -1676
- package/dist/server/theme-bridge.mjs +2074 -839
- package/dist/server/theme.mjs +1087 -492
- package/dist/styles/index.css +343 -299
- package/package.json +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.d.ts +0 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.state.d.ts +0 -43
|
@@ -1,6 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { ComponentRegistry } from '../resolver';
|
|
3
|
-
import {
|
|
3
|
+
import { BookingFormNodeClient } from '../nodes/booking-form.client';
|
|
4
|
+
import { EventDetailsIslandClient } from '../nodes/event-details.client';
|
|
5
|
+
import { LocationMapIslandClient } from '../nodes/location-map.client';
|
|
6
|
+
import { CarouselNodeClient } from '../nodes/carousel.client';
|
|
7
|
+
import { AccordionNode, AccordionItemNode } from '../nodes/accordion';
|
|
8
|
+
import HeaderSectionNode from '../nodes/header-section.client';
|
|
9
|
+
import { EventCombinedIslandClient } from '../nodes/events';
|
|
10
|
+
import { MediaNode } from '../nodes/media.client';
|
|
11
|
+
import { runtimeBackedBlockServerEntries, type RuntimeBackedBlockMode, type RuntimeBackedBlockKind, type RuntimeBackedClientBlockEntry, type RuntimeBackedClientComponentProps } from './runtime-backed-blocks';
|
|
12
|
+
type SourcePropsClientEntry<TProps extends object = object> = Readonly<{
|
|
13
|
+
kind: 'source-props';
|
|
14
|
+
component: React.ComponentType<TProps>;
|
|
15
|
+
}>;
|
|
16
|
+
type ExplicitAdapterClientEntry<TProps extends object = object> = Readonly<{
|
|
17
|
+
kind: 'explicit-adapter';
|
|
18
|
+
component: React.ComponentType<TProps>;
|
|
19
|
+
produces: 'client-props' | 'island-props';
|
|
20
|
+
}>;
|
|
21
|
+
export type ClientComponentRegistryEntryByKind = Readonly<{
|
|
22
|
+
media: SourcePropsClientEntry<React.ComponentProps<typeof MediaNode>>;
|
|
23
|
+
carousel: SourcePropsClientEntry<React.ComponentProps<typeof CarouselNodeClient>>;
|
|
24
|
+
accordion: SourcePropsClientEntry<React.ComponentProps<typeof AccordionNode>>;
|
|
25
|
+
accordionItem: SourcePropsClientEntry<React.ComponentProps<typeof AccordionItemNode>>;
|
|
26
|
+
headerSection: SourcePropsClientEntry<React.ComponentProps<typeof HeaderSectionNode>>;
|
|
27
|
+
'booking-form': ExplicitAdapterClientEntry<React.ComponentProps<typeof BookingFormNodeClient>>;
|
|
28
|
+
'event-details': ExplicitAdapterClientEntry<React.ComponentProps<typeof EventDetailsIslandClient>>;
|
|
29
|
+
'location-map': ExplicitAdapterClientEntry<React.ComponentProps<typeof LocationMapIslandClient>>;
|
|
30
|
+
'event-combined': ExplicitAdapterClientEntry<React.ComponentProps<typeof EventCombinedIslandClient>>;
|
|
31
|
+
}>;
|
|
32
|
+
export type ClientComponentRegistryEntry = ClientComponentRegistryEntryByKind[keyof ClientComponentRegistryEntryByKind];
|
|
33
|
+
export declare function defineSourcePropsClientEntry<TProps extends object>(component: React.ComponentType<TProps>): SourcePropsClientEntry<TProps>;
|
|
34
|
+
export declare function defineExplicitAdapterClientEntry<TProps extends object>(component: React.ComponentType<TProps>, contract: Pick<ExplicitAdapterClientEntry<TProps>, 'produces'>): ExplicitAdapterClientEntry<TProps>;
|
|
35
|
+
export declare function defineRuntimeBackedBlockClientEntry<TKind extends RuntimeBackedBlockKind>(kind: TKind, client: React.ComponentType<RuntimeBackedClientComponentProps<typeof runtimeBackedBlockServerEntries[TKind]['definition']['runtime'], RuntimeBackedBlockMode<TKind>>>): RuntimeBackedClientBlockEntry<typeof runtimeBackedBlockServerEntries[TKind]['definition']['runtime'], RuntimeBackedBlockMode<TKind>>;
|
|
4
36
|
export declare const runtimeBackedBlockClientEntries: {
|
|
5
37
|
readonly form: Readonly<{
|
|
6
38
|
definition: import("../..").SystemBlockDefinition<unknown, Readonly<{
|
|
@@ -168,6 +200,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
168
200
|
}>;
|
|
169
201
|
}>;
|
|
170
202
|
renderKind: "progressive";
|
|
203
|
+
mode: "form";
|
|
171
204
|
client: React.ElementType;
|
|
172
205
|
}>;
|
|
173
206
|
readonly 'event-listing': Readonly<{
|
|
@@ -612,6 +645,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
612
645
|
}>;
|
|
613
646
|
}>;
|
|
614
647
|
renderKind: "progressive";
|
|
648
|
+
mode: "event-listing";
|
|
615
649
|
client: React.ElementType;
|
|
616
650
|
}>;
|
|
617
651
|
readonly 'event-calendar': Readonly<{
|
|
@@ -1080,6 +1114,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
1080
1114
|
}>;
|
|
1081
1115
|
}>;
|
|
1082
1116
|
renderKind: "progressive";
|
|
1117
|
+
mode: "event-calendar";
|
|
1083
1118
|
client: React.ElementType;
|
|
1084
1119
|
}>;
|
|
1085
1120
|
readonly 'newsletter-form': Readonly<{
|
|
@@ -1284,6 +1319,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
1284
1319
|
}>;
|
|
1285
1320
|
}>;
|
|
1286
1321
|
renderKind: "progressive";
|
|
1322
|
+
mode: "newsletter-form";
|
|
1287
1323
|
client: React.ElementType;
|
|
1288
1324
|
}>;
|
|
1289
1325
|
readonly 'product-list': Readonly<{
|
|
@@ -1548,6 +1584,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
1548
1584
|
}>;
|
|
1549
1585
|
}>;
|
|
1550
1586
|
renderKind: "progressive";
|
|
1587
|
+
mode: "product-list";
|
|
1551
1588
|
client: React.ElementType;
|
|
1552
1589
|
}>;
|
|
1553
1590
|
readonly 'product-detail': Readonly<{
|
|
@@ -1644,6 +1681,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
1644
1681
|
}>;
|
|
1645
1682
|
}>;
|
|
1646
1683
|
renderKind: "progressive";
|
|
1684
|
+
mode: "product-detail";
|
|
1647
1685
|
client: React.ElementType;
|
|
1648
1686
|
}>;
|
|
1649
1687
|
readonly cart: Readonly<{
|
|
@@ -1824,6 +1862,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
1824
1862
|
}>;
|
|
1825
1863
|
}>;
|
|
1826
1864
|
renderKind: "client-owned";
|
|
1865
|
+
mode: "cart";
|
|
1827
1866
|
client: React.ElementType;
|
|
1828
1867
|
}>;
|
|
1829
1868
|
readonly checkout: Readonly<{
|
|
@@ -1938,6 +1977,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
1938
1977
|
}>;
|
|
1939
1978
|
}>;
|
|
1940
1979
|
renderKind: "client-owned";
|
|
1980
|
+
mode: "checkout";
|
|
1941
1981
|
client: React.ElementType;
|
|
1942
1982
|
}>;
|
|
1943
1983
|
readonly 'course-registration': Readonly<{
|
|
@@ -2154,6 +2194,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2154
2194
|
}>;
|
|
2155
2195
|
}>;
|
|
2156
2196
|
renderKind: "client-owned";
|
|
2197
|
+
mode: "course-registration";
|
|
2157
2198
|
client: React.ElementType;
|
|
2158
2199
|
}>;
|
|
2159
2200
|
readonly gifting: Readonly<{
|
|
@@ -2286,6 +2327,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2286
2327
|
}>;
|
|
2287
2328
|
}>;
|
|
2288
2329
|
renderKind: "client-owned";
|
|
2330
|
+
mode: "gifting";
|
|
2289
2331
|
client: React.ElementType;
|
|
2290
2332
|
}>;
|
|
2291
2333
|
readonly 'event-registration': Readonly<{
|
|
@@ -2502,6 +2544,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2502
2544
|
}>;
|
|
2503
2545
|
}>;
|
|
2504
2546
|
renderKind: "client-owned";
|
|
2547
|
+
mode: "event-registration";
|
|
2505
2548
|
client: React.ElementType;
|
|
2506
2549
|
}>;
|
|
2507
2550
|
readonly shop: Readonly<{
|
|
@@ -2742,8 +2785,136 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2742
2785
|
}>;
|
|
2743
2786
|
}>;
|
|
2744
2787
|
renderKind: "progressive";
|
|
2788
|
+
mode: "passes-memberships";
|
|
2745
2789
|
client: React.ElementType;
|
|
2746
2790
|
}>;
|
|
2747
2791
|
};
|
|
2748
2792
|
export declare const runtimeBackedBlockClientRegistry: Readonly<Record<RuntimeBackedBlockKind, React.ElementType>>;
|
|
2793
|
+
export declare const clientComponentRegistryEntries: {
|
|
2794
|
+
readonly media: Readonly<{
|
|
2795
|
+
kind: "source-props";
|
|
2796
|
+
component: React.ComponentType<import("../nodes/media").MediaNodeProps>;
|
|
2797
|
+
}>;
|
|
2798
|
+
readonly carousel: Readonly<{
|
|
2799
|
+
kind: "source-props";
|
|
2800
|
+
component: React.ComponentType<import("../nodes/carousel.client").CarouselNodeClientProps>;
|
|
2801
|
+
}>;
|
|
2802
|
+
readonly accordion: Readonly<{
|
|
2803
|
+
kind: "source-props";
|
|
2804
|
+
component: React.ComponentType<import("../nodes/accordion").AccordionNodeProps>;
|
|
2805
|
+
}>;
|
|
2806
|
+
readonly accordionItem: Readonly<{
|
|
2807
|
+
kind: "source-props";
|
|
2808
|
+
component: React.ComponentType<import("../nodes/accordion").AccordionItemNodeProps>;
|
|
2809
|
+
}>;
|
|
2810
|
+
readonly headerSection: Readonly<{
|
|
2811
|
+
kind: "source-props";
|
|
2812
|
+
component: React.ComponentType<{
|
|
2813
|
+
[key: string]: unknown;
|
|
2814
|
+
className?: string;
|
|
2815
|
+
blockId?: string;
|
|
2816
|
+
blockKind?: string;
|
|
2817
|
+
blockContent?: unknown;
|
|
2818
|
+
fragmentRegistry?: unknown;
|
|
2819
|
+
pathBase?: string;
|
|
2820
|
+
} & {
|
|
2821
|
+
children?: React.ReactNode | undefined;
|
|
2822
|
+
}>;
|
|
2823
|
+
}>;
|
|
2824
|
+
readonly 'booking-form': Readonly<{
|
|
2825
|
+
kind: "explicit-adapter";
|
|
2826
|
+
component: React.ComponentType<import("../nodes/booking-form.client").BookingFormNodeClientProps>;
|
|
2827
|
+
produces: "client-props" | "island-props";
|
|
2828
|
+
}>;
|
|
2829
|
+
readonly 'event-details': Readonly<{
|
|
2830
|
+
kind: "explicit-adapter";
|
|
2831
|
+
component: React.ComponentType<Readonly<{
|
|
2832
|
+
occurrenceContext?: import("../../../contracts").EventDetailsOccurrenceContext | null;
|
|
2833
|
+
contentEntry?: import("../../../contracts").EventDetailsContentEntry | null;
|
|
2834
|
+
events?: readonly import("../..").PublicEvent[] | null;
|
|
2835
|
+
showVenue?: boolean;
|
|
2836
|
+
showMap?: boolean;
|
|
2837
|
+
showOtherDates?: boolean;
|
|
2838
|
+
otherDatesLimit?: string;
|
|
2839
|
+
showCost?: boolean;
|
|
2840
|
+
showAcceptedPasses?: boolean;
|
|
2841
|
+
showAcceptedMemberships?: boolean;
|
|
2842
|
+
sitePasses?: Readonly<{
|
|
2843
|
+
passes: readonly import("../..").PublicPassProduct[];
|
|
2844
|
+
}> | null;
|
|
2845
|
+
siteMemberships?: Readonly<{
|
|
2846
|
+
memberships: readonly import("../..").PublicMembershipProduct[];
|
|
2847
|
+
}> | null;
|
|
2848
|
+
className?: string | null;
|
|
2849
|
+
nowIso?: string;
|
|
2850
|
+
}>>;
|
|
2851
|
+
produces: "client-props" | "island-props";
|
|
2852
|
+
}>;
|
|
2853
|
+
readonly 'location-map': Readonly<{
|
|
2854
|
+
kind: "explicit-adapter";
|
|
2855
|
+
component: React.ComponentType<Readonly<{
|
|
2856
|
+
location?: import("../nodes/location-map.shared").NormalizedLocationMapValue | null;
|
|
2857
|
+
zoom?: number | null;
|
|
2858
|
+
heightPx?: number | null;
|
|
2859
|
+
showAddressText?: boolean;
|
|
2860
|
+
showDirections?: boolean;
|
|
2861
|
+
directionsLabel?: string | null;
|
|
2862
|
+
className?: string | null;
|
|
2863
|
+
}>>;
|
|
2864
|
+
produces: "client-props" | "island-props";
|
|
2865
|
+
}>;
|
|
2866
|
+
readonly 'event-combined': Readonly<{
|
|
2867
|
+
kind: "explicit-adapter";
|
|
2868
|
+
component: React.ComponentType<Readonly<Readonly<{
|
|
2869
|
+
siteId: string;
|
|
2870
|
+
apiBaseUrl?: string;
|
|
2871
|
+
stage?: "preview" | "published";
|
|
2872
|
+
}> & {
|
|
2873
|
+
renderKind: "progressive";
|
|
2874
|
+
render: Readonly<{
|
|
2875
|
+
mode: "event-combined";
|
|
2876
|
+
} & Readonly<{
|
|
2877
|
+
display: Readonly<{
|
|
2878
|
+
kind: "event-combined";
|
|
2879
|
+
className: string | null;
|
|
2880
|
+
events: readonly import("../..").PublicEvent[];
|
|
2881
|
+
listLayout: import("../..").EventLayout;
|
|
2882
|
+
listColumns: import("../..").ColumnOption;
|
|
2883
|
+
eventsPerPage: string;
|
|
2884
|
+
loadMoreText: string;
|
|
2885
|
+
startOfWeek: import("../..").WeekStart;
|
|
2886
|
+
calendarTabViews: import("../..").CalendarTabViews;
|
|
2887
|
+
showFilters: boolean;
|
|
2888
|
+
showCategoryFilter: import("../..").FilterAutoShow;
|
|
2889
|
+
showVenueFilter: boolean;
|
|
2890
|
+
showStaffFilter: boolean;
|
|
2891
|
+
eventKind: import("../..").EventBlockKind;
|
|
2892
|
+
eventSurface: import("../..").EventSurfaceScope;
|
|
2893
|
+
filterEventPresets: string | null;
|
|
2894
|
+
scheduleScope: import("../..").EventScheduleScope;
|
|
2895
|
+
filterCategoryIds: string | null;
|
|
2896
|
+
filterStaffMemberId: string | null;
|
|
2897
|
+
filterVenueId: string | null;
|
|
2898
|
+
showVenue: boolean;
|
|
2899
|
+
showMap: boolean;
|
|
2900
|
+
showCapacity: boolean;
|
|
2901
|
+
buttonVariant: import("../..").ButtonVariant;
|
|
2902
|
+
buttonText: string;
|
|
2903
|
+
emptyMessage: string;
|
|
2904
|
+
}>;
|
|
2905
|
+
hydration: Readonly<{
|
|
2906
|
+
siteId: string;
|
|
2907
|
+
stage?: "preview" | "published";
|
|
2908
|
+
prefetchedEvents: boolean;
|
|
2909
|
+
eventKind: import("../..").EventBlockKind;
|
|
2910
|
+
eventSurface: import("../..").EventSurfaceScope;
|
|
2911
|
+
filterEventPresets: string | null;
|
|
2912
|
+
scheduleScope: import("../..").EventScheduleScope;
|
|
2913
|
+
}>;
|
|
2914
|
+
}>>;
|
|
2915
|
+
}>>;
|
|
2916
|
+
produces: "client-props" | "island-props";
|
|
2917
|
+
}>;
|
|
2918
|
+
};
|
|
2749
2919
|
export declare const clientComponentRegistry: ComponentRegistry;
|
|
2920
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { InteractiveBlockRuntime } from '../../../contracts/runtime';
|
|
2
|
+
import type { InteractiveBlockRuntime, RuntimeKind, RuntimeRender, RuntimeSource } from '../../../contracts/runtime';
|
|
3
3
|
import type { SystemBlockDefinition } from '../../registry';
|
|
4
4
|
type AnyInteractiveRuntime = InteractiveBlockRuntime<any, any, any>;
|
|
5
5
|
type RuntimeBackedBlockDefinition<TRuntime extends AnyInteractiveRuntime = AnyInteractiveRuntime> = SystemBlockDefinition<unknown, TRuntime> & Readonly<{
|
|
@@ -8,9 +8,16 @@ type RuntimeBackedBlockDefinition<TRuntime extends AnyInteractiveRuntime = AnyIn
|
|
|
8
8
|
}>;
|
|
9
9
|
runtime: TRuntime;
|
|
10
10
|
}>;
|
|
11
|
-
export type
|
|
11
|
+
export type RuntimeBackedClientComponentProps<TRuntime extends AnyInteractiveRuntime, TMode extends string> = Readonly<RuntimeSource<TRuntime> & {
|
|
12
|
+
renderKind: RuntimeKind<TRuntime>;
|
|
13
|
+
render: Readonly<{
|
|
14
|
+
mode: TMode;
|
|
15
|
+
} & RuntimeRender<TRuntime>>;
|
|
16
|
+
}>;
|
|
17
|
+
export type RuntimeBackedClientBlockEntry<TRuntime extends AnyInteractiveRuntime, TMode extends string = string> = Readonly<{
|
|
12
18
|
definition: RuntimeBackedBlockDefinition<TRuntime>;
|
|
13
19
|
renderKind: TRuntime['kind'];
|
|
20
|
+
mode: TMode;
|
|
14
21
|
client: React.ElementType;
|
|
15
22
|
}>;
|
|
16
23
|
export declare const runtimeBackedBlockServerEntries: {
|
|
@@ -1387,6 +1394,21 @@ export declare const runtimeBackedBlockServerEntries: {
|
|
|
1387
1394
|
}>;
|
|
1388
1395
|
};
|
|
1389
1396
|
export type RuntimeBackedBlockKind = keyof typeof runtimeBackedBlockServerEntries;
|
|
1397
|
+
export declare const runtimeBackedBlockModes: {
|
|
1398
|
+
readonly form: "form";
|
|
1399
|
+
readonly 'event-listing': "event-listing";
|
|
1400
|
+
readonly 'event-calendar': "event-calendar";
|
|
1401
|
+
readonly 'newsletter-form': "newsletter-form";
|
|
1402
|
+
readonly 'product-list': "product-list";
|
|
1403
|
+
readonly 'product-detail': "product-detail";
|
|
1404
|
+
readonly cart: "cart";
|
|
1405
|
+
readonly checkout: "checkout";
|
|
1406
|
+
readonly 'course-registration': "course-registration";
|
|
1407
|
+
readonly gifting: "gifting";
|
|
1408
|
+
readonly 'event-registration': "event-registration";
|
|
1409
|
+
readonly shop: "passes-memberships";
|
|
1410
|
+
};
|
|
1411
|
+
export type RuntimeBackedBlockMode<TKind extends RuntimeBackedBlockKind> = typeof runtimeBackedBlockModes[TKind];
|
|
1390
1412
|
export declare const runtimeBackedBlockKinds: readonly ("form" | "event-registration" | "course-registration" | "event-listing" | "event-calendar" | "shop" | "product-list" | "product-detail" | "cart" | "checkout" | "gifting" | "newsletter-form")[];
|
|
1391
1413
|
export declare const runtimeBackedBlockServerRegistry: Readonly<{
|
|
1392
1414
|
readonly form: React.ElementType<any, keyof React.JSX.IntrinsicElements>;
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* correctly relative to the page scroll container.
|
|
13
13
|
*/
|
|
14
14
|
export declare const POSITIONING_CLASSES: readonly ["rb-sticky", "rb-fixed", "rb-absolute", "rb-relative", "rb-top-0", "rb-left-0", "rb-right-0", "rb-bottom-0", "rb-z-40", "rb-z-50"];
|
|
15
|
+
export { desktopOnlyDisplay, mobileOnlyDisplay, type ResponsiveDisplay, } from '@riverbankcms/theme-core/responsiveDisplay';
|
|
15
16
|
/**
|
|
16
17
|
* Split className into positioning classes (for wrapper) and content classes (for section).
|
|
17
18
|
*
|
|
@@ -17,3 +17,4 @@ export declare const BookingFormClient: React.FC<BookingFormClientProps>;
|
|
|
17
17
|
* harder to miswire across interactive surfaces.
|
|
18
18
|
*/
|
|
19
19
|
export declare const BookingFormNodeClient: React.FC<BookingFormNodeClientProps>;
|
|
20
|
+
export declare function buildBookingFormNodeClientProps(props: BookingFormNodeClientProps): BookingFormClientProps;
|
|
@@ -2,6 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import type { PublicEvent } from '../../../../blocks/events/shared/types';
|
|
3
3
|
type AgendaEventCardProps = {
|
|
4
4
|
event: PublicEvent;
|
|
5
|
+
/** Whether to render the capacity indicator. */
|
|
6
|
+
showCapacity: boolean;
|
|
5
7
|
/** When provided, renders as button and calls onClick instead of navigating */
|
|
6
8
|
onClick?: (event: PublicEvent) => void;
|
|
7
9
|
};
|
|
@@ -3,6 +3,7 @@ import type { PublicEvent } from '../../../../blocks/events/shared/types';
|
|
|
3
3
|
type DayEventsModalProps = {
|
|
4
4
|
date: Date;
|
|
5
5
|
events: PublicEvent[];
|
|
6
|
+
showCapacity: boolean;
|
|
6
7
|
onClose: () => void;
|
|
7
8
|
onSelectEvent: (event: PublicEvent) => void;
|
|
8
9
|
};
|
|
@@ -12,5 +13,5 @@ type DayEventsModalProps = {
|
|
|
12
13
|
* Uses AgendaEventCard with onClick prop to display events.
|
|
13
14
|
* Clicking an event triggers onSelectEvent (typically opens EventDetailModal).
|
|
14
15
|
*/
|
|
15
|
-
export declare function DayEventsModal({ date, events, onClose, onSelectEvent, }: DayEventsModalProps): React.ReactElement;
|
|
16
|
+
export declare function DayEventsModal({ date, events, showCapacity, onClose, onSelectEvent, }: DayEventsModalProps): React.ReactElement;
|
|
16
17
|
export default DayEventsModal;
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { PublicEvent, ButtonVariant, CardVariant } from '../../../../blocks/events/shared/types';
|
|
3
3
|
type EventDetailModalProps = {
|
|
4
4
|
event: PublicEvent;
|
|
5
|
+
showCapacity: boolean;
|
|
5
6
|
onClose: () => void;
|
|
6
7
|
cardVariant?: CardVariant;
|
|
7
8
|
buttonVariant?: ButtonVariant;
|
|
@@ -14,5 +15,5 @@ type EventDetailModalProps = {
|
|
|
14
15
|
* Reuses EventCard component directly for DRY implementation.
|
|
15
16
|
* EventCard already includes the CTA button to navigate to the full event page.
|
|
16
17
|
*/
|
|
17
|
-
export declare function EventDetailModal({ event, onClose, cardVariant, buttonVariant, buttonText, showMap, }: EventDetailModalProps): React.ReactElement;
|
|
18
|
+
export declare function EventDetailModal({ event, showCapacity, onClose, cardVariant, buttonVariant, buttonText, showMap, }: EventDetailModalProps): React.ReactElement;
|
|
18
19
|
export default EventDetailModal;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ButtonVariant, CardVariant } from '../../../../blocks/events/shared/types';
|
|
3
3
|
type EventModalsProps = {
|
|
4
|
+
showCapacity: boolean;
|
|
4
5
|
cardVariant?: CardVariant;
|
|
5
6
|
buttonVariant?: ButtonVariant;
|
|
6
7
|
buttonText?: string;
|
|
@@ -13,5 +14,5 @@ type EventModalsProps = {
|
|
|
13
14
|
* - EventDetailModal for single event view
|
|
14
15
|
* - DayEventsModal for day events list (clicking an event switches to event modal)
|
|
15
16
|
*/
|
|
16
|
-
export declare function EventModals({ cardVariant, buttonVariant, buttonText, }: EventModalsProps): React.ReactElement | null;
|
|
17
|
+
export declare function EventModals({ showCapacity, cardVariant, buttonVariant, buttonText, }: EventModalsProps): React.ReactElement | null;
|
|
17
18
|
export default EventModals;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PublicEvent } from '../../../../blocks/events/shared/types';
|
|
2
|
+
export type EventAvailability = {
|
|
3
|
+
/** Remaining spots. `null` when the event has no capacity cap. */
|
|
4
|
+
available: number | null;
|
|
5
|
+
/** True when the event has a cap and no spots remain. */
|
|
6
|
+
isFull: boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Compute remaining spots for an event from `availableSpots` with a fallback
|
|
10
|
+
* to `capacity - registeredCount`. Returns `{ available: null, isFull: false }`
|
|
11
|
+
* for uncapped events so call sites can render no capacity indicator at all.
|
|
12
|
+
*
|
|
13
|
+
* The single source of truth for capacity math across event cards, agenda
|
|
14
|
+
* rows, and timetable cells — keep wording variations in the call sites.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getEventAvailability(event: PublicEvent): EventAvailability;
|
|
@@ -4,6 +4,10 @@ export type LocationMapProps = Readonly<{
|
|
|
4
4
|
blockId?: string | null;
|
|
5
5
|
className?: string | null;
|
|
6
6
|
location?: LocationMapValueInput | null;
|
|
7
|
+
businessAddress?: LocationMapValueInput | null;
|
|
8
|
+
locationSource?: string | null;
|
|
9
|
+
venueId?: string | null;
|
|
10
|
+
venuesById?: Record<string, unknown> | null;
|
|
7
11
|
zoom?: number | string | null;
|
|
8
12
|
heightPx?: number | string | null;
|
|
9
13
|
showAddressText?: boolean | string | null;
|
|
@@ -18,9 +18,28 @@ export declare const LOCATION_MAP_LIMITS: {
|
|
|
18
18
|
};
|
|
19
19
|
export type LocationMapValueInput = Readonly<{
|
|
20
20
|
addressText?: string | null;
|
|
21
|
+
displayAddress?: string | null;
|
|
21
22
|
lat?: number | string | null;
|
|
22
23
|
lng?: number | string | null;
|
|
23
24
|
}>;
|
|
25
|
+
export type LocationMapSource = 'business_address' | 'venue' | 'custom';
|
|
26
|
+
export type LocationMapUnresolvedReason = 'missing_custom_location' | 'missing_business_address' | 'missing_venue_id' | 'missing_venue_location';
|
|
27
|
+
export type LocationMapLocationsByVenueId = Readonly<Record<string, unknown>>;
|
|
28
|
+
export type ResolvedLocationMapLocation = Readonly<{
|
|
29
|
+
kind: 'custom';
|
|
30
|
+
locationValue: NormalizedLocationMapValue;
|
|
31
|
+
}> | Readonly<{
|
|
32
|
+
kind: 'business_address';
|
|
33
|
+
locationValue: NormalizedLocationMapValue;
|
|
34
|
+
}> | Readonly<{
|
|
35
|
+
kind: 'venue';
|
|
36
|
+
venueId: string;
|
|
37
|
+
locationValue: NormalizedLocationMapValue;
|
|
38
|
+
}> | Readonly<{
|
|
39
|
+
kind: 'unresolved';
|
|
40
|
+
source: LocationMapSource;
|
|
41
|
+
reason: LocationMapUnresolvedReason;
|
|
42
|
+
}>;
|
|
24
43
|
export type NormalizedLocationMapValue = AddressedLocationValue;
|
|
25
44
|
export type LocationMapHydrationProps = Readonly<{
|
|
26
45
|
location?: NormalizedLocationMapValue | null;
|
|
@@ -32,7 +51,9 @@ export type LocationMapHydrationProps = Readonly<{
|
|
|
32
51
|
className?: string | null;
|
|
33
52
|
}>;
|
|
34
53
|
export type NormalizedLocationMapProps = Readonly<{
|
|
54
|
+
resolvedLocation: ResolvedLocationMapLocation;
|
|
35
55
|
locationValue: NormalizedLocationMapValue | null;
|
|
56
|
+
unresolvedMessage: string | null;
|
|
36
57
|
addressText: string | null;
|
|
37
58
|
location: LocationCoordinates | null;
|
|
38
59
|
zoom: number;
|
|
@@ -43,8 +64,21 @@ export type NormalizedLocationMapProps = Readonly<{
|
|
|
43
64
|
className: string | null;
|
|
44
65
|
}>;
|
|
45
66
|
export declare function normalizeLocationMapValue(value: unknown): NormalizedLocationMapValue | null;
|
|
67
|
+
export declare function normalizeLocationMapSource(value: LocationMapSource | string | null | undefined): LocationMapSource;
|
|
68
|
+
export declare function resolveLocationMapLocation(input: {
|
|
69
|
+
location?: unknown;
|
|
70
|
+
businessAddress?: unknown;
|
|
71
|
+
locationSource?: LocationMapSource | string | null;
|
|
72
|
+
venueId?: string | null;
|
|
73
|
+
venuesById?: LocationMapLocationsByVenueId | null;
|
|
74
|
+
}): ResolvedLocationMapLocation;
|
|
75
|
+
export declare function describeUnresolvedLocationMapLocation(resolvedLocation: ResolvedLocationMapLocation): string | null;
|
|
46
76
|
export declare function normalizeLocationMapProps(input: {
|
|
47
77
|
location?: unknown;
|
|
78
|
+
businessAddress?: unknown;
|
|
79
|
+
locationSource?: LocationMapSource | string | null;
|
|
80
|
+
venueId?: string | null;
|
|
81
|
+
venuesById?: LocationMapLocationsByVenueId | null;
|
|
48
82
|
zoom?: number | string | null;
|
|
49
83
|
heightPx?: number | string | null;
|
|
50
84
|
showAddressText?: boolean | string | null;
|
|
@@ -54,6 +88,10 @@ export declare function normalizeLocationMapProps(input: {
|
|
|
54
88
|
}): NormalizedLocationMapProps;
|
|
55
89
|
export declare function toLocationMapHydrationProps(input: {
|
|
56
90
|
location?: unknown;
|
|
91
|
+
businessAddress?: unknown;
|
|
92
|
+
locationSource?: LocationMapSource | string | null;
|
|
93
|
+
venueId?: string | null;
|
|
94
|
+
venuesById?: Record<string, unknown> | null;
|
|
57
95
|
zoom?: number | string | null;
|
|
58
96
|
heightPx?: number | string | null;
|
|
59
97
|
showAddressText?: boolean | string | null;
|
|
@@ -15,7 +15,8 @@ export type LocationMapViewProps = Readonly<{
|
|
|
15
15
|
showAddressText: boolean;
|
|
16
16
|
showDirections: boolean;
|
|
17
17
|
directionsLabel: string;
|
|
18
|
+
unresolvedMessage?: string | null;
|
|
18
19
|
renderMap?: (args: RenderMapArgs) => React.ReactNode;
|
|
19
20
|
}>;
|
|
20
|
-
export declare function LocationMapView({ addressText, location, zoom, heightPx, showAddressText, showDirections, directionsLabel, renderMap, }: LocationMapViewProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function LocationMapView({ addressText, location, zoom, heightPx, showAddressText, showDirections, directionsLabel, unresolvedMessage, renderMap, }: LocationMapViewProps): import("react/jsx-runtime").JSX.Element;
|
|
21
22
|
export {};
|
|
@@ -13,8 +13,8 @@ export type { EntryEditorDriver } from './controller/driver';
|
|
|
13
13
|
export { EditableBlockProvider, useBlockData } from './components/EditableBlockProvider';
|
|
14
14
|
export { ContentFieldsForm, type ContentFieldsFormProps } from './components/ContentFieldsForm';
|
|
15
15
|
export { useUISelector } from './ui/useUISelector';
|
|
16
|
-
export { useEditorUiStore, useEditorUiStoreInstance, createEditorUiStore } from './ui/editorUiStore';
|
|
17
|
-
export type { EditorUiStoreInstance, EditorUiState, ViewportMode, ViewportWidth, ViewportState, ZoomLevel, } from './ui/editorUiStore';
|
|
16
|
+
export { useEditorUiStore, useEditorUiStoreInstance, useOptionalEditorUiStoreInstance, createEditorUiStore } from './ui/editorUiStore';
|
|
17
|
+
export type { ActivePreviewField, EditorUiStoreInstance, EditorUiState, PreviewSidebarTab, ViewportMode, ViewportWidth, ViewportState, ZoomLevel, } from './ui/editorUiStore';
|
|
18
18
|
export { PreviewTextEditor } from './primitives/PreviewTextEditor';
|
|
19
19
|
export { PreviewRichTextEditor } from './primitives/PreviewRichTextEditor';
|
|
20
20
|
export { useStoreBinding, parseEditorPath } from './primitives/shared';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ActivePreviewField } from '../../ui/editorUiStore';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true when the given editor path targets the same block-field that
|
|
4
|
+
* the sidebar has currently focused (the "linked focus" affordance).
|
|
5
|
+
*
|
|
6
|
+
* Encapsulates the `blocks.{blockId}.{fieldPath}` path convention so editor
|
|
7
|
+
* primitives and tests share a single source of truth.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isLinkedSidebarField(editorPath: string, activeField: ActivePreviewField): boolean;
|
|
@@ -14,6 +14,11 @@ export type { ViewportState } from "./stores/viewportStore";
|
|
|
14
14
|
export type { EditorCommand, EditorBlockItem, EditorDraftSnapshot, EditorHistorySnapshot, EditorEffect, } from "./editorHistory";
|
|
15
15
|
export type MetadataSnapshot = EditorValueSnapshot<EditorMetadataValues | null>;
|
|
16
16
|
export type ContentSnapshot = EditorValueSnapshot<EditorContentValues | null>;
|
|
17
|
+
export type PreviewSidebarTab = "editor" | "assistant";
|
|
18
|
+
export type ActivePreviewField = Readonly<{
|
|
19
|
+
blockId: EditorBlockId;
|
|
20
|
+
fieldPath: string;
|
|
21
|
+
}> | null;
|
|
17
22
|
/**
|
|
18
23
|
* Form-facing metadata facade. Consumers pass plain records for ergonomics;
|
|
19
24
|
* the reducer core normalizes and brands values at this boundary.
|
|
@@ -98,9 +103,13 @@ type RestoreListener = (transition: {
|
|
|
98
103
|
}) => void;
|
|
99
104
|
export type EditorUiState = {
|
|
100
105
|
drawerOpen: boolean;
|
|
106
|
+
previewSidebarTab: PreviewSidebarTab;
|
|
107
|
+
activePreviewField: ActivePreviewField;
|
|
101
108
|
focusRequest: FocusRequest;
|
|
102
109
|
activeBlockId: EditorBlockId | null;
|
|
103
110
|
setDrawerOpen: (open: boolean) => void;
|
|
111
|
+
setPreviewSidebarTab: (tab: PreviewSidebarTab) => void;
|
|
112
|
+
setActivePreviewField: (field: ActivePreviewField) => void;
|
|
104
113
|
requestFocus: (payload: Omit<NonNullable<FocusRequest>, "requestId">) => void;
|
|
105
114
|
clearFocus: () => void;
|
|
106
115
|
setActiveBlockId: (id: EditorBlockId | null) => void;
|
|
@@ -139,3 +148,4 @@ export type EditorUiStoreInstance = ReturnType<typeof createEditorUiStore>;
|
|
|
139
148
|
export declare const EditorUiStoreProvider: import("react").Provider<import("zustand").StoreApi<EditorUiState> | null>;
|
|
140
149
|
export declare function useEditorUiStore<T>(selector: (state: EditorUiState) => T): T;
|
|
141
150
|
export declare function useEditorUiStoreInstance(): EditorUiStoreInstance;
|
|
151
|
+
export declare function useOptionalEditorUiStoreInstance(): EditorUiStoreInstance | null;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type BusinessAddressDraft = Readonly<{
|
|
2
|
+
addressLine1?: string | null;
|
|
3
|
+
addressLine2?: string | null;
|
|
4
|
+
locality?: string | null;
|
|
5
|
+
region?: string | null;
|
|
6
|
+
postalCode?: string | null;
|
|
7
|
+
countryCode?: string | null;
|
|
8
|
+
displayAddress?: string | null;
|
|
9
|
+
lat?: number | null;
|
|
10
|
+
lng?: number | null;
|
|
11
|
+
}>;
|
|
12
|
+
export type BusinessAddress = Readonly<{
|
|
13
|
+
addressLine1: string;
|
|
14
|
+
addressLine2: string | null;
|
|
15
|
+
locality: string;
|
|
16
|
+
region: string | null;
|
|
17
|
+
postalCode: string | null;
|
|
18
|
+
countryCode: string;
|
|
19
|
+
displayAddress: string;
|
|
20
|
+
lat: number;
|
|
21
|
+
lng: number;
|
|
22
|
+
}>;
|
|
23
|
+
export type BusinessAddressValidationErrorCode = 'missing_address_line_1' | 'missing_locality' | 'missing_country_code' | 'missing_display_address' | 'missing_latitude' | 'missing_longitude' | 'invalid_latitude' | 'invalid_longitude';
|
|
24
|
+
export type BusinessAddressValidationResult = Readonly<{
|
|
25
|
+
success: true;
|
|
26
|
+
address: BusinessAddress;
|
|
27
|
+
}> | Readonly<{
|
|
28
|
+
success: false;
|
|
29
|
+
errors: readonly BusinessAddressValidationErrorCode[];
|
|
30
|
+
}>;
|
|
31
|
+
export declare function buildBusinessAddressDisplayText(input: BusinessAddressDraft): string | null;
|
|
32
|
+
export declare function validateBusinessAddressDraft(input: BusinessAddressDraft): BusinessAddressValidationResult;
|
|
33
|
+
export declare function isCompleteBusinessAddress(value: BusinessAddressDraft | null | undefined): value is BusinessAddress;
|
|
34
|
+
export declare function businessAddressToAddressedLocation(address: BusinessAddress | null | undefined): Readonly<{
|
|
35
|
+
addressText: string | null;
|
|
36
|
+
lat: number | null;
|
|
37
|
+
lng: number | null;
|
|
38
|
+
}> | null;
|
|
@@ -10,6 +10,7 @@ export * from "./booking-date-time";
|
|
|
10
10
|
export * from "./person-records";
|
|
11
11
|
export * from "./rectification";
|
|
12
12
|
export * from "./location";
|
|
13
|
+
export * from "./business-address";
|
|
13
14
|
export * from "./result";
|
|
14
15
|
export { assertNever } from "./assert-never";
|
|
15
16
|
export { tryAsync } from "./try-async";
|