@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
|
@@ -12,27 +12,22 @@ import { loop } from "../props/dynamic";
|
|
|
12
12
|
import { StringEnum } from "~/shared/utils/string-enum";
|
|
13
13
|
import { urlOrPageId } from "../props/string";
|
|
14
14
|
import type { BrickExample } from "./_types";
|
|
15
|
+
import { grow } from "../props/grow";
|
|
15
16
|
|
|
16
17
|
export const manifest = defineBrickManifest({
|
|
17
18
|
type: "card",
|
|
18
19
|
name: "Card",
|
|
19
|
-
description: "A card that can have a title, image, and
|
|
20
|
-
aiInstructions: `Use this brick to create visually distinct content blocks (product, feature,
|
|
20
|
+
description: "A card that can have a title, image, content, and button.",
|
|
21
|
+
aiInstructions: `Use this brick to create visually distinct content blocks (product, feature, event, article, blog post, etc.).
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
- Always provide a short action label (1-3 words) and pick a color matching semantic weight (primary/accent for primary actions, neutral/secondary for low emphasis).
|
|
25
|
-
- Image is OPTIONAL. If present you may set imagePosition to top | middle | bottom. Default is top.
|
|
26
|
-
- Pick middle for vertically centered feature highlights, bottom for caption-first layouts.
|
|
23
|
+
Guidelines:
|
|
24
|
+
- Always provide a short button label (1-3 words) and pick a color matching semantic weight (primary/accent for primary actions, neutral/secondary for low emphasis).
|
|
27
25
|
- Set noTitle: true when the card is intentionally title-less (e.g. a quote card or pure media focus).
|
|
28
|
-
- Do NOT include an empty title string alongside noTitle.
|
|
29
26
|
- Use dynamic tokens (e.g. {{products.price}}) instead of duplicating literal values.
|
|
30
|
-
- Prefer gradient presets for more visual emphasis (e.g. primary-gradient-400 with gradientDirection).
|
|
31
27
|
- border + rounding + shadow should be cohesive: stronger borders pair well with larger rounding + moderate shadow; minimal / flat cards may use border-0 + no shadow.
|
|
32
|
-
- For internal navigation
|
|
33
|
-
- Keep HTML inside text minimal (<strong>, <em>, <br>) — for richer structure consider multiple bricks instead.
|
|
34
|
-
- Avoid mixing noTitle with large heading text embedded inside the text field — in that case keep a proper title
|
|
35
|
-
- Return ONLY valid properties defined in the schema; do not invent new ones.`,
|
|
28
|
+
- For internal navigation, always supply a page ID (e.g. 'about') instead of a full URL. Use placeholders like {{page.$slug}} for dynamic page links.
|
|
29
|
+
- Keep HTML inside text minimal (<strong>, <em>, <br>, <p>) — for richer structure consider multiple bricks instead.
|
|
30
|
+
- Avoid mixing noTitle with large heading text embedded inside the text field — in that case keep a proper title.`,
|
|
36
31
|
icon: BsCardText,
|
|
37
32
|
defaultWidth: { desktop: "400px", mobile: "100%" },
|
|
38
33
|
minWidth: { desktop: 300 },
|
|
@@ -45,7 +40,6 @@ export const manifest = defineBrickManifest({
|
|
|
45
40
|
default: { color: "base-100" },
|
|
46
41
|
}),
|
|
47
42
|
),
|
|
48
|
-
|
|
49
43
|
cardImage: Type.Optional(
|
|
50
44
|
image({
|
|
51
45
|
"ui:responsive": "desktop",
|
|
@@ -122,6 +116,11 @@ export const manifest = defineBrickManifest({
|
|
|
122
116
|
},
|
|
123
117
|
{ title: "Button", description: "Button displayed at the bottom of the card" },
|
|
124
118
|
),
|
|
119
|
+
grow: Type.Optional(
|
|
120
|
+
grow({
|
|
121
|
+
default: true,
|
|
122
|
+
}),
|
|
123
|
+
),
|
|
125
124
|
}),
|
|
126
125
|
});
|
|
127
126
|
|
|
@@ -188,7 +187,7 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
188
187
|
},
|
|
189
188
|
// INTERNAL PAGE ID LINK VARIANT
|
|
190
189
|
{
|
|
191
|
-
description: "Internal navigation card using a page ID
|
|
190
|
+
description: "Internal navigation card using a page ID for the button URL (page id = 'about')",
|
|
192
191
|
type: "card",
|
|
193
192
|
props: {
|
|
194
193
|
title: "About Our Mission",
|
|
@@ -200,7 +199,8 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
200
199
|
},
|
|
201
200
|
// GRADIENT & STRONG BORDER VARIANT
|
|
202
201
|
{
|
|
203
|
-
description:
|
|
202
|
+
description:
|
|
203
|
+
"High-emphasis promotional card using gradient background and thick border, linking to the page with id 'pricing-page'",
|
|
204
204
|
type: "card",
|
|
205
205
|
props: {
|
|
206
206
|
title: "Limited Time Offer",
|
|
@@ -209,37 +209,24 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
209
209
|
border: { width: "border-4", color: "border-primary-400" },
|
|
210
210
|
rounding: "rounded-xl",
|
|
211
211
|
shadow: "shadow-lg",
|
|
212
|
-
button: { label: "Upgrade", url: "
|
|
212
|
+
button: { label: "Upgrade", url: "pricing-page", color: "btn-accent" },
|
|
213
213
|
},
|
|
214
214
|
},
|
|
215
215
|
// MINIMAL / FLAT VARIANT (no border, no shadow, subtle preset)
|
|
216
216
|
{
|
|
217
|
-
description:
|
|
217
|
+
description:
|
|
218
|
+
"Minimal flat information card (border-0, no shadow) linking to the page with id 'status-page'",
|
|
218
219
|
type: "card",
|
|
219
220
|
props: {
|
|
220
221
|
title: "Maintenance Window",
|
|
221
222
|
text: "Scheduled maintenance on Saturday 02:00–03:00 UTC. API responses may be delayed.",
|
|
222
223
|
colorPreset: { color: "neutral-50" },
|
|
223
224
|
border: { width: "border-0", color: "border-neutral-200" },
|
|
224
|
-
button: { label: "Status Page", url: "
|
|
225
|
-
},
|
|
226
|
-
},
|
|
227
|
-
// DARK / INVERTED VARIANT
|
|
228
|
-
{
|
|
229
|
-
description: "Dark themed spotlight card (primary-800 background)",
|
|
230
|
-
type: "card",
|
|
231
|
-
props: {
|
|
232
|
-
title: "Night Mode Preview",
|
|
233
|
-
text: "Experience the new adaptive dark theme optimized for low ambient light environments.",
|
|
234
|
-
colorPreset: { color: "primary-800" },
|
|
235
|
-
border: { width: "border", color: "border-primary-600" },
|
|
236
|
-
rounding: "rounded-lg",
|
|
237
|
-
shadow: "shadow-md",
|
|
238
|
-
button: { label: "Preview", url: "/themes/dark", color: "btn-primary" },
|
|
225
|
+
button: { label: "Status Page", url: "status-page", color: "btn-neutral" },
|
|
239
226
|
},
|
|
240
227
|
},
|
|
241
228
|
{
|
|
242
|
-
description: "Feature card with large padding and background",
|
|
229
|
+
description: "Feature card with large padding and background, linking to a dynamic product page",
|
|
243
230
|
type: "card",
|
|
244
231
|
props: {
|
|
245
232
|
title: "Key Feature",
|
|
@@ -250,13 +237,13 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
250
237
|
shadow: "shadow-sm",
|
|
251
238
|
button: {
|
|
252
239
|
label: "Discover More",
|
|
253
|
-
url: "/
|
|
240
|
+
url: "/product/{{ product.$slug }}",
|
|
254
241
|
color: "btn-primary",
|
|
255
242
|
},
|
|
256
243
|
},
|
|
257
244
|
},
|
|
258
245
|
{
|
|
259
|
-
description: "Blog post card with image at the bottom",
|
|
246
|
+
description: "Blog post card with image at the bottom, linking to a dynamic blog post",
|
|
260
247
|
type: "card",
|
|
261
248
|
props: {
|
|
262
249
|
title: "Future of Tech",
|
|
@@ -270,65 +257,8 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
270
257
|
url: "/blog/{{ blogPosts.$slug }}",
|
|
271
258
|
color: "btn-primary",
|
|
272
259
|
},
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
{
|
|
276
|
-
description: "Minimal centered card without image",
|
|
277
|
-
type: "card",
|
|
278
|
-
props: {
|
|
279
|
-
title: "Simple Announcement",
|
|
280
|
-
text: "Important updates will be posted here regularly.",
|
|
281
|
-
button: {
|
|
282
|
-
label: "View Updates",
|
|
283
|
-
url: "/updates",
|
|
284
|
-
color: "btn-neutral",
|
|
285
|
-
},
|
|
286
|
-
},
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
description: "Event card with multiple variants",
|
|
290
|
-
type: "card",
|
|
291
|
-
props: {
|
|
292
|
-
cardImage: {
|
|
293
|
-
src: "https://via.placeholder.com/400x250",
|
|
294
|
-
alt: "Event venue",
|
|
295
|
-
},
|
|
296
|
-
title: "Annual Conference 2025",
|
|
297
|
-
text: "Join us for three days of inspiring talks, networking opportunities, and hands-on workshops.",
|
|
298
|
-
button: {
|
|
299
|
-
label: "Register Now",
|
|
300
|
-
url: "/events/conference-2025",
|
|
301
|
-
color: "btn-primary",
|
|
302
|
-
},
|
|
303
|
-
},
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
description: "News article card with compact layout",
|
|
307
|
-
type: "card",
|
|
308
|
-
props: {
|
|
309
|
-
cardImage: {
|
|
310
|
-
src: "https://via.placeholder.com/120x120",
|
|
311
|
-
alt: "News thumbnail",
|
|
312
|
-
},
|
|
313
|
-
title: "Breaking News Update",
|
|
314
|
-
text: "Latest developments in the ongoing story with expert analysis and community reactions.",
|
|
315
|
-
button: {
|
|
316
|
-
label: "Read Full Article",
|
|
317
|
-
url: "/news/breaking-update",
|
|
318
|
-
color: "btn-secondary",
|
|
319
|
-
},
|
|
320
|
-
},
|
|
321
|
-
},
|
|
322
|
-
{
|
|
323
|
-
description: "Call-to-action card with prominent styling",
|
|
324
|
-
type: "card",
|
|
325
|
-
props: {
|
|
326
|
-
title: "Get Started Today",
|
|
327
|
-
text: "Transform your workflow with our powerful tools. Sign up now and get 30 days free!",
|
|
328
|
-
button: {
|
|
329
|
-
label: "Sign Up Now",
|
|
330
|
-
url: "/signup",
|
|
331
|
-
color: "btn-primary",
|
|
260
|
+
loop: {
|
|
261
|
+
over: "blogPosts",
|
|
332
262
|
},
|
|
333
263
|
},
|
|
334
264
|
},
|
|
@@ -430,77 +360,4 @@ export const examples: BrickExample<Manifest>[] = [
|
|
|
430
360
|
},
|
|
431
361
|
},
|
|
432
362
|
},
|
|
433
|
-
{
|
|
434
|
-
description: "Testimonial card using customerReviews query with ratings",
|
|
435
|
-
type: "card",
|
|
436
|
-
props: {
|
|
437
|
-
cardImage: {
|
|
438
|
-
src: "{{customerReviews.customerPhoto}}",
|
|
439
|
-
alt: "{{customerReviews.customerName}}",
|
|
440
|
-
},
|
|
441
|
-
imagePosition: "top",
|
|
442
|
-
title: "{{customerReviews.customerName}}",
|
|
443
|
-
text: '"{{customerReviews.review}}"<br><br><strong>Rating: {{customerReviews.rating}}/5 stars</strong><br>{{customerReviews.company}} • {{customerReviews.position}}',
|
|
444
|
-
colorPreset: { color: "neutral-50" },
|
|
445
|
-
rounding: "rounded-xl",
|
|
446
|
-
shadow: "shadow-lg",
|
|
447
|
-
button: {
|
|
448
|
-
label: "See All Reviews",
|
|
449
|
-
url: "/reviews",
|
|
450
|
-
color: "btn-neutral",
|
|
451
|
-
},
|
|
452
|
-
loop: {
|
|
453
|
-
over: "customerReviews",
|
|
454
|
-
},
|
|
455
|
-
},
|
|
456
|
-
},
|
|
457
|
-
{
|
|
458
|
-
description: "Service offering card using companyServices query with pricing tiers",
|
|
459
|
-
type: "card",
|
|
460
|
-
props: {
|
|
461
|
-
cardImage: {
|
|
462
|
-
src: "{{companyServices.icon}}",
|
|
463
|
-
alt: "{{companyServices.serviceName}}",
|
|
464
|
-
},
|
|
465
|
-
imagePosition: "top",
|
|
466
|
-
title: "{{companyServices.serviceName}}",
|
|
467
|
-
text: "{{companyServices.description}}<br><br><strong>Starting at ${{companyServices.startingPrice}}</strong><br>Duration: {{companyServices.duration}}<br>Includes: {{companyServices.features}}",
|
|
468
|
-
colorPreset: { color: "primary-100" },
|
|
469
|
-
border: { width: "border", color: "border-primary-300" },
|
|
470
|
-
rounding: "rounded-lg",
|
|
471
|
-
shadow: "shadow-md",
|
|
472
|
-
button: {
|
|
473
|
-
label: "Learn More",
|
|
474
|
-
url: "{{companyServices.detailsUrl}}",
|
|
475
|
-
color: "btn-primary",
|
|
476
|
-
},
|
|
477
|
-
loop: {
|
|
478
|
-
over: "companyServices",
|
|
479
|
-
},
|
|
480
|
-
},
|
|
481
|
-
},
|
|
482
|
-
{
|
|
483
|
-
description: "Portfolio project card using portfolioWork query with project details",
|
|
484
|
-
type: "card",
|
|
485
|
-
props: {
|
|
486
|
-
cardImage: {
|
|
487
|
-
src: "{{portfolioWork.thumbnail}}",
|
|
488
|
-
alt: "{{portfolioWork.projectName}}",
|
|
489
|
-
},
|
|
490
|
-
imagePosition: "top",
|
|
491
|
-
title: "{{portfolioWork.projectName}}",
|
|
492
|
-
text: "<strong>Client:</strong> {{portfolioWork.clientName}}<br><strong>Year:</strong> {{portfolioWork.year}}<br><strong>Category:</strong> {{portfolioWork.category}}<br><br>{{portfolioWork.description}}",
|
|
493
|
-
colorPreset: { color: "secondary-100" },
|
|
494
|
-
rounding: "rounded-md",
|
|
495
|
-
shadow: "shadow-sm",
|
|
496
|
-
button: {
|
|
497
|
-
label: "View Project",
|
|
498
|
-
url: "{{portfolioWork.projectUrl}}",
|
|
499
|
-
color: "btn-secondary",
|
|
500
|
-
},
|
|
501
|
-
loop: {
|
|
502
|
-
over: "portfolioWork",
|
|
503
|
-
},
|
|
504
|
-
},
|
|
505
|
-
},
|
|
506
363
|
];
|