@frontlit/page-builder 0.1.0-alpha.1 → 0.1.0-alpha.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 (116) hide show
  1. package/README.md +38 -2
  2. package/dist/blocks/index.d.ts +35 -21
  3. package/dist/blocks/index.js +4 -3
  4. package/dist/builder/index.d.ts +8 -11
  5. package/dist/builder/index.js +7 -5
  6. package/dist/{button-C3VrMJkr.d.ts → button-OLKN3wPf.d.ts} +3 -3
  7. package/dist/{chunk-7W6Q4WA7.js → chunk-36QHCIPM.js} +252 -282
  8. package/dist/chunk-36QHCIPM.js.map +1 -0
  9. package/dist/{chunk-GTY75HW2.js → chunk-ATNM5JHI.js} +2 -2
  10. package/dist/chunk-ATNM5JHI.js.map +1 -0
  11. package/dist/chunk-BBI7UHOA.js +56 -0
  12. package/dist/chunk-BBI7UHOA.js.map +1 -0
  13. package/dist/{chunk-MO76KZY2.js → chunk-GIKTOAQS.js} +661 -423
  14. package/dist/chunk-GIKTOAQS.js.map +1 -0
  15. package/dist/chunk-HWOVSHIW.js +4 -0
  16. package/dist/{chunk-RUYOL7JZ.js.map → chunk-HWOVSHIW.js.map} +1 -1
  17. package/dist/{chunk-SSQWYMQR.js → chunk-IU4KATI2.js} +74 -129
  18. package/dist/chunk-IU4KATI2.js.map +1 -0
  19. package/dist/chunk-J7Z4UW45.js +3418 -0
  20. package/dist/chunk-J7Z4UW45.js.map +1 -0
  21. package/dist/{chunk-7KIX4WAO.js → chunk-K4WCLHMS.js} +1435 -1382
  22. package/dist/chunk-K4WCLHMS.js.map +1 -0
  23. package/dist/chunk-XU7ALPGQ.js +22 -0
  24. package/dist/chunk-XU7ALPGQ.js.map +1 -0
  25. package/dist/components/index.d.ts +33 -8
  26. package/dist/components/index.js +43 -2
  27. package/dist/components/index.js.map +1 -1
  28. package/dist/data-slots.d.ts +3 -3
  29. package/dist/data-slots.js +1 -1
  30. package/dist/fonts/archivo/archivo-latin-variable.woff2 +0 -0
  31. package/dist/fonts/hanken-grotesk/hanken-grotesk-latin-variable.woff2 +0 -0
  32. package/dist/fonts/jetbrains-mono/jetbrains-mono-latin-variable.woff2 +0 -0
  33. package/dist/fonts/spline-sans-mono/spline-sans-mono-latin-variable.woff2 +0 -0
  34. package/dist/heading-DQCxQt38.d.ts +20 -0
  35. package/dist/image-Bk8kPXwP.d.ts +52 -0
  36. package/dist/index.d.ts +18 -11
  37. package/dist/index.js +9 -7
  38. package/dist/media-CnLImjVC.d.ts +21 -0
  39. package/dist/models/index.d.ts +6 -6
  40. package/dist/models/index.js +2 -1
  41. package/dist/{page-DfVl_aHX.d.ts → page-B5Gmm-Ys.d.ts} +2 -3
  42. package/dist/primitives/index.d.ts +287 -61
  43. package/dist/primitives/index.js +2 -1
  44. package/dist/renderer/index.d.ts +12 -8
  45. package/dist/renderer/index.js +6 -4
  46. package/dist/{section-background-BgOCp5l3.d.ts → section-background-6V_LCi5e.d.ts} +1 -1
  47. package/dist/server/index.d.ts +103 -0
  48. package/dist/server/index.js +2649 -0
  49. package/dist/server/index.js.map +1 -0
  50. package/dist/server/islands/code-snippet.d.ts +17 -0
  51. package/dist/server/islands/code-snippet.js +72 -0
  52. package/dist/server/islands/code-snippet.js.map +1 -0
  53. package/dist/server/islands/email-form.d.ts +50 -0
  54. package/dist/server/islands/email-form.js +406 -0
  55. package/dist/server/islands/email-form.js.map +1 -0
  56. package/dist/server/islands/header-mobile-menu.d.ts +22 -0
  57. package/dist/server/islands/header-mobile-menu.js +422 -0
  58. package/dist/server/islands/header-mobile-menu.js.map +1 -0
  59. package/dist/server/islands/inline-embed.d.ts +28 -0
  60. package/dist/server/islands/inline-embed.js +84 -0
  61. package/dist/server/islands/inline-embed.js.map +1 -0
  62. package/dist/server/islands/marquee-track.d.ts +18 -0
  63. package/dist/server/islands/marquee-track.js +67 -0
  64. package/dist/server/islands/marquee-track.js.map +1 -0
  65. package/dist/server/islands/nav-link.d.ts +37 -0
  66. package/dist/server/islands/nav-link.js +67 -0
  67. package/dist/server/islands/nav-link.js.map +1 -0
  68. package/dist/server/islands/support-form.d.ts +17 -0
  69. package/dist/server/islands/support-form.js +469 -0
  70. package/dist/server/islands/support-form.js.map +1 -0
  71. package/dist/server/islands/theme-mode-switcher.d.ts +38 -0
  72. package/dist/server/islands/theme-mode-switcher.js +169 -0
  73. package/dist/server/islands/theme-mode-switcher.js.map +1 -0
  74. package/dist/server/islands/video-with-preview.d.ts +13 -0
  75. package/dist/server/islands/video-with-preview.js +269 -0
  76. package/dist/server/islands/video-with-preview.js.map +1 -0
  77. package/dist/server/primitives.d.ts +200 -0
  78. package/dist/server/primitives.js +888 -0
  79. package/dist/server/primitives.js.map +1 -0
  80. package/dist/server/schema.d.ts +11308 -0
  81. package/dist/server/schema.js +6179 -0
  82. package/dist/server/schema.js.map +1 -0
  83. package/dist/server/theme-CF3fIKvw.d.ts +9 -0
  84. package/dist/{theme-style-39nxXQy0.d.ts → server/theme-style-5_AGy-4V.d.ts} +43 -1
  85. package/dist/server/theme-style-BPaMwk88.d.ts +183 -0
  86. package/dist/server/theme.d.ts +28 -0
  87. package/dist/{chunk-RBJBODQP.js → server/theme.js} +903 -1243
  88. package/dist/server/theme.js.map +1 -0
  89. package/dist/server/widget-YH9BrOwY.d.ts +77 -0
  90. package/dist/styles.css +4016 -8317
  91. package/dist/theme-style-BVd5tOsc.d.ts +183 -0
  92. package/dist/theme.css +186 -191
  93. package/dist/{widget--uEOpdq3.d.ts → widget-CpE2HdgU.d.ts} +25 -18
  94. package/package.json +71 -11
  95. package/schema/page.v1.json +3855 -0
  96. package/schema/site.v1.json +3811 -0
  97. package/dist/alignment-dZDzN96G.d.ts +0 -5
  98. package/dist/chunk-7KIX4WAO.js.map +0 -1
  99. package/dist/chunk-7W6Q4WA7.js.map +0 -1
  100. package/dist/chunk-GTY75HW2.js.map +0 -1
  101. package/dist/chunk-MO76KZY2.js.map +0 -1
  102. package/dist/chunk-RBJBODQP.js.map +0 -1
  103. package/dist/chunk-RUYOL7JZ.js +0 -4
  104. package/dist/chunk-SSQWYMQR.js.map +0 -1
  105. package/dist/fonts/montserrat/montserrat-latin-100-normal.woff2 +0 -0
  106. package/dist/fonts/montserrat/montserrat-latin-200-normal.woff2 +0 -0
  107. package/dist/fonts/montserrat/montserrat-latin-300-normal.woff2 +0 -0
  108. package/dist/fonts/montserrat/montserrat-latin-400-normal.woff2 +0 -0
  109. package/dist/fonts/montserrat/montserrat-latin-500-normal.woff2 +0 -0
  110. package/dist/fonts/montserrat/montserrat-latin-600-normal.woff2 +0 -0
  111. package/dist/fonts/montserrat/montserrat-latin-700-normal.woff2 +0 -0
  112. package/dist/fonts/montserrat/montserrat-latin-800-normal.woff2 +0 -0
  113. package/dist/fonts/montserrat/montserrat-latin-900-normal.woff2 +0 -0
  114. package/dist/fonts/source-sans-3/source-sans-3-latin-400-normal.woff2 +0 -0
  115. package/dist/image-D7GlnOio.d.ts +0 -30
  116. package/dist/media-Njv378j7.d.ts +0 -13
