@riverbankcms/sdk 0.124.0 → 0.126.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.
Files changed (130) hide show
  1. package/README.md +3 -1
  2. package/dist/{PreviewEditorSidebar-DBmAJJkQ.mjs → PreviewEditorSidebar-DcYJxTgc.mjs} +67 -266
  3. package/dist/{PreviewEditorUI-CfGaz9cY.mjs → PreviewEditorUI-Ctt1yTJr.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BH-3-jSj.mjs → PreviewQueryProvider-DgFDIwvK.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-BW9Z8j8T.mjs → SdkPreviewModeRuntime-CvW1vdQ4.mjs} +38 -30
  6. package/dist/{SiteChromeCustomizeContext-2z8moxYf.mjs → SiteChromeCustomizeContext-C87qlKWw.mjs} +493 -1378
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1354 -202
  8. package/dist/_dts/api/src/accessAdmin.d.ts +2 -14
  9. package/dist/_dts/api/src/common/envelope.d.ts +1 -1
  10. package/dist/_dts/api/src/contentRuntime.d.ts +0 -2
  11. package/dist/_dts/api/src/endpoints.d.ts +0 -7
  12. package/dist/_dts/api/src/sdk-event-upsert.d.ts +42 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +11 -9
  14. package/dist/_dts/api/src/siteAccessAdmin.d.ts +23 -0
  15. package/dist/_dts/api/src/siteOperations.d.ts +18 -1
  16. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -14
  17. package/dist/_dts/billing/src/plans/types.d.ts +24 -5
  18. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  19. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  20. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  21. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +2 -0
  22. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +3 -1
  23. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +15 -2
  25. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +331 -19
  26. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +1 -2
  27. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -3
  28. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -2
  29. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -12
  30. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -13
  31. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -100
  32. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -4
  33. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -15
  34. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +11 -21
  35. package/dist/_dts/sdk/src/cli/commands/event.d.ts +2 -2
  36. package/dist/_dts/sdk/src/cli/commands/eventOccurrenceSchedule.d.ts +12 -0
  37. package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +6 -0
  38. package/dist/_dts/sdk/src/cli/commands/style.d.ts +1 -1
  39. package/dist/_dts/sdk/src/cli/content/legacyEventScheduleShapeError.d.ts +5 -0
  40. package/dist/_dts/sdk/src/cli/content/localEventSchedule.d.ts +17 -0
  41. package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -10
  42. package/dist/_dts/sdk/src/cli/migrations/events.d.ts +1 -1
  43. package/dist/_dts/sdk/src/cli/site-commands/eventScheduleCompiler.d.ts +24 -0
  44. package/dist/_dts/sdk/src/client/management/http.d.ts +1 -1
  45. package/dist/_dts/sdk/src/client/management/types.d.ts +3 -28
  46. package/dist/_dts/sdk/src/config/index.d.ts +1 -1
  47. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -20
  48. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  49. package/dist/_dts/sdk/src/version.d.ts +1 -1
  50. package/dist/_dts/site-commands/src/commandContract.d.ts +33 -5
  51. package/dist/_dts/site-commands/src/commandDomain.d.ts +2 -2
  52. package/dist/_dts/site-commands/src/commands.d.ts +38 -9
  53. package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +28 -1
  54. package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +4 -4
  55. package/dist/_dts/theme-core/src/palette/concretePalette.d.ts +20 -0
  56. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -17
  57. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -6
  58. package/dist/_dts/theme-core/src/palette/schema.d.ts +39 -0
  59. package/dist/_dts/theme-core/src/schema.d.ts +38 -26
  60. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -6
  61. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -6
  62. package/dist/cli/index.mjs +631 -525
  63. package/dist/cli/init-docs/content/cli-reference.md +6 -3
  64. package/dist/cli/init-docs/content/content-management.md +24 -13
  65. package/dist/client/{DiscountCodeDisclosure-DxvjKvck.mjs → DiscountCodeDisclosure-DS0AuFWW.mjs} +1 -1
  66. package/dist/client/{EventCombined.client-BydMGc4c.mjs → EventCombined.client-DtMxLr7q.mjs} +2 -2
  67. package/dist/client/{EventListing.client-vpzhhysN.mjs → EventListing.client-BdLSRNg1.mjs} +2 -2
  68. package/dist/client/{LeafletStaticMap-CB07rpf8.mjs → LeafletStaticMap-BrpC6vsT.mjs} +1 -1
  69. package/dist/client/{MagicLinkForm-BzyRJ8VF.mjs → MagicLinkForm-Bt3IuLMy.mjs} +1 -1
  70. package/dist/client/{StepIndicator-CTcGf8Be.mjs → StepIndicator-CBYPFVoy.mjs} +2 -2
  71. package/dist/client/{accordion-B-DUDLRD.mjs → accordion-BqqwPJWM.mjs} +1 -1
  72. package/dist/client/{bookingForm-DSbClLcZ.mjs → bookingForm-SneP3yxC.mjs} +5 -6
  73. package/dist/client/bookings.mjs +190 -24
  74. package/dist/client/{carousel-B6Ccdx8M.mjs → carousel-BTIR9L3I.mjs} +1 -1
  75. package/dist/client/{cart-BZh8G8wM.mjs → cart-bqiqd8SX.mjs} +3 -3
  76. package/dist/client/{checkout-o6zaC-kM.mjs → checkout-WbTFV5v4.mjs} +3 -3
  77. package/dist/client/client.mjs +175 -223
  78. package/dist/client/{courseRegistration-Cf11pNDs.mjs → courseRegistration-BcemLAdN.mjs} +6 -7
  79. package/dist/client/{eventCalendar-BeXrdsSE.mjs → eventCalendar-CsxIw0V_.mjs} +4 -4
  80. package/dist/client/{eventCombined-DA76PZgG.mjs → eventCombined-B6XMoHfa.mjs} +2 -2
  81. package/dist/client/{eventDetails-BLxg0rok.mjs → eventDetails-BJaoPPfo.mjs} +10 -5
  82. package/dist/client/{eventListing-tO9LheBX.mjs → eventListing-DgwdYHRT.mjs} +2 -2
  83. package/dist/client/{eventRegistration-Cnene9D9.mjs → eventRegistration-C0O3folu.mjs} +30 -22
  84. package/dist/client/{form-DZf72CHB.mjs → form-Bk9txGFt.mjs} +1 -1
  85. package/dist/client/{headerSection-Hioja5Cr.mjs → headerSection-yIBt0yTv.mjs} +2 -2
  86. package/dist/client/hooks.mjs +54 -102
  87. package/dist/client/{locationMap-DwhUXEix.mjs → locationMap-C-3KIpv-.mjs} +2 -2
  88. package/dist/client/{newsletterForm-C350bEQf.mjs → newsletterForm-CzB8g8h2.mjs} +1 -1
  89. package/dist/client/{pricing-BYWN_ATa.mjs → pricing-C1QeDes_.mjs} +1 -1
  90. package/dist/client/{productDetail-CCqCyXgU.mjs → productDetail-w7SBp5uc.mjs} +3 -3
  91. package/dist/client/{productList-BAiNJrOU.mjs → productList-D0tGKHGf.mjs} +3 -3
  92. package/dist/client/{propsDecoder-DeunRj6m.mjs → propsDecoder-Bcin2DB3.mjs} +172 -11
  93. package/dist/client/rendering/client.mjs +322 -363
  94. package/dist/client/rendering/islands.mjs +18 -18
  95. package/dist/client/rendering.mjs +231 -272
  96. package/dist/client/{useDiscountCodeUi-I-92-x2V.mjs → scrollToBlock-h-o_STf_.mjs} +18 -2
  97. package/dist/client/{shop-DUmCdBtw.mjs → shop-BGzmL8O_.mjs} +5 -6
  98. package/dist/client/{shop-commerce-CY27mEUr.mjs → shop-commerce-lX8QxjX-.mjs} +4 -4
  99. package/dist/client/{shop-commerce-store-ChXPbWfa.mjs → shop-commerce-store-CEurARtu.mjs} +1 -1
  100. package/dist/client/{shopShared-q0kin1cv.mjs → shopShared-DXxH8xxw.mjs} +2 -2
  101. package/dist/client/{useEventFilters-DlcVluZh.mjs → useEventFilters-B591g9vd.mjs} +2 -2
  102. package/dist/client/{usePolling-Bz7GFV_a.mjs → usePolling-BvnChV4m.mjs} +2 -2
  103. package/dist/preview-next/before-render.mjs +0 -7
  104. package/dist/preview-next/client/runtime.mjs +4 -4
  105. package/dist/preview-next/middleware.mjs +0 -7
  106. package/dist/{previewAuthStore-CJX21dGi.mjs → previewAuthStore-Dev9CdG9.mjs} +0 -7
  107. package/dist/{sdk-runtime-OnPM8Z69.mjs → sdk-runtime-M__i3Jce.mjs} +2 -2
  108. package/dist/{separator-CPtfzHqA.mjs → separator-VSlnI9bc.mjs} +1 -1
  109. package/dist/server/components.mjs +99 -141
  110. package/dist/server/config-validation.mjs +54 -102
  111. package/dist/server/config.mjs +54 -102
  112. package/dist/server/data.mjs +54 -102
  113. package/dist/server/index.mjs +1 -8
  114. package/dist/server/next.mjs +103 -152
  115. package/dist/server/page-converter.mjs +54 -102
  116. package/dist/server/prebuild.mjs +1 -1
  117. package/dist/server/rendering/server.mjs +62 -104
  118. package/dist/server/rendering.mjs +100 -142
  119. package/dist/server/routing.mjs +75 -147
  120. package/dist/server/server.mjs +55 -110
  121. package/dist/server/theme-bridge.mjs +172 -162
  122. package/dist/server/theme.mjs +167 -11
  123. package/package.json +1 -1
  124. package/dist/_dts/theme-core/src/palette/editorState.d.ts +0 -75
  125. package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +0 -64
  126. package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +0 -81
  127. package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +0 -75
  128. package/dist/_dts/theme-core/src/palette/selection.d.ts +0 -74
  129. package/dist/_dts/theme-core/src/palette/sitePalettePersistence.d.ts +0 -34
  130. package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
