{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "flx",
  "homepage": "https://ui.flexnative.com",
  "items": [
    {
      "name": "bento-grids-01",
      "title": "Bento grids 01",
      "description": "Three-column bento: primary tile (two-thirds) with title, description, CTA and media, plus supporting image cards.",
      "dependencies": [
        "react-wrap-balancer"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/bento-grids/bento-grids-01/bento-grids-01.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/bento-grids/bento-grids-01/bento-grids-01.tsx"
        },
        {
          "path": "registry/blocks/bento-grids/bento-grids-01/bento-grids-01-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/bento-grids/bento-grids-01/bento-grids-01-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 1000
      },
      "type": "registry:block"
    },
    {
      "name": "carousel-01",
      "title": "Carousel 01",
      "description": "Auto-scroll carousel that pauses on item hover and reveals title.",
      "dependencies": [
        "motion",
        "class-variance-authority"
      ],
      "devDependencies": [
        "embla-carousel-auto-scroll"
      ],
      "registryDependencies": [
        "carousel"
      ],
      "files": [
        {
          "path": "registry/blocks/carousel/carousel-01/carousel-01.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/carousel/carousel-01/carousel-01.tsx"
        },
        {
          "path": "registry/blocks/carousel/carousel-01/carousel-01-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/carousel/carousel-01/carousel-01-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 500,
        "containerClassName": "max-w-full overflow-hidden px-0"
      },
      "type": "registry:block"
    },
    {
      "name": "carousel-03",
      "title": "Carousel 03",
      "description": "A carousel of cards with a title and description.",
      "dependencies": [],
      "registryDependencies": [
        "carousel",
        "button"
      ],
      "files": [
        {
          "path": "registry/blocks/carousel/carousel-03/carousel-03.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/carousel/carousel-03/carousel-03.tsx"
        },
        {
          "path": "registry/blocks/carousel/carousel-03/carousel-03-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/carousel/carousel-03/carousel-03-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 700,
        "containerClassName": "max-w-full overflow-hidden px-0",
        "componentClassName": "2xl:max-w-6xl xl:max-w-6xl lg:max-w-5xl md:max-w-4xl max-w-4xl mx-auto px-5"
      },
      "type": "registry:block"
    },
    {
      "name": "carousel-02",
      "title": "Carousel 02",
      "description": "A carousel of media with a title and description.",
      "dependencies": [
        "react-wrap-balancer",
        "lucide-react"
      ],
      "registryDependencies": [
        "carousel",
        "button"
      ],
      "files": [
        {
          "path": "registry/blocks/carousel/carousel-02/carousel-02.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/carousel/carousel-02/carousel-02.tsx"
        },
        {
          "path": "registry/blocks/carousel/carousel-02/carousel-02-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/carousel/carousel-02/carousel-02-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 700,
        "containerClassName": "max-w-full overflow-hidden px-0",
        "componentClassName": "2xl:max-w-6xl xl:max-w-6xl lg:max-w-5xl md:max-w-4xl max-w-4xl mx-auto px-5"
      },
      "type": "registry:block"
    },
    {
      "name": "content-06",
      "title": "Content 06",
      "description": "Two-column split with serif headline, supporting copy, optional CTA, and a media panel.",
      "dependencies": [
        "motion",
        "react-wrap-balancer"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/content/content-06/content-06.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-06/content-06.tsx"
        },
        {
          "path": "registry/blocks/content/content-06/content-06-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-06/content-06-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 700
      },
      "type": "registry:block"
    },
    {
      "name": "content-09",
      "title": "Content 09",
      "description": "Two-column icon card grid with serif section header and subtle entrance motion.",
      "dependencies": [
        "motion",
        "react-wrap-balancer"
      ],
      "registryDependencies": [
        "@flx/dynamic-icon",
        "card"
      ],
      "files": [
        {
          "path": "registry/blocks/content/content-09/content-09.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-09/content-09.tsx"
        },
        {
          "path": "registry/blocks/content/content-09/content-09-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-09/content-09-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 700
      },
      "type": "registry:block"
    },
    {
      "name": "content-02",
      "title": "Content 02",
      "description": "A grid of media cards with a section header and item details below each image.",
      "dependencies": [
        "motion",
        "react-wrap-balancer"
      ],
      "registryDependencies": [
        "@flx/dynamic-icon"
      ],
      "files": [
        {
          "path": "registry/blocks/content/content-02/content-02.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-02/content-02.tsx"
        },
        {
          "path": "registry/blocks/content/content-02/content-02-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-02/content-02-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 900
      },
      "type": "registry:block"
    },
    {
      "name": "content-07",
      "title": "Content 07",
      "description": "Two-column grid with serif header, media on top, copy, and optional CTA per column.",
      "dependencies": [
        "motion",
        "react-wrap-balancer"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/content/content-07/content-07.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-07/content-07.tsx"
        },
        {
          "path": "registry/blocks/content/content-07/content-07-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-07/content-07-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 800
      },
      "type": "registry:block"
    },
    {
      "name": "content-05",
      "title": "Content 05",
      "description": "A focus grid with items that can be focused and dimmed.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/blocks/content/content-05/content-05.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-05/content-05.tsx"
        },
        {
          "path": "registry/blocks/content/content-05/content-05-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-05/content-05-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 800
      },
      "type": "registry:block"
    },
    {
      "name": "content-01",
      "title": "Content 01",
      "description": "List of items: select one to reveal its description and media.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/blocks/content/content-01/content-01.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-01/content-01.tsx"
        },
        {
          "path": "registry/blocks/content/content-01/content-01-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-01/content-01-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 700
      },
      "type": "registry:block"
    },
    {
      "name": "content-04",
      "title": "Content 04",
      "description": "Two-column card grid with a serif section header, copy above each image, and subtle entrance motion.",
      "dependencies": [
        "motion",
        "react-wrap-balancer"
      ],
      "registryDependencies": [
        "card"
      ],
      "files": [
        {
          "path": "registry/blocks/content/content-04/content-04.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-04/content-04.tsx"
        },
        {
          "path": "registry/blocks/content/content-04/content-04-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/content/content-04/content-04-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 900
      },
      "type": "registry:block"
    },
    {
      "name": "cta-01",
      "title": "Call to Action 01",
      "description": "A centered text block with a title, description, and CTA.",
      "dependencies": [
        "react-wrap-balancer"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/cta/cta-01/cta-01.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/cta/cta-01/cta-01.tsx"
        },
        {
          "path": "registry/blocks/cta/cta-01/cta-01-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/cta/cta-01/cta-01-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 600
      },
      "type": "registry:block"
    },
    {
      "name": "hero-01",
      "title": "Hero 01",
      "description": "A centered serif hero with a soft gradient wash, pill CTA, and a floating integration cloud.",
      "dependencies": [
        "react-wrap-balancer",
        "motion"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-01/hero-01.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-01/hero-01.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-01/hero-01-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-01/hero-01-example.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-01/integration-cloud.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-01/integration-cloud.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 720
      },
      "type": "registry:block"
    },
    {
      "name": "hero-02",
      "title": "Hero 02",
      "description": "A left-aligned serif hero with a media panel: an image backdrop with a floating dashboard mockup on top.",
      "dependencies": [
        "react-wrap-balancer",
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "@flx/cta",
        "card",
        "badge",
        "avatar",
        "separator"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-02/hero-02.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-02/hero-02.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-02/hero-02-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-02/hero-02-example.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-02/dashboard-demo.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-02/dashboard-demo.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 1300
      },
      "type": "registry:block"
    },
    {
      "name": "hero-03",
      "title": "Hero 03",
      "description": "A centered hero with dual CTAs and an image that fades into the page below the copy.",
      "dependencies": [
        "react-wrap-balancer",
        "motion"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-03/hero-03.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-03/hero-03.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-03/hero-03-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-03/hero-03-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 1200
      },
      "type": "registry:block"
    },
    {
      "name": "hero-04",
      "title": "Hero 04",
      "description": "A two-column editorial hero with a soft background wash and a layered collage of two overlapping images.",
      "dependencies": [
        "react-wrap-balancer",
        "motion"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-04/hero-04.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-04/hero-04.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-04/hero-04-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-04/hero-04-example.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-04/art-collage.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-04/art-collage.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 820
      },
      "type": "registry:block"
    },
    {
      "name": "hero-05",
      "title": "Hero 05",
      "description": "An editorial hero with a left tagline, right-aligned headline and copy, and a full-width image below.",
      "dependencies": [
        "react-wrap-balancer",
        "motion"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-05/hero-05.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-05/hero-05.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-05/hero-05-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-05/hero-05-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 1100
      },
      "type": "registry:block"
    },
    {
      "name": "hero-06",
      "title": "Hero 06",
      "description": "A split product hero with dual CTA, a compact logo row, and the Spot 01 illustration.",
      "dependencies": [
        "react-wrap-balancer",
        "motion"
      ],
      "registryDependencies": [
        "@flx/cta",
        "@flx/spot-01"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-06/hero-06.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-06/hero-06.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-06/hero-06-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-06/hero-06-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 820
      },
      "type": "registry:block"
    },
    {
      "name": "hero-07",
      "title": "Hero 07",
      "description": "An editorial hero with a full-width image above, a top-aligned tagline, and right-aligned headline and copy below.",
      "dependencies": [
        "react-wrap-balancer",
        "motion"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-07/hero-07.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-07/hero-07.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-07/hero-07-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-07/hero-07-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 1100
      },
      "type": "registry:block"
    },
    {
      "name": "hero-08",
      "title": "Hero 08",
      "description": "A split hero with a bold headline, avatar social proof, and two image cards with invertible overlay text and CTAs.",
      "dependencies": [
        "react-wrap-balancer",
        "motion"
      ],
      "registryDependencies": [
        "@flx/cta",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-08/hero-08.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-08/hero-08.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-08/hero-08-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-08/hero-08-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 820
      },
      "type": "registry:block"
    },
    {
      "name": "hero-09",
      "title": "Hero 09",
      "description": "A centered real-estate hero with a search bar, a masked architecture image that fades into the page, and a split closing statement.",
      "dependencies": [
        "react-wrap-balancer",
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-09/hero-09.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-09/hero-09.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-09/hero-09-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-09/hero-09-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 1300
      },
      "type": "registry:block"
    },
    {
      "name": "hero-10",
      "title": "Hero 10",
      "description": "A centered hero with a highlighted headline, dual CTAs, social proof, and a fanned collage of three overlapping images.",
      "dependencies": [
        "react-wrap-balancer",
        "motion"
      ],
      "registryDependencies": [
        "@flx/cta"
      ],
      "files": [
        {
          "path": "registry/blocks/hero/hero-10/hero-10.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-10/hero-10.tsx"
        },
        {
          "path": "registry/blocks/hero/hero-10/hero-10-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/hero/hero-10/hero-10-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 900
      },
      "type": "registry:block"
    },
    {
      "name": "logos-01",
      "title": "Logos 01",
      "description": "Logo carousel with auto-scroll, edge gradient and minimalist style.",
      "dependencies": [],
      "devDependencies": [
        "embla-carousel-auto-scroll"
      ],
      "registryDependencies": [
        "carousel"
      ],
      "files": [
        {
          "path": "registry/blocks/logos/logos-01/logos-01.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/logos/logos-01/logos-01.tsx"
        },
        {
          "path": "registry/blocks/logos/logos-01/logos-01-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/logos/logos-01/logos-01-example.tsx"
        }
      ],
      "meta": {
        "containerClassName": "max-w-full overflow-hidden px-0"
      },
      "type": "registry:block"
    },
    {
      "name": "scroll-01",
      "title": "Scroll 01",
      "description": "Sticky media that changes as you scroll through text content.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/blocks/scroll/scroll-01/scroll-01.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/scroll/scroll-01/scroll-01.tsx"
        },
        {
          "path": "registry/blocks/scroll/scroll-01/scroll-01-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/scroll/scroll-01/scroll-01-example.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 600
      },
      "type": "registry:block"
    },
    {
      "name": "cta",
      "title": "CTA (Call to Action)",
      "description": "Shared CTA component with link and button variant",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/blocks/shared/cta.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/shared/cta.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dynamic-icon",
      "title": "Dynamic Icon",
      "description": "A dynamic icon component with a name and size.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/blocks/shared/dynamic-icon.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/shared/dynamic-icon.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "testimonials-01",
      "title": "Testimonials 01",
      "description": "A single testimonial with quote, avatar, author name and role.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/blocks/testimonials/testimonials-01/testimonials-01.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/testimonials/testimonials-01/testimonials-01.tsx"
        },
        {
          "path": "registry/blocks/testimonials/testimonials-01/testimonials-01-example.tsx",
          "type": "registry:component",
          "target": "components/flx/blocks/testimonials/testimonials-01/testimonials-01-example.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-01",
      "title": "Basic",
      "description": "Only one section open at a time, type=\"single\" collapsible. The default behavior.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-02",
      "title": "Multiple",
      "description": "type=\"multiple\" keeps several sections open at once.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-03",
      "title": "With icons",
      "description": "Leading icon beside each trigger label.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-04",
      "title": "FAQ",
      "description": "A titled question-and-answer list.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-05",
      "title": "Separated cards",
      "description": "Each item is a bordered card with spacing between them.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-06",
      "title": "Plus / minus icon",
      "description": "Plus icon on each trigger that turns into a minus when open, instead of a chevron.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-07",
      "title": "Left chevron",
      "description": "Rotating chevron placed before the label instead of after it.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-09",
      "title": "Rich content",
      "description": "Lists, links, and a button inside the panel body.",
      "dependencies": [],
      "registryDependencies": [
        "accordion",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-10",
      "title": "Disabled item",
      "description": "One trigger disabled while the others stay interactive.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-11",
      "title": "Nested",
      "description": "An accordion rendered inside another panel body.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-12",
      "title": "Ghost",
      "description": "Borderless minimal rows with an active color on open.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-13",
      "title": "Filled trigger",
      "description": "Each trigger sits on a muted, rounded background.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-14",
      "title": "Expand all",
      "description": "Controlled value with expand-all / collapse-all buttons.",
      "dependencies": [],
      "registryDependencies": [
        "accordion",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-15",
      "title": "Settings sections",
      "description": "Grouped switch rows revealed inside each panel.",
      "dependencies": [],
      "registryDependencies": [
        "accordion",
        "switch",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "accordion-16",
      "title": "With subtitle",
      "description": "Two-line trigger pairing a title with helper text.",
      "dependencies": [],
      "registryDependencies": [
        "accordion"
      ],
      "files": [
        {
          "path": "registry/patterns/accordion/accordion-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/accordion/accordion-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-01",
      "title": "Basic",
      "description": "Image avatar with an initials fallback.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-02",
      "title": "Fallback initials",
      "description": "Missing image falls back to initials.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-03",
      "title": "Icon fallback",
      "description": "Generic user icon when there is no image or name.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-04",
      "title": "Sizes",
      "description": "Small, default, and large sizes side-by-side.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-05",
      "title": "Colored fallback",
      "description": "Tinted initials fallbacks using semantic tokens.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-06",
      "title": "Status badge",
      "description": "Presence dot in the corner showing online, away, or offline.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-07",
      "title": "Badge with icon",
      "description": "Verified check icon inside the AvatarBadge.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-08",
      "title": "With name",
      "description": "Avatar beside a name and email, forming a user row.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-09",
      "title": "Group",
      "description": "Overlapping AvatarGroup stack of members.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-10",
      "title": "Group with count",
      "description": "Overlapping group with a +N count for the remaining members.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-11",
      "title": "Group with tooltip",
      "description": "Hover each avatar in the group to reveal its name.",
      "dependencies": [],
      "registryDependencies": [
        "avatar",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-12",
      "title": "Loading skeleton",
      "description": "Skeleton placeholder while the avatar loads.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "avatar-13",
      "title": "Icon on top",
      "description": "Icon badge pinned to the top-right corner.",
      "dependencies": [],
      "registryDependencies": [
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/avatar/avatar-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/avatar/avatar-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-01",
      "title": "Basic",
      "description": "A single default badge.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-02",
      "title": "Variants",
      "description": "All six variants side-by-side: default, secondary, destructive, outline, ghost, link.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-03",
      "title": "With icon",
      "description": "Leading verified icon before the label.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-04",
      "title": "With status dot",
      "description": "A colored presence dot beside an outline label.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-05",
      "title": "Status colors",
      "description": "Tinted success, warning, error, and info states.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-06",
      "title": "Count",
      "description": "Pill-shaped numeric counts with tabular figures.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-07",
      "title": "As link",
      "description": "asChild renders the badge as an anchor with a trailing icon.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-08",
      "title": "Removable",
      "description": "Dismissible tag chips with a trailing remove button.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-09",
      "title": "With avatar",
      "description": "Assignee chip with a leading avatar inside the badge.",
      "dependencies": [],
      "registryDependencies": [
        "badge",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-10",
      "title": "Sizes",
      "description": "Small, default, and large sizes via className.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-11",
      "title": "Trend delta",
      "description": "Up and down arrows with tinted gain / loss percentages.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-12",
      "title": "Icon only",
      "description": "Round icon-only badges across variants.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "badge-13",
      "title": "Tag list",
      "description": "A wrapping group of outline badges as tags.",
      "dependencies": [],
      "registryDependencies": [
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/badge/badge-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/badge/badge-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-01",
      "title": "Basic",
      "description": "Icon, message, and a subtle bordered surface.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/banner/banner-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-02",
      "title": "Variants",
      "description": "Info, success, warning, and error tones stacked.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/banner/banner-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-03",
      "title": "Dismissible",
      "description": "A close button hides the banner with a restore link.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/banner/banner-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-04",
      "title": "With actions",
      "description": "Message paired with Later and Update now buttons.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/banner/banner-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-06",
      "title": "Announcement bar",
      "description": "Full-width gradient promo with a New tag and arrow.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/banner/banner-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-07",
      "title": "Expandable",
      "description": "Collapsible release notes that reveal highlights.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/banner/banner-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-09",
      "title": "Maintenance",
      "description": "Amber system notice with a pulsing status dot.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/banner/banner-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-11",
      "title": "Email verification",
      "description": "Blue prompt with a Resend email button that switches to a sent confirmation.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/banner/banner-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-12",
      "title": "Stacked",
      "description": "A list of dismissible notices, each removed on its own.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/banner/banner-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "banner-14",
      "title": "With progress",
      "description": "Live import banner with a spinner and a progress bar.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "progress"
      ],
      "files": [
        {
          "path": "registry/patterns/banner/banner-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/banner/banner-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-01",
      "title": "Basic",
      "description": "Links with a current page and chevron separators.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-02",
      "title": "With icons",
      "description": "Each crumb prefixed with a small icon, such as a house, folder, or file.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-03",
      "title": "Custom separator",
      "description": "Swap the chevron for a slash via separator children.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-04",
      "title": "Dot separator",
      "description": "Lighter middle dot divider between crumbs.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-05",
      "title": "With ellipsis",
      "description": "Middle levels replaced by a static ellipsis icon, showing only the first and last crumbs.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-06",
      "title": "With dropdown",
      "description": "Ghost icon Button opens a menu of the hidden levels.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb",
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-07",
      "title": "Responsive collapse",
      "description": "Dropdown on small screens, full inline path from sm up.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb",
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-08",
      "title": "As link",
      "description": "Breadcrumb links that open in a new tab, with an external-link icon on the outbound crumb.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "breadcrumb-09",
      "title": "Dropdown at end",
      "description": "Last crumb is a Button switcher for sibling pages.",
      "dependencies": [],
      "registryDependencies": [
        "breadcrumb",
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/breadcrumb/breadcrumb-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/breadcrumb/breadcrumb-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-01",
      "title": "Basic",
      "description": "Default button with text label.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-02",
      "title": "Variants",
      "description": "All six variants side-by-side: default, secondary, outline, ghost, destructive, link.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-03",
      "title": "Sizes",
      "description": "Extra small, small, default, and large sizes.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-04",
      "title": "With leading icon",
      "description": "Button with an icon placed before the text label.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-05",
      "title": "With trailing icon",
      "description": "Button with an icon placed after the text label.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-06",
      "title": "Icon only",
      "description": "Square icon-only buttons in every icon size.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-07",
      "title": "Disabled",
      "description": "Button in the disabled state, visually dimmed and non-interactive.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-08",
      "title": "Loading",
      "description": "Button with a spinning loader icon and label, indicating an in-progress async action.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-09",
      "title": "As link",
      "description": "Link-styled button that navigates to an external URL, rendered as an anchor with a trailing external-link icon.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-10",
      "title": "With avatar",
      "description": "User picker style button with a small avatar image leading the text label.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-11",
      "title": "Hover slide arrow",
      "description": "CTA arrow nudges right on hover.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-12",
      "title": "With badge",
      "description": "Notification count badge overlapping an icon button.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-13",
      "title": "Copy to clipboard",
      "description": "Icon and label swap to a check on copy.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-14",
      "title": "Hover rotate refresh",
      "description": "Refresh button whose icon rotates a full 360° on each click.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-15",
      "title": "Hamburger toggle",
      "description": "Three bars morph into an X on press.",
      "dependencies": [],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-16",
      "title": "Basic group",
      "description": "Horizontal row of buttons with merged borders, used for segmented controls like date range pickers.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-17",
      "title": "Vertical group",
      "description": "Stacked column of buttons with merged borders, used for vertical navigation menus.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-17.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-17.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-18",
      "title": "Icon toolbar",
      "description": "Compact toolbar of icon-only buttons with merged borders, used for text formatting actions.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-18.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-18.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-20",
      "title": "With label prefix",
      "description": "Static text label leading a group of action buttons, useful for labelled sort or filter controls.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-20.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-20.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-21",
      "title": "Split button",
      "description": "Primary action button paired with a chevron that opens a dropdown of secondary actions.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "button-group",
        "dropdown-menu"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-21.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-21.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-22",
      "title": "Pagination",
      "description": "Prev arrow, numbered page buttons, and Next arrow in a merged-border row.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-22.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-22.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-23",
      "title": "Copy field",
      "description": "Read-only text value paired with a trailing icon button that copies it to the clipboard, with an animated check on success.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-23.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-23.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-24",
      "title": "Group with disabled",
      "description": "Merged-border button row where one step is visually disabled and non-interactive.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-24.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-24.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-25",
      "title": "Destructive pair",
      "description": "Cancel + Delete spaced action pair.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-25.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-25.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-26",
      "title": "With select",
      "description": "Sort dropdown paired with a direction-toggle icon button in a merged-border row.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "button-group",
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-26.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-26.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "button-27",
      "title": "With popover swatch",
      "description": "Color swatch button that opens a grid of color swatches, paired with a hex value label in a merged-border row.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "button-group",
        "popover"
      ],
      "files": [
        {
          "path": "registry/patterns/button/button-27.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/button/button-27.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-01",
      "title": "Basic",
      "description": "Header, action, content, and a bordered footer.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-02",
      "title": "With image",
      "description": "Top media banner above title, body, and a CTA footer.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-03",
      "title": "Horizontal",
      "description": "Image on the left beside a category, title, and link.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-04",
      "title": "With action menu",
      "description": "Three-dot icon button in the header corner opens a dropdown with rename, share, and delete options.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "dropdown-menu"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-05",
      "title": "Stat",
      "description": "KPI value with an icon and a tinted trend badge.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-06",
      "title": "Login form",
      "description": "Email and password fields with sign-in and OAuth buttons.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "field",
        "input"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-07",
      "title": "Opens in dialog",
      "description": "A footer button launches a modal with subscription detail.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "dialog"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-08",
      "title": "Profile",
      "description": "Centered avatar, stats row, and follow / message actions.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "avatar",
        "separator"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-09",
      "title": "Pricing",
      "description": "Highlighted plan with a Popular badge and feature checklist.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-10",
      "title": "Product",
      "description": "Square image with a sale badge, price, and add-to-cart.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-11",
      "title": "Notification settings",
      "description": "Horizontal field rows each toggled with a switch.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "switch",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-12",
      "title": "Selectable",
      "description": "Clickable plan cards with a ring and check on the active one.",
      "dependencies": [],
      "registryDependencies": [
        "card"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-13",
      "title": "Image overlay",
      "description": "Text and a CTA over a gradient-darkened cover image.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "card-14",
      "title": "Payment form",
      "description": "Name on card, card number with icon, expiry, CVC, and country select fields with a pay button.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button",
        "field",
        "input",
        "input-group",
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/card/card-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/card/card-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-01",
      "title": "Basic",
      "description": "Single checkbox with a label.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-02",
      "title": "With description",
      "description": "Checkbox with a label and helper description.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-03",
      "title": "Disabled",
      "description": "Disabled unchecked and disabled checked states.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-04",
      "title": "Group",
      "description": "Grouped list of notification checkboxes, each with a label and helper description, inside a labelled fieldset.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-06",
      "title": "Select all",
      "description": "Parent checkbox with an indeterminate mixed state.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-07",
      "title": "Nested tree",
      "description": "Multi-level file tree; parents derive checked / indeterminate from children.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-08",
      "title": "Choice cards",
      "description": "Bordered add-on cards that highlight when checked.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-09",
      "title": "Payment methods",
      "description": "Selectable saved credit cards with brand and last four.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-10",
      "title": "Table row selection",
      "description": "Data table with a select-all header, per-row checkboxes, and a count.",
      "dependencies": [],
      "registryDependencies": [
        "checkbox",
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-11",
      "title": "Invalid / required",
      "description": "Checkbox with an inline error message that appears when the form is submitted without checking it.",
      "dependencies": [
        "sonner"
      ],
      "registryDependencies": [
        "checkbox",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-12",
      "title": "React Hook Form + Zod",
      "description": "Controller binds a checkbox group to React Hook Form; Zod requires at least one selection.",
      "dependencies": [
        "react-hook-form",
        "zod",
        "@hookform/resolvers",
        "sonner"
      ],
      "registryDependencies": [
        "checkbox",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "checkbox-13",
      "title": "TanStack Form + Zod",
      "description": "form.Field wires a checkbox group to TanStack Form; Zod validates on submit and shows an error when none are selected.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "checkbox",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/checkbox/checkbox-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/checkbox/checkbox-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "collapsible-01",
      "title": "Basic",
      "description": "Canonical starred-repos toggle with a chevron trigger.",
      "dependencies": [],
      "registryDependencies": [
        "collapsible",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/collapsible/collapsible-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/collapsible/collapsible-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "collapsible-02",
      "title": "FAQ list",
      "description": "Stacked question rows; each answer expands with an animated chevron.",
      "dependencies": [],
      "registryDependencies": [
        "collapsible"
      ],
      "files": [
        {
          "path": "registry/patterns/collapsible/collapsible-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/collapsible/collapsible-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "collapsible-03",
      "title": "File tree",
      "description": "Nested folders built from collapsible rows, with folder icons that swap on open.",
      "dependencies": [],
      "registryDependencies": [
        "collapsible"
      ],
      "files": [
        {
          "path": "registry/patterns/collapsible/collapsible-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/collapsible/collapsible-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "collapsible-04",
      "title": "Read more",
      "description": "Truncated paragraph reveals the rest; trigger label swaps to Show less.",
      "dependencies": [],
      "registryDependencies": [
        "collapsible"
      ],
      "files": [
        {
          "path": "registry/patterns/collapsible/collapsible-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/collapsible/collapsible-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "collapsible-05",
      "title": "Sidebar nav group",
      "description": "Collapsible navigation sections with sub-items and a rotating chevron.",
      "dependencies": [],
      "registryDependencies": [
        "collapsible"
      ],
      "files": [
        {
          "path": "registry/patterns/collapsible/collapsible-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/collapsible/collapsible-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "collapsible-06",
      "title": "Advanced options",
      "description": "Form reveals extra fields behind an Advanced options toggle.",
      "dependencies": [],
      "registryDependencies": [
        "collapsible",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/collapsible/collapsible-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/collapsible/collapsible-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-01",
      "title": "Basic",
      "description": "Canonical command menu with grouped items, icons, and shortcuts.",
      "dependencies": [],
      "registryDependencies": [
        "command"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-02",
      "title": "Command dialog",
      "description": "Spotlight-style ⌘K palette toggled by a button or keyboard shortcut.",
      "dependencies": [],
      "registryDependencies": [
        "command",
        "button",
        "dialog"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-03",
      "title": "Global search",
      "description": "Rich search dialog with recent, pages, and people plus a hint footer.",
      "dependencies": [],
      "registryDependencies": [
        "command",
        "button",
        "dialog",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-04",
      "title": "Async loading",
      "description": "Debounced search with skeleton rows while loading, an empty state, and shouldFilter disabled for server-driven results.",
      "dependencies": [],
      "registryDependencies": [
        "command"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-05",
      "title": "Combobox",
      "description": "Popover + Command framework picker with a check mark.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-06",
      "title": "Combobox with clear",
      "description": "Selected value shows an inline X that clears without reopening.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-07",
      "title": "Multiple — chips",
      "description": "Multi-select showing every choice as a removable badge chip in the trigger.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-14",
      "title": "Multiple — count summary",
      "description": "Trigger shows \"first, +N\" with a separate button to clear all.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-15",
      "title": "Multiple — faceted filter",
      "description": "Dashed trigger with count badges, checkbox rows, facet counts, and a clear footer.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button",
        "badge",
        "separator"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-08",
      "title": "Grouped picker",
      "description": "Options split into labeled groups with separators, demonstrated with timezones organized by region.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-09",
      "title": "Assignee picker",
      "description": "Avatars with name and email subtext in the trigger and options.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-10",
      "title": "Status picker",
      "description": "Ghost trigger with a colored status dot, issue-tracker style.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-11",
      "title": "With label",
      "description": "Combobox composed with an accessible field Label.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "command",
        "button",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-12",
      "title": "React Hook Form + Zod",
      "description": "Controller binds the combobox to RHF; Zod resolver drives FieldError on submit.",
      "dependencies": [
        "react-hook-form",
        "zod",
        "@hookform/resolvers",
        "sonner"
      ],
      "registryDependencies": [
        "popover",
        "command",
        "button",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "command-13",
      "title": "TanStack Form + Zod",
      "description": "form.Field wires the combobox; Zod onSubmit validator surfaces FieldError when touched.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "popover",
        "command",
        "button",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/command/command-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/command/command-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-01",
      "title": "Confirm action",
      "description": "Polished yes/no with icon and clear hierarchy.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-02",
      "title": "Edit profile",
      "description": "FieldGroup form with Save and Cancel footer.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "input",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-03",
      "title": "Delete account",
      "description": "Destructive warning with icon and emphasized copy.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-04",
      "title": "Terms, sticky footer",
      "description": "Long scroll body; Accept and Decline pinned footer.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "separator"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-05",
      "title": "Share link",
      "description": "Readonly URL with copy control; minimal footer.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-06",
      "title": "Sticky header",
      "description": "Header fixed; scrollable changelog-style body.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-08",
      "title": "Verify code (OTP)",
      "description": "6-digit InputOTP with separator; Verify footer.",
      "dependencies": [
        "input-otp"
      ],
      "registryDependencies": [
        "dialog",
        "button",
        "input-otp",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-09",
      "title": "Onboarding welcome",
      "description": "Compact hero image, title, and description; dual CTAs.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-10",
      "title": "Footer-only dismiss",
      "description": "No corner close button; dismiss only through the footer.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-11",
      "title": "Pick teammates",
      "description": "Scrollable avatar rows with selection; Invite footer.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-12",
      "title": "Success",
      "description": "Completion check icon and Continue action.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-13",
      "title": "Type to confirm",
      "description": "Type delete to enable destructive button.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "input",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-14",
      "title": "Settings sections",
      "description": "Notifications and Security blocks via Separator.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "separator",
        "switch"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-15",
      "title": "Choose image",
      "description": "Thumbnail grid with selection ring.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-16",
      "title": "Invite team",
      "description": "Icon header plus email field.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "input",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-17",
      "title": "Long form, sticky footer",
      "description": "Many fields in scroll; footer-only sticky.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "input",
        "field",
        "textarea"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-17.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-17.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-18",
      "title": "Stacked actions",
      "description": "Full-width footer buttons for mobile-friendly CTAs.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-18.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-18.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-19",
      "title": "React Hook Form",
      "description": "Dialog form with RHF, Zod resolver, and FieldError on invalid fields.",
      "dependencies": [
        "react-hook-form",
        "zod",
        "@hookform/resolvers",
        "sonner"
      ],
      "registryDependencies": [
        "dialog",
        "button",
        "field",
        "input",
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-19.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-19.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-20",
      "title": "TanStack Form",
      "description": "Dialog form with TanStack Form and Zod onSubmit validation.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "dialog",
        "button",
        "field",
        "input",
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-20.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-20.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-21",
      "title": "Nested dialog",
      "description": "Dialog stacked inside another dialog, e.g. avatar picker from profile.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "field",
        "input"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-21.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-21.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dialog-22",
      "title": "From dropdown",
      "description": "Dialog triggered by a DropdownMenuItem with onSelect preventDefault.",
      "dependencies": [],
      "registryDependencies": [
        "dialog",
        "button",
        "dropdown-menu",
        "field",
        "input"
      ],
      "files": [
        {
          "path": "registry/patterns/dialog/dialog-22.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dialog/dialog-22.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-01",
      "title": "Basic",
      "description": "Label, separator, and a list of action items.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-02",
      "title": "With icons and shortcuts",
      "description": "Leading icons paired with trailing keyboard shortcuts.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-03",
      "title": "Grouped",
      "description": "Multiple labeled groups divided by separators.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-04",
      "title": "Destructive item",
      "description": "A red destructive Delete action separated from the regular items.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-05",
      "title": "Disabled items",
      "description": "Non-interactive items dimmed with the disabled prop.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-06",
      "title": "Checkbox items",
      "description": "Toggle multiple view options with checkbox items.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-07",
      "title": "Radio group",
      "description": "Radio items that keep exactly one option selected at a time.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-08",
      "title": "Submenu",
      "description": "A menu item that reveals a nested flyout panel with more options.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-09",
      "title": "Account menu",
      "description": "Avatar trigger with a name and email header block.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-10",
      "title": "Icon button actions",
      "description": "Ghost ellipsis trigger opens a compact actions menu.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-11",
      "title": "Table row actions",
      "description": "Per-row ellipsis menu with edit, copy, and remove.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button",
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-12",
      "title": "Sides and alignment",
      "description": "Align start or end and open the menu to the side.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-13",
      "title": "Controlled open",
      "description": "Menu whose open/closed state is managed externally and reflected in the trigger label.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-14",
      "title": "Theme switcher",
      "description": "Radio group toggling light, dark, and system themes.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-15",
      "title": "Multi-select filter",
      "description": "Checkbox items with a count badge and a clear action.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-16",
      "title": "Notifications",
      "description": "Bell trigger with an unread badge and an activity list.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-17",
      "title": "With dialog",
      "description": "A menu item opens a controlled confirmation dialog.",
      "dependencies": [],
      "registryDependencies": [
        "dropdown-menu",
        "button",
        "dialog"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-17.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-17.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-18",
      "title": "React Hook Form + Zod",
      "description": "Controller binds a radio group to RHF; Zod requires a selection.",
      "dependencies": [
        "react-hook-form",
        "zod",
        "@hookform/resolvers",
        "sonner"
      ],
      "registryDependencies": [
        "dropdown-menu",
        "button",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-18.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-18.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dropdown-19",
      "title": "TanStack Form + Zod",
      "description": "form.Field wires the radio group; Zod onSubmit surfaces FieldError.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "dropdown-menu",
        "button",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/dropdown/dropdown-19.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/dropdown/dropdown-19.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "empty-01",
      "title": "Basic",
      "description": "Icon, title, and description for an empty list.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "empty"
      ],
      "files": [
        {
          "path": "registry/patterns/empty/empty-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/empty/empty-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "empty-02",
      "title": "With actions",
      "description": "First-run state with primary and secondary CTAs.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "empty",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/empty/empty-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/empty/empty-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "empty-03",
      "title": "No results",
      "description": "Search empty state with a clear-filters action.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "empty",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/empty/empty-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/empty/empty-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "empty-04",
      "title": "Avatar group",
      "description": "Bordered empty team card with an avatar stack and invite.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "empty",
        "avatar",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/empty/empty-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/empty/empty-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "empty-05",
      "title": "In dialog",
      "description": "Empty inbox state composed inside a Dialog.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "empty",
        "dialog",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/empty/empty-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/empty/empty-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-01",
      "title": "Basic",
      "description": "Plain text input with a placeholder, no addons.",
      "dependencies": [],
      "registryDependencies": [
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-02",
      "title": "With Addon",
      "description": "Input with trailing search icon addon.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-03",
      "title": "Disabled",
      "description": "Text input rendered in a disabled, non-interactive state.",
      "dependencies": [],
      "registryDependencies": [
        "input"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-04",
      "title": "With Addon in the end",
      "description": "Password input with a trailing eye-off icon to indicate visibility toggle.",
      "dependencies": [],
      "registryDependencies": [
        "input"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-05",
      "title": "With prefix and suffix",
      "description": "URL input with a fixed \"https://\" prefix and \".com\" suffix text addons.",
      "dependencies": [],
      "registryDependencies": [
        "input-group"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-06",
      "title": "With loading spinner",
      "description": "Spinning loader in the trailing addon while searching.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input-group"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-07",
      "title": "With clear button",
      "description": "Clear button appears in the trailing addon when the field has text.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input-group",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-08",
      "title": "With tooltip",
      "description": "Help icon in the trailing addon opens a tooltip on hover.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input-group",
        "button",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-09",
      "title": "With popover",
      "description": "Info button in the trailing addon opens a popover with helper content.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input-group",
        "button",
        "popover"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-10",
      "title": "With dropdown menu",
      "description": "Trailing addon button opens a menu to choose search scope.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input-group",
        "button",
        "dropdown-menu"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-11",
      "title": "In Form",
      "description": "Labeled text input with a supporting description line below the field.",
      "dependencies": [],
      "registryDependencies": [
        "input",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-12",
      "title": "React Hook Form + Zod",
      "description": "Controller binds Input to RHF; Zod resolver drives FieldError on submit.",
      "dependencies": [
        "react-hook-form",
        "zod",
        "@hookform/resolvers",
        "sonner"
      ],
      "registryDependencies": [
        "input",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-13",
      "title": "TanStack Form + Zod",
      "description": "form.Field wires Input; Zod onSubmit validator surfaces FieldError when touched.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "input",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-14",
      "title": "With search button",
      "description": "ButtonGroup pairs a text input with a trailing search action button.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input",
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-16",
      "title": "With email domain",
      "description": "Username field with a fixed @company.com suffix addon, locking the email domain.",
      "dependencies": [],
      "registryDependencies": [
        "input-group"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-15",
      "title": "With currency select",
      "description": "Nested ButtonGroup: currency Select, amount input, and submit icon button.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input",
        "button",
        "button-group",
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "input-17",
      "title": "With nested input group",
      "description": "Attach button plus InputGroup message field and send action in a ButtonGroup.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "input-group",
        "button",
        "button-group"
      ],
      "files": [
        {
          "path": "registry/patterns/input/input-17.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/input/input-17.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-02",
      "title": "Basic",
      "description": "Title plus supporting description.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-03",
      "title": "Variants",
      "description": "Default, outline, and muted variants side-by-side.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-04",
      "title": "Sizes",
      "description": "Default, sm, and xs sizes side-by-side.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-05",
      "title": "With icon",
      "description": "Leading icon placed before the title and description.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-06",
      "title": "With avatar",
      "description": "User avatar photo placed before the name and subtitle.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-07",
      "title": "With thumbnail",
      "description": "Small image thumbnail placed before the title and subtitle.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-08",
      "title": "With actions",
      "description": "Avatar, name, role, and a trailing action button.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-09",
      "title": "Header and footer",
      "description": "Status badge above the title and a metadata row below the description.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-10",
      "title": "As link",
      "description": "The entire row is clickable, navigating to a URL with a trailing arrow icon.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-11",
      "title": "Group",
      "description": "Multiple rows grouped together with thin dividers between each row.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-12",
      "title": "User list",
      "description": "Avatars with name, role, and Follow action per row.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "avatar",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-13",
      "title": "Notifications",
      "description": "Leading icon, title with an unread dot indicator, and a trailing timestamp.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-14",
      "title": "File list",
      "description": "File icon, name, size metadata, and a trailing overflow menu with actions per row.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "button",
        "dropdown-menu"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-15",
      "title": "Settings row",
      "description": "Title and description with a trailing Switch.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "switch"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-16",
      "title": "Integrations",
      "description": "Brand icon, status badge in title, connect Switch.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "switch",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-17",
      "title": "Stat rows",
      "description": "Stacked KPI rows with label, value, and trend delta.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-17.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-17.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-18",
      "title": "Pricing tiers",
      "description": "Stacked tier rows with Popular badge, price, and CTA button.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "badge",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-18.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-18.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-19",
      "title": "Activity feed",
      "description": "Icon timeline rows with relative time footer.",
      "dependencies": [],
      "registryDependencies": [
        "item"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-19.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-19.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-20",
      "title": "In dropdown menu",
      "description": "Compact user avatar and email placed at the top of a dropdown menu.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "avatar",
        "button",
        "dropdown-menu"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-20.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-20.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-21",
      "title": "In popover",
      "description": "File rows with image thumbnails displayed inside a floating popover panel.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-21.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-21.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "item-24",
      "title": "Empty team",
      "description": "Overlapping avatar stack above an empty-state message with an invite button.",
      "dependencies": [],
      "registryDependencies": [
        "item",
        "avatar",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/item/item-24.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/item/item-24.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "pagination-01",
      "title": "Basic",
      "description": "Numbers with ellipsis, previous, and next links.",
      "dependencies": [],
      "registryDependencies": [
        "pagination"
      ],
      "files": [
        {
          "path": "registry/patterns/pagination/pagination-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/pagination/pagination-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "pagination-02",
      "title": "Compact",
      "description": "Inline numbers from sm up, \"Page X of Y\" on mobile.",
      "dependencies": [],
      "registryDependencies": [
        "pagination"
      ],
      "files": [
        {
          "path": "registry/patterns/pagination/pagination-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/pagination/pagination-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "pagination-03",
      "title": "Interactive window",
      "description": "Stateful current page with a sliding ellipsis range.",
      "dependencies": [],
      "registryDependencies": [
        "pagination"
      ],
      "files": [
        {
          "path": "registry/patterns/pagination/pagination-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/pagination/pagination-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "pagination-04",
      "title": "Rows per page",
      "description": "Page-size select with first, prev, next, and last.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/pagination/pagination-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/pagination/pagination-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "pagination-05",
      "title": "Results summary",
      "description": "Showing 1–10 of 97 alongside the page controls.",
      "dependencies": [],
      "registryDependencies": [
        "pagination"
      ],
      "files": [
        {
          "path": "registry/patterns/pagination/pagination-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/pagination/pagination-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "pagination-06",
      "title": "Article prev / next",
      "description": "Two linked cards with titles for adjacent articles.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/pagination/pagination-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/pagination/pagination-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "pagination-07",
      "title": "Dots",
      "description": "Carousel-style dots; the active page expands to a pill.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/pagination/pagination-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/pagination/pagination-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "pagination-08",
      "title": "Jump to page",
      "description": "Numeric input to jump directly to any page.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "input"
      ],
      "files": [
        {
          "path": "registry/patterns/pagination/pagination-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/pagination/pagination-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-01",
      "title": "Basic",
      "description": "Default popover with a button trigger and simple text.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-02",
      "title": "With header",
      "description": "Popover with a bold title and a short description below it.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-03",
      "title": "Sides",
      "description": "Place the popover on top, right, bottom, or left of the trigger.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-04",
      "title": "Alignment",
      "description": "Align the content to the start, center, or end of the trigger.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-05",
      "title": "Custom width",
      "description": "Override the default width via className on PopoverContent.",
      "dependencies": [],
      "registryDependencies": [
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-06",
      "title": "Dimensions form",
      "description": "Form with inline labeled inputs for width, max-width, height, and max-height.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button",
        "field",
        "input"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-07",
      "title": "Notification settings",
      "description": "Switches with labels and descriptions inside the popover.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button",
        "field",
        "switch"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-08",
      "title": "Color picker",
      "description": "Swatch grid with a check icon on the active color.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-09",
      "title": "Share link",
      "description": "Readonly URL input with a trailing copy button.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button",
        "input-group"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-10",
      "title": "Notifications list",
      "description": "Notification rows with an icon, message text, timestamp, and unread indicator dot.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button",
        "badge",
        "item",
        "separator"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-11",
      "title": "Profile card",
      "description": "Banner image, avatar, bio, and follow / message actions.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-12",
      "title": "Cover picker",
      "description": "Thumbnail grid with a selection ring for choosing a cover image.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-13",
      "title": "Filters",
      "description": "Grouped toggle button filters for status and priority, with reset and apply actions.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button",
        "badge",
        "field",
        "separator",
        "toggle-group"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "popover-14",
      "title": "Scrollable list",
      "description": "Scrollable list of team members with avatars and roles inside a fixed-height popover.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "popover",
        "button",
        "avatar",
        "scroll-area",
        "separator"
      ],
      "files": [
        {
          "path": "registry/patterns/popover/popover-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/popover/popover-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-01",
      "title": "Basic",
      "description": "Minimal single-value dropdown with a placeholder and a flat list of options.",
      "dependencies": [],
      "registryDependencies": [
        "select",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-02",
      "title": "Grouped",
      "description": "Options organized into labeled groups.",
      "dependencies": [],
      "registryDependencies": [
        "select",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-03",
      "title": "Disabled",
      "description": "Non-interactive select state.",
      "dependencies": [],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-04",
      "title": "With Icons",
      "description": "Options with leading icons.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-05",
      "title": "With Object",
      "description": "Each option shows a bold label and a muted description sub-line; the trigger displays the full two-line item when selected.",
      "dependencies": [],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-06",
      "title": "With description only items",
      "description": "Options show a bold label and a muted description sub-line; the trigger shows only the label after selection.",
      "dependencies": [],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-07",
      "title": "Disabled Items",
      "description": "Select with individual disabled options.",
      "dependencies": [],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-08",
      "title": "With Avatar",
      "description": "User picker with avatars in trigger and options.",
      "dependencies": [],
      "registryDependencies": [
        "select",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-09",
      "title": "Custom Border & Background",
      "description": "Muted background and custom border on the trigger.",
      "dependencies": [],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-10",
      "title": "With Label",
      "description": "Accessible field label linked to the select trigger.",
      "dependencies": [],
      "registryDependencies": [
        "select",
        "label"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-11",
      "title": "In Form",
      "description": "Select composed with Field, FieldLabel, and description.",
      "dependencies": [],
      "registryDependencies": [
        "select",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-12",
      "title": "React Hook Form + Zod",
      "description": "Controller binds Select to RHF; Zod resolver drives FieldError on submit.",
      "dependencies": [
        "react-hook-form",
        "zod",
        "@hookform/resolvers",
        "sonner"
      ],
      "registryDependencies": [
        "select",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-13",
      "title": "TanStack Form + Zod",
      "description": "form.Field wires Select; Zod onSubmit validator surfaces FieldError when touched.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "select",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-14",
      "title": "With inline label",
      "description": "Muted prefix label inside the trigger, left of the selected value.",
      "dependencies": [],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-15",
      "title": "Animated content",
      "description": "Dropdown opens in popper position anchored below the trigger with a small offset, giving a tooltip-style layout.",
      "dependencies": [],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-16",
      "title": "Icon in the trigger",
      "description": "Fixed leading icon in the trigger alongside the selected value; dropdown options are text only.",
      "dependencies": [],
      "registryDependencies": [
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/select/select-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/select/select-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-01",
      "title": "Basic",
      "description": "A stack of placeholder lines for a text block.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-02",
      "title": "Avatar with text",
      "description": "A circle beside two lines, mimicking a loading user row.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-03",
      "title": "Card",
      "description": "Media banner above a title, body lines, and a footer.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-04",
      "title": "Paragraph",
      "description": "A heading followed by full-width body lines.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-05",
      "title": "List",
      "description": "Repeated rows, each with a circular avatar and two text lines.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-06",
      "title": "Table",
      "description": "A header row above several placeholder data rows.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-07",
      "title": "Form",
      "description": "Labelled fields above a submit button placeholder.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-08",
      "title": "Select",
      "description": "A field label above a trigger with a chevron block.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-10",
      "title": "Stat cards",
      "description": "A grid of KPI cards with label, value, and trend lines.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-12",
      "title": "Chat thread",
      "description": "Alternating inbound and outbound message bubbles.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-13",
      "title": "Gallery grid",
      "description": "A grid of square image tiles for a loading gallery.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-14",
      "title": "Article",
      "description": "A hero image, title, byline, and stacked body lines.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-15",
      "title": "Pricing card",
      "description": "A plan name, price, feature rows, and a CTA button.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "skeleton-16",
      "title": "Sidebar nav",
      "description": "A logo header above a list of icon-and-label nav rows, with a user profile row at the bottom.",
      "dependencies": [],
      "registryDependencies": [
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/patterns/skeleton/skeleton-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/skeleton/skeleton-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-01",
      "title": "Basic",
      "description": "A single standalone switch.",
      "dependencies": [],
      "registryDependencies": [
        "switch"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-02",
      "title": "With label",
      "description": "Switch paired with an accessible field label.",
      "dependencies": [],
      "registryDependencies": [
        "switch",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-03",
      "title": "With description",
      "description": "Label and helper description beside the switch.",
      "dependencies": [],
      "registryDependencies": [
        "switch",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-04",
      "title": "Sizes",
      "description": "The sm and default sizes side-by-side.",
      "dependencies": [],
      "registryDependencies": [
        "switch"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-05",
      "title": "Disabled",
      "description": "Disabled off and disabled on states.",
      "dependencies": [],
      "registryDependencies": [
        "switch",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-06",
      "title": "Theme toggle",
      "description": "Sun and moon icons flank a light / dark toggle.",
      "dependencies": [],
      "registryDependencies": [
        "switch"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-07",
      "title": "Icon in thumb",
      "description": "Custom larger toggle with sun / moon icons that swap inside the thumb.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/patterns/switch/switch-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-08",
      "title": "Settings group",
      "description": "A grouped list of notification settings, each row with a label, helper text, and a switch.",
      "dependencies": [],
      "registryDependencies": [
        "switch",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-09",
      "title": "Credit card auto-pay",
      "description": "A visual credit card mockup above a labeled switch for enabling automatic monthly payments.",
      "dependencies": [],
      "registryDependencies": [
        "switch",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-10",
      "title": "Choice cards",
      "description": "Clickable add-on rows showing a title, description, price, and a switch, each fully tappable via a wrapping label.",
      "dependencies": [],
      "registryDependencies": [
        "switch",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-11",
      "title": "Invalid / required",
      "description": "A required switch in a form that shows an inline error message when submitted while off.",
      "dependencies": [
        "sonner"
      ],
      "registryDependencies": [
        "switch",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-12",
      "title": "React Hook Form + Zod",
      "description": "Controller binds the switch to RHF; Zod requires opt-in on submit.",
      "dependencies": [
        "react-hook-form",
        "zod",
        "@hookform/resolvers",
        "sonner"
      ],
      "registryDependencies": [
        "switch",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "switch-13",
      "title": "TanStack Form + Zod",
      "description": "form.Field wires the switch; Zod onSubmit validator surfaces FieldError.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "switch",
        "field",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/switch/switch-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/switch/switch-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-01",
      "title": "Basic",
      "description": "Caption, header, and a footer total row.",
      "dependencies": [],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-02",
      "title": "With images",
      "description": "Avatar thumbnails beside name and email in each row.",
      "dependencies": [],
      "registryDependencies": [
        "table",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-03",
      "title": "Without dividers",
      "description": "Borderless rows for a clean, list-like layout.",
      "dependencies": [],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-04",
      "title": "Striped rows",
      "description": "Zebra striping tints every other row.",
      "dependencies": [],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-05",
      "title": "With vertical lines",
      "description": "Column grid lines via per-cell right borders.",
      "dependencies": [],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-06",
      "title": "Dense",
      "description": "Compact padding and type for high-density data.",
      "dependencies": [],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-07",
      "title": "With checkbox",
      "description": "Select-all header, per-row checkboxes, and a selection count.",
      "dependencies": [],
      "registryDependencies": [
        "table",
        "checkbox"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-08",
      "title": "Card table",
      "description": "Table inside a Card with title and status badges.",
      "dependencies": [],
      "registryDependencies": [
        "table",
        "card",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-09",
      "title": "Vertical",
      "description": "Key-value details with row headers down the left.",
      "dependencies": [],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-10",
      "title": "Sticky header",
      "description": "Header pinned while the capped body scrolls.",
      "dependencies": [],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-11",
      "title": "Sortable",
      "description": "TanStack Table, click a column header to sort ascending or descending.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-12",
      "title": "With filters",
      "description": "TanStack Table, global search input plus a status column filter dropdown.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "input",
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-13",
      "title": "Pagination",
      "description": "TanStack Table, prev / next controls with a rows-per-page select.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "button",
        "select"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-14",
      "title": "Numeric pagination",
      "description": "TanStack Table, numbered page buttons with prev / next arrows.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-15",
      "title": "Column visibility",
      "description": "TanStack Table, toggle individual columns on or off from a dropdown menu.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "button",
        "dropdown-menu"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-16",
      "title": "Resizable columns",
      "description": "TanStack Table, drag the header edge to resize column widths.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-16.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-16.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-17",
      "title": "Pinnable columns",
      "description": "TanStack Table, a column pinned to the right stays visible while scrolling horizontally.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "button",
        "dropdown-menu"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-17.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-17.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-18",
      "title": "Row selection",
      "description": "TanStack Table, row checkboxes with a bulk actions toolbar showing count, clear, and delete.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "checkbox",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-18.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-18.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-19",
      "title": "Expanding sub-rows",
      "description": "TanStack Table, expandable parent rows reveal nested child rows for tree-shaped data.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-19.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-19.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "table-20",
      "title": "Complex data table",
      "description": "TanStack Table, combines sorting, column filter, pagination, row selection, column visibility toggle, and per-row action menus.",
      "dependencies": [
        "@tanstack/react-table"
      ],
      "registryDependencies": [
        "table",
        "button",
        "checkbox",
        "input",
        "badge",
        "dropdown-menu"
      ],
      "files": [
        {
          "path": "registry/patterns/table/table-20.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/table/table-20.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-01",
      "title": "Basic",
      "description": "Three tabs with the default filled variant.",
      "dependencies": [],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-02",
      "title": "Line variant",
      "description": "Underline indicator instead of filled background.",
      "dependencies": [],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-04",
      "title": "Vertical line",
      "description": "Vertical orientation with underline indicators, suited for sidebar navigation.",
      "dependencies": [],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-05",
      "title": "Disabled tab",
      "description": "One trigger disabled while others stay interactive.",
      "dependencies": [],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-06",
      "title": "With icons",
      "description": "Tabs with a small icon placed before each label in the trigger.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-07",
      "title": "With count badges",
      "description": "Trigger labels paired with secondary count badges.",
      "dependencies": [],
      "registryDependencies": [
        "tabs",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-08",
      "title": "Icon only",
      "description": "Compact icon-only triggers for view switching.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-10",
      "title": "Icon with title",
      "description": "Icon stacked above the title in each trigger, with a visual panel below.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-11",
      "title": "Account and password",
      "description": "Two-tab card with a profile edit form on one tab and a password change form on the other.",
      "dependencies": [],
      "registryDependencies": [
        "tabs",
        "card",
        "button",
        "input",
        "field"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-11.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-11.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-12",
      "title": "In card",
      "description": "Tabs inside a card with stats, member list, and billing summary panels.",
      "dependencies": [],
      "registryDependencies": [
        "tabs",
        "card",
        "separator"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-12.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-12.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-13",
      "title": "Preview and code",
      "description": "Docs-style switch between live preview and code snippet.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-13.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-13.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-14",
      "title": "Pricing toggle",
      "description": "Monthly versus yearly billing toggle swaps the price.",
      "dependencies": [],
      "registryDependencies": [
        "tabs",
        "badge"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-14.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-14.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tabs-15",
      "title": "Pill track",
      "description": "Rounded pill triggers in a bordered track with cross-fading mood boards.",
      "dependencies": [],
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/patterns/tabs/tabs-15.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tabs/tabs-15.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-01",
      "title": "Basic",
      "description": "Default dark tooltip on a button.",
      "dependencies": [],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-01.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-02",
      "title": "Sides",
      "description": "Place the tooltip on top, right, bottom, or left.",
      "dependencies": [],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-02.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-03",
      "title": "With shortcut",
      "description": "Label paired with a keyboard shortcut badge inside the tooltip.",
      "dependencies": [],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-03.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-04",
      "title": "On icon button",
      "description": "Labels icon-only buttons in a toolbar.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-04.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-05",
      "title": "Custom delay",
      "description": "Tooltips that open instantly, after 500ms, or after 1.2s, showing different hover delay behaviors.",
      "dependencies": [],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-05.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-06",
      "title": "Rich content",
      "description": "Title plus supporting description in the content.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-06.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-07",
      "title": "Light via dark class",
      "description": "A light-colored tooltip that appears in light mode, inverted from the default dark style.",
      "dependencies": [],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-07.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-08",
      "title": "Colored",
      "description": "Primary, secondary, and destructive tooltips with arrow color matching the content.",
      "dependencies": [],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-08.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-09",
      "title": "No arrow",
      "description": "Hide the pointer arrow for a flatter look.",
      "dependencies": [],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-09.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tooltip-10",
      "title": "Side offset",
      "description": "Adjust the gap between trigger and content.",
      "dependencies": [],
      "registryDependencies": [
        "tooltip",
        "button"
      ],
      "files": [
        {
          "path": "registry/patterns/tooltip/tooltip-10.tsx",
          "type": "registry:component",
          "target": "components/flx/patterns/tooltip/tooltip-10.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-fields-02",
      "title": "Text Input",
      "description": "Native text and email inputs bound with register and Zod validation.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/fields/rhf-fields-02.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-fields-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-fields-03",
      "title": "Textarea",
      "description": "Multi-line textarea with a description and length-constrained Zod rule.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "textarea",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/fields/rhf-fields-03.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-fields-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-fields-04",
      "title": "Slider",
      "description": "Numeric slider bound via Controller, validated against a Zod range.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "slider",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/fields/rhf-fields-04.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-fields-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-fields-05",
      "title": "Checkbox Group",
      "description": "Multiple checkboxes collected into a string array with a min-selection rule.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "checkbox",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/fields/rhf-fields-05.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-fields-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-fields-06",
      "title": "Toggle Group",
      "description": "Single-select toggle group bound via Controller with Zod validation.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "toggle-group",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/fields/rhf-fields-06.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-fields-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-fields-07",
      "title": "Select",
      "description": "Grouped select with labelled option groups bound via Controller.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "select",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/fields/rhf-fields-07.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-fields-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-fields-08",
      "title": "Command",
      "description": "Searchable combobox using Command inside a Popover, bound via Controller.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "field",
        "command",
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/fields/rhf-fields-08.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-fields-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-fields-09",
      "title": "Dropdown",
      "description": "Single choice via a dropdown menu radio group bound through Controller.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "field",
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/fields/rhf-fields-09.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-fields-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-rules-01",
      "title": "Password Confirmation",
      "description": "Pick a strong password and confirm it matches.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/rules/rhf-rules-01.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-rules-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-rules-02",
      "title": "Email Address",
      "description": "Validate an email address with instant feedback.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/rules/rhf-rules-02.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-rules-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-rules-03",
      "title": "Number Range",
      "description": "Keep a numeric input within a sensible range.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/rules/rhf-rules-03.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-rules-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-rules-04",
      "title": "Character Limit",
      "description": "Cap text length with a live character counter.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "textarea",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/rules/rhf-rules-04.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-rules-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-recipes-01",
      "title": "Contact Form",
      "description": "Name, email, topic and message validated on submit.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "select",
        "textarea",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/recipes/rhf-recipes-01.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-recipes-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-recipes-02",
      "title": "Create Account",
      "description": "Sign up with name, email, a strong password and terms.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "checkbox",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/recipes/rhf-recipes-02.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-recipes-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-recipes-03",
      "title": "Sign In",
      "description": "Email and password validated on submit.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/recipes/rhf-recipes-03.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-recipes-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-recipes-04",
      "title": "Newsletter",
      "description": "Subscribe with an email and a delivery frequency.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "select",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/recipes/rhf-recipes-04.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-recipes-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-advanced-01",
      "title": "Dynamic Field Array",
      "description": "Start from an empty state, then add and remove teammate rows with per-item validation.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "badge",
        "empty",
        "field",
        "input",
        "select",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/advanced/rhf-advanced-01.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-advanced-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "rhf-advanced-02",
      "title": "Form in a Dialog",
      "description": "Build an invoice while a dialog validates each line item against its own schema.",
      "dependencies": [
        "react-hook-form",
        "@hookform/resolvers",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "dialog",
        "empty",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/react-hook-form/advanced/rhf-advanced-02.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-advanced-02.tsx"
        },
        {
          "path": "registry/forms/react-hook-form/advanced/rhf-advanced-02-line-item-dialog.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/react-hook-form/rhf-advanced-02-line-item-dialog.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-fields-02",
      "title": "Text Input",
      "description": "Native text and email inputs wired with form.Field and Zod validation.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/fields/tsf-fields-02.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-fields-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-fields-03",
      "title": "Textarea",
      "description": "Multi-line textarea with a description and length-constrained Zod rule.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "textarea",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/fields/tsf-fields-03.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-fields-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-fields-04",
      "title": "Slider",
      "description": "Numeric slider wired with form.Field, validated against a Zod range.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "slider",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/fields/tsf-fields-04.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-fields-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-fields-05",
      "title": "Checkbox Group",
      "description": "Multiple checkboxes collected into a string array with a min-selection rule.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "checkbox",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/fields/tsf-fields-05.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-fields-05.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-fields-06",
      "title": "Toggle Group",
      "description": "Single-select toggle group wired with form.Field and Zod validation.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "toggle-group",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/fields/tsf-fields-06.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-fields-06.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-fields-07",
      "title": "Select",
      "description": "Grouped select with labelled option groups wired with form.Field.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner"
      ],
      "registryDependencies": [
        "field",
        "select",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/fields/tsf-fields-07.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-fields-07.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-fields-08",
      "title": "Command",
      "description": "Searchable combobox using Command inside a Popover, wired with form.Field.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "field",
        "command",
        "popover",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/fields/tsf-fields-08.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-fields-08.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-fields-09",
      "title": "Dropdown",
      "description": "Single choice via a dropdown menu radio group wired with form.Field.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "field",
        "dropdown-menu",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/fields/tsf-fields-09.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-fields-09.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-rules-01",
      "title": "Password Confirmation",
      "description": "Pick a strong password and confirm it matches.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/rules/tsf-rules-01.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-rules-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-rules-02",
      "title": "Email Address",
      "description": "Validate an email address with instant feedback.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/rules/tsf-rules-02.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-rules-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-rules-03",
      "title": "Number Range",
      "description": "Keep a numeric input within a sensible range.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/rules/tsf-rules-03.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-rules-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-rules-04",
      "title": "Character Limit",
      "description": "Cap text length with a live character counter.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "textarea",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/rules/tsf-rules-04.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-rules-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-recipes-01",
      "title": "Contact Form",
      "description": "Name, email, topic and message validated on submit.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "select",
        "textarea",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/recipes/tsf-recipes-01.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-recipes-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-recipes-02",
      "title": "Create Account",
      "description": "Sign up with name, email, a strong password and terms.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "checkbox",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/recipes/tsf-recipes-02.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-recipes-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-recipes-03",
      "title": "Sign In",
      "description": "Email and password validated on submit.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/recipes/tsf-recipes-03.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-recipes-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-recipes-04",
      "title": "Newsletter",
      "description": "Subscribe with an email and a delivery frequency.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "field",
        "input",
        "select",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/recipes/tsf-recipes-04.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-recipes-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-advanced-01",
      "title": "Dynamic Field Array",
      "description": "Start from an empty state, then add and remove teammate rows with per-item validation.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "badge",
        "empty",
        "field",
        "input",
        "select",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/advanced/tsf-advanced-01.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-advanced-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "tsf-advanced-02",
      "title": "Form in a Dialog",
      "description": "Build an invoice while a dialog validates each line item against its own schema.",
      "dependencies": [
        "@tanstack/react-form",
        "zod",
        "sonner",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "dialog",
        "empty",
        "field",
        "input",
        "button"
      ],
      "files": [
        {
          "path": "registry/forms/tanstack-form/advanced/tsf-advanced-02.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-advanced-02.tsx"
        },
        {
          "path": "registry/forms/tanstack-form/advanced/tsf-advanced-02-line-item-dialog.tsx",
          "type": "registry:component",
          "target": "components/flx/forms/tanstack-form/tsf-advanced-02-line-item-dialog.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "settings-1",
      "title": "Tabbed Sections",
      "description": "Tabbed Sections for Settings.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "button",
        "card",
        "input",
        "label",
        "scroll-area",
        "select",
        "switch",
        "tabs"
      ],
      "files": [
        {
          "path": "registry/intents/account/settings/settings-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/settings/settings-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "settings-2",
      "title": "Sidebar Layout",
      "description": "Sidebar Layout for Settings.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input",
        "label",
        "separator",
        "sidebar",
        "switch"
      ],
      "files": [
        {
          "path": "registry/intents/account/settings/settings-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/settings/settings-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "settings-3",
      "title": "Inline Edit",
      "description": "Inline Edit for Settings.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input",
        "label",
        "separator"
      ],
      "files": [
        {
          "path": "registry/intents/account/settings/settings-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/settings/settings-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "settings-4",
      "title": "Preferences Dialog",
      "description": "Preferences Dialog for Settings.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "button",
        "dialog",
        "label",
        "separator",
        "switch",
        "toggle-group"
      ],
      "files": [
        {
          "path": "registry/intents/account/settings/settings-4.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/settings/settings-4.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "notifications-1",
      "title": "Channel Matrix",
      "description": "Channel Matrix for Notifications.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "switch",
        "table"
      ],
      "files": [
        {
          "path": "registry/intents/account/notifications/notifications-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/notifications/notifications-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "notifications-2",
      "title": "Grouped Toggles",
      "description": "Grouped Toggles for Notifications.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "label",
        "separator",
        "switch"
      ],
      "files": [
        {
          "path": "registry/intents/account/notifications/notifications-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/notifications/notifications-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "notifications-3",
      "title": "Digest Frequency",
      "description": "Digest Frequency for Notifications.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "select"
      ],
      "files": [
        {
          "path": "registry/intents/account/notifications/notifications-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/notifications/notifications-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "delete-account-1",
      "title": "Confirm Dialog",
      "description": "Confirm Dialog for Delete Account.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "dialog",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/account/delete-account/delete-account-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/delete-account/delete-account-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "delete-account-2",
      "title": "Multi-Step",
      "description": "Multi-Step for Delete Account.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input",
        "label",
        "progress",
        "select"
      ],
      "files": [
        {
          "path": "registry/intents/account/delete-account/delete-account-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/delete-account/delete-account-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "delete-account-3",
      "title": "Grace Period",
      "description": "Grace Period for Delete Account.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card"
      ],
      "files": [
        {
          "path": "registry/intents/account/delete-account/delete-account-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/delete-account/delete-account-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "verify-identity-1",
      "title": "Password Re-auth",
      "description": "Password Re-auth for Verify Identity.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/verify-identity/verify-identity-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/verify-identity/verify-identity-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "verify-identity-2",
      "title": "OTP Challenge",
      "description": "OTP Challenge for Verify Identity.",
      "dependencies": [
        "lucide-react",
        "input-otp"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input-otp"
      ],
      "files": [
        {
          "path": "registry/intents/auth/verify-identity/verify-identity-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/verify-identity/verify-identity-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "verify-identity-3",
      "title": "Push Approval",
      "description": "Push Approval for Verify Identity.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card"
      ],
      "files": [
        {
          "path": "registry/intents/auth/verify-identity/verify-identity-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/verify-identity/verify-identity-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "verify-identity-4",
      "title": "Biometric",
      "description": "Biometric for Verify Identity.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card"
      ],
      "files": [
        {
          "path": "registry/intents/auth/verify-identity/verify-identity-4.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/verify-identity/verify-identity-4.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "sign-in-1",
      "title": "Social First",
      "description": "Social First for Sign In.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/sign-in/sign-in-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/sign-in/sign-in-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "sign-in-2",
      "title": "Email & Password",
      "description": "Email & Password for Sign In.",
      "dependencies": [],
      "registryDependencies": [
        "button",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/sign-in/sign-in-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/sign-in/sign-in-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "sign-in-3",
      "title": "Magic Link",
      "description": "Magic Link for Sign In.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/sign-in/sign-in-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/sign-in/sign-in-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "sign-in-4",
      "title": "Passkey",
      "description": "Passkey for Sign In.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/sign-in/sign-in-4.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/sign-in/sign-in-4.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "sign-in-5",
      "title": "Phone & OTP",
      "description": "Phone & OTP for Sign In.",
      "dependencies": [
        "lucide-react",
        "input-otp"
      ],
      "registryDependencies": [
        "button",
        "input",
        "input-group",
        "input-otp",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/sign-in/sign-in-5.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/sign-in/sign-in-5.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "sign-in-6",
      "title": "Split Screen",
      "description": "Split Screen for Sign In.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "button",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/sign-in/sign-in-6.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/sign-in/sign-in-6.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "reset-password-1",
      "title": "Email Link",
      "description": "Email Link for Reset Password.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/reset-password/reset-password-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/reset-password/reset-password-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "reset-password-2",
      "title": "OTP Code",
      "description": "OTP Code for Reset Password.",
      "dependencies": [
        "lucide-react",
        "input-otp"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input-otp"
      ],
      "files": [
        {
          "path": "registry/intents/auth/reset-password/reset-password-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/reset-password/reset-password-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "reset-password-3",
      "title": "Security Questions",
      "description": "Security Questions for Reset Password.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/reset-password/reset-password-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/reset-password/reset-password-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "two-factor-setup-1",
      "title": "Authenticator App",
      "description": "Authenticator App for Two-Factor Setup.",
      "dependencies": [
        "lucide-react",
        "input-otp"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input-otp"
      ],
      "files": [
        {
          "path": "registry/intents/auth/two-factor-setup/two-factor-setup-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/two-factor-setup/two-factor-setup-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "two-factor-setup-2",
      "title": "SMS Code",
      "description": "SMS Code for Two-Factor Setup.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/auth/two-factor-setup/two-factor-setup-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/two-factor-setup/two-factor-setup-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "two-factor-setup-3",
      "title": "Passkey",
      "description": "Passkey for Two-Factor Setup.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card"
      ],
      "files": [
        {
          "path": "registry/intents/auth/two-factor-setup/two-factor-setup-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/two-factor-setup/two-factor-setup-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "two-factor-setup-4",
      "title": "Backup Codes",
      "description": "Backup Codes for Two-Factor Setup.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card"
      ],
      "files": [
        {
          "path": "registry/intents/auth/two-factor-setup/two-factor-setup-4.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/two-factor-setup/two-factor-setup-4.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-a-plan-1",
      "title": "Tiered Cards",
      "description": "Tiered Cards for Select a Plan.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "switch"
      ],
      "files": [
        {
          "path": "registry/intents/billing/select-a-plan/select-a-plan-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/select-a-plan/select-a-plan-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-a-plan-2",
      "title": "Comparison Table",
      "description": "Comparison Table for Select a Plan.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "table"
      ],
      "files": [
        {
          "path": "registry/intents/billing/select-a-plan/select-a-plan-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/select-a-plan/select-a-plan-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-a-plan-3",
      "title": "Audience Segments",
      "description": "Audience Segments for Select a Plan.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "toggle-group"
      ],
      "files": [
        {
          "path": "registry/intents/billing/select-a-plan/select-a-plan-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/select-a-plan/select-a-plan-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-a-plan-4",
      "title": "Usage Slider",
      "description": "Usage Slider for Select a Plan.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "slider"
      ],
      "files": [
        {
          "path": "registry/intents/billing/select-a-plan/select-a-plan-4.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/select-a-plan/select-a-plan-4.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "select-a-plan-5",
      "title": "Spotlight Recommendation",
      "description": "Spotlight Recommendation for Select a Plan.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "badge",
        "button",
        "card"
      ],
      "files": [
        {
          "path": "registry/intents/billing/select-a-plan/select-a-plan-5.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/select-a-plan/select-a-plan-5.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "payment-1",
      "title": "Card Form",
      "description": "Card Form for Payment.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input",
        "input-group",
        "label"
      ],
      "files": [
        {
          "path": "registry/intents/billing/payment/payment-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/payment/payment-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "payment-2",
      "title": "Saved Methods",
      "description": "Saved Methods for Payment.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "badge",
        "button",
        "card",
        "empty"
      ],
      "files": [
        {
          "path": "registry/intents/billing/payment/payment-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/payment/payment-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "payment-3",
      "title": "Express Wallets",
      "description": "Express Wallets for Payment.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "separator"
      ],
      "files": [
        {
          "path": "registry/intents/billing/payment/payment-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/payment/payment-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "manage-subscription-1",
      "title": "Plan Overview",
      "description": "Plan Overview for Manage Subscription.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "badge",
        "button",
        "card",
        "progress",
        "separator"
      ],
      "files": [
        {
          "path": "registry/intents/billing/manage-subscription/manage-subscription-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/manage-subscription/manage-subscription-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "manage-subscription-2",
      "title": "Change Plan",
      "description": "Change Plan for Manage Subscription.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card"
      ],
      "files": [
        {
          "path": "registry/intents/billing/manage-subscription/manage-subscription-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/manage-subscription/manage-subscription-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "manage-subscription-3",
      "title": "Cancel Flow",
      "description": "Cancel Flow for Manage Subscription.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "label",
        "select"
      ],
      "files": [
        {
          "path": "registry/intents/billing/manage-subscription/manage-subscription-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/manage-subscription/manage-subscription-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "share-access-1",
      "title": "Link with Scope",
      "description": "Link with Scope for Share Access.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "card",
        "input-group",
        "label",
        "select",
        "separator"
      ],
      "files": [
        {
          "path": "registry/intents/collaboration/share-access/share-access-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/share-access/share-access-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "share-access-2",
      "title": "People Picker",
      "description": "People Picker for Share Access.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "button",
        "card",
        "input",
        "select",
        "separator"
      ],
      "files": [
        {
          "path": "registry/intents/collaboration/share-access/share-access-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/share-access/share-access-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "share-access-3",
      "title": "Request Access",
      "description": "Request Access for Share Access.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "badge",
        "button",
        "card",
        "empty",
        "select"
      ],
      "files": [
        {
          "path": "registry/intents/collaboration/share-access/share-access-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/share-access/share-access-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "comment-thread-1",
      "title": "Inline Anchored",
      "description": "Inline Anchored for Comment Thread.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "button",
        "card",
        "textarea"
      ],
      "files": [
        {
          "path": "registry/intents/collaboration/comment-thread/comment-thread-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/comment-thread/comment-thread-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "comment-thread-2",
      "title": "Side Panel",
      "description": "Side Panel for Comment Thread.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "button",
        "card",
        "empty",
        "toggle-group"
      ],
      "files": [
        {
          "path": "registry/intents/collaboration/comment-thread/comment-thread-2.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/comment-thread/comment-thread-2.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "comment-thread-3",
      "title": "Activity Feed",
      "description": "Activity Feed for Comment Thread.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "avatar",
        "button",
        "card",
        "input"
      ],
      "files": [
        {
          "path": "registry/intents/collaboration/comment-thread/comment-thread-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/comment-thread/comment-thread-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "live-presence-1",
      "title": "Avatar Stack",
      "description": "Avatar Stack for Live Presence.",
      "dependencies": [],
      "registryDependencies": [
        "avatar",
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/intents/collaboration/live-presence/live-presence-1.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/live-presence/live-presence-1.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "live-presence-3",
      "title": "Activity Status",
      "description": "Activity Status for Live Presence.",
      "dependencies": [],
      "registryDependencies": [
        "avatar",
        "card"
      ],
      "files": [
        {
          "path": "registry/intents/collaboration/live-presence/live-presence-3.tsx",
          "type": "registry:component",
          "target": "components/flx/intent/live-presence/live-presence-3.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "dashboard-01",
      "title": "Analytics overview",
      "description": "Sidebar, KPI cards, a bar chart, and a recent activity list.",
      "dependencies": [
        "lucide-react",
        "recharts"
      ],
      "registryDependencies": [
        "avatar",
        "badge",
        "button",
        "card",
        "chart",
        "input",
        "item"
      ],
      "files": [
        {
          "path": "registry/compositions/dashboard/dashboard-01.tsx",
          "type": "registry:component",
          "target": "components/flx/compositions/dashboard/dashboard-01.tsx"
        }
      ],
      "meta": {
        "iframeHeight": 800
      },
      "type": "registry:block"
    },
    {
      "name": "sketch-dashboard-01",
      "title": "Analytics overview",
      "description": "Wireframe: sidebar, stat cards, chart, and a list.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/sketches/dashboard/sketch-dashboard-01.tsx",
          "type": "registry:component",
          "target": "components/flx/sketches/dashboard/sketch-dashboard-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "spot-01",
      "title": "Metrics",
      "description": "A stat card with trend and sparkline, layered over a second.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "badge"
      ],
      "files": [
        {
          "path": "registry/illustrations/spot/spot-01.tsx",
          "type": "registry:component",
          "target": "components/flx/illustrations/spot/spot-01.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "spot-02",
      "title": "Notifications",
      "description": "A fanned stack of notification cards.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/illustrations/spot/spot-02.tsx",
          "type": "registry:component",
          "target": "components/flx/illustrations/spot/spot-02.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "spot-03",
      "title": "Media card",
      "description": "An image card with a soft gradient fade and caption.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/illustrations/spot/spot-03.tsx",
          "type": "registry:component",
          "target": "components/flx/illustrations/spot/spot-03.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "spot-04",
      "title": "Analytics",
      "description": "A card with a gradient area chart.",
      "dependencies": [],
      "registryDependencies": [
        "card",
        "button"
      ],
      "files": [
        {
          "path": "registry/illustrations/spot/spot-04.tsx",
          "type": "registry:component",
          "target": "components/flx/illustrations/spot/spot-04.tsx"
        }
      ],
      "type": "registry:block"
    },
    {
      "name": "scene-01",
      "title": "Dashboard preview",
      "description": "A layered app dashboard with a floating notification.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "card",
        "badge",
        "button",
        "avatar"
      ],
      "files": [
        {
          "path": "registry/illustrations/scene/scene-01.tsx",
          "type": "registry:component",
          "target": "components/flx/illustrations/scene/scene-01.tsx"
        }
      ],
      "type": "registry:block"
    }
  ]
}