@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
|
@@ -4,34 +4,31 @@ import {
|
|
|
4
4
|
datarecord
|
|
5
5
|
} from "./chunk-HPCCD6V5.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} from "./chunk-BHC2A43S.js";
|
|
10
|
-
import {
|
|
11
|
-
defineBrickManifest
|
|
12
|
-
} from "./chunk-TB3X4LRQ.js";
|
|
7
|
+
direction
|
|
8
|
+
} from "./chunk-WPZV3LYL.js";
|
|
13
9
|
import {
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
border,
|
|
11
|
+
rounding
|
|
12
|
+
} from "./chunk-SRYBJ6NQ.js";
|
|
16
13
|
import {
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
defineProps,
|
|
15
|
+
group
|
|
16
|
+
} from "./chunk-VTCHJT4O.js";
|
|
19
17
|
import {
|
|
20
|
-
|
|
21
|
-
} from "./chunk-
|
|
18
|
+
fontSize
|
|
19
|
+
} from "./chunk-2U5U3CCJ.js";
|
|
22
20
|
import {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
} from "./chunk-NTLAKMMQ.js";
|
|
21
|
+
cssLength
|
|
22
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
26
23
|
import {
|
|
27
|
-
|
|
28
|
-
} from "./chunk-
|
|
24
|
+
colorPreset
|
|
25
|
+
} from "./chunk-IEMCCHM4.js";
|
|
29
26
|
import {
|
|
30
|
-
|
|
31
|
-
} from "./chunk-
|
|
27
|
+
defineBrickManifest
|
|
28
|
+
} from "./chunk-J45LSQT6.js";
|
|
32
29
|
import {
|
|
33
30
|
StringEnum
|
|
34
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-GDYCCB3B.js";
|
|
35
32
|
|
|
36
33
|
// src/shared/bricks/manifests/form.manifest.ts
|
|
37
34
|
import { Type } from "@sinclair/typebox";
|
|
@@ -40,8 +37,43 @@ var manifest = defineBrickManifest({
|
|
|
40
37
|
type: "form",
|
|
41
38
|
name: "Form",
|
|
42
39
|
description: "A form element.",
|
|
43
|
-
aiInstructions: `
|
|
44
|
-
|
|
40
|
+
aiInstructions: `PURPOSE
|
|
41
|
+
Dynamic form generator. Fields are inferred from the referenced datarecord schema (datarecordId). You NEVER list fields manually and the form does not accept children.
|
|
42
|
+
|
|
43
|
+
REQUIRED
|
|
44
|
+
\u2022 datarecordId must reference an existing datarecord definition.
|
|
45
|
+
|
|
46
|
+
COLOR & STYLE
|
|
47
|
+
\u2022 Optional colorPreset sets background + text. If omitted the form inherits parent background.
|
|
48
|
+
\u2022 Allowed tokens: primary-/secondary-/accent-/neutral-/base-*** (and gradient variants). Do NOT invent success, warning, danger, info, etc. Map them (success->secondary or primary; warning->accent; danger->accent/primary).
|
|
49
|
+
\u2022 Use rounding + border + padding for emphasis. Keep padding modest (1\u20133rem) unless it's a feature form hero (max ~4rem).
|
|
50
|
+
|
|
51
|
+
LAYOUT
|
|
52
|
+
\u2022 direction controls stacking (flex-col vs flex-row). Wide multi-column layouts usually flex-row on desktop, stacked (flex-col) on mobile.
|
|
53
|
+
\u2022 Use mobileProps to reduce padding or switch direction ONLY if necessary. (If switching direction, you must repeat required props.)
|
|
54
|
+
|
|
55
|
+
BUTTON GROUP
|
|
56
|
+
\u2022 Only supply button overrides you actually change (color, size, position, rounding). Unspecified values fallback to defaults.
|
|
57
|
+
\u2022 If button.size = wide then hide position (handled by schema metadata automatically\u2014don't circumvent).
|
|
58
|
+
|
|
59
|
+
CONTENT STRINGS
|
|
60
|
+
\u2022 title, intro, buttonLabel, successMessage, errorMessage should be concise.
|
|
61
|
+
\u2022 Avoid marketing fluff inside intro beyond one short paragraph.
|
|
62
|
+
|
|
63
|
+
DYNAMIC DATA
|
|
64
|
+
\u2022 Do not interpolate inside datarecordId (it must be a static id).
|
|
65
|
+
\u2022 You MAY interpolate page queries aliases in title/intro (e.g. "Apply for {{job.title}}") if those fields exist in surrounding dataset context.
|
|
66
|
+
|
|
67
|
+
DON'TS
|
|
68
|
+
\u2717 Don't invent props.
|
|
69
|
+
\u2717 Don't add HTML tags except basic inline markup if absolutely needed (prefer plain text).
|
|
70
|
+
\u2717 Don't set impossible color tokens.
|
|
71
|
+
|
|
72
|
+
DO
|
|
73
|
+
\u2713 Keep examples lean.
|
|
74
|
+
\u2713 Use semantic color mapping guidelines.
|
|
75
|
+
\u2713 Provide accessible, human-readable labels.
|
|
76
|
+
`,
|
|
45
77
|
isContainer: false,
|
|
46
78
|
icon: FaWpforms,
|
|
47
79
|
minWidth: {
|
|
@@ -53,13 +85,13 @@ There is no need to define the form fields manually and the form does not accept
|
|
|
53
85
|
"ui:responsive": "desktop"
|
|
54
86
|
}),
|
|
55
87
|
colorPreset: Type.Optional(
|
|
56
|
-
|
|
88
|
+
colorPreset({
|
|
57
89
|
title: "Color",
|
|
58
90
|
default: "base-200"
|
|
59
91
|
})
|
|
60
92
|
),
|
|
61
93
|
direction: Type.Optional(
|
|
62
|
-
|
|
94
|
+
direction({
|
|
63
95
|
title: "Direction",
|
|
64
96
|
description: "The direction of the form fields",
|
|
65
97
|
default: "flex-col",
|
|
@@ -68,7 +100,7 @@ There is no need to define the form fields manually and the form does not accept
|
|
|
68
100
|
})
|
|
69
101
|
),
|
|
70
102
|
padding: Type.Optional(
|
|
71
|
-
|
|
103
|
+
cssLength({
|
|
72
104
|
default: "2rem",
|
|
73
105
|
description: "Padding inside the form.",
|
|
74
106
|
title: "Padding",
|
|
@@ -78,12 +110,12 @@ There is no need to define the form fields manually and the form does not accept
|
|
|
78
110
|
})
|
|
79
111
|
),
|
|
80
112
|
rounding: Type.Optional(
|
|
81
|
-
|
|
113
|
+
rounding({
|
|
82
114
|
default: "rounded-md"
|
|
83
115
|
})
|
|
84
116
|
),
|
|
85
|
-
border: Type.Optional(
|
|
86
|
-
fontSize: Type.Optional(
|
|
117
|
+
border: Type.Optional(border({})),
|
|
118
|
+
fontSize: Type.Optional(fontSize({ default: "inherit", "ui:no-extra-large-sizes": true })),
|
|
87
119
|
button: group({
|
|
88
120
|
title: "Button",
|
|
89
121
|
children: {
|
|
@@ -117,7 +149,7 @@ There is no need to define the form fields manually and the form does not accept
|
|
|
117
149
|
}
|
|
118
150
|
})
|
|
119
151
|
),
|
|
120
|
-
rounding:
|
|
152
|
+
rounding: rounding({ default: "rounded-md" })
|
|
121
153
|
}
|
|
122
154
|
}),
|
|
123
155
|
title: Type.Optional(
|
|
@@ -140,7 +172,8 @@ There is no need to define the form fields manually and the form does not accept
|
|
|
140
172
|
})
|
|
141
173
|
),
|
|
142
174
|
buttonLabel: Type.Optional(
|
|
143
|
-
|
|
175
|
+
Type.String({
|
|
176
|
+
title: "Button label",
|
|
144
177
|
default: "Submit",
|
|
145
178
|
metadata: { category: "content" }
|
|
146
179
|
})
|
|
@@ -196,6 +229,30 @@ var examples = [
|
|
|
196
229
|
}
|
|
197
230
|
}
|
|
198
231
|
},
|
|
232
|
+
{
|
|
233
|
+
description: "Responsive newsletter subscription: desktop horizontal -> mobile vertical",
|
|
234
|
+
type: "form",
|
|
235
|
+
props: {
|
|
236
|
+
title: "Stay Updated",
|
|
237
|
+
intro: "Subscribe for product news and occasional tips.",
|
|
238
|
+
direction: "flex-row",
|
|
239
|
+
datarecordId: "newsletter-subscription",
|
|
240
|
+
padding: "3rem",
|
|
241
|
+
buttonLabel: "Subscribe",
|
|
242
|
+
button: { size: "block" },
|
|
243
|
+
colorPreset: { color: "neutral-100" }
|
|
244
|
+
},
|
|
245
|
+
mobileProps: {
|
|
246
|
+
title: "Stay Updated",
|
|
247
|
+
intro: "Subscribe for product news and occasional tips.",
|
|
248
|
+
direction: "flex-col",
|
|
249
|
+
datarecordId: "newsletter-subscription",
|
|
250
|
+
padding: "2rem",
|
|
251
|
+
buttonLabel: "Subscribe",
|
|
252
|
+
button: { size: "block" },
|
|
253
|
+
colorPreset: { color: "neutral-100" }
|
|
254
|
+
}
|
|
255
|
+
},
|
|
199
256
|
{
|
|
200
257
|
description: "Newsletter subscription form (horizontal) with large padding",
|
|
201
258
|
type: "form",
|
|
@@ -211,6 +268,51 @@ var examples = [
|
|
|
211
268
|
}
|
|
212
269
|
}
|
|
213
270
|
},
|
|
271
|
+
{
|
|
272
|
+
description: "Minimal inline signup form (no background colorPreset, inherits parent)",
|
|
273
|
+
type: "form",
|
|
274
|
+
props: {
|
|
275
|
+
title: "Join Beta",
|
|
276
|
+
intro: "Access early features before public launch.",
|
|
277
|
+
direction: "flex-row",
|
|
278
|
+
datarecordId: "beta-signup",
|
|
279
|
+
buttonLabel: "Request Access",
|
|
280
|
+
button: { size: "block" },
|
|
281
|
+
padding: "1.5rem"
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
description: "Dark themed form using neutral-800 background and accent button",
|
|
286
|
+
type: "form",
|
|
287
|
+
props: {
|
|
288
|
+
title: "Feedback",
|
|
289
|
+
intro: "Tell us how we can improve the product.",
|
|
290
|
+
direction: "flex-col",
|
|
291
|
+
datarecordId: "product-feedback",
|
|
292
|
+
buttonLabel: "Send Feedback",
|
|
293
|
+
colorPreset: { color: "neutral-800" },
|
|
294
|
+
padding: "2.5rem",
|
|
295
|
+
button: { color: "btn-accent" },
|
|
296
|
+
rounding: "rounded-lg",
|
|
297
|
+
border: { width: "border", color: "border-neutral-700" }
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
description: "Gradient emphasis form (primary gradient) for event signup",
|
|
302
|
+
type: "form",
|
|
303
|
+
props: {
|
|
304
|
+
title: "Conference RSVP",
|
|
305
|
+
intro: "Reserve your seat for {{event.title}}.",
|
|
306
|
+
direction: "flex-col",
|
|
307
|
+
datarecordId: "event-registration",
|
|
308
|
+
buttonLabel: "Reserve Seat",
|
|
309
|
+
colorPreset: { color: "primary-gradient-400", gradientDirection: "bg-gradient-to-br" },
|
|
310
|
+
padding: "3rem",
|
|
311
|
+
button: { color: "btn-secondary" },
|
|
312
|
+
rounding: "rounded-xl",
|
|
313
|
+
border: { width: "border-2", color: "border-primary-300" }
|
|
314
|
+
}
|
|
315
|
+
},
|
|
214
316
|
{
|
|
215
317
|
description: "Event registration form",
|
|
216
318
|
type: "form",
|
|
@@ -238,6 +340,20 @@ var examples = [
|
|
|
238
340
|
size: "block"
|
|
239
341
|
}
|
|
240
342
|
}
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
description: "Dynamic job application (title interpolated) mapping dataset field",
|
|
346
|
+
type: "form",
|
|
347
|
+
props: {
|
|
348
|
+
title: "Apply for {{job.title}}",
|
|
349
|
+
intro: "Join our team in {{job.location}}.",
|
|
350
|
+
direction: "flex-col",
|
|
351
|
+
datarecordId: "job-application",
|
|
352
|
+
buttonLabel: "Apply Now",
|
|
353
|
+
colorPreset: { color: "secondary-100" },
|
|
354
|
+
button: { size: "block", color: "btn-primary" },
|
|
355
|
+
padding: "2rem"
|
|
356
|
+
}
|
|
241
357
|
}
|
|
242
358
|
];
|
|
243
359
|
|
|
@@ -245,4 +361,4 @@ export {
|
|
|
245
361
|
manifest,
|
|
246
362
|
examples
|
|
247
363
|
};
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
364
|
+
//# sourceMappingURL=chunk-XK2CERPB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/form.manifest.ts"],"sourcesContent":["import { type Static, Type } from \"@sinclair/typebox\";\nimport { FaWpforms } from \"react-icons/fa6\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { border, rounding } from \"../props/border\";\nimport { datarecord } from \"../props/datarecord\";\nimport { defineProps, group } from \"../props/helpers\";\nimport { fontSize } from \"../props/text\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { direction } from \"../props/direction\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"form\",\n name: \"Form\",\n description: \"A form element.\",\n aiInstructions: `PURPOSE\nDynamic form generator. Fields are inferred from the referenced datarecord schema (datarecordId). You NEVER list fields manually and the form does not accept children.\n\nREQUIRED\n• datarecordId must reference an existing datarecord definition.\n\nCOLOR & STYLE\n• Optional colorPreset sets background + text. If omitted the form inherits parent background.\n• Allowed tokens: primary-/secondary-/accent-/neutral-/base-*** (and gradient variants). Do NOT invent success, warning, danger, info, etc. Map them (success->secondary or primary; warning->accent; danger->accent/primary).\n• Use rounding + border + padding for emphasis. Keep padding modest (1–3rem) unless it's a feature form hero (max ~4rem).\n\nLAYOUT\n• direction controls stacking (flex-col vs flex-row). Wide multi-column layouts usually flex-row on desktop, stacked (flex-col) on mobile.\n• Use mobileProps to reduce padding or switch direction ONLY if necessary. (If switching direction, you must repeat required props.)\n\nBUTTON GROUP\n• Only supply button overrides you actually change (color, size, position, rounding). Unspecified values fallback to defaults.\n• If button.size = wide then hide position (handled by schema metadata automatically—don't circumvent).\n\nCONTENT STRINGS\n• title, intro, buttonLabel, successMessage, errorMessage should be concise.\n• Avoid marketing fluff inside intro beyond one short paragraph.\n\nDYNAMIC DATA\n• Do not interpolate inside datarecordId (it must be a static id).\n• You MAY interpolate page queries aliases in title/intro (e.g. \"Apply for {{job.title}}\") if those fields exist in surrounding dataset context.\n\nDON'TS\n✗ Don't invent props.\n✗ Don't add HTML tags except basic inline markup if absolutely needed (prefer plain text).\n✗ Don't set impossible color tokens.\n\nDO\n✓ Keep examples lean.\n✓ Use semantic color mapping guidelines.\n✓ Provide accessible, human-readable labels.\n`,\n isContainer: false,\n icon: FaWpforms,\n minWidth: {\n desktop: 300,\n },\n props: defineProps({\n datarecordId: datarecord(\"Datarecord ID\", {\n description: \"The ID of the datarecord to use to generate the form fields. The datarecord must exist.\",\n \"ui:responsive\": \"desktop\",\n }),\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n default: \"base-200\",\n }),\n ),\n direction: Type.Optional(\n direction({\n title: \"Direction\",\n description: \"The direction of the form fields\",\n default: \"flex-col\",\n \"ui:responsive\": \"desktop\",\n \"ui:desktop-only\": true,\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"2rem\",\n description: \"Padding inside the form.\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(\n rounding({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(border({})),\n fontSize: Type.Optional(fontSize({ default: \"inherit\", \"ui:no-extra-large-sizes\": true })),\n button: group({\n title: \"Button\",\n children: {\n color: Type.Optional(\n StringEnum([\"btn-neutral\", \"btn-primary\", \"btn-secondary\", \"btn-accent\"], {\n enumNames: [\"Neutral\", \"Primary\", \"Secondary\", \"Accent\"],\n title: \"Color\",\n default: \"btn-primary\",\n }),\n ),\n size: Type.Optional(\n StringEnum([\"block\", \"wide\"], {\n title: \"Size\",\n description: \"Button sizes.\",\n enumNames: [\"Block\", \"Wide\"],\n default: \"block\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n position: Type.Optional(\n StringEnum([\"justify-start\", \"justify-center\", \"justify-end\"], {\n title: \"Button Position\",\n description: \"The position of the button in the form\",\n enumNames: [\"Left\", \"Center\", \"Right\"],\n default: \"justify-end\",\n \"ui:responsive\": \"desktop\",\n metadata: {\n filter: (manifestProps: Manifest[\"props\"], formData: Static<Manifest[\"props\"]>) => {\n return formData.button?.size !== \"wide\";\n },\n },\n }),\n ),\n rounding: rounding({ default: \"rounded-md\" }),\n },\n }),\n\n title: Type.Optional(\n Type.String({\n title: \"Form title\",\n default: \"My form\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n intro: Type.Optional(\n Type.String({\n title: \"Intro\",\n description: \"The intro text of the form\",\n \"ui:multiline\": true,\n metadata: {\n category: \"content\",\n },\n }),\n ),\n buttonLabel: Type.Optional(\n Type.String({\n title: \"Button label\",\n default: \"Submit\",\n metadata: { category: \"content\" },\n }),\n ),\n successMessage: Type.Optional(\n Type.String({\n title: \"Success Message\",\n description: \"The message to display when the form is successfully submitted\",\n default: \"Thank you for your submission!\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n errorMessage: Type.Optional(\n Type.String({\n title: \"Error Message\",\n description: \"The message to display when the form submission fails\",\n default: \"There was an error submitting the form. Please try again later.\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Basic contact form\",\n type: \"form\",\n props: {\n title: \"Contact Us\",\n intro: \"We'd love to hear from you. Send us a message and we'll respond as soon as possible.\",\n direction: \"flex-row\",\n datarecordId: \"contacts\",\n buttonLabel: \"Send Message\",\n button: {\n size: \"block\",\n },\n },\n },\n {\n description: \"User registration form with large button\",\n type: \"form\",\n props: {\n title: \"Create Account\",\n intro: \"Join our platform and start your journey today.\",\n direction: \"flex-row\",\n datarecordId: \"user-registration\",\n buttonLabel: \"Register\",\n button: {\n size: \"wide\",\n },\n },\n },\n {\n description: \"Responsive newsletter subscription: desktop horizontal -> mobile vertical\",\n type: \"form\",\n props: {\n title: \"Stay Updated\",\n intro: \"Subscribe for product news and occasional tips.\",\n direction: \"flex-row\",\n datarecordId: \"newsletter-subscription\",\n padding: \"3rem\",\n buttonLabel: \"Subscribe\",\n button: { size: \"block\" },\n colorPreset: { color: \"neutral-100\" },\n },\n mobileProps: {\n title: \"Stay Updated\",\n intro: \"Subscribe for product news and occasional tips.\",\n direction: \"flex-col\",\n datarecordId: \"newsletter-subscription\",\n padding: \"2rem\",\n buttonLabel: \"Subscribe\",\n button: { size: \"block\" },\n colorPreset: { color: \"neutral-100\" },\n },\n },\n {\n description: \"Newsletter subscription form (horizontal) with large padding\",\n type: \"form\",\n props: {\n title: \"Stay Updated\",\n intro: \"Subscribe to our newsletter for the latest updates and exclusive content.\",\n direction: \"flex-col\",\n datarecordId: \"newsletter-subscription\",\n padding: \"3rem\",\n buttonLabel: \"Subscribe\",\n button: {\n size: \"block\",\n },\n },\n },\n {\n description: \"Minimal inline signup form (no background colorPreset, inherits parent)\",\n type: \"form\",\n props: {\n title: \"Join Beta\",\n intro: \"Access early features before public launch.\",\n direction: \"flex-row\",\n datarecordId: \"beta-signup\",\n buttonLabel: \"Request Access\",\n button: { size: \"block\" },\n padding: \"1.5rem\",\n },\n },\n {\n description: \"Dark themed form using neutral-800 background and accent button\",\n type: \"form\",\n props: {\n title: \"Feedback\",\n intro: \"Tell us how we can improve the product.\",\n direction: \"flex-col\",\n datarecordId: \"product-feedback\",\n buttonLabel: \"Send Feedback\",\n colorPreset: { color: \"neutral-800\" },\n padding: \"2.5rem\",\n button: { color: \"btn-accent\" },\n rounding: \"rounded-lg\",\n border: { width: \"border\", color: \"border-neutral-700\" },\n },\n },\n {\n description: \"Gradient emphasis form (primary gradient) for event signup\",\n type: \"form\",\n props: {\n title: \"Conference RSVP\",\n intro: \"Reserve your seat for {{event.title}}.\",\n direction: \"flex-col\",\n datarecordId: \"event-registration\",\n buttonLabel: \"Reserve Seat\",\n colorPreset: { color: \"primary-gradient-400\", gradientDirection: \"bg-gradient-to-br\" },\n padding: \"3rem\",\n button: { color: \"btn-secondary\" },\n rounding: \"rounded-xl\",\n border: { width: \"border-2\", color: \"border-primary-300\" },\n },\n },\n {\n description: \"Event registration form\",\n type: \"form\",\n props: {\n title: \"Conference Registration\",\n intro: \"Register for the Annual Tech Conference 2025. Early bird pricing ends soon!\",\n direction: \"flex-col\",\n datarecordId: \"event-registration\",\n buttonLabel: \"Register Now\",\n button: {\n size: \"block\",\n },\n },\n },\n {\n description: \"Job application form\",\n type: \"form\",\n props: {\n title: \"Apply for Position\",\n intro: \"We're excited to learn more about you! Please fill out this application form completely.\",\n direction: \"flex-col\",\n datarecordId: \"job-application\",\n buttonLabel: \"Submit Application\",\n button: {\n size: \"block\",\n },\n },\n },\n {\n description: \"Dynamic job application (title interpolated) mapping dataset field\",\n type: \"form\",\n props: {\n title: \"Apply for {{job.title}}\",\n intro: \"Join our team in {{job.location}}.\",\n direction: \"flex-col\",\n datarecordId: \"job-application\",\n buttonLabel: \"Apply Now\",\n colorPreset: { color: \"secondary-100\" },\n button: { size: \"block\", color: \"btn-primary\" },\n padding: \"2rem\",\n },\n },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAsB,YAAY;AAClC,SAAS,iBAAiB;AAYnB,IAAM,WAAW,oBAAoB;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,aAAa;AAAA,EACb,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqChB,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,OAAO,YAAY;AAAA,IACjB,cAAc,WAAW,iBAAiB;AAAA,MACxC,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB,CAAC;AAAA,IACD,aAAa,KAAK;AAAA,MAChB,YAAY;AAAA,QACV,OAAO;AAAA,QACP,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA,WAAW,KAAK;AAAA,MACd,UAAU;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,IACA,SAAS,KAAK;AAAA,MACZ,UAAU;AAAA,QACR,SAAS;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,IACA,UAAU,KAAK;AAAA,MACb,SAAS;AAAA,QACP,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA,QAAQ,KAAK,SAAS,OAAO,CAAC,CAAC,CAAC;AAAA,IAChC,UAAU,KAAK,SAAS,SAAS,EAAE,SAAS,WAAW,2BAA2B,KAAK,CAAC,CAAC;AAAA,IACzF,QAAQ,MAAM;AAAA,MACZ,OAAO;AAAA,MACP,UAAU;AAAA,QACR,OAAO,KAAK;AAAA,UACV,WAAW,CAAC,eAAe,eAAe,iBAAiB,YAAY,GAAG;AAAA,YACxE,WAAW,CAAC,WAAW,WAAW,aAAa,QAAQ;AAAA,YACvD,OAAO;AAAA,YACP,SAAS;AAAA,UACX,CAAC;AAAA,QACH;AAAA,QACA,MAAM,KAAK;AAAA,UACT,WAAW,CAAC,SAAS,MAAM,GAAG;AAAA,YAC5B,OAAO;AAAA,YACP,aAAa;AAAA,YACb,WAAW,CAAC,SAAS,MAAM;AAAA,YAC3B,SAAS;AAAA,YACT,iBAAiB;AAAA,UACnB,CAAC;AAAA,QACH;AAAA,QACA,UAAU,KAAK;AAAA,UACb,WAAW,CAAC,iBAAiB,kBAAkB,aAAa,GAAG;AAAA,YAC7D,OAAO;AAAA,YACP,aAAa;AAAA,YACb,WAAW,CAAC,QAAQ,UAAU,OAAO;AAAA,YACrC,SAAS;AAAA,YACT,iBAAiB;AAAA,YACjB,UAAU;AAAA,cACR,QAAQ,CAAC,eAAkC,aAAwC;AACjF,uBAAO,SAAS,QAAQ,SAAS;AAAA,cACnC;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,UAAU,SAAS,EAAE,SAAS,aAAa,CAAC;AAAA,MAC9C;AAAA,IACF,CAAC;AAAA,IAED,OAAO,KAAK;AAAA,MACV,KAAK,OAAO;AAAA,QACV,OAAO;AAAA,QACP,SAAS;AAAA,QACT,UAAU;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,OAAO,KAAK;AAAA,MACV,KAAK,OAAO;AAAA,QACV,OAAO;AAAA,QACP,aAAa;AAAA,QACb,gBAAgB;AAAA,QAChB,UAAU;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,aAAa,KAAK;AAAA,MAChB,KAAK,OAAO;AAAA,QACV,OAAO;AAAA,QACP,SAAS;AAAA,QACT,UAAU,EAAE,UAAU,UAAU;AAAA,MAClC,CAAC;AAAA,IACH;AAAA,IACA,gBAAgB,KAAK;AAAA,MACnB,KAAK,OAAO;AAAA,QACV,OAAO;AAAA,QACP,aAAa;AAAA,QACb,SAAS;AAAA,QACT,UAAU;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,cAAc,KAAK;AAAA,MACjB,KAAK,OAAO;AAAA,QACV,OAAO;AAAA,QACP,aAAa;AAAA,QACb,SAAS;AAAA,QACT,UAAU;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH,CAAC;AAIM,IAAM,WAAqC;AAAA,EAChD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,SAAS;AAAA,MACT,aAAa;AAAA,MACb,QAAQ,EAAE,MAAM,QAAQ;AAAA,MACxB,aAAa,EAAE,OAAO,cAAc;AAAA,IACtC;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,SAAS;AAAA,MACT,aAAa;AAAA,MACb,QAAQ,EAAE,MAAM,QAAQ;AAAA,MACxB,aAAa,EAAE,OAAO,cAAc;AAAA,IACtC;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,SAAS;AAAA,MACT,aAAa;AAAA,MACb,QAAQ;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ,EAAE,MAAM,QAAQ;AAAA,MACxB,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa;AAAA,MACb,aAAa,EAAE,OAAO,cAAc;AAAA,MACpC,SAAS;AAAA,MACT,QAAQ,EAAE,OAAO,aAAa;AAAA,MAC9B,UAAU;AAAA,MACV,QAAQ,EAAE,OAAO,UAAU,OAAO,qBAAqB;AAAA,IACzD;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa;AAAA,MACb,aAAa,EAAE,OAAO,wBAAwB,mBAAmB,oBAAoB;AAAA,MACrF,SAAS;AAAA,MACT,QAAQ,EAAE,OAAO,gBAAgB;AAAA,MACjC,UAAU;AAAA,MACV,QAAQ,EAAE,OAAO,YAAY,OAAO,qBAAqB;AAAA,IAC3D;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa;AAAA,MACb,aAAa,EAAE,OAAO,gBAAgB;AAAA,MACtC,QAAQ,EAAE,MAAM,SAAS,OAAO,cAAc;AAAA,MAC9C,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
datarecordsList
|
|
5
|
+
} from "./chunk-DCM4732T.js";
|
|
6
|
+
import {
|
|
7
|
+
sitemapSchema
|
|
8
|
+
} from "./chunk-2O5HVPID.js";
|
|
9
|
+
import {
|
|
10
|
+
defaultTheme,
|
|
11
|
+
themeSchema
|
|
12
|
+
} from "./chunk-FD7YYFRI.js";
|
|
13
|
+
import {
|
|
14
|
+
pageSchema
|
|
15
|
+
} from "./chunk-VSLRTXLF.js";
|
|
16
|
+
import {
|
|
17
|
+
sitePrompt
|
|
18
|
+
} from "./chunk-6TVVKUWM.js";
|
|
19
|
+
import {
|
|
20
|
+
resolvePageAttributes,
|
|
21
|
+
resolveSiteAttributes,
|
|
22
|
+
siteAttributesSchema
|
|
23
|
+
} from "./chunk-T6C3NG2L.js";
|
|
24
|
+
import {
|
|
25
|
+
datasourcesList
|
|
26
|
+
} from "./chunk-EMF5TCPX.js";
|
|
27
|
+
|
|
28
|
+
// src/shared/site.ts
|
|
29
|
+
import { Type } from "@sinclair/typebox";
|
|
30
|
+
var siteSchema = Type.Object({
|
|
31
|
+
id: Type.String(),
|
|
32
|
+
label: Type.String(),
|
|
33
|
+
hostname: Type.String(),
|
|
34
|
+
attributes: siteAttributesSchema,
|
|
35
|
+
datasources: datasourcesList,
|
|
36
|
+
datarecords: datarecordsList,
|
|
37
|
+
themes: Type.Array(themeSchema),
|
|
38
|
+
theme: themeSchema,
|
|
39
|
+
sitemap: sitemapSchema,
|
|
40
|
+
sitePrompt
|
|
41
|
+
});
|
|
42
|
+
var siteAndPagesSchema = Type.Object({
|
|
43
|
+
site: siteSchema,
|
|
44
|
+
pages: Type.Array(pageSchema)
|
|
45
|
+
});
|
|
46
|
+
function createEmptyConfig(sitePrompt2) {
|
|
47
|
+
return {
|
|
48
|
+
site: {
|
|
49
|
+
id: crypto.randomUUID(),
|
|
50
|
+
label: `My site ${(/* @__PURE__ */ new Date()).toLocaleString(void 0, { dateStyle: "short", timeStyle: "short" })}`,
|
|
51
|
+
hostname: "example.com",
|
|
52
|
+
sitePrompt: sitePrompt2,
|
|
53
|
+
theme: defaultTheme,
|
|
54
|
+
themes: [],
|
|
55
|
+
sitemap: [],
|
|
56
|
+
attributes: resolveSiteAttributes(),
|
|
57
|
+
datarecords: [],
|
|
58
|
+
datasources: []
|
|
59
|
+
},
|
|
60
|
+
// we need a fake page
|
|
61
|
+
pages: [
|
|
62
|
+
{
|
|
63
|
+
id: "_default_",
|
|
64
|
+
label: "First page",
|
|
65
|
+
sections: [],
|
|
66
|
+
attributes: resolvePageAttributes({
|
|
67
|
+
path: "/"
|
|
68
|
+
})
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export {
|
|
75
|
+
siteSchema,
|
|
76
|
+
createEmptyConfig
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=chunk-XNRSL6FL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/site.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { resolvePageAttributes, resolveSiteAttributes, siteAttributesSchema } from \"./attributes\";\nimport { datarecordsList } from \"./datarecords/types\";\nimport { datasourcesList } from \"./datasources/types\";\nimport { pageSchema } from \"./page\";\nimport { sitePrompt } from \"./prompt\";\nimport { sitemapSchema } from \"./sitemap\";\nimport { defaultTheme, themeSchema } from \"./theme\";\n\nexport const siteSchema = Type.Object({\n id: Type.String(),\n label: Type.String(),\n hostname: Type.String(),\n attributes: siteAttributesSchema,\n datasources: datasourcesList,\n datarecords: datarecordsList,\n themes: Type.Array(themeSchema),\n theme: themeSchema,\n sitemap: sitemapSchema,\n sitePrompt,\n});\n\nexport type Site = Static<typeof siteSchema>;\nexport type PublicSite = Omit<Site, \"sitePrompt\">;\n\nconst siteAndPagesSchema = Type.Object({\n site: siteSchema,\n pages: Type.Array(pageSchema),\n});\n\nexport type SiteAndPagesConfig = Static<typeof siteAndPagesSchema>;\n\nexport function createEmptyConfig(sitePrompt: string): SiteAndPagesConfig {\n return {\n site: {\n id: crypto.randomUUID(),\n label: `My site ${new Date().toLocaleString(undefined, { dateStyle: \"short\", timeStyle: \"short\" })}`,\n hostname: \"example.com\",\n sitePrompt,\n theme: defaultTheme,\n themes: [],\n sitemap: [],\n attributes: resolveSiteAttributes(),\n datarecords: [],\n datasources: [],\n },\n // we need a fake page\n pages: [\n {\n id: \"_default_\",\n label: \"First page\",\n sections: [],\n attributes: resolvePageAttributes({\n path: \"/\",\n }),\n },\n ],\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAyB;AAS3B,IAAM,aAAa,KAAK,OAAO;AAAA,EACpC,IAAI,KAAK,OAAO;AAAA,EAChB,OAAO,KAAK,OAAO;AAAA,EACnB,UAAU,KAAK,OAAO;AAAA,EACtB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,QAAQ,KAAK,MAAM,WAAW;AAAA,EAC9B,OAAO;AAAA,EACP,SAAS;AAAA,EACT;AACF,CAAC;AAKD,IAAM,qBAAqB,KAAK,OAAO;AAAA,EACrC,MAAM;AAAA,EACN,OAAO,KAAK,MAAM,UAAU;AAC9B,CAAC;AAIM,SAAS,kBAAkBA,aAAwC;AACxE,SAAO;AAAA,IACL,MAAM;AAAA,MACJ,IAAI,OAAO,WAAW;AAAA,MACtB,OAAO,YAAW,oBAAI,KAAK,GAAE,eAAe,QAAW,EAAE,WAAW,SAAS,WAAW,QAAQ,CAAC,CAAC;AAAA,MAClG,UAAU;AAAA,MACV,YAAAA;AAAA,MACA,OAAO;AAAA,MACP,QAAQ,CAAC;AAAA,MACT,SAAS,CAAC;AAAA,MACV,YAAY,sBAAsB;AAAA,MAClC,aAAa,CAAC;AAAA,MACd,aAAa,CAAC;AAAA,IAChB;AAAA;AAAA,IAEA,OAAO;AAAA,MACL;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU,CAAC;AAAA,QACX,YAAY,sBAAsB;AAAA,UAChC,MAAM;AAAA,QACR,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;","names":["sitePrompt"]}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
cssLength
|
|
5
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import {
|
|
10
|
-
typedRef
|
|
11
|
-
} from "./chunk-A2QPY54H.js";
|
|
7
|
+
alignSelf
|
|
8
|
+
} from "./chunk-ZRBTAC3G.js";
|
|
12
9
|
|
|
13
10
|
// src/shared/bricks/props/common.ts
|
|
14
11
|
import { Type } from "@sinclair/typebox";
|
|
@@ -33,7 +30,7 @@ var commonProps = {
|
|
|
33
30
|
"ai:hidden": true
|
|
34
31
|
})
|
|
35
32
|
),
|
|
36
|
-
hidden: Type.Optional(
|
|
33
|
+
hidden: Type.Optional(hidden()),
|
|
37
34
|
editable: Type.Optional(
|
|
38
35
|
Type.Boolean({
|
|
39
36
|
"ui:field": "hidden",
|
|
@@ -41,7 +38,7 @@ var commonProps = {
|
|
|
41
38
|
})
|
|
42
39
|
),
|
|
43
40
|
width: Type.Optional(
|
|
44
|
-
|
|
41
|
+
cssLength({
|
|
45
42
|
title: "Fixed Width",
|
|
46
43
|
description: "Set a fixed width for the brick. If not set, the brick will be responsive and will follow the flex layout of its parent section.",
|
|
47
44
|
"ai:instructions": "Use percentage values to make the width responsive, like '50%'",
|
|
@@ -49,7 +46,7 @@ var commonProps = {
|
|
|
49
46
|
})
|
|
50
47
|
),
|
|
51
48
|
height: Type.Optional(
|
|
52
|
-
|
|
49
|
+
cssLength({
|
|
53
50
|
title: "Fixed height",
|
|
54
51
|
description: "Set a fixed height for the brick. If not set, the brick will be responsive and will follow the flex layout of its parent section.",
|
|
55
52
|
"ui:field": "hidden"
|
|
@@ -63,7 +60,7 @@ var commonProps = {
|
|
|
63
60
|
"ui:responsive": true
|
|
64
61
|
})
|
|
65
62
|
),
|
|
66
|
-
alignSelf: Type.Optional(
|
|
63
|
+
alignSelf: Type.Optional(alignSelf())
|
|
67
64
|
};
|
|
68
65
|
var commonPropsSchema = Type.Object(commonProps);
|
|
69
66
|
|
|
@@ -71,4 +68,4 @@ export {
|
|
|
71
68
|
hidden,
|
|
72
69
|
commonProps
|
|
73
70
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-XXPSM6UA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/props/common.ts"],"sourcesContent":["import { type Static, type TString, Type } from \"@sinclair/typebox\";\nimport { cssLength } from \"./css-length\";\nimport { alignSelf } from \"./align\";\n\nexport function hidden() {\n return Type.Object(\n {\n desktop: Type.Optional(Type.Boolean()),\n mobile: Type.Optional(Type.Boolean()),\n },\n {\n // $id: \"styles:hidden\",\n title: \"Hidden\",\n description: \"Used to hide the brick on desktop or mobile.\",\n \"ui:field\": \"hidden\",\n },\n );\n}\n\nexport const commonProps = {\n lastTouched: Type.Optional(\n Type.Number({\n \"ui:field\": \"hidden\",\n \"ai:hidden\": true,\n }),\n ),\n hidden: Type.Optional(hidden()),\n editable: Type.Optional(\n Type.Boolean({\n \"ui:field\": \"hidden\",\n \"ai:hidden\": true,\n }),\n ),\n width: Type.Optional(\n cssLength({\n title: \"Fixed Width\",\n description:\n \"Set a fixed width for the brick. If not set, the brick will be responsive and will follow the flex layout of its parent section.\",\n \"ai:instructions\": \"Use percentage values to make the width responsive, like '50%'\",\n \"ui:field\": \"hidden\",\n }) as TString,\n ),\n height: Type.Optional(\n cssLength({\n title: \"Fixed height\",\n description:\n \"Set a fixed height for the brick. If not set, the brick will be responsive and will follow the flex layout of its parent section.\",\n \"ui:field\": \"hidden\",\n }),\n ),\n grow: Type.Optional(\n Type.Boolean({\n title: \"Auto expand\",\n description: \"If set, the brick will grow to fill the available space of its parent section or box.\",\n \"ui:styleId\": \"styles:grow\",\n \"ui:responsive\": true,\n }),\n ),\n alignSelf: Type.Optional(alignSelf()),\n};\n\nconst commonPropsSchema = Type.Object(commonProps);\nexport type CommonBrickProps = Static<typeof commonPropsSchema>;\n"],"mappings":";;;;;;;;;;AAAA,SAAoC,YAAY;AAIzC,SAAS,SAAS;AACvB,SAAO,KAAK;AAAA,IACV;AAAA,MACE,SAAS,KAAK,SAAS,KAAK,QAAQ,CAAC;AAAA,MACrC,QAAQ,KAAK,SAAS,KAAK,QAAQ,CAAC;AAAA,IACtC;AAAA,IACA;AAAA;AAAA,MAEE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,YAAY;AAAA,IACd;AAAA,EACF;AACF;AAEO,IAAM,cAAc;AAAA,EACzB,aAAa,KAAK;AAAA,IAChB,KAAK,OAAO;AAAA,MACV,YAAY;AAAA,MACZ,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,EAC9B,UAAU,KAAK;AAAA,IACb,KAAK,QAAQ;AAAA,MACX,YAAY;AAAA,MACZ,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA,OAAO,KAAK;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aACE;AAAA,MACF,mBAAmB;AAAA,MACnB,YAAY;AAAA,IACd,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,KAAK;AAAA,IACX,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aACE;AAAA,MACF,YAAY;AAAA,IACd,CAAC;AAAA,EACH;AAAA,EACA,MAAM,KAAK;AAAA,IACT,KAAK,QAAQ;AAAA,MACX,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EACA,WAAW,KAAK,SAAS,UAAU,CAAC;AACtC;AAEA,IAAM,oBAAoB,KAAK,OAAO,WAAW;","names":[]}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
typedRef
|
|
5
|
-
} from "./chunk-A2QPY54H.js";
|
|
6
3
|
import {
|
|
7
4
|
StringEnum
|
|
8
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GDYCCB3B.js";
|
|
9
6
|
|
|
10
7
|
// src/shared/bricks/props/align.ts
|
|
11
8
|
function justifyContent(options = {}) {
|
|
@@ -23,9 +20,6 @@ function justifyContent(options = {}) {
|
|
|
23
20
|
}
|
|
24
21
|
);
|
|
25
22
|
}
|
|
26
|
-
function justifyContentRef(options = {}) {
|
|
27
|
-
return typedRef("styles:justifyContent", options);
|
|
28
|
-
}
|
|
29
23
|
function alignItems(options = {}) {
|
|
30
24
|
return StringEnum(["items-start", "items-center", "items-end", "items-stretch"], {
|
|
31
25
|
enumNames: ["Start", "Center", "End", "Stretch"],
|
|
@@ -38,9 +32,6 @@ function alignItems(options = {}) {
|
|
|
38
32
|
...options
|
|
39
33
|
});
|
|
40
34
|
}
|
|
41
|
-
function alignItemsRef(options = {}) {
|
|
42
|
-
return typedRef("styles:alignItems", options);
|
|
43
|
-
}
|
|
44
35
|
function alignSelf(options = {}) {
|
|
45
36
|
return StringEnum(["self-auto", "self-start", "self-center", "self-end", "self-stretch"], {
|
|
46
37
|
enumNames: ["Auto", "Start", "Center", "End", "Stretch"],
|
|
@@ -53,16 +44,10 @@ function alignSelf(options = {}) {
|
|
|
53
44
|
...options
|
|
54
45
|
});
|
|
55
46
|
}
|
|
56
|
-
function alignSelfRef(options = {}) {
|
|
57
|
-
return typedRef("styles:alignSelf", options);
|
|
58
|
-
}
|
|
59
47
|
|
|
60
48
|
export {
|
|
61
49
|
justifyContent,
|
|
62
|
-
justifyContentRef,
|
|
63
50
|
alignItems,
|
|
64
|
-
|
|
65
|
-
alignSelf,
|
|
66
|
-
alignSelfRef
|
|
51
|
+
alignSelf
|
|
67
52
|
};
|
|
68
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-ZRBTAC3G.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/props/align.ts"],"sourcesContent":["import type { Static, StringOptions } from \"@sinclair/typebox\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\n\nexport function justifyContent(options: StringOptions = {}) {\n return StringEnum(\n [\"justify-start\", \"justify-center\", \"justify-end\", \"justify-between\", \"justify-around\", \"justify-evenly\"],\n {\n enumNames: [\"Start\", \"Center\", \"End\", \"Between\", \"Around\", \"Evenly\"],\n // $id: \"styles:justifyContent\",\n title: \"Justify bricks\",\n \"ui:field\": \"justify-content\",\n \"ui:responsive\": true,\n \"ui:styleId\": \"styles:justifyContent\",\n examples: [\"justify-center\", \"justify-evenly\"],\n ...options,\n },\n );\n}\n\nexport type JustifyContentSettings = Static<ReturnType<typeof justifyContent>>;\n\nexport function alignItems(options: StringOptions = {}) {\n return StringEnum([\"items-start\", \"items-center\", \"items-end\", \"items-stretch\"], {\n enumNames: [\"Start\", \"Center\", \"End\", \"Stretch\"],\n // $id: \"styles:alignItems\",\n title: \"Align bricks\",\n \"ui:field\": \"align-items\",\n \"ui:responsive\": true,\n \"ui:styleId\": \"styles:alignItems\",\n examples: [\"items-center\", \"items-stretch\"],\n ...options,\n });\n}\n\nexport type AlignItemsSettings = Static<ReturnType<typeof alignItems>>;\n\nexport function alignSelf(options: StringOptions = {}) {\n return StringEnum([\"self-auto\", \"self-start\", \"self-center\", \"self-end\", \"self-stretch\"], {\n enumNames: [\"Auto\", \"Start\", \"Center\", \"End\", \"Stretch\"],\n default: \"self-auto\",\n // $id: \"styles:alignSelf\",\n title: \"Align self\",\n \"ui:field\": \"align-self\",\n \"ui:responsive\": true,\n \"ui:styleId\": \"styles:alignSelf\",\n ...options,\n });\n}\n\nexport type AlignSelfSettings = Static<ReturnType<typeof alignSelf>>;\n"],"mappings":";;;;;;;AAGO,SAAS,eAAe,UAAyB,CAAC,GAAG;AAC1D,SAAO;AAAA,IACL,CAAC,iBAAiB,kBAAkB,eAAe,mBAAmB,kBAAkB,gBAAgB;AAAA,IACxG;AAAA,MACE,WAAW,CAAC,SAAS,UAAU,OAAO,WAAW,UAAU,QAAQ;AAAA;AAAA,MAEnE,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,UAAU,CAAC,kBAAkB,gBAAgB;AAAA,MAC7C,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAIO,SAAS,WAAW,UAAyB,CAAC,GAAG;AACtD,SAAO,WAAW,CAAC,eAAe,gBAAgB,aAAa,eAAe,GAAG;AAAA,IAC/E,WAAW,CAAC,SAAS,UAAU,OAAO,SAAS;AAAA;AAAA,IAE/C,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd,UAAU,CAAC,gBAAgB,eAAe;AAAA,IAC1C,GAAG;AAAA,EACL,CAAC;AACH;AAIO,SAAS,UAAU,UAAyB,CAAC,GAAG;AACrD,SAAO,WAAW,CAAC,aAAa,cAAc,eAAe,YAAY,cAAc,GAAG;AAAA,IACxF,WAAW,CAAC,QAAQ,SAAS,UAAU,OAAO,SAAS;AAAA,IACvD,SAAS;AAAA;AAAA,IAET,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
defineBrickManifest
|
|
8
|
-
} from "./chunk-TB3X4LRQ.js";
|
|
4
|
+
border,
|
|
5
|
+
rounding
|
|
6
|
+
} from "./chunk-SRYBJ6NQ.js";
|
|
9
7
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
8
|
+
defineProps
|
|
9
|
+
} from "./chunk-VTCHJT4O.js";
|
|
12
10
|
import {
|
|
13
|
-
|
|
14
|
-
} from "./chunk-
|
|
11
|
+
cssLength
|
|
12
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
15
13
|
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} from "./chunk-NTLAKMMQ.js";
|
|
14
|
+
shadow
|
|
15
|
+
} from "./chunk-5RCC2STG.js";
|
|
19
16
|
import {
|
|
20
|
-
|
|
21
|
-
} from "./chunk-
|
|
17
|
+
defineBrickManifest
|
|
18
|
+
} from "./chunk-J45LSQT6.js";
|
|
22
19
|
|
|
23
20
|
// src/shared/bricks/manifests/video.manifest.ts
|
|
24
21
|
import { RxVideo } from "react-icons/rx";
|
|
@@ -49,7 +46,8 @@ var manifest = defineBrickManifest({
|
|
|
49
46
|
// 16:9 aspect ratio
|
|
50
47
|
},
|
|
51
48
|
props: defineProps({
|
|
52
|
-
url:
|
|
49
|
+
url: Type.String({
|
|
50
|
+
title: "Video URL",
|
|
53
51
|
description: "URL of the video to embed. It can be a YouTube link or an embed link. It also supports Vimeo and Wistia links.",
|
|
54
52
|
default: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
55
53
|
metadata: {
|
|
@@ -58,7 +56,7 @@ var manifest = defineBrickManifest({
|
|
|
58
56
|
}
|
|
59
57
|
}),
|
|
60
58
|
padding: Type.Optional(
|
|
61
|
-
|
|
59
|
+
cssLength({
|
|
62
60
|
description: "Padding inside the video player.",
|
|
63
61
|
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
64
62
|
title: "Padding",
|
|
@@ -68,12 +66,12 @@ var manifest = defineBrickManifest({
|
|
|
68
66
|
})
|
|
69
67
|
),
|
|
70
68
|
rounding: Type.Optional(
|
|
71
|
-
|
|
69
|
+
rounding({
|
|
72
70
|
default: "rounded-md"
|
|
73
71
|
})
|
|
74
72
|
),
|
|
75
|
-
border: Type.Optional(
|
|
76
|
-
shadow: Type.Optional(
|
|
73
|
+
border: Type.Optional(border()),
|
|
74
|
+
shadow: Type.Optional(shadow())
|
|
77
75
|
})
|
|
78
76
|
});
|
|
79
77
|
var examples = [
|
|
@@ -128,4 +126,4 @@ export {
|
|
|
128
126
|
manifest,
|
|
129
127
|
examples
|
|
130
128
|
};
|
|
131
|
-
//# sourceMappingURL=chunk-
|
|
129
|
+
//# sourceMappingURL=chunk-ZVJNRKT4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/video.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { RxVideo } from \"react-icons/rx\";\nimport { border, rounding } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport { Type } from \"@sinclair/typebox\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"video\",\n name: \"Video\",\n category: \"media\",\n description: \"An embedded video player for YouTube / Vimeo / Wistia links\",\n icon: RxVideo,\n defaultWidth: {\n mobile: \"auto\",\n desktop: `${(360 * 16) / 9}px`, // 16:9 aspect ratio\n },\n defaultHeight: {\n mobile: \"168px\",\n desktop: \"360px\", // 16:9 aspect ratio\n },\n minWidth: {\n mobile: 300,\n desktop: (360 * 16) / 9,\n },\n minHeight: {\n mobile: 168,\n desktop: 360, // 16:9 aspect ratio\n },\n props: defineProps({\n url: Type.String({\n title: \"Video URL\",\n description:\n \"URL of the video to embed. It can be a YouTube link or an embed link. It also supports Vimeo and Wistia links.\",\n default: \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n metadata: {\n category: \"content\",\n \"ui:responsive\": \"desktop\",\n },\n }),\n padding: Type.Optional(\n cssLength({\n description: \"Padding inside the video player.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(\n rounding({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(border()),\n shadow: Type.Optional(shadow()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"A YouTube video\",\n type: \"video\",\n props: {\n url: \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n },\n },\n {\n description: \"An embedded YouTube video\",\n type: \"video\",\n props: {\n url: \"https://www.youtube.com/embed/dQw4w9WgXcQ\",\n },\n },\n {\n description: \"A Vimeo video\",\n type: \"video\",\n props: {\n url: \"https://vimeo.com/123456789\",\n },\n },\n {\n description: \"Dynamic course video using course query\",\n type: \"video\",\n props: {\n url: \"{{course.videoUrl}}\",\n padding: \"1rem\",\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Dynamic product demo video using product query\",\n type: \"video\",\n props: {\n url: \"{{product.demoVideoUrl}}\",\n padding: \"0.5rem\",\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n border: {\n width: \"border-2\",\n color: \"border-primary-300\",\n },\n },\n },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,SAAS,eAAe;AAGxB,SAAS,YAAY;AAId,IAAM,WAAW,oBAAoB;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,aAAa;AAAA,EACb,MAAM;AAAA,EACN,cAAc;AAAA,IACZ,QAAQ;AAAA,IACR,SAAS,GAAI,MAAM,KAAM,CAAC;AAAA;AAAA,EAC5B;AAAA,EACA,eAAe;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,SAAU,MAAM,KAAM;AAAA,EACxB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA;AAAA,EACX;AAAA,EACA,OAAO,YAAY;AAAA,IACjB,KAAK,KAAK,OAAO;AAAA,MACf,OAAO;AAAA,MACP,aACE;AAAA,MACF,SAAS;AAAA,MACT,UAAU;AAAA,QACR,UAAU;AAAA,QACV,iBAAiB;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,IACD,SAAS,KAAK;AAAA,MACZ,UAAU;AAAA,QACR,aAAa;AAAA,QACb,mBAAmB;AAAA,QACnB,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,IACA,UAAU,KAAK;AAAA,MACb,SAAS;AAAA,QACP,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,IAC9B,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,EAChC,CAAC;AACH,CAAC;AAIM,IAAM,WAAqC;AAAA,EAChD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|