kmcom-nuxt-layers 1.0.1

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 (380) hide show
  1. package/.claude/rules/nuxt-layers.md +23 -0
  2. package/.claude/rules/typescript.md +16 -0
  3. package/.claude/rules/vue-components.md +34 -0
  4. package/.claude/settings.local.json +81 -0
  5. package/.editorconfig +27 -0
  6. package/.github/workflows/npm-publish.yml +33 -0
  7. package/.oxlintrc.json +10 -0
  8. package/.prettierignore +87 -0
  9. package/CLAUDE.md +71 -0
  10. package/apps/playground/README.md +75 -0
  11. package/apps/playground/app/app.config.ts +10 -0
  12. package/apps/playground/app/app.vue +12 -0
  13. package/apps/playground/app/components/AmbientBackground.client.vue +795 -0
  14. package/apps/playground/app/components/ShaderDemoCanvas.client.vue +636 -0
  15. package/apps/playground/app/components/ShaderImageDemo.client.vue +211 -0
  16. package/apps/playground/app/pages/ambient.vue +387 -0
  17. package/apps/playground/app/pages/content.vue +200 -0
  18. package/apps/playground/app/pages/core.vue +560 -0
  19. package/apps/playground/app/pages/forms.vue +645 -0
  20. package/apps/playground/app/pages/index.vue +257 -0
  21. package/apps/playground/app/pages/layout.vue +591 -0
  22. package/apps/playground/app/pages/locomotive-scroll.vue +738 -0
  23. package/apps/playground/app/pages/motion.vue +848 -0
  24. package/apps/playground/app/pages/shader.vue +1701 -0
  25. package/apps/playground/app/pages/theme.vue +115 -0
  26. package/apps/playground/app/pages/ui.vue +656 -0
  27. package/apps/playground/content/blog/hello-world.md +127 -0
  28. package/apps/playground/content/blog/second-post.md +99 -0
  29. package/apps/playground/content/blog/third-post.md +33 -0
  30. package/apps/playground/content/gallery/autumn-collection.md +57 -0
  31. package/apps/playground/content/gallery/summer-collection.md +52 -0
  32. package/apps/playground/content/pages/index.md +132 -0
  33. package/apps/playground/content/portfolio/project-one.md +90 -0
  34. package/apps/playground/content/portfolio/project-two.md +96 -0
  35. package/apps/playground/content.config.ts +93 -0
  36. package/apps/playground/nuxt.config.ts +99 -0
  37. package/apps/playground/package.json +17 -0
  38. package/apps/playground/public/favicon.ico +0 -0
  39. package/apps/playground/public/robots.txt +2 -0
  40. package/apps/playground/tsconfig.json +25 -0
  41. package/eslint.config.mjs +223 -0
  42. package/eslint.configCOPY.mjs +216 -0
  43. package/eslintconfigCURRENT.mjs +244 -0
  44. package/eslintconfigOLD.mjs +178 -0
  45. package/files for claude/Scroller.vue +31 -0
  46. package/files for claude/TextMarquee.vue +255 -0
  47. package/files for claude/gsap.client.ts +18 -0
  48. package/files for claude/gsap.ts +10 -0
  49. package/files for claude/scroll.ts +28 -0
  50. package/layers/content/app/assets/css/main.css +1 -0
  51. package/layers/content/app/components/Blog/Article.vue +29 -0
  52. package/layers/content/app/components/Blog/Card.vue +40 -0
  53. package/layers/content/app/components/Blog/List.vue +35 -0
  54. package/layers/content/app/components/Gallery/AmbientImage.vue +52 -0
  55. package/layers/content/app/components/Gallery/Card.vue +39 -0
  56. package/layers/content/app/components/Gallery/Detail.vue +76 -0
  57. package/layers/content/app/components/Gallery/Grid.vue +48 -0
  58. package/layers/content/app/components/Gallery/ImageDetail.vue +92 -0
  59. package/layers/content/app/components/Gallery/Lightbox.vue +102 -0
  60. package/layers/content/app/components/NuxtContent/Detail.vue +53 -0
  61. package/layers/content/app/components/NuxtContent/List.vue +21 -0
  62. package/layers/content/app/components/NuxtContent/Renderer.vue +14 -0
  63. package/layers/content/app/components/NuxtContent/Surround.vue +15 -0
  64. package/layers/content/app/components/NuxtContent/Toc.vue +18 -0
  65. package/layers/content/app/components/Portfolio/Card.vue +39 -0
  66. package/layers/content/app/components/Portfolio/ColorPalette.vue +39 -0
  67. package/layers/content/app/components/Portfolio/Detail.vue +49 -0
  68. package/layers/content/app/components/Portfolio/List.vue +44 -0
  69. package/layers/content/app/components/Portfolio/Typography.vue +37 -0
  70. package/layers/content/app/components/content/Figure.vue +31 -0
  71. package/layers/content/app/composables/useBlogPost.ts +3 -0
  72. package/layers/content/app/composables/useBlogPosts.ts +23 -0
  73. package/layers/content/app/composables/useCollectionItem.ts +5 -0
  74. package/layers/content/app/composables/useCollectionSurround.ts +9 -0
  75. package/layers/content/app/composables/useContentPage.ts +3 -0
  76. package/layers/content/app/composables/useGalleryItem.ts +3 -0
  77. package/layers/content/app/composables/useGalleryItems.ts +19 -0
  78. package/layers/content/app/composables/usePortfolioItem.ts +3 -0
  79. package/layers/content/app/composables/usePortfolioItems.ts +23 -0
  80. package/layers/content/app/pages/blog/[slug].vue +10 -0
  81. package/layers/content/app/pages/blog/index.vue +15 -0
  82. package/layers/content/app/pages/gallery/[slug]/[imageId].vue +11 -0
  83. package/layers/content/app/pages/gallery/[slug]/index.vue +10 -0
  84. package/layers/content/app/pages/gallery/index.vue +15 -0
  85. package/layers/content/app/pages/portfolio/[slug].vue +10 -0
  86. package/layers/content/app/pages/portfolio/index.vue +15 -0
  87. package/layers/content/app/types/content.ts +84 -0
  88. package/layers/content/app.config.ts +12 -0
  89. package/layers/content/content.config.ts +93 -0
  90. package/layers/content/nuxt.config.ts +31 -0
  91. package/layers/content/package.json +31 -0
  92. package/layers/content/tsconfig.json +6 -0
  93. package/layers/core/app/assets/css/base.css +88 -0
  94. package/layers/core/app/assets/css/layout.css +36 -0
  95. package/layers/core/app/assets/css/main.css +7 -0
  96. package/layers/core/app/assets/css-backup.zip +0 -0
  97. package/layers/core/app/components/ErrorBoundary.vue +102 -0
  98. package/layers/core/app/components/LoadingScreen.vue +137 -0
  99. package/layers/core/app/composables/useBrowser.ts +161 -0
  100. package/layers/core/app/composables/useCache.ts +138 -0
  101. package/layers/core/app/composables/useDevice.ts +36 -0
  102. package/layers/core/app/composables/useEnv.ts +23 -0
  103. package/layers/core/app/composables/useErrorLog.ts +158 -0
  104. package/layers/core/app/composables/useFeatures.ts +269 -0
  105. package/layers/core/app/composables/useLoading.ts +109 -0
  106. package/layers/core/app/composables/useNetworkInfo.ts +83 -0
  107. package/layers/core/app/composables/usePWAInfo.ts +104 -0
  108. package/layers/core/app/composables/useRendering.ts +97 -0
  109. package/layers/core/app/composables/useScreen.ts +95 -0
  110. package/layers/core/app/composables/useScrollGuard.ts +266 -0
  111. package/layers/core/app/error.vue +103 -0
  112. package/layers/core/app/layouts/default.vue +4 -0
  113. package/layers/core/app/pages/[...slug].vue +168 -0
  114. package/layers/core/app/pages/diagnostics.vue +228 -0
  115. package/layers/core/app/plugins/error-handler.ts +47 -0
  116. package/layers/core/app/plugins/feature-detection.client.ts +32 -0
  117. package/layers/core/app/plugins/init.ts +188 -0
  118. package/layers/core/app/plugins/loading.client.ts +54 -0
  119. package/layers/core/app/plugins/scroll-guard.client.ts +53 -0
  120. package/layers/core/app/types/detection.ts +117 -0
  121. package/layers/core/app/types/index.ts +10 -0
  122. package/layers/core/app/types/loading.ts +47 -0
  123. package/layers/core/app/types/runtime-config.ts +31 -0
  124. package/layers/core/app/types/scroll-guard.ts +25 -0
  125. package/layers/core/app/utils/helpers.ts +246 -0
  126. package/layers/core/app/utils/index.ts +8 -0
  127. package/layers/core/app/utils/regex.ts +6 -0
  128. package/layers/core/app.config.ts +193 -0
  129. package/layers/core/nuxt.config.ts +84 -0
  130. package/layers/core/package.json +25 -0
  131. package/layers/core/tailwind.config.js +28 -0
  132. package/layers/core/tsconfig.json +6 -0
  133. package/layers/forms/app/components/Form/Contact.vue +78 -0
  134. package/layers/forms/app/components/Form/Field.vue +85 -0
  135. package/layers/forms/app/composables/useFormSchema.ts +35 -0
  136. package/layers/forms/app/config/fields.ts +104 -0
  137. package/layers/forms/app/types/fields.ts +60 -0
  138. package/layers/forms/app.config.ts +12 -0
  139. package/layers/forms/nuxt.config.ts +17 -0
  140. package/layers/forms/package.json +17 -0
  141. package/layers/forms/tsconfig.json +6 -0
  142. package/layers/layout/.nuxtrc +1 -0
  143. package/layers/layout/CLAUDE.MD +186 -0
  144. package/layers/layout/GRID_SYSTEM.md +993 -0
  145. package/layers/layout/README.md +73 -0
  146. package/layers/layout/app/assets/css/layout/grids.css +180 -0
  147. package/layers/layout/app/assets/css/main.css +1 -0
  148. package/layers/layout/app/components/Layout/Grid/Debug.vue +79 -0
  149. package/layers/layout/app/components/Layout/Grid/Item.vue +180 -0
  150. package/layers/layout/app/components/Layout/Page/Container.vue +100 -0
  151. package/layers/layout/app/components/Layout/Page/Header.vue +33 -0
  152. package/layers/layout/app/components/Layout/Section/Gallery.vue +68 -0
  153. package/layers/layout/app/components/Layout/Section/Hero.vue +71 -0
  154. package/layers/layout/app/components/Layout/Section/Split.vue +56 -0
  155. package/layers/layout/app/components/Layout/Section/index.vue +39 -0
  156. package/layers/layout/app/composables/GridPlacement.ts +31 -0
  157. package/layers/layout/app/composables/useGridConfig.ts +27 -0
  158. package/layers/layout/app/types/layouts.ts +37 -0
  159. package/layers/layout/app.config.ts +97 -0
  160. package/layers/layout/nuxt.config.ts +14 -0
  161. package/layers/layout/package.json +14 -0
  162. package/layers/layout/tailwind.config.js +28 -0
  163. package/layers/layout/tsconfig.json +6 -0
  164. package/layers/motion/README.md +107 -0
  165. package/layers/motion/TASKS.MD +16 -0
  166. package/layers/motion/app/assets/css/main.css +111 -0
  167. package/layers/motion/app/components/Motion/Marquee.vue +171 -0
  168. package/layers/motion/app/components/Motion/Parallax.vue +75 -0
  169. package/layers/motion/app/components/Motion/ScrollLink.vue +49 -0
  170. package/layers/motion/app/components/Motion/ScrollProgress.vue +127 -0
  171. package/layers/motion/app/components/Motion/ScrollStats.vue +102 -0
  172. package/layers/motion/app/components/Motion/Staggered.vue +73 -0
  173. package/layers/motion/app/components/Motion/TextReveal.vue +101 -0
  174. package/layers/motion/app/components/Motion/Transition.vue +89 -0
  175. package/layers/motion/app/components/Motion/VelocityEffect.vue +139 -0
  176. package/layers/motion/app/components/Motion/index.vue +16 -0
  177. package/layers/motion/app/composables/useGsap.ts +21 -0
  178. package/layers/motion/app/composables/useMotion.ts +137 -0
  179. package/layers/motion/app/composables/useSmoothScroll.ts +154 -0
  180. package/layers/motion/app/plugins/gsap.client.ts +15 -0
  181. package/layers/motion/app/plugins/locomotive-scroll.client.ts +49 -0
  182. package/layers/motion/app/utils/gsapAnimations.ts +122 -0
  183. package/layers/motion/app.config.ts +30 -0
  184. package/layers/motion/nuxt.config.ts +19 -0
  185. package/layers/motion/package.json +17 -0
  186. package/layers/motion/tsconfig.json +6 -0
  187. package/layers/shader/AGENTS.MD +195 -0
  188. package/layers/shader/additional-modular-tsl-shaders-for-claude/.prettierignore +6 -0
  189. package/layers/shader/additional-modular-tsl-shaders-for-claude/.prettierrc +18 -0
  190. package/layers/shader/additional-modular-tsl-shaders-for-claude/LICENSE +21 -0
  191. package/layers/shader/additional-modular-tsl-shaders-for-claude/README.md +100 -0
  192. package/layers/shader/additional-modular-tsl-shaders-for-claude/index.html +13 -0
  193. package/layers/shader/additional-modular-tsl-shaders-for-claude/jsconfig.json +30 -0
  194. package/layers/shader/additional-modular-tsl-shaders-for-claude/package.json +18 -0
  195. package/layers/shader/additional-modular-tsl-shaders-for-claude/pnpm-lock.yaml +633 -0
  196. package/layers/shader/additional-modular-tsl-shaders-for-claude/public/vite.svg +1 -0
  197. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/components/sketch/webgpu_sketch.js +128 -0
  198. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/components/sketches_dropdown/index.css +87 -0
  199. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/components/sketches_dropdown/sketches_dropdown.js +169 -0
  200. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/index.css +25 -0
  201. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/main.js +93 -0
  202. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/router.js +43 -0
  203. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/sketches/flare-1.js +68 -0
  204. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/sketches/noise/dawn-1.js +56 -0
  205. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/distortion/bulge_distortion.js +35 -0
  206. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/distortion/swirl_distortion.js +35 -0
  207. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/distortion/wave_distortion.js +43 -0
  208. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/noise/common.js +145 -0
  209. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/noise/curl_noise_3d.js +53 -0
  210. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/noise/curl_noise_4d.js +55 -0
  211. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/noise/fbm.js +163 -0
  212. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/noise/perlin_noise_3d.js +70 -0
  213. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/noise/simplex_noise_3d.js +59 -0
  214. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/noise/simplex_noise_4d.js +72 -0
  215. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/noise/turbulence.js +41 -0
  216. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/patterns/canvas_weave_pattern.js +26 -0
  217. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/patterns/grain_texture_pattern.js +10 -0
  218. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/patterns/led_pattern.js +45 -0
  219. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/patterns/pixellation_pattern.js +15 -0
  220. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/patterns/speckled_noise_pattern.js +34 -0
  221. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/patterns/vignette_pattern.js +21 -0
  222. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/bulge_distortion_effect.js +27 -0
  223. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/chromatic_aberration_effect.js +45 -0
  224. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/crt_scanline_effect.js +45 -0
  225. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/dither_effect.js +126 -0
  226. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/grain_texture_effect.js +21 -0
  227. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/halftone_effect.js +44 -0
  228. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/led_effect.js +31 -0
  229. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/pixellation_effect.js +29 -0
  230. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/swirl_distortion_effect.js +25 -0
  231. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/vignette_effect.js +22 -0
  232. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/post_processing/wave_distortion_effect.js +27 -0
  233. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/color/cosine_palette.js +15 -0
  234. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/color/tonemapping.js +151 -0
  235. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/function/bloom.js +13 -0
  236. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/function/bloom_edge_pattern.js +20 -0
  237. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/function/domain_index.js +11 -0
  238. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/function/median3.js +22 -0
  239. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/function/repeating_pattern.js +13 -0
  240. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/function/screen_aspect_uv.js +14 -0
  241. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/lighting.js +60 -0
  242. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/math/complex.js +86 -0
  243. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/math/coordinates.js +119 -0
  244. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/sdf/operations.js +24 -0
  245. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/tsl/utils/sdf/shapes.js +182 -0
  246. package/layers/shader/additional-modular-tsl-shaders-for-claude/src/utils/math.js +33 -0
  247. package/layers/shader/additional-modular-tsl-shaders-for-claude/vite.config.js +23 -0
  248. package/layers/shader/app/assets/css/main.css +41 -0
  249. package/layers/shader/app/components/Effect/Bloom.vue +8 -0
  250. package/layers/shader/app/components/Effect/ChromaticAberration.vue +8 -0
  251. package/layers/shader/app/components/Effect/PostProcessing.vue +20 -0
  252. package/layers/shader/app/components/Material/AmbientAurora.vue +172 -0
  253. package/layers/shader/app/components/Material/AmbientFlow.vue +175 -0
  254. package/layers/shader/app/components/Material/AmbientGradientMesh.vue +173 -0
  255. package/layers/shader/app/components/Material/AmbientNebula.vue +181 -0
  256. package/layers/shader/app/components/Material/AmbientOcean.vue +161 -0
  257. package/layers/shader/app/components/Material/Fresnel.vue +89 -0
  258. package/layers/shader/app/components/Material/Gradient.vue +185 -0
  259. package/layers/shader/app/components/Material/Image.vue +232 -0
  260. package/layers/shader/app/components/Material/Node.vue +79 -0
  261. package/layers/shader/app/components/Material/Noise.vue +141 -0
  262. package/layers/shader/app/components/Mesh/Plane.vue +27 -0
  263. package/layers/shader/app/components/Shader/Background.vue +159 -0
  264. package/layers/shader/app/components/Shader/Canvas.vue +97 -0
  265. package/layers/shader/app/components/Shader/Debug.vue +66 -0
  266. package/layers/shader/app/components/WebGPUCanvas.client.vue +245 -0
  267. package/layers/shader/app/composables/useAmbientMaterials.ts +452 -0
  268. package/layers/shader/app/composables/useMousePosition.ts +94 -0
  269. package/layers/shader/app/composables/useRendererCapabilities.ts +111 -0
  270. package/layers/shader/app/composables/useShader.ts +148 -0
  271. package/layers/shader/app/composables/useShaderTime.ts +146 -0
  272. package/layers/shader/app/composables/useTSLNodes.ts +112 -0
  273. package/layers/shader/app/composables/useUniforms.ts +188 -0
  274. package/layers/shader/app/plugins/shader.client.ts +30 -0
  275. package/layers/shader/app/shaders/common/blend.ts +255 -0
  276. package/layers/shader/app/shaders/common/effects.ts +299 -0
  277. package/layers/shader/app/shaders/common/grain.ts +453 -0
  278. package/layers/shader/app/shaders/common/index.ts +22 -0
  279. package/layers/shader/app/shaders/common/lighting.ts +146 -0
  280. package/layers/shader/app/shaders/common/math.ts +250 -0
  281. package/layers/shader/app/shaders/common/noise.ts +823 -0
  282. package/layers/shader/app/shaders/common/noiseHelpers.ts +114 -0
  283. package/layers/shader/app/shaders/common/palette.ts +319 -0
  284. package/layers/shader/app/shaders/common/patterns.ts +216 -0
  285. package/layers/shader/app/shaders/common/sdf.ts +224 -0
  286. package/layers/shader/app/shaders/common/shapes.ts +366 -0
  287. package/layers/shader/app/shaders/common/tonemapping.ts +172 -0
  288. package/layers/shader/app/shaders/common/uv.ts +396 -0
  289. package/layers/shader/app/shaders/createMaterial.ts +314 -0
  290. package/layers/shader/app/shaders/index.ts +282 -0
  291. package/layers/shader/app/shaders/layers/aurora.ts +146 -0
  292. package/layers/shader/app/shaders/layers/index.ts +19 -0
  293. package/layers/shader/app/shaders/layers/meshGradient.ts +152 -0
  294. package/layers/shader/app/shaders/layers/paperShading.ts +148 -0
  295. package/layers/shader/app/shaders/layers/shaderGradient.ts +152 -0
  296. package/layers/shader/app/shaders/layers/stripe.ts +137 -0
  297. package/layers/shader/app/shaders/types.ts +12 -0
  298. package/layers/shader/app/types/index.ts +4 -0
  299. package/layers/shader/app/types/materials.ts +45 -0
  300. package/layers/shader/app/types/renderer.ts +50 -0
  301. package/layers/shader/app/types/tsl.ts +39 -0
  302. package/layers/shader/app/types/uniforms.ts +21 -0
  303. package/layers/shader/app/utils/tsl/animation.ts +251 -0
  304. package/layers/shader/app/utils/tsl/color.ts +189 -0
  305. package/layers/shader/app/utils/tsl/index.ts +84 -0
  306. package/layers/shader/app/utils/tsl/math.ts +111 -0
  307. package/layers/shader/app/utils/tsl/noise.ts +195 -0
  308. package/layers/shader/app/utils/tsl/patterns.ts +183 -0
  309. package/layers/shader/app/utils/tsl/uv.ts +145 -0
  310. package/layers/shader/app.config.ts +18 -0
  311. package/layers/shader/modular-tsl-shaders-for-claude/common/blend.tsl +1 -0
  312. package/layers/shader/modular-tsl-shaders-for-claude/common/noise.tsl +1 -0
  313. package/layers/shader/modular-tsl-shaders-for-claude/common/shapes.tsl +1 -0
  314. package/layers/shader/modular-tsl-shaders-for-claude/common/vertexFresnel.tsl +9 -0
  315. package/layers/shader/modular-tsl-shaders-for-claude/common/vertexPlane.tsl +6 -0
  316. package/layers/shader/modular-tsl-shaders-for-claude/effects/background.tsl +1 -0
  317. package/layers/shader/modular-tsl-shaders-for-claude/effects/gradient.tsl +1 -0
  318. package/layers/shader/modular-tsl-shaders-for-claude/effects/gradientLegend.tsl +1 -0
  319. package/layers/shader/modular-tsl-shaders-for-claude/effects/simpleGradient.tsl +1 -0
  320. package/layers/shader/modular-tsl-shaders-for-claude/layers/aurora.ts +1 -0
  321. package/layers/shader/modular-tsl-shaders-for-claude/layers/fragmentsTech.ts +1 -0
  322. package/layers/shader/modular-tsl-shaders-for-claude/layers/fresnel.ts +1 -0
  323. package/layers/shader/modular-tsl-shaders-for-claude/layers/linearGradient.ts +1 -0
  324. package/layers/shader/modular-tsl-shaders-for-claude/layers/meshGradient.ts +1 -0
  325. package/layers/shader/modular-tsl-shaders-for-claude/layers/noise.ts +1 -0
  326. package/layers/shader/modular-tsl-shaders-for-claude/layers/paperShading.ts +1 -0
  327. package/layers/shader/modular-tsl-shaders-for-claude/layers/radial.ts +1 -0
  328. package/layers/shader/modular-tsl-shaders-for-claude/layers/shaderGradient.ts +1 -0
  329. package/layers/shader/modular-tsl-shaders-for-claude/layers/stripe.ts +1 -0
  330. package/layers/shader/modular-tsl-shaders-for-claude/materials/createMaterial.ts +1 -0
  331. package/layers/shader/modular-tsl-shaders-for-claude/utils/glslUtils.ts +1 -0
  332. package/layers/shader/modular-tsl-shaders-for-claude/utils/palette.ts +1 -0
  333. package/layers/shader/nuxt.config.ts +48 -0
  334. package/layers/shader/package.json +17 -0
  335. package/layers/shader/tsconfig.json +6 -0
  336. package/layers/theme/app/assets/css/theme.css +47 -0
  337. package/layers/theme/app/components/ThemePicker/AccentButton.vue +51 -0
  338. package/layers/theme/app/components/ThemePicker/Colors.vue +22 -0
  339. package/layers/theme/app/components/ThemePicker/Menu.vue +108 -0
  340. package/layers/theme/app/components/ThemePicker/MenuButton.vue +9 -0
  341. package/layers/theme/app/composables/useThemePreferences.ts +158 -0
  342. package/layers/theme/app/plugins/theme.client.ts +5 -0
  343. package/layers/theme/app/types/theme.ts +34 -0
  344. package/layers/theme/app.config.ts +14 -0
  345. package/layers/theme/nuxt.config.ts +46 -0
  346. package/layers/theme/package.json +14 -0
  347. package/layers/theme/server/plugins/theme-fouc.ts +51 -0
  348. package/layers/theme/tsconfig.json +7 -0
  349. package/layers/ui/CLAUDE.MD +325 -0
  350. package/layers/ui/app/assets/css/main.css +4 -0
  351. package/layers/ui/app/components/Links/Group.vue +38 -0
  352. package/layers/ui/app/components/Links/Named.vue +32 -0
  353. package/layers/ui/app/components/Media/Picture.vue +41 -0
  354. package/layers/ui/app/components/Site/Title.vue +15 -0
  355. package/layers/ui/app/components/Typography/CodeBlock.vue +37 -0
  356. package/layers/ui/app/components/Typography/Headline.vue +73 -0
  357. package/layers/ui/app/components/Typography/QuoteBlock.vue +13 -0
  358. package/layers/ui/app/components/Typography/TextStroke.vue +109 -0
  359. package/layers/ui/app/components/Typography/index.vue +49 -0
  360. package/layers/ui/app/composables/color.ts +36 -0
  361. package/layers/ui/app/composables/picture.ts +145 -0
  362. package/layers/ui/app/composables/typography.ts +77 -0
  363. package/layers/ui/app/layouts/default.vue +4 -0
  364. package/layers/ui/app/pages/index.vue +236 -0
  365. package/layers/ui/app/types/breakpoints.ts +179 -0
  366. package/layers/ui/app/types/colors.ts +29 -0
  367. package/layers/ui/app/types/media.ts +185 -0
  368. package/layers/ui/app/types/typography.ts +108 -0
  369. package/layers/ui/app/utils/regex.ts +6 -0
  370. package/layers/ui/app.config.ts +12 -0
  371. package/layers/ui/nuxt.config.ts +38 -0
  372. package/layers/ui/package.json +14 -0
  373. package/layers/ui/tsconfig.json +6 -0
  374. package/package.json +128 -0
  375. package/playgroundOLD/app.config.ts +5 -0
  376. package/playgroundOLD/nuxt.config.ts +12 -0
  377. package/pnpm-workspace.yaml +6 -0
  378. package/prettier.config.cjs +19 -0
  379. package/stylelint.config.mjs +111 -0
  380. package/turbo.json +16 -0
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Breakpoint Types
3
+ *
4
+ * Centralized breakpoint definitions matching Tailwind defaults.
5
+ * Used for responsive sizing, layouts, and media queries across the design system.
6
+ */
7
+
8
+ /**
9
+ * Responsive breakpoint names matching Tailwind defaults
10
+ */
11
+ export type ResponsiveBreakpoint = 'sm' | 'md' | 'lg' | 'xl' | '2xl'
12
+
13
+ /**
14
+ * Breakpoint values in pixels
15
+ * Matches Tailwind's default breakpoint system
16
+ *
17
+ * @see https://tailwindcss.com/docs/responsive-design
18
+ */
19
+ export const BREAKPOINT_VALUES = {
20
+ sm: 640,
21
+ md: 768,
22
+ lg: 1024,
23
+ xl: 1280,
24
+ '2xl': 1536,
25
+ } as const
26
+
27
+ /**
28
+ * Type for breakpoint values object
29
+ */
30
+ export type BreakpointValues = typeof BREAKPOINT_VALUES
31
+
32
+ /**
33
+ * Type for individual breakpoint keys
34
+ */
35
+ export type BreakpointKey = keyof typeof BREAKPOINT_VALUES
36
+
37
+ /**
38
+ * Type for breakpoint pixel values
39
+ */
40
+ export type BreakpointValue = (typeof BREAKPOINT_VALUES)[BreakpointKey]
41
+
42
+ /**
43
+ * Device-based breakpoint names
44
+ * Semantic breakpoints based on common device categories
45
+ */
46
+ export type DeviceBreakpoint = 'mobile' | 'tablet' | 'desktop' | 'wide'
47
+
48
+ /**
49
+ * Device breakpoint values in pixels
50
+ * Semantic breakpoints for mobile-first responsive design
51
+ *
52
+ * - mobile: 0-639px (default, no min-width)
53
+ * - tablet: 640px+ (tablets and small laptops)
54
+ * - desktop: 1024px+ (laptops and desktops)
55
+ * - wide: 1920px+ (large monitors and 4K displays)
56
+ */
57
+ export const DEVICE_BREAKPOINT_VALUES = {
58
+ mobile: 0,
59
+ tablet: 640,
60
+ desktop: 1024,
61
+ wide: 1920,
62
+ } as const
63
+
64
+ /**
65
+ * Type for device breakpoint values object
66
+ */
67
+ export type DeviceBreakpointValues = typeof DEVICE_BREAKPOINT_VALUES
68
+
69
+ /**
70
+ * Type for individual device breakpoint keys
71
+ */
72
+ export type DeviceBreakpointKey = keyof typeof DEVICE_BREAKPOINT_VALUES
73
+
74
+ /**
75
+ * Type for device breakpoint pixel values
76
+ */
77
+ export type DeviceBreakpointValue = (typeof DEVICE_BREAKPOINT_VALUES)[DeviceBreakpointKey]
78
+
79
+ /**
80
+ * Phone-specific breakpoint names
81
+ * Granular breakpoints for different phone sizes
82
+ */
83
+ export type PhoneBreakpoint = 'phone-sm' | 'phone-md' | 'phone-lg'
84
+
85
+ /**
86
+ * Phone breakpoint values in pixels
87
+ * Covers the range of common smartphone screen sizes
88
+ *
89
+ * - phone-sm: 320px+ (iPhone SE, small Android phones)
90
+ * - phone-md: 375px+ (iPhone 12/13/14, standard phones)
91
+ * - phone-lg: 428px+ (iPhone Pro Max, large Android phones)
92
+ */
93
+ export const PHONE_BREAKPOINT_VALUES = {
94
+ 'phone-sm': 320,
95
+ 'phone-md': 375,
96
+ 'phone-lg': 428,
97
+ } as const
98
+
99
+ /**
100
+ * Type for phone breakpoint values object
101
+ */
102
+ export type PhoneBreakpointValues = typeof PHONE_BREAKPOINT_VALUES
103
+
104
+ /**
105
+ * Type for individual phone breakpoint keys
106
+ */
107
+ export type PhoneBreakpointKey = keyof typeof PHONE_BREAKPOINT_VALUES
108
+
109
+ /**
110
+ * Type for phone breakpoint pixel values
111
+ */
112
+ export type PhoneBreakpointValue = (typeof PHONE_BREAKPOINT_VALUES)[PhoneBreakpointKey]
113
+
114
+ /**
115
+ * Tablet-specific breakpoint names
116
+ * Granular breakpoints for different tablet sizes
117
+ */
118
+ export type TabletBreakpoint = 'tablet-sm' | 'tablet-md' | 'tablet-lg'
119
+
120
+ /**
121
+ * Tablet breakpoint values in pixels
122
+ * Covers the range of common tablet screen sizes
123
+ *
124
+ * - tablet-sm: 768px+ (iPad mini, small tablets)
125
+ * - tablet-md: 834px+ (iPad, standard tablets)
126
+ * - tablet-lg: 1024px+ (iPad Pro 11", large tablets)
127
+ */
128
+ export const TABLET_BREAKPOINT_VALUES = {
129
+ 'tablet-sm': 768,
130
+ 'tablet-md': 834,
131
+ 'tablet-lg': 1024,
132
+ } as const
133
+
134
+ /**
135
+ * Type for tablet breakpoint values object
136
+ */
137
+ export type TabletBreakpointValues = typeof TABLET_BREAKPOINT_VALUES
138
+
139
+ /**
140
+ * Type for individual tablet breakpoint keys
141
+ */
142
+ export type TabletBreakpointKey = keyof typeof TABLET_BREAKPOINT_VALUES
143
+
144
+ /**
145
+ * Type for tablet breakpoint pixel values
146
+ */
147
+ export type TabletBreakpointValue = (typeof TABLET_BREAKPOINT_VALUES)[TabletBreakpointKey]
148
+
149
+ /**
150
+ * Device orientation types
151
+ * Used for orientation-specific responsive design
152
+ */
153
+ export type DeviceOrientation = 'portrait' | 'landscape'
154
+
155
+ /**
156
+ * Orientation breakpoint configuration
157
+ * Maps orientation to media query conditions
158
+ *
159
+ * Note: These are not pixel-based breakpoints, but media query features
160
+ */
161
+ export const ORIENTATION_BREAKPOINTS = {
162
+ portrait: 'portrait',
163
+ landscape: 'landscape',
164
+ } as const
165
+
166
+ /**
167
+ * Type for orientation breakpoints object
168
+ */
169
+ export type OrientationBreakpoints = typeof ORIENTATION_BREAKPOINTS
170
+
171
+ /**
172
+ * Combined breakpoint type (all systems)
173
+ */
174
+ export type AllBreakpoints =
175
+ | ResponsiveBreakpoint
176
+ | DeviceBreakpoint
177
+ | PhoneBreakpoint
178
+ | TabletBreakpoint
179
+ | DeviceOrientation
@@ -0,0 +1,29 @@
1
+ /***************************************************************
2
+ UI Primitives - Semantic Color Types
3
+
4
+ `UiSemanticColor` defines neutral or semantic colors for general UI elements.
5
+ `UiStatusColor` defines status-related colors (info, success, warning, error).
6
+ `UiCustomColors` defines custom design colors like accent or secondary.
7
+ `UiBaseColor` defines fundamental colors (black, white).
8
+ `UiColors` is the union of all color types and can be applied to text, backgrounds, borders, or other UI elements.
9
+ `ColorUsage` defines the intended usage of a color in a component.
10
+ ***************************************************************/
11
+
12
+ export type ColorUsage = 'text' | 'bg' | 'border'
13
+
14
+ export type UiSemanticColor = 'dimmed' | 'muted' | 'toned' | 'default' | 'highlighted' | 'inverted'
15
+
16
+ export type UiStatusColor = 'info' | 'success' | 'warning' | 'error'
17
+
18
+ export type UiDefaultNuxtUiColors = 'primary' | 'neutral'
19
+
20
+ export type UiCustomColors = 'secondary' | 'accent'
21
+
22
+ export type UiBaseColor = 'black' | 'white'
23
+
24
+ export type UiColors =
25
+ | UiSemanticColor
26
+ | UiStatusColor
27
+ | UiDefaultNuxtUiColors
28
+ | UiCustomColors
29
+ | UiBaseColor
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Media Types
3
+ *
4
+ * Type definitions for Picture component and usePicture composable.
5
+ * Provides type-safe image optimization, responsive sizing, and format handling.
6
+ */
7
+
8
+ /**
9
+ * Supported image formats for optimization
10
+ */
11
+ export type ImageFormat = 'avif' | 'webp' | 'jpg' | 'jpeg' | 'png' | 'gif' | 'svg'
12
+
13
+ /**
14
+ * Image loading strategy
15
+ */
16
+ export type ImageLoading = 'lazy' | 'eager'
17
+
18
+ /**
19
+ * Image fit/object-fit behavior
20
+ */
21
+ export type ImageFit = 'cover' | 'contain' | 'fill' | 'inside' | 'outside'
22
+
23
+ /**
24
+ * Re-export breakpoint types for convenience
25
+ */
26
+ export type {
27
+ ResponsiveBreakpoint,
28
+ DeviceBreakpoint,
29
+ PhoneBreakpoint,
30
+ TabletBreakpoint,
31
+ DeviceOrientation,
32
+ } from '#layers/ui/app/types/breakpoints'
33
+
34
+ /**
35
+ * Responsive sizes configuration
36
+ * Allows defining different image sizes per breakpoint
37
+ * Supports Tailwind, device, phone, tablet, and orientation breakpoints
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * // Using Tailwind breakpoints
42
+ * const sizes: ResponsiveSizes = {
43
+ * default: '100vw',
44
+ * md: '50vw',
45
+ * lg: '33vw'
46
+ * }
47
+ *
48
+ * // Using device breakpoints
49
+ * const deviceSizes: ResponsiveSizes = {
50
+ * default: '100vw',
51
+ * tablet: '768px',
52
+ * desktop: '1024px'
53
+ * }
54
+ *
55
+ * // Using granular phone breakpoints
56
+ * const phoneSizes: ResponsiveSizes = {
57
+ * default: '100vw',
58
+ * 'phone-sm': '320px',
59
+ * 'phone-md': '375px',
60
+ * 'phone-lg': '428px'
61
+ * }
62
+ *
63
+ * // Using orientation breakpoints
64
+ * const orientationSizes: ResponsiveSizes = {
65
+ * default: '100vw',
66
+ * portrait: '100vw',
67
+ * landscape: '50vw'
68
+ * }
69
+ * ```
70
+ */
71
+ export interface ResponsiveSizes {
72
+ default: string
73
+ // Tailwind breakpoints
74
+ sm?: string
75
+ md?: string
76
+ lg?: string
77
+ xl?: string
78
+ '2xl'?: string
79
+ // Device breakpoints
80
+ mobile?: string
81
+ tablet?: string
82
+ desktop?: string
83
+ wide?: string
84
+ // Phone breakpoints
85
+ 'phone-sm'?: string
86
+ 'phone-md'?: string
87
+ 'phone-lg'?: string
88
+ // Tablet breakpoints
89
+ 'tablet-sm'?: string
90
+ 'tablet-md'?: string
91
+ 'tablet-lg'?: string
92
+ // Orientation breakpoints
93
+ portrait?: string
94
+ landscape?: string
95
+ }
96
+
97
+ /**
98
+ * Props for Picture component
99
+ * Wraps NuxtPicture with sensible defaults and responsive sizing
100
+ */
101
+ export interface PictureProps {
102
+ // Required props
103
+ /** Image source URL or path */
104
+ src: string
105
+ /** Alt text for accessibility (required) */
106
+ alt: string
107
+
108
+ // Dimensions
109
+ /** Image width in pixels */
110
+ width?: number
111
+ /** Image height in pixels */
112
+ height?: number
113
+
114
+ // Responsive sizing
115
+ /**
116
+ * Responsive sizes - can be a string or ResponsiveSizes object
117
+ * @example '(min-width: 1024px) 1024px, 100vw'
118
+ * @example { default: '100vw', md: '50vw', lg: '33vw' }
119
+ */
120
+ sizes?: string | ResponsiveSizes
121
+
122
+ // Formats & optimization
123
+ /**
124
+ * Image formats to generate (comma-separated)
125
+ * @example 'avif,webp,jpg'
126
+ * @default 'webp'
127
+ */
128
+ format?: string
129
+ /**
130
+ * Image quality (0-100)
131
+ * @default 80
132
+ */
133
+ quality?: number
134
+ /**
135
+ * Image fit behavior
136
+ * @default 'cover'
137
+ */
138
+ fit?: ImageFit
139
+
140
+ // Loading strategy
141
+ /**
142
+ * Loading strategy
143
+ * @default 'lazy'
144
+ */
145
+ loading?: ImageLoading
146
+ /**
147
+ * Fetch priority hint
148
+ * @default 'auto'
149
+ */
150
+ fetchpriority?: 'high' | 'low' | 'auto'
151
+
152
+ // Nuxt Image specific
153
+ /** Image provider - defaults to 'ipx' (Nuxt's built-in image optimizer) */
154
+ provider?: 'ipx'
155
+ /** Nuxt Image preset name */
156
+ preset?: string
157
+ /**
158
+ * Pixel density descriptors
159
+ * @example 'x1 x2'
160
+ */
161
+ densities?: string
162
+
163
+ // Styling
164
+ /** Class for picture wrapper element */
165
+ class?: string
166
+ /** Class for img element */
167
+ imgClass?: string
168
+
169
+ // Performance
170
+ /**
171
+ * Image decoding strategy
172
+ * @default 'async'
173
+ */
174
+ decoding?: 'sync' | 'async' | 'auto'
175
+ }
176
+
177
+ /**
178
+ * Return type for usePicture composable
179
+ */
180
+ export interface UsePictureReturn {
181
+ /** Computed sizes attribute string */
182
+ sizesString: import('vue').ComputedRef<string>
183
+ /** Computed format string */
184
+ computedFormat: import('vue').ComputedRef<string>
185
+ }
@@ -0,0 +1,108 @@
1
+ // ui/types/typography.ts
2
+
3
+ /* ======================================================
4
+ Typography Tags
5
+ - Supported HTML tags for typography components
6
+ ====================================================== */
7
+
8
+ export type TypographyTag =
9
+ | 'h1'
10
+ | 'h2'
11
+ | 'h3'
12
+ | 'h4'
13
+ | 'h5'
14
+ | 'h6'
15
+ | 'p'
16
+ | 'span'
17
+ | 'li'
18
+ | 'pre'
19
+ | 'code'
20
+ | 'blockquote'
21
+
22
+ /* ======================================================
23
+ Font Weight
24
+ - Supports Tailwind utilities
25
+ - Supports numeric variable-axis overrides (wght)
26
+ ====================================================== */
27
+
28
+ export type FontWeightNumber = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
29
+
30
+ export type FontWeight =
31
+ | 'font-thin'
32
+ | 'font-extralight'
33
+ | 'font-light'
34
+ | 'font-normal'
35
+ | 'font-medium'
36
+ | 'font-semibold'
37
+ | 'font-bold'
38
+ | 'font-extrabold'
39
+ | 'font-black'
40
+ | FontWeightNumber
41
+
42
+ /* ======================================================
43
+ Font Width
44
+ - Semantic abstraction over wdth axis
45
+ ====================================================== */
46
+
47
+ export type FontWidth = 'condensed' | 'normal' | 'expanded' | number // variable wdth axis override
48
+
49
+ /* ======================================================
50
+ Font Slant
51
+ - slnt / ital axis abstraction
52
+ ====================================================== */
53
+
54
+ export type FontSlant = 'normal' | 'italic' | 'oblique' | number // variable slnt axis override
55
+
56
+ /* ======================================================
57
+ Line Height (Leading)
58
+ ====================================================== */
59
+
60
+ export type FontLeadingNumber = 0.9 | 1 | 1.1 | 1.2 | 1.25 | 1.3 | 1.4 | 1.5 | 1.6 | 1.75 | 2
61
+
62
+ export type FontLeading =
63
+ | 'leading-none'
64
+ | 'leading-tight'
65
+ | 'leading-snug'
66
+ | 'leading-normal'
67
+ | 'leading-relaxed'
68
+ | 'leading-loose'
69
+ | FontLeadingNumber
70
+
71
+ /* ======================================================
72
+ Letter Spacing (Tracking)
73
+ ====================================================== */
74
+
75
+ export type FontTrackingNumber = -0.05 | -0.025 | 0 | 0.025 | 0.05 | 0.075 | 0.1
76
+
77
+ export type FontTracking =
78
+ | 'tracking-tighter'
79
+ | 'tracking-tight'
80
+ | 'tracking-normal'
81
+ | 'tracking-wide'
82
+ | 'tracking-wider'
83
+ | 'tracking-widest'
84
+ | FontTrackingNumber
85
+
86
+ /* ======================================================
87
+ Text Layout
88
+ ====================================================== */
89
+
90
+ export type TextAlign = 'left' | 'center' | 'right' | 'justify'
91
+
92
+ export type TextTransform = 'none' | 'uppercase' | 'lowercase' | 'capitalize'
93
+
94
+ /* ======================================================
95
+ Base Typography Props
96
+ - Used by Text / Heading / Prose components
97
+ ====================================================== */
98
+
99
+ export interface TypographyProps {
100
+ as?: keyof HTMLElementTagNameMap
101
+ weight?: FontWeight
102
+ width?: FontWidth
103
+ slant?: FontSlant
104
+ leading?: FontLeading
105
+ tracking?: FontTracking
106
+ align?: TextAlign
107
+ transform?: TextTransform
108
+ }
@@ -0,0 +1,6 @@
1
+ type newText = string | string[]
2
+ const spacesRegex: RegExp = /\s/
3
+
4
+ export function splitSpaces(text: string): newText {
5
+ return text.split(spacesRegex)
6
+ }
@@ -0,0 +1,12 @@
1
+ export default defineAppConfig({
2
+ uiLayer: {},
3
+ })
4
+
5
+ declare module '@nuxt/schema' {
6
+ interface AppConfigInput {
7
+ uiLayer?: {
8
+ /** Project name */
9
+ name?: string
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,38 @@
1
+ // https://nuxt.com/docs/api/configuration/nuxt-config
2
+ export default defineNuxtConfig({
3
+ $meta: {
4
+ name: 'ui',
5
+ },
6
+
7
+ // Only extend core when running standalone dev (via dev:ui script)
8
+ extends: process.env.UI_STANDALONE ? ['../core'] : [],
9
+
10
+ alias: {
11
+ '#layers/ui': import.meta.dirname,
12
+ },
13
+
14
+ modules: [
15
+ '@nuxt/eslint',
16
+ '@nuxt/ui',
17
+ // '@nuxt/image'
18
+ ],
19
+
20
+ css: ['#layers/ui/app/assets/css/main.css'],
21
+
22
+ // devtools: {
23
+ // enabled: true,
24
+ // },
25
+
26
+ compatibilityDate: '2026-01-24',
27
+
28
+ typescript: {
29
+ typeCheck: true,
30
+ strict: true,
31
+ },
32
+
33
+ // vite: {
34
+ // build: {
35
+ // target: 'es2020',
36
+ // },
37
+ // },
38
+ })
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "ui",
3
+ "type": "module",
4
+ "version": "0.0.1",
5
+ "main": "./nuxt.config.ts",
6
+ "scripts": {
7
+ "dev": "nuxi dev .playground",
8
+ "dev:ui": "UI_STANDALONE=true nuxi dev",
9
+ "dev:prepare": "nuxt prepare .playground",
10
+ "build": "UI_STANDALONE=true nuxi build",
11
+ "generate": "UI_STANDALONE=true nuxi generate",
12
+ "preview": "nuxt preview .playground"
13
+ }
14
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../../apps/playground/tsconfig.json",
3
+ "compilerOptions": {
4
+ "strict": true
5
+ }
6
+ }