@upstart.gg/sdk 0.0.136 → 0.0.138
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.map +1 -1
- package/dist/shared/ai/schemas.js +26 -31
- package/dist/shared/ai/schemas.js.map +1 -1
- package/dist/shared/ai/types.d.ts +14 -62
- package/dist/shared/ai/types.d.ts.map +1 -1
- package/dist/shared/ajv.js +33 -31
- package/dist/shared/ajv.js.map +1 -1
- package/dist/shared/attributes.d.ts +91 -85
- package/dist/shared/attributes.d.ts.map +1 -1
- package/dist/shared/attributes.js +21 -23
- package/dist/shared/brick-manifest.d.ts +8 -5
- package/dist/shared/brick-manifest.d.ts.map +1 -1
- package/dist/shared/brick-manifest.js +3 -18
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/accordion.manifest.js +14 -20
- package/dist/shared/bricks/manifests/all-manifests.js +45 -43
- package/dist/shared/bricks/manifests/all-props.d.ts +1511 -0
- package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
- package/dist/shared/bricks/manifests/all-props.js +244 -0
- package/dist/shared/bricks/manifests/all-props.js.map +1 -0
- package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/box.manifest.js +17 -20
- package/dist/shared/bricks/manifests/button.manifest.d.ts +3 -6
- package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/button.manifest.js +14 -20
- package/dist/shared/bricks/manifests/card.manifest.d.ts +5 -3
- package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/card.manifest.js +19 -20
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts +3 -2
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.js +16 -20
- package/dist/shared/bricks/manifests/footer.manifest.d.ts +5 -3
- package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.js +14 -20
- package/dist/shared/bricks/manifests/form.manifest.d.ts +3 -3
- package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/form.manifest.js +14 -20
- package/dist/shared/bricks/manifests/hero.manifest.d.ts +3 -5
- package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.js +14 -20
- package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -1
- package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/html.manifest.js +9 -20
- package/dist/shared/bricks/manifests/icon.manifest.d.ts +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.js +14 -20
- package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
- package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/image.manifest.js +17 -20
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -2
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +16 -20
- package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -1
- package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/map.manifest.js +12 -20
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts +7 -5
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.js +16 -20
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.js +14 -20
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -2
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.js +15 -20
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.js +9 -20
- package/dist/shared/bricks/manifests/table.manifest.d.ts +5 -4
- package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/table.manifest.js +16 -20
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts +5 -5
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/tabs.manifest.js +16 -20
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +5 -3
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.js +19 -20
- package/dist/shared/bricks/manifests/text.manifest.d.ts +3 -10
- package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/text.manifest.js +14 -20
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts +7 -7
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/timeline.manifest.js +16 -20
- package/dist/shared/bricks/manifests/video.manifest.d.ts +1 -1
- package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/video.manifest.js +12 -20
- package/dist/shared/bricks/props/align.d.ts +0 -3
- package/dist/shared/bricks/props/align.d.ts.map +1 -1
- package/dist/shared/bricks/props/align.js +4 -11
- package/dist/shared/bricks/props/background.d.ts +2 -8
- package/dist/shared/bricks/props/background.d.ts.map +1 -1
- package/dist/shared/bricks/props/background.js +4 -9
- package/dist/shared/bricks/props/border.d.ts +0 -7
- package/dist/shared/bricks/props/border.d.ts.map +1 -1
- package/dist/shared/bricks/props/border.js +5 -10
- package/dist/shared/bricks/props/color-preset.d.ts +316 -6
- package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
- package/dist/shared/bricks/props/color-preset.js +2 -5
- package/dist/shared/bricks/props/color.d.ts +3 -5
- package/dist/shared/bricks/props/color.d.ts.map +1 -1
- package/dist/shared/bricks/props/color.js +3 -8
- package/dist/shared/bricks/props/common.d.ts.map +1 -1
- package/dist/shared/bricks/props/common.js +5 -5
- package/dist/shared/bricks/props/css-length.d.ts +0 -1
- package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
- package/dist/shared/bricks/props/css-length.js +1 -4
- package/dist/shared/bricks/props/datasource.d.ts +3 -3
- package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
- package/dist/shared/bricks/props/datasource.js +74 -76
- package/dist/shared/bricks/props/datasource.js.map +1 -1
- package/dist/shared/bricks/props/date.js +21 -4
- package/dist/shared/bricks/props/date.js.map +1 -1
- package/dist/shared/bricks/props/direction.d.ts +1 -2
- package/dist/shared/bricks/props/direction.d.ts.map +1 -1
- package/dist/shared/bricks/props/direction.js +4 -7
- package/dist/shared/bricks/props/dynamic.d.ts +5 -67
- package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
- package/dist/shared/bricks/props/dynamic.js +6 -24
- package/dist/shared/bricks/props/effects.d.ts +1 -3
- package/dist/shared/bricks/props/effects.d.ts.map +1 -1
- package/dist/shared/bricks/props/effects.js +4 -9
- package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
- package/dist/shared/bricks/props/geolocation.js +3 -6
- package/dist/shared/bricks/props/geolocation.js.map +1 -1
- package/dist/shared/bricks/props/grow.d.ts +3 -0
- package/dist/shared/bricks/props/grow.d.ts.map +1 -0
- package/dist/shared/{utils/typed-ref.js → bricks/props/grow.js} +5 -5
- package/dist/shared/bricks/props/helpers.js +6 -6
- package/dist/shared/bricks/props/image.d.ts +3 -8
- package/dist/shared/bricks/props/image.d.ts.map +1 -1
- package/dist/shared/bricks/props/image.js +4 -7
- package/dist/shared/bricks/props/string.d.ts +2 -5
- package/dist/shared/bricks/props/string.d.ts.map +1 -1
- package/dist/shared/bricks/props/string.js +3 -10
- package/dist/shared/bricks/props/tags.d.ts +0 -1
- package/dist/shared/bricks/props/tags.d.ts.map +1 -1
- package/dist/shared/bricks/props/tags.js +3 -6
- package/dist/shared/bricks/props/text.d.ts +0 -3
- package/dist/shared/bricks/props/text.d.ts.map +1 -1
- package/dist/shared/bricks/props/text.js +4 -11
- package/dist/shared/bricks/props/types.d.ts +2 -2
- package/dist/shared/bricks/props/types.d.ts.map +1 -1
- package/dist/shared/bricks.d.ts +65 -154
- package/dist/shared/bricks.d.ts.map +1 -1
- package/dist/shared/bricks.js +48 -52
- package/dist/shared/chunk-2EOCK66Z.js +19 -0
- package/dist/shared/chunk-2EOCK66Z.js.map +1 -0
- package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
- package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
- package/dist/shared/{chunk-2RK3CPYJ.js → chunk-2UEPTT5J.js} +12 -19
- package/dist/shared/chunk-2UEPTT5J.js.map +1 -0
- package/dist/shared/{chunk-W6MRYRGJ.js → chunk-2Z5WOCFS.js} +46 -20
- package/dist/shared/chunk-2Z5WOCFS.js.map +1 -0
- package/dist/shared/{chunk-CRS7QCPZ.js → chunk-34IUWNRX.js} +65 -27
- package/dist/shared/chunk-34IUWNRX.js.map +1 -0
- package/dist/shared/chunk-57NRTXRA.js +309 -0
- package/dist/shared/chunk-57NRTXRA.js.map +1 -0
- package/dist/shared/{chunk-UXTASZ23.js → chunk-5HJT5NJ3.js} +66 -63
- package/dist/shared/chunk-5HJT5NJ3.js.map +1 -0
- package/dist/shared/{chunk-H5JM2M2T.js → chunk-5J4Y43RM.js} +58 -185
- package/dist/shared/chunk-5J4Y43RM.js.map +1 -0
- package/dist/shared/{chunk-RV7AYVFV.js → chunk-5OVOXUFX.js} +6 -20
- package/dist/shared/chunk-5OVOXUFX.js.map +1 -0
- package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
- package/dist/shared/chunk-5RCC2STG.js.map +1 -0
- package/dist/shared/{chunk-42OUNI7C.js → chunk-5SNSUC6Q.js} +27 -29
- package/dist/shared/chunk-5SNSUC6Q.js.map +1 -0
- package/dist/shared/{chunk-ZR6R6Z6O.js → chunk-B5T2LFV2.js} +34 -36
- package/dist/shared/chunk-B5T2LFV2.js.map +1 -0
- package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
- package/dist/shared/chunk-BHARJBEK.js.map +1 -0
- package/dist/shared/{chunk-LLNPH3XR.js → chunk-DCM4732T.js} +6 -8
- package/dist/shared/chunk-DCM4732T.js.map +1 -0
- package/dist/shared/{chunk-LCJ2VFPM.js → chunk-E3ZW57HF.js} +32 -26
- package/dist/shared/chunk-E3ZW57HF.js.map +1 -0
- package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
- package/dist/shared/chunk-EID5HPF3.js.map +1 -0
- package/dist/shared/chunk-EMF5TCPX.js +389 -0
- package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
- package/dist/shared/chunk-EUFVTHAG.js +33 -0
- package/dist/shared/chunk-EUFVTHAG.js.map +1 -0
- package/dist/shared/{chunk-2IHKVMKW.js → chunk-FC52EHCC.js} +18 -19
- package/dist/shared/chunk-FC52EHCC.js.map +1 -0
- package/dist/shared/chunk-FD7YYFRI.js +225 -0
- package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
- package/dist/shared/{chunk-KILJYJFE.js → chunk-FVV27R73.js} +20 -105
- package/dist/shared/chunk-FVV27R73.js.map +1 -0
- package/dist/shared/{chunk-N3ZTQD5I.js → chunk-FYGFB5U5.js} +10 -23
- package/dist/shared/chunk-FYGFB5U5.js.map +1 -0
- package/dist/shared/chunk-GDYCCB3B.js +22 -0
- package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
- package/dist/shared/chunk-GLV6QIIM.js +41 -0
- package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
- package/dist/shared/{chunk-EVLRH6VG.js → chunk-GNTJT7MR.js} +2 -2
- package/dist/shared/chunk-GNTJT7MR.js.map +1 -0
- package/dist/shared/chunk-HHUFGV7J.js +259 -0
- package/dist/shared/chunk-HHUFGV7J.js.map +1 -0
- package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
- package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
- package/dist/shared/{chunk-GIGFNQBO.js → chunk-IMDOF55E.js} +12 -4
- package/dist/shared/chunk-IMDOF55E.js.map +1 -0
- package/dist/shared/{chunk-N3BEBLWF.js → chunk-IPWYNE6Y.js} +34 -34
- package/dist/shared/chunk-J6R3GSKS.js +386 -0
- package/dist/shared/chunk-J6R3GSKS.js.map +1 -0
- package/dist/shared/{chunk-ZRRAK5NS.js → chunk-KRODRZNS.js} +41 -33
- package/dist/shared/chunk-KRODRZNS.js.map +1 -0
- package/dist/shared/chunk-KTA7XES3.js +168 -0
- package/dist/shared/chunk-KTA7XES3.js.map +1 -0
- package/dist/shared/{chunk-2VDR4ZYY.js → chunk-L4W4B2RQ.js} +26 -82
- package/dist/shared/chunk-L4W4B2RQ.js.map +1 -0
- package/dist/shared/chunk-MO6CRLQA.js +73 -0
- package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
- package/dist/shared/{chunk-GQTZPN5D.js → chunk-NTP6BKRU.js} +29 -32
- package/dist/shared/chunk-NTP6BKRU.js.map +1 -0
- package/dist/shared/{chunk-DFAFDBYZ.js → chunk-O53V22BK.js} +34 -27
- package/dist/shared/chunk-O53V22BK.js.map +1 -0
- package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
- package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
- package/dist/shared/{chunk-F247VKAE.js → chunk-ORIUCOED.js} +18 -20
- package/dist/shared/chunk-ORIUCOED.js.map +1 -0
- package/dist/shared/{chunk-GFAQWQER.js → chunk-PFZMRSHJ.js} +33 -35
- package/dist/shared/chunk-PFZMRSHJ.js.map +1 -0
- package/dist/shared/{chunk-KIDICX3Y.js → chunk-QHKOAIOK.js} +43 -78
- package/dist/shared/chunk-QHKOAIOK.js.map +1 -0
- package/dist/shared/{chunk-4MNWMEMM.js → chunk-RDOCVLCF.js} +21 -21
- package/dist/shared/chunk-RDOCVLCF.js.map +1 -0
- package/dist/shared/{chunk-FQDR2BBZ.js → chunk-RFH7PEVS.js} +13 -5
- package/dist/shared/chunk-RFH7PEVS.js.map +1 -0
- package/dist/shared/chunk-T3UPW5OW.js +79 -0
- package/dist/shared/chunk-T3UPW5OW.js.map +1 -0
- package/dist/shared/{chunk-L6C7HUSA.js → chunk-TGKNA2JS.js} +21 -24
- package/dist/shared/chunk-TGKNA2JS.js.map +1 -0
- package/dist/shared/chunk-TZ6X7ZM5.js +158 -0
- package/dist/shared/chunk-TZ6X7ZM5.js.map +1 -0
- package/dist/shared/{chunk-BHC2A43S.js → chunk-UC75KRLX.js} +3 -3
- package/dist/shared/{chunk-BHC2A43S.js.map → chunk-UC75KRLX.js.map} +1 -1
- package/dist/shared/{chunk-LTIJI7Y3.js → chunk-VMIJ6MG5.js} +34 -34
- package/dist/shared/chunk-VMIJ6MG5.js.map +1 -0
- package/dist/shared/{chunk-NTLAKMMQ.js → chunk-VYA2FCTY.js} +6 -17
- package/dist/shared/chunk-VYA2FCTY.js.map +1 -0
- package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
- package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
- package/dist/shared/chunk-XFZQGRRL.js +101 -0
- package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
- package/dist/shared/{chunk-FOGAVJC2.js → chunk-XYWSIMZ6.js} +3 -3
- package/dist/shared/chunk-XYWSIMZ6.js.map +1 -0
- package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
- package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
- package/dist/shared/{chunk-36PLZKMW.js → chunk-ZYQZUWF7.js} +26 -27
- package/dist/shared/chunk-ZYQZUWF7.js.map +1 -0
- package/dist/shared/chunk-ZZVYD4BG.js +41 -0
- package/dist/shared/chunk-ZZVYD4BG.js.map +1 -0
- package/dist/shared/context.d.ts +406 -23
- package/dist/shared/context.d.ts.map +1 -1
- package/dist/shared/context.js +94 -0
- package/dist/shared/context.js.map +1 -1
- package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
- package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/types.js +2 -1
- package/dist/shared/datarecords/types.d.ts +3 -3
- package/dist/shared/datarecords/types.d.ts.map +1 -1
- package/dist/shared/datarecords/types.js +3 -2
- package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
- package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
- package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
- package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
- package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
- package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
- package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
- package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
- package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
- package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
- package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/threads/media/schema.js +4 -8
- package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
- package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
- package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/blog/schema.js +4 -1
- package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
- package/dist/shared/datasources/types.d.ts +25 -25
- package/dist/shared/datasources/types.d.ts.map +1 -1
- package/dist/shared/datasources/types.js +3 -16
- package/dist/shared/images.d.ts +1 -1
- package/dist/shared/images.d.ts.map +1 -1
- package/dist/shared/images.js +4 -38
- package/dist/shared/images.js.map +1 -1
- package/dist/shared/page.d.ts +141 -22
- package/dist/shared/page.d.ts.map +1 -1
- package/dist/shared/page.js +52 -49
- package/dist/shared/responsive.js +1 -1
- package/dist/shared/site.d.ts +81 -191
- package/dist/shared/site.d.ts.map +1 -1
- package/dist/shared/site.js +56 -114
- package/dist/shared/site.js.map +1 -1
- package/dist/shared/sitemap.d.ts +4 -326
- package/dist/shared/sitemap.d.ts.map +1 -1
- package/dist/shared/sitemap.js +51 -58
- package/dist/shared/theme.d.ts +0 -37
- package/dist/shared/theme.d.ts.map +1 -1
- package/dist/shared/theme.js +4 -21
- package/dist/shared/utils/llm.d.ts +1 -10
- package/dist/shared/utils/llm.d.ts.map +1 -1
- package/dist/shared/utils/llm.js +1 -18
- package/dist/shared/utils/schema.d.ts +3 -7
- package/dist/shared/utils/schema.d.ts.map +1 -1
- package/dist/shared/utils/schema.js +2 -19
- package/dist/shared/utils/string-enum.d.ts +9 -3
- package/dist/shared/utils/string-enum.d.ts.map +1 -1
- package/dist/shared/utils/string-enum.js +1 -1
- package/package.json +21 -5
- package/src/shared/ai/schemas.ts +25 -30
- package/src/shared/ai/types.ts +23 -89
- package/src/shared/attributes.ts +53 -51
- package/src/shared/brick-manifest.ts +5 -6
- package/src/shared/bricks/manifests/accordion.manifest.ts +11 -11
- package/src/shared/bricks/manifests/all-props.ts +165 -0
- package/src/shared/bricks/manifests/box.manifest.ts +19 -21
- package/src/shared/bricks/manifests/button.manifest.ts +54 -16
- package/src/shared/bricks/manifests/card.manifest.ts +45 -174
- package/src/shared/bricks/manifests/carousel.manifest.ts +11 -13
- package/src/shared/bricks/manifests/footer.manifest.ts +16 -15
- package/src/shared/bricks/manifests/form.manifest.ts +14 -15
- package/src/shared/bricks/manifests/hero.manifest.ts +58 -265
- package/src/shared/bricks/manifests/html.manifest.ts +6 -0
- package/src/shared/bricks/manifests/icon.manifest.ts +10 -99
- package/src/shared/bricks/manifests/image.manifest.ts +22 -23
- package/src/shared/bricks/manifests/images-gallery.manifest.ts +21 -15
- package/src/shared/bricks/manifests/map.manifest.ts +19 -75
- package/src/shared/bricks/manifests/navbar.manifest.ts +20 -21
- package/src/shared/bricks/manifests/sidebar.manifest.ts +9 -10
- package/src/shared/bricks/manifests/social-links.manifest.ts +17 -20
- package/src/shared/bricks/manifests/spacer.manifest.ts +0 -1
- package/src/shared/bricks/manifests/table.manifest.ts +21 -15
- package/src/shared/bricks/manifests/tabs.manifest.ts +26 -445
- package/src/shared/bricks/manifests/testimonials.manifest.ts +47 -244
- package/src/shared/bricks/manifests/text.manifest.ts +28 -59
- package/src/shared/bricks/manifests/timeline.manifest.ts +29 -24
- package/src/shared/bricks/manifests/video.manifest.ts +9 -10
- package/src/shared/bricks/props/align.ts +0 -13
- package/src/shared/bricks/props/background.ts +3 -15
- package/src/shared/bricks/props/border.ts +2 -13
- package/src/shared/bricks/props/color-preset.ts +9 -10
- package/src/shared/bricks/props/color.ts +12 -20
- package/src/shared/bricks/props/common.ts +8 -15
- package/src/shared/bricks/props/css-length.ts +0 -5
- package/src/shared/bricks/props/datasource.ts +72 -74
- package/src/shared/bricks/props/direction.ts +1 -5
- package/src/shared/bricks/props/dynamic.ts +0 -11
- package/src/shared/bricks/props/effects.ts +0 -9
- package/src/shared/bricks/props/geolocation.ts +3 -3
- package/src/shared/bricks/props/grow.ts +11 -0
- package/src/shared/bricks/props/helpers.ts +1 -1
- package/src/shared/bricks/props/image.ts +44 -16
- package/src/shared/bricks/props/string.ts +7 -18
- package/src/shared/bricks/props/tags.ts +0 -5
- package/src/shared/bricks/props/tests/background.test.ts +1 -15
- package/src/shared/bricks/props/tests/image.test.ts +3 -9
- package/src/shared/bricks/props/tests/string.test.ts +2 -26
- package/src/shared/bricks/props/text.ts +0 -12
- package/src/shared/bricks/props/types.ts +4 -3
- package/src/shared/bricks.ts +166 -1020
- package/src/shared/context.ts +24 -24
- package/src/shared/datarecords/external/airtable/types.ts +12 -11
- package/src/shared/datarecords/types.ts +2 -34
- package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
- package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
- package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
- package/src/shared/datasources/external/threads/media/schema.ts +2 -8
- package/src/shared/datasources/internal/blog/schema.ts +2 -1
- package/src/shared/datasources/types.ts +64 -79
- package/src/shared/images.ts +12 -18
- package/src/shared/page.ts +10 -1
- package/src/shared/site.ts +1 -0
- package/src/shared/sitemap.ts +3 -70
- package/src/shared/tests/attributes.test.ts +2 -0
- package/src/shared/theme.ts +81 -96
- package/src/shared/utils/llm.ts +5 -191
- package/src/shared/utils/schema.ts +95 -258
- package/src/shared/utils/string-enum.ts +25 -4
- package/src/shared/utils/tests/schema.test.ts +278 -314
- package/dist/shared/chunk-2IHKVMKW.js.map +0 -1
- package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
- package/dist/shared/chunk-2VDR4ZYY.js.map +0 -1
- package/dist/shared/chunk-36PLZKMW.js.map +0 -1
- package/dist/shared/chunk-42OUNI7C.js.map +0 -1
- package/dist/shared/chunk-4MNWMEMM.js.map +0 -1
- package/dist/shared/chunk-A2QPY54H.js +0 -13
- package/dist/shared/chunk-A2QPY54H.js.map +0 -1
- package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
- package/dist/shared/chunk-CRS7QCPZ.js.map +0 -1
- package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
- package/dist/shared/chunk-DFAFDBYZ.js.map +0 -1
- package/dist/shared/chunk-DV3G7X34.js +0 -244
- package/dist/shared/chunk-DV3G7X34.js.map +0 -1
- package/dist/shared/chunk-EVLRH6VG.js.map +0 -1
- package/dist/shared/chunk-F22LDHEO.js.map +0 -1
- package/dist/shared/chunk-F247VKAE.js.map +0 -1
- package/dist/shared/chunk-FOGAVJC2.js.map +0 -1
- package/dist/shared/chunk-FQDR2BBZ.js.map +0 -1
- package/dist/shared/chunk-GFAQWQER.js.map +0 -1
- package/dist/shared/chunk-GIGFNQBO.js.map +0 -1
- package/dist/shared/chunk-GQTZPN5D.js.map +0 -1
- package/dist/shared/chunk-H5JM2M2T.js.map +0 -1
- package/dist/shared/chunk-HTUSL2U7.js +0 -260
- package/dist/shared/chunk-HTUSL2U7.js.map +0 -1
- package/dist/shared/chunk-IQIISR22.js +0 -794
- package/dist/shared/chunk-IQIISR22.js.map +0 -1
- package/dist/shared/chunk-JK2FWFJU.js +0 -15
- package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
- package/dist/shared/chunk-KEM5N6GJ.js +0 -505
- package/dist/shared/chunk-KEM5N6GJ.js.map +0 -1
- package/dist/shared/chunk-KIDICX3Y.js.map +0 -1
- package/dist/shared/chunk-KILJYJFE.js.map +0 -1
- package/dist/shared/chunk-L6C7HUSA.js.map +0 -1
- package/dist/shared/chunk-LCJ2VFPM.js.map +0 -1
- package/dist/shared/chunk-LLNPH3XR.js.map +0 -1
- package/dist/shared/chunk-LTIJI7Y3.js.map +0 -1
- package/dist/shared/chunk-MFNHFN2B.js +0 -103
- package/dist/shared/chunk-MFNHFN2B.js.map +0 -1
- package/dist/shared/chunk-N3ZTQD5I.js.map +0 -1
- package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
- package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
- package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
- package/dist/shared/chunk-SE6O65HC.js +0 -44
- package/dist/shared/chunk-SE6O65HC.js.map +0 -1
- package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
- package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
- package/dist/shared/chunk-TNTFKLCR.js +0 -1225
- package/dist/shared/chunk-TNTFKLCR.js.map +0 -1
- package/dist/shared/chunk-U5ZECCJM.js +0 -464
- package/dist/shared/chunk-U5ZECCJM.js.map +0 -1
- package/dist/shared/chunk-UXTASZ23.js.map +0 -1
- package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
- package/dist/shared/chunk-WKN566LN.js +0 -29
- package/dist/shared/chunk-WKN566LN.js.map +0 -1
- package/dist/shared/chunk-Y74LZNND.js.map +0 -1
- package/dist/shared/chunk-YWOTQWIQ.js +0 -572
- package/dist/shared/chunk-YWOTQWIQ.js.map +0 -1
- package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
- package/dist/shared/chunk-ZR6R6Z6O.js.map +0 -1
- package/dist/shared/chunk-ZRRAK5NS.js.map +0 -1
- package/dist/shared/tests/schema-registry.test.d.ts +0 -2
- package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
- package/dist/shared/utils/schema-registry.d.ts +0 -5
- package/dist/shared/utils/schema-registry.d.ts.map +0 -1
- package/dist/shared/utils/schema-registry.js +0 -29
- package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
- package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
- package/dist/shared/utils/typed-ref.d.ts +0 -43
- package/dist/shared/utils/typed-ref.d.ts.map +0 -1
- package/dist/shared/utils/typed-ref.js.map +0 -1
- package/src/shared/tests/schema-registry.test.ts +0 -12
- package/src/shared/utils/schema-registry.ts +0 -82
- package/src/shared/utils/tests/schema-registry.test.ts +0 -13
- package/src/shared/utils/typed-ref.ts +0 -53
- /package/dist/shared/{utils/schema-registry.js.map → bricks/props/grow.js.map} +0 -0
- /package/dist/shared/{chunk-N3BEBLWF.js.map → chunk-IPWYNE6Y.js.map} +0 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
+
import {
|
|
4
|
+
StringEnum
|
|
5
|
+
} from "./chunk-GDYCCB3B.js";
|
|
3
6
|
|
|
4
7
|
// src/shared/datarecords/external/airtable/types.ts
|
|
5
8
|
import { Type } from "@sinclair/typebox";
|
|
@@ -39,17 +42,17 @@ var airtableOptions = Type.Object({
|
|
|
39
42
|
),
|
|
40
43
|
fields: Type.Optional(airtableFields)
|
|
41
44
|
});
|
|
42
|
-
var AirtableFieldTypes =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
var AirtableFieldTypes = StringEnum([
|
|
46
|
+
"number",
|
|
47
|
+
"checkbox",
|
|
48
|
+
"date",
|
|
49
|
+
"dateTime",
|
|
50
|
+
"email",
|
|
51
|
+
"url",
|
|
52
|
+
"singleLineText",
|
|
53
|
+
"multilineText",
|
|
54
|
+
"singleSelect",
|
|
55
|
+
"multipleSelects"
|
|
53
56
|
]);
|
|
54
57
|
|
|
55
58
|
export {
|
|
@@ -57,4 +60,4 @@ export {
|
|
|
57
60
|
airtableOptions,
|
|
58
61
|
AirtableFieldTypes
|
|
59
62
|
};
|
|
60
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-EID5HPF3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/datarecords/external/airtable/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\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 = StringEnum([\n \"number\",\n \"checkbox\",\n \"date\",\n \"dateTime\",\n \"email\",\n \"url\",\n \"singleLineText\",\n \"multilineText\",\n \"singleSelect\",\n \"multipleSelects\",\n]);\nexport type AirtableFieldType = Static<typeof AirtableFieldTypes>;\n"],"mappings":";;;;;;;AAAA,SAAS,YAAyB;AAG3B,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,WAAW;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
toLLMSchema
|
|
5
|
+
} from "./chunk-MO6CRLQA.js";
|
|
6
|
+
import {
|
|
7
|
+
StringEnum
|
|
8
|
+
} from "./chunk-GDYCCB3B.js";
|
|
9
|
+
|
|
10
|
+
// src/shared/datasources/types.ts
|
|
11
|
+
import { Type } from "@sinclair/typebox";
|
|
12
|
+
var providersSchema = StringEnum([
|
|
13
|
+
// "facebook-posts",
|
|
14
|
+
// "instagram-feed",
|
|
15
|
+
// "mastodon-account",
|
|
16
|
+
// "mastodon-status",
|
|
17
|
+
// "mastodon-status-list",
|
|
18
|
+
"internal"
|
|
19
|
+
// "rss",
|
|
20
|
+
// // "threads-media",
|
|
21
|
+
// // "tiktok-video",
|
|
22
|
+
// "youtube-list",
|
|
23
|
+
// "http-json",
|
|
24
|
+
// "internal-blog",
|
|
25
|
+
// "internal-changelog",
|
|
26
|
+
// // "internal-contact-info",
|
|
27
|
+
// "internal-faq",
|
|
28
|
+
// "internal-links",
|
|
29
|
+
// "internal-recipes",
|
|
30
|
+
// "internal-restaurant",
|
|
31
|
+
// "internal-cv",
|
|
32
|
+
]);
|
|
33
|
+
var datasourceInternalManifest = Type.Object(
|
|
34
|
+
{
|
|
35
|
+
id: Type.String({
|
|
36
|
+
title: "ID",
|
|
37
|
+
description: "Unique identifier of the datasource. Used to reference the datasource in the system. Use a url-safe string like a slug."
|
|
38
|
+
}),
|
|
39
|
+
label: Type.String({ title: "Label", description: "Label of the datasource displayed in the UI" }),
|
|
40
|
+
provider: Type.Literal("internal", {
|
|
41
|
+
title: "Internal",
|
|
42
|
+
description: "Internal datasource saved locally in Upstart."
|
|
43
|
+
}),
|
|
44
|
+
schema: Type.Any({
|
|
45
|
+
title: "Schema",
|
|
46
|
+
description: "JSON Schema of datasource. MUST Always an array of objects."
|
|
47
|
+
}),
|
|
48
|
+
indexes: Type.Array(
|
|
49
|
+
Type.Object({
|
|
50
|
+
name: Type.String({ title: "Index name" }),
|
|
51
|
+
fields: Type.Array(Type.String(), { title: "Fields to index" }),
|
|
52
|
+
unique: Type.Optional(Type.Boolean({ title: "Unique index", default: false }))
|
|
53
|
+
}),
|
|
54
|
+
{
|
|
55
|
+
title: "Indexes",
|
|
56
|
+
description: "IMPORTANT: Indexes to create on the datasource. use it to enforce uniqueness or improve query performance."
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
examples: [
|
|
62
|
+
{
|
|
63
|
+
id: "customers",
|
|
64
|
+
label: "Customers",
|
|
65
|
+
provider: "internal",
|
|
66
|
+
schema: {
|
|
67
|
+
type: "array",
|
|
68
|
+
items: {
|
|
69
|
+
type: "object",
|
|
70
|
+
properties: {
|
|
71
|
+
name: { type: "string", title: "Name" },
|
|
72
|
+
email: { type: "string", title: "Email", format: "email" }
|
|
73
|
+
},
|
|
74
|
+
required: ["name", "email"],
|
|
75
|
+
title: "Customer",
|
|
76
|
+
examples: [
|
|
77
|
+
{ name: "John Doe", email: "john.doe@example.com" },
|
|
78
|
+
{
|
|
79
|
+
name: "Jane Smith",
|
|
80
|
+
email: "jane.smith@example.com"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: "Alice Johnson",
|
|
84
|
+
email: "alice.johnson@example.com"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: "Bob Brown",
|
|
88
|
+
email: "bob.brown@example.com"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: "Charlie Davis",
|
|
92
|
+
email: "charlie.davis@example.com"
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
indexes: [
|
|
98
|
+
{
|
|
99
|
+
name: "idx_customers_email",
|
|
100
|
+
fields: ["email"],
|
|
101
|
+
unique: true
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: "blog_posts",
|
|
107
|
+
label: "Blog Posts",
|
|
108
|
+
provider: "internal",
|
|
109
|
+
schema: {
|
|
110
|
+
type: "array",
|
|
111
|
+
items: {
|
|
112
|
+
type: "object",
|
|
113
|
+
properties: {
|
|
114
|
+
title: { type: "string", title: "Title" },
|
|
115
|
+
content: { type: "string", title: "Content" },
|
|
116
|
+
author: { type: "string", title: "Author" }
|
|
117
|
+
},
|
|
118
|
+
required: ["title", "content", "author"],
|
|
119
|
+
title: "Blog Post",
|
|
120
|
+
examples: [
|
|
121
|
+
{
|
|
122
|
+
title: "My First Blog Post",
|
|
123
|
+
content: "This is the content of my first blog post.",
|
|
124
|
+
author: "John Doe"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: "Exploring the Cosmos",
|
|
128
|
+
content: "A journey through the stars and galaxies.",
|
|
129
|
+
author: "Jane Smith"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
title: "The Art of Cooking",
|
|
133
|
+
content: "Delicious recipes and cooking tips.",
|
|
134
|
+
author: "Alice Johnson"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
title: "Traveling the World",
|
|
138
|
+
content: "My adventures in different countries.",
|
|
139
|
+
author: "Bob Brown"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
title: "Technology Trends",
|
|
143
|
+
content: "The latest trends in technology.",
|
|
144
|
+
author: "Charlie Davis"
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
indexes: [
|
|
150
|
+
{
|
|
151
|
+
name: "idx_blog_posts_title",
|
|
152
|
+
fields: ["title"],
|
|
153
|
+
unique: true
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
var datasourceManifest = datasourceInternalManifest;
|
|
161
|
+
var datasourceManifestLLM = toLLMSchema(datasourceManifest);
|
|
162
|
+
var datasourcesList = Type.Array(datasourceManifest);
|
|
163
|
+
var stringFilter = Type.Object({
|
|
164
|
+
field: Type.String(),
|
|
165
|
+
op: StringEnum([
|
|
166
|
+
"eq",
|
|
167
|
+
"ne",
|
|
168
|
+
"contains",
|
|
169
|
+
"notContains",
|
|
170
|
+
"startsWith",
|
|
171
|
+
"notStartsWith",
|
|
172
|
+
"endsWith",
|
|
173
|
+
"notEndsWith"
|
|
174
|
+
]),
|
|
175
|
+
value: Type.String()
|
|
176
|
+
});
|
|
177
|
+
var numberFilter = Type.Object({
|
|
178
|
+
field: Type.String(),
|
|
179
|
+
op: StringEnum(["eq", "ne", "lt", "lte", "gt", "gte"]),
|
|
180
|
+
value: Type.Number()
|
|
181
|
+
});
|
|
182
|
+
var dateFilterAbsolute = Type.Object({
|
|
183
|
+
field: Type.String(),
|
|
184
|
+
op: StringEnum(["before", "after"]),
|
|
185
|
+
value: Type.String()
|
|
186
|
+
});
|
|
187
|
+
var dateFilterRelative = Type.Object({
|
|
188
|
+
field: Type.String(),
|
|
189
|
+
op: StringEnum(["beforeNow", "afterNow"]),
|
|
190
|
+
value: Type.Null()
|
|
191
|
+
});
|
|
192
|
+
var arrayFilter = Type.Object({
|
|
193
|
+
field: Type.String(),
|
|
194
|
+
op: StringEnum(["contains", "notContains", "containsAll", "containsAny", "notContainsAny"]),
|
|
195
|
+
value: Type.Array(Type.String())
|
|
196
|
+
});
|
|
197
|
+
var booleanFilter = Type.Object({
|
|
198
|
+
field: Type.String(),
|
|
199
|
+
op: Type.Literal("eq"),
|
|
200
|
+
value: Type.Boolean()
|
|
201
|
+
});
|
|
202
|
+
var queryFilter = Type.Union([
|
|
203
|
+
stringFilter,
|
|
204
|
+
numberFilter,
|
|
205
|
+
dateFilterAbsolute,
|
|
206
|
+
dateFilterRelative,
|
|
207
|
+
arrayFilter,
|
|
208
|
+
booleanFilter
|
|
209
|
+
]);
|
|
210
|
+
var filterExpression = Type.Recursive(
|
|
211
|
+
(This) => Type.Union(
|
|
212
|
+
[
|
|
213
|
+
Type.Object({
|
|
214
|
+
op: Type.Literal("and"),
|
|
215
|
+
fields: Type.Array(Type.Union([queryFilter, This]), { title: "Indexed Fields" })
|
|
216
|
+
}),
|
|
217
|
+
Type.Object({
|
|
218
|
+
op: Type.Literal("or"),
|
|
219
|
+
fields: Type.Array(Type.Union([queryFilter, This]))
|
|
220
|
+
})
|
|
221
|
+
],
|
|
222
|
+
{
|
|
223
|
+
default: {
|
|
224
|
+
op: "and",
|
|
225
|
+
fields: []
|
|
226
|
+
},
|
|
227
|
+
examples: [
|
|
228
|
+
{
|
|
229
|
+
op: "and",
|
|
230
|
+
fields: [
|
|
231
|
+
{
|
|
232
|
+
field: "$id",
|
|
233
|
+
op: "eq",
|
|
234
|
+
value: "123"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
field: "$publicationDate",
|
|
238
|
+
op: "beforeNow"
|
|
239
|
+
}
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
]
|
|
243
|
+
}
|
|
244
|
+
),
|
|
245
|
+
{
|
|
246
|
+
title: "Filter Expression",
|
|
247
|
+
description: "Expression used to filter query results. Can be a combination of and/or conditions."
|
|
248
|
+
}
|
|
249
|
+
);
|
|
250
|
+
var querySchema = Type.Object(
|
|
251
|
+
{
|
|
252
|
+
id: Type.String({
|
|
253
|
+
title: "Query ID",
|
|
254
|
+
description: "Unique identifier for the query. Used to reference the query in the system. URL-safe string like a slug."
|
|
255
|
+
}),
|
|
256
|
+
label: Type.String({
|
|
257
|
+
title: "Label",
|
|
258
|
+
maxLength: 100,
|
|
259
|
+
description: "Label of the query displayed in the UI"
|
|
260
|
+
}),
|
|
261
|
+
datasourceId: Type.String({
|
|
262
|
+
title: "Database",
|
|
263
|
+
description: "ID of the datasource to query"
|
|
264
|
+
}),
|
|
265
|
+
limit: Type.Number({
|
|
266
|
+
title: "Limit",
|
|
267
|
+
description: "Limit the number of records to fetch from the datasource.",
|
|
268
|
+
minimum: 1,
|
|
269
|
+
default: 10
|
|
270
|
+
}),
|
|
271
|
+
sortDirection: Type.Optional(
|
|
272
|
+
StringEnum(["asc", "desc"], {
|
|
273
|
+
title: "Sort",
|
|
274
|
+
enumNames: ["Ascending", "Descending"],
|
|
275
|
+
description: "Direction to sort the records by",
|
|
276
|
+
default: "desc"
|
|
277
|
+
})
|
|
278
|
+
),
|
|
279
|
+
sortField: Type.Optional(
|
|
280
|
+
Type.String({
|
|
281
|
+
title: "Sort Field",
|
|
282
|
+
description: "Field to sort by (must be an indexed field)",
|
|
283
|
+
default: "$publicationDate"
|
|
284
|
+
})
|
|
285
|
+
),
|
|
286
|
+
filters: Type.Optional(filterExpression),
|
|
287
|
+
parameters: Type.Optional(
|
|
288
|
+
Type.Array(
|
|
289
|
+
Type.Object({
|
|
290
|
+
field: Type.String({ title: "Field", description: "Field name to use as parameter" }),
|
|
291
|
+
op: StringEnum(
|
|
292
|
+
[
|
|
293
|
+
"eq",
|
|
294
|
+
"ne",
|
|
295
|
+
"contains",
|
|
296
|
+
"notContains",
|
|
297
|
+
"startsWith",
|
|
298
|
+
"notStartsWith",
|
|
299
|
+
"endsWith",
|
|
300
|
+
"notEndsWith",
|
|
301
|
+
"lt",
|
|
302
|
+
"lte",
|
|
303
|
+
"gt",
|
|
304
|
+
"gte",
|
|
305
|
+
"before",
|
|
306
|
+
"after",
|
|
307
|
+
"beforeNow",
|
|
308
|
+
"afterNow",
|
|
309
|
+
"containsAll",
|
|
310
|
+
"containsAny",
|
|
311
|
+
"notContainsAny"
|
|
312
|
+
],
|
|
313
|
+
{ title: "Operator", description: "Operator to use for the parameter" }
|
|
314
|
+
)
|
|
315
|
+
}),
|
|
316
|
+
{
|
|
317
|
+
title: "Parameters",
|
|
318
|
+
description: "Field name and operator that will be used as parameters when using the query in pages. Only indexed fields can be used as parameters.",
|
|
319
|
+
default: [],
|
|
320
|
+
examples: [
|
|
321
|
+
[{ field: "$slug", op: "eq" }],
|
|
322
|
+
[{ field: "category", op: "eq" }],
|
|
323
|
+
[{ field: "tags", op: "containsAny" }],
|
|
324
|
+
[{ field: "author", op: "eq" }],
|
|
325
|
+
[{ field: "title", op: "contains" }]
|
|
326
|
+
]
|
|
327
|
+
}
|
|
328
|
+
)
|
|
329
|
+
)
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
examples: [
|
|
333
|
+
{
|
|
334
|
+
id: "latest-posts",
|
|
335
|
+
label: "Latest posts",
|
|
336
|
+
datasourceId: "blog_posts",
|
|
337
|
+
limit: 5,
|
|
338
|
+
sortDirection: "desc",
|
|
339
|
+
sortField: "$publicationDate"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
id: "posts-by-category",
|
|
343
|
+
label: "Posts by category",
|
|
344
|
+
datasourceId: "blog_posts",
|
|
345
|
+
limit: 10,
|
|
346
|
+
sortDirection: "desc",
|
|
347
|
+
sortField: "$publicationDate",
|
|
348
|
+
parameters: [{ field: "category", op: "eq" }]
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
id: "posts-by-tag",
|
|
352
|
+
label: "Posts by tag",
|
|
353
|
+
datasourceId: "blog_posts",
|
|
354
|
+
limit: 10,
|
|
355
|
+
sortDirection: "desc",
|
|
356
|
+
sortField: "$publicationDate",
|
|
357
|
+
parameters: [{ field: "tags", op: "containsAny" }]
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
id: "author-posts",
|
|
361
|
+
label: "Author posts",
|
|
362
|
+
datasourceId: "blog_posts",
|
|
363
|
+
limit: 10,
|
|
364
|
+
sortDirection: "desc",
|
|
365
|
+
sortField: "$publicationDate",
|
|
366
|
+
parameters: [{ field: "author", op: "eq" }]
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
id: "search-posts",
|
|
370
|
+
label: "Search posts",
|
|
371
|
+
datasourceId: "blog_posts",
|
|
372
|
+
limit: 10,
|
|
373
|
+
sortDirection: "desc",
|
|
374
|
+
sortField: "$publicationDate",
|
|
375
|
+
parameters: [{ field: "title", op: "contains" }]
|
|
376
|
+
}
|
|
377
|
+
]
|
|
378
|
+
}
|
|
379
|
+
);
|
|
380
|
+
|
|
381
|
+
export {
|
|
382
|
+
providersSchema,
|
|
383
|
+
datasourceManifest,
|
|
384
|
+
datasourceManifestLLM,
|
|
385
|
+
datasourcesList,
|
|
386
|
+
queryFilter,
|
|
387
|
+
querySchema
|
|
388
|
+
};
|
|
389
|
+
//# sourceMappingURL=chunk-EMF5TCPX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/datasources/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"../utils/string-enum\";\nimport { toLLMSchema } from \"../utils/llm\";\n\nexport const providersSchema = StringEnum([\n // \"facebook-posts\",\n // \"instagram-feed\",\n // \"mastodon-account\",\n // \"mastodon-status\",\n // \"mastodon-status-list\",\n \"internal\",\n // \"rss\",\n // // \"threads-media\",\n // // \"tiktok-video\",\n // \"youtube-list\",\n // \"http-json\",\n // \"internal-blog\",\n // \"internal-changelog\",\n // // \"internal-contact-info\",\n // \"internal-faq\",\n // \"internal-links\",\n // \"internal-recipes\",\n // \"internal-restaurant\",\n // \"internal-cv\",\n]);\n\nexport type DatasourceProvider = Static<typeof providersSchema>;\n\n// const datasourceProviderManifest = Type.Composite([\n// Type.Object({\n// id: Type.String({\n// title: \"ID\",\n// description:\n// \"Unique identifier of the datasource. Used to reference the datasource in the system. Use a url-safe string like a slug.\",\n// }),\n// label: Type.String({ title: \"Label\", description: \"Label of the datasource displayed in the UI\" }),\n// schema: Type.Null({\n// description: \"Always null for provider datasources. The schema is defined by the provider.\",\n// }),\n// ttlMinutes: Type.Optional(\n// Type.Number({\n// title: \"Time to live\",\n// description:\n// \"Time to live in minutes. If set to -1, it never expires and has to be manually refreshed. If set to 0, the datasource is always fetched live. If > 0, then the datasource is feteched every N minutes.\",\n// }),\n// ),\n// refresh: Type.Optional(\n// Type.Object(\n// {\n// method: Type.Union([Type.Literal(\"interval\"), Type.Literal(\"manual\"), Type.Literal(\"live\")]),\n// interval: Type.Optional(Type.Number()),\n// },\n// {\n// title: \"Refresh options\",\n// description: \"Options to refresh the datasource\",\n// },\n// ),\n// ),\n// }),\n// ]);\n\n// export type DatasourceProviderManifest = Static<typeof datasourceProviderManifest>;\n\nconst datasourceInternalManifest = Type.Object(\n {\n id: Type.String({\n title: \"ID\",\n description:\n \"Unique identifier of the datasource. Used to reference the datasource in the system. Use a url-safe string like a slug.\",\n }),\n label: Type.String({ title: \"Label\", description: \"Label of the datasource displayed in the UI\" }),\n provider: Type.Literal(\"internal\", {\n title: \"Internal\",\n description: \"Internal datasource saved locally in Upstart.\",\n }),\n schema: Type.Any({\n title: \"Schema\",\n description: \"JSON Schema of datasource. MUST Always an array of objects.\",\n }),\n indexes: Type.Array(\n Type.Object({\n name: Type.String({ title: \"Index name\" }),\n fields: Type.Array(Type.String(), { title: \"Fields to index\" }),\n unique: Type.Optional(Type.Boolean({ title: \"Unique index\", default: false })),\n }),\n {\n title: \"Indexes\",\n description:\n \"IMPORTANT: Indexes to create on the datasource. use it to enforce uniqueness or improve query performance.\",\n },\n ),\n },\n {\n examples: [\n {\n id: \"customers\",\n label: \"Customers\",\n provider: \"internal\",\n schema: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\", title: \"Name\" },\n email: { type: \"string\", title: \"Email\", format: \"email\" },\n },\n required: [\"name\", \"email\"],\n title: \"Customer\",\n examples: [\n { name: \"John Doe\", email: \"john.doe@example.com\" },\n {\n name: \"Jane Smith\",\n email: \"jane.smith@example.com\",\n },\n {\n name: \"Alice Johnson\",\n email: \"alice.johnson@example.com\",\n },\n {\n name: \"Bob Brown\",\n email: \"bob.brown@example.com\",\n },\n {\n name: \"Charlie Davis\",\n email: \"charlie.davis@example.com\",\n },\n ],\n },\n },\n indexes: [\n {\n name: \"idx_customers_email\",\n fields: [\"email\"],\n unique: true,\n },\n ],\n },\n {\n id: \"blog_posts\",\n label: \"Blog Posts\",\n provider: \"internal\",\n schema: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n title: { type: \"string\", title: \"Title\" },\n content: { type: \"string\", title: \"Content\" },\n author: { type: \"string\", title: \"Author\" },\n },\n required: [\"title\", \"content\", \"author\"],\n title: \"Blog Post\",\n examples: [\n {\n title: \"My First Blog Post\",\n content: \"This is the content of my first blog post.\",\n author: \"John Doe\",\n },\n {\n title: \"Exploring the Cosmos\",\n content: \"A journey through the stars and galaxies.\",\n author: \"Jane Smith\",\n },\n {\n title: \"The Art of Cooking\",\n content: \"Delicious recipes and cooking tips.\",\n author: \"Alice Johnson\",\n },\n {\n title: \"Traveling the World\",\n content: \"My adventures in different countries.\",\n author: \"Bob Brown\",\n },\n {\n title: \"Technology Trends\",\n content: \"The latest trends in technology.\",\n author: \"Charlie Davis\",\n },\n ],\n },\n },\n indexes: [\n {\n name: \"idx_blog_posts_title\",\n fields: [\"title\"],\n unique: true,\n },\n ],\n },\n ],\n },\n);\n\nexport type InternalDatasource = Static<typeof datasourceInternalManifest>;\n\n// const datasourceJsonManifest = Type.Composite([\n// datasourceBaseFields,\n// Type.Object({\n// provider: Type.Literal(\"http-json\", {\n// title: \"JSON Array\",\n// description: \"JSON array datasource.\",\n// }),\n// options: httpJsonOptions,\n// schema: Type.Any({\n// title: \"Schema\",\n// description: \"JSON Schema of datasource. Always an array of objects.\",\n// examples: [\n// {\n// type: \"array\",\n// items: {\n// type: \"object\",\n// properties: {\n// id: { type: \"string\", title: \"ID\" },\n// title: { type: \"string\", title: \"Title\" },\n// firstname: { type: \"string\", title: \"Firstname\" },\n// lastname: { type: \"string\", title: \"Lastname\" },\n// createdAt: { type: \"string\", format: \"date-time\", title: \"Created at\" },\n// email: { type: \"string\", format: \"email\", title: \"Email\" },\n// },\n// required: [\"id\", \"title\", \"firstname\", \"lastname\", \"email\", \"createdAt\"],\n// title: \"Employee\",\n// },\n// title: \"Employees\",\n// description: \"Employees list\",\n// },\n// ],\n// }),\n// }),\n// ]);\n\n// type DatasourceJsonArrayManifest = Static<typeof datasourceJsonManifest>;\n\n// Fow now, let support only custom (internal) datasource\n// export const datasourceManifest = datasourceCustomManifest;\nexport const datasourceManifest = datasourceInternalManifest;\nexport const datasourceManifestLLM = toLLMSchema(datasourceManifest);\n\nexport type Datasource = Static<typeof datasourceManifest>;\nexport const datasourcesList = Type.Array(datasourceManifest);\nexport type DatasourcesList = Static<typeof datasourcesList>;\n\nconst stringFilter = Type.Object({\n field: Type.String(),\n op: StringEnum([\n \"eq\",\n \"ne\",\n \"contains\",\n \"notContains\",\n \"startsWith\",\n \"notStartsWith\",\n \"endsWith\",\n \"notEndsWith\",\n ]),\n value: Type.String(),\n});\n\nconst numberFilter = Type.Object({\n field: Type.String(),\n op: StringEnum([\"eq\", \"ne\", \"lt\", \"lte\", \"gt\", \"gte\"]),\n value: Type.Number(),\n});\n\nconst dateFilterAbsolute = Type.Object({\n field: Type.String(),\n op: StringEnum([\"before\", \"after\"]),\n value: Type.String(),\n});\n\nconst dateFilterRelative = Type.Object({\n field: Type.String(),\n op: StringEnum([\"beforeNow\", \"afterNow\"]),\n value: Type.Null(),\n});\n\nconst arrayFilter = Type.Object({\n field: Type.String(),\n op: StringEnum([\"contains\", \"notContains\", \"containsAll\", \"containsAny\", \"notContainsAny\"]),\n value: Type.Array(Type.String()),\n});\n\nconst booleanFilter = Type.Object({\n field: Type.String(),\n op: Type.Literal(\"eq\"),\n value: Type.Boolean(),\n});\n\nexport const queryFilter = Type.Union([\n stringFilter,\n numberFilter,\n dateFilterAbsolute,\n dateFilterRelative,\n arrayFilter,\n booleanFilter,\n]);\n\nconst filterExpression = Type.Recursive(\n (This) =>\n Type.Union(\n [\n Type.Object({\n op: Type.Literal(\"and\"),\n fields: Type.Array(Type.Union([queryFilter, This]), { title: \"Indexed Fields\" }),\n }),\n Type.Object({\n op: Type.Literal(\"or\"),\n fields: Type.Array(Type.Union([queryFilter, This])),\n }),\n ],\n {\n default: {\n op: \"and\",\n fields: [],\n },\n examples: [\n {\n op: \"and\",\n fields: [\n {\n field: \"$id\",\n op: \"eq\",\n value: \"123\",\n },\n {\n field: \"$publicationDate\",\n op: \"beforeNow\",\n },\n ],\n },\n ],\n },\n ),\n {\n title: \"Filter Expression\",\n description: \"Expression used to filter query results. Can be a combination of and/or conditions.\",\n },\n);\n\nexport const querySchema = Type.Object(\n {\n id: Type.String({\n title: \"Query ID\",\n description:\n \"Unique identifier for the query. Used to reference the query in the system. URL-safe string like a slug.\",\n }),\n label: Type.String({\n title: \"Label\",\n maxLength: 100,\n description: \"Label of the query displayed in the UI\",\n }),\n datasourceId: Type.String({\n title: \"Database\",\n description: \"ID of the datasource to query\",\n }),\n limit: Type.Number({\n title: \"Limit\",\n description: \"Limit the number of records to fetch from the datasource.\",\n minimum: 1,\n default: 10,\n }),\n sortDirection: Type.Optional(\n StringEnum([\"asc\", \"desc\"], {\n title: \"Sort\",\n enumNames: [\"Ascending\", \"Descending\"],\n description: \"Direction to sort the records by\",\n default: \"desc\",\n }),\n ),\n sortField: Type.Optional(\n Type.String({\n title: \"Sort Field\",\n description: \"Field to sort by (must be an indexed field)\",\n default: \"$publicationDate\",\n }),\n ),\n filters: Type.Optional(filterExpression),\n parameters: Type.Optional(\n Type.Array(\n Type.Object({\n field: Type.String({ title: \"Field\", description: \"Field name to use as parameter\" }),\n op: StringEnum(\n [\n \"eq\",\n \"ne\",\n \"contains\",\n \"notContains\",\n \"startsWith\",\n \"notStartsWith\",\n \"endsWith\",\n \"notEndsWith\",\n \"lt\",\n \"lte\",\n \"gt\",\n \"gte\",\n \"before\",\n \"after\",\n \"beforeNow\",\n \"afterNow\",\n \"containsAll\",\n \"containsAny\",\n \"notContainsAny\",\n ],\n { title: \"Operator\", description: \"Operator to use for the parameter\" },\n ),\n }),\n {\n title: \"Parameters\",\n description:\n \"Field name and operator that will be used as parameters when using the query in pages. Only indexed fields can be used as parameters.\",\n default: [],\n examples: [\n [{ field: \"$slug\", op: \"eq\" }],\n [{ field: \"category\", op: \"eq\" }],\n [{ field: \"tags\", op: \"containsAny\" }],\n [{ field: \"author\", op: \"eq\" }],\n [{ field: \"title\", op: \"contains\" }],\n ],\n },\n ),\n ),\n },\n {\n examples: [\n {\n id: \"latest-posts\",\n label: \"Latest posts\",\n datasourceId: \"blog_posts\",\n limit: 5,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n },\n {\n id: \"posts-by-category\",\n label: \"Posts by category\",\n datasourceId: \"blog_posts\",\n limit: 10,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n parameters: [{ field: \"category\", op: \"eq\" }],\n },\n {\n id: \"posts-by-tag\",\n label: \"Posts by tag\",\n datasourceId: \"blog_posts\",\n limit: 10,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n parameters: [{ field: \"tags\", op: \"containsAny\" }],\n },\n {\n id: \"author-posts\",\n label: \"Author posts\",\n datasourceId: \"blog_posts\",\n limit: 10,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n parameters: [{ field: \"author\", op: \"eq\" }],\n },\n {\n id: \"search-posts\",\n label: \"Search posts\",\n datasourceId: \"blog_posts\",\n limit: 10,\n sortDirection: \"desc\",\n sortField: \"$publicationDate\",\n parameters: [{ field: \"title\", op: \"contains\" }],\n },\n ],\n },\n);\n\nexport type Query = Static<typeof querySchema>;\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/bricks/props/color.ts
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
6
|
+
function color(options = {}) {
|
|
7
|
+
return Type.String({
|
|
8
|
+
title: "Text color",
|
|
9
|
+
"ai:instructions": "Format is `text-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",
|
|
10
|
+
pattern: "^text-(primary|secondary|accent|neutral|base|inherit)-?(50|100|200|300|400|500|600|700|800|900)?$",
|
|
11
|
+
"ui:styleId": "styles:color",
|
|
12
|
+
"ui:field": "color",
|
|
13
|
+
"ui:color-type": "text",
|
|
14
|
+
...options
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function borderColor(options = {}) {
|
|
18
|
+
return Type.String({
|
|
19
|
+
title: "Border color",
|
|
20
|
+
"ai:instructions": "Format is `border-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",
|
|
21
|
+
pattern: "^border-(primary|secondary|accent|neutral|base)-?(50|100|200|300|400|500|600|700|800|900)?$",
|
|
22
|
+
"ui:styleId": "styles:borderColor",
|
|
23
|
+
"ui:field": "color",
|
|
24
|
+
"ui:color-type": "border",
|
|
25
|
+
...options
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
color,
|
|
31
|
+
borderColor
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=chunk-EUFVTHAG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/props/color.ts"],"sourcesContent":["import { type Static, type StringOptions, Type } from \"@sinclair/typebox\";\n\nexport function color(options: StringOptions = {}) {\n return Type.String({\n title: \"Text color\",\n \"ai:instructions\":\n \"Format is `text-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900\",\n pattern:\n \"^text-(primary|secondary|accent|neutral|base|inherit)-?(50|100|200|300|400|500|600|700|800|900)?$\",\n \"ui:styleId\": \"styles:color\",\n \"ui:field\": \"color\",\n \"ui:color-type\": \"text\",\n ...options,\n });\n}\n\nexport type ColorSettings = Static<ReturnType<typeof color>>;\n\nexport function borderColor(options: StringOptions = {}) {\n return Type.String({\n title: \"Border color\",\n \"ai:instructions\":\n \"Format is `border-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900\",\n pattern: \"^border-(primary|secondary|accent|neutral|base)-?(50|100|200|300|400|500|600|700|800|900)?$\",\n \"ui:styleId\": \"styles:borderColor\",\n \"ui:field\": \"color\",\n \"ui:color-type\": \"border\",\n ...options,\n });\n}\n\nexport type BorderColorSettings = Static<ReturnType<typeof borderColor>>;\n"],"mappings":";;;;AAAA,SAA0C,YAAY;AAE/C,SAAS,MAAM,UAAyB,CAAC,GAAG;AACjD,SAAO,KAAK,OAAO;AAAA,IACjB,OAAO;AAAA,IACP,mBACE;AAAA,IACF,SACE;AAAA,IACF,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,GAAG;AAAA,EACL,CAAC;AACH;AAIO,SAAS,YAAY,UAAyB,CAAC,GAAG;AACvD,SAAO,KAAK,OAAO;AAAA,IACjB,OAAO;AAAA,IACP,mBACE;AAAA,IACF,SAAS;AAAA,IACT,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
|
|
@@ -3,26 +3,25 @@
|
|
|
3
3
|
import {
|
|
4
4
|
fixedPositioned
|
|
5
5
|
} from "./chunk-6WIMWLCJ.js";
|
|
6
|
+
import {
|
|
7
|
+
border
|
|
8
|
+
} from "./chunk-VYA2FCTY.js";
|
|
6
9
|
import {
|
|
7
10
|
defineProps,
|
|
8
11
|
group
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
defineBrickManifest
|
|
12
|
-
} from "./chunk-EVLRH6VG.js";
|
|
12
|
+
} from "./chunk-UC75KRLX.js";
|
|
13
13
|
import {
|
|
14
|
-
|
|
15
|
-
} from "./chunk-
|
|
14
|
+
backgroundColor
|
|
15
|
+
} from "./chunk-5OVOXUFX.js";
|
|
16
16
|
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} from "./chunk-N3ZTQD5I.js";
|
|
17
|
+
shadow
|
|
18
|
+
} from "./chunk-5RCC2STG.js";
|
|
20
19
|
import {
|
|
21
|
-
|
|
22
|
-
} from "./chunk-
|
|
20
|
+
urlOrPageId
|
|
21
|
+
} from "./chunk-FYGFB5U5.js";
|
|
23
22
|
import {
|
|
24
|
-
|
|
25
|
-
} from "./chunk-
|
|
23
|
+
defineBrickManifest
|
|
24
|
+
} from "./chunk-GNTJT7MR.js";
|
|
26
25
|
|
|
27
26
|
// src/shared/bricks/manifests/sidebar.manifest.ts
|
|
28
27
|
import { VscLayoutSidebarLeftOff } from "react-icons/vsc";
|
|
@@ -47,9 +46,9 @@ var manifest = defineBrickManifest({
|
|
|
47
46
|
group({
|
|
48
47
|
title: "Main element",
|
|
49
48
|
children: {
|
|
50
|
-
backgroundColor: Type.Optional(
|
|
51
|
-
border: Type.Optional(
|
|
52
|
-
shadow: Type.Optional(
|
|
49
|
+
backgroundColor: Type.Optional(backgroundColor()),
|
|
50
|
+
border: Type.Optional(border()),
|
|
51
|
+
shadow: Type.Optional(shadow()),
|
|
53
52
|
fixedPositioned: Type.Optional(fixedPositioned())
|
|
54
53
|
},
|
|
55
54
|
metadata: {
|
|
@@ -64,8 +63,8 @@ var manifest = defineBrickManifest({
|
|
|
64
63
|
navItems: Type.Optional(
|
|
65
64
|
Type.Array(
|
|
66
65
|
Type.Object({
|
|
67
|
-
urlOrPageId:
|
|
68
|
-
label: Type.Optional(
|
|
66
|
+
urlOrPageId: urlOrPageId(),
|
|
67
|
+
label: Type.Optional(Type.String({ title: "Label" }))
|
|
69
68
|
}),
|
|
70
69
|
{ title: "Navigation items", default: [] }
|
|
71
70
|
)
|
|
@@ -102,4 +101,4 @@ export {
|
|
|
102
101
|
manifest,
|
|
103
102
|
examples
|
|
104
103
|
};
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
104
|
+
//# sourceMappingURL=chunk-FC52EHCC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/sidebar.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps, group } from \"../props/helpers\";\nimport { VscLayoutSidebarLeftOff } from \"react-icons/vsc\";\nimport { Type } from \"@sinclair/typebox\";\nimport { urlOrPageId } from \"../props/string\";\nimport { backgroundColor } from \"../props/background\";\nimport { border } from \"../props/border\";\nimport { fixedPositioned } from \"../props/position\";\nimport { shadow } from \"../props/effects\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"sidebar\",\n category: \"layout\",\n name: \"Sidebar\",\n description: \"A sidebar element\",\n inlineDragDisabled: true,\n isGlobalBrick: true,\n duplicatable: false,\n resizable: false,\n movable: false,\n aiInstructions: `\n This brick should be used on most sites/pages for navigation. By default, it will display links\n to the main pages of the site. You can customize the links by using the 'navigation.navItems' prop.\n `.trim(),\n icon: VscLayoutSidebarLeftOff,\n props: defineProps({\n container: Type.Optional(\n group({\n title: \"Main element\",\n children: {\n backgroundColor: Type.Optional(backgroundColor()),\n border: Type.Optional(border()),\n shadow: Type.Optional(shadow()),\n fixedPositioned: Type.Optional(fixedPositioned()),\n },\n metadata: {\n \"ui:responsive\": true,\n },\n }),\n ),\n navigation: Type.Optional(\n group({\n title: \"Links\",\n children: {\n navItems: Type.Optional(\n Type.Array(\n Type.Object({\n urlOrPageId: urlOrPageId(),\n label: Type.Optional(Type.String({ title: \"Label\" })),\n }),\n { title: \"Navigation items\", default: [] },\n ),\n ),\n },\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Standard sidebar with navigation links base on site pages\",\n type: \"sidebar\",\n props: {},\n },\n {\n description: \"Sidebar with specified navigation links\",\n type: \"sidebar\",\n props: {\n container: {\n backgroundColor: \"#f0f0f0\",\n },\n navigation: {\n navItems: [\n { urlOrPageId: \"https://google.com\", label: \"Google\" },\n { urlOrPageId: \"https://bing.com\", label: \"Bing\" },\n ],\n },\n },\n },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,+BAA+B;AACxC,SAAS,YAAY;AAQd,IAAM,WAAW,oBAAoB;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,gBAAgB;AAAA;AAAA;AAAA,IAGd,KAAK;AAAA,EACP,MAAM;AAAA,EACN,OAAO,YAAY;AAAA,IACjB,WAAW,KAAK;AAAA,MACd,MAAM;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,UACR,iBAAiB,KAAK,SAAS,gBAAgB,CAAC;AAAA,UAChD,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,UAC9B,QAAQ,KAAK,SAAS,OAAO,CAAC;AAAA,UAC9B,iBAAiB,KAAK,SAAS,gBAAgB,CAAC;AAAA,QAClD;AAAA,QACA,UAAU;AAAA,UACR,iBAAiB;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,YAAY,KAAK;AAAA,MACf,MAAM;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,UACR,UAAU,KAAK;AAAA,YACb,KAAK;AAAA,cACH,KAAK,OAAO;AAAA,gBACV,aAAa,YAAY;AAAA,gBACzB,OAAO,KAAK,SAAS,KAAK,OAAO,EAAE,OAAO,QAAQ,CAAC,CAAC;AAAA,cACtD,CAAC;AAAA,cACD,EAAE,OAAO,oBAAoB,SAAS,CAAC,EAAE;AAAA,YAC3C;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH,CAAC;AAIM,IAAM,WAAqC;AAAA,EAChD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO,CAAC;AAAA,EACV;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,WAAW;AAAA,QACT,iBAAiB;AAAA,MACnB;AAAA,MACA,YAAY;AAAA,QACV,UAAU;AAAA,UACR,EAAE,aAAa,sBAAsB,OAAO,SAAS;AAAA,UACrD,EAAE,aAAa,oBAAoB,OAAO,OAAO;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|