@upstart.gg/sdk 0.0.135 → 0.0.136
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 +11 -2
- package/dist/shared/ai/schemas.d.ts.map +1 -1
- package/dist/shared/ai/schemas.js +43 -8
- package/dist/shared/ai/schemas.js.map +1 -1
- package/dist/shared/ai/types.d.ts +125 -65
- package/dist/shared/ai/types.d.ts.map +1 -1
- package/dist/shared/ajv.js +2 -2
- package/dist/shared/attributes.d.ts +3 -1
- package/dist/shared/attributes.d.ts.map +1 -1
- package/dist/shared/attributes.js +9 -9
- package/dist/shared/brick-manifest.js +4 -4
- package/dist/shared/bricks/manifests/_types.d.ts +9 -0
- package/dist/shared/bricks/manifests/_types.d.ts.map +1 -0
- package/dist/shared/bricks/manifests/_types.js +3 -0
- package/dist/shared/bricks/manifests/_types.js.map +1 -0
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/accordion.manifest.js +5 -5
- package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/all-manifests.js +28 -28
- package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/box.manifest.js +5 -5
- package/dist/shared/bricks/manifests/button.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/button.manifest.js +5 -5
- package/dist/shared/bricks/manifests/card.manifest.d.ts +8 -7
- package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/card.manifest.js +5 -5
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.js +5 -5
- package/dist/shared/bricks/manifests/footer.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.js +5 -5
- package/dist/shared/bricks/manifests/form.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/form.manifest.js +5 -5
- package/dist/shared/bricks/manifests/hero.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.js +5 -5
- package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/html.manifest.js +5 -5
- package/dist/shared/bricks/manifests/icon.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.js +5 -5
- package/dist/shared/bricks/manifests/image.manifest.d.ts +1 -0
- package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/image.manifest.js +5 -5
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +5 -5
- package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/map.manifest.js +5 -5
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.js +5 -5
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.js +5 -5
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.js +5 -5
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.js +5 -5
- package/dist/shared/bricks/manifests/table.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/table.manifest.js +5 -5
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/tabs.manifest.js +5 -5
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.js +5 -5
- package/dist/shared/bricks/manifests/text.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/text.manifest.js +5 -5
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/timeline.manifest.js +5 -5
- package/dist/shared/bricks/manifests/video.manifest.d.ts +2 -6
- package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/video.manifest.js +5 -5
- package/dist/shared/bricks/props/dynamic.js +2 -2
- package/dist/shared/bricks/props/geolocation.js +1 -1
- package/dist/shared/bricks/props/string.js +1 -1
- package/dist/shared/bricks.d.ts +5 -3
- package/dist/shared/bricks.d.ts.map +1 -1
- package/dist/shared/bricks.js +31 -29
- package/dist/shared/{chunk-CKFRSHR2.js → chunk-2IHKVMKW.js} +3 -3
- package/dist/shared/chunk-2IHKVMKW.js.map +1 -0
- package/dist/shared/{chunk-P3RH5URN.js → chunk-2VDR4ZYY.js} +3 -3
- package/dist/shared/chunk-2VDR4ZYY.js.map +1 -0
- package/dist/shared/{chunk-MLZT7MRQ.js → chunk-36PLZKMW.js} +4 -4
- package/dist/shared/chunk-36PLZKMW.js.map +1 -0
- package/dist/shared/{chunk-QQQ3FYPG.js → chunk-42OUNI7C.js} +123 -5
- package/dist/shared/chunk-42OUNI7C.js.map +1 -0
- package/dist/shared/{chunk-2HO4FHLM.js → chunk-4MNWMEMM.js} +118 -152
- package/dist/shared/chunk-4MNWMEMM.js.map +1 -0
- package/dist/shared/chunk-CRS7QCPZ.js +308 -0
- package/dist/shared/chunk-CRS7QCPZ.js.map +1 -0
- package/dist/shared/{chunk-WGDUJSSS.js → chunk-DFAFDBYZ.js} +4 -4
- package/dist/shared/chunk-DFAFDBYZ.js.map +1 -0
- package/dist/shared/{chunk-FVU5PXRC.js → chunk-DV3G7X34.js} +2 -2
- package/dist/shared/{chunk-TB3X4LRQ.js → chunk-EVLRH6VG.js} +2 -2
- package/dist/shared/{chunk-Z35I5JM5.js → chunk-F247VKAE.js} +3 -3
- package/dist/shared/chunk-F247VKAE.js.map +1 -0
- package/dist/shared/{chunk-QL3T5HJQ.js → chunk-FOGAVJC2.js} +2 -2
- package/dist/shared/chunk-FOGAVJC2.js.map +1 -0
- package/dist/shared/{chunk-4WI23M7W.js → chunk-FQDR2BBZ.js} +3 -3
- package/dist/shared/chunk-FQDR2BBZ.js.map +1 -0
- package/dist/shared/{chunk-3KLRW4I2.js → chunk-GFAQWQER.js} +182 -124
- package/dist/shared/chunk-GFAQWQER.js.map +1 -0
- package/dist/shared/{chunk-DRTGM2UJ.js → chunk-GIGFNQBO.js} +2 -2
- package/dist/shared/chunk-GIGFNQBO.js.map +1 -0
- package/dist/shared/{chunk-SHUGHJ7V.js → chunk-GQTZPN5D.js} +3 -3
- package/dist/shared/chunk-GQTZPN5D.js.map +1 -0
- package/dist/shared/{chunk-D4YQ6ABM.js → chunk-H5JM2M2T.js} +211 -34
- package/dist/shared/chunk-H5JM2M2T.js.map +1 -0
- package/dist/shared/{chunk-NT3IW52F.js → chunk-HTUSL2U7.js} +2 -2
- package/dist/shared/{chunk-BW6EFRSF.js → chunk-IQIISR22.js} +2 -2
- package/dist/shared/{chunk-BW6EFRSF.js.map → chunk-IQIISR22.js.map} +1 -1
- package/dist/shared/{chunk-Z2NTDFB4.js → chunk-KEM5N6GJ.js} +4 -4
- package/dist/shared/chunk-KEM5N6GJ.js.map +1 -0
- package/dist/shared/{chunk-V3UA3LRK.js → chunk-KIDICX3Y.js} +32 -7
- package/dist/shared/chunk-KIDICX3Y.js.map +1 -0
- package/dist/shared/chunk-KILJYJFE.js +354 -0
- package/dist/shared/chunk-KILJYJFE.js.map +1 -0
- package/dist/shared/{chunk-GRMY35BU.js → chunk-L6C7HUSA.js} +148 -20
- package/dist/shared/chunk-L6C7HUSA.js.map +1 -0
- package/dist/shared/{chunk-GCQURRVB.js → chunk-LCJ2VFPM.js} +4 -4
- package/dist/shared/chunk-LCJ2VFPM.js.map +1 -0
- package/dist/shared/{chunk-QSND5IWT.js → chunk-LLNPH3XR.js} +19 -36
- package/dist/shared/chunk-LLNPH3XR.js.map +1 -0
- package/dist/shared/{chunk-LXAO3JA6.js → chunk-LTIJI7Y3.js} +4 -4
- package/dist/shared/chunk-LTIJI7Y3.js.map +1 -0
- package/dist/shared/{chunk-6E42XWFH.js → chunk-MFNHFN2B.js} +3 -3
- package/dist/shared/{chunk-6E42XWFH.js.map → chunk-MFNHFN2B.js.map} +1 -1
- package/dist/shared/{chunk-TEO6TJOM.js → chunk-N3BEBLWF.js} +27 -26
- package/dist/shared/{chunk-TEO6TJOM.js.map → chunk-N3BEBLWF.js.map} +1 -1
- package/dist/shared/{chunk-UQF52PWK.js → chunk-N3ZTQD5I.js} +2 -2
- package/dist/shared/chunk-N3ZTQD5I.js.map +1 -0
- package/dist/shared/{chunk-EQMU6NIU.js → chunk-TNTFKLCR.js} +16 -13
- package/dist/shared/chunk-TNTFKLCR.js.map +1 -0
- package/dist/shared/{chunk-EWSPTRDL.js → chunk-U5ZECCJM.js} +102 -16
- package/dist/shared/chunk-U5ZECCJM.js.map +1 -0
- package/dist/shared/{chunk-O5PLB3YB.js → chunk-UXTASZ23.js} +16 -10
- package/dist/shared/chunk-UXTASZ23.js.map +1 -0
- package/dist/shared/{chunk-BMWRR4DI.js → chunk-YWOTQWIQ.js} +3 -3
- package/dist/shared/chunk-YWOTQWIQ.js.map +1 -0
- package/dist/shared/{chunk-GPCI2N2A.js → chunk-ZR6R6Z6O.js} +106 -5
- package/dist/shared/chunk-ZR6R6Z6O.js.map +1 -0
- package/dist/shared/{chunk-U7TVEPKA.js → chunk-ZRRAK5NS.js} +3 -3
- package/dist/shared/chunk-ZRRAK5NS.js.map +1 -0
- package/dist/shared/context.d.ts +1 -0
- package/dist/shared/context.d.ts.map +1 -1
- package/dist/shared/datarecords/types.d.ts +7 -60
- package/dist/shared/datarecords/types.d.ts.map +1 -1
- package/dist/shared/datarecords/types.js +3 -5
- package/dist/shared/datasources/external/threads/media/fetcher.js +3 -3
- package/dist/shared/datasources/types.js +2 -2
- package/dist/shared/datasources.d.ts +1 -1
- package/dist/shared/datasources.d.ts.map +1 -1
- package/dist/shared/datasources.js +1 -3
- package/dist/shared/datasources.js.map +1 -1
- package/dist/shared/page.d.ts.map +1 -1
- package/dist/shared/page.js +31 -31
- package/dist/shared/site.d.ts +6 -6
- package/dist/shared/site.js +36 -36
- package/dist/shared/site.js.map +1 -1
- package/dist/shared/sitemap.d.ts +6 -5
- package/dist/shared/sitemap.d.ts.map +1 -1
- package/dist/shared/sitemap.js +32 -32
- package/dist/shared/theme.js +3 -3
- package/dist/shared/utils/llm.js +2 -2
- package/dist/shared/utils/schema-registry.js +2 -2
- package/dist/shared/utils/schema.js +3 -3
- package/package.json +2 -2
- package/src/shared/ai/schemas.ts +46 -10
- package/src/shared/ai/types.ts +128 -60
- package/src/shared/attributes.ts +11 -3
- package/src/shared/bricks/manifests/_types.ts +9 -0
- package/src/shared/bricks/manifests/accordion.manifest.ts +128 -161
- package/src/shared/bricks/manifests/all-manifests.ts +1 -0
- package/src/shared/bricks/manifests/box.manifest.ts +195 -129
- package/src/shared/bricks/manifests/button.manifest.ts +158 -71
- package/src/shared/bricks/manifests/card.manifest.ts +200 -28
- package/src/shared/bricks/manifests/carousel.manifest.ts +154 -22
- package/src/shared/bricks/manifests/footer.manifest.ts +2 -5
- package/src/shared/bricks/manifests/form.manifest.ts +122 -7
- package/src/shared/bricks/manifests/hero.manifest.ts +103 -18
- package/src/shared/bricks/manifests/html.manifest.ts +2 -5
- package/src/shared/bricks/manifests/icon.manifest.ts +216 -36
- package/src/shared/bricks/manifests/image.manifest.ts +103 -2
- package/src/shared/bricks/manifests/images-gallery.manifest.ts +2 -5
- package/src/shared/bricks/manifests/map.manifest.ts +2 -5
- package/src/shared/bricks/manifests/navbar.manifest.ts +2 -5
- package/src/shared/bricks/manifests/sidebar.manifest.ts +2 -5
- package/src/shared/bricks/manifests/social-links.manifest.ts +2 -5
- package/src/shared/bricks/manifests/spacer.manifest.ts +2 -5
- package/src/shared/bricks/manifests/table.manifest.ts +2 -5
- package/src/shared/bricks/manifests/tabs.manifest.ts +2 -5
- package/src/shared/bricks/manifests/testimonials.manifest.ts +2 -5
- package/src/shared/bricks/manifests/text.manifest.ts +31 -10
- package/src/shared/bricks/manifests/timeline.manifest.ts +2 -5
- package/src/shared/bricks/manifests/video.manifest.ts +2 -5
- package/src/shared/bricks/props/string.ts +1 -1
- package/src/shared/bricks.ts +12 -9
- package/src/shared/context.ts +1 -0
- package/src/shared/datarecords/types.ts +47 -37
- package/src/shared/datasources.ts +2 -4
- package/src/shared/page.ts +0 -1
- package/src/shared/site.ts +3 -3
- package/src/shared/sitemap.ts +2 -0
- package/src/shared/tests/schema-registry.test.ts +0 -2
- package/src/shared/utils/schema-registry.ts +5 -5
- package/src/shared/utils/tests/schema.test.ts +43 -2
- package/dist/shared/chunk-2HO4FHLM.js.map +0 -1
- package/dist/shared/chunk-3KLRW4I2.js.map +0 -1
- package/dist/shared/chunk-4WI23M7W.js.map +0 -1
- package/dist/shared/chunk-BMWRR4DI.js.map +0 -1
- package/dist/shared/chunk-CKFRSHR2.js.map +0 -1
- package/dist/shared/chunk-D4YQ6ABM.js.map +0 -1
- package/dist/shared/chunk-DRTGM2UJ.js.map +0 -1
- package/dist/shared/chunk-EQMU6NIU.js.map +0 -1
- package/dist/shared/chunk-EWSPTRDL.js.map +0 -1
- package/dist/shared/chunk-GCQURRVB.js.map +0 -1
- package/dist/shared/chunk-GPCI2N2A.js.map +0 -1
- package/dist/shared/chunk-GRMY35BU.js.map +0 -1
- package/dist/shared/chunk-LXAO3JA6.js.map +0 -1
- package/dist/shared/chunk-MLZT7MRQ.js.map +0 -1
- package/dist/shared/chunk-O5PLB3YB.js.map +0 -1
- package/dist/shared/chunk-P3RH5URN.js.map +0 -1
- package/dist/shared/chunk-QL3T5HJQ.js.map +0 -1
- package/dist/shared/chunk-QQQ3FYPG.js.map +0 -1
- package/dist/shared/chunk-QSND5IWT.js.map +0 -1
- package/dist/shared/chunk-SHUGHJ7V.js.map +0 -1
- package/dist/shared/chunk-U7TVEPKA.js.map +0 -1
- package/dist/shared/chunk-UQF52PWK.js.map +0 -1
- package/dist/shared/chunk-V3UA3LRK.js.map +0 -1
- package/dist/shared/chunk-WGDUJSSS.js.map +0 -1
- package/dist/shared/chunk-X6N463D4.js +0 -222
- package/dist/shared/chunk-X6N463D4.js.map +0 -1
- package/dist/shared/chunk-X75YV73Q.js +0 -178
- package/dist/shared/chunk-X75YV73Q.js.map +0 -1
- package/dist/shared/chunk-Z2NTDFB4.js.map +0 -1
- package/dist/shared/chunk-Z35I5JM5.js.map +0 -1
- package/dist/shared/schema-registry.d.ts +0 -5
- package/dist/shared/schema-registry.d.ts.map +0 -1
- package/dist/shared/schema-registry.js +0 -119
- package/dist/shared/schema-registry.js.map +0 -1
- package/src/shared/schema-registry.ts +0 -82
- /package/dist/shared/{chunk-FVU5PXRC.js.map → chunk-DV3G7X34.js.map} +0 -0
- /package/dist/shared/{chunk-TB3X4LRQ.js.map → chunk-EVLRH6VG.js.map} +0 -0
- /package/dist/shared/{chunk-NT3IW52F.js.map → chunk-HTUSL2U7.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bricks.d.ts","sourceRoot":"","sources":["../../src/shared/bricks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AASpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInE;;GAEG;AACH,eAAO,MAAM,UAAU,2BAA4E,CAAC;AAEpG,QAAA,MAAM,2BAA2B;;;;;;;;;EAiD/B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E,eAAO,MAAM,eAAe,6CAE1B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;EA0BvB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"bricks.d.ts","sourceRoot":"","sources":["../../src/shared/bricks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AASpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInE;;GAEG;AACH,eAAO,MAAM,UAAU,2BAA4E,CAAC;AAEpG,QAAA,MAAM,2BAA2B;;;;;;;;;EAiD/B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E,eAAO,MAAM,eAAe,6CAE1B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;EA0BvB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE;;;;;;;;GAgB5E;AAED,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,GAAG;IAC9E,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;EA0GxB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6B,CAAC;AAC3D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AAQ3E,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEnD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC7B,OAAO,EAAE,CAwDX;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAiBzD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,2BAEnD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,KAAK,CAQnE;AAED,eAAO,MAAM,gBAAgB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EA82BtF,CAAC"}
|
package/dist/shared/bricks.js
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
brickTypeSchema,
|
|
6
6
|
createEmptyBrick,
|
|
7
7
|
generateId,
|
|
8
|
+
getDefaultPropsForBrick,
|
|
8
9
|
makeFullBrickSchemaForLLM,
|
|
9
10
|
processBrick,
|
|
10
11
|
processSections,
|
|
@@ -14,45 +15,45 @@ import {
|
|
|
14
15
|
sectionSchemaNoBricks,
|
|
15
16
|
sectionSchemaNoBricksLLM,
|
|
16
17
|
sectionsExamples
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-TNTFKLCR.js";
|
|
19
|
+
import "./chunk-N3BEBLWF.js";
|
|
20
|
+
import "./chunk-YWOTQWIQ.js";
|
|
21
|
+
import "./chunk-KEM5N6GJ.js";
|
|
22
|
+
import "./chunk-KIDICX3Y.js";
|
|
23
|
+
import "./chunk-ZRRAK5NS.js";
|
|
24
|
+
import "./chunk-F247VKAE.js";
|
|
25
|
+
import "./chunk-ZR6R6Z6O.js";
|
|
26
|
+
import "./chunk-LCJ2VFPM.js";
|
|
27
|
+
import "./chunk-2VDR4ZYY.js";
|
|
27
28
|
import "./chunk-XCZVD5H6.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-2IHKVMKW.js";
|
|
29
30
|
import "./chunk-6WIMWLCJ.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-GQTZPN5D.js";
|
|
32
|
+
import "./chunk-FOGAVJC2.js";
|
|
33
|
+
import "./chunk-DFAFDBYZ.js";
|
|
34
|
+
import "./chunk-CRS7QCPZ.js";
|
|
35
|
+
import "./chunk-H5JM2M2T.js";
|
|
36
|
+
import "./chunk-L6C7HUSA.js";
|
|
37
|
+
import "./chunk-42OUNI7C.js";
|
|
37
38
|
import "./chunk-HPCCD6V5.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-U5ZECCJM.js";
|
|
40
|
+
import "./chunk-GIGFNQBO.js";
|
|
41
|
+
import "./chunk-KILJYJFE.js";
|
|
42
|
+
import "./chunk-4MNWMEMM.js";
|
|
43
|
+
import "./chunk-GFAQWQER.js";
|
|
43
44
|
import "./chunk-3ZDN5BWN.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-LTIJI7Y3.js";
|
|
46
|
+
import "./chunk-36PLZKMW.js";
|
|
46
47
|
import "./chunk-KNREHAPN.js";
|
|
47
48
|
import "./chunk-BHC2A43S.js";
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-EVLRH6VG.js";
|
|
50
|
+
import "./chunk-HTUSL2U7.js";
|
|
51
|
+
import "./chunk-IQIISR22.js";
|
|
51
52
|
import "./chunk-Q4NPPLEU.js";
|
|
52
53
|
import "./chunk-F22LDHEO.js";
|
|
53
54
|
import "./chunk-Y74LZNND.js";
|
|
54
55
|
import "./chunk-TNMNMYOB.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-N3ZTQD5I.js";
|
|
56
57
|
import "./chunk-W6MRYRGJ.js";
|
|
57
58
|
import "./chunk-NTLAKMMQ.js";
|
|
58
59
|
import "./chunk-TFGGYU6Y.js";
|
|
@@ -69,6 +70,7 @@ export {
|
|
|
69
70
|
brickTypeSchema,
|
|
70
71
|
createEmptyBrick,
|
|
71
72
|
generateId,
|
|
73
|
+
getDefaultPropsForBrick,
|
|
72
74
|
makeFullBrickSchemaForLLM,
|
|
73
75
|
processBrick,
|
|
74
76
|
processSections,
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
} from "./chunk-BHC2A43S.js";
|
|
10
10
|
import {
|
|
11
11
|
defineBrickManifest
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EVLRH6VG.js";
|
|
13
13
|
import {
|
|
14
14
|
shadowRef
|
|
15
15
|
} from "./chunk-TNMNMYOB.js";
|
|
16
16
|
import {
|
|
17
17
|
string,
|
|
18
18
|
urlOrPageIdRef
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-N3ZTQD5I.js";
|
|
20
20
|
import {
|
|
21
21
|
borderRef
|
|
22
22
|
} from "./chunk-NTLAKMMQ.js";
|
|
@@ -102,4 +102,4 @@ export {
|
|
|
102
102
|
manifest,
|
|
103
103
|
examples
|
|
104
104
|
};
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-2IHKVMKW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/sidebar.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps, group } from \"../props/helpers\";\nimport { VscLayoutSidebarLeftOff } from \"react-icons/vsc\";\nimport { Type } from \"@sinclair/typebox\";\nimport { string, urlOrPageIdRef } from \"../props/string\";\nimport { backgroundColorRef } from \"../props/background\";\nimport { borderRef } from \"../props/border\";\nimport { fixedPositioned } from \"../props/position\";\nimport type { BrickProps } from \"../props/types\";\nimport { shadowRef } from \"../props/effects\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"sidebar\",\n category: \"layout\",\n name: \"Sidebar\",\n description: \"A sidebar element\",\n inlineDragDisabled: true,\n isGlobalBrick: true,\n duplicatable: false,\n resizable: false,\n movable: false,\n aiInstructions: `\n This brick should be used on most sites/pages for navigation. By default, it will display links\n to the main pages of the site. You can customize the links by using the 'navigation.navItems' prop.\n `.trim(),\n icon: VscLayoutSidebarLeftOff,\n props: defineProps({\n container: Type.Optional(\n group({\n title: \"Main element\",\n children: {\n backgroundColor: Type.Optional(backgroundColorRef()),\n border: Type.Optional(borderRef()),\n shadow: Type.Optional(shadowRef()),\n fixedPositioned: Type.Optional(fixedPositioned()),\n },\n metadata: {\n \"ui:responsive\": true,\n },\n }),\n ),\n navigation: Type.Optional(\n group({\n title: \"Links\",\n children: {\n navItems: Type.Optional(\n Type.Array(\n Type.Object({\n urlOrPageId: urlOrPageIdRef(),\n label: Type.Optional(string(\"Label\")),\n }),\n { title: \"Navigation items\", default: [] },\n ),\n ),\n },\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Standard sidebar with navigation links base on site pages\",\n type: \"sidebar\",\n props: {},\n },\n {\n description: \"Sidebar with specified navigation links\",\n type: \"sidebar\",\n props: {\n container: {\n backgroundColor: \"#f0f0f0\",\n },\n navigation: {\n navItems: [\n { urlOrPageId: \"https://google.com\", label: \"Google\" },\n { urlOrPageId: \"https://bing.com\", label: \"Bing\" },\n ],\n },\n },\n },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,+BAA+B;AACxC,SAAS,YAAY;AASd,IAAM,WAAW,oBAAoB;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,gBAAgB;AAAA;AAAA;AAAA,IAGd,KAAK;AAAA,EACP,MAAM;AAAA,EACN,OAAO,YAAY;AAAA,IACjB,WAAW,KAAK;AAAA,MACd,MAAM;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,UACR,iBAAiB,KAAK,SAAS,mBAAmB,CAAC;AAAA,UACnD,QAAQ,KAAK,SAAS,UAAU,CAAC;AAAA,UACjC,QAAQ,KAAK,SAAS,UAAU,CAAC;AAAA,UACjC,iBAAiB,KAAK,SAAS,gBAAgB,CAAC;AAAA,QAClD;AAAA,QACA,UAAU;AAAA,UACR,iBAAiB;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,YAAY,KAAK;AAAA,MACf,MAAM;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,UACR,UAAU,KAAK;AAAA,YACb,KAAK;AAAA,cACH,KAAK,OAAO;AAAA,gBACV,aAAa,eAAe;AAAA,gBAC5B,OAAO,KAAK,SAAS,OAAO,OAAO,CAAC;AAAA,cACtC,CAAC;AAAA,cACD,EAAE,OAAO,oBAAoB,SAAS,CAAC,EAAE;AAAA,YAC3C;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH,CAAC;AAIM,IAAM,WAAqC;AAAA,EAChD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO,CAAC;AAAA,EACV;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,MACL,WAAW;AAAA,QACT,iBAAiB;AAAA,MACnB;AAAA,MACA,YAAY;AAAA,QACV,UAAU;AAAA,UACR,EAAE,aAAa,sBAAsB,OAAO,SAAS;AAAA,UACrD,EAAE,aAAa,oBAAoB,OAAO,OAAO;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
} from "./chunk-BHC2A43S.js";
|
|
9
9
|
import {
|
|
10
10
|
defineBrickManifest
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-EVLRH6VG.js";
|
|
12
12
|
import {
|
|
13
13
|
shadowRef
|
|
14
14
|
} from "./chunk-TNMNMYOB.js";
|
|
15
15
|
import {
|
|
16
16
|
string
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-N3ZTQD5I.js";
|
|
18
18
|
import {
|
|
19
19
|
roundingRef
|
|
20
20
|
} from "./chunk-NTLAKMMQ.js";
|
|
@@ -227,4 +227,4 @@ export {
|
|
|
227
227
|
manifest,
|
|
228
228
|
examples
|
|
229
229
|
};
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
230
|
+
//# sourceMappingURL=chunk-2VDR4ZYY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/map.manifest.ts"],"sourcesContent":["import { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { defineProps } from \"../props/helpers\";\nimport { LiaMapMarkedAltSolid } from \"react-icons/lia\";\nimport { roundingRef } from \"../props/border\";\nimport { shadowRef } from \"../props/effects\";\nimport type { BrickProps } from \"../props/types\";\nimport { Type } from \"@sinclair/typebox\";\nimport { number } from \"../props/number\";\nimport { string } from \"../props/string\";\nimport type { BrickExample } from \"./_types\";\n\nexport const DEFAULTS = {\n lat: 48.8566, // Default latitude (Paris)\n lng: 2.3522, // Default longitude (Paris)\n zoom: 15, // Default zoom level\n};\n\nexport const manifest = defineBrickManifest({\n type: \"map\",\n name: \"Map\",\n description: \"A map element showing a location\",\n aiInstructions:\n \"This brick can be used to show a location on a map. Use the 'location' prop to set the coordinates and an optional tooltip.\",\n minWidth: {\n desktop: 280,\n mobile: 280,\n },\n minHeight: {\n desktop: 200,\n mobile: 120,\n },\n defaultHeight: {\n desktop: \"320px\",\n mobile: \"280px\",\n },\n defaultWidth: {\n desktop: \"380px\",\n mobile: \"100%\",\n },\n icon: LiaMapMarkedAltSolid,\n props: defineProps({\n // location: geolocation({ defaultZoom: DEFAULTS.zoom }),\n lat: string(\"Latitude\", { \"ui:field\": \"hidden\" }),\n lng: string(\"Longitude\", { \"ui:field\": \"hidden\" }),\n address: string(\"Address\", {\n \"ui:field\": \"geoaddress\",\n metadata: {\n category: \"content\",\n },\n }),\n tooltip: Type.Optional(\n string(\"Tooltip\", {\n metadata: {\n category: \"content\",\n },\n }),\n ),\n zoom: Type.Optional(\n number(\"Zoom\", {\n description: \"Zoom level for the map\",\n \"ui:instructions\": \"The zoom level should be between 0 (world view) and 21 (street view).\",\n \"ui:field\": \"slider\",\n minimum: 12,\n maximum: 18,\n default: DEFAULTS.zoom,\n metadata: {\n category: \"content\",\n },\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-xl\",\n }),\n ),\n shadow: Type.Optional(shadowRef()),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Map showing a specific location\",\n type: \"map\",\n props: {\n lat: \"37.7749\",\n lng: \"-122.4194\",\n address: \"San Francisco, CA\",\n tooltip: \"San Francisco, CA\",\n shadow: \"shadow-md\",\n width: \"40%\",\n height: \"250px\",\n },\n },\n {\n description: \"Map with custom styles\",\n type: \"map\",\n props: {\n lat: \"40.7128\",\n lng: \"-74.0060\",\n address: \"New York, NY\",\n tooltip: \"New York, NY\",\n shadow: \"shadow-lg\",\n width: \"100%\",\n height: \"400px\",\n },\n },\n {\n description: \"Business location map with high zoom level and rounded corners\",\n type: \"map\",\n props: {\n lat: \"34.0522\",\n lng: \"-118.2437\",\n address: \"Los Angeles, CA\",\n tooltip: \"Our Los Angeles Office\",\n zoom: 18,\n rounding: \"rounded-2xl\",\n shadow: \"shadow-xl\",\n },\n },\n {\n description: \"Event venue map with medium zoom and subtle shadow\",\n type: \"map\",\n props: {\n lat: \"41.8781\",\n lng: \"-87.6298\",\n address: \"Chicago, IL\",\n tooltip: \"Conference Center - Chicago\",\n zoom: 16,\n rounding: \"rounded-lg\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Restaurant location with default zoom and sharp corners\",\n type: \"map\",\n props: {\n lat: \"25.7617\",\n lng: \"-80.1918\",\n address: \"Miami, FL\",\n tooltip: \"Oceanview Restaurant & Bar\",\n zoom: 15,\n rounding: \"rounded-none\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Hotel location with low zoom for area overview\",\n type: \"map\",\n props: {\n lat: \"36.1699\",\n lng: \"-115.1398\",\n address: \"Las Vegas, NV\",\n tooltip: \"Downtown Las Vegas Hotel\",\n zoom: 13,\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n },\n },\n {\n description: \"Store location with maximum zoom for street view detail\",\n type: \"map\",\n props: {\n lat: \"47.6062\",\n lng: \"-122.3321\",\n address: \"Seattle, WA\",\n tooltip: \"Seattle Flagship Store\",\n zoom: 18,\n rounding: \"rounded-md\",\n shadow: \"shadow-sm\",\n },\n },\n {\n description: \"Park location with moderate zoom and minimal styling\",\n type: \"map\",\n props: {\n lat: \"39.7392\",\n lng: \"-104.9903\",\n address: \"Denver, CO\",\n tooltip: \"City Park Recreation Area\",\n zoom: 14,\n rounding: \"rounded-sm\",\n },\n },\n {\n description: \"Dynamic business location using company query\",\n type: \"map\",\n props: {\n lat: \"{{company.latitude}}\",\n lng: \"{{company.longitude}}\",\n address: \"{{company.address}}\",\n tooltip: \"{{company.name}} - {{company.address}}\",\n zoom: 16,\n rounding: \"rounded-lg\",\n shadow: \"shadow-md\",\n },\n },\n {\n description: \"Dynamic event venue using event query\",\n type: \"map\",\n props: {\n lat: \"{{event.venueLatitude}}\",\n lng: \"{{event.venueLongitude}}\",\n address: \"{{event.venueAddress}}\",\n tooltip: \"{{event.title}} - {{event.venueName}}\",\n zoom: 17,\n rounding: \"rounded-xl\",\n shadow: \"shadow-lg\",\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -6,17 +6,17 @@ import {
|
|
|
6
6
|
} from "./chunk-BHC2A43S.js";
|
|
7
7
|
import {
|
|
8
8
|
defineBrickManifest
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EVLRH6VG.js";
|
|
10
10
|
import {
|
|
11
11
|
toLLMSchema
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-IQIISR22.js";
|
|
13
13
|
import {
|
|
14
14
|
fontSizeRef
|
|
15
15
|
} from "./chunk-F22LDHEO.js";
|
|
16
16
|
import {
|
|
17
17
|
string,
|
|
18
18
|
urlOrPageIdRef
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-N3ZTQD5I.js";
|
|
20
20
|
import {
|
|
21
21
|
imageRef
|
|
22
22
|
} from "./chunk-W6MRYRGJ.js";
|
|
@@ -535,4 +535,4 @@ export {
|
|
|
535
535
|
footerSchemaPropsLLM,
|
|
536
536
|
examples
|
|
537
537
|
};
|
|
538
|
-
//# sourceMappingURL=chunk-
|
|
538
|
+
//# sourceMappingURL=chunk-36PLZKMW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/footer.manifest.ts"],"sourcesContent":["import { type Static, Type } from \"@sinclair/typebox\";\nimport { VscLayoutPanelOff } from \"react-icons/vsc\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { array, defineProps } from \"../props/helpers\";\nimport { imageRef } from \"../props/image\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { string, urlOrPageIdRef } from \"../props/string\";\nimport { fontSizeRef } from \"../props/text\";\nimport type { BrickProps } from \"../props/types\";\nimport { toLLMSchema } from \"~/shared/utils/llm\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"footer\",\n name: \"Footer\",\n category: \"layout\",\n description: \"A footer with links and an optional logo.\",\n aiInstructions: \"This brick should be used on most sites/pages. It must be placed on its own section.\",\n icon: VscLayoutPanelOff,\n staticClasses: \"flex-1\",\n isGlobalBrick: true,\n hideInLibrary: true,\n resizable: false,\n movable: false,\n defaultWidth: {\n desktop: \"100%\",\n mobile: \"100%\",\n },\n props: defineProps(\n {\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color preset\",\n default: { color: \"neutral-600\" },\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"4rem\",\n description: \"Padding inside the footer.\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n logo: Type.Optional(imageRef({ title: \"Logo\", \"ui:no-object-options\": true, \"ui:no-alt-text\": true })),\n fontSize: Type.Optional(fontSizeRef({ default: \"text-sm\", \"ui:no-extra-large-sizes\": true })),\n // rows:Type.Optional(number(\"Rows\", { default: 1, \"ui:field\": \"slider\", minimum: 1, maximum: 5 })),\n linksSections: array(\n Type.Object(\n {\n sectionTitle: string(\"Title\"),\n links: array(\n Type.Object({\n title: string(\"Title\"),\n url: urlOrPageIdRef(),\n }),\n {\n title: \"Links\",\n },\n ),\n },\n {\n examples: [\n {\n sectionTitle: \"Quick Links\",\n links: [\n { title: \"Home\", url: \"/\" },\n { title: \"About\", url: \"page-id-of-about-page\" },\n { title: \"Our Services\", url: \"page-id-of-services-page\" },\n ],\n },\n {\n sectionTitle: \"Legal\",\n links: [\n { title: \"Privacy Policy\", url: \"page-id-of-privacy-policy\" },\n { title: \"Terms of Service\", url: \"page-id-of-terms\" },\n { title: \"Our law firm\", url: \"https://my.external.lawfirm.com\" },\n ],\n },\n ],\n },\n ),\n {\n title: \"Links\",\n \"ui:displayField\": \"sectionTitle\",\n \"ui:options\": {\n orderable: true, // Enable drag & drop reordering\n removable: true, // Enable delete button\n addable: true, // Enable add button\n },\n description: \"List of Links Sections. Each section contains a title and a list of links.\",\n metadata: {\n category: \"content\",\n },\n },\n ),\n },\n { noGrow: true, noAlignSelf: true },\n ),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const footerSchemaPropsLLM = toLLMSchema(manifest.props);\n\nexport type FooterProps = Static<Manifest[\"props\"]>;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Simple footer with logo on the left\",\n type: \"footer\",\n props: {\n // backgroundColor: \"#f8f9fa\",\n logo: {\n src: \"https://via.placeholder.com/120x40.png?text=Logo\",\n alt: \"Company logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Quick Links\",\n links: [\n { title: \"Home\", url: \"/\" },\n { title: \"About\", url: \"/about\" },\n { title: \"Contact\", url: \"/contact\" },\n ],\n },\n {\n sectionTitle: \"Legal\",\n links: [\n { title: \"Privacy Policy\", url: \"/privacy\" },\n { title: \"Terms of Service\", url: \"/terms\" },\n ],\n },\n ],\n },\n },\n {\n description: \"Corporate footer with centered logo\",\n type: \"footer\",\n props: {\n // backgroundColor: \"#2c3e50\",\n logo: {\n src: \"https://via.placeholder.com/150x50.png?text=Corporate\",\n alt: \"Corporate logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Products\",\n links: [\n { title: \"Software Solutions\", url: \"/products/software\" },\n { title: \"Consulting\", url: \"/products/consulting\" },\n { title: \"Support\", url: \"/products/support\" },\n { title: \"Training\", url: \"/products/training\" },\n ],\n },\n {\n sectionTitle: \"Company\",\n links: [\n { title: \"About Us\", url: \"/about\" },\n { title: \"Careers\", url: \"/careers\" },\n { title: \"News\", url: \"/news\" },\n { title: \"Investors\", url: \"/investors\" },\n ],\n },\n {\n sectionTitle: \"Resources\",\n links: [\n { title: \"Documentation\", url: \"/docs\" },\n { title: \"API Reference\", url: \"/api\" },\n { title: \"Community\", url: \"/community\" },\n { title: \"Blog\", url: \"/blog\" },\n ],\n },\n ],\n },\n },\n {\n description: \"E-commerce footer with logo on the right\",\n type: \"footer\",\n props: {\n // backgroundColor: \"#ffffff\",\n logo: {\n src: \"https://via.placeholder.com/140x45.png?text=Shop\",\n alt: \"Shop logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Shop\",\n links: [\n { title: \"All Products\", url: \"/products\" },\n { title: \"New Arrivals\", url: \"/new\" },\n { title: \"Sale\", url: \"/sale\" },\n { title: \"Gift Cards\", url: \"/gift-cards\" },\n ],\n },\n {\n sectionTitle: \"Customer Service\",\n links: [\n { title: \"Help Center\", url: \"/help\" },\n { title: \"Returns\", url: \"/returns\" },\n { title: \"Shipping Info\", url: \"/shipping\" },\n { title: \"Size Guide\", url: \"/size-guide\" },\n ],\n },\n {\n sectionTitle: \"Account\",\n links: [\n { title: \"My Account\", url: \"/account\" },\n { title: \"Order History\", url: \"/orders\" },\n { title: \"Wishlist\", url: \"/wishlist\" },\n ],\n },\n ],\n },\n },\n {\n description: \"Large organization footer with multiple rows\",\n type: \"footer\",\n props: {\n // backgroundColor: \"#1a1a1a\",\n logo: {\n src: \"https://via.placeholder.com/180x60.png?text=Enterprise\",\n alt: \"Enterprise logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Products & Services\",\n links: [\n { title: \"Cloud Solutions\", url: \"/cloud\" },\n { title: \"Data Analytics\", url: \"/analytics\" },\n { title: \"AI & Machine Learning\", url: \"/ai\" },\n { title: \"Cybersecurity\", url: \"/security\" },\n { title: \"DevOps Tools\", url: \"/devops\" },\n { title: \"IoT Platform\", url: \"/iot\" },\n ],\n },\n {\n sectionTitle: \"Industries\",\n links: [\n { title: \"Healthcare\", url: \"/industries/healthcare\" },\n { title: \"Finance\", url: \"/industries/finance\" },\n { title: \"Retail\", url: \"/industries/retail\" },\n { title: \"Manufacturing\", url: \"/industries/manufacturing\" },\n { title: \"Education\", url: \"/industries/education\" },\n { title: \"Government\", url: \"/industries/government\" },\n ],\n },\n {\n sectionTitle: \"Resources\",\n links: [\n { title: \"Documentation\", url: \"/docs\" },\n { title: \"API Reference\", url: \"/api\" },\n { title: \"Tutorials\", url: \"/tutorials\" },\n { title: \"Webinars\", url: \"/webinars\" },\n { title: \"White Papers\", url: \"/whitepapers\" },\n { title: \"Case Studies\", url: \"/case-studies\" },\n ],\n },\n {\n sectionTitle: \"Support & Community\",\n links: [\n { title: \"Help Center\", url: \"/help\" },\n { title: \"Community Forum\", url: \"/forum\" },\n { title: \"Contact Support\", url: \"/support\" },\n { title: \"Service Status\", url: \"/status\" },\n { title: \"Partner Portal\", url: \"/partners\" },\n { title: \"Developer Hub\", url: \"/developers\" },\n ],\n },\n ],\n },\n },\n {\n description: \"Startup footer with minimal links and left logo\",\n type: \"footer\",\n props: {\n // backgroundColor: \"#f5f5f5\",\n logo: {\n src: \"https://via.placeholder.com/100x35.png?text=Startup\",\n alt: \"Startup logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Company\",\n links: [\n { title: \"About\", url: \"/about\" },\n { title: \"Team\", url: \"/team\" },\n { title: \"Jobs\", url: \"/jobs\" },\n ],\n },\n {\n sectionTitle: \"Product\",\n links: [\n { title: \"Features\", url: \"/features\" },\n { title: \"Pricing\", url: \"/pricing\" },\n { title: \"Demo\", url: \"/demo\" },\n ],\n },\n {\n sectionTitle: \"Support\",\n links: [\n { title: \"Help\", url: \"/help\" },\n { title: \"Contact\", url: \"/contact\" },\n ],\n },\n ],\n },\n },\n {\n description: \"Agency footer with centered logo and creative sections\",\n type: \"footer\",\n props: {\n // backgroundColor: \"#6366f1\",\n logo: {\n src: \"https://via.placeholder.com/130x45.png?text=Agency\",\n alt: \"Creative agency logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Services\",\n links: [\n { title: \"Web Design\", url: \"/services/web-design\" },\n { title: \"Branding\", url: \"/services/branding\" },\n { title: \"Digital Marketing\", url: \"/services/marketing\" },\n { title: \"Photography\", url: \"/services/photography\" },\n ],\n },\n {\n sectionTitle: \"Portfolio\",\n links: [\n { title: \"Recent Work\", url: \"/portfolio\" },\n { title: \"Case Studies\", url: \"/case-studies\" },\n { title: \"Client Reviews\", url: \"/reviews\" },\n ],\n },\n {\n sectionTitle: \"Connect\",\n links: [\n { title: \"Contact Us\", url: \"/contact\" },\n { title: \"Get Quote\", url: \"/quote\" },\n { title: \"Newsletter\", url: \"/newsletter\" },\n ],\n },\n ],\n },\n },\n {\n description: \"SaaS platform footer with comprehensive links\",\n type: \"footer\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/160x50.png?text=SaaS+Platform\",\n alt: \"SaaS platform logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Platform\",\n links: [\n { title: \"Dashboard\", url: \"/dashboard\" },\n { title: \"Analytics\", url: \"/analytics\" },\n { title: \"Integrations\", url: \"/integrations\" },\n { title: \"API\", url: \"/api\" },\n ],\n },\n {\n sectionTitle: \"Solutions\",\n links: [\n { title: \"For Startups\", url: \"/solutions/startups\" },\n { title: \"For Enterprise\", url: \"/solutions/enterprise\" },\n { title: \"For Agencies\", url: \"/solutions/agencies\" },\n { title: \"For Developers\", url: \"/solutions/developers\" },\n ],\n },\n {\n sectionTitle: \"Resources\",\n links: [\n { title: \"Blog\", url: \"/blog\" },\n { title: \"Documentation\", url: \"/docs\" },\n { title: \"Help Center\", url: \"/help\" },\n { title: \"Community\", url: \"/community\" },\n ],\n },\n {\n sectionTitle: \"Company\",\n links: [\n { title: \"About Us\", url: \"/about\" },\n { title: \"Careers\", url: \"/careers\" },\n { title: \"Press\", url: \"/press\" },\n { title: \"Legal\", url: \"/legal\" },\n ],\n },\n ],\n },\n },\n {\n description: \"Non-profit footer with mission-focused links\",\n type: \"footer\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/140x50.png?text=Non+Profit\",\n alt: \"Non-profit organization logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Our Work\",\n links: [\n { title: \"Programs\", url: \"/programs\" },\n { title: \"Impact\", url: \"/impact\" },\n { title: \"Success Stories\", url: \"/stories\" },\n { title: \"Research\", url: \"/research\" },\n ],\n },\n {\n sectionTitle: \"Get Involved\",\n links: [\n { title: \"Donate\", url: \"/donate\" },\n { title: \"Volunteer\", url: \"/volunteer\" },\n { title: \"Events\", url: \"/events\" },\n { title: \"Partner with Us\", url: \"/partnerships\" },\n ],\n },\n {\n sectionTitle: \"About\",\n links: [\n { title: \"Our Mission\", url: \"/mission\" },\n { title: \"Leadership\", url: \"/leadership\" },\n { title: \"Annual Reports\", url: \"/reports\" },\n { title: \"Contact\", url: \"/contact\" },\n ],\n },\n ],\n },\n },\n {\n description: \"Tech blog footer with right-aligned logo\",\n type: \"footer\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/120x40.png?text=Tech+Blog\",\n alt: \"Tech blog logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Categories\",\n links: [\n { title: \"Web Development\", url: \"/category/web-dev\" },\n { title: \"AI & ML\", url: \"/category/ai-ml\" },\n { title: \"DevOps\", url: \"/category/devops\" },\n { title: \"Mobile\", url: \"/category/mobile\" },\n ],\n },\n {\n sectionTitle: \"Popular\",\n links: [\n { title: \"Latest Posts\", url: \"/latest\" },\n { title: \"Trending\", url: \"/trending\" },\n { title: \"Best of 2024\", url: \"/best-2024\" },\n { title: \"Tutorials\", url: \"/tutorials\" },\n ],\n },\n {\n sectionTitle: \"Community\",\n links: [\n { title: \"Newsletter\", url: \"/newsletter\" },\n { title: \"Discord\", url: \"/discord\" },\n { title: \"Contributors\", url: \"/contributors\" },\n { title: \"Write for Us\", url: \"/write\" },\n ],\n },\n ],\n },\n },\n {\n description: \"Restaurant footer with location and menu links\",\n type: \"footer\",\n props: {\n logo: {\n src: \"https://via.placeholder.com/150x60.png?text=Restaurant\",\n alt: \"Restaurant logo\",\n },\n linksSections: [\n {\n sectionTitle: \"Menu\",\n links: [\n { title: \"Appetizers\", url: \"/menu/appetizers\" },\n { title: \"Main Courses\", url: \"/menu/mains\" },\n { title: \"Desserts\", url: \"/menu/desserts\" },\n { title: \"Beverages\", url: \"/menu/drinks\" },\n ],\n },\n {\n sectionTitle: \"Services\",\n links: [\n { title: \"Reservations\", url: \"/reservations\" },\n { title: \"Catering\", url: \"/catering\" },\n { title: \"Private Events\", url: \"/events\" },\n { title: \"Gift Cards\", url: \"/gift-cards\" },\n ],\n },\n {\n sectionTitle: \"Info\",\n links: [\n { title: \"About Us\", url: \"/about\" },\n { title: \"Location\", url: \"/location\" },\n { title: \"Hours\", url: \"/hours\" },\n { title: \"Contact\", url: \"/contact\" },\n ],\n },\n ],\n },\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-BHC2A43S.js";
|
|
10
10
|
import {
|
|
11
11
|
defineBrickManifest
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EVLRH6VG.js";
|
|
13
13
|
import {
|
|
14
14
|
fontSizeRef
|
|
15
15
|
} from "./chunk-F22LDHEO.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "./chunk-Y74LZNND.js";
|
|
19
19
|
import {
|
|
20
20
|
string
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-N3ZTQD5I.js";
|
|
22
22
|
import {
|
|
23
23
|
borderRef,
|
|
24
24
|
roundingRef
|
|
@@ -40,8 +40,43 @@ var manifest = defineBrickManifest({
|
|
|
40
40
|
type: "form",
|
|
41
41
|
name: "Form",
|
|
42
42
|
description: "A form element.",
|
|
43
|
-
aiInstructions: `
|
|
44
|
-
|
|
43
|
+
aiInstructions: `PURPOSE
|
|
44
|
+
Dynamic form generator. Fields are inferred from the referenced datarecord schema (datarecordId). You NEVER list fields manually and the form does not accept children.
|
|
45
|
+
|
|
46
|
+
REQUIRED
|
|
47
|
+
\u2022 datarecordId must reference an existing datarecord definition.
|
|
48
|
+
|
|
49
|
+
COLOR & STYLE
|
|
50
|
+
\u2022 Optional colorPreset sets background + text. If omitted the form inherits parent background.
|
|
51
|
+
\u2022 Allowed tokens: primary-/secondary-/accent-/neutral-/base-*** (and gradient variants). Do NOT invent success, warning, danger, info, etc. Map them (success->secondary or primary; warning->accent; danger->accent/primary).
|
|
52
|
+
\u2022 Use rounding + border + padding for emphasis. Keep padding modest (1\u20133rem) unless it's a feature form hero (max ~4rem).
|
|
53
|
+
|
|
54
|
+
LAYOUT
|
|
55
|
+
\u2022 direction controls stacking (flex-col vs flex-row). Wide multi-column layouts usually flex-row on desktop, stacked (flex-col) on mobile.
|
|
56
|
+
\u2022 Use mobileProps to reduce padding or switch direction ONLY if necessary. (If switching direction, you must repeat required props.)
|
|
57
|
+
|
|
58
|
+
BUTTON GROUP
|
|
59
|
+
\u2022 Only supply button overrides you actually change (color, size, position, rounding). Unspecified values fallback to defaults.
|
|
60
|
+
\u2022 If button.size = wide then hide position (handled by schema metadata automatically\u2014don't circumvent).
|
|
61
|
+
|
|
62
|
+
CONTENT STRINGS
|
|
63
|
+
\u2022 title, intro, buttonLabel, successMessage, errorMessage should be concise.
|
|
64
|
+
\u2022 Avoid marketing fluff inside intro beyond one short paragraph.
|
|
65
|
+
|
|
66
|
+
DYNAMIC DATA
|
|
67
|
+
\u2022 Do not interpolate inside datarecordId (it must be a static id).
|
|
68
|
+
\u2022 You MAY interpolate page queries aliases in title/intro (e.g. "Apply for {{job.title}}") if those fields exist in surrounding dataset context.
|
|
69
|
+
|
|
70
|
+
DON'TS
|
|
71
|
+
\u2717 Don't invent props.
|
|
72
|
+
\u2717 Don't add HTML tags except basic inline markup if absolutely needed (prefer plain text).
|
|
73
|
+
\u2717 Don't set impossible color tokens.
|
|
74
|
+
|
|
75
|
+
DO
|
|
76
|
+
\u2713 Keep examples lean.
|
|
77
|
+
\u2713 Use semantic color mapping guidelines.
|
|
78
|
+
\u2713 Provide accessible, human-readable labels.
|
|
79
|
+
`,
|
|
45
80
|
isContainer: false,
|
|
46
81
|
icon: FaWpforms,
|
|
47
82
|
minWidth: {
|
|
@@ -196,6 +231,30 @@ var examples = [
|
|
|
196
231
|
}
|
|
197
232
|
}
|
|
198
233
|
},
|
|
234
|
+
{
|
|
235
|
+
description: "Responsive newsletter subscription: desktop horizontal -> mobile vertical",
|
|
236
|
+
type: "form",
|
|
237
|
+
props: {
|
|
238
|
+
title: "Stay Updated",
|
|
239
|
+
intro: "Subscribe for product news and occasional tips.",
|
|
240
|
+
direction: "flex-row",
|
|
241
|
+
datarecordId: "newsletter-subscription",
|
|
242
|
+
padding: "3rem",
|
|
243
|
+
buttonLabel: "Subscribe",
|
|
244
|
+
button: { size: "block" },
|
|
245
|
+
colorPreset: { color: "neutral-100" }
|
|
246
|
+
},
|
|
247
|
+
mobileProps: {
|
|
248
|
+
title: "Stay Updated",
|
|
249
|
+
intro: "Subscribe for product news and occasional tips.",
|
|
250
|
+
direction: "flex-col",
|
|
251
|
+
datarecordId: "newsletter-subscription",
|
|
252
|
+
padding: "2rem",
|
|
253
|
+
buttonLabel: "Subscribe",
|
|
254
|
+
button: { size: "block" },
|
|
255
|
+
colorPreset: { color: "neutral-100" }
|
|
256
|
+
}
|
|
257
|
+
},
|
|
199
258
|
{
|
|
200
259
|
description: "Newsletter subscription form (horizontal) with large padding",
|
|
201
260
|
type: "form",
|
|
@@ -211,6 +270,51 @@ var examples = [
|
|
|
211
270
|
}
|
|
212
271
|
}
|
|
213
272
|
},
|
|
273
|
+
{
|
|
274
|
+
description: "Minimal inline signup form (no background colorPreset, inherits parent)",
|
|
275
|
+
type: "form",
|
|
276
|
+
props: {
|
|
277
|
+
title: "Join Beta",
|
|
278
|
+
intro: "Access early features before public launch.",
|
|
279
|
+
direction: "flex-row",
|
|
280
|
+
datarecordId: "beta-signup",
|
|
281
|
+
buttonLabel: "Request Access",
|
|
282
|
+
button: { size: "block" },
|
|
283
|
+
padding: "1.5rem"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
description: "Dark themed form using neutral-800 background and accent button",
|
|
288
|
+
type: "form",
|
|
289
|
+
props: {
|
|
290
|
+
title: "Feedback",
|
|
291
|
+
intro: "Tell us how we can improve the product.",
|
|
292
|
+
direction: "flex-col",
|
|
293
|
+
datarecordId: "product-feedback",
|
|
294
|
+
buttonLabel: "Send Feedback",
|
|
295
|
+
colorPreset: { color: "neutral-800" },
|
|
296
|
+
padding: "2.5rem",
|
|
297
|
+
button: { color: "btn-accent" },
|
|
298
|
+
rounding: "rounded-lg",
|
|
299
|
+
border: { width: "border", color: "border-neutral-700" }
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
description: "Gradient emphasis form (primary gradient) for event signup",
|
|
304
|
+
type: "form",
|
|
305
|
+
props: {
|
|
306
|
+
title: "Conference RSVP",
|
|
307
|
+
intro: "Reserve your seat for {{event.title}}.",
|
|
308
|
+
direction: "flex-col",
|
|
309
|
+
datarecordId: "event-registration",
|
|
310
|
+
buttonLabel: "Reserve Seat",
|
|
311
|
+
colorPreset: { color: "primary-gradient-400", gradientDirection: "bg-gradient-to-br" },
|
|
312
|
+
padding: "3rem",
|
|
313
|
+
button: { color: "btn-secondary" },
|
|
314
|
+
rounding: "rounded-xl",
|
|
315
|
+
border: { width: "border-2", color: "border-primary-300" }
|
|
316
|
+
}
|
|
317
|
+
},
|
|
214
318
|
{
|
|
215
319
|
description: "Event registration form",
|
|
216
320
|
type: "form",
|
|
@@ -238,6 +342,20 @@ var examples = [
|
|
|
238
342
|
size: "block"
|
|
239
343
|
}
|
|
240
344
|
}
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
description: "Dynamic job application (title interpolated) mapping dataset field",
|
|
348
|
+
type: "form",
|
|
349
|
+
props: {
|
|
350
|
+
title: "Apply for {{job.title}}",
|
|
351
|
+
intro: "Join our team in {{job.location}}.",
|
|
352
|
+
direction: "flex-col",
|
|
353
|
+
datarecordId: "job-application",
|
|
354
|
+
buttonLabel: "Apply Now",
|
|
355
|
+
colorPreset: { color: "secondary-100" },
|
|
356
|
+
button: { size: "block", color: "btn-primary" },
|
|
357
|
+
padding: "2rem"
|
|
358
|
+
}
|
|
241
359
|
}
|
|
242
360
|
];
|
|
243
361
|
|
|
@@ -245,4 +363,4 @@ export {
|
|
|
245
363
|
manifest,
|
|
246
364
|
examples
|
|
247
365
|
};
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
366
|
+
//# sourceMappingURL=chunk-42OUNI7C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/bricks/manifests/form.manifest.ts"],"sourcesContent":["import { type Static, Type } from \"@sinclair/typebox\";\nimport { FaWpforms } from \"react-icons/fa6\";\nimport { defineBrickManifest } from \"~/shared/brick-manifest\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\nimport { borderRef, roundingRef } from \"../props/border\";\nimport { datarecord } from \"../props/datarecord\";\nimport { defineProps, group } from \"../props/helpers\";\nimport { string } from \"../props/string\";\nimport type { BrickProps } from \"../props/types\";\nimport { fontSizeRef } from \"../props/text\";\nimport { colorPresetRef } from \"../props/color-preset\";\nimport { directionRef } from \"../props/direction\";\nimport { cssLengthRef } from \"../props/css-length\";\nimport type { BrickExample } from \"./_types\";\n\nexport const manifest = defineBrickManifest({\n type: \"form\",\n name: \"Form\",\n description: \"A form element.\",\n aiInstructions: `PURPOSE\nDynamic form generator. Fields are inferred from the referenced datarecord schema (datarecordId). You NEVER list fields manually and the form does not accept children.\n\nREQUIRED\n• datarecordId must reference an existing datarecord definition.\n\nCOLOR & STYLE\n• Optional colorPreset sets background + text. If omitted the form inherits parent background.\n• Allowed tokens: primary-/secondary-/accent-/neutral-/base-*** (and gradient variants). Do NOT invent success, warning, danger, info, etc. Map them (success->secondary or primary; warning->accent; danger->accent/primary).\n• Use rounding + border + padding for emphasis. Keep padding modest (1–3rem) unless it's a feature form hero (max ~4rem).\n\nLAYOUT\n• direction controls stacking (flex-col vs flex-row). Wide multi-column layouts usually flex-row on desktop, stacked (flex-col) on mobile.\n• Use mobileProps to reduce padding or switch direction ONLY if necessary. (If switching direction, you must repeat required props.)\n\nBUTTON GROUP\n• Only supply button overrides you actually change (color, size, position, rounding). Unspecified values fallback to defaults.\n• If button.size = wide then hide position (handled by schema metadata automatically—don't circumvent).\n\nCONTENT STRINGS\n• title, intro, buttonLabel, successMessage, errorMessage should be concise.\n• Avoid marketing fluff inside intro beyond one short paragraph.\n\nDYNAMIC DATA\n• Do not interpolate inside datarecordId (it must be a static id).\n• You MAY interpolate page queries aliases in title/intro (e.g. \"Apply for {{job.title}}\") if those fields exist in surrounding dataset context.\n\nDON'TS\n✗ Don't invent props.\n✗ Don't add HTML tags except basic inline markup if absolutely needed (prefer plain text).\n✗ Don't set impossible color tokens.\n\nDO\n✓ Keep examples lean.\n✓ Use semantic color mapping guidelines.\n✓ Provide accessible, human-readable labels.\n`,\n isContainer: false,\n icon: FaWpforms,\n minWidth: {\n desktop: 300,\n },\n props: defineProps({\n datarecordId: datarecord(\"Datarecord ID\", {\n description: \"The ID of the datarecord to use to generate the form fields. The datarecord must exist.\",\n \"ui:responsive\": \"desktop\",\n }),\n colorPreset: Type.Optional(\n colorPresetRef({\n title: \"Color\",\n default: \"base-200\",\n }),\n ),\n direction: Type.Optional(\n directionRef({\n title: \"Direction\",\n description: \"The direction of the form fields\",\n default: \"flex-col\",\n \"ui:responsive\": \"desktop\",\n \"ui:desktop-only\": true,\n }),\n ),\n padding: Type.Optional(\n cssLengthRef({\n default: \"2rem\",\n description: \"Padding inside the form.\",\n title: \"Padding\",\n \"ui:responsive\": true,\n \"ui:placeholder\": \"Not specified\",\n \"ui:styleId\": \"styles:padding\",\n }),\n ),\n rounding: Type.Optional(\n roundingRef({\n default: \"rounded-md\",\n }),\n ),\n border: Type.Optional(borderRef({})),\n fontSize: Type.Optional(fontSizeRef({ default: \"inherit\", \"ui:no-extra-large-sizes\": true })),\n button: group({\n title: \"Button\",\n children: {\n color: Type.Optional(\n StringEnum([\"btn-neutral\", \"btn-primary\", \"btn-secondary\", \"btn-accent\"], {\n enumNames: [\"Neutral\", \"Primary\", \"Secondary\", \"Accent\"],\n title: \"Color\",\n default: \"btn-primary\",\n }),\n ),\n size: Type.Optional(\n StringEnum([\"block\", \"wide\"], {\n title: \"Size\",\n description: \"Button sizes.\",\n enumNames: [\"Block\", \"Wide\"],\n default: \"block\",\n \"ui:responsive\": \"desktop\",\n }),\n ),\n position: Type.Optional(\n StringEnum([\"justify-start\", \"justify-center\", \"justify-end\"], {\n title: \"Button Position\",\n description: \"The position of the button in the form\",\n enumNames: [\"Left\", \"Center\", \"Right\"],\n default: \"justify-end\",\n \"ui:responsive\": \"desktop\",\n metadata: {\n filter: (manifestProps: Manifest[\"props\"], formData: Static<Manifest[\"props\"]>) => {\n return formData.button?.size !== \"wide\";\n },\n },\n }),\n ),\n rounding: Type.Optional(roundingRef({ default: \"rounded-md\" })),\n },\n }),\n\n title: Type.Optional(\n Type.String({\n title: \"Form title\",\n default: \"My form\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n intro: Type.Optional(\n Type.String({\n title: \"Intro\",\n description: \"The intro text of the form\",\n \"ui:multiline\": true,\n metadata: {\n category: \"content\",\n },\n }),\n ),\n buttonLabel: Type.Optional(\n string(\"Button Label\", {\n default: \"Submit\",\n metadata: { category: \"content\" },\n }),\n ),\n successMessage: Type.Optional(\n Type.String({\n title: \"Success Message\",\n description: \"The message to display when the form is successfully submitted\",\n default: \"Thank you for your submission!\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n errorMessage: Type.Optional(\n Type.String({\n title: \"Error Message\",\n description: \"The message to display when the form submission fails\",\n default: \"There was an error submitting the form. Please try again later.\",\n metadata: {\n category: \"content\",\n },\n }),\n ),\n }),\n});\n\nexport type Manifest = typeof manifest;\n\nexport const examples: BrickExample<Manifest>[] = [\n {\n description: \"Basic contact form\",\n type: \"form\",\n props: {\n title: \"Contact Us\",\n intro: \"We'd love to hear from you. Send us a message and we'll respond as soon as possible.\",\n direction: \"flex-row\",\n datarecordId: \"contacts\",\n buttonLabel: \"Send Message\",\n button: {\n size: \"block\",\n },\n },\n },\n {\n description: \"User registration form with large button\",\n type: \"form\",\n props: {\n title: \"Create Account\",\n intro: \"Join our platform and start your journey today.\",\n direction: \"flex-row\",\n datarecordId: \"user-registration\",\n buttonLabel: \"Register\",\n button: {\n size: \"wide\",\n },\n },\n },\n {\n description: \"Responsive newsletter subscription: desktop horizontal -> mobile vertical\",\n type: \"form\",\n props: {\n title: \"Stay Updated\",\n intro: \"Subscribe for product news and occasional tips.\",\n direction: \"flex-row\",\n datarecordId: \"newsletter-subscription\",\n padding: \"3rem\",\n buttonLabel: \"Subscribe\",\n button: { size: \"block\" },\n colorPreset: { color: \"neutral-100\" },\n },\n mobileProps: {\n title: \"Stay Updated\",\n intro: \"Subscribe for product news and occasional tips.\",\n direction: \"flex-col\",\n datarecordId: \"newsletter-subscription\",\n padding: \"2rem\",\n buttonLabel: \"Subscribe\",\n button: { size: \"block\" },\n colorPreset: { color: \"neutral-100\" },\n },\n },\n {\n description: \"Newsletter subscription form (horizontal) with large padding\",\n type: \"form\",\n props: {\n title: \"Stay Updated\",\n intro: \"Subscribe to our newsletter for the latest updates and exclusive content.\",\n direction: \"flex-col\",\n datarecordId: \"newsletter-subscription\",\n padding: \"3rem\",\n buttonLabel: \"Subscribe\",\n button: {\n size: \"block\",\n },\n },\n },\n {\n description: \"Minimal inline signup form (no background colorPreset, inherits parent)\",\n type: \"form\",\n props: {\n title: \"Join Beta\",\n intro: \"Access early features before public launch.\",\n direction: \"flex-row\",\n datarecordId: \"beta-signup\",\n buttonLabel: \"Request Access\",\n button: { size: \"block\" },\n padding: \"1.5rem\",\n },\n },\n {\n description: \"Dark themed form using neutral-800 background and accent button\",\n type: \"form\",\n props: {\n title: \"Feedback\",\n intro: \"Tell us how we can improve the product.\",\n direction: \"flex-col\",\n datarecordId: \"product-feedback\",\n buttonLabel: \"Send Feedback\",\n colorPreset: { color: \"neutral-800\" },\n padding: \"2.5rem\",\n button: { color: \"btn-accent\" },\n rounding: \"rounded-lg\",\n border: { width: \"border\", color: \"border-neutral-700\" },\n },\n },\n {\n description: \"Gradient emphasis form (primary gradient) for event signup\",\n type: \"form\",\n props: {\n title: \"Conference RSVP\",\n intro: \"Reserve your seat for {{event.title}}.\",\n direction: \"flex-col\",\n datarecordId: \"event-registration\",\n buttonLabel: \"Reserve Seat\",\n colorPreset: { color: \"primary-gradient-400\", gradientDirection: \"bg-gradient-to-br\" },\n padding: \"3rem\",\n button: { color: \"btn-secondary\" },\n rounding: \"rounded-xl\",\n border: { width: \"border-2\", color: \"border-primary-300\" },\n },\n },\n {\n description: \"Event registration form\",\n type: \"form\",\n props: {\n title: \"Conference Registration\",\n intro: \"Register for the Annual Tech Conference 2025. Early bird pricing ends soon!\",\n direction: \"flex-col\",\n datarecordId: \"event-registration\",\n buttonLabel: \"Register Now\",\n button: {\n size: \"block\",\n },\n },\n },\n {\n description: \"Job application form\",\n type: \"form\",\n props: {\n title: \"Apply for Position\",\n intro: \"We're excited to learn more about you! Please fill out this application form completely.\",\n direction: \"flex-col\",\n datarecordId: \"job-application\",\n buttonLabel: \"Submit Application\",\n button: {\n size: \"block\",\n },\n },\n },\n {\n description: \"Dynamic job application (title interpolated) mapping dataset field\",\n type: \"form\",\n props: {\n title: \"Apply for {{job.title}}\",\n intro: \"Join our team in {{job.location}}.\",\n direction: \"flex-col\",\n datarecordId: \"job-application\",\n buttonLabel: \"Apply Now\",\n colorPreset: { color: \"secondary-100\" },\n button: { size: \"block\", color: \"btn-primary\" },\n padding: \"2rem\",\n },\n },\n];\n"],"mappings":"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","names":[]}
|