@mission-studio/puck 1.0.20 → 1.0.23

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/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.tsx
292
- var import_jsx_runtime4 = require("react/jsx-runtime");
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 weightMap = {
298
+ var paragraphWeightMap = {
300
299
  normal: 400,
301
300
  medium: 500,
302
301
  semibold: 600
303
302
  };
304
- var lineHeightMap = {
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) return resolveColor2("foreground");
341
- if (typeof color === "string") return { color, opacity: 100 };
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 ? resolveColor2(color.themeKey) : color.value;
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 resolveColor2("foreground");
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
- fontSize: sizeMap[size],
350
- fontWeight: weightMap[weight],
351
- color: hexToRgba(resolvedColor.color, resolvedColor.opacity),
352
- textAlign: align,
353
- lineHeight: lineHeightMap[lineHeight],
354
- maxWidth: maxWidth || void 0,
355
- margin: 0
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 sizeMap2 = {
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 } = sizeMap2[size];
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 sizeMap3 = {
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: sizeMap3[size],
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 sizeMap4 = {
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", sizeMap4[textSize]),
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 sizeMap5 = {
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 = sizeMap5[size];
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 sizeMap6 = {
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 = sizeMap6[size];
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 sizeMap7 = {
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
- sizeMap7[size]
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
- } from "./chunk-A2J2E524.mjs";
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-X6VGLL5Y.mjs";
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,
@@ -1,17 +1,12 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { n as EntryBoundValue, j as ThemeableColorValue, C as ColorValue } from './types-D-CIduaE.mjs';
3
- export { P as PageTheme, T as ThemeBorderKey, a as ThemeBorders, b as ThemeColorKey, c as ThemeColors, d as ThemeShadowKey, e as ThemeShadows, f as ThemeSpacing, g as ThemeSpacingKey, h as ThemeTypography, i as ThemeableBorderRadiusValue, k as ThemeableShadowValue, l as ThemeableSpacingValue } from './types-D-CIduaE.mjs';
4
- import { ReactNode } from 'react';
5
- import { R as ResponsiveVisibility } from './ResponsiveToggleField-BihXsGIJ.mjs';
6
- export { D as DEFAULT_THEME, T as ThemeProvider, u as useTheme } from './ResponsiveToggleField-BihXsGIJ.mjs';
7
- import { PuckContext } from '@measured/puck';
8
-
9
- type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
10
- type HeadingSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
11
- type HeadingWeight = "normal" | "medium" | "semibold" | "bold" | "extrabold";
12
- type HeadingAlign = "left" | "center" | "right";
13
- type HeadingLetterSpacing = "tight" | "normal" | "wide";
14
- type HeadingLineHeight = "tight" | "normal" | "relaxed";
2
+ import { n as EntryBoundValue, j as ThemeableColorValue, m as ColorValue } from './types-HQ6hIbYr.mjs';
3
+ export { P as PageTheme, T as ThemeBorderKey, a as ThemeBorders, b as ThemeColorKey, c as ThemeColors, d as ThemeShadowKey, e as ThemeShadows, f as ThemeSpacing, g as ThemeSpacingKey, h as ThemeTypography, i as ThemeableBorderRadiusValue, k as ThemeableShadowValue, l as ThemeableSpacingValue } from './types-HQ6hIbYr.mjs';
4
+ import { H as HeadingLevel, J as HeadingSize, K as HeadingWeight, L as HeadingAlign, M as HeadingLetterSpacing, N as HeadingLineHeight, O as ParagraphSize, Q as ParagraphWeight, R as ParagraphAlign, U as ParagraphLineHeight } from './Popup-llKrR-vO.mjs';
5
+ export { B as Button, a as ButtonProps, C as Card, b as CardProps, c as CarouselImage, d as Columns, e as ColumnsProps, f as Container, g as ContainerProps, h as CustomImage, i as CustomImageProps, D as Divider, j as DividerProps, F as FeatureGrid, k as FeatureGridProps, l as FeaturesList, m as FeaturesListProps, n as Footer, o as FooterProps, I as Icon, p as IconProps, q as Image, r as ImageCarousel, s as ImageCarouselProps, t as ImageProps, P as Popup, u as PopupProps, S as Section, v as SectionProps, w as Spacer, x as SpacerProps, T as TextBlock, y as TextBlockProps, z as Topbar, A as TopbarProps, V as VideoEmbed, E as VideoEmbedProps, G as availableIcons } from './Popup-llKrR-vO.mjs';
6
+ export { D as DEFAULT_THEME, T as ThemeProvider, u as useTheme } from './defaults-j55hBQHu.mjs';
7
+ import 'react';
8
+ import './ResponsiveToggleField-65CqZEK-.mjs';
9
+ import '@measured/puck';
15
10
 
16
11
  type HeadingProps = {
17
12
  text?: EntryBoundValue<string> | string;
@@ -30,11 +25,11 @@ declare function Heading({ text, level, size, weight, color, align, letterSpacin
30
25
 
31
26
  type ParagraphProps = {
32
27
  text?: EntryBoundValue<string> | string;
33
- size?: "sm" | "base" | "lg" | "xl";
34
- weight?: "normal" | "medium" | "semibold";
28
+ size?: ParagraphSize;
29
+ weight?: ParagraphWeight;
35
30
  color?: ThemeableColorValue | ColorValue | string;
36
- align?: "left" | "center" | "right" | "justify";
37
- lineHeight?: "tight" | "normal" | "relaxed" | "loose";
31
+ align?: ParagraphAlign;
32
+ lineHeight?: ParagraphLineHeight;
38
33
  maxWidth?: string;
39
34
  id?: string;
40
35
  puck?: unknown;
@@ -42,255 +37,4 @@ type ParagraphProps = {
42
37
  };
43
38
  declare function Paragraph({ text, size, weight, color, align, lineHeight, maxWidth, id, }: ParagraphProps): react_jsx_runtime.JSX.Element | null;
44
39
 
45
- type ButtonProps = {
46
- text?: EntryBoundValue<string> | string;
47
- href?: string;
48
- target?: "_self" | "_blank";
49
- variant?: "solid" | "outline" | "ghost" | "link";
50
- size?: "sm" | "md" | "lg" | "xl";
51
- color?: ThemeableColorValue | ColorValue | string;
52
- textColor?: ThemeableColorValue | ColorValue | string;
53
- borderRadius?: "none" | "sm" | "md" | "lg" | "full";
54
- fullWidth?: boolean;
55
- align?: "left" | "center" | "right";
56
- id?: string;
57
- puck?: unknown;
58
- editMode?: boolean;
59
- };
60
- declare function Button({ text, href, target, variant, size, color, textColor, borderRadius, fullWidth, align, id, }: ButtonProps): react_jsx_runtime.JSX.Element;
61
-
62
- type ImageProps = {
63
- src?: EntryBoundValue<string> | string;
64
- alt?: string;
65
- width?: "auto" | "full" | "sm" | "md" | "lg" | "xl";
66
- aspectRatio?: "auto" | "1:1" | "4:3" | "16:9" | "21:9";
67
- objectFit?: "contain" | "cover" | "fill" | "none";
68
- borderRadius?: "none" | "sm" | "md" | "lg" | "xl" | "full";
69
- shadow?: "none" | "sm" | "md" | "lg" | "xl";
70
- align?: "left" | "center" | "right";
71
- caption?: EntryBoundValue<string> | string;
72
- captionColor?: ThemeableColorValue | ColorValue | string;
73
- id?: string;
74
- puck?: unknown;
75
- editMode?: boolean;
76
- };
77
- declare function Image({ src, alt, width, aspectRatio, objectFit, borderRadius, shadow, align, caption, captionColor, id, }: ImageProps): react_jsx_runtime.JSX.Element;
78
-
79
- type CarouselImage = {
80
- src: string;
81
- alt?: string;
82
- };
83
- type ImageCarouselProps = {
84
- images?: CarouselImage[];
85
- aspectRatio?: "16:9" | "4:3" | "1:1" | "21:9";
86
- borderRadius?: "none" | "sm" | "md" | "lg";
87
- showDots?: boolean;
88
- showArrows?: boolean;
89
- arrowColor?: ThemeableColorValue | ColorValue | string;
90
- dotColor?: ThemeableColorValue | ColorValue | string;
91
- autoPlay?: boolean;
92
- autoPlayInterval?: number;
93
- id?: string;
94
- puck?: unknown;
95
- editMode?: boolean;
96
- };
97
- declare function ImageCarousel({ images, aspectRatio, borderRadius, showDots, showArrows, arrowColor, dotColor, id, }: ImageCarouselProps): react_jsx_runtime.JSX.Element;
98
-
99
- type VideoEmbedProps = {
100
- url?: EntryBoundValue<string> | string;
101
- aspectRatio?: "16:9" | "4:3" | "1:1" | "21:9";
102
- borderRadius?: "none" | "sm" | "md" | "lg";
103
- autoplay?: boolean;
104
- muted?: boolean;
105
- loop?: boolean;
106
- align?: "left" | "center" | "right";
107
- maxWidth?: "sm" | "md" | "lg" | "xl" | "full";
108
- id?: string;
109
- puck?: unknown;
110
- editMode?: boolean;
111
- };
112
- declare function VideoEmbed({ url, aspectRatio, borderRadius, autoplay, muted, loop, align, maxWidth, id, }: VideoEmbedProps): react_jsx_runtime.JSX.Element;
113
-
114
- type IconProps = {
115
- name?: string;
116
- size?: "sm" | "md" | "lg" | "xl" | "2xl";
117
- color?: ThemeableColorValue | ColorValue | string;
118
- align?: "left" | "center" | "right";
119
- id?: string;
120
- puck?: unknown;
121
- editMode?: boolean;
122
- };
123
- declare function Icon({ name, size, color, align, id, }: IconProps): react_jsx_runtime.JSX.Element;
124
- declare const availableIcons: string[];
125
-
126
- type PuckProps = {
127
- puck?: PuckContext;
128
- editMode?: boolean;
129
- id?: string;
130
- };
131
-
132
- type SectionProps = {
133
- children?: ReactNode;
134
- verticalPadding?: number;
135
- horizontalPadding?: number;
136
- gap?: number;
137
- backgroundColor?: ThemeableColorValue | ColorValue | string;
138
- backgroundImage?: string;
139
- shadow?: string;
140
- borderRadius?: number;
141
- contentMaxWidth?: string;
142
- anchorLink?: string;
143
- visibility?: ResponsiveVisibility;
144
- } & PuckProps;
145
- declare function Section({ children: _children, verticalPadding, horizontalPadding, gap, backgroundColor, backgroundImage, shadow, borderRadius, contentMaxWidth, anchorLink, visibility, puck, }: SectionProps): react_jsx_runtime.JSX.Element;
146
-
147
- type ContainerProps = {
148
- maxWidth?: "sm" | "md" | "lg" | "xl" | "2xl" | "full";
149
- padding?: "none" | "sm" | "md" | "lg" | "xl";
150
- paddingX?: "none" | "sm" | "md" | "lg" | "xl";
151
- paddingY?: "none" | "sm" | "md" | "lg" | "xl";
152
- backgroundColor?: ThemeableColorValue | ColorValue | string;
153
- centered?: boolean;
154
- } & PuckProps;
155
- declare function Container({ maxWidth, padding, paddingX, paddingY, backgroundColor, centered, id, puck, }: ContainerProps): react_jsx_runtime.JSX.Element;
156
-
157
- type ColumnsProps = {
158
- columns?: 2 | 3 | 4;
159
- gap?: "none" | "sm" | "md" | "lg" | "xl";
160
- verticalAlign?: "top" | "center" | "bottom" | "stretch";
161
- stackOnMobile?: boolean;
162
- } & PuckProps;
163
- declare function Columns({ columns, gap, verticalAlign, stackOnMobile, id, puck, }: ColumnsProps): react_jsx_runtime.JSX.Element;
164
-
165
- type CardProps = {
166
- backgroundColor?: ThemeableColorValue | ColorValue | string;
167
- borderColor?: ThemeableColorValue | ColorValue | string;
168
- borderWidth?: "none" | "thin" | "medium" | "thick";
169
- borderRadius?: "none" | "sm" | "md" | "lg" | "xl";
170
- shadow?: "none" | "sm" | "md" | "lg" | "xl";
171
- padding?: "none" | "sm" | "md" | "lg" | "xl";
172
- } & PuckProps;
173
- declare function Card({ backgroundColor, borderColor, borderWidth, borderRadius, shadow, padding, id, puck, }: CardProps): react_jsx_runtime.JSX.Element;
174
-
175
- type DividerProps = {
176
- style?: "solid" | "dashed" | "dotted";
177
- thickness?: "thin" | "medium" | "thick";
178
- color?: ThemeableColorValue | ColorValue | string;
179
- width?: "full" | "3/4" | "1/2" | "1/4";
180
- align?: "left" | "center" | "right";
181
- spacing?: "sm" | "md" | "lg" | "xl";
182
- id?: string;
183
- puck?: unknown;
184
- editMode?: boolean;
185
- };
186
- declare function Divider({ style: lineStyle, thickness, color, width, align, spacing, id, }: DividerProps): react_jsx_runtime.JSX.Element;
187
-
188
- type SpacerProps = {
189
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
190
- id?: string;
191
- puck?: unknown;
192
- editMode?: boolean;
193
- };
194
- declare function Spacer({ size, id }: SpacerProps): react_jsx_runtime.JSX.Element;
195
-
196
- type TextBlockProps = {
197
- title?: EntryBoundValue<string> | string;
198
- subtitle?: EntryBoundValue<string> | string;
199
- body?: EntryBoundValue<string> | string;
200
- alignment?: "left" | "center" | "right";
201
- textSize?: "small" | "medium-small" | "medium" | "large" | "xlarge";
202
- textColor?: ThemeableColorValue | ColorValue | string;
203
- subtitleBodyColor?: ThemeableColorValue | ColorValue | string;
204
- useGradientText?: boolean;
205
- gradientColor1?: ThemeableColorValue | ColorValue | string;
206
- gradientColor2?: ThemeableColorValue | ColorValue | string;
207
- anchorLink?: string;
208
- puck?: unknown;
209
- editMode?: boolean;
210
- id?: string;
211
- };
212
- declare function TextBlock({ title, subtitle, body, alignment, textSize, textColor, subtitleBodyColor, useGradientText, gradientColor1, gradientColor2, anchorLink, }: TextBlockProps): react_jsx_runtime.JSX.Element;
213
-
214
- type CustomImageProps = {
215
- image?: string;
216
- alt?: string;
217
- maxWidth?: number;
218
- alignment?: "left" | "center" | "right";
219
- fitContent?: boolean;
220
- } & PuckProps;
221
- declare function CustomImage({ image, alt, maxWidth, alignment, fitContent, }: CustomImageProps): react_jsx_runtime.JSX.Element;
222
-
223
- type Feature$1 = {
224
- icon?: string;
225
- image?: string;
226
- title?: string;
227
- description?: string;
228
- };
229
- type FeaturesListProps = {
230
- features?: Feature$1[];
231
- align?: "left" | "center" | "right";
232
- size?: "small" | "medium" | "large";
233
- iconColor?: string;
234
- anchorLink?: string;
235
- } & Record<string, unknown>;
236
- declare function FeaturesList({ features, align, size, iconColor, anchorLink, }: FeaturesListProps): react_jsx_runtime.JSX.Element;
237
-
238
- type Feature = {
239
- icon?: string;
240
- image?: string;
241
- title?: string;
242
- description?: string;
243
- };
244
- type FeatureGridProps = {
245
- heading?: string;
246
- description?: string;
247
- features?: Feature[];
248
- columns?: 2 | 3 | 4;
249
- align?: "left" | "center" | "right";
250
- size?: "small" | "medium" | "large";
251
- iconColor?: string;
252
- textColor?: string;
253
- anchorLink?: string;
254
- } & Record<string, unknown>;
255
- declare function FeatureGrid({ heading, description, features, columns, align, size, iconColor, textColor, anchorLink, }: FeatureGridProps): react_jsx_runtime.JSX.Element;
256
-
257
- type FooterProps = {
258
- logo?: string;
259
- copyright?: string;
260
- backgroundColor?: string;
261
- textColor?: string;
262
- facebookUrl?: string;
263
- instagramUrl?: string;
264
- twitterUrl?: string;
265
- tiktokUrl?: string;
266
- } & Record<string, unknown> & PuckProps;
267
- declare function Footer({ logo, copyright, backgroundColor, textColor, facebookUrl, instagramUrl, twitterUrl, puck, }: FooterProps): react_jsx_runtime.JSX.Element;
268
-
269
- type NavItem = {
270
- name: string;
271
- url: string;
272
- linkType?: "internal" | "external" | "scrollTo";
273
- };
274
- type TopbarProps = {
275
- logo?: string;
276
- logoUrl?: string;
277
- navItems?: NavItem[];
278
- backgroundColor?: string;
279
- textColor?: string;
280
- maxWidth?: string;
281
- } & Record<string, unknown> & PuckProps;
282
- declare function Topbar({ logo, logoUrl, navItems, backgroundColor, textColor, maxWidth, puck, }: TopbarProps): react_jsx_runtime.JSX.Element;
283
-
284
- type PopupProps = {
285
- ctaText?: string;
286
- buttonColor?: string;
287
- textColor?: string;
288
- icon?: string;
289
- iconPosition?: "left" | "right";
290
- size?: "small" | "medium" | "large";
291
- width?: "small" | "medium" | "large";
292
- textLink?: boolean;
293
- } & Record<string, unknown> & PuckProps;
294
- declare function Popup({ ctaText, buttonColor, textColor, icon, iconPosition, size, width, textLink, puck, }: PopupProps): react_jsx_runtime.JSX.Element;
295
-
296
- export { Button, type ButtonProps, Card, type CardProps, type CarouselImage, Columns, type ColumnsProps, Container, type ContainerProps, CustomImage, type CustomImageProps, Divider, type DividerProps, FeatureGrid, type FeatureGridProps, FeaturesList, type FeaturesListProps, Footer, type FooterProps, Heading, type HeadingProps, Icon, type IconProps, Image, ImageCarousel, type ImageCarouselProps, type ImageProps, Paragraph, type ParagraphProps, Popup, type PopupProps, Section, type SectionProps, Spacer, type SpacerProps, TextBlock, type TextBlockProps, ThemeableColorValue, Topbar, type TopbarProps, VideoEmbed, type VideoEmbedProps, availableIcons };
40
+ export { Heading, type HeadingProps, Paragraph, type ParagraphProps, ThemeableColorValue };