@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
|
@@ -2,14 +2,13 @@ import { Type } from "@sinclair/typebox";
|
|
|
2
2
|
import { RiTable2 } from "react-icons/ri";
|
|
3
3
|
import { defineBrickManifest } from "~/shared/brick-manifest";
|
|
4
4
|
import { defineProps } from "../props/helpers";
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { cssLengthRef } from "../props/css-length";
|
|
11
|
-
import { fontSizeRef } from "../props/text";
|
|
5
|
+
import { colorPreset } from "../props/color-preset";
|
|
6
|
+
import { border, rounding } from "../props/border";
|
|
7
|
+
import { loop } from "../props/dynamic";
|
|
8
|
+
import { cssLength } from "../props/css-length";
|
|
9
|
+
import { fontSize } from "../props/text";
|
|
12
10
|
import { StringEnum } from "~/shared/utils/string-enum";
|
|
11
|
+
import type { BrickExample } from "./_types";
|
|
13
12
|
|
|
14
13
|
export const manifest = defineBrickManifest({
|
|
15
14
|
type: "table",
|
|
@@ -34,18 +33,20 @@ export const manifest = defineBrickManifest({
|
|
|
34
33
|
icon: RiTable2,
|
|
35
34
|
props: defineProps({
|
|
36
35
|
colorPreset: Type.Optional(
|
|
37
|
-
|
|
36
|
+
colorPreset({
|
|
38
37
|
title: "Color",
|
|
39
38
|
}),
|
|
40
39
|
),
|
|
41
|
-
loop: Type.Optional(
|
|
40
|
+
loop: Type.Optional(loop()),
|
|
42
41
|
columns: Type.Array(
|
|
43
42
|
Type.Object({
|
|
44
|
-
header:
|
|
43
|
+
header: Type.String({
|
|
44
|
+
title: "Header",
|
|
45
45
|
default: "Column Header",
|
|
46
46
|
metadata: { category: "content" },
|
|
47
47
|
}),
|
|
48
|
-
field:
|
|
48
|
+
field: Type.String({
|
|
49
|
+
title: "Field",
|
|
49
50
|
default: "fieldName",
|
|
50
51
|
description: "The field name from the data source or static content",
|
|
51
52
|
metadata: { category: "content" },
|
|
@@ -124,14 +125,14 @@ export const manifest = defineBrickManifest({
|
|
|
124
125
|
}),
|
|
125
126
|
),
|
|
126
127
|
fontSize: Type.Optional(
|
|
127
|
-
|
|
128
|
+
fontSize({
|
|
128
129
|
title: "Font Size",
|
|
129
130
|
description: "Text size for table content",
|
|
130
131
|
default: "text-sm",
|
|
131
132
|
}),
|
|
132
133
|
),
|
|
133
134
|
padding: Type.Optional(
|
|
134
|
-
|
|
135
|
+
cssLength({
|
|
135
136
|
default: "1rem",
|
|
136
137
|
description: "Padding inside table cells",
|
|
137
138
|
title: "Cell Padding",
|
|
@@ -141,12 +142,12 @@ export const manifest = defineBrickManifest({
|
|
|
141
142
|
}),
|
|
142
143
|
),
|
|
143
144
|
rounding: Type.Optional(
|
|
144
|
-
|
|
145
|
+
rounding({
|
|
145
146
|
default: "rounded-lg",
|
|
146
147
|
}),
|
|
147
148
|
),
|
|
148
149
|
border: Type.Optional(
|
|
149
|
-
|
|
150
|
+
border({
|
|
150
151
|
default: { width: "border", color: "border-gray-200" },
|
|
151
152
|
}),
|
|
152
153
|
),
|
|
@@ -155,11 +156,7 @@ export const manifest = defineBrickManifest({
|
|
|
155
156
|
|
|
156
157
|
export type Manifest = typeof manifest;
|
|
157
158
|
|
|
158
|
-
export const examples:
|
|
159
|
-
description: string;
|
|
160
|
-
type: string;
|
|
161
|
-
props: BrickProps<Manifest>["brick"]["props"];
|
|
162
|
-
}[] = [
|
|
159
|
+
export const examples: BrickExample<Manifest>[] = [
|
|
163
160
|
{
|
|
164
161
|
description: "Team members table with basic information",
|
|
165
162
|
type: "table",
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { defineBrickManifest } from "~/shared/brick-manifest";
|
|
2
2
|
import { defineProps } from "../props/helpers";
|
|
3
3
|
import { Type } from "@sinclair/typebox";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { border, rounding } from "../props/border";
|
|
5
|
+
import { shadow } from "../props/effects";
|
|
6
6
|
import type { BrickProps } from "../props/types";
|
|
7
|
-
import {
|
|
7
|
+
import { cssLength } from "../props/css-length";
|
|
8
8
|
import { HiOutlineViewColumns } from "react-icons/hi2";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { colorPreset } from "../props/color-preset";
|
|
10
|
+
import { loop } from "../props/dynamic";
|
|
11
11
|
import { StringEnum } from "~/shared/utils/string-enum";
|
|
12
|
+
import type { BrickExample } from "./_types";
|
|
12
13
|
|
|
13
14
|
// Tab configuration schema
|
|
14
15
|
const tabRef = Type.Object({
|
|
@@ -43,7 +44,7 @@ export const manifest = defineBrickManifest({
|
|
|
43
44
|
icon: HiOutlineViewColumns,
|
|
44
45
|
props: defineProps({
|
|
45
46
|
colorPreset: Type.Optional(
|
|
46
|
-
|
|
47
|
+
colorPreset({
|
|
47
48
|
title: "Color",
|
|
48
49
|
}),
|
|
49
50
|
),
|
|
@@ -94,7 +95,7 @@ export const manifest = defineBrickManifest({
|
|
|
94
95
|
}),
|
|
95
96
|
),
|
|
96
97
|
padding: Type.Optional(
|
|
97
|
-
|
|
98
|
+
cssLength({
|
|
98
99
|
default: "1.5rem",
|
|
99
100
|
description: "Padding inside each tab panel.",
|
|
100
101
|
"ai:instructions": "Use values like '1rem', '1.5rem', or '2rem' for tab content padding",
|
|
@@ -104,7 +105,7 @@ export const manifest = defineBrickManifest({
|
|
|
104
105
|
}),
|
|
105
106
|
),
|
|
106
107
|
gap: Type.Optional(
|
|
107
|
-
|
|
108
|
+
cssLength({
|
|
108
109
|
title: "Tab Gap",
|
|
109
110
|
default: "0.5rem",
|
|
110
111
|
description: "Gap between tab buttons.",
|
|
@@ -113,14 +114,12 @@ export const manifest = defineBrickManifest({
|
|
|
113
114
|
"ui:styleId": "styles:gap",
|
|
114
115
|
}),
|
|
115
116
|
),
|
|
116
|
-
rounding:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
),
|
|
121
|
-
|
|
122
|
-
shadow: Type.Optional(shadowRef()),
|
|
123
|
-
loop: Type.Optional(loopRef()),
|
|
117
|
+
rounding: rounding({
|
|
118
|
+
default: "rounded-md",
|
|
119
|
+
}),
|
|
120
|
+
border: Type.Optional(border()),
|
|
121
|
+
shadow: Type.Optional(shadow()),
|
|
122
|
+
loop: Type.Optional(loop()),
|
|
124
123
|
$children: Type.Array(Type.Array(Type.Any()), {
|
|
125
124
|
"ui:field": "hidden",
|
|
126
125
|
description: "Array of child brick arrays - each sub-array represents the content for one tab",
|
|
@@ -160,11 +159,7 @@ export const manifest = defineBrickManifest({
|
|
|
160
159
|
|
|
161
160
|
export type Manifest = typeof manifest;
|
|
162
161
|
|
|
163
|
-
export const examples:
|
|
164
|
-
description: string;
|
|
165
|
-
type: string;
|
|
166
|
-
props: BrickProps<Manifest>["brick"]["props"];
|
|
167
|
-
}[] = [
|
|
162
|
+
export const examples: BrickExample<Manifest>[] = [
|
|
168
163
|
{
|
|
169
164
|
description: "Simple tabs with basic content in each panel",
|
|
170
165
|
type: "tabs",
|
|
@@ -2,15 +2,16 @@ import { type Static, type TObject, Type } from "@sinclair/typebox";
|
|
|
2
2
|
import { HiOutlineChatBubbleBottomCenter } from "react-icons/hi2";
|
|
3
3
|
import { defineBrickManifest } from "~/shared/brick-manifest";
|
|
4
4
|
import { defineProps } from "../props/helpers";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { image } from "../props/image";
|
|
6
|
+
import { icon } from "../props/string";
|
|
7
7
|
import type { BrickProps } from "../props/types";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
8
|
+
import { fontSize } from "../props/text";
|
|
9
|
+
import { colorPreset } from "../props/color-preset";
|
|
10
|
+
import { cssLength } from "../props/css-length";
|
|
11
|
+
import { loop } from "../props/dynamic";
|
|
12
|
+
import { border } from "../props/border";
|
|
13
|
+
import { shadow } from "../props/effects";
|
|
14
|
+
import type { BrickExample } from "./_types";
|
|
14
15
|
|
|
15
16
|
export const manifest = defineBrickManifest({
|
|
16
17
|
type: "testimonials",
|
|
@@ -25,13 +26,13 @@ Optionally either use an avatar or a social icon but not both at the same time.`
|
|
|
25
26
|
props: defineProps(
|
|
26
27
|
{
|
|
27
28
|
colorPreset: Type.Optional(
|
|
28
|
-
|
|
29
|
+
colorPreset({
|
|
29
30
|
title: "Color",
|
|
30
31
|
default: "base-100",
|
|
31
32
|
}),
|
|
32
33
|
),
|
|
33
34
|
border: Type.Optional(
|
|
34
|
-
|
|
35
|
+
border({
|
|
35
36
|
title: "Border",
|
|
36
37
|
description: "Customize the border of the testimonial cards.",
|
|
37
38
|
default: {
|
|
@@ -41,12 +42,12 @@ Optionally either use an avatar or a social icon but not both at the same time.`
|
|
|
41
42
|
}),
|
|
42
43
|
),
|
|
43
44
|
fontSize: Type.Optional(
|
|
44
|
-
|
|
45
|
+
fontSize({
|
|
45
46
|
"ui:no-extra-large-sizes": true,
|
|
46
47
|
}),
|
|
47
48
|
),
|
|
48
49
|
padding: Type.Optional(
|
|
49
|
-
|
|
50
|
+
cssLength({
|
|
50
51
|
default: "1rem",
|
|
51
52
|
description: "Padding inside the main container.",
|
|
52
53
|
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
@@ -57,7 +58,7 @@ Optionally either use an avatar or a social icon but not both at the same time.`
|
|
|
57
58
|
}),
|
|
58
59
|
),
|
|
59
60
|
gap: Type.Optional(
|
|
60
|
-
|
|
61
|
+
cssLength({
|
|
61
62
|
title: "Gap",
|
|
62
63
|
default: "26px",
|
|
63
64
|
description: "Space between bricks.",
|
|
@@ -67,9 +68,9 @@ Optionally either use an avatar or a social icon but not both at the same time.`
|
|
|
67
68
|
"ui:styleId": "styles:gap",
|
|
68
69
|
}),
|
|
69
70
|
),
|
|
70
|
-
shadow: Type.Optional(
|
|
71
|
+
shadow: Type.Optional(shadow()),
|
|
71
72
|
loop: Type.Optional(
|
|
72
|
-
|
|
73
|
+
loop({
|
|
73
74
|
// title: "Use dynamic content",
|
|
74
75
|
description:
|
|
75
76
|
"If enabled, each row from the query result will be used to create a testimonial. Otherwise, the testimonials will be static.",
|
|
@@ -79,21 +80,22 @@ Optionally either use an avatar or a social icon but not both at the same time.`
|
|
|
79
80
|
testimonials: Type.Optional(
|
|
80
81
|
Type.Array(
|
|
81
82
|
Type.Object({
|
|
82
|
-
text:
|
|
83
|
+
text: Type.String({
|
|
84
|
+
title: "Text",
|
|
83
85
|
default: "Amazing product!",
|
|
84
86
|
"ui:multiline": true,
|
|
85
87
|
"ui:textarea-class": "h-20",
|
|
86
88
|
}),
|
|
87
|
-
author:
|
|
88
|
-
company: Type.Optional(
|
|
89
|
+
author: Type.String({ title: "Author", default: "John Doe" }),
|
|
90
|
+
company: Type.Optional(Type.String({ title: "Company" })),
|
|
89
91
|
avatar: Type.Optional(
|
|
90
|
-
|
|
92
|
+
image({
|
|
91
93
|
title: "Avatar",
|
|
92
94
|
"ui:placeholder": "https://via.placeholder.com/80x80.png?text=JD",
|
|
93
95
|
noObjectOptions: true,
|
|
94
96
|
}),
|
|
95
97
|
),
|
|
96
|
-
socialIcon: Type.Optional(
|
|
98
|
+
socialIcon: Type.Optional(icon()),
|
|
97
99
|
}),
|
|
98
100
|
{
|
|
99
101
|
title: "Testimonials",
|
|
@@ -134,11 +136,7 @@ Optionally either use an avatar or a social icon but not both at the same time.`
|
|
|
134
136
|
|
|
135
137
|
export type Manifest = typeof manifest;
|
|
136
138
|
|
|
137
|
-
export const examples:
|
|
138
|
-
description: string;
|
|
139
|
-
type: string;
|
|
140
|
-
props: BrickProps<Manifest>["brick"]["props"];
|
|
141
|
-
}[] = [
|
|
139
|
+
export const examples: BrickExample<Manifest>[] = [
|
|
142
140
|
{
|
|
143
141
|
description: "SaaS platform testimonials with avatars",
|
|
144
142
|
type: "testimonials",
|
|
@@ -1,25 +1,50 @@
|
|
|
1
1
|
import { defineBrickManifest } from "~/shared/brick-manifest";
|
|
2
|
-
import {
|
|
2
|
+
import { textContent } from "../props/text";
|
|
3
3
|
import { defineProps } from "../props/helpers";
|
|
4
|
-
import {
|
|
4
|
+
import { border, rounding } from "../props/border";
|
|
5
5
|
import { RxTextAlignLeft } from "react-icons/rx";
|
|
6
|
-
import type { BrickProps } from "../props/types";
|
|
7
6
|
import { Type } from "@sinclair/typebox";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
7
|
+
import { alignItems } from "../props/align";
|
|
8
|
+
import { shadow } from "../props/effects";
|
|
9
|
+
import { colorPreset } from "../props/color-preset";
|
|
10
|
+
import { loop } from "../props/dynamic";
|
|
11
|
+
import { cssLength } from "../props/css-length";
|
|
12
|
+
import type { BrickExample } from "./_types";
|
|
13
13
|
|
|
14
14
|
export const manifest = defineBrickManifest({
|
|
15
15
|
type: "text",
|
|
16
16
|
category: "basic",
|
|
17
17
|
name: "Text",
|
|
18
18
|
description: "Text with formatting options",
|
|
19
|
-
aiInstructions: `
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
aiInstructions: `Use the text component for rich content blocks, announcements, descriptions, and formatted text throughout your site.
|
|
20
|
+
|
|
21
|
+
CONTENT FORMATTING:
|
|
22
|
+
- Supports HTML tags: <h1>, <h2>, <h3>, <h4>, <p>, <span>, <strong>, <em>, <br>, <a>, <ul>, <li>, <ol>
|
|
23
|
+
- Only 'text-align' style is supported (center, left, right) - avoid other inline styles
|
|
24
|
+
- Use <strong> for emphasis, <em> for italics, <br> for line breaks
|
|
25
|
+
- Links: <a href="/page">Internal</a> or <a href="https://external.com">External</a>
|
|
26
|
+
- Lists: <ul><li>Item 1</li><li>Item 2</li></ul>
|
|
27
|
+
|
|
28
|
+
STYLING OPTIONS:
|
|
29
|
+
- colorPreset: Leave empty to inherit parent colors, or use "primary-100", "secondary-200", "neutral-50", "accent-100" for backgrounds
|
|
30
|
+
- padding: Use CSS values like "1rem", "2rem", "24px" for internal spacing
|
|
31
|
+
- rounding: "rounded-none" (sharp), "rounded-md" (standard), "rounded-lg" (friendly), "rounded-xl" (soft)
|
|
32
|
+
- border: Add borders with width ("border", "border-2") and color ("border-gray-300", "border-primary-500")
|
|
33
|
+
- shadow: Add depth with "shadow-sm", "shadow-md", "shadow-lg"
|
|
34
|
+
|
|
35
|
+
WHEN TO USE:
|
|
36
|
+
- Rich content sections (About Us, Service descriptions)
|
|
37
|
+
- Announcements and notices
|
|
38
|
+
- Product descriptions with formatting
|
|
39
|
+
- Quotes and testimonials
|
|
40
|
+
- FAQ content and detailed explanations
|
|
41
|
+
- Footer information and legal text
|
|
42
|
+
|
|
43
|
+
BEST PRACTICES:
|
|
44
|
+
- Keep HTML minimal - complex layouts should use multiple components
|
|
45
|
+
- Use semantic headings (h2, h3, h4) for proper hierarchy
|
|
46
|
+
- Center-align for quotes/testimonials, left-align for body text
|
|
47
|
+
- Choose background colors that provide good contrast, or no background for inline text`,
|
|
23
48
|
defaultWidth: {
|
|
24
49
|
mobile: "100%",
|
|
25
50
|
},
|
|
@@ -31,24 +56,24 @@ You may simply omit the "colorPreset" property so that the brick will inherit th
|
|
|
31
56
|
icon: RxTextAlignLeft,
|
|
32
57
|
props: defineProps({
|
|
33
58
|
colorPreset: Type.Optional(
|
|
34
|
-
|
|
59
|
+
colorPreset({
|
|
35
60
|
title: "Color",
|
|
36
61
|
}),
|
|
37
62
|
),
|
|
38
|
-
content:
|
|
63
|
+
content: textContent({
|
|
39
64
|
title: "Content",
|
|
40
65
|
// metadata: {
|
|
41
66
|
// category: "content",
|
|
42
67
|
// },
|
|
43
68
|
}),
|
|
44
69
|
verticalAlign: Type.Optional(
|
|
45
|
-
|
|
70
|
+
alignItems({
|
|
46
71
|
default: "items-center",
|
|
47
72
|
title: "Align",
|
|
48
73
|
}),
|
|
49
74
|
),
|
|
50
75
|
padding: Type.Optional(
|
|
51
|
-
|
|
76
|
+
cssLength({
|
|
52
77
|
default: "2rem",
|
|
53
78
|
description: "Padding inside the text.",
|
|
54
79
|
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
@@ -58,24 +83,17 @@ You may simply omit the "colorPreset" property so that the brick will inherit th
|
|
|
58
83
|
"ui:styleId": "styles:padding",
|
|
59
84
|
}),
|
|
60
85
|
),
|
|
61
|
-
rounding:
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
),
|
|
66
|
-
border: Type.Optional(borderRef()),
|
|
67
|
-
shadow: Type.Optional(shadowRef()),
|
|
68
|
-
loop: Type.Optional(loopRef()),
|
|
86
|
+
rounding: rounding({
|
|
87
|
+
default: "rounded-md",
|
|
88
|
+
}),
|
|
89
|
+
border: Type.Optional(border()),
|
|
90
|
+
shadow: Type.Optional(shadow()),
|
|
69
91
|
}),
|
|
70
92
|
});
|
|
71
93
|
|
|
72
94
|
export type Manifest = typeof manifest;
|
|
73
95
|
|
|
74
|
-
export const examples:
|
|
75
|
-
description: string;
|
|
76
|
-
type: string;
|
|
77
|
-
props: BrickProps<Manifest>["brick"]["props"];
|
|
78
|
-
}[] = [
|
|
96
|
+
export const examples: BrickExample<Manifest>[] = [
|
|
79
97
|
{
|
|
80
98
|
description: "Welcome paragraph with emphasis and padding",
|
|
81
99
|
type: "text",
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { Type } from "@sinclair/typebox";
|
|
2
2
|
import { defineBrickManifest } from "~/shared/brick-manifest";
|
|
3
3
|
import { defineProps } from "../props/helpers";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { colorPreset } from "../props/color-preset";
|
|
5
|
+
import { cssLength } from "../props/css-length";
|
|
6
|
+
import { border, rounding } from "../props/border";
|
|
7
|
+
import { shadow } from "../props/effects";
|
|
8
8
|
import { BsListCheck } from "react-icons/bs";
|
|
9
|
-
import {
|
|
9
|
+
import { loop } from "../props/dynamic";
|
|
10
10
|
import type { BrickProps } from "../props/types";
|
|
11
|
+
import type { BrickExample } from "./_types";
|
|
12
|
+
import { StringEnum } from "~/shared/utils/string-enum";
|
|
11
13
|
|
|
12
14
|
const timelineItemSchema = Type.Object({
|
|
13
15
|
id: Type.Optional(Type.String({ title: "ID" })),
|
|
@@ -40,7 +42,8 @@ const timelineItemSchema = Type.Object({
|
|
|
40
42
|
}),
|
|
41
43
|
),
|
|
42
44
|
status: Type.Optional(
|
|
43
|
-
|
|
45
|
+
StringEnum(["completed", "current", "upcoming"], {
|
|
46
|
+
enumNames: ["Completed", "Current", "Upcoming"],
|
|
44
47
|
title: "Status",
|
|
45
48
|
description: "Timeline item status for visual styling",
|
|
46
49
|
}),
|
|
@@ -54,6 +57,7 @@ export const manifest = defineBrickManifest({
|
|
|
54
57
|
description:
|
|
55
58
|
"A vertical timeline component to display chronological events, milestones, or processes with optional content for each item",
|
|
56
59
|
icon: BsListCheck,
|
|
60
|
+
consumesMultipleQueryRows: true,
|
|
57
61
|
props: defineProps({
|
|
58
62
|
items: Type.Array(timelineItemSchema, {
|
|
59
63
|
title: "Timeline Items",
|
|
@@ -74,7 +78,8 @@ export const manifest = defineBrickManifest({
|
|
|
74
78
|
|
|
75
79
|
// Layout options
|
|
76
80
|
layout: Type.Optional(
|
|
77
|
-
|
|
81
|
+
StringEnum(["left", "right", "alternating"], {
|
|
82
|
+
enumNames: ["Left", "Right", "Alternating"],
|
|
78
83
|
title: "Layout",
|
|
79
84
|
description: "Timeline layout style",
|
|
80
85
|
default: "left",
|
|
@@ -90,7 +95,7 @@ export const manifest = defineBrickManifest({
|
|
|
90
95
|
),
|
|
91
96
|
|
|
92
97
|
connectorColor: Type.Optional(
|
|
93
|
-
|
|
98
|
+
colorPreset({
|
|
94
99
|
title: "Connector Color",
|
|
95
100
|
description: "Color of the timeline connector line",
|
|
96
101
|
}),
|
|
@@ -98,7 +103,7 @@ export const manifest = defineBrickManifest({
|
|
|
98
103
|
|
|
99
104
|
// Timeline item styling
|
|
100
105
|
itemSpacing: Type.Optional(
|
|
101
|
-
|
|
106
|
+
cssLength({
|
|
102
107
|
title: "Item Spacing",
|
|
103
108
|
description: "Vertical spacing between timeline items",
|
|
104
109
|
default: "2rem",
|
|
@@ -112,9 +117,9 @@ export const manifest = defineBrickManifest({
|
|
|
112
117
|
default: true,
|
|
113
118
|
}),
|
|
114
119
|
),
|
|
115
|
-
|
|
116
120
|
iconSize: Type.Optional(
|
|
117
|
-
|
|
121
|
+
StringEnum(["sm", "md", "lg"], {
|
|
122
|
+
enumNames: ["Small", "Medium", "Large"],
|
|
118
123
|
title: "Icon Size",
|
|
119
124
|
description: "Size of timeline item icons",
|
|
120
125
|
default: "md",
|
|
@@ -130,7 +135,8 @@ export const manifest = defineBrickManifest({
|
|
|
130
135
|
),
|
|
131
136
|
|
|
132
137
|
datePosition: Type.Optional(
|
|
133
|
-
|
|
138
|
+
StringEnum(["top", "bottom", "inline"], {
|
|
139
|
+
enumNames: ["Top", "Bottom", "Inline"],
|
|
134
140
|
title: "Date Position",
|
|
135
141
|
description: "Position of dates relative to content",
|
|
136
142
|
default: "top",
|
|
@@ -139,52 +145,48 @@ export const manifest = defineBrickManifest({
|
|
|
139
145
|
|
|
140
146
|
// Styling
|
|
141
147
|
colorPreset: Type.Optional(
|
|
142
|
-
|
|
148
|
+
colorPreset({
|
|
143
149
|
title: "Color Preset",
|
|
144
150
|
description: "Color theme for the timeline",
|
|
145
151
|
}),
|
|
146
152
|
),
|
|
147
153
|
|
|
148
154
|
padding: Type.Optional(
|
|
149
|
-
|
|
155
|
+
cssLength({
|
|
150
156
|
title: "Padding",
|
|
151
157
|
description: "Internal padding for the timeline container",
|
|
152
158
|
}),
|
|
153
159
|
),
|
|
154
160
|
|
|
155
161
|
border: Type.Optional(
|
|
156
|
-
|
|
162
|
+
border({
|
|
157
163
|
title: "Border",
|
|
158
164
|
description: "Border styling for the timeline container",
|
|
159
165
|
}),
|
|
160
166
|
),
|
|
161
167
|
|
|
162
168
|
shadow: Type.Optional(
|
|
163
|
-
|
|
169
|
+
shadow({
|
|
164
170
|
title: "Shadow",
|
|
165
171
|
description: "Shadow effect for the timeline container",
|
|
166
172
|
}),
|
|
167
173
|
),
|
|
168
174
|
|
|
169
175
|
rounding: Type.Optional(
|
|
170
|
-
|
|
176
|
+
rounding({
|
|
171
177
|
title: "Rounding",
|
|
172
178
|
description: "Corner rounding for the timeline container",
|
|
173
179
|
}),
|
|
174
180
|
),
|
|
175
181
|
|
|
176
182
|
// Content loop support
|
|
177
|
-
loop: Type.Optional(
|
|
183
|
+
loop: Type.Optional(loop()),
|
|
178
184
|
}),
|
|
179
185
|
});
|
|
180
186
|
|
|
181
187
|
export type Manifest = typeof manifest;
|
|
182
188
|
|
|
183
|
-
export const examples:
|
|
184
|
-
description: string;
|
|
185
|
-
type: string;
|
|
186
|
-
props: BrickProps<Manifest>["brick"]["props"];
|
|
187
|
-
}[] = [
|
|
189
|
+
export const examples: BrickExample<Manifest>[] = [
|
|
188
190
|
{
|
|
189
191
|
description: "Basic timeline with milestones",
|
|
190
192
|
type: "timeline",
|
|
@@ -257,8 +259,8 @@ export const examples: {
|
|
|
257
259
|
},
|
|
258
260
|
],
|
|
259
261
|
layout: "alternating",
|
|
260
|
-
colorPreset: { color: "
|
|
261
|
-
connectorColor: { color: "
|
|
262
|
+
colorPreset: { color: "primary-500" },
|
|
263
|
+
connectorColor: { color: "primary-300" },
|
|
262
264
|
itemSpacing: "3rem",
|
|
263
265
|
},
|
|
264
266
|
},
|
|
@@ -385,8 +387,8 @@ export const examples: {
|
|
|
385
387
|
},
|
|
386
388
|
],
|
|
387
389
|
layout: "right",
|
|
388
|
-
colorPreset: { color: "
|
|
389
|
-
border: { width: "border", color: "
|
|
390
|
+
colorPreset: { color: "secondary-500" },
|
|
391
|
+
border: { width: "border", color: "secondary-200" },
|
|
390
392
|
rounding: "rounded-lg",
|
|
391
393
|
padding: "2rem",
|
|
392
394
|
},
|
|
@@ -429,13 +431,13 @@ export const examples: {
|
|
|
429
431
|
description: "Create comprehensive usage documentation",
|
|
430
432
|
},
|
|
431
433
|
],
|
|
432
|
-
colorPreset: { color: "
|
|
434
|
+
colorPreset: { color: "secondary-500" },
|
|
433
435
|
shadow: "shadow-lg",
|
|
434
436
|
border: { width: "border", color: "purple-200" },
|
|
435
437
|
rounding: "rounded-xl",
|
|
436
438
|
padding: "2.5rem",
|
|
437
439
|
itemSpacing: "2.5rem",
|
|
438
|
-
connectorColor: { color: "
|
|
440
|
+
connectorColor: { color: "secondary-300" },
|
|
439
441
|
},
|
|
440
442
|
},
|
|
441
443
|
];
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { defineBrickManifest } from "~/shared/brick-manifest";
|
|
2
2
|
import { defineProps } from "../props/helpers";
|
|
3
3
|
import { RxVideo } from "react-icons/rx";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import { borderRef, roundingRef } from "../props/border";
|
|
7
|
-
import { shadowRef } from "../props/effects";
|
|
4
|
+
import { border, rounding } from "../props/border";
|
|
5
|
+
import { shadow } from "../props/effects";
|
|
8
6
|
import { Type } from "@sinclair/typebox";
|
|
9
|
-
import {
|
|
7
|
+
import { cssLength } from "../props/css-length";
|
|
8
|
+
import type { BrickExample } from "./_types";
|
|
10
9
|
|
|
11
10
|
export const manifest = defineBrickManifest({
|
|
12
11
|
type: "video",
|
|
@@ -31,7 +30,8 @@ export const manifest = defineBrickManifest({
|
|
|
31
30
|
desktop: 360, // 16:9 aspect ratio
|
|
32
31
|
},
|
|
33
32
|
props: defineProps({
|
|
34
|
-
url:
|
|
33
|
+
url: Type.String({
|
|
34
|
+
title: "Video URL",
|
|
35
35
|
description:
|
|
36
36
|
"URL of the video to embed. It can be a YouTube link or an embed link. It also supports Vimeo and Wistia links.",
|
|
37
37
|
default: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
@@ -41,7 +41,7 @@ export const manifest = defineBrickManifest({
|
|
|
41
41
|
},
|
|
42
42
|
}),
|
|
43
43
|
padding: Type.Optional(
|
|
44
|
-
|
|
44
|
+
cssLength({
|
|
45
45
|
description: "Padding inside the video player.",
|
|
46
46
|
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
47
47
|
title: "Padding",
|
|
@@ -51,22 +51,18 @@ export const manifest = defineBrickManifest({
|
|
|
51
51
|
}),
|
|
52
52
|
),
|
|
53
53
|
rounding: Type.Optional(
|
|
54
|
-
|
|
54
|
+
rounding({
|
|
55
55
|
default: "rounded-md",
|
|
56
56
|
}),
|
|
57
57
|
),
|
|
58
|
-
border: Type.Optional(
|
|
59
|
-
shadow: Type.Optional(
|
|
58
|
+
border: Type.Optional(border()),
|
|
59
|
+
shadow: Type.Optional(shadow()),
|
|
60
60
|
}),
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
export type Manifest = typeof manifest;
|
|
64
64
|
|
|
65
|
-
export const examples:
|
|
66
|
-
description: string;
|
|
67
|
-
type: string;
|
|
68
|
-
props: BrickProps<Manifest>["brick"]["props"];
|
|
69
|
-
}[] = [
|
|
65
|
+
export const examples: BrickExample<Manifest>[] = [
|
|
70
66
|
{
|
|
71
67
|
description: "A YouTube video",
|
|
72
68
|
type: "video",
|