@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,456 +0,0 @@
1
- import { defineBrickManifest } from "~/shared/brick-manifest";
2
- import { defineProps, optional, group, prop } from "../props/helpers";
3
- import { Type } from "@sinclair/typebox";
4
- import { MdTimeline } from "react-icons/md";
5
- import { backgroundColor, backgroundColorRef } from "../props/background";
6
- import { textContent, textContentRef } from "../props/text";
7
- import { string } from "../props/string";
8
- import { padding, paddingRef } from "../props/padding";
9
- import { border, borderRef } from "../props/border";
10
- import { shadow, shadowRef } from "../props/effects";
11
- import { RiMapPinTimeLine } from "react-icons/ri";
12
- import type { BrickProps } from "../props/types";
13
- import { colorRef } from "../props/color";
14
- import { StringEnum } from "~/shared/utils/schema";
15
- import type { FC } from "react";
16
-
17
- export const manifest = defineBrickManifest({
18
- type: "timeline",
19
- kind: "widget",
20
- name: "Timeline",
21
- description: "A timeline element for showing chronological events",
22
- aiInstructions: `
23
- This timeline element displays a series of chronological events, milestones, or processes.
24
- It can be used for company history, project roadmaps, or any sequential information.
25
- Each item has a date/time, title, description, and optional icon.
26
- `.trim(),
27
- icon: RiMapPinTimeLine,
28
-
29
- defaultHeight: { desktop: 12, mobile: 18 },
30
- defaultWidth: { desktop: 36, mobile: 24 },
31
-
32
- props: defineProps(
33
- {
34
- container: optional(
35
- group({
36
- title: "Container",
37
- children: {
38
- backgroundColor: optional(backgroundColorRef()),
39
- padding: optional(paddingRef),
40
- border: optional(borderRef),
41
- shadow: optional(shadowRef()),
42
- },
43
- }),
44
- ),
45
- items: prop({
46
- title: "Timeline items",
47
- schema: Type.Array(
48
- Type.Object({
49
- date: string("Date", "2024", {
50
- description: "Date or time period for this event",
51
- }),
52
- title: textContentRef({ title: "Title", default: "Event title", disableSizing: true }),
53
- description: textContentRef({ title: "Description", default: "Event description" }),
54
- icon: optional(
55
- prop({
56
- title: "Icon",
57
- description: "Icon to display (iconify reference)",
58
- schema: string("Icon", undefined, {
59
- description: "Icon for this timeline item",
60
- "ui:widget": "iconify",
61
- }),
62
- }),
63
- ),
64
- }),
65
- ),
66
- }),
67
- variants: Type.Array(
68
- Type.Union(
69
- [
70
- Type.Literal("vertical", {
71
- title: "Vertical",
72
- description: "Display timeline vertically",
73
- }),
74
- Type.Literal("horizontal", {
75
- title: "Horizontal",
76
- description: "Display timeline horizontally",
77
- }),
78
- Type.Literal("alternating", {
79
- title: "Alternating",
80
- description: "Alternate items left and right (vertical only)",
81
- }),
82
- Type.Literal("with-connectors", {
83
- title: "With connectors",
84
- description: "Show connecting lines between items",
85
- }),
86
- Type.Literal("minimal", {
87
- title: "Minimal",
88
- description: "Simple design with less visual elements",
89
- }),
90
- Type.Literal("card-style", {
91
- title: "Card style",
92
- description: "Display each item as a card",
93
- }),
94
- ],
95
- {
96
- title: "Variant",
97
- description: "Timeline display variants",
98
- },
99
- ),
100
- { default: ["vertical", "with-connectors"] },
101
- ),
102
- appearance: optional(
103
- group({
104
- title: "Appearance",
105
- children: {
106
- lineColor: optional(
107
- prop({
108
- title: "Line color",
109
- description: "Color for the timeline dot/line",
110
- schema: StringEnum(["primary", "secondary", "accent"], {
111
- default: "primary",
112
- enumNames: ["Primary", "Secondary", "Accent"],
113
- }),
114
- }),
115
- ),
116
- lineWidth: optional(
117
- prop({
118
- title: "Line width",
119
- schema: Type.Union(
120
- [
121
- Type.Literal("border-2", { title: "Thin" }),
122
- Type.Literal("border-4", { title: "Medium" }),
123
- Type.Literal("border-8", { title: "Thick" }),
124
- ],
125
- { default: "border-2" },
126
- ),
127
- }),
128
- ),
129
- dotSize: optional(
130
- prop({
131
- title: "Dot size",
132
- schema: Type.Union(
133
- [
134
- Type.Literal("w-3", { title: "S" }),
135
- Type.Literal("w-4", { title: "M" }),
136
- Type.Literal("w-6", { title: "L" }),
137
- Type.Literal("w-8", { title: "XL" }),
138
- ],
139
- { default: "w-4" },
140
- ),
141
- }),
142
- ),
143
- datePosition: optional(
144
- prop({
145
- title: "Date position",
146
- schema: Type.Union(
147
- [
148
- Type.Literal("above", { title: "Above title" }),
149
- Type.Literal("below", { title: "Below title" }),
150
- Type.Literal("inline", { title: "Inline with title" }),
151
- ],
152
- { default: "above" },
153
- ),
154
- }),
155
- ),
156
- },
157
- }),
158
- ),
159
- textStyles: optional(
160
- group({
161
- title: "Text styles",
162
- children: {
163
- dateColor: optional(colorRef({ default: "text-base-content/70", title: "Date color" })),
164
- titleColor: optional(colorRef({ default: "text-base-content", title: "Title color" })),
165
- descriptionColor: optional(
166
- colorRef({ default: "text-base-content/80", title: "Description color" }),
167
- ),
168
- },
169
- }),
170
- ),
171
- },
172
- {
173
- default: {
174
- container: {
175
- padding: "p-6",
176
- backgroundColor: "bg-transparent",
177
- },
178
- variants: ["vertical", "with-connectors"],
179
- appearance: {
180
- lineColor: "primary",
181
- lineWidth: "border-2",
182
- dotSize: "w-4 h-4",
183
- datePosition: "above",
184
- },
185
- textStyles: {
186
- dateColor: "text-base-content/70",
187
- titleColor: "text-base-content",
188
- descriptionColor: "text-base-content/80",
189
- },
190
- },
191
- },
192
- ),
193
- });
194
-
195
- export type Manifest = typeof manifest;
196
-
197
- export const examples: {
198
- description: string;
199
- type: string;
200
- props: BrickProps<Manifest>["brick"]["props"];
201
- }[] = [
202
- {
203
- description: "Company milestone timeline with alternating layout",
204
- type: "timeline",
205
- props: {
206
- container: {
207
- backgroundColor: "bg-base-100",
208
- padding: "p-8",
209
- },
210
- variants: ["vertical", "alternating", "with-connectors"],
211
- appearance: {
212
- lineColor: "primary",
213
- lineWidth: "border-4",
214
- dotSize: "w-6",
215
- datePosition: "above",
216
- },
217
- items: [
218
- {
219
- date: "2019",
220
- title: "Company Founded",
221
- description: "Started our journey with a vision to revolutionize the industry",
222
- icon: "mdi:rocket-launch",
223
- },
224
- {
225
- date: "2020",
226
- title: "First Product Launch",
227
- description: "Released our flagship product to the market with overwhelming response",
228
- icon: "mdi:product-hunt",
229
- },
230
- {
231
- date: "2021",
232
- title: "Series A Funding",
233
- description: "Raised $10M in Series A funding to accelerate growth and expansion",
234
- icon: "mdi:currency-usd",
235
- },
236
- {
237
- date: "2023",
238
- title: "Global Expansion",
239
- description: "Opened offices in Europe and Asia, serving customers worldwide",
240
- icon: "mdi:earth",
241
- },
242
- {
243
- date: "2024",
244
- title: "IPO Planning",
245
- description: "Preparing for initial public offering and continued growth",
246
- icon: "mdi:trending-up",
247
- },
248
- ],
249
- },
250
- },
251
- {
252
- description: "Project roadmap with horizontal layout",
253
- type: "timeline",
254
- props: {
255
- container: {
256
- padding: "p-8",
257
- },
258
- variants: ["horizontal", "with-connectors", "card-style"],
259
- appearance: {
260
- lineColor: "accent",
261
- lineWidth: "border-2",
262
- dotSize: "w-4",
263
- datePosition: "below",
264
- },
265
- textStyles: {
266
- dateColor: "text-primary",
267
- titleColor: "text-base-content",
268
- descriptionColor: "text-base-content/80",
269
- },
270
- items: [
271
- {
272
- date: "Q1 2024",
273
- title: "Planning Phase",
274
- description: "Requirements gathering and technical specifications",
275
- icon: "mdi:clipboard-text",
276
- },
277
- {
278
- date: "Q2 2024",
279
- title: "Development",
280
- description: "Core feature development and testing",
281
- icon: "mdi:code-braces",
282
- },
283
- {
284
- date: "Q3 2024",
285
- title: "Beta Testing",
286
- description: "User acceptance testing and feedback collection",
287
- icon: "mdi:test-tube",
288
- },
289
- {
290
- date: "Q4 2024",
291
- title: "Launch",
292
- description: "Production deployment and go-to-market strategy",
293
- icon: "mdi:rocket",
294
- },
295
- ],
296
- },
297
- },
298
- {
299
- description: "Personal career timeline with minimal design",
300
- type: "timeline",
301
- props: {
302
- container: {
303
- padding: "p-4",
304
- },
305
- variants: ["vertical", "minimal"],
306
- appearance: {
307
- lineColor: "secondary",
308
- lineWidth: "border-2",
309
- datePosition: "inline",
310
- },
311
- textStyles: {
312
- dateColor: "text-base-content/60",
313
- titleColor: "text-base-content",
314
- descriptionColor: "text-base-content/70",
315
- },
316
- items: [
317
- {
318
- date: "2020-2024",
319
- title: "Senior Software Engineer",
320
- description: "Led development of microservices architecture at Tech Startup Inc.",
321
- },
322
- {
323
- date: "2018-2020",
324
- title: "Full Stack Developer",
325
- description: "Built scalable web applications using React and Node.js at Digital Agency",
326
- },
327
- {
328
- date: "2016-2018",
329
- title: "Junior Developer",
330
- description: "Started career developing mobile apps and learning modern frameworks",
331
- },
332
- {
333
- date: "2012-2016",
334
- title: "Computer Science Degree",
335
- description: "Bachelor's degree in Computer Science from State University",
336
- },
337
- ],
338
- },
339
- },
340
- {
341
- description: "Product development phases with card styling",
342
- type: "timeline",
343
- props: {
344
- container: {
345
- backgroundColor: "bg-base-50",
346
- padding: "p-8",
347
- },
348
- variants: ["vertical", "card-style", "with-connectors"],
349
- appearance: {
350
- lineColor: "accent",
351
- lineWidth: "border-4",
352
- dotSize: "w-6",
353
- datePosition: "above",
354
- },
355
- textStyles: {
356
- dateColor: "text-accent",
357
- titleColor: "text-base-content",
358
- descriptionColor: "text-base-content/80",
359
- },
360
- items: [
361
- {
362
- date: "Phase 1",
363
- title: "Research & Discovery",
364
- description: "Market research, user interviews, and competitive analysis to understand user needs",
365
- icon: "mdi:magnify",
366
- },
367
- {
368
- date: "Phase 2",
369
- title: "Design & Prototyping",
370
- description: "Create wireframes, mockups, and interactive prototypes for user testing",
371
- icon: "mdi:palette",
372
- },
373
- {
374
- date: "Phase 3",
375
- title: "Development",
376
- description: "Build the product using agile methodology with continuous integration",
377
- icon: "mdi:hammer-wrench",
378
- },
379
- {
380
- date: "Phase 4",
381
- title: "Testing & QA",
382
- description:
383
- "Comprehensive testing including unit tests, integration tests, and user acceptance testing",
384
- icon: "mdi:bug",
385
- },
386
- {
387
- date: "Phase 5",
388
- title: "Launch & Monitor",
389
- description:
390
- "Product launch with monitoring, analytics, and continuous improvement based on user feedback",
391
- icon: "mdi:rocket-launch",
392
- },
393
- ],
394
- },
395
- },
396
- {
397
- description: "Event schedule timeline with large dots",
398
- type: "timeline",
399
- props: {
400
- container: {
401
- backgroundColor: "bg-primary/5",
402
- padding: "p-8",
403
- },
404
- variants: ["vertical", "with-connectors"],
405
- appearance: {
406
- lineColor: "primary",
407
- lineWidth: "border-8",
408
- dotSize: "w-6",
409
- datePosition: "above",
410
- },
411
- textStyles: {
412
- dateColor: "text-primary",
413
- titleColor: "text-primary",
414
- descriptionColor: "text-base-content",
415
- },
416
- items: [
417
- {
418
- date: "9:00 AM",
419
- title: "Registration & Welcome",
420
- description: "Check-in, networking breakfast, and welcome address by the CEO",
421
- icon: "mdi:account-check",
422
- },
423
- {
424
- date: "10:00 AM",
425
- title: "Keynote Presentation",
426
- description: "Future of Technology: Trends and Innovations Shaping Tomorrow",
427
- icon: "mdi:presentation",
428
- },
429
- {
430
- date: "11:30 AM",
431
- title: "Panel Discussion",
432
- description: "Industry leaders discuss challenges and opportunities in digital transformation",
433
- icon: "mdi:account-group",
434
- },
435
- {
436
- date: "1:00 PM",
437
- title: "Networking Lunch",
438
- description: "Catered lunch with opportunities to connect with speakers and attendees",
439
- icon: "mdi:food",
440
- },
441
- {
442
- date: "2:30 PM",
443
- title: "Workshop Sessions",
444
- description: "Hands-on workshops covering AI, cloud computing, and cybersecurity",
445
- icon: "mdi:school",
446
- },
447
- {
448
- date: "4:00 PM",
449
- title: "Closing Remarks",
450
- description: "Summary of key insights and announcement of next year's conference",
451
- icon: "mdi:microphone",
452
- },
453
- ],
454
- },
455
- },
456
- ];
@@ -1,59 +0,0 @@
1
- import { defineBrickManifest } from "~/shared/brick-manifest";
2
- import { defineProps, optional } from "../props/helpers";
3
- import { RxVideo } from "react-icons/rx";
4
- import { string } from "../props/string";
5
- import type { BrickProps } from "../props/types";
6
- import type { FC } from "react";
7
- import { backgroundRef } from "../props/background";
8
- import { borderRef } from "../props/border";
9
- import { paddingRef } from "../props/padding";
10
- import { shadowRef } from "../props/effects";
11
- export type { Type } from "@sinclair/typebox";
12
-
13
- export const manifest = defineBrickManifest({
14
- type: "video",
15
- kind: "brick",
16
- name: "Video",
17
- description: "Youtube video",
18
- repeatable: true,
19
- icon: RxVideo,
20
- props: defineProps({
21
- url: string("Video URL", undefined, {
22
- description: "URL of the video to embed. It can be a YouTube link or an embed link.",
23
- }),
24
- background: optional(backgroundRef()),
25
- border: optional(borderRef),
26
- padding: optional(paddingRef),
27
- shadow: optional(shadowRef()),
28
- }),
29
- });
30
-
31
- export type Manifest = typeof manifest;
32
-
33
- export const examples: {
34
- description: string;
35
- type: string;
36
- props: BrickProps<Manifest>["brick"]["props"];
37
- }[] = [
38
- {
39
- description: "A YouTube video",
40
- type: "video",
41
- props: {
42
- url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
43
- },
44
- },
45
- {
46
- description: "An embedded YouTube video",
47
- type: "video",
48
- props: {
49
- url: "https://www.youtube.com/embed/dQw4w9WgXcQ",
50
- },
51
- },
52
- {
53
- description: "A Vimeo video",
54
- type: "video",
55
- props: {
56
- url: "https://vimeo.com/123456789",
57
- },
58
- },
59
- ];