bsmnt 0.1.3 → 0.2.4

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 (407) hide show
  1. package/README.md +18 -18
  2. package/dist/configs/animations.d.ts +25 -0
  3. package/dist/configs/animations.d.ts.map +1 -0
  4. package/dist/configs/animations.js +29 -0
  5. package/dist/configs/animations.js.map +1 -0
  6. package/dist/helpers/add/hooks-config.d.ts +22 -0
  7. package/dist/helpers/add/hooks-config.d.ts.map +1 -0
  8. package/dist/helpers/add/hooks-config.js +37 -0
  9. package/dist/helpers/add/hooks-config.js.map +1 -0
  10. package/dist/helpers/add/index.d.ts +18 -0
  11. package/dist/helpers/add/index.d.ts.map +1 -0
  12. package/dist/helpers/add/index.js +152 -0
  13. package/dist/helpers/add/index.js.map +1 -0
  14. package/dist/helpers/create/copy-template.d.ts +11 -0
  15. package/dist/helpers/create/copy-template.d.ts.map +1 -0
  16. package/dist/helpers/create/copy-template.js +19 -0
  17. package/dist/helpers/create/copy-template.js.map +1 -0
  18. package/dist/helpers/create/index.d.ts +22 -0
  19. package/dist/helpers/create/index.d.ts.map +1 -0
  20. package/dist/helpers/create/index.js +81 -0
  21. package/dist/helpers/create/index.js.map +1 -0
  22. package/dist/helpers/create/install.d.ts +8 -0
  23. package/dist/helpers/create/install.d.ts.map +1 -0
  24. package/dist/helpers/create/install.js +20 -0
  25. package/dist/helpers/create/install.js.map +1 -0
  26. package/dist/helpers/create/rename-files.d.ts +10 -0
  27. package/dist/helpers/create/rename-files.d.ts.map +1 -0
  28. package/dist/helpers/create/rename-files.js +17 -0
  29. package/dist/helpers/create/rename-files.js.map +1 -0
  30. package/dist/helpers/create/setup-agent.d.ts +21 -0
  31. package/dist/helpers/create/setup-agent.d.ts.map +1 -0
  32. package/dist/helpers/create/setup-agent.js +65 -0
  33. package/dist/helpers/create/setup-agent.js.map +1 -0
  34. package/dist/helpers/create/setup-sanity.d.ts +23 -0
  35. package/dist/helpers/create/setup-sanity.d.ts.map +1 -0
  36. package/dist/helpers/create/setup-sanity.js +354 -0
  37. package/dist/helpers/create/setup-sanity.js.map +1 -0
  38. package/dist/helpers/create/update-package.d.ts +20 -0
  39. package/dist/helpers/create/update-package.d.ts.map +1 -0
  40. package/dist/helpers/create/update-package.js +87 -0
  41. package/dist/helpers/create/update-package.js.map +1 -0
  42. package/dist/helpers/integrate/index.d.ts +13 -0
  43. package/dist/helpers/integrate/index.d.ts.map +1 -0
  44. package/dist/helpers/integrate/index.js +204 -0
  45. package/dist/helpers/integrate/index.js.map +1 -0
  46. package/dist/helpers/integrate/merge-config.d.ts +21 -0
  47. package/dist/helpers/integrate/merge-config.d.ts.map +1 -0
  48. package/dist/helpers/integrate/merge-config.js +38 -0
  49. package/dist/helpers/integrate/merge-config.js.map +1 -0
  50. package/dist/helpers/integrate/merge-orchestrator.d.ts +10 -0
  51. package/dist/helpers/integrate/merge-orchestrator.d.ts.map +1 -0
  52. package/dist/helpers/integrate/merge-orchestrator.js +188 -0
  53. package/dist/helpers/integrate/merge-orchestrator.js.map +1 -0
  54. package/dist/helpers/integrate/sanity/config.d.ts +14 -0
  55. package/dist/helpers/integrate/sanity/config.d.ts.map +1 -0
  56. package/dist/helpers/integrate/sanity/config.js +38 -0
  57. package/dist/helpers/integrate/sanity/config.js.map +1 -0
  58. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.d.ts +13 -0
  59. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.d.ts.map +1 -0
  60. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.js +84 -0
  61. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.js.map +1 -0
  62. package/dist/helpers/integrate/sanity/mergers/layout-merger.d.ts +23 -0
  63. package/dist/helpers/integrate/sanity/mergers/layout-merger.d.ts.map +1 -0
  64. package/dist/helpers/integrate/sanity/mergers/layout-merger.js +161 -0
  65. package/dist/helpers/integrate/sanity/mergers/layout-merger.js.map +1 -0
  66. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.d.ts +13 -0
  67. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.d.ts.map +1 -0
  68. package/{packages/create-basement-app/src → dist/helpers/integrate/sanity}/mergers/sitemap-merger.js +33 -45
  69. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.js.map +1 -0
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +337 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/paths.d.ts +14 -0
  75. package/dist/paths.d.ts.map +1 -0
  76. package/dist/paths.js +24 -0
  77. package/dist/paths.js.map +1 -0
  78. package/dist/utils/detect-project.d.ts +40 -0
  79. package/dist/utils/detect-project.d.ts.map +1 -0
  80. package/dist/utils/detect-project.js +69 -0
  81. package/dist/utils/detect-project.js.map +1 -0
  82. package/dist/utils/format-results.d.ts +24 -0
  83. package/dist/utils/format-results.d.ts.map +1 -0
  84. package/dist/utils/format-results.js +27 -0
  85. package/dist/utils/format-results.js.map +1 -0
  86. package/index.js +25 -0
  87. package/package.json +40 -15
  88. package/{packages/create-basement-app/templates/experiment → src/templates/next-default}/app/layout.tsx +18 -18
  89. package/src/templates/next-default/app/page.tsx +11 -0
  90. package/{packages/create-basement-app/templates/experiment → src/templates/next-default}/app/robots.ts +3 -3
  91. package/{packages/create-basement-app/templates/webgl → src/templates/next-default}/app/sitemap.ts +4 -4
  92. package/{packages/create-basement-app/templates/default → src/templates/next-default}/biome.json +2 -2
  93. package/{packages/create-basement-app/templates/webgl → src/templates/next-default}/components/layout/footer/index.tsx +5 -1
  94. package/{packages/create-basement-app/templates/webgl → src/templates/next-default}/components/layout/header/index.tsx +1 -3
  95. package/{packages/create-basement-app/templates/default → src/templates/next-default}/components/layout/theme/index.tsx +1 -1
  96. package/{packages/create-basement-app/templates/default → src/templates/next-default}/components/layout/wrapper/index.tsx +0 -2
  97. package/{packages/create-basement-app/templates/webgl → src/templates/next-default}/components/ui/image/index.tsx +6 -11
  98. package/{packages/create-basement-app/templates/experiment → src/templates/next-default}/components/ui/link/index.tsx +39 -33
  99. package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/metadata.ts +26 -26
  100. package/{packages/create-basement-app/templates/default → src/templates/next-default}/package.json +4 -4
  101. package/{packages/create-basement-app/templates/webgl → src/templates/next-experiments}/app/layout.tsx +18 -18
  102. package/{packages/create-basement-app/templates/webgl → src/templates/next-experiments}/app/robots.ts +3 -3
  103. package/{packages/create-basement-app/templates/default → src/templates/next-experiments}/app/sitemap.ts +4 -4
  104. package/{packages/create-basement-app/templates/webgl → src/templates/next-experiments}/biome.json +2 -2
  105. package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/components/layout/theme/index.tsx +1 -1
  106. package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/components/layout/wrapper/index.tsx +7 -9
  107. package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/components/ui/image/index.tsx +39 -46
  108. package/{packages/create-basement-app/templates/default → src/templates/next-experiments}/components/ui/link/index.tsx +6 -0
  109. package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/metadata.ts +26 -26
  110. package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/package.json +4 -4
  111. package/{packages/create-basement-app/templates/default → src/templates/next-webgl}/app/layout.tsx +18 -18
  112. package/{packages/create-basement-app/templates/default → src/templates/next-webgl}/app/robots.ts +3 -3
  113. package/{packages/create-basement-app/templates/experiment → src/templates/next-webgl}/app/sitemap.ts +4 -4
  114. package/{packages/create-basement-app/templates/experiment → src/templates/next-webgl}/biome.json +2 -2
  115. package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/layout/theme/index.tsx +1 -1
  116. package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/layout/wrapper/index.tsx +0 -2
  117. package/{packages/create-basement-app/templates/default → src/templates/next-webgl}/components/ui/image/index.tsx +6 -11
  118. package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/ui/link/index.tsx +9 -2
  119. package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/webgl/components/scene/index.tsx +1 -0
  120. package/src/templates/next-webgl/lib/renderer.ts +7 -0
  121. package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/metadata.ts +26 -26
  122. package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/package.json +4 -4
  123. package/packages/cli/bin/index.js +0 -259
  124. package/packages/cli/src/commands/add-integration.js +0 -310
  125. package/packages/cli/src/commands/create.js +0 -409
  126. package/packages/cli/src/commands/setup-sanity.js +0 -426
  127. package/packages/cli/src/commands/worktree.js +0 -805
  128. package/packages/create-basement-app/integrations/sanity/config.js +0 -46
  129. package/packages/create-basement-app/integrations/sanity/files/app/api/draft-mode/disable/route.ts +0 -7
  130. package/packages/create-basement-app/integrations/sanity/files/app/api/draft-mode/enable/route.ts +0 -21
  131. package/packages/create-basement-app/integrations/sanity/files/app/api/revalidate/route.ts +0 -37
  132. package/packages/create-basement-app/integrations/sanity/files/app/layout.tsx +0 -111
  133. package/packages/create-basement-app/integrations/sanity/files/app/sitemap.ts +0 -80
  134. package/packages/create-basement-app/integrations/sanity/files/app/studio/[[...tool]]/page.tsx +0 -8
  135. package/packages/create-basement-app/integrations/sanity/files/app/studio/layout.tsx +0 -7
  136. package/packages/create-basement-app/integrations/sanity/files/components/ui/sanity-image/index.tsx +0 -37
  137. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/README.md +0 -58
  138. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/check-integration.ts +0 -62
  139. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/README.md +0 -144
  140. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/client.ts +0 -30
  141. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/components/disable-draft-mode.tsx +0 -29
  142. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/components/rich-text.tsx +0 -73
  143. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/env.ts +0 -38
  144. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/live/index.tsx +0 -34
  145. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/queries.ts +0 -99
  146. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/sanity.cli.ts +0 -20
  147. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/sanity.config.ts +0 -94
  148. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/sanity.types.ts +0 -337
  149. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schema.json +0 -1850
  150. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schemas/article.ts +0 -132
  151. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schemas/example.ts +0 -203
  152. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schemas/index.ts +0 -37
  153. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schemas/link.ts +0 -127
  154. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schemas/metadata.ts +0 -68
  155. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schemas/navigation.ts +0 -39
  156. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schemas/page.ts +0 -77
  157. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/schemas/richText.ts +0 -59
  158. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/structure.ts +0 -5
  159. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/utils/image.ts +0 -11
  160. package/packages/create-basement-app/integrations/sanity/files/lib/integrations/sanity/utils/link.ts +0 -61
  161. package/packages/create-basement-app/integrations/sanity/files/lib/scripts/copy-sanity-mcp.ts +0 -23
  162. package/packages/create-basement-app/integrations/sanity/files/lib/scripts/generate-page.ts +0 -310
  163. package/packages/create-basement-app/integrations/sanity/files/lib/utils/metadata.ts +0 -190
  164. package/packages/create-basement-app/integrations/sanity/mergers/check-integration-merger.js +0 -105
  165. package/packages/create-basement-app/integrations/sanity/mergers/layout-merger.js +0 -223
  166. package/packages/create-basement-app/integrations/sanity/mergers/sitemap-merger.js +0 -121
  167. package/packages/create-basement-app/package.json +0 -10
  168. package/packages/create-basement-app/src/configs/animations.js +0 -28
  169. package/packages/create-basement-app/src/index.js +0 -15
  170. package/packages/create-basement-app/src/mergers/check-integration-merger.js +0 -105
  171. package/packages/create-basement-app/src/mergers/config.js +0 -109
  172. package/packages/create-basement-app/src/mergers/index.js +0 -346
  173. package/packages/create-basement-app/src/mergers/layout-merger.js +0 -223
  174. package/packages/create-basement-app/templates/default/.cursor/rules/README.md +0 -184
  175. package/packages/create-basement-app/templates/default/.cursor/rules/architecture.mdc +0 -437
  176. package/packages/create-basement-app/templates/default/.cursor/rules/components.mdc +0 -436
  177. package/packages/create-basement-app/templates/default/.cursor/rules/integrations.mdc +0 -447
  178. package/packages/create-basement-app/templates/default/.cursor/rules/main.mdc +0 -278
  179. package/packages/create-basement-app/templates/default/.cursor/rules/styling.mdc +0 -433
  180. package/packages/create-basement-app/templates/default/.github/workflows/lighthouse-to-slack.yml +0 -136
  181. package/packages/create-basement-app/templates/experiment/.cursor/rules/README.md +0 -184
  182. package/packages/create-basement-app/templates/experiment/.cursor/rules/architecture.mdc +0 -437
  183. package/packages/create-basement-app/templates/experiment/.cursor/rules/components.mdc +0 -436
  184. package/packages/create-basement-app/templates/experiment/.cursor/rules/integrations.mdc +0 -447
  185. package/packages/create-basement-app/templates/experiment/.cursor/rules/main.mdc +0 -278
  186. package/packages/create-basement-app/templates/experiment/.cursor/rules/styling.mdc +0 -433
  187. package/packages/create-basement-app/templates/experiment/.github/workflows/lighthouse-to-slack.yml +0 -136
  188. package/packages/create-basement-app/templates/experiment/app/page.tsx +0 -275
  189. package/packages/create-basement-app/templates/webgl/.biome/plugins/README.md +0 -21
  190. package/packages/create-basement-app/templates/webgl/.cursor/rules/README.md +0 -184
  191. package/packages/create-basement-app/templates/webgl/.cursor/rules/architecture.mdc +0 -437
  192. package/packages/create-basement-app/templates/webgl/.cursor/rules/components.mdc +0 -436
  193. package/packages/create-basement-app/templates/webgl/.cursor/rules/integrations.mdc +0 -447
  194. package/packages/create-basement-app/templates/webgl/.cursor/rules/main.mdc +0 -278
  195. package/packages/create-basement-app/templates/webgl/.cursor/rules/styling.mdc +0 -433
  196. package/packages/create-basement-app/templates/webgl/.github/workflows/lighthouse-to-slack.yml +0 -136
  197. /package/{packages/create-basement-app/plugins → plugins}/no-anchor-element.grit +0 -0
  198. /package/{packages/create-basement-app/plugins → plugins}/no-relative-parent-imports.grit +0 -0
  199. /package/{packages/create-basement-app/plugins → plugins}/no-unnecessary-forwardref.grit +0 -0
  200. /package/{packages/create-basement-app → src}/template-hooks/config.js +0 -0
  201. /package/{packages/create-basement-app → src}/template-hooks/use-battery.ts +0 -0
  202. /package/{packages/create-basement-app → src}/template-hooks/use-device-perf.ts +0 -0
  203. /package/{packages/create-basement-app → src}/template-hooks/use-intersection-observer.ts +0 -0
  204. /package/{packages/create-basement-app → src}/template-hooks/use-media.ts +0 -0
  205. /package/{packages/create-basement-app → src/templates/next-default/.biome}/plugins/README.md +0 -0
  206. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.biome/plugins/no-anchor-element.grit +0 -0
  207. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.biome/plugins/no-relative-parent-imports.grit +0 -0
  208. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.biome/plugins/no-unnecessary-forwardref.grit +0 -0
  209. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.editorconfig +0 -0
  210. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.env.example +0 -0
  211. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.gitattributes +0 -0
  212. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  213. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.vscode/extensions.json +0 -0
  214. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/.vscode/settings.json +0 -0
  215. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/README.md +0 -0
  216. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/_gitignore +0 -0
  217. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/app/favicon.ico +0 -0
  218. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/components/basement.svg +0 -0
  219. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/components/ui/README.md +0 -0
  220. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/components/ui/image/README.md +0 -0
  221. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/README.md +0 -0
  222. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/hooks/index.ts +0 -0
  223. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/hooks/use-device-detection.ts +0 -0
  224. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/hooks/use-media-breakpoint.ts +0 -0
  225. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/hooks/use-prefetch.ts +0 -0
  226. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/integrations/.gitkeep +0 -0
  227. /package/{packages/create-basement-app/templates/webgl → src/templates/next-default}/lib/renderer.ts +0 -0
  228. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/scripts/dev.ts +0 -0
  229. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/scripts/generate-component.ts +0 -0
  230. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/scripts/generate-page.ts +0 -0
  231. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/scripts/generate.ts +0 -0
  232. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/scripts/utils.ts +0 -0
  233. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/store/app.ts +0 -0
  234. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/store/index.ts +0 -0
  235. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/README.md +0 -0
  236. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/cn.ts +0 -0
  237. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/colors.ts +0 -0
  238. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/config.ts +0 -0
  239. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/css/global.css +0 -0
  240. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/css/index.css +0 -0
  241. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/css/reset.css +0 -0
  242. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/css/root.css +0 -0
  243. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/css/tailwind.css +0 -0
  244. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/easings.ts +0 -0
  245. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/fonts.ts +0 -0
  246. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/index.ts +0 -0
  247. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/layout.mjs +0 -0
  248. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/scripts/README.md +0 -0
  249. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/scripts/generate-root.ts +0 -0
  250. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/scripts/generate-tailwind.ts +0 -0
  251. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/scripts/postcss-functions.mjs +0 -0
  252. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/scripts/setup-styles.ts +0 -0
  253. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/scripts/utils.ts +0 -0
  254. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/styles/typography.ts +0 -0
  255. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/README.md +0 -0
  256. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/css.d.ts +0 -0
  257. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/easings.ts +0 -0
  258. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/fetch.ts +0 -0
  259. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/math.test.ts +0 -0
  260. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/math.ts +0 -0
  261. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/strings.test.ts +0 -0
  262. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/strings.ts +0 -0
  263. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/types.d.ts +0 -0
  264. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/viewport.test.ts +0 -0
  265. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/lib/utils/viewport.ts +0 -0
  266. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/next.config.ts +0 -0
  267. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/postcss.config.mjs +0 -0
  268. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/public/fonts/geist/Geist-Mono.woff2 +0 -0
  269. /package/{packages/create-basement-app/templates/default → src/templates/next-default}/tsconfig.json +0 -0
  270. /package/{packages/create-basement-app/templates/default → src/templates/next-experiments}/.biome/plugins/README.md +0 -0
  271. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.biome/plugins/no-anchor-element.grit +0 -0
  272. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.biome/plugins/no-relative-parent-imports.grit +0 -0
  273. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.biome/plugins/no-unnecessary-forwardref.grit +0 -0
  274. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.editorconfig +0 -0
  275. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.env.example +0 -0
  276. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.gitattributes +0 -0
  277. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  278. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.vscode/extensions.json +0 -0
  279. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/.vscode/settings.json +0 -0
  280. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/README.md +0 -0
  281. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/_gitignore +0 -0
  282. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/app/favicon.ico +0 -0
  283. /package/{packages/create-basement-app/templates/default → src/templates/next-experiments}/app/page.tsx +0 -0
  284. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/components/basement.svg +0 -0
  285. /package/{packages/create-basement-app/templates/default → src/templates/next-experiments}/components/layout/footer/index.tsx +0 -0
  286. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/components/layout/header/index.tsx +0 -0
  287. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/components/layout/navigation-menu.tsx +0 -0
  288. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/components/ui/README.md +0 -0
  289. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/components/ui/image/README.md +0 -0
  290. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/README.md +0 -0
  291. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/constants.ts +0 -0
  292. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/hooks/index.ts +0 -0
  293. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/hooks/use-device-detection.ts +0 -0
  294. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/hooks/use-media-breakpoint.ts +0 -0
  295. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/hooks/use-prefetch.ts +0 -0
  296. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/integrations/.gitkeep +0 -0
  297. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/scripts/dev.ts +0 -0
  298. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/scripts/generate-component.ts +0 -0
  299. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/scripts/generate-page.ts +0 -0
  300. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/scripts/generate.ts +0 -0
  301. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/scripts/utils.ts +0 -0
  302. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/store/app.ts +0 -0
  303. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/store/index.ts +0 -0
  304. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/README.md +0 -0
  305. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/cn.ts +0 -0
  306. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/colors.ts +0 -0
  307. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/config.ts +0 -0
  308. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/css/global.css +0 -0
  309. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/css/index.css +0 -0
  310. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/css/reset.css +0 -0
  311. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/css/root.css +0 -0
  312. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/css/tailwind.css +0 -0
  313. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/easings.ts +0 -0
  314. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/fonts.ts +0 -0
  315. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/index.ts +0 -0
  316. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/layout.mjs +0 -0
  317. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/scripts/README.md +0 -0
  318. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/scripts/generate-root.ts +0 -0
  319. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/scripts/generate-tailwind.ts +0 -0
  320. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/scripts/postcss-functions.mjs +0 -0
  321. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/scripts/setup-styles.ts +0 -0
  322. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/scripts/utils.ts +0 -0
  323. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/styles/typography.ts +0 -0
  324. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/README.md +0 -0
  325. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/css.d.ts +0 -0
  326. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/easings.ts +0 -0
  327. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/fetch.ts +0 -0
  328. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/math.test.ts +0 -0
  329. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/math.ts +0 -0
  330. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/strings.test.ts +0 -0
  331. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/strings.ts +0 -0
  332. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/types.d.ts +0 -0
  333. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/viewport.test.ts +0 -0
  334. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/lib/utils/viewport.ts +0 -0
  335. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/next.config.ts +0 -0
  336. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/postcss.config.mjs +0 -0
  337. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/public/fonts/geist/Geist-Mono.woff2 +0 -0
  338. /package/{packages/create-basement-app/templates/experiment → src/templates/next-experiments}/tsconfig.json +0 -0
  339. /package/{packages/create-basement-app/templates/experiment → src/templates/next-webgl}/.biome/plugins/README.md +0 -0
  340. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.biome/plugins/no-anchor-element.grit +0 -0
  341. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.biome/plugins/no-relative-parent-imports.grit +0 -0
  342. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.biome/plugins/no-unnecessary-forwardref.grit +0 -0
  343. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.editorconfig +0 -0
  344. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.env.example +0 -0
  345. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.gitattributes +0 -0
  346. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  347. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.vscode/extensions.json +0 -0
  348. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/.vscode/settings.json +0 -0
  349. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/README.md +0 -0
  350. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/_gitignore +0 -0
  351. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/app/favicon.ico +0 -0
  352. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/app/page.tsx +0 -0
  353. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/basement.svg +0 -0
  354. /package/{packages/create-basement-app/templates/experiment → src/templates/next-webgl}/components/layout/footer/index.tsx +0 -0
  355. /package/{packages/create-basement-app/templates/default → src/templates/next-webgl}/components/layout/header/index.tsx +0 -0
  356. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/ui/README.md +0 -0
  357. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/ui/image/README.md +0 -0
  358. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/webgl/canvas/dynamic.tsx +0 -0
  359. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/components/webgl/canvas/index.tsx +0 -0
  360. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/README.md +0 -0
  361. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/hooks/index.ts +0 -0
  362. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/hooks/use-device-detection.ts +0 -0
  363. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/hooks/use-media-breakpoint.ts +0 -0
  364. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/hooks/use-prefetch.ts +0 -0
  365. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/integrations/.gitkeep +0 -0
  366. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/scripts/dev.ts +0 -0
  367. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/scripts/generate-component.ts +0 -0
  368. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/scripts/generate-page.ts +0 -0
  369. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/scripts/generate.ts +0 -0
  370. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/scripts/utils.ts +0 -0
  371. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/store/app.ts +0 -0
  372. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/store/index.ts +0 -0
  373. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/README.md +0 -0
  374. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/cn.ts +0 -0
  375. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/colors.ts +0 -0
  376. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/config.ts +0 -0
  377. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/css/global.css +0 -0
  378. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/css/index.css +0 -0
  379. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/css/reset.css +0 -0
  380. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/css/root.css +0 -0
  381. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/css/tailwind.css +0 -0
  382. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/easings.ts +0 -0
  383. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/fonts.ts +0 -0
  384. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/index.ts +0 -0
  385. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/layout.mjs +0 -0
  386. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/scripts/README.md +0 -0
  387. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/scripts/generate-root.ts +0 -0
  388. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/scripts/generate-tailwind.ts +0 -0
  389. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/scripts/postcss-functions.mjs +0 -0
  390. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/scripts/setup-styles.ts +0 -0
  391. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/scripts/utils.ts +0 -0
  392. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/styles/typography.ts +0 -0
  393. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/README.md +0 -0
  394. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/css.d.ts +0 -0
  395. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/easings.ts +0 -0
  396. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/fetch.ts +0 -0
  397. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/math.test.ts +0 -0
  398. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/math.ts +0 -0
  399. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/strings.test.ts +0 -0
  400. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/strings.ts +0 -0
  401. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/types.d.ts +0 -0
  402. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/viewport.test.ts +0 -0
  403. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/lib/utils/viewport.ts +0 -0
  404. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/next.config.ts +0 -0
  405. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/postcss.config.mjs +0 -0
  406. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/public/fonts/geist/Geist-Mono.woff2 +0 -0
  407. /package/{packages/create-basement-app/templates/webgl → src/templates/next-webgl}/tsconfig.json +0 -0
