{
  "type": "map-bounds",
  "description": "Map that syncs viewport bounds to param.",
  "hasChildren": false,
  "propsSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "properties": {
      "label": {
        "description": "Label above the map",
        "type": "string"
      },
      "param": {
        "description": "Canvas parameter for bounds [west, south, east, north]",
        "type": "string"
      },
      "centerLng": {
        "default": -74,
        "type": "number"
      },
      "centerLat": {
        "default": 40.7,
        "type": "number"
      },
      "zoom": {
        "default": 12,
        "type": "number"
      },
      "styleUrl": {
        "default": "mapbox://styles/mapbox/dark-v10",
        "type": "string"
      },
      "buttonLabel": {
        "default": "Send View",
        "type": "string"
      },
      "autoSend": {
        "default": false,
        "type": "boolean"
      },
      "autoSendDebounceMs": {
        "default": 600,
        "type": "number"
      },
      "showSearch": {
        "default": false,
        "description": "Show a geocoder search bar overlay on the map.",
        "type": "boolean"
      },
      "style": {
        "description": "Inline CSS styles as a plain CSS string (e.g., \"border-radius: 8px; overflow: hidden\")",
        "type": "string"
      }
    },
    "description": "Interactive Mapbox map that syncs viewport bounds [west, south, east, north] with a canvas parameter. Supports auto-send on pan/zoom or manual send via button."
  }
}
