@upstart.gg/sdk 0.0.130 → 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 +4 -12
- package/dist/shared/context.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/handler.d.ts +22 -5
- package/dist/shared/datarecords/external/airtable/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/handler.js +1 -1
- package/dist/shared/datarecords/external/airtable/oauth/config.js +3 -0
- package/dist/shared/datarecords/external/airtable/types.d.ts +25 -0
- package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
- 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.js +3 -0
- package/dist/shared/datarecords/external/google/sheets/handler.d.ts +29 -5
- package/dist/shared/datarecords/external/google/sheets/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/handler.js +5 -4
- 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 +29 -7
- package/dist/shared/datarecords/external/notion/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/notion/handler.js +1 -1
- 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 -165
- 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 +143 -12
- package/dist/shared/page.d.ts.map +1 -1
- package/dist/shared/page.js +1 -1
- package/dist/shared/site.d.ts +224 -114
- package/dist/shared/site.d.ts.map +1 -1
- package/dist/shared/site.js +1 -1
- package/dist/shared/sitemap.d.ts +167 -23
- 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 +18 -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-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-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-L6WHBSRZ.js +0 -8
- 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-UAQHU6L6.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-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-YFFTZ5T6.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/client.d.ts +0 -8
- package/dist/shared/datarecords/external/airtable/client.d.ts.map +0 -1
- 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/client.d.ts +0 -8
- package/dist/shared/datarecords/external/notion/client.d.ts.map +0 -1
- package/dist/shared/datarecords/external/notion/options.d.ts.map +0 -1
- package/dist/shared/datarecords/external/notion/utils.d.ts +0 -5
- package/dist/shared/datarecords/external/notion/utils.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,482 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import { TfiLayoutAccordionSeparated } from "react-icons/tfi";
|
|
3
|
+
import { defineBrickManifest } from "~/shared/brick-manifest";
|
|
4
|
+
import { StringEnum } from "~/shared/utils/string-enum";
|
|
5
|
+
import { boolean } from "../props/boolean";
|
|
6
|
+
import { defineProps } from "../props/helpers";
|
|
7
|
+
import { colorPresetRef } from "../props/color-preset";
|
|
8
|
+
import { fontSizeRef, textContentRef } from "../props/text";
|
|
9
|
+
import type { BrickProps } from "../props/types";
|
|
10
|
+
import { loopRef } from "../props/dynamic";
|
|
11
|
+
import { cssLengthRef } from "../props/css-length";
|
|
12
|
+
|
|
13
|
+
export const manifest = defineBrickManifest({
|
|
14
|
+
type: "accordion",
|
|
15
|
+
name: "Accordion",
|
|
16
|
+
description: "An accordion/collapse element for expandable content",
|
|
17
|
+
aiInstructions: `
|
|
18
|
+
This accordion element displays content in collapsible panels.
|
|
19
|
+
It is typically used for FAQ sections, organized documentation, or to save space.
|
|
20
|
+
Each item has a title and expandable content area.
|
|
21
|
+
Multiple panels can be open simultaneously or limited to one at a time.
|
|
22
|
+
`.trim(),
|
|
23
|
+
icon: TfiLayoutAccordionSeparated,
|
|
24
|
+
|
|
25
|
+
defaultWidth: { desktop: "450px", mobile: "100%" },
|
|
26
|
+
|
|
27
|
+
props: defineProps({
|
|
28
|
+
items: Type.Array(
|
|
29
|
+
Type.Object({
|
|
30
|
+
title: textContentRef({
|
|
31
|
+
title: "Title",
|
|
32
|
+
default: "My title",
|
|
33
|
+
disableSizing: true,
|
|
34
|
+
showInSettings: true,
|
|
35
|
+
}),
|
|
36
|
+
content: textContentRef({ title: "Content", default: "Expandable content goes here" }),
|
|
37
|
+
defaultOpen: Type.Optional(boolean("Open by default", false)),
|
|
38
|
+
}),
|
|
39
|
+
{
|
|
40
|
+
title: "Accordion items",
|
|
41
|
+
metadata: {
|
|
42
|
+
category: "content",
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
),
|
|
46
|
+
fontSize: Type.Optional(fontSizeRef({ default: "inherit" })),
|
|
47
|
+
restrictOneOpen: boolean("Restrict to one open item", false, {
|
|
48
|
+
description:
|
|
49
|
+
"Restrict to one open item at a time. If false, multiple items can be open simultaneously.",
|
|
50
|
+
}),
|
|
51
|
+
gap: Type.Optional(
|
|
52
|
+
cssLengthRef({
|
|
53
|
+
title: "Gap",
|
|
54
|
+
description: "The gap between the accordion items.",
|
|
55
|
+
default: "1px",
|
|
56
|
+
"ui:styleId": "styles:gap",
|
|
57
|
+
}),
|
|
58
|
+
),
|
|
59
|
+
rounding: Type.Optional(
|
|
60
|
+
StringEnum(
|
|
61
|
+
[
|
|
62
|
+
"rounded-auto",
|
|
63
|
+
"rounded-none",
|
|
64
|
+
"rounded-sm",
|
|
65
|
+
"rounded-md",
|
|
66
|
+
"rounded-lg",
|
|
67
|
+
"rounded-xl",
|
|
68
|
+
"rounded-2xl",
|
|
69
|
+
"rounded-3xl",
|
|
70
|
+
],
|
|
71
|
+
{
|
|
72
|
+
title: "Corner rounding",
|
|
73
|
+
enumNames: ["Auto", "None", "Small", "Medium", "Large", "Extra large", "2xl", "3xl"],
|
|
74
|
+
"ui:placeholder": "Not specified",
|
|
75
|
+
"ui:field": "enum",
|
|
76
|
+
"ui:display": "select",
|
|
77
|
+
"ui:styleId": "styles:rounding",
|
|
78
|
+
default: "rounded-auto",
|
|
79
|
+
},
|
|
80
|
+
),
|
|
81
|
+
),
|
|
82
|
+
colorPreset: Type.Optional(
|
|
83
|
+
colorPresetRef({
|
|
84
|
+
title: "Color",
|
|
85
|
+
default: { color: "bg-primary-500 text-primary-500-content" },
|
|
86
|
+
}),
|
|
87
|
+
),
|
|
88
|
+
loop: Type.Optional(loopRef()),
|
|
89
|
+
}),
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
export type Manifest = typeof manifest;
|
|
93
|
+
|
|
94
|
+
export const examples: {
|
|
95
|
+
description: string;
|
|
96
|
+
type: string;
|
|
97
|
+
props: BrickProps<Manifest>["brick"]["props"];
|
|
98
|
+
}[] = [
|
|
99
|
+
{
|
|
100
|
+
description: "FAQ section with card styling with single open",
|
|
101
|
+
type: "accordion",
|
|
102
|
+
props: {
|
|
103
|
+
restrictOneOpen: true,
|
|
104
|
+
items: [
|
|
105
|
+
{
|
|
106
|
+
title: "What is included in the basic plan?",
|
|
107
|
+
content:
|
|
108
|
+
"The basic plan includes access to all core features, up to 10 projects, 5GB storage, email support, and basic analytics. You can upgrade at any time to access advanced features like API access, priority support, and unlimited projects.",
|
|
109
|
+
defaultOpen: true,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
title: "How do I cancel my subscription?",
|
|
113
|
+
content:
|
|
114
|
+
"You can cancel your subscription at any time from your account settings. Go to Billing > Manage Subscription > Cancel. Your access will continue until the end of your current billing period, and you won't be charged for the next cycle.",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
title: "Is there a free trial available?",
|
|
118
|
+
content:
|
|
119
|
+
"Yes! We offer a 14-day free trial with full access to all premium features. No credit card required to start. You can upgrade to a paid plan anytime during or after the trial period.",
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
title: "What payment methods do you accept?",
|
|
123
|
+
content:
|
|
124
|
+
"We accept all major credit cards (Visa, MasterCard, American Express), PayPal, and bank transfers for annual subscriptions. All payments are processed securely through our payment partners.",
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: "Do you offer refunds?",
|
|
128
|
+
content:
|
|
129
|
+
"We offer a 30-day money-back guarantee for all new subscriptions. If you're not satisfied with our service, contact our support team within 30 days of your purchase for a full refund.",
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
description: "Product features accordion with multiple open panels and secondary color scheme",
|
|
136
|
+
type: "accordion",
|
|
137
|
+
props: {
|
|
138
|
+
restrictOneOpen: false,
|
|
139
|
+
colorPreset: {
|
|
140
|
+
color: "secondary-400",
|
|
141
|
+
},
|
|
142
|
+
rounding: "rounded-lg",
|
|
143
|
+
gap: "0.5rem",
|
|
144
|
+
items: [
|
|
145
|
+
{
|
|
146
|
+
title: "Advanced Analytics Dashboard",
|
|
147
|
+
content:
|
|
148
|
+
"Get detailed insights into your business performance with real-time analytics, custom reports, and data visualization tools. Track key metrics, monitor trends, and make data-driven decisions.",
|
|
149
|
+
defaultOpen: true,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
title: "Team Collaboration Tools",
|
|
153
|
+
content:
|
|
154
|
+
"Work seamlessly with your team using built-in collaboration features including shared workspaces, real-time editing, comments, and task management. Perfect for remote and hybrid teams.",
|
|
155
|
+
defaultOpen: true,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
title: "API Integration & Automation",
|
|
159
|
+
content:
|
|
160
|
+
"Connect with over 1000+ popular tools and services through our robust API. Set up automated workflows, sync data across platforms, and streamline your business processes.",
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
title: "Enterprise Security",
|
|
164
|
+
content:
|
|
165
|
+
"Bank-level security with end-to-end encryption, SSO integration, two-factor authentication, and compliance with SOC 2, GDPR, and HIPAA standards.",
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
description: "Documentation sections with neutral styling and large font size",
|
|
172
|
+
type: "accordion",
|
|
173
|
+
props: {
|
|
174
|
+
restrictOneOpen: false,
|
|
175
|
+
colorPreset: {
|
|
176
|
+
color: "neutral-200",
|
|
177
|
+
},
|
|
178
|
+
fontSize: "text-lg",
|
|
179
|
+
rounding: "rounded-md",
|
|
180
|
+
gap: "2px",
|
|
181
|
+
items: [
|
|
182
|
+
{
|
|
183
|
+
title: "Getting Started",
|
|
184
|
+
content:
|
|
185
|
+
"Learn the basics of our platform with step-by-step tutorials, setup guides, and quick start examples. Perfect for new users who want to get up and running quickly.",
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
title: "API Reference",
|
|
189
|
+
content:
|
|
190
|
+
"Complete API documentation with endpoints, parameters, response examples, and SDKs for popular programming languages including JavaScript, Python, PHP, and Ruby.",
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
title: "Advanced Configuration",
|
|
194
|
+
content:
|
|
195
|
+
"Deep dive into advanced features, custom configurations, webhooks, and enterprise-level integrations. Includes code samples and best practices.",
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
description: "Restaurant menu sections with accent colors and extra large rounding",
|
|
202
|
+
type: "accordion",
|
|
203
|
+
props: {
|
|
204
|
+
restrictOneOpen: true,
|
|
205
|
+
colorPreset: {
|
|
206
|
+
color: "accent-500",
|
|
207
|
+
},
|
|
208
|
+
rounding: "rounded-xl",
|
|
209
|
+
gap: "1rem",
|
|
210
|
+
items: [
|
|
211
|
+
{
|
|
212
|
+
title: "Appetizers & Starters",
|
|
213
|
+
content:
|
|
214
|
+
"Bruschetta with Fresh Tomatoes - $8.99<br/>Calamari Rings with Marinara - $12.99<br/>Spinach & Artichoke Dip - $10.99<br/>Buffalo Wings (6 pieces) - $9.99",
|
|
215
|
+
defaultOpen: true,
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
title: "Main Courses",
|
|
219
|
+
content:
|
|
220
|
+
"Grilled Salmon with Herbs - $18.99<br/>Chicken Parmesan with Pasta - $16.99<br/>Ribeye Steak (12oz) - $24.99<br/>Vegetarian Lasagna - $14.99",
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
title: "Desserts",
|
|
224
|
+
content:
|
|
225
|
+
"Tiramisu - $7.99<br/>Chocolate Lava Cake - $8.99<br/>New York Cheesecake - $6.99<br/>Gelato (3 scoops) - $5.99",
|
|
226
|
+
},
|
|
227
|
+
],
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
description: "Course curriculum with primary colors and minimal gap",
|
|
232
|
+
type: "accordion",
|
|
233
|
+
props: {
|
|
234
|
+
restrictOneOpen: false,
|
|
235
|
+
colorPreset: {
|
|
236
|
+
color: "primary-600",
|
|
237
|
+
},
|
|
238
|
+
rounding: "rounded-sm",
|
|
239
|
+
gap: "1px",
|
|
240
|
+
fontSize: "text-base",
|
|
241
|
+
items: [
|
|
242
|
+
{
|
|
243
|
+
title: "Week 1: Introduction to Web Development",
|
|
244
|
+
content:
|
|
245
|
+
"Learn the fundamentals of HTML, CSS, and basic JavaScript. Set up your development environment and create your first web page. Includes hands-on exercises and project templates.",
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
title: "Week 2: Responsive Design & CSS Framework",
|
|
249
|
+
content:
|
|
250
|
+
"Master responsive web design principles, CSS Grid, Flexbox, and popular frameworks like Bootstrap and Tailwind CSS. Build mobile-first designs that work on all devices.",
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
title: "Week 3: JavaScript Fundamentals",
|
|
254
|
+
content:
|
|
255
|
+
"Deep dive into JavaScript programming including variables, functions, objects, arrays, DOM manipulation, and event handling. Build interactive web applications.",
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
title: "Week 4: Modern JavaScript & APIs",
|
|
259
|
+
content:
|
|
260
|
+
"Learn ES6+ features, async/await, fetch API, and how to work with external APIs. Create dynamic applications that interact with real-world data sources.",
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
description: "Legal terms accordion with neutral dark theme and large gaps",
|
|
267
|
+
type: "accordion",
|
|
268
|
+
props: {
|
|
269
|
+
restrictOneOpen: true,
|
|
270
|
+
colorPreset: {
|
|
271
|
+
color: "neutral-800",
|
|
272
|
+
},
|
|
273
|
+
rounding: "rounded-lg",
|
|
274
|
+
gap: "1.5rem",
|
|
275
|
+
fontSize: "text-sm",
|
|
276
|
+
items: [
|
|
277
|
+
{
|
|
278
|
+
title: "Terms of Service",
|
|
279
|
+
content:
|
|
280
|
+
"By accessing and using this website, you accept and agree to be bound by the terms and provision of this agreement. These terms apply to all visitors, users, and others who access or use the service.",
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
title: "Privacy Policy",
|
|
284
|
+
content:
|
|
285
|
+
"We collect information you provide directly to us, such as when you create an account, make a purchase, or contact us. We use this information to provide, maintain, and improve our services.",
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
title: "Cookie Policy",
|
|
289
|
+
content:
|
|
290
|
+
"We use cookies and similar tracking technologies to track activity on our service and hold certain information. You can instruct your browser to refuse all cookies or indicate when a cookie is being sent.",
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
description: "Event schedule with secondary colors and 2xl rounding",
|
|
297
|
+
type: "accordion",
|
|
298
|
+
props: {
|
|
299
|
+
restrictOneOpen: false,
|
|
300
|
+
colorPreset: {
|
|
301
|
+
color: "secondary-300",
|
|
302
|
+
},
|
|
303
|
+
rounding: "rounded-2xl",
|
|
304
|
+
gap: "0.75rem",
|
|
305
|
+
items: [
|
|
306
|
+
{
|
|
307
|
+
title: "Day 1: Opening Ceremony & Keynotes",
|
|
308
|
+
content:
|
|
309
|
+
"9:00 AM - Registration & Welcome Coffee<br/>10:00 AM - Opening Ceremony<br/>11:00 AM - Keynote: Future of Technology<br/>12:30 PM - Networking Lunch<br/>2:00 PM - Panel Discussion<br/>4:00 PM - Closing Remarks",
|
|
310
|
+
defaultOpen: true,
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
title: "Day 2: Workshops & Technical Sessions",
|
|
314
|
+
content:
|
|
315
|
+
"9:00 AM - Workshop: AI in Practice<br/>11:00 AM - Technical Deep Dive: Cloud Architecture<br/>1:00 PM - Lunch Break<br/>2:30 PM - Hands-on Lab: DevOps Tools<br/>4:30 PM - Q&A Session",
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
title: "Day 3: Networking & Demo Day",
|
|
319
|
+
content:
|
|
320
|
+
"10:00 AM - Startup Pitch Competition<br/>12:00 PM - Demo Showcase<br/>2:00 PM - Networking Session<br/>3:30 PM - Awards Ceremony<br/>5:00 PM - Closing Party",
|
|
321
|
+
},
|
|
322
|
+
],
|
|
323
|
+
},
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
description: "Fitness program details with accent colors and 3xl rounding",
|
|
327
|
+
type: "accordion",
|
|
328
|
+
props: {
|
|
329
|
+
restrictOneOpen: true,
|
|
330
|
+
colorPreset: {
|
|
331
|
+
color: "accent-400",
|
|
332
|
+
},
|
|
333
|
+
rounding: "rounded-3xl",
|
|
334
|
+
gap: "1.25rem",
|
|
335
|
+
fontSize: "text-lg",
|
|
336
|
+
items: [
|
|
337
|
+
{
|
|
338
|
+
title: "Beginner Program (4 weeks)",
|
|
339
|
+
content:
|
|
340
|
+
"Perfect for newcomers to fitness. Includes basic bodyweight exercises, flexibility training, and cardio. 3 sessions per week, 45 minutes each. Includes nutrition guidance and progress tracking.",
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
title: "Intermediate Program (8 weeks)",
|
|
344
|
+
content:
|
|
345
|
+
"For those with some fitness experience. Combines strength training, HIIT workouts, and endurance building. 4 sessions per week, 60 minutes each. Includes meal planning and supplement recommendations.",
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
title: "Advanced Program (12 weeks)",
|
|
349
|
+
content:
|
|
350
|
+
"High-intensity program for experienced athletes. Features complex movements, periodization, and sport-specific training. 5-6 sessions per week. Includes recovery protocols and performance optimization.",
|
|
351
|
+
},
|
|
352
|
+
],
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
description: "Support categories with primary colors and no rounding",
|
|
357
|
+
type: "accordion",
|
|
358
|
+
props: {
|
|
359
|
+
restrictOneOpen: false,
|
|
360
|
+
colorPreset: {
|
|
361
|
+
color: "primary-300",
|
|
362
|
+
},
|
|
363
|
+
rounding: "rounded-none",
|
|
364
|
+
gap: "0px",
|
|
365
|
+
fontSize: "text-base",
|
|
366
|
+
items: [
|
|
367
|
+
{
|
|
368
|
+
title: "Account & Billing",
|
|
369
|
+
content:
|
|
370
|
+
"Get help with account settings, password reset, billing questions, subscription management, and payment issues. Average response time: 2 hours during business hours.",
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
title: "Technical Support",
|
|
374
|
+
content:
|
|
375
|
+
"Troubleshoot technical issues, API problems, integration questions, and performance concerns. Includes access to our knowledge base and video tutorials.",
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
title: "Sales & Partnerships",
|
|
379
|
+
content:
|
|
380
|
+
"Inquiries about enterprise solutions, custom pricing, partnership opportunities, and bulk discounts. Schedule a call with our sales team for personalized assistance.",
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
title: "Feature Requests",
|
|
384
|
+
content:
|
|
385
|
+
"Submit ideas for new features, improvements, and integrations. Our product team reviews all suggestions and provides updates on development roadmap.",
|
|
386
|
+
},
|
|
387
|
+
],
|
|
388
|
+
},
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
description: "Company policies with neutral colors and small font size",
|
|
392
|
+
type: "accordion",
|
|
393
|
+
props: {
|
|
394
|
+
restrictOneOpen: true,
|
|
395
|
+
colorPreset: {
|
|
396
|
+
color: "neutral-100",
|
|
397
|
+
},
|
|
398
|
+
rounding: "rounded-md",
|
|
399
|
+
gap: "0.25rem",
|
|
400
|
+
fontSize: "text-sm",
|
|
401
|
+
items: [
|
|
402
|
+
{
|
|
403
|
+
title: "Remote Work Policy",
|
|
404
|
+
content:
|
|
405
|
+
"All employees have the flexibility to work remotely full-time or adopt a hybrid schedule. Required equipment is provided, and employees must maintain reliable internet connection and dedicated workspace.",
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
title: "Professional Development",
|
|
409
|
+
content:
|
|
410
|
+
"Annual budget of $2,000 per employee for conferences, courses, certifications, and training materials. Time off is provided for approved learning activities and skill development.",
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
title: "Time Off & Benefits",
|
|
414
|
+
content:
|
|
415
|
+
"Unlimited PTO policy with minimum 3 weeks encouraged annually. Comprehensive health insurance, dental, vision, 401k matching, and wellness stipend included.",
|
|
416
|
+
},
|
|
417
|
+
],
|
|
418
|
+
},
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
description: "Product comparison with secondary colors and multiple defaults open",
|
|
422
|
+
type: "accordion",
|
|
423
|
+
props: {
|
|
424
|
+
restrictOneOpen: false,
|
|
425
|
+
colorPreset: {
|
|
426
|
+
color: "secondary-500",
|
|
427
|
+
},
|
|
428
|
+
rounding: "rounded-lg",
|
|
429
|
+
gap: "0.5rem",
|
|
430
|
+
fontSize: "text-base",
|
|
431
|
+
items: [
|
|
432
|
+
{
|
|
433
|
+
title: "Basic Plan - $9/month",
|
|
434
|
+
content:
|
|
435
|
+
"✓ Up to 5 projects<br/>✓ 10GB storage<br/>✓ Email support<br/>✓ Basic analytics<br/>✓ Mobile app access<br/>✗ API access<br/>✗ Custom integrations",
|
|
436
|
+
defaultOpen: true,
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
title: "Pro Plan - $29/month",
|
|
440
|
+
content:
|
|
441
|
+
"✓ Unlimited projects<br/>✓ 100GB storage<br/>✓ Priority support<br/>✓ Advanced analytics<br/>✓ API access<br/>✓ Custom integrations<br/>✓ Team collaboration",
|
|
442
|
+
defaultOpen: true,
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
title: "Enterprise Plan - Custom pricing",
|
|
446
|
+
content:
|
|
447
|
+
"✓ Everything in Pro<br/>✓ Unlimited storage<br/>✓ Dedicated support<br/>✓ White-label options<br/>✓ SSO integration<br/>✓ Custom contracts<br/>✓ On-premise deployment",
|
|
448
|
+
},
|
|
449
|
+
],
|
|
450
|
+
},
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
description: "Troubleshooting guide with accent colors and large font",
|
|
454
|
+
type: "accordion",
|
|
455
|
+
props: {
|
|
456
|
+
restrictOneOpen: false,
|
|
457
|
+
colorPreset: {
|
|
458
|
+
color: "accent-600",
|
|
459
|
+
},
|
|
460
|
+
rounding: "rounded-xl",
|
|
461
|
+
gap: "1rem",
|
|
462
|
+
fontSize: "text-lg",
|
|
463
|
+
items: [
|
|
464
|
+
{
|
|
465
|
+
title: "Connection Issues",
|
|
466
|
+
content:
|
|
467
|
+
"1. Check your internet connection<br/>2. Clear browser cache and cookies<br/>3. Disable VPN if active<br/>4. Try incognito/private browsing mode<br/>5. Contact support if issues persist",
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
title: "Login Problems",
|
|
471
|
+
content:
|
|
472
|
+
"1. Verify your email address and password<br/>2. Use 'Forgot Password' to reset<br/>3. Check for CAPS LOCK<br/>4. Try a different browser<br/>5. Ensure account is not suspended",
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
title: "Performance Issues",
|
|
476
|
+
content:
|
|
477
|
+
"1. Close unnecessary browser tabs<br/>2. Update your browser to latest version<br/>3. Disable browser extensions<br/>4. Check system resources (RAM/CPU)<br/>5. Try using the mobile app instead",
|
|
478
|
+
},
|
|
479
|
+
],
|
|
480
|
+
},
|
|
481
|
+
},
|
|
482
|
+
];
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { examples as accordionExamples, manifest as accordionManifest } from "./accordion.manifest";
|
|
2
|
+
import { examples as boxExamples, manifest as boxManifest } from "./box.manifest";
|
|
3
|
+
import { examples as buttonExamples, manifest as buttonManifest } from "./button.manifest";
|
|
4
|
+
import { examples as cardExamples, manifest as cardManifest } from "./card.manifest";
|
|
5
|
+
import { examples as carouselExamples, manifest as carouselManifest } from "./carousel.manifest";
|
|
6
|
+
import { examples as footerExamples, manifest as footerManifest } from "./footer.manifest";
|
|
7
|
+
import { examples as formExamples, manifest as formManifest } from "./form.manifest";
|
|
8
|
+
import { examples as heroExamples, manifest as heroManifest } from "./hero.manifest";
|
|
9
|
+
import { examples as iconExamples, manifest as iconManifest } from "./icon.manifest";
|
|
10
|
+
import { examples as imageExamples, manifest as imageManifest } from "./image.manifest";
|
|
11
|
+
import { examples as imagesWallExamples, manifest as imagesWallManifest } from "./images-gallery.manifest";
|
|
12
|
+
import { examples as mapExamples, manifest as mapManifest } from "./map.manifest";
|
|
13
|
+
import { examples as navbarExamples, manifest as navbarManifest } from "./navbar.manifest";
|
|
14
|
+
import { examples as sidebarExamples, manifest as sidebarManifest } from "./sidebar.manifest";
|
|
15
|
+
import { examples as socialLinksExamples, manifest as socialLinksManifest } from "./social-links.manifest";
|
|
16
|
+
import { examples as spacerExamples, manifest as spacerManifest } from "./spacer.manifest";
|
|
17
|
+
import { examples as testimonialsExamples, manifest as testimonialsManifest } from "./testimonials.manifest";
|
|
18
|
+
import { examples as textExamples, manifest as textManifest } from "./text.manifest";
|
|
19
|
+
import { examples as videoExamples, manifest as videoManifest } from "./video.manifest";
|
|
20
|
+
import { examples as htmlExamples, manifest as htmlManifest } from "./html.manifest";
|
|
21
|
+
import { getBrickManifestDefaults, type BrickDefaults, type BrickManifest } from "../../brick-manifest";
|
|
22
|
+
import { StringEnum } from "~/shared/utils/string-enum";
|
|
23
|
+
import type { Static } from "@sinclair/typebox";
|
|
24
|
+
|
|
25
|
+
export const manifests: Record<string, BrickManifest> = {
|
|
26
|
+
[textManifest.type]: textManifest,
|
|
27
|
+
[heroManifest.type]: heroManifest,
|
|
28
|
+
[imageManifest.type]: imageManifest,
|
|
29
|
+
[videoManifest.type]: videoManifest,
|
|
30
|
+
[cardManifest.type]: cardManifest,
|
|
31
|
+
[mapManifest.type]: mapManifest,
|
|
32
|
+
[formManifest.type]: formManifest,
|
|
33
|
+
[sidebarManifest.type]: sidebarManifest,
|
|
34
|
+
[imagesWallManifest.type]: imagesWallManifest,
|
|
35
|
+
[carouselManifest.type]: carouselManifest,
|
|
36
|
+
[navbarManifest.type]: navbarManifest,
|
|
37
|
+
[footerManifest.type]: footerManifest,
|
|
38
|
+
[buttonManifest.type]: buttonManifest,
|
|
39
|
+
[iconManifest.type]: iconManifest,
|
|
40
|
+
[socialLinksManifest.type]: socialLinksManifest,
|
|
41
|
+
[boxManifest.type]: boxManifest,
|
|
42
|
+
[spacerManifest.type]: spacerManifest,
|
|
43
|
+
[testimonialsManifest.type]: testimonialsManifest,
|
|
44
|
+
[accordionManifest.type]: accordionManifest,
|
|
45
|
+
[htmlManifest.type]: htmlManifest,
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const defaultProps: Record<keyof typeof manifests, BrickDefaults> = {
|
|
49
|
+
[textManifest.type]: getBrickManifestDefaults(textManifest),
|
|
50
|
+
[heroManifest.type]: getBrickManifestDefaults(heroManifest),
|
|
51
|
+
[imageManifest.type]: getBrickManifestDefaults(imageManifest),
|
|
52
|
+
[videoManifest.type]: getBrickManifestDefaults(videoManifest),
|
|
53
|
+
[cardManifest.type]: getBrickManifestDefaults(cardManifest),
|
|
54
|
+
[sidebarManifest.type]: getBrickManifestDefaults(sidebarManifest),
|
|
55
|
+
[mapManifest.type]: getBrickManifestDefaults(mapManifest),
|
|
56
|
+
[formManifest.type]: getBrickManifestDefaults(formManifest),
|
|
57
|
+
[imagesWallManifest.type]: getBrickManifestDefaults(imagesWallManifest),
|
|
58
|
+
[carouselManifest.type]: getBrickManifestDefaults(carouselManifest),
|
|
59
|
+
[navbarManifest.type]: getBrickManifestDefaults(navbarManifest),
|
|
60
|
+
[footerManifest.type]: getBrickManifestDefaults(footerManifest),
|
|
61
|
+
[buttonManifest.type]: getBrickManifestDefaults(buttonManifest),
|
|
62
|
+
[iconManifest.type]: getBrickManifestDefaults(iconManifest),
|
|
63
|
+
[socialLinksManifest.type]: getBrickManifestDefaults(socialLinksManifest),
|
|
64
|
+
[boxManifest.type]: getBrickManifestDefaults(boxManifest),
|
|
65
|
+
[spacerManifest.type]: getBrickManifestDefaults(spacerManifest),
|
|
66
|
+
[testimonialsManifest.type]: getBrickManifestDefaults(testimonialsManifest),
|
|
67
|
+
[accordionManifest.type]: getBrickManifestDefaults(accordionManifest),
|
|
68
|
+
[htmlManifest.type]: getBrickManifestDefaults(htmlManifest),
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// Do not include footer, navbar and sidebar
|
|
72
|
+
export const brickTypes = StringEnum<(keyof typeof manifests)[]>(
|
|
73
|
+
[
|
|
74
|
+
textManifest.type,
|
|
75
|
+
heroManifest.type,
|
|
76
|
+
imageManifest.type,
|
|
77
|
+
videoManifest.type,
|
|
78
|
+
cardManifest.type,
|
|
79
|
+
mapManifest.type,
|
|
80
|
+
formManifest.type,
|
|
81
|
+
imagesWallManifest.type,
|
|
82
|
+
carouselManifest.type,
|
|
83
|
+
buttonManifest.type,
|
|
84
|
+
iconManifest.type,
|
|
85
|
+
socialLinksManifest.type,
|
|
86
|
+
boxManifest.type,
|
|
87
|
+
spacerManifest.type,
|
|
88
|
+
testimonialsManifest.type,
|
|
89
|
+
accordionManifest.type,
|
|
90
|
+
htmlManifest.type,
|
|
91
|
+
],
|
|
92
|
+
{
|
|
93
|
+
title: "Brick type",
|
|
94
|
+
},
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
export type BrickType = Static<typeof brickTypes>;
|
|
98
|
+
|
|
99
|
+
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
|
100
|
+
export const examples: Record<string, { description: string; type: string; props: any }[]> = {
|
|
101
|
+
[textManifest.type]: textExamples,
|
|
102
|
+
[heroManifest.type]: heroExamples,
|
|
103
|
+
[imageManifest.type]: imageExamples,
|
|
104
|
+
[videoManifest.type]: videoExamples,
|
|
105
|
+
[cardManifest.type]: cardExamples,
|
|
106
|
+
[mapManifest.type]: mapExamples,
|
|
107
|
+
[formManifest.type]: formExamples,
|
|
108
|
+
[sidebarManifest.type]: sidebarExamples,
|
|
109
|
+
[imagesWallManifest.type]: imagesWallExamples,
|
|
110
|
+
[carouselManifest.type]: carouselExamples,
|
|
111
|
+
[navbarManifest.type]: navbarExamples,
|
|
112
|
+
[footerManifest.type]: footerExamples,
|
|
113
|
+
[buttonManifest.type]: buttonExamples,
|
|
114
|
+
[iconManifest.type]: iconExamples,
|
|
115
|
+
[socialLinksManifest.type]: socialLinksExamples,
|
|
116
|
+
[boxManifest.type]: boxExamples,
|
|
117
|
+
[spacerManifest.type]: spacerExamples,
|
|
118
|
+
[testimonialsManifest.type]: testimonialsExamples,
|
|
119
|
+
[accordionManifest.type]: accordionExamples,
|
|
120
|
+
[htmlManifest.type]: htmlExamples,
|
|
121
|
+
};
|