@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,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":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
|
|
7
|
+
// src/shared/bricks/props/css-length.ts
|
|
8
|
+
import { Type } from "@sinclair/typebox";
|
|
9
|
+
var cssUnits = ["px", "%", "em", "rem", "vh", "vw", "dvh", "dvw", "rlh", "lh", "cqh", "cqw"];
|
|
10
|
+
function cssLength(options = {}) {
|
|
11
|
+
return Type.String({
|
|
12
|
+
title: "Length",
|
|
13
|
+
// $id: "styles:cssLength",
|
|
14
|
+
description: `A CSS length value. Must be a number with a unit (e.g. "10px", "50%"). The unit can be one of the following: ${cssUnits?.join(", ")}.`,
|
|
15
|
+
default: options.default,
|
|
16
|
+
"ui:field": "css-length",
|
|
17
|
+
"ui:css-units": cssUnits,
|
|
18
|
+
examples: ["100px", "50%", "2em", "1.5rem"],
|
|
19
|
+
...options
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function cssLengthRef(options = {}) {
|
|
23
|
+
return typedRef("styles:cssLength", options);
|
|
24
|
+
}
|
|
25
|
+
function isCssLength(value) {
|
|
26
|
+
if (typeof value !== "string") {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const cssLengthPattern = new RegExp(`^-?\\d+(?:\\.\\d+)?\\s*(${cssUnits.join("|")})$`);
|
|
30
|
+
return cssLengthPattern.test(value);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
cssUnits,
|
|
35
|
+
cssLength,
|
|
36
|
+
cssLengthRef,
|
|
37
|
+
isCssLength
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=chunk-BPBKHEQ5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/bricks/props/css-length.ts"],"sourcesContent":["import { type Static, Type, type StringOptions } from \"@sinclair/typebox\";\nimport { typedRef } from \"~/shared/utils/typed-ref\";\n\nexport const cssUnits = [\"px\", \"%\", \"em\", \"rem\", \"vh\", \"vw\", \"dvh\", \"dvw\", \"rlh\", \"lh\", \"cqh\", \"cqw\"];\n\nexport function cssLength(options: StringOptions = {}) {\n return Type.String({\n title: \"Length\",\n // $id: \"styles:cssLength\",\n description: `A CSS length value. Must be a number with a unit (e.g. \"10px\", \"50%\"). The unit can be one of the following: ${cssUnits?.join(\", \")}.`,\n default: options.default,\n \"ui:field\": \"css-length\",\n \"ui:css-units\": cssUnits,\n examples: [\"100px\", \"50%\", \"2em\", \"1.5rem\"],\n ...options,\n });\n}\n\nexport type CssLength = Static<ReturnType<typeof cssLength>>;\n\nexport function cssLengthRef(options: StringOptions = {}) {\n return typedRef(\"styles:cssLength\", options);\n}\n\nexport function isCssLength(value: string | number | undefined): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n // Check if the value is something like a number + a css unit (e.g., \"20px\", \"50%\")\n const cssLengthPattern = new RegExp(`^-?\\\\d+(?:\\\\.\\\\d+)?\\\\s*(${cssUnits.join(\"|\")})$`);\n return cssLengthPattern.test(value);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/props/css-length.ts"],"sourcesContent":["import { type Static, Type, type StringOptions } from \"@sinclair/typebox\";\nimport { typedRef } from \"~/shared/utils/typed-ref\";\n\nexport const cssUnits = [\"px\", \"%\", \"em\", \"rem\", \"vh\", \"vw\", \"dvh\", \"dvw\", \"rlh\", \"lh\", \"cqh\", \"cqw\"];\n\nexport function cssLength(options: StringOptions = {}) {\n return Type.String({\n title: \"Length\",\n // $id: \"styles:cssLength\",\n description: `A CSS length value. Must be a number with a unit (e.g. \"10px\", \"50%\"). The unit can be one of the following: ${cssUnits?.join(\", \")}.`,\n default: options.default,\n \"ui:field\": \"css-length\",\n \"ui:css-units\": cssUnits,\n examples: [\"100px\", \"50%\", \"2em\", \"1.5rem\"],\n ...options,\n });\n}\n\nexport type CssLength = Static<ReturnType<typeof cssLength>>;\n\nexport function cssLengthRef(options: StringOptions = {}) {\n return typedRef(\"styles:cssLength\", options);\n}\n\nexport function isCssLength(value: string | number | undefined): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n // Check if the value is something like a number + a css unit (e.g., \"20px\", \"50%\")\n const cssLengthPattern = new RegExp(`^-?\\\\d+(?:\\\\.\\\\d+)?\\\\s*(${cssUnits.join(\"|\")})$`);\n return cssLengthPattern.test(value);\n}\n"],"mappings":";;;;;;;AAAA,SAAsB,YAAgC;AAG/C,IAAM,WAAW,CAAC,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,KAAK;AAE7F,SAAS,UAAU,UAAyB,CAAC,GAAG;AACrD,SAAO,KAAK,OAAO;AAAA,IACjB,OAAO;AAAA;AAAA,IAEP,aAAa,gHAAgH,UAAU,KAAK,IAAI,CAAC;AAAA,IACjJ,SAAS,QAAQ;AAAA,IACjB,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU,CAAC,SAAS,OAAO,OAAO,QAAQ;AAAA,IAC1C,GAAG;AAAA,EACL,CAAC;AACH;AAIO,SAAS,aAAa,UAAyB,CAAC,GAAG;AACxD,SAAO,SAAS,oBAAoB,OAAO;AAC7C;AAEO,SAAS,YAAY,OAA6C;AACvE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,mBAAmB,IAAI,OAAO,2BAA2B,SAAS,KAAK,GAAG,CAAC,IAAI;AACrF,SAAO,iBAAiB,KAAK,KAAK;AACpC;","names":[]}
|
|
@@ -0,0 +1,308 @@
|
|
|
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
|
+
fontSizeRef
|
|
11
|
+
} from "./chunk-F22LDHEO.js";
|
|
12
|
+
import {
|
|
13
|
+
string,
|
|
14
|
+
urlOrPageIdRef
|
|
15
|
+
} from "./chunk-N3ZTQD5I.js";
|
|
16
|
+
import {
|
|
17
|
+
borderRef,
|
|
18
|
+
roundingRef
|
|
19
|
+
} from "./chunk-NTLAKMMQ.js";
|
|
20
|
+
import {
|
|
21
|
+
colorPresetRef
|
|
22
|
+
} from "./chunk-TFGGYU6Y.js";
|
|
23
|
+
|
|
24
|
+
// src/shared/bricks/manifests/button.manifest.ts
|
|
25
|
+
import { Type } from "@sinclair/typebox";
|
|
26
|
+
import { RxButton } from "react-icons/rx";
|
|
27
|
+
var manifest = defineBrickManifest({
|
|
28
|
+
type: "button",
|
|
29
|
+
name: "Button",
|
|
30
|
+
category: "basic",
|
|
31
|
+
description: "A button",
|
|
32
|
+
aiInstructions: `Use this button component for navigation and call-to-action elements throughout the site.
|
|
33
|
+
|
|
34
|
+
WHEN TO USE:
|
|
35
|
+
- Navigation links (Learn More, About Us, Contact)
|
|
36
|
+
- Call-to-action buttons (Sign Up, Get Started, Buy Now)
|
|
37
|
+
- External links (Download, Visit Website, Social Media)
|
|
38
|
+
- Internal page navigation (Go to Services, View Portfolio)
|
|
39
|
+
|
|
40
|
+
STYLING GUIDELINES:
|
|
41
|
+
- colorPreset: Use "primary-500" for main CTAs, "secondary-500" for secondary actions, "neutral-500" for low-priority actions, "accent-500" for highlight actions
|
|
42
|
+
- fontSize: "text-sm" for compact buttons, "text-base" for standard, "text-lg" for emphasis, "text-xl" for hero buttons
|
|
43
|
+
- rounding: "rounded-none" for sharp/modern, "rounded-md" for standard, "rounded-lg" for friendly, "rounded-full" for pills
|
|
44
|
+
- link: Use full URLs for external (https://example.com), relative paths for internal (/about), or page IDs for site pages (about-us)
|
|
45
|
+
|
|
46
|
+
DYNAMIC CONTENT:
|
|
47
|
+
- Support template variables: "Buy {{product.name}}" or "Contact {{employee.name}}"
|
|
48
|
+
- Link to dynamic pages: "/products/{{product.id}}" or "/team/{{employee.slug}}"
|
|
49
|
+
|
|
50
|
+
AVOID:
|
|
51
|
+
- Using in forms (forms have dedicated submit buttons)
|
|
52
|
+
- Empty or unclear labels (use descriptive action words)
|
|
53
|
+
- Mixing multiple high-emphasis colors on same page`,
|
|
54
|
+
resizable: "horizontal",
|
|
55
|
+
icon: RxButton,
|
|
56
|
+
minWidth: {
|
|
57
|
+
desktop: 120,
|
|
58
|
+
mobile: 120
|
|
59
|
+
},
|
|
60
|
+
defaultWidth: {
|
|
61
|
+
mobile: "100%"
|
|
62
|
+
},
|
|
63
|
+
props: defineProps(
|
|
64
|
+
{
|
|
65
|
+
colorPreset: Type.Optional(
|
|
66
|
+
colorPresetRef({
|
|
67
|
+
default: { color: "primary-500" },
|
|
68
|
+
title: "Color",
|
|
69
|
+
"ui:default-gradient-direction": "bg-gradient-to-b"
|
|
70
|
+
})
|
|
71
|
+
),
|
|
72
|
+
label: string("Label", { default: "My button", metadata: { category: "content" } }),
|
|
73
|
+
fontSize: Type.Optional(
|
|
74
|
+
fontSizeRef({
|
|
75
|
+
title: "Font size",
|
|
76
|
+
description: "The font size of the button text.",
|
|
77
|
+
default: "text-base",
|
|
78
|
+
"ui:responsive": "desktop",
|
|
79
|
+
"ui:no-extra-large-sizes": true
|
|
80
|
+
})
|
|
81
|
+
),
|
|
82
|
+
rounding: Type.Optional(
|
|
83
|
+
roundingRef({
|
|
84
|
+
default: "rounded-md"
|
|
85
|
+
})
|
|
86
|
+
),
|
|
87
|
+
border: Type.Optional(borderRef({ default: { width: "border-0" }, "ui:responsive": "desktop" })),
|
|
88
|
+
link: urlOrPageIdRef({
|
|
89
|
+
title: "Link",
|
|
90
|
+
"ui:placeholder": "https://example.com",
|
|
91
|
+
metadata: { category: "content" }
|
|
92
|
+
})
|
|
93
|
+
},
|
|
94
|
+
{ noGrow: true }
|
|
95
|
+
)
|
|
96
|
+
});
|
|
97
|
+
var examples = [
|
|
98
|
+
// BASIC BUTTON TYPES
|
|
99
|
+
{
|
|
100
|
+
description: "Primary call-to-action button - Use for main actions users should take",
|
|
101
|
+
type: "button",
|
|
102
|
+
props: {
|
|
103
|
+
label: "Get Started",
|
|
104
|
+
link: "/signup",
|
|
105
|
+
colorPreset: { color: "primary-500" },
|
|
106
|
+
fontSize: "text-base",
|
|
107
|
+
rounding: "rounded-md"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
description: "Secondary button - Use for supporting actions or alternatives",
|
|
112
|
+
type: "button",
|
|
113
|
+
props: {
|
|
114
|
+
label: "Learn More",
|
|
115
|
+
link: "/about",
|
|
116
|
+
colorPreset: { color: "secondary-500" },
|
|
117
|
+
fontSize: "text-base",
|
|
118
|
+
rounding: "rounded-md"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
description: "Neutral button - Use for low-priority actions or navigation",
|
|
123
|
+
type: "button",
|
|
124
|
+
props: {
|
|
125
|
+
label: "View Details",
|
|
126
|
+
link: "/details",
|
|
127
|
+
colorPreset: { color: "neutral-500" },
|
|
128
|
+
fontSize: "text-sm",
|
|
129
|
+
rounding: "rounded-md"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
description: "Accent button - Use for special promotions or highlighted actions",
|
|
134
|
+
type: "button",
|
|
135
|
+
props: {
|
|
136
|
+
label: "Special Offer",
|
|
137
|
+
link: "/promo",
|
|
138
|
+
colorPreset: { color: "accent-500" },
|
|
139
|
+
fontSize: "text-lg",
|
|
140
|
+
rounding: "rounded-lg"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
// EXTERNAL LINK EXAMPLES
|
|
144
|
+
{
|
|
145
|
+
description: "External website link - Full URL for outside navigation",
|
|
146
|
+
type: "button",
|
|
147
|
+
props: {
|
|
148
|
+
label: "Visit Our Store",
|
|
149
|
+
link: "https://store.example.com",
|
|
150
|
+
colorPreset: { color: "primary-500" },
|
|
151
|
+
fontSize: "text-base",
|
|
152
|
+
rounding: "rounded-md"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
description: "Download button - Direct file download link",
|
|
157
|
+
type: "button",
|
|
158
|
+
props: {
|
|
159
|
+
label: "Download PDF",
|
|
160
|
+
link: "https://example.com/brochure.pdf",
|
|
161
|
+
colorPreset: { color: "secondary-600" },
|
|
162
|
+
fontSize: "text-base",
|
|
163
|
+
rounding: "rounded-lg",
|
|
164
|
+
border: { width: "border", color: "border-secondary-800" }
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
// INTERNAL NAVIGATION EXAMPLES
|
|
168
|
+
{
|
|
169
|
+
description: "Internal page navigation using page ID reference",
|
|
170
|
+
type: "button",
|
|
171
|
+
props: {
|
|
172
|
+
label: "Contact Us",
|
|
173
|
+
link: "contact",
|
|
174
|
+
colorPreset: { color: "neutral-600" },
|
|
175
|
+
fontSize: "text-base",
|
|
176
|
+
rounding: "rounded-md"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
description: "Internal relative URL navigation",
|
|
181
|
+
type: "button",
|
|
182
|
+
props: {
|
|
183
|
+
label: "Our Services",
|
|
184
|
+
link: "/services",
|
|
185
|
+
colorPreset: { color: "primary-500" },
|
|
186
|
+
fontSize: "text-base",
|
|
187
|
+
rounding: "rounded-md"
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
// DYNAMIC CONTENT EXAMPLES
|
|
191
|
+
{
|
|
192
|
+
description: "Dynamic product purchase button using product query data",
|
|
193
|
+
type: "button",
|
|
194
|
+
props: {
|
|
195
|
+
label: "Buy {{product.name}} - ${{product.price}}",
|
|
196
|
+
link: "/checkout/{{product.id}}",
|
|
197
|
+
colorPreset: { color: "primary-600" },
|
|
198
|
+
fontSize: "text-base",
|
|
199
|
+
rounding: "rounded-md",
|
|
200
|
+
border: { width: "border", color: "border-primary-800" }
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
description: "Dynamic employee contact button using team member data",
|
|
205
|
+
type: "button",
|
|
206
|
+
props: {
|
|
207
|
+
label: "Contact {{employee.name}}",
|
|
208
|
+
link: "mailto:{{employee.email}}",
|
|
209
|
+
colorPreset: { color: "neutral-500" },
|
|
210
|
+
fontSize: "text-sm",
|
|
211
|
+
rounding: "rounded-md"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
description: "Dynamic event registration using event query data",
|
|
216
|
+
type: "button",
|
|
217
|
+
props: {
|
|
218
|
+
label: "Register for {{event.title}}",
|
|
219
|
+
link: "/events/{{event.slug}}/register",
|
|
220
|
+
colorPreset: { color: "accent-500" },
|
|
221
|
+
fontSize: "text-base",
|
|
222
|
+
rounding: "rounded-lg"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
// STYLING VARIATIONS
|
|
226
|
+
{
|
|
227
|
+
description: "Small compact button - Use in tight spaces or secondary contexts",
|
|
228
|
+
type: "button",
|
|
229
|
+
props: {
|
|
230
|
+
label: "Edit",
|
|
231
|
+
link: "/edit",
|
|
232
|
+
colorPreset: { color: "neutral-400" },
|
|
233
|
+
fontSize: "text-sm",
|
|
234
|
+
rounding: "rounded-sm"
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
description: "Large hero button - Use for prominent call-to-actions",
|
|
239
|
+
type: "button",
|
|
240
|
+
props: {
|
|
241
|
+
label: "Start Free Trial",
|
|
242
|
+
link: "/trial",
|
|
243
|
+
colorPreset: { color: "primary-600" },
|
|
244
|
+
fontSize: "text-xl",
|
|
245
|
+
rounding: "rounded-xl",
|
|
246
|
+
border: { width: "border-2", color: "border-primary-800" }
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
description: "Pill-shaped button - Modern rounded design",
|
|
251
|
+
type: "button",
|
|
252
|
+
props: {
|
|
253
|
+
label: "Subscribe",
|
|
254
|
+
link: "/newsletter",
|
|
255
|
+
colorPreset: { color: "accent-500" },
|
|
256
|
+
fontSize: "text-base",
|
|
257
|
+
rounding: "rounded-full"
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
description: "Sharp modern button - Angular design with no rounding",
|
|
262
|
+
type: "button",
|
|
263
|
+
props: {
|
|
264
|
+
label: "Join Now",
|
|
265
|
+
link: "/join",
|
|
266
|
+
colorPreset: { color: "primary-500" },
|
|
267
|
+
fontSize: "text-base",
|
|
268
|
+
rounding: "rounded-none",
|
|
269
|
+
border: { width: "border-2", color: "border-primary-700" }
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
// GRADIENT EXAMPLES
|
|
273
|
+
{
|
|
274
|
+
description: "Gradient button - Eye-catching with color transitions",
|
|
275
|
+
type: "button",
|
|
276
|
+
props: {
|
|
277
|
+
label: "Premium Upgrade",
|
|
278
|
+
link: "/upgrade",
|
|
279
|
+
colorPreset: {
|
|
280
|
+
color: "primary-500",
|
|
281
|
+
gradientDirection: "bg-gradient-to-r"
|
|
282
|
+
},
|
|
283
|
+
fontSize: "text-lg",
|
|
284
|
+
rounding: "rounded-lg"
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
description: "Diagonal gradient button - Unique visual appeal",
|
|
289
|
+
type: "button",
|
|
290
|
+
props: {
|
|
291
|
+
label: "Launch Campaign",
|
|
292
|
+
link: "/campaigns/new",
|
|
293
|
+
colorPreset: {
|
|
294
|
+
color: "accent-600",
|
|
295
|
+
gradientDirection: "bg-gradient-to-br"
|
|
296
|
+
},
|
|
297
|
+
fontSize: "text-base",
|
|
298
|
+
rounding: "rounded-md",
|
|
299
|
+
border: { width: "border", color: "border-accent-800" }
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
];
|
|
303
|
+
|
|
304
|
+
export {
|
|
305
|
+
manifest,
|
|
306
|
+
examples
|
|
307
|
+
};
|
|
308
|
+
//# sourceMappingURL=chunk-CRS7QCPZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/button.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { RxButton } from \"react-icons/rx\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { string, urlOrPageIdRef } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { fontSizeRef } from \"../props/text\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"button\",\n name: \"Button\",\n category: \"basic\",\n description: \"A button\",\n aiInstructions: `Use this button component for navigation and call-to-action elements throughout the site.\n\nWHEN TO USE:\n- Navigation links (Learn More, About Us, Contact)\n- Call-to-action buttons (Sign Up, Get Started, Buy Now)\n- External links (Download, Visit Website, Social Media)\n- Internal page navigation (Go to Services, View Portfolio)\n\nSTYLING GUIDELINES:\n- colorPreset: Use \"primary-500\" for main CTAs, \"secondary-500\" for secondary actions, \"neutral-500\" for low-priority actions, \"accent-500\" for highlight actions\n- fontSize: \"text-sm\" for compact buttons, \"text-base\" for standard, \"text-lg\" for emphasis, \"text-xl\" for hero buttons\n- rounding: \"rounded-none\" for sharp/modern, \"rounded-md\" for standard, \"rounded-lg\" for friendly, \"rounded-full\" for pills\n- link: Use full URLs for external (https://example.com), relative paths for internal (/about), or page IDs for site pages (about-us)\n\nDYNAMIC CONTENT:\n- Support template variables: \"Buy {{product.name}}\" or \"Contact {{employee.name}}\"\n- Link to dynamic pages: \"/products/{{product.id}}\" or \"/team/{{employee.slug}}\"\n\nAVOID:\n- Using in forms (forms have dedicated submit buttons)\n- Empty or unclear labels (use descriptive action words)\n- Mixing multiple high-emphasis colors on same page`,\n resizable: \"horizontal\",\n icon: RxButton,\n minWidth: {\n desktop: 120,\n mobile: 120,\n },\n defaultWidth: {\n mobile: \"100%\",\n },\n props: defineProps(\n {\n colorPreset: Type.Optional(\n colorPresetRef({\n default: { color: \"primary-500\" },\n title: \"Color\",\n \"ui:default-gradient-direction\": \"bg-gradient-to-b\",\n }),\n ),\n label: string(\"Label\", { default: \"My button\", metadata: { category: \"content\" } }),\n fontSize: Type.Optional(\n fontSizeRef({\n title: \"Font size\",\n description: \"The font size of the button text.\",\n default: \"text-base\",\n \"ui:responsive\": \"desktop\",\n \"ui:no-extra-large-sizes\": true,\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef({ default: { width: \"border-0\" }, \"ui:responsive\": \"desktop\" })),\n link: urlOrPageIdRef({\n title: \"Link\",\n \"ui:placeholder\": \"https://example.com\",\n metadata: { category: \"content\" },\n }),\n },\n { noGrow: true },\n ),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n // BASIC BUTTON TYPES\n {\n description: \"Primary call-to-action button - Use for main actions users should take\",\n type: \"button\",\n props: {\n label: \"Get Started\",\n link: \"/signup\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Secondary button - Use for supporting actions or alternatives\",\n type: \"button\",\n props: {\n label: \"Learn More\",\n link: \"/about\",\n colorPreset: { color: \"secondary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Neutral button - Use for low-priority actions or navigation\",\n type: \"button\",\n props: {\n label: \"View Details\",\n link: \"/details\",\n colorPreset: { color: \"neutral-500\" },\n fontSize: \"text-sm\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Accent button - Use for special promotions or highlighted actions\",\n type: \"button\",\n props: {\n label: \"Special Offer\",\n link: \"/promo\",\n colorPreset: { color: \"accent-500\" },\n fontSize: \"text-lg\",\n rounding: \"rounded-lg\",\n },\n },\n\n // EXTERNAL LINK EXAMPLES\n {\n description: \"External website link - Full URL for outside navigation\",\n type: \"button\",\n props: {\n label: \"Visit Our Store\",\n link: \"https://store.example.com\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Download button - Direct file download link\",\n type: \"button\",\n props: {\n label: \"Download PDF\",\n link: \"https://example.com/brochure.pdf\",\n colorPreset: { color: \"secondary-600\" },\n fontSize: \"text-base\",\n rounding: \"rounded-lg\",\n border: { width: \"border\", color: \"border-secondary-800\" },\n },\n },\n\n // INTERNAL NAVIGATION EXAMPLES\n {\n description: \"Internal page navigation using page ID reference\",\n type: \"button\",\n props: {\n label: \"Contact Us\",\n link: \"contact\",\n colorPreset: { color: \"neutral-600\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Internal relative URL navigation\",\n type: \"button\",\n props: {\n label: \"Our Services\",\n link: \"/services\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n },\n },\n\n // DYNAMIC CONTENT EXAMPLES\n {\n description: \"Dynamic product purchase button using product query data\",\n type: \"button\",\n props: {\n label: \"Buy {{product.name}} - ${{product.price}}\",\n link: \"/checkout/{{product.id}}\",\n colorPreset: { color: \"primary-600\" },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n border: { width: \"border\", color: \"border-primary-800\" },\n },\n },\n {\n description: \"Dynamic employee contact button using team member data\",\n type: \"button\",\n props: {\n label: \"Contact {{employee.name}}\",\n link: \"mailto:{{employee.email}}\",\n colorPreset: { color: \"neutral-500\" },\n fontSize: \"text-sm\",\n rounding: \"rounded-md\",\n },\n },\n {\n description: \"Dynamic event registration using event query data\",\n type: \"button\",\n props: {\n label: \"Register for {{event.title}}\",\n link: \"/events/{{event.slug}}/register\",\n colorPreset: { color: \"accent-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-lg\",\n },\n },\n\n // STYLING VARIATIONS\n {\n description: \"Small compact button - Use in tight spaces or secondary contexts\",\n type: \"button\",\n props: {\n label: \"Edit\",\n link: \"/edit\",\n colorPreset: { color: \"neutral-400\" },\n fontSize: \"text-sm\",\n rounding: \"rounded-sm\",\n },\n },\n {\n description: \"Large hero button - Use for prominent call-to-actions\",\n type: \"button\",\n props: {\n label: \"Start Free Trial\",\n link: \"/trial\",\n colorPreset: { color: \"primary-600\" },\n fontSize: \"text-xl\",\n rounding: \"rounded-xl\",\n border: { width: \"border-2\", color: \"border-primary-800\" },\n },\n },\n {\n description: \"Pill-shaped button - Modern rounded design\",\n type: \"button\",\n props: {\n label: \"Subscribe\",\n link: \"/newsletter\",\n colorPreset: { color: \"accent-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-full\",\n },\n },\n {\n description: \"Sharp modern button - Angular design with no rounding\",\n type: \"button\",\n props: {\n label: \"Join Now\",\n link: \"/join\",\n colorPreset: { color: \"primary-500\" },\n fontSize: \"text-base\",\n rounding: \"rounded-none\",\n border: { width: \"border-2\", color: \"border-primary-700\" },\n },\n },\n\n // GRADIENT EXAMPLES\n {\n description: \"Gradient button - Eye-catching with color transitions\",\n type: \"button\",\n props: {\n label: \"Premium Upgrade\",\n link: \"/upgrade\",\n colorPreset: {\n color: \"primary-500\",\n gradientDirection: \"bg-gradient-to-r\",\n },\n fontSize: \"text-lg\",\n rounding: \"rounded-lg\",\n },\n },\n {\n description: \"Diagonal gradient button - Unique visual appeal\",\n type: \"button\",\n props: {\n label: \"Launch Campaign\",\n link: \"/campaigns/new\",\n colorPreset: {\n color: \"accent-600\",\n gradientDirection: \"bg-gradient-to-br\",\n },\n fontSize: \"text-base\",\n rounding: \"rounded-md\",\n border: { width: \"border\", color: \"border-accent-800\" },\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/datarecords/external/airtable/types.ts
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
6
|
+
var airtableFields = Type.Array(
|
|
7
|
+
Type.Object({
|
|
8
|
+
id: Type.String(),
|
|
9
|
+
name: Type.String(),
|
|
10
|
+
type: Type.String()
|
|
11
|
+
})
|
|
12
|
+
);
|
|
13
|
+
var createAirtableTableResponseSchema = Type.Object({
|
|
14
|
+
id: Type.String(),
|
|
15
|
+
name: Type.String(),
|
|
16
|
+
description: Type.String(),
|
|
17
|
+
primaryFieldId: Type.String(),
|
|
18
|
+
fields: airtableFields
|
|
19
|
+
});
|
|
20
|
+
var airtableOptions = Type.Object({
|
|
21
|
+
externalUrl: Type.Optional(Type.String()),
|
|
22
|
+
baseId: Type.String({
|
|
23
|
+
pattern: "^app[A-Za-z0-9]+$",
|
|
24
|
+
description: 'Airtable Base ID starting with "app"'
|
|
25
|
+
}),
|
|
26
|
+
baseName: Type.Optional(
|
|
27
|
+
Type.String({
|
|
28
|
+
description: "Airtable Base Name"
|
|
29
|
+
})
|
|
30
|
+
),
|
|
31
|
+
tableId: Type.String({
|
|
32
|
+
pattern: "^tbl[A-Za-z0-9]+$",
|
|
33
|
+
description: 'Airtable Table ID starting with "tbl"'
|
|
34
|
+
}),
|
|
35
|
+
tableName: Type.Optional(
|
|
36
|
+
Type.String({
|
|
37
|
+
description: "Table name as shown in Airtable interface"
|
|
38
|
+
})
|
|
39
|
+
),
|
|
40
|
+
fields: Type.Optional(airtableFields)
|
|
41
|
+
});
|
|
42
|
+
var AirtableFieldTypes = Type.Union([
|
|
43
|
+
Type.Literal("number"),
|
|
44
|
+
Type.Literal("checkbox"),
|
|
45
|
+
Type.Literal("date"),
|
|
46
|
+
Type.Literal("dateTime"),
|
|
47
|
+
Type.Literal("email"),
|
|
48
|
+
Type.Literal("url"),
|
|
49
|
+
Type.Literal("singleLineText"),
|
|
50
|
+
Type.Literal("multilineText"),
|
|
51
|
+
Type.Literal("singleSelect"),
|
|
52
|
+
Type.Literal("multipleSelects")
|
|
53
|
+
]);
|
|
54
|
+
|
|
55
|
+
export {
|
|
56
|
+
airtableFields,
|
|
57
|
+
airtableOptions,
|
|
58
|
+
AirtableFieldTypes
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=chunk-CSF2WQX2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/datarecords/external/airtable/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const airtableFields = Type.Array(\n Type.Object({\n id: Type.String(),\n name: Type.String(),\n type: Type.String(),\n }),\n);\nexport type AirtableFields = Static<typeof airtableFields>;\n\nconst createAirtableTableResponseSchema = Type.Object({\n id: Type.String(),\n name: Type.String(),\n description: Type.String(),\n primaryFieldId: Type.String(),\n fields: airtableFields,\n});\n\nexport type CreateAirtableTableResponse = Static<typeof createAirtableTableResponseSchema>;\n\nexport const airtableOptions = Type.Object({\n externalUrl: Type.Optional(Type.String()),\n baseId: Type.String({\n pattern: \"^app[A-Za-z0-9]+$\",\n description: 'Airtable Base ID starting with \"app\"',\n }),\n baseName: Type.Optional(\n Type.String({\n description: \"Airtable Base Name\",\n }),\n ),\n tableId: Type.String({\n pattern: \"^tbl[A-Za-z0-9]+$\",\n description: 'Airtable Table ID starting with \"tbl\"',\n }),\n tableName: Type.Optional(\n Type.String({\n description: \"Table name as shown in Airtable interface\",\n }),\n ),\n fields: Type.Optional(airtableFields),\n});\nexport type AirtableOptions = Static<typeof airtableOptions>;\n\nexport type AirtableBases = {\n id: string;\n name: string;\n}[];\n\nexport const AirtableFieldTypes = Type.Union([\n Type.Literal(\"number\"),\n Type.Literal(\"checkbox\"),\n Type.Literal(\"date\"),\n Type.Literal(\"dateTime\"),\n Type.Literal(\"email\"),\n Type.Literal(\"url\"),\n Type.Literal(\"singleLineText\"),\n Type.Literal(\"multilineText\"),\n Type.Literal(\"singleSelect\"),\n Type.Literal(\"multipleSelects\"),\n]);\nexport type AirtableFieldType = Static<typeof AirtableFieldTypes>;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/datarecords/external/airtable/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const airtableFields = Type.Array(\n Type.Object({\n id: Type.String(),\n name: Type.String(),\n type: Type.String(),\n }),\n);\nexport type AirtableFields = Static<typeof airtableFields>;\n\nconst createAirtableTableResponseSchema = Type.Object({\n id: Type.String(),\n name: Type.String(),\n description: Type.String(),\n primaryFieldId: Type.String(),\n fields: airtableFields,\n});\n\nexport type CreateAirtableTableResponse = Static<typeof createAirtableTableResponseSchema>;\n\nexport const airtableOptions = Type.Object({\n externalUrl: Type.Optional(Type.String()),\n baseId: Type.String({\n pattern: \"^app[A-Za-z0-9]+$\",\n description: 'Airtable Base ID starting with \"app\"',\n }),\n baseName: Type.Optional(\n Type.String({\n description: \"Airtable Base Name\",\n }),\n ),\n tableId: Type.String({\n pattern: \"^tbl[A-Za-z0-9]+$\",\n description: 'Airtable Table ID starting with \"tbl\"',\n }),\n tableName: Type.Optional(\n Type.String({\n description: \"Table name as shown in Airtable interface\",\n }),\n ),\n fields: Type.Optional(airtableFields),\n});\nexport type AirtableOptions = Static<typeof airtableOptions>;\n\nexport type AirtableBases = {\n id: string;\n name: string;\n}[];\n\nexport const AirtableFieldTypes = Type.Union([\n Type.Literal(\"number\"),\n Type.Literal(\"checkbox\"),\n Type.Literal(\"date\"),\n Type.Literal(\"dateTime\"),\n Type.Literal(\"email\"),\n Type.Literal(\"url\"),\n Type.Literal(\"singleLineText\"),\n Type.Literal(\"multilineText\"),\n Type.Literal(\"singleSelect\"),\n Type.Literal(\"multipleSelects\"),\n]);\nexport type AirtableFieldType = Static<typeof AirtableFieldTypes>;\n"],"mappings":";;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,iBAAiB,KAAK;AAAA,EACjC,KAAK,OAAO;AAAA,IACV,IAAI,KAAK,OAAO;AAAA,IAChB,MAAM,KAAK,OAAO;AAAA,IAClB,MAAM,KAAK,OAAO;AAAA,EACpB,CAAC;AACH;AAGA,IAAM,oCAAoC,KAAK,OAAO;AAAA,EACpD,IAAI,KAAK,OAAO;AAAA,EAChB,MAAM,KAAK,OAAO;AAAA,EAClB,aAAa,KAAK,OAAO;AAAA,EACzB,gBAAgB,KAAK,OAAO;AAAA,EAC5B,QAAQ;AACV,CAAC;AAIM,IAAM,kBAAkB,KAAK,OAAO;AAAA,EACzC,aAAa,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,EACxC,QAAQ,KAAK,OAAO;AAAA,IAClB,SAAS;AAAA,IACT,aAAa;AAAA,EACf,CAAC;AAAA,EACD,UAAU,KAAK;AAAA,IACb,KAAK,OAAO;AAAA,MACV,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA,SAAS,KAAK,OAAO;AAAA,IACnB,SAAS;AAAA,IACT,aAAa;AAAA,EACf,CAAC;AAAA,EACD,WAAW,KAAK;AAAA,IACd,KAAK,OAAO;AAAA,MACV,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,KAAK,SAAS,cAAc;AACtC,CAAC;AAQM,IAAM,qBAAqB,KAAK,MAAM;AAAA,EAC3C,KAAK,QAAQ,QAAQ;AAAA,EACrB,KAAK,QAAQ,UAAU;AAAA,EACvB,KAAK,QAAQ,MAAM;AAAA,EACnB,KAAK,QAAQ,UAAU;AAAA,EACvB,KAAK,QAAQ,OAAO;AAAA,EACpB,KAAK,QAAQ,KAAK;AAAA,EAClB,KAAK,QAAQ,gBAAgB;AAAA,EAC7B,KAAK,QAAQ,eAAe;AAAA,EAC5B,KAAK,QAAQ,cAAc;AAAA,EAC3B,KAAK,QAAQ,iBAAiB;AAChC,CAAC;","names":[]}
|