Skip to content
Frauthy Brand
Frauthy index

Go anywhere.

    No exact contract found. Try a component family, product name, prop, or keyboard key.

    ↑↓ move↵ openesc close

    01 · Foundations

    beta

    Portal

    Moves overlay content to a caller-selected DOM mount while preserving meaningful SSR output in place.

    Since
    1.0.0-next.0
    Owner
    Brand Core
    Export
    PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED/Portal
    Release
    Documentation version
    Deterministic fixture · default state

    Component studio

    light · comfortable · LTR
    Keyboard focusCanvasRaised

    Locale-aware foundations keep permissions, direction, and reading scale independent.

    §01

    Contract

    Semantics first

    Anatomy

    Introduces no wrapper or role; children retain their semantics at the client mount and, by default, in the SSR fallback location.

    Consumer classes, styles, and data attributes may extend the surface, but required roles, IDs, relationships, and handlers remain owned by the component.

    Keyboard

    • No keyboard behavior of its own; portalled descendants retain their documented focus order.
    • Mount order must not create a surprising reading or focus sequence.
    §02

    Public surface

    API & styling

    Props

    id
    Explicit IDs override stable generated IDs.
    class / style
    Consumer additions compose with required styles.
    ref
    Element or callback where focus control is expected.
    children
    Typed content; raw HTML strings are never rendered.

    Slots & events

    children
    Primary content slot.
    onChange
    Typed value plus a small reason object when state changes.
    native events
    Composed without overwriting required handlers.

    State attributes

    • (no wrapper or public data attribute)

    CSS tokens

    • --fui-overlay-z-index
    §03

    Consumption

    Solid, Vite & Astro

    Solid / VitePRIVATE_BETA_PACKAGE_COORDINATE_REDACTED/Portal
    import Portal from 'PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED/Portal';
    
    <Portal>Frauthy content</Portal>
    Astroisland
    ---
    import Portal from 'PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED/Portal';
    ---
    
    <Portal client:visible>Frauthy content</Portal>
    §04

    Verification

    Evidence record

    Scheduled

    Automated

    Batch C coverage verifies server fallback output, client-only opt-out, and explicit mount behavior; integrated axe remains part of the Portal route matrix.

    Target
    Brand 1.0.0-next.0 matrix
    Last verified
    Pending integrated G2 run
    Required

    Assistive technology

    Pending VoiceOver/Safari and NVDA/Firefox reading-order verification with Dialog and Popover mounts.

    Desktop
    VoiceOver/Safari · NVDA/Firefox
    Touch
    Not required for beta
    Open

    Known issues

    • Setting ssrFallback=false intentionally omits the children from server output.
    • A mount outside the logical reading sequence can make focus restoration confusing even when the DOM move succeeds.
    §05

    Editorial guidance

    Do / don’t

    Do

    Use one deliberate overlay mount near the application root and keep the trigger-to-content relationship explicit.

    Don’t

    Do not portal ordinary document content merely to escape layout CSS.

    Release activity

    Portal · Brand Core

    1 recorded change · 26 weeks
    1. 1.0.0-next.3

      Baseline public component contract.

    Version & provenance

    New in the v2 architecture

    There is no stable predecessor for this explicit compiled subpath. The v1 compatibility layer remains tested separately; visual and API diffs begin with the next prerelease.

    Current
    1.0.0-next.0
    Previous
    compatibility surface
    Deprecation
    none
    Replacement
    not applicable
    Next in FoundationsProvider