kmcom-nuxt-layers 2.2.0 → 2.2.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 (359) hide show
  1. package/layers/animations/app/components/Motion/CountUp.vue +30 -30
  2. package/layers/animations/app/components/Motion/Magnetic.vue +14 -14
  3. package/layers/animations/app/components/Motion/Marquee.vue +59 -62
  4. package/layers/animations/app/components/Motion/MarqueeText.vue +2 -2
  5. package/layers/animations/app/components/Motion/Staggered.vue +45 -49
  6. package/layers/animations/app/components/Motion/TextReveal.vue +21 -19
  7. package/layers/animations/app/components/Motion/Tilt.vue +13 -13
  8. package/layers/animations/app/components/Motion/VelocityEffect.vue +80 -80
  9. package/layers/animations/app/composables/useCountUp.ts +1 -1
  10. package/layers/animations/app/composables/useMarqueeVelocity.ts +2 -2
  11. package/layers/canvas/app/components/ShaderCanvas.vue +42 -49
  12. package/layers/canvas/app/composables/useRendererCapabilities.ts +29 -21
  13. package/layers/canvas/app/composables/useShaderTime.ts +4 -5
  14. package/layers/canvas/app/types/renderer.ts +5 -0
  15. package/layers/content/app/components/Blog/Article.vue +10 -7
  16. package/layers/content/app/components/Blog/Card.vue +0 -1
  17. package/layers/content/app/components/Blog/List.vue +2 -4
  18. package/layers/content/app/components/Gallery/AmbientImage.vue +0 -1
  19. package/layers/content/app/components/Gallery/Card.vue +0 -1
  20. package/layers/content/app/components/Gallery/Detail.vue +0 -2
  21. package/layers/content/app/components/Gallery/Grid.vue +0 -2
  22. package/layers/content/app/components/Gallery/ImageDetail.vue +0 -2
  23. package/layers/content/app/components/Gallery/Lightbox.vue +1 -6
  24. package/layers/content/app/components/NuxtContent/Detail.vue +3 -4
  25. package/layers/content/app/components/NuxtContent/List.vue +0 -1
  26. package/layers/content/app/components/NuxtContent/Surround.vue +0 -1
  27. package/layers/content/app/components/NuxtContent/Toc.vue +0 -1
  28. package/layers/content/app/components/Portfolio/Card.vue +0 -1
  29. package/layers/content/app/components/Portfolio/ColorPalette.vue +0 -1
  30. package/layers/content/app/components/Portfolio/Detail.vue +2 -4
  31. package/layers/content/app/components/Portfolio/ItemPage.vue +3 -1
  32. package/layers/content/app/components/Portfolio/List.vue +20 -5
  33. package/layers/content/app/components/Portfolio/Typography.vue +0 -1
  34. package/layers/content/app/components/content/Figure.vue +0 -1
  35. package/layers/content/app/composables/createPortfolioComposables.ts +21 -7
  36. package/layers/content/app/composables/useCollectionItem.ts +2 -3
  37. package/layers/content/app/composables/useCollectionSurround.ts +2 -3
  38. package/layers/content/app/composables/useContentPage.ts +0 -2
  39. package/layers/content/app/composables/useGalleryItems.ts +0 -2
  40. package/layers/content/app/composables/usePortfolioItems.ts +0 -2
  41. package/layers/content/app/types/app-config.d.ts +3 -1
  42. package/layers/content/app/types/collections.d.ts +46 -0
  43. package/layers/content/nuxt.config.ts +0 -1
  44. package/layers/core/app/components/ErrorBoundary.vue +0 -3
  45. package/layers/core/app/composables/useBrowser.ts +0 -1
  46. package/layers/core/app/composables/useCache.ts +0 -3
  47. package/layers/core/app/composables/useErrorLog.ts +0 -2
  48. package/layers/core/app/composables/useFeatures.ts +0 -3
  49. package/layers/core/app/composables/useLoading.ts +16 -15
  50. package/layers/core/app/composables/useNetworkInfo.ts +0 -2
  51. package/layers/core/app/composables/usePWAInfo.ts +0 -1
  52. package/layers/core/app/composables/useRendering.ts +0 -2
  53. package/layers/core/app/composables/useScreen.ts +0 -2
  54. package/layers/core/app/composables/useScrollGuard.ts +44 -44
  55. package/layers/core/app/layouts/default.vue +0 -1
  56. package/layers/core/app/plugins/error-handler.ts +4 -2
  57. package/layers/core/app/plugins/feature-detection.client.ts +4 -4
  58. package/layers/core/app/plugins/init.ts +4 -6
  59. package/layers/core/app/plugins/loading.client.ts +4 -3
  60. package/layers/core/app/plugins/scroll-guard.client.ts +4 -4
  61. package/layers/core/app/types/app-config.d.ts +1 -1
  62. package/layers/core/app/types/runtime-config.ts +13 -1
  63. package/layers/core/app/utils/helpers.ts +0 -4
  64. package/layers/feeds/app/app.config.ts +1 -1
  65. package/layers/feeds/app/plugins/feed-head.ts +4 -3
  66. package/layers/feeds/package.json +1 -1
  67. package/layers/forms/app/components/Form/Contact.vue +0 -2
  68. package/layers/forms/app/components/Form/Field.vue +0 -1
  69. package/layers/forms/app/composables/useFormSchema.ts +0 -1
  70. package/layers/forms/app/types/app-config.d.ts +1 -1
  71. package/layers/layout/app/components/Layout/Grid/Item.vue +0 -3
  72. package/layers/layout/app/components/Layout/Page/Container.vue +0 -4
  73. package/layers/layout/app/components/Layout/Page/Header.vue +0 -1
  74. package/layers/layout/app/components/Layout/Page/index.vue +0 -1
  75. package/layers/layout/app/components/Layout/Section/Gallery.vue +0 -1
  76. package/layers/layout/app/components/Layout/Section/Hero.vue +0 -3
  77. package/layers/layout/app/components/Layout/Section/Stack.vue +0 -3
  78. package/layers/layout/app/components/Layout/Section/Title.vue +0 -1
  79. package/layers/layout/app/composables/useGridConfig.ts +0 -1
  80. package/layers/layout/app/types/app-config.d.ts +6 -3
  81. package/layers/navigation/app/app.config.ts +1 -2
  82. package/layers/navigation/app/components/Links/Group.vue +0 -4
  83. package/layers/navigation/app/components/Links/Named.vue +0 -4
  84. package/layers/navigation/app/composables/mastNav.ts +0 -1
  85. package/layers/navigation/app/composables/toast.ts +0 -1
  86. package/layers/navigation/app/composables/useSite.ts +0 -1
  87. package/layers/navigation/app/utils/createModal.ts +0 -1
  88. package/layers/page-transitions/app/app.config.ts +1 -1
  89. package/layers/page-transitions/app/plugins/page-transitions.client.ts +4 -2
  90. package/layers/routing/app/composables/useRoutingConfig.ts +0 -1
  91. package/layers/routing/app/plugins/feature-flags.client.ts +4 -2
  92. package/layers/routing/app/plugins/scroll-routing.client.ts +4 -2
  93. package/layers/routing/app/types/app-config.d.ts +1 -2
  94. package/layers/routing/nuxt.config.ts +0 -1
  95. package/layers/scripts/app/app.config.ts +1 -2
  96. package/layers/scripts/app/composables/useAnalytics.ts +6 -6
  97. package/layers/scripts/app/composables/useGtm.ts +4 -4
  98. package/layers/scripts/app/composables/useScriptLoader.ts +12 -1
  99. package/layers/scroll/app/components/Motion/HorizontalScroll.vue +4 -1
  100. package/layers/scroll/app/components/Motion/Parallax.vue +38 -42
  101. package/layers/scroll/app/components/Motion/PinnedSection.vue +4 -1
  102. package/layers/scroll/app/components/Motion/ScrollLink.vue +26 -29
  103. package/layers/scroll/app/components/Motion/ScrollProgress.vue +38 -44
  104. package/layers/scroll/app/components/Motion/ScrollScene.vue +0 -1
  105. package/layers/scroll/app/components/Motion/ScrollStats.vue +19 -23
  106. package/layers/scroll/app/composables/useSmoothScroll.ts +21 -24
  107. package/layers/scroll/app/plugins/locomotive-scroll.client.ts +5 -2
  108. package/layers/seo/app/app.config.ts +0 -1
  109. package/layers/seo/app/composables/useSeoConfig.ts +0 -1
  110. package/layers/shader/app/components/Effect/PostProcessing.vue +3 -13
  111. package/layers/shader/app/components/Material/AmbientAurora.client.vue +41 -47
  112. package/layers/shader/app/components/Material/AmbientFlow.client.vue +47 -56
  113. package/layers/shader/app/components/Material/AmbientGradientMesh.client.vue +45 -51
  114. package/layers/shader/app/components/Material/AmbientNebula.client.vue +47 -53
  115. package/layers/shader/app/components/Material/AmbientOcean.client.vue +40 -46
  116. package/layers/shader/app/components/Material/Fresnel.client.vue +24 -29
  117. package/layers/shader/app/components/Material/Gradient.client.vue +61 -67
  118. package/layers/shader/app/components/Material/Image.client.vue +65 -71
  119. package/layers/shader/app/components/Material/Node.client.vue +46 -46
  120. package/layers/shader/app/components/Material/Noise.client.vue +48 -54
  121. package/layers/shader/app/components/Mesh/Plane.vue +15 -20
  122. package/layers/shader/app/components/Node/Color.client.vue +3 -4
  123. package/layers/shader/app/components/Node/Fresnel.client.vue +17 -26
  124. package/layers/shader/app/components/Node/Gradient.client.vue +36 -42
  125. package/layers/shader/app/components/Node/Mix.client.vue +13 -19
  126. package/layers/shader/app/components/Node/Noise.client.vue +0 -3
  127. package/layers/shader/app/components/Pipeline/ACESTonemap.client.vue +0 -2
  128. package/layers/shader/app/components/Pipeline/AddBlend.client.vue +15 -16
  129. package/layers/shader/app/components/Pipeline/AgedFilm.client.vue +27 -28
  130. package/layers/shader/app/components/Pipeline/Aurora.client.vue +37 -44
  131. package/layers/shader/app/components/Pipeline/BilinearGradient.client.vue +26 -33
  132. package/layers/shader/app/components/Pipeline/BillowNoise.client.vue +22 -23
  133. package/layers/shader/app/components/Pipeline/BrightnessContrast.client.vue +16 -20
  134. package/layers/shader/app/components/Pipeline/CellularNoise.client.vue +22 -23
  135. package/layers/shader/app/components/Pipeline/ChannelMixer.client.vue +28 -35
  136. package/layers/shader/app/components/Pipeline/ChebyshevNoiseField.client.vue +31 -31
  137. package/layers/shader/app/components/Pipeline/Checkerboard.client.vue +21 -23
  138. package/layers/shader/app/components/Pipeline/ChromaticAberration.client.vue +21 -23
  139. package/layers/shader/app/components/Pipeline/ChromaticScreenWaves.client.vue +31 -30
  140. package/layers/shader/app/components/Pipeline/Circle.client.vue +22 -23
  141. package/layers/shader/app/components/Pipeline/Clouds.client.vue +36 -43
  142. package/layers/shader/app/components/Pipeline/ColorBurnBlend.client.vue +15 -17
  143. package/layers/shader/app/components/Pipeline/ColorDodgeBlend.client.vue +15 -17
  144. package/layers/shader/app/components/Pipeline/ColourRamp.client.vue +28 -35
  145. package/layers/shader/app/components/Pipeline/ComplexPlaneField.client.vue +31 -38
  146. package/layers/shader/app/components/Pipeline/ConicGradient.client.vue +19 -21
  147. package/layers/shader/app/components/Pipeline/CosinePalette.client.vue +42 -49
  148. package/layers/shader/app/components/Pipeline/CoverageAlpha.client.vue +0 -4
  149. package/layers/shader/app/components/Pipeline/Cross.client.vue +28 -28
  150. package/layers/shader/app/components/Pipeline/CurlNoise.client.vue +26 -27
  151. package/layers/shader/app/components/Pipeline/DarkenBlend.client.vue +15 -17
  152. package/layers/shader/app/components/Pipeline/DayNightCycle.client.vue +26 -27
  153. package/layers/shader/app/components/Pipeline/Desaturate.client.vue +8 -15
  154. package/layers/shader/app/components/Pipeline/DiagonalGradient.client.vue +19 -21
  155. package/layers/shader/app/components/Pipeline/DiamondGradient.client.vue +19 -21
  156. package/layers/shader/app/components/Pipeline/DifferenceBlend.client.vue +15 -17
  157. package/layers/shader/app/components/Pipeline/DivideBlend.client.vue +14 -17
  158. package/layers/shader/app/components/Pipeline/DomainWarpedNoise.client.vue +30 -37
  159. package/layers/shader/app/components/Pipeline/Dots.client.vue +26 -33
  160. package/layers/shader/app/components/Pipeline/DuoTone.client.vue +16 -19
  161. package/layers/shader/app/components/Pipeline/ExclusionBlend.client.vue +14 -17
  162. package/layers/shader/app/components/Pipeline/ExponentialFog.client.vue +21 -23
  163. package/layers/shader/app/components/Pipeline/Exposure.client.vue +8 -15
  164. package/layers/shader/app/components/Pipeline/FBMNoise.client.vue +28 -36
  165. package/layers/shader/app/components/Pipeline/FilmBurn.client.vue +27 -28
  166. package/layers/shader/app/components/Pipeline/FilmGrain.client.vue +29 -29
  167. package/layers/shader/app/components/Pipeline/FisheyeRay.client.vue +11 -18
  168. package/layers/shader/app/components/Pipeline/Flame.client.vue +26 -27
  169. package/layers/shader/app/components/Pipeline/FocalGradient.client.vue +24 -25
  170. package/layers/shader/app/components/Pipeline/Gamma.client.vue +8 -14
  171. package/layers/shader/app/components/Pipeline/GodRays.client.vue +32 -39
  172. package/layers/shader/app/components/Pipeline/GradientNoise.client.vue +22 -22
  173. package/layers/shader/app/components/Pipeline/Grain.client.vue +34 -41
  174. package/layers/shader/app/components/Pipeline/Grid.client.vue +24 -24
  175. package/layers/shader/app/components/Pipeline/Halation.client.vue +22 -24
  176. package/layers/shader/app/components/Pipeline/Halftone.client.vue +16 -18
  177. package/layers/shader/app/components/Pipeline/HardLightBlend.client.vue +15 -16
  178. package/layers/shader/app/components/Pipeline/Haze.client.vue +22 -24
  179. package/layers/shader/app/components/Pipeline/Hexagon.client.vue +22 -22
  180. package/layers/shader/app/components/Pipeline/Hue.client.vue +8 -12
  181. package/layers/shader/app/components/Pipeline/Invert.client.vue +0 -1
  182. package/layers/shader/app/components/Pipeline/LensFlare.client.vue +27 -25
  183. package/layers/shader/app/components/Pipeline/LightenBlend.client.vue +15 -14
  184. package/layers/shader/app/components/Pipeline/LinearGradient.client.vue +17 -21
  185. package/layers/shader/app/components/Pipeline/LinearGradient4.client.vue +29 -33
  186. package/layers/shader/app/components/Pipeline/LinearToSRGB.client.vue +8 -12
  187. package/layers/shader/app/components/Pipeline/Marble.client.vue +41 -47
  188. package/layers/shader/app/components/Pipeline/MixBlend.client.vue +21 -27
  189. package/layers/shader/app/components/Pipeline/MonochromeTint.client.vue +16 -21
  190. package/layers/shader/app/components/Pipeline/MultiplyBlend.client.vue +15 -16
  191. package/layers/shader/app/components/Pipeline/NoisyGradient.client.vue +34 -40
  192. package/layers/shader/app/components/Pipeline/NoisyGradientBlend.client.vue +54 -60
  193. package/layers/shader/app/components/Pipeline/OverlayBlend.client.vue +15 -16
  194. package/layers/shader/app/components/Pipeline/PaperTexture.client.vue +22 -24
  195. package/layers/shader/app/components/Pipeline/Polygon.client.vue +32 -39
  196. package/layers/shader/app/components/Pipeline/Posterise.client.vue +8 -14
  197. package/layers/shader/app/components/Pipeline/RadialGradient.client.vue +18 -24
  198. package/layers/shader/app/components/Pipeline/RayAutoOrbit.client.vue +16 -18
  199. package/layers/shader/app/components/Pipeline/RayMouseOrbit.client.vue +16 -18
  200. package/layers/shader/app/components/Pipeline/RayRotateX.client.vue +8 -14
  201. package/layers/shader/app/components/Pipeline/RayRotateY.client.vue +8 -14
  202. package/layers/shader/app/components/Pipeline/RayRotateZ.client.vue +8 -14
  203. package/layers/shader/app/components/Pipeline/RayTiltBasis.client.vue +21 -22
  204. package/layers/shader/app/components/Pipeline/RaymarchTunnel.client.vue +34 -40
  205. package/layers/shader/app/components/Pipeline/Rectangle.client.vue +30 -36
  206. package/layers/shader/app/components/Pipeline/ReinhardTonemap.client.vue +0 -3
  207. package/layers/shader/app/components/Pipeline/RidgedNoise.client.vue +22 -22
  208. package/layers/shader/app/components/Pipeline/Ring.client.vue +26 -32
  209. package/layers/shader/app/components/Pipeline/RingField.client.vue +36 -33
  210. package/layers/shader/app/components/Pipeline/RisographGrain.client.vue +29 -35
  211. package/layers/shader/app/components/Pipeline/RotatedGradientBlend.client.vue +29 -35
  212. package/layers/shader/app/components/Pipeline/SDFColourMask.client.vue +15 -18
  213. package/layers/shader/app/components/Pipeline/SDFRadialMask.client.vue +16 -18
  214. package/layers/shader/app/components/Pipeline/SRGBToLinear.client.vue +8 -14
  215. package/layers/shader/app/components/Pipeline/Saturation.client.vue +8 -14
  216. package/layers/shader/app/components/Pipeline/Scanlines.client.vue +21 -22
  217. package/layers/shader/app/components/Pipeline/ScreenBlend.client.vue +15 -16
  218. package/layers/shader/app/components/Pipeline/ShaderDebugger.client.vue +28 -29
  219. package/layers/shader/app/components/Pipeline/SimplexNoise.client.vue +25 -32
  220. package/layers/shader/app/components/Pipeline/SkyAtmosphere.client.vue +37 -44
  221. package/layers/shader/app/components/Pipeline/SoftLightBlend.client.vue +15 -16
  222. package/layers/shader/app/components/Pipeline/SolidColour.client.vue +7 -16
  223. package/layers/shader/app/components/Pipeline/SplitTone.client.vue +27 -28
  224. package/layers/shader/app/components/Pipeline/Star.client.vue +31 -37
  225. package/layers/shader/app/components/Pipeline/Starfield.client.vue +29 -27
  226. package/layers/shader/app/components/Pipeline/Stripes.client.vue +28 -27
  227. package/layers/shader/app/components/Pipeline/SubtractBlend.client.vue +15 -16
  228. package/layers/shader/app/components/Pipeline/TanhTonemap.client.vue +8 -17
  229. package/layers/shader/app/components/Pipeline/Threshold.client.vue +8 -14
  230. package/layers/shader/app/components/Pipeline/Tint.client.vue +16 -18
  231. package/layers/shader/app/components/Pipeline/Triangle.client.vue +22 -22
  232. package/layers/shader/app/components/Pipeline/UVAspectCorrect.client.vue +0 -2
  233. package/layers/shader/app/components/Pipeline/UVBreath.client.vue +16 -18
  234. package/layers/shader/app/components/Pipeline/UVBulge.client.vue +16 -18
  235. package/layers/shader/app/components/Pipeline/UVClamp.client.vue +0 -3
  236. package/layers/shader/app/components/Pipeline/UVColumnOffset.client.vue +16 -18
  237. package/layers/shader/app/components/Pipeline/UVFlipX.client.vue +0 -3
  238. package/layers/shader/app/components/Pipeline/UVFlipXY.client.vue +0 -3
  239. package/layers/shader/app/components/Pipeline/UVFlipY.client.vue +0 -3
  240. package/layers/shader/app/components/Pipeline/UVFractBand.client.vue +16 -18
  241. package/layers/shader/app/components/Pipeline/UVMousePull.client.vue +8 -14
  242. package/layers/shader/app/components/Pipeline/UVNoiseRotate.client.vue +21 -27
  243. package/layers/shader/app/components/Pipeline/UVNoiseWarp.client.vue +21 -22
  244. package/layers/shader/app/components/Pipeline/UVOrbit.client.vue +8 -14
  245. package/layers/shader/app/components/Pipeline/UVParallax.client.vue +8 -18
  246. package/layers/shader/app/components/Pipeline/UVPixelate.client.vue +7 -14
  247. package/layers/shader/app/components/Pipeline/UVPulse.client.vue +16 -18
  248. package/layers/shader/app/components/Pipeline/UVRipple.client.vue +26 -26
  249. package/layers/shader/app/components/Pipeline/UVRotate.client.vue +16 -22
  250. package/layers/shader/app/components/Pipeline/UVScale.client.vue +16 -22
  251. package/layers/shader/app/components/Pipeline/UVScroll.client.vue +12 -18
  252. package/layers/shader/app/components/Pipeline/UVScrollX.client.vue +8 -14
  253. package/layers/shader/app/components/Pipeline/UVScrollY.client.vue +8 -14
  254. package/layers/shader/app/components/Pipeline/UVShear.client.vue +16 -18
  255. package/layers/shader/app/components/Pipeline/UVSineWarpXY.client.vue +18 -24
  256. package/layers/shader/app/components/Pipeline/UVSwapAxes.client.vue +0 -3
  257. package/layers/shader/app/components/Pipeline/UVTile.client.vue +12 -18
  258. package/layers/shader/app/components/Pipeline/UVTwirl.client.vue +16 -18
  259. package/layers/shader/app/components/Pipeline/UVWarp.client.vue +21 -22
  260. package/layers/shader/app/components/Pipeline/VHSBleed.client.vue +27 -28
  261. package/layers/shader/app/components/Pipeline/ValueNoise.client.vue +22 -22
  262. package/layers/shader/app/components/Pipeline/Vibrance.client.vue +11 -17
  263. package/layers/shader/app/components/Pipeline/Vignette.client.vue +14 -20
  264. package/layers/shader/app/components/Pipeline/VoronoiEdges.client.vue +29 -28
  265. package/layers/shader/app/components/Pipeline/Water.client.vue +31 -37
  266. package/layers/shader/app/components/Pipeline/WaveBendLayer.client.vue +26 -32
  267. package/layers/shader/app/components/Pipeline/WaveColourLayer.client.vue +37 -36
  268. package/layers/shader/app/components/Pipeline/WhiteBalance.client.vue +23 -26
  269. package/layers/shader/app/components/Pipeline/Wood.client.vue +34 -40
  270. package/layers/shader/app/components/Preset/Aurora.client.vue +0 -7
  271. package/layers/shader/app/components/Preset/Flow.client.vue +15 -23
  272. package/layers/shader/app/components/Preset/GradientMesh.client.vue +15 -23
  273. package/layers/shader/app/components/Preset/Nebula.client.vue +15 -25
  274. package/layers/shader/app/components/Preset/Ocean.client.vue +15 -24
  275. package/layers/shader/app/components/Preset/ThemeAurora.client.vue +38 -47
  276. package/layers/shader/app/components/Preset/ThemeBubble.client.vue +38 -47
  277. package/layers/shader/app/components/Preset/ThemeFlow.client.vue +38 -47
  278. package/layers/shader/app/components/Preset/ThemeGradient.client.vue +38 -47
  279. package/layers/shader/app/components/Preset/ThemeLavaLamp.client.vue +38 -47
  280. package/layers/shader/app/components/Preset/ThemePlasma.client.vue +38 -47
  281. package/layers/shader/app/components/Preset/ThemeWave.client.vue +38 -47
  282. package/layers/shader/app/components/Shader/Background.client.vue +109 -75
  283. package/layers/shader/app/components/Shader/Debug.vue +4 -14
  284. package/layers/shader/app/components/Shader/Host.client.vue +7 -9
  285. package/layers/shader/app/components/Shader/Material.client.vue +8 -20
  286. package/layers/shader/app/components/Shader/Pipeline.client.vue +0 -6
  287. package/layers/shader/app/components/Shader/Runtime.client.vue +0 -5
  288. package/layers/shader/app/composables/useAmbientMaterials.ts +4 -9
  289. package/layers/shader/app/composables/useCSSColourUniform.ts +0 -4
  290. package/layers/shader/app/composables/useCSSFloatUniform.ts +0 -3
  291. package/layers/shader/app/composables/useShader.ts +1 -4
  292. package/layers/shader/app/composables/useShaderColor.ts +4 -6
  293. package/layers/shader/app/composables/useShaderFloat.ts +1 -3
  294. package/layers/shader/app/composables/useShaderGraph.ts +4 -5
  295. package/layers/shader/app/composables/useShaderRuntime.ts +0 -5
  296. package/layers/shader/app/composables/useShaderVec2.ts +4 -8
  297. package/layers/shader/app/composables/useSunDirectionUniform.ts +0 -6
  298. package/layers/shader/app/composables/useThemeColors.ts +0 -1
  299. package/layers/shader/app/composables/useUniforms.ts +25 -9
  300. package/layers/shader/app/plugins/shader.client.ts +4 -3
  301. package/layers/shader/app/shaders/common/blend.ts +2 -4
  302. package/layers/shader/app/shaders/common/complex.ts +0 -2
  303. package/layers/shader/app/shaders/common/effects.ts +5 -13
  304. package/layers/shader/app/shaders/common/grain.ts +2 -7
  305. package/layers/shader/app/shaders/common/lighting.ts +0 -3
  306. package/layers/shader/app/shaders/common/math.ts +12 -8
  307. package/layers/shader/app/shaders/common/noise.ts +48 -48
  308. package/layers/shader/app/shaders/common/noiseHelpers.ts +6 -6
  309. package/layers/shader/app/shaders/common/palette.ts +10 -11
  310. package/layers/shader/app/shaders/common/patterns.ts +1 -4
  311. package/layers/shader/app/shaders/common/sdf.ts +11 -7
  312. package/layers/shader/app/shaders/common/shapes.ts +25 -15
  313. package/layers/shader/app/shaders/common/tonemapping.ts +0 -2
  314. package/layers/shader/app/shaders/common/uv.ts +20 -29
  315. package/layers/shader/app/shaders/createMaterial.ts +2 -5
  316. package/layers/shader/app/shaders/layers/aurora.ts +14 -17
  317. package/layers/shader/app/shaders/layers/meshGradient.ts +13 -16
  318. package/layers/shader/app/shaders/layers/paperShading.ts +15 -19
  319. package/layers/shader/app/shaders/layers/shaderGradient.ts +18 -23
  320. package/layers/shader/app/shaders/layers/stripe.ts +14 -17
  321. package/layers/shader/app/shaders/types.ts +9 -1
  322. package/layers/shader/app/types/app-config.d.ts +1 -1
  323. package/layers/shader/app/types/tsl.ts +0 -1
  324. package/layers/shader/app/types/uniforms.ts +0 -1
  325. package/layers/shader/app/utils/tsl/animation.ts +50 -52
  326. package/layers/shader/app/utils/tsl/color.ts +20 -19
  327. package/layers/shader/app/utils/tsl/noise.ts +10 -12
  328. package/layers/shader/app/utils/tsl/oklch.ts +6 -7
  329. package/layers/shader/app/utils/tsl/patterns.ts +4 -6
  330. package/layers/shader/app/utils/tsl/tween.ts +2 -4
  331. package/layers/shader/app/utils/tsl/uv.ts +6 -6
  332. package/layers/theme/app/components/ThemePicker/AccentButton.vue +1 -3
  333. package/layers/theme/app/components/ThemePicker/Colors.vue +0 -1
  334. package/layers/theme/app/composables/useAccentColor.ts +0 -1
  335. package/layers/theme/app/plugins/theme.client.ts +4 -3
  336. package/layers/theme/app/types/app-config.d.ts +1 -2
  337. package/layers/transitions/app/components/Motion/Transition.vue +15 -22
  338. package/layers/typography/app/components/Typography/CodeBlock.vue +16 -19
  339. package/layers/typography/app/components/Typography/Headline.vue +46 -49
  340. package/layers/typography/app/components/Typography/HeadlineScreen.vue +36 -40
  341. package/layers/typography/app/components/Typography/QuoteBlock.vue +3 -4
  342. package/layers/typography/app/components/Typography/TextStroke.vue +15 -20
  343. package/layers/typography/app/components/Typography/index.vue +0 -4
  344. package/layers/typography/app/composables/typography.ts +9 -11
  345. package/layers/visual/app/app.config.ts +1 -2
  346. package/layers/visual/app/components/Accent/Blob.vue +0 -3
  347. package/layers/visual/app/components/Accent/Scene.vue +12 -17
  348. package/layers/visual/app/components/Base/Modal.vue +0 -1
  349. package/layers/visual/app/components/Gradient/Background.vue +10 -13
  350. package/layers/visual/app/components/Gradient/Text.vue +10 -13
  351. package/layers/visual/app/components/Media/Picture.vue +0 -1
  352. package/layers/visual/app/components/Progress/Bar.vue +0 -1
  353. package/layers/visual/app/components/Progress/Circular.vue +0 -1
  354. package/layers/visual/app/components/Tint/Overlay.vue +0 -2
  355. package/layers/visual/app/composables/gradient.ts +6 -11
  356. package/layers/visual/app/composables/picture.ts +0 -1
  357. package/layers/visual/app/composables/tint.ts +0 -1
  358. package/layers/visual/app/types/media.ts +0 -1
  359. package/package.json +2 -1
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Frontmatter type augmentation for the content collections.
3
+ *
4
+ * The runtime schemas live in `content.config.ts` but are intentionally NOT
5
+ * passed to `defineCollection` (c12 initializes configs with jiti's
6
+ * `moduleCache: false`, so zod validators never initialize — see the layer
7
+ * docs). Nuxt Content therefore generates bare collection interfaces; this
8
+ * file adds the frontmatter fields so they stay typed. Keep in sync with the
9
+ * schemas in `content.config.ts`.
10
+ */
11
+ import type { ContentAuthor, GalleryImage, PortfolioColor, PortfolioFont } from './content'
12
+
13
+ declare module '@nuxt/content' {
14
+ interface ContentCollectionItem {
15
+ image?: string
16
+ }
17
+
18
+ interface BlogCollectionItem {
19
+ date?: string
20
+ image?: string
21
+ authors?: ContentAuthor[]
22
+ tags?: string[]
23
+ badge?: string
24
+ draft?: boolean
25
+ readingTime?: number
26
+ }
27
+
28
+ interface PortfolioCollectionItem {
29
+ image?: string
30
+ tags?: string[]
31
+ client?: string
32
+ year?: number
33
+ url?: string
34
+ featured?: boolean
35
+ colors?: PortfolioColor[]
36
+ typography?: PortfolioFont[]
37
+ }
38
+
39
+ interface GalleryCollectionItem {
40
+ images?: GalleryImage[]
41
+ tags?: string[]
42
+ date?: string
43
+ }
44
+ }
45
+
46
+ export {}
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-restricted-syntax */
2
1
  // Conditionally load nuxt-studio if installed (optional peer dependency) and in development
