@upstart.gg/sdk 0.0.137 → 0.0.138
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/shared/ai/schemas.js +2 -2
- package/dist/shared/ai/schemas.js.map +1 -1
- package/dist/shared/ai/types.d.ts +2 -2
- package/dist/shared/ai/types.d.ts.map +1 -1
- package/dist/shared/ajv.js +26 -25
- package/dist/shared/ajv.js.map +1 -1
- package/dist/shared/attributes.d.ts +8 -0
- package/dist/shared/attributes.d.ts.map +1 -1
- package/dist/shared/attributes.js +15 -14
- package/dist/shared/brick-manifest.js +2 -2
- package/dist/shared/bricks/manifests/accordion.manifest.js +8 -7
- package/dist/shared/bricks/manifests/all-manifests.js +38 -37
- package/dist/shared/bricks/manifests/all-props.d.ts +32 -22
- package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/all-props.js +40 -39
- package/dist/shared/bricks/manifests/all-props.js.map +1 -1
- package/dist/shared/bricks/manifests/box.manifest.js +11 -10
- package/dist/shared/bricks/manifests/button.manifest.js +10 -9
- package/dist/shared/bricks/manifests/card.manifest.d.ts +2 -0
- package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/card.manifest.js +13 -12
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts +1 -0
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.js +11 -10
- package/dist/shared/bricks/manifests/footer.manifest.d.ts +2 -0
- package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.js +9 -8
- package/dist/shared/bricks/manifests/form.manifest.js +9 -8
- package/dist/shared/bricks/manifests/hero.manifest.d.ts +2 -4
- package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.js +10 -9
- package/dist/shared/bricks/manifests/html.manifest.d.ts +1 -0
- package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/html.manifest.js +6 -5
- package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.js +9 -8
- package/dist/shared/bricks/manifests/image.manifest.d.ts +1 -0
- package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/image.manifest.js +12 -11
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +2 -0
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +11 -10
- package/dist/shared/bricks/manifests/map.manifest.d.ts +1 -0
- package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/map.manifest.js +9 -8
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts +2 -0
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.js +11 -10
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.js +11 -10
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.js +10 -9
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.js +6 -5
- package/dist/shared/bricks/manifests/table.manifest.d.ts +1 -0
- package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/table.manifest.js +10 -9
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts +1 -1
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/tabs.manifest.js +11 -10
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +3 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.js +13 -12
- package/dist/shared/bricks/manifests/text.manifest.d.ts +2 -5
- package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/text.manifest.js +10 -9
- package/dist/shared/bricks/manifests/timeline.manifest.js +11 -10
- package/dist/shared/bricks/manifests/video.manifest.js +9 -8
- package/dist/shared/bricks/props/background.d.ts.map +1 -1
- package/dist/shared/bricks/props/background.js +1 -1
- package/dist/shared/bricks/props/border.js +2 -2
- package/dist/shared/bricks/props/color.d.ts.map +1 -1
- package/dist/shared/bricks/props/color.js +1 -1
- package/dist/shared/bricks/props/common.d.ts.map +1 -1
- package/dist/shared/bricks/props/common.js +2 -1
- package/dist/shared/bricks/props/grow.d.ts +3 -0
- package/dist/shared/bricks/props/grow.d.ts.map +1 -0
- package/dist/shared/bricks/props/grow.js +10 -0
- package/dist/shared/bricks/props/grow.js.map +1 -0
- package/dist/shared/bricks/props/helpers.js +3 -2
- package/dist/shared/bricks/props/image.d.ts +1 -0
- package/dist/shared/bricks/props/image.d.ts.map +1 -1
- package/dist/shared/bricks/props/image.js +1 -1
- package/dist/shared/bricks/props/string.d.ts.map +1 -1
- package/dist/shared/bricks/props/string.js +1 -1
- package/dist/shared/bricks.d.ts +18 -17
- package/dist/shared/bricks.d.ts.map +1 -1
- package/dist/shared/bricks.js +39 -38
- package/dist/shared/chunk-2EOCK66Z.js +19 -0
- package/dist/shared/chunk-2EOCK66Z.js.map +1 -0
- package/dist/shared/{chunk-XXPSM6UA.js → chunk-2UEPTT5J.js} +5 -9
- package/dist/shared/chunk-2UEPTT5J.js.map +1 -0
- package/dist/shared/{chunk-DRQKKPTX.js → chunk-2Z5WOCFS.js} +41 -1
- package/dist/shared/chunk-2Z5WOCFS.js.map +1 -0
- package/dist/shared/{chunk-7U5WPHXB.js → chunk-34IUWNRX.js} +7 -7
- package/dist/shared/chunk-57NRTXRA.js +309 -0
- package/dist/shared/chunk-57NRTXRA.js.map +1 -0
- package/dist/shared/{chunk-T6C3NG2L.js → chunk-5HJT5NJ3.js} +8 -8
- package/dist/shared/{chunk-BZTWZC77.js → chunk-5J4Y43RM.js} +37 -179
- package/dist/shared/chunk-5J4Y43RM.js.map +1 -0
- package/dist/shared/{chunk-KKWT3OXF.js → chunk-5OVOXUFX.js} +3 -2
- package/dist/shared/{chunk-KKWT3OXF.js.map → chunk-5OVOXUFX.js.map} +1 -1
- package/dist/shared/{chunk-XK2CERPB.js → chunk-5SNSUC6Q.js} +7 -7
- package/dist/shared/{chunk-JLDAS3VE.js → chunk-B5T2LFV2.js} +10 -14
- package/dist/shared/chunk-B5T2LFV2.js.map +1 -0
- package/dist/shared/{chunk-PF75LW33.js → chunk-E3ZW57HF.js} +18 -9
- package/dist/shared/chunk-E3ZW57HF.js.map +1 -0
- package/dist/shared/{chunk-JSDKK5QN.js → chunk-EUFVTHAG.js} +5 -3
- package/dist/shared/chunk-EUFVTHAG.js.map +1 -0
- package/dist/shared/{chunk-U4KZUX37.js → chunk-FC52EHCC.js} +8 -8
- package/dist/shared/chunk-FC52EHCC.js.map +1 -0
- package/dist/shared/{chunk-JW7MQAU4.js → chunk-FVV27R73.js} +9 -94
- package/dist/shared/chunk-FVV27R73.js.map +1 -0
- package/dist/shared/{chunk-SQXZNGQF.js → chunk-FYGFB5U5.js} +3 -1
- package/dist/shared/chunk-FYGFB5U5.js.map +1 -0
- package/dist/shared/{chunk-J45LSQT6.js → chunk-GNTJT7MR.js} +2 -2
- package/dist/shared/chunk-HHUFGV7J.js +259 -0
- package/dist/shared/chunk-HHUFGV7J.js.map +1 -0
- package/dist/shared/{chunk-W2RFDII5.js → chunk-IMDOF55E.js} +12 -4
- package/dist/shared/chunk-IMDOF55E.js.map +1 -0
- package/dist/shared/{chunk-KQH6V22E.js → chunk-IPWYNE6Y.js} +25 -25
- package/dist/shared/{chunk-H6TMBELF.js → chunk-J6R3GSKS.js} +46 -34
- package/dist/shared/chunk-J6R3GSKS.js.map +1 -0
- package/dist/shared/{chunk-TBT2PTGB.js → chunk-KRODRZNS.js} +9 -9
- package/dist/shared/chunk-KTA7XES3.js +168 -0
- package/dist/shared/chunk-KTA7XES3.js.map +1 -0
- package/dist/shared/{chunk-SK2O7GFC.js → chunk-L4W4B2RQ.js} +15 -70
- package/dist/shared/chunk-L4W4B2RQ.js.map +1 -0
- package/dist/shared/{chunk-MYOLWTB2.js → chunk-NTP6BKRU.js} +9 -9
- package/dist/shared/chunk-NTP6BKRU.js.map +1 -0
- package/dist/shared/{chunk-JF52BBFD.js → chunk-O53V22BK.js} +18 -10
- package/dist/shared/chunk-O53V22BK.js.map +1 -0
- package/dist/shared/{chunk-ZVJNRKT4.js → chunk-ORIUCOED.js} +7 -7
- package/dist/shared/{chunk-LGDDJJHK.js → chunk-PFZMRSHJ.js} +11 -11
- package/dist/shared/{chunk-6AE7UD73.js → chunk-QHKOAIOK.js} +31 -60
- package/dist/shared/chunk-QHKOAIOK.js.map +1 -0
- package/dist/shared/{chunk-LPAQ47C6.js → chunk-RDOCVLCF.js} +11 -11
- package/dist/shared/{chunk-VSLRTXLF.js → chunk-RFH7PEVS.js} +5 -4
- package/dist/shared/chunk-RFH7PEVS.js.map +1 -0
- package/dist/shared/{chunk-XNRSL6FL.js → chunk-T3UPW5OW.js} +5 -4
- package/dist/shared/{chunk-XNRSL6FL.js.map → chunk-T3UPW5OW.js.map} +1 -1
- package/dist/shared/{chunk-FUUSAMN3.js → chunk-TGKNA2JS.js} +8 -8
- package/dist/shared/{chunk-HY7JOP3J.js → chunk-TZ6X7ZM5.js} +19 -11
- package/dist/shared/chunk-TZ6X7ZM5.js.map +1 -0
- package/dist/shared/{chunk-VTCHJT4O.js → chunk-UC75KRLX.js} +2 -2
- package/dist/shared/{chunk-4KY7OZWD.js → chunk-VMIJ6MG5.js} +13 -13
- package/dist/shared/{chunk-SRYBJ6NQ.js → chunk-VYA2FCTY.js} +2 -2
- package/dist/shared/{chunk-LGGPCCCY.js → chunk-XYWSIMZ6.js} +3 -3
- package/dist/shared/chunk-XYWSIMZ6.js.map +1 -0
- package/dist/shared/{chunk-FHA4DFIM.js → chunk-ZYQZUWF7.js} +10 -10
- package/dist/shared/{chunk-2O5HVPID.js → chunk-ZZVYD4BG.js} +3 -3
- package/dist/shared/context.d.ts +4 -0
- package/dist/shared/context.d.ts.map +1 -1
- package/dist/shared/context.js +43 -42
- package/dist/shared/context.js.map +1 -1
- package/dist/shared/page.d.ts +2 -0
- package/dist/shared/page.d.ts.map +1 -1
- package/dist/shared/page.js +41 -40
- package/dist/shared/site.d.ts +7 -0
- package/dist/shared/site.d.ts.map +1 -1
- package/dist/shared/site.js +43 -42
- package/dist/shared/sitemap.js +42 -41
- package/dist/shared/utils/schema.d.ts +0 -5
- package/dist/shared/utils/schema.d.ts.map +1 -1
- package/dist/shared/utils/schema.js +1 -3
- package/package.json +2 -2
- package/src/shared/ai/schemas.ts +1 -1
- package/src/shared/ai/types.ts +2 -2
- package/src/shared/bricks/manifests/card.manifest.ts +25 -168
- package/src/shared/bricks/manifests/hero.manifest.ts +44 -249
- package/src/shared/bricks/manifests/html.manifest.ts +6 -0
- package/src/shared/bricks/manifests/icon.manifest.ts +1 -89
- package/src/shared/bricks/manifests/image.manifest.ts +0 -4
- package/src/shared/bricks/manifests/images-gallery.manifest.ts +8 -0
- package/src/shared/bricks/manifests/map.manifest.ts +9 -65
- package/src/shared/bricks/manifests/sidebar.manifest.ts +0 -1
- package/src/shared/bricks/manifests/social-links.manifest.ts +0 -1
- package/src/shared/bricks/manifests/spacer.manifest.ts +0 -1
- package/src/shared/bricks/manifests/table.manifest.ts +6 -0
- package/src/shared/bricks/manifests/tabs.manifest.ts +12 -429
- package/src/shared/bricks/manifests/testimonials.manifest.ts +28 -226
- package/src/shared/bricks/manifests/text.manifest.ts +16 -44
- package/src/shared/bricks/props/background.ts +2 -1
- package/src/shared/bricks/props/color.ts +5 -2
- package/src/shared/bricks/props/common.ts +2 -8
- package/src/shared/bricks/props/grow.ts +11 -0
- package/src/shared/bricks/props/image.ts +40 -0
- package/src/shared/bricks/props/string.ts +2 -0
- package/src/shared/bricks.ts +33 -23
- package/src/shared/page.ts +1 -0
- package/src/shared/site.ts +1 -0
- package/src/shared/utils/schema.ts +28 -18
- package/src/shared/utils/tests/schema.test.ts +211 -4
- package/dist/shared/chunk-6AE7UD73.js.map +0 -1
- package/dist/shared/chunk-BZTWZC77.js.map +0 -1
- package/dist/shared/chunk-DRQKKPTX.js.map +0 -1
- package/dist/shared/chunk-H6TMBELF.js.map +0 -1
- package/dist/shared/chunk-HUWMIXNN.js +0 -570
- package/dist/shared/chunk-HUWMIXNN.js.map +0 -1
- package/dist/shared/chunk-HY7JOP3J.js.map +0 -1
- package/dist/shared/chunk-JF52BBFD.js.map +0 -1
- package/dist/shared/chunk-JLDAS3VE.js.map +0 -1
- package/dist/shared/chunk-JSDKK5QN.js.map +0 -1
- package/dist/shared/chunk-JW7MQAU4.js.map +0 -1
- package/dist/shared/chunk-LGGPCCCY.js.map +0 -1
- package/dist/shared/chunk-MYOLWTB2.js.map +0 -1
- package/dist/shared/chunk-O24RDXZS.js +0 -505
- package/dist/shared/chunk-O24RDXZS.js.map +0 -1
- package/dist/shared/chunk-PF75LW33.js.map +0 -1
- package/dist/shared/chunk-QEJGPYTB.js +0 -462
- package/dist/shared/chunk-QEJGPYTB.js.map +0 -1
- package/dist/shared/chunk-SK2O7GFC.js.map +0 -1
- package/dist/shared/chunk-SQXZNGQF.js.map +0 -1
- package/dist/shared/chunk-U4KZUX37.js.map +0 -1
- package/dist/shared/chunk-VSLRTXLF.js.map +0 -1
- package/dist/shared/chunk-W2RFDII5.js.map +0 -1
- package/dist/shared/chunk-XXPSM6UA.js.map +0 -1
- /package/dist/shared/{chunk-7U5WPHXB.js.map → chunk-34IUWNRX.js.map} +0 -0
- /package/dist/shared/{chunk-T6C3NG2L.js.map → chunk-5HJT5NJ3.js.map} +0 -0
- /package/dist/shared/{chunk-XK2CERPB.js.map → chunk-5SNSUC6Q.js.map} +0 -0
- /package/dist/shared/{chunk-J45LSQT6.js.map → chunk-GNTJT7MR.js.map} +0 -0
- /package/dist/shared/{chunk-KQH6V22E.js.map → chunk-IPWYNE6Y.js.map} +0 -0
- /package/dist/shared/{chunk-TBT2PTGB.js.map → chunk-KRODRZNS.js.map} +0 -0
- /package/dist/shared/{chunk-ZVJNRKT4.js.map → chunk-ORIUCOED.js.map} +0 -0
- /package/dist/shared/{chunk-LGDDJJHK.js.map → chunk-PFZMRSHJ.js.map} +0 -0
- /package/dist/shared/{chunk-LPAQ47C6.js.map → chunk-RDOCVLCF.js.map} +0 -0
- /package/dist/shared/{chunk-FUUSAMN3.js.map → chunk-TGKNA2JS.js.map} +0 -0
- /package/dist/shared/{chunk-VTCHJT4O.js.map → chunk-UC75KRLX.js.map} +0 -0
- /package/dist/shared/{chunk-4KY7OZWD.js.map → chunk-VMIJ6MG5.js.map} +0 -0
- /package/dist/shared/{chunk-SRYBJ6NQ.js.map → chunk-VYA2FCTY.js.map} +0 -0
- /package/dist/shared/{chunk-FHA4DFIM.js.map → chunk-ZYQZUWF7.js.map} +0 -0
- /package/dist/shared/{chunk-2O5HVPID.js.map → chunk-ZZVYD4BG.js.map} +0 -0
|
@@ -10,6 +10,8 @@ import { colorPreset } from "../props/color-preset";
|
|
|
10
10
|
import { alignItems, justifyContent } from "../props/align";
|
|
11
11
|
import { cssLength } from "../props/css-length";
|
|
12
12
|
import type { BrickExample } from "./_types";
|
|
13
|
+
import { backgroundColor } from "../props/background";
|
|
14
|
+
import { color } from "../props/color";
|
|
13
15
|
|
|
14
16
|
export const manifest = defineBrickManifest({
|
|
15
17
|
type: "hero",
|
|
@@ -23,14 +25,14 @@ STRUCTURE
|
|
|
23
25
|
1. Always supply 'content' (can be plain text or simple HTML like <h1>, <strong>, <br/>).
|
|
24
26
|
2. 'tagline' is optional. Prefer concise value (1 short sentence). Omit if not needed.
|
|
25
27
|
3. Do NOT add buttons, images, forms, lists, or unrelated HTML here (use dedicated bricks for that).
|
|
28
|
+
4. Hero should be placed in vertical sections, except for very specific cases.
|
|
26
29
|
|
|
27
30
|
COLOR & BACKGROUND
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
• NEVER invent tokens like success-, warning-, danger-, blue-, orange- (they don't exist). Map them to semantic sets (e.g. success -> secondary, warning -> accent, danger -> accent or primary, blue -> primary, orange -> accent).
|
|
31
|
+
- Prefer omitting "colorPreset" so the hero inherits its parent section background.
|
|
32
|
+
- If you do set "colorPreset", ensure sufficient contrast between text and background.
|
|
31
33
|
|
|
32
34
|
LAYOUT & SPACING
|
|
33
|
-
• Use padding suited to visual weight: landing hero: 5
|
|
35
|
+
• Use padding suited to visual weight: landing hero: 5-8rem desktop; simple page intro: 2-4rem.
|
|
34
36
|
• You may provide a mobile override via mobileProps (e.g. smaller padding such as 2rem).
|
|
35
37
|
• Keep justifyContent + alignItems consistent (usually center/center or start/start). Avoid mixing center with start.
|
|
36
38
|
|
|
@@ -43,7 +45,7 @@ DYNAMIC DATA
|
|
|
43
45
|
• Ensure dynamic tokens exist in the referenced query context. Don't fabricate field names.
|
|
44
46
|
|
|
45
47
|
RESPONSIVE
|
|
46
|
-
• Use mobileProps only for necessary reductions (padding, alignment). Do not duplicate unchanged properties.
|
|
48
|
+
• Use "mobileProps" only for necessary reductions (padding, alignment). Do not duplicate unchanged properties.
|
|
47
49
|
|
|
48
50
|
DON'TS
|
|
49
51
|
✗ Don't add properties that are not in the schema.
|
|
@@ -52,9 +54,7 @@ DON'TS
|
|
|
52
54
|
|
|
53
55
|
DO
|
|
54
56
|
✓ Keep content focused.
|
|
55
|
-
✓
|
|
56
|
-
✓ Use gradientDirection ONLY with gradient presets.
|
|
57
|
-
✓ Provide accessible plain text when not using HTML tags.
|
|
57
|
+
✓ Wrap tagline in <p> for alignment control.
|
|
58
58
|
`,
|
|
59
59
|
icon: BsAlphabetUppercase,
|
|
60
60
|
|
|
@@ -74,12 +74,17 @@ DO
|
|
|
74
74
|
// default: "<p style='text-align:center'>Use our platform to build your business with confidence.</p>",
|
|
75
75
|
}),
|
|
76
76
|
),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
title: "
|
|
77
|
+
backgroundColor: Type.Optional(
|
|
78
|
+
backgroundColor({
|
|
79
|
+
title: "Background color",
|
|
80
|
+
}),
|
|
81
|
+
),
|
|
82
|
+
color: Type.Optional(
|
|
83
|
+
color({
|
|
84
|
+
title: "Text color",
|
|
85
|
+
default: "text-inherit",
|
|
80
86
|
}),
|
|
81
87
|
),
|
|
82
|
-
|
|
83
88
|
textShadow: Type.Optional(
|
|
84
89
|
textShadow({
|
|
85
90
|
default: "text-shadow-sm",
|
|
@@ -99,7 +104,11 @@ DO
|
|
|
99
104
|
rounding: rounding({
|
|
100
105
|
default: "rounded-md",
|
|
101
106
|
}),
|
|
102
|
-
border: Type.Optional(
|
|
107
|
+
border: Type.Optional(
|
|
108
|
+
border({
|
|
109
|
+
"ai:hidden": true,
|
|
110
|
+
}),
|
|
111
|
+
),
|
|
103
112
|
shadow: Type.Optional(shadow()),
|
|
104
113
|
justifyContent: Type.Optional(
|
|
105
114
|
justifyContent({
|
|
@@ -118,15 +127,12 @@ export type Manifest = typeof manifest;
|
|
|
118
127
|
|
|
119
128
|
export const examples: BrickExample<Manifest>[] = [
|
|
120
129
|
{
|
|
121
|
-
description: "Simple welcome hero with primary background",
|
|
130
|
+
description: "Simple welcome hero with primary background, centered",
|
|
122
131
|
type: "hero",
|
|
123
132
|
props: {
|
|
124
133
|
content: "Welcome to Our Platform",
|
|
125
|
-
tagline: "The future of productivity starts here",
|
|
134
|
+
tagline: "<p style='text-align:center'>The future of productivity starts here</p>",
|
|
126
135
|
padding: "3rem",
|
|
127
|
-
colorPreset: {
|
|
128
|
-
color: "primary-400",
|
|
129
|
-
},
|
|
130
136
|
},
|
|
131
137
|
},
|
|
132
138
|
{
|
|
@@ -134,12 +140,8 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
134
140
|
type: "hero",
|
|
135
141
|
props: {
|
|
136
142
|
content: "Build Something Amazing",
|
|
137
|
-
tagline: "Turn your ideas into reality with our cutting-edge tools",
|
|
143
|
+
tagline: "<p style='text-align:center'>Turn your ideas into reality with our cutting-edge tools</p>",
|
|
138
144
|
padding: "3rem",
|
|
139
|
-
colorPreset: {
|
|
140
|
-
color: "primary-500",
|
|
141
|
-
gradientDirection: "bg-gradient-to-br",
|
|
142
|
-
},
|
|
143
145
|
},
|
|
144
146
|
},
|
|
145
147
|
{
|
|
@@ -147,198 +149,52 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
147
149
|
type: "hero",
|
|
148
150
|
props: {
|
|
149
151
|
content: "Building Tomorrow Today",
|
|
150
|
-
tagline:
|
|
151
|
-
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
description: "Fashion brand hero with modern appeal",
|
|
156
|
-
type: "hero",
|
|
157
|
-
props: {
|
|
158
|
-
content: "Express Your Style",
|
|
159
|
-
tagline: "Contemporary fashion that speaks to your individuality",
|
|
160
|
-
padding: "6rem",
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
description: "Law firm hero with authoritative tone",
|
|
165
|
-
type: "hero",
|
|
166
|
-
props: {
|
|
167
|
-
content: "Justice You Can Trust",
|
|
168
|
-
tagline: "Experienced legal representation for individuals and businesses",
|
|
169
|
-
padding: "6rem",
|
|
170
|
-
colorPreset: {
|
|
171
|
-
color: "neutral-800",
|
|
172
|
-
},
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
description: "Photography studio hero with artistic flair",
|
|
177
|
-
type: "hero",
|
|
178
|
-
props: {
|
|
179
|
-
content: "Capturing Life's Moments",
|
|
180
|
-
tagline: "Professional photography services for weddings, portraits, and events",
|
|
181
|
-
},
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
description: "Restaurant hero with warm colors and rounded design (accent mapping for former 'orange')",
|
|
185
|
-
type: "hero",
|
|
186
|
-
props: {
|
|
187
|
-
content: "Authentic Italian Cuisine",
|
|
188
|
-
tagline: "Fresh ingredients, traditional recipes, unforgettable flavors",
|
|
189
|
-
padding: "4rem",
|
|
190
|
-
colorPreset: {
|
|
191
|
-
color: "accent-600",
|
|
192
|
-
},
|
|
193
|
-
rounding: "rounded-xl",
|
|
194
|
-
shadow: "shadow-lg",
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
description:
|
|
199
|
-
"Tech company hero with secondary gradient (mapped from former 'success') and modern styling",
|
|
200
|
-
type: "hero",
|
|
201
|
-
props: {
|
|
202
|
-
content: "Innovation Redefined",
|
|
203
|
-
tagline: "Pushing the boundaries of what's possible with AI technology",
|
|
204
|
-
padding: "5rem",
|
|
205
|
-
colorPreset: {
|
|
206
|
-
color: "secondary-gradient-400",
|
|
207
|
-
gradientDirection: "bg-gradient-to-r",
|
|
208
|
-
},
|
|
209
|
-
textShadow: "text-shadow-lg",
|
|
210
|
-
border: {
|
|
211
|
-
width: "border-2",
|
|
212
|
-
color: "border-success-300",
|
|
213
|
-
},
|
|
214
|
-
},
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
description: "Medical practice hero with trust-inspiring design (primary mapping for former 'blue')",
|
|
218
|
-
type: "hero",
|
|
219
|
-
props: {
|
|
220
|
-
content: "Your Health, Our Priority",
|
|
221
|
-
tagline: "Comprehensive healthcare services with compassionate care",
|
|
222
|
-
padding: "4rem",
|
|
223
|
-
colorPreset: {
|
|
224
|
-
color: "primary-500",
|
|
225
|
-
},
|
|
226
|
-
rounding: "rounded-lg",
|
|
227
|
-
justifyContent: "justify-start",
|
|
228
|
-
alignItems: "items-start",
|
|
229
|
-
},
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
description:
|
|
233
|
-
"Creative agency hero with accent gradient (mapped from former 'warning') and diagonal gradient",
|
|
234
|
-
type: "hero",
|
|
235
|
-
props: {
|
|
236
|
-
content: "Creative Solutions",
|
|
237
|
-
tagline: "Bold designs that make your brand unforgettable",
|
|
152
|
+
tagline:
|
|
153
|
+
"<p style='text-align:center'>Quality construction services for residential and commercial projects</p>",
|
|
238
154
|
padding: "3rem",
|
|
239
|
-
colorPreset: {
|
|
240
|
-
color: "accent-gradient-300",
|
|
241
|
-
gradientDirection: "bg-gradient-to-tl",
|
|
242
|
-
},
|
|
243
|
-
shadow: "shadow-xl",
|
|
244
|
-
border: {
|
|
245
|
-
width: "border",
|
|
246
|
-
color: "border-warning-200",
|
|
247
|
-
},
|
|
248
155
|
},
|
|
249
156
|
},
|
|
250
157
|
{
|
|
251
|
-
description: "Fitness studio hero with accent strong presence
|
|
158
|
+
description: "Fitness studio hero with accent strong presence",
|
|
252
159
|
type: "hero",
|
|
253
160
|
props: {
|
|
254
161
|
content: "Transform Your Body",
|
|
255
|
-
tagline: "High-intensity training programs that deliver real results",
|
|
162
|
+
tagline: "<p style='text-align:center'>High-intensity training programs that deliver real results</p>",
|
|
256
163
|
padding: "5rem",
|
|
257
|
-
colorPreset: {
|
|
258
|
-
color: "accent-600",
|
|
259
|
-
},
|
|
260
164
|
textShadow: "text-shadow-md",
|
|
261
165
|
rounding: "rounded-2xl",
|
|
262
166
|
justifyContent: "justify-center",
|
|
263
167
|
alignItems: "items-center",
|
|
264
168
|
},
|
|
265
169
|
},
|
|
266
|
-
{
|
|
267
|
-
description: "Minimalist hero with neutral tones and subtle effects",
|
|
268
|
-
type: "hero",
|
|
269
|
-
props: {
|
|
270
|
-
content: "Simplicity Perfected",
|
|
271
|
-
tagline: "Clean design solutions for modern businesses",
|
|
272
|
-
padding: "8rem",
|
|
273
|
-
colorPreset: {
|
|
274
|
-
color: "neutral-100",
|
|
275
|
-
},
|
|
276
|
-
shadow: "shadow-sm",
|
|
277
|
-
border: {
|
|
278
|
-
width: "border",
|
|
279
|
-
color: "border-neutral-300",
|
|
280
|
-
},
|
|
281
|
-
rounding: "rounded-md",
|
|
282
|
-
},
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
description: "Inverted dark hero using neutral-800 background and left alignment",
|
|
286
|
-
type: "hero",
|
|
287
|
-
props: {
|
|
288
|
-
content: "Experience Powerful Automation",
|
|
289
|
-
tagline: "Scale operations with intelligent workflows",
|
|
290
|
-
padding: "5rem",
|
|
291
|
-
colorPreset: { color: "neutral-800" },
|
|
292
|
-
justifyContent: "justify-start",
|
|
293
|
-
alignItems: "items-start",
|
|
294
|
-
textShadow: "text-shadow-sm",
|
|
295
|
-
},
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
description: "Compact hero without tagline (no colorPreset to inherit parent)",
|
|
299
|
-
type: "hero",
|
|
300
|
-
props: {
|
|
301
|
-
content: "Documentation",
|
|
302
|
-
padding: "2rem",
|
|
303
|
-
justifyContent: "justify-start",
|
|
304
|
-
alignItems: "items-start",
|
|
305
|
-
},
|
|
306
|
-
},
|
|
307
170
|
{
|
|
308
171
|
description: "Responsive hero with large desktop padding and reduced mobile padding",
|
|
309
172
|
type: "hero",
|
|
310
173
|
props: {
|
|
311
174
|
content: "All-In-One Platform",
|
|
312
|
-
tagline: "Design • Launch • Grow",
|
|
175
|
+
tagline: "<p style='text-align:center'>Design • <i>Launch</i> • Grow</p>",
|
|
313
176
|
padding: "8rem",
|
|
314
|
-
colorPreset: { color: "primary-gradient-500", gradientDirection: "bg-gradient-to-br" },
|
|
315
177
|
},
|
|
316
178
|
mobileProps: {
|
|
317
|
-
content: "All-In-One Platform",
|
|
318
179
|
padding: "3rem",
|
|
319
180
|
},
|
|
320
181
|
},
|
|
321
182
|
{
|
|
322
|
-
description: "Hero using dynamic product dataset with
|
|
183
|
+
description: "Hero using dynamic product dataset with light text shadow for contrast",
|
|
323
184
|
type: "hero",
|
|
324
185
|
props: {
|
|
325
186
|
content: "Introducing {{product.name}}",
|
|
326
|
-
tagline: "{{product.shortTagline}}",
|
|
187
|
+
tagline: "<p style='text-align:center'>{{product.shortTagline}}</p>",
|
|
327
188
|
padding: "5rem",
|
|
328
|
-
|
|
329
|
-
textShadow: "text-shadow-md",
|
|
189
|
+
textShadow: "text-shadow-sm",
|
|
330
190
|
},
|
|
331
191
|
},
|
|
332
192
|
{
|
|
333
|
-
description: "Dynamic company hero using business query data",
|
|
193
|
+
description: "Dynamic company hero using business query data; no tagline",
|
|
334
194
|
type: "hero",
|
|
335
195
|
props: {
|
|
336
196
|
content: "Welcome to {{company.name}}",
|
|
337
|
-
tagline: "{{company.tagline}} - Serving {{company.location}} since {{company.foundedYear}}",
|
|
338
197
|
padding: "4rem",
|
|
339
|
-
colorPreset: {
|
|
340
|
-
color: "primary-500",
|
|
341
|
-
},
|
|
342
198
|
},
|
|
343
199
|
},
|
|
344
200
|
{
|
|
@@ -347,12 +203,8 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
347
203
|
props: {
|
|
348
204
|
content: "Meet {{employee.fullName}}",
|
|
349
205
|
tagline:
|
|
350
|
-
"{{employee.position}} at {{employee.department}} - {{employee.yearsExperience}} years of experience",
|
|
206
|
+
"<p style='text-align:center'>{{employee.position}} at {{employee.department}} - {{employee.yearsExperience}} years of experience</p>",
|
|
351
207
|
padding: "3rem",
|
|
352
|
-
colorPreset: {
|
|
353
|
-
color: "secondary-400",
|
|
354
|
-
gradientDirection: "bg-gradient-to-r",
|
|
355
|
-
},
|
|
356
208
|
},
|
|
357
209
|
},
|
|
358
210
|
{
|
|
@@ -360,88 +212,31 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
360
212
|
type: "hero",
|
|
361
213
|
props: {
|
|
362
214
|
content: "Introducing {{product.name}}",
|
|
363
|
-
tagline: "{{product.description}} - Starting at ${{product.price}}",
|
|
215
|
+
tagline: "<p style='text-align:center'>{{product.description}} - Starting at ${{product.price}}</p>",
|
|
364
216
|
padding: "5rem",
|
|
365
|
-
colorPreset: {
|
|
366
|
-
color: "accent-600",
|
|
367
|
-
},
|
|
368
|
-
shadow: "shadow-lg",
|
|
369
|
-
rounding: "rounded-xl",
|
|
370
217
|
},
|
|
371
218
|
},
|
|
372
219
|
{
|
|
373
|
-
description: "Dynamic event announcement using
|
|
220
|
+
description: "Dynamic event announcement using 'allEvents' query, text shadow for contrast",
|
|
374
221
|
type: "hero",
|
|
375
222
|
props: {
|
|
376
|
-
content: "{{
|
|
377
|
-
tagline:
|
|
223
|
+
content: "{{allEvents.title}}",
|
|
224
|
+
tagline:
|
|
225
|
+
"<p style='text-align:center'>Join us on {{allEvents.date}} at {{allEvents.venue}} - {{allEvents.city}}</p>",
|
|
378
226
|
padding: "4rem",
|
|
379
|
-
colorPreset: {
|
|
380
|
-
color: "primary-400",
|
|
381
|
-
gradientDirection: "bg-gradient-to-br",
|
|
382
|
-
},
|
|
383
227
|
textShadow: "text-shadow-md",
|
|
384
228
|
},
|
|
385
229
|
},
|
|
386
230
|
{
|
|
387
|
-
description:
|
|
231
|
+
description:
|
|
232
|
+
"Dynamic blog post hero using article query, alignment to left-center to be able to arrange a brick on its right",
|
|
388
233
|
type: "hero",
|
|
389
234
|
props: {
|
|
390
235
|
content: "{{article.title}}",
|
|
391
|
-
tagline:
|
|
236
|
+
tagline:
|
|
237
|
+
"<p style='text-align:center'>By {{article.author}} • Published {{article.publishDate}} • {{article.readTime}} min read</p>",
|
|
392
238
|
padding: "3rem",
|
|
393
|
-
colorPreset: {
|
|
394
|
-
color: "neutral-700",
|
|
395
|
-
},
|
|
396
239
|
justifyContent: "justify-start",
|
|
397
|
-
alignItems: "items-start",
|
|
398
|
-
},
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
description: "Dynamic service promotion using service query",
|
|
402
|
-
type: "hero",
|
|
403
|
-
props: {
|
|
404
|
-
content: "{{service.name}}",
|
|
405
|
-
tagline: "{{service.description}} - {{service.duration}} • Starting at ${{service.price}}",
|
|
406
|
-
padding: "6rem",
|
|
407
|
-
colorPreset: {
|
|
408
|
-
color: "secondary-500",
|
|
409
|
-
gradientDirection: "bg-gradient-to-tl",
|
|
410
|
-
},
|
|
411
|
-
border: {
|
|
412
|
-
width: "border-2",
|
|
413
|
-
color: "border-secondary-300",
|
|
414
|
-
},
|
|
415
|
-
},
|
|
416
|
-
},
|
|
417
|
-
{
|
|
418
|
-
description: "Dynamic property showcase using property query",
|
|
419
|
-
type: "hero",
|
|
420
|
-
props: {
|
|
421
|
-
content: "{{property.address}}",
|
|
422
|
-
tagline:
|
|
423
|
-
"${{property.price}} • {{property.bedrooms}} bed, {{property.bathrooms}} bath • {{property.squareFootage}} sq ft",
|
|
424
|
-
padding: "4rem",
|
|
425
|
-
colorPreset: {
|
|
426
|
-
color: "accent-500",
|
|
427
|
-
},
|
|
428
|
-
rounding: "rounded-lg",
|
|
429
|
-
shadow: "shadow-md",
|
|
430
|
-
},
|
|
431
|
-
},
|
|
432
|
-
{
|
|
433
|
-
description: "Dynamic course announcement using course query",
|
|
434
|
-
type: "hero",
|
|
435
|
-
props: {
|
|
436
|
-
content: "{{course.title}}",
|
|
437
|
-
tagline:
|
|
438
|
-
"Learn {{course.subject}} with {{course.instructor}} • {{course.duration}} • {{course.skillLevel}} level",
|
|
439
|
-
padding: "5rem",
|
|
440
|
-
colorPreset: {
|
|
441
|
-
color: "primary-600",
|
|
442
|
-
},
|
|
443
|
-
textShadow: "text-shadow-lg",
|
|
444
|
-
justifyContent: "justify-center",
|
|
445
240
|
alignItems: "items-center",
|
|
446
241
|
},
|
|
447
242
|
},
|
|
@@ -5,6 +5,7 @@ import { BsCodeSquare } from "react-icons/bs";
|
|
|
5
5
|
|
|
6
6
|
import { Type } from "@sinclair/typebox";
|
|
7
7
|
import type { BrickExample } from "./_types";
|
|
8
|
+
import { grow } from "../props/grow";
|
|
8
9
|
|
|
9
10
|
export const manifest = defineBrickManifest({
|
|
10
11
|
type: "html",
|
|
@@ -31,6 +32,11 @@ export const manifest = defineBrickManifest({
|
|
|
31
32
|
category: "content",
|
|
32
33
|
},
|
|
33
34
|
}),
|
|
35
|
+
grow: Type.Optional(
|
|
36
|
+
grow({
|
|
37
|
+
default: true,
|
|
38
|
+
}),
|
|
39
|
+
),
|
|
34
40
|
}),
|
|
35
41
|
});
|
|
36
42
|
|
|
@@ -17,10 +17,8 @@ export const manifest = defineBrickManifest({
|
|
|
17
17
|
|
|
18
18
|
WHEN TO USE:
|
|
19
19
|
- Navigation elements (menu, close, arrow buttons)
|
|
20
|
-
- Social media links (Facebook, Twitter, Instagram, LinkedIn)
|
|
21
20
|
- Contact information (email, phone, location markers)
|
|
22
21
|
- User interface actions (search, shopping cart, download)
|
|
23
|
-
- Status indicators (success, warning, error, info)
|
|
24
22
|
- Content enhancement (stars, hearts, thumbs up)
|
|
25
23
|
- Feature highlights (checkmarks, shields, awards)
|
|
26
24
|
|
|
@@ -30,14 +28,11 @@ ICON SELECTION:
|
|
|
30
28
|
|
|
31
29
|
SIZING GUIDELINES:
|
|
32
30
|
- size: "1em" for inline text icons, "1.5em" for buttons, "2em" for headers
|
|
33
|
-
- Common sizes: "16px", "20px", "24px", "32px" for pixel precision
|
|
34
31
|
- Use "em" units to scale with text, "px" for fixed sizes
|
|
35
32
|
- Large decorative icons: "3em", "4em", or "48px", "64px"
|
|
36
33
|
|
|
37
34
|
COLOR OPTIONS:
|
|
38
35
|
- color: "currentColor" inherits text color (default)
|
|
39
|
-
- Hex colors: "#1877f2" (Facebook blue), "#ff0000" (red), "#10b981" (green)
|
|
40
|
-
- Use brand colors for social media icons
|
|
41
36
|
- Match color scheme: warnings (orange/yellow), errors (red), success (green)
|
|
42
37
|
|
|
43
38
|
INTERACTIVE ICONS:
|
|
@@ -45,7 +40,7 @@ INTERACTIVE ICONS:
|
|
|
45
40
|
- External links: "https://facebook.com/yourpage"
|
|
46
41
|
- Email links: "mailto:contact@example.com"
|
|
47
42
|
- Phone links: "tel:+1234567890"
|
|
48
|
-
-
|
|
43
|
+
- For internal pages, use page IDs: "page_12345"
|
|
49
44
|
|
|
50
45
|
DYNAMIC CONTENT:
|
|
51
46
|
- Use template variables: icon: "{{ service.iconName }}"
|
|
@@ -257,87 +252,4 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
257
252
|
color: "#3b82f6",
|
|
258
253
|
},
|
|
259
254
|
},
|
|
260
|
-
|
|
261
|
-
// ACTION ICONS
|
|
262
|
-
{
|
|
263
|
-
description: "Download icon with link - File downloads",
|
|
264
|
-
type: "icon",
|
|
265
|
-
props: {
|
|
266
|
-
icon: "mdi:download",
|
|
267
|
-
size: "1.4em",
|
|
268
|
-
color: "#8b5cf6",
|
|
269
|
-
link: "/files/brochure.pdf",
|
|
270
|
-
},
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
description: "Share icon - Content sharing functionality",
|
|
274
|
-
type: "icon",
|
|
275
|
-
props: {
|
|
276
|
-
icon: "mdi:share-variant",
|
|
277
|
-
size: "1.2em",
|
|
278
|
-
color: "#6b7280",
|
|
279
|
-
},
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
description: "Print icon - Document printing",
|
|
283
|
-
type: "icon",
|
|
284
|
-
props: {
|
|
285
|
-
icon: "mdi:printer",
|
|
286
|
-
size: "1.3em",
|
|
287
|
-
color: "#374151",
|
|
288
|
-
},
|
|
289
|
-
},
|
|
290
|
-
|
|
291
|
-
// LARGE DECORATIVE ICONS
|
|
292
|
-
{
|
|
293
|
-
description: "Large security shield icon - Trust and safety messaging",
|
|
294
|
-
type: "icon",
|
|
295
|
-
props: {
|
|
296
|
-
icon: "mdi:shield-check",
|
|
297
|
-
size: "3em",
|
|
298
|
-
color: "#10b981",
|
|
299
|
-
},
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
description: "Large rocket icon - Innovation and growth themes",
|
|
303
|
-
type: "icon",
|
|
304
|
-
props: {
|
|
305
|
-
icon: "mdi:rocket",
|
|
306
|
-
size: "2.5em",
|
|
307
|
-
color: "#f59e0b",
|
|
308
|
-
},
|
|
309
|
-
},
|
|
310
|
-
|
|
311
|
-
// DYNAMIC CONTENT EXAMPLES
|
|
312
|
-
{
|
|
313
|
-
description: "Dynamic service icon using template variables - Data-driven icons",
|
|
314
|
-
type: "icon",
|
|
315
|
-
props: {
|
|
316
|
-
icon: "{{service.iconName}}",
|
|
317
|
-
size: "2em",
|
|
318
|
-
color: "{{service.brandColor}}",
|
|
319
|
-
link: "/services/{{service.slug}}",
|
|
320
|
-
},
|
|
321
|
-
},
|
|
322
|
-
{
|
|
323
|
-
description: "Dynamic social media icon with loop - Multiple social platforms",
|
|
324
|
-
type: "icon",
|
|
325
|
-
props: {
|
|
326
|
-
icon: "{{socialLinks.iconName}}",
|
|
327
|
-
size: "1.6em",
|
|
328
|
-
color: "{{socialLinks.brandColor}}",
|
|
329
|
-
link: "{{socialLinks.url}}",
|
|
330
|
-
loop: { over: "socialLinks" },
|
|
331
|
-
},
|
|
332
|
-
},
|
|
333
|
-
{
|
|
334
|
-
description: "Team member contact icon - Dynamic contact information",
|
|
335
|
-
type: "icon",
|
|
336
|
-
props: {
|
|
337
|
-
icon: "mdi:email",
|
|
338
|
-
size: "1.2em",
|
|
339
|
-
color: "#4f46e5",
|
|
340
|
-
link: "mailto:{{teamMember.email}}",
|
|
341
|
-
},
|
|
342
|
-
},
|
|
343
255
|
];
|
|
@@ -21,10 +21,6 @@ Display a single image with optional framing (padding, rounding, border, shadow,
|
|
|
21
21
|
REQUIRED
|
|
22
22
|
• 'image.src' and 'image.alt' (alt must be meaningful, not empty; may interpolate page queries fields).
|
|
23
23
|
|
|
24
|
-
COLOR & BACKGROUND
|
|
25
|
-
• colorPreset is optional – use when you need a frame or tone behind the image (neutral / accent / primary / secondary / base or gradient variants). Omit to keep a transparent/inherited background.
|
|
26
|
-
• Only use gradientDirection when the preset is a gradient token (e.g. primary-gradient-400).
|
|
27
|
-
|
|
28
24
|
STYLING
|
|
29
25
|
• padding should be a single css length value (like '1rem' or '0.75rem').
|
|
30
26
|
• rounding defaults to a modest radius; override for circular avatars (rounded-full) or strong accent (rounded-xl).
|
|
@@ -8,6 +8,7 @@ import { border, rounding } from "../props/border";
|
|
|
8
8
|
import { loop } from "../props/dynamic";
|
|
9
9
|
import { cssLength } from "../props/css-length";
|
|
10
10
|
import type { BrickExample } from "./_types";
|
|
11
|
+
import { grow } from "../props/grow";
|
|
11
12
|
|
|
12
13
|
export const manifest = defineBrickManifest({
|
|
13
14
|
type: "images-gallery",
|
|
@@ -104,6 +105,13 @@ export const manifest = defineBrickManifest({
|
|
|
104
105
|
),
|
|
105
106
|
rounding: rounding(),
|
|
106
107
|
border: Type.Optional(border()),
|
|
108
|
+
|
|
109
|
+
// Override grow to default to true
|
|
110
|
+
grow: Type.Optional(
|
|
111
|
+
grow({
|
|
112
|
+
default: true,
|
|
113
|
+
}),
|
|
114
|
+
),
|
|
107
115
|
}),
|
|
108
116
|
});
|
|
109
117
|
|