@riverbankcms/sdk 0.67.0 → 0.68.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 +21 -11
- package/dist/_dts/api/src/aiPlayground.d.ts +62 -14
- package/dist/_dts/api/src/billing.d.ts +7 -40
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +32 -1
- package/dist/_dts/api/src/endpoints.d.ts +7 -0
- package/dist/_dts/api/src/public/types.d.ts +1 -1
- package/dist/_dts/billing/src/components/index.d.ts +426 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -0
- package/dist/_dts/blocks/src/client.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +140 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useVisibleTabPolling.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.default-ui.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +484 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -2
- package/dist/_dts/sdk/src/bookings/index.d.ts +5 -2
- package/dist/_dts/sdk/src/bookings/types.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +32 -0
- package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +5 -1
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +41 -11
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntimeCompat.d.ts +21 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +27 -0
- package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +56 -0
- package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +7 -1
- package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +4 -8
- package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +4 -8
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +4 -8
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +14 -68
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionPlan.d.ts +8 -0
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +97 -0
- package/dist/_dts/sdk/src/cli/site-commands/residualSettingsTrimming.d.ts +15 -0
- package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/sync/syncResultAggregation.d.ts +4 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -0
- package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +4 -4
- package/dist/_dts/sdk/src/theme-bridge/generateCssVars.d.ts +4 -12
- package/dist/_dts/sdk/src/theme-bridge/index.d.ts +1 -1
- package/dist/_dts/sdk/src/theme-bridge/types.d.ts +17 -9
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +228 -1
- package/dist/_dts/site-commands/src/domain.d.ts +1 -1
- package/dist/_dts/site-commands/src/index.d.ts +1 -0
- package/dist/_dts/site-commands/src/metadata.d.ts +66 -1
- package/dist/_dts/site-commands/src/refContributions.d.ts +1 -0
- package/dist/_dts/site-commands/src/refs.d.ts +7 -1
- package/dist/_dts/{sdk/src/cli/merge-remote → site-commands/src}/stableJson.d.ts +2 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +30 -23
- package/dist/cli/index.mjs +1699 -766
- package/dist/client/bookings.mjs +5107 -3348
- package/dist/client/client.mjs +4004 -3522
- package/dist/client/hooks.mjs +14 -0
- package/dist/client/rendering/client.mjs +4185 -3721
- package/dist/client/rendering/islands.mjs +4317 -3853
- package/dist/client/rendering.mjs +4076 -3592
- package/dist/preview-next/before-render.mjs +14 -0
- package/dist/preview-next/client/runtime.mjs +2770 -2268
- package/dist/preview-next/middleware.mjs +14 -0
- package/dist/server/components.mjs +172 -58
- package/dist/server/config-validation.mjs +14 -0
- package/dist/server/config.mjs +14 -0
- package/dist/server/data.mjs +14 -0
- package/dist/server/index.mjs +15 -1
- package/dist/server/next.mjs +166 -52
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +174 -58
- package/dist/server/rendering.mjs +174 -58
- package/dist/server/routing.mjs +14 -0
- package/dist/server/server.mjs +15 -1
- package/dist/server/theme-bridge.mjs +1247 -4825
- package/dist/styles/index.css +38 -38
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/booking/DateTimeSelectionStep.d.ts +0 -18
- package/dist/_dts/blocks/src/system/runtime/components/booking/PaymentOptionSelectionStep.d.ts +0 -9
- package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceResourceSelector.d.ts +0 -44
- package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceResourceSelector.state.d.ts +0 -23
- package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceSelectionStep.d.ts +0 -18
- package/dist/_dts/blocks/src/system/runtime/components/booking/slotDisplay.d.ts +0 -2
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/MultiStepForm.d.ts +0 -21
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/useMultiStep.d.ts +0 -15
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/useMultiStep.state.d.ts +0 -51
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSteps.d.ts +0 -22
|
@@ -30032,16 +30032,18 @@ function toTrimmedString(value) {
|
|
|
30032
30032
|
return trimmed ? trimmed : void 0;
|
|
30033
30033
|
}
|
|
30034
30034
|
function normalizeBookingFormConfig(form2) {
|
|
30035
|
-
if (!form2) return null;
|
|
30035
|
+
if (!isRecord4(form2)) return null;
|
|
30036
|
+
const id = readNonEmptyString(form2.id);
|
|
30037
|
+
const name = readNonEmptyString(form2.name);
|
|
30038
|
+
if (!id || !name) return null;
|
|
30039
|
+
const schemaSource = isRecord4(form2.schema) ? form2.schema : isRecord4(form2.schemaJson) ? form2.schemaJson : null;
|
|
30040
|
+
const settingsSource = isRecord4(form2.settings) ? form2.settings : isRecord4(form2.settingsJson) ? form2.settingsJson : null;
|
|
30036
30041
|
return {
|
|
30037
|
-
id
|
|
30038
|
-
name
|
|
30039
|
-
slug: "",
|
|
30040
|
-
settings:
|
|
30041
|
-
schema:
|
|
30042
|
-
version: form2.schemaJson.version,
|
|
30043
|
-
fields: form2.schemaJson.fields ?? []
|
|
30044
|
-
} : void 0
|
|
30042
|
+
id,
|
|
30043
|
+
name,
|
|
30044
|
+
slug: typeof form2.slug === "string" ? form2.slug : "",
|
|
30045
|
+
settings: normalizeBookingSettings(settingsSource),
|
|
30046
|
+
schema: normalizeBookingSchema(schemaSource)
|
|
30045
30047
|
};
|
|
30046
30048
|
}
|
|
30047
30049
|
function normalizeBookingServices(services) {
|
|
@@ -30057,12 +30059,106 @@ function normalizeBookingServices(services) {
|
|
|
30057
30059
|
return [];
|
|
30058
30060
|
}
|
|
30059
30061
|
if (Array.isArray(services)) {
|
|
30060
|
-
return services.map(normalizeService);
|
|
30062
|
+
return services.filter(isBookingFormService).map(normalizeService);
|
|
30063
|
+
}
|
|
30064
|
+
if (isRecord4(services) && "services" in services) {
|
|
30065
|
+
return Array.isArray(services.services) ? services.services.filter(isBookingFormService).map(normalizeService) : [];
|
|
30061
30066
|
}
|
|
30062
|
-
|
|
30063
|
-
|
|
30067
|
+
return isRecord4(services) ? Object.values(services).filter(isBookingFormService).map(normalizeService) : [];
|
|
30068
|
+
}
|
|
30069
|
+
function normalizeBookingSchema(value) {
|
|
30070
|
+
if (!value) return void 0;
|
|
30071
|
+
const rawFields = Array.isArray(value.fields) ? value.fields : [];
|
|
30072
|
+
const fields3 = rawFields.map(readBookingFormField).filter((field) => field !== null);
|
|
30073
|
+
return {
|
|
30074
|
+
version: typeof value.version === "string" ? value.version : void 0,
|
|
30075
|
+
fields: fields3
|
|
30076
|
+
};
|
|
30077
|
+
}
|
|
30078
|
+
function readBookingFormField(value) {
|
|
30079
|
+
if (!isRecord4(value)) return null;
|
|
30080
|
+
const id = readNonEmptyString(value.id);
|
|
30081
|
+
const label = readNonEmptyString(value.label);
|
|
30082
|
+
const type = readBookingFieldType(value.type);
|
|
30083
|
+
if (!id || !label || !type) return null;
|
|
30084
|
+
return {
|
|
30085
|
+
id,
|
|
30086
|
+
label,
|
|
30087
|
+
type,
|
|
30088
|
+
required: typeof value.required === "boolean" ? value.required : void 0,
|
|
30089
|
+
placeholder: readOptionalString(value.placeholder),
|
|
30090
|
+
helpText: readOptionalString(value.helpText),
|
|
30091
|
+
options: readBookingFieldOptions(value.options),
|
|
30092
|
+
multiple: typeof value.multiple === "boolean" ? value.multiple : void 0,
|
|
30093
|
+
minLength: readOptionalNumber(value.minLength),
|
|
30094
|
+
maxLength: readOptionalNumber(value.maxLength),
|
|
30095
|
+
pattern: readOptionalString(value.pattern),
|
|
30096
|
+
min: readOptionalNumber(value.min),
|
|
30097
|
+
max: readOptionalNumber(value.max)
|
|
30098
|
+
};
|
|
30099
|
+
}
|
|
30100
|
+
function readBookingFieldType(value) {
|
|
30101
|
+
switch (value) {
|
|
30102
|
+
case "text":
|
|
30103
|
+
case "email":
|
|
30104
|
+
case "textarea":
|
|
30105
|
+
case "select":
|
|
30106
|
+
case "radio":
|
|
30107
|
+
case "checkbox":
|
|
30108
|
+
case "booking_requirement_consent":
|
|
30109
|
+
case "tel":
|
|
30110
|
+
case "url":
|
|
30111
|
+
case "number":
|
|
30112
|
+
case "date":
|
|
30113
|
+
case "time":
|
|
30114
|
+
return value;
|
|
30115
|
+
default:
|
|
30116
|
+
return null;
|
|
30064
30117
|
}
|
|
30065
|
-
|
|
30118
|
+
}
|
|
30119
|
+
function readBookingFieldOptions(value) {
|
|
30120
|
+
if (!Array.isArray(value)) return void 0;
|
|
30121
|
+
const options = value.map(readBookingFieldOption).filter((option) => option !== null);
|
|
30122
|
+
return options.length > 0 ? options : void 0;
|
|
30123
|
+
}
|
|
30124
|
+
function readBookingFieldOption(value) {
|
|
30125
|
+
if (!isRecord4(value)) return null;
|
|
30126
|
+
const optionValue = readNonEmptyString(value.value);
|
|
30127
|
+
const label = readNonEmptyString(value.label);
|
|
30128
|
+
return optionValue && label ? { value: optionValue, label } : null;
|
|
30129
|
+
}
|
|
30130
|
+
function normalizeBookingSettings(value) {
|
|
30131
|
+
if (!value || value.type !== "booking") return void 0;
|
|
30132
|
+
return {
|
|
30133
|
+
type: "booking",
|
|
30134
|
+
serviceId: readOptionalString(value.serviceId),
|
|
30135
|
+
serviceIds: readStringArray(value.serviceIds),
|
|
30136
|
+
resourceId: readOptionalString(value.resourceId),
|
|
30137
|
+
requiresApproval: typeof value.requiresApproval === "boolean" ? value.requiresApproval : void 0,
|
|
30138
|
+
successMessage: readOptionalString(value.successMessage)
|
|
30139
|
+
};
|
|
30140
|
+
}
|
|
30141
|
+
function isBookingFormService(value) {
|
|
30142
|
+
return isRecord4(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
30143
|
+
}
|
|
30144
|
+
function readNonEmptyString(value) {
|
|
30145
|
+
if (typeof value !== "string") return null;
|
|
30146
|
+
const trimmed = value.trim();
|
|
30147
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
30148
|
+
}
|
|
30149
|
+
function readOptionalString(value) {
|
|
30150
|
+
return typeof value === "string" ? value : void 0;
|
|
30151
|
+
}
|
|
30152
|
+
function readOptionalNumber(value) {
|
|
30153
|
+
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
30154
|
+
}
|
|
30155
|
+
function readStringArray(value) {
|
|
30156
|
+
if (!Array.isArray(value)) return void 0;
|
|
30157
|
+
const strings = value.filter((item) => typeof item === "string");
|
|
30158
|
+
return strings.length > 0 ? strings : void 0;
|
|
30159
|
+
}
|
|
30160
|
+
function isRecord4(value) {
|
|
30161
|
+
return typeof value === "object" && value !== null;
|
|
30066
30162
|
}
|
|
30067
30163
|
|
|
30068
30164
|
// ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
|
|
@@ -37370,6 +37466,8 @@ var MemoBlockSection = React6.memo(
|
|
|
37370
37466
|
themeConfig,
|
|
37371
37467
|
data: void 0,
|
|
37372
37468
|
siteId: dataContext?.siteId,
|
|
37469
|
+
apiBaseUrl: dataContext?.apiBaseUrl,
|
|
37470
|
+
portalToken: dataContext?.portalToken ?? null,
|
|
37373
37471
|
supabaseUrl: dataContext?.supabaseUrl,
|
|
37374
37472
|
imageResolveContext,
|
|
37375
37473
|
blockId: block.id ?? null,
|
|
@@ -37484,6 +37582,8 @@ var MemoBlockSection = React6.memo(
|
|
|
37484
37582
|
themeConfig,
|
|
37485
37583
|
data: resolved,
|
|
37486
37584
|
siteId: dataContext?.siteId,
|
|
37585
|
+
apiBaseUrl: dataContext?.apiBaseUrl,
|
|
37586
|
+
portalToken: dataContext?.portalToken ?? null,
|
|
37487
37587
|
supabaseUrl: dataContext?.supabaseUrl,
|
|
37488
37588
|
imageResolveContext,
|
|
37489
37589
|
blockId: block.id ?? null,
|
|
@@ -43246,32 +43346,32 @@ var containerResponsiveThemeCss = `/*
|
|
|
43246
43346
|
}
|
|
43247
43347
|
|
|
43248
43348
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text--muted {
|
|
43249
|
-
opacity: var(--ab-text-muted-opacity);
|
|
43349
|
+
opacity: var(--ab-text-muted-opacity, 0.6);
|
|
43250
43350
|
}
|
|
43251
43351
|
|
|
43252
43352
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text--faint {
|
|
43253
|
-
opacity: var(--ab-text-faint-opacity);
|
|
43353
|
+
opacity: var(--ab-text-faint-opacity, 0.4);
|
|
43254
43354
|
}
|
|
43255
43355
|
|
|
43256
43356
|
/* Selection cards (service, resource, time slot) */
|
|
43257
43357
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card {
|
|
43258
43358
|
position: relative;
|
|
43259
43359
|
padding: 1rem;
|
|
43260
|
-
border: 2px solid var(--ab-card-border);
|
|
43261
|
-
border-radius: var(--rb-block-radius);
|
|
43360
|
+
border: 2px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
|
|
43361
|
+
border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
|
|
43262
43362
|
text-align: left;
|
|
43263
43363
|
background: transparent;
|
|
43264
43364
|
cursor: pointer;
|
|
43265
|
-
transition: border-color var(--rb-block-transition) ease, background-color var(--rb-block-transition) ease;
|
|
43365
|
+
transition: border-color var(--rb-block-transition, 150ms) ease, background-color var(--rb-block-transition, 150ms) ease;
|
|
43266
43366
|
}
|
|
43267
43367
|
|
|
43268
43368
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card:hover {
|
|
43269
|
-
border-color: var(--ab-card-border-hover);
|
|
43369
|
+
border-color: var(--ab-card-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
43270
43370
|
}
|
|
43271
43371
|
|
|
43272
43372
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card--selected {
|
|
43273
|
-
border-color: var(--ab-card-border-selected);
|
|
43274
|
-
background-color: var(--ab-card-bg-selected);
|
|
43373
|
+
border-color: var(--ab-card-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
43374
|
+
background-color: var(--ab-card-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.05));
|
|
43275
43375
|
}
|
|
43276
43376
|
|
|
43277
43377
|
/* Checkmark indicator */
|
|
@@ -43280,7 +43380,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
43280
43380
|
width: 1.25rem;
|
|
43281
43381
|
height: 1.25rem;
|
|
43282
43382
|
border-radius: 50%;
|
|
43283
|
-
background-color: var(--ab-check-bg);
|
|
43383
|
+
background-color: var(--ab-check-bg, rgb(var(--tb-primary, 17 24 39)));
|
|
43284
43384
|
display: flex;
|
|
43285
43385
|
align-items: center;
|
|
43286
43386
|
justify-content: center;
|
|
@@ -43289,42 +43389,42 @@ var containerResponsiveThemeCss = `/*
|
|
|
43289
43389
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-check svg {
|
|
43290
43390
|
width: 0.75rem;
|
|
43291
43391
|
height: 0.75rem;
|
|
43292
|
-
color: var(--ab-check-text);
|
|
43392
|
+
color: var(--ab-check-text, rgb(var(--tb-background, 255 255 255)));
|
|
43293
43393
|
}
|
|
43294
43394
|
|
|
43295
43395
|
/* Info box (service summary) */
|
|
43296
43396
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-info-box {
|
|
43297
43397
|
padding: 1rem;
|
|
43298
|
-
border: 1px solid var(--ab-card-border);
|
|
43299
|
-
border-radius: var(--rb-block-radius);
|
|
43300
|
-
background-color: var(--ab-muted-bg);
|
|
43398
|
+
border: 1px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
|
|
43399
|
+
border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
|
|
43400
|
+
background-color: var(--ab-muted-bg, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
|
|
43301
43401
|
}
|
|
43302
43402
|
|
|
43303
43403
|
/* Alert states */
|
|
43304
43404
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert {
|
|
43305
43405
|
padding: 0.75rem 1rem;
|
|
43306
|
-
border-radius: var(--rb-block-radius);
|
|
43406
|
+
border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
|
|
43307
43407
|
font-size: 0.875rem;
|
|
43308
43408
|
}
|
|
43309
43409
|
|
|
43310
43410
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--success {
|
|
43311
|
-
background-color: var(--ab-success-bg);
|
|
43312
|
-
color: var(--ab-success-text);
|
|
43411
|
+
background-color: var(--ab-success-bg, rgba(var(--tb-success, 22 163 74), 0.1));
|
|
43412
|
+
color: var(--ab-success-text, rgb(var(--tb-success, 22 163 74)));
|
|
43313
43413
|
}
|
|
43314
43414
|
|
|
43315
43415
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--error {
|
|
43316
|
-
background-color: var(--ab-error-bg);
|
|
43317
|
-
color: var(--ab-error-text);
|
|
43416
|
+
background-color: var(--ab-error-bg, rgba(var(--tb-destructive, 220 38 38), 0.1));
|
|
43417
|
+
color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
|
|
43318
43418
|
}
|
|
43319
43419
|
|
|
43320
43420
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--warning {
|
|
43321
|
-
background-color: var(--ab-warning-bg);
|
|
43322
|
-
color: var(--ab-warning-text);
|
|
43421
|
+
background-color: var(--ab-warning-bg, rgba(var(--tb-warning, 245 158 11), 0.1));
|
|
43422
|
+
color: var(--ab-warning-text, rgb(var(--tb-warning, 245 158 11)));
|
|
43323
43423
|
}
|
|
43324
43424
|
|
|
43325
43425
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--info {
|
|
43326
|
-
background-color: var(--ab-info-bg);
|
|
43327
|
-
color: var(--ab-info-text);
|
|
43426
|
+
background-color: var(--ab-info-bg, rgba(var(--tb-info, 14 165 233), 0.1));
|
|
43427
|
+
color: var(--ab-info-text, rgb(var(--tb-info, 14 165 233)));
|
|
43328
43428
|
}
|
|
43329
43429
|
|
|
43330
43430
|
/* Form elements */
|
|
@@ -43336,7 +43436,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
43336
43436
|
}
|
|
43337
43437
|
|
|
43338
43438
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-required {
|
|
43339
|
-
color: var(--ab-error-text);
|
|
43439
|
+
color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
|
|
43340
43440
|
margin-left: 0.125rem;
|
|
43341
43441
|
}
|
|
43342
43442
|
|
|
@@ -43345,19 +43445,19 @@ var containerResponsiveThemeCss = `/*
|
|
|
43345
43445
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-textarea {
|
|
43346
43446
|
width: 100%;
|
|
43347
43447
|
padding: 0.5rem 0.75rem;
|
|
43348
|
-
border: 1px solid var(--ab-input-border);
|
|
43349
|
-
border-radius: var(--rb-block-radius);
|
|
43448
|
+
border: 1px solid var(--ab-input-border, rgb(var(--tb-border, 226 232 240)));
|
|
43449
|
+
border-radius: var(--ab-input-radius, var(--radius-control, var(--rb-block-radius, 1rem)));
|
|
43350
43450
|
background: transparent;
|
|
43351
43451
|
font-size: 0.875rem;
|
|
43352
|
-
transition: border-color var(--rb-block-transition) ease, box-shadow var(--rb-block-transition) ease;
|
|
43452
|
+
transition: border-color var(--rb-block-transition, 150ms) ease, box-shadow var(--rb-block-transition, 150ms) ease;
|
|
43353
43453
|
}
|
|
43354
43454
|
|
|
43355
43455
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-input:focus,
|
|
43356
43456
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-select:focus,
|
|
43357
43457
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-textarea:focus {
|
|
43358
43458
|
outline: none;
|
|
43359
|
-
border-color: var(--ab-card-border-selected);
|
|
43360
|
-
box-shadow: 0 0 0 3px var(--ab-input-focus-ring);
|
|
43459
|
+
border-color: var(--ab-card-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
43460
|
+
box-shadow: 0 0 0 3px var(--ab-input-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
|
|
43361
43461
|
}
|
|
43362
43462
|
|
|
43363
43463
|
/* Buttons */
|
|
@@ -43366,31 +43466,31 @@ var containerResponsiveThemeCss = `/*
|
|
|
43366
43466
|
align-items: center;
|
|
43367
43467
|
justify-content: center;
|
|
43368
43468
|
padding: 0.5rem 1.5rem;
|
|
43369
|
-
border-radius: var(--rb-block-radius);
|
|
43469
|
+
border-radius: var(--ab-button-radius, var(--rb-button-radius, var(--rb-block-radius, 1rem)));
|
|
43370
43470
|
font-size: 0.875rem;
|
|
43371
43471
|
font-weight: 500;
|
|
43372
43472
|
cursor: pointer;
|
|
43373
|
-
transition: background-color var(--rb-block-transition) ease, border-color var(--rb-block-transition) ease;
|
|
43473
|
+
transition: background-color var(--rb-block-transition, 150ms) ease, border-color var(--rb-block-transition, 150ms) ease;
|
|
43374
43474
|
}
|
|
43375
43475
|
|
|
43376
43476
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary {
|
|
43377
43477
|
flex: 1;
|
|
43378
|
-
background-color: var(--ab-btn-primary-bg);
|
|
43379
|
-
color: var(--ab-btn-primary-text);
|
|
43478
|
+
background-color: var(--ab-btn-primary-bg, rgb(var(--tb-primary, 17 24 39)));
|
|
43479
|
+
color: var(--ab-btn-primary-text, rgb(var(--tb-primaryForeground, 255 255 255)));
|
|
43380
43480
|
border: none;
|
|
43381
43481
|
}
|
|
43382
43482
|
|
|
43383
43483
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary:hover:not(:disabled) {
|
|
43384
|
-
background-color: var(--ab-btn-primary-hover);
|
|
43484
|
+
background-color: var(--ab-btn-primary-hover, rgba(var(--tb-primary, 17 24 39), 0.9));
|
|
43385
43485
|
}
|
|
43386
43486
|
|
|
43387
43487
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary {
|
|
43388
43488
|
background: transparent;
|
|
43389
|
-
border: 1px solid var(--ab-btn-secondary-border);
|
|
43489
|
+
border: 1px solid var(--ab-btn-secondary-border, rgb(var(--tb-border, 226 232 240)));
|
|
43390
43490
|
}
|
|
43391
43491
|
|
|
43392
43492
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary:hover:not(:disabled) {
|
|
43393
|
-
background-color: var(--ab-btn-secondary-hover);
|
|
43493
|
+
background-color: var(--ab-btn-secondary-hover, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
|
|
43394
43494
|
}
|
|
43395
43495
|
|
|
43396
43496
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--link {
|
|
@@ -43420,8 +43520,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
43420
43520
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-skeleton {
|
|
43421
43521
|
height: 2.5rem;
|
|
43422
43522
|
width: 100%;
|
|
43423
|
-
background-color: var(--ab-muted-bg);
|
|
43424
|
-
border-radius: var(--rb-block-radius);
|
|
43523
|
+
background-color: var(--ab-muted-bg, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
|
|
43524
|
+
border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
|
|
43425
43525
|
animation: ab-pulse 1.5s ease-in-out infinite;
|
|
43426
43526
|
}
|
|
43427
43527
|
|
|
@@ -43450,7 +43550,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
43450
43550
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-link {
|
|
43451
43551
|
display: inline;
|
|
43452
43552
|
margin-left: 0.5rem;
|
|
43453
|
-
color: rgb(var(--tb-primary));
|
|
43553
|
+
color: rgb(var(--tb-primary, 17 24 39));
|
|
43454
43554
|
background: none;
|
|
43455
43555
|
border: none;
|
|
43456
43556
|
padding: 0;
|
|
@@ -50067,6 +50167,20 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
50067
50167
|
responseKind: "json",
|
|
50068
50168
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
50069
50169
|
},
|
|
50170
|
+
createAppointmentResourceWithAccountAccess: {
|
|
50171
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
50172
|
+
method: "POST",
|
|
50173
|
+
auth: "user",
|
|
50174
|
+
responseKind: "json",
|
|
50175
|
+
errors: [
|
|
50176
|
+
"validation:invalid_input",
|
|
50177
|
+
"auth:forbidden",
|
|
50178
|
+
"billing:plan_limit_exceeded",
|
|
50179
|
+
"resource:conflict",
|
|
50180
|
+
"resource:not_found",
|
|
50181
|
+
"server:internal_error"
|
|
50182
|
+
]
|
|
50183
|
+
},
|
|
50070
50184
|
getAppointmentResource: {
|
|
50071
50185
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
50072
50186
|
method: "GET",
|
|
@@ -55910,7 +56024,7 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
55910
56024
|
}
|
|
55911
56025
|
|
|
55912
56026
|
// ../api/src/utils/isRecord.ts
|
|
55913
|
-
function
|
|
56027
|
+
function isRecord5(value) {
|
|
55914
56028
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
55915
56029
|
}
|
|
55916
56030
|
|
|
@@ -56199,7 +56313,7 @@ function sanitizeMarks(marks) {
|
|
|
56199
56313
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
56200
56314
|
return [{ type: mark.type }];
|
|
56201
56315
|
}
|
|
56202
|
-
if (mark.type === "link" &&
|
|
56316
|
+
if (mark.type === "link" && isRecord5(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
56203
56317
|
const attrs = { href: mark.attrs.href };
|
|
56204
56318
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
56205
56319
|
attrs.target = mark.attrs.target;
|
|
@@ -56214,10 +56328,10 @@ function sanitizeMarks(marks) {
|
|
|
56214
56328
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
56215
56329
|
}
|
|
56216
56330
|
function unwrapRichTextValue(value) {
|
|
56217
|
-
if (
|
|
56331
|
+
if (isRecord5(value) && isRecord5(value.doc)) {
|
|
56218
56332
|
return unwrapRichTextValue(value.doc);
|
|
56219
56333
|
}
|
|
56220
|
-
if (
|
|
56334
|
+
if (isRecord5(value) && value.type === "doc") {
|
|
56221
56335
|
return {
|
|
56222
56336
|
type: "doc",
|
|
56223
56337
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -56226,7 +56340,7 @@ function unwrapRichTextValue(value) {
|
|
|
56226
56340
|
return EMPTY_SITE_BANNER_BODY;
|
|
56227
56341
|
}
|
|
56228
56342
|
function isTipTapNodeLike(value) {
|
|
56229
|
-
return
|
|
56343
|
+
return isRecord5(value) && typeof value.type === "string";
|
|
56230
56344
|
}
|
|
56231
56345
|
function coerceTipTapNode(value) {
|
|
56232
56346
|
return {
|
|
@@ -56234,9 +56348,9 @@ function coerceTipTapNode(value) {
|
|
|
56234
56348
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
56235
56349
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
56236
56350
|
...Array.isArray(value.marks) ? {
|
|
56237
|
-
marks: value.marks.filter((mark) =>
|
|
56351
|
+
marks: value.marks.filter((mark) => isRecord5(mark) && typeof mark.type === "string").map((mark) => ({
|
|
56238
56352
|
type: mark.type,
|
|
56239
|
-
...
|
|
56353
|
+
...isRecord5(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
56240
56354
|
}))
|
|
56241
56355
|
} : {}
|
|
56242
56356
|
};
|
|
@@ -56710,6 +56824,8 @@ function renderBlockOverride({
|
|
|
56710
56824
|
themeConfig: props2.theme,
|
|
56711
56825
|
data: resolvedData,
|
|
56712
56826
|
siteId: props2.siteId,
|
|
56827
|
+
apiBaseUrl: props2.apiBaseUrl,
|
|
56828
|
+
portalToken: props2.portalToken ?? null,
|
|
56713
56829
|
supabaseUrl: props2.supabaseUrl,
|
|
56714
56830
|
imageResolveContext: runtime.imageResolveContext,
|
|
56715
56831
|
blockId: props2.blockId ?? null,
|
package/dist/server/routing.mjs
CHANGED
|
@@ -937,6 +937,20 @@ var init_endpoints = __esm({
|
|
|
937
937
|
responseKind: "json",
|
|
938
938
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
939
939
|
},
|
|
940
|
+
createAppointmentResourceWithAccountAccess: {
|
|
941
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
942
|
+
method: "POST",
|
|
943
|
+
auth: "user",
|
|
944
|
+
responseKind: "json",
|
|
945
|
+
errors: [
|
|
946
|
+
"validation:invalid_input",
|
|
947
|
+
"auth:forbidden",
|
|
948
|
+
"billing:plan_limit_exceeded",
|
|
949
|
+
"resource:conflict",
|
|
950
|
+
"resource:not_found",
|
|
951
|
+
"server:internal_error"
|
|
952
|
+
]
|
|
953
|
+
},
|
|
940
954
|
getAppointmentResource: {
|
|
941
955
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
942
956
|
method: "GET",
|
package/dist/server/server.mjs
CHANGED
|
@@ -965,6 +965,20 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
965
965
|
responseKind: "json",
|
|
966
966
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
967
967
|
},
|
|
968
|
+
createAppointmentResourceWithAccountAccess: {
|
|
969
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
970
|
+
method: "POST",
|
|
971
|
+
auth: "user",
|
|
972
|
+
responseKind: "json",
|
|
973
|
+
errors: [
|
|
974
|
+
"validation:invalid_input",
|
|
975
|
+
"auth:forbidden",
|
|
976
|
+
"billing:plan_limit_exceeded",
|
|
977
|
+
"resource:conflict",
|
|
978
|
+
"resource:not_found",
|
|
979
|
+
"server:internal_error"
|
|
980
|
+
]
|
|
981
|
+
},
|
|
968
982
|
getAppointmentResource: {
|
|
969
983
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
970
984
|
method: "GET",
|
|
@@ -6777,7 +6791,7 @@ var SimpleCache = class {
|
|
|
6777
6791
|
};
|
|
6778
6792
|
|
|
6779
6793
|
// src/version.ts
|
|
6780
|
-
var SDK_VERSION = "0.
|
|
6794
|
+
var SDK_VERSION = "0.68.0";
|
|
6781
6795
|
|
|
6782
6796
|
// src/client/error.ts
|
|
6783
6797
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|