@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/text.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { textContent } from \"../props/text\";\nimport { defineProps } from \"../props/helpers\";\nimport { border, rounding } from \"../props/border\";\nimport { RxTextAlignLeft } from \"react-icons/rx\";\nimport { Type } from \"@sinclair/typebox\";\nimport { alignItems } from \"../props/align\";\nimport { shadow } from \"../props/effects\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { loop } from \"../props/dynamic\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"text\",\n category: \"basic\",\n name: \"Text\",\n description: \"Text with formatting options\",\n aiInstructions: `Use the text component for rich content blocks, announcements, descriptions, and formatted text throughout your site.\n\nCONTENT FORMATTING:\n- Supports HTML tags: <h1>, <h2>, <h3>, <h4>, <p>, <span>, <strong>, <em>, <br>, <a>, <ul>, <li>, <ol>\n- Only 'text-align' style is supported (center, left, right) - avoid other inline styles\n- Use <strong> for emphasis, <em> for italics, <br> for line breaks\n- Links: <a href=\"/page\">Internal</a> or <a href=\"https://external.com\">External</a>\n- Lists: <ul><li>Item 1</li><li>Item 2</li></ul>\n\nSTYLING OPTIONS:\n- colorPreset: Leave empty to inherit parent colors, or use \"primary-100\", \"secondary-200\", \"neutral-50\", \"accent-100\" for backgrounds\n- padding: Use CSS values like \"1rem\", \"2rem\", \"24px\" for internal spacing\n- rounding: \"rounded-none\" (sharp), \"rounded-md\" (standard), \"rounded-lg\" (friendly), \"rounded-xl\" (soft)\n- border: Add borders with width (\"border\", \"border-2\") and color (\"border-gray-300\", \"border-primary-500\")\n- shadow: Add depth with \"shadow-sm\", \"shadow-md\", \"shadow-lg\"\n\nWHEN TO USE:\n- Rich content sections (About Us, Service descriptions)\n- Announcements and notices\n- Product descriptions with formatting\n- Quotes and testimonials\n- FAQ content and detailed explanations\n- Footer information and legal text\n\nBEST PRACTICES:\n- Keep HTML minimal - complex layouts should use multiple components\n- Use semantic headings (h2, h3, h4) for proper hierarchy\n- Center-align for quotes/testimonials, left-align for body text\n- Choose background colors that provide good contrast, or no background for inline text`,\n defaultWidth: {\n mobile: \"100%\",\n },\n defaultHeight: {\n desktop: \"auto\",\n mobile: \"auto\",\n },\n staticClasses: \"prose lg:prose-lg\",\n icon: RxTextAlignLeft,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n content: textContent({\n title: \"Content\",\n // metadata: {\n // category: \"content\",\n // },\n }),\n verticalAlign: Type.Optional(\n alignItems({\n default: \"items-center\",\n title: \"Align\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"2rem\",\n description: \"Padding inside the text.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: rounding({\n default: \"rounded-md\",\n }),\n border: Type.Optional(border()),\n shadow: Type.Optional(shadow()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Welcome paragraph with emphasis and padding\",\n type: \"text\",\n props: {\n content:\n \"Welcome to our platform! We're <strong>excited</strong> to have you here. Our mission is to <em>transform</em> the way you work with cutting-edge technology and <a href='/features'>innovative features</a>.\",\n padding: \"2rem\",\n },\n },\n {\n description: \"Feature list with HTML formatting and smaller padding\",\n type: \"text\",\n props: {\n content:\n \"<h3>Key Features</h3><ul><li><strong>Advanced Analytics</strong> - Real-time data insights</li><li><strong>Cloud Integration</strong> - Seamless connectivity</li><li><strong>24/7 Support</strong> - Always here to help</li></ul>\",\n padding: \"1rem\",\n },\n },\n {\n description: \"Quote block with text styling but no background\",\n type: \"text\",\n props: {\n content:\n \"<p style='text-align: center'><em>\\\"Innovation distinguishes between a leader and a follower.\\\"</em><br><strong>- Steve Jobs</strong></p>\",\n padding: \"3rem\",\n },\n },\n {\n description: \"Simple heading with subtle background\",\n type: \"text\",\n props: {\n content:\n \"<h2>About Our Company</h2><p>We've been serving customers since 2010, building trust through quality products and exceptional service.</p>\",\n colorPreset: {\n color: \"primary-100\",\n },\n },\n },\n {\n description: \"Team introduction with formatting, no background color\",\n type: \"text\",\n props: {\n content:\n \"<p style='text-align: center'><strong>Meet Our Team</strong></p><p>Our diverse team of experts brings together decades of experience in technology, design, and business strategy. We're passionate about <em>creating solutions</em> that make a real difference.</p><p><a href='/team'>Learn more about our team</a> and the values that drive us forward.</p>\",\n padding: \"2rem\",\n },\n },\n {\n description: \"Maintenance notice with neutral background and border\",\n type: \"text\",\n props: {\n content:\n \"<p>Scheduled maintenance will occur on <em>Sunday, March 15th</em> from 2:00 AM to 6:00 AM UTC.</p><p>During this time, some features may be temporarily unavailable. We apologize for any inconvenience.</p>\",\n padding: \"1rem\",\n colorPreset: {\n color: \"neutral-700\",\n },\n border: {\n width: \"border\",\n color: \"border-neutral-400\",\n },\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Minimal text with no padding or background\",\n type: \"text\",\n props: {\n content: \"This is some minimal text.\",\n padding: \"0rem\",\n },\n },\n {\n description: \"Call-to-action text with secondary background and shadow\",\n type: \"text\",\n props: {\n content:\n \"<h3 style='text-align: center'>Ready to Get Started?</h3><p style='text-align: center'>Join thousands of satisfied customers who trust our platform. <strong>Sign up today</strong> and experience the difference!</p><p style='text-align: center'><a href='/signup'>Create Your Free Account</a></p>\",\n colorPreset: {\n color: \"secondary-200\",\n },\n padding: \"2.5rem\",\n rounding: \"rounded-xl\",\n shadow: \"shadow-md\",\n verticalAlign: \"items-center\",\n },\n },\n {\n description: \"Technical documentation with accent colors and code-like formatting\",\n type: \"text\",\n props: {\n content:\n \"<h4>API Authentication</h4><p>To authenticate your requests, include your API key in the header:</p><p><strong>Authorization: Bearer YOUR_API_KEY</strong></p><p>All API endpoints require authentication. You can find your API key in the <a href='/dashboard'>dashboard settings</a>.</p>\",\n colorPreset: {\n color: \"accent-100\",\n },\n padding: \"1.5rem\",\n rounding: \"rounded-md\",\n border: {\n width: \"border-4\",\n color: \"border-accent-500\",\n },\n },\n },\n {\n description: \"Success message with primary background and top alignment\",\n type: \"text\",\n props: {\n content:\n \"<h3>✅ Payment Successful!</h3><p>Thank you for your purchase. Your order <strong>#12345</strong> has been confirmed.</p><p>You will receive an email confirmation shortly at your registered email address.</p>\",\n colorPreset: {\n color: \"primary-200\",\n },\n padding: \"2rem\",\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n verticalAlign: \"items-start\",\n },\n },\n {\n description: \"Footer information with neutral dark theme and multiple links\",\n type: \"text\",\n props: {\n content:\n \"<p style='text-align: center'>© 2024 Company Name. All rights reserved.</p><p style='text-align: center'><a href='/privacy'>Privacy Policy</a> | <a href='/terms'>Terms of Service</a> | <a href='/contact'>Contact Us</a></p><p style='text-align: center'><em>Follow us on social media for the latest updates</em></p>\",\n colorPreset: {\n color: \"neutral-800\",\n },\n padding: \"1.5rem\",\n verticalAlign: \"items-end\",\n },\n },\n {\n description: \"Product description with large padding and rounded corners\",\n type: \"text\",\n props: {\n content:\n \"<h2>Premium Wireless Headphones</h2><p>Experience <strong>crystal-clear audio</strong> with our latest wireless headphones featuring:</p><ul><li>Active noise cancellation</li><li>30-hour battery life</li><li>Premium leather comfort</li><li>Hi-res audio certification</li></ul><p>Perfect for <em>music lovers</em> and <em>professionals</em> alike.</p>\",\n padding: \"3rem\",\n rounding: \"rounded-2xl\",\n shadow: \"shadow-lg\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n },\n },\n {\n description: \"Emergency alert with accent background and extra bold formatting\",\n type: \"text\",\n props: {\n content:\n \"<h3 style='text-align: center'>⚠️ URGENT NOTICE</h3><p style='text-align: center'><strong>System maintenance is currently in progress.</strong></p><p style='text-align: center'>Some services may be <em>temporarily unavailable</em>. We expect full restoration by 4:00 PM EST.</p><p style='text-align: center'>For urgent support, please <a href='/emergency-contact'>contact our emergency line</a>.</p>\",\n colorPreset: {\n color: \"accent-400\",\n },\n padding: \"2rem\",\n rounding: \"rounded-md\",\n border: {\n width: \"border-2\",\n color: \"border-accent-600\",\n },\n shadow: \"shadow-xl\",\n verticalAlign: \"items-center\",\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
rounding
|
|
5
|
+
} from "./chunk-SRYBJ6NQ.js";
|
|
6
|
+
import {
|
|
7
|
+
defineProps
|
|
8
|
+
} from "./chunk-VTCHJT4O.js";
|
|
9
|
+
import {
|
|
10
|
+
fontSize
|
|
11
|
+
} from "./chunk-2U5U3CCJ.js";
|
|
12
|
+
import {
|
|
13
|
+
urlOrPageId
|
|
14
|
+
} from "./chunk-SQXZNGQF.js";
|
|
15
|
+
import {
|
|
16
|
+
colorPreset
|
|
17
|
+
} from "./chunk-IEMCCHM4.js";
|
|
18
|
+
import {
|
|
19
|
+
defineBrickManifest
|
|
20
|
+
} from "./chunk-J45LSQT6.js";
|
|
21
|
+
import {
|
|
22
|
+
StringEnum
|
|
23
|
+
} from "./chunk-GDYCCB3B.js";
|
|
24
|
+
|
|
25
|
+
// src/shared/bricks/manifests/button.manifest.ts
|
|
26
|
+
import { Type } from "@sinclair/typebox";
|
|
27
|
+
import { RxButton } from "react-icons/rx";
|
|
28
|
+
var manifest = defineBrickManifest({
|
|
29
|
+
type: "button",
|
|
30
|
+
name: "Button",
|
|
31
|
+
category: "basic",
|
|
32
|
+
description: "A button",
|
|
33
|
+
aiInstructions: `Use this button component for navigation and call-to-action elements throughout the site.
|
|
34
|
+
|
|
35
|
+
WHEN TO USE:
|
|
36
|
+
- Navigation links (Learn More, About Us, Contact)
|
|
37
|
+
- Call-to-action buttons (Sign Up, Get Started, Buy Now)
|
|
38
|
+
- External links (Download, Visit Website, Social Media)
|
|
39
|
+
- Internal page navigation (Go to Services, View Portfolio)
|
|
40
|
+
|
|
41
|
+
STYLING GUIDELINES:
|
|
42
|
+
- colorPreset: Use "primary-500" for main CTAs, "secondary-500" for secondary actions, "neutral-500" for low-priority actions, "accent-500" for highlight actions
|
|
43
|
+
- fontSize: "text-sm" for compact buttons, "text-base" for standard, "text-lg" for emphasis, "text-xl" for hero buttons
|
|
44
|
+
- rounding: "rounded-none" for sharp/modern, "rounded-md" for standard, "rounded-lg" for friendly, "rounded-full" for pills
|
|
45
|
+
- fill: Use "solid" for primary actions with background color, "outline" for secondary actions with transparent background and border
|
|
46
|
+
- link: Use full URLs for external (https://example.com), relative paths for internal (/about), or page IDs for site pages (about-us)
|
|
47
|
+
|
|
48
|
+
DYNAMIC CONTENT:
|
|
49
|
+
- Support template variables: "Buy {{product.name}}" or "Contact {{employee.name}}"
|
|
50
|
+
- Link to dynamic pages: "/products/{{product.id}}" or "/team/{{employee.slug}}"
|
|
51
|
+
|
|
52
|
+
AVOID:
|
|
53
|
+
- Using in forms (forms have dedicated submit buttons)
|
|
54
|
+
- Empty or unclear labels (use descriptive action words)
|
|
55
|
+
- Mixing multiple high-emphasis colors on same page`,
|
|
56
|
+
resizable: "horizontal",
|
|
57
|
+
icon: RxButton,
|
|
58
|
+
minWidth: {
|
|
59
|
+
desktop: 120,
|
|
60
|
+
mobile: 120
|
|
61
|
+
},
|
|
62
|
+
defaultWidth: {
|
|
63
|
+
mobile: "100%"
|
|
64
|
+
},
|
|
65
|
+
props: defineProps(
|
|
66
|
+
{
|
|
67
|
+
colorPreset: Type.Optional(
|
|
68
|
+
colorPreset({
|
|
69
|
+
default: { color: "primary-500" },
|
|
70
|
+
title: "Color",
|
|
71
|
+
"ui:default-gradient-direction": "bg-gradient-to-b"
|
|
72
|
+
})
|
|
73
|
+
),
|
|
74
|
+
label: Type.String({ title: "Label", default: "My button", metadata: { category: "content" } }),
|
|
75
|
+
fontSize: Type.Optional(
|
|
76
|
+
fontSize({
|
|
77
|
+
title: "Font size",
|
|
78
|
+
description: "The font size of the button text.",
|
|
79
|
+
default: "text-base",
|
|
80
|
+
"ui:responsive": "desktop",
|
|
81
|
+
"ui:no-extra-large-sizes": true
|
|
82
|
+
})
|
|
83
|
+
),
|
|
84
|
+
rounding: Type.Optional(
|
|
85
|
+
rounding({
|
|
86
|
+
default: "rounded-md"
|
|
87
|
+
})
|
|
88
|
+
),
|
|
89
|
+
fill: Type.Optional(
|
|
90
|
+
StringEnum(["solid", "outline"], {
|
|
91
|
+
title: "Fill",
|
|
92
|
+
description: "Button appearance style - solid background or outlined.",
|
|
93
|
+
default: "solid",
|
|
94
|
+
enumNames: ["Solid", "Outline"],
|
|
95
|
+
"ui:field": "enum",
|
|
96
|
+
"ui:display": "select"
|
|
97
|
+
})
|
|
98
|
+
),
|
|
99
|
+
link: urlOrPageId({
|
|
100
|
+
title: "Link",
|
|
101
|
+
"ui:placeholder": "https://example.com",
|
|
102
|
+
metadata: { category: "content" }
|
|
103
|
+
})
|
|
104
|
+
},
|
|
105
|
+
{ noGrow: true }
|
|
106
|
+
)
|
|
107
|
+
});
|
|
108
|
+
var examples = [
|
|
109
|
+
// BASIC BUTTON TYPES
|
|
110
|
+
{
|
|
111
|
+
description: "Primary call-to-action button - Use for main actions users should take",
|
|
112
|
+
type: "button",
|
|
113
|
+
props: {
|
|
114
|
+
label: "Get Started",
|
|
115
|
+
link: "/signup",
|
|
116
|
+
colorPreset: { color: "primary-500" },
|
|
117
|
+
fontSize: "text-base",
|
|
118
|
+
rounding: "rounded-md",
|
|
119
|
+
fill: "solid"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
description: "Secondary button - Use for supporting actions or alternatives",
|
|
124
|
+
type: "button",
|
|
125
|
+
props: {
|
|
126
|
+
label: "Learn More",
|
|
127
|
+
link: "/about",
|
|
128
|
+
colorPreset: { color: "secondary-500" },
|
|
129
|
+
fontSize: "text-base",
|
|
130
|
+
rounding: "rounded-md",
|
|
131
|
+
fill: "outline"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
description: "Neutral button - Use for low-priority actions or navigation",
|
|
136
|
+
type: "button",
|
|
137
|
+
props: {
|
|
138
|
+
label: "View Details",
|
|
139
|
+
link: "/details",
|
|
140
|
+
colorPreset: { color: "neutral-500" },
|
|
141
|
+
fontSize: "text-sm",
|
|
142
|
+
rounding: "rounded-md"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
description: "Accent button - Use for special promotions or highlighted actions",
|
|
147
|
+
type: "button",
|
|
148
|
+
props: {
|
|
149
|
+
label: "Special Offer",
|
|
150
|
+
link: "/promo",
|
|
151
|
+
colorPreset: { color: "accent-500" },
|
|
152
|
+
fontSize: "text-lg",
|
|
153
|
+
rounding: "rounded-lg"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
// EXTERNAL LINK EXAMPLES
|
|
157
|
+
{
|
|
158
|
+
description: "External website link - Full URL for outside navigation",
|
|
159
|
+
type: "button",
|
|
160
|
+
props: {
|
|
161
|
+
label: "Visit Our Store",
|
|
162
|
+
link: "https://store.example.com",
|
|
163
|
+
colorPreset: { color: "primary-500" },
|
|
164
|
+
fontSize: "text-base",
|
|
165
|
+
rounding: "rounded-md"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
description: "Download button - Direct file download link",
|
|
170
|
+
type: "button",
|
|
171
|
+
props: {
|
|
172
|
+
label: "Download PDF",
|
|
173
|
+
link: "https://example.com/brochure.pdf",
|
|
174
|
+
colorPreset: { color: "secondary-600" },
|
|
175
|
+
fontSize: "text-base",
|
|
176
|
+
rounding: "rounded-lg",
|
|
177
|
+
fill: "outline"
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
// INTERNAL NAVIGATION EXAMPLES
|
|
181
|
+
{
|
|
182
|
+
description: "Internal page navigation using page ID reference",
|
|
183
|
+
type: "button",
|
|
184
|
+
props: {
|
|
185
|
+
label: "Contact Us",
|
|
186
|
+
link: "contact",
|
|
187
|
+
colorPreset: { color: "neutral-600" },
|
|
188
|
+
fontSize: "text-base",
|
|
189
|
+
rounding: "rounded-md"
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
description: "Internal relative URL navigation",
|
|
194
|
+
type: "button",
|
|
195
|
+
props: {
|
|
196
|
+
label: "Our Services",
|
|
197
|
+
link: "/services",
|
|
198
|
+
colorPreset: { color: "primary-500" },
|
|
199
|
+
fontSize: "text-base",
|
|
200
|
+
rounding: "rounded-md"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
// DYNAMIC CONTENT EXAMPLES
|
|
204
|
+
{
|
|
205
|
+
description: "Dynamic product purchase button using product query data",
|
|
206
|
+
type: "button",
|
|
207
|
+
props: {
|
|
208
|
+
label: "Buy {{product.name}} - ${{product.price}}",
|
|
209
|
+
link: "/checkout/{{product.id}}",
|
|
210
|
+
colorPreset: { color: "primary-600" },
|
|
211
|
+
fontSize: "text-base",
|
|
212
|
+
rounding: "rounded-md",
|
|
213
|
+
fill: "outline"
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
description: "Dynamic employee contact button using team member data",
|
|
218
|
+
type: "button",
|
|
219
|
+
props: {
|
|
220
|
+
label: "Contact {{employee.name}}",
|
|
221
|
+
link: "mailto:{{employee.email}}",
|
|
222
|
+
colorPreset: { color: "neutral-500" },
|
|
223
|
+
fontSize: "text-sm",
|
|
224
|
+
rounding: "rounded-md"
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
description: "Dynamic event registration using event query data",
|
|
229
|
+
type: "button",
|
|
230
|
+
props: {
|
|
231
|
+
label: "Register for {{event.title}}",
|
|
232
|
+
link: "/events/{{event.slug}}/register",
|
|
233
|
+
colorPreset: { color: "accent-500" },
|
|
234
|
+
fontSize: "text-base",
|
|
235
|
+
rounding: "rounded-lg"
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
// STYLING VARIATIONS
|
|
239
|
+
{
|
|
240
|
+
description: "Small compact button - Use in tight spaces or secondary contexts",
|
|
241
|
+
type: "button",
|
|
242
|
+
props: {
|
|
243
|
+
label: "Edit",
|
|
244
|
+
link: "/edit",
|
|
245
|
+
colorPreset: { color: "neutral-400" },
|
|
246
|
+
fontSize: "text-sm",
|
|
247
|
+
rounding: "rounded-sm"
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
description: "Large hero button - Use for prominent call-to-actions",
|
|
252
|
+
type: "button",
|
|
253
|
+
props: {
|
|
254
|
+
label: "Start Free Trial",
|
|
255
|
+
link: "/trial",
|
|
256
|
+
colorPreset: { color: "primary-600" },
|
|
257
|
+
fontSize: "text-xl",
|
|
258
|
+
rounding: "rounded-xl",
|
|
259
|
+
fill: "outline"
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
description: "Pill-shaped button - Modern rounded design",
|
|
264
|
+
type: "button",
|
|
265
|
+
props: {
|
|
266
|
+
label: "Subscribe",
|
|
267
|
+
link: "/newsletter",
|
|
268
|
+
colorPreset: { color: "accent-500" },
|
|
269
|
+
fontSize: "text-base",
|
|
270
|
+
rounding: "rounded-full"
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
description: "Sharp modern button - Angular design with no rounding",
|
|
275
|
+
type: "button",
|
|
276
|
+
props: {
|
|
277
|
+
label: "Join Now",
|
|
278
|
+
link: "/join",
|
|
279
|
+
colorPreset: { color: "primary-500" },
|
|
280
|
+
fontSize: "text-base",
|
|
281
|
+
rounding: "rounded-none",
|
|
282
|
+
fill: "outline"
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
// GRADIENT EXAMPLES
|
|
286
|
+
{
|
|
287
|
+
description: "Gradient button - Eye-catching with color transitions",
|
|
288
|
+
type: "button",
|
|
289
|
+
props: {
|
|
290
|
+
label: "Premium Upgrade",
|
|
291
|
+
link: "/upgrade",
|
|
292
|
+
colorPreset: {
|
|
293
|
+
color: "primary-500",
|
|
294
|
+
gradientDirection: "bg-gradient-to-r"
|
|
295
|
+
},
|
|
296
|
+
fontSize: "text-lg",
|
|
297
|
+
rounding: "rounded-lg"
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
description: "Diagonal gradient button - Unique visual appeal",
|
|
302
|
+
type: "button",
|
|
303
|
+
props: {
|
|
304
|
+
label: "Launch Campaign",
|
|
305
|
+
link: "/campaigns/new",
|
|
306
|
+
colorPreset: {
|
|
307
|
+
color: "accent-600",
|
|
308
|
+
gradientDirection: "bg-gradient-to-br"
|
|
309
|
+
},
|
|
310
|
+
fontSize: "text-base",
|
|
311
|
+
rounding: "rounded-md",
|
|
312
|
+
fill: "outline"
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
// FILL STYLE COMPARISON EXAMPLES
|
|
316
|
+
{
|
|
317
|
+
description: "Solid fill button - Traditional filled background style",
|
|
318
|
+
type: "button",
|
|
319
|
+
props: {
|
|
320
|
+
label: "Solid Button",
|
|
321
|
+
link: "/solid",
|
|
322
|
+
colorPreset: { color: "primary-500" },
|
|
323
|
+
fontSize: "text-base",
|
|
324
|
+
rounding: "rounded-md",
|
|
325
|
+
fill: "solid"
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
description: "Outline fill button - Transparent background with border",
|
|
330
|
+
type: "button",
|
|
331
|
+
props: {
|
|
332
|
+
label: "Outline Button",
|
|
333
|
+
link: "/outline",
|
|
334
|
+
colorPreset: { color: "primary-500" },
|
|
335
|
+
fontSize: "text-base",
|
|
336
|
+
rounding: "rounded-md",
|
|
337
|
+
fill: "outline"
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
];
|
|
341
|
+
|
|
342
|
+
export {
|
|
343
|
+
manifest,
|
|
344
|
+
examples
|
|
345
|
+
};
|
|
346
|
+
//# sourceMappingURL=chunk-7U5WPHXB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/button.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { RxButton } from \"react-icons/rx\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { urlOrPageId } from \"../props/string\";\nimport { rounding } from \"../props/border\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { fontSize } from \"../props/text\";\nimport { colorPreset } from \"../props/color-preset\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"button\",\n name: \"Button\",\n category: \"basic\",\n description: \"A button\",\n aiInstructions: `Use this button component for navigation and call-to-action elements throughout the site.\n\nWHEN TO USE:\n- Navigation links (Learn More, About Us, Contact)\n- Call-to-action buttons (Sign Up, Get Started, Buy Now)\n- External links (Download, Visit Website, Social Media)\n- Internal page navigation (Go to Services, View Portfolio)\n\nSTYLING GUIDELINES:\n- colorPreset: Use \"primary-500\" for main CTAs, \"secondary-500\" for secondary actions, \"neutral-500\" for low-priority actions, \"accent-500\" for highlight actions\n- fontSize: \"text-sm\" for compact buttons, \"text-base\" for standard, \"text-lg\" for emphasis, \"text-xl\" for hero buttons\n- rounding: \"rounded-none\" for sharp/modern, \"rounded-md\" for standard, \"rounded-lg\" for friendly, \"rounded-full\" for pills\n- fill: Use \"solid\" for primary actions with background color, \"outline\" for secondary actions with transparent background and border\n- link: Use full URLs for external (https://example.com), relative paths for internal (/about), or page IDs for site pages (about-us)\n\nDYNAMIC CONTENT:\n- Support template variables: \"Buy {{product.name}}\" or \"Contact {{employee.name}}\"\n- Link to dynamic pages: \"/products/{{product.id}}\" or \"/team/{{employee.slug}}\"\n\nAVOID:\n- Using in forms (forms have dedicated submit buttons)\n- Empty or unclear labels (use descriptive action words)\n- Mixing multiple high-emphasis colors on same page`,\n resizable: \"horizontal\",\n icon: RxButton,\n minWidth: {\n desktop: 120,\n mobile: 120,\n },\n defaultWidth: {\n mobile: \"100%\",\n },\n props: defineProps(\n {\n colorPreset: Type.Optional(\n colorPreset({\n default: { color: \"primary-500\" },\n title: \"Color\",\n \"ui:default-gradient-direction\": \"bg-gradient-to-b\",\n }),\n ),\n label: Type.String({ title: \"Label\", default: \"My button\", metadata: { category: \"content\" } }),\n fontSize: Type.Optional(\n fontSize({\n title: \"Font size\",\n description: \"The font size of the button text.\",\n default: \"text-base\",\n \"ui:responsive\": \"desktop\",\n \"ui:no-extra-large-sizes\": true,\n }),\n ),\n rounding: Type.Optional(\n rounding({\n default: \"rounded-md\",\n }),\n ),\n fill: Type.Optional(\n StringEnum([\"solid\", \"outline\"], {\n title: \"Fill\",\n description: \"Button appearance style - solid background or outlined.\",\n default: \"solid\",\n enumNames: [\"Solid\", \"Outline\"],\n \"ui:field\": \"enum\",\n \"ui:display\": \"select\",\n }),\n ),\n link: urlOrPageId({\n title: \"Link\",\n \"ui:placeholder\": \"https://example.com\",\n metadata: { category: \"content\" },\n }),\n },\n { noGrow: true },\n ),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n // BASIC BUTTON TYPES\n {\n description: \"Primary call-to-action button - Use for main actions users should take\",\n type: \"button\",\n props: {\n label: \"Get Started\",\n link: \"/signup\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n fill: \"solid\",\n },\n },\n {\n description: \"Secondary button - Use for supporting actions or alternatives\",\n type: \"button\",\n props: {\n label: \"Learn More\",\n link: \"/about\",\n colorPreset: { color: \"secondary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n fill: \"outline\",\n },\n },\n {\n description: \"Neutral button - Use for low-priority actions or navigation\",\n type: \"button\",\n props: {\n label: \"View Details\",\n link: \"/details\",\n colorPreset: { color: \"neutral-500\" },\n fontSize: \"text-sm\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Accent button - Use for special promotions or highlighted actions\",\n type: \"button\",\n props: {\n label: \"Special Offer\",\n link: \"/promo\",\n colorPreset: { color: \"accent-500\" },\n fontSize: \"text-lg\",\n rounding: \"rounded-lg\",\n },\n },\n\n // EXTERNAL LINK EXAMPLES\n {\n description: \"External website link - Full URL for outside navigation\",\n type: \"button\",\n props: {\n label: \"Visit Our Store\",\n link: \"https://store.example.com\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Download button - Direct file download link\",\n type: \"button\",\n props: {\n label: \"Download PDF\",\n link: \"https://example.com/brochure.pdf\",\n colorPreset: { color: \"secondary-600\" },\n fontSize: \"text-base\",\n rounding: \"rounded-lg\",\n fill: \"outline\",\n },\n },\n\n // INTERNAL NAVIGATION EXAMPLES\n {\n description: \"Internal page navigation using page ID reference\",\n type: \"button\",\n props: {\n label: \"Contact Us\",\n link: \"contact\",\n colorPreset: { color: \"neutral-600\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Internal relative URL navigation\",\n type: \"button\",\n props: {\n label: \"Our Services\",\n link: \"/services\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n },\n },\n\n // DYNAMIC CONTENT EXAMPLES\n {\n description: \"Dynamic product purchase button using product query data\",\n type: \"button\",\n props: {\n label: \"Buy {{product.name}} - ${{product.price}}\",\n link: \"/checkout/{{product.id}}\",\n colorPreset: { color: \"primary-600\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n fill: \"outline\",\n },\n },\n {\n description: \"Dynamic employee contact button using team member data\",\n type: \"button\",\n props: {\n label: \"Contact {{employee.name}}\",\n link: \"mailto:{{employee.email}}\",\n colorPreset: { color: \"neutral-500\" },\n fontSize: \"text-sm\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Dynamic event registration using event query data\",\n type: \"button\",\n props: {\n label: \"Register for {{event.title}}\",\n link: \"/events/{{event.slug}}/register\",\n colorPreset: { color: \"accent-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-lg\",\n },\n },\n\n // STYLING VARIATIONS\n {\n description: \"Small compact button - Use in tight spaces or secondary contexts\",\n type: \"button\",\n props: {\n label: \"Edit\",\n link: \"/edit\",\n colorPreset: { color: \"neutral-400\" },\n fontSize: \"text-sm\",\n rounding: \"rounded-sm\",\n },\n },\n {\n description: \"Large hero button - Use for prominent call-to-actions\",\n type: \"button\",\n props: {\n label: \"Start Free Trial\",\n link: \"/trial\",\n colorPreset: { color: \"primary-600\" },\n fontSize: \"text-xl\",\n rounding: \"rounded-xl\",\n fill: \"outline\",\n },\n },\n {\n description: \"Pill-shaped button - Modern rounded design\",\n type: \"button\",\n props: {\n label: \"Subscribe\",\n link: \"/newsletter\",\n colorPreset: { color: \"accent-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-full\",\n },\n },\n {\n description: \"Sharp modern button - Angular design with no rounding\",\n type: \"button\",\n props: {\n label: \"Join Now\",\n link: \"/join\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-none\",\n fill: \"outline\",\n },\n },\n\n // GRADIENT EXAMPLES\n {\n description: \"Gradient button - Eye-catching with color transitions\",\n type: \"button\",\n props: {\n label: \"Premium Upgrade\",\n link: \"/upgrade\",\n colorPreset: {\n color: \"primary-500\",\n gradientDirection: \"bg-gradient-to-r\",\n },\n fontSize: \"text-lg\",\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Diagonal gradient button - Unique visual appeal\",\n type: \"button\",\n props: {\n label: \"Launch Campaign\",\n link: \"/campaigns/new\",\n colorPreset: {\n color: \"accent-600\",\n gradientDirection: \"bg-gradient-to-br\",\n },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n fill: \"outline\",\n },\n },\n\n // FILL STYLE COMPARISON EXAMPLES\n {\n description: \"Solid fill button - Traditional filled background style\",\n type: \"button\",\n props: {\n label: \"Solid Button\",\n link: \"/solid\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n fill: \"solid\",\n },\n },\n {\n description: \"Outline fill button - Transparent background with border\",\n type: \"button\",\n props: {\n label: \"Outline Button\",\n link: \"/outline\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n fill: \"outline\",\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -1,8 +1,5 @@
|
|
|
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
|
|
|
7
4
|
// src/shared/bricks/props/tags.ts
|
|
8
5
|
import { Type } from "@sinclair/typebox";
|
|
@@ -23,12 +20,8 @@ function tags(options) {
|
|
|
23
20
|
}
|
|
24
21
|
);
|
|
25
22
|
}
|
|
26
|
-
function tagsRef(options = {}) {
|
|
27
|
-
return typedRef("content:tags", { ...options });
|
|
28
|
-
}
|
|
29
23
|
|
|
30
24
|
export {
|
|
31
|
-
tags
|
|
32
|
-
tagsRef
|
|
25
|
+
tags
|
|
33
26
|
};
|
|
34
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-BHARJBEK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/props/tags.ts"],"sourcesContent":["import { type Static, Type, type StringOptions } from \"@sinclair/typebox\";\n\nexport function tags(options?: StringOptions) {\n return Type.Array(\n Type.String({\n title: options?.title ?? \"Tags\",\n ...options,\n }),\n {\n // $id: \"content:tags\",\n \"ui:field\": \"tags\",\n title: options?.title ?? \"Tags\",\n metadata: {\n category: \"content\",\n },\n ...options,\n },\n );\n}\n\nexport type TagsSettings = Static<ReturnType<typeof tags>>;\n"],"mappings":";;;;AAAA,SAAsB,YAAgC;AAE/C,SAAS,KAAK,SAAyB;AAC5C,SAAO,KAAK;AAAA,IACV,KAAK,OAAO;AAAA,MACV,OAAO,SAAS,SAAS;AAAA,MACzB,GAAG;AAAA,IACL,CAAC;AAAA,IACD;AAAA;AAAA,MAEE,YAAY;AAAA,MACZ,OAAO,SAAS,SAAS;AAAA,MACzB,UAAU;AAAA,QACR,UAAU;AAAA,MACZ;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AACF;","names":[]}
|