@mission-studio/puck 1.0.20 → 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-X6VGLL5Y.mjs → chunk-MWW5LYLN.mjs} +182 -222
- package/dist/{chunk-A2J2E524.mjs → chunk-WFLVAZV2.mjs} +67 -3
- package/dist/config/server.js +166 -181
- package/dist/config/server.mjs +50 -25
- package/dist/config-entry.js +53 -31
- package/dist/config-entry.mjs +5 -5
- package/dist/index.js +53 -31
- package/dist/index.mjs +5 -5
- package/dist/renderer.d.mts +9 -4
- package/dist/renderer.d.ts +9 -4
- package/dist/renderer.js +53 -31
- package/dist/renderer.mjs +5 -5
- package/package.json +1 -1
package/dist/config/server.mjs
CHANGED
|
@@ -11,18 +11,18 @@ import {
|
|
|
11
11
|
Icon,
|
|
12
12
|
Image,
|
|
13
13
|
ImageCarousel,
|
|
14
|
-
Paragraph,
|
|
15
14
|
Popup,
|
|
16
15
|
Section,
|
|
17
16
|
Spacer,
|
|
18
17
|
TextBlock,
|
|
19
18
|
Topbar,
|
|
20
19
|
VideoEmbed,
|
|
21
|
-
getHeadingStyle
|
|
22
|
-
|
|
20
|
+
getHeadingStyle,
|
|
21
|
+
getParagraphStyle
|
|
22
|
+
} from "../chunk-MWW5LYLN.mjs";
|
|
23
23
|
import "../chunk-PJXZC564.mjs";
|
|
24
|
-
import "../chunk-C6V3YUPF.mjs";
|
|
25
24
|
import "../chunk-QSWQDR6M.mjs";
|
|
25
|
+
import "../chunk-C6V3YUPF.mjs";
|
|
26
26
|
|
|
27
27
|
// components/page/astro/Heading.tsx
|
|
28
28
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -51,8 +51,33 @@ function Heading({
|
|
|
51
51
|
return /* @__PURE__ */ jsx(Tag, { id, style, children: resolvedText });
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
//
|
|
54
|
+
// components/page/astro/Paragraph.tsx
|
|
55
55
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
56
|
+
function Paragraph({
|
|
57
|
+
text,
|
|
58
|
+
size = "base",
|
|
59
|
+
weight = "normal",
|
|
60
|
+
color = "rgba(0, 0, 0, 1)",
|
|
61
|
+
align = "left",
|
|
62
|
+
lineHeight = "normal",
|
|
63
|
+
maxWidth,
|
|
64
|
+
id
|
|
65
|
+
}) {
|
|
66
|
+
const resolvedText = text || "";
|
|
67
|
+
const style = getParagraphStyle({
|
|
68
|
+
size,
|
|
69
|
+
weight,
|
|
70
|
+
color,
|
|
71
|
+
align,
|
|
72
|
+
lineHeight,
|
|
73
|
+
maxWidth
|
|
74
|
+
});
|
|
75
|
+
if (!resolvedText) return null;
|
|
76
|
+
return /* @__PURE__ */ jsx2("p", { id, style, children: resolvedText });
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// config/server.tsx
|
|
80
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
56
81
|
var config = {
|
|
57
82
|
categories: {
|
|
58
83
|
typography: {
|
|
@@ -94,64 +119,64 @@ var config = {
|
|
|
94
119
|
},
|
|
95
120
|
components: {
|
|
96
121
|
Heading: {
|
|
97
|
-
render: (props) => /* @__PURE__ */
|
|
122
|
+
render: (props) => /* @__PURE__ */ jsx3(Heading, { ...props })
|
|
98
123
|
},
|
|
99
124
|
Paragraph: {
|
|
100
|
-
render: (props) => /* @__PURE__ */
|
|
125
|
+
render: (props) => /* @__PURE__ */ jsx3(Paragraph, { ...props })
|
|
101
126
|
},
|
|
102
127
|
Button: {
|
|
103
|
-
render: (props) => /* @__PURE__ */
|
|
128
|
+
render: (props) => /* @__PURE__ */ jsx3(Button, { ...props })
|
|
104
129
|
},
|
|
105
130
|
Image: {
|
|
106
|
-
render: (props) => /* @__PURE__ */
|
|
131
|
+
render: (props) => /* @__PURE__ */ jsx3(Image, { ...props })
|
|
107
132
|
},
|
|
108
133
|
ImageCarousel: {
|
|
109
|
-
render: (props) => /* @__PURE__ */
|
|
134
|
+
render: (props) => /* @__PURE__ */ jsx3(ImageCarousel, { ...props })
|
|
110
135
|
},
|
|
111
136
|
VideoEmbed: {
|
|
112
|
-
render: (props) => /* @__PURE__ */
|
|
137
|
+
render: (props) => /* @__PURE__ */ jsx3(VideoEmbed, { ...props })
|
|
113
138
|
},
|
|
114
139
|
Icon: {
|
|
115
|
-
render: (props) => /* @__PURE__ */
|
|
140
|
+
render: (props) => /* @__PURE__ */ jsx3(Icon, { ...props })
|
|
116
141
|
},
|
|
117
142
|
Section: {
|
|
118
|
-
render: (props) => /* @__PURE__ */
|
|
143
|
+
render: (props) => /* @__PURE__ */ jsx3(Section, { ...props })
|
|
119
144
|
},
|
|
120
145
|
Container: {
|
|
121
|
-
render: (props) => /* @__PURE__ */
|
|
146
|
+
render: (props) => /* @__PURE__ */ jsx3(Container, { ...props })
|
|
122
147
|
},
|
|
123
148
|
Columns: {
|
|
124
|
-
render: (props) => /* @__PURE__ */
|
|
149
|
+
render: (props) => /* @__PURE__ */ jsx3(Columns, { ...props })
|
|
125
150
|
},
|
|
126
151
|
Card: {
|
|
127
|
-
render: (props) => /* @__PURE__ */
|
|
152
|
+
render: (props) => /* @__PURE__ */ jsx3(Card, { ...props })
|
|
128
153
|
},
|
|
129
154
|
Divider: {
|
|
130
|
-
render: (props) => /* @__PURE__ */
|
|
155
|
+
render: (props) => /* @__PURE__ */ jsx3(Divider, { ...props })
|
|
131
156
|
},
|
|
132
157
|
Spacer: {
|
|
133
|
-
render: (props) => /* @__PURE__ */
|
|
158
|
+
render: (props) => /* @__PURE__ */ jsx3(Spacer, { ...props })
|
|
134
159
|
},
|
|
135
160
|
TextBlock: {
|
|
136
|
-
render: (props) => /* @__PURE__ */
|
|
161
|
+
render: (props) => /* @__PURE__ */ jsx3(TextBlock, { ...props })
|
|
137
162
|
},
|
|
138
163
|
CustomImage: {
|
|
139
|
-
render: (props) => /* @__PURE__ */
|
|
164
|
+
render: (props) => /* @__PURE__ */ jsx3(CustomImage, { ...props })
|
|
140
165
|
},
|
|
141
166
|
FeaturesList: {
|
|
142
|
-
render: (props) => /* @__PURE__ */
|
|
167
|
+
render: (props) => /* @__PURE__ */ jsx3(FeaturesList, { ...props })
|
|
143
168
|
},
|
|
144
169
|
FeatureGrid: {
|
|
145
|
-
render: (props) => /* @__PURE__ */
|
|
170
|
+
render: (props) => /* @__PURE__ */ jsx3(FeatureGrid, { ...props })
|
|
146
171
|
},
|
|
147
172
|
Footer: {
|
|
148
|
-
render: (props) => /* @__PURE__ */
|
|
173
|
+
render: (props) => /* @__PURE__ */ jsx3(Footer, { ...props })
|
|
149
174
|
},
|
|
150
175
|
Topbar: {
|
|
151
|
-
render: (props) => /* @__PURE__ */
|
|
176
|
+
render: (props) => /* @__PURE__ */ jsx3(Topbar, { ...props })
|
|
152
177
|
},
|
|
153
178
|
Popup: {
|
|
154
|
-
render: (props) => /* @__PURE__ */
|
|
179
|
+
render: (props) => /* @__PURE__ */ jsx3(Popup, { ...props })
|
|
155
180
|
}
|
|
156
181
|
}
|
|
157
182
|
};
|
package/dist/config-entry.js
CHANGED
|
@@ -258,25 +258,38 @@ function Heading({
|
|
|
258
258
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Tag, { id, style, children: resolvedText });
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
-
// components/page/Paragraph.
|
|
262
|
-
var
|
|
263
|
-
var sizeMap = {
|
|
261
|
+
// components/page/primitives/Paragraph.ts
|
|
262
|
+
var paragraphSizeMap = {
|
|
264
263
|
sm: "0.875rem",
|
|
265
264
|
base: "1rem",
|
|
266
265
|
lg: "1.125rem",
|
|
267
266
|
xl: "1.25rem"
|
|
268
267
|
};
|
|
269
|
-
var
|
|
268
|
+
var paragraphWeightMap = {
|
|
270
269
|
normal: 400,
|
|
271
270
|
medium: 500,
|
|
272
271
|
semibold: 600
|
|
273
272
|
};
|
|
274
|
-
var
|
|
273
|
+
var paragraphLineHeightMap = {
|
|
275
274
|
tight: "1.4",
|
|
276
275
|
normal: "1.6",
|
|
277
276
|
relaxed: "1.75",
|
|
278
277
|
loose: "2"
|
|
279
278
|
};
|
|
279
|
+
function getParagraphStyle(props) {
|
|
280
|
+
return {
|
|
281
|
+
fontSize: paragraphSizeMap[props.size],
|
|
282
|
+
fontWeight: paragraphWeightMap[props.weight],
|
|
283
|
+
color: props.color,
|
|
284
|
+
textAlign: props.align,
|
|
285
|
+
lineHeight: paragraphLineHeightMap[props.lineHeight],
|
|
286
|
+
maxWidth: props.maxWidth || void 0,
|
|
287
|
+
margin: 0
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// components/page/next/Paragraph.tsx
|
|
292
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
280
293
|
function isThemeableValue2(value) {
|
|
281
294
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
282
295
|
}
|
|
@@ -307,23 +320,32 @@ function Paragraph({
|
|
|
307
320
|
return "";
|
|
308
321
|
})();
|
|
309
322
|
const resolvedColor = (() => {
|
|
310
|
-
if (!color)
|
|
311
|
-
|
|
323
|
+
if (!color)
|
|
324
|
+
return hexToRgba(
|
|
325
|
+
resolveColor2("foreground").color,
|
|
326
|
+
resolveColor2("foreground").opacity
|
|
327
|
+
);
|
|
328
|
+
if (typeof color === "string") return color;
|
|
312
329
|
if (isThemeableValue2(color)) {
|
|
313
|
-
return color.useTheme ?
|
|
330
|
+
return color.useTheme ? hexToRgba(
|
|
331
|
+
resolveColor2(color.themeKey).color,
|
|
332
|
+
resolveColor2(color.themeKey).opacity
|
|
333
|
+
) : hexToRgba(color.value.color, color.value.opacity);
|
|
314
334
|
}
|
|
315
|
-
if ("color" in color) return color;
|
|
316
|
-
return
|
|
335
|
+
if ("color" in color) return hexToRgba(color.color, color.opacity);
|
|
336
|
+
return hexToRgba(
|
|
337
|
+
resolveColor2("foreground").color,
|
|
338
|
+
resolveColor2("foreground").opacity
|
|
339
|
+
);
|
|
317
340
|
})();
|
|
318
|
-
const style = {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
color:
|
|
322
|
-
|
|
323
|
-
lineHeight
|
|
324
|
-
maxWidth
|
|
325
|
-
|
|
326
|
-
};
|
|
341
|
+
const style = getParagraphStyle({
|
|
342
|
+
size: size4,
|
|
343
|
+
weight,
|
|
344
|
+
color: resolvedColor,
|
|
345
|
+
align,
|
|
346
|
+
lineHeight,
|
|
347
|
+
maxWidth
|
|
348
|
+
});
|
|
327
349
|
if (!resolvedText) return null;
|
|
328
350
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("p", { id, style, children: resolvedText });
|
|
329
351
|
}
|
|
@@ -984,7 +1006,7 @@ function VideoEmbed({
|
|
|
984
1006
|
|
|
985
1007
|
// components/page/Icon.tsx
|
|
986
1008
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
987
|
-
var
|
|
1009
|
+
var sizeMap = {
|
|
988
1010
|
sm: { size: "16px", strokeWidth: 2 },
|
|
989
1011
|
md: { size: "24px", strokeWidth: 2 },
|
|
990
1012
|
lg: { size: "32px", strokeWidth: 1.5 },
|
|
@@ -1202,7 +1224,7 @@ function Icon({
|
|
|
1202
1224
|
return resolveColor2("primary");
|
|
1203
1225
|
})();
|
|
1204
1226
|
const IconComponent = icons[name.toLowerCase()] || icons.check;
|
|
1205
|
-
const { size: iconSize, strokeWidth } =
|
|
1227
|
+
const { size: iconSize, strokeWidth } = sizeMap[size4];
|
|
1206
1228
|
const colorValue = hexToRgba(resolvedColor.color, resolvedColor.opacity);
|
|
1207
1229
|
const wrapperStyle = {
|
|
1208
1230
|
display: "flex",
|
|
@@ -1546,7 +1568,7 @@ function Divider({
|
|
|
1546
1568
|
|
|
1547
1569
|
// components/page/Spacer.tsx
|
|
1548
1570
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1549
|
-
var
|
|
1571
|
+
var sizeMap2 = {
|
|
1550
1572
|
xs: "8px",
|
|
1551
1573
|
sm: "16px",
|
|
1552
1574
|
md: "24px",
|
|
@@ -1557,7 +1579,7 @@ var sizeMap3 = {
|
|
|
1557
1579
|
};
|
|
1558
1580
|
function Spacer({ size: size4 = "md", id }) {
|
|
1559
1581
|
const style = {
|
|
1560
|
-
height:
|
|
1582
|
+
height: sizeMap2[size4],
|
|
1561
1583
|
width: "100%"
|
|
1562
1584
|
};
|
|
1563
1585
|
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { id, style, "aria-hidden": "true" });
|
|
@@ -1570,7 +1592,7 @@ var alignmentMap = {
|
|
|
1570
1592
|
center: "text-center",
|
|
1571
1593
|
right: "text-right"
|
|
1572
1594
|
};
|
|
1573
|
-
var
|
|
1595
|
+
var sizeMap3 = {
|
|
1574
1596
|
small: "text-2xl",
|
|
1575
1597
|
"medium-small": "text-3xl",
|
|
1576
1598
|
medium: "text-4xl",
|
|
@@ -1659,7 +1681,7 @@ function TextBlock({
|
|
|
1659
1681
|
resolvedTitle && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1660
1682
|
"h2",
|
|
1661
1683
|
{
|
|
1662
|
-
className: cn("font-bold",
|
|
1684
|
+
className: cn("font-bold", sizeMap3[textSize]),
|
|
1663
1685
|
style: gradientStyle,
|
|
1664
1686
|
children: resolvedTitle
|
|
1665
1687
|
}
|
|
@@ -1713,7 +1735,7 @@ function CustomImage({
|
|
|
1713
1735
|
// components/page/FeaturesList.tsx
|
|
1714
1736
|
var import_lucide_react = require("lucide-react");
|
|
1715
1737
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1716
|
-
var
|
|
1738
|
+
var sizeMap4 = {
|
|
1717
1739
|
small: { icon: 24, title: "text-base", desc: "text-sm" },
|
|
1718
1740
|
medium: { icon: 32, title: "text-lg", desc: "text-base" },
|
|
1719
1741
|
large: { icon: 48, title: "text-xl", desc: "text-lg" }
|
|
@@ -1725,7 +1747,7 @@ function FeaturesList({
|
|
|
1725
1747
|
iconColor = "#000000",
|
|
1726
1748
|
anchorLink
|
|
1727
1749
|
}) {
|
|
1728
|
-
const sizeConfig =
|
|
1750
|
+
const sizeConfig = sizeMap4[size4];
|
|
1729
1751
|
const getIcon = (iconName) => {
|
|
1730
1752
|
const formatted = iconName.charAt(0).toUpperCase() + iconName.slice(1);
|
|
1731
1753
|
return import_lucide_react.icons[formatted] || null;
|
|
@@ -1782,7 +1804,7 @@ function FeaturesList({
|
|
|
1782
1804
|
// components/page/FeatureGrid.tsx
|
|
1783
1805
|
var import_lucide_react2 = require("lucide-react");
|
|
1784
1806
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1785
|
-
var
|
|
1807
|
+
var sizeMap5 = {
|
|
1786
1808
|
small: { icon: 24, title: "text-base", desc: "text-sm" },
|
|
1787
1809
|
medium: { icon: 32, title: "text-lg", desc: "text-base" },
|
|
1788
1810
|
large: { icon: 48, title: "text-xl", desc: "text-lg" }
|
|
@@ -1798,7 +1820,7 @@ function FeatureGrid({
|
|
|
1798
1820
|
textColor = "#000000",
|
|
1799
1821
|
anchorLink
|
|
1800
1822
|
}) {
|
|
1801
|
-
const sizeConfig =
|
|
1823
|
+
const sizeConfig = sizeMap5[size4];
|
|
1802
1824
|
const getIcon = (iconName) => {
|
|
1803
1825
|
const formatted = iconName.charAt(0).toUpperCase() + iconName.slice(1);
|
|
1804
1826
|
return import_lucide_react2.icons[formatted] || null;
|
|
@@ -2065,7 +2087,7 @@ var widthMap3 = {
|
|
|
2065
2087
|
medium: "max-w-lg",
|
|
2066
2088
|
large: "max-w-2xl"
|
|
2067
2089
|
};
|
|
2068
|
-
var
|
|
2090
|
+
var sizeMap6 = {
|
|
2069
2091
|
small: "px-3 py-1.5 text-sm",
|
|
2070
2092
|
medium: "px-4 py-2 text-base",
|
|
2071
2093
|
large: "px-6 py-3 text-lg"
|
|
@@ -2110,7 +2132,7 @@ function Popup({
|
|
|
2110
2132
|
onClick: handleOpen,
|
|
2111
2133
|
className: cn(
|
|
2112
2134
|
"flex items-center gap-2 rounded-full font-medium",
|
|
2113
|
-
|
|
2135
|
+
sizeMap6[size4]
|
|
2114
2136
|
),
|
|
2115
2137
|
style: { backgroundColor: buttonColor, color: textColor },
|
|
2116
2138
|
children: [
|
package/dist/config-entry.mjs
CHANGED
|
@@ -9,8 +9,9 @@ import {
|
|
|
9
9
|
} from "./chunk-VF4NOAJG.mjs";
|
|
10
10
|
import "./chunk-A3QDUUOF.mjs";
|
|
11
11
|
import {
|
|
12
|
-
Heading
|
|
13
|
-
|
|
12
|
+
Heading,
|
|
13
|
+
Paragraph
|
|
14
|
+
} from "./chunk-WFLVAZV2.mjs";
|
|
14
15
|
import {
|
|
15
16
|
Button,
|
|
16
17
|
Card,
|
|
@@ -24,7 +25,6 @@ import {
|
|
|
24
25
|
Icon,
|
|
25
26
|
Image,
|
|
26
27
|
ImageCarousel,
|
|
27
|
-
Paragraph,
|
|
28
28
|
Popup,
|
|
29
29
|
Section,
|
|
30
30
|
Spacer,
|
|
@@ -32,10 +32,10 @@ import {
|
|
|
32
32
|
Topbar,
|
|
33
33
|
VideoEmbed,
|
|
34
34
|
availableIcons
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-MWW5LYLN.mjs";
|
|
36
36
|
import "./chunk-PJXZC564.mjs";
|
|
37
|
-
import "./chunk-C6V3YUPF.mjs";
|
|
38
37
|
import "./chunk-QSWQDR6M.mjs";
|
|
38
|
+
import "./chunk-C6V3YUPF.mjs";
|
|
39
39
|
|
|
40
40
|
// config.tsx
|
|
41
41
|
import { jsx } from "react/jsx-runtime";
|
package/dist/index.js
CHANGED
|
@@ -288,25 +288,38 @@ function Heading({
|
|
|
288
288
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Tag, { id, style, children: resolvedText });
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
// components/page/Paragraph.
|
|
292
|
-
var
|
|
293
|
-
var sizeMap = {
|
|
291
|
+
// components/page/primitives/Paragraph.ts
|
|
292
|
+
var paragraphSizeMap = {
|
|
294
293
|
sm: "0.875rem",
|
|
295
294
|
base: "1rem",
|
|
296
295
|
lg: "1.125rem",
|
|
297
296
|
xl: "1.25rem"
|
|
298
297
|
};
|
|
299
|
-
var
|
|
298
|
+
var paragraphWeightMap = {
|
|
300
299
|
normal: 400,
|
|
301
300
|
medium: 500,
|
|
302
301
|
semibold: 600
|
|
303
302
|
};
|
|
304
|
-
var
|
|
303
|
+
var paragraphLineHeightMap = {
|
|
305
304
|
tight: "1.4",
|
|
306
305
|
normal: "1.6",
|
|
307
306
|
relaxed: "1.75",
|
|
308
307
|
loose: "2"
|
|
309
308
|
};
|
|
309
|
+
function getParagraphStyle(props) {
|
|
310
|
+
return {
|
|
311
|
+
fontSize: paragraphSizeMap[props.size],
|
|
312
|
+
fontWeight: paragraphWeightMap[props.weight],
|
|
313
|
+
color: props.color,
|
|
314
|
+
textAlign: props.align,
|
|
315
|
+
lineHeight: paragraphLineHeightMap[props.lineHeight],
|
|
316
|
+
maxWidth: props.maxWidth || void 0,
|
|
317
|
+
margin: 0
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// components/page/next/Paragraph.tsx
|
|
322
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
310
323
|
function isThemeableValue2(value) {
|
|
311
324
|
return typeof value === "object" && value !== null && "useTheme" in value;
|
|
312
325
|
}
|
|
@@ -337,23 +350,32 @@ function Paragraph({
|
|
|
337
350
|
return "";
|
|
338
351
|
})();
|
|
339
352
|
const resolvedColor = (() => {
|
|
340
|
-
if (!color)
|
|
341
|
-
|
|
353
|
+
if (!color)
|
|
354
|
+
return hexToRgba(
|
|
355
|
+
resolveColor2("foreground").color,
|
|
356
|
+
resolveColor2("foreground").opacity
|
|
357
|
+
);
|
|
358
|
+
if (typeof color === "string") return color;
|
|
342
359
|
if (isThemeableValue2(color)) {
|
|
343
|
-
return color.useTheme ?
|
|
360
|
+
return color.useTheme ? hexToRgba(
|
|
361
|
+
resolveColor2(color.themeKey).color,
|
|
362
|
+
resolveColor2(color.themeKey).opacity
|
|
363
|
+
) : hexToRgba(color.value.color, color.value.opacity);
|
|
344
364
|
}
|
|
345
|
-
if ("color" in color) return color;
|
|
346
|
-
return
|
|
365
|
+
if ("color" in color) return hexToRgba(color.color, color.opacity);
|
|
366
|
+
return hexToRgba(
|
|
367
|
+
resolveColor2("foreground").color,
|
|
368
|
+
resolveColor2("foreground").opacity
|
|
369
|
+
);
|
|
347
370
|
})();
|
|
348
|
-
const style = {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
color:
|
|
352
|
-
|
|
353
|
-
lineHeight
|
|
354
|
-
maxWidth
|
|
355
|
-
|
|
356
|
-
};
|
|
371
|
+
const style = getParagraphStyle({
|
|
372
|
+
size,
|
|
373
|
+
weight,
|
|
374
|
+
color: resolvedColor,
|
|
375
|
+
align,
|
|
376
|
+
lineHeight,
|
|
377
|
+
maxWidth
|
|
378
|
+
});
|
|
357
379
|
if (!resolvedText) return null;
|
|
358
380
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("p", { id, style, children: resolvedText });
|
|
359
381
|
}
|
|
@@ -1014,7 +1036,7 @@ function VideoEmbed({
|
|
|
1014
1036
|
|
|
1015
1037
|
// components/page/Icon.tsx
|
|
1016
1038
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
1017
|
-
var
|
|
1039
|
+
var sizeMap = {
|
|
1018
1040
|
sm: { size: "16px", strokeWidth: 2 },
|
|
1019
1041
|
md: { size: "24px", strokeWidth: 2 },
|
|
1020
1042
|
lg: { size: "32px", strokeWidth: 1.5 },
|
|
@@ -1232,7 +1254,7 @@ function Icon({
|
|
|
1232
1254
|
return resolveColor2("primary");
|
|
1233
1255
|
})();
|
|
1234
1256
|
const IconComponent = icons[name.toLowerCase()] || icons.check;
|
|
1235
|
-
const { size: iconSize, strokeWidth } =
|
|
1257
|
+
const { size: iconSize, strokeWidth } = sizeMap[size];
|
|
1236
1258
|
const colorValue = hexToRgba(resolvedColor.color, resolvedColor.opacity);
|
|
1237
1259
|
const wrapperStyle = {
|
|
1238
1260
|
display: "flex",
|
|
@@ -1576,7 +1598,7 @@ function Divider({
|
|
|
1576
1598
|
|
|
1577
1599
|
// components/page/Spacer.tsx
|
|
1578
1600
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1579
|
-
var
|
|
1601
|
+
var sizeMap2 = {
|
|
1580
1602
|
xs: "8px",
|
|
1581
1603
|
sm: "16px",
|
|
1582
1604
|
md: "24px",
|
|
@@ -1587,7 +1609,7 @@ var sizeMap3 = {
|
|
|
1587
1609
|
};
|
|
1588
1610
|
function Spacer({ size = "md", id }) {
|
|
1589
1611
|
const style = {
|
|
1590
|
-
height:
|
|
1612
|
+
height: sizeMap2[size],
|
|
1591
1613
|
width: "100%"
|
|
1592
1614
|
};
|
|
1593
1615
|
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { id, style, "aria-hidden": "true" });
|
|
@@ -1600,7 +1622,7 @@ var alignmentMap = {
|
|
|
1600
1622
|
center: "text-center",
|
|
1601
1623
|
right: "text-right"
|
|
1602
1624
|
};
|
|
1603
|
-
var
|
|
1625
|
+
var sizeMap3 = {
|
|
1604
1626
|
small: "text-2xl",
|
|
1605
1627
|
"medium-small": "text-3xl",
|
|
1606
1628
|
medium: "text-4xl",
|
|
@@ -1689,7 +1711,7 @@ function TextBlock({
|
|
|
1689
1711
|
resolvedTitle && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1690
1712
|
"h2",
|
|
1691
1713
|
{
|
|
1692
|
-
className: cn("font-bold",
|
|
1714
|
+
className: cn("font-bold", sizeMap3[textSize]),
|
|
1693
1715
|
style: gradientStyle,
|
|
1694
1716
|
children: resolvedTitle
|
|
1695
1717
|
}
|
|
@@ -1743,7 +1765,7 @@ function CustomImage({
|
|
|
1743
1765
|
// components/page/FeaturesList.tsx
|
|
1744
1766
|
var import_lucide_react = require("lucide-react");
|
|
1745
1767
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1746
|
-
var
|
|
1768
|
+
var sizeMap4 = {
|
|
1747
1769
|
small: { icon: 24, title: "text-base", desc: "text-sm" },
|
|
1748
1770
|
medium: { icon: 32, title: "text-lg", desc: "text-base" },
|
|
1749
1771
|
large: { icon: 48, title: "text-xl", desc: "text-lg" }
|
|
@@ -1755,7 +1777,7 @@ function FeaturesList({
|
|
|
1755
1777
|
iconColor = "#000000",
|
|
1756
1778
|
anchorLink
|
|
1757
1779
|
}) {
|
|
1758
|
-
const sizeConfig =
|
|
1780
|
+
const sizeConfig = sizeMap4[size];
|
|
1759
1781
|
const getIcon = (iconName) => {
|
|
1760
1782
|
const formatted = iconName.charAt(0).toUpperCase() + iconName.slice(1);
|
|
1761
1783
|
return import_lucide_react.icons[formatted] || null;
|
|
@@ -1812,7 +1834,7 @@ function FeaturesList({
|
|
|
1812
1834
|
// components/page/FeatureGrid.tsx
|
|
1813
1835
|
var import_lucide_react2 = require("lucide-react");
|
|
1814
1836
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1815
|
-
var
|
|
1837
|
+
var sizeMap5 = {
|
|
1816
1838
|
small: { icon: 24, title: "text-base", desc: "text-sm" },
|
|
1817
1839
|
medium: { icon: 32, title: "text-lg", desc: "text-base" },
|
|
1818
1840
|
large: { icon: 48, title: "text-xl", desc: "text-lg" }
|
|
@@ -1828,7 +1850,7 @@ function FeatureGrid({
|
|
|
1828
1850
|
textColor = "#000000",
|
|
1829
1851
|
anchorLink
|
|
1830
1852
|
}) {
|
|
1831
|
-
const sizeConfig =
|
|
1853
|
+
const sizeConfig = sizeMap5[size];
|
|
1832
1854
|
const getIcon = (iconName) => {
|
|
1833
1855
|
const formatted = iconName.charAt(0).toUpperCase() + iconName.slice(1);
|
|
1834
1856
|
return import_lucide_react2.icons[formatted] || null;
|
|
@@ -2095,7 +2117,7 @@ var widthMap3 = {
|
|
|
2095
2117
|
medium: "max-w-lg",
|
|
2096
2118
|
large: "max-w-2xl"
|
|
2097
2119
|
};
|
|
2098
|
-
var
|
|
2120
|
+
var sizeMap6 = {
|
|
2099
2121
|
small: "px-3 py-1.5 text-sm",
|
|
2100
2122
|
medium: "px-4 py-2 text-base",
|
|
2101
2123
|
large: "px-6 py-3 text-lg"
|
|
@@ -2140,7 +2162,7 @@ function Popup({
|
|
|
2140
2162
|
onClick: handleOpen,
|
|
2141
2163
|
className: cn(
|
|
2142
2164
|
"flex items-center gap-2 rounded-full font-medium",
|
|
2143
|
-
|
|
2165
|
+
sizeMap6[size]
|
|
2144
2166
|
),
|
|
2145
2167
|
style: { backgroundColor: buttonColor, color: textColor },
|
|
2146
2168
|
children: [
|
package/dist/index.mjs
CHANGED
|
@@ -14,8 +14,9 @@ import {
|
|
|
14
14
|
spacingScale
|
|
15
15
|
} from "./chunk-A3QDUUOF.mjs";
|
|
16
16
|
import {
|
|
17
|
-
Heading
|
|
18
|
-
|
|
17
|
+
Heading,
|
|
18
|
+
Paragraph
|
|
19
|
+
} from "./chunk-WFLVAZV2.mjs";
|
|
19
20
|
import {
|
|
20
21
|
Button,
|
|
21
22
|
Card,
|
|
@@ -29,7 +30,6 @@ import {
|
|
|
29
30
|
Icon,
|
|
30
31
|
Image,
|
|
31
32
|
ImageCarousel,
|
|
32
|
-
Paragraph,
|
|
33
33
|
Popup,
|
|
34
34
|
Section,
|
|
35
35
|
Spacer,
|
|
@@ -37,17 +37,17 @@ import {
|
|
|
37
37
|
Topbar,
|
|
38
38
|
VideoEmbed,
|
|
39
39
|
availableIcons
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-MWW5LYLN.mjs";
|
|
41
41
|
import {
|
|
42
42
|
ThemeProvider,
|
|
43
43
|
getShadowCSS,
|
|
44
44
|
shadowPresets,
|
|
45
45
|
useTheme
|
|
46
46
|
} from "./chunk-PJXZC564.mjs";
|
|
47
|
+
import "./chunk-QSWQDR6M.mjs";
|
|
47
48
|
import {
|
|
48
49
|
DEFAULT_THEME
|
|
49
50
|
} from "./chunk-C6V3YUPF.mjs";
|
|
50
|
-
import "./chunk-QSWQDR6M.mjs";
|
|
51
51
|
export {
|
|
52
52
|
Button,
|
|
53
53
|
Card,
|
package/dist/renderer.d.mts
CHANGED
|
@@ -28,13 +28,18 @@ type HeadingProps = {
|
|
|
28
28
|
};
|
|
29
29
|
declare function Heading({ text, level, size, weight, color, align, letterSpacing, lineHeight, id, }: HeadingProps): react_jsx_runtime.JSX.Element | null;
|
|
30
30
|
|
|
31
|
+
type ParagraphSize = "sm" | "base" | "lg" | "xl";
|
|
32
|
+
type ParagraphWeight = "normal" | "medium" | "semibold";
|
|
33
|
+
type ParagraphAlign = "left" | "center" | "right" | "justify";
|
|
34
|
+
type ParagraphLineHeight = "tight" | "normal" | "relaxed" | "loose";
|
|
35
|
+
|
|
31
36
|
type ParagraphProps = {
|
|
32
37
|
text?: EntryBoundValue<string> | string;
|
|
33
|
-
size?:
|
|
34
|
-
weight?:
|
|
38
|
+
size?: ParagraphSize;
|
|
39
|
+
weight?: ParagraphWeight;
|
|
35
40
|
color?: ThemeableColorValue | ColorValue | string;
|
|
36
|
-
align?:
|
|
37
|
-
lineHeight?:
|
|
41
|
+
align?: ParagraphAlign;
|
|
42
|
+
lineHeight?: ParagraphLineHeight;
|
|
38
43
|
maxWidth?: string;
|
|
39
44
|
id?: string;
|
|
40
45
|
puck?: unknown;
|
package/dist/renderer.d.ts
CHANGED
|
@@ -28,13 +28,18 @@ type HeadingProps = {
|
|
|
28
28
|
};
|
|
29
29
|
declare function Heading({ text, level, size, weight, color, align, letterSpacing, lineHeight, id, }: HeadingProps): react_jsx_runtime.JSX.Element | null;
|
|
30
30
|
|
|
31
|
+
type ParagraphSize = "sm" | "base" | "lg" | "xl";
|
|
32
|
+
type ParagraphWeight = "normal" | "medium" | "semibold";
|
|
33
|
+
type ParagraphAlign = "left" | "center" | "right" | "justify";
|
|
34
|
+
type ParagraphLineHeight = "tight" | "normal" | "relaxed" | "loose";
|
|
35
|
+
|
|
31
36
|
type ParagraphProps = {
|
|
32
37
|
text?: EntryBoundValue<string> | string;
|
|
33
|
-
size?:
|
|
34
|
-
weight?:
|
|
38
|
+
size?: ParagraphSize;
|
|
39
|
+
weight?: ParagraphWeight;
|
|
35
40
|
color?: ThemeableColorValue | ColorValue | string;
|
|
36
|
-
align?:
|
|
37
|
-
lineHeight?:
|
|
41
|
+
align?: ParagraphAlign;
|
|
42
|
+
lineHeight?: ParagraphLineHeight;
|
|
38
43
|
maxWidth?: string;
|
|
39
44
|
id?: string;
|
|
40
45
|
puck?: unknown;
|