@ohhwells/bridge 0.1.115 → 0.1.117-next.311

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -63,6 +63,42 @@ interface AiLayoutTree {
63
63
  align?: 'top' | 'center' | 'bottom' | 'stretch';
64
64
  }>;
65
65
  }
66
+ declare const BUTTON_FILL_TOKENS: readonly ["dark", "primary", "accent", "light"];
67
+ declare const BUTTON_STYLES: readonly ["solid", "outline", "ghost"];
68
+ declare const BUTTON_RADII: readonly ["square", "rounded", "pill"];
69
+ declare const BUTTON_SIZES: readonly ["s", "m", "l"];
70
+ interface ButtonStyle {
71
+ fill: (typeof BUTTON_FILL_TOKENS)[number];
72
+ textColor: (typeof BUTTON_FILL_TOKENS)[number];
73
+ style: (typeof BUTTON_STYLES)[number];
74
+ radius: (typeof BUTTON_RADII)[number];
75
+ size: (typeof BUTTON_SIZES)[number];
76
+ }
77
+ interface ButtonStyles {
78
+ primary: ButtonStyle;
79
+ secondary: ButtonStyle;
80
+ }
81
+ /** One uploaded weight file for a custom font family. */
82
+ interface AiCustomFontWeight {
83
+ weight: number;
84
+ /** Present when the file is a variable font with a `wght` axis — `weight` is the axis min,
85
+ * `weightEnd` the axis max, together spanning every weight the one file actually covers. */
86
+ weightEnd?: number;
87
+ url: string;
88
+ format: 'woff2' | 'woff' | 'truetype' | 'opentype';
89
+ }
90
+ /**
91
+ * A custom (non-Google) font family, grouped by its uploaded weight files so a bold heading
92
+ * actually resolves to a real bold file instead of the browser synthesizing fake bold from
93
+ * whichever single weight happens to be present.
94
+ */
95
+ interface AiCustomFont {
96
+ /** Collision-proof internal family name — what `fonts.heading`/`fonts.body` actually reference. */
97
+ family: string;
98
+ /** Human-readable name shown in the picker; hidden everywhere the internal `family` is used. */
99
+ label: string;
100
+ weights: AiCustomFontWeight[];
101
+ }
66
102
  /** The site brand kit the renderer styles from (editor Brand settings). */
67
103
  interface AiBrandKit {
68
104
  palette: {
@@ -75,6 +111,9 @@ interface AiBrandKit {
75
111
  heading: string;
76
112
  body: string;
77
113
  };
114
+ /** Absent on a kit saved before OHH-791 — renderer falls back to today's hardcoded button look. */
115
+ buttons?: ButtonStyles;
116
+ customFonts?: AiCustomFont[];
78
117
  }
79
118
  /**
80
119
  * Shape, padding and typography measured off a host-template CTA, so generated buttons read as the
@@ -447,6 +486,16 @@ declare function TooltipContent({ className, sideOffset, side, children, hideArr
447
486
  hideArrow?: boolean;
448
487
  }): react_jsx_runtime.JSX.Element;
449
488
 
489
+ interface EmptySectionProps {
490
+ title: string;
491
+ homeHref?: string;
492
+ /** data-ohw-key values for the editable text nodes — omit a key to leave that node non-editable. */
493
+ eyebrowKey?: string;
494
+ titleKey?: string;
495
+ subtitleKey?: string;
496
+ }
497
+ declare function EmptySection({ title, homeHref, eyebrowKey, titleKey, subtitleKey }: EmptySectionProps): react_jsx_runtime.JSX.Element;
498
+
450
499
  declare function isEditSessionActive(): boolean;
451
500
 
