@riverbankcms/sdk 0.77.1 → 0.78.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 +69 -0
- package/dist/{PreviewEditorSidebar-DVUG7GK4.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
- package/dist/{PreviewEditorUI-P7RN4CDS.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +154 -154
- package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
- package/dist/_dts/api/src/billing.d.ts +3 -26
- package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
- package/dist/_dts/api/src/content-editor.d.ts +1 -0
- package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
- package/dist/_dts/api/src/endpoints.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +14 -2
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
- package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
- package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
- package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
- package/dist/_dts/api/src/navigation.d.ts +12 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
- package/dist/_dts/api/src/staffAccess.d.ts +79 -0
- package/dist/_dts/api/src/types.d.ts +3 -1
- package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +21 -21
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
- package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
- package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -29
- package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
- package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
- package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
- package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
- package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
- package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
- package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
- package/dist/_dts/content-editor/src/index.d.ts +5 -0
- package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
- package/dist/_dts/content-model/src/index.d.ts +1 -0
- package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
- package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
- package/dist/_dts/core/src/csv-cells.d.ts +10 -0
- package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
- package/dist/_dts/core/src/csv-escape.d.ts +1 -0
- package/dist/_dts/core/src/csv-filename.d.ts +18 -0
- package/dist/_dts/core/src/csv-render.d.ts +4 -0
- package/dist/_dts/core/src/csv-types.d.ts +116 -0
- package/dist/_dts/core/src/currency-format.d.ts +4 -0
- package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
- package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
- package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
- package/dist/_dts/core/src/duration.d.ts +14 -0
- package/dist/_dts/core/src/email-format.d.ts +10 -0
- package/dist/_dts/core/src/field-errors.d.ts +1 -0
- package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
- package/dist/_dts/core/src/index.d.ts +20 -0
- package/dist/_dts/core/src/number-input.d.ts +22 -0
- package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
- package/dist/_dts/core/src/slug.d.ts +39 -0
- package/dist/_dts/core/src/string.d.ts +19 -0
- package/dist/_dts/core/src/uuid.d.ts +6 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
- package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
- package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
- package/dist/_dts/media-core/src/filename.d.ts +1 -0
- package/dist/_dts/media-core/src/index.d.ts +10 -0
- package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
- package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
- package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
- package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
- package/dist/_dts/path-utils/src/index.d.ts +8 -0
- package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
- package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
- package/dist/_dts/sdk/src/client/error.d.ts +3 -0
- package/dist/_dts/sdk/src/client/index.d.ts +2 -2
- package/dist/_dts/sdk/src/client/types.d.ts +37 -19
- package/dist/_dts/sdk/src/index.d.ts +2 -2
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
- package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
- package/dist/_dts/sdk/src/next/index.d.ts +2 -1
- package/dist/_dts/sdk/src/next/types.d.ts +19 -0
- package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
- package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +12 -12
- package/dist/_dts/site-commands/src/index.d.ts +1 -0
- package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
- package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
- package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +3 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
- package/dist/_dts/theme-core/src/schema.d.ts +64 -18
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +31 -3
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +33 -1
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
- package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
- package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
- package/dist/{chunk-2SPENC5M.mjs → chunk-F7RTCZYN.mjs} +229 -50
- package/dist/{chunk-IENWFSLO.mjs → chunk-NIDXI46P.mjs} +1 -1
- package/dist/{chunk-KWJPDZH2.mjs → chunk-OECWLDHN.mjs} +2770 -620
- package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
- package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
- package/dist/{chunk-ZYEJLCTN.mjs → chunk-TXDES5P2.mjs} +2 -2
- package/dist/cli/index.mjs +1677 -440
- package/dist/client/{accordion-RZMQSYLR.mjs → accordion-EVDEOUPR.mjs} +2 -2
- package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-DIHBLC64.mjs} +27 -30
- package/dist/client/bookings.mjs +3707 -259
- package/dist/client/{carousel-LDX47ZIK.mjs → carousel-FEBQHIWI.mjs} +3 -4
- package/dist/client/{cart-RGXDS5F4.mjs → cart-7CKSXAE4.mjs} +8 -8
- package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WKYCANLV.mjs} +8 -8
- package/dist/client/{chunk-JNC7CGHX.mjs → chunk-2SAVKN2M.mjs} +2 -2
- package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-36WJCERQ.mjs} +1 -1
- package/dist/client/{chunk-R56FQ3RR.mjs → chunk-65F47D7Y.mjs} +280 -71
- package/dist/client/{chunk-L3DNHIJX.mjs → chunk-GUK2FPXQ.mjs} +23 -45
- package/dist/client/{chunk-PMAIXMAB.mjs → chunk-IVNCUVAV.mjs} +26 -21
- package/dist/client/{chunk-II7O4XN3.mjs → chunk-OFMSCGNY.mjs} +2 -2
- package/dist/client/chunk-PD6NBCEY.mjs +66 -0
- package/dist/client/{chunk-GMVTOKYG.mjs → chunk-RV6FX7UH.mjs} +510 -64
- package/dist/client/{chunk-E2TDNXCL.mjs → chunk-RZDWX7QW.mjs} +2 -1
- package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
- package/dist/client/{chunk-JEZECJ3W.mjs → chunk-VPPMNXCF.mjs} +129 -3
- package/dist/client/{chunk-UFSWADAO.mjs → chunk-YDSEG6GZ.mjs} +5 -66
- package/dist/client/client.mjs +7070 -4561
- package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-5QF2PHKM.mjs} +14 -11
- package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-4ZOSETDU.mjs} +9 -9
- package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-WQGU7JUX.mjs} +9 -9
- package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-AYWVUJ5Y.mjs} +9 -9
- package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-NT7C6UT5.mjs} +9 -9
- package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-OH24F4ZJ.mjs} +9 -9
- package/dist/client/{form-ETFZFATW.mjs → form-7L42SRBB.mjs} +6 -6
- package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-OZRZNZ52.mjs} +3 -3
- package/dist/client/hooks.mjs +1040 -278
- package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-ZBXRPQ7C.mjs} +2 -2
- package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-SNAGFF2I.mjs} +3 -3
- package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-I46BOFGV.mjs} +8 -8
- package/dist/client/{productList-A5RO5WIS.mjs → productList-BOYHTYI6.mjs} +8 -8
- package/dist/client/rendering/client.mjs +7090 -2645
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +6089 -3792
- package/dist/client/{shop-L4MZH4I2.mjs → shop-XTXPZTKR.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +8 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/editor-chrome.css +10 -0
- package/dist/preview-next/middleware.mjs +8 -0
- package/dist/{sdk-runtime-6UT2S7KZ.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
- package/dist/server/components.mjs +2635 -1262
- package/dist/server/config-validation.mjs +1271 -509
- package/dist/server/config.mjs +1271 -509
- package/dist/server/data.mjs +1040 -278
- package/dist/server/index.mjs +488 -246
- package/dist/server/next.mjs +4087 -2147
- package/dist/server/page-converter.mjs +571 -115
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2636 -1263
- package/dist/server/rendering.mjs +2654 -1268
- package/dist/server/routing.mjs +1729 -489
- package/dist/server/server.mjs +1532 -530
- package/dist/server/theme-bridge.mjs +3151 -131
- package/dist/server/theme.mjs +10 -1
- package/dist/styles/index.css +488 -48
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
- package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
- package/dist/client/chunk-OJPZEZU2.mjs +0 -31
- package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SafeCsvFilename } from './csv-types';
|
|
2
|
+
export type SafeCsvFilenameResult = Readonly<{
|
|
3
|
+
ok: true;
|
|
4
|
+
filename: SafeCsvFilename;
|
|
5
|
+
}> | Readonly<{
|
|
6
|
+
ok: false;
|
|
7
|
+
filename: string;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function toSafeCsvFilename(value: string): SafeCsvFilenameResult;
|
|
10
|
+
export declare function assertSafeCsvFilename(value: string): SafeCsvFilename;
|
|
11
|
+
export declare const unsafeCsvFilename: typeof assertSafeCsvFilename;
|
|
12
|
+
export declare function csvFilenameDateRange(input: Readonly<{
|
|
13
|
+
from?: string | null;
|
|
14
|
+
to?: string | null;
|
|
15
|
+
fallback?: string | null;
|
|
16
|
+
prefix?: string | null;
|
|
17
|
+
}>): string;
|
|
18
|
+
export declare function contentDispositionForCsv(filename: SafeCsvFilename): string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CsvColumn, CsvColumnSensitivity, CsvRenderResult, RenderCsvInput, RenderCsvError } from './csv-types';
|
|
2
|
+
export declare function renderCsvExport<Row, Options>(input: RenderCsvInput<Row, Options>): CsvRenderResult;
|
|
3
|
+
export declare function collectCsvColumnSensitivities<Row>(columns: readonly CsvColumn<Row>[]): ReadonlySet<CsvColumnSensitivity>;
|
|
4
|
+
export declare function describeRenderCsvError(error: RenderCsvError): string;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { Brand, MoneyDateString } from './branded';
|
|
2
|
+
export type CsvExportId = Brand<string, 'CsvExportId'>;
|
|
3
|
+
export type CsvColumnKey = Brand<string, 'CsvColumnKey'>;
|
|
4
|
+
export type SafeCsvFilename = Brand<string, 'SafeCsvFilename'>;
|
|
5
|
+
export type ExportRowLimit = Brand<number, 'ExportRowLimit'>;
|
|
6
|
+
export type CsvColumnSensitivity = 'standard' | 'personal' | 'financial' | 'sensitive';
|
|
7
|
+
export type CsvCell = Readonly<{
|
|
8
|
+
kind: 'empty';
|
|
9
|
+
}> | Readonly<{
|
|
10
|
+
kind: 'text';
|
|
11
|
+
value: string;
|
|
12
|
+
}> | Readonly<{
|
|
13
|
+
kind: 'integer';
|
|
14
|
+
value: number;
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
kind: 'decimal';
|
|
17
|
+
value: number;
|
|
18
|
+
decimals: number;
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
kind: 'moneyCents';
|
|
21
|
+
cents: number;
|
|
22
|
+
currency: string;
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
kind: 'isoDate';
|
|
25
|
+
value: string;
|
|
26
|
+
}> | Readonly<{
|
|
27
|
+
kind: 'isoDateTime';
|
|
28
|
+
value: string;
|
|
29
|
+
}> | Readonly<{
|
|
30
|
+
kind: 'boolean';
|
|
31
|
+
value: boolean;
|
|
32
|
+
}>;
|
|
33
|
+
export type CsvColumn<Row> = Readonly<{
|
|
34
|
+
key: CsvColumnKey;
|
|
35
|
+
header: string;
|
|
36
|
+
sensitivity: CsvColumnSensitivity;
|
|
37
|
+
cell: (row: Row) => CsvCell;
|
|
38
|
+
}>;
|
|
39
|
+
export type CsvExportDefinition<Row, Options> = Readonly<{
|
|
40
|
+
id: CsvExportId;
|
|
41
|
+
filename: (options: Options) => string;
|
|
42
|
+
columns: (options: Options) => readonly CsvColumn<Row>[];
|
|
43
|
+
maxRows: ExportRowLimit;
|
|
44
|
+
}>;
|
|
45
|
+
export type RenderCsvInput<Row, Options> = Readonly<{
|
|
46
|
+
definition: CsvExportDefinition<Row, Options>;
|
|
47
|
+
rows: readonly Row[];
|
|
48
|
+
options: Options;
|
|
49
|
+
}>;
|
|
50
|
+
export type RenderCsvError = Readonly<{
|
|
51
|
+
tag: 'too_many_rows';
|
|
52
|
+
maxRows: number;
|
|
53
|
+
actualRows: number;
|
|
54
|
+
}> | Readonly<{
|
|
55
|
+
tag: 'duplicate_column_key';
|
|
56
|
+
key: string;
|
|
57
|
+
}> | Readonly<{
|
|
58
|
+
tag: 'invalid_filename';
|
|
59
|
+
filename: string;
|
|
60
|
+
}>;
|
|
61
|
+
export type CsvRenderResult = Readonly<{
|
|
62
|
+
ok: true;
|
|
63
|
+
csv: string;
|
|
64
|
+
filename: SafeCsvFilename;
|
|
65
|
+
rowCount: number;
|
|
66
|
+
sensitivities: ReadonlySet<CsvColumnSensitivity>;
|
|
67
|
+
}> | Readonly<{
|
|
68
|
+
ok: false;
|
|
69
|
+
error: RenderCsvError;
|
|
70
|
+
}>;
|
|
71
|
+
export type ExportDateBasis = 'created_at' | 'scheduled_at' | 'cancelled_at' | 'paid_at' | 'processed_at';
|
|
72
|
+
export type ExportDatePreset = '7d' | '30d' | '90d' | '365d' | 'all';
|
|
73
|
+
export type ExportDateRange = Readonly<{
|
|
74
|
+
kind: 'preset';
|
|
75
|
+
preset: ExportDatePreset;
|
|
76
|
+
}> | Readonly<{
|
|
77
|
+
kind: 'custom';
|
|
78
|
+
from?: string;
|
|
79
|
+
to?: string;
|
|
80
|
+
}>;
|
|
81
|
+
export type ResolvedExportDateWindow<Basis extends ExportDateBasis = ExportDateBasis> = Readonly<{
|
|
82
|
+
basis: Basis;
|
|
83
|
+
from: MoneyDateString;
|
|
84
|
+
to: MoneyDateString;
|
|
85
|
+
timeZone: string;
|
|
86
|
+
}>;
|
|
87
|
+
export type CsvExportDatePolicy<Basis extends ExportDateBasis = ExportDateBasis> = Readonly<{
|
|
88
|
+
supportedDateBases: readonly Basis[];
|
|
89
|
+
defaultDateBasis: Basis;
|
|
90
|
+
}>;
|
|
91
|
+
export type ExportDateFilterError = Readonly<{
|
|
92
|
+
tag: 'unsupported_date_basis';
|
|
93
|
+
basis: ExportDateBasis;
|
|
94
|
+
exportId: CsvExportId;
|
|
95
|
+
}> | Readonly<{
|
|
96
|
+
tag: 'invalid_date';
|
|
97
|
+
field: 'from' | 'to';
|
|
98
|
+
value: string;
|
|
99
|
+
}> | Readonly<{
|
|
100
|
+
tag: 'partial_custom_range';
|
|
101
|
+
}> | Readonly<{
|
|
102
|
+
tag: 'invalid_date_range';
|
|
103
|
+
from: MoneyDateString;
|
|
104
|
+
to: MoneyDateString;
|
|
105
|
+
}>;
|
|
106
|
+
export type MoneyExportCurrencyPolicy = Readonly<{
|
|
107
|
+
kind: 'single_currency';
|
|
108
|
+
currency: string;
|
|
109
|
+
}> | Readonly<{
|
|
110
|
+
kind: 'group_by_currency';
|
|
111
|
+
}> | Readonly<{
|
|
112
|
+
kind: 'reject_mixed_currency';
|
|
113
|
+
}>;
|
|
114
|
+
export declare function asCsvExportId(value: string): CsvExportId;
|
|
115
|
+
export declare function asCsvColumnKey(value: string): CsvColumnKey;
|
|
116
|
+
export declare function asExportRowLimit(value: number): ExportRowLimit;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type DemoCapability } from './index';
|
|
2
|
+
export declare const demoSurfaceClassificationValues: readonly ["allowed", "blocked-hidden", "blocked-disabled", "internal-only", "needs-classification"];
|
|
3
|
+
export type DemoSurfaceClassification = (typeof demoSurfaceClassificationValues)[number];
|
|
4
|
+
export type DemoRestrictionReason = 'surface_not_classified' | 'dangerous_surface' | 'internal_only' | 'claim_not_active';
|
|
5
|
+
export type DemoCapabilityDecision = Readonly<{
|
|
6
|
+
allowed: true;
|
|
7
|
+
classification: Extract<DemoSurfaceClassification, 'allowed'>;
|
|
8
|
+
}> | Readonly<{
|
|
9
|
+
allowed: false;
|
|
10
|
+
classification: DemoSurfaceClassification;
|
|
11
|
+
reason: DemoRestrictionReason;
|
|
12
|
+
surface: DemoCapability;
|
|
13
|
+
}>;
|
|
14
|
+
export type DemoClaimAccessState = Readonly<{
|
|
15
|
+
kind: 'active';
|
|
16
|
+
}> | Readonly<{
|
|
17
|
+
kind: 'expired';
|
|
18
|
+
}> | Readonly<{
|
|
19
|
+
kind: 'released';
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
kind: 'missing';
|
|
22
|
+
}>;
|
|
23
|
+
export type DemoCapabilityPolicyInput = Readonly<{
|
|
24
|
+
surface: DemoCapability;
|
|
25
|
+
classification: DemoSurfaceClassification;
|
|
26
|
+
claim: DemoClaimAccessState;
|
|
27
|
+
}>;
|
|
28
|
+
/** Evaluates a classified demo mutation surface and fails closed for inactive claims or unknown surfaces. */
|
|
29
|
+
export declare function evaluateDemoCapability(input: DemoCapabilityPolicyInput): DemoCapabilityDecision;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DemoClaimAccessState } from './demo-capability-policy';
|
|
2
|
+
import type { DemoClaimStatus, DemoInstanceStatus } from './demo-lifecycle-status';
|
|
3
|
+
export type DemoClaimAccessInstance = Readonly<{
|
|
4
|
+
status: DemoInstanceStatus;
|
|
5
|
+
}>;
|
|
6
|
+
export type DemoClaimAccessClaim = Readonly<{
|
|
7
|
+
status: DemoClaimStatus;
|
|
8
|
+
expiresAt: string;
|
|
9
|
+
}> | null;
|
|
10
|
+
export declare function deriveDemoClaimAccessState(input: Readonly<{
|
|
11
|
+
instance: DemoClaimAccessInstance;
|
|
12
|
+
claim: DemoClaimAccessClaim;
|
|
13
|
+
now: Date;
|
|
14
|
+
}>): DemoClaimAccessState;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const demoBlueprintStatusValues: readonly ["draft", "published", "archived"];
|
|
2
|
+
export type DemoBlueprintStatus = (typeof demoBlueprintStatusValues)[number];
|
|
3
|
+
export declare const demoInstanceStatusValues: readonly ["warming", "available", "claimed", "expired", "recycling", "failed"];
|
|
4
|
+
export type DemoInstanceStatus = (typeof demoInstanceStatusValues)[number];
|
|
5
|
+
export declare const demoClaimStatusValues: readonly ["active", "expired", "released"];
|
|
6
|
+
export type DemoClaimStatus = (typeof demoClaimStatusValues)[number];
|
|
7
|
+
export declare const demoBlueprintArtifactKindValues: readonly ["site_backup", "manual_snapshot"];
|
|
8
|
+
export type DemoBlueprintArtifactKind = (typeof demoBlueprintArtifactKindValues)[number];
|
|
9
|
+
export declare function narrowDemoInstanceStatus(value: string): DemoInstanceStatus;
|
|
10
|
+
export declare function narrowDemoClaimStatus(value: string): DemoClaimStatus;
|
|
11
|
+
export declare function narrowDemoBlueprintArtifactKind(value: string): DemoBlueprintArtifactKind;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare const RIVERBANK_RUNTIME_ENV_VAR = "RIVERBANK_RUNTIME_ENV";
|
|
2
|
+
export declare const riverbankRuntimeEnvValues: readonly ["production", "staging", "demo"];
|
|
3
|
+
export type RiverbankRuntimeEnv = (typeof riverbankRuntimeEnvValues)[number];
|
|
4
|
+
export type RiverbankRuntime = Readonly<{
|
|
5
|
+
kind: 'production';
|
|
6
|
+
demoAllowed: false;
|
|
7
|
+
}> | Readonly<{
|
|
8
|
+
kind: 'staging';
|
|
9
|
+
demoAllowed: false;
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
kind: 'demo';
|
|
12
|
+
demoAllowed: true;
|
|
13
|
+
}>;
|
|
14
|
+
export type RiverbankRuntimeResolution = Readonly<{
|
|
15
|
+
kind: 'resolved';
|
|
16
|
+
runtime: RiverbankRuntime;
|
|
17
|
+
}> | Readonly<{
|
|
18
|
+
kind: 'invalid';
|
|
19
|
+
error: RiverbankRuntimeResolutionError;
|
|
20
|
+
}>;
|
|
21
|
+
export type RiverbankRuntimeResolutionError = Readonly<{
|
|
22
|
+
kind: 'missing_runtime_env';
|
|
23
|
+
envVar: typeof RIVERBANK_RUNTIME_ENV_VAR;
|
|
24
|
+
}> | Readonly<{
|
|
25
|
+
kind: 'unsupported_runtime_env';
|
|
26
|
+
envVar: typeof RIVERBANK_RUNTIME_ENV_VAR;
|
|
27
|
+
rawValue: string;
|
|
28
|
+
normalizedValue: string;
|
|
29
|
+
supportedValues: readonly RiverbankRuntimeEnv[];
|
|
30
|
+
}>;
|
|
31
|
+
export type DemoRuntimeRequirement = Readonly<{
|
|
32
|
+
allowed: true;
|
|
33
|
+
runtime: Extract<RiverbankRuntime, {
|
|
34
|
+
kind: 'demo';
|
|
35
|
+
}>;
|
|
36
|
+
}> | Readonly<{
|
|
37
|
+
allowed: false;
|
|
38
|
+
reason: DemoRuntimeRequirementDenialReason;
|
|
39
|
+
runtime?: Exclude<RiverbankRuntime, {
|
|
40
|
+
kind: 'demo';
|
|
41
|
+
}>;
|
|
42
|
+
error?: RiverbankRuntimeResolutionError;
|
|
43
|
+
}>;
|
|
44
|
+
export type DemoRuntimeRequirementDenialReason = 'missing_runtime_env' | 'unsupported_runtime_env' | 'not_demo_runtime';
|
|
45
|
+
export declare function parseRiverbankRuntimeEnv(rawValue: string | null | undefined): RiverbankRuntimeResolution;
|
|
46
|
+
export declare function resolveRiverbankRuntimeEnv(env: Readonly<Record<string, string | undefined>>): RiverbankRuntimeResolution;
|
|
47
|
+
export declare function requireDemoRuntime(resolution: RiverbankRuntimeResolution): DemoRuntimeRequirement;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type DurationUnit = 'minutes' | 'hours' | 'days' | 'weeks';
|
|
2
|
+
export declare const DURATION_UNIT_MINUTES: Record<DurationUnit, number>;
|
|
3
|
+
export declare function formatDurationUnitLabel(unit: DurationUnit, count: number): string;
|
|
4
|
+
/**
|
|
5
|
+
* Picks the coarsest allowed unit that cleanly divides `minutes`. Falls back
|
|
6
|
+
* to the smallest allowed unit when no clean divisor exists.
|
|
7
|
+
*/
|
|
8
|
+
export declare function pickDurationDisplayUnit(minutes: number, allowed: readonly DurationUnit[]): DurationUnit;
|
|
9
|
+
/**
|
|
10
|
+
* Guarantees the widget invariant `displayValue x unit === storedMinutes` is
|
|
11
|
+
* representable by prepending minutes when no caller-provided unit divides.
|
|
12
|
+
*/
|
|
13
|
+
export declare function expandAllowedDurationUnits(value: number, base: readonly DurationUnit[]): readonly DurationUnit[];
|
|
14
|
+
export declare function clampDurationMinutes(value: number, min: number | undefined, max: number | undefined): number;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mask an email address for display purposes.
|
|
3
|
+
* Shows first and last characters of the local part with asterisks in between.
|
|
4
|
+
* Example: "john.doe@example.com" -> "j******e@example.com"
|
|
5
|
+
* For 1-2 character local parts, preserve only the first character and append "***"
|
|
6
|
+
* so very short addresses do not leak disproportionate detail.
|
|
7
|
+
*/
|
|
8
|
+
export declare function maskEmail(email: string): string;
|
|
9
|
+
export declare function maskEmail(email: null): null;
|
|
10
|
+
export declare function maskEmail(email: string | null): string | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function clearFieldError<TField extends string, TErrors extends Partial<Record<TField, string>>>(errors: TErrors, field: TField): TErrors;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
type SchemaField = {
|
|
2
|
+
id: string;
|
|
3
|
+
label?: string | null;
|
|
4
|
+
type?: string | null;
|
|
5
|
+
required?: boolean | null;
|
|
6
|
+
};
|
|
7
|
+
type SubmissionRow = {
|
|
8
|
+
dataJson: Record<string, unknown> | null;
|
|
9
|
+
};
|
|
10
|
+
export type SubmissionPreviewField = {
|
|
11
|
+
id: string;
|
|
12
|
+
label: string;
|
|
13
|
+
type: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const FORM_SUBMISSION_PSEUDO_FIELD_ID = "submission";
|
|
16
|
+
export declare const HIDDEN_FIELD_IDS: Set<string>;
|
|
17
|
+
export declare function selectSubmissionPreviewFields(schemaFields: unknown, submissions: SubmissionRow[]): SubmissionPreviewField[];
|
|
18
|
+
export declare function humanizeSubmissionFieldKey(input: string): string;
|
|
19
|
+
export declare function orderSubmissionFields(schemaFields: SchemaField[] | undefined, data: Record<string, unknown> | null): {
|
|
20
|
+
id: string;
|
|
21
|
+
label: string;
|
|
22
|
+
value: unknown;
|
|
23
|
+
}[];
|
|
24
|
+
export {};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
export * from "./branded";
|
|
2
2
|
export * from "./date-math";
|
|
3
|
+
export * from "./duration";
|
|
4
|
+
export * from "./demo-capability-policy";
|
|
5
|
+
export * from "./demo-claim-access";
|
|
6
|
+
export * from "./demo-lifecycle-status";
|
|
7
|
+
export * from "./demo-runtime";
|
|
3
8
|
export * from "./collections";
|
|
4
9
|
export * from "./event-pricing";
|
|
5
10
|
export * from "./money-input";
|
|
@@ -21,5 +26,20 @@ export * from "./sensitive-collection";
|
|
|
21
26
|
export * from "./assertNever";
|
|
22
27
|
export * from "./participants";
|
|
23
28
|
export * from "./participant-identity";
|
|
29
|
+
export * from "./public-url-validation";
|
|
30
|
+
export * from "./number-input";
|
|
31
|
+
export * from "./field-errors";
|
|
32
|
+
export * from "./form-submission-preview";
|
|
33
|
+
export * from "./csv-cells";
|
|
34
|
+
export * from "./csv-date-filter";
|
|
35
|
+
export * from "./csv-escape";
|
|
36
|
+
export * from "./csv-filename";
|
|
37
|
+
export * from "./csv-render";
|
|
38
|
+
export * from "./csv-types";
|
|
39
|
+
export * from "./currency-format";
|
|
40
|
+
export * from "./email-format";
|
|
41
|
+
export * from "./slug";
|
|
42
|
+
export * from "./string";
|
|
43
|
+
export * from "./uuid";
|
|
24
44
|
export { disabledSelection, enabledSelection, plannerNoChange, plannerPatch, plannerUpdate, resolvePlanningDateInput, resolvePlanningNow, resolvePlanningNowDate, systemPlanningClock, } from "./planner";
|
|
25
45
|
export type { DisabledSelection, EnabledSelection, OptionalSelection, PlannerNoChange, PlannerPatch, PlannerUpdate, PlanningClock, PlanningDateInput, PlanningTimeOptions, } from "./planner";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Numeric form-input parsing helpers with preserve-prev semantics on
|
|
3
|
+
* NaN/empty/negative. Use these in `NumberInput.onChange` so empty input
|
|
4
|
+
* doesn't silently rewrite the user's value to 0.
|
|
5
|
+
*
|
|
6
|
+
* The caller skips the dispatch when `null` is returned; the input box
|
|
7
|
+
* keeps showing whatever the user typed (it's an uncontrolled native
|
|
8
|
+
* input from React's perspective until the next state change), and the
|
|
9
|
+
* dirty/saved state stays consistent.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Parse a `valueAsNumber` (from `<input type="number">`) into a finite
|
|
13
|
+
* non-negative integer, or `null` if the value is empty / NaN / negative.
|
|
14
|
+
* Fractional input is `Math.trunc`'d to an integer.
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseFiniteNonNegativeInt(value: number): number | null;
|
|
17
|
+
/**
|
|
18
|
+
* Parse a `valueAsNumber` into an integer bounded inclusive by `[min, max]`.
|
|
19
|
+
* Returns `null` for out-of-range or non-finite input — same preserve-prev
|
|
20
|
+
* pattern as `parseFiniteNonNegativeInt`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseBoundedInt(value: number, min: number, max: number): number | null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type PublicUrlProtocol = 'http:' | 'https:';
|
|
2
|
+
export type PublicUrlPortPolicy = 'standard-only' | 'any-valid';
|
|
3
|
+
export type PublicUrlValidationOptions = Readonly<{
|
|
4
|
+
allowedProtocols: readonly PublicUrlProtocol[];
|
|
5
|
+
portPolicy: PublicUrlPortPolicy;
|
|
6
|
+
errorFactory?: (message: string) => Error;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function buildPublicUrlValidationError(message: string, errorFactory?: (message: string) => Error): Error;
|
|
9
|
+
export declare function isIpAddress(value: string): boolean;
|
|
10
|
+
export declare function isPrivateIp(ip: string): boolean;
|
|
11
|
+
export declare function assertAllowedPublicHostname(hostname: string, errorFactory?: (message: string) => Error): void;
|
|
12
|
+
export declare function assertAllowedPublicUrl(raw: string, options: PublicUrlValidationOptions): URL;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a string to a URL-safe slug
|
|
3
|
+
*
|
|
4
|
+
* @param text - The text to slugify
|
|
5
|
+
* @returns URL-safe slug (lowercase, alphanumeric + hyphens)
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* slugify("Initial Consultation") // "initial-consultation"
|
|
9
|
+
* slugify("90-Minute Deep Tissue") // "90-minute-deep-tissue"
|
|
10
|
+
* slugify("Reiki & Energy Healing") // "reiki-energy-healing"
|
|
11
|
+
*/
|
|
12
|
+
export declare function slugify(text: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Generate a unique slug by appending a number if needed
|
|
15
|
+
*
|
|
16
|
+
* @param baseSlug - The base slug to make unique
|
|
17
|
+
* @param existingSlugs - Array of slugs already in use
|
|
18
|
+
* @returns Unique slug (adds -2, -3, etc. if needed)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* makeUniqueSlug("consultation", ["consultation"])
|
|
22
|
+
* // Returns: "consultation-2"
|
|
23
|
+
*
|
|
24
|
+
* makeUniqueSlug("consultation", ["consultation", "consultation-2"])
|
|
25
|
+
* // Returns: "consultation-3"
|
|
26
|
+
*/
|
|
27
|
+
export declare function makeUniqueSlug(baseSlug: string, existingSlugs: string[]): string;
|
|
28
|
+
/**
|
|
29
|
+
* Generate a slug from text and ensure it's unique
|
|
30
|
+
*
|
|
31
|
+
* @param text - The text to slugify
|
|
32
|
+
* @param existingSlugs - Array of slugs already in use
|
|
33
|
+
* @returns Unique URL-safe slug
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* generateUniqueSlug("Initial Consultation", ["initial-consultation"])
|
|
37
|
+
* // Returns: "initial-consultation-2"
|
|
38
|
+
*/
|
|
39
|
+
export declare function generateUniqueSlug(text: string, existingSlugs: string[]): string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* String utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Return the string value when the input is already a string, otherwise null.
|
|
6
|
+
*/
|
|
7
|
+
export declare function asNullableString(value: unknown): string | null;
|
|
8
|
+
/**
|
|
9
|
+
* Return a non-empty string value, otherwise null.
|
|
10
|
+
*/
|
|
11
|
+
export declare function asNonEmptyStringOrNull(value: unknown): string | null;
|
|
12
|
+
/**
|
|
13
|
+
* Trim a user-entered string and collapse blank values to null.
|
|
14
|
+
*/
|
|
15
|
+
export declare function trimmedStringOrNull(value: string | null | undefined): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Capitalize the first character of a string
|
|
18
|
+
*/
|
|
19
|
+
export declare function capitalize(str: string): string;
|
|
@@ -364,13 +364,13 @@ export declare const formFieldSchema: z.ZodObject<{
|
|
|
364
364
|
date: "date";
|
|
365
365
|
time: "time";
|
|
366
366
|
email: "email";
|
|
367
|
-
url: "url";
|
|
368
|
-
select: "select";
|
|
369
|
-
textarea: "textarea";
|
|
370
367
|
text: "text";
|
|
371
|
-
|
|
372
|
-
|
|
368
|
+
textarea: "textarea";
|
|
369
|
+
select: "select";
|
|
373
370
|
checkbox: "checkbox";
|
|
371
|
+
radio: "radio";
|
|
372
|
+
url: "url";
|
|
373
|
+
tel: "tel";
|
|
374
374
|
consent: "consent";
|
|
375
375
|
}>;
|
|
376
376
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -425,13 +425,13 @@ declare const bookingQuestionScalarFieldSchema: z.ZodObject<{
|
|
|
425
425
|
date: "date";
|
|
426
426
|
time: "time";
|
|
427
427
|
email: "email";
|
|
428
|
-
url: "url";
|
|
429
|
-
select: "select";
|
|
430
|
-
textarea: "textarea";
|
|
431
428
|
text: "text";
|
|
432
|
-
|
|
433
|
-
|
|
429
|
+
textarea: "textarea";
|
|
430
|
+
select: "select";
|
|
434
431
|
checkbox: "checkbox";
|
|
432
|
+
radio: "radio";
|
|
433
|
+
url: "url";
|
|
434
|
+
tel: "tel";
|
|
435
435
|
}>;
|
|
436
436
|
}, z.core.$strict>;
|
|
437
437
|
declare const bookingQuestionDocumentUploadFieldSchema: z.ZodObject<{
|
|
@@ -481,13 +481,13 @@ export declare const bookingQuestionFieldSchema: z.ZodDiscriminatedUnion<[z.ZodO
|
|
|
481
481
|
date: "date";
|
|
482
482
|
time: "time";
|
|
483
483
|
email: "email";
|
|
484
|
-
url: "url";
|
|
485
|
-
select: "select";
|
|
486
|
-
textarea: "textarea";
|
|
487
484
|
text: "text";
|
|
488
|
-
|
|
489
|
-
|
|
485
|
+
textarea: "textarea";
|
|
486
|
+
select: "select";
|
|
490
487
|
checkbox: "checkbox";
|
|
488
|
+
radio: "radio";
|
|
489
|
+
url: "url";
|
|
490
|
+
tel: "tel";
|
|
491
491
|
}>;
|
|
492
492
|
}, z.core.$strict>, z.ZodObject<{
|
|
493
493
|
id: z.ZodString;
|
|
@@ -540,13 +540,13 @@ export declare const bookingQuestionsSectionSchema: z.ZodObject<{
|
|
|
540
540
|
date: "date";
|
|
541
541
|
time: "time";
|
|
542
542
|
email: "email";
|
|
543
|
-
url: "url";
|
|
544
|
-
select: "select";
|
|
545
|
-
textarea: "textarea";
|
|
546
543
|
text: "text";
|
|
547
|
-
|
|
548
|
-
|
|
544
|
+
textarea: "textarea";
|
|
545
|
+
select: "select";
|
|
549
546
|
checkbox: "checkbox";
|
|
547
|
+
radio: "radio";
|
|
548
|
+
url: "url";
|
|
549
|
+
tel: "tel";
|
|
550
550
|
}>;
|
|
551
551
|
}, z.core.$strict>, z.ZodObject<{
|
|
552
552
|
id: z.ZodString;
|
|
@@ -602,13 +602,13 @@ export declare const bookingQuestionsDetailedSchemaSchema: z.ZodObject<{
|
|
|
602
602
|
date: "date";
|
|
603
603
|
time: "time";
|
|
604
604
|
email: "email";
|
|
605
|
-
url: "url";
|
|
606
|
-
select: "select";
|
|
607
|
-
textarea: "textarea";
|
|
608
605
|
text: "text";
|
|
609
|
-
|
|
610
|
-
|
|
606
|
+
textarea: "textarea";
|
|
607
|
+
select: "select";
|
|
611
608
|
checkbox: "checkbox";
|
|
609
|
+
radio: "radio";
|
|
610
|
+
url: "url";
|
|
611
|
+
tel: "tel";
|
|
612
612
|
}>;
|
|
613
613
|
}, z.core.$strict>, z.ZodObject<{
|
|
614
614
|
id: z.ZodString;
|
|
@@ -646,13 +646,13 @@ export declare const formSchemaSchema: z.ZodObject<{
|
|
|
646
646
|
date: "date";
|
|
647
647
|
time: "time";
|
|
648
648
|
email: "email";
|
|
649
|
-
url: "url";
|
|
650
|
-
select: "select";
|
|
651
|
-
textarea: "textarea";
|
|
652
649
|
text: "text";
|
|
653
|
-
|
|
654
|
-
|
|
650
|
+
textarea: "textarea";
|
|
651
|
+
select: "select";
|
|
655
652
|
checkbox: "checkbox";
|
|
653
|
+
radio: "radio";
|
|
654
|
+
url: "url";
|
|
655
|
+
tel: "tel";
|
|
656
656
|
consent: "consent";
|
|
657
657
|
}>;
|
|
658
658
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -705,13 +705,13 @@ export declare const bookingQuestionsFlatSchemaSchema: z.ZodObject<{
|
|
|
705
705
|
date: "date";
|
|
706
706
|
time: "time";
|
|
707
707
|
email: "email";
|
|
708
|
-
url: "url";
|
|
709
|
-
select: "select";
|
|
710
|
-
textarea: "textarea";
|
|
711
708
|
text: "text";
|
|
712
|
-
|
|
713
|
-
|
|
709
|
+
textarea: "textarea";
|
|
710
|
+
select: "select";
|
|
714
711
|
checkbox: "checkbox";
|
|
712
|
+
radio: "radio";
|
|
713
|
+
url: "url";
|
|
714
|
+
tel: "tel";
|
|
715
715
|
}>;
|
|
716
716
|
}, z.core.$strict>, z.ZodObject<{
|
|
717
717
|
id: z.ZodString;
|
|
@@ -763,13 +763,13 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
|
|
|
763
763
|
date: "date";
|
|
764
764
|
time: "time";
|
|
765
765
|
email: "email";
|
|
766
|
-
url: "url";
|
|
767
|
-
select: "select";
|
|
768
|
-
textarea: "textarea";
|
|
769
766
|
text: "text";
|
|
770
|
-
|
|
771
|
-
|
|
767
|
+
textarea: "textarea";
|
|
768
|
+
select: "select";
|
|
772
769
|
checkbox: "checkbox";
|
|
770
|
+
radio: "radio";
|
|
771
|
+
url: "url";
|
|
772
|
+
tel: "tel";
|
|
773
773
|
}>;
|
|
774
774
|
}, z.core.$strict>, z.ZodObject<{
|
|
775
775
|
id: z.ZodString;
|
|
@@ -824,13 +824,13 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
|
|
|
824
824
|
date: "date";
|
|
825
825
|
time: "time";
|
|
826
826
|
email: "email";
|
|
827
|
-
url: "url";
|
|
828
|
-
select: "select";
|
|
829
|
-
textarea: "textarea";
|
|
830
827
|
text: "text";
|
|
831
|
-
|
|
832
|
-
|
|
828
|
+
textarea: "textarea";
|
|
829
|
+
select: "select";
|
|
833
830
|
checkbox: "checkbox";
|
|
831
|
+
radio: "radio";
|
|
832
|
+
url: "url";
|
|
833
|
+
tel: "tel";
|
|
834
834
|
}>;
|
|
835
835
|
}, z.core.$strict>, z.ZodObject<{
|
|
836
836
|
id: z.ZodString;
|
|
@@ -900,13 +900,13 @@ export declare const createFormPayloadSchema: z.ZodObject<{
|
|
|
900
900
|
date: "date";
|
|
901
901
|
time: "time";
|
|
902
902
|
email: "email";
|
|
903
|
-
url: "url";
|
|
904
|
-
select: "select";
|
|
905
|
-
textarea: "textarea";
|
|
906
903
|
text: "text";
|
|
907
|
-
|
|
908
|
-
|
|
904
|
+
textarea: "textarea";
|
|
905
|
+
select: "select";
|
|
909
906
|
checkbox: "checkbox";
|
|
907
|
+
radio: "radio";
|
|
908
|
+
url: "url";
|
|
909
|
+
tel: "tel";
|
|
910
910
|
consent: "consent";
|
|
911
911
|
}>;
|
|
912
912
|
required: z.ZodDefault<z.ZodBoolean>;
|