@upstart.gg/sdk 0.0.131 → 0.0.133
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.js +1 -0
- package/dist/shared/ai/schemas.js.map +1 -0
- package/dist/shared/ai/types.d.ts +6 -0
- package/dist/shared/ai/types.d.ts.map +1 -1
- package/dist/shared/ai/types.js +1 -0
- package/dist/shared/ai/types.js.map +1 -0
- package/dist/shared/ajv.js +2 -1
- package/dist/shared/ajv.js.map +1 -0
- package/dist/shared/analytics/init.js +1 -0
- package/dist/shared/analytics/init.js.map +1 -0
- package/dist/shared/analytics/track.js +1 -0
- package/dist/shared/analytics/track.js.map +1 -0
- package/dist/shared/analytics/types.js +1 -0
- package/dist/shared/analytics/types.js.map +1 -0
- package/dist/shared/attributes.js +2 -1
- package/dist/shared/attributes.js.map +1 -0
- package/dist/shared/brick-manifest.js +2 -1
- package/dist/shared/brick-manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/accordion.manifest.js +2 -1
- package/dist/shared/bricks/manifests/accordion.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/all-manifests.js +2 -1
- package/dist/shared/bricks/manifests/all-manifests.js.map +1 -0
- package/dist/shared/bricks/manifests/box.manifest.js +2 -1
- package/dist/shared/bricks/manifests/box.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/button.manifest.js +2 -1
- package/dist/shared/bricks/manifests/button.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/card.manifest.js +2 -1
- package/dist/shared/bricks/manifests/card.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/carousel.manifest.js +2 -1
- package/dist/shared/bricks/manifests/carousel.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/footer.manifest.js +2 -1
- package/dist/shared/bricks/manifests/footer.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/form.manifest.js +2 -1
- package/dist/shared/bricks/manifests/form.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/hero.manifest.js +2 -1
- package/dist/shared/bricks/manifests/hero.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/html.manifest.js +2 -1
- package/dist/shared/bricks/manifests/html.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.js +2 -1
- package/dist/shared/bricks/manifests/icon.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/image.manifest.js +2 -1
- package/dist/shared/bricks/manifests/image.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +2 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/map.manifest.js +2 -1
- package/dist/shared/bricks/manifests/map.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/navbar.manifest.js +2 -1
- package/dist/shared/bricks/manifests/navbar.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/sidebar.manifest.js +2 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/social-links.manifest.js +2 -1
- package/dist/shared/bricks/manifests/social-links.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/spacer.manifest.js +2 -1
- package/dist/shared/bricks/manifests/spacer.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/testimonials.manifest.js +2 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/text.manifest.js +2 -1
- package/dist/shared/bricks/manifests/text.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/video.manifest.js +2 -1
- package/dist/shared/bricks/manifests/video.manifest.js.map +1 -0
- package/dist/shared/bricks/props/align.js +2 -1
- package/dist/shared/bricks/props/align.js.map +1 -0
- package/dist/shared/bricks/props/background.js +2 -1
- package/dist/shared/bricks/props/background.js.map +1 -0
- package/dist/shared/bricks/props/boolean.js +2 -1
- package/dist/shared/bricks/props/boolean.js.map +1 -0
- package/dist/shared/bricks/props/border.js +2 -1
- package/dist/shared/bricks/props/border.js.map +1 -0
- package/dist/shared/bricks/props/color-preset.js +2 -1
- package/dist/shared/bricks/props/color-preset.js.map +1 -0
- package/dist/shared/bricks/props/color.js +2 -1
- package/dist/shared/bricks/props/color.js.map +1 -0
- package/dist/shared/bricks/props/common.js +2 -1
- package/dist/shared/bricks/props/common.js.map +1 -0
- package/dist/shared/bricks/props/css-length.js +2 -1
- package/dist/shared/bricks/props/css-length.js.map +1 -0
- package/dist/shared/bricks/props/datarecord.js +2 -1
- package/dist/shared/bricks/props/datarecord.js.map +1 -0
- package/dist/shared/bricks/props/datasource.js +2 -1
- package/dist/shared/bricks/props/datasource.js.map +1 -0
- package/dist/shared/bricks/props/date.js +2 -1
- package/dist/shared/bricks/props/date.js.map +1 -0
- package/dist/shared/bricks/props/direction.js +2 -1
- package/dist/shared/bricks/props/direction.js.map +1 -0
- package/dist/shared/bricks/props/dynamic.js +2 -1
- package/dist/shared/bricks/props/dynamic.js.map +1 -0
- package/dist/shared/bricks/props/effects.js +2 -1
- package/dist/shared/bricks/props/effects.js.map +1 -0
- package/dist/shared/bricks/props/enum.js +2 -1
- package/dist/shared/bricks/props/enum.js.map +1 -0
- package/dist/shared/bricks/props/file.js +1 -0
- package/dist/shared/bricks/props/file.js.map +1 -0
- package/dist/shared/bricks/props/geolocation.js +2 -1
- package/dist/shared/bricks/props/geolocation.js.map +1 -0
- package/dist/shared/bricks/props/helpers.js +2 -1
- package/dist/shared/bricks/props/helpers.js.map +1 -0
- package/dist/shared/bricks/props/image.js +2 -1
- package/dist/shared/bricks/props/image.js.map +1 -0
- package/dist/shared/bricks/props/number.js +2 -1
- package/dist/shared/bricks/props/number.js.map +1 -0
- package/dist/shared/bricks/props/position.js +2 -1
- package/dist/shared/bricks/props/position.js.map +1 -0
- package/dist/shared/bricks/props/string.js +2 -1
- package/dist/shared/bricks/props/string.js.map +1 -0
- package/dist/shared/bricks/props/tags.js +2 -1
- package/dist/shared/bricks/props/tags.js.map +1 -0
- package/dist/shared/bricks/props/text.js +2 -1
- package/dist/shared/bricks/props/text.js.map +1 -0
- package/dist/shared/bricks/props/types.js +1 -0
- package/dist/shared/bricks/props/types.js.map +1 -0
- package/dist/shared/bricks.js +2 -1
- package/dist/shared/bricks.js.map +1 -0
- package/dist/shared/{chunk-6PGAWO4H.js → chunk-3YVJ2ELD.js} +2 -1
- package/dist/shared/chunk-3YVJ2ELD.js.map +1 -0
- package/dist/shared/{chunk-AB3IMRXZ.js → chunk-4BTB3MU2.js} +2 -1
- package/dist/shared/chunk-4BTB3MU2.js.map +1 -0
- package/dist/shared/{chunk-ZJNA4QQC.js → chunk-4WDWJA3N.js} +1 -0
- package/dist/shared/chunk-4WDWJA3N.js.map +1 -0
- package/dist/shared/{chunk-NQKXDMQ5.js → chunk-5O4Z3YQY.js} +1 -0
- package/dist/shared/chunk-5O4Z3YQY.js.map +1 -0
- package/dist/shared/{chunk-VK26ZZFR.js → chunk-5YRC3IT3.js} +2 -1
- package/dist/shared/chunk-5YRC3IT3.js.map +1 -0
- package/dist/shared/{chunk-WAML3IGZ.js → chunk-6HLU4UI2.js} +1 -0
- package/dist/shared/chunk-6HLU4UI2.js.map +1 -0
- package/dist/shared/{chunk-MKIXZXWS.js → chunk-6I3ONVU6.js} +1 -0
- package/dist/shared/chunk-6I3ONVU6.js.map +1 -0
- package/dist/shared/{chunk-AZHH3XJJ.js → chunk-7A2JNQX3.js} +2 -1
- package/dist/shared/chunk-7A2JNQX3.js.map +1 -0
- package/dist/shared/{chunk-7UBMXMNJ.js → chunk-A3GF4PYW.js} +2 -1
- package/dist/shared/chunk-A3GF4PYW.js.map +1 -0
- package/dist/shared/chunk-A3K4NUVP.js +4 -0
- package/dist/shared/chunk-A3K4NUVP.js.map +1 -0
- package/dist/shared/{chunk-F4JNKU7J.js → chunk-AFVJZPLS.js} +2 -1
- package/dist/shared/chunk-AFVJZPLS.js.map +1 -0
- package/dist/shared/{chunk-PW5HRVMD.js → chunk-AI4GHU7R.js} +2 -1
- package/dist/shared/chunk-AI4GHU7R.js.map +1 -0
- package/dist/shared/{chunk-SAJY7H6N.js → chunk-B3EATRFX.js} +2 -1
- package/dist/shared/chunk-B3EATRFX.js.map +1 -0
- package/dist/shared/{chunk-3FPFR5RA.js → chunk-CCI4C3TM.js} +2 -1
- package/dist/shared/chunk-CCI4C3TM.js.map +1 -0
- package/dist/shared/{chunk-URRCKLAS.js → chunk-CFF6Q7O7.js} +2 -1
- package/dist/shared/chunk-CFF6Q7O7.js.map +1 -0
- package/dist/shared/{chunk-Z4YKRLOX.js → chunk-CZRCW5EN.js} +2 -1
- package/dist/shared/chunk-CZRCW5EN.js.map +1 -0
- package/dist/shared/{chunk-ARMM6B47.js → chunk-DCH4ZKWT.js} +1 -0
- package/dist/shared/chunk-DCH4ZKWT.js.map +1 -0
- package/dist/shared/{chunk-GC5OWY2Z.js → chunk-DHI3IBOD.js} +2 -1
- package/dist/shared/chunk-DHI3IBOD.js.map +1 -0
- package/dist/shared/{chunk-PZYX3ACO.js → chunk-DQ7PRWTG.js} +1 -0
- package/dist/shared/chunk-DQ7PRWTG.js.map +1 -0
- package/dist/shared/{chunk-XED6ARVN.js → chunk-E6XEI7IK.js} +2 -1
- package/dist/shared/chunk-E6XEI7IK.js.map +1 -0
- package/dist/shared/{chunk-6R76KIHZ.js → chunk-FLOMNC6J.js} +2 -1
- package/dist/shared/chunk-FLOMNC6J.js.map +1 -0
- package/dist/shared/{chunk-EVDZ2KND.js → chunk-G5CJU6RD.js} +2 -1
- package/dist/shared/chunk-G5CJU6RD.js.map +1 -0
- package/dist/shared/{chunk-MVCVVKBY.js → chunk-GACHLACT.js} +2 -1
- package/dist/shared/chunk-GACHLACT.js.map +1 -0
- package/dist/shared/{chunk-X62OEAE6.js → chunk-GLS7HPIZ.js} +1 -0
- package/dist/shared/chunk-GLS7HPIZ.js.map +1 -0
- package/dist/shared/{chunk-COT2ROEH.js → chunk-GOMXZC4B.js} +2 -1
- package/dist/shared/chunk-GOMXZC4B.js.map +1 -0
- package/dist/shared/{chunk-L2HOZVBC.js → chunk-GPEMPZXK.js} +1 -0
- package/dist/shared/chunk-GPEMPZXK.js.map +1 -0
- package/dist/shared/{chunk-IFEIRRZ2.js → chunk-HAGKVQOW.js} +1 -0
- package/dist/shared/chunk-HAGKVQOW.js.map +1 -0
- package/dist/shared/{chunk-ILIWVWHC.js → chunk-I3VL6SRH.js} +2 -1
- package/dist/shared/chunk-I3VL6SRH.js.map +1 -0
- package/dist/shared/{chunk-2NLDX5FG.js → chunk-IKC3FK7L.js} +2 -1
- package/dist/shared/chunk-IKC3FK7L.js.map +1 -0
- package/dist/shared/{chunk-STDCM2KD.js → chunk-IKHZD2JH.js} +2 -1
- package/dist/shared/chunk-IKHZD2JH.js.map +1 -0
- package/dist/shared/{chunk-NKIEDT7V.js → chunk-IUXCWWGO.js} +1 -0
- package/dist/shared/chunk-IUXCWWGO.js.map +1 -0
- package/dist/shared/{chunk-SFKZAUPW.js → chunk-JMN3HTZU.js} +1 -0
- package/dist/shared/chunk-JMN3HTZU.js.map +1 -0
- package/dist/shared/{chunk-VLXZMESE.js → chunk-KBHDY425.js} +1 -0
- package/dist/shared/chunk-KBHDY425.js.map +1 -0
- package/dist/shared/{chunk-5WY7LYXK.js → chunk-KFM6KXSE.js} +1 -0
- package/dist/shared/chunk-KFM6KXSE.js.map +1 -0
- package/dist/shared/{chunk-7QFMCLUL.js → chunk-KLD3P5XH.js} +1 -0
- package/dist/shared/chunk-KLD3P5XH.js.map +1 -0
- package/dist/shared/{chunk-6L3Z5SZQ.js → chunk-KO5FPOWZ.js} +1 -0
- package/dist/shared/chunk-KO5FPOWZ.js.map +1 -0
- package/dist/shared/{chunk-YIFNKP4J.js → chunk-KSEURRVZ.js} +1 -0
- package/dist/shared/chunk-KSEURRVZ.js.map +1 -0
- package/dist/shared/{chunk-HP7CZB2F.js → chunk-KYY3PHP7.js} +1 -0
- package/dist/shared/chunk-KYY3PHP7.js.map +1 -0
- package/dist/shared/{chunk-ARYG4XMX.js → chunk-NJGXC7D6.js} +2 -1
- package/dist/shared/chunk-NJGXC7D6.js.map +1 -0
- package/dist/shared/{chunk-SFDRAHYP.js → chunk-NM5MMPCF.js} +2 -1
- package/dist/shared/chunk-NM5MMPCF.js.map +1 -0
- package/dist/shared/{chunk-GXNHF6J5.js → chunk-OGBMYMZD.js} +2 -1
- package/dist/shared/chunk-OGBMYMZD.js.map +1 -0
- package/dist/shared/{chunk-HSRXUIVM.js → chunk-OHNYCXPX.js} +2 -1
- package/dist/shared/chunk-OHNYCXPX.js.map +1 -0
- package/dist/shared/{chunk-MPBYGS6W.js → chunk-OIY3EPHO.js} +1 -0
- package/dist/shared/chunk-OIY3EPHO.js.map +1 -0
- package/dist/shared/{chunk-L42YBY5I.js → chunk-PIG623TZ.js} +1 -0
- package/dist/shared/chunk-PIG623TZ.js.map +1 -0
- package/dist/shared/chunk-PLSV746R.js +4 -0
- package/dist/shared/chunk-PLSV746R.js.map +1 -0
- package/dist/shared/chunk-PSCN3VVA.js +4 -0
- package/dist/shared/chunk-PSCN3VVA.js.map +1 -0
- package/dist/shared/{chunk-3P36LG6T.js → chunk-PSTFJ5IJ.js} +2 -1
- package/dist/shared/chunk-PSTFJ5IJ.js.map +1 -0
- package/dist/shared/{chunk-TH5SONR6.js → chunk-PXI7AHWS.js} +2 -1
- package/dist/shared/chunk-PXI7AHWS.js.map +1 -0
- package/dist/shared/{chunk-AMQAGDFH.js → chunk-Q4H4QEMB.js} +1 -0
- package/dist/shared/chunk-Q4H4QEMB.js.map +1 -0
- package/dist/shared/{chunk-LEWKHCRI.js → chunk-QGYZ7CG5.js} +2 -1
- package/dist/shared/chunk-QGYZ7CG5.js.map +1 -0
- package/dist/shared/{chunk-US53TNMK.js → chunk-QWGUMKZC.js} +2 -1
- package/dist/shared/chunk-QWGUMKZC.js.map +1 -0
- package/dist/shared/{chunk-5X5SX5N7.js → chunk-QX6OGRRT.js} +2 -1
- package/dist/shared/chunk-QX6OGRRT.js.map +1 -0
- package/dist/shared/{chunk-VDX2J22H.js → chunk-R6ATC4TC.js} +2 -1
- package/dist/shared/chunk-R6ATC4TC.js.map +1 -0
- package/dist/shared/{chunk-WXKRIUTA.js → chunk-RDZK73KV.js} +1 -0
- package/dist/shared/chunk-RDZK73KV.js.map +1 -0
- package/dist/shared/{chunk-4GIZ6WSG.js → chunk-RJYZ5FAR.js} +2 -1
- package/dist/shared/chunk-RJYZ5FAR.js.map +1 -0
- package/dist/shared/{chunk-3QOAHMV4.js → chunk-SQ5T4AT5.js} +2 -1
- package/dist/shared/chunk-SQ5T4AT5.js.map +1 -0
- package/dist/shared/{chunk-DKNOZLA6.js → chunk-SWLUQVK7.js} +2 -1
- package/dist/shared/chunk-SWLUQVK7.js.map +1 -0
- package/dist/shared/{chunk-QGFQA7OZ.js → chunk-SXHDQ64Z.js} +2 -1
- package/dist/shared/chunk-SXHDQ64Z.js.map +1 -0
- package/dist/shared/{chunk-UDQWYGSO.js → chunk-SY6DZLTC.js} +2 -1
- package/dist/shared/chunk-SY6DZLTC.js.map +1 -0
- package/dist/shared/{chunk-RJZZWCBD.js → chunk-VEDQV5XO.js} +1 -0
- package/dist/shared/chunk-VEDQV5XO.js.map +1 -0
- package/dist/shared/{chunk-JRCVYDCD.js → chunk-W33JMRRN.js} +2 -1
- package/dist/shared/chunk-W33JMRRN.js.map +1 -0
- package/dist/shared/{chunk-Y3X4F4YJ.js → chunk-WBZW5LVH.js} +2 -1
- package/dist/shared/chunk-WBZW5LVH.js.map +1 -0
- package/dist/shared/{chunk-SDS4QU72.js → chunk-WHTPGWUV.js} +2 -1
- package/dist/shared/chunk-WHTPGWUV.js.map +1 -0
- package/dist/shared/{chunk-LT4CW2F7.js → chunk-WYVJE6J5.js} +2 -1
- package/dist/shared/chunk-WYVJE6J5.js.map +1 -0
- package/dist/shared/{chunk-QDJQAZIA.js → chunk-ZA3GAB4H.js} +2 -1
- package/dist/shared/chunk-ZA3GAB4H.js.map +1 -0
- package/dist/shared/{chunk-2CYAFF56.js → chunk-ZFCUSWMT.js} +1 -0
- package/dist/shared/chunk-ZFCUSWMT.js.map +1 -0
- package/dist/shared/{chunk-UCR2UZOY.js → chunk-ZQPXQCY2.js} +2 -1
- package/dist/shared/chunk-ZQPXQCY2.js.map +1 -0
- package/dist/shared/{chunk-DHSWVVMI.js → chunk-ZTZJHY4E.js} +2 -1
- package/dist/shared/chunk-ZTZJHY4E.js.map +1 -0
- package/dist/shared/context.js +1 -0
- package/dist/shared/context.js.map +1 -0
- package/dist/shared/datarecords/external/airtable/handler.js +1 -0
- package/dist/shared/datarecords/external/airtable/handler.js.map +1 -0
- package/dist/shared/datarecords/external/airtable/oauth/config.js +1 -0
- package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -0
- package/dist/shared/datarecords/external/airtable/types.js +2 -1
- package/dist/shared/datarecords/external/airtable/types.js.map +1 -0
- package/dist/shared/datarecords/external/generic-webhook/handler.js +1 -0
- package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -0
- package/dist/shared/datarecords/external/generic-webhook/options.js +1 -0
- package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -0
- package/dist/shared/datarecords/external/google/oauth/config.js +1 -0
- package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -0
- package/dist/shared/datarecords/external/google/sheets/client.js +2 -1
- package/dist/shared/datarecords/external/google/sheets/client.js.map +1 -0
- package/dist/shared/datarecords/external/google/sheets/handler.js +2 -1
- package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -0
- package/dist/shared/datarecords/external/google/sheets/types.js +2 -1
- package/dist/shared/datarecords/external/google/sheets/types.js.map +1 -0
- package/dist/shared/datarecords/external/notion/handler.js +1 -0
- package/dist/shared/datarecords/external/notion/handler.js.map +1 -0
- package/dist/shared/datarecords/external/notion/oauth/config.js +1 -0
- package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -0
- package/dist/shared/datarecords/external/notion/types.js +2 -1
- package/dist/shared/datarecords/external/notion/types.js.map +1 -0
- package/dist/shared/datarecords/types.js +2 -1
- package/dist/shared/datarecords/types.js.map +1 -0
- package/dist/shared/datarecords.js +1 -0
- package/dist/shared/datarecords.js.map +1 -0
- package/dist/shared/datasources/external/facebook/posts/fetcher.js +2 -1
- package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/facebook/posts/schema.js +1 -0
- package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -0
- package/dist/shared/datasources/external/http-json/fetcher.js +2 -1
- package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/http-json/options.js +1 -0
- package/dist/shared/datasources/external/http-json/options.js.map +1 -0
- package/dist/shared/datasources/external/http-json/schema.js +1 -0
- package/dist/shared/datasources/external/http-json/schema.js.map +1 -0
- package/dist/shared/datasources/external/instagram/feed/fetcher.js +2 -1
- package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/instagram/feed/schema.js +1 -0
- package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -0
- package/dist/shared/datasources/external/mastodon/account/fetcher.js +2 -1
- package/dist/shared/datasources/external/mastodon/account/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/mastodon/account/schema.js +2 -1
- package/dist/shared/datasources/external/mastodon/account/schema.js.map +1 -0
- package/dist/shared/datasources/external/mastodon/options.js +1 -0
- package/dist/shared/datasources/external/mastodon/options.js.map +1 -0
- package/dist/shared/datasources/external/mastodon/status/fetcher.js +2 -1
- package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/mastodon/status/sample.array.js +1 -0
- package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -0
- package/dist/shared/datasources/external/mastodon/status/sample.single.js +1 -0
- package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -0
- package/dist/shared/datasources/external/mastodon/status/schema.js +2 -1
- package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -0
- package/dist/shared/datasources/external/meta/oauth/config.js +2 -1
- package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -0
- package/dist/shared/datasources/external/meta/options.js +1 -0
- package/dist/shared/datasources/external/meta/options.js.map +1 -0
- package/dist/shared/datasources/external/rss/fetcher.js +2 -1
- package/dist/shared/datasources/external/rss/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/rss/options.js +1 -0
- package/dist/shared/datasources/external/rss/options.js.map +1 -0
- package/dist/shared/datasources/external/rss/schema.js +2 -1
- package/dist/shared/datasources/external/rss/schema.js.map +1 -0
- package/dist/shared/datasources/external/threads/media/fetcher.js +2 -1
- package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/threads/media/schema.js +1 -0
- package/dist/shared/datasources/external/threads/media/schema.js.map +1 -0
- package/dist/shared/datasources/external/tiktok/oauth/config.js +2 -1
- package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -0
- package/dist/shared/datasources/external/tiktok/video/fetcher.js +2 -1
- package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/tiktok/video/options.js +1 -0
- package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -0
- package/dist/shared/datasources/external/tiktok/video/schema.js +1 -0
- package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -0
- package/dist/shared/datasources/external/youtube/list/fetcher.js +2 -1
- package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -0
- package/dist/shared/datasources/external/youtube/list/options.js +1 -0
- package/dist/shared/datasources/external/youtube/list/options.js.map +1 -0
- package/dist/shared/datasources/external/youtube/list/schema.js +2 -1
- package/dist/shared/datasources/external/youtube/list/schema.js.map +1 -0
- package/dist/shared/datasources/external/youtube/oauth/config.js +2 -1
- package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -0
- package/dist/shared/datasources/fetcher.js +1 -0
- package/dist/shared/datasources/fetcher.js.map +1 -0
- package/dist/shared/datasources/internal/blog/schema.js +1 -0
- package/dist/shared/datasources/internal/blog/schema.js.map +1 -0
- package/dist/shared/datasources/internal/changelog/schema.js +1 -0
- package/dist/shared/datasources/internal/changelog/schema.js.map +1 -0
- package/dist/shared/datasources/internal/contact-info/schema.js +2 -1
- package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -0
- package/dist/shared/datasources/internal/cv/schema.js +1 -0
- package/dist/shared/datasources/internal/cv/schema.js.map +1 -0
- package/dist/shared/datasources/internal/faq/schema.js +1 -0
- package/dist/shared/datasources/internal/faq/schema.js.map +1 -0
- package/dist/shared/datasources/internal/job-board/schema.js +1 -0
- package/dist/shared/datasources/internal/job-board/schema.js.map +1 -0
- package/dist/shared/datasources/internal/links/schema.js +2 -1
- package/dist/shared/datasources/internal/links/schema.js.map +1 -0
- package/dist/shared/datasources/internal/recipes/schema.js +1 -0
- package/dist/shared/datasources/internal/recipes/schema.js.map +1 -0
- package/dist/shared/datasources/internal/restaurant/schema.js +1 -0
- package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -0
- package/dist/shared/datasources/samples.js +1 -0
- package/dist/shared/datasources/samples.js.map +1 -0
- package/dist/shared/datasources/schemas.js +2 -1
- package/dist/shared/datasources/schemas.js.map +1 -0
- package/dist/shared/datasources/types.js +2 -1
- package/dist/shared/datasources/types.js.map +1 -0
- package/dist/shared/datasources/utils.js +2 -1
- package/dist/shared/datasources/utils.js.map +1 -0
- package/dist/shared/datasources.js +1 -0
- package/dist/shared/datasources.js.map +1 -0
- package/dist/shared/env.js +1 -0
- package/dist/shared/env.js.map +1 -0
- package/dist/shared/errors.js +2 -1
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/images.js +2 -1
- package/dist/shared/images.js.map +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/layout-constants.js +1 -0
- package/dist/shared/layout-constants.js.map +1 -0
- package/dist/shared/manifest.js +1 -0
- package/dist/shared/manifest.js.map +1 -0
- package/dist/shared/oauth.js +2 -1
- package/dist/shared/oauth.js.map +1 -0
- package/dist/shared/page.js +2 -1
- package/dist/shared/page.js.map +1 -0
- package/dist/shared/prompt.js +2 -1
- package/dist/shared/prompt.js.map +1 -0
- package/dist/shared/responsive.js +2 -1
- package/dist/shared/responsive.js.map +1 -0
- package/dist/shared/site.js +2 -1
- package/dist/shared/site.js.map +1 -0
- package/dist/shared/sitemap.js +2 -1
- package/dist/shared/sitemap.js.map +1 -0
- package/dist/shared/social-icons.js +1 -0
- package/dist/shared/social-icons.js.map +1 -0
- package/dist/shared/theme.js +2 -1
- package/dist/shared/theme.js.map +1 -0
- package/dist/shared/themes/color-system.js +1 -0
- package/dist/shared/themes/color-system.js.map +1 -0
- package/dist/shared/utils/canvas-data-uri.js +1 -0
- package/dist/shared/utils/canvas-data-uri.js.map +1 -0
- package/dist/shared/utils/invariant.js +2 -1
- package/dist/shared/utils/invariant.js.map +1 -0
- package/dist/shared/utils/json-date.js +2 -1
- package/dist/shared/utils/json-date.js.map +1 -0
- package/dist/shared/utils/llm.js +2 -1
- package/dist/shared/utils/llm.js.map +1 -0
- package/dist/shared/utils/merge.js +2 -1
- package/dist/shared/utils/merge.js.map +1 -0
- package/dist/shared/utils/object-hash.js +1 -0
- package/dist/shared/utils/object-hash.js.map +1 -0
- package/dist/shared/utils/schema.js +2 -1
- package/dist/shared/utils/schema.js.map +1 -0
- package/dist/shared/utils/string-enum.js +2 -1
- package/dist/shared/utils/string-enum.js.map +1 -0
- package/dist/shared/utils/try-catch.js +1 -0
- package/dist/shared/utils/try-catch.js.map +1 -0
- package/dist/shared/utils/typed-ref.js +2 -1
- package/dist/shared/utils/typed-ref.js.map +1 -0
- package/package.json +2 -2
- package/src/shared/ai/types.ts +4 -0
- package/src/shared/bricks/manifests/icon.manifest.ts +1 -1
- package/src/shared/theme.ts +7 -7
- package/src/shared/themes/tests/color-system.test.ts +5 -1
- package/dist/shared/chunk-NXIF3UMD.js +0 -3
- package/dist/shared/chunk-TCTVRT4O.js +0 -3
- package/dist/shared/chunk-VE3S4LGT.js +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/testimonials.manifest.ts"],"sourcesContent":["import { type Static, type TObject, Type } from \"@sinclair/typebox\";\nimport { HiOutlineChatBubbleBottomCenter } from \"react-icons/hi2\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { iconRef, string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { fontSizeRef } from \"../props/text\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport { loopRef } from \"../props/dynamic\";\nimport { borderRef } from \"../props/border\";\nimport { shadowRef } from \"../props/effects\";\n\nexport const manifest = defineBrickManifest({\n type: \"testimonials\",\n name: \"Testimonials\",\n description: \"Display testimonials from users\",\n defaultWidth: { desktop: \"100%\" },\n icon: HiOutlineChatBubbleBottomCenter,\n consumesMultipleQueryRows: true,\n aiInstructions: `This brick displays user testimonials with optional avatars and social icons.\nIt is typically used to showcase customer feedback or endorsements.\nOptionally either use an avatar or a social icon but not both at the same time.`,\n props: defineProps(\n {\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n default: \"base-100\",\n }),\n ),\n border: Type.Optional(\n borderRef({\n title: \"Border\",\n description: \"Customize the border of the testimonial cards.\",\n default: {\n width: \"border\",\n color: \"border-accent-500\",\n },\n }),\n ),\n fontSize: Type.Optional(\n fontSizeRef({\n \"ui:no-extra-large-sizes\": true,\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"1rem\",\n description: \"Padding inside the main container.\",\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 gap: Type.Optional(\n cssLengthRef({\n title: \"Gap\",\n default: \"26px\",\n description: \"Space between bricks.\",\n \"ai:instructions\":\n \"Can be a tailwind gap class like 'gap-1' or 'gap-2', or a custom value like '10px'\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n shadow: Type.Optional(shadowRef()),\n loop: Type.Optional(\n loopRef({\n // title: \"Use dynamic content\",\n description:\n \"If enabled, each row from the query result will be used to create a testimonial. Otherwise, the testimonials will be static.\",\n \"ui:placeholder\": \"Not specified (static)\",\n }),\n ),\n testimonials: Type.Optional(\n Type.Array(\n Type.Object({\n text: string(\"Text\", {\n default: \"Amazing product!\",\n \"ui:multiline\": true,\n \"ui:textarea-class\": \"h-20\",\n }),\n author: string(\"Author\", { default: \"John Doe\" }),\n company: Type.Optional(string(\"Company\")),\n avatar: Type.Optional(\n imageRef({\n title: \"Avatar\",\n \"ui:placeholder\": \"https://via.placeholder.com/80x80.png?text=JD\",\n noObjectOptions: true,\n }),\n ),\n socialIcon: Type.Optional(iconRef()),\n }),\n {\n title: \"Testimonials\",\n default: [], // Empty array by default\n \"ui:displayField\": \"author\", // Affiche le nom de l'auteur dans la vue compacte\n \"ui:options\": {\n orderable: true, // Enable drag & drop reordering\n removable: true, // Enable delete button\n addable: true, // Enable add button\n },\n metadata: {\n category: \"content\",\n consumeQuery: true,\n },\n examples: [\n {\n text: \"This is a great product! It has changed my life.\",\n author: \"John Doe\",\n company: \"Acme Inc.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=JD\",\n alt: \"John Doe profile photo\",\n },\n socialIcon: \"mdi:linkedin\",\n },\n ],\n },\n ),\n ),\n },\n {\n default: {\n orientation: \"horizontal\",\n },\n },\n ),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"SaaS platform testimonials with avatars\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Sarah Johnson\",\n company: \"TechCorp Solutions\",\n text: \"This platform has completely transformed how we manage our projects. The intuitive interface and powerful automation features have saved us countless hours.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=SJ\",\n alt: \"Sarah Johnson profile photo\",\n },\n socialIcon: \"mdi:linkedin\",\n },\n {\n author: \"Mike Chen\",\n company: \"StartupFlow\",\n text: \"Outstanding customer support and regular feature updates. We've been using this for over a year and it keeps getting better. Highly recommend!\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=MC\",\n alt: \"Mike Chen profile photo\",\n },\n socialIcon: \"mdi:twitter\",\n },\n {\n author: \"Emily Rodriguez\",\n company: \"Digital Agency Pro\",\n text: \"The automation capabilities are game-changing. What used to take us days now happens automatically. It's like having an extra team member.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=ER\",\n alt: \"Emily Rodriguez profile photo\",\n },\n socialIcon: \"mdi:linkedin\",\n },\n ],\n },\n },\n {\n description: \"E-commerce customer reviews\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Jessica Williams\",\n company: \"Happy Customer\",\n text: \"Amazing product quality and fast shipping! The item exceeded my expectations and the customer service was excellent when I had questions.\",\n avatar: {\n src: \"https://via.placeholder.com/60x60.png?text=JW\",\n alt: \"Jessica Williams customer photo\",\n },\n socialIcon: \"mdi:star\",\n },\n {\n author: \"David Park\",\n text: \"Five stars! Been using this product for 6 months and it's still going strong. Definitely worth the investment and I've already recommended it to friends.\",\n avatar: {\n src: \"https://via.placeholder.com/60x60.png?text=DP\",\n alt: \"David Park customer photo\",\n },\n socialIcon: \"mdi:thumbs-up\",\n },\n ],\n },\n },\n {\n description: \"Agency client testimonials with company info\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Rachel Thompson\",\n company: \"Global Enterprises\",\n text: \"The team delivered exceptional results on time and within budget. Their creative approach and attention to detail made all the difference for our brand.\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=RT\",\n alt: \"Rachel Thompson headshot\",\n },\n socialIcon: \"mdi:briefcase\",\n },\n {\n author: \"Alex Kumar\",\n company: \"Innovation Labs\",\n text: \"Working with this agency was a game-changer for our digital presence. They understood our vision and brought it to life beautifully.\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=AK\",\n alt: \"Alex Kumar profile\",\n },\n socialIcon: \"mdi:lightbulb\",\n },\n {\n author: \"Maria Santos\",\n company: \"Retail Plus\",\n text: \"Professional, creative, and results-driven. Our website traffic increased by 200% after their redesign. Couldn't be happier!\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=MS\",\n alt: \"Maria Santos photo\",\n },\n socialIcon: \"mdi:chart-line\",\n },\n ],\n },\n },\n {\n description: \"App user feedback\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Tom Wilson\",\n text: \"This app has made my daily routine so much easier. Love the clean interface and how everything just works seamlessly across all my devices.\",\n avatar: {\n src: \"https://via.placeholder.com/65x65.png?text=TW\",\n alt: \"Tom Wilson user photo\",\n },\n socialIcon: \"mdi:cellphone\",\n },\n {\n author: \"Lisa Chang\",\n text: \"Been using this app for months and it's become essential to my workflow. The latest update with AI features is incredibly impressive.\",\n avatar: {\n src: \"https://via.placeholder.com/65x65.png?text=LC\",\n alt: \"Lisa Chang profile picture\",\n },\n socialIcon: \"mdi:robot\",\n },\n {\n author: \"James Miller\",\n text: \"Simple, powerful, and reliable. Exactly what I was looking for. The customer support team is also very responsive and helpful.\",\n avatar: {\n src: \"https://via.placeholder.com/65x65.png?text=JM\",\n alt: \"James Miller avatar\",\n },\n socialIcon: \"mdi:heart\",\n },\n ],\n },\n },\n {\n description: \"Course/education testimonials with social icons\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Amanda Foster\",\n company: \"UX Designer\",\n text: \"This course completely changed my career trajectory. The practical projects and expert feedback helped me land my dream job in just 3 months.\",\n avatar: {\n src: \"https://via.placeholder.com/75x75.png?text=AF\",\n alt: \"Amanda Foster student photo\",\n },\n socialIcon: \"mdi:school\",\n },\n {\n author: \"Carlos Rodriguez\",\n company: \"Software Engineer\",\n text: \"The instructors are industry experts and the content is always up-to-date. I've taken three courses here and each one exceeded my expectations.\",\n avatar: {\n src: \"https://via.placeholder.com/75x75.png?text=CR\",\n alt: \"Carlos Rodriguez profile\",\n },\n socialIcon: \"mdi:code-tags\",\n },\n ],\n },\n },\n {\n description: \"Simple testimonials without avatars\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Anonymous User\",\n text: \"Great service and excellent value for money. Would definitely recommend to others looking for a reliable solution.\",\n socialIcon: \"mdi:account-circle\",\n },\n {\n author: \"Verified Customer\",\n text: \"Quick delivery and exactly as described. Very satisfied with my purchase and the overall experience.\",\n socialIcon: \"mdi:check-circle\",\n },\n {\n author: \"Beta Tester\",\n text: \"Been using the beta version and it's already impressive. Looking forward to the full release with even more features.\",\n socialIcon: \"mdi:beta\",\n },\n ],\n },\n },\n {\n description: \"Consultant testimonials with professional focus\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Dr. Patricia Lee\",\n company: \"Medical Practice Solutions\",\n text: \"The consulting services provided were invaluable to our practice. Revenue increased by 40% and patient satisfaction scores improved significantly.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=PL\",\n alt: \"Dr. Patricia Lee headshot\",\n },\n socialIcon: \"mdi:medical-bag\",\n },\n {\n author: \"Robert Kim\",\n company: \"Manufacturing Inc.\",\n text: \"Their strategic insights helped us streamline operations and reduce costs by 25%. The ROI was evident within the first quarter.\",\n avatar: {\n src: \"https://via.placeholder.com/80x80.png?text=RK\",\n alt: \"Robert Kim executive photo\",\n },\n socialIcon: \"mdi:factory\",\n },\n ],\n },\n },\n {\n description: \"Event testimonials with social media icons\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"Jennifer Adams\",\n company: \"Marketing Director\",\n text: \"Best conference I've attended in years! The networking opportunities were incredible and the speakers were top-notch industry leaders.\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=JA\",\n alt: \"Jennifer Adams conference attendee\",\n },\n socialIcon: \"mdi:twitter\",\n },\n {\n author: \"Michael Brown\",\n company: \"Tech Startup Founder\",\n text: \"The workshops were incredibly practical and I left with actionable strategies I could implement immediately. Already planning to attend next year!\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=MB\",\n alt: \"Michael Brown participant photo\",\n },\n socialIcon: \"mdi:linkedin\",\n },\n {\n author: \"Sophie Chen\",\n company: \"Product Manager\",\n text: \"Amazing organization and valuable content. Met so many like-minded professionals and learned cutting-edge techniques I'm excited to try.\",\n avatar: {\n src: \"https://via.placeholder.com/70x70.png?text=SC\",\n alt: \"Sophie Chen attendee photo\",\n },\n socialIcon: \"mdi:instagram\",\n },\n ],\n },\n },\n {\n description: \"Dynamic customer testimonials using customerReviews query\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"{{customerReviews.customerName}}\",\n company: \"{{customerReviews.company}}\",\n text: \"{{customerReviews.reviewText}}\",\n avatar: {\n src: \"{{customerReviews.customerPhoto}}\",\n alt: \"{{customerReviews.customerName}} photo\",\n },\n socialIcon: \"{{customerReviews.socialPlatform}}\",\n },\n ],\n loop: {\n over: \"customerReviews\",\n },\n },\n },\n {\n description: \"Dynamic client testimonials using clientFeedback query\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"{{clientFeedback.clientName}}\",\n company: \"{{clientFeedback.companyName}} - {{clientFeedback.position}}\",\n text: \"{{clientFeedback.testimonial}}\",\n avatar: {\n src: \"{{clientFeedback.headshot}}\",\n alt: \"{{clientFeedback.clientName}} headshot\",\n },\n socialIcon: \"{{clientFeedback.preferredIcon}}\",\n },\n ],\n loop: {\n over: \"clientFeedback\",\n },\n },\n },\n {\n description: \"Dynamic product reviews using productReviews query\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"{{productReviews.reviewerName}}\",\n text: \"{{productReviews.review}} - {{productReviews.rating}}/5 stars\",\n avatar: {\n src: \"{{productReviews.userAvatar}}\",\n alt: \"{{productReviews.reviewerName}} profile\",\n },\n socialIcon: \"mdi:star\",\n },\n ],\n loop: {\n over: \"productReviews\",\n },\n },\n },\n {\n description: \"Dynamic employee testimonials using teamTestimonials query\",\n type: \"testimonials\",\n props: {\n testimonials: [\n {\n author: \"{{teamTestimonials.employeeName}}\",\n company: \"{{teamTestimonials.department}} - {{teamTestimonials.jobTitle}}\",\n text: \"{{teamTestimonials.testimonial}}\",\n avatar: {\n src: \"{{teamTestimonials.profilePhoto}}\",\n alt: \"{{teamTestimonials.employeeName}} profile photo\",\n },\n socialIcon: \"{{teamTestimonials.socialIcon}}\",\n },\n ],\n loop: {\n over: \"teamTestimonials\",\n },\n },\n },\n];\n"],"mappings":";;uZAAA,OAAoC,QAAAA,MAAY,oBAChD,OAAS,mCAAAC,MAAuC,kBAazC,IAAMC,EAAWC,EAAoB,CAC1C,KAAM,eACN,KAAM,eACN,YAAa,kCACb,aAAc,CAAE,QAAS,MAAO,EAChC,KAAMC,EACN,0BAA2B,GAC3B,eAAgB;AAAA;AAAA,iFAGhB,MAAOC,EACL,CACE,YAAaC,EAAK,SAChBC,EAAe,CACb,MAAO,QACP,QAAS,UACX,CAAC,CACH,EACA,OAAQD,EAAK,SACXE,EAAU,CACR,MAAO,SACP,YAAa,iDACb,QAAS,CACP,MAAO,SACP,MAAO,mBACT,CACF,CAAC,CACH,EACA,SAAUF,EAAK,SACbG,EAAY,CACV,0BAA2B,EAC7B,CAAC,CACH,EACA,QAASH,EAAK,SACZI,EAAa,CACX,QAAS,OACT,YAAa,qCACb,kBAAmB,gDACnB,MAAO,UACP,gBAAiB,GACjB,iBAAkB,gBAClB,aAAc,gBAChB,CAAC,CACH,EACA,IAAKJ,EAAK,SACRI,EAAa,CACX,MAAO,MACP,QAAS,OACT,YAAa,wBACb,kBACE,qFACF,iBAAkB,gBAClB,aAAc,YAChB,CAAC,CACH,EACA,OAAQJ,EAAK,SAASK,EAAU,CAAC,EACjC,KAAML,EAAK,SACTM,EAAQ,CAEN,YACE,+HACF,iBAAkB,wBACpB,CAAC,CACH,EACA,aAAcN,EAAK,SACjBA,EAAK,MACHA,EAAK,OAAO,CACV,KAAMO,EAAO,OAAQ,CACnB,QAAS,mBACT,eAAgB,GAChB,oBAAqB,MACvB,CAAC,EACD,OAAQA,EAAO,SAAU,CAAE,QAAS,UAAW,CAAC,EAChD,QAASP,EAAK,SAASO,EAAO,SAAS,CAAC,EACxC,OAAQP,EAAK,SACXQ,EAAS,CACP,MAAO,SACP,iBAAkB,gDAClB,gBAAiB,EACnB,CAAC,CACH,EACA,WAAYR,EAAK,SAASS,EAAQ,CAAC,CACrC,CAAC,EACD,CACE,MAAO,eACP,QAAS,CAAC,EACV,kBAAmB,SACnB,aAAc,CACZ,UAAW,GACX,UAAW,GACX,QAAS,EACX,EACA,SAAU,CACR,SAAU,UACV,aAAc,EAChB,EACA,SAAU,CACR,CACE,KAAM,mDACN,OAAQ,WACR,QAAS,YACT,OAAQ,CACN,IAAK,gDACL,IAAK,wBACP,EACA,WAAY,cACd,CACF,CACF,CACF,CACF,CACF,EACA,CACE,QAAS,CACP,YAAa,YACf,CACF,CACF,CACF,CAAC,EAIYC,EAIP,CACJ,CACE,YAAa,0CACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,gBACR,QAAS,qBACT,KAAM,+JACN,OAAQ,CACN,IAAK,gDACL,IAAK,6BACP,EACA,WAAY,cACd,EACA,CACE,OAAQ,YACR,QAAS,cACT,KAAM,iJACN,OAAQ,CACN,IAAK,gDACL,IAAK,yBACP,EACA,WAAY,aACd,EACA,CACE,OAAQ,kBACR,QAAS,qBACT,KAAM,6IACN,OAAQ,CACN,IAAK,gDACL,IAAK,+BACP,EACA,WAAY,cACd,CACF,CACF,CACF,EACA,CACE,YAAa,8BACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,mBACR,QAAS,iBACT,KAAM,4IACN,OAAQ,CACN,IAAK,gDACL,IAAK,iCACP,EACA,WAAY,UACd,EACA,CACE,OAAQ,aACR,KAAM,4JACN,OAAQ,CACN,IAAK,gDACL,IAAK,2BACP,EACA,WAAY,eACd,CACF,CACF,CACF,EACA,CACE,YAAa,+CACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,kBACR,QAAS,qBACT,KAAM,2JACN,OAAQ,CACN,IAAK,gDACL,IAAK,0BACP,EACA,WAAY,eACd,EACA,CACE,OAAQ,aACR,QAAS,kBACT,KAAM,uIACN,OAAQ,CACN,IAAK,gDACL,IAAK,oBACP,EACA,WAAY,eACd,EACA,CACE,OAAQ,eACR,QAAS,cACT,KAAM,+HACN,OAAQ,CACN,IAAK,gDACL,IAAK,oBACP,EACA,WAAY,gBACd,CACF,CACF,CACF,EACA,CACE,YAAa,oBACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,aACR,KAAM,8IACN,OAAQ,CACN,IAAK,gDACL,IAAK,uBACP,EACA,WAAY,eACd,EACA,CACE,OAAQ,aACR,KAAM,wIACN,OAAQ,CACN,IAAK,gDACL,IAAK,4BACP,EACA,WAAY,WACd,EACA,CACE,OAAQ,eACR,KAAM,iIACN,OAAQ,CACN,IAAK,gDACL,IAAK,qBACP,EACA,WAAY,WACd,CACF,CACF,CACF,EACA,CACE,YAAa,kDACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,gBACR,QAAS,cACT,KAAM,gJACN,OAAQ,CACN,IAAK,gDACL,IAAK,6BACP,EACA,WAAY,YACd,EACA,CACE,OAAQ,mBACR,QAAS,oBACT,KAAM,kJACN,OAAQ,CACN,IAAK,gDACL,IAAK,0BACP,EACA,WAAY,eACd,CACF,CACF,CACF,EACA,CACE,YAAa,sCACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,iBACR,KAAM,qHACN,WAAY,oBACd,EACA,CACE,OAAQ,oBACR,KAAM,uGACN,WAAY,kBACd,EACA,CACE,OAAQ,cACR,KAAM,wHACN,WAAY,UACd,CACF,CACF,CACF,EACA,CACE,YAAa,kDACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,mBACR,QAAS,6BACT,KAAM,qJACN,OAAQ,CACN,IAAK,gDACL,IAAK,2BACP,EACA,WAAY,iBACd,EACA,CACE,OAAQ,aACR,QAAS,qBACT,KAAM,kIACN,OAAQ,CACN,IAAK,gDACL,IAAK,4BACP,EACA,WAAY,aACd,CACF,CACF,CACF,EACA,CACE,YAAa,6CACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,iBACR,QAAS,qBACT,KAAM,yIACN,OAAQ,CACN,IAAK,gDACL,IAAK,oCACP,EACA,WAAY,aACd,EACA,CACE,OAAQ,gBACR,QAAS,uBACT,KAAM,qJACN,OAAQ,CACN,IAAK,gDACL,IAAK,iCACP,EACA,WAAY,cACd,EACA,CACE,OAAQ,cACR,QAAS,kBACT,KAAM,2IACN,OAAQ,CACN,IAAK,gDACL,IAAK,4BACP,EACA,WAAY,eACd,CACF,CACF,CACF,EACA,CACE,YAAa,4DACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,mCACR,QAAS,8BACT,KAAM,iCACN,OAAQ,CACN,IAAK,oCACL,IAAK,wCACP,EACA,WAAY,oCACd,CACF,EACA,KAAM,CACJ,KAAM,iBACR,CACF,CACF,EACA,CACE,YAAa,yDACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,gCACR,QAAS,+DACT,KAAM,iCACN,OAAQ,CACN,IAAK,8BACL,IAAK,wCACP,EACA,WAAY,kCACd,CACF,EACA,KAAM,CACJ,KAAM,gBACR,CACF,CACF,EACA,CACE,YAAa,qDACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,kCACR,KAAM,gEACN,OAAQ,CACN,IAAK,gCACL,IAAK,yCACP,EACA,WAAY,UACd,CACF,EACA,KAAM,CACJ,KAAM,gBACR,CACF,CACF,EACA,CACE,YAAa,6DACb,KAAM,eACN,MAAO,CACL,aAAc,CACZ,CACE,OAAQ,oCACR,QAAS,kEACT,KAAM,mCACN,OAAQ,CACN,IAAK,oCACL,IAAK,iDACP,EACA,WAAY,iCACd,CACF,EACA,KAAM,CACJ,KAAM,kBACR,CACF,CACF,CACF","names":["Type","HiOutlineChatBubbleBottomCenter","manifest","defineBrickManifest","HiOutlineChatBubbleBottomCenter","defineProps","Type","colorPresetRef","borderRef","fontSizeRef","cssLengthRef","shadowRef","loopRef","string","imageRef","iconRef","examples"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import{a as n}from"./chunk-
|
|
3
|
+
import{a as n}from"./chunk-KFM6KXSE.js";import{a as e}from"./chunk-JMN3HTZU.js";function r(t={}){return e(["justify-start","justify-center","justify-end","justify-between","justify-around","justify-evenly"],{enumNames:["Start","Center","End","Between","Around","Evenly"],title:"Justify bricks","ui:field":"justify-content","ui:responsive":!0,"ui:styleId":"styles:justifyContent",examples:["justify-center","justify-evenly"],...t})}function u(t={}){return n("styles:justifyContent",t)}function l(t={}){return e(["items-start","items-center","items-end","items-stretch"],{enumNames:["Start","Center","End","Stretch"],title:"Align bricks","ui:field":"align-items","ui:responsive":!0,"ui:styleId":"styles:alignItems",examples:["items-center","items-stretch"],...t})}function f(t={}){return n("styles:alignItems",t)}function o(t={}){return e(["self-auto","self-start","self-center","self-end","self-stretch"],{enumNames:["Auto","Start","Center","End","Stretch"],default:"self-auto",title:"Align self","ui:field":"align-self","ui:responsive":!0,"ui:styleId":"styles:alignSelf",...t})}function y(t={}){return n("styles:alignSelf",t)}export{r as a,u as b,l as c,f as d,o as e,y as f};
|
|
4
|
+
//# sourceMappingURL=chunk-SWLUQVK7.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\";\nimport { typedRef } from \"~/shared/utils/typed-ref\";\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 justifyContentRef(options: StringOptions = {}) {\n return typedRef(\"styles:justifyContent\", options);\n}\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 alignItemsRef(options: StringOptions = {}) {\n return typedRef(\"styles:alignItems\", options);\n}\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\nexport function alignSelfRef(options: StringOptions = {}) {\n return typedRef(\"styles:alignSelf\", options);\n}\n"],"mappings":";;gFAIO,SAASA,EAAeC,EAAyB,CAAC,EAAG,CAC1D,OAAOC,EACL,CAAC,gBAAiB,iBAAkB,cAAe,kBAAmB,iBAAkB,gBAAgB,EACxG,CACE,UAAW,CAAC,QAAS,SAAU,MAAO,UAAW,SAAU,QAAQ,EAEnE,MAAO,iBACP,WAAY,kBACZ,gBAAiB,GACjB,aAAc,wBACd,SAAU,CAAC,iBAAkB,gBAAgB,EAC7C,GAAGD,CACL,CACF,CACF,CAIO,SAASE,EAAkBF,EAAyB,CAAC,EAAG,CAC7D,OAAOG,EAAS,wBAAyBH,CAAO,CAClD,CAEO,SAASI,EAAWJ,EAAyB,CAAC,EAAG,CACtD,OAAOC,EAAW,CAAC,cAAe,eAAgB,YAAa,eAAe,EAAG,CAC/E,UAAW,CAAC,QAAS,SAAU,MAAO,SAAS,EAE/C,MAAO,eACP,WAAY,cACZ,gBAAiB,GACjB,aAAc,oBACd,SAAU,CAAC,eAAgB,eAAe,EAC1C,GAAGD,CACL,CAAC,CACH,CAIO,SAASK,EAAcL,EAAyB,CAAC,EAAG,CACzD,OAAOG,EAAS,oBAAqBH,CAAO,CAC9C,CAEO,SAASM,EAAUN,EAAyB,CAAC,EAAG,CACrD,OAAOC,EAAW,CAAC,YAAa,aAAc,cAAe,WAAY,cAAc,EAAG,CACxF,UAAW,CAAC,OAAQ,QAAS,SAAU,MAAO,SAAS,EACvD,QAAS,YAET,MAAO,aACP,WAAY,aACZ,gBAAiB,GACjB,aAAc,mBACd,GAAGD,CACL,CAAC,CACH,CAIO,SAASO,EAAaP,EAAyB,CAAC,EAAG,CACxD,OAAOG,EAAS,mBAAoBH,CAAO,CAC7C","names":["justifyContent","options","StringEnum","justifyContentRef","typedRef","alignItems","alignItemsRef","alignSelf","alignSelfRef"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import{a as f}from"./chunk-
|
|
3
|
+
import{a as f}from"./chunk-6I3ONVU6.js";import{a as l,c}from"./chunk-3YVJ2ELD.js";import{a as p}from"./chunk-RJYZ5FAR.js";import{a as s}from"./chunk-A3GF4PYW.js";import{b as n}from"./chunk-5YRC3IT3.js";import{b as d}from"./chunk-GACHLACT.js";import{b as i,d as o}from"./chunk-ZTZJHY4E.js";import{c as a}from"./chunk-CZRCW5EN.js";import{c as r}from"./chunk-OHNYCXPX.js";import{a as e}from"./chunk-JMN3HTZU.js";import{Type as t}from"@sinclair/typebox";import{FaWpforms as u}from"react-icons/fa6";var M=p({type:"form",name:"Form",description:"A form element.",aiInstructions:`The form brick automatically renders form fields based on the datarecord id provided in the props.
|
|
4
4
|
There is no need to define the form fields manually and the form does not accept any children`,isContainer:!1,icon:u,minWidth:{desktop:300},props:c({datarecordId:f("Datarecord ID",{description:"The ID of the datarecord to use to generate the form fields. The datarecord must exist.","ui:responsive":"desktop"}),colorPreset:t.Optional(a({title:"Color",default:"base-200"})),direction:t.Optional(d({title:"Direction",description:"The direction of the form fields",default:"flex-col","ui:responsive":"desktop","ui:desktop-only":!0})),padding:t.Optional(r({default:"2rem",description:"Padding inside the form.",title:"Padding","ui:responsive":!0,"ui:placeholder":"Not specified","ui:styleId":"styles:padding"})),rounding:t.Optional(o({default:"rounded-md"})),border:t.Optional(i({})),fontSize:t.Optional(n({default:"inherit","ui:no-extra-large-sizes":!0})),button:l({title:"Button",children:{color:t.Optional(e(["btn-neutral","btn-primary","btn-secondary","btn-accent"],{enumNames:["Neutral","Primary","Secondary","Accent"],title:"Color",default:"btn-primary"})),size:t.Optional(e(["block","wide"],{title:"Size",description:"Button sizes.",enumNames:["Block","Wide"],default:"block","ui:responsive":"desktop"})),position:t.Optional(e(["justify-start","justify-center","justify-end"],{title:"Button Position",description:"The position of the button in the form",enumNames:["Left","Center","Right"],default:"justify-end","ui:responsive":"desktop",metadata:{filter:(b,m)=>m.button?.size!=="wide"}})),rounding:t.Optional(o({default:"rounded-md"}))}}),title:t.Optional(t.String({title:"Form title",default:"My form",metadata:{category:"content"}})),intro:t.Optional(t.String({title:"Intro",description:"The intro text of the form","ui:multiline":!0,metadata:{category:"content"}})),buttonLabel:t.Optional(s("Button Label",{default:"Submit",metadata:{category:"content"}})),successMessage:t.Optional(t.String({title:"Success Message",description:"The message to display when the form is successfully submitted",default:"Thank you for your submission!",metadata:{category:"content"}})),errorMessage:t.Optional(t.String({title:"Error Message",description:"The message to display when the form submission fails",default:"There was an error submitting the form. Please try again later.",metadata:{category:"content"}}))})}),R=[{description:"Basic contact form",type:"form",props:{title:"Contact Us",intro:"We'd love to hear from you. Send us a message and we'll respond as soon as possible.",direction:"flex-row",datarecordId:"contacts",buttonLabel:"Send Message",button:{size:"block"}}},{description:"User registration form with large button",type:"form",props:{title:"Create Account",intro:"Join our platform and start your journey today.",direction:"flex-row",datarecordId:"user-registration",buttonLabel:"Register",button:{size:"wide"}}},{description:"Newsletter subscription form (horizontal) with large padding",type:"form",props:{title:"Stay Updated",intro:"Subscribe to our newsletter for the latest updates and exclusive content.",direction:"flex-col",datarecordId:"newsletter-subscription",padding:"3rem",buttonLabel:"Subscribe",button:{size:"block"}}},{description:"Event registration form",type:"form",props:{title:"Conference Registration",intro:"Register for the Annual Tech Conference 2025. Early bird pricing ends soon!",direction:"flex-col",datarecordId:"event-registration",buttonLabel:"Register Now",button:{size:"block"}}},{description:"Job application form",type:"form",props:{title:"Apply for Position",intro:"We're excited to learn more about you! Please fill out this application form completely.",direction:"flex-col",datarecordId:"job-application",buttonLabel:"Submit Application",button:{size:"block"}}}];export{M as a,R as b};
|
|
5
|
+
//# sourceMappingURL=chunk-SXHDQ64Z.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 { borderRef, roundingRef } from \"../props/border\";\nimport { datarecord } from \"../props/datarecord\";\nimport { defineProps, group } from \"../props/helpers\";\nimport { string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { fontSizeRef } from \"../props/text\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { directionRef } from \"../props/direction\";\nimport { cssLengthRef } from \"../props/css-length\";\n\nexport const manifest = defineBrickManifest({\n type: \"form\",\n name: \"Form\",\n description: \"A form element.\",\n aiInstructions: `The form brick automatically renders form fields based on the datarecord id provided in the props.\nThere is no need to define the form fields manually and the form does not accept any children`,\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 colorPresetRef({\n title: \"Color\",\n default: \"base-200\",\n }),\n ),\n direction: Type.Optional(\n directionRef({\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 cssLengthRef({\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 roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef({})),\n fontSize: Type.Optional(fontSizeRef({ 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: Type.Optional(roundingRef({ 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 string(\"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: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\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: \"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: \"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"],"mappings":";;yZAAA,OAAsB,QAAAA,MAAY,oBAClC,OAAS,aAAAC,MAAiB,kBAanB,IAAMC,EAAWC,EAAoB,CAC1C,KAAM,OACN,KAAM,OACN,YAAa,kBACb,eAAgB;AAAA,+FAEhB,YAAa,GACb,KAAMC,EACN,SAAU,CACR,QAAS,GACX,EACA,MAAOC,EAAY,CACjB,aAAcC,EAAW,gBAAiB,CACxC,YAAa,0FACb,gBAAiB,SACnB,CAAC,EACD,YAAaC,EAAK,SAChBC,EAAe,CACb,MAAO,QACP,QAAS,UACX,CAAC,CACH,EACA,UAAWD,EAAK,SACdE,EAAa,CACX,MAAO,YACP,YAAa,mCACb,QAAS,WACT,gBAAiB,UACjB,kBAAmB,EACrB,CAAC,CACH,EACA,QAASF,EAAK,SACZG,EAAa,CACX,QAAS,OACT,YAAa,2BACb,MAAO,UACP,gBAAiB,GACjB,iBAAkB,gBAClB,aAAc,gBAChB,CAAC,CACH,EACA,SAAUH,EAAK,SACbI,EAAY,CACV,QAAS,YACX,CAAC,CACH,EACA,OAAQJ,EAAK,SAASK,EAAU,CAAC,CAAC,CAAC,EACnC,SAAUL,EAAK,SAASM,EAAY,CAAE,QAAS,UAAW,0BAA2B,EAAK,CAAC,CAAC,EAC5F,OAAQC,EAAM,CACZ,MAAO,SACP,SAAU,CACR,MAAOP,EAAK,SACVQ,EAAW,CAAC,cAAe,cAAe,gBAAiB,YAAY,EAAG,CACxE,UAAW,CAAC,UAAW,UAAW,YAAa,QAAQ,EACvD,MAAO,QACP,QAAS,aACX,CAAC,CACH,EACA,KAAMR,EAAK,SACTQ,EAAW,CAAC,QAAS,MAAM,EAAG,CAC5B,MAAO,OACP,YAAa,gBACb,UAAW,CAAC,QAAS,MAAM,EAC3B,QAAS,QACT,gBAAiB,SACnB,CAAC,CACH,EACA,SAAUR,EAAK,SACbQ,EAAW,CAAC,gBAAiB,iBAAkB,aAAa,EAAG,CAC7D,MAAO,kBACP,YAAa,yCACb,UAAW,CAAC,OAAQ,SAAU,OAAO,EACrC,QAAS,cACT,gBAAiB,UACjB,SAAU,CACR,OAAQ,CAACC,EAAkCC,IAClCA,EAAS,QAAQ,OAAS,MAErC,CACF,CAAC,CACH,EACA,SAAUV,EAAK,SAASI,EAAY,CAAE,QAAS,YAAa,CAAC,CAAC,CAChE,CACF,CAAC,EAED,MAAOJ,EAAK,SACVA,EAAK,OAAO,CACV,MAAO,aACP,QAAS,UACT,SAAU,CACR,SAAU,SACZ,CACF,CAAC,CACH,EACA,MAAOA,EAAK,SACVA,EAAK,OAAO,CACV,MAAO,QACP,YAAa,6BACb,eAAgB,GAChB,SAAU,CACR,SAAU,SACZ,CACF,CAAC,CACH,EACA,YAAaA,EAAK,SAChBW,EAAO,eAAgB,CACrB,QAAS,SACT,SAAU,CAAE,SAAU,SAAU,CAClC,CAAC,CACH,EACA,eAAgBX,EAAK,SACnBA,EAAK,OAAO,CACV,MAAO,kBACP,YAAa,iEACb,QAAS,iCACT,SAAU,CACR,SAAU,SACZ,CACF,CAAC,CACH,EACA,aAAcA,EAAK,SACjBA,EAAK,OAAO,CACV,MAAO,gBACP,YAAa,wDACb,QAAS,kEACT,SAAU,CACR,SAAU,SACZ,CACF,CAAC,CACH,CACF,CAAC,CACH,CAAC,EAIYY,EAIP,CACJ,CACE,YAAa,qBACb,KAAM,OACN,MAAO,CACL,MAAO,aACP,MAAO,uFACP,UAAW,WACX,aAAc,WACd,YAAa,eACb,OAAQ,CACN,KAAM,OACR,CACF,CACF,EACA,CACE,YAAa,2CACb,KAAM,OACN,MAAO,CACL,MAAO,iBACP,MAAO,kDACP,UAAW,WACX,aAAc,oBACd,YAAa,WACb,OAAQ,CACN,KAAM,MACR,CACF,CACF,EACA,CACE,YAAa,+DACb,KAAM,OACN,MAAO,CACL,MAAO,eACP,MAAO,4EACP,UAAW,WACX,aAAc,0BACd,QAAS,OACT,YAAa,YACb,OAAQ,CACN,KAAM,OACR,CACF,CACF,EACA,CACE,YAAa,0BACb,KAAM,OACN,MAAO,CACL,MAAO,0BACP,MAAO,8EACP,UAAW,WACX,aAAc,qBACd,YAAa,eACb,OAAQ,CACN,KAAM,OACR,CACF,CACF,EACA,CACE,YAAa,uBACb,KAAM,OACN,MAAO,CACL,MAAO,qBACP,MAAO,2FACP,UAAW,WACX,aAAc,kBACd,YAAa,qBACb,OAAQ,CACN,KAAM,OACR,CACF,CACF,CACF","names":["Type","FaWpforms","manifest","defineBrickManifest","FaWpforms","defineProps","datarecord","Type","colorPresetRef","directionRef","cssLengthRef","roundingRef","borderRef","fontSizeRef","group","StringEnum","manifestProps","formData","string","examples"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import{a as d}from"./chunk-
|
|
3
|
+
import{a as d}from"./chunk-KSEURRVZ.js";import{c as p}from"./chunk-3YVJ2ELD.js";import{a as c}from"./chunk-RJYZ5FAR.js";import{a as l}from"./chunk-AFVJZPLS.js";import{b as n}from"./chunk-CCI4C3TM.js";import{a as o,d as r}from"./chunk-A3GF4PYW.js";import{b as s}from"./chunk-QWGUMKZC.js";import{f as t}from"./chunk-5YRC3IT3.js";import{b as a}from"./chunk-4BTB3MU2.js";import{c as i}from"./chunk-CZRCW5EN.js";import{Type as e}from"@sinclair/typebox";import{VscLayoutPanelOff as m}from"react-icons/vsc";var b=c({type:"navbar",name:"Navbar",category:"layout",description:"A navigation bar with logo and navigation",aiInstructions:"This brick should be used on most sites/pages. It must be placed on its own section.",isGlobalBrick:!0,duplicatable:!1,resizable:!1,movable:!1,hideInLibrary:!0,staticClasses:"flex-grow",defaultWidth:{mobile:"100%"},defaultHeight:{mobile:"60px",desktop:"60px"},icon:m,iconClassName:"rotate-180",props:p({colorPreset:e.Optional(i({title:"Color",default:{color:"primary-500"},examples:[{color:"primary-500"},{color:"neutral-900"},{color:"secondary-200"}]})),brand:e.Optional(t({title:"Brand name",default:"Acme Inc.",disableSizing:!0,"ai:instructions":"The brand name of the website, for example the company name. Please provide it even if optional.",metadata:{category:"content"},examples:["Acme Inc.","TechCorp Solutions","ShopEasy","Bella Vista"]})),logo:e.Optional(n({title:"Logo","ui:show-img-search":!1,"ui:no-object-options":!0,"ui:no-dynamic":!0,"ui:placeholder":"https://example.com/logo.png",metadata:{category:"content"},"ai:hidden":!0})),hideBrand:e.Optional(d("Hide brand name",void 0,{"ai:hidden":!0,metadata:{filter:(u,g)=>!!g.logo}})),linksTagsFilter:e.Optional(s({title:"Pages tags",description:"Filter pages links in the navbar by tags. Only pages with these tags will be shown.",default:["navbar"],metadata:{category:"content"},examples:[["navbar","main"],["top-menu"],["important-link","navbar"]]})),staticNavItems:e.Optional(e.Array(e.Object({urlOrPageId:r(),label:e.Optional(o("Label"))}),{title:"Static links",description:"Additional static navigation links to show in the navbar","ai:instructions":"Don't include pages already included by the tags filter.",default:[],metadata:{category:"content"},examples:[[{urlOrPageId:"http://example.com/",label:"Other site"},{urlOrPageId:"https://docs.example.com/",label:"External docs"}],[{urlOrPageId:"https://www.amazon.com/our-brand",label:"Buy our brand on Amazon"}]]})),linksPosition:e.Optional(e.Union([e.Literal("left",{title:"Left"}),e.Literal("center",{title:"Center"}),e.Literal("right",{title:"Right"})],{title:"Links position",default:"right","ui:responsive":"desktop"})),shadow:e.Optional(a())},{noAlignSelf:!0,noGrow:!0})});function F(){return l(b.props)}var S=[{description:"Corporate technology company navbar featuring company logo with right-aligned navigation links filtered by navbar and featured tags",type:"navbar",props:{logo:{src:"https://via.placeholder.com/120x40.png?text=TechCorp",alt:"TechCorp Solutions logo"},linksPosition:"right",linksTagsFilter:["navbar","featured"]}},{description:"Dark-themed professional navbar with centered brand text and navigation, including external site link for service companies",type:"navbar",props:{brand:"TechCorp Solutions",linksPosition:"center",linksTagsFilter:["navbar","featured"],staticNavItems:[{urlOrPageId:"http://example.com/",label:"Other site"}]}},{description:"E-commerce store navbar with primary blue branding, medium shadow effect, and right-aligned cart/account links for online shopping sites",type:"navbar",props:{brand:"ShopEasy",colorPreset:{color:"primary-500"},linksPosition:"right",linksTagsFilter:["main","shop"],shadow:"shadow-md",staticNavItems:[{urlOrPageId:"cart",label:"Cart"},{urlOrPageId:"account",label:"Account"}]}},{description:"Restaurant navbar with logo and hidden brand text, featuring secondary color scheme and left-aligned navigation with reservation booking and phone contact",type:"navbar",props:{logo:{src:"https://via.placeholder.com/100x50.png?text=Bella+Vista",alt:"Bella Vista Restaurant logo"},brand:"Bella Vista",hideBrand:!0,linksPosition:"left",linksTagsFilter:["navbar"],colorPreset:{color:"secondary-200"},staticNavItems:[{urlOrPageId:"reservations",label:"Reservations"},{urlOrPageId:"tel:+1234567890",label:"Call Us"}]}},{description:"Clean minimalist design navbar with neutral light background, centered navigation links, and subtle shadow for creative agencies and design studios",type:"navbar",props:{brand:"Minimal Studio",colorPreset:{color:"neutral-100"},linksPosition:"center",linksTagsFilter:["main"],shadow:"shadow-sm"}},{description:"Creative portfolio navbar with dark neutral background, compact logo, and external social media links to showcase professional work and attract clients",type:"navbar",props:{logo:{src:"https://via.placeholder.com/80x40.png?text=Portfolio",alt:"Creative Portfolio logo"},brand:"Creative Portfolio",colorPreset:{color:"neutral-900"},linksPosition:"right",linksTagsFilter:["portfolio","main"],staticNavItems:[{urlOrPageId:"https://dribbble.com/mywork",label:"Dribbble"},{urlOrPageId:"https://behance.net/mywork",label:"Behance"},{urlOrPageId:"contact",label:"Hire Me"}]}},{description:"Digital marketing agency navbar with horizontal gradient background, large shadow, and external consultation booking integration for lead generation",type:"navbar",props:{brand:"Digital Agency",colorPreset:{color:"primary-600",gradientDirection:"bg-gradient-to-r"},linksPosition:"right",linksTagsFilter:["services","navbar"],shadow:"shadow-lg",staticNavItems:[{urlOrPageId:"https://calendar.com/book",label:"Book Consultation"},{urlOrPageId:"case-studies",label:"Case Studies"}]}},{description:"SaaS application navbar with accent color scheme, company logo, and essential user authentication links for software platforms",type:"navbar",props:{logo:{src:"https://via.placeholder.com/120x35.png?text=CloudApp",alt:"CloudApp SaaS logo"},brand:"CloudApp",colorPreset:{color:"accent-500"},linksPosition:"right",linksTagsFilter:["features","navbar"],staticNavItems:[{urlOrPageId:"pricing",label:"Pricing"},{urlOrPageId:"login",label:"Login"},{urlOrPageId:"signup",label:"Sign Up"}]}},{description:"Nonprofit organization navbar with warm accent color, centered navigation, and donation call-to-action links for charitable foundations",type:"navbar",props:{brand:"Hope Foundation",colorPreset:{color:"accent-400"},linksPosition:"center",linksTagsFilter:["about","programs"],shadow:"shadow-md",staticNavItems:[{urlOrPageId:"donate",label:"Donate Now"},{urlOrPageId:"volunteer",label:"Volunteer"}]}},{description:"Professional law firm navbar with dark authoritative styling, professional logo, and client consultation contact information for legal services",type:"navbar",props:{logo:{src:"https://via.placeholder.com/110x45.png?text=LawFirm",alt:"Professional Law Firm logo"},brand:"Smith & Associates",colorPreset:{color:"neutral-800"},linksPosition:"right",linksTagsFilter:["practice-areas","navbar"],staticNavItems:[{urlOrPageId:"consultation",label:"Free Consultation"},{urlOrPageId:"tel:+1234567890",label:"(123) 456-7890"}]}},{description:"Event management company navbar with bold primary red gradient background, left-aligned navigation, and ticket purchasing links for entertainment venues",type:"navbar",props:{brand:"Event Masters",colorPreset:{color:"primary-500",gradientDirection:"bg-gradient-to-br"},linksPosition:"left",linksTagsFilter:["events","upcoming"],shadow:"shadow-xl",staticNavItems:[{urlOrPageId:"tickets",label:"Buy Tickets"},{urlOrPageId:"venues",label:"Venues"}]}},{description:"Fitness studio navbar with secondary purple color scheme, visible brand name alongside logo, and centered class booking navigation for health and wellness businesses",type:"navbar",props:{logo:{src:"https://via.placeholder.com/90x50.png?text=FitStudio",alt:"Fitness Studio logo"},brand:"Peak Fitness",hideBrand:!1,colorPreset:{color:"secondary-600"},linksPosition:"center",linksTagsFilter:["classes","membership"],staticNavItems:[{urlOrPageId:"book-class",label:"Book Class"},{urlOrPageId:"membership",label:"Join Now"},{urlOrPageId:"trainers",label:"Personal Training"}]}}];export{b as a,F as b,S as c};
|
|
4
|
+
//# sourceMappingURL=chunk-SY6DZLTC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/navbar.manifest.ts"],"sourcesContent":["import { type Static, type TObject, Type } from \"@sinclair/typebox\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { string, urlOrPageIdRef } from \"../props/string\";\nimport { imageRef } from \"../props/image\";\nimport { textContentRef } from \"../props/text\";\nimport { shadowRef } from \"../props/effects\";\nimport { boolean } from \"../props/boolean\";\nimport { VscLayoutPanelOff } from \"react-icons/vsc\";\nimport type { BrickProps } from \"../props/types\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { tagsRef } from \"../props/tags\";\nimport { toLLMSchema } from \"~/shared/utils/llm\";\n\nexport const manifest = defineBrickManifest({\n type: \"navbar\",\n name: \"Navbar\",\n category: \"layout\",\n description: \"A navigation bar with logo and navigation\",\n aiInstructions: \"This brick should be used on most sites/pages. It must be placed on its own section.\",\n isGlobalBrick: true,\n duplicatable: false,\n resizable: false,\n movable: false,\n hideInLibrary: true,\n staticClasses: \"flex-grow\",\n defaultWidth: { mobile: \"100%\" },\n defaultHeight: { mobile: \"60px\", desktop: \"60px\" },\n icon: VscLayoutPanelOff,\n iconClassName: \"rotate-180\",\n props: defineProps(\n {\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n default: { color: \"primary-500\" },\n examples: [{ color: \"primary-500\" }, { color: \"neutral-900\" }, { color: \"secondary-200\" }],\n }),\n ),\n brand: Type.Optional(\n textContentRef({\n title: \"Brand name\",\n default: \"Acme Inc.\",\n disableSizing: true,\n \"ai:instructions\":\n \"The brand name of the website, for example the company name. Please provide it even if optional.\",\n metadata: {\n category: \"content\",\n },\n examples: [\"Acme Inc.\", \"TechCorp Solutions\", \"ShopEasy\", \"Bella Vista\"],\n }),\n ),\n logo: Type.Optional(\n imageRef({\n title: \"Logo\",\n \"ui:show-img-search\": false,\n \"ui:no-object-options\": true,\n \"ui:no-dynamic\": true,\n \"ui:placeholder\": \"https://example.com/logo.png\",\n metadata: {\n category: \"content\",\n },\n \"ai:hidden\": true, // Hide from AI as it should always be provided if available\n }),\n ),\n hideBrand: Type.Optional(\n boolean(\"Hide brand name\", undefined, {\n \"ai:hidden\": true,\n metadata: {\n filter: (manifestProps: TObject, formData: Static<Manifest[\"props\"]>) => {\n return !!formData.logo; // Enable this field only if logo is set\n },\n },\n }),\n ),\n linksTagsFilter: Type.Optional(\n tagsRef({\n title: \"Pages tags\",\n description: \"Filter pages links in the navbar by tags. Only pages with these tags will be shown.\",\n default: [\"navbar\"],\n metadata: {\n category: \"content\",\n },\n examples: [[\"navbar\", \"main\"], [\"top-menu\"], [\"important-link\", \"navbar\"]],\n }),\n ),\n staticNavItems: Type.Optional(\n Type.Array(\n Type.Object({\n urlOrPageId: urlOrPageIdRef(),\n label: Type.Optional(string(\"Label\")),\n }),\n {\n title: \"Static links\",\n description: \"Additional static navigation links to show in the navbar\",\n \"ai:instructions\": \"Don't include pages already included by the tags filter.\",\n default: [],\n metadata: {\n category: \"content\",\n },\n examples: [\n [\n { urlOrPageId: \"http://example.com/\", label: \"Other site\" },\n { urlOrPageId: \"https://docs.example.com/\", label: \"External docs\" },\n ],\n [{ urlOrPageId: \"https://www.amazon.com/our-brand\", label: \"Buy our brand on Amazon\" }],\n ],\n },\n ),\n ),\n linksPosition: Type.Optional(\n Type.Union(\n [\n Type.Literal(\"left\", { title: \"Left\" }),\n Type.Literal(\"center\", { title: \"Center\" }),\n Type.Literal(\"right\", { title: \"Right\" }),\n ],\n { title: \"Links position\", default: \"right\", \"ui:responsive\": \"desktop\" },\n ),\n ),\n shadow: Type.Optional(shadowRef()),\n },\n { noAlignSelf: true, noGrow: true },\n ),\n});\n\nexport type Manifest = typeof manifest;\nexport type NavbarProps = Static<Manifest[\"props\"]>;\n\nexport function getNavbarSchemaForLLM() {\n return toLLMSchema(manifest.props);\n}\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description:\n \"Corporate technology company navbar featuring company logo with right-aligned navigation links filtered by navbar and featured tags\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/120x40.png?text=TechCorp\",\n alt: \"TechCorp Solutions logo\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"navbar\", \"featured\"],\n },\n },\n {\n description:\n \"Dark-themed professional navbar with centered brand text and navigation, including external site link for service companies\",\n type: \"navbar\",\n props: {\n brand: \"TechCorp Solutions\",\n linksPosition: \"center\",\n linksTagsFilter: [\"navbar\", \"featured\"],\n staticNavItems: [{ urlOrPageId: \"http://example.com/\", label: \"Other site\" }],\n },\n },\n {\n description:\n \"E-commerce store navbar with primary blue branding, medium shadow effect, and right-aligned cart/account links for online shopping sites\",\n type: \"navbar\",\n props: {\n brand: \"ShopEasy\",\n colorPreset: {\n color: \"primary-500\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"main\", \"shop\"],\n shadow: \"shadow-md\",\n staticNavItems: [\n { urlOrPageId: \"cart\", label: \"Cart\" },\n { urlOrPageId: \"account\", label: \"Account\" },\n ],\n },\n },\n {\n description:\n \"Restaurant navbar with logo and hidden brand text, featuring secondary color scheme and left-aligned navigation with reservation booking and phone contact\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/100x50.png?text=Bella+Vista\",\n alt: \"Bella Vista Restaurant logo\",\n },\n brand: \"Bella Vista\",\n hideBrand: true,\n linksPosition: \"left\",\n linksTagsFilter: [\"navbar\"],\n colorPreset: {\n color: \"secondary-200\",\n },\n staticNavItems: [\n { urlOrPageId: \"reservations\", label: \"Reservations\" },\n { urlOrPageId: \"tel:+1234567890\", label: \"Call Us\" },\n ],\n },\n },\n {\n description:\n \"Clean minimalist design navbar with neutral light background, centered navigation links, and subtle shadow for creative agencies and design studios\",\n type: \"navbar\",\n props: {\n brand: \"Minimal Studio\",\n colorPreset: {\n color: \"neutral-100\",\n },\n linksPosition: \"center\",\n linksTagsFilter: [\"main\"],\n shadow: \"shadow-sm\",\n },\n },\n {\n description:\n \"Creative portfolio navbar with dark neutral background, compact logo, and external social media links to showcase professional work and attract clients\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/80x40.png?text=Portfolio\",\n alt: \"Creative Portfolio logo\",\n },\n brand: \"Creative Portfolio\",\n colorPreset: {\n color: \"neutral-900\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"portfolio\", \"main\"],\n staticNavItems: [\n { urlOrPageId: \"https://dribbble.com/mywork\", label: \"Dribbble\" },\n { urlOrPageId: \"https://behance.net/mywork\", label: \"Behance\" },\n { urlOrPageId: \"contact\", label: \"Hire Me\" },\n ],\n },\n },\n {\n description:\n \"Digital marketing agency navbar with horizontal gradient background, large shadow, and external consultation booking integration for lead generation\",\n type: \"navbar\",\n props: {\n brand: \"Digital Agency\",\n colorPreset: {\n color: \"primary-600\",\n gradientDirection: \"bg-gradient-to-r\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"services\", \"navbar\"],\n shadow: \"shadow-lg\",\n staticNavItems: [\n { urlOrPageId: \"https://calendar.com/book\", label: \"Book Consultation\" },\n { urlOrPageId: \"case-studies\", label: \"Case Studies\" },\n ],\n },\n },\n {\n description:\n \"SaaS application navbar with accent color scheme, company logo, and essential user authentication links for software platforms\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/120x35.png?text=CloudApp\",\n alt: \"CloudApp SaaS logo\",\n },\n brand: \"CloudApp\",\n colorPreset: {\n color: \"accent-500\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"features\", \"navbar\"],\n staticNavItems: [\n { urlOrPageId: \"pricing\", label: \"Pricing\" },\n { urlOrPageId: \"login\", label: \"Login\" },\n { urlOrPageId: \"signup\", label: \"Sign Up\" },\n ],\n },\n },\n {\n description:\n \"Nonprofit organization navbar with warm accent color, centered navigation, and donation call-to-action links for charitable foundations\",\n type: \"navbar\",\n props: {\n brand: \"Hope Foundation\",\n colorPreset: {\n color: \"accent-400\",\n },\n linksPosition: \"center\",\n linksTagsFilter: [\"about\", \"programs\"],\n shadow: \"shadow-md\",\n staticNavItems: [\n { urlOrPageId: \"donate\", label: \"Donate Now\" },\n { urlOrPageId: \"volunteer\", label: \"Volunteer\" },\n ],\n },\n },\n {\n description:\n \"Professional law firm navbar with dark authoritative styling, professional logo, and client consultation contact information for legal services\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/110x45.png?text=LawFirm\",\n alt: \"Professional Law Firm logo\",\n },\n brand: \"Smith & Associates\",\n colorPreset: {\n color: \"neutral-800\",\n },\n linksPosition: \"right\",\n linksTagsFilter: [\"practice-areas\", \"navbar\"],\n staticNavItems: [\n { urlOrPageId: \"consultation\", label: \"Free Consultation\" },\n { urlOrPageId: \"tel:+1234567890\", label: \"(123) 456-7890\" },\n ],\n },\n },\n {\n description:\n \"Event management company navbar with bold primary red gradient background, left-aligned navigation, and ticket purchasing links for entertainment venues\",\n type: \"navbar\",\n props: {\n brand: \"Event Masters\",\n colorPreset: {\n color: \"primary-500\",\n gradientDirection: \"bg-gradient-to-br\",\n },\n linksPosition: \"left\",\n linksTagsFilter: [\"events\", \"upcoming\"],\n shadow: \"shadow-xl\",\n staticNavItems: [\n { urlOrPageId: \"tickets\", label: \"Buy Tickets\" },\n { urlOrPageId: \"venues\", label: \"Venues\" },\n ],\n },\n },\n {\n description:\n \"Fitness studio navbar with secondary purple color scheme, visible brand name alongside logo, and centered class booking navigation for health and wellness businesses\",\n type: \"navbar\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/90x50.png?text=FitStudio\",\n alt: \"Fitness Studio logo\",\n },\n brand: \"Peak Fitness\",\n hideBrand: false,\n colorPreset: {\n color: \"secondary-600\",\n },\n linksPosition: \"center\",\n linksTagsFilter: [\"classes\", \"membership\"],\n staticNavItems: [\n { urlOrPageId: \"book-class\", label: \"Book Class\" },\n { urlOrPageId: \"membership\", label: \"Join Now\" },\n { urlOrPageId: \"trainers\", label: \"Personal Training\" },\n ],\n },\n },\n];\n"],"mappings":";;uZAAA,OAAoC,QAAAA,MAAY,oBAQhD,OAAS,qBAAAC,MAAyB,kBAM3B,IAAMC,EAAWC,EAAoB,CAC1C,KAAM,SACN,KAAM,SACN,SAAU,SACV,YAAa,4CACb,eAAgB,uFAChB,cAAe,GACf,aAAc,GACd,UAAW,GACX,QAAS,GACT,cAAe,GACf,cAAe,YACf,aAAc,CAAE,OAAQ,MAAO,EAC/B,cAAe,CAAE,OAAQ,OAAQ,QAAS,MAAO,EACjD,KAAMC,EACN,cAAe,aACf,MAAOC,EACL,CACE,YAAaC,EAAK,SAChBC,EAAe,CACb,MAAO,QACP,QAAS,CAAE,MAAO,aAAc,EAChC,SAAU,CAAC,CAAE,MAAO,aAAc,EAAG,CAAE,MAAO,aAAc,EAAG,CAAE,MAAO,eAAgB,CAAC,CAC3F,CAAC,CACH,EACA,MAAOD,EAAK,SACVE,EAAe,CACb,MAAO,aACP,QAAS,YACT,cAAe,GACf,kBACE,mGACF,SAAU,CACR,SAAU,SACZ,EACA,SAAU,CAAC,YAAa,qBAAsB,WAAY,aAAa,CACzE,CAAC,CACH,EACA,KAAMF,EAAK,SACTG,EAAS,CACP,MAAO,OACP,qBAAsB,GACtB,uBAAwB,GACxB,gBAAiB,GACjB,iBAAkB,+BAClB,SAAU,CACR,SAAU,SACZ,EACA,YAAa,EACf,CAAC,CACH,EACA,UAAWH,EAAK,SACdI,EAAQ,kBAAmB,OAAW,CACpC,YAAa,GACb,SAAU,CACR,OAAQ,CAACC,EAAwBC,IACxB,CAAC,CAACA,EAAS,IAEtB,CACF,CAAC,CACH,EACA,gBAAiBN,EAAK,SACpBO,EAAQ,CACN,MAAO,aACP,YAAa,sFACb,QAAS,CAAC,QAAQ,EAClB,SAAU,CACR,SAAU,SACZ,EACA,SAAU,CAAC,CAAC,SAAU,MAAM,EAAG,CAAC,UAAU,EAAG,CAAC,iBAAkB,QAAQ,CAAC,CAC3E,CAAC,CACH,EACA,eAAgBP,EAAK,SACnBA,EAAK,MACHA,EAAK,OAAO,CACV,YAAaQ,EAAe,EAC5B,MAAOR,EAAK,SAASS,EAAO,OAAO,CAAC,CACtC,CAAC,EACD,CACE,MAAO,eACP,YAAa,2DACb,kBAAmB,2DACnB,QAAS,CAAC,EACV,SAAU,CACR,SAAU,SACZ,EACA,SAAU,CACR,CACE,CAAE,YAAa,sBAAuB,MAAO,YAAa,EAC1D,CAAE,YAAa,4BAA6B,MAAO,eAAgB,CACrE,EACA,CAAC,CAAE,YAAa,mCAAoC,MAAO,yBAA0B,CAAC,CACxF,CACF,CACF,CACF,EACA,cAAeT,EAAK,SAClBA,EAAK,MACH,CACEA,EAAK,QAAQ,OAAQ,CAAE,MAAO,MAAO,CAAC,EACtCA,EAAK,QAAQ,SAAU,CAAE,MAAO,QAAS,CAAC,EAC1CA,EAAK,QAAQ,QAAS,CAAE,MAAO,OAAQ,CAAC,CAC1C,EACA,CAAE,MAAO,iBAAkB,QAAS,QAAS,gBAAiB,SAAU,CAC1E,CACF,EACA,OAAQA,EAAK,SAASU,EAAU,CAAC,CACnC,EACA,CAAE,YAAa,GAAM,OAAQ,EAAK,CACpC,CACF,CAAC,EAKM,SAASC,GAAwB,CACtC,OAAOC,EAAYhB,EAAS,KAAK,CACnC,CAEO,IAAMiB,EAIP,CACJ,CACE,YACE,sIACF,KAAM,SACN,MAAO,CACL,KAAM,CACJ,IAAK,uDACL,IAAK,yBACP,EACA,cAAe,QACf,gBAAiB,CAAC,SAAU,UAAU,CACxC,CACF,EACA,CACE,YACE,8HACF,KAAM,SACN,MAAO,CACL,MAAO,qBACP,cAAe,SACf,gBAAiB,CAAC,SAAU,UAAU,EACtC,eAAgB,CAAC,CAAE,YAAa,sBAAuB,MAAO,YAAa,CAAC,CAC9E,CACF,EACA,CACE,YACE,2IACF,KAAM,SACN,MAAO,CACL,MAAO,WACP,YAAa,CACX,MAAO,aACT,EACA,cAAe,QACf,gBAAiB,CAAC,OAAQ,MAAM,EAChC,OAAQ,YACR,eAAgB,CACd,CAAE,YAAa,OAAQ,MAAO,MAAO,EACrC,CAAE,YAAa,UAAW,MAAO,SAAU,CAC7C,CACF,CACF,EACA,CACE,YACE,6JACF,KAAM,SACN,MAAO,CACL,KAAM,CACJ,IAAK,0DACL,IAAK,6BACP,EACA,MAAO,cACP,UAAW,GACX,cAAe,OACf,gBAAiB,CAAC,QAAQ,EAC1B,YAAa,CACX,MAAO,eACT,EACA,eAAgB,CACd,CAAE,YAAa,eAAgB,MAAO,cAAe,EACrD,CAAE,YAAa,kBAAmB,MAAO,SAAU,CACrD,CACF,CACF,EACA,CACE,YACE,sJACF,KAAM,SACN,MAAO,CACL,MAAO,iBACP,YAAa,CACX,MAAO,aACT,EACA,cAAe,SACf,gBAAiB,CAAC,MAAM,EACxB,OAAQ,WACV,CACF,EACA,CACE,YACE,0JACF,KAAM,SACN,MAAO,CACL,KAAM,CACJ,IAAK,uDACL,IAAK,yBACP,EACA,MAAO,qBACP,YAAa,CACX,MAAO,aACT,EACA,cAAe,QACf,gBAAiB,CAAC,YAAa,MAAM,EACrC,eAAgB,CACd,CAAE,YAAa,8BAA+B,MAAO,UAAW,EAChE,CAAE,YAAa,6BAA8B,MAAO,SAAU,EAC9D,CAAE,YAAa,UAAW,MAAO,SAAU,CAC7C,CACF,CACF,EACA,CACE,YACE,uJACF,KAAM,SACN,MAAO,CACL,MAAO,iBACP,YAAa,CACX,MAAO,cACP,kBAAmB,kBACrB,EACA,cAAe,QACf,gBAAiB,CAAC,WAAY,QAAQ,EACtC,OAAQ,YACR,eAAgB,CACd,CAAE,YAAa,4BAA6B,MAAO,mBAAoB,EACvE,CAAE,YAAa,eAAgB,MAAO,cAAe,CACvD,CACF,CACF,EACA,CACE,YACE,iIACF,KAAM,SACN,MAAO,CACL,KAAM,CACJ,IAAK,uDACL,IAAK,oBACP,EACA,MAAO,WACP,YAAa,CACX,MAAO,YACT,EACA,cAAe,QACf,gBAAiB,CAAC,WAAY,QAAQ,EACtC,eAAgB,CACd,CAAE,YAAa,UAAW,MAAO,SAAU,EAC3C,CAAE,YAAa,QAAS,MAAO,OAAQ,EACvC,CAAE,YAAa,SAAU,MAAO,SAAU,CAC5C,CACF,CACF,EACA,CACE,YACE,0IACF,KAAM,SACN,MAAO,CACL,MAAO,kBACP,YAAa,CACX,MAAO,YACT,EACA,cAAe,SACf,gBAAiB,CAAC,QAAS,UAAU,EACrC,OAAQ,YACR,eAAgB,CACd,CAAE,YAAa,SAAU,MAAO,YAAa,EAC7C,CAAE,YAAa,YAAa,MAAO,WAAY,CACjD,CACF,CACF,EACA,CACE,YACE,kJACF,KAAM,SACN,MAAO,CACL,KAAM,CACJ,IAAK,sDACL,IAAK,4BACP,EACA,MAAO,qBACP,YAAa,CACX,MAAO,aACT,EACA,cAAe,QACf,gBAAiB,CAAC,iBAAkB,QAAQ,EAC5C,eAAgB,CACd,CAAE,YAAa,eAAgB,MAAO,mBAAoB,EAC1D,CAAE,YAAa,kBAAmB,MAAO,gBAAiB,CAC5D,CACF,CACF,EACA,CACE,YACE,2JACF,KAAM,SACN,MAAO,CACL,MAAO,gBACP,YAAa,CACX,MAAO,cACP,kBAAmB,mBACrB,EACA,cAAe,OACf,gBAAiB,CAAC,SAAU,UAAU,EACtC,OAAQ,YACR,eAAgB,CACd,CAAE,YAAa,UAAW,MAAO,aAAc,EAC/C,CAAE,YAAa,SAAU,MAAO,QAAS,CAC3C,CACF,CACF,EACA,CACE,YACE,wKACF,KAAM,SACN,MAAO,CACL,KAAM,CACJ,IAAK,uDACL,IAAK,qBACP,EACA,MAAO,eACP,UAAW,GACX,YAAa,CACX,MAAO,eACT,EACA,cAAe,SACf,gBAAiB,CAAC,UAAW,YAAY,EACzC,eAAgB,CACd,CAAE,YAAa,aAAc,MAAO,YAAa,EACjD,CAAE,YAAa,aAAc,MAAO,UAAW,EAC/C,CAAE,YAAa,WAAY,MAAO,mBAAoB,CACxD,CACF,CACF,CACF","names":["Type","VscLayoutPanelOff","manifest","defineBrickManifest","VscLayoutPanelOff","defineProps","Type","colorPresetRef","textContentRef","imageRef","boolean","manifestProps","formData","tagsRef","urlOrPageIdRef","string","shadowRef","getNavbarSchemaForLLM","toLLMSchema","examples"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
3
|
import{Type as t}from"@sinclair/typebox";var n=t.Object({id:t.String(),username:t.String(),acct:t.String(),url:t.String(),display_name:t.Optional(t.String()),note:t.String(),avatar:t.String(),avatar_static:t.String(),header:t.String(),header_static:t.String(),locked:t.Boolean(),fields:t.Array(t.Object({name:t.String(),value:t.String(),verified_at:t.Optional(t.String())})),emojis:t.Array(t.Object({shortcode:t.String(),url:t.String(),static_url:t.String(),visible_in_picker:t.Boolean(),category:t.Optional(t.String())})),bot:t.Boolean(),group:t.Boolean(),discoverable:t.Union([t.Boolean(),t.Null()]),noindex:t.Optional(t.Boolean()),moved:t.Optional(t.String()),suspended:t.Optional(t.Boolean()),limited:t.Optional(t.Boolean()),created_at:t.String(),last_status_at:t.Optional(t.String()),statuses_count:t.Number(),followers_count:t.Number(),following_count:t.Number()});export{n as a};
|
|
4
|
+
//# sourceMappingURL=chunk-VEDQV5XO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/datasources/external/mastodon/account/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const mastodonAccountSchema = Type.Object({\n id: Type.String(),\n username: Type.String(),\n acct: Type.String(),\n url: Type.String(),\n display_name: Type.Optional(Type.String()),\n note: Type.String(),\n avatar: Type.String(),\n avatar_static: Type.String(),\n header: Type.String(),\n header_static: Type.String(),\n locked: Type.Boolean(),\n fields: Type.Array(\n Type.Object({\n name: Type.String(),\n value: Type.String(),\n verified_at: Type.Optional(Type.String()),\n }),\n ),\n emojis: Type.Array(\n Type.Object({\n shortcode: Type.String(),\n url: Type.String(),\n static_url: Type.String(),\n visible_in_picker: Type.Boolean(),\n category: Type.Optional(Type.String()),\n }),\n ),\n bot: Type.Boolean(),\n group: Type.Boolean(),\n discoverable: Type.Union([Type.Boolean(), Type.Null()]),\n noindex: Type.Optional(Type.Boolean()),\n moved: Type.Optional(Type.String()),\n suspended: Type.Optional(Type.Boolean()),\n limited: Type.Optional(Type.Boolean()),\n created_at: Type.String(),\n last_status_at: Type.Optional(Type.String()),\n statuses_count: Type.Number(),\n followers_count: Type.Number(),\n following_count: Type.Number(),\n});\n\nexport type MastodonAccountSchema = Static<typeof mastodonAccountSchema>;\n"],"mappings":";;AAAA,OAAS,QAAAA,MAAyB,oBAE3B,IAAMC,EAAwBD,EAAK,OAAO,CAC/C,GAAIA,EAAK,OAAO,EAChB,SAAUA,EAAK,OAAO,EACtB,KAAMA,EAAK,OAAO,EAClB,IAAKA,EAAK,OAAO,EACjB,aAAcA,EAAK,SAASA,EAAK,OAAO,CAAC,EACzC,KAAMA,EAAK,OAAO,EAClB,OAAQA,EAAK,OAAO,EACpB,cAAeA,EAAK,OAAO,EAC3B,OAAQA,EAAK,OAAO,EACpB,cAAeA,EAAK,OAAO,EAC3B,OAAQA,EAAK,QAAQ,EACrB,OAAQA,EAAK,MACXA,EAAK,OAAO,CACV,KAAMA,EAAK,OAAO,EAClB,MAAOA,EAAK,OAAO,EACnB,YAAaA,EAAK,SAASA,EAAK,OAAO,CAAC,CAC1C,CAAC,CACH,EACA,OAAQA,EAAK,MACXA,EAAK,OAAO,CACV,UAAWA,EAAK,OAAO,EACvB,IAAKA,EAAK,OAAO,EACjB,WAAYA,EAAK,OAAO,EACxB,kBAAmBA,EAAK,QAAQ,EAChC,SAAUA,EAAK,SAASA,EAAK,OAAO,CAAC,CACvC,CAAC,CACH,EACA,IAAKA,EAAK,QAAQ,EAClB,MAAOA,EAAK,QAAQ,EACpB,aAAcA,EAAK,MAAM,CAACA,EAAK,QAAQ,EAAGA,EAAK,KAAK,CAAC,CAAC,EACtD,QAASA,EAAK,SAASA,EAAK,QAAQ,CAAC,EACrC,MAAOA,EAAK,SAASA,EAAK,OAAO,CAAC,EAClC,UAAWA,EAAK,SAASA,EAAK,QAAQ,CAAC,EACvC,QAASA,EAAK,SAASA,EAAK,QAAQ,CAAC,EACrC,WAAYA,EAAK,OAAO,EACxB,eAAgBA,EAAK,SAASA,EAAK,OAAO,CAAC,EAC3C,eAAgBA,EAAK,OAAO,EAC5B,gBAAiBA,EAAK,OAAO,EAC7B,gBAAiBA,EAAK,OAAO,CAC/B,CAAC","names":["Type","mastodonAccountSchema"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import{f as o}from"./chunk-
|
|
3
|
+
import{f as o}from"./chunk-SWLUQVK7.js";import{c as i}from"./chunk-OHNYCXPX.js";import{a as t}from"./chunk-KFM6KXSE.js";import{Type as e}from"@sinclair/typebox";function a(){return e.Object({desktop:e.Optional(e.Boolean()),mobile:e.Optional(e.Boolean())},{title:"Hidden",description:"Used to hide the brick on desktop or mobile.","ui:field":"hidden"})}var n={lastTouched:e.Optional(e.Number({"ui:field":"hidden","ai:hidden":!0})),hidden:e.Optional(t("styles:hidden")),editable:e.Optional(e.Boolean({"ui:field":"hidden","ai:hidden":!0})),width:e.Optional(i({title:"Fixed Width",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.","ai:instructions":"Use percentage values to make the width responsive, like '50%'","ui:field":"hidden"})),height:e.Optional(i({title:"Fixed height",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.","ui:field":"hidden"})),grow:e.Optional(e.Boolean({title:"Auto expand",description:"If set, the brick will grow to fill the available space of its parent section or box.","ui:styleId":"styles:grow","ui:responsive":!0})),alignSelf:e.Optional(o())},p=e.Object(n);export{a,n as b};
|
|
4
|
+
//# sourceMappingURL=chunk-W33JMRRN.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 { typedRef } from \"~/shared/utils/typed-ref\";\nimport { cssLengthRef } from \"./css-length\";\nimport { alignSelfRef } 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(typedRef(\"styles:hidden\")),\n editable: Type.Optional(\n Type.Boolean({\n \"ui:field\": \"hidden\",\n \"ai:hidden\": true,\n }),\n ),\n width: Type.Optional(\n cssLengthRef({\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 cssLengthRef({\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(alignSelfRef()),\n};\n\nconst commonPropsSchema = Type.Object(commonProps);\nexport type CommonBrickProps = Static<typeof commonPropsSchema>;\n"],"mappings":";;wHAAA,OAAoC,QAAAA,MAAY,oBAKzC,SAASC,GAAS,CACvB,OAAOC,EAAK,OACV,CACE,QAASA,EAAK,SAASA,EAAK,QAAQ,CAAC,EACrC,OAAQA,EAAK,SAASA,EAAK,QAAQ,CAAC,CACtC,EACA,CAEE,MAAO,SACP,YAAa,+CACb,WAAY,QACd,CACF,CACF,CAEO,IAAMC,EAAc,CACzB,YAAaD,EAAK,SAChBA,EAAK,OAAO,CACV,WAAY,SACZ,YAAa,EACf,CAAC,CACH,EACA,OAAQA,EAAK,SAASE,EAAS,eAAe,CAAC,EAC/C,SAAUF,EAAK,SACbA,EAAK,QAAQ,CACX,WAAY,SACZ,YAAa,EACf,CAAC,CACH,EACA,MAAOA,EAAK,SACVG,EAAa,CACX,MAAO,cACP,YACE,mIACF,kBAAmB,iEACnB,WAAY,QACd,CAAC,CACH,EACA,OAAQH,EAAK,SACXG,EAAa,CACX,MAAO,eACP,YACE,oIACF,WAAY,QACd,CAAC,CACH,EACA,KAAMH,EAAK,SACTA,EAAK,QAAQ,CACX,MAAO,cACP,YAAa,wFACb,aAAc,cACd,gBAAiB,EACnB,CAAC,CACH,EACA,UAAWA,EAAK,SAASI,EAAa,CAAC,CACzC,EAEMC,EAAoBL,EAAK,OAAOC,CAAW","names":["Type","hidden","Type","commonProps","typedRef","cssLengthRef","alignSelfRef","commonPropsSchema"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import{c as m}from"./chunk-
|
|
3
|
+
import{c as m}from"./chunk-3YVJ2ELD.js";import{a as n}from"./chunk-RJYZ5FAR.js";import{m as d}from"./chunk-AFVJZPLS.js";import{b as s}from"./chunk-CCI4C3TM.js";import{a as o}from"./chunk-A3GF4PYW.js";import{b as i}from"./chunk-4BTB3MU2.js";import{b as r,d as t}from"./chunk-ZTZJHY4E.js";import{c as p}from"./chunk-CZRCW5EN.js";import{c as a}from"./chunk-OHNYCXPX.js";import{RxImage as l}from"react-icons/rx";import{Type as e}from"@sinclair/typebox";var I=n({type:"image",name:"Image",category:"media",description:"An image brick",aiInstructions:"An image brick that can display an image with optional styling such as padding, border radius, and shadow. It supports giving credit to the image author and specifying the image provider.",defaultWidth:{desktop:"auto",mobile:"100%"},icon:l,props:m({image:s({metadata:{category:"content"}}),colorPreset:e.Optional(p()),padding:e.Optional(a({description:"Padding inside the image.",title:"Padding","ai:instructions":"Use only a single value like '1rem' or '10px'","ui:responsive":!0,"ui:placeholder":"Not specified","ui:styleId":"styles:padding"})),rounding:e.Optional(t({default:"rounded-md"})),border:e.Optional(r()),shadow:e.Optional(i()),blurHash:e.Optional(o("Blur Hash",{"ui:field":"hidden",description:"A placeholder for the image while it is loading. Use a blur hash string."})),author:e.Optional(e.Object({name:o("Image Author",{description:"Image author. Use this to give credit to the author"}),url:o("Image Author URL",{description:"Image author URL. Use this to give credit to the author"})},{"ui:field":"hidden"})),provider:e.Optional(o("Image Provider",{"ui:field":"hidden","ai:instructions":"The provider of the image, e.g. 'unsplash', 'pexels', etc."})),loop:e.Optional(d())})}),R=[{description:"Hero landscape image with large shadow",type:"image",props:{image:{src:"https://via.placeholder.com/800x400.png?text=Hero+Landscape",alt:"Beautiful landscape view for hero section"},shadow:"shadow-lg"}},{description:"Team member profile photo, full rounded",type:"image",props:{image:{src:"https://via.placeholder.com/300x300.png?text=Profile+Photo",alt:"Team member profile photo"},shadow:"shadow-md",rounding:"rounded-full"}},{description:"Product showcase image",type:"image",props:{image:{src:"https://via.placeholder.com/400x400.png?text=Product+Image",alt:"Premium product showcase"},shadow:"shadow-sm"}},{description:"Blog article featured image with medium shadow and full author info",type:"image",props:{image:{src:"https://via.placeholder.com/600x300.png?text=Article+Featured",alt:"Featured image for blog article"},author:{name:"John Photographer",url:"https://example.com/john"},provider:"unsplash",shadow:"shadow-md"}},{description:"Logo image with padding and small shadow",type:"image",props:{image:{src:"https://via.placeholder.com/200x80.png?text=Company+Logo",alt:"Company logo"},padding:"p-8",shadow:"shadow-sm"}},{description:"Testimonial customer photo with large shadow and small padding",type:"image",props:{image:{src:"https://via.placeholder.com/120x120.png?text=Customer",alt:"Happy customer testimonial photo"},shadow:"shadow-lg",padding:"p-2"}},{description:"Event banner image with neutral-500 background",type:"image",props:{colorPreset:{color:"neutral-500"},image:{src:"https://via.placeholder.com/800x200.png?text=Event+Banner",alt:"Annual conference event banner"},shadow:"shadow-xl",author:{name:"Event Photographer",url:"https://example.com/photographer"},provider:"pexels"}},{description:"Illustration with background and padding",type:"image",props:{image:{src:"https://via.placeholder.com/150x150.png?text=Blabla+Feature",alt:"Feature illustration"},padding:"p-8",shadow:"shadow-sm"}},{description:"Image with blurHash",type:"image",props:{image:{src:"https://via.placeholder.com/300x200.png?text=Card+Image",alt:"My image"},shadow:"shadow-md",blurHash:"L6PZfSi_.AyE_3t7t7R**0o#DgR4"}},{description:"Dynamic employee photo using employee query",type:"image",props:{image:{src:"{{employee.photo}}",alt:"Photo of {{employee.fullName}}"},rounding:"rounded-full",shadow:"shadow-lg",padding:"1rem"}},{description:"Dynamic product image using product query with author attribution",type:"image",props:{image:{src:"{{product.featuredImage}}",alt:"{{product.name}} - {{product.category}}"},author:{name:"{{product.photographer}}",url:"{{product.photographerUrl}}"},provider:"company-assets",shadow:"shadow-md",rounding:"rounded-lg"}},{description:"Dynamic company logo using company query",type:"image",props:{image:{src:"{{company.logo}}",alt:"{{company.name}} logo"},padding:"2rem",shadow:"shadow-sm",colorPreset:{color:"neutral-100"}}},{description:"Dynamic event banner using event query",type:"image",props:{image:{src:"{{event.bannerImage}}",alt:"{{event.title}} event banner"},shadow:"shadow-xl",rounding:"rounded-xl",author:{name:"{{event.photographer}}",url:"{{event.photographerProfile}}"},provider:"event-photography"}},{description:"Dynamic article featured image using article query",type:"image",props:{image:{src:"{{article.featuredImage}}",alt:"Featured image for {{article.title}}"},author:{name:"{{article.imageCredit}}",url:"{{article.imageCreditUrl}}"},provider:"{{article.imageProvider}}",shadow:"shadow-md",rounding:"rounded-lg"}},{description:"Dynamic property photo using property query",type:"image",props:{image:{src:"{{property.mainPhoto}}",alt:"{{property.address}} - {{property.propertyType}}"},shadow:"shadow-lg",rounding:"rounded-xl",colorPreset:{color:"primary-50"},padding:"1rem"}},{description:"Dynamic portfolio piece using portfolio query",type:"image",props:{image:{src:"{{portfolio.imageUrl}}",alt:"{{portfolio.projectName}} for {{portfolio.clientName}}"},author:{name:"{{portfolio.photographer}}",url:"{{portfolio.photographerWebsite}}"},provider:"portfolio-assets",shadow:"shadow-md",rounding:"rounded-lg",padding:"0.5rem"}},{description:"Dynamic service illustration using service query",type:"image",props:{image:{src:"{{service.illustration}}",alt:"{{service.name}} service illustration"},colorPreset:{color:"secondary-100"},padding:"2rem",shadow:"shadow-sm",rounding:"rounded-full"}},{description:"Dynamic testimonial customer photo using testimonial query",type:"image",props:{image:{src:"{{testimonial.customerPhoto}}",alt:"{{testimonial.customerName}} from {{testimonial.company}}"},rounding:"rounded-full",shadow:"shadow-lg",padding:"0.25rem",colorPreset:{color:"accent-50"}}},{description:"Product gallery using products query with loop",type:"image",props:{image:{src:"{{products.mainImage}}",alt:"{{products.name}} - {{products.category}}"},author:{name:"{{products.photographer}}",url:"{{products.photographerUrl}}"},provider:"product-catalog",shadow:"shadow-md",rounding:"rounded-lg",padding:"0.5rem",colorPreset:{color:"primary-50"},loop:{over:"products"}}},{description:"Team member photos using teamMembers query with loop",type:"image",props:{image:{src:"{{teamMembers.profilePhoto}}",alt:"{{teamMembers.fullName}} - {{teamMembers.position}}"},rounding:"rounded-full",shadow:"shadow-lg",padding:"0.75rem",colorPreset:{color:"secondary-100"},loop:{over:"teamMembers"}}}];export{I as a,R as b};
|
|
4
|
+
//# sourceMappingURL=chunk-WBZW5LVH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/image.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { shadowRef } from \"../props/effects\";\nimport { RxImage } from \"react-icons/rx\";\nimport { string } from \"../props/string\";\nimport { Type } from \"@sinclair/typebox\";\nimport type { BrickProps } from \"../props/types\";\nimport { backgroundColorRef } from \"../props/background\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { loopRef } from \"../props/dynamic\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { cssLengthRef } from \"../props/css-length\";\n\nexport const manifest = defineBrickManifest({\n type: \"image\",\n name: \"Image\",\n category: \"media\",\n description: \"An image brick\",\n aiInstructions:\n \"An image brick that can display an image with optional styling such as padding, border radius, and shadow. It supports giving credit to the image author and specifying the image provider.\",\n defaultWidth: { desktop: \"auto\", mobile: \"100%\" },\n icon: RxImage,\n props: defineProps({\n image: imageRef({\n metadata: {\n category: \"content\",\n },\n }),\n colorPreset: Type.Optional(colorPresetRef()),\n padding: Type.Optional(\n cssLengthRef({\n description: \"Padding inside the image.\",\n title: \"Padding\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n blurHash: Type.Optional(\n string(\"Blur Hash\", {\n \"ui:field\": \"hidden\",\n description: \"A placeholder for the image while it is loading. Use a blur hash string.\",\n }),\n ),\n author: Type.Optional(\n Type.Object(\n {\n name: string(\"Image Author\", {\n description: \"Image author. Use this to give credit to the author\",\n }),\n url: string(\"Image Author URL\", {\n description: \"Image author URL. Use this to give credit to the author\",\n }),\n },\n {\n \"ui:field\": \"hidden\",\n },\n ),\n ),\n provider: Type.Optional(\n string(\"Image Provider\", {\n \"ui:field\": \"hidden\",\n \"ai:instructions\": \"The provider of the image, e.g. 'unsplash', 'pexels', etc.\",\n }),\n ),\n loop: Type.Optional(loopRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"Hero landscape image with large shadow\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/800x400.png?text=Hero+Landscape\",\n alt: \"Beautiful landscape view for hero section\",\n },\n shadow: \"shadow-lg\",\n },\n },\n {\n description: \"Team member profile photo, full rounded\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Profile+Photo\",\n alt: \"Team member profile photo\",\n },\n shadow: \"shadow-md\",\n rounding: \"rounded-full\",\n },\n },\n {\n description: \"Product showcase image\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+Image\",\n alt: \"Premium product showcase\",\n },\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Blog article featured image with medium shadow and full author info\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/600x300.png?text=Article+Featured\",\n alt: \"Featured image for blog article\",\n },\n author: {\n name: \"John Photographer\",\n url: \"https://example.com/john\",\n },\n provider: \"unsplash\",\n shadow: \"shadow-md\",\n },\n },\n\n {\n description: \"Logo image with padding and small shadow\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/200x80.png?text=Company+Logo\",\n alt: \"Company logo\",\n },\n padding: \"p-8\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Testimonial customer photo with large shadow and small padding\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/120x120.png?text=Customer\",\n alt: \"Happy customer testimonial photo\",\n },\n shadow: \"shadow-lg\",\n padding: \"p-2\",\n },\n },\n {\n description: \"Event banner image with neutral-500 background\",\n type: \"image\",\n props: {\n colorPreset: { color: \"neutral-500\" },\n image: {\n src: \"https://via.placeholder.com/800x200.png?text=Event+Banner\",\n alt: \"Annual conference event banner\",\n },\n shadow: \"shadow-xl\",\n author: {\n name: \"Event Photographer\",\n url: \"https://example.com/photographer\",\n },\n provider: \"pexels\",\n },\n },\n {\n description: \"Illustration with background and padding\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/150x150.png?text=Blabla+Feature\",\n alt: \"Feature illustration\",\n },\n padding: \"p-8\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Image with blurHash\",\n type: \"image\",\n props: {\n image: {\n src: \"https://via.placeholder.com/300x200.png?text=Card+Image\",\n alt: \"My image\",\n },\n shadow: \"shadow-md\",\n blurHash: \"L6PZfSi_.AyE_3t7t7R**0o#DgR4\",\n },\n },\n {\n description: \"Dynamic employee photo using employee query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{employee.photo}}\",\n alt: \"Photo of {{employee.fullName}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"1rem\",\n },\n },\n {\n description: \"Dynamic product image using product query with author attribution\",\n type: \"image\",\n props: {\n image: {\n src: \"{{product.featuredImage}}\",\n alt: \"{{product.name}} - {{product.category}}\",\n },\n author: {\n name: \"{{product.photographer}}\",\n url: \"{{product.photographerUrl}}\",\n },\n provider: \"company-assets\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Dynamic company logo using company query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{company.logo}}\",\n alt: \"{{company.name}} logo\",\n },\n padding: \"2rem\",\n shadow: \"shadow-sm\",\n colorPreset: { color: \"neutral-100\" },\n },\n },\n {\n description: \"Dynamic event banner using event query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{event.bannerImage}}\",\n alt: \"{{event.title}} event banner\",\n },\n shadow: \"shadow-xl\",\n rounding: \"rounded-xl\",\n author: {\n name: \"{{event.photographer}}\",\n url: \"{{event.photographerProfile}}\",\n },\n provider: \"event-photography\",\n },\n },\n {\n description: \"Dynamic article featured image using article query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{article.featuredImage}}\",\n alt: \"Featured image for {{article.title}}\",\n },\n author: {\n name: \"{{article.imageCredit}}\",\n url: \"{{article.imageCreditUrl}}\",\n },\n provider: \"{{article.imageProvider}}\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Dynamic property photo using property query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{property.mainPhoto}}\",\n alt: \"{{property.address}} - {{property.propertyType}}\",\n },\n shadow: \"shadow-lg\",\n rounding: \"rounded-xl\",\n colorPreset: { color: \"primary-50\" },\n padding: \"1rem\",\n },\n },\n {\n description: \"Dynamic portfolio piece using portfolio query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{portfolio.imageUrl}}\",\n alt: \"{{portfolio.projectName}} for {{portfolio.clientName}}\",\n },\n author: {\n name: \"{{portfolio.photographer}}\",\n url: \"{{portfolio.photographerWebsite}}\",\n },\n provider: \"portfolio-assets\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n padding: \"0.5rem\",\n },\n },\n {\n description: \"Dynamic service illustration using service query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{service.illustration}}\",\n alt: \"{{service.name}} service illustration\",\n },\n colorPreset: { color: \"secondary-100\" },\n padding: \"2rem\",\n shadow: \"shadow-sm\",\n rounding: \"rounded-full\",\n },\n },\n {\n description: \"Dynamic testimonial customer photo using testimonial query\",\n type: \"image\",\n props: {\n image: {\n src: \"{{testimonial.customerPhoto}}\",\n alt: \"{{testimonial.customerName}} from {{testimonial.company}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"0.25rem\",\n colorPreset: { color: \"accent-50\" },\n },\n },\n {\n description: \"Product gallery using products query with loop\",\n type: \"image\",\n props: {\n image: {\n src: \"{{products.mainImage}}\",\n alt: \"{{products.name}} - {{products.category}}\",\n },\n author: {\n name: \"{{products.photographer}}\",\n url: \"{{products.photographerUrl}}\",\n },\n provider: \"product-catalog\",\n shadow: \"shadow-md\",\n rounding: \"rounded-lg\",\n padding: \"0.5rem\",\n colorPreset: { color: \"primary-50\" },\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Team member photos using teamMembers query with loop\",\n type: \"image\",\n props: {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n alt: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n rounding: \"rounded-full\",\n shadow: \"shadow-lg\",\n padding: \"0.75rem\",\n colorPreset: { color: \"secondary-100\" },\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":";;+WAIA,OAAS,WAAAA,MAAe,iBAExB,OAAS,QAAAC,MAAY,oBAQd,IAAMC,EAAWC,EAAoB,CAC1C,KAAM,QACN,KAAM,QACN,SAAU,QACV,YAAa,iBACb,eACE,8LACF,aAAc,CAAE,QAAS,OAAQ,OAAQ,MAAO,EAChD,KAAMC,EACN,MAAOC,EAAY,CACjB,MAAOC,EAAS,CACd,SAAU,CACR,SAAU,SACZ,CACF,CAAC,EACD,YAAaC,EAAK,SAASC,EAAe,CAAC,EAC3C,QAASD,EAAK,SACZE,EAAa,CACX,YAAa,4BACb,MAAO,UACP,kBAAmB,gDACnB,gBAAiB,GACjB,iBAAkB,gBAClB,aAAc,gBAChB,CAAC,CACH,EACA,SAAUF,EAAK,SACbG,EAAY,CACV,QAAS,YACX,CAAC,CACH,EACA,OAAQH,EAAK,SAASI,EAAU,CAAC,EACjC,OAAQJ,EAAK,SAASK,EAAU,CAAC,EACjC,SAAUL,EAAK,SACbM,EAAO,YAAa,CAClB,WAAY,SACZ,YAAa,0EACf,CAAC,CACH,EACA,OAAQN,EAAK,SACXA,EAAK,OACH,CACE,KAAMM,EAAO,eAAgB,CAC3B,YAAa,qDACf,CAAC,EACD,IAAKA,EAAO,mBAAoB,CAC9B,YAAa,yDACf,CAAC,CACH,EACA,CACE,WAAY,QACd,CACF,CACF,EACA,SAAUN,EAAK,SACbM,EAAO,iBAAkB,CACvB,WAAY,SACZ,kBAAmB,4DACrB,CAAC,CACH,EACA,KAAMN,EAAK,SAASO,EAAQ,CAAC,CAC/B,CAAC,CACH,CAAC,EAIYC,EAIP,CACJ,CACE,YAAa,yCACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,8DACL,IAAK,2CACP,EACA,OAAQ,WACV,CACF,EACA,CACE,YAAa,0CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,6DACL,IAAK,2BACP,EACA,OAAQ,YACR,SAAU,cACZ,CACF,EACA,CACE,YAAa,yBACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,6DACL,IAAK,0BACP,EACA,OAAQ,WACV,CACF,EACA,CACE,YAAa,sEACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,gEACL,IAAK,iCACP,EACA,OAAQ,CACN,KAAM,oBACN,IAAK,0BACP,EACA,SAAU,WACV,OAAQ,WACV,CACF,EAEA,CACE,YAAa,2CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,2DACL,IAAK,cACP,EACA,QAAS,MACT,OAAQ,WACV,CACF,EACA,CACE,YAAa,iEACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,wDACL,IAAK,kCACP,EACA,OAAQ,YACR,QAAS,KACX,CACF,EACA,CACE,YAAa,iDACb,KAAM,QACN,MAAO,CACL,YAAa,CAAE,MAAO,aAAc,EACpC,MAAO,CACL,IAAK,4DACL,IAAK,gCACP,EACA,OAAQ,YACR,OAAQ,CACN,KAAM,qBACN,IAAK,kCACP,EACA,SAAU,QACZ,CACF,EACA,CACE,YAAa,2CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,8DACL,IAAK,sBACP,EACA,QAAS,MACT,OAAQ,WACV,CACF,EACA,CACE,YAAa,sBACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,0DACL,IAAK,UACP,EACA,OAAQ,YACR,SAAU,8BACZ,CACF,EACA,CACE,YAAa,8CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,qBACL,IAAK,gCACP,EACA,SAAU,eACV,OAAQ,YACR,QAAS,MACX,CACF,EACA,CACE,YAAa,oEACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,4BACL,IAAK,yCACP,EACA,OAAQ,CACN,KAAM,2BACN,IAAK,6BACP,EACA,SAAU,iBACV,OAAQ,YACR,SAAU,YACZ,CACF,EACA,CACE,YAAa,2CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,mBACL,IAAK,uBACP,EACA,QAAS,OACT,OAAQ,YACR,YAAa,CAAE,MAAO,aAAc,CACtC,CACF,EACA,CACE,YAAa,yCACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,wBACL,IAAK,8BACP,EACA,OAAQ,YACR,SAAU,aACV,OAAQ,CACN,KAAM,yBACN,IAAK,+BACP,EACA,SAAU,mBACZ,CACF,EACA,CACE,YAAa,qDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,4BACL,IAAK,sCACP,EACA,OAAQ,CACN,KAAM,0BACN,IAAK,4BACP,EACA,SAAU,4BACV,OAAQ,YACR,SAAU,YACZ,CACF,EACA,CACE,YAAa,8CACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,yBACL,IAAK,kDACP,EACA,OAAQ,YACR,SAAU,aACV,YAAa,CAAE,MAAO,YAAa,EACnC,QAAS,MACX,CACF,EACA,CACE,YAAa,gDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,yBACL,IAAK,wDACP,EACA,OAAQ,CACN,KAAM,6BACN,IAAK,mCACP,EACA,SAAU,mBACV,OAAQ,YACR,SAAU,aACV,QAAS,QACX,CACF,EACA,CACE,YAAa,mDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,2BACL,IAAK,uCACP,EACA,YAAa,CAAE,MAAO,eAAgB,EACtC,QAAS,OACT,OAAQ,YACR,SAAU,cACZ,CACF,EACA,CACE,YAAa,6DACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,gCACL,IAAK,2DACP,EACA,SAAU,eACV,OAAQ,YACR,QAAS,UACT,YAAa,CAAE,MAAO,WAAY,CACpC,CACF,EACA,CACE,YAAa,iDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,yBACL,IAAK,2CACP,EACA,OAAQ,CACN,KAAM,4BACN,IAAK,8BACP,EACA,SAAU,kBACV,OAAQ,YACR,SAAU,aACV,QAAS,SACT,YAAa,CAAE,MAAO,YAAa,EACnC,KAAM,CACJ,KAAM,UACR,CACF,CACF,EACA,CACE,YAAa,uDACb,KAAM,QACN,MAAO,CACL,MAAO,CACL,IAAK,+BACL,IAAK,qDACP,EACA,SAAU,eACV,OAAQ,YACR,QAAS,UACT,YAAa,CAAE,MAAO,eAAgB,EACtC,KAAM,CACJ,KAAM,aACR,CACF,CACF,CACF","names":["RxImage","Type","manifest","defineBrickManifest","RxImage","defineProps","imageRef","Type","colorPresetRef","cssLengthRef","roundingRef","borderRef","shadowRef","string","loopRef","examples"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import{a as t}from"./chunk-
|
|
3
|
+
import{a as t}from"./chunk-KLD3P5XH.js";import{Type as e}from"@sinclair/typebox";var a=o=>e.Object({siteId:e.String(),siteDatasourceId:e.String(),config:o,oauthTokenExpireAt:t,oauthRefreshTokenExpireAt:e.Optional(t),nextRefreshTokenAt:e.Optional(t)});export{a};
|
|
4
|
+
//# sourceMappingURL=chunk-WHTPGWUV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/oauth.ts"],"sourcesContent":["import { Type, type TSchema, type StaticDecode } from \"@sinclair/typebox\";\nimport { jsonDate } from \"./utils/json-date\";\n\nexport const buildOAuthConfigSchema = <T extends TSchema>(T: T) =>\n Type.Object({\n siteId: Type.String(),\n siteDatasourceId: Type.String(),\n config: T,\n oauthTokenExpireAt: jsonDate,\n oauthRefreshTokenExpireAt: Type.Optional(jsonDate),\n nextRefreshTokenAt: Type.Optional(jsonDate),\n });\n\nexport type OAuthConfig<T extends TSchema = TSchema> = StaticDecode<\n ReturnType<typeof buildOAuthConfigSchema<T>>\n>;\n"],"mappings":";;wCAAA,OAAS,QAAAA,MAA6C,oBAG/C,IAAMC,EAA6CC,GACxDC,EAAK,OAAO,CACV,OAAQA,EAAK,OAAO,EACpB,iBAAkBA,EAAK,OAAO,EAC9B,OAAQD,EACR,mBAAoBE,EACpB,0BAA2BD,EAAK,SAASC,CAAQ,EACjD,mBAAoBD,EAAK,SAASC,CAAQ,CAC5C,CAAC","names":["Type","buildOAuthConfigSchema","T","Type","jsonDate"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import{c as n}from"./chunk-6PGAWO4H.js";import{a as s}from"./chunk-4GIZ6WSG.js";import{m as p}from"./chunk-F4JNKU7J.js";import{b as l}from"./chunk-3FPFR5RA.js";import{a}from"./chunk-7UBMXMNJ.js";import{b as t,d as r}from"./chunk-DHSWVVMI.js";import{c as i}from"./chunk-Z4YKRLOX.js";import{c as o}from"./chunk-HSRXUIVM.js";import{Type as e}from"@sinclair/typebox";import{IoGridOutline as c}from"react-icons/io5";var w=s({type:"images-gallery",name:"Gallery",category:"media",description:"Displays an images collection.",aiInstructions:"This brick should mostly be used for image galleries. Prefer using card bricks for product showcases, articles lists with images, or other collections.",consumesMultipleQueryRows:!0,defaultInspectorTab:"content",isContainer:!1,minHeight:{desktop:200},minWidth:{desktop:300},defaultWidth:{desktop:"400px",mobile:"100%"},icon:c,props:n({colorPreset:e.Optional(i({title:"Color"})),loop:e.Optional(p()),images:e.Array(e.Object({image:l({"ui:responsive":"desktop","ui:no-alt-text":!0,"ui:no-object-options":!0,"ui:placeholder":"https://example.com/image.jpg"}),legend:e.Optional(a("Legend"))}),{title:"Images",default:[],maxItems:12,metadata:{category:"content",consumeQuery:!0},examples:[{image:{src:"https://via.placeholder.com/300x200.png?text=Image+1"},legend:"Image 1"},{image:{src:"https://via.placeholder.com/300x200.png?text=Image+2"},legend:"Image 2"},{image:{src:"https://via.placeholder.com/300x200.png?text=Image+3"},legend:"Image 3"}]}),columns:e.Optional(e.Number({title:"Columns",description:"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.",minimum:1,maximum:6,default:3,"ui:field":"slider","ui:responsive":"desktop"})),gap:e.Optional(o({title:"Gap",description:"The gap between the images.",default:"1rem","ui:styleId":"styles:gap"})),padding:e.Optional(o({default:"3rem",description:"Padding inside the gallery.","ai:instructions":"Use only a single value like '1rem' or '10px'",title:"Padding","ui:responsive":!0,"ui:placeholder":"Not specified","ui:styleId":"styles:padding"})),rounding:e.Optional(r()),border:e.Optional(t())})}),P=[{description:"Product portfolio gallery (3-column grid)",type:"images-gallery",props:{columns:3,gap:"2.5rem",padding:"p-4",images:[{image:{src:"https://via.placeholder.com/400x400.png?text=Product+1"},legend:"Premium wireless headphones"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+2"},legend:"Bluetooth speaker"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+3"},legend:"Smart fitness tracker"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+4"},legend:"Wireless charging pad"}]}},{description:"Team photos gallery (4-column grid), light neutral background",type:"images-gallery",props:{columns:4,gap:"1rem",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/300x300.png?text=CEO"},legend:"Sarah Johnson - Chief Executive Officer"},{image:{src:"https://via.placeholder.com/300x300.png?text=CTO"},legend:"Mike Chen - Chief Technology Officer"},{image:{src:"https://via.placeholder.com/300x300.png?text=Design"},legend:"Emily Rodriguez - Head of Design"},{image:{src:"https://via.placeholder.com/300x300.png?text=Marketing"},legend:"David Park - Marketing Director"},{image:{src:"https://via.placeholder.com/300x300.png?text=Sales"},legend:"Lisa Wong - Sales Manager"},{image:{src:"https://via.placeholder.com/300x300.png?text=Support"},legend:"Alex Thompson - Customer Support Lead"},{image:{src:"https://via.placeholder.com/300x300.png?text=Dev"},legend:"Carlos Martinez - Senior Developer"},{image:{src:"https://via.placeholder.com/300x300.png?text=HR"},legend:"Jennifer Adams - HR Specialist"}],colorPreset:{color:"neutral-100"}}},{description:"Project showcase (2-column grid with larger spacing)",type:"images-gallery",props:{columns:2,gap:"1rem",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/600x400.png?text=Website+Redesign"},legend:"Modern e-commerce website redesign project"},{image:{src:"https://via.placeholder.com/600x400.png?text=Mobile+App"},legend:"iOS and Android mobile application"},{image:{src:"https://via.placeholder.com/600x400.png?text=Brand+Identity"},legend:"Complete brand identity design package"},{image:{src:"https://via.placeholder.com/600x400.png?text=Dashboard+UI"},legend:"Analytics dashboard user interface"}]}},{description:"Event photos gallery with tight spacing and minimal padding",type:"images-gallery",props:{columns:4,gap:"1rem",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/250x180.png?text=Opening"},legend:"Conference opening ceremony"},{image:{src:"https://via.placeholder.com/250x180.png?text=Keynote"},legend:"Keynote presentation"},{image:{src:"https://via.placeholder.com/250x180.png?text=Workshop"},legend:"Technical workshop session"},{image:{src:"https://via.placeholder.com/250x180.png?text=Networking"},legend:"Networking lunch break"},{image:{src:"https://via.placeholder.com/250x180.png?text=Panel"},legend:"Expert panel discussion"},{image:{src:"https://via.placeholder.com/250x180.png?text=Awards"},legend:"Awards ceremony"}]}},{description:"Photography portfolio with single column layout and primary background",type:"images-gallery",props:{columns:1,gap:"3rem",padding:"4rem",colorPreset:{color:"primary-50"},rounding:"rounded-lg",images:[{image:{src:"https://via.placeholder.com/800x600.png?text=Landscape+1"},legend:"Mountain sunrise landscape photography"},{image:{src:"https://via.placeholder.com/800x600.png?text=Portrait+1"},legend:"Professional business portrait session"},{image:{src:"https://via.placeholder.com/800x600.png?text=Architecture+1"},legend:"Modern architectural photography"}]}},{description:"Real estate property gallery with secondary colors and borders",type:"images-gallery",props:{columns:3,gap:"1.5rem",padding:"2rem",colorPreset:{color:"secondary-100"},border:{width:"border",color:"border-secondary-300"},rounding:"rounded-xl",images:[{image:{src:"https://via.placeholder.com/400x300.png?text=Living+Room"},legend:"Spacious living room with natural light"},{image:{src:"https://via.placeholder.com/400x300.png?text=Kitchen"},legend:"Modern kitchen with granite countertops"},{image:{src:"https://via.placeholder.com/400x300.png?text=Master+Bedroom"},legend:"Master bedroom with walk-in closet"},{image:{src:"https://via.placeholder.com/400x300.png?text=Bathroom"},legend:"Luxury bathroom with marble finishes"},{image:{src:"https://via.placeholder.com/400x300.png?text=Backyard"},legend:"Private backyard with pool"},{image:{src:"https://via.placeholder.com/400x300.png?text=Garage"},legend:"Two-car garage with storage"}]}},{description:"Restaurant food gallery with 5-column grid and accent colors",type:"images-gallery",props:{columns:5,gap:"0.75rem",padding:"1.5rem",colorPreset:{color:"accent-200"},rounding:"rounded-md",images:[{image:{src:"https://via.placeholder.com/300x300.png?text=Appetizer"},legend:"Bruschetta with fresh tomatoes"},{image:{src:"https://via.placeholder.com/300x300.png?text=Soup"},legend:"Creamy mushroom bisque"},{image:{src:"https://via.placeholder.com/300x300.png?text=Salad"},legend:"Mediterranean quinoa salad"},{image:{src:"https://via.placeholder.com/300x300.png?text=Main+Course"},legend:"Grilled salmon with herbs"},{image:{src:"https://via.placeholder.com/300x300.png?text=Dessert"},legend:"Chocolate lava cake"},{image:{src:"https://via.placeholder.com/300x300.png?text=Beverage"},legend:"Artisan coffee selection"},{image:{src:"https://via.placeholder.com/300x300.png?text=Pasta"},legend:"Homemade fettuccine alfredo"},{image:{src:"https://via.placeholder.com/300x300.png?text=Pizza"},legend:"Wood-fired margherita pizza"}]}},{description:"Art gallery exhibition with 6-column grid and minimal styling",type:"images-gallery",props:{columns:6,gap:"0.5rem",padding:"1rem",images:[{image:{src:"https://via.placeholder.com/200x250.png?text=Abstract+1"},legend:"Abstract composition #1"},{image:{src:"https://via.placeholder.com/200x250.png?text=Portrait+Art"},legend:"Contemporary portrait"},{image:{src:"https://via.placeholder.com/200x250.png?text=Landscape+Art"},legend:"Impressionist landscape"},{image:{src:"https://via.placeholder.com/200x250.png?text=Still+Life"},legend:"Modern still life"},{image:{src:"https://via.placeholder.com/200x250.png?text=Sculpture"},legend:"Bronze sculpture piece"},{image:{src:"https://via.placeholder.com/200x250.png?text=Digital+Art"},legend:"Digital artwork collection"},{image:{src:"https://via.placeholder.com/200x250.png?text=Mixed+Media"},legend:"Mixed media installation"},{image:{src:"https://via.placeholder.com/200x250.png?text=Photography"},legend:"Fine art photography"},{image:{src:"https://via.placeholder.com/200x250.png?text=Watercolor"},legend:"Watercolor painting"}]}},{description:"Fashion lookbook with 2-column layout and neutral dark theme",type:"images-gallery",props:{columns:2,gap:"2rem",padding:"3rem",colorPreset:{color:"neutral-800"},border:{width:"border-2",color:"border-neutral-600"},rounding:"rounded-2xl",images:[{image:{src:"https://via.placeholder.com/400x600.png?text=Spring+Look"},legend:"Spring casual collection 2024"},{image:{src:"https://via.placeholder.com/400x600.png?text=Summer+Look"},legend:"Summer evening wear"},{image:{src:"https://via.placeholder.com/400x600.png?text=Business+Look"},legend:"Professional business attire"},{image:{src:"https://via.placeholder.com/400x600.png?text=Weekend+Look"},legend:"Weekend comfort style"},{image:{src:"https://via.placeholder.com/400x600.png?text=Formal+Look"},legend:"Formal evening collection"},{image:{src:"https://via.placeholder.com/400x600.png?text=Street+Style"},legend:"Urban street fashion"}]}},{description:"Travel destinations gallery with 3-column grid and no legends",type:"images-gallery",props:{columns:3,gap:"1.25rem",padding:"2.5rem",colorPreset:{color:"primary-100"},rounding:"rounded-lg",border:{width:"border",color:"border-primary-200"},images:[{image:{src:"https://via.placeholder.com/350x250.png?text=Paris"}},{image:{src:"https://via.placeholder.com/350x250.png?text=Tokyo"}},{image:{src:"https://via.placeholder.com/350x250.png?text=New+York"}},{image:{src:"https://via.placeholder.com/350x250.png?text=London"}},{image:{src:"https://via.placeholder.com/350x250.png?text=Rome"}},{image:{src:"https://via.placeholder.com/350x250.png?text=Barcelona"}}]}},{description:"Technical equipment gallery with 4-column grid and accent styling",type:"images-gallery",props:{columns:4,gap:"1rem",padding:"2rem",colorPreset:{color:"accent-100"},border:{width:"border-4",color:"border-accent-400"},rounding:"rounded-xl",images:[{image:{src:"https://via.placeholder.com/300x300.png?text=Camera"},legend:"Professional DSLR camera"},{image:{src:"https://via.placeholder.com/300x300.png?text=Laptop"},legend:"High-performance laptop"},{image:{src:"https://via.placeholder.com/300x300.png?text=Microphone"},legend:"Studio recording microphone"},{image:{src:"https://via.placeholder.com/300x300.png?text=Monitor"},legend:"4K professional monitor"},{image:{src:"https://via.placeholder.com/300x300.png?text=Tablet"},legend:"Digital drawing tablet"},{image:{src:"https://via.placeholder.com/300x300.png?text=Speakers"},legend:"Studio monitor speakers"},{image:{src:"https://via.placeholder.com/300x300.png?text=Keyboard"},legend:"Mechanical keyboard"},{image:{src:"https://via.placeholder.com/300x300.png?text=Mouse"},legend:"Precision gaming mouse"}]}},{description:"Minimal product showcase with large gaps and no padding",type:"images-gallery",props:{columns:3,gap:"4rem",padding:"0rem",images:[{image:{src:"https://via.placeholder.com/400x400.png?text=Watch"},legend:"Luxury Swiss timepiece"},{image:{src:"https://via.placeholder.com/400x400.png?text=Jewelry"},legend:"Handcrafted gold necklace"},{image:{src:"https://via.placeholder.com/400x400.png?text=Sunglasses"},legend:"Designer sunglasses collection"}]}},{description:"Dynamic product gallery using products query with loop",type:"images-gallery",props:{columns:4,gap:"1.5rem",padding:"2rem",colorPreset:{color:"primary-50"},rounding:"rounded-lg",border:{width:"border",color:"border-primary-200"},images:[{image:{src:"{{products.image}}"},legend:"{{products.name}} - ${{products.price}}"}],loop:{over:"products"}}},{description:"Portfolio showcase using portfolioProjects query with loop",type:"images-gallery",props:{columns:3,gap:"2rem",padding:"3rem",colorPreset:{color:"secondary-100"},rounding:"rounded-xl",images:[{image:{src:"{{portfolioProjects.thumbnail}}"},legend:"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})"}],loop:{over:"portfolioProjects"}}},{description:"Event photo gallery using eventPhotos query with loop",type:"images-gallery",props:{columns:5,gap:"1rem",padding:"1.5rem",colorPreset:{color:"accent-50"},border:{width:"border-2",color:"border-accent-300"},rounding:"rounded-md",images:[{image:{src:"{{eventPhotos.imageUrl}}"},legend:"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}"}],loop:{over:"eventPhotos"}}},{description:"Team member gallery using teamMembers query with loop",type:"images-gallery",props:{columns:6,gap:"0.75rem",padding:"2.5rem",colorPreset:{color:"neutral-100"},rounding:"rounded-lg",border:{width:"border",color:"border-neutral-300"},images:[{image:{src:"{{teamMembers.profilePhoto}}"},legend:"{{teamMembers.fullName}} - {{teamMembers.position}}"}],loop:{over:"teamMembers"}}}];export{w as a,P as b};
|
|
3
|
+
import{c as n}from"./chunk-3YVJ2ELD.js";import{a as s}from"./chunk-RJYZ5FAR.js";import{m as p}from"./chunk-AFVJZPLS.js";import{b as l}from"./chunk-CCI4C3TM.js";import{a}from"./chunk-A3GF4PYW.js";import{b as t,d as r}from"./chunk-ZTZJHY4E.js";import{c as i}from"./chunk-CZRCW5EN.js";import{c as o}from"./chunk-OHNYCXPX.js";import{Type as e}from"@sinclair/typebox";import{IoGridOutline as c}from"react-icons/io5";var w=s({type:"images-gallery",name:"Gallery",category:"media",description:"Displays an images collection.",aiInstructions:"This brick should mostly be used for image galleries. Prefer using card bricks for product showcases, articles lists with images, or other collections.",consumesMultipleQueryRows:!0,defaultInspectorTab:"content",isContainer:!1,minHeight:{desktop:200},minWidth:{desktop:300},defaultWidth:{desktop:"400px",mobile:"100%"},icon:c,props:n({colorPreset:e.Optional(i({title:"Color"})),loop:e.Optional(p()),images:e.Array(e.Object({image:l({"ui:responsive":"desktop","ui:no-alt-text":!0,"ui:no-object-options":!0,"ui:placeholder":"https://example.com/image.jpg"}),legend:e.Optional(a("Legend"))}),{title:"Images",default:[],maxItems:12,metadata:{category:"content",consumeQuery:!0},examples:[{image:{src:"https://via.placeholder.com/300x200.png?text=Image+1"},legend:"Image 1"},{image:{src:"https://via.placeholder.com/300x200.png?text=Image+2"},legend:"Image 2"},{image:{src:"https://via.placeholder.com/300x200.png?text=Image+3"},legend:"Image 3"}]}),columns:e.Optional(e.Number({title:"Columns",description:"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.",minimum:1,maximum:6,default:3,"ui:field":"slider","ui:responsive":"desktop"})),gap:e.Optional(o({title:"Gap",description:"The gap between the images.",default:"1rem","ui:styleId":"styles:gap"})),padding:e.Optional(o({default:"3rem",description:"Padding inside the gallery.","ai:instructions":"Use only a single value like '1rem' or '10px'",title:"Padding","ui:responsive":!0,"ui:placeholder":"Not specified","ui:styleId":"styles:padding"})),rounding:e.Optional(r()),border:e.Optional(t())})}),P=[{description:"Product portfolio gallery (3-column grid)",type:"images-gallery",props:{columns:3,gap:"2.5rem",padding:"p-4",images:[{image:{src:"https://via.placeholder.com/400x400.png?text=Product+1"},legend:"Premium wireless headphones"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+2"},legend:"Bluetooth speaker"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+3"},legend:"Smart fitness tracker"},{image:{src:"https://via.placeholder.com/400x400.png?text=Product+4"},legend:"Wireless charging pad"}]}},{description:"Team photos gallery (4-column grid), light neutral background",type:"images-gallery",props:{columns:4,gap:"1rem",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/300x300.png?text=CEO"},legend:"Sarah Johnson - Chief Executive Officer"},{image:{src:"https://via.placeholder.com/300x300.png?text=CTO"},legend:"Mike Chen - Chief Technology Officer"},{image:{src:"https://via.placeholder.com/300x300.png?text=Design"},legend:"Emily Rodriguez - Head of Design"},{image:{src:"https://via.placeholder.com/300x300.png?text=Marketing"},legend:"David Park - Marketing Director"},{image:{src:"https://via.placeholder.com/300x300.png?text=Sales"},legend:"Lisa Wong - Sales Manager"},{image:{src:"https://via.placeholder.com/300x300.png?text=Support"},legend:"Alex Thompson - Customer Support Lead"},{image:{src:"https://via.placeholder.com/300x300.png?text=Dev"},legend:"Carlos Martinez - Senior Developer"},{image:{src:"https://via.placeholder.com/300x300.png?text=HR"},legend:"Jennifer Adams - HR Specialist"}],colorPreset:{color:"neutral-100"}}},{description:"Project showcase (2-column grid with larger spacing)",type:"images-gallery",props:{columns:2,gap:"1rem",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/600x400.png?text=Website+Redesign"},legend:"Modern e-commerce website redesign project"},{image:{src:"https://via.placeholder.com/600x400.png?text=Mobile+App"},legend:"iOS and Android mobile application"},{image:{src:"https://via.placeholder.com/600x400.png?text=Brand+Identity"},legend:"Complete brand identity design package"},{image:{src:"https://via.placeholder.com/600x400.png?text=Dashboard+UI"},legend:"Analytics dashboard user interface"}]}},{description:"Event photos gallery with tight spacing and minimal padding",type:"images-gallery",props:{columns:4,gap:"1rem",padding:"p-6",images:[{image:{src:"https://via.placeholder.com/250x180.png?text=Opening"},legend:"Conference opening ceremony"},{image:{src:"https://via.placeholder.com/250x180.png?text=Keynote"},legend:"Keynote presentation"},{image:{src:"https://via.placeholder.com/250x180.png?text=Workshop"},legend:"Technical workshop session"},{image:{src:"https://via.placeholder.com/250x180.png?text=Networking"},legend:"Networking lunch break"},{image:{src:"https://via.placeholder.com/250x180.png?text=Panel"},legend:"Expert panel discussion"},{image:{src:"https://via.placeholder.com/250x180.png?text=Awards"},legend:"Awards ceremony"}]}},{description:"Photography portfolio with single column layout and primary background",type:"images-gallery",props:{columns:1,gap:"3rem",padding:"4rem",colorPreset:{color:"primary-50"},rounding:"rounded-lg",images:[{image:{src:"https://via.placeholder.com/800x600.png?text=Landscape+1"},legend:"Mountain sunrise landscape photography"},{image:{src:"https://via.placeholder.com/800x600.png?text=Portrait+1"},legend:"Professional business portrait session"},{image:{src:"https://via.placeholder.com/800x600.png?text=Architecture+1"},legend:"Modern architectural photography"}]}},{description:"Real estate property gallery with secondary colors and borders",type:"images-gallery",props:{columns:3,gap:"1.5rem",padding:"2rem",colorPreset:{color:"secondary-100"},border:{width:"border",color:"border-secondary-300"},rounding:"rounded-xl",images:[{image:{src:"https://via.placeholder.com/400x300.png?text=Living+Room"},legend:"Spacious living room with natural light"},{image:{src:"https://via.placeholder.com/400x300.png?text=Kitchen"},legend:"Modern kitchen with granite countertops"},{image:{src:"https://via.placeholder.com/400x300.png?text=Master+Bedroom"},legend:"Master bedroom with walk-in closet"},{image:{src:"https://via.placeholder.com/400x300.png?text=Bathroom"},legend:"Luxury bathroom with marble finishes"},{image:{src:"https://via.placeholder.com/400x300.png?text=Backyard"},legend:"Private backyard with pool"},{image:{src:"https://via.placeholder.com/400x300.png?text=Garage"},legend:"Two-car garage with storage"}]}},{description:"Restaurant food gallery with 5-column grid and accent colors",type:"images-gallery",props:{columns:5,gap:"0.75rem",padding:"1.5rem",colorPreset:{color:"accent-200"},rounding:"rounded-md",images:[{image:{src:"https://via.placeholder.com/300x300.png?text=Appetizer"},legend:"Bruschetta with fresh tomatoes"},{image:{src:"https://via.placeholder.com/300x300.png?text=Soup"},legend:"Creamy mushroom bisque"},{image:{src:"https://via.placeholder.com/300x300.png?text=Salad"},legend:"Mediterranean quinoa salad"},{image:{src:"https://via.placeholder.com/300x300.png?text=Main+Course"},legend:"Grilled salmon with herbs"},{image:{src:"https://via.placeholder.com/300x300.png?text=Dessert"},legend:"Chocolate lava cake"},{image:{src:"https://via.placeholder.com/300x300.png?text=Beverage"},legend:"Artisan coffee selection"},{image:{src:"https://via.placeholder.com/300x300.png?text=Pasta"},legend:"Homemade fettuccine alfredo"},{image:{src:"https://via.placeholder.com/300x300.png?text=Pizza"},legend:"Wood-fired margherita pizza"}]}},{description:"Art gallery exhibition with 6-column grid and minimal styling",type:"images-gallery",props:{columns:6,gap:"0.5rem",padding:"1rem",images:[{image:{src:"https://via.placeholder.com/200x250.png?text=Abstract+1"},legend:"Abstract composition #1"},{image:{src:"https://via.placeholder.com/200x250.png?text=Portrait+Art"},legend:"Contemporary portrait"},{image:{src:"https://via.placeholder.com/200x250.png?text=Landscape+Art"},legend:"Impressionist landscape"},{image:{src:"https://via.placeholder.com/200x250.png?text=Still+Life"},legend:"Modern still life"},{image:{src:"https://via.placeholder.com/200x250.png?text=Sculpture"},legend:"Bronze sculpture piece"},{image:{src:"https://via.placeholder.com/200x250.png?text=Digital+Art"},legend:"Digital artwork collection"},{image:{src:"https://via.placeholder.com/200x250.png?text=Mixed+Media"},legend:"Mixed media installation"},{image:{src:"https://via.placeholder.com/200x250.png?text=Photography"},legend:"Fine art photography"},{image:{src:"https://via.placeholder.com/200x250.png?text=Watercolor"},legend:"Watercolor painting"}]}},{description:"Fashion lookbook with 2-column layout and neutral dark theme",type:"images-gallery",props:{columns:2,gap:"2rem",padding:"3rem",colorPreset:{color:"neutral-800"},border:{width:"border-2",color:"border-neutral-600"},rounding:"rounded-2xl",images:[{image:{src:"https://via.placeholder.com/400x600.png?text=Spring+Look"},legend:"Spring casual collection 2024"},{image:{src:"https://via.placeholder.com/400x600.png?text=Summer+Look"},legend:"Summer evening wear"},{image:{src:"https://via.placeholder.com/400x600.png?text=Business+Look"},legend:"Professional business attire"},{image:{src:"https://via.placeholder.com/400x600.png?text=Weekend+Look"},legend:"Weekend comfort style"},{image:{src:"https://via.placeholder.com/400x600.png?text=Formal+Look"},legend:"Formal evening collection"},{image:{src:"https://via.placeholder.com/400x600.png?text=Street+Style"},legend:"Urban street fashion"}]}},{description:"Travel destinations gallery with 3-column grid and no legends",type:"images-gallery",props:{columns:3,gap:"1.25rem",padding:"2.5rem",colorPreset:{color:"primary-100"},rounding:"rounded-lg",border:{width:"border",color:"border-primary-200"},images:[{image:{src:"https://via.placeholder.com/350x250.png?text=Paris"}},{image:{src:"https://via.placeholder.com/350x250.png?text=Tokyo"}},{image:{src:"https://via.placeholder.com/350x250.png?text=New+York"}},{image:{src:"https://via.placeholder.com/350x250.png?text=London"}},{image:{src:"https://via.placeholder.com/350x250.png?text=Rome"}},{image:{src:"https://via.placeholder.com/350x250.png?text=Barcelona"}}]}},{description:"Technical equipment gallery with 4-column grid and accent styling",type:"images-gallery",props:{columns:4,gap:"1rem",padding:"2rem",colorPreset:{color:"accent-100"},border:{width:"border-4",color:"border-accent-400"},rounding:"rounded-xl",images:[{image:{src:"https://via.placeholder.com/300x300.png?text=Camera"},legend:"Professional DSLR camera"},{image:{src:"https://via.placeholder.com/300x300.png?text=Laptop"},legend:"High-performance laptop"},{image:{src:"https://via.placeholder.com/300x300.png?text=Microphone"},legend:"Studio recording microphone"},{image:{src:"https://via.placeholder.com/300x300.png?text=Monitor"},legend:"4K professional monitor"},{image:{src:"https://via.placeholder.com/300x300.png?text=Tablet"},legend:"Digital drawing tablet"},{image:{src:"https://via.placeholder.com/300x300.png?text=Speakers"},legend:"Studio monitor speakers"},{image:{src:"https://via.placeholder.com/300x300.png?text=Keyboard"},legend:"Mechanical keyboard"},{image:{src:"https://via.placeholder.com/300x300.png?text=Mouse"},legend:"Precision gaming mouse"}]}},{description:"Minimal product showcase with large gaps and no padding",type:"images-gallery",props:{columns:3,gap:"4rem",padding:"0rem",images:[{image:{src:"https://via.placeholder.com/400x400.png?text=Watch"},legend:"Luxury Swiss timepiece"},{image:{src:"https://via.placeholder.com/400x400.png?text=Jewelry"},legend:"Handcrafted gold necklace"},{image:{src:"https://via.placeholder.com/400x400.png?text=Sunglasses"},legend:"Designer sunglasses collection"}]}},{description:"Dynamic product gallery using products query with loop",type:"images-gallery",props:{columns:4,gap:"1.5rem",padding:"2rem",colorPreset:{color:"primary-50"},rounding:"rounded-lg",border:{width:"border",color:"border-primary-200"},images:[{image:{src:"{{products.image}}"},legend:"{{products.name}} - ${{products.price}}"}],loop:{over:"products"}}},{description:"Portfolio showcase using portfolioProjects query with loop",type:"images-gallery",props:{columns:3,gap:"2rem",padding:"3rem",colorPreset:{color:"secondary-100"},rounding:"rounded-xl",images:[{image:{src:"{{portfolioProjects.thumbnail}}"},legend:"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})"}],loop:{over:"portfolioProjects"}}},{description:"Event photo gallery using eventPhotos query with loop",type:"images-gallery",props:{columns:5,gap:"1rem",padding:"1.5rem",colorPreset:{color:"accent-50"},border:{width:"border-2",color:"border-accent-300"},rounding:"rounded-md",images:[{image:{src:"{{eventPhotos.imageUrl}}"},legend:"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}"}],loop:{over:"eventPhotos"}}},{description:"Team member gallery using teamMembers query with loop",type:"images-gallery",props:{columns:6,gap:"0.75rem",padding:"2.5rem",colorPreset:{color:"neutral-100"},rounding:"rounded-lg",border:{width:"border",color:"border-neutral-300"},images:[{image:{src:"{{teamMembers.profilePhoto}}"},legend:"{{teamMembers.fullName}} - {{teamMembers.position}}"}],loop:{over:"teamMembers"}}}];export{w as a,P as b};
|
|
4
|
+
//# sourceMappingURL=chunk-WYVJE6J5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/images-gallery.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { IoGridOutline } from \"react-icons/io5\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { loopRef } from \"../props/dynamic\";\nimport { cssLengthRef } from \"../props/css-length\";\n\nexport const manifest = defineBrickManifest({\n type: \"images-gallery\",\n name: \"Gallery\",\n category: \"media\",\n description: \"Displays an images collection.\",\n aiInstructions:\n \"This brick should mostly be used for image galleries. Prefer using card bricks for product showcases, articles lists with images, or other collections.\",\n consumesMultipleQueryRows: true,\n defaultInspectorTab: \"content\",\n isContainer: false,\n minHeight: {\n desktop: 200,\n },\n minWidth: {\n desktop: 300,\n },\n defaultWidth: {\n desktop: \"400px\",\n mobile: \"100%\",\n },\n icon: IoGridOutline,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n loop: Type.Optional(loopRef()),\n images: Type.Array(\n Type.Object({\n image: imageRef({\n \"ui:responsive\": \"desktop\",\n \"ui:no-alt-text\": true,\n \"ui:no-object-options\": true,\n \"ui:placeholder\": \"https://example.com/image.jpg\",\n }),\n legend: Type.Optional(string(\"Legend\")),\n }),\n {\n title: \"Images\",\n default: [],\n maxItems: 12,\n metadata: {\n category: \"content\",\n consumeQuery: true,\n },\n examples: [\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+1\" },\n legend: \"Image 1\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+2\" },\n legend: \"Image 2\",\n },\n {\n image: { src: \"https://via.placeholder.com/300x200.png?text=Image+3\" },\n legend: \"Image 3\",\n },\n ],\n },\n ),\n columns: Type.Optional(\n Type.Number({\n title: \"Columns\",\n description:\n \"Number of columns. Only applies to desktop screens. On mobile, it will always display 1 column.\",\n minimum: 1,\n maximum: 6,\n default: 3,\n \"ui:field\": \"slider\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n gap: Type.Optional(\n cssLengthRef({\n title: \"Gap\",\n description: \"The gap between the images.\",\n default: \"1rem\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"3rem\",\n description: \"Padding inside the gallery.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(roundingRef()),\n border: Type.Optional(borderRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"Product portfolio gallery (3-column grid)\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2.5rem\",\n padding: \"p-4\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+1\",\n },\n legend: \"Premium wireless headphones\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+2\",\n },\n legend: \"Bluetooth speaker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+3\",\n },\n legend: \"Smart fitness tracker\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Product+4\",\n },\n legend: \"Wireless charging pad\",\n },\n ],\n },\n },\n {\n description: \"Team photos gallery (4-column grid), light neutral background\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CEO\",\n },\n legend: \"Sarah Johnson - Chief Executive Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=CTO\",\n },\n legend: \"Mike Chen - Chief Technology Officer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Design\",\n },\n legend: \"Emily Rodriguez - Head of Design\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Marketing\",\n },\n legend: \"David Park - Marketing Director\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Sales\",\n },\n legend: \"Lisa Wong - Sales Manager\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Support\",\n },\n legend: \"Alex Thompson - Customer Support Lead\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dev\",\n },\n legend: \"Carlos Martinez - Senior Developer\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=HR\",\n },\n legend: \"Jennifer Adams - HR Specialist\",\n },\n ],\n colorPreset: {\n color: \"neutral-100\",\n },\n },\n },\n {\n description: \"Project showcase (2-column grid with larger spacing)\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Website+Redesign\",\n },\n legend: \"Modern e-commerce website redesign project\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Mobile+App\",\n },\n legend: \"iOS and Android mobile application\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Brand+Identity\",\n },\n legend: \"Complete brand identity design package\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/600x400.png?text=Dashboard+UI\",\n },\n legend: \"Analytics dashboard user interface\",\n },\n ],\n },\n },\n {\n description: \"Event photos gallery with tight spacing and minimal padding\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"p-6\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Opening\",\n },\n legend: \"Conference opening ceremony\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Keynote\",\n },\n legend: \"Keynote presentation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Workshop\",\n },\n legend: \"Technical workshop session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Networking\",\n },\n legend: \"Networking lunch break\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Panel\",\n },\n legend: \"Expert panel discussion\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/250x180.png?text=Awards\",\n },\n legend: \"Awards ceremony\",\n },\n ],\n },\n },\n {\n description: \"Photography portfolio with single column layout and primary background\",\n type: \"images-gallery\",\n props: {\n columns: 1,\n gap: \"3rem\",\n padding: \"4rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Landscape+1\",\n },\n legend: \"Mountain sunrise landscape photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Portrait+1\",\n },\n legend: \"Professional business portrait session\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/800x600.png?text=Architecture+1\",\n },\n legend: \"Modern architectural photography\",\n },\n ],\n },\n },\n {\n description: \"Real estate property gallery with secondary colors and borders\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n border: {\n width: \"border\",\n color: \"border-secondary-300\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Living+Room\",\n },\n legend: \"Spacious living room with natural light\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Kitchen\",\n },\n legend: \"Modern kitchen with granite countertops\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Master+Bedroom\",\n },\n legend: \"Master bedroom with walk-in closet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Bathroom\",\n },\n legend: \"Luxury bathroom with marble finishes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Backyard\",\n },\n legend: \"Private backyard with pool\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x300.png?text=Garage\",\n },\n legend: \"Two-car garage with storage\",\n },\n ],\n },\n },\n {\n description: \"Restaurant food gallery with 5-column grid and accent colors\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"0.75rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-200\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Appetizer\",\n },\n legend: \"Bruschetta with fresh tomatoes\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Soup\",\n },\n legend: \"Creamy mushroom bisque\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Salad\",\n },\n legend: \"Mediterranean quinoa salad\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Main+Course\",\n },\n legend: \"Grilled salmon with herbs\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Dessert\",\n },\n legend: \"Chocolate lava cake\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Beverage\",\n },\n legend: \"Artisan coffee selection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pasta\",\n },\n legend: \"Homemade fettuccine alfredo\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Pizza\",\n },\n legend: \"Wood-fired margherita pizza\",\n },\n ],\n },\n },\n {\n description: \"Art gallery exhibition with 6-column grid and minimal styling\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.5rem\",\n padding: \"1rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Abstract+1\",\n },\n legend: \"Abstract composition #1\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Portrait+Art\",\n },\n legend: \"Contemporary portrait\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Landscape+Art\",\n },\n legend: \"Impressionist landscape\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Still+Life\",\n },\n legend: \"Modern still life\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Sculpture\",\n },\n legend: \"Bronze sculpture piece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Digital+Art\",\n },\n legend: \"Digital artwork collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Mixed+Media\",\n },\n legend: \"Mixed media installation\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Photography\",\n },\n legend: \"Fine art photography\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/200x250.png?text=Watercolor\",\n },\n legend: \"Watercolor painting\",\n },\n ],\n },\n },\n {\n description: \"Fashion lookbook with 2-column layout and neutral dark theme\",\n type: \"images-gallery\",\n props: {\n columns: 2,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"neutral-800\",\n },\n border: {\n width: \"border-2\",\n color: \"border-neutral-600\",\n },\n rounding: \"rounded-2xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Spring+Look\",\n },\n legend: \"Spring casual collection 2024\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Summer+Look\",\n },\n legend: \"Summer evening wear\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Business+Look\",\n },\n legend: \"Professional business attire\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Weekend+Look\",\n },\n legend: \"Weekend comfort style\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Formal+Look\",\n },\n legend: \"Formal evening collection\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x600.png?text=Street+Style\",\n },\n legend: \"Urban street fashion\",\n },\n ],\n },\n },\n {\n description: \"Travel destinations gallery with 3-column grid and no legends\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"primary-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Paris\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Tokyo\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=New+York\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=London\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Rome\",\n },\n },\n {\n image: {\n src: \"https://via.placeholder.com/350x250.png?text=Barcelona\",\n },\n },\n ],\n },\n },\n {\n description: \"Technical equipment gallery with 4-column grid and accent styling\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"accent-100\",\n },\n border: {\n width: \"border-4\",\n color: \"border-accent-400\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Camera\",\n },\n legend: \"Professional DSLR camera\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Laptop\",\n },\n legend: \"High-performance laptop\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Microphone\",\n },\n legend: \"Studio recording microphone\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Monitor\",\n },\n legend: \"4K professional monitor\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Tablet\",\n },\n legend: \"Digital drawing tablet\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Speakers\",\n },\n legend: \"Studio monitor speakers\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Keyboard\",\n },\n legend: \"Mechanical keyboard\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/300x300.png?text=Mouse\",\n },\n legend: \"Precision gaming mouse\",\n },\n ],\n },\n },\n {\n description: \"Minimal product showcase with large gaps and no padding\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"4rem\",\n padding: \"0rem\",\n images: [\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Watch\",\n },\n legend: \"Luxury Swiss timepiece\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Jewelry\",\n },\n legend: \"Handcrafted gold necklace\",\n },\n {\n image: {\n src: \"https://via.placeholder.com/400x400.png?text=Sunglasses\",\n },\n legend: \"Designer sunglasses collection\",\n },\n ],\n },\n },\n {\n description: \"Dynamic product gallery using products query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 4,\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n images: [\n {\n image: {\n src: \"{{products.image}}\",\n },\n legend: \"{{products.name}} - ${{products.price}}\",\n },\n ],\n loop: {\n over: \"products\",\n },\n },\n },\n {\n description: \"Portfolio showcase using portfolioProjects query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 3,\n gap: \"2rem\",\n padding: \"3rem\",\n colorPreset: {\n color: \"secondary-100\",\n },\n rounding: \"rounded-xl\",\n images: [\n {\n image: {\n src: \"{{portfolioProjects.thumbnail}}\",\n },\n legend:\n \"{{portfolioProjects.projectName}} - {{portfolioProjects.clientName}} ({{portfolioProjects.year}})\",\n },\n ],\n loop: {\n over: \"portfolioProjects\",\n },\n },\n },\n {\n description: \"Event photo gallery using eventPhotos query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 5,\n gap: \"1rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"accent-50\",\n },\n border: {\n width: \"border-2\",\n color: \"border-accent-300\",\n },\n rounding: \"rounded-md\",\n images: [\n {\n image: {\n src: \"{{eventPhotos.imageUrl}}\",\n },\n legend: \"{{eventPhotos.caption}} - {{eventPhotos.eventDate}}\",\n },\n ],\n loop: {\n over: \"eventPhotos\",\n },\n },\n },\n {\n description: \"Team member gallery using teamMembers query with loop\",\n type: \"images-gallery\",\n props: {\n columns: 6,\n gap: \"0.75rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n rounding: \"rounded-lg\",\n border: {\n width: \"border\",\n color: \"border-neutral-300\",\n },\n images: [\n {\n image: {\n src: \"{{teamMembers.profilePhoto}}\",\n },\n legend: \"{{teamMembers.fullName}} - {{teamMembers.position}}\",\n },\n ],\n loop: {\n over: \"teamMembers\",\n },\n },\n },\n];\n"],"mappings":";;kUAAA,OAAS,QAAAA,MAAY,oBACrB,OAAS,iBAAAC,MAAqB,kBAWvB,IAAMC,EAAWC,EAAoB,CAC1C,KAAM,iBACN,KAAM,UACN,SAAU,QACV,YAAa,iCACb,eACE,0JACF,0BAA2B,GAC3B,oBAAqB,UACrB,YAAa,GACb,UAAW,CACT,QAAS,GACX,EACA,SAAU,CACR,QAAS,GACX,EACA,aAAc,CACZ,QAAS,QACT,OAAQ,MACV,EACA,KAAMC,EACN,MAAOC,EAAY,CACjB,YAAaC,EAAK,SAChBC,EAAe,CACb,MAAO,OACT,CAAC,CACH,EACA,KAAMD,EAAK,SAASE,EAAQ,CAAC,EAC7B,OAAQF,EAAK,MACXA,EAAK,OAAO,CACV,MAAOG,EAAS,CACd,gBAAiB,UACjB,iBAAkB,GAClB,uBAAwB,GACxB,iBAAkB,+BACpB,CAAC,EACD,OAAQH,EAAK,SAASI,EAAO,QAAQ,CAAC,CACxC,CAAC,EACD,CACE,MAAO,SACP,QAAS,CAAC,EACV,SAAU,GACV,SAAU,CACR,SAAU,UACV,aAAc,EAChB,EACA,SAAU,CACR,CACE,MAAO,CAAE,IAAK,sDAAuD,EACrE,OAAQ,SACV,EACA,CACE,MAAO,CAAE,IAAK,sDAAuD,EACrE,OAAQ,SACV,EACA,CACE,MAAO,CAAE,IAAK,sDAAuD,EACrE,OAAQ,SACV,CACF,CACF,CACF,EACA,QAASJ,EAAK,SACZA,EAAK,OAAO,CACV,MAAO,UACP,YACE,kGACF,QAAS,EACT,QAAS,EACT,QAAS,EACT,WAAY,SACZ,gBAAiB,SACnB,CAAC,CACH,EACA,IAAKA,EAAK,SACRK,EAAa,CACX,MAAO,MACP,YAAa,8BACb,QAAS,OACT,aAAc,YAChB,CAAC,CACH,EACA,QAASL,EAAK,SACZK,EAAa,CACX,QAAS,OACT,YAAa,8BACb,kBAAmB,gDACnB,MAAO,UACP,gBAAiB,GACjB,iBAAkB,gBAClB,aAAc,gBAChB,CAAC,CACH,EACA,SAAUL,EAAK,SAASM,EAAY,CAAC,EACrC,OAAQN,EAAK,SAASO,EAAU,CAAC,CACnC,CAAC,CACH,CAAC,EAIYC,EAIP,CACJ,CACE,YAAa,4CACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,SACL,QAAS,MACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,6BACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,mBACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,uBACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,uBACV,CACF,CACF,CACF,EACA,CACE,YAAa,gEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,MACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,kDACP,EACA,OAAQ,yCACV,EACA,CACE,MAAO,CACL,IAAK,kDACP,EACA,OAAQ,sCACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,kCACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,iCACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,2BACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,uCACV,EACA,CACE,MAAO,CACL,IAAK,kDACP,EACA,OAAQ,oCACV,EACA,CACE,MAAO,CACL,IAAK,iDACP,EACA,OAAQ,gCACV,CACF,EACA,YAAa,CACX,MAAO,aACT,CACF,CACF,EACA,CACE,YAAa,uDACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,MACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,+DACP,EACA,OAAQ,4CACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,oCACV,EACA,CACE,MAAO,CACL,IAAK,6DACP,EACA,OAAQ,wCACV,EACA,CACE,MAAO,CACL,IAAK,2DACP,EACA,OAAQ,oCACV,CACF,CACF,CACF,EACA,CACE,YAAa,8DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,MACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,6BACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,sBACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,4BACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,iBACV,CACF,CACF,CACF,EACA,CACE,YAAa,yEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,YACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,wCACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,wCACV,EACA,CACE,MAAO,CACL,IAAK,6DACP,EACA,OAAQ,kCACV,CACF,CACF,CACF,EACA,CACE,YAAa,iEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,SACL,QAAS,OACT,YAAa,CACX,MAAO,eACT,EACA,OAAQ,CACN,MAAO,SACP,MAAO,sBACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,yCACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,yCACV,EACA,CACE,MAAO,CACL,IAAK,6DACP,EACA,OAAQ,oCACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,sCACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,4BACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,6BACV,CACF,CACF,CACF,EACA,CACE,YAAa,+DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,UACL,QAAS,SACT,YAAa,CACX,MAAO,YACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,gCACV,EACA,CACE,MAAO,CACL,IAAK,mDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,4BACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,2BACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,qBACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,0BACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,6BACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,6BACV,CACF,CACF,CACF,EACA,CACE,YAAa,gEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,SACL,QAAS,OACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,2DACP,EACA,OAAQ,uBACV,EACA,CACE,MAAO,CACL,IAAK,4DACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,mBACV,EACA,CACE,MAAO,CACL,IAAK,wDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,4BACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,0BACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,sBACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,qBACV,CACF,CACF,CACF,EACA,CACE,YAAa,+DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,aACT,EACA,OAAQ,CACN,MAAO,WACP,MAAO,oBACT,EACA,SAAU,cACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,+BACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,qBACV,EACA,CACE,MAAO,CACL,IAAK,4DACP,EACA,OAAQ,8BACV,EACA,CACE,MAAO,CACL,IAAK,2DACP,EACA,OAAQ,uBACV,EACA,CACE,MAAO,CACL,IAAK,0DACP,EACA,OAAQ,2BACV,EACA,CACE,MAAO,CACL,IAAK,2DACP,EACA,OAAQ,sBACV,CACF,CACF,CACF,EACA,CACE,YAAa,gEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,UACL,QAAS,SACT,YAAa,CACX,MAAO,aACT,EACA,SAAU,aACV,OAAQ,CACN,MAAO,SACP,MAAO,oBACT,EACA,OAAQ,CACN,CACE,MAAO,CACL,IAAK,oDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,oDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,uDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,qDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,mDACP,CACF,EACA,CACE,MAAO,CACL,IAAK,wDACP,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,oEACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,YACT,EACA,OAAQ,CACN,MAAO,WACP,MAAO,mBACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,0BACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,6BACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,qDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,yBACV,EACA,CACE,MAAO,CACL,IAAK,uDACP,EACA,OAAQ,qBACV,EACA,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,wBACV,CACF,CACF,CACF,EACA,CACE,YAAa,0DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,OAAQ,CACN,CACE,MAAO,CACL,IAAK,oDACP,EACA,OAAQ,wBACV,EACA,CACE,MAAO,CACL,IAAK,sDACP,EACA,OAAQ,2BACV,EACA,CACE,MAAO,CACL,IAAK,yDACP,EACA,OAAQ,gCACV,CACF,CACF,CACF,EACA,CACE,YAAa,yDACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,SACL,QAAS,OACT,YAAa,CACX,MAAO,YACT,EACA,SAAU,aACV,OAAQ,CACN,MAAO,SACP,MAAO,oBACT,EACA,OAAQ,CACN,CACE,MAAO,CACL,IAAK,oBACP,EACA,OAAQ,yCACV,CACF,EACA,KAAM,CACJ,KAAM,UACR,CACF,CACF,EACA,CACE,YAAa,6DACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,eACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,iCACP,EACA,OACE,mGACJ,CACF,EACA,KAAM,CACJ,KAAM,mBACR,CACF,CACF,EACA,CACE,YAAa,wDACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,OACL,QAAS,SACT,YAAa,CACX,MAAO,WACT,EACA,OAAQ,CACN,MAAO,WACP,MAAO,mBACT,EACA,SAAU,aACV,OAAQ,CACN,CACE,MAAO,CACL,IAAK,0BACP,EACA,OAAQ,qDACV,CACF,EACA,KAAM,CACJ,KAAM,aACR,CACF,CACF,EACA,CACE,YAAa,wDACb,KAAM,iBACN,MAAO,CACL,QAAS,EACT,IAAK,UACL,QAAS,SACT,YAAa,CACX,MAAO,aACT,EACA,SAAU,aACV,OAAQ,CACN,MAAO,SACP,MAAO,oBACT,EACA,OAAQ,CACN,CACE,MAAO,CACL,IAAK,8BACP,EACA,OAAQ,qDACV,CACF,EACA,KAAM,CACJ,KAAM,aACR,CACF,CACF,CACF","names":["Type","IoGridOutline","manifest","defineBrickManifest","IoGridOutline","defineProps","Type","colorPresetRef","loopRef","imageRef","string","cssLengthRef","roundingRef","borderRef","examples"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
-
import{a}from"./chunk-
|
|
3
|
+
import{a}from"./chunk-OGBMYMZD.js";import{a as t}from"./chunk-AFVJZPLS.js";import{a as i}from"./chunk-JMN3HTZU.js";import{Type as e}from"@sinclair/typebox";var n=e.Pick(a,["id","label","path","attributes"]),r=e.Array(e.Object({id:e.String({title:"Section ID",examples:["header-section","hero-section","features-section"],format:"slug"}),name:e.String({title:"Section name",examples:["Header","Hero","Features"]}),description:e.String({title:"A long description of the section",description:`You must elaborate a clear and detailled plan that describes:
|
|
4
4
|
- The section purpose in the page, in detail.
|
|
5
5
|
- The section structure, look & feel, and structural/design organization, in detail
|
|
6
6
|
- the types of bricks (e.g. "container", "text", "video", "carousel", etc) that will be used and their purpose, in detail
|
|
7
7
|
|
|
8
8
|
IMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,examples:["This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.","This section should contain a `hero` text and an `image`."]})},{additionalProperties:!1}),{title:"Sections plan",description:"A plan for the sections of the page. Used to generate the page content.",examples:[[{id:"header-section",name:"Header",description:"This section only contains a header brick"},{id:"hero-section",name:"Hero",description:"This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally."}]]}),o=e.Composite([n,e.Object({status:e.Optional(i(["draft","published"],{title:"Page status",enumNames:["Draft","Published"],default:"draft","ai:hidden":!0,description:"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]","ai:instructions":"Upsie: Never generate this optional field."}))})],{description:"Pages map. The complete list of site pages & their metadata",additionalProperties:!1}),s=e.Array(o);function h(){return t(e.Array(e.Composite([o,e.Object({sectionsPlan:r})])))}function m(){return t(s)}export{n as a,r as b,o as c,s as d,h as e,m as f};
|
|
9
|
+
//# sourceMappingURL=chunk-ZA3GAB4H.js.map
|