@upstart.gg/sdk 0.0.104 → 0.0.106

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.
Files changed (254) hide show
  1. package/dist/shared/ajv.d.ts +2 -0
  2. package/dist/shared/ajv.d.ts.map +1 -1
  3. package/dist/shared/ajv.js +1 -1
  4. package/dist/shared/attributes.js +1 -1
  5. package/dist/shared/brick-manifest.js +1 -1
  6. package/dist/shared/bricks/manifests/accordion.manifest.js +1 -1
  7. package/dist/shared/bricks/manifests/all-manifests.js +1 -1
  8. package/dist/shared/bricks/manifests/button.manifest.js +1 -1
  9. package/dist/shared/bricks/manifests/card.manifest.js +1 -1
  10. package/dist/shared/bricks/manifests/carousel.manifest.js +1 -1
  11. package/dist/shared/bricks/manifests/container.manifest.js +1 -1
  12. package/dist/shared/bricks/manifests/divider.manifest.js +1 -1
  13. package/dist/shared/bricks/manifests/footer.manifest.d.ts +1 -1
  14. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  15. package/dist/shared/bricks/manifests/footer.manifest.js +1 -1
  16. package/dist/shared/bricks/manifests/form.manifest.js +1 -1
  17. package/dist/shared/bricks/manifests/hero.manifest.js +1 -1
  18. package/dist/shared/bricks/manifests/icon.manifest.js +1 -1
  19. package/dist/shared/bricks/manifests/image.manifest.js +1 -1
  20. package/dist/shared/bricks/manifests/images-gallery.manifest.js +1 -1
  21. package/dist/shared/bricks/manifests/map.manifest.js +1 -1
  22. package/dist/shared/bricks/manifests/navbar.manifest.js +1 -1
  23. package/dist/shared/bricks/manifests/sidebar.manifest.js +1 -1
  24. package/dist/shared/bricks/manifests/social-links.manifest.js +1 -1
  25. package/dist/shared/bricks/manifests/testimonials.manifest.js +1 -1
  26. package/dist/shared/bricks/manifests/text.manifest.js +1 -1
  27. package/dist/shared/bricks/manifests/timeline.manifest.js +1 -1
  28. package/dist/shared/bricks/manifests/video.manifest.js +1 -1
  29. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  30. package/dist/shared/bricks/props/border.js +1 -1
  31. package/dist/shared/bricks/props/container.js +1 -1
  32. package/dist/shared/bricks/props/effects.js +1 -1
  33. package/dist/shared/bricks.d.ts.map +1 -1
  34. package/dist/shared/bricks.js +1 -1
  35. package/dist/shared/{chunk-TCZBR3ZU.js → chunk-2DI5SIVV.js} +1 -1
  36. package/dist/shared/{chunk-O22VV7YR.js → chunk-33FU4KGU.js} +1 -1
  37. package/dist/shared/{chunk-WCNVFVDK.js → chunk-3ZGRY444.js} +1 -1
  38. package/dist/shared/{chunk-CUCUHPQ7.js → chunk-6OKXZL6R.js} +1 -1
  39. package/dist/shared/chunk-7E67XSKP.js +3 -0
  40. package/dist/shared/{chunk-LJQXN32B.js → chunk-AMGHA7QH.js} +1 -1
  41. package/dist/shared/{chunk-QALNFBY7.js → chunk-DC5DWF7B.js} +1 -1
  42. package/dist/shared/{chunk-I43NIQ2K.js → chunk-DY2YCYZ6.js} +1 -1
  43. package/dist/shared/{chunk-CEXHD4BO.js → chunk-E4UAVLKC.js} +2 -2
  44. package/dist/shared/{chunk-ZFTWLZ3G.js → chunk-EHH677K5.js} +1 -1
  45. package/dist/shared/{chunk-POYVTV5F.js → chunk-FD3KX2U7.js} +1 -1
  46. package/dist/shared/chunk-G3JO5DM5.js +3 -0
  47. package/dist/shared/{chunk-I5S2MPPR.js → chunk-H7OYUKBW.js} +1 -1
  48. package/dist/shared/{chunk-ATVHWZSA.js → chunk-HBM4DPIW.js} +1 -1
  49. package/dist/shared/chunk-HIBTEX2T.js +3 -0
  50. package/dist/shared/{chunk-E2EBTWJI.js → chunk-I3HSLGFA.js} +1 -1
  51. package/dist/shared/{chunk-UISES3HA.js → chunk-IXJX7EQ3.js} +1 -1
  52. package/dist/shared/{chunk-5IEGQ7YT.js → chunk-JAAPJQNK.js} +1 -1
  53. package/dist/shared/{chunk-UK6H3FDX.js → chunk-JDBVMPSI.js} +1 -1
  54. package/dist/shared/{chunk-F6MLW6DO.js → chunk-JH3NRO6M.js} +1 -1
  55. package/dist/shared/{chunk-ZNVRYEO7.js → chunk-L3TKLJKK.js} +1 -1
  56. package/dist/shared/{chunk-TEPFFY32.js → chunk-LOFXGDAK.js} +1 -1
  57. package/dist/shared/chunk-O3FJP65T.js +3 -0
  58. package/dist/shared/{chunk-7L3UOEMR.js → chunk-PX7QSNLO.js} +1 -1
  59. package/dist/shared/{chunk-22KRCQK5.js → chunk-U76JDFWJ.js} +1 -1
  60. package/dist/shared/{chunk-CW5FWW5W.js → chunk-UYZP24VV.js} +1 -1
  61. package/dist/shared/chunk-X42WBJTN.js +3 -0
  62. package/dist/shared/{chunk-OQIFFJ7I.js → chunk-XB3X4P3I.js} +1 -1
  63. package/dist/shared/chunk-XDCGA4WT.js +3 -0
  64. package/dist/shared/chunk-YGHBFXR6.js +3 -0
  65. package/dist/shared/{chunk-WEQRYCPD.js → chunk-ZWYLKIBI.js} +1 -1
  66. package/dist/shared/datasources/external/rss/fetcher.d.ts +1 -1
  67. package/dist/shared/datasources/external/rss/fetcher.d.ts.map +1 -1
  68. package/dist/shared/images.js +1 -1
  69. package/dist/shared/page.js +1 -1
  70. package/dist/shared/responsive.js +1 -1
  71. package/dist/shared/site.js +1 -1
  72. package/dist/shared/sitemap.js +1 -1
  73. package/dist/shared/theme.js +1 -1
  74. package/dist/shared/utils/schema.d.ts +6 -8
  75. package/dist/shared/utils/schema.d.ts.map +1 -1
  76. package/dist/shared/utils/schema.js +1 -1
  77. package/package.json +5 -9
  78. package/dist/shared/chunk-F63ANNAK.js +0 -3
  79. package/dist/shared/chunk-GPKRRX3D.js +0 -3
  80. package/dist/shared/chunk-HQQYIKTE.js +0 -3
  81. package/dist/shared/chunk-JFDOR3UH.js +0 -3
  82. package/dist/shared/chunk-OD2PRCLH.js +0 -3
  83. package/dist/shared/chunk-PK6UAFPW.js +0 -3
  84. package/dist/shared/chunk-VDHLON5R.js +0 -3
  85. package/src/node/cli/api.ts +0 -101
  86. package/src/node/cli/commands/cmd-build.ts +0 -64
  87. package/src/node/cli/commands/login/cmd-login.ts +0 -111
  88. package/src/node/cli/commands/logout/cmd-logout.ts +0 -11
  89. package/src/node/cli/commands/publish/cmd-publish.ts +0 -135
  90. package/src/node/cli/commands/publish/parse-gitignore.ts +0 -278
  91. package/src/node/cli/commands/publish/uploader.ts +0 -333
  92. package/src/node/cli/constants.ts +0 -14
  93. package/src/node/cli/is-logged-in.ts +0 -28
  94. package/src/node/cli/program.ts +0 -77
  95. package/src/node/cli/store.ts +0 -64
  96. package/src/node/cli/tests/api.test.ts +0 -161
  97. package/src/node/cli/types.ts +0 -34
  98. package/src/node/cli/utils.ts +0 -20
  99. package/src/node/shared/config.ts +0 -69
  100. package/src/node/shared/logger.ts +0 -44
  101. package/src/shared/ajv.ts +0 -103
  102. package/src/shared/analytics/init.ts +0 -14
  103. package/src/shared/analytics/track.ts +0 -21
  104. package/src/shared/analytics/types.ts +0 -13
  105. package/src/shared/attributes.ts +0 -211
  106. package/src/shared/brick-manifest.ts +0 -110
  107. package/src/shared/bricks/manifests/accordion.manifest.ts +0 -179
  108. package/src/shared/bricks/manifests/all-manifests.ts +0 -92
  109. package/src/shared/bricks/manifests/button.manifest.ts +0 -145
  110. package/src/shared/bricks/manifests/card.manifest.ts +0 -269
  111. package/src/shared/bricks/manifests/carousel.manifest.ts +0 -106
  112. package/src/shared/bricks/manifests/container.manifest.ts +0 -357
  113. package/src/shared/bricks/manifests/divider.manifest.ts +0 -121
  114. package/src/shared/bricks/manifests/footer.manifest.ts +0 -487
  115. package/src/shared/bricks/manifests/form.manifest.ts +0 -112
  116. package/src/shared/bricks/manifests/hero.manifest.ts +0 -132
  117. package/src/shared/bricks/manifests/icon.manifest.ts +0 -130
  118. package/src/shared/bricks/manifests/image.manifest.ts +0 -203
  119. package/src/shared/bricks/manifests/images-gallery.manifest.ts +0 -227
  120. package/src/shared/bricks/manifests/map.manifest.ts +0 -75
  121. package/src/shared/bricks/manifests/navbar.manifest.ts +0 -344
  122. package/src/shared/bricks/manifests/sidebar.manifest.ts +0 -90
  123. package/src/shared/bricks/manifests/social-links.manifest.ts +0 -370
  124. package/src/shared/bricks/manifests/testimonials.manifest.ts +0 -397
  125. package/src/shared/bricks/manifests/tests/header.manifest.test.ts +0 -10
  126. package/src/shared/bricks/manifests/text.manifest.ts +0 -164
  127. package/src/shared/bricks/manifests/timeline.manifest.ts +0 -456
  128. package/src/shared/bricks/manifests/video.manifest.ts +0 -59
  129. package/src/shared/bricks/props/_style-presets.ts +0 -352
  130. package/src/shared/bricks/props/align.ts +0 -59
  131. package/src/shared/bricks/props/background.ts +0 -118
  132. package/src/shared/bricks/props/boolean.ts +0 -11
  133. package/src/shared/bricks/props/border.ts +0 -84
  134. package/src/shared/bricks/props/color.ts +0 -24
  135. package/src/shared/bricks/props/common.ts +0 -37
  136. package/src/shared/bricks/props/container.ts +0 -356
  137. package/src/shared/bricks/props/css-length.ts +0 -25
  138. package/src/shared/bricks/props/datasource.ts +0 -60
  139. package/src/shared/bricks/props/date.ts +0 -24
  140. package/src/shared/bricks/props/effects.ts +0 -123
  141. package/src/shared/bricks/props/enum.ts +0 -42
  142. package/src/shared/bricks/props/file.ts +0 -12
  143. package/src/shared/bricks/props/geolocation.ts +0 -30
  144. package/src/shared/bricks/props/helpers.ts +0 -101
  145. package/src/shared/bricks/props/image.ts +0 -90
  146. package/src/shared/bricks/props/number.ts +0 -16
  147. package/src/shared/bricks/props/padding.ts +0 -21
  148. package/src/shared/bricks/props/position.ts +0 -27
  149. package/src/shared/bricks/props/preset.ts +0 -136
  150. package/src/shared/bricks/props/string.ts +0 -56
  151. package/src/shared/bricks/props/tests/align.test.ts +0 -37
  152. package/src/shared/bricks/props/tests/background.test.ts +0 -102
  153. package/src/shared/bricks/props/tests/border.test.ts +0 -38
  154. package/src/shared/bricks/props/tests/effects.test.ts +0 -37
  155. package/src/shared/bricks/props/tests/helpers.test.ts +0 -133
  156. package/src/shared/bricks/props/tests/image.test.ts +0 -71
  157. package/src/shared/bricks/props/tests/padding.ts +0 -12
  158. package/src/shared/bricks/props/tests/string.test.ts +0 -79
  159. package/src/shared/bricks/props/text.ts +0 -66
  160. package/src/shared/bricks/props/types.ts +0 -57
  161. package/src/shared/bricks.ts +0 -232
  162. package/src/shared/context.ts +0 -39
  163. package/src/shared/datarecords/external/airtable/handler.ts +0 -21
  164. package/src/shared/datarecords/external/airtable/options.ts +0 -22
  165. package/src/shared/datarecords/external/generic-webhook/handler.ts +0 -10
  166. package/src/shared/datarecords/external/generic-webhook/options.ts +0 -13
  167. package/src/shared/datarecords/external/google/oauth/config.ts +0 -30
  168. package/src/shared/datarecords/external/google/sheets/handler.ts +0 -26
  169. package/src/shared/datarecords/external/google/sheets/options.ts +0 -9
  170. package/src/shared/datarecords/types.ts +0 -120
  171. package/src/shared/datarecords.ts +0 -5
  172. package/src/shared/datasources/README.md +0 -3
  173. package/src/shared/datasources/external/facebook/posts/fetcher.ts +0 -52
  174. package/src/shared/datasources/external/facebook/posts/sample.ts +0 -35
  175. package/src/shared/datasources/external/facebook/posts/schema.ts +0 -33
  176. package/src/shared/datasources/external/facebook/posts/tests/fetcher.test.ts +0 -73
  177. package/src/shared/datasources/external/http-json/fetcher.ts +0 -28
  178. package/src/shared/datasources/external/http-json/options.ts +0 -12
  179. package/src/shared/datasources/external/http-json/schema.ts +0 -6
  180. package/src/shared/datasources/external/http-json/tests/fetcher.test.ts +0 -70
  181. package/src/shared/datasources/external/instagram/feed/fetcher.ts +0 -33
  182. package/src/shared/datasources/external/instagram/feed/sample.ts +0 -22
  183. package/src/shared/datasources/external/instagram/feed/schema.ts +0 -23
  184. package/src/shared/datasources/external/instagram/feed/tests/fetcher.test.ts +0 -64
  185. package/src/shared/datasources/external/mastodon/account/fetcher.ts +0 -24
  186. package/src/shared/datasources/external/mastodon/account/sample.ts +0 -33
  187. package/src/shared/datasources/external/mastodon/account/schema.ts +0 -45
  188. package/src/shared/datasources/external/mastodon/account/tests/fetcher.test.ts +0 -47
  189. package/src/shared/datasources/external/mastodon/options.ts +0 -11
  190. package/src/shared/datasources/external/mastodon/status/fetcher.ts +0 -35
  191. package/src/shared/datasources/external/mastodon/status/sample.array.ts +0 -59
  192. package/src/shared/datasources/external/mastodon/status/sample.single.ts +0 -55
  193. package/src/shared/datasources/external/mastodon/status/schema.ts +0 -130
  194. package/src/shared/datasources/external/mastodon/status/tests/fetcher.test.ts +0 -74
  195. package/src/shared/datasources/external/meta/oauth/config.ts +0 -16
  196. package/src/shared/datasources/external/meta/options.ts +0 -11
  197. package/src/shared/datasources/external/rss/fetcher.ts +0 -29
  198. package/src/shared/datasources/external/rss/options.ts +0 -11
  199. package/src/shared/datasources/external/rss/sample.ts +0 -22
  200. package/src/shared/datasources/external/rss/schema.ts +0 -42
  201. package/src/shared/datasources/external/threads/media/fetcher.ts +0 -53
  202. package/src/shared/datasources/external/threads/media/sample.ts +0 -44
  203. package/src/shared/datasources/external/threads/media/schema.ts +0 -37
  204. package/src/shared/datasources/external/tiktok/oauth/config.ts +0 -17
  205. package/src/shared/datasources/external/tiktok/video/fetcher.ts +0 -39
  206. package/src/shared/datasources/external/tiktok/video/options.ts +0 -12
  207. package/src/shared/datasources/external/tiktok/video/sample.ts +0 -26
  208. package/src/shared/datasources/external/tiktok/video/schema.ts +0 -27
  209. package/src/shared/datasources/external/youtube/list/fetcher.ts +0 -37
  210. package/src/shared/datasources/external/youtube/list/options.ts +0 -15
  211. package/src/shared/datasources/external/youtube/list/sample.ts +0 -33
  212. package/src/shared/datasources/external/youtube/list/schema.ts +0 -38
  213. package/src/shared/datasources/external/youtube/oauth/config.ts +0 -15
  214. package/src/shared/datasources/fetcher.ts +0 -17
  215. package/src/shared/datasources/internal/blog/schema.ts +0 -69
  216. package/src/shared/datasources/internal/changelog/schema.ts +0 -48
  217. package/src/shared/datasources/internal/contact-info/schema.ts +0 -20
  218. package/src/shared/datasources/internal/cv/schema.ts +0 -217
  219. package/src/shared/datasources/internal/faq/schema.ts +0 -27
  220. package/src/shared/datasources/internal/job-board/schema.ts +0 -228
  221. package/src/shared/datasources/internal/links/schema.ts +0 -15
  222. package/src/shared/datasources/internal/recipes/schema.ts +0 -42
  223. package/src/shared/datasources/internal/restaurant/schema.ts +0 -225
  224. package/src/shared/datasources/provider-options.ts +0 -7
  225. package/src/shared/datasources/samples.ts +0 -26
  226. package/src/shared/datasources/schemas.ts +0 -45
  227. package/src/shared/datasources/types.ts +0 -276
  228. package/src/shared/datasources/utils.ts +0 -16
  229. package/src/shared/datasources.ts +0 -42
  230. package/src/shared/env.ts +0 -23
  231. package/src/shared/errors.ts +0 -1
  232. package/src/shared/images.ts +0 -44
  233. package/src/shared/index.ts +0 -3
  234. package/src/shared/layout-constants.ts +0 -25
  235. package/src/shared/manifest.ts +0 -50
  236. package/src/shared/oauth.ts +0 -16
  237. package/src/shared/page.ts +0 -61
  238. package/src/shared/prompt.ts +0 -9
  239. package/src/shared/responsive.ts +0 -5
  240. package/src/shared/site.ts +0 -97
  241. package/src/shared/sitemap.ts +0 -66
  242. package/src/shared/social-icons.ts +0 -307
  243. package/src/shared/tests/attributes.test.ts +0 -37
  244. package/src/shared/theme.ts +0 -245
  245. package/src/shared/themes/README.md +0 -34
  246. package/src/shared/themes/color-system.ts +0 -127
  247. package/src/shared/utils/canvas-data-uri.ts +0 -2
  248. package/src/shared/utils/invariant.ts +0 -25
  249. package/src/shared/utils/json-date.ts +0 -8
  250. package/src/shared/utils/merge.ts +0 -12
  251. package/src/shared/utils/object-hash.ts +0 -7
  252. package/src/shared/utils/schema.ts +0 -35
  253. package/src/shared/utils/try-catch.ts +0 -12
  254. package/src/shared/utils/typed-ref.ts +0 -41
