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

    03 · Content

    beta

    CopyButton

    Copies a deterministic string and announces copied or failed state without moving focus.

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

    Component studio

    light · comfortable · LTR

    Authorization note · 04

    Trust is a relationship, not a role.

    Model the nouns first. Then make every decision explainable from the tuples that connect them.

    Read the evidence
    §01

    Contract

    Semantics first

    Anatomy

    Renders a native type=button with a polite live label; copied state is feedback, not a new dialog.

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

    Keyboard

    • Tab focuses the button.
    • Enter and Space request one clipboard write.
    • Focus remains on the button while its label reports the result.
    §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

    • data-fui-copy-button
    • data-fui-state="idle|copied|error"

    CSS tokens

    • --fui-copy-button-*
    • --fui-focus-color
    §03

    Consumption

    Solid, Vite & Astro

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

    Verification

    Evidence record

    Scheduled

    Automated

    Batch C tests cover successful and rejected clipboard writes, callback detail, disabled state, timer reset, and cleanup.

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

    Assistive technology

    Pending VoiceOver/Safari and NVDA/Firefox announcement timing check for copied and failed labels.

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

    Known issues

    • Clipboard access requires a secure context and may be denied by browser or OS policy.
    • The visible label changes temporarily; callers should keep its purpose understandable in every state.
    §05

    Editorial guidance

    Do / don’t

    Do

    Copy a single explicit value and provide localized success and failure labels.

    Don’t

    Do not copy on page load or hide a clipboard failure.

    Release activity

    CopyButton · 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 ContentCallout