@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
|
@@ -952,6 +952,20 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
952
952
|
responseKind: "json",
|
|
953
953
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
954
954
|
},
|
|
955
|
+
createAppointmentResourceWithAccountAccess: {
|
|
956
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
957
|
+
method: "POST",
|
|
958
|
+
auth: "user",
|
|
959
|
+
responseKind: "json",
|
|
960
|
+
errors: [
|
|
961
|
+
"validation:invalid_input",
|
|
962
|
+
"auth:forbidden",
|
|
963
|
+
"billing:plan_limit_exceeded",
|
|
964
|
+
"resource:conflict",
|
|
965
|
+
"resource:not_found",
|
|
966
|
+
"server:internal_error"
|
|
967
|
+
]
|
|
968
|
+
},
|
|
955
969
|
getAppointmentResource: {
|
|
956
970
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
957
971
|
method: "GET",
|
|
@@ -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;
|
|
@@ -49733,6 +49833,20 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49733
49833
|
responseKind: "json",
|
|
49734
49834
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
49735
49835
|
},
|
|
49836
|
+
createAppointmentResourceWithAccountAccess: {
|
|
49837
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
49838
|
+
method: "POST",
|
|
49839
|
+
auth: "user",
|
|
49840
|
+
responseKind: "json",
|
|
49841
|
+
errors: [
|
|
49842
|
+
"validation:invalid_input",
|
|
49843
|
+
"auth:forbidden",
|
|
49844
|
+
"billing:plan_limit_exceeded",
|
|
49845
|
+
"resource:conflict",
|
|
49846
|
+
"resource:not_found",
|
|
49847
|
+
"server:internal_error"
|
|
49848
|
+
]
|
|
49849
|
+
},
|
|
49736
49850
|
getAppointmentResource: {
|
|
49737
49851
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
49738
49852
|
method: "GET",
|
|
@@ -55576,7 +55690,7 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
55576
55690
|
}
|
|
55577
55691
|
|
|
55578
55692
|
// ../api/src/utils/isRecord.ts
|
|
55579
|
-
function
|
|
55693
|
+
function isRecord5(value) {
|
|
55580
55694
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
55581
55695
|
}
|
|
55582
55696
|
|
|
@@ -55865,7 +55979,7 @@ function sanitizeMarks(marks) {
|
|
|
55865
55979
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
55866
55980
|
return [{ type: mark.type }];
|
|
55867
55981
|
}
|
|
55868
|
-
if (mark.type === "link" &&
|
|
55982
|
+
if (mark.type === "link" && isRecord5(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
55869
55983
|
const attrs = { href: mark.attrs.href };
|
|
55870
55984
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
55871
55985
|
attrs.target = mark.attrs.target;
|
|
@@ -55880,10 +55994,10 @@ function sanitizeMarks(marks) {
|
|
|
55880
55994
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
55881
55995
|
}
|
|
55882
55996
|
function unwrapRichTextValue(value) {
|
|
55883
|
-
if (
|
|
55997
|
+
if (isRecord5(value) && isRecord5(value.doc)) {
|
|
55884
55998
|
return unwrapRichTextValue(value.doc);
|
|
55885
55999
|
}
|
|
55886
|
-
if (
|
|
56000
|
+
if (isRecord5(value) && value.type === "doc") {
|
|
55887
56001
|
return {
|
|
55888
56002
|
type: "doc",
|
|
55889
56003
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -55892,7 +56006,7 @@ function unwrapRichTextValue(value) {
|
|
|
55892
56006
|
return EMPTY_SITE_BANNER_BODY;
|
|
55893
56007
|
}
|
|
55894
56008
|
function isTipTapNodeLike(value) {
|
|
55895
|
-
return
|
|
56009
|
+
return isRecord5(value) && typeof value.type === "string";
|
|
55896
56010
|
}
|
|
55897
56011
|
function coerceTipTapNode(value) {
|
|
55898
56012
|
return {
|
|
@@ -55900,9 +56014,9 @@ function coerceTipTapNode(value) {
|
|
|
55900
56014
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
55901
56015
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
55902
56016
|
...Array.isArray(value.marks) ? {
|
|
55903
|
-
marks: value.marks.filter((mark) =>
|
|
56017
|
+
marks: value.marks.filter((mark) => isRecord5(mark) && typeof mark.type === "string").map((mark) => ({
|
|
55904
56018
|
type: mark.type,
|
|
55905
|
-
...
|
|
56019
|
+
...isRecord5(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
55906
56020
|
}))
|
|
55907
56021
|
} : {}
|
|
55908
56022
|
};
|
|
@@ -913,6 +913,20 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
913
913
|
responseKind: "json",
|
|
914
914
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
915
915
|
},
|
|
916
|
+
createAppointmentResourceWithAccountAccess: {
|
|
917
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
918
|
+
method: "POST",
|
|
919
|
+
auth: "user",
|
|
920
|
+
responseKind: "json",
|
|
921
|
+
errors: [
|
|
922
|
+
"validation:invalid_input",
|
|
923
|
+
"auth:forbidden",
|
|
924
|
+
"billing:plan_limit_exceeded",
|
|
925
|
+
"resource:conflict",
|
|
926
|
+
"resource:not_found",
|
|
927
|
+
"server:internal_error"
|
|
928
|
+
]
|
|
929
|
+
},
|
|
916
930
|
getAppointmentResource: {
|
|
917
931
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
918
932
|
method: "GET",
|
package/dist/server/config.mjs
CHANGED
|
@@ -958,6 +958,20 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
958
958
|
responseKind: "json",
|
|
959
959
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
960
960
|
},
|
|
961
|
+
createAppointmentResourceWithAccountAccess: {
|
|
962
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
963
|
+
method: "POST",
|
|
964
|
+
auth: "user",
|
|
965
|
+
responseKind: "json",
|
|
966
|
+
errors: [
|
|
967
|
+
"validation:invalid_input",
|
|
968
|
+
"auth:forbidden",
|
|
969
|
+
"billing:plan_limit_exceeded",
|
|
970
|
+
"resource:conflict",
|
|
971
|
+
"resource:not_found",
|
|
972
|
+
"server:internal_error"
|
|
973
|
+
]
|
|
974
|
+
},
|
|
961
975
|
getAppointmentResource: {
|
|
962
976
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
963
977
|
method: "GET",
|
package/dist/server/data.mjs
CHANGED
|
@@ -910,6 +910,20 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
910
910
|
responseKind: "json",
|
|
911
911
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
912
912
|
},
|
|
913
|
+
createAppointmentResourceWithAccountAccess: {
|
|
914
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
915
|
+
method: "POST",
|
|
916
|
+
auth: "user",
|
|
917
|
+
responseKind: "json",
|
|
918
|
+
errors: [
|
|
919
|
+
"validation:invalid_input",
|
|
920
|
+
"auth:forbidden",
|
|
921
|
+
"billing:plan_limit_exceeded",
|
|
922
|
+
"resource:conflict",
|
|
923
|
+
"resource:not_found",
|
|
924
|
+
"server:internal_error"
|
|
925
|
+
]
|
|
926
|
+
},
|
|
913
927
|
getAppointmentResource: {
|
|
914
928
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
915
929
|
method: "GET",
|
package/dist/server/index.mjs
CHANGED
|
@@ -932,6 +932,20 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
932
932
|
responseKind: "json",
|
|
933
933
|
errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
|
|
934
934
|
},
|
|
935
|
+
createAppointmentResourceWithAccountAccess: {
|
|
936
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
937
|
+
method: "POST",
|
|
938
|
+
auth: "user",
|
|
939
|
+
responseKind: "json",
|
|
940
|
+
errors: [
|
|
941
|
+
"validation:invalid_input",
|
|
942
|
+
"auth:forbidden",
|
|
943
|
+
"billing:plan_limit_exceeded",
|
|
944
|
+
"resource:conflict",
|
|
945
|
+
"resource:not_found",
|
|
946
|
+
"server:internal_error"
|
|
947
|
+
]
|
|
948
|
+
},
|
|
935
949
|
getAppointmentResource: {
|
|
936
950
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
937
951
|
method: "GET",
|
|
@@ -6744,7 +6758,7 @@ var SimpleCache = class {
|
|
|
6744
6758
|
};
|
|
6745
6759
|
|
|
6746
6760
|
// src/version.ts
|
|
6747
|
-
var SDK_VERSION = "0.
|
|
6761
|
+
var SDK_VERSION = "0.68.0";
|
|
6748
6762
|
|
|
6749
6763
|
// src/client/error.ts
|
|
6750
6764
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|