Skip to content

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.

  • 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. A dedicated reference page isn’t written yet; see adapters/svelte on GitHub in the meantime.
  • Components matrix — what components exist and how React, Vue, and Angular differ for props, events, slots, and handles. Svelte isn’t in this matrix yet.
  • Core API@symbiote-native/engine and @symbiote-native/components, the shared layers that keep adapters thin.

Each component API should answer four questions:

  1. What props are shared across frameworks?
  2. Which events are React callbacks, Vue emits, or Angular @Output() EventEmitters?
  3. Does the component take children, slots, or <ng-content> projection?
  4. 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.