@mission-studio/puck 1.0.19 → 1.0.21
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/{chunk-723Z3YKC.mjs → chunk-MWW5LYLN.mjs} +219 -301
- package/dist/chunk-WFLVAZV2.mjs +142 -0
- package/dist/config/server.js +213 -243
- package/dist/config/server.mjs +77 -25
- package/dist/config-entry.js +97 -53
- package/dist/config-entry.mjs +5 -3
- package/dist/index.js +95 -51
- package/dist/index.mjs +5 -3
- package/dist/renderer.d.mts +22 -10
- package/dist/renderer.d.ts +22 -10
- package/dist/renderer.js +95 -51
- package/dist/renderer.mjs +5 -3
- package/package.json +1 -1
|
@@ -12,160 +12,8 @@ import {
|
|
|
12
12
|
hexToRgba
|
|
13
13
|
} from "./chunk-C6V3YUPF.mjs";
|
|
14
14
|
|
|
15
|
-
// components/page/Heading.tsx
|
|
16
|
-
import { jsx } from "react/jsx-runtime";
|
|
17
|
-
var sizeMap = {
|
|
18
|
-
xs: "0.875rem",
|
|
19
|
-
sm: "1rem",
|
|
20
|
-
md: "1.25rem",
|
|
21
|
-
lg: "1.5rem",
|
|
22
|
-
xl: "2rem",
|
|
23
|
-
"2xl": "2.5rem",
|
|
24
|
-
"3xl": "3rem",
|
|
25
|
-
"4xl": "4rem"
|
|
26
|
-
};
|
|
27
|
-
var weightMap = {
|
|
28
|
-
normal: 400,
|
|
29
|
-
medium: 500,
|
|
30
|
-
semibold: 600,
|
|
31
|
-
bold: 700,
|
|
32
|
-
extrabold: 800
|
|
33
|
-
};
|
|
34
|
-
var letterSpacingMap = {
|
|
35
|
-
tight: "-0.025em",
|
|
36
|
-
normal: "0",
|
|
37
|
-
wide: "0.05em"
|
|
38
|
-
};
|
|
39
|
-
var lineHeightMap = {
|
|
40
|
-
tight: "1.1",
|
|
41
|
-
normal: "1.4",
|
|
42
|
-
relaxed: "1.6"
|
|
43
|
-
};
|
|
44
|
-
function isThemeableValue(value) {
|
|
45
|
-
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
46
|
-
}
|
|
47
|
-
function isEntryBoundValue(value) {
|
|
48
|
-
return typeof value === "object" && value !== null && "useEntry" in value;
|
|
49
|
-
}
|
|
50
|
-
function Heading({
|
|
51
|
-
text,
|
|
52
|
-
level = "h2",
|
|
53
|
-
size = "2xl",
|
|
54
|
-
weight = "bold",
|
|
55
|
-
color,
|
|
56
|
-
align = "left",
|
|
57
|
-
letterSpacing = "normal",
|
|
58
|
-
lineHeight = "tight",
|
|
59
|
-
id
|
|
60
|
-
}) {
|
|
61
|
-
const { resolveColor: resolveColor2 } = useTheme();
|
|
62
|
-
const { getEntryValue } = useEntries();
|
|
63
|
-
const resolvedText = (() => {
|
|
64
|
-
if (!text) return "";
|
|
65
|
-
if (typeof text === "string") return text;
|
|
66
|
-
if (isEntryBoundValue(text)) {
|
|
67
|
-
if (text.useEntry) {
|
|
68
|
-
return String(getEntryValue(text.entryName, text.fieldKey) ?? "");
|
|
69
|
-
}
|
|
70
|
-
return text.value;
|
|
71
|
-
}
|
|
72
|
-
return "";
|
|
73
|
-
})();
|
|
74
|
-
const resolvedColor = (() => {
|
|
75
|
-
if (!color) return resolveColor2("foreground");
|
|
76
|
-
if (typeof color === "string") return { color, opacity: 100 };
|
|
77
|
-
if (isThemeableValue(color)) {
|
|
78
|
-
return color.useTheme ? resolveColor2(color.themeKey) : color.value;
|
|
79
|
-
}
|
|
80
|
-
if ("color" in color) return color;
|
|
81
|
-
return resolveColor2("foreground");
|
|
82
|
-
})();
|
|
83
|
-
const Tag = level;
|
|
84
|
-
const style = {
|
|
85
|
-
fontSize: sizeMap[size],
|
|
86
|
-
fontWeight: weightMap[weight],
|
|
87
|
-
color: hexToRgba(resolvedColor.color, resolvedColor.opacity),
|
|
88
|
-
textAlign: align,
|
|
89
|
-
letterSpacing: letterSpacingMap[letterSpacing],
|
|
90
|
-
lineHeight: lineHeightMap[lineHeight],
|
|
91
|
-
margin: 0
|
|
92
|
-
};
|
|
93
|
-
if (!resolvedText) return null;
|
|
94
|
-
return /* @__PURE__ */ jsx(Tag, { id, style, children: resolvedText });
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// components/page/Paragraph.tsx
|
|
98
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
99
|
-
var sizeMap2 = {
|
|
100
|
-
sm: "0.875rem",
|
|
101
|
-
base: "1rem",
|
|
102
|
-
lg: "1.125rem",
|
|
103
|
-
xl: "1.25rem"
|
|
104
|
-
};
|
|
105
|
-
var weightMap2 = {
|
|
106
|
-
normal: 400,
|
|
107
|
-
medium: 500,
|
|
108
|
-
semibold: 600
|
|
109
|
-
};
|
|
110
|
-
var lineHeightMap2 = {
|
|
111
|
-
tight: "1.4",
|
|
112
|
-
normal: "1.6",
|
|
113
|
-
relaxed: "1.75",
|
|
114
|
-
loose: "2"
|
|
115
|
-
};
|
|
116
|
-
function isThemeableValue2(value) {
|
|
117
|
-
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
118
|
-
}
|
|
119
|
-
function isEntryBoundValue2(value) {
|
|
120
|
-
return typeof value === "object" && value !== null && "useEntry" in value;
|
|
121
|
-
}
|
|
122
|
-
function Paragraph({
|
|
123
|
-
text,
|
|
124
|
-
size = "base",
|
|
125
|
-
weight = "normal",
|
|
126
|
-
color,
|
|
127
|
-
align = "left",
|
|
128
|
-
lineHeight = "normal",
|
|
129
|
-
maxWidth,
|
|
130
|
-
id
|
|
131
|
-
}) {
|
|
132
|
-
const { resolveColor: resolveColor2 } = useTheme();
|
|
133
|
-
const { getEntryValue } = useEntries();
|
|
134
|
-
const resolvedText = (() => {
|
|
135
|
-
if (!text) return "";
|
|
136
|
-
if (typeof text === "string") return text;
|
|
137
|
-
if (isEntryBoundValue2(text)) {
|
|
138
|
-
if (text.useEntry) {
|
|
139
|
-
return String(getEntryValue(text.entryName, text.fieldKey) ?? "");
|
|
140
|
-
}
|
|
141
|
-
return text.value;
|
|
142
|
-
}
|
|
143
|
-
return "";
|
|
144
|
-
})();
|
|
145
|
-
const resolvedColor = (() => {
|
|
146
|
-
if (!color) return resolveColor2("foreground");
|
|
147
|
-
if (typeof color === "string") return { color, opacity: 100 };
|
|
148
|
-
if (isThemeableValue2(color)) {
|
|
149
|
-
return color.useTheme ? resolveColor2(color.themeKey) : color.value;
|
|
150
|
-
}
|
|
151
|
-
if ("color" in color) return color;
|
|
152
|
-
return resolveColor2("foreground");
|
|
153
|
-
})();
|
|
154
|
-
const style = {
|
|
155
|
-
fontSize: sizeMap2[size],
|
|
156
|
-
fontWeight: weightMap2[weight],
|
|
157
|
-
color: hexToRgba(resolvedColor.color, resolvedColor.opacity),
|
|
158
|
-
textAlign: align,
|
|
159
|
-
lineHeight: lineHeightMap2[lineHeight],
|
|
160
|
-
maxWidth: maxWidth || void 0,
|
|
161
|
-
margin: 0
|
|
162
|
-
};
|
|
163
|
-
if (!resolvedText) return null;
|
|
164
|
-
return /* @__PURE__ */ jsx2("p", { id, style, children: resolvedText });
|
|
165
|
-
}
|
|
166
|
-
|
|
167
15
|
// components/page/Button.tsx
|
|
168
|
-
import { jsx
|
|
16
|
+
import { jsx } from "react/jsx-runtime";
|
|
169
17
|
var sizeStyles = {
|
|
170
18
|
sm: { padding: "8px 16px", fontSize: "0.875rem" },
|
|
171
19
|
md: { padding: "12px 24px", fontSize: "1rem" },
|
|
@@ -179,10 +27,10 @@ var radiusMap = {
|
|
|
179
27
|
lg: "16px",
|
|
180
28
|
full: "9999px"
|
|
181
29
|
};
|
|
182
|
-
function
|
|
30
|
+
function isThemeableValue(value) {
|
|
183
31
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
184
32
|
}
|
|
185
|
-
function
|
|
33
|
+
function isEntryBoundValue(value) {
|
|
186
34
|
return typeof value === "object" && value !== null && "useEntry" in value;
|
|
187
35
|
}
|
|
188
36
|
function Button({
|
|
@@ -205,7 +53,7 @@ function Button({
|
|
|
205
53
|
const resolvedText = (() => {
|
|
206
54
|
if (!text) return "Button";
|
|
207
55
|
if (typeof text === "string") return text;
|
|
208
|
-
if (
|
|
56
|
+
if (isEntryBoundValue(text)) {
|
|
209
57
|
if (text.useEntry) {
|
|
210
58
|
return String(getEntryValue(text.entryName, text.fieldKey) ?? "Button");
|
|
211
59
|
}
|
|
@@ -226,7 +74,7 @@ function Button({
|
|
|
226
74
|
const resolvedColor = (() => {
|
|
227
75
|
if (!color) return resolveColor2("primary");
|
|
228
76
|
if (typeof color === "string") return { color, opacity: 100 };
|
|
229
|
-
if (
|
|
77
|
+
if (isThemeableValue(color)) {
|
|
230
78
|
return color.useTheme ? resolveColor2(color.themeKey) : color.value;
|
|
231
79
|
}
|
|
232
80
|
if ("color" in color) return color;
|
|
@@ -239,7 +87,7 @@ function Button({
|
|
|
239
87
|
}
|
|
240
88
|
if (typeof textColor === "string")
|
|
241
89
|
return { color: textColor, opacity: 100 };
|
|
242
|
-
if (
|
|
90
|
+
if (isThemeableValue(textColor)) {
|
|
243
91
|
return textColor.useTheme ? resolveColor2(textColor.themeKey) : textColor.value;
|
|
244
92
|
}
|
|
245
93
|
if ("color" in textColor) return textColor;
|
|
@@ -286,9 +134,9 @@ function Button({
|
|
|
286
134
|
display: "flex",
|
|
287
135
|
justifyContent: align === "left" ? "flex-start" : align === "right" ? "flex-end" : "center"
|
|
288
136
|
};
|
|
289
|
-
const content = /* @__PURE__ */
|
|
137
|
+
const content = /* @__PURE__ */ jsx("span", { style, children: resolvedText });
|
|
290
138
|
if (href) {
|
|
291
|
-
return /* @__PURE__ */
|
|
139
|
+
return /* @__PURE__ */ jsx("div", { style: wrapperStyle, children: /* @__PURE__ */ jsx(
|
|
292
140
|
"a",
|
|
293
141
|
{
|
|
294
142
|
id,
|
|
@@ -301,11 +149,11 @@ function Button({
|
|
|
301
149
|
}
|
|
302
150
|
) });
|
|
303
151
|
}
|
|
304
|
-
return /* @__PURE__ */
|
|
152
|
+
return /* @__PURE__ */ jsx("div", { style: wrapperStyle, children: /* @__PURE__ */ jsx("button", { id, type: "button", style, onClick: handleClick, children: resolvedText }) });
|
|
305
153
|
}
|
|
306
154
|
|
|
307
155
|
// components/page/Image.tsx
|
|
308
|
-
import { jsx as
|
|
156
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
309
157
|
var widthMap = {
|
|
310
158
|
auto: "auto",
|
|
311
159
|
full: "100%",
|
|
@@ -336,10 +184,10 @@ var shadowMap = {
|
|
|
336
184
|
lg: "0 10px 15px rgba(0,0,0,0.1)",
|
|
337
185
|
xl: "0 20px 25px rgba(0,0,0,0.15)"
|
|
338
186
|
};
|
|
339
|
-
function
|
|
187
|
+
function isThemeableValue2(value) {
|
|
340
188
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
341
189
|
}
|
|
342
|
-
function
|
|
190
|
+
function isEntryBoundValue2(value) {
|
|
343
191
|
return typeof value === "object" && value !== null && "useEntry" in value;
|
|
344
192
|
}
|
|
345
193
|
function Image({
|
|
@@ -360,7 +208,7 @@ function Image({
|
|
|
360
208
|
const resolvedSrc = (() => {
|
|
361
209
|
if (!src) return "";
|
|
362
210
|
if (typeof src === "string") return src;
|
|
363
|
-
if (
|
|
211
|
+
if (isEntryBoundValue2(src)) {
|
|
364
212
|
if (src.useEntry) {
|
|
365
213
|
return String(getEntryValue(src.entryName, src.fieldKey) ?? "");
|
|
366
214
|
}
|
|
@@ -371,7 +219,7 @@ function Image({
|
|
|
371
219
|
const resolvedCaption = (() => {
|
|
372
220
|
if (!caption) return "";
|
|
373
221
|
if (typeof caption === "string") return caption;
|
|
374
|
-
if (
|
|
222
|
+
if (isEntryBoundValue2(caption)) {
|
|
375
223
|
if (caption.useEntry) {
|
|
376
224
|
return String(getEntryValue(caption.entryName, caption.fieldKey) ?? "");
|
|
377
225
|
}
|
|
@@ -383,7 +231,7 @@ function Image({
|
|
|
383
231
|
if (!captionColor) return resolveColor2("muted");
|
|
384
232
|
if (typeof captionColor === "string")
|
|
385
233
|
return { color: captionColor, opacity: 100 };
|
|
386
|
-
if (
|
|
234
|
+
if (isThemeableValue2(captionColor)) {
|
|
387
235
|
return captionColor.useTheme ? resolveColor2(captionColor.themeKey) : captionColor.value;
|
|
388
236
|
}
|
|
389
237
|
if ("color" in captionColor) return captionColor;
|
|
@@ -411,7 +259,7 @@ function Image({
|
|
|
411
259
|
maxWidth: widthMap[width]
|
|
412
260
|
};
|
|
413
261
|
if (!resolvedSrc) {
|
|
414
|
-
return /* @__PURE__ */
|
|
262
|
+
return /* @__PURE__ */ jsx2("div", { style: wrapperStyle, children: /* @__PURE__ */ jsx2(
|
|
415
263
|
"div",
|
|
416
264
|
{
|
|
417
265
|
style: {
|
|
@@ -428,14 +276,14 @@ function Image({
|
|
|
428
276
|
) });
|
|
429
277
|
}
|
|
430
278
|
return /* @__PURE__ */ jsxs("figure", { id, style: { ...wrapperStyle, margin: 0 }, children: [
|
|
431
|
-
/* @__PURE__ */
|
|
432
|
-
resolvedCaption && /* @__PURE__ */
|
|
279
|
+
/* @__PURE__ */ jsx2("img", { src: resolvedSrc, alt, style: imageStyle, loading: "lazy" }),
|
|
280
|
+
resolvedCaption && /* @__PURE__ */ jsx2("figcaption", { style: captionStyle, children: resolvedCaption })
|
|
433
281
|
] });
|
|
434
282
|
}
|
|
435
283
|
|
|
436
284
|
// components/page/ImageCarousel.tsx
|
|
437
285
|
import { useState } from "react";
|
|
438
|
-
import { Fragment, jsx as
|
|
286
|
+
import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
439
287
|
var aspectRatioMap2 = {
|
|
440
288
|
"16:9": "16 / 9",
|
|
441
289
|
"4:3": "4 / 3",
|
|
@@ -448,7 +296,7 @@ var radiusMap3 = {
|
|
|
448
296
|
md: "8px",
|
|
449
297
|
lg: "16px"
|
|
450
298
|
};
|
|
451
|
-
function
|
|
299
|
+
function isThemeableValue3(value) {
|
|
452
300
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
453
301
|
}
|
|
454
302
|
function ImageCarousel({
|
|
@@ -469,7 +317,7 @@ function ImageCarousel({
|
|
|
469
317
|
if (!arrowColor) return { color: "#FFFFFF", opacity: 100 };
|
|
470
318
|
if (typeof arrowColor === "string")
|
|
471
319
|
return { color: arrowColor, opacity: 100 };
|
|
472
|
-
if (
|
|
320
|
+
if (isThemeableValue3(arrowColor)) {
|
|
473
321
|
return arrowColor.useTheme ? resolveColor2(arrowColor.themeKey) : arrowColor.value;
|
|
474
322
|
}
|
|
475
323
|
if ("color" in arrowColor) return arrowColor;
|
|
@@ -478,7 +326,7 @@ function ImageCarousel({
|
|
|
478
326
|
const resolvedDotColor = (() => {
|
|
479
327
|
if (!dotColor) return resolveColor2("primary");
|
|
480
328
|
if (typeof dotColor === "string") return { color: dotColor, opacity: 100 };
|
|
481
|
-
if (
|
|
329
|
+
if (isThemeableValue3(dotColor)) {
|
|
482
330
|
return dotColor.useTheme ? resolveColor2(dotColor.themeKey) : dotColor.value;
|
|
483
331
|
}
|
|
484
332
|
if ("color" in dotColor) return dotColor;
|
|
@@ -514,7 +362,7 @@ function ImageCarousel({
|
|
|
514
362
|
});
|
|
515
363
|
};
|
|
516
364
|
if (images.length === 0) {
|
|
517
|
-
return /* @__PURE__ */
|
|
365
|
+
return /* @__PURE__ */ jsx3(
|
|
518
366
|
"div",
|
|
519
367
|
{
|
|
520
368
|
style: {
|
|
@@ -586,7 +434,7 @@ function ImageCarousel({
|
|
|
586
434
|
backgroundColor: isActive ? hexToRgba(resolvedDotColor.color, resolvedDotColor.opacity) : "rgba(255,255,255,0.5)"
|
|
587
435
|
});
|
|
588
436
|
return /* @__PURE__ */ jsxs2("div", { id, style: containerStyle, children: [
|
|
589
|
-
/* @__PURE__ */
|
|
437
|
+
/* @__PURE__ */ jsx3("div", { style: slideContainerStyle, children: images.map((image, index) => /* @__PURE__ */ jsx3("div", { style: slideStyle, children: /* @__PURE__ */ jsx3(
|
|
590
438
|
"img",
|
|
591
439
|
{
|
|
592
440
|
src: image.src,
|
|
@@ -596,7 +444,7 @@ function ImageCarousel({
|
|
|
596
444
|
}
|
|
597
445
|
) }, index)) }),
|
|
598
446
|
showArrows && images.length > 1 && /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
599
|
-
/* @__PURE__ */
|
|
447
|
+
/* @__PURE__ */ jsx3(
|
|
600
448
|
"button",
|
|
601
449
|
{
|
|
602
450
|
type: "button",
|
|
@@ -606,7 +454,7 @@ function ImageCarousel({
|
|
|
606
454
|
children: "\u2039"
|
|
607
455
|
}
|
|
608
456
|
),
|
|
609
|
-
/* @__PURE__ */
|
|
457
|
+
/* @__PURE__ */ jsx3(
|
|
610
458
|
"button",
|
|
611
459
|
{
|
|
612
460
|
type: "button",
|
|
@@ -617,7 +465,7 @@ function ImageCarousel({
|
|
|
617
465
|
}
|
|
618
466
|
)
|
|
619
467
|
] }),
|
|
620
|
-
showDots && images.length > 1 && /* @__PURE__ */
|
|
468
|
+
showDots && images.length > 1 && /* @__PURE__ */ jsx3("div", { style: dotsContainerStyle, children: images.map((_, index) => /* @__PURE__ */ jsx3(
|
|
621
469
|
"button",
|
|
622
470
|
{
|
|
623
471
|
type: "button",
|
|
@@ -631,7 +479,7 @@ function ImageCarousel({
|
|
|
631
479
|
}
|
|
632
480
|
|
|
633
481
|
// components/page/VideoEmbed.tsx
|
|
634
|
-
import { jsx as
|
|
482
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
635
483
|
var aspectRatioMap3 = {
|
|
636
484
|
"16:9": "56.25%",
|
|
637
485
|
// 9/16 * 100
|
|
@@ -652,7 +500,7 @@ var maxWidthMap = {
|
|
|
652
500
|
xl: "1000px",
|
|
653
501
|
full: "100%"
|
|
654
502
|
};
|
|
655
|
-
function
|
|
503
|
+
function isEntryBoundValue3(value) {
|
|
656
504
|
return typeof value === "object" && value !== null && "useEntry" in value;
|
|
657
505
|
}
|
|
658
506
|
function parseVideoUrl(url) {
|
|
@@ -689,7 +537,7 @@ function VideoEmbed({
|
|
|
689
537
|
const resolvedUrl = (() => {
|
|
690
538
|
if (!url) return "";
|
|
691
539
|
if (typeof url === "string") return url;
|
|
692
|
-
if (
|
|
540
|
+
if (isEntryBoundValue3(url)) {
|
|
693
541
|
if (url.useEntry) {
|
|
694
542
|
return String(getEntryValue(url.entryName, url.fieldKey) ?? "");
|
|
695
543
|
}
|
|
@@ -698,7 +546,7 @@ function VideoEmbed({
|
|
|
698
546
|
return "";
|
|
699
547
|
})();
|
|
700
548
|
if (!resolvedUrl) {
|
|
701
|
-
return /* @__PURE__ */
|
|
549
|
+
return /* @__PURE__ */ jsx4(
|
|
702
550
|
"div",
|
|
703
551
|
{
|
|
704
552
|
style: {
|
|
@@ -743,7 +591,7 @@ function VideoEmbed({
|
|
|
743
591
|
height: "100%",
|
|
744
592
|
border: "none"
|
|
745
593
|
};
|
|
746
|
-
return /* @__PURE__ */
|
|
594
|
+
return /* @__PURE__ */ jsx4("div", { id, style: wrapperStyle, children: /* @__PURE__ */ jsx4("div", { style: containerStyle, children: /* @__PURE__ */ jsx4(
|
|
747
595
|
"iframe",
|
|
748
596
|
{
|
|
749
597
|
src: finalUrl,
|
|
@@ -756,8 +604,8 @@ function VideoEmbed({
|
|
|
756
604
|
}
|
|
757
605
|
|
|
758
606
|
// components/page/Icon.tsx
|
|
759
|
-
import { jsx as
|
|
760
|
-
var
|
|
607
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
608
|
+
var sizeMap = {
|
|
761
609
|
sm: { size: "16px", strokeWidth: 2 },
|
|
762
610
|
md: { size: "24px", strokeWidth: 2 },
|
|
763
611
|
lg: { size: "32px", strokeWidth: 1.5 },
|
|
@@ -765,7 +613,7 @@ var sizeMap3 = {
|
|
|
765
613
|
"2xl": { size: "64px", strokeWidth: 1.5 }
|
|
766
614
|
};
|
|
767
615
|
var icons = {
|
|
768
|
-
check: ({ size, color, strokeWidth }) => /* @__PURE__ */
|
|
616
|
+
check: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsx5(
|
|
769
617
|
"svg",
|
|
770
618
|
{
|
|
771
619
|
width: size,
|
|
@@ -776,7 +624,7 @@ var icons = {
|
|
|
776
624
|
strokeWidth,
|
|
777
625
|
strokeLinecap: "round",
|
|
778
626
|
strokeLinejoin: "round",
|
|
779
|
-
children: /* @__PURE__ */
|
|
627
|
+
children: /* @__PURE__ */ jsx5("polyline", { points: "20 6 9 17 4 12" })
|
|
780
628
|
}
|
|
781
629
|
),
|
|
782
630
|
x: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsxs3(
|
|
@@ -791,12 +639,12 @@ var icons = {
|
|
|
791
639
|
strokeLinecap: "round",
|
|
792
640
|
strokeLinejoin: "round",
|
|
793
641
|
children: [
|
|
794
|
-
/* @__PURE__ */
|
|
795
|
-
/* @__PURE__ */
|
|
642
|
+
/* @__PURE__ */ jsx5("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
643
|
+
/* @__PURE__ */ jsx5("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
796
644
|
]
|
|
797
645
|
}
|
|
798
646
|
),
|
|
799
|
-
star: ({ size, color, strokeWidth }) => /* @__PURE__ */
|
|
647
|
+
star: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsx5(
|
|
800
648
|
"svg",
|
|
801
649
|
{
|
|
802
650
|
width: size,
|
|
@@ -807,10 +655,10 @@ var icons = {
|
|
|
807
655
|
strokeWidth,
|
|
808
656
|
strokeLinecap: "round",
|
|
809
657
|
strokeLinejoin: "round",
|
|
810
|
-
children: /* @__PURE__ */
|
|
658
|
+
children: /* @__PURE__ */ jsx5("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" })
|
|
811
659
|
}
|
|
812
660
|
),
|
|
813
|
-
heart: ({ size, color, strokeWidth }) => /* @__PURE__ */
|
|
661
|
+
heart: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsx5(
|
|
814
662
|
"svg",
|
|
815
663
|
{
|
|
816
664
|
width: size,
|
|
@@ -821,7 +669,7 @@ var icons = {
|
|
|
821
669
|
strokeWidth,
|
|
822
670
|
strokeLinecap: "round",
|
|
823
671
|
strokeLinejoin: "round",
|
|
824
|
-
children: /* @__PURE__ */
|
|
672
|
+
children: /* @__PURE__ */ jsx5("path", { d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" })
|
|
825
673
|
}
|
|
826
674
|
),
|
|
827
675
|
arrowRight: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsxs3(
|
|
@@ -836,8 +684,8 @@ var icons = {
|
|
|
836
684
|
strokeLinecap: "round",
|
|
837
685
|
strokeLinejoin: "round",
|
|
838
686
|
children: [
|
|
839
|
-
/* @__PURE__ */
|
|
840
|
-
/* @__PURE__ */
|
|
687
|
+
/* @__PURE__ */ jsx5("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
|
|
688
|
+
/* @__PURE__ */ jsx5("polyline", { points: "12 5 19 12 12 19" })
|
|
841
689
|
]
|
|
842
690
|
}
|
|
843
691
|
),
|
|
@@ -853,8 +701,8 @@ var icons = {
|
|
|
853
701
|
strokeLinecap: "round",
|
|
854
702
|
strokeLinejoin: "round",
|
|
855
703
|
children: [
|
|
856
|
-
/* @__PURE__ */
|
|
857
|
-
/* @__PURE__ */
|
|
704
|
+
/* @__PURE__ */ jsx5("line", { x1: "19", y1: "12", x2: "5", y2: "12" }),
|
|
705
|
+
/* @__PURE__ */ jsx5("polyline", { points: "12 19 5 12 12 5" })
|
|
858
706
|
]
|
|
859
707
|
}
|
|
860
708
|
),
|
|
@@ -870,12 +718,12 @@ var icons = {
|
|
|
870
718
|
strokeLinecap: "round",
|
|
871
719
|
strokeLinejoin: "round",
|
|
872
720
|
children: [
|
|
873
|
-
/* @__PURE__ */
|
|
874
|
-
/* @__PURE__ */
|
|
721
|
+
/* @__PURE__ */ jsx5("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }),
|
|
722
|
+
/* @__PURE__ */ jsx5("polyline", { points: "22,6 12,13 2,6" })
|
|
875
723
|
]
|
|
876
724
|
}
|
|
877
725
|
),
|
|
878
|
-
phone: ({ size, color, strokeWidth }) => /* @__PURE__ */
|
|
726
|
+
phone: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsx5(
|
|
879
727
|
"svg",
|
|
880
728
|
{
|
|
881
729
|
width: size,
|
|
@@ -886,7 +734,7 @@ var icons = {
|
|
|
886
734
|
strokeWidth,
|
|
887
735
|
strokeLinecap: "round",
|
|
888
736
|
strokeLinejoin: "round",
|
|
889
|
-
children: /* @__PURE__ */
|
|
737
|
+
children: /* @__PURE__ */ jsx5("path", { d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z" })
|
|
890
738
|
}
|
|
891
739
|
),
|
|
892
740
|
mapPin: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsxs3(
|
|
@@ -901,12 +749,12 @@ var icons = {
|
|
|
901
749
|
strokeLinecap: "round",
|
|
902
750
|
strokeLinejoin: "round",
|
|
903
751
|
children: [
|
|
904
|
-
/* @__PURE__ */
|
|
905
|
-
/* @__PURE__ */
|
|
752
|
+
/* @__PURE__ */ jsx5("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z" }),
|
|
753
|
+
/* @__PURE__ */ jsx5("circle", { cx: "12", cy: "10", r: "3" })
|
|
906
754
|
]
|
|
907
755
|
}
|
|
908
756
|
),
|
|
909
|
-
zap: ({ size, color, strokeWidth }) => /* @__PURE__ */
|
|
757
|
+
zap: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsx5(
|
|
910
758
|
"svg",
|
|
911
759
|
{
|
|
912
760
|
width: size,
|
|
@@ -917,10 +765,10 @@ var icons = {
|
|
|
917
765
|
strokeWidth,
|
|
918
766
|
strokeLinecap: "round",
|
|
919
767
|
strokeLinejoin: "round",
|
|
920
|
-
children: /* @__PURE__ */
|
|
768
|
+
children: /* @__PURE__ */ jsx5("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" })
|
|
921
769
|
}
|
|
922
770
|
),
|
|
923
|
-
shield: ({ size, color, strokeWidth }) => /* @__PURE__ */
|
|
771
|
+
shield: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsx5(
|
|
924
772
|
"svg",
|
|
925
773
|
{
|
|
926
774
|
width: size,
|
|
@@ -931,7 +779,7 @@ var icons = {
|
|
|
931
779
|
strokeWidth,
|
|
932
780
|
strokeLinecap: "round",
|
|
933
781
|
strokeLinejoin: "round",
|
|
934
|
-
children: /* @__PURE__ */
|
|
782
|
+
children: /* @__PURE__ */ jsx5("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" })
|
|
935
783
|
}
|
|
936
784
|
),
|
|
937
785
|
users: ({ size, color, strokeWidth }) => /* @__PURE__ */ jsxs3(
|
|
@@ -946,15 +794,15 @@ var icons = {
|
|
|
946
794
|
strokeLinecap: "round",
|
|
947
795
|
strokeLinejoin: "round",
|
|
948
796
|
children: [
|
|
949
|
-
/* @__PURE__ */
|
|
950
|
-
/* @__PURE__ */
|
|
951
|
-
/* @__PURE__ */
|
|
952
|
-
/* @__PURE__ */
|
|
797
|
+
/* @__PURE__ */ jsx5("path", { d: "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" }),
|
|
798
|
+
/* @__PURE__ */ jsx5("circle", { cx: "9", cy: "7", r: "4" }),
|
|
799
|
+
/* @__PURE__ */ jsx5("path", { d: "M23 21v-2a4 4 0 0 0-3-3.87" }),
|
|
800
|
+
/* @__PURE__ */ jsx5("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
|
|
953
801
|
]
|
|
954
802
|
}
|
|
955
803
|
)
|
|
956
804
|
};
|
|
957
|
-
function
|
|
805
|
+
function isThemeableValue4(value) {
|
|
958
806
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
959
807
|
}
|
|
960
808
|
function Icon({
|
|
@@ -968,20 +816,20 @@ function Icon({
|
|
|
968
816
|
const resolvedColor = (() => {
|
|
969
817
|
if (!color) return resolveColor2("primary");
|
|
970
818
|
if (typeof color === "string") return { color, opacity: 100 };
|
|
971
|
-
if (
|
|
819
|
+
if (isThemeableValue4(color)) {
|
|
972
820
|
return color.useTheme ? resolveColor2(color.themeKey) : color.value;
|
|
973
821
|
}
|
|
974
822
|
if ("color" in color) return color;
|
|
975
823
|
return resolveColor2("primary");
|
|
976
824
|
})();
|
|
977
825
|
const IconComponent = icons[name.toLowerCase()] || icons.check;
|
|
978
|
-
const { size: iconSize, strokeWidth } =
|
|
826
|
+
const { size: iconSize, strokeWidth } = sizeMap[size];
|
|
979
827
|
const colorValue = hexToRgba(resolvedColor.color, resolvedColor.opacity);
|
|
980
828
|
const wrapperStyle = {
|
|
981
829
|
display: "flex",
|
|
982
830
|
justifyContent: align === "left" ? "flex-start" : align === "right" ? "flex-end" : "center"
|
|
983
831
|
};
|
|
984
|
-
return /* @__PURE__ */
|
|
832
|
+
return /* @__PURE__ */ jsx5("div", { id, style: wrapperStyle, children: /* @__PURE__ */ jsx5(
|
|
985
833
|
IconComponent,
|
|
986
834
|
{
|
|
987
835
|
size: iconSize,
|
|
@@ -993,14 +841,14 @@ function Icon({
|
|
|
993
841
|
var availableIcons = Object.keys(icons);
|
|
994
842
|
|
|
995
843
|
// components/page/Section.tsx
|
|
996
|
-
import { jsx as
|
|
997
|
-
function
|
|
844
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
845
|
+
function isThemeableValue5(value) {
|
|
998
846
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
999
847
|
}
|
|
1000
848
|
function resolveBackgroundColor(bg, resolveColor2) {
|
|
1001
849
|
if (!bg) return void 0;
|
|
1002
850
|
if (typeof bg === "string") return bg;
|
|
1003
|
-
if (
|
|
851
|
+
if (isThemeableValue5(bg)) {
|
|
1004
852
|
if (bg.useTheme) {
|
|
1005
853
|
const themeColor = resolveColor2(bg.themeKey);
|
|
1006
854
|
return hexToRgba(themeColor.color, themeColor.opacity);
|
|
@@ -1041,7 +889,7 @@ function Section({
|
|
|
1041
889
|
}) {
|
|
1042
890
|
const { resolveColor: resolveColor2 } = useTheme();
|
|
1043
891
|
const DropZone = puck?.renderDropZone;
|
|
1044
|
-
return /* @__PURE__ */
|
|
892
|
+
return /* @__PURE__ */ jsx6(
|
|
1045
893
|
"section",
|
|
1046
894
|
{
|
|
1047
895
|
id: anchorLink,
|
|
@@ -1056,13 +904,13 @@ function Section({
|
|
|
1056
904
|
boxShadow: getShadowCSS(shadow),
|
|
1057
905
|
borderRadius: `${borderRadius}px`
|
|
1058
906
|
},
|
|
1059
|
-
children: /* @__PURE__ */
|
|
907
|
+
children: /* @__PURE__ */ jsx6("div", { className: "mx-auto w-full", style: { maxWidth: contentMaxWidth }, children: DropZone && /* @__PURE__ */ jsx6(DropZone, { zone: "content" }) })
|
|
1060
908
|
}
|
|
1061
909
|
);
|
|
1062
910
|
}
|
|
1063
911
|
|
|
1064
912
|
// components/page/Container.tsx
|
|
1065
|
-
import { jsx as
|
|
913
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
1066
914
|
var maxWidthMap2 = {
|
|
1067
915
|
sm: "640px",
|
|
1068
916
|
md: "768px",
|
|
@@ -1078,7 +926,7 @@ var paddingMap = {
|
|
|
1078
926
|
lg: "32px",
|
|
1079
927
|
xl: "48px"
|
|
1080
928
|
};
|
|
1081
|
-
function
|
|
929
|
+
function isThemeableValue6(value) {
|
|
1082
930
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
1083
931
|
}
|
|
1084
932
|
function Container({
|
|
@@ -1097,7 +945,7 @@ function Container({
|
|
|
1097
945
|
if (!backgroundColor) return null;
|
|
1098
946
|
if (typeof backgroundColor === "string")
|
|
1099
947
|
return { color: backgroundColor, opacity: 100 };
|
|
1100
|
-
if (
|
|
948
|
+
if (isThemeableValue6(backgroundColor)) {
|
|
1101
949
|
return backgroundColor.useTheme ? resolveColor2(backgroundColor.themeKey) : backgroundColor.value;
|
|
1102
950
|
}
|
|
1103
951
|
if ("color" in backgroundColor) return backgroundColor;
|
|
@@ -1116,11 +964,11 @@ function Container({
|
|
|
1116
964
|
backgroundColor: resolvedBgColor ? hexToRgba(resolvedBgColor.color, resolvedBgColor.opacity) : void 0,
|
|
1117
965
|
width: "100%"
|
|
1118
966
|
};
|
|
1119
|
-
return /* @__PURE__ */
|
|
967
|
+
return /* @__PURE__ */ jsx7("div", { id, style, children: DropZone && /* @__PURE__ */ jsx7(DropZone, { zone: "container-content" }) });
|
|
1120
968
|
}
|
|
1121
969
|
|
|
1122
970
|
// components/page/Columns.tsx
|
|
1123
|
-
import { jsx as
|
|
971
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
1124
972
|
var gapMap = {
|
|
1125
973
|
none: "0",
|
|
1126
974
|
sm: "16px",
|
|
@@ -1149,11 +997,11 @@ function Columns({
|
|
|
1149
997
|
gap: gapMap[gap],
|
|
1150
998
|
alignItems: alignMap[verticalAlign]
|
|
1151
999
|
};
|
|
1152
|
-
return /* @__PURE__ */
|
|
1000
|
+
return /* @__PURE__ */ jsx8("div", { id, style: containerStyle, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ jsx8("div", { style: { minWidth: 0 }, children: DropZone && /* @__PURE__ */ jsx8(DropZone, { zone: `column-${index}` }) }, index)) });
|
|
1153
1001
|
}
|
|
1154
1002
|
|
|
1155
1003
|
// components/page/Card.tsx
|
|
1156
|
-
import { jsx as
|
|
1004
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
1157
1005
|
var borderWidthMap = {
|
|
1158
1006
|
none: "0",
|
|
1159
1007
|
thin: "1px",
|
|
@@ -1181,7 +1029,7 @@ var paddingMap2 = {
|
|
|
1181
1029
|
lg: "32px",
|
|
1182
1030
|
xl: "48px"
|
|
1183
1031
|
};
|
|
1184
|
-
function
|
|
1032
|
+
function isThemeableValue7(value) {
|
|
1185
1033
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
1186
1034
|
}
|
|
1187
1035
|
function Card({
|
|
@@ -1200,7 +1048,7 @@ function Card({
|
|
|
1200
1048
|
if (!backgroundColor) return resolveColor2("background");
|
|
1201
1049
|
if (typeof backgroundColor === "string")
|
|
1202
1050
|
return { color: backgroundColor, opacity: 100 };
|
|
1203
|
-
if (
|
|
1051
|
+
if (isThemeableValue7(backgroundColor)) {
|
|
1204
1052
|
return backgroundColor.useTheme ? resolveColor2(backgroundColor.themeKey) : backgroundColor.value;
|
|
1205
1053
|
}
|
|
1206
1054
|
if ("color" in backgroundColor) return backgroundColor;
|
|
@@ -1210,7 +1058,7 @@ function Card({
|
|
|
1210
1058
|
if (!borderColor) return resolveColor2("muted");
|
|
1211
1059
|
if (typeof borderColor === "string")
|
|
1212
1060
|
return { color: borderColor, opacity: 100 };
|
|
1213
|
-
if (
|
|
1061
|
+
if (isThemeableValue7(borderColor)) {
|
|
1214
1062
|
return borderColor.useTheme ? resolveColor2(borderColor.themeKey) : borderColor.value;
|
|
1215
1063
|
}
|
|
1216
1064
|
if ("color" in borderColor) return borderColor;
|
|
@@ -1223,11 +1071,11 @@ function Card({
|
|
|
1223
1071
|
boxShadow: shadowMap2[shadow],
|
|
1224
1072
|
padding: paddingMap2[padding]
|
|
1225
1073
|
};
|
|
1226
|
-
return /* @__PURE__ */
|
|
1074
|
+
return /* @__PURE__ */ jsx9("div", { id, style, children: DropZone && /* @__PURE__ */ jsx9(DropZone, { zone: "card-content" }) });
|
|
1227
1075
|
}
|
|
1228
1076
|
|
|
1229
1077
|
// components/page/Divider.tsx
|
|
1230
|
-
import { jsx as
|
|
1078
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
1231
1079
|
var thicknessMap = {
|
|
1232
1080
|
thin: "1px",
|
|
1233
1081
|
medium: "2px",
|
|
@@ -1245,7 +1093,7 @@ var spacingMap = {
|
|
|
1245
1093
|
lg: "32px",
|
|
1246
1094
|
xl: "48px"
|
|
1247
1095
|
};
|
|
1248
|
-
function
|
|
1096
|
+
function isThemeableValue8(value) {
|
|
1249
1097
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
1250
1098
|
}
|
|
1251
1099
|
function Divider({
|
|
@@ -1261,7 +1109,7 @@ function Divider({
|
|
|
1261
1109
|
const resolvedColor = (() => {
|
|
1262
1110
|
if (!color) return resolveColor2("muted");
|
|
1263
1111
|
if (typeof color === "string") return { color, opacity: 100 };
|
|
1264
|
-
if (
|
|
1112
|
+
if (isThemeableValue8(color)) {
|
|
1265
1113
|
return color.useTheme ? resolveColor2(color.themeKey) : color.value;
|
|
1266
1114
|
}
|
|
1267
1115
|
if ("color" in color) return color;
|
|
@@ -1278,12 +1126,12 @@ function Divider({
|
|
|
1278
1126
|
borderTop: `${thicknessMap[thickness]} ${lineStyle} ${hexToRgba(resolvedColor.color, resolvedColor.opacity)}`,
|
|
1279
1127
|
margin: 0
|
|
1280
1128
|
};
|
|
1281
|
-
return /* @__PURE__ */
|
|
1129
|
+
return /* @__PURE__ */ jsx10("div", { id, style: wrapperStyle, children: /* @__PURE__ */ jsx10("hr", { style: hrStyle }) });
|
|
1282
1130
|
}
|
|
1283
1131
|
|
|
1284
1132
|
// components/page/Spacer.tsx
|
|
1285
|
-
import { jsx as
|
|
1286
|
-
var
|
|
1133
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1134
|
+
var sizeMap2 = {
|
|
1287
1135
|
xs: "8px",
|
|
1288
1136
|
sm: "16px",
|
|
1289
1137
|
md: "24px",
|
|
@@ -1294,36 +1142,36 @@ var sizeMap4 = {
|
|
|
1294
1142
|
};
|
|
1295
1143
|
function Spacer({ size = "md", id }) {
|
|
1296
1144
|
const style = {
|
|
1297
|
-
height:
|
|
1145
|
+
height: sizeMap2[size],
|
|
1298
1146
|
width: "100%"
|
|
1299
1147
|
};
|
|
1300
|
-
return /* @__PURE__ */
|
|
1148
|
+
return /* @__PURE__ */ jsx11("div", { id, style, "aria-hidden": "true" });
|
|
1301
1149
|
}
|
|
1302
1150
|
|
|
1303
1151
|
// components/page/TextBlock.tsx
|
|
1304
|
-
import { jsx as
|
|
1152
|
+
import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1305
1153
|
var alignmentMap = {
|
|
1306
1154
|
left: "text-left",
|
|
1307
1155
|
center: "text-center",
|
|
1308
1156
|
right: "text-right"
|
|
1309
1157
|
};
|
|
1310
|
-
var
|
|
1158
|
+
var sizeMap3 = {
|
|
1311
1159
|
small: "text-2xl",
|
|
1312
1160
|
"medium-small": "text-3xl",
|
|
1313
1161
|
medium: "text-4xl",
|
|
1314
1162
|
large: "text-5xl",
|
|
1315
1163
|
xlarge: "text-6xl"
|
|
1316
1164
|
};
|
|
1317
|
-
function
|
|
1165
|
+
function isThemeableValue9(value) {
|
|
1318
1166
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
1319
1167
|
}
|
|
1320
|
-
function
|
|
1168
|
+
function isEntryBoundValue4(value) {
|
|
1321
1169
|
return typeof value === "object" && value !== null && "useEntry" in value;
|
|
1322
1170
|
}
|
|
1323
1171
|
function resolveColor(color, resolveThemeColor) {
|
|
1324
1172
|
if (!color) return "#000000";
|
|
1325
1173
|
if (typeof color === "string") return color;
|
|
1326
|
-
if (
|
|
1174
|
+
if (isThemeableValue9(color)) {
|
|
1327
1175
|
if (color.useTheme) {
|
|
1328
1176
|
const themeColor = resolveThemeColor(color.themeKey);
|
|
1329
1177
|
return hexToRgba(themeColor.color, themeColor.opacity);
|
|
@@ -1338,7 +1186,7 @@ function resolveColor(color, resolveThemeColor) {
|
|
|
1338
1186
|
function resolveColorHex(color, resolveThemeColor) {
|
|
1339
1187
|
if (!color) return "#000000";
|
|
1340
1188
|
if (typeof color === "string") return color;
|
|
1341
|
-
if (
|
|
1189
|
+
if (isThemeableValue9(color)) {
|
|
1342
1190
|
if (color.useTheme) {
|
|
1343
1191
|
return resolveThemeColor(color.themeKey).color;
|
|
1344
1192
|
}
|
|
@@ -1367,7 +1215,7 @@ function TextBlock({
|
|
|
1367
1215
|
const resolveText = (value) => {
|
|
1368
1216
|
if (!value) return void 0;
|
|
1369
1217
|
if (typeof value === "string") return value;
|
|
1370
|
-
if (
|
|
1218
|
+
if (isEntryBoundValue4(value)) {
|
|
1371
1219
|
if (value.useEntry) {
|
|
1372
1220
|
const entryVal = getEntryValue(value.entryName, value.fieldKey);
|
|
1373
1221
|
return entryVal != null ? String(entryVal) : void 0;
|
|
@@ -1393,16 +1241,16 @@ function TextBlock({
|
|
|
1393
1241
|
id: anchorLink,
|
|
1394
1242
|
className: cn("flex flex-col gap-4", alignmentMap[alignment]),
|
|
1395
1243
|
children: [
|
|
1396
|
-
resolvedTitle && /* @__PURE__ */
|
|
1244
|
+
resolvedTitle && /* @__PURE__ */ jsx12(
|
|
1397
1245
|
"h2",
|
|
1398
1246
|
{
|
|
1399
|
-
className: cn("font-bold",
|
|
1247
|
+
className: cn("font-bold", sizeMap3[textSize]),
|
|
1400
1248
|
style: gradientStyle,
|
|
1401
1249
|
children: resolvedTitle
|
|
1402
1250
|
}
|
|
1403
1251
|
),
|
|
1404
|
-
resolvedSubtitle && /* @__PURE__ */
|
|
1405
|
-
resolvedBody && /* @__PURE__ */
|
|
1252
|
+
resolvedSubtitle && /* @__PURE__ */ jsx12("p", { className: "text-xl", style: { color: subtitleColorValue }, children: resolvedSubtitle }),
|
|
1253
|
+
resolvedBody && /* @__PURE__ */ jsx12(
|
|
1406
1254
|
"div",
|
|
1407
1255
|
{
|
|
1408
1256
|
className: "prose max-w-none",
|
|
@@ -1416,7 +1264,7 @@ function TextBlock({
|
|
|
1416
1264
|
}
|
|
1417
1265
|
|
|
1418
1266
|
// components/page/CustomImage.tsx
|
|
1419
|
-
import { jsx as
|
|
1267
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1420
1268
|
var alignmentMap2 = {
|
|
1421
1269
|
left: "mr-auto",
|
|
1422
1270
|
center: "mx-auto",
|
|
@@ -1430,9 +1278,9 @@ function CustomImage({
|
|
|
1430
1278
|
fitContent = false
|
|
1431
1279
|
}) {
|
|
1432
1280
|
if (!image) {
|
|
1433
|
-
return /* @__PURE__ */
|
|
1281
|
+
return /* @__PURE__ */ jsx13("div", { className: "flex h-48 w-full items-center justify-center bg-gray-200 text-gray-400", children: "No image" });
|
|
1434
1282
|
}
|
|
1435
|
-
return /* @__PURE__ */
|
|
1283
|
+
return /* @__PURE__ */ jsx13(
|
|
1436
1284
|
"img",
|
|
1437
1285
|
{
|
|
1438
1286
|
src: image,
|
|
@@ -1449,8 +1297,8 @@ function CustomImage({
|
|
|
1449
1297
|
|
|
1450
1298
|
// components/page/FeaturesList.tsx
|
|
1451
1299
|
import { icons as icons2 } from "lucide-react";
|
|
1452
|
-
import { jsx as
|
|
1453
|
-
var
|
|
1300
|
+
import { jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1301
|
+
var sizeMap4 = {
|
|
1454
1302
|
small: { icon: 24, title: "text-base", desc: "text-sm" },
|
|
1455
1303
|
medium: { icon: 32, title: "text-lg", desc: "text-base" },
|
|
1456
1304
|
large: { icon: 48, title: "text-xl", desc: "text-lg" }
|
|
@@ -1462,12 +1310,12 @@ function FeaturesList({
|
|
|
1462
1310
|
iconColor = "#000000",
|
|
1463
1311
|
anchorLink
|
|
1464
1312
|
}) {
|
|
1465
|
-
const sizeConfig =
|
|
1313
|
+
const sizeConfig = sizeMap4[size];
|
|
1466
1314
|
const getIcon = (iconName) => {
|
|
1467
1315
|
const formatted = iconName.charAt(0).toUpperCase() + iconName.slice(1);
|
|
1468
1316
|
return icons2[formatted] || null;
|
|
1469
1317
|
};
|
|
1470
|
-
return /* @__PURE__ */
|
|
1318
|
+
return /* @__PURE__ */ jsx14(
|
|
1471
1319
|
"div",
|
|
1472
1320
|
{
|
|
1473
1321
|
id: anchorLink,
|
|
@@ -1487,7 +1335,7 @@ function FeaturesList({
|
|
|
1487
1335
|
align === "right" && "flex-row-reverse"
|
|
1488
1336
|
),
|
|
1489
1337
|
children: [
|
|
1490
|
-
feature.image ? /* @__PURE__ */
|
|
1338
|
+
feature.image ? /* @__PURE__ */ jsx14(
|
|
1491
1339
|
"img",
|
|
1492
1340
|
{
|
|
1493
1341
|
src: feature.image,
|
|
@@ -1495,7 +1343,7 @@ function FeaturesList({
|
|
|
1495
1343
|
className: "object-contain",
|
|
1496
1344
|
style: { width: sizeConfig.icon, height: sizeConfig.icon }
|
|
1497
1345
|
}
|
|
1498
|
-
) : IconComponent ? /* @__PURE__ */
|
|
1346
|
+
) : IconComponent ? /* @__PURE__ */ jsx14(
|
|
1499
1347
|
IconComponent,
|
|
1500
1348
|
{
|
|
1501
1349
|
size: sizeConfig.icon,
|
|
@@ -1504,8 +1352,8 @@ function FeaturesList({
|
|
|
1504
1352
|
}
|
|
1505
1353
|
) : null,
|
|
1506
1354
|
/* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-1", children: [
|
|
1507
|
-
feature.title && /* @__PURE__ */
|
|
1508
|
-
feature.description && /* @__PURE__ */
|
|
1355
|
+
feature.title && /* @__PURE__ */ jsx14("h3", { className: cn("font-semibold", sizeConfig.title), children: feature.title }),
|
|
1356
|
+
feature.description && /* @__PURE__ */ jsx14("p", { className: cn("text-gray-600", sizeConfig.desc), children: feature.description })
|
|
1509
1357
|
] })
|
|
1510
1358
|
]
|
|
1511
1359
|
},
|
|
@@ -1518,8 +1366,8 @@ function FeaturesList({
|
|
|
1518
1366
|
|
|
1519
1367
|
// components/page/FeatureGrid.tsx
|
|
1520
1368
|
import { icons as icons3 } from "lucide-react";
|
|
1521
|
-
import { jsx as
|
|
1522
|
-
var
|
|
1369
|
+
import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1370
|
+
var sizeMap5 = {
|
|
1523
1371
|
small: { icon: 24, title: "text-base", desc: "text-sm" },
|
|
1524
1372
|
medium: { icon: 32, title: "text-lg", desc: "text-base" },
|
|
1525
1373
|
large: { icon: 48, title: "text-xl", desc: "text-lg" }
|
|
@@ -1535,7 +1383,7 @@ function FeatureGrid({
|
|
|
1535
1383
|
textColor = "#000000",
|
|
1536
1384
|
anchorLink
|
|
1537
1385
|
}) {
|
|
1538
|
-
const sizeConfig =
|
|
1386
|
+
const sizeConfig = sizeMap5[size];
|
|
1539
1387
|
const getIcon = (iconName) => {
|
|
1540
1388
|
const formatted = iconName.charAt(0).toUpperCase() + iconName.slice(1);
|
|
1541
1389
|
return icons3[formatted] || null;
|
|
@@ -1555,12 +1403,12 @@ function FeatureGrid({
|
|
|
1555
1403
|
align === "right" && "text-right"
|
|
1556
1404
|
),
|
|
1557
1405
|
children: [
|
|
1558
|
-
heading && /* @__PURE__ */
|
|
1559
|
-
description && /* @__PURE__ */
|
|
1406
|
+
heading && /* @__PURE__ */ jsx15("h2", { className: "text-3xl font-bold", style: { color: textColor }, children: heading }),
|
|
1407
|
+
description && /* @__PURE__ */ jsx15("p", { className: "text-gray-600", children: description })
|
|
1560
1408
|
]
|
|
1561
1409
|
}
|
|
1562
1410
|
),
|
|
1563
|
-
/* @__PURE__ */
|
|
1411
|
+
/* @__PURE__ */ jsx15("div", { className: cn("grid gap-6", columnClass[columns]), children: features.map((feature, index) => {
|
|
1564
1412
|
const IconComponent = feature.icon ? getIcon(feature.icon) : null;
|
|
1565
1413
|
return /* @__PURE__ */ jsxs6(
|
|
1566
1414
|
"div",
|
|
@@ -1570,7 +1418,7 @@ function FeatureGrid({
|
|
|
1570
1418
|
align === "center" && "items-center text-center"
|
|
1571
1419
|
),
|
|
1572
1420
|
children: [
|
|
1573
|
-
feature.image ? /* @__PURE__ */
|
|
1421
|
+
feature.image ? /* @__PURE__ */ jsx15(
|
|
1574
1422
|
"img",
|
|
1575
1423
|
{
|
|
1576
1424
|
src: feature.image,
|
|
@@ -1578,14 +1426,14 @@ function FeatureGrid({
|
|
|
1578
1426
|
className: "object-contain",
|
|
1579
1427
|
style: { width: sizeConfig.icon, height: sizeConfig.icon }
|
|
1580
1428
|
}
|
|
1581
|
-
) : IconComponent ? /* @__PURE__ */
|
|
1429
|
+
) : IconComponent ? /* @__PURE__ */ jsx15(
|
|
1582
1430
|
IconComponent,
|
|
1583
1431
|
{
|
|
1584
1432
|
size: sizeConfig.icon,
|
|
1585
1433
|
style: { color: iconColor }
|
|
1586
1434
|
}
|
|
1587
1435
|
) : null,
|
|
1588
|
-
feature.title && /* @__PURE__ */
|
|
1436
|
+
feature.title && /* @__PURE__ */ jsx15(
|
|
1589
1437
|
"h3",
|
|
1590
1438
|
{
|
|
1591
1439
|
className: cn("font-semibold", sizeConfig.title),
|
|
@@ -1593,7 +1441,7 @@ function FeatureGrid({
|
|
|
1593
1441
|
children: feature.title
|
|
1594
1442
|
}
|
|
1595
1443
|
),
|
|
1596
|
-
feature.description && /* @__PURE__ */
|
|
1444
|
+
feature.description && /* @__PURE__ */ jsx15("p", { className: cn("text-gray-600", sizeConfig.desc), children: feature.description })
|
|
1597
1445
|
]
|
|
1598
1446
|
},
|
|
1599
1447
|
index
|
|
@@ -1604,7 +1452,7 @@ function FeatureGrid({
|
|
|
1604
1452
|
|
|
1605
1453
|
// components/page/Footer.tsx
|
|
1606
1454
|
import { Facebook, Instagram, Twitter } from "lucide-react";
|
|
1607
|
-
import { jsx as
|
|
1455
|
+
import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1608
1456
|
function Footer({
|
|
1609
1457
|
logo,
|
|
1610
1458
|
copyright = "\xA9 2024 Company. All rights reserved.",
|
|
@@ -1639,15 +1487,15 @@ function Footer({
|
|
|
1639
1487
|
].filter(
|
|
1640
1488
|
(link) => !!link.url
|
|
1641
1489
|
);
|
|
1642
|
-
return /* @__PURE__ */
|
|
1490
|
+
return /* @__PURE__ */ jsx16(
|
|
1643
1491
|
"footer",
|
|
1644
1492
|
{
|
|
1645
1493
|
className: "w-full px-6 py-8",
|
|
1646
1494
|
style: { backgroundColor, color: textColor },
|
|
1647
1495
|
children: /* @__PURE__ */ jsxs7("div", { className: "mx-auto flex max-w-7xl flex-col items-center justify-between gap-6 md:flex-row", children: [
|
|
1648
|
-
/* @__PURE__ */
|
|
1649
|
-
DropZone && /* @__PURE__ */
|
|
1650
|
-
/* @__PURE__ */
|
|
1496
|
+
/* @__PURE__ */ jsx16("div", { className: "flex items-center gap-4", children: logo && /* @__PURE__ */ jsx16("img", { src: logo, alt: "Logo", className: "h-8" }) }),
|
|
1497
|
+
DropZone && /* @__PURE__ */ jsx16(DropZone, { zone: "footer-content" }),
|
|
1498
|
+
/* @__PURE__ */ jsx16("div", { className: "flex items-center gap-4", children: socialLinks.map(({ url, Icon: Icon3 }, index) => /* @__PURE__ */ jsx16(
|
|
1651
1499
|
"a",
|
|
1652
1500
|
{
|
|
1653
1501
|
href: url,
|
|
@@ -1655,11 +1503,11 @@ function Footer({
|
|
|
1655
1503
|
rel: "noopener noreferrer",
|
|
1656
1504
|
className: "transition-opacity hover:opacity-80",
|
|
1657
1505
|
onClick: () => handleSocialClick(url),
|
|
1658
|
-
children: /* @__PURE__ */
|
|
1506
|
+
children: /* @__PURE__ */ jsx16(Icon3, { size: 24, style: { color: textColor } })
|
|
1659
1507
|
},
|
|
1660
1508
|
index
|
|
1661
1509
|
)) }),
|
|
1662
|
-
copyright && /* @__PURE__ */
|
|
1510
|
+
copyright && /* @__PURE__ */ jsx16("p", { className: "text-sm opacity-80", children: copyright })
|
|
1663
1511
|
] })
|
|
1664
1512
|
}
|
|
1665
1513
|
);
|
|
@@ -1668,7 +1516,7 @@ function Footer({
|
|
|
1668
1516
|
// components/page/Topbar.tsx
|
|
1669
1517
|
import { useState as useState2 } from "react";
|
|
1670
1518
|
import { Menu, X } from "lucide-react";
|
|
1671
|
-
import { jsx as
|
|
1519
|
+
import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1672
1520
|
function Topbar({
|
|
1673
1521
|
logo,
|
|
1674
1522
|
logoUrl = "/",
|
|
@@ -1701,7 +1549,7 @@ function Topbar({
|
|
|
1701
1549
|
const renderLink = (item, index) => {
|
|
1702
1550
|
const className = "hover:opacity-80 transition-opacity";
|
|
1703
1551
|
if (item.linkType === "external") {
|
|
1704
|
-
return /* @__PURE__ */
|
|
1552
|
+
return /* @__PURE__ */ jsx17(
|
|
1705
1553
|
"a",
|
|
1706
1554
|
{
|
|
1707
1555
|
href: item.url,
|
|
@@ -1715,7 +1563,7 @@ function Topbar({
|
|
|
1715
1563
|
);
|
|
1716
1564
|
}
|
|
1717
1565
|
if (item.linkType === "scrollTo") {
|
|
1718
|
-
return /* @__PURE__ */
|
|
1566
|
+
return /* @__PURE__ */ jsx17(
|
|
1719
1567
|
"a",
|
|
1720
1568
|
{
|
|
1721
1569
|
href: item.url,
|
|
@@ -1726,7 +1574,7 @@ function Topbar({
|
|
|
1726
1574
|
index
|
|
1727
1575
|
);
|
|
1728
1576
|
}
|
|
1729
|
-
return /* @__PURE__ */
|
|
1577
|
+
return /* @__PURE__ */ jsx17(
|
|
1730
1578
|
"a",
|
|
1731
1579
|
{
|
|
1732
1580
|
href: item.url,
|
|
@@ -1749,7 +1597,7 @@ function Topbar({
|
|
|
1749
1597
|
className: "mx-auto flex items-center justify-between",
|
|
1750
1598
|
style: { maxWidth },
|
|
1751
1599
|
children: [
|
|
1752
|
-
/* @__PURE__ */
|
|
1600
|
+
/* @__PURE__ */ jsx17(
|
|
1753
1601
|
"a",
|
|
1754
1602
|
{
|
|
1755
1603
|
href: logoUrl,
|
|
@@ -1760,14 +1608,14 @@ function Topbar({
|
|
|
1760
1608
|
linkType: "internal",
|
|
1761
1609
|
...utm
|
|
1762
1610
|
}),
|
|
1763
|
-
children: logo ? /* @__PURE__ */
|
|
1611
|
+
children: logo ? /* @__PURE__ */ jsx17("img", { src: logo, alt: "Logo", className: "h-8" }) : /* @__PURE__ */ jsx17("span", { className: "text-xl font-bold", children: "Logo" })
|
|
1764
1612
|
}
|
|
1765
1613
|
),
|
|
1766
1614
|
/* @__PURE__ */ jsxs8("div", { className: "hidden items-center gap-8 md:flex", children: [
|
|
1767
1615
|
navItems.map(renderLink),
|
|
1768
|
-
DropZone && /* @__PURE__ */
|
|
1616
|
+
DropZone && /* @__PURE__ */ jsx17(DropZone, { zone: "cta" })
|
|
1769
1617
|
] }),
|
|
1770
|
-
/* @__PURE__ */
|
|
1618
|
+
/* @__PURE__ */ jsx17("button", { className: "md:hidden", onClick: handleMobileMenuToggle, children: mobileMenuOpen ? /* @__PURE__ */ jsx17(X, { size: 24 }) : /* @__PURE__ */ jsx17(Menu, { size: 24 }) })
|
|
1771
1619
|
]
|
|
1772
1620
|
}
|
|
1773
1621
|
),
|
|
@@ -1778,7 +1626,7 @@ function Topbar({
|
|
|
1778
1626
|
style: { backgroundColor },
|
|
1779
1627
|
children: [
|
|
1780
1628
|
navItems.map(renderLink),
|
|
1781
|
-
DropZone && /* @__PURE__ */
|
|
1629
|
+
DropZone && /* @__PURE__ */ jsx17(DropZone, { zone: "cta" })
|
|
1782
1630
|
]
|
|
1783
1631
|
}
|
|
1784
1632
|
)
|
|
@@ -1790,19 +1638,19 @@ function Topbar({
|
|
|
1790
1638
|
// components/page/Popup.tsx
|
|
1791
1639
|
import { useState as useState3 } from "react";
|
|
1792
1640
|
import { icons as icons4, X as X2 } from "lucide-react";
|
|
1793
|
-
import { Fragment as Fragment2, jsx as
|
|
1641
|
+
import { Fragment as Fragment2, jsx as jsx18, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1794
1642
|
function Icon2({ name, ...props }) {
|
|
1795
1643
|
const formatted = name.charAt(0).toUpperCase() + name.slice(1);
|
|
1796
1644
|
const IconComponent = icons4[formatted];
|
|
1797
1645
|
if (!IconComponent) return null;
|
|
1798
|
-
return /* @__PURE__ */
|
|
1646
|
+
return /* @__PURE__ */ jsx18(IconComponent, { ...props });
|
|
1799
1647
|
}
|
|
1800
1648
|
var widthMap3 = {
|
|
1801
1649
|
small: "max-w-sm",
|
|
1802
1650
|
medium: "max-w-lg",
|
|
1803
1651
|
large: "max-w-2xl"
|
|
1804
1652
|
};
|
|
1805
|
-
var
|
|
1653
|
+
var sizeMap6 = {
|
|
1806
1654
|
small: "px-3 py-1.5 text-sm",
|
|
1807
1655
|
medium: "px-4 py-2 text-base",
|
|
1808
1656
|
large: "px-6 py-3 text-lg"
|
|
@@ -1833,7 +1681,7 @@ function Popup({
|
|
|
1833
1681
|
setIsOpen(false);
|
|
1834
1682
|
sendEvent("popup_close", { ctaText, ...utm });
|
|
1835
1683
|
};
|
|
1836
|
-
const trigger = textLink ? /* @__PURE__ */
|
|
1684
|
+
const trigger = textLink ? /* @__PURE__ */ jsx18(
|
|
1837
1685
|
"button",
|
|
1838
1686
|
{
|
|
1839
1687
|
onClick: handleOpen,
|
|
@@ -1847,19 +1695,19 @@ function Popup({
|
|
|
1847
1695
|
onClick: handleOpen,
|
|
1848
1696
|
className: cn(
|
|
1849
1697
|
"flex items-center gap-2 rounded-full font-medium",
|
|
1850
|
-
|
|
1698
|
+
sizeMap6[size]
|
|
1851
1699
|
),
|
|
1852
1700
|
style: { backgroundColor: buttonColor, color: textColor },
|
|
1853
1701
|
children: [
|
|
1854
|
-
icon && iconPosition === "left" && /* @__PURE__ */
|
|
1702
|
+
icon && iconPosition === "left" && /* @__PURE__ */ jsx18(Icon2, { name: icon, size: 18 }),
|
|
1855
1703
|
ctaText,
|
|
1856
|
-
icon && iconPosition === "right" && /* @__PURE__ */
|
|
1704
|
+
icon && iconPosition === "right" && /* @__PURE__ */ jsx18(Icon2, { name: icon, size: 18 })
|
|
1857
1705
|
]
|
|
1858
1706
|
}
|
|
1859
1707
|
);
|
|
1860
1708
|
return /* @__PURE__ */ jsxs9(Fragment2, { children: [
|
|
1861
1709
|
trigger,
|
|
1862
|
-
isOpen && /* @__PURE__ */
|
|
1710
|
+
isOpen && /* @__PURE__ */ jsx18(
|
|
1863
1711
|
"div",
|
|
1864
1712
|
{
|
|
1865
1713
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
@@ -1873,15 +1721,15 @@ function Popup({
|
|
|
1873
1721
|
),
|
|
1874
1722
|
onClick: (e) => e.stopPropagation(),
|
|
1875
1723
|
children: [
|
|
1876
|
-
/* @__PURE__ */
|
|
1724
|
+
/* @__PURE__ */ jsx18(
|
|
1877
1725
|
"button",
|
|
1878
1726
|
{
|
|
1879
1727
|
onClick: handleClose,
|
|
1880
1728
|
className: "absolute top-4 right-4 text-gray-500 hover:text-gray-700",
|
|
1881
|
-
children: /* @__PURE__ */
|
|
1729
|
+
children: /* @__PURE__ */ jsx18(X2, { size: 24 })
|
|
1882
1730
|
}
|
|
1883
1731
|
),
|
|
1884
|
-
puck && /* @__PURE__ */
|
|
1732
|
+
puck && /* @__PURE__ */ jsx18(puck.renderDropZone, { zone: "popup-content" })
|
|
1885
1733
|
]
|
|
1886
1734
|
}
|
|
1887
1735
|
)
|
|
@@ -1890,9 +1738,79 @@ function Popup({
|
|
|
1890
1738
|
] });
|
|
1891
1739
|
}
|
|
1892
1740
|
|
|
1741
|
+
// components/page/primitives/Heading.ts
|
|
1742
|
+
var headingSizeMap = {
|
|
1743
|
+
xs: "0.875rem",
|
|
1744
|
+
sm: "1rem",
|
|
1745
|
+
md: "1.25rem",
|
|
1746
|
+
lg: "1.5rem",
|
|
1747
|
+
xl: "2rem",
|
|
1748
|
+
"2xl": "2.5rem",
|
|
1749
|
+
"3xl": "3rem",
|
|
1750
|
+
"4xl": "4rem"
|
|
1751
|
+
};
|
|
1752
|
+
var headingWeightMap = {
|
|
1753
|
+
normal: 400,
|
|
1754
|
+
medium: 500,
|
|
1755
|
+
semibold: 600,
|
|
1756
|
+
bold: 700,
|
|
1757
|
+
extrabold: 800
|
|
1758
|
+
};
|
|
1759
|
+
var headingLetterSpacingMap = {
|
|
1760
|
+
tight: "-0.025em",
|
|
1761
|
+
normal: "0",
|
|
1762
|
+
wide: "0.05em"
|
|
1763
|
+
};
|
|
1764
|
+
var headingLineHeightMap = {
|
|
1765
|
+
tight: "1.1",
|
|
1766
|
+
normal: "1.4",
|
|
1767
|
+
relaxed: "1.6"
|
|
1768
|
+
};
|
|
1769
|
+
function getHeadingStyle(props) {
|
|
1770
|
+
return {
|
|
1771
|
+
fontSize: headingSizeMap[props.size],
|
|
1772
|
+
fontWeight: headingWeightMap[props.weight],
|
|
1773
|
+
color: props.color,
|
|
1774
|
+
textAlign: props.align,
|
|
1775
|
+
letterSpacing: headingLetterSpacingMap[props.letterSpacing],
|
|
1776
|
+
lineHeight: headingLineHeightMap[props.lineHeight],
|
|
1777
|
+
margin: 0
|
|
1778
|
+
};
|
|
1779
|
+
}
|
|
1780
|
+
|
|
1781
|
+
// components/page/primitives/Paragraph.ts
|
|
1782
|
+
var paragraphSizeMap = {
|
|
1783
|
+
sm: "0.875rem",
|
|
1784
|
+
base: "1rem",
|
|
1785
|
+
lg: "1.125rem",
|
|
1786
|
+
xl: "1.25rem"
|
|
1787
|
+
};
|
|
1788
|
+
var paragraphWeightMap = {
|
|
1789
|
+
normal: 400,
|
|
1790
|
+
medium: 500,
|
|
1791
|
+
semibold: 600
|
|
1792
|
+
};
|
|
1793
|
+
var paragraphLineHeightMap = {
|
|
1794
|
+
tight: "1.4",
|
|
1795
|
+
normal: "1.6",
|
|
1796
|
+
relaxed: "1.75",
|
|
1797
|
+
loose: "2"
|
|
1798
|
+
};
|
|
1799
|
+
function getParagraphStyle(props) {
|
|
1800
|
+
return {
|
|
1801
|
+
fontSize: paragraphSizeMap[props.size],
|
|
1802
|
+
fontWeight: paragraphWeightMap[props.weight],
|
|
1803
|
+
color: props.color,
|
|
1804
|
+
textAlign: props.align,
|
|
1805
|
+
lineHeight: paragraphLineHeightMap[props.lineHeight],
|
|
1806
|
+
maxWidth: props.maxWidth || void 0,
|
|
1807
|
+
margin: 0
|
|
1808
|
+
};
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1893
1811
|
export {
|
|
1894
|
-
|
|
1895
|
-
|
|
1812
|
+
getHeadingStyle,
|
|
1813
|
+
getParagraphStyle,
|
|
1896
1814
|
Button,
|
|
1897
1815
|
Image,
|
|
1898
1816
|
ImageCarousel,
|