syntax = "proto3";
//flynt-disable package-matches-structure
package com.wixpress.appservice.api.upstream.wix.forms.v4.components;
option java_package = "com.wixpress.appservice.api.upstream.wix.forms.v4.components";

import "google/protobuf/wrappers.proto";
import "wix/api/validations.proto";
import "wix/api/annotations.proto";
import "components_catalog_data/form_template/com/wixpress/appservice/api/upstream/wix/forms/v4/components/common/custom_option.proto";


message ServicesDropdown {
  option (.wix.api.decomposite_of) = "wix.forms.v4.components.ServicesDropdown";
  // Label of the field
  google.protobuf.StringValue label = 1 [(.wix.api.maxLength) = 350, (.wix.api.translatable) = {
    name: "Services Dropdown Label"
    hidden: false
    grouping: "formFields"
    type: SHORT_TEXT
  }];
  // Flag identifying to hide or not label
  // Default: true
  google.protobuf.BoolValue show_label = 2;
  // Placeholder of services dropdown input
  google.protobuf.StringValue placeholder = 3 [(.wix.api.maxLength) = 100, (.wix.api.translatable) = {
    name: "Services Dropdown Placeholder"
    hidden: false
    grouping: "formFields"
    type: SHORT_TEXT
  }];

  // List of service options to select from
  repeated Option options = 4 [(.wix.api.maxSize) = 400];
  // Option which can be specified by UoU, enabled when this object is specified.
  common.CustomOption custom_option = 5;

  message Option {
    option (.wix.api.decomposite_of) = "wix.forms.v4.components.ServicesDropdown.Option";
    // Service name/label
    google.protobuf.StringValue label = 1 [(.wix.api.maxLength) = 400];
    // Option id. Used as binding for translations. Corresponds to the Service ID.
    string id = 2 [(.wix.api.format) = GUID, (.wix.api.immutable) = true];
    // Selectable option value, which is saved to DB. Corresponds to the Service ID.
    google.protobuf.StringValue value = 3 [(.wix.api.format) = GUID, (.wix.api.immutable) = true];
  }
}
