{
  "type": "map-h3",
  "description": "Map that emits H3 cell at center.",
  "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 the H3 cell string",
        "type": "string"
      },
      "paramType": {
        "default": "string",
        "description": "Emit the H3 cell as a hex string (\"string\") or as a BigInt number (\"int\").",
        "type": "string",
        "enum": [
          "string",
          "int"
        ]
      },
      "centerLng": {
        "default": -74,
        "type": "number"
      },
      "centerLat": {
        "default": 40.7,
        "type": "number"
      },
      "zoom": {
        "default": 12,
        "type": "number"
      },
      "h3Res": {
        "description": "Fixed H3 resolution (0-15). If omitted, resolution is auto-derived from the map zoom level.",
        "type": "integer",
        "minimum": 0,
        "maximum": 15
      },
      "resOffset": {
        "default": 0,
        "description": "Offset added to the auto-derived resolution. Positive = smaller hexes, negative = bigger hexes.",
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      },
      "hexColor": {
        "default": "#E8FF59",
        "description": "Hex outline & fill color.",
        "type": "string"
      },
      "hexOpacity": {
        "default": 0.03,
        "description": "Hex fill opacity. 0 = transparent, 1 = solid. Default 0.03 for a very slight fill.",
        "type": "number",
        "minimum": 0,
        "maximum": 1
      },
      "showDetails": {
        "default": true,
        "description": "Show hex ID and resolution overlay on the map.",
        "type": "boolean"
      },
      "styleUrl": {
        "default": "mapbox://styles/mapbox/dark-v11",
        "type": "string"
      },
      "showBasemapSwitcher": {
        "default": true,
        "description": "Show Dark / Light / Satellite basemap toggle on the map.",
        "type": "boolean"
      },
      "buttonLabel": {
        "default": "Send H3 cell",
        "type": "string"
      },
      "autoSend": {
        "default": false,
        "type": "boolean"
      },
      "autoSendDebounceMs": {
        "default": 300,
        "type": "number"
      },
      "sendOnMove": {
        "default": false,
        "description": "When true and autoSend is true, emit when the hex changes while dragging/zooming (debounce defaults to 0). When false, emit only when movement ends.",
        "type": "boolean"
      },
      "maxZoom": {
        "description": "Maximum zoom level. If omitted and h3Res is set, defaults to the zoom ceiling for that resolution so the user cannot zoom past the hex size.",
        "type": "number"
      },
      "minZoom": {
        "description": "Minimum zoom level. Prevents zooming out beyond this level.",
        "type": "number"
      },
      "latParam": {
        "description": "Canvas parameter name to emit the center latitude.",
        "type": "string"
      },
      "lngParam": {
        "description": "Canvas parameter name to emit the center longitude.",
        "type": "string"
      },
      "resParam": {
        "description": "Canvas parameter name to emit the current H3 resolution.",
        "type": "string"
      },
      "zoomParam": {
        "description": "Canvas parameter name to emit the current zoom level.",
        "type": "string"
      },
      "boundsParam": {
        "description": "Canvas parameter name to emit the viewport bounds as \"west,south,east,north\".",
        "type": "string"
      },
      "kRing": {
        "default": 0,
        "description": "K-ring radius around the center hex. 0 = center only. 1-6 = include surrounding rings.",
        "type": "integer",
        "minimum": 0,
        "maximum": 6
      },
      "kRingParam": {
        "description": "Canvas parameter name to emit a JSON array of all hex IDs in the k-ring (includes center).",
        "type": "string"
      },
      "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",
        "type": "string"
      }
    },
    "description": "Interactive map that emits the H3 hex cell at the map center. Resolution can be fixed or auto-derived from zoom."
  }
}
