> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Registro

> Describe los hooks y métodos disponibles para personalizar la pantalla `signup` de Universal Login.

La pantalla `signup` recopila las credenciales del usuario para crear una nueva cuenta. Admite el registro estándar con username, correo electrónico, número de teléfono y contraseña, así como el registro federado a través de conexiones sociales o empresariales.

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5IrmDuvj5xma8DmkIMJ7ol/42363cde670f86561666c9e930f76883/Screenshot_2025-02-05_at_15.43.23.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=cdad5eb11eeaf2a973012a2ee746743b" alt="Registro" width="374" height="736" data-path="docs/images/cdy7uua7fh8z/5IrmDuvj5xma8DmkIMJ7ol/42363cde670f86561666c9e930f76883/Screenshot_2025-02-05_at_15.43.23.png" />
</Frame>

<div id="import">
  ## Importación
</div>

Cada pantalla tiene su propio conjunto de hooks y métodos. El SDK admite **importación parcial** e **importación desde la raíz** para cada pantalla.

* Usar una importación parcial te permite incluir solo el código que necesitas para tu caso de uso.
* Usar la importación desde la raíz te permite cargar todas las pantallas desde un único paquete, lo que resulta útil cuando quieres una compilación unificada que gestione todas las pantallas posibles.

```jsx Import Example theme={null}
// importación desde la raíz
import { useSignup } from '@auth0/auth0-acul-react';

// importación parcial
import {
  useSignup,
  // Hooks de contexto
  useUser,
  useTenant,
  useBranding,
  useClient,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  // Hooks comunes
  useCurrentScreen,
  useAuth0Themes,
  useErrors,
  // Hooks de utilidad
  useChangeLanguage,
  usePasswordValidation,
  useSignupIdentifiers,
  useUsernameValidation,
  // Métodos
  signup,
  federatedSignup,
  pickCountryCode,
} from '@auth0/auth0-acul-react/signup';

function SignupForm() {
  const { signup } = useSignup();
  return (
    <button onClick={() => signup({ email: 'user@example.com', password: 'secret' })}>
      Create Account
    </button>
  );
}
```

<div id="context-hooks">
  ## Hooks de contexto
</div>

Hooks de ámbito de pantalla que proporcionan acceso de solo lectura a los datos de contexto de Auth0 en la pantalla `signup`. Impórtalos desde `@auth0/auth0-acul-react/signup`.

<ParamField body="useBranding" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/BrandingMembers">BrandingMembers</a></span>}>
  Este hook proporciona la configuración de marca, como el logotipo, los colores y la configuración del tema que se muestran en la pantalla `signup`.

  ```jsx Example theme={null}
  import { useBranding } from '@auth0/auth0-acul-react/signup';
  function CustomTheme() {
    const branding = useBranding();
  }
  ```
</ParamField>

<ParamField body="useClient" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ClientMembers">ClientMembers</a></span>}>
  Este hook proporciona configuraciones relacionadas con el cliente, como `id`, `name` y `logoUrl`, para la pantalla `signup`.

  ```jsx Example theme={null}
  import { useClient } from '@auth0/auth0-acul-react/signup';
  function AppInfo() {
    const client = useClient();
  }
  ```
</ParamField>

<ParamField body="useOrganization" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/OrganizationMembers">OrganizationMembers</a></span>}>
  Este hook proporciona información sobre la Organización del usuario si el registro está dentro del ámbito de una Organización. Devuelve `null` cuando no hay contexto de Organización.

  ```jsx Example theme={null}
  import { useOrganization } from '@auth0/auth0-acul-react/signup';
  function OrgSelector() {
    const organization = useOrganization();
    if (!organization) {
      return <p>No organization context</p>;
    }
  }
  ```
</ParamField>

<ParamField body="usePrompt" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/PromptMembers">PromptMembers</a></span>}>
  Este hook contiene datos sobre la pantalla actual en el flujo de autenticación.

  ```jsx Example theme={null}
  import { usePrompt } from '@auth0/auth0-acul-react/signup';
  function FlowInfo() {
    const prompt = usePrompt();
  }
  ```
</ParamField>

<ParamField body="useScreen" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ScreenMembersOnSignup">ScreenMembersOnSignup</a></span>}>
  Este hook contiene detalles específicos de la pantalla `signup`, incluida su configuración y contexto.

  ```jsx Example theme={null}
  import { useScreen } from '@auth0/auth0-acul-react/signup';
  function ScreenDebug() {
    const screen = useScreen();
  }
  ```
</ParamField>

<ParamField body="useTenant" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/TenantMembers">TenantMembers</a></span>}>
  Este hook contiene datos relacionados con el inquilino, como `id` y los metadatos asociados.

  ```jsx Example theme={null}
  import { useTenant } from '@auth0/auth0-acul-react/signup';
  function TenantInfo() {
    const tenant = useTenant();
  }
  ```
</ParamField>

<ParamField body="useTransaction" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/TransactionMembersOnSignup">TransactionMembersOnSignup</a></span>}>
  Este hook proporciona datos específicos de la transacción para la pantalla `signup`, como las conexiones activas y el estado actual del flujo.

  ```jsx Example theme={null}
  import { useTransaction } from '@auth0/auth0-acul-react/signup';
  function TransactionInfo() {
    const transaction = useTransaction();
  }
  ```
