Skip to main content

Adapter Support

Adapters project framework props, slots, and callbacks onto Looma's declarative component contracts. They create native roots directly and do not own separate component behavior.

Release 1 status

AdapterStatusRelease 1 promise
@threadlabs/looma/vuePublishedNamed wrappers for every published layout and core element
@threadlabs/looma/vue/editorPublishedNamed wrappers for all 7 published editor elements plus Looma editor helpers
ReactIn developmentNot published

Vue and direct declarative HTML examples are the supported public paths.

Vue mapping

The source-derived release check requires a named Vue projection and export for every published element:

FamilyPublished elementsVue names
Layoutui-stack, ui-cluster, ui-grid, ui-container, ui-switcher, ui-sidebar, ui-reel, ui-separatorSame names in PascalCase
Actions and formsui-button, ui-icon-button, ui-input, ui-select, ui-textarea, ui-form-field, ui-checkbox, ui-switch, ui-radio, ui-radio-groupSame names in PascalCase
Overlays, affordances, and navigationui-affordance-scope, ui-dialog, ui-popover, ui-menu, ui-menu-item, ui-context-menu, ui-tooltip, ui-tabs, ui-disclosure, ui-tree, ui-tree-itemSame names in PascalCase
Display and app shellui-avatar, ui-avatar-group, ui-badge, ui-callout, ui-toast-region, ui-search-shell, ui-search-result-row, ui-top-barSame names in PascalCase
EditorSeven ui-editor-* componentsEditor* named wrappers

Event and SSR rules

  • Vue wrappers preserve Looma event names and detail payloads.
  • Adapter modules must import in a server process without browser globals.
  • Wrappers attach the same definitions and controllers used by direct HTML invocations.
  • Wrappers preserve authored semantic fallback content instead of replacing it with framework-only markup.
  • A missing projection or named export is a release defect.