Skip to content

feat(ui): add bindable component metadata contracts - #54

Merged
artiphishle merged 3 commits into
mainfrom
feat/bindable-component-metadata-contracts
May 19, 2026
Merged

feat(ui): add bindable component metadata contracts#54
artiphishle merged 3 commits into
mainfrom
feat/bindable-component-metadata-contracts

Conversation

@artiphishle

Copy link
Copy Markdown
Contributor

Summary

Implements #49.

Adds bindable metadata contracts to the neutral UiComponentMeta model so UI packages can declare which component props and events are data-bindable.

Adds:

  • UiBindableValueType
  • UiBindableValueFieldMeta
  • UiBindableValueMeta
  • UiBindablePropMeta
  • UiBindableEventPayloadMeta
  • UiBindableEventMeta
  • UiComponentBindingMeta
  • optional bindings field on UiComponentMeta

Also adds serialization tests for:

  • bindable Button props/events
  • bindable List collection item fields/events
  • metadata registries with bindable props
  • extension package manifests with bindable props/events

Scope intentionally excluded

Verification

I could not run local validation from this session because the environment cannot reliably clone/resolve GitHub repositories.

Please run before merge:

bun install
bun run build
bun run lint:fix
bun run test

Notes

This PR extends the generic component metadata model from #46. It does not define concrete app/component instance bindings; that remains the next step in #48.

@artiphishle
artiphishle marked this pull request as ready for review May 19, 2026 18:40
@artiphishle
artiphishle merged commit 17b8d75 into main May 19, 2026
1 check passed
@artiphishle
artiphishle deleted the feat/bindable-component-metadata-contracts branch May 19, 2026 18:41
@artiphishle artiphishle self-assigned this May 19, 2026
@artiphishle artiphishle linked an issue May 19, 2026 that may be closed by this pull request
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

03 — Add shared bindable component metadata contracts

1 participant