@upstart.gg/sdk 0.0.104 → 0.0.105

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 (225) hide show
  1. package/dist/shared/ajv.js +1 -1
  2. package/dist/shared/attributes.js +1 -1
  3. package/dist/shared/bricks/manifests/accordion.manifest.js +1 -1
  4. package/dist/shared/bricks/manifests/all-manifests.js +1 -1
  5. package/dist/shared/bricks/manifests/button.manifest.js +1 -1
  6. package/dist/shared/bricks/manifests/card.manifest.js +1 -1
  7. package/dist/shared/bricks/manifests/carousel.manifest.js +1 -1
  8. package/dist/shared/bricks/manifests/container.manifest.js +1 -1
  9. package/dist/shared/bricks/manifests/divider.manifest.js +1 -1
  10. package/dist/shared/bricks/manifests/footer.manifest.js +1 -1
  11. package/dist/shared/bricks/manifests/form.manifest.js +1 -1
  12. package/dist/shared/bricks/manifests/hero.manifest.js +1 -1
  13. package/dist/shared/bricks/manifests/icon.manifest.js +1 -1
  14. package/dist/shared/bricks/manifests/image.manifest.js +1 -1
  15. package/dist/shared/bricks/manifests/images-gallery.manifest.js +1 -1
  16. package/dist/shared/bricks/manifests/map.manifest.js +1 -1
  17. package/dist/shared/bricks/manifests/navbar.manifest.js +1 -1
  18. package/dist/shared/bricks/manifests/sidebar.manifest.js +1 -1
  19. package/dist/shared/bricks/manifests/social-links.manifest.js +1 -1
  20. package/dist/shared/bricks/manifests/testimonials.manifest.js +1 -1
  21. package/dist/shared/bricks/manifests/text.manifest.js +1 -1
  22. package/dist/shared/bricks/manifests/timeline.manifest.js +1 -1
  23. package/dist/shared/bricks/manifests/video.manifest.js +1 -1
  24. package/dist/shared/bricks.js +1 -1
  25. package/dist/shared/chunk-245ZLDVB.js +3 -0
  26. package/dist/shared/{chunk-QALNFBY7.js → chunk-2D6ZEIDX.js} +1 -1
  27. package/dist/shared/{chunk-CW5FWW5W.js → chunk-4BLCQRF5.js} +1 -1
  28. package/dist/shared/{chunk-TEPFFY32.js → chunk-5MGYT6FI.js} +1 -1
  29. package/dist/shared/{chunk-HQQYIKTE.js → chunk-CS5N4UQU.js} +1 -1
  30. package/dist/shared/{chunk-5IEGQ7YT.js → chunk-FRWB3BF3.js} +1 -1
  31. package/dist/shared/{chunk-I5S2MPPR.js → chunk-HYXCHFS5.js} +1 -1
  32. package/dist/shared/{chunk-TCZBR3ZU.js → chunk-IKSRCRZZ.js} +1 -1
  33. package/dist/shared/{chunk-LJQXN32B.js → chunk-ISF6EBPX.js} +1 -1
  34. package/dist/shared/{chunk-UK6H3FDX.js → chunk-JDBVMPSI.js} +1 -1
  35. package/dist/shared/{chunk-UISES3HA.js → chunk-M3Z3XDUC.js} +1 -1
  36. package/dist/shared/{chunk-22KRCQK5.js → chunk-MWP5IU33.js} +1 -1
  37. package/dist/shared/{chunk-7L3UOEMR.js → chunk-NCSLTHKN.js} +1 -1
  38. package/dist/shared/{chunk-O22VV7YR.js → chunk-OWON727Q.js} +1 -1
  39. package/dist/shared/{chunk-CEXHD4BO.js → chunk-P5RC56CL.js} +2 -2
  40. package/dist/shared/{chunk-ZFTWLZ3G.js → chunk-QI3BZDXL.js} +1 -1
  41. package/dist/shared/{chunk-F6MLW6DO.js → chunk-RDSK2G6V.js} +1 -1
  42. package/dist/shared/{chunk-I43NIQ2K.js → chunk-RXRPFXDF.js} +1 -1
  43. package/dist/shared/{chunk-POYVTV5F.js → chunk-VFGMOA4M.js} +1 -1
  44. package/dist/shared/{chunk-VDHLON5R.js → chunk-VPD626ML.js} +1 -1
  45. package/dist/shared/{chunk-WCNVFVDK.js → chunk-VROOAFFW.js} +1 -1
  46. package/dist/shared/{chunk-E2EBTWJI.js → chunk-WB4PGCZQ.js} +1 -1
  47. package/dist/shared/chunk-X2RJL33B.js +3 -0
  48. package/dist/shared/{chunk-OQIFFJ7I.js → chunk-X4ZBUWUL.js} +1 -1
  49. package/dist/shared/datasources/external/rss/fetcher.d.ts +1 -1
  50. package/dist/shared/datasources/external/rss/fetcher.d.ts.map +1 -1
  51. package/dist/shared/page.js +1 -1
  52. package/dist/shared/site.js +1 -1
  53. package/package.json +5 -9
  54. package/dist/shared/chunk-GPKRRX3D.js +0 -3
  55. package/dist/shared/chunk-JFDOR3UH.js +0 -3
  56. package/src/node/cli/api.ts +0 -101
  57. package/src/node/cli/commands/cmd-build.ts +0 -64
  58. package/src/node/cli/commands/login/cmd-login.ts +0 -111
  59. package/src/node/cli/commands/logout/cmd-logout.ts +0 -11
  60. package/src/node/cli/commands/publish/cmd-publish.ts +0 -135
  61. package/src/node/cli/commands/publish/parse-gitignore.ts +0 -278
  62. package/src/node/cli/commands/publish/uploader.ts +0 -333
  63. package/src/node/cli/constants.ts +0 -14
  64. package/src/node/cli/is-logged-in.ts +0 -28
  65. package/src/node/cli/program.ts +0 -77
  66. package/src/node/cli/store.ts +0 -64
  67. package/src/node/cli/tests/api.test.ts +0 -161
  68. package/src/node/cli/types.ts +0 -34
  69. package/src/node/cli/utils.ts +0 -20
  70. package/src/node/shared/config.ts +0 -69
  71. package/src/node/shared/logger.ts +0 -44
  72. package/src/shared/ajv.ts +0 -103
  73. package/src/shared/analytics/init.ts +0 -14
  74. package/src/shared/analytics/track.ts +0 -21
  75. package/src/shared/analytics/types.ts +0 -13
  76. package/src/shared/attributes.ts +0 -211
  77. package/src/shared/brick-manifest.ts +0 -110
  78. package/src/shared/bricks/manifests/accordion.manifest.ts +0 -179
  79. package/src/shared/bricks/manifests/all-manifests.ts +0 -92
  80. package/src/shared/bricks/manifests/button.manifest.ts +0 -145
  81. package/src/shared/bricks/manifests/card.manifest.ts +0 -269
  82. package/src/shared/bricks/manifests/carousel.manifest.ts +0 -106
  83. package/src/shared/bricks/manifests/container.manifest.ts +0 -357
  84. package/src/shared/bricks/manifests/divider.manifest.ts +0 -121
  85. package/src/shared/bricks/manifests/footer.manifest.ts +0 -487
  86. package/src/shared/bricks/manifests/form.manifest.ts +0 -112
  87. package/src/shared/bricks/manifests/hero.manifest.ts +0 -132
  88. package/src/shared/bricks/manifests/icon.manifest.ts +0 -130
  89. package/src/shared/bricks/manifests/image.manifest.ts +0 -203
  90. package/src/shared/bricks/manifests/images-gallery.manifest.ts +0 -227
  91. package/src/shared/bricks/manifests/map.manifest.ts +0 -75
  92. package/src/shared/bricks/manifests/navbar.manifest.ts +0 -344
  93. package/src/shared/bricks/manifests/sidebar.manifest.ts +0 -90
  94. package/src/shared/bricks/manifests/social-links.manifest.ts +0 -370
  95. package/src/shared/bricks/manifests/testimonials.manifest.ts +0 -397
  96. package/src/shared/bricks/manifests/tests/header.manifest.test.ts +0 -10
  97. package/src/shared/bricks/manifests/text.manifest.ts +0 -164
  98. package/src/shared/bricks/manifests/timeline.manifest.ts +0 -456
  99. package/src/shared/bricks/manifests/video.manifest.ts +0 -59
  100. package/src/shared/bricks/props/_style-presets.ts +0 -352
  101. package/src/shared/bricks/props/align.ts +0 -59
  102. package/src/shared/bricks/props/background.ts +0 -118
  103. package/src/shared/bricks/props/boolean.ts +0 -11
  104. package/src/shared/bricks/props/border.ts +0 -84
  105. package/src/shared/bricks/props/color.ts +0 -24
  106. package/src/shared/bricks/props/common.ts +0 -37
  107. package/src/shared/bricks/props/container.ts +0 -356
  108. package/src/shared/bricks/props/css-length.ts +0 -25
  109. package/src/shared/bricks/props/datasource.ts +0 -60
  110. package/src/shared/bricks/props/date.ts +0 -24
  111. package/src/shared/bricks/props/effects.ts +0 -123
  112. package/src/shared/bricks/props/enum.ts +0 -42
  113. package/src/shared/bricks/props/file.ts +0 -12
  114. package/src/shared/bricks/props/geolocation.ts +0 -30
  115. package/src/shared/bricks/props/helpers.ts +0 -101
  116. package/src/shared/bricks/props/image.ts +0 -90
  117. package/src/shared/bricks/props/number.ts +0 -16
  118. package/src/shared/bricks/props/padding.ts +0 -21
  119. package/src/shared/bricks/props/position.ts +0 -27
  120. package/src/shared/bricks/props/preset.ts +0 -136
  121. package/src/shared/bricks/props/string.ts +0 -56
  122. package/src/shared/bricks/props/tests/align.test.ts +0 -37
  123. package/src/shared/bricks/props/tests/background.test.ts +0 -102
  124. package/src/shared/bricks/props/tests/border.test.ts +0 -38
  125. package/src/shared/bricks/props/tests/effects.test.ts +0 -37
  126. package/src/shared/bricks/props/tests/helpers.test.ts +0 -133
  127. package/src/shared/bricks/props/tests/image.test.ts +0 -71
  128. package/src/shared/bricks/props/tests/padding.ts +0 -12
  129. package/src/shared/bricks/props/tests/string.test.ts +0 -79
  130. package/src/shared/bricks/props/text.ts +0 -66
  131. package/src/shared/bricks/props/types.ts +0 -57
  132. package/src/shared/bricks.ts +0 -232
  133. package/src/shared/context.ts +0 -39
  134. package/src/shared/datarecords/external/airtable/handler.ts +0 -21
  135. package/src/shared/datarecords/external/airtable/options.ts +0 -22
  136. package/src/shared/datarecords/external/generic-webhook/handler.ts +0 -10
  137. package/src/shared/datarecords/external/generic-webhook/options.ts +0 -13
  138. package/src/shared/datarecords/external/google/oauth/config.ts +0 -30
  139. package/src/shared/datarecords/external/google/sheets/handler.ts +0 -26
  140. package/src/shared/datarecords/external/google/sheets/options.ts +0 -9
  141. package/src/shared/datarecords/types.ts +0 -120
  142. package/src/shared/datarecords.ts +0 -5
  143. package/src/shared/datasources/README.md +0 -3
  144. package/src/shared/datasources/external/facebook/posts/fetcher.ts +0 -52
  145. package/src/shared/datasources/external/facebook/posts/sample.ts +0 -35
  146. package/src/shared/datasources/external/facebook/posts/schema.ts +0 -33
  147. package/src/shared/datasources/external/facebook/posts/tests/fetcher.test.ts +0 -73
  148. package/src/shared/datasources/external/http-json/fetcher.ts +0 -28
  149. package/src/shared/datasources/external/http-json/options.ts +0 -12
  150. package/src/shared/datasources/external/http-json/schema.ts +0 -6
  151. package/src/shared/datasources/external/http-json/tests/fetcher.test.ts +0 -70
  152. package/src/shared/datasources/external/instagram/feed/fetcher.ts +0 -33
  153. package/src/shared/datasources/external/instagram/feed/sample.ts +0 -22
  154. package/src/shared/datasources/external/instagram/feed/schema.ts +0 -23
  155. package/src/shared/datasources/external/instagram/feed/tests/fetcher.test.ts +0 -64
  156. package/src/shared/datasources/external/mastodon/account/fetcher.ts +0 -24
  157. package/src/shared/datasources/external/mastodon/account/sample.ts +0 -33
  158. package/src/shared/datasources/external/mastodon/account/schema.ts +0 -45
  159. package/src/shared/datasources/external/mastodon/account/tests/fetcher.test.ts +0 -47
  160. package/src/shared/datasources/external/mastodon/options.ts +0 -11
  161. package/src/shared/datasources/external/mastodon/status/fetcher.ts +0 -35
  162. package/src/shared/datasources/external/mastodon/status/sample.array.ts +0 -59
  163. package/src/shared/datasources/external/mastodon/status/sample.single.ts +0 -55
  164. package/src/shared/datasources/external/mastodon/status/schema.ts +0 -130
  165. package/src/shared/datasources/external/mastodon/status/tests/fetcher.test.ts +0 -74
  166. package/src/shared/datasources/external/meta/oauth/config.ts +0 -16
  167. package/src/shared/datasources/external/meta/options.ts +0 -11
  168. package/src/shared/datasources/external/rss/fetcher.ts +0 -29
  169. package/src/shared/datasources/external/rss/options.ts +0 -11
  170. package/src/shared/datasources/external/rss/sample.ts +0 -22
  171. package/src/shared/datasources/external/rss/schema.ts +0 -42
  172. package/src/shared/datasources/external/threads/media/fetcher.ts +0 -53
  173. package/src/shared/datasources/external/threads/media/sample.ts +0 -44
  174. package/src/shared/datasources/external/threads/media/schema.ts +0 -37
  175. package/src/shared/datasources/external/tiktok/oauth/config.ts +0 -17
  176. package/src/shared/datasources/external/tiktok/video/fetcher.ts +0 -39
  177. package/src/shared/datasources/external/tiktok/video/options.ts +0 -12
  178. package/src/shared/datasources/external/tiktok/video/sample.ts +0 -26
  179. package/src/shared/datasources/external/tiktok/video/schema.ts +0 -27
  180. package/src/shared/datasources/external/youtube/list/fetcher.ts +0 -37
  181. package/src/shared/datasources/external/youtube/list/options.ts +0 -15
  182. package/src/shared/datasources/external/youtube/list/sample.ts +0 -33
  183. package/src/shared/datasources/external/youtube/list/schema.ts +0 -38
  184. package/src/shared/datasources/external/youtube/oauth/config.ts +0 -15
  185. package/src/shared/datasources/fetcher.ts +0 -17
  186. package/src/shared/datasources/internal/blog/schema.ts +0 -69
  187. package/src/shared/datasources/internal/changelog/schema.ts +0 -48
  188. package/src/shared/datasources/internal/contact-info/schema.ts +0 -20
  189. package/src/shared/datasources/internal/cv/schema.ts +0 -217
  190. package/src/shared/datasources/internal/faq/schema.ts +0 -27
  191. package/src/shared/datasources/internal/job-board/schema.ts +0 -228
  192. package/src/shared/datasources/internal/links/schema.ts +0 -15
  193. package/src/shared/datasources/internal/recipes/schema.ts +0 -42
  194. package/src/shared/datasources/internal/restaurant/schema.ts +0 -225
  195. package/src/shared/datasources/provider-options.ts +0 -7
  196. package/src/shared/datasources/samples.ts +0 -26
  197. package/src/shared/datasources/schemas.ts +0 -45
  198. package/src/shared/datasources/types.ts +0 -276
  199. package/src/shared/datasources/utils.ts +0 -16
  200. package/src/shared/datasources.ts +0 -42
  201. package/src/shared/env.ts +0 -23
  202. package/src/shared/errors.ts +0 -1
  203. package/src/shared/images.ts +0 -44
  204. package/src/shared/index.ts +0 -3
  205. package/src/shared/layout-constants.ts +0 -25
  206. package/src/shared/manifest.ts +0 -50
  207. package/src/shared/oauth.ts +0 -16
  208. package/src/shared/page.ts +0 -61
  209. package/src/shared/prompt.ts +0 -9
  210. package/src/shared/responsive.ts +0 -5
  211. package/src/shared/site.ts +0 -97
  212. package/src/shared/sitemap.ts +0 -66
  213. package/src/shared/social-icons.ts +0 -307
  214. package/src/shared/tests/attributes.test.ts +0 -37
  215. package/src/shared/theme.ts +0 -245
  216. package/src/shared/themes/README.md +0 -34
  217. package/src/shared/themes/color-system.ts +0 -127
  218. package/src/shared/utils/canvas-data-uri.ts +0 -2
  219. package/src/shared/utils/invariant.ts +0 -25
  220. package/src/shared/utils/json-date.ts +0 -8
  221. package/src/shared/utils/merge.ts +0 -12
  222. package/src/shared/utils/object-hash.ts +0 -7
  223. package/src/shared/utils/schema.ts +0 -35
  224. package/src/shared/utils/try-catch.ts +0 -12
  225. package/src/shared/utils/typed-ref.ts +0 -41
