@riverbankcms/sdk 0.60.11 → 0.60.14

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.
Files changed (96) hide show
  1. package/README.md +10 -7
  2. package/dist/_dts/api/src/accessAdmin.d.ts +102 -0
  3. package/dist/_dts/api/src/bookingConfig.d.ts +31 -1
  4. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +38 -1
  5. package/dist/_dts/api/src/bookingOperations.d.ts +3 -0
  6. package/dist/_dts/api/src/bookingRecords.d.ts +45 -0
  7. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
  8. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +1 -5
  9. package/dist/_dts/api/src/common/envelope.d.ts +1 -1
  10. package/dist/_dts/api/src/communications.d.ts +1 -1
  11. package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
  12. package/dist/_dts/api/src/domains.d.ts +14 -13
  13. package/dist/_dts/api/src/endpoints.d.ts +121 -9
  14. package/dist/_dts/api/src/index.d.ts +3 -2
  15. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
  16. package/dist/_dts/api/src/seoEndpoints.d.ts +2 -0
  17. package/dist/_dts/api/src/siteAssets.d.ts +0 -10
  18. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +15 -1
  19. package/dist/_dts/api/src/types.d.ts +1 -1
  20. package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -0
  21. package/dist/_dts/blocks/src/index.d.ts +1 -0
  22. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  23. package/dist/_dts/blocks/src/server.d.ts +1 -0
  24. package/dist/_dts/blocks/src/subroutes/fold.d.ts +40 -0
  25. package/dist/_dts/blocks/src/subroutes/formatDate.d.ts +12 -0
  26. package/dist/_dts/blocks/src/subroutes/index.d.ts +3 -0
  27. package/dist/_dts/blocks/src/subroutes/kinds.d.ts +32 -0
  28. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +3 -1
  29. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +2 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +1 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/spacing.d.ts +2 -1
  33. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +5 -0
  34. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +5 -1
  35. package/dist/_dts/core/src/booking-refunds.d.ts +8 -0
  36. package/dist/_dts/core/src/participant-identity.d.ts +1 -1
  37. package/dist/_dts/core/src/participants.d.ts +19 -7
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +284 -96
  39. package/dist/_dts/db/src/schemas/forms.d.ts +135 -24
  40. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -3
  41. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -3
  42. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -3
  43. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -3
  44. package/dist/_dts/preview-next/src/client/preview/SubrouteNoticePanel.d.ts +13 -0
  45. package/dist/_dts/preview-next/src/client/preview/subrouteNotice.d.ts +26 -0
  46. package/dist/_dts/sdk/src/contracts/page.d.ts +1 -0
  47. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -1
  48. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -0
  49. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +4 -5
  50. package/dist/_dts/sdk/src/version.d.ts +1 -1
  51. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  52. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +17 -0
  53. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -1
  54. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  55. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +66 -30
  56. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +16 -0
  57. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  58. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  59. package/dist/_dts/theme-core/src/schema.d.ts +174 -6
  60. package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +328 -15
  61. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +54 -2
  62. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +124 -0
  63. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  64. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  65. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +21 -0
  66. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +2 -1
  67. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  68. package/dist/_dts/theme-core/src/site-styles/types.d.ts +135 -2
  69. package/dist/_dts/ui/src/badge.d.ts +1 -1
  70. package/dist/_dts/ui/src/button.d.ts +1 -1
  71. package/dist/cli/index.mjs +801 -115
  72. package/dist/client/bookings.mjs +115 -1
  73. package/dist/client/client.mjs +905 -166
  74. package/dist/client/hooks.mjs +794 -111
  75. package/dist/client/rendering/client.mjs +179 -39
  76. package/dist/client/rendering/islands.mjs +179 -38
  77. package/dist/client/rendering.mjs +904 -165
  78. package/dist/preview-next/before-render.mjs +160 -16
  79. package/dist/preview-next/client/runtime.mjs +1674 -260
  80. package/dist/preview-next/middleware.mjs +160 -16
  81. package/dist/server/components.mjs +895 -165
  82. package/dist/server/config-validation.mjs +794 -111
  83. package/dist/server/config.mjs +794 -111
  84. package/dist/server/data.mjs +794 -111
  85. package/dist/server/index.mjs +163 -17
  86. package/dist/server/next.mjs +898 -167
  87. package/dist/server/page-converter.mjs +589 -82
  88. package/dist/server/prebuild.mjs +1 -1
  89. package/dist/server/rendering/server.mjs +895 -165
  90. package/dist/server/rendering.mjs +895 -165
  91. package/dist/server/routing.mjs +828 -117
  92. package/dist/server/server.mjs +795 -112
  93. package/dist/server/theme-bridge.mjs +216 -39
  94. package/dist/server/theme.mjs +139 -37
  95. package/dist/styles/index.css +44 -2
  96. package/package.json +1 -1
@@ -2187,6 +2187,117 @@ var init_pebble = __esm({
2187
2187
  }
2188
2188
  });
2189
2189
 
2190
+ // ../theme-core/src/buttons/personalities/showtime-pill.ts
2191
+ var showtimePill;
2192
+ var init_showtime_pill = __esm({
2193
+ "../theme-core/src/buttons/personalities/showtime-pill.ts"() {
2194
+ init_types3();
2195
+ showtimePill = defineButtonPersonality({
2196
+ id: "showtime-pill",
2197
+ name: "Showtime Pill",
2198
+ description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
2199
+ tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
2200
+ buttonSystem: {
2201
+ global: {
2202
+ cornerStyle: "pill",
2203
+ shadow: "low",
2204
+ textTransform: "uppercase",
2205
+ fontWeight: 700,
2206
+ borderWidth: 2,
2207
+ hoverTransform: "lift",
2208
+ hoverColor: "darken",
2209
+ typography: "body",
2210
+ paddingPreset: "spacious",
2211
+ italic: false
2212
+ },
2213
+ sizes: {
2214
+ sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
2215
+ md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
2216
+ lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
2217
+ xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
2218
+ },
2219
+ variants: [
2220
+ {
2221
+ id: "primary",
2222
+ name: "Primary",
2223
+ enabled: true,
2224
+ priority: 1,
2225
+ background: { type: "solid", colorToken: "primary" },
2226
+ textColorToken: "background",
2227
+ borderRadius: "rounded-full",
2228
+ effects: {
2229
+ hover: [{ effectId: "pop" }]
2230
+ }
2231
+ },
2232
+ {
2233
+ id: "secondary",
2234
+ name: "Secondary",
2235
+ enabled: true,
2236
+ priority: 2,
2237
+ background: { type: "transparent" },
2238
+ textColorToken: "primary",
2239
+ borderRadius: "rounded-full",
2240
+ border: { widthClass: "border-2", colorToken: "primary" },
2241
+ effects: {
2242
+ hover: [{ effectId: "pop" }]
2243
+ }
2244
+ },
2245
+ {
2246
+ id: "hero",
2247
+ name: "Hero",
2248
+ enabled: true,
2249
+ priority: 1,
2250
+ background: { type: "solid", colorToken: "secondary" },
2251
+ textColorToken: "primary",
2252
+ borderRadius: "rounded-full",
2253
+ effects: {
2254
+ hover: [{ effectId: "pop" }]
2255
+ }
2256
+ },
2257
+ {
2258
+ id: "header",
2259
+ name: "Header",
2260
+ enabled: true,
2261
+ priority: 2,
2262
+ background: { type: "solid", colorToken: "background" },
2263
+ textColorToken: "primary",
2264
+ borderRadius: "rounded-full",
2265
+ border: { widthClass: "border-2", colorToken: "primary" },
2266
+ effects: {
2267
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2268
+ }
2269
+ },
2270
+ {
2271
+ id: "outline",
2272
+ name: "Outline",
2273
+ enabled: true,
2274
+ priority: 3,
2275
+ background: { type: "transparent" },
2276
+ textColorToken: "primary",
2277
+ borderRadius: "rounded-full",
2278
+ border: { widthClass: "border-2", colorToken: "primary" },
2279
+ effects: {
2280
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
2281
+ }
2282
+ },
2283
+ {
2284
+ id: "ghost",
2285
+ name: "Ghost",
2286
+ enabled: true,
2287
+ priority: 3,
2288
+ background: { type: "transparent" },
2289
+ textColorToken: "primary",
2290
+ borderRadius: "rounded-full",
2291
+ effects: {
2292
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2293
+ }
2294
+ }
2295
+ ]
2296
+ }
2297
+ });
2298
+ }
2299
+ });
2300
+
2190
2301
  // ../theme-core/src/buttons/personalities/soft-pill.ts
2191
2302
  var softPill;
