API reference
SymbioteNative has one native engine, but each adapter exposes that engine through its framework’s API conventions. The reference is organized around that split.
Framework APIs
Section titled “Framework APIs”- React API — callback props, React children, React refs,
and React Native-like imports from
@symbiote-native/react. - Vue API — typed emits, slots, Vue refs, kebab-case template
attributes, and imports from
@symbiote-native/vue. - Angular API — real
@Output()EventEmitters,<ng-content>projection, standalone components, and imports from@symbiote-native/angular. - Svelte API — a DOM shim over stock compiled Svelte
output, so components are ordinary Svelte markup with
bind:, events, and slots working as-is. Imports come from@symbiote-native/svelte. - Solid API - signals and effects for lifecycle,
classfor styling, and a render-prop child (Pressable, listrenderItem) that takes a SolidAccessorrather than a snapshot value. Imports come from@symbiote-native/solid. Implemented, tested, and verified on device like the other four adapters.
Shared APIs
Section titled “Shared APIs”- Components matrix — what components exist and how React, Vue, Angular, Svelte, and Solid differ for props, events, slots/snippets/children, and handles.
- Core API —
@symbiote-native/engineand@symbiote-native/components, the shared layers that keep adapters thin.
How to read component docs
Section titled “How to read component docs”Each component API should answer four questions:
- What props are shared across frameworks?
- Which events are React callbacks, Vue emits, or Angular
@Output()EventEmitters? - Does the component take children, slots, or
<ng-content>projection? - Does it expose an imperative handle, and how does each framework access it?
This is why the docs avoid pretending every framework has identical props. The native behavior is shared; the public contract is idiomatic per framework.