@frontlit/page-builder 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (98) hide show
  1. package/README.md +32 -0
  2. package/dist/blocks/index.d.ts +33 -21
  3. package/dist/blocks/index.js +3 -3
  4. package/dist/builder/index.d.ts +7 -8
  5. package/dist/builder/index.js +6 -5
  6. package/dist/{button-Bzt1GDO-.d.ts → button-OLKN3wPf.d.ts} +2 -2
  7. package/dist/{chunk-H4P5MFJI.js → chunk-36QHCIPM.js} +205 -251
  8. package/dist/chunk-36QHCIPM.js.map +1 -0
  9. package/dist/chunk-BBI7UHOA.js +56 -0
  10. package/dist/chunk-BBI7UHOA.js.map +1 -0
  11. package/dist/{chunk-KQKSLI3L.js → chunk-GIKTOAQS.js} +335 -122
  12. package/dist/chunk-GIKTOAQS.js.map +1 -0
  13. package/dist/chunk-HWOVSHIW.js +4 -0
  14. package/dist/{chunk-RUYOL7JZ.js.map → chunk-HWOVSHIW.js.map} +1 -1
  15. package/dist/{chunk-HDINUNI2.js → chunk-IU4KATI2.js} +69 -96
  16. package/dist/chunk-IU4KATI2.js.map +1 -0
  17. package/dist/{chunk-SGNRWWG3.js → chunk-J7Z4UW45.js} +530 -135
  18. package/dist/chunk-J7Z4UW45.js.map +1 -0
  19. package/dist/{chunk-UO7XGBGM.js → chunk-K4WCLHMS.js} +1182 -1033
  20. package/dist/chunk-K4WCLHMS.js.map +1 -0
  21. package/dist/components/index.d.ts +33 -8
  22. package/dist/components/index.js +42 -2
  23. package/dist/components/index.js.map +1 -1
  24. package/dist/data-slots.d.ts +3 -3
  25. package/dist/fonts/archivo/archivo-latin-variable.woff2 +0 -0
  26. package/dist/fonts/hanken-grotesk/hanken-grotesk-latin-variable.woff2 +0 -0
  27. package/dist/fonts/jetbrains-mono/jetbrains-mono-latin-variable.woff2 +0 -0
  28. package/dist/fonts/spline-sans-mono/spline-sans-mono-latin-variable.woff2 +0 -0
  29. package/dist/heading-DQCxQt38.d.ts +20 -0
  30. package/dist/image-Bk8kPXwP.d.ts +52 -0
  31. package/dist/index.d.ts +17 -10
  32. package/dist/index.js +7 -6
  33. package/dist/models/index.d.ts +5 -5
  34. package/dist/models/index.js +1 -1
  35. package/dist/{page-W3hQga4w.d.ts → page-B5Gmm-Ys.d.ts} +1 -1
  36. package/dist/primitives/index.d.ts +44 -9
  37. package/dist/primitives/index.js +1 -1
  38. package/dist/renderer/index.d.ts +12 -8
  39. package/dist/renderer/index.js +5 -4
  40. package/dist/{section-background-MsdE40Rk.d.ts → section-background-6V_LCi5e.d.ts} +1 -1
  41. package/dist/server/index.d.ts +103 -0
  42. package/dist/server/index.js +2649 -0
  43. package/dist/server/index.js.map +1 -0
  44. package/dist/server/islands/code-snippet.d.ts +17 -0
  45. package/dist/server/islands/code-snippet.js +72 -0
  46. package/dist/server/islands/code-snippet.js.map +1 -0
  47. package/dist/server/islands/email-form.d.ts +50 -0
  48. package/dist/server/islands/email-form.js +406 -0
  49. package/dist/server/islands/email-form.js.map +1 -0
  50. package/dist/server/islands/header-mobile-menu.d.ts +22 -0
  51. package/dist/server/islands/header-mobile-menu.js +422 -0
  52. package/dist/server/islands/header-mobile-menu.js.map +1 -0
  53. package/dist/server/islands/inline-embed.d.ts +28 -0
  54. package/dist/server/islands/inline-embed.js +84 -0
  55. package/dist/server/islands/inline-embed.js.map +1 -0
  56. package/dist/server/islands/marquee-track.d.ts +18 -0
  57. package/dist/server/islands/marquee-track.js +67 -0
  58. package/dist/server/islands/marquee-track.js.map +1 -0
  59. package/dist/server/islands/nav-link.d.ts +37 -0
  60. package/dist/server/islands/nav-link.js +67 -0
  61. package/dist/server/islands/nav-link.js.map +1 -0
  62. package/dist/server/islands/support-form.d.ts +17 -0
  63. package/dist/server/islands/support-form.js +469 -0
  64. package/dist/server/islands/support-form.js.map +1 -0
  65. package/dist/server/islands/theme-mode-switcher.d.ts +38 -0
  66. package/dist/server/islands/theme-mode-switcher.js +169 -0
  67. package/dist/server/islands/theme-mode-switcher.js.map +1 -0
  68. package/dist/server/islands/video-with-preview.d.ts +13 -0
  69. package/dist/server/islands/video-with-preview.js +269 -0
  70. package/dist/server/islands/video-with-preview.js.map +1 -0
  71. package/dist/server/primitives.d.ts +200 -0
  72. package/dist/server/primitives.js +888 -0
  73. package/dist/server/primitives.js.map +1 -0
  74. package/dist/server/schema.d.ts +11308 -0
  75. package/dist/server/schema.js +6179 -0
  76. package/dist/server/schema.js.map +1 -0
  77. package/dist/server/theme-CF3fIKvw.d.ts +9 -0
  78. package/dist/server/theme-style-5_AGy-4V.d.ts +183 -0
  79. package/dist/server/theme-style-BPaMwk88.d.ts +183 -0
  80. package/dist/server/theme.d.ts +28 -0
  81. package/dist/server/theme.js +1671 -0
  82. package/dist/server/theme.js.map +1 -0
  83. package/dist/server/widget-YH9BrOwY.d.ts +77 -0
  84. package/dist/styles.css +121 -15
  85. package/dist/{theme-style-Cbl7NM-T.d.ts → theme-style-BVd5tOsc.d.ts} +20 -0
  86. package/dist/theme.css +12 -0
  87. package/dist/{widget-B_RoG6se.d.ts → widget-CpE2HdgU.d.ts} +17 -14
  88. package/package.json +60 -12
  89. package/schema/page.v1.json +3855 -0
  90. package/schema/site.v1.json +3811 -0
  91. package/dist/alignment-dZDzN96G.d.ts +0 -5
  92. package/dist/chunk-H4P5MFJI.js.map +0 -1
  93. package/dist/chunk-HDINUNI2.js.map +0 -1
  94. package/dist/chunk-KQKSLI3L.js.map +0 -1
  95. package/dist/chunk-RUYOL7JZ.js +0 -4
  96. package/dist/chunk-SGNRWWG3.js.map +0 -1
  97. package/dist/chunk-UO7XGBGM.js.map +0 -1
  98. package/dist/image-DAWVx1zQ.d.ts +0 -31
