@riverbankcms/sdk 0.104.1 → 0.104.3

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 (120) hide show
  1. package/dist/{PreviewEditorSidebar-CmaPXdKu.mjs → PreviewEditorSidebar-CBMhU9p_.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-C5xRTh2b.mjs → PreviewEditorUI-C5KEw4M8.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-Eks51NcN.mjs → SdkPreviewModeRuntime-Iq12HjL7.mjs} +1142 -177
  4. package/dist/{SiteChromeCustomizeContext-Bt8zb3qu.mjs → SiteChromeCustomizeContext-Cx0NMdyv.mjs} +1640 -877
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -0
  6. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +12 -8
  7. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -0
  8. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +11 -1
  9. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
  10. package/dist/_dts/blocks/src/system/constants/events.d.ts +1 -1
  11. package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +12 -0
  12. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +2 -2
  13. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +14 -0
  14. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +33 -0
  15. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +28 -0
  16. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +32 -0
  17. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -0
  18. package/dist/_dts/blocks/src/system/runtime/nodes/svg.d.ts +77 -0
  19. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +2 -0
  20. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -40
  21. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +14 -0
  22. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +11 -0
  23. package/dist/_dts/core/src/branded.d.ts +5 -0
  24. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +18 -0
  25. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +2 -2
  26. package/dist/_dts/sdk/src/version.d.ts +1 -1
  27. package/dist/_dts/theme-core/src/ThemeScope.d.ts +1 -1
  28. package/dist/_dts/theme-core/src/buttons/affordanceIcons.d.ts +29 -0
  29. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +6 -0
  30. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  31. package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +20 -0
  32. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  33. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +4 -0
  34. package/dist/_dts/theme-core/src/buttons/types.d.ts +34 -0
  35. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  36. package/dist/_dts/theme-core/src/gradients/types.d.ts +27 -3
  37. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +51 -15
  38. package/dist/_dts/theme-core/src/palette/curated/brand-led.d.ts +13 -0
  39. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +12 -0
  40. package/dist/_dts/theme-core/src/palette/historicalThemePalette.d.ts +44 -0
  41. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
  42. package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +13 -2
  43. package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +17 -2
  44. package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +3 -4
  45. package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +1 -0
  46. package/dist/_dts/theme-core/src/schema.d.ts +108 -26
  47. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +2 -1
  48. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +50 -1
  49. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  50. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  51. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +56 -1
  52. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  53. package/dist/_dts/theme-core/src/status/index.d.ts +0 -1
  54. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +19 -0
  55. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +9 -0
  56. package/dist/_dts/theme-core/src/surfaces/index.d.ts +2 -0
  57. package/dist/_dts/ui/src/button.d.ts +1 -1
  58. package/dist/cli/index.mjs +1558 -468
  59. package/dist/client/{DiscountCodeDisclosure-Dit2aItR.mjs → DiscountCodeDisclosure-BXM73_E5.mjs} +1 -1
  60. package/dist/client/{EventCombined.client-BnREyCjf.mjs → EventCombined.client-DT5elP7j.mjs} +4 -4
  61. package/dist/client/{EventListing.client-0uHld51x.mjs → EventListing.client-pTYGfV9C.mjs} +2 -2
  62. package/dist/client/{LeafletStaticMap-DJcvSfmj.mjs → LeafletStaticMap-dQrhlUe3.mjs} +1 -1
  63. package/dist/client/{MagicLinkForm-EAsIktfw.mjs → MagicLinkForm-u6Dul4j5.mjs} +2 -2
  64. package/dist/client/{StepIndicator-CRR17tYI.mjs → StepIndicator-nWqineJ2.mjs} +2 -2
  65. package/dist/client/{accordion-B47HIuuH.mjs → accordion-CSJcTUyH.mjs} +1 -1
  66. package/dist/client/{bookingForm-I1E-8F9P.mjs → bookingForm-C73wOuVa.mjs} +6 -6
  67. package/dist/client/bookings.mjs +137 -1
  68. package/dist/client/{buttons-BbPn8OKA.mjs → buttons-DfYyqt8C.mjs} +138 -2
  69. package/dist/client/{carousel-OlM7SyBs.mjs → carousel-fMBb0JSc.mjs} +1 -1
  70. package/dist/client/{cart-BKpG5jz6.mjs → cart-BtaCwT3S.mjs} +3 -3
  71. package/dist/client/{checkout-Dmmr6qoU.mjs → checkout-DkTwZSnh.mjs} +3 -3
  72. package/dist/client/client.mjs +2327 -542
  73. package/dist/client/{colorStyles-DuW4Fjqd.mjs → colorStyles-Wyl6JujD.mjs} +45 -4
  74. package/dist/client/{courseRegistration-CflZiqGk.mjs → courseRegistration-DnLmapJu.mjs} +7 -7
  75. package/dist/client/{eventCalendar-BvoLWcp-.mjs → eventCalendar-BvLOc9KY.mjs} +165 -5
  76. package/dist/client/{eventCombined-DsrO8t_t.mjs → eventCombined-kShgJPQr.mjs} +2 -2
  77. package/dist/client/{eventDetails-C3hxgcJm.mjs → eventDetails-C5NTM0Vo.mjs} +3 -3
  78. package/dist/client/{eventListing-C-hb237X.mjs → eventListing-B82ZdKP6.mjs} +2 -2
  79. package/dist/client/{eventRegistration-B0gyzDGi.mjs → eventRegistration-qJVFqBWo.mjs} +7 -7
  80. package/dist/client/{form-C_RUi6oJ.mjs → form-BvAcKiuu.mjs} +2 -2
  81. package/dist/client/{headerSection-IKQiD2U0.mjs → headerSection-NvAiEHAg.mjs} +3 -3
  82. package/dist/client/hooks.mjs +1034 -356
  83. package/dist/client/{locationMap-8ZBrMzRJ.mjs → locationMap-D0j52xfI.mjs} +3 -3
  84. package/dist/client/{media-CZJKL7fi.mjs → media-BCW_g2cQ.mjs} +1 -1
  85. package/dist/client/{newsletterForm-CYk3ucwj.mjs → newsletterForm-B8_i93qH.mjs} +2 -2
  86. package/dist/client/{pricing-B5GmvfIH.mjs → pricing-DIYnyHOk.mjs} +1 -1
  87. package/dist/client/{productDetail-BjS2Dqzo.mjs → productDetail-w0eAHkuQ.mjs} +3 -3
  88. package/dist/client/{productList-BOHvC8My.mjs → productList-Vsguq5Xt.mjs} +3 -3
  89. package/dist/client/{propsDecoder-WS6UEJwZ.mjs → propsDecoder-CD2pJ1WB.mjs} +37 -2
  90. package/dist/client/rendering/client.mjs +1722 -760
  91. package/dist/client/rendering/islands.mjs +19 -19
  92. package/dist/client/rendering.mjs +2303 -518
  93. package/dist/client/{shop-CON03-wN.mjs → shop-Dgxs-Q8F.mjs} +6 -6
  94. package/dist/client/{shop-commerce-DlqrFgH8.mjs → shop-commerce-DJAhsTaT.mjs} +6 -6
  95. package/dist/client/{shop-commerce-store-l74-Kne6.mjs → shop-commerce-store-CfCXltXW.mjs} +1 -1
  96. package/dist/client/{shopShared-CQheEXSg.mjs → shopShared-CmDcPXUt.mjs} +2 -2
  97. package/dist/client/{useDiscountCodeUi-v6OluyWl.mjs → useDiscountCodeUi-CirrT2bM.mjs} +1 -1
  98. package/dist/client/{useEventFilters-BqSTcNOf.mjs → useEventFilters-CNZxlCcO.mjs} +5 -5
  99. package/dist/client/{usePolling-DMfADjIF.mjs → usePolling-Baks_iBI.mjs} +2 -2
  100. package/dist/preview-next/client/runtime.mjs +3 -3
  101. package/dist/{sdk-runtime-BUmJ0DaT.mjs → sdk-runtime-BfNiFeNJ.mjs} +1 -1
  102. package/dist/{separator-Dd-JYok7.mjs → separator-BhAR_Xmf.mjs} +1 -1
  103. package/dist/server/components.mjs +2293 -531
  104. package/dist/server/config-validation.mjs +1040 -357
  105. package/dist/server/config.mjs +1040 -357
  106. package/dist/server/data.mjs +1034 -356
  107. package/dist/server/index.mjs +1 -1
  108. package/dist/server/next.mjs +2296 -534
  109. package/dist/server/page-converter.mjs +1018 -324
  110. package/dist/server/prebuild.mjs +1 -1
  111. package/dist/server/rendering/server.mjs +2278 -521
  112. package/dist/server/rendering.mjs +2293 -531
  113. package/dist/server/routing.mjs +1092 -338
  114. package/dist/server/server.mjs +1016 -338
  115. package/dist/server/theme-bridge.mjs +1240 -77
  116. package/dist/server/theme.mjs +165 -5
  117. package/dist/styles/index.css +617 -34
  118. package/package.json +1 -1
  119. package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +0 -2
  120. package/dist/_dts/theme-core/src/status/contextualColors.d.ts +0 -6