</ParamField>

<ParamField body="useUntrustedData" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>}>
  Este hook expone los datos no confiables que se pasan a la pantalla, como un correo electrónico o un username precargados a partir de parámetros de URL.

  ```jsx Example theme={null}
  import { useUntrustedData } from '@auth0/auth0-acul-react/signup';
  function PrefilledForm() {
    const untrustedData = useUntrustedData();
  }
  ```
</ParamField>

<ParamField body="useUser" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UserMembers">UserMembers</a></span>}>
  Este hook proporciona detalles del usuario actual, incluidos `username`, `email` y los métodos de autenticación disponibles.

  ```jsx Example theme={null}
  import { useUser } from '@auth0/auth0-acul-react/signup';
  function UserProfile() {
    const user = useUser();
  }
  ```
</ParamField>

<ParamField body="useSignup" type={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/SignupMembers">SignupMembers</a>}>
  Este hook devuelve todos los métodos y el contexto disponibles en la pantalla de `signup`.
</ParamField>

<div id="methods">
  ## Métodos
</div>

<ParamField body="federatedSignup" type="Promise<void>">
  Este método inicia el registro mediante un proveedor de identidad federado, como Google o GitHub.

  ```jsx Example theme={null}
  import { useSignup } from '@auth0/auth0-acul-react/signup';

  function SocialButton() {
    const { federatedSignup } = useSignup();
    return (
      <button onClick={() => federatedSignup({ connection: 'google-oauth2' })}>
        Sign up with Google
      </button>
    );
  }
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [FederatedSignupPayloadOptions](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/FederatedSignupPayloadOptions).
    </ParamField>

    <ParamField body="connection" type="string" required>
      El nombre de la conexión social o empresarial que se debe usar (por ejemplo, `google-oauth2`, `github`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="pickCountryCode" type="Promise<void>">
  Este método abre el selector de código de país para introducir el número de teléfono durante el registro.

  ```jsx Example theme={null}
  import { useSignup } from '@auth0/auth0-acul-react/signup';

  function CountryCodePicker() {
    const { pickCountryCode } = useSignup();
    return (
      <button onClick={() => pickCountryCode()}>
        Select Country Code
      </button>
    );
  }
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [CustomOptions](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/CustomOptions).
    </ParamField>

    <ParamField body="[`key`: `string`]" type="&#x22;string&#x22; | &#x22;number&#x22; | &#x22;boolean&#x22; | &#x22;undefined&#x22;">
      Campos personalizados adicionales con el prefijo `ulp-` (por ejemplo, `'ulp-custom-field'`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="signup" type="Promise<void>">
  Este método envía los datos de registro del usuario para crear una nueva cuenta.

  ```jsx Example theme={null}
  import { useSignup } from '@auth0/auth0-acul-react/signup';

  function SignupForm() {
    const { signup } = useSignup();
    return (
      <button onClick={() => signup({ email: 'user@example.com', password: 'secret' })}>
        Create Account
      </button>
    );
  }
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [SignupPayloadOptions](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/SignupPayloadOptions).
    </ParamField>

    <ParamField body="email" type="string">
      La dirección de correo electrónico del usuario.
    </ParamField>

    <ParamField body="password" type="string">
      La contraseña de la nueva cuenta.
    </ParamField>

    <ParamField body="username" type="string">
      El nombre de usuario de la nueva cuenta, si la conexión lo requiere.
    </ParamField>

    <ParamField body="phoneNumber" type="string">
      El número de teléfono del usuario, si la conexión lo requiere.
    </ParamField>

    <ParamField body="captcha?" type="string">
      Valor de captcha obligatorio cuando la detección de bots está habilitada en el inquilino.
    </ParamField>

    <ParamField body="[`key`: `string`]" type="&#x22;string&#x22; | &#x22;number&#x22; | &#x22;boolean&#x22; | &#x22;undefined&#x22;">
      Campos personalizados adicionales con el prefijo `ulp-` (por ejemplo, `'ulp-custom-field'`).
    </ParamField>
  </Expandable>
</ParamField>

<div id="commonutility-hooks">
  ## Hooks comunes/de utilidad
</div>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useAuth0Themes">useAuth0Themes</a>} type="Hooks">
  Este hook obtiene las opciones del tema actual con la configuración consolidada del contexto de marca.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useChangeLanguage">useChangeLanguage</a>} type="Hooks">
  Este hook devuelve una función para cambiar el idioma de visualización en la pantalla actual de ACUL.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useCurrentScreen">useCurrentScreen</a>} type="Hooks">
  Este hook obtiene el contexto y el estado de la pantalla actual.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useErrors">useErrors</a>} type="Hooks">
  Este hook lee y administra los errores del servidor, del cliente y de desarrollo en la pantalla.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/usePasswordValidation">usePasswordValidation</a>} type="Hooks">
  Este hook valida la contraseña del usuario según los requisitos de la política de contraseñas del inquilino.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useSignupIdentifiers">useSignupIdentifiers</a>} type="Hooks">
  Este hook devuelve los tipos de identificador de registro disponibles (correo electrónico, username, teléfono) configurados para la conexión.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useUsernameValidation">useUsernameValidation</a>} type="Hooks">
  Este hook valida el username del usuario según los requisitos de la política de username del inquilino.
</ParamField>
