{"version":3,"sources":["jsdelivr-header.js","/npm/markmap-toolbar@0.16.3-web.2/dist/index.js"],"names":[],"mappings":"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","file":"/npm/markmap-toolbar@0.16.3-web.2/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/markmap-toolbar@0.16.3-web.2/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function(exports) {\n  \"use strict\";\n  /*! @gera2ld/jsx-dom v2.2.2 | ISC License */\n  const VTYPE_ELEMENT = 1;\n  const VTYPE_FUNCTION = 2;\n  const SVG_NS = \"http://www.w3.org/2000/svg\";\n  const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n  const NS_ATTRS = {\n    show: XLINK_NS,\n    actuate: XLINK_NS,\n    href: XLINK_NS\n  };\n  const isLeaf = (c) => typeof c === \"string\" || typeof c === \"number\";\n  const isElement = (c) => (c == null ? void 0 : c.vtype) === VTYPE_ELEMENT;\n  const isRenderFunction = (c) => (c == null ? void 0 : c.vtype) === VTYPE_FUNCTION;\n  function jsx(type, props) {\n    let vtype;\n    if (typeof type === \"string\")\n      vtype = VTYPE_ELEMENT;\n    else if (typeof type === \"function\")\n      vtype = VTYPE_FUNCTION;\n    else\n      throw new Error(\"Invalid VNode type\");\n    return {\n      vtype,\n      type,\n      props\n    };\n  }\n  const jsxs = jsx;\n  function Fragment(props) {\n    return props.children;\n  }\n  const DEFAULT_ENV = {\n    isSvg: false\n  };\n  function insertDom(parent, nodes) {\n    if (!Array.isArray(nodes))\n      nodes = [nodes];\n    nodes = nodes.filter(Boolean);\n    if (nodes.length)\n      parent.append(...nodes);\n  }\n  function mountAttributes(domElement, props, env) {\n    for (const key in props) {\n      if (key === \"key\" || key === \"children\" || key === \"ref\")\n        continue;\n      if (key === \"dangerouslySetInnerHTML\") {\n        domElement.innerHTML = props[key].__html;\n      } else if (key === \"innerHTML\" || key === \"textContent\" || key === \"innerText\" || key === \"value\" && [\"textarea\", \"select\"].includes(domElement.tagName)) {\n        const value = props[key];\n        if (value != null)\n          domElement[key] = value;\n      } else if (key.startsWith(\"on\")) {\n        domElement[key.toLowerCase()] = props[key];\n      } else {\n        setDOMAttribute(domElement, key, props[key], env.isSvg);\n      }\n    }\n  }\n  const attrMap = {\n    className: \"class\",\n    labelFor: \"for\"\n  };\n  function setDOMAttribute(el, attr, value, isSVG) {\n    attr = attrMap[attr] || attr;\n    if (value === true) {\n      el.setAttribute(attr, \"\");\n    } else if (value === false) {\n      el.removeAttribute(attr);\n    } else {\n      const namespace = isSVG ? NS_ATTRS[attr] : void 0;\n      if (namespace !== void 0) {\n        el.setAttributeNS(namespace, attr, value);\n      } else {\n        el.setAttribute(attr, value);\n      }\n    }\n  }\n  function flatten(arr) {\n    return arr.reduce((prev, item) => prev.concat(item), []);\n  }\n  function mountChildren(children, env) {\n    return Array.isArray(children) ? flatten(children.map((child) => mountChildren(child, env))) : mount(children, env);\n  }\n  function mount(vnode, env = DEFAULT_ENV) {\n    if (vnode == null || typeof vnode === \"boolean\") {\n      return null;\n    }\n    if (vnode instanceof Node) {\n      return vnode;\n    }\n    if (isRenderFunction(vnode)) {\n      const {\n        type,\n        props\n      } = vnode;\n      if (type === Fragment) {\n        const node = document.createDocumentFragment();\n        if (props.children) {\n          const children = mountChildren(props.children, env);\n          insertDom(node, children);\n        }\n        return node;\n      }\n      const childVNode = type(props);\n      return mount(childVNode, env);\n    }\n    if (isLeaf(vnode)) {\n      return document.createTextNode(`${vnode}`);\n    }\n    if (isElement(vnode)) {\n      let node;\n      const {\n        type,\n        props\n      } = vnode;\n      if (!env.isSvg && type === \"svg\") {\n        env = Object.assign({}, env, {\n          isSvg: true\n        });\n      }\n      if (!env.isSvg) {\n        node = document.createElement(type);\n      } else {\n        node = document.createElementNS(SVG_NS, type);\n      }\n      mountAttributes(node, props, env);\n      if (props.children) {\n        let childEnv = env;\n        if (env.isSvg && type === \"foreignObject\") {\n          childEnv = Object.assign({}, childEnv, {\n            isSvg: false\n          });\n        }\n        const children = mountChildren(props.children, childEnv);\n        if (children != null)\n          insertDom(node, children);\n      }\n      const {\n        ref\n      } = props;\n      if (typeof ref === \"function\")\n        ref(node);\n      return node;\n    }\n    throw new Error(\"mount: Invalid Vnode!\");\n  }\n  function mountDom(vnode) {\n    return mount(vnode);\n  }\n  const clsToolbarItem = \"mm-toolbar-item\";\n  const clsActive = \"active\";\n  function renderBrand() {\n    return /* @__PURE__ */ jsxs(\"a\", { className: \"mm-toolbar-brand\", href: \"https://markmap.js.org/\", children: [\n      /* @__PURE__ */ jsx(\n        \"img\",\n        {\n          alt: \"markmap\",\n          src: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAACoFBMVEUAAAAAAAD//wAAAACAgAD//wAAAABVVQCqqgBAQACAQACAgABmZgBtbQAAAABgQABgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaFQAAAAAAAAAAAAAAAAAHAAARBQIdGAIYEwI/OgJYUQUfHQI+OgJDPgJJRARBPQRJQgRRSwRRTQRIQQRUTgRUUARZUgRSTQRPSQRjWgZORQRfWQZsZAhTTQRNRwRWUAZkXAZOSARUTgZPRwRRSQRoYwZWUQZWTgRbUwZmXQZoXghmXwdqYwdsYwdfVwVmXQdqYgdiWgVpYAl3bgl6cgl4cAqLggw8OAOWjA2Uig1OSAR2bQihlg55cAh5cAh6cQmMgwyOhAyUjA2QhQ2Uiw2Viw2soBCflA+voxGwpRGhlg+hlg+snxGroBGjmBCpnBC0pxKyphKxpRG2qhK0qBK5rBK5rBP/7h3/8B7/8R3/8h3/8R7/8h786x397B3+7R3EtxT66Rz66hz76hz86xz96xz97Bz+7Rz45xz56Bz76hz97Bz97B3MvRX15Rv25Rv45xz66Rz76hz97B3+7R3IuxX05Bv15Bv25Rz56Bz66Ry/sxPAsxPCtRTCthTNvxbZyxfczxfi0xjl1Rnn2Bnr2xrr3Brs3Rru3Rru3xrv3hrw3xrx4Bvx4Rvy4hvz4hvz4xv04xv05Bv14xv15Bv15Rv25Bv25Rv25Rz25hv35hv35xv45xv45xz55xz56Bv56Bz66Rv66Rz76Rv76Rz76hz86hv86xz+7h3/7R3/7h3/7x3/8B3/8B7/8R3/8R4Yqhj5AAAAq3RSTlMAAQECAgIDAwMEBAQFBwgICAwQERITFRYXGBkbHB0eHyQlJyguNTg8RUZISU5PV2FiY2RlZmdqa2xubnJzc3R2d3d3eXl5eXp7fH1+gIGCgoKDg4SEhIWGh4eHiYmJjIyMjZSUlJ+sra+zt7i4uru8ztHV1tbW2d7g4OHi4uPk5ufp7Ozv9fX29/f3+Pj6+vr7+/v7+/v7+/z8/Pz8/f39/f39/f3+/v7+/v7K6J1dAAACHklEQVQ4y2NgwAoYWdi5uLm5GXHIcrLCmMzYpDmAhKCKjoGtp40MFhVsDAwSxmmVEzZu2XvqSLkchjw3g0h445Ybd24vmTN1Usd5X3R5DgaNqgN35sycP2/GxMkTMRVwMOivvtO3YsWUm3duX790EcMKdgbNNXdnnJh1+9T6ipzU+FB0RzIyiFYB5WdfaElUF8TmTQ6GwH39J2bvypMHcpg4MAKKkUGo5s6KWRfyGRh4WJClGEGBCgS8DLobliy/3abMwM8NBYwQjXDgf3ryxOspyKYyg+RFTFwdnYDAzbrw+oLFm9Ot3J3AwNHFTBykQrhg++GDh48cOXzk4P6VZy8s230MyAGCwwcP7iyRBJpiur1n8hQIWHX27NkLi6bAwOSuow5ABeY7OydOhoCFIAULe6E8YFCf8QAqEC86evniZTA4tfLsuRXHr0E4ly9ePF0uC3KnpH1MZBQQxPoVgxyZ5RMdBQaRMc6yIEcihWbQGaA3k9G8CfQoN0pAtSoxCMACihk9qGtBQZ2LHtRIkRUMiqwd2TJADiswsrjQlAGju/o+MLrPNkWo8mFN1ewMWmvBCebQ0rKMJG87QzF0FRwMRuvugpLcrXu3rp7Zs61UCtMZ2nVHbk+fMX/+jMmTp3Sf9MLiULG45q237txaPG3yxPYrYQzYMo60RWbD3E27Ll68Uq+AK+uJqOlZBiSEKGLNnMA0iDfzwrI/NKgBOivk9piPdtUAAAAASUVORK5CYII=\"\n        }\n      ),\n      /* @__PURE__ */ jsx(\"span\", { children: \"markmap\" })\n    ] });\n  }\n  function renderItem({ title, content, onClick }) {\n    return /* @__PURE__ */ jsx(\"div\", { className: clsToolbarItem, title, onClick, children: content });\n  }\n  let promise;\n  function safeCaller(fn) {\n    return async (...args) => {\n      if (promise)\n        return;\n      promise = fn(...args);\n      try {\n        await promise;\n      } finally {\n        promise = void 0;\n      }\n    };\n  }\n  const _Toolbar = class _Toolbar {\n    constructor() {\n      this.showBrand = true;\n      this.registry = {};\n      this.el = mountDom(/* @__PURE__ */ jsx(\"div\", { className: \"mm-toolbar\" }));\n      this.items = [..._Toolbar.defaultItems];\n      this.register({\n        id: \"zoomIn\",\n        title: \"Zoom in\",\n        content: _Toolbar.icon(\"M9 5v4h-4v2h4v4h2v-4h4v-2h-4v-4z\"),\n        onClick: this.getHandler((mm) => mm.rescale(1.25))\n      });\n      this.register({\n        id: \"zoomOut\",\n        title: \"Zoom out\",\n        content: _Toolbar.icon(\"M5 9h10v2h-10z\"),\n        onClick: this.getHandler((mm) => mm.rescale(0.8))\n      });\n      this.register({\n        id: \"fit\",\n        title: \"Fit window size\",\n        content: _Toolbar.icon(\n          \"M4 7h2v-2h2v4h-4zM4 13h2v2h2v-4h-4zM16 7h-2v-2h-2v4h4zM16 13h-2v2h-2v-4h4z\"\n        ),\n        onClick: this.getHandler((mm) => mm.fit())\n      });\n      this.register({\n        id: \"recurse\",\n        title: \"Toggle recursively\",\n        content: _Toolbar.icon(\"M16 4h-12v12h12v-8h-8v4h2v-2h4v4h-8v-8h10z\"),\n        onClick: (e) => {\n          var _a;\n          const button = e.target.closest(\n            `.${clsToolbarItem}`\n          );\n          const active = button == null ? void 0 : button.classList.toggle(clsActive);\n          (_a = this.markmap) == null ? void 0 : _a.setOptions({\n            toggleRecursively: active\n          });\n        }\n      });\n      this.render();\n    }\n    static create(mm) {\n      const toolbar = new _Toolbar();\n      toolbar.attach(mm);\n      return toolbar;\n    }\n    static icon(path, attrs = {}) {\n      attrs = {\n        stroke: \"none\",\n        fill: \"currentColor\",\n        \"fill-rule\": \"evenodd\",\n        ...attrs\n      };\n      return /* @__PURE__ */ jsx(\"svg\", { width: \"20\", height: \"20\", viewBox: \"0 0 20 20\", children: /* @__PURE__ */ jsx(\"path\", { ...attrs, d: path }) });\n    }\n    setBrand(show) {\n      this.showBrand = show;\n      return this.render();\n    }\n    register(data) {\n      this.registry[data.id] = data;\n    }\n    getHandler(handle) {\n      handle = safeCaller(handle);\n      return () => {\n        if (this.markmap)\n          handle(this.markmap);\n      };\n    }\n    setItems(items) {\n      this.items = [...items];\n      return this.render();\n    }\n    attach(mm) {\n      this.markmap = mm;\n    }\n    render() {\n      const items = this.items.map((item) => {\n        if (typeof item === \"string\") {\n          const data = this.registry[item];\n          if (!data)\n            console.warn(`[markmap-toolbar] ${item} not found`);\n          return data;\n        }\n        return item;\n      }).filter(Boolean);\n      while (this.el.firstChild) {\n        this.el.firstChild.remove();\n      }\n      this.el.append(\n        mountDom(\n          /* @__PURE__ */ jsxs(Fragment, { children: [\n            this.showBrand && renderBrand(),\n            items.map(renderItem)\n          ] })\n        )\n      );\n      return this.el;\n    }\n  };\n  _Toolbar.defaultItems = [\n    \"zoomIn\",\n    \"zoomOut\",\n    \"fit\",\n    \"recurse\"\n  ];\n  let Toolbar = _Toolbar;\n  exports.Toolbar = Toolbar;\n  Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n})(this.markmap = this.markmap || {});\n"]}