@@ -1,106 +0,0 @@
1
- import { defineBrickManifest } from "~/shared/brick-manifest";
2
- import { defineProps, optional } from "../props/helpers";
3
- import { TbCarouselHorizontal } from "react-icons/tb";
4
- import { Type } from "@sinclair/typebox";
5
- import { makeContainerProps } from "../props/container";
6
- import type { BrickProps } from "../props/types";
7
- import { background, backgroundRef } from "../props/background";
8
- import { border, borderRef } from "../props/border";
9
- import { padding, paddingRef } from "../props/padding";
10
- import type { FC } from "react";
11
- import { shadowRef } from "../props/effects";
12
-
13
- export const manifest = defineBrickManifest({
14
- type: "carousel",
15
- kind: "widget",
16
- name: "Carousel",
17
- description: "A carousel element",
18
- isContainer: true,
19
- icon: TbCarouselHorizontal,
20
- props: defineProps({
21
- variants: Type.Array(
22
- Type.Union(
23
- [
24
- Type.Literal("pager-arrows", { title: "With arrows pager" }),
25
- Type.Literal("pager-numbers", { title: "With numbered pager" }),
26
- Type.Literal("pager-dots", { title: "With dots pager" }),
27
- ],
28
- {
29
- title: "Variant",
30
- description: "Carousel variants.",
31
- },
32
- ),
33
- ),
34
- background: optional(backgroundRef()),
35
- border: optional(borderRef),
36
- padding: optional(paddingRef),
37
- shadow: optional(shadowRef()),
38
- ...makeContainerProps(),
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: "An image carousel with pager arrows",
51
- type: "carousel",
52
- props: {
53
- variants: ["pager-arrows"],
54
- $children: [
55
- {
56
- type: "image",
57
- props: {
58
- src: "https://via.placeholder.com/300x200.png?text=Image+1",
59
- },
60
- },
61
- {
62
- type: "image",
63
- props: {
64
- src: "https://via.placeholder.com/300x200.png?text=Image+2",
65
- },
66
- },
67
- {
68
- type: "image",
69
- props: {
70
- src: "https://via.placeholder.com/300x200.png?text=Image+3",
71
- },
72
- },
73
- ],
74
- },
75
- },
76
- {
77
- description: "A carousel of text slides with numbered pager",
78
- type: "carousel",
79
- props: {
80
- variants: ["pager-numbers"],
81
- $children: [
82
- {
83
- type: "text",
84
- props: {
85
- content: "Slide 1",
86
- preset: "prominent-primary",
87
- },
88
- },
89
- {
90
- type: "text",
91
- props: {
92
- content: "Slide 2",
93
- preset: "prominent-secondary",
94
- },
95
- },
96
- {
97
- type: "text",
98
- props: {
99
- content: "Slide 3",
100
- preset: "prominent-accent",
101
- },
102
- },
103
- ],
104
- },
105
- },
106
- ];
@@ -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
- ];