{"version":3,"sources":["jsdelivr-header.js","/npm/@right-menu/core/dist/index.esm.js","/npm/@right-menu/react@0.0.5/src/component.tsx","/npm/@right-menu/react@0.0.5/src/hook.ts"],"names":[],"mappings":"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","file":"/npm/@right-menu/react@0.0.5/dist/index.umd.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.19.2.\n * Original file: /npm/@right-menu/react@0.0.5/dist/index.umd.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\n\n/**\r\n * 默认配置文件\r\n */\r\nvar ATTR_LIST = ['class', 'style'];\r\nvar SPLIT_SYMBOL = {\r\n    class: ' ',\r\n    style: ';',\r\n};\r\nvar systemDarkTheme = \"--shadow-color: #040405;\\n--active-shadow-color: #040405;\\n\\n--border-color: #525253;\\n--active-border-color: #525253;\\n\\n--font-color: #eaeaea;\\n--active-font-color: #fff;\\n\\n--bg-color: #262628;\\n--active-bg-color: #68a1f9;\\n\\n--disabled-font-color: #656668;\\n--active-disabled-font-color:#656668;\\n\\n--disabled-bg-color: #262628;\\n--active-disabled-bg-color: #262628;\\n\\n--split-boder-color: #494a4c;\\n\\n--menu-skeleton-color: #4c4c4f;\\n--menu-skeleton-acitve-color: #444;\";\r\nvar systemLightTheme = \"--shadow-color: rgba(0,0,0,.1);\\n--active-shadow-color: rgba(0,0,0,.1);\\n\\n--border-color: #cdcdcd;\\n--active-border-color: #cdcdcd;\\n\\n--font-color: #222;\\n--active-font-color: #fff;\\n\\n--bg-color: #eae8e9;\\n--active-bg-color: #68a1f9;\\n\\n--disabled-font-color: #a8a8a8;\\n--active-disabled-font-color:#a8a8a8;\\n\\n--disabled-bg-color: #eae8e9;\\n--active-disabled-bg-color: #eae8e9;\\n\\n--split-boder-color: #d0cecf;\\n\\n--menu-skeleton-color: #f5f5f5;\\n--menu-skeleton-acitve-color: #fff;\\n\";\n\nvar userAgent = navigator.userAgent;\r\nvar isWin = navigator.platform === 'Win32' || navigator.platform === 'Windows';\r\nvar isMac = navigator.platform === 'Mac68K' ||\r\n    navigator.platform === 'MacPPC' ||\r\n    navigator.platform === 'Macintosh' ||\r\n    navigator.platform === 'MacIntel';\r\nvar isUnix = navigator.platform === 'X11' && !isWin && !isMac;\r\nvar isLinux = String(navigator.platform).indexOf('Linux') > -1;\r\nvar isWin2000 = userAgent.indexOf('Windows NT 5.0') > -1 ||\r\n    userAgent.indexOf('Windows 2000') > -1;\r\nvar isWinXP = userAgent.indexOf('Windows NT 5.1') > -1 ||\r\n    userAgent.indexOf('Windows XP') > -1;\r\nvar isWin2003 = userAgent.indexOf('Windows NT 5.2') > -1 ||\r\n    userAgent.indexOf('Windows 2003') > -1;\r\nvar isWinVista = userAgent.indexOf('Windows NT 6.0') > -1 ||\r\n    userAgent.indexOf('Windows Vista') > -1;\r\nvar isWin7 = userAgent.indexOf('Windows NT 6.1') > -1 ||\r\n    userAgent.indexOf('Windows 7') > -1;\r\nvar isWin8 = userAgent.indexOf('Windows NT 8') > -1 || userAgent.indexOf('Windows 8') > -1;\r\nvar isWin10 = userAgent.indexOf('Windows NT 10') > -1 ||\r\n    userAgent.indexOf('Windows 10') > -1;\r\nvar getOperatSystem = function () {\r\n    var osList = {\r\n        isWin10: isWin10,\r\n        isMac: isMac,\r\n        isWin7: isWin7,\r\n        isWin8: isWin8,\r\n        isWin2003: isWin2003,\r\n        isWin2000: isWin2000,\r\n        isWinXP: isWinXP,\r\n        isWinVista: isWinVista,\r\n        isWin: isWin,\r\n        isUnix: isUnix,\r\n        isLinux: isLinux,\r\n    };\r\n    for (var key in osList) {\r\n        if (osList[key]) {\r\n            return key;\r\n        }\r\n    }\r\n    // 如果没有对应的主题样式，默认引入mac的样式\r\n    return 'isMac';\r\n};\n\nvar e = [],\n    t = [];\n\nfunction n(n, r) {\n  if (n && \"undefined\" != typeof document) {\n    var a,\n        s = !0 === r.prepend ? \"prepend\" : \"append\",\n        d = !0 === r.singleTag,\n        i = \"string\" == typeof r.container ? document.querySelector(r.container) : document.getElementsByTagName(\"head\")[0];\n\n    if (d) {\n      var u = e.indexOf(i);\n      -1 === u && (u = e.push(i) - 1, t[u] = {}), a = t[u] && t[u][s] ? t[u][s] : t[u][s] = c();\n    } else a = c();\n\n    65279 === n.charCodeAt(0) && (n = n.substring(1)), a.styleSheet ? a.styleSheet.cssText += n : a.appendChild(document.createTextNode(n));\n  }\n\n  function c() {\n    var e = document.createElement(\"style\");\n    if (e.setAttribute(\"type\", \"text/css\"), r.attributes) for (var t = Object.keys(r.attributes), n = 0; n < t.length; n++) e.setAttribute(t[n], r.attributes[t[n]]);\n    var a = \"prepend\" === s ? \"afterbegin\" : \"beforeend\";\n    return i.insertAdjacentElement(a, e), e;\n  }\n}\n\nvar css$2 = \"/**\\n * 基础样式\\n */\\n.right-menu-list {\\n  width: auto;\\n  z-index: 9999999;\\n  position: fixed;\\n  display: block;\\n  box-sizing: border-box;\\n  user-select: none;\\n}\\n.right-menu-list li {\\n  display: block;\\n  list-style: none;\\n  cursor: default;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n  position: relative;\\n}\\n.right-menu-list li.skeleton::before {\\n  content: '.';\\n  display: inline-block;\\n  width: 100%;\\n  border-radius: 3px;\\n  background-image: linear-gradient(-45deg, #ccc 40%, #fff 55%, #ccc 63%);\\n  background-size: 400% auto;\\n  background-repeat: no-repeat;\\n  position: relative;\\n  color: transparent;\\n  animation: skeleton-animation 2s ease infinite;\\n}\\n.right-menu-list li.skeleton:hover {\\n  color: transparent;\\n  background-color: transparent;\\n}\\n.right-menu-list li.menu-hr {\\n  height: 0;\\n  border-bottom: 1px solid #ccc;\\n}\\n.right-menu-list li.menu-hr:hover {\\n  background-color: transparent !important;\\n}\\n.right-menu-list li.menu-ul::after {\\n  content: '▸';\\n  width: 15px;\\n  height: 15px;\\n  position: absolute;\\n  right: 0px;\\n}\\n@keyframes skeleton-animation {\\n  0% {\\n    background-position: 100% 50%;\\n  }\\n  100% {\\n    background-position: 0 50%;\\n  }\\n}\\n\";\nn(css$2,{});\n\nvar css$1 = \"/**\\n * mac主题色\\n */\\n.theme-mac {\\n  min-width: 180px;\\n  max-width: 300px;\\n  color: var(--font-color);\\n  font-size: 13px;\\n  margin: 0;\\n  padding: 5px 4px;\\n  border: 0.5px solid var(--border-color);\\n  border-radius: 5px;\\n  background-color: var(--bg-color);\\n  box-shadow: 0 2px 12px 0 var(--shadow-color);\\n}\\n.theme-mac li {\\n  padding: 2.5px 26px 2.5px 8px;\\n  border-radius: 3px;\\n}\\n.theme-mac li:hover {\\n  color: var(--active-font-color);\\n  background-color: var(--active-bg-color);\\n}\\n.theme-mac li.skeleton {\\n  padding: 2.5px 8px;\\n}\\n.theme-mac li.skeleton::before {\\n  background-image: linear-gradient(-45deg, var(--menu-skeleton-color) 40%, var(--menu-skeleton-acitve-color) 55%, var(--menu-skeleton-color) 63%);\\n}\\n.theme-mac li.menu-hr {\\n  border-bottom: 1px solid var(--split-boder-color);\\n  padding: 0;\\n  margin: 5px 8px;\\n}\\n.theme-mac li.menu-disabled {\\n  color: var(--disabled-font-color);\\n}\\n.theme-mac li.menu-disabled:hover {\\n  color: var(--active-disabled-font-color);\\n  background-color: var(--active-disabled-bg-color);\\n}\\n\";\nn(css$1,{});\n\nvar css = \"/**\\n * win10主题色\\n */\\n.theme-win10 {\\n  min-width: 260px;\\n  max-width: 500px;\\n  color: #202124;\\n  font-size: 14px;\\n  margin: 0;\\n  padding: 5px 0px;\\n  border: 0.5px solid #dadce0;\\n  border-radius: 0px;\\n  background-color: #fff;\\n  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);\\n  letter-spacing: 0.5px;\\n}\\n.theme-win10 li {\\n  padding: 7px 40px;\\n  border-radius: 0px;\\n}\\n.theme-win10 li:hover {\\n  color: #202124;\\n  background-color: #e8e8e9;\\n}\\n.theme-win10 li.menu-hr {\\n  border-bottom: 1px solid #dadce0;\\n  padding: 0;\\n  margin: 5px 0px;\\n}\\n.theme-win10 li.menu-disabled {\\n  color: #ccc;\\n}\\n.theme-win10 li.menu-disabled:hover {\\n  color: #ccc;\\n  background-color: #fff;\\n}\\n.theme-win10 li.menu-ul::after {\\n  color: #626365;\\n  font-size: 20px;\\n  position: absolute;\\n  right: 17px;\\n}\\n\";\nn(css,{});\n\nvar systemTheme = window.matchMedia('(prefers-color-scheme: dark)');\r\nvar watchSystemThemeChange = function () {\r\n    var rootElement = document.querySelector(':root');\r\n    rootElement &&\r\n        rootElement.setAttribute('style', systemTheme.matches ? systemDarkTheme : systemLightTheme);\r\n};\r\n// 先判断下当前系统的主题\r\nwatchSystemThemeChange();\r\nsystemTheme.addEventListener('change', watchSystemThemeChange);\r\nvar OperatSystem = getOperatSystem();\n\n/**\r\n * 获取元素在窗口中的几何属性\r\n * bottom = y + height = top + height\r\n * right = x + width = left + width\r\n * @param { HTMLElement | MouseEvent } node 元素\r\n * @returns { width, height, left, right, top, bottom, x, y }\r\n */\r\nvar computeRectPosition = function (node) { var _a, _b; return ((_b = (_a = node).getBoundingClientRect) === null || _b === void 0 ? void 0 : _b.call(_a)) || node; };\n\n/**\r\n * 阻止默认事件和冒泡\r\n * @param { Event } e 事件参数\r\n * @returns { void }\r\n */\r\nvar preventDefault = function (e) {\r\n    // 阻止冒泡\r\n    window.event ? (window.event.cancelBubble = true) : e.stopPropagation();\r\n    // 阻止默认事件\r\n    e.preventDefault\r\n        ? e.preventDefault()\r\n        : (window.event.returnValue = false);\r\n};\r\nvar updatePosition = function (el, x, y) {\r\n    el.style.left = x + 'px';\r\n    el.style.top = y + 'px';\r\n};\r\n/**\r\n * 过滤合法的 dom 属性\r\n * @param { object } opt 菜单的item\r\n * @returns { object }\r\n */\r\nvar filterAttrs = function (options, params) {\r\n    var res = {};\r\n    ATTR_LIST.forEach(function (key) {\r\n        if (options[key]) {\r\n            res[key] = options[key];\r\n        }\r\n        if (params[key]) {\r\n            if (res[key]) {\r\n                res[key] += SPLIT_SYMBOL[key] + params[key];\r\n            }\r\n            else {\r\n                res[key] = params[key];\r\n            }\r\n        }\r\n    });\r\n    return res;\r\n};\r\nvar handleCamelCase = function (arg) {\r\n    return arg.replace(/[A-Z]/g, function (res, index) { return \"\" + (index ? '-' : '') + res.toLowerCase(); });\r\n};\r\nvar handleStyle = function (params) {\r\n    if (typeof params === 'string')\r\n        return params;\r\n    var res = [];\r\n    Object.keys(params).forEach(function (key) {\r\n        if (!params[key])\r\n            return;\r\n        res.push(handleCamelCase(key) + \": \" + params[key]);\r\n    });\r\n    return res.join('; ');\r\n};\r\nvar layoutMenuPositionEffect = function (base, menu, direction) {\r\n    if (direction === void 0) { direction = 1 /* Right */; }\r\n    // 计算位置\r\n    var _a = computeRectPosition(menu), width = _a.width, height = _a.height;\r\n    var _b = computeRectPosition(base), baseX = _b.x, baseY = _b.y, _c = _b.width, baseW = _c === void 0 ? 0 : _c, _d = _b.height, baseH = _d === void 0 ? 0 : _d;\r\n    var currentDirection = direction;\r\n    // 从 base:li 的 parentElement:ul（上一级menu）继承 direction\r\n    if ('parentElement' in base && base.parentElement) {\r\n        currentDirection = menu.direction =\r\n            base.parentElement.direction || currentDirection;\r\n    }\r\n    var layoutToRight = function () {\r\n        var x = baseX + baseW;\r\n        // 尝试向右布局，判断菜单最右端是否超出屏幕右边缘（视窗宽度）\r\n        if (menu.offsetWidth + x > window.innerWidth) {\r\n            x = baseX - width;\r\n            // 右 -> 左\r\n            menu.direction = -1 /* Left */;\r\n        }\r\n        return x;\r\n    };\r\n    var layoutToLeft = function () {\r\n        var x = baseX - width;\r\n        // 尝试向左布局，判断菜单最左端是否超出屏幕左边缘（0）\r\n        if (x < 0) {\r\n            x = baseX + baseW;\r\n            // 左 -> 右\r\n            menu.direction = 1 /* Right */;\r\n        }\r\n        return x;\r\n    };\r\n    var layoutToTop = function () {\r\n        var y = baseY;\r\n        // 尝试向上布局，判断菜单最顶端是否超出屏幕上边缘（视窗高度）\r\n        if (menu.offsetHeight + y > window.innerHeight) {\r\n            y = baseY + baseH - height;\r\n        }\r\n        return y;\r\n    };\r\n    var x;\r\n    switch (currentDirection) {\r\n        case -1 /* Left */:\r\n            x = layoutToLeft();\r\n            break;\r\n        case 1 /* Right */:\r\n            x = layoutToRight();\r\n            break;\r\n        default:\r\n            throw new Error(\"Unsupported direction: \" + direction);\r\n    }\r\n    var y = layoutToTop();\r\n    updatePosition(menu, x, y);\r\n};\r\nvar getValue = function (val) {\r\n    if (typeof val === 'string') {\r\n        return val;\r\n    }\r\n    else {\r\n        return val + 'px';\r\n    }\r\n};\n\nvar version = \"0.0.7\";\n\nvar RightMenu = /** @class */ (function () {\r\n    function RightMenu(el, options) {\r\n        var _this = this;\r\n        this.version = version;\r\n        this.menu = null;\r\n        this.eventList = [];\r\n        this.menuStyle = {\r\n            'min-width': '',\r\n            'max-width': '',\r\n        };\r\n        var config = this.config = typeof el === 'string' ? { el: el } : el;\r\n        // 设置主题\r\n        config.theme = config.theme || OperatSystem.toLowerCase().replace(/is/, '') || 'mac';\r\n        // 如果用户输入的主题名称里包含了 'theme-' 则删除\r\n        if (config.theme.indexOf('theme-') === 0) {\r\n            config.theme = config.theme.slice(6);\r\n        }\r\n        // 设置菜单最大/最小宽度\r\n        if (config.minWidth) {\r\n            this.menuStyle['min-width'] = getValue(config.minWidth);\r\n        }\r\n        if (config.maxWidth) {\r\n            this.menuStyle['max-width'] = getValue(config.maxWidth);\r\n        }\r\n        // 获取dom并绑定事件\r\n        var dom = typeof config.el === 'string' ? document.querySelector(config.el) : config.el;\r\n        dom === null || dom === void 0 ? void 0 : dom.addEventListener('contextmenu', function (e) {\r\n            var res = typeof options === 'function' ? options(e, config) : options;\r\n            _this.init(e, res);\r\n        });\r\n    }\r\n    /**\r\n     * 组件初始化\r\n     * @param e 鼠标事件参数\r\n     * @param thenable 菜单列表\r\n     * @returns { Promise<void> }\r\n     */\r\n    RightMenu.prototype.init = function (e, thenable) {\r\n        var _a, _b;\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var flag, countClick, options;\r\n            return __generator(this, function (_c) {\r\n                switch (_c.label) {\r\n                    case 0:\r\n                        // 触发生命周期\r\n                        (_a = this.config.beforeInit) === null || _a === void 0 ? void 0 : _a.call(this);\r\n                        // 开始就要阻止本身的默认事件\r\n                        preventDefault(e);\r\n                        // 先移除之前的菜单\r\n                        this.destroyMenu();\r\n                        // 创建菜单骨架\r\n                        this.initSkeleton(e);\r\n                        flag = false;\r\n                        countClick = function () { return (flag = true); };\r\n                        document.addEventListener('mousedown', countClick);\r\n                        return [4 /*yield*/, Promise.resolve(thenable)\r\n                            // 清除异步前创建的事件\r\n                        ];\r\n                    case 1:\r\n                        options = _c.sent();\r\n                        // 清除异步前创建的事件\r\n                        document.removeEventListener('mousedown', countClick);\r\n                        // // 如果异步前有点击次数, 则打断逻辑, 不创建菜单\r\n                        if (flag)\r\n                            return [2 /*return*/];\r\n                        // 再次移除骨架屏\r\n                        this.destroyMenu();\r\n                        // 开始创建菜单栏\r\n                        this.menu = this.renderMenu(options);\r\n                        // 渲染菜单栏\r\n                        this.initMenu(e, this.menu);\r\n                        // 触发生命周期\r\n                        (_b = this.config.afterInit) === null || _b === void 0 ? void 0 : _b.call(this);\r\n                        return [2 /*return*/];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n     * 初始化菜单栏\r\n     * @param { Event } e 事件参数\r\n     * @param menu { HTMLElement } 菜单标签\r\n     * @returns { void }\r\n     */\r\n    RightMenu.prototype.initMenu = function (e, menu) {\r\n        var _this = this;\r\n        // 添加到页面上\r\n        document.body.appendChild(menu);\r\n        // 计算一级菜单栏的位置\r\n        layoutMenuPositionEffect(e, menu, 1 /* Right */);\r\n        // 防止菜单组件里点出系统菜单\r\n        menu.addEventListener('contextmenu', preventDefault);\r\n        // 窗口 blur 时销毁菜单栏\r\n        this.addEvent(window, 'blur', this.destroyMenu.bind(this));\r\n        // 窗口 resize 时销毁菜单栏\r\n        this.addEvent(window, 'resize', this.destroyMenu.bind(this));\r\n        // 页面点击时销毁菜单栏\r\n        this.addEvent(document, 'mousedown', function (e) {\r\n            var _a;\r\n            var hasMenu = (_a = e['path']) === null || _a === void 0 ? void 0 : _a.some(function (node) { return node === menu; });\r\n            if (!hasMenu)\r\n                _this.destroyMenu();\r\n        });\r\n    };\r\n    /**\r\n     * 创建菜单骨架\r\n     * @param e 鼠标点击事件\r\n     */\r\n    RightMenu.prototype.initSkeleton = function (e) {\r\n        var _this = this;\r\n        // 创建 dom 元素\r\n        var children = new Array(3).fill(null).map(function () {\r\n            return _this.createDom('li', { class: 'skeleton' });\r\n        });\r\n        var skeleton = this.createDom('ul', {\r\n            class: \"right-menu-list theme-\" + this.config.theme,\r\n            style: this.menuStyle,\r\n        }, children);\r\n        // 初始化菜单骨架\r\n        this.initMenu(e, skeleton);\r\n    };\r\n    /**\r\n     * 销毁菜单栏/骨架屏\r\n     * @returns { void }\r\n     */\r\n    RightMenu.prototype.destroyMenu = function () {\r\n        var menuList = document.querySelectorAll('.right-menu-list');\r\n        // 清除所有菜单栏, 有多少清多少\r\n        menuList && menuList.forEach(function (item) {\r\n            var _a;\r\n            (_a = item.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(item);\r\n        });\r\n        // 移除所有事件\r\n        this.removeEvent();\r\n        this.menu = null;\r\n    };\r\n    /**\r\n     * 添加事件\r\n     * @param { Window | Document } target 目标事件源\r\n     * @param { string } eventName 事件名称\r\n     * @param { Function } callback 事件回调\r\n     * @returns { void }\r\n     */\r\n    RightMenu.prototype.addEvent = function (target, eventName, callback) {\r\n        target.addEventListener(eventName, callback);\r\n        this.eventList.push([target, eventName, callback]);\r\n    };\r\n    /**\r\n     * 移除所有事件\r\n     * @returns { void }\r\n     */\r\n    RightMenu.prototype.removeEvent = function () {\r\n        while (this.eventList.length) {\r\n            var _a = this.eventList.shift(), target = _a[0], eventName = _a[1], callback = _a[2];\r\n            target.removeEventListener(eventName, callback);\r\n        }\r\n    };\r\n    /**\r\n     * 渲染菜单栏\r\n     * @param { object[] } options\r\n     * @returns { HTMLElement }\r\n     */\r\n    RightMenu.prototype.renderMenu = function (options) {\r\n        var _this = this;\r\n        var children = options.map(function (item) {\r\n            switch (item.type) {\r\n                case 'hr':\r\n                    return _this.createHr(item);\r\n                case 'li':\r\n                    return _this.createLi(item);\r\n                case 'ul':\r\n                    return _this.createUl(item);\r\n                default:\r\n                    throw new Error('未知的 type 类型 => ' + item['type']);\r\n            }\r\n        });\r\n        return this.createDom('ul', {\r\n            class: \"right-menu-list theme-\" + this.config.theme,\r\n            style: this.menuStyle,\r\n        }, children);\r\n    };\r\n    /**\r\n     * 渲染dom\r\n     * @param { String } [ tagName = 'ul' ] 元素名称\r\n     * @param { Object } [ attrs = {} ] 元素属性对象\r\n     * @param { Array } [ children = [] ] 子元素集合\r\n     * @returns { HTMLElement }\r\n     */\r\n    RightMenu.prototype.createDom = function (tagName, attrs, children) {\r\n        if (tagName === void 0) { tagName = 'ul'; }\r\n        if (attrs === void 0) { attrs = {}; }\r\n        if (children === void 0) { children = []; }\r\n        var dom = document.createElement(tagName);\r\n        Object.keys(attrs).forEach(function (key) {\r\n            var value = attrs[key];\r\n            if (!value)\r\n                return;\r\n            var res = '';\r\n            switch (key) {\r\n                case 'style':\r\n                    res = handleStyle(value);\r\n                    break;\r\n                // [TODO:] 这里很奇怪, 按理说 key=class 的时候只剩 string 类型了\r\n                case 'class':\r\n                    res = value;\r\n                    break;\r\n            }\r\n            dom.setAttribute(key, res);\r\n        });\r\n        // append所有子元素\r\n        // [TODO:]bug here  innerHTML 会清除之前 append 的所有 child\r\n        children.forEach(function (child) {\r\n            if (typeof child === 'string') {\r\n                dom.innerHTML += child;\r\n            }\r\n            else if (child.nodeType === 1) {\r\n                dom.appendChild(child);\r\n            }\r\n        });\r\n        return dom;\r\n    };\r\n    RightMenu.prototype.createHr = function (opt) {\r\n        var attrs = { class: 'menu-hr' };\r\n        return this.createDom('li', filterAttrs(opt, attrs));\r\n    };\r\n    RightMenu.prototype.createLi = function (opt) {\r\n        var _this = this;\r\n        var span = this.createDom('span', {}, [String(opt.text)]);\r\n        var attrs = {\r\n            class: [\r\n                opt.disabled ? 'menu-disabled' : '',\r\n                opt.type === 'ul' ? 'menu-ul' : '',\r\n            ].join(' '),\r\n        };\r\n        var li = this.createDom('li', filterAttrs(opt, attrs), [span]);\r\n        if (!opt.disabled && opt.type === 'li' && opt.callback) {\r\n            li.addEventListener('mousedown', function (e) {\r\n                opt.callback(e);\r\n                _this.destroyMenu();\r\n            });\r\n        }\r\n        return li;\r\n    };\r\n    RightMenu.prototype.createUl = function (opt) {\r\n        var li = this.createLi(opt);\r\n        // 添加二级菜单\r\n        if (opt.children && opt.children.length) {\r\n            var ul_1 = this.renderMenu(opt.children);\r\n            li.addEventListener('mouseenter', function (e) {\r\n                li.appendChild(ul_1);\r\n                layoutMenuPositionEffect(li, ul_1);\r\n            });\r\n            li.addEventListener('mouseleave', function (e) {\r\n                if (!e['toElement'])\r\n                    return;\r\n                var curr = e['toElement'];\r\n                while (curr) {\r\n                    // 如果路径里存在 ul 标签, 就不需要销毁\r\n                    if (curr === ul_1)\r\n                        return;\r\n                    curr = curr.parentNode;\r\n                }\r\n                li.removeChild(ul_1);\r\n            });\r\n        }\r\n        return li;\r\n    };\r\n    return RightMenu;\r\n}());\n\nexport { RightMenu as default };\n","import React, { memo, useEffect, useRef } from 'react'\nimport type { ReactElement } from 'react'\nimport RightMenu, { default as Menu, ConfigType, OptionsType } from '@right-menu/core'\n\ninterface Props {\n  options: OptionsType\n  theme: ConfigType['theme']\n  minWidth: ConfigType['minWidth']\n  maxWidth: ConfigType['maxWidth']\n  onBeforeInit: ConfigType['beforeInit']\n  onAfterInit: ConfigType['afterInit']\n  children: ReactElement\n}\n\nconst RightMenuComponent: React.FC<Props> = (props) => {\n  const { options, children, ...config } = props\n  const menuRef = useRef<RightMenu[]>([])\n  const childrenRef = useRef<any[]>([])\n  // 子元素的更换对右键菜单的调起不影响，因此初始化即可\n  useEffect(() => {\n    // 兼容有一个子元素/多个子元素的情况\n    if (childrenRef.current && childrenRef.current.length) {\n      childrenRef.current.forEach((item, index) => {\n        menuRef.current[index] = new Menu({\n          ...config,\n          el: item\n        }, options)\n      })\n    }\n    return () => {\n      if (menuRef.current && menuRef.current.length) {\n        menuRef.current.forEach(item => {\n          item.destroyMenu()\n        })\n        menuRef.current.length = 0\n        // console.warn('RightMenu组件因参数变动，触发了刷新；若非主动修改传入参数，建议将参数通过state/memo等方式保存，以减少RightMenu组件的重新构建')\n      }\n    }\n  }, [options, config])\n  return (\n    <>\n      { React.Children.map(children, (child, index) => {\n        return React.cloneElement(child, { ref: (element: any) => childrenRef.current[index] = element })\n      })}\n    </>\n  )\n}\n\nexport default memo(RightMenuComponent)\n","import { useEffect, useRef } from 'react'\nimport { default as Menu, ConfigType as OringinConfigType, OptionsType } from '@right-menu/core'\n\nexport type ConfigType = Omit<OringinConfigType, 'el'>\n\nfunction useRightMenu<T extends HTMLElement>(config: ConfigType, options: OptionsType): React.MutableRefObject<T | null> {\n  const domRef = useRef<T>(null)\n  // 如果没有输入第二个参数, 我就认为第一个参数是 options\n  if (!options) {\n    options = config as OptionsType\n    config = {}\n  }\n  useEffect(() => {\n    const menu = new Menu({\n      ...config,\n      el: domRef.current as HTMLElement\n    }, options)\n    return () => {\n      menu.destroyMenu()\n    }\n  }, [])\n  return domRef\n}\n\nexport { useRightMenu }\n"]}