About Manifests

Component extensions use manifests, which are TypeScript declarations that describe what your extension does, what it needs, and how the editor should work with it. The manifest is the contract between your code and the Wix platform.

What manifests do

Manifests act as a bridge between your component code and the editor, providing metadata that enables integration and configuration. They describe your component's interface and capabilities, including what values or functions it exposes to other components, what configuration options it offers to users, and how the editor should present those options through panels and controls. Manifests also tell the platform where to find your implementation code.

The manifest acts as metadata that the editor uses at multiple stages:

  • Editor time: Generates panels, enables drag-and-drop, shows connection options
  • Build time: Validates your extension and integrates it into your project
  • Runtime: Loads your code and passes the right props to your components

Manifest vs. code

The manifest (.extension.ts file) describes what your extension does by declaring its interface and capabilities. The implementation (.tsx file) implements how it does it by containing the actual React component or logic. These work together as a contract where the manifest promises certain values and functions, and your component code must deliver exactly what the manifest declares. This separation lets the editor understand your component's capabilities without running the code, enabling it to generate appropriate panels and connection options before your component ever renders.

How manifests differ from plain React

In traditional React, components receive data through direct prop passing, like <UserProfile user={currentUser} onUpdate={handleUpdate} />. Wix manifests create an indirect connection instead. Some props come from values a Wix user sets directly in the editor, declared in the component's data section. Others come from a Data Source. A Data Source is implemented as a context provider. Its manifest declares what it exposes, the component declares what it needs, and a Wix user can connect the 2 through binding. Either way, your component still receives the values as regular props, but the connection itself can be configured visually rather than written in code.

See also

Last updated: 2 November 2026

Did this help?