{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/proactions-ai-kit-configuration/_shared/latest--partial-floatingMenu.schema.json",
  "title": "ProActions Floating Menu Schema",
  "description": "Configuration for floating menus",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/em-al-wi/proactions-schema/main/schema/partial-floatingMenu.schema.json",
    "sourceSha256": "c941abe25d64535434846165c3a2b6238ed752f4314c65de4053ddd709c0cf41"
  },
  "type": "object",
  "additionalProperties": {
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "description": "Menu items to display",
        "items": {
          "oneOf": [
            {
              "type": "object",
              "required": [
                "type",
                "title",
                "flowRef"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "button",
                  "description": "Button element"
                },
                "icon": {
                  "type": "string",
                  "description": "Icon identifier"
                },
                "iconHtml": {
                  "type": "string",
                  "description": "Custom HTML for icon"
                },
                "title": {
                  "type": "string",
                  "description": "Button text"
                },
                "flowRef": {
                  "type": "string",
                  "description": "Flow to execute"
                },
                "forContentItem": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ],
                  "description": "Content types where this appears"
                },
                "forElement": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ],
                  "description": "Elements where this appears"
                },
                "forTag": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ],
                  "description": "Tags where this appears"
                }
              }
            },
            {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "separator",
                  "description": "Separator element"
                },
                "forContentItem": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ],
                  "description": "Content types where this appears"
                },
                "forElement": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ],
                  "description": "Elements where this appears"
                },
                "forTag": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ],
                  "description": "Tags where this appears"
                }
              }
            }
          ]
        }
      }
    }
  }
}
