@riverbankcms/sdk 0.125.0 → 0.127.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 +3 -1
- package/dist/{PreviewEditorSidebar-BezDOtQ7.mjs → PreviewEditorSidebar-BXtfF7tp.mjs} +122 -301
- package/dist/{PreviewEditorUI-CgSqmfo2.mjs → PreviewEditorUI-Dou73Q0K.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BH-3-jSj.mjs → PreviewQueryProvider-DgFDIwvK.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-Co3AHfj0.mjs → SdkPreviewModeRuntime-B0HPXr-l.mjs} +141 -63
- package/dist/{SiteChromeCustomizeContext-BHF-KANn.mjs → SiteChromeCustomizeContext-DZiDBAYu.mjs} +5330 -5841
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1552 -202
- package/dist/_dts/api/src/common/envelope.d.ts +1 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -7
- package/dist/_dts/api/src/endpoints.d.ts +0 -7
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +42 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +11 -9
- package/dist/_dts/api/src/siteOperations.d.ts +18 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -14
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +2 -1
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +1 -0
- package/dist/_dts/blocks/src/index.d.ts +3 -2
- package/dist/_dts/blocks/src/lib/media.d.ts +267 -0
- package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +0 -13
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +15 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/mergeResolveImageUrlContexts.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
- package/dist/_dts/content-editor/src/ui/blockValidationManifestRegistry.d.ts +17 -0
- package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +4 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +322 -171
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +26 -0
- package/dist/_dts/editor-blocks/src/widgets/rich-text/imageInsert.d.ts +3 -3
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
- package/dist/_dts/media-editor/src/context.d.ts +1 -2
- package/dist/_dts/media-editor/src/index.d.ts +3 -1
- package/dist/_dts/media-editor/src/mediaSelection.d.ts +32 -0
- package/dist/_dts/media-editor/src/types.d.ts +3 -1
- package/dist/_dts/media-editor/src/useMediaSelection.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/HeaderMenuControls.d.ts +12 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +1 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +13 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +6 -60
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -13
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -100
- package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +8 -0
- package/dist/_dts/preview-next/src/client/preview/previewThemeRoles.d.ts +15 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +54 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +13 -3
- package/dist/_dts/preview-next/src/client/preview/siteChromeNavQuickControlHistory.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +6 -3
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -4
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -15
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +11 -21
- package/dist/_dts/sdk/src/cli/commands/event.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/commands/eventOccurrenceSchedule.d.ts +12 -0
- package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/content/legacyEventScheduleShapeError.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/content/localEventSchedule.d.ts +17 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -10
- package/dist/_dts/sdk/src/cli/migrations/events.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/site-commands/eventScheduleCompiler.d.ts +24 -0
- package/dist/_dts/sdk/src/client/management/http.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +3 -28
- package/dist/_dts/sdk/src/config/index.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -20
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commandContract.d.ts +33 -5
- package/dist/_dts/site-commands/src/commandDomain.d.ts +2 -2
- package/dist/_dts/site-commands/src/commands.d.ts +38 -9
- package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +28 -1
- package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +4 -4
- package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +0 -18
- package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -3
- package/dist/_dts/theme-core/src/header/containerSchema.d.ts +20 -0
- package/dist/_dts/theme-core/src/header/generateHeaderCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +14 -0
- package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +3 -0
- package/dist/_dts/theme-core/src/header/paintTargets.d.ts +25 -0
- package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +11 -0
- package/dist/_dts/theme-core/src/header/surfaceRules.d.ts +9 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/concretePalette.d.ts +20 -0
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -17
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -6
- package/dist/_dts/theme-core/src/palette/schema.d.ts +39 -0
- package/dist/_dts/theme-core/src/schema.d.ts +105 -45
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -51
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -11
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +3 -51
- package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +32 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +19 -106
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +22 -0
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/lookOptionGroups.d.ts +24 -0
- package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +1 -2
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -22
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorOptions.d.ts +21 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +5 -7
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -6
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +4 -1
- package/dist/cli/index.mjs +1583 -1601
- package/dist/cli/init-docs/content/cli-reference.md +6 -3
- package/dist/cli/init-docs/content/content-management.md +24 -13
- package/dist/client/{DiscountCodeDisclosure-CyPpekBp.mjs → DiscountCodeDisclosure-BDFRp8Y7.mjs} +1 -1
- package/dist/client/{EventCombined.client-zywit-60.mjs → EventCombined.client-DJgF1_lf.mjs} +2 -2
- package/dist/client/{EventListing.client-J2nLhkKT.mjs → EventListing.client-CnWGNjOr.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CSubXWt6.mjs → LeafletStaticMap-BISs9Bl7.mjs} +1 -1
- package/dist/client/{MagicLinkForm-DDLIfiq9.mjs → MagicLinkForm-b5E_HoG9.mjs} +1 -1
- package/dist/client/{StepIndicator-DE8EvHIp.mjs → StepIndicator-D8gVYkK-.mjs} +2 -2
- package/dist/client/{accordion-Ct5T5NiA.mjs → accordion-DFDajgDz.mjs} +1 -1
- package/dist/client/{bookingForm-DMxtLPxw.mjs → bookingForm-Bdqj9-52.mjs} +5 -6
- package/dist/client/bookings.mjs +315 -46
- package/dist/client/{carousel--FMqgvob.mjs → carousel-Cvqf-kN8.mjs} +1 -1
- package/dist/client/{cart-BKX1bWiU.mjs → cart-CuH2TJXP.mjs} +3 -3
- package/dist/client/{checkout-B_jxi4WW.mjs → checkout-CMNPpejZ.mjs} +3 -3
- package/dist/client/client.mjs +1381 -1427
- package/dist/client/{courseRegistration-DH4MlkRD.mjs → courseRegistration-DTEYWL6Z.mjs} +6 -7
- package/dist/client/{eventCalendar-BQILwAcL.mjs → eventCalendar-BW-XoxZ0.mjs} +4 -4
- package/dist/client/{eventCombined-DFFW_Vmo.mjs → eventCombined-Bpn7s0y9.mjs} +2 -2
- package/dist/client/{eventDetails-B045CTSJ.mjs → eventDetails-D2uUSTMH.mjs} +3 -3
- package/dist/client/{eventListing-BDMYNVzS.mjs → eventListing-CVr1c094.mjs} +2 -2
- package/dist/client/{eventRegistration-CQ2-BSnB.mjs → eventRegistration-Dv4AvkMw.mjs} +30 -22
- package/dist/client/{form-DJKuyZgN.mjs → form-DxdKf9fs.mjs} +1 -1
- package/dist/client/{headerSection-DeTjfiDo.mjs → headerSection-BaXI5Sro.mjs} +2 -2
- package/dist/client/hooks.mjs +851 -976
- package/dist/client/{locationMap-i2wDA8gB.mjs → locationMap-BEtW2fKz.mjs} +2 -2
- package/dist/client/{newsletterForm-DKiueauk.mjs → newsletterForm-BKKs0S4R.mjs} +1 -1
- package/dist/client/{pricing-C01J3Epx.mjs → pricing-ClkqcElA.mjs} +1 -1
- package/dist/client/{productDetail-Dfc1sZaX.mjs → productDetail-H-ru8dyy.mjs} +3 -3
- package/dist/client/{productList-BXbvXWTF.mjs → productList-Buyi5c0C.mjs} +3 -3
- package/dist/client/{propsDecoder-CIR5DQ1l.mjs → propsDecoder-BF7i6Ijg.mjs} +293 -65
- package/dist/client/rendering/client.mjs +1145 -1190
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +1257 -1298
- package/dist/client/{useDiscountCodeUi-Bcyh4508.mjs → scrollToBlock-D_7t8yWb.mjs} +18 -2
- package/dist/client/{shop-BbNwPKM-.mjs → shop-CF7SZQNX.mjs} +5 -6
- package/dist/client/{shop-commerce-XO-XMFEt.mjs → shop-commerce-DA7_Rq5p.mjs} +4 -4
- package/dist/client/{shop-commerce-store-Byh6OUGK.mjs → shop-commerce-store-BmLqW7Gh.mjs} +1 -1
- package/dist/client/{shopShared-Bbq39mwr.mjs → shopShared-WL-E1znM.mjs} +2 -2
- package/dist/client/{useEventFilters-C8OOJ3el.mjs → useEventFilters-rc8VLeLV.mjs} +2 -2
- package/dist/client/{usePolling-CyJVo9kF.mjs → usePolling-1ncrfd4S.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +0 -7
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +0 -7
- package/dist/{previewAuthStore-CJX21dGi.mjs → previewAuthStore-Dev9CdG9.mjs} +0 -7
- package/dist/{sdk-runtime-BGhyuE-E.mjs → sdk-runtime-BnrCCFJq.mjs} +2 -2
- package/dist/{separator-BFs-Kmv5.mjs → separator-CFvBx2yl.mjs} +1 -1
- package/dist/server/components.mjs +1389 -1489
- package/dist/server/config-validation.mjs +851 -976
- package/dist/server/config.mjs +851 -976
- package/dist/server/data.mjs +851 -976
- package/dist/server/index.mjs +1 -8
- package/dist/server/next.mjs +1393 -1500
- package/dist/server/page-converter.mjs +851 -976
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1346 -1446
- package/dist/server/rendering.mjs +1390 -1490
- package/dist/server/routing.mjs +939 -1041
- package/dist/server/server.mjs +852 -984
- package/dist/server/theme-bridge.mjs +322 -279
- package/dist/server/theme.mjs +277 -33
- package/package.json +1 -1
- package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +0 -8
- package/dist/_dts/theme-core/src/palette/editorState.d.ts +0 -75
- package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +0 -64
- package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +0 -81
- package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +0 -75
- package/dist/_dts/theme-core/src/palette/selection.d.ts +0 -74
- package/dist/_dts/theme-core/src/palette/sitePalettePersistence.d.ts +0 -34
- package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
package/dist/cli/index.mjs
CHANGED
|
@@ -950,7 +950,7 @@ var init_demo_runtime = __esmMin((() => {}));
|
|
|
950
950
|
var init_collections = __esmMin((() => {}));
|
|
951
951
|
//#endregion
|
|
952
952
|
//#region ../core/src/assert-never.ts
|
|
953
|
-
function assertNever$
|
|
953
|
+
function assertNever$24(value, message = "Unexpected variant") {
|
|
954
954
|
throw new Error(`${message}: ${String(value)}`);
|
|
955
955
|
}
|
|
956
956
|
var init_assert_never = __esmMin((() => {}));
|
|
@@ -1062,7 +1062,7 @@ function formatCoursePriceDisplayLabel(display, options) {
|
|
|
1062
1062
|
case "exact": return `Course (${formatCurrencyAmount(display.amount, display.currency, options)})`;
|
|
1063
1063
|
case "from": return `Course (From ${formatCurrencyAmount(display.amount, display.currency, options)})`;
|
|
1064
1064
|
case "range": return `Course (${formatCurrencyAmount(display.minAmount, display.currency, options)} - ${formatCurrencyAmount(display.maxAmount, display.currency, options)})`;
|
|
1065
|
-
default: return assertNever$
|
|
1065
|
+
default: return assertNever$24(display);
|
|
1066
1066
|
}
|
|
1067
1067
|
}
|
|
1068
1068
|
/**
|
|
@@ -1082,7 +1082,7 @@ function formatBookingPriceDisplay(display, options = {}) {
|
|
|
1082
1082
|
case "unavailable": return "Pricing unavailable";
|
|
1083
1083
|
case "external": return display.label;
|
|
1084
1084
|
case "course": return formatCoursePriceDisplayLabel(display.display, options);
|
|
1085
|
-
default: return assertNever$
|
|
1085
|
+
default: return assertNever$24(display);
|
|
1086
1086
|
}
|
|
1087
1087
|
}
|
|
1088
1088
|
/** Render an event's price directly from its pricing value. */
|
|
@@ -1161,10 +1161,10 @@ function resolveFlexibleBalanceDueAt(input) {
|
|
|
1161
1161
|
switch (input.dueDateRule.kind) {
|
|
1162
1162
|
case "relative_to_start_date": return subtractDaysFromIso(input.bookingStartAt, input.dueDateRule.daysBeforeStart);
|
|
1163
1163
|
case "fixed_calendar_date": return input.dueDateRule.dueAt;
|
|
1164
|
-
default: return assertNever$
|
|
1164
|
+
default: return assertNever$23(input.dueDateRule);
|
|
1165
1165
|
}
|
|
1166
1166
|
}
|
|
1167
|
-
function assertNever$
|
|
1167
|
+
function assertNever$23(value) {
|
|
1168
1168
|
throw new Error(`Unexpected value: ${String(value)}`);
|
|
1169
1169
|
}
|
|
1170
1170
|
var init_booking_flexible_balance = __esmMin((() => {
|
|
@@ -1178,7 +1178,7 @@ function isDepositBearingBookingInstalmentPlan(plan) {
|
|
|
1178
1178
|
case "deposit_plus_one_remainder":
|
|
1179
1179
|
case "deposit_plus_scheduled_instalments": return true;
|
|
1180
1180
|
case "equal_scheduled_instalments": return false;
|
|
1181
|
-
default: return assertNever$
|
|
1181
|
+
default: return assertNever$22(plan);
|
|
1182
1182
|
}
|
|
1183
1183
|
}
|
|
1184
1184
|
function getBookingInstalmentDepositRefundability(plan) {
|
|
@@ -1204,7 +1204,7 @@ function addIntervalPreservingMonthAnchor(isoString, intervalCount, intervalUnit
|
|
|
1204
1204
|
date.setUTCDate(date.getUTCDate() + intervalCount * 7);
|
|
1205
1205
|
return date.toISOString();
|
|
1206
1206
|
case "month": return addMonthsPreservingAnchorDay(date, intervalCount).toISOString();
|
|
1207
|
-
default: return assertNever$
|
|
1207
|
+
default: return assertNever$22(intervalUnit);
|
|
1208
1208
|
}
|
|
1209
1209
|
}
|
|
1210
1210
|
function getBookingInstalmentPlanIntervalCount(plan) {
|
|
@@ -1212,7 +1212,7 @@ function getBookingInstalmentPlanIntervalCount(plan) {
|
|
|
1212
1212
|
case "deposit_plus_one_remainder": return plan.remainderDueCount;
|
|
1213
1213
|
case "deposit_plus_scheduled_instalments":
|
|
1214
1214
|
case "equal_scheduled_instalments": return plan.intervalCount;
|
|
1215
|
-
default: return assertNever$
|
|
1215
|
+
default: return assertNever$22(plan);
|
|
1216
1216
|
}
|
|
1217
1217
|
}
|
|
1218
1218
|
function omitZeroAmountFutureRows(rows) {
|
|
@@ -1228,7 +1228,7 @@ function addMonthsPreservingAnchorDay(date, intervalCount) {
|
|
|
1228
1228
|
nextMonth.setUTCDate(Math.min(anchorDay, lastDayOfTargetMonth));
|
|
1229
1229
|
return nextMonth;
|
|
1230
1230
|
}
|
|
1231
|
-
function assertNever$
|
|
1231
|
+
function assertNever$22(value) {
|
|
1232
1232
|
throw new Error(`Unexpected value: ${String(value)}`);
|
|
1233
1233
|
}
|
|
1234
1234
|
var init_booking_instalments = __esmMin((() => {}));
|
|
@@ -1472,9 +1472,20 @@ function getLocalScheduleDate(date, timeZone) {
|
|
|
1472
1472
|
day: parts.day
|
|
1473
1473
|
};
|
|
1474
1474
|
}
|
|
1475
|
+
function getLocalScheduleTime(date, timeZone) {
|
|
1476
|
+
const parts = getZonedDateTimeParts(date, getSafeTimeZone(timeZone));
|
|
1477
|
+
return {
|
|
1478
|
+
hour: parts.hour,
|
|
1479
|
+
minute: parts.minute,
|
|
1480
|
+
second: parts.second
|
|
1481
|
+
};
|
|
1482
|
+
}
|
|
1475
1483
|
function formatLocalScheduleDate(date) {
|
|
1476
1484
|
return formatDateKey$1(date);
|
|
1477
1485
|
}
|
|
1486
|
+
function formatLocalScheduleTime(time) {
|
|
1487
|
+
return `${String(time.hour).padStart(2, "0")}:${String(time.minute).padStart(2, "0")}`;
|
|
1488
|
+
}
|
|
1478
1489
|
function addLocalScheduleDays(date, days) {
|
|
1479
1490
|
const utcDate = new Date(Date.UTC(date.year, date.month - 1, date.day + days, 12, 0, 0));
|
|
1480
1491
|
return {
|
|
@@ -8887,13 +8898,6 @@ const API_ENDPOINTS$1 = {
|
|
|
8887
8898
|
auth: "user",
|
|
8888
8899
|
responseKind: "json"
|
|
8889
8900
|
},
|
|
8890
|
-
listSiteThemePalettes: {
|
|
8891
|
-
path: "/sites/{siteId}/theme/palettes",
|
|
8892
|
-
method: "GET",
|
|
8893
|
-
auth: "user",
|
|
8894
|
-
errors: [],
|
|
8895
|
-
responseKind: "json"
|
|
8896
|
-
},
|
|
8897
8901
|
createSiteFontUploadUrl: {
|
|
8898
8902
|
path: "/sites/{siteId}/fonts/upload-url",
|
|
8899
8903
|
method: "POST",
|
|
@@ -10251,7 +10255,7 @@ function navigationAuthoringLinkToCommandLink(link) {
|
|
|
10251
10255
|
badge: link.badge,
|
|
10252
10256
|
label: link.label
|
|
10253
10257
|
};
|
|
10254
|
-
default: return assertNever$
|
|
10258
|
+
default: return assertNever$24(link);
|
|
10255
10259
|
}
|
|
10256
10260
|
}
|
|
10257
10261
|
function portalLabelsForCommand(labels) {
|
|
@@ -10294,7 +10298,7 @@ function navigationReadLinkToLocalLink(item) {
|
|
|
10294
10298
|
badge: link.badge,
|
|
10295
10299
|
label: link.label
|
|
10296
10300
|
};
|
|
10297
|
-
default: return assertNever$
|
|
10301
|
+
default: return assertNever$24(link);
|
|
10298
10302
|
}
|
|
10299
10303
|
}
|
|
10300
10304
|
function internalNavigationLinkToLocalLink(item) {
|
|
@@ -11379,7 +11383,7 @@ const linkSchema = z$1.union([
|
|
|
11379
11383
|
//#endregion
|
|
11380
11384
|
//#region ../blocks/src/system/node/schema.ts
|
|
11381
11385
|
var transformStepSchema, bindingPathSchema, bindingSchema, repeatSchema, conditionalAuthoringPresenceSchema, conditionSchema, dataScopeSchema, nodePropsSchema, nodeSchema, nodeTreeSchema, NodeSchema, NodeTreeSchema;
|
|
11382
|
-
var init_schema$
|
|
11386
|
+
var init_schema$3 = __esmMin((() => {
|
|
11383
11387
|
transformStepSchema = z$1.object({
|
|
11384
11388
|
id: z$1.string().min(1, "Transform requires an identifier"),
|
|
11385
11389
|
options: z$1.record(z$1.string(), z$1.unknown()).optional()
|
|
@@ -11584,7 +11588,7 @@ var init_validation_constants = __esmMin((() => {
|
|
|
11584
11588
|
//#endregion
|
|
11585
11589
|
//#region ../blocks/src/system/node/index.ts
|
|
11586
11590
|
var init_node = __esmMin((() => {
|
|
11587
|
-
init_schema$
|
|
11591
|
+
init_schema$3();
|
|
11588
11592
|
init_typeBasedLayout();
|
|
11589
11593
|
init_validation_constants();
|
|
11590
11594
|
}));
|
|
@@ -11735,7 +11739,7 @@ function createSdkSelectField(input) {
|
|
|
11735
11739
|
}));
|
|
11736
11740
|
}
|
|
11737
11741
|
var visibilityLevels, MEDIA_KINDS, DISPLAY_MEDIA_KINDS$2, DEFAULT_MEDIA_FIELD_KINDS, PUBLIC_FILE_FIELD_KINDS, siteOptionSources, mediaDeliverySchema, selectOptionSchema, selectSourceSchema, visibleWhenPredicateSchema, visibleWhenSchema, uiSchema, baseFieldSchema, textFieldSchema, richTextFieldSchema, inlineTextFieldSchema, mediaFieldSchema, fileFieldSchema, booleanFieldSchema, dateFieldSchema, timeFieldSchema, dateTimeFieldSchema, slugFieldSchema, urlFieldSchema, linkFieldSchema, selectFieldSchema, referenceFieldSchema, itemTypeSchema, repeaterFieldSchema$1, groupFieldSchema$1, modalFieldSchema, numberFieldSchema, tabDefinitionSchema, tabGroupFieldSchema, presetOptionSchema, presetOrCustomFieldSchema, contentTypeSelectFieldSchema, entryPickerFieldSchema, _fieldSchemaInternal, fieldSchema, slotSchema, typographyTokens$1, colorTokens$1, spacingTokens$1, radiusTokens$1, styleTokenSchema, behaviourSchema, quickFieldPrioritySchema, previewCustomizeManifestCurationSchema, blockCategoryEnum$1, blockContentSourceKinds, blockContentSourceSchema;
|
|
11738
|
-
var init_schema$
|
|
11742
|
+
var init_schema$2 = __esmMin((() => {
|
|
11739
11743
|
init_node();
|
|
11740
11744
|
init_repeaterGrid();
|
|
11741
11745
|
init_presets$2();
|
|
@@ -12322,7 +12326,7 @@ var init_schema$1 = __esmMin((() => {
|
|
|
12322
12326
|
}));
|
|
12323
12327
|
//#endregion
|
|
12324
12328
|
//#region ../blocks/src/system/inlineText.ts
|
|
12325
|
-
init_schema$
|
|
12329
|
+
init_schema$2();
|
|
12326
12330
|
const inlineTextMarkSchema = z$1.discriminatedUnion("kind", [
|
|
12327
12331
|
z$1.object({ kind: z$1.literal("strong") }),
|
|
12328
12332
|
z$1.object({ kind: z$1.literal("emphasis") }),
|
|
@@ -13712,8 +13716,7 @@ function createRichTextDocFromMarkdown(markdown) {
|
|
|
13712
13716
|
})
|
|
13713
13717
|
};
|
|
13714
13718
|
}
|
|
13715
|
-
var TipTapMarkSchema, TipTapNodeSchema, RichTextDocSchema
|
|
13716
|
-
var init_richTextSchema = __esmMin((() => {
|
|
13719
|
+
var TipTapMarkSchema, TipTapNodeSchema, RichTextDocSchema, init_richTextSchema = __esmMin((() => {
|
|
13717
13720
|
init_typeGuards();
|
|
13718
13721
|
TipTapMarkSchema = z$1.object({
|
|
13719
13722
|
type: z$1.string().min(1),
|
|
@@ -13754,18 +13757,110 @@ var init_richTextSchema = __esmMin((() => {
|
|
|
13754
13757
|
type: z$1.literal("doc"),
|
|
13755
13758
|
content: z$1.array(TipTapNodeSchema)
|
|
13756
13759
|
}).strict();
|
|
13760
|
+
})), PUBLIC_DOWNLOAD_MEDIA_TYPES, hotspotSchema$1, rotationSchema$1, rectSchema$1, aspectCropSchema$1, transformSchema$1, mediaPosterSchema, mediaBaseSchema, mediaIdentifierSchema, imageMediaSchema, videoMediaSchema, audioMediaSchema, documentMediaSchema, spreadsheetMediaSchema, archiveMediaSchema, mediaSchema$1, persistableMediaBaseSchema;
|
|
13761
|
+
var init_media$2 = __esmMin((() => {
|
|
13762
|
+
init_src$2();
|
|
13763
|
+
PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
13764
|
+
"document",
|
|
13765
|
+
"spreadsheet",
|
|
13766
|
+
"archive",
|
|
13767
|
+
"audio"
|
|
13768
|
+
];
|
|
13769
|
+
hotspotSchema$1 = z.object({
|
|
13770
|
+
x: z.number().min(0).max(1),
|
|
13771
|
+
y: z.number().min(0).max(1),
|
|
13772
|
+
radius: z.number().optional()
|
|
13773
|
+
});
|
|
13774
|
+
rotationSchema$1 = z.union([
|
|
13775
|
+
z.literal(0),
|
|
13776
|
+
z.literal(90),
|
|
13777
|
+
z.literal(180),
|
|
13778
|
+
z.literal(270)
|
|
13779
|
+
]);
|
|
13780
|
+
rectSchema$1 = z.tuple([
|
|
13781
|
+
z.number(),
|
|
13782
|
+
z.number(),
|
|
13783
|
+
z.number(),
|
|
13784
|
+
z.number()
|
|
13785
|
+
]);
|
|
13786
|
+
aspectCropSchema$1 = z.object({
|
|
13787
|
+
aspect: z.preprocess((value) => value == null ? void 0 : value, z.string().optional()),
|
|
13788
|
+
rect: z.preprocess((value) => value == null ? void 0 : value, rectSchema$1.optional()),
|
|
13789
|
+
hotspot: z.preprocess((value) => value == null ? void 0 : value, hotspotSchema$1.optional()),
|
|
13790
|
+
rotation: z.preprocess((value) => value == null ? void 0 : value, rotationSchema$1.optional())
|
|
13791
|
+
});
|
|
13792
|
+
transformSchema$1 = z.object({
|
|
13793
|
+
aspectCrops: z.preprocess((value) => {
|
|
13794
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return;
|
|
13795
|
+
return value;
|
|
13796
|
+
}, z.record(z.string(), aspectCropSchema$1.catch({}))).optional(),
|
|
13797
|
+
rect: rectSchema$1.optional(),
|
|
13798
|
+
hotspot: hotspotSchema$1.optional(),
|
|
13799
|
+
rotation: rotationSchema$1.optional()
|
|
13800
|
+
});
|
|
13801
|
+
mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
|
|
13802
|
+
tag: z.literal("storage"),
|
|
13803
|
+
assetId: z.string().optional(),
|
|
13804
|
+
storageBucket: z.string().min(1),
|
|
13805
|
+
storagePath: z.string().min(1)
|
|
13806
|
+
}), z.object({
|
|
13807
|
+
tag: z.literal("external-src"),
|
|
13808
|
+
assetId: z.string().optional(),
|
|
13809
|
+
src: z.string().url()
|
|
13810
|
+
})]);
|
|
13811
|
+
mediaBaseSchema = z.object({
|
|
13812
|
+
purpose: z.string().optional(),
|
|
13813
|
+
placeholder: z.boolean().default(true).optional(),
|
|
13814
|
+
assetId: z.string().optional(),
|
|
13815
|
+
identifier: z.string().optional(),
|
|
13816
|
+
src: z.string().optional(),
|
|
13817
|
+
alt: z.string().optional(),
|
|
13818
|
+
filename: z.string().optional(),
|
|
13819
|
+
mimeType: z.string().optional(),
|
|
13820
|
+
width: z.number().optional(),
|
|
13821
|
+
height: z.number().optional(),
|
|
13822
|
+
storageBucket: z.string().optional(),
|
|
13823
|
+
storagePath: z.string().optional(),
|
|
13824
|
+
poster: mediaPosterSchema.optional(),
|
|
13825
|
+
transform: transformSchema$1.optional()
|
|
13826
|
+
});
|
|
13827
|
+
mediaIdentifierSchema = z.string().trim().min(1).brand();
|
|
13828
|
+
imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
|
|
13829
|
+
videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
|
|
13830
|
+
audioMediaSchema = mediaBaseSchema.extend({ type: z.literal("audio") });
|
|
13831
|
+
documentMediaSchema = mediaBaseSchema.extend({ type: z.literal("document") });
|
|
13832
|
+
spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z.literal("spreadsheet") });
|
|
13833
|
+
archiveMediaSchema = mediaBaseSchema.extend({ type: z.literal("archive") });
|
|
13834
|
+
mediaSchema$1 = z.discriminatedUnion("type", [
|
|
13835
|
+
imageMediaSchema,
|
|
13836
|
+
videoMediaSchema,
|
|
13837
|
+
audioMediaSchema,
|
|
13838
|
+
documentMediaSchema,
|
|
13839
|
+
spreadsheetMediaSchema,
|
|
13840
|
+
archiveMediaSchema
|
|
13841
|
+
]);
|
|
13842
|
+
persistableMediaBaseSchema = mediaBaseSchema.extend({ identifier: mediaIdentifierSchema });
|
|
13843
|
+
z.discriminatedUnion("type", [
|
|
13844
|
+
persistableMediaBaseSchema.extend({ type: z.literal("image") }),
|
|
13845
|
+
persistableMediaBaseSchema.extend({ type: z.literal("video") }),
|
|
13846
|
+
persistableMediaBaseSchema.extend({ type: z.literal("audio") }),
|
|
13847
|
+
persistableMediaBaseSchema.extend({ type: z.literal("document") }),
|
|
13848
|
+
persistableMediaBaseSchema.extend({ type: z.literal("spreadsheet") }),
|
|
13849
|
+
persistableMediaBaseSchema.extend({ type: z.literal("archive") })
|
|
13850
|
+
]);
|
|
13757
13851
|
}));
|
|
13758
13852
|
//#endregion
|
|
13759
13853
|
//#region ../blocks/src/system/manifest/fieldValidation/index.ts
|
|
13760
13854
|
init_src$2();
|
|
13761
13855
|
init_richTextSchema();
|
|
13856
|
+
init_media$2();
|
|
13762
13857
|
const TEL_RE = /^[+()0-9\s-]{3,}$/;
|
|
13763
13858
|
const SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
|
|
13764
13859
|
const ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
13765
13860
|
const DATE_PATTERN = /^(?<year>[1-9]\d{3})-(?<month>\d{2})-(?<day>\d{2})$/;
|
|
13766
13861
|
const TIME_PATTERN = /^(?<hours>[01]\d|2[0-3]):(?<minutes>[0-5]\d)$/;
|
|
13767
13862
|
const DATETIME_PATTERN = /^(?<date>[1-9]\d{3}-\d{2}-\d{2})T(?<time>(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d)(?:\.\d+)?(?<offset>Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/;
|
|
13768
|
-
function assertNever$
|
|
13863
|
+
function assertNever$16(value) {
|
|
13769
13864
|
throw new Error(`Unhandled field validation variant: ${JSON.stringify(value)}`);
|
|
13770
13865
|
}
|
|
13771
13866
|
function validationContext(options = {}) {
|
|
@@ -13818,7 +13913,7 @@ function fieldIssueToMessage(issue) {
|
|
|
13818
13913
|
case "invalidMedia": return `${issue.label} must be a media object with an identifier`;
|
|
13819
13914
|
case "invalidLink": return `${issue.label} must be a valid link`;
|
|
13820
13915
|
case "invalidReference": return `${issue.label} must reference a valid item`;
|
|
13821
|
-
default: return assertNever$
|
|
13916
|
+
default: return assertNever$16(issue);
|
|
13822
13917
|
}
|
|
13823
13918
|
}
|
|
13824
13919
|
function pluralize(label, count) {
|
|
@@ -13938,7 +14033,7 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
13938
14033
|
case "presetOrCustom":
|
|
13939
14034
|
case "contentTypeSelect":
|
|
13940
14035
|
case "entryPicker": return makePlan("passthrough", "unknown", field, path, false, []);
|
|
13941
|
-
default: return assertNever$
|
|
14036
|
+
default: return assertNever$16(field);
|
|
13942
14037
|
}
|
|
13943
14038
|
}
|
|
13944
14039
|
function deriveFieldValidationPlans(fields, parentPath = []) {
|
|
@@ -14013,7 +14108,7 @@ function resolveSelectConstraintSource(field) {
|
|
|
14013
14108
|
kind: "runtime",
|
|
14014
14109
|
source: source.kind
|
|
14015
14110
|
};
|
|
14016
|
-
default: return assertNever$
|
|
14111
|
+
default: return assertNever$16(source);
|
|
14017
14112
|
}
|
|
14018
14113
|
}
|
|
14019
14114
|
function normalizeStoredContentValues(plans, content, options = {}) {
|
|
@@ -14032,7 +14127,7 @@ function allGroupChildPlans(plan) {
|
|
|
14032
14127
|
switch (plan.childSelection.kind) {
|
|
14033
14128
|
case "all": return plan.childSelection.fields;
|
|
14034
14129
|
case "discriminatedTabs": return plan.childSelection.tabs.flatMap((tab) => tab.fields);
|
|
14035
|
-
default: return assertNever$
|
|
14130
|
+
default: return assertNever$16(plan.childSelection);
|
|
14036
14131
|
}
|
|
14037
14132
|
}
|
|
14038
14133
|
function selectedGroupChildPlans(plan, value) {
|
|
@@ -14046,7 +14141,7 @@ function canonicalizeFieldValueForWrite(plan, value) {
|
|
|
14046
14141
|
case "media": {
|
|
14047
14142
|
if (!isPlainObject$6(value)) return value;
|
|
14048
14143
|
const canonical = { ...value };
|
|
14049
|
-
if (
|
|
14144
|
+
if (mediaIdentifierSchema.safeParse(canonical.identifier).success) deleteEnvSpecificKeys(canonical);
|
|
14050
14145
|
return canonical;
|
|
14051
14146
|
}
|
|
14052
14147
|
case "group": return canonicalizeObjectForWrite(selectedGroupChildPlans(plan, value), value);
|
|
@@ -14065,7 +14160,7 @@ function canonicalizeFieldValueForWrite(plan, value) {
|
|
|
14065
14160
|
case "link":
|
|
14066
14161
|
case "select":
|
|
14067
14162
|
case "passthrough": return value;
|
|
14068
|
-
default: return assertNever$
|
|
14163
|
+
default: return assertNever$16(plan);
|
|
14069
14164
|
}
|
|
14070
14165
|
}
|
|
14071
14166
|
function canonicalizeObjectForWrite(plans, value) {
|
|
@@ -14091,7 +14186,7 @@ function normalizeStoredFieldValueWithContext(plan, value, ctx) {
|
|
|
14091
14186
|
case "link":
|
|
14092
14187
|
case "select":
|
|
14093
14188
|
case "passthrough": return normalizeFieldValue(plan, value, ctx);
|
|
14094
|
-
default: return assertNever$
|
|
14189
|
+
default: return assertNever$16(plan);
|
|
14095
14190
|
}
|
|
14096
14191
|
}
|
|
14097
14192
|
function normalizeStoredObjectChildren(children, value, ctx) {
|
|
@@ -14128,7 +14223,7 @@ function normalizeFieldValue(plan, value, ctx) {
|
|
|
14128
14223
|
case "select":
|
|
14129
14224
|
case "passthrough": return value;
|
|
14130
14225
|
case "media": return value;
|
|
14131
|
-
default: return assertNever$
|
|
14226
|
+
default: return assertNever$16(plan);
|
|
14132
14227
|
}
|
|
14133
14228
|
}
|
|
14134
14229
|
function normalizeObjectChildren(children, value, ctx) {
|
|
@@ -14141,7 +14236,7 @@ function normalizeObjectChildren(children, value, ctx) {
|
|
|
14141
14236
|
function normalizeInlineTextFallbacks(plans, values, ctx) {
|
|
14142
14237
|
for (const plan of plans) {
|
|
14143
14238
|
if (plan.kind !== "inlineText" || !plan.plainTextFallbackPath) continue;
|
|
14144
|
-
if (!isMissingForPlan(plan, values[plan.fieldId])) continue;
|
|
14239
|
+
if (!isMissingForPlan(plan, values[plan.fieldId]) && !(ctx.allowIncomplete && !parseInlineTextFromUnknown(values[plan.fieldId]).ok)) continue;
|
|
14145
14240
|
const fallback = getAtFieldPath(values, plan.plainTextFallbackPath);
|
|
14146
14241
|
if (typeof fallback !== "string" || fallback.trim().length === 0) continue;
|
|
14147
14242
|
values[plan.fieldId] = normalizeFieldValue(plan, plainTextToInlineText(fallback), ctx);
|
|
@@ -14182,12 +14277,12 @@ function validateNormalizedFieldValue(plan, value, ctx) {
|
|
|
14182
14277
|
case "select": return validateSelectPlan(plan, value);
|
|
14183
14278
|
case "richText": return isValidRichTextDoc(value) ? [] : [issue$3(plan, "invalidRichText")];
|
|
14184
14279
|
case "inlineText": return validateInlineTextPlan(plan, value);
|
|
14185
|
-
case "media": return isPlainObject$6(value) &&
|
|
14280
|
+
case "media": return isPlainObject$6(value) && mediaIdentifierSchema.safeParse(value.identifier).success && (value.type === void 0 || typeof value.type === "string" && plan.allowedMediaTypes.includes(value.type)) ? [] : [issue$3(plan, "invalidMedia")];
|
|
14186
14281
|
case "link": return linkSchema.safeParse(value).success ? [] : [issue$3(plan, "invalidLink")];
|
|
14187
14282
|
case "repeater": return validateRepeaterPlan(plan, value, ctx);
|
|
14188
14283
|
case "group": return validateGroupPlan(plan, value, ctx);
|
|
14189
14284
|
case "passthrough": return [];
|
|
14190
|
-
default: return assertNever$
|
|
14285
|
+
default: return assertNever$16(plan);
|
|
14191
14286
|
}
|
|
14192
14287
|
}
|
|
14193
14288
|
function shouldRequireValue(plan, value, ctx) {
|
|
@@ -14229,7 +14324,7 @@ function validateStringConstraint(plan, constraint, value) {
|
|
|
14229
14324
|
case "timeFormat": return typeof value === "string" && isValidTimeString(value) ? [] : [issue$3(plan, "invalidTime")];
|
|
14230
14325
|
case "datetimeFormat": return typeof value === "string" && isValidDateTimeInstantString(value) ? [] : [issue$3(plan, "invalidDateTime")];
|
|
14231
14326
|
case "slugFormat": return typeof value === "string" && SLUG_PATTERN.test(value) ? [] : [issue$3(plan, "invalidSlug")];
|
|
14232
|
-
default: return assertNever$
|
|
14327
|
+
default: return assertNever$16(constraint);
|
|
14233
14328
|
}
|
|
14234
14329
|
}
|
|
14235
14330
|
function isValidIconPickerValue(value) {
|
|
@@ -14248,7 +14343,7 @@ function validateNumberConstraint(plan, constraint, value) {
|
|
|
14248
14343
|
case "numberType": return [];
|
|
14249
14344
|
case "numberMin": return value < constraint.minimum ? [issue$3(plan, "tooSmall", { minimum: constraint.minimum })] : [];
|
|
14250
14345
|
case "numberMax": return value > constraint.maximum ? [issue$3(plan, "tooLarge", { maximum: constraint.maximum })] : [];
|
|
14251
|
-
default: return assertNever$
|
|
14346
|
+
default: return assertNever$16(constraint);
|
|
14252
14347
|
}
|
|
14253
14348
|
}
|
|
14254
14349
|
function validateSelectPlan(plan, value) {
|
|
@@ -14270,7 +14365,7 @@ function validateRepeaterPlan(plan, value, ctx) {
|
|
|
14270
14365
|
maximum: constraint.maximum,
|
|
14271
14366
|
itemLabel: "item"
|
|
14272
14367
|
})] : [];
|
|
14273
|
-
default: return assertNever$
|
|
14368
|
+
default: return assertNever$16(constraint);
|
|
14274
14369
|
}
|
|
14275
14370
|
}), ...value.flatMap((item, index) => validateRepeaterItem(plan, item, index, ctx))];
|
|
14276
14371
|
}
|
|
@@ -14361,7 +14456,7 @@ function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
|
|
|
14361
14456
|
...plan,
|
|
14362
14457
|
path
|
|
14363
14458
|
};
|
|
14364
|
-
default: return assertNever$
|
|
14459
|
+
default: return assertNever$16(plan);
|
|
14365
14460
|
}
|
|
14366
14461
|
}
|
|
14367
14462
|
function validateInlineTextPlan(plan, value) {
|
|
@@ -14408,7 +14503,7 @@ function fieldPlanToObjectPropertyZod(plan, options = {}) {
|
|
|
14408
14503
|
switch (presence.kind) {
|
|
14409
14504
|
case "required": return schema;
|
|
14410
14505
|
case "optional": return schema.optional();
|
|
14411
|
-
default: return assertNever$
|
|
14506
|
+
default: return assertNever$16(presence);
|
|
14412
14507
|
}
|
|
14413
14508
|
}
|
|
14414
14509
|
function addFieldIssueToZodContext(zodCtx, validationIssue, rootPath) {
|
|
@@ -14478,7 +14573,7 @@ function addFieldIssueToZodContext(zodCtx, validationIssue, rootPath) {
|
|
|
14478
14573
|
message
|
|
14479
14574
|
});
|
|
14480
14575
|
return;
|
|
14481
|
-
default: assertNever$
|
|
14576
|
+
default: assertNever$16(validationIssue);
|
|
14482
14577
|
}
|
|
14483
14578
|
}
|
|
14484
14579
|
function relativeZodIssuePath(path, rootPath) {
|
|
@@ -14509,7 +14604,7 @@ function findNestedFieldValidationPlan(plan, path) {
|
|
|
14509
14604
|
case "link":
|
|
14510
14605
|
case "select":
|
|
14511
14606
|
case "passthrough": return null;
|
|
14512
|
-
default: return assertNever$
|
|
14607
|
+
default: return assertNever$16(plan);
|
|
14513
14608
|
}
|
|
14514
14609
|
}
|
|
14515
14610
|
function sameFieldPath(left, right) {
|
|
@@ -14550,7 +14645,7 @@ function validateExplicitNullForPushPlan(plan, value, ctx) {
|
|
|
14550
14645
|
case "link":
|
|
14551
14646
|
case "select":
|
|
14552
14647
|
case "passthrough": return [];
|
|
14553
|
-
default: return assertNever$
|
|
14648
|
+
default: return assertNever$16(plan);
|
|
14554
14649
|
}
|
|
14555
14650
|
}
|
|
14556
14651
|
function validateExplicitNullsForPushRepeater(plan, value, ctx) {
|
|
@@ -14742,7 +14837,7 @@ function resolveVariantKey(manifest, content) {
|
|
|
14742
14837
|
//#endregion
|
|
14743
14838
|
//#region ../blocks/src/system/manifest/index.ts
|
|
14744
14839
|
init_augmentManifest();
|
|
14745
|
-
init_schema$
|
|
14840
|
+
init_schema$2();
|
|
14746
14841
|
//#endregion
|
|
14747
14842
|
//#region ../theme-core/src/palette/utils/colorConversion.ts
|
|
14748
14843
|
function hexToRgb$1(hex) {
|
|
@@ -14955,6 +15050,18 @@ var init_accessibleSurfaces = __esmMin((() => {
|
|
|
14955
15050
|
init_onColor();
|
|
14956
15051
|
}));
|
|
14957
15052
|
//#endregion
|
|
15053
|
+
//#region ../theme-core/src/site-styles/lookOptionGroups.ts
|
|
15054
|
+
function defineLookOptionGroup(group) {
|
|
15055
|
+
defaultOption(group);
|
|
15056
|
+
return group;
|
|
15057
|
+
}
|
|
15058
|
+
function defaultOption(group) {
|
|
15059
|
+
const option = group.options.find((candidate) => candidate.id === group.defaultOptionId);
|
|
15060
|
+
if (option) return option;
|
|
15061
|
+
throw new Error(`Look option group "${group.id}" defaults to missing option "${group.defaultOptionId}".`);
|
|
15062
|
+
}
|
|
15063
|
+
var init_lookOptionGroups = __esmMin((() => {}));
|
|
15064
|
+
//#endregion
|
|
14958
15065
|
//#region ../theme-core/src/site-styles/types.ts
|
|
14959
15066
|
/**
|
|
14960
15067
|
* Defines a literal-preserving catalog while rejecting top-level extra keys on
|
|
@@ -15007,7 +15114,7 @@ function asDesignSystemTemplateId(value) {
|
|
|
15007
15114
|
function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
15008
15115
|
return asDesignBoundaryId(`boundary:${encodeURIComponent(previousBlockId)}:${encodeURIComponent(nextBlockId)}`);
|
|
15009
15116
|
}
|
|
15010
|
-
function assertNever$
|
|
15117
|
+
function assertNever$15(value, message = "Unhandled Theme V2 variant") {
|
|
15011
15118
|
throw new Error(`${message}: ${String(value)}`);
|
|
15012
15119
|
}
|
|
15013
15120
|
function brandNonEmptyString(value, label) {
|
|
@@ -15103,7 +15210,7 @@ var init_types$15 = __esmMin((() => {
|
|
|
15103
15210
|
//#region ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
15104
15211
|
function assertValidOptionGroups(preset) {
|
|
15105
15212
|
preset.optionGroups?.forEach((group) => {
|
|
15106
|
-
|
|
15213
|
+
defineLookOptionGroup(group);
|
|
15107
15214
|
});
|
|
15108
15215
|
}
|
|
15109
15216
|
function defineBlockAppearancePreset(preset) {
|
|
@@ -15111,772 +15218,655 @@ function defineBlockAppearancePreset(preset) {
|
|
|
15111
15218
|
return preset;
|
|
15112
15219
|
}
|
|
15113
15220
|
var init_appearancePresetResolution = __esmMin((() => {
|
|
15221
|
+
init_lookOptionGroups();
|
|
15114
15222
|
init_types$15();
|
|
15115
|
-
}));
|
|
15116
|
-
//#endregion
|
|
15117
|
-
//#region ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
15118
|
-
var blockAppearancePresets;
|
|
15223
|
+
})), brandScrimOptionGroups, microBannerLayoutPatches;
|
|
15119
15224
|
var init_blockAppearancePresets = __esmMin((() => {
|
|
15120
15225
|
init_appearancePresetResolution();
|
|
15121
15226
|
init_types$15();
|
|
15122
|
-
|
|
15123
|
-
|
|
15124
|
-
|
|
15125
|
-
|
|
15126
|
-
|
|
15127
|
-
|
|
15128
|
-
|
|
15129
|
-
|
|
15130
|
-
|
|
15131
|
-
|
|
15132
|
-
|
|
15133
|
-
|
|
15134
|
-
|
|
15135
|
-
|
|
15136
|
-
}
|
|
15137
|
-
|
|
15138
|
-
|
|
15139
|
-
|
|
15140
|
-
|
|
15141
|
-
|
|
15142
|
-
|
|
15143
|
-
|
|
15144
|
-
|
|
15227
|
+
brandScrimOptionGroups = [{
|
|
15228
|
+
id: "image-surface-treatment",
|
|
15229
|
+
label: "Treatment",
|
|
15230
|
+
defaultOptionId: "brand-scrim-primary",
|
|
15231
|
+
options: [{
|
|
15232
|
+
id: "brand-scrim-primary",
|
|
15233
|
+
label: "Brand scrim",
|
|
15234
|
+
designPatch: { imageSurfaceTreatment: {
|
|
15235
|
+
kind: "brand-scrim",
|
|
15236
|
+
token: "primary"
|
|
15237
|
+
} }
|
|
15238
|
+
}, {
|
|
15239
|
+
id: "neutral-scrim",
|
|
15240
|
+
label: "Neutral scrim",
|
|
15241
|
+
designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
|
|
15242
|
+
}]
|
|
15243
|
+
}];
|
|
15244
|
+
microBannerLayoutPatches = [{
|
|
15245
|
+
constraints: { layoutVariantKeys: ["micro"] },
|
|
15246
|
+
designPatch: { sectionHeight: "banner" }
|
|
15247
|
+
}];
|
|
15248
|
+
defineBlockAppearancePreset({
|
|
15249
|
+
id: "hero-immersive-image",
|
|
15250
|
+
target: "hero",
|
|
15251
|
+
label: "Immersive image hero",
|
|
15252
|
+
blockKinds: ["block.hero"],
|
|
15253
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15254
|
+
layoutPatches: [{
|
|
15255
|
+
constraints: { layoutVariantKeys: ["micro"] },
|
|
15256
|
+
designPatch: {
|
|
15257
|
+
sectionHeight: "banner",
|
|
15258
|
+
heroTypographyScale: "display"
|
|
15145
15259
|
}
|
|
15146
|
-
}
|
|
15147
|
-
|
|
15148
|
-
|
|
15149
|
-
|
|
15150
|
-
|
|
15151
|
-
|
|
15152
|
-
|
|
15153
|
-
|
|
15154
|
-
|
|
15155
|
-
|
|
15156
|
-
|
|
15157
|
-
|
|
15158
|
-
|
|
15159
|
-
|
|
15160
|
-
|
|
15161
|
-
|
|
15162
|
-
|
|
15163
|
-
|
|
15164
|
-
|
|
15165
|
-
|
|
15166
|
-
|
|
15167
|
-
|
|
15168
|
-
|
|
15169
|
-
|
|
15170
|
-
token: "primary",
|
|
15171
|
-
intensity: "balanced"
|
|
15172
|
-
} }
|
|
15173
|
-
}]
|
|
15174
|
-
}],
|
|
15175
|
-
layoutPatches: [{
|
|
15176
|
-
constraints: { layoutVariantKeys: ["micro"] },
|
|
15177
|
-
designPatch: {
|
|
15178
|
-
sectionHeight: "banner",
|
|
15179
|
-
heroTypographyScale: "editorial"
|
|
15180
|
-
}
|
|
15181
|
-
}],
|
|
15182
|
-
design: {
|
|
15183
|
-
sectionSurface: "hero-image",
|
|
15184
|
-
contentFrame: panelFrame("raised"),
|
|
15185
|
-
itemSurface: "none",
|
|
15186
|
-
sectionHeight: "immersive",
|
|
15187
|
-
heroComposition: "bottom-left",
|
|
15188
|
-
heroTypographyScale: "display",
|
|
15189
|
-
imageSurfaceTreatment: {
|
|
15260
|
+
}],
|
|
15261
|
+
design: {
|
|
15262
|
+
sectionSurface: "hero-image",
|
|
15263
|
+
contentFrame: plainFrame,
|
|
15264
|
+
itemSurface: "none",
|
|
15265
|
+
sectionHeight: "hero",
|
|
15266
|
+
heroComposition: "center",
|
|
15267
|
+
heroTypographyScale: "display",
|
|
15268
|
+
imageSurfaceTreatment: { kind: "neutral-wash" }
|
|
15269
|
+
}
|
|
15270
|
+
}), defineBlockAppearancePreset({
|
|
15271
|
+
id: "hero-bottom-left-panel",
|
|
15272
|
+
target: "hero",
|
|
15273
|
+
label: "Bottom-left panel hero",
|
|
15274
|
+
blockKinds: ["block.hero"],
|
|
15275
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15276
|
+
optionGroups: [{
|
|
15277
|
+
id: "image-surface-treatment",
|
|
15278
|
+
label: "Treatment",
|
|
15279
|
+
defaultOptionId: "neutral-scrim",
|
|
15280
|
+
options: [{
|
|
15281
|
+
id: "neutral-scrim",
|
|
15282
|
+
label: "Neutral scrim",
|
|
15283
|
+
designPatch: { imageSurfaceTreatment: {
|
|
15190
15284
|
kind: "neutral-scrim",
|
|
15191
15285
|
intensity: "balanced"
|
|
15192
|
-
}
|
|
15193
|
-
}
|
|
15194
|
-
|
|
15195
|
-
|
|
15196
|
-
|
|
15197
|
-
id: "hero-poster-image",
|
|
15198
|
-
target: "hero",
|
|
15199
|
-
label: "Poster image hero",
|
|
15200
|
-
blockKinds: ["block.hero"],
|
|
15201
|
-
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15202
|
-
layoutPatches: [{
|
|
15203
|
-
constraints: { layoutVariantKeys: ["micro"] },
|
|
15204
|
-
designPatch: {
|
|
15205
|
-
sectionHeight: "banner",
|
|
15206
|
-
heroTypographyScale: "display"
|
|
15207
|
-
}
|
|
15208
|
-
}],
|
|
15209
|
-
design: {
|
|
15210
|
-
sectionSurface: "hero-image",
|
|
15211
|
-
contentFrame: plainFrame,
|
|
15212
|
-
itemSurface: "none",
|
|
15213
|
-
sectionHeight: "immersive",
|
|
15214
|
-
heroComposition: "center",
|
|
15215
|
-
heroTypographyScale: "poster",
|
|
15216
|
-
imageSurfaceTreatment: {
|
|
15286
|
+
} }
|
|
15287
|
+
}, {
|
|
15288
|
+
id: "brand-scrim-primary",
|
|
15289
|
+
label: "Brand scrim",
|
|
15290
|
+
designPatch: { imageSurfaceTreatment: {
|
|
15217
15291
|
kind: "brand-scrim",
|
|
15218
15292
|
token: "primary",
|
|
15219
|
-
intensity: "
|
|
15220
|
-
}
|
|
15221
|
-
}
|
|
15222
|
-
}
|
|
15223
|
-
|
|
15224
|
-
|
|
15225
|
-
|
|
15226
|
-
|
|
15227
|
-
label: "Brand scrim image hero",
|
|
15228
|
-
blockKinds: ["block.hero"],
|
|
15229
|
-
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15230
|
-
optionGroups: [{
|
|
15231
|
-
id: "image-surface-treatment",
|
|
15232
|
-
label: "Treatment",
|
|
15233
|
-
selectedOptionId: "brand-scrim-primary",
|
|
15234
|
-
options: [{
|
|
15235
|
-
id: "brand-scrim-primary",
|
|
15236
|
-
label: "Brand scrim",
|
|
15237
|
-
designPatch: { imageSurfaceTreatment: {
|
|
15238
|
-
kind: "brand-scrim",
|
|
15239
|
-
token: "primary"
|
|
15240
|
-
} }
|
|
15241
|
-
}, {
|
|
15242
|
-
id: "neutral-scrim",
|
|
15243
|
-
label: "Neutral scrim",
|
|
15244
|
-
designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
|
|
15245
|
-
}]
|
|
15246
|
-
}],
|
|
15247
|
-
layoutPatches: [{
|
|
15248
|
-
constraints: { layoutVariantKeys: ["micro"] },
|
|
15249
|
-
designPatch: { sectionHeight: "banner" }
|
|
15250
|
-
}],
|
|
15251
|
-
design: {
|
|
15252
|
-
sectionSurface: "hero-image",
|
|
15253
|
-
contentFrame: plainFrame,
|
|
15254
|
-
itemSurface: "none",
|
|
15255
|
-
sectionHeight: "immersive",
|
|
15256
|
-
heroComposition: "center",
|
|
15257
|
-
heroTypographyScale: "display",
|
|
15258
|
-
imageSurfaceTreatment: {
|
|
15259
|
-
kind: "brand-scrim",
|
|
15260
|
-
token: "primary"
|
|
15261
|
-
}
|
|
15262
|
-
}
|
|
15263
|
-
}),
|
|
15264
|
-
defineBlockAppearancePreset({
|
|
15265
|
-
kind: "block-design",
|
|
15266
|
-
id: "hero-brand-scrim-fixed-frame",
|
|
15267
|
-
target: "hero",
|
|
15268
|
-
label: "Fixed-frame brand scrim hero",
|
|
15269
|
-
blockKinds: ["block.hero"],
|
|
15270
|
-
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15271
|
-
optionGroups: [{
|
|
15272
|
-
id: "image-surface-treatment",
|
|
15273
|
-
label: "Treatment",
|
|
15274
|
-
selectedOptionId: "brand-scrim-primary",
|
|
15275
|
-
options: [{
|
|
15276
|
-
id: "brand-scrim-primary",
|
|
15277
|
-
label: "Brand scrim",
|
|
15278
|
-
designPatch: { imageSurfaceTreatment: {
|
|
15279
|
-
kind: "brand-scrim",
|
|
15280
|
-
token: "primary"
|
|
15281
|
-
} }
|
|
15282
|
-
}, {
|
|
15283
|
-
id: "neutral-scrim",
|
|
15284
|
-
label: "Neutral scrim",
|
|
15285
|
-
designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
|
|
15286
|
-
}]
|
|
15287
|
-
}],
|
|
15288
|
-
layoutPatches: [{
|
|
15289
|
-
constraints: { layoutVariantKeys: ["micro"] },
|
|
15290
|
-
designPatch: { sectionHeight: "banner" }
|
|
15291
|
-
}],
|
|
15292
|
-
design: {
|
|
15293
|
-
sectionSurface: "hero-image",
|
|
15294
|
-
contentFrame: plainFrame,
|
|
15295
|
-
itemSurface: "none",
|
|
15296
|
-
sectionHeight: "immersive",
|
|
15297
|
-
heroComposition: "center",
|
|
15298
|
-
heroTypographyScale: "display",
|
|
15299
|
-
imageSurfaceTreatment: {
|
|
15300
|
-
kind: "brand-scrim",
|
|
15301
|
-
token: "primary"
|
|
15302
|
-
},
|
|
15303
|
-
imageSurfaceMotion: "fixed-frame",
|
|
15304
|
-
eyebrowTreatment: "accent-pill-bounce"
|
|
15305
|
-
}
|
|
15306
|
-
}),
|
|
15307
|
-
defineBlockAppearancePreset({
|
|
15308
|
-
kind: "block-design",
|
|
15309
|
-
id: "hero-brand-depth-expressive",
|
|
15310
|
-
target: "hero",
|
|
15311
|
-
label: "Expressive brand-depth hero",
|
|
15312
|
-
blockKinds: ["block.hero"],
|
|
15313
|
-
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15314
|
-
design: {
|
|
15315
|
-
sectionSurface: "brand-depth-band",
|
|
15316
|
-
contentFrame: plainFrame,
|
|
15317
|
-
itemSurface: "none",
|
|
15318
|
-
heroComposition: "center",
|
|
15319
|
-
heroTypographyScale: "editorial",
|
|
15320
|
-
eyebrowTreatment: "accent-pill-bounce"
|
|
15321
|
-
}
|
|
15322
|
-
}),
|
|
15323
|
-
defineBlockAppearancePreset({
|
|
15324
|
-
kind: "block-design",
|
|
15325
|
-
id: "hero-contained-intro",
|
|
15326
|
-
target: "hero",
|
|
15327
|
-
label: "Contained intro hero",
|
|
15328
|
-
blockKinds: ["block.hero"],
|
|
15329
|
-
design: {
|
|
15330
|
-
sectionSurface: "muted-band",
|
|
15331
|
-
contentFrame: panelFrame("inset"),
|
|
15332
|
-
itemSurface: "none",
|
|
15333
|
-
heroComposition: "center",
|
|
15334
|
-
heroTypographyScale: "editorial"
|
|
15335
|
-
}
|
|
15336
|
-
}),
|
|
15337
|
-
defineBlockAppearancePreset({
|
|
15338
|
-
kind: "block-design",
|
|
15339
|
-
id: "hero-split-editorial",
|
|
15340
|
-
target: "hero",
|
|
15341
|
-
label: "Editorial split hero",
|
|
15342
|
-
blockKinds: ["block.hero"],
|
|
15343
|
-
constraints: { layoutFamilies: ["split"] },
|
|
15344
|
-
design: {
|
|
15345
|
-
sectionSurface: "base",
|
|
15346
|
-
contentFrame: plainFrame,
|
|
15347
|
-
itemSurface: "none",
|
|
15348
|
-
heroTypographyScale: "editorial"
|
|
15349
|
-
}
|
|
15350
|
-
}),
|
|
15351
|
-
defineBlockAppearancePreset({
|
|
15352
|
-
kind: "block-design",
|
|
15353
|
-
id: "hero-split-brand",
|
|
15354
|
-
target: "hero",
|
|
15355
|
-
label: "Brand split hero",
|
|
15356
|
-
blockKinds: ["block.hero"],
|
|
15357
|
-
constraints: { layoutFamilies: ["split"] },
|
|
15358
|
-
design: {
|
|
15359
|
-
sectionSurface: "brand-depth-band",
|
|
15360
|
-
contentFrame: plainFrame,
|
|
15361
|
-
itemSurface: "none",
|
|
15362
|
-
heroTypographyScale: "display",
|
|
15363
|
-
eyebrowTreatment: "accent-pill-bounce"
|
|
15364
|
-
}
|
|
15365
|
-
}),
|
|
15366
|
-
defineBlockAppearancePreset({
|
|
15367
|
-
kind: "block-design",
|
|
15368
|
-
id: "hero-split-soft-panel",
|
|
15369
|
-
target: "hero",
|
|
15370
|
-
label: "Soft panel split hero",
|
|
15371
|
-
blockKinds: ["block.hero"],
|
|
15372
|
-
constraints: { layoutFamilies: ["split"] },
|
|
15373
|
-
design: {
|
|
15374
|
-
sectionSurface: "muted-band",
|
|
15375
|
-
contentFrame: panelFrame("raised"),
|
|
15376
|
-
itemSurface: "none",
|
|
15293
|
+
intensity: "balanced"
|
|
15294
|
+
} }
|
|
15295
|
+
}]
|
|
15296
|
+
}],
|
|
15297
|
+
layoutPatches: [{
|
|
15298
|
+
constraints: { layoutVariantKeys: ["micro"] },
|
|
15299
|
+
designPatch: {
|
|
15300
|
+
sectionHeight: "banner",
|
|
15377
15301
|
heroTypographyScale: "editorial"
|
|
15378
15302
|
}
|
|
15379
|
-
}
|
|
15380
|
-
|
|
15381
|
-
|
|
15382
|
-
|
|
15383
|
-
|
|
15384
|
-
|
|
15385
|
-
|
|
15386
|
-
|
|
15387
|
-
|
|
15388
|
-
|
|
15389
|
-
|
|
15390
|
-
|
|
15303
|
+
}],
|
|
15304
|
+
design: {
|
|
15305
|
+
sectionSurface: "hero-image",
|
|
15306
|
+
contentFrame: panelFrame("raised"),
|
|
15307
|
+
itemSurface: "none",
|
|
15308
|
+
sectionHeight: "immersive",
|
|
15309
|
+
heroComposition: "bottom-left",
|
|
15310
|
+
heroTypographyScale: "display",
|
|
15311
|
+
imageSurfaceTreatment: {
|
|
15312
|
+
kind: "neutral-scrim",
|
|
15313
|
+
intensity: "balanced"
|
|
15314
|
+
}
|
|
15315
|
+
}
|
|
15316
|
+
}), defineBlockAppearancePreset({
|
|
15317
|
+
id: "hero-poster-image",
|
|
15318
|
+
target: "hero",
|
|
15319
|
+
label: "Poster image hero",
|
|
15320
|
+
blockKinds: ["block.hero"],
|
|
15321
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15322
|
+
layoutPatches: [{
|
|
15323
|
+
constraints: { layoutVariantKeys: ["micro"] },
|
|
15324
|
+
designPatch: {
|
|
15325
|
+
sectionHeight: "banner",
|
|
15391
15326
|
heroTypographyScale: "display"
|
|
15392
15327
|
}
|
|
15393
|
-
}
|
|
15394
|
-
|
|
15395
|
-
|
|
15396
|
-
|
|
15397
|
-
|
|
15398
|
-
|
|
15399
|
-
|
|
15400
|
-
|
|
15401
|
-
|
|
15402
|
-
|
|
15403
|
-
|
|
15404
|
-
|
|
15405
|
-
|
|
15406
|
-
|
|
15407
|
-
|
|
15408
|
-
|
|
15409
|
-
|
|
15410
|
-
|
|
15411
|
-
|
|
15412
|
-
|
|
15413
|
-
|
|
15414
|
-
|
|
15415
|
-
|
|
15416
|
-
|
|
15417
|
-
|
|
15418
|
-
|
|
15419
|
-
|
|
15420
|
-
|
|
15421
|
-
|
|
15422
|
-
|
|
15423
|
-
|
|
15424
|
-
|
|
15425
|
-
|
|
15426
|
-
|
|
15427
|
-
|
|
15428
|
-
|
|
15429
|
-
|
|
15430
|
-
|
|
15431
|
-
|
|
15432
|
-
|
|
15433
|
-
|
|
15434
|
-
|
|
15435
|
-
|
|
15436
|
-
|
|
15437
|
-
|
|
15438
|
-
|
|
15439
|
-
|
|
15440
|
-
|
|
15441
|
-
|
|
15442
|
-
|
|
15443
|
-
|
|
15444
|
-
|
|
15445
|
-
|
|
15446
|
-
|
|
15447
|
-
|
|
15448
|
-
|
|
15449
|
-
|
|
15450
|
-
|
|
15451
|
-
|
|
15452
|
-
|
|
15453
|
-
|
|
15454
|
-
|
|
15455
|
-
|
|
15456
|
-
|
|
15457
|
-
|
|
15458
|
-
|
|
15459
|
-
|
|
15460
|
-
|
|
15461
|
-
|
|
15462
|
-
|
|
15463
|
-
|
|
15464
|
-
|
|
15465
|
-
|
|
15466
|
-
|
|
15467
|
-
|
|
15468
|
-
|
|
15469
|
-
|
|
15470
|
-
|
|
15471
|
-
|
|
15472
|
-
|
|
15473
|
-
|
|
15474
|
-
|
|
15475
|
-
|
|
15476
|
-
|
|
15477
|
-
|
|
15478
|
-
|
|
15479
|
-
|
|
15480
|
-
|
|
15481
|
-
|
|
15482
|
-
|
|
15483
|
-
|
|
15484
|
-
|
|
15485
|
-
|
|
15486
|
-
|
|
15487
|
-
|
|
15488
|
-
|
|
15489
|
-
|
|
15490
|
-
|
|
15491
|
-
|
|
15492
|
-
|
|
15493
|
-
|
|
15494
|
-
|
|
15495
|
-
|
|
15496
|
-
|
|
15497
|
-
|
|
15498
|
-
|
|
15499
|
-
|
|
15500
|
-
|
|
15501
|
-
|
|
15502
|
-
|
|
15503
|
-
|
|
15504
|
-
|
|
15505
|
-
|
|
15506
|
-
|
|
15507
|
-
|
|
15508
|
-
|
|
15509
|
-
|
|
15510
|
-
|
|
15511
|
-
|
|
15512
|
-
|
|
15513
|
-
|
|
15514
|
-
|
|
15515
|
-
|
|
15516
|
-
|
|
15517
|
-
|
|
15518
|
-
|
|
15519
|
-
|
|
15520
|
-
|
|
15521
|
-
|
|
15522
|
-
|
|
15523
|
-
|
|
15524
|
-
|
|
15525
|
-
|
|
15526
|
-
|
|
15527
|
-
|
|
15528
|
-
|
|
15529
|
-
|
|
15530
|
-
|
|
15531
|
-
|
|
15532
|
-
|
|
15533
|
-
|
|
15534
|
-
|
|
15535
|
-
|
|
15536
|
-
|
|
15537
|
-
}
|
|
15538
|
-
}
|
|
15539
|
-
|
|
15540
|
-
|
|
15541
|
-
|
|
15542
|
-
|
|
15543
|
-
|
|
15544
|
-
|
|
15545
|
-
|
|
15546
|
-
|
|
15547
|
-
|
|
15548
|
-
|
|
15549
|
-
|
|
15550
|
-
|
|
15551
|
-
|
|
15552
|
-
|
|
15553
|
-
|
|
15554
|
-
|
|
15555
|
-
|
|
15556
|
-
|
|
15557
|
-
|
|
15558
|
-
|
|
15559
|
-
|
|
15560
|
-
|
|
15561
|
-
|
|
15562
|
-
|
|
15563
|
-
|
|
15564
|
-
|
|
15565
|
-
|
|
15566
|
-
|
|
15567
|
-
|
|
15568
|
-
|
|
15569
|
-
|
|
15570
|
-
|
|
15571
|
-
|
|
15572
|
-
|
|
15573
|
-
|
|
15574
|
-
|
|
15575
|
-
|
|
15576
|
-
|
|
15577
|
-
|
|
15578
|
-
|
|
15579
|
-
|
|
15580
|
-
|
|
15581
|
-
|
|
15582
|
-
|
|
15583
|
-
|
|
15584
|
-
|
|
15585
|
-
|
|
15586
|
-
|
|
15587
|
-
|
|
15588
|
-
|
|
15589
|
-
|
|
15590
|
-
|
|
15591
|
-
|
|
15592
|
-
|
|
15593
|
-
|
|
15594
|
-
|
|
15595
|
-
|
|
15596
|
-
|
|
15597
|
-
|
|
15598
|
-
|
|
15599
|
-
|
|
15600
|
-
|
|
15601
|
-
|
|
15602
|
-
|
|
15603
|
-
|
|
15604
|
-
|
|
15605
|
-
|
|
15606
|
-
|
|
15607
|
-
|
|
15608
|
-
|
|
15609
|
-
|
|
15610
|
-
|
|
15611
|
-
|
|
15612
|
-
|
|
15613
|
-
|
|
15614
|
-
|
|
15615
|
-
|
|
15616
|
-
|
|
15617
|
-
|
|
15618
|
-
|
|
15619
|
-
|
|
15620
|
-
|
|
15621
|
-
|
|
15622
|
-
|
|
15623
|
-
|
|
15624
|
-
|
|
15625
|
-
|
|
15626
|
-
|
|
15627
|
-
|
|
15628
|
-
|
|
15629
|
-
|
|
15630
|
-
|
|
15631
|
-
|
|
15632
|
-
|
|
15633
|
-
|
|
15634
|
-
|
|
15635
|
-
|
|
15636
|
-
|
|
15637
|
-
|
|
15638
|
-
|
|
15639
|
-
|
|
15640
|
-
|
|
15641
|
-
|
|
15642
|
-
|
|
15643
|
-
|
|
15644
|
-
|
|
15645
|
-
|
|
15646
|
-
|
|
15647
|
-
|
|
15648
|
-
|
|
15649
|
-
|
|
15650
|
-
|
|
15651
|
-
|
|
15652
|
-
|
|
15653
|
-
|
|
15654
|
-
|
|
15655
|
-
|
|
15656
|
-
|
|
15657
|
-
|
|
15658
|
-
|
|
15659
|
-
|
|
15660
|
-
|
|
15661
|
-
|
|
15662
|
-
|
|
15663
|
-
|
|
15664
|
-
|
|
15665
|
-
|
|
15666
|
-
|
|
15667
|
-
|
|
15668
|
-
|
|
15669
|
-
|
|
15670
|
-
|
|
15671
|
-
|
|
15672
|
-
|
|
15673
|
-
|
|
15674
|
-
|
|
15675
|
-
|
|
15676
|
-
|
|
15677
|
-
|
|
15678
|
-
|
|
15679
|
-
|
|
15680
|
-
|
|
15681
|
-
|
|
15682
|
-
|
|
15683
|
-
|
|
15684
|
-
|
|
15685
|
-
|
|
15686
|
-
}
|
|
15687
|
-
|
|
15688
|
-
|
|
15689
|
-
|
|
15690
|
-
|
|
15691
|
-
|
|
15692
|
-
|
|
15693
|
-
|
|
15694
|
-
|
|
15695
|
-
|
|
15696
|
-
|
|
15697
|
-
|
|
15698
|
-
|
|
15699
|
-
|
|
15700
|
-
|
|
15701
|
-
|
|
15702
|
-
|
|
15703
|
-
|
|
15704
|
-
|
|
15705
|
-
|
|
15706
|
-
|
|
15707
|
-
|
|
15708
|
-
|
|
15709
|
-
|
|
15710
|
-
|
|
15711
|
-
|
|
15712
|
-
|
|
15713
|
-
|
|
15714
|
-
|
|
15715
|
-
|
|
15716
|
-
|
|
15717
|
-
|
|
15718
|
-
|
|
15719
|
-
|
|
15720
|
-
|
|
15721
|
-
|
|
15722
|
-
|
|
15723
|
-
|
|
15724
|
-
|
|
15725
|
-
|
|
15726
|
-
|
|
15727
|
-
|
|
15728
|
-
|
|
15729
|
-
|
|
15730
|
-
|
|
15731
|
-
|
|
15732
|
-
|
|
15733
|
-
|
|
15734
|
-
|
|
15735
|
-
|
|
15736
|
-
|
|
15737
|
-
|
|
15738
|
-
|
|
15739
|
-
|
|
15740
|
-
|
|
15741
|
-
|
|
15742
|
-
|
|
15743
|
-
|
|
15744
|
-
|
|
15745
|
-
|
|
15746
|
-
|
|
15747
|
-
|
|
15748
|
-
|
|
15749
|
-
|
|
15750
|
-
|
|
15751
|
-
|
|
15752
|
-
|
|
15753
|
-
|
|
15754
|
-
|
|
15755
|
-
|
|
15756
|
-
|
|
15757
|
-
|
|
15758
|
-
|
|
15759
|
-
|
|
15760
|
-
|
|
15761
|
-
|
|
15762
|
-
|
|
15763
|
-
|
|
15764
|
-
|
|
15765
|
-
|
|
15766
|
-
|
|
15767
|
-
|
|
15768
|
-
|
|
15769
|
-
|
|
15770
|
-
|
|
15771
|
-
|
|
15772
|
-
|
|
15773
|
-
|
|
15774
|
-
|
|
15775
|
-
|
|
15776
|
-
|
|
15777
|
-
|
|
15778
|
-
|
|
15779
|
-
|
|
15780
|
-
|
|
15781
|
-
|
|
15782
|
-
|
|
15783
|
-
|
|
15784
|
-
|
|
15785
|
-
|
|
15786
|
-
|
|
15787
|
-
|
|
15788
|
-
|
|
15789
|
-
|
|
15790
|
-
|
|
15791
|
-
|
|
15792
|
-
|
|
15793
|
-
|
|
15794
|
-
|
|
15795
|
-
|
|
15796
|
-
|
|
15797
|
-
|
|
15798
|
-
|
|
15799
|
-
|
|
15800
|
-
|
|
15801
|
-
|
|
15802
|
-
|
|
15803
|
-
|
|
15804
|
-
|
|
15805
|
-
|
|
15806
|
-
|
|
15807
|
-
|
|
15808
|
-
|
|
15809
|
-
|
|
15810
|
-
|
|
15811
|
-
|
|
15812
|
-
}
|
|
15813
|
-
|
|
15814
|
-
|
|
15815
|
-
|
|
15816
|
-
|
|
15817
|
-
|
|
15818
|
-
|
|
15819
|
-
|
|
15820
|
-
|
|
15821
|
-
|
|
15822
|
-
|
|
15823
|
-
|
|
15824
|
-
|
|
15825
|
-
|
|
15826
|
-
|
|
15827
|
-
|
|
15828
|
-
|
|
15829
|
-
|
|
15830
|
-
|
|
15831
|
-
|
|
15832
|
-
|
|
15833
|
-
|
|
15834
|
-
|
|
15835
|
-
|
|
15836
|
-
|
|
15837
|
-
|
|
15838
|
-
|
|
15839
|
-
|
|
15840
|
-
|
|
15841
|
-
|
|
15842
|
-
|
|
15843
|
-
|
|
15844
|
-
|
|
15845
|
-
|
|
15846
|
-
|
|
15847
|
-
|
|
15848
|
-
|
|
15849
|
-
|
|
15850
|
-
|
|
15851
|
-
|
|
15852
|
-
|
|
15853
|
-
|
|
15854
|
-
|
|
15855
|
-
|
|
15856
|
-
|
|
15857
|
-
|
|
15858
|
-
|
|
15859
|
-
|
|
15860
|
-
|
|
15861
|
-
|
|
15862
|
-
|
|
15863
|
-
|
|
15864
|
-
|
|
15865
|
-
|
|
15866
|
-
|
|
15867
|
-
|
|
15868
|
-
|
|
15869
|
-
|
|
15870
|
-
|
|
15871
|
-
|
|
15872
|
-
|
|
15873
|
-
|
|
15874
|
-
|
|
15875
|
-
|
|
15328
|
+
}],
|
|
15329
|
+
design: {
|
|
15330
|
+
sectionSurface: "hero-image",
|
|
15331
|
+
contentFrame: plainFrame,
|
|
15332
|
+
itemSurface: "none",
|
|
15333
|
+
sectionHeight: "immersive",
|
|
15334
|
+
heroComposition: "center",
|
|
15335
|
+
heroTypographyScale: "poster",
|
|
15336
|
+
imageSurfaceTreatment: {
|
|
15337
|
+
kind: "brand-scrim",
|
|
15338
|
+
token: "primary",
|
|
15339
|
+
intensity: "strong"
|
|
15340
|
+
}
|
|
15341
|
+
}
|
|
15342
|
+
}), defineBlockAppearancePreset({
|
|
15343
|
+
id: "hero-brand-scrim",
|
|
15344
|
+
target: "hero",
|
|
15345
|
+
label: "Brand scrim image hero",
|
|
15346
|
+
blockKinds: ["block.hero"],
|
|
15347
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15348
|
+
optionGroups: brandScrimOptionGroups,
|
|
15349
|
+
layoutPatches: microBannerLayoutPatches,
|
|
15350
|
+
design: {
|
|
15351
|
+
sectionSurface: "hero-image",
|
|
15352
|
+
contentFrame: plainFrame,
|
|
15353
|
+
itemSurface: "none",
|
|
15354
|
+
sectionHeight: "immersive",
|
|
15355
|
+
heroComposition: "center",
|
|
15356
|
+
heroTypographyScale: "display",
|
|
15357
|
+
imageSurfaceTreatment: {
|
|
15358
|
+
kind: "brand-scrim",
|
|
15359
|
+
token: "primary"
|
|
15360
|
+
}
|
|
15361
|
+
}
|
|
15362
|
+
}), defineBlockAppearancePreset({
|
|
15363
|
+
id: "hero-brand-scrim-fixed-frame",
|
|
15364
|
+
target: "hero",
|
|
15365
|
+
label: "Fixed-frame brand scrim hero",
|
|
15366
|
+
blockKinds: ["block.hero"],
|
|
15367
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15368
|
+
optionGroups: brandScrimOptionGroups,
|
|
15369
|
+
layoutPatches: microBannerLayoutPatches,
|
|
15370
|
+
design: {
|
|
15371
|
+
sectionSurface: "hero-image",
|
|
15372
|
+
contentFrame: plainFrame,
|
|
15373
|
+
itemSurface: "none",
|
|
15374
|
+
sectionHeight: "immersive",
|
|
15375
|
+
heroComposition: "center",
|
|
15376
|
+
heroTypographyScale: "display",
|
|
15377
|
+
imageSurfaceTreatment: {
|
|
15378
|
+
kind: "brand-scrim",
|
|
15379
|
+
token: "primary"
|
|
15380
|
+
},
|
|
15381
|
+
imageSurfaceMotion: "fixed-frame",
|
|
15382
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
15383
|
+
}
|
|
15384
|
+
}), defineBlockAppearancePreset({
|
|
15385
|
+
id: "hero-brand-depth-expressive",
|
|
15386
|
+
target: "hero",
|
|
15387
|
+
label: "Expressive brand-depth hero",
|
|
15388
|
+
blockKinds: ["block.hero"],
|
|
15389
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
15390
|
+
design: {
|
|
15391
|
+
sectionSurface: "brand-depth-band",
|
|
15392
|
+
contentFrame: plainFrame,
|
|
15393
|
+
itemSurface: "none",
|
|
15394
|
+
heroComposition: "center",
|
|
15395
|
+
heroTypographyScale: "editorial",
|
|
15396
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
15397
|
+
}
|
|
15398
|
+
}), defineBlockAppearancePreset({
|
|
15399
|
+
id: "hero-contained-intro",
|
|
15400
|
+
target: "hero",
|
|
15401
|
+
label: "Contained intro hero",
|
|
15402
|
+
blockKinds: ["block.hero"],
|
|
15403
|
+
design: {
|
|
15404
|
+
sectionSurface: "muted-band",
|
|
15405
|
+
contentFrame: panelFrame("inset"),
|
|
15406
|
+
itemSurface: "none",
|
|
15407
|
+
heroComposition: "center",
|
|
15408
|
+
heroTypographyScale: "editorial"
|
|
15409
|
+
}
|
|
15410
|
+
}), defineBlockAppearancePreset({
|
|
15411
|
+
id: "hero-split-editorial",
|
|
15412
|
+
target: "hero",
|
|
15413
|
+
label: "Editorial split hero",
|
|
15414
|
+
blockKinds: ["block.hero"],
|
|
15415
|
+
constraints: { layoutFamilies: ["split"] },
|
|
15416
|
+
design: {
|
|
15417
|
+
sectionSurface: "base",
|
|
15418
|
+
contentFrame: plainFrame,
|
|
15419
|
+
itemSurface: "none",
|
|
15420
|
+
heroTypographyScale: "editorial"
|
|
15421
|
+
}
|
|
15422
|
+
}), defineBlockAppearancePreset({
|
|
15423
|
+
id: "hero-split-brand",
|
|
15424
|
+
target: "hero",
|
|
15425
|
+
label: "Brand split hero",
|
|
15426
|
+
blockKinds: ["block.hero"],
|
|
15427
|
+
constraints: { layoutFamilies: ["split"] },
|
|
15428
|
+
design: {
|
|
15429
|
+
sectionSurface: "brand-depth-band",
|
|
15430
|
+
contentFrame: plainFrame,
|
|
15431
|
+
itemSurface: "none",
|
|
15432
|
+
heroTypographyScale: "display",
|
|
15433
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
15434
|
+
}
|
|
15435
|
+
}), defineBlockAppearancePreset({
|
|
15436
|
+
id: "hero-split-soft-panel",
|
|
15437
|
+
target: "hero",
|
|
15438
|
+
label: "Soft panel split hero",
|
|
15439
|
+
blockKinds: ["block.hero"],
|
|
15440
|
+
constraints: { layoutFamilies: ["split"] },
|
|
15441
|
+
design: {
|
|
15442
|
+
sectionSurface: "muted-band",
|
|
15443
|
+
contentFrame: panelFrame("raised"),
|
|
15444
|
+
itemSurface: "none",
|
|
15445
|
+
heroTypographyScale: "editorial"
|
|
15446
|
+
}
|
|
15447
|
+
}), defineBlockAppearancePreset({
|
|
15448
|
+
id: "hero-split-accent",
|
|
15449
|
+
target: "hero",
|
|
15450
|
+
label: "Accent split hero",
|
|
15451
|
+
blockKinds: ["block.hero"],
|
|
15452
|
+
constraints: { layoutFamilies: ["split"] },
|
|
15453
|
+
design: {
|
|
15454
|
+
sectionSurface: "accent-band",
|
|
15455
|
+
contentFrame: panelFrame("raised"),
|
|
15456
|
+
itemSurface: "none",
|
|
15457
|
+
heroTypographyScale: "display"
|
|
15458
|
+
}
|
|
15459
|
+
}), defineBlockAppearancePreset({
|
|
15460
|
+
id: "intro-editorial-statement",
|
|
15461
|
+
target: "intro",
|
|
15462
|
+
label: "Editorial intro statement",
|
|
15463
|
+
blockKinds: ["block.intro"],
|
|
15464
|
+
constraints: { layoutVariantKeys: ["centered-copy", "statement-copy"] },
|
|
15465
|
+
design: {
|
|
15466
|
+
sectionSurface: "base",
|
|
15467
|
+
contentFrame: plainFrame,
|
|
15468
|
+
itemSurface: "none",
|
|
15469
|
+
composition: {
|
|
15470
|
+
kind: "intro",
|
|
15471
|
+
treatment: "editorial-statement"
|
|
15472
|
+
}
|
|
15473
|
+
}
|
|
15474
|
+
}), defineBlockAppearancePreset({
|
|
15475
|
+
id: "intro-portrait-bio",
|
|
15476
|
+
target: "intro",
|
|
15477
|
+
label: "Portrait and bio",
|
|
15478
|
+
blockKinds: ["block.intro"],
|
|
15479
|
+
constraints: { layoutVariantKeys: ["media-copy"] },
|
|
15480
|
+
design: {
|
|
15481
|
+
sectionSurface: "base",
|
|
15482
|
+
contentFrame: plainFrame,
|
|
15483
|
+
itemSurface: "none",
|
|
15484
|
+
composition: {
|
|
15485
|
+
kind: "intro",
|
|
15486
|
+
treatment: "portrait-bio"
|
|
15487
|
+
}
|
|
15488
|
+
}
|
|
15489
|
+
}), defineBlockAppearancePreset({
|
|
15490
|
+
id: "offerings-preview-default-cards",
|
|
15491
|
+
target: "offerings",
|
|
15492
|
+
label: "Default offering cards",
|
|
15493
|
+
blockKinds: ["block.offerings-preview"],
|
|
15494
|
+
design: {
|
|
15495
|
+
sectionSurface: "base",
|
|
15496
|
+
contentFrame: plainFrame,
|
|
15497
|
+
itemSurface: "default"
|
|
15498
|
+
}
|
|
15499
|
+
}), defineBlockAppearancePreset({
|
|
15500
|
+
id: "offerings-preview-secondary-cards",
|
|
15501
|
+
target: "offerings",
|
|
15502
|
+
label: "Secondary offering cards",
|
|
15503
|
+
blockKinds: ["block.offerings-preview"],
|
|
15504
|
+
design: {
|
|
15505
|
+
sectionSurface: "muted-band",
|
|
15506
|
+
contentFrame: plainFrame,
|
|
15507
|
+
itemSurface: "inset"
|
|
15508
|
+
}
|
|
15509
|
+
}), defineBlockAppearancePreset({
|
|
15510
|
+
id: "offerings-preview-non-carded",
|
|
15511
|
+
target: "offerings",
|
|
15512
|
+
label: "Non-carded offerings",
|
|
15513
|
+
blockKinds: ["block.offerings-preview"],
|
|
15514
|
+
design: {
|
|
15515
|
+
sectionSurface: "muted-band",
|
|
15516
|
+
contentFrame: plainFrame,
|
|
15517
|
+
itemSurface: "editorial"
|
|
15518
|
+
}
|
|
15519
|
+
}), defineBlockAppearancePreset({
|
|
15520
|
+
id: "offerings-preview-paired-feature-cards",
|
|
15521
|
+
target: "offerings",
|
|
15522
|
+
label: "Paired feature cards",
|
|
15523
|
+
blockKinds: ["block.offerings-preview"],
|
|
15524
|
+
constraints: { layoutVariantKeys: ["cards"] },
|
|
15525
|
+
design: {
|
|
15526
|
+
sectionSurface: "base",
|
|
15527
|
+
contentFrame: plainFrame,
|
|
15528
|
+
itemSurface: "none"
|
|
15529
|
+
}
|
|
15530
|
+
}), defineBlockAppearancePreset({
|
|
15531
|
+
id: "offerings-preview-open-editorial-columns",
|
|
15532
|
+
target: "offerings",
|
|
15533
|
+
label: "Open editorial columns",
|
|
15534
|
+
blockKinds: ["block.offerings-preview"],
|
|
15535
|
+
constraints: { layoutVariantKeys: ["cards"] },
|
|
15536
|
+
design: {
|
|
15537
|
+
sectionSurface: "base",
|
|
15538
|
+
contentFrame: plainFrame,
|
|
15539
|
+
itemSurface: "none"
|
|
15540
|
+
}
|
|
15541
|
+
}), defineBlockAppearancePreset({
|
|
15542
|
+
id: "offerings-preview-joined-programme-panel",
|
|
15543
|
+
target: "offerings",
|
|
15544
|
+
label: "Joined programme panel",
|
|
15545
|
+
blockKinds: ["block.offerings-preview"],
|
|
15546
|
+
constraints: { layoutVariantKeys: ["cards"] },
|
|
15547
|
+
design: {
|
|
15548
|
+
sectionSurface: "base",
|
|
15549
|
+
contentFrame: plainFrame,
|
|
15550
|
+
itemSurface: "none"
|
|
15551
|
+
}
|
|
15552
|
+
}), defineBlockAppearancePreset({
|
|
15553
|
+
id: "feature-cards-raised-rule",
|
|
15554
|
+
target: "feature-cards",
|
|
15555
|
+
label: "Raised cards with rule",
|
|
15556
|
+
blockKinds: ["block.feature-cards"],
|
|
15557
|
+
design: {
|
|
15558
|
+
sectionSurface: "base",
|
|
15559
|
+
contentFrame: plainFrame,
|
|
15560
|
+
itemSurface: "raised"
|
|
15561
|
+
}
|
|
15562
|
+
}), defineBlockAppearancePreset({
|
|
15563
|
+
id: "feature-cards-bold-colors",
|
|
15564
|
+
target: "feature-cards",
|
|
15565
|
+
label: "Bold colour-blocked cards",
|
|
15566
|
+
blockKinds: ["block.feature-cards"],
|
|
15567
|
+
design: {
|
|
15568
|
+
sectionSurface: "base",
|
|
15569
|
+
contentFrame: plainFrame,
|
|
15570
|
+
itemSurface: "color-blocked"
|
|
15571
|
+
}
|
|
15572
|
+
}), defineBlockAppearancePreset({
|
|
15573
|
+
id: "feature-cards-editorial-columns",
|
|
15574
|
+
target: "feature-cards",
|
|
15575
|
+
label: "Editorial open columns",
|
|
15576
|
+
blockKinds: ["block.feature-cards"],
|
|
15577
|
+
design: {
|
|
15578
|
+
sectionSurface: "base",
|
|
15579
|
+
contentFrame: plainFrame,
|
|
15580
|
+
itemSurface: "editorial"
|
|
15581
|
+
}
|
|
15582
|
+
}), defineBlockAppearancePreset({
|
|
15583
|
+
id: "feature-cards-asymmetric-emphasis",
|
|
15584
|
+
target: "feature-cards",
|
|
15585
|
+
label: "Asymmetric emphasis pair",
|
|
15586
|
+
blockKinds: ["block.feature-cards"],
|
|
15587
|
+
constraints: { layoutFamilies: ["grid"] },
|
|
15588
|
+
design: {
|
|
15589
|
+
sectionSurface: "base",
|
|
15590
|
+
contentFrame: plainFrame,
|
|
15591
|
+
itemSurface: "none",
|
|
15592
|
+
composition: {
|
|
15593
|
+
kind: "feature-cards",
|
|
15594
|
+
treatment: "asymmetric-emphasis"
|
|
15595
|
+
}
|
|
15596
|
+
}
|
|
15597
|
+
}), defineBlockAppearancePreset({
|
|
15598
|
+
id: "feature-cards-framed-programme",
|
|
15599
|
+
target: "feature-cards",
|
|
15600
|
+
label: "Framed programme cards",
|
|
15601
|
+
blockKinds: ["block.feature-cards"],
|
|
15602
|
+
constraints: { layoutFamilies: ["grid"] },
|
|
15603
|
+
design: {
|
|
15604
|
+
sectionSurface: "brand-depth-band",
|
|
15605
|
+
contentFrame: plainFrame,
|
|
15606
|
+
itemSurface: "inset",
|
|
15607
|
+
composition: {
|
|
15608
|
+
kind: "feature-cards",
|
|
15609
|
+
treatment: "framed-programme"
|
|
15610
|
+
}
|
|
15611
|
+
}
|
|
15612
|
+
}), defineBlockAppearancePreset({
|
|
15613
|
+
id: "feature-cards-soft-panels",
|
|
15614
|
+
target: "feature-cards",
|
|
15615
|
+
label: "Soft tinted panels",
|
|
15616
|
+
blockKinds: ["block.feature-cards"],
|
|
15617
|
+
design: {
|
|
15618
|
+
sectionSurface: "base",
|
|
15619
|
+
contentFrame: plainFrame,
|
|
15620
|
+
itemSurface: "inset"
|
|
15621
|
+
}
|
|
15622
|
+
}), defineBlockAppearancePreset({
|
|
15623
|
+
id: "feature-cards-editorial-diptych",
|
|
15624
|
+
target: "feature-cards",
|
|
15625
|
+
label: "Editorial diptych",
|
|
15626
|
+
blockKinds: ["block.feature-cards"],
|
|
15627
|
+
constraints: { layoutVariantKeys: ["editorial-diptych"] },
|
|
15628
|
+
design: {
|
|
15629
|
+
sectionSurface: "base",
|
|
15630
|
+
contentFrame: plainFrame,
|
|
15631
|
+
itemSurface: "flat"
|
|
15632
|
+
}
|
|
15633
|
+
}), defineBlockAppearancePreset({
|
|
15634
|
+
id: "feature-cards-editorial-pathways",
|
|
15635
|
+
target: "feature-cards",
|
|
15636
|
+
label: "Editorial pathways",
|
|
15637
|
+
blockKinds: ["block.feature-cards"],
|
|
15638
|
+
constraints: { layoutVariantKeys: ["editorial-pathways"] },
|
|
15639
|
+
design: {
|
|
15640
|
+
sectionSurface: "base",
|
|
15641
|
+
contentFrame: plainFrame,
|
|
15642
|
+
itemSurface: "flat"
|
|
15643
|
+
}
|
|
15644
|
+
}), defineBlockAppearancePreset({
|
|
15645
|
+
id: "feature-cards-photo-tiles",
|
|
15646
|
+
target: "feature-cards",
|
|
15647
|
+
label: "Photo tiles",
|
|
15648
|
+
blockKinds: ["block.feature-cards"],
|
|
15649
|
+
design: {
|
|
15650
|
+
sectionSurface: "base",
|
|
15651
|
+
contentFrame: plainFrame,
|
|
15652
|
+
itemSurface: "raised"
|
|
15653
|
+
}
|
|
15654
|
+
}), defineBlockAppearancePreset({
|
|
15655
|
+
id: "events-lined-panel",
|
|
15656
|
+
target: "events",
|
|
15657
|
+
label: "Raised event panel",
|
|
15658
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
15659
|
+
design: {
|
|
15660
|
+
sectionSurface: "base",
|
|
15661
|
+
contentFrame: panelFrame("raised"),
|
|
15662
|
+
itemSurface: "none"
|
|
15663
|
+
}
|
|
15664
|
+
}), defineBlockAppearancePreset({
|
|
15665
|
+
id: "events-ruled-register",
|
|
15666
|
+
target: "events",
|
|
15667
|
+
label: "Ruled event register",
|
|
15668
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
15669
|
+
design: {
|
|
15670
|
+
sectionSurface: "brand-depth-band",
|
|
15671
|
+
contentFrame: plainFrame,
|
|
15672
|
+
itemSurface: "none",
|
|
15673
|
+
eventListTreatment: "ruled-register"
|
|
15674
|
+
}
|
|
15675
|
+
}), defineBlockAppearancePreset({
|
|
15676
|
+
id: "events-editorial-register",
|
|
15677
|
+
target: "events",
|
|
15678
|
+
label: "Editorial event register",
|
|
15679
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
15680
|
+
design: {
|
|
15681
|
+
sectionSurface: "base",
|
|
15682
|
+
contentFrame: plainFrame,
|
|
15683
|
+
itemSurface: "none",
|
|
15684
|
+
eventListTreatment: "editorial-register"
|
|
15685
|
+
}
|
|
15686
|
+
}), defineBlockAppearancePreset({
|
|
15687
|
+
id: "events-dense-index",
|
|
15688
|
+
target: "events",
|
|
15689
|
+
label: "Dense event index",
|
|
15690
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
15691
|
+
design: {
|
|
15692
|
+
sectionSurface: "accent-band",
|
|
15693
|
+
contentFrame: plainFrame,
|
|
15694
|
+
itemSurface: "none",
|
|
15695
|
+
eventListTreatment: "dense-index"
|
|
15696
|
+
}
|
|
15697
|
+
}), defineBlockAppearancePreset({
|
|
15698
|
+
id: "schedule-details-brand-depth",
|
|
15699
|
+
target: "events",
|
|
15700
|
+
label: "Brand-depth schedule details",
|
|
15701
|
+
blockKinds: ["block.event-details", "block.course-details"],
|
|
15702
|
+
design: {
|
|
15703
|
+
sectionSurface: "brand-depth-band",
|
|
15704
|
+
contentFrame: plainFrame,
|
|
15705
|
+
itemSurface: "none",
|
|
15706
|
+
tileTreatment: "brand-depth"
|
|
15707
|
+
}
|
|
15708
|
+
}), defineBlockAppearancePreset({
|
|
15709
|
+
id: "media-text-flush-feature",
|
|
15710
|
+
target: "media-text",
|
|
15711
|
+
label: "Flush media feature",
|
|
15712
|
+
blockKinds: ["block.media-text"],
|
|
15713
|
+
design: {
|
|
15714
|
+
sectionSurface: "muted-band",
|
|
15715
|
+
contentFrame: flushPanelFrame({ bleed: "start" }),
|
|
15716
|
+
itemSurface: "none"
|
|
15717
|
+
}
|
|
15718
|
+
}), defineBlockAppearancePreset({
|
|
15719
|
+
id: "testimonials-simple-cards",
|
|
15720
|
+
target: "testimonials",
|
|
15721
|
+
label: "Simple testimonial cards",
|
|
15722
|
+
blockKinds: ["block.testimonials"],
|
|
15723
|
+
design: {
|
|
15724
|
+
sectionSurface: "base",
|
|
15725
|
+
contentFrame: plainFrame,
|
|
15726
|
+
itemSurface: "default"
|
|
15727
|
+
}
|
|
15728
|
+
}), defineBlockAppearancePreset({
|
|
15729
|
+
id: "testimonials-raised-panel",
|
|
15730
|
+
target: "testimonials",
|
|
15731
|
+
label: "Raised testimonial panel",
|
|
15732
|
+
blockKinds: ["block.testimonials"],
|
|
15733
|
+
design: {
|
|
15734
|
+
sectionSurface: "muted-band",
|
|
15735
|
+
contentFrame: panelFrame("raised"),
|
|
15736
|
+
itemSurface: "raised"
|
|
15737
|
+
}
|
|
15738
|
+
}), defineBlockAppearancePreset({
|
|
15739
|
+
id: "testimonials-accent-panel",
|
|
15740
|
+
target: "testimonials",
|
|
15741
|
+
label: "Accent testimonial panel",
|
|
15742
|
+
blockKinds: ["block.testimonials"],
|
|
15743
|
+
design: {
|
|
15744
|
+
sectionSurface: "accent-band",
|
|
15745
|
+
contentFrame: panelFrame("raised"),
|
|
15746
|
+
itemSurface: "raised"
|
|
15747
|
+
}
|
|
15748
|
+
}), defineBlockAppearancePreset({
|
|
15749
|
+
id: "testimonials-default-cards",
|
|
15750
|
+
target: "testimonials",
|
|
15751
|
+
label: "Default cards",
|
|
15752
|
+
blockKinds: ["block.testimonials"],
|
|
15753
|
+
design: {
|
|
15754
|
+
sectionSurface: "base",
|
|
15755
|
+
contentFrame: plainFrame,
|
|
15756
|
+
itemSurface: "none",
|
|
15757
|
+
testimonialCardTreatment: "default"
|
|
15758
|
+
}
|
|
15759
|
+
}), defineBlockAppearancePreset({
|
|
15760
|
+
id: "testimonials-statement-cards",
|
|
15761
|
+
target: "testimonials",
|
|
15762
|
+
label: "Statement cards",
|
|
15763
|
+
blockKinds: ["block.testimonials"],
|
|
15764
|
+
design: {
|
|
15765
|
+
sectionSurface: "accent-band",
|
|
15766
|
+
contentFrame: plainFrame,
|
|
15767
|
+
itemSurface: "raised",
|
|
15768
|
+
testimonialCardTreatment: "statement"
|
|
15769
|
+
}
|
|
15770
|
+
}), defineBlockAppearancePreset({
|
|
15771
|
+
id: "testimonials-brand-statement-cards",
|
|
15772
|
+
target: "testimonials",
|
|
15773
|
+
label: "Brand statement cards",
|
|
15774
|
+
blockKinds: ["block.testimonials"],
|
|
15775
|
+
design: {
|
|
15776
|
+
sectionSurface: "brand-depth-band",
|
|
15777
|
+
contentFrame: plainFrame,
|
|
15778
|
+
itemSurface: "raised",
|
|
15779
|
+
testimonialCardTreatment: "statement"
|
|
15780
|
+
}
|
|
15781
|
+
}), defineBlockAppearancePreset({
|
|
15782
|
+
id: "testimonials-non-carded",
|
|
15783
|
+
target: "testimonials",
|
|
15784
|
+
label: "Non-carded",
|
|
15785
|
+
blockKinds: ["block.testimonials"],
|
|
15786
|
+
design: {
|
|
15787
|
+
sectionSurface: "muted-band",
|
|
15788
|
+
contentFrame: plainFrame,
|
|
15789
|
+
itemSurface: "none",
|
|
15790
|
+
testimonialCardTreatment: "non-carded"
|
|
15791
|
+
}
|
|
15792
|
+
}), defineBlockAppearancePreset({
|
|
15793
|
+
id: "testimonials-evergreen-lead",
|
|
15794
|
+
target: "testimonials",
|
|
15795
|
+
label: "Evergreen lead",
|
|
15796
|
+
blockKinds: ["block.testimonials"],
|
|
15797
|
+
constraints: { layoutVariantKeys: ["featured-editorial"] },
|
|
15798
|
+
design: {
|
|
15799
|
+
sectionSurface: "base",
|
|
15800
|
+
contentFrame: plainFrame,
|
|
15801
|
+
itemSurface: "none"
|
|
15802
|
+
}
|
|
15803
|
+
}), defineBlockAppearancePreset({
|
|
15804
|
+
id: "testimonials-room-and-response",
|
|
15805
|
+
target: "testimonials",
|
|
15806
|
+
label: "Room and response",
|
|
15807
|
+
blockKinds: ["block.testimonials"],
|
|
15808
|
+
constraints: { layoutVariantKeys: ["featured-editorial"] },
|
|
15809
|
+
design: {
|
|
15810
|
+
sectionSurface: "base",
|
|
15811
|
+
contentFrame: plainFrame,
|
|
15812
|
+
itemSurface: "none"
|
|
15813
|
+
}
|
|
15814
|
+
}), defineBlockAppearancePreset({
|
|
15815
|
+
id: "testimonials-open-floor",
|
|
15816
|
+
target: "testimonials",
|
|
15817
|
+
label: "Open floor",
|
|
15818
|
+
blockKinds: ["block.testimonials"],
|
|
15819
|
+
constraints: { layoutVariantKeys: ["featured-editorial"] },
|
|
15820
|
+
design: {
|
|
15821
|
+
sectionSurface: "base",
|
|
15822
|
+
contentFrame: plainFrame,
|
|
15823
|
+
itemSurface: "none"
|
|
15824
|
+
}
|
|
15825
|
+
}), defineBlockAppearancePreset({
|
|
15826
|
+
id: "faq-base-accordion",
|
|
15827
|
+
target: "faq",
|
|
15828
|
+
label: "Base accordion FAQ",
|
|
15829
|
+
blockKinds: ["block.faq"],
|
|
15830
|
+
design: {
|
|
15831
|
+
sectionSurface: "base",
|
|
15832
|
+
contentFrame: plainFrame,
|
|
15833
|
+
itemSurface: "default"
|
|
15834
|
+
}
|
|
15835
|
+
}), defineBlockAppearancePreset({
|
|
15836
|
+
id: "faq-contained-help",
|
|
15837
|
+
target: "faq",
|
|
15838
|
+
label: "Contained help panel",
|
|
15839
|
+
blockKinds: ["block.faq"],
|
|
15840
|
+
design: {
|
|
15841
|
+
sectionSurface: "muted-band",
|
|
15842
|
+
contentFrame: panelFrame("inset"),
|
|
15843
|
+
itemSurface: "default"
|
|
15844
|
+
}
|
|
15845
|
+
}), defineBlockAppearancePreset({
|
|
15846
|
+
id: "contact-form-panel",
|
|
15847
|
+
target: "contact-form",
|
|
15848
|
+
label: "Raised form panel",
|
|
15849
|
+
blockKinds: ["block.form"],
|
|
15850
|
+
design: {
|
|
15851
|
+
sectionSurface: "muted-band",
|
|
15852
|
+
contentFrame: panelFrame("raised"),
|
|
15853
|
+
itemSurface: "none"
|
|
15854
|
+
}
|
|
15855
|
+
}), defineBlockAppearancePreset({
|
|
15856
|
+
id: "cta-accent-band",
|
|
15857
|
+
target: "cta",
|
|
15858
|
+
label: "Accent CTA band",
|
|
15859
|
+
blockKinds: ["block.cta-full"],
|
|
15860
|
+
design: {
|
|
15861
|
+
sectionSurface: "accent-band",
|
|
15862
|
+
contentFrame: plainFrame,
|
|
15863
|
+
itemSurface: "none",
|
|
15864
|
+
eyebrowTreatment: "accent"
|
|
15865
|
+
}
|
|
15866
|
+
});
|
|
15876
15867
|
}));
|
|
15877
15868
|
var init_appearancePresetCatalog = __esmMin((() => {
|
|
15878
15869
|
init_blockAppearancePresets();
|
|
15879
|
-
[...blockAppearancePresets];
|
|
15880
15870
|
}));
|
|
15881
15871
|
var init_appearancePresetTypes = __esmMin((() => {}));
|
|
15882
15872
|
//#endregion
|
|
@@ -17578,6 +17568,12 @@ function requirePaletteColorsFromEntries(entries) {
|
|
|
17578
17568
|
if (result.ok) return result.colors;
|
|
17579
17569
|
throw new Error(`Invalid complete palette: ${result.error.kind}`);
|
|
17580
17570
|
}
|
|
17571
|
+
function paletteColorEntries(colors) {
|
|
17572
|
+
return THEME_PALETTE_COLOR_ORDER.map((name) => ({
|
|
17573
|
+
name,
|
|
17574
|
+
hex: colors[name]
|
|
17575
|
+
}));
|
|
17576
|
+
}
|
|
17581
17577
|
function paletteColorFingerprint(colors) {
|
|
17582
17578
|
return PALETTE_TOKEN_NAMES.map((name) => `${name}:${colors[name]}`).join("|");
|
|
17583
17579
|
}
|
|
@@ -17585,7 +17581,7 @@ function canonicalPaletteHashInput(colors, mode) {
|
|
|
17585
17581
|
return `${mode}|${paletteColorFingerprint(colors)}`;
|
|
17586
17582
|
}
|
|
17587
17583
|
/**
|
|
17588
|
-
*
|
|
17584
|
+
* Stable curated-catalogue identity. Do not reorder roles: the order comes
|
|
17589
17585
|
* from PALETTE_TOKEN_NAMES through canonicalPaletteHashInput.
|
|
17590
17586
|
*/
|
|
17591
17587
|
function paletteValueKey(colors, mode) {
|
|
@@ -17610,11 +17606,26 @@ function parsePaletteValueKey(value) {
|
|
|
17610
17606
|
if (!colors.ok || paletteValueKey(colors.colors, mode.data) !== value) return null;
|
|
17611
17607
|
return value;
|
|
17612
17608
|
}
|
|
17613
|
-
var HEX_COLOR_REGEX, NORMALIZABLE_HEX_REGEX, hexColorSchema, paletteModeSchema, PALETTE_VALUE_KEY_PREFIX, paletteColorsSchema, paletteValueKeySchema;
|
|
17609
|
+
var HEX_COLOR_REGEX, NORMALIZABLE_HEX_REGEX, THEME_PALETTE_COLOR_ORDER, hexColorSchema, paletteModeSchema, PALETTE_VALUE_KEY_PREFIX, paletteColorsSchema, paletteValueKeySchema;
|
|
17614
17610
|
var init_colors = __esmMin((() => {
|
|
17615
17611
|
init_themeColorTokens();
|
|
17616
17612
|
HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
17617
17613
|
NORMALIZABLE_HEX_REGEX = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;
|
|
17614
|
+
THEME_PALETTE_COLOR_ORDER = [
|
|
17615
|
+
"primary",
|
|
17616
|
+
"secondary",
|
|
17617
|
+
"accent",
|
|
17618
|
+
"success",
|
|
17619
|
+
"warning",
|
|
17620
|
+
"destructive",
|
|
17621
|
+
"background",
|
|
17622
|
+
"surface",
|
|
17623
|
+
"surfaceAlt",
|
|
17624
|
+
"muted",
|
|
17625
|
+
"text",
|
|
17626
|
+
"primaryForeground",
|
|
17627
|
+
"border"
|
|
17628
|
+
];
|
|
17618
17629
|
hexColorSchema = z$1.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
17619
17630
|
paletteModeSchema = z$1.enum(["light", "dark"]);
|
|
17620
17631
|
PALETTE_VALUE_KEY_PREFIX = "palette-value:v1|";
|
|
@@ -17644,8 +17655,18 @@ var init_colors = __esmMin((() => {
|
|
|
17644
17655
|
return z$1.NEVER;
|
|
17645
17656
|
});
|
|
17646
17657
|
}));
|
|
17647
|
-
|
|
17648
|
-
|
|
17658
|
+
function concretePaletteToTheme(palette) {
|
|
17659
|
+
return {
|
|
17660
|
+
colors: paletteColorEntries(palette.colors),
|
|
17661
|
+
meta: { mode: palette.mode }
|
|
17662
|
+
};
|
|
17663
|
+
}
|
|
17664
|
+
var init_concretePalette = __esmMin((() => {
|
|
17665
|
+
init_colors();
|
|
17666
|
+
}));
|
|
17667
|
+
var init_fromVibrant = __esmMin((() => {
|
|
17668
|
+
init_utils$6();
|
|
17669
|
+
}));
|
|
17649
17670
|
//#endregion
|
|
17650
17671
|
//#region ../theme-core/src/site-styles/styleTags.ts
|
|
17651
17672
|
var STYLE_AXIS_VALUES, styleTagsSchema;
|
|
@@ -18935,13 +18956,6 @@ var init_warm_dark = __esmMin((() => {
|
|
|
18935
18956
|
}));
|
|
18936
18957
|
//#endregion
|
|
18937
18958
|
//#region ../theme-core/src/palette/curated/index.ts
|
|
18938
|
-
/**
|
|
18939
|
-
* Curated palette library.
|
|
18940
|
-
*
|
|
18941
|
-
* Authoring keys are readable source aliases. Value keys are derived from the
|
|
18942
|
-
* complete mode and semantic colours and are the only curated identity used at
|
|
18943
|
-
* persistence and runtime boundaries.
|
|
18944
|
-
*/
|
|
18945
18959
|
function admitCuratedPaletteDefinition(definition) {
|
|
18946
18960
|
return {
|
|
18947
18961
|
...definition,
|
|
@@ -18959,9 +18973,8 @@ function requireCuratedPaletteValueKey(authoringKey) {
|
|
|
18959
18973
|
if (!palette) throw new Error(`Unknown curated palette authoring key "${authoringKey}"`);
|
|
18960
18974
|
return palette.valueKey;
|
|
18961
18975
|
}
|
|
18962
|
-
var curatedPalettes, curatedPalettesByValueKey, curatedPalettesByAuthoringKey
|
|
18976
|
+
var curatedPalettes, curatedPalettesByValueKey, curatedPalettesByAuthoringKey;
|
|
18963
18977
|
var init_curated = __esmMin((() => {
|
|
18964
|
-
init_colors();
|
|
18965
18978
|
init_brand_led();
|
|
18966
18979
|
init_high_contrast();
|
|
18967
18980
|
init_soft_natural();
|
|
@@ -18990,105 +19003,6 @@ var init_curated = __esmMin((() => {
|
|
|
18990
19003
|
];
|
|
18991
19004
|
curatedPalettesByValueKey = new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
|
|
18992
19005
|
curatedPalettesByAuthoringKey = new Map(curatedPalettes.map((palette) => [palette.authoringKey, palette]));
|
|
18993
|
-
knownCuratedPaletteValueKeySchema = z$1.string().transform((value, ctx) => {
|
|
18994
|
-
const valueKey = parsePaletteValueKey(value);
|
|
18995
|
-
if (!valueKey) {
|
|
18996
|
-
ctx.addIssue({
|
|
18997
|
-
code: "custom",
|
|
18998
|
-
message: "Invalid canonical palette value key"
|
|
18999
|
-
});
|
|
19000
|
-
return z$1.NEVER;
|
|
19001
|
-
}
|
|
19002
|
-
const palette = findCuratedPalette(valueKey);
|
|
19003
|
-
if (!palette) {
|
|
19004
|
-
ctx.addIssue({
|
|
19005
|
-
code: "custom",
|
|
19006
|
-
message: "Unknown curated palette value key"
|
|
19007
|
-
});
|
|
19008
|
-
return z$1.NEVER;
|
|
19009
|
-
}
|
|
19010
|
-
return palette.valueKey;
|
|
19011
|
-
});
|
|
19012
|
-
}));
|
|
19013
|
-
var init_resolveSelection = __esmMin((() => {
|
|
19014
|
-
init_curated();
|
|
19015
|
-
})), sitePaletteIdSchema, sitePaletteVersionSchema, paletteSelectionSchema, onboardingPaletteOriginSchema, curatedForkPaletteOriginSchema, manualPaletteOriginSchema, legacyCustomizedPaletteOriginSchema, sitePaletteOriginSchema, editorSitePaletteOriginSchema, paletteCommandSchema;
|
|
19016
|
-
var init_selection$1 = __esmMin((() => {
|
|
19017
|
-
init_colors();
|
|
19018
|
-
init_curated();
|
|
19019
|
-
sitePaletteIdSchema = z$1.string().uuid().transform((value) => value);
|
|
19020
|
-
sitePaletteVersionSchema = z$1.number().int().nonnegative().transform((value) => value);
|
|
19021
|
-
paletteSelectionSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
19022
|
-
kind: z$1.literal("curated"),
|
|
19023
|
-
valueKey: knownCuratedPaletteValueKeySchema
|
|
19024
|
-
}), z$1.object({
|
|
19025
|
-
kind: z$1.literal("site"),
|
|
19026
|
-
paletteId: sitePaletteIdSchema
|
|
19027
|
-
})]);
|
|
19028
|
-
onboardingPaletteOriginSchema = z$1.object({
|
|
19029
|
-
kind: z$1.literal("onboarding"),
|
|
19030
|
-
sourceKey: z$1.string().min(1).nullable()
|
|
19031
|
-
});
|
|
19032
|
-
curatedForkPaletteOriginSchema = z$1.object({
|
|
19033
|
-
kind: z$1.literal("curated-fork"),
|
|
19034
|
-
sourceValueKey: paletteValueKeySchema
|
|
19035
|
-
});
|
|
19036
|
-
manualPaletteOriginSchema = z$1.object({ kind: z$1.literal("manual") });
|
|
19037
|
-
legacyCustomizedPaletteOriginSchema = z$1.object({
|
|
19038
|
-
kind: z$1.literal("legacy-customized"),
|
|
19039
|
-
sourceKey: z$1.string().min(1).nullable()
|
|
19040
|
-
});
|
|
19041
|
-
sitePaletteOriginSchema = z$1.discriminatedUnion("kind", [
|
|
19042
|
-
onboardingPaletteOriginSchema,
|
|
19043
|
-
curatedForkPaletteOriginSchema,
|
|
19044
|
-
manualPaletteOriginSchema,
|
|
19045
|
-
legacyCustomizedPaletteOriginSchema
|
|
19046
|
-
]);
|
|
19047
|
-
editorSitePaletteOriginSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
19048
|
-
kind: z$1.literal("curated-fork"),
|
|
19049
|
-
sourceValueKey: knownCuratedPaletteValueKeySchema
|
|
19050
|
-
}), manualPaletteOriginSchema]);
|
|
19051
|
-
z$1.object({
|
|
19052
|
-
id: sitePaletteIdSchema,
|
|
19053
|
-
colors: paletteColorsSchema,
|
|
19054
|
-
mode: paletteModeSchema,
|
|
19055
|
-
origin: sitePaletteOriginSchema,
|
|
19056
|
-
version: sitePaletteVersionSchema
|
|
19057
|
-
});
|
|
19058
|
-
paletteCommandSchema = z$1.discriminatedUnion("kind", [
|
|
19059
|
-
z$1.object({ kind: z$1.literal("preserve") }),
|
|
19060
|
-
z$1.object({
|
|
19061
|
-
kind: z$1.literal("select"),
|
|
19062
|
-
selection: paletteSelectionSchema
|
|
19063
|
-
}),
|
|
19064
|
-
z$1.object({
|
|
19065
|
-
kind: z$1.literal("create-site"),
|
|
19066
|
-
colors: paletteColorsSchema,
|
|
19067
|
-
mode: paletteModeSchema,
|
|
19068
|
-
origin: editorSitePaletteOriginSchema
|
|
19069
|
-
}),
|
|
19070
|
-
z$1.object({
|
|
19071
|
-
kind: z$1.literal("update-site"),
|
|
19072
|
-
paletteId: sitePaletteIdSchema,
|
|
19073
|
-
expectedVersion: sitePaletteVersionSchema,
|
|
19074
|
-
colors: paletteColorsSchema,
|
|
19075
|
-
mode: paletteModeSchema
|
|
19076
|
-
})
|
|
19077
|
-
]);
|
|
19078
|
-
}));
|
|
19079
|
-
var init_persistenceReadSource = __esmMin((() => {
|
|
19080
|
-
init_curated();
|
|
19081
|
-
init_colors();
|
|
19082
|
-
init_resolveSelection();
|
|
19083
|
-
init_selection$1();
|
|
19084
|
-
}));
|
|
19085
|
-
var init_sitePalettePersistence = __esmMin((() => {
|
|
19086
|
-
init_curated();
|
|
19087
|
-
init_colors();
|
|
19088
|
-
init_selection$1();
|
|
19089
|
-
}));
|
|
19090
|
-
var init_fromVibrant = __esmMin((() => {
|
|
19091
|
-
init_utils$6();
|
|
19092
19006
|
}));
|
|
19093
19007
|
//#endregion
|
|
19094
19008
|
//#region ../theme-core/src/palette/index.ts
|
|
@@ -19104,12 +19018,7 @@ var init_palette = __esmMin((() => {
|
|
|
19104
19018
|
init_paletteAccess();
|
|
19105
19019
|
init_extractPalette();
|
|
19106
19020
|
init_colors();
|
|
19107
|
-
|
|
19108
|
-
init_libraryModel();
|
|
19109
|
-
init_persistenceReadSource();
|
|
19110
|
-
init_resolveSelection();
|
|
19111
|
-
init_selection$1();
|
|
19112
|
-
init_sitePalettePersistence();
|
|
19021
|
+
init_concretePalette();
|
|
19113
19022
|
init_fromVibrant();
|
|
19114
19023
|
init_suggestRecipes();
|
|
19115
19024
|
init_allRecipes();
|
|
@@ -19274,6 +19183,47 @@ var init_backgroundAppearance = __esmMin((() => {
|
|
|
19274
19183
|
var init_compositionBudget = __esmMin((() => {
|
|
19275
19184
|
init_types$15();
|
|
19276
19185
|
}));
|
|
19186
|
+
var init_headerStyleParts = __esmMin((() => {}));
|
|
19187
|
+
var headerInteractionPaletteValues, headerInteractionPaletteSchema;
|
|
19188
|
+
var init_interactionPalette = __esmMin((() => {
|
|
19189
|
+
headerInteractionPaletteValues = [
|
|
19190
|
+
"primary",
|
|
19191
|
+
"secondary",
|
|
19192
|
+
"accent"
|
|
19193
|
+
];
|
|
19194
|
+
headerInteractionPaletteSchema = z$1.enum(headerInteractionPaletteValues);
|
|
19195
|
+
}));
|
|
19196
|
+
var clearSplitInteractionPalette;
|
|
19197
|
+
var init_headerInteractionPalette = __esmMin((() => {
|
|
19198
|
+
init_interactionPalette();
|
|
19199
|
+
init_lookOptionGroups();
|
|
19200
|
+
clearSplitInteractionPalette = defineLookOptionGroup({
|
|
19201
|
+
id: "interaction-palette",
|
|
19202
|
+
label: "Hover colour",
|
|
19203
|
+
defaultOptionId: "accent",
|
|
19204
|
+
options: [
|
|
19205
|
+
{
|
|
19206
|
+
id: "accent",
|
|
19207
|
+
label: "Accent"
|
|
19208
|
+
},
|
|
19209
|
+
{
|
|
19210
|
+
id: "primary",
|
|
19211
|
+
label: "Primary"
|
|
19212
|
+
},
|
|
19213
|
+
{
|
|
19214
|
+
id: "secondary",
|
|
19215
|
+
label: "Secondary"
|
|
19216
|
+
}
|
|
19217
|
+
]
|
|
19218
|
+
});
|
|
19219
|
+
}));
|
|
19220
|
+
var init_headerOpeningForeground = __esmMin((() => {
|
|
19221
|
+
init_expandPalette();
|
|
19222
|
+
init_colorConversion();
|
|
19223
|
+
init_tokens();
|
|
19224
|
+
init_colorTokenParts();
|
|
19225
|
+
init_types$15();
|
|
19226
|
+
}));
|
|
19277
19227
|
var init_customizableSurfaces = __esmMin((() => {
|
|
19278
19228
|
init_types$15();
|
|
19279
19229
|
})), logoTextConfidenceValues, logoAssetShapeValues, logoKindValues, logoDensityValues, logoContainsTextSchema, logoAnalysisSourceSchema, brandDisplayModeValues, logoAccommodationPatternValues, logoSizePolicyValues;
|
|
@@ -19384,7 +19334,7 @@ function asHeaderStyleId(value) {
|
|
|
19384
19334
|
* optional nested styling fields that would otherwise leak from another Look.
|
|
19385
19335
|
*/
|
|
19386
19336
|
function baseHeader(theme) {
|
|
19387
|
-
const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
19337
|
+
const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, interactionPalette: _interactionPalette, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
19388
19338
|
return {
|
|
19389
19339
|
...header,
|
|
19390
19340
|
navContainer: {
|
|
@@ -19446,7 +19396,7 @@ function applyNavTypography(style, typography) {
|
|
|
19446
19396
|
textSize: "sm",
|
|
19447
19397
|
letterSpacing: "wider"
|
|
19448
19398
|
};
|
|
19449
|
-
default: return assertNever$
|
|
19399
|
+
default: return assertNever$15(typography, "Unhandled header nav typography");
|
|
19450
19400
|
}
|
|
19451
19401
|
}
|
|
19452
19402
|
function underlineNavLinkStyle(colorToken, underlineColorToken, typography = "plain") {
|
|
@@ -19475,7 +19425,7 @@ function themedHeaderShadow(theme) {
|
|
|
19475
19425
|
case "low": return { elevation: "sm" };
|
|
19476
19426
|
case "medium": return { elevation: "md" };
|
|
19477
19427
|
case "high": return { elevation: "lg" };
|
|
19478
|
-
default: return assertNever$
|
|
19428
|
+
default: return assertNever$15(theme.shadow.elevation, "Unhandled theme shadow elevation");
|
|
19479
19429
|
}
|
|
19480
19430
|
}
|
|
19481
19431
|
function solidBrandHeader(theme) {
|
|
@@ -19749,15 +19699,15 @@ function floatingGlassHeader(theme) {
|
|
|
19749
19699
|
}
|
|
19750
19700
|
};
|
|
19751
19701
|
}
|
|
19752
|
-
function headerConfigurationKey(configuration) {
|
|
19753
|
-
return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
|
|
19754
|
-
}
|
|
19755
19702
|
function findHeaderLook(id) {
|
|
19756
19703
|
return headerLooksById.get(id);
|
|
19757
19704
|
}
|
|
19758
19705
|
var titleOnlyLogoAccommodation, inlineWordmarkLogoAccommodation, inlineMarkWithTitleLogoAccommodation, logoPlateAccommodation, centeredBadgeAccommodation, popoutBadgeAccommodation, centeredMastheadAccommodation, unbackedOverlayLogoAccommodation, inlineClassicLogoAccommodations, centeredLogoAccommodations, overlayLogoAccommodations, headerLayoutCatalog, headerStyleCatalog, headerLayoutsById, headerStylesById, headerStyleCompatibilityOrder, legacyHeaderLookAliases, legacyHeaderLookAliasesById, headerLookCatalog, guaranteedFallbackHeaderLayoutId, guaranteedFallbackHeaderStyleId, headerLooksById;
|
|
19759
19706
|
var init_headerLooks = __esmMin((() => {
|
|
19760
19707
|
init_headerCtaVariants();
|
|
19708
|
+
init_headerStyleParts();
|
|
19709
|
+
init_headerInteractionPalette();
|
|
19710
|
+
init_headerOpeningForeground();
|
|
19761
19711
|
init_customizableSurfaces();
|
|
19762
19712
|
init_logoBranding();
|
|
19763
19713
|
init_types$15();
|
|
@@ -19884,7 +19834,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
19884
19834
|
id: asHeaderLayoutId("classic"),
|
|
19885
19835
|
label: "Classic",
|
|
19886
19836
|
description: "Logo and navigation in one practical horizontal row.",
|
|
19887
|
-
structure: "inline-classic",
|
|
19888
19837
|
variant: "classic",
|
|
19889
19838
|
defaultPositioning: "sticky",
|
|
19890
19839
|
shrinkOnScroll: false
|
|
@@ -19893,7 +19842,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
19893
19842
|
id: asHeaderLayoutId("centered"),
|
|
19894
19843
|
label: "Centered",
|
|
19895
19844
|
description: "Logo centered above a balanced navigation row.",
|
|
19896
|
-
structure: "centered-stack",
|
|
19897
19845
|
variant: "centered",
|
|
19898
19846
|
defaultPositioning: "static",
|
|
19899
19847
|
shrinkOnScroll: false,
|
|
@@ -19909,7 +19857,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
19909
19857
|
id: asHeaderLayoutId("floating"),
|
|
19910
19858
|
label: "Floating",
|
|
19911
19859
|
description: "Detached header chrome that sits over the opening section.",
|
|
19912
|
-
structure: "floating-shell",
|
|
19913
19860
|
variant: "floating",
|
|
19914
19861
|
defaultPositioning: "sticky",
|
|
19915
19862
|
shrinkOnScroll: true,
|
|
@@ -20068,10 +20015,13 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20068
20015
|
label: "Clear Split",
|
|
20069
20016
|
description: "Floating logo with transparent navigation and no shared shell.",
|
|
20070
20017
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
20071
|
-
navInteraction: "
|
|
20018
|
+
navInteraction: "pill-background",
|
|
20072
20019
|
surface: "floating",
|
|
20073
|
-
defaultDepth: "
|
|
20020
|
+
defaultDepth: "line",
|
|
20074
20021
|
navTypography: "plain",
|
|
20022
|
+
openingForegroundTarget: "all",
|
|
20023
|
+
scrollTreatment: "contrast-glass",
|
|
20024
|
+
interactionPalette: clearSplitInteractionPalette,
|
|
20075
20025
|
moods: ["editorial", "calm"]
|
|
20076
20026
|
},
|
|
20077
20027
|
{
|
|
@@ -20094,6 +20044,7 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20094
20044
|
surface: "floating",
|
|
20095
20045
|
defaultDepth: "shadow",
|
|
20096
20046
|
navTypography: "quiet-caps",
|
|
20047
|
+
openingForegroundTarget: "brand-only",
|
|
20097
20048
|
moods: ["expressive"]
|
|
20098
20049
|
},
|
|
20099
20050
|
{
|
|
@@ -20105,6 +20056,7 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20105
20056
|
surface: "floating",
|
|
20106
20057
|
defaultDepth: "shadow",
|
|
20107
20058
|
navTypography: "heading",
|
|
20059
|
+
openingForegroundTarget: "brand-only",
|
|
20108
20060
|
moods: ["calm", "editorial"]
|
|
20109
20061
|
}
|
|
20110
20062
|
]);
|
|
@@ -20260,13 +20212,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20260
20212
|
{
|
|
20261
20213
|
id: asHeaderLookId("clean-base"),
|
|
20262
20214
|
label: "Clean base",
|
|
20263
|
-
visualTreatment: "solid-neutral",
|
|
20264
|
-
layoutBehavior: "sticky",
|
|
20265
|
-
configuration: {
|
|
20266
|
-
structure: "inline-classic",
|
|
20267
|
-
treatment: "solid-neutral",
|
|
20268
|
-
behavior: "sticky"
|
|
20269
|
-
},
|
|
20270
20215
|
openingRequirement: "none",
|
|
20271
20216
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
20272
20217
|
compile: cleanBaseHeader
|
|
@@ -20274,13 +20219,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20274
20219
|
{
|
|
20275
20220
|
id: asHeaderLookId("classic-centered-nav"),
|
|
20276
20221
|
label: "Centered nav",
|
|
20277
|
-
visualTreatment: "solid-neutral",
|
|
20278
|
-
layoutBehavior: "sticky",
|
|
20279
|
-
configuration: {
|
|
20280
|
-
structure: "inline-classic",
|
|
20281
|
-
treatment: "solid-neutral",
|
|
20282
|
-
behavior: "sticky"
|
|
20283
|
-
},
|
|
20284
20222
|
openingRequirement: "none",
|
|
20285
20223
|
maxRecommendedNavItems: 6,
|
|
20286
20224
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
@@ -20289,13 +20227,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20289
20227
|
{
|
|
20290
20228
|
id: asHeaderLookId("brand-solid"),
|
|
20291
20229
|
label: "Brand solid",
|
|
20292
|
-
visualTreatment: "solid-brand",
|
|
20293
|
-
layoutBehavior: "sticky-shrink",
|
|
20294
|
-
configuration: {
|
|
20295
|
-
structure: "inline-classic",
|
|
20296
|
-
treatment: "solid-brand",
|
|
20297
|
-
behavior: "sticky-shrink"
|
|
20298
|
-
},
|
|
20299
20230
|
openingRequirement: "none",
|
|
20300
20231
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
20301
20232
|
compile: solidBrandHeader
|
|
@@ -20303,13 +20234,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20303
20234
|
{
|
|
20304
20235
|
id: asHeaderLookId("serif-line"),
|
|
20305
20236
|
label: "Serif line",
|
|
20306
|
-
visualTreatment: "light-serif",
|
|
20307
|
-
layoutBehavior: "sticky",
|
|
20308
|
-
configuration: {
|
|
20309
|
-
structure: "centered-stack",
|
|
20310
|
-
treatment: "light-serif",
|
|
20311
|
-
behavior: "sticky"
|
|
20312
|
-
},
|
|
20313
20237
|
openingRequirement: "none",
|
|
20314
20238
|
maxRecommendedNavItems: 6,
|
|
20315
20239
|
logoAccommodations: centeredLogoAccommodations,
|
|
@@ -20318,13 +20242,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20318
20242
|
{
|
|
20319
20243
|
id: asHeaderLookId("centered-calm"),
|
|
20320
20244
|
label: "Centered calm",
|
|
20321
|
-
visualTreatment: "light-serif",
|
|
20322
|
-
layoutBehavior: "normal-flow",
|
|
20323
|
-
configuration: {
|
|
20324
|
-
structure: "centered-stack",
|
|
20325
|
-
treatment: "light-serif",
|
|
20326
|
-
behavior: "normal-flow"
|
|
20327
|
-
},
|
|
20328
20245
|
openingRequirement: "none",
|
|
20329
20246
|
maxRecommendedNavItems: 5,
|
|
20330
20247
|
logoAccommodations: centeredLogoAccommodations,
|
|
@@ -20333,13 +20250,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20333
20250
|
{
|
|
20334
20251
|
id: asHeaderLookId("practical-utility"),
|
|
20335
20252
|
label: "Practical utility",
|
|
20336
|
-
visualTreatment: "solid-neutral",
|
|
20337
|
-
layoutBehavior: "sticky-shrink",
|
|
20338
|
-
configuration: {
|
|
20339
|
-
structure: "inline-classic",
|
|
20340
|
-
treatment: "solid-neutral",
|
|
20341
|
-
behavior: "sticky-shrink"
|
|
20342
|
-
},
|
|
20343
20253
|
openingRequirement: "none",
|
|
20344
20254
|
requiresProminentCta: true,
|
|
20345
20255
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
@@ -20348,13 +20258,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20348
20258
|
{
|
|
20349
20259
|
id: asHeaderLookId("minimal-transparent"),
|
|
20350
20260
|
label: "Minimal transparent",
|
|
20351
|
-
visualTreatment: "minimal-transparent",
|
|
20352
|
-
layoutBehavior: "normal-flow",
|
|
20353
|
-
configuration: {
|
|
20354
|
-
structure: "inline-classic",
|
|
20355
|
-
treatment: "minimal-transparent",
|
|
20356
|
-
behavior: "normal-flow"
|
|
20357
|
-
},
|
|
20358
20261
|
openingRequirement: "reserved-space-ok",
|
|
20359
20262
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
20360
20263
|
compile: minimalTransparentHeader
|
|
@@ -20362,13 +20265,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20362
20265
|
{
|
|
20363
20266
|
id: asHeaderLookId("transparent-overlay"),
|
|
20364
20267
|
label: "Transparent overlay",
|
|
20365
|
-
visualTreatment: "transparent-overlay",
|
|
20366
|
-
layoutBehavior: "fixed-overlay",
|
|
20367
|
-
configuration: {
|
|
20368
|
-
structure: "inline-classic",
|
|
20369
|
-
treatment: "transparent-overlay",
|
|
20370
|
-
behavior: "fixed-overlay"
|
|
20371
|
-
},
|
|
20372
20268
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
20373
20269
|
maxRecommendedNavItems: 5,
|
|
20374
20270
|
logoAccommodations: overlayLogoAccommodations,
|
|
@@ -20377,13 +20273,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20377
20273
|
{
|
|
20378
20274
|
id: asHeaderLookId("floating-glass"),
|
|
20379
20275
|
label: "Floating glass",
|
|
20380
|
-
visualTreatment: "floating-glass",
|
|
20381
|
-
layoutBehavior: "fixed-floating",
|
|
20382
|
-
configuration: {
|
|
20383
|
-
structure: "floating-shell",
|
|
20384
|
-
treatment: "floating-glass",
|
|
20385
|
-
behavior: "fixed-floating"
|
|
20386
|
-
},
|
|
20387
20276
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
20388
20277
|
maxRecommendedNavItems: 5,
|
|
20389
20278
|
logoAccommodations: overlayLogoAccommodations,
|
|
@@ -20392,7 +20281,6 @@ var init_headerLooks = __esmMin((() => {
|
|
|
20392
20281
|
]);
|
|
20393
20282
|
guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
20394
20283
|
guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
20395
|
-
new Set(headerLookCatalog.map((look) => headerConfigurationKey(look.configuration)));
|
|
20396
20284
|
headerLooksById = new Map(headerLookCatalog.map((look) => [look.id, look]));
|
|
20397
20285
|
}));
|
|
20398
20286
|
var init_compilationPlan = __esmMin((() => {
|
|
@@ -20622,11 +20510,9 @@ var init_types$12 = __esmMin((() => {
|
|
|
20622
20510
|
"secondary",
|
|
20623
20511
|
"outline",
|
|
20624
20512
|
"ghost",
|
|
20625
|
-
"link",
|
|
20626
|
-
"tertiary",
|
|
20627
20513
|
"accent"
|
|
20628
20514
|
];
|
|
20629
|
-
buttonVariantIdSchema = z$1.string().min(1).max(50).regex(/^[a-z0-9-]+$/, "Button variant IDs may contain lowercase letters, numbers, and hyphens only");
|
|
20515
|
+
buttonVariantIdSchema = z$1.string().min(1).max(50).regex(/^[a-z0-9-]+$/, "Button variant IDs may contain lowercase letters, numbers, and hyphens only").refine((value) => value !== "link" && value !== "tertiary", { message: "Retired button role IDs are not valid variant IDs" });
|
|
20630
20516
|
DEFAULT_VARIANT_ALIAS_ID = "default";
|
|
20631
20517
|
opaqueButtonColourTokenSchema = themeColorTokenSchema.refine((value) => parseOpaqueButtonColourToken(value) !== null, "Button colour tokens must be opaque").transform((value) => {
|
|
20632
20518
|
const token = parseOpaqueButtonColourToken(value);
|
|
@@ -23762,41 +23648,41 @@ var init_siteStyleTypography = __esmMin((() => {
|
|
|
23762
23648
|
}));
|
|
23763
23649
|
//#endregion
|
|
23764
23650
|
//#region ../theme-core/src/lib/media.ts
|
|
23765
|
-
var hotspotSchema
|
|
23766
|
-
var init_media$
|
|
23767
|
-
hotspotSchema
|
|
23651
|
+
var hotspotSchema, rotationSchema, rectSchema, aspectCropSchema, transformSchema, mediaSchema;
|
|
23652
|
+
var init_media$1 = __esmMin((() => {
|
|
23653
|
+
hotspotSchema = z.object({
|
|
23768
23654
|
x: z.number().min(0).max(1),
|
|
23769
23655
|
y: z.number().min(0).max(1),
|
|
23770
23656
|
radius: z.number().optional()
|
|
23771
23657
|
});
|
|
23772
|
-
rotationSchema
|
|
23658
|
+
rotationSchema = z.union([
|
|
23773
23659
|
z.literal(0),
|
|
23774
23660
|
z.literal(90),
|
|
23775
23661
|
z.literal(180),
|
|
23776
23662
|
z.literal(270)
|
|
23777
23663
|
]);
|
|
23778
|
-
rectSchema
|
|
23664
|
+
rectSchema = z.tuple([
|
|
23779
23665
|
z.number(),
|
|
23780
23666
|
z.number(),
|
|
23781
23667
|
z.number(),
|
|
23782
23668
|
z.number()
|
|
23783
23669
|
]);
|
|
23784
|
-
aspectCropSchema
|
|
23670
|
+
aspectCropSchema = z.object({
|
|
23785
23671
|
aspect: z.preprocess((value) => value == null ? void 0 : value, z.string().optional()),
|
|
23786
|
-
rect: z.preprocess((value) => value == null ? void 0 : value, rectSchema
|
|
23787
|
-
hotspot: z.preprocess((value) => value == null ? void 0 : value, hotspotSchema
|
|
23788
|
-
rotation: z.preprocess((value) => value == null ? void 0 : value, rotationSchema
|
|
23672
|
+
rect: z.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
23673
|
+
hotspot: z.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
23674
|
+
rotation: z.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
23789
23675
|
});
|
|
23790
|
-
transformSchema
|
|
23676
|
+
transformSchema = z.object({
|
|
23791
23677
|
aspectCrops: z.preprocess((value) => {
|
|
23792
23678
|
if (!value || typeof value !== "object" || Array.isArray(value)) return;
|
|
23793
23679
|
return value;
|
|
23794
|
-
}, z.record(z.string(), aspectCropSchema
|
|
23795
|
-
rect: rectSchema
|
|
23796
|
-
hotspot: hotspotSchema
|
|
23797
|
-
rotation: rotationSchema
|
|
23680
|
+
}, z.record(z.string(), aspectCropSchema.catch({}))).optional(),
|
|
23681
|
+
rect: rectSchema.optional(),
|
|
23682
|
+
hotspot: hotspotSchema.optional(),
|
|
23683
|
+
rotation: rotationSchema.optional()
|
|
23798
23684
|
});
|
|
23799
|
-
mediaSchema
|
|
23685
|
+
mediaSchema = z.object({
|
|
23800
23686
|
type: z.enum([
|
|
23801
23687
|
"image",
|
|
23802
23688
|
"video",
|
|
@@ -23817,7 +23703,39 @@ var init_media$2 = __esmMin((() => {
|
|
|
23817
23703
|
height: z.number().optional(),
|
|
23818
23704
|
storageBucket: z.string().optional(),
|
|
23819
23705
|
storagePath: z.string().optional(),
|
|
23820
|
-
transform: transformSchema
|
|
23706
|
+
transform: transformSchema.optional()
|
|
23707
|
+
});
|
|
23708
|
+
}));
|
|
23709
|
+
//#endregion
|
|
23710
|
+
//#region ../theme-core/src/palette/schema.ts
|
|
23711
|
+
var colourHexString, paletteColorSchema, paletteMetaSchema, paletteSchema;
|
|
23712
|
+
var init_schema$1 = __esmMin((() => {
|
|
23713
|
+
init_colors();
|
|
23714
|
+
colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
23715
|
+
paletteColorSchema = z$1.object({
|
|
23716
|
+
name: z$1.string().min(1),
|
|
23717
|
+
hex: colourHexString
|
|
23718
|
+
});
|
|
23719
|
+
paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
|
|
23720
|
+
paletteSchema = z$1.object({
|
|
23721
|
+
colors: z$1.array(paletteColorSchema),
|
|
23722
|
+
meta: paletteMetaSchema
|
|
23723
|
+
}).transform((palette, ctx) => {
|
|
23724
|
+
const colors = paletteColorsFromEntries(palette.colors);
|
|
23725
|
+
if (!colors.ok) {
|
|
23726
|
+
ctx.addIssue({
|
|
23727
|
+
code: "custom",
|
|
23728
|
+
message: `Invalid complete palette: ${colors.error.kind}`
|
|
23729
|
+
});
|
|
23730
|
+
return z$1.NEVER;
|
|
23731
|
+
}
|
|
23732
|
+
return {
|
|
23733
|
+
colors: paletteColorEntries(colors.colors).map(({ name, hex }) => ({
|
|
23734
|
+
name: String(name),
|
|
23735
|
+
hex: String(hex)
|
|
23736
|
+
})),
|
|
23737
|
+
meta: palette.meta
|
|
23738
|
+
};
|
|
23821
23739
|
});
|
|
23822
23740
|
}));
|
|
23823
23741
|
var init_foregroundRoles = __esmMin((() => {}));
|
|
@@ -24453,20 +24371,61 @@ var init_classNames = __esmMin((() => {
|
|
|
24453
24371
|
}));
|
|
24454
24372
|
var init_generateBaseCSS = __esmMin((() => {}));
|
|
24455
24373
|
//#endregion
|
|
24374
|
+
//#region ../theme-core/src/buttons/effects/cssUtils.ts
|
|
24375
|
+
/**
|
|
24376
|
+
* Generate CSS selector for a state with dual support for hover
|
|
24377
|
+
*
|
|
24378
|
+
* @param themeId - Theme scope ID
|
|
24379
|
+
* @param variantId - Variant class name
|
|
24380
|
+
* @param state - State group (hover, active, focus, base)
|
|
24381
|
+
* @returns CSS selector string
|
|
24382
|
+
*/
|
|
24383
|
+
function getStateSelector(themeId, variantId, state) {
|
|
24384
|
+
const stateSelector = STATE_SELECTORS[state];
|
|
24385
|
+
if (state === "base") return `:where([data-theme-scope="${themeId}"]) .${variantId}`;
|
|
24386
|
+
if (state === "hover") return `:where([data-theme-scope="${themeId}"]) .${variantId}:hover,
|
|
24387
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}[data-force-hover="true"]`;
|
|
24388
|
+
return `:where([data-theme-scope="${themeId}"]) .${variantId}${stateSelector}`;
|
|
24389
|
+
}
|
|
24390
|
+
/**
|
|
24391
|
+
* Generate CSS rule block for a state
|
|
24392
|
+
*
|
|
24393
|
+
* @param themeId - Theme scope ID
|
|
24394
|
+
* @param variantId - Variant class name
|
|
24395
|
+
* @param state - State group
|
|
24396
|
+
* @param cssProperties - CSS properties string (e.g., "transform: scale(1.05);")
|
|
24397
|
+
* @returns Complete CSS rule block
|
|
24398
|
+
*/
|
|
24399
|
+
function generateStateCSS(themeId, variantId, state, cssProperties) {
|
|
24400
|
+
return `
|
|
24401
|
+
${getStateSelector(themeId, variantId, state)} {
|
|
24402
|
+
${cssProperties}
|
|
24403
|
+
}
|
|
24404
|
+
`;
|
|
24405
|
+
}
|
|
24406
|
+
var STATE_SELECTORS;
|
|
24407
|
+
var init_cssUtils = __esmMin((() => {
|
|
24408
|
+
STATE_SELECTORS = {
|
|
24409
|
+
hover: ":hover, [data-force-hover=\"true\"]",
|
|
24410
|
+
active: ":active",
|
|
24411
|
+
focus: ":focus-visible",
|
|
24412
|
+
base: ""
|
|
24413
|
+
};
|
|
24414
|
+
}));
|
|
24415
|
+
//#endregion
|
|
24456
24416
|
//#region ../theme-core/src/buttons/effects/presets/background.ts
|
|
24457
|
-
|
|
24458
|
-
|
|
24459
|
-
|
|
24460
|
-
|
|
24461
|
-
|
|
24462
|
-
description: "Darkens the background color on hover",
|
|
24417
|
+
function shadeBackgroundEffect(config) {
|
|
24418
|
+
return {
|
|
24419
|
+
id: config.id,
|
|
24420
|
+
name: config.name,
|
|
24421
|
+
description: config.description,
|
|
24463
24422
|
category: "background",
|
|
24464
24423
|
pseudoElement: "none",
|
|
24465
24424
|
applicableTo: ["button"],
|
|
24466
24425
|
customizableOption: {
|
|
24467
24426
|
name: "amount",
|
|
24468
24427
|
type: "select",
|
|
24469
|
-
label:
|
|
24428
|
+
label: config.label,
|
|
24470
24429
|
default: 100,
|
|
24471
24430
|
options: [
|
|
24472
24431
|
0,
|
|
@@ -24481,63 +24440,36 @@ var init_background$2 = __esmMin((() => {
|
|
|
24481
24440
|
900
|
|
24482
24441
|
]
|
|
24483
24442
|
},
|
|
24484
|
-
isApplicable: (buttonConfig) =>
|
|
24485
|
-
|
|
24486
|
-
},
|
|
24487
|
-
generateCSS: (ctx) => {
|
|
24488
|
-
const { themeId, variantId, options, tokens, buttonConfig } = ctx;
|
|
24443
|
+
isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
|
|
24444
|
+
generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
|
|
24489
24445
|
if (buttonConfig.background.type !== "solid") return "";
|
|
24490
|
-
const amount = options.amount || 100;
|
|
24446
|
+
const amount = (options.amount || 100) * config.shadeDirection;
|
|
24491
24447
|
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
24492
|
-
const darkerToken = tokens.adjustShade(baseToken, amount);
|
|
24493
24448
|
return `
|
|
24494
24449
|
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
24495
|
-
background-color: ${tokens.getColor(
|
|
24450
|
+
background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
|
|
24496
24451
|
}
|
|
24497
24452
|
`;
|
|
24498
24453
|
}
|
|
24499
24454
|
};
|
|
24500
|
-
|
|
24455
|
+
}
|
|
24456
|
+
var darkenBackgroundEffect, lightenBackgroundEffect, fadeBackgroundEffect, opacityReduceEffect, animatedGradientEffect, backgroundOnHoverEffect, backgroundOnHoverAlphaEffect;
|
|
24457
|
+
var init_background$2 = __esmMin((() => {
|
|
24458
|
+
init_cssUtils();
|
|
24459
|
+
darkenBackgroundEffect = shadeBackgroundEffect({
|
|
24460
|
+
id: "darken-background",
|
|
24461
|
+
name: "Darken on Hover",
|
|
24462
|
+
description: "Darkens the background color on hover",
|
|
24463
|
+
label: "Darken Amount (shade step)",
|
|
24464
|
+
shadeDirection: 1
|
|
24465
|
+
});
|
|
24466
|
+
lightenBackgroundEffect = shadeBackgroundEffect({
|
|
24501
24467
|
id: "lighten-background",
|
|
24502
24468
|
name: "Lighten on Hover",
|
|
24503
24469
|
description: "Lightens the background color on hover",
|
|
24504
|
-
|
|
24505
|
-
|
|
24506
|
-
|
|
24507
|
-
customizableOption: {
|
|
24508
|
-
name: "amount",
|
|
24509
|
-
type: "select",
|
|
24510
|
-
label: "Lighten Amount (shade step)",
|
|
24511
|
-
default: 100,
|
|
24512
|
-
options: [
|
|
24513
|
-
0,
|
|
24514
|
-
100,
|
|
24515
|
-
200,
|
|
24516
|
-
300,
|
|
24517
|
-
400,
|
|
24518
|
-
500,
|
|
24519
|
-
600,
|
|
24520
|
-
700,
|
|
24521
|
-
800,
|
|
24522
|
-
900
|
|
24523
|
-
]
|
|
24524
|
-
},
|
|
24525
|
-
isApplicable: (buttonConfig) => {
|
|
24526
|
-
return buttonConfig.background.type === "solid";
|
|
24527
|
-
},
|
|
24528
|
-
generateCSS: (ctx) => {
|
|
24529
|
-
const { themeId, variantId, options, tokens, buttonConfig } = ctx;
|
|
24530
|
-
if (buttonConfig.background.type !== "solid") return "";
|
|
24531
|
-
const amount = options.amount || 100;
|
|
24532
|
-
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
24533
|
-
const lighterToken = tokens.adjustShade(baseToken, -amount);
|
|
24534
|
-
return `
|
|
24535
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
24536
|
-
background-color: ${tokens.getColor(lighterToken)};
|
|
24537
|
-
}
|
|
24538
|
-
`;
|
|
24539
|
-
}
|
|
24540
|
-
};
|
|
24470
|
+
label: "Lighten Amount (shade step)",
|
|
24471
|
+
shadeDirection: -1
|
|
24472
|
+
});
|
|
24541
24473
|
fadeBackgroundEffect = {
|
|
24542
24474
|
id: "fade-background",
|
|
24543
24475
|
name: "Fade on Hover",
|
|
@@ -24638,12 +24570,14 @@ var init_background$2 = __esmMin((() => {
|
|
|
24638
24570
|
]
|
|
24639
24571
|
},
|
|
24640
24572
|
generateCSS: (ctx) => {
|
|
24641
|
-
const { themeId, variantId, options, tokens, buttonConfig } = ctx;
|
|
24573
|
+
const { themeId, variantId, stateGroup, options, tokens, buttonConfig } = ctx;
|
|
24642
24574
|
const colorToken = options.colorToken || "neutral-800";
|
|
24575
|
+
const color = tokens.getColor(colorToken);
|
|
24576
|
+
const navForeground = "textColorToken" in buttonConfig && typeof options.textColorToken === "string" ? `\n color: ${tokens.getColor(options.textColorToken)};` : "";
|
|
24643
24577
|
return `
|
|
24644
24578
|
/* Add background on hover */
|
|
24645
|
-
|
|
24646
|
-
background-color: ${
|
|
24579
|
+
${getStateSelector(themeId, variantId, stateGroup)} {
|
|
24580
|
+
background-color: ${color};${navForeground}
|
|
24647
24581
|
}
|
|
24648
24582
|
`;
|
|
24649
24583
|
}
|
|
@@ -24676,48 +24610,6 @@ var init_background$2 = __esmMin((() => {
|
|
|
24676
24610
|
};
|
|
24677
24611
|
}));
|
|
24678
24612
|
//#endregion
|
|
24679
|
-
//#region ../theme-core/src/buttons/effects/cssUtils.ts
|
|
24680
|
-
/**
|
|
24681
|
-
* Generate CSS selector for a state with dual support for hover
|
|
24682
|
-
*
|
|
24683
|
-
* @param themeId - Theme scope ID
|
|
24684
|
-
* @param variantId - Variant class name
|
|
24685
|
-
* @param state - State group (hover, active, focus, base)
|
|
24686
|
-
* @returns CSS selector string
|
|
24687
|
-
*/
|
|
24688
|
-
function getStateSelector(themeId, variantId, state) {
|
|
24689
|
-
const stateSelector = STATE_SELECTORS[state];
|
|
24690
|
-
if (state === "base") return `:where([data-theme-scope="${themeId}"]) .${variantId}`;
|
|
24691
|
-
if (state === "hover") return `:where([data-theme-scope="${themeId}"]) .${variantId}:hover,
|
|
24692
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}[data-force-hover="true"]`;
|
|
24693
|
-
return `:where([data-theme-scope="${themeId}"]) .${variantId}${stateSelector}`;
|
|
24694
|
-
}
|
|
24695
|
-
/**
|
|
24696
|
-
* Generate CSS rule block for a state
|
|
24697
|
-
*
|
|
24698
|
-
* @param themeId - Theme scope ID
|
|
24699
|
-
* @param variantId - Variant class name
|
|
24700
|
-
* @param state - State group
|
|
24701
|
-
* @param cssProperties - CSS properties string (e.g., "transform: scale(1.05);")
|
|
24702
|
-
* @returns Complete CSS rule block
|
|
24703
|
-
*/
|
|
24704
|
-
function generateStateCSS(themeId, variantId, state, cssProperties) {
|
|
24705
|
-
return `
|
|
24706
|
-
${getStateSelector(themeId, variantId, state)} {
|
|
24707
|
-
${cssProperties}
|
|
24708
|
-
}
|
|
24709
|
-
`;
|
|
24710
|
-
}
|
|
24711
|
-
var STATE_SELECTORS;
|
|
24712
|
-
var init_cssUtils = __esmMin((() => {
|
|
24713
|
-
STATE_SELECTORS = {
|
|
24714
|
-
hover: ":hover, [data-force-hover=\"true\"]",
|
|
24715
|
-
active: ":active",
|
|
24716
|
-
focus: ":focus-visible",
|
|
24717
|
-
base: ""
|
|
24718
|
-
};
|
|
24719
|
-
}));
|
|
24720
|
-
//#endregion
|
|
24721
24613
|
//#region ../theme-core/src/buttons/effects/presets/shadow.ts
|
|
24722
24614
|
var borderGlowEffect, dropShadowEffect, innerShadowEffect, neumorphicShadowEffect, outerGlowEffect, retro3DShadowEffect;
|
|
24723
24615
|
var init_shadow = __esmMin((() => {
|
|
@@ -26665,6 +26557,41 @@ var init_tokenOrColor = __esmMin((() => {
|
|
|
26665
26557
|
"yellow"
|
|
26666
26558
|
]);
|
|
26667
26559
|
}));
|
|
26560
|
+
var init_paintTargets = __esmMin((() => {
|
|
26561
|
+
init_breakpoints();
|
|
26562
|
+
}));
|
|
26563
|
+
var headerScrollTreatmentSchema;
|
|
26564
|
+
var init_scrollTreatment = __esmMin((() => {
|
|
26565
|
+
init_paintTargets();
|
|
26566
|
+
headerScrollTreatmentSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
26567
|
+
kind: z$1.literal("contrast-glass"),
|
|
26568
|
+
backgroundTone: z$1.enum(["light", "dark"])
|
|
26569
|
+
})]).optional();
|
|
26570
|
+
}));
|
|
26571
|
+
//#endregion
|
|
26572
|
+
//#region ../theme-core/src/header/containerSchema.ts
|
|
26573
|
+
var headerContainerSchema;
|
|
26574
|
+
var init_containerSchema = __esmMin((() => {
|
|
26575
|
+
headerContainerSchema = z$1.object({
|
|
26576
|
+
rounded: z$1.enum([
|
|
26577
|
+
"none",
|
|
26578
|
+
"sm",
|
|
26579
|
+
"md",
|
|
26580
|
+
"lg",
|
|
26581
|
+
"xl",
|
|
26582
|
+
"2xl"
|
|
26583
|
+
]).default("xl"),
|
|
26584
|
+
border: z$1.boolean().default(true),
|
|
26585
|
+
shadow: z$1.boolean().default(true),
|
|
26586
|
+
padding: z$1.enum([
|
|
26587
|
+
"sm",
|
|
26588
|
+
"md",
|
|
26589
|
+
"lg"
|
|
26590
|
+
]).default("md"),
|
|
26591
|
+
tint: z$1.string().nullable().optional(),
|
|
26592
|
+
opacity: z$1.number().min(0).max(1).default(.12)
|
|
26593
|
+
}).optional();
|
|
26594
|
+
}));
|
|
26668
26595
|
//#endregion
|
|
26669
26596
|
//#region ../theme-core/src/schema.ts
|
|
26670
26597
|
/**
|
|
@@ -26681,9 +26608,10 @@ function normaliseHeaderNavFontRole(header) {
|
|
|
26681
26608
|
navFontRole: navTypography
|
|
26682
26609
|
} : rest;
|
|
26683
26610
|
}
|
|
26684
|
-
var axesSchema,
|
|
26611
|
+
var axesSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, boxBackgroundOverlaySchema, boxBackgroundSchema, noHeadingDecorationSchema, visibleHeadingDecorationSchema, headingDecorationSchema, headingDecorationOverrideSchema, accordionIconTreatmentSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, eyebrowTypographyStyleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle, headerVariant, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerBarFrame, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, navEffectsSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerMode, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, gradientsSchema, testimonialQuoteTreatmentSchema, themeSchema;
|
|
26685
26612
|
var init_schema = __esmMin((() => {
|
|
26686
|
-
init_media$
|
|
26613
|
+
init_media$1();
|
|
26614
|
+
init_schema$1();
|
|
26687
26615
|
init_buttons();
|
|
26688
26616
|
init_cards();
|
|
26689
26617
|
init_types$9();
|
|
@@ -26698,6 +26626,9 @@ var init_schema = __esmMin((() => {
|
|
|
26698
26626
|
init_rawStyleFields();
|
|
26699
26627
|
init_themeColorTokens();
|
|
26700
26628
|
init_tokenOrColor();
|
|
26629
|
+
init_scrollTreatment();
|
|
26630
|
+
init_containerSchema();
|
|
26631
|
+
init_interactionPalette();
|
|
26701
26632
|
axesSchema = z$1.object({
|
|
26702
26633
|
tone: z$1.enum([
|
|
26703
26634
|
"minimal",
|
|
@@ -26726,16 +26657,6 @@ var init_schema = __esmMin((() => {
|
|
|
26726
26657
|
"expressive"
|
|
26727
26658
|
])
|
|
26728
26659
|
});
|
|
26729
|
-
colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
26730
|
-
paletteColorSchema = z$1.object({
|
|
26731
|
-
name: z$1.string().min(1),
|
|
26732
|
-
hex: colourHexString
|
|
26733
|
-
});
|
|
26734
|
-
paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
|
|
26735
|
-
paletteSchema = z$1.object({
|
|
26736
|
-
colors: z$1.array(paletteColorSchema),
|
|
26737
|
-
meta: paletteMetaSchema
|
|
26738
|
-
});
|
|
26739
26660
|
typographyStyleSchema = z$1.object({
|
|
26740
26661
|
family: z$1.string().min(1),
|
|
26741
26662
|
weight: z$1.enum([
|
|
@@ -26867,7 +26788,7 @@ var init_schema = __esmMin((() => {
|
|
|
26867
26788
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
26868
26789
|
gradient: z$1.string().nullable().optional(),
|
|
26869
26790
|
gradientPresetId: z$1.string().min(1).nullable().optional(),
|
|
26870
|
-
image: mediaSchema
|
|
26791
|
+
image: mediaSchema.nullable().optional(),
|
|
26871
26792
|
objectFit: z$1.enum([
|
|
26872
26793
|
"fill",
|
|
26873
26794
|
"fit",
|
|
@@ -27115,25 +27036,6 @@ var init_schema = __esmMin((() => {
|
|
|
27115
27036
|
]);
|
|
27116
27037
|
headerMaxWidth = z$1.enum(["container", "full"]);
|
|
27117
27038
|
headerBarFrame = z$1.enum(["full-bleed", "inset-shell"]);
|
|
27118
|
-
headerContainerSchema = z$1.object({
|
|
27119
|
-
rounded: z$1.enum([
|
|
27120
|
-
"none",
|
|
27121
|
-
"sm",
|
|
27122
|
-
"md",
|
|
27123
|
-
"lg",
|
|
27124
|
-
"xl",
|
|
27125
|
-
"2xl"
|
|
27126
|
-
]).default("xl"),
|
|
27127
|
-
border: z$1.boolean().default(true),
|
|
27128
|
-
shadow: z$1.boolean().default(true),
|
|
27129
|
-
padding: z$1.enum([
|
|
27130
|
-
"sm",
|
|
27131
|
-
"md",
|
|
27132
|
-
"lg"
|
|
27133
|
-
]).default("md"),
|
|
27134
|
-
tint: z$1.string().nullable().optional(),
|
|
27135
|
-
opacity: z$1.number().min(0).max(1).default(.12)
|
|
27136
|
-
}).optional();
|
|
27137
27039
|
headerBorderSchema = componentBorderSchema.extend({ position: z$1.enum([
|
|
27138
27040
|
"bottom",
|
|
27139
27041
|
"top",
|
|
@@ -27247,7 +27149,7 @@ var init_schema = __esmMin((() => {
|
|
|
27247
27149
|
contentOwner: z$1.literal(siteChromeBackgroundOverrideOwner).optional(),
|
|
27248
27150
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
27249
27151
|
gradient: gradientConfigSchema.nullable().optional(),
|
|
27250
|
-
image: mediaSchema
|
|
27152
|
+
image: mediaSchema.nullable().optional(),
|
|
27251
27153
|
textColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
27252
27154
|
});
|
|
27253
27155
|
headerSchema = z$1.object({
|
|
@@ -27256,7 +27158,8 @@ var init_schema = __esmMin((() => {
|
|
|
27256
27158
|
shrinkOnScroll: z$1.boolean(),
|
|
27257
27159
|
maxWidth: headerMaxWidth,
|
|
27258
27160
|
barFrame: headerBarFrame.optional(),
|
|
27259
|
-
|
|
27161
|
+
scrollTreatment: headerScrollTreatmentSchema,
|
|
27162
|
+
logoOverride: mediaSchema.nullable().optional(),
|
|
27260
27163
|
background: headerBackgroundSchema.default({
|
|
27261
27164
|
type: "color",
|
|
27262
27165
|
color: "surface"
|
|
@@ -27268,6 +27171,7 @@ var init_schema = __esmMin((() => {
|
|
|
27268
27171
|
navFontRole: z$1.enum(["body", "heading"]).optional(),
|
|
27269
27172
|
navTypography: z$1.enum(["body", "heading"]).optional(),
|
|
27270
27173
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
27174
|
+
interactionPalette: headerInteractionPaletteSchema.optional(),
|
|
27271
27175
|
navPlacement: z$1.enum(["end", "center"]).optional(),
|
|
27272
27176
|
container: headerContainerSchema,
|
|
27273
27177
|
border: headerBorderSchema,
|
|
@@ -27728,7 +27632,6 @@ var init_runtimeCompiler = __esmMin((() => {
|
|
|
27728
27632
|
init_modern_minimal();
|
|
27729
27633
|
init_expandPalette();
|
|
27730
27634
|
init_styles();
|
|
27731
|
-
init_colors();
|
|
27732
27635
|
init_designState();
|
|
27733
27636
|
init_types$15();
|
|
27734
27637
|
init_accessibleSurfaces();
|
|
@@ -29604,7 +29507,7 @@ var init_siteStyleThemeCompiler = __esmMin((() => {
|
|
|
29604
29507
|
init_curatedSiteStyles();
|
|
29605
29508
|
init_runtimeCompiler();
|
|
29606
29509
|
init_curated();
|
|
29607
|
-
|
|
29510
|
+
init_concretePalette();
|
|
29608
29511
|
}));
|
|
29609
29512
|
var init_previewCustomization = __esmMin((() => {
|
|
29610
29513
|
init_types$15();
|
|
@@ -29614,7 +29517,7 @@ var init_previewCompiler = __esmMin((() => {
|
|
|
29614
29517
|
init_onColor();
|
|
29615
29518
|
init_tokens();
|
|
29616
29519
|
init_curated();
|
|
29617
|
-
|
|
29520
|
+
init_concretePalette();
|
|
29618
29521
|
init_curatedSiteStyles();
|
|
29619
29522
|
init_resolver();
|
|
29620
29523
|
init_types$15();
|
|
@@ -29713,6 +29616,7 @@ var init_records = __esmMin((() => {}));
|
|
|
29713
29616
|
var init_headerOpeningSection = __esmMin((() => {
|
|
29714
29617
|
init_headerLooks();
|
|
29715
29618
|
init_records();
|
|
29619
|
+
init_tokens();
|
|
29716
29620
|
}));
|
|
29717
29621
|
var init_generatedDesignPipeline = __esmMin((() => {
|
|
29718
29622
|
init_compositionBudget();
|
|
@@ -30008,8 +29912,11 @@ var init_site_styles = __esmMin((() => {
|
|
|
30008
29912
|
init_generatedSchemas();
|
|
30009
29913
|
init_generatedDesignPipeline();
|
|
30010
29914
|
init_headerLooks();
|
|
29915
|
+
init_headerInteractionPalette();
|
|
29916
|
+
init_headerOpeningForeground();
|
|
30011
29917
|
init_headerOpeningSection();
|
|
30012
29918
|
init_lookResolution();
|
|
29919
|
+
init_lookOptionGroups();
|
|
30013
29920
|
init_logoBranding();
|
|
30014
29921
|
init_pageDesignAuthority();
|
|
30015
29922
|
init_pageDesignEditorErrors();
|
|
@@ -30976,7 +30883,7 @@ function devValidate(node) {
|
|
|
30976
30883
|
}
|
|
30977
30884
|
var section$1, headerSection, stack, inline, accordion, accordionItem, carousel, text, richText, icon, media, fileDownload, videoEmbed, spinner, button, link, form, bookingForm, eventRegistration, shop, productList, productDetail, cart, checkout$1, gifting, courseRegistration;
|
|
30978
30885
|
var init_builder$1 = __esmMin((() => {
|
|
30979
|
-
init_schema$
|
|
30886
|
+
init_schema$3();
|
|
30980
30887
|
init_types$6();
|
|
30981
30888
|
init_env();
|
|
30982
30889
|
section$1 = (props, children, ...mods) => el("section", props, children, ...mods);
|
|
@@ -32614,7 +32521,7 @@ function scopeContentPath(path, scope) {
|
|
|
32614
32521
|
}
|
|
32615
32522
|
var FRAGMENT_ID_PATTERN, FIELD_ID_PATTERN, dataLoaderSchema, fragmentDataSchema, fragmentConfigSchema, FragmentConfigError;
|
|
32616
32523
|
var init_types$5 = __esmMin((() => {
|
|
32617
|
-
init_schema$
|
|
32524
|
+
init_schema$2();
|
|
32618
32525
|
init_node();
|
|
32619
32526
|
FRAGMENT_ID_PATTERN = /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/i;
|
|
32620
32527
|
FIELD_ID_PATTERN = /^[a-z][a-zA-Z0-9_-]*$/;
|
|
@@ -32868,23 +32775,14 @@ var init_heroCopy = __esmMin((() => {
|
|
|
32868
32775
|
}));
|
|
32869
32776
|
//#endregion
|
|
32870
32777
|
//#region ../blocks/src/system/constants/buttonRoles.ts
|
|
32871
|
-
/**
|
|
32872
|
-
* Temporary rollout boundary for persisted content written before issue #1220.
|
|
32873
|
-
* Authoring remains strict through `blockButtonRoleSchema`; this parser exists
|
|
32874
|
-
* only until the post-deploy role rewrite has been audited in production.
|
|
32875
|
-
*/
|
|
32876
|
-
function canonicalizePersistedBlockButtonRole(value) {
|
|
32877
|
-
return value === "link" || value === "tertiary" ? "ghost" : value;
|
|
32878
|
-
}
|
|
32879
32778
|
function isBlockButtonRole(value) {
|
|
32880
32779
|
return blockButtonRoleSchema.safeParse(value).success;
|
|
32881
32780
|
}
|
|
32882
|
-
var BLOCK_BUTTON_ROLES, blockButtonRoleSchema,
|
|
32781
|
+
var BLOCK_BUTTON_ROLES, blockButtonRoleSchema, BLOCK_BUTTON_ROLE_LABELS, BLOCK_BUTTON_ROLE_OPTIONS;
|
|
32883
32782
|
var init_buttonRoles = __esmMin((() => {
|
|
32884
32783
|
init_buttons();
|
|
32885
32784
|
BLOCK_BUTTON_ROLES = PUBLIC_BUTTON_ROLES;
|
|
32886
32785
|
blockButtonRoleSchema = z$1.enum(BLOCK_BUTTON_ROLES);
|
|
32887
|
-
persistedBlockButtonRoleSchema = z$1.preprocess((value) => typeof value === "string" ? canonicalizePersistedBlockButtonRole(value) : value, blockButtonRoleSchema);
|
|
32888
32786
|
BLOCK_BUTTON_ROLE_LABELS = {
|
|
32889
32787
|
primary: "Primary",
|
|
32890
32788
|
secondary: "Secondary",
|
|
@@ -35548,7 +35446,7 @@ function deriveComponentName(id) {
|
|
|
35548
35446
|
return `${id.replace(/^block\./, "").replace(/-/g, ".").replace(/([a-z])([A-Z])/g, "$1.$2").toLowerCase()}.default`;
|
|
35549
35447
|
}
|
|
35550
35448
|
var init_defineBlock = __esmMin((() => {
|
|
35551
|
-
init_schema$
|
|
35449
|
+
init_schema$2();
|
|
35552
35450
|
init_fragments();
|
|
35553
35451
|
init_augmentManifest();
|
|
35554
35452
|
}));
|
|
@@ -36244,7 +36142,7 @@ const blogPostBlockDefinition = {
|
|
|
36244
36142
|
//#region ../blocks/src/system/blocks/blog-listing.ts
|
|
36245
36143
|
init_defineBlock();
|
|
36246
36144
|
init_boxStyles$1();
|
|
36247
|
-
init_schema$
|
|
36145
|
+
init_schema$2();
|
|
36248
36146
|
init_builder$1();
|
|
36249
36147
|
init_fragments$1();
|
|
36250
36148
|
init_colorStyles();
|
|
@@ -37993,7 +37891,7 @@ function planSiteChromePlacement(positioning) {
|
|
|
37993
37891
|
headerRootClassName: "rb-fixed rb-top-0 rb-left-0 rb-right-0",
|
|
37994
37892
|
standaloneShellClassName: "fixed left-0 right-0 top-0 z-40 w-full"
|
|
37995
37893
|
};
|
|
37996
|
-
default: return assertNever$
|
|
37894
|
+
default: return assertNever$15(positioning);
|
|
37997
37895
|
}
|
|
37998
37896
|
}
|
|
37999
37897
|
function splitSiteChromePlacementClasses(className) {
|
|
@@ -39216,7 +39114,7 @@ const siteFooterBlockDefinition = { manifest: createBlockManifest({
|
|
|
39216
39114
|
}) };
|
|
39217
39115
|
//#endregion
|
|
39218
39116
|
//#region ../blocks/src/system/blocks/testimonials.tsx
|
|
39219
|
-
init_schema$
|
|
39117
|
+
init_schema$2();
|
|
39220
39118
|
init_fragments$1();
|
|
39221
39119
|
init_styledSection();
|
|
39222
39120
|
init_boxStyles$1();
|
|
@@ -39427,7 +39325,7 @@ const testimonialsBlockDefinition = {
|
|
|
39427
39325
|
//#endregion
|
|
39428
39326
|
//#region ../blocks/src/system/blocks/columns.ts
|
|
39429
39327
|
init_fragments();
|
|
39430
|
-
init_schema$
|
|
39328
|
+
init_schema$2();
|
|
39431
39329
|
init_defineBlock();
|
|
39432
39330
|
init_node();
|
|
39433
39331
|
init_builder$1();
|
|
@@ -39685,7 +39583,7 @@ function repeaterFragmentLayout(args) {
|
|
|
39685
39583
|
//#endregion
|
|
39686
39584
|
//#region ../blocks/src/system/blocks/collection.ts
|
|
39687
39585
|
init_fragments();
|
|
39688
|
-
init_schema$
|
|
39586
|
+
init_schema$2();
|
|
39689
39587
|
init_defineBlock();
|
|
39690
39588
|
init_builder$1();
|
|
39691
39589
|
init_fragments$1();
|
|
@@ -41094,88 +40992,7 @@ const weeklySlotAvailabilityBlockDefinition = {
|
|
|
41094
40992
|
};
|
|
41095
40993
|
//#endregion
|
|
41096
40994
|
//#region ../blocks/src/system/blocks/events/shared/types.ts
|
|
41097
|
-
var init_types$4 = __esmMin((() => {}))
|
|
41098
|
-
var init_media$1 = __esmMin((() => {
|
|
41099
|
-
init_src$2();
|
|
41100
|
-
PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
41101
|
-
"document",
|
|
41102
|
-
"spreadsheet",
|
|
41103
|
-
"archive",
|
|
41104
|
-
"audio"
|
|
41105
|
-
];
|
|
41106
|
-
hotspotSchema = z.object({
|
|
41107
|
-
x: z.number().min(0).max(1),
|
|
41108
|
-
y: z.number().min(0).max(1),
|
|
41109
|
-
radius: z.number().optional()
|
|
41110
|
-
});
|
|
41111
|
-
rotationSchema = z.union([
|
|
41112
|
-
z.literal(0),
|
|
41113
|
-
z.literal(90),
|
|
41114
|
-
z.literal(180),
|
|
41115
|
-
z.literal(270)
|
|
41116
|
-
]);
|
|
41117
|
-
rectSchema = z.tuple([
|
|
41118
|
-
z.number(),
|
|
41119
|
-
z.number(),
|
|
41120
|
-
z.number(),
|
|
41121
|
-
z.number()
|
|
41122
|
-
]);
|
|
41123
|
-
aspectCropSchema = z.object({
|
|
41124
|
-
aspect: z.preprocess((value) => value == null ? void 0 : value, z.string().optional()),
|
|
41125
|
-
rect: z.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
41126
|
-
hotspot: z.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
41127
|
-
rotation: z.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
41128
|
-
});
|
|
41129
|
-
transformSchema = z.object({
|
|
41130
|
-
aspectCrops: z.preprocess((value) => {
|
|
41131
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) return;
|
|
41132
|
-
return value;
|
|
41133
|
-
}, z.record(z.string(), aspectCropSchema.catch({}))).optional(),
|
|
41134
|
-
rect: rectSchema.optional(),
|
|
41135
|
-
hotspot: hotspotSchema.optional(),
|
|
41136
|
-
rotation: rotationSchema.optional()
|
|
41137
|
-
});
|
|
41138
|
-
mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
|
|
41139
|
-
tag: z.literal("storage"),
|
|
41140
|
-
assetId: z.string().optional(),
|
|
41141
|
-
storageBucket: z.string().min(1),
|
|
41142
|
-
storagePath: z.string().min(1)
|
|
41143
|
-
}), z.object({
|
|
41144
|
-
tag: z.literal("external-src"),
|
|
41145
|
-
assetId: z.string().optional(),
|
|
41146
|
-
src: z.string().url()
|
|
41147
|
-
})]);
|
|
41148
|
-
mediaBaseSchema = z.object({
|
|
41149
|
-
purpose: z.string().optional(),
|
|
41150
|
-
placeholder: z.boolean().default(true).optional(),
|
|
41151
|
-
assetId: z.string().optional(),
|
|
41152
|
-
identifier: z.string().optional(),
|
|
41153
|
-
src: z.string().optional(),
|
|
41154
|
-
alt: z.string().optional(),
|
|
41155
|
-
filename: z.string().optional(),
|
|
41156
|
-
mimeType: z.string().optional(),
|
|
41157
|
-
width: z.number().optional(),
|
|
41158
|
-
height: z.number().optional(),
|
|
41159
|
-
storageBucket: z.string().optional(),
|
|
41160
|
-
storagePath: z.string().optional(),
|
|
41161
|
-
poster: mediaPosterSchema.optional(),
|
|
41162
|
-
transform: transformSchema.optional()
|
|
41163
|
-
});
|
|
41164
|
-
imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
|
|
41165
|
-
videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
|
|
41166
|
-
audioMediaSchema = mediaBaseSchema.extend({ type: z.literal("audio") });
|
|
41167
|
-
documentMediaSchema = mediaBaseSchema.extend({ type: z.literal("document") });
|
|
41168
|
-
spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z.literal("spreadsheet") });
|
|
41169
|
-
archiveMediaSchema = mediaBaseSchema.extend({ type: z.literal("archive") });
|
|
41170
|
-
mediaSchema = z.discriminatedUnion("type", [
|
|
41171
|
-
imageMediaSchema,
|
|
41172
|
-
videoMediaSchema,
|
|
41173
|
-
audioMediaSchema,
|
|
41174
|
-
documentMediaSchema,
|
|
41175
|
-
spreadsheetMediaSchema,
|
|
41176
|
-
archiveMediaSchema
|
|
41177
|
-
]);
|
|
41178
|
-
}));
|
|
40995
|
+
var init_types$4 = __esmMin((() => {}));
|
|
41179
40996
|
//#endregion
|
|
41180
40997
|
//#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
41181
40998
|
var bookingDepositRefundPolicySchema, bookingInstalmentPlanSchema, bookingFlexibleBalanceDueDateRuleSchema, bookingFlexibleBalanceConfigSchema, blockBookingPaymentCollectionOptionSchema, blockBookingPaymentTermsSchema;
|
|
@@ -41328,7 +41145,7 @@ var init_schemas$1 = __esmMin((() => {
|
|
|
41328
41145
|
publicCoursesArraySchema = publicWholeSeriesOfferingsArraySchema;
|
|
41329
41146
|
})), eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema$1, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, publicCoursePriceDisplaySchema, publicEventTicketTypePriceDisplaySchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventTicketTypeAvailabilitySchema, publicEventTicketTypeSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventSchema, publicEventsArraySchema;
|
|
41330
41147
|
var init_schemas = __esmMin((() => {
|
|
41331
|
-
init_media$
|
|
41148
|
+
init_media$2();
|
|
41332
41149
|
init_richTextSchema();
|
|
41333
41150
|
init_bookingPaymentTerms();
|
|
41334
41151
|
init_schemas$1();
|
|
@@ -41604,7 +41421,7 @@ var init_schemas = __esmMin((() => {
|
|
|
41604
41421
|
presentation: z$1.object({
|
|
41605
41422
|
cardTitleOverride: z$1.string().nullable().optional(),
|
|
41606
41423
|
summary: z$1.string().nullable().optional(),
|
|
41607
|
-
image: mediaSchema.nullable().optional()
|
|
41424
|
+
image: mediaSchema$1.nullable().optional()
|
|
41608
41425
|
}).optional(),
|
|
41609
41426
|
slug: z$1.string(),
|
|
41610
41427
|
path: z$1.string().nullable(),
|
|
@@ -42252,7 +42069,7 @@ var init_contract_schemas = __esmMin((() => {
|
|
|
42252
42069
|
init_buttonRoles();
|
|
42253
42070
|
previewStageSchema = z$1.enum(["preview", "published"]);
|
|
42254
42071
|
registrationButtonVariantSchema = blockButtonRoleSchema;
|
|
42255
|
-
eventButtonVariantSchema =
|
|
42072
|
+
eventButtonVariantSchema = blockButtonRoleSchema;
|
|
42256
42073
|
eventLayoutSchema = z$1.enum(eventCalendarListLayoutValues);
|
|
42257
42074
|
eventCalendarDisplayModeSchema = z$1.enum(eventCalendarDisplayModeValues);
|
|
42258
42075
|
eventCalendarDefaultViewSchema = z$1.enum(eventCalendarDefaultViewValues);
|
|
@@ -47085,7 +46902,7 @@ var init_EventCalendar_interactive = __esmMin((() => {
|
|
|
47085
46902
|
}));
|
|
47086
46903
|
//#endregion
|
|
47087
46904
|
//#region ../blocks/src/system/blocks/events/event-calendar.ts
|
|
47088
|
-
init_schema$
|
|
46905
|
+
init_schema$2();
|
|
47089
46906
|
init_builder$1();
|
|
47090
46907
|
init_styledSection();
|
|
47091
46908
|
init_fragments$1();
|
|
@@ -48518,10 +48335,10 @@ function preferredPathsForSource(source) {
|
|
|
48518
48335
|
case "workshop": return ["/workshops", "/workshop"];
|
|
48519
48336
|
case "retreat": return ["/retreats", "/retreat"];
|
|
48520
48337
|
case "performance": return ["/performances", "/performance"];
|
|
48521
|
-
default: return assertNever$
|
|
48338
|
+
default: return assertNever$24(source.preset, "Unhandled offerings preview event preset");
|
|
48522
48339
|
}
|
|
48523
48340
|
case "course": return ["/courses", "/course"];
|
|
48524
|
-
default: return assertNever$
|
|
48341
|
+
default: return assertNever$24(source, "Unhandled offerings preview source");
|
|
48525
48342
|
}
|
|
48526
48343
|
}
|
|
48527
48344
|
function normalizeRoutePath(value) {
|
|
@@ -48948,7 +48765,7 @@ function isRecord$36(value) {
|
|
|
48948
48765
|
}
|
|
48949
48766
|
//#endregion
|
|
48950
48767
|
//#region ../blocks/src/system/blocks/embed.ts
|
|
48951
|
-
init_schema$
|
|
48768
|
+
init_schema$2();
|
|
48952
48769
|
init_builder$1();
|
|
48953
48770
|
init_fragments$1();
|
|
48954
48771
|
init_defineBlock();
|
|
@@ -49219,7 +49036,7 @@ const embedBlockDefinition = {
|
|
|
49219
49036
|
};
|
|
49220
49037
|
//#endregion
|
|
49221
49038
|
//#region ../blocks/src/system/blocks/image-gallery.ts
|
|
49222
|
-
init_schema$
|
|
49039
|
+
init_schema$2();
|
|
49223
49040
|
init_builder$1();
|
|
49224
49041
|
init_colorStyles();
|
|
49225
49042
|
init_defineBlock();
|
|
@@ -50012,7 +49829,7 @@ const imageGalleryBlockDefinition = { manifest: createBlockManifest({
|
|
|
50012
49829
|
}) };
|
|
50013
49830
|
//#endregion
|
|
50014
49831
|
//#region ../blocks/src/system/blocks/video-grid.ts
|
|
50015
|
-
init_schema$
|
|
49832
|
+
init_schema$2();
|
|
50016
49833
|
init_builder$1();
|
|
50017
49834
|
init_fragments$1();
|
|
50018
49835
|
init_colorStyles();
|
|
@@ -50374,7 +50191,7 @@ const audioPlayerBlockDefinition = { manifest: createBlockManifest({
|
|
|
50374
50191
|
}) };
|
|
50375
50192
|
//#endregion
|
|
50376
50193
|
//#region ../blocks/src/system/blocks/file-download.ts
|
|
50377
|
-
init_media$
|
|
50194
|
+
init_media$2();
|
|
50378
50195
|
init_defineBlock();
|
|
50379
50196
|
init_button();
|
|
50380
50197
|
init_builder$1();
|
|
@@ -52869,13 +52686,13 @@ const newsletterSignupBlockDefinition = {
|
|
|
52869
52686
|
//#endregion
|
|
52870
52687
|
//#region ../blocks/src/system/blocks/team-members.ts
|
|
52871
52688
|
init_fragments();
|
|
52872
|
-
init_schema$
|
|
52689
|
+
init_schema$2();
|
|
52873
52690
|
init_defineBlock();
|
|
52874
52691
|
init_builder$1();
|
|
52875
52692
|
init_fragments$1();
|
|
52876
|
-
init_media$
|
|
52693
|
+
init_media$2();
|
|
52877
52694
|
const ITEM_NAME = "member";
|
|
52878
|
-
const teamMemberPhotoSchema = mediaSchema.refine((media) => media.type === "image", { message: "Team member photos must be image media" }).nullable();
|
|
52695
|
+
const teamMemberPhotoSchema = mediaSchema$1.refine((media) => media.type === "image", { message: "Team member photos must be image media" }).nullable();
|
|
52879
52696
|
const teamMemberDataSchema = z$1.object({
|
|
52880
52697
|
_type: z$1.literal("teamMember"),
|
|
52881
52698
|
id: z$1.string(),
|
|
@@ -53412,7 +53229,7 @@ var init_location_map_shared = __esmMin((() => {
|
|
|
53412
53229
|
}));
|
|
53413
53230
|
//#endregion
|
|
53414
53231
|
//#region ../blocks/src/system/blocks/location-map.ts
|
|
53415
|
-
init_schema$
|
|
53232
|
+
init_schema$2();
|
|
53416
53233
|
init_builder$1();
|
|
53417
53234
|
init_fragments$1();
|
|
53418
53235
|
init_defineBlock();
|
|
@@ -54467,9 +54284,9 @@ function listBlockDefinitions() {
|
|
|
54467
54284
|
init_tokens();
|
|
54468
54285
|
//#endregion
|
|
54469
54286
|
//#region ../blocks/src/system/helpers/backgroundMedia.ts
|
|
54470
|
-
init_media$
|
|
54287
|
+
init_media$2();
|
|
54471
54288
|
function resolveBackgroundMedia(input) {
|
|
54472
|
-
const parsedMedia = mediaSchema.safeParse(input.image);
|
|
54289
|
+
const parsedMedia = mediaSchema$1.safeParse(input.image);
|
|
54473
54290
|
if (!parsedMedia.success) return null;
|
|
54474
54291
|
switch (parsedMedia.data.type) {
|
|
54475
54292
|
case "image":
|
|
@@ -55705,7 +55522,6 @@ function renderMark(mark, key, child) {
|
|
|
55705
55522
|
//#endregion
|
|
55706
55523
|
//#region ../blocks/src/system/runtime/nodes/basic.tsx
|
|
55707
55524
|
init_buttons();
|
|
55708
|
-
init_buttonRoles();
|
|
55709
55525
|
const TextNode = ({ value, children, blockId: _blockId, blockKind: _blockKind, blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, inlineTextFallbackPath, ...rest }) => {
|
|
55710
55526
|
const inlineText = parseInlineTextFromUnknown(value);
|
|
55711
55527
|
if (inlineText.ok && !isInlineTextEmpty(inlineText.value)) return /* @__PURE__ */ jsx(Text$2, {
|
|
@@ -55745,6 +55561,9 @@ function renderTrailingAffordanceIcon(affordance) {
|
|
|
55745
55561
|
className: "rb-ml-2 rb-h-4 rb-w-4 rb-inline-block"
|
|
55746
55562
|
});
|
|
55747
55563
|
}
|
|
55564
|
+
function isMissingRequiredLink(linkRequired, resolvedHref) {
|
|
55565
|
+
return linkRequired && resolvedHref.length === 0;
|
|
55566
|
+
}
|
|
55748
55567
|
const ButtonNode = ({ value, children, href, variantId = "primary", size = "md", disabled, type = "button", target, rel, linkRequired = false, trailingIcon, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, className, ...rest }) => {
|
|
55749
55568
|
const content = value ?? children;
|
|
55750
55569
|
if (!content) {
|
|
@@ -55753,12 +55572,16 @@ const ButtonNode = ({ value, children, href, variantId = "primary", size = "md",
|
|
|
55753
55572
|
}
|
|
55754
55573
|
const affordanceIcon = renderTrailingAffordanceIcon(resolveButtonAffordance({ trailingIcon }));
|
|
55755
55574
|
const resolvedHref = typeof href === "string" ? href.trim() : "";
|
|
55756
|
-
if (linkRequired
|
|
55575
|
+
if (isMissingRequiredLink(linkRequired, resolvedHref)) {
|
|
55757
55576
|
if (process.env.NODE_ENV === "development") console.warn("[ButtonNode] Missing href for link-required button");
|
|
55758
55577
|
return null;
|
|
55759
55578
|
}
|
|
55760
55579
|
const extraClassName = affordanceIcon ? [className, AFFORDANCE_SUPPRESS_CLASS].filter(Boolean).join(" ") : className;
|
|
55761
|
-
const resolvedVariantId = parseThemeButtonVariantId(
|
|
55580
|
+
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
55581
|
+
if (variantId && !resolvedVariantId) {
|
|
55582
|
+
console.error("[ButtonNode] Invalid button variant", { variantId });
|
|
55583
|
+
return null;
|
|
55584
|
+
}
|
|
55762
55585
|
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
55763
55586
|
variant: resolvedVariantId,
|
|
55764
55587
|
size,
|
|
@@ -55863,7 +55686,7 @@ const FeatureCardIconNode = ({ value, treatment, generatedIconSizePx, className,
|
|
|
55863
55686
|
//#region ../blocks/src/system/runtime/nodes/file-download.tsx
|
|
55864
55687
|
init_svg();
|
|
55865
55688
|
init_colorStyles();
|
|
55866
|
-
init_media$
|
|
55689
|
+
init_media$2();
|
|
55867
55690
|
init_buttons();
|
|
55868
55691
|
init_media();
|
|
55869
55692
|
init_buttonRoles();
|
|
@@ -55897,8 +55720,9 @@ function iconForMediaType(type) {
|
|
|
55897
55720
|
});
|
|
55898
55721
|
}
|
|
55899
55722
|
}
|
|
55900
|
-
function
|
|
55901
|
-
|
|
55723
|
+
function parseButtonVariant(value) {
|
|
55724
|
+
if (value === null || value === void 0) return "primary";
|
|
55725
|
+
return isBlockButtonRole(value) ? value : null;
|
|
55902
55726
|
}
|
|
55903
55727
|
function FileDownloadNode({ value, title, description, buttonLabel, buttonVariant, className }) {
|
|
55904
55728
|
if (!value || !isDownloadableMediaType(value.type)) return null;
|
|
@@ -55908,7 +55732,11 @@ function FileDownloadNode({ value, title, description, buttonLabel, buttonVarian
|
|
|
55908
55732
|
const heading = title?.trim() || filename;
|
|
55909
55733
|
const body = description?.trim();
|
|
55910
55734
|
const label = buttonLabel?.trim() || "Download";
|
|
55911
|
-
const variant =
|
|
55735
|
+
const variant = parseButtonVariant(buttonVariant);
|
|
55736
|
+
if (!variant) {
|
|
55737
|
+
console.error("[FileDownloadNode] Invalid button variant", { buttonVariant });
|
|
55738
|
+
return null;
|
|
55739
|
+
}
|
|
55912
55740
|
return /* @__PURE__ */ jsx("div", {
|
|
55913
55741
|
className,
|
|
55914
55742
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -58029,7 +57857,7 @@ function eventSeriesIdsForSubject(subject) {
|
|
|
58029
57857
|
switch (subject.kind) {
|
|
58030
57858
|
case "eventSeries": return [subject.eventSeriesId];
|
|
58031
57859
|
case "eventOffering": return subject.availableEventSeriesIds;
|
|
58032
|
-
default: return assertNever$
|
|
57860
|
+
default: return assertNever$24(subject);
|
|
58033
57861
|
}
|
|
58034
57862
|
}
|
|
58035
57863
|
var init_course_page_surface_scope = __esmMin((() => {
|
|
@@ -58789,7 +58617,7 @@ function renderOfferingGroupItems(presentation, items, options) {
|
|
|
58789
58617
|
children: items.map((item) => renderOfferingCompactItem(item, options))
|
|
58790
58618
|
})
|
|
58791
58619
|
});
|
|
58792
|
-
default: return assertNever$
|
|
58620
|
+
default: return assertNever$24(presentation, "Unhandled offerings preview presentation");
|
|
58793
58621
|
}
|
|
58794
58622
|
}
|
|
58795
58623
|
function compareCoursesByNextSession(left, right) {
|
|
@@ -58834,7 +58662,7 @@ function featuredSummaryDetails(item) {
|
|
|
58834
58662
|
const summary = deriveCourseScheduleSummary(item.course);
|
|
58835
58663
|
return summary ? formatFeaturedSummary(summary, item.course.venue?.name ?? null) : null;
|
|
58836
58664
|
}
|
|
58837
|
-
default: return assertNever$
|
|
58665
|
+
default: return assertNever$24(item, "Unhandled offerings preview item");
|
|
58838
58666
|
}
|
|
58839
58667
|
}
|
|
58840
58668
|
function formatFeaturedSummary(summary, venue) {
|
|
@@ -58843,7 +58671,7 @@ function formatFeaturedSummary(summary, venue) {
|
|
|
58843
58671
|
case "multi-day-span": return detailsFromOccurrences(summary.occurrence, summary.occurrence, venue, null, null, true);
|
|
58844
58672
|
case "fixed-recurring-run": return detailsFromOccurrences(summary.first, summary.last, venue, summary.recurrenceLabel, null);
|
|
58845
58673
|
case "irregular-multi-session-run": return detailsFromOccurrences(summary.first, summary.last, venue, null, `${summary.sessionCount} dates`);
|
|
58846
|
-
default: return assertNever$
|
|
58674
|
+
default: return assertNever$24(summary, "Unhandled offerings preview schedule summary");
|
|
58847
58675
|
}
|
|
58848
58676
|
}
|
|
58849
58677
|
function detailsFromOccurrences(first, last, venue, recurrence, sessionCount, spanUsesEndDate = false) {
|
|
@@ -59242,7 +59070,7 @@ function bookingActionContent(input) {
|
|
|
59242
59070
|
children: input.buttonText
|
|
59243
59071
|
});
|
|
59244
59072
|
case "unavailable": return null;
|
|
59245
|
-
default: return assertNever$
|
|
59073
|
+
default: return assertNever$24(input.booking);
|
|
59246
59074
|
}
|
|
59247
59075
|
}
|
|
59248
59076
|
function RecurringSchedule({ schedule, buttonText = "Book", buttonVariant = "primary", showVenue = true, emptyMessage = "Regular schedule details will be added shortly." }) {
|
|
@@ -61462,7 +61290,7 @@ function previewEditableTargetToPath(target) {
|
|
|
61462
61290
|
case "current-entry-field":
|
|
61463
61291
|
case "current-entry-metadata": return target.path;
|
|
61464
61292
|
case "read-only": return;
|
|
61465
|
-
default: return assertNever$
|
|
61293
|
+
default: return assertNever$24(target);
|
|
61466
61294
|
}
|
|
61467
61295
|
}
|
|
61468
61296
|
function previewEditableTargetToFieldKey(target) {
|
|
@@ -62515,7 +62343,7 @@ function collectNestedPreviewFieldConstraintEntries(field, path) {
|
|
|
62515
62343
|
case "text":
|
|
62516
62344
|
case "time":
|
|
62517
62345
|
case "url": return [];
|
|
62518
|
-
default: return assertNever$
|
|
62346
|
+
default: return assertNever$24(field);
|
|
62519
62347
|
}
|
|
62520
62348
|
}
|
|
62521
62349
|
function makeDefaultBlockComponent(args) {
|
|
@@ -62734,12 +62562,18 @@ var init_navDropdownSizing = __esmMin((() => {
|
|
|
62734
62562
|
`${NAV_DROPDOWN_MAX_WIDTH_CSS}`, `${NAV_DROPDOWN_SHIFT_PROPERTY}`;
|
|
62735
62563
|
}));
|
|
62736
62564
|
//#endregion
|
|
62565
|
+
//#region ../theme-core/src/header/surfaceRules.ts
|
|
62566
|
+
init_navDropdownSizing();
|
|
62567
|
+
init_shared$5();
|
|
62568
|
+
init_colorStyles();
|
|
62569
|
+
//#endregion
|
|
62737
62570
|
//#region ../theme-core/src/header/generateHeaderCss.ts
|
|
62738
62571
|
init_resolver$1();
|
|
62739
62572
|
init_siteChromeNavPreferences();
|
|
62740
62573
|
init_shared$5();
|
|
62741
62574
|
init_breakpoints();
|
|
62742
|
-
|
|
62575
|
+
init_scrollTreatment();
|
|
62576
|
+
init_paintTargets();
|
|
62743
62577
|
//#endregion
|
|
62744
62578
|
//#region ../theme-core/src/footer/generateFooterCss.ts
|
|
62745
62579
|
init_resolver$1();
|
|
@@ -63665,7 +63499,7 @@ function sourceLabel(source) {
|
|
|
63665
63499
|
case "managed-database": return "DB";
|
|
63666
63500
|
case "sdk-synced": return "SDK-synced DB";
|
|
63667
63501
|
case "sdk-config": return "SDK config";
|
|
63668
|
-
default: return assertNever$
|
|
63502
|
+
default: return assertNever$24(source);
|
|
63669
63503
|
}
|
|
63670
63504
|
}
|
|
63671
63505
|
//#endregion
|
|
@@ -64266,6 +64100,9 @@ init_typeGuards();
|
|
|
64266
64100
|
//#region ../blocks/src/primitives/content/primitives.tsx
|
|
64267
64101
|
init_RichText();
|
|
64268
64102
|
//#endregion
|
|
64103
|
+
//#region ../blocks/src/system/runtime/nodes/mergeResolveImageUrlContexts.ts
|
|
64104
|
+
init_src$2();
|
|
64105
|
+
//#endregion
|
|
64269
64106
|
//#region ../blocks/src/system/helpers/resolveBackground.tsx
|
|
64270
64107
|
/**
|
|
64271
64108
|
* Helper utilities for resolving background data in custom block components.
|
|
@@ -64340,7 +64177,7 @@ init_tokens();
|
|
|
64340
64177
|
init_gradients();
|
|
64341
64178
|
init_richTextSchema();
|
|
64342
64179
|
init_media();
|
|
64343
|
-
init_media$
|
|
64180
|
+
init_media$2();
|
|
64344
64181
|
init_slotContracts();
|
|
64345
64182
|
init_typeGuards();
|
|
64346
64183
|
init_booking_form_reserved_fields();
|
|
@@ -70702,6 +70539,47 @@ async function writeMediaManifest(contentDir, manifest) {
|
|
|
70702
70539
|
return manifestPath;
|
|
70703
70540
|
}
|
|
70704
70541
|
//#endregion
|
|
70542
|
+
//#region src/cli/content/legacyEventScheduleShapeError.ts
|
|
70543
|
+
var LegacyEventScheduleShapeError = class extends Error {
|
|
70544
|
+
constructor(filePath) {
|
|
70545
|
+
super(`${filePath}: legacy event "schedule" is no longer supported. Preserve local edits, run "riverbankcms pull events", then reapply those edits to preset, bookingScope, and occurrences.`);
|
|
70546
|
+
this.filePath = filePath;
|
|
70547
|
+
this.code = "legacy_event_schedule_shape";
|
|
70548
|
+
this.name = "LegacyEventScheduleShapeError";
|
|
70549
|
+
}
|
|
70550
|
+
};
|
|
70551
|
+
//#endregion
|
|
70552
|
+
//#region src/cli/content/localEventSchedule.ts
|
|
70553
|
+
const localEventScheduleIdentitySchema = z$1.object({
|
|
70554
|
+
preset: z$1.enum([
|
|
70555
|
+
"event",
|
|
70556
|
+
"class",
|
|
70557
|
+
"course",
|
|
70558
|
+
"workshop",
|
|
70559
|
+
"retreat",
|
|
70560
|
+
"performance"
|
|
70561
|
+
]),
|
|
70562
|
+
bookingScope: z$1.enum(["single_occurrence", "whole_series"]),
|
|
70563
|
+
occurrences: z$1.array(z$1.object({
|
|
70564
|
+
startsAt: z$1.string().datetime({ offset: true }),
|
|
70565
|
+
endsAt: z$1.string().datetime({ offset: true }),
|
|
70566
|
+
timeZone: z$1.string().min(1)
|
|
70567
|
+
}))
|
|
70568
|
+
});
|
|
70569
|
+
var InvalidLocalEventScheduleIdentityError = class extends Error {
|
|
70570
|
+
constructor(filePath, details) {
|
|
70571
|
+
super(`${filePath}: invalid event schedule identity: ${details}`);
|
|
70572
|
+
this.filePath = filePath;
|
|
70573
|
+
this.code = "invalid_local_event_schedule_identity";
|
|
70574
|
+
this.name = "InvalidLocalEventScheduleIdentityError";
|
|
70575
|
+
}
|
|
70576
|
+
};
|
|
70577
|
+
function parseLocalEventScheduleIdentity(value, filePath) {
|
|
70578
|
+
const parsed = localEventScheduleIdentitySchema.safeParse(value);
|
|
70579
|
+
if (!parsed.success) throw new InvalidLocalEventScheduleIdentityError(filePath, parsed.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; "));
|
|
70580
|
+
return parsed.data;
|
|
70581
|
+
}
|
|
70582
|
+
//#endregion
|
|
70705
70583
|
//#region src/cli/content/reader.ts
|
|
70706
70584
|
/**
|
|
70707
70585
|
* Content File Reader
|
|
@@ -70953,12 +70831,17 @@ async function readEventsWithFilePaths(contentDir) {
|
|
|
70953
70831
|
const events = [];
|
|
70954
70832
|
const files = await listFiles(eventsDir, ".json");
|
|
70955
70833
|
for (const filePath of files) try {
|
|
70956
|
-
const
|
|
70834
|
+
const raw = await readJsonFile(filePath);
|
|
70835
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) throw new InvalidLocalEventScheduleIdentityError(filePath, "expected an object");
|
|
70836
|
+
if ("schedule" in raw) throw new LegacyEventScheduleShapeError(filePath);
|
|
70837
|
+
const scheduleIdentity = parseLocalEventScheduleIdentity(raw, filePath);
|
|
70957
70838
|
events.push({
|
|
70958
|
-
...
|
|
70839
|
+
...raw,
|
|
70840
|
+
...scheduleIdentity,
|
|
70959
70841
|
filePath
|
|
70960
70842
|
});
|
|
70961
70843
|
} catch (error) {
|
|
70844
|
+
if (error instanceof LegacyEventScheduleShapeError || error instanceof InvalidLocalEventScheduleIdentityError) throw error;
|
|
70962
70845
|
console.warn(`Warning: Could not parse ${filePath}:`, error);
|
|
70963
70846
|
}
|
|
70964
70847
|
return events;
|
|
@@ -74737,7 +74620,9 @@ function mapEventToComparable(e) {
|
|
|
74737
74620
|
slug: e.slug,
|
|
74738
74621
|
status: e.status,
|
|
74739
74622
|
visibility: e.visibility,
|
|
74740
|
-
|
|
74623
|
+
preset: e.preset,
|
|
74624
|
+
bookingScope: e.bookingScope,
|
|
74625
|
+
occurrences: e.occurrences,
|
|
74741
74626
|
capacity: e.capacity,
|
|
74742
74627
|
pricing: e.pricing,
|
|
74743
74628
|
paymentTerms: e.paymentTerms,
|
|
@@ -76530,6 +76415,14 @@ function normalizeEventPaymentTermsForCompare(paymentTerms) {
|
|
|
76530
76415
|
const result = classifySdkEventPaymentTerms(paymentTerms);
|
|
76531
76416
|
if (result.ok) return result.paymentTerms;
|
|
76532
76417
|
}
|
|
76418
|
+
var IncompatibleEventPullContractError = class extends Error {
|
|
76419
|
+
constructor(identifier, cause) {
|
|
76420
|
+
super(`Remote event "${identifier}" does not expose the canonical preset, bookingScope, and occurrences contract. Deploy the matching Riverbank API before using this SDK. ${cause.message}`);
|
|
76421
|
+
this.identifier = identifier;
|
|
76422
|
+
this.code = "incompatible_event_pull_contract";
|
|
76423
|
+
this.name = "IncompatibleEventPullContractError";
|
|
76424
|
+
}
|
|
76425
|
+
};
|
|
76533
76426
|
function normalizeVenueAddress(value) {
|
|
76534
76427
|
const obj = isRecord$9(value) ? value : {};
|
|
76535
76428
|
return {
|
|
@@ -76577,19 +76470,23 @@ function normalizeEventCategoryForCompare(category) {
|
|
|
76577
76470
|
}
|
|
76578
76471
|
function normalizeRemoteEventForCompare(event) {
|
|
76579
76472
|
const obj = isRecord$9(event) ? event : {};
|
|
76580
|
-
const
|
|
76473
|
+
const identifier = stringValue(obj.identifier, "<unknown>");
|
|
76474
|
+
let scheduleIdentity;
|
|
76475
|
+
try {
|
|
76476
|
+
scheduleIdentity = parseLocalEventScheduleIdentity(obj, `remote event "${identifier}"`);
|
|
76477
|
+
} catch (error) {
|
|
76478
|
+
if (error instanceof InvalidLocalEventScheduleIdentityError) throw new IncompatibleEventPullContractError(identifier, error);
|
|
76479
|
+
throw error;
|
|
76480
|
+
}
|
|
76581
76481
|
return {
|
|
76582
|
-
identifier
|
|
76482
|
+
identifier,
|
|
76583
76483
|
title: String(obj.title),
|
|
76584
76484
|
slug: String(obj.slug),
|
|
76585
76485
|
status: obj.status === "active" || obj.status === "draft" || obj.status === "archived" || obj.status === "cancelled" || obj.status === "completed" ? obj.status : "draft",
|
|
76586
76486
|
visibility: obj.visibility === "public" || obj.visibility === "private" || obj.visibility === "unlisted" ? obj.visibility : "private",
|
|
76587
|
-
|
|
76588
|
-
|
|
76589
|
-
|
|
76590
|
-
defaultStartTime: stringValue(schedule.defaultStartTime, "09:00:00"),
|
|
76591
|
-
durationMinutes: typeof schedule.durationMinutes === "number" ? schedule.durationMinutes : 60
|
|
76592
|
-
},
|
|
76487
|
+
preset: scheduleIdentity.preset,
|
|
76488
|
+
bookingScope: scheduleIdentity.bookingScope,
|
|
76489
|
+
occurrences: [...scheduleIdentity.occurrences],
|
|
76593
76490
|
capacity: nullishToNull(typeof obj.capacity === "number" ? obj.capacity : void 0),
|
|
76594
76491
|
pricing: normalizeEventPricingForCompare(obj.pricing),
|
|
76595
76492
|
paymentTerms: normalizeEventPaymentTermsForCompare(obj.paymentTerms),
|
|
@@ -76603,14 +76500,16 @@ function normalizeRemoteEventForCompare(event) {
|
|
|
76603
76500
|
};
|
|
76604
76501
|
}
|
|
76605
76502
|
function normalizeLocalEventAgainstRemoteForCompare(localEvent, remoteEvent) {
|
|
76606
|
-
const local =
|
|
76503
|
+
const local = localEvent;
|
|
76607
76504
|
const base = remoteEvent ? normalizeRemoteEventForCompare(remoteEvent) : normalizeRemoteEventForCompare({
|
|
76608
76505
|
identifier: local.identifier,
|
|
76609
76506
|
title: local.title,
|
|
76610
76507
|
slug: local.slug,
|
|
76611
76508
|
status: local.status ?? "draft",
|
|
76612
76509
|
visibility: local.visibility ?? "private",
|
|
76613
|
-
|
|
76510
|
+
preset: local.preset,
|
|
76511
|
+
bookingScope: local.bookingScope,
|
|
76512
|
+
occurrences: local.occurrences,
|
|
76614
76513
|
pricing: local.pricing ?? {},
|
|
76615
76514
|
paymentTerms: local.paymentTerms,
|
|
76616
76515
|
capacity: local.capacity ?? null,
|
|
@@ -76622,7 +76521,6 @@ function normalizeLocalEventAgainstRemoteForCompare(localEvent, remoteEvent) {
|
|
|
76622
76521
|
presentation: local.presentation ?? null,
|
|
76623
76522
|
tags: local.tags ?? []
|
|
76624
76523
|
});
|
|
76625
|
-
const schedule = isRecord$9(local.schedule) ? local.schedule : {};
|
|
76626
76524
|
return {
|
|
76627
76525
|
...base,
|
|
76628
76526
|
identifier: stringValue(local.identifier, base.identifier),
|
|
@@ -76630,12 +76528,9 @@ function normalizeLocalEventAgainstRemoteForCompare(localEvent, remoteEvent) {
|
|
|
76630
76528
|
slug: stringValue(local.slug, base.slug),
|
|
76631
76529
|
status: local.status === void 0 ? base.status : local.status === "active" || local.status === "draft" || local.status === "archived" || local.status === "cancelled" || local.status === "completed" ? local.status : "draft",
|
|
76632
76530
|
visibility: local.visibility === void 0 ? base.visibility : local.visibility === "public" || local.visibility === "private" || local.visibility === "unlisted" ? local.visibility : "private",
|
|
76633
|
-
|
|
76634
|
-
|
|
76635
|
-
|
|
76636
|
-
defaultStartTime: schedule.defaultStartTime === void 0 ? base.schedule.defaultStartTime : stringValue(schedule.defaultStartTime, base.schedule.defaultStartTime),
|
|
76637
|
-
durationMinutes: schedule.durationMinutes === void 0 ? base.schedule.durationMinutes : typeof schedule.durationMinutes === "number" ? schedule.durationMinutes : base.schedule.durationMinutes
|
|
76638
|
-
},
|
|
76531
|
+
preset: local.preset,
|
|
76532
|
+
bookingScope: local.bookingScope,
|
|
76533
|
+
occurrences: [...local.occurrences],
|
|
76639
76534
|
capacity: local.capacity === void 0 ? base.capacity : nullishToNull(typeof local.capacity === "number" ? local.capacity : void 0),
|
|
76640
76535
|
pricing: local.pricing === void 0 ? base.pricing : normalizeEventPricingForCompare(local.pricing),
|
|
76641
76536
|
paymentTerms: local.paymentTerms === void 0 ? base.paymentTerms : normalizeEventPaymentTermsForCompare(local.paymentTerms),
|
|
@@ -77206,12 +77101,13 @@ const navigationMenuRoles = [
|
|
|
77206
77101
|
"footer",
|
|
77207
77102
|
"legal-policy"
|
|
77208
77103
|
];
|
|
77209
|
-
const
|
|
77104
|
+
const eventPresets = [
|
|
77105
|
+
"event",
|
|
77210
77106
|
"class",
|
|
77107
|
+
"course",
|
|
77211
77108
|
"workshop",
|
|
77212
77109
|
"retreat",
|
|
77213
|
-
"performance"
|
|
77214
|
-
"custom"
|
|
77110
|
+
"performance"
|
|
77215
77111
|
];
|
|
77216
77112
|
const offeringVisibilities = [
|
|
77217
77113
|
"draft",
|
|
@@ -77295,7 +77191,7 @@ function createSiteStyleSelectionChangeSchema(parts) {
|
|
|
77295
77191
|
}).strict(),
|
|
77296
77192
|
z$1.object({
|
|
77297
77193
|
kind: z$1.literal("set-palette"),
|
|
77298
|
-
|
|
77194
|
+
palette: parts.palette
|
|
77299
77195
|
}).strict(),
|
|
77300
77196
|
z$1.object({
|
|
77301
77197
|
kind: z$1.literal("set-typography"),
|
|
@@ -77329,13 +77225,12 @@ function validateUniqueSiteStyleSelectionChanges(input, ctx) {
|
|
|
77329
77225
|
//#endregion
|
|
77330
77226
|
//#region ../site-commands/src/siteStyleCommandSchema.ts
|
|
77331
77227
|
init_buttons();
|
|
77332
|
-
init_palette();
|
|
77333
77228
|
const siteStyleRefSchema = z$1.string().regex(/^site-style:[a-z0-9][a-z0-9-]*$/u).transform((value) => value);
|
|
77334
77229
|
const catalogIdSchema = z$1.string().trim().min(1);
|
|
77335
77230
|
const selectionChangeSchema = createSiteStyleSelectionChangeSchema({
|
|
77336
77231
|
siteStyleId: siteStyleRefSchema,
|
|
77337
77232
|
buttonStyleSelection: buttonStyleSelectionSchema,
|
|
77338
|
-
|
|
77233
|
+
palette: paletteSchema,
|
|
77339
77234
|
typography: typographySchema,
|
|
77340
77235
|
headerLookId: catalogIdSchema,
|
|
77341
77236
|
headerLayoutId: catalogIdSchema,
|
|
@@ -77959,8 +77854,8 @@ const upsertEventSeriesCommandSchema = z$1.object({
|
|
|
77959
77854
|
slug: z$1.string().min(1),
|
|
77960
77855
|
path: z$1.string().startsWith("/").nullable().optional(),
|
|
77961
77856
|
title: z$1.string().min(1),
|
|
77962
|
-
|
|
77963
|
-
bookingScope: z$1.enum(["single_occurrence", "whole_series"])
|
|
77857
|
+
preset: z$1.enum(eventPresets),
|
|
77858
|
+
bookingScope: z$1.enum(["single_occurrence", "whole_series"]),
|
|
77964
77859
|
status: z$1.enum([
|
|
77965
77860
|
"draft",
|
|
77966
77861
|
"active",
|
|
@@ -79556,7 +79451,7 @@ function commandRefContributions(command) {
|
|
|
79556
79451
|
field: "input.contentEntryRef"
|
|
79557
79452
|
}] : []
|
|
79558
79453
|
};
|
|
79559
|
-
default: return assertNever$
|
|
79454
|
+
default: return assertNever$24(command);
|
|
79560
79455
|
}
|
|
79561
79456
|
}
|
|
79562
79457
|
function passRedemptionSubjectRefContribution(subject) {
|
|
@@ -79569,7 +79464,7 @@ function passRedemptionSubjectRefContribution(subject) {
|
|
|
79569
79464
|
ref: subject.eventRegistrationRef,
|
|
79570
79465
|
field: "input.subject.eventRegistrationRef"
|
|
79571
79466
|
};
|
|
79572
|
-
default: return assertNever$
|
|
79467
|
+
default: return assertNever$24(subject);
|
|
79573
79468
|
}
|
|
79574
79469
|
}
|
|
79575
79470
|
function portalOrderSubjectRefContribution(subject) {
|
|
@@ -79582,7 +79477,7 @@ function portalOrderSubjectRefContribution(subject) {
|
|
|
79582
79477
|
ref: subject.courseEnrollmentRef,
|
|
79583
79478
|
field: "input.subject.courseEnrollmentRef"
|
|
79584
79479
|
};
|
|
79585
|
-
default: return assertNever$
|
|
79480
|
+
default: return assertNever$24(subject);
|
|
79586
79481
|
}
|
|
79587
79482
|
}
|
|
79588
79483
|
function collectOfferingRequires(input, intervals, intervalPath) {
|
|
@@ -80236,7 +80131,7 @@ function stableStringify(value) {
|
|
|
80236
80131
|
case "object":
|
|
80237
80132
|
case "string": return JSON.stringify(sorted);
|
|
80238
80133
|
}
|
|
80239
|
-
return assertNever$
|
|
80134
|
+
return assertNever$24(sorted);
|
|
80240
80135
|
}
|
|
80241
80136
|
function sortValue(value) {
|
|
80242
80137
|
if (Array.isArray(value)) return value.map(sortValue);
|
|
@@ -80475,7 +80370,7 @@ function appliedSubjectFromOutcome(outcome) {
|
|
|
80475
80370
|
case "skipped_by_stop_policy":
|
|
80476
80371
|
case "compile_failed":
|
|
80477
80372
|
case "preflight_failed": return [];
|
|
80478
|
-
default: assertNever$
|
|
80373
|
+
default: assertNever$24(outcome);
|
|
80479
80374
|
}
|
|
80480
80375
|
}
|
|
80481
80376
|
function failureFromOutcome(outcome) {
|
|
@@ -80494,7 +80389,7 @@ function failureFromOutcome(outcome) {
|
|
|
80494
80389
|
};
|
|
80495
80390
|
case "applied":
|
|
80496
80391
|
case "skipped_by_stop_policy": return null;
|
|
80497
|
-
default: assertNever$
|
|
80392
|
+
default: assertNever$24(outcome);
|
|
80498
80393
|
}
|
|
80499
80394
|
}
|
|
80500
80395
|
function appliedCommand(command) {
|
|
@@ -80510,154 +80405,61 @@ function reportSubjectForCommandRef(subjectsByCommandRef, commandRef) {
|
|
|
80510
80405
|
throw new Error(`Internal command planning error: missing report subject for ${commandRef}.`);
|
|
80511
80406
|
}
|
|
80512
80407
|
//#endregion
|
|
80513
|
-
//#region
|
|
80514
|
-
|
|
80515
|
-
|
|
80516
|
-
|
|
80517
|
-
|
|
80518
|
-
return {
|
|
80519
|
-
|
|
80520
|
-
|
|
80521
|
-
|
|
80522
|
-
|
|
80523
|
-
|
|
80524
|
-
|
|
80525
|
-
|
|
80526
|
-
}
|
|
80527
|
-
|
|
80528
|
-
|
|
80529
|
-
|
|
80530
|
-
|
|
80531
|
-
|
|
80532
|
-
}
|
|
80533
|
-
function timePart(hours, minutes, seconds = "00") {
|
|
80534
|
-
return `${hours}:${minutes}:${seconds}`;
|
|
80535
|
-
}
|
|
80536
|
-
function parseSdkEventDateTime(value) {
|
|
80537
|
-
const explicitMatch = explicitOffsetDateTimeRegex.exec(value);
|
|
80538
|
-
if (explicitMatch) {
|
|
80539
|
-
const [, yearRaw, monthRaw, dayRaw, hours, minutes, seconds = "00", fraction] = explicitMatch;
|
|
80540
|
-
if (!yearRaw || !monthRaw || !dayRaw || !hours || !minutes) return null;
|
|
80541
|
-
if (!isValidDateParts(Number(yearRaw), Number(monthRaw), Number(dayRaw)) || !isZeroFraction(fraction)) return null;
|
|
80542
|
-
const epochMs = Date.parse(value);
|
|
80543
|
-
if (!Number.isFinite(epochMs)) return null;
|
|
80544
|
-
return {
|
|
80545
|
-
epochMs,
|
|
80546
|
-
date: datePart(yearRaw, monthRaw, dayRaw),
|
|
80547
|
-
time: timePart(hours, minutes, seconds),
|
|
80548
|
-
iso: new Date(epochMs).toISOString()
|
|
80549
|
-
};
|
|
80408
|
+
//#region src/cli/site-commands/eventScheduleCompiler.ts
|
|
80409
|
+
init_src$3();
|
|
80410
|
+
function compileExplicitEventSchedule(event) {
|
|
80411
|
+
if (event.occurrences.length === 0) return unsupported$1(event, `Event ${event.identifier} has no occurrences; event pushes require at least one explicit occurrence.`);
|
|
80412
|
+
const timeZone = event.occurrences[0]?.timeZone;
|
|
80413
|
+
if (!timeZone || event.occurrences.some((occurrence) => occurrence.timeZone !== timeZone)) return unsupported$1(event, `Event ${event.identifier} contains mixed occurrence timezones; one event series must use one IANA timezone.`);
|
|
80414
|
+
if (!isIanaTimeZone(timeZone)) return unsupported$1(event, `Event ${event.identifier} uses invalid IANA timezone "${timeZone}".`);
|
|
80415
|
+
const occurrences = [];
|
|
80416
|
+
const seenStartsAt = /* @__PURE__ */ new Set();
|
|
80417
|
+
for (const occurrence of event.occurrences) {
|
|
80418
|
+
const start = parseUtcIsoDateTimeString(occurrence.startsAt);
|
|
80419
|
+
const end = parseUtcIsoDateTimeString(occurrence.endsAt);
|
|
80420
|
+
if (!start.ok || !end.ok || Date.parse(end.value) <= Date.parse(start.value)) return unsupported$1(event, `Event ${event.identifier} contains an invalid occurrence; startsAt and endsAt must be offset-aware ISO datetimes with endsAt after startsAt.`);
|
|
80421
|
+
if (seenStartsAt.has(start.value)) return unsupported$1(event, `Event ${event.identifier} contains duplicate occurrence startsAt values; each session must start at a unique instant.`);
|
|
80422
|
+
seenStartsAt.add(start.value);
|
|
80423
|
+
occurrences.push({
|
|
80424
|
+
startAt: start.value,
|
|
80425
|
+
endAt: end.value
|
|
80426
|
+
});
|
|
80550
80427
|
}
|
|
80551
|
-
|
|
80552
|
-
|
|
80553
|
-
|
|
80554
|
-
|
|
80555
|
-
const year = Number(yearRaw);
|
|
80556
|
-
const month = Number(monthRaw);
|
|
80557
|
-
const day = Number(dayRaw);
|
|
80558
|
-
if (!isValidDateParts(year, month, day) || !isZeroFraction(fraction)) return null;
|
|
80559
|
-
const epochMs = Date.UTC(year, month - 1, day, Number(hours), Number(minutes), Number(seconds));
|
|
80560
|
-
return {
|
|
80561
|
-
epochMs,
|
|
80562
|
-
date: datePart(yearRaw, monthRaw, dayRaw),
|
|
80563
|
-
time: timePart(hours, minutes, seconds),
|
|
80564
|
-
iso: new Date(epochMs).toISOString()
|
|
80565
|
-
};
|
|
80566
|
-
}
|
|
80567
|
-
function durationMinutesBetween(startsAt, endsAt) {
|
|
80568
|
-
if (endsAt.epochMs <= startsAt.epochMs) return null;
|
|
80569
|
-
const durationMs = endsAt.epochMs - startsAt.epochMs;
|
|
80570
|
-
if (durationMs % 6e4 !== 0) return null;
|
|
80571
|
-
return durationMs / 6e4;
|
|
80572
|
-
}
|
|
80573
|
-
function exceedsMaxDuration(durationMinutes, options) {
|
|
80574
|
-
return options.maxDurationMinutes !== void 0 && durationMinutes > options.maxDurationMinutes;
|
|
80428
|
+
return ok$3({
|
|
80429
|
+
timeZone,
|
|
80430
|
+
occurrences
|
|
80431
|
+
});
|
|
80575
80432
|
}
|
|
80576
|
-
function
|
|
80577
|
-
return
|
|
80433
|
+
function scheduleFromExplicitEventOccurrence(occurrence) {
|
|
80434
|
+
return scheduleFromCommandOccurrence({
|
|
80435
|
+
startAt: occurrence.startsAt,
|
|
80436
|
+
endAt: occurrence.endsAt
|
|
80437
|
+
}, occurrence.timeZone);
|
|
80578
80438
|
}
|
|
80579
|
-
function
|
|
80580
|
-
|
|
80581
|
-
|
|
80582
|
-
|
|
80583
|
-
|
|
80584
|
-
|
|
80585
|
-
if (input.durationMinutes !== void 0 && input.durationMinutes !== null) {
|
|
80586
|
-
if (input.durationMinutes < 1) issues.push(issue(["durationMinutes"], "durationMinutes must be at least 1"));
|
|
80587
|
-
else if (exceedsMaxDuration(input.durationMinutes, options)) issues.push(issue(["durationMinutes"], maxDurationMessage(options)));
|
|
80439
|
+
function isIanaTimeZone(value) {
|
|
80440
|
+
try {
|
|
80441
|
+
new Intl.DateTimeFormat("en-GB", { timeZone: value });
|
|
80442
|
+
return true;
|
|
80443
|
+
} catch {
|
|
80444
|
+
return false;
|
|
80588
80445
|
}
|
|
80589
|
-
if (issues.length > 0) return {
|
|
80590
|
-
ok: false,
|
|
80591
|
-
issues
|
|
80592
|
-
};
|
|
80593
|
-
return {
|
|
80594
|
-
ok: true,
|
|
80595
|
-
kind: "canonical",
|
|
80596
|
-
canonical: {
|
|
80597
|
-
recurrenceRule: input.recurrenceRule ?? null,
|
|
80598
|
-
startDate: input.startDate,
|
|
80599
|
-
defaultStartTime: input.defaultStartTime ?? "09:00:00",
|
|
80600
|
-
durationMinutes: input.durationMinutes ?? 60
|
|
80601
|
-
}
|
|
80602
|
-
};
|
|
80603
80446
|
}
|
|
80604
|
-
function
|
|
80605
|
-
const
|
|
80606
|
-
const hasStartsAt = input.startsAt !== void 0 && input.startsAt !== null;
|
|
80607
|
-
const hasEndsAt = input.endsAt !== void 0 && input.endsAt !== null;
|
|
80608
|
-
const hasDateTimeDuration = hasStartsAt && input.durationMinutes !== void 0 && input.durationMinutes !== null;
|
|
80609
|
-
const hasCanonicalStart = input.startDate !== void 0 || input.defaultStartTime !== void 0;
|
|
80610
|
-
if (!hasStartsAt && !hasEndsAt) return classifyCanonicalSchedule(input, options);
|
|
80611
|
-
if (hasStartsAt && hasCanonicalStart) issues.push(issue(["startsAt"], "Use either startsAt or startDate/defaultStartTime, not both"));
|
|
80612
|
-
if (input.recurrenceRule) issues.push(issue(["recurrenceRule"], "startsAt schedules are only supported for one-off events"));
|
|
80613
|
-
if (!hasStartsAt) issues.push(issue(["startsAt"], "startsAt is required when endsAt is provided"));
|
|
80614
|
-
if (!hasEndsAt && !hasDateTimeDuration) issues.push(issue(["endsAt"], "Provide either endsAt or durationMinutes with startsAt"));
|
|
80615
|
-
if (hasEndsAt && hasDateTimeDuration) issues.push(issue(["endsAt"], "Use either endsAt or durationMinutes with startsAt, not both"));
|
|
80616
|
-
const startsAt = typeof input.startsAt === "string" ? parseSdkEventDateTime(input.startsAt) : null;
|
|
80617
|
-
const endsAt = typeof input.endsAt === "string" ? parseSdkEventDateTime(input.endsAt) : null;
|
|
80618
|
-
if (hasStartsAt && !startsAt) issues.push(issue(["startsAt"], "Invalid datetime format. Use ISO datetime format, e.g. 2026-06-01T10:00:00Z"));
|
|
80619
|
-
if (hasEndsAt && !endsAt) issues.push(issue(["endsAt"], "Invalid datetime format. Use ISO datetime format, e.g. 2026-06-07T10:00:00Z"));
|
|
80620
|
-
if (startsAt && endsAt) {
|
|
80621
|
-
const durationMinutes = durationMinutesBetween(startsAt, endsAt);
|
|
80622
|
-
if (durationMinutes === null) issues.push(issue(["endsAt"], "endsAt must be after startsAt and align to a whole minute"));
|
|
80623
|
-
else if (exceedsMaxDuration(durationMinutes, options)) issues.push(issue(["endsAt"], maxDurationMessage(options)));
|
|
80624
|
-
if (issues.length === 0 && durationMinutes !== null) return {
|
|
80625
|
-
ok: true,
|
|
80626
|
-
kind: "start-end",
|
|
80627
|
-
canonical: {
|
|
80628
|
-
recurrenceRule: null,
|
|
80629
|
-
startDate: startsAt.date,
|
|
80630
|
-
defaultStartTime: startsAt.time,
|
|
80631
|
-
durationMinutes
|
|
80632
|
-
},
|
|
80633
|
-
startsAtIso: startsAt.iso,
|
|
80634
|
-
endsAtIso: endsAt.iso
|
|
80635
|
-
};
|
|
80636
|
-
}
|
|
80637
|
-
if (startsAt && hasDateTimeDuration && input.durationMinutes !== void 0 && input.durationMinutes !== null) {
|
|
80638
|
-
if (input.durationMinutes < 1) issues.push(issue(["durationMinutes"], "durationMinutes must be at least 1"));
|
|
80639
|
-
else if (exceedsMaxDuration(input.durationMinutes, options)) issues.push(issue(["durationMinutes"], maxDurationMessage(options)));
|
|
80640
|
-
if (issues.length === 0) {
|
|
80641
|
-
const endsAtMs = startsAt.epochMs + input.durationMinutes * 6e4;
|
|
80642
|
-
return {
|
|
80643
|
-
ok: true,
|
|
80644
|
-
kind: "start-duration",
|
|
80645
|
-
canonical: {
|
|
80646
|
-
recurrenceRule: null,
|
|
80647
|
-
startDate: startsAt.date,
|
|
80648
|
-
defaultStartTime: startsAt.time,
|
|
80649
|
-
durationMinutes: input.durationMinutes
|
|
80650
|
-
},
|
|
80651
|
-
startsAtIso: startsAt.iso,
|
|
80652
|
-
endsAtIso: new Date(endsAtMs).toISOString()
|
|
80653
|
-
};
|
|
80654
|
-
}
|
|
80655
|
-
}
|
|
80447
|
+
function scheduleFromCommandOccurrence(occurrence, timeZone) {
|
|
80448
|
+
const start = new Date(occurrence.startAt);
|
|
80656
80449
|
return {
|
|
80657
|
-
|
|
80658
|
-
|
|
80450
|
+
recurrenceRule: null,
|
|
80451
|
+
startDate: formatLocalScheduleDate(getLocalScheduleDate(start, timeZone)),
|
|
80452
|
+
defaultStartTime: formatLocalScheduleTime(getLocalScheduleTime(start, timeZone)),
|
|
80453
|
+
durationMinutes: Math.round((Date.parse(occurrence.endAt) - Date.parse(occurrence.startAt)) / 6e4)
|
|
80659
80454
|
};
|
|
80660
80455
|
}
|
|
80456
|
+
function unsupported$1(event, message) {
|
|
80457
|
+
return err$3({
|
|
80458
|
+
code: "unsupported_local_shape",
|
|
80459
|
+
identifier: event.identifier,
|
|
80460
|
+
message
|
|
80461
|
+
});
|
|
80462
|
+
}
|
|
80661
80463
|
//#endregion
|
|
80662
80464
|
//#region src/cli/site-commands/datedOfferingCommands.ts
|
|
80663
80465
|
init_src$3();
|
|
@@ -80824,9 +80626,8 @@ function eventCategoryCommand(category) {
|
|
|
80824
80626
|
}
|
|
80825
80627
|
function eventSeriesCommand(event) {
|
|
80826
80628
|
if (event.identifier !== event.slug) return unsupported(event.identifier, `Event identifier "${event.identifier}" must match slug "${event.slug}".`);
|
|
80827
|
-
|
|
80828
|
-
|
|
80829
|
-
if (!occurrence.ok) return occurrence;
|
|
80629
|
+
const schedule = compileExplicitEventSchedule(event);
|
|
80630
|
+
if (!schedule.ok) return schedule;
|
|
80830
80631
|
const pricing = eventPricing(event);
|
|
80831
80632
|
if (!pricing.ok) return pricing;
|
|
80832
80633
|
const content = event.content ? {
|
|
@@ -80845,11 +80646,11 @@ function eventSeriesCommand(event) {
|
|
|
80845
80646
|
slug: event.slug,
|
|
80846
80647
|
path: event.path,
|
|
80847
80648
|
title: event.title,
|
|
80848
|
-
|
|
80849
|
-
bookingScope:
|
|
80649
|
+
preset: event.preset,
|
|
80650
|
+
bookingScope: event.bookingScope,
|
|
80850
80651
|
status: event.status === "completed" ? void 0 : event.status,
|
|
80851
80652
|
visibility: offeringVisibility(event.visibility, event.status),
|
|
80852
|
-
timezone:
|
|
80653
|
+
timezone: schedule.value.timeZone,
|
|
80853
80654
|
venueIdentifier: event.venueRef ?? void 0,
|
|
80854
80655
|
categoryIdentifier: event.categoryRef ?? void 0,
|
|
80855
80656
|
formIdentifier: event.formRef ?? void 0,
|
|
@@ -80858,7 +80659,7 @@ function eventSeriesCommand(event) {
|
|
|
80858
80659
|
priceDisplay: pricing.value.priceDisplay ?? void 0,
|
|
80859
80660
|
acceptsPasses: pricing.value.acceptsPasses,
|
|
80860
80661
|
acceptsMemberships: pricing.value.acceptsMemberships,
|
|
80861
|
-
occurrences:
|
|
80662
|
+
occurrences: schedule.value.occurrences,
|
|
80862
80663
|
content,
|
|
80863
80664
|
settings: event.settings,
|
|
80864
80665
|
paymentTerms: event.paymentTerms,
|
|
@@ -80868,23 +80669,6 @@ function eventSeriesCommand(event) {
|
|
|
80868
80669
|
}
|
|
80869
80670
|
});
|
|
80870
80671
|
}
|
|
80871
|
-
function eventOccurrence(event) {
|
|
80872
|
-
const scheduleClassification = classifySdkEventSchedule(event.schedule ?? {});
|
|
80873
|
-
if (!scheduleClassification.ok) return unsupported(event.identifier, `Event ${event.identifier} has an invalid schedule: ${scheduleClassification.issues.map((validationIssue) => validationIssue.message).join("; ")}`);
|
|
80874
|
-
if (scheduleClassification.kind === "start-end" || scheduleClassification.kind === "start-duration") return ok$3({
|
|
80875
|
-
startAt: scheduleClassification.startsAtIso,
|
|
80876
|
-
endAt: scheduleClassification.endsAtIso
|
|
80877
|
-
});
|
|
80878
|
-
const startDate = event.schedule?.startDate;
|
|
80879
|
-
if (!startDate) return unsupported(event.identifier, `Event ${event.identifier} is missing schedule.startDate; command-backed event pushes require a concrete occurrence.`);
|
|
80880
|
-
const startTime = event.schedule?.defaultStartTime ?? "09:00:00";
|
|
80881
|
-
const durationMinutes = event.schedule?.durationMinutes ?? 60;
|
|
80882
|
-
const startAt = toUtcIso(startDate, startTime);
|
|
80883
|
-
return ok$3({
|
|
80884
|
-
startAt,
|
|
80885
|
-
endAt: new Date(Date.parse(startAt) + durationMinutes * 6e4).toISOString()
|
|
80886
|
-
});
|
|
80887
|
-
}
|
|
80888
80672
|
function eventPricing(event) {
|
|
80889
80673
|
const pricing = classifySdkEventPricing(event.pricing);
|
|
80890
80674
|
if (!pricing.ok) return unsupported(event.identifier, `Event ${event.identifier} has invalid pricing: ${pricing.issues[0]?.message ?? "invalid pricing"}.`);
|
|
@@ -80917,7 +80701,7 @@ function eventPricing(event) {
|
|
|
80917
80701
|
acceptsPasses: pricing.pricing.acceptsPasses,
|
|
80918
80702
|
acceptsMemberships: pricing.pricing.acceptsMemberships
|
|
80919
80703
|
});
|
|
80920
|
-
default: return assertNever$
|
|
80704
|
+
default: return assertNever$24(pricing.pricing);
|
|
80921
80705
|
}
|
|
80922
80706
|
}
|
|
80923
80707
|
function venueUpsertInput(command) {
|
|
@@ -80930,10 +80714,17 @@ function eventSeriesUpsertInput(command) {
|
|
|
80930
80714
|
identifier: command.input.slug,
|
|
80931
80715
|
title: command.input.title,
|
|
80932
80716
|
slug: command.input.slug,
|
|
80717
|
+
preset: command.input.preset,
|
|
80718
|
+
bookingScope: command.input.bookingScope,
|
|
80719
|
+
occurrences: command.input.occurrences.map((item) => ({
|
|
80720
|
+
startsAt: item.startAt,
|
|
80721
|
+
endsAt: item.endAt,
|
|
80722
|
+
timeZone: command.input.timezone
|
|
80723
|
+
})),
|
|
80933
80724
|
path: command.input.path,
|
|
80934
80725
|
status: command.input.status,
|
|
80935
80726
|
visibility: managementVisibility(command.input.visibility),
|
|
80936
|
-
schedule:
|
|
80727
|
+
schedule: scheduleFromCommandOccurrence(occurrence, command.input.timezone),
|
|
80937
80728
|
capacity: capacityLimit(command.input.capacity),
|
|
80938
80729
|
pricing: eventPricingInput(command.input),
|
|
80939
80730
|
...command.input.paymentTerms === void 0 ? {} : { paymentTerms: command.input.paymentTerms },
|
|
@@ -80978,7 +80769,7 @@ function eventPricingInput(input) {
|
|
|
80978
80769
|
};
|
|
80979
80770
|
case "manual_payment":
|
|
80980
80771
|
case "external": throw new Error(`Unsupported event pricing mode reached SDK mapper: ${input.pricing.kind}`);
|
|
80981
|
-
default: return assertNever$
|
|
80772
|
+
default: return assertNever$24(input.pricing);
|
|
80982
80773
|
}
|
|
80983
80774
|
}
|
|
80984
80775
|
function increment(result, counter) {
|
|
@@ -80992,7 +80783,7 @@ function increment(result, counter) {
|
|
|
80992
80783
|
case "deleted":
|
|
80993
80784
|
result.deleted++;
|
|
80994
80785
|
return;
|
|
80995
|
-
default: assertNever$
|
|
80786
|
+
default: assertNever$24(counter);
|
|
80996
80787
|
}
|
|
80997
80788
|
}
|
|
80998
80789
|
async function applyDatedOfferingCommand(client, command) {
|
|
@@ -81021,7 +80812,7 @@ async function applyDatedOfferingCommand(client, command) {
|
|
|
81021
80812
|
case "deleteEventSeries":
|
|
81022
80813
|
await client.events.delete(command.input.identifier);
|
|
81023
80814
|
return;
|
|
81024
|
-
default: assertNever$
|
|
80815
|
+
default: assertNever$24(command);
|
|
81025
80816
|
}
|
|
81026
80817
|
}
|
|
81027
80818
|
function capacity(value) {
|
|
@@ -81045,21 +80836,9 @@ function managementVisibility(visibility) {
|
|
|
81045
80836
|
case "unlisted": return "unlisted";
|
|
81046
80837
|
case "listed":
|
|
81047
80838
|
case "published": return "public";
|
|
81048
|
-
default: return assertNever$
|
|
80839
|
+
default: return assertNever$24(visibility);
|
|
81049
80840
|
}
|
|
81050
80841
|
}
|
|
81051
|
-
function scheduleFromOccurrence(occurrence) {
|
|
81052
|
-
return {
|
|
81053
|
-
recurrenceRule: null,
|
|
81054
|
-
startDate: occurrence.startAt.slice(0, 10),
|
|
81055
|
-
defaultStartTime: occurrence.startAt.slice(11, 19),
|
|
81056
|
-
durationMinutes: Math.round((Date.parse(occurrence.endAt) - Date.parse(occurrence.startAt)) / 6e4)
|
|
81057
|
-
};
|
|
81058
|
-
}
|
|
81059
|
-
function toUtcIso(date, time) {
|
|
81060
|
-
const normalizedTime = time.length === 5 ? `${time}:00` : time;
|
|
81061
|
-
return (/* @__PURE__ */ new Date(`${date}T${normalizedTime}Z`)).toISOString();
|
|
81062
|
-
}
|
|
81063
80842
|
function unsupported(identifier, message) {
|
|
81064
80843
|
return err$3({
|
|
81065
80844
|
code: "unsupported_local_shape",
|
|
@@ -81090,7 +80869,7 @@ function commandReportToSyncResult(input) {
|
|
|
81090
80869
|
input.recordFailure(result, outcome.identifier, outcome.message, outcome.subject);
|
|
81091
80870
|
break;
|
|
81092
80871
|
case "skipped_by_stop_policy": break;
|
|
81093
|
-
default: assertNever$
|
|
80872
|
+
default: assertNever$24(outcome);
|
|
81094
80873
|
}
|
|
81095
80874
|
result.warnings.push(...input.report.warnings);
|
|
81096
80875
|
return result;
|
|
@@ -81162,7 +80941,7 @@ async function executeEntryCommandPlan(input) {
|
|
|
81162
80941
|
case "deleteContentEntry":
|
|
81163
80942
|
await input.client.entries.delete(command.input.contentTypeKey, entryIdentifierForCommand(command));
|
|
81164
80943
|
return;
|
|
81165
|
-
default: assertNever$
|
|
80944
|
+
default: assertNever$24(command);
|
|
81166
80945
|
}
|
|
81167
80946
|
}
|
|
81168
80947
|
});
|
|
@@ -81322,7 +81101,7 @@ function incrementEntrySuccess(result, subject) {
|
|
|
81322
81101
|
case "deleted":
|
|
81323
81102
|
result.entries.deleted++;
|
|
81324
81103
|
return;
|
|
81325
|
-
default: assertNever$
|
|
81104
|
+
default: assertNever$24(subject.counter);
|
|
81326
81105
|
}
|
|
81327
81106
|
}
|
|
81328
81107
|
function reportSubject(input) {
|
|
@@ -81385,7 +81164,7 @@ async function executeFormCommandPlan(input) {
|
|
|
81385
81164
|
settings: command.input.settings ?? {}
|
|
81386
81165
|
});
|
|
81387
81166
|
return;
|
|
81388
|
-
default: assertNever$
|
|
81167
|
+
default: assertNever$24(commandType);
|
|
81389
81168
|
}
|
|
81390
81169
|
}
|
|
81391
81170
|
});
|
|
@@ -81464,7 +81243,7 @@ function incrementFormSuccess(result, subject) {
|
|
|
81464
81243
|
case "updated":
|
|
81465
81244
|
result.forms.updated++;
|
|
81466
81245
|
return;
|
|
81467
|
-
default: assertNever$
|
|
81246
|
+
default: assertNever$24(subject.counter);
|
|
81468
81247
|
}
|
|
81469
81248
|
}
|
|
81470
81249
|
function recordFormFailure(result, identifier, message) {
|
|
@@ -81509,7 +81288,7 @@ async function executeFooterCommandPlan(input) {
|
|
|
81509
81288
|
if (command.input.bottomText !== void 0 && command.input.bottomText !== null && !isRichTextDoc(command.input.bottomText)) throw new Error("Footer bottomText must be a canonical TipTap document");
|
|
81510
81289
|
await input.client.footer.upsert({ bottomText: command.input.bottomText });
|
|
81511
81290
|
return;
|
|
81512
|
-
default: assertNever$
|
|
81291
|
+
default: assertNever$24(commandType);
|
|
81513
81292
|
}
|
|
81514
81293
|
}
|
|
81515
81294
|
});
|
|
@@ -81632,7 +81411,7 @@ async function executeNavigationCommandPlan(input) {
|
|
|
81632
81411
|
});
|
|
81633
81412
|
return;
|
|
81634
81413
|
}
|
|
81635
|
-
default: assertNever$
|
|
81414
|
+
default: assertNever$24(commandType);
|
|
81636
81415
|
}
|
|
81637
81416
|
}
|
|
81638
81417
|
});
|
|
@@ -81659,7 +81438,7 @@ function navigationCompileErrorIdentifier(error) {
|
|
|
81659
81438
|
case "missing_local_navigation_menu": return error.name;
|
|
81660
81439
|
case "duplicate_navigation_identity": return error.identity;
|
|
81661
81440
|
case "command_validation_failed": return "command-validation";
|
|
81662
|
-
default: return assertNever$
|
|
81441
|
+
default: return assertNever$24(error);
|
|
81663
81442
|
}
|
|
81664
81443
|
}
|
|
81665
81444
|
function navigationCommandExecutionToReport(input) {
|
|
@@ -81704,7 +81483,7 @@ function navigationCommandRole$1(command) {
|
|
|
81704
81483
|
case "header": return "primary";
|
|
81705
81484
|
case "footer": return "footer";
|
|
81706
81485
|
case void 0: return;
|
|
81707
|
-
default: return assertNever$
|
|
81486
|
+
default: return assertNever$24(command.input.location);
|
|
81708
81487
|
}
|
|
81709
81488
|
}
|
|
81710
81489
|
function incrementNavigationSuccess(result, subject) {
|
|
@@ -81715,7 +81494,7 @@ function incrementNavigationSuccess(result, subject) {
|
|
|
81715
81494
|
case "updated":
|
|
81716
81495
|
result.navigation.updated++;
|
|
81717
81496
|
return;
|
|
81718
|
-
default: assertNever$
|
|
81497
|
+
default: assertNever$24(subject.counter);
|
|
81719
81498
|
}
|
|
81720
81499
|
}
|
|
81721
81500
|
function recordNavigationFailure(result, identifier, message) {
|
|
@@ -81994,7 +81773,7 @@ async function executePageCommandPlan(input) {
|
|
|
81994
81773
|
case "unpublishPage":
|
|
81995
81774
|
await input.client.pages.unpublish(pageIdentifierForCommand(command));
|
|
81996
81775
|
return;
|
|
81997
|
-
default: assertNever$
|
|
81776
|
+
default: assertNever$24(command);
|
|
81998
81777
|
}
|
|
81999
81778
|
}
|
|
82000
81779
|
});
|
|
@@ -82096,7 +81875,7 @@ function preflightFailureFromPageCompileError(input) {
|
|
|
82096
81875
|
},
|
|
82097
81876
|
warnings: []
|
|
82098
81877
|
};
|
|
82099
|
-
default: assertNever$
|
|
81878
|
+
default: assertNever$24(input.error);
|
|
82100
81879
|
}
|
|
82101
81880
|
}
|
|
82102
81881
|
function pageCommandReportToSyncResult(report) {
|
|
@@ -82311,7 +82090,7 @@ function validateLocalBlock(input) {
|
|
|
82311
82090
|
case "builtin_found":
|
|
82312
82091
|
case "custom_found":
|
|
82313
82092
|
case "extension_only_custom_found": break;
|
|
82314
|
-
default: assertNever$
|
|
82093
|
+
default: assertNever$24(resolution);
|
|
82315
82094
|
}
|
|
82316
82095
|
const validation = validateBlockData(input.data, resolution.manifest, resolution.kind === "builtin_found" || resolution.kind === "custom_found" ? [...resolution.extensionFields] : void 0);
|
|
82317
82096
|
const warnings = formatValidationResult(input.pageIdentifier, input.blockIdentifier, input.kind, validation);
|
|
@@ -82338,7 +82117,7 @@ function incrementPageSuccess(result, subject) {
|
|
|
82338
82117
|
case "block":
|
|
82339
82118
|
incrementBlockCounter(result, subject.counter);
|
|
82340
82119
|
return;
|
|
82341
|
-
default: assertNever$
|
|
82120
|
+
default: assertNever$24(subject);
|
|
82342
82121
|
}
|
|
82343
82122
|
}
|
|
82344
82123
|
function pageCommandDisplayIdentifier(command) {
|
|
@@ -82349,7 +82128,7 @@ function pageCommandDisplayIdentifier(command) {
|
|
|
82349
82128
|
case "upsertPageBlock":
|
|
82350
82129
|
case "deletePageBlock": return [pageIdentifierForBlockCommand(command), blockIdentifierForCommand(command)].join("/");
|
|
82351
82130
|
case "reorderPageBlocks": return `${pageIdentifierForBlockCommand(command)}/blocks`;
|
|
82352
|
-
default: assertNever$
|
|
82131
|
+
default: assertNever$24(command);
|
|
82353
82132
|
}
|
|
82354
82133
|
}
|
|
82355
82134
|
function recordPageFailure(result, identifier, message, subject) {
|
|
@@ -82383,7 +82162,7 @@ function incrementPageCounter(result, counter) {
|
|
|
82383
82162
|
case "unpublished":
|
|
82384
82163
|
result.pages.unpublished++;
|
|
82385
82164
|
return;
|
|
82386
|
-
default: assertNever$
|
|
82165
|
+
default: assertNever$24(counter);
|
|
82387
82166
|
}
|
|
82388
82167
|
}
|
|
82389
82168
|
function incrementBlockCounter(result, counter) {
|
|
@@ -82398,7 +82177,7 @@ function incrementBlockCounter(result, counter) {
|
|
|
82398
82177
|
result.blocks.deleted++;
|
|
82399
82178
|
return;
|
|
82400
82179
|
case "reordered": return;
|
|
82401
|
-
default: assertNever$
|
|
82180
|
+
default: assertNever$24(counter);
|
|
82402
82181
|
}
|
|
82403
82182
|
}
|
|
82404
82183
|
function pageReportSubject(input) {
|
|
@@ -82440,7 +82219,7 @@ function compileContentPushExecutionPlan(plan, input, dependencies = {}) {
|
|
|
82440
82219
|
});
|
|
82441
82220
|
break;
|
|
82442
82221
|
}
|
|
82443
|
-
default: assertNever$
|
|
82222
|
+
default: assertNever$24(step);
|
|
82444
82223
|
}
|
|
82445
82224
|
return ok$3({
|
|
82446
82225
|
kind: "compiled-sync-steps",
|
|
@@ -82494,7 +82273,7 @@ async function executeCommandSurfaceAsReport(surface, input) {
|
|
|
82494
82273
|
onBeforeExecute: input.onNavigationCommandCount
|
|
82495
82274
|
})
|
|
82496
82275
|
};
|
|
82497
|
-
default: assertNever$
|
|
82276
|
+
default: assertNever$24(surface);
|
|
82498
82277
|
}
|
|
82499
82278
|
}
|
|
82500
82279
|
function preflightCommandSurfaceAsReport(surface, input) {
|
|
@@ -82519,7 +82298,7 @@ function preflightCommandSurfaceAsReport(surface, input) {
|
|
|
82519
82298
|
surface: "navigation",
|
|
82520
82299
|
report: reportFromOutcomes({ outcomes: [] })
|
|
82521
82300
|
};
|
|
82522
|
-
default: assertNever$
|
|
82301
|
+
default: assertNever$24(surface);
|
|
82523
82302
|
}
|
|
82524
82303
|
}
|
|
82525
82304
|
function skippedRemainingCommandReports(steps) {
|
|
@@ -82531,7 +82310,7 @@ function commandSurfaceReportToSyncResult(report) {
|
|
|
82531
82310
|
case "page": return pageCommandReportToSyncResult(report.report);
|
|
82532
82311
|
case "form": return formCommandReportToSyncResult(report.report);
|
|
82533
82312
|
case "navigation": return navigationCommandReportToSyncResult(report.report);
|
|
82534
|
-
default: assertNever$
|
|
82313
|
+
default: assertNever$24(report);
|
|
82535
82314
|
}
|
|
82536
82315
|
}
|
|
82537
82316
|
function commandSurfaceReportHasFailures(report) {
|
|
@@ -82581,7 +82360,7 @@ function compileCommandSurface(surface, input) {
|
|
|
82581
82360
|
local: input.local
|
|
82582
82361
|
})
|
|
82583
82362
|
};
|
|
82584
|
-
default: assertNever$
|
|
82363
|
+
default: assertNever$24(surface);
|
|
82585
82364
|
}
|
|
82586
82365
|
}
|
|
82587
82366
|
function commandSurfaceCompileSuccess(surface) {
|
|
@@ -82614,7 +82393,7 @@ function commandSurfaceCompileSuccess(surface) {
|
|
|
82614
82393
|
surface: "navigation",
|
|
82615
82394
|
report: navigationCommandCompileErrorToReport(surface.compileResult.error)
|
|
82616
82395
|
}));
|
|
82617
|
-
default: assertNever$
|
|
82396
|
+
default: assertNever$24(surface);
|
|
82618
82397
|
}
|
|
82619
82398
|
}
|
|
82620
82399
|
function contentPushReportWithCommandReport(commandReport) {
|
|
@@ -82644,7 +82423,7 @@ function skippedCommandSurfaceReport(surface) {
|
|
|
82644
82423
|
surface: "navigation",
|
|
82645
82424
|
report: reportFromOutcomes({ outcomes: skippedOutcomes(surface.compileValue.reportedCommands, navigationSkippedIdentifier) })
|
|
82646
82425
|
};
|
|
82647
|
-
default: assertNever$
|
|
82426
|
+
default: assertNever$24(surface);
|
|
82648
82427
|
}
|
|
82649
82428
|
}
|
|
82650
82429
|
function skippedOutcomes(reportedCommands, identifierForSubject) {
|
|
@@ -82663,7 +82442,7 @@ function pageSkippedIdentifier(subject) {
|
|
|
82663
82442
|
switch (subject.resource) {
|
|
82664
82443
|
case "page": return subject.identifier;
|
|
82665
82444
|
case "block": return `${subject.pageIdentifier}/${subject.identifier}`;
|
|
82666
|
-
default: assertNever$
|
|
82445
|
+
default: assertNever$24(subject);
|
|
82667
82446
|
}
|
|
82668
82447
|
}
|
|
82669
82448
|
function formSkippedIdentifier(subject) {
|
|
@@ -82798,7 +82577,7 @@ function planContentPushExecution(input) {
|
|
|
82798
82577
|
case "pages": return pageCommandRouting(input.diff).kind === "command_backed" ? syncPlanWithSteps([commandSurfaceStep("page", "continue")]) : syncPlanWithResidualOnly(input);
|
|
82799
82578
|
case "settings": return syncPlanWithResidualOnly(input);
|
|
82800
82579
|
case "all": return pushAllExecutionPlan(input);
|
|
82801
|
-
default: assertNever$
|
|
82580
|
+
default: assertNever$24(input.pushScope);
|
|
82802
82581
|
}
|
|
82803
82582
|
}
|
|
82804
82583
|
function pushAllExecutionPlan(input) {
|
|
@@ -82934,7 +82713,7 @@ async function executePushExecutionSteps(steps, input, dependencies) {
|
|
|
82934
82713
|
}
|
|
82935
82714
|
break;
|
|
82936
82715
|
}
|
|
82937
|
-
default: assertNever$
|
|
82716
|
+
default: assertNever$24(step);
|
|
82938
82717
|
}
|
|
82939
82718
|
return {
|
|
82940
82719
|
commandReports,
|
|
@@ -84648,7 +84427,7 @@ function entryDiffForDecision(decision, remoteEntries) {
|
|
|
84648
84427
|
case "conflict":
|
|
84649
84428
|
case "preserve_remote":
|
|
84650
84429
|
case "unchanged": return null;
|
|
84651
|
-
default: assertNever$
|
|
84430
|
+
default: assertNever$24(decision);
|
|
84652
84431
|
}
|
|
84653
84432
|
}
|
|
84654
84433
|
function remoteEntryForDecision(decision, remoteEntries) {
|
|
@@ -86708,7 +86487,7 @@ async function applyOneOffEntryCommand(command, client) {
|
|
|
86708
86487
|
case "deleteContentEntry":
|
|
86709
86488
|
await client.entries.delete(command.input.contentTypeKey, entryIdentifierForCommand(command));
|
|
86710
86489
|
return;
|
|
86711
|
-
default: assertNever$
|
|
86490
|
+
default: assertNever$24(command);
|
|
86712
86491
|
}
|
|
86713
86492
|
}
|
|
86714
86493
|
async function applyOneOffEntryCommandReturningEntry(command, client) {
|
|
@@ -86742,7 +86521,7 @@ async function applyOneOffPageCommand(command, client) {
|
|
|
86742
86521
|
case "deletePageBlock":
|
|
86743
86522
|
await client.blocks.delete(pageIdentifierForBlockCommand(command), blockIdentifierForCommand(command));
|
|
86744
86523
|
return;
|
|
86745
|
-
default: assertNever$
|
|
86524
|
+
default: assertNever$24(command);
|
|
86746
86525
|
}
|
|
86747
86526
|
}
|
|
86748
86527
|
async function applyOneOffPageCommandReturningPage(command, client) {
|
|
@@ -86821,7 +86600,7 @@ function oneOffEntryCommandBinding(mutation) {
|
|
|
86821
86600
|
counter: "unpublished"
|
|
86822
86601
|
}
|
|
86823
86602
|
};
|
|
86824
|
-
default: assertNever$
|
|
86603
|
+
default: assertNever$24(mutation);
|
|
86825
86604
|
}
|
|
86826
86605
|
}
|
|
86827
86606
|
function oneOffPageCommandBinding(mutation) {
|
|
@@ -86870,7 +86649,7 @@ function oneOffPageCommandBinding(mutation) {
|
|
|
86870
86649
|
counter: "unpublished"
|
|
86871
86650
|
}
|
|
86872
86651
|
};
|
|
86873
|
-
default: assertNever$
|
|
86652
|
+
default: assertNever$24(mutation);
|
|
86874
86653
|
}
|
|
86875
86654
|
}
|
|
86876
86655
|
function oneOffBlockCommandBinding(mutation) {
|
|
@@ -86919,7 +86698,7 @@ function oneOffBlockCommandBinding(mutation) {
|
|
|
86919
86698
|
}
|
|
86920
86699
|
};
|
|
86921
86700
|
}
|
|
86922
|
-
default: assertNever$
|
|
86701
|
+
default: assertNever$24(mutation);
|
|
86923
86702
|
}
|
|
86924
86703
|
}
|
|
86925
86704
|
function oneOffNavigationCommandBinding(mutation) {
|
|
@@ -86958,7 +86737,7 @@ function navigationCommandRole(command) {
|
|
|
86958
86737
|
case "header": return "primary";
|
|
86959
86738
|
case "footer": return "footer";
|
|
86960
86739
|
case void 0: return;
|
|
86961
|
-
default: return assertNever$
|
|
86740
|
+
default: return assertNever$24(command.input.location);
|
|
86962
86741
|
}
|
|
86963
86742
|
}
|
|
86964
86743
|
function isManagementPage(value) {
|
|
@@ -144811,15 +144590,20 @@ var init_usePaymentVerification = __esmMin((() => {
|
|
|
144811
144590
|
//#endregion
|
|
144812
144591
|
//#region ../blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.ts
|
|
144813
144592
|
function useEventRegistrationStripeReturn(options) {
|
|
144593
|
+
return useEventRegistrationStripeReturnWithDeps(options, eventRegistrationStripeReturnDeps);
|
|
144594
|
+
}
|
|
144595
|
+
function useEventRegistrationStripeReturnWithDeps(options, deps) {
|
|
144814
144596
|
const { api, events, occurrenceId, pendingAttendeeId, setErrorMessage, setFormData, setPaymentSelection, setPendingAttendeeId, setRegistrationResult, setSelectedEvent, setSelectedAttendanceMode, setTicketSelections, setStep, setTicketsCount, step } = options;
|
|
144815
|
-
const
|
|
144597
|
+
const verificationConfig = useMemo(() => step === "verifying-payment" && pendingAttendeeId ? { transactionId: pendingAttendeeId } : null, [step, pendingAttendeeId]);
|
|
144598
|
+
const verification = deps.usePaymentVerification(verificationConfig);
|
|
144816
144599
|
useEffect(() => {
|
|
144817
|
-
cleanupStaleRegistrations();
|
|
144818
|
-
const registrationStatus = consumeSearchParam("registration");
|
|
144819
|
-
if (
|
|
144600
|
+
deps.cleanupStaleRegistrations();
|
|
144601
|
+
const registrationStatus = deps.consumeSearchParam("registration");
|
|
144602
|
+
if (registrationStatus !== "cancelled" && registrationStatus !== "success") return;
|
|
144603
|
+
deps.scrollToBlock(EVENT_REGISTRATION_ANCHOR_ID);
|
|
144820
144604
|
const siteId = api.config.siteId;
|
|
144821
144605
|
if (!siteId) return;
|
|
144822
|
-
const pending = getPendingRegistration(siteId, occurrenceId || void 0);
|
|
144606
|
+
const pending = deps.getPendingRegistration(siteId, occurrenceId || void 0);
|
|
144823
144607
|
if (!pending) return;
|
|
144824
144608
|
setFormData(pending.formData);
|
|
144825
144609
|
setTicketSelections(pending.ticketSelections);
|
|
@@ -144839,7 +144623,7 @@ function useEventRegistrationStripeReturn(options) {
|
|
|
144839
144623
|
useEffect(() => {
|
|
144840
144624
|
if (verification.status === "completed") {
|
|
144841
144625
|
const siteId = api.config.siteId;
|
|
144842
|
-
if (siteId && occurrenceId) clearPendingRegistration(siteId, occurrenceId);
|
|
144626
|
+
if (siteId && occurrenceId) deps.clearPendingRegistration(siteId, occurrenceId);
|
|
144843
144627
|
setRegistrationResult({ status: "confirmed" });
|
|
144844
144628
|
setStep("success");
|
|
144845
144629
|
} else if (verification.status === "failed") {
|
|
@@ -144859,11 +144643,21 @@ function useEventRegistrationStripeReturn(options) {
|
|
|
144859
144643
|
]);
|
|
144860
144644
|
return verification;
|
|
144861
144645
|
}
|
|
144646
|
+
var eventRegistrationStripeReturnDeps;
|
|
144862
144647
|
var init_useEventRegistrationStripeReturn = __esmMin((() => {
|
|
144863
144648
|
init_usePaymentVerification();
|
|
144864
144649
|
init_shared();
|
|
144650
|
+
init_constants();
|
|
144865
144651
|
init_sessionStorage();
|
|
144866
144652
|
init_ticketSelectionLines();
|
|
144653
|
+
eventRegistrationStripeReturnDeps = {
|
|
144654
|
+
usePaymentVerification,
|
|
144655
|
+
consumeSearchParam,
|
|
144656
|
+
scrollToBlock,
|
|
144657
|
+
cleanupStaleRegistrations,
|
|
144658
|
+
clearPendingRegistration,
|
|
144659
|
+
getPendingRegistration
|
|
144660
|
+
};
|
|
144867
144661
|
}));
|
|
144868
144662
|
//#endregion
|
|
144869
144663
|
//#region ../blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.ts
|
|
@@ -144955,13 +144749,7 @@ function useEventRegistrationSubmitWithDeps(options, deps) {
|
|
|
144955
144749
|
if (!result.alreadyRegistered && result.status === "confirmed" && result.pendingPayment && (method === "stripe" || method === "pass_bundle" || method === "membership_bundle")) {
|
|
144956
144750
|
options.setPendingAttendeeId(result.attendeeId);
|
|
144957
144751
|
options.setStep("redirecting");
|
|
144958
|
-
const
|
|
144959
|
-
const successParams = new URLSearchParams(currentUrl.search);
|
|
144960
|
-
successParams.set("registration", "success");
|
|
144961
|
-
const successUrl = `${currentUrl.origin}${currentUrl.pathname}?${successParams.toString()}${currentUrl.hash}`;
|
|
144962
|
-
const cancelParams = new URLSearchParams(currentUrl.search);
|
|
144963
|
-
cancelParams.set("registration", "cancelled");
|
|
144964
|
-
const cancelUrl = `${currentUrl.origin}${currentUrl.pathname}?${cancelParams.toString()}${currentUrl.hash}`;
|
|
144752
|
+
const { successUrl, cancelUrl } = buildCheckoutReturnUrls("registration", EVENT_REGISTRATION_ANCHOR_ID);
|
|
144965
144753
|
const checkoutType = method === "pass_bundle" ? "pass_bundle" : method === "membership_bundle" ? "membership_bundle" : "event";
|
|
144966
144754
|
const checkoutResult = await options.api.createEventCheckout({
|
|
144967
144755
|
attendeeId: result.attendeeId,
|
|
@@ -145026,6 +144814,8 @@ function useEventRegistrationSubmitWithDeps(options, deps) {
|
|
|
145026
144814
|
}
|
|
145027
144815
|
var eventRegistrationSubmitDeps;
|
|
145028
144816
|
var init_useEventRegistrationSubmit = __esmMin((() => {
|
|
144817
|
+
init_shared();
|
|
144818
|
+
init_constants();
|
|
145029
144819
|
init_sessionStorage();
|
|
145030
144820
|
init_ticketSelectionLines();
|
|
145031
144821
|
eventRegistrationSubmitDeps = { savePendingRegistration };
|
|
@@ -151967,7 +151757,7 @@ function PassesMembershipsController({ render }) {
|
|
|
151967
151757
|
case "redirect":
|
|
151968
151758
|
window.location.href = result.checkoutUrl;
|
|
151969
151759
|
return;
|
|
151970
|
-
default: return assertNever$
|
|
151760
|
+
default: return assertNever$24(result);
|
|
151971
151761
|
}
|
|
151972
151762
|
} catch (submitError) {
|
|
151973
151763
|
dispatch({
|
|
@@ -152846,7 +152636,7 @@ init_media();
|
|
|
152846
152636
|
init_src$3();
|
|
152847
152637
|
//#endregion
|
|
152848
152638
|
//#region ../blocks/src/rendering/server.ts
|
|
152849
|
-
init_schema$
|
|
152639
|
+
init_schema$2();
|
|
152850
152640
|
//#endregion
|
|
152851
152641
|
//#region ../theme-core/src/index.ts
|
|
152852
152642
|
init_schema();
|
|
@@ -152973,7 +152763,7 @@ var SimpleCache = class {
|
|
|
152973
152763
|
* 1. This constant
|
|
152974
152764
|
* 2. The "version" field in package.json
|
|
152975
152765
|
*/
|
|
152976
|
-
const SDK_VERSION = "0.
|
|
152766
|
+
const SDK_VERSION = "0.127.0";
|
|
152977
152767
|
//#endregion
|
|
152978
152768
|
//#region src/client/error.ts
|
|
152979
152769
|
/**
|
|
@@ -159930,6 +159720,211 @@ const envStatusCommand = new Command("status").description("Show which environme
|
|
|
159930
159720
|
}));
|
|
159931
159721
|
const envCommand = new Command("env").description("Environment configuration and status").addCommand(envStatusCommand);
|
|
159932
159722
|
//#endregion
|
|
159723
|
+
//#region ../api/src/sdk-event-schedule.ts
|
|
159724
|
+
const timeRegex = /^([01]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?$/;
|
|
159725
|
+
const explicitOffsetDateTimeRegex = /^(\d{4})-(\d{2})-(\d{2})T([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d))?(\.\d{1,3})?(Z|[+-]([01]\d|2[0-3]):[0-5]\d)$/;
|
|
159726
|
+
const localDateTimeRegex = /^(\d{4})-(\d{2})-(\d{2})T([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d))?(\.\d{1,3})?$/;
|
|
159727
|
+
function issue(path, message) {
|
|
159728
|
+
return {
|
|
159729
|
+
path,
|
|
159730
|
+
message
|
|
159731
|
+
};
|
|
159732
|
+
}
|
|
159733
|
+
function isValidDateParts(year, month, day) {
|
|
159734
|
+
const date = new Date(Date.UTC(year, month - 1, day));
|
|
159735
|
+
return date.getUTCFullYear() === year && date.getUTCMonth() === month - 1 && date.getUTCDate() === day;
|
|
159736
|
+
}
|
|
159737
|
+
function isZeroFraction(fraction) {
|
|
159738
|
+
return fraction === void 0 || /^\.0+$/.test(fraction);
|
|
159739
|
+
}
|
|
159740
|
+
function datePart(year, month, day) {
|
|
159741
|
+
return `${year}-${month}-${day}`;
|
|
159742
|
+
}
|
|
159743
|
+
function timePart(hours, minutes, seconds = "00") {
|
|
159744
|
+
return `${hours}:${minutes}:${seconds}`;
|
|
159745
|
+
}
|
|
159746
|
+
function parseSdkEventDateTime(value) {
|
|
159747
|
+
const explicitMatch = explicitOffsetDateTimeRegex.exec(value);
|
|
159748
|
+
if (explicitMatch) {
|
|
159749
|
+
const [, yearRaw, monthRaw, dayRaw, hours, minutes, seconds = "00", fraction] = explicitMatch;
|
|
159750
|
+
if (!yearRaw || !monthRaw || !dayRaw || !hours || !minutes) return null;
|
|
159751
|
+
if (!isValidDateParts(Number(yearRaw), Number(monthRaw), Number(dayRaw)) || !isZeroFraction(fraction)) return null;
|
|
159752
|
+
const epochMs = Date.parse(value);
|
|
159753
|
+
if (!Number.isFinite(epochMs)) return null;
|
|
159754
|
+
return {
|
|
159755
|
+
epochMs,
|
|
159756
|
+
date: datePart(yearRaw, monthRaw, dayRaw),
|
|
159757
|
+
time: timePart(hours, minutes, seconds),
|
|
159758
|
+
iso: new Date(epochMs).toISOString()
|
|
159759
|
+
};
|
|
159760
|
+
}
|
|
159761
|
+
const localMatch = localDateTimeRegex.exec(value);
|
|
159762
|
+
if (!localMatch) return null;
|
|
159763
|
+
const [, yearRaw, monthRaw, dayRaw, hours, minutes, seconds = "00", fraction] = localMatch;
|
|
159764
|
+
if (!yearRaw || !monthRaw || !dayRaw || !hours || !minutes) return null;
|
|
159765
|
+
const year = Number(yearRaw);
|
|
159766
|
+
const month = Number(monthRaw);
|
|
159767
|
+
const day = Number(dayRaw);
|
|
159768
|
+
if (!isValidDateParts(year, month, day) || !isZeroFraction(fraction)) return null;
|
|
159769
|
+
const epochMs = Date.UTC(year, month - 1, day, Number(hours), Number(minutes), Number(seconds));
|
|
159770
|
+
return {
|
|
159771
|
+
epochMs,
|
|
159772
|
+
date: datePart(yearRaw, monthRaw, dayRaw),
|
|
159773
|
+
time: timePart(hours, minutes, seconds),
|
|
159774
|
+
iso: new Date(epochMs).toISOString()
|
|
159775
|
+
};
|
|
159776
|
+
}
|
|
159777
|
+
function durationMinutesBetween(startsAt, endsAt) {
|
|
159778
|
+
if (endsAt.epochMs <= startsAt.epochMs) return null;
|
|
159779
|
+
const durationMs = endsAt.epochMs - startsAt.epochMs;
|
|
159780
|
+
if (durationMs % 6e4 !== 0) return null;
|
|
159781
|
+
return durationMs / 6e4;
|
|
159782
|
+
}
|
|
159783
|
+
function exceedsMaxDuration(durationMinutes, options) {
|
|
159784
|
+
return options.maxDurationMinutes !== void 0 && durationMinutes > options.maxDurationMinutes;
|
|
159785
|
+
}
|
|
159786
|
+
function maxDurationMessage(options) {
|
|
159787
|
+
return options.maxDurationDays === void 0 ? "Duration is above the allowed maximum" : `Duration must be ${options.maxDurationDays} days or less`;
|
|
159788
|
+
}
|
|
159789
|
+
function classifyCanonicalSchedule(input, options) {
|
|
159790
|
+
const issues = [];
|
|
159791
|
+
if (options.requireCanonicalFields && input.recurrenceRule === void 0) issues.push(issue(["recurrenceRule"], "recurrenceRule is required"));
|
|
159792
|
+
if (input.defaultStartTime !== void 0 && input.defaultStartTime !== null && !timeRegex.test(input.defaultStartTime)) issues.push(issue(["defaultStartTime"], "Invalid time format (HH:MM or HH:MM:SS)"));
|
|
159793
|
+
if (options.requireCanonicalFields && !input.defaultStartTime) issues.push(issue(["defaultStartTime"], "defaultStartTime is required"));
|
|
159794
|
+
if (options.requireCanonicalFields && input.durationMinutes === void 0) issues.push(issue(["durationMinutes"], "durationMinutes is required"));
|
|
159795
|
+
if (input.durationMinutes !== void 0 && input.durationMinutes !== null) {
|
|
159796
|
+
if (input.durationMinutes < 1) issues.push(issue(["durationMinutes"], "durationMinutes must be at least 1"));
|
|
159797
|
+
else if (exceedsMaxDuration(input.durationMinutes, options)) issues.push(issue(["durationMinutes"], maxDurationMessage(options)));
|
|
159798
|
+
}
|
|
159799
|
+
if (issues.length > 0) return {
|
|
159800
|
+
ok: false,
|
|
159801
|
+
issues
|
|
159802
|
+
};
|
|
159803
|
+
return {
|
|
159804
|
+
ok: true,
|
|
159805
|
+
kind: "canonical",
|
|
159806
|
+
canonical: {
|
|
159807
|
+
recurrenceRule: input.recurrenceRule ?? null,
|
|
159808
|
+
startDate: input.startDate,
|
|
159809
|
+
defaultStartTime: input.defaultStartTime ?? "09:00:00",
|
|
159810
|
+
durationMinutes: input.durationMinutes ?? 60
|
|
159811
|
+
}
|
|
159812
|
+
};
|
|
159813
|
+
}
|
|
159814
|
+
function classifySdkEventSchedule(input, options = {}) {
|
|
159815
|
+
const issues = [];
|
|
159816
|
+
const hasStartsAt = input.startsAt !== void 0 && input.startsAt !== null;
|
|
159817
|
+
const hasEndsAt = input.endsAt !== void 0 && input.endsAt !== null;
|
|
159818
|
+
const hasDateTimeDuration = hasStartsAt && input.durationMinutes !== void 0 && input.durationMinutes !== null;
|
|
159819
|
+
const hasCanonicalStart = input.startDate !== void 0 || input.defaultStartTime !== void 0;
|
|
159820
|
+
if (!hasStartsAt && !hasEndsAt) return classifyCanonicalSchedule(input, options);
|
|
159821
|
+
if (hasStartsAt && hasCanonicalStart) issues.push(issue(["startsAt"], "Use either startsAt or startDate/defaultStartTime, not both"));
|
|
159822
|
+
if (input.recurrenceRule) issues.push(issue(["recurrenceRule"], "startsAt schedules are only supported for one-off events"));
|
|
159823
|
+
if (!hasStartsAt) issues.push(issue(["startsAt"], "startsAt is required when endsAt is provided"));
|
|
159824
|
+
if (!hasEndsAt && !hasDateTimeDuration) issues.push(issue(["endsAt"], "Provide either endsAt or durationMinutes with startsAt"));
|
|
159825
|
+
if (hasEndsAt && hasDateTimeDuration) issues.push(issue(["endsAt"], "Use either endsAt or durationMinutes with startsAt, not both"));
|
|
159826
|
+
const startsAt = typeof input.startsAt === "string" ? parseSdkEventDateTime(input.startsAt) : null;
|
|
159827
|
+
const endsAt = typeof input.endsAt === "string" ? parseSdkEventDateTime(input.endsAt) : null;
|
|
159828
|
+
if (hasStartsAt && !startsAt) issues.push(issue(["startsAt"], "Invalid datetime format. Use ISO datetime format, e.g. 2026-06-01T10:00:00Z"));
|
|
159829
|
+
if (hasEndsAt && !endsAt) issues.push(issue(["endsAt"], "Invalid datetime format. Use ISO datetime format, e.g. 2026-06-07T10:00:00Z"));
|
|
159830
|
+
if (startsAt && endsAt) {
|
|
159831
|
+
const durationMinutes = durationMinutesBetween(startsAt, endsAt);
|
|
159832
|
+
if (durationMinutes === null) issues.push(issue(["endsAt"], "endsAt must be after startsAt and align to a whole minute"));
|
|
159833
|
+
else if (exceedsMaxDuration(durationMinutes, options)) issues.push(issue(["endsAt"], maxDurationMessage(options)));
|
|
159834
|
+
if (issues.length === 0 && durationMinutes !== null) return {
|
|
159835
|
+
ok: true,
|
|
159836
|
+
kind: "start-end",
|
|
159837
|
+
canonical: {
|
|
159838
|
+
recurrenceRule: null,
|
|
159839
|
+
startDate: startsAt.date,
|
|
159840
|
+
defaultStartTime: startsAt.time,
|
|
159841
|
+
durationMinutes
|
|
159842
|
+
},
|
|
159843
|
+
startsAtIso: startsAt.iso,
|
|
159844
|
+
endsAtIso: endsAt.iso
|
|
159845
|
+
};
|
|
159846
|
+
}
|
|
159847
|
+
if (startsAt && hasDateTimeDuration && input.durationMinutes !== void 0 && input.durationMinutes !== null) {
|
|
159848
|
+
if (input.durationMinutes < 1) issues.push(issue(["durationMinutes"], "durationMinutes must be at least 1"));
|
|
159849
|
+
else if (exceedsMaxDuration(input.durationMinutes, options)) issues.push(issue(["durationMinutes"], maxDurationMessage(options)));
|
|
159850
|
+
if (issues.length === 0) {
|
|
159851
|
+
const endsAtMs = startsAt.epochMs + input.durationMinutes * 6e4;
|
|
159852
|
+
return {
|
|
159853
|
+
ok: true,
|
|
159854
|
+
kind: "start-duration",
|
|
159855
|
+
canonical: {
|
|
159856
|
+
recurrenceRule: null,
|
|
159857
|
+
startDate: startsAt.date,
|
|
159858
|
+
defaultStartTime: startsAt.time,
|
|
159859
|
+
durationMinutes: input.durationMinutes
|
|
159860
|
+
},
|
|
159861
|
+
startsAtIso: startsAt.iso,
|
|
159862
|
+
endsAtIso: new Date(endsAtMs).toISOString()
|
|
159863
|
+
};
|
|
159864
|
+
}
|
|
159865
|
+
}
|
|
159866
|
+
return {
|
|
159867
|
+
ok: false,
|
|
159868
|
+
issues
|
|
159869
|
+
};
|
|
159870
|
+
}
|
|
159871
|
+
//#endregion
|
|
159872
|
+
//#region ../api/src/sdk-event-upsert.ts
|
|
159873
|
+
const sdkEventOccurrenceInputSchema = z$1.object({
|
|
159874
|
+
startsAt: z$1.string().datetime({ offset: true }),
|
|
159875
|
+
endsAt: z$1.string().datetime({ offset: true }),
|
|
159876
|
+
timeZone: z$1.string().min(1).refine((value) => {
|
|
159877
|
+
try {
|
|
159878
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
159879
|
+
return true;
|
|
159880
|
+
} catch {
|
|
159881
|
+
return false;
|
|
159882
|
+
}
|
|
159883
|
+
}, "Invalid IANA timezone")
|
|
159884
|
+
}).refine(({ startsAt, endsAt }) => Date.parse(endsAt) > Date.parse(startsAt), {
|
|
159885
|
+
path: ["endsAt"],
|
|
159886
|
+
message: "endsAt must be after startsAt"
|
|
159887
|
+
});
|
|
159888
|
+
const sdkEventUpsertOptionalFieldSchemas = {
|
|
159889
|
+
path: z$1.string().startsWith("/", "path must start with /").nullable().optional(),
|
|
159890
|
+
status: z$1.enum([
|
|
159891
|
+
"draft",
|
|
159892
|
+
"active",
|
|
159893
|
+
"archived",
|
|
159894
|
+
"cancelled",
|
|
159895
|
+
"completed"
|
|
159896
|
+
]).optional(),
|
|
159897
|
+
visibility: z$1.enum([
|
|
159898
|
+
"private",
|
|
159899
|
+
"public",
|
|
159900
|
+
"unlisted"
|
|
159901
|
+
]).optional(),
|
|
159902
|
+
preset: z$1.enum([
|
|
159903
|
+
"event",
|
|
159904
|
+
"class",
|
|
159905
|
+
"course",
|
|
159906
|
+
"workshop",
|
|
159907
|
+
"retreat",
|
|
159908
|
+
"performance"
|
|
159909
|
+
]).optional(),
|
|
159910
|
+
bookingScope: z$1.enum(["single_occurrence", "whole_series"]).optional(),
|
|
159911
|
+
occurrences: z$1.array(sdkEventOccurrenceInputSchema).min(1).optional(),
|
|
159912
|
+
capacity: z$1.number().int().positive().nullable().optional()
|
|
159913
|
+
};
|
|
159914
|
+
//#endregion
|
|
159915
|
+
//#region src/cli/commands/eventOccurrenceSchedule.ts
|
|
159916
|
+
function portableEventScheduleOutput(event) {
|
|
159917
|
+
return {
|
|
159918
|
+
schedule: event.schedule,
|
|
159919
|
+
preset: event.preset,
|
|
159920
|
+
bookingScope: event.bookingScope,
|
|
159921
|
+
occurrences: event.occurrences
|
|
159922
|
+
};
|
|
159923
|
+
}
|
|
159924
|
+
function canCancelEventStatus(status) {
|
|
159925
|
+
return status === "draft" || status === "active";
|
|
159926
|
+
}
|
|
159927
|
+
//#endregion
|
|
159933
159928
|
//#region src/cli/commands/event.ts
|
|
159934
159929
|
const eventScheduleInputSchema = z$1.object({
|
|
159935
159930
|
recurrenceRule: z$1.string().nullable().optional(),
|
|
@@ -160000,21 +159995,8 @@ const eventUpsertInputSchema = z$1.object({
|
|
|
160000
159995
|
identifier: z$1.string().min(1).optional(),
|
|
160001
159996
|
title: z$1.string().min(1, "title is required"),
|
|
160002
159997
|
slug: z$1.string().min(1).optional(),
|
|
160003
|
-
|
|
160004
|
-
|
|
160005
|
-
"draft",
|
|
160006
|
-
"active",
|
|
160007
|
-
"archived",
|
|
160008
|
-
"cancelled",
|
|
160009
|
-
"completed"
|
|
160010
|
-
]).optional(),
|
|
160011
|
-
visibility: z$1.enum([
|
|
160012
|
-
"private",
|
|
160013
|
-
"public",
|
|
160014
|
-
"unlisted"
|
|
160015
|
-
]).optional(),
|
|
160016
|
-
schedule: eventScheduleInputSchema,
|
|
160017
|
-
capacity: z$1.number().int().positive().nullable().optional(),
|
|
159998
|
+
...sdkEventUpsertOptionalFieldSchemas,
|
|
159999
|
+
schedule: eventScheduleInputSchema.optional(),
|
|
160018
160000
|
pricing: eventPricingInputSchema.optional(),
|
|
160019
160001
|
paymentTerms: eventPaymentTermsInputSchema.optional(),
|
|
160020
160002
|
venueRef: z$1.string().nullable().optional(),
|
|
@@ -160025,6 +160007,17 @@ const eventUpsertInputSchema = z$1.object({
|
|
|
160025
160007
|
presentation: z$1.record(z$1.string(), z$1.unknown()).nullable().optional(),
|
|
160026
160008
|
tags: z$1.array(z$1.string()).optional(),
|
|
160027
160009
|
blocks: sdkEntrySlotBlocksInputSchema.optional()
|
|
160010
|
+
}).superRefine((input, ctx) => {
|
|
160011
|
+
if (input.occurrences && !input.bookingScope) ctx.addIssue({
|
|
160012
|
+
code: "custom",
|
|
160013
|
+
path: ["bookingScope"],
|
|
160014
|
+
message: "bookingScope is required when occurrences are provided"
|
|
160015
|
+
});
|
|
160016
|
+
if (new Set(input.occurrences?.map((occurrence) => occurrence.timeZone)).size > 1) ctx.addIssue({
|
|
160017
|
+
code: "custom",
|
|
160018
|
+
path: ["occurrences"],
|
|
160019
|
+
message: "all occurrences must use the same timeZone"
|
|
160020
|
+
});
|
|
160028
160021
|
});
|
|
160029
160022
|
const formatEventRow = (event) => [
|
|
160030
160023
|
event.identifier,
|
|
@@ -160038,23 +160031,25 @@ function toEventUpsertInput(identifier, raw) {
|
|
|
160038
160031
|
if (parsedIdentifier && parsedIdentifier !== identifier) throw new Error(`Identifier mismatch: argument "${identifier}" does not match payload identifier "${parsedIdentifier}".`);
|
|
160039
160032
|
const parsedStatus = parsed.status;
|
|
160040
160033
|
const status = parsedStatus === "completed" ? void 0 : parsedStatus;
|
|
160034
|
+
const firstOccurrence = parsed.occurrences?.[0];
|
|
160035
|
+
const schedule = parsed.schedule ?? (firstOccurrence ? scheduleFromExplicitEventOccurrence(firstOccurrence) : null);
|
|
160036
|
+
if (!schedule) throw new Error("schedule is required when no explicit occurrences are provided");
|
|
160041
160037
|
return {
|
|
160042
160038
|
...parsed,
|
|
160043
160039
|
identifier,
|
|
160044
160040
|
slug: parsed.slug ?? identifier,
|
|
160045
|
-
status
|
|
160041
|
+
status,
|
|
160042
|
+
schedule
|
|
160046
160043
|
};
|
|
160047
160044
|
}
|
|
160048
160045
|
function buildCancelledEventUpsertInput(current) {
|
|
160049
|
-
const { id: _id, createdAt: _createdAt, updatedAt: _updatedAt, contentUpdatedAt: _contentUpdatedAt, ...rest } = current;
|
|
160046
|
+
const { id: _id, createdAt: _createdAt, updatedAt: _updatedAt, contentUpdatedAt: _contentUpdatedAt, occurrences, ...rest } = current;
|
|
160050
160047
|
return {
|
|
160051
160048
|
...rest,
|
|
160049
|
+
...occurrences.length > 0 ? { occurrences } : {},
|
|
160052
160050
|
status: "cancelled"
|
|
160053
160051
|
};
|
|
160054
160052
|
}
|
|
160055
|
-
function canCancelEventStatus(status) {
|
|
160056
|
-
return status === "draft" || status === "active";
|
|
160057
|
-
}
|
|
160058
160053
|
const upsertCommand = new Command("upsert").description("Create or update an event series").argument("<identifier>", "Event identifier").option("--data <json>", "Event payload as JSON string").option("--file <path>", "Path to JSON file with event payload").action(withErrorHandling(async (identifier, options, command) => {
|
|
160059
160054
|
const { output, client } = createCommandContext(command);
|
|
160060
160055
|
const raw = await parseJsonData(options);
|
|
@@ -160079,7 +160074,7 @@ const getCommand = createGetCommand({
|
|
|
160079
160074
|
slug: event.slug,
|
|
160080
160075
|
status: event.status,
|
|
160081
160076
|
visibility: event.visibility,
|
|
160082
|
-
|
|
160077
|
+
...portableEventScheduleOutput(event),
|
|
160083
160078
|
capacity: event.capacity,
|
|
160084
160079
|
pricing: event.pricing,
|
|
160085
160080
|
paymentTerms: event.paymentTerms,
|
|
@@ -160526,17 +160521,10 @@ async function readLegacyEventEntries(contentDir) {
|
|
|
160526
160521
|
return entries;
|
|
160527
160522
|
}
|
|
160528
160523
|
async function readCanonicalEventsWithPaths(contentDir) {
|
|
160529
|
-
|
|
160530
|
-
|
|
160531
|
-
|
|
160532
|
-
|
|
160533
|
-
const event = await readJsonFile(filePath);
|
|
160534
|
-
events.push({
|
|
160535
|
-
event,
|
|
160536
|
-
filePath
|
|
160537
|
-
});
|
|
160538
|
-
}
|
|
160539
|
-
return events;
|
|
160524
|
+
return (await readEventsWithFilePaths(contentDir)).map(({ filePath, ...event }) => ({
|
|
160525
|
+
event,
|
|
160526
|
+
filePath
|
|
160527
|
+
}));
|
|
160540
160528
|
}
|
|
160541
160529
|
function findCandidateEvents(legacy, eventsByIdentifier, eventsBySlug) {
|
|
160542
160530
|
const byIdentifier = eventsByIdentifier.get(legacy.entry.identifier);
|
|
@@ -161099,15 +161087,19 @@ function buildStyleSelectionApplyInputFromOptions(options) {
|
|
|
161099
161087
|
headerLayoutId: siteStyle?.defaultHeaderSelection.layoutId ?? guaranteedFallbackHeaderLayoutId,
|
|
161100
161088
|
headerStyleId: siteStyle?.defaultHeaderSelection.styleId ?? guaranteedFallbackHeaderStyleId,
|
|
161101
161089
|
footerLookId: null
|
|
161102
|
-
},
|
|
161090
|
+
}, parsePalette(options.palette), baseSelectionVersion, options.selectionId ?? null);
|
|
161103
161091
|
}
|
|
161104
161092
|
/** Builds the complete first-theme command without reading current selection state. */
|
|
161105
161093
|
function buildStyleSelectionInitializeCommandFromOptions(options) {
|
|
161106
161094
|
const siteStyle = getCuratedSiteStyle(asSiteStyleId(options.siteStyleId));
|
|
161107
161095
|
if (!siteStyle) throw new Error(`Unknown curated site style: ${options.siteStyleId}`);
|
|
161108
|
-
return buildApplySiteStyleSelectionCommand(buildStyleSelectionInputFromOptions(options, styleSelectionInitializationDefaults(siteStyle),
|
|
161096
|
+
return buildApplySiteStyleSelectionCommand(buildStyleSelectionInputFromOptions(options, styleSelectionInitializationDefaults(siteStyle), parseInitializationPalette(options.palette, siteStyle), 0, null));
|
|
161109
161097
|
}
|
|
161110
|
-
function buildStyleSelectionInputFromOptions(options, defaults,
|
|
161098
|
+
function buildStyleSelectionInputFromOptions(options, defaults, palette, baseSelectionVersion, selectionId) {
|
|
161099
|
+
const paletteChange = palette ? [{
|
|
161100
|
+
kind: "set-palette",
|
|
161101
|
+
palette
|
|
161102
|
+
}] : [];
|
|
161111
161103
|
return {
|
|
161112
161104
|
siteStyleRef: options.siteStyleId,
|
|
161113
161105
|
changes: [
|
|
@@ -161119,10 +161111,7 @@ function buildStyleSelectionInputFromOptions(options, defaults, paletteCommand,
|
|
|
161119
161111
|
kind: "set-button-style",
|
|
161120
161112
|
buttonStyleSelection: parseButtonStyleSelection(options, defaults)
|
|
161121
161113
|
},
|
|
161122
|
-
|
|
161123
|
-
kind: "set-palette",
|
|
161124
|
-
command: paletteCommand
|
|
161125
|
-
},
|
|
161114
|
+
...paletteChange,
|
|
161126
161115
|
{
|
|
161127
161116
|
kind: "set-typography",
|
|
161128
161117
|
typography: parseTypography(options.typography, defaults.typography)
|
|
@@ -161185,24 +161174,17 @@ function parseTypography(value, fallback) {
|
|
|
161185
161174
|
}
|
|
161186
161175
|
return typographySchema.parse(parsed);
|
|
161187
161176
|
}
|
|
161188
|
-
function
|
|
161189
|
-
if (value === void 0 || value.trim() === "") return
|
|
161190
|
-
return
|
|
161177
|
+
function parsePalette(value) {
|
|
161178
|
+
if (value === void 0 || value.trim() === "") return null;
|
|
161179
|
+
return paletteSchema.parse(JSON.parse(value));
|
|
161191
161180
|
}
|
|
161192
|
-
function
|
|
161181
|
+
function parseInitializationPalette(value, siteStyle) {
|
|
161193
161182
|
if (value === void 0 || value.trim() === "") {
|
|
161194
161183
|
const palette = findCuratedPalette(defaultPaletteForSiteStyle(siteStyle));
|
|
161195
161184
|
if (!palette) throw new Error(`Missing default palette for curated site style: ${siteStyle.id}`);
|
|
161196
|
-
return
|
|
161197
|
-
kind: "create-site",
|
|
161198
|
-
colors: palette.colors,
|
|
161199
|
-
mode: palette.mode,
|
|
161200
|
-
origin: { kind: "manual" }
|
|
161201
|
-
};
|
|
161185
|
+
return concretePaletteToTheme(palette);
|
|
161202
161186
|
}
|
|
161203
|
-
|
|
161204
|
-
if (command.kind !== "create-site" || command.origin.kind !== "manual") throw new Error("--palette-command for style init must be a complete manual create-site command");
|
|
161205
|
-
return command;
|
|
161187
|
+
return paletteSchema.parse(JSON.parse(value));
|
|
161206
161188
|
}
|
|
161207
161189
|
function buildStyleCatalogListRows(styles = curatedSiteStyles, options = {}) {
|
|
161208
161190
|
return (options.siteStyleId ? styles.filter((style) => String(style.id) === options.siteStyleId) : styles).map((style) => ({
|
|
@@ -161300,7 +161282,7 @@ const listCommand = new Command("list").description("List curated site styles an
|
|
|
161300
161282
|
"Footer Looks"
|
|
161301
161283
|
], rows.map(formatStyleCatalogListRow));
|
|
161302
161284
|
}));
|
|
161303
|
-
const applyCommand = new Command("apply").description("Apply a curated site-style selection").requiredOption("--site-style-id <id>", "Site style ID, e.g. site-style:calm-studio").requiredOption("--base-selection-version <version>", "Current style selection version").option("--selection-id <id>", "Current style selection row ID").option("--button-style-id <id>", "Button style ID").option("--button-style-parameters <json>", "Button style parameter object as JSON").option("--palette
|
|
161285
|
+
const applyCommand = new Command("apply").description("Apply a curated site-style selection").requiredOption("--site-style-id <id>", "Site style ID, e.g. site-style:calm-studio").requiredOption("--base-selection-version <version>", "Current style selection version").option("--selection-id <id>", "Current style selection row ID").option("--button-style-id <id>", "Button style ID").option("--button-style-parameters <json>", "Button style parameter object as JSON").option("--palette <json>", "Complete theme palette JSON").option("--typography <json>", "Complete typography JSON (defaults to the site style typography)").option("--header-look-id <id>", "Legacy header look bridge ID").option("--header-layout-id <id>", "Header layout ID").option("--header-style-id <id>", "Header style ID").option("--footer-look-id <id>", "Footer look ID").action(withErrorHandling(async (options, command) => {
|
|
161304
161286
|
const { output, client } = createCommandContext(command);
|
|
161305
161287
|
const input = buildStyleSelectionApplyInputFromOptions(options);
|
|
161306
161288
|
const commandIr = buildApplySiteStyleSelectionCommand(input);
|
|
@@ -161314,12 +161296,12 @@ const applyCommand = new Command("apply").description("Apply a curated site-styl
|
|
|
161314
161296
|
savedAt: result.savedAt
|
|
161315
161297
|
});
|
|
161316
161298
|
}));
|
|
161317
|
-
const initCommand = new Command("init").description("Initialize a fresh SDK site with a curated site style").requiredOption("--site-style-id <id>", "Site style ID, e.g. site-style:calm-studio").option("--button-style-id <id>", "Button style ID").option("--button-style-parameters <json>", "Button style parameter object as JSON").option("--palette
|
|
161299
|
+
const initCommand = new Command("init").description("Initialize a fresh SDK site with a curated site style").requiredOption("--site-style-id <id>", "Site style ID, e.g. site-style:calm-studio").option("--button-style-id <id>", "Button style ID").option("--button-style-parameters <json>", "Button style parameter object as JSON").option("--palette <json>", "Complete theme palette JSON").option("--typography <json>", "Complete typography JSON (defaults to the site style typography)").option("--header-look-id <id>", "Legacy header look bridge ID").option("--header-layout-id <id>", "Header layout ID").option("--header-style-id <id>", "Header style ID").option("--footer-look-id <id>", "Footer look ID").action(withErrorHandling(executeStyleInit));
|
|
161318
161300
|
const styleCommand = new Command("style").description("Manage curated site styles").addHelpText("after", `
|
|
161319
161301
|
Examples:
|
|
161320
161302
|
$ riverbankcms style init --site-style-id site-style:calm-studio
|
|
161321
161303
|
$ riverbankcms style apply --site-style-id site-style:calm-studio --base-selection-version 3
|
|
161322
|
-
$ riverbankcms style apply --site-style-id site-style:calm-studio --base-selection-version 3 --palette
|
|
161304
|
+
$ riverbankcms style apply --site-style-id site-style:calm-studio --base-selection-version 3 --palette '{"colors":[...],"meta":{"mode":"light"}}'
|
|
161323
161305
|
`).addCommand(listCommand).addCommand(initCommand).addCommand(applyCommand);
|
|
161324
161306
|
//#endregion
|
|
161325
161307
|
//#region src/cli/commands/webhooks.ts
|
|
@@ -161387,7 +161369,7 @@ function envPatchLabel(tag) {
|
|
|
161387
161369
|
case "append-key": return "added RIVERBANK_WEBHOOK_SECRET to .env.local";
|
|
161388
161370
|
case "replace-key": return "updated RIVERBANK_WEBHOOK_SECRET in .env.local";
|
|
161389
161371
|
case "unchanged": return "left .env.local unchanged";
|
|
161390
|
-
default: return assertNever$
|
|
161372
|
+
default: return assertNever$24(tag);
|
|
161391
161373
|
}
|
|
161392
161374
|
}
|
|
161393
161375
|
function planHumanResultOutput(input) {
|
|
@@ -162062,7 +162044,7 @@ function formatAuthority(authority) {
|
|
|
162062
162044
|
case "dashboard_admin": return "dashboard admin";
|
|
162063
162045
|
case "cms_repo_script": return "CMS repo script";
|
|
162064
162046
|
case "sdk_management_key": return "SDK management key";
|
|
162065
|
-
default: return assertNever$
|
|
162047
|
+
default: return assertNever$24(authority);
|
|
162066
162048
|
}
|
|
162067
162049
|
}
|
|
162068
162050
|
function formatOperation(operation) {
|
|
@@ -162083,7 +162065,7 @@ function formatStep(step, index) {
|
|
|
162083
162065
|
lines.push(" Commands:");
|
|
162084
162066
|
step.commands.forEach((command) => lines.push(` ${command}`));
|
|
162085
162067
|
return lines;
|
|
162086
|
-
default: return assertNever$
|
|
162068
|
+
default: return assertNever$24(step);
|
|
162087
162069
|
}
|
|
162088
162070
|
}
|
|
162089
162071
|
function formatSdkSetupPlan(plan) {
|