@frontlit/page-builder 0.1.0-alpha.1 → 0.1.0-alpha.2
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/README.md +6 -2
- package/dist/blocks/index.d.ts +7 -5
- package/dist/blocks/index.js +4 -3
- package/dist/builder/index.d.ts +5 -7
- package/dist/builder/index.js +6 -5
- package/dist/{button-C3VrMJkr.d.ts → button-Bzt1GDO-.d.ts} +2 -2
- package/dist/{chunk-GTY75HW2.js → chunk-ATNM5JHI.js} +2 -2
- package/dist/chunk-ATNM5JHI.js.map +1 -0
- package/dist/{chunk-7W6Q4WA7.js → chunk-H4P5MFJI.js} +89 -73
- package/dist/chunk-H4P5MFJI.js.map +1 -0
- package/dist/{chunk-SSQWYMQR.js → chunk-HDINUNI2.js} +11 -39
- package/dist/chunk-HDINUNI2.js.map +1 -0
- package/dist/{chunk-MO76KZY2.js → chunk-KQKSLI3L.js} +339 -314
- package/dist/chunk-KQKSLI3L.js.map +1 -0
- package/dist/{chunk-RBJBODQP.js → chunk-SGNRWWG3.js} +1931 -919
- package/dist/chunk-SGNRWWG3.js.map +1 -0
- package/dist/{chunk-7KIX4WAO.js → chunk-UO7XGBGM.js} +439 -535
- package/dist/chunk-UO7XGBGM.js.map +1 -0
- package/dist/chunk-XU7ALPGQ.js +22 -0
- package/dist/chunk-XU7ALPGQ.js.map +1 -0
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.js +3 -2
- package/dist/data-slots.d.ts +3 -3
- package/dist/data-slots.js +1 -1
- package/dist/{image-D7GlnOio.d.ts → image-DAWVx1zQ.d.ts} +3 -2
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -6
- package/dist/media-CnLImjVC.d.ts +21 -0
- package/dist/models/index.d.ts +5 -5
- package/dist/models/index.js +1 -0
- package/dist/{page-DfVl_aHX.d.ts → page-W3hQga4w.d.ts} +2 -3
- package/dist/primitives/index.d.ts +251 -60
- package/dist/primitives/index.js +2 -1
- package/dist/renderer/index.d.ts +3 -3
- package/dist/renderer/index.js +5 -4
- package/dist/{section-background-BgOCp5l3.d.ts → section-background-MsdE40Rk.d.ts} +1 -1
- package/dist/styles.css +3896 -8303
- package/dist/{theme-style-39nxXQy0.d.ts → theme-style-Cbl7NM-T.d.ts} +23 -1
- package/dist/theme.css +174 -191
- package/dist/{widget--uEOpdq3.d.ts → widget-B_RoG6se.d.ts} +10 -6
- package/package.json +21 -10
- package/dist/chunk-7KIX4WAO.js.map +0 -1
- package/dist/chunk-7W6Q4WA7.js.map +0 -1
- package/dist/chunk-GTY75HW2.js.map +0 -1
- package/dist/chunk-MO76KZY2.js.map +0 -1
- package/dist/chunk-RBJBODQP.js.map +0 -1
- package/dist/chunk-SSQWYMQR.js.map +0 -1
- package/dist/fonts/montserrat/montserrat-latin-100-normal.woff2 +0 -0
- package/dist/fonts/montserrat/montserrat-latin-200-normal.woff2 +0 -0
- package/dist/fonts/montserrat/montserrat-latin-300-normal.woff2 +0 -0
- package/dist/fonts/montserrat/montserrat-latin-400-normal.woff2 +0 -0
- package/dist/fonts/montserrat/montserrat-latin-500-normal.woff2 +0 -0
- package/dist/fonts/montserrat/montserrat-latin-600-normal.woff2 +0 -0
- package/dist/fonts/montserrat/montserrat-latin-700-normal.woff2 +0 -0
- package/dist/fonts/montserrat/montserrat-latin-800-normal.woff2 +0 -0
- package/dist/fonts/montserrat/montserrat-latin-900-normal.woff2 +0 -0
- package/dist/fonts/source-sans-3/source-sans-3-latin-400-normal.woff2 +0 -0
- package/dist/media-Njv378j7.d.ts +0 -13
|
@@ -35,6 +35,24 @@ interface DisabledStyle {
|
|
|
35
35
|
opacity?: "opacity-50" | "opacity-75" | "opacity-100";
|
|
36
36
|
cursor?: Cursor;
|
|
37
37
|
}
|
|
38
|
+
interface MenuItemStyle {
|
|
39
|
+
padding?: Padding;
|
|
40
|
+
border?: Border;
|
|
41
|
+
custom?: CustomStyle;
|
|
42
|
+
}
|
|
43
|
+
interface MenuStyle {
|
|
44
|
+
padding?: Padding;
|
|
45
|
+
border?: Border;
|
|
46
|
+
shadow?: Shadow;
|
|
47
|
+
custom?: CustomStyle;
|
|
48
|
+
item?: MenuItemStyle;
|
|
49
|
+
}
|
|
50
|
+
interface SurfaceStyle {
|
|
51
|
+
padding?: Padding;
|
|
52
|
+
border?: Border;
|
|
53
|
+
shadow?: Shadow;
|
|
54
|
+
custom?: CustomStyle;
|
|
55
|
+
}
|
|
38
56
|
interface Colors {
|
|
39
57
|
background: string;
|
|
40
58
|
foreground: string;
|
|
@@ -103,6 +121,10 @@ interface ThemeStyle {
|
|
|
103
121
|
custom?: CustomStyle;
|
|
104
122
|
disabled?: DisabledStyle;
|
|
105
123
|
};
|
|
124
|
+
menu?: MenuStyle;
|
|
125
|
+
dialog?: SurfaceStyle;
|
|
126
|
+
popover?: SurfaceStyle;
|
|
127
|
+
tooltip?: SurfaceStyle;
|
|
106
128
|
link: {
|
|
107
129
|
padding?: Padding;
|
|
108
130
|
border?: Border;
|
|
@@ -138,4 +160,4 @@ interface ThemeStyle {
|
|
|
138
160
|
};
|
|
139
161
|
}
|
|
140
162
|
|
|
141
|
-
export type { Border as B, Colors as C, DisabledStyle as D, Padding as P, Shadow as S, ThemeStyle as T, CustomStyle as a,
|
|
163
|
+
export type { Border as B, Colors as C, DisabledStyle as D, MenuItemStyle as M, Padding as P, Shadow as S, ThemeStyle as T, CustomStyle as a, MenuStyle as b, SurfaceStyle as c, Typography as d };
|
package/dist/theme.css
CHANGED
|
@@ -14,208 +14,191 @@
|
|
|
14
14
|
* generate-theme-styles.ts). Scoped so it doesn't leak into a consuming
|
|
15
15
|
* app's own chrome outside the page-builder-rendered subtree. */
|
|
16
16
|
.pb-theme {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
17
|
+
--background: hsl(0 0% 100%);
|
|
18
|
+
--foreground: hsl(222.2 84% 4.9%);
|
|
19
|
+
--card: hsl(0 0% 100%);
|
|
20
|
+
--card-foreground: hsl(222.2 84% 4.9%);
|
|
21
|
+
--popover: hsl(0 0% 100%);
|
|
22
|
+
--popover-foreground: hsl(222.2 84% 4.9%);
|
|
23
|
+
--primary: hsl(222.2 47.4% 11.2%);
|
|
24
|
+
--primary-foreground: hsl(210 40% 98%);
|
|
25
|
+
--secondary: hsl(210 40% 96.1%);
|
|
26
|
+
--secondary-foreground: hsl(222.2 47.4% 11.2%);
|
|
27
|
+
--muted: hsl(210 40% 96.1%);
|
|
28
|
+
--muted-foreground: hsl(215.4 16.3% 46.9%);
|
|
29
|
+
--accent: hsl(210 40% 96.1%);
|
|
30
|
+
--accent-foreground: hsl(222.2 47.4% 11.2%);
|
|
31
|
+
--destructive: hsl(0 84.2% 60.2%);
|
|
32
|
+
--destructive-foreground: hsl(210 40% 98%);
|
|
33
|
+
--border: hsl(214.3 31.8% 91.4%);
|
|
34
|
+
--input: hsl(214.3 31.8% 91.4%);
|
|
35
|
+
--ring: hsl(222.2 84% 4.9%);
|
|
36
|
+
--chart-1: hsl(12 76% 61%);
|
|
37
|
+
--chart-2: hsl(173 58% 39%);
|
|
38
|
+
--chart-3: hsl(197 37% 24%);
|
|
39
|
+
--chart-4: hsl(43 74% 66%);
|
|
40
|
+
--chart-5: hsl(27 87% 67%);
|
|
41
|
+
--radius: 0.5rem;
|
|
42
|
+
--sidebar-background: hsl(0 0% 98%);
|
|
43
|
+
--sidebar-foreground: hsl(240 5.3% 26.1%);
|
|
44
|
+
--sidebar-primary: hsl(240 5.9% 10%);
|
|
45
|
+
--sidebar-primary-foreground: hsl(0 0% 98%);
|
|
46
|
+
--sidebar-accent: hsl(240 4.8% 95.9%);
|
|
47
|
+
--sidebar-accent-foreground: hsl(240 5.9% 10%);
|
|
48
|
+
--sidebar-border: hsl(220 13% 91%);
|
|
49
|
+
--sidebar-ring: hsl(217.2 91.2% 59.8%);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
.pb-theme:is(.dark, .dark *) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
53
|
+
--background: hsl(222.2 84% 4.9%);
|
|
54
|
+
--foreground: hsl(210 40% 98%);
|
|
55
|
+
--card: hsl(222.2 84% 4.9%);
|
|
56
|
+
--card-foreground: hsl(210 40% 98%);
|
|
57
|
+
--popover: hsl(222.2 84% 4.9%);
|
|
58
|
+
--popover-foreground: hsl(210 40% 98%);
|
|
59
|
+
--primary: hsl(210 40% 98%);
|
|
60
|
+
--primary-foreground: hsl(222.2 47.4% 11.2%);
|
|
61
|
+
--secondary: hsl(217.2 32.6% 17.5%);
|
|
62
|
+
--secondary-foreground: hsl(210 40% 98%);
|
|
63
|
+
--muted: hsl(217.2 32.6% 17.5%);
|
|
64
|
+
--muted-foreground: hsl(215 20.2% 65.1%);
|
|
65
|
+
--accent: hsl(217.2 32.6% 17.5%);
|
|
66
|
+
--accent-foreground: hsl(210 40% 98%);
|
|
67
|
+
--destructive: hsl(0 62.8% 30.6%);
|
|
68
|
+
--destructive-foreground: hsl(210 40% 98%);
|
|
69
|
+
--border: hsl(217.2 32.6% 17.5%);
|
|
70
|
+
--input: hsl(217.2 32.6% 17.5%);
|
|
71
|
+
--ring: hsl(212.7 26.8% 83.9%);
|
|
72
|
+
--chart-1: hsl(220 70% 50%);
|
|
73
|
+
--chart-2: hsl(160 60% 45%);
|
|
74
|
+
--chart-3: hsl(30 80% 55%);
|
|
75
|
+
--chart-4: hsl(280 65% 60%);
|
|
76
|
+
--chart-5: hsl(340 75% 55%);
|
|
77
|
+
--sidebar-background: hsl(240 5.9% 10%);
|
|
78
|
+
--sidebar-foreground: hsl(240 4.8% 95.9%);
|
|
79
|
+
--sidebar-primary: hsl(224.3 76.3% 48%);
|
|
80
|
+
--sidebar-primary-foreground: hsl(0 0% 100%);
|
|
81
|
+
--sidebar-accent: hsl(240 3.7% 15.9%);
|
|
82
|
+
--sidebar-accent-foreground: hsl(240 4.8% 95.9%);
|
|
83
|
+
--sidebar-border: hsl(240 3.7% 15.9%);
|
|
84
|
+
--sidebar-ring: hsl(217.2 91.2% 59.8%);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
/* Semantic token mapping. Runtime theme variables contain complete CSS
|
|
88
88
|
* colors, which works consistently in both the public app and the dashboard. */
|
|
89
89
|
@theme inline {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
90
|
+
--color-background: var(--background);
|
|
91
|
+
--color-foreground: var(--foreground);
|
|
92
|
+
--color-card: var(--card);
|
|
93
|
+
--color-card-foreground: var(--card-foreground);
|
|
94
|
+
--color-popover: var(--popover);
|
|
95
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
96
|
+
--color-primary: var(--primary);
|
|
97
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
98
|
+
--color-secondary: var(--secondary);
|
|
99
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
100
|
+
--color-muted: var(--muted);
|
|
101
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
102
|
+
--color-accent: var(--accent);
|
|
103
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
104
|
+
--color-destructive: var(--destructive);
|
|
105
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
106
|
+
--color-border: var(--border);
|
|
107
|
+
--color-input: var(--input);
|
|
108
|
+
--color-ring: var(--ring);
|
|
109
|
+
--color-chart-1: var(--chart-1);
|
|
110
|
+
--color-chart-2: var(--chart-2);
|
|
111
|
+
--color-chart-3: var(--chart-3);
|
|
112
|
+
--color-chart-4: var(--chart-4);
|
|
113
|
+
--color-chart-5: var(--chart-5);
|
|
114
|
+
--color-sidebar: var(--sidebar-background);
|
|
115
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
116
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
117
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
118
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
119
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
120
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
121
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
122
122
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
--radius-lg: var(--radius);
|
|
124
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
125
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
126
126
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
127
|
+
--shadow: var(--shadow);
|
|
128
|
+
--shadow-2xs: var(--shadow-2xs);
|
|
129
|
+
--shadow-xs: var(--shadow-xs);
|
|
130
|
+
--shadow-sm: var(--shadow-sm);
|
|
131
|
+
--shadow-md: var(--shadow-md);
|
|
132
|
+
--shadow-lg: var(--shadow-lg);
|
|
133
|
+
--shadow-xl: var(--shadow-xl);
|
|
134
|
+
--shadow-2xl: var(--shadow-2xl);
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
--font-montserrat
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
--font-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
--font-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
--font-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
--font-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
--font-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
var(--font-work-sans, "Work Sans"), ui-sans-serif, system-ui, sans-serif,
|
|
203
|
-
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
|
204
|
-
"Noto Color Emoji";
|
|
205
|
-
--font-roboto-slab:
|
|
206
|
-
var(--font-roboto-slab, "Roboto Slab"), ui-serif, Georgia, Cambria,
|
|
207
|
-
"Times New Roman", Times, serif;
|
|
208
|
-
--font-source-serif-4:
|
|
209
|
-
var(--font-source-serif-4, "Source Serif 4"), ui-serif, Georgia, Cambria,
|
|
210
|
-
"Times New Roman", Times, serif;
|
|
211
|
-
--font-bebas-neue:
|
|
212
|
-
var(--font-bebas-neue, "Bebas Neue"), ui-sans-serif, system-ui, sans-serif,
|
|
213
|
-
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
|
214
|
-
"Noto Color Emoji";
|
|
215
|
-
--font-quicksand:
|
|
216
|
-
var(--font-quicksand, Quicksand), ui-sans-serif, system-ui, sans-serif,
|
|
217
|
-
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
|
218
|
-
"Noto Color Emoji";
|
|
136
|
+
--font-open-sans:
|
|
137
|
+
var(--font-open-sans, "Open Sans"), ui-sans-serif, system-ui, sans-serif,
|
|
138
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
139
|
+
--font-montserrat:
|
|
140
|
+
var(--font-montserrat, Montserrat), ui-sans-serif, system-ui, sans-serif,
|
|
141
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
142
|
+
--font-lato:
|
|
143
|
+
var(--font-lato, Lato), ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
|
|
144
|
+
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
145
|
+
--font-poppins:
|
|
146
|
+
var(--font-poppins, Poppins), ui-sans-serif, system-ui, sans-serif,
|
|
147
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
148
|
+
--font-source-sans-3:
|
|
149
|
+
var(--font-source-sans-3, "Source Sans 3"), ui-sans-serif, system-ui, sans-serif,
|
|
150
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
151
|
+
--font-raleway:
|
|
152
|
+
var(--font-raleway, Raleway), ui-sans-serif, system-ui, sans-serif,
|
|
153
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
154
|
+
--font-noto-sans:
|
|
155
|
+
var(--font-noto-sans, "Noto Sans"), ui-sans-serif, system-ui, sans-serif,
|
|
156
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
157
|
+
--font-merriweather:
|
|
158
|
+
var(--font-merriweather, Merriweather), ui-serif, Georgia, Cambria,
|
|
159
|
+
"Times New Roman", Times, serif;
|
|
160
|
+
--font-inter:
|
|
161
|
+
var(--font-inter, Inter), ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
|
|
162
|
+
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
163
|
+
--font-alegreya:
|
|
164
|
+
var(--font-alegreya, Alegreya), ui-serif, Georgia, Cambria, "Times New Roman",
|
|
165
|
+
Times, serif;
|
|
166
|
+
--font-roboto:
|
|
167
|
+
var(--font-roboto, Roboto), ui-sans-serif, system-ui, sans-serif,
|
|
168
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
169
|
+
--font-mulish:
|
|
170
|
+
var(--font-mulish, Mulish), ui-sans-serif, system-ui, sans-serif,
|
|
171
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
172
|
+
--font-nunito:
|
|
173
|
+
var(--font-nunito, Nunito), ui-sans-serif, system-ui, sans-serif,
|
|
174
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
175
|
+
--font-rubik:
|
|
176
|
+
var(--font-rubik, Rubik), ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
|
|
177
|
+
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
178
|
+
--font-playfair-display:
|
|
179
|
+
var(--font-playfair-display, "Playfair Display"), ui-serif, Georgia, Cambria,
|
|
180
|
+
"Times New Roman", Times, serif;
|
|
181
|
+
--font-oswald:
|
|
182
|
+
var(--font-oswald, Oswald), ui-sans-serif, system-ui, sans-serif,
|
|
183
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
184
|
+
--font-pt-sans:
|
|
185
|
+
var(--font-pt-sans, "PT Sans"), ui-sans-serif, system-ui, sans-serif,
|
|
186
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
187
|
+
--font-work-sans:
|
|
188
|
+
var(--font-work-sans, "Work Sans"), ui-sans-serif, system-ui, sans-serif,
|
|
189
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
190
|
+
--font-roboto-slab:
|
|
191
|
+
var(--font-roboto-slab, "Roboto Slab"), ui-serif, Georgia, Cambria,
|
|
192
|
+
"Times New Roman", Times, serif;
|
|
193
|
+
--font-source-serif-4:
|
|
194
|
+
var(--font-source-serif-4, "Source Serif 4"), ui-serif, Georgia, Cambria,
|
|
195
|
+
"Times New Roman", Times, serif;
|
|
196
|
+
--font-bebas-neue:
|
|
197
|
+
var(--font-bebas-neue, "Bebas Neue"), ui-sans-serif, system-ui, sans-serif,
|
|
198
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
199
|
+
--font-quicksand:
|
|
200
|
+
var(--font-quicksand, Quicksand), ui-sans-serif, system-ui, sans-serif,
|
|
201
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
219
202
|
}
|
|
220
203
|
|
|
221
204
|
/* Safelist for classes the theme system composes at runtime.
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import { S as SectionBackground, T as Theme } from './section-background-
|
|
3
|
-
import { T as ThemeStyle } from './theme-style-
|
|
2
|
+
import { S as SectionBackground, T as Theme } from './section-background-MsdE40Rk.js';
|
|
3
|
+
import { T as ThemeStyle } from './theme-style-Cbl7NM-T.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* The kind of page a widget/block can be placed on. Kept intentionally
|
|
7
7
|
* generic (unlike CourseLit's LMS-specific page types) since FrontLit pages
|
|
8
8
|
* can be a marketing site, a blog post, a changelog entry, etc.
|
|
9
9
|
*/
|
|
10
|
-
type PageType = "site" | "blog" | "landing" | "post" | "custom";
|
|
11
10
|
interface WidgetMetadata {
|
|
12
11
|
name: string;
|
|
13
12
|
displayName: string;
|
|
14
13
|
description?: string;
|
|
15
|
-
compatibleWith
|
|
14
|
+
compatibleWith?: string[];
|
|
16
15
|
icon?: string;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
@@ -51,7 +50,7 @@ interface WidgetDefaultSettings {
|
|
|
51
50
|
layout?: string;
|
|
52
51
|
}
|
|
53
52
|
interface PageData extends Record<string, unknown> {
|
|
54
|
-
pageType
|
|
53
|
+
pageType?: string;
|
|
55
54
|
/** Tenant branding supplied by the host application. Layout blocks use
|
|
56
55
|
* this on published sites, while the builder can continue to use its
|
|
57
56
|
* own local block settings. */
|
|
@@ -93,6 +92,11 @@ interface Widget<T extends WidgetDefaultSettings = WidgetDefaultSettings> {
|
|
|
93
92
|
metadata: WidgetMetadata;
|
|
94
93
|
widget: ComponentType<WidgetProps<T>>;
|
|
95
94
|
editor?: ComponentType<WidgetEditorProps<T>>;
|
|
95
|
+
/**
|
|
96
|
+
* Block-specific design controls rendered on the panel's Design tab
|
|
97
|
+
* alongside layouts and common section styling.
|
|
98
|
+
*/
|
|
99
|
+
designEditor?: ComponentType<WidgetEditorProps<T>>;
|
|
96
100
|
getDefaultSettings?: () => Partial<T>;
|
|
97
101
|
/**
|
|
98
102
|
* Alternate layouts this block can render its data in, selectable from
|
|
@@ -102,4 +106,4 @@ interface Widget<T extends WidgetDefaultSettings = WidgetDefaultSettings> {
|
|
|
102
106
|
layouts?: BlockLayout[];
|
|
103
107
|
}
|
|
104
108
|
|
|
105
|
-
export type { BlockLayout as B, PageData as P, Widget as W,
|
|
109
|
+
export type { BlockLayout as B, PageData as P, Widget as W, WidgetDefaultSettings as a, WidgetEditorProps as b, WidgetInstance as c, WidgetMetadata as d, WidgetProps as e };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontlit/page-builder",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.2",
|
|
4
4
|
"description": "Block-based WYSIWYG page builder and renderer for React",
|
|
5
5
|
"author": "FrontLit",
|
|
6
6
|
"license": "MIT",
|
|
@@ -105,22 +105,39 @@
|
|
|
105
105
|
"landing-page",
|
|
106
106
|
"frontlit"
|
|
107
107
|
],
|
|
108
|
+
"scripts": {
|
|
109
|
+
"build": "tsup && node scripts/add-use-client.mjs && tailwindcss -i src/styles.css -o dist/styles.css && cp src/theme.css dist/theme.css && rm -rf dist/fonts && cp -a fonts dist/fonts && node scripts/rewrite-font-urls.mjs",
|
|
110
|
+
"prepublishOnly": "pnpm run build",
|
|
111
|
+
"dev": "tsup --watch",
|
|
112
|
+
"clean": "rimraf dist",
|
|
113
|
+
"check-types": "tsc --noEmit"
|
|
114
|
+
},
|
|
108
115
|
"peerDependencies": {
|
|
109
116
|
"react": "^18.0.0 || ^19.0.0",
|
|
110
117
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
111
118
|
},
|
|
112
119
|
"dependencies": {
|
|
120
|
+
"@frontlit/media-uploader": "0.1.0-alpha.0",
|
|
121
|
+
"@frontlit/text-editor": "0.1.0-alpha.1",
|
|
122
|
+
"@radix-ui/react-alert-dialog": "^1.1.23",
|
|
123
|
+
"@radix-ui/react-avatar": "^1.2.6",
|
|
124
|
+
"@radix-ui/react-checkbox": "^1.3.11",
|
|
113
125
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
126
|
+
"@radix-ui/react-dropdown-menu": "^2.1.24",
|
|
114
127
|
"@radix-ui/react-label": "^2.1.8",
|
|
128
|
+
"@radix-ui/react-popover": "^1.1.23",
|
|
129
|
+
"@radix-ui/react-radio-group": "^1.4.7",
|
|
115
130
|
"@radix-ui/react-slot": "^1.2.4",
|
|
116
131
|
"@radix-ui/react-switch": "^1.2.6",
|
|
132
|
+
"@radix-ui/react-select": "^2.3.7",
|
|
133
|
+
"@radix-ui/react-separator": "^1.1.15",
|
|
134
|
+
"@radix-ui/react-tooltip": "^1.2.16",
|
|
117
135
|
"class-variance-authority": "^0.7.1",
|
|
118
136
|
"clsx": "^2.1.1",
|
|
119
137
|
"color-convert": "^3.1.0",
|
|
120
138
|
"lucide-react": "^0.553.0",
|
|
121
139
|
"tailwind-merge": "^3.4.0",
|
|
122
|
-
"tw-animate-css": "^1.4.0"
|
|
123
|
-
"@frontlit/text-editor": "0.1.0-alpha.1"
|
|
140
|
+
"tw-animate-css": "^1.4.0"
|
|
124
141
|
},
|
|
125
142
|
"devDependencies": {
|
|
126
143
|
"@types/color-convert": "^2.0.4",
|
|
@@ -132,11 +149,5 @@
|
|
|
132
149
|
"tailwindcss": "^4.1.0",
|
|
133
150
|
"tsup": "^8.3.0",
|
|
134
151
|
"typescript": "^5.6.2"
|
|
135
|
-
},
|
|
136
|
-
"scripts": {
|
|
137
|
-
"build": "tsup && node scripts/add-use-client.mjs && tailwindcss -i src/styles.css -o dist/styles.css && cp src/theme.css dist/theme.css && rm -rf dist/fonts && cp -a fonts dist/fonts && node scripts/rewrite-font-urls.mjs",
|
|
138
|
-
"dev": "tsup --watch",
|
|
139
|
-
"clean": "rimraf dist",
|
|
140
|
-
"check-types": "tsc --noEmit"
|
|
141
152
|
}
|
|
142
|
-
}
|
|
153
|
+
}
|