@upstart.gg/sdk 0.0.134 → 0.0.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/shared/ai/schemas.d.ts +11 -3
- package/dist/shared/ai/schemas.d.ts.map +1 -1
- package/dist/shared/ai/schemas.js +63 -1
- package/dist/shared/ai/schemas.js.map +1 -1
- package/dist/shared/ai/types.d.ts +138 -64
- 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 +99 -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/_types.d.ts +9 -0
- package/dist/shared/bricks/manifests/_types.d.ts.map +1 -0
- package/dist/shared/bricks/{props/enum.js → manifests/_types.js} +1 -2
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/accordion.manifest.js +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 +4 -8
- package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/box.manifest.js +28 -1
- package/dist/shared/bricks/manifests/button.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/button.manifest.js +28 -1
- package/dist/shared/bricks/manifests/card.manifest.d.ts +10 -9
- package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/card.manifest.js +28 -1
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.js +28 -1
- package/dist/shared/bricks/manifests/footer.manifest.d.ts +6 -10
- 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 +5 -9
- package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/form.manifest.js +29 -1
- package/dist/shared/bricks/manifests/hero.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.js +28 -1
- package/dist/shared/bricks/manifests/html.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/html.manifest.js +28 -1
- package/dist/shared/bricks/manifests/icon.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.js +28 -1
- package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
- package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/image.manifest.js +28 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +28 -1
- package/dist/shared/bricks/manifests/map.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/map.manifest.js +31 -1
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts +6 -10
- 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 +4 -8
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.js +29 -1
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.js +28 -1
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.js +28 -1
- package/dist/shared/bricks/manifests/table.manifest.d.ts +87 -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/table.manifest.js.map +1 -0
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts +86 -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 +4 -8
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.js +28 -1
- package/dist/shared/bricks/manifests/text.manifest.d.ts +4 -8
- package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/text.manifest.js +28 -1
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts +97 -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 +4 -8
- package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
- 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 +59 -45
- package/dist/shared/bricks.d.ts.map +1 -1
- package/dist/shared/bricks.js +81 -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-2IHKVMKW.js +105 -0
- package/dist/shared/chunk-2IHKVMKW.js.map +1 -0
- 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-2VDR4ZYY.js +230 -0
- package/dist/shared/chunk-2VDR4ZYY.js.map +1 -0
- package/dist/shared/chunk-36PLZKMW.js +538 -0
- package/dist/shared/chunk-36PLZKMW.js.map +1 -0
- 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-42OUNI7C.js +366 -0
- package/dist/shared/chunk-42OUNI7C.js.map +1 -0
- package/dist/shared/chunk-4MNWMEMM.js +422 -0
- package/dist/shared/chunk-4MNWMEMM.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-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-BPBKHEQ5.js +39 -0
- package/dist/shared/{chunk-OHNYCXPX.js.map → chunk-BPBKHEQ5.js.map} +1 -1
- package/dist/shared/chunk-CRS7QCPZ.js +308 -0
- package/dist/shared/chunk-CRS7QCPZ.js.map +1 -0
- 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-DFAFDBYZ.js +462 -0
- package/dist/shared/chunk-DFAFDBYZ.js.map +1 -0
- package/dist/shared/chunk-DV3G7X34.js +244 -0
- package/dist/shared/chunk-DV3G7X34.js.map +1 -0
- package/dist/shared/chunk-EVLRH6VG.js +56 -0
- package/dist/shared/{chunk-RJYZ5FAR.js.map → chunk-EVLRH6VG.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-F247VKAE.js +131 -0
- package/dist/shared/chunk-F247VKAE.js.map +1 -0
- package/dist/shared/chunk-FOGAVJC2.js +59 -0
- package/dist/shared/chunk-FOGAVJC2.js.map +1 -0
- package/dist/shared/chunk-FQDR2BBZ.js +30 -0
- package/dist/shared/chunk-FQDR2BBZ.js.map +1 -0
- package/dist/shared/chunk-GFAQWQER.js +618 -0
- package/dist/shared/chunk-GFAQWQER.js.map +1 -0
- package/dist/shared/chunk-GIGFNQBO.js +129 -0
- package/dist/shared/chunk-GIGFNQBO.js.map +1 -0
- package/dist/shared/chunk-GQTZPN5D.js +519 -0
- package/dist/shared/chunk-GQTZPN5D.js.map +1 -0
- package/dist/shared/chunk-H5JM2M2T.js +515 -0
- package/dist/shared/chunk-H5JM2M2T.js.map +1 -0
- 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-HTUSL2U7.js +260 -0
- package/dist/shared/chunk-HTUSL2U7.js.map +1 -0
- package/dist/shared/chunk-IQIISR22.js +794 -0
- package/dist/shared/chunk-IQIISR22.js.map +1 -0
- 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-KEM5N6GJ.js +505 -0
- package/dist/shared/chunk-KEM5N6GJ.js.map +1 -0
- package/dist/shared/chunk-KIDICX3Y.js +278 -0
- package/dist/shared/chunk-KIDICX3Y.js.map +1 -0
- package/dist/shared/chunk-KILJYJFE.js +354 -0
- package/dist/shared/chunk-KILJYJFE.js.map +1 -0
- 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-L6C7HUSA.js +850 -0
- package/dist/shared/chunk-L6C7HUSA.js.map +1 -0
- package/dist/shared/chunk-LCJ2VFPM.js +837 -0
- package/dist/shared/chunk-LCJ2VFPM.js.map +1 -0
- package/dist/shared/chunk-LLNPH3XR.js +148 -0
- package/dist/shared/chunk-LLNPH3XR.js.map +1 -0
- package/dist/shared/chunk-LTIJI7Y3.js +368 -0
- package/dist/shared/chunk-LTIJI7Y3.js.map +1 -0
- package/dist/shared/chunk-MFNHFN2B.js +103 -0
- package/dist/shared/{chunk-ZA3GAB4H.js.map → chunk-MFNHFN2B.js.map} +1 -1
- package/dist/shared/chunk-N3BEBLWF.js +213 -0
- package/dist/shared/chunk-N3BEBLWF.js.map +1 -0
- package/dist/shared/chunk-N3ZTQD5I.js +70 -0
- package/dist/shared/chunk-N3ZTQD5I.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-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-Q4NPPLEU.js +34 -0
- package/dist/shared/{chunk-QWGUMKZC.js.map → chunk-Q4NPPLEU.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-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-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-TNTFKLCR.js +1225 -0
- package/dist/shared/chunk-TNTFKLCR.js.map +1 -0
- package/dist/shared/chunk-U5ZECCJM.js +464 -0
- package/dist/shared/chunk-U5ZECCJM.js.map +1 -0
- package/dist/shared/chunk-UXTASZ23.js +419 -0
- package/dist/shared/chunk-UXTASZ23.js.map +1 -0
- 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-WKN566LN.js +29 -0
- package/dist/shared/{chunk-Q4H4QEMB.js.map → chunk-WKN566LN.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-YWOTQWIQ.js +572 -0
- package/dist/shared/chunk-YWOTQWIQ.js.map +1 -0
- 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/chunk-ZR6R6Z6O.js +496 -0
- package/dist/shared/chunk-ZR6R6Z6O.js.map +1 -0
- package/dist/shared/chunk-ZRRAK5NS.js +432 -0
- package/dist/shared/chunk-ZRRAK5NS.js.map +1 -0
- package/dist/shared/context.d.ts +1 -0
- package/dist/shared/context.d.ts.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 +6 -59
- package/dist/shared/datarecords/types.d.ts.map +1 -1
- package/dist/shared/datarecords/types.js +14 -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.d.ts +1 -1
- package/dist/shared/datasources.d.ts.map +1 -1
- package/dist/shared/datasources.js +49 -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/site.d.ts +34 -31
- 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 +13 -12
- 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.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 +9 -10
- package/src/shared/ai/schemas.ts +44 -12
- package/src/shared/ai/types.ts +135 -59
- package/src/shared/attributes.ts +37 -27
- package/src/shared/bricks/manifests/_types.ts +9 -0
- package/src/shared/bricks/manifests/accordion.manifest.ts +128 -161
- package/src/shared/bricks/manifests/all-manifests.ts +16 -0
- package/src/shared/bricks/manifests/box.manifest.ts +195 -129
- package/src/shared/bricks/manifests/button.manifest.ts +158 -71
- package/src/shared/bricks/manifests/card.manifest.ts +200 -28
- package/src/shared/bricks/manifests/carousel.manifest.ts +154 -22
- package/src/shared/bricks/manifests/footer.manifest.ts +38 -32
- package/src/shared/bricks/manifests/form.manifest.ts +122 -7
- package/src/shared/bricks/manifests/hero.manifest.ts +103 -18
- package/src/shared/bricks/manifests/html.manifest.ts +2 -5
- package/src/shared/bricks/manifests/icon.manifest.ts +216 -36
- package/src/shared/bricks/manifests/image.manifest.ts +103 -2
- package/src/shared/bricks/manifests/images-gallery.manifest.ts +2 -5
- package/src/shared/bricks/manifests/map.manifest.ts +2 -5
- package/src/shared/bricks/manifests/navbar.manifest.ts +3 -8
- package/src/shared/bricks/manifests/sidebar.manifest.ts +2 -5
- package/src/shared/bricks/manifests/social-links.manifest.ts +2 -5
- package/src/shared/bricks/manifests/spacer.manifest.ts +2 -5
- package/src/shared/bricks/manifests/table.manifest.ts +440 -0
- package/src/shared/bricks/manifests/tabs.manifest.ts +573 -0
- package/src/shared/bricks/manifests/testimonials.manifest.ts +2 -5
- package/src/shared/bricks/manifests/text.manifest.ts +31 -10
- package/src/shared/bricks/manifests/timeline.manifest.ts +438 -0
- package/src/shared/bricks/manifests/video.manifest.ts +2 -5
- package/src/shared/bricks/props/color-preset.ts +3 -1
- package/src/shared/bricks/props/dynamic.ts +0 -1
- package/src/shared/bricks/props/string.ts +1 -1
- package/src/shared/bricks.ts +61 -49
- package/src/shared/context.ts +1 -0
- package/src/shared/datarecords/types.ts +47 -37
- package/src/shared/datasources/types.ts +1 -5
- package/src/shared/datasources.ts +2 -4
- package/src/shared/images.ts +10 -8
- package/src/shared/page.ts +0 -5
- package/src/shared/site.ts +3 -3
- package/src/shared/sitemap.ts +14 -16
- package/src/shared/tests/schema-registry.test.ts +12 -0
- package/src/shared/theme.ts +1 -4
- 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 +124 -56
- package/dist/shared/bricks/props/enum.d.ts +0 -13
- package/dist/shared/bricks/props/enum.d.ts.map +0 -1
- 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-A3GF4PYW.js.map +0 -1
- 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-B3EATRFX.js.map +0 -1
- package/dist/shared/chunk-CCI4C3TM.js +0 -4
- package/dist/shared/chunk-CFF6Q7O7.js +0 -7
- package/dist/shared/chunk-CFF6Q7O7.js.map +0 -1
- 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-E6XEI7IK.js.map +0 -1
- package/dist/shared/chunk-FLOMNC6J.js +0 -4
- package/dist/shared/chunk-FLOMNC6J.js.map +0 -1
- package/dist/shared/chunk-G5CJU6RD.js +0 -7
- package/dist/shared/chunk-G5CJU6RD.js.map +0 -1
- 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-I3VL6SRH.js.map +0 -1
- package/dist/shared/chunk-IKC3FK7L.js +0 -4
- package/dist/shared/chunk-IKC3FK7L.js.map +0 -1
- package/dist/shared/chunk-IKHZD2JH.js +0 -4
- package/dist/shared/chunk-IKHZD2JH.js.map +0 -1
- 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-NJGXC7D6.js.map +0 -1
- 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-PLSV746R.js.map +0 -1
- 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-PSTFJ5IJ.js.map +0 -1
- package/dist/shared/chunk-PXI7AHWS.js +0 -4
- package/dist/shared/chunk-PXI7AHWS.js.map +0 -1
- 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-QX6OGRRT.js.map +0 -1
- package/dist/shared/chunk-R6ATC4TC.js +0 -4
- package/dist/shared/chunk-R6ATC4TC.js.map +0 -1
- 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-SQ5T4AT5.js.map +0 -1
- package/dist/shared/chunk-SWLUQVK7.js +0 -4
- package/dist/shared/chunk-SXHDQ64Z.js +0 -5
- package/dist/shared/chunk-SXHDQ64Z.js.map +0 -1
- 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-WBZW5LVH.js.map +0 -1
- package/dist/shared/chunk-WHTPGWUV.js +0 -4
- package/dist/shared/chunk-WYVJE6J5.js +0 -4
- package/dist/shared/chunk-WYVJE6J5.js.map +0 -1
- 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-ZQPXQCY2.js.map +0 -1
- 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/_types.js.map} +0 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
toLLMSchema
|
|
5
|
+
} from "./chunk-IQIISR22.js";
|
|
6
|
+
import {
|
|
7
|
+
StringEnum
|
|
8
|
+
} from "./chunk-JK2FWFJU.js";
|
|
9
|
+
|
|
10
|
+
// src/shared/theme.ts
|
|
11
|
+
import { Type } from "@sinclair/typebox";
|
|
12
|
+
import chroma from "chroma-js";
|
|
13
|
+
import { colorPalette } from "@upstart.gg/style-system/colors";
|
|
14
|
+
var fontStacks = [
|
|
15
|
+
{ value: "system-ui", label: "System UI" },
|
|
16
|
+
{ value: "transitional", label: "Transitional" },
|
|
17
|
+
{ value: "old-style", label: "Old style" },
|
|
18
|
+
{ value: "humanist", label: "Humanist" },
|
|
19
|
+
{ value: "geometric-humanist", label: "Geometric humanist" },
|
|
20
|
+
{ value: "classical-humanist", label: "Classical humanist" },
|
|
21
|
+
{ value: "neo-grotesque", label: "Neo-grotesque" },
|
|
22
|
+
{ value: "monospace-slab-serif", label: "Monospace slab serif" },
|
|
23
|
+
{ value: "monospace-code", label: "Monospace code" },
|
|
24
|
+
{ value: "industrial", label: "Industrial" },
|
|
25
|
+
{ value: "rounded-sans", label: "Rounded sans" },
|
|
26
|
+
{ value: "slab-serif", label: "Slab serif" },
|
|
27
|
+
{ value: "antique", label: "Antique" },
|
|
28
|
+
{ value: "didone", label: "Didone" },
|
|
29
|
+
{ value: "handwritten", label: "Handwritten" }
|
|
30
|
+
];
|
|
31
|
+
var headingFont = Type.Object(
|
|
32
|
+
{
|
|
33
|
+
type: StringEnum(["stack", "theme", "google"], {
|
|
34
|
+
title: "Type of font",
|
|
35
|
+
description: "The type of font. Can be a font stack, a theme font or a Google font"
|
|
36
|
+
}),
|
|
37
|
+
family: Type.String({
|
|
38
|
+
title: "Family",
|
|
39
|
+
description: "The font family (eg. the name of the font)"
|
|
40
|
+
})
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
title: "Headings font",
|
|
44
|
+
description: "Used for titles and headings",
|
|
45
|
+
additionalProperties: false
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
var bodyFont = Type.Object(
|
|
49
|
+
{
|
|
50
|
+
type: StringEnum(["stack", "theme", "google"], {
|
|
51
|
+
title: "Type of font",
|
|
52
|
+
description: "The type of font. Can be a font stack, a theme font or a Google font"
|
|
53
|
+
}),
|
|
54
|
+
family: Type.String({
|
|
55
|
+
title: "Family",
|
|
56
|
+
description: "The font family (eg. the name of the font)"
|
|
57
|
+
})
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
title: "Body font",
|
|
61
|
+
description: "Used for paragraphs and body text",
|
|
62
|
+
additionalProperties: false
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
var themeSchema = Type.Object(
|
|
66
|
+
{
|
|
67
|
+
id: Type.String({ title: "ID", description: "The unique identifier of the theme" }),
|
|
68
|
+
name: Type.String({ title: "Name", description: "The name of the theme" }),
|
|
69
|
+
description: Type.String({ title: "Description", description: "The description of the theme" }),
|
|
70
|
+
tags: Type.Array(Type.String({ title: "Tag" }), { title: "Tags", description: "The tags of the theme" }),
|
|
71
|
+
browserColorScheme: StringEnum(["light", "dark"], {
|
|
72
|
+
title: "Browser scheme",
|
|
73
|
+
description: "Color of browser-provided UI. Either 'light' or 'dark'"
|
|
74
|
+
}),
|
|
75
|
+
// Define the theme colors
|
|
76
|
+
colors: Type.Object(
|
|
77
|
+
{
|
|
78
|
+
primary: Type.String({
|
|
79
|
+
title: "Primary",
|
|
80
|
+
description: "The brand's primary color.",
|
|
81
|
+
"ai:instructions": "Use oklch() css notation.",
|
|
82
|
+
examples: ["oklch(0.62 0.241 354.308)"]
|
|
83
|
+
}),
|
|
84
|
+
secondary: Type.String({
|
|
85
|
+
title: "Secondary",
|
|
86
|
+
description: "The brand's second most used color",
|
|
87
|
+
"ai:instructions": "Use oklch() css notation.",
|
|
88
|
+
examples: ["oklch(0.65 0.22 185)"]
|
|
89
|
+
}),
|
|
90
|
+
accent: Type.String({
|
|
91
|
+
title: "Accent",
|
|
92
|
+
description: "The brand's least used color",
|
|
93
|
+
"ai:instructions": "Use oklch() css notation.",
|
|
94
|
+
examples: ["oklch(0.82 0.18 85)"]
|
|
95
|
+
}),
|
|
96
|
+
neutral: Type.String({
|
|
97
|
+
title: "Neutral",
|
|
98
|
+
description: "The base neutral color",
|
|
99
|
+
"ai:instructions": "Use oklch() css notation.",
|
|
100
|
+
examples: ["oklch(0.38 0.08 280)"]
|
|
101
|
+
}),
|
|
102
|
+
base100: Type.String({
|
|
103
|
+
title: "Base",
|
|
104
|
+
description: "Base surface color of page, used for blank backgrounds. Should be white or near-white for light color-schemes, and black or near-black for dark color-schemes.",
|
|
105
|
+
"ai:instructions": "Use oklab() css notation.",
|
|
106
|
+
examples: ["oklch(0.99 0.008 92)"]
|
|
107
|
+
}),
|
|
108
|
+
base200: Type.String({
|
|
109
|
+
title: "Base 2",
|
|
110
|
+
description: "Should be darker than base 100 but still light for light color-schemes, and lighter but still dark for dark color-schemes.",
|
|
111
|
+
"ai:instructions": "Use oklab() css notation.",
|
|
112
|
+
examples: ["oklch(0.97 0.01 85)"]
|
|
113
|
+
}),
|
|
114
|
+
base300: Type.String({
|
|
115
|
+
title: "Base 3",
|
|
116
|
+
description: "3rd base color, should be darker than base 200 for light color-schemes, and lighter than base 200 for dark color-schemes.",
|
|
117
|
+
"ai:instructions": "Use oklab() css notation.",
|
|
118
|
+
examples: ["oklch(0.95 0.02 80)"]
|
|
119
|
+
})
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
title: "Theme base colors",
|
|
123
|
+
description: "The base colors of the theme. Each theme must declare all these colors",
|
|
124
|
+
additionalProperties: false
|
|
125
|
+
}
|
|
126
|
+
),
|
|
127
|
+
// Define the theme typography
|
|
128
|
+
typography: Type.Object(
|
|
129
|
+
{
|
|
130
|
+
base: Type.Number({
|
|
131
|
+
title: "Base font size",
|
|
132
|
+
description: "The base font size in pixels. It is safe to keep it as is.",
|
|
133
|
+
"ai:instructions": "A safe value is 16."
|
|
134
|
+
}),
|
|
135
|
+
heading: headingFont,
|
|
136
|
+
body: bodyFont,
|
|
137
|
+
alternatives: Type.Array(
|
|
138
|
+
Type.Object(
|
|
139
|
+
{
|
|
140
|
+
body: bodyFont,
|
|
141
|
+
heading: headingFont
|
|
142
|
+
},
|
|
143
|
+
{ additionalProperties: false }
|
|
144
|
+
),
|
|
145
|
+
{
|
|
146
|
+
title: "Alternative fonts",
|
|
147
|
+
description: "Alternative fonts that can be suggested to the user. Takes the same shape"
|
|
148
|
+
}
|
|
149
|
+
)
|
|
150
|
+
},
|
|
151
|
+
{ additionalProperties: false }
|
|
152
|
+
)
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
additionalProperties: false
|
|
156
|
+
}
|
|
157
|
+
);
|
|
158
|
+
var themesArray = Type.Array(themeSchema);
|
|
159
|
+
var themesArrayLLM = toLLMSchema(themesArray);
|
|
160
|
+
var defaultTheme = {
|
|
161
|
+
id: "_default_",
|
|
162
|
+
name: "default",
|
|
163
|
+
description: "Default Upstart theme",
|
|
164
|
+
tags: ["gradient", "vibrant", "modern", "creative", "dynamic", "artistic", "bold"],
|
|
165
|
+
browserColorScheme: "light",
|
|
166
|
+
colors: {
|
|
167
|
+
base100: "#FFF",
|
|
168
|
+
// Warm white background
|
|
169
|
+
base200: "#F5F0E1",
|
|
170
|
+
// Soft cream in hex
|
|
171
|
+
base300: "#F0E3D2",
|
|
172
|
+
// Light warm gray in hex
|
|
173
|
+
primary: "#FF6F20",
|
|
174
|
+
// A vibrant orange in hex
|
|
175
|
+
secondary: "#00BFFF",
|
|
176
|
+
// A bright cyan in hex
|
|
177
|
+
accent: "#A4D65E",
|
|
178
|
+
// A lively lime green in hex
|
|
179
|
+
neutral: "#B0B0B0"
|
|
180
|
+
// A balanced gray in hex
|
|
181
|
+
},
|
|
182
|
+
typography: {
|
|
183
|
+
base: 16,
|
|
184
|
+
heading: { type: "stack", family: "system-ui" },
|
|
185
|
+
body: { type: "stack", family: "system-ui" },
|
|
186
|
+
alternatives: []
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
function isDefaultTheme(theme) {
|
|
190
|
+
return theme.id === defaultTheme.id;
|
|
191
|
+
}
|
|
192
|
+
function processTheme(theme) {
|
|
193
|
+
return {
|
|
194
|
+
...theme,
|
|
195
|
+
typography: {
|
|
196
|
+
...theme.typography,
|
|
197
|
+
base: 16
|
|
198
|
+
// override any base size
|
|
199
|
+
},
|
|
200
|
+
colors: Object.entries(theme.colors).reduce(
|
|
201
|
+
(acc, [key, value]) => {
|
|
202
|
+
const fixedColor = fixOklchColor(value);
|
|
203
|
+
return {
|
|
204
|
+
// biome-ignore lint/performance/noAccumulatingSpread: <explanation>
|
|
205
|
+
...acc,
|
|
206
|
+
[key]: fixedColor
|
|
207
|
+
};
|
|
208
|
+
},
|
|
209
|
+
{}
|
|
210
|
+
)
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
function fixOklchColor(color) {
|
|
214
|
+
const valid = chroma.valid(color);
|
|
215
|
+
if (valid) {
|
|
216
|
+
return color;
|
|
217
|
+
}
|
|
218
|
+
const oklchRegex = /ok(lch|lab)\(([^)]+)\)/;
|
|
219
|
+
if (oklchRegex.test(color)) {
|
|
220
|
+
const withoutComma = color.replace(/,/g, " ");
|
|
221
|
+
if (chroma.valid(withoutComma)) {
|
|
222
|
+
return withoutComma;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (/^([a-z]+)-([0-9]+)$/.test(color)) {
|
|
226
|
+
const [name, shade] = color.split("-");
|
|
227
|
+
const twColor = colorPalette[name]?.[shade];
|
|
228
|
+
if (twColor) {
|
|
229
|
+
return twColor;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
return color;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export {
|
|
236
|
+
fontStacks,
|
|
237
|
+
themeSchema,
|
|
238
|
+
themesArray,
|
|
239
|
+
themesArrayLLM,
|
|
240
|
+
defaultTheme,
|
|
241
|
+
isDefaultTheme,
|
|
242
|
+
processTheme
|
|
243
|
+
};
|
|
244
|
+
//# sourceMappingURL=chunk-DV3G7X34.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/theme.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport chroma from \"chroma-js\";\nimport { colorPalette } from \"@upstart.gg/style-system/colors\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { toLLMSchema } from \"./utils/llm\";\n\nexport const fontStacks = [\n { value: \"system-ui\", label: \"System UI\" },\n { value: \"transitional\", label: \"Transitional\" },\n { value: \"old-style\", label: \"Old style\" },\n { value: \"humanist\", label: \"Humanist\" },\n { value: \"geometric-humanist\", label: \"Geometric humanist\" },\n { value: \"classical-humanist\", label: \"Classical humanist\" },\n { value: \"neo-grotesque\", label: \"Neo-grotesque\" },\n { value: \"monospace-slab-serif\", label: \"Monospace slab serif\" },\n { value: \"monospace-code\", label: \"Monospace code\" },\n { value: \"industrial\", label: \"Industrial\" },\n { value: \"rounded-sans\", label: \"Rounded sans\" },\n { value: \"slab-serif\", label: \"Slab serif\" },\n { value: \"antique\", label: \"Antique\" },\n { value: \"didone\", label: \"Didone\" },\n { value: \"handwritten\", label: \"Handwritten\" },\n];\n\nconst headingFont = Type.Object(\n {\n type: StringEnum([\"stack\", \"theme\", \"google\"], {\n title: \"Type of font\",\n description: \"The type of font. Can be a font stack, a theme font or a Google font\",\n }),\n family: Type.String({\n title: \"Family\",\n description: \"The font family (eg. the name of the font)\",\n }),\n },\n {\n title: \"Headings font\",\n description: \"Used for titles and headings\",\n additionalProperties: false,\n },\n);\n\nconst bodyFont = Type.Object(\n {\n type: StringEnum([\"stack\", \"theme\", \"google\"], {\n title: \"Type of font\",\n description: \"The type of font. Can be a font stack, a theme font or a Google font\",\n }),\n family: Type.String({\n title: \"Family\",\n description: \"The font family (eg. the name of the font)\",\n }),\n },\n {\n title: \"Body font\",\n description: \"Used for paragraphs and body text\",\n additionalProperties: false,\n },\n);\n\nexport const themeSchema = Type.Object(\n {\n id: Type.String({ title: \"ID\", description: \"The unique identifier of the theme\" }),\n name: Type.String({ title: \"Name\", description: \"The name of the theme\" }),\n description: Type.String({ title: \"Description\", description: \"The description of the theme\" }),\n tags: Type.Array(Type.String({ title: \"Tag\" }), { title: \"Tags\", description: \"The tags of the theme\" }),\n browserColorScheme: StringEnum([\"light\", \"dark\"], {\n title: \"Browser scheme\",\n description: \"Color of browser-provided UI. Either 'light' or 'dark'\",\n }),\n // Define the theme colors\n colors: Type.Object(\n {\n primary: Type.String({\n title: \"Primary\",\n description: \"The brand's primary color.\",\n \"ai:instructions\": \"Use oklch() css notation.\",\n examples: [\"oklch(0.62 0.241 354.308)\"],\n }),\n secondary: Type.String({\n title: \"Secondary\",\n description: \"The brand's second most used color\",\n \"ai:instructions\": \"Use oklch() css notation.\",\n examples: [\"oklch(0.65 0.22 185)\"],\n }),\n accent: Type.String({\n title: \"Accent\",\n description: \"The brand's least used color\",\n \"ai:instructions\": \"Use oklch() css notation.\",\n examples: [\"oklch(0.82 0.18 85)\"],\n }),\n neutral: Type.String({\n title: \"Neutral\",\n description: \"The base neutral color\",\n \"ai:instructions\": \"Use oklch() css notation.\",\n examples: [\"oklch(0.38 0.08 280)\"],\n }),\n base100: Type.String({\n title: \"Base\",\n description:\n \"Base surface color of page, used for blank backgrounds. Should be white or near-white for light color-schemes, and black or near-black for dark color-schemes.\",\n \"ai:instructions\": \"Use oklab() css notation.\",\n examples: [\"oklch(0.99 0.008 92)\"],\n }),\n base200: Type.String({\n title: \"Base 2\",\n description:\n \"Should be darker than base 100 but still light for light color-schemes, and lighter but still dark for dark color-schemes.\",\n \"ai:instructions\": \"Use oklab() css notation.\",\n examples: [\"oklch(0.97 0.01 85)\"],\n }),\n base300: Type.String({\n title: \"Base 3\",\n description:\n \"3rd base color, should be darker than base 200 for light color-schemes, and lighter than base 200 for dark color-schemes.\",\n \"ai:instructions\": \"Use oklab() css notation.\",\n examples: [\"oklch(0.95 0.02 80)\"],\n }),\n },\n {\n title: \"Theme base colors\",\n description: \"The base colors of the theme. Each theme must declare all these colors\",\n additionalProperties: false,\n },\n ),\n\n // Define the theme typography\n typography: Type.Object(\n {\n base: Type.Number({\n title: \"Base font size\",\n description: \"The base font size in pixels. It is safe to keep it as is.\",\n \"ai:instructions\": \"A safe value is 16.\",\n }),\n heading: headingFont,\n body: bodyFont,\n alternatives: Type.Array(\n Type.Object(\n {\n body: bodyFont,\n heading: headingFont,\n },\n { additionalProperties: false },\n ),\n {\n title: \"Alternative fonts\",\n description: \"Alternative fonts that can be suggested to the user. Takes the same shape\",\n },\n ),\n },\n { additionalProperties: false },\n ),\n },\n {\n additionalProperties: false,\n },\n);\n\nexport type Theme = Static<typeof themeSchema>;\nexport const themesArray = Type.Array(themeSchema);\nexport const themesArrayLLM = toLLMSchema(themesArray);\n\nexport type ThemesArray = Static<typeof themesArray>;\nexport type FontType = Theme[\"typography\"][\"body\"];\n\nexport const defaultTheme: Theme = {\n id: \"_default_\",\n name: \"default\",\n description: \"Default Upstart theme\",\n tags: [\"gradient\", \"vibrant\", \"modern\", \"creative\", \"dynamic\", \"artistic\", \"bold\"],\n browserColorScheme: \"light\",\n colors: {\n base100: \"#FFF\", // Warm white background\n base200: \"#F5F0E1\", // Soft cream in hex\n base300: \"#F0E3D2\", // Light warm gray in hex\n primary: \"#FF6F20\", // A vibrant orange in hex\n secondary: \"#00BFFF\", // A bright cyan in hex\n accent: \"#A4D65E\", // A lively lime green in hex\n neutral: \"#B0B0B0\", // A balanced gray in hex\n },\n typography: {\n base: 16,\n heading: { type: \"stack\", family: \"system-ui\" },\n body: { type: \"stack\", family: \"system-ui\" },\n alternatives: [],\n },\n};\n\nexport function isDefaultTheme(theme: Theme): boolean {\n return theme.id === defaultTheme.id;\n}\n\n/**\n * Process a theme, eventually fixing colors and translating them to oklch notations\n * @param theme\n */\nexport function processTheme(theme: Theme): Theme {\n return {\n ...theme,\n typography: {\n ...theme.typography,\n base: 16, // override any base size\n },\n colors: Object.entries(theme.colors).reduce(\n (acc, [key, value]) => {\n const fixedColor = fixOklchColor(value);\n return {\n // biome-ignore lint/performance/noAccumulatingSpread: <explanation>\n ...acc,\n [key]: fixedColor,\n };\n },\n {} as typeof theme.colors,\n ),\n };\n}\n\nfunction fixOklchColor(color: string) {\n const valid = chroma.valid(color);\n if (valid) {\n return color;\n }\n // Try to fix the color if it looks like oklch\n const oklchRegex = /ok(lch|lab)\\(([^)]+)\\)/;\n if (oklchRegex.test(color)) {\n const withoutComma = color.replace(/,/g, \" \");\n if (chroma.valid(withoutComma)) {\n return withoutComma;\n }\n }\n // tailwind colors\n if (/^([a-z]+)-([0-9]+)$/.test(color)) {\n const [name, shade] = color.split(\"-\");\n // @ts-ignore\n const twColor = colorPalette[name]?.[shade] as string | undefined;\n if (twColor) {\n return twColor;\n }\n }\n return color;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
getSchemaDefaults
|
|
5
|
+
} from "./chunk-HTUSL2U7.js";
|
|
6
|
+
|
|
7
|
+
// src/shared/brick-manifest.ts
|
|
8
|
+
function defineBrickManifest({
|
|
9
|
+
props,
|
|
10
|
+
defaultHeight,
|
|
11
|
+
defaultWidth,
|
|
12
|
+
category = "widgets",
|
|
13
|
+
isContainer = false,
|
|
14
|
+
hideInLibrary = false,
|
|
15
|
+
isGlobalBrick = false,
|
|
16
|
+
deletable = true,
|
|
17
|
+
movable = true,
|
|
18
|
+
resizable = true,
|
|
19
|
+
duplicatable = true,
|
|
20
|
+
defaultInspectorTab = "preset",
|
|
21
|
+
icon,
|
|
22
|
+
...rest
|
|
23
|
+
}) {
|
|
24
|
+
return {
|
|
25
|
+
...rest,
|
|
26
|
+
icon,
|
|
27
|
+
props,
|
|
28
|
+
category,
|
|
29
|
+
defaultInspectorTab,
|
|
30
|
+
hideInLibrary,
|
|
31
|
+
deletable,
|
|
32
|
+
movable,
|
|
33
|
+
resizable,
|
|
34
|
+
duplicatable,
|
|
35
|
+
isContainer,
|
|
36
|
+
isGlobalBrick,
|
|
37
|
+
defaultWidth: { mobile: defaultWidth?.mobile ?? "auto", desktop: defaultWidth?.desktop ?? "auto" },
|
|
38
|
+
defaultHeight: {
|
|
39
|
+
mobile: defaultHeight?.mobile ?? "auto",
|
|
40
|
+
desktop: defaultHeight?.desktop ?? "auto"
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function getBrickManifestDefaults(manifest) {
|
|
45
|
+
return {
|
|
46
|
+
manifest,
|
|
47
|
+
props: getSchemaDefaults(manifest.props),
|
|
48
|
+
mobileProps: {}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export {
|
|
53
|
+
defineBrickManifest,
|
|
54
|
+
getBrickManifestDefaults
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=chunk-EVLRH6VG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/brick-manifest.ts"],"sourcesContent":["import type { TObject, TProperties, TArray } from \"@sinclair/typebox\";\nimport type { IconBase, IconType } from \"react-icons/lib\";\nimport { getSchemaDefaults } from \"./utils/schema\";\nimport type { ReactNode } from \"react\";\n\nexport type BrickCategory = \"layout\" | \"basic\" | \"media\" | \"widgets\" | \"container\";\n\ntype BrickManifestProps<BProps extends TProperties, DSSchema extends TObject | TArray<TObject>> = {\n type: string;\n category?: BrickCategory;\n name: string;\n icon: IconType;\n iconClassName?: string;\n staticClasses?: string;\n description?: string;\n // Min width in pixels\n minWidth?: {\n mobile?: number;\n desktop?: number;\n };\n // Max width in pixels\n maxWidth?: {\n mobile?: number;\n desktop?: number;\n };\n // Min height in pixels\n minHeight?: {\n mobile?: number;\n desktop?: number;\n };\n // Max height in pixels\n maxHeight?: {\n mobile?: number;\n desktop?: number;\n };\n // default width can be in various css units, but should be a number\n defaultWidth?: {\n mobile?: string;\n desktop?: string;\n };\n defaultHeight?: {\n mobile?: string;\n desktop?: string;\n };\n props: TObject<BProps>;\n hideInLibrary?: boolean;\n\n isGlobalBrick?: boolean;\n /**\n * If true, the brick can consume multiple rows of data from a data source.\n * This is useful for bricks that display lists or collections of items.\n */\n consumesMultipleQueryRows?: boolean;\n defaultInspectorTab?: \"preset\" | \"style\" | \"content\";\n deletable?: boolean;\n movable?: boolean;\n resizable?: boolean | \"horizontal\" | \"vertical\";\n duplicatable?: boolean;\n /**\n * Some specific bricks like sidebar or header may not be draggable inline, as we want to place them manually in the layout.\n */\n inlineDragDisabled?: boolean;\n isContainer?: boolean;\n aiInstructions?: string;\n};\n\nexport function defineBrickManifest<BProps extends TProperties, DSSchema extends TObject | TArray<TObject>>({\n props,\n defaultHeight,\n defaultWidth,\n category = \"widgets\",\n isContainer = false,\n hideInLibrary = false,\n isGlobalBrick = false,\n deletable = true,\n movable = true,\n resizable = true,\n duplicatable = true,\n defaultInspectorTab = \"preset\",\n icon,\n ...rest\n}: BrickManifestProps<BProps, DSSchema>) {\n return {\n ...rest,\n icon,\n props,\n category,\n defaultInspectorTab,\n hideInLibrary,\n deletable,\n movable,\n resizable,\n duplicatable,\n isContainer,\n isGlobalBrick,\n defaultWidth: { mobile: defaultWidth?.mobile ?? \"auto\", desktop: defaultWidth?.desktop ?? \"auto\" },\n defaultHeight: {\n mobile: defaultHeight?.mobile ?? \"auto\",\n desktop: defaultHeight?.desktop ?? \"auto\",\n },\n } as const;\n}\n\nexport type BrickManifest = ReturnType<typeof defineBrickManifest>;\n\nexport function getBrickManifestDefaults<M extends BrickManifest>(manifest: M) {\n return {\n manifest,\n props: getSchemaDefaults(manifest.props),\n mobileProps: {},\n };\n}\n\nexport type BrickDefaults = ReturnType<typeof getBrickManifestDefaults>;\n\nexport type BrickConstraints = Pick<\n BrickManifest,\n \"defaultWidth\" | \"defaultHeight\" | \"minWidth\" | \"minHeight\" | \"maxWidth\" | \"resizable\" | \"movable\"\n>;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/brick-manifest.ts"],"sourcesContent":["import type { TObject, TProperties, TArray } from \"@sinclair/typebox\";\nimport type { IconBase, IconType } from \"react-icons/lib\";\nimport { getSchemaDefaults } from \"./utils/schema\";\nimport type { ReactNode } from \"react\";\n\nexport type BrickCategory = \"layout\" | \"basic\" | \"media\" | \"widgets\" | \"container\";\n\ntype BrickManifestProps<BProps extends TProperties, DSSchema extends TObject | TArray<TObject>> = {\n type: string;\n category?: BrickCategory;\n name: string;\n icon: IconType;\n iconClassName?: string;\n staticClasses?: string;\n description?: string;\n // Min width in pixels\n minWidth?: {\n mobile?: number;\n desktop?: number;\n };\n // Max width in pixels\n maxWidth?: {\n mobile?: number;\n desktop?: number;\n };\n // Min height in pixels\n minHeight?: {\n mobile?: number;\n desktop?: number;\n };\n // Max height in pixels\n maxHeight?: {\n mobile?: number;\n desktop?: number;\n };\n // default width can be in various css units, but should be a number\n defaultWidth?: {\n mobile?: string;\n desktop?: string;\n };\n defaultHeight?: {\n mobile?: string;\n desktop?: string;\n };\n props: TObject<BProps>;\n hideInLibrary?: boolean;\n\n isGlobalBrick?: boolean;\n /**\n * If true, the brick can consume multiple rows of data from a data source.\n * This is useful for bricks that display lists or collections of items.\n */\n consumesMultipleQueryRows?: boolean;\n defaultInspectorTab?: \"preset\" | \"style\" | \"content\";\n deletable?: boolean;\n movable?: boolean;\n resizable?: boolean | \"horizontal\" | \"vertical\";\n duplicatable?: boolean;\n /**\n * Some specific bricks like sidebar or header may not be draggable inline, as we want to place them manually in the layout.\n */\n inlineDragDisabled?: boolean;\n isContainer?: boolean;\n aiInstructions?: string;\n};\n\nexport function defineBrickManifest<BProps extends TProperties, DSSchema extends TObject | TArray<TObject>>({\n props,\n defaultHeight,\n defaultWidth,\n category = \"widgets\",\n isContainer = false,\n hideInLibrary = false,\n isGlobalBrick = false,\n deletable = true,\n movable = true,\n resizable = true,\n duplicatable = true,\n defaultInspectorTab = \"preset\",\n icon,\n ...rest\n}: BrickManifestProps<BProps, DSSchema>) {\n return {\n ...rest,\n icon,\n props,\n category,\n defaultInspectorTab,\n hideInLibrary,\n deletable,\n movable,\n resizable,\n duplicatable,\n isContainer,\n isGlobalBrick,\n defaultWidth: { mobile: defaultWidth?.mobile ?? \"auto\", desktop: defaultWidth?.desktop ?? \"auto\" },\n defaultHeight: {\n mobile: defaultHeight?.mobile ?? \"auto\",\n desktop: defaultHeight?.desktop ?? \"auto\",\n },\n } as const;\n}\n\nexport type BrickManifest = ReturnType<typeof defineBrickManifest>;\n\nexport function getBrickManifestDefaults<M extends BrickManifest>(manifest: M) {\n return {\n manifest,\n props: getSchemaDefaults(manifest.props),\n mobileProps: {},\n };\n}\n\nexport type BrickDefaults = ReturnType<typeof getBrickManifestDefaults>;\n\nexport type BrickConstraints = Pick<\n BrickManifest,\n \"defaultWidth\" | \"defaultHeight\" | \"minWidth\" | \"minHeight\" | \"maxWidth\" | \"resizable\" | \"movable\"\n>;\n"],"mappings":";;;;;;;AAkEO,SAAS,oBAA4F;AAAA,EAC1G;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB;AAAA,EACA,GAAG;AACL,GAAyC;AACvC,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,EAAE,QAAQ,cAAc,UAAU,QAAQ,SAAS,cAAc,WAAW,OAAO;AAAA,IACjG,eAAe;AAAA,MACb,QAAQ,eAAe,UAAU;AAAA,MACjC,SAAS,eAAe,WAAW;AAAA,IACrC;AAAA,EACF;AACF;AAIO,SAAS,yBAAkD,UAAa;AAC7E,SAAO;AAAA,IACL;AAAA,IACA,OAAO,kBAAkB,SAAS,KAAK;AAAA,IACvC,aAAa,CAAC;AAAA,EAChB;AACF;","names":[]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
typedRef
|
|
5
|
+
} from "./chunk-A2QPY54H.js";
|
|
6
|
+
import {
|
|
7
|
+
StringEnum
|
|
8
|
+
} from "./chunk-JK2FWFJU.js";
|
|
9
|
+
|
|
10
|
+
// src/shared/bricks/props/text.ts
|
|
11
|
+
import { Type } from "@sinclair/typebox";
|
|
12
|
+
function fontSize(options = {}) {
|
|
13
|
+
return StringEnum(["inherit", "text-xs", "text-sm", "text-base", "text-lg", "text-xl"], {
|
|
14
|
+
enumNames: ["Same as parent", "Extra small", "Small", "Medium", "Large", "Extra large"],
|
|
15
|
+
default: "inherit",
|
|
16
|
+
title: "Font size",
|
|
17
|
+
// $id: "styles:fontSize",
|
|
18
|
+
"ui:styleId": "styles:fontSize",
|
|
19
|
+
"ui:field": "enum",
|
|
20
|
+
"ui:display": "select",
|
|
21
|
+
...options
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function fontSizeRef(options = {}) {
|
|
25
|
+
return typedRef("styles:fontSize", options);
|
|
26
|
+
}
|
|
27
|
+
function fontSizeXL(options = {}) {
|
|
28
|
+
return StringEnum(
|
|
29
|
+
[
|
|
30
|
+
"inherit",
|
|
31
|
+
"text-xs",
|
|
32
|
+
"text-sm",
|
|
33
|
+
"text-base",
|
|
34
|
+
"text-lg",
|
|
35
|
+
"text-xl",
|
|
36
|
+
"text-2xl",
|
|
37
|
+
"text-3xl",
|
|
38
|
+
"text-4xl",
|
|
39
|
+
"text-5xl",
|
|
40
|
+
"text-6xl",
|
|
41
|
+
"text-7xl"
|
|
42
|
+
],
|
|
43
|
+
{
|
|
44
|
+
enumNames: [
|
|
45
|
+
"Same as parent",
|
|
46
|
+
"Extra small",
|
|
47
|
+
"Small",
|
|
48
|
+
"Medium",
|
|
49
|
+
"Large",
|
|
50
|
+
"Extra large",
|
|
51
|
+
"Extra large (2x)",
|
|
52
|
+
"Extra large (3x)",
|
|
53
|
+
"Extra large (4x)",
|
|
54
|
+
"Extra large (5x)",
|
|
55
|
+
"Extra large (6x)",
|
|
56
|
+
"Extra large (7x)"
|
|
57
|
+
],
|
|
58
|
+
default: "inherit",
|
|
59
|
+
title: "Font size",
|
|
60
|
+
// $id: "styles:fontSize",
|
|
61
|
+
"ui:styleId": "styles:fontSize",
|
|
62
|
+
"ui:field": "enum",
|
|
63
|
+
"ui:display": "select",
|
|
64
|
+
...options
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
function fontSizeXLRef(options = {}) {
|
|
69
|
+
return typedRef("styles:fontSizeXL", options);
|
|
70
|
+
}
|
|
71
|
+
function textContent({
|
|
72
|
+
title = "Text",
|
|
73
|
+
default: defaults,
|
|
74
|
+
showInSettings,
|
|
75
|
+
disableSizing = false,
|
|
76
|
+
disableAlignment = false,
|
|
77
|
+
...rest
|
|
78
|
+
} = {}) {
|
|
79
|
+
return Type.String({
|
|
80
|
+
title,
|
|
81
|
+
description: "Text content. Can contain basic HTML tags like `<strong>`, `<em>`, `<br>` and `<a>` as well as `<p>` and `<span>` and lists <ul> <ol> <li>.",
|
|
82
|
+
// $id: "content:text",
|
|
83
|
+
default: defaults ?? "My text",
|
|
84
|
+
"ui:disable-sizing": disableSizing,
|
|
85
|
+
"ui:disable-alignment": disableAlignment,
|
|
86
|
+
// metadata: {
|
|
87
|
+
// category: "content",
|
|
88
|
+
// },
|
|
89
|
+
...rest,
|
|
90
|
+
"ui:field": showInSettings ? "string" : "hidden"
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function textContentRef(options = {}) {
|
|
94
|
+
return typedRef("content:text", options);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export {
|
|
98
|
+
fontSize,
|
|
99
|
+
fontSizeRef,
|
|
100
|
+
fontSizeXL,
|
|
101
|
+
fontSizeXLRef,
|
|
102
|
+
textContent,
|
|
103
|
+
textContentRef
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=chunk-F22LDHEO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/props/text.ts"],"sourcesContent":["import { type StringOptions, Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { typedRef } from \"~/shared/utils/typed-ref\";\n\ntype Options = StringOptions & {\n \"ui:no-extra-large-sizes\"?: boolean;\n};\n\nexport function fontSize(options: Options = {}) {\n return StringEnum([\"inherit\", \"text-xs\", \"text-sm\", \"text-base\", \"text-lg\", \"text-xl\"], {\n enumNames: [\"Same as parent\", \"Extra small\", \"Small\", \"Medium\", \"Large\", \"Extra large\"],\n default: \"inherit\",\n title: \"Font size\",\n // $id: \"styles:fontSize\",\n \"ui:styleId\": \"styles:fontSize\",\n \"ui:field\": \"enum\",\n \"ui:display\": \"select\",\n ...options,\n });\n}\n\nexport type FontSizeSettings = Static<ReturnType<typeof fontSize>>;\n\nexport function fontSizeRef(options: Options = {}) {\n return typedRef(\"styles:fontSize\", options);\n}\n\nexport function fontSizeXL(options: Options = {}) {\n return StringEnum(\n [\n \"inherit\",\n \"text-xs\",\n \"text-sm\",\n \"text-base\",\n \"text-lg\",\n \"text-xl\",\n \"text-2xl\",\n \"text-3xl\",\n \"text-4xl\",\n \"text-5xl\",\n \"text-6xl\",\n \"text-7xl\",\n ],\n {\n enumNames: [\n \"Same as parent\",\n \"Extra small\",\n \"Small\",\n \"Medium\",\n \"Large\",\n \"Extra large\",\n \"Extra large (2x)\",\n \"Extra large (3x)\",\n \"Extra large (4x)\",\n \"Extra large (5x)\",\n \"Extra large (6x)\",\n \"Extra large (7x)\",\n ],\n default: \"inherit\",\n title: \"Font size\",\n // $id: \"styles:fontSize\",\n \"ui:styleId\": \"styles:fontSize\",\n \"ui:field\": \"enum\",\n \"ui:display\": \"select\",\n ...options,\n },\n );\n}\nexport function fontSizeXLRef(options: Options = {}) {\n return typedRef(\"styles:fontSizeXL\", options);\n}\n\ntype TextContentOptions = {\n showInSettings?: boolean;\n disableSizing?: boolean;\n disableAlignment?: boolean;\n};\n\nexport function textContent({\n title = \"Text\",\n default: defaults,\n showInSettings,\n disableSizing = false,\n disableAlignment = false,\n ...rest\n}: TextContentOptions & StringOptions = {}) {\n return Type.String({\n title,\n description:\n \"Text content. Can contain basic HTML tags like `<strong>`, `<em>`, `<br>` and `<a>` as well as `<p>` and `<span>` and lists <ul> <ol> <li>.\",\n // $id: \"content:text\",\n default: defaults ?? \"My text\",\n \"ui:disable-sizing\": disableSizing,\n \"ui:disable-alignment\": disableAlignment,\n // metadata: {\n // category: \"content\",\n // },\n ...rest,\n \"ui:field\": showInSettings ? \"string\" : \"hidden\",\n });\n}\n\nexport type TextContentSettings = Static<ReturnType<typeof textContent>>;\n\nexport function textContentRef(options: TextContentOptions & StringOptions = {}) {\n return typedRef(\"content:text\", options);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/props/text.ts"],"sourcesContent":["import { type StringOptions, Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { typedRef } from \"~/shared/utils/typed-ref\";\n\ntype Options = StringOptions & {\n \"ui:no-extra-large-sizes\"?: boolean;\n};\n\nexport function fontSize(options: Options = {}) {\n return StringEnum([\"inherit\", \"text-xs\", \"text-sm\", \"text-base\", \"text-lg\", \"text-xl\"], {\n enumNames: [\"Same as parent\", \"Extra small\", \"Small\", \"Medium\", \"Large\", \"Extra large\"],\n default: \"inherit\",\n title: \"Font size\",\n // $id: \"styles:fontSize\",\n \"ui:styleId\": \"styles:fontSize\",\n \"ui:field\": \"enum\",\n \"ui:display\": \"select\",\n ...options,\n });\n}\n\nexport type FontSizeSettings = Static<ReturnType<typeof fontSize>>;\n\nexport function fontSizeRef(options: Options = {}) {\n return typedRef(\"styles:fontSize\", options);\n}\n\nexport function fontSizeXL(options: Options = {}) {\n return StringEnum(\n [\n \"inherit\",\n \"text-xs\",\n \"text-sm\",\n \"text-base\",\n \"text-lg\",\n \"text-xl\",\n \"text-2xl\",\n \"text-3xl\",\n \"text-4xl\",\n \"text-5xl\",\n \"text-6xl\",\n \"text-7xl\",\n ],\n {\n enumNames: [\n \"Same as parent\",\n \"Extra small\",\n \"Small\",\n \"Medium\",\n \"Large\",\n \"Extra large\",\n \"Extra large (2x)\",\n \"Extra large (3x)\",\n \"Extra large (4x)\",\n \"Extra large (5x)\",\n \"Extra large (6x)\",\n \"Extra large (7x)\",\n ],\n default: \"inherit\",\n title: \"Font size\",\n // $id: \"styles:fontSize\",\n \"ui:styleId\": \"styles:fontSize\",\n \"ui:field\": \"enum\",\n \"ui:display\": \"select\",\n ...options,\n },\n );\n}\nexport function fontSizeXLRef(options: Options = {}) {\n return typedRef(\"styles:fontSizeXL\", options);\n}\n\ntype TextContentOptions = {\n showInSettings?: boolean;\n disableSizing?: boolean;\n disableAlignment?: boolean;\n};\n\nexport function textContent({\n title = \"Text\",\n default: defaults,\n showInSettings,\n disableSizing = false,\n disableAlignment = false,\n ...rest\n}: TextContentOptions & StringOptions = {}) {\n return Type.String({\n title,\n description:\n \"Text content. Can contain basic HTML tags like `<strong>`, `<em>`, `<br>` and `<a>` as well as `<p>` and `<span>` and lists <ul> <ol> <li>.\",\n // $id: \"content:text\",\n default: defaults ?? \"My text\",\n \"ui:disable-sizing\": disableSizing,\n \"ui:disable-alignment\": disableAlignment,\n // metadata: {\n // category: \"content\",\n // },\n ...rest,\n \"ui:field\": showInSettings ? \"string\" : \"hidden\",\n });\n}\n\nexport type TextContentSettings = Static<ReturnType<typeof textContent>>;\n\nexport function textContentRef(options: TextContentOptions & StringOptions = {}) {\n return typedRef(\"content:text\", options);\n}\n"],"mappings":";;;;;;;;;;AAAA,SAA6B,YAAyB;AAQ/C,SAAS,SAAS,UAAmB,CAAC,GAAG;AAC9C,SAAO,WAAW,CAAC,WAAW,WAAW,WAAW,aAAa,WAAW,SAAS,GAAG;AAAA,IACtF,WAAW,CAAC,kBAAkB,eAAe,SAAS,UAAU,SAAS,aAAa;AAAA,IACtF,SAAS;AAAA,IACT,OAAO;AAAA;AAAA,IAEP,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,GAAG;AAAA,EACL,CAAC;AACH;AAIO,SAAS,YAAY,UAAmB,CAAC,GAAG;AACjD,SAAO,SAAS,mBAAmB,OAAO;AAC5C;AAEO,SAAS,WAAW,UAAmB,CAAC,GAAG;AAChD,SAAO;AAAA,IACL;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,OAAO;AAAA;AAAA,MAEP,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,GAAG;AAAA,IACL;AAAA,EACF;AACF;AACO,SAAS,cAAc,UAAmB,CAAC,GAAG;AACnD,SAAO,SAAS,qBAAqB,OAAO;AAC9C;AAQO,SAAS,YAAY;AAAA,EAC1B,QAAQ;AAAA,EACR,SAAS;AAAA,EACT;AAAA,EACA,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,GAAG;AACL,IAAwC,CAAC,GAAG;AAC1C,SAAO,KAAK,OAAO;AAAA,IACjB;AAAA,IACA,aACE;AAAA;AAAA,IAEF,SAAS,YAAY;AAAA,IACrB,qBAAqB;AAAA,IACrB,wBAAwB;AAAA;AAAA;AAAA;AAAA,IAIxB,GAAG;AAAA,IACH,YAAY,iBAAiB,WAAW;AAAA,EAC1C,CAAC;AACH;AAIO,SAAS,eAAe,UAA8C,CAAC,GAAG;AAC/E,SAAO,SAAS,gBAAgB,OAAO;AACzC;","names":[]}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
defineProps
|
|
5
|
+
} from "./chunk-BHC2A43S.js";
|
|
6
|
+
import {
|
|
7
|
+
defineBrickManifest
|
|
8
|
+
} from "./chunk-EVLRH6VG.js";
|
|
9
|
+
import {
|
|
10
|
+
shadowRef
|
|
11
|
+
} from "./chunk-TNMNMYOB.js";
|
|
12
|
+
import {
|
|
13
|
+
string
|
|
14
|
+
} from "./chunk-N3ZTQD5I.js";
|
|
15
|
+
import {
|
|
16
|
+
borderRef,
|
|
17
|
+
roundingRef
|
|
18
|
+
} from "./chunk-NTLAKMMQ.js";
|
|
19
|
+
import {
|
|
20
|
+
cssLengthRef
|
|
21
|
+
} from "./chunk-BPBKHEQ5.js";
|
|
22
|
+
|
|
23
|
+
// src/shared/bricks/manifests/video.manifest.ts
|
|
24
|
+
import { RxVideo } from "react-icons/rx";
|
|
25
|
+
import { Type } from "@sinclair/typebox";
|
|
26
|
+
var manifest = defineBrickManifest({
|
|
27
|
+
type: "video",
|
|
28
|
+
name: "Video",
|
|
29
|
+
category: "media",
|
|
30
|
+
description: "An embedded video player for YouTube / Vimeo / Wistia links",
|
|
31
|
+
icon: RxVideo,
|
|
32
|
+
defaultWidth: {
|
|
33
|
+
mobile: "auto",
|
|
34
|
+
desktop: `${360 * 16 / 9}px`
|
|
35
|
+
// 16:9 aspect ratio
|
|
36
|
+
},
|
|
37
|
+
defaultHeight: {
|
|
38
|
+
mobile: "168px",
|
|
39
|
+
desktop: "360px"
|
|
40
|
+
// 16:9 aspect ratio
|
|
41
|
+
},
|
|
42
|
+
minWidth: {
|
|
43
|
+
mobile: 300,
|
|
44
|
+
desktop: 360 * 16 / 9
|
|
45
|
+
},
|
|
46
|
+
minHeight: {
|
|
47
|
+
mobile: 168,
|
|
48
|
+
desktop: 360
|
|
49
|
+
// 16:9 aspect ratio
|
|
50
|
+
},
|
|
51
|
+
props: defineProps({
|
|
52
|
+
url: string("Video URL", {
|
|
53
|
+
description: "URL of the video to embed. It can be a YouTube link or an embed link. It also supports Vimeo and Wistia links.",
|
|
54
|
+
default: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
55
|
+
metadata: {
|
|
56
|
+
category: "content",
|
|
57
|
+
"ui:responsive": "desktop"
|
|
58
|
+
}
|
|
59
|
+
}),
|
|
60
|
+
padding: Type.Optional(
|
|
61
|
+
cssLengthRef({
|
|
62
|
+
description: "Padding inside the video player.",
|
|
63
|
+
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
64
|
+
title: "Padding",
|
|
65
|
+
"ui:responsive": true,
|
|
66
|
+
"ui:placeholder": "Not specified",
|
|
67
|
+
"ui:styleId": "styles:padding"
|
|
68
|
+
})
|
|
69
|
+
),
|
|
70
|
+
rounding: Type.Optional(
|
|
71
|
+
roundingRef({
|
|
72
|
+
default: "rounded-md"
|
|
73
|
+
})
|
|
74
|
+
),
|
|
75
|
+
border: Type.Optional(borderRef()),
|
|
76
|
+
shadow: Type.Optional(shadowRef())
|
|
77
|
+
})
|
|
78
|
+
});
|
|
79
|
+
var examples = [
|
|
80
|
+
{
|
|
81
|
+
description: "A YouTube video",
|
|
82
|
+
type: "video",
|
|
83
|
+
props: {
|
|
84
|
+
url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
description: "An embedded YouTube video",
|
|
89
|
+
type: "video",
|
|
90
|
+
props: {
|
|
91
|
+
url: "https://www.youtube.com/embed/dQw4w9WgXcQ"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
description: "A Vimeo video",
|
|
96
|
+
type: "video",
|
|
97
|
+
props: {
|
|
98
|
+
url: "https://vimeo.com/123456789"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
description: "Dynamic course video using course query",
|
|
103
|
+
type: "video",
|
|
104
|
+
props: {
|
|
105
|
+
url: "{{course.videoUrl}}",
|
|
106
|
+
padding: "1rem",
|
|
107
|
+
rounding: "rounded-lg",
|
|
108
|
+
shadow: "shadow-md"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
description: "Dynamic product demo video using product query",
|
|
113
|
+
type: "video",
|
|
114
|
+
props: {
|
|
115
|
+
url: "{{product.demoVideoUrl}}",
|
|
116
|
+
padding: "0.5rem",
|
|
117
|
+
rounding: "rounded-xl",
|
|
118
|
+
shadow: "shadow-lg",
|
|
119
|
+
border: {
|
|
120
|
+
width: "border-2",
|
|
121
|
+
color: "border-primary-300"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
];
|
|
126
|
+
|
|
127
|
+
export {
|
|
128
|
+
manifest,
|
|
129
|
+
examples
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=chunk-F247VKAE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/video.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { RxVideo } from \"react-icons/rx\";\nimport { string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { shadowRef } from \"../props/effects\";\nimport { Type } from \"@sinclair/typebox\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"video\",\n name: \"Video\",\n category: \"media\",\n description: \"An embedded video player for YouTube / Vimeo / Wistia links\",\n icon: RxVideo,\n defaultWidth: {\n mobile: \"auto\",\n desktop: `${(360 * 16) / 9}px`, // 16:9 aspect ratio\n },\n defaultHeight: {\n mobile: \"168px\",\n desktop: \"360px\", // 16:9 aspect ratio\n },\n minWidth: {\n mobile: 300,\n desktop: (360 * 16) / 9,\n },\n minHeight: {\n mobile: 168,\n desktop: 360, // 16:9 aspect ratio\n },\n props: defineProps({\n url: string(\"Video URL\", {\n description:\n \"URL of the video to embed. It can be a YouTube link or an embed link. It also supports Vimeo and Wistia links.\",\n default: \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n metadata: {\n category: \"content\",\n \"ui:responsive\": \"desktop\",\n },\n }),\n padding: Type.Optional(\n cssLengthRef({\n description: \"Padding inside the video player.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"A YouTube video\",\n type: \"video\",\n props: {\n url: \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n },\n },\n {\n description: \"An embedded YouTube video\",\n type: \"video\",\n props: {\n url: \"https://www.youtube.com/embed/dQw4w9WgXcQ\",\n },\n },\n {\n description: \"A Vimeo video\",\n type: \"video\",\n props: {\n url: \"https://vimeo.com/123456789\",\n },\n },\n {\n description: \"Dynamic course video using course query\",\n type: \"video\",\n props: {\n url: \"{{course.videoUrl}}\",\n padding: \"1rem\",\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Dynamic product demo video using product query\",\n type: \"video\",\n props: {\n url: \"{{product.demoVideoUrl}}\",\n padding: \"0.5rem\",\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n border: {\n width: \"border-2\",\n color: \"border-primary-300\",\n },\n },\n },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,eAAe;AAKxB,SAAS,YAAY;AAId,IAAM,WAAW,oBAAoB;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,aAAa;AAAA,EACb,MAAM;AAAA,EACN,cAAc;AAAA,IACZ,QAAQ;AAAA,IACR,SAAS,GAAI,MAAM,KAAM,CAAC;AAAA;AAAA,EAC5B;AAAA,EACA,eAAe;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,SAAU,MAAM,KAAM;AAAA,EACxB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA;AAAA,EACX;AAAA,EACA,OAAO,YAAY;AAAA,IACjB,KAAK,OAAO,aAAa;AAAA,MACvB,aACE;AAAA,MACF,SAAS;AAAA,MACT,UAAU;AAAA,QACR,UAAU;AAAA,QACV,iBAAiB;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,IACD,SAAS,KAAK;AAAA,MACZ,aAAa;AAAA,QACX,aAAa;AAAA,QACb,mBAAmB;AAAA,QACnB,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,IACA,UAAU,KAAK;AAAA,MACb,YAAY;AAAA,QACV,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA,QAAQ,KAAK,SAAS,UAAU,CAAC;AAAA,IACjC,QAAQ,KAAK,SAAS,UAAU,CAAC;AAAA,EACnC,CAAC;AACH,CAAC;AAIM,IAAM,WAAqC;AAAA,EAChD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,KAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|