// flynt-disable missing-entity-id-field

syntax = "proto3";

package com.wixpress.appservice.api;

import "wix/api/validations.proto";
import "wix/api/annotations.proto";
import "wix/api/entity.proto";
import "components_catalog_data/editor_react_component/editor_element.proto";
import "components_catalog_data/editor_react_component/resources.proto";
import "components_catalog_data/editor_react_component/installation.proto";
import "components_catalog_data/editor_react_component/archetype.proto";

// The full model for an imported component set in DEV Center
message EditorReactComponent {
  option (.wix.api.entity) = {
    fqdn: "wix.components.manifest.v1.editor_react_component"
    segment: PUBLIC
  };
  // The type of component to present in the Page tree, will be prefixed with AppSlug
  string type = 1 [(.wix.api.maxLength) = 100, (.wix.api.minLength) = 5];
  // The public description of the component do display
  string description = 2 [(.wix.api.maxLength) = 300, (.wix.api.minLength) = 3, (.wix.api.translatable) = {
    type: LONG_TEXT
  }];
  // List of component resources. This comprises any runtime code we need to load and execute for the component.
  Resources resources = 3;
  // The configuration describing the component abilities and behaviors on the Editor stage
  EditorElement editor_element = 4;
  // The installation settings of the component
  InstallationInfo installation = 5;
  // The Archetype this component adheres to, to be used for classification by AI models
  ArchetypeEnum.Archetype archetype = 6 [deprecated = true, (.wix.api.field_deprecated) = {
    replaced_by: "editor_element.archetype",
    target_removal_date: "2026-06-30"
  }];
}