@@ -1,357 +0,0 @@
1
- import { defineBrickManifest } from "~/shared/brick-manifest";
2
- import { defineProps, group, optional } from "../props/helpers";
3
- import { background, backgroundRef } from "../props/background";
4
- import { datasourceRef } from "../props/datasource";
5
- import { containerLayout, containerLayoutRef, makeContainerProps } from "../props/container";
6
- import { Type } from "@sinclair/typebox";
7
- import { border, borderRef } from "../props/border";
8
- import { shadowRef } from "../props/effects";
9
- import { padding, paddingRef } from "../props/padding";
10
- import { RxGrid } from "react-icons/rx";
11
- import type { BrickProps } from "../props/types";
12
- import type { FC } from "react";
13
-
14
- export const datasource = Type.Array(Type.Object({}, { additionalProperties: true }));
15
-
16
- // Generic container can hold any type of array data source
17
- export const manifest = defineBrickManifest({
18
- type: "container",
19
- kind: "brick",
20
- name: "Container",
21
- description: "A container that can hold other bricks and align them horizontally or vertically",
22
- aiInstructions: `A container acts as a flexbox (default) or a grid and allows you to align bricks horizontally, vertically, or in a grid. `,
23
- isContainer: true,
24
- defaultHeight: {
25
- desktop: 6,
26
- mobile: 6,
27
- },
28
- defaultWidth: {
29
- desktop: 12,
30
- mobile: 12,
31
- },
32
- datasource,
33
- icon: RxGrid,
34
- props: defineProps({
35
- layout: containerLayoutRef(),
36
- background: optional(backgroundRef()),
37
- border: optional(borderRef),
38
- padding: optional(paddingRef),
39
- shadow: optional(shadowRef()),
40
- datasource: optional(datasourceRef()),
41
- ...makeContainerProps(),
42
- }),
43
- });
44
-
45
- export type Manifest = typeof manifest;
46
-
47
- export const examples: {
48
- description: string;
49
- type: string;
50
- props: BrickProps<Manifest>["brick"]["props"];
51
- }[] = [
52
- {
53
- description: "Feature cards grid layout",
54
- type: "container",
55
- props: {
56
- preset: "prominent-primary",
57
- layout: {
58
- type: "grid",
59
- columns: 3,
60
- gap: "gap-4",
61
- },
62
- padding: "p-8",
63
- border: {
64
- rounding: "rounded-lg",
65
- },
66
- $children: [
67
- {
68
- type: "card",
69
- props: {
70
- variants: ["centered"],
71
- cardTitle: {
72
- content: "Fast Performance",
73
- },
74
- cardBody: {
75
- content: "Lightning-fast load times and optimized performance for the best user experience.",
76
- },
77
- },
78
- },
79
- {
80
- type: "card",
81
- props: {
82
- variants: ["centered"],
83
- cardTitle: {
84
- content: "Secure & Reliable",
85
- },
86
- cardBody: {
87
- content: "Enterprise-grade security with 99.9% uptime guarantee and data protection.",
88
- },
89
- },
90
- },
91
- {
92
- type: "card",
93
- props: {
94
- variants: ["centered"],
95
- cardTitle: {
96
- content: "Easy Integration",
97
- },
98
- cardBody: {
99
- content: "Simple API integration with comprehensive documentation and support.",
100
- },
101
- },
102
- },
103
- ],
104
- },
105
- },
106
- {
107
- description: "Horizontal hero section with image and text",
108
- type: "container",
109
- props: {
110
- preset: "prominent-secondary",
111
- layout: {
112
- type: "flex",
113
- direction: "flex-row",
114
- alignItems: "items-center",
115
- gap: "gap-8",
116
- },
117
- padding: "p-16",
118
- $children: [
119
- {
120
- type: "text",
121
- props: {
122
- content:
123
- "<h1>Transform Your Business</h1><p>Discover how our innovative solutions can streamline your operations and accelerate growth. Join thousands of satisfied customers worldwide.</p>",
124
- color: "#ffffff",
125
- padding: "p-0",
126
- },
127
- },
128
- {
129
- type: "image",
130
- props: {
131
- image: {
132
- src: "https://via.placeholder.com/400x300.png?text=Business+Growth",
133
- alt: "Business transformation illustration",
134
- },
135
- border: {
136
- borderRadius: "8px",
137
- },
138
- },
139
- },
140
- ],
141
- },
142
- },
143
- {
144
- description: "Vertical testimonial section",
145
- type: "container",
146
- props: {
147
- layout: {
148
- type: "flex",
149
- direction: "flex-col",
150
- alignItems: "items-center",
151
- gap: "gap-8",
152
- },
153
- background: {
154
- color: "#ffffff",
155
- },
156
- padding: "p-8",
157
- $children: [
158
- {
159
- type: "text",
160
- props: {
161
- content: "<h2 style='text-align: center'>What Our Customers Say</h2>",
162
- padding: "p-0",
163
- },
164
- },
165
- {
166
- type: "testimonials",
167
- props: {
168
- orientation: "horizontal",
169
- testimonials: [
170
- {
171
- author: "Sarah Johnson",
172
- company: "Tech Solutions Inc.",
173
- text: "This platform has revolutionized how we manage our projects. Incredible results!",
174
- avatar: {
175
- src: "https://via.placeholder.com/60x60.png?text=SJ",
176
- alt: "Sarah Johnson",
177
- },
178
- socialIcon: "mdi:linkedin",
179
- },
180
- {
181
- author: "Mike Chen",
182
- company: "Digital Agency",
183
- text: "Outstanding support and features. Highly recommend to any growing business.",
184
- avatar: {
185
- src: "https://via.placeholder.com/60x60.png?text=MC",
186
- alt: "Mike Chen",
187
- },
188
- socialIcon: "mdi:twitter",
189
- },
190
- ],
191
- },
192
- },
193
- ],
194
- },
195
- },
196
- {
197
- description: "Two-column content layout",
198
- type: "container",
199
- props: {
200
- layout: {
201
- type: "grid",
202
- columns: 2,
203
- gap: "gap-8",
204
- },
205
- padding: "p-8",
206
- $children: [
207
- {
208
- type: "text",
209
- props: {
210
- content:
211
- "<h3>About Our Company</h3><p>We've been providing innovative solutions since 2010, helping businesses across industries achieve their goals through technology and expertise.</p><p>Our team of dedicated professionals works tirelessly to ensure every client receives personalized service and exceptional results.</p>",
212
- background: {
213
- backgroundColor: "#f0f9ff",
214
- },
215
- padding: "p-6",
216
- border: {
217
- borderRadius: "8px",
218
- },
219
- },
220
- },
221
- {
222
- type: "container",
223
- props: {
224
- layout: {
225
- type: "flex",
226
- flexDirection: "flex-col",
227
- gap: "gap-4",
228
- },
229
- $children: [
230
- {
231
- type: "text",
232
- props: {
233
- content: "<h4>Key Stats</h4>",
234
- padding: "p-0",
235
- },
236
- },
237
- {
238
- type: "text",
239
- props: {
240
- content: "<strong>500+</strong> Happy Customers",
241
- background: {
242
- backgroundColor: "#dcfce7",
243
- },
244
- padding: "p-3",
245
- border: {
246
- borderRadius: "6px",
247
- },
248
- },
249
- },
250
- {
251
- type: "text",
252
- props: {
253
- content: "<strong>10+</strong> Years Experience",
254
- background: {
255
- backgroundColor: "#dbeafe",
256
- },
257
- padding: "p-3",
258
- border: {
259
- borderRadius: "6px",
260
- },
261
- },
262
- },
263
- {
264
- type: "text",
265
- props: {
266
- content: "<strong>99.9%</strong> Uptime Record",
267
- background: {
268
- backgroundColor: "#fef3c7",
269
- },
270
- padding: "p-3",
271
- border: {
272
- borderRadius: "6px",
273
- },
274
- },
275
- },
276
- ],
277
- },
278
- },
279
- ],
280
- },
281
- },
282
- {
283
- description: "Call-to-action section with centered alignment",
284
- type: "container",
285
- props: {
286
- layout: {
287
- type: "flex",
288
- direction: "flex-col",
289
- alignItems: "items-center",
290
- justifyContent: "justify-center",
291
- gap: "gap-4",
292
- },
293
- padding: "p-16",
294
-
295
- $children: [
296
- {
297
- type: "hero",
298
- props: {
299
- content: "Ready to Get Started?",
300
- tagline: "Join thousands of satisfied customers and transform your business today",
301
- align: "center",
302
- color: "#ffffff",
303
- padding: "p-0",
304
- effects: {
305
- textShadow: "2px 2px 4px rgba(0,0,0,0.5)",
306
- },
307
- },
308
- },
309
- {
310
- type: "container",
311
- props: {
312
- layout: {
313
- type: "flex",
314
- flexDirection: "flex-row",
315
- gap: "gap-4",
316
- },
317
- $children: [
318
- {
319
- type: "text",
320
- props: {
321
- content:
322
- "<a href='/signup' style='text-align: center'><strong>Start Free Trial</strong></a>",
323
- background: {
324
- backgroundColor: "#ffffff",
325
- },
326
- color: "#667eea",
327
- padding: "p-4",
328
- border: {
329
- borderRadius: "8px",
330
- },
331
- effects: {
332
- shadow: "shadow-lg",
333
- },
334
- },
335
- },
336
- {
337
- type: "text",
338
- props: {
339
- content: "<a href='/demo' style='text-align: center'><strong>Watch Demo</strong></a>",
340
- background: {
341
- backgroundColor: "transparent",
342
- },
343
- color: "#ffffff",
344
- padding: "p-4",
345
- border: {
346
- border: "2px solid #ffffff",
347
- borderRadius: "8px",
348
- },
349
- },
350
- },
351
- ],
352
- },
353
- },
354
- ],
355
- },
356
- },
357
- ];
@@ -1,121 +0,0 @@
1
- import { defineBrickManifest } from "~/shared/brick-manifest";
2
- import { defineProps, optional, prop } from "../props/helpers";
3
- import { PiConfetti } from "react-icons/pi";
4
- import { string } from "../props/string";
5
- import { Type } from "@sinclair/typebox";
6
- import { backgroundColor, backgroundColorRef } from "../props/background";
7
- import { RxDividerHorizontal } from "react-icons/rx";
8
- import type { BrickProps } from "../props/types";
9
- import { StringEnum } from "~/shared/utils/schema";
10
- import type { FC } from "react";
11
-
12
- export const manifest = defineBrickManifest({
13
- type: "divider",
14
- name: "Divider",
15
- kind: "brick",
16
- description: "A horizontal or vertical divider",
17
- repeatable: true,
18
- icon: RxDividerHorizontal,
19
- props: defineProps(
20
- {
21
- orientation: optional(StringEnum(["horizontal", "vertical"], { title: "Orientation" })),
22
- color: optional(backgroundColorRef({ default: "bg-base-300", title: "Divider color" })),
23
- size: optional(
24
- prop({
25
- title: "Size",
26
- schema: string("Size", "100%", {
27
- description: "Size of the divider",
28
- "ai:instructions": "The size of the divider must be in % unit, like 50%",
29
- }),
30
- }),
31
- ),
32
- },
33
- {
34
- default: {
35
- size: "100%",
36
- color: "bg-base-300",
37
- },
38
- },
39
- ),
40
- });
41
-
42
- export type Manifest = typeof manifest;
43
-
44
- export const examples: {
45
- description: string;
46
- type: string;
47
- props: BrickProps<Manifest>["brick"]["props"];
48
- }[] = [
49
- {
50
- description: "Basic horizontal divider",
51
- type: "divider",
52
- props: {
53
- orientation: "horizontal",
54
- color: "bg-base-300",
55
- size: "100%",
56
- },
57
- },
58
- {
59
- description: "Accent colored divider for emphasis",
60
- type: "divider",
61
- props: {
62
- orientation: "horizontal",
63
- color: "bg-blue-500",
64
- size: "100%",
65
- },
66
- },
67
- {
68
- description: "Short horizontal divider for content breaks",
69
- type: "divider",
70
- props: {
71
- orientation: "horizontal",
72
- color: "bg-base-300",
73
- size: "50%",
74
- },
75
- },
76
- {
77
- description: "Thin vertical divider for compact layouts",
78
- type: "divider",
79
- props: {
80
- orientation: "vertical",
81
- color: "bg-gray-300",
82
- size: "75%",
83
- },
84
- },
85
- {
86
- description: "Bold primary colored section divider",
87
- type: "divider",
88
- props: {
89
- orientation: "horizontal",
90
- color: "bg-primary",
91
- size: "100%",
92
- },
93
- },
94
- {
95
- description: "Error colored divider for attention",
96
- type: "divider",
97
- props: {
98
- orientation: "horizontal",
99
- color: "bg-red-500",
100
- size: "100%",
101
- },
102
- },
103
- {
104
- description: "Full height vertical divider for panels",
105
- type: "divider",
106
- props: {
107
- orientation: "vertical",
108
- color: "bg-base-300",
109
- size: "100%",
110
- },
111
- },
112
- {
113
- description: "Secondary colored divider",
114
- type: "divider",
115
- props: {
116
- orientation: "horizontal",
117
- color: "bg-secondary",
118
- size: "100%",
119
- },
120
- },
121
- ];