@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,103 +0,0 @@
|
|
|
1
|
-
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
pageSchema
|
|
5
|
-
} from "./chunk-4WI23M7W.js";
|
|
6
|
-
import {
|
|
7
|
-
toLLMSchema
|
|
8
|
-
} from "./chunk-BW6EFRSF.js";
|
|
9
|
-
import {
|
|
10
|
-
StringEnum
|
|
11
|
-
} from "./chunk-JK2FWFJU.js";
|
|
12
|
-
|
|
13
|
-
// src/shared/sitemap.ts
|
|
14
|
-
import { Type } from "@sinclair/typebox";
|
|
15
|
-
var sitemapPageEntry = Type.Pick(pageSchema, ["id", "label", "path", "attributes"]);
|
|
16
|
-
var sectionsPlanSchema = Type.Array(
|
|
17
|
-
Type.Object(
|
|
18
|
-
{
|
|
19
|
-
id: Type.String({
|
|
20
|
-
title: "Section ID",
|
|
21
|
-
examples: ["header-section", "hero-section", "features-section"],
|
|
22
|
-
format: "slug"
|
|
23
|
-
}),
|
|
24
|
-
name: Type.String({ title: "Section name", examples: ["Header", "Hero", "Features"] }),
|
|
25
|
-
description: Type.String({
|
|
26
|
-
title: "A long description of the section",
|
|
27
|
-
description: `You must elaborate a clear and detailled plan that describes:
|
|
28
|
-
- The section purpose in the page, in detail.
|
|
29
|
-
- The section structure, look & feel, and structural/design organization, in detail
|
|
30
|
-
- the types of bricks (e.g. "container", "text", "video", "carousel", etc) that will be used and their purpose, in detail
|
|
31
|
-
|
|
32
|
-
IMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,
|
|
33
|
-
examples: [
|
|
34
|
-
"This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.",
|
|
35
|
-
"This section should contain a `hero` text and an `image`."
|
|
36
|
-
]
|
|
37
|
-
})
|
|
38
|
-
},
|
|
39
|
-
{ additionalProperties: false }
|
|
40
|
-
),
|
|
41
|
-
{
|
|
42
|
-
title: "Sections plan",
|
|
43
|
-
description: "A plan for the sections of the page. Used to generate the page content.",
|
|
44
|
-
examples: [
|
|
45
|
-
[
|
|
46
|
-
{
|
|
47
|
-
id: "header-section",
|
|
48
|
-
name: "Header",
|
|
49
|
-
description: "This section only contains a header brick"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
id: "hero-section",
|
|
53
|
-
name: "Hero",
|
|
54
|
-
description: "This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally."
|
|
55
|
-
}
|
|
56
|
-
]
|
|
57
|
-
]
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
var sitemapEntry = Type.Composite(
|
|
61
|
-
[
|
|
62
|
-
sitemapPageEntry,
|
|
63
|
-
Type.Object({
|
|
64
|
-
status: Type.Optional(
|
|
65
|
-
StringEnum(["draft", "published"], {
|
|
66
|
-
title: "Page status",
|
|
67
|
-
enumNames: ["Draft", "Published"],
|
|
68
|
-
default: "draft",
|
|
69
|
-
"ai:hidden": true,
|
|
70
|
-
description: "The status of the page. Can be draft or published. [AI instructions: Dont generate this.]",
|
|
71
|
-
"ai:instructions": "Upsie: Never generate this optional field."
|
|
72
|
-
})
|
|
73
|
-
)
|
|
74
|
-
})
|
|
75
|
-
],
|
|
76
|
-
{
|
|
77
|
-
description: "Pages map. The complete list of site pages & their metadata",
|
|
78
|
-
additionalProperties: false
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
var sitemapSchema = Type.Array(sitemapEntry);
|
|
82
|
-
var sitemapSchemaLLM = toLLMSchema(
|
|
83
|
-
Type.Array(
|
|
84
|
-
Type.Composite([
|
|
85
|
-
sitemapEntry,
|
|
86
|
-
Type.Object({
|
|
87
|
-
// Sections plan helps agents to the structure and content of the page
|
|
88
|
-
sectionsPlan: sectionsPlanSchema
|
|
89
|
-
})
|
|
90
|
-
])
|
|
91
|
-
)
|
|
92
|
-
);
|
|
93
|
-
var sitemapSchemaNoPlansLLM = toLLMSchema(sitemapSchema);
|
|
94
|
-
|
|
95
|
-
export {
|
|
96
|
-
sitemapPageEntry,
|
|
97
|
-
sectionsPlanSchema,
|
|
98
|
-
sitemapEntry,
|
|
99
|
-
sitemapSchema,
|
|
100
|
-
sitemapSchemaLLM,
|
|
101
|
-
sitemapSchemaNoPlansLLM
|
|
102
|
-
};
|
|
103
|
-
//# sourceMappingURL=chunk-6E42XWFH.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/sitemap.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { pageSchema } from \"./page\";\nimport { toLLMSchema } from \"./utils/llm\";\n\nexport const sitemapPageEntry = Type.Pick(pageSchema, [\"id\", \"label\", \"path\", \"attributes\"]);\nexport type SitemapPageEntry = Static<typeof sitemapPageEntry>;\n\nexport const sectionsPlanSchema = Type.Array(\n Type.Object(\n {\n id: Type.String({\n title: \"Section ID\",\n examples: [\"header-section\", \"hero-section\", \"features-section\"],\n format: \"slug\",\n }),\n name: Type.String({ title: \"Section name\", examples: [\"Header\", \"Hero\", \"Features\"] }),\n description: Type.String({\n title: \"A long description of the section\",\n description: `You must elaborate a clear and detailled plan that describes:\n- The section purpose in the page, in detail.\n- The section structure, look & feel, and structural/design organization, in detail\n- the types of bricks (e.g. \"container\", \"text\", \"video\", \"carousel\", etc) that will be used and their purpose, in detail\n\nIMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,\n\n examples: [\n \"This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.\",\n \"This section should contain a `hero` text and an `image`.\",\n ],\n }),\n },\n { additionalProperties: false },\n ),\n {\n title: \"Sections plan\",\n description: \"A plan for the sections of the page. Used to generate the page content.\",\n examples: [\n [\n {\n id: \"header-section\",\n name: \"Header\",\n description: \"This section only contains a header brick\",\n },\n {\n id: \"hero-section\",\n name: \"Hero\",\n description:\n \"This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally.\",\n },\n ],\n ],\n },\n);\n\nexport const sitemapEntry = Type.Composite(\n [\n sitemapPageEntry,\n Type.Object({\n status: Type.Optional(\n StringEnum([\"draft\", \"published\"], {\n title: \"Page status\",\n enumNames: [\"Draft\", \"Published\"],\n default: \"draft\",\n \"ai:hidden\": true,\n description:\n \"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]\",\n \"ai:instructions\": \"Upsie: Never generate this optional field.\",\n }),\n ),\n }),\n ],\n {\n description: \"Pages map. The complete list of site pages & their metadata\",\n additionalProperties: false,\n },\n);\n\nexport const sitemapSchema = Type.Array(sitemapEntry);\nexport type Sitemap = Static<typeof sitemapSchema>;\n\nexport const sitemapSchemaLLM = toLLMSchema(\n Type.Array(\n Type.Composite([\n sitemapEntry,\n Type.Object({\n // Sections plan helps agents to the structure and content of the page\n sectionsPlan: sectionsPlanSchema,\n }),\n ]),\n ),\n);\n\nexport const sitemapSchemaNoPlansLLM = toLLMSchema(sitemapSchema);\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,YAAyB;AAK3B,IAAM,mBAAmB,KAAK,KAAK,YAAY,CAAC,MAAM,SAAS,QAAQ,YAAY,CAAC;AAGpF,IAAM,qBAAqB,KAAK;AAAA,EACrC,KAAK;AAAA,IACH;AAAA,MACE,IAAI,KAAK,OAAO;AAAA,QACd,OAAO;AAAA,QACP,UAAU,CAAC,kBAAkB,gBAAgB,kBAAkB;AAAA,QAC/D,QAAQ;AAAA,MACV,CAAC;AAAA,MACD,MAAM,KAAK,OAAO,EAAE,OAAO,gBAAgB,UAAU,CAAC,UAAU,QAAQ,UAAU,EAAE,CAAC;AAAA,MACrF,aAAa,KAAK,OAAO;AAAA,QACvB,OAAO;AAAA,QACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOb,UAAU;AAAA,UACR;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,UAAU;AAAA,MACR;AAAA,QACE;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,eAAe,KAAK;AAAA,EAC/B;AAAA,IACE;AAAA,IACA,KAAK,OAAO;AAAA,MACV,QAAQ,KAAK;AAAA,QACX,WAAW,CAAC,SAAS,WAAW,GAAG;AAAA,UACjC,OAAO;AAAA,UACP,WAAW,CAAC,SAAS,WAAW;AAAA,UAChC,SAAS;AAAA,UACT,aAAa;AAAA,UACb,aACE;AAAA,UACF,mBAAmB;AAAA,QACrB,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAEO,IAAM,gBAAgB,KAAK,MAAM,YAAY;AAG7C,IAAM,mBAAmB;AAAA,EAC9B,KAAK;AAAA,IACH,KAAK,UAAU;AAAA,MACb;AAAA,MACA,KAAK,OAAO;AAAA;AAAA,QAEV,cAAc;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAEO,IAAM,0BAA0B,YAAY,aAAa;","names":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// src/shared/utils/typed-ref.ts
|
|
5
|
-
import { Type } from "@sinclair/typebox";
|
|
6
|
-
function typedRef(id, options = {}) {
|
|
7
|
-
return Type.Ref(id, { ...options });
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export {
|
|
11
|
-
typedRef
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=chunk-A2QPY54H.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/utils/typed-ref.ts"],"sourcesContent":["import { type SchemaOptions, TSchema, Type, TypeRegistry } from \"@sinclair/typebox\";\nimport type { alignItems, alignSelf, justifyContent } from \"../bricks/props/align\";\nimport type { background, backgroundColor } from \"../bricks/props/background\";\nimport type { border, rounding } from \"../bricks/props/border\";\nimport type { borderColor, color } from \"../bricks/props/color\";\nimport type { hidden } from \"../bricks/props/common\";\nimport type { cssLength } from \"../bricks/props/css-length\";\nimport type { shadow, textShadow } from \"../bricks/props/effects\";\nimport type { fontSize, fontSizeXL, textContent } from \"../bricks/props/text\";\nimport type { icon, urlOrPageId } from \"../bricks/props/string\";\nimport type { colorPreset } from \"../bricks/props/color-preset\";\nimport type { image } from \"../bricks/props/image\";\nimport type { direction } from \"../bricks/props/direction\";\nimport type { loop, queryUse } from \"../bricks/props/dynamic\";\nimport type { tags } from \"../bricks/props/tags\";\n\nexport interface SchemaTypeMap {\n \"styles:background\": ReturnType<typeof background>;\n \"styles:backgroundColor\": ReturnType<typeof backgroundColor>;\n \"styles:justifyContent\": ReturnType<typeof justifyContent>;\n \"styles:alignItems\": ReturnType<typeof alignItems>;\n \"styles:alignSelf\": ReturnType<typeof alignSelf>;\n \"styles:fontSize\": ReturnType<typeof fontSize>;\n \"styles:fontSizeXL\": ReturnType<typeof fontSizeXL>;\n \"styles:hidden\": ReturnType<typeof hidden>;\n \"styles:border\": ReturnType<typeof border>;\n \"styles:color\": ReturnType<typeof color>;\n \"styles:borderColor\": ReturnType<typeof borderColor>;\n \"styles:direction\": ReturnType<typeof direction>;\n \"styles:shadow\": ReturnType<typeof shadow>;\n \"styles:textShadow\": ReturnType<typeof textShadow>;\n \"styles:cssLength\": ReturnType<typeof cssLength>;\n \"styles:rounding\": ReturnType<typeof rounding>;\n \"presets:color\": ReturnType<typeof colorPreset>;\n \"assets:image\": ReturnType<typeof image>;\n \"content:text\": ReturnType<typeof textContent>;\n \"content:urlOrPageId\": ReturnType<typeof urlOrPageId>;\n \"content:loop\": ReturnType<typeof loop>;\n \"content:queryUse\": ReturnType<typeof queryUse>;\n \"assets:icon\": ReturnType<typeof icon>;\n \"content:tags\": ReturnType<typeof tags>;\n\n // Add other schema mappings here\n}\n\n// Create a typed ref helper\nexport function typedRef<K extends keyof SchemaTypeMap>(\n id: K,\n options: SchemaOptions = {},\n): SchemaTypeMap[K] {\n // Force the type to be a TypeBox type\n return Type.Ref(id, { ...options }) as unknown as SchemaTypeMap[K];\n}\n"],"mappings":";;;;AAAA,SAAsC,YAA0B;AA8CzD,SAAS,SACd,IACA,UAAyB,CAAC,GACR;AAElB,SAAO,KAAK,IAAI,IAAI,EAAE,GAAG,QAAQ,CAAC;AACpC;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/manifests/tabs.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { Type } from \"@sinclair/typebox\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { shadowRef } from \"../props/effects\";\nimport type { BrickProps } from \"../props/types\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport { HiOutlineViewColumns } from \"react-icons/hi2\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { loopRef } from \"../props/dynamic\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\n\n// Tab configuration schema\nconst tabRef = Type.Object({\n label: Type.String({\n title: \"Tab Label\",\n description: \"The text shown on the tab button\",\n \"ai:instructions\": \"Use a short, descriptive label for the tab\",\n }),\n id: Type.Optional(\n Type.String({\n title: \"Tab ID\",\n description: \"Unique identifier for the tab (auto-generated if not provided)\",\n }),\n ),\n});\n\nexport const manifest = defineBrickManifest({\n type: \"tabs\",\n category: \"container\",\n name: \"Tabs\",\n description: \"A tabbed container that displays different content panels based on the selected tab.\",\n aiInstructions:\n \"Tabs are containers for organizing content into multiple panels. Each tab has a label and contains child bricks. Users can click tab buttons to switch between different content panels. Ideal for organizing related content, settings panels, or product information.\",\n isContainer: true,\n defaultWidth: {\n desktop: \"100%\",\n mobile: \"100%\",\n },\n defaultHeight: {\n desktop: \"auto\",\n },\n icon: HiOutlineViewColumns,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n tabs: Type.Array(tabRef, {\n title: \"Tabs\",\n description: \"List of tab configurations\",\n default: [{ label: \"Tab 1\" }, { label: \"Tab 2\" }],\n \"ai:instructions\":\n \"Each tab should have a descriptive label. Content for each tab is defined in the $children array.\",\n examples: [\n [{ label: \"Overview\" }, { label: \"Features\" }, { label: \"Pricing\" }],\n [{ label: \"About\" }, { label: \"Services\" }, { label: \"Contact\" }],\n ],\n }),\n defaultTab: Type.Optional(\n Type.Number({\n title: \"Default Tab\",\n description: \"Index of the tab to show by default (0-based)\",\n default: 0,\n minimum: 0,\n \"ai:instructions\": \"Use 0 for the first tab, 1 for the second tab, etc.\",\n }),\n ),\n tabPosition: Type.Optional(\n StringEnum([\"top\", \"bottom\"], {\n title: \"Tab Position\",\n description: \"Position of the tab buttons relative to content\",\n default: \"top\",\n \"ai:instructions\":\n \"Use 'top' for tabs above content (most common) or 'bottom' for tabs below content\",\n }),\n ),\n tabStyle: Type.Optional(\n StringEnum([\"pills\", \"underline\", \"bordered\"], {\n title: \"Tab Style\",\n description: \"Visual style of the tab buttons\",\n default: \"underline\",\n \"ai:instructions\":\n \"Pills are rounded buttons, underline shows a line under active tab, bordered shows tabs with borders\",\n }),\n ),\n fullWidth: Type.Optional(\n Type.Boolean({\n title: \"Full Width Tabs\",\n description: \"Make tab buttons span the full width of the container\",\n default: false,\n \"ai:instructions\": \"Enable this to make tab buttons evenly distribute across the full width\",\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"1.5rem\",\n description: \"Padding inside each tab panel.\",\n \"ai:instructions\": \"Use values like '1rem', '1.5rem', or '2rem' for tab content padding\",\n title: \"Content Padding\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n gap: Type.Optional(\n cssLengthRef({\n title: \"Tab Gap\",\n default: \"0.5rem\",\n description: \"Gap between tab buttons.\",\n \"ai:instructions\": \"Small values like '0.25rem' or '0.5rem' work best for tab spacing\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n loop: Type.Optional(loopRef()),\n $children: Type.Array(Type.Array(Type.Any()), {\n \"ui:field\": \"hidden\",\n description: \"Array of child brick arrays - each sub-array represents the content for one tab\",\n default: [[], []],\n examples: [\n [\n // Tab 1 content\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Overview</h3><p>This is the overview tab content.</p>\",\n },\n },\n ],\n // Tab 2 content\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Features</h3><p>Here are our key features.</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Learn More\",\n link: \"/features\",\n },\n },\n ],\n ],\n ],\n }),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"Simple tabs with basic content in each panel\",\n type: \"tabs\",\n props: {\n tabs: [{ label: \"About\" }, { label: \"Services\" }, { label: \"Contact\" }],\n defaultTab: 0,\n tabStyle: \"underline\",\n $children: [\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>About Us</h3><p>We are a company focused on delivering exceptional results.</p>\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Our Services</h3><p>We offer a wide range of professional services.</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"View All Services\",\n link: \"/services\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Contact Information</h3><p>Email: hello@company.com</p><p>Phone: (555) 123-4567</p>\",\n },\n },\n ],\n ],\n },\n },\n {\n description: \"Product information tabs with pills style and custom styling\",\n type: \"tabs\",\n props: {\n tabs: [{ label: \"Overview\" }, { label: \"Specifications\" }, { label: \"Reviews\" }, { label: \"Support\" }],\n defaultTab: 0,\n tabStyle: \"pills\",\n fullWidth: true,\n colorPreset: {\n color: \"primary-50\",\n },\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n rounding: \"rounded-lg\",\n padding: \"2rem\",\n $children: [\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Product Overview</h3><p>This product revolutionizes the way you work.</p>\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/400x200\",\n alt: \"Product image\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n '<h3>Technical Specifications</h3><ul><li>Weight: 2.5 lbs</li><li>Dimensions: 12\" x 8\" x 2\"</li><li>Battery: 8 hours</li></ul>',\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n '<h3>Customer Reviews</h3><p>★★★★★ \"Amazing product, highly recommend!\"</p><p>★★★★☆ \"Great value for money.\"</p>',\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Support</h3><p>Need help? Contact our support team.</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Contact Support\",\n link: \"/support\",\n },\n },\n ],\n ],\n },\n },\n {\n description: \"Portfolio sections with bordered tabs\",\n type: \"tabs\",\n props: {\n tabs: [{ label: \"Web Design\" }, { label: \"Mobile Apps\" }, { label: \"Branding\" }],\n defaultTab: 0,\n tabStyle: \"bordered\",\n shadow: \"shadow-md\",\n rounding: \"rounded-xl\",\n $children: [\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Web Design Projects</h3><p>Beautiful, responsive websites that convert.</p>\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/600x300\",\n alt: \"Web design portfolio\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Mobile Applications</h3><p>Native and cross-platform mobile solutions.</p>\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/300x500\",\n alt: \"Mobile app portfolio\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Brand Identity</h3><p>Comprehensive branding solutions for modern businesses.</p>\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/500x400\",\n alt: \"Branding portfolio\",\n },\n },\n ],\n ],\n },\n },\n {\n description: \"FAQ sections with bottom-positioned tabs\",\n type: \"tabs\",\n props: {\n tabs: [{ label: \"General\" }, { label: \"Billing\" }, { label: \"Technical\" }],\n defaultTab: 0,\n tabPosition: \"bottom\",\n tabStyle: \"underline\",\n padding: \"1.5rem\",\n $children: [\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>General Questions</h3><p><strong>What is your company about?</strong></p><p>We provide excellent services to our customers.</p><p><strong>Where are you located?</strong></p><p>We have offices worldwide.</p>\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Billing Questions</h3><p><strong>How does billing work?</strong></p><p>We bill monthly based on usage.</p><p><strong>Can I change my plan?</strong></p><p>Yes, you can upgrade or downgrade anytime.</p>\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Technical Support</h3><p><strong>How do I reset my password?</strong></p><p>Use the forgot password link on the login page.</p><p><strong>Is there an API?</strong></p><p>Yes, we have a comprehensive REST API.</p>\",\n },\n },\n ],\n ],\n },\n },\n {\n description: \"Team member profiles using teamMembers query with dynamic tabs\",\n type: \"tabs\",\n props: {\n loop: {\n over: \"teamMembers\",\n },\n tabs: [{ label: \"{{teamMembers.name}}\" }],\n tabStyle: \"pills\",\n fullWidth: false,\n colorPreset: {\n color: \"secondary-100\",\n },\n padding: \"2rem\",\n $children: [\n [\n {\n type: \"image\",\n props: {\n src: \"{{teamMembers.photo}}\",\n alt: \"{{teamMembers.name}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{teamMembers.name}}</h3><p><strong>{{teamMembers.position}}</strong></p><p>{{teamMembers.bio}}</p><p>Email: {{teamMembers.email}}</p>\",\n },\n },\n ],\n ],\n },\n },\n {\n description: \"Product categories using productCategories query\",\n type: \"tabs\",\n props: {\n loop: {\n over: \"productCategories\",\n },\n tabs: [{ label: \"{{productCategories.categoryName}}\" }],\n tabStyle: \"bordered\",\n fullWidth: true,\n border: {\n width: \"border-2\",\n color: \"border-primary-300\",\n },\n rounding: \"rounded-lg\",\n shadow: \"shadow-lg\",\n $children: [\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{productCategories.categoryName}}</h3><p>{{productCategories.description}}</p><p>{{productCategories.productCount}} products available</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Browse {{productCategories.categoryName}}\",\n link: \"/products/{{productCategories.slug}}\",\n },\n },\n ],\n ],\n },\n },\n {\n description: \"Service packages with pricing information\",\n type: \"tabs\",\n props: {\n tabs: [{ label: \"Basic\" }, { label: \"Professional\" }, { label: \"Enterprise\" }],\n defaultTab: 1,\n tabStyle: \"pills\",\n fullWidth: true,\n colorPreset: {\n color: \"accent-50\",\n },\n border: {\n width: \"border\",\n color: \"border-accent-200\",\n },\n rounding: \"rounded-xl\",\n shadow: \"shadow-md\",\n padding: \"2.5rem\",\n $children: [\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Basic Package</h3><p><strong>$99/month</strong></p><ul><li>5 Projects</li><li>10GB Storage</li><li>Email Support</li></ul>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Choose Basic\",\n link: \"/pricing/basic\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Professional Package</h3><p><strong>$199/month</strong></p><ul><li>25 Projects</li><li>100GB Storage</li><li>Priority Support</li><li>Advanced Analytics</li></ul>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Choose Professional\",\n link: \"/pricing/professional\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Enterprise Package</h3><p><strong>$499/month</strong></p><ul><li>Unlimited Projects</li><li>1TB Storage</li><li>24/7 Phone Support</li><li>Custom Integrations</li><li>Dedicated Account Manager</li></ul>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Contact Sales\",\n link: \"/contact/enterprise\",\n },\n },\n ],\n ],\n },\n },\n {\n description: \"Documentation sections with technical content\",\n type: \"tabs\",\n props: {\n tabs: [\n { label: \"Getting Started\" },\n { label: \"API Reference\" },\n { label: \"Examples\" },\n { label: \"Troubleshooting\" },\n ],\n defaultTab: 0,\n tabStyle: \"underline\",\n tabPosition: \"top\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"neutral-50\",\n },\n $children: [\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Getting Started</h3><p>Welcome to our platform! Here's how to get started:</p><ol><li>Create an account</li><li>Set up your first project</li><li>Invite team members</li></ol>\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>API Reference</h3><p>Our REST API provides programmatic access to all features:</p><pre>GET /api/v1/projects</pre><pre>POST /api/v1/projects</pre>\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Code Examples</h3><p>Here are some common use cases:</p><pre>curl -X GET https://api.example.com/projects</pre>\",\n },\n },\n ],\n [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>Troubleshooting</h3><p><strong>Issue:</strong> Cannot connect to API</p><p><strong>Solution:</strong> Check your API key and network connection.</p>\",\n },\n },\n ],\n ],\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/props/css-length.ts"],"sourcesContent":["import { type Static, Type, type StringOptions } from \"@sinclair/typebox\";\nimport { typedRef } from \"~/shared/utils/typed-ref\";\n\nexport const cssUnits = [\"px\", \"%\", \"em\", \"rem\", \"vh\", \"vw\", \"dvh\", \"dvw\", \"rlh\", \"lh\", \"cqh\", \"cqw\"];\n\nexport function cssLength(options: StringOptions = {}) {\n return Type.String({\n title: \"Length\",\n // $id: \"styles:cssLength\",\n description: `A CSS length value. Must be a number with a unit (e.g. \"10px\", \"50%\"). The unit can be one of the following: ${cssUnits?.join(\", \")}.`,\n default: options.default,\n \"ui:field\": \"css-length\",\n \"ui:css-units\": cssUnits,\n examples: [\"100px\", \"50%\", \"2em\", \"1.5rem\"],\n ...options,\n });\n}\n\nexport type CssLength = Static<ReturnType<typeof cssLength>>;\n\nexport function cssLengthRef(options: StringOptions = {}) {\n return typedRef(\"styles:cssLength\", options);\n}\n\nexport function isCssLength(value: string | number | undefined): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n // Check if the value is something like a number + a css unit (e.g., \"20px\", \"50%\")\n const cssLengthPattern = new RegExp(`^-?\\\\d+(?:\\\\.\\\\d+)?\\\\s*(${cssUnits.join(\"|\")})$`);\n return cssLengthPattern.test(value);\n}\n"],"mappings":";;;;;;;AAAA,SAAsB,YAAgC;AAG/C,IAAM,WAAW,CAAC,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,KAAK;AAE7F,SAAS,UAAU,UAAyB,CAAC,GAAG;AACrD,SAAO,KAAK,OAAO;AAAA,IACjB,OAAO;AAAA;AAAA,IAEP,aAAa,gHAAgH,UAAU,KAAK,IAAI,CAAC;AAAA,IACjJ,SAAS,QAAQ;AAAA,IACjB,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU,CAAC,SAAS,OAAO,OAAO,QAAQ;AAAA,IAC1C,GAAG;AAAA,EACL,CAAC;AACH;AAIO,SAAS,aAAa,UAAyB,CAAC,GAAG;AACxD,SAAO,SAAS,oBAAoB,OAAO;AAC7C;AAEO,SAAS,YAAY,OAA6C;AACvE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,mBAAmB,IAAI,OAAO,2BAA2B,SAAS,KAAK,GAAG,CAAC,IAAI;AACrF,SAAO,iBAAiB,KAAK,KAAK;AACpC;","names":[]}
|