{
  "$schema": "https://schemas.wp.org/trunk/block.json",
  "apiVersion": 3,
  "title": "Slider",
  "name": "brandy/slider",
  "category": "brandy-blocks",
  "description": "Content slider: put any blocks inside each slide. Swipe, arrows, dots, loop and autoplay.",
  "keywords": [
    "slider",
    "carousel",
    "slides",
    "loop",
    "autoplay",
    "swipe",
    "marquee"
  ],
  "attributes": {
    "slidesPerView": {
      "type": "object",
      "default": {
        "desktop": 3,
        "tablet": 2,
        "mobile": 1
      }
    },
    "gap": {
      "type": "string",
      "default": "16px"
    },
    "loop": {
      "type": "boolean",
      "default": true
    },
    "autoplay": {
      "type": "boolean",
      "default": false
    },
    "autoplayMode": {
      "type": "string",
      "enum": [
        "step",
        "scroll"
      ],
      "default": "step"
    },
    "autoplayDelay": {
      "type": "number",
      "default": 4000
    },
    "autoScrollSpeed": {
      "type": "number",
      "default": 2
    },
    "pauseOnHover": {
      "type": "boolean",
      "default": false
    },
    "showArrows": {
      "type": "boolean",
      "default": true
    },
    "showDots": {
      "type": "boolean",
      "default": true
    },
    "controlsPlacement": {
      "type": "string",
      "default": ""
    },
    "controlsNav": {
      "type": "string",
      "default": ""
    },
    "controlsDots": {
      "type": "string",
      "default": ""
    },
    "controlsReveal": {
      "type": "string",
      "default": ""
    },
    "dimInactiveSlides": {
      "type": "boolean",
      "default": false
    },
    "fadeEdges": {
      "type": "boolean",
      "default": false
    },
    "fadeSize": {
      "type": "string",
      "default": "48px"
    },
    "controlsNavColors": {
      "type": "object",
      "default": {}
    },
    "controlsDotsColors": {
      "type": "object",
      "default": {}
    }
  },
  "allowedBlocks": [
    "brandy/slide"
  ],
  "example": {
    "viewportWidth": 1400,
    "attributes": {
      "slidesPerView": {
        "desktop": 3,
        "tablet": 2,
        "mobile": 1
      },
      "gap": "16px"
    },
    "innerBlocks": [
      {
        "name": "brandy/slide",
        "attributes": {},
        "innerBlocks": [
          {
            "name": "core/image",
            "attributes": {
              "url": "https://images.wpbrandy.com/uploads/skateboards-post-img-1.webp",
              "alt": "Deck art laid out on a workbench"
            }
          },
          {
            "name": "core/heading",
            "attributes": {
              "level": 3,
              "content": "Deck art"
            }
          },
          {
            "name": "core/paragraph",
            "attributes": {
              "content": "Hand-screened graphics, one deck at a time."
            }
          }
        ]
      },
      {
        "name": "brandy/slide",
        "attributes": {},
        "innerBlocks": [
          {
            "name": "core/image",
            "attributes": {
              "url": "https://images.wpbrandy.com/uploads/skateboards-post-img-2.webp",
              "alt": "Rider mid-trick at the park"
            }
          },
          {
            "name": "core/heading",
            "attributes": {
              "level": 3,
              "content": "Park sessions"
            }
          },
          {
            "name": "core/paragraph",
            "attributes": {
              "content": "Shot on a Tuesday, before the crowds."
            }
          }
        ]
      },
      {
        "name": "brandy/slide",
        "attributes": {},
        "innerBlocks": [
          {
            "name": "core/image",
            "attributes": {
              "url": "https://images.wpbrandy.com/uploads/skateboards-post-img-3.webp",
              "alt": "Wheels and bearings on a shop counter"
            }
          },
          {
            "name": "core/heading",
            "attributes": {
              "level": 3,
              "content": "Parts and setups"
            }
          },
          {
            "name": "core/paragraph",
            "attributes": {
              "content": "Every build starts with the right wheels."
            }
          }
        ]
      },
      {
        "name": "brandy/slide",
        "attributes": {},
        "innerBlocks": [
          {
            "name": "core/image",
            "attributes": {
              "url": "https://images.wpbrandy.com/uploads/feature-highlights-with-images-1-img-4.webp",
              "alt": "Shopper tapping a payment screen on a phone at a desk"
            }
          },
          {
            "name": "core/heading",
            "attributes": {
              "level": 3,
              "content": "Checkout in seconds"
            }
          },
          {
            "name": "core/paragraph",
            "attributes": {
              "content": "Pay on any device, no account needed."
            }
          }
        ]
      },
      {
        "name": "brandy/slide",
        "attributes": {},
        "innerBlocks": [
          {
            "name": "core/image",
            "attributes": {
              "url": "https://images.wpbrandy.com/uploads/feature-highlights-with-images-1-img-6.webp",
              "alt": "Courier handing a parcel to a customer at the door"
            }
          },
          {
            "name": "core/heading",
            "attributes": {
              "level": 3,
              "content": "Delivered to your door"
            }
          },
          {
            "name": "core/paragraph",
            "attributes": {
              "content": "Tracked every step, from our bench to yours."
            }
          }
        ]
      }
    ]
  },
  "supports": {
    "reusable": false,
    "html": false,
    "align": [
      "wide",
      "full"
    ],
    "spacing": {
      "margin": true,
      "padding": true
    }
  },
  "render": "file:./render.php",
  "textdomain": "brandy-blocks",
  "editorScript": "file:./index.js",
  "editorStyle": "file:./index.css",
  "style": "file:./style-index.css",
  "viewScriptModule": "file:./view.js"
}