@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
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
defaultProps,
|
|
5
|
+
manifests
|
|
6
|
+
} from "./chunk-IPWYNE6Y.js";
|
|
7
|
+
import {
|
|
8
|
+
mergeIgnoringArrays
|
|
9
|
+
} from "./chunk-3ZDN5BWN.js";
|
|
10
|
+
import {
|
|
11
|
+
direction
|
|
12
|
+
} from "./chunk-WPZV3LYL.js";
|
|
13
|
+
import {
|
|
14
|
+
background
|
|
15
|
+
} from "./chunk-5OVOXUFX.js";
|
|
16
|
+
import {
|
|
17
|
+
colorPreset
|
|
18
|
+
} from "./chunk-IEMCCHM4.js";
|
|
19
|
+
import {
|
|
20
|
+
cssLength
|
|
21
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
22
|
+
import {
|
|
23
|
+
alignItems,
|
|
24
|
+
justifyContent
|
|
25
|
+
} from "./chunk-ZRBTAC3G.js";
|
|
26
|
+
import {
|
|
27
|
+
toLLMSchema
|
|
28
|
+
} from "./chunk-MO6CRLQA.js";
|
|
29
|
+
import {
|
|
30
|
+
getSchemaDefaults
|
|
31
|
+
} from "./chunk-TZ6X7ZM5.js";
|
|
32
|
+
import {
|
|
33
|
+
StringEnum
|
|
34
|
+
} from "./chunk-GDYCCB3B.js";
|
|
35
|
+
|
|
36
|
+
// src/shared/bricks.ts
|
|
37
|
+
import { Type } from "@sinclair/typebox";
|
|
38
|
+
import { customAlphabet } from "nanoid";
|
|
39
|
+
var generateId = customAlphabet("azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN", 7);
|
|
40
|
+
var brickAbsolutePositionSchema = Type.Object({
|
|
41
|
+
left: Type.Optional(
|
|
42
|
+
Type.String({
|
|
43
|
+
title: "top",
|
|
44
|
+
description: "The left position in css unit."
|
|
45
|
+
})
|
|
46
|
+
),
|
|
47
|
+
top: Type.Optional(
|
|
48
|
+
Type.String({
|
|
49
|
+
title: "top",
|
|
50
|
+
description: "The top position in css unit."
|
|
51
|
+
})
|
|
52
|
+
),
|
|
53
|
+
right: Type.Optional(
|
|
54
|
+
Type.String({
|
|
55
|
+
title: "right",
|
|
56
|
+
description: "The right position in css unit."
|
|
57
|
+
})
|
|
58
|
+
),
|
|
59
|
+
bottom: Type.Optional(
|
|
60
|
+
Type.String({
|
|
61
|
+
title: "bottom",
|
|
62
|
+
description: "The bottom position in css unit."
|
|
63
|
+
})
|
|
64
|
+
),
|
|
65
|
+
inset: Type.Optional(
|
|
66
|
+
Type.String({
|
|
67
|
+
title: "inset",
|
|
68
|
+
description: "The inset position in css unit."
|
|
69
|
+
})
|
|
70
|
+
),
|
|
71
|
+
translateX: Type.Optional(
|
|
72
|
+
Type.String({
|
|
73
|
+
title: "translateX",
|
|
74
|
+
description: "The translateX position in css unit."
|
|
75
|
+
})
|
|
76
|
+
),
|
|
77
|
+
translateY: Type.Optional(
|
|
78
|
+
Type.String({
|
|
79
|
+
title: "translateY",
|
|
80
|
+
description: "The translateY position in css unit."
|
|
81
|
+
})
|
|
82
|
+
),
|
|
83
|
+
rotate: Type.Optional(
|
|
84
|
+
Type.String({
|
|
85
|
+
title: "rotate",
|
|
86
|
+
description: "The rotate position in css unit."
|
|
87
|
+
})
|
|
88
|
+
)
|
|
89
|
+
});
|
|
90
|
+
var brickTypeSchema = StringEnum(Object.keys(defaultProps), {
|
|
91
|
+
title: "Brick type"
|
|
92
|
+
});
|
|
93
|
+
var brickSchema = Type.Object({
|
|
94
|
+
id: Type.String({
|
|
95
|
+
title: "ID",
|
|
96
|
+
description: "A unique identifier for the brick."
|
|
97
|
+
}),
|
|
98
|
+
type: brickTypeSchema,
|
|
99
|
+
label: Type.Optional(
|
|
100
|
+
Type.String({
|
|
101
|
+
title: "Label",
|
|
102
|
+
description: "A human-readable label for the brick. Used for organization and identification."
|
|
103
|
+
})
|
|
104
|
+
),
|
|
105
|
+
props: Type.Any({
|
|
106
|
+
title: "Props",
|
|
107
|
+
description: "The static props of the brick. The available props depends on the brick type."
|
|
108
|
+
}),
|
|
109
|
+
mobileProps: Type.Optional(
|
|
110
|
+
Type.Any({
|
|
111
|
+
title: "Props",
|
|
112
|
+
description: "The overriden props for mobile, merged with desktop props. Same type as props but partial."
|
|
113
|
+
})
|
|
114
|
+
)
|
|
115
|
+
});
|
|
116
|
+
function makeFullBrickSchemaForLLM(type, otherTypes) {
|
|
117
|
+
if (!otherTypes || !otherTypes.length) {
|
|
118
|
+
return toLLMSchema(
|
|
119
|
+
Type.Object(
|
|
120
|
+
{
|
|
121
|
+
id: Type.String({
|
|
122
|
+
title: "ID",
|
|
123
|
+
description: "A unique identifier for the brick."
|
|
124
|
+
}),
|
|
125
|
+
type: Type.Literal(type),
|
|
126
|
+
props: manifests[type].props,
|
|
127
|
+
mobileProps: Type.Optional(Type.Partial(manifests[type].props))
|
|
128
|
+
}
|
|
129
|
+
// IMPORTANT: DO NOT set "additionalProperties" to `false` because it would break validation with Cabidela library
|
|
130
|
+
// { additionalProperties: false },
|
|
131
|
+
)
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
return toLLMSchema(
|
|
135
|
+
Type.Object(
|
|
136
|
+
{
|
|
137
|
+
id: Type.String({
|
|
138
|
+
title: "ID",
|
|
139
|
+
description: "A unique identifier for the brick."
|
|
140
|
+
}),
|
|
141
|
+
type: Type.Literal(type),
|
|
142
|
+
props: Type.Composite([
|
|
143
|
+
brickSchema.properties.props,
|
|
144
|
+
Type.Object({
|
|
145
|
+
$children: Type.Array(
|
|
146
|
+
Type.Union(
|
|
147
|
+
otherTypes.map(
|
|
148
|
+
(t) => Type.Object({
|
|
149
|
+
id: Type.String({
|
|
150
|
+
title: "ID",
|
|
151
|
+
description: "A unique identifier for the brick."
|
|
152
|
+
}),
|
|
153
|
+
type: Type.Literal(t),
|
|
154
|
+
props: manifests[t].props,
|
|
155
|
+
mobileProps: Type.Optional(Type.Partial(manifests[t].props))
|
|
156
|
+
})
|
|
157
|
+
)
|
|
158
|
+
)
|
|
159
|
+
)
|
|
160
|
+
})
|
|
161
|
+
]),
|
|
162
|
+
mobileProps: Type.Optional(Type.Partial(manifests[type].props))
|
|
163
|
+
}
|
|
164
|
+
// IMPORTANT: DO NOT set "additionalProperties" to `false` because it would break validation with Cabidela library
|
|
165
|
+
// { additionalProperties: false },
|
|
166
|
+
)
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
var sectionProps = Type.Object({
|
|
170
|
+
colorPreset: Type.Optional(
|
|
171
|
+
colorPreset({
|
|
172
|
+
title: "Color"
|
|
173
|
+
})
|
|
174
|
+
),
|
|
175
|
+
backgroundImage: Type.Optional(
|
|
176
|
+
background({
|
|
177
|
+
title: "Background"
|
|
178
|
+
})
|
|
179
|
+
),
|
|
180
|
+
direction: Type.Optional(
|
|
181
|
+
direction({
|
|
182
|
+
default: "flex-row",
|
|
183
|
+
title: "Direction",
|
|
184
|
+
description: "The direction of the section. Only apply to desktop. On mobile, it is always vertical. By default, horizontal (row), which is the most common.",
|
|
185
|
+
"ui:responsive": "desktop"
|
|
186
|
+
})
|
|
187
|
+
),
|
|
188
|
+
minHeight: Type.Optional(
|
|
189
|
+
cssLength({
|
|
190
|
+
title: "Min height",
|
|
191
|
+
default: "fit-content",
|
|
192
|
+
description: "The min height of the section. default is 'fit-content'. You can also use the keyword 'full' to make it full viewport height. Lastly, you can use any valid CSS length unit.",
|
|
193
|
+
"ui:field": "hidden"
|
|
194
|
+
})
|
|
195
|
+
),
|
|
196
|
+
variant: Type.Optional(
|
|
197
|
+
StringEnum(["navbar", "footer", "sidebar"], {
|
|
198
|
+
title: "Custom section variant",
|
|
199
|
+
description: "Used for custom styling and layout.",
|
|
200
|
+
enumNames: ["Navbar", "Footer", "Sidebar"],
|
|
201
|
+
"ui:field": "hidden",
|
|
202
|
+
"ai:hidden": true
|
|
203
|
+
})
|
|
204
|
+
),
|
|
205
|
+
maxWidth: Type.Optional(
|
|
206
|
+
StringEnum(["max-w-screen-lg", "max-w-screen-xl", "max-w-screen-2xl", "max-w-full"], {
|
|
207
|
+
title: "Max width",
|
|
208
|
+
default: "max-w-full",
|
|
209
|
+
enumNames: ["M", "L", "XL", "Full"],
|
|
210
|
+
description: "The maximum width of the section. Desktop only",
|
|
211
|
+
"ai:instructions": "Choose the most appropriate max width for the section. The value 'max-w-full' is the most common and the default. Use the same value for all sections on the same page unless there is a good reason to do otherwise.",
|
|
212
|
+
displayAs: "button-group",
|
|
213
|
+
"ui:responsive": "desktop"
|
|
214
|
+
})
|
|
215
|
+
),
|
|
216
|
+
verticalMargin: Type.Optional(
|
|
217
|
+
cssLength({
|
|
218
|
+
title: "Vertical Margin",
|
|
219
|
+
description: "The vertical margin of the section. By default, all sections touch each other with no space in between. If you want to add space between sections, set this value to e.g. '2rem' or '32px'. Adding a vertical margin will reveal the background color of the page.",
|
|
220
|
+
default: "0",
|
|
221
|
+
"ui:styleId": "styles:verticalMargin"
|
|
222
|
+
})
|
|
223
|
+
),
|
|
224
|
+
justifyContent: Type.Optional(
|
|
225
|
+
justifyContent({
|
|
226
|
+
default: "justify-center"
|
|
227
|
+
})
|
|
228
|
+
),
|
|
229
|
+
alignItems: Type.Optional(
|
|
230
|
+
alignItems({
|
|
231
|
+
default: "items-center"
|
|
232
|
+
})
|
|
233
|
+
),
|
|
234
|
+
padding: Type.Optional(
|
|
235
|
+
cssLength({
|
|
236
|
+
default: "2rem",
|
|
237
|
+
description: "Padding inside the section.",
|
|
238
|
+
title: "Padding",
|
|
239
|
+
"ui:responsive": true,
|
|
240
|
+
"ui:placeholder": "Not specified",
|
|
241
|
+
"ui:styleId": "styles:padding"
|
|
242
|
+
})
|
|
243
|
+
),
|
|
244
|
+
gap: Type.Optional(
|
|
245
|
+
cssLength({
|
|
246
|
+
title: "Gap",
|
|
247
|
+
description: "The gap between the bricks in the section.",
|
|
248
|
+
default: "2rem",
|
|
249
|
+
"ui:styleId": "styles:gap"
|
|
250
|
+
})
|
|
251
|
+
),
|
|
252
|
+
wrap: Type.Optional(
|
|
253
|
+
Type.Boolean({
|
|
254
|
+
title: "Wrap",
|
|
255
|
+
description: "Wrap bricks if they overflow the section.",
|
|
256
|
+
default: true,
|
|
257
|
+
"ui:styleId": "styles:wrap"
|
|
258
|
+
})
|
|
259
|
+
),
|
|
260
|
+
lastTouched: Type.Optional(
|
|
261
|
+
Type.Number({
|
|
262
|
+
description: "Do not use this field. It is used internally by the editor.",
|
|
263
|
+
"ui:field": "hidden",
|
|
264
|
+
"ai:hidden": true
|
|
265
|
+
})
|
|
266
|
+
)
|
|
267
|
+
});
|
|
268
|
+
var sectionSchema = Type.Object(
|
|
269
|
+
{
|
|
270
|
+
id: Type.String({
|
|
271
|
+
description: "The unique ID of the section. Use a human readable url-safe slug",
|
|
272
|
+
examples: ["content-section", "contact-section"]
|
|
273
|
+
}),
|
|
274
|
+
label: Type.String({
|
|
275
|
+
description: "The label of the section. Shown only to the website owner, not public.",
|
|
276
|
+
examples: ["Content", "Contact"]
|
|
277
|
+
}),
|
|
278
|
+
order: Type.Number({
|
|
279
|
+
description: "Determines section order in the page (lower numbers appear first). 0-based"
|
|
280
|
+
}),
|
|
281
|
+
props: sectionProps,
|
|
282
|
+
mobileProps: Type.Optional(Type.Partial(sectionProps)),
|
|
283
|
+
bricks: Type.Array(brickSchema)
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
description: "Sections are direct children of the page that are stacked vertically."
|
|
287
|
+
}
|
|
288
|
+
);
|
|
289
|
+
var sectionSchemaNoBricks = Type.Omit(sectionSchema, ["bricks"]);
|
|
290
|
+
var sectionDefaultprops = getSchemaDefaults(sectionSchema.properties.props, "desktop");
|
|
291
|
+
var sectionMobileDefaultprops = getSchemaDefaults(
|
|
292
|
+
sectionSchema.properties.mobileProps,
|
|
293
|
+
"mobile"
|
|
294
|
+
);
|
|
295
|
+
function processSections(sections, siteAttributes, pageAttributes) {
|
|
296
|
+
const processSection = (section) => {
|
|
297
|
+
return {
|
|
298
|
+
...section,
|
|
299
|
+
props: mergeIgnoringArrays({}, sectionDefaultprops, section.props),
|
|
300
|
+
mobileProps: mergeIgnoringArrays({}, sectionMobileDefaultprops, section.mobileProps || {}),
|
|
301
|
+
bricks: section.bricks.map(processBrick).filter(Boolean)
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
const finalSections = sections.map(processSection);
|
|
305
|
+
if (siteAttributes.navbar && !pageAttributes.noNavbar) {
|
|
306
|
+
finalSections.unshift(
|
|
307
|
+
processSection({
|
|
308
|
+
order: -1,
|
|
309
|
+
id: "navbar-section",
|
|
310
|
+
label: "Navbar",
|
|
311
|
+
props: {
|
|
312
|
+
variant: "navbar",
|
|
313
|
+
direction: "flex-row"
|
|
314
|
+
},
|
|
315
|
+
mobileProps: {},
|
|
316
|
+
bricks: [
|
|
317
|
+
{
|
|
318
|
+
id: "navbar",
|
|
319
|
+
type: "navbar",
|
|
320
|
+
props: siteAttributes.navbar
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
})
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
if (siteAttributes.footer && !pageAttributes.noFooter) {
|
|
327
|
+
finalSections.push(
|
|
328
|
+
processSection({
|
|
329
|
+
order: 1e3,
|
|
330
|
+
id: "footer-section",
|
|
331
|
+
label: "Footer",
|
|
332
|
+
props: {
|
|
333
|
+
variant: "footer",
|
|
334
|
+
direction: "flex-row"
|
|
335
|
+
},
|
|
336
|
+
mobileProps: {},
|
|
337
|
+
bricks: [
|
|
338
|
+
{
|
|
339
|
+
id: "footer",
|
|
340
|
+
type: "footer",
|
|
341
|
+
props: siteAttributes.footer
|
|
342
|
+
}
|
|
343
|
+
]
|
|
344
|
+
})
|
|
345
|
+
);
|
|
346
|
+
}
|
|
347
|
+
return finalSections;
|
|
348
|
+
}
|
|
349
|
+
function processBrick(brick) {
|
|
350
|
+
const defProps = defaultProps[brick.type];
|
|
351
|
+
const result = {
|
|
352
|
+
...brick,
|
|
353
|
+
props: mergeIgnoringArrays({}, defProps.props, {
|
|
354
|
+
...brick.props,
|
|
355
|
+
...brick.props.$children ? { $children: brick.props.$children.map(processBrick).filter(Boolean) } : {}
|
|
356
|
+
})
|
|
357
|
+
};
|
|
358
|
+
return result;
|
|
359
|
+
}
|
|
360
|
+
function getDefaultPropsForBrick(type) {
|
|
361
|
+
return defaultProps[type].props;
|
|
362
|
+
}
|
|
363
|
+
function createEmptyBrick(type, ghost = false) {
|
|
364
|
+
const props = { ...defaultProps[type].props, ghost };
|
|
365
|
+
const newBrick = {
|
|
366
|
+
id: `b-${generateId()}`,
|
|
367
|
+
type,
|
|
368
|
+
props
|
|
369
|
+
};
|
|
370
|
+
return newBrick;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
export {
|
|
374
|
+
generateId,
|
|
375
|
+
brickTypeSchema,
|
|
376
|
+
brickSchema,
|
|
377
|
+
makeFullBrickSchemaForLLM,
|
|
378
|
+
sectionProps,
|
|
379
|
+
sectionSchema,
|
|
380
|
+
sectionSchemaNoBricks,
|
|
381
|
+
processSections,
|
|
382
|
+
processBrick,
|
|
383
|
+
getDefaultPropsForBrick,
|
|
384
|
+
createEmptyBrick
|
|
385
|
+
};
|
|
386
|
+
//# sourceMappingURL=chunk-J6R3GSKS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { customAlphabet } from \"nanoid\";\nimport { defaultProps, manifests } from \"./bricks/manifests/all-manifests\";\nimport { cssLength } from \"./bricks/props/css-length\";\nimport { colorPreset } from \"./bricks/props/color-preset\";\nimport { mergeIgnoringArrays } from \"./utils/merge\";\nimport { getSchemaDefaults } from \"./utils/schema\";\nimport { StringEnum } from \"./utils/string-enum\";\nimport { alignItems, justifyContent } from \"./bricks/props/align\";\nimport type { CommonBrickProps } from \"./bricks/props/common\";\nimport { direction } from \"./bricks/props/direction\";\nimport type { PageAttributes, SiteAttributes } from \"./attributes\";\nimport { toLLMSchema } from \"./utils/llm\";\nimport { background } from \"./bricks/props/background\";\n\n/**\n * Generates a unique identifier for bricks.\n */\nexport const generateId = customAlphabet(\"azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN\", 7);\n\nconst brickAbsolutePositionSchema = Type.Object({\n left: Type.Optional(\n Type.String({\n title: \"top\",\n description: \"The left position in css unit.\",\n }),\n ),\n top: Type.Optional(\n Type.String({\n title: \"top\",\n description: \"The top position in css unit.\",\n }),\n ),\n right: Type.Optional(\n Type.String({\n title: \"right\",\n description: \"The right position in css unit.\",\n }),\n ),\n bottom: Type.Optional(\n Type.String({\n title: \"bottom\",\n description: \"The bottom position in css unit.\",\n }),\n ),\n inset: Type.Optional(\n Type.String({\n title: \"inset\",\n description: \"The inset position in css unit.\",\n }),\n ),\n translateX: Type.Optional(\n Type.String({\n title: \"translateX\",\n description: \"The translateX position in css unit.\",\n }),\n ),\n translateY: Type.Optional(\n Type.String({\n title: \"translateY\",\n description: \"The translateY position in css unit.\",\n }),\n ),\n rotate: Type.Optional(\n Type.String({\n title: \"rotate\",\n description: \"The rotate position in css unit.\",\n }),\n ),\n});\n\nexport type BrickAbsolutePosition = Static<typeof brickAbsolutePositionSchema>;\n\nexport const brickTypeSchema = StringEnum(Object.keys(defaultProps), {\n title: \"Brick type\",\n});\n\nexport const brickSchema = Type.Object({\n id: Type.String({\n title: \"ID\",\n description: \"A unique identifier for the brick.\",\n }),\n type: brickTypeSchema,\n label: Type.Optional(\n Type.String({\n title: \"Label\",\n description: \"A human-readable label for the brick. Used for organization and identification.\",\n }),\n ),\n props: Type.Any({\n title: \"Props\",\n description: \"The static props of the brick. The available props depends on the brick type.\",\n }),\n mobileProps: Type.Optional(\n Type.Any({\n title: \"Props\",\n description:\n \"The overriden props for mobile, merged with desktop props. Same type as props but partial.\",\n }),\n ),\n});\n\nexport function makeFullBrickSchemaForLLM(type: string, otherTypes?: string[]) {\n if (!otherTypes || !otherTypes.length) {\n return toLLMSchema(\n Type.Object(\n {\n id: Type.String({\n title: \"ID\",\n description: \"A unique identifier for the brick.\",\n }),\n type: Type.Literal(type),\n props: manifests[type].props,\n mobileProps: Type.Optional(Type.Partial(manifests[type].props)),\n },\n // IMPORTANT: DO NOT set \"additionalProperties\" to `false` because it would break validation with Cabidela library\n // { additionalProperties: false },\n ),\n );\n }\n return toLLMSchema(\n Type.Object(\n {\n id: Type.String({\n title: \"ID\",\n description: \"A unique identifier for the brick.\",\n }),\n type: Type.Literal(type),\n props: Type.Composite([\n brickSchema.properties.props,\n Type.Object({\n $children: Type.Array(\n Type.Union(\n otherTypes.map((t) =>\n Type.Object({\n id: Type.String({\n title: \"ID\",\n description: \"A unique identifier for the brick.\",\n }),\n type: Type.Literal(t),\n props: manifests[t].props,\n mobileProps: Type.Optional(Type.Partial(manifests[t].props)),\n }),\n ),\n ),\n ),\n }),\n ]),\n mobileProps: Type.Optional(Type.Partial(manifests[type].props)),\n },\n // IMPORTANT: DO NOT set \"additionalProperties\" to `false` because it would break validation with Cabidela library\n // { additionalProperties: false },\n ),\n );\n}\n\nexport type Brick = Omit<Static<typeof brickSchema>, \"props\" | \"mobileProps\"> & {\n props: CommonBrickProps & Record<string, unknown>;\n mobileProps?: Partial<CommonBrickProps & Record<string, unknown>>;\n};\n\nexport const sectionProps = Type.Object({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n backgroundImage: Type.Optional(\n background({\n title: \"Background\",\n }),\n ),\n direction: Type.Optional(\n direction({\n default: \"flex-row\",\n title: \"Direction\",\n description:\n \"The direction of the section. Only apply to desktop. On mobile, it is always vertical. By default, horizontal (row), which is the most common.\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n minHeight: Type.Optional(\n cssLength({\n title: \"Min height\",\n default: \"fit-content\",\n description:\n \"The min height of the section. default is 'fit-content'. You can also use the keyword 'full' to make it full viewport height. Lastly, you can use any valid CSS length unit.\",\n \"ui:field\": \"hidden\",\n }),\n ),\n variant: Type.Optional(\n StringEnum([\"navbar\", \"footer\", \"sidebar\"], {\n title: \"Custom section variant\",\n description: \"Used for custom styling and layout.\",\n enumNames: [\"Navbar\", \"Footer\", \"Sidebar\"],\n \"ui:field\": \"hidden\",\n \"ai:hidden\": true,\n }),\n ),\n maxWidth: Type.Optional(\n StringEnum([\"max-w-screen-lg\", \"max-w-screen-xl\", \"max-w-screen-2xl\", \"max-w-full\"], {\n title: \"Max width\",\n default: \"max-w-full\",\n enumNames: [\"M\", \"L\", \"XL\", \"Full\"],\n description: \"The maximum width of the section. Desktop only\",\n \"ai:instructions\":\n \"Choose the most appropriate max width for the section. The value 'max-w-full' is the most common and the default. Use the same value for all sections on the same page unless there is a good reason to do otherwise.\",\n displayAs: \"button-group\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n verticalMargin: Type.Optional(\n cssLength({\n title: \"Vertical Margin\",\n description:\n \"The vertical margin of the section. By default, all sections touch each other with no space in between. If you want to add space between sections, set this value to e.g. '2rem' or '32px'. Adding a vertical margin will reveal the background color of the page.\",\n default: \"0\",\n \"ui:styleId\": \"styles:verticalMargin\",\n }),\n ),\n justifyContent: Type.Optional(\n justifyContent({\n default: \"justify-center\",\n }),\n ),\n alignItems: Type.Optional(\n alignItems({\n default: \"items-center\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"2rem\",\n description: \"Padding inside the section.\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n gap: Type.Optional(\n cssLength({\n title: \"Gap\",\n description: \"The gap between the bricks in the section.\",\n default: \"2rem\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n wrap: Type.Optional(\n Type.Boolean({\n title: \"Wrap\",\n description: \"Wrap bricks if they overflow the section.\",\n default: true,\n \"ui:styleId\": \"styles:wrap\",\n }),\n ),\n lastTouched: Type.Optional(\n Type.Number({\n description: \"Do not use this field. It is used internally by the editor.\",\n \"ui:field\": \"hidden\",\n \"ai:hidden\": true,\n }),\n ),\n});\n\nexport const sectionSchema = Type.Object(\n {\n id: Type.String({\n description: \"The unique ID of the section. Use a human readable url-safe slug\",\n examples: [\"content-section\", \"contact-section\"],\n }),\n label: Type.String({\n description: \"The label of the section. Shown only to the website owner, not public.\",\n examples: [\"Content\", \"Contact\"],\n }),\n order: Type.Number({\n description: \"Determines section order in the page (lower numbers appear first). 0-based\",\n }),\n props: sectionProps,\n mobileProps: Type.Optional(Type.Partial(sectionProps)),\n bricks: Type.Array(brickSchema),\n },\n {\n description: \"Sections are direct children of the page that are stacked vertically.\",\n },\n);\n\nexport const sectionSchemaNoBricks = Type.Omit(sectionSchema, [\"bricks\"]);\nexport type SectionSchemaNoBricks = Static<typeof sectionSchemaNoBricks>;\n\nconst sectionDefaultprops = getSchemaDefaults(sectionSchema.properties.props, \"desktop\") as Section[\"props\"];\nconst sectionMobileDefaultprops = getSchemaDefaults(\n sectionSchema.properties.mobileProps,\n \"mobile\",\n) as Section[\"mobileProps\"];\n\nexport type Section = Static<typeof sectionSchema>;\n\nexport function processSections(\n sections: Section[],\n siteAttributes: SiteAttributes,\n pageAttributes: PageAttributes,\n): Section[] {\n const processSection = (section: Section) => {\n return {\n ...section,\n props: mergeIgnoringArrays({} as Section[\"props\"], sectionDefaultprops, section.props),\n mobileProps: mergeIgnoringArrays({}, sectionMobileDefaultprops, section.mobileProps || {}),\n bricks: section.bricks.map(processBrick).filter(Boolean) as Brick[],\n } as const;\n };\n\n const finalSections = sections.map(processSection);\n\n if (siteAttributes.navbar && !pageAttributes.noNavbar) {\n finalSections.unshift(\n processSection({\n order: -1,\n id: \"navbar-section\",\n label: \"Navbar\",\n props: {\n variant: \"navbar\",\n direction: \"flex-row\",\n },\n mobileProps: {},\n bricks: [\n {\n id: \"navbar\",\n type: \"navbar\",\n props: siteAttributes.navbar,\n },\n ],\n }),\n );\n }\n if (siteAttributes.footer && !pageAttributes.noFooter) {\n finalSections.push(\n processSection({\n order: 1000,\n id: \"footer-section\",\n label: \"Footer\",\n props: {\n variant: \"footer\",\n direction: \"flex-row\",\n },\n mobileProps: {},\n bricks: [\n {\n id: \"footer\",\n type: \"footer\",\n props: siteAttributes.footer,\n },\n ],\n }),\n );\n }\n\n return finalSections satisfies Section[];\n}\n\n/**\n * process a brick and add default props\n */\nexport function processBrick<T extends Brick>(brick: T): T {\n const defProps = defaultProps[brick.type];\n // if (!defProps) {\n // console.warn(`No default props found for brick type: ${brick.type}`);\n // return false; // or throw an error if you prefer\n // }\n const result = {\n ...brick,\n props: mergeIgnoringArrays({} as Brick[\"props\"], defProps.props, {\n ...brick.props,\n ...(brick.props.$children\n ? { $children: (brick.props.$children as T[]).map(processBrick).filter(Boolean) }\n : {}),\n }),\n };\n\n return result;\n}\n\nexport function getDefaultPropsForBrick(type: string) {\n return defaultProps[type].props;\n}\n\nexport function createEmptyBrick(type: string, ghost = false): Brick {\n const props = { ...defaultProps[type].props, ghost };\n const newBrick = {\n id: `b-${generateId()}`,\n type,\n props,\n };\n return newBrick;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
|
+
import {
|
|
4
|
+
border,
|
|
5
|
+
rounding
|
|
6
|
+
} from "./chunk-VYA2FCTY.js";
|
|
3
7
|
import {
|
|
4
8
|
defineProps
|
|
5
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-UC75KRLX.js";
|
|
6
10
|
import {
|
|
7
|
-
|
|
8
|
-
} from "./chunk-
|
|
11
|
+
shadow
|
|
12
|
+
} from "./chunk-5RCC2STG.js";
|
|
9
13
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
14
|
+
loop
|
|
15
|
+
} from "./chunk-XFZQGRRL.js";
|
|
12
16
|
import {
|
|
13
|
-
|
|
14
|
-
} from "./chunk-
|
|
17
|
+
colorPreset
|
|
18
|
+
} from "./chunk-IEMCCHM4.js";
|
|
15
19
|
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} from "./chunk-NTLAKMMQ.js";
|
|
20
|
+
cssLength
|
|
21
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
19
22
|
import {
|
|
20
|
-
|
|
21
|
-
} from "./chunk-
|
|
23
|
+
defineBrickManifest
|
|
24
|
+
} from "./chunk-GNTJT7MR.js";
|
|
22
25
|
import {
|
|
23
|
-
|
|
24
|
-
} from "./chunk-
|
|
26
|
+
StringEnum
|
|
27
|
+
} from "./chunk-GDYCCB3B.js";
|
|
25
28
|
|
|
26
29
|
// src/shared/bricks/manifests/timeline.manifest.ts
|
|
27
30
|
import { Type } from "@sinclair/typebox";
|
|
@@ -57,7 +60,8 @@ var timelineItemSchema = Type.Object({
|
|
|
57
60
|
})
|
|
58
61
|
),
|
|
59
62
|
status: Type.Optional(
|
|
60
|
-
|
|
63
|
+
StringEnum(["completed", "current", "upcoming"], {
|
|
64
|
+
enumNames: ["Completed", "Current", "Upcoming"],
|
|
61
65
|
title: "Status",
|
|
62
66
|
description: "Timeline item status for visual styling"
|
|
63
67
|
})
|
|
@@ -69,6 +73,7 @@ var manifest = defineBrickManifest({
|
|
|
69
73
|
name: "Timeline",
|
|
70
74
|
description: "A vertical timeline component to display chronological events, milestones, or processes with optional content for each item",
|
|
71
75
|
icon: BsListCheck,
|
|
76
|
+
consumesMultipleQueryRows: true,
|
|
72
77
|
props: defineProps({
|
|
73
78
|
items: Type.Array(timelineItemSchema, {
|
|
74
79
|
title: "Timeline Items",
|
|
@@ -86,7 +91,8 @@ var manifest = defineBrickManifest({
|
|
|
86
91
|
),
|
|
87
92
|
// Layout options
|
|
88
93
|
layout: Type.Optional(
|
|
89
|
-
|
|
94
|
+
StringEnum(["left", "right", "alternating"], {
|
|
95
|
+
enumNames: ["Left", "Right", "Alternating"],
|
|
90
96
|
title: "Layout",
|
|
91
97
|
description: "Timeline layout style",
|
|
92
98
|
default: "left"
|
|
@@ -100,14 +106,14 @@ var manifest = defineBrickManifest({
|
|
|
100
106
|
})
|
|
101
107
|
),
|
|
102
108
|
connectorColor: Type.Optional(
|
|
103
|
-
|
|
109
|
+
colorPreset({
|
|
104
110
|
title: "Connector Color",
|
|
105
111
|
description: "Color of the timeline connector line"
|
|
106
112
|
})
|
|
107
113
|
),
|
|
108
114
|
// Timeline item styling
|
|
109
115
|
itemSpacing: Type.Optional(
|
|
110
|
-
|
|
116
|
+
cssLength({
|
|
111
117
|
title: "Item Spacing",
|
|
112
118
|
description: "Vertical spacing between timeline items",
|
|
113
119
|
default: "2rem"
|
|
@@ -121,7 +127,8 @@ var manifest = defineBrickManifest({
|
|
|
121
127
|
})
|
|
122
128
|
),
|
|
123
129
|
iconSize: Type.Optional(
|
|
124
|
-
|
|
130
|
+
StringEnum(["sm", "md", "lg"], {
|
|
131
|
+
enumNames: ["Small", "Medium", "Large"],
|
|
125
132
|
title: "Icon Size",
|
|
126
133
|
description: "Size of timeline item icons",
|
|
127
134
|
default: "md"
|
|
@@ -135,7 +142,8 @@ var manifest = defineBrickManifest({
|
|
|
135
142
|
})
|
|
136
143
|
),
|
|
137
144
|
datePosition: Type.Optional(
|
|
138
|
-
|
|
145
|
+
StringEnum(["top", "bottom", "inline"], {
|
|
146
|
+
enumNames: ["Top", "Bottom", "Inline"],
|
|
139
147
|
title: "Date Position",
|
|
140
148
|
description: "Position of dates relative to content",
|
|
141
149
|
default: "top"
|
|
@@ -143,37 +151,37 @@ var manifest = defineBrickManifest({
|
|
|
143
151
|
),
|
|
144
152
|
// Styling
|
|
145
153
|
colorPreset: Type.Optional(
|
|
146
|
-
|
|
154
|
+
colorPreset({
|
|
147
155
|
title: "Color Preset",
|
|
148
156
|
description: "Color theme for the timeline"
|
|
149
157
|
})
|
|
150
158
|
),
|
|
151
159
|
padding: Type.Optional(
|
|
152
|
-
|
|
160
|
+
cssLength({
|
|
153
161
|
title: "Padding",
|
|
154
162
|
description: "Internal padding for the timeline container"
|
|
155
163
|
})
|
|
156
164
|
),
|
|
157
165
|
border: Type.Optional(
|
|
158
|
-
|
|
166
|
+
border({
|
|
159
167
|
title: "Border",
|
|
160
168
|
description: "Border styling for the timeline container"
|
|
161
169
|
})
|
|
162
170
|
),
|
|
163
171
|
shadow: Type.Optional(
|
|
164
|
-
|
|
172
|
+
shadow({
|
|
165
173
|
title: "Shadow",
|
|
166
174
|
description: "Shadow effect for the timeline container"
|
|
167
175
|
})
|
|
168
176
|
),
|
|
169
177
|
rounding: Type.Optional(
|
|
170
|
-
|
|
178
|
+
rounding({
|
|
171
179
|
title: "Rounding",
|
|
172
180
|
description: "Corner rounding for the timeline container"
|
|
173
181
|
})
|
|
174
182
|
),
|
|
175
183
|
// Content loop support
|
|
176
|
-
loop: Type.Optional(
|
|
184
|
+
loop: Type.Optional(loop())
|
|
177
185
|
})
|
|
178
186
|
});
|
|
179
187
|
var examples = [
|
|
@@ -248,8 +256,8 @@ var examples = [
|
|
|
248
256
|
}
|
|
249
257
|
],
|
|
250
258
|
layout: "alternating",
|
|
251
|
-
colorPreset: { color: "
|
|
252
|
-
connectorColor: { color: "
|
|
259
|
+
colorPreset: { color: "primary-500" },
|
|
260
|
+
connectorColor: { color: "primary-300" },
|
|
253
261
|
itemSpacing: "3rem"
|
|
254
262
|
}
|
|
255
263
|
},
|
|
@@ -372,8 +380,8 @@ var examples = [
|
|
|
372
380
|
}
|
|
373
381
|
],
|
|
374
382
|
layout: "right",
|
|
375
|
-
colorPreset: { color: "
|
|
376
|
-
border: { width: "border", color: "
|
|
383
|
+
colorPreset: { color: "secondary-500" },
|
|
384
|
+
border: { width: "border", color: "secondary-200" },
|
|
377
385
|
rounding: "rounded-lg",
|
|
378
386
|
padding: "2rem"
|
|
379
387
|
}
|
|
@@ -414,13 +422,13 @@ var examples = [
|
|
|
414
422
|
description: "Create comprehensive usage documentation"
|
|
415
423
|
}
|
|
416
424
|
],
|
|
417
|
-
colorPreset: { color: "
|
|
425
|
+
colorPreset: { color: "secondary-500" },
|
|
418
426
|
shadow: "shadow-lg",
|
|
419
427
|
border: { width: "border", color: "purple-200" },
|
|
420
428
|
rounding: "rounded-xl",
|
|
421
429
|
padding: "2.5rem",
|
|
422
430
|
itemSpacing: "2.5rem",
|
|
423
|
-
connectorColor: { color: "
|
|
431
|
+
connectorColor: { color: "secondary-300" }
|
|
424
432
|
}
|
|
425
433
|
}
|
|
426
434
|
];
|
|
@@ -429,4 +437,4 @@ export {
|
|
|
429
437
|
manifest,
|
|
430
438
|
examples
|
|
431
439
|
};
|
|
432
|
-
//# sourceMappingURL=chunk-
|
|
440
|
+
//# sourceMappingURL=chunk-KRODRZNS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/timeline.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { cssLength } from \"../props/css-length\";\nimport { border, rounding } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport { BsListCheck } from \"react-icons/bs\";\nimport { loop } from \"../props/dynamic\";\nimport type { BrickProps } from \"../props/types\";\nimport type { BrickExample } from \"./_types\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\n\nconst timelineItemSchema = Type.Object({\n id: Type.Optional(Type.String({ title: \"ID\" })),\n title: Type.String({\n title: \"Title\",\n description: \"The main title or headline for this timeline item\",\n }),\n subtitle: Type.Optional(\n Type.String({\n title: \"Subtitle\",\n description: \"Optional subtitle or date for this timeline item\",\n }),\n ),\n description: Type.Optional(\n Type.String({\n title: \"Description\",\n description: \"Optional detailed description for this timeline item\",\n }),\n ),\n date: Type.Optional(\n Type.String({\n title: \"Date\",\n description: \"Date or time period for this timeline item\",\n }),\n ),\n icon: Type.Optional(\n Type.String({\n title: \"Icon\",\n description: \"Optional icon name from Iconify for this timeline item\",\n }),\n ),\n status: Type.Optional(\n StringEnum([\"completed\", \"current\", \"upcoming\"], {\n enumNames: [\"Completed\", \"Current\", \"Upcoming\"],\n title: \"Status\",\n description: \"Timeline item status for visual styling\",\n }),\n ),\n});\n\nexport const manifest = defineBrickManifest({\n type: \"timeline\",\n category: \"widgets\",\n name: \"Timeline\",\n description:\n \"A vertical timeline component to display chronological events, milestones, or processes with optional content for each item\",\n icon: BsListCheck,\n consumesMultipleQueryRows: true,\n props: defineProps({\n items: Type.Array(timelineItemSchema, {\n title: \"Timeline Items\",\n description: \"List of timeline items to display\",\n \"ui:field\": \"array\",\n default: [],\n }),\n\n $children: Type.Optional(\n Type.Array(Type.Array(Type.Any()), {\n title: \"Content\",\n description:\n \"Optional content blocks for each timeline item. Each array corresponds to content for the timeline item at the same index.\",\n \"ui:field\": \"hidden\",\n default: [],\n }),\n ),\n\n // Layout options\n layout: Type.Optional(\n StringEnum([\"left\", \"right\", \"alternating\"], {\n enumNames: [\"Left\", \"Right\", \"Alternating\"],\n title: \"Layout\",\n description: \"Timeline layout style\",\n default: \"left\",\n }),\n ),\n\n showConnector: Type.Optional(\n Type.Boolean({\n title: \"Show Connector Line\",\n description: \"Whether to show the connecting line between timeline items\",\n default: true,\n }),\n ),\n\n connectorColor: Type.Optional(\n colorPreset({\n title: \"Connector Color\",\n description: \"Color of the timeline connector line\",\n }),\n ),\n\n // Timeline item styling\n itemSpacing: Type.Optional(\n cssLength({\n title: \"Item Spacing\",\n description: \"Vertical spacing between timeline items\",\n default: \"2rem\",\n }),\n ),\n\n showIcons: Type.Optional(\n Type.Boolean({\n title: \"Show Icons\",\n description: \"Whether to display icons for timeline items\",\n default: true,\n }),\n ),\n iconSize: Type.Optional(\n StringEnum([\"sm\", \"md\", \"lg\"], {\n enumNames: [\"Small\", \"Medium\", \"Large\"],\n title: \"Icon Size\",\n description: \"Size of timeline item icons\",\n default: \"md\",\n }),\n ),\n\n showDates: Type.Optional(\n Type.Boolean({\n title: \"Show Dates\",\n description: \"Whether to display dates for timeline items\",\n default: true,\n }),\n ),\n\n datePosition: Type.Optional(\n StringEnum([\"top\", \"bottom\", \"inline\"], {\n enumNames: [\"Top\", \"Bottom\", \"Inline\"],\n title: \"Date Position\",\n description: \"Position of dates relative to content\",\n default: \"top\",\n }),\n ),\n\n // Styling\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color Preset\",\n description: \"Color theme for the timeline\",\n }),\n ),\n\n padding: Type.Optional(\n cssLength({\n title: \"Padding\",\n description: \"Internal padding for the timeline container\",\n }),\n ),\n\n border: Type.Optional(\n border({\n title: \"Border\",\n description: \"Border styling for the timeline container\",\n }),\n ),\n\n shadow: Type.Optional(\n shadow({\n title: \"Shadow\",\n description: \"Shadow effect for the timeline container\",\n }),\n ),\n\n rounding: Type.Optional(\n rounding({\n title: \"Rounding\",\n description: \"Corner rounding for the timeline container\",\n }),\n ),\n\n // Content loop support\n loop: Type.Optional(loop()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Basic timeline with milestones\",\n type: \"timeline\",\n props: {\n items: [\n {\n id: \"start\",\n title: \"Project Kickoff\",\n subtitle: \"Planning Phase\",\n date: \"January 2024\",\n description: \"Initial project planning and team assembly\",\n status: \"completed\",\n },\n {\n id: \"development\",\n title: \"Development Phase\",\n subtitle: \"Building the Product\",\n date: \"February - April 2024\",\n description: \"Core development and feature implementation\",\n status: \"completed\",\n },\n {\n id: \"testing\",\n title: \"Testing & QA\",\n subtitle: \"Quality Assurance\",\n date: \"May 2024\",\n description: \"Comprehensive testing and bug fixes\",\n status: \"current\",\n },\n {\n id: \"launch\",\n title: \"Product Launch\",\n subtitle: \"Go Live\",\n date: \"June 2024\",\n description: \"Official product release and marketing campaign\",\n status: \"upcoming\",\n },\n ],\n layout: \"left\",\n showConnector: true,\n showIcons: true,\n showDates: true,\n },\n },\n\n {\n description: \"Alternating timeline with custom colors\",\n type: \"timeline\",\n props: {\n items: [\n {\n title: \"Company Founded\",\n date: \"2020\",\n description: \"Started with a vision to change the industry\",\n },\n {\n title: \"First Product Launch\",\n date: \"2021\",\n description: \"Released our flagship product to market\",\n },\n {\n title: \"Series A Funding\",\n date: \"2022\",\n description: \"Raised $10M to accelerate growth\",\n },\n {\n title: \"International Expansion\",\n date: \"2023\",\n description: \"Opened offices in Europe and Asia\",\n },\n ],\n layout: \"alternating\",\n colorPreset: { color: \"primary-500\" },\n connectorColor: { color: \"primary-300\" },\n itemSpacing: \"3rem\",\n },\n },\n\n {\n description: \"Timeline with content blocks\",\n type: \"timeline\",\n props: {\n items: [\n {\n title: \"Research Phase\",\n date: \"Q1 2024\",\n description: \"Market research and user interviews\",\n },\n {\n title: \"Design Phase\",\n date: \"Q2 2024\",\n description: \"UI/UX design and prototyping\",\n },\n ],\n $children: [\n [\n {\n id: \"research-chart\",\n type: \"text\",\n props: { content: \"Research findings and insights will be displayed here.\" },\n },\n ],\n [\n {\n id: \"design-mockups\",\n type: \"text\",\n props: { content: \"Design mockups and prototypes will be shown here.\" },\n },\n ],\n ],\n },\n },\n\n {\n description: \"Compact timeline without dates\",\n type: \"timeline\",\n props: {\n items: [\n {\n title: \"Initialize Project\",\n description: \"Set up repository and development environment\",\n },\n {\n title: \"Implement Core Features\",\n description: \"Build the main functionality\",\n },\n {\n title: \"Add Tests\",\n description: \"Write unit and integration tests\",\n },\n {\n title: \"Deploy to Production\",\n description: \"Release to production environment\",\n },\n ],\n layout: \"left\",\n showDates: false,\n showIcons: false,\n itemSpacing: \"1.5rem\",\n padding: \"1rem\",\n },\n },\n\n {\n description: \"Timeline with custom icons\",\n type: \"timeline\",\n props: {\n items: [\n {\n title: \"Planning\",\n icon: \"mdi:calendar-check\",\n date: \"Week 1\",\n status: \"completed\",\n },\n {\n title: \"Development\",\n icon: \"mdi:code-braces\",\n date: \"Week 2-4\",\n status: \"completed\",\n },\n {\n title: \"Testing\",\n icon: \"mdi:test-tube\",\n date: \"Week 5\",\n status: \"current\",\n },\n {\n title: \"Deployment\",\n icon: \"mdi:rocket-launch\",\n date: \"Week 6\",\n status: \"upcoming\",\n },\n ],\n iconSize: \"lg\",\n datePosition: \"bottom\",\n },\n },\n\n {\n description: \"Right-aligned timeline\",\n type: \"timeline\",\n props: {\n items: [\n {\n title: \"User Registration Opens\",\n date: \"March 1st\",\n description: \"Early bird registration begins\",\n },\n {\n title: \"Speaker Announcements\",\n date: \"March 15th\",\n description: \"Keynote speakers revealed\",\n },\n {\n title: \"Conference Day\",\n date: \"April 1st\",\n description: \"The main event begins\",\n },\n ],\n layout: \"right\",\n colorPreset: { color: \"secondary-500\" },\n border: { width: \"border\", color: \"secondary-200\" },\n rounding: \"rounded-lg\",\n padding: \"2rem\",\n },\n },\n\n {\n description: \"Timeline with loop data\",\n type: \"timeline\",\n props: {\n items: [],\n loop: {\n over: \"milestones\",\n },\n layout: \"alternating\",\n showConnector: true,\n },\n },\n\n {\n description: \"Styled timeline with shadows\",\n type: \"timeline\",\n props: {\n items: [\n {\n title: \"Design System\",\n subtitle: \"Foundation\",\n date: \"Phase 1\",\n description: \"Establish design tokens and component library\",\n },\n {\n title: \"Component Development\",\n subtitle: \"Implementation\",\n date: \"Phase 2\",\n description: \"Build reusable React components\",\n },\n {\n title: \"Documentation\",\n subtitle: \"Guidelines\",\n date: \"Phase 3\",\n description: \"Create comprehensive usage documentation\",\n },\n ],\n colorPreset: { color: \"secondary-500\" },\n shadow: \"shadow-lg\",\n border: { width: \"border\", color: \"purple-200\" },\n rounding: \"rounded-xl\",\n padding: \"2.5rem\",\n itemSpacing: \"2.5rem\",\n connectorColor: { color: \"secondary-300\" },\n },\n },\n];\n"],"mappings":"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","names":[]}
|