@@ -0,0 +1,200 @@
1
+ import * as React from 'react';
2
+ import React__default from 'react';
3
+ import { T as ThemeStyle, a as Typography } from './theme-style-BPaMwk88.js';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+
7
+ type BlendMode = "normal" | "multiply" | "screen" | "overlay" | "darken" | "lighten" | "color-dodge" | "color-burn" | "hard-light" | "soft-light" | "difference" | "exclusion" | "hue" | "saturation" | "color" | "luminosity";
8
+ type BackgroundRepeat = "no-repeat" | "repeat" | "repeat-x" | "repeat-y" | "space" | "round";
9
+ /**
10
+ * CSS `background-attachment`.
11
+ * - `scroll` (default): background moves with the section / page
12
+ * - `fixed`: background is pinned to the viewport so content scrolls
13
+ * over a static surface (classic parallax / “hero still” look)
14
+ * - `local`: background scrolls with the element’s own overflow
15
+ */
16
+ type BackgroundAttachment = "scroll" | "fixed" | "local";
17
+ interface SectionBackgroundOverlay {
18
+ color: string;
19
+ colorDark?: string;
20
+ blendMode: BlendMode;
21
+ opacity: number;
22
+ }
23
+ type SectionBackground = {
24
+ type: "color" | "image" | "gradient";
25
+ backgroundColor?: string;
26
+ backgroundColorDark?: string;
27
+ backgroundImage?: string;
28
+ backgroundImageDark?: string;
29
+ backgroundSize?: string;
30
+ backgroundPosition?: string;
31
+ backgroundRepeat?: BackgroundRepeat;
32
+ /**
33
+ * When `"fixed"`, the image/pattern stays still relative to the
34
+ * viewport while the page scrolls. Most useful on image and pattern
35
+ * (gradient) backgrounds; ignored for solid color fills.
36
+ */
37
+ backgroundAttachment?: BackgroundAttachment;
38
+ maskImage?: string;
39
+ gradientBackgroundSize?: string;
40
+ gradientBackgroundPosition?: string;
41
+ gradientBackgroundRepeat?: BackgroundRepeat;
42
+ gradientMaskImage?: string;
43
+ blur?: number;
44
+ overlay?: SectionBackgroundOverlay;
45
+ media?: Record<string, unknown>;
46
+ };
47
+
48
+ declare const badgeVariants: (props?: {
49
+ variant?: "default" | "secondary" | "destructive" | "outline";
50
+ } & class_variance_authority_types.ClassProp) => string;
51
+ interface BadgeProps$1 extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
52
+ }
53
+
54
+ interface BadgeProps extends Omit<BadgeProps$1, "variant"> {
55
+ theme?: ThemeStyle;
56
+ style?: Record<string, string>;
57
+ variant?: "default" | "secondary" | "destructive" | "outline";
58
+ }
59
+ declare const Badge: React__default.FC<BadgeProps>;
60
+
61
+ declare const buttonVariants: (props?: {
62
+ variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost";
63
+ size?: "default" | "sm" | "lg" | "icon";
64
+ } & class_variance_authority_types.ClassProp) => string;
65
+ interface ButtonProps$1 extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
66
+ asChild?: boolean;
67
+ }
68
+
69
+ interface ButtonProps extends ButtonProps$1 {
70
+ theme?: ThemeStyle;
71
+ }
72
+ declare const Button: React__default.FC<ButtonProps>;
73
+
74
+ interface TypographyProps extends React__default.HTMLAttributes<HTMLElement> {
75
+ children: React__default.ReactNode;
76
+ className?: string;
77
+ theme?: ThemeStyle;
78
+ }
79
+
80
+ declare const Caption: React__default.FC<TypographyProps>;
81
+
82
+ interface PageCardProps extends React__default.HTMLAttributes<HTMLDivElement> {
83
+ isLink?: boolean;
84
+ children: React__default.ReactNode;
85
+ className?: string;
86
+ theme?: ThemeStyle;
87
+ }
88
+ interface PageCardImageProps extends React__default.ImgHTMLAttributes<HTMLImageElement> {
89
+ src: string;
90
+ alt: string;
91
+ className?: string;
92
+ theme?: ThemeStyle;
93
+ }
94
+ interface PageCardContentProps extends React__default.HTMLAttributes<HTMLDivElement> {
95
+ children: React__default.ReactNode;
96
+ className?: string;
97
+ theme?: ThemeStyle;
98
+ }
99
+ interface PageCardHeaderProps extends React__default.HTMLAttributes<HTMLDivElement> {
100
+ children: React__default.ReactNode;
101
+ className?: string;
102
+ theme?: ThemeStyle;
103
+ }
104
+ declare const PageCard: React__default.FC<PageCardProps>;
105
+ declare const PageCardImage: React__default.FC<PageCardImageProps>;
106
+ declare const PageCardContent: React__default.FC<PageCardContentProps>;
107
+ declare const PageCardHeader: React__default.FC<PageCardHeaderProps>;
108
+
109
+ type HeadingTag = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "div";
110
+ interface HeadingProps extends TypographyProps {
111
+ /** Element to render. Lets a block pick its heading level independently of its look. */
112
+ as?: HeadingTag;
113
+ /**
114
+ * Font-size classes that override the theme size. Kept apart from
115
+ * `className` so they are merged before the theme's line-height, which
116
+ * tailwind-merge would otherwise drop.
117
+ */
118
+ sizeClassName?: string;
119
+ }
120
+ /** px size of each Tailwind text size class. */
121
+ declare const TAILWIND_TEXT_PX: Record<string, number>;
122
+ /** CSS `clamp()` growing from `min` px on a phone to `max` px on a desktop. */
123
+ declare function fluidFontSize({ min, max }: {
124
+ min: number;
125
+ max: number;
126
+ }): string;
127
+ declare function createHeading(displayName: string, defaultTag: HeadingTag, baseClasses: string, getTypography: (theme?: ThemeStyle) => Typography | undefined): React__default.FC<HeadingProps>;
128
+
129
+ /** Hero-sized headline, styled separately from section H1s. */
130
+ declare const Display: React.FC<HeadingProps>;
131
+
132
+ declare const Header1: React.FC<HeadingProps>;
133
+
134
+ declare const Header2: React.FC<HeadingProps>;
135
+
136
+ declare const Header3: React.FC<HeadingProps>;
137
+
138
+ declare const Header4: React.FC<HeadingProps>;
139
+
140
+ interface ImageProps extends React__default.ImgHTMLAttributes<HTMLImageElement> {
141
+ src: string;
142
+ alt?: string;
143
+ className?: string;
144
+ theme?: ThemeStyle;
145
+ }
146
+ declare const Image: React__default.FC<ImageProps>;
147
+
148
+ interface InputProps extends React__default.InputHTMLAttributes<HTMLInputElement> {
149
+ theme?: ThemeStyle;
150
+ error?: boolean;
151
+ }
152
+ declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
153
+
154
+ interface LabelProps extends React__default.LabelHTMLAttributes<HTMLLabelElement> {
155
+ theme?: ThemeStyle;
156
+ error?: boolean;
157
+ }
158
+ declare const Label: React__default.ForwardRefExoticComponent<LabelProps & React__default.RefAttributes<HTMLLabelElement>>;
159
+
160
+ interface LinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElement> {
161
+ children: React__default.ReactNode;
162
+ className?: string;
163
+ theme?: ThemeStyle;
164
+ disabled?: boolean;
165
+ style?: React__default.CSSProperties;
166
+ }
167
+ declare const Link: React__default.FC<LinkProps>;
168
+
169
+ declare const Preheader: React__default.FC<TypographyProps>;
170
+
171
+ interface SectionProps extends React__default.HTMLAttributes<HTMLElement> {
172
+ children: React__default.ReactNode;
173
+ className?: string;
174
+ theme?: ThemeStyle;
175
+ component?: "header" | "footer" | "section";
176
+ background?: SectionBackground;
177
+ }
178
+ declare const Section: React__default.FC<SectionProps>;
179
+
180
+ declare const Subheader1: React__default.FC<TypographyProps & {
181
+ component?: "h5" | "span";
182
+ }>;
183
+
184
+ declare const Subheader2: React__default.FC<TypographyProps>;
185
+
186
+ declare const Text1: React__default.FC<TypographyProps & {
187
+ component?: "p" | "span";
188
+ }>;
189
+
190
+ declare const Text2: React__default.FC<TypographyProps & {
191
+ component?: "p" | "span";
192
+ }>;
193
+
194
+ interface TextareaProps extends React__default.TextareaHTMLAttributes<HTMLTextAreaElement> {
195
+ theme?: ThemeStyle;
196
+ error?: boolean;
197
+ }
198
+ declare const Textarea: React__default.ForwardRefExoticComponent<TextareaProps & React__default.RefAttributes<HTMLTextAreaElement>>;
199
+
200
+ export { Badge, type BadgeProps, Button, type ButtonProps, Caption, Display, 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, Preheader, Section, Subheader1, Subheader2, TAILWIND_TEXT_PX, Text1, Text2, Textarea, type TextareaProps, createHeading, fluidFontSize };