@ohhwells/bridge 0.1.112 → 0.1.113-next.293

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,27 @@ interface AiLayoutTree {
63
63
  align?: 'top' | 'center' | 'bottom' | 'stretch';
64
64
  }>;
65
65
  }
66
+ /** One uploaded weight file for a custom font family. */
67
+ interface AiCustomFontWeight {
68
+ weight: number;
69
+ /** Present when the file is a variable font with a `wght` axis — `weight` is the axis min,
70
+ * `weightEnd` the axis max, together spanning every weight the one file actually covers. */
71
+ weightEnd?: number;
72
+ url: string;
73
+ format: 'woff2' | 'woff' | 'truetype' | 'opentype';
74
+ }
75
+ /**
76
+ * A custom (non-Google) font family, grouped by its uploaded weight files so a bold heading
77
+ * actually resolves to a real bold file instead of the browser synthesizing fake bold from
78
+ * whichever single weight happens to be present.
79
+ */
80
+ interface AiCustomFont {
81
+ /** Collision-proof internal family name — what `fonts.heading`/`fonts.body` actually reference. */
82
+ family: string;
83
+ /** Human-readable name shown in the picker; hidden everywhere the internal `family` is used. */
84
+ label: string;
85
+ weights: AiCustomFontWeight[];
86
+ }
66
87
  /** The site brand kit the renderer styles from (editor Brand settings). */
67
88
  interface AiBrandKit {
68
89
  palette: {
@@ -75,6 +96,26 @@ interface AiBrandKit {
75
96
  heading: string;
76
97
  body: string;
77
98
  };
99
+ customFonts?: AiCustomFont[];
100
+ }
101
+ /**
102
+ * Shape, padding and typography measured off a host-template CTA, so generated buttons read as the
103
+ * site's own button rather than a default. Colour stays brand-driven (band-aware); everything here
104
+ * follows the template button. Null when the page has no template button to measure.
105
+ */
106
+ interface TemplateButtonStyle {
107
+ radius: string;
108
+ padding: string;
109
+ fontFamily: string;
110
+ fontSize: string;
111
+ fontWeight: string;
112
+ letterSpacing: string;
113
+ textTransform: string;
114
+ /** Measured fill/label pair of the template's primary CTA — a template may fill its buttons
115
+ * with any token (hvac uses accent, not primary), so the pair travels together. Absent when
116
+ * the page's only buttons are unfilled (ghost/outline). */
117
+ background?: string;
118
+ color?: string;
78
119
  }
79
120
  /**
80
121
  * Shape, padding and typography measured off a host-template CTA, so generated buttons read as the
@@ -447,6 +488,16 @@ declare function TooltipContent({ className, sideOffset, side, children, hideArr
447
488
  hideArrow?: boolean;
448
489
  }): react_jsx_runtime.JSX.Element;
449
490
 
491
+ interface EmptySectionProps {
492
+ title: string;
493
+ homeHref?: string;
494
+ /** data-ohw-key values for the editable text nodes — omit a key to leave that node non-editable. */
495
+ eyebrowKey?: string;
496
+ titleKey?: string;
497
+ subtitleKey?: string;
498
+ }
499
+ declare function EmptySection({ title, homeHref, eyebrowKey, titleKey, subtitleKey }: EmptySectionProps): react_jsx_runtime.JSX.Element;
500
+
450
501
  declare function isEditSessionActive(): boolean;
451
502
 
452
503
  type CarouselSlide = {
@@ -470,4 +521,4 @@ declare function useOhwCarousel(key: string, initial: CarouselSlide[]): {
470
521
  bind: Record<string, string>;
471
522
  };
472
523
 
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 };
524
+ 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,27 @@ interface AiLayoutTree {
63
63
  align?: 'top' | 'center' | 'bottom' | 'stretch';
64
64
  }>;
65
65
  }
66
+ /** One uploaded weight file for a custom font family. */
67
+ interface AiCustomFontWeight {
68
+ weight: number;
69
+ /** Present when the file is a variable font with a `wght` axis — `weight` is the axis min,
70
+ * `weightEnd` the axis max, together spanning every weight the one file actually covers. */
71
+ weightEnd?: number;
72
+ url: string;
73
+ format: 'woff2' | 'woff' | 'truetype' | 'opentype';
74
+ }
75
+ /**
76
+ * A custom (non-Google) font family, grouped by its uploaded weight files so a bold heading
77
+ * actually resolves to a real bold file instead of the browser synthesizing fake bold from
78
+ * whichever single weight happens to be present.
79
+ */
80
+ interface AiCustomFont {
81
+ /** Collision-proof internal family name — what `fonts.heading`/`fonts.body` actually reference. */
82
+ family: string;
83
+ /** Human-readable name shown in the picker; hidden everywhere the internal `family` is used. */
84
+ label: string;
85
+ weights: AiCustomFontWeight[];
86
+ }
66
87
  /** The site brand kit the renderer styles from (editor Brand settings). */
67
88
  interface AiBrandKit {
68
89
  palette: {
@@ -75,6 +96,26 @@ interface AiBrandKit {
75
96
  heading: string;
76
97
  body: string;
77
98
  };
99
+ customFonts?: AiCustomFont[];
100
+ }
101
+ /**
102
+ * Shape, padding and typography measured off a host-template CTA, so generated buttons read as the
103
+ * site's own button rather than a default. Colour stays brand-driven (band-aware); everything here
104
+ * follows the template button. Null when the page has no template button to measure.
105
+ */
106
+ interface TemplateButtonStyle {
107
+ radius: string;
108
+ padding: string;
109
+ fontFamily: string;
110
+ fontSize: string;
111
+ fontWeight: string;
112
+ letterSpacing: string;
113
+ textTransform: string;
114
+ /** Measured fill/label pair of the template's primary CTA — a template may fill its buttons
115
+ * with any token (hvac uses accent, not primary), so the pair travels together. Absent when
116
+ * the page's only buttons are unfilled (ghost/outline). */
117
+ background?: string;
118
+ color?: string;
78
119
  }
79
120
  /**
80
121
  * Shape, padding and typography measured off a host-template CTA, so generated buttons read as the
@@ -447,6 +488,16 @@ declare function TooltipContent({ className, sideOffset, side, children, hideArr
447
488
  hideArrow?: boolean;
448
489
  }): react_jsx_runtime.JSX.Element;
449
490
 
491
+ interface EmptySectionProps {
492
+ title: string;
493
+ homeHref?: string;
494
+ /** data-ohw-key values for the editable text nodes — omit a key to leave that node non-editable. */
495
+ eyebrowKey?: string;
496
+ titleKey?: string;
497
+ subtitleKey?: string;
498
+ }
499
+ declare function EmptySection({ title, homeHref, eyebrowKey, titleKey, subtitleKey }: EmptySectionProps): react_jsx_runtime.JSX.Element;
500
+
450
501
  declare function isEditSessionActive(): boolean;
451
502
 
452
503
  type CarouselSlide = {
@@ -470,4 +521,4 @@ declare function useOhwCarousel(key: string, initial: CarouselSlide[]): {
470
521
  bind: Record<string, string>;
471
522
  };
472
523
 
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 };
524
+ 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 };