@@ -2948,6 +2948,21 @@ const themeColorTokenSchema = z$1.string().min(1).refine((value) => Boolean(isTh
2948
2948
  //#region ../theme-core/src/palette/colors.ts
2949
2949
  const HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
2950
2950
  const NORMALIZABLE_HEX_REGEX = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;
2951
+ const THEME_PALETTE_COLOR_ORDER = [
2952
+ "primary",
2953
+ "secondary",
2954
+ "accent",
2955
+ "success",
2956
+ "warning",
2957
+ "destructive",
2958
+ "background",
2959
+ "surface",
2960
+ "surfaceAlt",
2961
+ "muted",
2962
+ "text",
2963
+ "primaryForeground",
2964
+ "border"
2965
+ ];
2951
2966
  const hexColorSchema = z$1.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
2952
2967
  const paletteModeSchema = z$1.enum(["light", "dark"]);
2953
2968
  const PALETTE_VALUE_KEY_PREFIX = "palette-value:v1|";
@@ -3025,6 +3040,12 @@ function requirePaletteColorsFromEntries(entries) {
3025
3040
  if (result.ok) return result.colors;
3026
3041
  throw new Error(`Invalid complete palette: ${result.error.kind}`);
3027
3042
  }
3043
+ function paletteColorEntries(colors) {
3044
+ return THEME_PALETTE_COLOR_ORDER.map((name) => ({
3045
+ name,
3046
+ hex: colors[name]
3047
+ }));
3048
+ }
3028
3049
  function paletteColorFingerprint(colors) {
3029
3050
  return PALETTE_TOKEN_NAMES.map((name) => `${name}:${colors[name]}`).join("|");
3030
3051
  }
@@ -4358,13 +4379,6 @@ const warmDarkKirtanGold = defineCuratedPalette({
4358
4379
  });
4359
4380
  //#endregion
4360
4381
  //#region ../theme-core/src/palette/curated/index.ts
4361
- /**
4362
- * Curated palette library.
4363
- *
4364
- * Authoring keys are readable source aliases. Value keys are derived from the
4365
- * complete mode and semantic colours and are the only curated identity used at
4366
- * persistence and runtime boundaries.
4367
- */
4368
4382
  function admitCuratedPaletteDefinition(definition) {
4369
4383
  return {
4370
4384
  ...definition,
@@ -4391,11 +4405,8 @@ const curatedPalettes = [
4391
4405
  admitCuratedPaletteDefinition(warmDarkEmber),
4392
4406
  admitCuratedPaletteDefinition(warmDarkKirtanGold)
4393
4407
  ];
4394
- const curatedPalettesByValueKey = new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
4408
+ new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
4395
4409
  const curatedPalettesByAuthoringKey = new Map(curatedPalettes.map((palette) => [palette.authoringKey, palette]));
4396
- function findCuratedPalette(valueKey) {
4397
- return curatedPalettesByValueKey.get(valueKey);
4398
- }
4399
4410
  function findCuratedPaletteByAuthoringKey(authoringKey) {
4400
4411
  return curatedPalettesByAuthoringKey.get(authoringKey);
4401
4412
  }
@@ -4404,87 +4415,6 @@ function requireCuratedPaletteValueKey(authoringKey) {
4404
4415
  if (!palette) throw new Error(`Unknown curated palette authoring key "${authoringKey}"`);
4405
4416
  return palette.valueKey;
4406
4417
  }
4407
- /** Parses a raw persisted key into catalogue-proven curated membership. */
4408
- const knownCuratedPaletteValueKeySchema = z$1.string().transform((value, ctx) => {
4409
- const valueKey = parsePaletteValueKey(value);
4410
- if (!valueKey) {
4411
- ctx.addIssue({
4412
- code: "custom",
4413
- message: "Invalid canonical palette value key"
4414
- });
4415
- return z$1.NEVER;
4416
- }
4417
- const palette = findCuratedPalette(valueKey);
4418
- if (!palette) {
4419
- ctx.addIssue({
4420
- code: "custom",
4421
- message: "Unknown curated palette value key"
4422
- });
4423
- return z$1.NEVER;
4424
- }
4425
- return palette.valueKey;
4426
- });
4427
- //#endregion
4428
- //#region ../theme-core/src/palette/selection.ts
4429
- const sitePaletteIdSchema = z$1.string().uuid().transform((value) => value);
4430
- const sitePaletteVersionSchema = z$1.number().int().nonnegative().transform((value) => value);
4431
- const paletteSelectionSchema = z$1.discriminatedUnion("kind", [z$1.object({
4432
- kind: z$1.literal("curated"),
4433
- valueKey: knownCuratedPaletteValueKeySchema
4434
- }), z$1.object({
4435
- kind: z$1.literal("site"),
4436
- paletteId: sitePaletteIdSchema
4437
- })]);
4438
- const onboardingPaletteOriginSchema = z$1.object({
4439
- kind: z$1.literal("onboarding"),
4440
- sourceKey: z$1.string().min(1).nullable()
4441
- });
4442
- const curatedForkPaletteOriginSchema = z$1.object({
4443
- kind: z$1.literal("curated-fork"),
4444
- sourceValueKey: paletteValueKeySchema
4445
- });
4446
- const manualPaletteOriginSchema = z$1.object({ kind: z$1.literal("manual") });
4447
- const legacyCustomizedPaletteOriginSchema = z$1.object({
4448
- kind: z$1.literal("legacy-customized"),
4449
- sourceKey: z$1.string().min(1).nullable()
4450
- });
4451
- const sitePaletteOriginSchema = z$1.discriminatedUnion("kind", [
4452
- onboardingPaletteOriginSchema,
4453
- curatedForkPaletteOriginSchema,
4454
- manualPaletteOriginSchema,
4455
- legacyCustomizedPaletteOriginSchema
4456
- ]);
4457
- const editorSitePaletteOriginSchema = z$1.discriminatedUnion("kind", [z$1.object({
4458
- kind: z$1.literal("curated-fork"),
4459
- sourceValueKey: knownCuratedPaletteValueKeySchema
4460
- }), manualPaletteOriginSchema]);
4461
- z$1.object({
4462
- id: sitePaletteIdSchema,
4463
- colors: paletteColorsSchema,
4464
- mode: paletteModeSchema,
4465
- origin: sitePaletteOriginSchema,
4466
- version: sitePaletteVersionSchema
4467
- });
4468
- z$1.discriminatedUnion("kind", [
4469
- z$1.object({ kind: z$1.literal("preserve") }),
4470
- z$1.object({
4471
- kind: z$1.literal("select"),
4472
- selection: paletteSelectionSchema
4473
- }),
4474
- z$1.object({
4475
- kind: z$1.literal("create-site"),
4476
- colors: paletteColorsSchema,
4477
- mode: paletteModeSchema,
4478
- origin: editorSitePaletteOriginSchema
4479
- }),
4480
- z$1.object({
4481
- kind: z$1.literal("update-site"),
4482
- paletteId: sitePaletteIdSchema,
4483
- expectedVersion: sitePaletteVersionSchema,
4484
- colors: paletteColorsSchema,
4485
- mode: paletteModeSchema
4486
- })
4487
- ]);
4488
4418
  //#endregion
4489
4419
  //#region ../theme-core/src/lib/media.ts
4490
4420
  const hotspotSchema$1 = z.object({
@@ -4543,6 +4473,34 @@ const mediaSchema$1 = z.object({
4543
4473
  transform: transformSchema$1.optional()
4544
4474
  });
4545
4475
  //#endregion
4476
+ //#region ../theme-core/src/palette/schema.ts
4477
+ const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
4478
+ const paletteColorSchema = z$1.object({
4479
+ name: z$1.string().min(1),
4480
+ hex: colourHexString
4481
+ });
4482
+ const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
4483
+ const paletteSchema = z$1.object({
4484
+ colors: z$1.array(paletteColorSchema),
4485
+ meta: paletteMetaSchema
4486
+ }).transform((palette, ctx) => {
4487
+ const colors = paletteColorsFromEntries(palette.colors);
4488
+ if (!colors.ok) {
4489
+ ctx.addIssue({
4490
+ code: "custom",
4491
+ message: `Invalid complete palette: ${colors.error.kind}`
4492
+ });
4493
+ return z$1.NEVER;
4494
+ }
4495
+ return {
4496
+ colors: paletteColorEntries(colors.colors).map(({ name, hex }) => ({
4497
+ name: String(name),
4498
+ hex: String(hex)
4499
+ })),
4500
+ meta: palette.meta
4501
+ };
4502
+ });
4503
+ //#endregion
4546
4504
  //#region ../theme-core/src/buttons/types.ts
4547
4505
  /**
4548
4506
  * Standard semantic variant roles a theme exposes.
@@ -7812,16 +7770,6 @@ const axesSchema = z$1.object({
7812
7770
  "expressive"
7813
7771
  ])
7814
7772
  });
7815
- const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
7816
- const paletteColorSchema = z$1.object({
7817
- name: z$1.string().min(1),
7818
- hex: colourHexString
7819
- });
7820
- const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
7821
- const paletteSchema = z$1.object({
7822
- colors: z$1.array(paletteColorSchema),
7823
- meta: paletteMetaSchema
7824
- });
7825
7773
  const typographyStyleSchema = z$1.object({
7826
7774
  family: z$1.string().min(1),
7827
7775
  weight: z$1.enum([
@@ -27427,6 +27375,10 @@ const eventDetailsManifest = createBlockManifest({
27427
27375
  from: "$root.occurrenceContext",
27428
27376
  fallback: null
27429
27377
  } },
27378
+ subject: { $bind: {
27379
+ from: "$root.subject",
27380
+ fallback: null
27381
+ } },
27430
27382
  events: { $bind: { from: "data.eventDetailsData.events" } },
27431
27383
  showVenue: { $bind: { from: "content.showVenue" } },
27432
27384
  showMap: { $bind: { from: "content.showMap" } },
@@ -3024,6 +3024,21 @@ const themeColorTokenSchema = z$1.string().min(1).refine((value) => Boolean(isTh
3024
3024
  //#region ../theme-core/src/palette/colors.ts
3025
3025
  const HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
3026
3026
  const NORMALIZABLE_HEX_REGEX = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;
3027
+ const THEME_PALETTE_COLOR_ORDER = [
3028
+ "primary",
3029
+ "secondary",
3030
+ "accent",
3031
+ "success",
3032
+ "warning",
3033
+ "destructive",
3034
+ "background",
3035
+ "surface",
3036
+ "surfaceAlt",
3037
+ "muted",
3038
+ "text",
3039
+ "primaryForeground",
3040
+ "border"
3041
+ ];
3027
3042
  const hexColorSchema = z$1.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
3028
3043
  const paletteModeSchema = z$1.enum(["light", "dark"]);
3029
3044
  const PALETTE_VALUE_KEY_PREFIX = "palette-value:v1|";
@@ -3101,6 +3116,12 @@ function requirePaletteColorsFromEntries(entries) {
3101
3116
  if (result.ok) return result.colors;
3102
3117
  throw new Error(`Invalid complete palette: ${result.error.kind}`);
3103
3118
  }
3119
+ function paletteColorEntries(colors) {
3120
+ return THEME_PALETTE_COLOR_ORDER.map((name) => ({
3121
+ name,
3122
+ hex: colors[name]
3123
+ }));
3124
+ }
3104
3125
  function paletteColorFingerprint(colors) {
3105
3126
  return PALETTE_TOKEN_NAMES.map((name) => `${name}:${colors[name]}`).join("|");
3106
3127
  }
@@ -4434,13 +4455,6 @@ const warmDarkKirtanGold = defineCuratedPalette({
4434
4455
  });
4435
4456
  //#endregion
4436
4457
  //#region ../theme-core/src/palette/curated/index.ts
4437
- /**
4438
- * Curated palette library.
4439
- *
4440
- * Authoring keys are readable source aliases. Value keys are derived from the
4441
- * complete mode and semantic colours and are the only curated identity used at
4442
- * persistence and runtime boundaries.
4443
- */
4444
4458
  function admitCuratedPaletteDefinition(definition) {
4445
4459
  return {
4446
4460
  ...definition,
@@ -4467,11 +4481,8 @@ const curatedPalettes = [
4467
4481
  admitCuratedPaletteDefinition(warmDarkEmber),
4468
4482
  admitCuratedPaletteDefinition(warmDarkKirtanGold)
4469
4483
  ];
4470
- const curatedPalettesByValueKey = new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
4484
+ new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
4471
4485
  const curatedPalettesByAuthoringKey = new Map(curatedPalettes.map((palette) => [palette.authoringKey, palette]));
4472
- function findCuratedPalette(valueKey) {
4473
- return curatedPalettesByValueKey.get(valueKey);
4474
- }
4475
4486
  function findCuratedPaletteByAuthoringKey(authoringKey) {
4476
4487
  return curatedPalettesByAuthoringKey.get(authoringKey);
4477
4488
  }
@@ -4480,87 +4491,6 @@ function requireCuratedPaletteValueKey(authoringKey) {
4480
4491
  if (!palette) throw new Error(`Unknown curated palette authoring key "${authoringKey}"`);
4481
4492
  return palette.valueKey;
4482
4493
  }
4483
- /** Parses a raw persisted key into catalogue-proven curated membership. */
4484
- const knownCuratedPaletteValueKeySchema = z$1.string().transform((value, ctx) => {
4485
- const valueKey = parsePaletteValueKey(value);
4486
- if (!valueKey) {
4487
- ctx.addIssue({
4488
- code: "custom",
4489
- message: "Invalid canonical palette value key"
4490
- });
4491
- return z$1.NEVER;
4492
- }
4493
- const palette = findCuratedPalette(valueKey);
4494
- if (!palette) {
4495
- ctx.addIssue({
4496
- code: "custom",
4497
- message: "Unknown curated palette value key"
4498
- });
4499
- return z$1.NEVER;
4500
- }
4501
- return palette.valueKey;
4502
- });
4503
- //#endregion
4504
- //#region ../theme-core/src/palette/selection.ts
4505
- const sitePaletteIdSchema = z$1.string().uuid().transform((value) => value);
4506
- const sitePaletteVersionSchema = z$1.number().int().nonnegative().transform((value) => value);
4507
- const paletteSelectionSchema = z$1.discriminatedUnion("kind", [z$1.object({
4508
- kind: z$1.literal("curated"),
4509
- valueKey: knownCuratedPaletteValueKeySchema
4510
- }), z$1.object({
4511
- kind: z$1.literal("site"),
4512
- paletteId: sitePaletteIdSchema
4513
- })]);
4514
- const onboardingPaletteOriginSchema = z$1.object({
4515
- kind: z$1.literal("onboarding"),
4516
- sourceKey: z$1.string().min(1).nullable()
4517
- });
4518
- const curatedForkPaletteOriginSchema = z$1.object({
4519
- kind: z$1.literal("curated-fork"),
4520
- sourceValueKey: paletteValueKeySchema
4521
- });
4522
- const manualPaletteOriginSchema = z$1.object({ kind: z$1.literal("manual") });
4523
- const legacyCustomizedPaletteOriginSchema = z$1.object({
4524
- kind: z$1.literal("legacy-customized"),
4525
- sourceKey: z$1.string().min(1).nullable()
4526
- });
4527
- const sitePaletteOriginSchema = z$1.discriminatedUnion("kind", [
4528
- onboardingPaletteOriginSchema,
4529
- curatedForkPaletteOriginSchema,
4530
- manualPaletteOriginSchema,
4531
- legacyCustomizedPaletteOriginSchema
4532
- ]);
4533
- const editorSitePaletteOriginSchema = z$1.discriminatedUnion("kind", [z$1.object({
4534
- kind: z$1.literal("curated-fork"),
4535
- sourceValueKey: knownCuratedPaletteValueKeySchema
4536
- }), manualPaletteOriginSchema]);
4537
- z$1.object({
4538
- id: sitePaletteIdSchema,
4539
- colors: paletteColorsSchema,
4540
- mode: paletteModeSchema,
4541
- origin: sitePaletteOriginSchema,
4542
- version: sitePaletteVersionSchema
4543
- });
4544
- z$1.discriminatedUnion("kind", [
4545
- z$1.object({ kind: z$1.literal("preserve") }),
4546
- z$1.object({
4547
- kind: z$1.literal("select"),
4548
- selection: paletteSelectionSchema
4549
- }),
4550
- z$1.object({
4551
- kind: z$1.literal("create-site"),
4552
- colors: paletteColorsSchema,
4553
- mode: paletteModeSchema,
4554
- origin: editorSitePaletteOriginSchema
4555
- }),
4556
- z$1.object({
4557
- kind: z$1.literal("update-site"),
4558
- paletteId: sitePaletteIdSchema,
4559
- expectedVersion: sitePaletteVersionSchema,
4560
- colors: paletteColorsSchema,
4561
- mode: paletteModeSchema
4562
- })
4563
- ]);
4564
4494
  //#endregion
4565
4495
  //#region ../theme-core/src/lib/media.ts
4566
4496
  const hotspotSchema$1 = z.object({
@@ -4619,6 +4549,34 @@ const mediaSchema$1 = z.object({
4619
4549
  transform: transformSchema$1.optional()
4620
4550
  });
4621
4551
  //#endregion
4552
+ //#region ../theme-core/src/palette/schema.ts
4553
+ const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
4554
+ const paletteColorSchema = z$1.object({
4555
+ name: z$1.string().min(1),
4556
+ hex: colourHexString
4557
+ });
4558
+ const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
4559
+ const paletteSchema = z$1.object({
4560
+ colors: z$1.array(paletteColorSchema),
4561
+ meta: paletteMetaSchema
4562
+ }).transform((palette, ctx) => {
4563
+ const colors = paletteColorsFromEntries(palette.colors);
4564
+ if (!colors.ok) {
4565
+ ctx.addIssue({
4566
+ code: "custom",
4567
+ message: `Invalid complete palette: ${colors.error.kind}`
4568
+ });
4569
+ return z$1.NEVER;
4570
+ }
4571
+ return {
4572
+ colors: paletteColorEntries(colors.colors).map(({ name, hex }) => ({
4573
+ name: String(name),
4574
+ hex: String(hex)
4575
+ })),
4576
+ meta: palette.meta
4577
+ };
4578
+ });
4579
+ //#endregion
4622
4580
  //#region ../theme-core/src/buttons/types.ts
4623
4581
  /**
4624
4582
  * Standard semantic variant roles a theme exposes.
@@ -7888,16 +7846,6 @@ const axesSchema = z$1.object({
7888
7846
  "expressive"
7889
7847
  ])
7890
7848
  });
7891
- const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
7892
- const paletteColorSchema = z$1.object({
7893
- name: z$1.string().min(1),
7894
- hex: colourHexString
7895
- });
7896
- const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
7897
- const paletteSchema = z$1.object({
7898
- colors: z$1.array(paletteColorSchema),
7899
- meta: paletteMetaSchema
7900
- });
7901
7849
  const typographyStyleSchema = z$1.object({
7902
7850
  family: z$1.string().min(1),
7903
7851
  weight: z$1.enum([
@@ -27503,6 +27451,10 @@ const eventDetailsManifest = createBlockManifest({
27503
27451
  from: "$root.occurrenceContext",
27504
27452
  fallback: null
27505
27453
  } },
27454
+ subject: { $bind: {
27455
+ from: "$root.subject",
27456
+ fallback: null
27457
+ } },
27506
27458
  events: { $bind: { from: "data.eventDetailsData.events" } },
27507
27459
  showVenue: { $bind: { from: "content.showVenue" } },
27508
27460
  showMap: { $bind: { from: "content.showMap" } },
@@ -2953,6 +2953,21 @@ const themeColorTokenSchema = z$1.string().min(1).refine((value) => Boolean(isTh
2953
2953
  //#region ../theme-core/src/palette/colors.ts
2954
2954
  const HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
2955
2955
  const NORMALIZABLE_HEX_REGEX = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;
2956
+ const THEME_PALETTE_COLOR_ORDER = [
2957
+ "primary",
2958
+ "secondary",
2959
+ "accent",
2960
+ "success",
2961
+ "warning",
2962
+ "destructive",
2963
+ "background",
2964
+ "surface",
2965
+ "surfaceAlt",
2966
+ "muted",
2967
+ "text",
2968
+ "primaryForeground",
2969
+ "border"
2970
+ ];
2956
2971
  const hexColorSchema = z$1.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
2957
2972
  const paletteModeSchema = z$1.enum(["light", "dark"]);
2958
2973
  const PALETTE_VALUE_KEY_PREFIX = "palette-value:v1|";
@@ -3030,6 +3045,12 @@ function requirePaletteColorsFromEntries(entries) {
3030
3045
  if (result.ok) return result.colors;
3031
3046
  throw new Error(`Invalid complete palette: ${result.error.kind}`);
3032
3047
  }
3048
+ function paletteColorEntries(colors) {
3049
+ return THEME_PALETTE_COLOR_ORDER.map((name) => ({
3050
+ name,
3051
+ hex: colors[name]
3052
+ }));
3053
+ }
3033
3054
  function paletteColorFingerprint(colors) {
3034
3055
  return PALETTE_TOKEN_NAMES.map((name) => `${name}:${colors[name]}`).join("|");
3035
3056
  }
@@ -4363,13 +4384,6 @@ const warmDarkKirtanGold = defineCuratedPalette({
4363
4384
  });
4364
4385
  //#endregion
4365
4386
  //#region ../theme-core/src/palette/curated/index.ts
4366
- /**
4367
- * Curated palette library.
4368
- *
4369
- * Authoring keys are readable source aliases. Value keys are derived from the
4370
- * complete mode and semantic colours and are the only curated identity used at
4371
- * persistence and runtime boundaries.
4372
- */
4373
4387
  function admitCuratedPaletteDefinition(definition) {
4374
4388
  return {
4375
4389
  ...definition,
@@ -4396,11 +4410,8 @@ const curatedPalettes = [
4396
4410
  admitCuratedPaletteDefinition(warmDarkEmber),
4397
4411
  admitCuratedPaletteDefinition(warmDarkKirtanGold)
4398
4412
  ];
4399
- const curatedPalettesByValueKey = new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
4413
+ new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
4400
4414
  const curatedPalettesByAuthoringKey = new Map(curatedPalettes.map((palette) => [palette.authoringKey, palette]));
4401
- function findCuratedPalette(valueKey) {
4402
- return curatedPalettesByValueKey.get(valueKey);
4403
- }
4404
4415
  function findCuratedPaletteByAuthoringKey(authoringKey) {
4405
4416
  return curatedPalettesByAuthoringKey.get(authoringKey);
4406
4417
  }
@@ -4409,87 +4420,6 @@ function requireCuratedPaletteValueKey(authoringKey) {
4409
4420
  if (!palette) throw new Error(`Unknown curated palette authoring key "${authoringKey}"`);
4410
4421
  return palette.valueKey;
4411
4422
  }
4412
- /** Parses a raw persisted key into catalogue-proven curated membership. */
4413
- const knownCuratedPaletteValueKeySchema = z$1.string().transform((value, ctx) => {
4414
- const valueKey = parsePaletteValueKey(value);
4415
- if (!valueKey) {
4416
- ctx.addIssue({
4417
- code: "custom",
4418
- message: "Invalid canonical palette value key"
4419
- });
4420
- return z$1.NEVER;
4421
- }
4422
- const palette = findCuratedPalette(valueKey);
4423
- if (!palette) {
4424
- ctx.addIssue({
4425
- code: "custom",
4426
- message: "Unknown curated palette value key"
4427
- });
4428
- return z$1.NEVER;
4429
- }
4430
- return palette.valueKey;
4431
- });
4432
- //#endregion
4433
- //#region ../theme-core/src/palette/selection.ts
4434
- const sitePaletteIdSchema = z$1.string().uuid().transform((value) => value);
4435
- const sitePaletteVersionSchema = z$1.number().int().nonnegative().transform((value) => value);
4436
- const paletteSelectionSchema = z$1.discriminatedUnion("kind", [z$1.object({
4437
- kind: z$1.literal("curated"),
4438
- valueKey: knownCuratedPaletteValueKeySchema
4439
- }), z$1.object({
4440
- kind: z$1.literal("site"),
4441
- paletteId: sitePaletteIdSchema
4442
- })]);
4443
- const onboardingPaletteOriginSchema = z$1.object({
4444
- kind: z$1.literal("onboarding"),
4445
- sourceKey: z$1.string().min(1).nullable()
4446
- });
4447
- const curatedForkPaletteOriginSchema = z$1.object({
4448
- kind: z$1.literal("curated-fork"),
4449
- sourceValueKey: paletteValueKeySchema
4450
- });
4451
- const manualPaletteOriginSchema = z$1.object({ kind: z$1.literal("manual") });
4452
- const legacyCustomizedPaletteOriginSchema = z$1.object({
4453
- kind: z$1.literal("legacy-customized"),
4454
- sourceKey: z$1.string().min(1).nullable()
4455
- });
4456
- const sitePaletteOriginSchema = z$1.discriminatedUnion("kind", [
4457
- onboardingPaletteOriginSchema,
4458
- curatedForkPaletteOriginSchema,
4459
- manualPaletteOriginSchema,
4460
- legacyCustomizedPaletteOriginSchema
4461
- ]);
4462
- const editorSitePaletteOriginSchema = z$1.discriminatedUnion("kind", [z$1.object({
4463
- kind: z$1.literal("curated-fork"),
4464
- sourceValueKey: knownCuratedPaletteValueKeySchema
4465
- }), manualPaletteOriginSchema]);
4466
- z$1.object({
4467
- id: sitePaletteIdSchema,
4468
- colors: paletteColorsSchema,
4469
- mode: paletteModeSchema,
4470
- origin: sitePaletteOriginSchema,
4471
- version: sitePaletteVersionSchema
4472
- });
4473
- z$1.discriminatedUnion("kind", [
4474
- z$1.object({ kind: z$1.literal("preserve") }),
4475
- z$1.object({
4476
- kind: z$1.literal("select"),
4477
- selection: paletteSelectionSchema
4478
- }),
4479
- z$1.object({
4480
- kind: z$1.literal("create-site"),
4481
- colors: paletteColorsSchema,
4482
- mode: paletteModeSchema,
4483
- origin: editorSitePaletteOriginSchema
4484
- }),
4485
- z$1.object({
4486
- kind: z$1.literal("update-site"),
4487
- paletteId: sitePaletteIdSchema,
4488
- expectedVersion: sitePaletteVersionSchema,
4489
- colors: paletteColorsSchema,
4490
- mode: paletteModeSchema
4491
- })
4492
- ]);
4493
4423
  //#endregion
4494
4424
  //#region ../theme-core/src/lib/media.ts
4495
4425
  const hotspotSchema$1 = z.object({
@@ -4548,6 +4478,34 @@ const mediaSchema$1 = z.object({
4548
4478
  transform: transformSchema$1.optional()
4549
4479
  });
4550
4480
  //#endregion
4481
+ //#region ../theme-core/src/palette/schema.ts
4482
+ const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
4483
+ const paletteColorSchema = z$1.object({
4484
+ name: z$1.string().min(1),
4485
+ hex: colourHexString
4486
+ });
4487
+ const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
4488
+ const paletteSchema = z$1.object({
4489
+ colors: z$1.array(paletteColorSchema),
4490
+ meta: paletteMetaSchema
4491
+ }).transform((palette, ctx) => {
4492
+ const colors = paletteColorsFromEntries(palette.colors);
4493
+ if (!colors.ok) {
4494
+ ctx.addIssue({
4495
+ code: "custom",
4496
+ message: `Invalid complete palette: ${colors.error.kind}`
4497
+ });
4498
+ return z$1.NEVER;
4499
+ }
4500
+ return {
4501
+ colors: paletteColorEntries(colors.colors).map(({ name, hex }) => ({
4502
+ name: String(name),
4503
+ hex: String(hex)
4504
+ })),
4505
+ meta: palette.meta
4506
+ };
4507
+ });
4508
+ //#endregion
4551
4509
  //#region ../theme-core/src/buttons/types.ts
4552
4510
  /**
4553
4511
  * Standard semantic variant roles a theme exposes.
@@ -7817,16 +7775,6 @@ const axesSchema = z$1.object({
7817
7775
  "expressive"
7818
7776
  ])
7819
7777
  });
7820
- const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
7821
- const paletteColorSchema = z$1.object({
7822
- name: z$1.string().min(1),
7823
- hex: colourHexString
7824
- });
7825
- const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
7826
- const paletteSchema = z$1.object({
7827
- colors: z$1.array(paletteColorSchema),
7828
- meta: paletteMetaSchema
7829
- });
7830
7778
  const typographyStyleSchema = z$1.object({
7831
7779
  family: z$1.string().min(1),
7832
7780
  weight: z$1.enum([
@@ -27433,6 +27381,10 @@ const eventDetailsManifest = createBlockManifest({
27433
27381
  from: "$root.occurrenceContext",
27434
27382
  fallback: null
27435
27383
  } },
27384
+ subject: { $bind: {
27385
+ from: "$root.subject",
27386
+ fallback: null
27387
+ } },
27436
27388
  events: { $bind: { from: "data.eventDetailsData.events" } },
27437
27389
  showVenue: { $bind: { from: "content.showVenue" } },
27438
27390
  showMap: { $bind: { from: "content.showMap" } },
@@ -6200,13 +6200,6 @@ const API_ENDPOINTS$1 = {
6200
6200
  auth: "user",
6201
6201
  responseKind: "json"
6202
6202
  },
6203
- listSiteThemePalettes: {
6204
- path: "/sites/{siteId}/theme/palettes",
6205
- method: "GET",
6206
- auth: "user",
6207
- errors: [],
6208
- responseKind: "json"
6209
- },
6210
6203
  createSiteFontUploadUrl: {
6211
6204
  path: "/sites/{siteId}/fonts/upload-url",
6212
6205
  method: "POST",
@@ -7924,7 +7917,7 @@ var SimpleCache = class {
7924
7917
  * 1. This constant
7925
7918
  * 2. The "version" field in package.json
7926
7919
  */
7927
- const SDK_VERSION = "0.124.0";
7920
+ const SDK_VERSION = "0.126.0";
7928
7921
  //#endregion
7929
7922
  //#region src/client/error.ts
7930
7923
  let _Symbol$for;