# phoenix_kit v2.64.1 - Table of Contents > A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more ## Pages - [PhoenixKit — A Foundation for Building Your Elixir Phoenix Apps](readme-1.md) - Guides - [PhoenixKit Integration Guide](integration.md) - [OAuth & Magic Link Setup](oauth-and-magic-link-setup.md) - [AWS Email Setup Guide](aws-email-setup.md) - [Making Pages Live: Real-time Updates & Collaborative Editing](making-pages-live.md) - [.phk Publishing Format (Current Implementation)](phk-publishing-format.md) - [Phoenix Kit Authentication Header Integration Guide](auth-header-integration.md) - [Draggable List Component](draggable-list-component.md) - [PhoenixKit Development Guides](readme-2.md) - [Custom Admin Pages](custom-admin-pages.md) - [Locale Routing: the Language Lives in the URL](locale-routing.md) - [Per-Module i18n with Gettext](per-module-i18n.md) - [Customizing emails with template files](email-templates.md) - [PhoenixKit Admin Navigation System](admin_readme.md) ## Modules - [PhoenixKit](PhoenixKit.md): PhoenixKit - [PhoenixKit.API.Access](PhoenixKit.API.Access.md): The rights of a person behind an admin page, read again from the database. - [PhoenixKit.API.Actor](PhoenixKit.API.Actor.md): Who is calling the API: a key (with its owner and effective scopes), a person's live browser session (in process, `PhoenixKit.API.Executor.execute_as/5`) or an anonymous public caller. - [PhoenixKit.API.Approvals](PhoenixKit.API.Approvals.md): The approval queue of API write operations (the approval path of the confirmation flow): every write call of a key marked "requires approval", dangerous or not, waits here for a person. A read or a `dry_run` of such a key is never held. - [PhoenixKit.API.Approvals.Notifier](PhoenixKit.API.Approvals.Notifier.md): The "approval waiting" notice: when an approval is queued, those who may decide it get an in-app notification, **at most one per API key per ten minutes**, and an unread one is refreshed instead of repeated. - [PhoenixKit.API.Approvals.View](PhoenixKit.API.Approvals.View.md): What the approvals page shows of an approval's preview and result, read from the shape every module's tools already share, so that no module needs a page of its own. - [PhoenixKit.API.Auth](PhoenixKit.API.Auth.md): Plug that admits a request to the machine API: steps 1 to 3 of the request flow (API switch, refusal of a credential in the URL, authentication; `PhoenixKit.API.Executor` runs the rest). The order below is the order of the code. - [PhoenixKit.API.BodyGuard](PhoenixKit.API.BodyGuard.md): Endpoint plug that bounds and parses the body of API requests and normalises the percent-encoded prefix of an API path (see "Encoded segments of the path" below). - [PhoenixKit.API.Canonical](PhoenixKit.API.Canonical.md): The canonical form of a tool's arguments, and the hash that binds a confirmation code, an approval and an idempotency key to a request. - [PhoenixKit.API.ClientName](PhoenixKit.API.ClientName.md): The name an MCP client gives a server of this site: the project title as a slug. - [PhoenixKit.API.Config](PhoenixKit.API.Config.md): Settings accessors for the machine API. - [PhoenixKit.API.Confirm](PhoenixKit.API.Confirm.md): Confirmation codes of dangerous API operations, and the helpers the approval queue shares. - [PhoenixKit.API.Confirm.Token](PhoenixKit.API.Confirm.Token.md): The confirmation code string of a dangerous API operation: `ct__`. - [PhoenixKit.API.ControlFields](PhoenixKit.API.ControlFields.md): The fields the executor adds to the input of a write tool: modules never declare them. `idempotency_key` is left out for a write tool that cannot replay (see below). - [PhoenixKit.API.CoreTools](PhoenixKit.API.CoreTools.md): The tools core itself provides, in the `system` namespace. - [PhoenixKit.API.Executor](PhoenixKit.API.Executor.md): The request flow of the machine API: what happens between "this key is authentic" and "here is the response". - [PhoenixKit.API.Flow](PhoenixKit.API.Flow.md): Steps 7 and 8 of the request flow, written as small functions over the executor's request state so `PhoenixKit.API.Executor.execute/4` stays a plain chain - [PhoenixKit.API.FlowConfig](PhoenixKit.API.FlowConfig.md): Settings of the dangerous-operation flow of the machine API: when an operation needs a confirmation, how long a code, an approval and a stored idempotent answer live. - [PhoenixKit.API.Idempotency](PhoenixKit.API.Idempotency.md): Idempotent writes for the machine API: a client that retries a request with the same `Idempotency-Key` gets the first answer back, and never a second write. - [PhoenixKit.API.Keys](PhoenixKit.API.Keys.md): API keys: creating, verifying, revoking and rotating the bearer tokens of the admin API. - [PhoenixKit.API.Keys.CIDR](PhoenixKit.API.Keys.CIDR.md): The IP allow-list of an API key: a list of CIDR blocks stored as text. - [PhoenixKit.API.Keys.Cache](PhoenixKit.API.Keys.Cache.md): A 60 second cache of API key rows, keyed by token prefix. - [PhoenixKit.API.Keys.DisplayToken](PhoenixKit.API.Keys.DisplayToken.md): A one-time token held by the Settings LiveView. Inspection redacts its value so LiveView termination reports cannot print it; HTML rendering still shows it once. - [PhoenixKit.API.Keys.Token](PhoenixKit.API.Keys.Token.md): The API key token format: `pk__`. - [PhoenixKit.API.Legacy](PhoenixKit.API.Legacy.md): Every name the machine API had before it was made module-neutral, in one place. The rest of `PhoenixKit.API` knows no module (a guard test fails when it spells one), so the day the deprecation window closes this file is deleted and only its callers are touched: `PhoenixKit.API.Paths`, the fallback in `PhoenixKit.API.Config.rate_limits/0` (with `rate_limits_without_fallback/0`, which exists only for it), the Settings -> API form's `write_limits`, `PhoenixKit.API.Problem` (the four error codes of the shop), `PhoenixKit.API.Executor` (the client token of a tool that declares none) and `PhoenixKit.API.Idempotency` (the credential names and markers of the old checkout links). - [PhoenixKit.API.LogSafe](PhoenixKit.API.LogSafe.md): What the API may write to the server log about a term that came from a request or from code that handled one. - [PhoenixKit.API.MCP](PhoenixKit.API.MCP.md): The MCP transport of the machine API: Model Context Protocol over Streamable HTTP, tools only, stateless, JSON answers only. A plug that the router `forward`s to, once per audience - [PhoenixKit.API.MCP.Names](PhoenixKit.API.MCP.Names.md): Tool names on MCP. - [PhoenixKit.API.MCP.Origin](PhoenixKit.API.MCP.Origin.md): The `Origin` check of the MCP transport, against DNS rebinding. - [PhoenixKit.API.MCP.Rpc](PhoenixKit.API.MCP.Rpc.md): The JSON-RPC 2.0 envelope of the MCP transport: classifying a decoded request body and building and sending answers. - [PhoenixKit.API.MCP.Shape](PhoenixKit.API.MCP.Shape.md): How tools, results and errors look on MCP. - [PhoenixKit.API.MCP.Versions](PhoenixKit.API.MCP.Versions.md): The MCP protocol revisions this server knows, and which of them it speaks. - [PhoenixKit.API.OpenAPI](PhoenixKit.API.OpenAPI.md): The OpenAPI 3.1 document of the machine API, generated from the tool registry. - [PhoenixKit.API.OutputShape](PhoenixKit.API.OutputShape.md): The output schema a client is told a tool answers with: MCP's `outputSchema` and the `200` response of the OpenAPI document. - [PhoenixKit.API.Paths](PhoenixKit.API.Paths.md): The one table of API paths. The router macro (`PhoenixKitWeb.Integration`) forwards every entry to its plug, and `PhoenixKit.API.BodyGuard` guards every entry, so the two cannot disagree about where the API lives. - [PhoenixKit.API.Problem](PhoenixKit.API.Problem.md): RFC 9457 `application/problem+json` errors for the machine API. - [PhoenixKit.API.PublicDiscovery](PhoenixKit.API.PublicDiscovery.md): What the install publishes, without a key, about its public API: the guide `GET /mcp`, the API catalog `/.well-known/api-catalog` (RFC 9727), the `Link` headers that point to them and the API section of `/llms.txt`. - [PhoenixKit.API.PublicDiscovery.Accept](PhoenixKit.API.PublicDiscovery.Accept.md): Which representation of the public guide (`GET /mcp`) a request gets. - [PhoenixKit.API.PublicDiscovery.Guide](PhoenixKit.API.PublicDiscovery.Guide.md): The content of the public guide (`GET /mcp`) as data: a title, links and a list of sections, each a list of blocks. The two renderers (`PhoenixKit.API.PublicDiscovery.GuideHTML`, `PhoenixKit.API.PublicDiscovery.GuideMarkdown`) only lay it out, so the words are chosen, and translated, here. - [PhoenixKit.API.PublicDiscovery.GuideHTML](PhoenixKit.API.PublicDiscovery.GuideHTML.md): The public guide (`PhoenixKit.API.PublicDiscovery.Guide`) as one small, self-contained HTML document: inline CSS, no script, no layout of the host app, no external resource. Everything that comes from the guide, including a tool's declared description, is escaped and shown as text. - [PhoenixKit.API.PublicDiscovery.GuideMarkdown](PhoenixKit.API.PublicDiscovery.GuideMarkdown.md): The public guide (`PhoenixKit.API.PublicDiscovery.Guide`) as Markdown, for `?format=md` and clients that ask for `text/markdown`. - [PhoenixKit.API.REST](PhoenixKit.API.REST.md): The REST transport of the machine API: a plug that the router `forward`s to, once per audience. - [PhoenixKit.API.RateLimit](PhoenixKit.API.RateLimit.md): Rate limits of the machine API. - [PhoenixKit.API.Registry](PhoenixKit.API.Registry.md): The tools the API can serve right now. - [PhoenixKit.API.RequestContext](PhoenixKit.API.RequestContext.md): What the API knows about the request besides who sent it: the language and currency to answer in, the hosts this install serves, and the base URL for absolute links. - [PhoenixKit.API.ServiceUsers](PhoenixKit.API.ServiceUsers.md): Service users: accounts that exist only to own API keys. - [PhoenixKit.API.Tool](PhoenixKit.API.Tool.md): One operation a module offers through the API (REST today, MCP later). - [PhoenixKit.API.ToolLint](PhoenixKit.API.ToolLint.md): Static checks for API tools, for the test suite of every module that declares `c:PhoenixKit.Module.api_tools/0`. - [PhoenixKit.API.Validator](PhoenixKit.API.Validator.md): A small JSON Schema validator for the input of API tools. - [PhoenixKit.Activity](PhoenixKit.Activity.md): Activity feed for tracking business-level actions across the platform. - [PhoenixKit.Annotations](PhoenixKit.Annotations.md): Context for `phoenix_kit_annotations` — drawn-on-image shapes created via the Etcher overlay layer in the MediaBrowser modal. - [PhoenixKit.AuditLog](PhoenixKit.AuditLog.md): Context for managing audit logs in PhoenixKit. - [PhoenixKit.Cache](PhoenixKit.Cache.md): Generic caching system for PhoenixKit with ETS-backed storage. - [PhoenixKit.Cache.Registry](PhoenixKit.Cache.Registry.md): Lightweight Registry wrapper for PhoenixKit.Cache instances. - [PhoenixKit.Config](PhoenixKit.Config.md): Configuration management system for PhoenixKit. - [PhoenixKit.Dashboard](PhoenixKit.Dashboard.md): User Dashboard Tab Management System. - [PhoenixKit.Dashboard.Badge](PhoenixKit.Dashboard.Badge.md): Defines badge types for dashboard tab indicators. - [PhoenixKit.Dashboard.ContextSelector](PhoenixKit.Dashboard.ContextSelector.md): Configuration and helpers for the dashboard context selector. - [PhoenixKit.Dashboard.Group](PhoenixKit.Dashboard.Group.md): Struct representing a dashboard tab group. - [PhoenixKit.Dashboard.Registry](PhoenixKit.Dashboard.Registry.md): Registry for managing dashboard tabs across the application. - [PhoenixKit.Dashboard.Tab](PhoenixKit.Dashboard.Tab.md): Defines the Tab struct and related types for the user dashboard navigation system. - [PhoenixKit.HeaderWidget](PhoenixKit.HeaderWidget.md): A sticky LiveView a module puts into the admin header, before the notifications bell (`c:PhoenixKit.Module.header_widgets/0`). - [PhoenixKit.Integrations](PhoenixKit.Integrations.md): Centralized management of external service integrations. - [PhoenixKit.Jobs](PhoenixKit.Jobs.md): Job runs: long background work an admin can watch and control. - [PhoenixKit.KnownPackages](PhoenixKit.KnownPackages.md): Live catalog of known external PhoenixKit packages fetched from Hex.pm. - [PhoenixKit.LayoutConfig](PhoenixKit.LayoutConfig.md): Configuration manager for PhoenixKit layout integration. - [PhoenixKit.Mailer](PhoenixKit.Mailer.md): Mailer module for PhoenixKit emails. - [PhoenixKit.Mailer.SmtpEndpointPolicy](PhoenixKit.Mailer.SmtpEndpointPolicy.md): Where a personal SMTP connection may make the server connect to. - [PhoenixKit.Mailer.SmtpTransport](PhoenixKit.Mailer.SmtpTransport.md): Builds the gen_smtp/Swoosh connection options for an SMTP integration. - [PhoenixKit.Mentions](PhoenixKit.Mentions.md): Cross-module `@` pings and `#` record links. - [PhoenixKit.Migration](PhoenixKit.Migration.md): Migrations create and modify the database tables PhoenixKit needs to function. - [PhoenixKit.Module](PhoenixKit.Module.md): Behaviour for PhoenixKit feature modules (internal and external). - [PhoenixKit.ModuleDiscovery](PhoenixKit.ModuleDiscovery.md): Zero-config auto-discovery of external PhoenixKit modules. - [PhoenixKit.ModuleRegistry](PhoenixKit.ModuleRegistry.md): Runtime registry of all PhoenixKit modules (internal and external). - [PhoenixKit.Notifications](PhoenixKit.Notifications.md): Per-user notifications driven by `PhoenixKit.Activity`. - [PhoenixKit.ObanCrons](PhoenixKit.ObanCrons.md): The Oban cron jobs installed modules declare, so a host does not have to copy them into its config by hand. - [PhoenixKit.ObanQueues](PhoenixKit.ObanQueues.md): The Oban queues PhoenixKit and its modules need, declared where the work is defined rather than hand-copied into a host's config. - [PhoenixKit.ObanSchema](PhoenixKit.ObanSchema.md): Keeps a host's Oban schema in step with the Oban library it runs. - [PhoenixKit.ProfileSettingsTab](PhoenixKit.ProfileSettingsTab.md): A tab a host application or a module adds to the signed-in user's settings strip, `/profile/settings/` (`PhoenixKitWeb.Components.ProfileSettingsTabs`). - [PhoenixKit.PubSub.Manager](PhoenixKit.PubSub.Manager.md): PubSub Manager for PhoenixKit admin live updates. - [PhoenixKit.PubSubHelper](PhoenixKit.PubSubHelper.md): Helper for dynamically resolving the PubSub server to use. - [PhoenixKit.RepoHelper](PhoenixKit.RepoHelper.md): Helper for dynamically resolving the repository to use. - [PhoenixKit.ResourceLinks](PhoenixKit.ResourceLinks.md): Resolves `(resource_type, resource_uuid)` pairs into navigable deep-links to the underlying resource — the record an action happened on or a comment is attached to. - [PhoenixKit.ScheduledJobs](PhoenixKit.ScheduledJobs.md): Context module for managing scheduled jobs. - [PhoenixKit.SchemaPrefix](PhoenixKit.SchemaPrefix.md): Applies the configured schema prefix to a PhoenixKit Ecto schema. - [PhoenixKit.Settings](PhoenixKit.Settings.md): The Settings context for system configuration management. - [PhoenixKit.System.Dependencies](PhoenixKit.System.Dependencies.md): System dependency checker for PhoenixKit. - [PhoenixKit.Test.Fixtures](PhoenixKit.Test.Fixtures.md): Test fixtures and session helpers for host applications. - [PhoenixKit.ThemeConfig](PhoenixKit.ThemeConfig.md): Theme configuration utilities for PhoenixKit's DaisyUI integration. - [PhoenixKit.UploadsParentFolder](PhoenixKit.UploadsParentFolder.md): Host hook for core's own uploads (user avatars, branding logos, media selector uploads with a scope) - [PhoenixKit.Users.ActiveRole](PhoenixKit.Users.ActiveRole.md): The role a session is currently *acting as*. - [PhoenixKit.Users.Auth](PhoenixKit.Users.Auth.md): The Auth context for user authentication and management. - [PhoenixKit.Users.Auth.Scope](PhoenixKit.Users.Auth.Scope.md): Scope module for encapsulating PhoenixKit authentication state. - [PhoenixKit.Users.Auth.SessionRef](PhoenixKit.Users.Auth.SessionRef.md): A live browser session as an actor, for code that runs on a person's behalf without a `Plug.Conn` (an assistant LiveView, a task it starts). - [PhoenixKit.Users.Auth.User](PhoenixKit.Users.Auth.User.md): User schema for PhoenixKit authentication system. - [PhoenixKit.Users.CustomFields](PhoenixKit.Users.CustomFields.md): Context for managing custom user field definitions. - [PhoenixKit.Users.FormatCountry](PhoenixKit.Users.FormatCountry.md): Which country's formats a user reads: `resolve/1`. - [PhoenixKit.Users.Invitations](PhoenixKit.Users.Invitations.md): Context for organization invitation lifecycle management. - [PhoenixKit.Users.MagicLink](PhoenixKit.Users.MagicLink.md): Magic Link authentication system for PhoenixKit. - [PhoenixKit.Users.Permissions](PhoenixKit.Users.Permissions.md): Context for module-level permissions in PhoenixKit. - [PhoenixKit.Users.Permissions.AdminGrants](PhoenixKit.Users.Permissions.AdminGrants.md): Boot-time grant of permission keys to the Admin role, with retry and a way to wait for it. - [PhoenixKit.Users.RateLimiter](PhoenixKit.Users.RateLimiter.md): Rate limiting for authentication endpoints to prevent brute-force attacks. - [PhoenixKit.Users.Roles](PhoenixKit.Users.Roles.md): API for managing user roles in PhoenixKit. - [PhoenixKit.Users.Sessions](PhoenixKit.Users.Sessions.md): Context for managing user sessions in PhoenixKit. - [PhoenixKit.Utils.CssValue](PhoenixKit.Utils.CssValue.md): Allowlist validation for operator-supplied values that are embedded in CSS. - [PhoenixKit.Utils.Date](PhoenixKit.Utils.Date.md): Date and time formatting utilities for PhoenixKit. - [PhoenixKit.Utils.FileHash](PhoenixKit.Utils.FileHash.md): Checksums of a file on disk, read in chunks. - [PhoenixKit.Utils.Format](PhoenixKit.Utils.Format.md): Workspace-shared formatting helpers for numeric / size values. - [PhoenixKit.Utils.Geolocation](PhoenixKit.Utils.Geolocation.md): IP Geolocation utilities for PhoenixKit. - [PhoenixKit.Utils.HeroIcons](PhoenixKit.Utils.HeroIcons.md): Curated list of Heroicons for use in the application. Icons are grouped by category for easy browsing. - [PhoenixKit.Utils.HtmlSanitizer](PhoenixKit.Utils.HtmlSanitizer.md): HTML sanitization for user-supplied rich text. - [PhoenixKit.Utils.IpAddress](PhoenixKit.Utils.IpAddress.md): Utilities for extracting and formatting IP addresses. - [PhoenixKit.Utils.Json](PhoenixKit.Utils.Json.md): Thin helper around Elixir's built-in `JSON` module (1.18+) for the one thing it doesn't provide: pretty-printing. - [PhoenixKit.Utils.Multilang](PhoenixKit.Utils.Multilang.md): Multi-language data transformation helpers for entity data JSONB. - [PhoenixKit.Utils.Number](PhoenixKit.Utils.Number.md): Number formatting and parsing utilities for PhoenixKit. - [PhoenixKit.Utils.Pagination](PhoenixKit.Utils.Pagination.md): Page-number arithmetic for paginated lists. - [PhoenixKit.Utils.PhoenixVersion](PhoenixKit.Utils.PhoenixVersion.md): Utilities for detecting and working with Phoenix framework versions. - [PhoenixKit.Utils.PublicAddress](PhoenixKit.Utils.PublicAddress.md): Whether an IP address is a globally routable unicast address — the only kind a server-side fetch of a user-supplied URL may connect to. - [PhoenixKit.Utils.RecipientLocale](PhoenixKit.Utils.RecipientLocale.md): Resolves which locale a message should be rendered in for a given recipient. - [PhoenixKit.Utils.Reorder](PhoenixKit.Utils.Reorder.md): Two-phase index rewrite for drag-to-reorder list views. - [PhoenixKit.Utils.Routes](PhoenixKit.Utils.Routes.md): Utility functions for working with PhoenixKit routes and URLs. - [PhoenixKit.Utils.SessionFingerprint](PhoenixKit.Utils.SessionFingerprint.md): Session fingerprinting utilities for preventing session hijacking. - [PhoenixKit.Utils.Slug](PhoenixKit.Utils.Slug.md): Helpers for generating consistent, URL-friendly slugs across PhoenixKit. - [PhoenixKit.Utils.TimeZone](PhoenixKit.Utils.TimeZone.md): Timezone identity for users and for the site: the picker list, the label for a stored value, and the one place a `DateTime` is moved into someone's zone. - [PhoenixKit.Utils.Tree](PhoenixKit.Utils.Tree.md): Nested trees for pickers (`PhoenixKitWeb.Components.TreePicker`): built from a flat, parent-linked list, and the pure operations a picker needs over them — so no module shows nested records as an indented flat list. - [PhoenixKit.Utils.TreeQuery](PhoenixKit.Utils.TreeQuery.md): Recursive queries over a self-referencing table — a schema whose rows point at a parent row of the same schema (`parent_uuid` by default). Each call is one recursive CTE: subtrees for cascades and moves, ancestors for breadcrumbs and cycle checks. - [PhoenixKit.Utils.UUID](PhoenixKit.Utils.UUID.md): Utilities for working with UUIDs. - [PhoenixKit.Utils.UserAgent](PhoenixKit.Utils.UserAgent.md): Deliberately small, allocation-light User-Agent sniffing. - [PhoenixKit.Utils.Values](PhoenixKit.Utils.Values.md): Small value-handling helpers used across the workspace. - [PhoenixKit.WebsiteAccess](PhoenixKit.WebsiteAccess.md): Website access: one settings page, a list of independently switchable features. - [PhoenixKitWeb](PhoenixKitWeb.md): The web interface for PhoenixKit. - [PhoenixKitWeb.Actor](PhoenixKitWeb.Actor.md): Who is acting, read from a LiveView socket, a `Plug.Conn` or an assigns map — the one place modules ask, instead of each reading its own assign. - [PhoenixKitWeb.AdminEditHelper](PhoenixKitWeb.AdminEditHelper.md): Public API for an "Edit" link from a public page into its matching admin page. - [PhoenixKitWeb.AnnotationBurnController](PhoenixKitWeb.AnnotationBurnController.md): Accepts a picture with its annotations already drawn into it, and stores that rendering as display variants. - [PhoenixKitWeb.AssetsController](PhoenixKitWeb.AssetsController.md): Controller for serving PhoenixKit static assets. - [PhoenixKitWeb.Attachments](PhoenixKitWeb.Attachments.md): The pieces every module's file form shares, so each upload behaves the same wherever it happens: the upload config, storing a finished upload into a record's folder, the messages people see, and the files grid's featured-image and order rules. - [PhoenixKitWeb.AuthRouter](PhoenixKitWeb.AuthRouter.md): Legacy authentication router for PhoenixKit. - [PhoenixKitWeb.CommentsForwarding](PhoenixKitWeb.CommentsForwarding.md): Forwards Leaf rich-text editor process messages to the optional `phoenix_kit_comments` package. - [PhoenixKitWeb.Components.AdminDock](PhoenixKitWeb.Components.AdminDock.md): The optional right-hand dock column of the admin layout, and the commands that open it. - [PhoenixKitWeb.Components.AdminNav](PhoenixKitWeb.Components.AdminNav.md): Admin navigation components for the PhoenixKit admin panel. Provides consistent navigation elements for both desktop sidebar and mobile drawer. - [PhoenixKitWeb.Components.AnnotationComposer](PhoenixKitWeb.Components.AnnotationComposer.md): Focused composer LiveComponent for attaching the *first* comment to a newly-drawn Etcher annotation in the MediaBrowser modal sidebar. - [PhoenixKitWeb.Components.AuthPageWrapper](PhoenixKitWeb.Components.AuthPageWrapper.md): Wrapper component for all auth pages (login, registration, etc.). - [PhoenixKitWeb.Components.FeaturedImage](PhoenixKitWeb.Components.FeaturedImage.md): One entity's "main image" control: a thumbnail, an always-visible actions menu (Change / Remove, plus View when a preview is wired up) and the whole media-picker protocol behind it. - [PhoenixKitWeb.Components.FolderExplorer](PhoenixKitWeb.Components.FolderExplorer.md): Reusable folder explorer sidebar — folder tree, navigation buttons, inline rename, and (optional) Trash / All Files / New Folder controls. - [PhoenixKitWeb.Components.ImageEditor](PhoenixKitWeb.Components.ImageEditor.md): Edits a stored image after upload — crop, rotate, flip, straighten, redact, brightness and contrast — through `PhoenixKit.Modules.Storage.ImageEditing`. - [PhoenixKitWeb.Components.InvitationBanner](PhoenixKitWeb.Components.InvitationBanner.md): Stacked alert banners for pending organization invitations. - [PhoenixKitWeb.Components.LanguageSwitcher](PhoenixKitWeb.Components.LanguageSwitcher.md): Shared language switcher component for PhoenixKit. - [PhoenixKitWeb.Components.LayoutWrapper](PhoenixKitWeb.Components.LayoutWrapper.md): Dynamic layout wrapper component for Phoenix v1.7- and v1.8+ compatibility. - [PhoenixKitWeb.Components.MediaBrowser](PhoenixKitWeb.Components.MediaBrowser.md): MediaBrowser LiveComponent — embeddable media management UI. - [PhoenixKitWeb.Components.MediaBrowser.Embed](PhoenixKitWeb.Components.MediaBrowser.Embed.md): One-line embedder for `PhoenixKitWeb.Components.MediaBrowser`. - [PhoenixKitWeb.Components.MediaBrowser.View](PhoenixKitWeb.Components.MediaBrowser.View.md): The media browser's template and the helpers it draws with. - [PhoenixKitWeb.Components.MediaCanvasViewer](PhoenixKitWeb.Components.MediaCanvasViewer.md): Per-file viewer LiveComponent: `` + `` for images, video / PDF / icon fallback for other types, plus a sidebar with filename + Download + metadata + comments thread. Owns the annotation lifecycle (composer popover, persistence sync via `EtcherAdapter`, the patch-shape / delete-shape JS bridges). - [PhoenixKitWeb.Components.MediaGallery](PhoenixKitWeb.Components.MediaGallery.md): A general-purpose LiveComponent for selecting, ordering, previewing and removing a set of images. - [PhoenixKitWeb.Components.MediaViewer](PhoenixKitWeb.Components.MediaViewer.md): Standalone media lightbox ("slide box") LiveComponent. - [PhoenixKitWeb.Components.MultilangForm](PhoenixKitWeb.Components.MultilangForm.md): Shared multilang form components and helpers for PhoenixKit modules. - [PhoenixKitWeb.Components.OAuthButtons](PhoenixKitWeb.Components.OAuthButtons.md): OAuth authentication buttons component for Google, GitHub, and Facebook Sign-In. - [PhoenixKitWeb.Components.ProfileSettingsTabs](PhoenixKitWeb.Components.ProfileSettingsTabs.md): The tabs of the signed-in user's own settings, `/profile/settings/`. - [PhoenixKitWeb.Components.ThemeBootstrap](PhoenixKitWeb.Components.ThemeBootstrap.md): The pre-paint theme setup — palettes plus the stamp script — renders in ``, before (or with) the stylesheets. - [PhoenixKitWeb.Components.ThemeControllerScript](PhoenixKitWeb.Components.ThemeControllerScript.md): The one theme-controller script — the behavior behind every element the `PhoenixKitWeb.Components.Core.ThemeController` picker renders. - [PhoenixKitWeb.Components.TreePicker](PhoenixKitWeb.Components.TreePicker.md): A searchable, collapsible tree for picking one record — or several — out of a nested set (a parent category, a folder, a page), instead of an indented flat `