### Install @xylex-group/athena-auth-ui Source: https://github.com/xylex-group/athena-auth-ui/blob/main/packages/heroui/README.md Install the package using bun. Ensure all peer dependencies are met. ```bash bun add @xylex-group/athena-auth-ui ``` -------------------------------- ### Athena Client Setup with AuthProvider Source: https://github.com/xylex-group/athena-auth-ui/blob/main/packages/heroui/README.md Set up the Athena authentication client and plugins, then wrap your application with AuthProvider to enable authentication features. SignInPage is included as an example. ```tsx import { AuthProvider, SignInPage, createAthenaAuthClient, createAthenaAuthPlugins } from "@xylex-group/athena-auth-ui" const authClient = createAthenaAuthClient() const plugins = createAthenaAuthPlugins() export function AuthScreen() { return ( ) } ``` -------------------------------- ### Import Example Export Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/entrypoints/plugins.mdx Demonstrates how to import the ExampleExport from the plugins module. ```tsx import { ExampleExport } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Run Next.js Development Server Source: https://github.com/xylex-group/athena-auth-ui/blob/main/examples/next-heroui-example/README.md Commands to start the Next.js development server using different package managers. ```bash npm run dev # or yarn dev # or pnpm dev # or bun dev ``` -------------------------------- ### Install @xylex-group/athena Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Install the @xylex-group/athena package using npm, pnpm, or yarn. ```bash npm install @xylex-group/athena # or pnpm add @xylex-group/athena # or yarn add @xylex-group/athena ``` -------------------------------- ### Quick Start: Create Athena Client and Query Data Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Initialize the Athena client with your URL and API key, then use the fluent API to select data from a table. Handles potential errors during the query. ```typescript import { createClient } from "@xylex-group/athena"; const athenaClient = createClient(ATHENA_URL, ATHENA_API_KEY, { client: "CLIENT_NAME", backend: { type: "athena" }, }); const { data, error } = await athenaClient.from("characters").select(` id, name, from:sender_id(name), to:receiver_id(name) `); if (error) { console.error("gateway error", error); } else { console.table(data); } ``` -------------------------------- ### Install React Peer Dependency Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Install React if you plan to use the React hooks from @xylex-group/athena/react. React version 17 or higher is required. ```bash npm install react # React >=17 required for the hook ``` -------------------------------- ### Basic React Hooks for Data Fetching and Mutations Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Demonstrates the use of `useQuery` to fetch data and `useMutation` to create new data. Includes setup for `AthenaQueryClientProvider` and `createAthenaQueryClient`. Refetches data after a successful mutation. ```tsx "use client"; import { AthenaQueryClientProvider, createAthenaQueryClient, useAthenaGateway, useMutation, useQuery, } from "@xylex-group/athena/react"; import { createClient } from "@xylex-group/athena"; const queryClient = createAthenaQueryClient({ cache: { mode: "none" }, // default: no persistent data cache, inflight dedupe only }); const athena = createClient( process.env.NEXT_PUBLIC_ATHENA_URL!, process.env.NEXT_PUBLIC_ATHENA_API_KEY!, ); type Product = { id: string; name: string; price: number; }; type CreateProductInput = { name: string; price: number; }; function ProductsInner() { const products = useQuery({ queryKey: ["products"], queryFn: () => athena.from("products").select("id,name,price").limit(50), }); const createProduct = useMutation({ mutationFn: (input) => athena.from("products").insert(input).select("id,name,price").single(), onSuccess: () => { void products.refetch(); }, }); if (products.isLoading) return
Loading...
; if (products.error) return
{products.error.message}
; return (
{products.data?.map((product) => (
{product.name} - {product.price}
))}
); } export function Products() { return ( ); } ``` -------------------------------- ### Import ExampleExport Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/entrypoints/root.mdx Demonstrates how to import the ExampleExport component from the @xylex-group/athena-auth-ui package. ```tsx import { ExampleExport } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Calling Postgres Functions with Athena RPC Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Execute Postgres functions using athena.rpc(). By default, it uses POST /gateway/rpc, but can be configured for GET /rpc/{function_name} with { get: true }. ```typescript const { data, count } = await athena .rpc("list_users", { role: "admin" }, { count: "exact", schema: "public" }) .eq("active", true) .order("created_at", { ascending: false }) .range(0, 24) .select(["id", "email"]); ``` ```typescript const { data: firstUser } = await athena .rpc<{ id: number; email: string }>( "list_users", { role: "admin" }) .single("id,email"); ``` ```typescript const { data: readOnlyUser } = await athena .rpc<{ id: number; email: string }> ("list_users", { role: "admin" }, { get: true, count: "planned", head: true },) .eq("id", 1) .single("id,email"); ``` -------------------------------- ### Create Typed Client and Query Model Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Initialize a typed client with the defined registry and query data from a specific model, including tenant context. ```typescript const typed = createTypedClient(registry, ATHENA_URL, ATHENA_API_KEY, { tenantKeyMap: { organizationId: "X-Organization-Id", }, }); await typed .withTenantContext({ organizationId: "org_1" }) .fromModel("primary", "public", "users") .select("*"); ``` -------------------------------- ### Recommended Package Publishing Source: https://github.com/xylex-group/athena-auth-ui/blob/main/README.md Publish the HeroUI package after running validation and smoke tests. ```bash bun run package:publish # or bun run publish ``` -------------------------------- ### Conventional Commits Format Example Source: https://github.com/xylex-group/athena-auth-ui/blob/main/AGENTS.md Use this format for commit messages generated by GitHub Copilot. It includes a type, an optional scope, and a description. ```conventional-commits feat(auth): add password reset flow ``` ```conventional-commits fix: resolve null pointer in user hook ``` -------------------------------- ### Import and Use Email Verification Email Template Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/customization.mdx Import the `EmailVerificationEmail` component and access its `templateKey`. This snippet also shows how to get the Athena Auth email template catalog. ```tsx import { EmailVerificationEmail, getAthenaAuthEmailTemplateCatalog } from "@xylex-group/athena-auth-ui/email" EmailVerificationEmail.templateKey // "verification_email" getAthenaAuthEmailTemplateCatalog() ``` -------------------------------- ### Override UI for Sign-In Component Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/customization.mdx Customize the submit button's appearance and text for the Sign-In component. This example shows how to merge local UI overrides with upstream defaults and provider values. ```tsx ``` -------------------------------- ### Configuring Client with User and Tenant Context Headers Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Shows how to initialize the Athena client with user and tenant context headers for all subsequent requests. These headers are automatically included by the SDK. ```ts const athena = createClient( "https://athena-db.com", process.env.ATHENA_API_KEY, { headers: { "X-User-Id": currentUser.id, "X-Organization-Id": currentUser.organizationId ?? "", }, }, ); ``` -------------------------------- ### Quick Package Publish for pnpm Users Source: https://github.com/xylex-group/athena-auth-ui/blob/main/README.md Publish the HeroUI package directly using pnpm, bypassing some workspace checks. ```bash pnpm --filter @xylex-group/athena-auth-ui publish --access public ``` -------------------------------- ### Get Athena Auth Email Template Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/customization.mdx Retrieves an email template configuration from Athena Auth. Use `verification_email` for standard verification emails and `magic_link_email` for magic link emails. You may need to create corresponding rows in Athena Auth's `email_templates` table. ```typescript const verification = getAthenaAuthEmailTemplate("verification_email") // create row with template_key = verification.templateKey const magicLink = getAthenaAuthEmailTemplate("magic_link_email") // create row with event_type = magicLink.eventType // optionally also persist template_key = magicLink.templateKey for your own cataloging ``` -------------------------------- ### Import Core Plugins from Compat Entrypoint Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/entrypoints/compat-core-plugins.mdx Import core plugins from the compatibility entrypoint of the Athena Auth UI package. This allows access to upstream core plugin factories. ```tsx import { someExport } from "@xylex-group/athena-auth-ui/compat/core/plugins" ``` -------------------------------- ### Auth Client Core Flows Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Demonstrates common authentication flows including sign-in, session management, password resets, and user updates using the auth client. ```typescript const login = await auth.signIn.email({ email: "demo@example.com", password: "super-secret", rememberMe: true, }); const session = await auth.getSession(); const sessions = await auth.listSessions(); // clear one session await auth.revokeSession({ token: "session_token_here" }); // or clear all sessions await auth.revokeSessions(); await auth.signOut(); // additional core flows await auth.forgetPassword({ email: "demo@example.com", redirectTo: "https://app/reset-password" }); await auth.resetPassword({ newPassword: "new-secret", token: "reset_token" }); await auth.verifyEmail({ token: "verify_token", callbackURL: "https://app/verified" }); await auth.changePassword({ currentPassword: "old-secret", newPassword: "new-secret" }); await auth.updateUser({ name: "Demo User" }); ``` -------------------------------- ### Pagination Methods Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Demonstrates how to paginate query results using either offset/limit or page-based approaches. The offset/limit methods include `.limit()`, `.offset()`, and a shorthand `.range()`. The page-based methods include `.currentPage()` and `.pageSize()`. The `.totalPages()` method can be used as a hint for some backends. ```APIDOC ## Pagination Two styles of pagination are supported: 1. **Offset/Limit**: For contiguous windows. * `.limit(n)`: Sets the maximum number of rows to return. * `.offset(n)`: Skips the first `n` rows. * `.range(from, to)`: A shorthand for setting both offset and limit. ```ts // Example using offset and limit const { data } = await athena.from("users").select().limit(25).offset(50); // Example using range shorthand const { data: firstTwentyFive } = await athena.from("users").select().range(0, 24); ``` 2. **Page-based**: Maps to `current_page`, `page_size`, and `total_pages`. * `.currentPage(n)`: Specifies the current page number. * `.pageSize(n)`: Sets the number of items per page. * `.totalPages(n)`: An optional hint for the total number of pages. ```ts // Example using page-based pagination const { data: page2 } = await athena .from("orders") .select("id, total") .currentPage(2) .pageSize(25); // Example with totalPages hint const { data: hinted } = await athena .from("orders") .select("id, total") .currentPage(1) .pageSize(25) .totalPages(10); ``` **Method Mapping:** | Method | Backend Field | |--------------------|---------------| | `.limit(n)` | `limit` | | `.offset(n)` | `offset` | | `.range(from, to)` | `offset` + `limit` | | `.currentPage(n)` | `current_page` | | `.pageSize(n)` | `page_size` | | `.totalPages(n)` | `total_pages` | ``` -------------------------------- ### Run Typecheck and Full Checks Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Execute compile-time type compatibility checks or a comprehensive suite including linting, type checking, testing, and building. ```bash pnpm typecheck # compile-time type compatibility checks ``` ```bash pnpm check:all # lint + typecheck + test + build ``` -------------------------------- ### Common Workspace Commands Source: https://github.com/xylex-group/athena-auth-ui/blob/main/README.md Execute common development and build tasks within the monorepo. ```bash bun run lint bun run typecheck bun run build bun run docs:generate bun run package:publish bun run package:publish:check ``` -------------------------------- ### Import AuthUiProvider Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/auth-ui-provider.mdx Import the AuthUiProvider component from the main package. This component is necessary to provide authentication context to other UI elements. ```tsx import { AuthUiProvider } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import ThemeToggleItem Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/theme-toggle-item.mdx Import the ThemeToggleItem component from the plugins entrypoint. ```tsx import { ThemeToggleItem } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import SignUp Component Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/sign-up.mdx Import the SignUp component from the @xylex-group/athena-auth-ui package. ```tsx import { SignUp } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import SwitchAccountSubmenu Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/switch-account-submenu.mdx Import the SwitchAccountSubmenu component from the athena-auth-ui plugins package. Ensure the multi-session plugin is registered for this component to function correctly. ```tsx import { SwitchAccountSubmenu } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import useCreateAdminAthenaClient Hook Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/hooks/use-create-admin-athena-client.mdx Import the hook from the '@xylex-group/athena-auth-ui' package. This hook is also available from '@xylex-group/athena-auth-ui/plugins'. ```tsx import { useCreateAdminAthenaClient } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import buildMethodCandidates Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/functions/build-method-candidates.mdx Import the buildMethodCandidates function from the '@xylex-group/athena-auth-ui' package. This function is essential for setting up fallback paths for Athena method testing. ```tsx import { buildMethodCandidates } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import useAdminEmailTemplatesQuery Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/hooks/use-admin-email-templates-query.mdx Import the hook from the '@xylex-group/athena-auth-ui' package. This hook is also available from '@xylex-group/athena-auth-ui/plugins'. ```tsx import { useAdminEmailTemplatesQuery } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import Passkeys Component Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/passkeys.mdx Import the Passkeys component from the @xylex-group/athena-auth-ui/plugins entrypoint. ```tsx import { Passkeys } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import HeroUI Styles Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/entrypoints/styles.mdx Import the CSS bundle from the Athena Auth UI package to load HeroUI styles. This should typically be done once at application startup. ```typescript import "@xylex-group/athena-auth-ui/styles" ``` -------------------------------- ### Import apiKeyPlugin Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/functions/api-key-plugin.mdx Import the apiKeyPlugin from the designated entrypoint. This helper is part of the package's public runtime contract. ```tsx import { apiKeyPlugin } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import useAdminAuditLogs Hook Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/hooks/use-admin-audit-logs.mdx Import the useAdminAuditLogs hook from the @xylex-group/athena-auth-ui package. ```tsx import { useAdminAuditLogs } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import SwitchAccountSubmenuItem Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/switch-account-submenu-item.mdx Import the SwitchAccountSubmenuItem component from the athena-auth-ui plugins. ```tsx import { SwitchAccountSubmenuItem } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import WorkspaceSdkLabPanel Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/workspace-sdk-lab-panel.mdx Import the WorkspaceSdkLabPanel component from the '@xylex-group/athena-auth-ui' package. This component is also available from '@xylex-group/athena-auth-ui/plugins'. ```tsx import { WorkspaceSdkLabPanel } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import Compat React Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/entrypoints/compat-react.mdx Import necessary exports from the compat React entrypoint. This entrypoint re-exports the entire surface of the @better-auth-ui/react package. ```tsx import { someExport } from "@xylex-group/athena-auth-ui/compat/react" ``` -------------------------------- ### Import AccountSettingsPage Component Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/account-settings-page.mdx Import the AccountSettingsPage component from the '@xylex-group/athena-auth-ui/pages' package. This component is also available from the root package. ```tsx import { AccountSettingsPage } from "@xylex-group/athena-auth-ui/pages" ``` -------------------------------- ### Import from Compat Core Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/entrypoints/compat-core.mdx Import specific exports from the compat core entrypoint. This allows access to the upstream @better-auth-ui/core package's functionality. ```tsx import { someExport } from "@xylex-group/athena-auth-ui/compat/core" ``` -------------------------------- ### Import Theme Plugin Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/functions/theme-plugin.mdx Import the themePlugin function from the @xylex-group/athena-auth-ui/plugins package. ```tsx import { themePlugin } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import HeroUI Styles Source: https://github.com/xylex-group/athena-auth-ui/blob/main/packages/heroui/README.md Import necessary styles for HeroUI and the athena-auth-ui package to ensure proper styling and Tailwind CSS scanning. ```css @import "tailwindcss"; @import "@heroui/styles"; @import "@xylex-group/athena-auth-ui/styles"; ``` -------------------------------- ### Import Magic Link Plugin Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/functions/magic-link-plugin.mdx Import the magicLinkPlugin function from the '@xylex-group/athena-auth-ui/plugins' entrypoint. This is the primary way to include the plugin's functionality in your application. ```tsx import { magicLinkPlugin } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import WorkspaceLogsSettings Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/workspace-logs-settings.mdx Import the WorkspaceLogsSettings component from the athena-auth-ui library. It is also exported from the plugins entrypoint. ```tsx import { WorkspaceLogsSettings } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Create Athena Auth Client Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Initialize the auth client for interacting with an Athena Auth server. Supports cookie-based sessions or bearer tokens. ```typescript import { createAuthClient } from "@xylex-group/athena"; const auth = createAuthClient({ baseUrl: "http://localhost:3001/api/auth", // optional: bearer token if you are not using cookie-based sessions bearerToken: process.env.AUTH_BEARER_TOKEN, }); ``` -------------------------------- ### Import useAdminEmailFailuresQuery Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/hooks/use-admin-email-failures-query.mdx Import the hook from the '@xylex-group/athena-auth-ui' package. This hook is also available from '@xylex-group/athena-auth-ui/plugins'. ```tsx import { useAdminEmailFailuresQuery } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import AuthProvider Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/auth-provider.mdx Import the AuthProvider component from the @xylex-group/athena-auth-ui package to use it in your application. ```tsx import { AuthProvider } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import SignUpPage Component Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/sign-up-page.mdx Import the SignUpPage component from the @xylex-group/athena-auth-ui/pages package. This component is ready to be mounted into your application. ```tsx import { SignUpPage } from "@xylex-group/athena-auth-ui/pages" ``` -------------------------------- ### Import SwitchAccountSubmenuContent Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/switch-account-submenu-content.mdx Import the SwitchAccountSubmenuContent component from the athena-auth-ui plugins package. ```tsx import { SwitchAccountSubmenuContent } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import WorkspaceSecurityPanel Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/workspace-security-panel.mdx Import the WorkspaceSecurityPanel component from the '@xylex-group/athena-auth-ui' package. This component is also exported from '@xylex-group/athena-auth-ui/plugins'. ```tsx import { WorkspaceSecurityPanel } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import multiSessionPlugin Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/functions/multi-session-plugin.mdx Import the multiSessionPlugin function from the @xylex-group/athena-auth-ui/plugins package. ```tsx import { multiSessionPlugin } from "@xylex-group/athena-auth-ui/plugins" ``` -------------------------------- ### Import useCreateAdminApiKey Hook Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/hooks/use-create-admin-api-key.mdx Import the useCreateAdminApiKey hook from the @xylex-group/athena-auth-ui package. This hook is also available from the plugins entrypoint. ```tsx import { useCreateAdminApiKey } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import NewDeviceEmail Component Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/new-device-email.mdx Import the NewDeviceEmail component from the athena-auth-ui email package. ```tsx import { NewDeviceEmail } from "@xylex-group/athena-auth-ui/email" ``` -------------------------------- ### Import SignIn Component Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/sign-in.mdx Import the SignIn component from the @xylex-group/athena-auth-ui package. ```tsx import { SignIn } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### General Options Source: https://github.com/xylex-group/athena-auth-ui/blob/main/athena-README.md Options that can be passed to methods like `.select()` to modify query behavior, such as specifying a schema, requesting a count, or controlling null stripping. ```APIDOC ## Options Options can be passed as the second argument to methods like `.select()`. | Option | Type | Description | |--------------|---------------------------------------|----------------------------------------------| | `schema` | `string` | Qualify unqualified table names for table calls. | | `count` | `"exact" | "planned" | "estimated"` | Request a row count alongside the data. | | `head` | `boolean` | Return response headers only (no rows). | | `stripNulls` | `boolean` | Strip null values from rows (default `true`). | ```ts // Example using options with .select() const { data } = await athena .from("orders") .select("id", { count: "exact", stripNulls: false }); ``` ``` -------------------------------- ### Import WorkspaceLogsPanel Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/workspace-logs-panel.mdx Import the WorkspaceLogsPanel component from the athena-auth-ui library. This component is also available from the plugins entrypoint. ```tsx import { WorkspaceLogsPanel } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import Public API Components Source: https://github.com/xylex-group/athena-auth-ui/blob/main/packages/heroui/README.md Import necessary components and utilities from the package root. Subpath imports are not supported. ```tsx import { AuthProvider, SignInPage, SettingsPage, createAthenaAuthClient, createAthenaAuthPlugins } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import SdkMethodLabCard Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/sdk-method-lab-card.mdx Import the SdkMethodLabCard component from the athena-auth-ui package. This component is also available from the plugins entrypoint. ```tsx import { SdkMethodLabCard } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import Settings Component Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/components/settings.mdx Import the Settings component from the athena-auth-ui package. This is the primary entrypoint for using the component. ```tsx import { Settings } from "@xylex-group/athena-auth-ui" ``` -------------------------------- ### Import useAdminEmailTemplates Hook Source: https://github.com/xylex-group/athena-auth-ui/blob/main/docs/hooks/use-admin-email-templates.mdx Import the useAdminEmailTemplates hook from the '@xylex-group/athena-auth-ui' package. This hook is also available from '@xylex-group/athena-auth-ui/plugins'. ```tsx import { useAdminEmailTemplates } from "@xylex-group/athena-auth-ui" ```