Preview controls could not be applied. The static default fixture remains available.
§01
Contract
Semantics first
Anatomy
Keeps a native file input for browser/OS selection and form submission; the visible button forwards activation and the summary is polite.
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 visible choose-file button.
Enter and Space open the platform file chooser.
The operating system owns chooser keyboard and cancellation behavior.
§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.
import FileTrigger from 'PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED/FileTrigger';
<FileTrigger>Frauthy content</FileTrigger>
Astroisland
---
import FileTrigger from 'PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED/FileTrigger';
---
<FileTrigger client:visible>Frauthy content</FileTrigger>
§04
Verification
Evidence record
Scheduled
Automated
Batch D form tests cover input/button relationships, accepted types, multiple selection summary, selection/reset events, disabled/error state, and native form ownership.
Target
Brand 1.0.0-next.0 matrix
Last verified
Pending integrated G2 run
Required
Assistive technology
Pending VoiceOver/Safari and NVDA/Firefox trigger/summary verification plus one platform file-picker smoke.
Desktop
VoiceOver/Safari · NVDA/Firefox
Touch
Required for touch-centric behavior
Open
Known issues
Browser security prevents controlling or restoring a native file value from script.
Selected file names may contain sensitive information; do not mirror them into analytics or logs.
§05
Editorial guidance
Do / don’t
Do
State accepted file types and limits before the trigger and validate again on the server.
Don’t
Do not imply upload completion when the user has only selected a local file.
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.