@upstart.gg/sdk 0.0.133 → 0.0.135
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/shared/ai/schemas.d.ts +1 -2
- package/dist/shared/ai/schemas.d.ts.map +1 -1
- package/dist/shared/ai/schemas.js +28 -1
- package/dist/shared/ai/schemas.js.map +1 -1
- package/dist/shared/ai/types.d.ts +15 -1
- package/dist/shared/ai/types.d.ts.map +1 -1
- package/dist/shared/ajv.js +6861 -1
- package/dist/shared/ajv.js.map +1 -1
- package/dist/shared/analytics/init.js +20 -1
- package/dist/shared/analytics/init.js.map +1 -1
- package/dist/shared/analytics/track.js +24 -1
- package/dist/shared/analytics/track.js.map +1 -1
- package/dist/shared/attributes.d.ts +97 -30
- package/dist/shared/attributes.d.ts.map +1 -1
- package/dist/shared/attributes.js +46 -1
- package/dist/shared/brick-manifest.d.ts +1 -1
- package/dist/shared/brick-manifest.js +26 -1
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/accordion.manifest.js +29 -1
- package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/all-manifests.js +59 -1
- package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/box.manifest.js +28 -1
- package/dist/shared/bricks/manifests/button.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/button.manifest.js +28 -1
- package/dist/shared/bricks/manifests/card.manifest.d.ts +3 -3
- package/dist/shared/bricks/manifests/card.manifest.js +28 -1
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/carousel.manifest.js +28 -1
- package/dist/shared/bricks/manifests/footer.manifest.d.ts +4 -4
- package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.js +30 -1
- package/dist/shared/bricks/manifests/form.manifest.d.ts +3 -3
- package/dist/shared/bricks/manifests/form.manifest.js +29 -1
- package/dist/shared/bricks/manifests/hero.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/hero.manifest.js +28 -1
- package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/html.manifest.js +28 -1
- package/dist/shared/bricks/manifests/icon.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/icon.manifest.js +28 -1
- package/dist/shared/bricks/manifests/image.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/image.manifest.js +28 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +28 -1
- package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/map.manifest.js +31 -1
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts +4 -4
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.js +31 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/sidebar.manifest.js +29 -1
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/social-links.manifest.js +28 -1
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/spacer.manifest.js +28 -1
- package/dist/shared/bricks/manifests/table.manifest.d.ts +91 -0
- package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -0
- package/dist/shared/bricks/manifests/table.manifest.js +31 -0
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts +90 -0
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -0
- package/dist/shared/bricks/manifests/tabs.manifest.js +31 -0
- package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/testimonials.manifest.js +28 -1
- package/dist/shared/bricks/manifests/text.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/text.manifest.js +28 -1
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts +101 -0
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -0
- package/dist/shared/bricks/manifests/timeline.manifest.js +31 -0
- package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/video.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/video.manifest.js +28 -1
- package/dist/shared/bricks/props/align.d.ts +2 -2
- package/dist/shared/bricks/props/align.js +19 -1
- package/dist/shared/bricks/props/background.d.ts +4 -4
- package/dist/shared/bricks/props/background.js +15 -1
- package/dist/shared/bricks/props/boolean.js +7 -1
- package/dist/shared/bricks/props/border.js +16 -1
- package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
- package/dist/shared/bricks/props/color-preset.js +13 -1
- package/dist/shared/bricks/props/color.js +14 -1
- package/dist/shared/bricks/props/common.d.ts +2 -2
- package/dist/shared/bricks/props/common.js +13 -1
- package/dist/shared/bricks/props/css-length.js +14 -1
- package/dist/shared/bricks/props/datarecord.js +7 -1
- package/dist/shared/bricks/props/datasource.d.ts +1 -1
- package/dist/shared/bricks/props/datasource.js +86 -1
- package/dist/shared/bricks/props/datasource.js.map +1 -1
- package/dist/shared/bricks/props/date.js +9 -1
- package/dist/shared/bricks/props/direction.js +11 -1
- package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
- package/dist/shared/bricks/props/dynamic.js +30 -1
- package/dist/shared/bricks/props/effects.js +17 -1
- package/dist/shared/bricks/props/file.js +15 -1
- package/dist/shared/bricks/props/file.js.map +1 -1
- package/dist/shared/bricks/props/geolocation.js +44 -1
- package/dist/shared/bricks/props/geolocation.js.map +1 -1
- package/dist/shared/bricks/props/helpers.d.ts +1 -1
- package/dist/shared/bricks/props/helpers.js +18 -1
- package/dist/shared/bricks/props/image.js +11 -1
- package/dist/shared/bricks/props/number.js +7 -1
- package/dist/shared/bricks/props/position.js +7 -1
- package/dist/shared/bricks/props/string.js +18 -1
- package/dist/shared/bricks/props/tags.js +10 -1
- package/dist/shared/bricks/props/text.js +19 -1
- package/dist/shared/bricks.d.ts +56 -44
- package/dist/shared/bricks.d.ts.map +1 -1
- package/dist/shared/bricks.js +79 -1
- package/dist/shared/chunk-2BPYOTKA.js +21 -0
- package/dist/shared/{chunk-WHTPGWUV.js.map → chunk-2BPYOTKA.js.map} +1 -1
- package/dist/shared/chunk-2HO4FHLM.js +456 -0
- package/dist/shared/{chunk-I3VL6SRH.js.map → chunk-2HO4FHLM.js.map} +1 -1
- package/dist/shared/chunk-2RK3CPYJ.js +74 -0
- package/dist/shared/{chunk-W33JMRRN.js.map → chunk-2RK3CPYJ.js.map} +1 -1
- package/dist/shared/chunk-3KLRW4I2.js +560 -0
- package/dist/shared/{chunk-B3EATRFX.js.map → chunk-3KLRW4I2.js.map} +1 -1
- package/dist/shared/chunk-3ZDN5BWN.js +18 -0
- package/dist/shared/{chunk-OIY3EPHO.js.map → chunk-3ZDN5BWN.js.map} +1 -1
- package/dist/shared/chunk-4WI23M7W.js +30 -0
- package/dist/shared/chunk-4WI23M7W.js.map +1 -0
- package/dist/shared/chunk-55C6MTX2.js +21 -0
- package/dist/shared/{chunk-KBHDY425.js.map → chunk-55C6MTX2.js.map} +1 -1
- package/dist/shared/chunk-6E42XWFH.js +103 -0
- package/dist/shared/{chunk-ZA3GAB4H.js.map → chunk-6E42XWFH.js.map} +1 -1
- package/dist/shared/chunk-6TVVKUWM.js +15 -0
- package/dist/shared/{chunk-4WDWJA3N.js.map → chunk-6TVVKUWM.js.map} +1 -1
- package/dist/shared/chunk-6WIMWLCJ.js +17 -0
- package/dist/shared/{chunk-KYY3PHP7.js.map → chunk-6WIMWLCJ.js.map} +1 -1
- package/dist/shared/chunk-7LAWWRU7.js +21 -0
- package/dist/shared/{chunk-IUXCWWGO.js.map → chunk-7LAWWRU7.js.map} +1 -1
- package/dist/shared/chunk-A2QPY54H.js +13 -0
- package/dist/shared/{chunk-KFM6KXSE.js.map → chunk-A2QPY54H.js.map} +1 -1
- package/dist/shared/chunk-BHC2A43S.js +67 -0
- package/dist/shared/{chunk-3YVJ2ELD.js.map → chunk-BHC2A43S.js.map} +1 -1
- package/dist/shared/chunk-BMWRR4DI.js +572 -0
- package/dist/shared/chunk-BMWRR4DI.js.map +1 -0
- package/dist/shared/chunk-BPBKHEQ5.js +39 -0
- package/dist/shared/{chunk-OHNYCXPX.js.map → chunk-BPBKHEQ5.js.map} +1 -1
- package/dist/shared/chunk-BW6EFRSF.js +794 -0
- package/dist/shared/chunk-BW6EFRSF.js.map +1 -0
- package/dist/shared/chunk-CKFRSHR2.js +105 -0
- package/dist/shared/{chunk-CFF6Q7O7.js.map → chunk-CKFRSHR2.js.map} +1 -1
- package/dist/shared/chunk-CSF2WQX2.js +60 -0
- package/dist/shared/{chunk-GLS7HPIZ.js.map → chunk-CSF2WQX2.js.map} +1 -1
- package/dist/shared/chunk-D4YQ6ABM.js +338 -0
- package/dist/shared/{chunk-PXI7AHWS.js.map → chunk-D4YQ6ABM.js.map} +1 -1
- package/dist/shared/chunk-DRTGM2UJ.js +129 -0
- package/dist/shared/{chunk-FLOMNC6J.js.map → chunk-DRTGM2UJ.js.map} +1 -1
- package/dist/shared/chunk-EQMU6NIU.js +1222 -0
- package/dist/shared/chunk-EQMU6NIU.js.map +1 -0
- package/dist/shared/chunk-EWSPTRDL.js +378 -0
- package/dist/shared/{chunk-QX6OGRRT.js.map → chunk-EWSPTRDL.js.map} +1 -1
- package/dist/shared/chunk-F22LDHEO.js +105 -0
- package/dist/shared/{chunk-5YRC3IT3.js.map → chunk-F22LDHEO.js.map} +1 -1
- package/dist/shared/chunk-FVU5PXRC.js +244 -0
- package/dist/shared/chunk-FVU5PXRC.js.map +1 -0
- package/dist/shared/chunk-GCQURRVB.js +837 -0
- package/dist/shared/{chunk-WYVJE6J5.js.map → chunk-GCQURRVB.js.map} +1 -1
- package/dist/shared/chunk-GPCI2N2A.js +395 -0
- package/dist/shared/{chunk-WBZW5LVH.js.map → chunk-GPCI2N2A.js.map} +1 -1
- package/dist/shared/chunk-GRMY35BU.js +722 -0
- package/dist/shared/{chunk-NJGXC7D6.js.map → chunk-GRMY35BU.js.map} +1 -1
- package/dist/shared/chunk-HPCCD6V5.js +17 -0
- package/dist/shared/{chunk-6I3ONVU6.js.map → chunk-HPCCD6V5.js.map} +1 -1
- package/dist/shared/chunk-JK2FWFJU.js +15 -0
- package/dist/shared/{chunk-JMN3HTZU.js.map → chunk-JK2FWFJU.js.map} +1 -1
- package/dist/shared/chunk-KNREHAPN.js +13 -0
- package/dist/shared/{chunk-KSEURRVZ.js.map → chunk-KNREHAPN.js.map} +1 -1
- package/dist/shared/chunk-KT7SSWMM.js +24 -0
- package/dist/shared/{chunk-KO5FPOWZ.js.map → chunk-KT7SSWMM.js.map} +1 -1
- package/dist/shared/chunk-LXAO3JA6.js +368 -0
- package/dist/shared/chunk-LXAO3JA6.js.map +1 -0
- package/dist/shared/chunk-MLZT7MRQ.js +538 -0
- package/dist/shared/chunk-MLZT7MRQ.js.map +1 -0
- package/dist/shared/chunk-NT3IW52F.js +260 -0
- package/dist/shared/chunk-NT3IW52F.js.map +1 -0
- package/dist/shared/chunk-NTLAKMMQ.js +94 -0
- package/dist/shared/{chunk-ZTZJHY4E.js.map → chunk-NTLAKMMQ.js.map} +1 -1
- package/dist/shared/chunk-O5PLB3YB.js +413 -0
- package/dist/shared/chunk-O5PLB3YB.js.map +1 -0
- package/dist/shared/chunk-O5PQISX4.js +51 -0
- package/dist/shared/{chunk-VEDQV5XO.js.map → chunk-O5PQISX4.js.map} +1 -1
- package/dist/shared/chunk-OJP4HMJT.js +22 -0
- package/dist/shared/{chunk-6HLU4UI2.js.map → chunk-OJP4HMJT.js.map} +1 -1
- package/dist/shared/chunk-OSJ6KGPX.js +16 -0
- package/dist/shared/{chunk-GPEMPZXK.js.map → chunk-OSJ6KGPX.js.map} +1 -1
- package/dist/shared/chunk-OXYXZHP2.js +48 -0
- package/dist/shared/{chunk-5O4Z3YQY.js.map → chunk-OXYXZHP2.js.map} +1 -1
- package/dist/shared/chunk-P3RH5URN.js +230 -0
- package/dist/shared/{chunk-R6ATC4TC.js.map → chunk-P3RH5URN.js.map} +1 -1
- package/dist/shared/chunk-Q4NPPLEU.js +34 -0
- package/dist/shared/{chunk-QWGUMKZC.js.map → chunk-Q4NPPLEU.js.map} +1 -1
- package/dist/shared/chunk-QL3T5HJQ.js +59 -0
- package/dist/shared/{chunk-E6XEI7IK.js.map → chunk-QL3T5HJQ.js.map} +1 -1
- package/dist/shared/chunk-QLQVDZIL.js +11 -0
- package/dist/shared/{chunk-KLD3P5XH.js.map → chunk-QLQVDZIL.js.map} +1 -1
- package/dist/shared/chunk-QQQ3FYPG.js +248 -0
- package/dist/shared/{chunk-SXHDQ64Z.js.map → chunk-QQQ3FYPG.js.map} +1 -1
- package/dist/shared/chunk-QSND5IWT.js +165 -0
- package/dist/shared/{chunk-ZQPXQCY2.js.map → chunk-QSND5IWT.js.map} +1 -1
- package/dist/shared/chunk-RV7AYVFV.js +75 -0
- package/dist/shared/{chunk-DHI3IBOD.js.map → chunk-RV7AYVFV.js.map} +1 -1
- package/dist/shared/chunk-SE6O65HC.js +44 -0
- package/dist/shared/{chunk-NM5MMPCF.js.map → chunk-SE6O65HC.js.map} +1 -1
- package/dist/shared/chunk-SHUGHJ7V.js +519 -0
- package/dist/shared/{chunk-IKC3FK7L.js.map → chunk-SHUGHJ7V.js.map} +1 -1
- package/dist/shared/chunk-TB3X4LRQ.js +56 -0
- package/dist/shared/{chunk-RJYZ5FAR.js.map → chunk-TB3X4LRQ.js.map} +1 -1
- package/dist/shared/chunk-TEO6TJOM.js +212 -0
- package/dist/shared/chunk-TEO6TJOM.js.map +1 -0
- package/dist/shared/chunk-TFGGYU6Y.js +394 -0
- package/dist/shared/{chunk-CZRCW5EN.js.map → chunk-TFGGYU6Y.js.map} +1 -1
- package/dist/shared/chunk-TKMWY2VN.js +18 -0
- package/dist/shared/{chunk-RDZK73KV.js.map → chunk-TKMWY2VN.js.map} +1 -1
- package/dist/shared/chunk-TNMNMYOB.js +69 -0
- package/dist/shared/{chunk-4BTB3MU2.js.map → chunk-TNMNMYOB.js.map} +1 -1
- package/dist/shared/chunk-U7TVEPKA.js +432 -0
- package/dist/shared/chunk-U7TVEPKA.js.map +1 -0
- package/dist/shared/chunk-UQF52PWK.js +70 -0
- package/dist/shared/{chunk-A3GF4PYW.js.map → chunk-UQF52PWK.js.map} +1 -1
- package/dist/shared/chunk-V3UA3LRK.js +253 -0
- package/dist/shared/{chunk-G5CJU6RD.js.map → chunk-V3UA3LRK.js.map} +1 -1
- package/dist/shared/chunk-W6MRYRGJ.js +100 -0
- package/dist/shared/{chunk-CCI4C3TM.js.map → chunk-W6MRYRGJ.js.map} +1 -1
- package/dist/shared/chunk-WGDUJSSS.js +462 -0
- package/dist/shared/chunk-WGDUJSSS.js.map +1 -0
- package/dist/shared/chunk-WKN566LN.js +29 -0
- package/dist/shared/{chunk-Q4H4QEMB.js.map → chunk-WKN566LN.js.map} +1 -1
- package/dist/shared/chunk-X6N463D4.js +222 -0
- package/dist/shared/{chunk-IKHZD2JH.js.map → chunk-X6N463D4.js.map} +1 -1
- package/dist/shared/chunk-X75YV73Q.js +178 -0
- package/dist/shared/{chunk-PLSV746R.js.map → chunk-X75YV73Q.js.map} +1 -1
- package/dist/shared/chunk-XCWMZVF5.js +89 -0
- package/dist/shared/{chunk-ZFCUSWMT.js.map → chunk-XCWMZVF5.js.map} +1 -1
- package/dist/shared/chunk-XCZVD5H6.js +13 -0
- package/dist/shared/{chunk-HAGKVQOW.js.map → chunk-XCZVD5H6.js.map} +1 -1
- package/dist/shared/chunk-XZ6WJZHN.js +10 -0
- package/dist/shared/{chunk-DCH4ZKWT.js.map → chunk-XZ6WJZHN.js.map} +1 -1
- package/dist/shared/chunk-Y74LZNND.js +30 -0
- package/dist/shared/{chunk-GACHLACT.js.map → chunk-Y74LZNND.js.map} +1 -1
- package/dist/shared/chunk-Z2NTDFB4.js +505 -0
- package/dist/shared/{chunk-SQ5T4AT5.js.map → chunk-Z2NTDFB4.js.map} +1 -1
- package/dist/shared/chunk-Z35I5JM5.js +131 -0
- package/dist/shared/{chunk-PSTFJ5IJ.js.map → chunk-Z35I5JM5.js.map} +1 -1
- package/dist/shared/chunk-ZEFOWKYP.js +44 -0
- package/dist/shared/{chunk-DQ7PRWTG.js.map → chunk-ZEFOWKYP.js.map} +1 -1
- package/dist/shared/chunk-ZGQ3AQBG.js +33 -0
- package/dist/shared/chunk-ZGQ3AQBG.js.map +1 -0
- package/dist/shared/chunk-ZLYIRH2B.js +68 -0
- package/dist/shared/{chunk-SWLUQVK7.js.map → chunk-ZLYIRH2B.js.map} +1 -1
- package/dist/shared/datarecords/external/airtable/handler.js +377 -1
- package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
- package/dist/shared/datarecords/external/airtable/oauth/config.js +15 -1
- package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
- package/dist/shared/datarecords/external/airtable/types.js +11 -1
- package/dist/shared/datarecords/external/generic-webhook/handler.js +14 -1
- package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
- package/dist/shared/datarecords/external/generic-webhook/options.js +16 -1
- package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
- package/dist/shared/datarecords/external/google/oauth/config.js +35 -1
- package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/client.js +7 -1
- package/dist/shared/datarecords/external/google/sheets/handler.js +184 -5
- package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/types.js +7 -1
- package/dist/shared/datarecords/external/notion/handler.js +397 -1
- package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
- package/dist/shared/datarecords/external/notion/oauth/config.js +11 -1
- package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
- package/dist/shared/datarecords/external/notion/types.js +7 -1
- package/dist/shared/datarecords/types.d.ts +3 -3
- package/dist/shared/datarecords/types.js +16 -1
- package/dist/shared/datarecords.js +9 -1
- package/dist/shared/datarecords.js.map +1 -1
- package/dist/shared/datasources/external/facebook/posts/fetcher.js +49 -1
- package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/facebook/posts/schema.js +36 -1
- package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
- package/dist/shared/datasources/external/http-json/fetcher.js +29 -1
- package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/http-json/options.js +11 -1
- package/dist/shared/datasources/external/http-json/options.js.map +1 -1
- package/dist/shared/datasources/external/http-json/schema.js +10 -1
- package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
- package/dist/shared/datasources/external/instagram/feed/fetcher.js +29 -1
- package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/instagram/feed/schema.js +26 -1
- package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/account/fetcher.js +7 -1
- package/dist/shared/datasources/external/mastodon/account/schema.js +7 -1
- package/dist/shared/datasources/external/mastodon/options.js +10 -1
- package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/fetcher.js +31 -1
- package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/sample.array.js +61 -1
- package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/sample.single.js +59 -1
- package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/schema.js +125 -1
- package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
- package/dist/shared/datasources/external/meta/oauth/config.js +17 -1
- package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
- package/dist/shared/datasources/external/meta/options.js +10 -1
- package/dist/shared/datasources/external/meta/options.js.map +1 -1
- package/dist/shared/datasources/external/rss/fetcher.js +26 -1
- package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/rss/options.js +10 -1
- package/dist/shared/datasources/external/rss/options.js.map +1 -1
- package/dist/shared/datasources/external/rss/schema.js +7 -1
- package/dist/shared/datasources/external/threads/media/fetcher.js +47 -1
- package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/threads/media/schema.js +40 -1
- package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
- package/dist/shared/datasources/external/tiktok/oauth/config.js +18 -1
- package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/fetcher.js +34 -1
- package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/options.js +11 -1
- package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/schema.js +30 -1
- package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
- package/dist/shared/datasources/external/youtube/list/fetcher.js +32 -1
- package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/youtube/list/options.js +14 -1
- package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
- package/dist/shared/datasources/external/youtube/list/schema.js +7 -1
- package/dist/shared/datasources/external/youtube/oauth/config.js +18 -1
- package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
- package/dist/shared/datasources/internal/blog/schema.js +72 -1
- package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
- package/dist/shared/datasources/internal/changelog/schema.js +51 -1
- package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
- package/dist/shared/datasources/internal/contact-info/schema.js +25 -1
- package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
- package/dist/shared/datasources/internal/cv/schema.js +222 -1
- package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
- package/dist/shared/datasources/internal/faq/schema.js +30 -1
- package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
- package/dist/shared/datasources/internal/job-board/schema.js +224 -1
- package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
- package/dist/shared/datasources/internal/links/schema.js +7 -1
- package/dist/shared/datasources/internal/recipes/schema.js +45 -1
- package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
- package/dist/shared/datasources/internal/restaurant/schema.js +226 -1
- package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
- package/dist/shared/datasources/samples.js +69 -1
- package/dist/shared/datasources/samples.js.map +1 -1
- package/dist/shared/datasources/schemas.js +34 -1
- package/dist/shared/datasources/schemas.js.map +1 -1
- package/dist/shared/datasources/types.d.ts +1 -1
- package/dist/shared/datasources/types.d.ts.map +1 -1
- package/dist/shared/datasources/types.js +32 -1
- package/dist/shared/datasources/utils.js +11 -1
- package/dist/shared/datasources.js +51 -1
- package/dist/shared/datasources.js.map +1 -1
- package/dist/shared/errors.js +7 -1
- package/dist/shared/images.d.ts +4 -4
- package/dist/shared/images.d.ts.map +1 -1
- package/dist/shared/images.js +44 -1
- package/dist/shared/images.js.map +1 -1
- package/dist/shared/index.js +9 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/layout-constants.js +14 -1
- package/dist/shared/layout-constants.js.map +1 -1
- package/dist/shared/manifest.js +52 -1
- package/dist/shared/manifest.js.map +1 -1
- package/dist/shared/oauth.js +8 -1
- package/dist/shared/page.d.ts +12 -126
- package/dist/shared/page.d.ts.map +1 -1
- package/dist/shared/page.js +58 -1
- package/dist/shared/prompt.js +7 -1
- package/dist/shared/responsive.js +10 -1
- package/dist/shared/responsive.js.map +1 -1
- package/dist/shared/schema-registry.d.ts +5 -0
- package/dist/shared/schema-registry.d.ts.map +1 -0
- package/dist/shared/schema-registry.js +119 -0
- package/dist/shared/schema-registry.js.map +1 -0
- package/dist/shared/site.d.ts +36 -33
- package/dist/shared/site.d.ts.map +1 -1
- package/dist/shared/site.js +127 -1
- package/dist/shared/site.js.map +1 -1
- package/dist/shared/sitemap.d.ts +17 -17
- package/dist/shared/sitemap.d.ts.map +1 -1
- package/dist/shared/sitemap.js +69 -1
- package/dist/shared/social-icons.js +312 -1
- package/dist/shared/social-icons.js.map +1 -1
- package/dist/shared/tests/schema-registry.test.d.ts +2 -0
- package/dist/shared/tests/schema-registry.test.d.ts.map +1 -0
- package/dist/shared/theme.d.ts +1 -1
- package/dist/shared/theme.d.ts.map +1 -1
- package/dist/shared/theme.js +35 -1
- package/dist/shared/themes/color-system.d.ts +0 -1
- package/dist/shared/themes/color-system.d.ts.map +1 -1
- package/dist/shared/themes/color-system.js +103 -1
- package/dist/shared/themes/color-system.js.map +1 -1
- package/dist/shared/utils/canvas-data-uri.js +7 -1
- package/dist/shared/utils/canvas-data-uri.js.map +1 -1
- package/dist/shared/utils/invariant.js +7 -1
- package/dist/shared/utils/json-date.js +7 -1
- package/dist/shared/utils/llm.d.ts +2 -3
- package/dist/shared/utils/llm.d.ts.map +1 -1
- package/dist/shared/utils/llm.js +24 -1
- package/dist/shared/utils/merge.js +7 -1
- package/dist/shared/utils/object-hash.js +13 -1
- package/dist/shared/utils/object-hash.js.map +1 -1
- package/dist/shared/utils/schema-registry.d.ts +5 -0
- package/dist/shared/utils/schema-registry.d.ts.map +1 -0
- package/dist/shared/utils/schema-registry.js +29 -0
- package/dist/shared/utils/schema-registry.js.map +1 -0
- package/dist/shared/utils/schema.d.ts +2 -1
- package/dist/shared/utils/schema.d.ts.map +1 -1
- package/dist/shared/utils/schema.js +31 -1
- package/dist/shared/utils/string-enum.js +7 -1
- package/dist/shared/utils/tests/schema-registry.test.d.ts +2 -0
- package/dist/shared/utils/tests/schema-registry.test.d.ts.map +1 -0
- package/dist/shared/utils/try-catch.js +13 -1
- package/dist/shared/utils/try-catch.js.map +1 -1
- package/dist/shared/utils/typed-ref.js +7 -1
- package/package.json +12 -13
- package/src/shared/ai/schemas.ts +4 -8
- package/src/shared/ai/types.ts +9 -1
- package/src/shared/attributes.ts +27 -25
- package/src/shared/bricks/manifests/all-manifests.ts +15 -0
- package/src/shared/bricks/manifests/footer.manifest.ts +36 -27
- package/src/shared/bricks/manifests/navbar.manifest.ts +1 -3
- package/src/shared/bricks/manifests/table.manifest.ts +443 -0
- package/src/shared/bricks/manifests/tabs.manifest.ts +576 -0
- package/src/shared/bricks/manifests/timeline.manifest.ts +441 -0
- package/src/shared/bricks/props/color-preset.ts +3 -1
- package/src/shared/bricks/props/dynamic.ts +0 -1
- package/src/shared/bricks.ts +54 -45
- package/src/shared/datasources/types.ts +1 -5
- package/src/shared/images.ts +10 -8
- package/src/shared/page.ts +0 -4
- package/src/shared/schema-registry.ts +82 -0
- package/src/shared/sitemap.ts +12 -16
- package/src/shared/tests/schema-registry.test.ts +14 -0
- package/src/shared/theme.ts +1 -4
- package/src/shared/themes/color-system.ts +0 -1
- package/src/shared/utils/llm.ts +13 -12
- package/src/shared/utils/schema-registry.ts +82 -0
- package/src/shared/utils/schema.ts +18 -3
- package/src/shared/utils/tests/schema-registry.test.ts +13 -0
- package/src/shared/utils/tests/schema.test.ts +82 -55
- package/dist/shared/bricks/props/enum.d.ts +0 -13
- package/dist/shared/bricks/props/enum.d.ts.map +0 -1
- package/dist/shared/bricks/props/enum.js +0 -4
- package/dist/shared/chunk-3YVJ2ELD.js +0 -4
- package/dist/shared/chunk-4BTB3MU2.js +0 -4
- package/dist/shared/chunk-4WDWJA3N.js +0 -4
- package/dist/shared/chunk-5O4Z3YQY.js +0 -4
- package/dist/shared/chunk-5YRC3IT3.js +0 -4
- package/dist/shared/chunk-6HLU4UI2.js +0 -4
- package/dist/shared/chunk-6I3ONVU6.js +0 -4
- package/dist/shared/chunk-7A2JNQX3.js +0 -4
- package/dist/shared/chunk-7A2JNQX3.js.map +0 -1
- package/dist/shared/chunk-A3GF4PYW.js +0 -4
- package/dist/shared/chunk-A3K4NUVP.js +0 -4
- package/dist/shared/chunk-A3K4NUVP.js.map +0 -1
- package/dist/shared/chunk-AFVJZPLS.js +0 -4
- package/dist/shared/chunk-AFVJZPLS.js.map +0 -1
- package/dist/shared/chunk-AI4GHU7R.js +0 -4
- package/dist/shared/chunk-AI4GHU7R.js.map +0 -1
- package/dist/shared/chunk-B3EATRFX.js +0 -4
- package/dist/shared/chunk-CCI4C3TM.js +0 -4
- package/dist/shared/chunk-CFF6Q7O7.js +0 -7
- package/dist/shared/chunk-CZRCW5EN.js +0 -4
- package/dist/shared/chunk-DCH4ZKWT.js +0 -4
- package/dist/shared/chunk-DHI3IBOD.js +0 -4
- package/dist/shared/chunk-DQ7PRWTG.js +0 -4
- package/dist/shared/chunk-E6XEI7IK.js +0 -4
- package/dist/shared/chunk-FLOMNC6J.js +0 -4
- package/dist/shared/chunk-G5CJU6RD.js +0 -7
- package/dist/shared/chunk-GACHLACT.js +0 -4
- package/dist/shared/chunk-GLS7HPIZ.js +0 -4
- package/dist/shared/chunk-GOMXZC4B.js +0 -35
- package/dist/shared/chunk-GOMXZC4B.js.map +0 -1
- package/dist/shared/chunk-GPEMPZXK.js +0 -4
- package/dist/shared/chunk-HAGKVQOW.js +0 -4
- package/dist/shared/chunk-I3VL6SRH.js +0 -9
- package/dist/shared/chunk-IKC3FK7L.js +0 -4
- package/dist/shared/chunk-IKHZD2JH.js +0 -4
- package/dist/shared/chunk-IUXCWWGO.js +0 -4
- package/dist/shared/chunk-JMN3HTZU.js +0 -4
- package/dist/shared/chunk-KBHDY425.js +0 -4
- package/dist/shared/chunk-KFM6KXSE.js +0 -4
- package/dist/shared/chunk-KLD3P5XH.js +0 -4
- package/dist/shared/chunk-KO5FPOWZ.js +0 -4
- package/dist/shared/chunk-KSEURRVZ.js +0 -4
- package/dist/shared/chunk-KYY3PHP7.js +0 -4
- package/dist/shared/chunk-NJGXC7D6.js +0 -4
- package/dist/shared/chunk-NM5MMPCF.js +0 -4
- package/dist/shared/chunk-OGBMYMZD.js +0 -4
- package/dist/shared/chunk-OGBMYMZD.js.map +0 -1
- package/dist/shared/chunk-OHNYCXPX.js +0 -4
- package/dist/shared/chunk-OIY3EPHO.js +0 -4
- package/dist/shared/chunk-PIG623TZ.js +0 -4
- package/dist/shared/chunk-PIG623TZ.js.map +0 -1
- package/dist/shared/chunk-PLSV746R.js +0 -4
- package/dist/shared/chunk-PSCN3VVA.js +0 -4
- package/dist/shared/chunk-PSCN3VVA.js.map +0 -1
- package/dist/shared/chunk-PSTFJ5IJ.js +0 -4
- package/dist/shared/chunk-PXI7AHWS.js +0 -4
- package/dist/shared/chunk-Q4H4QEMB.js +0 -4
- package/dist/shared/chunk-QGYZ7CG5.js +0 -4
- package/dist/shared/chunk-QGYZ7CG5.js.map +0 -1
- package/dist/shared/chunk-QWGUMKZC.js +0 -4
- package/dist/shared/chunk-QX6OGRRT.js +0 -5
- package/dist/shared/chunk-R6ATC4TC.js +0 -4
- package/dist/shared/chunk-RDZK73KV.js +0 -4
- package/dist/shared/chunk-RJYZ5FAR.js +0 -4
- package/dist/shared/chunk-SQ5T4AT5.js +0 -6
- package/dist/shared/chunk-SWLUQVK7.js +0 -4
- package/dist/shared/chunk-SXHDQ64Z.js +0 -5
- package/dist/shared/chunk-SY6DZLTC.js +0 -4
- package/dist/shared/chunk-SY6DZLTC.js.map +0 -1
- package/dist/shared/chunk-VEDQV5XO.js +0 -4
- package/dist/shared/chunk-W33JMRRN.js +0 -4
- package/dist/shared/chunk-WBZW5LVH.js +0 -4
- package/dist/shared/chunk-WHTPGWUV.js +0 -4
- package/dist/shared/chunk-WYVJE6J5.js +0 -4
- package/dist/shared/chunk-ZA3GAB4H.js +0 -9
- package/dist/shared/chunk-ZFCUSWMT.js +0 -4
- package/dist/shared/chunk-ZQPXQCY2.js +0 -4
- package/dist/shared/chunk-ZTZJHY4E.js +0 -4
- package/src/shared/bricks/props/enum.ts +0 -38
- /package/dist/shared/bricks/{props/enum.js.map → manifests/table.manifest.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/manifests/box.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { Type } from \"@sinclair/typebox\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { shadowRef } from \"../props/effects\";\nimport type { BrickProps } from \"../props/types\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport { directionRef } from \"../props/direction\";\nimport { RxBox } from \"react-icons/rx\";\nimport { alignItemsRef, justifyContentRef } from \"../props/align\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { loopRef } from \"../props/dynamic\";\n\n// Generic container can hold any type of array data source\nexport const manifest = defineBrickManifest({\n type: \"box\",\n category: \"container\",\n name: \"Box\",\n description: \"A container for stacking bricks horizontally or vertically.\",\n aiInstructions:\n \"A box is a container for other bricks. A box cannot contain other boxes as children. A box should contain at least 2 bricks to be useful, otherwise use a simple brick instead.\",\n isContainer: true,\n defaultWidth: {\n desktop: \"auto\",\n mobile: \"100%\",\n },\n defaultHeight: {\n desktop: \"auto\",\n },\n icon: RxBox,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n direction: directionRef({\n default: \"flex-col\",\n title: \"Direction\",\n description: \"Direction of the box layout\",\n }),\n justifyContent: Type.Optional(\n justifyContentRef({\n default: \"justify-center\",\n }),\n ),\n alignItems: Type.Optional(\n alignItemsRef({\n default: \"items-stretch\",\n }),\n ),\n gap: Type.Optional(\n cssLengthRef({\n title: \"Gap\",\n default: \"1rem\",\n description: \"Gap between children 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 padding: Type.Optional(\n cssLengthRef({\n default: \"1rem\",\n description: \"Padding inside the box.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n wrap: Type.Optional(\n Type.Boolean({\n title: \"Wrap\",\n description: \"Wrap bricks if they overflow the section.\",\n default: false,\n \"ui:styleId\": \"styles:wrap\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n loop: Type.Optional(loopRef()),\n $children: Type.Array(Type.Any(), {\n \"ui:field\": \"hidden\",\n description: \"List of nested bricks\",\n default: [],\n examples: [\n [\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n ],\n ],\n }),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"A simple box with 2 text bricks aligned vertically\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n $children: [\n {\n type: \"text\",\n props: {\n $children: [\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n ],\n },\n },\n ],\n },\n },\n {\n description: \"A horizontal box with wrapping enabled - images will wrap to new rows if they overflow\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"1rem\",\n wrap: true,\n $children: [\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n ],\n },\n },\n {\n description: \"A vertical box with 2 text bricks and 1 image\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n $children: [\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n ],\n },\n },\n {\n description: \"Employee directory using allEmployees query with vertical layout\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n rounding: \"rounded-lg\",\n loop: {\n over: \"allEmployees\",\n },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{allEmployees.name}}</h3><p><strong>{{allEmployees.position}}</strong></p><p>{{allEmployees.department}} • {{allEmployees.email}}</p>\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"{{allEmployees.photo}}\",\n alt: \"Photo of {{allEmployees.name}}\",\n },\n },\n ],\n },\n },\n {\n description: \"Blog posts grid using blogPosts query with horizontal cards\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"2rem\",\n padding: \"1rem\",\n justifyContent: \"justify-start\",\n alignItems: \"items-stretch\",\n loop: {\n over: \"blogPosts\",\n },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{blogPosts.featuredImage}}\",\n alt: \"{{blogPosts.title}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{blogPosts.title}}</h4><p>{{blogPosts.excerpt}}</p><p><em>By {{blogPosts.author}} • {{blogPosts.publishDate}}</em></p>\",\n },\n },\n ],\n },\n },\n {\n description: \"Featured products showcase using featuredProducts query\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n rounding: \"rounded-xl\",\n shadow: \"shadow-md\",\n loop: {\n over: \"featuredProducts\",\n },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{featuredProducts.image}}\",\n alt: \"{{featuredProducts.name}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{featuredProducts.name}}</h3><p>{{featuredProducts.description}}</p><p><strong>${{featuredProducts.price}}</strong></p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Add to Cart\",\n link: \"/cart/add/{{featuredProducts.id}}\",\n },\n },\n ],\n },\n },\n {\n description:\n \"Team members horizontal layout with wrapping - members will wrap to multiple rows on smaller screens\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"2rem\",\n padding: \"2rem\",\n wrap: true,\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: {\n color: \"secondary-100\",\n },\n loop: {\n over: \"teamMembers\",\n },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{teamMembers.avatar}}\",\n alt: \"{{teamMembers.fullName}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content: \"<h4>{{teamMembers.fullName}}</h4><p>{{teamMembers.role}}</p><p>{{teamMembers.bio}}</p>\",\n },\n },\n ],\n },\n },\n {\n description: \"Event listings using upcomingEvents query with accent styling\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"accent-100\",\n },\n border: {\n width: \"border-2\",\n color: \"border-accent-300\",\n },\n rounding: \"rounded-lg\",\n loop: {\n over: \"upcomingEvents\",\n },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{upcomingEvents.title}}</h3><p><strong>{{upcomingEvents.date}} at {{upcomingEvents.time}}</strong></p><p>{{upcomingEvents.venue}} • {{upcomingEvents.city}}</p><p>{{upcomingEvents.description}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Register Now\",\n link: \"/events/{{upcomingEvents.slug}}/register\",\n },\n },\n ],\n },\n },\n {\n description: \"Testimonials carousel using customerTestimonials query\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"3rem\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: {\n color: \"neutral-50\",\n },\n shadow: \"shadow-lg\",\n rounding: \"rounded-2xl\",\n loop: {\n over: \"customerTestimonials\",\n },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n '<blockquote>\"{{customerTestimonials.quote}}\"</blockquote><p><strong>{{customerTestimonials.customerName}}</strong></p><p>{{customerTestimonials.company}} • {{customerTestimonials.position}}</p>',\n },\n },\n {\n type: \"icon\",\n props: {\n icon: \"mdi:star\",\n size: \"1.5rem\",\n color: \"#fbbf24\",\n },\n },\n ],\n },\n },\n {\n description: \"Portfolio projects using portfolioProjects query with horizontal layout\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"1.5rem\",\n padding: \"1rem\",\n alignItems: \"items-start\",\n justifyContent: \"justify-start\",\n loop: {\n over: \"portfolioProjects\",\n },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{portfolioProjects.thumbnail}}\",\n alt: \"{{portfolioProjects.projectName}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{portfolioProjects.projectName}}</h4><p>{{portfolioProjects.client}}</p><p>{{portfolioProjects.category}} • {{portfolioProjects.year}}</p><p>{{portfolioProjects.shortDescription}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"View Project\",\n link: \"/portfolio/{{portfolioProjects.slug}}\",\n },\n },\n ],\n },\n },\n {\n description: \"News articles using latestNews query with vertical stacking\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"2rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"primary-100\",\n },\n border: {\n width: \"border\",\n color: \"border-primary-300\",\n },\n loop: {\n over: \"latestNews\",\n },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{latestNews.headline}}</h3><p><strong>{{latestNews.category}}</strong> • {{latestNews.publishedDate}}</p><p>{{latestNews.summary}}</p>\",\n },\n },\n {\n type: \"text\",\n props: {\n content: \"<a href='/news/{{latestNews.slug}}'>Read full article →</a>\",\n },\n },\n ],\n },\n },\n {\n description: \"Service offerings using companyServices query with centered layout\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"2rem\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: {\n color: \"secondary-200\",\n },\n rounding: \"rounded-xl\",\n shadow: \"shadow-md\",\n loop: {\n over: \"companyServices\",\n },\n $children: [\n {\n type: \"icon\",\n props: {\n icon: \"{{companyServices.iconName}}\",\n size: \"2rem\",\n color: \"{{companyServices.iconColor}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{companyServices.serviceName}}</h4><p>{{companyServices.description}}</p><p><strong>Starting at ${{companyServices.price}}</strong></p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Learn More\",\n link: \"/services/{{companyServices.serviceSlug}}\",\n },\n },\n ],\n },\n },\n];\n"],"mappings":";;sXAEA,OAAS,QAAAA,MAAY,oBAMrB,OAAS,SAAAC,MAAa,iBAMf,IAAMC,EAAWC,EAAoB,CAC1C,KAAM,MACN,SAAU,YACV,KAAM,MACN,YAAa,8DACb,eACE,kLACF,YAAa,GACb,aAAc,CACZ,QAAS,OACT,OAAQ,MACV,EACA,cAAe,CACb,QAAS,MACX,EACA,KAAMC,EACN,MAAOC,EAAY,CACjB,YAAaC,EAAK,SAChBC,EAAe,CACb,MAAO,OACT,CAAC,CACH,EACA,UAAWC,EAAa,CACtB,QAAS,WACT,MAAO,YACP,YAAa,6BACf,CAAC,EACD,eAAgBF,EAAK,SACnBG,EAAkB,CAChB,QAAS,gBACX,CAAC,CACH,EACA,WAAYH,EAAK,SACfI,EAAc,CACZ,QAAS,eACX,CAAC,CACH,EACA,IAAKJ,EAAK,SACRK,EAAa,CACX,MAAO,MACP,QAAS,OACT,YAAa,+BACb,kBACE,qFACF,iBAAkB,gBAClB,aAAc,YAChB,CAAC,CACH,EACA,QAASL,EAAK,SACZK,EAAa,CACX,QAAS,OACT,YAAa,0BACb,kBAAmB,gDACnB,MAAO,UACP,iBAAkB,gBAClB,aAAc,gBAChB,CAAC,CACH,EACA,KAAML,EAAK,SACTA,EAAK,QAAQ,CACX,MAAO,OACP,YAAa,4CACb,QAAS,GACT,aAAc,aAChB,CAAC,CACH,EACA,SAAUA,EAAK,SACbM,EAAY,CACV,QAAS,YACX,CAAC,CACH,EACA,OAAQN,EAAK,SAASO,EAAU,CAAC,EACjC,OAAQP,EAAK,SAASQ,EAAU,CAAC,EACjC,KAAMR,EAAK,SAASS,EAAQ,CAAC,EAC7B,UAAWT,EAAK,MAAMA,EAAK,IAAI,EAAG,CAChC,WAAY,SACZ,YAAa,wBACb,QAAS,CAAC,EACV,SAAU,CACR,CACE,CACE,KAAM,OACN,MAAO,CACL,QAAS,aACX,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,IAAK,kCACL,IAAK,mBACP,CACF,CACF,CACF,CACF,CAAC,CACH,CAAC,CACH,CAAC,EAIYU,EAIP,CACJ,CACE,YAAa,qDACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,UAAW,CACT,CACE,KAAM,OACN,MAAO,CACL,UAAW,CACT,CACE,KAAM,OACN,MAAO,CACL,QAAS,aACX,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,QAAS,aACX,CACF,CACF,CACF,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,yFACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,KAAM,GACN,UAAW,CACT,CACE,KAAM,QACN,MAAO,CACL,IAAK,kCACL,IAAK,mBACP,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,IAAK,kCACL,IAAK,mBACP,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,IAAK,kCACL,IAAK,mBACP,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,IAAK,kCACL,IAAK,mBACP,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,IAAK,kCACL,IAAK,mBACP,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,gDACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,UAAW,CACT,CACE,KAAM,OACN,MAAO,CACL,QAAS,aACX,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,IAAK,kCACL,IAAK,mBACP,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,QAAS,aACX,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,mEACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,SACL,QAAS,OACT,YAAa,CACX,MAAO,aACT,EACA,SAAU,aACV,KAAM,CACJ,KAAM,cACR,EACA,UAAW,CACT,CACE,KAAM,OACN,MAAO,CACL,QACE,iJACJ,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,IAAK,yBACL,IAAK,gCACP,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,8DACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,QAAS,OACT,eAAgB,gBAChB,WAAY,gBACZ,KAAM,CACJ,KAAM,WACR,EACA,UAAW,CACT,CACE,KAAM,QACN,MAAO,CACL,IAAK,8BACL,IAAK,qBACP,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,QACE,kIACJ,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,0DACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,QAAS,SACT,YAAa,CACX,MAAO,YACT,EACA,OAAQ,CACN,MAAO,SACP,MAAO,oBACT,EACA,SAAU,aACV,OAAQ,YACR,KAAM,CACJ,KAAM,kBACR,EACA,UAAW,CACT,CACE,KAAM,QACN,MAAO,CACL,IAAK,6BACL,IAAK,2BACP,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,QACE,8HACJ,CACF,EACA,CACE,KAAM,SACN,MAAO,CACL,KAAM,cACN,KAAM,mCACR,CACF,CACF,CACF,CACF,EACA,CACE,YACE,uGACF,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,QAAS,OACT,KAAM,GACN,eAAgB,iBAChB,WAAY,eACZ,YAAa,CACX,MAAO,eACT,EACA,KAAM,CACJ,KAAM,aACR,EACA,UAAW,CACT,CACE,KAAM,QACN,MAAO,CACL,IAAK,yBACL,IAAK,0BACP,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,QAAS,wFACX,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,gEACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,UACL,QAAS,SACT,YAAa,CACX,MAAO,YACT,EACA,OAAQ,CACN,MAAO,WACP,MAAO,mBACT,EACA,SAAU,aACV,KAAM,CACJ,KAAM,gBACR,EACA,UAAW,CACT,CACE,KAAM,OACN,MAAO,CACL,QACE,gNACJ,CACF,EACA,CACE,KAAM,SACN,MAAO,CACL,KAAM,eACN,KAAM,0CACR,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,yDACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,QAAS,OACT,eAAgB,iBAChB,WAAY,eACZ,YAAa,CACX,MAAO,YACT,EACA,OAAQ,YACR,SAAU,cACV,KAAM,CACJ,KAAM,sBACR,EACA,UAAW,CACT,CACE,KAAM,OACN,MAAO,CACL,QACE,wMACJ,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,KAAM,WACN,KAAM,SACN,MAAO,SACT,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,0EACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,SACL,QAAS,OACT,WAAY,cACZ,eAAgB,gBAChB,KAAM,CACJ,KAAM,mBACR,EACA,UAAW,CACT,CACE,KAAM,QACN,MAAO,CACL,IAAK,kCACL,IAAK,mCACP,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,QACE,mMACJ,CACF,EACA,CACE,KAAM,SACN,MAAO,CACL,KAAM,eACN,KAAM,uCACR,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,8DACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,QAAS,OACT,YAAa,CACX,MAAO,aACT,EACA,OAAQ,CACN,MAAO,SACP,MAAO,oBACT,EACA,KAAM,CACJ,KAAM,YACR,EACA,UAAW,CACT,CACE,KAAM,OACN,MAAO,CACL,QACE,kJACJ,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,QAAS,kEACX,CACF,CACF,CACF,CACF,EACA,CACE,YAAa,qEACb,KAAM,MACN,MAAO,CACL,UAAW,WACX,IAAK,OACL,QAAS,OACT,eAAgB,iBAChB,WAAY,eACZ,YAAa,CACX,MAAO,eACT,EACA,SAAU,aACV,OAAQ,YACR,KAAM,CACJ,KAAM,iBACR,EACA,UAAW,CACT,CACE,KAAM,OACN,MAAO,CACL,KAAM,+BACN,KAAM,OACN,MAAO,+BACT,CACF,EACA,CACE,KAAM,OACN,MAAO,CACL,QACE,8IACJ,CACF,EACA,CACE,KAAM,SACN,MAAO,CACL,KAAM,aACN,KAAM,2CACR,CACF,CACF,CACF,CACF,CACF","names":["Type","RxBox","manifest","defineBrickManifest","RxBox","defineProps","Type","colorPresetRef","directionRef","justifyContentRef","alignItemsRef","cssLengthRef","roundingRef","borderRef","shadowRef","loopRef","examples"]}
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/box.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { Type } from \"@sinclair/typebox\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { shadowRef } from \"../props/effects\";\nimport type { BrickProps } from \"../props/types\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport { directionRef } from \"../props/direction\";\nimport { RxBox } from \"react-icons/rx\";\nimport { alignItemsRef, justifyContentRef } from \"../props/align\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { loopRef } from \"../props/dynamic\";\n\n// Generic container can hold any type of array data source\nexport const manifest = defineBrickManifest({\n type: \"box\",\n category: \"container\",\n name: \"Box\",\n description: \"A container for stacking bricks horizontally or vertically.\",\n aiInstructions:\n \"A box is a container for other bricks. A box cannot contain other boxes as children. A box should contain at least 2 bricks to be useful, otherwise use a simple brick instead.\",\n isContainer: true,\n defaultWidth: {\n desktop: \"auto\",\n mobile: \"100%\",\n },\n defaultHeight: {\n desktop: \"auto\",\n },\n icon: RxBox,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n }),\n ),\n direction: directionRef({\n default: \"flex-col\",\n title: \"Direction\",\n description: \"Direction of the box layout\",\n }),\n justifyContent: Type.Optional(\n justifyContentRef({\n default: \"justify-center\",\n }),\n ),\n alignItems: Type.Optional(\n alignItemsRef({\n default: \"items-stretch\",\n }),\n ),\n gap: Type.Optional(\n cssLengthRef({\n title: \"Gap\",\n default: \"1rem\",\n description: \"Gap between children 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 padding: Type.Optional(\n cssLengthRef({\n default: \"1rem\",\n description: \"Padding inside the box.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n wrap: Type.Optional(\n Type.Boolean({\n title: \"Wrap\",\n description: \"Wrap bricks if they overflow the section.\",\n default: false,\n \"ui:styleId\": \"styles:wrap\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n loop: Type.Optional(loopRef()),\n $children: Type.Array(Type.Any(), {\n \"ui:field\": \"hidden\",\n description: \"List of nested bricks\",\n default: [],\n examples: [\n [\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n ],\n ],\n }),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: {\n description: string;\n type: string;\n props: BrickProps<Manifest>[\"brick\"][\"props\"];\n}[] = [\n {\n description: \"A simple box with 2 text bricks aligned vertically\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n $children: [\n {\n type: \"text\",\n props: {\n $children: [\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n ],\n },\n },\n ],\n },\n },\n {\n description: \"A horizontal box with wrapping enabled - images will wrap to new rows if they overflow\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"1rem\",\n wrap: true,\n $children: [\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n ],\n },\n },\n {\n description: \"A vertical box with 2 text bricks and 1 image\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n $children: [\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"https://via.placeholder.com/150\",\n alt: \"Placeholder Image\",\n },\n },\n {\n type: \"text\",\n props: {\n content: \"Hello World\",\n },\n },\n ],\n },\n },\n {\n description: \"Employee directory using allEmployees query with vertical layout\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1.5rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"neutral-100\",\n },\n rounding: \"rounded-lg\",\n loop: {\n over: \"allEmployees\",\n },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{allEmployees.name}}</h3><p><strong>{{allEmployees.position}}</strong></p><p>{{allEmployees.department}} • {{allEmployees.email}}</p>\",\n },\n },\n {\n type: \"image\",\n props: {\n src: \"{{allEmployees.photo}}\",\n alt: \"Photo of {{allEmployees.name}}\",\n },\n },\n ],\n },\n },\n {\n description: \"Blog posts grid using blogPosts query with horizontal cards\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"2rem\",\n padding: \"1rem\",\n justifyContent: \"justify-start\",\n alignItems: \"items-stretch\",\n loop: {\n over: \"blogPosts\",\n },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{blogPosts.featuredImage}}\",\n alt: \"{{blogPosts.title}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{blogPosts.title}}</h4><p>{{blogPosts.excerpt}}</p><p><em>By {{blogPosts.author}} • {{blogPosts.publishDate}}</em></p>\",\n },\n },\n ],\n },\n },\n {\n description: \"Featured products showcase using featuredProducts query\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"1.5rem\",\n colorPreset: {\n color: \"primary-50\",\n },\n border: {\n width: \"border\",\n color: \"border-primary-200\",\n },\n rounding: \"rounded-xl\",\n shadow: \"shadow-md\",\n loop: {\n over: \"featuredProducts\",\n },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{featuredProducts.image}}\",\n alt: \"{{featuredProducts.name}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{featuredProducts.name}}</h3><p>{{featuredProducts.description}}</p><p><strong>${{featuredProducts.price}}</strong></p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Add to Cart\",\n link: \"/cart/add/{{featuredProducts.id}}\",\n },\n },\n ],\n },\n },\n {\n description:\n \"Team members horizontal layout with wrapping - members will wrap to multiple rows on smaller screens\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"2rem\",\n padding: \"2rem\",\n wrap: true,\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: {\n color: \"secondary-100\",\n },\n loop: {\n over: \"teamMembers\",\n },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{teamMembers.avatar}}\",\n alt: \"{{teamMembers.fullName}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content: \"<h4>{{teamMembers.fullName}}</h4><p>{{teamMembers.role}}</p><p>{{teamMembers.bio}}</p>\",\n },\n },\n ],\n },\n },\n {\n description: \"Event listings using upcomingEvents query with accent styling\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1.25rem\",\n padding: \"2.5rem\",\n colorPreset: {\n color: \"accent-100\",\n },\n border: {\n width: \"border-2\",\n color: \"border-accent-300\",\n },\n rounding: \"rounded-lg\",\n loop: {\n over: \"upcomingEvents\",\n },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{upcomingEvents.title}}</h3><p><strong>{{upcomingEvents.date}} at {{upcomingEvents.time}}</strong></p><p>{{upcomingEvents.venue}} • {{upcomingEvents.city}}</p><p>{{upcomingEvents.description}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Register Now\",\n link: \"/events/{{upcomingEvents.slug}}/register\",\n },\n },\n ],\n },\n },\n {\n description: \"Testimonials carousel using customerTestimonials query\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"3rem\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: {\n color: \"neutral-50\",\n },\n shadow: \"shadow-lg\",\n rounding: \"rounded-2xl\",\n loop: {\n over: \"customerTestimonials\",\n },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n '<blockquote>\"{{customerTestimonials.quote}}\"</blockquote><p><strong>{{customerTestimonials.customerName}}</strong></p><p>{{customerTestimonials.company}} • {{customerTestimonials.position}}</p>',\n },\n },\n {\n type: \"icon\",\n props: {\n icon: \"mdi:star\",\n size: \"1.5rem\",\n color: \"#fbbf24\",\n },\n },\n ],\n },\n },\n {\n description: \"Portfolio projects using portfolioProjects query with horizontal layout\",\n type: \"box\",\n props: {\n direction: \"flex-row\",\n gap: \"1.5rem\",\n padding: \"1rem\",\n alignItems: \"items-start\",\n justifyContent: \"justify-start\",\n loop: {\n over: \"portfolioProjects\",\n },\n $children: [\n {\n type: \"image\",\n props: {\n src: \"{{portfolioProjects.thumbnail}}\",\n alt: \"{{portfolioProjects.projectName}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{portfolioProjects.projectName}}</h4><p>{{portfolioProjects.client}}</p><p>{{portfolioProjects.category}} • {{portfolioProjects.year}}</p><p>{{portfolioProjects.shortDescription}}</p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"View Project\",\n link: \"/portfolio/{{portfolioProjects.slug}}\",\n },\n },\n ],\n },\n },\n {\n description: \"News articles using latestNews query with vertical stacking\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"2rem\",\n padding: \"2rem\",\n colorPreset: {\n color: \"primary-100\",\n },\n border: {\n width: \"border\",\n color: \"border-primary-300\",\n },\n loop: {\n over: \"latestNews\",\n },\n $children: [\n {\n type: \"text\",\n props: {\n content:\n \"<h3>{{latestNews.headline}}</h3><p><strong>{{latestNews.category}}</strong> • {{latestNews.publishedDate}}</p><p>{{latestNews.summary}}</p>\",\n },\n },\n {\n type: \"text\",\n props: {\n content: \"<a href='/news/{{latestNews.slug}}'>Read full article →</a>\",\n },\n },\n ],\n },\n },\n {\n description: \"Service offerings using companyServices query with centered layout\",\n type: \"box\",\n props: {\n direction: \"flex-col\",\n gap: \"1rem\",\n padding: \"2rem\",\n justifyContent: \"justify-center\",\n alignItems: \"items-center\",\n colorPreset: {\n color: \"secondary-200\",\n },\n rounding: \"rounded-xl\",\n shadow: \"shadow-md\",\n loop: {\n over: \"companyServices\",\n },\n $children: [\n {\n type: \"icon\",\n props: {\n icon: \"{{companyServices.iconName}}\",\n size: \"2rem\",\n color: \"{{companyServices.iconColor}}\",\n },\n },\n {\n type: \"text\",\n props: {\n content:\n \"<h4>{{companyServices.serviceName}}</h4><p>{{companyServices.description}}</p><p><strong>Starting at ${{companyServices.price}}</strong></p>\",\n },\n },\n {\n type: \"button\",\n props: {\n text: \"Learn More\",\n link: \"/services/{{companyServices.serviceSlug}}\",\n },\n },\n ],\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/utils/merge.ts
|
|
5
|
+
import { mergeWith, isArray } from "lodash-es";
|
|
6
|
+
function mergeIgnoringArrays(target, ...sources) {
|
|
7
|
+
return mergeWith(target, ...sources, customizer);
|
|
8
|
+
}
|
|
9
|
+
function customizer(objValue, srcValue) {
|
|
10
|
+
if (isArray(objValue)) {
|
|
11
|
+
return srcValue;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
mergeIgnoringArrays
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=chunk-3ZDN5BWN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/utils/merge.ts"],"sourcesContent":["import { mergeWith, isArray } from \"lodash-es\";\n\nexport function mergeIgnoringArrays<T>(target: T, ...sources: T[]): T {\n return mergeWith(target, ...sources, customizer);\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: <explanation>\nfunction customizer(objValue: any, srcValue: any) {\n if (isArray(objValue)) {\n return srcValue;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/utils/merge.ts"],"sourcesContent":["import { mergeWith, isArray } from \"lodash-es\";\n\nexport function mergeIgnoringArrays<T>(target: T, ...sources: T[]): T {\n return mergeWith(target, ...sources, customizer);\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: <explanation>\nfunction customizer(objValue: any, srcValue: any) {\n if (isArray(objValue)) {\n return srcValue;\n }\n}\n"],"mappings":";;;;AAAA,SAAS,WAAW,eAAe;AAE5B,SAAS,oBAAuB,WAAc,SAAiB;AACpE,SAAO,UAAU,QAAQ,GAAG,SAAS,UAAU;AACjD;AAGA,SAAS,WAAW,UAAe,UAAe;AAChD,MAAI,QAAQ,QAAQ,GAAG;AACrB,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
pageAttributesSchema
|
|
5
|
+
} from "./chunk-O5PLB3YB.js";
|
|
6
|
+
import {
|
|
7
|
+
sectionSchema
|
|
8
|
+
} from "./chunk-EQMU6NIU.js";
|
|
9
|
+
|
|
10
|
+
// src/shared/page.ts
|
|
11
|
+
import { Type } from "@sinclair/typebox";
|
|
12
|
+
var pageSchema = Type.Object({
|
|
13
|
+
id: Type.String({
|
|
14
|
+
description: "The unique ID of the page. Use a human readable url-safe slug",
|
|
15
|
+
examples: ["home", "about-us", "products-list"]
|
|
16
|
+
}),
|
|
17
|
+
label: Type.String({
|
|
18
|
+
description: "The label (name) of the page",
|
|
19
|
+
examples: ["Home", "About us", "Products"]
|
|
20
|
+
}),
|
|
21
|
+
sections: Type.Array(sectionSchema, {
|
|
22
|
+
description: "The sections of the page. See the Section schema"
|
|
23
|
+
}),
|
|
24
|
+
attributes: pageAttributesSchema
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export {
|
|
28
|
+
pageSchema
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=chunk-4WI23M7W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/page.ts"],"sourcesContent":["import { pageAttributesSchema } from \"./attributes\";\nimport { sectionSchema } from \"./bricks\";\nimport { Type, type Static } from \"@sinclair/typebox\";\nimport { toLLMSchema } from \"./utils/llm\";\n\nexport const pageSchema = Type.Object({\n id: Type.String({\n description: \"The unique ID of the page. Use a human readable url-safe slug\",\n examples: [\"home\", \"about-us\", \"products-list\"],\n }),\n label: Type.String({\n description: \"The label (name) of the page\",\n examples: [\"Home\", \"About us\", \"Products\"],\n }),\n sections: Type.Array(sectionSchema, {\n description: \"The sections of the page. See the Section schema\",\n }),\n attributes: pageAttributesSchema,\n});\n\nexport type Page = Static<typeof pageSchema>;\nexport type VersionedPage = Page & { version: string };\n\n/**\n * Page context represents the page config PLUS:\n * - the pathParams of the actual request.\n * - the resolved data for the page.\n */\nexport type PageContext = VersionedPage & {\n pathParams?: Record<string, string>;\n data?: Record<string, unknown[]>;\n};\n"],"mappings":";;;;;;;;;;AAEA,SAAS,YAAyB;AAG3B,IAAM,aAAa,KAAK,OAAO;AAAA,EACpC,IAAI,KAAK,OAAO;AAAA,IACd,aAAa;AAAA,IACb,UAAU,CAAC,QAAQ,YAAY,eAAe;AAAA,EAChD,CAAC;AAAA,EACD,OAAO,KAAK,OAAO;AAAA,IACjB,aAAa;AAAA,IACb,UAAU,CAAC,QAAQ,YAAY,UAAU;AAAA,EAC3C,CAAC;AAAA,EACD,UAAU,KAAK,MAAM,eAAe;AAAA,IAClC,aAAa;AAAA,EACf,CAAC;AAAA,EACD,YAAY;AACd,CAAC;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/datasources/internal/links/schema.ts
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
6
|
+
var linksSchema = Type.Array(
|
|
7
|
+
Type.Object({
|
|
8
|
+
url: Type.String({ format: "uri", title: "URL" }),
|
|
9
|
+
title: Type.String({ title: "Title" }),
|
|
10
|
+
description: Type.Optional(Type.String({ title: "Description", format: "markdown" })),
|
|
11
|
+
icon: Type.Optional(Type.String({ title: "Icon", format: "uri" }))
|
|
12
|
+
}),
|
|
13
|
+
{
|
|
14
|
+
description: "Schema representing a collection of links"
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
linksSchema
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-55C6MTX2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/datasources/internal/links/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const linksSchema = Type.Array(\n Type.Object({\n url: Type.String({ format: \"uri\", title: \"URL\" }),\n title: Type.String({ title: \"Title\" }),\n description: Type.Optional(Type.String({ title: \"Description\", format: \"markdown\" })),\n icon: Type.Optional(Type.String({ title: \"Icon\", format: \"uri\" })),\n }),\n {\n description: \"Schema representing a collection of links\",\n },\n);\n\nexport type LinksSchema = Static<typeof linksSchema>;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/datasources/internal/links/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const linksSchema = Type.Array(\n Type.Object({\n url: Type.String({ format: \"uri\", title: \"URL\" }),\n title: Type.String({ title: \"Title\" }),\n description: Type.Optional(Type.String({ title: \"Description\", format: \"markdown\" })),\n icon: Type.Optional(Type.String({ title: \"Icon\", format: \"uri\" })),\n }),\n {\n description: \"Schema representing a collection of links\",\n },\n);\n\nexport type LinksSchema = Static<typeof linksSchema>;\n"],"mappings":";;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,cAAc,KAAK;AAAA,EAC9B,KAAK,OAAO;AAAA,IACV,KAAK,KAAK,OAAO,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AAAA,IAChD,OAAO,KAAK,OAAO,EAAE,OAAO,QAAQ,CAAC;AAAA,IACrC,aAAa,KAAK,SAAS,KAAK,OAAO,EAAE,OAAO,eAAe,QAAQ,WAAW,CAAC,CAAC;AAAA,IACpF,MAAM,KAAK,SAAS,KAAK,OAAO,EAAE,OAAO,QAAQ,QAAQ,MAAM,CAAC,CAAC;AAAA,EACnE,CAAC;AAAA,EACD;AAAA,IACE,aAAa;AAAA,EACf;AACF;","names":[]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
pageSchema
|
|
5
|
+
} from "./chunk-4WI23M7W.js";
|
|
6
|
+
import {
|
|
7
|
+
toLLMSchema
|
|
8
|
+
} from "./chunk-BW6EFRSF.js";
|
|
9
|
+
import {
|
|
10
|
+
StringEnum
|
|
11
|
+
} from "./chunk-JK2FWFJU.js";
|
|
12
|
+
|
|
13
|
+
// src/shared/sitemap.ts
|
|
14
|
+
import { Type } from "@sinclair/typebox";
|
|
15
|
+
var sitemapPageEntry = Type.Pick(pageSchema, ["id", "label", "path", "attributes"]);
|
|
16
|
+
var sectionsPlanSchema = Type.Array(
|
|
17
|
+
Type.Object(
|
|
18
|
+
{
|
|
19
|
+
id: Type.String({
|
|
20
|
+
title: "Section ID",
|
|
21
|
+
examples: ["header-section", "hero-section", "features-section"],
|
|
22
|
+
format: "slug"
|
|
23
|
+
}),
|
|
24
|
+
name: Type.String({ title: "Section name", examples: ["Header", "Hero", "Features"] }),
|
|
25
|
+
description: Type.String({
|
|
26
|
+
title: "A long description of the section",
|
|
27
|
+
description: `You must elaborate a clear and detailled plan that describes:
|
|
28
|
+
- The section purpose in the page, in detail.
|
|
29
|
+
- The section structure, look & feel, and structural/design organization, in detail
|
|
30
|
+
- the types of bricks (e.g. "container", "text", "video", "carousel", etc) that will be used and their purpose, in detail
|
|
31
|
+
|
|
32
|
+
IMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,
|
|
33
|
+
examples: [
|
|
34
|
+
"This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.",
|
|
35
|
+
"This section should contain a `hero` text and an `image`."
|
|
36
|
+
]
|
|
37
|
+
})
|
|
38
|
+
},
|
|
39
|
+
{ additionalProperties: false }
|
|
40
|
+
),
|
|
41
|
+
{
|
|
42
|
+
title: "Sections plan",
|
|
43
|
+
description: "A plan for the sections of the page. Used to generate the page content.",
|
|
44
|
+
examples: [
|
|
45
|
+
[
|
|
46
|
+
{
|
|
47
|
+
id: "header-section",
|
|
48
|
+
name: "Header",
|
|
49
|
+
description: "This section only contains a header brick"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: "hero-section",
|
|
53
|
+
name: "Hero",
|
|
54
|
+
description: "This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally."
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
var sitemapEntry = Type.Composite(
|
|
61
|
+
[
|
|
62
|
+
sitemapPageEntry,
|
|
63
|
+
Type.Object({
|
|
64
|
+
status: Type.Optional(
|
|
65
|
+
StringEnum(["draft", "published"], {
|
|
66
|
+
title: "Page status",
|
|
67
|
+
enumNames: ["Draft", "Published"],
|
|
68
|
+
default: "draft",
|
|
69
|
+
"ai:hidden": true,
|
|
70
|
+
description: "The status of the page. Can be draft or published. [AI instructions: Dont generate this.]",
|
|
71
|
+
"ai:instructions": "Upsie: Never generate this optional field."
|
|
72
|
+
})
|
|
73
|
+
)
|
|
74
|
+
})
|
|
75
|
+
],
|
|
76
|
+
{
|
|
77
|
+
description: "Pages map. The complete list of site pages & their metadata",
|
|
78
|
+
additionalProperties: false
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
var sitemapSchema = Type.Array(sitemapEntry);
|
|
82
|
+
var sitemapSchemaLLM = toLLMSchema(
|
|
83
|
+
Type.Array(
|
|
84
|
+
Type.Composite([
|
|
85
|
+
sitemapEntry,
|
|
86
|
+
Type.Object({
|
|
87
|
+
// Sections plan helps agents to the structure and content of the page
|
|
88
|
+
sectionsPlan: sectionsPlanSchema
|
|
89
|
+
})
|
|
90
|
+
])
|
|
91
|
+
)
|
|
92
|
+
);
|
|
93
|
+
var sitemapSchemaNoPlansLLM = toLLMSchema(sitemapSchema);
|
|
94
|
+
|
|
95
|
+
export {
|
|
96
|
+
sitemapPageEntry,
|
|
97
|
+
sectionsPlanSchema,
|
|
98
|
+
sitemapEntry,
|
|
99
|
+
sitemapSchema,
|
|
100
|
+
sitemapSchemaLLM,
|
|
101
|
+
sitemapSchemaNoPlansLLM
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=chunk-6E42XWFH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/sitemap.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { pageSchema } from \"./page\";\nimport { toLLMSchema } from \"./utils/llm\";\n\nexport const sitemapPageEntry = Type.Pick(pageSchema, [\"id\", \"label\", \"path\", \"attributes\"]);\nexport type SitemapPageEntry = Static<typeof sitemapPageEntry>;\n\nexport const sectionsPlanSchema = Type.Array(\n Type.Object(\n {\n id: Type.String({\n title: \"Section ID\",\n examples: [\"header-section\", \"hero-section\", \"features-section\"],\n format: \"slug\",\n }),\n name: Type.String({ title: \"Section name\", examples: [\"Header\", \"Hero\", \"Features\"] }),\n description: Type.String({\n title: \"A long description of the section\",\n description: `You must elaborate a clear and detailled plan that describes:\n- The section purpose in the page, in detail.\n- The section structure, look & feel, and structural/design organization, in detail\n- the types of bricks (e.g. \"container\", \"text\", \"video\", \"carousel\", etc) that will be used and their purpose, in detail\n\nIMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,\n\n examples: [\n \"This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.\",\n \"This section should contain a `hero` text and an `image`.\",\n ],\n }),\n },\n { additionalProperties: false },\n ),\n {\n title: \"Sections plan\",\n description: \"A plan for the sections of the page. Used to generate the page content.\",\n examples: [\n [\n {\n id: \"header-section\",\n name: \"Header\",\n description: \"This section only contains a header brick\",\n },\n {\n id: \"hero-section\",\n name: \"Hero\",\n description:\n \"This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally.\",\n },\n ],\n ],\n },\n);\n\nexport const sitemapEntry = Type.Composite(\n [\n sitemapPageEntry,\n Type.Object({\n status: Type.Optional(\n StringEnum([\"draft\", \"published\"], {\n title: \"Page status\",\n enumNames: [\"Draft\", \"Published\"],\n default: \"draft\",\n \"ai:hidden\": true,\n description:\n \"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]\",\n \"ai:instructions\": \"Upsie: Never generate this optional field.\",\n }),\n ),\n }),\n ],\n {\n description: \"Pages map. The complete list of site pages & their metadata\",\n additionalProperties: false,\n },\n);\n\nexport const sitemapSchema = Type.Array(sitemapEntry);\nexport type Sitemap = Static<typeof sitemapSchema>;\n\nexport
|
|
1
|
+
{"version":3,"sources":["../../src/shared/sitemap.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { pageSchema } from \"./page\";\nimport { toLLMSchema } from \"./utils/llm\";\n\nexport const sitemapPageEntry = Type.Pick(pageSchema, [\"id\", \"label\", \"path\", \"attributes\"]);\nexport type SitemapPageEntry = Static<typeof sitemapPageEntry>;\n\nexport const sectionsPlanSchema = Type.Array(\n Type.Object(\n {\n id: Type.String({\n title: \"Section ID\",\n examples: [\"header-section\", \"hero-section\", \"features-section\"],\n format: \"slug\",\n }),\n name: Type.String({ title: \"Section name\", examples: [\"Header\", \"Hero\", \"Features\"] }),\n description: Type.String({\n title: \"A long description of the section\",\n description: `You must elaborate a clear and detailled plan that describes:\n- The section purpose in the page, in detail.\n- The section structure, look & feel, and structural/design organization, in detail\n- the types of bricks (e.g. \"container\", \"text\", \"video\", \"carousel\", etc) that will be used and their purpose, in detail\n\nIMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,\n\n examples: [\n \"This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.\",\n \"This section should contain a `hero` text and an `image`.\",\n ],\n }),\n },\n { additionalProperties: false },\n ),\n {\n title: \"Sections plan\",\n description: \"A plan for the sections of the page. Used to generate the page content.\",\n examples: [\n [\n {\n id: \"header-section\",\n name: \"Header\",\n description: \"This section only contains a header brick\",\n },\n {\n id: \"hero-section\",\n name: \"Hero\",\n description:\n \"This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally.\",\n },\n ],\n ],\n },\n);\n\nexport const sitemapEntry = Type.Composite(\n [\n sitemapPageEntry,\n Type.Object({\n status: Type.Optional(\n StringEnum([\"draft\", \"published\"], {\n title: \"Page status\",\n enumNames: [\"Draft\", \"Published\"],\n default: \"draft\",\n \"ai:hidden\": true,\n description:\n \"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]\",\n \"ai:instructions\": \"Upsie: Never generate this optional field.\",\n }),\n ),\n }),\n ],\n {\n description: \"Pages map. The complete list of site pages & their metadata\",\n additionalProperties: false,\n },\n);\n\nexport const sitemapSchema = Type.Array(sitemapEntry);\nexport type Sitemap = Static<typeof sitemapSchema>;\n\nexport const sitemapSchemaLLM = toLLMSchema(\n Type.Array(\n Type.Composite([\n sitemapEntry,\n Type.Object({\n // Sections plan helps agents to the structure and content of the page\n sectionsPlan: sectionsPlanSchema,\n }),\n ]),\n ),\n);\n\nexport const sitemapSchemaNoPlansLLM = toLLMSchema(sitemapSchema);\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,YAAyB;AAK3B,IAAM,mBAAmB,KAAK,KAAK,YAAY,CAAC,MAAM,SAAS,QAAQ,YAAY,CAAC;AAGpF,IAAM,qBAAqB,KAAK;AAAA,EACrC,KAAK;AAAA,IACH;AAAA,MACE,IAAI,KAAK,OAAO;AAAA,QACd,OAAO;AAAA,QACP,UAAU,CAAC,kBAAkB,gBAAgB,kBAAkB;AAAA,QAC/D,QAAQ;AAAA,MACV,CAAC;AAAA,MACD,MAAM,KAAK,OAAO,EAAE,OAAO,gBAAgB,UAAU,CAAC,UAAU,QAAQ,UAAU,EAAE,CAAC;AAAA,MACrF,aAAa,KAAK,OAAO;AAAA,QACvB,OAAO;AAAA,QACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOb,UAAU;AAAA,UACR;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,UAAU;AAAA,MACR;AAAA,QACE;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,eAAe,KAAK;AAAA,EAC/B;AAAA,IACE;AAAA,IACA,KAAK,OAAO;AAAA,MACV,QAAQ,KAAK;AAAA,QACX,WAAW,CAAC,SAAS,WAAW,GAAG;AAAA,UACjC,OAAO;AAAA,UACP,WAAW,CAAC,SAAS,WAAW;AAAA,UAChC,SAAS;AAAA,UACT,aAAa;AAAA,UACb,aACE;AAAA,UACF,mBAAmB;AAAA,QACrB,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAEO,IAAM,gBAAgB,KAAK,MAAM,YAAY;AAG7C,IAAM,mBAAmB;AAAA,EAC9B,KAAK;AAAA,IACH,KAAK,UAAU;AAAA,MACb;AAAA,MACA,KAAK,OAAO;AAAA;AAAA,QAEV,cAAc;AAAA,MAChB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAEO,IAAM,0BAA0B,YAAY,aAAa;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/prompt.ts
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
6
|
+
var sitePrompt = Type.String({
|
|
7
|
+
minLength: 30,
|
|
8
|
+
maxLength: 500,
|
|
9
|
+
description: "User prompt for the site, describing the purpose and main features of the site."
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
sitePrompt
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=chunk-6TVVKUWM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/prompt.ts"],"sourcesContent":["import { type Static, Type } from \"@sinclair/typebox\";\n\nexport const sitePrompt = Type.String({\n minLength: 30,\n maxLength: 500,\n description: \"User prompt for the site, describing the purpose and main features of the site.\",\n});\n\nexport type SitePrompt = Static<typeof sitePrompt>;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/prompt.ts"],"sourcesContent":["import { type Static, Type } from \"@sinclair/typebox\";\n\nexport const sitePrompt = Type.String({\n minLength: 30,\n maxLength: 500,\n description: \"User prompt for the site, describing the purpose and main features of the site.\",\n});\n\nexport type SitePrompt = Static<typeof sitePrompt>;\n"],"mappings":";;;;AAAA,SAAsB,YAAY;AAE3B,IAAM,aAAa,KAAK,OAAO;AAAA,EACpC,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AACf,CAAC;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/bricks/props/position.ts
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
6
|
+
function fixedPositioned(defaultValue = false, title = "Fixed position") {
|
|
7
|
+
return Type.Boolean({
|
|
8
|
+
title,
|
|
9
|
+
default: defaultValue,
|
|
10
|
+
"ui:styleId": "styles:fixedPositioned"
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
fixedPositioned
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-6WIMWLCJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/props/position.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport function fixedPositioned(defaultValue = false, title = \"Fixed position\") {\n return Type.Boolean({\n title,\n default: defaultValue,\n \"ui:styleId\": \"styles:fixedPositioned\",\n });\n}\n\nexport type FixedPositionedSettings = Static<ReturnType<typeof fixedPositioned>>;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/props/position.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport function fixedPositioned(defaultValue = false, title = \"Fixed position\") {\n return Type.Boolean({\n title,\n default: defaultValue,\n \"ui:styleId\": \"styles:fixedPositioned\",\n });\n}\n\nexport type FixedPositionedSettings = Static<ReturnType<typeof fixedPositioned>>;\n"],"mappings":";;;;AAAA,SAAS,YAAyB;AAE3B,SAAS,gBAAgB,eAAe,OAAO,QAAQ,kBAAkB;AAC9E,SAAO,KAAK,QAAQ;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,IACT,cAAc;AAAA,EAChB,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/datarecords/external/notion/types.ts
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
6
|
+
var notionOptions = Type.Object({
|
|
7
|
+
url: Type.Optional(Type.String()),
|
|
8
|
+
id: Type.String({
|
|
9
|
+
pattern: "^[A-Za-z0-9\\-]+$",
|
|
10
|
+
description: "Notion Database ID"
|
|
11
|
+
}),
|
|
12
|
+
name: Type.String({
|
|
13
|
+
description: "Notion Database Name"
|
|
14
|
+
}),
|
|
15
|
+
properties: Type.Any()
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
notionOptions
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-7LAWWRU7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/datarecords/external/notion/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const notionOptions = Type.Object({\n url: Type.Optional(Type.String()),\n id: Type.String({\n pattern: \"^[A-Za-z0-9\\\\-]+$\",\n description: \"Notion Database ID\",\n }),\n name: Type.String({\n description: \"Notion Database Name\",\n }),\n properties: Type.Any(),\n});\n\nexport type NotionOptions = Static<typeof notionOptions>;\n\nexport type NotionPage = {\n id: string;\n name: string;\n};\n\nexport type NotionPages = NotionPage[];\nexport type listPageStatus = \"success\" | \"error\" | \"max_call_reached\" | \"max_pages_reached\";\n\nexport type ListPagesResponse = {\n status: listPageStatus;\n pages: NotionPages;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/datarecords/external/notion/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const notionOptions = Type.Object({\n url: Type.Optional(Type.String()),\n id: Type.String({\n pattern: \"^[A-Za-z0-9\\\\-]+$\",\n description: \"Notion Database ID\",\n }),\n name: Type.String({\n description: \"Notion Database Name\",\n }),\n properties: Type.Any(),\n});\n\nexport type NotionOptions = Static<typeof notionOptions>;\n\nexport type NotionPage = {\n id: string;\n name: string;\n};\n\nexport type NotionPages = NotionPage[];\nexport type listPageStatus = \"success\" | \"error\" | \"max_call_reached\" | \"max_pages_reached\";\n\nexport type ListPagesResponse = {\n status: listPageStatus;\n pages: NotionPages;\n};\n"],"mappings":";;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,gBAAgB,KAAK,OAAO;AAAA,EACvC,KAAK,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,EAChC,IAAI,KAAK,OAAO;AAAA,IACd,SAAS;AAAA,IACT,aAAa;AAAA,EACf,CAAC;AAAA,EACD,MAAM,KAAK,OAAO;AAAA,IAChB,aAAa;AAAA,EACf,CAAC;AAAA,EACD,YAAY,KAAK,IAAI;AACvB,CAAC;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/utils/typed-ref.ts
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
6
|
+
function typedRef(id, options = {}) {
|
|
7
|
+
return Type.Ref(id, { ...options });
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
typedRef
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=chunk-A2QPY54H.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/utils/typed-ref.ts"],"sourcesContent":["import { type SchemaOptions, TSchema, Type, TypeRegistry } from \"@sinclair/typebox\";\nimport type { alignItems, alignSelf, justifyContent } from \"../bricks/props/align\";\nimport type { background, backgroundColor } from \"../bricks/props/background\";\nimport type { border, rounding } from \"../bricks/props/border\";\nimport type { borderColor, color } from \"../bricks/props/color\";\nimport type { hidden } from \"../bricks/props/common\";\nimport type { cssLength } from \"../bricks/props/css-length\";\nimport type { shadow, textShadow } from \"../bricks/props/effects\";\nimport type { fontSize, fontSizeXL, textContent } from \"../bricks/props/text\";\nimport type { icon, urlOrPageId } from \"../bricks/props/string\";\nimport type { colorPreset } from \"../bricks/props/color-preset\";\nimport type { image } from \"../bricks/props/image\";\nimport type { direction } from \"../bricks/props/direction\";\nimport type { loop, queryUse } from \"../bricks/props/dynamic\";\nimport type { tags } from \"../bricks/props/tags\";\n\nexport interface SchemaTypeMap {\n \"styles:background\": ReturnType<typeof background>;\n \"styles:backgroundColor\": ReturnType<typeof backgroundColor>;\n \"styles:justifyContent\": ReturnType<typeof justifyContent>;\n \"styles:alignItems\": ReturnType<typeof alignItems>;\n \"styles:alignSelf\": ReturnType<typeof alignSelf>;\n \"styles:fontSize\": ReturnType<typeof fontSize>;\n \"styles:fontSizeXL\": ReturnType<typeof fontSizeXL>;\n \"styles:hidden\": ReturnType<typeof hidden>;\n \"styles:border\": ReturnType<typeof border>;\n \"styles:color\": ReturnType<typeof color>;\n \"styles:borderColor\": ReturnType<typeof borderColor>;\n \"styles:direction\": ReturnType<typeof direction>;\n \"styles:shadow\": ReturnType<typeof shadow>;\n \"styles:textShadow\": ReturnType<typeof textShadow>;\n \"styles:cssLength\": ReturnType<typeof cssLength>;\n \"styles:rounding\": ReturnType<typeof rounding>;\n \"presets:color\": ReturnType<typeof colorPreset>;\n \"assets:image\": ReturnType<typeof image>;\n \"content:text\": ReturnType<typeof textContent>;\n \"content:urlOrPageId\": ReturnType<typeof urlOrPageId>;\n \"content:loop\": ReturnType<typeof loop>;\n \"content:queryUse\": ReturnType<typeof queryUse>;\n \"assets:icon\": ReturnType<typeof icon>;\n \"content:tags\": ReturnType<typeof tags>;\n\n // Add other schema mappings here\n}\n\n// Create a typed ref helper\nexport function typedRef<K extends keyof SchemaTypeMap>(\n id: K,\n options: SchemaOptions = {},\n): SchemaTypeMap[K] {\n // Force the type to be a TypeBox type\n return Type.Ref(id, { ...options }) as unknown as SchemaTypeMap[K];\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/utils/typed-ref.ts"],"sourcesContent":["import { type SchemaOptions, TSchema, Type, TypeRegistry } from \"@sinclair/typebox\";\nimport type { alignItems, alignSelf, justifyContent } from \"../bricks/props/align\";\nimport type { background, backgroundColor } from \"../bricks/props/background\";\nimport type { border, rounding } from \"../bricks/props/border\";\nimport type { borderColor, color } from \"../bricks/props/color\";\nimport type { hidden } from \"../bricks/props/common\";\nimport type { cssLength } from \"../bricks/props/css-length\";\nimport type { shadow, textShadow } from \"../bricks/props/effects\";\nimport type { fontSize, fontSizeXL, textContent } from \"../bricks/props/text\";\nimport type { icon, urlOrPageId } from \"../bricks/props/string\";\nimport type { colorPreset } from \"../bricks/props/color-preset\";\nimport type { image } from \"../bricks/props/image\";\nimport type { direction } from \"../bricks/props/direction\";\nimport type { loop, queryUse } from \"../bricks/props/dynamic\";\nimport type { tags } from \"../bricks/props/tags\";\n\nexport interface SchemaTypeMap {\n \"styles:background\": ReturnType<typeof background>;\n \"styles:backgroundColor\": ReturnType<typeof backgroundColor>;\n \"styles:justifyContent\": ReturnType<typeof justifyContent>;\n \"styles:alignItems\": ReturnType<typeof alignItems>;\n \"styles:alignSelf\": ReturnType<typeof alignSelf>;\n \"styles:fontSize\": ReturnType<typeof fontSize>;\n \"styles:fontSizeXL\": ReturnType<typeof fontSizeXL>;\n \"styles:hidden\": ReturnType<typeof hidden>;\n \"styles:border\": ReturnType<typeof border>;\n \"styles:color\": ReturnType<typeof color>;\n \"styles:borderColor\": ReturnType<typeof borderColor>;\n \"styles:direction\": ReturnType<typeof direction>;\n \"styles:shadow\": ReturnType<typeof shadow>;\n \"styles:textShadow\": ReturnType<typeof textShadow>;\n \"styles:cssLength\": ReturnType<typeof cssLength>;\n \"styles:rounding\": ReturnType<typeof rounding>;\n \"presets:color\": ReturnType<typeof colorPreset>;\n \"assets:image\": ReturnType<typeof image>;\n \"content:text\": ReturnType<typeof textContent>;\n \"content:urlOrPageId\": ReturnType<typeof urlOrPageId>;\n \"content:loop\": ReturnType<typeof loop>;\n \"content:queryUse\": ReturnType<typeof queryUse>;\n \"assets:icon\": ReturnType<typeof icon>;\n \"content:tags\": ReturnType<typeof tags>;\n\n // Add other schema mappings here\n}\n\n// Create a typed ref helper\nexport function typedRef<K extends keyof SchemaTypeMap>(\n id: K,\n options: SchemaOptions = {},\n): SchemaTypeMap[K] {\n // Force the type to be a TypeBox type\n return Type.Ref(id, { ...options }) as unknown as SchemaTypeMap[K];\n}\n"],"mappings":";;;;AAAA,SAAsC,YAA0B;AA8CzD,SAAS,SACd,IACA,UAAyB,CAAC,GACR;AAElB,SAAO,KAAK,IAAI,IAAI,EAAE,GAAG,QAAQ,CAAC;AACpC;","names":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
commonProps
|
|
5
|
+
} from "./chunk-2RK3CPYJ.js";
|
|
6
|
+
|
|
7
|
+
// src/shared/bricks/props/helpers.ts
|
|
8
|
+
import { Type } from "@sinclair/typebox";
|
|
9
|
+
function isTObject(schema) {
|
|
10
|
+
return schema.type === "object";
|
|
11
|
+
}
|
|
12
|
+
function group({
|
|
13
|
+
title,
|
|
14
|
+
children,
|
|
15
|
+
category = "settings",
|
|
16
|
+
metadata,
|
|
17
|
+
options
|
|
18
|
+
}) {
|
|
19
|
+
if (isTObject(children)) {
|
|
20
|
+
const generated = Type.Composite([Type.Object({}), children], {
|
|
21
|
+
title,
|
|
22
|
+
metadata: {
|
|
23
|
+
category,
|
|
24
|
+
group: true,
|
|
25
|
+
...metadata
|
|
26
|
+
},
|
|
27
|
+
...options
|
|
28
|
+
});
|
|
29
|
+
return generated;
|
|
30
|
+
}
|
|
31
|
+
return Type.Object(children, {
|
|
32
|
+
title,
|
|
33
|
+
...options,
|
|
34
|
+
metadata: {
|
|
35
|
+
category,
|
|
36
|
+
group: true,
|
|
37
|
+
...metadata
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function getGroupInfo(schema) {
|
|
42
|
+
const meta = schema.metadata;
|
|
43
|
+
return {
|
|
44
|
+
title: schema.title ?? schema.metadata?.title,
|
|
45
|
+
meta,
|
|
46
|
+
tab: meta.groupTab || "common"
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function defineProps(props, options) {
|
|
50
|
+
const allProps = { ...commonProps, ...props };
|
|
51
|
+
const { alignSelf, grow, ...rest } = allProps;
|
|
52
|
+
const finalProps = {
|
|
53
|
+
...rest,
|
|
54
|
+
...options?.noAlignSelf ? {} : { alignSelf },
|
|
55
|
+
...options?.noGrow ? {} : { grow }
|
|
56
|
+
};
|
|
57
|
+
return Type.Object(finalProps, { ...options, additionalProperties: false });
|
|
58
|
+
}
|
|
59
|
+
var array = Type.Array;
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
group,
|
|
63
|
+
getGroupInfo,
|
|
64
|
+
defineProps,
|
|
65
|
+
array
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=chunk-BHC2A43S.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/props/helpers.ts"],"sourcesContent":["/**\n * Helper functions for defining and working with props and groups of props\n */\nimport { type TProperties, Type, type TSchema, type TObject, type ObjectOptions } from \"@sinclair/typebox\";\nimport { commonProps } from \"./common\";\nimport type { PartialBy, PropGroup, GroupMetadata } from \"./types\";\n\nfunction isTObject(schema: TSchema | TProperties): schema is TObject {\n return schema.type === \"object\";\n}\n\nexport function group<T extends TProperties>({\n title,\n children,\n category = \"settings\",\n metadata,\n options,\n}: PartialBy<PropGroup<T>, \"category\">) {\n // check if children is already a TObject\n if (isTObject(children)) {\n const generated = Type.Composite([Type.Object({}), children], {\n title,\n metadata: {\n category,\n group: true,\n ...metadata,\n },\n ...options,\n });\n return generated;\n }\n\n // Create the TypeBox schema with title as a standard property and group-specific info in metadata\n return Type.Object(children, {\n title,\n ...options,\n metadata: {\n category,\n group: true,\n ...metadata,\n },\n });\n}\n\n// Functions to extract metadata from schemas\nexport function getGroupInfo(schema: TSchema) {\n const meta = schema.metadata as GroupMetadata;\n return {\n title: (schema.title ?? schema.metadata?.title) as string | undefined,\n meta,\n tab: meta.groupTab || \"common\",\n };\n}\n\nexport function defineProps<P extends TProperties>(\n props: P,\n options?: ObjectOptions & {\n noGrow?: boolean;\n noAlignSelf?: boolean;\n },\n) {\n const allProps = { ...commonProps, ...props };\n const { alignSelf, grow, ...rest } = allProps;\n const finalProps = {\n ...rest,\n ...(options?.noAlignSelf ? {} : { alignSelf }),\n ...(options?.noGrow ? {} : { grow }),\n } as typeof allProps;\n return Type.Object(finalProps, { ...options, additionalProperties: false });\n}\n\n// export const optional = Type.Optional;\nexport const array = Type.Array;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/props/helpers.ts"],"sourcesContent":["/**\n * Helper functions for defining and working with props and groups of props\n */\nimport { type TProperties, Type, type TSchema, type TObject, type ObjectOptions } from \"@sinclair/typebox\";\nimport { commonProps } from \"./common\";\nimport type { PartialBy, PropGroup, GroupMetadata } from \"./types\";\n\nfunction isTObject(schema: TSchema | TProperties): schema is TObject {\n return schema.type === \"object\";\n}\n\nexport function group<T extends TProperties>({\n title,\n children,\n category = \"settings\",\n metadata,\n options,\n}: PartialBy<PropGroup<T>, \"category\">) {\n // check if children is already a TObject\n if (isTObject(children)) {\n const generated = Type.Composite([Type.Object({}), children], {\n title,\n metadata: {\n category,\n group: true,\n ...metadata,\n },\n ...options,\n });\n return generated;\n }\n\n // Create the TypeBox schema with title as a standard property and group-specific info in metadata\n return Type.Object(children, {\n title,\n ...options,\n metadata: {\n category,\n group: true,\n ...metadata,\n },\n });\n}\n\n// Functions to extract metadata from schemas\nexport function getGroupInfo(schema: TSchema) {\n const meta = schema.metadata as GroupMetadata;\n return {\n title: (schema.title ?? schema.metadata?.title) as string | undefined,\n meta,\n tab: meta.groupTab || \"common\",\n };\n}\n\nexport function defineProps<P extends TProperties>(\n props: P,\n options?: ObjectOptions & {\n noGrow?: boolean;\n noAlignSelf?: boolean;\n },\n) {\n const allProps = { ...commonProps, ...props };\n const { alignSelf, grow, ...rest } = allProps;\n const finalProps = {\n ...rest,\n ...(options?.noAlignSelf ? {} : { alignSelf }),\n ...(options?.noGrow ? {} : { grow }),\n } as typeof allProps;\n return Type.Object(finalProps, { ...options, additionalProperties: false });\n}\n\n// export const optional = Type.Optional;\nexport const array = Type.Array;\n"],"mappings":";;;;;;;AAGA,SAA2B,YAA4D;AAIvF,SAAS,UAAU,QAAkD;AACnE,SAAO,OAAO,SAAS;AACzB;AAEO,SAAS,MAA6B;AAAA,EAC3C;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AACF,GAAwC;AAEtC,MAAI,UAAU,QAAQ,GAAG;AACvB,UAAM,YAAY,KAAK,UAAU,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,QAAQ,GAAG;AAAA,MAC5D;AAAA,MACA,UAAU;AAAA,QACR;AAAA,QACA,OAAO;AAAA,QACP,GAAG;AAAA,MACL;AAAA,MACA,GAAG;AAAA,IACL,CAAC;AACD,WAAO;AAAA,EACT;AAGA,SAAO,KAAK,OAAO,UAAU;AAAA,IAC3B;AAAA,IACA,GAAG;AAAA,IACH,UAAU;AAAA,MACR;AAAA,MACA,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,EACF,CAAC;AACH;AAGO,SAAS,aAAa,QAAiB;AAC5C,QAAM,OAAO,OAAO;AACpB,SAAO;AAAA,IACL,OAAQ,OAAO,SAAS,OAAO,UAAU;AAAA,IACzC;AAAA,IACA,KAAK,KAAK,YAAY;AAAA,EACxB;AACF;AAEO,SAAS,YACd,OACA,SAIA;AACA,QAAM,WAAW,EAAE,GAAG,aAAa,GAAG,MAAM;AAC5C,QAAM,EAAE,WAAW,MAAM,GAAG,KAAK,IAAI;AACrC,QAAM,aAAa;AAAA,IACjB,GAAG;AAAA,IACH,GAAI,SAAS,cAAc,CAAC,IAAI,EAAE,UAAU;AAAA,IAC5C,GAAI,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK;AAAA,EACpC;AACA,SAAO,KAAK,OAAO,YAAY,EAAE,GAAG,SAAS,sBAAsB,MAAM,CAAC;AAC5E;AAGO,IAAM,QAAQ,KAAK;","names":[]}
|