import { registerBlockType } from "@wordpress/blocks";

import "./editor.scss";

import Edit from "./edit";

import SideconvoIcon from "./icon";

registerBlockType("sideconvo/cta-button", {
  example: {
    attributes: {
      title: "",
    },
  },
  icon: SideconvoIcon,
  attributes: {
    title: {
      type: "string",
      default: "",
    },
    customAttributes: {
      type: "array",
      default: [
        { key: "data-sideconvo-message", value: "" },
        { key: "data-sideconvo-mode", value: "CHAT" },
      ],
    },
    backgroundColor: {
      type: "string",
      default: "#701471",
    },
    textColor: {
      type: "string",
      default: "#ffffff",
    },
    resizeMode: {
      type: "string",
      default: "static",
    },
    borderRadius: {
      type: "number",
      default: 20,
    },
    buttonHeight: {
      type: "number",
      default: 32,
    },
    buttonHeightOption: {
      type: "string",
      default: "regular",
    },
    fontSize: {
      type: "number",
      default: 13,
    },
    logoOption: {
      type: "string",
      default: "genstars-white",
    },
    customLogoUrl: {
      type: "string",
      default: "",
    },
    customLogos: {
      type: "array",
      default: [],
    },
    buttonStyle: {
      type: "string",
      default: "animated",
    },
    gradientColor1: {
      type: "string",
      default: "#b3425a",
    },
    gradientColor2: {
      type: "string",
      default: "#7c3aed",
    },
    borderColor: {
      type: "string",
      default: "#b3425a",
    },
    borderStyle: {
      type: "string",
      default: "none",
    },
    borderType: {
      type: "string",
      default: "none",
    },
    borderGradientColor1: {
      type: "string",
      default: "#b3425a",
    },
    borderGradientColor2: {
      type: "string",
      default: "#7c3aed",
    },
    themeCustomizable: {
      type: "boolean",
      default: false,
    },
    darkModeBackgroundColor: {
      type: "string",
      default: "#181a20",
    },
    darkModeTextColor: {
      type: "string",
      default: "#ffffff",
    },
    darkModeLogoOption: {
      type: "string",
      default: "genstars-white",
    },
    darkModeBackgroundType: {
      type: "string",
      default: "solid",
    },
    darkModeGradientColor1: {
      type: "string",
      default: "#b3425a",
    },
    darkModeGradientColor2: {
      type: "string",
      default: "#7c3aed",
    },
    interactiveButton: {
      type: "boolean",
      default: false,
    },
    interactiveTexts: {
      type: "array",
      default: [],
    },
    collapseAtEnd: {
      type: "boolean",
      default: true,
    },
    marginTop: {
      type: "string",
      default: "0px",
    },
    marginRight: {
      type: "string",
      default: "0px",
    },
    marginBottom: {
      type: "string",
      default: "0px",
    },
    marginLeft: {
      type: "string",
      default: "0px",
    },
    marginLinked: {
      type: "boolean",
      default: true,
    },
    marginPreset: {
      type: "string",
      default: "none",
    },
    forceInit: {
      type: "boolean",
      default: false,
    },
  },
  title: "Sideconvo Button",
  category: "widgets",

  edit: Edit,

  save: () => {
    return null;
  },
});
