@upstart.gg/sdk 0.0.135 → 0.0.137
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.d.ts +11 -2
- package/dist/shared/ai/schemas.d.ts.map +1 -1
- package/dist/shared/ai/schemas.js +38 -8
- package/dist/shared/ai/schemas.js.map +1 -1
- package/dist/shared/ai/types.d.ts +93 -81
- package/dist/shared/ai/types.d.ts.map +1 -1
- package/dist/shared/ajv.js +33 -32
- package/dist/shared/ajv.js.map +1 -1
- package/dist/shared/attributes.d.ts +86 -86
- package/dist/shared/attributes.d.ts.map +1 -1
- package/dist/shared/attributes.js +22 -25
- package/dist/shared/brick-manifest.d.ts +8 -5
- package/dist/shared/brick-manifest.d.ts.map +1 -1
- package/dist/shared/brick-manifest.js +3 -18
- package/dist/shared/bricks/manifests/_types.d.ts +9 -0
- package/dist/shared/bricks/manifests/_types.d.ts.map +1 -0
- package/dist/shared/bricks/manifests/_types.js +3 -0
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/accordion.manifest.js +13 -20
- package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/all-manifests.js +44 -43
- package/dist/shared/bricks/manifests/all-props.d.ts +1501 -0
- package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
- package/dist/shared/bricks/manifests/all-props.js +243 -0
- package/dist/shared/bricks/manifests/all-props.js.map +1 -0
- package/dist/shared/bricks/manifests/box.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/box.manifest.js +16 -20
- package/dist/shared/bricks/manifests/button.manifest.d.ts +5 -12
- package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/button.manifest.js +13 -20
- package/dist/shared/bricks/manifests/card.manifest.d.ts +10 -9
- package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/card.manifest.js +18 -20
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.js +15 -20
- package/dist/shared/bricks/manifests/footer.manifest.d.ts +5 -9
- package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.js +13 -20
- package/dist/shared/bricks/manifests/form.manifest.d.ts +5 -9
- package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/form.manifest.js +13 -20
- package/dist/shared/bricks/manifests/hero.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.js +13 -20
- package/dist/shared/bricks/manifests/html.manifest.d.ts +3 -7
- package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/html.manifest.js +8 -20
- package/dist/shared/bricks/manifests/icon.manifest.d.ts +3 -7
- package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.js +13 -20
- package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
- package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/image.manifest.js +16 -20
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +15 -20
- package/dist/shared/bricks/manifests/map.manifest.d.ts +3 -7
- package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/map.manifest.js +11 -20
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts +7 -11
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.js +15 -20
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +3 -7
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.js +13 -20
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.js +14 -20
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts +3 -7
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.js +8 -20
- package/dist/shared/bricks/manifests/table.manifest.d.ts +6 -10
- package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/table.manifest.js +15 -20
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts +6 -10
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/tabs.manifest.js +15 -20
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.js +18 -20
- package/dist/shared/bricks/manifests/text.manifest.d.ts +4 -12
- package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/text.manifest.js +13 -20
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts +9 -13
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/timeline.manifest.js +15 -20
- package/dist/shared/bricks/manifests/video.manifest.d.ts +3 -7
- package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/video.manifest.js +11 -20
- package/dist/shared/bricks/props/align.d.ts +0 -3
- package/dist/shared/bricks/props/align.d.ts.map +1 -1
- package/dist/shared/bricks/props/align.js +4 -11
- package/dist/shared/bricks/props/background.d.ts +2 -8
- package/dist/shared/bricks/props/background.d.ts.map +1 -1
- package/dist/shared/bricks/props/background.js +4 -9
- package/dist/shared/bricks/props/border.d.ts +0 -7
- package/dist/shared/bricks/props/border.d.ts.map +1 -1
- package/dist/shared/bricks/props/border.js +5 -10
- package/dist/shared/bricks/props/color-preset.d.ts +316 -6
- package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
- package/dist/shared/bricks/props/color-preset.js +2 -5
- package/dist/shared/bricks/props/color.d.ts +3 -5
- package/dist/shared/bricks/props/color.d.ts.map +1 -1
- package/dist/shared/bricks/props/color.js +3 -8
- package/dist/shared/bricks/props/common.d.ts.map +1 -1
- package/dist/shared/bricks/props/common.js +4 -5
- package/dist/shared/bricks/props/css-length.d.ts +0 -1
- package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
- package/dist/shared/bricks/props/css-length.js +1 -4
- package/dist/shared/bricks/props/datasource.d.ts +3 -3
- package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
- package/dist/shared/bricks/props/datasource.js +74 -76
- package/dist/shared/bricks/props/datasource.js.map +1 -1
- package/dist/shared/bricks/props/date.js +21 -4
- package/dist/shared/bricks/props/date.js.map +1 -1
- package/dist/shared/bricks/props/direction.d.ts +1 -2
- package/dist/shared/bricks/props/direction.d.ts.map +1 -1
- package/dist/shared/bricks/props/direction.js +4 -7
- package/dist/shared/bricks/props/dynamic.d.ts +5 -67
- package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
- package/dist/shared/bricks/props/dynamic.js +6 -24
- package/dist/shared/bricks/props/effects.d.ts +1 -3
- package/dist/shared/bricks/props/effects.d.ts.map +1 -1
- package/dist/shared/bricks/props/effects.js +4 -9
- package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
- package/dist/shared/bricks/props/geolocation.js +3 -6
- package/dist/shared/bricks/props/geolocation.js.map +1 -1
- package/dist/shared/bricks/props/helpers.js +5 -6
- package/dist/shared/bricks/props/image.d.ts +2 -8
- package/dist/shared/bricks/props/image.d.ts.map +1 -1
- package/dist/shared/bricks/props/image.js +4 -7
- package/dist/shared/bricks/props/string.d.ts +2 -5
- package/dist/shared/bricks/props/string.d.ts.map +1 -1
- package/dist/shared/bricks/props/string.js +3 -10
- package/dist/shared/bricks/props/tags.d.ts +0 -1
- package/dist/shared/bricks/props/tags.d.ts.map +1 -1
- package/dist/shared/bricks/props/tags.js +3 -6
- package/dist/shared/bricks/props/text.d.ts +0 -3
- package/dist/shared/bricks/props/text.d.ts.map +1 -1
- package/dist/shared/bricks/props/text.js +4 -11
- package/dist/shared/bricks/props/types.d.ts +2 -2
- package/dist/shared/bricks/props/types.d.ts.map +1 -1
- package/dist/shared/bricks.d.ts +64 -152
- package/dist/shared/bricks.d.ts.map +1 -1
- package/dist/shared/bricks.js +49 -52
- package/dist/shared/chunk-2O5HVPID.js +41 -0
- package/dist/shared/chunk-2O5HVPID.js.map +1 -0
- package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
- package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
- package/dist/shared/{chunk-LXAO3JA6.js → chunk-4KY7OZWD.js} +35 -35
- package/dist/shared/chunk-4KY7OZWD.js.map +1 -0
- package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
- package/dist/shared/chunk-5RCC2STG.js.map +1 -0
- package/dist/shared/{chunk-V3UA3LRK.js → chunk-6AE7UD73.js} +56 -37
- package/dist/shared/chunk-6AE7UD73.js.map +1 -0
- package/dist/shared/chunk-7U5WPHXB.js +346 -0
- package/dist/shared/chunk-7U5WPHXB.js.map +1 -0
- package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
- package/dist/shared/chunk-BHARJBEK.js.map +1 -0
- package/dist/shared/chunk-BZTWZC77.js +530 -0
- package/dist/shared/chunk-BZTWZC77.js.map +1 -0
- package/dist/shared/{chunk-QSND5IWT.js → chunk-DCM4732T.js} +24 -43
- package/dist/shared/chunk-DCM4732T.js.map +1 -0
- package/dist/shared/{chunk-W6MRYRGJ.js → chunk-DRQKKPTX.js} +6 -20
- package/dist/shared/chunk-DRQKKPTX.js.map +1 -0
- package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
- package/dist/shared/chunk-EID5HPF3.js.map +1 -0
- package/dist/shared/chunk-EMF5TCPX.js +389 -0
- package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
- package/dist/shared/chunk-FD7YYFRI.js +225 -0
- package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
- package/dist/shared/{chunk-MLZT7MRQ.js → chunk-FHA4DFIM.js} +26 -27
- package/dist/shared/chunk-FHA4DFIM.js.map +1 -0
- package/dist/shared/{chunk-GRMY35BU.js → chunk-FUUSAMN3.js} +165 -40
- package/dist/shared/chunk-FUUSAMN3.js.map +1 -0
- package/dist/shared/chunk-GDYCCB3B.js +22 -0
- package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
- package/dist/shared/chunk-GLV6QIIM.js +41 -0
- package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
- package/dist/shared/chunk-H6TMBELF.js +374 -0
- package/dist/shared/chunk-H6TMBELF.js.map +1 -0
- package/dist/shared/{chunk-BMWRR4DI.js → chunk-HUWMIXNN.js} +26 -28
- package/dist/shared/chunk-HUWMIXNN.js.map +1 -0
- package/dist/shared/chunk-HY7JOP3J.js +150 -0
- package/dist/shared/chunk-HY7JOP3J.js.map +1 -0
- package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
- package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
- package/dist/shared/{chunk-TB3X4LRQ.js → chunk-J45LSQT6.js} +2 -2
- package/dist/shared/chunk-J45LSQT6.js.map +1 -0
- package/dist/shared/{chunk-WGDUJSSS.js → chunk-JF52BBFD.js} +27 -28
- package/dist/shared/chunk-JF52BBFD.js.map +1 -0
- package/dist/shared/{chunk-GPCI2N2A.js → chunk-JLDAS3VE.js} +136 -33
- package/dist/shared/chunk-JLDAS3VE.js.map +1 -0
- package/dist/shared/{chunk-SE6O65HC.js → chunk-JSDKK5QN.js} +10 -23
- package/dist/shared/chunk-JSDKK5QN.js.map +1 -0
- package/dist/shared/chunk-JW7MQAU4.js +354 -0
- package/dist/shared/chunk-JW7MQAU4.js.map +1 -0
- package/dist/shared/{chunk-RV7AYVFV.js → chunk-KKWT3OXF.js} +4 -19
- package/dist/shared/chunk-KKWT3OXF.js.map +1 -0
- package/dist/shared/{chunk-TEO6TJOM.js → chunk-KQH6V22E.js} +36 -35
- package/dist/shared/{chunk-TEO6TJOM.js.map → chunk-KQH6V22E.js.map} +1 -1
- package/dist/shared/{chunk-3KLRW4I2.js → chunk-LGDDJJHK.js} +212 -156
- package/dist/shared/chunk-LGDDJJHK.js.map +1 -0
- package/dist/shared/{chunk-QL3T5HJQ.js → chunk-LGGPCCCY.js} +3 -3
- package/dist/shared/chunk-LGGPCCCY.js.map +1 -0
- package/dist/shared/{chunk-2HO4FHLM.js → chunk-LPAQ47C6.js} +137 -171
- package/dist/shared/chunk-LPAQ47C6.js.map +1 -0
- package/dist/shared/chunk-MO6CRLQA.js +73 -0
- package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
- package/dist/shared/{chunk-SHUGHJ7V.js → chunk-MYOLWTB2.js} +29 -32
- package/dist/shared/chunk-MYOLWTB2.js.map +1 -0
- package/dist/shared/{chunk-Z2NTDFB4.js → chunk-O24RDXZS.js} +34 -34
- package/dist/shared/chunk-O24RDXZS.js.map +1 -0
- package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
- package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
- package/dist/shared/{chunk-GCQURRVB.js → chunk-PF75LW33.js} +24 -27
- package/dist/shared/chunk-PF75LW33.js.map +1 -0
- package/dist/shared/{chunk-EWSPTRDL.js → chunk-QEJGPYTB.js} +132 -48
- package/dist/shared/chunk-QEJGPYTB.js.map +1 -0
- package/dist/shared/{chunk-P3RH5URN.js → chunk-SK2O7GFC.js} +17 -18
- package/dist/shared/chunk-SK2O7GFC.js.map +1 -0
- package/dist/shared/{chunk-UQF52PWK.js → chunk-SQXZNGQF.js} +8 -23
- package/dist/shared/chunk-SQXZNGQF.js.map +1 -0
- package/dist/shared/{chunk-NTLAKMMQ.js → chunk-SRYBJ6NQ.js} +6 -17
- package/dist/shared/chunk-SRYBJ6NQ.js.map +1 -0
- package/dist/shared/{chunk-O5PLB3YB.js → chunk-T6C3NG2L.js} +68 -59
- package/dist/shared/chunk-T6C3NG2L.js.map +1 -0
- package/dist/shared/{chunk-U7TVEPKA.js → chunk-TBT2PTGB.js} +41 -33
- package/dist/shared/chunk-TBT2PTGB.js.map +1 -0
- package/dist/shared/{chunk-CKFRSHR2.js → chunk-U4KZUX37.js} +18 -19
- package/dist/shared/chunk-U4KZUX37.js.map +1 -0
- package/dist/shared/{chunk-4WI23M7W.js → chunk-VSLRTXLF.js} +11 -4
- package/dist/shared/chunk-VSLRTXLF.js.map +1 -0
- package/dist/shared/{chunk-BHC2A43S.js → chunk-VTCHJT4O.js} +3 -3
- package/dist/shared/{chunk-BHC2A43S.js.map → chunk-VTCHJT4O.js.map} +1 -1
- package/dist/shared/{chunk-DRTGM2UJ.js → chunk-W2RFDII5.js} +3 -3
- package/dist/shared/chunk-W2RFDII5.js.map +1 -0
- package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
- package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
- package/dist/shared/chunk-XFZQGRRL.js +101 -0
- package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
- package/dist/shared/{chunk-QQQ3FYPG.js → chunk-XK2CERPB.js} +147 -31
- package/dist/shared/chunk-XK2CERPB.js.map +1 -0
- package/dist/shared/chunk-XNRSL6FL.js +78 -0
- package/dist/shared/chunk-XNRSL6FL.js.map +1 -0
- package/dist/shared/{chunk-2RK3CPYJ.js → chunk-XXPSM6UA.js} +9 -12
- package/dist/shared/chunk-XXPSM6UA.js.map +1 -0
- package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
- package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
- package/dist/shared/{chunk-Z35I5JM5.js → chunk-ZVJNRKT4.js} +18 -20
- package/dist/shared/chunk-ZVJNRKT4.js.map +1 -0
- package/dist/shared/context.d.ts +402 -22
- package/dist/shared/context.d.ts.map +1 -1
- package/dist/shared/context.js +93 -0
- package/dist/shared/context.js.map +1 -1
- package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
- package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/types.js +2 -1
- package/dist/shared/datarecords/types.d.ts +10 -63
- package/dist/shared/datarecords/types.d.ts.map +1 -1
- package/dist/shared/datarecords/types.js +5 -6
- package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
- package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
- package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
- package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
- package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
- package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
- package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
- package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
- package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
- package/dist/shared/datasources/external/threads/media/fetcher.js +3 -3
- package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
- package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/threads/media/schema.js +4 -8
- package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
- package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
- package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/blog/schema.js +4 -1
- package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
- package/dist/shared/datasources/types.d.ts +25 -25
- package/dist/shared/datasources/types.d.ts.map +1 -1
- package/dist/shared/datasources/types.js +3 -16
- package/dist/shared/datasources.d.ts +1 -1
- package/dist/shared/datasources.d.ts.map +1 -1
- package/dist/shared/datasources.js +1 -3
- package/dist/shared/datasources.js.map +1 -1
- package/dist/shared/images.d.ts +1 -1
- package/dist/shared/images.d.ts.map +1 -1
- package/dist/shared/images.js +4 -38
- package/dist/shared/images.js.map +1 -1
- package/dist/shared/page.d.ts +139 -22
- package/dist/shared/page.d.ts.map +1 -1
- package/dist/shared/page.js +51 -49
- package/dist/shared/responsive.js +1 -1
- package/dist/shared/site.d.ts +80 -197
- package/dist/shared/site.d.ts.map +1 -1
- package/dist/shared/site.js +55 -114
- package/dist/shared/site.js.map +1 -1
- package/dist/shared/sitemap.d.ts +6 -327
- package/dist/shared/sitemap.d.ts.map +1 -1
- package/dist/shared/sitemap.js +50 -58
- package/dist/shared/theme.d.ts +0 -37
- package/dist/shared/theme.d.ts.map +1 -1
- package/dist/shared/theme.js +4 -21
- package/dist/shared/utils/llm.d.ts +1 -10
- package/dist/shared/utils/llm.d.ts.map +1 -1
- package/dist/shared/utils/llm.js +1 -18
- package/dist/shared/utils/schema.d.ts +3 -2
- package/dist/shared/utils/schema.d.ts.map +1 -1
- package/dist/shared/utils/schema.js +2 -17
- package/dist/shared/utils/string-enum.d.ts +9 -3
- package/dist/shared/utils/string-enum.d.ts.map +1 -1
- package/dist/shared/utils/string-enum.js +1 -1
- package/package.json +21 -5
- package/src/shared/ai/schemas.ts +41 -10
- package/src/shared/ai/types.ts +78 -76
- package/src/shared/attributes.ts +56 -46
- package/src/shared/brick-manifest.ts +5 -6
- package/src/shared/bricks/manifests/_types.ts +9 -0
- package/src/shared/bricks/manifests/accordion.manifest.ts +138 -171
- package/src/shared/bricks/manifests/all-manifests.ts +1 -0
- package/src/shared/bricks/manifests/all-props.ts +165 -0
- package/src/shared/bricks/manifests/box.manifest.ts +214 -150
- package/src/shared/bricks/manifests/button.manifest.ts +204 -79
- package/src/shared/bricks/manifests/card.manifest.ts +229 -43
- package/src/shared/bricks/manifests/carousel.manifest.ts +165 -35
- package/src/shared/bricks/manifests/footer.manifest.ts +18 -20
- package/src/shared/bricks/manifests/form.manifest.ts +136 -22
- package/src/shared/bricks/manifests/hero.manifest.ts +121 -38
- package/src/shared/bricks/manifests/html.manifest.ts +2 -5
- package/src/shared/bricks/manifests/icon.manifest.ts +225 -46
- package/src/shared/bricks/manifests/image.manifest.ts +125 -21
- package/src/shared/bricks/manifests/images-gallery.manifest.ts +15 -20
- package/src/shared/bricks/manifests/map.manifest.ts +12 -15
- package/src/shared/bricks/manifests/navbar.manifest.ts +22 -26
- package/src/shared/bricks/manifests/sidebar.manifest.ts +11 -14
- package/src/shared/bricks/manifests/social-links.manifest.ts +19 -24
- package/src/shared/bricks/manifests/spacer.manifest.ts +2 -5
- package/src/shared/bricks/manifests/table.manifest.ts +17 -20
- package/src/shared/bricks/manifests/tabs.manifest.ts +16 -21
- package/src/shared/bricks/manifests/testimonials.manifest.ts +23 -25
- package/src/shared/bricks/manifests/text.manifest.ts +47 -29
- package/src/shared/bricks/manifests/timeline.manifest.ts +31 -29
- package/src/shared/bricks/manifests/video.manifest.ts +11 -15
- package/src/shared/bricks/props/align.ts +0 -13
- package/src/shared/bricks/props/background.ts +1 -14
- package/src/shared/bricks/props/border.ts +2 -13
- package/src/shared/bricks/props/color-preset.ts +9 -10
- package/src/shared/bricks/props/color.ts +7 -18
- package/src/shared/bricks/props/common.ts +6 -7
- package/src/shared/bricks/props/css-length.ts +0 -5
- package/src/shared/bricks/props/datasource.ts +72 -74
- package/src/shared/bricks/props/direction.ts +1 -5
- package/src/shared/bricks/props/dynamic.ts +0 -11
- package/src/shared/bricks/props/effects.ts +0 -9
- package/src/shared/bricks/props/geolocation.ts +3 -3
- package/src/shared/bricks/props/helpers.ts +1 -1
- package/src/shared/bricks/props/image.ts +4 -16
- package/src/shared/bricks/props/string.ts +6 -19
- package/src/shared/bricks/props/tags.ts +0 -5
- package/src/shared/bricks/props/tests/background.test.ts +1 -15
- package/src/shared/bricks/props/tests/image.test.ts +3 -9
- package/src/shared/bricks/props/tests/string.test.ts +2 -26
- package/src/shared/bricks/props/text.ts +0 -12
- package/src/shared/bricks/props/types.ts +4 -3
- package/src/shared/bricks.ts +164 -1025
- package/src/shared/context.ts +24 -23
- package/src/shared/datarecords/external/airtable/types.ts +12 -11
- package/src/shared/datarecords/types.ts +22 -44
- package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
- package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
- package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
- package/src/shared/datasources/external/threads/media/schema.ts +2 -8
- package/src/shared/datasources/internal/blog/schema.ts +2 -1
- package/src/shared/datasources/types.ts +64 -79
- package/src/shared/datasources.ts +2 -4
- package/src/shared/images.ts +12 -18
- package/src/shared/page.ts +9 -2
- package/src/shared/site.ts +3 -3
- package/src/shared/sitemap.ts +3 -68
- package/src/shared/tests/attributes.test.ts +2 -0
- package/src/shared/theme.ts +81 -96
- package/src/shared/utils/llm.ts +5 -191
- package/src/shared/utils/schema.ts +71 -244
- package/src/shared/utils/string-enum.ts +25 -4
- package/src/shared/utils/tests/schema.test.ts +112 -314
- package/dist/shared/chunk-2HO4FHLM.js.map +0 -1
- package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
- package/dist/shared/chunk-3KLRW4I2.js.map +0 -1
- package/dist/shared/chunk-4WI23M7W.js.map +0 -1
- package/dist/shared/chunk-6E42XWFH.js +0 -103
- package/dist/shared/chunk-6E42XWFH.js.map +0 -1
- package/dist/shared/chunk-A2QPY54H.js +0 -13
- package/dist/shared/chunk-A2QPY54H.js.map +0 -1
- package/dist/shared/chunk-BMWRR4DI.js.map +0 -1
- package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
- package/dist/shared/chunk-BW6EFRSF.js +0 -794
- package/dist/shared/chunk-BW6EFRSF.js.map +0 -1
- package/dist/shared/chunk-CKFRSHR2.js.map +0 -1
- package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
- package/dist/shared/chunk-D4YQ6ABM.js +0 -338
- package/dist/shared/chunk-D4YQ6ABM.js.map +0 -1
- package/dist/shared/chunk-DRTGM2UJ.js.map +0 -1
- package/dist/shared/chunk-EQMU6NIU.js +0 -1222
- package/dist/shared/chunk-EQMU6NIU.js.map +0 -1
- package/dist/shared/chunk-EWSPTRDL.js.map +0 -1
- package/dist/shared/chunk-F22LDHEO.js.map +0 -1
- package/dist/shared/chunk-FVU5PXRC.js +0 -244
- package/dist/shared/chunk-FVU5PXRC.js.map +0 -1
- package/dist/shared/chunk-GCQURRVB.js.map +0 -1
- package/dist/shared/chunk-GPCI2N2A.js.map +0 -1
- package/dist/shared/chunk-GRMY35BU.js.map +0 -1
- package/dist/shared/chunk-JK2FWFJU.js +0 -15
- package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
- package/dist/shared/chunk-LXAO3JA6.js.map +0 -1
- package/dist/shared/chunk-MLZT7MRQ.js.map +0 -1
- package/dist/shared/chunk-NT3IW52F.js +0 -260
- package/dist/shared/chunk-NT3IW52F.js.map +0 -1
- package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
- package/dist/shared/chunk-O5PLB3YB.js.map +0 -1
- package/dist/shared/chunk-P3RH5URN.js.map +0 -1
- package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
- package/dist/shared/chunk-QL3T5HJQ.js.map +0 -1
- package/dist/shared/chunk-QQQ3FYPG.js.map +0 -1
- package/dist/shared/chunk-QSND5IWT.js.map +0 -1
- package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
- package/dist/shared/chunk-SE6O65HC.js.map +0 -1
- package/dist/shared/chunk-SHUGHJ7V.js.map +0 -1
- package/dist/shared/chunk-TB3X4LRQ.js.map +0 -1
- package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
- package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
- package/dist/shared/chunk-U7TVEPKA.js.map +0 -1
- package/dist/shared/chunk-UQF52PWK.js.map +0 -1
- package/dist/shared/chunk-V3UA3LRK.js.map +0 -1
- package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
- package/dist/shared/chunk-WGDUJSSS.js.map +0 -1
- package/dist/shared/chunk-WKN566LN.js +0 -29
- package/dist/shared/chunk-WKN566LN.js.map +0 -1
- package/dist/shared/chunk-X6N463D4.js +0 -222
- package/dist/shared/chunk-X6N463D4.js.map +0 -1
- package/dist/shared/chunk-X75YV73Q.js +0 -178
- package/dist/shared/chunk-X75YV73Q.js.map +0 -1
- package/dist/shared/chunk-Y74LZNND.js.map +0 -1
- package/dist/shared/chunk-Z2NTDFB4.js.map +0 -1
- package/dist/shared/chunk-Z35I5JM5.js.map +0 -1
- package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
- package/dist/shared/schema-registry.d.ts +0 -5
- package/dist/shared/schema-registry.d.ts.map +0 -1
- package/dist/shared/schema-registry.js +0 -119
- package/dist/shared/schema-registry.js.map +0 -1
- package/dist/shared/tests/schema-registry.test.d.ts +0 -2
- package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
- package/dist/shared/utils/schema-registry.d.ts +0 -5
- package/dist/shared/utils/schema-registry.d.ts.map +0 -1
- package/dist/shared/utils/schema-registry.js +0 -29
- package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
- package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
- package/dist/shared/utils/typed-ref.d.ts +0 -43
- package/dist/shared/utils/typed-ref.d.ts.map +0 -1
- package/dist/shared/utils/typed-ref.js +0 -10
- package/dist/shared/utils/typed-ref.js.map +0 -1
- package/src/shared/schema-registry.ts +0 -82
- package/src/shared/tests/schema-registry.test.ts +0 -14
- package/src/shared/utils/schema-registry.ts +0 -82
- package/src/shared/utils/tests/schema-registry.test.ts +0 -13
- package/src/shared/utils/typed-ref.ts +0 -53
- /package/dist/shared/{utils/schema-registry.js.map → bricks/manifests/_types.js.map} +0 -0
|
@@ -1,30 +1,27 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
defineBrickManifest
|
|
8
|
-
} from "./chunk-TB3X4LRQ.js";
|
|
4
|
+
border,
|
|
5
|
+
rounding
|
|
6
|
+
} from "./chunk-SRYBJ6NQ.js";
|
|
9
7
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
8
|
+
defineProps
|
|
9
|
+
} from "./chunk-VTCHJT4O.js";
|
|
12
10
|
import {
|
|
13
|
-
|
|
14
|
-
} from "./chunk-
|
|
11
|
+
image
|
|
12
|
+
} from "./chunk-DRQKKPTX.js";
|
|
15
13
|
import {
|
|
16
|
-
|
|
17
|
-
} from "./chunk-
|
|
14
|
+
cssLength
|
|
15
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
18
16
|
import {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} from "./chunk-NTLAKMMQ.js";
|
|
17
|
+
loop
|
|
18
|
+
} from "./chunk-XFZQGRRL.js";
|
|
22
19
|
import {
|
|
23
|
-
|
|
24
|
-
} from "./chunk-
|
|
20
|
+
colorPreset
|
|
21
|
+
} from "./chunk-IEMCCHM4.js";
|
|
25
22
|
import {
|
|
26
|
-
|
|
27
|
-
} from "./chunk-
|
|
23
|
+
defineBrickManifest
|
|
24
|
+
} from "./chunk-J45LSQT6.js";
|
|
28
25
|
|
|
29
26
|
// src/shared/bricks/manifests/images-gallery.manifest.ts
|
|
30
27
|
import { Type } from "@sinclair/typebox";
|
|
@@ -51,20 +48,20 @@ var manifest = defineBrickManifest({
|
|
|
51
48
|
icon: IoGridOutline,
|
|
52
49
|
props: defineProps({
|
|
53
50
|
colorPreset: Type.Optional(
|
|
54
|
-
|
|
51
|
+
colorPreset({
|
|
55
52
|
title: "Color"
|
|
56
53
|
})
|
|
57
54
|
),
|
|
58
|
-
loop: Type.Optional(
|
|
55
|
+
loop: Type.Optional(loop()),
|
|
59
56
|
images: Type.Array(
|
|
60
57
|
Type.Object({
|
|
61
|
-
image:
|
|
58
|
+
image: image({
|
|
62
59
|
"ui:responsive": "desktop",
|
|
63
60
|
"ui:no-alt-text": true,
|
|
64
61
|
"ui:no-object-options": true,
|
|
65
62
|
"ui:placeholder": "https://example.com/image.jpg"
|
|
66
63
|
}),
|
|
67
|
-
legend: Type.Optional(
|
|
64
|
+
legend: Type.Optional(Type.String({ title: "Legend" }))
|
|
68
65
|
}),
|
|
69
66
|
{
|
|
70
67
|
title: "Images",
|
|
@@ -102,7 +99,7 @@ var manifest = defineBrickManifest({
|
|
|
102
99
|
})
|
|
103
100
|
),
|
|
104
101
|
gap: Type.Optional(
|
|
105
|
-
|
|
102
|
+
cssLength({
|
|
106
103
|
title: "Gap",
|
|
107
104
|
description: "The gap between the images.",
|
|
108
105
|
default: "1rem",
|
|
@@ -110,7 +107,7 @@ var manifest = defineBrickManifest({
|
|
|
110
107
|
})
|
|
111
108
|
),
|
|
112
109
|
padding: Type.Optional(
|
|
113
|
-
|
|
110
|
+
cssLength({
|
|
114
111
|
default: "3rem",
|
|
115
112
|
description: "Padding inside the gallery.",
|
|
116
113
|
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
@@ -120,8 +117,8 @@ var manifest = defineBrickManifest({
|
|
|
120
117
|
"ui:styleId": "styles:padding"
|
|
121
118
|
})
|
|
122
119
|
),
|
|
123
|
-
rounding:
|
|
124
|
-
border: Type.Optional(
|
|
120
|
+
rounding: rounding(),
|
|
121
|
+
border: Type.Optional(border())
|
|
125
122
|
})
|
|
126
123
|
});
|
|
127
124
|
var examples = [
|
|
@@ -834,4 +831,4 @@ export {
|
|
|
834
831
|
manifest,
|
|
835
832
|
examples
|
|
836
833
|
};
|
|
837
|
-
//# sourceMappingURL=chunk-
|
|
834
|
+
//# sourceMappingURL=chunk-PF75LW33.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
border,
|
|
5
|
+
rounding
|
|
6
|
+
} from "./chunk-SRYBJ6NQ.js";
|
|
6
7
|
import {
|
|
7
|
-
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
defineProps
|
|
9
|
+
} from "./chunk-VTCHJT4O.js";
|
|
9
10
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
textContent
|
|
12
|
+
} from "./chunk-2U5U3CCJ.js";
|
|
12
13
|
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} from "./chunk-TNMNMYOB.js";
|
|
14
|
+
cssLength
|
|
15
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
16
16
|
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} from "./chunk-
|
|
17
|
+
shadow,
|
|
18
|
+
textShadow
|
|
19
|
+
} from "./chunk-5RCC2STG.js";
|
|
20
20
|
import {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
alignItems,
|
|
22
|
+
justifyContent
|
|
23
|
+
} from "./chunk-ZRBTAC3G.js";
|
|
23
24
|
import {
|
|
24
|
-
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
colorPreset
|
|
26
|
+
} from "./chunk-IEMCCHM4.js";
|
|
26
27
|
import {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
} from "./chunk-ZLYIRH2B.js";
|
|
28
|
+
defineBrickManifest
|
|
29
|
+
} from "./chunk-J45LSQT6.js";
|
|
30
30
|
|
|
31
31
|
// src/shared/bricks/manifests/hero.manifest.ts
|
|
32
32
|
import { BsAlphabetUppercase } from "react-icons/bs";
|
|
@@ -36,35 +36,73 @@ var manifest = defineBrickManifest({
|
|
|
36
36
|
category: "basic",
|
|
37
37
|
name: "Hero",
|
|
38
38
|
description: "A big textual element for home pages.",
|
|
39
|
-
aiInstructions: `
|
|
40
|
-
|
|
39
|
+
aiInstructions: `PURPOSE
|
|
40
|
+
A prominent textual block (main heading + optional tagline) used to introduce a page, product, event, company, or dynamic entity.
|
|
41
|
+
|
|
42
|
+
STRUCTURE
|
|
43
|
+
1. Always supply 'content' (can be plain text or simple HTML like <h1>, <strong>, <br/>).
|
|
44
|
+
2. 'tagline' is optional. Prefer concise value (1 short sentence). Omit if not needed.
|
|
45
|
+
3. Do NOT add buttons, images, forms, lists, or unrelated HTML here (use dedicated bricks for that).
|
|
46
|
+
|
|
47
|
+
COLOR & BACKGROUND
|
|
48
|
+
\u2022 Prefer omitting colorPreset so the hero inherits its parent layout background.
|
|
49
|
+
\u2022 When you need emphasis use semantic presets: primary-, secondary-, accent-, neutral-, base-*** or gradient variants like primary-gradient-400 (then add gradientDirection).
|
|
50
|
+
\u2022 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).
|
|
51
|
+
|
|
52
|
+
LAYOUT & SPACING
|
|
53
|
+
\u2022 Use padding suited to visual weight: landing hero: 5\u20138rem desktop; simple page intro: 2\u20134rem.
|
|
54
|
+
\u2022 You may provide a mobile override via mobileProps (e.g. smaller padding such as 2rem).
|
|
55
|
+
\u2022 Keep justifyContent + alignItems consistent (usually center/center or start/start). Avoid mixing center with start.
|
|
56
|
+
|
|
57
|
+
TYPOGRAPHY
|
|
58
|
+
\u2022 'content' should typically render ONE main heading concept (avoid stacking multiple unrelated headings). Use <br/> to split lines when stylistic.
|
|
59
|
+
\u2022 Avoid overly long taglines (>140 chars).
|
|
60
|
+
|
|
61
|
+
DYNAMIC DATA
|
|
62
|
+
\u2022 You may interpolate page queries fields fields: {{company.name}}, {{product.name}}, etc.
|
|
63
|
+
\u2022 Ensure dynamic tokens exist in the referenced query context. Don't fabricate field names.
|
|
64
|
+
|
|
65
|
+
RESPONSIVE
|
|
66
|
+
\u2022 Use mobileProps only for necessary reductions (padding, alignment). Do not duplicate unchanged properties.
|
|
67
|
+
|
|
68
|
+
DON'TS
|
|
69
|
+
\u2717 Don't add properties that are not in the schema.
|
|
70
|
+
\u2717 Don't wrap everything with extraneous HTML containers.
|
|
71
|
+
\u2717 Don't use colorPreset plus a conflicting parent background rationale\u2014choose one.
|
|
72
|
+
|
|
73
|
+
DO
|
|
74
|
+
\u2713 Keep content focused.
|
|
75
|
+
\u2713 Use semantic colors thoughtfully.
|
|
76
|
+
\u2713 Use gradientDirection ONLY with gradient presets.
|
|
77
|
+
\u2713 Provide accessible plain text when not using HTML tags.
|
|
78
|
+
`,
|
|
41
79
|
icon: BsAlphabetUppercase,
|
|
42
80
|
defaultWidth: { desktop: "60dvw", mobile: "auto" },
|
|
43
81
|
// Force the wrapper direction to be the same as the text direction
|
|
44
82
|
staticClasses: "flex-col",
|
|
45
83
|
props: defineProps({
|
|
46
|
-
content:
|
|
84
|
+
content: textContent({
|
|
47
85
|
title: "Hero title",
|
|
48
86
|
default: "<h1 style='text-align:center'>Lorem Ipsum<br />dolor sit amet</h1>"
|
|
49
87
|
}),
|
|
50
88
|
tagline: Type.Optional(
|
|
51
|
-
|
|
52
|
-
title: "Hero tagline"
|
|
53
|
-
default: "<p style='text-align:center'>Use our platform to build your business with confidence.</p>"
|
|
89
|
+
textContent({
|
|
90
|
+
title: "Hero tagline"
|
|
91
|
+
// default: "<p style='text-align:center'>Use our platform to build your business with confidence.</p>",
|
|
54
92
|
})
|
|
55
93
|
),
|
|
56
94
|
colorPreset: Type.Optional(
|
|
57
|
-
|
|
95
|
+
colorPreset({
|
|
58
96
|
title: "Color"
|
|
59
97
|
})
|
|
60
98
|
),
|
|
61
99
|
textShadow: Type.Optional(
|
|
62
|
-
|
|
100
|
+
textShadow({
|
|
63
101
|
default: "text-shadow-sm"
|
|
64
102
|
})
|
|
65
103
|
),
|
|
66
104
|
padding: Type.Optional(
|
|
67
|
-
|
|
105
|
+
cssLength({
|
|
68
106
|
default: "6rem",
|
|
69
107
|
description: "Padding inside the hero.",
|
|
70
108
|
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
@@ -74,20 +112,18 @@ Typically used on home pages to grab the user's attention. It's better NOT to pr
|
|
|
74
112
|
"ui:styleId": "styles:padding"
|
|
75
113
|
})
|
|
76
114
|
),
|
|
77
|
-
rounding:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
),
|
|
82
|
-
border: Type.Optional(borderRef()),
|
|
83
|
-
shadow: Type.Optional(shadowRef()),
|
|
115
|
+
rounding: rounding({
|
|
116
|
+
default: "rounded-md"
|
|
117
|
+
}),
|
|
118
|
+
border: Type.Optional(border()),
|
|
119
|
+
shadow: Type.Optional(shadow()),
|
|
84
120
|
justifyContent: Type.Optional(
|
|
85
|
-
|
|
121
|
+
justifyContent({
|
|
86
122
|
default: "justify-center"
|
|
87
123
|
})
|
|
88
124
|
),
|
|
89
125
|
alignItems: Type.Optional(
|
|
90
|
-
|
|
126
|
+
alignItems({
|
|
91
127
|
default: "items-center"
|
|
92
128
|
})
|
|
93
129
|
)
|
|
@@ -158,28 +194,28 @@ var examples = [
|
|
|
158
194
|
}
|
|
159
195
|
},
|
|
160
196
|
{
|
|
161
|
-
description: "Restaurant hero with warm colors and rounded design",
|
|
197
|
+
description: "Restaurant hero with warm colors and rounded design (accent mapping for former 'orange')",
|
|
162
198
|
type: "hero",
|
|
163
199
|
props: {
|
|
164
200
|
content: "Authentic Italian Cuisine",
|
|
165
201
|
tagline: "Fresh ingredients, traditional recipes, unforgettable flavors",
|
|
166
202
|
padding: "4rem",
|
|
167
203
|
colorPreset: {
|
|
168
|
-
color: "
|
|
204
|
+
color: "accent-600"
|
|
169
205
|
},
|
|
170
206
|
rounding: "rounded-xl",
|
|
171
207
|
shadow: "shadow-lg"
|
|
172
208
|
}
|
|
173
209
|
},
|
|
174
210
|
{
|
|
175
|
-
description: "Tech company hero with
|
|
211
|
+
description: "Tech company hero with secondary gradient (mapped from former 'success') and modern styling",
|
|
176
212
|
type: "hero",
|
|
177
213
|
props: {
|
|
178
214
|
content: "Innovation Redefined",
|
|
179
215
|
tagline: "Pushing the boundaries of what's possible with AI technology",
|
|
180
216
|
padding: "5rem",
|
|
181
217
|
colorPreset: {
|
|
182
|
-
color: "
|
|
218
|
+
color: "secondary-gradient-400",
|
|
183
219
|
gradientDirection: "bg-gradient-to-r"
|
|
184
220
|
},
|
|
185
221
|
textShadow: "text-shadow-lg",
|
|
@@ -190,14 +226,14 @@ var examples = [
|
|
|
190
226
|
}
|
|
191
227
|
},
|
|
192
228
|
{
|
|
193
|
-
description: "Medical practice hero with trust-inspiring design",
|
|
229
|
+
description: "Medical practice hero with trust-inspiring design (primary mapping for former 'blue')",
|
|
194
230
|
type: "hero",
|
|
195
231
|
props: {
|
|
196
232
|
content: "Your Health, Our Priority",
|
|
197
233
|
tagline: "Comprehensive healthcare services with compassionate care",
|
|
198
234
|
padding: "4rem",
|
|
199
235
|
colorPreset: {
|
|
200
|
-
color: "
|
|
236
|
+
color: "primary-500"
|
|
201
237
|
},
|
|
202
238
|
rounding: "rounded-lg",
|
|
203
239
|
justifyContent: "justify-start",
|
|
@@ -205,14 +241,14 @@ var examples = [
|
|
|
205
241
|
}
|
|
206
242
|
},
|
|
207
243
|
{
|
|
208
|
-
description: "Creative agency hero with warning
|
|
244
|
+
description: "Creative agency hero with accent gradient (mapped from former 'warning') and diagonal gradient",
|
|
209
245
|
type: "hero",
|
|
210
246
|
props: {
|
|
211
247
|
content: "Creative Solutions",
|
|
212
248
|
tagline: "Bold designs that make your brand unforgettable",
|
|
213
249
|
padding: "3rem",
|
|
214
250
|
colorPreset: {
|
|
215
|
-
color: "
|
|
251
|
+
color: "accent-gradient-300",
|
|
216
252
|
gradientDirection: "bg-gradient-to-tl"
|
|
217
253
|
},
|
|
218
254
|
shadow: "shadow-xl",
|
|
@@ -223,14 +259,14 @@ var examples = [
|
|
|
223
259
|
}
|
|
224
260
|
},
|
|
225
261
|
{
|
|
226
|
-
description: "Fitness studio hero with
|
|
262
|
+
description: "Fitness studio hero with accent strong presence (mapping former 'danger')",
|
|
227
263
|
type: "hero",
|
|
228
264
|
props: {
|
|
229
265
|
content: "Transform Your Body",
|
|
230
266
|
tagline: "High-intensity training programs that deliver real results",
|
|
231
267
|
padding: "5rem",
|
|
232
268
|
colorPreset: {
|
|
233
|
-
color: "
|
|
269
|
+
color: "accent-600"
|
|
234
270
|
},
|
|
235
271
|
textShadow: "text-shadow-md",
|
|
236
272
|
rounding: "rounded-2xl",
|
|
@@ -256,6 +292,54 @@ var examples = [
|
|
|
256
292
|
rounding: "rounded-md"
|
|
257
293
|
}
|
|
258
294
|
},
|
|
295
|
+
{
|
|
296
|
+
description: "Inverted dark hero using neutral-800 background and left alignment",
|
|
297
|
+
type: "hero",
|
|
298
|
+
props: {
|
|
299
|
+
content: "Experience Powerful Automation",
|
|
300
|
+
tagline: "Scale operations with intelligent workflows",
|
|
301
|
+
padding: "5rem",
|
|
302
|
+
colorPreset: { color: "neutral-800" },
|
|
303
|
+
justifyContent: "justify-start",
|
|
304
|
+
alignItems: "items-start",
|
|
305
|
+
textShadow: "text-shadow-sm"
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
description: "Compact hero without tagline (no colorPreset to inherit parent)",
|
|
310
|
+
type: "hero",
|
|
311
|
+
props: {
|
|
312
|
+
content: "Documentation",
|
|
313
|
+
padding: "2rem",
|
|
314
|
+
justifyContent: "justify-start",
|
|
315
|
+
alignItems: "items-start"
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
description: "Responsive hero with large desktop padding and reduced mobile padding",
|
|
320
|
+
type: "hero",
|
|
321
|
+
props: {
|
|
322
|
+
content: "All-In-One Platform",
|
|
323
|
+
tagline: "Design \u2022 Launch \u2022 Grow",
|
|
324
|
+
padding: "8rem",
|
|
325
|
+
colorPreset: { color: "primary-gradient-500", gradientDirection: "bg-gradient-to-br" }
|
|
326
|
+
},
|
|
327
|
+
mobileProps: {
|
|
328
|
+
content: "All-In-One Platform",
|
|
329
|
+
padding: "3rem"
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
description: "Hero using dynamic product dataset with gradient emphasis",
|
|
334
|
+
type: "hero",
|
|
335
|
+
props: {
|
|
336
|
+
content: "Introducing {{product.name}}",
|
|
337
|
+
tagline: "{{product.shortTagline}}",
|
|
338
|
+
padding: "5rem",
|
|
339
|
+
colorPreset: { color: "accent-gradient-400", gradientDirection: "bg-gradient-to-r" },
|
|
340
|
+
textShadow: "text-shadow-md"
|
|
341
|
+
}
|
|
342
|
+
},
|
|
259
343
|
{
|
|
260
344
|
description: "Dynamic company hero using business query data",
|
|
261
345
|
type: "hero",
|
|
@@ -375,4 +459,4 @@ export {
|
|
|
375
459
|
manifest,
|
|
376
460
|
examples
|
|
377
461
|
};
|
|
378
|
-
//# sourceMappingURL=chunk-
|
|
462
|
+
//# sourceMappingURL=chunk-QEJGPYTB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/hero.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { textContent } from \"../props/text\";\nimport { BsAlphabetUppercase } from \"react-icons/bs\";\nimport type { BrickProps } from \"../props/types\";\nimport { Type } from \"@sinclair/typebox\";\nimport { shadow, textShadow } from \"../props/effects\";\nimport { border, rounding } from \"../props/border\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { alignItems, justifyContent } from \"../props/align\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"hero\",\n category: \"basic\",\n name: \"Hero\",\n description: \"A big textual element for home pages.\",\n aiInstructions: `PURPOSE\nA prominent textual block (main heading + optional tagline) used to introduce a page, product, event, company, or dynamic entity.\n\nSTRUCTURE\n1. Always supply 'content' (can be plain text or simple HTML like <h1>, <strong>, <br/>).\n2. 'tagline' is optional. Prefer concise value (1 short sentence). Omit if not needed.\n3. Do NOT add buttons, images, forms, lists, or unrelated HTML here (use dedicated bricks for that).\n\nCOLOR & BACKGROUND\n• Prefer omitting colorPreset so the hero inherits its parent layout background.\n• When you need emphasis use semantic presets: primary-, secondary-, accent-, neutral-, base-*** or gradient variants like primary-gradient-400 (then add gradientDirection).\n• 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).\n\nLAYOUT & SPACING\n• Use padding suited to visual weight: landing hero: 5–8rem desktop; simple page intro: 2–4rem.\n• You may provide a mobile override via mobileProps (e.g. smaller padding such as 2rem).\n• Keep justifyContent + alignItems consistent (usually center/center or start/start). Avoid mixing center with start.\n\nTYPOGRAPHY\n• 'content' should typically render ONE main heading concept (avoid stacking multiple unrelated headings). Use <br/> to split lines when stylistic.\n• Avoid overly long taglines (>140 chars).\n\nDYNAMIC DATA\n• You may interpolate page queries fields fields: {{company.name}}, {{product.name}}, etc.\n• Ensure dynamic tokens exist in the referenced query context. Don't fabricate field names.\n\nRESPONSIVE\n• Use mobileProps only for necessary reductions (padding, alignment). Do not duplicate unchanged properties.\n\nDON'TS\n✗ Don't add properties that are not in the schema.\n✗ Don't wrap everything with extraneous HTML containers.\n✗ Don't use colorPreset plus a conflicting parent background rationale—choose one.\n\nDO\n✓ Keep content focused.\n✓ Use semantic colors thoughtfully.\n✓ Use gradientDirection ONLY with gradient presets.\n✓ Provide accessible plain text when not using HTML tags.\n`,\n icon: BsAlphabetUppercase,\n\n defaultWidth: { desktop: \"60dvw\", mobile: \"auto\" },\n\n // Force the wrapper direction to be the same as the text direction\n staticClasses: \"flex-col\",\n\n props: defineProps({\n content: textContent({\n title: \"Hero title\",\n default: \"<h1 style='text-align:center'>Lorem Ipsum<br />dolor sit amet</h1>\",\n }),\n tagline: Type.Optional(\n textContent({\n title: \"Hero tagline\",\n // default: \"<p style='text-align:center'>Use our platform to build your business with confidence.</p>\",\n }),\n ),\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n\n textShadow: Type.Optional(\n textShadow({\n default: \"text-shadow-sm\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"6rem\",\n description: \"Padding inside the hero.\",\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 default: \"rounded-md\",\n }),\n border: Type.Optional(border()),\n shadow: Type.Optional(shadow()),\n justifyContent: Type.Optional(\n justifyContent({\n default: \"justify-center\",\n }),\n ),\n alignItems: Type.Optional(\n alignItems({\n default: \"items-center\",\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Simple welcome hero with primary background\",\n type: \"hero\",\n props: {\n content: \"Welcome to Our Platform\",\n tagline: \"The future of productivity starts here\",\n padding: \"3rem\",\n colorPreset: {\n color: \"primary-400\",\n },\n },\n },\n {\n description: \"Startup hero with primary gradient background to bottom-right\",\n type: \"hero\",\n props: {\n content: \"Build Something Amazing\",\n tagline: \"Turn your ideas into reality with our cutting-edge tools\",\n padding: \"3rem\",\n colorPreset: {\n color: \"primary-500\",\n gradientDirection: \"bg-gradient-to-br\",\n },\n },\n },\n {\n description: \"Construction company hero with bold presence\",\n type: \"hero\",\n props: {\n content: \"Building Tomorrow Today\",\n tagline: \"Quality construction services for residential and commercial projects\",\n padding: \"3rem\",\n },\n },\n {\n description: \"Fashion brand hero with modern appeal\",\n type: \"hero\",\n props: {\n content: \"Express Your Style\",\n tagline: \"Contemporary fashion that speaks to your individuality\",\n padding: \"6rem\",\n },\n },\n {\n description: \"Law firm hero with authoritative tone\",\n type: \"hero\",\n props: {\n content: \"Justice You Can Trust\",\n tagline: \"Experienced legal representation for individuals and businesses\",\n padding: \"6rem\",\n colorPreset: {\n color: \"neutral-800\",\n },\n },\n },\n {\n description: \"Photography studio hero with artistic flair\",\n type: \"hero\",\n props: {\n content: \"Capturing Life's Moments\",\n tagline: \"Professional photography services for weddings, portraits, and events\",\n },\n },\n {\n description: \"Restaurant hero with warm colors and rounded design (accent mapping for former 'orange')\",\n type: \"hero\",\n props: {\n content: \"Authentic Italian Cuisine\",\n tagline: \"Fresh ingredients, traditional recipes, unforgettable flavors\",\n padding: \"4rem\",\n colorPreset: {\n color: \"accent-600\",\n },\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n },\n },\n {\n description:\n \"Tech company hero with secondary gradient (mapped from former 'success') and modern styling\",\n type: \"hero\",\n props: {\n content: \"Innovation Redefined\",\n tagline: \"Pushing the boundaries of what's possible with AI technology\",\n padding: \"5rem\",\n colorPreset: {\n color: \"secondary-gradient-400\",\n gradientDirection: \"bg-gradient-to-r\",\n },\n textShadow: \"text-shadow-lg\",\n border: {\n width: \"border-2\",\n color: \"border-success-300\",\n },\n },\n },\n {\n description: \"Medical practice hero with trust-inspiring design (primary mapping for former 'blue')\",\n type: \"hero\",\n props: {\n content: \"Your Health, Our Priority\",\n tagline: \"Comprehensive healthcare services with compassionate care\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-500\",\n },\n rounding: \"rounded-lg\",\n justifyContent: \"justify-start\",\n alignItems: \"items-start\",\n },\n },\n {\n description:\n \"Creative agency hero with accent gradient (mapped from former 'warning') and diagonal gradient\",\n type: \"hero\",\n props: {\n content: \"Creative Solutions\",\n tagline: \"Bold designs that make your brand unforgettable\",\n padding: \"3rem\",\n colorPreset: {\n color: \"accent-gradient-300\",\n gradientDirection: \"bg-gradient-to-tl\",\n },\n shadow: \"shadow-xl\",\n border: {\n width: \"border\",\n color: \"border-warning-200\",\n },\n },\n },\n {\n description: \"Fitness studio hero with accent strong presence (mapping former 'danger')\",\n type: \"hero\",\n props: {\n content: \"Transform Your Body\",\n tagline: \"High-intensity training programs that deliver real results\",\n padding: \"5rem\",\n colorPreset: {\n color: \"accent-600\",\n },\n textShadow: \"text-shadow-md\",\n rounding: \"rounded-2xl\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n },\n },\n {\n description: \"Minimalist hero with neutral tones and subtle effects\",\n type: \"hero\",\n props: {\n content: \"Simplicity Perfected\",\n tagline: \"Clean design solutions for modern businesses\",\n padding: \"8rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n shadow: \"shadow-sm\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Inverted dark hero using neutral-800 background and left alignment\",\n type: \"hero\",\n props: {\n content: \"Experience Powerful Automation\",\n tagline: \"Scale operations with intelligent workflows\",\n padding: \"5rem\",\n colorPreset: { color: \"neutral-800\" },\n justifyContent: \"justify-start\",\n alignItems: \"items-start\",\n textShadow: \"text-shadow-sm\",\n },\n },\n {\n description: \"Compact hero without tagline (no colorPreset to inherit parent)\",\n type: \"hero\",\n props: {\n content: \"Documentation\",\n padding: \"2rem\",\n justifyContent: \"justify-start\",\n alignItems: \"items-start\",\n },\n },\n {\n description: \"Responsive hero with large desktop padding and reduced mobile padding\",\n type: \"hero\",\n props: {\n content: \"All-In-One Platform\",\n tagline: \"Design • Launch • Grow\",\n padding: \"8rem\",\n colorPreset: { color: \"primary-gradient-500\", gradientDirection: \"bg-gradient-to-br\" },\n },\n mobileProps: {\n content: \"All-In-One Platform\",\n padding: \"3rem\",\n },\n },\n {\n description: \"Hero using dynamic product dataset with gradient emphasis\",\n type: \"hero\",\n props: {\n content: \"Introducing {{product.name}}\",\n tagline: \"{{product.shortTagline}}\",\n padding: \"5rem\",\n colorPreset: { color: \"accent-gradient-400\", gradientDirection: \"bg-gradient-to-r\" },\n textShadow: \"text-shadow-md\",\n },\n },\n {\n description: \"Dynamic company hero using business query data\",\n type: \"hero\",\n props: {\n content: \"Welcome to {{company.name}}\",\n tagline: \"{{company.tagline}} - Serving {{company.location}} since {{company.foundedYear}}\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-500\",\n },\n },\n },\n {\n description: \"Dynamic employee spotlight using employee query\",\n type: \"hero\",\n props: {\n content: \"Meet {{employee.fullName}}\",\n tagline:\n \"{{employee.position}} at {{employee.department}} - {{employee.yearsExperience}} years of experience\",\n padding: \"3rem\",\n colorPreset: {\n color: \"secondary-400\",\n gradientDirection: \"bg-gradient-to-r\",\n },\n },\n },\n {\n description: \"Dynamic product launch hero using product query\",\n type: \"hero\",\n props: {\n content: \"Introducing {{product.name}}\",\n tagline: \"{{product.description}} - Starting at ${{product.price}}\",\n padding: \"5rem\",\n colorPreset: {\n color: \"accent-600\",\n },\n shadow: \"shadow-lg\",\n rounding: \"rounded-xl\",\n },\n },\n {\n description: \"Dynamic event announcement using event query\",\n type: \"hero\",\n props: {\n content: \"{{event.title}}\",\n tagline: \"Join us on {{event.date}} at {{event.venue}} - {{event.city}}\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-400\",\n gradientDirection: \"bg-gradient-to-br\",\n },\n textShadow: \"text-shadow-md\",\n },\n },\n {\n description: \"Dynamic blog post hero using article query\",\n type: \"hero\",\n props: {\n content: \"{{article.title}}\",\n tagline: \"By {{article.author}} • Published {{article.publishDate}} • {{article.readTime}} min read\",\n padding: \"3rem\",\n colorPreset: {\n color: \"neutral-700\",\n },\n justifyContent: \"justify-start\",\n alignItems: \"items-start\",\n },\n },\n {\n description: \"Dynamic service promotion using service query\",\n type: \"hero\",\n props: {\n content: \"{{service.name}}\",\n tagline: \"{{service.description}} - {{service.duration}} • Starting at ${{service.price}}\",\n padding: \"6rem\",\n colorPreset: {\n color: \"secondary-500\",\n gradientDirection: \"bg-gradient-to-tl\",\n },\n border: {\n width: \"border-2\",\n color: \"border-secondary-300\",\n },\n },\n },\n {\n description: \"Dynamic property showcase using property query\",\n type: \"hero\",\n props: {\n content: \"{{property.address}}\",\n tagline:\n \"${{property.price}} • {{property.bedrooms}} bed, {{property.bathrooms}} bath • {{property.squareFootage}} sq ft\",\n padding: \"4rem\",\n colorPreset: {\n color: \"accent-500\",\n },\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Dynamic course announcement using course query\",\n type: \"hero\",\n props: {\n content: \"{{course.title}}\",\n tagline:\n \"Learn {{course.subject}} with {{course.instructor}} • {{course.duration}} • {{course.skillLevel}} level\",\n padding: \"5rem\",\n colorPreset: {\n color: \"primary-600\",\n },\n textShadow: \"text-shadow-lg\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -4,20 +4,17 @@ import {
|
|
|
4
4
|
number
|
|
5
5
|
} from "./chunk-XCZVD5H6.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import {
|
|
10
|
-
defineBrickManifest
|
|
11
|
-
} from "./chunk-TB3X4LRQ.js";
|
|
7
|
+
rounding
|
|
8
|
+
} from "./chunk-SRYBJ6NQ.js";
|
|
12
9
|
import {
|
|
13
|
-
|
|
14
|
-
} from "./chunk-
|
|
10
|
+
defineProps
|
|
11
|
+
} from "./chunk-VTCHJT4O.js";
|
|
15
12
|
import {
|
|
16
|
-
|
|
17
|
-
} from "./chunk-
|
|
13
|
+
shadow
|
|
14
|
+
} from "./chunk-5RCC2STG.js";
|
|
18
15
|
import {
|
|
19
|
-
|
|
20
|
-
} from "./chunk-
|
|
16
|
+
defineBrickManifest
|
|
17
|
+
} from "./chunk-J45LSQT6.js";
|
|
21
18
|
|
|
22
19
|
// src/shared/bricks/manifests/map.manifest.ts
|
|
23
20
|
import { LiaMapMarkedAltSolid } from "react-icons/lia";
|
|
@@ -54,16 +51,18 @@ var manifest = defineBrickManifest({
|
|
|
54
51
|
icon: LiaMapMarkedAltSolid,
|
|
55
52
|
props: defineProps({
|
|
56
53
|
// location: geolocation({ defaultZoom: DEFAULTS.zoom }),
|
|
57
|
-
lat:
|
|
58
|
-
lng:
|
|
59
|
-
address:
|
|
54
|
+
lat: Type.String({ title: "Latitude", "ui:field": "hidden" }),
|
|
55
|
+
lng: Type.String({ title: "Longitude", "ui:field": "hidden" }),
|
|
56
|
+
address: Type.String({
|
|
57
|
+
title: "Address",
|
|
60
58
|
"ui:field": "geoaddress",
|
|
61
59
|
metadata: {
|
|
62
60
|
category: "content"
|
|
63
61
|
}
|
|
64
62
|
}),
|
|
65
63
|
tooltip: Type.Optional(
|
|
66
|
-
|
|
64
|
+
Type.String({
|
|
65
|
+
title: "Tooltip",
|
|
67
66
|
metadata: {
|
|
68
67
|
category: "content"
|
|
69
68
|
}
|
|
@@ -83,11 +82,11 @@ var manifest = defineBrickManifest({
|
|
|
83
82
|
})
|
|
84
83
|
),
|
|
85
84
|
rounding: Type.Optional(
|
|
86
|
-
|
|
85
|
+
rounding({
|
|
87
86
|
default: "rounded-xl"
|
|
88
87
|
})
|
|
89
88
|
),
|
|
90
|
-
shadow: Type.Optional(
|
|
89
|
+
shadow: Type.Optional(shadow())
|
|
91
90
|
})
|
|
92
91
|
});
|
|
93
92
|
var examples = [
|
|
@@ -227,4 +226,4 @@ export {
|
|
|
227
226
|
manifest,
|
|
228
227
|
examples
|
|
229
228
|
};
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
229
|
+
//# sourceMappingURL=chunk-SK2O7GFC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/map.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { LiaMapMarkedAltSolid } from \"react-icons/lia\";\nimport { rounding } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport { Type } from \"@sinclair/typebox\";\nimport { number } from \"../props/number\";\nimport type { BrickExample } from \"./_types\";\n\nexport const DEFAULTS = {\n lat: 48.8566, // Default latitude (Paris)\n lng: 2.3522, // Default longitude (Paris)\n zoom: 15, // Default zoom level\n};\n\nexport const manifest = defineBrickManifest({\n type: \"map\",\n name: \"Map\",\n description: \"A map element showing a location\",\n aiInstructions:\n \"This brick can be used to show a location on a map. Use the 'location' prop to set the coordinates and an optional tooltip.\",\n minWidth: {\n desktop: 280,\n mobile: 280,\n },\n minHeight: {\n desktop: 200,\n mobile: 120,\n },\n defaultHeight: {\n desktop: \"320px\",\n mobile: \"280px\",\n },\n defaultWidth: {\n desktop: \"380px\",\n mobile: \"100%\",\n },\n icon: LiaMapMarkedAltSolid,\n props: defineProps({\n // location: geolocation({ defaultZoom: DEFAULTS.zoom }),\n lat: Type.String({ title: \"Latitude\", \"ui:field\": \"hidden\" }),\n lng: Type.String({ title: \"Longitude\", \"ui:field\": \"hidden\" }),\n address: Type.String({\n title: \"Address\",\n \"ui:field\": \"geoaddress\",\n metadata: {\n category: \"content\",\n },\n }),\n tooltip: Type.Optional(\n Type.String({\n title: \"Tooltip\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n zoom: Type.Optional(\n number(\"Zoom\", {\n description: \"Zoom level for the map\",\n \"ui:instructions\": \"The zoom level should be between 0 (world view) and 21 (street view).\",\n \"ui:field\": \"slider\",\n minimum: 12,\n maximum: 18,\n default: DEFAULTS.zoom,\n metadata: {\n category: \"content\",\n },\n }),\n ),\n rounding: Type.Optional(\n rounding({\n default: \"rounded-xl\",\n }),\n ),\n shadow: Type.Optional(shadow()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Map showing a specific location\",\n type: \"map\",\n props: {\n lat: \"37.7749\",\n lng: \"-122.4194\",\n address: \"San Francisco, CA\",\n tooltip: \"San Francisco, CA\",\n shadow: \"shadow-md\",\n width: \"40%\",\n height: \"250px\",\n },\n },\n {\n description: \"Map with custom styles\",\n type: \"map\",\n props: {\n lat: \"40.7128\",\n lng: \"-74.0060\",\n address: \"New York, NY\",\n tooltip: \"New York, NY\",\n shadow: \"shadow-lg\",\n width: \"100%\",\n height: \"400px\",\n },\n },\n {\n description: \"Business location map with high zoom level and rounded corners\",\n type: \"map\",\n props: {\n lat: \"34.0522\",\n lng: \"-118.2437\",\n address: \"Los Angeles, CA\",\n tooltip: \"Our Los Angeles Office\",\n zoom: 18,\n rounding: \"rounded-2xl\",\n shadow: \"shadow-xl\",\n },\n },\n {\n description: \"Event venue map with medium zoom and subtle shadow\",\n type: \"map\",\n props: {\n lat: \"41.8781\",\n lng: \"-87.6298\",\n address: \"Chicago, IL\",\n tooltip: \"Conference Center - Chicago\",\n zoom: 16,\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Restaurant location with default zoom and sharp corners\",\n type: \"map\",\n props: {\n lat: \"25.7617\",\n lng: \"-80.1918\",\n address: \"Miami, FL\",\n tooltip: \"Oceanview Restaurant & Bar\",\n zoom: 15,\n rounding: \"rounded-none\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Hotel location with low zoom for area overview\",\n type: \"map\",\n props: {\n lat: \"36.1699\",\n lng: \"-115.1398\",\n address: \"Las Vegas, NV\",\n tooltip: \"Downtown Las Vegas Hotel\",\n zoom: 13,\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n },\n },\n {\n description: \"Store location with maximum zoom for street view detail\",\n type: \"map\",\n props: {\n lat: \"47.6062\",\n lng: \"-122.3321\",\n address: \"Seattle, WA\",\n tooltip: \"Seattle Flagship Store\",\n zoom: 18,\n rounding: \"rounded-md\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Park location with moderate zoom and minimal styling\",\n type: \"map\",\n props: {\n lat: \"39.7392\",\n lng: \"-104.9903\",\n address: \"Denver, CO\",\n tooltip: \"City Park Recreation Area\",\n zoom: 14,\n rounding: \"rounded-sm\",\n },\n },\n {\n description: \"Dynamic business location using company query\",\n type: \"map\",\n props: {\n lat: \"{{company.latitude}}\",\n lng: \"{{company.longitude}}\",\n address: \"{{company.address}}\",\n tooltip: \"{{company.name}} - {{company.address}}\",\n zoom: 16,\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Dynamic event venue using event query\",\n type: \"map\",\n props: {\n lat: \"{{event.venueLatitude}}\",\n lng: \"{{event.venueLongitude}}\",\n address: \"{{event.venueAddress}}\",\n tooltip: \"{{event.title}} - {{event.venueName}}\",\n zoom: 17,\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n },\n },\n];\n"],"mappings":"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","names":[]}
|