@sonordev/agency-site-kit 0.3.1 → 0.4.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 (374) hide show
  1. package/README.md +302 -0
  2. package/bin/setup.mjs +79 -0
  3. package/dist/{chunk-RXBK2EOE.js → chunk-4IES23GV.js} +3 -3
  4. package/dist/{chunk-RXBK2EOE.js.map → chunk-4IES23GV.js.map} +1 -1
  5. package/dist/{chunk-WNR4KNG4.cjs → chunk-5MEZU3OG.cjs} +4 -4
  6. package/dist/{chunk-WNR4KNG4.cjs.map → chunk-5MEZU3OG.cjs.map} +1 -1
  7. package/dist/chunk-7D4H36UF.js +13 -0
  8. package/dist/chunk-7D4H36UF.js.map +1 -0
  9. package/dist/chunk-7ZHRMWJU.cjs +306 -0
  10. package/dist/chunk-7ZHRMWJU.cjs.map +1 -0
  11. package/dist/chunk-CVT7I5BQ.js +71 -0
  12. package/dist/chunk-CVT7I5BQ.js.map +1 -0
  13. package/dist/chunk-HQGAX2LI.cjs +8 -0
  14. package/dist/chunk-HQGAX2LI.cjs.map +1 -0
  15. package/dist/chunk-K2BGTDSN.js +45 -0
  16. package/dist/chunk-K2BGTDSN.js.map +1 -0
  17. package/dist/chunk-KXLROAO5.js +291 -0
  18. package/dist/chunk-KXLROAO5.js.map +1 -0
  19. package/dist/chunk-L4EOQVRJ.js +6 -0
  20. package/dist/chunk-L4EOQVRJ.js.map +1 -0
  21. package/dist/chunk-NI4FVCLS.cjs +32 -0
  22. package/dist/chunk-NI4FVCLS.cjs.map +1 -0
  23. package/dist/chunk-NLGUPJZA.js +507 -0
  24. package/dist/chunk-NLGUPJZA.js.map +1 -0
  25. package/dist/chunk-QDXZ27R7.js +33 -0
  26. package/dist/chunk-QDXZ27R7.js.map +1 -0
  27. package/dist/chunk-QGSW43TM.cjs +538 -0
  28. package/dist/chunk-QGSW43TM.cjs.map +1 -0
  29. package/dist/{chunk-TVFXN6W6.js → chunk-QL6KVIFR.js} +8 -4
  30. package/dist/chunk-QL6KVIFR.js.map +1 -0
  31. package/dist/chunk-RWQ675N6.js +165 -0
  32. package/dist/chunk-RWQ675N6.js.map +1 -0
  33. package/dist/chunk-UXUU7FVT.cjs +171 -0
  34. package/dist/chunk-UXUU7FVT.cjs.map +1 -0
  35. package/dist/chunk-XJ434N7I.js +30 -0
  36. package/dist/chunk-XJ434N7I.js.map +1 -0
  37. package/dist/{chunk-EE75WRCM.cjs → chunk-XOWSXZYW.cjs} +8 -4
  38. package/dist/chunk-XOWSXZYW.cjs.map +1 -0
  39. package/dist/chunk-ZBPF7TLZ.cjs +16 -0
  40. package/dist/chunk-ZBPF7TLZ.cjs.map +1 -0
  41. package/dist/chunk-ZINKVJQU.js +67 -0
  42. package/dist/chunk-ZINKVJQU.js.map +1 -0
  43. package/dist/index.cjs +53 -30
  44. package/dist/index.cjs.map +1 -1
  45. package/dist/index.d.cts +17 -9
  46. package/dist/index.d.ts +17 -9
  47. package/dist/index.js +8 -9
  48. package/dist/index.js.map +1 -1
  49. package/dist/layout/index.cjs +3 -3
  50. package/dist/layout/index.d.cts +1 -1
  51. package/dist/layout/index.d.ts +1 -1
  52. package/dist/layout/index.js +2 -2
  53. package/dist/portfolio/client.cjs +376 -12
  54. package/dist/portfolio/client.cjs.map +1 -1
  55. package/dist/portfolio/client.d.cts +27 -85
  56. package/dist/portfolio/client.d.ts +27 -85
  57. package/dist/portfolio/client.js +182 -4
  58. package/dist/portfolio/client.js.map +1 -1
  59. package/dist/portfolio/components/PortfolioAnalytics.cjs +87 -0
  60. package/dist/portfolio/components/PortfolioAnalytics.cjs.map +1 -0
  61. package/dist/portfolio/components/PortfolioAnalytics.d.cts +5 -0
  62. package/dist/portfolio/components/PortfolioAnalytics.d.ts +5 -0
  63. package/dist/portfolio/components/PortfolioAnalytics.js +9 -0
  64. package/dist/portfolio/components/PortfolioAnalytics.js.map +1 -0
  65. package/dist/portfolio/components/PortfolioErrorFallback.cjs +65 -0
  66. package/dist/portfolio/components/PortfolioErrorFallback.cjs.map +1 -0
  67. package/dist/portfolio/components/PortfolioErrorFallback.d.cts +22 -0
  68. package/dist/portfolio/components/PortfolioErrorFallback.d.ts +22 -0
  69. package/dist/portfolio/components/PortfolioErrorFallback.js +9 -0
  70. package/dist/portfolio/components/PortfolioErrorFallback.js.map +1 -0
  71. package/dist/portfolio/components/PortfolioLeadCTA.cjs +91 -0
  72. package/dist/portfolio/components/PortfolioLeadCTA.cjs.map +1 -0
  73. package/dist/portfolio/components/PortfolioLeadCTA.d.cts +34 -0
  74. package/dist/portfolio/components/PortfolioLeadCTA.d.ts +34 -0
  75. package/dist/portfolio/components/PortfolioLeadCTA.js +9 -0
  76. package/dist/portfolio/components/PortfolioLeadCTA.js.map +1 -0
  77. package/dist/portfolio/index.cjs +43 -19
  78. package/dist/portfolio/index.d.cts +210 -7
  79. package/dist/portfolio/index.d.ts +210 -7
  80. package/dist/portfolio/index.js +7 -7
  81. package/dist/portfolio/primitives/AnimatedCounter.cjs +88 -0
  82. package/dist/portfolio/primitives/AnimatedCounter.cjs.map +1 -0
  83. package/dist/portfolio/primitives/AnimatedCounter.d.cts +22 -0
  84. package/dist/portfolio/primitives/AnimatedCounter.d.ts +22 -0
  85. package/dist/portfolio/primitives/AnimatedCounter.js +68 -0
  86. package/dist/portfolio/primitives/AnimatedCounter.js.map +1 -0
  87. package/dist/portfolio/primitives/AnnotatedImage.cjs +320 -0
  88. package/dist/portfolio/primitives/AnnotatedImage.cjs.map +1 -0
  89. package/dist/portfolio/primitives/AnnotatedImage.d.cts +18 -0
  90. package/dist/portfolio/primitives/AnnotatedImage.d.ts +18 -0
  91. package/dist/portfolio/primitives/AnnotatedImage.js +264 -0
  92. package/dist/portfolio/primitives/AnnotatedImage.js.map +1 -0
  93. package/dist/portfolio/primitives/BeforeAfterSlider.cjs +348 -0
  94. package/dist/portfolio/primitives/BeforeAfterSlider.cjs.map +1 -0
  95. package/dist/portfolio/primitives/BeforeAfterSlider.d.cts +13 -0
  96. package/dist/portfolio/primitives/BeforeAfterSlider.d.ts +13 -0
  97. package/dist/portfolio/primitives/BeforeAfterSlider.js +292 -0
  98. package/dist/portfolio/primitives/BeforeAfterSlider.js.map +1 -0
  99. package/dist/portfolio/primitives/DeviceTrifolio.cjs +298 -0
  100. package/dist/portfolio/primitives/DeviceTrifolio.cjs.map +1 -0
  101. package/dist/portfolio/primitives/DeviceTrifolio.d.cts +14 -0
  102. package/dist/portfolio/primitives/DeviceTrifolio.d.ts +14 -0
  103. package/dist/portfolio/primitives/DeviceTrifolio.js +242 -0
  104. package/dist/portfolio/primitives/DeviceTrifolio.js.map +1 -0
  105. package/dist/portfolio/primitives/FrequencyBarSkeleton.cjs +88 -0
  106. package/dist/portfolio/primitives/FrequencyBarSkeleton.cjs.map +1 -0
  107. package/dist/portfolio/primitives/FrequencyBarSkeleton.d.cts +10 -0
  108. package/dist/portfolio/primitives/FrequencyBarSkeleton.d.ts +10 -0
  109. package/dist/portfolio/primitives/FrequencyBarSkeleton.js +68 -0
  110. package/dist/portfolio/primitives/FrequencyBarSkeleton.js.map +1 -0
  111. package/dist/portfolio/primitives/GlassCard.cjs +45 -0
  112. package/dist/portfolio/primitives/GlassCard.cjs.map +1 -0
  113. package/dist/portfolio/primitives/GlassCard.d.cts +11 -0
  114. package/dist/portfolio/primitives/GlassCard.d.ts +11 -0
  115. package/dist/portfolio/primitives/GlassCard.js +43 -0
  116. package/dist/portfolio/primitives/GlassCard.js.map +1 -0
  117. package/dist/portfolio/primitives/MetricBadge.cjs +74 -0
  118. package/dist/portfolio/primitives/MetricBadge.cjs.map +1 -0
  119. package/dist/portfolio/primitives/MetricBadge.d.cts +9 -0
  120. package/dist/portfolio/primitives/MetricBadge.d.ts +9 -0
  121. package/dist/portfolio/primitives/MetricBadge.js +54 -0
  122. package/dist/portfolio/primitives/MetricBadge.js.map +1 -0
  123. package/dist/portfolio/primitives/SVGChart.cjs +316 -0
  124. package/dist/portfolio/primitives/SVGChart.cjs.map +1 -0
  125. package/dist/portfolio/primitives/SVGChart.d.cts +18 -0
  126. package/dist/portfolio/primitives/SVGChart.d.ts +18 -0
  127. package/dist/portfolio/primitives/SVGChart.js +296 -0
  128. package/dist/portfolio/primitives/SVGChart.js.map +1 -0
  129. package/dist/portfolio/primitives/ScrollReveal.cjs +97 -0
  130. package/dist/portfolio/primitives/ScrollReveal.cjs.map +1 -0
  131. package/dist/portfolio/primitives/ScrollReveal.d.cts +27 -0
  132. package/dist/portfolio/primitives/ScrollReveal.d.ts +27 -0
  133. package/dist/portfolio/primitives/ScrollReveal.js +77 -0
  134. package/dist/portfolio/primitives/ScrollReveal.js.map +1 -0
  135. package/dist/portfolio/primitives/SplitHeadline.cjs +107 -0
  136. package/dist/portfolio/primitives/SplitHeadline.cjs.map +1 -0
  137. package/dist/portfolio/primitives/SplitHeadline.d.cts +24 -0
  138. package/dist/portfolio/primitives/SplitHeadline.d.ts +24 -0
  139. package/dist/portfolio/primitives/SplitHeadline.js +87 -0
  140. package/dist/portfolio/primitives/SplitHeadline.js.map +1 -0
  141. package/dist/portfolio/sections/BeforeAfterSection.cjs +271 -0
  142. package/dist/portfolio/sections/BeforeAfterSection.cjs.map +1 -0
  143. package/dist/portfolio/sections/BeforeAfterSection.d.cts +9 -0
  144. package/dist/portfolio/sections/BeforeAfterSection.d.ts +9 -0
  145. package/dist/{BeforeAfterSection-6BHFLY4Y.js → portfolio/sections/BeforeAfterSection.js} +66 -27
  146. package/dist/portfolio/sections/BeforeAfterSection.js.map +1 -0
  147. package/dist/portfolio/sections/CTASection.cjs +123 -0
  148. package/dist/portfolio/sections/CTASection.cjs.map +1 -0
  149. package/dist/portfolio/sections/CTASection.d.cts +9 -0
  150. package/dist/portfolio/sections/CTASection.d.ts +9 -0
  151. package/dist/portfolio/sections/CTASection.js +93 -0
  152. package/dist/portfolio/sections/CTASection.js.map +1 -0
  153. package/dist/{ChallengesSection-IZ3DHECS.cjs → portfolio/sections/ChallengesSection.cjs} +13 -7
  154. package/dist/portfolio/sections/ChallengesSection.cjs.map +1 -0
  155. package/dist/portfolio/sections/ChallengesSection.d.cts +9 -0
  156. package/dist/portfolio/sections/ChallengesSection.d.ts +9 -0
  157. package/dist/{ChallengesSection-GEQGVSJN.js → portfolio/sections/ChallengesSection.js} +6 -5
  158. package/dist/portfolio/sections/ChallengesSection.js.map +1 -0
  159. package/dist/portfolio/sections/ConversionFunnelSection.cjs +263 -0
  160. package/dist/portfolio/sections/ConversionFunnelSection.cjs.map +1 -0
  161. package/dist/portfolio/sections/ConversionFunnelSection.d.cts +9 -0
  162. package/dist/portfolio/sections/ConversionFunnelSection.d.ts +9 -0
  163. package/dist/{ConversionFunnelSection-D3GE4NKE.js → portfolio/sections/ConversionFunnelSection.js} +60 -56
  164. package/dist/portfolio/sections/ConversionFunnelSection.js.map +1 -0
  165. package/dist/{DesignSystemSection-KXIQXITF.cjs → portfolio/sections/DesignSystemSection.cjs} +13 -7
  166. package/dist/portfolio/sections/DesignSystemSection.cjs.map +1 -0
  167. package/dist/portfolio/sections/DesignSystemSection.d.cts +32 -0
  168. package/dist/portfolio/sections/DesignSystemSection.d.ts +32 -0
  169. package/dist/{DesignSystemSection-2R5BRBGO.js → portfolio/sections/DesignSystemSection.js} +5 -4
  170. package/dist/portfolio/sections/DesignSystemSection.js.map +1 -0
  171. package/dist/{DetailsSection-TTUZAPZZ.cjs → portfolio/sections/DetailsSection.cjs} +12 -6
  172. package/dist/portfolio/sections/DetailsSection.cjs.map +1 -0
  173. package/dist/portfolio/sections/DetailsSection.d.cts +9 -0
  174. package/dist/portfolio/sections/DetailsSection.d.ts +9 -0
  175. package/dist/{DetailsSection-A6PZQUQL.js → portfolio/sections/DetailsSection.js} +5 -4
  176. package/dist/portfolio/sections/DetailsSection.js.map +1 -0
  177. package/dist/portfolio/sections/FeatureSpotlightSection.cjs +267 -0
  178. package/dist/portfolio/sections/FeatureSpotlightSection.cjs.map +1 -0
  179. package/dist/portfolio/sections/FeatureSpotlightSection.d.cts +9 -0
  180. package/dist/portfolio/sections/FeatureSpotlightSection.d.ts +9 -0
  181. package/dist/{FeatureSpotlightSection-B7P3JGNL.js → portfolio/sections/FeatureSpotlightSection.js} +39 -33
  182. package/dist/portfolio/sections/FeatureSpotlightSection.js.map +1 -0
  183. package/dist/portfolio/sections/GallerySection.cjs +321 -0
  184. package/dist/portfolio/sections/GallerySection.cjs.map +1 -0
  185. package/dist/portfolio/sections/GallerySection.d.cts +9 -0
  186. package/dist/portfolio/sections/GallerySection.d.ts +9 -0
  187. package/dist/{GallerySection-VMKORC47.js → portfolio/sections/GallerySection.js} +65 -18
  188. package/dist/portfolio/sections/GallerySection.js.map +1 -0
  189. package/dist/portfolio/sections/HeroSection.cjs +180 -0
  190. package/dist/portfolio/sections/HeroSection.cjs.map +1 -0
  191. package/dist/portfolio/sections/HeroSection.d.cts +15 -0
  192. package/dist/portfolio/sections/HeroSection.d.ts +15 -0
  193. package/dist/portfolio/sections/HeroSection.js +171 -0
  194. package/dist/portfolio/sections/HeroSection.js.map +1 -0
  195. package/dist/{MetricsTimelineSection-4L6DUHJ5.cjs → portfolio/sections/MetricsTimelineSection.cjs} +102 -61
  196. package/dist/portfolio/sections/MetricsTimelineSection.cjs.map +1 -0
  197. package/dist/portfolio/sections/MetricsTimelineSection.d.cts +9 -0
  198. package/dist/portfolio/sections/MetricsTimelineSection.d.ts +9 -0
  199. package/dist/{MetricsTimelineSection-6BT5GNFV.js → portfolio/sections/MetricsTimelineSection.js} +45 -29
  200. package/dist/portfolio/sections/MetricsTimelineSection.js.map +1 -0
  201. package/dist/portfolio/sections/PerformanceSection.cjs +336 -0
  202. package/dist/portfolio/sections/PerformanceSection.cjs.map +1 -0
  203. package/dist/portfolio/sections/PerformanceSection.d.cts +22 -0
  204. package/dist/portfolio/sections/PerformanceSection.d.ts +22 -0
  205. package/dist/{PerformanceSection-MGCEIXDX.js → portfolio/sections/PerformanceSection.js} +59 -104
  206. package/dist/portfolio/sections/PerformanceSection.js.map +1 -0
  207. package/dist/{ResultsSection-XLGMMQKY.cjs → portfolio/sections/ResultsSection.cjs} +23 -10
  208. package/dist/portfolio/sections/ResultsSection.cjs.map +1 -0
  209. package/dist/portfolio/sections/ResultsSection.d.cts +13 -0
  210. package/dist/portfolio/sections/ResultsSection.d.ts +13 -0
  211. package/dist/{ResultsSection-DFUJ5U6M.js → portfolio/sections/ResultsSection.js} +14 -7
  212. package/dist/portfolio/sections/ResultsSection.js.map +1 -0
  213. package/dist/portfolio/sections/ServicesSection.cjs +129 -0
  214. package/dist/portfolio/sections/ServicesSection.cjs.map +1 -0
  215. package/dist/portfolio/sections/ServicesSection.d.cts +9 -0
  216. package/dist/portfolio/sections/ServicesSection.d.ts +9 -0
  217. package/dist/portfolio/sections/ServicesSection.js +122 -0
  218. package/dist/portfolio/sections/ServicesSection.js.map +1 -0
  219. package/dist/{SiteArchitectureSection-J7BPBERH.cjs → portfolio/sections/SiteArchitectureSection.cjs} +117 -93
  220. package/dist/portfolio/sections/SiteArchitectureSection.cjs.map +1 -0
  221. package/dist/portfolio/sections/SiteArchitectureSection.d.cts +21 -0
  222. package/dist/portfolio/sections/SiteArchitectureSection.d.ts +21 -0
  223. package/dist/{SiteArchitectureSection-TE22OAWV.js → portfolio/sections/SiteArchitectureSection.js} +47 -48
  224. package/dist/portfolio/sections/SiteArchitectureSection.js.map +1 -0
  225. package/dist/{SpeedComparisonSection-EZKFQVGW.cjs → portfolio/sections/SpeedComparisonSection.cjs} +13 -7
  226. package/dist/portfolio/sections/SpeedComparisonSection.cjs.map +1 -0
  227. package/dist/portfolio/sections/SpeedComparisonSection.d.cts +20 -0
  228. package/dist/portfolio/sections/SpeedComparisonSection.d.ts +20 -0
  229. package/dist/{SpeedComparisonSection-Y3K7OFZQ.js → portfolio/sections/SpeedComparisonSection.js} +6 -5
  230. package/dist/portfolio/sections/SpeedComparisonSection.js.map +1 -0
  231. package/dist/portfolio/sections/StrategySection.cjs +233 -0
  232. package/dist/portfolio/sections/StrategySection.cjs.map +1 -0
  233. package/dist/portfolio/sections/StrategySection.d.cts +9 -0
  234. package/dist/portfolio/sections/StrategySection.d.ts +9 -0
  235. package/dist/{StrategySection-DI5RSCJU.js → portfolio/sections/StrategySection.js} +60 -26
  236. package/dist/portfolio/sections/StrategySection.js.map +1 -0
  237. package/dist/portfolio/sections/TeamSection.cjs +162 -0
  238. package/dist/portfolio/sections/TeamSection.cjs.map +1 -0
  239. package/dist/portfolio/sections/TeamSection.d.cts +9 -0
  240. package/dist/portfolio/sections/TeamSection.d.ts +9 -0
  241. package/dist/portfolio/sections/TeamSection.js +106 -0
  242. package/dist/portfolio/sections/TeamSection.js.map +1 -0
  243. package/dist/portfolio/sections/TechStackSection.cjs +106 -0
  244. package/dist/portfolio/sections/TechStackSection.cjs.map +1 -0
  245. package/dist/portfolio/sections/TechStackSection.d.cts +9 -0
  246. package/dist/portfolio/sections/TechStackSection.d.ts +9 -0
  247. package/dist/portfolio/sections/TechStackSection.js +99 -0
  248. package/dist/portfolio/sections/TechStackSection.js.map +1 -0
  249. package/dist/{TestimonialSection-XPTFUQIN.cjs → portfolio/sections/TestimonialSection.cjs} +47 -28
  250. package/dist/portfolio/sections/TestimonialSection.cjs.map +1 -0
  251. package/dist/portfolio/sections/TestimonialSection.d.cts +9 -0
  252. package/dist/portfolio/sections/TestimonialSection.d.ts +9 -0
  253. package/dist/{TestimonialSection-6RGSMXQB.js → portfolio/sections/TestimonialSection.js} +40 -27
  254. package/dist/portfolio/sections/TestimonialSection.js.map +1 -0
  255. package/dist/portfolio/sections/VideoSection.cjs +181 -0
  256. package/dist/portfolio/sections/VideoSection.cjs.map +1 -0
  257. package/dist/portfolio/sections/VideoSection.d.cts +9 -0
  258. package/dist/portfolio/sections/VideoSection.d.ts +9 -0
  259. package/dist/{VideoSection-4A2HC6K6.js → portfolio/sections/VideoSection.js} +21 -13
  260. package/dist/portfolio/sections/VideoSection.js.map +1 -0
  261. package/dist/portfolio/server.cjs +56 -144
  262. package/dist/portfolio/server.cjs.map +1 -1
  263. package/dist/portfolio/server.d.cts +157 -7
  264. package/dist/portfolio/server.d.ts +157 -7
  265. package/dist/portfolio/server.js +3 -142
  266. package/dist/portfolio/server.js.map +1 -1
  267. package/dist/preview.cjs +56 -0
  268. package/dist/preview.cjs.map +1 -0
  269. package/dist/preview.d.cts +31 -0
  270. package/dist/preview.d.ts +31 -0
  271. package/dist/preview.js +54 -0
  272. package/dist/preview.js.map +1 -0
  273. package/dist/{types-DL4t_Cfa.d.ts → types-0tVPy4pU.d.cts} +7 -1
  274. package/dist/{types-DL4t_Cfa.d.cts → types-0tVPy4pU.d.ts} +7 -1
  275. package/dist/types-D0nb6KAx.d.cts +299 -0
  276. package/dist/types-D0nb6KAx.d.ts +299 -0
  277. package/package.json +38 -14
  278. package/templates/api-portfolio-preview.ts +6 -0
  279. package/templates/api-revalidate.ts +5 -0
  280. package/templates/work-category-page.tsx +40 -0
  281. package/templates/work-error.tsx +3 -0
  282. package/templates/work-loading.tsx +1 -0
  283. package/templates/work-page.tsx +37 -0
  284. package/templates/work-slug-loading.tsx +1 -0
  285. package/templates/work-slug-page.tsx +41 -0
  286. package/dist/BeforeAfterSection-6BHFLY4Y.js.map +0 -1
  287. package/dist/BeforeAfterSection-JTORBR3A.cjs +0 -181
  288. package/dist/BeforeAfterSection-JTORBR3A.cjs.map +0 -1
  289. package/dist/CTASection-4JKLXEUF.cjs +0 -111
  290. package/dist/CTASection-4JKLXEUF.cjs.map +0 -1
  291. package/dist/CTASection-BJA72XIL.js +0 -106
  292. package/dist/CTASection-BJA72XIL.js.map +0 -1
  293. package/dist/ChallengesSection-GEQGVSJN.js.map +0 -1
  294. package/dist/ChallengesSection-IZ3DHECS.cjs.map +0 -1
  295. package/dist/ConversionFunnelSection-AUUSJ5HQ.cjs +0 -209
  296. package/dist/ConversionFunnelSection-AUUSJ5HQ.cjs.map +0 -1
  297. package/dist/ConversionFunnelSection-D3GE4NKE.js.map +0 -1
  298. package/dist/DesignSystemSection-2R5BRBGO.js.map +0 -1
  299. package/dist/DesignSystemSection-KXIQXITF.cjs.map +0 -1
  300. package/dist/DetailsSection-A6PZQUQL.js.map +0 -1
  301. package/dist/DetailsSection-TTUZAPZZ.cjs.map +0 -1
  302. package/dist/FeatureSpotlightSection-B7P3JGNL.js.map +0 -1
  303. package/dist/FeatureSpotlightSection-WRHXS7TU.cjs +0 -210
  304. package/dist/FeatureSpotlightSection-WRHXS7TU.cjs.map +0 -1
  305. package/dist/GallerySection-VMKORC47.js.map +0 -1
  306. package/dist/GallerySection-WJ4PQDBI.cjs +0 -219
  307. package/dist/GallerySection-WJ4PQDBI.cjs.map +0 -1
  308. package/dist/MetricsTimelineSection-4L6DUHJ5.cjs.map +0 -1
  309. package/dist/MetricsTimelineSection-6BT5GNFV.js.map +0 -1
  310. package/dist/PerformanceSection-24TVVFZA.cjs +0 -356
  311. package/dist/PerformanceSection-24TVVFZA.cjs.map +0 -1
  312. package/dist/PerformanceSection-MGCEIXDX.js.map +0 -1
  313. package/dist/ResultsSection-DFUJ5U6M.js.map +0 -1
  314. package/dist/ResultsSection-XLGMMQKY.cjs.map +0 -1
  315. package/dist/ServicesSection-D5V3Q4GR.js +0 -118
  316. package/dist/ServicesSection-D5V3Q4GR.js.map +0 -1
  317. package/dist/ServicesSection-WJMGK2MF.cjs +0 -120
  318. package/dist/ServicesSection-WJMGK2MF.cjs.map +0 -1
  319. package/dist/SiteArchitectureSection-J7BPBERH.cjs.map +0 -1
  320. package/dist/SiteArchitectureSection-TE22OAWV.js.map +0 -1
  321. package/dist/SpeedComparisonSection-EZKFQVGW.cjs.map +0 -1
  322. package/dist/SpeedComparisonSection-Y3K7OFZQ.js.map +0 -1
  323. package/dist/StrategySection-CJ7Y6OFQ.cjs +0 -174
  324. package/dist/StrategySection-CJ7Y6OFQ.cjs.map +0 -1
  325. package/dist/StrategySection-DI5RSCJU.js.map +0 -1
  326. package/dist/TeamSection-DZVSNZE6.cjs +0 -112
  327. package/dist/TeamSection-DZVSNZE6.cjs.map +0 -1
  328. package/dist/TeamSection-HGKFW6PQ.js +0 -107
  329. package/dist/TeamSection-HGKFW6PQ.js.map +0 -1
  330. package/dist/TechStackSection-2AQ7RGY3.js +0 -93
  331. package/dist/TechStackSection-2AQ7RGY3.js.map +0 -1
  332. package/dist/TechStackSection-VTNNZR5V.cjs +0 -95
  333. package/dist/TechStackSection-VTNNZR5V.cjs.map +0 -1
  334. package/dist/TestimonialSection-6RGSMXQB.js.map +0 -1
  335. package/dist/TestimonialSection-XPTFUQIN.cjs.map +0 -1
  336. package/dist/VideoSection-4A2HC6K6.js.map +0 -1
  337. package/dist/VideoSection-G3DFS7UH.cjs +0 -118
  338. package/dist/VideoSection-G3DFS7UH.cjs.map +0 -1
  339. package/dist/chunk-2Y4O3LWM.js +0 -53
  340. package/dist/chunk-2Y4O3LWM.js.map +0 -1
  341. package/dist/chunk-633UMQQH.cjs +0 -31
  342. package/dist/chunk-633UMQQH.cjs.map +0 -1
  343. package/dist/chunk-7CFFAKDM.js +0 -74
  344. package/dist/chunk-7CFFAKDM.js.map +0 -1
  345. package/dist/chunk-APG2QSMB.js +0 -131
  346. package/dist/chunk-APG2QSMB.js.map +0 -1
  347. package/dist/chunk-AVCH4LMG.cjs +0 -620
  348. package/dist/chunk-AVCH4LMG.cjs.map +0 -1
  349. package/dist/chunk-AYBUHRFS.js +0 -613
  350. package/dist/chunk-AYBUHRFS.js.map +0 -1
  351. package/dist/chunk-EE75WRCM.cjs.map +0 -1
  352. package/dist/chunk-IKBK7HYX.cjs +0 -79
  353. package/dist/chunk-IKBK7HYX.cjs.map +0 -1
  354. package/dist/chunk-KEOHORIH.cjs +0 -79
  355. package/dist/chunk-KEOHORIH.cjs.map +0 -1
  356. package/dist/chunk-OA5ZM4OA.cjs +0 -139
  357. package/dist/chunk-OA5ZM4OA.cjs.map +0 -1
  358. package/dist/chunk-TVFXN6W6.js.map +0 -1
  359. package/dist/chunk-VVTK4OL6.js +0 -28
  360. package/dist/chunk-VVTK4OL6.js.map +0 -1
  361. package/dist/chunk-XCKXHK44.js +0 -15
  362. package/dist/chunk-XCKXHK44.js.map +0 -1
  363. package/dist/chunk-XONXEFJY.cjs +0 -58
  364. package/dist/chunk-XONXEFJY.cjs.map +0 -1
  365. package/dist/chunk-XQNJED46.cjs +0 -19
  366. package/dist/chunk-XQNJED46.cjs.map +0 -1
  367. package/dist/chunk-YB4B3OMC.js +0 -74
  368. package/dist/chunk-YB4B3OMC.js.map +0 -1
  369. package/dist/portfolio/sections.cjs +0 -20
  370. package/dist/portfolio/sections.cjs.map +0 -1
  371. package/dist/portfolio/sections.d.cts +0 -42
  372. package/dist/portfolio/sections.d.ts +0 -42
  373. package/dist/portfolio/sections.js +0 -4
  374. package/dist/portfolio/sections.js.map +0 -1
