{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "crane/element.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "BpDraggableList",
          "slots": [
            {
              "description": "content",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "items",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "dropZones",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "#updateChildren",
              "privacy": "private"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "bp-draggable-list",
          "customElement": true,
          "metadata": {
            "since": "1.0.0"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BpDraggableList",
          "declaration": {
            "name": "BpDraggableList",
            "module": "crane/element.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "crane/index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "crane/element.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "dropzone/element.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "BpDraggableDropzone",
          "slots": [
            {
              "description": "content",
              "name": ""
            }
          ],
          "members": [],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "bp-draggable-dropzone",
          "customElement": true,
          "metadata": {
            "since": "1.0.0"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BpDraggableDropzone",
          "declaration": {
            "name": "BpDraggableDropzone",
            "module": "dropzone/element.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "dropzone/index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "dropzone/element.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "include/draggable-list.js",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "bp-draggable-list",
          "declaration": {
            "name": "BpDraggableList",
            "module": "/crane/index.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "bp-draggable-dropzone",
          "declaration": {
            "name": "BpDraggableDropzone",
            "module": "/dropzone/index.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "crane/index.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "dropzone/index.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "internals/controllers/draggable-list.controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internals/controllers/draggable-list.controller.js",
      "declarations": [
        {
          "kind": "function",
          "name": "draggableList",
          "parameters": [
            {
              "name": "fn",
              "optional": true,
              "type": {
                "text": "(host: T) => DraggableListControllerConfig"
              }
            }
          ]
        },
        {
          "kind": "class",
          "description": "",
          "name": "DraggableListController",
          "members": [
            {
              "kind": "field",
              "name": "#dragSrcEl",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null"
              },
              "static": true,
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#abortController",
              "privacy": "private",
              "type": {
                "text": "AbortController | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#observer",
              "privacy": "private",
              "type": {
                "text": "MutationObserver | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#dropZones",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#config",
              "privacy": "private",
              "type": {
                "text": "DraggableListControllerConfig"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "method",
              "name": "#checkDragHandle",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#addDragEventListeners",
              "privacy": "private",
              "parameters": [
                {
                  "name": "signal",
                  "type": {
                    "text": "AbortSignal"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#dispatchDraggableChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "host",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "detail",
                  "type": {
                    "text": "BpDraggableChangeEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleDrag",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleDragEnd",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleDragStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleDragOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleDrop",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleDragEnter",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleDragLeave",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "draggableList",
          "declaration": {
            "name": "draggableList",
            "module": "internals/controllers/draggable-list.controller.js"
          }
        },
        {
          "kind": "js",
          "name": "DraggableListController",
          "declaration": {
            "name": "DraggableListController",
            "module": "internals/controllers/draggable-list.controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internals/utils/dom.js",
      "declarations": [
        {
          "kind": "function",
          "name": "removeAttributeValue",
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "attr",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "addAttributeValue",
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "attr",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "removeAttributeValue",
          "declaration": {
            "name": "removeAttributeValue",
            "module": "internals/utils/dom.js"
          }
        },
        {
          "kind": "js",
          "name": "addAttributeValue",
          "declaration": {
            "name": "addAttributeValue",
            "module": "internals/utils/dom.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internals/utils/events.js",
      "declarations": [
        {
          "kind": "function",
          "name": "onChildListMutation",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "fn",
              "type": {
                "text": "(mutation?: MutationRecord) => void"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "onChildListMutation",
          "declaration": {
            "name": "onChildListMutation",
            "module": "internals/utils/events.js"
          }
        }
      ]
    }
  ]
}