@@ -3,7 +3,7 @@ import type { Theme } from "./schema";
3
3
  import { type ThemeResponsiveMode } from "./responsiveMode";
4
4
  type Props = {
5
5
  theme: Theme;
6
- children: React.ReactNode;
6
+ children?: React.ReactNode;
7
7
  themeId?: string;
8
8
  responsiveMode?: ThemeResponsiveMode;
9
9
  /** Additional className to apply to the theme-scope wrapper */
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Affordance icon path data for CSS-emitted button affordances.
3
+ *
4
+ * A button variant may declare a trailing `affordance` icon (see
5
+ * `ButtonVariantAffordance`). The generated button CSS renders that icon as a
6
+ * masked `::after` pseudo-element, so the personality supplies it to every
7
+ * button of the variant without per-node authoring.
8
+ *
9
+ * Icons live in the `@riverbankcms/blocks` registry, but the button CSS is
10
+ * generated here in theme-core, so this module carries a small, curated copy of
11
+ * the *affordance-eligible* icon path data (arrows/chevrons — the action-oriented
12
+ * subset). The `d` values below are duplicated verbatim from the matching entries
13
+ * in `blocks/src/system/icons/svg.tsx`; ids match the registry ids exactly so a
14
+ * node-level `trailingIcon` and a personality `affordance` share one id space.
15
+ *
16
+ * Keep this set intentionally tiny. It is not the full CTA icon set — only the
17
+ * shapes that read as a trailing affordance.
18
+ */
19
+ /** Registry icon id → the SVG path `d` fragments composing that icon. */
20
+ export declare const AFFORDANCE_ICON_PATHS: Readonly<Record<string, readonly string[]>>;
21
+ export type AffordanceIconId = keyof typeof AFFORDANCE_ICON_PATHS;
22
+ export declare function isAffordanceIconId(value: string): value is AffordanceIconId;
23
+ /**
24
+ * Build a `data:image/svg+xml,...` URL for an affordance icon, suitable for use
25
+ * as a CSS `mask-image`. The stroke is painted solid black so the mask's alpha
26
+ * traces the icon outline; the visible colour is supplied separately by the
27
+ * `::after` rule's `background-color`. Returns `null` for unknown ids.
28
+ */
29
+ export declare function affordanceIconMaskUrl(iconId: string): string | null;
@@ -1,5 +1,11 @@
1
1
  import type { Theme } from '../schema';
2
2
  import type { ButtonSystem } from './types';
3
+ /**
4
+ * Class the `button` runtime node adds when it renders its own trailing icon,
5
+ * so a node-level icon suppresses the personality's CSS `::after` affordance
6
+ * (node overrides personality). Shared so generator and renderer can't drift.
7
+ */
8
+ export declare const AFFORDANCE_SUPPRESS_CLASS = "rb-affordance-off";
3
9
  export interface GenerateButtonCssOptions {
4
10
  themeId: string;
5
11
  theme: Theme;
@@ -6,6 +6,7 @@
6
6
  export * from './types';
7
7
  export * from './classNames';
8
8
  export * from './generateButtonCss';
9
+ export * from './affordanceIcons';
9
10
  export * from './generateDefaultButtonSystem';
10
11
  export * from './constants';
11
12
  export * from './presets';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Flat Ink — a solid ink primary, a hairline ghost secondary, and a single
3
+ * amber accent climax, all completely flat (no drop shadow) with a modest
4
+ * radius. Reads as grounded, editorial and clinician-precise: the Fulcrum
5
+ * physiotherapy voice. The primary shifts to the secondary (moss) on hover and
6
+ * every variant lifts 2px; the amber accent is meant to be used sparingly as
7
+ * the page's one conversion climax.
8
+ */
9
+ export declare const flatInk: Readonly<{
10
+ id: import("./types").ButtonPersonalityId<"flat-ink">;
11
+ name: string;
12
+ description: string;
13
+ tags: Readonly<Partial<Readonly<{
14
+ tone: import("../../../../blocks/src/index").StyleTone;
15
+ energy: import("../../../../blocks/src/index").StyleEnergy;
16
+ motion: import("../../../../blocks/src/index").StyleMotion;
17
+ era: import("../../../../blocks/src/index").StyleEra;
18
+ }>>>;
19
+ buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
20
+ }>;
@@ -75,6 +75,17 @@ export declare const buttonPersonalities: readonly [Readonly<{
75
75
  era: import("../../../../blocks/src/index").StyleEra;
76
76
  }>>>;
77
77
  buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
78
+ }>, Readonly<{
79
+ id: ButtonPersonalityId<"flat-ink">;
80
+ name: string;
81
+ description: string;
82
+ tags: Readonly<Partial<Readonly<{
83
+ tone: import("../../../../blocks/src/index").StyleTone;
84
+ energy: import("../../../../blocks/src/index").StyleEnergy;
85
+ motion: import("../../../../blocks/src/index").StyleMotion;
86
+ era: import("../../../../blocks/src/index").StyleEra;
87
+ }>>>;
88
+ buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
78
89
  }>, Readonly<{
79
90
  id: ButtonPersonalityId<"brushed-wash">;
80
91
  name: string;
@@ -200,6 +200,10 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
200
200
  fontSize: z.ZodOptional<z.ZodString>;
201
201
  }, z.core.$strip>>;
202
202
  }, z.core.$strip>>;
203
+ affordance: z.ZodOptional<z.ZodObject<{
204
+ iconId: z.ZodString;
205
+ colorToken: z.ZodOptional<z.ZodString>;
206
+ }, z.core.$strip>>;
203
207
  }, z.core.$strip>>;