@@ -1,62 +1,74 @@
1
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
1
2
  import * as React$1 from 'react';
2
3
  import React__default, { ReactNode } from 'react';
3
- import { T as ThemeStyle } from '../theme-style-39nxXQy0.js';
4
- export { a as Button, B as ButtonProps } from '../button-C3VrMJkr.js';
5
- import { S as SectionBackground, T as Theme } from '../section-background-BgOCp5l3.js';
4
+ import { T as ThemeStyle, d as Typography } from '../theme-style-BVd5tOsc.js';
5
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
6
6
  import * as class_variance_authority_types from 'class-variance-authority/types';
7
7
  import { VariantProps } from 'class-variance-authority';
8
+ export { a as Button, B as ButtonProps } from '../button-OLKN3wPf.js';
9
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
10
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
11
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
12
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
13
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
14
+ import { S as SectionBackground, T as Theme } from '../section-background-6V_LCi5e.js';
15
+ import * as SelectPrimitive from '@radix-ui/react-select';
16
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
8
17
  import * as SwitchPrimitives from '@radix-ui/react-switch';
18
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
9
19
 
10
- interface TypographyProps extends React__default.HTMLAttributes<HTMLElement> {
11
- children: React__default.ReactNode;
12
- className?: string;
20
+ interface AlertDialogProps extends React$1.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Root> {
13
21
  theme?: ThemeStyle;
14
22
  }
23
+ declare function AlertDialog({ theme, children, ...props }: AlertDialogProps): React$1.JSX.Element;
24
+ declare const AlertDialogTrigger: React$1.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
25
+ declare const AlertDialogCancel: React$1.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogCancelProps & React$1.RefAttributes<HTMLButtonElement>>;
26
+ declare const AlertDialogAction: React$1.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogActionProps & React$1.RefAttributes<HTMLButtonElement>>;
27
+ declare const AlertDialogPortal: React$1.FC<AlertDialogPrimitive.AlertDialogPortalProps>;
28
+ declare const AlertDialogOverlay: React$1.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
29
+ interface AlertDialogContentProps extends React$1.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> {
30
+ closeClassName?: string;
31
+ overlayClassName?: string;
32
+ showCloseButton?: boolean;
33
+ theme?: ThemeStyle;
34
+ }
35
+ declare const AlertDialogContent: React$1.ForwardRefExoticComponent<AlertDialogContentProps & React$1.RefAttributes<HTMLDivElement>>;
36
+ declare function AlertDialogHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
37
+ declare function AlertDialogFooter({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
38
+ interface AlertDialogTitleProps extends React$1.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title> {
39
+ theme?: ThemeStyle;
40
+ }
41
+ declare const AlertDialogTitle: React$1.ForwardRefExoticComponent<AlertDialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>>;
42
+ interface AlertDialogDescriptionProps extends React$1.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description> {
43
+ theme?: ThemeStyle;
44
+ }
45
+ declare const AlertDialogDescription: React$1.ForwardRefExoticComponent<AlertDialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>>;
15
46
 
16
- declare const Preheader: React__default.FC<TypographyProps>;
17
-
18
- declare const Header1: React__default.FC<TypographyProps>;
19
-
20
- declare const Header2: React__default.FC<TypographyProps>;
21
-
22
- declare const Header3: React__default.FC<TypographyProps>;
23
-
24
- declare const Header4: React__default.FC<TypographyProps>;
25
-
26
- declare const Subheader1: React__default.FC<TypographyProps & {
27
- component?: "h5" | "span";
28
- }>;
29
-
30
- declare const Subheader2: React__default.FC<TypographyProps>;
31
-
32
- declare const Text1: React__default.FC<TypographyProps & {
33
- component?: "p" | "span";
34
- }>;
35
-
36
- declare const Text2: React__default.FC<TypographyProps & {
37
- component?: "p" | "span";
38
- }>;
39
-
40
- interface LinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElement> {
41
- children: React__default.ReactNode;
42
- className?: string;
47
+ interface AvatarProps extends React$1.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> {
43
48
  theme?: ThemeStyle;
44
- disabled?: boolean;
45
- style?: React__default.CSSProperties;
46
49
  }
47
- declare const Link: React__default.FC<LinkProps>;
50
+ declare function Avatar({ className, theme, ...props }: AvatarProps): React$1.JSX.Element;
51
+ declare const AvatarImage: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React$1.RefAttributes<HTMLImageElement>, "ref"> & React$1.RefAttributes<HTMLImageElement>>;
52
+ declare const AvatarFallback: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarFallbackProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
48
53
 
49
- interface InputProps extends React__default.InputHTMLAttributes<HTMLInputElement> {
54
+ declare const badgeVariants: (props?: {
55
+ variant?: "default" | "secondary" | "destructive" | "outline";
56
+ } & class_variance_authority_types.ClassProp) => string;
57
+ interface BadgeProps$1 extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
58
+ }
59
+
60
+ interface BadgeProps extends Omit<BadgeProps$1, "variant"> {
50
61
  theme?: ThemeStyle;
51
- error?: boolean;
62
+ style?: Record<string, string>;
63
+ variant?: "default" | "secondary" | "destructive" | "outline";
52
64
  }
53
- declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
65
+ declare const Badge: React__default.FC<BadgeProps>;
54
66
 
55
- interface TextareaProps extends React__default.TextareaHTMLAttributes<HTMLTextAreaElement> {
67
+ interface TypographyProps extends React__default.HTMLAttributes<HTMLElement> {
68
+ children: React__default.ReactNode;
69
+ className?: string;
56
70
  theme?: ThemeStyle;
57
- error?: boolean;
58
71
  }
59
- declare const Textarea: React__default.ForwardRefExoticComponent<TextareaProps & React__default.RefAttributes<HTMLTextAreaElement>>;
60
72
 
61
73
  declare const Caption: React__default.FC<TypographyProps>;
62
74
 
@@ -87,34 +99,231 @@ declare const PageCardImage: React__default.FC<PageCardImageProps>;
87
99
  declare const PageCardContent: React__default.FC<PageCardContentProps>;
88
100
  declare const PageCardHeader: React__default.FC<PageCardHeaderProps>;
89
101
 
102
+ interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
103
+ theme?: ThemeStyle;
104
+ }
105
+ declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLButtonElement>>;
106
+
107
+ interface DialogProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Root> {
108
+ theme?: ThemeStyle;
109
+ }
110
+ declare function Dialog({ theme, children, ...props }: DialogProps): React$1.JSX.Element;
111
+ declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
112
+ declare const DialogClose: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
113
+ declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
114
+ declare const DialogOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
115
+ interface DialogContentProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
116
+ closeClassName?: string;
117
+ overlayClassName?: string;
118
+ showCloseButton?: boolean;
119
+ theme?: ThemeStyle;
120
+ }
121
+ declare const DialogContent: React$1.ForwardRefExoticComponent<DialogContentProps & React$1.RefAttributes<HTMLDivElement>>;
122
+ declare function DialogHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
123
+ declare function DialogFooter({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
124
+ interface DialogTitleProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Title> {
125
+ theme?: ThemeStyle;
126
+ }
127
+ declare const DialogTitle: React$1.ForwardRefExoticComponent<DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>>;
128
+ interface DialogDescriptionProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Description> {
129
+ theme?: ThemeStyle;
130
+ }
131
+ declare const DialogDescription: React$1.ForwardRefExoticComponent<DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>>;
132
+
133
+ interface DrawerProps {
134
+ trigger: ReactNode;
135
+ children: ReactNode;
136
+ side?: "left" | "right" | "top" | "bottom";
137
+ open: boolean;
138
+ setOpen: (open: boolean) => void;
139
+ style?: React.CSSProperties;
140
+ className?: string;
141
+ theme?: ThemeStyle;
142
+ }
143
+ declare function Drawer({ trigger, children, side, open, setOpen, style, className, theme: _theme, }: DrawerProps): React$1.JSX.Element;
144
+
145
+ interface DropdownMenuProps extends React$1.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> {
146
+ theme?: ThemeStyle;
147
+ }
148
+ declare function DropdownMenu({ theme, children, ...props }: DropdownMenuProps): React$1.JSX.Element;
149
+ declare const DropdownMenuTrigger: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
150
+ declare const DropdownMenuGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React$1.RefAttributes<HTMLDivElement>>;
151
+ declare const DropdownMenuPortal: React$1.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
152
+ declare const DropdownMenuSub: React$1.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
153
+ declare const DropdownMenuRadioGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React$1.RefAttributes<HTMLDivElement>>;
154
+ interface DropdownMenuContentProps extends React$1.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> {
155
+ theme?: ThemeStyle;
156
+ }
157
+ declare const DropdownMenuContent: React$1.ForwardRefExoticComponent<DropdownMenuContentProps & React$1.RefAttributes<HTMLDivElement>>;
158
+ interface DropdownMenuItemProps extends React$1.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> {
159
+ inset?: boolean;
160
+ theme?: ThemeStyle;
161
+ }
162
+ declare const DropdownMenuItem: React$1.ForwardRefExoticComponent<DropdownMenuItemProps & React$1.RefAttributes<HTMLDivElement>>;
163
+ interface DropdownMenuCheckboxItemProps extends React$1.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem> {
164
+ theme?: ThemeStyle;
165
+ }
166
+ declare const DropdownMenuCheckboxItem: React$1.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React$1.RefAttributes<HTMLDivElement>>;
167
+ interface DropdownMenuRadioItemProps extends React$1.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem> {
168
+ theme?: ThemeStyle;
169
+ }
170
+ declare const DropdownMenuRadioItem: React$1.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React$1.RefAttributes<HTMLDivElement>>;
171
+ interface DropdownMenuLabelProps extends React$1.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> {
172
+ inset?: boolean;
173
+ theme?: ThemeStyle;
174
+ }
175
+ declare const DropdownMenuLabel: React$1.ForwardRefExoticComponent<DropdownMenuLabelProps & React$1.RefAttributes<HTMLDivElement>>;
176
+ declare const DropdownMenuSeparator: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
177
+ declare const DropdownMenuShortcut: ({ className, ...props }: React$1.HTMLAttributes<HTMLSpanElement>) => React$1.JSX.Element;
178
+ declare const DropdownMenuSubTrigger: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
179
+ inset?: boolean;
180
+ theme?: ThemeStyle;
181
+ } & React$1.RefAttributes<HTMLDivElement>>;
182
+ interface DropdownMenuSubContentProps extends React$1.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent> {
183
+ theme?: ThemeStyle;
184
+ }
185
+ declare const DropdownMenuSubContent: React$1.ForwardRefExoticComponent<DropdownMenuSubContentProps & React$1.RefAttributes<HTMLDivElement>>;
186
+ declare const DropdownMenuArrow: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuArrowProps & React$1.RefAttributes<SVGSVGElement>>;
187
+
188
+ interface CodeSnippetProps {
189
+ code: string;
190
+ /** Prefix shown before the first line, e.g. "$". Not copied. */
191
+ prompt?: string;
192
+ theme?: ThemeStyle;
193
+ className?: string;
194
+ }
195
+ /**
196
+ * A command or short code sample in a bordered monospace box with a copy
197
+ * button — the `curl … | sh` install box of developer-tool landing pages.
198
+ */
199
+ declare function CodeSnippet({ code, prompt, theme, className }: CodeSnippetProps): React__default.JSX.Element;
200
+
201
+ type HeadingTag = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "div";
202
+ interface HeadingProps extends TypographyProps {
203
+ /** Element to render. Lets a block pick its heading level independently of its look. */
204
+ as?: HeadingTag;
205
+ /**
206
+ * Font-size classes that override the theme size. Kept apart from
207
+ * `className` so they are merged before the theme's line-height, which
208
+ * tailwind-merge would otherwise drop.
209
+ */
210
+ sizeClassName?: string;
211
+ }
212
+ /** px size of each Tailwind text size class. */
213
+ declare const TAILWIND_TEXT_PX: Record<string, number>;
214
+ /** CSS `clamp()` growing from `min` px on a phone to `max` px on a desktop. */
215
+ declare function fluidFontSize({ min, max }: {
216
+ min: number;
217
+ max: number;
218
+ }): string;
219
+ declare function createHeading(displayName: string, defaultTag: HeadingTag, baseClasses: string, getTypography: (theme?: ThemeStyle) => Typography | undefined): React__default.FC<HeadingProps>;
220
+
221
+ /** Hero-sized headline, styled separately from section H1s. */
222
+ declare const Display: React$1.FC<HeadingProps>;
223
+
224
+ declare const Header1: React$1.FC<HeadingProps>;
225
+
226
+ declare const Header2: React$1.FC<HeadingProps>;
227
+
228
+ declare const Header3: React$1.FC<HeadingProps>;
229
+
230
+ declare const Header4: React$1.FC<HeadingProps>;
231
+
232
+ interface ImageProps extends React__default.ImgHTMLAttributes<HTMLImageElement> {
233
+ src: string;
234
+ alt?: string;
235
+ className?: string;
236
+ theme?: ThemeStyle;
237
+ }
238
+ declare const Image: React__default.FC<ImageProps>;
239
+
240
+ interface InputProps extends React__default.InputHTMLAttributes<HTMLInputElement> {
241
+ theme?: ThemeStyle;
242
+ error?: boolean;
243
+ }
244
+ declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
245
+
90
246
  interface LabelProps extends React__default.LabelHTMLAttributes<HTMLLabelElement> {
91
247
  theme?: ThemeStyle;
92
248
  error?: boolean;
93
249
  }
94
250
  declare const Label: React__default.ForwardRefExoticComponent<LabelProps & React__default.RefAttributes<HTMLLabelElement>>;
95
251
 
252
+ interface LinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElement> {
253
+ children: React__default.ReactNode;
254
+ className?: string;
255
+ theme?: ThemeStyle;
256
+ disabled?: boolean;
257
+ style?: React__default.CSSProperties;
258
+ }
259
+ declare const Link: React__default.FC<LinkProps>;
260
+
261
+ interface PopoverProps extends React$1.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> {
262
+ theme?: ThemeStyle;
263
+ }
264
+ declare function Popover({ theme, children, ...props }: PopoverProps): React$1.JSX.Element;
265
+ declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
266
+ declare const PopoverAnchor: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React$1.RefAttributes<HTMLDivElement>>;
267
+ declare const PopoverClose: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
268
+ declare const PopoverPortal: React$1.FC<PopoverPrimitive.PopoverPortalProps>;
269
+ interface PopoverContentProps extends React$1.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
270
+ theme?: ThemeStyle;
271
+ }
272
+ declare const PopoverContent: React$1.ForwardRefExoticComponent<PopoverContentProps & React$1.RefAttributes<HTMLDivElement>>;
273
+
274
+ declare const Preheader: React__default.FC<TypographyProps>;
275
+
276
+ interface RadioGroupProps extends React$1.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root> {
277
+ theme?: ThemeStyle;
278
+ }
279
+ declare function RadioGroup({ theme, className, ...props }: RadioGroupProps): React$1.JSX.Element;
280
+ interface RadioGroupItemProps extends React$1.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> {
281
+ theme?: ThemeStyle;
282
+ }
283
+ declare const RadioGroupItem: React$1.ForwardRefExoticComponent<RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>>;
284
+
96
285
  interface SectionProps extends React__default.HTMLAttributes<HTMLElement> {
97
286
  children: React__default.ReactNode;
98
287
  className?: string;
99
288
  theme?: ThemeStyle;
100
289
  component?: "header" | "footer" | "section";
101
290
  background?: SectionBackground;
102
- nextTheme?: "dark" | "light";
103
291
  }
104
292
  declare const Section: React__default.FC<SectionProps>;
105
293
 
106
- declare const badgeVariants: (props?: {
107
- variant?: "default" | "destructive" | "outline" | "secondary";
108
- } & class_variance_authority_types.ClassProp) => string;
109
- interface BadgeProps$1 extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
294
+ interface SelectProps extends React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Root> {
295
+ theme?: ThemeStyle;
296
+ }
297
+ declare function Select({ theme, children, ...props }: SelectProps): React$1.JSX.Element;
298
+ declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
299
+ declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
300
+ declare const SelectLabel: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>>;
301
+ interface SelectTriggerProps extends React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> {
302
+ theme?: ThemeStyle;
303
+ }
304
+ declare const SelectTrigger: React$1.ForwardRefExoticComponent<SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
305
+ interface SelectContentProps extends React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> {
306
+ theme?: ThemeStyle;
307
+ }
308
+ declare const SelectContent: React$1.ForwardRefExoticComponent<SelectContentProps & React$1.RefAttributes<HTMLDivElement>>;
309
+ declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
310
+ declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
311
+ interface SelectItemProps extends React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> {
312
+ theme?: ThemeStyle;
110
313
  }
314
+ declare const SelectItem: React$1.ForwardRefExoticComponent<SelectItemProps & React$1.RefAttributes<HTMLDivElement>>;
315
+ declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
111
316
 
112
- interface BadgeProps extends Omit<BadgeProps$1, "variant"> {
317
+ interface SeparatorProps extends React$1.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root> {
113
318
  theme?: ThemeStyle;
114
- style?: Record<string, string>;
115
- variant?: "default" | "secondary" | "destructive" | "outline";
116
319
  }
117
- declare const Badge: React__default.FC<BadgeProps>;
320
+ declare const Separator: React$1.ForwardRefExoticComponent<SeparatorProps & React$1.RefAttributes<HTMLDivElement>>;
321
+
322
+ declare const Subheader1: React__default.FC<TypographyProps & {
323
+ component?: "h5" | "span";
324
+ }>;
325
+
326
+ declare const Subheader2: React__default.FC<TypographyProps>;
118
327
 
119
328
  declare const Switch$1: React$1.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
120
329
 
@@ -123,18 +332,35 @@ interface SwitchProps extends React__default.ComponentPropsWithoutRef<typeof Swi
123
332
  }
124
333
  declare const Switch: React__default.ForwardRefExoticComponent<SwitchProps & React__default.RefAttributes<HTMLButtonElement>>;
125
334
 
335
+ declare const Text1: React__default.FC<TypographyProps & {
336
+ component?: "p" | "span";
337
+ }>;
338
+
339
+ declare const Text2: React__default.FC<TypographyProps & {
340
+ component?: "p" | "span";
341
+ }>;
342
+
343
+ interface TextareaProps extends React__default.TextareaHTMLAttributes<HTMLTextAreaElement> {
344
+ theme?: ThemeStyle;
345
+ error?: boolean;
346
+ }
347
+ declare const Textarea: React__default.ForwardRefExoticComponent<TextareaProps & React__default.RefAttributes<HTMLTextAreaElement>>;
348
+
126
349
  declare const themes: Theme[];
127
350
 
128
- interface DrawerProps {
129
- trigger: ReactNode;
130
- children: ReactNode;
131
- side?: "left" | "right" | "top" | "bottom";
132
- open: boolean;
133
- setOpen: (open: boolean) => void;
134
- style?: React.CSSProperties;
135
- className?: string;
351
+ interface TooltipProviderProps extends React$1.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider> {
136
352
  theme?: ThemeStyle;
137
353
  }
138
- declare function Drawer({ trigger, children, side, open, setOpen, style, className, theme: _theme, }: DrawerProps): React$1.JSX.Element;
354
+ declare function TooltipProvider({ theme, children, ...props }: TooltipProviderProps): React$1.JSX.Element;
355
+ interface TooltipProps extends React$1.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root> {
356
+ theme?: ThemeStyle;
357
+ }
358
+ declare function Tooltip({ theme, children, ...props }: TooltipProps): React$1.JSX.Element;
359
+ declare const TooltipTrigger: React$1.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
360
+ declare const TooltipPortal: React$1.FC<TooltipPrimitive.TooltipPortalProps>;
361
+ interface TooltipContentProps extends React$1.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> {
362
+ theme?: ThemeStyle;
363
+ }
364
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<TooltipContentProps & React$1.RefAttributes<HTMLDivElement>>;
139
365
 
140
- export { Badge, type BadgeProps, Caption, Drawer, Header1, Header2, Header3, Header4, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, PageCard, PageCardContent, type PageCardContentProps, PageCardHeader, type PageCardHeaderProps, PageCardImage, type PageCardImageProps, type PageCardProps, Preheader, Section, Subheader1, Subheader2, Switch, type SwitchProps, Text1, Text2, Textarea, type TextareaProps, themes };
366
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, type AlertDialogProps, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, Avatar, AvatarFallback, AvatarImage, type AvatarProps, Badge, type BadgeProps, Caption, Checkbox, type CheckboxProps, CodeSnippet, type CodeSnippetProps, Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, type DialogProps, DialogTitle, type DialogTitleProps, DialogTrigger, Display, Drawer, DropdownMenu, DropdownMenuArrow, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuProps, DropdownMenuRadioGroup, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubContentProps, DropdownMenuSubTrigger, DropdownMenuTrigger, Header1, Header2, Header3, Header4, type HeadingProps, type HeadingTag, Image, type ImageProps, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, PageCard, PageCardContent, type PageCardContentProps, PageCardHeader, type PageCardHeaderProps, PageCardImage, type PageCardImageProps, type PageCardProps, Popover, PopoverAnchor, PopoverClose, PopoverContent, type PopoverContentProps, PopoverPortal, type PopoverProps, PopoverTrigger, Preheader, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, Section, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, type SeparatorProps, Subheader1, Subheader2, Switch, type SwitchProps, TAILWIND_TEXT_PX, Text1, Text2, Textarea, type TextareaProps, Tooltip, TooltipContent, type TooltipContentProps, TooltipPortal, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, createHeading, fluidFontSize, themes };
@@ -1,4 +1,5 @@
1
1
  "use client";
2
- export { Badge, Button2 as Button, Caption, Drawer, Header1, Header2, Header3, Header4, Input, Label, Link, PageCard, PageCardContent, PageCardHeader, PageCardImage, Preheader, Section, Subheader1, Subheader2, Switch2 as Switch, Text1, Text2, Textarea, themes } from '../chunk-RBJBODQP.js';
2
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarFallback, AvatarImage, Badge, Button2 as Button, Caption, Checkbox, CodeSnippet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Display, Drawer, DropdownMenu, DropdownMenuArrow, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Header1, Header2, Header3, Header4, Image, Input, Label, Link, PageCard, PageCardContent, PageCardHeader, PageCardImage, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverPortal, PopoverTrigger, Preheader, RadioGroup, RadioGroupItem, Section, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Subheader1, Subheader2, Switch2 as Switch, TAILWIND_TEXT_PX, Text1, Text2, Textarea, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, createHeading, fluidFontSize, themes } from '../chunk-J7Z4UW45.js';
3
+ import '../chunk-XU7ALPGQ.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,22 +1,20 @@
1
1
  import React__default from 'react';
2
- import { T as Theme } from '../section-background-BgOCp5l3.js';
3
- import { d as WidgetInstance, P as PageData } from '../widget--uEOpdq3.js';
2
+ import { T as Theme } from '../section-background-6V_LCi5e.js';
3
+ import { c as WidgetInstance, P as PageData } from '../widget-CpE2HdgU.js';
4
4
  import { P as PageBuilderLinkComponent } from '../nav-link-BfxvQ1s6.js';
5
5
  export { a as PageBuilderLinkProps, b as PageBuilderLinkProvider } from '../nav-link-BfxvQ1s6.js';
6
- import '../theme-style-39nxXQy0.js';
6
+ import '../theme-style-BVd5tOsc.js';
7
7
 
8
8
  interface PageRendererProps {
9
9
  layout: WidgetInstance[];
10
10
  theme: Theme;
11
- pageData?: PageData;
11
+ pageData: PageData;
12
12
  /** Optional content rendered between the shared header and footer. */
13
13
  children?: React__default.ReactNode;
14
14
  /** Host-resolved data keyed by a generic data-slot's configured name. */
15
15
  dataSlots?: Record<string, React__default.ReactNode>;
16
16
  /** Resolved palette currently painted (`system` is already applied). */
17
17
  nextTheme?: "light" | "dark";
18
- /** Visitor or preview preference, including follow-the-OS. */
19
- themeMode?: "light" | "dark" | "system";
20
18
  onThemeModeChange?: (mode: "light" | "dark" | "system") => void;
21
19
  /** When true, renders hover controls (edit/move/delete/add) for use inside the builder canvas. */
22
20
  editing?: boolean;
@@ -43,7 +41,7 @@ interface PageRendererProps {
43
41
  * plain (non-editable) display and, with `editing`, as the live canvas
44
42
  * inside the page builder.
45
43
  */
46
- declare function PageRenderer({ layout, theme, pageData, children, dataSlots, nextTheme, themeMode, onThemeModeChange, editing, selectedWidgetId, highlightedWidgetId, onSelectWidget, onMoveWidgetUp, onMoveWidgetDown, onDeleteWidget, onAddWidgetBelow, injectThemeStyles, linkComponent, className, }: PageRendererProps): React__default.JSX.Element;
44
+ declare function PageRenderer({ layout, theme, pageData, children, dataSlots, nextTheme, onThemeModeChange, editing, selectedWidgetId, highlightedWidgetId, onSelectWidget, onMoveWidgetUp, onMoveWidgetDown, onDeleteWidget, onAddWidgetBelow, injectThemeStyles, linkComponent, className, }: PageRendererProps): React__default.JSX.Element;
47
45
 
48
46
  interface EditableBlockProps {
49
47
  children: React__default.ReactNode;
@@ -67,6 +65,12 @@ interface EditableBlockProps {
67
65
  */
68
66
  declare function EditableBlock({ children, editing, containerRef, selected, highlighted, label, onSelect, onMoveUp, onMoveDown, onDelete, onAddBelow, }: EditableBlockProps): React__default.JSX.Element;
69
67
 
68
+ /**
69
+ * Turns a theme colour into a CSS colour value, or "" when it isn't a
70
+ * colour we can use. Hex (the stored format) is converted to hsl();
71
+ * modern CSS colour functions such as `oklch(...)` are passed through.
72
+ */
73
+ declare function resolveThemeColor(value?: string): string;
70
74
  /**
71
75
  * Generates full CSS color values for the custom properties every primitive
72
76
  * reads. Full colors (rather than bare HSL channels) let the renderer coexist
@@ -78,4 +82,4 @@ declare function EditableBlock({ children, editing, containerRef, selected, high
78
82
  */
79
83
  declare function generateThemeStyles(theme: Theme, selector?: string): string;
80
84
 
81
- export { EditableBlock, type EditableBlockProps, PageBuilderLinkComponent, PageRenderer, type PageRendererProps, generateThemeStyles };
85
+ export { EditableBlock, type EditableBlockProps, PageBuilderLinkComponent, PageRenderer, type PageRendererProps, generateThemeStyles, resolveThemeColor };
@@ -1,7 +1,9 @@
1
1
  "use client";
2
- export { EditableBlock, PageRenderer, generateThemeStyles } from '../chunk-SSQWYMQR.js';
3
- import '../chunk-7KIX4WAO.js';
4
- export { PageBuilderLinkProvider } from '../chunk-7W6Q4WA7.js';
5
- import '../chunk-RBJBODQP.js';
2
+ export { EditableBlock, PageRenderer, generateThemeStyles, resolveThemeColor } from '../chunk-IU4KATI2.js';
3
+ import '../chunk-BBI7UHOA.js';
4
+ import '../chunk-K4WCLHMS.js';
5
+ export { PageBuilderLinkProvider } from '../chunk-36QHCIPM.js';
6
+ import '../chunk-J7Z4UW45.js';
7
+ import '../chunk-XU7ALPGQ.js';
6
8
  //# sourceMappingURL=index.js.map
7
9
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { T as ThemeStyle } from './theme-style-39nxXQy0.js';
1
+ import { T as ThemeStyle } from './theme-style-BVd5tOsc.js';
2
2
 
3
3
  interface Theme {
4
4
  id: string;
@@ -0,0 +1,103 @@
1
+ import * as React from 'react';
2
+ import React__default, { ReactNode } from 'react';
3
+ import { T as Theme } from './theme-CF3fIKvw.js';
4
+ import './theme-style-BPaMwk88.js';
5
+
6
+ /**
7
+ * A single block placed on a page, as persisted in a page's layout.
8
+ */
9
+ interface WidgetInstance {
10
+ widgetId: string;
11
+ name: string;
12
+ /** Whether the instance can be removed from its page. */
13
+ deletable: boolean;
14
+ /** Whether the instance can be repositioned within its page. */
15
+ moveable: boolean;
16
+ shared: boolean;
17
+ settings?: Record<string, unknown>;
18
+ }
19
+ interface PageData extends Record<string, unknown> {
20
+ pageType?: string;
21
+ /** Branding from site settings. Required so a host can't silently drop
22
+ * it; pass `null` for an unset one. Hosts build these with
23
+ * `toSiteBranding` from `@frontlit/api-contract`. */
24
+ siteTitle: string | null;
25
+ siteSubtitle: string | null;
26
+ siteLogoUrl: string | null;
27
+ siteLogoAlt: string | null;
28
+ /** The page's team (public id) and slug, plus the base URL of FrontLit's
29
+ * public API — threaded through so blocks that make unauthenticated
30
+ * public calls (e.g. the email-form block's lead capture, architecture.md
31
+ * §10.2) know where to send them. Left unset in contexts with no live
32
+ * backend (e.g. a bare component-library preview), in which case those
33
+ * blocks degrade to a local-only success state. */
34
+ teamId?: string;
35
+ pageSlug?: string;
36
+ publicApiBaseUrl?: string;
37
+ }
38
+
39
+ interface ServerPageRendererProps {
40
+ layout: WidgetInstance[];
41
+ theme: Theme;
42
+ pageData: PageData;
43
+ /** Content rendered between the shared header and footer. */
44
+ children?: ReactNode;
45
+ /** Host-resolved data keyed by a generic data-slot's configured name. */
46
+ dataSlots?: Record<string, ReactNode>;
47
+ /** Light/dark control for the footer; a client component owned by the host. */
48
+ themeSwitcher?: ReactNode;
49
+ /** Extra content inside the themed root (e.g. a fixed "Preview" badge),
50
+ * so it can use the theme's colours. */
51
+ overlay?: ReactNode;
52
+ className?: string;
53
+ }
54
+ /**
55
+ * Server-component counterpart of `PageRenderer`. Static blocks render on
56
+ * the server and ship no JavaScript; only the interactive parts (mobile menu,
57
+ * marquee, forms, copy buttons, links) are client islands.
58
+ *
59
+ * Everything crossing into an island must be serialisable, so unlike
60
+ * `PageRenderer` this takes no callbacks. Dark-mode styling is CSS-driven
61
+ * (the `dark` class on an ancestor), so no resolved colour mode is needed.
62
+ */
63
+ declare function ServerPageRenderer({ layout, theme, pageData, children, dataSlots, themeSwitcher, overlay, className, }: ServerPageRendererProps): React.JSX.Element;
64
+
65
+ interface ImageAttributesInput {
66
+ src: string;
67
+ alt: string;
68
+ sizes?: string;
69
+ /** Above-the-fold image (e.g. LCP): fetched eagerly at high priority. */
70
+ priority: boolean;
71
+ }
72
+ /**
73
+ * Lets a host swap an image's `src`/`srcSet` for its own optimizer's URLs
74
+ * (e.g. Next.js's `getImageProps`) without this package depending on the
75
+ * host framework. Return `null` to keep the original URL.
76
+ */
77
+ type ImageAttributesResolver = (input: ImageAttributesInput) => React__default.ImgHTMLAttributes<HTMLImageElement> | null;
78
+ /**
79
+ * Registers the host's resolver. Call once at server start-up; renders that
80
+ * run without one emit the original URL.
81
+ */
82
+ declare function setImageAttributesResolver(resolver: ImageAttributesResolver | null): void;
83
+
84
+ /** Context supplied to a host application's data-slot loader. */
85
+ interface DataSlotLoadRequest {
86
+ /** The slot identifier declared in `instance.settings.slot`. */
87
+ slot: string;
88
+ /** The full persisted block configuration. */
89
+ instance: WidgetInstance;
90
+ /** Page context supplied by the host renderer. */
91
+ pageData: PageData;
92
+ }
93
+ /** A host-owned resolver for one named data slot. */
94
+ type DataSlotLoader = (request: DataSlotLoadRequest) => ReactNode | Promise<ReactNode>;
95
+ type DataSlotLoaders = Readonly<Record<string, DataSlotLoader>>;
96
+ /**
97
+ * Resolves generic data-slot blocks before passing their output to
98
+ * `PageRenderer`. The page-builder package deliberately does not fetch data
99
+ * or understand a host application's domain model.
100
+ */
101
+ declare function loadDataSlots(layout: readonly WidgetInstance[], loaders: DataSlotLoaders, pageData: PageData): Promise<Record<string, ReactNode>>;
102
+
103
+ export { type DataSlotLoadRequest, type DataSlotLoader, type DataSlotLoaders, type ImageAttributesInput, type ImageAttributesResolver, ServerPageRenderer, type ServerPageRendererProps, loadDataSlots, setImageAttributesResolver };