@upstart.gg/sdk 0.0.129 → 0.0.131
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 +13 -0
- package/dist/shared/ai/schemas.d.ts.map +1 -0
- package/dist/shared/ai/schemas.js +3 -0
- package/dist/shared/ai/types.d.ts +164 -0
- package/dist/shared/ai/types.d.ts.map +1 -0
- package/dist/shared/{chunk-EJGNYD4V.js → ai/types.js} +0 -1
- package/dist/shared/ajv.d.ts +2 -1
- package/dist/shared/ajv.d.ts.map +1 -1
- package/dist/shared/ajv.js +1 -1
- package/dist/shared/attributes.d.ts +300 -12
- package/dist/shared/attributes.d.ts.map +1 -1
- package/dist/shared/attributes.js +1 -1
- package/dist/shared/brick-manifest.d.ts +3 -1
- package/dist/shared/brick-manifest.d.ts.map +1 -1
- package/dist/shared/brick-manifest.js +1 -1
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts +4 -3
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/accordion.manifest.js +1 -1
- package/dist/shared/bricks/manifests/all-manifests.d.ts +4 -1
- package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/all-manifests.js +1 -1
- package/dist/shared/bricks/manifests/box.manifest.d.ts +6 -4
- package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/box.manifest.js +1 -1
- package/dist/shared/bricks/manifests/button.manifest.d.ts +4 -3
- package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/button.manifest.js +1 -1
- package/dist/shared/bricks/manifests/card.manifest.d.ts +6 -5
- package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/card.manifest.js +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts +6 -5
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.js +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.d.ts +40 -5
- package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.js +1 -1
- package/dist/shared/bricks/manifests/form.manifest.d.ts +6 -5
- package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/form.manifest.js +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.d.ts +4 -3
- package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.js +1 -1
- package/dist/shared/bricks/manifests/html.manifest.d.ts +3 -2
- package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/html.manifest.js +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.d.ts +3 -2
- package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.js +1 -1
- package/dist/shared/bricks/manifests/image.manifest.d.ts +10 -6
- package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/image.manifest.js +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +7 -6
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +1 -1
- package/dist/shared/bricks/manifests/map.manifest.d.ts +5 -4
- package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/map.manifest.js +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts +42 -8
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.js +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +4 -3
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.js +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts +5 -4
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.js +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts +3 -2
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.js +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +6 -5
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.js +1 -1
- package/dist/shared/bricks/manifests/text.manifest.d.ts +4 -3
- package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/text.manifest.js +1 -1
- package/dist/shared/bricks/manifests/video.manifest.d.ts +4 -3
- package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/video.manifest.js +1 -1
- package/dist/shared/bricks/props/align.d.ts.map +1 -1
- package/dist/shared/bricks/props/align.js +1 -1
- package/dist/shared/bricks/props/background.d.ts +6 -9
- package/dist/shared/bricks/props/background.d.ts.map +1 -1
- package/dist/shared/bricks/props/background.js +1 -1
- package/dist/shared/bricks/props/border.d.ts.map +1 -1
- package/dist/shared/bricks/props/border.js +1 -1
- package/dist/shared/bricks/props/color-preset.d.ts +3 -4
- package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
- package/dist/shared/bricks/props/color-preset.js +1 -1
- package/dist/shared/bricks/props/color.js +1 -1
- package/dist/shared/bricks/props/common.d.ts +6 -6
- package/dist/shared/bricks/props/common.d.ts.map +1 -1
- package/dist/shared/bricks/props/common.js +1 -1
- package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
- package/dist/shared/bricks/props/css-length.js +1 -1
- package/dist/shared/bricks/props/datasource.d.ts +1 -1
- package/dist/shared/bricks/props/datasource.js +1 -1
- package/dist/shared/bricks/props/date.d.ts.map +1 -1
- package/dist/shared/bricks/props/date.js +1 -1
- package/dist/shared/bricks/props/direction.d.ts.map +1 -1
- package/dist/shared/bricks/props/direction.js +1 -1
- package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
- package/dist/shared/bricks/props/dynamic.js +1 -1
- package/dist/shared/bricks/props/effects.d.ts +0 -1
- package/dist/shared/bricks/props/effects.d.ts.map +1 -1
- package/dist/shared/bricks/props/effects.js +1 -1
- package/dist/shared/bricks/props/file.d.ts.map +1 -1
- package/dist/shared/bricks/props/file.js +1 -1
- package/dist/shared/bricks/props/geolocation.js +1 -1
- package/dist/shared/bricks/props/helpers.d.ts +2 -2
- package/dist/shared/bricks/props/helpers.js +1 -1
- package/dist/shared/bricks/props/image.d.ts +4 -4
- package/dist/shared/bricks/props/image.d.ts.map +1 -1
- package/dist/shared/bricks/props/image.js +1 -1
- package/dist/shared/bricks/props/position.d.ts +0 -2
- package/dist/shared/bricks/props/position.d.ts.map +1 -1
- package/dist/shared/bricks/props/position.js +1 -1
- package/dist/shared/bricks/props/string.js +1 -1
- package/dist/shared/bricks/props/tags.d.ts.map +1 -1
- package/dist/shared/bricks/props/tags.js +1 -1
- package/dist/shared/bricks/props/text.js +1 -1
- package/dist/shared/bricks/props/types.d.ts +1 -2
- package/dist/shared/bricks/props/types.d.ts.map +1 -1
- package/dist/shared/bricks.d.ts +189 -18
- package/dist/shared/bricks.d.ts.map +1 -1
- package/dist/shared/bricks.js +1 -1
- package/dist/shared/chunk-2CYAFF56.js +3 -0
- package/dist/shared/chunk-2NLDX5FG.js +3 -0
- package/dist/shared/chunk-3FPFR5RA.js +3 -0
- package/dist/shared/chunk-3P36LG6T.js +3 -0
- package/dist/shared/chunk-3QOAHMV4.js +5 -0
- package/dist/shared/chunk-4GIZ6WSG.js +3 -0
- package/dist/shared/chunk-5WY7LYXK.js +3 -0
- package/dist/shared/chunk-5X5SX5N7.js +4 -0
- package/dist/shared/chunk-6L3Z5SZQ.js +3 -0
- package/dist/shared/{chunk-UU2MSQXY.js → chunk-6PGAWO4H.js} +1 -1
- package/dist/shared/chunk-6R76KIHZ.js +3 -0
- package/dist/shared/chunk-7UBMXMNJ.js +3 -0
- package/dist/shared/chunk-AB3IMRXZ.js +3 -0
- package/dist/shared/chunk-AMQAGDFH.js +3 -0
- package/dist/shared/chunk-ARMM6B47.js +3 -0
- package/dist/shared/chunk-ARYG4XMX.js +3 -0
- package/dist/shared/chunk-AZHH3XJJ.js +3 -0
- package/dist/shared/chunk-COT2ROEH.js +34 -0
- package/dist/shared/chunk-DHSWVVMI.js +3 -0
- package/dist/shared/chunk-DKNOZLA6.js +3 -0
- package/dist/shared/chunk-EVDZ2KND.js +6 -0
- package/dist/shared/chunk-F4JNKU7J.js +3 -0
- package/dist/shared/chunk-GC5OWY2Z.js +3 -0
- package/dist/shared/chunk-GXNHF6J5.js +3 -0
- package/dist/shared/chunk-HP7CZB2F.js +3 -0
- package/dist/shared/chunk-HSRXUIVM.js +3 -0
- package/dist/shared/chunk-ILIWVWHC.js +8 -0
- package/dist/shared/chunk-JRCVYDCD.js +3 -0
- package/dist/shared/chunk-L2HOZVBC.js +3 -0
- package/dist/shared/chunk-LEWKHCRI.js +3 -0
- package/dist/shared/chunk-LT4CW2F7.js +3 -0
- package/dist/shared/chunk-MVCVVKBY.js +3 -0
- package/dist/shared/chunk-NKIEDT7V.js +3 -0
- package/dist/shared/chunk-NQKXDMQ5.js +3 -0
- package/dist/shared/chunk-NXIF3UMD.js +3 -0
- package/dist/shared/chunk-PW5HRVMD.js +3 -0
- package/dist/shared/chunk-PZYX3ACO.js +3 -0
- package/dist/shared/chunk-QDJQAZIA.js +8 -0
- package/dist/shared/chunk-QGFQA7OZ.js +4 -0
- package/dist/shared/chunk-RJZZWCBD.js +3 -0
- package/dist/shared/chunk-SAJY7H6N.js +3 -0
- package/dist/shared/chunk-SFDRAHYP.js +3 -0
- package/dist/shared/chunk-STDCM2KD.js +3 -0
- package/dist/shared/chunk-TCTVRT4O.js +3 -0
- package/dist/shared/chunk-TH5SONR6.js +3 -0
- package/dist/shared/chunk-UCR2UZOY.js +3 -0
- package/dist/shared/chunk-UDQWYGSO.js +3 -0
- package/dist/shared/{chunk-LSPN22SI.js → chunk-URRCKLAS.js} +3 -3
- package/dist/shared/{chunk-OIOYMECS.js → chunk-US53TNMK.js} +1 -1
- package/dist/shared/chunk-VDX2J22H.js +3 -0
- package/dist/shared/chunk-VE3S4LGT.js +3 -0
- package/dist/shared/chunk-VK26ZZFR.js +3 -0
- package/dist/shared/chunk-VLXZMESE.js +3 -0
- package/dist/shared/chunk-WAML3IGZ.js +3 -0
- package/dist/shared/chunk-WXKRIUTA.js +3 -0
- package/dist/shared/chunk-X62OEAE6.js +3 -0
- package/dist/shared/chunk-XED6ARVN.js +3 -0
- package/dist/shared/chunk-Y3X4F4YJ.js +3 -0
- package/dist/shared/chunk-Z4YKRLOX.js +3 -0
- package/dist/shared/context.d.ts +6 -15
- package/dist/shared/context.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/handler.d.ts +24 -7
- package/dist/shared/datarecords/external/airtable/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/handler.js +3 -0
- package/dist/shared/datarecords/external/airtable/oauth/config.js +3 -0
- package/dist/shared/datarecords/external/airtable/types.d.ts +40 -0
- package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -0
- package/dist/shared/datarecords/external/airtable/types.js +3 -0
- package/dist/shared/datarecords/external/generic-webhook/handler.js +3 -0
- package/dist/shared/datarecords/external/generic-webhook/options.js +3 -0
- package/dist/shared/datarecords/external/google/sheets/client.d.ts +14 -0
- package/dist/shared/datarecords/external/google/sheets/client.d.ts.map +1 -0
- package/dist/shared/datarecords/external/google/sheets/client.js +3 -0
- package/dist/shared/datarecords/external/google/sheets/handler.d.ts +27 -5
- package/dist/shared/datarecords/external/google/sheets/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/handler.js +7 -0
- package/dist/shared/datarecords/external/google/sheets/{options.d.ts → types.d.ts} +1 -1
- package/dist/shared/datarecords/external/google/sheets/types.d.ts.map +1 -0
- package/dist/shared/datarecords/external/google/sheets/types.js +3 -0
- package/dist/shared/datarecords/external/notion/handler.d.ts +31 -0
- package/dist/shared/datarecords/external/notion/handler.d.ts.map +1 -0
- package/dist/shared/datarecords/external/notion/handler.js +3 -0
- package/dist/shared/datarecords/external/notion/oauth/config.js +3 -0
- package/dist/shared/datarecords/external/notion/{options.d.ts → types.d.ts} +11 -1
- package/dist/shared/datarecords/external/notion/types.d.ts.map +1 -0
- package/dist/shared/datarecords/external/notion/types.js +3 -0
- package/dist/shared/datarecords/types.d.ts +17 -18
- package/dist/shared/datarecords/types.d.ts.map +1 -1
- package/dist/shared/datarecords/types.js +1 -1
- package/dist/shared/datarecords.d.ts +2 -2
- package/dist/shared/datarecords.d.ts.map +1 -1
- package/dist/shared/datarecords.js +1 -1
- package/dist/shared/datasources/external/facebook/posts/fetcher.js +3 -0
- package/dist/shared/datasources/external/facebook/posts/schema.js +3 -0
- package/dist/shared/datasources/external/http-json/fetcher.js +3 -0
- package/dist/shared/datasources/external/http-json/options.js +3 -0
- package/dist/shared/datasources/external/http-json/schema.js +3 -0
- package/dist/shared/datasources/external/instagram/feed/fetcher.js +3 -0
- package/dist/shared/datasources/external/instagram/feed/schema.js +3 -0
- package/dist/shared/datasources/external/mastodon/account/fetcher.js +3 -0
- package/dist/shared/datasources/external/mastodon/account/schema.js +3 -0
- package/dist/shared/datasources/external/mastodon/options.js +3 -0
- package/dist/shared/datasources/external/mastodon/status/fetcher.js +3 -0
- package/dist/shared/datasources/external/mastodon/status/sample.array.js +3 -0
- package/dist/shared/datasources/external/mastodon/status/sample.single.js +3 -0
- package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/schema.js +3 -0
- package/dist/shared/datasources/external/meta/options.js +3 -0
- package/dist/shared/datasources/external/rss/fetcher.js +3 -0
- package/dist/shared/datasources/external/rss/options.js +3 -0
- package/dist/shared/datasources/external/rss/schema.js +3 -0
- package/dist/shared/datasources/external/threads/media/fetcher.js +3 -0
- package/dist/shared/datasources/external/threads/media/schema.js +3 -0
- package/dist/shared/datasources/external/tiktok/video/fetcher.js +3 -0
- package/dist/shared/datasources/external/tiktok/video/options.js +3 -0
- package/dist/shared/datasources/external/tiktok/video/schema.js +3 -0
- package/dist/shared/datasources/external/youtube/list/fetcher.js +3 -0
- package/dist/shared/datasources/external/youtube/list/options.js +3 -0
- package/dist/shared/datasources/external/youtube/list/schema.js +3 -0
- package/dist/shared/datasources/fetcher.js +2 -0
- package/dist/shared/datasources/internal/blog/schema.js +3 -0
- package/dist/shared/datasources/internal/changelog/schema.js +3 -0
- package/dist/shared/datasources/internal/contact-info/schema.js +3 -0
- package/dist/shared/datasources/internal/cv/schema.js +3 -0
- package/dist/shared/datasources/internal/faq/schema.js +3 -0
- package/dist/shared/datasources/internal/job-board/schema.js +3 -0
- package/dist/shared/datasources/internal/links/schema.js +3 -0
- package/dist/shared/datasources/internal/recipes/schema.js +3 -0
- package/dist/shared/datasources/internal/restaurant/schema.js +3 -0
- package/dist/shared/datasources/samples.js +3 -0
- package/dist/shared/datasources/schemas.d.ts +0 -49
- package/dist/shared/datasources/schemas.d.ts.map +1 -1
- package/dist/shared/datasources/schemas.js +1 -1
- package/dist/shared/datasources/types.d.ts +53 -130
- package/dist/shared/datasources/types.d.ts.map +1 -1
- package/dist/shared/datasources/types.js +1 -1
- package/dist/shared/datasources/utils.js +3 -0
- package/dist/shared/datasources.d.ts +7 -4
- package/dist/shared/datasources.d.ts.map +1 -1
- package/dist/shared/datasources.js +1 -1
- package/dist/shared/errors.js +1 -1
- package/dist/shared/images.d.ts +1 -12
- package/dist/shared/images.d.ts.map +1 -1
- package/dist/shared/images.js +1 -1
- package/dist/shared/index.js +3 -0
- package/dist/shared/manifest.js +3 -0
- package/dist/shared/page.d.ts +155 -50
- package/dist/shared/page.d.ts.map +1 -1
- package/dist/shared/page.js +1 -1
- package/dist/shared/site.d.ts +322 -113
- package/dist/shared/site.d.ts.map +1 -1
- package/dist/shared/site.js +1 -1
- package/dist/shared/sitemap.d.ts +313 -13
- package/dist/shared/sitemap.d.ts.map +1 -1
- package/dist/shared/sitemap.js +1 -1
- package/dist/shared/social-icons.js +3 -0
- package/dist/shared/theme.d.ts +41 -4
- package/dist/shared/theme.d.ts.map +1 -1
- package/dist/shared/theme.js +1 -1
- package/dist/shared/utils/invariant.js +1 -1
- package/dist/shared/utils/llm.d.ts +19 -0
- package/dist/shared/utils/llm.d.ts.map +1 -0
- package/dist/shared/utils/llm.js +3 -0
- package/dist/shared/utils/schema.d.ts +6 -1
- package/dist/shared/utils/schema.d.ts.map +1 -1
- package/dist/shared/utils/schema.js +1 -1
- package/dist/shared/utils/tests/schema.test.d.ts +2 -0
- package/dist/shared/utils/tests/schema.test.d.ts.map +1 -0
- package/dist/shared/utils/typed-ref.d.ts +1 -6
- package/dist/shared/utils/typed-ref.d.ts.map +1 -1
- package/dist/shared/utils/typed-ref.js +1 -1
- package/package.json +19 -19
- package/src/shared/ai/schemas.ts +33 -0
- package/src/shared/ai/types.ts +151 -0
- package/src/shared/ajv.ts +123 -0
- package/src/shared/analytics/init.ts +14 -0
- package/src/shared/analytics/track.ts +21 -0
- package/src/shared/analytics/types.ts +13 -0
- package/src/shared/attributes.ts +396 -0
- package/src/shared/brick-manifest.ts +119 -0
- package/src/shared/bricks/manifests/accordion.manifest.ts +482 -0
- package/src/shared/bricks/manifests/all-manifests.ts +121 -0
- package/src/shared/bricks/manifests/box.manifest.ts +551 -0
- package/src/shared/bricks/manifests/button.manifest.ts +208 -0
- package/src/shared/bricks/manifests/card.manifest.ts +320 -0
- package/src/shared/bricks/manifests/carousel.manifest.ts +708 -0
- package/src/shared/bricks/manifests/footer.manifest.ts +509 -0
- package/src/shared/bricks/manifests/form.manifest.ts +226 -0
- package/src/shared/bricks/manifests/hero.manifest.ts +365 -0
- package/src/shared/bricks/manifests/html.manifest.ts +127 -0
- package/src/shared/bricks/manifests/icon.manifest.ts +164 -0
- package/src/shared/bricks/manifests/image.manifest.ts +378 -0
- package/src/shared/bricks/manifests/images-gallery.manifest.ts +822 -0
- package/src/shared/bricks/manifests/map.manifest.ts +215 -0
- package/src/shared/bricks/manifests/navbar.manifest.ts +361 -0
- package/src/shared/bricks/manifests/sidebar.manifest.ts +88 -0
- package/src/shared/bricks/manifests/social-links.manifest.ts +497 -0
- package/src/shared/bricks/manifests/spacer.manifest.ts +54 -0
- package/src/shared/bricks/manifests/testimonials.manifest.ts +480 -0
- package/src/shared/bricks/manifests/tests/header.manifest.test.ts +10 -0
- package/src/shared/bricks/manifests/text.manifest.ts +245 -0
- package/src/shared/bricks/manifests/video.manifest.ts +115 -0
- package/src/shared/bricks/props/align.ts +63 -0
- package/src/shared/bricks/props/background.ts +79 -0
- package/src/shared/bricks/props/boolean.ts +7 -0
- package/src/shared/bricks/props/border.ts +86 -0
- package/src/shared/bricks/props/color-preset.ts +390 -0
- package/src/shared/bricks/props/color.ts +40 -0
- package/src/shared/bricks/props/common.ts +64 -0
- package/src/shared/bricks/props/css-length.ts +32 -0
- package/src/shared/bricks/props/datarecord.ts +11 -0
- package/src/shared/bricks/props/datasource.ts +82 -0
- package/src/shared/bricks/props/date.ts +21 -0
- package/src/shared/bricks/props/direction.ts +21 -0
- package/src/shared/bricks/props/dynamic.ts +112 -0
- package/src/shared/bricks/props/effects.ts +71 -0
- package/src/shared/bricks/props/enum.ts +38 -0
- package/src/shared/bricks/props/file.ts +10 -0
- package/src/shared/bricks/props/geolocation.ts +36 -0
- package/src/shared/bricks/props/helpers.ts +73 -0
- package/src/shared/bricks/props/image.ts +96 -0
- package/src/shared/bricks/props/number.ts +8 -0
- package/src/shared/bricks/props/position.ts +11 -0
- package/src/shared/bricks/props/string.ts +72 -0
- package/src/shared/bricks/props/tags.ts +26 -0
- package/src/shared/bricks/props/tests/background.test.ts +90 -0
- package/src/shared/bricks/props/tests/border.test.ts +12 -0
- package/src/shared/bricks/props/tests/effects.test.ts +37 -0
- package/src/shared/bricks/props/tests/helpers.test.ts +98 -0
- package/src/shared/bricks/props/tests/image.test.ts +71 -0
- package/src/shared/bricks/props/tests/string.test.ts +80 -0
- package/src/shared/bricks/props/text.ts +107 -0
- package/src/shared/bricks/props/types.ts +72 -0
- package/src/shared/bricks.ts +1237 -0
- package/src/shared/context.ts +32 -0
- package/src/shared/datarecords/external/airtable/handler.ts +501 -0
- package/src/shared/datarecords/external/airtable/oauth/config.ts +11 -0
- package/src/shared/datarecords/external/airtable/types.ts +63 -0
- package/src/shared/datarecords/external/generic-webhook/handler.ts +10 -0
- package/src/shared/datarecords/external/generic-webhook/options.ts +13 -0
- package/src/shared/datarecords/external/google/oauth/config.ts +30 -0
- package/src/shared/datarecords/external/google/sheets/client.ts +112 -0
- package/src/shared/datarecords/external/google/sheets/handler.ts +253 -0
- package/src/shared/datarecords/external/google/sheets/types.ts +10 -0
- package/src/shared/datarecords/external/notion/handler.ts +469 -0
- package/src/shared/datarecords/external/notion/oauth/config.ts +7 -0
- package/src/shared/datarecords/external/notion/types.ts +28 -0
- package/src/shared/datarecords/types.ts +165 -0
- package/src/shared/datarecords.ts +5 -0
- package/src/shared/datasources/README.md +3 -0
- package/src/shared/datasources/external/facebook/posts/fetcher.ts +52 -0
- package/src/shared/datasources/external/facebook/posts/sample.ts +35 -0
- package/src/shared/datasources/external/facebook/posts/schema.ts +33 -0
- package/src/shared/datasources/external/facebook/posts/tests/fetcher.test.ts +73 -0
- package/src/shared/datasources/external/http-json/fetcher.ts +31 -0
- package/src/shared/datasources/external/http-json/options.ts +8 -0
- package/src/shared/datasources/external/http-json/schema.ts +6 -0
- package/src/shared/datasources/external/http-json/tests/fetcher.test.ts +70 -0
- package/src/shared/datasources/external/instagram/feed/fetcher.ts +33 -0
- package/src/shared/datasources/external/instagram/feed/sample.ts +22 -0
- package/src/shared/datasources/external/instagram/feed/schema.ts +23 -0
- package/src/shared/datasources/external/instagram/feed/tests/fetcher.test.ts +64 -0
- package/src/shared/datasources/external/mastodon/account/fetcher.ts +24 -0
- package/src/shared/datasources/external/mastodon/account/sample.ts +33 -0
- package/src/shared/datasources/external/mastodon/account/schema.ts +45 -0
- package/src/shared/datasources/external/mastodon/account/tests/fetcher.test.ts +47 -0
- package/src/shared/datasources/external/mastodon/options.ts +6 -0
- package/src/shared/datasources/external/mastodon/status/fetcher.ts +35 -0
- package/src/shared/datasources/external/mastodon/status/sample.array.ts +59 -0
- package/src/shared/datasources/external/mastodon/status/sample.single.ts +55 -0
- package/src/shared/datasources/external/mastodon/status/schema.ts +125 -0
- package/src/shared/datasources/external/mastodon/status/tests/fetcher.test.ts +74 -0
- package/src/shared/datasources/external/meta/oauth/config.ts +16 -0
- package/src/shared/datasources/external/meta/options.ts +7 -0
- package/src/shared/datasources/external/rss/fetcher.ts +31 -0
- package/src/shared/datasources/external/rss/options.ts +7 -0
- package/src/shared/datasources/external/rss/sample.ts +22 -0
- package/src/shared/datasources/external/rss/schema.ts +42 -0
- package/src/shared/datasources/external/threads/media/fetcher.ts +53 -0
- package/src/shared/datasources/external/threads/media/sample.ts +44 -0
- package/src/shared/datasources/external/threads/media/schema.ts +37 -0
- package/src/shared/datasources/external/tiktok/oauth/config.ts +17 -0
- package/src/shared/datasources/external/tiktok/video/fetcher.ts +39 -0
- package/src/shared/datasources/external/tiktok/video/options.ts +8 -0
- package/src/shared/datasources/external/tiktok/video/sample.ts +26 -0
- package/src/shared/datasources/external/tiktok/video/schema.ts +27 -0
- package/src/shared/datasources/external/youtube/list/fetcher.ts +37 -0
- package/src/shared/datasources/external/youtube/list/options.ts +11 -0
- package/src/shared/datasources/external/youtube/list/sample.ts +33 -0
- package/src/shared/datasources/external/youtube/list/schema.ts +38 -0
- package/src/shared/datasources/external/youtube/oauth/config.ts +15 -0
- package/src/shared/datasources/fetcher.ts +16 -0
- package/src/shared/datasources/internal/blog/schema.ts +69 -0
- package/src/shared/datasources/internal/changelog/schema.ts +48 -0
- package/src/shared/datasources/internal/contact-info/schema.ts +20 -0
- package/src/shared/datasources/internal/cv/schema.ts +217 -0
- package/src/shared/datasources/internal/faq/schema.ts +27 -0
- package/src/shared/datasources/internal/job-board/schema.ts +228 -0
- package/src/shared/datasources/internal/links/schema.ts +15 -0
- package/src/shared/datasources/internal/recipes/schema.ts +42 -0
- package/src/shared/datasources/internal/restaurant/schema.ts +225 -0
- package/src/shared/datasources/samples.ts +26 -0
- package/src/shared/datasources/schemas.ts +48 -0
- package/src/shared/datasources/types.ts +490 -0
- package/src/shared/datasources/utils.ts +17 -0
- package/src/shared/datasources.ts +57 -0
- package/src/shared/env.ts +23 -0
- package/src/shared/errors.ts +1 -0
- package/src/shared/images.ts +44 -0
- package/src/shared/index.ts +3 -0
- package/src/shared/layout-constants.ts +19 -0
- package/src/shared/manifest.ts +50 -0
- package/src/shared/oauth.ts +16 -0
- package/src/shared/page.ts +36 -0
- package/src/shared/prompt.ts +9 -0
- package/src/shared/responsive.ts +5 -0
- package/src/shared/site.ts +59 -0
- package/src/shared/sitemap.ts +98 -0
- package/src/shared/social-icons.ts +307 -0
- package/src/shared/tests/attributes.test.ts +31 -0
- package/src/shared/theme.ts +244 -0
- package/src/shared/themes/README.md +34 -0
- package/src/shared/themes/color-system.ts +146 -0
- package/src/shared/themes/tests/color-system.test.ts +170 -0
- package/src/shared/utils/canvas-data-uri.ts +2 -0
- package/src/shared/utils/invariant.ts +25 -0
- package/src/shared/utils/json-date.ts +8 -0
- package/src/shared/utils/llm.ts +282 -0
- package/src/shared/utils/merge.ts +12 -0
- package/src/shared/utils/object-hash.ts +7 -0
- package/src/shared/utils/schema.ts +359 -0
- package/src/shared/utils/string-enum.ts +12 -0
- package/src/shared/utils/tests/schema.test.ts +724 -0
- package/src/shared/utils/try-catch.ts +12 -0
- package/src/shared/utils/typed-ref.ts +53 -0
- package/dist/shared/bricks/props/container.d.ts +0 -11
- package/dist/shared/bricks/props/container.d.ts.map +0 -1
- package/dist/shared/bricks/props/container.js +0 -3
- package/dist/shared/bricks/props/gap.d.ts +0 -9
- package/dist/shared/bricks/props/gap.d.ts.map +0 -1
- package/dist/shared/bricks/props/gap.js +0 -3
- package/dist/shared/bricks/props/padding.d.ts +0 -5
- package/dist/shared/bricks/props/padding.d.ts.map +0 -1
- package/dist/shared/bricks/props/padding.js +0 -3
- package/dist/shared/bricks/props/tests/padding.d.ts +0 -2
- package/dist/shared/bricks/props/tests/padding.d.ts.map +0 -1
- package/dist/shared/chunk-2IYSJYNE.js +0 -3
- package/dist/shared/chunk-3EM3B4DX.js +0 -3
- package/dist/shared/chunk-4TH3C76A.js +0 -3
- package/dist/shared/chunk-5N6MBJJ4.js +0 -3
- package/dist/shared/chunk-6FITVVZX.js +0 -3
- package/dist/shared/chunk-6K3KZDFC.js +0 -3
- package/dist/shared/chunk-6WCGUAQN.js +0 -3
- package/dist/shared/chunk-7DMUDZ4H.js +0 -3
- package/dist/shared/chunk-ACVLF55Q.js +0 -3
- package/dist/shared/chunk-AQPN5SE2.js +0 -3
- package/dist/shared/chunk-BZGNY7LB.js +0 -3
- package/dist/shared/chunk-C2S243PB.js +0 -8
- package/dist/shared/chunk-C3VGP4CA.js +0 -3
- package/dist/shared/chunk-CT3EI7YN.js +0 -3
- package/dist/shared/chunk-DQXDGV67.js +0 -3
- package/dist/shared/chunk-E22E4XWE.js +0 -3
- package/dist/shared/chunk-ETYYRWLK.js +0 -3
- package/dist/shared/chunk-EYPREFMH.js +0 -3
- package/dist/shared/chunk-FKNNTHWX.js +0 -5
- package/dist/shared/chunk-HHO3ONTQ.js +0 -3
- package/dist/shared/chunk-I46VBMLF.js +0 -3
- package/dist/shared/chunk-IIFTGWFZ.js +0 -3
- package/dist/shared/chunk-JS4K5JRM.js +0 -5
- package/dist/shared/chunk-KHFNN4P3.js +0 -3
- package/dist/shared/chunk-LFQZRGHS.js +0 -3
- package/dist/shared/chunk-LGP6GWIY.js +0 -3
- package/dist/shared/chunk-NLEWXPVM.js +0 -3
- package/dist/shared/chunk-NNI225RG.js +0 -3
- package/dist/shared/chunk-QISTDGPP.js +0 -3
- package/dist/shared/chunk-QSZWDE3D.js +0 -3
- package/dist/shared/chunk-RGLVKILY.js +0 -3
- package/dist/shared/chunk-SLRU4CT6.js +0 -4
- package/dist/shared/chunk-T3LIA4YB.js +0 -3
- package/dist/shared/chunk-T4LMBG2G.js +0 -3
- package/dist/shared/chunk-TATG6SFZ.js +0 -3
- package/dist/shared/chunk-TF3JVVRU.js +0 -3
- package/dist/shared/chunk-TTTXV7TJ.js +0 -6
- package/dist/shared/chunk-TWBY2GOR.js +0 -3
- package/dist/shared/chunk-UHF6IEKV.js +0 -3
- package/dist/shared/chunk-UMHXXXVP.js +0 -3
- package/dist/shared/chunk-VGRYSAXA.js +0 -3
- package/dist/shared/chunk-VPFCY4DH.js +0 -3
- package/dist/shared/chunk-VTBI7WX3.js +0 -3
- package/dist/shared/chunk-VZPXXFVX.js +0 -3
- package/dist/shared/chunk-WU6Q4WYD.js +0 -3
- package/dist/shared/chunk-X43MB5WD.js +0 -3
- package/dist/shared/chunk-YBGPPF7T.js +0 -3
- package/dist/shared/chunk-ZQGNYK5I.js +0 -8
- package/dist/shared/chunk-ZTDUXSWH.js +0 -3
- package/dist/shared/datarecords/external/airtable/elements.d.ts +0 -21
- package/dist/shared/datarecords/external/airtable/elements.d.ts.map +0 -1
- package/dist/shared/datarecords/external/airtable/options.d.ts +0 -10
- package/dist/shared/datarecords/external/airtable/options.d.ts.map +0 -1
- package/dist/shared/datarecords/external/google/sheets/options.d.ts.map +0 -1
- package/dist/shared/datarecords/external/notion/options.d.ts.map +0 -1
- package/dist/shared/utils/schema-resolver.d.ts +0 -3
- package/dist/shared/utils/schema-resolver.d.ts.map +0 -1
- package/dist/shared/utils/schema-resolver.js +0 -3
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Type, type Static } from "@sinclair/typebox";
|
|
2
|
+
|
|
3
|
+
export const manifestSchema = Type.Object({
|
|
4
|
+
id: Type.Optional(
|
|
5
|
+
Type.String({
|
|
6
|
+
title: "Template ID",
|
|
7
|
+
description: "A unique identifier for the template. Can be any string, but should be unique.",
|
|
8
|
+
}),
|
|
9
|
+
),
|
|
10
|
+
name: Type.String({
|
|
11
|
+
title: "Template Name",
|
|
12
|
+
}),
|
|
13
|
+
description: Type.Optional(
|
|
14
|
+
Type.String({
|
|
15
|
+
title: "Show template description",
|
|
16
|
+
}),
|
|
17
|
+
),
|
|
18
|
+
readme: Type.Optional(
|
|
19
|
+
Type.Record(
|
|
20
|
+
Type.RegExp(/^[a-z]{2}$/), // language code
|
|
21
|
+
Type.String(),
|
|
22
|
+
{
|
|
23
|
+
title: "Readme texts.",
|
|
24
|
+
description:
|
|
25
|
+
"A dictionary of readme files for different languages (iso 2 letters code). Currently on supported for 'en' and 'fr'.",
|
|
26
|
+
},
|
|
27
|
+
),
|
|
28
|
+
),
|
|
29
|
+
tags: Type.Optional(Type.Array(Type.String(), { title: "Tags" })),
|
|
30
|
+
author: Type.Optional(
|
|
31
|
+
Type.String({
|
|
32
|
+
title: "Author name",
|
|
33
|
+
}),
|
|
34
|
+
),
|
|
35
|
+
thumbnail: Type.Optional(
|
|
36
|
+
Type.String({
|
|
37
|
+
title: "Thumbnail",
|
|
38
|
+
description: "A URL to the thumbnail image for the template.",
|
|
39
|
+
}),
|
|
40
|
+
),
|
|
41
|
+
homepage: Type.Optional(
|
|
42
|
+
Type.String({
|
|
43
|
+
title: "Homepage",
|
|
44
|
+
description: "A URL to the homepage of the template.",
|
|
45
|
+
}),
|
|
46
|
+
),
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export type TemplateManifest = Static<typeof manifestSchema>;
|
|
50
|
+
export type PublishedTemplateManifest = TemplateManifest & Required<Pick<TemplateManifest, "id">>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Type, type TSchema, type StaticDecode } from "@sinclair/typebox";
|
|
2
|
+
import { jsonDate } from "./utils/json-date";
|
|
3
|
+
|
|
4
|
+
export const buildOAuthConfigSchema = <T extends TSchema>(T: T) =>
|
|
5
|
+
Type.Object({
|
|
6
|
+
siteId: Type.String(),
|
|
7
|
+
siteDatasourceId: Type.String(),
|
|
8
|
+
config: T,
|
|
9
|
+
oauthTokenExpireAt: jsonDate,
|
|
10
|
+
oauthRefreshTokenExpireAt: Type.Optional(jsonDate),
|
|
11
|
+
nextRefreshTokenAt: Type.Optional(jsonDate),
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export type OAuthConfig<T extends TSchema = TSchema> = StaticDecode<
|
|
15
|
+
ReturnType<typeof buildOAuthConfigSchema<T>>
|
|
16
|
+
>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { pageAttributesSchema } from "./attributes";
|
|
2
|
+
import { sectionSchema } from "./bricks";
|
|
3
|
+
import { Type, type Static } from "@sinclair/typebox";
|
|
4
|
+
import { toLLMSchema } from "./utils/llm";
|
|
5
|
+
|
|
6
|
+
export const pageSchema = Type.Object({
|
|
7
|
+
id: Type.String({
|
|
8
|
+
description: "The unique ID of the page. Use a human readable url-safe slug",
|
|
9
|
+
examples: ["home", "about-us", "products-list"],
|
|
10
|
+
}),
|
|
11
|
+
label: Type.String({
|
|
12
|
+
description: "The label (name) of the page",
|
|
13
|
+
examples: ["Home", "About us", "Products"],
|
|
14
|
+
}),
|
|
15
|
+
sections: Type.Array(sectionSchema, {
|
|
16
|
+
description: "The sections of the page. See the Section schema",
|
|
17
|
+
}),
|
|
18
|
+
attributes: pageAttributesSchema,
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export function getPageSchemaForLLM() {
|
|
22
|
+
return toLLMSchema(pageSchema);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type Page = Static<typeof pageSchema>;
|
|
26
|
+
export type VersionedPage = Page & { version: string };
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Page context represents the page config PLUS:
|
|
30
|
+
* - the pathParams of the actual request.
|
|
31
|
+
* - the resolved data for the page.
|
|
32
|
+
*/
|
|
33
|
+
export type PageContext = VersionedPage & {
|
|
34
|
+
pathParams?: Record<string, string>;
|
|
35
|
+
data?: Record<string, unknown[]>;
|
|
36
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Static, Type } from "@sinclair/typebox";
|
|
2
|
+
|
|
3
|
+
export const sitePrompt = Type.String({
|
|
4
|
+
minLength: 30,
|
|
5
|
+
maxLength: 500,
|
|
6
|
+
description: "User prompt for the site, describing the purpose and main features of the site.",
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type SitePrompt = Static<typeof sitePrompt>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Type, type Static } from "@sinclair/typebox";
|
|
2
|
+
import { datarecordsList } from "./datarecords/types";
|
|
3
|
+
import { datasourcesList } from "./datasources/types";
|
|
4
|
+
import { pageSchema } from "./page";
|
|
5
|
+
import { sitePrompt } from "./prompt";
|
|
6
|
+
import { sitemapSchema } from "./sitemap";
|
|
7
|
+
import { defaultTheme, themeSchema } from "./theme";
|
|
8
|
+
import { resolvePageAttributes, resolveSiteAttributes, siteAttributesSchema } from "./attributes";
|
|
9
|
+
|
|
10
|
+
export const siteSchema = Type.Object({
|
|
11
|
+
id: Type.String(),
|
|
12
|
+
label: Type.String(),
|
|
13
|
+
hostname: Type.String(),
|
|
14
|
+
attributes: siteAttributesSchema,
|
|
15
|
+
datasources: datasourcesList,
|
|
16
|
+
datarecords: datarecordsList,
|
|
17
|
+
themes: Type.Array(themeSchema),
|
|
18
|
+
theme: themeSchema,
|
|
19
|
+
sitemap: sitemapSchema,
|
|
20
|
+
sitePrompt,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export type Site = Static<typeof siteSchema>;
|
|
24
|
+
export type PublicSite = Omit<Site, "sitePrompt">;
|
|
25
|
+
|
|
26
|
+
const siteAndPagesSchema = Type.Object({
|
|
27
|
+
site: siteSchema,
|
|
28
|
+
pages: Type.Array(pageSchema),
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export type SiteAndPagesConfig = Static<typeof siteAndPagesSchema>;
|
|
32
|
+
|
|
33
|
+
export function createEmptyConfig(sitePrompt: string): SiteAndPagesConfig {
|
|
34
|
+
return {
|
|
35
|
+
site: {
|
|
36
|
+
id: crypto.randomUUID(),
|
|
37
|
+
label: "My site",
|
|
38
|
+
hostname: "example.com",
|
|
39
|
+
sitePrompt,
|
|
40
|
+
theme: defaultTheme,
|
|
41
|
+
themes: [],
|
|
42
|
+
sitemap: [],
|
|
43
|
+
attributes: resolveSiteAttributes(),
|
|
44
|
+
datarecords: [],
|
|
45
|
+
datasources: [],
|
|
46
|
+
},
|
|
47
|
+
// we need a fake page
|
|
48
|
+
pages: [
|
|
49
|
+
{
|
|
50
|
+
id: "_default_",
|
|
51
|
+
label: "First page with really really long name that should be truncated",
|
|
52
|
+
sections: [],
|
|
53
|
+
attributes: resolvePageAttributes({
|
|
54
|
+
path: "/",
|
|
55
|
+
}),
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Type, type Static } from "@sinclair/typebox";
|
|
2
|
+
import { StringEnum } from "./utils/string-enum";
|
|
3
|
+
import { pageSchema } from "./page";
|
|
4
|
+
import { toLLMSchema } from "./utils/llm";
|
|
5
|
+
|
|
6
|
+
export const sitemapPageEntry = Type.Pick(pageSchema, ["id", "label", "path", "attributes"]);
|
|
7
|
+
export type SitemapPageEntry = Static<typeof sitemapPageEntry>;
|
|
8
|
+
|
|
9
|
+
export const sectionsPlanSchema = Type.Array(
|
|
10
|
+
Type.Object(
|
|
11
|
+
{
|
|
12
|
+
id: Type.String({
|
|
13
|
+
title: "Section ID",
|
|
14
|
+
examples: ["header-section", "hero-section", "features-section"],
|
|
15
|
+
format: "slug",
|
|
16
|
+
}),
|
|
17
|
+
name: Type.String({ title: "Section name", examples: ["Header", "Hero", "Features"] }),
|
|
18
|
+
description: Type.String({
|
|
19
|
+
title: "A long description of the section",
|
|
20
|
+
description: `You must elaborate a clear and detailled plan that describes:
|
|
21
|
+
- The section purpose in the page, in detail.
|
|
22
|
+
- The section structure, look & feel, and structural/design organization, in detail
|
|
23
|
+
- the types of bricks (e.g. "container", "text", "video", "carousel", etc) that will be used and their purpose, in detail
|
|
24
|
+
|
|
25
|
+
IMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,
|
|
26
|
+
|
|
27
|
+
examples: [
|
|
28
|
+
"This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.",
|
|
29
|
+
"This section should contain a `hero` text and an `image`.",
|
|
30
|
+
],
|
|
31
|
+
}),
|
|
32
|
+
},
|
|
33
|
+
{ additionalProperties: false },
|
|
34
|
+
),
|
|
35
|
+
{
|
|
36
|
+
title: "Sections plan",
|
|
37
|
+
description: "A plan for the sections of the page. Used to generate the page content.",
|
|
38
|
+
examples: [
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
id: "header-section",
|
|
42
|
+
name: "Header",
|
|
43
|
+
description: "This section only contains a header brick",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "hero-section",
|
|
47
|
+
name: "Hero",
|
|
48
|
+
description:
|
|
49
|
+
"This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally.",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
export const sitemapEntry = Type.Composite(
|
|
57
|
+
[
|
|
58
|
+
sitemapPageEntry,
|
|
59
|
+
Type.Object({
|
|
60
|
+
status: Type.Optional(
|
|
61
|
+
StringEnum(["draft", "published"], {
|
|
62
|
+
title: "Page status",
|
|
63
|
+
enumNames: ["Draft", "Published"],
|
|
64
|
+
default: "draft",
|
|
65
|
+
"ai:hidden": true,
|
|
66
|
+
description:
|
|
67
|
+
"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]",
|
|
68
|
+
"ai:instructions": "Upsie: Never generate this optional field.",
|
|
69
|
+
}),
|
|
70
|
+
),
|
|
71
|
+
}),
|
|
72
|
+
],
|
|
73
|
+
{
|
|
74
|
+
description: "Pages map. The complete list of site pages & their metadata",
|
|
75
|
+
additionalProperties: false,
|
|
76
|
+
},
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
export const sitemapSchema = Type.Array(sitemapEntry);
|
|
80
|
+
export type Sitemap = Static<typeof sitemapSchema>;
|
|
81
|
+
|
|
82
|
+
export function getSitemapSchemaForLLM() {
|
|
83
|
+
return toLLMSchema(
|
|
84
|
+
Type.Array(
|
|
85
|
+
Type.Composite([
|
|
86
|
+
sitemapEntry,
|
|
87
|
+
Type.Object({
|
|
88
|
+
// Sections plan helps agents to the structure and content of the page
|
|
89
|
+
sectionsPlan: sectionsPlanSchema,
|
|
90
|
+
}),
|
|
91
|
+
]),
|
|
92
|
+
),
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function getSitemapSchemaNoPlansForLLM() {
|
|
97
|
+
return toLLMSchema(sitemapSchema);
|
|
98
|
+
}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
// TODO move to bricks
|
|
2
|
+
export const socialIcons = [
|
|
3
|
+
{
|
|
4
|
+
label: "YouTube",
|
|
5
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon></svg>',
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
label: "Twitter/X",
|
|
9
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path></svg>',
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
label: "Instagram",
|
|
13
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg>',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
label: "TikTok",
|
|
17
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 12A4 4 0 1 0 9 20 4 4 0 1 0 9 12z"></path><path d="M15 8a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"></path><path d="M15 8v8c0 1 1 4 4 4"></path></svg>',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
label: "Facebook",
|
|
21
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
label: "OnlyFans",
|
|
25
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"></path><path d="M12 8v8"></path><path d="M8 12h8"></path></svg>',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
label: "LinkedIn",
|
|
29
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: "Pinterest",
|
|
33
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 12a4 4 0 1 1 8 0 4 4 0 0 1-8 0z"></path><path d="M3 12h1m17 0h1M12 3v1m0 17v1m-.5-3.5L9 17m7.5 0L14 20.5M7.5 6.5L4 11m16-4.5L16.5 11"></path></svg>',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: "Flickr",
|
|
37
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: "Reddit",
|
|
41
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M15 14a3 3 0 0 1-3 3m-3-3a3 3 0 0 0 3 3"></path><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
label: "Snapchat",
|
|
45
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2a10 10 0 0 0-10 10c0 1.8.5 3.5 1.3 5l-1.2 4.7 4.7-1.2c1.5.8 3.2 1.3 5 1.3a10 10 0 0 0 10-10 10 10 0 0 0-10-10z"></path><path d="M8.5 15.5c.8-2.3 2.5-3 3.5-3s2.7.7 3.5 3"></path></svg>',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
label: "Twitch",
|
|
49
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7"></path></svg>',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
label: "Discord",
|
|
53
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"></path></svg>',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
label: "WhatsApp",
|
|
57
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg>',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
label: "Medium",
|
|
61
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
label: "Vimeo",
|
|
65
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53A4.48 4.48 0 0 0 18.3 6a9.72 9.72 0 0 1-6.16-2.36A4.48 4.48 0 0 0 12 4v1a4.48 4.48 0 0 0 1.88 3.69A4.48 4.48 0 0 1 15 9.5h1a4.48 4.48 0 0 0 3.69-1.88A9.72 9.72 0 0 1 23 3z"></path></svg>',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
label: "Quora",
|
|
69
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: "Github",
|
|
73
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 0 0-3.8 23.4c.6.1.8-.3.8-.6v-2.2c-3.4.7-4.1-1.6-4.1-1.6-.5-1.3-1.3-1.6-1.3-1.6-1-.7.1-.7.1-.7 1.2.1 1.8 1.3 1.8 1.3 1 1.8 2.6 1.3 3.2 1 .1-.7.4-1.3.7-1.6-2.7-.3-5.6-1.3-5.6-5.9 0-1.3.5-2.4 1.2-3.2-.1-.3-.5-1.4.1-3 0 0 1-.3 3.2 1.2a11 11 0 0 1 5.8 0c2.2-1.5 3.2-1.2 3.2-1.2.6 1.6.2 2.7.1 3a4.6 4.6 0 0 1 1.2 3.2c0 4.6-2.9 5.6-5.7 5.9.4.3.8 1 .8 2.1v3.1c0 .3.2.7.8.6A12 12 0 0 0 12 0"></path></svg>',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
label: "GitLab",
|
|
77
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="9.9,2 2,22 12,17 22,22 14.1,2"></polygon></svg>',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
label: "Bitbucket",
|
|
81
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 2H2v20h20V2zM10 20H2v-7.6h8v7.6zm12-3.4h-8v-8h8v8z"></path></svg>',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
label: "Stack Overflow",
|
|
85
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 22h16v-2H4v2zM4 17h16v-2H4v2zM8 12h8v2H8v-2zM12 7l4 4-4 4-4-4 4-4z"></path></svg>',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
label: "Behance",
|
|
89
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8h4v2h-4z"></path><path d="M16 12h4v2h-4z"></path><path d="M4 2h16v16H4z"></path></svg>',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
label: "Dribbble",
|
|
93
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm2.5 3.5C16.5 7.5 18 9 18 9s-1.5 2-2 3.5c-1-1.5-2.5-2.5-4.5-3.5-1-1-2.5-2.5-2.5-2.5s1.5-1 2.5-2c1 0 2.5 1 2.5 1zm-5 0c0 1.5-.5 3-.5 3S6.5 10 6.5 10c0-2 2-3.5 2-3.5zm0 6c.5 1 1 2 1.5 3s.5 1.5 1.5 3-1 3.5-1 3.5 1.5 1 1.5 1 3-2 3-3.5-2-4.5-2-4.5-2 1.5-3.5 0zm8 4.5c-.5-1-1.5-3-3-4s-2-1-3-1 0 0 0 0c-1 0-2 0-3 1-1 1-2 3-2 4 0 1 0 2 1 2 1 0 3 0 4-1 1 0 3 0 4-1z"></path></svg>',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
label: "DeviantArt",
|
|
97
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0L2 10h7v4H2l10 10 10-10h-7v-4h7L12 0z"></path></svg>',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
label: "CodePen",
|
|
101
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0L2 6l10 6 10-6-10-6zm0 22.5L1.5 16l10-6 10 6-10 6.5zm-10-12L12 0v22L2 10.5zM12 0v22l10-12L12 0z"></path></svg>',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
label: "Dev.to",
|
|
105
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0v24h24V0H0zm10.75 18.63c0 .13-.09.27-.27.36-1.34.54-2.74.78-4.25.78C3.36 19.77 2 18.41 2 17V7c0-1.4 1.36-2.77 4.25-2.77 1.5 0 2.91.25 4.25.79.18.09.27.23.27.36v13.25zm3.5-7.5v5.5c0 1.02-.92 2.26-4.02 2.26-1.09 0-2.09-.19-3.02-.55v-10c.93-.36 1.93-.55 3.02-.55 3.1 0 4.02 1.24 4.02 2.26zm6.5 7.5c0 .13-.09.27-.27.36-1.34.54-2.74.78-4.25.78-1.5 0-2.91-.25-4.25-.79-.18-.09-.27-.23-.27-.36V4.88c0-.13.09-.27.27-.36 1.34-.54 2.74-.78 4.25-.78 1.5 0 2.91.25 4.25.78.18.09.27.23.27.36v12.5z"></path></svg>',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
label: "Slack",
|
|
109
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.5 3a1.5 1.5 0 1 1 0 3H10a1.5 1.5 0 0 1 0-3z"></path><path d="M14.5 21a1.5 1.5 0 1 1 0 3H10a1.5 1.5 0 0 1 0-3z"></path><path d="M17 12.5a1.5 1.5 0 1 1 0-3H21a1.5 1.5 0 0 1 0 3z"></path><path d="M7 12.5a1.5 1.5 0 1 1 0-3H11a1.5 1.5 0 0 1 0 3z"></path><path d="M12.5 17a1.5 1.5 0 1 1 3 0V21a1.5 1.5 0 0 1-3 0z"></path><path d="M12.5 7a1.5 1.5 0 1 1 3 0V11a1.5 1.5 0 0 1-3 0z"></path><path d="M7 3a1.5 1.5 0 1 1 3 0V7a1.5 1.5 0 0 1-3 0z"></path><path d="M3 17a1.5 1.5 0 1 1 3 0V21a1.5 1.5 0 0 1-3 0z"></path></svg>',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
label: "Spotify",
|
|
113
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 21 3z"></path></svg>',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
label: "SoundCloud",
|
|
117
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15.5a3.5 3.5 0 0 0-3.5-3.5H8a4 4 0 0 0 0 8h10a3.5 3.5 0 0 0 3-3.5z"></path><path d="M8 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"></path></svg>',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
label: "Line",
|
|
121
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.5 3A4.5 4.5 0 0 1 23 7.5v9A4.5 4.5 0 0 1 18.5 21h-13A4.5 4.5 0 0 1 1 16.5v-9A4.5 4.5 0 0 1 5.5 3z"></path><path d="M12 17l-3.5 3v-3H8a4.5 4.5 0 0 1 0-9h7a4.5 4.5 0 0 1 0 9h-1.5v3z"></path></svg>',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
label: "KakaoTalk",
|
|
125
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 0 0-12 12c0 6.63 9 12 12 12s12-5.37 12-12S18.63 0 12 0zm0 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12z"></path></svg>',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
label: "Viber",
|
|
129
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 3a10.9 10.9 0 0 1-3.14 1.53A4.48 4.48 0 0 0 15 6v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 21 3z"></path></svg>',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
label: "Periscope",
|
|
133
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 0 0-12 12c0 6.63 9 12 12 12s12-5.37 12-12S18.63 0 12 0zm0 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12z"></path></svg>',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
label: "Mix",
|
|
137
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 3a10.9 10.9 0 0 1-3.14 1.53A4.48 4.48 0 0 0 15 6v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 21 3z"></path></svg>',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
label: "Goodreads",
|
|
141
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.5 3A4.5 4.5 0 0 1 23 7.5v9A4.5 4.5 0 0 1 18.5 21h-13A4.5 4.5 0 0 1 1 16.5v-9A4.5 4.5 0 0 1 5.5 3z"></path><path d="M12 12.5c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z"></path></svg>',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
label: "Patreon",
|
|
145
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.5 3A4.5 4.5 0 0 1 23 7.5v9A4.5 4.5 0 0 1 18.5 21h-13A4.5 4.5 0 0 1 1 16.5v-9A4.5 4.5 0 0 1 5.5 3z"></path><path d="M15 15.5c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"></path></svg>',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
label: "PayPal",
|
|
149
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon></svg>',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
label: "GoFundMe",
|
|
153
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12a10 10 0 1 0-10 10A10 10 0 0 0 22 12z"></path><circle cx="12" cy="12" r="3"></circle><line x1="2" y1="2" x2="22" y2="22"></line></svg>',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
label: "OpenCollective",
|
|
157
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a10 10 0 0 0 0 20 10 10 0 0 0 0-20z"></path></svg>',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
label: "Ko-fi",
|
|
161
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M8 10h8l1 6H7l1-6zM9 6h6v4H9V6z"></path></svg>',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
label: "Buy Me a Coffee",
|
|
165
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 8H4v12h16V8zm0 0H4l-2 2h20l-2-2z"></path><path d="M8 18h8v4H8v-4z"></path></svg>',
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
label: "Liberapay",
|
|
169
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M15 9a3 3 0 0 0-6 0 3 3 0 0 0 6 0z"></path><path d="M9 9a3 3 0 0 1 6 0v6a3 3 0 0 1-6 0V9z"></path></svg>',
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
label: "Gratipay",
|
|
173
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 6a6 6 0 0 0 0 12 6 6 0 0 0 0-12z"></path></svg>',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
label: "BountySource",
|
|
177
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M15 9a3 3 0 0 0-6 0 3 3 0 0 0 6 0z"></path><path d="M9 9a3 3 0 0 1 6 0v6a3 3 0 0 1-6 0V9z"></path></svg>',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
label: "Tidelift",
|
|
181
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 6V2h-2v4H7l5 6h4v4h2v-4h-3l5-6h-4V2h-2v4h-2z"></path><path d="M12 12h4l-4 4h-4l4-4z"></path></svg>',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
label: "Indiegogo",
|
|
185
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
label: "Kickstarter",
|
|
189
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
label: "JustGiving",
|
|
193
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 0 0-12 12c0 6.63 9 12 12 12s12-5.37 12-12S18.63 0 12 0zm0 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12z"></path></svg>',
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
label: "Donorbox",
|
|
197
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 0 0-12 12c0 6.63 9 12 12 12s12-5.37 12-12S18.63 0 12 0zm0 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12z"></path></svg>',
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
label: "Tiltify",
|
|
201
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
label: "GlobalGiving",
|
|
205
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12a10 10 0 1 0-10 10A10 10 0 0 0 22 12z"></path><circle cx="12" cy="12" r="3"></circle><line x1="2" y1="2" x2="22" y2="22"></line></svg>',
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
label: "Network for Good",
|
|
209
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.5 3A4.5 4.5 0 0 1 23 7.5v9A4.5 4.5 0 0 1 18.5 21h-13A4.5 4.5 0 0 1 1 16.5v-9A4.5 4.5 0 0 1 5.5 3z"></path><path d="M12 12.5c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z"></path></svg>',
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
label: "Fundly",
|
|
213
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
label: "FundRazr",
|
|
217
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
label: "GiveLively",
|
|
221
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
label: "Causes",
|
|
225
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 0 0-12 12c0 6.63 9 12 12 12s12-5.37 12-12S18.63 0 12 0zm0 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12z"></path></svg>',
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
label: "Clubhouse",
|
|
229
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.5 3A4.5 4.5 0 0 1 23 7.5v9A4.5 4.5 0 0 1 18.5 21h-13A4.5 4.5 0 0 1 1 16.5v-9A4.5 4.5 0 0 1 5.5 3z"></path><path d="M12 8.5c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z"></path></svg>',
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
label: "Mastodon",
|
|
233
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 0 0-12 12c0 6.63 9 12 12 12s12-5.37 12-12S18.63 0 12 0zm0 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12z"></path></svg>',
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
label: "ManyVids",
|
|
237
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
label: "JustForFans",
|
|
241
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2H3v20h18V2zM16 12.3C16 15.4 13.4 18 10.3 18 7.2 18 4.7 15.4 4.7 12.3 4.7 9.2 7.2 6.6 10.3 6.6 13.4 6.6 16 9.2 16 12.3z"></path><path d="M12 4V0"></path></svg>',
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
label: "QQ",
|
|
245
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 1 0 12 12A12 12 0 0 0 12 0zm0 22a10 10 0 1 1 10-10A10 10 0 0 1 12 22z"></path><path d="M12 5a7 7 0 1 1-7 7 7 7 0 0 1 7-7m0-1A8 8 0 1 0 20 12 8 8 0 0 0 12 4z"></path></svg>',
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
label: "Weibo",
|
|
249
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 1 0 12 12A12 12 0 0 0 12 0zm0 22a10 10 0 1 1 10-10A10 10 0 0 1 12 22z"></path><path d="M12 5a7 7 0 1 1-7 7 7 7 0 0 1 7-7m0-1A8 8 0 1 0 20 12 8 8 0 0 0 12 4z"></path></svg>',
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
label: "Qzone",
|
|
253
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 1 0 12 12A12 12 0 0 0 12 0zm0 22a10 10 0 1 1 10-10A10 10 0 0 1 12 22z"></path><path d="M12 5a7 7 0 1 1-7 7 7 7 0 0 1 7-7m0-1A8 8 0 1 0 20 12 8 8 0 0 0 12 4z"></path></svg>',
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
label: "Sina Weibo",
|
|
257
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 1 0 12 12A12 12 0 0 0 12 0zm0 22a10 10 0 1 1 10-10A10 10 0 0 1 12 22z"></path><path d="M12 5a7 7 0 1 1-7 7 7 7 0 0 1 7-7m0-1A8 8 0 1 0 20 12 8 8 0 0 0 12 4z"></path></svg>',
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
label: "Douyin",
|
|
261
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2H3v20h18V2zm-7 14c-1 0-1.75.75-1.75 1.75S13 19.5 14 19.5s1.75-.75 1.75-1.75S15 16 14 16z"></path><path d="M10 2v12a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2V2h10z"></path></svg>',
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
label: "Kuaishou",
|
|
265
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2H3v20h18V2zm-7 14c-1 0-1.75.75-1.75 1.75S13 19.5 14 19.5s1.75-.75 1.75-1.75S15 16 14 16z"></path><path d="M10 2v12a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2V2h10z"></path></svg>',
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
label: "Baidu Tieba",
|
|
269
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 0a12 12 0 1 0 12 12A12 12 0 0 0 12 0zm0 22a10 10 0 1 1 10-10A10 10 0 0 1 12 22z"></path><path d="M12 5a7 7 0 1 1-7 7 7 7 0 0 1 7-7m0-1A8 8 0 1 0 20 12 8 8 0 0 0 12 4z"></path></svg>',
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
label: "Nextdoor",
|
|
273
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10V6c0-1.1-.9-2-2-2h-1V3a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v1H5c-1.1 0-2 .9-2 2v4H1v11a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V10h-2zm-1 11H4v-9h16v9zm-9-8h-2v6h2v-6zm4 0h-2v6h2v-6zm-8 0H7v6h2v-6z"></path></svg>',
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
label: "Parler",
|
|
277
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.9 8.6c.4-1.4.6-2.9.6-4.5 0-2.8-1-5.3-2.7-7.2-1.7-1.9-4-2.9-6.6-2.9s-5 .9-6.6 2.8c-1.7 1.9-2.7 4.4-2.7 7.2 0 1.6.2 3.1.6 4.5L.1 14.9v6.8L3.7 24H7v-6.9L4.2 14.6zM8 19v5H5.3l-1.7-1.6V15l2.7 2.7zm-1.6-7c-1.1-.9-1.8-2.2-1.8-3.8 0-2.8 1.5-5.1 3.5-5.1s3.5 2.3 3.5 5.1c0 1.6-.7 2.9-1.8 3.8l1.6 1.4c1.4-1.2 2.3-3 2.3-5.2 0-3.7-2.1-6.8-4.6-6.8S5.4 7.3 5.4 11c0 2.1.9 4 2.3 5.2z"></path></svg>',
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
label: "Gab",
|
|
281
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon></svg>',
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
label: "MeWe",
|
|
285
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.5 3A4.5 4.5 0 0 1 23 7.5v9A4.5 4.5 0 0 1 18.5 21h-13A4.5 4.5 0 0 1 1 16.5v-9A4.5 4.5 0 0 1 5.5 3z"></path><path d="M12 12.5c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z"></path></svg>',
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
label: "Vero",
|
|
289
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 13.6l-4.2-4.2-4.2 4.2H12l4.2-4.2 4.2 4.2h-4.2z"></path></svg>',
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
label: "Ello",
|
|
293
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M14.31 14.31a4 4 0 0 1-5.62 0"></path></svg>',
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
label: "Threads",
|
|
297
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v20"></path><path d="M2 12h20"></path></svg>',
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
label: "Anchor",
|
|
301
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2a1 1 0 0 1 1 1v1h-2V3a1 1 0 0 1 1-1z"></path><path d="M5 8a1 1 0 0 1 1 1v5a1 1 0 0 1-2 0V9a1 1 0 0 1 1-1z"></path><path d="M18 8a1 1 0 0 1 1 1v5a1 1 0 0 1-2 0V9a1 1 0 0 1 1-1z"></path><path d="M9 21a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1h-6v-1z"></path><path d="M12 12a2 2 0 1 1-2-2 2 2 0 0 1 2 2z"></path><path d="M19 21h-1v-6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v6H5"></path></svg>',
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
label: "Substack",
|
|
305
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08c0 .6-.41 1.11-.99 1.25a1.64 1.64 0 0 1-.71.02c-.6-.11-1.12-.61-1.19-1.23-.03-.28.02-.56.17-.8a1.15 1.15 0 0 1 1.73-.26c.28.25.44.6.44.98v0h0z"></path><path d="M2 9h20v12H2z"></path><path d="M5 6h14v3H5z"></path><path d="M5 3h14v3H5z"></path></svg>',
|
|
306
|
+
},
|
|
307
|
+
];
|