@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
|
@@ -1,505 +0,0 @@
|
|
|
1
|
-
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
border
|
|
5
|
-
} from "./chunk-SRYBJ6NQ.js";
|
|
6
|
-
import {
|
|
7
|
-
defineProps
|
|
8
|
-
} from "./chunk-VTCHJT4O.js";
|
|
9
|
-
import {
|
|
10
|
-
fontSize
|
|
11
|
-
} from "./chunk-2U5U3CCJ.js";
|
|
12
|
-
import {
|
|
13
|
-
image
|
|
14
|
-
} from "./chunk-DRQKKPTX.js";
|
|
15
|
-
import {
|
|
16
|
-
icon
|
|
17
|
-
} from "./chunk-SQXZNGQF.js";
|
|
18
|
-
import {
|
|
19
|
-
cssLength
|
|
20
|
-
} from "./chunk-OJ6KL7FU.js";
|
|
21
|
-
import {
|
|
22
|
-
loop
|
|
23
|
-
} from "./chunk-XFZQGRRL.js";
|
|
24
|
-
import {
|
|
25
|
-
shadow
|
|
26
|
-
} from "./chunk-5RCC2STG.js";
|
|
27
|
-
import {
|
|
28
|
-
colorPreset
|
|
29
|
-
} from "./chunk-IEMCCHM4.js";
|
|
30
|
-
import {
|
|
31
|
-
defineBrickManifest
|
|
32
|
-
} from "./chunk-J45LSQT6.js";
|
|
33
|
-
|
|
34
|
-
// src/shared/bricks/manifests/testimonials.manifest.ts
|
|
35
|
-
import { Type } from "@sinclair/typebox";
|
|
36
|
-
import { HiOutlineChatBubbleBottomCenter } from "react-icons/hi2";
|
|
37
|
-
var manifest = defineBrickManifest({
|
|
38
|
-
type: "testimonials",
|
|
39
|
-
name: "Testimonials",
|
|
40
|
-
description: "Display testimonials from users",
|
|
41
|
-
defaultWidth: { desktop: "100%" },
|
|
42
|
-
icon: HiOutlineChatBubbleBottomCenter,
|
|
43
|
-
consumesMultipleQueryRows: true,
|
|
44
|
-
aiInstructions: `This brick displays user testimonials with optional avatars and social icons.
|
|
45
|
-
It is typically used to showcase customer feedback or endorsements.
|
|
46
|
-
Optionally either use an avatar or a social icon but not both at the same time.`,
|
|
47
|
-
props: defineProps(
|
|
48
|
-
{
|
|
49
|
-
colorPreset: Type.Optional(
|
|
50
|
-
colorPreset({
|
|
51
|
-
title: "Color",
|
|
52
|
-
default: "base-100"
|
|
53
|
-
})
|
|
54
|
-
),
|
|
55
|
-
border: Type.Optional(
|
|
56
|
-
border({
|
|
57
|
-
title: "Border",
|
|
58
|
-
description: "Customize the border of the testimonial cards.",
|
|
59
|
-
default: {
|
|
60
|
-
width: "border",
|
|
61
|
-
color: "border-accent-500"
|
|
62
|
-
}
|
|
63
|
-
})
|
|
64
|
-
),
|
|
65
|
-
fontSize: Type.Optional(
|
|
66
|
-
fontSize({
|
|
67
|
-
"ui:no-extra-large-sizes": true
|
|
68
|
-
})
|
|
69
|
-
),
|
|
70
|
-
padding: Type.Optional(
|
|
71
|
-
cssLength({
|
|
72
|
-
default: "1rem",
|
|
73
|
-
description: "Padding inside the main container.",
|
|
74
|
-
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
75
|
-
title: "Padding",
|
|
76
|
-
"ui:responsive": true,
|
|
77
|
-
"ui:placeholder": "Not specified",
|
|
78
|
-
"ui:styleId": "styles:padding"
|
|
79
|
-
})
|
|
80
|
-
),
|
|
81
|
-
gap: Type.Optional(
|
|
82
|
-
cssLength({
|
|
83
|
-
title: "Gap",
|
|
84
|
-
default: "26px",
|
|
85
|
-
description: "Space between bricks.",
|
|
86
|
-
"ai:instructions": "Can be a tailwind gap class like 'gap-1' or 'gap-2', or a custom value like '10px'",
|
|
87
|
-
"ui:placeholder": "Not specified",
|
|
88
|
-
"ui:styleId": "styles:gap"
|
|
89
|
-
})
|
|
90
|
-
),
|
|
91
|
-
shadow: Type.Optional(shadow()),
|
|
92
|
-
loop: Type.Optional(
|
|
93
|
-
loop({
|
|
94
|
-
// title: "Use dynamic content",
|
|
95
|
-
description: "If enabled, each row from the query result will be used to create a testimonial. Otherwise, the testimonials will be static.",
|
|
96
|
-
"ui:placeholder": "Not specified (static)"
|
|
97
|
-
})
|
|
98
|
-
),
|
|
99
|
-
testimonials: Type.Optional(
|
|
100
|
-
Type.Array(
|
|
101
|
-
Type.Object({
|
|
102
|
-
text: Type.String({
|
|
103
|
-
title: "Text",
|
|
104
|
-
default: "Amazing product!",
|
|
105
|
-
"ui:multiline": true,
|
|
106
|
-
"ui:textarea-class": "h-20"
|
|
107
|
-
}),
|
|
108
|
-
author: Type.String({ title: "Author", default: "John Doe" }),
|
|
109
|
-
company: Type.Optional(Type.String({ title: "Company" })),
|
|
110
|
-
avatar: Type.Optional(
|
|
111
|
-
image({
|
|
112
|
-
title: "Avatar",
|
|
113
|
-
"ui:placeholder": "https://via.placeholder.com/80x80.png?text=JD",
|
|
114
|
-
noObjectOptions: true
|
|
115
|
-
})
|
|
116
|
-
),
|
|
117
|
-
socialIcon: Type.Optional(icon())
|
|
118
|
-
}),
|
|
119
|
-
{
|
|
120
|
-
title: "Testimonials",
|
|
121
|
-
default: [],
|
|
122
|
-
// Empty array by default
|
|
123
|
-
"ui:displayField": "author",
|
|
124
|
-
// Affiche le nom de l'auteur dans la vue compacte
|
|
125
|
-
"ui:options": {
|
|
126
|
-
orderable: true,
|
|
127
|
-
// Enable drag & drop reordering
|
|
128
|
-
removable: true,
|
|
129
|
-
// Enable delete button
|
|
130
|
-
addable: true
|
|
131
|
-
// Enable add button
|
|
132
|
-
},
|
|
133
|
-
metadata: {
|
|
134
|
-
category: "content",
|
|
135
|
-
consumeQuery: true
|
|
136
|
-
},
|
|
137
|
-
examples: [
|
|
138
|
-
{
|
|
139
|
-
text: "This is a great product! It has changed my life.",
|
|
140
|
-
author: "John Doe",
|
|
141
|
-
company: "Acme Inc.",
|
|
142
|
-
avatar: {
|
|
143
|
-
src: "https://via.placeholder.com/80x80.png?text=JD",
|
|
144
|
-
alt: "John Doe profile photo"
|
|
145
|
-
},
|
|
146
|
-
socialIcon: "mdi:linkedin"
|
|
147
|
-
}
|
|
148
|
-
]
|
|
149
|
-
}
|
|
150
|
-
)
|
|
151
|
-
)
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
default: {
|
|
155
|
-
orientation: "horizontal"
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
)
|
|
159
|
-
});
|
|
160
|
-
var examples = [
|
|
161
|
-
{
|
|
162
|
-
description: "SaaS platform testimonials with avatars",
|
|
163
|
-
type: "testimonials",
|
|
164
|
-
props: {
|
|
165
|
-
testimonials: [
|
|
166
|
-
{
|
|
167
|
-
author: "Sarah Johnson",
|
|
168
|
-
company: "TechCorp Solutions",
|
|
169
|
-
text: "This platform has completely transformed how we manage our projects. The intuitive interface and powerful automation features have saved us countless hours.",
|
|
170
|
-
avatar: {
|
|
171
|
-
src: "https://via.placeholder.com/80x80.png?text=SJ",
|
|
172
|
-
alt: "Sarah Johnson profile photo"
|
|
173
|
-
},
|
|
174
|
-
socialIcon: "mdi:linkedin"
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
author: "Mike Chen",
|
|
178
|
-
company: "StartupFlow",
|
|
179
|
-
text: "Outstanding customer support and regular feature updates. We've been using this for over a year and it keeps getting better. Highly recommend!",
|
|
180
|
-
avatar: {
|
|
181
|
-
src: "https://via.placeholder.com/80x80.png?text=MC",
|
|
182
|
-
alt: "Mike Chen profile photo"
|
|
183
|
-
},
|
|
184
|
-
socialIcon: "mdi:twitter"
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
author: "Emily Rodriguez",
|
|
188
|
-
company: "Digital Agency Pro",
|
|
189
|
-
text: "The automation capabilities are game-changing. What used to take us days now happens automatically. It's like having an extra team member.",
|
|
190
|
-
avatar: {
|
|
191
|
-
src: "https://via.placeholder.com/80x80.png?text=ER",
|
|
192
|
-
alt: "Emily Rodriguez profile photo"
|
|
193
|
-
},
|
|
194
|
-
socialIcon: "mdi:linkedin"
|
|
195
|
-
}
|
|
196
|
-
]
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
description: "E-commerce customer reviews",
|
|
201
|
-
type: "testimonials",
|
|
202
|
-
props: {
|
|
203
|
-
testimonials: [
|
|
204
|
-
{
|
|
205
|
-
author: "Jessica Williams",
|
|
206
|
-
company: "Happy Customer",
|
|
207
|
-
text: "Amazing product quality and fast shipping! The item exceeded my expectations and the customer service was excellent when I had questions.",
|
|
208
|
-
avatar: {
|
|
209
|
-
src: "https://via.placeholder.com/60x60.png?text=JW",
|
|
210
|
-
alt: "Jessica Williams customer photo"
|
|
211
|
-
},
|
|
212
|
-
socialIcon: "mdi:star"
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
author: "David Park",
|
|
216
|
-
text: "Five stars! Been using this product for 6 months and it's still going strong. Definitely worth the investment and I've already recommended it to friends.",
|
|
217
|
-
avatar: {
|
|
218
|
-
src: "https://via.placeholder.com/60x60.png?text=DP",
|
|
219
|
-
alt: "David Park customer photo"
|
|
220
|
-
},
|
|
221
|
-
socialIcon: "mdi:thumbs-up"
|
|
222
|
-
}
|
|
223
|
-
]
|
|
224
|
-
}
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
description: "Agency client testimonials with company info",
|
|
228
|
-
type: "testimonials",
|
|
229
|
-
props: {
|
|
230
|
-
testimonials: [
|
|
231
|
-
{
|
|
232
|
-
author: "Rachel Thompson",
|
|
233
|
-
company: "Global Enterprises",
|
|
234
|
-
text: "The team delivered exceptional results on time and within budget. Their creative approach and attention to detail made all the difference for our brand.",
|
|
235
|
-
avatar: {
|
|
236
|
-
src: "https://via.placeholder.com/70x70.png?text=RT",
|
|
237
|
-
alt: "Rachel Thompson headshot"
|
|
238
|
-
},
|
|
239
|
-
socialIcon: "mdi:briefcase"
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
author: "Alex Kumar",
|
|
243
|
-
company: "Innovation Labs",
|
|
244
|
-
text: "Working with this agency was a game-changer for our digital presence. They understood our vision and brought it to life beautifully.",
|
|
245
|
-
avatar: {
|
|
246
|
-
src: "https://via.placeholder.com/70x70.png?text=AK",
|
|
247
|
-
alt: "Alex Kumar profile"
|
|
248
|
-
},
|
|
249
|
-
socialIcon: "mdi:lightbulb"
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
author: "Maria Santos",
|
|
253
|
-
company: "Retail Plus",
|
|
254
|
-
text: "Professional, creative, and results-driven. Our website traffic increased by 200% after their redesign. Couldn't be happier!",
|
|
255
|
-
avatar: {
|
|
256
|
-
src: "https://via.placeholder.com/70x70.png?text=MS",
|
|
257
|
-
alt: "Maria Santos photo"
|
|
258
|
-
},
|
|
259
|
-
socialIcon: "mdi:chart-line"
|
|
260
|
-
}
|
|
261
|
-
]
|
|
262
|
-
}
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
description: "App user feedback",
|
|
266
|
-
type: "testimonials",
|
|
267
|
-
props: {
|
|
268
|
-
testimonials: [
|
|
269
|
-
{
|
|
270
|
-
author: "Tom Wilson",
|
|
271
|
-
text: "This app has made my daily routine so much easier. Love the clean interface and how everything just works seamlessly across all my devices.",
|
|
272
|
-
avatar: {
|
|
273
|
-
src: "https://via.placeholder.com/65x65.png?text=TW",
|
|
274
|
-
alt: "Tom Wilson user photo"
|
|
275
|
-
},
|
|
276
|
-
socialIcon: "mdi:cellphone"
|
|
277
|
-
},
|
|
278
|
-
{
|
|
279
|
-
author: "Lisa Chang",
|
|
280
|
-
text: "Been using this app for months and it's become essential to my workflow. The latest update with AI features is incredibly impressive.",
|
|
281
|
-
avatar: {
|
|
282
|
-
src: "https://via.placeholder.com/65x65.png?text=LC",
|
|
283
|
-
alt: "Lisa Chang profile picture"
|
|
284
|
-
},
|
|
285
|
-
socialIcon: "mdi:robot"
|
|
286
|
-
},
|
|
287
|
-
{
|
|
288
|
-
author: "James Miller",
|
|
289
|
-
text: "Simple, powerful, and reliable. Exactly what I was looking for. The customer support team is also very responsive and helpful.",
|
|
290
|
-
avatar: {
|
|
291
|
-
src: "https://via.placeholder.com/65x65.png?text=JM",
|
|
292
|
-
alt: "James Miller avatar"
|
|
293
|
-
},
|
|
294
|
-
socialIcon: "mdi:heart"
|
|
295
|
-
}
|
|
296
|
-
]
|
|
297
|
-
}
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
description: "Course/education testimonials with social icons",
|
|
301
|
-
type: "testimonials",
|
|
302
|
-
props: {
|
|
303
|
-
testimonials: [
|
|
304
|
-
{
|
|
305
|
-
author: "Amanda Foster",
|
|
306
|
-
company: "UX Designer",
|
|
307
|
-
text: "This course completely changed my career trajectory. The practical projects and expert feedback helped me land my dream job in just 3 months.",
|
|
308
|
-
avatar: {
|
|
309
|
-
src: "https://via.placeholder.com/75x75.png?text=AF",
|
|
310
|
-
alt: "Amanda Foster student photo"
|
|
311
|
-
},
|
|
312
|
-
socialIcon: "mdi:school"
|
|
313
|
-
},
|
|
314
|
-
{
|
|
315
|
-
author: "Carlos Rodriguez",
|
|
316
|
-
company: "Software Engineer",
|
|
317
|
-
text: "The instructors are industry experts and the content is always up-to-date. I've taken three courses here and each one exceeded my expectations.",
|
|
318
|
-
avatar: {
|
|
319
|
-
src: "https://via.placeholder.com/75x75.png?text=CR",
|
|
320
|
-
alt: "Carlos Rodriguez profile"
|
|
321
|
-
},
|
|
322
|
-
socialIcon: "mdi:code-tags"
|
|
323
|
-
}
|
|
324
|
-
]
|
|
325
|
-
}
|
|
326
|
-
},
|
|
327
|
-
{
|
|
328
|
-
description: "Simple testimonials without avatars",
|
|
329
|
-
type: "testimonials",
|
|
330
|
-
props: {
|
|
331
|
-
testimonials: [
|
|
332
|
-
{
|
|
333
|
-
author: "Anonymous User",
|
|
334
|
-
text: "Great service and excellent value for money. Would definitely recommend to others looking for a reliable solution.",
|
|
335
|
-
socialIcon: "mdi:account-circle"
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
author: "Verified Customer",
|
|
339
|
-
text: "Quick delivery and exactly as described. Very satisfied with my purchase and the overall experience.",
|
|
340
|
-
socialIcon: "mdi:check-circle"
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
author: "Beta Tester",
|
|
344
|
-
text: "Been using the beta version and it's already impressive. Looking forward to the full release with even more features.",
|
|
345
|
-
socialIcon: "mdi:beta"
|
|
346
|
-
}
|
|
347
|
-
]
|
|
348
|
-
}
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
description: "Consultant testimonials with professional focus",
|
|
352
|
-
type: "testimonials",
|
|
353
|
-
props: {
|
|
354
|
-
testimonials: [
|
|
355
|
-
{
|
|
356
|
-
author: "Dr. Patricia Lee",
|
|
357
|
-
company: "Medical Practice Solutions",
|
|
358
|
-
text: "The consulting services provided were invaluable to our practice. Revenue increased by 40% and patient satisfaction scores improved significantly.",
|
|
359
|
-
avatar: {
|
|
360
|
-
src: "https://via.placeholder.com/80x80.png?text=PL",
|
|
361
|
-
alt: "Dr. Patricia Lee headshot"
|
|
362
|
-
},
|
|
363
|
-
socialIcon: "mdi:medical-bag"
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
author: "Robert Kim",
|
|
367
|
-
company: "Manufacturing Inc.",
|
|
368
|
-
text: "Their strategic insights helped us streamline operations and reduce costs by 25%. The ROI was evident within the first quarter.",
|
|
369
|
-
avatar: {
|
|
370
|
-
src: "https://via.placeholder.com/80x80.png?text=RK",
|
|
371
|
-
alt: "Robert Kim executive photo"
|
|
372
|
-
},
|
|
373
|
-
socialIcon: "mdi:factory"
|
|
374
|
-
}
|
|
375
|
-
]
|
|
376
|
-
}
|
|
377
|
-
},
|
|
378
|
-
{
|
|
379
|
-
description: "Event testimonials with social media icons",
|
|
380
|
-
type: "testimonials",
|
|
381
|
-
props: {
|
|
382
|
-
testimonials: [
|
|
383
|
-
{
|
|
384
|
-
author: "Jennifer Adams",
|
|
385
|
-
company: "Marketing Director",
|
|
386
|
-
text: "Best conference I've attended in years! The networking opportunities were incredible and the speakers were top-notch industry leaders.",
|
|
387
|
-
avatar: {
|
|
388
|
-
src: "https://via.placeholder.com/70x70.png?text=JA",
|
|
389
|
-
alt: "Jennifer Adams conference attendee"
|
|
390
|
-
},
|
|
391
|
-
socialIcon: "mdi:twitter"
|
|
392
|
-
},
|
|
393
|
-
{
|
|
394
|
-
author: "Michael Brown",
|
|
395
|
-
company: "Tech Startup Founder",
|
|
396
|
-
text: "The workshops were incredibly practical and I left with actionable strategies I could implement immediately. Already planning to attend next year!",
|
|
397
|
-
avatar: {
|
|
398
|
-
src: "https://via.placeholder.com/70x70.png?text=MB",
|
|
399
|
-
alt: "Michael Brown participant photo"
|
|
400
|
-
},
|
|
401
|
-
socialIcon: "mdi:linkedin"
|
|
402
|
-
},
|
|
403
|
-
{
|
|
404
|
-
author: "Sophie Chen",
|
|
405
|
-
company: "Product Manager",
|
|
406
|
-
text: "Amazing organization and valuable content. Met so many like-minded professionals and learned cutting-edge techniques I'm excited to try.",
|
|
407
|
-
avatar: {
|
|
408
|
-
src: "https://via.placeholder.com/70x70.png?text=SC",
|
|
409
|
-
alt: "Sophie Chen attendee photo"
|
|
410
|
-
},
|
|
411
|
-
socialIcon: "mdi:instagram"
|
|
412
|
-
}
|
|
413
|
-
]
|
|
414
|
-
}
|
|
415
|
-
},
|
|
416
|
-
{
|
|
417
|
-
description: "Dynamic customer testimonials using customerReviews query",
|
|
418
|
-
type: "testimonials",
|
|
419
|
-
props: {
|
|
420
|
-
testimonials: [
|
|
421
|
-
{
|
|
422
|
-
author: "{{customerReviews.customerName}}",
|
|
423
|
-
company: "{{customerReviews.company}}",
|
|
424
|
-
text: "{{customerReviews.reviewText}}",
|
|
425
|
-
avatar: {
|
|
426
|
-
src: "{{customerReviews.customerPhoto}}",
|
|
427
|
-
alt: "{{customerReviews.customerName}} photo"
|
|
428
|
-
},
|
|
429
|
-
socialIcon: "{{customerReviews.socialPlatform}}"
|
|
430
|
-
}
|
|
431
|
-
],
|
|
432
|
-
loop: {
|
|
433
|
-
over: "customerReviews"
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
},
|
|
437
|
-
{
|
|
438
|
-
description: "Dynamic client testimonials using clientFeedback query",
|
|
439
|
-
type: "testimonials",
|
|
440
|
-
props: {
|
|
441
|
-
testimonials: [
|
|
442
|
-
{
|
|
443
|
-
author: "{{clientFeedback.clientName}}",
|
|
444
|
-
company: "{{clientFeedback.companyName}} - {{clientFeedback.position}}",
|
|
445
|
-
text: "{{clientFeedback.testimonial}}",
|
|
446
|
-
avatar: {
|
|
447
|
-
src: "{{clientFeedback.headshot}}",
|
|
448
|
-
alt: "{{clientFeedback.clientName}} headshot"
|
|
449
|
-
},
|
|
450
|
-
socialIcon: "{{clientFeedback.preferredIcon}}"
|
|
451
|
-
}
|
|
452
|
-
],
|
|
453
|
-
loop: {
|
|
454
|
-
over: "clientFeedback"
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
},
|
|
458
|
-
{
|
|
459
|
-
description: "Dynamic product reviews using productReviews query",
|
|
460
|
-
type: "testimonials",
|
|
461
|
-
props: {
|
|
462
|
-
testimonials: [
|
|
463
|
-
{
|
|
464
|
-
author: "{{productReviews.reviewerName}}",
|
|
465
|
-
text: "{{productReviews.review}} - {{productReviews.rating}}/5 stars",
|
|
466
|
-
avatar: {
|
|
467
|
-
src: "{{productReviews.userAvatar}}",
|
|
468
|
-
alt: "{{productReviews.reviewerName}} profile"
|
|
469
|
-
},
|
|
470
|
-
socialIcon: "mdi:star"
|
|
471
|
-
}
|
|
472
|
-
],
|
|
473
|
-
loop: {
|
|
474
|
-
over: "productReviews"
|
|
475
|
-
}
|
|
476
|
-
}
|
|
477
|
-
},
|
|
478
|
-
{
|
|
479
|
-
description: "Dynamic employee testimonials using teamTestimonials query",
|
|
480
|
-
type: "testimonials",
|
|
481
|
-
props: {
|
|
482
|
-
testimonials: [
|
|
483
|
-
{
|
|
484
|
-
author: "{{teamTestimonials.employeeName}}",
|
|
485
|
-
company: "{{teamTestimonials.department}} - {{teamTestimonials.jobTitle}}",
|
|
486
|
-
text: "{{teamTestimonials.testimonial}}",
|
|
487
|
-
avatar: {
|
|
488
|
-
src: "{{teamTestimonials.profilePhoto}}",
|
|
489
|
-
alt: "{{teamTestimonials.employeeName}} profile photo"
|
|
490
|
-
},
|
|
491
|
-
socialIcon: "{{teamTestimonials.socialIcon}}"
|
|
492
|
-
}
|
|
493
|
-
],
|
|
494
|
-
loop: {
|
|
495
|
-
over: "teamTestimonials"
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
];
|
|
500
|
-
|
|
501
|
-
export {
|
|
502
|
-
manifest,
|
|
503
|
-
examples
|
|
504
|
-
};
|
|
505
|
-
//# sourceMappingURL=chunk-O24RDXZS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/manifests/testimonials.manifest.ts"],"sourcesContent":["import { type Static, type TObject, Type } from \"@sinclair/typebox\";\nimport { HiOutlineChatBubbleBottomCenter } from \"react-icons/hi2\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { image } from \"../props/image\";\nimport { icon } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { fontSize } from \"../props/text\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { cssLength } from \"../props/css-length\";\nimport { loop } from \"../props/dynamic\";\nimport { border } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"testimonials\",\n name: \"Testimonials\",\n description: \"Display testimonials from users\",\n defaultWidth: { desktop: \"100%\" },\n icon: HiOutlineChatBubbleBottomCenter,\n consumesMultipleQueryRows: true,\n aiInstructions: `This brick displays user testimonials with optional avatars and social icons.\nIt is typically used to showcase customer feedback or endorsements.\nOptionally either use an avatar or a social icon but not both at the same time.`,\n props: defineProps(\n {\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n default: \"base-100\",\n }),\n ),\n border: Type.Optional(\n border({\n title: \"Border\",\n description: \"Customize the border of the testimonial cards.\",\n default: {\n width: \"border\",\n color: \"border-accent-500\",\n },\n }),\n ),\n fontSize: Type.Optional(\n fontSize({\n \"ui:no-extra-large-sizes\": true,\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"1rem\",\n description: \"Padding inside the main container.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n gap: Type.Optional(\n cssLength({\n title: \"Gap\",\n default: \"26px\",\n description: \"Space between bricks.\",\n \"ai:instructions\":\n \"Can be a tailwind gap class like 'gap-1' or 'gap-2', or a custom value like '10px'\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n shadow: Type.Optional(shadow()),\n loop: Type.Optional(\n loop({\n // title: \"Use dynamic content\",\n description:\n \"If enabled, each row from the query result will be used to create a testimonial. Otherwise, the testimonials will be static.\",\n \"ui:placeholder\": \"Not specified (static)\",\n }),\n ),\n testimonials: Type.Optional(\n Type.Array(\n Type.Object({\n text: Type.String({\n title: \"Text\",\n default: \"Amazing product!\",\n \"ui:multiline\": true,\n \"ui:textarea-class\": \"h-20\",\n }),\n author: Type.String({ title: \"Author\", default: \"John Doe\" }),\n company: Type.Optional(Type.String({ title: \"Company\" })),\n avatar: Type.Optional(\n image({\n title: \"Avatar\",\n \"ui:placeholder\": \"https://via.placeholder.com/80x80.png?text=JD\",\n noObjectOptions: true,\n }),\n ),\n socialIcon: Type.Optional(icon()),\n }),\n {\n title: \"Testimonials\",\n default: [], // Empty array by default\n \"ui:displayField\": \"author\", // Affiche le nom de l'auteur dans la vue compacte\n \"ui:options\": {\n orderable: true, // Enable drag & drop reordering\n removable: true, // Enable delete button\n addable: true, // Enable add button\n },\n metadata: {\n category: \"content\",\n consumeQuery: true,\n },\n examples: [\n {\n text: \"This is a great product! It has changed my life.\",\n author: \"John Doe\",\n company: \"Acme Inc.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=JD\",\n alt: \"John Doe profile photo\",\n },\n socialIcon: \"mdi:linkedin\",\n },\n ],\n },\n ),\n ),\n },\n {\n default: {\n orientation: \"horizontal\",\n },\n },\n ),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"SaaS platform testimonials with avatars\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Sarah Johnson\",\n company: \"TechCorp Solutions\",\n text: \"This platform has completely transformed how we manage our projects. The intuitive interface and powerful automation features have saved us countless hours.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=SJ\",\n alt: \"Sarah Johnson profile photo\",\n },\n socialIcon: \"mdi:linkedin\",\n },\n {\n author: \"Mike Chen\",\n company: \"StartupFlow\",\n text: \"Outstanding customer support and regular feature updates. We've been using this for over a year and it keeps getting better. Highly recommend!\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=MC\",\n alt: \"Mike Chen profile photo\",\n },\n socialIcon: \"mdi:twitter\",\n },\n {\n author: \"Emily Rodriguez\",\n company: \"Digital Agency Pro\",\n text: \"The automation capabilities are game-changing. What used to take us days now happens automatically. It's like having an extra team member.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=ER\",\n alt: \"Emily Rodriguez profile photo\",\n },\n socialIcon: \"mdi:linkedin\",\n },\n ],\n },\n },\n {\n description: \"E-commerce customer reviews\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Jessica Williams\",\n company: \"Happy Customer\",\n text: \"Amazing product quality and fast shipping! The item exceeded my expectations and the customer service was excellent when I had questions.\",\n avatar: {\n src: \"https://via.placeholder.com/60x60.png?text=JW\",\n alt: \"Jessica Williams customer photo\",\n },\n socialIcon: \"mdi:star\",\n },\n {\n author: \"David Park\",\n text: \"Five stars! Been using this product for 6 months and it's still going strong. Definitely worth the investment and I've already recommended it to friends.\",\n avatar: {\n src: \"https://via.placeholder.com/60x60.png?text=DP\",\n alt: \"David Park customer photo\",\n },\n socialIcon: \"mdi:thumbs-up\",\n },\n ],\n },\n },\n {\n description: \"Agency client testimonials with company info\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Rachel Thompson\",\n company: \"Global Enterprises\",\n text: \"The team delivered exceptional results on time and within budget. Their creative approach and attention to detail made all the difference for our brand.\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=RT\",\n alt: \"Rachel Thompson headshot\",\n },\n socialIcon: \"mdi:briefcase\",\n },\n {\n author: \"Alex Kumar\",\n company: \"Innovation Labs\",\n text: \"Working with this agency was a game-changer for our digital presence. They understood our vision and brought it to life beautifully.\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=AK\",\n alt: \"Alex Kumar profile\",\n },\n socialIcon: \"mdi:lightbulb\",\n },\n {\n author: \"Maria Santos\",\n company: \"Retail Plus\",\n text: \"Professional, creative, and results-driven. Our website traffic increased by 200% after their redesign. Couldn't be happier!\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=MS\",\n alt: \"Maria Santos photo\",\n },\n socialIcon: \"mdi:chart-line\",\n },\n ],\n },\n },\n {\n description: \"App user feedback\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Tom Wilson\",\n text: \"This app has made my daily routine so much easier. Love the clean interface and how everything just works seamlessly across all my devices.\",\n avatar: {\n src: \"https://via.placeholder.com/65x65.png?text=TW\",\n alt: \"Tom Wilson user photo\",\n },\n socialIcon: \"mdi:cellphone\",\n },\n {\n author: \"Lisa Chang\",\n text: \"Been using this app for months and it's become essential to my workflow. The latest update with AI features is incredibly impressive.\",\n avatar: {\n src: \"https://via.placeholder.com/65x65.png?text=LC\",\n alt: \"Lisa Chang profile picture\",\n },\n socialIcon: \"mdi:robot\",\n },\n {\n author: \"James Miller\",\n text: \"Simple, powerful, and reliable. Exactly what I was looking for. The customer support team is also very responsive and helpful.\",\n avatar: {\n src: \"https://via.placeholder.com/65x65.png?text=JM\",\n alt: \"James Miller avatar\",\n },\n socialIcon: \"mdi:heart\",\n },\n ],\n },\n },\n {\n description: \"Course/education testimonials with social icons\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Amanda Foster\",\n company: \"UX Designer\",\n text: \"This course completely changed my career trajectory. The practical projects and expert feedback helped me land my dream job in just 3 months.\",\n avatar: {\n src: \"https://via.placeholder.com/75x75.png?text=AF\",\n alt: \"Amanda Foster student photo\",\n },\n socialIcon: \"mdi:school\",\n },\n {\n author: \"Carlos Rodriguez\",\n company: \"Software Engineer\",\n text: \"The instructors are industry experts and the content is always up-to-date. I've taken three courses here and each one exceeded my expectations.\",\n avatar: {\n src: \"https://via.placeholder.com/75x75.png?text=CR\",\n alt: \"Carlos Rodriguez profile\",\n },\n socialIcon: \"mdi:code-tags\",\n },\n ],\n },\n },\n {\n description: \"Simple testimonials without avatars\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Anonymous User\",\n text: \"Great service and excellent value for money. Would definitely recommend to others looking for a reliable solution.\",\n socialIcon: \"mdi:account-circle\",\n },\n {\n author: \"Verified Customer\",\n text: \"Quick delivery and exactly as described. Very satisfied with my purchase and the overall experience.\",\n socialIcon: \"mdi:check-circle\",\n },\n {\n author: \"Beta Tester\",\n text: \"Been using the beta version and it's already impressive. Looking forward to the full release with even more features.\",\n socialIcon: \"mdi:beta\",\n },\n ],\n },\n },\n {\n description: \"Consultant testimonials with professional focus\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Dr. Patricia Lee\",\n company: \"Medical Practice Solutions\",\n text: \"The consulting services provided were invaluable to our practice. Revenue increased by 40% and patient satisfaction scores improved significantly.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=PL\",\n alt: \"Dr. Patricia Lee headshot\",\n },\n socialIcon: \"mdi:medical-bag\",\n },\n {\n author: \"Robert Kim\",\n company: \"Manufacturing Inc.\",\n text: \"Their strategic insights helped us streamline operations and reduce costs by 25%. The ROI was evident within the first quarter.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=RK\",\n alt: \"Robert Kim executive photo\",\n },\n socialIcon: \"mdi:factory\",\n },\n ],\n },\n },\n {\n description: \"Event testimonials with social media icons\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Jennifer Adams\",\n company: \"Marketing Director\",\n text: \"Best conference I've attended in years! The networking opportunities were incredible and the speakers were top-notch industry leaders.\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=JA\",\n alt: \"Jennifer Adams conference attendee\",\n },\n socialIcon: \"mdi:twitter\",\n },\n {\n author: \"Michael Brown\",\n company: \"Tech Startup Founder\",\n text: \"The workshops were incredibly practical and I left with actionable strategies I could implement immediately. Already planning to attend next year!\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=MB\",\n alt: \"Michael Brown participant photo\",\n },\n socialIcon: \"mdi:linkedin\",\n },\n {\n author: \"Sophie Chen\",\n company: \"Product Manager\",\n text: \"Amazing organization and valuable content. Met so many like-minded professionals and learned cutting-edge techniques I'm excited to try.\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=SC\",\n alt: \"Sophie Chen attendee photo\",\n },\n socialIcon: \"mdi:instagram\",\n },\n ],\n },\n },\n {\n description: \"Dynamic customer testimonials using customerReviews query\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"{{customerReviews.customerName}}\",\n company: \"{{customerReviews.company}}\",\n text: \"{{customerReviews.reviewText}}\",\n avatar: {\n src: \"{{customerReviews.customerPhoto}}\",\n alt: \"{{customerReviews.customerName}} photo\",\n },\n socialIcon: \"{{customerReviews.socialPlatform}}\",\n },\n ],\n loop: {\n over: \"customerReviews\",\n },\n },\n },\n {\n description: \"Dynamic client testimonials using clientFeedback query\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"{{clientFeedback.clientName}}\",\n company: \"{{clientFeedback.companyName}} - {{clientFeedback.position}}\",\n text: \"{{clientFeedback.testimonial}}\",\n avatar: {\n src: \"{{clientFeedback.headshot}}\",\n alt: \"{{clientFeedback.clientName}} headshot\",\n },\n socialIcon: \"{{clientFeedback.preferredIcon}}\",\n },\n ],\n loop: {\n over: \"clientFeedback\",\n },\n },\n },\n {\n description: \"Dynamic product reviews using productReviews query\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"{{productReviews.reviewerName}}\",\n text: \"{{productReviews.review}} - {{productReviews.rating}}/5 stars\",\n avatar: {\n src: \"{{productReviews.userAvatar}}\",\n alt: \"{{productReviews.reviewerName}} profile\",\n },\n socialIcon: \"mdi:star\",\n },\n ],\n loop: {\n over: \"productReviews\",\n },\n },\n },\n {\n description: \"Dynamic employee testimonials using teamTestimonials query\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"{{teamTestimonials.employeeName}}\",\n company: \"{{teamTestimonials.department}} - {{teamTestimonials.jobTitle}}\",\n text: \"{{teamTestimonials.testimonial}}\",\n avatar: {\n src: \"{{teamTestimonials.profilePhoto}}\",\n alt: \"{{teamTestimonials.employeeName}} profile photo\",\n },\n socialIcon: \"{{teamTestimonials.socialIcon}}\",\n },\n ],\n loop: {\n over: \"teamTestimonials\",\n },\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/manifests/images-gallery.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { IoGridOutline } from \"react-icons/io5\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { image } from \"../props/image\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { border, rounding } from \"../props/border\";\nimport { loop } from \"../props/dynamic\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"images-gallery\",\n name: \"Gallery\",\n category: \"media\",\n description: \"Displays an images collection.\",\n aiInstructions:\n \"This brick should mostly be used for image galleries. Prefer using card bricks for product showcases, articles lists with images, or other collections.\",\n consumesMultipleQueryRows: true,\n defaultInspectorTab: \"content\",\n isContainer: false,\n minHeight: {\n desktop: 200,\n },\n minWidth: {\n desktop: 300,\n },\n defaultWidth: {\n desktop: \"400px\",\n mobile: \"100%\",\n },\n icon: IoGridOutline,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n loop: Type.Optional(loop()),\n images: Type.Array(\n Type.Object({\n image: image({\n \"ui:responsive\": \"desktop\",\n \"ui:no-alt-text\": true,\n \"ui:no-object-options\": true,\n \"ui:placeholder\": \"https://example.com/image.jpg\",\n }),\n legend: Type.Optional(Type.String({ title: \"Legend\" })),\n }),\n {\n title: \"Images\",\n default: [],\n maxItems: 12,\n metadata: {\n category: \"content\",\n consumeQuery: true,\n },\n examples: [\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+1\" },\n legend: \"Image 1\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+2\" },\n legend: \"Image 2\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+3\" },\n legend: \"Image 3\",\n },\n ],\n },\n ),\n columns: Type.Optional(\n Type.Number({\n title: \"Columns\",\n description:\n \"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.\",\n minimum: 1,\n maximum: 6,\n default: 3,\n \"ui:field\": \"slider\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n gap: Type.Optional(\n cssLength({\n title: \"Gap\",\n description: \"The gap between the images.\",\n default: \"1rem\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"3rem\",\n description: \"Padding inside the gallery.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: rounding(),\n border: Type.Optional(border()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Product portfolio gallery (3-column grid)\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2.5rem\",\n padding: \"p-4\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+1\",\n },\n legend: \"Premium wireless headphones\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+2\",\n },\n legend: \"Bluetooth speaker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+3\",\n },\n legend: \"Smart fitness tracker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+4\",\n },\n legend: \"Wireless charging pad\",\n },\n ],\n },\n },\n {\n description: \"Team photos gallery (4-column grid), light neutral background\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CEO\",\n },\n legend: \"Sarah Johnson - Chief Executive Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CTO\",\n },\n legend: \"Mike Chen - Chief Technology Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Design\",\n },\n legend: \"Emily Rodriguez - Head of Design\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Marketing\",\n },\n legend: \"David Park - Marketing Director\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Sales\",\n },\n legend: \"Lisa Wong - Sales Manager\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Support\",\n },\n legend: \"Alex Thompson - Customer Support Lead\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dev\",\n },\n legend: \"Carlos Martinez - Senior Developer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=HR\",\n },\n legend: \"Jennifer Adams - HR Specialist\",\n },\n ],\n colorPreset: {\n color: \"neutral-100\",\n },\n },\n },\n {\n description: \"Project showcase (2-column grid with larger spacing)\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Website+Redesign\",\n },\n legend: \"Modern e-commerce website redesign project\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Mobile+App\",\n },\n legend: \"iOS and Android mobile application\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Brand+Identity\",\n },\n legend: \"Complete brand identity design package\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Dashboard+UI\",\n },\n legend: \"Analytics dashboard user interface\",\n },\n ],\n },\n },\n {\n description: \"Event photos gallery with tight spacing and minimal padding\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Opening\",\n },\n legend: \"Conference opening ceremony\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Keynote\",\n },\n legend: \"Keynote presentation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Workshop\",\n },\n legend: \"Technical workshop session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Networking\",\n },\n legend: \"Networking lunch break\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Panel\",\n },\n legend: \"Expert panel discussion\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Awards\",\n },\n legend: \"Awards ceremony\",\n },\n ],\n },\n },\n {\n description: \"Photography portfolio with single column layout and primary background\",\n type: \"images-gallery\",\n props: {\n columns: 1,\n gap: \"3rem\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Landscape+1\",\n },\n legend: \"Mountain sunrise landscape photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Portrait+1\",\n },\n legend: \"Professional business portrait session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Architecture+1\",\n },\n legend: \"Modern architectural photography\",\n },\n ],\n },\n },\n {\n description: \"Real estate property gallery with secondary colors and borders\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n border: {\n width: \"border\",\n color: \"border-secondary-300\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Living+Room\",\n },\n legend: \"Spacious living room with natural light\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Kitchen\",\n },\n legend: \"Modern kitchen with granite countertops\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Master+Bedroom\",\n },\n legend: \"Master bedroom with walk-in closet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Bathroom\",\n },\n legend: \"Luxury bathroom with marble finishes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Backyard\",\n },\n legend: \"Private backyard with pool\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Garage\",\n },\n legend: \"Two-car garage with storage\",\n },\n ],\n },\n },\n {\n description: \"Restaurant food gallery with 5-column grid and accent colors\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"0.75rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-200\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Appetizer\",\n },\n legend: \"Bruschetta with fresh tomatoes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Soup\",\n },\n legend: \"Creamy mushroom bisque\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Salad\",\n },\n legend: \"Mediterranean quinoa salad\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Main+Course\",\n },\n legend: \"Grilled salmon with herbs\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dessert\",\n },\n legend: \"Chocolate lava cake\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Beverage\",\n },\n legend: \"Artisan coffee selection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pasta\",\n },\n legend: \"Homemade fettuccine alfredo\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pizza\",\n },\n legend: \"Wood-fired margherita pizza\",\n },\n ],\n },\n },\n {\n description: \"Art gallery exhibition with 6-column grid and minimal styling\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.5rem\",\n padding: \"1rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Abstract+1\",\n },\n legend: \"Abstract composition #1\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Portrait+Art\",\n },\n legend: \"Contemporary portrait\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Landscape+Art\",\n },\n legend: \"Impressionist landscape\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Still+Life\",\n },\n legend: \"Modern still life\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Sculpture\",\n },\n legend: \"Bronze sculpture piece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Digital+Art\",\n },\n legend: \"Digital artwork collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Mixed+Media\",\n },\n legend: \"Mixed media installation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Photography\",\n },\n legend: \"Fine art photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Watercolor\",\n },\n legend: \"Watercolor painting\",\n },\n ],\n },\n },\n {\n description: \"Fashion lookbook with 2-column layout and neutral dark theme\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"neutral-800\",\n },\n border: {\n width: \"border-2\",\n color: \"border-neutral-600\",\n },\n rounding: \"rounded-2xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Spring+Look\",\n },\n legend: \"Spring casual collection 2024\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Summer+Look\",\n },\n legend: \"Summer evening wear\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Business+Look\",\n },\n legend: \"Professional business attire\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Weekend+Look\",\n },\n legend: \"Weekend comfort style\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Formal+Look\",\n },\n legend: \"Formal evening collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Street+Style\",\n },\n legend: \"Urban street fashion\",\n },\n ],\n },\n },\n {\n description: \"Travel destinations gallery with 3-column grid and no legends\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"primary-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Paris\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Tokyo\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=New+York\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=London\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Rome\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Barcelona\",\n },\n },\n ],\n },\n },\n {\n description: \"Technical equipment gallery with 4-column grid and accent styling\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"accent-100\",\n },\n border: {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Camera\",\n },\n legend: \"Professional DSLR camera\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Laptop\",\n },\n legend: \"High-performance laptop\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Microphone\",\n },\n legend: \"Studio recording microphone\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Monitor\",\n },\n legend: \"4K professional monitor\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Tablet\",\n },\n legend: \"Digital drawing tablet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Speakers\",\n },\n legend: \"Studio monitor speakers\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Keyboard\",\n },\n legend: \"Mechanical keyboard\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Mouse\",\n },\n legend: \"Precision gaming mouse\",\n },\n ],\n },\n },\n {\n description: \"Minimal product showcase with large gaps and no padding\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"4rem\",\n padding: \"0rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Watch\",\n },\n legend: \"Luxury Swiss timepiece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Jewelry\",\n },\n legend: \"Handcrafted gold necklace\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Sunglasses\",\n },\n legend: \"Designer sunglasses collection\",\n },\n ],\n },\n },\n {\n description: \"Dynamic product gallery using products query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"{{products.image}}\",\n },\n legend: \"{{products.name}} - ${{products.price}}\",\n },\n ],\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Portfolio showcase using portfolioProjects query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"{{portfolioProjects.thumbnail}}\",\n },\n legend:\n \"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})\",\n },\n ],\n loop: {\n over: \"portfolioProjects\",\n },\n },\n },\n {\n description: \"Event photo gallery using eventPhotos query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"1rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-50\",\n },\n border: {\n width: \"border-2\",\n color: \"border-accent-300\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"{{eventPhotos.imageUrl}}\",\n },\n legend: \"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}\",\n },\n ],\n loop: {\n over: \"eventPhotos\",\n },\n },\n },\n {\n description: \"Team member gallery using teamMembers query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.75rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n images: [\n {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n },\n legend: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n ],\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":"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","names":[]}
|