@@ -1,73 +0,0 @@
1
- import { PortableText, type PortableTextBlock } from "@portabletext/react";
2
- import { Link } from "@/components/ui/link";
3
- import { SanityImage } from "@/components/ui/sanity-image";
4
-
5
- interface RichTextProps {
6
- content: PortableTextBlock[];
7
- }
8
-
9
- interface LinkFieldData {
10
- type: "external" | "internal";
11
- url?: string;
12
- blank?: boolean;
13
- label?: string;
14
- }
15
-
16
- function resolveLinkFieldUrl(linkData: LinkFieldData): string {
17
- if (!linkData) return "#";
18
-
19
- // External URL
20
- if (linkData.type === "external" && linkData.url) {
21
- return linkData.url;
22
- }
23
-
24
- // Internal path (like /home, /hubspot, /r3f, etc.)
25
- if (linkData.type === "internal" && linkData.url) {
26
- return linkData.url;
27
- }
28
-
29
- return "#";
30
- }
31
-
32
- export function RichText({ content }: RichTextProps) {
33
- if (!content) return null;
34
-
35
- return (
36
- <PortableText
37
- value={content}
38
- components={{
39
- types: {
40
- image: ({ value }) => <SanityImage image={value} maxWidth={1920} />,
41
- },
42
- marks: {
43
- link: ({ children, value }) => {
44
- const href = resolveLinkFieldUrl(value);
45
- const isExternal = value?.type === "url";
46
-
47
- return (
48
- <Link
49
- href={href}
50
- target={isExternal && value?.blank ? "_blank" : undefined}
51
- rel={
52
- isExternal && value?.blank ? "noopener noreferrer" : undefined
53
- }
54
- data-sanity-edit-target
55
- >
56
- {children}
57
- </Link>
58
- );
59
- },
60
- },
61
- block: {
62
- h1: ({ children }) => <h1 className="h1">{children}</h1>,
63
- h2: ({ children }) => <h2 className="h2">{children}</h2>,
64
- h3: ({ children }) => <h3 className="h3">{children}</h3>,
65
- h4: ({ children }) => <h4 className="h4">{children}</h4>,
66
- h5: ({ children }) => <h5 className="h5">{children}</h5>,
67
- h6: ({ children }) => <h6 className="h6">{children}</h6>,
68
- normal: ({ children }) => <p className="p">{children}</p>,
69
- },
70
- }}
71
- />
72
- );
73
- }
@@ -1,38 +0,0 @@
1
- /**
2
- * Sanity Environment Configuration
3
- *
4
- * All values have safe defaults to allow the app to build and run
5
- * without Sanity configured. Use isSanityConfigured() to check
6
- * if Sanity is properly set up before making API calls.
7
- */
8
-
9
- /** Sanity API version - defaults to latest stable */
10
- export const apiVersion =
11
- process.env.NEXT_PUBLIC_SANITY_API_VERSION || "2024-03-15";
12
-
13
- /** Sanity dataset name - defaults to 'production' */
14
- export const dataset = process.env.NEXT_PUBLIC_SANITY_DATASET || "production";
15
-
16
- /** Sanity project ID - empty string if not configured */
17
- export const projectId =
18
- process.env.NEXT_PUBLIC_SANITY_PROJECT_ID ||
19
- process.env.SANITY_STUDIO_PROJECT_ID ||
20
- "";
21
-
22
- /** Sanity Studio URL for visual editing */
23
- export const studioUrl =
24
- process.env.NODE_ENV === "development"
25
- ? "http://localhost:3000/studio"
26
- : `${process.env.NEXT_PUBLIC_BASE_URL || ""}/studio`;
27
-
28
- /** Public read token for client-side queries */
29
- export const publicToken = process.env.NEXT_PUBLIC_SANITY_API_READ_TOKEN || "";
30
-
31
- /** Private token for server-side mutations (optional) */
32
- export const privateToken = process.env.SANITY_PRIVATE_TOKEN || "";
33
-
34
- /** Preview URL for draft mode */
35
- export const previewURL =
36
- process.env.NODE_ENV === "development"
37
- ? "http://localhost:3000"
38
- : process.env.NEXT_PUBLIC_BASE_URL || "";
@@ -1,34 +0,0 @@
1
- import { defineLive } from "next-sanity/live";
2
- import { isSanityConfigured } from "@/lib/integrations/check-integration";
3
- import { client } from "../client";
4
- import { privateToken, publicToken } from "../env";
5
-
6
- /**
7
- * Sanity Live configuration
8
- *
9
- * When Sanity is not configured, provides stub implementation
10
- * that returns null instead of throwing errors.
11
- */
12
- const isConfigured = isSanityConfigured() && client;
13
-
14
- const liveExports = isConfigured
15
- ? defineLive({
16
- // biome-ignore lint/style/noNonNullAssertion: client is checked via isConfigured above
17
- client: client!,
18
- browserToken: publicToken,
19
- serverToken: privateToken,
20
- })
21
- : null;
22
-
23
- /**
24
- * Standard sanityFetch function from next-sanity/live.
25
- * When Sanity is not configured, returns null data.
26
- */
27
- export const sanityFetch =
28
- liveExports?.sanityFetch ?? (async () => ({ data: null }));
29
-
30
- /**
31
- * Sanity Live component for real-time updates.
32
- * Returns null when Sanity is not configured.
33
- */
34
- export const SanityLive = liveExports?.SanityLive ?? (() => null);
@@ -1,99 +0,0 @@
1
- import { groq } from "next-sanity";
2
-
3
- // Helper for rich text content with link projections
4
- const richTextWithLinks = `
5
- content[]{
6
- ...,
7
- markDefs[]{
8
- ...,
9
- _type == "link" => {
10
- ...,
11
- internalLink->{_type, slug, title}
12
- }
13
- }
14
- }
15
- `;
16
-
17
- const linkWithLabel = `
18
- link {
19
- ...,
20
- internalLink->{_type, slug, title}
21
- }
22
- `;
23
-
24
- // Page queries
25
- export const pageQuery = groq`
26
- *[_type == "page" && slug.current == $slug][0] {
27
- _id,
28
- title,
29
- slug,
30
- ${richTextWithLinks},
31
- ${linkWithLabel},
32
- metadata,
33
- publishedAt,
34
- _updatedAt
35
- }
36
- `;
37
-
38
- export const pageByIdQuery = groq`
39
- *[_type == "page" && _id == $id][0] {
40
- _id,
41
- title,
42
- slug,
43
- ${richTextWithLinks},
44
- metadata,
45
- publishedAt,
46
- _updatedAt
47
- }
48
- `;
49
-
50
- // Article queries
51
- export const articleQuery = groq`
52
- *[_type == "article" && slug.current == $slug][0] {
53
- _id,
54
- title,
55
- slug,
56
- excerpt,
57
- featuredImage,
58
- ${richTextWithLinks},
59
- categories,
60
- tags,
61
- author,
62
- publishedAt,
63
- metadata,
64
- _updatedAt
65
- }
66
- `;
67
-
68
- export const allArticlesQuery = groq`
69
- *[_type == "article"] | order(publishedAt desc) {
70
- _id,
71
- title,
72
- slug,
73
- excerpt,
74
- featuredImage,
75
- categories,
76
- tags,
77
- author,
78
- publishedAt,
79
- metadata,
80
- _updatedAt
81
- }
82
- `;
83
-
84
- export const articleByIdQuery = groq`
85
- *[_type == "article" && _id == $id][0] {
86
- _id,
87
- title,
88
- slug,
89
- excerpt,
90
- featuredImage,
91
- ${richTextWithLinks},
92
- categories,
93
- tags,
94
- author,
95
- publishedAt,
96
- metadata,
97
- _updatedAt
98
- }
99
- `;
@@ -1,20 +0,0 @@
1
- /**
2
- * This configuration file lets you run `$ sanity [command]` in this folder
3
- * Go to https://www.sanity.io/docs/cli to learn more.
4
- **/
5
- import { defineCliConfig } from "sanity/cli";
6
- import { dataset, projectId } from "./env";
7
-
8
- export default defineCliConfig({
9
- api: { projectId, dataset },
10
- project: {
11
- basePath: "/studio",
12
- },
13
- vite: {
14
- resolve: {
15
- alias: {
16
- "~": __dirname,
17
- },
18
- },
19
- },
20
- });
@@ -1,94 +0,0 @@
1
- /**
2
- * This configuration is used to for the Sanity Studio that's mounted on the `/app/studio/[[...tool]]/page.tsx` route
3
- */
4
-
5
- import { visionTool } from "@sanity/vision";
6
- import { defineConfig } from "sanity";
7
- import {
8
- defineDocuments,
9
- defineLocations,
10
- presentationTool,
11
- } from "sanity/presentation";
12
- import { structureTool } from "sanity/structure";
13
- import { apiVersion, dataset, previewURL, projectId } from "./env";
14
- import { schema } from "./schemas";
15
- import { structure } from "./structure";
16
-
17
- // Helper function for URL resolution
18
- function resolveHref(documentType?: string, slug?: string): string | undefined {
19
- switch (documentType) {
20
- case "page":
21
- return slug === "sanity" ? "/sanity" : `/sanity/${slug}`;
22
- case "article":
23
- return slug ? `/sanity/${slug}` : undefined;
24
- default:
25
- console.warn("Invalid document type:", documentType);
26
- return undefined;
27
- }
28
- }
29
-
30
- export default defineConfig({
31
- basePath: "/studio",
32
- projectId,
33
- dataset,
34
- schema,
35
- plugins: [
36
- // Presentation tool for visual editing
37
- presentationTool({
38
- resolve: {
39
- // Map routes to documents and GROQ filters
40
- mainDocuments: defineDocuments([
41
- {
42
- route: "/sanity",
43
- filter: `_type == "page" && slug.current == "sanity"`,
44
- },
45
- {
46
- route: "/sanity/:slug",
47
- filter: `_type == "article" && slug.current == $slug && defined(slug.current)`,
48
- },
49
- ]),
50
- locations: {
51
- page: defineLocations({
52
- select: {
53
- title: "title",
54
- slug: "slug.current",
55
- },
56
- resolve: (doc) => ({
57
- locations: [
58
- {
59
- title: doc?.title || "Untitled Page",
60
- href: resolveHref("page", doc?.slug) ?? "",
61
- },
62
- ],
63
- }),
64
- }),
65
- article: defineLocations({
66
- select: {
67
- title: "title",
68
- slug: "slug.current",
69
- },
70
- resolve: (doc) => ({
71
- locations: [
72
- {
73
- title: doc?.title || "Untitled Article",
74
- href: resolveHref("article", doc?.slug) ?? "",
75
- },
76
- ],
77
- }),
78
- }),
79
- },
80
- },
81
- previewUrl: {
82
- origin: previewURL,
83
- draftMode: {
84
- enable: "/api/draft-mode/enable",
85
- disable: "/api/draft-mode/disable",
86
- },
87
- },
88
- }),
89
- structureTool({ structure }),
90
- // Vision is for querying with GROQ from inside the Studio
91
- // https://www.sanity.io/docs/the-vision-plugin
92
- visionTool({ defaultApiVersion: apiVersion }),
93
- ],
94
- });
@@ -1,337 +0,0 @@
1
- /**
2
- * ---------------------------------------------------------------------------------
3
- * This file has been generated by Sanity TypeGen.
4
- * Command: `sanity typegen generate`
5
- *
6
- * Any modifications made directly to this file will be overwritten the next time
7
- * the TypeScript definitions are generated. Please make changes to the Sanity
8
- * schema definitions and/or GROQ queries if you need to update these types.
9
- *
10
- * For more information on how to use Sanity TypeGen, visit the official documentation:
11
- * https://www.sanity.io/docs/sanity-typegen
12
- * ---------------------------------------------------------------------------------
13
- */
14
-
15
- // Source: schema.json
16
- export type SanityImageAssetReference = {
17
- _ref: string;
18
- _type: "reference";
19
- _weak?: boolean;
20
- [internalGroqTypeReferenceTo]?: "sanity.imageAsset";
21
- };
22
-
23
- export type Navigation = {
24
- _id: string;
25
- _type: "navigation";
26
- _createdAt: string;
27
- _updatedAt: string;
28
- _rev: string;
29
- title?: string;
30
- socials?: Array<{
31
- logo?: {
32
- asset?: SanityImageAssetReference;
33
- media?: unknown;
34
- hotspot?: SanityImageHotspot;
35
- crop?: SanityImageCrop;
36
- _type: "image";
37
- };
38
- socialMedia?: Link;
39
- _type: "socialLink";
40
- _key: string;
41
- }>;
42
- };
43
-
44
- export type PageReference = {
45
- _ref: string;
46
- _type: "reference";
47
- _weak?: boolean;
48
- [internalGroqTypeReferenceTo]?: "page";
49
- };
50
-
51
- export type ArticleReference = {
52
- _ref: string;
53
- _type: "reference";
54
- _weak?: boolean;
55
- [internalGroqTypeReferenceTo]?: "article";
56
- };
57
-
58
- export type Link = {
59
- _type: "link";
60
- linkType?: "internal" | "external";
61
- internalLink?: PageReference | ArticleReference;
62
- externalUrl?: string;
63
- text?: string;
64
- openInNewTab?: boolean;
65
- };
66
-
67
- export type SanityImageCrop = {
68
- _type: "sanity.imageCrop";
69
- top?: number;
70
- bottom?: number;
71
- left?: number;
72
- right?: number;
73
- };
74
-
75
- export type SanityImageHotspot = {
76
- _type: "sanity.imageHotspot";
77
- x?: number;
78
- y?: number;
79
- height?: number;
80
- width?: number;
81
- };
82
-
83
- export type Example = {
84
- _id: string;
85
- _type: "example";
86
- _createdAt: string;
87
- _updatedAt: string;
88
- _rev: string;
89
- title?: string;
90
- slug?: Slug;
91
- hero?: {
92
- headline?: string;
93
- subheadline?: string;
94
- image?: {
95
- asset?: SanityImageAssetReference;
96
- media?: unknown;
97
- hotspot?: SanityImageHotspot;
98
- crop?: SanityImageCrop;
99
- alt?: string;
100
- _type: "image";
101
- };
102
- showCTA?: boolean;
103
- ctaText?: string;
104
- ctaLink?: string;
105
- };
106
- content?: RichText;
107
- features?: Array<{
108
- title?: string;
109
- description?: string;
110
- icon?: {
111
- asset?: SanityImageAssetReference;
112
- media?: unknown;
113
- hotspot?: SanityImageHotspot;
114
- crop?: SanityImageCrop;
115
- _type: "image";
116
- };
117
- _key: string;
118
- }>;
119
- tags?: string[];
120
- metadata?: Metadata;
121
- publishedAt?: string;
122
- showInNavigation?: boolean;
123
- contactEmail?: string;
124
- };
125
-
126
- export type Metadata = {
127
- _type: "metadata";
128
- title?: string;
129
- description?: string;
130
- keywords?: string[];
131
- image?: {
132
- asset?: SanityImageAssetReference;
133
- media?: unknown;
134
- hotspot?: SanityImageHotspot;
135
- crop?: SanityImageCrop;
136
- alt?: string;
137
- _type: "image";
138
- };
139
- noIndex?: boolean;
140
- };
141
-
142
- export type RichText = Array<
143
- | {
144
- children?: Array<{
145
- marks?: string[];
146
- text?: string;
147
- _type: "span";
148
- _key: string;
149
- }>;
150
- style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
151
- listItem?: "bullet" | "number";
152
- markDefs?: Array<
153
- {
154
- _key: string;
155
- } & Link
156
- >;
157
- level?: number;
158
- _type: "block";
159
- _key: string;
160
- }
161
- | {
162
- asset?: SanityImageAssetReference;
163
- media?: unknown;
164
- hotspot?: SanityImageHotspot;
165
- crop?: SanityImageCrop;
166
- alt?: string;
167
- caption?: string;
168
- _type: "image";
169
- _key: string;
170
- }
171
- >;
172
-
173
- export type Slug = {
174
- _type: "slug";
175
- current?: string;
176
- source?: string;
177
- };
178
-
179
- export type Article = {
180
- _id: string;
181
- _type: "article";
182
- _createdAt: string;
183
- _updatedAt: string;
184
- _rev: string;
185
- slug?: Slug;
186
- author?: string;
187
- publishedAt?: string;
188
- metadata?: Metadata;
189
- title?: string;
190
- excerpt?: string;
191
- featuredImage?: {
192
- asset?: SanityImageAssetReference;
193
- media?: unknown;
194
- hotspot?: SanityImageHotspot;
195
- crop?: SanityImageCrop;
196
- alt?: string;
197
- _type: "image";
198
- };
199
- content?: RichText;
200
- categories?: string[];
201
- tags?: string[];
202
- };
203
-
204
- export type Page = {
205
- _id: string;
206
- _type: "page";
207
- _createdAt: string;
208
- _updatedAt: string;
209
- _rev: string;
210
- slug?: Slug;
211
- publishedAt?: string;
212
- metadata?: Metadata;
213
- title?: string;
214
- content?: RichText;
215
- link?: Link;
216
- };
217
-
218
- export type SanityImagePaletteSwatch = {
219
- _type: "sanity.imagePaletteSwatch";
220
- background?: string;
221
- foreground?: string;
222
- population?: number;
223
- title?: string;
224
- };
225
-
226
- export type SanityImagePalette = {
227
- _type: "sanity.imagePalette";
228
- darkMuted?: SanityImagePaletteSwatch;
229
- lightVibrant?: SanityImagePaletteSwatch;
230
- darkVibrant?: SanityImagePaletteSwatch;
231
- vibrant?: SanityImagePaletteSwatch;
232
- dominant?: SanityImagePaletteSwatch;
233
- lightMuted?: SanityImagePaletteSwatch;
234
- muted?: SanityImagePaletteSwatch;
235
- };
236
-
237
- export type SanityImageDimensions = {
238
- _type: "sanity.imageDimensions";
239
- height?: number;
240
- width?: number;
241
- aspectRatio?: number;
242
- };
243
-
244
- export type SanityImageMetadata = {
245
- _type: "sanity.imageMetadata";
246
- location?: Geopoint;
247
- dimensions?: SanityImageDimensions;
248
- palette?: SanityImagePalette;
249
- lqip?: string;
250
- blurHash?: string;
251
- hasAlpha?: boolean;
252
- isOpaque?: boolean;
253
- };
254
-
255
- export type SanityFileAsset = {
256
- _id: string;
257
- _type: "sanity.fileAsset";
258
- _createdAt: string;
259
- _updatedAt: string;
260
- _rev: string;
261
- originalFilename?: string;
262
- label?: string;
263
- title?: string;
264
- description?: string;
265
- altText?: string;
266
- sha1hash?: string;
267
- extension?: string;
268
- mimeType?: string;
269
- size?: number;
270
- assetId?: string;
271
- uploadId?: string;
272
- path?: string;
273
- url?: string;
274
- source?: SanityAssetSourceData;
275
- };
276
-
277
- export type SanityAssetSourceData = {
278
- _type: "sanity.assetSourceData";
279
- name?: string;
280
- id?: string;
281
- url?: string;
282
- };
283
-
284
- export type SanityImageAsset = {
285
- _id: string;
286
- _type: "sanity.imageAsset";
287
- _createdAt: string;
288
- _updatedAt: string;
289
- _rev: string;
290
- originalFilename?: string;
291
- label?: string;
292
- title?: string;
293
- description?: string;
294
- altText?: string;
295
- sha1hash?: string;
296
- extension?: string;
297
- mimeType?: string;
298
- size?: number;
299
- assetId?: string;
300
- uploadId?: string;
301
- path?: string;
302
- url?: string;
303
- metadata?: SanityImageMetadata;
304
- source?: SanityAssetSourceData;
305
- };
306
-
307
- export type Geopoint = {
308
- _type: "geopoint";
309
- lat?: number;
310
- lng?: number;
311
- alt?: number;
312
- };
313
-
314
- export type AllSanitySchemaTypes =
315
- | SanityImageAssetReference
316
- | Navigation
317
- | PageReference
318
- | ArticleReference
319
- | Link
320
- | SanityImageCrop
321
- | SanityImageHotspot
322
- | Example
323
- | Metadata
324
- | RichText
325
- | Slug
326
- | Article
327
- | Page
328
- | SanityImagePaletteSwatch
329
- | SanityImagePalette
330
- | SanityImageDimensions
331
- | SanityImageMetadata
332
- | SanityFileAsset
333
- | SanityAssetSourceData
334
- | SanityImageAsset
335
- | Geopoint;
336
-
337
- export declare const internalGroqTypeReferenceTo: unique symbol;