{
  "_meta": {
    "generated": "2026-07-13T10:10:14.473Z",
    "description": "EKA component catalog — key components with source code and descriptions.",
    "sourceRepo": "src/components/",
    "endpoint": "https://ekabalance.com/brand/components.json"
  },
  "components": [
    {
      "name": "Container",
      "category": "layout",
      "path": "src/components/layout/Container.tsx",
      "description": "Max-width wrapper. max-w-6xl, responsive horizontal padding.",
      "source": "export { Container } from \"@eka/blocks/container\";\n"
    },
    {
      "name": "Section",
      "category": "layout",
      "path": "src/components/layout/Section.tsx",
      "description": "Page section with tone (default|muted|inverted) and spacing (tight|default|loose) props. Wraps Container unless bleed=true.",
      "source": "export { Section } from \"@eka/blocks/section\";\nexport type { SectionProps } from \"@eka/blocks/section\";\n"
    },
    {
      "name": "PageHero",
      "category": "layout",
      "path": "src/components/layout/PageHero.tsx",
      "description": "Page header component. Props: eyebrow, title, subtitle, actions, align. Responsive h1 from 3xl to 7xl.",
      "source": "export { PageHero } from \"@eka/blocks/page-hero\";\nexport type { PageHeroProps } from \"@eka/blocks/page-hero\";\n"
    },
    {
      "name": "CTABlock",
      "category": "layout",
      "path": "src/components/layout/CTABlock.tsx",
      "description": "Call-to-action panel. Tones: soft (muted bg) | bold (primary bg). rounded-apple, centered text.",
      "source": "export { CTABlock } from \"@eka/blocks/cta-block\";\nexport type { CTABlockProps } from \"@eka/blocks/cta-block\";\n"
    },
    {
      "name": "FeatureGrid",
      "category": "layout",
      "path": "src/components/layout/FeatureGrid.tsx",
      "description": "Grid of icon+title+description feature cards. columns: 2|3|4. Cards use apple-card with hover effect.",
      "source": "export { FeatureGrid } from \"@eka/blocks/feature-grid\";\nexport type { Feature, FeatureGridProps } from \"@eka/blocks/feature-grid\";\n"
    },
    {
      "name": "FAQSection",
      "category": "layout",
      "path": "src/components/layout/FAQSection.tsx",
      "description": "Animated FAQ with native details elements and Framer Motion height animation.",
      "source": null
    },
    {
      "name": "Accordion",
      "category": "page",
      "path": "src/components/Accordion.tsx",
      "description": "Context-based accordion with single or multiple open items. Framer Motion animation.",
      "source": null
    },
    {
      "name": "AnimateIn",
      "category": "page",
      "path": "src/components/AnimateIn.tsx",
      "description": "Scroll-triggered entrance animation wrapper.",
      "source": null
    },
    {
      "name": "AppleHero",
      "category": "page",
      "path": "src/components/AppleHero.tsx",
      "description": "Full-bleed hero section with Apple-style large typography.",
      "source": null
    },
    {
      "name": "CTASection",
      "category": "page",
      "path": "src/components/CTASection.tsx",
      "description": "Full-bleed CTA with parallax background image and dark overlay.",
      "source": null
    },
    {
      "name": "ServiceCard",
      "category": "page",
      "path": "src/components/ServiceCard.tsx",
      "description": "Service listing card with image, price badge, benefits list, booking button.",
      "source": null
    },
    {
      "name": "MainLayout",
      "category": "page",
      "path": "src/components/MainLayout.tsx",
      "description": "Root layout with fixed frosted-glass nav, footer, cookie banner, toast container.",
      "source": null
    },
    {
      "name": "CoreServiceTemplate",
      "category": "template",
      "path": "src/components/templates/CoreServiceTemplate.tsx",
      "description": "Full page template for service pages. Sections: hero, features, stats, bento grid, FAQ, pricing, testimonials.",
      "source": null
    },
    {
      "name": "FunnelHero",
      "category": "template",
      "path": "src/components/templates/FunnelHero.tsx",
      "description": "Conversion-focused hero with problem selector and adaptive copy.",
      "source": null
    }
  ],
  "allComponentPaths": [
    "src/components/ui/button.tsx",
    "src/components/ui/card.tsx",
    "src/components/ui/badge.tsx",
    "src/components/ui/input.tsx",
    "src/components/ui/textarea.tsx",
    "src/components/ui/bento-card.tsx",
    "src/components/ui/service-bento.tsx",
    "src/components/ui/select.tsx",
    "src/components/ui/checkbox.tsx",
    "src/components/ui/radio-group.tsx",
    "src/components/ui/dialog.tsx",
    "src/components/ui/alert-dialog.tsx",
    "src/components/ui/navigation-menu.tsx",
    "src/components/ui/slider.tsx",
    "src/components/ui/form.tsx",
    "src/components/ui/sonner.tsx",
    "src/components/ui/label.tsx",
    "src/components/layout/Container.tsx",
    "src/components/layout/Section.tsx",
    "src/components/layout/PageHero.tsx",
    "src/components/layout/CTABlock.tsx",
    "src/components/layout/FeatureGrid.tsx",
    "src/components/layout/FAQSection.tsx",
    "src/components/Accordion.tsx",
    "src/components/AnimateIn.tsx",
    "src/components/AppleHero.tsx",
    "src/components/CTASection.tsx",
    "src/components/ServiceCard.tsx",
    "src/components/MainLayout.tsx",
    "src/components/templates/CoreServiceTemplate.tsx",
    "src/components/templates/FunnelHero.tsx",
    "src/components/templates/FeatureGrid.tsx"
  ]
}