module.exports = {
  "metadata": { "section": "Decorations" },
  "definitions": {
    "Decoration": {
      "discriminator": "type",
      "metadata": {
        "refUnion": [
          "BoldDecoration",
          "ItalicDecoration",
          "UnderlineDecoration",
          "SpoilerDecoration",
          "AnchorDecoration",
          "MentionDecoration",
          "LinkDecoration",
          "ColorDecoration",
          "FontSizeDecoration",
          "StrikethroughDecoration",
          "SuperscriptDecoration",
          "SubscriptDecoration",
          "FontFamilyDecoration",
          "SketchDecoration"
        ],
        "emitEnum": "Decoration_Type"
      }
    },
    "BoldDecoration": {
      "metadata": {
        "examples": ["bold"],
        "section": "Bold",
        "description": "Bolds text, which makes it appear thicker and more prominent than normal text."
      },
      "properties": {
        "type": {
          "enum": ["BOLD"],
          "metadata": {
            "description": "Decoration type. \n Must be `BOLD`."
          }
        }
      },
      "optionalProperties": {
        "fontWeightValue": {
          "type": "float32",
          "metadata": {
            "description": "Font weight."
          }
        }
      }
    },
    "ItalicDecoration": {
      "metadata": {
        "examples": ["italic"],
        "section": "Italic",
        "description": "Italicizes text, which makes it appear slanted or italicized. Italics are typically used for emphasis, citations, or to distinguish certain types of content."
      },
      "properties": {
        "type": {
          "enum": ["ITALIC"],
          "metadata": {
            "description": "Decoration type. \n Must be `ITALIC`."
          }
        }
      },
      "optionalProperties": {
        "italicData": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to enable the italic text."
          }
        }
      }
    },
    "UnderlineDecoration": {
      "metadata": {
        "examples": ["underline"],
        "section": "Underline",
        "description": "Underlines text."
      },
      "properties": {
        "type": {
          "enum": ["UNDERLINE"],
          "metadata": {
            "description": "Decoration type. \nMust be `UNDERLINE`."
          }
        }
      },
      "optionalProperties": {
        "underlineData": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to underline the text."
          }
        }
      }
    },
    "StrikethroughDecoration": {
      "metadata": {
        "examples": ["strikethrough"],
        "section": "Strikethrough",
        "description": "Strikes-through text."
      },
      "properties": {
        "type": {
          "enum": ["STRIKETHROUGH"],
          "metadata": {
            "description": "Decoration type. \nMust be `STRIKETHROUGH`."
          }
        }
      },
      "optionalProperties": {
        "strikethroughData": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to strikethrough the text. Default: `true`."
          }
        }
      }
    },
    "SuperscriptDecoration": {
      "metadata": { "examples": ["superscript"], "section": "Superscript", "description": "Makes text appear smaller and raised above the baseline." },
      "properties": {
        "type": {
          "enum": ["SUPERSCRIPT"],
          "metadata": { "description": "Decoration type. \n Must be `SUPERSCRIPT`." }
        }
      },
      "optionalProperties": {
        "superscriptData": {
          "type": "boolean",
          "metadata": { "description": "Whether to make the text appear smaller and raised above the baseline." }
        }
      }
    },
    "SubscriptDecoration": {
      "metadata": { "examples": ["subscript"], "section": "Subscript", "description": "Makes text appear smaller and lowered below the baseline." },
      "properties": {
        "type": {
          "enum": ["SUBSCRIPT"],
          "metadata": { "description": "Decoration type. \n Must be `SUBSCRIPT`." }
        }
      },
      "optionalProperties": {
        "subscriptData": {
          "type": "boolean",
          "metadata": { "description": "Whether to make the text appear smaller and lowered below the baseline." }
        }
      }
    },
    "SpoilerDecoration": {
      "metadata": {
        "examples": ["spoiler"],
        "section": "Spoiler",
        "features": ["SPOILER"],
        "description": "Blurs text. <br> **Note:** This decoration requires the [`spoiler`](https://dev.wix.com/docs/ricos/getting-started/introduction#plugins) plugin to be enabled."
      },
      "properties": {
        "type": {
          "enum": ["SPOILER"],
          "metadata": {
            "description": "Decoration type. \n Must be `SPOILER`."
          }
        }
      },
      "optionalProperties": {
        "spoilerData": {
          "ref": "SpoilerData",
          "metadata": {
            "description": "Spoiler details."
          }
        }
      }
    },
    "AnchorDecoration": {
      "metadata": {
        "examples": ["anchor"],
        "section": "Anchor",
        "description": "Makes clickable text a different color. The link navigates to another section of the same page."
      },
      "properties": {
        "type": {
          "enum": ["ANCHOR"],
          "metadata": {
            "description": "Decoration type. \n Must be `ANCHOR`."
          }
        }
      },
      "optionalProperties": {
        "anchorData": {
          "ref": "AnchorData",
          "metadata": {
            "description": "Anchor details."
          }
        }
      }
    },
    "MentionDecoration": {
      "metadata": {
        "examples": ["mention"],
        "section": "Mention",
        "features": ["MENTION"],
        "description": "Text that mentions a specific user, often in social media platforms, forums, or content management systems. <br> **Note:** This decoration requires the [`mention`](https://dev.wix.com/docs/ricos/getting-started/introduction#plugins) plugin to be enabled."
      },
      "properties": {
        "type": {
          "enum": ["MENTION"],
          "metadata": {
            "description": "Decoration type. \n Must be `MENTION`."
          }
        }
      },
      "optionalProperties": {
        "mentionData": {
          "ref": "MentionData",
          "metadata": {
            "description": "Anchor details."
          }
        }
      }
    },
    "LinkDecoration": {
      "metadata": {
        "examples": ["link"],
        "section": "Link Decoration",
        "features": ["LINK"],
        "description": "Makes clickable text a different color. The link navigates to another webpage or resource. <br> **Note:** This decoration requires the [`link`](https://dev.wix.com/docs/ricos/getting-started/introduction#plugins) plugin to be enabled."
      },
      "properties": {
        "type": {
          "enum": ["LINK"],
          "metadata": {
            "description": "Decoration type. \n Must be `LINK`."
          }
        }
      },
      "optionalProperties": {
        "linkData": {
          "ref": "LinkData",
          "metadata": {
            "description": "Link details."
          }
        }
      }
    },
    "ColorDecoration": {
      "metadata": {
        "examples": ["color"],
        "section": "Color",
        "features": ["COLOR_DECORATION"],
        "description": "Styles text using background and text colors. <br> **Note:** This decoration requires the [`colorDecoration`](https://dev.wix.com/docs/ricos/getting-started/introduction#plugins) plugin to be enabled."
      },
      "properties": {
        "type": {
          "enum": ["COLOR"],
          "metadata": {
            "description": "Decoration type. \n Value: `COLOR`"
          }
        }
      },
      "optionalProperties": {
        "colorData": {
          "ref": "ColorData",
          "metadata": {
            "description": "Color details."
          }
        }
      }
    },
    "FontSizeDecoration": {
      "metadata": {
        "examples": ["font-size"],
        "section": "FontSize",
        "description": "Text font size."
      },
      "properties": {
        "type": {
          "enum": ["FONT_SIZE"],
          "metadata": {
            "description": "Decoration type. \n Must be `FONT_SIZE`."
          }
        }
      },
      "optionalProperties": {
        "fontSizeData": {
          "ref": "FontSizeData",
          "metadata": {
            "description": "Font size details."
          }
        }
      }
    },

    "AnchorData": {
      "metadata": { "section": "Anchor" },
      "optionalProperties": {
        "anchor": {
          "metadata": {
            "description": "Target Node ID to redirect to."
          },
          "type": "string"
        }
      }
    },
    "ColorData": {
      "metadata": { "section": "Color" },
      "optionalProperties": {
        "background": {
          "metadata": { "description": "Background color as a hexadecimal value." },
          "type": "string"
        },
        "foreground": {
          "metadata": { "description": "Text color as a hexadecimal value." },
          "type": "string"
        }
      }
    },
    "LinkData": {
      "metadata": { "section": "Link Decoration" },
      "optionalProperties": {
        "link": {
          "ref": "Link",
          "metadata": {
            "description": "Link object."
          }
        }
      }
    },
    "MentionData": {
      "metadata": { "section": "Mention" },
      "optionalProperties": {
        "name": {
          "type": "string",
          "metadata": { "description": "Display name of the mentioned user." }
        },
        "slug": {
          "type": "string",
          "metadata": {
            "description": "Username of the mentioned user. This is th text that appears after the \"@\"."
          }
        },
        "id": { "type": "string", "metadata": { "description": "ID of the mentioned user." } }
      }
    },
    "FontSizeData": {
      "metadata": { "section": "FontSize" },
      "properties": {
        "value": {
          "type": "float32",
          "metadata": {
            "description": "Font size value."
          }
        }
      },
      "optionalProperties": {
        "unit": {
          "metadata": {
            "description": "Font size units. \n Default: `PX`",
            "emitEnum": "FontSizeData_fontType"

          },
          "enum": ["PX", "EM"]
        }
       }
    },
    "FontFamilyDecoration": {
      "metadata": {
        "examples": ["font-family"],
        "section": "FontFamily",
        "features": ["FONT_FAMILY"],
        "description": "Text font family."
      },
      "properties": {
        "type": {
          "enum": ["FONT_FAMILY"],
          "metadata": {
            "description": "Decoration type. \n Must be `FONT_FAMILY`."
          }
        }
      },
      "optionalProperties": {
        "fontFamilyData": {
          "ref": "FontFamilyData",
          "metadata": {
            "description": "Font family details."
          }
        }
      }
    },
    "FontFamilyData": {
      "metadata": { "section": "FontFamily" },
      "optionalProperties": {
        "value": {
          "type": "string",
          "metadata": {
            "description": "Font family value."
          }
        }
      }
    },
    "SketchDecoration": {
      "metadata": {
        "examples": ["sketch-decoration"],
        "section": "Sketch",
        "features": ["SKETCH_DECORATION"],
        "description": "Hand-drawn sketch annotation drawn over the text using rough.js."
      },
      "properties": {
        "type": {
          "enum": ["SKETCH"],
          "metadata": {
            "description": "Decoration type. \n Must be `SKETCH`."
          }
        }
      },
      "optionalProperties": {
        "sketchData": {
          "ref": "SketchData",
          "metadata": {
            "description": "Data for a sketch decoration."
          }
        }
      }
    },
    "SketchData": {
      "metadata": { "section": "Sketch" },
      "properties": {
        "variant": {
          "metadata": {
            "emitEnum": "SketchData_Variant",
            "description": "The sketch annotation variant to draw."
          },
          "enum": ["UNDERLINE", "BOX", "CIRCLE", "HIGHLIGHT", "STRIKETHROUGH", "CROSSED_OFF"]
        }
      },
      "optionalProperties": {
        "color": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Annotation color. Defaults to the theme action color."
          }
        },
        "animate": {
          "type": "boolean",
          "metadata": {
            "description": "Whether the annotation animates on first paint. Defaults to `true`."
          }
        }
      }
    },
    "SpoilerData": {
      "metadata": { "section": "Spoiler" },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        }
      }
    }
  }
}