204
208
  sizes: z.ZodOptional<z.ZodPipe<z.ZodObject<{
205
209
  sm: z.ZodObject<{
@@ -95,6 +95,26 @@ export interface ButtonBorder {
95
95
  widthClass: string;
96
96
  colorToken: string;
97
97
  }
98
+ /**
99
+ * Optional trailing affordance icon carried by a button variant.
100
+ *
101
+ * When set, the generated button CSS emits a themed trailing icon (a masked
102
+ * SVG in `colorToken`, or `currentColor` when the token is omitted) after the
103
+ * label — so a personality can supply an affordance (e.g. a CTA arrow) to every
104
+ * button of that variant without per-node authoring. Entirely optional: variants
105
+ * that omit `affordance` are byte-identical to before.
106
+ *
107
+ * `iconId` references the shared icon registry (the same id space a `button`
108
+ * node's `trailingIcon` prop uses, e.g. `'ArrowRight'`). Only a small curated set
109
+ * of affordance-eligible ids is emittable as CSS (see `AFFORDANCE_ICON_PATHS`);
110
+ * unknown ids emit no icon.
111
+ */
112
+ export interface ButtonVariantAffordance {
113
+ /** Registry icon id, e.g. `'ArrowRight'`. */
114
+ iconId: string;
115
+ /** Optional palette token for the icon colour. Omit to inherit the button text colour. */
116
+ colorToken?: string;
117
+ }
98
118
  export declare const cornerStyleSchema: z.ZodEnum<{
99
119
  square: "square";
100
120
  rounded: "rounded";
@@ -329,6 +349,10 @@ export declare const buttonBorderSchema: z.ZodObject<{
329
349
  widthClass: z.ZodString;
330
350
  colorToken: z.ZodString;
331
351
  }, z.core.$strip>;
352
+ export declare const buttonVariantAffordanceSchema: z.ZodObject<{
353
+ iconId: z.ZodString;
354
+ colorToken: z.ZodOptional<z.ZodString>;
355
+ }, z.core.$strip>;
332
356
  /**
333
357
  * Per-variant size overrides schema — every entry is optional.
334
358
  *
@@ -445,6 +469,10 @@ export declare const buttonVariantSchema: z.ZodObject<{
445
469
  fontSize: z.ZodOptional<z.ZodString>;
446
470
  }, z.core.$strip>>;
447
471
  }, z.core.$strip>>;
472
+ affordance: z.ZodOptional<z.ZodObject<{
473
+ iconId: z.ZodString;
474
+ colorToken: z.ZodOptional<z.ZodString>;
475
+ }, z.core.$strip>>;
448
476
  }, z.core.$strip>;
449
477
  export declare const buttonSystemSchema: z.ZodObject<{
450
478
  global: z.ZodObject<{
@@ -595,6 +623,10 @@ export declare const buttonSystemSchema: z.ZodObject<{
595
623
  fontSize: z.ZodOptional<z.ZodString>;
596
624
  }, z.core.$strip>>;
597
625
  }, z.core.$strip>>;
626
+ affordance: z.ZodOptional<z.ZodObject<{
627
+ iconId: z.ZodString;
628
+ colorToken: z.ZodOptional<z.ZodString>;
629
+ }, z.core.$strip>>;
598
630
  }, z.core.$strip>>;
599
631
  sizes: z.ZodOptional<z.ZodPipe<z.ZodObject<{
600
632
  sm: z.ZodObject<{
@@ -711,6 +743,8 @@ export interface ButtonVariant {
711
743
  effects?: VariantEffects;
712
744
  /** Per-variant size overrides. See VariantSizeOverrides. */
713
745
  sizes?: VariantSizeOverrides;
746
+ /** Optional trailing affordance icon (e.g. a CTA arrow). See ButtonVariantAffordance. */
747
+ affordance?: ButtonVariantAffordance;
714
748
  }
715
749
  export interface ButtonSystem {
716
750
  global: ButtonGlobalSettings;