452
501
  type CarouselSlide = {
@@ -470,4 +519,4 @@ declare function useOhwCarousel(key: string, initial: CarouselSlide[]): {
470
519
  bind: Record<string, string>;
471
520
  };
472
521
 
473
- export { AI_DEFAULT_BRAND, AI_TREE_SCHEMA_VERSIONS, AI_TREE_TOKENS, type AiBlockNode, type AiBrandKit, type AiLayoutTree, AiTreeRenderer, type AiTreeRendererProps, type CarouselSlide, CustomToolbar, CustomToolbarButton, CustomToolbarDivider, DragHandle, DropIndicator, type DropIndicatorProps, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, ItemActionToolbar, type ItemActionToolbarProps, ItemInteractionLayer, type ItemInteractionLayerProps, type ItemInteractionState, LinkEditorPanel, type LinkModalMode, type LinkModalProps, type LinkPage, LinkPopover, type LinkSection, OhhwellsBridge, SchedulingWidget, type SectionScaffold, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buildTarget, dropIndicatorVariants, filterAvailablePages, getEditModeInitialState, isEditSessionActive, isRenderableTree, isValidUrl, parseTarget, toggleVariants, useOhwCarousel, validateUrlInput };
522
+ export { AI_DEFAULT_BRAND, AI_TREE_SCHEMA_VERSIONS, AI_TREE_TOKENS, type AiBlockNode, type AiBrandKit, type AiLayoutTree, AiTreeRenderer, type AiTreeRendererProps, type CarouselSlide, CustomToolbar, CustomToolbarButton, CustomToolbarDivider, DragHandle, DropIndicator, type DropIndicatorProps, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, EmptySection, type EmptySectionProps, ItemActionToolbar, type ItemActionToolbarProps, ItemInteractionLayer, type ItemInteractionLayerProps, type ItemInteractionState, LinkEditorPanel, type LinkModalMode, type LinkModalProps, type LinkPage, LinkPopover, type LinkSection, OhhwellsBridge, SchedulingWidget, type SectionScaffold, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buildTarget, dropIndicatorVariants, filterAvailablePages, getEditModeInitialState, isEditSessionActive, isRenderableTree, isValidUrl, parseTarget, toggleVariants, useOhwCarousel, validateUrlInput };
package/dist/index.d.ts CHANGED
@@ -63,6 +63,42 @@ interface AiLayoutTree {
63
63
  align?: 'top' | 'center' | 'bottom' | 'stretch';
64
64
  }>;
65
65
  }
66
+ declare const BUTTON_FILL_TOKENS: readonly ["dark", "primary", "accent", "light"];
67
+ declare const BUTTON_STYLES: readonly ["solid", "outline", "ghost"];
68
+ declare const BUTTON_RADII: readonly ["square", "rounded", "pill"];
69
+ declare const BUTTON_SIZES: readonly ["s", "m", "l"];
70
+ interface ButtonStyle {
71
+ fill: (typeof BUTTON_FILL_TOKENS)[number];
72
+ textColor: (typeof BUTTON_FILL_TOKENS)[number];
73
+ style: (typeof BUTTON_STYLES)[number];
74
+ radius: (typeof BUTTON_RADII)[number];
75
+ size: (typeof BUTTON_SIZES)[number];
76
+ }
77
+ interface ButtonStyles {
78
+ primary: ButtonStyle;
79
+ secondary: ButtonStyle;
80
+ }
81
+ /** One uploaded weight file for a custom font family. */
82
+ interface AiCustomFontWeight {
83
+ weight: number;
84
+ /** Present when the file is a variable font with a `wght` axis — `weight` is the axis min,
85
+ * `weightEnd` the axis max, together spanning every weight the one file actually covers. */
86
+ weightEnd?: number;
87
+ url: string;
88
+ format: 'woff2' | 'woff' | 'truetype' | 'opentype';
89
+ }
90
+ /**
91
+ * A custom (non-Google) font family, grouped by its uploaded weight files so a bold heading
92
+ * actually resolves to a real bold file instead of the browser synthesizing fake bold from
93
+ * whichever single weight happens to be present.
94
+ */
95
+ interface AiCustomFont {
96
+ /** Collision-proof internal family name — what `fonts.heading`/`fonts.body` actually reference. */
97
+ family: string;
98
+ /** Human-readable name shown in the picker; hidden everywhere the internal `family` is used. */
99
+ label: string;
100
+ weights: AiCustomFontWeight[];
101
+ }
66
102
  /** The site brand kit the renderer styles from (editor Brand settings). */
