@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,168 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
border,
|
|
5
|
+
rounding
|
|
6
|
+
} from "./chunk-VYA2FCTY.js";
|
|
7
|
+
import {
|
|
8
|
+
defineProps
|
|
9
|
+
} from "./chunk-UC75KRLX.js";
|
|
10
|
+
import {
|
|
11
|
+
shadow
|
|
12
|
+
} from "./chunk-5RCC2STG.js";
|
|
13
|
+
import {
|
|
14
|
+
loop
|
|
15
|
+
} from "./chunk-XFZQGRRL.js";
|
|
16
|
+
import {
|
|
17
|
+
colorPreset
|
|
18
|
+
} from "./chunk-IEMCCHM4.js";
|
|
19
|
+
import {
|
|
20
|
+
cssLength
|
|
21
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
22
|
+
import {
|
|
23
|
+
defineBrickManifest
|
|
24
|
+
} from "./chunk-GNTJT7MR.js";
|
|
25
|
+
import {
|
|
26
|
+
StringEnum
|
|
27
|
+
} from "./chunk-GDYCCB3B.js";
|
|
28
|
+
|
|
29
|
+
// src/shared/bricks/manifests/tabs.manifest.ts
|
|
30
|
+
import { Type } from "@sinclair/typebox";
|
|
31
|
+
import { TfiLayoutTabWindow } from "react-icons/tfi";
|
|
32
|
+
var tabRef = Type.Object({
|
|
33
|
+
label: Type.String({
|
|
34
|
+
title: "Tab Label",
|
|
35
|
+
description: "The text shown on the tab button",
|
|
36
|
+
"ai:instructions": "Use a short, descriptive label for the tab"
|
|
37
|
+
}),
|
|
38
|
+
id: Type.Optional(
|
|
39
|
+
Type.String({
|
|
40
|
+
title: "Tab ID",
|
|
41
|
+
description: "Unique identifier for the tab (auto-generated if not provided)"
|
|
42
|
+
})
|
|
43
|
+
)
|
|
44
|
+
});
|
|
45
|
+
var manifest = defineBrickManifest({
|
|
46
|
+
type: "tabs",
|
|
47
|
+
category: "container",
|
|
48
|
+
name: "Tabs",
|
|
49
|
+
description: "A tabbed container that displays different content panels based on the selected tab.",
|
|
50
|
+
aiInstructions: "Tabs are containers for organizing content into multiple panels. Each tab has a label and contains child bricks. Users can click tab buttons to switch between different content panels. Ideal for organizing related content, settings panels, or product information.",
|
|
51
|
+
isContainer: true,
|
|
52
|
+
consumesMultipleQueryRows: true,
|
|
53
|
+
defaultWidth: {
|
|
54
|
+
desktop: "100%",
|
|
55
|
+
mobile: "100%"
|
|
56
|
+
},
|
|
57
|
+
defaultHeight: {
|
|
58
|
+
desktop: "auto"
|
|
59
|
+
},
|
|
60
|
+
icon: TfiLayoutTabWindow,
|
|
61
|
+
props: defineProps({
|
|
62
|
+
colorPreset: Type.Optional(
|
|
63
|
+
colorPreset({
|
|
64
|
+
title: "Color"
|
|
65
|
+
})
|
|
66
|
+
),
|
|
67
|
+
tabs: Type.Array(tabRef, {
|
|
68
|
+
title: "Tabs",
|
|
69
|
+
description: "List of tab configurations",
|
|
70
|
+
default: [{ label: "Tab 1" }, { label: "Tab 2" }],
|
|
71
|
+
"ai:instructions": "Each tab should have a descriptive label. Content for each tab is defined in the $children array.",
|
|
72
|
+
examples: [
|
|
73
|
+
[{ label: "Overview" }, { label: "Features" }, { label: "Pricing" }],
|
|
74
|
+
[{ label: "About" }, { label: "Services" }, { label: "Contact" }]
|
|
75
|
+
]
|
|
76
|
+
}),
|
|
77
|
+
defaultTab: Type.Optional(
|
|
78
|
+
Type.Number({
|
|
79
|
+
title: "Default Tab",
|
|
80
|
+
description: "Index of the tab to show by default (0-based)",
|
|
81
|
+
default: 0,
|
|
82
|
+
minimum: 0,
|
|
83
|
+
"ai:instructions": "Use 0 for the first tab, 1 for the second tab, etc."
|
|
84
|
+
})
|
|
85
|
+
),
|
|
86
|
+
tabPosition: Type.Optional(
|
|
87
|
+
StringEnum(["top", "bottom"], {
|
|
88
|
+
title: "Tab Position",
|
|
89
|
+
description: "Position of the tab buttons relative to content",
|
|
90
|
+
default: "top",
|
|
91
|
+
"ai:instructions": "Use 'top' for tabs above content (most common) or 'bottom' for tabs below content"
|
|
92
|
+
})
|
|
93
|
+
),
|
|
94
|
+
tabStyle: Type.Optional(
|
|
95
|
+
StringEnum(["pills", "underline", "bordered"], {
|
|
96
|
+
title: "Tab Style",
|
|
97
|
+
description: "Visual style of the tab buttons",
|
|
98
|
+
default: "underline",
|
|
99
|
+
"ai:instructions": "Pills are rounded buttons, underline shows a line under active tab, bordered shows tabs with borders"
|
|
100
|
+
})
|
|
101
|
+
),
|
|
102
|
+
fullWidth: Type.Optional(
|
|
103
|
+
Type.Boolean({
|
|
104
|
+
title: "Full Width Tabs",
|
|
105
|
+
description: "Make tab buttons span the full width of the container",
|
|
106
|
+
default: false,
|
|
107
|
+
"ai:instructions": "Enable this to make tab buttons evenly distribute across the full width"
|
|
108
|
+
})
|
|
109
|
+
),
|
|
110
|
+
padding: Type.Optional(
|
|
111
|
+
cssLength({
|
|
112
|
+
default: "1.5rem",
|
|
113
|
+
description: "Padding inside each tab panel.",
|
|
114
|
+
"ai:instructions": "Use values like '1rem', '1.5rem', or '2rem' for tab content padding",
|
|
115
|
+
title: "Content Padding",
|
|
116
|
+
"ui:placeholder": "Not specified",
|
|
117
|
+
"ui:styleId": "styles:padding"
|
|
118
|
+
})
|
|
119
|
+
),
|
|
120
|
+
gap: Type.Optional(
|
|
121
|
+
cssLength({
|
|
122
|
+
title: "Tab Gap",
|
|
123
|
+
default: "0.5rem",
|
|
124
|
+
description: "Gap between tab buttons.",
|
|
125
|
+
"ai:instructions": "Small values like '0.25rem' or '0.5rem' work best for tab spacing",
|
|
126
|
+
"ui:placeholder": "Not specified",
|
|
127
|
+
"ui:styleId": "styles:gap"
|
|
128
|
+
})
|
|
129
|
+
),
|
|
130
|
+
rounding: rounding({
|
|
131
|
+
default: "rounded-md"
|
|
132
|
+
}),
|
|
133
|
+
border: Type.Optional(border()),
|
|
134
|
+
shadow: Type.Optional(shadow()),
|
|
135
|
+
loop: Type.Optional(loop()),
|
|
136
|
+
$children: Type.Array(Type.Any(), {
|
|
137
|
+
"ui:field": "hidden",
|
|
138
|
+
description: "Array of child bricks - each item represents the content for one tab. If you want multiple bricks in one tab, use a 'box' brick as the single child for that tab.",
|
|
139
|
+
examples: [
|
|
140
|
+
[
|
|
141
|
+
// Tab 1 content
|
|
142
|
+
{
|
|
143
|
+
type: "text",
|
|
144
|
+
props: {
|
|
145
|
+
content: "<h3>Overview</h3><p>This is the overview tab content.</p>"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
// Tab 2 content
|
|
149
|
+
[
|
|
150
|
+
{
|
|
151
|
+
type: "text",
|
|
152
|
+
props: {
|
|
153
|
+
content: "<h3>Features</h3><p>Here are our key features.</p>"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
]
|
|
158
|
+
]
|
|
159
|
+
})
|
|
160
|
+
})
|
|
161
|
+
});
|
|
162
|
+
var examples = [];
|
|
163
|
+
|
|
164
|
+
export {
|
|
165
|
+
manifest,
|
|
166
|
+
examples
|
|
167
|
+
};
|
|
168
|
+
//# sourceMappingURL=chunk-KTA7XES3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/tabs.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { Type } from \"@sinclair/typebox\";\nimport { border, rounding } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport { cssLength } from \"../props/css-length\";\nimport { HiOutlineViewColumns } from \"react-icons/hi2\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { loop } from \"../props/dynamic\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport type { BrickExample } from \"./_types\";\nimport { TfiLayoutTabWindow } from \"react-icons/tfi\";\n\n// Tab configuration schema\nconst tabRef = Type.Object({\n label: Type.String({\n title: \"Tab Label\",\n description: \"The text shown on the tab button\",\n \"ai:instructions\": \"Use a short, descriptive label for the tab\",\n }),\n id: Type.Optional(\n Type.String({\n title: \"Tab ID\",\n description: \"Unique identifier for the tab (auto-generated if not provided)\",\n }),\n ),\n});\n\nexport const manifest = defineBrickManifest({\n type: \"tabs\",\n category: \"container\",\n name: \"Tabs\",\n description: \"A tabbed container that displays different content panels based on the selected tab.\",\n aiInstructions:\n \"Tabs are containers for organizing content into multiple panels. Each tab has a label and contains child bricks. Users can click tab buttons to switch between different content panels. Ideal for organizing related content, settings panels, or product information.\",\n isContainer: true,\n consumesMultipleQueryRows: true,\n defaultWidth: {\n desktop: \"100%\",\n mobile: \"100%\",\n },\n defaultHeight: {\n desktop: \"auto\",\n },\n icon: TfiLayoutTabWindow,\n props: defineProps({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n tabs: Type.Array(tabRef, {\n title: \"Tabs\",\n description: \"List of tab configurations\",\n default: [{ label: \"Tab 1\" }, { label: \"Tab 2\" }],\n \"ai:instructions\":\n \"Each tab should have a descriptive label. Content for each tab is defined in the $children array.\",\n examples: [\n [{ label: \"Overview\" }, { label: \"Features\" }, { label: \"Pricing\" }],\n [{ label: \"About\" }, { label: \"Services\" }, { label: \"Contact\" }],\n ],\n }),\n defaultTab: Type.Optional(\n Type.Number({\n title: \"Default Tab\",\n description: \"Index of the tab to show by default (0-based)\",\n default: 0,\n minimum: 0,\n \"ai:instructions\": \"Use 0 for the first tab, 1 for the second tab, etc.\",\n }),\n ),\n tabPosition: Type.Optional(\n StringEnum([\"top\", \"bottom\"], {\n title: \"Tab Position\",\n description: \"Position of the tab buttons relative to content\",\n default: \"top\",\n \"ai:instructions\":\n \"Use 'top' for tabs above content (most common) or 'bottom' for tabs below content\",\n }),\n ),\n tabStyle: Type.Optional(\n StringEnum([\"pills\", \"underline\", \"bordered\"], {\n title: \"Tab Style\",\n description: \"Visual style of the tab buttons\",\n default: \"underline\",\n \"ai:instructions\":\n \"Pills are rounded buttons, underline shows a line under active tab, bordered shows tabs with borders\",\n }),\n ),\n fullWidth: Type.Optional(\n Type.Boolean({\n title: \"Full Width Tabs\",\n description: \"Make tab buttons span the full width of the container\",\n default: false,\n \"ai:instructions\": \"Enable this to make tab buttons evenly distribute across the full width\",\n }),\n ),\n padding: Type.Optional(\n cssLength({\n default: \"1.5rem\",\n description: \"Padding inside each tab panel.\",\n \"ai:instructions\": \"Use values like '1rem', '1.5rem', or '2rem' for tab content padding\",\n title: \"Content Padding\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n gap: Type.Optional(\n cssLength({\n title: \"Tab Gap\",\n default: \"0.5rem\",\n description: \"Gap between tab buttons.\",\n \"ai:instructions\": \"Small values like '0.25rem' or '0.5rem' work best for tab spacing\",\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:gap\",\n }),\n ),\n rounding: rounding({\n default: \"rounded-md\",\n }),\n border: Type.Optional(border()),\n shadow: Type.Optional(shadow()),\n loop: Type.Optional(loop()),\n $children: Type.Array(Type.Any(), {\n \"ui:field\": \"hidden\",\n description:\n \"Array of child bricks - each item represents the content for one tab. If you want multiple bricks in one tab, use a 'box' brick as the single child for that tab.\",\n examples: [\n [\n // Tab 1 content\n {\n type: \"text\",\n props: {\n content: \"<h3>Overview</h3><p>This is the overview tab content.</p>\",\n },\n },\n // Tab 2 content\n [\n {\n type: \"text\",\n props: {\n content: \"<h3>Features</h3><p>Here are our key features.</p>\",\n },\n },\n ],\n ],\n ],\n }),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [];\n"],"mappings":"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","names":[]}
|
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
number
|
|
5
5
|
} from "./chunk-XCZVD5H6.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
} from "./chunk-
|
|
7
|
+
rounding
|
|
8
|
+
} from "./chunk-VYA2FCTY.js";
|
|
9
9
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
10
|
+
defineProps
|
|
11
|
+
} from "./chunk-UC75KRLX.js";
|
|
12
12
|
import {
|
|
13
|
-
|
|
14
|
-
} from "./chunk-
|
|
13
|
+
shadow
|
|
14
|
+
} from "./chunk-5RCC2STG.js";
|
|
15
15
|
import {
|
|
16
|
-
|
|
17
|
-
} from "./chunk-
|
|
16
|
+
grow
|
|
17
|
+
} from "./chunk-2EOCK66Z.js";
|
|
18
18
|
import {
|
|
19
|
-
|
|
20
|
-
} from "./chunk-
|
|
19
|
+
defineBrickManifest
|
|
20
|
+
} from "./chunk-GNTJT7MR.js";
|
|
21
21
|
|
|
22
22
|
// src/shared/bricks/manifests/map.manifest.ts
|
|
23
23
|
import { LiaMapMarkedAltSolid } from "react-icons/lia";
|
|
@@ -54,16 +54,18 @@ var manifest = defineBrickManifest({
|
|
|
54
54
|
icon: LiaMapMarkedAltSolid,
|
|
55
55
|
props: defineProps({
|
|
56
56
|
// location: geolocation({ defaultZoom: DEFAULTS.zoom }),
|
|
57
|
-
lat:
|
|
58
|
-
lng:
|
|
59
|
-
address:
|
|
57
|
+
lat: Type.String({ title: "Latitude", "ui:field": "hidden" }),
|
|
58
|
+
lng: Type.String({ title: "Longitude", "ui:field": "hidden" }),
|
|
59
|
+
address: Type.String({
|
|
60
|
+
title: "Address",
|
|
60
61
|
"ui:field": "geoaddress",
|
|
61
62
|
metadata: {
|
|
62
63
|
category: "content"
|
|
63
64
|
}
|
|
64
65
|
}),
|
|
65
66
|
tooltip: Type.Optional(
|
|
66
|
-
|
|
67
|
+
Type.String({
|
|
68
|
+
title: "Tooltip",
|
|
67
69
|
metadata: {
|
|
68
70
|
category: "content"
|
|
69
71
|
}
|
|
@@ -83,11 +85,16 @@ var manifest = defineBrickManifest({
|
|
|
83
85
|
})
|
|
84
86
|
),
|
|
85
87
|
rounding: Type.Optional(
|
|
86
|
-
|
|
88
|
+
rounding({
|
|
87
89
|
default: "rounded-xl"
|
|
88
90
|
})
|
|
89
91
|
),
|
|
90
|
-
shadow: Type.Optional(
|
|
92
|
+
shadow: Type.Optional(shadow()),
|
|
93
|
+
grow: Type.Optional(
|
|
94
|
+
grow({
|
|
95
|
+
default: true
|
|
96
|
+
})
|
|
97
|
+
)
|
|
91
98
|
})
|
|
92
99
|
});
|
|
93
100
|
var examples = [
|
|
@@ -118,7 +125,7 @@ var examples = [
|
|
|
118
125
|
}
|
|
119
126
|
},
|
|
120
127
|
{
|
|
121
|
-
description: "Business location map with high zoom level and rounded corners",
|
|
128
|
+
description: "Business location map with high zoom level and rounded corners, take the full width of its container",
|
|
122
129
|
type: "map",
|
|
123
130
|
props: {
|
|
124
131
|
lat: "34.0522",
|
|
@@ -126,6 +133,7 @@ var examples = [
|
|
|
126
133
|
address: "Los Angeles, CA",
|
|
127
134
|
tooltip: "Our Los Angeles Office",
|
|
128
135
|
zoom: 18,
|
|
136
|
+
grow: true,
|
|
129
137
|
rounding: "rounded-2xl",
|
|
130
138
|
shadow: "shadow-xl"
|
|
131
139
|
}
|
|
@@ -155,70 +163,6 @@ var examples = [
|
|
|
155
163
|
rounding: "rounded-none",
|
|
156
164
|
shadow: "shadow-md"
|
|
157
165
|
}
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
description: "Hotel location with low zoom for area overview",
|
|
161
|
-
type: "map",
|
|
162
|
-
props: {
|
|
163
|
-
lat: "36.1699",
|
|
164
|
-
lng: "-115.1398",
|
|
165
|
-
address: "Las Vegas, NV",
|
|
166
|
-
tooltip: "Downtown Las Vegas Hotel",
|
|
167
|
-
zoom: 13,
|
|
168
|
-
rounding: "rounded-xl",
|
|
169
|
-
shadow: "shadow-lg"
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
description: "Store location with maximum zoom for street view detail",
|
|
174
|
-
type: "map",
|
|
175
|
-
props: {
|
|
176
|
-
lat: "47.6062",
|
|
177
|
-
lng: "-122.3321",
|
|
178
|
-
address: "Seattle, WA",
|
|
179
|
-
tooltip: "Seattle Flagship Store",
|
|
180
|
-
zoom: 18,
|
|
181
|
-
rounding: "rounded-md",
|
|
182
|
-
shadow: "shadow-sm"
|
|
183
|
-
}
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
description: "Park location with moderate zoom and minimal styling",
|
|
187
|
-
type: "map",
|
|
188
|
-
props: {
|
|
189
|
-
lat: "39.7392",
|
|
190
|
-
lng: "-104.9903",
|
|
191
|
-
address: "Denver, CO",
|
|
192
|
-
tooltip: "City Park Recreation Area",
|
|
193
|
-
zoom: 14,
|
|
194
|
-
rounding: "rounded-sm"
|
|
195
|
-
}
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
description: "Dynamic business location using company query",
|
|
199
|
-
type: "map",
|
|
200
|
-
props: {
|
|
201
|
-
lat: "{{company.latitude}}",
|
|
202
|
-
lng: "{{company.longitude}}",
|
|
203
|
-
address: "{{company.address}}",
|
|
204
|
-
tooltip: "{{company.name}} - {{company.address}}",
|
|
205
|
-
zoom: 16,
|
|
206
|
-
rounding: "rounded-lg",
|
|
207
|
-
shadow: "shadow-md"
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
description: "Dynamic event venue using event query",
|
|
212
|
-
type: "map",
|
|
213
|
-
props: {
|
|
214
|
-
lat: "{{event.venueLatitude}}",
|
|
215
|
-
lng: "{{event.venueLongitude}}",
|
|
216
|
-
address: "{{event.venueAddress}}",
|
|
217
|
-
tooltip: "{{event.title}} - {{event.venueName}}",
|
|
218
|
-
zoom: 17,
|
|
219
|
-
rounding: "rounded-xl",
|
|
220
|
-
shadow: "shadow-lg"
|
|
221
|
-
}
|
|
222
166
|
}
|
|
223
167
|
];
|
|
224
168
|
|
|
@@ -227,4 +171,4 @@ export {
|
|
|
227
171
|
manifest,
|
|
228
172
|
examples
|
|
229
173
|
};
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
174
|
+
//# sourceMappingURL=chunk-L4W4B2RQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/map.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { LiaMapMarkedAltSolid } from \"react-icons/lia\";\nimport { rounding } from \"../props/border\";\nimport { shadow } from \"../props/effects\";\nimport { Type } from \"@sinclair/typebox\";\nimport { number } from \"../props/number\";\nimport type { BrickExample } from \"./_types\";\nimport { grow } from \"../props/grow\";\n\nexport const DEFAULTS = {\n lat: 48.8566, // Default latitude (Paris)\n lng: 2.3522, // Default longitude (Paris)\n zoom: 15, // Default zoom level\n};\n\nexport const manifest = defineBrickManifest({\n type: \"map\",\n name: \"Map\",\n description: \"A map element showing a location\",\n aiInstructions:\n \"This brick can be used to show a location on a map. Use the 'location' prop to set the coordinates and an optional tooltip.\",\n minWidth: {\n desktop: 280,\n mobile: 280,\n },\n minHeight: {\n desktop: 200,\n mobile: 120,\n },\n defaultHeight: {\n desktop: \"320px\",\n mobile: \"280px\",\n },\n defaultWidth: {\n desktop: \"380px\",\n mobile: \"100%\",\n },\n icon: LiaMapMarkedAltSolid,\n props: defineProps({\n // location: geolocation({ defaultZoom: DEFAULTS.zoom }),\n lat: Type.String({ title: \"Latitude\", \"ui:field\": \"hidden\" }),\n lng: Type.String({ title: \"Longitude\", \"ui:field\": \"hidden\" }),\n address: Type.String({\n title: \"Address\",\n \"ui:field\": \"geoaddress\",\n metadata: {\n category: \"content\",\n },\n }),\n tooltip: Type.Optional(\n Type.String({\n title: \"Tooltip\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n zoom: Type.Optional(\n number(\"Zoom\", {\n description: \"Zoom level for the map\",\n \"ui:instructions\": \"The zoom level should be between 0 (world view) and 21 (street view).\",\n \"ui:field\": \"slider\",\n minimum: 12,\n maximum: 18,\n default: DEFAULTS.zoom,\n metadata: {\n category: \"content\",\n },\n }),\n ),\n rounding: Type.Optional(\n rounding({\n default: \"rounded-xl\",\n }),\n ),\n shadow: Type.Optional(shadow()),\n grow: Type.Optional(\n grow({\n default: true,\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Map showing a specific location\",\n type: \"map\",\n props: {\n lat: \"37.7749\",\n lng: \"-122.4194\",\n address: \"San Francisco, CA\",\n tooltip: \"San Francisco, CA\",\n shadow: \"shadow-md\",\n width: \"40%\",\n height: \"250px\",\n },\n },\n {\n description: \"Map with custom styles\",\n type: \"map\",\n props: {\n lat: \"40.7128\",\n lng: \"-74.0060\",\n address: \"New York, NY\",\n tooltip: \"New York, NY\",\n shadow: \"shadow-lg\",\n width: \"100%\",\n height: \"400px\",\n },\n },\n {\n description:\n \"Business location map with high zoom level and rounded corners, take the full width of its container\",\n type: \"map\",\n props: {\n lat: \"34.0522\",\n lng: \"-118.2437\",\n address: \"Los Angeles, CA\",\n tooltip: \"Our Los Angeles Office\",\n zoom: 18,\n grow: true,\n rounding: \"rounded-2xl\",\n shadow: \"shadow-xl\",\n },\n },\n {\n description: \"Event venue map with medium zoom and subtle shadow\",\n type: \"map\",\n props: {\n lat: \"41.8781\",\n lng: \"-87.6298\",\n address: \"Chicago, IL\",\n tooltip: \"Conference Center - Chicago\",\n zoom: 16,\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Restaurant location with default zoom and sharp corners\",\n type: \"map\",\n props: {\n lat: \"25.7617\",\n lng: \"-80.1918\",\n address: \"Miami, FL\",\n tooltip: \"Oceanview Restaurant & Bar\",\n zoom: 15,\n rounding: \"rounded-none\",\n shadow: \"shadow-md\",\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/shared/utils/llm.ts
|
|
5
|
+
import { Kind } from "@sinclair/typebox";
|
|
6
|
+
function toLLMSchema(schema) {
|
|
7
|
+
return cleanSchemaRecursive(schema);
|
|
8
|
+
}
|
|
9
|
+
function cleanSchemaRecursive(schema) {
|
|
10
|
+
const cleaned = {
|
|
11
|
+
[Kind]: schema[Kind]
|
|
12
|
+
};
|
|
13
|
+
for (const [key, value] of Object.entries(schema)) {
|
|
14
|
+
if (key === "metadata" || key.startsWith("ui:")) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (value && typeof value === "object") {
|
|
18
|
+
if (Array.isArray(value)) {
|
|
19
|
+
cleaned[key] = value.map((item) => {
|
|
20
|
+
if (item && typeof item === "object" && isSchemaLike(item)) {
|
|
21
|
+
return cleanSchemaRecursive(item);
|
|
22
|
+
}
|
|
23
|
+
return item;
|
|
24
|
+
});
|
|
25
|
+
} else if (isSchemaLike(value)) {
|
|
26
|
+
cleaned[key] = cleanSchemaRecursive(value);
|
|
27
|
+
} else if (key === "properties" || key === "definitions" || key === "$defs" || key === "patternProperties") {
|
|
28
|
+
const cleanedProps = {};
|
|
29
|
+
for (const [propKey, propValue] of Object.entries(value)) {
|
|
30
|
+
if (propValue && typeof propValue === "object") {
|
|
31
|
+
const propSchema = propValue;
|
|
32
|
+
if (propSchema["ai:hidden"] === true) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
cleanedProps[propKey] = cleanSchemaRecursive(propValue);
|
|
36
|
+
} else {
|
|
37
|
+
cleanedProps[propKey] = propValue;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
cleaned[key] = cleanedProps;
|
|
41
|
+
} else {
|
|
42
|
+
cleaned[key] = value;
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
cleaned[key] = value;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return cleaned;
|
|
49
|
+
}
|
|
50
|
+
function isSchemaLike(obj) {
|
|
51
|
+
if (!obj || typeof obj !== "object") {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
const schemaKeys = [
|
|
55
|
+
"type",
|
|
56
|
+
"$ref",
|
|
57
|
+
"properties",
|
|
58
|
+
"items",
|
|
59
|
+
"anyOf",
|
|
60
|
+
"oneOf",
|
|
61
|
+
"allOf",
|
|
62
|
+
"not",
|
|
63
|
+
"if",
|
|
64
|
+
"then",
|
|
65
|
+
"else"
|
|
66
|
+
];
|
|
67
|
+
return schemaKeys.some((key) => key in obj);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export {
|
|
71
|
+
toLLMSchema
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=chunk-MO6CRLQA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/utils/llm.ts"],"sourcesContent":["import { Kind, type TObject, type TSchema } from \"@sinclair/typebox\";\n\n/**\n * Clean all properties from custom metadata recursively. Custom metadata are key that:\n * - Either with the name \"metadata\"\n * - Or starting with \"ui:\"\n * Also removes properties that have \"ai:hidden\" set to true\n */\nexport function toLLMSchema<T extends TSchema = TObject>(schema: T): T {\n return cleanSchemaRecursive(schema) as T;\n}\n\n/**\n * Recursively removes custom metadata from schema and filters out properties with ai:hidden = true\n */\nfunction cleanSchemaRecursive(schema: TSchema): TSchema {\n // Create a new object without custom metadata properties\n const cleaned: Record<string, unknown> = {\n [Kind]: schema[Kind],\n };\n\n for (const [key, value] of Object.entries(schema)) {\n // Skip metadata properties and ui: properties\n if (key === \"metadata\" || key.startsWith(\"ui:\")) {\n continue;\n }\n\n // Handle nested objects and arrays\n if (value && typeof value === \"object\") {\n if (Array.isArray(value)) {\n // Handle arrays - clean each item if it's a schema\n cleaned[key] = value.map((item) => {\n if (item && typeof item === \"object\" && isSchemaLike(item)) {\n return cleanSchemaRecursive(item as TSchema);\n }\n return item;\n });\n } else if (isSchemaLike(value)) {\n // Handle nested schemas\n cleaned[key] = cleanSchemaRecursive(value as TSchema);\n } else if (\n key === \"properties\" ||\n key === \"definitions\" ||\n key === \"$defs\" ||\n key === \"patternProperties\"\n ) {\n // Handle schema property collections - filter out properties with ai:hidden = true\n const cleanedProps: Record<string, TSchema> = {};\n for (const [propKey, propValue] of Object.entries(value)) {\n if (propValue && typeof propValue === \"object\") {\n // Check if this property should be hidden from AI\n const propSchema = propValue as Record<string, unknown>;\n if (propSchema[\"ai:hidden\"] === true) {\n continue; // Skip this property\n }\n cleanedProps[propKey] = cleanSchemaRecursive(propValue as TSchema);\n } else {\n cleanedProps[propKey] = propValue as TSchema;\n }\n }\n cleaned[key] = cleanedProps;\n } else {\n // For other objects, recursively clean if they look like schemas\n cleaned[key] = value;\n }\n } else {\n // Keep primitive values as-is\n cleaned[key] = value;\n }\n }\n\n return cleaned as TSchema;\n}\n\n/**\n * Helper function to determine if an object looks like a schema\n */\nfunction isSchemaLike(obj: unknown): boolean {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n\n const schemaKeys = [\n \"type\",\n \"$ref\",\n \"properties\",\n \"items\",\n \"anyOf\",\n \"oneOf\",\n \"allOf\",\n \"not\",\n \"if\",\n \"then\",\n \"else\",\n ];\n return schemaKeys.some((key) => key in obj);\n}\n"],"mappings":";;;;AAAA,SAAS,YAAwC;AAQ1C,SAAS,YAAyC,QAAc;AACrE,SAAO,qBAAqB,MAAM;AACpC;AAKA,SAAS,qBAAqB,QAA0B;AAEtD,QAAM,UAAmC;AAAA,IACvC,CAAC,IAAI,GAAG,OAAO,IAAI;AAAA,EACrB;AAEA,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAEjD,QAAI,QAAQ,cAAc,IAAI,WAAW,KAAK,GAAG;AAC/C;AAAA,IACF;AAGA,QAAI,SAAS,OAAO,UAAU,UAAU;AACtC,UAAI,MAAM,QAAQ,KAAK,GAAG;AAExB,gBAAQ,GAAG,IAAI,MAAM,IAAI,CAAC,SAAS;AACjC,cAAI,QAAQ,OAAO,SAAS,YAAY,aAAa,IAAI,GAAG;AAC1D,mBAAO,qBAAqB,IAAe;AAAA,UAC7C;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH,WAAW,aAAa,KAAK,GAAG;AAE9B,gBAAQ,GAAG,IAAI,qBAAqB,KAAgB;AAAA,MACtD,WACE,QAAQ,gBACR,QAAQ,iBACR,QAAQ,WACR,QAAQ,qBACR;AAEA,cAAM,eAAwC,CAAC;AAC/C,mBAAW,CAAC,SAAS,SAAS,KAAK,OAAO,QAAQ,KAAK,GAAG;AACxD,cAAI,aAAa,OAAO,cAAc,UAAU;AAE9C,kBAAM,aAAa;AACnB,gBAAI,WAAW,WAAW,MAAM,MAAM;AACpC;AAAA,YACF;AACA,yBAAa,OAAO,IAAI,qBAAqB,SAAoB;AAAA,UACnE,OAAO;AACL,yBAAa,OAAO,IAAI;AAAA,UAC1B;AAAA,QACF;AACA,gBAAQ,GAAG,IAAI;AAAA,MACjB,OAAO;AAEL,gBAAQ,GAAG,IAAI;AAAA,MACjB;AAAA,IACF,OAAO;AAEL,cAAQ,GAAG,IAAI;AAAA,IACjB;AAAA,EACF;AAEA,SAAO;AACT;AAKA,SAAS,aAAa,KAAuB;AAC3C,MAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACnC,WAAO;AAAA,EACT;AAEA,QAAM,aAAa;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO,WAAW,KAAK,CAAC,QAAQ,OAAO,GAAG;AAC5C;","names":[]}
|
|
@@ -1,31 +1,30 @@
|
|
|
1
1
|
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
direction
|
|
5
|
+
} from "./chunk-WPZV3LYL.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
border,
|
|
8
|
+
rounding
|
|
9
|
+
} from "./chunk-VYA2FCTY.js";
|
|
9
10
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
defineProps
|
|
12
|
+
} from "./chunk-UC75KRLX.js";
|
|
12
13
|
import {
|
|
13
|
-
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
icon
|
|
15
|
+
} from "./chunk-FYGFB5U5.js";
|
|
15
16
|
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} from "./chunk-N3ZTQD5I.js";
|
|
17
|
+
fontSize
|
|
18
|
+
} from "./chunk-2U5U3CCJ.js";
|
|
19
19
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} from "./chunk-NTLAKMMQ.js";
|
|
20
|
+
colorPreset
|
|
21
|
+
} from "./chunk-IEMCCHM4.js";
|
|
23
22
|
import {
|
|
24
|
-
|
|
25
|
-
} from "./chunk-
|
|
23
|
+
cssLength
|
|
24
|
+
} from "./chunk-OJ6KL7FU.js";
|
|
26
25
|
import {
|
|
27
|
-
|
|
28
|
-
} from "./chunk-
|
|
26
|
+
defineBrickManifest
|
|
27
|
+
} from "./chunk-GNTJT7MR.js";
|
|
29
28
|
|
|
30
29
|
// src/shared/bricks/manifests/social-links.manifest.ts
|
|
31
30
|
import { Type } from "@sinclair/typebox";
|
|
@@ -40,19 +39,19 @@ var manifest = defineBrickManifest({
|
|
|
40
39
|
},
|
|
41
40
|
props: defineProps({
|
|
42
41
|
colorPreset: Type.Optional(
|
|
43
|
-
|
|
42
|
+
colorPreset({
|
|
44
43
|
title: "Color"
|
|
45
44
|
})
|
|
46
45
|
),
|
|
47
46
|
links: Type.Array(
|
|
48
47
|
Type.Object({
|
|
49
48
|
icon: Type.Optional(
|
|
50
|
-
|
|
49
|
+
icon({
|
|
51
50
|
"ui:default-icon-collection": "cib"
|
|
52
51
|
})
|
|
53
52
|
),
|
|
54
|
-
label: Type.Optional(
|
|
55
|
-
href:
|
|
53
|
+
label: Type.Optional(Type.String({ title: "Label" })),
|
|
54
|
+
href: Type.String({ title: "Link" })
|
|
56
55
|
}),
|
|
57
56
|
{
|
|
58
57
|
title: "Social Links",
|
|
@@ -90,13 +89,13 @@ var manifest = defineBrickManifest({
|
|
|
90
89
|
}
|
|
91
90
|
),
|
|
92
91
|
direction: Type.Optional(
|
|
93
|
-
|
|
92
|
+
direction({
|
|
94
93
|
default: "flex-row"
|
|
95
94
|
})
|
|
96
95
|
),
|
|
97
|
-
fontSize: Type.Optional(
|
|
96
|
+
fontSize: Type.Optional(fontSize()),
|
|
98
97
|
padding: Type.Optional(
|
|
99
|
-
|
|
98
|
+
cssLength({
|
|
100
99
|
default: "2rem",
|
|
101
100
|
description: "Padding.",
|
|
102
101
|
"ai:instructions": "Use only a single value like '1rem' or '10px'",
|
|
@@ -106,12 +105,10 @@ var manifest = defineBrickManifest({
|
|
|
106
105
|
"ui:styleId": "styles:padding"
|
|
107
106
|
})
|
|
108
107
|
),
|
|
109
|
-
rounding:
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
),
|
|
114
|
-
border: Type.Optional(borderRef()),
|
|
108
|
+
rounding: rounding({
|
|
109
|
+
default: "rounded-md"
|
|
110
|
+
}),
|
|
111
|
+
border: Type.Optional(border()),
|
|
115
112
|
iconOnly: Type.Optional(
|
|
116
113
|
Type.Boolean({
|
|
117
114
|
title: "Only icons",
|
|
@@ -516,4 +513,4 @@ export {
|
|
|
516
513
|
manifest,
|
|
517
514
|
examples
|
|
518
515
|
};
|
|
519
|
-
//# sourceMappingURL=chunk-
|
|
516
|
+
//# sourceMappingURL=chunk-NTP6BKRU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/social-links.manifest.ts"],"sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { TiSocialFlickr } from \"react-icons/ti\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { icon } from \"../props/string\";\nimport { fontSize } from \"../props/text\";\nimport { direction } from \"../props/direction\";\nimport { colorPreset } from \"../props/color-preset\";\nimport { border, rounding } from \"../props/border\";\nimport { cssLength } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"social-links\",\n name: \"Social links\",\n description: \"A list of social media links\",\n icon: TiSocialFlickr,\n defaultWidth: {\n mobile: \"100%\",\n },\n props: defineProps({\n colorPreset: Type.Optional(\n colorPreset({\n title: \"Color\",\n }),\n ),\n links: Type.Array(\n Type.Object({\n icon: Type.Optional(\n icon({\n \"ui:default-icon-collection\": \"cib\",\n }),\n ),\n label: Type.Optional(Type.String({ title: \"Label\" })),\n href: Type.String({ title: \"Link\" }),\n }),\n {\n title: \"Social Links\",\n description: \"List of social media links\",\n default: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n ],\n \"ui:widget\": \"array\",\n \"ui:displayField\": \"label\",\n \"ui:options\": {\n orderable: true, // Enable drag & drop reordering\n removable: true, // Enable delete button\n addable: true, // Enable add button\n },\n metadata: {\n category: \"content\",\n },\n },\n ),\n direction: Type.Optional(\n direction({\n default: \"flex-row\",\n }),\n ),\n fontSize: Type.Optional(fontSize()),\n padding: Type.Optional(\n cssLength({\n default: \"2rem\",\n description: \"Padding.\",\n \"ai:instructions\": \"Use only a single value like '1rem' or '10px'\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: rounding({\n default: \"rounded-md\",\n }),\n border: Type.Optional(border()),\n iconOnly: Type.Optional(\n Type.Boolean({\n title: \"Only icons\",\n description: \"If set, the brick will only display the icons without labels.\",\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Social icons displayed horizontally, without labels\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n links: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n ],\n },\n },\n {\n description: \"Social icons displayed vertically, without labels\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n ],\n },\n },\n {\n description: \"Social icons displayed horizontally, with labels\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n links: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://linkedin.com/company/company\",\n label: \"LinkedIn\",\n icon: \"mdi:linkedin\",\n },\n ],\n },\n },\n {\n description: \"Social icons displayed vertically, with labels\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://facebook.com/company\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://instagram.com/company\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://linkedin.com/company/company\",\n label: \"LinkedIn\",\n icon: \"mdi:linkedin\",\n },\n ],\n },\n },\n {\n description: \"Professional social links with labels\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n links: [\n {\n href: \"https://linkedin.com/in/johndoe\",\n label: \"Connect on LinkedIn\",\n icon: \"mdi:linkedin\",\n },\n {\n href: \"https://github.com/johndoe\",\n label: \"View GitHub Profile\",\n icon: \"mdi:github\",\n },\n {\n href: \"https://twitter.com/johndoe\",\n label: \"Follow on Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"mailto:john@example.com\",\n label: \"Send Email\",\n icon: \"mdi:email\",\n },\n ],\n },\n },\n {\n description: \"Creative portfolio social links (icon-only inline)\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n links: [\n {\n href: \"https://dribbble.com/designer\",\n label: \"Dribbble\",\n icon: \"mdi:dribbble\",\n },\n {\n href: \"https://behance.net/designer\",\n label: \"Behance\",\n icon: \"mdi:behance\",\n },\n {\n href: \"https://instagram.com/designer\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://pinterest.com/designer\",\n label: \"Pinterest\",\n icon: \"mdi:pinterest\",\n },\n {\n href: \"https://youtube.com/designer\",\n label: \"YouTube\",\n icon: \"mdi:youtube\",\n },\n ],\n },\n },\n {\n description: \"Developer/tech social links with labels\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://github.com/developer\",\n label: \"GitHub\",\n icon: \"mdi:github\",\n },\n {\n href: \"https://stackoverflow.com/users/developer\",\n label: \"Stack Overflow\",\n icon: \"mdi:stack-overflow\",\n },\n {\n href: \"https://dev.to/developer\",\n label: \"Dev.to\",\n icon: \"mdi:dev-to\",\n },\n {\n href: \"https://codepen.io/developer\",\n label: \"CodePen\",\n icon: \"mdi:codepen\",\n },\n ],\n },\n },\n {\n description: \"Music artist social platforms (block layout)\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://spotify.com/artist/musician\",\n label: \"Listen on Spotify\",\n icon: \"mdi:spotify\",\n },\n {\n href: \"https://music.apple.com/artist/musician\",\n label: \"Apple Music\",\n icon: \"mdi:apple\",\n },\n {\n href: \"https://soundcloud.com/musician\",\n label: \"SoundCloud\",\n icon: \"mdi:soundcloud\",\n },\n {\n href: \"https://youtube.com/musician\",\n label: \"YouTube Channel\",\n icon: \"mdi:youtube\",\n },\n {\n href: \"https://bandcamp.com/musician\",\n label: \"Bandcamp\",\n icon: \"mdi:bandcamp\",\n },\n ],\n },\n },\n {\n description: \"Business contact icons only\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n links: [\n {\n href: \"tel:+1234567890\",\n label: \"Phone\",\n icon: \"mdi:phone\",\n },\n {\n href: \"mailto:contact@business.com\",\n label: \"Email\",\n icon: \"mdi:email\",\n },\n {\n href: \"https://maps.google.com/business\",\n label: \"Location\",\n icon: \"mdi:map-marker\",\n },\n {\n href: \"https://business.com\",\n label: \"Website\",\n icon: \"mdi:web\",\n },\n ],\n },\n },\n {\n description: \"Gaming content creator links (inline with labels)\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n links: [\n {\n href: \"https://twitch.tv/gamer\",\n label: \"Twitch\",\n icon: \"mdi:twitch\",\n },\n {\n href: \"https://youtube.com/gamer\",\n label: \"YouTube\",\n icon: \"mdi:youtube\",\n },\n {\n href: \"https://discord.gg/gamer\",\n label: \"Discord\",\n icon: \"mdi:discord\",\n },\n {\n href: \"https://tiktok.com/@gamer\",\n label: \"TikTok\",\n icon: \"mdi:tiktok\",\n },\n ],\n },\n },\n {\n description: \"Restaurant social presence (block layout)\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n direction: \"flex-col\",\n links: [\n {\n href: \"https://facebook.com/restaurant\",\n label: \"Follow us on Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://instagram.com/restaurant\",\n label: \"See photos on Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://yelp.com/restaurant\",\n label: \"Review us on Yelp\",\n icon: \"mdi:yelp\",\n },\n {\n href: \"https://tripadvisor.com/restaurant\",\n label: \"TripAdvisor Reviews\",\n icon: \"mdi:tripadvisor\",\n },\n {\n href: \"tel:+1234567890\",\n label: \"Call for Reservations\",\n icon: \"mdi:phone\",\n },\n ],\n },\n },\n {\n description: \"Minimal footer social icons\",\n type: \"social-links\",\n props: {\n iconOnly: true,\n direction: \"flex-row\",\n links: [\n {\n href: \"https://twitter.com/company\",\n label: \"Twitter\",\n icon: \"mdi:twitter\",\n },\n {\n href: \"https://linkedin.com/company/company\",\n label: \"LinkedIn\",\n icon: \"mdi:linkedin\",\n },\n {\n href: \"mailto:hello@company.com\",\n label: \"Email\",\n icon: \"mdi:email\",\n },\n ],\n },\n },\n {\n description: \"E-commerce store social channels (inline with labels)\",\n type: \"social-links\",\n props: {\n iconOnly: false,\n direction: \"flex-row\",\n links: [\n {\n href: \"https://facebook.com/store\",\n label: \"Facebook\",\n icon: \"mdi:facebook\",\n },\n {\n href: \"https://instagram.com/store\",\n label: \"Instagram\",\n icon: \"mdi:instagram\",\n },\n {\n href: \"https://pinterest.com/store\",\n label: \"Pinterest\",\n icon: \"mdi:pinterest\",\n },\n {\n href: \"https://youtube.com/store\",\n label: \"YouTube\",\n icon: \"mdi:youtube\",\n },\n {\n href: \"https://tiktok.com/@store\",\n label: \"TikTok\",\n icon: \"mdi:tiktok\",\n },\n ],\n },\n },\n];\n"],"mappings":"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","names":[]}
|