@@ -1,58 +0,0 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var gsap = require('gsap');
5
- var ScrollTrigger = require('gsap/ScrollTrigger');
6
- var jsxRuntime = require('react/jsx-runtime');
7
-
8
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
-
10
- var gsap__default = /*#__PURE__*/_interopDefault(gsap);
11
-
12
- // src/portfolio/components/primitives/AnimatedCounter.tsx
13
- function AnimatedCounter({
14
- value,
15
- suffix = "",
16
- prefix = "",
17
- duration = 2,
18
- decimals = 0,
19
- className,
20
- once = true
21
- }) {
22
- const ref = react.useRef(null);
23
- const [display, setDisplay] = react.useState(`${prefix}0${suffix}`);
24
- react.useEffect(() => {
25
- gsap__default.default.registerPlugin(ScrollTrigger.ScrollTrigger);
26
- const el = ref.current;
27
- if (!el) return;
28
- const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
29
- if (prefersReducedMotion) {
30
- setDisplay(`${prefix}${value.toFixed(decimals)}${suffix}`);
31
- return;
32
- }
33
- const counter = { val: 0 };
34
- const ctx = gsap__default.default.context(() => {
35
- gsap__default.default.to(counter, {
36
- val: value,
37
- duration,
38
- ease: "power2.out",
39
- snap: decimals === 0 ? { val: 1 } : void 0,
40
- scrollTrigger: {
41
- trigger: el,
42
- start: "top 85%",
43
- toggleActions: once ? "play none none none" : "play reverse play reverse"
44
- },
45
- onUpdate() {
46
- const formatted = decimals > 0 ? counter.val.toFixed(decimals) : Math.round(counter.val).toLocaleString();
47
- setDisplay(`${prefix}${formatted}${suffix}`);
48
- }
49
- });
50
- }, el);
51
- return () => ctx.revert();
52
- }, [value, suffix, prefix, duration, decimals, once]);
53
- return /* @__PURE__ */ jsxRuntime.jsx("span", { ref, className, children: display });
54
- }
55
-
56
- exports.AnimatedCounter = AnimatedCounter;
57
- //# sourceMappingURL=chunk-XONXEFJY.cjs.map
58
- //# sourceMappingURL=chunk-XONXEFJY.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/portfolio/components/primitives/AnimatedCounter.tsx"],"names":["useRef","useState","useEffect","gsap","ScrollTrigger","jsx"],"mappings":";;;;;;;;;;;;AAgBe,SAAR,eAAA,CAAiC;AAAA,EACtC,KAAA;AAAA,EACA,MAAA,GAAS,EAAA;AAAA,EACT,MAAA,GAAS,EAAA;AAAA,EACT,QAAA,GAAW,CAAA;AAAA,EACX,QAAA,GAAW,CAAA;AAAA,EACX,SAAA;AAAA,EACA,IAAA,GAAO;AACT,CAAA,EAAyB;AACvB,EAAA,MAAM,GAAA,GAAMA,aAAwB,IAAI,CAAA;AACxC,EAAA,MAAM,CAAC,SAAS,UAAU,CAAA,GAAIC,eAAS,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,CAAA;AAE5D,EAAAC,eAAA,CAAU,MAAM;AACd,IAAAC,qBAAA,CAAK,eAAeC,2BAAa,CAAA;AAEjC,IAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,IAAA,IAAI,CAAC,EAAA,EAAI;AAGT,IAAA,MAAM,oBAAA,GAAuB,MAAA,CAAO,UAAA,CAAW,kCAAkC,CAAA,CAAE,OAAA;AACnF,IAAA,IAAI,oBAAA,EAAsB;AACxB,MAAA,UAAA,CAAW,CAAA,EAAG,MAAM,CAAA,EAAG,KAAA,CAAM,QAAQ,QAAQ,CAAC,CAAA,EAAG,MAAM,CAAA,CAAE,CAAA;AACzD,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,OAAA,GAAU,EAAE,GAAA,EAAK,CAAA,EAAE;AAEzB,IAAA,MAAM,GAAA,GAAMD,qBAAA,CAAK,OAAA,CAAQ,MAAM;AAC7B,MAAAA,qBAAA,CAAK,GAAG,OAAA,EAAS;AAAA,QACf,GAAA,EAAK,KAAA;AAAA,QACL,QAAA;AAAA,QACA,IAAA,EAAM,YAAA;AAAA,QACN,MAAM,QAAA,KAAa,CAAA,GAAI,EAAE,GAAA,EAAK,GAAE,GAAI,MAAA;AAAA,QACpC,aAAA,EAAe;AAAA,UACb,OAAA,EAAS,EAAA;AAAA,UACT,KAAA,EAAO,SAAA;AAAA,UACP,aAAA,EAAe,OAAO,qBAAA,GAAwB;AAAA,SAChD;AAAA,QACA,QAAA,GAAW;AACT,UAAA,MAAM,SAAA,GAAY,QAAA,GAAW,CAAA,GACzB,OAAA,CAAQ,GAAA,CAAI,OAAA,CAAQ,QAAQ,CAAA,GAC5B,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,GAAG,EAAE,cAAA,EAAe;AAC3C,UAAA,UAAA,CAAW,GAAG,MAAM,CAAA,EAAG,SAAS,CAAA,EAAG,MAAM,CAAA,CAAE,CAAA;AAAA,QAC7C;AAAA,OACD,CAAA;AAAA,IACH,GAAG,EAAE,CAAA;AAEL,IAAA,OAAO,MAAM,IAAI,MAAA,EAAO;AAAA,EAC1B,CAAA,EAAG,CAAC,KAAA,EAAO,MAAA,EAAQ,QAAQ,QAAA,EAAU,QAAA,EAAU,IAAI,CAAC,CAAA;AAEpD,EAAA,uBACEE,cAAA,CAAC,MAAA,EAAA,EAAK,GAAA,EAAU,SAAA,EACb,QAAA,EAAA,OAAA,EACH,CAAA;AAEJ","file":"chunk-XONXEFJY.cjs","sourcesContent":["'use client';\n\nimport React, { useRef, useEffect, useState } from 'react';\nimport gsap from 'gsap';\nimport { ScrollTrigger } from 'gsap/ScrollTrigger';\n\ninterface AnimatedCounterProps {\n value: number;\n suffix?: string;\n prefix?: string;\n duration?: number;\n decimals?: number;\n className?: string;\n once?: boolean;\n}\n\nexport default function AnimatedCounter({\n value,\n suffix = '',\n prefix = '',\n duration = 2,\n decimals = 0,\n className,\n once = true,\n}: AnimatedCounterProps) {\n const ref = useRef<HTMLSpanElement>(null);\n const [display, setDisplay] = useState(`${prefix}0${suffix}`);\n\n useEffect(() => {\n gsap.registerPlugin(ScrollTrigger);\n\n const el = ref.current;\n if (!el) return;\n\n // Respect prefers-reduced-motion\n const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n if (prefersReducedMotion) {\n setDisplay(`${prefix}${value.toFixed(decimals)}${suffix}`);\n return;\n }\n\n const counter = { val: 0 };\n\n const ctx = gsap.context(() => {\n gsap.to(counter, {\n val: value,\n duration,\n ease: 'power2.out',\n snap: decimals === 0 ? { val: 1 } : undefined,\n scrollTrigger: {\n trigger: el,\n start: 'top 85%',\n toggleActions: once ? 'play none none none' : 'play reverse play reverse',\n },\n onUpdate() {\n const formatted = decimals > 0\n ? counter.val.toFixed(decimals)\n : Math.round(counter.val).toLocaleString();\n setDisplay(`${prefix}${formatted}${suffix}`);\n },\n });\n }, el);\n\n return () => ctx.revert();\n }, [value, suffix, prefix, duration, decimals, once]);\n\n return (\n <span ref={ref} className={className}>\n {display}\n </span>\n );\n}\n"]}
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- // src/portfolio/sections.ts
4
- var sectionRenderers = {};
5
- function registerSectionRenderer(sectionType, renderer) {
6
- sectionRenderers[sectionType] = renderer;
7
- }
8
- function getSectionRenderer(sectionType) {
9
- return sectionRenderers[sectionType] ?? null;
10
- }
11
- function getRegisteredSectionTypes() {
12
- return Object.keys(sectionRenderers);
13
- }
14
-
15
- exports.getRegisteredSectionTypes = getRegisteredSectionTypes;
16
- exports.getSectionRenderer = getSectionRenderer;
17
- exports.registerSectionRenderer = registerSectionRenderer;
18
- //# sourceMappingURL=chunk-XQNJED46.cjs.map
19
- //# sourceMappingURL=chunk-XQNJED46.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/portfolio/sections.ts"],"names":[],"mappings":";;;AAuCA,IAAM,mBAA2E,EAAC;AAK3E,SAAS,uBAAA,CACd,aACA,QAAA,EACM;AACN,EAAA,gBAAA,CAAiB,WAAW,CAAA,GAAI,QAAA;AAClC;AAMO,SAAS,mBACd,WAAA,EACwB;AACxB,EAAA,OAAO,gBAAA,CAAiB,WAAW,CAAA,IAAK,IAAA;AAC1C;AAKO,SAAS,yBAAA,GAAoD;AAClE,EAAA,OAAO,MAAA,CAAO,KAAK,gBAAgB,CAAA;AACrC","file":"chunk-XQNJED46.cjs","sourcesContent":["'use client';\n\n/**\n * @sonordev/agency-site-kit/portfolio/sections — Section component barrel\n *\n * All portfolio section components are client components (they use\n * animations, interactivity, and browser APIs). This barrel marks the\n * client boundary and re-exports each section renderer.\n *\n * Section components will be added here as they are implemented.\n * Each section component follows the pattern:\n *\n * interface Props { data: Portfolio[SectionName]Data; className?: string; }\n * export function Portfolio[SectionName]Section({ data, className }: Props) { ... }\n *\n * For now, export the section type map and a placeholder renderer registry\n * so that consuming code can be written against the final API.\n */\n\nimport type {\n PortfolioSectionType,\n PortfolioSectionData,\n PortfolioSectionDataMap,\n} from '../types';\n\n/**\n * Section renderer function signature.\n * Each section component conforms to this interface.\n */\nexport type SectionRenderer<T extends PortfolioSectionType = PortfolioSectionType> = (props: {\n data: T extends keyof PortfolioSectionDataMap ? PortfolioSectionDataMap[T] : PortfolioSectionData;\n className?: string;\n}) => React.ReactElement | null;\n\n/**\n * Registry of section renderers, keyed by section type.\n * Components register themselves here as they are implemented.\n * Consuming code can look up a renderer by section type string.\n */\nconst sectionRenderers: Partial<Record<PortfolioSectionType, SectionRenderer>> = {};\n\n/**\n * Register a section renderer for a given section type.\n */\nexport function registerSectionRenderer<T extends PortfolioSectionType>(\n sectionType: T,\n renderer: SectionRenderer<T>,\n): void {\n sectionRenderers[sectionType] = renderer as SectionRenderer;\n}\n\n/**\n * Look up a registered section renderer by type.\n * Returns null if no renderer is registered for the given type.\n */\nexport function getSectionRenderer(\n sectionType: PortfolioSectionType,\n): SectionRenderer | null {\n return sectionRenderers[sectionType] ?? null;\n}\n\n/**\n * Returns all registered section types.\n */\nexport function getRegisteredSectionTypes(): PortfolioSectionType[] {\n return Object.keys(sectionRenderers) as PortfolioSectionType[];\n}\n\n// Re-export section data types for convenience\nexport type {\n SectionRenderer as PortfolioSectionRenderer,\n};\n"]}
@@ -1,74 +0,0 @@
1
- 'use client';
2
- import { useRef, useCallback } from 'react';
3
- import gsap from 'gsap';
4
- import { jsx } from 'react/jsx-runtime';
5
-
6
- // src/portfolio/components/primitives/GlassCard.tsx
7
- var paddingMap = {
8
- sm: "16px",
9
- md: "24px",
10
- lg: "32px"
11
- };
12
- function GlassCard({
13
- children,
14
- className = "",
15
- hover = true,
16
- padding = "md",
17
- onClick
18
- }) {
19
- const ref = useRef(null);
20
- const handleMouseEnter = useCallback(() => {
21
- if (!hover || !ref.current) return;
22
- gsap.to(ref.current, {
23
- y: -6,
24
- scale: 1.015,
25
- duration: 0.3,
26
- ease: "power2.out"
27
- });
28
- gsap.to(ref.current, {
29
- boxShadow: "0 20px 40px -12px rgba(0,0,0,0.25), 0 0 0 1px var(--sk-primary, #6366f1)",
30
- duration: 0.3,
31
- ease: "power2.out"
32
- });
33
- }, [hover]);
34
- const handleMouseLeave = useCallback(() => {
35
- if (!hover || !ref.current) return;
36
- gsap.to(ref.current, {
37
- y: 0,
38
- scale: 1,
39
- duration: 0.3,
40
- ease: "power2.out"
41
- });
42
- gsap.to(ref.current, {
43
- boxShadow: "0 4px 16px -4px rgba(0,0,0,0.1), 0 0 0 1px var(--sk-border, rgba(255,255,255,0.1))",
44
- duration: 0.3,
45
- ease: "power2.out"
46
- });
47
- }, [hover]);
48
- return /* @__PURE__ */ jsx(
49
- "div",
50
- {
51
- ref,
52
- className,
53
- onClick,
54
- onMouseEnter: handleMouseEnter,
55
- onMouseLeave: handleMouseLeave,
56
- style: {
57
- padding: paddingMap[padding],
58
- background: "var(--sk-surface, rgba(255,255,255,0.05))",
59
- backdropFilter: "blur(16px)",
60
- WebkitBackdropFilter: "blur(16px)",
61
- border: "1px solid var(--sk-border, rgba(255,255,255,0.1))",
62
- borderRadius: "16px",
63
- boxShadow: "0 4px 16px -4px rgba(0,0,0,0.1), 0 0 0 1px var(--sk-border, rgba(255,255,255,0.1))",
64
- cursor: onClick ? "pointer" : void 0,
65
- willChange: hover ? "transform" : void 0
66
- },
67
- children
68
- }
69
- );
70
- }
71
-
72
- export { GlassCard };
73
- //# sourceMappingURL=chunk-YB4B3OMC.js.map
74
- //# sourceMappingURL=chunk-YB4B3OMC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/portfolio/components/primitives/GlassCard.tsx"],"names":[],"mappings":";;;;;AAaA,IAAM,UAAA,GAAa;AAAA,EACjB,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEe,SAAR,SAAA,CAA2B;AAAA,EAChC,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,KAAA,GAAQ,IAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV;AACF,CAAA,EAAmB;AACjB,EAAA,MAAM,GAAA,GAAM,OAAuB,IAAI,CAAA;AAEvC,EAAA,MAAM,gBAAA,GAAmB,YAAY,MAAM;AACzC,IAAA,IAAI,CAAC,KAAA,IAAS,CAAC,GAAA,CAAI,OAAA,EAAS;AAC5B,IAAA,IAAA,CAAK,EAAA,CAAG,IAAI,OAAA,EAAS;AAAA,MACnB,CAAA,EAAG,EAAA;AAAA,MACH,KAAA,EAAO,KAAA;AAAA,MACP,QAAA,EAAU,GAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACP,CAAA;AACD,IAAA,IAAA,CAAK,EAAA,CAAG,IAAI,OAAA,EAAS;AAAA,MACnB,SAAA,EAAW,0EAAA;AAAA,MACX,QAAA,EAAU,GAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,MAAM,gBAAA,GAAmB,YAAY,MAAM;AACzC,IAAA,IAAI,CAAC,KAAA,IAAS,CAAC,GAAA,CAAI,OAAA,EAAS;AAC5B,IAAA,IAAA,CAAK,EAAA,CAAG,IAAI,OAAA,EAAS;AAAA,MACnB,CAAA,EAAG,CAAA;AAAA,MACH,KAAA,EAAO,CAAA;AAAA,MACP,QAAA,EAAU,GAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACP,CAAA;AACD,IAAA,IAAA,CAAK,EAAA,CAAG,IAAI,OAAA,EAAS;AAAA,MACnB,SAAA,EAAW,oFAAA;AAAA,MACX,QAAA,EAAU,GAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA,EAAc,gBAAA;AAAA,MACd,YAAA,EAAc,gBAAA;AAAA,MACd,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,WAAW,OAAO,CAAA;AAAA,QAC3B,UAAA,EAAY,2CAAA;AAAA,QACZ,cAAA,EAAgB,YAAA;AAAA,QAChB,oBAAA,EAAsB,YAAA;AAAA,QACtB,MAAA,EAAQ,mDAAA;AAAA,QACR,YAAA,EAAc,MAAA;AAAA,QACd,SAAA,EAAW,oFAAA;AAAA,QACX,MAAA,EAAQ,UAAU,SAAA,GAAY,MAAA;AAAA,QAC9B,UAAA,EAAY,QAAQ,WAAA,GAAc;AAAA,OACpC;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ","file":"chunk-YB4B3OMC.js","sourcesContent":["'use client';\n\nimport React, { useRef, useCallback } from 'react';\nimport gsap from 'gsap';\n\ninterface GlassCardProps {\n children: React.ReactNode;\n className?: string;\n hover?: boolean;\n padding?: 'sm' | 'md' | 'lg';\n onClick?: () => void;\n}\n\nconst paddingMap = {\n sm: '16px',\n md: '24px',\n lg: '32px',\n} as const;\n\nexport default function GlassCard({\n children,\n className = '',\n hover = true,\n padding = 'md',\n onClick,\n}: GlassCardProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n const handleMouseEnter = useCallback(() => {\n if (!hover || !ref.current) return;\n gsap.to(ref.current, {\n y: -6,\n scale: 1.015,\n duration: 0.3,\n ease: 'power2.out',\n });\n gsap.to(ref.current, {\n boxShadow: '0 20px 40px -12px rgba(0,0,0,0.25), 0 0 0 1px var(--sk-primary, #6366f1)',\n duration: 0.3,\n ease: 'power2.out',\n });\n }, [hover]);\n\n const handleMouseLeave = useCallback(() => {\n if (!hover || !ref.current) return;\n gsap.to(ref.current, {\n y: 0,\n scale: 1,\n duration: 0.3,\n ease: 'power2.out',\n });\n gsap.to(ref.current, {\n boxShadow: '0 4px 16px -4px rgba(0,0,0,0.1), 0 0 0 1px var(--sk-border, rgba(255,255,255,0.1))',\n duration: 0.3,\n ease: 'power2.out',\n });\n }, [hover]);\n\n return (\n <div\n ref={ref}\n className={className}\n onClick={onClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n style={{\n padding: paddingMap[padding],\n background: 'var(--sk-surface, rgba(255,255,255,0.05))',\n backdropFilter: 'blur(16px)',\n WebkitBackdropFilter: 'blur(16px)',\n border: '1px solid var(--sk-border, rgba(255,255,255,0.1))',\n borderRadius: '16px',\n boxShadow: '0 4px 16px -4px rgba(0,0,0,0.1), 0 0 0 1px var(--sk-border, rgba(255,255,255,0.1))',\n cursor: onClick ? 'pointer' : undefined,\n willChange: hover ? 'transform' : undefined,\n }}\n >\n {children}\n </div>\n );\n}\n"]}
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkXQNJED46_cjs = require('../chunk-XQNJED46.cjs');
4
-
5
-
6
-
7
- Object.defineProperty(exports, "getRegisteredSectionTypes", {
8
- enumerable: true,
9
- get: function () { return chunkXQNJED46_cjs.getRegisteredSectionTypes; }
10
- });
11
- Object.defineProperty(exports, "getSectionRenderer", {
12
- enumerable: true,
13
- get: function () { return chunkXQNJED46_cjs.getSectionRenderer; }
14
- });
15
- Object.defineProperty(exports, "registerSectionRenderer", {
16
- enumerable: true,
17
- get: function () { return chunkXQNJED46_cjs.registerSectionRenderer; }
18
- });
19
- //# sourceMappingURL=sections.cjs.map
20
- //# sourceMappingURL=sections.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"sections.cjs"}
@@ -1,42 +0,0 @@
1
- import { b as PortfolioSectionType, c as PortfolioSectionDataMap, d as PortfolioSectionData } from '../types-DL4t_Cfa.cjs';
2
-
3
- /**
4
- * @sonordev/agency-site-kit/portfolio/sections — Section component barrel
5
- *
6
- * All portfolio section components are client components (they use
7
- * animations, interactivity, and browser APIs). This barrel marks the
8
- * client boundary and re-exports each section renderer.
9
- *
10
- * Section components will be added here as they are implemented.
11
- * Each section component follows the pattern:
12
- *
13
- * interface Props { data: Portfolio[SectionName]Data; className?: string; }
14
- * export function Portfolio[SectionName]Section({ data, className }: Props) { ... }
15
- *
16
- * For now, export the section type map and a placeholder renderer registry
17
- * so that consuming code can be written against the final API.
18
- */
19
-
20
- /**
21
- * Section renderer function signature.
22
- * Each section component conforms to this interface.
23
- */
24
- type SectionRenderer<T extends PortfolioSectionType = PortfolioSectionType> = (props: {
25
- data: T extends keyof PortfolioSectionDataMap ? PortfolioSectionDataMap[T] : PortfolioSectionData;
26
- className?: string;
27
- }) => React.ReactElement | null;
28
- /**
29
- * Register a section renderer for a given section type.
30
- */
31
- declare function registerSectionRenderer<T extends PortfolioSectionType>(sectionType: T, renderer: SectionRenderer<T>): void;
32
- /**
33
- * Look up a registered section renderer by type.
34
- * Returns null if no renderer is registered for the given type.
35
- */
36
- declare function getSectionRenderer(sectionType: PortfolioSectionType): SectionRenderer | null;
37
- /**
38
- * Returns all registered section types.
39
- */
40
- declare function getRegisteredSectionTypes(): PortfolioSectionType[];
41
-
42
- export { type SectionRenderer as PortfolioSectionRenderer, type SectionRenderer, getRegisteredSectionTypes, getSectionRenderer, registerSectionRenderer };
@@ -1,42 +0,0 @@
1
- import { b as PortfolioSectionType, c as PortfolioSectionDataMap, d as PortfolioSectionData } from '../types-DL4t_Cfa.js';
2
-
3
- /**
4
- * @sonordev/agency-site-kit/portfolio/sections — Section component barrel
5
- *
6
- * All portfolio section components are client components (they use
7
- * animations, interactivity, and browser APIs). This barrel marks the
8
- * client boundary and re-exports each section renderer.
9
- *
10
- * Section components will be added here as they are implemented.
11
- * Each section component follows the pattern:
12
- *
13
- * interface Props { data: Portfolio[SectionName]Data; className?: string; }
14
- * export function Portfolio[SectionName]Section({ data, className }: Props) { ... }
15
- *
16
- * For now, export the section type map and a placeholder renderer registry
17
- * so that consuming code can be written against the final API.
18
- */
19
-
20
- /**
21
- * Section renderer function signature.
22
- * Each section component conforms to this interface.
23
- */
24
- type SectionRenderer<T extends PortfolioSectionType = PortfolioSectionType> = (props: {
25
- data: T extends keyof PortfolioSectionDataMap ? PortfolioSectionDataMap[T] : PortfolioSectionData;
26
- className?: string;
27
- }) => React.ReactElement | null;
28
- /**
29
- * Register a section renderer for a given section type.
30
- */
31
- declare function registerSectionRenderer<T extends PortfolioSectionType>(sectionType: T, renderer: SectionRenderer<T>): void;
32
- /**
33
- * Look up a registered section renderer by type.
34
- * Returns null if no renderer is registered for the given type.
35
- */
36
- declare function getSectionRenderer(sectionType: PortfolioSectionType): SectionRenderer | null;
37
- /**
38
- * Returns all registered section types.
39
- */
40
- declare function getRegisteredSectionTypes(): PortfolioSectionType[];
41
-
42
- export { type SectionRenderer as PortfolioSectionRenderer, type SectionRenderer, getRegisteredSectionTypes, getSectionRenderer, registerSectionRenderer };
@@ -1,4 +0,0 @@
1
- 'use client';
2
- export { getRegisteredSectionTypes, getSectionRenderer, registerSectionRenderer } from '../chunk-XCKXHK44.js';
3
- //# sourceMappingURL=sections.js.map
4
- //# sourceMappingURL=sections.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"sections.js"}