67
103
  interface AiBrandKit {
68
104
  palette: {
@@ -75,6 +111,9 @@ interface AiBrandKit {
75
111
  heading: string;
76
112
  body: string;
77
113
  };
114
+ /** Absent on a kit saved before OHH-791 — renderer falls back to today's hardcoded button look. */
115
+ buttons?: ButtonStyles;
116
+ customFonts?: AiCustomFont[];
78
117
  }
79
118
  /**
80
119
  * Shape, padding and typography measured off a host-template CTA, so generated buttons read as the
@@ -447,6 +486,16 @@ declare function TooltipContent({ className, sideOffset, side, children, hideArr
447
486
  hideArrow?: boolean;
448
487
  }): react_jsx_runtime.JSX.Element;
449
488
 
489
+ interface EmptySectionProps {
490
+ title: string;
491
+ homeHref?: string;
492
+ /** data-ohw-key values for the editable text nodes — omit a key to leave that node non-editable. */
493
+ eyebrowKey?: string;
494
+ titleKey?: string;
495
+ subtitleKey?: string;
496
+ }
497
+ declare function EmptySection({ title, homeHref, eyebrowKey, titleKey, subtitleKey }: EmptySectionProps): react_jsx_runtime.JSX.Element;
498
+
450
499
  declare function isEditSessionActive(): boolean;
451
500
 
452
501
  type CarouselSlide = {
@@ -470,4 +519,4 @@ declare function useOhwCarousel(key: string, initial: CarouselSlide[]): {
470
519
  bind: Record<string, string>;
471
520
  };
472
521
 
473
- export { AI_DEFAULT_BRAND, AI_TREE_SCHEMA_VERSIONS, AI_TREE_TOKENS, type AiBlockNode, type AiBrandKit, type AiLayoutTree, AiTreeRenderer, type AiTreeRendererProps, type CarouselSlide, CustomToolbar, CustomToolbarButton, CustomToolbarDivider, DragHandle, DropIndicator, type DropIndicatorProps, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, ItemActionToolbar, type ItemActionToolbarProps, ItemInteractionLayer, type ItemInteractionLayerProps, type ItemInteractionState, LinkEditorPanel, type LinkModalMode, type LinkModalProps, type LinkPage, LinkPopover, type LinkSection, OhhwellsBridge, SchedulingWidget, type SectionScaffold, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buildTarget, dropIndicatorVariants, filterAvailablePages, getEditModeInitialState, isEditSessionActive, isRenderableTree, isValidUrl, parseTarget, toggleVariants, useOhwCarousel, validateUrlInput };
522
+ export { AI_DEFAULT_BRAND, AI_TREE_SCHEMA_VERSIONS, AI_TREE_TOKENS, type AiBlockNode, type AiBrandKit, type AiLayoutTree, AiTreeRenderer, type AiTreeRendererProps, type CarouselSlide, CustomToolbar, CustomToolbarButton, CustomToolbarDivider, DragHandle, DropIndicator, type DropIndicatorProps, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, EmptySection, type EmptySectionProps, ItemActionToolbar, type ItemActionToolbarProps, ItemInteractionLayer, type ItemInteractionLayerProps, type ItemInteractionState, LinkEditorPanel, type LinkModalMode, type LinkModalProps, type LinkPage, LinkPopover, type LinkSection, OhhwellsBridge, SchedulingWidget, type SectionScaffold, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buildTarget, dropIndicatorVariants, filterAvailablePages, getEditModeInitialState, isEditSessionActive, isRenderableTree, isValidUrl, parseTarget, toggleVariants, useOhwCarousel, validateUrlInput };