2192
2303
  var init_soft_pill = __esm({
@@ -2275,6 +2386,7 @@ var init_personalities = __esm({
2275
2386
  init_editorial_link();
2276
2387
  init_ink_stamp();
2277
2388
  init_pebble();
2389
+ init_showtime_pill();
2278
2390
  init_soft_pill();
2279
2391
  init_types3();
2280
2392
  buttonPersonalities = [
@@ -2283,7 +2395,8 @@ var init_personalities = __esm({
2283
2395
  editorialLink,
2284
2396
  pebble,
2285
2397
  inkStamp,
2286
- brushedWash
2398
+ brushedWash,
2399
+ showtimePill
2287
2400
  ];
2288
2401
  new Map(
2289
2402
  buttonPersonalities.map((p) => [p.id, p])
@@ -3820,6 +3933,7 @@ var init_spacing = __esm({
3820
3933
  ];
3821
3934
  SECTION_MIN_HEIGHT_VALUES = [
3822
3935
  "none",
3936
+ "banner",
3823
3937
  "hero",
3824
3938
  "immersive"
3825
3939
  ];
@@ -3841,6 +3955,7 @@ var init_spacing = __esm({
3841
3955
  };
3842
3956
  SECTION_MIN_HEIGHT_MAP = {
3843
3957
  none: "",
3958
+ banner: "rb-section-min-h-banner",
3844
3959
  hero: "rb-section-min-h-hero",
3845
3960
  immersive: "rb-section-min-h-immersive"
3846
3961
  };
@@ -4706,6 +4821,9 @@ var init_boxStyles2 = __esm({
4706
4821
  classes.push(roundedResult);
4707
4822
  }
4708
4823
  }
4824
+ if (input.treatment === "accent-quote") {
4825
+ classes.push("rb-card-treatment-accent-quote");
4826
+ }
4709
4827
  return classes.join(" ").trim() || "";
4710
4828
  }
4711
4829
  };
@@ -4775,7 +4893,7 @@ var init_boxStyles2 = __esm({
4775
4893
  minHeight = input.minHeight;
4776
4894
  } else if (process.env.NODE_ENV !== "production") {
4777
4895
  console.warn(
4778
- `[sectionStyles] Invalid minHeight value in _sectionStyles: "${input.minHeight}". Expected one of: none, hero, immersive.`
4896
+ `[sectionStyles] Invalid minHeight value in _sectionStyles: "${input.minHeight}". Expected one of: none, banner, hero, immersive.`
4779
4897
  );
4780
4898
  }
4781
4899
  }
@@ -5112,24 +5230,8 @@ var init_styledCard = __esm({
5112
5230
  });
5113
5231
 
5114
5232
  // ../blocks/src/system/node/fragments/typography.ts
5115
- function mergeClassName(base, extra) {
5116
- return [base, extra ?? ""].filter(Boolean).join(" ");
5117
- }
5118
- function captionText(opts, ...mods) {
5119
- const {
5120
- as: asProp,
5121
- className: classNameProp,
5122
- color,
5123
- ...rest
5124
- } = {};
5125
- const as = asProp ?? "p";
5126
- const className = mergeClassName("rb-caption", classNameProp);
5127
- const style = textColorStyle(color ?? "mutedText");
5128
- return text({ ...rest, as, className, style }, ...mods);
5129
- }
5130
5233
  var init_typography = __esm({
5131
5234
  "../blocks/src/system/node/fragments/typography.ts"() {
5132
- init_builder();
5133
5235
  init_colorStyles();
5134
5236
  }
5135
5237
  });
@@ -6146,18 +6248,17 @@ function buildAttributionNodes() {
6146
6248
  const name = text(
6147
6249
  {
6148
6250
  as: "strong",
6149
- className: "rb-block",
6150
- style: textColorStyle("text")
6251
+ className: "rb-block"
6151
6252
  },
6152
6253
  bind("testimonial.content.name", { fallback: "Anonymous" })
6153
6254
  );
6154
- const jobTitle = captionText(
6155
- null,
6255
+ const jobTitle = text(
6256
+ { as: "p", className: "rb-caption" },
6156
6257
  when("testimonial.content.jobTitle"),
6157
6258
  bind("testimonial.content.jobTitle")
6158
6259
  );
6159
- const company = captionText(
6160
- null,
6260
+ const company = text(
6261
+ { as: "p", className: "rb-caption" },
6161
6262
  when("testimonial.content.company"),
6162
6263
  bind("testimonial.content.company")
6163
6264
  );
@@ -6191,8 +6292,7 @@ function buildTestimonialCard(...mods) {
6191
6292
  );
6192
6293
  const body = richText(
6193
6294
  {
6194
- className: "rb-prose rb-max-w-none",
6195
- style: textColorStyle("text")
6295
+ className: "rb-prose rb-max-w-none"
6196
6296
  },
6197
6297
  bind("testimonial.content.body"),
6198
6298
  when("testimonial.content.body")
@@ -6276,7 +6376,6 @@ var init_testimonialsCarousel = __esm({
6276
6376
  "../blocks/src/system/fragments/library/testimonialsCarousel.ts"() {
6277
6377
  init_types9();
6278
6378
  init_builder();
6279
- init_colorStyles();
6280
6379
  init_fragments();
6281
6380
  grid = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
6282
6381
  testimonialsCarouselFragment = defineFragment({
@@ -9588,7 +9687,8 @@ var init_course_registration_interactive = __esm({
9588
9687
  run: z.object({
9589
9688
  courseId: z.string(),
9590
9689
  seriesId: z.string(),
9591
- runSlug: z.string()
9690
+ runSlug: z.string(),
9691
+ runName: z.string().nullable()
9592
9692
  })
9593
9693
  }),
9594
9694
  z.object({
@@ -13332,8 +13432,6 @@ var init_footer = __esm({
13332
13432
  init_generateFooterCss();
13333
13433
  }
13334
13434
  });
13335
-
13336
- // ../theme-core/src/layout/generateLayoutCss.ts
13337
13435
  var init_generateLayoutCss = __esm({
13338
13436
  "../theme-core/src/layout/generateLayoutCss.ts"() {
13339
13437
  init_breakpoints();
@@ -14711,7 +14809,7 @@ var ENDPOINT_DEFINITIONS = {
14711
14809
  method: "GET",
14712
14810
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
14713
14811
  auth: "user",
14714
- responseKind: "text"
14812
+ responseKind: "blob"
14715
14813
  },
14716
14814
  getNewsletterSubscriber: {
14717
14815
  path: "/sites/{siteId}/newsletter/subscribers/{subscriberId}",
@@ -15042,12 +15140,7 @@ var ENDPOINT_DEFINITIONS = {
15042
15140
  ],
15043
15141
  auth: "user",
15044
15142
  responseKind: "json",
15045
- errors: [
15046
- "validation:invalid_input",
15047
- "resource:not_found",
15048
- "resource:conflict",
15049
- "server:internal_error"
15050
- ]
15143
+ errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
15051
15144
  },
15052
15145
  unpublishTeamMemberProfile: {
15053
15146
  path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/unpublish",
@@ -15300,6 +15393,13 @@ var ENDPOINT_DEFINITIONS = {
15300
15393
  auth: "user",
15301
15394
  responseKind: "json"
15302
15395
  },
15396
+ exportBookingAppointmentsCsv: {
15397
+ path: "/sites/{siteId}/bookings/appointments/export.csv",
15398
+ method: "GET",
15399
+ auth: "user",
15400
+ errors: [],
15401
+ responseKind: "blob"
15402
+ },
15303
15403
  createAppointment: {
15304
15404
  path: "/sites/{siteId}/bookings/appointments",
15305
15405
  method: "POST",
@@ -15427,6 +15527,13 @@ var ENDPOINT_DEFINITIONS = {
15427
15527
  auth: "user",
15428
15528
  responseKind: "json"
15429
15529
  },
15530
+ exportCourseEnrollmentsCsv: {
15531
+ path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/export.csv",
15532
+ method: "GET",
15533
+ auth: "user",
15534
+ errors: [],
15535
+ responseKind: "blob"
15536
+ },
15430
15537
  listCourseWaitlist: {
15431
15538
  path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist",
15432
15539
  method: "GET",
@@ -16185,6 +16292,63 @@ var ENDPOINT_DEFINITIONS = {
16185
16292
  auth: "user",
16186
16293
  responseKind: "json"
16187
16294
  },
16295
+ updateRegisteredDomainContact: {
16296
+ path: "/domains/{domainId}/registrar/contact",
16297
+ method: "POST",
16298
+ errors: [
16299
+ "validation:invalid_input",
16300
+ "resource:not_found",
16301
+ "auth:forbidden",
16302
+ "external:service_error",
16303
+ "external:registrar_orphaned_contact_profile",
16304
+ "server:internal_error"
16305
+ ],
16306
+ tags: ["domains", "domain-{domainId}", "domain-registrar"],
16307
+ auth: "user",
16308
+ responseKind: "json"
16309
+ },
16310
+ setRegisteredDomainPrivacy: {
16311
+ path: "/domains/{domainId}/registrar/privacy",
16312
+ method: "POST",
16313
+ errors: [
16314
+ "validation:invalid_input",
16315
+ "resource:not_found",
16316
+ "auth:forbidden",
16317
+ "external:service_error",
16318
+ "server:internal_error"
16319
+ ],
16320
+ tags: ["domains", "domain-{domainId}", "domain-registrar"],
16321
+ auth: "user",
16322
+ responseKind: "json"
16323
+ },
16324
+ setRegisteredDomainAutoRenew: {
16325
+ path: "/domains/{domainId}/registrar/auto-renew",
16326
+ method: "POST",
16327
+ errors: [
16328
+ "validation:invalid_input",
16329
+ "resource:not_found",
16330
+ "auth:forbidden",
16331
+ "external:service_error",
16332
+ "server:internal_error"
16333
+ ],
16334
+ tags: ["domains", "domain-{domainId}", "domain-registrar"],
16335
+ auth: "user",
16336
+ responseKind: "json"
16337
+ },
16338
+ getRegisteredDomainRenewalPosture: {
16339
+ path: "/domains/{domainId}/registrar/renewal",
16340
+ method: "GET",
16341
+ errors: [
16342
+ "validation:invalid_input",
16343
+ "resource:not_found",
16344
+ "auth:forbidden",
16345
+ "external:service_error",
16346
+ "server:internal_error"
16347
+ ],
16348
+ tags: ["domains", "domain-{domainId}", "domain-registrar"],
16349
+ auth: "user",
16350
+ responseKind: "json"
16351
+ },
16188
16352
  retryDomainVercel: {
16189
16353
  path: "/domains/{domainId}/vercel",
16190
16354
  method: "POST",
@@ -16732,6 +16896,14 @@ var ENDPOINT_DEFINITIONS = {
16732
16896
  auth: "user",
16733
16897
  responseKind: "json"
16734
16898
  },
16899
+ exportSeoPagesCsv: {
16900
+ path: "/sites/{siteId}/seo/pages",
16901
+ method: "GET",
16902
+ tags: ["site-{siteId}", "seo-pages-{siteId}"],
16903
+ auth: "user",
16904
+ responseKind: "blob",
16905
+ errors: []
16906
+ },
16735
16907
  getSeoQueries: {
16736
16908
  path: "/sites/{siteId}/seo/queries",
16737
16909
  method: "GET",
@@ -16740,6 +16912,14 @@ var ENDPOINT_DEFINITIONS = {
16740
16912
  auth: "user",
16741
16913
  responseKind: "json"
16742
16914
  },
16915
+ exportSeoQueriesCsv: {
16916
+ path: "/sites/{siteId}/seo/queries",
16917
+ method: "GET",
16918
+ tags: ["site-{siteId}", "seo-queries-{siteId}"],
16919
+ auth: "user",
16920
+ responseKind: "blob",
16921
+ errors: []
16922
+ },
16743
16923
  getPerformanceOverview: {
16744
16924
  path: "/sites/{siteId}/performance/overview",
16745
16925
  method: "GET",
@@ -16788,7 +16968,12 @@ var ENDPOINT_DEFINITIONS = {
16788
16968
  path: "/media/{assetId}/canonical-crop",
16789
16969
  method: "POST",
16790
16970
  tags: ["media", "media-{assetId}"],
16791
- errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"],
16971
+ errors: [
16972
+ "validation:invalid_input",
16973
+ "resource:not_found",
16974
+ "resource:conflict",
16975
+ "server:internal_error"
16976
+ ],
16792
16977
  auth: "user",
16793
16978
  responseKind: "json"
16794
16979
  },
@@ -17120,7 +17305,7 @@ var ENDPOINT_DEFINITIONS = {
17120
17305
  method: "GET",
17121
17306
  tags: [TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug],
17122
17307
  auth: "user",
17123
- responseKind: "text"
17308
+ responseKind: "blob"
17124
17309
  },
17125
17310
  // Public submit
17126
17311
  submitForm: {
@@ -18003,6 +18188,14 @@ var ENDPOINT_DEFINITIONS = {
18003
18188
  auth: "user",
18004
18189
  responseKind: "json"
18005
18190
  },
18191
+ exportEventSeriesAttendeesCsv: {
18192
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/attendees/export.csv",
18193
+ method: "GET",
18194
+ tags: ["site-{siteId}", "event-series-{seriesId}"],
18195
+ auth: "user",
18196
+ errors: [],
18197
+ responseKind: "blob"
18198
+ },
18006
18199
  listEventSeriesWaitlist: {
18007
18200
  path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist",
18008
18201
  method: "GET",
@@ -18566,6 +18759,14 @@ var ENDPOINT_DEFINITIONS = {
18566
18759
  auth: "user",
18567
18760
  responseKind: "json"
18568
18761
  },
18762
+ exportBookingCustomersCsv: {
18763
+ path: "/sites/{siteId}/bookings/customers/export.csv",
18764
+ method: "GET",
18765
+ tags: ["site-{siteId}", "customers-{siteId}"],
18766
+ auth: "user",
18767
+ errors: [],
18768
+ responseKind: "blob"
18769
+ },
18569
18770
  createBookingCustomer: {
18570
18771
  path: "/sites/{siteId}/bookings/customers",
18571
18772
  method: "POST",
@@ -18593,6 +18794,21 @@ var ENDPOINT_DEFINITIONS = {
18593
18794
  "server:internal_error"
18594
18795
  ]
18595
18796
  },
18797
+ rectifyBookingParticipantIdentity: {
18798
+ path: "/sites/{siteId}/bookings/participants/{participantId}/identity",
18799
+ method: "PATCH",
18800
+ tags: ["site-{siteId}", "customers-{siteId}"],
18801
+ auth: "user",
18802
+ responseKind: "json",
18803
+ errors: [
18804
+ "validation:invalid_input",
18805
+ "auth:forbidden",
18806
+ "resource:not_found",
18807
+ "resource:already_exists",
18808
+ "resource:conflict",
18809
+ "server:internal_error"
18810
+ ]
18811
+ },
18596
18812
  listCustomerPasses: {
18597
18813
  path: "/sites/{siteId}/bookings/customers/{customerId}/passes",
18598
18814
  method: "GET",
@@ -18727,13 +18943,46 @@ var ENDPOINT_DEFINITIONS = {
18727
18943
  auth: "user",
18728
18944
  responseKind: "json"
18729
18945
  },
18946
+ exportMoneyPaymentsCsv: {
18947
+ path: "/sites/{siteId}/bookings/money/payments/export.csv",
18948
+ method: "GET",
18949
+ tags: ["site-{siteId}", "bookings", "money-payments-{siteId}"],
18950
+ errors: [],
18951
+ auth: "user",
18952
+ responseKind: "blob"
18953
+ },
18954
+ exportMoneyBreakdownsCsv: {
18955
+ path: "/sites/{siteId}/bookings/money/report/breakdowns/export.csv",
18956
+ method: "GET",
18957
+ tags: ["site-{siteId}", "bookings", "money-report-{siteId}"],
18958
+ errors: [],
18959
+ auth: "user",
18960
+ responseKind: "blob"
18961
+ },
18962
+ exportMoneyTimeSeriesCsv: {
18963
+ path: "/sites/{siteId}/bookings/money/report/time-series/export.csv",
18964
+ method: "GET",
18965
+ tags: ["site-{siteId}", "bookings", "money-report-{siteId}"],
18966
+ errors: [],
18967
+ auth: "user",
18968
+ responseKind: "blob"
18969
+ },
18730
18970
  listBookingActivity: {
18731
18971
  path: "/sites/{siteId}/bookings/activity",
18732
18972
  method: "GET",
18733
18973
  tags: ["site-{siteId}", "bookings", "activity-{siteId}"],
18974
+ errors: [],
18734
18975
  auth: "user",
18735
18976
  responseKind: "json"
18736
18977
  },
18978
+ exportBookingActivityCsv: {
18979
+ path: "/sites/{siteId}/bookings/activity/export.csv",
18980
+ method: "GET",
18981
+ tags: ["site-{siteId}", "bookings", "activity-{siteId}"],
18982
+ errors: [],
18983
+ auth: "user",
18984
+ responseKind: "blob"
18985
+ },
18737
18986
  // Site logs
18738
18987
  listSiteActivityLogs: {
18739
18988
  path: "/sites/{siteId}/logs/activity",
@@ -18885,13 +19134,6 @@ var ENDPOINT_DEFINITIONS = {
18885
19134
  auth: "user",
18886
19135
  responseKind: "blob"
18887
19136
  },
18888
- exportSeoCsv: {
18889
- path: "/sites/{siteId}/seo/export",
18890
- method: "GET",
18891
- tags: ["site-{siteId}", "seo"],
18892
- auth: "user",
18893
- responseKind: "blob"
18894
- },
18895
19137
  // Admin site cost (for admin panel)
18896
19138
  adminSiteCost: {
18897
19139
  path: "/admin/sites/{siteId}/cost",
@@ -21827,12 +22069,29 @@ function flushPanelFrame(options) {
21827
22069
  function defineBlockDesignCapability(capability) {
21828
22070
  return {
21829
22071
  ...capability,
21830
- kind: "designed"
22072
+ kind: "designed",
22073
+ sectionHeights: capability.sectionHeights ?? ["default"],
22074
+ imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
22075
+ imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
22076
+ testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"]
21831
22077
  };
21832
22078
  }
21833
22079
 
21834
22080
  // ../theme-core/src/site-styles/appearancePresets.ts
22081
+ function assertValidOptionGroups(preset2) {
22082
+ preset2.optionGroups?.forEach((group) => {
22083
+ const selectedOption = group.options.find(
22084
+ (option) => option.id === group.selectedOptionId
22085
+ );
22086
+ if (!selectedOption) {
22087
+ throw new Error(
22088
+ `Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
22089
+ );
22090
+ }
22091
+ });
22092
+ }
21835
22093
  function defineBlockAppearancePreset(preset2) {
22094
+ assertValidOptionGroups(preset2);
21836
22095
  return preset2;
21837
22096
  }
21838
22097
  function defineSiteChromeAppearancePreset(preset2) {
@@ -21845,13 +22104,122 @@ function defineSiteChromeAppearancePreset(preset2) {
21845
22104
  target: "hero",
21846
22105
  label: "Immersive image hero",
21847
22106
  blockKinds: ["block.hero"],
22107
+ constraints: {
22108
+ layoutFamilies: ["centered", "compact"]
22109
+ },
21848
22110
  design: {
21849
22111
  sectionSurface: "hero-image",
21850
22112
  contentFrame: plainFrame,
21851
22113
  itemSurface: "none",
21852
22114
  transitionAfter: "soft-fade-short",
21853
22115
  emphasis: "high",
21854
- heroLegibility: "scrim-gradient"
22116
+ sectionHeight: "hero",
22117
+ imageSurfaceTreatment: { kind: "neutral-wash" }
22118
+ }
22119
+ }),
22120
+ defineBlockAppearancePreset({
22121
+ kind: "block-design",
22122
+ id: "hero-brand-scrim",
22123
+ target: "hero",
22124
+ label: "Brand scrim image hero",
22125
+ blockKinds: ["block.hero"],
22126
+ constraints: {
22127
+ layoutFamilies: ["centered", "compact"]
22128
+ },
22129
+ optionGroups: [
22130
+ {
22131
+ id: "image-surface-treatment",
22132
+ label: "Treatment",
22133
+ selectedOptionId: "brand-scrim-primary",
22134
+ options: [
22135
+ {
22136
+ id: "brand-scrim-primary",
22137
+ label: "Brand scrim",
22138
+ designPatch: {
22139
+ imageSurfaceTreatment: { kind: "brand-scrim", token: "primary" }
22140
+ }
22141
+ },
22142
+ {
22143
+ id: "neutral-scrim",
22144
+ label: "Neutral scrim",
22145
+ designPatch: {
22146
+ imageSurfaceTreatment: { kind: "neutral-scrim" }
22147
+ }
22148
+ }
22149
+ ]
22150
+ }
22151
+ ],
22152
+ layoutPatches: [
22153
+ {
22154
+ constraints: {
22155
+ layoutVariantKeys: ["micro"]
22156
+ },
22157
+ designPatch: {
22158
+ sectionHeight: "banner"
22159
+ }
22160
+ }
22161
+ ],
22162
+ design: {
22163
+ sectionSurface: "hero-image",
22164
+ contentFrame: plainFrame,
22165
+ itemSurface: "none",
22166
+ transitionAfter: "soft-fade-short",
22167
+ emphasis: "high",
22168
+ sectionHeight: "immersive",
22169
+ imageSurfaceTreatment: { kind: "brand-scrim", token: "primary" }
22170
+ }
22171
+ }),
22172
+ defineBlockAppearancePreset({
22173
+ kind: "block-design",
22174
+ id: "hero-brand-scrim-fixed-frame",
22175
+ target: "hero",
22176
+ label: "Fixed-frame brand scrim hero",
22177
+ blockKinds: ["block.hero"],
22178
+ constraints: {
22179
+ layoutFamilies: ["centered", "compact"]
22180
+ },
22181
+ optionGroups: [
22182
+ {
22183
+ id: "image-surface-treatment",
22184
+ label: "Treatment",
22185
+ selectedOptionId: "brand-scrim-primary",
22186
+ options: [
22187
+ {
22188
+ id: "brand-scrim-primary",
22189
+ label: "Brand scrim",
22190
+ designPatch: {
22191
+ imageSurfaceTreatment: { kind: "brand-scrim", token: "primary" }
22192
+ }
22193
+ },
22194
+ {
22195
+ id: "neutral-scrim",
22196
+ label: "Neutral scrim",
22197
+ designPatch: {
22198
+ imageSurfaceTreatment: { kind: "neutral-scrim" }
22199
+ }
22200
+ }
22201
+ ]
22202
+ }
22203
+ ],
22204
+ layoutPatches: [
22205
+ {
22206
+ constraints: {
22207
+ layoutVariantKeys: ["micro"]
22208
+ },
22209
+ designPatch: {
22210
+ sectionHeight: "banner"
22211
+ }
22212
+ }
22213
+ ],
22214
+ design: {
22215
+ sectionSurface: "hero-image",
22216
+ contentFrame: plainFrame,
22217
+ itemSurface: "none",
22218
+ transitionAfter: "soft-fade-short",
22219
+ emphasis: "high",
22220
+ sectionHeight: "immersive",
22221
+ imageSurfaceTreatment: { kind: "brand-scrim", token: "primary" },
22222
+ imageSurfaceMotion: "fixed-frame"
21855
22223
  }
21856
22224
  }),
21857
22225
  defineBlockAppearancePreset({
@@ -21868,17 +22236,26 @@ function defineSiteChromeAppearancePreset(preset2) {
21868
22236
  emphasis: "high"
21869
22237
  }
21870
22238
  }),
22239
+ defineBlockAppearancePreset({
22240
+ kind: "block-design",
22241
+ id: "body-text-editorial-intro",
22242
+ target: "body-text",
22243
+ label: "Editorial intro copy",
22244
+ blockKinds: ["block.body-text"],
22245
+ design: {
22246
+ sectionSurface: "base",
22247
+ contentFrame: plainFrame,
22248
+ itemSurface: "none",
22249
+ transitionAfter: "soft-fade-short",
22250
+ emphasis: "high"
22251
+ }
22252
+ }),
21871
22253
  defineBlockAppearancePreset({
21872
22254
  kind: "block-design",
21873
22255
  id: "offerings-calm-list",
21874
22256
  target: "offerings",
21875
22257
  label: "Calm offerings list",
21876
- blockKinds: [
21877
- "block.event-listing",
21878
- "block.event-calendar",
21879
- "block.event-spotlight",
21880
- "block.product-list"
21881
- ],
22258
+ blockKinds: ["block.event-listing", "block.event-calendar", "block.event-spotlight", "block.product-list"],
21882
22259
  design: {
21883
22260
  sectionSurface: "muted-band",
21884
22261
  contentFrame: plainFrame,
@@ -21957,6 +22334,35 @@ function defineSiteChromeAppearancePreset(preset2) {
21957
22334
  emphasis: "high"
21958
22335
  }
21959
22336
  }),
22337
+ defineBlockAppearancePreset({
22338
+ kind: "block-design",
22339
+ id: "testimonials-dark-proof",
22340
+ target: "testimonials",
22341
+ label: "Dark proof panel",
22342
+ blockKinds: ["block.testimonials"],
22343
+ design: {
22344
+ sectionSurface: "accent-band",
22345
+ contentFrame: panelFrame("raised"),
22346
+ itemSurface: "raised",
22347
+ transitionAfter: "soft-fade-short",
22348
+ emphasis: "high"
22349
+ }
22350
+ }),
22351
+ defineBlockAppearancePreset({
22352
+ kind: "block-design",
22353
+ id: "testimonials-accent-quote-proof",
22354
+ target: "testimonials",
22355
+ label: "Accent quote proof",
22356
+ blockKinds: ["block.testimonials"],
22357
+ design: {
22358
+ sectionSurface: "accent-band",
22359
+ contentFrame: plainFrame,
22360
+ itemSurface: "raised",
22361
+ transitionAfter: "soft-fade-short",
22362
+ emphasis: "high",
22363
+ testimonialCardTreatment: "accent-quote"
22364
+ }
22365
+ }),
21960
22366
  defineBlockAppearancePreset({
21961
22367
  kind: "block-design",
21962
22368
  id: "faq-contained-help",
@@ -21985,6 +22391,20 @@ function defineSiteChromeAppearancePreset(preset2) {
21985
22391
  emphasis: "medium"
21986
22392
  }
21987
22393
  }),
22394
+ defineBlockAppearancePreset({
22395
+ kind: "block-design",
22396
+ id: "contact-form-dark-card",
22397
+ target: "contact-form",
22398
+ label: "Dark form card",
22399
+ blockKinds: ["block.form"],
22400
+ design: {
22401
+ sectionSurface: "accent-band",
22402
+ contentFrame: panelFrame("raised"),
22403
+ itemSurface: "none",
22404
+ transitionAfter: "soft-fade-short",
22405
+ emphasis: "high"
22406
+ }
22407
+ }),
21988
22408
  defineBlockAppearancePreset({
21989
22409
  kind: "block-design",
21990
22410
  id: "cta-accent-band",
@@ -22004,9 +22424,33 @@ function defineSiteChromeAppearancePreset(preset2) {
22004
22424
  id: "header-clean-base",
22005
22425
  target: "site-header",
22006
22426
  label: "Clean base header",
22007
- chrome: {
22008
- surface: "base",
22009
- emphasis: "medium"
22427
+ header: {
22428
+ surface: {
22429
+ kind: "neutral-solid",
22430
+ token: "surface",
22431
+ textColorToken: "text"
22432
+ },
22433
+ navTreatment: "minimal",
22434
+ dropdownTreatment: "surface",
22435
+ ctaTreatment: "default",
22436
+ behavior: "default"
22437
+ }
22438
+ }),
22439
+ defineSiteChromeAppearancePreset({
22440
+ kind: "site-chrome",
22441
+ id: "site-header-brand-solid-inverted-cta",
22442
+ target: "site-header",
22443
+ label: "Brand solid header with inverted CTA",
22444
+ header: {
22445
+ surface: {
22446
+ kind: "brand-solid",
22447
+ token: "primary",
22448
+ textColorToken: "primaryForeground"
22449
+ },
22450
+ navTreatment: "uppercase-underline",
22451
+ dropdownTreatment: "matched-solid",
22452
+ ctaTreatment: "inverted",
22453
+ behavior: "sticky-shrink"
22010
22454
  }
22011
22455
  }),
22012
22456
  defineSiteChromeAppearancePreset({
@@ -22014,10 +22458,31 @@ function defineSiteChromeAppearancePreset(preset2) {
22014
22458
  id: "footer-muted-grounding",
22015
22459
  target: "site-footer",
22016
22460
  label: "Muted grounding footer",
22017
- chrome: {
22461
+ footer: {
22462
+ kind: "grounding",
22018
22463
  surface: "muted-band",
22019
22464
  emphasis: "low"
22020
22465
  }
22466
+ }),
22467
+ defineSiteChromeAppearancePreset({
22468
+ kind: "site-chrome",
22469
+ id: "site-footer-brand-two-band",
22470
+ target: "site-footer",
22471
+ label: "Two-band brand footer",
22472
+ footer: {
22473
+ kind: "brand-two-band",
22474
+ surface: {
22475
+ token: "primary",
22476
+ shade: "800",
22477
+ textColorToken: "primaryForeground"
22478
+ },
22479
+ bottomBand: {
22480
+ token: "primary",
22481
+ shade: "900",
22482
+ textColorToken: "primaryForeground"
22483
+ },
22484
+ emphasis: "high"
22485
+ }
22021
22486
  })
22022
22487
  ];
22023
22488
 
@@ -22221,14 +22686,7 @@ var proseLinkStyleSchema = z.object({
22221
22686
  underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
22222
22687
  underlineOffset: proseLinkUnderlineOffsetSchema.optional()
22223
22688
  });
22224
- var semanticSpacingSchema = z.enum([
22225
- "none",
22226
- "compact",
22227
- "cozy",
22228
- "medium",
22229
- "comfortable",
22230
- "spacious"
22231
- ]);
22689
+ var semanticSpacingSchema = z.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
22232
22690
  var boxRoundedSchema = z.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
22233
22691
  var boxBackgroundOverlaySchema = z.object({
22234
22692
  type: z.enum(["none", "color", "gradient"]).nullable().optional(),
@@ -22245,6 +22703,7 @@ var boxBackgroundSchema = z.object({
22245
22703
  scale: z.string().nullable().optional(),
22246
22704
  position: z.string().nullable().optional(),
22247
22705
  opacity: z.number().min(0).max(1).nullable().optional(),
22706
+ motion: z.enum(["static", "fixed-frame"]).nullable().optional(),
22248
22707
  overlay: boxBackgroundOverlaySchema.nullable().optional(),
22249
22708
  textColor: z.string().nullable().optional(),
22250
22709
  headingColor: z.string().nullable().optional()
@@ -22252,7 +22711,7 @@ var boxBackgroundSchema = z.object({
22252
22711
  var sectionStylesOverrideSchema = z.object({
22253
22712
  background: boxBackgroundSchema.nullable().optional(),
22254
22713
  spacing: semanticSpacingSchema.nullable().optional(),
22255
- minHeight: z.enum(["none", "hero", "immersive"]).nullable().optional()
22714
+ minHeight: z.enum(["none", "banner", "hero", "immersive"]).nullable().optional()
22256
22715
  });
22257
22716
  var containerStylesOverrideSchema = z.object({
22258
22717
  background: boxBackgroundSchema.nullable().optional(),
@@ -22271,7 +22730,8 @@ var cardStylesOverrideSchema = z.object({
22271
22730
  border: cardBorderOverrideSchema.nullable().optional(),
22272
22731
  spacing: semanticSpacingSchema.nullable().optional(),
22273
22732
  raised: z.boolean().nullable().optional(),
22274
- rounded: boxRoundedSchema.nullable().optional()
22733
+ rounded: boxRoundedSchema.nullable().optional(),
22734
+ treatment: z.enum(["accent-quote"]).nullable().optional()
22275
22735
  });
22276
22736
  var blockStyleOverridesSchema = z.object({
22277
22737
  sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
@@ -22346,15 +22806,7 @@ var inputStyle = z.object({
22346
22806
  });
22347
22807
  var headerVariant = z.enum(["classic", "centered", "transparent", "floating", "editorial"]);
22348
22808
  var headerPositioning = z.enum(["static", "sticky", "fixed"]);
22349
- var headerNavStyle = z.enum([
22350
- "minimal",
22351
- "underline",
22352
- "underline-grow",
22353
- "capsule",
22354
- "scale",
22355
- "frosted",
22356
- "solid"
22357
- ]);
22809
+ var headerNavStyle = z.enum(["minimal", "underline", "underline-grow", "capsule", "scale", "frosted", "solid"]);
22358
22810
  var navFontWeight = z.enum(["regular", "medium", "semibold", "bold"]);
22359
22811
  var headerMaxWidth = z.enum(["container", "full"]);
22360
22812
  var headerContainerSchema = z.object({
@@ -22408,6 +22860,7 @@ var dropdownStyleSchema = z.object({
22408
22860
  // optional = no override (browser default)
22409
22861
  }).optional();
22410
22862
  var headerCtaGapSchema = z.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
22863
+ var headerCtaTreatmentSchema = z.enum(["default", "primary", "secondary", "inverted", "outline", "ghost"]);
22411
22864
  var navContainerSchema = z.object({
22412
22865
  type: z.enum(["none", "pill", "glass"]).default("none"),
22413
22866
  tint: z.string().nullable().optional(),
@@ -22426,7 +22879,10 @@ var headerSchema = z.object({
22426
22879
  shrinkOnScroll: z.boolean(),
22427
22880
  maxWidth: headerMaxWidth,
22428
22881
  logoOverride: mediaSchema.nullable().optional(),
22429
- background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
22882
+ background: headerBackgroundSchema.default({
22883
+ type: "color",
22884
+ color: "surface"
22885
+ }),
22430
22886
  textColor: z.string().nullable().optional(),
22431
22887
  // Site title and general header text
22432
22888
  navStyle: headerNavStyle,
@@ -22446,6 +22902,13 @@ var headerSchema = z.object({
22446
22902
  navLinkStyle: navLinkStyleSchema.optional(),
22447
22903
  // CTA button spacing (desktop left margin)
22448
22904
  ctaGap: headerCtaGapSchema.optional(),
22905
+ // Semantic CTA treatment for header/nav CTA buttons. The Theme V2 compiler
22906
+ // materializes this to ctaVariant against the active button personality.
22907
+ ctaTreatment: headerCtaTreatmentSchema.optional(),
22908
+ // Optional theme-level CTA variant for header/nav CTA buttons.
22909
+ // Internal runtime bridge for the block renderer; prefer ctaTreatment in
22910
+ // authored Theme V2 concepts.
22911
+ ctaVariant: z.string().min(1).optional(),
22449
22912
  // Dropdown menu styling (nav dropdowns and mobile drawer)
22450
22913
  dropdownStyle: dropdownStyleSchema
22451
22914
  });
@@ -22502,7 +22965,10 @@ var footerSchema = z.object({
22502
22965
  variant: footerVariant,
22503
22966
  maxWidth: footerMaxWidth,
22504
22967
  showLogoText: z.boolean().optional(),
22505
- background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
22968
+ background: headerBackgroundSchema.default({
22969
+ type: "color",
22970
+ color: "surface"
22971
+ }),
22506
22972
  // Footer nav styling (independent from header)
22507
22973
  navStyle: headerNavStyle.default("minimal"),
22508
22974
  navColor: z.string().nullable().optional(),
@@ -22524,17 +22990,7 @@ var layoutSchema = z.object({
22524
22990
  desktop: containerPaddingPresetSchema.optional()
22525
22991
  }).optional()
22526
22992
  }).optional();
22527
- var heroTypographySizeSchema = z.enum([
22528
- "sm",
22529
- "base",
22530
- "lg",
22531
- "xl",
22532
- "2xl",
22533
- "3xl",
22534
- "4xl",
22535
- "5xl",
22536
- "6xl"
22537
- ]);
22993
+ var heroTypographySizeSchema = z.enum(["sm", "base", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "editorial"]);
22538
22994
  var heroTypographyLineHeightSchema = z.enum(["tight", "snug", "normal", "relaxed"]);
22539
22995
  var heroResponsiveTypographySchema = z.object({
22540
22996
  headlineSize: heroTypographySizeSchema.optional(),
@@ -22559,6 +23015,13 @@ var heroTypographySchema = z.object({
22559
23015
  var heroSchema = z.object({
22560
23016
  typography: heroTypographySchema.optional()
22561
23017
  }).optional();
23018
+ var bodyTextIntroTypographySizeSchema = z.enum(["default", "editorial"]);
23019
+ var bodyTextSchema = z.object({
23020
+ intro: z.object({
23021
+ paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
23022
+ headingSize: bodyTextIntroTypographySizeSchema.optional()
23023
+ }).optional()
23024
+ }).optional();
22562
23025
  var gradientsSchema = z.object({
22563
23026
  button: z.string().min(1).nullable().optional(),
22564
23027
  hero: z.string().min(1).nullable().optional(),
@@ -22580,6 +23043,7 @@ var themeSchema = z.object({
22580
23043
  gradients: gradientsSchema.optional(),
22581
23044
  layout: layoutSchema,
22582
23045
  hero: heroSchema,
23046
+ bodyText: bodyTextSchema,
22583
23047
  header: headerSchema,
22584
23048
  footer: footerSchema,
22585
23049
  buttons: buttonSystemSchema.optional(),
@@ -22603,10 +23067,7 @@ var themeSchema = z.object({
22603
23067
  ).optional(),
22604
23068
  // Structured block-kind theme overrides (v1: typography prose-link style only)
22605
23069
  // Keyed by block kind (usually data-block value like "hero"; "block.hero" also accepted)
22606
- blockOverrides: z.record(
22607
- z.string(),
22608
- blockThemeOverrideSchema
22609
- ).optional(),
23070
+ blockOverrides: z.record(z.string(), blockThemeOverrideSchema).optional(),
22610
23071
  // Structured custom CSS rules
22611
23072
  // Validated, scoped, and safe by construction - no @import, remote url(), or global selectors
22612
23073
  customCssRules: customCssRulesSchema,
@@ -22777,6 +23238,28 @@ var brandLedJewel = definePaletteVariant({
22777
23238
  { name: "border", hex: "#a8a29e" }
22778
23239
  ]
22779
23240
  });
23241
+ var brandLedBurgundyGold = definePaletteVariant({
23242
+ id: "brand-led-burgundy-gold",
23243
+ name: "Brand-led \u2014 Burgundy Gold",
23244
+ description: "Deep burgundy with warm gold accents and soft neutral grounds.",
23245
+ tags: { tone: "bold", energy: "vibrant", era: "modern" },
23246
+ mode: "light",
23247
+ colors: [
23248
+ { name: "primary", hex: "#7c2e38" },
23249
+ { name: "secondary", hex: "#d4af37" },
23250
+ { name: "accent", hex: "#b8e19a" },
23251
+ { name: "success", hex: "#10b981" },
23252
+ { name: "warning", hex: "#f59e0b" },
23253
+ { name: "destructive", hex: "#ef4444" },
23254
+ { name: "background", hex: "#f1dfd0" },
23255
+ { name: "surface", hex: "#f5e6db" },
23256
+ { name: "surfaceAlt", hex: "#f8ece3" },
23257
+ { name: "muted", hex: "#c9b8a8" },
23258
+ { name: "text", hex: "#400000" },
23259
+ { name: "primaryForeground", hex: "#ffffff" },
23260
+ { name: "border", hex: "#c9b8a8" }
23261
+ ]
23262
+ });
22780
23263
 
22781
23264
  // ../theme-core/src/palette/variants/high-contrast.ts
22782
23265
  var highContrastInk = definePaletteVariant({
@@ -22988,6 +23471,7 @@ var paletteVariants = [
22988
23471
  brandLedCool,
22989
23472
  brandLedWarm,
22990
23473
  brandLedJewel,
23474
+ brandLedBurgundyGold,
22991
23475
  // Warm-neutral family
22992
23476
  warmNeutralClay,
22993
23477
  warmNeutralCream,
@@ -23048,7 +23532,8 @@ var curatedSiteStyleIdValues = [
23048
23532
  "site-style:quiet-luxury",
23049
23533
  "site-style:practical-services",
23050
23534
  "site-style:modern-wellness",
23051
- "site-style:bold-launch"
23535
+ "site-style:bold-launch",
23536
+ "site-style:south-west-twerk-school"
23052
23537
  ];
23053
23538
  var quietBudget = {
23054
23539
  accentDensity: "low",
@@ -23103,6 +23588,8 @@ function defineCuratedSiteStyle(input) {
23103
23588
  supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
23104
23589
  supportedTransitions: generatedDesignOptionCatalog.transitions
23105
23590
  },
23591
+ ...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
23592
+ recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
23106
23593
  buttonPersonalityChoices: input.buttonPersonalityChoices,
23107
23594
  paletteVariantChoices: input.paletteVariantChoices
23108
23595
  };
@@ -23349,6 +23836,101 @@ var curatedSiteStyles = [
23349
23836
  paletteChoice("brand-led-jewel"),
23350
23837
  paletteChoice("brand-led-warm")
23351
23838
  ]
23839
+ }),
23840
+ defineCuratedSiteStyle({
23841
+ id: "site-style:south-west-twerk-school",
23842
+ name: "South West Twerk School",
23843
+ description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
23844
+ generationBrief: "Use confident rhythm, bold burgundy-and-gold accents, large editorial intro copy, strong booking routes, and dark feature sections where proof or forms need emphasis.",
23845
+ selectionKeywords: [
23846
+ "dance",
23847
+ "classes",
23848
+ "workshop",
23849
+ "school",
23850
+ "movement",
23851
+ "performance",
23852
+ "community"
23853
+ ],
23854
+ tokenRecipes: {
23855
+ palette: "brand-led",
23856
+ contrast: "maximum",
23857
+ radius: "soft",
23858
+ shadow: "layered",
23859
+ typography: "clean-sans",
23860
+ spacing: "airy",
23861
+ motion: "expressive"
23862
+ },
23863
+ compositionBudget: expressiveBudget,
23864
+ themeOverrides: {
23865
+ typography: {
23866
+ body: {
23867
+ family: "Manrope, system-ui, sans-serif",
23868
+ size: "lg",
23869
+ weight: "regular",
23870
+ lineHeight: "relaxed",
23871
+ letterSpacing: "normal"
23872
+ },
23873
+ headings: {
23874
+ default: {
23875
+ family: '"TAN - PEARL", sans-serif',
23876
+ weight: "bold",
23877
+ lineHeight: "normal",
23878
+ letterSpacing: "tight",
23879
+ colorToken: "primary",
23880
+ italic: null,
23881
+ case: null
23882
+ },
23883
+ h1: {
23884
+ size: "xl",
23885
+ weight: "bold",
23886
+ lineHeight: "normal",
23887
+ letterSpacing: "tight",
23888
+ italic: null
23889
+ },
23890
+ h2: {
23891
+ size: "lg",
23892
+ weight: "bold",
23893
+ lineHeight: "normal",
23894
+ letterSpacing: "normal",
23895
+ italic: null
23896
+ },
23897
+ h3: {
23898
+ size: "md",
23899
+ weight: "bold",
23900
+ lineHeight: "normal",
23901
+ letterSpacing: "normal",
23902
+ italic: null
23903
+ }
23904
+ },
23905
+ scale: "balanced"
23906
+ },
23907
+ bodyText: {
23908
+ intro: {
23909
+ paragraphSize: "editorial",
23910
+ headingSize: "editorial"
23911
+ }
23912
+ }
23913
+ },
23914
+ recommendedAppearancePresetIds: [
23915
+ "site-header-brand-solid-inverted-cta",
23916
+ "site-footer-brand-two-band",
23917
+ "hero-brand-scrim-fixed-frame",
23918
+ "body-text-editorial-intro",
23919
+ "testimonials-accent-quote-proof",
23920
+ "contact-form-dark-card"
23921
+ ],
23922
+ buttonPersonalityChoices: [
23923
+ buttonChoice("showtime-pill"),
23924
+ buttonChoice("confident-chip"),
23925
+ buttonChoice("ink-stamp"),
23926
+ buttonChoice("brushed-wash")
23927
+ ],
23928
+ paletteVariantChoices: [
23929
+ paletteChoice("brand-led-burgundy-gold"),
23930
+ paletteChoice("brand-led-jewel"),
23931
+ paletteChoice("brand-led-warm"),
23932
+ paletteChoice("high-contrast-ink")
23933
+ ]
23352
23934
  })
23353
23935
  ];
23354
23936
  new Map(
@@ -23390,6 +23972,40 @@ var heroLegibilityStrategySchema = z.enum([
23390
23972
  "scrim-gradient",
23391
23973
  "solid-panel"
23392
23974
  ]);
23975
+ var sectionHeightIntentSchema = z.enum([
23976
+ "default",
23977
+ "banner",
23978
+ "hero",
23979
+ "immersive"
23980
+ ]);
23981
+ var imageSurfaceTreatmentIntensitySchema = z.enum(["soft", "balanced", "strong"]);
23982
+ var imageSurfaceMotionSchema = z.enum(["static", "fixed-frame"]);
23983
+ var imageSurfaceTreatmentSchema = z.discriminatedUnion("kind", [
23984
+ z.object({ kind: z.literal("none") }).strict(),
23985
+ z.object({
23986
+ kind: z.literal("brand-scrim"),
23987
+ token: z.enum(["primary", "secondary", "accent"]),
23988
+ intensity: imageSurfaceTreatmentIntensitySchema.optional()
23989
+ }).strict(),
23990
+ z.object({
23991
+ kind: z.literal("brand-wash"),
23992
+ token: z.enum(["primary", "secondary", "accent"]),
23993
+ intensity: imageSurfaceTreatmentIntensitySchema.optional()
23994
+ }).strict(),
23995
+ z.object({
23996
+ kind: z.literal("neutral-scrim"),
23997
+ intensity: imageSurfaceTreatmentIntensitySchema.optional()
23998
+ }).strict(),
23999
+ z.object({
24000
+ kind: z.literal("neutral-wash"),
24001
+ intensity: imageSurfaceTreatmentIntensitySchema.optional()
24002
+ }).strict(),
24003
+ z.object({
24004
+ kind: z.literal("solid-panel"),
24005
+ intensity: imageSurfaceTreatmentIntensitySchema.optional()
24006
+ }).strict()
24007
+ ]);
24008
+ var testimonialCardTreatmentSchema = z.enum(["default", "accent-quote"]);
23393
24009
  function uniqueNonEmpty(values) {
23394
24010
  const uniqueValues = [...new Set(values)];
23395
24011
  const firstValue = uniqueValues[0];
@@ -23428,7 +24044,11 @@ var blockDesignPlanSchema = z.object({
23428
24044
  itemSurface: z.enum(userDesignOptionCatalog.itemSurfaces),
23429
24045
  transitionAfter: z.enum(userDesignOptionCatalog.transitions),
23430
24046
  emphasis: z.enum(userDesignOptionCatalog.emphases),
23431
- heroLegibility: heroLegibilityStrategySchema.optional()
24047
+ sectionHeight: sectionHeightIntentSchema.optional(),
24048
+ heroLegibility: heroLegibilityStrategySchema.optional(),
24049
+ imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
24050
+ imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
24051
+ testimonialCardTreatment: testimonialCardTreatmentSchema.optional()
23432
24052
  }).strict();
23433
24053
  var styleAuthoritySchema = z.discriminatedUnion("kind", [
23434
24054
  z.object({
@@ -23828,6 +24448,7 @@ function heroContentCard(children, gap) {
23828
24448
  return styledContainer({
23829
24449
  bindFrom: "_contentCardStyles",
23830
24450
  constrainWidth: false,
24451
+ baseClassName: "rb-relative rb-isolate",
23831
24452
  rootType: "stack",
23832
24453
  rootProps: {
23833
24454
  gap
@@ -23858,6 +24479,7 @@ function heroContentWrapper(children, gap, fallbackClassName) {
23858
24479
  function heroContainerStack(children, gap) {
23859
24480
  return styledContainer({
23860
24481
  rootType: "stack",
24482
+ baseClassName: "rb-relative rb-isolate",
23861
24483
  rootProps: {
23862
24484
  gap: "none",
23863
24485
  justify: {
@@ -24778,7 +25400,7 @@ function resolveHeroVerticalAlignment(content) {
24778
25400
  if (raw === "top" || raw === "center" || raw === "bottom") return raw;
24779
25401
  const sectionStyles = asPartialObject(content._sectionStyles);
24780
25402
  const minHeight = sectionStyles?.minHeight;
24781
- if (minHeight === "hero" || minHeight === "immersive") return "center";
25403
+ if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
24782
25404
  const variant = resolveHeroVariant(content);
24783
25405
  if (variant === "split" || variant === "splitReverse") return "center";
24784
25406
  return "top";
@@ -25471,6 +26093,26 @@ var footerSplitNavSingleClassTransform = {
25471
26093
  ]);
25472
26094
  }
25473
26095
  };
26096
+ var footerSplitMainClassSchema = z.object({
26097
+ base: z.string().optional(),
26098
+ reverseClass: z.string().optional()
26099
+ });
26100
+ var footerSplitMainClassTransform = {
26101
+ id: "layout.footerSplitMainClass",
26102
+ kind: "string",
26103
+ summary: "Compose split-footer main row classes from footer logo placement",
26104
+ schema: footerSplitMainClassSchema,
26105
+ run: (value, options) => {
26106
+ const logo = asPartialObject(value);
26107
+ const placement = logo?.placement ?? "right";
26108
+ const shouldPlaceLogoFirst = placement === "left" || placement === "above";
26109
+ const baseClass = shouldPlaceLogoFirst ? "rb-flex rb-w-full rb-flex-col rb-items-start rb-justify-end rb-gap-8 rb-md-flex-row rb-md-items-end" : "rb-flex rb-w-full rb-flex-col rb-items-start rb-justify-between rb-gap-8 rb-md-flex-row rb-md-items-end";
26110
+ return joinClasses4([
26111
+ options.base ?? baseClass,
26112
+ shouldPlaceLogoFirst ? options.reverseClass ?? "rb-md-flex-row-reverse" : null
26113
+ ]);
26114
+ }
26115
+ };
25474
26116
  var footerLogoClassSchema = z.object({
25475
26117
  base: z.string().optional()
25476
26118
  });
@@ -25481,14 +26123,11 @@ var footerLogoClassTransform = {
25481
26123
  schema: footerLogoClassSchema,
25482
26124
  run: (value, options) => {
25483
26125
  const logo = asPartialObject(value);
25484
- const placement = logo?.placement ?? "right";
25485
26126
  const align = logo?.align ?? "end";
25486
26127
  const hiddenClass = logo?.showLogo === false ? "rb-hidden" : null;
25487
- const orderClass = placement === "left" || placement === "above" ? "rb-md-order-first" : "rb-md-order-last";
25488
26128
  const selfAlignClass = align === "start" ? "rb-self-start rb-text-left" : align === "center" ? "rb-self-center rb-text-center" : "rb-self-end rb-text-right";
25489
26129
  return joinClasses4([
25490
26130
  options.base ?? "footer-logo rb-inline-flex rb-items-center rb-justify-end rb-gap-3 rb-no-underline rb-transition-opacity rb-hover-opacity-80",
25491
- orderClass,
25492
26131
  selfAlignClass,
25493
26132
  hiddenClass
25494
26133
  ]);
@@ -25543,6 +26182,7 @@ var layoutTransforms = [
25543
26182
  footerBottomBarContainerClassTransform,
25544
26183
  footerBottomBarStyleTransform,
25545
26184
  footerSplitNavSingleClassTransform,
26185
+ footerSplitMainClassTransform,
25546
26186
  footerLogoClassTransform,
25547
26187
  footerLogoMediaClassTransform,
25548
26188
  footerLogoTextVisibleTransform
@@ -25787,7 +26427,7 @@ var createNavRow = (className, align = "end") => navRow({
25787
26427
  var headerCta = ctaButton({
25788
26428
  basePath: "menu.ctaItem",
25789
26429
  whenPath: "menu.ctaItem.label",
25790
- variantPath: "menu.ctaItem.variant",
26430
+ variantPath: "$root.theme.header.ctaVariant",
25791
26431
  linkPath: "menu.ctaItem.link",
25792
26432
  sizeFallback: "sm",
25793
26433
  className: `header-cta ${desktopOnlyDisplay("inline-flex")} rb-ml-6`
@@ -25795,7 +26435,7 @@ var headerCta = ctaButton({
25795
26435
  var mobileCta = ctaButton({
25796
26436
  basePath: "menu.ctaItem",
25797
26437
  whenPath: "menu.ctaItem.label",
25798
- variantPath: "menu.ctaItem.variant",
26438
+ variantPath: "$root.theme.header.ctaVariant",
25799
26439
  linkPath: "menu.ctaItem.link",
25800
26440
  sizeFallback: "md",
25801
26441
  className: "nav-mobile-cta rb-w-full"
@@ -26265,7 +26905,13 @@ var splitFooterLayout = stack(
26265
26905
  [
26266
26906
  inline(
26267
26907
  {
26268
- className: "rb-flex rb-w-full rb-flex-col rb-items-start rb-justify-between rb-gap-8 rb-md-flex-row rb-md-items-end"
26908
+ className: {
26909
+ $bind: {
26910
+ from: "$root.theme.footer.logo",
26911
+ transforms: [{ id: "layout.footerSplitMainClass" }],
26912
+ fallback: "rb-flex rb-w-full rb-flex-col rb-items-start rb-justify-between rb-gap-8 rb-md-flex-row rb-md-items-end"
26913
+ }
26914
+ }
26269
26915
  },
26270
26916
  [
26271
26917
  stack(
@@ -30053,6 +30699,34 @@ function panelCapable() {
30053
30699
  itemSurfaces: "unsupported"
30054
30700
  });
30055
30701
  }
30702
+ var heroSectionHeights = [
30703
+ "default",
30704
+ "banner",
30705
+ "hero",
30706
+ "immersive"
30707
+ ];
30708
+ var heroImageSurfaceTreatments = [
30709
+ "none",
30710
+ "brand-scrim",
30711
+ "brand-wash",
30712
+ "neutral-scrim",
30713
+ "neutral-wash",
30714
+ "solid-panel"
30715
+ ];
30716
+ var heroImageSurfaceMotions = [
30717
+ "static",
30718
+ "fixed-frame"
30719
+ ];
30720
+ function heroCapable() {
30721
+ return declareBlockDesignCapability({
30722
+ sectionSurfaces: "supported",
30723
+ contentFrames: ["plain", "panel"],
30724
+ itemSurfaces: "unsupported",
30725
+ sectionHeights: heroSectionHeights,
30726
+ imageSurfaceTreatments: heroImageSurfaceTreatments,
30727
+ imageSurfaceMotions: heroImageSurfaceMotions
30728
+ });
30729
+ }
30056
30730
  function plainItemsCapable() {
30057
30731
  return declareBlockDesignCapability({
30058
30732
  sectionSurfaces: "supported",
@@ -30169,7 +30843,7 @@ function withDesignCapability(blockKind, definition, designCapability, designMet
30169
30843
  };
30170
30844
  }
30171
30845
  var systemBlockDefinitionsRaw = [
30172
- withDesignCapability("block.hero", heroBlockDefinition, panelCapable(), defineBlockDesignMetadata({
30846
+ withDesignCapability("block.hero", heroBlockDefinition, heroCapable(), defineBlockDesignMetadata({
30173
30847
  flow: heroFlow,
30174
30848
  layoutProfiles: [
30175
30849
  layoutProfile({
@@ -30273,7 +30947,12 @@ var systemBlockDefinitionsRaw = [
30273
30947
  flow: siteChromeFlow,
30274
30948
  layoutProfiles: []
30275
30949
  })),
30276
- withDesignCapability("block.testimonials", testimonialsBlockDefinition, panelAndItemsCapable(), defineBlockDesignMetadata({
30950
+ withDesignCapability("block.testimonials", testimonialsBlockDefinition, declareBlockDesignCapability({
30951
+ sectionSurfaces: "supported",
30952
+ contentFrames: ["plain", "panel"],
30953
+ itemSurfaces: "supported",
30954
+ testimonialCardTreatments: ["default", "accent-quote"]
30955
+ }), defineBlockDesignMetadata({
30277
30956
  flow: proofFlow,
30278
30957
  layoutProfiles: [
30279
30958
  layoutProfile({
@@ -30528,8 +31207,15 @@ function parseOpacity(value) {
30528
31207
  }
30529
31208
  return opacity <= 1 ? opacity : opacity / 100;
30530
31209
  }
30531
- function appendOptionalClasses(baseClassName, optionalClassName) {
30532
- return optionalClassName ? `${baseClassName} ${optionalClassName}` : baseClassName;
31210
+ function backgroundMotionClassNames(input) {
31211
+ return input.motion === "fixed-frame" ? "rb-bg-motion-fixed-frame" : "";
31212
+ }
31213
+ function appendBackgroundMediaClasses(baseClassName, input) {
31214
+ return [
31215
+ baseClassName,
31216
+ backgroundMotionClassNames(input),
31217
+ backgroundVideoMobileClassNames(input)
31218
+ ].filter(Boolean).join(" ");
30533
31219
  }
30534
31220
  var resolveImageStyleTransform = {
30535
31221
  id: "background.resolveImageStyle",
@@ -30606,9 +31292,9 @@ var resolveImageClassNameTransform = {
30606
31292
  const objectFit = isString(input.objectFit) ? input.objectFit.trim() : null;
30607
31293
  const position = isString(input.position) ? input.position.trim() : null;
30608
31294
  if (objectFit === "fill" || objectFit === "fit" || objectFit === null) {
30609
- return appendOptionalClasses(
31295
+ return appendBackgroundMediaClasses(
30610
31296
  `${baseClass} rb-inset-0 rb-h-full rb-w-full rb-object-${objectFit === "fit" ? "contain" : "cover"}`,
30611
- backgroundVideoMobileClassNames(input)
31297
+ input
30612
31298
  );
30613
31299
  }
30614
31300
  let needsAnchoring = false;
@@ -30621,18 +31307,18 @@ var resolveImageClassNameTransform = {
30621
31307
  }
30622
31308
  }
30623
31309
  if (!needsAnchoring) {
30624
- return appendOptionalClasses(
31310
+ return appendBackgroundMediaClasses(
30625
31311
  `${baseClass} rb-inset-0 rb-h-full rb-w-full`,
30626
- backgroundVideoMobileClassNames(input)
31312
+ input
30627
31313
  );
30628
31314
  }
30629
31315
  const isPreset = position && BACKGROUND_POSITION_PRESET_VALUES.includes(position);
30630
31316
  const isCustom = position && !isPreset;
30631
31317
  if (isCustom) {
30632
- return appendOptionalClasses(baseClass, backgroundVideoMobileClassNames(input));
31318
+ return appendBackgroundMediaClasses(baseClass, input);
30633
31319
  }
30634
31320
  const anchorClasses = getAnchorClasses(position);
30635
- return appendOptionalClasses(`${baseClass} ${anchorClasses}`, backgroundVideoMobileClassNames(input));
31321
+ return appendBackgroundMediaClasses(`${baseClass} ${anchorClasses}`, input);
30636
31322
  }
30637
31323
  };
30638
31324
  var resolveOverlayStyleTransform = {
@@ -44025,7 +44711,7 @@ var THEME_FIELD_CATEGORY_MAP = {
44025
44711
  "Core Fields": ["name", "description", "rationale", "siteStyleId"],
44026
44712
  "Design Axes": ["axes"],
44027
44713
  "Palette": ["palette"],
44028
- "Typography": ["typography"],
44714
+ "Typography": ["typography", "bodyText"],
44029
44715
  "Style Primitives": ["space", "border", "shadow", "motion", "corners", "gradients"],
44030
44716
  "Component Systems": ["buttons", "buttonSystem", "cards", "accordions", "inputs", "inputStyle", "blockOverrides"],
44031
44717
  "Layout": ["header", "footer", "layout", "hero"],
@@ -45419,7 +46105,7 @@ var SimpleCache = class {
45419
46105
  };
45420
46106
 
45421
46107
  // src/version.ts
45422
- var SDK_VERSION = "0.60.11";
46108
+ var SDK_VERSION = "0.60.14";
45423
46109
 
45424
46110
  // src/client/error.ts
45425
46111
  var RiverbankApiError = class _RiverbankApiError extends Error {