@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,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as s}from"./chunk-CUCUHPQ7.js";import{c as n}from"./chunk-VBWC36L2.js";import{b as r}from"./chunk-OD2PRCLH.js";import{a as o,d as l}from"./chunk-YJTGZQEV.js";import{b as e,d as a,e as i}from"./chunk-BJSO43AS.js";import{RxButton as p}from"react-icons/rx";import{Type as t}from"@sinclair/typebox";var v=s({type:"button",name:"Button",repeatable:!0,description:"A button with text and optional icon",icon:p,props:a({variants:t.Array(t.Union([t.Literal("btn-neutral",{title:"Neutral","ai:variant-type":"color"}),t.Literal("btn-primary",{title:"Primary","ai:variant-type":"color"}),t.Literal("btn-secondary",{title:"Secondary","ai:variant-type":"color"}),t.Literal("btn-accent",{title:"Accent","ai:variant-type":"color"}),t.Literal("btn-info",{title:"Info","ai:variant-type":"color"}),t.Literal("btn-success",{title:"Success","ai:variant-type":"color"}),t.Literal("btn-warning",{title:"Warning","ai:variant-type":"color"}),t.Literal("btn-error",{title:"Error","ai:variant-type":"color"}),t.Literal("btn-outline",{title:"Outline","ai:variant-type":"style"}),t.Literal("btn-dash",{title:"Dash","ai:variant-type":"style"}),t.Literal("btn-soft",{title:"Soft","ai:variant-type":"style"}),t.Literal("btn-ghost",{title:"Ghost","ai:variant-type":"style"}),t.Literal("btn-link",{title:"Link","ai:variant-type":"style"}),t.Literal("btn-active",{title:"Active","ai:variant-type":"behavior"}),t.Literal("btn-disabled",{title:"Disabled","ai:variant-type":"behavior"}),t.Literal("btn-icon-left",{title:"Icon left","ai:variant-type":"icon"}),t.Literal("btn-icon-right",{title:"Icon right","ai:variant-type":"icon"}),t.Literal("btn-xs",{title:"Extra small","ai:variant-type":"size"}),t.Literal("btn-sm",{title:"Small","ai:variant-type":"size"}),t.Literal("btn-md",{title:"Medium","ai:variant-type":"size"}),t.Literal("btn-lg",{title:"Large","ai:variant-type":"size"}),t.Literal("btn-xl",{title:"Extra large","ai:variant-type":"size"}),t.Literal("btn-wide",{title:"Wide","ai:variant-type":"modifier"}),t.Literal("btn-block",{title:"Block","ai:variant-type":"modifier"}),t.Literal("btn-square",{title:"Square","ai:variant-type":"modifier"}),t.Literal("btn-circle",{title:"Circle","ai:variant-type":"modifier"})],{title:"Variant",description:"Button variants.","ai:tip":"Those are DaisyUI button variants"})),label:n({title:"Label",default:"My button"}),type:i(e({title:"Type",schema:r(["button","submit","reset"],{enumNames:["Button","Submit","Reset"],default:"button",description:"The type of the button","ai:instructions":"Use 'button' for regular buttons, 'submit' for form submission, and 'reset' to reset form fields."})})),icon:i(e({title:"Icon",description:"Icon to display (iconify reference)",schema:o("Icon",void 0,{description:"Icon to display (iconify reference)","ui:field":"iconify"})})),linkToUrlOrPageId:i(l({title:"Link"}))})}),L=[{description:"Primary button, large size, linking to a URL",type:"button",props:{variants:["btn-primary","btn-lg"],label:"Click me",linkToUrlOrPageId:"https://example.com"}},{description:"Secondary button, small size, linking to a page",type:"button",props:{variants:["btn-secondary","btn-sm"],label:"Go to page",linkToUrlOrPageId:"page-id-123"}},{description:"Disabled button with outline style",type:"button",props:{variants:["btn-outline","btn-disabled"],label:"Disabled Button"}},{description:"Ghost button",type:"button",props:{variants:["btn-ghost"],label:"Ghost Button",linkToUrlOrPageId:"https://example.com/ghost"}},{description:"Submit button in a form",type:"button",props:{variants:["btn-primary","btn-md"],label:"Submit form",type:"submit"}},{description:"Button with icon on the right",type:"button",props:{variants:["btn-primary","btn-md","btn-icon-right"],label:"Icon Button",icon:"mdi:check-circle"}}];export{v as a,L as b};
3
+ import{a as o,d as l}from"./chunk-YJTGZQEV.js";import{a as s}from"./chunk-CUCUHPQ7.js";import{c as n}from"./chunk-VBWC36L2.js";import{b as r}from"./chunk-OD2PRCLH.js";import{b as e,d as a,e as i}from"./chunk-BJSO43AS.js";import{RxButton as p}from"react-icons/rx";import{Type as t}from"@sinclair/typebox";var v=s({type:"button",name:"Button",repeatable:!0,description:"A button with text and optional icon",icon:p,props:a({variants:t.Array(t.Union([t.Literal("btn-neutral",{title:"Neutral","ai:variant-type":"color"}),t.Literal("btn-primary",{title:"Primary","ai:variant-type":"color"}),t.Literal("btn-secondary",{title:"Secondary","ai:variant-type":"color"}),t.Literal("btn-accent",{title:"Accent","ai:variant-type":"color"}),t.Literal("btn-info",{title:"Info","ai:variant-type":"color"}),t.Literal("btn-success",{title:"Success","ai:variant-type":"color"}),t.Literal("btn-warning",{title:"Warning","ai:variant-type":"color"}),t.Literal("btn-error",{title:"Error","ai:variant-type":"color"}),t.Literal("btn-outline",{title:"Outline","ai:variant-type":"style"}),t.Literal("btn-dash",{title:"Dash","ai:variant-type":"style"}),t.Literal("btn-soft",{title:"Soft","ai:variant-type":"style"}),t.Literal("btn-ghost",{title:"Ghost","ai:variant-type":"style"}),t.Literal("btn-link",{title:"Link","ai:variant-type":"style"}),t.Literal("btn-active",{title:"Active","ai:variant-type":"behavior"}),t.Literal("btn-disabled",{title:"Disabled","ai:variant-type":"behavior"}),t.Literal("btn-icon-left",{title:"Icon left","ai:variant-type":"icon"}),t.Literal("btn-icon-right",{title:"Icon right","ai:variant-type":"icon"}),t.Literal("btn-xs",{title:"Extra small","ai:variant-type":"size"}),t.Literal("btn-sm",{title:"Small","ai:variant-type":"size"}),t.Literal("btn-md",{title:"Medium","ai:variant-type":"size"}),t.Literal("btn-lg",{title:"Large","ai:variant-type":"size"}),t.Literal("btn-xl",{title:"Extra large","ai:variant-type":"size"}),t.Literal("btn-wide",{title:"Wide","ai:variant-type":"modifier"}),t.Literal("btn-block",{title:"Block","ai:variant-type":"modifier"}),t.Literal("btn-square",{title:"Square","ai:variant-type":"modifier"}),t.Literal("btn-circle",{title:"Circle","ai:variant-type":"modifier"})],{title:"Variant",description:"Button variants.","ai:tip":"Those are DaisyUI button variants"})),label:n({title:"Label",default:"My button"}),type:i(e({title:"Type",schema:r(["button","submit","reset"],{enumNames:["Button","Submit","Reset"],default:"button",description:"The type of the button","ai:instructions":"Use 'button' for regular buttons, 'submit' for form submission, and 'reset' to reset form fields."})})),icon:i(e({title:"Icon",description:"Icon to display (iconify reference)",schema:o("Icon",void 0,{description:"Icon to display (iconify reference)","ui:field":"iconify"})})),linkToUrlOrPageId:i(l({title:"Link"}))})}),L=[{description:"Primary button, large size, linking to a URL",type:"button",props:{variants:["btn-primary","btn-lg"],label:"Click me",linkToUrlOrPageId:"https://example.com"}},{description:"Secondary button, small size, linking to a page",type:"button",props:{variants:["btn-secondary","btn-sm"],label:"Go to page",linkToUrlOrPageId:"page-id-123"}},{description:"Disabled button with outline style",type:"button",props:{variants:["btn-outline","btn-disabled"],label:"Disabled Button"}},{description:"Ghost button",type:"button",props:{variants:["btn-ghost"],label:"Ghost Button",linkToUrlOrPageId:"https://example.com/ghost"}},{description:"Submit button in a form",type:"button",props:{variants:["btn-primary","btn-md"],label:"Submit form",type:"submit"}},{description:"Button with icon on the right",type:"button",props:{variants:["btn-primary","btn-md","btn-icon-right"],label:"Icon Button",icon:"mdi:check-circle"}}];export{v as a,L as b};
@@ -1,6 +1,6 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as d}from"./chunk-CUCUHPQ7.js";import{c as t}from"./chunk-VBWC36L2.js";import{b as s}from"./chunk-PK6UAFPW.js";import{b as p}from"./chunk-P5DZK4TS.js";import{b as n}from"./chunk-WEQRYCPD.js";import{b as a}from"./chunk-CAVNF3BU.js";import{b as i}from"./chunk-YZ5Y4WE6.js";import{b as o}from"./chunk-HYVQXAK5.js";import{d as r,e}from"./chunk-BJSO43AS.js";import{BsAlphabetUppercase as l}from"react-icons/bs";var P=d({type:"hero",name:"Hero",kind:"brick",description:"A big textual element for home pages",aiInstructions:`
3
+ import{b as i}from"./chunk-YZ5Y4WE6.js";import{b as s}from"./chunk-PK6UAFPW.js";import{b as n}from"./chunk-WEQRYCPD.js";import{b as a}from"./chunk-CAVNF3BU.js";import{b as p}from"./chunk-P5DZK4TS.js";import{b as o}from"./chunk-HYVQXAK5.js";import{a as d}from"./chunk-CUCUHPQ7.js";import{c as t}from"./chunk-VBWC36L2.js";import{d as r,e}from"./chunk-BJSO43AS.js";import{BsAlphabetUppercase as l}from"react-icons/bs";var P=d({type:"hero",name:"Hero",kind:"brick",description:"A big textual element for home pages",aiInstructions:`
4
4
  This hero element is a large text element that can be used to display a title and an optional tagline.
5
5
  It is typically used on home pages to grab the user's attention.
6
6
  `.trim(),icon:l,defaultHeight:{desktop:5,mobile:5},defaultWidth:{desktop:12,mobile:12},props:r({content:t({title:"Hero title",default:"I'm a big text"}),tagline:e(t({title:"Hero tagline",default:"I'm a tagline"})),background:e(o()),color:e(a()),shadow:e(s()),align:e(i()),padding:e(p),border:e(n)},{default:{padding:"p-4"}})}),A=[{description:"Simple welcome hero with blue background",type:"hero",props:{preset:"prominent-primary",content:"Welcome to Our Platform",tagline:"The future of productivity starts here",align:{horizontal:"justify-center"},padding:"p-8"}},{description:"Startup hero with gradient background",type:"hero",props:{preset:"prominent-secondary",content:"Build Something Amazing",tagline:"Turn your ideas into reality with our cutting-edge tools",align:{horizontal:"justify-center"},padding:"p-16"}},{description:"Construction company hero with bold presence",type:"hero",props:{preset:"prominent-primary",content:"Building Tomorrow Today",tagline:"Quality construction services for residential and commercial projects",padding:"p-16"}},{description:"Fashion brand hero with modern appeal",type:"hero",props:{preset:"prominent-accent",content:"Express Your Style",tagline:"Contemporary fashion that speaks to your individuality",align:{horizontal:"justify-center",vertical:"items-start"},padding:"p-16"}},{description:"Law firm hero with authoritative tone",type:"hero",props:{preset:"prominent-secondary",content:"Justice You Can Trust",tagline:"Experienced legal representation for individuals and businesses",padding:"p-8",border:{width:"border-2",color:"border-gray-800",rounding:"rounded-lg"}}},{description:"Photography studio hero with artistic flair",type:"hero",props:{preset:"surface-1",content:"Capturing Life's Moments",tagline:"Professional photography services for weddings, portraits, and events",border:{rounding:"rounded-lg"}}}];export{P as a,A as b};
@@ -1,6 +1,6 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{b as m}from"./chunk-U5XOIYSS.js";import{a as f}from"./chunk-CUCUHPQ7.js";import{a as d}from"./chunk-OUI2VDNM.js";import{b as s}from"./chunk-PK6UAFPW.js";import{b as a}from"./chunk-WEQRYCPD.js";import{a as n,d as p}from"./chunk-YJTGZQEV.js";import{d as t}from"./chunk-HYVQXAK5.js";import{a as i,b as o,d as r,e}from"./chunk-BJSO43AS.js";import{VscLayoutSidebarLeftOff as c}from"react-icons/vsc";import{Type as l}from"@sinclair/typebox";var C=f({type:"sidebar",kind:"widget",name:"Sidebar",description:"A sidebard element",aiInstructions:`
3
+ import{b as f}from"./chunk-U5XOIYSS.js";import{a as m}from"./chunk-OUI2VDNM.js";import{b as s}from"./chunk-PK6UAFPW.js";import{b as a}from"./chunk-WEQRYCPD.js";import{d as t}from"./chunk-HYVQXAK5.js";import{a as n,d as p}from"./chunk-YJTGZQEV.js";import{a as d}from"./chunk-CUCUHPQ7.js";import{a as i,b as o,d as r,e}from"./chunk-BJSO43AS.js";import{VscLayoutSidebarLeftOff as c}from"react-icons/vsc";import{Type as l}from"@sinclair/typebox";var C=d({type:"sidebar",kind:"widget",name:"Sidebar",description:"A sidebard element",aiInstructions:`
4
4
  This brick should be used on most sites/pages for navigation. By deault, it will display links
5
5
  to the main pages of the site. You can customize the links by using the 'navigation.navItems' prop.
6
- `.trim(),icon:c,props:r({container:e(i({title:"Main element",children:{backgroundColor:e(t()),border:e(a),shadow:e(s()),fixedPositioned:e(m())},metadata:{"ui:responsive":!0}})),navigation:e(i({title:"Links",children:{datasource:e(d()),navItems:e(o({title:"Nav items",schema:l.Array(l.Object({urlOrPageId:p(),label:e(n("Label"))}),{title:"Navigation items",default:[]})}))}}))})}),R=[{description:"Standard sidebar with navigation links base on site pages",type:"sidebar",props:{}},{description:"Sidebar with specified navigation links",type:"sidebar",props:{container:{backgroundColor:"#f0f0f0"},navigation:{navItems:[{urlOrPageId:"https://google.com",label:"Google"},{urlOrPageId:"https://bing.com",label:"Bing"}]}}}];export{C as a,R as b};
6
+ `.trim(),icon:c,props:r({container:e(i({title:"Main element",children:{backgroundColor:e(t()),border:e(a),shadow:e(s()),fixedPositioned:e(f())},metadata:{"ui:responsive":!0}})),navigation:e(i({title:"Links",children:{datasource:e(m()),navItems:e(o({title:"Nav items",schema:l.Array(l.Object({urlOrPageId:p(),label:e(n("Label"))}),{title:"Navigation items",default:[]})}))}}))})}),R=[{description:"Standard sidebar with navigation links base on site pages",type:"sidebar",props:{}},{description:"Sidebar with specified navigation links",type:"sidebar",props:{container:{backgroundColor:"#f0f0f0"},navigation:{navItems:[{urlOrPageId:"https://google.com",label:"Google"},{urlOrPageId:"https://bing.com",label:"Bing"}]}}}];export{C as a,R as b};
@@ -1,4 +1,4 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as p}from"./chunk-CUCUHPQ7.js";import{b as a}from"./chunk-P5DZK4TS.js";import{b as s}from"./chunk-CAVNF3BU.js";import{b as n}from"./chunk-OD2PRCLH.js";import{a as o}from"./chunk-YJTGZQEV.js";import{d as i}from"./chunk-HYVQXAK5.js";import{b as r,d as t,e}from"./chunk-BJSO43AS.js";import{FaWpforms as d}from"react-icons/fa6";var b=p({type:"form",kind:"widget",name:"Form",description:"A form element",aiInstructions:`The form brick automatically renders form fields based on the datarecord id provided in the props.
3
+ import{b as s}from"./chunk-CAVNF3BU.js";import{b as a}from"./chunk-P5DZK4TS.js";import{d as i}from"./chunk-HYVQXAK5.js";import{a as o}from"./chunk-YJTGZQEV.js";import{a as p}from"./chunk-CUCUHPQ7.js";import{b as n}from"./chunk-OD2PRCLH.js";import{b as r,d as t,e}from"./chunk-BJSO43AS.js";import{FaWpforms as d}from"react-icons/fa6";var b=p({type:"form",kind:"widget",name:"Form",description:"A form element",aiInstructions:`The form brick automatically renders form fields based on the datarecord id provided in the props.
4
4
  There is no need to define the form fields manually and the form does not accept any children`,isContainer:!1,icon:d,props:t({title:e(o("Title","My form",{description:"The title of the form"})),intro:e(o("Intro",void 0,{description:"The intro text of the form"})),datarecordId:o("Datarecord ID",void 0,{description:"The ID of the datarecord to use to generate the form fields"}),padding:e(a),backgroundColor:e(i()),color:e(s()),align:e(r({title:"Alignment",description:"The alignment of the form fields. Default is vertical",schema:n(["vertical","horizontal"],{default:"vertical",title:"Form alignment",description:"Choose between vertical or horizontal alignment for the form fields"})}))})}),v=[{description:"Basic contact form",type:"form",props:{title:"Contact Us",intro:"We'd love to hear from you. Send us a message and we'll respond as soon as possible.",align:"vertical",datarecordId:"contacts"}},{description:"User registration form",type:"form",props:{title:"Create Account",intro:"Join our platform and start your journey today.",align:"vertical",datarecordId:"user-registration"}},{description:"Newsletter subscription form (horizontal)",type:"form",props:{title:"Stay Updated",intro:"Subscribe to our newsletter for the latest updates and exclusive content.",align:"horizontal",datarecordId:"newsletter-subscription"}},{description:"Event registration form",type:"form",props:{title:"Conference Registration",intro:"Register for the Annual Tech Conference 2025. Early bird pricing ends soon!",align:"vertical",datarecordId:"event-registration"}},{description:"Job application form",type:"form",props:{title:"Apply for Position",intro:"We're excited to learn more about you! Please fill out this application form completely.",align:"vertical",datarecordId:"job-application"}},{description:"Customer feedback form",type:"form",props:{title:"Share Your Feedback",intro:"Your opinion matters to us. Help us improve our products and services.",align:"vertical",datarecordId:"customer-feedback"}}];export{b as a,v as b};
@@ -1,6 +1,6 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as f}from"./chunk-CUCUHPQ7.js";import{a as m,c as a}from"./chunk-VBWC36L2.js";import{b as u}from"./chunk-PK6UAFPW.js";import{b as p}from"./chunk-P5DZK4TS.js";import{b as c}from"./chunk-WEQRYCPD.js";import{b as d}from"./chunk-CAVNF3BU.js";import{b as l}from"./chunk-OD2PRCLH.js";import{a as i}from"./chunk-ATDJCXC2.js";import{d as r}from"./chunk-HYVQXAK5.js";import{a as t,b as o,d as s,e}from"./chunk-BJSO43AS.js";import{Type as n}from"@sinclair/typebox";import{TfiLayoutAccordionSeparated as y}from"react-icons/tfi";var R=f({type:"accordion",kind:"widget",name:"Accordion",description:"An accordion/collapse element for expandable content",aiInstructions:`
3
+ import{b as u}from"./chunk-PK6UAFPW.js";import{b as c}from"./chunk-WEQRYCPD.js";import{b as d}from"./chunk-CAVNF3BU.js";import{b as p}from"./chunk-P5DZK4TS.js";import{a as i}from"./chunk-ATDJCXC2.js";import{d as r}from"./chunk-HYVQXAK5.js";import{a as f}from"./chunk-CUCUHPQ7.js";import{a as m,c as a}from"./chunk-VBWC36L2.js";import{b as l}from"./chunk-OD2PRCLH.js";import{a as t,b as o,d as s,e}from"./chunk-BJSO43AS.js";import{Type as n}from"@sinclair/typebox";import{TfiLayoutAccordionSeparated as y}from"react-icons/tfi";var R=f({type:"accordion",kind:"widget",name:"Accordion",description:"An accordion/collapse element for expandable content",aiInstructions:`
4
4
  This accordion element displays content in collapsible panels.
5
5
  It is typically used for FAQ sections, organized documentation, or to save space.
6
6
  Each item has a title and expandable content area.
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as p}from"./chunk-CUCUHPQ7.js";import{b as t}from"./chunk-OD2PRCLH.js";import{a as n}from"./chunk-YJTGZQEV.js";import{d as e}from"./chunk-HYVQXAK5.js";import{b as o,d as r,e as i}from"./chunk-BJSO43AS.js";import{RxDividerHorizontal as d}from"react-icons/rx";var z=p({type:"divider",name:"Divider",kind:"brick",description:"A horizontal or vertical divider",repeatable:!0,icon:d,props:r({orientation:i(t(["horizontal","vertical"],{title:"Orientation"})),color:i(e({default:"bg-base-300",title:"Divider color"})),size:i(o({title:"Size",schema:n("Size","100%",{description:"Size of the divider","ai:instructions":"The size of the divider must be in % unit, like 50%"})}))},{default:{size:"100%",color:"bg-base-300"}})}),b=[{description:"Basic horizontal divider",type:"divider",props:{orientation:"horizontal",color:"bg-base-300",size:"100%"}},{description:"Accent colored divider for emphasis",type:"divider",props:{orientation:"horizontal",color:"bg-blue-500",size:"100%"}},{description:"Short horizontal divider for content breaks",type:"divider",props:{orientation:"horizontal",color:"bg-base-300",size:"50%"}},{description:"Thin vertical divider for compact layouts",type:"divider",props:{orientation:"vertical",color:"bg-gray-300",size:"75%"}},{description:"Bold primary colored section divider",type:"divider",props:{orientation:"horizontal",color:"bg-primary",size:"100%"}},{description:"Error colored divider for attention",type:"divider",props:{orientation:"horizontal",color:"bg-red-500",size:"100%"}},{description:"Full height vertical divider for panels",type:"divider",props:{orientation:"vertical",color:"bg-base-300",size:"100%"}},{description:"Secondary colored divider",type:"divider",props:{orientation:"horizontal",color:"bg-secondary",size:"100%"}}];export{z as a,b};
3
+ import{d as e}from"./chunk-HYVQXAK5.js";import{a as n}from"./chunk-YJTGZQEV.js";import{a as p}from"./chunk-CUCUHPQ7.js";import{b as t}from"./chunk-OD2PRCLH.js";import{b as o,d as r,e as i}from"./chunk-BJSO43AS.js";import{RxDividerHorizontal as d}from"react-icons/rx";var z=p({type:"divider",name:"Divider",kind:"brick",description:"A horizontal or vertical divider",repeatable:!0,icon:d,props:r({orientation:i(t(["horizontal","vertical"],{title:"Orientation"})),color:i(e({default:"bg-base-300",title:"Divider color"})),size:i(o({title:"Size",schema:n("Size","100%",{description:"Size of the divider","ai:instructions":"The size of the divider must be in % unit, like 50%"})}))},{default:{size:"100%",color:"bg-base-300"}})}),b=[{description:"Basic horizontal divider",type:"divider",props:{orientation:"horizontal",color:"bg-base-300",size:"100%"}},{description:"Accent colored divider for emphasis",type:"divider",props:{orientation:"horizontal",color:"bg-blue-500",size:"100%"}},{description:"Short horizontal divider for content breaks",type:"divider",props:{orientation:"horizontal",color:"bg-base-300",size:"50%"}},{description:"Thin vertical divider for compact layouts",type:"divider",props:{orientation:"vertical",color:"bg-gray-300",size:"75%"}},{description:"Bold primary colored section divider",type:"divider",props:{orientation:"horizontal",color:"bg-primary",size:"100%"}},{description:"Error colored divider for attention",type:"divider",props:{orientation:"horizontal",color:"bg-red-500",size:"100%"}},{description:"Full height vertical divider for panels",type:"divider",props:{orientation:"vertical",color:"bg-base-300",size:"100%"}},{description:"Secondary colored divider",type:"divider",props:{orientation:"horizontal",color:"bg-secondary",size:"100%"}}];export{z as a,b};
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as d}from"./chunk-CUCUHPQ7.js";import{a as t}from"./chunk-UL7L3HYV.js";import{b as n}from"./chunk-PK6UAFPW.js";import{b as a}from"./chunk-P5DZK4TS.js";import{b as e}from"./chunk-WEQRYCPD.js";import{a as s}from"./chunk-YJTGZQEV.js";import{d as p}from"./chunk-HYVQXAK5.js";import{b as r,d as i,e as o}from"./chunk-BJSO43AS.js";import{LiaMapMarkedAltSolid as c}from"react-icons/lia";import{Type as m}from"@sinclair/typebox";var T=d({type:"map",kind:"widget",name:"Map",description:"A map element showing a location",aiInstructions:"This brick can be used to show a location on a map. Use the 'location' prop to set the coordinates and an optional tooltip.",icon:c,props:i({location:r({title:"Location",description:"The location to display on the map",schema:m.Object({lat:t("Latitude"),lng:t("Longitude"),tooltip:o(s("Tooltip"))})}),backgroundColor:o(p()),border:o(e),padding:o(a),shadow:o(n())})}),A=[{description:"Map showing a specific location",type:"map",props:{location:{lat:37.7749,lng:-122.4194,tooltip:"San Francisco, CA"}}},{description:"Map with custom styles",type:"map",props:{location:{lat:40.7128,lng:-74.006,tooltip:"New York, NY"},backgroundColor:"bg-gray-100",border:{color:"border-gray-300",width:"border"},padding:"p-16",shadow:"shadow-lg"}}];export{T as a,A as b};
3
+ import{a as t}from"./chunk-UL7L3HYV.js";import{b as n}from"./chunk-PK6UAFPW.js";import{b as e}from"./chunk-WEQRYCPD.js";import{b as a}from"./chunk-P5DZK4TS.js";import{d as p}from"./chunk-HYVQXAK5.js";import{a as s}from"./chunk-YJTGZQEV.js";import{a as d}from"./chunk-CUCUHPQ7.js";import{b as r,d as i,e as o}from"./chunk-BJSO43AS.js";import{LiaMapMarkedAltSolid as c}from"react-icons/lia";import{Type as m}from"@sinclair/typebox";var T=d({type:"map",kind:"widget",name:"Map",description:"A map element showing a location",aiInstructions:"This brick can be used to show a location on a map. Use the 'location' prop to set the coordinates and an optional tooltip.",icon:c,props:i({location:r({title:"Location",description:"The location to display on the map",schema:m.Object({lat:t("Latitude"),lng:t("Longitude"),tooltip:o(s("Tooltip"))})}),backgroundColor:o(p()),border:o(e),padding:o(a),shadow:o(n())})}),A=[{description:"Map showing a specific location",type:"map",props:{location:{lat:37.7749,lng:-122.4194,tooltip:"San Francisco, CA"}}},{description:"Map with custom styles",type:"map",props:{location:{lat:40.7128,lng:-74.006,tooltip:"New York, NY"},backgroundColor:"bg-gray-100",border:{color:"border-gray-300",width:"border"},padding:"p-16",shadow:"shadow-lg"}}];export{T as a,A as b};
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as c}from"./chunk-CUCUHPQ7.js";import{a as i}from"./chunk-UL7L3HYV.js";import{b as s}from"./chunk-VTFWVTPI.js";import{a as l,d as u}from"./chunk-YJTGZQEV.js";import{d as n}from"./chunk-HYVQXAK5.js";import{d as r,e,f as o}from"./chunk-BJSO43AS.js";import{Type as t}from"@sinclair/typebox";import{VscLayoutPanelOff as a}from"react-icons/vsc";var S=c({type:"footer",kind:"widget",name:"Footer",description:"A footer with links and an optional logo",icon:a,props:r({variants:t.Array(t.Union([t.Literal("logo-left",{title:"Logo on the left",description:"Logo on the left"}),t.Literal("logo-right",{title:"Logo on the right",description:"Logo on the right"}),t.Literal("logo-center",{title:"Logo on the center",description:"Logo at center"}),t.Literal("multiple-rows",{title:"Span on multiple rows.",description:"Span on multiple rows. Use when there a a lot of links sections"})],{title:"Variant",description:"Footer variants."})),backgroundColor:e(n()),logo:e(s({title:"Logo"})),linksSections:o(t.Object({sectionTitle:l("Links Section title"),row:e(i("Row",0,{description:"Row number of the section"})),links:o(t.Object({title:l("Title"),url:u(),column:e(i("Column",1))}))}))})}),w=[{description:"Simple footer with logo on the left",type:"footer",props:{variants:["logo-left"],backgroundColor:"#f8f9fa",logo:{src:"https://via.placeholder.com/120x40.png?text=Logo",alt:"Company logo"},linksSections:[{sectionTitle:"Quick Links",links:[{title:"Home",url:"/"},{title:"About",url:"/about"},{title:"Contact",url:"/contact"}]},{sectionTitle:"Legal",links:[{title:"Privacy Policy",url:"/privacy"},{title:"Terms of Service",url:"/terms"}]}]}},{description:"Corporate footer with centered logo",type:"footer",props:{variants:["logo-center"],backgroundColor:"#2c3e50",logo:{src:"https://via.placeholder.com/150x50.png?text=Corporate",alt:"Corporate logo"},linksSections:[{sectionTitle:"Products",links:[{title:"Software Solutions",url:"/products/software"},{title:"Consulting",url:"/products/consulting"},{title:"Support",url:"/products/support"},{title:"Training",url:"/products/training"}]},{sectionTitle:"Company",links:[{title:"About Us",url:"/about"},{title:"Careers",url:"/careers"},{title:"News",url:"/news"},{title:"Investors",url:"/investors"}]},{sectionTitle:"Resources",links:[{title:"Documentation",url:"/docs"},{title:"API Reference",url:"/api"},{title:"Community",url:"/community"},{title:"Blog",url:"/blog"}]}]}},{description:"E-commerce footer with logo on the right",type:"footer",props:{variants:["logo-right"],backgroundColor:"#ffffff",logo:{src:"https://via.placeholder.com/140x45.png?text=Shop",alt:"Shop logo"},linksSections:[{sectionTitle:"Shop",links:[{title:"All Products",url:"/products"},{title:"New Arrivals",url:"/new"},{title:"Sale",url:"/sale"},{title:"Gift Cards",url:"/gift-cards"}]},{sectionTitle:"Customer Service",links:[{title:"Help Center",url:"/help"},{title:"Returns",url:"/returns"},{title:"Shipping Info",url:"/shipping"},{title:"Size Guide",url:"/size-guide"}]},{sectionTitle:"Account",links:[{title:"My Account",url:"/account"},{title:"Order History",url:"/orders"},{title:"Wishlist",url:"/wishlist"}]}]}},{description:"Large organization footer with multiple rows",type:"footer",props:{variants:["logo-center","multiple-rows"],backgroundColor:"#1a1a1a",logo:{src:"https://via.placeholder.com/180x60.png?text=Enterprise",alt:"Enterprise logo"},linksSections:[{sectionTitle:"Products & Services",row:0,links:[{title:"Cloud Solutions",url:"/cloud",column:1},{title:"Data Analytics",url:"/analytics",column:1},{title:"AI & Machine Learning",url:"/ai",column:1},{title:"Cybersecurity",url:"/security",column:2},{title:"DevOps Tools",url:"/devops",column:2},{title:"IoT Platform",url:"/iot",column:2}]},{sectionTitle:"Industries",row:0,links:[{title:"Healthcare",url:"/industries/healthcare",column:3},{title:"Finance",url:"/industries/finance",column:3},{title:"Retail",url:"/industries/retail",column:3},{title:"Manufacturing",url:"/industries/manufacturing",column:4},{title:"Education",url:"/industries/education",column:4},{title:"Government",url:"/industries/government",column:4}]},{sectionTitle:"Resources",row:1,links:[{title:"Documentation",url:"/docs",column:1},{title:"API Reference",url:"/api",column:1},{title:"Tutorials",url:"/tutorials",column:1},{title:"Webinars",url:"/webinars",column:2},{title:"White Papers",url:"/whitepapers",column:2},{title:"Case Studies",url:"/case-studies",column:2}]},{sectionTitle:"Support & Community",row:1,links:[{title:"Help Center",url:"/help",column:3},{title:"Community Forum",url:"/forum",column:3},{title:"Contact Support",url:"/support",column:3},{title:"Service Status",url:"/status",column:4},{title:"Partner Portal",url:"/partners",column:4},{title:"Developer Hub",url:"/developers",column:4}]}]}},{description:"Startup footer with minimal links and left logo",type:"footer",props:{variants:["logo-left"],backgroundColor:"#f5f5f5",logo:{src:"https://via.placeholder.com/100x35.png?text=Startup",alt:"Startup logo"},linksSections:[{sectionTitle:"Company",links:[{title:"About",url:"/about"},{title:"Team",url:"/team"},{title:"Jobs",url:"/jobs"}]},{sectionTitle:"Product",links:[{title:"Features",url:"/features"},{title:"Pricing",url:"/pricing"},{title:"Demo",url:"/demo"}]},{sectionTitle:"Support",links:[{title:"Help",url:"/help"},{title:"Contact",url:"/contact"}]}]}},{description:"Agency footer with centered logo and creative sections",type:"footer",props:{variants:["logo-center"],backgroundColor:"#6366f1",logo:{src:"https://via.placeholder.com/130x45.png?text=Agency",alt:"Creative agency logo"},linksSections:[{sectionTitle:"Services",links:[{title:"Web Design",url:"/services/web-design"},{title:"Branding",url:"/services/branding"},{title:"Digital Marketing",url:"/services/marketing"},{title:"Photography",url:"/services/photography"}]},{sectionTitle:"Portfolio",links:[{title:"Recent Work",url:"/portfolio"},{title:"Case Studies",url:"/case-studies"},{title:"Client Reviews",url:"/reviews"}]},{sectionTitle:"Connect",links:[{title:"Contact Us",url:"/contact"},{title:"Get Quote",url:"/quote"},{title:"Newsletter",url:"/newsletter"}]}]}},{description:"SaaS platform footer with comprehensive links",type:"footer",props:{variants:["logo-left","multiple-rows"],backgroundColor:"#0f172a",logo:{src:"https://via.placeholder.com/160x50.png?text=SaaS+Platform",alt:"SaaS platform logo"},linksSections:[{sectionTitle:"Platform",row:0,links:[{title:"Dashboard",url:"/dashboard",column:1},{title:"Analytics",url:"/analytics",column:1},{title:"Integrations",url:"/integrations",column:1},{title:"API",url:"/api",column:1}]},{sectionTitle:"Solutions",row:0,links:[{title:"For Startups",url:"/solutions/startups",column:2},{title:"For Enterprise",url:"/solutions/enterprise",column:2},{title:"For Agencies",url:"/solutions/agencies",column:2},{title:"For Developers",url:"/solutions/developers",column:2}]},{sectionTitle:"Resources",row:1,links:[{title:"Blog",url:"/blog",column:1},{title:"Documentation",url:"/docs",column:1},{title:"Help Center",url:"/help",column:1},{title:"Community",url:"/community",column:1}]},{sectionTitle:"Company",row:1,links:[{title:"About Us",url:"/about",column:2},{title:"Careers",url:"/careers",column:2},{title:"Press",url:"/press",column:2},{title:"Legal",url:"/legal",column:2}]}]}},{description:"Non-profit footer with mission-focused links",type:"footer",props:{variants:["logo-center"],backgroundColor:"#059669",logo:{src:"https://via.placeholder.com/140x50.png?text=Non+Profit",alt:"Non-profit organization logo"},linksSections:[{sectionTitle:"Our Work",links:[{title:"Programs",url:"/programs"},{title:"Impact",url:"/impact"},{title:"Success Stories",url:"/stories"},{title:"Research",url:"/research"}]},{sectionTitle:"Get Involved",links:[{title:"Donate",url:"/donate"},{title:"Volunteer",url:"/volunteer"},{title:"Events",url:"/events"},{title:"Partner with Us",url:"/partnerships"}]},{sectionTitle:"About",links:[{title:"Our Mission",url:"/mission"},{title:"Leadership",url:"/leadership"},{title:"Annual Reports",url:"/reports"},{title:"Contact",url:"/contact"}]}]}},{description:"Tech blog footer with right-aligned logo",type:"footer",props:{variants:["logo-right"],backgroundColor:"#111827",logo:{src:"https://via.placeholder.com/120x40.png?text=Tech+Blog",alt:"Tech blog logo"},linksSections:[{sectionTitle:"Categories",links:[{title:"Web Development",url:"/category/web-dev"},{title:"AI & ML",url:"/category/ai-ml"},{title:"DevOps",url:"/category/devops"},{title:"Mobile",url:"/category/mobile"}]},{sectionTitle:"Popular",links:[{title:"Latest Posts",url:"/latest"},{title:"Trending",url:"/trending"},{title:"Best of 2024",url:"/best-2024"},{title:"Tutorials",url:"/tutorials"}]},{sectionTitle:"Community",links:[{title:"Newsletter",url:"/newsletter"},{title:"Discord",url:"/discord"},{title:"Contributors",url:"/contributors"},{title:"Write for Us",url:"/write"}]}]}},{description:"Restaurant footer with location and menu links",type:"footer",props:{variants:["logo-center"],backgroundColor:"#7c2d12",logo:{src:"https://via.placeholder.com/150x60.png?text=Restaurant",alt:"Restaurant logo"},linksSections:[{sectionTitle:"Menu",links:[{title:"Appetizers",url:"/menu/appetizers"},{title:"Main Courses",url:"/menu/mains"},{title:"Desserts",url:"/menu/desserts"},{title:"Beverages",url:"/menu/drinks"}]},{sectionTitle:"Services",links:[{title:"Reservations",url:"/reservations"},{title:"Catering",url:"/catering"},{title:"Private Events",url:"/events"},{title:"Gift Cards",url:"/gift-cards"}]},{sectionTitle:"Info",links:[{title:"About Us",url:"/about"},{title:"Location",url:"/location"},{title:"Hours",url:"/hours"},{title:"Contact",url:"/contact"}]}]}}];export{S as a,w as b};
3
+ import{a as i}from"./chunk-UL7L3HYV.js";import{b as s}from"./chunk-VTFWVTPI.js";import{d as n}from"./chunk-HYVQXAK5.js";import{a as l,d as u}from"./chunk-YJTGZQEV.js";import{a as c}from"./chunk-CUCUHPQ7.js";import{d as r,e,f as o}from"./chunk-BJSO43AS.js";import{Type as t}from"@sinclair/typebox";import{VscLayoutPanelOff as a}from"react-icons/vsc";var S=c({type:"footer",kind:"widget",name:"Footer",description:"A footer with links and an optional logo",icon:a,props:r({variants:t.Array(t.Union([t.Literal("logo-left",{title:"Logo on the left",description:"Logo on the left"}),t.Literal("logo-right",{title:"Logo on the right",description:"Logo on the right"}),t.Literal("logo-center",{title:"Logo on the center",description:"Logo at center"}),t.Literal("multiple-rows",{title:"Span on multiple rows.",description:"Span on multiple rows. Use when there a a lot of links sections"})],{title:"Variant",description:"Footer variants."})),backgroundColor:e(n()),logo:e(s({title:"Logo"})),linksSections:o(t.Object({sectionTitle:l("Links Section title"),row:e(i("Row",0,{description:"Row number of the section"})),links:o(t.Object({title:l("Title"),url:u(),column:e(i("Column",1))}))}))})}),w=[{description:"Simple footer with logo on the left",type:"footer",props:{variants:["logo-left"],backgroundColor:"#f8f9fa",logo:{src:"https://via.placeholder.com/120x40.png?text=Logo",alt:"Company logo"},linksSections:[{sectionTitle:"Quick Links",links:[{title:"Home",url:"/"},{title:"About",url:"/about"},{title:"Contact",url:"/contact"}]},{sectionTitle:"Legal",links:[{title:"Privacy Policy",url:"/privacy"},{title:"Terms of Service",url:"/terms"}]}]}},{description:"Corporate footer with centered logo",type:"footer",props:{variants:["logo-center"],backgroundColor:"#2c3e50",logo:{src:"https://via.placeholder.com/150x50.png?text=Corporate",alt:"Corporate logo"},linksSections:[{sectionTitle:"Products",links:[{title:"Software Solutions",url:"/products/software"},{title:"Consulting",url:"/products/consulting"},{title:"Support",url:"/products/support"},{title:"Training",url:"/products/training"}]},{sectionTitle:"Company",links:[{title:"About Us",url:"/about"},{title:"Careers",url:"/careers"},{title:"News",url:"/news"},{title:"Investors",url:"/investors"}]},{sectionTitle:"Resources",links:[{title:"Documentation",url:"/docs"},{title:"API Reference",url:"/api"},{title:"Community",url:"/community"},{title:"Blog",url:"/blog"}]}]}},{description:"E-commerce footer with logo on the right",type:"footer",props:{variants:["logo-right"],backgroundColor:"#ffffff",logo:{src:"https://via.placeholder.com/140x45.png?text=Shop",alt:"Shop logo"},linksSections:[{sectionTitle:"Shop",links:[{title:"All Products",url:"/products"},{title:"New Arrivals",url:"/new"},{title:"Sale",url:"/sale"},{title:"Gift Cards",url:"/gift-cards"}]},{sectionTitle:"Customer Service",links:[{title:"Help Center",url:"/help"},{title:"Returns",url:"/returns"},{title:"Shipping Info",url:"/shipping"},{title:"Size Guide",url:"/size-guide"}]},{sectionTitle:"Account",links:[{title:"My Account",url:"/account"},{title:"Order History",url:"/orders"},{title:"Wishlist",url:"/wishlist"}]}]}},{description:"Large organization footer with multiple rows",type:"footer",props:{variants:["logo-center","multiple-rows"],backgroundColor:"#1a1a1a",logo:{src:"https://via.placeholder.com/180x60.png?text=Enterprise",alt:"Enterprise logo"},linksSections:[{sectionTitle:"Products & Services",row:0,links:[{title:"Cloud Solutions",url:"/cloud",column:1},{title:"Data Analytics",url:"/analytics",column:1},{title:"AI & Machine Learning",url:"/ai",column:1},{title:"Cybersecurity",url:"/security",column:2},{title:"DevOps Tools",url:"/devops",column:2},{title:"IoT Platform",url:"/iot",column:2}]},{sectionTitle:"Industries",row:0,links:[{title:"Healthcare",url:"/industries/healthcare",column:3},{title:"Finance",url:"/industries/finance",column:3},{title:"Retail",url:"/industries/retail",column:3},{title:"Manufacturing",url:"/industries/manufacturing",column:4},{title:"Education",url:"/industries/education",column:4},{title:"Government",url:"/industries/government",column:4}]},{sectionTitle:"Resources",row:1,links:[{title:"Documentation",url:"/docs",column:1},{title:"API Reference",url:"/api",column:1},{title:"Tutorials",url:"/tutorials",column:1},{title:"Webinars",url:"/webinars",column:2},{title:"White Papers",url:"/whitepapers",column:2},{title:"Case Studies",url:"/case-studies",column:2}]},{sectionTitle:"Support & Community",row:1,links:[{title:"Help Center",url:"/help",column:3},{title:"Community Forum",url:"/forum",column:3},{title:"Contact Support",url:"/support",column:3},{title:"Service Status",url:"/status",column:4},{title:"Partner Portal",url:"/partners",column:4},{title:"Developer Hub",url:"/developers",column:4}]}]}},{description:"Startup footer with minimal links and left logo",type:"footer",props:{variants:["logo-left"],backgroundColor:"#f5f5f5",logo:{src:"https://via.placeholder.com/100x35.png?text=Startup",alt:"Startup logo"},linksSections:[{sectionTitle:"Company",links:[{title:"About",url:"/about"},{title:"Team",url:"/team"},{title:"Jobs",url:"/jobs"}]},{sectionTitle:"Product",links:[{title:"Features",url:"/features"},{title:"Pricing",url:"/pricing"},{title:"Demo",url:"/demo"}]},{sectionTitle:"Support",links:[{title:"Help",url:"/help"},{title:"Contact",url:"/contact"}]}]}},{description:"Agency footer with centered logo and creative sections",type:"footer",props:{variants:["logo-center"],backgroundColor:"#6366f1",logo:{src:"https://via.placeholder.com/130x45.png?text=Agency",alt:"Creative agency logo"},linksSections:[{sectionTitle:"Services",links:[{title:"Web Design",url:"/services/web-design"},{title:"Branding",url:"/services/branding"},{title:"Digital Marketing",url:"/services/marketing"},{title:"Photography",url:"/services/photography"}]},{sectionTitle:"Portfolio",links:[{title:"Recent Work",url:"/portfolio"},{title:"Case Studies",url:"/case-studies"},{title:"Client Reviews",url:"/reviews"}]},{sectionTitle:"Connect",links:[{title:"Contact Us",url:"/contact"},{title:"Get Quote",url:"/quote"},{title:"Newsletter",url:"/newsletter"}]}]}},{description:"SaaS platform footer with comprehensive links",type:"footer",props:{variants:["logo-left","multiple-rows"],backgroundColor:"#0f172a",logo:{src:"https://via.placeholder.com/160x50.png?text=SaaS+Platform",alt:"SaaS platform logo"},linksSections:[{sectionTitle:"Platform",row:0,links:[{title:"Dashboard",url:"/dashboard",column:1},{title:"Analytics",url:"/analytics",column:1},{title:"Integrations",url:"/integrations",column:1},{title:"API",url:"/api",column:1}]},{sectionTitle:"Solutions",row:0,links:[{title:"For Startups",url:"/solutions/startups",column:2},{title:"For Enterprise",url:"/solutions/enterprise",column:2},{title:"For Agencies",url:"/solutions/agencies",column:2},{title:"For Developers",url:"/solutions/developers",column:2}]},{sectionTitle:"Resources",row:1,links:[{title:"Blog",url:"/blog",column:1},{title:"Documentation",url:"/docs",column:1},{title:"Help Center",url:"/help",column:1},{title:"Community",url:"/community",column:1}]},{sectionTitle:"Company",row:1,links:[{title:"About Us",url:"/about",column:2},{title:"Careers",url:"/careers",column:2},{title:"Press",url:"/press",column:2},{title:"Legal",url:"/legal",column:2}]}]}},{description:"Non-profit footer with mission-focused links",type:"footer",props:{variants:["logo-center"],backgroundColor:"#059669",logo:{src:"https://via.placeholder.com/140x50.png?text=Non+Profit",alt:"Non-profit organization logo"},linksSections:[{sectionTitle:"Our Work",links:[{title:"Programs",url:"/programs"},{title:"Impact",url:"/impact"},{title:"Success Stories",url:"/stories"},{title:"Research",url:"/research"}]},{sectionTitle:"Get Involved",links:[{title:"Donate",url:"/donate"},{title:"Volunteer",url:"/volunteer"},{title:"Events",url:"/events"},{title:"Partner with Us",url:"/partnerships"}]},{sectionTitle:"About",links:[{title:"Our Mission",url:"/mission"},{title:"Leadership",url:"/leadership"},{title:"Annual Reports",url:"/reports"},{title:"Contact",url:"/contact"}]}]}},{description:"Tech blog footer with right-aligned logo",type:"footer",props:{variants:["logo-right"],backgroundColor:"#111827",logo:{src:"https://via.placeholder.com/120x40.png?text=Tech+Blog",alt:"Tech blog logo"},linksSections:[{sectionTitle:"Categories",links:[{title:"Web Development",url:"/category/web-dev"},{title:"AI & ML",url:"/category/ai-ml"},{title:"DevOps",url:"/category/devops"},{title:"Mobile",url:"/category/mobile"}]},{sectionTitle:"Popular",links:[{title:"Latest Posts",url:"/latest"},{title:"Trending",url:"/trending"},{title:"Best of 2024",url:"/best-2024"},{title:"Tutorials",url:"/tutorials"}]},{sectionTitle:"Community",links:[{title:"Newsletter",url:"/newsletter"},{title:"Discord",url:"/discord"},{title:"Contributors",url:"/contributors"},{title:"Write for Us",url:"/write"}]}]}},{description:"Restaurant footer with location and menu links",type:"footer",props:{variants:["logo-center"],backgroundColor:"#7c2d12",logo:{src:"https://via.placeholder.com/150x60.png?text=Restaurant",alt:"Restaurant logo"},linksSections:[{sectionTitle:"Menu",links:[{title:"Appetizers",url:"/menu/appetizers"},{title:"Main Courses",url:"/menu/mains"},{title:"Desserts",url:"/menu/desserts"},{title:"Beverages",url:"/menu/drinks"}]},{sectionTitle:"Services",links:[{title:"Reservations",url:"/reservations"},{title:"Catering",url:"/catering"},{title:"Private Events",url:"/events"},{title:"Gift Cards",url:"/gift-cards"}]},{sectionTitle:"Info",links:[{title:"About Us",url:"/about"},{title:"Location",url:"/location"},{title:"Hours",url:"/hours"},{title:"Contact",url:"/contact"}]}]}}];export{S as a,w as b};
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as s}from"./chunk-CUCUHPQ7.js";import{b as d}from"./chunk-PK6UAFPW.js";import{b as p}from"./chunk-VTFWVTPI.js";import{b as a}from"./chunk-P5DZK4TS.js";import{b as i}from"./chunk-WEQRYCPD.js";import{a as o}from"./chunk-YJTGZQEV.js";import{d as t}from"./chunk-HYVQXAK5.js";import{d as r,e}from"./chunk-BJSO43AS.js";import{RxImage as n}from"react-icons/rx";import{Type as m}from"@sinclair/typebox";var y=s({type:"image",kind:"brick",name:"Image",description:"An image brick",repeatable:!0,defaultHeight:{desktop:8,mobile:8},defaultWidth:{desktop:3,mobile:3},icon:n,props:r({image:p(),backgroundColor:e(t()),border:e(i),padding:e(a),shadow:e(d()),blurHash:e(o("Blur Hash",void 0,{"ui:fied":"hidden",description:"A placeholder for the image while it is loading. Use a blur hash string."})),author:e(m.Object({name:o("Image Author",void 0,{"ui:field":"hidden",description:"Image author. Use this to give credit to the author"}),url:o("Image Author URL",void 0,{"ui:field":"hidden",description:"Image author URL. Use this to give credit to the author"})})),provider:e(o("Image Provider",void 0,{"ui:field":"hidden",description:"Image provider. Use this to give credit to the author","ai:instructions":"The provider of the image, e.g. 'unsplash', 'pexels', etc."}))})}),k=[{description:"Hero landscape image with shadow",type:"image",props:{image:{src:"https://via.placeholder.com/800x400.png?text=Hero+Landscape",alt:"Beautiful landscape view for hero section"},shadow:"shadow-lg"}},{description:"Team member profile photo",type:"image",props:{image:{src:"https://via.placeholder.com/300x300.png?text=Profile+Photo",alt:"Team member profile photo"},shadow:"shadow-md",border:{rounding:"rounded-full"}}},{description:"Product showcase image",type:"image",props:{image:{src:"https://via.placeholder.com/400x400.png?text=Product+Image",alt:"Premium product showcase"},shadow:"shadow-sm"}},{description:"Blog article featured image",type:"image",props:{image:{src:"https://via.placeholder.com/600x300.png?text=Article+Featured",alt:"Featured image for blog article"},author:{name:"John Photographer",url:"https://example.com/john"},provider:"unsplash"}},{description:"Gallery thumbnail with hover effect",type:"image",props:{image:{src:"https://via.placeholder.com/250x250.png?text=Gallery+Thumb",alt:"Gallery thumbnail image"},shadow:"shadow-md"}},{description:"Logo image with padding",type:"image",props:{image:{src:"https://via.placeholder.com/200x80.png?text=Company+Logo",alt:"Company logo"},padding:"p-8"}},{description:"Testimonial customer photo",type:"image",props:{image:{src:"https://via.placeholder.com/120x120.png?text=Customer",alt:"Happy customer testimonial photo"},border:{rounding:"rounded-xl"},shadow:"shadow-lg",padding:"p-2",backgroundColor:"#ffffff"}},{description:"Event banner image",type:"image",props:{image:{src:"https://via.placeholder.com/800x200.png?text=Event+Banner",alt:"Annual conference event banner"},border:{rounding:"rounded-lg"},shadow:"shadow-xl",author:{name:"Event Photographer",url:"https://example.com/photographer"},provider:"pexels"}},{description:"Illustration with background",type:"image",props:{image:{src:"https://via.placeholder.com/150x150.png?text=Blabla+Feature",alt:"Feature illustration"},backgroundColor:"#f0f9ff",padding:"p-8",border:{rounding:"rounded-lg"},shadow:"shadow-sm"}},{description:"Image with blurHash",type:"image",props:{image:{src:"https://via.placeholder.com/300x200.png?text=Card+Image",alt:"My image"},border:{rounding:"rounded-lg"},shadow:"shadow-md",blurHash:"L6PZfSi_.AyE_3t7t7R**0o#DgR4"}}];export{y as a,k as b};
3
+ import{b as p}from"./chunk-VTFWVTPI.js";import{b as d}from"./chunk-PK6UAFPW.js";import{b as i}from"./chunk-WEQRYCPD.js";import{b as a}from"./chunk-P5DZK4TS.js";import{d as t}from"./chunk-HYVQXAK5.js";import{a as o}from"./chunk-YJTGZQEV.js";import{a as s}from"./chunk-CUCUHPQ7.js";import{d as r,e}from"./chunk-BJSO43AS.js";import{RxImage as n}from"react-icons/rx";import{Type as m}from"@sinclair/typebox";var y=s({type:"image",kind:"brick",name:"Image",description:"An image brick",repeatable:!0,defaultHeight:{desktop:8,mobile:8},defaultWidth:{desktop:3,mobile:3},icon:n,props:r({image:p(),backgroundColor:e(t()),border:e(i),padding:e(a),shadow:e(d()),blurHash:e(o("Blur Hash",void 0,{"ui:fied":"hidden",description:"A placeholder for the image while it is loading. Use a blur hash string."})),author:e(m.Object({name:o("Image Author",void 0,{"ui:field":"hidden",description:"Image author. Use this to give credit to the author"}),url:o("Image Author URL",void 0,{"ui:field":"hidden",description:"Image author URL. Use this to give credit to the author"})})),provider:e(o("Image Provider",void 0,{"ui:field":"hidden",description:"Image provider. Use this to give credit to the author","ai:instructions":"The provider of the image, e.g. 'unsplash', 'pexels', etc."}))})}),k=[{description:"Hero landscape image with shadow",type:"image",props:{image:{src:"https://via.placeholder.com/800x400.png?text=Hero+Landscape",alt:"Beautiful landscape view for hero section"},shadow:"shadow-lg"}},{description:"Team member profile photo",type:"image",props:{image:{src:"https://via.placeholder.com/300x300.png?text=Profile+Photo",alt:"Team member profile photo"},shadow:"shadow-md",border:{rounding:"rounded-full"}}},{description:"Product showcase image",type:"image",props:{image:{src:"https://via.placeholder.com/400x400.png?text=Product+Image",alt:"Premium product showcase"},shadow:"shadow-sm"}},{description:"Blog article featured image",type:"image",props:{image:{src:"https://via.placeholder.com/600x300.png?text=Article+Featured",alt:"Featured image for blog article"},author:{name:"John Photographer",url:"https://example.com/john"},provider:"unsplash"}},{description:"Gallery thumbnail with hover effect",type:"image",props:{image:{src:"https://via.placeholder.com/250x250.png?text=Gallery+Thumb",alt:"Gallery thumbnail image"},shadow:"shadow-md"}},{description:"Logo image with padding",type:"image",props:{image:{src:"https://via.placeholder.com/200x80.png?text=Company+Logo",alt:"Company logo"},padding:"p-8"}},{description:"Testimonial customer photo",type:"image",props:{image:{src:"https://via.placeholder.com/120x120.png?text=Customer",alt:"Happy customer testimonial photo"},border:{rounding:"rounded-xl"},shadow:"shadow-lg",padding:"p-2",backgroundColor:"#ffffff"}},{description:"Event banner image",type:"image",props:{image:{src:"https://via.placeholder.com/800x200.png?text=Event+Banner",alt:"Annual conference event banner"},border:{rounding:"rounded-lg"},shadow:"shadow-xl",author:{name:"Event Photographer",url:"https://example.com/photographer"},provider:"pexels"}},{description:"Illustration with background",type:"image",props:{image:{src:"https://via.placeholder.com/150x150.png?text=Blabla+Feature",alt:"Feature illustration"},backgroundColor:"#f0f9ff",padding:"p-8",border:{rounding:"rounded-lg"},shadow:"shadow-sm"}},{description:"Image with blurHash",type:"image",props:{image:{src:"https://via.placeholder.com/300x200.png?text=Card+Image",alt:"My image"},border:{rounding:"rounded-lg"},shadow:"shadow-md",blurHash:"L6PZfSi_.AyE_3t7t7R**0o#DgR4"}}];export{y as a,k as b};
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as p}from"./chunk-CUCUHPQ7.js";import{c as n}from"./chunk-VBWC36L2.js";import{b as d}from"./chunk-VTFWVTPI.js";import{b as i}from"./chunk-P5DZK4TS.js";import{d as r}from"./chunk-HYVQXAK5.js";import{a,d as o,e as t}from"./chunk-BJSO43AS.js";import{BsCardText as c}from"react-icons/bs";import{Type as e}from"@sinclair/typebox";var k=p({type:"card",name:"Card",description:"A multi-purpose card that can have a title, subtitle, image, and content",repeatable:!0,icon:c,props:o({variants:e.Array(e.Union([e.Literal("image-first",{title:"Image First"}),e.Literal("image-last",{title:"Image Last"}),e.Literal("image-overlay",{title:"Image Overlay"}),e.Literal("image-left-side",{title:"Image Left Side"}),e.Literal("image-right-side",{title:"Image Right Side"}),e.Literal("centered",{title:"Centered"}),e.Literal("large-padding",{title:"Large padding"})],{title:"Variant"})),cardTitle:t(a({title:"Title",children:{content:n(),padding:t(i),backgroundColor:t(r())}})),cardImage:t(a({title:"Image",children:{image:d()}})),cardBody:t(a({title:"Body",children:{content:n(),padding:t(i),backgroundColor:t(r())}}))})}),C=[{description:"A simple card with a title and content",type:"card",props:{variants:["image-first"],preset:"prominent-primary",cardTitle:{content:"Card Title",padding:"p-4"},cardBody:{content:"This is the body of the card."}}},{description:"Card with image and overlay text",type:"card",props:{variants:["image-overlay","centered"],cardImage:{image:{src:"https://via.placeholder.com/400x300",alt:"Placeholder image"}},cardTitle:{content:"Overlay Title",padding:"p-8",backgroundColor:"rgba(0, 0, 0, 0.7)"},cardBody:{content:"Beautiful overlay content with semi-transparent background.",padding:"p-4",backgroundColor:"rgba(255, 255, 255, 0.9)"}}},{description:"Product card with image on the left",type:"card",props:{variants:["image-left-side"],cardImage:{image:{src:"https://via.placeholder.com/200x200",alt:"Product image"}},cardTitle:{content:"Premium Headphones",padding:"p-4"},cardBody:{content:"High-quality wireless headphones with noise cancellation and 30-hour battery life.",padding:"p-4"}}},{description:"Feature card with large padding and background",type:"card",props:{variants:["large-padding","centered"],cardTitle:{content:"Key Feature",padding:"p-8",backgroundColor:"#f8f9fa"},cardBody:{content:"This feature provides exceptional value and enhances user experience significantly.",padding:"p-8",backgroundColor:"#ffffff"}}},{description:"Blog post card with image at the bottom",type:"card",props:{variants:["image-last"],cardTitle:{content:"The Future of Technology",padding:"p-4"},cardBody:{content:"Exploring emerging trends and innovations that will shape our digital landscape in the coming decade.",padding:"p-4"},cardImage:{image:{src:"https://via.placeholder.com/400x200",alt:"Technology concept"}}}},{description:"Testimonial card with right-side image",type:"card",props:{variants:["image-right-side"],cardTitle:{content:"Customer Review",padding:"p-4",backgroundColor:"#e3f2fd"},cardBody:{content:'"This product exceeded my expectations. The quality is outstanding and the customer service is top-notch!"',padding:"p-4"},cardImage:{image:{src:"https://via.placeholder.com/150x150",alt:"Customer photo"}}}},{description:"Minimal centered card without image",type:"card",props:{variants:["centered"],cardTitle:{content:"Simple Announcement",padding:"p-4"},cardBody:{content:"Important updates will be posted here regularly.",padding:"p-4"}}},{description:"Event card with multiple variants",type:"card",props:{variants:["image-first","large-padding","centered"],cardImage:{image:{src:"https://via.placeholder.com/400x250",alt:"Event venue"}},cardTitle:{content:"Annual Conference 2025",padding:"p-8",backgroundColor:"#1976d2"},cardBody:{content:"Join us for three days of inspiring talks, networking opportunities, and hands-on workshops.",padding:"p-8"}}},{description:"News article card with compact layout",type:"card",props:{variants:["image-left-side"],cardImage:{image:{src:"https://via.placeholder.com/120x120",alt:"News thumbnail"}},cardTitle:{content:"Breaking News Update",padding:"p-2"},cardBody:{content:"Latest developments in the ongoing story with expert analysis and community reactions.",padding:"p-2"}}},{description:"Call-to-action card with prominent styling",type:"card",props:{variants:["centered","large-padding"],cardTitle:{content:"Get Started Today",padding:"p-8",backgroundColor:"#4caf50"},cardBody:{content:"Transform your workflow with our powerful tools. Sign up now and get 30 days free!",padding:"p-8",backgroundColor:"#f1f8e9"}}}];export{k as a,C as b};
3
+ import{b as d}from"./chunk-VTFWVTPI.js";import{b as i}from"./chunk-P5DZK4TS.js";import{d as r}from"./chunk-HYVQXAK5.js";import{a as p}from"./chunk-CUCUHPQ7.js";import{c as n}from"./chunk-VBWC36L2.js";import{a,d as o,e as t}from"./chunk-BJSO43AS.js";import{BsCardText as c}from"react-icons/bs";import{Type as e}from"@sinclair/typebox";var k=p({type:"card",name:"Card",description:"A multi-purpose card that can have a title, subtitle, image, and content",repeatable:!0,icon:c,props:o({variants:e.Array(e.Union([e.Literal("image-first",{title:"Image First"}),e.Literal("image-last",{title:"Image Last"}),e.Literal("image-overlay",{title:"Image Overlay"}),e.Literal("image-left-side",{title:"Image Left Side"}),e.Literal("image-right-side",{title:"Image Right Side"}),e.Literal("centered",{title:"Centered"}),e.Literal("large-padding",{title:"Large padding"})],{title:"Variant"})),cardTitle:t(a({title:"Title",children:{content:n(),padding:t(i),backgroundColor:t(r())}})),cardImage:t(a({title:"Image",children:{image:d()}})),cardBody:t(a({title:"Body",children:{content:n(),padding:t(i),backgroundColor:t(r())}}))})}),C=[{description:"A simple card with a title and content",type:"card",props:{variants:["image-first"],preset:"prominent-primary",cardTitle:{content:"Card Title",padding:"p-4"},cardBody:{content:"This is the body of the card."}}},{description:"Card with image and overlay text",type:"card",props:{variants:["image-overlay","centered"],cardImage:{image:{src:"https://via.placeholder.com/400x300",alt:"Placeholder image"}},cardTitle:{content:"Overlay Title",padding:"p-8",backgroundColor:"rgba(0, 0, 0, 0.7)"},cardBody:{content:"Beautiful overlay content with semi-transparent background.",padding:"p-4",backgroundColor:"rgba(255, 255, 255, 0.9)"}}},{description:"Product card with image on the left",type:"card",props:{variants:["image-left-side"],cardImage:{image:{src:"https://via.placeholder.com/200x200",alt:"Product image"}},cardTitle:{content:"Premium Headphones",padding:"p-4"},cardBody:{content:"High-quality wireless headphones with noise cancellation and 30-hour battery life.",padding:"p-4"}}},{description:"Feature card with large padding and background",type:"card",props:{variants:["large-padding","centered"],cardTitle:{content:"Key Feature",padding:"p-8",backgroundColor:"#f8f9fa"},cardBody:{content:"This feature provides exceptional value and enhances user experience significantly.",padding:"p-8",backgroundColor:"#ffffff"}}},{description:"Blog post card with image at the bottom",type:"card",props:{variants:["image-last"],cardTitle:{content:"The Future of Technology",padding:"p-4"},cardBody:{content:"Exploring emerging trends and innovations that will shape our digital landscape in the coming decade.",padding:"p-4"},cardImage:{image:{src:"https://via.placeholder.com/400x200",alt:"Technology concept"}}}},{description:"Testimonial card with right-side image",type:"card",props:{variants:["image-right-side"],cardTitle:{content:"Customer Review",padding:"p-4",backgroundColor:"#e3f2fd"},cardBody:{content:'"This product exceeded my expectations. The quality is outstanding and the customer service is top-notch!"',padding:"p-4"},cardImage:{image:{src:"https://via.placeholder.com/150x150",alt:"Customer photo"}}}},{description:"Minimal centered card without image",type:"card",props:{variants:["centered"],cardTitle:{content:"Simple Announcement",padding:"p-4"},cardBody:{content:"Important updates will be posted here regularly.",padding:"p-4"}}},{description:"Event card with multiple variants",type:"card",props:{variants:["image-first","large-padding","centered"],cardImage:{image:{src:"https://via.placeholder.com/400x250",alt:"Event venue"}},cardTitle:{content:"Annual Conference 2025",padding:"p-8",backgroundColor:"#1976d2"},cardBody:{content:"Join us for three days of inspiring talks, networking opportunities, and hands-on workshops.",padding:"p-8"}}},{description:"News article card with compact layout",type:"card",props:{variants:["image-left-side"],cardImage:{image:{src:"https://via.placeholder.com/120x120",alt:"News thumbnail"}},cardTitle:{content:"Breaking News Update",padding:"p-2"},cardBody:{content:"Latest developments in the ongoing story with expert analysis and community reactions.",padding:"p-2"}}},{description:"Call-to-action card with prominent styling",type:"card",props:{variants:["centered","large-padding"],cardTitle:{content:"Get Started Today",padding:"p-8",backgroundColor:"#4caf50"},cardBody:{content:"Transform your workflow with our powerful tools. Sign up now and get 30 days free!",padding:"p-8",backgroundColor:"#f1f8e9"}}}];export{k as a,C as b};
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{b}from"./chunk-U5XOIYSS.js";import{a as f}from"./chunk-OUI2VDNM.js";import{b as d}from"./chunk-VTFWVTPI.js";import{b as p}from"./chunk-PK6UAFPW.js";import{b as s}from"./chunk-WEQRYCPD.js";import{b as a}from"./chunk-CAVNF3BU.js";import{a as m}from"./chunk-ATDJCXC2.js";import{d as l}from"./chunk-HYVQXAK5.js";import{a as g,d as i}from"./chunk-YJTGZQEV.js";import{a as u}from"./chunk-CUCUHPQ7.js";import{c}from"./chunk-VBWC36L2.js";import{a as e,b as t,d as n,e as o}from"./chunk-BJSO43AS.js";import{Type as r}from"@sinclair/typebox";import{VscLayoutPanelOff as h}from"react-icons/vsc";var v=r.Array(r.Object({href:i(),label:r.String()}),{default:[{href:"#",label:"Link 1"},{href:"#",label:"Link 2"},{href:"#",label:"Link 3"}]}),V=u({type:"navbar",kind:"widget",name:"Navbar",description:"A navigation bar with logo and navigation",aiInstructions:"This brick should be used on most sites/pages.",datasource:v,duplicatable:!1,defaultHeight:{desktop:3,mobile:3},maxHeight:{desktop:3,mobile:3},minHeight:{desktop:3,mobile:3},icon:h,iconClassName:"rotate-180",props:n({container:o(e({title:"Main element",children:{backgroundColor:o(l()),border:o(s),shadow:o(p()),fixedPositioned:o(b())},metadata:{"ui:responsive":!0}})),brand:e({title:"Brand",children:{name:o(c({title:"Brand name",default:"Acme Inc.",disableSizing:!0})),logo:o(d({title:"Logo",noObjectOptions:!0})),hideText:o(m("Hide text")),color:o(a())}}),navigation:e({title:"Links",children:{position:t({title:"Position",schema:r.Union([r.Literal("left",{title:"Left"}),r.Literal("center",{title:"Center"}),r.Literal("right",{title:"Right"})],{default:"right"})}),color:o(a()),datasource:o(f()),staticItems:o(t({title:"Nav items",schema:r.Array(r.Object({urlOrPageId:i(),label:o(g("Label"))}),{title:"Navigation items",default:[]})}))}})})}),z=[{description:"Corporate navbar with logo and right-aligned navigation",type:"navbar",props:{preset:"prominent-primary",container:{},brand:{name:"TechCorp Solutions",logo:{src:"https://via.placeholder.com/120x40.png?text=TechCorp",alt:"TechCorp Solutions logo"},color:"#1f2937"},navigation:{position:"right",color:"#374151",staticItems:[{urlOrPageId:"/services"},{urlOrPageId:"/about"},{urlOrPageId:"/portfolio"},{urlOrPageId:"/contact"}]}}},{description:"Dark theme navbar with centered navigation",type:"navbar",props:{container:{backgroundColor:"#1f2937",shadow:"shadow-lg"},brand:{name:"Creative Studio",logo:{src:"https://via.placeholder.com/100x35.png?text=Studio",alt:"Creative Studio logo"},color:"#ffffff"},navigation:{position:"center",color:"#d1d5db",staticItems:[{urlOrPageId:"/work"},{urlOrPageId:"/services"},{urlOrPageId:"/team"},{urlOrPageId:"/blog"}]}}},{description:"SaaS platform navbar with fixed positioning",type:"navbar",props:{container:{backgroundColor:"#3b82f6",fixedPositioned:!0,shadow:"shadow-md"},brand:{name:"CloudFlow",logo:{src:"https://via.placeholder.com/110x38.png?text=CloudFlow",alt:"CloudFlow platform logo"},color:"#ffffff"},navigation:{position:"right",color:"#f1f5f9",staticItems:[{urlOrPageId:"/features"},{urlOrPageId:"/pricing"},{urlOrPageId:"/docs"},{urlOrPageId:"/login"}]}}},{description:"E-commerce navbar",type:"navbar",props:{preset:"prominent-primary",brand:{name:"ShopEasy",logo:{src:"https://via.placeholder.com/130x45.png?text=ShopEasy",alt:"ShopEasy store logo"}},navigation:{position:"right",staticItems:[{urlOrPageId:"/products"},{urlOrPageId:"/categories"},{urlOrPageId:"/deals"},{urlOrPageId:"/account"},{urlOrPageId:"/cart"}]}}},{description:"Agency navbar with logo-only brand",type:"navbar",props:{container:{shadow:"shadow-sm"},brand:{logo:{src:"https://via.placeholder.com/140x50.png?text=Agency+Logo",alt:"Digital agency logo"},hideText:!0},navigation:{position:"right",color:"#64748b",staticItems:[{urlOrPageId:"/projects"},{urlOrPageId:"/capabilities"},{urlOrPageId:"/insights"},{urlOrPageId:"/contact"}]}}},{description:"Restaurant navbar with warm styling",type:"navbar",props:{container:{backgroundColor:"#7c2d12",shadow:"shadow-lg"},brand:{name:"Bella Vista",logo:{src:"https://via.placeholder.com/80x50.png?text=BV",alt:"Bella Vista restaurant logo"},color:"#fed7aa"},navigation:{position:"center",color:"#fdba74",staticItems:[{urlOrPageId:"/menu"},{urlOrPageId:"/reservations"},{urlOrPageId:"/events"},{urlOrPageId:"/location"}]}}},{description:"Portfolio navbar with left-aligned navigation",type:"navbar",props:{preset:"prominent-secondary",container:{backgroundColor:"#f1f5f9",border:{sides:["border-b"],color:"border-accent"}},brand:{name:"Alex Martinez",color:"#334155"},navigation:{position:"left",color:"#64748b",staticItems:[{urlOrPageId:"/work"},{urlOrPageId:"/about"},{urlOrPageId:"/experience"},{urlOrPageId:"/contact"}]}}},{description:"Non-profit navbar with mission-focused design",type:"navbar",props:{preset:"prominent-primary",container:{shadow:"shadow-md"},brand:{name:"Green Future",logo:{src:"https://via.placeholder.com/100x40.png?text=GF",alt:"Green Future organization logo"},color:"#d1fae5"},navigation:{position:"right",color:"#a7f3d0",staticItems:[{urlOrPageId:"/mission"},{urlOrPageId:"/programs"},{urlOrPageId:"/volunteer"},{urlOrPageId:"/donate"}]}}}];export{v as a,V as b,z as c};
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as p}from"./chunk-CUCUHPQ7.js";import{a as o,d as t}from"./chunk-YJTGZQEV.js";import{b as i,d as e,e as n}from"./chunk-BJSO43AS.js";import{PiConfetti as r}from"react-icons/pi";var l=p({type:"icon",name:"Icon",kind:"brick",description:"An icon with optional text",repeatable:!0,icon:r,props:e({icon:i({title:"Icon",description:"Icon to display (iconify reference)",schema:o("Icon",void 0,{description:"Icon to display (iconify reference)","ui:field":"iconify"})}),size:i({title:"Size",description:"Size of the icon",schema:o("Size","1em",{description:"Size of the icon","ai:instructions":"The size of the icon can be set using 'em' or '%' unit."})}),link:n(t({title:"Link"}))})}),f=[{description:"Large heart icon",type:"icon",props:{icon:"mdi:heart",size:"2em"}},{description:"Shopping cart icon",type:"icon",props:{icon:"mdi:cart",size:"1.2em"}},{description:"Email/message icon",type:"icon",props:{icon:"mdi:email",size:"1.1em",link:"mailto:john.doe@example.com"}},{description:"Phone contact icon",type:"icon",props:{icon:"mdi:phone",size:"1em",link:"tel:+1234567890"}},{description:"Large download icon",type:"icon",props:{icon:"mdi:download",size:"2.5em",link:"https://example.com/file.zip"}},{description:"Menu hamburger icon",type:"icon",props:{icon:"mdi:menu",size:"1.4em"}},{description:"Close/X icon",type:"icon",props:{icon:"mdi:close",size:"1.2em"}},{description:"Social media Facebook icon",type:"icon",props:{icon:"mdi:facebook",size:"1.4em",link:"https://www.facebook.com/yourprofile"}},{description:"Social media Twitter icon",type:"icon",props:{icon:"mdi:twitter",size:"1.4em",link:"https://twitter.com/yourprofile"}},{description:"Social media Instagram icon",type:"icon",props:{icon:"mdi:instagram",size:"1.4em",link:"https://www.instagram.com/yourprofile"}}];export{l as a,f as b};
3
+ import{a as o,d as t}from"./chunk-YJTGZQEV.js";import{a as p}from"./chunk-CUCUHPQ7.js";import{b as i,d as e,e as n}from"./chunk-BJSO43AS.js";import{PiConfetti as r}from"react-icons/pi";var l=p({type:"icon",name:"Icon",kind:"brick",description:"An icon with optional text",repeatable:!0,icon:r,props:e({icon:i({title:"Icon",description:"Icon to display (iconify reference)",schema:o("Icon",void 0,{description:"Icon to display (iconify reference)","ui:field":"iconify"})}),size:i({title:"Size",description:"Size of the icon",schema:o("Size","1em",{description:"Size of the icon","ai:instructions":"The size of the icon can be set using 'em' or '%' unit."})}),link:n(t({title:"Link"}))})}),f=[{description:"Large heart icon",type:"icon",props:{icon:"mdi:heart",size:"2em"}},{description:"Shopping cart icon",type:"icon",props:{icon:"mdi:cart",size:"1.2em"}},{description:"Email/message icon",type:"icon",props:{icon:"mdi:email",size:"1.1em",link:"mailto:john.doe@example.com"}},{description:"Phone contact icon",type:"icon",props:{icon:"mdi:phone",size:"1em",link:"tel:+1234567890"}},{description:"Large download icon",type:"icon",props:{icon:"mdi:download",size:"2.5em",link:"https://example.com/file.zip"}},{description:"Menu hamburger icon",type:"icon",props:{icon:"mdi:menu",size:"1.4em"}},{description:"Close/X icon",type:"icon",props:{icon:"mdi:close",size:"1.2em"}},{description:"Social media Facebook icon",type:"icon",props:{icon:"mdi:facebook",size:"1.4em",link:"https://www.facebook.com/yourprofile"}},{description:"Social media Twitter icon",type:"icon",props:{icon:"mdi:twitter",size:"1.4em",link:"https://twitter.com/yourprofile"}},{description:"Social media Instagram icon",type:"icon",props:{icon:"mdi:instagram",size:"1.4em",link:"https://www.instagram.com/yourprofile"}}];export{l as a,f as b};
@@ -1,5 +1,5 @@
1
1
  import type { RssOptions } from "./options";