3
2
  const studioModule: string[] = []
4
3
  if (process.env.NODE_ENV === 'development') {
@@ -1,7 +1,4 @@
1
- <!-- eslint-disable vue/no-boolean-default -->
2
- <!-- eslint-disable @typescript-eslint/ban-ts-comment -->
3
1
  <script setup lang="ts">
4
- // @ts-nocheck
5
2
  /**
6
3
  * ErrorBoundary component - Catches errors in child components
7
4
  *
@@ -1,4 +1,3 @@
1
- /* eslint-disable complexity */
2
1
  // composables/useBrowser.ts
3
2
 
4
3
  type BrowserInfo = {
@@ -1,6 +1,3 @@
1
- /* eslint-disable no-restricted-syntax */
2
- /* eslint-disable @typescript-eslint/ban-ts-comment */
3
- // @ts-nocheck
4
1
 
5
2
  // composables/useCache.ts
6
3
  import { useOnline } from '@vueuse/core'
@@ -1,5 +1,3 @@
1
- /* eslint-disable no-restricted-syntax */
2
- /* eslint-disable @typescript-eslint/no-unused-expressions */
3
1
  /**
4
2
  * Error logging composable for tracking and reporting errors
5
3
  *
@@ -1,6 +1,3 @@
1
- /* eslint-disable no-restricted-syntax */
2
- /* eslint-disable @typescript-eslint/ban-ts-comment */
3
- // @ts-nocheck
4
1
  // composables/useFeatures.ts
5
2
  import type { FeatureDetection } from '#layers/core/app/types/detection'
6
3
  import {
@@ -1,9 +1,10 @@
1
- /* eslint-disable no-restricted-syntax */
2
1
  // composables/useLoading.ts
3
2
 
4
3
  // Timer IDs are non-reactive and intentionally module-scope (singleton)
5
- let progressInterval: ReturnType<typeof setInterval> | null = null
6
- let progressTimeout: ReturnType<typeof setTimeout> | null = null
4
+ const _timers = {
5
+ progressInterval: null as ReturnType<typeof setInterval> | null,
6
+ progressTimeout: null as ReturnType<typeof setTimeout> | null,
7
+ }
7
8
 
8
9
  /**
9
10
  * Loading state composable for app initialization and async operations
@@ -26,31 +27,31 @@ export function useLoading() {
26
27
  isLoading.value = true
27
28
  progress.value = 0
28
29
 
29
- if (progressInterval) clearInterval(progressInterval)
30
- if (progressTimeout) clearTimeout(progressTimeout)
30
+ if (_timers.progressInterval) clearInterval(_timers.progressInterval)
31
+ if (_timers.progressTimeout) clearTimeout(_timers.progressTimeout)
31
32
 
32
- progressInterval = setInterval(() => {
33
+ _timers.progressInterval = setInterval(() => {
33
34
  if (progress.value < 90) {
34
35
  const increment = Math.random() * 5 + 3
35
36
  progress.value = Math.min(progress.value + increment, 90)
36
- } else {
37
- if (progressInterval) {
38
- clearInterval(progressInterval)
39
- progressInterval = null
40
- }
37
+ return
38
+ }
39
+ if (_timers.progressInterval) {
40
+ clearInterval(_timers.progressInterval)
41
+ _timers.progressInterval = null
41
42
  }
42
43
  }, 150)
43
44
  }
44
45
 
45
46
  function stopLoading(): void {
46
- if (progressInterval) {
47
- clearInterval(progressInterval)
48
- progressInterval = null
47
+ if (_timers.progressInterval) {
48
+ clearInterval(_timers.progressInterval)
49
+ _timers.progressInterval = null
49
50
  }
50
51
 
51
52
  progress.value = 100
52
53
 
53
- progressTimeout = setTimeout(() => {
54
+ _timers.progressTimeout = setTimeout(() => {
54
55
  isLoading.value = false
55
56
  }, 100)
56
57
  }
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- // @ts-nocheck
3
1
  // composables/useNetworkInfo.ts
4
2
  import { useNetwork } from '@vueuse/core'
5
3
 
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
2
1
  /**
3
2
  * PWA composable for managing Progressive Web App functionality
4
3
  *
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- // @ts-nocheck
3
1
  // composables/useRendering.ts
4
2
 
5
3
  type RenderMode = 'ssr' | 'ssg' | 'csr' | 'hybrid'
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- // @ts-nocheck
3
1
  // composables/useScreen.ts
4
2
  import { breakpointsTailwind, useBreakpoints, useScreenOrientation } from '@vueuse/core'
5
3
 
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-restricted-syntax */
2
1
  // composables/useScrollGuard.ts
3
2
 
4
3
  import type { ScrollGuardConfig } from '#layers/core/app/types/scroll-guard'
@@ -22,16 +21,17 @@ const clampedElements = new WeakMap<HTMLElement, SavedStyles>()
22
21
  /** Live set so we can iterate and restore on disable */
23
22
  const clampedSet = new Set<HTMLElement>()
24
23
 
25
- let observer: MutationObserver | null = null
26
- let debouncedGuard: (() => void) | null = null
27
- let resizeHandler: (() => void) | null = null
28
- let savedHtmlOverflowX = ''
29
- let savedBodyOverflowX = ''
30
- let savedBodyMaxWidth = ''
31
- let savedBodyTransition = ''
32
-
33
- // Current resolved options (set by enable())
34
- let opts: ScrollGuardConfig | null = null
24
+ // Singleton DOM tracking (non-reactive, client-only)
25
+ const _s = {
26
+ observer: null as MutationObserver | null,
27
+ debouncedGuard: null as (() => void) | null,
28
+ resizeHandler: null as (() => void) | null,
29
+ savedHtmlOverflowX: '',
30
+ savedBodyOverflowX: '',
31
+ savedBodyMaxWidth: '',
32
+ savedBodyTransition: '',
33
+ opts: null as ScrollGuardConfig | null,
34
+ }
35
35
 
36
36
  // ---------------------------------------------------------------------------
37
37
  // Composable
@@ -58,8 +58,8 @@ export function useScrollGuard() {
58
58
  const clampedCount = useState('core:scroll-guard:clamped', () => 0)
59
59
 
60
60
  function shouldExclude(el: HTMLElement): boolean {
61
- if (!opts) return true
62
- return opts.excludeSelectors.some((sel) => {
61
+ if (!_s.opts) return true
62
+ return _s.opts.excludeSelectors.some((sel) => {
63
63
  try {
64
64
  return el.matches(sel)
65
65
  } catch {
@@ -69,7 +69,7 @@ export function useScrollGuard() {
69
69
  }
70
70
 
71
71
  function clampElement(el: HTMLElement) {
72
- if (!opts || clampedElements.has(el) || shouldExclude(el)) return
72
+ if (!_s.opts || clampedElements.has(el) || shouldExclude(el)) return
73
73
  if (el.scrollWidth <= window.innerWidth) return
74
74
 
75
75
  clampedElements.set(el, {
@@ -80,11 +80,11 @@ export function useScrollGuard() {
80
80
  })
81
81
  clampedSet.add(el)
82
82
 
83
- el.style.transition = `max-width ${opts.transitionDuration}ms ease`
83
+ el.style.transition = `max-width ${_s.opts.transitionDuration}ms ease`
84
84
  el.style.maxWidth = '100%'
85
85
  el.style.boxSizing = 'border-box'
86
86
 
87
- if (opts.debug) {
87
+ if (_s.opts.debug) {
88
88
  el.style.outline = '2px dashed red'
89
89
  setTimeout(() => {
90
90
  el.style.outline = ''
@@ -95,7 +95,7 @@ export function useScrollGuard() {
95
95
  }
96
96
 
97
97
  function guard() {
98
- if (!isEnabled.value || !opts) return
98
+ if (!isEnabled.value || !_s.opts) return
99
99
 
100
100
  const html = document.documentElement
101
101
  const body = document.body
@@ -104,7 +104,7 @@ export function useScrollGuard() {
104
104
  body.style.overflowX = 'clip'
105
105
  body.style.maxWidth = '100vw'
106
106
 
107
- if (!opts.strict) return
107
+ if (!_s.opts.strict) return
108
108
 
109
109
  const elements = document.body.querySelectorAll<HTMLElement>('*')
110
110
  for (const el of elements) {
@@ -115,10 +115,10 @@ export function useScrollGuard() {
115
115
  }
116
116
 
117
117
  function startObservers() {
118
- if (!opts) return
118
+ if (!_s.opts) return
119
119
 
120
- observer = new MutationObserver((mutations) => {
121
- if (!isEnabled.value || !opts?.strict) return
120
+ _s.observer = new MutationObserver((mutations) => {
121
+ if (!isEnabled.value || !_s.opts?.strict) return
122
122
  for (const m of mutations) {
123
123
  for (const node of m.addedNodes) {
124
124
  if (node instanceof HTMLElement) {
@@ -130,22 +130,22 @@ export function useScrollGuard() {
130
130
  }
131
131
  }
132
132
  })
133
- observer.observe(document.body, { childList: true, subtree: true })
133
+ _s.observer.observe(document.body, { childList: true, subtree: true })
134
134
 
135
- debouncedGuard = debounce(guard, opts.resizeDebounce)
136
- resizeHandler = debouncedGuard
137
- window.addEventListener('resize', resizeHandler)
135
+ _s.debouncedGuard = debounce(guard, _s.opts.resizeDebounce)
136
+ _s.resizeHandler = _s.debouncedGuard
137
+ window.addEventListener('resize', _s.resizeHandler)
138
138
  }
139
139
 
140
140
  function stopObservers() {
141
- if (observer) {
142
- observer.disconnect()
143
- observer = null
141
+ if (_s.observer) {
142
+ _s.observer.disconnect()
143
+ _s.observer = null
144
144
  }
145
- if (resizeHandler) {
146
- window.removeEventListener('resize', resizeHandler)
147
- resizeHandler = null
148
- debouncedGuard = null
145
+ if (_s.resizeHandler) {
146
+ window.removeEventListener('resize', _s.resizeHandler)
147
+ _s.resizeHandler = null
148
+ _s.debouncedGuard = null
149
149
  }
150
150
  }
151
151
 
@@ -165,10 +165,10 @@ export function useScrollGuard() {
165
165
 
166
166
  const html = document.documentElement
167
167
  const body = document.body
168
- html.style.overflowX = savedHtmlOverflowX
169
- body.style.overflowX = savedBodyOverflowX
170
- body.style.maxWidth = savedBodyMaxWidth
171
- body.style.transition = savedBodyTransition
168
+ html.style.overflowX = _s.savedHtmlOverflowX
169
+ body.style.overflowX = _s.savedBodyOverflowX
170
+ body.style.maxWidth = _s.savedBodyMaxWidth
171
+ body.style.transition = _s.savedBodyTransition
172
172
  }
173
173
 
174
174
  function enable(config?: Partial<ScrollGuardConfig>) {
@@ -180,7 +180,7 @@ export function useScrollGuard() {
180
180
  appConfig.coreLayer as { scrollGuard?: Partial<ScrollGuardConfig> } | undefined
181
181
  )?.scrollGuard
182
182
 
183
- opts = {
183
+ _s.opts = {
184
184
  enabled: true,
185
185
  excludeSelectors: ['.carousel', '.overflow-intent'],
186
186
  strict: true,
@@ -193,10 +193,10 @@ export function useScrollGuard() {
193
193
 
194
194
  const html = document.documentElement
195
195
  const body = document.body
196
- savedHtmlOverflowX = html.style.overflowX
197
- savedBodyOverflowX = body.style.overflowX
198
- savedBodyMaxWidth = body.style.maxWidth
199
- savedBodyTransition = body.style.transition
196
+ _s.savedHtmlOverflowX = html.style.overflowX
197
+ _s.savedBodyOverflowX = body.style.overflowX
198
+ _s.savedBodyMaxWidth = body.style.maxWidth
199
+ _s.savedBodyTransition = body.style.transition
200
200
 
201
201
  isEnabled.value = true
202
202
  guard()
@@ -210,15 +210,15 @@ export function useScrollGuard() {
210
210
  isEnabled.value = false
211
211
  stopObservers()
212
212
  restoreAll()
213
- opts = null
213
+ _s.opts = null
214
214
  }
215
215
 
216
216
  function toggle() {
217
217
  if (isEnabled.value) {
218
218
  disable()
219
- } else {
220
- enable()
219
+ return
221
220
  }
221
+ enable()
222
222
  }
223
223
 
224
224
  function scan() {
@@ -1,4 +1,3 @@
1
- <!-- eslint-disable vue/no-multiple-template-root -->
2
1
  <template>
3
2
  <slot />
4
3
  </template>
@@ -1,5 +1,6 @@
1
- /* eslint-disable no-restricted-syntax */
2
- export default defineNuxtPlugin((nuxtApp) => {
1
+ export default defineNuxtPlugin({
2
+ name: 'core:error-handler',
3
+ setup(nuxtApp) {
3
4
  const { logError } = useErrorLog()
4
5
 
5
6
  // Global Vue error handler
@@ -44,4 +45,5 @@ export default defineNuxtPlugin((nuxtApp) => {
44
45
  console.log('✅ Error cleared')
45
46
  }
46
47
  })
48
+ },
47
49
  })
@@ -1,6 +1,3 @@
1
- /* eslint-disable no-restricted-syntax */
2
- /* eslint-disable @typescript-eslint/ban-ts-comment */
3
- // @ts-nocheck
4
1
  // plugins/feature-detection.client.ts
5
2
 
6
3
  /**
@@ -14,7 +11,9 @@
14
11
  * This ensures feature detection happens automatically on every page load,
15
12
  * making feature flags available immediately to all components.
16
13
  */
17
- export default defineNuxtPlugin(() => {
14
+ export default defineNuxtPlugin({
15
+ name: 'core:feature-detection',
16
+ setup() {
18
17
  // Initialize feature detection
19
18
  const features = useFeatures()
20
19
 
@@ -31,4 +30,5 @@ export default defineNuxtPlugin(() => {
31
30
  avif: features.avif.value,
32
31
  })
33
32
  }
33
+ },
34
34
  })
@@ -1,8 +1,3 @@
1
- /* eslint-disable complexity */
2
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
3
- /* eslint-disable no-restricted-syntax */
4
- /* eslint-disable @typescript-eslint/ban-ts-comment */
5
- // @ts-nocheck
6
1
  /**
7
2
  * Core Layer Initialization Plugin
8
3
  *
@@ -14,7 +9,9 @@
14
9
  *
15
10
  * This runs before other plugins and ensures the app is ready.
16
11
  */
17
- export default defineNuxtPlugin((nuxtApp) => {
12
+ export default defineNuxtPlugin({
13
+ name: 'core:init',
14
+ setup(nuxtApp) {
18
15
  const config = useAppConfig()
19
16
  // const isDev = import.meta.dev
20
17
  const isDev = process.env.NODE_ENV === 'development'
@@ -177,4 +174,5 @@ export default defineNuxtPlugin((nuxtApp) => {
177
174
  },
178
175
  },
179
176
  }
177
+ },
180
178
  })
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
2
- /* eslint-disable no-restricted-syntax */
3
1
  // plugins/loading.client.ts
4
2
 
5
3
  type LoadingConfig = {
@@ -25,7 +23,9 @@ type CoreLayerConfig = {
25
23
  * Configuration via app.config.ts:
26
24
  * - Set `coreLayer.loading.enabled: false` to disable
27
25
  */
28
- export default defineNuxtPlugin((nuxtApp) => {
26
+ export default defineNuxtPlugin({
27
+ name: 'core:loading',
28
+ setup(nuxtApp) {
29
29
  const config = useAppConfig()
30
30
  const coreLayer = config.coreLayer as CoreLayerConfig | undefined
31
31
 
@@ -53,4 +53,5 @@ export default defineNuxtPlugin((nuxtApp) => {
53
53
  stopLoading()
54
54
  }, 500) // 500ms delay to ensure component is visible
55
55
  })
56
+ },
56
57
  })
@@ -1,6 +1,3 @@
1
- /* eslint-disable complexity */
2
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
3
- /* eslint-disable no-restricted-syntax */
4
1
  // plugins/scroll-guard.client.ts
5
2
 
6
3
  import type { ScrollGuardConfig } from '#layers/core/app/types/scroll-guard'
@@ -23,7 +20,9 @@ type CoreLayerConfig = {
23
20
  * - `useScrollGuard().disable()` to turn off
24
21
  * - `useScrollGuard().enable()` to turn back on
25
22
  */
26
- export default defineNuxtPlugin(() => {
23
+ export default defineNuxtPlugin({
24
+ name: 'core:scroll-guard',
25
+ setup() {
27
26
  const config = useAppConfig()
28
27
  const coreLayer = config.coreLayer as CoreLayerConfig | undefined
29
28
 
@@ -53,4 +52,5 @@ export default defineNuxtPlugin(() => {
53
52
  console.log(`[Scroll Guard] Clamped ${clampedCount.value} element(s)`)
54
53
  })
55
54
  }
55
+ },
56
56
  })
@@ -1,7 +1,7 @@
1
1
  import type { SiteConfig } from './site'
2
2
 
3
3
  declare module '@nuxt/schema' {
4
- type AppConfigInput = {
4
+ interface AppConfigInput {
5
5
  /** Shared site metadata — consumed by feeds, SEO, and any layer needing canonical site info. */
6
6
  site?: SiteConfig
7
7
  coreLayer?: {
@@ -25,7 +25,19 @@ export type CoreLayerRuntimeConfig = {
25
25
  * Augment Nuxt's RuntimeConfig
26
26
  */
27
27
  declare module 'nuxt/schema' {
28
- type RuntimeConfig = {} & CoreLayerRuntimeConfig
28
+ interface RuntimeConfig {
29
+ secretKey?: string
30
+ apiSecretKey?: string
31
+ databaseUrl?: string
32
+ }
33
+
34
+ interface PublicRuntimeConfig {
35
+ apiUrl?: string
36
+ appName?: string
37
+ appVersion?: string
38
+ environment?: 'development' | 'staging' | 'production'
39
+ siteUrl?: string
40
+ }
29
41
  }
30
42
 
31
43
  export {}
@@ -1,7 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
3
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
4
- /* eslint-disable no-restricted-syntax */
5
1
  /**
6
2
  * Core utility helpers
7
3
  *
@@ -9,7 +9,7 @@ export default defineAppConfig({
9
9
  })
10
10
 
11
11
  declare module '@nuxt/schema' {
12
- type AppConfigInput = {
12
+ interface AppConfigInput {
13
13
  feedsLayer?: {
14
14
  feed?: {
15
15
  limit?: number
@@ -1,6 +1,6 @@
1
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
2
- /* eslint-disable no-restricted-syntax */
3
- export default defineNuxtPlugin(() => {
1
+ export default defineNuxtPlugin({
2
+ name: 'feeds:feed-head',
3
+ setup() {
4
4
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
5
  const appConfig = useAppConfig() as any
6
6
  const site = appConfig.site ?? {}
@@ -70,4 +70,5 @@ export default defineNuxtPlugin(() => {
70
70
 
71
71
  return { link: [...mainLinks, ...collectionLinks] }
72
72
  })
73
+ },
73
74
  })
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "devDependencies": {
19
19
  "nuxt": "catalog:",
20
- "vue": "^3.5.35",
20
+ "vue": "catalog:conflicts_conflicts_vue_latest_h3_5_35",
21
21
  "vue-router": "catalog:"
22
22
  }
23
23
  }
@@ -1,6 +1,4 @@
1
- <!-- eslint-disable @typescript-eslint/ban-ts-comment -->
2
1
  <script setup lang="ts">
3
- // @ts-nocheck
4
2
  import type { FormSubmitEvent } from '@nuxt/ui'
5
3
  import { z } from 'zod'
6
4
 
@@ -1,4 +1,3 @@
1
- <!-- eslint-disable vue/require-default-prop -->
2
1
  <script setup lang="ts">
3
2
  import { fieldConfigs, type FieldType } from '../../config/fields'
4
3
  import type { FieldSize } from '../../types/fields'
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/consistent-type-assertions */
2
1
  import { z, type ZodObject, type ZodRawShape, type ZodTypeAny } from 'zod'
3
2
 
4
3
  import { fieldConfigs, type FieldType } from '../config/fields'
@@ -1,5 +1,5 @@
1
1
  declare module '@nuxt/schema' {
2
- type AppConfigInput = {
2
+ interface AppConfigInput {
3
3
  formsLayer?: {
4
4
  name?: string
5
5
  }
@@ -1,7 +1,4 @@
1
- <!-- eslint-disable vue/define-props-destructuring -->
2
- <!-- eslint-disable @typescript-eslint/ban-ts-comment -->
3
1
  <script setup lang="ts">
4
- // @ts-nocheck
5
2
  /**
6
3
  * BaseGridItem - Positions content on the Swiss Grid
7
4
  *
@@ -1,6 +1,3 @@
1
- <!-- eslint-disable vue/no-boolean-default vue/no-duplicate-attr-inheritance -->
2
- <!-- eslint-disable vue/no-duplicate-attr-inheritance -->
3
- <!-- eslint-disable vue/require-default-prop -->
4
1
  <script setup lang="ts">
5
2
  /**
6
3
  * PageContainer - Unified page wrapper component
@@ -98,7 +95,6 @@
98
95
  <!-- UPage Layout Mode - needs wrapper with MastMain -->
99
96
  <div v-else>
100
97
  <MastMain>
101
- <!-- eslint-disable-next-line vue/no-duplicate-attr-inheritance -->
102
98
  <UPage v-bind="$attrs">
103
99
  <slot />
104
100
  </UPage>
@@ -1,4 +1,3 @@
1
- <!-- eslint-disable vue/define-props-destructuring -->
2
1
  <script setup lang="ts">
3
2
  /**
4
3
  * PageHeader - Standard page header component
@@ -1,4 +1,3 @@
1
- <!-- eslint-disable vue/require-default-prop -->
2
1
  <script setup lang="ts">
3
2
  /**
4
3
  * LayoutPage — canonical page wrapper for the Swiss Grid System.
@@ -1,4 +1,3 @@
1
- <!-- eslint-disable vue/require-default-prop -->
2
1
  <script setup lang="ts" generic="T">
3
2
  /**
4
3
  * SectionGallery - Auto-placing grid for collections
@@ -1,7 +1,4 @@
1
- <!-- eslint-disable vue/no-boolean-default -->
2
- <!-- eslint-disable @typescript-eslint/ban-ts-comment -->
3
1
  <script setup lang="ts">
4
- // @ts-nocheck
5
2
  /**
6
3
  * SectionHero - Full-viewport hero section
7
4
  *
@@ -1,7 +1,4 @@
1
- <!-- eslint-disable vue/no-boolean-default -->
2
- <!-- eslint-disable @typescript-eslint/ban-ts-comment -->
3
1
  <script setup lang="ts">
4
- // @ts-nocheck
5
2
  /**
6
3
  * LayoutSectionStack — Pancake Stack layout
7
4
  *
@@ -1,4 +1,3 @@
1
- <!-- eslint-disable vue/define-props-destructuring -->
2
1
  <script setup lang="ts">
3
2
  /**
4
3
  * PageHeader - Standard page header component