// flynt-disable missing-string-validations
// flynt-disable missing-deprecated-field-annotation

syntax = "proto3";

package wix.rich_content.v1;

import "wix/rich_content/v1/common.proto";
import "google/protobuf/wrappers.proto";
import "wix/api/annotations.proto";
import "wix/api/validations.proto";

message ButtonData {
    message Styles {
        message Colors {
            google.protobuf.StringValue text = 1 [deprecated = true]; // Deprecated: Use `textColor` in `styles` instead.
            google.protobuf.StringValue border = 2 [deprecated = true]; // Deprecated: Use `borderColor` in `styles` instead.
            google.protobuf.StringValue background = 3 [deprecated = true]; // Deprecated: Use `backgroundColor` in `styles` instead.
        }

        message Border {
            google.protobuf.Int32Value width = 1 [deprecated = true]; // Deprecated: Use `borderWidth` in `styles` instead.
            google.protobuf.Int32Value radius = 2 [deprecated = true]; // Deprecated: Use `borderRadius` in `styles` instead.
        }
        Border border = 1 [deprecated = true]; // Deprecated: Use `borderWidth` and `borderRadius` instead.
        Colors colors = 2 [deprecated = true]; // Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.

        google.protobuf.Int32Value border_width = 3; // Border width in pixels.
        google.protobuf.Int32Value border_width_hover = 4 [deprecated = true]; // Deprecated: Use `borderWidth` for normal/hover states instead.
        google.protobuf.Int32Value border_radius = 5; // Border radius in pixels.
        google.protobuf.StringValue border_color = 7 [(wix.api.format) = COLOR_HEX]; // Border color as a hexadecimal value.
        google.protobuf.StringValue border_color_hover = 8 [(wix.api.format) = COLOR_HEX]; // Border color as a hexadecimal value (hover state).

        google.protobuf.StringValue text_color = 9 [(wix.api.format) = COLOR_HEX]; // Text color as a hexadecimal value.
        google.protobuf.StringValue text_color_hover = 10 [(wix.api.format) = COLOR_HEX]; // Text color as a hexadecimal value (hover state).

        google.protobuf.StringValue background_color = 13 [(wix.api.format) = COLOR_HEX]; // Background color as a hexadecimal value.
        google.protobuf.StringValue background_color_hover = 14 [(wix.api.format) = COLOR_HEX]; // Background color as a hexadecimal value (hover state).

        google.protobuf.StringValue button_size = 15; // Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`.
    }

    enum Type {
        LINK = 0; // Regular link button
        ACTION = 1; // Triggers custom action that is defined in plugin configuration by the consumer
    }

    PluginContainerData container_data = 1; // Styling for the button's container.
    Type type = 2; // The button type.
    Styles styles = 3; // Styling for the button.
    google.protobuf.StringValue text = 4; // The text to display on the button.
    Link link = 5; // Button link details.
}