2
- import { type RssSchema } from "./schema";
2
+ import type { RssSchema } from "./schema";
3
3
  import type { DatasourceFetcher } from "../../fetcher";
4
4
  declare const fetchRss: DatasourceFetcher<RssSchema, null, RssOptions>;
5
5
  export default fetchRss;
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/external/rss/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,UAAU,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAmB5D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/external/rss/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAmB5D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a}from"./chunk-UISES3HA.js";import"./chunk-HQQYIKTE.js";import"./chunk-JFDOR3UH.js";import"./chunk-22KRCQK5.js";import"./chunk-5IEGQ7YT.js";import"./chunk-WCNVFVDK.js";import"./chunk-I5S2MPPR.js";import"./chunk-OELIU5BZ.js";import"./chunk-POYVTV5F.js";import"./chunk-GPKRRX3D.js";import"./chunk-CEXHD4BO.js";import"./chunk-QALNFBY7.js";import"./chunk-LJQXN32B.js";import"./chunk-TCZBR3ZU.js";import"./chunk-E2EBTWJI.js";import"./chunk-CW5FWW5W.js";import"./chunk-TEPFFY32.js";import"./chunk-I43NIQ2K.js";import"./chunk-VDHLON5R.js";import"./chunk-ZFTWLZ3G.js";import"./chunk-O22VV7YR.js";import"./chunk-OQIFFJ7I.js";import"./chunk-U5XOIYSS.js";import"./chunk-F6MLW6DO.js";import"./chunk-7L3UOEMR.js";import"./chunk-CUCUHPQ7.js";import"./chunk-UL7L3HYV.js";import"./chunk-OUI2VDNM.js";import"./chunk-VBWC36L2.js";import"./chunk-PK6UAFPW.js";import"./chunk-VTFWVTPI.js";import"./chunk-P5DZK4TS.js";import"./chunk-WEQRYCPD.js";import"./chunk-CAVNF3BU.js";import"./chunk-F63ANNAK.js";import"./chunk-OD2PRCLH.js";import"./chunk-ALFOZHAH.js";import"./chunk-UK6H3FDX.js";import"./chunk-G7LX3UKQ.js";import"./chunk-ATDJCXC2.js";import"./chunk-CTRS76PX.js";import"./chunk-YJTGZQEV.js";import"./chunk-YZ5Y4WE6.js";import"./chunk-HYVQXAK5.js";import"./chunk-BJSO43AS.js";import"./chunk-VA5LFJVE.js";import"./chunk-ZMDHKAWL.js";import"./chunk-OYIL5SCU.js";export{a as pageSchema};
3
+ import{a}from"./chunk-M3Z3XDUC.js";import"./chunk-CS5N4UQU.js";import"./chunk-ALFOZHAH.js";import"./chunk-JDBVMPSI.js";import"./chunk-CTRS76PX.js";import"./chunk-G7LX3UKQ.js";import"./chunk-245ZLDVB.js";import"./chunk-MWP5IU33.js";import"./chunk-FRWB3BF3.js";import"./chunk-VROOAFFW.js";import"./chunk-HYXCHFS5.js";import"./chunk-OELIU5BZ.js";import"./chunk-VFGMOA4M.js";import"./chunk-X2RJL33B.js";import"./chunk-P5RC56CL.js";import"./chunk-U5XOIYSS.js";import"./chunk-2D6ZEIDX.js";import"./chunk-ISF6EBPX.js";import"./chunk-IKSRCRZZ.js";import"./chunk-WB4PGCZQ.js";import"./chunk-4BLCQRF5.js";import"./chunk-5MGYT6FI.js";import"./chunk-OUI2VDNM.js";import"./chunk-RXRPFXDF.js";import"./chunk-VPD626ML.js";import"./chunk-UL7L3HYV.js";import"./chunk-QI3BZDXL.js";import"./chunk-OWON727Q.js";import"./chunk-X4ZBUWUL.js";import"./chunk-F63ANNAK.js";import"./chunk-VTFWVTPI.js";import"./chunk-YZ5Y4WE6.js";import"./chunk-RDSK2G6V.js";import"./chunk-PK6UAFPW.js";import"./chunk-WEQRYCPD.js";import"./chunk-CAVNF3BU.js";import"./chunk-P5DZK4TS.js";import"./chunk-ATDJCXC2.js";import"./chunk-HYVQXAK5.js";import"./chunk-NCSLTHKN.js";import"./chunk-YJTGZQEV.js";import"./chunk-CUCUHPQ7.js";import"./chunk-VBWC36L2.js";import"./chunk-OD2PRCLH.js";import"./chunk-BJSO43AS.js";import"./chunk-VA5LFJVE.js";import"./chunk-ZMDHKAWL.js";import"./chunk-OYIL5SCU.js";export{a as pageSchema};
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{b as i,d as S}from"./chunk-ZNVRYEO7.js";import{a as m}from"./chunk-UISES3HA.js";import{a as o}from"./chunk-ZJNA4QQC.js";import{a as p,d as c}from"./chunk-ATVHWZSA.js";import{d as s}from"./chunk-VAC73HJE.js";import"./chunk-HQQYIKTE.js";import{c as r}from"./chunk-Y7CEEEVW.js";import"./chunk-JFDOR3UH.js";import"./chunk-22KRCQK5.js";import"./chunk-5IEGQ7YT.js";import"./chunk-WCNVFVDK.js";import"./chunk-I5S2MPPR.js";import"./chunk-OELIU5BZ.js";import"./chunk-POYVTV5F.js";import"./chunk-GPKRRX3D.js";import"./chunk-CEXHD4BO.js";import"./chunk-QALNFBY7.js";import"./chunk-LJQXN32B.js";import"./chunk-TCZBR3ZU.js";import"./chunk-E2EBTWJI.js";import"./chunk-CW5FWW5W.js";import"./chunk-TEPFFY32.js";import"./chunk-I43NIQ2K.js";import"./chunk-VDHLON5R.js";import"./chunk-ZFTWLZ3G.js";import"./chunk-O22VV7YR.js";import"./chunk-OQIFFJ7I.js";import"./chunk-U5XOIYSS.js";import"./chunk-F6MLW6DO.js";import"./chunk-7L3UOEMR.js";import"./chunk-CUCUHPQ7.js";import"./chunk-UL7L3HYV.js";import"./chunk-OUI2VDNM.js";import"./chunk-VBWC36L2.js";import"./chunk-PK6UAFPW.js";import"./chunk-VTFWVTPI.js";import"./chunk-P5DZK4TS.js";import"./chunk-WEQRYCPD.js";import"./chunk-CAVNF3BU.js";import"./chunk-F63ANNAK.js";import"./chunk-OD2PRCLH.js";import"./chunk-ALFOZHAH.js";import{c as e,f as a}from"./chunk-UK6H3FDX.js";import"./chunk-G7LX3UKQ.js";import"./chunk-ATDJCXC2.js";import"./chunk-CTRS76PX.js";import"./chunk-YJTGZQEV.js";import"./chunk-YZ5Y4WE6.js";import"./chunk-HYVQXAK5.js";import"./chunk-BJSO43AS.js";import"./chunk-VA5LFJVE.js";import"./chunk-ZMDHKAWL.js";import"./chunk-OYIL5SCU.js";import{Type as t}from"@sinclair/typebox";var h=t.Object({id:t.String(),label:t.String(),hostname:t.String(),attributes:e,attr:e,datasources:t.Optional(r),datarecords:t.Optional(s),themes:t.Array(i),theme:i,sitemap:c,sitePrompt:o}),P=t.Object({site:t.Omit(h,["attributes"]),pages:t.Array(t.Composite([t.Omit(m,["attributes"]),p]))});function O(n){return{site:{id:crypto.randomUUID(),label:"New site",hostname:"example.com",sitePrompt:n,theme:S,themes:[],sitemap:[],attributes:e,attr:a()},pages:[{id:"_default_",label:"First page",path:"/",sections:[],tags:[],attributes:e,attr:a()}]}}export{O as createEmptyConfig,h as siteSchema};
3
+ import{b as i,d as S}from"./chunk-ZNVRYEO7.js";import{a as m}from"./chunk-M3Z3XDUC.js";import{a as o}from"./chunk-ZJNA4QQC.js";import{a as p,d as c}from"./chunk-ATVHWZSA.js";import{d as s}from"./chunk-VAC73HJE.js";import"./chunk-CS5N4UQU.js";import{c as r}from"./chunk-Y7CEEEVW.js";import"./chunk-ALFOZHAH.js";import{c as e,f as a}from"./chunk-JDBVMPSI.js";import"./chunk-CTRS76PX.js";import"./chunk-G7LX3UKQ.js";import"./chunk-245ZLDVB.js";import"./chunk-MWP5IU33.js";import"./chunk-FRWB3BF3.js";import"./chunk-VROOAFFW.js";import"./chunk-HYXCHFS5.js";import"./chunk-OELIU5BZ.js";import"./chunk-VFGMOA4M.js";import"./chunk-X2RJL33B.js";import"./chunk-P5RC56CL.js";import"./chunk-U5XOIYSS.js";import"./chunk-2D6ZEIDX.js";import"./chunk-ISF6EBPX.js";import"./chunk-IKSRCRZZ.js";import"./chunk-WB4PGCZQ.js";import"./chunk-4BLCQRF5.js";import"./chunk-5MGYT6FI.js";import"./chunk-OUI2VDNM.js";import"./chunk-RXRPFXDF.js";import"./chunk-VPD626ML.js";import"./chunk-UL7L3HYV.js";import"./chunk-QI3BZDXL.js";import"./chunk-OWON727Q.js";import"./chunk-X4ZBUWUL.js";import"./chunk-F63ANNAK.js";import"./chunk-VTFWVTPI.js";import"./chunk-YZ5Y4WE6.js";import"./chunk-RDSK2G6V.js";import"./chunk-PK6UAFPW.js";import"./chunk-WEQRYCPD.js";import"./chunk-CAVNF3BU.js";import"./chunk-P5DZK4TS.js";import"./chunk-ATDJCXC2.js";import"./chunk-HYVQXAK5.js";import"./chunk-NCSLTHKN.js";import"./chunk-YJTGZQEV.js";import"./chunk-CUCUHPQ7.js";import"./chunk-VBWC36L2.js";import"./chunk-OD2PRCLH.js";import"./chunk-BJSO43AS.js";import"./chunk-VA5LFJVE.js";import"./chunk-ZMDHKAWL.js";import"./chunk-OYIL5SCU.js";import{Type as t}from"@sinclair/typebox";var h=t.Object({id:t.String(),label:t.String(),hostname:t.String(),attributes:e,attr:e,datasources:t.Optional(r),datarecords:t.Optional(s),themes:t.Array(i),theme:i,sitemap:c,sitePrompt:o}),P=t.Object({site:t.Omit(h,["attributes"]),pages:t.Array(t.Composite([t.Omit(m,["attributes"]),p]))});function O(n){return{site:{id:crypto.randomUUID(),label:"New site",hostname:"example.com",sitePrompt:n,theme:S,themes:[],sitemap:[],attributes:e,attr:a()},pages:[{id:"_default_",label:"First page",path:"/",sections:[],tags:[],attributes:e,attr:a()}]}}export{O as createEmptyConfig,h as siteSchema};
package/package.json CHANGED
@@ -1,11 +1,9 @@
1
1
  {
2
2
  "name": "@upstart.gg/sdk",
3
- "version": "0.0.104",
3
+ "version": "0.0.105",
4
4
  "type": "module",
5
5
  "files": [
6
- "dist",
7
- "env.d.ts",
8
- "src"
6
+ "dist"
9
7
  ],
10
8
  "sideEffects": true,
11
9
  "exports": {
@@ -34,6 +32,7 @@
34
32
  "@radix-ui/react-context-menu": "2.2.2",
35
33
  "@radix-ui/react-toggle-group": "1.1.0",
36
34
  "@radix-ui/themes": "3.1.4",
35
+ "@rowanmanning/feed-parser": "2.1.0",
37
36
  "@sinclair/typebox": "0.33.7",
38
37
  "ajv": "8.17.1",
39
38
  "ajv-formats": "3.0.1",
@@ -46,10 +45,8 @@
46
45
  "fast-glob": "3.3.2",
47
46
  "form-data": "4.0.0",
48
47
  "get-port": "7.1.0",
49
- "htmlparser2": "9.1.0",
50
48
  "http-errors-enhanced": "2.0.8",
51
49
  "immer": "10.1.1",
52
- "import-meta-resolve": "4.1.0",
53
50
  "json-schema-default": "1.0.2",
54
51
  "lodash-es": "4.17.21",
55
52
  "nanoid": "5.0.7",
@@ -59,14 +56,13 @@
59
56
  "react-hotkeys-hook": "4.5.1",
60
57
  "react-icons": "5.3.0",
61
58
  "react-selecto": "1.26.3",
62
- "rollup-plugin-strip-banner": "3.1.0",
63
59
  "usehooks-ts": "3.1.0",
64
60
  "zundo": "2.3.0",
65
61
  "zustand": "4.5.5",
66
- "@upstart.gg/style-system": "0.0.104"
62
+ "@upstart.gg/style-system": "0.0.105"
67
63
  },
68
64
  "peerDependencies": {
69
- "@headlessui/react": "2.2.1",
65
+ "@headlessui/react": "^2.2.1",
70
66
  "react": "18.3.0-canary-3d9b20132-20240124",
71
67
  "react-dom": "18.3.0-canary-3d9b20132-20240124"
72
68
  },
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{b as f}from"./chunk-U5XOIYSS.js";import{a as b}from"./chunk-CUCUHPQ7.js";import{a as u}from"./chunk-OUI2VDNM.js";import{c}from"./chunk-VBWC36L2.js";import{b as p}from"./chunk-PK6UAFPW.js";import{b as d}from"./chunk-VTFWVTPI.js";import{b as s}from"./chunk-WEQRYCPD.js";import{b as a}from"./chunk-CAVNF3BU.js";import{a as m}from"./chunk-ATDJCXC2.js";import{a as g,d as i}from"./chunk-YJTGZQEV.js";import{d as l}from"./chunk-HYVQXAK5.js";import{a as e,b as t,d as n,e as o}from"./chunk-BJSO43AS.js";import{Type as r}from"@sinclair/typebox";import{VscLayoutPanelOff as h}from"react-icons/vsc";var v=r.Array(r.Object({href:i(),label:r.String()}),{default:[{href:"#",label:"Link 1"},{href:"#",label:"Link 2"},{href:"#",label:"Link 3"}]}),V=b({type:"navbar",kind:"widget",name:"Navbar",description:"A navigation bar with logo and navigation",aiInstructions:"This brick should be used on most sites/pages.",datasource:v,duplicatable:!1,defaultHeight:{desktop:3,mobile:3},maxHeight:{desktop:3,mobile:3},minHeight:{desktop:3,mobile:3},icon:h,iconClassName:"rotate-180",props:n({container:o(e({title:"Main element",children:{backgroundColor:o(l()),border:o(s),shadow:o(p()),fixedPositioned:o(f())},metadata:{"ui:responsive":!0}})),brand:e({title:"Brand",children:{name:o(c({title:"Brand name",default:"Acme Inc.",disableSizing:!0})),logo:o(d({title:"Logo",noObjectOptions:!0})),hideText:o(m("Hide text")),color:o(a())}}),navigation:e({title:"Links",children:{position:t({title:"Position",schema:r.Union([r.Literal("left",{title:"Left"}),r.Literal("center",{title:"Center"}),r.Literal("right",{title:"Right"})],{default:"right"})}),color:o(a()),datasource:o(u()),staticItems:o(t({title:"Nav items",schema:r.Array(r.Object({urlOrPageId:i(),label:o(g("Label"))}),{title:"Navigation items",default:[]})}))}})})}),z=[{description:"Corporate navbar with logo and right-aligned navigation",type:"navbar",props:{preset:"prominent-primary",container:{},brand:{name:"TechCorp Solutions",logo:{src:"https://via.placeholder.com/120x40.png?text=TechCorp",alt:"TechCorp Solutions logo"},color:"#1f2937"},navigation:{position:"right",color:"#374151",staticItems:[{urlOrPageId:"/services"},{urlOrPageId:"/about"},{urlOrPageId:"/portfolio"},{urlOrPageId:"/contact"}]}}},{description:"Dark theme navbar with centered navigation",type:"navbar",props:{container:{backgroundColor:"#1f2937",shadow:"shadow-lg"},brand:{name:"Creative Studio",logo:{src:"https://via.placeholder.com/100x35.png?text=Studio",alt:"Creative Studio logo"},color:"#ffffff"},navigation:{position:"center",color:"#d1d5db",staticItems:[{urlOrPageId:"/work"},{urlOrPageId:"/services"},{urlOrPageId:"/team"},{urlOrPageId:"/blog"}]}}},{description:"SaaS platform navbar with fixed positioning",type:"navbar",props:{container:{backgroundColor:"#3b82f6",fixedPositioned:!0,shadow:"shadow-md"},brand:{name:"CloudFlow",logo:{src:"https://via.placeholder.com/110x38.png?text=CloudFlow",alt:"CloudFlow platform logo"},color:"#ffffff"},navigation:{position:"right",color:"#f1f5f9",staticItems:[{urlOrPageId:"/features"},{urlOrPageId:"/pricing"},{urlOrPageId:"/docs"},{urlOrPageId:"/login"}]}}},{description:"E-commerce navbar",type:"navbar",props:{preset:"prominent-primary",brand:{name:"ShopEasy",logo:{src:"https://via.placeholder.com/130x45.png?text=ShopEasy",alt:"ShopEasy store logo"}},navigation:{position:"right",staticItems:[{urlOrPageId:"/products"},{urlOrPageId:"/categories"},{urlOrPageId:"/deals"},{urlOrPageId:"/account"},{urlOrPageId:"/cart"}]}}},{description:"Agency navbar with logo-only brand",type:"navbar",props:{container:{shadow:"shadow-sm"},brand:{logo:{src:"https://via.placeholder.com/140x50.png?text=Agency+Logo",alt:"Digital agency logo"},hideText:!0},navigation:{position:"right",color:"#64748b",staticItems:[{urlOrPageId:"/projects"},{urlOrPageId:"/capabilities"},{urlOrPageId:"/insights"},{urlOrPageId:"/contact"}]}}},{description:"Restaurant navbar with warm styling",type:"navbar",props:{container:{backgroundColor:"#7c2d12",shadow:"shadow-lg"},brand:{name:"Bella Vista",logo:{src:"https://via.placeholder.com/80x50.png?text=BV",alt:"Bella Vista restaurant logo"},color:"#fed7aa"},navigation:{position:"center",color:"#fdba74",staticItems:[{urlOrPageId:"/menu"},{urlOrPageId:"/reservations"},{urlOrPageId:"/events"},{urlOrPageId:"/location"}]}}},{description:"Portfolio navbar with left-aligned navigation",type:"navbar",props:{preset:"prominent-secondary",container:{backgroundColor:"#f1f5f9",border:{sides:["border-b"],color:"border-accent"}},brand:{name:"Alex Martinez",color:"#334155"},navigation:{position:"left",color:"#64748b",staticItems:[{urlOrPageId:"/work"},{urlOrPageId:"/about"},{urlOrPageId:"/experience"},{urlOrPageId:"/contact"}]}}},{description:"Non-profit navbar with mission-focused design",type:"navbar",props:{preset:"prominent-primary",container:{shadow:"shadow-md"},brand:{name:"Green Future",logo:{src:"https://via.placeholder.com/100x40.png?text=GF",alt:"Green Future organization logo"},color:"#d1fae5"},navigation:{position:"right",color:"#a7f3d0",staticItems:[{urlOrPageId:"/mission"},{urlOrPageId:"/programs"},{urlOrPageId:"/volunteer"},{urlOrPageId:"/donate"}]}}}];export{v as a,V as b,z as c};
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{a as k,b as J}from"./chunk-22KRCQK5.js";import{a as p,b as D}from"./chunk-5IEGQ7YT.js";import{a as s,b as B}from"./chunk-WCNVFVDK.js";import{b as n,c as j}from"./chunk-I5S2MPPR.js";import{a as o,b as W}from"./chunk-POYVTV5F.js";import{b as l,c as w}from"./chunk-GPKRRX3D.js";import{a as d,b as G}from"./chunk-CEXHD4BO.js";import{a as E,b as F}from"./chunk-QALNFBY7.js";import{a as u,b as I}from"./chunk-LJQXN32B.js";import{a as m,b as R}from"./chunk-TCZBR3ZU.js";import{a as r,b as L}from"./chunk-E2EBTWJI.js";import{a as y,b as q}from"./chunk-CW5FWW5W.js";import{b as i,c as h}from"./chunk-TEPFFY32.js";import{a as g,b as H}from"./chunk-I43NIQ2K.js";import{a as x,b as z}from"./chunk-VDHLON5R.js";import{a as f,b as P}from"./chunk-ZFTWLZ3G.js";import{a,b as v}from"./chunk-O22VV7YR.js";import{a as M,b as C}from"./chunk-OQIFFJ7I.js";import{a as t,b}from"./chunk-F6MLW6DO.js";import{a as c,b as A}from"./chunk-7L3UOEMR.js";import{b as e}from"./chunk-CUCUHPQ7.js";var oe={[m.type]:m,[a.type]:a,[s.type]:s,[p.type]:p,[r.type]:r,[o.type]:o,[f.type]:f,[d.type]:d,[n.type]:n,[y.type]:y,[l.type]:l,[x.type]:x,[c.type]:c,[M.type]:M,[E.type]:E,[i.type]:i,[g.type]:g,[u.type]:u,[k.type]:k,[t.type]:t},fe={[m.type]:e(m),[a.type]:e(a),[s.type]:e(s),[p.type]:e(p),[r.type]:e(r),[d.type]:e(d),[o.type]:e(o),[f.type]:e(f),[n.type]:e(n),[y.type]:e(y),[l.type]:e(l),[x.type]:e(x),[c.type]:e(c),[M.type]:e(M),[E.type]:e(E),[i.type]:e(i),[g.type]:e(g),[u.type]:e(u),[k.type]:e(k),[t.type]:e(t)},ne={[m.type]:R,[a.type]:v,[s.type]:B,[p.type]:D,[r.type]:L,[o.type]:W,[f.type]:P,[d.type]:G,[n.type]:j,[y.type]:q,[l.type]:w,[x.type]:z,[c.type]:A,[M.type]:C,[E.type]:F,[i.type]:h,[g.type]:H,[u.type]:I,[k.type]:J,[t.type]:b};export{oe as a,fe as b,ne as c};
@@ -1,101 +0,0 @@
1
- import { logger } from "../shared/logger";
2
- import { API_BASE_URL } from "./constants";
3
- import { accessStore } from "./store";
4
-
5
- type SuccessResponseWrapper<T> = {
6
- isSuccess: true;
7
- isError: false;
8
- status: number;
9
- statusText: string;
10
- data: T;
11
- };
12
-
13
- type ErrorResponseWrapper<E> = {
14
- isSuccess: false;
15
- isError: true;
16
- status: number;
17
- statusText: string;
18
- data: E;
19
- };
20
-
21
- type ResponseWrapper<T, E> = SuccessResponseWrapper<T> | ErrorResponseWrapper<E>;
22
-
23
- type CommonResponseType = {
24
- success: boolean;
25
- };
26
-
27
- /**
28
- *
29
- * @param pathOrUrl
30
- * @param data
31
- * @returns
32
- */
33
- export async function post<
34
- ResponseType extends CommonResponseType = CommonResponseType,
35
- ErrorType = { error: string; error_description?: string },
36
- >(path: string, data: Record<string, unknown> | URLSearchParams, headers: Record<string, string> = {}) {
37
- if (accessStore.get("access_token")) {
38
- headers.Authorization = `Bearer ${accessStore.get("access_token")}`;
39
- }
40
- const response = await fetch(toURL(path), {
41
- method: "POST",
42
- headers: {
43
- "Content-Type":
44
- data instanceof URLSearchParams ? "application/x-www-form-urlencoded" : "application/json",
45
- ...headers,
46
- },
47
- body: data instanceof URLSearchParams ? data : JSON.stringify(data),
48
- }).catch((error) => {
49
- logger.error(`Fatal Error requesting API: ${error.message} (${error.cause.code})`);
50
- logger.error(`Please check your internet connection and try again, or retry later.`);
51
- process.exit(1);
52
- });
53
-
54
- return formatResponse<ResponseType, ErrorType>(response);
55
- }
56
-
57
- export async function get<ResponseType = unknown, ErrorType = { error: string; error_description?: string }>(
58
- path: string,
59
- headers: Record<string, string> = {},
60
- ) {
61
- if (accessStore.get("access_token")) {
62
- headers.Authorization = `Bearer ${accessStore.get("access_token")}`;
63
- }
64
- const response = await fetch(toURL(path), { headers, method: "GET" }).catch((error) => {
65
- logger.error(`Fatal Error requesting API: ${error.message} (${error.cause.code})`);
66
- logger.error(`Please check your internet connection and try again, or retry later.`);
67
- process.exit(1);
68
- });
69
- return formatResponse<ResponseType, ErrorType>(response);
70
- }
71
-
72
- function toURL(path: string) {
73
- const apiBaseURL = new URL(API_BASE_URL.endsWith("/") ? API_BASE_URL : `${API_BASE_URL}/`);
74
- return new URL(path, apiBaseURL);
75
- }
76
-
77
- async function formatResponse<SuccessType, ErrorType>(
78
- response: Response,
79
- ): Promise<ResponseWrapper<SuccessType, ErrorType>> {
80
- const data = response.headers.get("content-type")?.startsWith("application/json")
81
- ? ((await response.json()) as ResponseType)
82
- : ((await response.text()) as ResponseType);
83
-
84
- if (response.ok) {
85
- return {
86
- isSuccess: true,
87
- isError: false,
88
- status: response.status,
89
- statusText: response.statusText,
90
- data: data as SuccessType,
91
- };
92
- } else {
93
- return {
94
- isSuccess: false,
95
- isError: true,
96
- status: response.status,
97
- statusText: response.statusText,
98
- data: data as ErrorType,
99
- };
100
- }
101
- }
@@ -1,64 +0,0 @@
1
- import { build } from "vite";
2
- import path, { resolve } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- import { sync as rmSync } from "rimraf";
5
- import type { CommandArgOpts, BuildOptions, CommonOptions } from "../types";
6
-
7
- const __dirname = fileURLToPath(new URL(".", import.meta.url));
8
- const configFile = resolve(__dirname, "../builder/vite-config.js");
9
- const serverEntryFile = resolve(__dirname, "../builder/vite-entry-server.js");
10
-
11
- export async function buildTemplate({ options, logger }: CommandArgOpts<CommonOptions & BuildOptions>) {
12
- logger.info("Building template...\n");
13
-
14
- if (options.clean) {
15
- rmSync(path.join(process.cwd(), "dist"));
16
- }
17
-
18
- let mode = "production";
19
-
20
- if (options.ssr === "local") {
21
- mode = "development";
22
- process.env.NODE_ENV = mode;
23
- }
24
-
25
- if (options.ssr) {
26
- // 1. client build
27
- await build({
28
- configFile,
29
- customLogger: logger,
30
- mode,
31
- logLevel: options.logLevel,
32
- clearScreen: options.clearScreen,
33
- build: {
34
- ssrManifest: true,
35
- emptyOutDir: true,
36
- },
37
- });
38
-
39
- // 2. server build
40
- await build({
41
- configFile,
42
- customLogger: logger,
43
- mode,
44
- logLevel: options.logLevel,
45
- clearScreen: options.clearScreen,
46
- ssr: {
47
- target: "webworker",
48
- },
49
- build: {
50
- ssr: serverEntryFile,
51
- },
52
- });
53
- } else {
54
- await build({
55
- configFile,
56
- customLogger: logger,
57
- logLevel: options.logLevel,
58
- clearScreen: options.clearScreen,
59
- build: {
60
- emptyOutDir: true,
61
- },
62
- });
63
- }
64
- }