# ENS Components by Namespace > Production-ready React components for ENS name registration, profile record editing, and subname issuance. Five drop-in components built on wagmi and viem — works with Next.js, Remix, Vite, and any React 19+ app. `@thenamespace/ens-components` is an MIT-licensed open-source library by [Namespace](https://namespace.ninja) — an official ENS Service Provider. Install with: ```bash npm install @thenamespace/ens-components wagmi viem @tanstack/react-query ``` ## Docs - [Full API Reference](https://enscomponents.com/llms-full.txt): Complete prop tables, TypeScript interfaces, exported hooks, CSS custom properties, theming examples, error handling, and integration recipes for all five components. - [OpenAPI Spec](https://enscomponents.com/.well-known/openapi.yaml): Machine-readable OpenAPI 3.1.0 spec with JSON schemas for all callback and record types. - [AI Plugin Manifest](https://enscomponents.com/.well-known/ai-plugin.json): Agent discovery manifest with package metadata and documentation pointers. - [GitHub Repository](https://github.com/thenamespace/ens-components): Source code, issues, and releases. - [npm Package](https://www.npmjs.com/package/@thenamespace/ens-components): Package page with version history. - [Developer Portal](https://dev.namespace.ninja): API keys for offchain subname integration. ## Components - [EnsNameRegistrationForm](https://enscomponents.com/#ens-registration): Full .eth name registration flow — search, commit, 60-second wait, register. Requires wagmi wallet on mainnet or Sepolia. - [EnsRecordsForm](https://enscomponents.com/#ens-records): On-chain profile record editor. Fetches current records, renders editor, submits a multicall transaction. - [SelectRecordsForm](https://enscomponents.com/#select-records): Wallet-free record selector. Calls back with an updated EnsRecords object on every change — you control the submit step. - [OffchainSubnameForm](https://enscomponents.com/#offchain-subname): Gasless offchain subname creation via CCIP-Read (EIP-3668). No wallet transaction required for end users. - [SubnameMintForm](https://enscomponents.com/#subname-mint): Onchain subname minting. Looks up price, lets user pick records, submits a wallet transaction. ## Optional - [Interactive Playground](https://enscomponents.com): Live demos with prop editor for each component. - [Quick Start](https://enscomponents.com/#quickstart): Copy-paste setup guide with provider configuration. - [FAQ](https://enscomponents.com/#faq): Common integration questions and answers.