@whitesev/pops 1.7.2 → 1.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.amd.js +59 -1
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +59 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +59 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +59 -1
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +59 -1
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +59 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/GlobalConfig.d.ts +20 -0
- package/dist/types/src/Pops.d.ts +17 -0
- package/package.json +1 -1
- package/src/GlobalConfig.ts +60 -0
- package/src/Pops.ts +6 -1
- package/src/components/alert/index.ts +2 -0
- package/src/components/confirm/index.ts +2 -0
- package/src/components/drawer/index.ts +2 -0
- package/src/components/folder/index.ts +3 -1
- package/src/components/iframe/index.ts +2 -0
- package/src/components/loading/index.ts +2 -0
- package/src/components/panel/index.ts +2 -0
- package/src/components/prompt/index.ts +2 -0
- package/src/components/rightClickMenu/index.ts +2 -0
- package/src/components/searchSuggestion/index.ts +2 -0
- package/src/components/tooltip/index.ts +2 -0
package/dist/index.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.amd.js","sources":["../src/Config.ts","../src/Core.ts","../src/utils/AnyTouch.js","../src/utils/PopsUtils.ts","../src/utils/PopsDOMUtils.ts","../src/utils/PopsInstanceUtils.ts","../src/handler/PopsElementHandler.ts","../src/handler/PopsHandler.ts","../src/components/alert/config.ts","../src/components/alert/index.ts","../src/components/confirm/config.ts","../src/components/confirm/index.ts","../src/components/prompt/config.ts","../src/components/prompt/index.ts","../src/components/loading/config.ts","../src/components/loading/index.ts","../src/components/iframe/config.ts","../src/components/iframe/index.ts","../src/components/tooltip/config.ts","../src/components/tooltip/index.ts","../src/components/drawer/config.ts","../src/components/drawer/index.ts","../src/components/folder/config.ts","../src/components/folder/folderIcon.ts","../src/components/folder/index.ts","../src/components/panel/config.ts","../src/utils/PopsMathUtils.ts","../src/components/panel/PanelHandleContentDetails.ts","../src/components/panel/index.ts","../src/components/rightClickMenu/config.ts","../src/components/rightClickMenu/index.ts","../src/components/searchSuggestion/config.ts","../src/components/searchSuggestion/index.ts","../src/Pops.ts"],"sourcesContent":["export const SymbolEvents = Symbol(\"events_\" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1));\n","const PopsCoreDefaultEnv = {\n document: document,\n window: window,\n globalThis: globalThis,\n self: self,\n};\nconst PopsCoreEnv = {\n document: document,\n window: window,\n globalThis: globalThis,\n self: self,\n};\nexport const PopsCore = {\n init(option) {\n if (!option) {\n option = Object.assign({}, PopsCoreDefaultEnv);\n }\n Object.assign(PopsCoreEnv, option);\n },\n get document() {\n return PopsCoreEnv.document;\n },\n get window() {\n return PopsCoreEnv.window;\n },\n get globalThis() {\n return PopsCoreEnv.globalThis;\n },\n get self() {\n return PopsCoreEnv.self;\n },\n};\nexport const OriginPrototype = {\n Object: {\n defineProperty: Object.defineProperty,\n },\n};\n","// @ts-nocheck\r\n\r\nexport const AnyTouch = function () {\r\n\treturn (function (global, factory) {\r\n\t\treturn factory();\r\n\t})(globalThis || window, function () {\r\n\t\t\"use strict\";\r\n\r\n\t\t/*! *****************************************************************************\r\n\t\t\tCopyright (c) Microsoft Corporation.\r\n\t\t\r\n\t\t\tPermission to use, copy, modify, and/or distribute this software for any\r\n\t\t\tpurpose with or without fee is hereby granted.\r\n\t\t\r\n\t\t\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n\t\t\tREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n\t\t\tAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n\t\t\tINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n\t\t\tLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n\t\t\tOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n\t\t\tPERFORMANCE OF THIS SOFTWARE.\r\n\t\t\t***************************************************************************** */\r\n\t\t/* global Reflect, Promise */\r\n\r\n\t\tvar extendStatics = function (d, b) {\r\n\t\t\textendStatics =\r\n\t\t\t\tObject.setPrototypeOf ||\r\n\t\t\t\t({ __proto__: [] } instanceof Array &&\r\n\t\t\t\t\tfunction (d, b) {\r\n\t\t\t\t\t\td.__proto__ = b;\r\n\t\t\t\t\t}) ||\r\n\t\t\t\tfunction (d, b) {\r\n\t\t\t\t\tfor (var p in b) if (Object.hasOwnProperty.call(b, p)) d[p] = b[p];\r\n\t\t\t\t};\r\n\t\t\treturn extendStatics(d, b);\r\n\t\t};\r\n\r\n\t\tfunction __extends(d, b) {\r\n\t\t\tif (typeof b !== \"function\" && b !== null)\r\n\t\t\t\tthrow new TypeError(\r\n\t\t\t\t\t\"Class extends value \" + String(b) + \" is not a constructor or null\"\r\n\t\t\t\t);\r\n\t\t\textendStatics(d, b);\r\n\t\t\tfunction __() {\r\n\t\t\t\tthis.constructor = d;\r\n\t\t\t}\r\n\t\t\td.prototype =\r\n\t\t\t\tb === null\r\n\t\t\t\t\t? Object.create(b)\r\n\t\t\t\t\t: ((__.prototype = b.prototype), new __());\r\n\t\t}\r\n\r\n\t\tvar __assign = function () {\r\n\t\t\t__assign =\r\n\t\t\t\tObject.assign ||\r\n\t\t\t\tfunction __assign(t) {\r\n\t\t\t\t\tfor (var s, i = 1, n = arguments.length; i < n; i++) {\r\n\t\t\t\t\t\ts = arguments[i];\r\n\t\t\t\t\t\tfor (var p in s) if (Object.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn t;\r\n\t\t\t\t};\r\n\r\n\t\t\treturn __assign.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tfunction __values(o) {\r\n\t\t\tvar s = typeof Symbol === \"function\" && Symbol.iterator,\r\n\t\t\t\tm = s && o[s],\r\n\t\t\t\ti = 0;\r\n\t\t\tif (m) return m.call(o);\r\n\t\t\tif (o && typeof o.length === \"number\")\r\n\t\t\t\treturn {\r\n\t\t\t\t\tnext: function () {\r\n\t\t\t\t\t\tif (o && i >= o.length) o = void 0;\r\n\t\t\t\t\t\treturn { value: o && o[i++], done: !o };\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\tthrow new TypeError(\r\n\t\t\t\ts ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\"\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tvar AnyEvent = (function () {\r\n\t\t\tfunction AnyEvent() {\r\n\t\t\t\tthis.__map = {};\r\n\t\t\t}\r\n\r\n\t\t\tAnyEvent.prototype.beforeEach = function (interceptor) {\r\n\t\t\t\tthis.__interceptor = interceptor;\r\n\t\t\t};\r\n\r\n\t\t\tAnyEvent.prototype.on = function (typeOrTypes, listener) {\r\n\t\t\t\tvar e_1, _a;\r\n\t\t\t\tvar types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];\r\n\t\t\t\ttry {\r\n\t\t\t\t\tfor (\r\n\t\t\t\t\t\tvar types_1 = __values(types), types_1_1 = types_1.next();\r\n\t\t\t\t\t\t!types_1_1.done;\r\n\t\t\t\t\t\ttypes_1_1 = types_1.next()\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tvar type = types_1_1.value;\r\n\r\n\t\t\t\t\t\tthis.__map[type] = this.__map[type] || [];\r\n\r\n\t\t\t\t\t\tvar listeners = this.__map[type];\r\n\t\t\t\t\t\tif (listeners) {\r\n\t\t\t\t\t\t\tlisteners.push(listener);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (e_1_1) {\r\n\t\t\t\t\te_1 = { error: e_1_1 };\r\n\t\t\t\t} finally {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tif (types_1_1 && !types_1_1.done && (_a = types_1.return))\r\n\t\t\t\t\t\t\t_a.call(types_1);\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\tif (e_1) throw e_1.error;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t};\r\n\r\n\t\t\tAnyEvent.prototype.emit = function (type, payload, callback) {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tif (void 0 !== this.__interceptor) {\r\n\t\t\t\t\tthis.__interceptor(type, function () {\r\n\t\t\t\t\t\t_this.__emit(type, payload);\r\n\t\t\t\t\t\tcallback && callback();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.__emit(type, payload);\r\n\t\t\t\t\tcallback && callback();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tAnyEvent.prototype.__emit = function (type, event) {\r\n\t\t\t\tvar e_2, _a;\r\n\r\n\t\t\t\tvar listeners = this.__map[type];\r\n\t\t\t\tif (\r\n\t\t\t\t\tArray.isArray(listeners) &&\r\n\t\t\t\t\t(listeners === null || listeners === void 0\r\n\t\t\t\t\t\t? void 0\r\n\t\t\t\t\t\t: listeners.length)\r\n\t\t\t\t) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tfor (\r\n\t\t\t\t\t\t\tvar listeners_1 = __values(listeners),\r\n\t\t\t\t\t\t\t\tlisteners_1_1 = listeners_1.next();\r\n\t\t\t\t\t\t\t!listeners_1_1.done;\r\n\t\t\t\t\t\t\tlisteners_1_1 = listeners_1.next()\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tvar listener = listeners_1_1.value;\r\n\t\t\t\t\t\t\tlistener(event, type);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (e_2_1) {\r\n\t\t\t\t\t\te_2 = { error: e_2_1 };\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tlisteners_1_1 &&\r\n\t\t\t\t\t\t\t\t!listeners_1_1.done &&\r\n\t\t\t\t\t\t\t\t(_a = listeners_1.return)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t_a.call(listeners_1);\r\n\t\t\t\t\t\t} finally {\r\n\t\t\t\t\t\t\tif (e_2) throw e_2.error;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.event = event;\r\n\t\t\t};\r\n\r\n\t\t\tAnyEvent.prototype.off = function (type, listener) {\r\n\t\t\t\tvar listeners = this.__map[type];\r\n\t\t\t\tif (void 0 !== listeners) {\r\n\t\t\t\t\tif (void 0 === listener) {\r\n\t\t\t\t\t\tdelete this.__map[type];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar index = listeners.findIndex(function (cb) {\r\n\t\t\t\t\t\t\treturn cb === listener;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tlisteners.splice(index, 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tAnyEvent.prototype.destroy = function () {\r\n\t\t\t\tthis.__map = {};\r\n\t\t\t};\r\n\t\t\treturn AnyEvent;\r\n\t\t})();\r\n\r\n\t\tvar TOUCH_START = \"touchstart\";\r\n\t\tvar TOUCH_MOVE = \"touchmove\";\r\n\t\tvar TOUCH_END = \"touchend\";\r\n\t\tvar TOUCH_CANCEL = \"touchcancel\";\r\n\t\tvar MOUSE_UP = \"mouseup\";\r\n\t\tvar MOUSE_MOVE = \"mousemove\";\r\n\t\tvar MOUSE_DOWN = \"mousedown\";\r\n\t\tvar TYPE_START$1 = \"start\";\r\n\t\tvar TYPE_MOVE$1 = \"move\";\r\n\t\tvar TYPE_END$1 = \"end\";\r\n\r\n\t\tfunction isFunction(input) {\r\n\t\t\treturn \"[object Function]\" === Object.prototype.toString.call(input);\r\n\t\t}\r\n\r\n\t\tvar CLIENT_X = \"clientX\";\r\n\t\tvar CLIENT_Y = \"clientY\";\r\n\t\tvar COMPUTE_INTERVAL = 16;\r\n\t\tvar TYPE_START = \"start\";\r\n\t\tvar TYPE_MOVE = \"move\";\r\n\t\tvar TYPE_CANCEL = \"cancel\";\r\n\t\tvar TYPE_END = \"end\";\r\n\t\tvar DIRECTION_LEFT = \"left\";\r\n\t\tvar DIRECTION_RIGHT = \"right\";\r\n\t\tvar DIRECTION_UP = \"up\";\r\n\t\tvar DIRECTION_DOWN = \"down\";\r\n\r\n\t\tvar _a;\r\n\t\tvar STATUS_CODE_AND_NAME_MAP =\r\n\t\t\t((_a = {}),\r\n\t\t\t(_a[4] = TYPE_START),\r\n\t\t\t(_a[5] = TYPE_MOVE),\r\n\t\t\t(_a[1] = TYPE_END),\r\n\t\t\t(_a[3] = TYPE_CANCEL),\r\n\t\t\t_a);\r\n\r\n\t\tfunction getStatusName(code) {\r\n\t\t\treturn STATUS_CODE_AND_NAME_MAP[code];\r\n\t\t}\r\n\r\n\t\tfunction flow(isVaild, lastStatus, phase) {\r\n\t\t\tvar _a, _b, _c, _d, _e, _f, _g;\r\n\t\t\tvar STATE_MAP = {\r\n\t\t\t\t1:\r\n\t\t\t\t\t((_a = {}),\r\n\t\t\t\t\t(_a[0] = ((_b = {}), (_b[TYPE_MOVE] = 4), _b)),\r\n\t\t\t\t\t(_a[4] =\r\n\t\t\t\t\t\t((_c = {}),\r\n\t\t\t\t\t\t(_c[TYPE_MOVE] = 5),\r\n\t\t\t\t\t\t(_c[TYPE_END] = 1),\r\n\t\t\t\t\t\t(_c[TYPE_CANCEL] = 3),\r\n\t\t\t\t\t\t_c)),\r\n\t\t\t\t\t(_a[5] =\r\n\t\t\t\t\t\t((_d = {}),\r\n\t\t\t\t\t\t(_d[TYPE_MOVE] = 5),\r\n\t\t\t\t\t\t(_d[TYPE_END] = 1),\r\n\t\t\t\t\t\t(_d[TYPE_CANCEL] = 3),\r\n\t\t\t\t\t\t_d)),\r\n\t\t\t\t\t_a),\r\n\t\t\t\t0:\r\n\t\t\t\t\t((_e = {}),\r\n\t\t\t\t\t(_e[4] =\r\n\t\t\t\t\t\t((_f = {}),\r\n\t\t\t\t\t\t(_f[TYPE_MOVE] = 2),\r\n\t\t\t\t\t\t(_f[TYPE_END] = 1),\r\n\t\t\t\t\t\t(_f[TYPE_CANCEL] = 3),\r\n\t\t\t\t\t\t_f)),\r\n\t\t\t\t\t(_e[5] =\r\n\t\t\t\t\t\t((_g = {}),\r\n\t\t\t\t\t\t(_g[TYPE_START] = 2),\r\n\t\t\t\t\t\t(_g[TYPE_MOVE] = 2),\r\n\t\t\t\t\t\t(_g[TYPE_END] = 1),\r\n\t\t\t\t\t\t(_g[TYPE_CANCEL] = 3),\r\n\t\t\t\t\t\t_g)),\r\n\t\t\t\t\t_e),\r\n\t\t\t};\r\n\r\n\t\t\tvar map = STATE_MAP[Number(isVaild)][lastStatus];\r\n\t\t\treturn (void 0 !== map && map[phase]) || 0;\r\n\t\t}\r\n\r\n\t\tfunction resetState(context) {\r\n\t\t\tif ([1, 3, 2].includes(context.state)) {\r\n\t\t\t\tcontext.state = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction isMoveOrEndOrCancel(state) {\r\n\t\t\treturn [5, 1, 3].includes(state);\r\n\t\t}\r\n\r\n\t\tfunction isDisabled(context) {\r\n\t\t\tif (context.disabled) {\r\n\t\t\t\tcontext.state = 0;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction createPluginContext(defaultOptions, options) {\r\n\t\t\treturn __assign(__assign(__assign({}, defaultOptions), options), {\r\n\t\t\t\tstate: 0,\r\n\t\t\t\tdisabled: false,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction round2(n) {\r\n\t\t\treturn Math.round(n * 100) / 100;\r\n\t\t}\r\n\r\n\t\tfunction inputCreator() {\r\n\t\t\tvar id = 0;\r\n\t\t\tvar prevInput;\r\n\r\n\t\t\tvar activeInput;\r\n\r\n\t\t\tvar startInput;\r\n\r\n\t\t\tvar startMultiInput;\r\n\r\n\t\t\treturn function (basicsInput) {\r\n\t\t\t\tprevInput = activeInput;\r\n\t\t\t\tif (void 0 !== basicsInput) {\r\n\t\t\t\t\tid = Number.MAX_SAFE_INTEGER > id ? ++id : 1;\r\n\t\t\t\t\tvar pureInput = extendInput(basicsInput, id);\r\n\t\t\t\t\tactiveInput = pureInput;\r\n\t\t\t\t\tvar isStart = pureInput.isStart,\r\n\t\t\t\t\t\tpointLength = pureInput.pointLength;\r\n\t\t\t\t\tif (isStart) {\r\n\t\t\t\t\t\tstartInput = pureInput;\r\n\t\t\t\t\t\tprevInput = void 0;\r\n\t\t\t\t\t\tif (1 < pointLength) {\r\n\t\t\t\t\t\t\tstartMultiInput = pureInput;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstartMultiInput = void 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn __assign(__assign({}, pureInput), {\r\n\t\t\t\t\t\tprevInput: prevInput,\r\n\r\n\t\t\t\t\t\tstartMultiInput: startMultiInput,\r\n\r\n\t\t\t\t\t\tstartInput: startInput,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction getCenter(points) {\r\n\t\t\tvar length = points.length;\r\n\t\t\tif (0 < length) {\r\n\t\t\t\tif (1 === length) {\r\n\t\t\t\t\tvar _a = points[0],\r\n\t\t\t\t\t\tclientX = _a.clientX,\r\n\t\t\t\t\t\tclientY = _a.clientY;\r\n\t\t\t\t\treturn { x: Math.round(clientX), y: Math.round(clientY) };\r\n\t\t\t\t}\r\n\t\t\t\tvar countPoint = points.reduce(\r\n\t\t\t\t\tfunction (countPoint, point) {\r\n\t\t\t\t\t\tcountPoint.x += point[CLIENT_X];\r\n\t\t\t\t\t\tcountPoint.y += point[CLIENT_Y];\r\n\t\t\t\t\t\treturn countPoint;\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{ x: 0, y: 0 }\r\n\t\t\t\t);\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: Math.round(countPoint.x / length),\r\n\t\t\t\t\ty: Math.round(countPoint.y / length),\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction extendInput(basicsInput, id) {\r\n\t\t\tvar phase = basicsInput.phase,\r\n\t\t\t\tpoints = basicsInput.points,\r\n\t\t\t\tchangedPoints = basicsInput.changedPoints,\r\n\t\t\t\tnativeEvent = basicsInput.nativeEvent;\r\n\t\t\tvar pointLength = points.length;\r\n\t\t\tvar isStart = TYPE_START === phase;\r\n\t\t\tvar isEnd =\r\n\t\t\t\t(TYPE_END === phase && 0 === pointLength) || TYPE_CANCEL === phase;\r\n\t\t\tvar timestamp = Date.now();\r\n\t\t\tvar _a = getCenter(points) || getCenter(changedPoints),\r\n\t\t\t\tx = _a.x,\r\n\t\t\t\ty = _a.y;\r\n\t\t\tvar currentTarget = nativeEvent.currentTarget;\r\n\t\t\treturn Object.assign(basicsInput, {\r\n\t\t\t\tid: id,\r\n\t\t\t\tx: x,\r\n\t\t\t\ty: y,\r\n\t\t\t\ttimestamp: timestamp,\r\n\t\t\t\tisStart: isStart,\r\n\t\t\t\tisEnd: isEnd,\r\n\t\t\t\tpointLength: pointLength,\r\n\t\t\t\tcurrentTarget: currentTarget,\r\n\r\n\t\t\t\tgetOffset: function (el) {\r\n\t\t\t\t\tif (el === void 0) {\r\n\t\t\t\t\t\tel = currentTarget;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar rect = el.getBoundingClientRect();\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tx: x - Math.round(rect.left),\r\n\t\t\t\t\t\ty: y - Math.round(rect.top),\r\n\t\t\t\t\t};\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction mouse() {\r\n\t\t\tvar prevPoints;\r\n\t\t\tvar isPressed = false;\r\n\r\n\t\t\tvar _target = null;\r\n\t\t\tvar createInput = inputCreator();\r\n\r\n\t\t\treturn function (event) {\r\n\t\t\t\tvar clientX = event.clientX,\r\n\t\t\t\t\tclientY = event.clientY,\r\n\t\t\t\t\ttype = event.type,\r\n\t\t\t\t\tbutton = event.button,\r\n\t\t\t\t\ttarget = event.target;\r\n\t\t\t\tvar points = [{ clientX: clientX, clientY: clientY, target: target }];\r\n\t\t\t\tvar phase;\r\n\t\t\t\tif (MOUSE_DOWN === type && 0 === button) {\r\n\t\t\t\t\t_target = target;\r\n\t\t\t\t\tisPressed = true;\r\n\t\t\t\t\tphase = TYPE_START$1;\r\n\t\t\t\t} else if (isPressed) {\r\n\t\t\t\t\tif (MOUSE_MOVE === type) {\r\n\t\t\t\t\t\tphase = TYPE_MOVE$1;\r\n\t\t\t\t\t} else if (MOUSE_UP === type) {\r\n\t\t\t\t\t\tpoints = [];\r\n\t\t\t\t\t\tphase = TYPE_END$1;\r\n\t\t\t\t\t\tisPressed = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar changedPoints = prevPoints || [\r\n\t\t\t\t\t{ clientX: clientX, clientY: clientY, target: target },\r\n\t\t\t\t];\r\n\t\t\t\tprevPoints = [{ clientX: clientX, clientY: clientY, target: target }];\r\n\t\t\t\tif (void 0 !== phase) {\r\n\t\t\t\t\treturn createInput({\r\n\t\t\t\t\t\tphase: phase,\r\n\t\t\t\t\t\tchangedPoints: changedPoints,\r\n\t\t\t\t\t\tpoints: points,\r\n\r\n\t\t\t\t\t\ttarget: _target,\r\n\r\n\t\t\t\t\t\ttargets: [_target],\r\n\t\t\t\t\t\tnativeEvent: event,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction touch(el) {\r\n\t\t\tvar createInput = inputCreator();\r\n\r\n\t\t\treturn function (event) {\r\n\t\t\t\tvar targets = [];\r\n\r\n\t\t\t\tvar points = [];\r\n\t\t\t\tArray.from(event.touches).forEach(function (_a) {\r\n\t\t\t\t\tvar clientX = _a.clientX,\r\n\t\t\t\t\t\tclientY = _a.clientY,\r\n\t\t\t\t\t\ttarget = _a.target;\r\n\t\t\t\t\tif (el === null || el === void 0 ? void 0 : el.contains(target)) {\r\n\t\t\t\t\t\ttargets.push(target);\r\n\t\t\t\t\t\tpoints.push({\r\n\t\t\t\t\t\t\tclientX: clientX,\r\n\t\t\t\t\t\t\tclientY: clientY,\r\n\t\t\t\t\t\t\ttarget: target,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tvar changedPoints = Array.from(event.changedTouches).map(function (_a) {\r\n\t\t\t\t\tvar clientX = _a.clientX,\r\n\t\t\t\t\t\tclientY = _a.clientY,\r\n\t\t\t\t\t\ttarget = _a.target;\r\n\t\t\t\t\treturn { clientX: clientX, clientY: clientY, target: target };\r\n\t\t\t\t});\r\n\t\t\t\treturn createInput({\r\n\t\t\t\t\tphase: event.type.replace(\"touch\", \"\"),\r\n\t\t\t\t\tchangedPoints: changedPoints,\r\n\r\n\t\t\t\t\tpoints: points,\r\n\t\t\t\t\tnativeEvent: event,\r\n\t\t\t\t\ttarget: event.target,\r\n\r\n\t\t\t\t\ttargets: targets,\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction dispatchDomEvent(typeName, el, payload, eventInit) {\r\n\t\t\tvar data = {};\r\n\t\t\tfor (var key in payload) {\r\n\t\t\t\tif (![\"target\", \"currentTarget\", \"type\"].includes(key)) {\r\n\t\t\t\t\tdata[key] = payload[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar event;\r\n\t\t\tif (document.createEvent) {\r\n\t\t\t\tevent = document.createEvent(\"HTMLEvents\");\r\n\t\t\t\tevent.initEvent(\r\n\t\t\t\t\ttypeName,\r\n\t\t\t\t\teventInit === null || eventInit === void 0\r\n\t\t\t\t\t\t? void 0\r\n\t\t\t\t\t\t: eventInit.bubbles,\r\n\t\t\t\t\teventInit === null || eventInit === void 0\r\n\t\t\t\t\t\t? void 0\r\n\t\t\t\t\t\t: eventInit.cancelable\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tevent = new Event(typeName, eventInit);\r\n\t\t\t}\r\n\t\t\tObject.assign(event, data, {\r\n\t\t\t\tmatch: function () {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\tpayload.targets &&\r\n\t\t\t\t\t\t0 < payload.targets.length &&\r\n\t\t\t\t\t\tpayload.targets.every(function (target) {\r\n\t\t\t\t\t\t\treturn event.currentTarget.contains(target);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\treturn el.dispatchEvent(event);\r\n\t\t}\r\n\r\n\t\tfunction canPreventDefault(event, options) {\r\n\t\t\tvar preventDefault = options.preventDefault;\r\n\t\t\tif (isFunction(preventDefault)) {\r\n\t\t\t\treturn preventDefault(event);\r\n\t\t\t} else {\r\n\t\t\t\treturn !!preventDefault;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar ELEMENT_TYPES = [\r\n\t\t\tTOUCH_START,\r\n\t\t\tTOUCH_MOVE,\r\n\t\t\tTOUCH_END,\r\n\t\t\tTOUCH_CANCEL,\r\n\t\t\tMOUSE_DOWN,\r\n\t\t];\r\n\t\tvar WINDOW_TYPES = [MOUSE_MOVE, MOUSE_UP];\r\n\r\n\t\tfunction bindElement(el, catchEvent, options) {\r\n\t\t\tELEMENT_TYPES.forEach(function (type) {\r\n\t\t\t\tel.addEventListener(type, catchEvent, options);\r\n\t\t\t});\r\n\t\t\tWINDOW_TYPES.forEach(function (type) {\r\n\t\t\t\twindow.addEventListener(type, catchEvent, options);\r\n\t\t\t});\r\n\t\t\treturn function () {\r\n\t\t\t\tELEMENT_TYPES.forEach(function (types) {\r\n\t\t\t\t\tel.removeEventListener(types, catchEvent);\r\n\t\t\t\t});\r\n\t\t\t\tWINDOW_TYPES.forEach(function (type) {\r\n\t\t\t\t\twindow.removeEventListener(type, catchEvent);\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tvar TYPE_COMPUTED = \"computed\";\r\n\t\tvar DEFAULT_OPTIONS$6 = {\r\n\t\t\tdomEvents: { bubbles: true, cancelable: true },\r\n\r\n\t\t\tpreventDefault: function (event) {\r\n\t\t\t\tif (event.target && \"tagName\" in event.target) {\r\n\t\t\t\t\tvar tagName = event.target.tagName;\r\n\t\t\t\t\treturn !/^(?:INPUT|TEXTAREA|BUTTON|SELECT)$/.test(tagName);\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t},\r\n\t\t};\r\n\t\tvar TYPE_UNBIND = \"u\";\r\n\t\tvar TYPE_INPUT = \"input\";\r\n\t\tvar TYPE_AT_AFTER = \"at:after\";\r\n\t\tvar default_1$1 = (function (_super) {\r\n\t\t\t__extends(default_1, _super);\r\n\r\n\t\t\tfunction default_1(el, options) {\r\n\t\t\t\tvar _a;\r\n\r\n\t\t\t\tvar _this = _super.call(this) || this;\r\n\r\n\t\t\t\t_this.v = \"2.1.3\";\r\n\r\n\t\t\t\t_this.__computeFunctionList = [];\r\n\r\n\t\t\t\t_this.__computeFunctionCreatorList = [];\r\n\r\n\t\t\t\t_this.__pluginContexts = [];\r\n\t\t\t\t_this.__isIgnoreMouse = false;\r\n\r\n\t\t\t\t_this.el = el;\r\n\t\t\t\t_this.c = {};\r\n\t\t\t\t_this.__options = __assign(__assign({}, DEFAULT_OPTIONS$6), options);\r\n\r\n\t\t\t\tvar createInputFromTouch = touch(_this.el);\r\n\t\t\t\tvar createInputFromMouse = mouse();\r\n\r\n\t\t\t\t_this.__inputCreatorMap =\r\n\t\t\t\t\t((_a = {}),\r\n\t\t\t\t\t(_a[TOUCH_START] = createInputFromTouch),\r\n\t\t\t\t\t(_a[TOUCH_MOVE] = createInputFromTouch),\r\n\t\t\t\t\t(_a[TOUCH_END] = createInputFromTouch),\r\n\t\t\t\t\t(_a[TOUCH_CANCEL] = createInputFromTouch),\r\n\t\t\t\t\t(_a[MOUSE_DOWN] = createInputFromMouse),\r\n\t\t\t\t\t(_a[MOUSE_MOVE] = createInputFromMouse),\r\n\t\t\t\t\t(_a[MOUSE_UP] = createInputFromMouse),\r\n\t\t\t\t\t_a);\r\n\r\n\t\t\t\t_this.on(TYPE_AT_AFTER, function (payload) {\r\n\t\t\t\t\tvar target = payload.target,\r\n\t\t\t\t\t\t__type = payload.__type;\r\n\t\t\t\t\tvar domEvents = _this.__options.domEvents;\r\n\r\n\t\t\t\t\tif (!!domEvents && void 0 !== _this.el && !!target) {\r\n\t\t\t\t\t\tdispatchDomEvent(__type, target, payload, domEvents);\r\n\t\t\t\t\t\tdispatchDomEvent(TYPE_AT_AFTER, target, payload, domEvents);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (void 0 !== el) {\r\n\t\t\t\t\tel.style.webkitTapHighlightColor = \"rgba(0,0,0,0)\";\r\n\t\t\t\t\tvar supportsPassive_1 = false;\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar opts = {};\r\n\t\t\t\t\t\tOriginPrototype.Object.defineProperty(opts, \"passive\", {\r\n\t\t\t\t\t\t\tget: function () {\r\n\t\t\t\t\t\t\t\tsupportsPassive_1 = true;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\twindow.addEventListener(\r\n\t\t\t\t\t\t\t\"_\",\r\n\t\t\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t\t\treturn void 0;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\topts\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} catch (_b) {}\r\n\r\n\t\t\t\t\t_this.on(\r\n\t\t\t\t\t\tTYPE_UNBIND,\r\n\t\t\t\t\t\tbindElement(\r\n\t\t\t\t\t\t\tel,\r\n\t\t\t\t\t\t\t_this.catchEvent.bind(_this),\r\n\t\t\t\t\t\t\tfalse === _this.__options.preventDefault && supportsPassive_1\r\n\t\t\t\t\t\t\t\t? { passive: true }\r\n\t\t\t\t\t\t\t\t: { passive: false }\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\treturn _this;\r\n\t\t\t}\r\n\r\n\t\t\tdefault_1.prototype.use = function (plugin, pluginOptions) {\r\n\t\t\t\tthis.__pluginContexts.push(plugin(this, pluginOptions));\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.catchEvent = function (event) {\r\n\t\t\t\tvar input = this.__inputCreatorMap[event.type](event);\r\n\t\t\t\tif (void 0 !== input) {\r\n\t\t\t\t\tvar stopPropagation = function () {\r\n\t\t\t\t\t\treturn event.stopPropagation();\r\n\t\t\t\t\t};\r\n\t\t\t\t\tvar stopImmediatePropagation = function () {\r\n\t\t\t\t\t\treturn event.stopImmediatePropagation();\r\n\t\t\t\t\t};\r\n\t\t\t\t\tvar preventDefault = function () {\r\n\t\t\t\t\t\treturn event.preventDefault();\r\n\t\t\t\t\t};\r\n\t\t\t\t\tif (canPreventDefault(event, this.__options)) {\r\n\t\t\t\t\t\tpreventDefault();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (\"touchstart\" === event.type) {\r\n\t\t\t\t\t\t\tthis.__isIgnoreMouse = true;\r\n\t\t\t\t\t\t} else if (\"touchmove\" === event.type) {\r\n\t\t\t\t\t\t\tthis.__isIgnoreMouse = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.__isIgnoreMouse && event.type.startsWith(\"mouse\")) {\r\n\t\t\t\t\t\t\tif (\"mouseup\" === event.type) {\r\n\t\t\t\t\t\t\t\tthis.__isIgnoreMouse = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.emit(TYPE_INPUT, input);\r\n\t\t\t\t\tthis.emit2(\"at:\".concat(input.phase), input, {});\r\n\t\t\t\t\tvar computed_1 = {};\r\n\r\n\t\t\t\t\tthis.__computeFunctionList.forEach(function (compute) {\r\n\t\t\t\t\t\tvar result = compute(input, computed_1);\r\n\t\t\t\t\t\tif (void 0 !== result) {\r\n\t\t\t\t\t\t\tfor (var key in result) {\r\n\t\t\t\t\t\t\t\tcomputed_1[key] = result[key];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tthis.emit(\r\n\t\t\t\t\t\tTYPE_COMPUTED,\r\n\t\t\t\t\t\t__assign(__assign(__assign({}, input), computed_1), {\r\n\t\t\t\t\t\t\tstopPropagation: stopPropagation,\r\n\t\t\t\t\t\t\tstopImmediatePropagation: stopImmediatePropagation,\r\n\t\t\t\t\t\t\tpreventDefault: preventDefault,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tdefault_1.prototype.compute = function (\r\n\t\t\t\tcomputeFunctionCreatorList,\r\n\r\n\t\t\t\tcallback\r\n\t\t\t) {\r\n\t\t\t\tvar e_1, _a;\r\n\t\t\t\ttry {\r\n\t\t\t\t\tfor (\r\n\t\t\t\t\t\tvar computeFunctionCreatorList_1 = __values(\r\n\t\t\t\t\t\t\t\tcomputeFunctionCreatorList\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\tcomputeFunctionCreatorList_1_1 =\r\n\t\t\t\t\t\t\t\tcomputeFunctionCreatorList_1.next();\r\n\t\t\t\t\t\t!computeFunctionCreatorList_1_1.done;\r\n\t\t\t\t\t\tcomputeFunctionCreatorList_1_1 = computeFunctionCreatorList_1.next()\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tvar computeFunctionCreator = computeFunctionCreatorList_1_1.value;\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t!this.__computeFunctionCreatorList.includes(\r\n\t\t\t\t\t\t\t\tcomputeFunctionCreator\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tthis.__computeFunctionCreatorList.push(computeFunctionCreator);\r\n\r\n\t\t\t\t\t\t\tthis.__computeFunctionList.push(computeFunctionCreator());\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (e_1_1) {\r\n\t\t\t\t\te_1 = { error: e_1_1 };\r\n\t\t\t\t} finally {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tcomputeFunctionCreatorList_1_1 &&\r\n\t\t\t\t\t\t\t!computeFunctionCreatorList_1_1.done &&\r\n\t\t\t\t\t\t\t(_a = computeFunctionCreatorList_1.return)\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t_a.call(computeFunctionCreatorList_1);\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\tif (e_1) throw e_1.error;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.on(TYPE_COMPUTED, callback);\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.beforeEach = function (interceptor) {\r\n\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\t_super.prototype.beforeEach.call(this, function (type, next) {\r\n\t\t\t\t\tvar _a;\r\n\t\t\t\t\tif ((_a = _this.c) === null || _a === void 0 ? void 0 : _a.name) {\r\n\t\t\t\t\t\tinterceptor(type, next);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnext();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.get = function (name) {\r\n\t\t\t\treturn this.__pluginContexts.find(function (pluginContext) {\r\n\t\t\t\t\treturn name === pluginContext.name;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.set = function (newOptions) {\r\n\t\t\t\tthis.__options = __assign(__assign({}, this.__options), newOptions);\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.emit2 = function (type, payload, pluginContext) {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tthis.c = pluginContext;\r\n\r\n\t\t\t\tthis.emit(\r\n\t\t\t\t\ttype,\r\n\t\t\t\t\t__assign(__assign({}, payload), { type: type }),\r\n\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t_this.emit(\r\n\t\t\t\t\t\t\tTYPE_AT_AFTER,\r\n\t\t\t\t\t\t\t__assign(__assign({}, payload), { name: type, __type: type })\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t\tdefault_1.prototype.destroy = function () {\r\n\t\t\t\tthis.emit(TYPE_UNBIND);\r\n\t\t\t\t_super.prototype.destroy.call(this);\r\n\t\t\t};\r\n\t\t\treturn default_1;\r\n\t\t})(AnyEvent);\r\n\r\n\t\tvar getVLength = function (v) {\r\n\t\t\treturn Math.sqrt(v.x * v.x + v.y * v.y);\r\n\t\t};\r\n\r\n\t\tvar getDotProduct = function (v1, v2) {\r\n\t\t\treturn v1.x * v2.x + v1.y * v2.y;\r\n\t\t};\r\n\r\n\t\tvar getRadian = function (v1, v2) {\r\n\t\t\tvar mr = getVLength(v1) * getVLength(v2);\r\n\t\t\tif (mr === 0) return 0;\r\n\t\t\tvar r = getDotProduct(v1, v2) / mr;\r\n\t\t\tif (r > 1) r = 1;\r\n\t\t\treturn Math.acos(r);\r\n\t\t};\r\n\r\n\t\tvar getCross = function (v1, v2) {\r\n\t\t\treturn v1.x * v2.y - v2.x * v1.y;\r\n\t\t};\r\n\r\n\t\tvar radianToAngle = function (radian) {\r\n\t\t\treturn (radian / Math.PI) * 180;\r\n\t\t};\r\n\r\n\t\tvar getAngle = function (v1, v2) {\r\n\t\t\tvar angle = getRadian(v1, v2);\r\n\t\t\tif (getCross(v1, v2) > 0) {\r\n\t\t\t\tangle *= -1;\r\n\t\t\t}\r\n\t\t\treturn radianToAngle(angle);\r\n\t\t};\r\n\r\n\t\tvar getDirection = function (x, y) {\r\n\t\t\tif (0 === x && 0 === y) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (Math.abs(x) >= Math.abs(y)) {\r\n\t\t\t\treturn 0 < x ? DIRECTION_RIGHT : DIRECTION_LEFT;\r\n\t\t\t} else {\r\n\t\t\t\treturn 0 < y ? DIRECTION_DOWN : DIRECTION_UP;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction ComputeAngle() {\r\n\t\t\tvar angle = 0;\r\n\t\t\tvar deltaAngle = 0;\r\n\r\n\t\t\treturn function (input, computed) {\r\n\t\t\t\tvar prevVecotr = computed.prevVecotr,\r\n\t\t\t\t\tstartVecotr = computed.startVecotr,\r\n\t\t\t\t\tactiveVecotr = computed.activeVecotr;\r\n\t\t\t\tif (activeVecotr) {\r\n\t\t\t\t\tdeltaAngle = Math.round(getAngle(activeVecotr, prevVecotr));\r\n\t\t\t\t\tangle = Math.round(getAngle(activeVecotr, startVecotr));\r\n\t\t\t\t}\r\n\t\t\t\treturn { angle: angle, deltaAngle: deltaAngle };\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeDeltaXY() {\r\n\t\t\treturn function (input) {\r\n\t\t\t\tvar prevInput = input.prevInput;\r\n\t\t\t\tvar deltaX = 0;\r\n\t\t\t\tvar deltaY = 0;\r\n\t\t\t\tvar deltaXYAngle = 0;\r\n\t\t\t\tif (void 0 !== prevInput) {\r\n\t\t\t\t\tdeltaX = input.x - prevInput.x;\r\n\t\t\t\t\tdeltaY = input.y - prevInput.y;\r\n\t\t\t\t\tif (0 !== deltaX || 0 !== deltaY) {\r\n\t\t\t\t\t\tvar deltaXY = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t\t\t\t\t\tdeltaXYAngle = Math.round(\r\n\t\t\t\t\t\t\tradianToAngle(Math.acos(Math.abs(deltaX) / deltaXY))\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdeltaX: deltaX,\r\n\t\t\t\t\tdeltaY: deltaY,\r\n\t\t\t\t\tdeltaXYAngle: deltaXYAngle,\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeDistance() {\r\n\t\t\tvar displacementX = 0;\r\n\t\t\tvar displacementY = 0;\r\n\t\t\tvar distanceX = 0;\r\n\t\t\tvar distanceY = 0;\r\n\t\t\tvar distance = 0;\r\n\r\n\t\t\tvar overallDirection;\r\n\r\n\t\t\treturn function (input) {\r\n\t\t\t\tvar phase = input.phase,\r\n\t\t\t\t\tstartInput = input.startInput;\r\n\t\t\t\tif (TYPE_START === phase) {\r\n\t\t\t\t\tdisplacementX = 0;\r\n\t\t\t\t\tdisplacementY = 0;\r\n\t\t\t\t\tdistanceX = 0;\r\n\t\t\t\t\tdistanceY = 0;\r\n\t\t\t\t\tdistance = 0;\r\n\t\t\t\t} else if (TYPE_MOVE === phase) {\r\n\t\t\t\t\tdisplacementX = Math.round(\r\n\t\t\t\t\t\tinput.points[0][CLIENT_X] - startInput.points[0][CLIENT_X]\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdisplacementY = Math.round(\r\n\t\t\t\t\t\tinput.points[0][CLIENT_Y] - startInput.points[0][CLIENT_Y]\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdistanceX = Math.abs(displacementX);\r\n\t\t\t\t\tdistanceY = Math.abs(displacementY);\r\n\t\t\t\t\tdistance = Math.round(getVLength({ x: distanceX, y: distanceY }));\r\n\t\t\t\t\toverallDirection = getDirection(displacementX, displacementY);\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdisplacementX: displacementX,\r\n\t\t\t\t\tdisplacementY: displacementY,\r\n\t\t\t\t\tdistanceX: distanceX,\r\n\t\t\t\t\tdistanceY: distanceY,\r\n\t\t\t\t\tdistance: distance,\r\n\r\n\t\t\t\t\toverallDirection: overallDirection,\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeScale() {\r\n\t\t\tvar scale = 1;\r\n\r\n\t\t\treturn function (input, computed) {\r\n\t\t\t\tvar deltaScale = 1;\r\n\t\t\t\tvar prevVecotr = computed.prevVecotr,\r\n\t\t\t\t\tstartVecotr = computed.startVecotr,\r\n\t\t\t\t\tactiveVecotr = computed.activeVecotr;\r\n\t\t\t\tif (activeVecotr) {\r\n\t\t\t\t\tdeltaScale = round2(\r\n\t\t\t\t\t\tgetVLength(activeVecotr) / getVLength(prevVecotr)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tscale = round2(getVLength(activeVecotr) / getVLength(startVecotr));\r\n\t\t\t\t}\r\n\t\t\t\treturn { scale: scale, deltaScale: deltaScale };\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeVAndDir() {\r\n\t\t\tvar velocityX = 0;\r\n\t\t\tvar velocityY = 0;\r\n\t\t\tvar speedX = 0;\r\n\t\t\tvar speedY = 0;\r\n\r\n\t\t\tvar direction;\r\n\r\n\t\t\tvar lastValidInput;\r\n\r\n\t\t\treturn function (input) {\r\n\t\t\t\tif (void 0 !== input) {\r\n\t\t\t\t\tlastValidInput = lastValidInput || input.startInput;\r\n\t\t\t\t\tvar deltaTime = input.timestamp - lastValidInput.timestamp;\r\n\t\t\t\t\tif (COMPUTE_INTERVAL < deltaTime) {\r\n\t\t\t\t\t\tvar deltaX = input.x - lastValidInput.x;\r\n\t\t\t\t\t\tvar deltaY = input.y - lastValidInput.y;\r\n\t\t\t\t\t\tspeedX = Math.round((deltaX / deltaTime) * 100) / 100;\r\n\t\t\t\t\t\tspeedY = Math.round((deltaY / deltaTime) * 100) / 100;\r\n\t\t\t\t\t\tvelocityX = Math.abs(speedX);\r\n\t\t\t\t\t\tvelocityY = Math.abs(speedY);\r\n\t\t\t\t\t\tdirection = getDirection(deltaX, deltaY);\r\n\t\t\t\t\t\tlastValidInput = input;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tvelocityX: velocityX,\r\n\t\t\t\t\tvelocityY: velocityY,\r\n\t\t\t\t\tspeedX: speedX,\r\n\t\t\t\t\tspeedY: speedY,\r\n\r\n\t\t\t\t\tdirection: direction,\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeMaxLength() {\r\n\t\t\tvar maxPointLength = 0;\r\n\r\n\t\t\treturn function (input) {\r\n\t\t\t\tvar phase = input.phase;\r\n\t\t\t\tif (TYPE_START === phase) {\r\n\t\t\t\t\tmaxPointLength = input.pointLength;\r\n\t\t\t\t}\r\n\t\t\t\treturn { maxPointLength: maxPointLength };\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction computeVector(input) {\r\n\t\t\treturn {\r\n\t\t\t\tx: input.points[1][CLIENT_X] - input.points[0][CLIENT_X],\r\n\t\t\t\ty: input.points[1][CLIENT_Y] - input.points[0][CLIENT_Y],\r\n\t\t\t};\r\n\t\t}\r\n\t\tfunction ComputeVectorForMutli() {\r\n\t\t\tvar startVecotr;\r\n\r\n\t\t\tvar prevVecotr;\r\n\t\t\tvar activeVecotr;\r\n\r\n\t\t\treturn function (input) {\r\n\t\t\t\tvar prevInput = input.prevInput,\r\n\t\t\t\t\tstartMultiInput = input.startMultiInput;\r\n\t\t\t\tif (\r\n\t\t\t\t\tvoid 0 !== startMultiInput &&\r\n\t\t\t\t\tvoid 0 !== prevInput &&\r\n\t\t\t\t\tinput.id !== startMultiInput.id &&\r\n\t\t\t\t\t1 < prevInput.pointLength &&\r\n\t\t\t\t\t1 < input.pointLength\r\n\t\t\t\t) {\r\n\t\t\t\t\tstartVecotr = computeVector(startMultiInput);\r\n\t\t\t\t\tprevVecotr = computeVector(prevInput);\r\n\t\t\t\t\tactiveVecotr = computeVector(input);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tactiveVecotr = void 0;\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstartVecotr: startVecotr,\r\n\r\n\t\t\t\t\tprevVecotr: prevVecotr,\r\n\t\t\t\t\tactiveVecotr: activeVecotr,\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$5 = {\r\n\t\t\tname: \"tap\",\r\n\t\t\tpointLength: 1,\r\n\t\t\ttapTimes: 1,\r\n\t\t\twaitNextTapTime: 300,\r\n\t\t\tmaxDistance: 2,\r\n\t\t\tmaxDistanceFromPrevTap: 9,\r\n\t\t\tmaxPressTime: 250,\r\n\t\t};\r\n\r\n\t\tfunction tap(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$5, options);\r\n\t\t\tvar tapCount = 0;\r\n\r\n\t\t\tvar prevTapPoint;\r\n\r\n\t\t\tvar prevTapTime;\r\n\r\n\t\t\tvar countDownToFailTimer;\r\n\t\t\tfunction reset() {\r\n\t\t\t\ttapCount = 0;\r\n\t\t\t\tprevTapPoint = void 0;\r\n\t\t\t\tprevTapTime = void 0;\r\n\t\t\t}\r\n\t\t\tfunction countDownToFail() {\r\n\t\t\t\tcountDownToFailTimer = setTimeout(function () {\r\n\t\t\t\t\tcontext.state = 2;\r\n\t\t\t\t\treset();\r\n\t\t\t\t}, context.waitNextTapTime);\r\n\t\t\t}\r\n\r\n\t\t\tfunction isValidDistanceFromPrevTap(center, options) {\r\n\t\t\t\tif (void 0 !== prevTapPoint) {\r\n\t\t\t\t\tvar distanceFromPreviousTap = getVLength({\r\n\t\t\t\t\t\tx: center.x - prevTapPoint.x,\r\n\r\n\t\t\t\t\t\ty: center.y - prevTapPoint.y,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tprevTapPoint = center;\r\n\t\t\t\t\treturn options.maxDistanceFromPrevTap >= distanceFromPreviousTap;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tprevTapPoint = center;\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction isValidInterval(waitNextTapTime) {\r\n\t\t\t\tvar now = performance.now();\r\n\r\n\t\t\t\tif (void 0 === prevTapTime) {\r\n\t\t\t\t\tprevTapTime = now;\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar interval = now - prevTapTime;\r\n\t\t\t\t\tprevTapTime = now;\r\n\t\t\t\t\treturn interval < waitNextTapTime;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tat.compute([ComputeDistance, ComputeMaxLength], function (computed) {\r\n\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\tvar phase = computed.phase,\r\n\t\t\t\t\tx = computed.x,\r\n\t\t\t\t\ty = computed.y;\r\n\t\t\t\tif (TYPE_END !== phase) return;\r\n\t\t\t\tcontext.state = 0;\r\n\t\t\t\tif (test()) {\r\n\t\t\t\t\tclearTimeout(countDownToFailTimer);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tisValidDistanceFromPrevTap({ x: x, y: y }, context) &&\r\n\t\t\t\t\t\tisValidInterval(context.waitNextTapTime)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\ttapCount++;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttapCount = 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (0 === tapCount % context.tapTimes) {\r\n\t\t\t\t\t\tcontext.state = 1;\r\n\t\t\t\t\t\tat.emit2(context.name, computed, context);\r\n\t\t\t\t\t\treset();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcountDownToFail();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\treset();\r\n\t\t\t\t\tcontext.state = 2;\r\n\t\t\t\t}\r\n\t\t\t\tfunction test() {\r\n\t\t\t\t\tvar startInput = computed.startInput,\r\n\t\t\t\t\t\tpointLength = computed.pointLength,\r\n\t\t\t\t\t\ttimestamp = computed.timestamp;\r\n\t\t\t\t\tvar deltaTime = timestamp - startInput.timestamp;\r\n\t\t\t\t\tvar distance = computed.distance,\r\n\t\t\t\t\t\tmaxPointLength = computed.maxPointLength;\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\tmaxPointLength === context.pointLength &&\r\n\t\t\t\t\t\t0 === pointLength &&\r\n\t\t\t\t\t\tcontext.maxDistance >= distance &&\r\n\t\t\t\t\t\tcontext.maxPressTime > deltaTime\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$4 = { name: \"pan\", threshold: 10, pointLength: 1 };\r\n\r\n\t\tfunction pan(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$4, options);\r\n\t\t\tat.compute(\r\n\t\t\t\t[ComputeVAndDir, ComputeDistance, ComputeDeltaXY],\r\n\r\n\t\t\t\tfunction (computed) {\r\n\t\t\t\t\tresetState(context);\r\n\t\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\t\tvar isValid = test();\r\n\t\t\t\t\tcontext.state = flow(isValid, context.state, computed.phase);\r\n\t\t\t\t\tif (isValid || isMoveOrEndOrCancel(context.state)) {\r\n\t\t\t\t\t\tvar name_1 = context.name;\r\n\t\t\t\t\t\tat.emit2(name_1, computed, context);\r\n\t\t\t\t\t\tat.emit2(name_1 + getStatusName(context.state), computed, context);\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t![TYPE_END, TYPE_CANCEL].includes(computed.phase) &&\r\n\t\t\t\t\t\t\tcomputed.direction\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tat.emit2(name_1 + computed.direction, computed, context);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction test() {\r\n\t\t\t\t\t\tvar pointLength = computed.pointLength,\r\n\t\t\t\t\t\t\tdistance = computed.distance;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcontext.pointLength === pointLength &&\r\n\t\t\t\t\t\t\tcontext.threshold <= distance\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$3 = {\r\n\t\t\tname: \"swipe\",\r\n\t\t\tthreshold: 10,\r\n\t\t\tvelocity: 0.3,\r\n\t\t\tpointLength: 1,\r\n\t\t};\r\n\r\n\t\tfunction swipe(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$3, options);\r\n\t\t\tat.compute(\r\n\t\t\t\t[ComputeDistance, ComputeVAndDir, ComputeMaxLength],\r\n\r\n\t\t\t\tfunction (computed) {\r\n\t\t\t\t\tcontext.state = 0;\r\n\t\t\t\t\tif (context.disabled) return;\r\n\t\t\t\t\tif (test()) {\r\n\t\t\t\t\t\tvar name_1 = context.name;\r\n\t\t\t\t\t\tcontext.state = 1;\r\n\t\t\t\t\t\tat.emit2(name_1, computed, context);\r\n\t\t\t\t\t\tat.emit2(name_1 + computed.direction, computed, context);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction test() {\r\n\t\t\t\t\t\tif (TYPE_END !== computed.phase) return false;\r\n\t\t\t\t\t\tvar velocityX = computed.velocityX,\r\n\t\t\t\t\t\t\tvelocityY = computed.velocityY,\r\n\t\t\t\t\t\t\tdistance = computed.distance,\r\n\t\t\t\t\t\t\tmaxPointLength = computed.maxPointLength;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tmaxPointLength === context.pointLength &&\r\n\t\t\t\t\t\t\t0 === computed.points.length &&\r\n\t\t\t\t\t\t\tcontext.threshold < distance &&\r\n\t\t\t\t\t\t\tcontext.velocity < Math.max(velocityX, velocityY)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$2 = {\r\n\t\t\tname: \"press\",\r\n\t\t\tpointLength: 1,\r\n\t\t\tmaxDistance: 9,\r\n\t\t\tminPressTime: 251,\r\n\t\t};\r\n\r\n\t\tfunction press(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$2, options);\r\n\t\t\tvar timeoutId = 0;\r\n\r\n\t\t\tat.compute([ComputeDistance], function (computed) {\r\n\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\tvar phase = computed.phase,\r\n\t\t\t\t\tstartInput = computed.startInput,\r\n\t\t\t\t\tpointLength = computed.pointLength;\r\n\t\t\t\tif (TYPE_START === phase && context.pointLength === pointLength) {\r\n\t\t\t\t\tresetState(context);\r\n\t\t\t\t\tclearTimeout(timeoutId);\r\n\t\t\t\t\ttimeoutId = setTimeout(function () {\r\n\t\t\t\t\t\tcontext.state = 1;\r\n\t\t\t\t\t\tat.emit2(context.name, computed, context);\r\n\t\t\t\t\t}, context.minPressTime);\r\n\t\t\t\t} else if (TYPE_END === phase && 1 === context.state) {\r\n\t\t\t\t\tat.emit2(\r\n\t\t\t\t\t\t\"\".concat(context.name).concat(DIRECTION_UP),\r\n\t\t\t\t\t\tcomputed,\r\n\t\t\t\t\t\tcontext\r\n\t\t\t\t\t);\r\n\t\t\t\t} else if (1 !== context.state) {\r\n\t\t\t\t\tvar deltaTime = computed.timestamp - startInput.timestamp;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t!test() ||\r\n\t\t\t\t\t\t(context.minPressTime > deltaTime &&\r\n\t\t\t\t\t\t\t[TYPE_END, TYPE_CANCEL].includes(phase))\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tclearTimeout(timeoutId);\r\n\t\t\t\t\t\tcontext.state = 2;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tfunction test() {\r\n\t\t\t\t\tvar distance = computed.distance;\r\n\t\t\t\t\treturn distance && context.maxDistance > distance;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$1 = {\r\n\t\t\tname: \"pinch\",\r\n\t\t\tthreshold: 0,\r\n\t\t\tpointLength: 2,\r\n\t\t};\r\n\r\n\t\tfunction pinch(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$1, options);\r\n\t\t\tat.compute(\r\n\t\t\t\t[ComputeVectorForMutli, ComputeScale],\r\n\r\n\t\t\t\tfunction (computed) {\r\n\t\t\t\t\tresetState(context);\r\n\t\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\t\tvar isValid = test();\r\n\t\t\t\t\tcontext.state = flow(isValid, context.state, computed.phase);\r\n\t\t\t\t\tvar name = context.name;\r\n\t\t\t\t\tif (isValid || isMoveOrEndOrCancel(context.state)) {\r\n\t\t\t\t\t\tat.emit2(name, computed, context);\r\n\t\t\t\t\t\tvar deltaScale = computed.deltaScale;\r\n\t\t\t\t\t\tif (1 !== deltaScale) {\r\n\t\t\t\t\t\t\tat.emit2(\r\n\t\t\t\t\t\t\t\tname + (1 < deltaScale ? \"in\" : \"out\"),\r\n\t\t\t\t\t\t\t\tcomputed,\r\n\t\t\t\t\t\t\t\tcontext\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar stateName = getStatusName(context.state);\r\n\t\t\t\t\tif (stateName) {\r\n\t\t\t\t\t\tat.emit2(name + stateName, computed, context);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction test() {\r\n\t\t\t\t\t\tvar pointLength = computed.pointLength,\r\n\t\t\t\t\t\t\tscale = computed.scale;\r\n\t\t\t\t\t\tcomputed.deltaScale;\r\n\t\t\t\t\t\tcomputed.phase;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcontext.pointLength === pointLength &&\r\n\t\t\t\t\t\t\tcontext.threshold < Math.abs(scale - 1)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS = {\r\n\t\t\tname: \"rotate\",\r\n\t\t\tthreshold: 0,\r\n\t\t\tpointLength: 2,\r\n\t\t};\r\n\r\n\t\tfunction rotate(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS, options);\r\n\t\t\tat.compute(\r\n\t\t\t\t[ComputeVectorForMutli, ComputeAngle],\r\n\r\n\t\t\t\tfunction (computed) {\r\n\t\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\t\tresetState(context);\r\n\t\t\t\t\tvar isValid = test();\r\n\t\t\t\t\tcontext.state = flow(isValid, context.state, computed.phase);\r\n\t\t\t\t\tvar name = context.name;\r\n\t\t\t\t\tif (isValid || isMoveOrEndOrCancel(context.state)) {\r\n\t\t\t\t\t\tat.emit2(name, computed, context);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar stateName = getStatusName(context.state);\r\n\t\t\t\t\tif (stateName) {\r\n\t\t\t\t\t\tat.emit2(name + stateName, computed, context);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction test() {\r\n\t\t\t\t\t\tvar pointLength = computed.pointLength,\r\n\t\t\t\t\t\t\tangle = computed.angle;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcontext.pointLength === pointLength &&\r\n\t\t\t\t\t\t\tcontext.threshold < Math.abs(angle)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tfunction doubletap(at) {\r\n\t\t\tat.use(tap, { name: \"doubletap\", tapTimes: 2 });\r\n\t\t\tvar doubleTapContext = at.get(\"doubletap\");\r\n\r\n\t\t\tvar timeID;\r\n\r\n\t\t\tat.beforeEach(function (type, next) {\r\n\t\t\t\tif (\"tap\" === type) {\r\n\t\t\t\t\tclearTimeout(timeID);\r\n\t\t\t\t\ttimeID = setTimeout(function () {\r\n\t\t\t\t\t\tif ([0, 2].includes(doubleTapContext.state)) {\r\n\t\t\t\t\t\t\tnext();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, 300);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnext();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn doubleTapContext;\r\n\t\t}\r\n\r\n\t\tvar default_1 = (function (_super) {\r\n\t\t\t__extends(default_1, _super);\r\n\r\n\t\t\tfunction default_1(el, options) {\r\n\t\t\t\tvar _this = _super.call(this, el, options) || this;\r\n\t\t\t\t_this.use(tap);\r\n\t\t\t\t_this.use(pan);\r\n\t\t\t\t_this.use(swipe);\r\n\t\t\t\t_this.use(press);\r\n\t\t\t\t_this.use(pinch);\r\n\t\t\t\t_this.use(rotate);\r\n\t\t\t\treturn _this;\r\n\t\t\t}\r\n\t\t\tdefault_1.STATE_POSSIBLE = 0;\r\n\t\t\tdefault_1.STATE_START = 4;\r\n\t\t\tdefault_1.STATE_MOVE = 5;\r\n\t\t\tdefault_1.STATE_END = 1;\r\n\t\t\tdefault_1.STATE_CANCELLED = 3;\r\n\t\t\tdefault_1.STATE_FAILED = 2;\r\n\t\t\tdefault_1.STATE_RECOGNIZED = 1;\r\n\t\t\tdefault_1.tap = tap;\r\n\t\t\tdefault_1.pan = pan;\r\n\t\t\tdefault_1.swipe = swipe;\r\n\t\t\tdefault_1.press = press;\r\n\t\t\tdefault_1.rotate = rotate;\r\n\t\t\tdefault_1.pinch = pinch;\r\n\t\t\tdefault_1.doubletap = doubletap;\r\n\t\t\treturn default_1;\r\n\t\t})(default_1$1);\r\n\r\n\t\treturn default_1;\r\n\t});\r\n};\r\n","import { PopsCore } from \"../Core\";\nimport { popsDOMUtils } from \"./PopsDOMUtils\";\nimport { AnyTouch } from \"./AnyTouch\";\nclass PopsUtils {\n /**\n * 判断是否是window,例如window、self、globalThis\n * @param target\n */\n isWin(target) {\n if (typeof target !== \"object\") {\n return false;\n }\n if (target instanceof Node) {\n return false;\n }\n if (target === globalThis) {\n return true;\n }\n if (target === window) {\n return true;\n }\n if (target === self) {\n return true;\n }\n if (target === PopsCore.globalThis) {\n return true;\n }\n if (target === PopsCore.window) {\n return true;\n }\n if (target === PopsCore.self) {\n return true;\n }\n if (typeof unsafeWindow !== \"undefined\" &&\n target === unsafeWindow) {\n return true;\n }\n if (target?.Math?.toString() !== \"[object Math]\") {\n return false;\n }\n return true;\n }\n isDOM(target) {\n return target instanceof Node;\n }\n /**\n * 删除对象上的属性\n * @param target\n * @param propName\n */\n delete(target, propName) {\n if (typeof Reflect === \"object\" && Reflect.deleteProperty) {\n Reflect.deleteProperty(target, propName);\n }\n else {\n delete target[propName];\n }\n }\n assign(target = {}, source = {}, isAdd = false) {\n let UtilsContext = this;\n if (source == null) {\n return target;\n }\n if (target == null) {\n target = {};\n }\n if (Array.isArray(source)) {\n let canTraverse = source.filter((item) => {\n return typeof item === \"object\";\n });\n if (!canTraverse.length) {\n return source;\n }\n }\n if (isAdd) {\n for (const sourceKeyName in source) {\n const targetKeyName = sourceKeyName;\n let targetValue = target[targetKeyName];\n let sourceValue = source[sourceKeyName];\n if (typeof sourceValue === \"object\" &&\n sourceValue != null &&\n sourceKeyName in target &&\n !UtilsContext.isDOM(sourceValue)) {\n /* 源端的值是object类型,且不是元素节点 */\n target[sourceKeyName] = UtilsContext.assign(targetValue, sourceValue, isAdd);\n continue;\n }\n target[sourceKeyName] = sourceValue;\n }\n }\n else {\n for (const targetKeyName in target) {\n if (targetKeyName in source) {\n // @ts-ignore\n let targetValue = target[targetKeyName];\n // @ts-ignore\n let sourceValue = source[targetKeyName];\n if (typeof sourceValue === \"object\" &&\n sourceValue != null &&\n !UtilsContext.isDOM(sourceValue) &&\n Object.keys(sourceValue).length) {\n /* 源端的值是object类型,且不是元素节点 */\n // @ts-ignore\n target[targetKeyName] = UtilsContext.assign(targetValue, sourceValue, isAdd);\n continue;\n }\n /* 直接赋值 */\n // @ts-ignore\n target[targetKeyName] = sourceValue;\n }\n }\n }\n return target;\n }\n /**\n * 生成uuid\n */\n getRandomGUID() {\n if (typeof PopsCore.globalThis?.crypto?.randomUUID === \"function\") {\n return PopsCore.globalThis.crypto.randomUUID();\n }\n else {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (charStr) {\n var randomValue = (Math.random() * 16) | 0, randomCharValue = charStr === \"x\" ? randomValue : (randomValue & 0x3) | 0x8;\n return randomCharValue.toString(16);\n });\n }\n }\n /**\n * 字符串转HTMLElement\n * @param elementString\n * @returns\n */\n parseTextToDOM(elementString) {\n /* 去除前后的换行和空格 */\n elementString = elementString\n .replace(/^[\\n|\\s]*/g, \"\")\n .replace(/[\\n|\\s]*$/g, \"\");\n let targetElement = popsDOMUtils.createElement(\"div\", {\n innerHTML: elementString,\n });\n return targetElement.firstChild;\n }\n contains(context, target) {\n if (arguments.length === 1) {\n // 只判断该页面是否存在该元素\n return this.contains(PopsCore.document.body || PopsCore.document.documentElement, arguments[0]);\n }\n else {\n if (typeof target[Symbol.iterator] === \"function\") {\n // 可遍历的数组\n let flag = true;\n for (const targetNode of target) {\n if (!context.contains(targetNode)) {\n flag = false;\n break;\n }\n }\n return flag;\n }\n else {\n return context.contains(target);\n }\n }\n }\n formatTime(text = new Date(), formatType = \"yyyy-MM-dd HH:mm:ss\") {\n let time = text == null ? new Date() : new Date(text);\n /**\n * 校验时间补0\n * @param timeNum\n * @returns\n */\n function checkTime(timeNum) {\n if (timeNum < 10)\n return \"0\" + timeNum;\n return timeNum;\n }\n /**\n * 时间制修改 24小时制转12小时制\n * @param hourNum 小时\n * @returns\n */\n function timeSystemChange(hourNum) {\n return hourNum > 12 ? hourNum - 12 : hourNum;\n }\n let timeRegexp = {\n yyyy: time.getFullYear(),\n /* 年 */\n MM: checkTime(time.getMonth() + 1),\n /* 月 */\n dd: checkTime(time.getDate()),\n /* 日 */\n HH: checkTime(time.getHours()),\n /* 时 (24小时制) */\n hh: checkTime(timeSystemChange(time.getHours())),\n /* 时 (12小时制) */\n mm: checkTime(time.getMinutes()),\n /* 分 */\n ss: checkTime(time.getSeconds()),\n /* 秒 */\n };\n Object.keys(timeRegexp).forEach(function (key) {\n let replaecRegexp = new RegExp(key, \"g\");\n formatType = formatType.replace(replaecRegexp, timeRegexp[key]);\n });\n return formatType;\n }\n formatByteToSize(byteSize, addType = true) {\n byteSize = parseInt(byteSize.toString());\n if (isNaN(byteSize)) {\n throw new Error(\"Utils.formatByteToSize 参数 byteSize 格式不正确\");\n }\n let result = 0;\n let resultType = \"KB\";\n let sizeData = {};\n sizeData.B = 1;\n sizeData.KB = 1024;\n sizeData.MB = sizeData.KB * sizeData.KB;\n sizeData.GB = sizeData.MB * sizeData.KB;\n sizeData.TB = sizeData.GB * sizeData.KB;\n sizeData.PB = sizeData.TB * sizeData.KB;\n sizeData.EB = sizeData.PB * sizeData.KB;\n sizeData.ZB = sizeData.EB * sizeData.KB;\n sizeData.YB = sizeData.ZB * sizeData.KB;\n sizeData.BB = sizeData.YB * sizeData.KB;\n sizeData.NB = sizeData.BB * sizeData.KB;\n sizeData.DB = sizeData.NB * sizeData.KB;\n for (let key in sizeData) {\n result = byteSize / sizeData[key];\n resultType = key;\n if (sizeData.KB >= result) {\n break;\n }\n }\n result = result.toFixed(2);\n result = addType\n ? result + resultType.toString()\n : parseFloat(result.toString());\n return result;\n }\n AnyTouch = AnyTouch;\n}\nconst popsUtils = new PopsUtils();\nexport { popsUtils };\n","import { SymbolEvents } from \"../Config\";\nimport { OriginPrototype, PopsCore } from \"../Core\";\nimport { popsUtils } from \"./PopsUtils\";\nclass PopsDOMUtilsEvent {\n on(element, eventType, selector, callback, option) {\n /**\n * 获取option配置\n * @param args\n * @param startIndex\n * @param option\n */\n function getOption(args, startIndex, option) {\n if (typeof args[startIndex] === \"boolean\") {\n option.capture = args[startIndex];\n if (typeof args[startIndex + 1] === \"boolean\") {\n option.once = args[startIndex + 1];\n }\n if (typeof args[startIndex + 2] === \"boolean\") {\n option.passive = args[startIndex + 2];\n }\n }\n else if (typeof args[startIndex] === \"object\" &&\n (\"capture\" in args[startIndex] ||\n \"once\" in args[startIndex] ||\n \"passive\" in args[startIndex])) {\n option.capture = args[startIndex].capture;\n option.once = args[startIndex].once;\n option.passive = args[startIndex].passive;\n }\n return option;\n }\n let DOMUtilsContext = this;\n let args = arguments;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n let _selector_ = selector;\n let _callback_ = callback;\n let _option_ = {\n capture: false,\n once: false,\n passive: false,\n };\n if (typeof selector === \"function\") {\n /* 这是为没有selector的情况 */\n _selector_ = void 0;\n _callback_ = selector;\n _option_ = getOption(args, 3, _option_);\n }\n else {\n /* 这是存在selector的情况 */\n _option_ = getOption(args, 4, _option_);\n }\n /**\n * 如果是once,那么删除该监听和元素上的事件和监听\n */\n function checkOptionOnceToRemoveEventListener() {\n if (_option_.once) {\n DOMUtilsContext.off(element, eventType, selector, callback, option);\n }\n }\n elementList.forEach((elementItem) => {\n function ownCallBack(event) {\n let target = event.target;\n if (_selector_) {\n /* 存在自定义子元素选择器 */\n let totalParent = popsUtils.isWin(elementItem)\n ? PopsCore.document.documentElement\n : elementItem;\n if (target.matches(_selector_)) {\n /* 当前目标可以被selector所匹配到 */\n _callback_.call(target, event);\n checkOptionOnceToRemoveEventListener();\n }\n else if (target.closest(_selector_) &&\n totalParent.contains(target.closest(_selector_))) {\n /* 在上层与主元素之间寻找可以被selector所匹配到的 */\n let closestElement = target.closest(_selector_);\n /* event的target值不能直接修改 */\n OriginPrototype.Object.defineProperty(event, \"target\", {\n get() {\n return closestElement;\n },\n });\n _callback_.call(closestElement, event);\n checkOptionOnceToRemoveEventListener();\n }\n }\n else {\n _callback_.call(elementItem, event);\n checkOptionOnceToRemoveEventListener();\n }\n }\n /* 遍历事件名设置元素事件 */\n eventTypeList.forEach((eventName) => {\n elementItem.addEventListener(eventName, ownCallBack, _option_);\n if (_callback_ && _callback_.delegate) {\n elementItem.setAttribute(\"data-delegate\", _selector_);\n }\n /* 获取对象上的事件 */\n let elementEvents = elementItem[SymbolEvents] || {};\n /* 初始化对象上的xx事件 */\n elementEvents[eventName] = elementEvents[eventName] || [];\n elementEvents[eventName].push({\n selector: _selector_,\n option: _option_,\n callback: ownCallBack,\n originCallBack: _callback_,\n });\n /* 覆盖事件 */\n elementItem[SymbolEvents] = elementEvents;\n });\n });\n }\n off(element, eventType, selector, callback, option, filter) {\n /**\n * 获取option配置\n * @param args1\n * @param startIndex\n * @param option\n */\n function getOption(args1, startIndex, option) {\n if (typeof args1[startIndex] === \"boolean\") {\n option.capture = args1[startIndex];\n }\n else if (typeof args1[startIndex] === \"object\" &&\n \"capture\" in args1[startIndex]) {\n option.capture = args1[startIndex].capture;\n }\n return option;\n }\n let args = arguments;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n /**\n * 子元素选择器\n */\n let _selector_ = selector;\n /**\n * 事件的回调函数\n */\n let _callback_ = callback;\n /**\n * 事件的配置\n */\n let _option_ = {\n capture: false,\n };\n if (typeof selector === \"function\") {\n /* 这是为没有selector的情况 */\n _selector_ = void 0;\n _callback_ = selector;\n _option_ = getOption(args, 3, _option_);\n }\n else {\n _option_ = getOption(args, 4, _option_);\n }\n elementList.forEach((elementItem) => {\n /* 获取对象上的事件 */\n let elementEvents = elementItem[SymbolEvents] || {};\n eventTypeList.forEach((eventName) => {\n let handlers = elementEvents[eventName] || [];\n if (typeof filter === \"function\") {\n handlers = handlers.filter(filter);\n }\n for (let index = 0; index < handlers.length; index++) {\n let handler = handlers[index];\n let flag = false;\n if (!_selector_ || handler.selector === _selector_) {\n /* selector不为空,进行selector判断 */\n flag = true;\n }\n if (!_callback_ ||\n handler.callback === _callback_ ||\n handler.originCallBack === _callback_) {\n /* callback不为空,进行callback判断 */\n flag = true;\n }\n if (flag) {\n elementItem.removeEventListener(eventName, handler.callback, _option_);\n handlers.splice(index--, 1);\n }\n }\n if (handlers.length === 0) {\n /* 如果没有任意的handler,那么删除该属性 */\n popsUtils.delete(elementEvents, eventType);\n }\n });\n elementItem[SymbolEvents] = elementEvents;\n });\n }\n /**\n * 取消绑定所有的事件\n * @param element 需要取消绑定的元素|元素数组\n * @param eventType (可选)需要取消监听的事件\n */\n offAll(element, eventType) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n elementList.forEach((elementItem) => {\n Object.getOwnPropertySymbols(elementItem).forEach((__symbolEvents) => {\n if (!__symbolEvents.toString().startsWith(\"Symbol(events_\")) {\n return;\n }\n let elementEvents = elementItem[__symbolEvents] || {};\n let iterEventNameList = eventTypeList.length\n ? eventTypeList\n : Object.keys(elementEvents);\n iterEventNameList.forEach((eventName) => {\n let handlers = elementEvents[eventName];\n if (!handlers) {\n return;\n }\n for (const handler of handlers) {\n elementItem.removeEventListener(eventName, handler.callback, {\n capture: handler[\"option\"][\"capture\"],\n });\n }\n popsUtils.delete(elementItem[__symbolEvents], eventName);\n });\n });\n });\n }\n /**\n * 等待文档加载完成后执行指定的函数\n * @param callback 需要执行的函数\n * @example\n * DOMUtils.ready(function(){\n * console.log(\"文档加载完毕\")\n * })\n */\n ready(callback) {\n if (typeof callback !== \"function\") {\n return;\n }\n /**\n * 检测文档是否加载完毕\n */\n function checkDOMReadyState() {\n try {\n if (document.readyState === \"complete\" ||\n (document.readyState !== \"loading\" &&\n !document.documentElement.doScroll)) {\n return true;\n }\n else {\n return false;\n }\n }\n catch (error) {\n return false;\n }\n }\n /**\n * 成功加载完毕后触发的回调函数\n */\n function completed() {\n removeDomReadyListener();\n callback();\n }\n let targetList = [\n {\n target: PopsCore.document,\n eventType: \"DOMContentLoaded\",\n callback: completed,\n },\n {\n target: PopsCore.window,\n eventType: \"load\",\n callback: completed,\n },\n ];\n /**\n * 添加监听\n */\n function addDomReadyListener() {\n for (let index = 0; index < targetList.length; index++) {\n let item = targetList[index];\n item.target.addEventListener(item.eventType, item.callback);\n }\n }\n /**\n * 移除监听\n */\n function removeDomReadyListener() {\n for (let index = 0; index < targetList.length; index++) {\n let item = targetList[index];\n item.target.removeEventListener(item.eventType, item.callback);\n }\n }\n if (checkDOMReadyState()) {\n /* 检查document状态 */\n setTimeout(callback);\n }\n else {\n /* 添加监听 */\n addDomReadyListener();\n }\n }\n /**\n * 主动触发事件\n * @param element 需要触发的元素|元素数组|window\n * @param eventType 需要触发的事件\n * @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象\n * @param useDispatchToTriggerEvent 是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的click事件\n * DOMUtils.trigger(document.querySelector(\"a.xx\"),\"click\")\n * DOMUtils.trigger(\"a.xx\",\"click\")\n * // 触发元素a.xx的click、tap、hover事件\n * DOMUtils.trigger(document.querySelector(\"a.xx\"),\"click tap hover\")\n * DOMUtils.trigger(\"a.xx\",[\"click\",\"tap\",\"hover\"])\n */\n trigger(element, eventType, details, useDispatchToTriggerEvent = true) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList = [element];\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventType;\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventType.split(\" \");\n }\n elementList.forEach((elementItem) => {\n /* 获取对象上的事件 */\n let events = elementItem[SymbolEvents] || {};\n eventTypeList.forEach((_eventType_) => {\n let event = null;\n if (details && details instanceof Event) {\n event = details;\n }\n else {\n event = new Event(_eventType_);\n if (details) {\n Object.keys(details).forEach((keyName) => {\n event[keyName] = details[keyName];\n });\n }\n }\n if (useDispatchToTriggerEvent == false && _eventType_ in events) {\n events[_eventType_].forEach((eventsItem) => {\n eventsItem.callback(event);\n });\n }\n else {\n elementItem.dispatchEvent(event);\n }\n });\n });\n }\n /**\n * 绑定或触发元素的click事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的click事件\n * DOMUtils.click(document.querySelector(\"a.xx\"))\n * DOMUtils.click(\"a.xx\")\n * DOMUtils.click(\"a.xx\",function(){\n * console.log(\"触发click事件成功\")\n * })\n * */\n click(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler == null) {\n DOMUtilsContext.trigger(element, \"click\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"click\", null, handler);\n }\n }\n /**\n * 绑定或触发元素的blur事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的blur事件\n * DOMUtils.blur(document.querySelector(\"a.xx\"))\n * DOMUtils.blur(\"a.xx\")\n * DOMUtils.blur(\"a.xx\",function(){\n * console.log(\"触发blur事件成功\")\n * })\n * */\n blur(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler === null) {\n DOMUtilsContext.trigger(element, \"blur\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"blur\", null, handler);\n }\n }\n /**\n * 绑定或触发元素的focus事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的focus事件\n * DOMUtils.focus(document.querySelector(\"a.xx\"))\n * DOMUtils.focus(\"a.xx\")\n * DOMUtils.focus(\"a.xx\",function(){\n * console.log(\"触发focus事件成功\")\n * })\n * */\n focus(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler == null) {\n DOMUtilsContext.trigger(element, \"focus\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"focus\", null, handler);\n }\n }\n /**\n * 当鼠标移入或移出元素时触发事件\n * @param element 当前元素\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的移入或移出\n * DOMUtils.hover(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"移入/移除\");\n * })\n * DOMUtils.hover(\"a.xx\",()=>{\n * console.log(\"移入/移除\");\n * })\n */\n hover(element, handler, option) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n DOMUtilsContext.on(element, \"mouseenter\", null, handler, option);\n DOMUtilsContext.on(element, \"mouseleave\", null, handler, option);\n }\n /**\n * 当按键松开时触发事件\n * keydown - > keypress - > keyup\n * @param target 当前元素\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键松开\n * DOMUtils.keyup(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键松开\");\n * })\n * DOMUtils.keyup(\"a.xx\",()=>{\n * console.log(\"按键松开\");\n * })\n */\n keyup(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = PopsCore.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keyup\", null, handler, option);\n }\n /**\n * 当按键按下时触发事件\n * keydown - > keypress - > keyup\n * @param target 目标\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键按下\n * DOMUtils.keydown(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键按下\");\n * })\n * DOMUtils.keydown(\"a.xx\",()=>{\n * console.log(\"按键按下\");\n * })\n */\n keydown(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = PopsCore.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keydown\", null, handler, option);\n }\n /**\n * 当按键按下时触发事件\n * keydown - > keypress - > keyup\n * @param target 目标\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键按下\n * DOMUtils.keypress(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键按下\");\n * })\n * DOMUtils.keypress(\"a.xx\",()=>{\n * console.log(\"按键按下\");\n * })\n */\n keypress(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = PopsCore.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keypress\", null, handler, option);\n }\n preventEvent(element, eventNameList = [], capture) {\n function stopEvent(event) {\n /* 阻止事件的默认行为发生。例如,当点击一个链接时,浏览器会默认打开链接的URL */\n event?.preventDefault();\n /* 停止事件的传播,阻止它继续向更上层的元素冒泡,事件将不会再传播给其他的元素 */\n event?.stopPropagation();\n /* 阻止事件传播,并且还能阻止元素上的其他事件处理程序被触发 */\n event?.stopImmediatePropagation();\n return false;\n }\n if (arguments.length === 1) {\n /* 直接阻止事件 */\n return stopEvent(arguments[0]);\n }\n else {\n /* 添加对应的事件来阻止触发 */\n if (typeof eventNameList === \"string\") {\n eventNameList = [eventNameList];\n }\n eventNameList.forEach((eventName) => {\n element.addEventListener(eventName, stopEvent, {\n capture: Boolean(capture),\n });\n });\n }\n }\n}\nclass PopsDOMUtils extends PopsDOMUtilsEvent {\n /** 获取 animationend 在各个浏览器的兼容名 */\n getAnimationEndNameList() {\n return [\n \"webkitAnimationEnd\",\n \"mozAnimationEnd\",\n \"MSAnimationEnd\",\n \"oanimationend\",\n \"animationend\",\n ];\n }\n /** 获取 transitionend 在各个浏览器的兼容名 */\n getTransitionEndNameList() {\n return [\n \"webkitTransitionEnd\",\n \"mozTransitionEnd\",\n \"MSTransitionEnd\",\n \"otransitionend\",\n \"transitionend\",\n ];\n }\n /**\n * 实现jQuery中的$().offset();\n * @param {HTMLElement} element\n * @returns\n */\n offset(element) {\n let rect = element.getBoundingClientRect();\n let win = element.ownerDocument.defaultView;\n let resultRect = new DOMRect(parseFloat((rect.left + (win?.pageXOffset || 0)).toString()), parseFloat((rect.top + (win?.pageYOffset || 0)).toString()), rect.width, rect.height);\n return resultRect;\n }\n width(element, isShow = false, parent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (popsUtils.isWin(element)) {\n return PopsCore.window.document.documentElement.clientWidth;\n }\n if (element.nodeType === 9) {\n /* Document文档节点 */\n element = element;\n return Math.max(element.body.scrollWidth, element.documentElement.scrollWidth, element.body.offsetWidth, element.documentElement.offsetWidth, element.documentElement.clientWidth);\n }\n if (isShow || (!isShow && popsDOMUtils.isShow(element))) {\n /* 已显示 */\n /* 不从style中获取对应的宽度,因为可能使用了class定义了width !important */\n element = element;\n /* 如果element.style.width为空 则从css里面获取是否定义了width信息如果定义了 则读取css里面定义的宽度width */\n if (parseFloat(popsDOMUtils.getStyleValue(element, \"width\").toString()) > 0) {\n return parseFloat(popsDOMUtils.getStyleValue(element, \"width\").toString());\n }\n /* 如果从css里获取到的值不是大于0 可能是auto 则通过offsetWidth来进行计算 */\n if (element.offsetWidth > 0) {\n let borderLeftWidth = popsDOMUtils.getStyleValue(element, \"borderLeftWidth\");\n let borderRightWidth = popsDOMUtils.getStyleValue(element, \"borderRightWidth\");\n let paddingLeft = popsDOMUtils.getStyleValue(element, \"paddingLeft\");\n let paddingRight = popsDOMUtils.getStyleValue(element, \"paddingRight\");\n let backHeight = parseFloat(element.offsetWidth.toString()) -\n parseFloat(borderLeftWidth.toString()) -\n parseFloat(borderRightWidth.toString()) -\n parseFloat(paddingLeft.toString()) -\n parseFloat(paddingRight.toString());\n return parseFloat(backHeight.toString());\n }\n return 0;\n }\n else {\n /* 未显示 */\n element = element;\n let { cloneNode, recovery } = popsDOMUtils.showElement(element, parent);\n let width = DOMUtilsContext.width(cloneNode, true, parent);\n recovery();\n return width;\n }\n }\n height(element, isShow = false, parent) {\n let DOMUtilsContext = this;\n if (popsUtils.isWin(element)) {\n return PopsCore.window.document.documentElement.clientHeight;\n }\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (element.nodeType === 9) {\n element = element;\n /* Document文档节点 */\n return Math.max(element.body.scrollHeight, element.documentElement.scrollHeight, element.body.offsetHeight, element.documentElement.offsetHeight, element.documentElement.clientHeight);\n }\n if (isShow || (!isShow && popsDOMUtils.isShow(element))) {\n element = element;\n /* 已显示 */\n /* 从style中获取对应的高度,因为可能使用了class定义了width !important */\n /* 如果element.style.height为空 则从css里面获取是否定义了height信息如果定义了 则读取css里面定义的高度height */\n if (parseFloat(popsDOMUtils.getStyleValue(element, \"height\").toString()) > 0) {\n return parseFloat(popsDOMUtils.getStyleValue(element, \"height\").toString());\n }\n /* 如果从css里获取到的值不是大于0 可能是auto 则通过offsetHeight来进行计算 */\n if (element.offsetHeight > 0) {\n let borderTopWidth = popsDOMUtils.getStyleValue(element, \"borderTopWidth\");\n let borderBottomWidth = popsDOMUtils.getStyleValue(element, \"borderBottomWidth\");\n let paddingTop = popsDOMUtils.getStyleValue(element, \"paddingTop\");\n let paddingBottom = popsDOMUtils.getStyleValue(element, \"paddingBottom\");\n let backHeight = parseFloat(element.offsetHeight.toString()) -\n parseFloat(borderTopWidth.toString()) -\n parseFloat(borderBottomWidth.toString()) -\n parseFloat(paddingTop.toString()) -\n parseFloat(paddingBottom.toString());\n return parseFloat(backHeight.toString());\n }\n return 0;\n }\n else {\n /* 未显示 */\n element = element;\n let { cloneNode, recovery } = popsDOMUtils.showElement(element, parent);\n let height = DOMUtilsContext.height(cloneNode, true, parent);\n recovery();\n return height;\n }\n }\n outerWidth(element, isShow = false, parent) {\n let DOMUtilsContext = this;\n if (popsUtils.isWin(element)) {\n return PopsCore.window.innerWidth;\n }\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n element = element;\n if (isShow || (!isShow && popsDOMUtils.isShow(element))) {\n let style = getComputedStyle(element, null);\n let marginLeft = popsDOMUtils.getStyleValue(style, \"marginLeft\");\n let marginRight = popsDOMUtils.getStyleValue(style, \"marginRight\");\n return element.offsetWidth + marginLeft + marginRight;\n }\n else {\n let { cloneNode, recovery } = popsDOMUtils.showElement(element, parent);\n let outerWidth = DOMUtilsContext.outerWidth(cloneNode, true, parent);\n recovery();\n return outerWidth;\n }\n }\n outerHeight(element, isShow = false, parent) {\n let DOMUtilsContext = this;\n if (popsUtils.isWin(element)) {\n return PopsCore.window.innerHeight;\n }\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n // @ts-ignore\n return;\n }\n element = element;\n if (isShow || (!isShow && popsDOMUtils.isShow(element))) {\n let style = getComputedStyle(element, null);\n let marginTop = popsDOMUtils.getStyleValue(style, \"marginTop\");\n let marginBottom = popsDOMUtils.getStyleValue(style, \"marginBottom\");\n return element.offsetHeight + marginTop + marginBottom;\n }\n else {\n let { cloneNode, recovery } = popsDOMUtils.showElement(element, parent);\n let outerHeight = DOMUtilsContext.outerHeight(cloneNode, true, parent);\n recovery();\n return outerHeight;\n }\n }\n /**\n * 添加className\n * @param element 目标元素\n * @param className className属性\n */\n addClassName(element, className) {\n if (typeof className !== \"string\") {\n return;\n }\n if (className.trim() === \"\") {\n return;\n }\n element.classList.add(className);\n }\n /**\n * 删除className\n * @param element 目标元素\n * @param className className属性\n */\n removeClassName(element, className) {\n if (typeof className !== \"string\") {\n return;\n }\n if (className.trim() === \"\") {\n return;\n }\n element.classList.remove(className);\n }\n /**\n * 判断元素是否包含某个className\n * @param element 目标元素\n * @param className className属性\n */\n containsClassName(element, className) {\n if (typeof className !== \"string\") {\n return false;\n }\n if (className.trim() === \"\") {\n return false;\n }\n return element.classList.contains(className);\n }\n css(element, property, value) {\n /**\n * 把纯数字没有px的加上\n */\n function handlePixe(propertyName, propertyValue) {\n let allowAddPixe = [\n \"width\",\n \"height\",\n \"top\",\n \"left\",\n \"right\",\n \"bottom\",\n \"font-size\",\n ];\n if (typeof propertyValue === \"number\") {\n propertyValue = propertyValue.toString();\n }\n if (typeof propertyValue === \"string\" &&\n allowAddPixe.includes(propertyName) &&\n propertyValue.match(/[0-9]$/gi)) {\n propertyValue = propertyValue + \"px\";\n }\n return propertyValue;\n }\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof property === \"string\") {\n if (value == null) {\n return getComputedStyle(element).getPropertyValue(property);\n }\n else {\n if (value === \"string\" && value.includes(\"!important\")) {\n element.style.setProperty(property, value, \"important\");\n }\n else {\n value = handlePixe(property, value);\n element.style.setProperty(property, value);\n }\n }\n }\n else if (typeof property === \"object\") {\n for (let prop in property) {\n if (typeof property[prop] === \"string\" &&\n property[prop].includes(\"!important\")) {\n element.style.setProperty(prop, property[prop], \"important\");\n }\n else {\n property[prop] = handlePixe(prop, property[prop]);\n element.style.setProperty(prop, property[prop]);\n }\n }\n }\n }\n /**\n * 创建元素\n * @param tagName 标签名\n * @param property 属性\n * @param attributes 元素上的自定义属性\n * @example\n * // 创建一个DIV元素,且属性class为xxx\n * DOMUtils.createElement(\"div\",undefined,{ class:\"xxx\" });\n * > <div class=\"xxx\"></div>\n * @example\n * // 创建一个DIV元素\n * DOMUtils.createElement(\"div\");\n * > <div></div>\n * @example\n * // 创建一个DIV元素\n * DOMUtils.createElement(\"div\",\"测试\");\n * > <div>测试</div>\n */\n createElement(\n /** 元素名 */\n tagName, \n /** 属性 */\n property, \n /** 自定义属性 */\n attributes) {\n let tempElement = PopsCore.document.createElement(tagName);\n if (typeof property === \"string\") {\n tempElement.innerHTML = property;\n return tempElement;\n }\n if (property == null) {\n property = {};\n }\n if (attributes == null) {\n attributes = {};\n }\n Object.keys(property).forEach((key) => {\n let value = property[key];\n tempElement[key] = value;\n });\n Object.keys(attributes).forEach((key) => {\n let value = attributes[key];\n if (typeof value === \"object\") {\n /* object转字符串 */\n value = JSON.stringify(value);\n }\n else if (typeof value === \"function\") {\n /* function转字符串 */\n value = value.toString();\n }\n tempElement.setAttribute(key, value);\n });\n return tempElement;\n }\n /**\n * 获取文字的位置信息\n * @param input 输入框\n * @param selectionStart 起始位置\n * @param selectionEnd 结束位置\n * @param debug 是否是调试模式\n * + true 不删除临时节点元素\n * + false 删除临时节点元素\n */\n getTextBoundingRect(input, selectionStart, selectionEnd, debug) {\n // Basic parameter validation\n if (!input || !(\"value\" in input))\n return input;\n if (typeof selectionStart == \"string\")\n selectionStart = parseFloat(selectionStart);\n if (typeof selectionStart != \"number\" || isNaN(selectionStart)) {\n selectionStart = 0;\n }\n if (selectionStart < 0)\n selectionStart = 0;\n else\n selectionStart = Math.min(input.value.length, selectionStart);\n if (typeof selectionEnd == \"string\")\n selectionEnd = parseFloat(selectionEnd);\n if (typeof selectionEnd != \"number\" ||\n isNaN(selectionEnd) ||\n selectionEnd < selectionStart) {\n selectionEnd = selectionStart;\n }\n if (selectionEnd < 0)\n selectionEnd = 0;\n else\n selectionEnd = Math.min(input.value.length, selectionEnd);\n // If available (thus IE), use the createTextRange method\n if (typeof input.createTextRange == \"function\") {\n var range = input.createTextRange();\n range.collapse(true);\n range.moveStart(\"character\", selectionStart);\n range.moveEnd(\"character\", selectionEnd - selectionStart);\n return range.getBoundingClientRect();\n }\n // createTextRange is not supported, create a fake text range\n var offset = getInputOffset(), topPos = offset.top, leftPos = offset.left, width = getInputCSS(\"width\", true), height = getInputCSS(\"height\", true);\n // Styles to simulate a node in an input field\n var cssDefaultStyles = \"white-space:pre;padding:0;margin:0;\", listOfModifiers = [\n \"direction\",\n \"font-family\",\n \"font-size\",\n \"font-size-adjust\",\n \"font-variant\",\n \"font-weight\",\n \"font-style\",\n \"letter-spacing\",\n \"line-height\",\n \"text-align\",\n \"text-indent\",\n \"text-transform\",\n \"word-wrap\",\n \"word-spacing\",\n ];\n // @ts-ignore\n topPos += getInputCSS(\"padding-top\", true);\n // @ts-ignore\n topPos += getInputCSS(\"border-top-width\", true);\n // @ts-ignore\n leftPos += getInputCSS(\"padding-left\", true);\n // @ts-ignore\n leftPos += getInputCSS(\"border-left-width\", true);\n leftPos += 1; //Seems to be necessary\n for (var i = 0; i < listOfModifiers.length; i++) {\n var property = listOfModifiers[i];\n // @ts-ignore\n cssDefaultStyles += property + \":\" + getInputCSS(property) + \";\";\n }\n // End of CSS variable checks\n // 不能为空,不然获取不到高度\n var text = input.value || \"G\", textLen = text.length, fakeClone = document.createElement(\"div\");\n if (selectionStart > 0)\n appendPart(0, selectionStart);\n var fakeRange = appendPart(selectionStart, selectionEnd);\n if (textLen > selectionEnd)\n appendPart(selectionEnd, textLen);\n // Styles to inherit the font styles of the element\n fakeClone.style.cssText = cssDefaultStyles;\n // Styles to position the text node at the desired position\n fakeClone.style.position = \"absolute\";\n fakeClone.style.top = topPos + \"px\";\n fakeClone.style.left = leftPos + \"px\";\n fakeClone.style.width = width + \"px\";\n fakeClone.style.height = height + \"px\";\n PopsCore.document.body.appendChild(fakeClone);\n var returnValue = fakeRange.getBoundingClientRect(); //Get rect\n if (!debug)\n fakeClone.parentNode.removeChild(fakeClone); //Remove temp\n return returnValue;\n // Local functions for readability of the previous code\n /**\n *\n * @param start\n * @param end\n */\n function appendPart(start, end) {\n var span = document.createElement(\"span\");\n span.style.cssText = cssDefaultStyles; //Force styles to prevent unexpected results\n span.textContent = text.substring(start, end);\n fakeClone.appendChild(span);\n return span;\n }\n // Computing offset position\n function getInputOffset() {\n var body = document.body, win = document.defaultView, docElem = document.documentElement, box = document.createElement(\"div\");\n box.style.paddingLeft = box.style.width = \"1px\";\n body.appendChild(box);\n var isBoxModel = box.offsetWidth == 2;\n body.removeChild(box);\n // @ts-ignore\n box = input.getBoundingClientRect();\n var clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, scrollTop = \n // @ts-ignore\n win.pageYOffset ||\n (isBoxModel && docElem.scrollTop) ||\n body.scrollTop, scrollLeft = \n // @ts-ignore\n win.pageXOffset ||\n (isBoxModel && docElem.scrollLeft) ||\n body.scrollLeft;\n return {\n // @ts-ignore\n top: box.top + scrollTop - clientTop,\n // @ts-ignore\n left: box.left + scrollLeft - clientLeft,\n };\n }\n /**\n *\n * @param prop\n * @param isnumber\n * @returns\n */\n function getInputCSS(prop, isnumber) {\n var val = PopsCore.document\n .defaultView.getComputedStyle(input, null)\n .getPropertyValue(prop);\n // @ts-ignore\n return isnumber ? parseFloat(val) : val;\n }\n }\n /**\n * 使用className来隐藏元素\n * @param ele\n * @param isImportant 是否使用!important\n */\n cssHide(ele, isImportant = false) {\n if (ele == null) {\n return;\n }\n if (isImportant) {\n ele.classList.add(\"pops-hide-important\");\n }\n else {\n ele.classList.add(\"pops-hide\");\n }\n }\n /**\n * cssHide的反向使用\n * @param ele\n */\n cssShow(ele) {\n if (ele == null) {\n return;\n }\n ele.classList.remove(\"pops-hide-important\");\n ele.classList.remove(\"pops-hide\");\n }\n parseHTML(html, useParser = false, isComplete = false) {\n function parseHTMLByDOMParser() {\n let parser = new DOMParser();\n if (isComplete) {\n return parser.parseFromString(html, \"text/html\");\n }\n else {\n return parser.parseFromString(html, \"text/html\").body.firstChild;\n }\n }\n function parseHTMLByCreateDom() {\n let tempDIV = PopsCore.document.createElement(\"div\");\n tempDIV.innerHTML = html;\n if (isComplete) {\n return tempDIV;\n }\n else {\n return tempDIV.firstChild;\n }\n }\n if (useParser) {\n return parseHTMLByDOMParser();\n }\n else {\n return parseHTMLByCreateDom();\n }\n }\n /**\n * 函数在元素内部末尾添加子元素或HTML字符串\n * @param element 目标元素\n * @param content 子元素或HTML字符串\n * @example\n * // 元素a.xx的内部末尾添加一个元素\n * DOMUtils.append(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.append(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n append(element, content) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n function elementAppendChild(ele, text) {\n if (typeof content === \"string\") {\n ele.insertAdjacentHTML(\"beforeend\", text);\n }\n else {\n ele.appendChild(text);\n }\n }\n if (Array.isArray(content) || content instanceof NodeList) {\n /* 数组 */\n let fragment = PopsCore.document.createDocumentFragment();\n content.forEach((ele) => {\n if (typeof ele === \"string\") {\n ele = this.parseHTML(ele, true, false);\n }\n fragment.appendChild(ele);\n });\n element.appendChild(fragment);\n }\n else {\n elementAppendChild(element, content);\n }\n }\n /**\n * 把元素标签添加到head内\n */\n appendHead($ele) {\n if (PopsCore.document.head) {\n PopsCore.document.head.appendChild($ele);\n }\n else {\n PopsCore.document.documentElement.appendChild($ele);\n }\n }\n /**\n * 把元素添加进body内\n * @param $ele\n */\n appendBody($ele) {\n if (PopsCore.document.body) {\n PopsCore.document.body.appendChild($ele);\n }\n else {\n PopsCore.document.documentElement.appendChild($ele);\n }\n }\n /**\n * 判断元素是否已显示或已连接\n * @param element\n */\n isShow(element) {\n return Boolean(element.getClientRects().length);\n }\n /**\n * 用于显示元素并获取它的高度宽度等其它属性\n * @param $ele\n * @param parent 父元素\n */\n showElement($ele, ownParent) {\n /** 克隆元素 */\n let $cloneNode = $ele.cloneNode(true);\n $cloneNode.setAttribute(\"style\", \"visibility: hidden !important;display:block !important;\");\n let $parent = PopsCore.document.documentElement;\n // 这里需要的是先获取元素的父节点,把元素同样添加到父节点中\n let $root = $ele.getRootNode();\n if (ownParent == null) {\n if ($root == $ele) {\n // 未添加到任意节点中,那么直接添加到页面中去\n $parent = PopsCore.document.documentElement;\n }\n else {\n // 添加到父节点中\n $parent = $root;\n }\n }\n else {\n // 自定义的父节点\n $parent = ownParent;\n }\n $parent.appendChild($cloneNode);\n return {\n /**\n * 强制显示的克隆的元素\n */\n cloneNode: $cloneNode,\n /**\n * 恢复修改的style\n */\n recovery() {\n $cloneNode.remove();\n },\n };\n }\n /**\n * 获取元素上的Float格式的属性px\n * @param element\n * @param styleName style名\n */\n getStyleValue(element, styleName) {\n let view = null;\n let styles = null;\n if (element instanceof CSSStyleDeclaration) {\n /* 直接就获取了style属性 */\n styles = element;\n }\n else {\n view = element.ownerDocument.defaultView;\n if (!view || !view.opener) {\n view = window;\n }\n styles = view.getComputedStyle(element);\n }\n let value = parseFloat(styles[styleName]);\n if (isNaN(value)) {\n return 0;\n }\n else {\n return value;\n }\n }\n /**\n * 在元素前面添加兄弟元素或HTML字符串\n * @param element 目标元素\n * @param content 兄弟元素或HTML字符串\n * @example\n * // 元素a.xx前面添加一个元素\n * DOMUtils.before(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.before(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n before(element, content) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof content === \"string\") {\n element.insertAdjacentHTML(\"beforebegin\", content);\n }\n else {\n element.parentElement.insertBefore(content, element);\n }\n }\n /**\n * 在元素后面添加兄弟元素或HTML字符串\n * @param element 目标元素\n * @param content 兄弟元素或HTML字符串\n * @example\n * // 元素a.xx后面添加一个元素\n * DOMUtils.after(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.after(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n after(element, content) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof content === \"string\") {\n element.insertAdjacentHTML(\"afterend\", content);\n }\n else {\n element.parentElement.insertBefore(content, element.nextSibling);\n }\n }\n}\nconst popsDOMUtils = new PopsDOMUtils();\nexport { popsDOMUtils };\n","import { popsDOMUtils } from \"./PopsDOMUtils\";\nimport { popsUtils } from \"./PopsUtils\";\nimport { PopsCore } from \"../Core\";\nimport { pops } from \"../Pops\";\nexport const PopsInstanceUtils = {\n /**\n * 获取页面中最大的z-index的元素信息\n * @param deviation 获取最大的z-index值的偏移,默认是+1\n * @example\n * Utils.getMaxZIndexNodeInfo();\n * > {\n * node: ...,\n * zIndex: 1001\n * }\n **/\n getMaxZIndexNodeInfo(deviation = 1) {\n deviation = Number.isNaN(deviation) ? 1 : deviation;\n // 最大值2147483647\n const maxZIndex = Math.pow(2, 31) - 1;\n // 比较值2000000000\n const maxZIndexCompare = 2 * Math.pow(10, 9);\n // 当前页面最大的z-index\n let zIndex = 0;\n // 当前的最大z-index的元素,调试使用\n // @ts-ignore\n let maxZIndexNode = null;\n /**\n * 元素是否可见\n * @param $css\n */\n function isVisibleNode($css) {\n return $css.position !== \"static\" && $css.display !== \"none\";\n }\n /**\n * 查询元素的z-index\n * 并比较值是否是已获取的最大值\n * @param $ele\n */\n function queryMaxZIndex($ele) {\n /** 元素的样式 */\n const nodeStyle = PopsCore.window.getComputedStyle($ele);\n /* 不对position为static和display为none的元素进行获取它们的z-index */\n if (isVisibleNode(nodeStyle)) {\n let nodeZIndex = parseInt(nodeStyle.zIndex);\n if (!isNaN(nodeZIndex)) {\n if (nodeZIndex > zIndex) {\n // 赋值到全局\n zIndex = nodeZIndex;\n maxZIndexNode = $ele;\n }\n }\n // 判断shadowRoot\n if ($ele.shadowRoot != null && $ele instanceof ShadowRoot) {\n $ele.shadowRoot.querySelectorAll(\"*\").forEach(($shadowEle) => {\n queryMaxZIndex($shadowEle);\n });\n }\n }\n }\n PopsCore.document.querySelectorAll(\"*\").forEach(($ele, index) => {\n queryMaxZIndex($ele);\n });\n zIndex += deviation;\n if (zIndex >= maxZIndexCompare) {\n // 最好不要超过最大值\n zIndex = maxZIndex;\n }\n return {\n node: maxZIndexNode,\n zIndex: zIndex,\n };\n },\n /**\n * 获取页面中最大的z-index\n * @param deviation 获取最大的z-index值的偏移,默认是+1\n * @example\n * Utils.getMaxZIndex();\n * > 1001\n **/\n getMaxZIndex(deviation = 1) {\n return this.getMaxZIndexNodeInfo(deviation).zIndex;\n },\n /**\n * 获取pops所有弹窗中的最大的z-index\n * @param deviation\n */\n getPopsMaxZIndex(deviation = 1) {\n deviation = Number.isNaN(deviation) ? 1 : deviation;\n // 最大值2147483647\n let maxZIndex = Math.pow(2, 31) - 1;\n // 当前页面最大的z-index\n let zIndex = 0;\n // 当前的最大z-index的元素,调试使用\n let maxZIndexNode = null;\n Object.keys(pops.config.layer).forEach((layerName) => {\n let layerList = pops.config.layer[layerName];\n for (let index = 0; index < layerList.length; index++) {\n const layer = layerList[index];\n let nodeStyle = window.getComputedStyle(layer.animElement);\n /* 不对position为static和display为none的元素进行获取它们的z-index */\n if (nodeStyle.position !== \"static\" && nodeStyle.display !== \"none\") {\n let nodeZIndex = parseInt(nodeStyle.zIndex);\n if (!isNaN(nodeZIndex)) {\n if (nodeZIndex > zIndex) {\n zIndex = nodeZIndex;\n maxZIndexNode = layer.animElement;\n }\n }\n }\n }\n });\n zIndex += deviation;\n // 用于比较的值2000000000,大于该值就取该值\n let maxZIndexCompare = 2 * Math.pow(10, 9);\n if (zIndex >= maxZIndexCompare) {\n // 最好不要超过最大值\n zIndex = maxZIndex;\n }\n return { zIndex: zIndex, animElement: maxZIndexNode };\n },\n /**\n * 获取CSS Rule\n * @param sheet\n * @returns\n */\n getKeyFrames(sheet) {\n let result = {};\n Object.keys(sheet.cssRules).forEach((key) => {\n if (sheet.cssRules[key].type === 7 &&\n sheet.cssRules[key].name.startsWith(\"pops-anim-\")) {\n result[sheet.cssRules[key].name] = sheet.cssRules[key];\n }\n });\n return result;\n },\n /**\n * 删除配置中对应的对象\n * @param moreLayerConfigList 配置实例列表\n * @param guid 唯一标识\n * @param isAll 是否全部删除\n */\n removeInstance(moreLayerConfigList, guid, isAll = false) {\n /**\n * 移除元素实例\n * @param layerCommonConfig\n */\n function removeItem(layerCommonConfig) {\n if (typeof layerCommonConfig.beforeRemoveCallBack === \"function\") {\n // 调用移除签的回调\n layerCommonConfig.beforeRemoveCallBack(layerCommonConfig);\n }\n layerCommonConfig?.animElement?.remove();\n layerCommonConfig?.popsElement?.remove();\n layerCommonConfig?.maskElement?.remove();\n layerCommonConfig?.$shadowContainer?.remove();\n }\n // [ layer[], layer[],...]\n moreLayerConfigList.forEach((layerConfigList) => {\n // layer[]\n layerConfigList.forEach((layerConfigItem, index) => {\n // 移除全部或者guid相同\n if (isAll || layerConfigItem[\"guid\"] === guid) {\n // 判断是否有动画\n if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.getAttribute(\"anim\"))) {\n layerConfigItem.animElement.style.width = \"100%\";\n layerConfigItem.animElement.style.height = \"100%\";\n layerConfigItem.animElement.style[\"animation-name\"] =\n layerConfigItem.animElement.getAttribute(\"anim\") + \"-reverse\";\n if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.style[\"animation-name\"])) {\n popsDOMUtils.on(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), function () {\n removeItem(layerConfigItem);\n }, {\n capture: true,\n });\n }\n else {\n removeItem(layerConfigItem);\n }\n }\n else {\n removeItem(layerConfigItem);\n }\n layerConfigList.splice(index, 1);\n }\n });\n });\n return moreLayerConfigList;\n },\n /**\n * 隐藏\n * @param popsType\n * @param layerConfigList\n * @param guid\n * @param config\n * @param animElement\n * @param maskElement\n */\n hide(popsType, layerConfigList, guid, config, animElement, maskElement) {\n let popsElement = animElement.querySelector(\".pops[type-value]\");\n if (popsType === \"drawer\") {\n let drawerConfig = config;\n setTimeout(() => {\n maskElement.style.setProperty(\"display\", \"none\");\n if ([\"top\", \"bottom\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"height\", \"0\");\n }\n else if ([\"left\", \"right\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"width\", \"0\");\n }\n else {\n console.error(\"未知direction:\", drawerConfig.direction);\n }\n }, drawerConfig.closeDelay);\n }\n else {\n layerConfigList.forEach((layerConfigItem) => {\n if (layerConfigItem.guid === guid) {\n /* 存在动画 */\n layerConfigItem.animElement.style.width = \"100%\";\n layerConfigItem.animElement.style.height = \"100%\";\n layerConfigItem.animElement.style[\"animation-name\"] =\n layerConfigItem.animElement.getAttribute(\"anim\") + \"-reverse\";\n if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.style[\"animation-name\"])) {\n function animationendCallBack() {\n layerConfigItem.animElement.style.display = \"none\";\n if (layerConfigItem.maskElement) {\n layerConfigItem.maskElement.style.display = \"none\";\n }\n popsDOMUtils.off(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {\n capture: true,\n });\n }\n popsDOMUtils.on(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {\n capture: true,\n });\n }\n else {\n layerConfigItem.animElement.style.display = \"none\";\n if (layerConfigItem.maskElement) {\n layerConfigItem.maskElement.style.display = \"none\";\n }\n }\n return;\n }\n });\n }\n },\n /**\n * 显示\n * @param popsType\n * @param layerConfigList\n * @param guid\n * @param config\n * @param animElement\n * @param maskElement\n */\n show(popsType, layerConfigList, guid, config, animElement, maskElement) {\n let popsElement = animElement.querySelector(\".pops[type-value]\");\n if (popsType === \"drawer\") {\n let drawerConfig = config;\n setTimeout(() => {\n maskElement.style.setProperty(\"display\", \"\");\n let direction = drawerConfig.direction;\n let size = drawerConfig.size.toString();\n if ([\"top\", \"bottom\"].includes(direction)) {\n popsElement.style.setProperty(\"height\", size);\n }\n else if ([\"left\", \"right\"].includes(direction)) {\n popsElement.style.setProperty(\"width\", size);\n }\n else {\n console.error(\"未知direction:\", direction);\n }\n }, drawerConfig.openDelay);\n }\n else {\n layerConfigList.forEach((layerConfigItem) => {\n if (layerConfigItem.guid === guid) {\n layerConfigItem.animElement.style.width = \"\";\n layerConfigItem.animElement.style.height = \"\";\n layerConfigItem.animElement.style[\"animation-name\"] =\n layerConfigItem\n .animElement.getAttribute(\"anim\")\n .replace(\"-reverse\", \"\");\n if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.style[\"animation-name\"])) {\n layerConfigItem.animElement.style.display = \"\";\n if (layerConfigItem.maskElement) {\n layerConfigItem.maskElement.style.display = \"\";\n }\n function animationendCallBack() {\n popsDOMUtils.off(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {\n capture: true,\n });\n }\n popsDOMUtils.on(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {\n capture: true,\n });\n }\n else {\n layerConfigItem.animElement.style.display = \"\";\n if (layerConfigItem.maskElement) {\n layerConfigItem.maskElement.style.display = \"\";\n }\n }\n }\n return;\n });\n }\n },\n /**\n * 关闭\n * @param popsType\n * @param layerConfigList\n * @param guid\n * @param config\n * @param animElement\n */\n close(popsType, layerConfigList, guid, config, animElement) {\n let popsElement = animElement.querySelector(\".pops[type-value]\");\n let drawerConfig = config;\n /**\n * 动画结束事件\n */\n function transitionendEvent() {\n function closeCallBack(event) {\n if (event.propertyName !== \"transform\") {\n return;\n }\n popsDOMUtils.off(popsElement, popsDOMUtils.getTransitionEndNameList(), void 0, closeCallBack);\n PopsInstanceUtils.removeInstance([layerConfigList], guid);\n }\n /* 监听过渡结束 */\n popsDOMUtils.on(popsElement, popsDOMUtils.getTransitionEndNameList(), closeCallBack);\n let popsTransForm = getComputedStyle(popsElement).transform;\n if (popsTransForm !== \"none\") {\n popsDOMUtils.trigger(popsElement, popsDOMUtils.getTransitionEndNameList(), void 0, true);\n return;\n }\n if ([\"top\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"transform\", \"translateY(-100%)\");\n }\n else if ([\"bottom\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"transform\", \"translateY(100%)\");\n }\n else if ([\"left\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"transform\", \"translateX(-100%)\");\n }\n else if ([\"right\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"transform\", \"translateX(100%)\");\n }\n else {\n console.error(\"未知direction:\", drawerConfig.direction);\n }\n }\n if (popsType === \"drawer\") {\n setTimeout(() => {\n transitionendEvent();\n }, drawerConfig.closeDelay);\n }\n else {\n PopsInstanceUtils.removeInstance([layerConfigList], guid);\n }\n },\n /**\n * 拖拽元素\n * 说明:\n * + 元素的position为absolute或者fixed\n * + 会为元素的\n * @param moveElement 需要拖拽的元素\n * @param options 配置\n */\n drag(moveElement, options) {\n options = Object.assign({\n limit: true,\n extraDistance: 3,\n container: PopsCore.globalThis,\n }, options);\n let isMove = false;\n /* 点击元素,left偏移 */\n let clickElementLeftOffset = 0;\n /* 点击元素,top偏移 */\n let clickElementTopOffset = 0;\n let AnyTouch = popsUtils.AnyTouch();\n let anyTouchElement = new AnyTouch(options.dragElement, {\n preventEvent(event) {\n if (typeof options.preventEvent === \"function\") {\n return options.preventEvent(event);\n }\n else {\n return false;\n }\n },\n });\n popsDOMUtils.css(options.dragElement, {\n cursor: \"move\",\n });\n /**\n * 获取移动元素的transform偏移\n */\n function getTransform(element) {\n let transform_left = 0;\n let transform_top = 0;\n let elementTransform = PopsCore.globalThis.getComputedStyle(element).transform;\n if (elementTransform !== \"none\" &&\n elementTransform != null &&\n elementTransform !== \"\") {\n let elementTransformSplit = elementTransform\n .match(/\\((.+)\\)/)?.[1]\n .split(\",\");\n transform_left = Math.abs(parseInt(elementTransformSplit[4]));\n transform_top = Math.abs(parseInt(elementTransformSplit[5]));\n }\n return {\n transformLeft: transform_left,\n transformTop: transform_top,\n };\n }\n /**\n * 修改移动的元素的style\n */\n function changeMoveElementStyle(element) {\n let old_transitionDuration = element.style.transitionDuration;\n if (globalThis.getComputedStyle(element).transitionDuration !== \"0s\") {\n element.style.transitionDuration = \"0s\";\n }\n return () => {\n element.style.transitionDuration = old_transitionDuration;\n };\n }\n /**\n * 获取容器的高度、宽度,一般是window为容器\n */\n function getContainerWidthOrHeight(container) {\n container = container ?? globalThis;\n return {\n width: popsDOMUtils.width(container),\n height: popsDOMUtils.height(container),\n };\n }\n /**\n * 获取容器的最小left、top偏移\n */\n function getContainerTopOrLeft(container) {\n container = container ?? globalThis;\n if (popsUtils.isWin(container)) {\n return {\n left: 0,\n top: 0,\n };\n }\n else {\n let rect = container.getBoundingClientRect();\n return {\n left: rect.left,\n top: rect.top,\n };\n }\n }\n let transformInfo = getTransform(moveElement);\n let transformLeft = transformInfo.transformLeft;\n let transformTop = transformInfo.transformTop;\n let resumeMoveElementStyle = null;\n anyTouchElement.on(\"pan\", function (event) {\n if (!isMove) {\n isMove = true;\n let rect = options.dragElement.getBoundingClientRect();\n clickElementLeftOffset = event.x - rect.left;\n clickElementTopOffset = event.y - rect.top;\n transformInfo = getTransform(moveElement);\n transformLeft = transformInfo.transformLeft;\n transformTop = transformInfo.transformTop;\n //if (event.nativeEvent.offsetX) {\n // clickElementLeftOffset = parseInt(event.nativeEvent.offsetX);\n //} else {\n // clickElementLeftOffset = parseInt(event.getOffset().x);\n //}\n //if (event.nativeEvent.offsetY) {\n // clickElementTopOffset = parseInt(event.nativeEvent.offsetY);\n //} else {\n // clickElementTopOffset = parseInt(event.getOffset().y);\n //}\n resumeMoveElementStyle = changeMoveElementStyle(moveElement);\n }\n /** 当前移动的left偏移 */\n let currentMoveLeftOffset = event.x - clickElementLeftOffset + transformLeft;\n /** 当前移动的top偏移 */\n let currentMoveTopOffset = event.y - clickElementTopOffset + transformTop;\n /* 拖拽移动 */\n if (event.phase === \"move\") {\n if (options.limit) {\n /* 限制在容器内移动 */\n /* left偏移最大值 */\n let maxLeftOffset = getContainerWidthOrHeight(options.container).width -\n popsDOMUtils.width(moveElement) +\n transformLeft;\n let { left: minLeftOffset, top: minTopOffset } = getContainerTopOrLeft(options.container);\n /* top偏移的最大值 */\n let maxTopOffset = getContainerWidthOrHeight(options.container).height -\n popsDOMUtils.height(moveElement) +\n transformTop;\n if (currentMoveLeftOffset > maxLeftOffset) {\n /* 不允许超过容器的最大宽度 */\n currentMoveLeftOffset = maxLeftOffset;\n }\n if (currentMoveTopOffset > maxTopOffset) {\n /* 不允许超过容器的最大高度 */\n currentMoveTopOffset = maxTopOffset;\n }\n if (currentMoveLeftOffset - options.extraDistance * 2 <\n minLeftOffset + transformLeft) {\n /* 不允许left偏移小于容器最小值 */\n currentMoveLeftOffset = minLeftOffset + transformLeft;\n /* 最左边 +额外距离 */\n currentMoveLeftOffset += options.extraDistance;\n }\n else {\n /* 最右边 -额外距离 */\n currentMoveLeftOffset -= options.extraDistance;\n }\n if (currentMoveTopOffset - options.extraDistance * 2 <\n minTopOffset + transformTop) {\n /* 不允许top偏移小于容器最小值 */\n currentMoveTopOffset = minTopOffset + transformTop;\n /* 最上面 +额外距离 */\n currentMoveTopOffset += options.extraDistance;\n }\n else {\n /* 最下面 -额外距离 */\n currentMoveTopOffset -= options.extraDistance;\n }\n }\n if (typeof options.moveCallBack === \"function\") {\n options.moveCallBack(moveElement, currentMoveLeftOffset, currentMoveTopOffset);\n }\n popsDOMUtils.css(moveElement, {\n left: currentMoveLeftOffset + \"px\",\n top: currentMoveTopOffset + \"px\",\n });\n }\n /* 停止拖拽 */\n if (event.phase === \"end\") {\n isMove = false;\n if (typeof resumeMoveElementStyle === \"function\") {\n resumeMoveElementStyle();\n resumeMoveElementStyle = null;\n }\n if (typeof options.endCallBack === \"function\") {\n options.endCallBack(moveElement, currentMoveLeftOffset, currentMoveTopOffset);\n }\n }\n });\n /* 因为会覆盖上面的点击事件,主动触发一下 */\n anyTouchElement.on([\"click\", \"tap\"], function (event) {\n event.changedPoints.forEach((item) => {\n popsDOMUtils.trigger(item.target, \"click\", void 0, true);\n });\n });\n },\n /**\n * 排序数组\n * @param getBeforeValueFun\n * @param getAfterValueFun\n * @param sortByDesc 排序是否降序,默认降序\n */\n sortElementListByProperty(getBeforeValueFun, getAfterValueFun, sortByDesc = true) {\n if (typeof sortByDesc !== \"boolean\") {\n throw \"参数 sortByDesc 必须为boolean类型\";\n }\n if (getBeforeValueFun == null || getAfterValueFun == null) {\n throw \"获取前面的值或后面的值的方法不能为空\";\n }\n return function (after_obj, before_obj) {\n var beforeValue = getBeforeValueFun(before_obj); /* 前 */\n var afterValue = getAfterValueFun(after_obj); /* 后 */\n if (sortByDesc) {\n if (afterValue > beforeValue) {\n return -1;\n }\n else if (afterValue < beforeValue) {\n return 1;\n }\n else {\n return 0;\n }\n }\n else {\n if (afterValue < beforeValue) {\n return -1;\n }\n else if (afterValue > beforeValue) {\n return 1;\n }\n else {\n return 0;\n }\n }\n };\n },\n};\n","import { pops } from \"../Pops\";\nimport { popsUtils } from \"../utils/PopsUtils\";\nexport const PopsElementHandler = {\n /**\n * 获取遮罩层HTML\n * @param guid\n * @param zIndex z-index\n * @param style\n */\n getMaskHTML(guid, zIndex = 101, style = \"\") {\n zIndex = zIndex - 100;\n if (style.startsWith(\";\")) {\n style = style.replace(\";\", \"\");\n }\n return `<div class=\"pops-mask\" data-guid=\"${guid}\" style=\"z-index:${zIndex};${style}\"></div>`;\n },\n /**\n * 获取动画层HTML\n * @param guid\n * @param type\n * @param config\n * @param html\n * @param bottomBtnHTML\n * @param zIndex\n */\n getAnimHTML(guid, type, config, html = \"\", bottomBtnHTML = \"\", zIndex) {\n let __config = config;\n let popsAnimStyle = \"\";\n let popsStyle = \"\";\n let popsPosition = __config.position || \"\";\n if (config.zIndex != null) {\n popsAnimStyle += `z-index: ${zIndex};`;\n popsStyle += `z-index: ${zIndex};`;\n }\n if (__config.width != null) {\n popsStyle += `width: ${__config.width};`;\n }\n if (__config.height != null) {\n popsStyle += `height: ${__config.height};`;\n }\n let hasBottomBtn = bottomBtnHTML.trim() === \"\" ? false : true;\n return /*html*/ `\r\n\t\t<div \r\n\t\t\tclass=\"pops-anim\"\r\n\t\t\tanim=\"${__config.animation || \"\"}\"\r\n\t\t\tstyle=\"${popsAnimStyle};\"\r\n\t\t\tdata-guid=\"${guid}\">\r\n ${config.style != null\n ? `<style tyle=\"text/css\">${config.style}</style>`\n : \"\"}\r\n\t\t\t<div\r\n\t\t\t\tclass=\"pops ${config.class || \"\"}\"\r\n\t\t\t\tdata-bottom-btn=\"${hasBottomBtn}\"\r\n\t\t\t\ttype-value=\"${type}\"\r\n\t\t\t\tstyle=\"${popsStyle}\"\r\n\t\t\t\tposition=\"${popsPosition}\"\r\n\t\t\t\tdata-guid=\"${guid}\">\r\n\t\t\t\t${html}\r\n\t\t\t</div>\r\n\t\t</div>`;\n },\n /**\n * 获取顶部按钮层HTML\n * @param type\n * @param config\n */\n getHeaderBtnHTML(type, config) {\n if (!config.btn) {\n return \"\";\n }\n let __config_confirm = config;\n if (type !== \"iframe\" && !__config_confirm.btn?.close?.enable) {\n return \"\";\n }\n let resultHTML = \"\";\n // let btnStyle = \"\";\n let closeHTML = \"\";\n let __config_iframe = config;\n if (type === \"iframe\" && __config_iframe.topRightButton?.trim() !== \"\") {\n /* iframe的 */\n let topRightButtonHTML = \"\";\n __config_iframe.topRightButton.split(\"|\").forEach((item) => {\n item = item.toLowerCase();\n topRightButtonHTML += `\r\n <button class=\"pops-header-control\" type=\"${item}\">\r\n <i class=\"pops-icon\">${pops.config.iconSVG[item]}</i>\r\n </button>`;\n });\n resultHTML = `\r\n <div class=\"pops-header-controls\" data-margin>\r\n ${topRightButtonHTML}\r\n </div>`;\n }\n else {\n if (__config_confirm.btn?.close?.enable) {\n closeHTML = `\r\n <div class=\"pops-header-controls\">\r\n <button class=\"pops-header-control\" type=\"close\" data-header>\r\n <i class=\"pops-icon\">${pops.config.iconSVG[\"close\"]}</i>\r\n </button>\r\n </div>`;\n }\n resultHTML = closeHTML;\n }\n return resultHTML;\n },\n /**\n * 获取底部按钮层HTML\n * @param type\n * @param config\n */\n getBottomBtnHTML(type, config) {\n if (!config.btn) {\n // 未设置btn参数\n return \"\";\n }\n let __config_confirm = config;\n if (!(config.btn?.ok?.enable ||\n __config_confirm.btn?.cancel?.enable ||\n __config_confirm.btn?.other?.enable)) {\n // 确定、取消、其它按钮都未启用直接返回\n return \"\";\n }\n let btnStyle = \"\";\n let resultHTML = \"\";\n let okHTML = \"\";\n let cancelHTML = \"\";\n let ohterHTML = \"\";\n if (config.btn.position) {\n btnStyle += `justify-content: ${config.btn.position};`;\n }\n if (__config_confirm.btn.reverse) {\n btnStyle += \"flex-direction: row-reverse;\";\n }\n if (config.btn?.ok?.enable) {\n /* 处理确定按钮的尺寸问题 */\n let okButtonSizeClassName = \"\";\n if (config.btn.ok.size === \"large\") {\n okButtonSizeClassName = \"pops-button-\" + config.btn.ok.size;\n }\n else if (config.btn.ok.size === \"small\") {\n okButtonSizeClassName = \"pops-button-\" + config.btn.ok.size;\n }\n let okIconHTML = \"\";\n let okIcon = __config_confirm.btn.ok.icon;\n if (okIcon !== \"\") {\n // 判断图标是否是svg库内的\n let iconHTML = \"\";\n if (okIcon in pops.config.iconSVG) {\n iconHTML = pops.config.iconSVG[okIcon];\n }\n else {\n iconHTML = okIcon;\n }\n iconHTML = iconHTML || \"\";\n okIconHTML = `\r\n <i class=\"pops-bottom-icon\" is-loading=\"${config.btn.ok.iconIsLoading}\">\r\n ${iconHTML}\r\n </i>`;\n }\n okHTML = `\r\n <button \r\n class=\"pops-${type}-btn-ok ${okButtonSizeClassName}\"\r\n type=\"${__config_confirm.btn.ok?.type}\"\r\n\t\t\t\t\tdata-has-icon=\"${(__config_confirm.btn.ok.icon || \"\") !== \"\"}\"\r\n data-rightIcon=\"${__config_confirm.btn.ok?.rightIcon}\"\r\n >\r\n ${okIconHTML}\r\n <span>${config.btn.ok.text}</span>\r\n </button>`;\n }\n if (__config_confirm.btn?.cancel?.enable) {\n /* 处理取消按钮的尺寸问题 */\n let cancelButtonSizeClassName = \"\";\n if (__config_confirm.btn.cancel.size === \"large\") {\n cancelButtonSizeClassName =\n \"pops-button-\" + __config_confirm.btn.cancel.size;\n }\n else if (__config_confirm.btn.cancel.size === \"small\") {\n cancelButtonSizeClassName =\n \"pops-button-\" + __config_confirm.btn.cancel.size;\n }\n let cancelIconHTML = \"\";\n let cancelIcon = __config_confirm.btn.cancel.icon;\n if (cancelIcon !== \"\") {\n let iconHTML = \"\";\n // 判断图标是否是svg库内的\n if (cancelIcon in pops.config.iconSVG) {\n iconHTML = pops.config.iconSVG[cancelIcon];\n }\n else {\n iconHTML = cancelIcon;\n }\n iconHTML = iconHTML || \"\";\n cancelIconHTML = `\r\n <i class=\"pops-bottom-icon\" is-loading=\"${__config_confirm.btn.cancel.iconIsLoading}\">\r\n ${iconHTML}\r\n </i>`;\n }\n cancelHTML = `\r\n <button\r\n class=\"pops-${type}-btn-cancel ${cancelButtonSizeClassName}\"\r\n type=\"${__config_confirm.btn.cancel.type}\"\r\n\t\t\t\t\tdata-has-icon=\"${(__config_confirm.btn.cancel.icon || \"\") !== \"\"}\"\r\n data-rightIcon=\"${__config_confirm.btn.cancel.rightIcon}\"\r\n >\r\n ${cancelIconHTML}\r\n <span>${__config_confirm.btn.cancel.text}</span>\r\n </button>`;\n }\n if (__config_confirm.btn?.other?.enable) {\n /* 处理其它按钮的尺寸问题 */\n let otherButtonSizeClassName = \"\";\n if (__config_confirm.btn.other.size === \"large\") {\n otherButtonSizeClassName =\n \"pops-button-\" + __config_confirm.btn.other.size;\n }\n else if (__config_confirm.btn.other.size === \"small\") {\n otherButtonSizeClassName =\n \"pops-button-\" + __config_confirm.btn.other.size;\n }\n let otherIconHTML = \"\";\n let otherIcon = __config_confirm.btn.other.icon;\n if (otherIcon !== \"\") {\n let iconHTML = \"\";\n // 判断图标是否是svg库内的\n if (otherIcon in pops.config.iconSVG) {\n iconHTML = pops.config.iconSVG[otherIcon];\n }\n else {\n otherIcon;\n }\n iconHTML = iconHTML || \"\";\n otherIconHTML = `\r\n <i class=\"pops-bottom-icon\" is-loading=\"${__config_confirm.btn.other.iconIsLoading}\">\r\n ${iconHTML}\r\n </i>`;\n }\n ohterHTML = `\r\n <button\r\n class=\"pops-${type}-btn-other ${otherButtonSizeClassName}\"\r\n type=\"${__config_confirm.btn.other.type}\"\r\n\t\t\t\t\tdata-has-icon=\"${(__config_confirm.btn.other.icon || \"\") !== \"\"}\"\r\n data-rightIcon=\"${__config_confirm.btn.other.rightIcon}\"\r\n >\r\n ${otherIconHTML}\r\n <span>${__config_confirm.btn.other.text}</span>\r\n </button>`;\n }\n if (__config_confirm.btn.merge) {\n let flexStyle = \"display: flex;\";\n if (__config_confirm.btn.mergeReverse) {\n flexStyle += \"flex-direction: row-reverse;\";\n }\n else {\n flexStyle += \"flex-direction: row;\";\n }\n resultHTML = `\r\n <div class=\"pops-${type}-btn\" style=\"${btnStyle}\">\r\n ${ohterHTML}\r\n <div \r\n class=\"pops-${type}-btn-merge\"\r\n style=\"${flexStyle}\">\r\n ${okHTML}\r\n ${cancelHTML}\r\n </div>\r\n </div>\r\n `;\n }\n else {\n resultHTML = `\r\n <div class=\"pops-${type}-btn\" style=\"${btnStyle}\">\r\n ${okHTML}\r\n ${cancelHTML}\r\n ${ohterHTML}\r\n </div>\r\n `;\n }\n return resultHTML;\n },\n /**\n * 获取标题style\n * @param type\n * @param config\n */\n getHeaderStyle(type, config) {\n return {\n headerStyle: config?.title?.html ? config?.title?.style || \"\" : \"\",\n headerPStyle: config?.title?.html ? \"\" : config?.title?.style || \"\",\n };\n },\n /**\n * 获取内容style\n * @param type\n * @param config\n */\n getContentStyle(type, config) {\n return {\n contentStyle: config?.content?.html\n ? config?.content?.style || \"\"\n : \"\",\n contentPStyle: config?.content?.html\n ? \"\"\n : config?.content?.style || \"\",\n };\n },\n /**\n * 将html转换成元素\n * @param html\n */\n parseElement(html) {\n return popsUtils.parseTextToDOM(html);\n },\n};\n","import { PopsCore } from \"../Core\";\nimport { pops } from \"../Pops\";\nimport { popsDOMUtils } from \"../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../utils/PopsUtils\";\nexport const PopsHandler = {\n /**\n * 创建shadow\n */\n handlerShadow() {\n let $shadowContainer = document.createElement(\"div\");\n $shadowContainer.className = \"pops-shadow-container\";\n let $shadowRoot = $shadowContainer.attachShadow({ mode: \"open\" });\n return {\n $shadowContainer,\n $shadowRoot,\n };\n },\n /**\n * 处理初始化\n * @param $shadowRoot 所在的shadowRoot\n * @param cssText 添加进ShadowRoot的CSS\n */\n handleInit($shadowRoot, cssText) {\n pops.init();\n if (!arguments.length) {\n return;\n }\n if (Array.isArray(cssText)) {\n for (let index = 0; index < cssText.length; index++) {\n this.handleInit($shadowRoot, cssText[index]);\n }\n }\n else {\n let $css = popsDOMUtils.createElement(\"style\", {\n innerHTML: cssText,\n }, {\n \"data-type\": \"PopsHandler.handleInit\",\n });\n $shadowRoot.appendChild($css);\n }\n },\n /**\n * 处理遮罩层\n * @param details 传递的配置\n */\n handleMask(details = {}) {\n let result = {\n maskElement: popsUtils.parseTextToDOM(details.maskHTML),\n };\n let isMaskClick = false;\n /**\n * 点击其它区域的事件\n * @param event\n */\n function clickEvent(event) {\n popsDOMUtils.preventEvent(event);\n // 获取该类型实例存储列表\n let targetLayer = pops.config.layer[details.type];\n function originalRun() {\n if (details.config.mask.clickEvent.toClose) {\n /* 关闭 */\n PopsInstanceUtils.close(details.type, targetLayer, details.guid, details.config, details.animElement);\n }\n else if (details.config.mask.clickEvent.toHide) {\n /* 隐藏 */\n PopsInstanceUtils.hide(details.type, targetLayer, details.guid, details.config, details.animElement, result.maskElement);\n }\n }\n if (typeof details.config.mask.clickCallBack === \"function\") {\n details.config.mask.clickCallBack(originalRun, details.config);\n }\n else {\n originalRun();\n }\n return false;\n }\n function isAnimElement(element) {\n return Boolean(element?.localName?.toLowerCase() === \"div\" &&\n element.className &&\n element.className === \"pops-anim\" &&\n element.hasAttribute(\"anim\"));\n }\n if (details.config.mask.clickEvent.toClose ||\n details.config.mask.clickEvent.toHide) {\n /* 判断按下的元素是否是pops-anim */\n popsDOMUtils.on(details.animElement, [\"touchstart\", \"mousedown\"], void 0, (event) => {\n isMaskClick = isAnimElement(event.composedPath()[0]);\n });\n /* 如果有动画层,在动画层上监听点击事件 */\n popsDOMUtils.on(details.animElement, \"click\", void 0, (event) => {\n if (isAnimElement(event.composedPath()[0]) &&\n isMaskClick) {\n return clickEvent(event);\n }\n });\n /* 在遮罩层监听点击事件 */\n /* 如果有动画层,那么该点击事件触发不了 */\n popsDOMUtils.on(result.maskElement, \"click\", void 0, (event) => {\n isMaskClick = true;\n clickEvent(event);\n });\n }\n return result;\n },\n /**\n * 处理获取元素\n * @param {HTMLDivElement} animElement\n * @param type\n */\n handleQueryElement(animElement, type) {\n return {\n /**\n * 主元素\n */\n popsElement: animElement.querySelector(\".pops[type-value\"),\n /**\n * 确认按钮\n */\n btnOkElement: animElement.querySelector(`.pops-${type}-btn-ok`),\n /**\n * 取消按钮\n */\n btnCancelElement: animElement.querySelector(`.pops-${type}-btn-cancel`),\n /**\n * 其它按钮\n */\n btnOtherElement: animElement.querySelector(`.pops-${type}-btn-other`),\n /**\n * 标题元素\n */\n titleElement: animElement.querySelector(`.pops-${type}-title`),\n /**\n * 输入框元素\n */\n inputElement: animElement.querySelector(`.pops-${type}-content textarea[pops]`)\n ? animElement.querySelector(`.pops-${type}-content textarea[pops]`)\n : animElement.querySelector(`.pops-${type}-content input[pops]`),\n /**\n * 顶部按钮控制层元素\n */\n headerControlsElement: animElement.querySelector(\".pops-header-controls\"),\n /**\n * iframe元素\n */\n iframeElement: animElement.querySelector(\"iframe[pops]\"),\n /**\n * 加载中元素\n */\n loadingElement: animElement.querySelector(\".pops-loading\"),\n /**\n * 内容元素\n */\n contentElement: animElement.querySelector(`.pops-${type}-content`),\n /**\n * 内容侧边栏容器元素\n */\n contentAsideElement: animElement.querySelector(`.pops-${type}-content aside.pops-${type}-aside`),\n /**\n * 内容主要区域容器元素\n */\n contentSectionContainerElement: animElement.querySelector(`.pops-${type}-content section.pops-${type}-container`),\n /**\n * 内容加载中元素\n */\n contentLoadingElement: animElement.querySelector(`.pops-${type}-content-global-loading`),\n /**\n * 顶部缩小按钮\n */\n headerMinBtnElement: animElement.querySelector(\".pops-header-control[type='min']\"),\n /**\n * 顶部放大按钮\n */\n headerMaxBtnElement: animElement.querySelector(\".pops-header-control[type='max']\"),\n /**\n * 顶部恢复原样按钮\n */\n headerMiseBtnElement: animElement.querySelector(\".pops-header-control[type='mise']\"),\n /**\n * 顶部关闭按钮\n */\n headerCloseBtnElement: animElement.querySelector(\".pops-header-control[type='close']\"),\n /**\n * 文件夹列表元素\n */\n folderListElement: animElement.querySelector(\".pops-folder-list\"),\n /**\n * 文件夹列表顶部元素\n */\n folderListHeaderElement: animElement.querySelector(\".pops-folder-list .pops-folder-list-table__header-div\"),\n /**\n * 文件夹列表行元素\n */\n folderListHeaderRowElement: animElement.querySelector(\".pops-folder-list .pops-folder-list-table__header-div .pops-folder-list-table__header-row\"),\n /**\n * 文件夹列表tbody元素\n */\n folderListBodyElement: animElement.querySelector(\".pops-folder-list .pops-folder-list-table__body-div tbody\"),\n /**\n * 文件夹列表primary元素\n */\n folderFileListBreadcrumbPrimaryElement: animElement.querySelector(\".pops-folder-list .pops-folder-file-list-breadcrumb-primary\"),\n /**\n * 文件夹排序按钮-文件名\n */\n folderListSortFileNameElement: animElement.querySelector('.pops-folder-list-table__sort[data-sort=\"fileName\"]'),\n /**\n * 文件夹排序按钮-修改时间\n */\n folderListSortLatestTimeElement: animElement.querySelector('.pops-folder-list-table__sort[data-sort=\"latestTime\"]'),\n /**\n * 文件夹排序按钮-文件大小\n */\n folderListSortFileSizeElement: animElement.querySelector('.pops-folder-list-table__sort[data-sort=\"fileSize\"]'),\n };\n },\n /**\n * 获取事件配置\n * @param guid\n * @param $shadowContainer\n * @param $shadowRoot\n * @param mode 当前弹窗类型\n * @param animElement 动画层\n * @param popsElement 主元素\n * @param maskElement 遮罩层\n * @param config 当前配置\n */\n handleEventDetails(guid, $shadowContainer, $shadowRoot, mode, animElement, popsElement, maskElement, config) {\n return {\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n element: animElement,\n animElement: animElement,\n popsElement: popsElement,\n maskElement: maskElement,\n mode: mode,\n guid: guid,\n close() {\n PopsInstanceUtils.close(mode, pops.config.layer[mode], guid, config, animElement);\n },\n hide() {\n PopsInstanceUtils.hide(mode, pops.config.layer[mode], guid, config, animElement, maskElement);\n },\n show() {\n PopsInstanceUtils.show(mode, pops.config.layer[mode], guid, config, animElement, maskElement);\n },\n };\n },\n /**\n * 获取loading的事件配置\n * @param guid\n * @param mode 当前弹窗类型\n * @param animElement 动画层\n * @param popsElement 主元素\n * @param maskElement 遮罩层\n * @param config 当前配置\n */\n handleLoadingEventDetails(guid, mode, animElement, popsElement, maskElement, config) {\n return {\n element: animElement,\n animElement: animElement,\n popsElement: popsElement,\n maskElement: maskElement,\n mode: mode,\n guid: guid,\n close() {\n PopsInstanceUtils.close(mode, pops.config.layer[mode], guid, config, animElement);\n },\n hide() {\n PopsInstanceUtils.hide(mode, pops.config.layer[mode], guid, config, animElement, maskElement);\n },\n show() {\n PopsInstanceUtils.show(mode, pops.config.layer[mode], guid, config, animElement, maskElement);\n },\n };\n },\n /**\n * 处理返回的配置,针对popsHandler.handleEventDetails\n */\n handleResultDetails(details) {\n let resultDetails = Object.assign({}, details);\n popsUtils.delete(resultDetails, \"type\");\n popsUtils.delete(resultDetails, \"function\");\n return resultDetails;\n },\n /**\n * 处理点击事件\n * @param type 当前按钮类型\n * @param $btn 按钮元素\n * @param eventDetails 事件配置,由popsHandler.handleEventDetails创建的\n * @param callback 点击回调\n */\n handleClickEvent(type, $btn, eventDetails, callback) {\n popsDOMUtils.on($btn, \"click\", (event) => {\n let extraParam = {\n type: type,\n };\n callback(Object.assign(eventDetails, extraParam), event);\n }, {\n capture: true,\n });\n },\n /**\n * 全局监听键盘事件\n * @param keyName 键名|键值\n * @param otherKeyList 组合按键,数组类型,包含ctrl、shift、alt和meta(win键或mac的cmd键)\n * @param callback 回调函数\n */\n handleKeyboardEvent(keyName, otherKeyList = [], callback) {\n let keyboardEvent = function (event) {\n let _keyName = event.code || event.key;\n let _keyValue = event.charCode || event.keyCode || event.which;\n if (otherKeyList.includes(\"ctrl\") && !event.ctrlKey) {\n return;\n }\n if (otherKeyList.includes(\"alt\") && !event.altKey) {\n return;\n }\n if (otherKeyList.includes(\"meta\") && !event.metaKey) {\n return;\n }\n if (otherKeyList.includes(\"shift\") && !event.shiftKey) {\n return;\n }\n if (typeof keyName === \"string\" && keyName === _keyName) {\n callback && callback(event);\n }\n else if (typeof keyName === \"number\" && keyName === _keyValue) {\n callback && callback(event);\n }\n };\n popsDOMUtils.on(PopsCore.globalThis, \"keydown\", keyboardEvent, {\n capture: true,\n });\n return {\n removeKeyboardEvent() {\n popsDOMUtils.off(globalThis, \"keydown\", keyboardEvent, {\n capture: true,\n });\n },\n };\n },\n /**\n * 处理prompt的点击事件\n * @param type 触发事件类型\n * @param inputElement 输入框\n * @param $btn 按钮元素\n * @param eventDetails 事件配置,由popsHandler.handleEventDetails创建的\n * @param callback 点击回调\n */\n handlePromptClickEvent(type, inputElement, $btn, eventDetails, callback) {\n popsDOMUtils.on($btn, \"click\", (event) => {\n // 额外参数\n let extraParam = {\n type: type,\n text: inputElement.value,\n };\n callback(Object.assign(eventDetails, extraParam), event);\n }, {\n capture: true,\n });\n },\n /**\n * 把配置的z-index配置转为数字\n * @param zIndex\n */\n handleZIndex(zIndex) {\n if (typeof zIndex === \"function\") {\n return zIndex();\n }\n else {\n return zIndex;\n }\n },\n /**\n * 处理config.only\n * @param type 当前弹窗类型\n * @param config 配置\n */\n handleOnly(type, config) {\n if (config.only) {\n if (type === \"loading\" ||\n type === \"tooltip\" ||\n type === \"rightClickMenu\") {\n let layer = pops.config.layer[type];\n if (layer) {\n PopsInstanceUtils.removeInstance([layer], \"\", true);\n }\n }\n else {\n PopsInstanceUtils.removeInstance([\n pops.config.layer.alert,\n pops.config.layer.confirm,\n pops.config.layer.prompt,\n pops.config.layer.iframe,\n pops.config.layer.drawer,\n pops.config.layer.folder,\n pops.config.layer.panel,\n ], \"\", true);\n }\n }\n else {\n // 对配置进行处理\n // 选择配置的z-index和已有的pops实例的最大z-index值\n if (typeof config.zIndex === \"function\") {\n let originZIndexFn = config.zIndex;\n config.zIndex = () => {\n const { zIndex: maxZIndex } = PopsInstanceUtils.getPopsMaxZIndex(PopsHandler.handleZIndex(originZIndexFn) + 100);\n return maxZIndex;\n };\n }\n else {\n const { zIndex: maxZIndex } = PopsInstanceUtils.getPopsMaxZIndex(PopsHandler.handleZIndex(config.zIndex) + 100);\n config.zIndex = maxZIndex;\n }\n }\n return config;\n },\n /**\n * 处理把已创建的元素保存到内部环境中\n * @param type 当前弹窗类型\n * @param value\n */\n handlePush(type, value) {\n pops.config.layer[type].push(value);\n },\n};\n","export const PopsAlertConfig = () => {\n return {\n title: {\n text: \"默认标题\",\n position: \"left\",\n html: false,\n style: \"\",\n },\n content: {\n text: \"默认内容\",\n html: false,\n style: \"\",\n },\n btn: {\n position: \"flex-end\",\n ok: {\n size: void 0,\n enable: true,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"primary\",\n callback: function (event) {\n event.close();\n },\n },\n close: {\n enable: true,\n callback: function (event) {\n event.close();\n },\n },\n },\n class: \"\",\n only: false,\n width: \"350px\",\n height: \"200px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsAlertConfig } from \"./config\";\nexport class PopsAlert {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.alertCSS,\n ]);\n let config = PopsAlertConfig();\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n // 设置当前类型\n const PopsType = \"alert\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let { contentStyle, contentPStyle } = PopsElementHandler.getContentStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n\t\t\t<div \r\n\t\t\t\tclass=\"pops-alert-title\"\r\n\t\t\t\tstyle=\"text-align: ${config.title.position};\r\n\t\t\t\t${headerStyle}\">\r\n\t\t\t\t${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n\t\t\t\t${headerBtnHTML}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-alert-content\" style=\"${contentStyle}\">\r\n\t\t\t\t${config.content.html\n ? config.content.text\n : `<p pops style=\"${contentPStyle}\">${config.content.text}</p>`}\r\n\t\t\t</div>\r\n\t\t\t${bottomBtnHTML}`, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, headerCloseBtnElement: $headerCloseBtn, btnOkElement, titleElement: $title, } = PopsHandler.handleQueryElement($anim, PopsType);\n /** 遮罩层元素 */\n let $mask = null;\n /** 已创建的元素列表 */\n let elementList = [$anim];\n /* 遮罩层元素 */\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n /* 处理返回的配置 */\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n /* 为顶部右边的关闭按钮添加点击事件 */\n PopsHandler.handleClickEvent(\"close\", $headerCloseBtn, eventDetails, config.btn.close.callback);\n /* 为底部ok按钮添加点击事件 */\n PopsHandler.handleClickEvent(\"ok\", btnOkElement, eventDetails, config.btn.ok.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n // 添加遮罩层\n $anim.after($mask);\n }\n /* 保存 */\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsConfirmConfig = () => {\n return {\n title: {\n text: \"默认标题\",\n position: \"left\",\n html: false,\n style: \"\",\n },\n content: {\n text: \"默认内容\",\n html: false,\n style: \"\",\n },\n btn: {\n merge: false,\n mergeReverse: false,\n reverse: false,\n position: \"flex-end\",\n ok: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"primary\",\n callback(event) {\n event.close();\n },\n },\n cancel: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"关闭\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n other: {\n enable: false,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"其它按钮\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n close: {\n enable: true,\n callback(event) {\n event.close();\n },\n },\n },\n class: \"\",\n only: false,\n width: \"350px\",\n height: \"200px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsConfirmConfig } from \"./config\";\nexport class PopsConfirm {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.confirmCSS,\n ]);\n let config = PopsConfirmConfig();\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n // 设置当前类型\n const PopsType = \"confirm\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let { contentStyle, contentPStyle } = PopsElementHandler.getContentStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n <div class=\"pops-confirm-title\" style=\"text-align: ${config.title.position};${headerStyle}\">\r\n ${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n <div class=\"pops-confirm-content\" style=\"${contentStyle}\">\r\n ${config.content.html\n ? config.content.text\n : `<p pops style=\"${contentPStyle}\">${config.content.text}</p>`}\r\n \r\n </div>\r\n\r\n\t\t\t\t\t\t\r\n ${bottomBtnHTML}\r\n `, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, titleElement: $title, headerCloseBtnElement: $btnClose, btnOkElement: $btnOk, btnCancelElement: $btnCancel, btnOtherElement: $btnOther, } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n // 启用遮罩层\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n PopsHandler.handleClickEvent(\"close\", $btnClose, eventDetails, config.btn.close.callback);\n PopsHandler.handleClickEvent(\"ok\", $btnOk, eventDetails, config.btn.ok.callback);\n PopsHandler.handleClickEvent(\"cancel\", $btnCancel, eventDetails, config.btn.cancel.callback);\n PopsHandler.handleClickEvent(\"other\", $btnOther, eventDetails, config.btn.other.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n $anim.after($mask);\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsPromptConfig = () => {\n return {\n title: {\n text: \"默认标题\",\n position: \"left\",\n html: false,\n style: \"\",\n },\n content: {\n text: \"\",\n select: false,\n password: false,\n row: false,\n focus: true,\n placeholder: \"默认提示\",\n style: \"\",\n },\n btn: {\n merge: false,\n mergeReverse: false,\n reverse: false,\n position: \"flex-end\",\n ok: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"success\",\n callback(event) {\n console.log(event);\n event.close();\n },\n },\n cancel: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"关闭\",\n type: \"default\",\n callback(event) {\n console.log(event);\n event.close();\n },\n },\n other: {\n enable: false,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"其它按钮\",\n type: \"default\",\n callback(event) {\n console.log(event);\n event.close();\n },\n },\n close: {\n enable: true,\n callback(event) {\n console.log(event);\n event.close();\n },\n },\n },\n class: \"\",\n only: false,\n width: \"350px\",\n height: \"200px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsPromptConfig } from \"./config\";\nexport class PopsPrompt {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.promptCSS,\n ]);\n let config = PopsPromptConfig();\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"prompt\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let { contentPStyle } = PopsElementHandler.getContentStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n <div class=\"pops-prompt-title\" style=\"text-align: ${config.title.position};${headerStyle}\">\r\n ${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n <div class=\"pops-prompt-content\" style=\"${contentPStyle}\">\r\n ${config.content.row\n ? '<textarea pops=\"\" placeholder=\"' +\n config.content.placeholder +\n '\"></textarea>'\n : '<input pops=\"\" placeholder=\"' +\n config.content.placeholder +\n '\" type=\"' +\n (config.content.password ? \"password\" : \"text\") +\n '\">'}\r\n </div>\r\n \t${bottomBtnHTML}\r\n `, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, inputElement: $input, headerCloseBtnElement: $btnClose, btnOkElement: $btnOk, btnCancelElement: $btnCancel, btnOtherElement: $btnOther, titleElement: $title, } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n // 启用遮罩层\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n /* 输入框赋值初始值 */\n $input.value = config.content.text;\n PopsHandler.handlePromptClickEvent(\"close\", $input, $btnClose, eventDetails, config.btn.close.callback);\n PopsHandler.handlePromptClickEvent(\"ok\", $input, $btnOk, eventDetails, config.btn.ok.callback);\n PopsHandler.handlePromptClickEvent(\"cancel\", $input, $btnCancel, eventDetails, config.btn.cancel.callback);\n PopsHandler.handlePromptClickEvent(\"other\", $input, $btnOther, eventDetails, config.btn.other.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n $anim.after($mask);\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n /* 设置自动获取焦点 */\n if (config.content.focus) {\n $input.focus();\n }\n /* 设置自动选中所有文字 */\n if (config.content.select) {\n $input.select();\n }\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsLoadingConfig = () => {\n return {\n parent: document.body,\n content: {\n text: \"加载中...\",\n icon: \"loading\",\n style: \"\",\n },\n class: \"\",\n only: false,\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n animation: \"pops-anim-fadein-zoom\",\n forbiddenScroll: false,\n style: null,\n addIndexCSS: true,\n };\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsLoadingConfig } from \"./config\";\nexport class PopsLoading {\n constructor(details) {\n let config = PopsLoadingConfig();\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"loading\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let { contentPStyle } = PopsElementHandler.getContentStyle(\"loading\", config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n <div class=\"pops-loading-content\">\r\n ${config.addIndexCSS\n ? `\r\n <style data-model-name=\"index\">${pops.config.cssText.index}</style>\r\n <style data-model-name=\"anim\">${pops.config.cssText.anim}</style>\r\n <style data-model-name=\"common\">${pops.config.cssText.common}</style>\r\n `\n : \"\"}\r\n <style data-model-name=\"loadingCSS\">\r\n ${pops.config.cssText.loadingCSS}\r\n </style>\r\n ${config.style != null ? `<style>${config.style}</style>` : \"\"}\r\n <p pops style=\"${contentPStyle}\">${config.content.text}</p>\r\n </div>\r\n `, \"\", zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n // 创建遮罩层\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleLoadingEventDetails(guid, PopsType, $anim, $pops, $mask, config);\n popsDOMUtils.append(config.parent, elementList);\n if ($mask != null) {\n $anim.after($mask);\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n });\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsIframeConfig = () => {\n return {\n title: {\n position: \"center\",\n text: \"\",\n html: false,\n style: \"\",\n },\n loading: {\n enable: true,\n icon: true,\n text: \"\",\n },\n class: \"\",\n url: window.location.href,\n only: false,\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n animation: \"pops-anim-fadein-zoom\",\n position: \"center\",\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n width: \"300px\",\n height: \"250px\",\n topRightButton: \"min|max|mise|close\",\n sandbox: false,\n forbiddenScroll: false,\n loadEndCallBack() { },\n btn: {\n min: {\n callback() { },\n },\n max: {\n callback() { },\n },\n mise: {\n callback() { },\n },\n close: {\n callback() { },\n },\n },\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsIframeConfig } from \"./config\";\nexport class PopsIframe {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.iframeCSS,\n ]);\n let config = PopsIframeConfig();\n config = popsUtils.assign(config, details);\n if (config.url == null) {\n throw \"config.url不能为空\";\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"iframe\";\n config = PopsHandler.handleOnly(PopsType, config);\n let maskExtraStyle = config.animation != null && config.animation != \"\"\n ? \"position:absolute;\"\n : \"\";\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex, maskExtraStyle);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let iframeLoadingHTML = '<div class=\"pops-loading\"></div>';\n let titleText = config.title.text.trim() !== \"\" ? config.title.text : config.url;\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n <div \r\n class=\"pops-iframe-title\"\r\n style=\"text-align: ${config.title.position};${headerStyle}\"\r\n >\r\n ${config.title.html\n ? titleText\n : `<p pops style=\"${headerPStyle}\">${titleText}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n <div class=\"pops-iframe-content\">\r\n <div class=\"pops-iframe-content-global-loading\"></div>\r\n <iframe\r\n src=\"${config.url}\"\r\n pops\r\n ${config.sandbox\n ? \"sandbox='allow-forms allow-same-origin allow-scripts'\"\n : \"\"}>\r\n </iframe>\r\n </div>\r\n ${config.loading.enable ? iframeLoadingHTML : \"\"}\r\n `, \"\", zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, headerCloseBtnElement, headerControlsElement, titleElement: $title, iframeElement: $iframe, loadingElement, contentLoadingElement: $contentLoading, headerMinBtnElement, headerMaxBtnElement, headerMiseBtnElement, } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n eventDetails[\"iframeElement\"] = $iframe;\n popsDOMUtils.on($anim, popsDOMUtils.getAnimationEndNameList(), function () {\n /* 动画加载完毕 */\n $anim.style.width = \"0%\";\n $anim.style.height = \"0%\";\n });\n popsDOMUtils.on($iframe, \"load\", () => {\n /* iframe加载中... */\n loadingElement?.remove();\n $contentLoading.style.animation = \"iframeLoadingChange_85 0.3s forwards\";\n popsDOMUtils.on($contentLoading, popsDOMUtils.getAnimationEndNameList(), () => {\n /* 动画加载完毕就移除 */\n $contentLoading.remove();\n });\n if (config.title.text.trim() === \"\" && $iframe.contentDocument) {\n /* 同域名下的才可以获取网页标题 */\n $title.querySelector(\"p\").innerText =\n $iframe.contentDocument.title;\n }\n config.loadEndCallBack(eventDetails);\n });\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n $anim.after($mask);\n }\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n let normalLeft = \"\";\n /* 最小化按钮点击事件 */\n popsDOMUtils.on(headerMinBtnElement, \"click\", (event) => {\n /**\n * 所有最小化的iframe数组\n */\n let allMinElementList = [];\n pops.config.layer.iframe.forEach((item) => {\n if (item.animElement != $anim &&\n item.popsElement.getAttribute(\"type-module\") === \"min\") {\n allMinElementList.push(item.popsElement);\n }\n });\n let maxLeftValue = allMinElementList.length\n ? allMinElementList.length * 205\n : 0;\n $pops.style.transitionDuration = \"\";\n normalLeft = $pops.style.left;\n $pops.style.left = maxLeftValue + \"px\";\n $pops.setAttribute(\"type-module\", \"min\");\n $anim\n .querySelector(\".pops-header-controls\")\n ?.setAttribute(\"type\", \"max\");\n config.btn.min.callback(eventDetails, event);\n }, {\n capture: true,\n });\n /* 最大化按钮点击事件 */\n popsDOMUtils.on(headerMaxBtnElement, \"click\", (event) => {\n $pops.style.transitionDuration = \"\";\n normalLeft = $pops.style.left;\n $pops.removeAttribute(\"type-module\");\n $pops.setAttribute(\"type-module\", \"max\");\n headerControlsElement.setAttribute(\"type\", \"max\");\n headerMaxBtnElement.style.setProperty(\"display\", \"none\");\n headerMiseBtnElement.style.setProperty(\"display\", \"\");\n config.btn.max.callback(eventDetails, event);\n }, {\n capture: true,\n });\n /* 先隐藏窗口化按钮 */\n headerMiseBtnElement?.style?.setProperty(\"display\", \"none\");\n /* 窗口化按钮点击事件 */\n popsDOMUtils.on(headerMiseBtnElement, \"click\", (event) => {\n $pops.style.transitionDuration = \"\";\n $pops.style.left = normalLeft;\n headerControlsElement.removeAttribute(\"type\");\n $pops.removeAttribute(\"type-module\");\n /**\n * 所有最小化的iframe数组\n */\n let allMinElementList = [];\n pops.config.layer.iframe.forEach((item) => {\n if (item.animElement != $anim &&\n $pops.getAttribute(\"type-module\") === \"min\") {\n allMinElementList.push(item.popsElement);\n }\n });\n allMinElementList.sort(PopsInstanceUtils.sortElementListByProperty((obj) => {\n return parseInt(getComputedStyle(obj).left);\n }, (obj) => {\n return parseInt(getComputedStyle(obj).left);\n }, false));\n allMinElementList.forEach((item, index) => {\n item.style.left = index * 205 + \"px\";\n });\n headerMiseBtnElement.style.setProperty(\"display\", \"none\");\n headerMaxBtnElement.style.setProperty(\"display\", \"\");\n config.btn.mise.callback(eventDetails, event);\n }, {\n capture: true,\n });\n /* 关闭按钮点击事件 */\n popsDOMUtils.on(headerCloseBtnElement, \"click\", (event) => {\n PopsInstanceUtils.removeInstance([pops.config.layer.iframe], guid, false);\n setTimeout(() => {\n let allIsMinElementList = [];\n pops.config.layer.iframe.forEach((item) => {\n if (item.animElement != $anim &&\n $pops.getAttribute(\"type-module\") === \"min\") {\n allIsMinElementList.push(item.popsElement);\n }\n });\n allIsMinElementList.sort(PopsInstanceUtils.sortElementListByProperty((obj) => {\n return parseInt(getComputedStyle(obj).left);\n }, (obj) => {\n return parseInt(getComputedStyle(obj).left);\n }, false));\n allIsMinElementList.forEach((item, index) => {\n item.style.left = index * 205 + \"px\";\n });\n }, 1000 * 0.3);\n config.btn.close.callback(eventDetails, event);\n }, {\n capture: true,\n });\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n let result = PopsHandler.handleResultDetails(eventDetails);\n return result;\n }\n}\n","export const PopsTooltipConfig = () => {\n return {\n // @ts-ignore\n target: null,\n content: \"默认文字\",\n position: \"top\",\n className: \"\",\n alwaysShow: false,\n triggerShowEventName: \"mouseenter touchstart\",\n triggerCloseEventName: \"mouseleave touchend\",\n zIndex: 10000,\n only: false,\n eventOption: {\n passive: false,\n capture: true,\n once: false,\n },\n showBeforeCallBack() { },\n showAfterCallBack() { },\n closeBeforeCallBack() { },\n closeAfterCallBack() { },\n arrowDistance: 12.5,\n otherDistance: 0,\n style: \"\",\n beforeAppendToPageCallBack() { },\n };\n};\n","import { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsTooltipConfig } from \"./config\";\nexport class PopsTooltip {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.tooltipCSS,\n ]);\n let config = PopsTooltipConfig();\n config = popsUtils.assign(config, details);\n if (!(config.target instanceof HTMLElement)) {\n throw \"config.target 必须是HTMLElement类型\";\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"tooltip\";\n config = PopsHandler.handleOnly(PopsType, config);\n function getContent() {\n return typeof config.content === \"function\"\n ? config.content()\n : config.content;\n }\n /**\n * 获取悬浮提示的元素信息\n */\n function getToolTipElementInfo() {\n let _toolTipHTML_ = `<div class=\"pops-tip\"></div>`;\n let _toolTipElement_ = popsUtils.parseTextToDOM(_toolTipHTML_);\n if (typeof config.className === \"string\" &&\n config.className.trim() !== \"\") {\n popsDOMUtils.addClassName(_toolTipElement_, config.className);\n }\n _toolTipElement_.setAttribute(\"data-guid\", guid);\n _toolTipElement_.style.zIndex = PopsHandler.handleZIndex(config.zIndex).toString();\n _toolTipElement_.innerHTML = `<div style=\"text-align: center;\">${getContent()}</div>`;\n /* 箭头元素 */\n let _toolTipArrowHTML_ = '<div class=\"pops-tip-arrow\"></div>';\n let _toolTipArrowNode_ = popsUtils.parseTextToDOM(_toolTipArrowHTML_);\n _toolTipElement_.appendChild(_toolTipArrowNode_);\n if (config.style != null) {\n /* 添加自定义style */\n let cssNode = document.createElement(\"style\");\n cssNode.setAttribute(\"type\", \"text/css\");\n cssNode.innerHTML = config.style;\n _toolTipElement_.appendChild(cssNode);\n }\n return {\n toolTipElement: _toolTipElement_,\n toolTipArrowElement: _toolTipArrowNode_,\n toolTipHTML: _toolTipHTML_,\n toolTipArrowHTML: _toolTipArrowHTML_,\n };\n }\n config.position =\n config.position.toLowerCase();\n let { toolTipElement } = getToolTipElementInfo();\n /**\n * 设置 提示框的位置\n */\n function setToolTipPosition(positionDetails) {\n let positionDetail = positionDetails[config.position.toUpperCase()];\n if (positionDetail) {\n toolTipElement.style.left = positionDetail.left + \"px\";\n toolTipElement.style.top = positionDetail.top + \"px\";\n toolTipElement.setAttribute(\"data-motion\", positionDetail.motion);\n toolTipElement\n .querySelector(\".pops-tip-arrow\")\n ?.setAttribute(\"data-position\", positionDetail.arrow);\n }\n else {\n console.error(\"不存在该位置\", config.position);\n }\n }\n /**\n * 获取 提示框的位置\n * @param targetElement 目标元素\n * @param arrowDistance 箭头和目标元素的距离\n * @param otherDistance 其它位置的偏移\n */\n function getToolTipPosition(targetElement, arrowDistance, otherDistance) {\n let targetElement_width = popsDOMUtils.offset(targetElement).width;\n let targetElement_height = popsDOMUtils.offset(targetElement).height;\n let targetElement_top = popsDOMUtils.offset(targetElement).top;\n // let targetElement_bottom = popsDOMUtils.offset(targetElement).bottom;\n let targetElement_left = popsDOMUtils.offset(targetElement).left;\n // let targetElement_right = popsDOMUtils.offset(targetElement).right;\n let toolTipElement_width = popsDOMUtils.outerWidth(toolTipElement);\n let toolTipElement_height = popsDOMUtils.outerHeight(toolTipElement);\n /* 目标元素的x轴的中间位置 */\n let targetElement_X_center_pos = targetElement_left + targetElement_width / 2 - toolTipElement_width / 2;\n /* 目标元素的Y轴的中间位置 */\n let targetElement_Y_center_pos = targetElement_top +\n targetElement_height / 2 -\n toolTipElement_height / 2;\n return {\n TOP: {\n left: targetElement_X_center_pos - otherDistance,\n top: targetElement_top - toolTipElement_height - arrowDistance,\n arrow: \"bottom\",\n motion: \"fadeInTop\",\n },\n RIGHT: {\n left: targetElement_left + targetElement_width + arrowDistance,\n top: targetElement_Y_center_pos + otherDistance,\n arrow: \"left\",\n motion: \"fadeInRight\",\n },\n BOTTOM: {\n left: targetElement_X_center_pos - otherDistance,\n top: targetElement_top + targetElement_height + arrowDistance,\n arrow: \"top\",\n motion: \"fadeInBottom\",\n },\n LEFT: {\n left: targetElement_left - toolTipElement_width - arrowDistance,\n top: targetElement_Y_center_pos + otherDistance,\n arrow: \"right\",\n motion: \"fadeInLeft\",\n },\n };\n }\n /**\n * 显示提示框\n */\n function showToolTipNode() {\n if (typeof config.showBeforeCallBack === \"function\") {\n let result = config.showBeforeCallBack();\n if (typeof result === \"boolean\" && !result) {\n return;\n }\n }\n if (!popsUtils.contains($shadowRoot, toolTipElement)) {\n popsDOMUtils.append($shadowRoot, toolTipElement);\n }\n if (!popsUtils.contains($shadowContainer)) {\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.append(document.body, $shadowContainer);\n }\n setToolTipPosition(getToolTipPosition(config.target, config.arrowDistance, config.otherDistance));\n if (typeof config.showAfterCallBack === \"function\") {\n config.showAfterCallBack(toolTipElement);\n }\n }\n /**\n * 关闭提示框\n */\n function closeToolTipNode() {\n if (typeof config.closeBeforeCallBack === \"function\") {\n let result = config.closeBeforeCallBack(toolTipElement);\n if (typeof result === \"boolean\" && !result) {\n return;\n }\n }\n toolTipElement.setAttribute(\"data-motion\", toolTipElement.getAttribute(\"data-motion\").replace(\"fadeIn\", \"fadeOut\"));\n if (typeof config.closeAfterCallBack === \"function\") {\n config.closeAfterCallBack(toolTipElement);\n }\n }\n /**\n * 绑定 显示事件\n */\n function onShowEvent() {\n popsDOMUtils.on(config.target, config.triggerShowEventName, showToolTipNode, config.eventOption);\n }\n /**\n * 绑定 关闭事件\n */\n function onCloseEvent() {\n popsDOMUtils.on(config.target, config.triggerCloseEventName, closeToolTipNode, config.eventOption);\n }\n /**\n * 取消绑定 显示事件\n */\n function offShowEvent() {\n popsDOMUtils.off(config.target, config.triggerShowEventName, showToolTipNode, {\n capture: true,\n });\n }\n /**\n * 取消绑定 关闭事件\n */\n function offCloseEvent() {\n popsDOMUtils.off(config.target, config.triggerCloseEventName, closeToolTipNode, {\n capture: true,\n });\n }\n /**\n * 即使存在动画属性,但是当前设置的动画Out结束后移除元素\n */\n function endEvent() {\n if (toolTipElement.getAttribute(\"data-motion\").includes(\"In\")) {\n return;\n }\n toolTipElement.remove();\n }\n if (config.alwaysShow) {\n /* 总是显示 */\n showToolTipNode();\n return {\n guid: guid,\n config: config,\n toolTipNode: toolTipElement,\n show: showToolTipNode,\n close() {\n popsDOMUtils.on(toolTipElement, popsDOMUtils.getAnimationEndNameList(), endEvent, config.eventOption);\n closeToolTipNode();\n },\n off: null,\n on: null,\n };\n }\n else {\n /* 事件触发才显示 */\n /**\n * 当鼠标|手触摸,暂停当前动画\n */\n popsDOMUtils.on(toolTipElement, \"mouseenter touchstart\", () => {\n toolTipElement.style.animationPlayState = \"paused\";\n // if (parseInt(getComputedStyle(toolTipElement)) > 0.5) {\n // toolTipElement.style.animationPlayState = \"paused\";\n // }\n }, config.eventOption);\n /**\n * 当鼠标|手离开,开始当前动画\n */\n popsDOMUtils.on(toolTipElement, \"mouseleave touchend\", () => {\n toolTipElement.style.animationPlayState = \"running\";\n }, config.eventOption);\n popsDOMUtils.on(toolTipElement, popsDOMUtils.getAnimationEndNameList(), endEvent, config.eventOption);\n onShowEvent();\n onCloseEvent();\n return {\n guid: guid,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n config: config,\n toolTipNode: toolTipElement,\n show: showToolTipNode,\n close: closeToolTipNode,\n off() {\n offShowEvent();\n offCloseEvent();\n },\n on() {\n onShowEvent();\n onCloseEvent();\n },\n };\n }\n }\n}\n","export const PopsDrawerConfig = () => {\n return {\n title: {\n enable: true,\n position: \"center\",\n text: \"默认标题\",\n html: false,\n style: \"height: 60px;line-height: 60px;\",\n },\n content: {\n text: \"默认内容\",\n html: false,\n style: \"overflow: auto;padding: 0px 10px;\",\n },\n btn: {\n position: \"flex-end\",\n ok: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"primary\",\n callback(event) {\n event.close();\n },\n },\n cancel: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"关闭\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n other: {\n enable: false,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"其它按钮\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n close: {\n enable: true,\n callback(event) {\n event.close();\n },\n },\n },\n mask: {\n enable: true,\n clickEvent: {\n toClose: true,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n class: \"\",\n zIndex: 10000,\n only: false,\n direction: \"right\",\n size: \"30%\",\n lockScroll: false,\n closeOnPressEscape: true,\n openDelay: 0,\n closeDelay: 0,\n borderRadius: 0,\n style: null,\n beforeAppendToPageCallBack() { },\n forbiddenScroll: false,\n };\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsDrawerConfig } from \"./config\";\nexport class PopsDrawer {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.drawerCSS,\n ]);\n let config = PopsDrawerConfig();\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"drawer\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let { contentStyle, contentPStyle } = PopsElementHandler.getContentStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n ${config.title.enable\n ? `\r\n <div class=\"pops-${PopsType}-title\" style=\"${headerStyle}\">\r\n ${config.title.html\n ? config.title.text\n : `<p \r\n pops\r\n style=\"\r\n width: 100%;\r\n text-align: ${config.title.position};\r\n ${headerPStyle}\">${config.title.text}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n `\n : \"\"}\r\n \r\n <div class=\"pops-${PopsType}-content\" style=\"${contentStyle}\">\r\n ${config.content.html\n ? config.content.text\n : `<p pops style=\"${contentPStyle}\">${config.content.text}</p>`}\r\n </div>\r\n\r\n ${bottomBtnHTML}\r\n `, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement, headerCloseBtnElement, btnCancelElement, btnOkElement, btnOtherElement, } = PopsHandler.handleQueryElement($anim, PopsType);\n let $pops = popsElement;\n let $headerCloseBtn = headerCloseBtnElement;\n let $btnCancel = btnCancelElement;\n let $btnOk = btnOkElement;\n let $btnOther = btnOtherElement;\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n /* 处理方向 */\n $pops.setAttribute(\"direction\", config.direction);\n /* 处理border-radius */\n /* 处理动画前的宽高 */\n if (config.direction === \"top\") {\n $pops.style.setProperty(\"height\", \"0\");\n $pops.style.setProperty(\"border-radius\", `0px 0px ${config.borderRadius}px ${config.borderRadius}px`);\n }\n else if (config.direction === \"bottom\") {\n $pops.style.setProperty(\"height\", \"0\");\n $pops.style.setProperty(\"border-radius\", `${config.borderRadius}px ${config.borderRadius}px 0px 0px`);\n }\n else if (config.direction === \"left\") {\n $pops.style.setProperty(\"width\", \"0\");\n $pops.style.setProperty(\"border-radius\", `0px ${config.borderRadius}px 0px ${config.borderRadius}px`);\n }\n else if (config.direction === \"right\") {\n $pops.style.setProperty(\"width\", \"0\");\n $pops.style.setProperty(\"border-radius\", `${config.borderRadius}px 0px ${config.borderRadius}px 0px`);\n }\n /* 按下Esc键触发关闭 */\n if (config.closeOnPressEscape) {\n PopsHandler.handleKeyboardEvent(\"Escape\", [], function () {\n eventDetails.close();\n });\n }\n /* 待处理的点击事件列表 */\n let needHandleClickEventList = [\n {\n type: \"close\",\n ele: $headerCloseBtn,\n },\n {\n type: \"cancel\",\n ele: $btnCancel,\n },\n {\n type: \"ok\",\n ele: $btnOk,\n },\n {\n type: \"other\",\n ele: $btnOther,\n },\n ];\n needHandleClickEventList.forEach((item) => {\n PopsHandler.handleClickEvent(item.type, item.ele, eventDetails, (_eventDetails_) => {\n if (typeof config.btn[item.type].callback === \"function\") {\n config.btn[item.type].callback(_eventDetails_);\n }\n });\n });\n /* 先隐藏,然后根据config.openDelay来显示 */\n elementList.forEach((element) => {\n element.style.setProperty(\"display\", \"none\");\n if ([\"top\"].includes(config.direction)) {\n $pops.style.setProperty(\"height\", config.size.toString());\n $pops.style.setProperty(\"transform\", \"translateY(-100%)\");\n }\n else if ([\"bottom\"].includes(config.direction)) {\n $pops.style.setProperty(\"height\", config.size.toString());\n $pops.style.setProperty(\"transform\", \"translateY(100%)\");\n }\n else if ([\"left\"].includes(config.direction)) {\n $pops.style.setProperty(\"width\", config.size.toString());\n $pops.style.setProperty(\"transform\", \"translateX(-100%)\");\n }\n else if ([\"right\"].includes(config.direction)) {\n $pops.style.setProperty(\"width\", config.size.toString());\n $pops.style.setProperty(\"transform\", \"translateX(100%)\");\n }\n element.style.setProperty(\"display\", \"\");\n });\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n setTimeout(() => {\n setTimeout(() => {\n $pops.style.setProperty(\"transform\", \"\");\n }, config.openDelay);\n }, 50);\n if ($mask != null) {\n $anim.after($mask);\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsFolderConfig = () => {\n return {\n title: {\n text: \"pops.Folder\",\n position: \"center\",\n html: false,\n style: \"\",\n },\n sort: {\n name: \"latestTime\",\n isDesc: false,\n // @ts-ignore\n callback() { },\n },\n folder: [\n {\n fileName: \"测试文件夹\",\n fileSize: 0,\n fileType: \"\",\n createTime: 0,\n latestTime: 0,\n isFolder: true,\n index: 0,\n // @ts-ignore\n clickEvent() {\n return [\n {\n fileName: \"内部-测试文件.zip\",\n fileSize: 1025000,\n fileType: \"zip\",\n createTime: 1702038410440,\n latestTime: 1702039602126,\n isFolder: false,\n index: 1,\n clickEvent() {\n console.log(\"下载文件:\", this.fileName);\n return \"https://update.greasyfork.org/scripts/456485/pops.js\";\n },\n },\n ];\n },\n },\n {\n fileName: \"测试文件.apk\",\n fileSize: 30125682,\n fileType: \"apk\",\n createTime: 1702036410440,\n latestTime: 1702039410440,\n isFolder: false,\n index: 1,\n // @ts-ignore\n clickEvent() {\n console.log(\"下载文件:\", this.fileName);\n return \"https://update.greasyfork.org/scripts/456485/pops.js\";\n },\n },\n ],\n btn: {\n merge: false,\n mergeReverse: false,\n reverse: false,\n position: \"flex-end\",\n ok: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"primary\",\n callback(event) {\n event.close();\n },\n },\n cancel: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"关闭\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n other: {\n enable: false,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"其它按钮\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n close: {\n enable: true,\n callback(event) {\n event.close();\n },\n },\n },\n class: \"\",\n only: false,\n width: \"500px\",\n height: \"400px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","/**\n * 图标\n */\nexport const Folder_ICON = {\n folder: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABRUExURUxpcf++Hv/ZU//OPv/DL/+9Gv/BI/+4Bf+4Ef/XcP/LOP/TSf/RRP/WTv/JM/+3Ef+9Ff/bhf+5BP/DJf+yDv/imv/kqv/bXP/w0v/fd//calQXUgwAAAAKdFJOUwB///8d3L9enl8sr20gAAACN0lEQVRYw+2Y65abIBRGE1EzVbyNSW18/wctHA6XYw4q9Ee7Vt2AgOHbcVyTOMztdnFxcXFMWf7gKHN190VRKDpFC0iNqB5ZvqpXzJRxHoF7hrAa9/hK9j2oYIA2QA/UqXeyNg5QDBrshhHbUH8xxO+uT7sOJ/tU5a4wh0eK8KmKHTxd28Bfo16pqphep5l6I+R/p8xr668kVghVceH8M5EZYnGhnBKRceGqmaZXPPw2xbO+1xU+8axwe8NfzkIV7xVZdF0AVhi+rWdxIfgmwloE6CkrDCPwJbYUeFgK61icxFcNKyxIxE+WgnllQ0y4+HffzZ8WZtJlCDtz+CzqaaFaVGiWBNEOZZ15zihsT2CFnXk4QStsLohTU3FC+Af8I8JWV1fa1jy8u+hnOUy2vnd5SkeGrJBfHZwDbxe87pfxQvejmMZZYxxdYSoyVyixSvtXFLJ7hWq5xCRNSTozczzHCj8T54kI5d8QCtvZAodDIa7DgRkJaII2hBfaJC7EOE7D076XuIoVBu8oN3kpBLVt4YXBVaUSFSbS5Akb00znSoPn9KCJCN0am7SnGhganC4kKhR2MV0vvEn4M7bFhM3GIZqtgfiPr9BdSAYnrnCX3rQeB/2xsKcHouiBBhpO+phQL9CdjmKqsRkXpkMz57dmfTY1v3k8is26zvN2A6yIbKVqm/tMjFBMp5jpxrWKbsB1dJw/AsC3Lt/YEaK7x1t5r7aLj3ned/fRj1TK3H9wXFxc/F/8BgM0jBZ4nc19AAAAAElFTkSuQmCC\",\n zip: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFQUExURUxpcYHaOWDM+pryU4TbPXLU/XHT/X3Y/nrZpIffP/+gI4La/+9QTvhycXjQL4fbQvBUUoXaQHrSMf+cJPl2dfBXVf+KMDu99IveRv+ZJf+NLv+PLIncRPdvbV7L+VnJ+P/u5HDS/P+DD1PG93fV/U3D9kTB9WfP+2vR/GLN+nvSM86bL33UNf/69f/+/XzTNP+vVf/iyf/06sOCRsGhYP2Jh/t8e4TVPX3QNat7jnzCMfxfXXrUMP/UqJPoTX/cM/aDLOVjKP/jw/9yC/98HP+GLP/Ec2C63f+iQ4TjNvOiasmpZLuTpfaQgfjEu4HGOPKGeHDC4s2YXU+02/Ozn/B0J+1oYHvSNGnM9P/r291KSNGeZIHGObeOn5zzVM6PHkS978mNUt+EO/GadPOgbZzyVJvyVNG6g66AksCer4LGOc7Mp/eWh/SZVu6adP6VKOSF/TkAAAAKdFJOUwDf39+Af5/9MKAONWYwAAADB0lEQVRYw+3Y+U/TYBjAcUDYIahlA3bCimM3Y64MERWdeExFOhDoxkTnDuTm///R9+jx9MjbtcT4S78sIVnCh+c9mjDGxry8vLz+TwGffxp2/Ql0vYJbJuXzE76AvTc1rc9//gx0vqxg+XwON+XY8+8+BO22NayQKxQKSzZiwMj5D/TgQZtORjASe9U+QKHQfplAilEuhfIxQT/g6P4bwEZbGS1FS08wQR1GzpOCYfSFX7XGEtDSJPaEQCPH2cagwmEwpdfSmQwbXIEaOlAMhsNkRvQ9jEANy9CYoA7Dt6PdqIVBtUY6rdOy2SwbVLEcvR5G8DCjWkSzA3VPAbkcJlCHZbORCBPUY+h+pKzArKZF7MAcvLf4PDUwRsDfikU1O9DwFKDzPKzFYjGMkW8yGIExQbpO9SlAB0BANQxGDDFBdbS0ctdMYMQReHn5Te0n6aIPwf7WBWoLdsEEN57PoR6RFnGSVIdgfV6J47gZHPdqVBBzG6IobutCb+w5B+dkcE5Ys0iQZJBzPOENAsvG1oQ910u+EcplvroDqvLlsrDveEJlyXvox8Xbz6BbEf2KfdcTIlA4On4KOj4SNJBzAQpmUHAxobrkE4E3gyf7YECHE1qAPAWd7+EiAXleHMI/RYYiz5/c41AQaO4+YNXKq7oHpe2dqqmd7XnXhyJJg8Hd8CtoeDcYSDPuwflOp/NOF3qjwzm42Oc/SN/ler3eer8O6q+b6jHBszfRaDSZTD7BzaI2m6UEqPTyxWqrUiwWQ6HQY9zrt1+Y4B8ZTDLASoV4o4G/EJiMat7s5un9QDKhDBLSPGGl4mTJeA+T8pLphFeleCIeTyTwK04mJJvofg9PS3GQMqGjPdSfsjVYdA82jSA6lJa7CWdNEy6QCVedLPnMYg8XQHTJFecTwottAJ3dwwcWSzaBrRY8lHEmGJQvtjbhlQWomzDI/vAIn5TRlmzzkXnSvIcfQWZw0u4D86Rhyc3uB1CXgOCUbT206uA4PJRm9z2oKz/LFBwPjvAvAi8vL69/0l8fxm2XCv5p+gAAAABJRU5ErkJggg==\",\n mp4: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABXUExURUxpcZKU/5eZ/4SG/5CS/5eb/6Sm/4WG/5uc/6eq/4uM/4iJ/6Ci/5ye/6eo/6Ol/46P/5mb/5eY/5GS//39/5SV//X1/6Ol/+3u/+Li/3Z498/Q/7u8/zCK/WcAAAAKdFJOUwB7Pf+fHN2gn59fp7PNAAACSElEQVRYw+3Ya3OjIBQG4FqamnDzTkT9/79zOQdUzG0PJjP7YX2DeAR5EtKZTu3X15EjR46Q851dnuY7nTtd9Kv8nlK9X60/Kl60/qh4wjUFNjx8XSznIlHMClgICadC+2PWYShFvFwpSRAvBSl0MYDyVpB7xfOyLXmVrl2h99cQPw49VTzLV7lGNVF8DW5CExNAeSaCSsHdyi9SUPi2Ds2h/KY4K+epbZANpYoKmRHBGy6qbt7qnAzKaZzU86SDtje91Z8Ddd+2renHIh6sEsFKVS64stKmhRg7rRi2yrM0MEoAW2Osrh4kFaxnEPd9/SiI+94N1jW0qu5icN13Xfl7iCBqPlsQ9y3nObyJCNYr2G9Bt28VzRPBroYWQGNMiy+Dlel116WBP24BrOlcGgC9NaNWdjjV4T0/NHAJgnF6O/Fo/l2wt6Nm4i2w6OOMExtYmQ42Tdd00BxoV85O9TCI0k26hDckgc2acgXtKIeB8WabvaCFL89xZfMuKG1vgZsa2O2dRwbdUng1vBut48bK7dZ9ezgOrC/diQSWUdg0jrhb4a3bJIOCVYrDD6N8HCLol0PP2QC7fexxTgN5yctF4Mxz8wE953gDdHQwSiDQmK9Lr3IamJCcAObPl4u9oBAL4EohRESGC+FrGoiOX+E/lYD4y3kg0CRQJOSfggwbFksZZhg2GKOAGQscrFrE+RrachaC8hfsN7uLCJ24myE9BuQb52HmGcqO3fPtc2jXB3RiTuNy+hPpKcv/mmzHfzOOHDny/+YPi6+BG+WQsHsAAAAASUVORK5CYII=\",\n apk: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABXUExURUxpcXnGVmm8P2q8QHzIV4bNYXXDTWu8P3nFUYfNY26/RIPLXoDJWobNYXHASH3HVnXDTXnFUfT/7onPZej/2/v/+Ov+4cDypVmtLqvjjt38y57afsvyti89dh4AAAAKdFJOUwAQ3/8n3Xugn58KiJgCAAACeElEQVRYw+2Y2ZajIBBAuxuTtIhsKgTx/79zisUlaZ0pPPM048WwBa6FkpyYj4+Li4sLNNW9PqQq133W3e+4lSqr24GpPWms08S23ZhCmnvatsxYtZE4/a229BQZ78nxk27TXWKsWwwFRhA2ITXz3FBp1maxsc6OLF1Usb6cocBYNynAnKcs55tm22CNdYPl9vmXhUhj3bA8PpaMLdUNqc1qZIQggRRUi42lPIvmEzDMZazZBiHYOy9dd4TwezPXj1Pzqgxd7dpVlwnVNAzjS0SiM4N2a893mVC6MF2BsvO+64QQzTgMfadKhSIdQvFJD9p3duyNMf3khB0G44gSLCWcUKxwBhEZM2S0Af/E5TqgVKiI18MrRnKV3mRnhNy/+QbdbQIsF3oTFmr0vGJY8sjUGaGCBEcPht65UIDK2+C3UuUhaKFKSUmngen5tCE07Z+kh7bxMp9RKZRQLYg+CgmZQqk94SaUli8jyoTSx/lmsrHUvR1TqU4KuY3zddKtFVjzOSEd9S7G8UJhDEBKAp+4Hg7Itpg+C6WSKKEMgE8Se4CnaYAsEAbo8wDC5yGFQndAd1II13AfR08JOYlfg3BTTCzD3UktRwqFHJLk/DjCcBE5Wgi6BLH7xtHHuxKG4IRACJKTdhr3sISmM0r+QAgffIaS1u3uwlnIC4WckP1tuPhKhRDjHquvdMlrSdcmncvQgRLCDEpTtr6SNjX5klGkEM+/IyTxmF/bKlkLghbGrZE2SPLFFs1dZLuXMMJ71m1m0vkMdOmI71KC+QVbkQJQjyoPvA+zYnig/8L6vpDPUhUyxgfuSSr9ifH4I/cT/2ZcXFz8v/wC1sx9JR+88xQAAAAASUVORK5CYII=\",\n gif: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABpUExURUxpcf+ubP+eUP+iWP+xcP+nX/+lXf+SO/uPSv+dUP6kX/+XRP+VQP+SO/+jWf+oYf+hVf///f+mXf+tav+ubf+rZ/+eUP+wcP+pZP/s3P+aSf/z6P/48v/UsvqFOf+6hP/jzf/Hmv/cwS4F5mYAAAALdFJOUwDdez2foByg/p/2onNSOQAAAh5JREFUWMPtmNuSoyAQQGeMUaZUxBveRfP/H7lc1VRJptF92Kr1INqtcKqNSSrk6+vm5uYGzMPzrTzcdYFff+I7cPV91/VfNZr6ykNb6WwMypW6tOBk9EoALka/KMtCTCr05OKi0S9AwI02YXXW+KwqMVluMqw4SimjtUGNzwoK0HgobC4Yn42iat6DanfKnPZdhCAersK0KcfXWOtYbPtrTeNBhGnapCt1n2VZX6cWnjDhjjETjNeFudrhWQpfeS7PqJ5vI0DCXJLKPVmkcMH5MQ5CBaGvIRtehIhkGVp2VmgqwgixhSEkciYeDz4jxDkWyD1F0zQhKrJZ3zzG+jKPQMLNJiAd6ogImHw1+1UngQh/8DHqefMS9/ycFhJVIC+ROAvJnrodRn7ARBfIS+TJirOwEp88JsTGx0skF4Tyfd3nZCtQ+c8KG3OXW4FZ1lJHIeUQ1dVXQzY0vMDBbLJEKjsFCxX1oOmHPe02wlHYDsewk0LWW5jPCfPZJuyZm7BTbWmtzHoMTNgpcPuBUg+CCSkfSTv2wTdXskKoUFGMdhhyqlASTcjOlLgLu3iyk0QOwjDqePsFfgeiA4VqykefCUK40KZ457wwuiaMBZFokc7EQTUTiigGCWMH/m1hAhR624TETFSh7Em8Np5DfsE+EgdAy4BQD473M9+SNYPcMV/fImh9CLiWCkKYL4SvSAMv/BXvxL8ZNzc3/y9/ADVfok94AIhIAAAAAElFTkSuQmCC\",\n txt: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABIUExURUxpcTOL+DSL+DqO+Veb/mKl/kmX+zWL+U6a+2ao/0aW+0CS+kyZ/GCk/mWn/1yi/lef/VGc/Pr9/+jz/2+s+46//b3a/4O3/AJIojgAAAAKdFJOUwDf//8d3U+en52O09RGAAACF0lEQVRYw+2Y63ajIBCAW8ZqHC5KrZv3f9MFhpuJTQfrjz1n/SDIbT4npw2pfXu7uLi4YNOP39O367rRvOKja/V9GHOqcTTmVGNnzLlGl6A2WvvWxGsqJo9ajKMuGP0dDcbxSWTShKlGfOOoebCNRTidYxynDXrb1dUU0ziGEF3ZdHHoza14xocMXzJyhLdpmme/e6ag2XeobqYCnBRvs98fm32meId56nnCErk+czfVhlub0CyfOyzaHhTa9XOX9aDQqnU/w7uyjULrcC3i+ocI4iUOVkQ7+8IVeptXWgUgMXD3xjv1UYCyCa6QUAiC0E64fMUBYBTOrUJnROmBryCEMEAsCbYKrSIkCSXS0LYLla8U6K4KSYi+H5ZsWmcJY1ohmpos3OLWmoSF9JajX9m8ckyIRfjIrzM8KERfq5J/yridZwrDx0HF6suOMF24QoXJGijCR/gZboB/TZgDYyd9lqU8mqGPlGQMJR8OfiDjZNjDEQ5S0hlDZ4ushWkqwxSWJCgezOKYIMsw7Ri4wi0g3HfBKuF55bBQTNod1WcKw9kv6yShTQgUQA6A6IsjAEmFJ4RXOF24W+gBcIUxAaiapChi/zolw5rfC+GYUKTqG1G11Vxo2Bn6AJLk8NiPC6JBKOjXLv0ZEruwN2AJe8GCnKzHgEGw4STonm/fub535rNUx8xx4D+RdsPP9Af+m3FxcfH/8hcLt2QJ3T9wuwAAAABJRU5ErkJggg==\",\n exe: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAB4UExURUxpcVq2/kOv/0uw/163/1Cz/0+x/zGp/zad+0Ku/165/Tms/zWq/zKp/1i1/1W1/1K0/0Wv/0Cu/06y//7//0qx/1q2/1y3/1+3/j6p/vf7/y+o/9zu/+r2/yqM9xCa/4LK/8De/3ay/p7P/n3B/rLW/12n+xyf/0XRgzgAAAALdFJOUwDdez2eoByg/Z+vFPUOhAAAAoZJREFUWMPtmOt2mzAMgNuEBDquhhgwgWwMQt//DSfJ3BJIJ3P6a+MLviDkDxE4OaVvbzs7OztsjgfrJUdz3flH/hXvZ1Pfe55/q9HK8iyDluOW4xz3cHcYzIxnMqSZNi3BuJHxALIsTXHLsB+nuOlzmRktbUl71RIKGhitNA3gMxEM3TgxM1rog2UB0vcoopAezIxWwIRrPM0XhX17jJgZT+ETwWwSPBzgGRfCL7C4wojSI91FEfVDJBo2hPNLcYqeCKmFs71pcuAJw0cbkCRREq1wMq4wQVnQNkAbJtuESYKWiAbUtXVVENU9p1iiT4NzrjChRQnNmqK4DBSNDuoj0NjCkbScdGgsUzlXmgplWl4eKcpkZjQVSnHv6yuqapjdhZycLKGUkI+bFK22VOW9ae79xRe5NkInWcIPSOxR5IC7292ArqYqi1qNCfKDIxyzRV7pp8W53RxstX56oMRNQqEaEpTdzVGAc+tKCjRqNLIuWYpBWOsCwScAMOoSaxIKdoWCkEI4dYm06JNkbClQO32KFAZCIWLnN9GBUOoSOwq0TjzkGAnxGhFHxU8B/RUYC2PlEGpcrobIxgpjpYmfI1OAJ4zjWOCaWN+UBTUdxyyeMB5wq8sqlTummAn9V0Jvs7BYpfS3CstqlQ1CRdnX9tcqraFQwcNB98T7/LnKp0cJ+PywhG7s9vjXVXxXp0DHE7qT0lXuK+gIR2g/ydSjV01zZSR8Xdoc26jCbxN6rut5HuZTR/s0eH03xVlCz4B/Q3hYWefDxxua7/s6CAPnL9ijv8DzX8F6DbB9Npwrhvdb5wq5V4bPYb5Lne3lrwKcYDG1+W+k54P9Vw4b/puxs7Pz//IHkvGjBU3hWj4AAAAASUVORK5CYII=\",\n qm: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA2UExURUxpcdbc4MzO1dTZ3dTZ3s/T2c/T083Q1tXb4NDX287R19HV2+zv8PX29/3+/uPn6b3CzcTI0ZN/xtQAAAAKdFJOUwD////dexCfoCcDaycKAAACJElEQVRYw+2Y4XaDIAyFF2gnEizy/i87SJCCa13i9m9eLAQlHxfsOdZ+fFy6dOmSWPPdvdM063GfDo500yLnG8CfEh3AnxLnQ5bVE+810XYAu4dqiK7m2wH8C4+OKbahcsSfVnQeHTSLjLLNsW0boCE6u5nYbNrNFwe1a6VEVzM3hrUjic5Qc/uUOnyqslsHhosyoutYe/Zek9rhT5oVQNzl4qv4Lgbi92QsIY5UJwRiPUoO5gpiFmDDtsbpHCIXCMsjawnAE2AzjEIgki2kFMRIOEJGLDjEOpPM4UQZvOIiaLxMBKxnGSoEjgqPTmF38QQQHoOgu2RlQDcC4wiMv3XowwgMfrg86YDl+5dvCR/lnjyWJUQ4DczfPxaRngpwDhiZ9UpwCrgcCFRATyUeAaNXOfQFGN7jwkI3O48SAb2n6cNChY7abJ1cW08SLrnIUvZGCT2yVLQKL3aYZcKhvMIhD03xiBeTHugPiNHqgWaFGN6UCKtRA31a6UkSC4BrDsrTZU3KPSzzm7QafjjFWtcJIK3J6IA8PBNJaatrf914xsiBI3KnZGiAkTrcllMcmJfiLREDeXbDKYbrSqDQdD3xXa5J1HLsa98/O164h93Kvke7Uzrguy3spASafwK8a4CSX7BzGZj6rLSL66c0oleVyfRJyYyInipacX6hvzVbae8ymX4G6bvUPA0rTa+WTv5kb1L8J8b0o+4n/s24dOnS/9UX8vFAaEzio+4AAAAASUVORK5CYII=\",\n php: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcTbUrDrbszvetTXYrDnasjXQqTPIojfTrDvftTTMpjPKpDnZsTPIozXOqDjXrzHGoTbRqjfUre7/++T++Pf//SfCmxm3j1fXt7Hx4UvNrNL78XHfw8T26o3o0eeFKfsAAAAKdFJOUwA9//8c3Xign5/8SMcgAAADDklEQVRYw+2Y65qjIAyGp9ppRxBERcTj/V/mJsHTtN3dMNt/66dAEsjbgE/7jPPxcerUqVNsXW7Zb3WJx12z9E/6vMbyPtP0rcQsTd9KvKbpe4k3SkneR8wWVrL0yb8SM2QkQYGZYEsITnckMUteKX2KsImvgS/EJT4B86XtXhwx2xD5kp3nCwVHaHTnbOJXsuWv2Utd+WOJ+RcLmJOSpREw30T01U7yCx9Y0H0g+W6YIZRsYRxvfODGK/KiQHtqGjsePwU/MmMCi+84GArfgEZ0izBHHecQvzAFQaGyMBTFDDzbV2iuYWhcYBEgB1Ww42Yw1fdoDHDR3I00JhaAs1ndOCCUUS2lzLa2HgNj3TT1OIKLxIruiAorFPQz1GU9muEIx+CHeRxYQFwaUih/dmCVeISTMx1EBl9t4gKD/FAjz6AJoHp2znV1U0/+Z0A/1XXdOaex1hrYvRBtT8H8J8AcUyflBO64A3sQZSmJaOdIYInXDAzbtxIdPVCxYJoWnjQ86hhgCXkgKsoYNEsPkHo0OGN6/KAZglg5E4gSdIRTT/CRqhXEhmJt1+uwKgYYTmvqwdahWr3zXDxQOyDCF2NKwEHK7IhnkdeqMhqIRD9Za6cKjhC/cnCE/cIzOgqo6SrFQhz1DP0gZElG4C1rmEAQVKiR2A1dLzos1AmtyQWepjUgFlBvAqLyvYONWjhC9HuvWiTrCOB9X66la9vWjMCzHurSBlwndTRQaIFVQJPGGUFHqJBD7r4BLbhbFmsGkiUeYbdsFPxwhTV3ToVrfQKToZlxGqbRoRlmwhTNsYFbCsg4P3rY6pNgngWUa4IMjZ6MO0TlNssDEoS6BaLgl1qtrkTRiEt4wJAm9pKUXIuSa30xFUqp5IPEY0CqEOIB1Yo8cNSjFRZxgUrReuzRRlfto5ShgVjALU+9lDyabCBXHOBtW20eLBOaMSaM4HL+gr1gmtlBmG82NjrrHFys14A7MgizGQepbQpuzo7xBfw74lnrNPdd6no3LN35b6TX2/2vuv3gvxmnTp36f/ULf0R1znQ7804AAAAASUVORK5CYII=\",\n pdf: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABUUExURUxpcf9zfP9ldv98gP92fP9+gf9we/9md/9yfP9/gv9/gf93fv90ff9od/9ref9ve/9ldv/x8f/q6v/8/PlYaP/g4f6lq/63vP2Ejv6Um/7Iy//S1LO+3cAAAAAKdFJOUwA93/8c3Xugn58XiwqYAAACVklEQVRYw+2Y23KjMAxAmzolxXc7tYHw//+5kmxI2tBWMDx0ZjkhMr6dkWoeSl5eDg4ODticmvZbTut151b+xNt5re9Nyl2NrZS7Gs9S7mts5M7GVu5sJKH4KhDbjS1shu2CKA36yj2ZaZ5vbGdNbT9zH+MaW8GFaeQLmcYF4XAbu37J2HKFiparyReu12ta+oOKEztDVXwKP+mKdKV3H8a7ZkWGqmxWihIEoVLT+FyA4tTc4g68VI39LHyGI3yva0WVKl1KzroOimkOvu8rhJNWmY6Eg17IcL0QcFRzkGovofZYc/C7ZahNBuHNbs+wpHKPrscH2yqt4YIBbGlOc4WPYK8rp/w4WhexhPoJem6SeJ7YKMRTDteQdxN2odDvIXRwpRBSjhD6rUJXL/xoPUBynRohjkL0Geh1nWILYblzk/cWQhx0DymGFDFCvqSDFSyhc64YCzKisBvDA1HqsoAvLBmil44khk/EXNesEhIiF1eMMaVaMWa8UahyimRLacy98xmdwM3ZTcKhbE+pG9xHIY+QaOf9JmFGW4hpIJU31npsMZgtJZMP60MJ2GDIGl/cbo3QAs5aUeqNqfe2DtVgax86bCFQE0wZ6lvSERzhpW6hE0np5r198sysEBqL5wm+D/sDlxUZep+73MMJ7CQs5/mLjys0pqSIj4uh8mdM7dTIE8KmCZLXW1MnHma5Qj4sofnrwmZhn3+I0Ph5gvMf7Am2ELjX0z21ZKozJUDDeg24eDaciuH99pXre2W+S52ZOV74b6Tn5vIrzYZfMw4ODv5f/gEm33Cvx+zPHgAAAABJRU5ErkJggg==\",\n Null: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA2UExURUxpcdbc4MzO1dTZ3dTZ3s/T2c/T083Q1tXb4NDX287R19HV2+zv8PX29/3+/uPn6b3CzcTI0ZN/xtQAAAAKdFJOUwD////dexCfoCcDaycKAAACJElEQVRYw+2Y4XaDIAyFF2gnEizy/i87SJCCa13i9m9eLAQlHxfsOdZ+fFy6dOmSWPPdvdM063GfDo500yLnG8CfEh3AnxLnQ5bVE+810XYAu4dqiK7m2wH8C4+OKbahcsSfVnQeHTSLjLLNsW0boCE6u5nYbNrNFwe1a6VEVzM3hrUjic5Qc/uUOnyqslsHhosyoutYe/Zek9rhT5oVQNzl4qv4Lgbi92QsIY5UJwRiPUoO5gpiFmDDtsbpHCIXCMsjawnAE2AzjEIgki2kFMRIOEJGLDjEOpPM4UQZvOIiaLxMBKxnGSoEjgqPTmF38QQQHoOgu2RlQDcC4wiMv3XowwgMfrg86YDl+5dvCR/lnjyWJUQ4DczfPxaRngpwDhiZ9UpwCrgcCFRATyUeAaNXOfQFGN7jwkI3O48SAb2n6cNChY7abJ1cW08SLrnIUvZGCT2yVLQKL3aYZcKhvMIhD03xiBeTHugPiNHqgWaFGN6UCKtRA31a6UkSC4BrDsrTZU3KPSzzm7QafjjFWtcJIK3J6IA8PBNJaatrf914xsiBI3KnZGiAkTrcllMcmJfiLREDeXbDKYbrSqDQdD3xXa5J1HLsa98/O164h93Kvke7Uzrguy3spASafwK8a4CSX7BzGZj6rLSL66c0oleVyfRJyYyInipacX6hvzVbae8ymX4G6bvUPA0rTa+WTv5kb1L8J8b0o+4n/s24dOnS/9UX8vFAaEzio+4AAAAASUVORK5CYII=\",\n ipa: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABUUExURUxpcUOv/zar/1K0/1Cz/0+x/1q2/jGp/0Ku/163/zGp/1a1/zus/1q2/02y/0ew/0Gu//f8/164/+/4/+f1/9fu/yek/73j/6TY/xad/43O/3nG/21bnhoAAAAKdFJOUwB7//+gJ92gn59E+c9oAAACbUlEQVRYw+2Y27aqIBRAd5iVsLiICKT//5+Hi5hmdcD2wxnjOIPF4jZdPXX5+Tk4ODjIpj41b6l3+Br5iUupsr5I+avGVB99GvcaayqpI4ioz2MWJnGl0HiiNCpfIuNeibFZ6OQ6ysdqgbGhWeQbvZDQGMjCQOYlUmZsCHFXSIoTNEWvjXu5xjNZQVOgC3Hkskv4ict+YfXa2GQJq4r4lkI1z+UoSUhj9w+p84QrSEqGvpeLaeC0QzhBTdca8bx63i+0bavGvULmG1sNUrXKIu7SxU6ZcLoV7jM2qN5ixKJwkrJMIVtRxWG0g9Z8teQpEKZbZLB2kAzf9WiNsXL9uOIKiVVd23bKDLZ3icss+UpovMWTxlYZUii8hZPcvRgfZs+MkYKFPR/YLUfI3VkP41RtfL3Ugk/brmcKw3F3YdwU2A0a0q7nnC0MmI1QUeBLbkVC4YTzKzZViS+EYLpnFOd7hOK9UO4QCi6CUsCgNkYreNp2TeQJEzCqFyWKJdlC7hvwPji6h1d1hkSVr7O0QoGNCjqlQvdDp/phT4WTcOyjxvuS+hshCKM2GATlQogd9FTign7UMD0NMoUw4S4gbZ+MvdUo7PltgDxhOu3QyARj7/Gj4RoWFFXoC0GaGacydhhsSEgoML2FYiEAvovRjuzuAPdBxe8YSiu8wpPRox0hWfvyhWgOgLHWGDnc6JLZFbJrltDfjneQv4fiEJdR3ExZlhB9BFazXxCif0aIF/ExxmQKOE94SofxQxrTqWMHig3lfIOt8Qb0dpr1U+WKs8l5xw7I9UHmb6n6+qv1xT8xrn/ltOffjIODg/+WP3HMcIG4JOLbAAAAAElFTkSuQmCC\",\n doc: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABIUExURUxpcTSL+DmO+VSd/k6Y/Vmg/kOT+jSL+UeW+1uh/1ig/k6a/T6R+l2i/0SU+0mX/Oz1//n8/y6G99fp/3ex/J7I/77b/4u9/gFOo+kAAAAKdFJOUwD///8n3Xugn58WcbRuAAACn0lEQVRYw+2Ya3ekIAyGCzozHQFRUPz//3RzQaSXbYPtOfthfccoCcljEM9pZ15eLl26dEms/v78q/oTvKf7SrdWZH9z7leJT+d+ldhTzQCfooH9oUw0Ee8D1qPyZXBsOxDdFuJzkKiBKAM2EIVAObEGdtlqv0SkRAB2XTfgQSMao5M/FKHpmxDYvdHO2G9S69YE/FD+5i5szxMdfq1eBDSYasiMYY8DJkcPuwuAr12uxNO2LgaHGWCM29Yhe3g7yZpfTa41xq/THJ3BNunUGZ8gMnAAs15FQBbUjHGe57W4IDfN87T44suAXUZ6WwFZCwDnZSx+S4cA1AeQnwEBp2X054DjAVxiXPclzyeAno4d6I2DwbT5/Rky0IuBnnjeH8AVrrC7PgPtniED+l0Z6D1txTwn7w8gp5wEJuLh+1KA/jRwWv2GFGwymR8CFQEH7DMmRG0ZOLYCucAyEFFx0REvWwGOcuAIgnw4qwgrRdCUVNhgMEFgQiBO4yEGkqyielB0IahEw5mBWSeBcQ1KB7fjfw5MXlmrw5rdRf8QGJegrbVqTNltBtrRVsC4agU+tLjECkhJIiA0A+koBqYBGsSI4kUD0I6cJAVSOjw12ljcEcJDi0PKQBKkSDvkfAJGeAU138PSy5iBvIYmIO1rTAu8MiUwJogYVVIkwMcBVAb+jFKDOQCL3lZ3BOyjCQhLROkKSBHVDNRQSqb28gyliOIImQioK0ExC2E5oqp5GZBrbVX3PmJ3p7nD7/TPgEpXD0oVU8XN00oGpEqsUQc5UxWb2k0EVG/F2Ix4LwnwXld+AtF1WPIfbK8aJPqq8pDzJCsG4YICV4S9NByUUFwt/C7VP7AgUBGcw0cmTQZhf/wjxuNb3c/8mnHp0qX/Vn8A5AVWOPvxckoAAAAASUVORK5CYII=\",\n xls: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcYXMX2m8Pmm8P3zJWYbNYXvGVGu9QHrGU4jOZITMX4fOY4HKW3fET3LBSm+/RnrGU37IV2u9QWm7P22+Q+r94PP/7dv2zfv/+GGyNlmsLsfrtaTZiLPhm5TQdN9r514AAAAKdFJOUwB/e98c3T2gn5+4KvYSAAACu0lEQVRYw+2Y63qjIBCGmzRtqhwV1Arq/V/mDgMeYtLtkM2/9ROBGWZe0aB96NvboUOHDpH1eSp+1Gc+7lKwv+njksv7YOylxIKxlxIvjL2WeGIvJhYlY1BYiRU0ZahZcqYjh1ggJCqmL8bcCVejE4tyL/awSybeA38QlXgL5PsuzyYWMYmvhfNECS3nWDCGRiw4T0lr2bjwLCOSnyjAL56hz2wg2yNuHadM4NA0vpyNCs6pa7ot8osIrGI6a76/Wx96FVZ8Asc3OmIAEVghDw7WQX47Qq8KNo+212ihjwSsFsmxjcQo1oHZdpNYIzKBVnokDmiVvgV1Q/88UPQCic0EhvZN5Cn9DDAmyb5Kt1lV8Is3TTc4k3iaDNRah/DQaOngwYWJMZgg8MYeblhrHIOWDFxl3QREmKMeuq4bVS8TLooIrDZE44bw7FpvpnGYeYvyZ6iF6cdAbCbn3J6XCxSR6JDYTb2RuzEaUKQMEbLgkH2a45A8cw0tDXgjAMve+kTc6wmgECOsPhGJ7BXA8D43ggdi05X/DsTvQ8Nc6fFN4c8AJRyhBOEXsPXKwAJHYnimOChzZihThmRxUVe9hAWORB8vJCOXBJSAk1E8vMiN186KhTjKTQAFeMVwgVn43HzpDFgKliMShwQTdOCsMgC6CXkr0as1IhMoPHxhht4kgnXKw1+9wa4R1yygMnoYJ9cvM6qdHMfB1PnAhDAufGHU5gpgoiP6FA2oIFBFGUi30UQIOmqFXaXIwK2supW1N5584C8iAu+mdW+kmga04caCQpqdLWXTwDwaeiSgzRAVWGNZzrVb12tTk4E1CKuUbdGyyZWGoijAc30nu1xhrzNl8/0o0dSPRdoGXGuTVMezNvVibioQ5Y5hf/u+JPygefiduJe6XA1JV/qO9HK+/qrzE//NOHTo0P+rP7x4jQVHYv00AAAAAElFTkSuQmCC\",\n ppt: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAByUExURUxpcf+ubP+iWP+SO/+nX/+lXfyPQv+SO/+dUP+xcP+ua/+VQP+jWf+XRP+cS/+eT/+UPf+ZSP+gVP+qZf+saP+SOv+mXv+wcP+ta/+ubf+oYv/79//x5f/m0vmEO//MpP/Sr/+9i//Zu/7Dl/ufY/2zfqeIp1YAAAALdFJOUwDdPXugHPygn596VuVMqAAAAl1JREFUWMPtmOtyqjAQgNuqUBQSEi9cDHJR3v8Vzy5JJHi03dAz0x+HD3LZTfIZ6tCZ+Pa2sLCwQOZjG73kw1+3ibKveN/4+t6z7J8a7f6Kp7bC27gp7mTFC7yM28nS/OfGKC9y0OSIafJi6A1FJ3IPY5SToBuj/JAfDkMxNSzHzpDN9e1jXB+IUI1/CfemjJGfcb0HDvbe23rvZGxMM673dCKqsJwsK+916SYQyn+KdemQVec7qmqy8oGtr7A5T6kfhGsP4QlLd/7aSBKeRuJueFSNUmi8nspxfJ6wuWn6Gv+gleM7neYI1fViucIeVTtLGOv5slMg5FITXGCLqo6dCTRhfIoRqLVQ2lA0Sqkujk0MGZLQrEZAqKwQ4ChspDOBIvyMR2QzEUr4plXNnQmfnkI+FbYQVf0coTRlFGZt22KgOm78UlKFckQL4VuulaHqA2dczhFWICwro6uuAfuJkDXVIJSNfvu69jLZIFnIXWHLZXKrkf52Cbi/kHOORmg4q2FbLePMvnwJw5HhA3GcU4UWK+QiQATjD/gKhRW+4idCePCZQjaihQK7nLnYyFeYjMKnPjZnh90TIfMSCsG0QrDk2lVdD5EQOoE9HDYTBE2IizRJ33RNkYgJzOkTdzgKg6zNggeh8BSGxqWF8HYEj5bkXtGEiUsa7IYWDM8IvYXf8GvCHZLglZgIG33ZLvZ2JOHOg98Vpvc2HQOHNKUJV6kHK8rh+8m64ysh6RgQpsdjaq7hhmK6OmeGIU95YjjfBkciAfEstQlpvpB+It2swm9Zzfg1Y2Fh4f/lD1FNqKcd3wCLAAAAAElFTkSuQmCC\",\n png: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABpUExURUxpcf+ubP+eUP+iWP+xcP+nX/+lXf+SO/uPSv+dUP6kX/+XRP+VQP+SO/+jWf+oYf+hVf///f+mXf+tav+ubf+rZ/+eUP+wcP+pZP/s3P+aSf/z6P/48v/UsvqFOf+6hP/jzf/Hmv/cwS4F5mYAAAALdFJOUwDdez2foByg/p/2onNSOQAAAh5JREFUWMPtmNuSoyAQQGeMUaZUxBveRfP/H7lc1VRJptF92Kr1INqtcKqNSSrk6+vm5uYGzMPzrTzcdYFff+I7cPV91/VfNZr6ykNb6WwMypW6tOBk9EoALka/KMtCTCr05OKi0S9AwI02YXXW+KwqMVluMqw4SimjtUGNzwoK0HgobC4Yn42iat6DanfKnPZdhCAersK0KcfXWOtYbPtrTeNBhGnapCt1n2VZX6cWnjDhjjETjNeFudrhWQpfeS7PqJ5vI0DCXJLKPVmkcMH5MQ5CBaGvIRtehIhkGVp2VmgqwgixhSEkciYeDz4jxDkWyD1F0zQhKrJZ3zzG+jKPQMLNJiAd6ogImHw1+1UngQh/8DHqefMS9/ycFhJVIC+ROAvJnrodRn7ARBfIS+TJirOwEp88JsTGx0skF4Tyfd3nZCtQ+c8KG3OXW4FZ1lJHIeUQ1dVXQzY0vMDBbLJEKjsFCxX1oOmHPe02wlHYDsewk0LWW5jPCfPZJuyZm7BTbWmtzHoMTNgpcPuBUg+CCSkfSTv2wTdXskKoUFGMdhhyqlASTcjOlLgLu3iyk0QOwjDqePsFfgeiA4VqykefCUK40KZ457wwuiaMBZFokc7EQTUTiigGCWMH/m1hAhR624TETFSh7Em8Np5DfsE+EgdAy4BQD473M9+SNYPcMV/fImh9CLiWCkKYL4SvSAMv/BXvxL8ZNzc3/y9/ADVfok94AIhIAAAAAElFTkSuQmCC\",\n html: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcTbUrDrbszvetTXYrDnasjXQqTPIojfTrDvftTTMpjPKpDnZsTPIozXOqDjXrzHGoTbRqjfUre7/++T++Pf//SfCmxm3j1fXt7Hx4UvNrNL78XHfw8T26o3o0eeFKfsAAAAKdFJOUwA9//8c3Xign5/8SMcgAAADDklEQVRYw+2Y65qjIAyGp9ppRxBERcTj/V/mJsHTtN3dMNt/66dAEsjbgE/7jPPxcerUqVNsXW7Zb3WJx12z9E/6vMbyPtP0rcQsTd9KvKbpe4k3SkneR8wWVrL0yb8SM2QkQYGZYEsITnckMUteKX2KsImvgS/EJT4B86XtXhwx2xD5kp3nCwVHaHTnbOJXsuWv2Utd+WOJ+RcLmJOSpREw30T01U7yCx9Y0H0g+W6YIZRsYRxvfODGK/KiQHtqGjsePwU/MmMCi+84GArfgEZ0izBHHecQvzAFQaGyMBTFDDzbV2iuYWhcYBEgB1Ww42Yw1fdoDHDR3I00JhaAs1ndOCCUUS2lzLa2HgNj3TT1OIKLxIruiAorFPQz1GU9muEIx+CHeRxYQFwaUih/dmCVeISTMx1EBl9t4gKD/FAjz6AJoHp2znV1U0/+Z0A/1XXdOaex1hrYvRBtT8H8J8AcUyflBO64A3sQZSmJaOdIYInXDAzbtxIdPVCxYJoWnjQ86hhgCXkgKsoYNEsPkHo0OGN6/KAZglg5E4gSdIRTT/CRqhXEhmJt1+uwKgYYTmvqwdahWr3zXDxQOyDCF2NKwEHK7IhnkdeqMhqIRD9Za6cKjhC/cnCE/cIzOgqo6SrFQhz1DP0gZElG4C1rmEAQVKiR2A1dLzos1AmtyQWepjUgFlBvAqLyvYONWjhC9HuvWiTrCOB9X66la9vWjMCzHurSBlwndTRQaIFVQJPGGUFHqJBD7r4BLbhbFmsGkiUeYbdsFPxwhTV3ToVrfQKToZlxGqbRoRlmwhTNsYFbCsg4P3rY6pNgngWUa4IMjZ6MO0TlNssDEoS6BaLgl1qtrkTRiEt4wJAm9pKUXIuSa30xFUqp5IPEY0CqEOIB1Yo8cNSjFRZxgUrReuzRRlfto5ShgVjALU+9lDyabCBXHOBtW20eLBOaMSaM4HL+gr1gmtlBmG82NjrrHFys14A7MgizGQepbQpuzo7xBfw74lnrNPdd6no3LN35b6TX2/2vuv3gvxmnTp36f/ULf0R1znQ7804AAAAASUVORK5CYII=\",\n js: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABpUExURUxpcUOv/0uw/zar/0+x/0Gj/Fq2/jOp/0ew/123/zKp/1S0/zqs/1Gz/123/02y/1i2/kWv/0mx/0Ct/1y1/vb7/1i2//7//zel+zOe+e32/9zt/5nN/ieV9oDG/avZ/83m/77h/2S6/HhIljsAAAAKdFJOUwB7Pf8c+92gn59dd850AAAC8klEQVRYw+3Yi3KjIBQG4CbGpgaMNyQIiJf3f8g9B8Rqp9mCszO7M5u/Kgj6iRrb2Le3V1555ZXgnE/Z05zjuUt2/13eL7He+/0+457zlpk/i1jRjo/ZCQC2Hx6LH+MF92EOhIJt9LtviRJPFsMgY0vPr2aUmDmFlY5i68q2ZBFiVpYcf3jpwjnDFoZ15mZsChczRKxkC86Xlc+4erCY+T34TvENnPuxh4rZdiR8M0BeLlfCwcFiRqxGcOJYJxB3AEJ4STiuEuzhYWJGvqYkz5IdA58FDnQ+AOb5bOY8/948BYAfFoEJZ6gWWraK5S5kaffLkHP+yPepxsejHep9I1nKj3iwThWAOi3y7xIIbnYuPOiHCH0Fzm6jIBC2LZZ9IJUHi2JpsYsocJeqW8Fv8g+AtQcrEOuDYF3Xbl8oNmBtJiXlONxtb23nILDepfEgmdr2AdVWGduBxz0Cpp1qARTVAFwrJSwVX3vjwapZwEI+HnLSelKtNHFgZYNYBROCLYB3BLu+F2YYWGW7YItgsK58PJjjpTRCdL0QYu2NGOFXMJ3wGqrBFEI0fwIUbJT2Jkv96R0AGw/SjuhR2Q+OjgWbBqHakAZCEZRaNKLrajPgMOUM/bBFEw5CcngqNJQilwAaATTckG6GS9kOjU8QaLekGh2dixnPWDHBBk0o3GRzEBRGoQgBTw6dgAdPDXda2D8INBqE09Mo2siRdWKQ9smDRw/GSw+MsOv0KG3UxPoOnmV7i/GzqLsVvAaPkMJTxvQ0juOgU/AoHGBSSqpxgseFokgDwSsFjuIt7fsUvlqmPXo0gWduNsbMokcPN4FFGOgCJ927oOcPsa65xIA0ARIjbsnSkMDvBZHQo+AC7ISdFgwmid8xwfqmZjtcxdWDwGQNXebniQR/zl8Eb3Za8rV2s/MtEDwlN4hdLFkbkm2LXQn5Bnu+hQbIoNeAa7B4CzljeL9NQ7008F3qEjjGa/gb6eV0/TGnA//NeOWVV/7f/AJAsosfySCrjgAAAABJRU5ErkJggg==\",\n css: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABaUExURUxpcXvGVGm8P3zGVXzJWYbNYXbDTWu8QHnFUofNZITMX3zHVXTCS22+Q3jEUIHKW4jOZGq9QHDAR////mi6PvP97pbRd/v++tXwx+b33afbjV2vMrznpsnquGjfsnAAAAAKdFJOUwA936wc3Xign58XA1ZcAAACuUlEQVRYw+2Y2XbjIAyGm540qc1qAl7j93/NkQTEdJsKtxdzzvg3iSVAH8JRFufp6dChQ4fYOl2aL3Wqx50b+ze9nGt5L9b+KrGx9leJZ4ppv2C11KqIlxTUUnib6akn2TXEBigY3RKtJdncgRb1VBCb9o0Ikq0Hvob4Dvil2EQukE18CzSfmlXEJoaaTDCtMYmFZ2Oo0SCP2BiTgrZWdNGjjUjTsIEP2TvIRrsv7KRTJbDtpwCaKEkb7b4EXhjA1zJgHG63YYiQfhrQG8vxVz5QECMAYRrv5Oj7OAEx9MUEJlCkJhA49cJLjJZe9BMChcnju4DjsihtBEgtC1wCAAph4sEDik0EVJpsYGqVgVk1QJOBMjkgHYFGxGbErgzl5uufZPgZUBJQ7wbqeYC6ewcc5t1AM0PdDfcMBI5coRCn2USPD9QUYMcAvGmW6FC8lj0uEcYWHc0F6igxwwW8DasjJ/ZJhynewpzmaDYQAbhh3LEuRHuGrHWaVJOh1PcplNmgMOsw3p2szRCB3vf4oq7ybYLD2HuvdwC18wvUIZRNAaSyWbyrBErasZaKCttFj9agwu6kTBeFCZQQgA2qJAJpAVQEYoeMs1hAuSkCNz8Ciwk7gMOofgi8FvHx83DrUONtV4auBIbZJldYKsPe1QJdIjpn4TtkCGHUDnvGEPCzwbo0DBOunC3jRJJ0ag30VrPo2onex6tym3jAjHPOt+sEWuMS0bY+DspaIEotvp/n2SDDeQFmr5a9GZL8QurQ7qLtdwEfQcqDusJWJY8LVBClElahMj06xRALqB5y6jtVAtU/Duw+I3TpGQ9oHOAF5r6TSo8PHYrzC/bUcQVI1m3AFSd7FpKzY7i/fQaaj0Sf0dsCNOLpeGbeS52vnY/K52R3yeji6cq/Iz1frt/qsuPfjEOHDv2/+gP0toi4gXoofgAAAABJRU5ErkJggg==\",\n epub: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcXXDTXvGVGm8P33HVnzJWYbNYWm7PYjOZXPBSmu8QG6/RXPBSoHKW4TMX37IV3nFUYbNYonOZOv+4fX/7/z/+1utMK3gkuL412O1OFOpJ7ripNf4xXK6TKHWhX88Tv4AAAAKdFJOUwB7Pd+gHN2gn59lNj8pAAACeklEQVRYw+3Y2XaqMBQG4GK10gxCgDII8v6P2T0kMhR7dujl4QcMCcm3Ni7tkr69HTly5Ig4pyR9mVM8d0mL3/JxifU+Xkhup5jyQudmkpuNuEjx4ii0fHlWUIt7lJiwsZVpOEZMnSQRYnpzsGH8WmyphxdcGJaL6U0WsSgFxeIStOtTGy2eeZGddmu9gq21tNMcmXi21i+adtsMQ8MdOm5M2lQMrtKUVVU2GxdO+8Cm/IJsickukL1N8SwEM9wzS2cZeVXlRT9uuZGBmfey7OmVfU9Nk3HoKhwiMFuEvaaum4XoEw8G736ve7rr8W8gfF64PqXqrsX3sv8TSF4Lns5zPWKF7ZjvAHPcYZt5jFft2Bm+RpsYpCBRVegpxqEz1p3BSzQHDhFI2JPg+3162LGjYy4CRKKt8AuM9c086BRDC+8kJwI0AxDVsPYMeNAZIsBPD/ZYYfsAIh/beX34l6c30aDOeyxrKHyB8/rKPtPxYP3AGksQDbxrw8J71FGggS033T2IpstHu/Du+OHBaZ+yClei6+7wVf7pQWSgMQYPTWJZloPt6g48N0CnJY9n5EYEhsn5JN40jJBXes+TQjBkEp33qD7ttXhwLi69kFhwJm568eAkbnpScL5IPcXJ09EVatq4CSJ5ylvabyKQpkKoEC/Cb5vg8bjhCTJQMxeCd62KQqG3jhA0k0ivCr973gvXTAz4I6qr6436ZOBVb4lqi9P6KgSV5vXzVz8YXvlEDoZlrE2KmholrVC9iN4Yk4AJLdW0XqvQeO454HXJL9iTiojoMeAq9yR3DM+371LvXfgsdRHWeJU/kV6S6z+T7PhvxpEjR/7ffAMGOojXQYbbiwAAAABJRU5ErkJggg==\",\n psd: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcUOv/0uw/zer/123/0+x/1q2/jOp/zSm+Uew/zKp/zys/1O0/1e1/0Ku/0+z/1q2/0mx//7//164/vf8/9vw/+r2/yie86HX/sno/7Dd/5TR/W6//H/H/Eyv911ykpAAAAAKdFJOUwB7Pf+fHN2g/p8jQekrAAACx0lEQVRYw+2Y7WKrIAyG12JXJn4xEQG193+ZJwnYOdedE7r9O74qBQyPARNb+/Jy6NChQ2ydT8W3OufjLkX/N71ecnmvff+rxC/+dT8jXnB8162sLhK7T/As4glgHR1xT0Vs0iW6PGKxYXxo35FBJGC9B37p4BOLdXhd42e9QdaxXecRi5opLpEN5BITsKL9oao8YkGoqkpIrJAIRY2azuFR8IB31bvPXQuY5zzgA8hOJwbwbTWevY3yof+GV3Hm/NZG29ab9yhjrOsq6E57C2Ub9zcWMEoP7x8yvqPOalOicoANAu0AsuCqce0j5QJNmPt+cQMQ7fwzoI7AaURNdueizgRq3CJQKiXl6GH2Xn/QyIAN1BqsdQS6BmvSAXDQO6ERF6hX4BSrAYGNnp3HqJw1eYhlDlCRh1TtcA2DmixFJkTl3ct8IE65whC3S49YSzG0PAt8H1wIAaPGeFxI46cJmiY8DYS0M4YyZZawkGaGIJpDmJs8YANbAqZk9ouUOPFwgyAapWySEQvYRBHQrI+bUSoKb+unVkoVTXTDA9LFCWiG4JxbejnKppG0mHiTa4JpKHM9TKk3Iq+RcvKDoRvUJptngBJFU1RyvM3BU14/AxQEVI1aByNxHG/OYtb8ALiqcq5SAlYTgW0+UO2BkHjWzbqZTPRQsYEwS4Xzi0BFY2Gb4R5jFGEawlMNjOAcDxgFgWzspO6S0xC/tYwNcJsQp9Q1B7h4COgNEHLOD9YO3kUeigO8rgB5629SbYljvSzLfBtH8QxQYJBsgfhdEKP8zssCAlEKsQViD4V5arGBQgmBKEGVeNBwkZpCxS4hWECRoWyg+m3gb3lYRvPyXpapsjlRZnlYpm2tf7pEmcqSBzyVDyUe9nJ+wZ73gx+jolivAdeSLc6M4f1WcnmS+S51Yfp45b+RXk7Xf+r0xL8Zhw4d+n/1B13vfAhtdKi2AAAAAElFTkSuQmCC\",\n dwg: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABaUExURUxpcXvGVIbNYXvHVHzJWYbNYXbDTWu9QHrGU4jOZHLBSW+/RYDJWmy+QoXMYHzHVYjOZHfET2m7P4LLXf3/+/T+7u3+5MXrsaXbiVyuMZjUeNb2xOP81bPjmuZ7vy0AAAAKdFJOUwA9z1wc33ign591Bg7OAAACdUlEQVRYw+2Yi3KjIBRAm51UI4gKxMei+f/f3PsQNU3SXtzOdGfWo0W4wBGFau3b28HBwYGYU1a85JSuOxfNZ/w6p/rem895TzQWTfOtxjP1qWCDtJoLK1WyMcM+VUUu1pJ3ls6nSDEW1UpTvSLBWFRf0iQZXwn93jFuhd7fK/2SJhgL9Hh0ecp5P4tn3xzwYmPhX0En2SL7nXkirEIPNA/xspAIL9Cw9CUmsV85dG3bBcjNgSUjeVJcykeG9nrtAmX9/MNJtk9Yk7B5cqbLvymsdwjr2LOmBIVtU3OMQ9xGJIQOQHSFGzBegR5zoV4Qj7DeQiumbVGIx26gEXICpAvr4bqlHe5r04WWhB1BQvsdwo5uX4/GvxCGgejBMv4mJpwZjoY0IY7C9nSZNB+jI1DY8tXfsJGVCi3Rt8tUjBoDelrn5mbBJxVi29qqG60XXDLtqFjYXudQd1N8VqEQUUNPTNA/jhCyE0cHRUNMEiq+cbiwV2E3cFTvGKHjqQ34bB0Jespy1NlkIQwR0aG7I2iOJwmVje1BG6atbwpQxbUqZYRq3ej9NIJ1GjGHwk21SKgiFndL7xQU0jvFLlWERJhHE3ehuQnTNI2WZmOxUQuhcDsK44xzJCx5vdyRJFzRYQShf6xQ+U8J9VOh3inU4NMAaTULccWUmopUrRQ3kAkfqQJgn1TsFBpaO+77hHp+xOwXmo9DhNVoOLipMlKh0dibd8waLq7HWDBGJDQJ/IgwM3zHIm5JlpQ33CV/wZ6wj1t7UT4KaLY5R4noMyB3EXN32BRiRHLF8H2rnRAt/JY65zJfLv8iPWf5l2Q7/ptxcHDw//IHYWiLelDcDu8AAAAASUVORK5CYII=\",\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsFolderConfig } from \"./config\";\nimport { Folder_ICON } from \"./folderIcon\";\nexport class PopsFolder {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.folderCSS,\n ]);\n let config = PopsFolderConfig();\n /* 办公几件套 */\n Folder_ICON.docx = Folder_ICON.doc;\n Folder_ICON.rtf = Folder_ICON.doc;\n Folder_ICON.xlsx = Folder_ICON.xls;\n Folder_ICON.pptx = Folder_ICON.ppt;\n Folder_ICON.dmg = Folder_ICON.ipa;\n Folder_ICON.json = Folder_ICON.js;\n /* 压缩包 */\n let zipIconList = [\n \"rar\",\n \"7z\",\n \"arj\",\n \"bz2\",\n \"cab\",\n \"iso\",\n \"jar\",\n \"lz\",\n \"lzh\",\n \"tar\",\n \"uue\",\n \"xz\",\n \"z\",\n \"zipx\",\n \"zst\",\n \"001\",\n ];\n /* 图片 */\n let imageIconList = [\"jpg\", \"jpeg\", \"ico\", \"webp\"];\n /* 代码语言 */\n let codeLanguageIconList = [\n \"htm\",\n \"py\",\n \"vue\",\n \"bat\",\n \"sh\",\n \"vbs\",\n \"java\",\n \"kt\",\n ];\n /* Android安装包 */\n let androidIconList = [\"apk\", \"apkm\", \"xapk\"];\n zipIconList.forEach((keyName) => {\n Folder_ICON[keyName] = Folder_ICON.zip;\n });\n imageIconList.forEach((keyName) => {\n Folder_ICON[keyName] = Folder_ICON.png;\n });\n codeLanguageIconList.forEach((keyName) => {\n Folder_ICON[keyName] = Folder_ICON.html;\n });\n androidIconList.forEach((keyName) => {\n Folder_ICON[keyName] = Folder_ICON.apk;\n });\n config = popsUtils.assign(config, details);\n if (details?.folder) {\n config.folder = details.folder;\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"folder\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, `\r\n <div class=\"pops-folder-title\" style=\"text-align: ${config.title.position};${headerStyle}\">\r\n ${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n <div class=\"pops-folder-content ${pops.isPhone() ? \"pops-mobile-folder-content\" : \"\"}\">\r\n <div class=\"pops-folder-list\">\r\n <div class=\"pops-folder-file-list-breadcrumb\">\r\n <div class=\"pops-folder-file-list-breadcrumb-primary\">\r\n <span class=\"pops-folder-file-list-breadcrumb-allFiles cursor-p\" title=\"全部文件\">\r\n <a>全部文件</a>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"pops-folder-list-table__header-div\">\r\n <table class=\"pops-folder-list-table__header\">\r\n <colgroup>\r\n <!-- <col width=\"8%\"> --!>\r\n <col width=\"52%\">\r\n <col width=\"24%\">\r\n <col width=\"16%\">\r\n </colgroup>\r\n <thead>\r\n <tr class=\"pops-folder-list-table__header-row\">\r\n <th class=\"pops-folder-list-table__header-th cursor-p\">\r\n <div class=\"text-ellip content flex-a-i-center\">\r\n <span>文件名</span>\r\n <div class=\"pops-folder-list-table__sort\" data-sort=\"fileName\">\r\n <div class=\"pops-folder-icon-arrow\" data-sort=\"按文件名排序\">\r\n <svg\r\n viewBox=\"0 0 1024 1024\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M509.624392 5.882457 57.127707 458.379143 962.121078 458.379143Z\"\r\n class=\"pops-folder-icon-arrow-up\"></path>\r\n <path\r\n d=\"M509.624392 1024 962.121078 571.503314 57.127707 571.503314Z\"\r\n class=\"pops-folder-icon-arrow-down\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n <th class=\"pops-folder-list-table__header-th cursor-p\">\r\n <div class=\"text-ellip content flex-a-i-center\">\r\n <span>修改时间</span>\r\n <div class=\"pops-folder-list-table__sort\" data-sort=\"latestTime\">\r\n <div class=\"pops-folder-icon-arrow\" title=\"按修改时间排序\">\r\n <svg\r\n viewBox=\"0 0 1024 1024\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M509.624392 5.882457 57.127707 458.379143 962.121078 458.379143Z\"\r\n class=\"pops-folder-icon-arrow-up\"></path>\r\n <path\r\n d=\"M509.624392 1024 962.121078 571.503314 57.127707 571.503314Z\"\r\n class=\"pops-folder-icon-arrow-down\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n <th class=\"pops-folder-list-table__header-th cursor-p\">\r\n <div class=\"text-ellip content flex-a-i-center\">\r\n <span>大小</span>\r\n <div class=\"pops-folder-list-table__sort\" data-sort=\"fileSize\">\r\n <div class=\"pops-folder-icon-arrow\" title=\"按大小排序\">\r\n <svg\r\n viewBox=\"0 0 1024 1024\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M509.624392 5.882457 57.127707 458.379143 962.121078 458.379143Z\"\r\n class=\"pops-folder-icon-arrow-up\"></path>\r\n <path\r\n d=\"M509.624392 1024 962.121078 571.503314 57.127707 571.503314Z\"\r\n class=\"pops-folder-icon-arrow-down\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </div>\r\n <div class=\"pops-folder-list-table__body-div\">\r\n <table class=\"pops-folder-list-table__body\">\r\n <colgroup>\r\n <!-- <col width=\"8%\"> --!>\r\n ${pops.isPhone()\n ? `<col width=\"100%\">`\n : `\r\n <col width=\"52%\">\r\n <col width=\"24%\">\r\n <col width=\"16%\">`}\r\n \r\n </colgroup>\r\n <tbody>\r\n \r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n ${bottomBtnHTML}\r\n `, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, titleElement: $title, contentElement: $content, \n // folderListElement,\n // folderListHeaderElement,\n // folderListHeaderRowElement,\n folderListBodyElement, folderFileListBreadcrumbPrimaryElement, headerCloseBtnElement: $btnCloseBtn, btnOkElement, btnCancelElement, btnOtherElement, folderListSortFileNameElement, folderListSortLatestTimeElement, folderListSortFileSizeElement, } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n /* 事件 */\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n PopsHandler.handleClickEvent(\"close\", $btnCloseBtn, eventDetails, config.btn.close.callback);\n PopsHandler.handleClickEvent(\"ok\", btnOkElement, eventDetails, config.btn.ok.callback);\n PopsHandler.handleClickEvent(\"cancel\", btnCancelElement, eventDetails, config.btn.cancel.callback);\n PopsHandler.handleClickEvent(\"other\", btnOtherElement, eventDetails, config.btn.other.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n $anim.after($mask);\n }\n /* 添加文件信息 */\n config.folder.sort();\n /**\n * 创建文件夹元素\n * @param fileName\n * @param latestTime\n * @param [fileSize=\"-\"]\n * @param isFolder\n */\n function createFolderRowElement(fileName, latestTime = \"-\", fileSize = \"-\", isFolder = false) {\n let origin_fileName = fileName;\n let origin_latestTime = latestTime;\n let origin_fileSize = fileSize;\n let folderELement = popsDOMUtils.createElement(\"tr\");\n let fileNameElement = popsDOMUtils.createElement(\"td\");\n let fileTimeElement = popsDOMUtils.createElement(\"td\");\n let fileFormatSize = popsDOMUtils.createElement(\"td\");\n let fileType = \"\";\n let fileIcon = Folder_ICON.folder;\n if (isFolder) {\n /* 文件夹 */\n latestTime = \"\";\n fileSize = \"\";\n }\n else {\n /* 文件 */\n fileIcon = \"\";\n if (typeof latestTime === \"number\") {\n latestTime = popsUtils.formatTime(latestTime);\n }\n if (typeof fileSize === \"number\") {\n fileSize = popsUtils.formatByteToSize(fileSize);\n }\n for (let keyName in Folder_ICON) {\n if (fileName.toLowerCase().endsWith(\".\" + keyName)) {\n fileType = keyName;\n fileIcon = Folder_ICON[keyName];\n break;\n }\n }\n if (!Boolean(fileIcon)) {\n fileType = \"Null\";\n fileIcon = Folder_ICON.Null;\n }\n }\n folderELement.className = \"pops-folder-list-table__body-row\";\n fileNameElement.className = \"pops-folder-list-table__body-td\";\n fileTimeElement.className = \"pops-folder-list-table__body-td\";\n fileFormatSize.className = \"pops-folder-list-table__body-td\";\n fileNameElement.innerHTML = `\r\n <div class=\"pops-folder-list-file-name cursor-p\">\r\n <div>\r\n <img src=\"${fileIcon}\" alt=\"${fileType}\" class=\"pops-folder-list-file-icon u-file-icon u-file-icon--list\">\r\n <a title=\"${fileName}\" class=\"pops-folder-list-file-name-title-text inline-block-v-middle text-ellip list-name-text\">\r\n ${fileName}\r\n </a>\r\n </div>\r\n </div>\r\n `;\n fileTimeElement.innerHTML = `\r\n <div class=\"pops-folder-list__time\">\r\n <span>${latestTime}</span>\r\n </div>\r\n `;\n fileFormatSize.innerHTML = `\r\n <div class=\"pops-folder-list-format-size\">\r\n <span>${fileSize}</span>\r\n </div>\r\n `;\n /* 存储原来的值 */\n let __value__ = {\n fileName: origin_fileName,\n latestTime: origin_latestTime,\n fileSize: origin_fileSize,\n isFolder: isFolder,\n };\n fileNameElement[\"__value__\"] = __value__;\n fileTimeElement[\"__value__\"] = __value__;\n fileFormatSize[\"__value__\"] = __value__;\n folderELement[\"__value__\"] = __value__;\n folderELement.appendChild(fileNameElement);\n folderELement.appendChild(fileTimeElement);\n folderELement.appendChild(fileFormatSize);\n return {\n folderELement,\n fileNameElement,\n fileTimeElement,\n fileFormatSize,\n };\n }\n /**\n * 创建移动端文件夹元素\n */\n function createMobileFolderRowElement(fileName, latestTime = \"-\", fileSize = \"-\", isFolder = false) {\n let origin_fileName = fileName;\n let origin_latestTime = latestTime;\n let origin_fileSize = fileSize;\n let folderELement = popsDOMUtils.createElement(\"tr\");\n let fileNameElement = popsDOMUtils.createElement(\"td\");\n let fileType = \"\";\n let fileIcon = Folder_ICON.folder;\n if (isFolder) {\n /* 文件夹 */\n latestTime = \"\";\n fileSize = \"\";\n }\n else {\n /* 文件 */\n fileIcon = \"\";\n if (typeof latestTime === \"number\") {\n latestTime = popsUtils.formatTime(latestTime);\n }\n if (typeof fileSize === \"number\") {\n fileSize = popsUtils.formatByteToSize(fileSize);\n }\n for (let keyName in Folder_ICON) {\n if (fileName.toLowerCase().endsWith(\".\" + keyName)) {\n fileType = keyName;\n fileIcon = Folder_ICON[keyName];\n break;\n }\n }\n if (!Boolean(fileIcon)) {\n fileType = \"Null\";\n fileIcon = Folder_ICON.Null;\n }\n }\n folderELement.className = \"pops-folder-list-table__body-row\";\n fileNameElement.className = \"pops-folder-list-table__body-td\";\n fileNameElement.innerHTML = `\r\n <div class=\"pops-folder-list-file-name pops-mobile-folder-list-file-name cursor-p\">\r\n <img src=\"${fileIcon}\" alt=\"${fileType}\" class=\"pops-folder-list-file-icon u-file-icon u-file-icon--list\">\r\n <div>\r\n <a title=\"${fileName}\" class=\"pops-folder-list-file-name-title-text inline-block-v-middle text-ellip list-name-text\">\r\n ${fileName}\r\n </a>\r\n <span>${latestTime} ${fileSize}</span>\r\n </div>\r\n </div>\r\n `;\n /* 存储原来的值 */\n let __value__ = {\n fileName: origin_fileName,\n latestTime: origin_latestTime,\n fileSize: origin_fileSize,\n isFolder: isFolder,\n };\n fileNameElement[\"__value__\"] = __value__;\n folderELement[\"__value__\"] = __value__;\n folderELement.appendChild(fileNameElement);\n return {\n folderELement,\n fileNameElement,\n };\n }\n /**\n * 清空每行的元素\n */\n function clearFolerRow() {\n folderListBodyElement.innerHTML = \"\";\n }\n function getArrowIconElement() {\n let iconArrowElement = popsDOMUtils.createElement(\"div\", {\n className: \"iconArrow\",\n });\n return iconArrowElement;\n }\n /**\n * 添加顶部导航\n * @param name\n * @param _config_\n * @returns\n */\n function getBreadcrumbAllFilesElement(name, _config_) {\n let spanElement = popsDOMUtils.createElement(\"span\", {\n className: \"pops-folder-file-list-breadcrumb-allFiles cursor-p\",\n innerHTML: `<a>${name}</a>`,\n _config_: _config_,\n }, {\n title: \"name\",\n });\n return spanElement;\n }\n /**\n * 顶部导航的点击事件\n * @param event\n * @param isTop 是否是全部文件按钮\n * @param _config_ 配置\n */\n function breadcrumbAllFilesElementClickEvent(event, isTop, _config_) {\n clearFolerRow();\n /* 获取当前的导航元素 */\n let $click = event.target;\n let currentBreadcrumb = $click.closest(\"span.pops-folder-file-list-breadcrumb-allFiles\");\n if (currentBreadcrumb) {\n while (currentBreadcrumb.nextElementSibling) {\n currentBreadcrumb.nextElementSibling.remove();\n }\n }\n else {\n console.error(\"获取导航按钮失败\");\n }\n let loadingMask = pops.loading({\n parent: $content,\n content: {\n text: \"获取文件列表中...\",\n },\n mask: {\n enable: true,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n },\n addIndexCSS: false,\n });\n addFolderElement(_config_);\n loadingMask.close();\n }\n /**\n * 刷新文件列表界面信息\n * @param event\n * @param _config_\n */\n async function refreshFolderInfoClickEvent(event, _config_) {\n clearFolerRow();\n let loadingMask = pops.loading({\n parent: $content,\n content: {\n text: \"获取文件列表中...\",\n },\n mask: {\n enable: true,\n },\n addIndexCSS: false,\n });\n if (typeof _config_.clickEvent === \"function\") {\n let childConfig = await _config_.clickEvent(event, _config_);\n /* 添加顶部导航的箭头 */\n folderFileListBreadcrumbPrimaryElement.appendChild(getArrowIconElement());\n /* 获取顶部导航 */\n let breadcrumbAllFilesElement = getBreadcrumbAllFilesElement(_config_[\"fileName\"], childConfig);\n folderFileListBreadcrumbPrimaryElement.appendChild(breadcrumbAllFilesElement);\n /* 设置顶部导航点击事件 */\n popsDOMUtils.on(breadcrumbAllFilesElement, \"click\", function (event) {\n breadcrumbAllFilesElementClickEvent(event, false, childConfig);\n });\n addFolderElement(childConfig);\n }\n loadingMask.close();\n }\n /**\n * 设置文件点击事件\n * @param targetElement\n * @param _config_\n */\n function setFileClickEvent(targetElement, _config_) {\n popsDOMUtils.on(targetElement, \"click\", async function (event) {\n event?.preventDefault();\n event?.stopPropagation();\n event?.stopImmediatePropagation();\n let linkElement = targetElement.querySelector(\"a\");\n if (typeof _config_.clickEvent === \"function\") {\n let downloadInfo = await _config_.clickEvent(event, _config_);\n if (downloadInfo != null &&\n typeof downloadInfo === \"object\" &&\n !Array.isArray(downloadInfo) &&\n typeof downloadInfo.url === \"string\" &&\n downloadInfo.url.trim() !== \"\") {\n linkElement.setAttribute(\"href\", downloadInfo.url);\n linkElement.setAttribute(\"target\", \"_blank\");\n if (downloadInfo.autoDownload) {\n if (downloadInfo.mode == null ||\n downloadInfo.mode === \"\") {\n /* 未设置mode的话默认为aBlank */\n downloadInfo.mode = \"aBlank\";\n }\n if (downloadInfo.mode === \"a\" ||\n downloadInfo.mode === \"aBlank\") {\n /* a标签下载 */\n let downloadLinkElement = document.createElement(\"a\");\n if (downloadInfo.mode === \"aBlank\") {\n downloadLinkElement.setAttribute(\"target\", \"_blank\");\n }\n downloadLinkElement.href = downloadInfo.url;\n downloadLinkElement.click();\n }\n else if (downloadInfo.mode === \"open\" ||\n downloadInfo.mode === \"openBlank\") {\n /* window.open下载 */\n if (downloadInfo.mode === \"openBlank\") {\n globalThis.open(downloadInfo.url, \"_blank\");\n }\n else {\n globalThis.open(downloadInfo.url);\n }\n }\n else if (downloadInfo.mode === \"iframe\") {\n /* iframe下载 */\n let downloadIframeLinkElement = document.createElement(\"iframe\");\n downloadIframeLinkElement.src = downloadInfo.url;\n downloadIframeLinkElement.onload = function () {\n setTimeout(() => {\n downloadIframeLinkElement.remove();\n }, 1000);\n };\n $shadowRoot.appendChild(downloadIframeLinkElement);\n setTimeout(() => {\n downloadIframeLinkElement.remove();\n }, 3 * 60 * 1000);\n }\n else {\n console.error(\"未知的下载模式\", downloadInfo);\n }\n }\n }\n }\n });\n }\n /**\n * 对配置进行排序\n * @param folderDataConfigList\n * @param sortName 比较的属性,默认fileName\n * @param isDesc 是否降序,默认false(升序)\n */\n function sortFolderConfig(folderDataConfigList, sortName = \"fileName\", isDesc = false) {\n if (sortName === \"fileName\") {\n // 如果是以文件名排序,文件夹优先放前面\n let onlyFolderDataConfigList = folderDataConfigList.filter((value) => {\n return value.isFolder;\n });\n let onlyFileDataConfigList = folderDataConfigList.filter((value) => {\n return !value.isFolder;\n });\n // 文件夹排序\n onlyFolderDataConfigList.sort((leftConfig, rightConfig) => {\n let beforeVal = leftConfig[sortName].toString();\n let afterVal = rightConfig[sortName].toString();\n let compareVal = beforeVal.localeCompare(afterVal);\n if (isDesc) {\n /* 降序 */\n if (compareVal > 0) {\n compareVal = -1;\n }\n else if (compareVal < 0) {\n compareVal = 1;\n }\n }\n return compareVal;\n });\n // 文件名排序\n onlyFileDataConfigList.sort((leftConfig, rightConfig) => {\n let beforeVal = leftConfig[sortName].toString();\n let afterVal = rightConfig[sortName].toString();\n let compareVal = beforeVal.localeCompare(afterVal);\n if (isDesc) {\n /* 降序 */\n if (compareVal > 0) {\n compareVal = -1;\n }\n else if (compareVal < 0) {\n compareVal = 1;\n }\n }\n return compareVal;\n });\n if (isDesc) {\n // 降序,文件夹在下面\n return [...onlyFileDataConfigList, ...onlyFolderDataConfigList];\n }\n else {\n // 升序,文件夹在上面\n return [...onlyFolderDataConfigList, ...onlyFileDataConfigList];\n }\n }\n else {\n folderDataConfigList.sort((beforeConfig, afterConfig) => {\n let beforeVal = beforeConfig[sortName];\n let afterVal = afterConfig[sortName];\n if (sortName === \"fileSize\") {\n /* 文件大小,进行Float转换 */\n beforeVal = parseFloat(beforeVal.toString());\n afterVal = parseFloat(afterVal.toString());\n }\n else if (sortName === \"latestTime\") {\n /* 文件时间 */\n beforeVal = new Date(beforeVal).getTime();\n afterVal = new Date(afterVal).getTime();\n }\n if (beforeVal > afterVal) {\n if (isDesc) {\n /* 降序 */\n return -1;\n }\n else {\n return 1;\n }\n }\n else if (beforeVal < afterVal) {\n if (isDesc) {\n /* 降序 */\n return 1;\n }\n else {\n return -1;\n }\n }\n else {\n return 0;\n }\n });\n return folderDataConfigList;\n }\n }\n /**\n * 添加元素\n * @param _config_\n */\n function addFolderElement(_config_) {\n sortFolderConfig(_config_, config.sort.name, config.sort.isDesc);\n _config_.forEach((item) => {\n if (item[\"isFolder\"]) {\n let { folderELement, fileNameElement } = pops.isPhone()\n ? createMobileFolderRowElement(item[\"fileName\"], \"\", \"\", true)\n : createFolderRowElement(item[\"fileName\"], \"\", \"\", true);\n popsDOMUtils.on(fileNameElement, \"click\", (event) => {\n refreshFolderInfoClickEvent(event, item);\n });\n folderListBodyElement.appendChild(folderELement);\n }\n else {\n let { folderELement, fileNameElement } = pops.isPhone()\n ? createMobileFolderRowElement(item[\"fileName\"], item.latestTime, item.fileSize, false)\n : createFolderRowElement(item[\"fileName\"], item.latestTime, item.fileSize, false);\n setFileClickEvent(fileNameElement, item);\n folderListBodyElement.appendChild(folderELement);\n }\n });\n }\n addFolderElement(config.folder);\n /* 将数据存到全部文件的属性_config_中 */\n let allFilesElement = folderFileListBreadcrumbPrimaryElement.querySelector(\".pops-folder-list .pops-folder-file-list-breadcrumb-allFiles:first-child\");\n allFilesElement._config_ = config.folder;\n /* 设置点击顶部的全部文件事件 */\n popsDOMUtils.on(allFilesElement, \"click\", (event) => {\n breadcrumbAllFilesElementClickEvent(event, true, config.folder);\n });\n /* 移除所有的当前排序的arrow */\n function removeAllArrowActive() {\n [\n ...Array.from(folderListSortFileNameElement.querySelectorAll(\".pops-folder-icon-active\")),\n ...Array.from(folderListSortLatestTimeElement.querySelectorAll(\".pops-folder-icon-active\")),\n ...Array.from(folderListSortFileSizeElement.querySelectorAll(\".pops-folder-icon-active\")),\n ].forEach((ele) => ele.classList.remove(\"pops-folder-icon-active\"));\n }\n /* 设置当前的排序的arrow */\n function changeArrowActive(arrowUp, arrowDown, isDesc) {\n removeAllArrowActive();\n if (isDesc) {\n arrowDown.classList.add(\"pops-folder-icon-active\");\n }\n else {\n arrowUp.classList.add(\"pops-folder-icon-active\");\n }\n }\n /**\n * 排序按钮的点击事件\n * @param {PointerEvent} target\n * @param {HTMLElement} event\n * @param {string} sortName\n */\n function arrowSortClickEvent(target, event, sortName) {\n if (!event[\"notChangeSortRule\"]) {\n config.sort.name = sortName;\n config.sort.isDesc = !config.sort.isDesc;\n }\n let arrowUp = target.querySelector(\".pops-folder-icon-arrow-up\");\n let arrowDown = target.querySelector(\".pops-folder-icon-arrow-down\");\n changeArrowActive(arrowUp, arrowDown, config.sort.isDesc);\n if (typeof config.sort.callback === \"function\" &&\n config.sort.callback(target, event, config.sort.name, config.sort.isDesc)) {\n return;\n }\n let childrenList = [];\n Array.from(folderListBodyElement.children).forEach((trElement) => {\n let __value__ = trElement[\"__value__\"];\n __value__[\"target\"] = trElement;\n childrenList.push(__value__);\n });\n let sortedConfigList = sortFolderConfig(childrenList, config.sort.name, config.sort.isDesc);\n sortedConfigList.forEach((item) => {\n folderListBodyElement.appendChild(item.target);\n });\n }\n /* 设置当前排序的图标按钮 */\n popsDOMUtils.on(folderListSortFileNameElement.closest(\"th\"), \"click\", function (event) {\n arrowSortClickEvent(folderListSortFileNameElement, event, \"fileName\");\n }, {\n capture: true,\n });\n popsDOMUtils.on(folderListSortLatestTimeElement.closest(\"th\"), \"click\", void 0, function (event) {\n arrowSortClickEvent(folderListSortLatestTimeElement, event, \"latestTime\");\n }, {\n capture: true,\n });\n popsDOMUtils.on(folderListSortFileSizeElement.closest(\"th\"), \"click\", void 0, function (event) {\n arrowSortClickEvent(folderListSortFileSizeElement, event, \"fileSize\");\n }, {\n capture: true,\n });\n /* 设置默认触发的arrow */\n if (config.sort.name === \"fileName\") {\n popsDOMUtils.trigger(folderListSortFileNameElement, \"click\", {\n notChangeSortRule: true,\n });\n }\n else if (config.sort.name === \"latestTime\") {\n popsDOMUtils.trigger(folderListSortLatestTimeElement, \"click\", {\n notChangeSortRule: true,\n });\n }\n else if (config.sort.name === \"fileSize\") {\n popsDOMUtils.trigger(folderListSortFileSizeElement, \"click\", {\n notChangeSortRule: true,\n });\n }\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsPanelConfig = () => {\n return {\n title: {\n text: \"默认标题\",\n position: \"center\",\n html: false,\n style: \"\",\n },\n content: [\n {\n id: \"whitesev-panel-config-1\",\n title: \"菜单配置1\",\n headerTitle: \"菜单配置1\",\n isDefault: false,\n attributes: [\n {\n \"data-test\": \"test\",\n \"data-test-2\": \"test2\",\n },\n ],\n forms: [\n {\n className: \"forms-1\",\n text: \"区域设置\",\n type: \"forms\",\n attributes: [],\n forms: [\n {\n className: \"panel-switch\",\n text: \"switch\",\n type: \"switch\",\n attributes: [],\n getValue() {\n return true;\n },\n callback(event, value) {\n console.log(\"按钮开启状态:\", value);\n },\n },\n {\n className: \"panel-slider\",\n text: \"slider\",\n type: \"slider\",\n attributes: [],\n getValue() {\n return 50;\n },\n callback(event, value) {\n console.log(\"滑块当前数值:\", value);\n },\n min: 1,\n max: 100,\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"eleme\",\n buttonIconIsLoading: true,\n buttonType: \"warning\",\n buttonText: \"warning按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"chromeFilled\",\n buttonIconIsLoading: true,\n buttonType: \"danger\",\n buttonText: \"danger按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"upload\",\n buttonIconIsLoading: false,\n buttonType: \"info\",\n buttonText: \"info按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n ],\n },\n ],\n },\n {\n id: \"whitesev-panel-config-2\",\n title: \"菜单配置2\",\n headerTitle: \"菜单配置2\",\n isDefault: true,\n attributes: [\n {\n \"data-value\": \"value\",\n \"data-value-2\": \"value2\",\n },\n ],\n forms: [\n {\n className: \"panel-input\",\n text: \"input\",\n type: \"input\",\n attributes: [],\n getValue() {\n return \"50\";\n },\n callback(event, value) {\n console.log(\"输入框内容改变:\", value);\n },\n placeholder: \"请输入内容\",\n },\n {\n className: \"panel-input-password\",\n text: \"input-password\",\n type: \"input\",\n attributes: [],\n getValue() {\n return \"123456\";\n },\n callback(event, value) {\n console.log(\"密码输入框内容改变:\", value);\n },\n isPassword: true,\n placeholder: \"请输入密码\",\n },\n {\n className: \"panel-textarea\",\n text: \"textarea\",\n type: \"textarea\",\n attributes: [],\n getValue() {\n return \"50\";\n },\n callback(event, value) {\n console.log(\"textarea输入框内容改变:\", value);\n },\n placeholder: \"请输入内容\",\n },\n {\n className: \"panel-select\",\n text: \"select\",\n type: \"select\",\n attributes: [],\n getValue() {\n return 50;\n },\n callback(event, isSelectedValue, isSelectedText) {\n console.log(`select当前选项:${isSelectedValue},当前选项文本:${isSelectedText}`);\n },\n data: [\n {\n value: \"all\",\n text: \"所有\",\n },\n {\n value: \"text\",\n text: \"文本\",\n },\n {\n value: \"html\",\n text: \"超文本\",\n },\n ],\n },\n {\n className: \"panel-select-multiple\",\n type: \"select-multiple\",\n text: \"select-multiple\",\n attributes: [],\n placeholder: \"请至少选择一个选项\",\n getValue() {\n return [\"select-1\", \"select-2\"];\n },\n callback(selectInfo) {\n console.log(`select值改变,多选信息`, selectInfo);\n },\n clickCallBack(event, isSelectedInfo) {\n console.log(\"点击\", event, isSelectedInfo);\n },\n closeIconClickCallBack(event, data) {\n console.log(\"点击关闭图标的事件\", data);\n },\n data: [\n {\n value: \"select-1\",\n text: \"单选1\",\n },\n {\n value: \"select-2\",\n text: \"单选2\",\n },\n {\n value: \"select-3\",\n text: \"单选3\",\n },\n {\n value: \"select-4\",\n text: \"单选4\",\n },\n {\n value: \"select-5\",\n text: \"单选5\",\n },\n ],\n },\n {\n type: \"forms\",\n text: \"deep菜单\",\n forms: [\n {\n type: \"deepMenu\",\n className: \"panel-deepMenu\",\n text: \"deepMenu\",\n description: \"二级菜单\",\n rightText: \"自定义配置\",\n arrowRightIcon: true,\n clickCallBack(event, formConfig) {\n console.log(\"进入子配置\", event, formConfig);\n },\n forms: [\n {\n className: \"forms-1\",\n text: \"区域设置\",\n type: \"forms\",\n attributes: [],\n forms: [\n {\n className: \"panel-switch\",\n text: \"switch\",\n type: \"switch\",\n attributes: [],\n getValue() {\n return true;\n },\n callback(event, value) {\n console.log(\"按钮开启状态:\", value);\n },\n },\n {\n className: \"panel-slider\",\n text: \"slider\",\n type: \"slider\",\n attributes: [],\n getValue() {\n return 50;\n },\n callback(event, value) {\n console.log(\"滑块当前数值:\", value);\n },\n min: 1,\n max: 100,\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"eleme\",\n buttonIconIsLoading: true,\n buttonType: \"warning\",\n buttonText: \"warning按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"chromeFilled\",\n buttonIconIsLoading: true,\n buttonType: \"danger\",\n buttonText: \"danger按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"upload\",\n buttonIconIsLoading: false,\n buttonType: \"info\",\n buttonText: \"info按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n btn: {\n close: {\n enable: true,\n callback(event) {\n event.close();\n },\n },\n },\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n class: \"\",\n mobileClassName: \"pops-panel-is-mobile\",\n isMobile: false,\n only: false,\n width: \"700px\",\n height: \"500px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","export const PopsMathFloatUtils = {\n /**\n * 判断数字是否是浮点数\n * @param num\n */\n isFloat(num) {\n return Number(num) === num && num % 1 !== 0;\n },\n /**\n * 浮点数加法\n * @param number1\n * @param number2\n */\n add(number1, number2) {\n let number1length, number2length, powValue;\n try {\n number1length = number1.toString().split(\".\")[1].length;\n }\n catch (error) {\n number1length = 0;\n }\n try {\n number2length = number2.toString().split(\".\")[1].length;\n }\n catch (error) {\n number2length = 0;\n }\n powValue = Math.pow(10, Math.max(number1length, number2length));\n return Math.round(number1 * powValue + number2 * powValue) / powValue;\n },\n /**\n * 减法\n * @param number1\n * @param number2\n */\n sub(number1, number2) {\n let number1length, number2length, powValue;\n try {\n number1length = number1.toString().split(\".\")[1].length;\n }\n catch (error) {\n number1length = 0;\n }\n try {\n number2length = number2.toString().split(\".\")[1].length;\n }\n catch (error) {\n number2length = 0;\n }\n powValue = Math.pow(10, Math.max(number1length, number2length));\n let fixedValue = number1length >= number2length ? number1length : number2length;\n return (Math.round(number1 * powValue - number2 * powValue) / powValue).toFixed(fixedValue);\n },\n /**\n * 除法\n * @param number1\n * @param number2\n */\n division(number1, number2) {\n let number1length, number2length, number1ReplaceValue, number2ReplaceValue;\n try {\n number1length = number1.toString().split(\".\")[1].length;\n }\n catch (error) {\n number1length = 0;\n }\n try {\n number2length = number2.toString().split(\".\")[1].length;\n }\n catch (error) {\n number2length = 0;\n }\n number1ReplaceValue = Number(number1.toString().replace(\".\", \"\"));\n number2ReplaceValue = Number(number2.toString().replace(\".\", \"\"));\n return ((number1ReplaceValue / number2ReplaceValue) *\n Math.pow(10, number2length - number1length));\n },\n};\n","import { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsMathFloatUtils } from \"../../utils/PopsMathUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nexport const PanelHandleContentDetails = () => {\n return {\n /**\n * 左侧的ul容器\n */\n asideULElement: null,\n /**\n * 右侧主内容的顶部文字ul容器\n */\n sectionContainerHeaderULElement: null,\n /**\n * 右侧主内容的ul容器\n */\n sectionContainerULElement: null,\n /**\n * 元素\n */\n $el: {\n /** 内容 */\n $content: null,\n /** 左侧容器 */\n $contentAside: null,\n /** 右侧容器 */\n $contentSectionContainer: null,\n },\n /**\n * 初始化\n * @param details\n */\n init(details) {\n // @ts-ignore\n this.$el = null;\n this.$el = {\n ...details.$el,\n };\n this.asideULElement =\n this.$el.$contentAside.querySelector(\"ul\");\n this.sectionContainerHeaderULElement =\n this.$el.$contentSectionContainer.querySelectorAll(\"ul\")[0];\n this.sectionContainerULElement =\n this.$el.$contentSectionContainer.querySelectorAll(\"ul\")[1];\n /**\n * 默认点击的左侧容器项\n */\n let $asideDefaultItemElement = null;\n /** 是否滚动到默认位置(第一个项) */\n let isScrollToDefaultView = false;\n details.config.content.forEach((asideItemConfig) => {\n let $asideLiElement = this.createAsideItem(asideItemConfig);\n this.setAsideItemClickEvent($asideLiElement, asideItemConfig);\n this.asideULElement.appendChild($asideLiElement);\n if ($asideDefaultItemElement == null) {\n let flag = false;\n if (typeof asideItemConfig.isDefault === \"function\") {\n flag = Boolean(asideItemConfig.isDefault());\n }\n else {\n flag = Boolean(asideItemConfig.isDefault);\n }\n if (flag) {\n $asideDefaultItemElement = $asideLiElement;\n isScrollToDefaultView = Boolean(asideItemConfig.scrollToDefaultView);\n }\n }\n if (typeof asideItemConfig.afterRender === \"function\") {\n // 执行渲染完毕的回调\n asideItemConfig.afterRender({\n asideConfig: asideItemConfig,\n $asideLiElement: $asideLiElement,\n });\n }\n });\n /* 点击左侧列表 */\n if ($asideDefaultItemElement == null &&\n this.asideULElement.children.length) {\n /* 默认第一个 */\n $asideDefaultItemElement = this.asideULElement\n .children[0];\n }\n if ($asideDefaultItemElement) {\n /* 点击选择的那一项 */\n $asideDefaultItemElement.click();\n if (isScrollToDefaultView) {\n $asideDefaultItemElement?.scrollIntoView();\n }\n }\n else {\n console.error(\"pops.panel:左侧容器没有项\");\n }\n },\n /**\n * 清空container容器的元素\n */\n clearContainer() {\n this.sectionContainerHeaderULElement.innerHTML = \"\";\n this.sectionContainerULElement.innerHTML = \"\";\n this.$el.$content\n ?.querySelectorAll(\"section.pops-panel-deepMenu-container\")\n .forEach((ele) => ele.remove());\n },\n /**\n * 清空左侧容器已访问记录\n */\n clearAsideItemIsVisited() {\n this.$el.$contentAside\n .querySelectorAll(\".pops-is-visited\")\n .forEach((element) => {\n popsDOMUtils.removeClassName(element, \"pops-is-visited\");\n });\n },\n /**\n * 设置左侧容器已访问记录\n * @param element\n */\n setAsideItemIsVisited(element) {\n popsDOMUtils.addClassName(element, \"pops-is-visited\");\n },\n /**\n * 为元素添加自定义属性\n * @param element\n * @param attributes\n */\n setElementAttributes(element, attributes) {\n if (attributes == null) {\n return;\n }\n if (Array.isArray(attributes)) {\n attributes.forEach((attrObject) => {\n this.setElementAttributes(element, attrObject);\n });\n }\n else {\n Object.keys(attributes).forEach((attributeName) => {\n element.setAttribute(attributeName, attributes[attributeName]);\n });\n }\n },\n /**\n * 为元素设置(自定义)属性\n * @param element\n * @param props\n */\n setElementProps(element, props) {\n if (props == null) {\n return;\n }\n Object.keys(props).forEach((propName) => {\n Reflect.set(element, propName, props[propName]);\n });\n },\n /**\n * 为元素设置classname\n * @param element\n * @param className\n */\n setElementClassName(element, className) {\n if (className == null) {\n return;\n }\n if (typeof className === \"function\") {\n className = className();\n }\n if (typeof className === \"string\") {\n let splitClassName = className.split(\" \");\n splitClassName.forEach((classNameStr) => {\n element.classList.add(classNameStr);\n });\n }\n else if (Array.isArray(className)) {\n className.forEach((classNameStr) => {\n this.setElementClassName(element, classNameStr);\n });\n }\n },\n /**\n * 创建左侧容器元素<li>\n * @param asideConfig\n */\n createAsideItem(asideConfig) {\n let liElement = document.createElement(\"li\");\n liElement.id = asideConfig.id;\n liElement[\"__forms__\"] = asideConfig.forms;\n liElement.innerHTML = asideConfig.title;\n /* 处理className */\n this.setElementClassName(liElement, asideConfig.className);\n this.setElementAttributes(liElement, asideConfig.attributes);\n this.setElementProps(liElement, asideConfig.props);\n return liElement;\n },\n /**\n * 创建中间容器的元素<li>\n * type ==> switch\n * @param formConfig\n */\n createSectionContainerItem_switch(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-switch\">\r\n\t\t\t\t<input class=\"pops-panel-switch__input\" type=\"checkbox\">\r\n\t\t\t\t<span class=\"pops-panel-switch__core\">\r\n\t\t\t\t\t<div class=\"pops-panel-switch__action\">\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</span>\r\n\t\t\t</div>`;\n const PopsPanelSwitch = {\n [Symbol.toStringTag]: \"PopsPanelSwitch\",\n $data: {\n value: Boolean(formConfig.getValue()),\n },\n $ele: {\n switch: liElement.querySelector(\".pops-panel-switch\"),\n input: liElement.querySelector(\".pops-panel-switch__input\"),\n core: liElement.querySelector(\".pops-panel-switch__core\"),\n },\n init() {\n this.setStatus(this.$data.value);\n if (formConfig.disabled) {\n this.disable();\n }\n this.setClickEvent();\n },\n setClickEvent() {\n let that = this;\n popsDOMUtils.on(this.$ele.core, \"click\", void 0, function (event) {\n if (that.$ele.input.disabled ||\n that.$ele.switch.hasAttribute(\"data-disabled\")) {\n return;\n }\n that.$data.value = that.getStatus();\n that.setStatus(that.$data.value);\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event, that.$data.value);\n }\n });\n },\n /**\n * 设置状态\n */\n setStatus(isChecked = false) {\n isChecked = Boolean(isChecked);\n this.$ele.input.checked = isChecked;\n if (isChecked) {\n popsDOMUtils.addClassName(this.$ele.switch, \"pops-panel-switch-is-checked\");\n }\n else {\n popsDOMUtils.removeClassName(this.$ele.switch, \"pops-panel-switch-is-checked\");\n }\n },\n /**\n * 根据className来获取逆反值\n */\n getStatus() {\n let checkedValue = false;\n if (!popsDOMUtils.containsClassName(this.$ele.switch, \"pops-panel-switch-is-checked\")) {\n checkedValue = true;\n }\n return checkedValue;\n },\n /**\n * 禁用复选框\n */\n disable() {\n this.$ele.input.disabled = true;\n this.$ele.switch.setAttribute(\"data-disabled\", \"true\");\n },\n /**\n * 启用复选框\n */\n notDisable() {\n this.$ele.input.disabled = false;\n this.$ele.switch.removeAttribute(\"data-disabled\");\n },\n };\n PopsPanelSwitch.init();\n liElement[\"data-switch\"] = PopsPanelSwitch;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> slider\n * @param formConfig\n */\n createSectionContainerItem_slider(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-slider\">\r\n\t\t\t\t<input type=\"range\" min=\"${formConfig.min}\" max=\"${formConfig.max}\">\r\n\t\t\t</div>`;\n let rangeInputElement = liElement.querySelector(\".pops-panel-slider input[type=range]\");\n if (formConfig.step) {\n rangeInputElement.setAttribute(\"step\", formConfig.step.toString());\n }\n rangeInputElement.value = formConfig.getValue().toString();\n /**\n * 获取提示的内容\n * @param value\n */\n let getToolTipContent = function (value) {\n if (typeof formConfig.getToolTipContent === \"function\") {\n return formConfig.getToolTipContent(value);\n }\n else {\n return value;\n }\n };\n let tooltip = pops.tooltip({\n target: rangeInputElement.parentElement,\n content: getToolTipContent(rangeInputElement.value),\n zIndex: 1000000,\n className: \"github-tooltip\",\n showBeforeCallBack() {\n tooltip.toolTipNode.querySelector(\"div\").innerText =\n getToolTipContent(rangeInputElement.value);\n },\n alwaysShow: false,\n only: false,\n position: \"top\",\n arrowDistance: 10,\n });\n popsDOMUtils.on(rangeInputElement, [\"input\", \"propertychange\"], void 0, function (event) {\n tooltip.toolTipNode.querySelector(\"div\").innerText =\n getToolTipContent(rangeInputElement.value);\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event, event.target.value);\n }\n });\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> slider\n * @param formConfig\n */\n createSectionContainerItem_slider_new(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\" style=\"flex: 1;\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-slider pops-slider-width\">\r\n\t\t\t\t<div class=\"pops-slider__runway\">\r\n\t\t\t\t\t<div class=\"pops-slider__bar\" style=\"width: 0%; left: 0%\"></div>\r\n\t\t\t\t\t<div class=\"pops-slider__button-wrapper\" style=\"left: 0%\">\r\n\t\t\t\t\t\t<div class=\"pops-slider__button\"></div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>`;\n const PopsPanelSlider = {\n [Symbol.toStringTag]: \"PopsPanelSlider\",\n /**\n * 值\n */\n value: formConfig.getValue(),\n /**\n * 最小值\n */\n min: formConfig.min,\n /**\n * 最大值\n */\n max: formConfig.max,\n /**\n * 间隔\n */\n step: formConfig.step || 1,\n $data: {\n /**\n * 是否正在移动\n */\n isMove: false,\n /**\n * 是否已初始化已拖拽的距离\n */\n isInitDragPosition: false,\n /**\n * 是否正在检测是否停止拖拽\n */\n isCheckingStopDragMove: false,\n /**\n * 总宽度(px)\n */\n totalWidth: 0,\n /**\n * 每一块的间隔(px)\n */\n stepPx: 0,\n /**\n * 已拖拽的距离(px)\n */\n dragWidth: 0,\n /**\n * 已拖拽的百分比\n */\n dragPercent: 0,\n /**\n * 每一次块的信息\n * 例如:当最小值是2,最大值是10,step为2\n * 那么生成[2,4,6,8,10] 共计5个\n * 又获取到当前滑块总长度是200px\n * 那么生成映射\n * 2 => 0px~40px\n * 4 => 40px~80px\n * 6 => 80px~120px\n * 8 => 120px~160px\n * 10 => 160px~200px\n */\n stepBlockMap: new Map(),\n },\n $ele: {\n slider: liElement.querySelector(\".pops-slider\"),\n runAway: liElement.querySelector(\".pops-slider__runway\"),\n bar: liElement.querySelector(\".pops-slider__bar\"),\n buttonWrapper: liElement.querySelector(\".pops-slider__button-wrapper\"),\n button: liElement.querySelector(\".pops-slider__button\"),\n tooltip: null,\n },\n $interval: {\n isCheck: false,\n },\n $tooltip: null,\n init() {\n this.initEleData();\n this.setToolTipEvent();\n this.setPanEvent();\n this.setRunAwayClickEvent();\n this.intervalInit();\n if (formConfig.disabled) {\n this.disableDrag();\n }\n },\n /**\n * 10s内循环获取slider的宽度等信息\n * 获取到了就可以初始化left的值\n * @param {number} [checkStepTime=200] 每次检测的间隔时间\n * @param {number} [maxTime=10000] 最大的检测时间\n */\n intervalInit(checkStepTime = 200, maxTime = 10000) {\n if (this.$interval.isCheck) {\n return;\n }\n this.$interval.isCheck = true;\n let isSuccess = false;\n let oldTotalWidth = this.$data.totalWidth;\n let timer = void 0;\n let interval = setInterval(() => {\n if (isSuccess) {\n this.$interval.isCheck = false;\n clearTimeout(timer);\n clearInterval(interval);\n }\n else {\n this.initTotalWidth();\n if (this.$data.totalWidth !== 0) {\n isSuccess = true;\n if (this.$data.totalWidth !== oldTotalWidth) {\n /* slider的总宽度改变了 */\n if (PopsMathFloatUtils.isFloat(this.step)) {\n this.initFloatStepMap();\n }\n else {\n this.initStepMap();\n }\n this.initSliderPosition();\n }\n }\n }\n }, checkStepTime);\n /* 最长检测时间是10s */\n timer = setTimeout(() => {\n clearInterval(interval);\n }, maxTime);\n },\n /**\n * 把数据添加到元素上\n */\n initEleData() {\n this.$ele.slider.setAttribute(\"data-min\", this.min.toString());\n this.$ele.slider.setAttribute(\"data-max\", this.max.toString());\n this.$ele.slider.setAttribute(\"data-value\", this.value.toString());\n this.$ele.slider.setAttribute(\"data-step\", this.step.toString());\n this.$ele.slider[\"data-min\"] = this.min;\n this.$ele.slider[\"data-max\"] = this.max;\n this.$ele.slider[\"data-value\"] = this.value;\n this.$ele.slider[\"data-step\"] = this.step;\n },\n /**\n * 初始化滑块的总长度的数据(px)\n */\n initTotalWidth() {\n this.$data.totalWidth = popsDOMUtils.width(this.$ele.runAway);\n },\n /**\n * 初始化每一个块的具体数据信息\n */\n initStepMap() {\n let index = 0;\n // 计算出份数\n let blockNums = (this.max - this.min) / this.step;\n // 计算出每一份占据的px\n this.$data.stepPx = this.$data.totalWidth / blockNums;\n let widthPx = 0;\n for (let stepValue = this.min; stepValue <= this.max; stepValue += this.step) {\n let value = this.formatValue(stepValue);\n let info = {};\n if (value === this.min) {\n /* 起始 */\n info = {\n value: value,\n px: 0,\n pxLeft: 0,\n pxRight: this.$data.stepPx / 2,\n percent: 0,\n };\n }\n else {\n info = {\n value: value,\n px: widthPx,\n pxLeft: widthPx - this.$data.stepPx / 2,\n pxRight: widthPx + this.$data.stepPx / 2,\n percent: widthPx / this.$data.totalWidth,\n };\n //if (value === this.max) {\n // info[\"pxLeft\"] = this.$data.stepBlockMap.get(\n // index - 1\n // ).pxRight;\n // info[\"pxRight\"] = this.$data.totalWidth;\n //}\n }\n this.$data.stepBlockMap.set(index, info);\n index++;\n widthPx += this.$data.stepPx;\n }\n },\n /**\n * 初始化每一个块的具体数据信息(浮点)\n */\n initFloatStepMap() {\n let index = 0;\n // 计算出份数\n let blockNums = (this.max - this.min) / this.step;\n // 计算出每一份占据的px\n this.$data.stepPx = this.$data.totalWidth / blockNums;\n let widthPx = 0;\n for (let stepValue = this.min; stepValue <= this.max; stepValue = PopsMathFloatUtils.add(stepValue, this.step)) {\n let value = this.formatValue(stepValue);\n let info = {};\n if (value === this.min) {\n /* 起始 */\n info = {\n value: value,\n px: 0,\n pxLeft: 0,\n pxRight: this.$data.stepPx / 2,\n percent: 0,\n };\n }\n else {\n info = {\n value: value,\n px: widthPx,\n pxLeft: widthPx - this.$data.stepPx / 2,\n pxRight: widthPx + this.$data.stepPx / 2,\n percent: widthPx / this.$data.totalWidth,\n };\n //if (value === this.max) {\n // info[\"pxLeft\"] = this.$data.stepBlockMap.get(\n // index - 1\n // ).pxRight;\n // info[\"pxRight\"] = this.$data.totalWidth;\n //}\n }\n this.$data.stepBlockMap.set(index, info);\n index++;\n widthPx += this.$data.stepPx;\n }\n },\n /**\n * 初始化slider的默认起始left的百分比值\n */\n initSliderPosition() {\n /* 设置起始默认style的left值 */\n let percent = 0;\n for (const [, stepBlockInfo] of this.$data.stepBlockMap.entries()) {\n /* 判断值是否和区域内的值相等 */\n if (stepBlockInfo.value == this.value) {\n percent = stepBlockInfo.percent;\n this.$data.dragWidth = stepBlockInfo.px;\n break;\n }\n }\n percent = this.formatValue(percent * 100);\n this.setSliderPosition(percent);\n },\n /**\n * 判断数字是否是浮点数\n * @param num\n * @returns\n */\n isFloat(num) {\n return Number(num) === num && num % 1 !== 0;\n },\n /**\n * 值改变的回调\n * @param event\n * @param value\n */\n valueChangeCallBack(event, value) {\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event, value);\n }\n },\n /**\n * 根据拖拽距离获取滑块应该在的区间和值\n */\n getDragInfo(dragX) {\n let result = this.$data.stepBlockMap.get(0);\n for (const [, stepBlockInfo] of this.$data.stepBlockMap.entries()) {\n if (stepBlockInfo.pxLeft <= dragX &&\n dragX < stepBlockInfo.pxRight) {\n result = stepBlockInfo;\n break;\n }\n }\n return result;\n },\n /**\n * 获取滑块的当前脱拖拽占据的百分比\n * @param {number} dragWidth\n */\n getSliderPositonPercent(dragWidth) {\n return dragWidth / this.$data.totalWidth;\n },\n /**\n * 根据step格式化value\n * @param num\n */\n formatValue(num) {\n if (PopsMathFloatUtils.isFloat(this.step)) {\n num = parseFloat(num.toFixed(2));\n }\n else {\n num = parseInt(num.toString());\n }\n return num;\n },\n /**\n * 设置滑块的位置偏移(left)\n * @param percent 百分比\n */\n setSliderPosition(percent) {\n if (parseInt(percent.toString()) === 1) {\n percent = 1;\n }\n if (percent > 1) {\n percent = percent / 100;\n }\n /* 滑块按钮的偏移 */\n this.$ele.buttonWrapper.style.left = `${percent * 100}%`;\n /* 滑块进度的宽度 */\n this.$ele.bar.style.width = `${percent * 100}%`;\n },\n /**\n * 禁止拖拽\n */\n disableDrag() {\n this.$ele.runAway.classList.add(\"pops-slider-is-disabled\");\n },\n /**\n * 允许拖拽\n */\n allowDrag() {\n this.$ele.runAway.classList.remove(\"pops-slider-is-disabled\");\n },\n /**\n * 判断当前滑块是否被禁用\n */\n isDisabledDrag() {\n return this.$ele.runAway.classList.contains(\"pops-slider-is-disabled\");\n },\n /**\n * 设置进度条点击定位的事件\n */\n setRunAwayClickEvent() {\n popsDOMUtils.on(this.$ele.runAway, \"click\", void 0, (event) => {\n if (event.target !== this.$ele.runAway &&\n event.target !== this.$ele.bar) {\n return;\n }\n let clickX = parseFloat(event.offsetX);\n this.dragStartCallBack();\n this.dragMoveCallBack(event, clickX, this.value);\n this.dragEndCallBack(clickX);\n }, {\n capture: false,\n });\n },\n /**\n * 拖拽开始的回调,如果返回false,禁止拖拽\n */\n dragStartCallBack() {\n if (!this.$data.isMove) {\n if (this.isDisabledDrag()) {\n return false;\n }\n this.$data.isMove = true;\n }\n return true;\n },\n /**\n * 拖拽中的回调\n * @param event 事件\n * @param dragX 当前拖拽的距离\n * @param oldValue 旧的值\n */\n dragMoveCallBack(event, dragX, oldValue) {\n let dragPercent = 0;\n if (dragX <= 0) {\n dragPercent = 0;\n this.value = this.min;\n }\n else if (dragX >= this.$data.totalWidth) {\n dragPercent = 1;\n this.value = this.max;\n }\n else {\n const dragInfo = this.getDragInfo(dragX);\n dragPercent = dragInfo.percent;\n this.value = this.formatValue(dragInfo.value);\n }\n this.$data.dragPercent = dragPercent;\n this.setSliderPosition(this.$data.dragPercent);\n this.showToolTip();\n if (oldValue !== this.value) {\n this.valueChangeCallBack(event, this.value);\n }\n },\n /**\n * 拖拽结束的回调\n */\n dragEndCallBack(dragX) {\n this.$data.isMove = false;\n if (dragX <= 0) {\n this.$data.dragWidth = 0;\n }\n else if (dragX >= this.$data.totalWidth) {\n this.$data.dragWidth = this.$data.totalWidth;\n }\n else {\n this.$data.dragWidth = dragX;\n }\n this.closeToolTip();\n },\n /**\n * 设置点击拖拽事件\n */\n setPanEvent() {\n const AnyTouch = popsUtils.AnyTouch();\n this.$tooltip = new AnyTouch(this.$ele.button, {\n preventEvent() {\n return false;\n },\n });\n /**\n * 当前的拖拽的距离px\n */\n let currentDragX = 0;\n /* 监听拖拽 */\n this.$tooltip.on(\"at:move\", (event) => {\n if (!this.dragStartCallBack()) {\n return;\n }\n let oldValue = this.value;\n const runAwayRect = this.$ele.runAway.getBoundingClientRect();\n let displacementX = event.x - (runAwayRect.left + globalThis.screenX);\n if (displacementX <= 0) {\n displacementX = 0;\n }\n else if (displacementX >= runAwayRect.width) {\n displacementX = runAwayRect.width;\n }\n currentDragX = displacementX;\n /* 拖拽移动 */\n this.dragMoveCallBack(event, currentDragX, oldValue);\n });\n /* 监听触点离开,处理某些情况下,拖拽松开,但是未触发pan事件,可以通过设置这个来关闭tooltip */\n this.$tooltip.on(\"at:end\", (event) => {\n this.dragEndCallBack(currentDragX);\n });\n },\n /**\n * 显示悬浮的\n */\n showToolTip() {\n this.$ele.tooltip.show();\n },\n /**\n * 关闭悬浮的\n */\n closeToolTip() {\n this.$ele.tooltip.close();\n },\n /**\n * 检测在1000ms内,是否停止了拖拽\n */\n checkStopDragMove() {\n if (this.$data.isCheckingStopDragMove) {\n return;\n }\n this.$data.isCheckingStopDragMove = true;\n let interval = setInterval(() => {\n if (!this.$data.isMove) {\n this.$data.isCheckingStopDragMove = false;\n this.closeToolTip();\n clearInterval(interval);\n }\n }, 200);\n setTimeout(() => {\n this.$data.isCheckingStopDragMove = false;\n clearInterval(interval);\n }, 2000);\n },\n /**\n * 设置拖拽按钮的悬浮事件\n */\n setToolTipEvent() {\n /**\n * 获取提示的内容\n */\n function getToolTipContent() {\n if (typeof formConfig.getToolTipContent === \"function\") {\n return formConfig.getToolTipContent(PopsPanelSlider.value);\n }\n else {\n return PopsPanelSlider.value;\n }\n }\n let tooltipContent = null;\n this.$ele.tooltip = pops.tooltip({\n target: this.$ele.button,\n content: getToolTipContent,\n zIndex: 1000000,\n className: \"github-tooltip\",\n only: false,\n eventOption: {\n capture: true,\n passive: true,\n },\n showBeforeCallBack: () => {\n this.intervalInit();\n },\n showAfterCallBack: (toolTipNode) => {\n tooltipContent.innerText = getToolTipContent();\n },\n closeBeforeCallBack: () => {\n if (this.$data.isMove) {\n this.checkStopDragMove();\n return false;\n }\n else {\n }\n },\n alwaysShow: false,\n // only: false,\n position: \"top\",\n arrowDistance: 10,\n });\n tooltipContent =\n this.$ele.tooltip.toolTipNode.querySelector(\"div\");\n },\n };\n PopsPanelSlider.init();\n liElement[\"data-slider\"] = PopsPanelSlider;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> input\n * @param formConfig\n */\n createSectionContainerItem_input(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n let inputType = \"text\";\n if (formConfig.isPassword) {\n inputType = \"password\";\n }\n else if (formConfig.isNumber) {\n inputType = \"number\";\n }\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-input\">\r\n\t\t\t\t<input type=\"${inputType}\" placeholder=\"${formConfig.placeholder}\">\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelInput = {\n [Symbol.toStringTag]: \"PopsPanelInput\",\n $ele: {\n panelInput: liElement.querySelector(\".pops-panel-input\"),\n input: liElement.querySelector(\"input\"),\n inputSpanIcon: document.createElement(\"span\"),\n inputSpanIconInner: null,\n icon: null,\n },\n $data: {\n value: formConfig.getValue(),\n isView: false,\n },\n init() {\n this.initEle();\n this.setInputValue(this.$data.value);\n /* 如果是密码框,放进图标 */\n if (formConfig.isPassword) {\n this.setCircleIcon(pops.config.iconSVG.view);\n this.setCircleIconClickEvent();\n }\n else {\n /* 先判断预设值是否为空,不为空添加清空图标按钮 */\n if (this.$ele.input.value != \"\") {\n this.setCircleIcon(pops.config.iconSVG.circleClose);\n this.setCircleIconClickEvent();\n }\n }\n this.setInputChangeEvent();\n if (formConfig.disabled) {\n this.disable();\n }\n if (typeof formConfig.handlerCallBack === \"function\") {\n formConfig.handlerCallBack(liElement, this.$ele.input);\n }\n },\n /**\n * 初始化$ele的配置\n */\n initEle() {\n this.$ele.input.parentElement.insertBefore(this.$ele.inputSpanIcon, this.$ele.input.nextSibling);\n this.$ele.inputSpanIcon.className = \"pops-panel-input__suffix\";\n this.$ele.inputSpanIcon.innerHTML = `\r\n\t\t\t\t\t<span class=\"pops-panel-input__suffix-inner\">\r\n\t\t\t\t\t\t<i class=\"pops-panel-icon\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t`;\n this.$ele.inputSpanIconInner =\n this.$ele.inputSpanIcon.querySelector(\".pops-panel-input__suffix-inner\");\n this.$ele.icon =\n this.$ele.inputSpanIcon.querySelector(\".pops-panel-icon\");\n },\n /**\n * 禁用\n */\n disable() {\n this.$ele.input.disabled = true;\n this.$ele.panelInput.classList.add(\"pops-input-disabled\");\n },\n /**\n * 取消禁用\n */\n notDisable() {\n this.$ele.input.disabled = false;\n this.$ele.panelInput.classList.remove(\"pops-input-disabled\");\n },\n /**\n * 判断是否已被禁用\n */\n isDisabled() {\n return this.$ele.input.disabled;\n },\n /**\n * 设置输入框内容\n * @param {string} [value=\"\"] 值\n */\n setInputValue(value = \"\") {\n this.$ele.input.value = value;\n },\n /**\n * 设置input元素的type\n * @param {string} [typeValue=\"text\"] type值\n */\n setInputType(typeValue = \"text\") {\n this.$ele.input.setAttribute(\"type\", typeValue);\n },\n /**\n * 删除图标按钮\n */\n removeCircleIcon() {\n this.$ele.icon.innerHTML = \"\";\n },\n /**\n * 添加清空图标按钮\n * @param {string} [svgHTML=pops.config.iconSVG.circleClose] svg图标,默认为清空的图标\n */\n setCircleIcon(svgHTML = pops.config.iconSVG.circleClose) {\n this.$ele.icon.innerHTML = svgHTML;\n },\n /**\n * 添加图标按钮的点击事件\n */\n setCircleIconClickEvent() {\n popsDOMUtils.on(this.$ele.icon, \"click\", void 0, () => {\n if (this.isDisabled()) {\n return;\n }\n /* 删除图标 */\n this.removeCircleIcon();\n if (formConfig.isPassword) {\n /* 密码输入框 */\n if (this.$data.isView) {\n /* 当前可见 => 点击改变为隐藏 */\n this.$data.isView = false;\n /* 显示输入框内容,且更换图标为隐藏图标 */\n this.setInputType(\"text\");\n this.setCircleIcon(pops.config.iconSVG.hide);\n }\n else {\n /* 当前不可见 => 点击改变为显示 */\n this.$data.isView = true;\n /* 隐藏输入框内容,且更换图标为显示图标 */\n this.setInputType(\"password\");\n this.setCircleIcon(pops.config.iconSVG.view);\n }\n }\n else {\n /* 普通输入框 */\n /* 清空内容 */\n this.setInputValue(\"\");\n /* 获取焦点 */\n this.$ele.input.focus();\n /* 触发内容改变事件 */\n this.$ele.input.dispatchEvent(new Event(\"input\"));\n }\n });\n },\n /**\n * 监听输入框内容改变\n */\n setInputChangeEvent() {\n popsDOMUtils.on(this.$ele.input, [\"input\", \"propertychange\"], void 0, (event) => {\n this.$data.value = this.$ele.input.value;\n if (!formConfig.isPassword) {\n /* 不是密码框 */\n if (this.$ele.input.value !== \"\" &&\n this.$ele.icon.innerHTML === \"\") {\n /* 不为空,显示清空图标 */\n this.setCircleIcon(pops.config.iconSVG.circleClose);\n this.setCircleIconClickEvent();\n }\n else if (this.$ele.input.value === \"\") {\n this.removeCircleIcon();\n }\n }\n if (typeof formConfig.callback === \"function\") {\n if (formConfig.isNumber) {\n formConfig.callback(event, this.$ele.input.value, this.$ele.input.valueAsNumber);\n }\n else {\n formConfig.callback(event, this.$ele.input.value);\n }\n }\n });\n },\n };\n PopsPanelInput.init();\n liElement[\"data-input\"] = PopsPanelInput;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> textarea\n * @param formConfig\n */\n createSectionContainerItem_textarea(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-textarea\">\r\n\t\t\t\t<textarea placeholder=\"${formConfig.placeholder ?? \"\"}\">\r\n\t\t\t</textarea>\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelTextArea = {\n [Symbol.toStringTag]: \"PopsPanelTextArea\",\n $ele: {\n panelTextarea: liElement.querySelector(\".pops-panel-textarea\"),\n textarea: liElement.querySelector(\".pops-panel-textarea textarea\"),\n },\n $data: {\n value: formConfig.getValue(),\n },\n init() {\n this.setValue(this.$data.value);\n this.setChangeEvent();\n if (formConfig.disabled) {\n this.disable();\n }\n },\n disable() {\n this.$ele.textarea.setAttribute(\"disabled\", \"true\");\n this.$ele.panelTextarea.classList.add(\"pops-panel-textarea-disable\");\n },\n notDisable() {\n this.$ele.textarea.removeAttribute(\"disabled\");\n this.$ele.panelTextarea.classList.remove(\"pops-panel-textarea-disable\");\n },\n isDisabled() {\n return (this.$ele.textarea.hasAttribute(\"disabled\") ||\n this.$ele.panelTextarea.classList.contains(\"pops-panel-textarea-disable\"));\n },\n setValue(value) {\n this.$ele.textarea.value = value;\n },\n /**\n * 监听选择内容改变\n */\n setChangeEvent() {\n popsDOMUtils.on(this.$ele.textarea, [\"input\", \"propertychange\"], void 0, (event) => {\n this.$data.value = event.target.value;\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event, event.target.value);\n }\n });\n },\n };\n PopsPanelTextArea.init();\n liElement[\"data-textarea\"] = PopsPanelTextArea;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> select\n * @param formConfig\n */\n createSectionContainerItem_select(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-select\">\r\n\t\t\t\t<select></select>\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelSelect = {\n [Symbol.toStringTag]: \"PopsPanelSelect\",\n $ele: {\n panelSelect: liElement.querySelector(\".pops-panel-select\"),\n select: liElement.querySelector(\".pops-panel-select select\"),\n },\n $eleKey: {\n disable: \"__disable__\",\n value: \"__value__\",\n },\n $data: {\n defaultValue: formConfig.getValue(),\n },\n init() {\n this.initOption();\n this.setChangeEvent();\n this.setClickEvent();\n if (formConfig.disabled) {\n this.disable();\n }\n },\n /**\n * 给option元素设置属性\n * @param $ele\n * @param key\n * @param value\n */\n setNodeValue($ele, key, value) {\n Reflect.set($ele, key, value);\n },\n /**\n * 获取option元素上设置的属性\n * @param $ele\n * @param value\n * @param key\n */\n getNodeValue($ele, key) {\n return Reflect.get($ele, key);\n },\n disable() {\n this.$ele.select.setAttribute(\"disabled\", \"true\");\n this.$ele.panelSelect.classList.add(\"pops-panel-select-disable\");\n },\n notDisable() {\n this.$ele.select.removeAttribute(\"disabled\");\n this.$ele.panelSelect.classList.remove(\"pops-panel-select-disable\");\n },\n isDisabled() {\n return (this.$ele.select.hasAttribute(\"disabled\") ||\n this.$ele.panelSelect.classList.contains(\"pops-panel-select-disable\"));\n },\n initOption() {\n formConfig.data.forEach((dataItem) => {\n // 初始化默认选中\n let optionElement = document.createElement(\"option\");\n this.setNodeValue(optionElement, this.$eleKey.value, dataItem.value);\n this.setNodeValue(optionElement, this.$eleKey.disable, dataItem.disable);\n if (dataItem.value === this.$data.defaultValue) {\n optionElement.setAttribute(\"selected\", \"true\");\n }\n optionElement.innerText = dataItem.text;\n this.$ele.select.appendChild(optionElement);\n });\n },\n /** 检测所有option并设置禁用状态 */\n setSelectOptionsDisableStatus() {\n if (this.$ele.select.options && this.$ele.select.options.length) {\n Array.from(this.$ele.select.options).forEach((optionItem) => {\n this.setOptionDisableStatus(optionItem);\n });\n }\n },\n /** 设置禁用状态 */\n setOptionDisableStatus(optionElement) {\n let disable = false;\n let optionDisableAttr = this.getNodeValue(optionElement, this.$eleKey.disable);\n if (optionDisableAttr === \"function\") {\n let value = this.getNodeValue(optionElement, this.$eleKey.value);\n disable = Boolean(optionDisableAttr(value));\n }\n if (disable) {\n optionElement.setAttribute(\"disabled\", \"true\");\n }\n else {\n optionElement.removeAttribute(\"disabled\");\n }\n },\n /** 获取option上的信息 */\n getSelectOptionInfo($option) {\n let optionValue = this.getNodeValue($option, this.$eleKey.value);\n let optionText = $option.innerText || $option.textContent;\n return {\n value: optionValue,\n text: optionText,\n $option: $option,\n };\n },\n /**\n * 监听选择内容改变\n */\n setChangeEvent() {\n popsDOMUtils.on(this.$ele.select, \"change\", void 0, (event) => {\n this.setSelectOptionsDisableStatus();\n if (typeof formConfig.callback === \"function\") {\n let $isSelectedElement = event.target[event.target.selectedIndex];\n let selectInfo = this.getSelectOptionInfo($isSelectedElement);\n formConfig.callback(event, selectInfo.value, selectInfo.text);\n }\n });\n },\n /**\n * 监听点击事件\n */\n setClickEvent() {\n popsDOMUtils.on(this.$ele.select, \"click\", void 0, (event) => {\n this.setSelectOptionsDisableStatus();\n if (typeof formConfig.clickCallBack === \"function\") {\n formConfig.clickCallBack(event, this.$ele.select);\n }\n });\n },\n };\n PopsPanelSelect.init();\n Reflect.set(liElement, \"data-select\", PopsPanelSelect);\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> select-multiple\n * @param formConfig\n */\n createSectionContainerItem_select_multiple_new(formConfig) {\n let liElement = document.createElement(\"li\");\n Reflect.set(liElement, \"__formConfig__\", formConfig);\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-select-multiple\">\r\n\t\t\t\t<div class=\"el-select__wrapper\">\r\n\t\t\t\t\t<div class=\"el-select__selection\">\r\n\t\t\t\t\t\t<!-- 这个是用于手动输入的,这里暂不适配 -->\r\n\t\t\t\t\t\t<div class=\"el-select__selected-item el-select__input-wrapper\">\r\n\t\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<!-- 这个是placeholder -->\r\n\t\t\t\t\t\t<div class=\"el-select__selected-item el-select__placeholder\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<!-- 下拉箭头 -->\r\n\t\t\t\t\t<div class=\"el-select__suffix\">\r\n\t\t\t\t\t\t<i class=\"el-icon el-select__caret el-select__icon\">\r\n\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 1024\">\r\n\t\t\t\t\t\t\t\t<path fill=\"currentColor\" d=\"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z\"></path>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelSelectMultiple = {\n [Symbol.toStringTag]: \"PopsPanelSelectMultiple\",\n $el: {\n /** 容器 */\n $container: void 0,\n /** 包括的容器 */\n $wrapper: void 0,\n /** 内容区域 */\n $section: void 0,\n /** 手动输入 */\n $selectedInputWrapper: void 0,\n /** 灰色提示语 */\n $selectedPlaceHolderWrapper: void 0,\n /** 下拉箭头区域 */\n $suffix: void 0,\n /** 下拉箭头图标 */\n $suffixIcon: void 0,\n },\n $data: {\n /** 默认值 */\n defaultValue: formConfig.getValue(),\n selectInfo: [],\n },\n /** 初始化 */\n init() {\n this.initDefault();\n this.inintEl();\n this.initPlaceHolder();\n this.updateTagElement();\n this.setSelectContainerClickEvent();\n },\n /** 初始化默认值 */\n initDefault() {\n formConfig.data.forEach((dataItem) => {\n if (this.$data.defaultValue.includes(dataItem.value)) {\n // 初始化选中的配置\n this.$data.selectInfo.push({\n text: dataItem.text,\n value: dataItem.value,\n isHTML: Boolean(dataItem.isHTML),\n disable: dataItem.disable,\n });\n }\n });\n },\n /** 初始化$el变量 */\n inintEl() {\n this.$el.$container = liElement.querySelector(\".pops-panel-select-multiple\");\n this.$el.$wrapper = liElement.querySelector(\".el-select__wrapper\");\n this.$el.$section = liElement.querySelector(\".el-select__selection\");\n this.$el.$selectedInputWrapper = liElement.querySelector(\".el-select__selected-item.el-select__input-wrapper\");\n this.$el.$selectedPlaceHolderWrapper =\n liElement.querySelector(\".el-select__selected-item.el-select__placeholder\");\n this.$el.$suffix =\n liElement.querySelector(\".el-select__suffix\");\n this.$el.$suffixIcon = liElement.querySelector(\".el-select__suffix .el-icon\");\n // 先把手动输入框隐藏\n this.hideInputWrapper();\n },\n /** 初始化提示文字 */\n initPlaceHolder() {\n let placeholder = \"\";\n if (typeof formConfig.placeholder === \"string\") {\n placeholder = formConfig.placeholder;\n }\n else if (typeof formConfig.placeholder === \"function\") {\n let placeholderResult = formConfig.placeholder();\n if (typeof placeholderResult === \"string\") {\n placeholder = placeholderResult;\n }\n }\n let $placeholder = popsDOMUtils.createElement(\"span\", {\n innerText: placeholder,\n });\n this.$el.$selectedPlaceHolderWrapper.appendChild($placeholder);\n },\n /** 初始化tag */\n updateTagElement() {\n // 遍历数据,寻找对应的值\n formConfig.data.forEach((dataItem) => {\n let findValue = this.$data.selectInfo.find((item) => item.value === dataItem.value);\n if (findValue) {\n // 选中的值和获取的所有的值相同\n let selectedInfo = this.createSelectedItem({\n text: dataItem.text,\n isHTML: dataItem.isHTML,\n });\n this.addSelectedItem(selectedInfo.$tag);\n this.setSelectedItemCloseIconClickEvent({\n $tag: selectedInfo.$tag,\n $closeIcon: selectedInfo.$closeIcon,\n value: dataItem.value,\n text: dataItem.text,\n });\n }\n });\n this.checkTagEmpty();\n },\n /**\n * 生成一个tag项\n * @param data 配置\n */\n createSelectedItem(data) {\n const $selectedItem = popsDOMUtils.createElement(\"div\", {\n className: \"el-select__selected-item el-select__choose_tag\",\n innerHTML: /*html*/ `\r\n\t\t\t\t\t\t<span class=\"el-tag is-closable el-tag--info el-tag--default el-tag--light\">\r\n\t\t\t\t\t\t\t<span class=\"el-tag__content\">\r\n\t\t\t\t\t\t\t\t<span class=\"el-select__tags-text\"></span>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<!-- 关闭tag的图标 -->\r\n\t\t\t\t\t\t\t<i class=\"el-icon el-tag__close\">\r\n\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 1024\">\r\n\t\t\t\t\t\t\t\t\t<path fill=\"currentColor\" d=\"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"></path>\r\n\t\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t\t</i>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t`,\n });\n /** 标签 */\n const $tagText = $selectedItem.querySelector(\".el-select__tags-text\");\n /** 关闭图标 */\n const $closeIcon = $selectedItem.querySelector(\".el-icon.el-tag__close\");\n if (data.isHTML) {\n $tagText.innerHTML = data.text;\n }\n else {\n $tagText.innerText = data.text;\n }\n return {\n $tag: $selectedItem,\n $tagText: $tagText,\n $closeIcon: $closeIcon,\n };\n },\n /**\n * 添加选中项元素\n */\n addSelectedItem($ele) {\n // 往前添加\n // 去除前面的空白\n this.setSectionIsNear();\n if (this.$el.$section.contains(this.$el.$selectedInputWrapper)) {\n let $prev = this.$el.$selectedInputWrapper.previousElementSibling;\n if ($prev) {\n // 存在前一个元素,添加到前面的元素的后面\n popsDOMUtils.after($prev, $ele);\n }\n else {\n // 不存在前一个元素,添加到最前面\n popsDOMUtils.before(this.$el.$selectedInputWrapper, $ele);\n }\n }\n else if (this.$el.$section.contains(this.$el.$selectedPlaceHolderWrapper)) {\n let $prev = this.$el.$selectedPlaceHolderWrapper.previousElementSibling;\n if ($prev) {\n // 存在前一个元素,添加到前面的元素的后面\n popsDOMUtils.after($prev, $ele);\n }\n else {\n // 不存在前一个元素,添加到最前面\n popsDOMUtils.before(this.$el.$selectedPlaceHolderWrapper, $ele);\n }\n }\n else {\n this.$el.$section.appendChild($ele);\n }\n // 隐藏元素\n this.hideInputWrapper();\n this.hidePlaceHolderWrapper();\n },\n /** 更新tag信息 */\n updateSelectTagItem() {\n this.$el.$section\n .querySelectorAll(\".el-select__choose_tag\")\n .forEach(($ele) => {\n $ele.remove();\n });\n this.updateTagElement();\n },\n /**\n * 选中的值改变的回调\n * @param currentSelectInfo 当前的选中信息\n */\n selectValueChangeCallBack(currentSelectInfo) {\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(currentSelectInfo || this.$data.selectInfo);\n }\n },\n /** 设置下拉列表的点击事件 */\n setSelectContainerClickEvent() {\n const that = this;\n popsDOMUtils.on(this.$el.$container, \"click\", (event) => {\n /** 弹窗的选中的值 */\n let selectedInfo = [];\n selectedInfo = selectedInfo.concat(that.$data.selectInfo);\n /**\n * 设置项选中\n * @param $ele\n */\n function setItemSelected($ele) {\n $ele.classList.add(\"select-item-is-selected\");\n }\n /**\n * 设置项取消选中\n * @param $ele\n */\n function removeItemSelected($ele) {\n $ele.classList.remove(\"select-item-is-selected\");\n }\n /**\n * 添加选中信息\n */\n function addSelectedInfo($ele) {\n let info = getSelectedInfo($ele);\n let findValue = selectedInfo.find((item) => item.value === info.value);\n if (!findValue) {\n selectedInfo.push({\n value: info.value,\n text: info.text,\n isHTML: Boolean(info.isHTML),\n disable: info.disable,\n });\n }\n that.selectValueChangeCallBack(selectedInfo);\n }\n /**\n * 移除选中信息\n */\n function removeSelectedInfo($ele) {\n let info = getSelectedInfo($ele);\n let findIndex = selectedInfo.findIndex((item) => item.value === info.value);\n if (findIndex !== -1) {\n selectedInfo.splice(findIndex, 1);\n }\n that.selectValueChangeCallBack(selectedInfo);\n }\n /**\n * 判断该项是否选中\n * @param $ele\n */\n function isSelected($ele) {\n return $ele.classList.contains(\"select-item-is-selected\");\n }\n /**\n * 获取选中的项的信息\n */\n function getSelectedInfo($ele) {\n return Reflect.get($ele, \"data-info\");\n }\n /**\n * 获取所有选中的项的信息\n */\n function getAllSelectedInfo() {\n return Array.from($selectContainer.querySelectorAll(\".select-item\"))\n .map(($ele) => {\n if (isSelected($ele)) {\n return getSelectedInfo($ele);\n }\n })\n .filter((item) => {\n return item != null;\n });\n }\n /**\n * 创建一个选择项元素\n */\n function createSelectItemElement(dataInfo) {\n let $item = popsDOMUtils.createElement(\"li\", {\n className: \"select-item\",\n innerHTML: /*html*/ `\r\n\t\t\t\t\t\t\t\t\t<span>${dataInfo.text}</span>\r\n\t\t\t\t\t\t\t\t`,\n });\n Reflect.set($item, \"data-info\", dataInfo);\n return $item;\n }\n /**\n * 设置选择项的点击事件\n */\n function setSelectElementClickEvent($ele) {\n popsDOMUtils.on($ele, \"click\", (event) => {\n popsDOMUtils.preventEvent(event);\n if (typeof formConfig.clickCallBack === \"function\") {\n let clickResult = formConfig.clickCallBack(event, getAllSelectedInfo());\n if (typeof clickResult === \"boolean\" && !clickResult) {\n return;\n }\n }\n // 修改选中状态\n if (isSelected($ele)) {\n removeItemSelected($ele);\n removeSelectedInfo($ele);\n }\n else {\n setItemSelected($ele);\n addSelectedInfo($ele);\n }\n });\n }\n let { style, ...userConfirmDetails } = formConfig.selectConfirmDialogDetails || {};\n let confirmDetails = popsUtils.assign({\n title: {\n text: \"请勾选需要选择的选项\",\n position: \"center\",\n },\n content: {\n text: /*html*/ `\r\n\t\t\t\t\t\t\t\t\t<ul class=\"select-container\"></ul>\r\n\t\t\t\t\t\t\t\t\t`,\n html: true,\n },\n btn: {\n ok: {\n enable: false,\n },\n close: {\n enable: true,\n callback(details, event) {\n that.$data.selectInfo = [...selectedInfo];\n that.updateSelectTagItem();\n details.close();\n },\n },\n },\n mask: {\n enable: true,\n clickCallBack(originalRun, config) {\n originalRun();\n that.$data.selectInfo = [...selectedInfo];\n that.updateSelectTagItem();\n },\n clickEvent: {\n toClose: true,\n },\n },\n drag: true,\n dragLimit: true,\n width: \"300px\",\n height: \"300px\",\n style: /*css*/ `\r\n\t\t\t\t\t\t\t\t.select-container{\r\n\t\t\t\t\t\t\t\t\t--el-font-size-base: 14px;\r\n\t\t\t\t\t\t\t\t\t--el-text-color-regular: #606266;\r\n\t\t\t\t\t\t\t\t\t--el-color-primary: #409eff;\r\n\t\t\t\t\t\t\t\t\t--el-fill-color-light: #f5f7fa;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.select-item{\r\n\t\t\t\t\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\t\t\t\t\tfont-size: var(--el-font-size-base);\r\n\t\t\t\t\t\t\t\t\tpadding: 0 32px 0 20px;\r\n\t\t\t\t\t\t\t\t\tposition: relative;\r\n\t\t\t\t\t\t\t\t\twhite-space: nowrap;\r\n\t\t\t\t\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t\t\t\t\t\ttext-overflow: ellipsis;\r\n\t\t\t\t\t\t\t\t\tcolor: var(--el-text-color-regular);\r\n\t\t\t\t\t\t\t\t\theight: 34px;\r\n\t\t\t\t\t\t\t\t\tline-height: 34px;\r\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.select-item:hover{\r\n\t\t\t\t\t\t\t\t\tbackground-color: var(--el-fill-color-light);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.select-item.select-item-is-selected{\r\n\t\t\t\t\t\t\t\t\tcolor: var(--el-color-primary);\r\n\t\t\t\t\t\t\t\t\tfont-weight: 700;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.select-item.select-item-is-selected::after{\r\n\t\t\t\t\t\t\t\t\tcontent: \"\";\r\n\t\t\t\t\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\t\t\t\t\ttop: 50%;\r\n\t\t\t\t\t\t\t\t\tright: 20px;\r\n\t\t\t\t\t\t\t\t\tborder-top: none;\r\n\t\t\t\t\t\t\t\t\tborder-right: none;\r\n\t\t\t\t\t\t\t\t\tbackground-repeat: no-repeat;\r\n\t\t\t\t\t\t\t\t\tbackground-position: center;\r\n\t\t\t\t\t\t\t\t\tbackground-color: var(--el-color-primary);\r\n\t\t\t\t\t\t\t\t\tmask: url(\"data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E\") no-repeat;\r\n\t\t\t\t\t\t\t\t\tmask-size: 100% 100%;\r\n\t\t\t\t\t\t\t\t\t-webkit-mask: url(\"data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E\") no-repeat;\r\n\t\t\t\t\t\t\t\t\t-webkit-mask-size: 100% 100%;\r\n\t\t\t\t\t\t\t\t\ttransform: translateY(-50%);\r\n\t\t\t\t\t\t\t\t\twidth: 12px;\r\n\t\t\t\t\t\t\t\t\theight: 12px;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t${style || \"\"}\r\n\t\t\t\t\t\t\t\t`,\n }, userConfirmDetails);\n let $dialog = pops.alert(confirmDetails);\n let $selectContainer = $dialog.$shadowRoot.querySelector(\".select-container\");\n // 配置选项元素\n formConfig.data.forEach((item) => {\n let $select = createSelectItemElement(item);\n // 添加到confirm中\n $selectContainer.appendChild($select);\n // 设置每一项的点击事件\n setSelectElementClickEvent($select);\n let findValue = selectedInfo.find((value) => value.value === item.value);\n if (findValue) {\n setItemSelected($select);\n }\n });\n });\n },\n /** 设置关闭图标的点击事件 */\n setSelectedItemCloseIconClickEvent(data) {\n popsDOMUtils.on(data.$closeIcon, \"click\", (event) => {\n popsDOMUtils.preventEvent(event);\n if (typeof formConfig.closeIconClickCallBack === \"function\") {\n let result = formConfig.closeIconClickCallBack(event, {\n $tag: data.$tag,\n $closeIcon: data.$closeIcon,\n value: data.value,\n text: data.text,\n });\n if (typeof result === \"boolean\" && !result) {\n return;\n }\n }\n this.removeSelectedItem(data.$tag);\n this.removeSelectedInfo({\n value: data.value,\n text: data.text,\n });\n }, {\n capture: true,\n });\n },\n /**\n * 检测tag是否为空,为空显示placeholder\n */\n checkTagEmpty() {\n if (!this.$el.$section.querySelectorAll(\".el-select__choose_tag\").length) {\n // 没有tag了\n // this.showInputWrapper();\n this.showPlaceHolderWrapper();\n this.removeSectionIsNear();\n }\n },\n /** 移除选中项元素 */\n removeSelectedItem($ele) {\n $ele.remove();\n this.checkTagEmpty();\n },\n /** 移除选中的信息 */\n removeSelectedInfo(data) {\n for (let index = 0; index < this.$data.selectInfo.length; index++) {\n const selectInfo = this.$data.selectInfo[index];\n if (selectInfo.value === data.value) {\n this.$data.selectInfo.splice(index, 1);\n break;\n }\n }\n this.selectValueChangeCallBack();\n },\n /** 显示输入框 */\n showInputWrapper() {\n popsDOMUtils.cssShow(this.$el.$selectedInputWrapper);\n },\n /** 隐藏输入框 */\n hideInputWrapper() {\n popsDOMUtils.cssHide(this.$el.$selectedInputWrapper, true);\n },\n /** 显示palceholder */\n showPlaceHolderWrapper() {\n popsDOMUtils.cssShow(this.$el.$selectedPlaceHolderWrapper);\n },\n /** 隐藏palceholder */\n hidePlaceHolderWrapper() {\n popsDOMUtils.cssHide(this.$el.$selectedPlaceHolderWrapper, true);\n },\n /** 设置隐藏section的前面的空白 */\n setSectionIsNear() {\n this.$el.$section.classList.add(\"is-near\");\n },\n /** 取消设置隐藏section的前面的空白 */\n removeSectionIsNear() {\n this.$el.$section.classList.remove(\"is-near\");\n },\n };\n PopsPanelSelectMultiple.init();\n Reflect.set(liElement, \"data-select-multiple\", PopsPanelSelectMultiple);\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> button\n * @param formConfig\n */\n createSectionContainerItem_button(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-button\">\r\n\t\t\t\t<button class=\"pops-panel-button_inner\">\r\n\t\t\t\t\t<i class=\"pops-bottom-icon\"></i>\r\n\t\t\t\t\t<span class=\"pops-panel-button-text\"></span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelButton = {\n [Symbol.toStringTag]: \"PopsPanelButton\",\n $ele: {\n panelButton: liElement.querySelector(\".pops-panel-button\"),\n button: liElement.querySelector(\".pops-panel-button .pops-panel-button_inner\"),\n icon: liElement.querySelector(\".pops-panel-button .pops-bottom-icon\"),\n spanText: liElement.querySelector(\".pops-panel-button .pops-panel-button-text\"),\n },\n $data: {},\n init() {\n this.$ele.panelButton.appendChild(this.$ele.button);\n this.initButton();\n this.setClickEvent();\n },\n initButton() {\n if (typeof formConfig.buttonIcon === \"string\" &&\n formConfig.buttonIcon.trim() !== \"\") {\n /* 存在icon图标且不为空 */\n if (formConfig.buttonIcon in pops.config.iconSVG) {\n this.setIconSVG(pops.config.iconSVG[formConfig.buttonIcon]);\n }\n else {\n this.setIconSVG(formConfig.buttonIcon);\n }\n this.showIcon();\n }\n else {\n this.hideIcon();\n }\n /* 按钮文字 */\n let buttonText = formConfig.buttonText;\n if (typeof formConfig.buttonText === \"function\") {\n buttonText = formConfig.buttonText();\n }\n this.setButtonType(formConfig.buttonType);\n if (formConfig.buttonIsRightIcon) {\n this.setIconRight();\n }\n else {\n this.setIconLeft();\n }\n if (formConfig.disable) {\n this.disable();\n }\n this.setButtonText(buttonText);\n this.setIconLoadingStatus(formConfig.buttonIconIsLoading);\n },\n disable() {\n this.$ele.button.setAttribute(\"disabled\", \"true\");\n },\n notDisable() {\n this.$ele.button.removeAttribute(\"disabled\");\n },\n /**\n * 隐藏icon图标\n */\n hideIcon() {\n this.$ele.panelButton.classList.add(\"pops-panel-button-no-icon\");\n },\n /**\n * 显示icon图标\n */\n showIcon() {\n this.$ele.panelButton.classList.remove(\"pops-panel-button-no-icon\");\n },\n /**\n * 设置icon图标的svg\n */\n setIconSVG(svgHTML) {\n this.$ele.icon.innerHTML = svgHTML;\n },\n /**\n * 设置icon图标是否旋转\n * @param status\n */\n setIconLoadingStatus(status) {\n this.$ele.icon.setAttribute(\"is-loading\", Boolean(status).toString());\n },\n /**\n * 设置属性上是否存在icon图标\n */\n setHasIcon(value) {\n this.$ele.button.setAttribute(\"data-icon\", Boolean(value).toString());\n },\n /**\n * 设置按钮类型\n * @param typeValue\n */\n setButtonType(typeValue) {\n this.$ele.button.setAttribute(\"type\", typeValue);\n },\n /**\n * 添加按钮的图标在右边\n */\n setIconRight() {\n this.$ele.button.classList.add(\"pops-panel-button-right-icon\");\n },\n /**\n * (默认)添加按钮的图标在左边\n */\n setIconLeft() {\n this.$ele.button.classList.remove(\"pops-panel-button-right-icon\");\n },\n /**\n * 设置按钮文本\n * @param text\n */\n setButtonText(text) {\n this.$ele.spanText.innerHTML = text;\n },\n setClickEvent() {\n popsDOMUtils.on(this.$ele.button, \"click\", void 0, (event) => {\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event);\n }\n });\n },\n };\n PopsPanelButton.init();\n liElement[\"data-button\"] = PopsPanelButton;\n return liElement;\n },\n /**\n * 获取深层容器的元素<li>\n * @param formConfig\n */\n createSectionContainerItem_deepMenu(formConfig) {\n let that = this;\n let liElement = document.createElement(\"li\");\n liElement.classList.add(\"pops-panel-deepMenu-nav-item\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n // 设置属性\n this.setElementAttributes(liElement, formConfig.attributes);\n // 设置元素上的属性\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n // 设置描述\n leftDescriptionText = `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n // 箭头图标\n let arrowRightIcon = typeof formConfig.arrowRightIcon === \"boolean\"\n ? formConfig.arrowRightIcon\n : true;\n let arrowRightIconHTML = \"\";\n if (arrowRightIcon) {\n arrowRightIconHTML = `<i class=\"pops-panel-deepMenu-arrowRight-icon\">${pops.config.iconSVG.arrowRight}</i>`;\n }\n let rightText = \"\";\n if (formConfig.rightText) {\n rightText = /*html*/ `<p class=\"pops-panel-item-right-text\">${formConfig.rightText}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-deepMenu\">\r\n\t\t\t\t${rightText}\r\n\t\t\t\t${arrowRightIconHTML}\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelDeepMenu = {\n [Symbol.toStringTag]: \"PopsPanelDeepMenu\",\n $ele: {\n get parentSection() {\n return that.$el.$contentSectionContainer;\n },\n },\n init() {\n this.setLiClickEvent();\n },\n /**\n * 生成配置每一项的元素\n * @param $container\n * @param formItemConfig\n */\n initFormItem($container, formItemConfig) {\n if (formItemConfig[\"type\"] === \"forms\") {\n let childForms = formItemConfig[\"forms\"];\n /* 每一项<li>元素 */\n let formContainerListElement = document.createElement(\"li\");\n /* 每一项<li>内的子<ul>元素 */\n let formContainerULElement = document.createElement(\"ul\");\n formContainerListElement.className =\n \"pops-panel-forms-container-item\";\n /* 区域头部的文字 */\n let formHeaderDivElement = popsDOMUtils.createElement(\"div\", {\n className: \"pops-panel-forms-container-item-header-text\",\n });\n formHeaderDivElement.innerHTML = formItemConfig[\"text\"];\n /* 加进容器内 */\n formContainerListElement.appendChild(formHeaderDivElement);\n that.setElementClassName(formContainerListElement, formItemConfig.className);\n that.setElementAttributes(formContainerListElement, formItemConfig.attributes);\n that.setElementProps(formContainerListElement, formItemConfig.props);\n childForms.forEach((childFormConfig) => {\n that.uListContainerAddItem(childFormConfig, {\n ulElement: formContainerULElement,\n sectionContainerULElement: that.sectionContainerULElement,\n formContainerListElement: formContainerListElement,\n formHeaderDivElement: formHeaderDivElement,\n });\n });\n formContainerListElement.appendChild(formContainerULElement);\n $container.appendChild(formContainerListElement);\n }\n else {\n /* 如果成功创建,加入到中间容器中 */\n that.uListContainerAddItem(formConfig, {\n ulElement: that.sectionContainerULElement,\n });\n }\n },\n /**\n * 前往子菜单\n * @param event 点击事件\n * @param liElement 当前的<li>元素\n */\n gotoDeepMenu(event, liElement) {\n /** 当前所在的容器 */\n let currentSection = liElement.closest(\"section.pops-panel-container\");\n if (currentSection) {\n popsDOMUtils.cssHide(currentSection);\n }\n // 子菜单的容器\n let $deepMenuContainer = popsDOMUtils.createElement(\"section\", {\n className: \"pops-panel-container pops-panel-deepMenu-container\",\n });\n let $deepMenuHeaderUL = popsDOMUtils.createElement(\"ul\", {\n className: \"pops-panel-deepMenu-container-header-ul\",\n });\n let $deepMenuChildMenuUL = popsDOMUtils.createElement(\"ul\");\n // 标题文字\n let headerTitleText = formConfig.headerTitle ?? formConfig.text;\n let $header = popsDOMUtils.createElement(\"div\", {\n className: \"pops-panel-deepMenu-container-header\",\n innerHTML: `<p>${headerTitleText}</p>`,\n });\n let $headerLeftArrow = popsDOMUtils.createElement(\"i\", {\n className: \"pops-panel-deepMenu-container-left-arrow-icon\",\n innerHTML: pops.config.iconSVG.arrowLeft,\n });\n popsDOMUtils.on($headerLeftArrow, \"click\", void 0, (event) => {\n event?.preventDefault();\n event?.stopPropagation();\n // 返回上一层菜单\n let $prev = $deepMenuContainer.previousElementSibling;\n popsDOMUtils.cssShow($prev);\n $deepMenuContainer.remove();\n }, {\n once: true,\n });\n $header.firstElementChild?.insertAdjacentElement(\"beforebegin\", $headerLeftArrow);\n $deepMenuHeaderUL.appendChild($header);\n $deepMenuContainer.appendChild($deepMenuHeaderUL);\n $deepMenuContainer.appendChild($deepMenuChildMenuUL);\n if (formConfig.forms && Array.isArray(formConfig.forms)) {\n for (let index = 0; index < formConfig.forms.length; index++) {\n let formItemConfig = formConfig.forms[index];\n this.initFormItem($deepMenuChildMenuUL, formItemConfig);\n }\n }\n that.$el.$content?.appendChild($deepMenuContainer);\n /* 根据标题的高度来自适应内容高度,默认开启 */\n /* 中间容器的偏移量,看设置的section.pops-panel-container的padding,默认0 */\n let contentContainerOffset = 0;\n /* 获取标题的<ul>元素的高度 */\n let sectionContainerHeaderULElementHeight = popsDOMUtils.height($deepMenuHeaderUL);\n $deepMenuChildMenuUL.style.setProperty(\"height\", `calc( 100% - ${sectionContainerHeaderULElementHeight + contentContainerOffset}px )`);\n },\n /** 设置项的点击事件 */\n setLiClickEvent() {\n popsDOMUtils.on(liElement, \"click\", void 0, async (event) => {\n if (typeof formConfig.clickCallBack === \"function\") {\n let result = await formConfig.clickCallBack(event, formConfig);\n if (result) {\n return;\n }\n }\n this.gotoDeepMenu(event, liElement);\n });\n },\n };\n PopsPanelDeepMenu.init();\n liElement[\"data-deepMenu\"] = PopsPanelDeepMenu;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ===> own\n * @param formConfig\n */\n createSectionContainerItem_own(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n if (formConfig.className) {\n liElement.className = formConfig.className;\n }\n liElement = formConfig.getLiElementCallBack(liElement);\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * @param formConfig\n */\n createSectionContainerItem(formConfig) {\n /** 配置项的类型 */\n let formType = formConfig[\"type\"];\n if (formType === \"switch\") {\n return this.createSectionContainerItem_switch(formConfig);\n }\n else if (formType === \"slider\") {\n return this.createSectionContainerItem_slider_new(formConfig);\n }\n else if (formType === \"input\") {\n return this.createSectionContainerItem_input(formConfig);\n }\n else if (formType === \"textarea\") {\n return this.createSectionContainerItem_textarea(formConfig);\n }\n else if (formType === \"select\") {\n return this.createSectionContainerItem_select(formConfig);\n }\n else if (formType === \"select-multiple\") {\n return this.createSectionContainerItem_select_multiple_new(formConfig);\n }\n else if (formType === \"button\") {\n return this.createSectionContainerItem_button(formConfig);\n }\n else if (formType === \"deepMenu\") {\n return this.createSectionContainerItem_deepMenu(formConfig);\n }\n else if (formType === \"own\") {\n return this.createSectionContainerItem_own(formConfig);\n }\n else {\n console.error(\"尚未实现的type类型\", formConfig);\n }\n },\n /**\n * 生成配置每一项的元素\n * @param formConfig\n */\n initFormItem(formConfig) {\n let that = this;\n if (formConfig[\"type\"] === \"forms\") {\n let __formConfig_forms = formConfig;\n let childForms = formConfig[\"forms\"];\n /* 每一项<li>元素 */\n let formContainerListElement = document.createElement(\"li\");\n /* 每一项<li>内的子<ul>元素 */\n let formContainerULElement = document.createElement(\"ul\");\n formContainerListElement.className = \"pops-panel-forms-container-item\";\n /* 区域头部的文字 */\n let formHeaderDivElement = popsDOMUtils.createElement(\"div\", {\n className: \"pops-panel-forms-container-item-header-text\",\n });\n formHeaderDivElement.innerHTML = __formConfig_forms[\"text\"];\n /* 加进容器内 */\n formContainerListElement.appendChild(formHeaderDivElement);\n that.setElementClassName(formContainerListElement, formConfig.className);\n that.setElementAttributes(formContainerListElement, formConfig.attributes);\n that.setElementProps(formContainerListElement, formConfig.props);\n childForms.forEach((childFormConfig) => {\n that.uListContainerAddItem(childFormConfig, {\n ulElement: formContainerULElement,\n sectionContainerULElement: that.sectionContainerULElement,\n formContainerListElement: formContainerListElement,\n formHeaderDivElement: formHeaderDivElement,\n });\n });\n formContainerListElement.appendChild(formContainerULElement);\n that.sectionContainerULElement.appendChild(formContainerListElement);\n }\n else {\n /* 如果成功创建,加入到中间容器中 */\n that.uListContainerAddItem(formConfig, {\n ulElement: that.sectionContainerULElement,\n });\n }\n },\n /**\n *\n * @param formConfig\n * @param containerOptions\n */\n uListContainerAddItem(formConfig, containerOptions) {\n let itemLiElement = this.createSectionContainerItem(formConfig);\n if (itemLiElement) {\n containerOptions[\"ulElement\"].appendChild(itemLiElement);\n }\n if (typeof formConfig.afterAddToUListCallBack === \"function\") {\n formConfig.afterAddToUListCallBack(formConfig, containerOptions);\n }\n },\n /**\n * 为左侧容器元素添加点击事件\n * @param asideLiElement 左侧的容器<li>元素\n * @param asideConfig 配置\n */\n setAsideItemClickEvent(asideLiElement, asideConfig) {\n const that = this;\n popsDOMUtils.on(asideLiElement, \"click\", void 0, (event) => {\n this.clearContainer();\n popsDOMUtils.cssShow(that.$el.$contentSectionContainer);\n this.clearAsideItemIsVisited();\n this.setAsideItemIsVisited(asideLiElement);\n /* 顶部标题栏,存在就设置 */\n let headerTitleText = asideConfig.headerTitle ?? asideConfig.title;\n if (typeof headerTitleText === \"string\" &&\n headerTitleText.trim() !== \"\") {\n let containerHeaderTitleLIElement = document.createElement(\"li\");\n containerHeaderTitleLIElement[\"__asideConfig__\"] =\n asideConfig;\n containerHeaderTitleLIElement.innerHTML = headerTitleText;\n this.sectionContainerHeaderULElement.appendChild(containerHeaderTitleLIElement);\n }\n let __forms__ = asideLiElement[\"__forms__\"];\n __forms__.forEach((formConfig) => {\n this.initFormItem(formConfig);\n });\n let autoAdaptionContentHeight = asideConfig.autoAdaptionContentHeight ?? true;\n if (autoAdaptionContentHeight) {\n /* 根据标题的高度来自适应内容高度,默认开启 */\n /* 中间容器的偏移量,看设置的section.pops-panel-container的padding,默认0 */\n let contentContainerOffset = asideConfig.contentContainerOffset ?? 0;\n /* 获取标题的<ul>元素的高度 */\n let sectionContainerHeaderULElementHeight = popsDOMUtils.height(this.sectionContainerHeaderULElement);\n this.sectionContainerULElement.style.setProperty(\"height\", `calc( 100% - ${sectionContainerHeaderULElementHeight + contentContainerOffset}px )`);\n }\n if (typeof asideConfig.callback === \"function\") {\n /* 执行回调 */\n asideConfig.callback(event, this.sectionContainerHeaderULElement, this.sectionContainerULElement);\n }\n });\n },\n };\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsPanelConfig } from \"./config\";\nimport { PanelHandleContentDetails } from \"./PanelHandleContentDetails\";\nexport class PopsPanel {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.panelCSS,\n ]);\n let config = PopsPanelConfig();\n config = popsUtils.assign(config, details);\n if (details && Array.isArray(details.content)) {\n config.content = details.content;\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"panel\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n\t\t\t<div \r\n\t\t\t\tclass=\"pops-${PopsType}-title\"\r\n\t\t\t\tstyle=\"text-align: ${config.title.position};\r\n\t\t\t\t${headerStyle}\">\r\n\t\t\t\t${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n\t\t\t\t${headerBtnHTML}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-${PopsType}-content\">\r\n\t\t\t\t<aside class=\"pops-${PopsType}-aside\">\r\n\t\t\t\t\t<ul></ul>\r\n\t\t\t\t</aside>\r\n\t\t\t\t<section class=\"pops-${PopsType}-container\">\r\n\t\t\t\t\t<ul class=\"pops-panel-container-header-ul\"></ul>\r\n\t\t\t\t\t<ul></ul>\r\n\t\t\t\t</section>\r\n\t\t\t</div>`, \"\", zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n /* 结构元素 */\n let { popsElement: $pops, headerCloseBtnElement: $headerCloseBtn, titleElement: $title, contentElement: $content, contentAsideElement: $contentAside, contentSectionContainerElement: $contentSectionContainer, } = PopsHandler.handleQueryElement($anim, PopsType);\n if (config.isMobile || pops.isPhone()) {\n popsDOMUtils.addClassName($pops, config.mobileClassName);\n }\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n /* 遮罩层元素 */\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n /* 处理返回的配置 */\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n /* 为顶部右边的关闭按钮添加点击事件 */\n PopsHandler.handleClickEvent(\"close\", $headerCloseBtn, eventDetails, config.btn.close.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n /* 追加遮罩层元素 */\n if ($mask != null) {\n $anim.after($mask);\n }\n let panelHandleContentDetails = PanelHandleContentDetails();\n /**\n * 处理内部配置\n */\n panelHandleContentDetails.init({\n config: config,\n $el: {\n $content: $content,\n $contentAside: $contentAside,\n $contentSectionContainer: $contentSectionContainer,\n },\n });\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","import { pops } from \"../../Pops\";\nexport const rightClickMenuConfig = () => {\n return {\n target: document.documentElement,\n targetSelector: null,\n data: [\n {\n icon: pops.config.iconSVG.search,\n iconIsLoading: false,\n text: \"搜索\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n {\n icon: pops.config.iconSVG.documentCopy,\n iconIsLoading: false,\n text: \"复制\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n {\n icon: pops.config.iconSVG.delete,\n text: \"删除\",\n iconIsLoading: false,\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n {\n icon: pops.config.iconSVG.loading,\n iconIsLoading: true,\n text: \"加载\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n return false;\n },\n },\n {\n icon: pops.config.iconSVG.elemePlus,\n iconIsLoading: true,\n text: \"饿了么\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n return false;\n },\n item: [\n {\n icon: \"\",\n iconIsLoading: false,\n text: \"处理文件\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n {\n icon: \"\",\n iconIsLoading: false,\n text: \"其它处理\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n item: [\n {\n icon: pops.config.iconSVG.view,\n iconIsLoading: false,\n text: \"查看\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n ],\n },\n ],\n },\n ],\n className: \"\",\n isAnimation: true,\n only: false,\n zIndex: 10000,\n preventDefault: true,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { OriginPrototype } from \"../../Core\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { rightClickMenuConfig as PopsRightClickMenuConfig } from \"./config\";\nexport class PopsRightClickMenu {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.rightClickMenu,\n ]);\n let config = PopsRightClickMenuConfig();\n config = popsUtils.assign(config, details);\n if (config.target == null) {\n throw \"config.target 不能为空\";\n }\n if (details.data) {\n config.data = details.data;\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"rightClickMenu\";\n config = PopsHandler.handleOnly(PopsType, config);\n if (config.style != null) {\n let cssNode = document.createElement(\"style\");\n cssNode.setAttribute(\"type\", \"text/css\");\n cssNode.innerHTML = config.style;\n $shadowRoot.appendChild(cssNode);\n }\n const PopsContextMenu = {\n /**\n * 根元素\n */\n rootElement: null,\n /**\n * 全局点击检测\n * @param event\n */\n windowCheckClickEvent(event) {\n if (!PopsContextMenu.rootElement) {\n return;\n }\n let $click = event.target;\n if ($click.closest(`.pops-${PopsType}`)) {\n return;\n }\n if ($click.className &&\n $click.className === \"pops-shadow-container\" &&\n $click.shadowRoot != null) {\n return;\n }\n PopsContextMenu.closeAllMenu(PopsContextMenu.rootElement);\n },\n /**\n * target为shadowRoot或shadowRoot内的全局点击检测\n * @param event\n */\n shadowRootCheckClickEvent(event) {\n if (!PopsContextMenu.rootElement) {\n return;\n }\n let $click = event.target;\n if ($click.closest(`.pops-${PopsType}`)) {\n return;\n }\n PopsContextMenu.closeAllMenu(PopsContextMenu.rootElement);\n },\n /**\n * 添加全局点击检测事件\n */\n addWindowCheckClickListener() {\n popsDOMUtils.on(globalThis, \"click touchstart\", void 0, PopsContextMenu.windowCheckClickEvent, {\n capture: true,\n });\n if (config.target instanceof Node) {\n const $shadowRoot = config.target.getRootNode();\n if ($shadowRoot instanceof ShadowRoot) {\n popsDOMUtils.on($shadowRoot, \"click touchstart\", void 0, PopsContextMenu.shadowRootCheckClickEvent, {\n capture: true,\n });\n }\n }\n },\n /**\n * 移除全局点击检测事件\n */\n removeWindowCheckClickListener() {\n popsDOMUtils.off(globalThis, \"click touchstart\", void 0, PopsContextMenu.windowCheckClickEvent, {\n capture: true,\n });\n if (config.target instanceof Node) {\n const $shadowRoot = config.target.getRootNode();\n if ($shadowRoot instanceof ShadowRoot) {\n popsDOMUtils.off($shadowRoot, \"click touchstart\", void 0, PopsContextMenu.windowCheckClickEvent, {\n capture: true,\n });\n }\n }\n },\n /**\n * contextmenu事件\n * @param event\n */\n contextMenuEvent(event) {\n if (config.preventDefault) {\n popsDOMUtils.preventEvent(event);\n }\n PopsHandler.handleOnly(PopsType, config);\n if (PopsContextMenu.rootElement) {\n PopsContextMenu.closeAllMenu(PopsContextMenu.rootElement);\n }\n let rootElement = PopsContextMenu.showMenu(event, config.data);\n PopsContextMenu.rootElement = rootElement;\n if (config.only) {\n PopsHandler.handlePush(PopsType, {\n $shadowRoot: $shadowRoot,\n $shadowContainer: $shadowContainer,\n guid: guid,\n animElement: rootElement,\n popsElement: rootElement,\n beforeRemoveCallBack(layerCommonConfig) {\n PopsContextMenu.closeAllMenu(layerCommonConfig.popsElement);\n },\n });\n }\n },\n /**\n * 添加contextmenu事件\n * @param target 目标\n * @param selector 子元素选择器\n */\n addContextMenuEvent(target, selector) {\n popsDOMUtils.on(target, \"contextmenu\", selector, PopsContextMenu.contextMenuEvent);\n },\n /**\n * 移除contextmenu事件\n * @param target 目标\n * @param selector 子元素选择器\n */\n removeContextMenuEvent(target, selector) {\n popsDOMUtils.off(target, \"contextmenu\", selector, PopsContextMenu.contextMenuEvent);\n },\n /**\n * 自动判断是否存在动画,存在动画就执行关闭动画并删除\n * @param element\n */\n animationCloseMenu(element) {\n /**\n * 动画结束触发的事件\n */\n function transitionEndEvent(event) {\n popsDOMUtils.off(element, popsDOMUtils.getTransitionEndNameList(), void 0, transitionEndEvent, {\n capture: true,\n });\n element.remove();\n }\n if (element.classList.contains(`pops-${PopsType}-anim-show`)) {\n /* 有动画 */\n popsDOMUtils.on(element, popsDOMUtils.getTransitionEndNameList(), void 0, transitionEndEvent, {\n capture: true,\n });\n element.classList.remove(`pops-${PopsType}-anim-show`);\n }\n else {\n /* 无动画 */\n element.remove();\n }\n },\n /**\n * 关闭所有菜单\n * @param rootElement\n */\n closeAllMenu(rootElement) {\n if (rootElement == null) {\n return;\n }\n if (rootElement?.[\"__menuData__\"]?.root) {\n rootElement = rootElement?.[\"__menuData__\"]?.root;\n }\n let childMenuList = rootElement[\"__menuData__\"]\n .child;\n childMenuList.forEach((childMenuElement) => {\n this.animationCloseMenu(childMenuElement);\n });\n this.animationCloseMenu(rootElement);\n PopsContextMenu.rootElement = null;\n },\n /**\n * 获取菜单容器\n * @param isChildren 是否是rightClickMenu的某一项的子菜单\n */\n getMenuContainerElement(isChildren) {\n let $menu = popsDOMUtils.createElement(\"div\", {\n className: `pops-${PopsType}`,\n innerHTML: /*html*/ `\r\n\t\t\t\t\t<ul></ul>\r\n\t\t\t\t\t`,\n });\n let zIndex = this.getMenuZIndex();\n if (zIndex > 10000) {\n $menu.style.zIndex = zIndex.toString();\n }\n if (isChildren) {\n $menu.setAttribute(\"is-children\", \"true\");\n }\n /* 添加动画 */\n if (config.isAnimation) {\n popsDOMUtils.addClassName($menu, `pops-${PopsType}-anim-grid`);\n }\n return $menu;\n },\n /**\n * 动态获取配的z-index\n */\n getMenuZIndex() {\n return PopsHandler.handleZIndex(config.zIndex);\n },\n /**\n * 获取left、top偏移\n * @param menuElement 菜单元素\n * @param x\n * @param y\n */\n getOffset(menuElement, x, y) {\n let menuElementWidth = popsDOMUtils.width(menuElement);\n let menuElementHeight = popsDOMUtils.height(menuElement);\n /* left最大偏移 */\n let maxLeftOffset = popsDOMUtils.width(globalThis) - menuElementWidth - 1;\n /* top最大偏移 */\n let maxTopOffset = popsDOMUtils.height(globalThis) - menuElementHeight - 8;\n let currentLeftOffset = x;\n let currentTopOffset = y;\n /* 不允许超出left最大值 */\n currentLeftOffset = currentLeftOffset < 0 ? 0 : currentLeftOffset;\n currentLeftOffset =\n currentLeftOffset < maxLeftOffset ? currentLeftOffset : maxLeftOffset;\n /* 不允许超出top最大值 */\n currentTopOffset = currentTopOffset < 0 ? 0 : currentTopOffset;\n currentTopOffset =\n currentTopOffset < maxTopOffset ? currentTopOffset : maxTopOffset;\n return {\n left: currentLeftOffset,\n top: currentTopOffset,\n };\n },\n /**\n * 显示菜单\n * @param menuEvent 触发的事件\n * @param _config_\n */\n showMenu(menuEvent, _config_) {\n let menuElement = this.getMenuContainerElement(false);\n Reflect.set(menuElement, \"__menuData__\", {\n child: [],\n });\n PopsContextMenu.addMenuLiELement(menuEvent, menuElement, menuElement, _config_);\n /* 先隐藏 */\n popsDOMUtils.css(menuElement, {\n display: \"none\",\n });\n popsDOMUtils.append($shadowRoot, menuElement);\n /* 添加到页面 */\n if (!document.contains($shadowContainer)) {\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n }\n let { left: menuLeftOffset, top: menuTopOffset } = this.getOffset(menuElement, menuEvent.clientX, menuEvent.clientY);\n popsDOMUtils.css(menuElement, {\n left: menuLeftOffset,\n top: menuTopOffset,\n display: \"\",\n });\n /* 过渡动画 */\n if (config.isAnimation) {\n popsDOMUtils.addClassName(menuElement, `pops-${PopsType}-anim-show`);\n }\n return menuElement;\n },\n /**\n * 显示子菜单\n * @param menuEvent 事件\n * @param posInfo 位置信息\n * @param _config_\n * @param rootElement 根菜单元素\n * @param targetLiElement 父li项元素\n */\n showClildMenu(menuEvent, posInfo, _config_, rootElement, targetLiElement) {\n let menuElement = this.getMenuContainerElement(true);\n Reflect.set(menuElement, \"__menuData__\", {\n parent: targetLiElement,\n root: rootElement,\n });\n // 根菜单数据\n let rootElementMenuData = Reflect.get(rootElement, \"__menuData__\");\n rootElementMenuData.child.push(menuElement);\n PopsContextMenu.addMenuLiELement(menuEvent, rootElement, menuElement, _config_);\n /* 先隐藏 */\n popsDOMUtils.css(menuElement, {\n display: \"none\",\n });\n /* 添加到页面 */\n popsDOMUtils.append($shadowRoot, menuElement);\n let { left: menuLeftOffset, top: menuTopOffset } = this.getOffset(menuElement, posInfo.clientX, posInfo.clientY);\n popsDOMUtils.css(menuElement, {\n left: menuLeftOffset,\n top: menuTopOffset,\n display: \"\",\n });\n /* 过渡动画 */\n if (config.isAnimation) {\n popsDOMUtils.addClassName(menuElement, `pops-${PopsType}-anim-show`);\n }\n return menuElement;\n },\n /**\n * 获取菜单项的元素\n * @param menuEvent 事件\n * @param rootElement 根元素\n * @param menuElement 菜单元素\n * @param _config_ 配置\n */\n addMenuLiELement(menuEvent, rootElement, menuElement, _config_) {\n let menuEventTarget = menuEvent.target;\n let menuULElement = menuElement.querySelector(\"ul\");\n _config_.forEach((item) => {\n let menuLiElement = popsUtils.parseTextToDOM(`<li></li>`);\n /* 判断有无图标,有就添加进去 */\n if (typeof item.icon === \"string\" && item.icon.trim() !== \"\") {\n let iconSVGHTML = pops.config.iconSVG[item.icon] ?? item.icon;\n let iconElement = popsUtils.parseTextToDOM(`<i class=\"pops-${PopsType}-icon\" is-loading=\"${item.iconIsLoading}\">${iconSVGHTML}</i>`);\n menuLiElement.appendChild(iconElement);\n }\n /* 插入文字 */\n menuLiElement.insertAdjacentHTML(\"beforeend\", `<span>${item.text}</span>`);\n /* 如果存在子数据,显示 */\n if (item.item && Array.isArray(item.item)) {\n popsDOMUtils.addClassName(menuLiElement, `pops-${PopsType}-item`);\n }\n /* 鼠标|触摸 移入事件 */\n function liElementHoverEvent() {\n Array.from(menuULElement.children).forEach((liElement) => {\n popsDOMUtils.removeClassName(liElement, `pops-${PopsType}-is-visited`);\n if (!liElement.__menuData__) {\n return;\n }\n function removeElement(element) {\n element.querySelectorAll(\"ul li\").forEach((ele) => {\n if (ele?.__menuData__?.child) {\n removeElement(ele.__menuData__.child);\n }\n });\n element.remove();\n }\n /* 遍历根元素的上的__menuData__.child,判断 */\n removeElement(liElement.__menuData__.child);\n });\n /* 清理根元素上的children不存在于页面中的元素 */\n for (let index = 0; index < rootElement.__menuData__.child.length; index++) {\n let element = rootElement.__menuData__.child[index];\n if (!$shadowRoot.contains(element)) {\n rootElement.__menuData__.child.splice(index, 1);\n index--;\n }\n }\n popsDOMUtils.addClassName(menuLiElement, `pops-${PopsType}-is-visited`);\n if (!item.item) {\n return;\n }\n let rect = menuLiElement.getBoundingClientRect();\n let childMenu = PopsContextMenu.showClildMenu(menuEvent, {\n clientX: rect.left + popsDOMUtils.outerWidth(menuLiElement),\n clientY: rect.top,\n }, item.item, rootElement, menuLiElement);\n menuLiElement.__menuData__ = {\n child: childMenu,\n };\n }\n /**\n * 点击事件\n * @param clickEvent\n * @returns\n */\n async function liElementClickEvent(clickEvent) {\n if (typeof item.callback === \"function\") {\n OriginPrototype.Object.defineProperty(menuEvent, \"target\", {\n get() {\n return menuEventTarget;\n },\n });\n let callbackResult = await item.callback(clickEvent, menuEvent, menuLiElement);\n if (typeof callbackResult === \"boolean\" &&\n callbackResult == false) {\n return;\n }\n }\n /* 取消绑定的鼠标/触摸事件,防止关闭的时候再次触发 */\n Array.from(menuULElement.children).forEach((liEle) => {\n popsDOMUtils.off(liEle, \"mouseenter touchstart\");\n });\n PopsContextMenu.closeAllMenu(rootElement);\n }\n popsDOMUtils.on(menuLiElement, \"mouseenter touchstart\", void 0, liElementHoverEvent);\n /* 项-点击事件 */\n popsDOMUtils.on(menuLiElement, \"click\", void 0, liElementClickEvent);\n menuULElement.appendChild(menuLiElement);\n });\n },\n };\n // 添加右键菜单事件\n PopsContextMenu.addContextMenuEvent(config.target, config.targetSelector);\n // 添加全局点击检测\n PopsContextMenu.addWindowCheckClickListener();\n return {\n guid: guid,\n config: config,\n removeWindowCheckClickListener: PopsContextMenu.removeWindowCheckClickListener,\n addWindowCheckClickListener: PopsContextMenu.addWindowCheckClickListener,\n removeContextMenuEvent: PopsContextMenu.removeContextMenuEvent,\n addContextMenuEvent: PopsContextMenu.addContextMenuEvent,\n };\n }\n}\n","export const searchSuggestionConfig = () => {\n return {\n // @ts-ignore\n target: null,\n // @ts-ignore\n inputTarget: null,\n selfDocument: document,\n data: [\n {\n value: \"数据1\",\n text: \"数据1-html\",\n },\n {\n value: \"数据2\",\n text: \"数据2-html\",\n },\n ],\n deleteIcon: {\n enable: true,\n callback(event, liElement, data) {\n console.log(\"删除当前项\", [event, liElement, data]);\n liElement.remove();\n },\n },\n className: \"\",\n isAbsolute: true,\n isAnimation: true,\n width: \"250px\",\n maxHeight: \"300px\",\n followTargetWidth: true,\n topDistance: 0,\n position: \"auto\",\n positionTopToReverse: true,\n zIndex: 10000,\n searchingTip: \"正在搜索中...\",\n toSearhNotResultHTML: '<li data-none=\"true\">暂无其它数据</li>',\n toHideWithNotResult: false,\n followPosition: \"target\",\n getItemHTML(item) {\n return item.text ?? item;\n },\n async getData(value) {\n console.log(\"当前输入框的值是:\", value);\n return [];\n },\n itemClickCallBack(event, liElement, data) {\n console.log(\"item项的点击回调\", [event, liElement, data]);\n this.inputTarget.value = data.value;\n },\n selectCallBack(event, liElement, data) {\n console.log(\"item项的选中回调\", [event, liElement, data]);\n },\n style: \"\",\n };\n};\n","import { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { searchSuggestionConfig as PopsSearchSuggestionConfig } from \"./config\";\nexport class PopsSearchSuggestion {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n ]);\n let config = PopsSearchSuggestionConfig();\n config = popsUtils.assign(config, details);\n if (config.target == null) {\n throw new TypeError(\"config.target 不能为空\");\n }\n /* 做下兼容处理 */\n if (config.inputTarget == null) {\n config.inputTarget = config.target;\n }\n if (details.data) {\n config.data = details.data;\n }\n const guid = popsUtils.getRandomGUID();\n const PopsType = \"searchSuggestion\";\n if (config.style != null) {\n let cssNode = document.createElement(\"style\");\n cssNode.setAttribute(\"type\", \"text/css\");\n cssNode.innerHTML = config.style;\n $shadowRoot.appendChild(cssNode);\n }\n const SearchSuggestion = {\n /**\n * 当前的环境,可以是document,可以是shadowroot,默认是document\n */\n selfDocument: config.selfDocument,\n $el: {\n /** 根元素 */\n root: null,\n /** ul元素 */\n $hintULContainer: null,\n /** 动态更新CSS */\n $dynamicCSS: null,\n },\n $data: {\n /** 是否结果为空 */\n isEmpty: true,\n },\n /**\n * 初始化\n */\n init(parentElement = document.body || document.documentElement) {\n this.initEl();\n SearchSuggestion.update(typeof config.data === \"function\" ? config.data() : config.data);\n SearchSuggestion.updateDynamicCSS();\n SearchSuggestion.changeHintULElementWidth();\n SearchSuggestion.changeHintULElementPosition();\n SearchSuggestion.hide();\n if (config.isAnimation) {\n SearchSuggestion.$el.root.classList.add(`pops-${PopsType}-animation`);\n }\n $shadowRoot.appendChild(SearchSuggestion.$el.root);\n parentElement.appendChild($shadowContainer);\n },\n /** 初始化元素变量 */\n initEl() {\n this.$el.root = SearchSuggestion.getSearchSelectElement();\n this.$el.$dynamicCSS = this.$el.root.querySelector(\"style[data-dynamic]\");\n this.$el.$hintULContainer =\n SearchSuggestion.$el.root.querySelector(\"ul\");\n },\n /**\n * 获取显示出搜索建议框的html\n */\n getSearchSelectElement() {\n let element = popsDOMUtils.createElement(\"div\", {\n className: `pops pops-${PopsType}-search-suggestion`,\n innerHTML: /*html*/ `\r\n\t\t\t\t\t\t<style data-dynamic=\"true\">\r\n\t\t\t\t\t\t\t${this.getDynamicCSS()}\r\n\t\t\t\t\t\t</style>\r\n\t\t\t\t\t\t<ul class=\"pops-${PopsType}-search-suggestion-hint\">\r\n\t\t\t\t\t\t\t${config.toSearhNotResultHTML}\r\n\t\t\t\t\t\t</ul>\r\n \t\t\t\t `,\n }, {\n \"data-guid\": guid,\n \"type-value\": PopsType,\n });\n if (config.className !== \"\" && config.className != null) {\n popsDOMUtils.addClassName(element, config.className);\n }\n return element;\n },\n /** 动态获取CSS */\n getDynamicCSS() {\n return /*css*/ `\r\n\t\t\t\t.pops-${PopsType}-animation{\r\n\t\t\t\t\t-moz-animation: searchSelectFalIn 0.5s 1 linear;\r\n\t\t\t\t\t-webkit-animation: searchSelectFalIn 0.5s 1 linear;\r\n\t\t\t\t\t-o-animation: searchSelectFalIn 0.5s 1 linear;\r\n\t\t\t\t\t-ms-animation: searchSelectFalIn 0.5s 1 linear;\r\n\t\t\t\t}\r\n\t\t\t\t.pops-${PopsType}-search-suggestion{\r\n\t\t\t\t\tborder: initial;\r\n\t\t\t\t\toverflow: initial;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint{\r\n\t\t\t\t\tposition: ${config.isAbsolute ? \"absolute\" : \"fixed\"};\r\n\t\t\t\t\tz-index: ${PopsHandler.handleZIndex(config.zIndex)};\r\n\t\t\t\t\twidth: 0;\r\n\t\t\t\t\tleft: 0;\r\n\t\t\t\t\tmax-height: ${config.maxHeight};\r\n\t\t\t\t\toverflow-x: hidden;\r\n\t\t\t\t\toverflow-y: auto;\r\n\t\t\t\t\tpadding: 5px 0;\r\n\t\t\t\t\tbackground-color: #fff;\r\n\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\tborder-radius: 4px;\r\n\t\t\t\t\tbox-shadow: 0 1px 6px rgb(0 0 0 / 20%);\r\n\t\t\t\t}\r\n\t\t\t\t/* 建议框在上面时 */\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint[data-top-reverse]{\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column-reverse;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint[data-top-reverse] li{\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint li{\r\n\t\t\t\t\tpadding: 7px;\r\n\t\t\t\t\tmargin: 0;\r\n\t\t\t\t\tclear: both;\r\n\t\t\t\t\tcolor: #515a6e;\r\n\t\t\t\t\tfont-size: 14px;\r\n\t\t\t\t\tlist-style: none;\r\n\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\ttransition: background .2s ease-in-out;\r\n\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t\ttext-overflow: ellipsis;\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint li[data-none]{\r\n\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\tfont-size: 12px;\r\n\t\t\t\t\tcolor: #8e8e8e;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint li:hover{\r\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, .1);\r\n\t\t\t\t}\r\n\t\t\t\t`;\n },\n /**\n * 获取显示出搜索建议框的每一项的html\n * @param data 当前项的值\n * @param index 当前项的下标\n */\n getSearchItemLiElement(data, index) {\n return popsDOMUtils.createElement(\"li\", {\n className: `pops-${PopsType}-search-suggestion-hint-item pops-flex-items-center pops-flex-y-center`,\n \"data-index\": index,\n \"data-value\": SearchSuggestion.getItemDataValue(data),\n innerHTML: `\r\n \t\t\t${config.getItemHTML(data)}\r\n \t\t\t${config.deleteIcon.enable\n ? SearchSuggestion.getDeleteIconHTML()\n : \"\"}\r\n \t\t\t`,\n });\n },\n /**\n * 获取data-value值\n * @param data\n */\n getItemDataValue(data) {\n return data;\n },\n /**\n * 设置搜索建议框每一项的点击事件\n * @param liElement\n */\n setSearchItemClickEvent(liElement) {\n popsDOMUtils.on(liElement, \"click\", void 0, (event) => {\n popsDOMUtils.preventEvent(event);\n let $click = event.target;\n if ($click.closest(`.pops-${PopsType}-delete-icon`)) {\n /* 点击的是删除按钮 */\n if (typeof config.deleteIcon.callback === \"function\") {\n config.deleteIcon.callback(event, liElement, liElement[\"data-value\"]);\n }\n if (!this.$el.$hintULContainer.children.length) {\n /* 全删完了 */\n this.clear();\n }\n }\n else {\n /* 点击项主体 */\n config.itemClickCallBack(event, liElement, liElement[\"data-value\"]);\n }\n }, {\n capture: true,\n });\n },\n /**\n * 设置搜索建议框每一项的选中事件\n * @param liElement\n */\n setSearchItemSelectEvent(liElement) {\n // popsDOMUtils.on(\n // \tliElement,\n // \t\"keyup\",\n // \tvoid 0,\n // \t(event) => {\n // \t\tlet value = liElement[\"data-value\"];\n // \t\tconfig.selectCallBack(event, liElement, value);\n // \t},\n // \t{\n // \t\tcapture: true,\n // \t}\n // );\n },\n /**\n * 监听输入框内容改变\n */\n setInputChangeEvent(option = {\n capture: true,\n }) {\n /* 必须是input或者textarea才有input事件 */\n if (!(config.inputTarget instanceof HTMLInputElement ||\n config.inputTarget instanceof HTMLTextAreaElement)) {\n return;\n }\n /* 是input输入框 */\n /* 禁用输入框自动提示 */\n config.inputTarget.setAttribute(\"autocomplete\", \"off\");\n /* 内容改变事件 */\n popsDOMUtils.on(config.inputTarget, \"input\", void 0, async (event) => {\n let getListResult = await config.getData(event.target.value);\n SearchSuggestion.update(getListResult);\n }, option);\n },\n /**\n * 移除输入框内容改变的监听\n */\n removeInputChangeEvent(option = {\n capture: true,\n }) {\n popsDOMUtils.off(config.inputTarget, \"input\", void 0, void 0, option);\n },\n /**\n * 显示搜索建议框的事件\n */\n showEvent() {\n SearchSuggestion.updateDynamicCSS();\n SearchSuggestion.changeHintULElementWidth();\n SearchSuggestion.changeHintULElementPosition();\n if (config.toHideWithNotResult) {\n if (SearchSuggestion.$data.isEmpty) {\n SearchSuggestion.hide();\n }\n else {\n SearchSuggestion.show();\n }\n }\n else {\n SearchSuggestion.show();\n }\n },\n /**\n * 设置显示搜索建议框的事件\n */\n setShowEvent(option = {\n capture: true,\n }) {\n /* 焦点|点击事件*/\n if (config.followPosition === \"target\") {\n popsDOMUtils.on([config.target], [\"focus\", \"click\"], void 0, SearchSuggestion.showEvent, option);\n }\n else if (config.followPosition === \"input\") {\n popsDOMUtils.on([config.inputTarget], [\"focus\", \"click\"], void 0, SearchSuggestion.showEvent, option);\n }\n else if (config.followPosition === \"inputCursor\") {\n popsDOMUtils.on([config.inputTarget], [\"focus\", \"click\", \"input\"], void 0, SearchSuggestion.showEvent, option);\n }\n else {\n throw new TypeError(\"未知followPosition:\" + config.followPosition);\n }\n },\n /**\n * 移除显示搜索建议框的事件\n */\n removeShowEvent(option = {\n capture: true,\n }) {\n /* 焦点|点击事件*/\n popsDOMUtils.off([config.target, config.inputTarget], [\"focus\", \"click\"], void 0, SearchSuggestion.showEvent, option);\n /* 内容改变事件 */\n popsDOMUtils.off([config.inputTarget], [\"input\"], void 0, SearchSuggestion.showEvent, option);\n },\n /**\n * 隐藏搜索建议框的事件\n * @param event\n */\n hideEvent(event) {\n if (event.target instanceof Node) {\n if ($shadowContainer.contains(event.target)) {\n /* 点击在shadow上的 */\n return;\n }\n if (config.target.contains(event.target)) {\n /* 点击在目标元素内 */\n return;\n }\n if (config.inputTarget.contains(event.target)) {\n /* 点击在目标input内 */\n return;\n }\n SearchSuggestion.hide();\n }\n },\n /**\n * 设置隐藏搜索建议框的事件\n */\n setHideEvent(option = {\n capture: true,\n }) {\n /* 全局点击事件 */\n /* 全局触摸屏点击事件 */\n if (Array.isArray(SearchSuggestion.selfDocument)) {\n SearchSuggestion.selfDocument.forEach(($checkParent) => {\n popsDOMUtils.on($checkParent, [\"click\", \"touchstart\"], void 0, SearchSuggestion.hideEvent, option);\n });\n }\n else {\n popsDOMUtils.on(SearchSuggestion.selfDocument, [\"click\", \"touchstart\"], void 0, SearchSuggestion.hideEvent, option);\n }\n },\n /**\n * 移除隐藏搜索建议框的事件\n */\n removeHideEvent(option = {\n capture: true,\n }) {\n if (Array.isArray(SearchSuggestion.selfDocument)) {\n SearchSuggestion.selfDocument.forEach(($checkParent) => {\n popsDOMUtils.off($checkParent, [\"click\", \"touchstart\"], void 0, SearchSuggestion.hideEvent, option);\n });\n }\n else {\n popsDOMUtils.off(SearchSuggestion.selfDocument, [\"click\", \"touchstart\"], void 0, SearchSuggestion.hideEvent, option);\n }\n },\n /**\n * 设置所有监听\n */\n setAllEvent(option = {\n capture: true,\n }) {\n SearchSuggestion.setInputChangeEvent(option);\n SearchSuggestion.setHideEvent(option);\n SearchSuggestion.setShowEvent(option);\n },\n /**\n * 移除所有监听\n */\n removeAllEvent(option = {\n capture: true,\n }) {\n SearchSuggestion.removeInputChangeEvent(option);\n SearchSuggestion.removeHideEvent(option);\n SearchSuggestion.removeShowEvent(option);\n },\n /**\n * 获取删除按钮的html\n */\n getDeleteIconHTML(size = 16, fill = \"#bababa\") {\n return /*html*/ `\r\n\t\t\t\t<svg class=\"pops-${PopsType}-delete-icon\" viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" width=\"${size}\" height=\"${size}\" fill=\"${fill}\">\r\n\t\t\t\t\t<path d=\"M512 883.2A371.2 371.2 0 1 0 140.8 512 371.2 371.2 0 0 0 512 883.2z m0 64a435.2 435.2 0 1 1 435.2-435.2 435.2 435.2 0 0 1-435.2 435.2z\"></path>\r\n\t\t\t\t\t<path d=\"M557.056 512l122.368 122.368a31.744 31.744 0 1 1-45.056 45.056L512 557.056l-122.368 122.368a31.744 31.744 0 1 1-45.056-45.056L466.944 512 344.576 389.632a31.744 31.744 0 1 1 45.056-45.056L512 466.944l122.368-122.368a31.744 31.744 0 1 1 45.056 45.056z\"></path>\r\n\t\t\t\t</svg>\r\n \t`;\n },\n /**\n * 设置当前正在搜索中的提示\n */\n setPromptsInSearch() {\n let isSearchingElement = popsDOMUtils.createElement(\"li\", {\n className: `pops-${PopsType}-search-suggestion-hint-searching-item`,\n innerHTML: config.searchingTip,\n });\n SearchSuggestion.$el.$hintULContainer.appendChild(isSearchingElement);\n },\n /**\n * 移除正在搜索中的提示\n */\n removePromptsInSearch() {\n SearchSuggestion.$el.$hintULContainer\n .querySelector(`li.pops-${PopsType}-search-suggestion-hint-searching-item`)\n ?.remove();\n },\n /**\n * 清空所有的搜索结果\n */\n clearAllSearchItemLi() {\n SearchSuggestion.$el.$hintULContainer.innerHTML = \"\";\n },\n /**\n * 更新搜索建议框的位置(top、left)\n * 因为目标元素可能是动态隐藏的\n */\n changeHintULElementPosition(target = config.target ?? config.inputTarget) {\n let targetRect = null;\n if (config.followPosition === \"inputCursor\") {\n targetRect = popsDOMUtils.getTextBoundingRect(config.inputTarget, config.inputTarget.selectionStart || 0, config.inputTarget.selectionEnd || 0, false);\n }\n else {\n targetRect = config.isAbsolute\n ? popsDOMUtils.offset(target)\n : target.getBoundingClientRect();\n }\n if (targetRect == null) {\n return;\n }\n // 文档最大高度\n let documentHeight = document.documentElement.clientHeight;\n if (config.isAbsolute) {\n // 绝对定位\n documentHeight = popsDOMUtils.height(document);\n }\n // 文档最大宽度\n let documentWidth = popsDOMUtils.width(document);\n let position = config.position;\n if (config.position === \"auto\") {\n // 需目标高度+搜索建议框高度大于文档高度,则显示在上面\n let targetBottom = targetRect.bottom;\n let searchSuggestionContainerHeight = popsDOMUtils.height(SearchSuggestion.$el.$hintULContainer);\n if (targetBottom + searchSuggestionContainerHeight > documentHeight) {\n // 在上面\n position = \"top\";\n }\n else {\n // 在下面\n position = \"bottom\";\n SearchSuggestion.$el.$hintULContainer.removeAttribute(\"data-top\");\n }\n }\n if (position === \"top\") {\n if (config.positionTopToReverse) {\n SearchSuggestion.$el.$hintULContainer.setAttribute(\"data-top-reverse\", \"true\");\n }\n // 在上面\n SearchSuggestion.$el.$hintULContainer.style.top = \"\";\n SearchSuggestion.$el.$hintULContainer.style.bottom =\n documentHeight - targetRect.top + config.topDistance + \"px\";\n }\n else if (position === \"bottom\") {\n // 在下面\n SearchSuggestion.$el.$hintULContainer.removeAttribute(\"data-top-reverse\");\n SearchSuggestion.$el.$hintULContainer.style.bottom = \"\";\n SearchSuggestion.$el.$hintULContainer.style.top =\n targetRect.height + targetRect.top + config.topDistance + \"px\";\n }\n let hintUIWidth = popsDOMUtils.width(SearchSuggestion.$el.$hintULContainer);\n SearchSuggestion.$el.$hintULContainer.style.left =\n (targetRect.left + hintUIWidth > documentWidth\n ? documentWidth - hintUIWidth\n : targetRect.left) + \"px\";\n },\n /**\n * 更新搜索建议框的width\n * 因为目标元素可能是动态隐藏的\n */\n changeHintULElementWidth(target = config.target ?? config.inputTarget) {\n let targetRect = target.getBoundingClientRect();\n if (config.followTargetWidth) {\n SearchSuggestion.$el.$hintULContainer.style.width =\n targetRect.width + \"px\";\n }\n else {\n SearchSuggestion.$el.$hintULContainer.style.width = config.width;\n }\n },\n /**\n * 动态更新CSS\n */\n updateDynamicCSS() {\n this.$el.$dynamicCSS.innerHTML = this.getDynamicCSS();\n },\n /**\n * 更新页面显示的搜索结果\n * @param data\n */\n update(data = []) {\n if (!Array.isArray(data)) {\n throw new TypeError(\"传入的数据不是数组\");\n }\n config.data = data;\n /* 清空已有的搜索结果 */\n if (config.data.length) {\n SearchSuggestion.$data.isEmpty = false;\n if (config.toHideWithNotResult) {\n SearchSuggestion.show();\n }\n SearchSuggestion.clearAllSearchItemLi();\n /* 添加进ul中 */\n config.data.forEach((item, index) => {\n let itemElement = SearchSuggestion.getSearchItemLiElement(item, index);\n SearchSuggestion.setSearchItemClickEvent(itemElement);\n SearchSuggestion.setSearchItemSelectEvent(itemElement);\n SearchSuggestion.$el.$hintULContainer.appendChild(itemElement);\n });\n }\n else {\n /* 清空 */\n SearchSuggestion.clear();\n }\n },\n /**\n * 清空当前的搜索结果并显示无结果\n */\n clear() {\n this.$data.isEmpty = true;\n this.clearAllSearchItemLi();\n this.$el.$hintULContainer.appendChild(popsUtils.parseTextToDOM(config.toSearhNotResultHTML));\n if (config.toHideWithNotResult) {\n this.hide();\n }\n },\n /**\n * 隐藏搜索建议框\n */\n hide() {\n this.$el.root.style.display = \"none\";\n },\n /**\n * 显示搜索建议框\n */\n show() {\n this.$el.root.style.display = \"\";\n },\n };\n return SearchSuggestion;\n }\n}\n","import { popsDOMUtils } from \"./utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"./utils/PopsInstanceUtils\";\nimport { popsUtils } from \"./utils/PopsUtils\";\nimport indexCSS from \"./css/index.css\";\nimport ninePalaceGridPositionCSS from \"./css/ninePalaceGridPosition.css\";\nimport scrollbarCSS from \"./css/scrollbar.css\";\nimport buttonCSS from \"./css/button.css\";\nimport commonCSS from \"./css/common.css\";\nimport animCSS from \"./css/animation.css\";\nimport alertCSS from \"./components/alert/index.css\";\nimport confirmCSS from \"./components/confirm/index.css\";\nimport promptCSS from \"./components/prompt/index.css\";\nimport loadingCSS from \"./components/loading/index.css\";\nimport iframeCSS from \"./components/iframe/index.css\";\nimport tooltipCSS from \"./components/tooltip/index.css\";\nimport drawerCSS from \"./components/drawer/index.css\";\nimport folderCSS from \"./components/folder/index.css\";\nimport panelCSS from \"./components/panel/index.css\";\nimport rightClickMenuCSS from \"./components/rightClickMenu/index.css\";\nimport SVG_min from \"./svg/min.svg\";\nimport SVG_mise from \"./svg/mise.svg\";\nimport SVG_max from \"./svg/max.svg\";\nimport SVG_close from \"./svg/close.svg\";\nimport SVG_edit from \"./svg/edit.svg\";\nimport SVG_share from \"./svg/share.svg\";\nimport SVG_delete from \"./svg/delete.svg\";\nimport SVG_search from \"./svg/search.svg\";\nimport SVG_upload from \"./svg/upload.svg\";\nimport SVG_loading from \"./svg/loading.svg\";\nimport SVG_next from \"./svg/next.svg\";\nimport SVG_prev from \"./svg/prev.svg\";\nimport SVG_eleme from \"./svg/eleme.svg\";\nimport SVG_elemePlus from \"./svg/elemePlus.svg\";\nimport SVG_chromeFilled from \"./svg/chromeFilled.svg\";\nimport SVG_cpu from \"./svg/cpu.svg\";\nimport SVG_videoPlay from \"./svg/videoPlay.svg\";\nimport SVG_videoPause from \"./svg/videoPause.svg\";\nimport SVG_headset from \"./svg/headset.svg\";\nimport SVG_monitor from \"./svg/monitor.svg\";\nimport SVG_documentCopy from \"./svg/documentCopy.svg\";\nimport SVG_picture from \"./svg/picture.svg\";\nimport SVG_circleClose from \"./svg/circleClose.svg\";\nimport SVG_view from \"./svg/view.svg\";\nimport SVG_hide from \"./svg/hide.svg\";\nimport SVG_keyboard from \"./svg/keyboard.svg\";\nimport SVG_arrowRight from \"./svg/arrowRight.svg\";\nimport SVG_arrowLeft from \"./svg/arrowLeft.svg\";\nimport { PopsCore } from \"./Core\";\nimport { PopsAlert } from \"./components/alert\";\nimport { PopsConfirm } from \"./components/confirm\";\nimport { PopsPrompt } from \"./components/prompt\";\nimport { PopsLoading } from \"./components/loading\";\nimport { PopsIframe } from \"./components/iframe\";\nimport { PopsTooltip } from \"./components/tooltip\";\nimport { PopsDrawer } from \"./components/drawer\";\nimport { PopsFolder } from \"./components/folder\";\nimport { PopsPanel } from \"./components/panel\";\nimport { PopsRightClickMenu } from \"./components/rightClickMenu\";\nimport { PopsSearchSuggestion } from \"./components/searchSuggestion\";\nimport { PopsMathFloatUtils } from \"./utils/PopsMathUtils\";\nimport { PanelHandleContentDetails } from \"./components/panel/PanelHandleContentDetails\";\nclass Pops {\n /** 配置 */\n config = {\n /** 版本号 */\n version: \"2024.10.1\",\n cssText: {\n /** 主CSS */\n index: indexCSS,\n /** 九宫格位置CSS */\n ninePalaceGridPosition: ninePalaceGridPositionCSS,\n /** 滚动条CSS */\n scrollbar: scrollbarCSS,\n /** 按钮CSS */\n button: buttonCSS,\n /** 通用的CSS */\n common: commonCSS,\n /** 动画 */\n anim: animCSS,\n /** pops.alert */\n alertCSS: alertCSS,\n /** pops.cponfirm */\n confirmCSS: confirmCSS,\n /** pops.prompt */\n promptCSS: promptCSS,\n /** pops.loading */\n loadingCSS: loadingCSS,\n /** pops.iframe */\n iframeCSS: iframeCSS,\n /** pops.tooltip */\n tooltipCSS: tooltipCSS,\n /** pops.drawer */\n drawerCSS: drawerCSS,\n /** pops.folder */\n folderCSS: folderCSS,\n /** pops.folder */\n panelCSS: panelCSS,\n /** pops.rightClickMenu */\n rightClickMenu: rightClickMenuCSS,\n },\n /** icon图标的svg代码 */\n iconSVG: {\n min: SVG_min,\n mise: SVG_mise,\n max: SVG_max,\n close: SVG_close,\n edit: SVG_edit,\n share: SVG_share,\n delete: SVG_delete,\n search: SVG_search,\n upload: SVG_upload,\n loading: SVG_loading,\n next: SVG_next,\n prev: SVG_prev,\n eleme: SVG_eleme,\n elemePlus: SVG_elemePlus,\n chromeFilled: SVG_chromeFilled,\n cpu: SVG_cpu,\n videoPlay: SVG_videoPlay,\n videoPause: SVG_videoPause,\n headset: SVG_headset,\n monitor: SVG_monitor,\n documentCopy: SVG_documentCopy,\n picture: SVG_picture,\n circleClose: SVG_circleClose,\n view: SVG_view,\n hide: SVG_hide,\n keyboard: SVG_keyboard,\n arrowRight: SVG_arrowRight,\n arrowLeft: SVG_arrowLeft,\n },\n /** 当前已配置的动画@keyframes名字映射(初始化时生成) */\n animation: {},\n /** 是否初始化 */\n isInit: false,\n /** 存储已创建的元素 */\n layer: {\n alert: [],\n confirm: [],\n prompt: [],\n loading: [],\n iframe: [],\n tooltip: [],\n drawer: [],\n folder: [],\n panel: [],\n rightClickMenu: [],\n },\n /** 禁止滚动 */\n forbiddenScroll: {\n event(event) {\n return popsDOMUtils.preventEvent(event);\n },\n },\n /** pops使用的工具类 */\n Utils: popsUtils,\n /** pops使用的DOM工具类 */\n DOMUtils: popsDOMUtils,\n /** pops创建的实例使用的工具类 */\n InstanceUtils: PopsInstanceUtils,\n /** pops处理float类型使用的工具类 */\n MathFloatUtils: PopsMathFloatUtils,\n /** pops.panel中用于处理各个类型的工具 */\n panelHandleContentUtils: PanelHandleContentDetails,\n };\n constructor() { }\n init() {\n if (!this.config.isInit) {\n /* 处理获取当前所有的动画名 */\n this.config.isInit = true;\n let animationStyle = document.createElement(\"style\");\n animationStyle.innerHTML = this.config.cssText.anim;\n popsDOMUtils.appendHead(animationStyle);\n this.config.animation = null;\n this.config.animation = PopsInstanceUtils.getKeyFrames(animationStyle.sheet);\n setTimeout(() => {\n animationStyle.remove();\n }, 50);\n }\n }\n /**\n * 释放原有的pops控制权\n * @example\n * let pops = window.pops.noConflict()\n */\n noConflict() {\n if (typeof PopsCore.globalThis.pops === \"object\") {\n popsUtils.delete(PopsCore.globalThis, \"pops\");\n }\n if (typeof unsafeWindow === \"object\" &&\n unsafeWindow != null &&\n typeof unsafeWindow.pops === \"object\") {\n popsUtils.delete(unsafeWindow, \"pops\");\n }\n return new Pops();\n }\n /**\n * 通过navigator.userAgent判断是否是手机访问\n * @param userAgent\n */\n isPhone(userAgent = PopsCore.globalThis.navigator.userAgent) {\n return Boolean(/(iPhone|iPad|iPod|iOS|Android)/i.test(userAgent));\n }\n /**\n * 普通信息框\n * @param details 配置\n */\n alert = (details) => {\n return new PopsAlert(details);\n };\n /**\n * 询问框\n * @param details 配置\n */\n confirm = (details) => {\n return new PopsConfirm(details);\n };\n /**\n * 输入框\n * @param details 配置\n */\n prompt = (details) => {\n return new PopsPrompt(details);\n };\n /**\n * 加载层\n * @param details 配置\n */\n loading = (details) => {\n return new PopsLoading(details);\n };\n /**\n * iframe层\n * @param details 配置\n */\n iframe = (details) => {\n return new PopsIframe(details);\n };\n /**\n * 提示框\n * @param details 配置\n */\n tooltip = (details) => {\n return new PopsTooltip(details);\n };\n /**\n * 抽屉\n * @param details 配置\n */\n drawer = (details) => {\n return new PopsDrawer(details);\n };\n /**\n * 文件夹\n * @param details 配置\n */\n folder = (details) => {\n return new PopsFolder(details);\n };\n /**\n * 配置面板\n * @param details 配置\n */\n panel = (details) => {\n return new PopsPanel(details);\n };\n /**\n * 右键菜单\n * @param details 配置\n */\n rightClickMenu = (details) => {\n return new PopsRightClickMenu(details);\n };\n /**\n * 搜索建议\n * @param details 配置\n */\n searchSuggestion = (details) => {\n return new PopsSearchSuggestion(details);\n };\n}\nconst pops = new Pops();\nexport { pops };\n"],"names":["OriginPrototype","PopsRightClickMenuConfig","PopsSearchSuggestionConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.amd.js","sources":["../src/Config.ts","../src/Core.ts","../src/utils/AnyTouch.js","../src/utils/PopsUtils.ts","../src/utils/PopsDOMUtils.ts","../src/utils/PopsInstanceUtils.ts","../src/GlobalConfig.ts","../src/handler/PopsElementHandler.ts","../src/handler/PopsHandler.ts","../src/components/alert/config.ts","../src/components/alert/index.ts","../src/components/confirm/config.ts","../src/components/confirm/index.ts","../src/components/prompt/config.ts","../src/components/prompt/index.ts","../src/components/loading/config.ts","../src/components/loading/index.ts","../src/components/iframe/config.ts","../src/components/iframe/index.ts","../src/components/tooltip/config.ts","../src/components/tooltip/index.ts","../src/components/drawer/config.ts","../src/components/drawer/index.ts","../src/components/folder/config.ts","../src/components/folder/folderIcon.ts","../src/components/folder/index.ts","../src/components/panel/config.ts","../src/utils/PopsMathUtils.ts","../src/components/panel/PanelHandleContentDetails.ts","../src/components/panel/index.ts","../src/components/rightClickMenu/config.ts","../src/components/rightClickMenu/index.ts","../src/components/searchSuggestion/config.ts","../src/components/searchSuggestion/index.ts","../src/Pops.ts"],"sourcesContent":["export const SymbolEvents = Symbol(\"events_\" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1));\n","const PopsCoreDefaultEnv = {\n document: document,\n window: window,\n globalThis: globalThis,\n self: self,\n};\nconst PopsCoreEnv = {\n document: document,\n window: window,\n globalThis: globalThis,\n self: self,\n};\nexport const PopsCore = {\n init(option) {\n if (!option) {\n option = Object.assign({}, PopsCoreDefaultEnv);\n }\n Object.assign(PopsCoreEnv, option);\n },\n get document() {\n return PopsCoreEnv.document;\n },\n get window() {\n return PopsCoreEnv.window;\n },\n get globalThis() {\n return PopsCoreEnv.globalThis;\n },\n get self() {\n return PopsCoreEnv.self;\n },\n};\nexport const OriginPrototype = {\n Object: {\n defineProperty: Object.defineProperty,\n },\n};\n","// @ts-nocheck\r\n\r\nexport const AnyTouch = function () {\r\n\treturn (function (global, factory) {\r\n\t\treturn factory();\r\n\t})(globalThis || window, function () {\r\n\t\t\"use strict\";\r\n\r\n\t\t/*! *****************************************************************************\r\n\t\t\tCopyright (c) Microsoft Corporation.\r\n\t\t\r\n\t\t\tPermission to use, copy, modify, and/or distribute this software for any\r\n\t\t\tpurpose with or without fee is hereby granted.\r\n\t\t\r\n\t\t\tTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n\t\t\tREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n\t\t\tAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n\t\t\tINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n\t\t\tLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n\t\t\tOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n\t\t\tPERFORMANCE OF THIS SOFTWARE.\r\n\t\t\t***************************************************************************** */\r\n\t\t/* global Reflect, Promise */\r\n\r\n\t\tvar extendStatics = function (d, b) {\r\n\t\t\textendStatics =\r\n\t\t\t\tObject.setPrototypeOf ||\r\n\t\t\t\t({ __proto__: [] } instanceof Array &&\r\n\t\t\t\t\tfunction (d, b) {\r\n\t\t\t\t\t\td.__proto__ = b;\r\n\t\t\t\t\t}) ||\r\n\t\t\t\tfunction (d, b) {\r\n\t\t\t\t\tfor (var p in b) if (Object.hasOwnProperty.call(b, p)) d[p] = b[p];\r\n\t\t\t\t};\r\n\t\t\treturn extendStatics(d, b);\r\n\t\t};\r\n\r\n\t\tfunction __extends(d, b) {\r\n\t\t\tif (typeof b !== \"function\" && b !== null)\r\n\t\t\t\tthrow new TypeError(\r\n\t\t\t\t\t\"Class extends value \" + String(b) + \" is not a constructor or null\"\r\n\t\t\t\t);\r\n\t\t\textendStatics(d, b);\r\n\t\t\tfunction __() {\r\n\t\t\t\tthis.constructor = d;\r\n\t\t\t}\r\n\t\t\td.prototype =\r\n\t\t\t\tb === null\r\n\t\t\t\t\t? Object.create(b)\r\n\t\t\t\t\t: ((__.prototype = b.prototype), new __());\r\n\t\t}\r\n\r\n\t\tvar __assign = function () {\r\n\t\t\t__assign =\r\n\t\t\t\tObject.assign ||\r\n\t\t\t\tfunction __assign(t) {\r\n\t\t\t\t\tfor (var s, i = 1, n = arguments.length; i < n; i++) {\r\n\t\t\t\t\t\ts = arguments[i];\r\n\t\t\t\t\t\tfor (var p in s) if (Object.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn t;\r\n\t\t\t\t};\r\n\r\n\t\t\treturn __assign.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tfunction __values(o) {\r\n\t\t\tvar s = typeof Symbol === \"function\" && Symbol.iterator,\r\n\t\t\t\tm = s && o[s],\r\n\t\t\t\ti = 0;\r\n\t\t\tif (m) return m.call(o);\r\n\t\t\tif (o && typeof o.length === \"number\")\r\n\t\t\t\treturn {\r\n\t\t\t\t\tnext: function () {\r\n\t\t\t\t\t\tif (o && i >= o.length) o = void 0;\r\n\t\t\t\t\t\treturn { value: o && o[i++], done: !o };\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\tthrow new TypeError(\r\n\t\t\t\ts ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\"\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tvar AnyEvent = (function () {\r\n\t\t\tfunction AnyEvent() {\r\n\t\t\t\tthis.__map = {};\r\n\t\t\t}\r\n\r\n\t\t\tAnyEvent.prototype.beforeEach = function (interceptor) {\r\n\t\t\t\tthis.__interceptor = interceptor;\r\n\t\t\t};\r\n\r\n\t\t\tAnyEvent.prototype.on = function (typeOrTypes, listener) {\r\n\t\t\t\tvar e_1, _a;\r\n\t\t\t\tvar types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];\r\n\t\t\t\ttry {\r\n\t\t\t\t\tfor (\r\n\t\t\t\t\t\tvar types_1 = __values(types), types_1_1 = types_1.next();\r\n\t\t\t\t\t\t!types_1_1.done;\r\n\t\t\t\t\t\ttypes_1_1 = types_1.next()\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tvar type = types_1_1.value;\r\n\r\n\t\t\t\t\t\tthis.__map[type] = this.__map[type] || [];\r\n\r\n\t\t\t\t\t\tvar listeners = this.__map[type];\r\n\t\t\t\t\t\tif (listeners) {\r\n\t\t\t\t\t\t\tlisteners.push(listener);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (e_1_1) {\r\n\t\t\t\t\te_1 = { error: e_1_1 };\r\n\t\t\t\t} finally {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tif (types_1_1 && !types_1_1.done && (_a = types_1.return))\r\n\t\t\t\t\t\t\t_a.call(types_1);\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\tif (e_1) throw e_1.error;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t};\r\n\r\n\t\t\tAnyEvent.prototype.emit = function (type, payload, callback) {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tif (void 0 !== this.__interceptor) {\r\n\t\t\t\t\tthis.__interceptor(type, function () {\r\n\t\t\t\t\t\t_this.__emit(type, payload);\r\n\t\t\t\t\t\tcallback && callback();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.__emit(type, payload);\r\n\t\t\t\t\tcallback && callback();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tAnyEvent.prototype.__emit = function (type, event) {\r\n\t\t\t\tvar e_2, _a;\r\n\r\n\t\t\t\tvar listeners = this.__map[type];\r\n\t\t\t\tif (\r\n\t\t\t\t\tArray.isArray(listeners) &&\r\n\t\t\t\t\t(listeners === null || listeners === void 0\r\n\t\t\t\t\t\t? void 0\r\n\t\t\t\t\t\t: listeners.length)\r\n\t\t\t\t) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tfor (\r\n\t\t\t\t\t\t\tvar listeners_1 = __values(listeners),\r\n\t\t\t\t\t\t\t\tlisteners_1_1 = listeners_1.next();\r\n\t\t\t\t\t\t\t!listeners_1_1.done;\r\n\t\t\t\t\t\t\tlisteners_1_1 = listeners_1.next()\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tvar listener = listeners_1_1.value;\r\n\t\t\t\t\t\t\tlistener(event, type);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (e_2_1) {\r\n\t\t\t\t\t\te_2 = { error: e_2_1 };\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tlisteners_1_1 &&\r\n\t\t\t\t\t\t\t\t!listeners_1_1.done &&\r\n\t\t\t\t\t\t\t\t(_a = listeners_1.return)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t_a.call(listeners_1);\r\n\t\t\t\t\t\t} finally {\r\n\t\t\t\t\t\t\tif (e_2) throw e_2.error;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.event = event;\r\n\t\t\t};\r\n\r\n\t\t\tAnyEvent.prototype.off = function (type, listener) {\r\n\t\t\t\tvar listeners = this.__map[type];\r\n\t\t\t\tif (void 0 !== listeners) {\r\n\t\t\t\t\tif (void 0 === listener) {\r\n\t\t\t\t\t\tdelete this.__map[type];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar index = listeners.findIndex(function (cb) {\r\n\t\t\t\t\t\t\treturn cb === listener;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tlisteners.splice(index, 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tAnyEvent.prototype.destroy = function () {\r\n\t\t\t\tthis.__map = {};\r\n\t\t\t};\r\n\t\t\treturn AnyEvent;\r\n\t\t})();\r\n\r\n\t\tvar TOUCH_START = \"touchstart\";\r\n\t\tvar TOUCH_MOVE = \"touchmove\";\r\n\t\tvar TOUCH_END = \"touchend\";\r\n\t\tvar TOUCH_CANCEL = \"touchcancel\";\r\n\t\tvar MOUSE_UP = \"mouseup\";\r\n\t\tvar MOUSE_MOVE = \"mousemove\";\r\n\t\tvar MOUSE_DOWN = \"mousedown\";\r\n\t\tvar TYPE_START$1 = \"start\";\r\n\t\tvar TYPE_MOVE$1 = \"move\";\r\n\t\tvar TYPE_END$1 = \"end\";\r\n\r\n\t\tfunction isFunction(input) {\r\n\t\t\treturn \"[object Function]\" === Object.prototype.toString.call(input);\r\n\t\t}\r\n\r\n\t\tvar CLIENT_X = \"clientX\";\r\n\t\tvar CLIENT_Y = \"clientY\";\r\n\t\tvar COMPUTE_INTERVAL = 16;\r\n\t\tvar TYPE_START = \"start\";\r\n\t\tvar TYPE_MOVE = \"move\";\r\n\t\tvar TYPE_CANCEL = \"cancel\";\r\n\t\tvar TYPE_END = \"end\";\r\n\t\tvar DIRECTION_LEFT = \"left\";\r\n\t\tvar DIRECTION_RIGHT = \"right\";\r\n\t\tvar DIRECTION_UP = \"up\";\r\n\t\tvar DIRECTION_DOWN = \"down\";\r\n\r\n\t\tvar _a;\r\n\t\tvar STATUS_CODE_AND_NAME_MAP =\r\n\t\t\t((_a = {}),\r\n\t\t\t(_a[4] = TYPE_START),\r\n\t\t\t(_a[5] = TYPE_MOVE),\r\n\t\t\t(_a[1] = TYPE_END),\r\n\t\t\t(_a[3] = TYPE_CANCEL),\r\n\t\t\t_a);\r\n\r\n\t\tfunction getStatusName(code) {\r\n\t\t\treturn STATUS_CODE_AND_NAME_MAP[code];\r\n\t\t}\r\n\r\n\t\tfunction flow(isVaild, lastStatus, phase) {\r\n\t\t\tvar _a, _b, _c, _d, _e, _f, _g;\r\n\t\t\tvar STATE_MAP = {\r\n\t\t\t\t1:\r\n\t\t\t\t\t((_a = {}),\r\n\t\t\t\t\t(_a[0] = ((_b = {}), (_b[TYPE_MOVE] = 4), _b)),\r\n\t\t\t\t\t(_a[4] =\r\n\t\t\t\t\t\t((_c = {}),\r\n\t\t\t\t\t\t(_c[TYPE_MOVE] = 5),\r\n\t\t\t\t\t\t(_c[TYPE_END] = 1),\r\n\t\t\t\t\t\t(_c[TYPE_CANCEL] = 3),\r\n\t\t\t\t\t\t_c)),\r\n\t\t\t\t\t(_a[5] =\r\n\t\t\t\t\t\t((_d = {}),\r\n\t\t\t\t\t\t(_d[TYPE_MOVE] = 5),\r\n\t\t\t\t\t\t(_d[TYPE_END] = 1),\r\n\t\t\t\t\t\t(_d[TYPE_CANCEL] = 3),\r\n\t\t\t\t\t\t_d)),\r\n\t\t\t\t\t_a),\r\n\t\t\t\t0:\r\n\t\t\t\t\t((_e = {}),\r\n\t\t\t\t\t(_e[4] =\r\n\t\t\t\t\t\t((_f = {}),\r\n\t\t\t\t\t\t(_f[TYPE_MOVE] = 2),\r\n\t\t\t\t\t\t(_f[TYPE_END] = 1),\r\n\t\t\t\t\t\t(_f[TYPE_CANCEL] = 3),\r\n\t\t\t\t\t\t_f)),\r\n\t\t\t\t\t(_e[5] =\r\n\t\t\t\t\t\t((_g = {}),\r\n\t\t\t\t\t\t(_g[TYPE_START] = 2),\r\n\t\t\t\t\t\t(_g[TYPE_MOVE] = 2),\r\n\t\t\t\t\t\t(_g[TYPE_END] = 1),\r\n\t\t\t\t\t\t(_g[TYPE_CANCEL] = 3),\r\n\t\t\t\t\t\t_g)),\r\n\t\t\t\t\t_e),\r\n\t\t\t};\r\n\r\n\t\t\tvar map = STATE_MAP[Number(isVaild)][lastStatus];\r\n\t\t\treturn (void 0 !== map && map[phase]) || 0;\r\n\t\t}\r\n\r\n\t\tfunction resetState(context) {\r\n\t\t\tif ([1, 3, 2].includes(context.state)) {\r\n\t\t\t\tcontext.state = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction isMoveOrEndOrCancel(state) {\r\n\t\t\treturn [5, 1, 3].includes(state);\r\n\t\t}\r\n\r\n\t\tfunction isDisabled(context) {\r\n\t\t\tif (context.disabled) {\r\n\t\t\t\tcontext.state = 0;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction createPluginContext(defaultOptions, options) {\r\n\t\t\treturn __assign(__assign(__assign({}, defaultOptions), options), {\r\n\t\t\t\tstate: 0,\r\n\t\t\t\tdisabled: false,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction round2(n) {\r\n\t\t\treturn Math.round(n * 100) / 100;\r\n\t\t}\r\n\r\n\t\tfunction inputCreator() {\r\n\t\t\tvar id = 0;\r\n\t\t\tvar prevInput;\r\n\r\n\t\t\tvar activeInput;\r\n\r\n\t\t\tvar startInput;\r\n\r\n\t\t\tvar startMultiInput;\r\n\r\n\t\t\treturn function (basicsInput) {\r\n\t\t\t\tprevInput = activeInput;\r\n\t\t\t\tif (void 0 !== basicsInput) {\r\n\t\t\t\t\tid = Number.MAX_SAFE_INTEGER > id ? ++id : 1;\r\n\t\t\t\t\tvar pureInput = extendInput(basicsInput, id);\r\n\t\t\t\t\tactiveInput = pureInput;\r\n\t\t\t\t\tvar isStart = pureInput.isStart,\r\n\t\t\t\t\t\tpointLength = pureInput.pointLength;\r\n\t\t\t\t\tif (isStart) {\r\n\t\t\t\t\t\tstartInput = pureInput;\r\n\t\t\t\t\t\tprevInput = void 0;\r\n\t\t\t\t\t\tif (1 < pointLength) {\r\n\t\t\t\t\t\t\tstartMultiInput = pureInput;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstartMultiInput = void 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn __assign(__assign({}, pureInput), {\r\n\t\t\t\t\t\tprevInput: prevInput,\r\n\r\n\t\t\t\t\t\tstartMultiInput: startMultiInput,\r\n\r\n\t\t\t\t\t\tstartInput: startInput,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction getCenter(points) {\r\n\t\t\tvar length = points.length;\r\n\t\t\tif (0 < length) {\r\n\t\t\t\tif (1 === length) {\r\n\t\t\t\t\tvar _a = points[0],\r\n\t\t\t\t\t\tclientX = _a.clientX,\r\n\t\t\t\t\t\tclientY = _a.clientY;\r\n\t\t\t\t\treturn { x: Math.round(clientX), y: Math.round(clientY) };\r\n\t\t\t\t}\r\n\t\t\t\tvar countPoint = points.reduce(\r\n\t\t\t\t\tfunction (countPoint, point) {\r\n\t\t\t\t\t\tcountPoint.x += point[CLIENT_X];\r\n\t\t\t\t\t\tcountPoint.y += point[CLIENT_Y];\r\n\t\t\t\t\t\treturn countPoint;\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{ x: 0, y: 0 }\r\n\t\t\t\t);\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: Math.round(countPoint.x / length),\r\n\t\t\t\t\ty: Math.round(countPoint.y / length),\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction extendInput(basicsInput, id) {\r\n\t\t\tvar phase = basicsInput.phase,\r\n\t\t\t\tpoints = basicsInput.points,\r\n\t\t\t\tchangedPoints = basicsInput.changedPoints,\r\n\t\t\t\tnativeEvent = basicsInput.nativeEvent;\r\n\t\t\tvar pointLength = points.length;\r\n\t\t\tvar isStart = TYPE_START === phase;\r\n\t\t\tvar isEnd =\r\n\t\t\t\t(TYPE_END === phase && 0 === pointLength) || TYPE_CANCEL === phase;\r\n\t\t\tvar timestamp = Date.now();\r\n\t\t\tvar _a = getCenter(points) || getCenter(changedPoints),\r\n\t\t\t\tx = _a.x,\r\n\t\t\t\ty = _a.y;\r\n\t\t\tvar currentTarget = nativeEvent.currentTarget;\r\n\t\t\treturn Object.assign(basicsInput, {\r\n\t\t\t\tid: id,\r\n\t\t\t\tx: x,\r\n\t\t\t\ty: y,\r\n\t\t\t\ttimestamp: timestamp,\r\n\t\t\t\tisStart: isStart,\r\n\t\t\t\tisEnd: isEnd,\r\n\t\t\t\tpointLength: pointLength,\r\n\t\t\t\tcurrentTarget: currentTarget,\r\n\r\n\t\t\t\tgetOffset: function (el) {\r\n\t\t\t\t\tif (el === void 0) {\r\n\t\t\t\t\t\tel = currentTarget;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar rect = el.getBoundingClientRect();\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tx: x - Math.round(rect.left),\r\n\t\t\t\t\t\ty: y - Math.round(rect.top),\r\n\t\t\t\t\t};\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction mouse() {\r\n\t\t\tvar prevPoints;\r\n\t\t\tvar isPressed = false;\r\n\r\n\t\t\tvar _target = null;\r\n\t\t\tvar createInput = inputCreator();\r\n\r\n\t\t\treturn function (event) {\r\n\t\t\t\tvar clientX = event.clientX,\r\n\t\t\t\t\tclientY = event.clientY,\r\n\t\t\t\t\ttype = event.type,\r\n\t\t\t\t\tbutton = event.button,\r\n\t\t\t\t\ttarget = event.target;\r\n\t\t\t\tvar points = [{ clientX: clientX, clientY: clientY, target: target }];\r\n\t\t\t\tvar phase;\r\n\t\t\t\tif (MOUSE_DOWN === type && 0 === button) {\r\n\t\t\t\t\t_target = target;\r\n\t\t\t\t\tisPressed = true;\r\n\t\t\t\t\tphase = TYPE_START$1;\r\n\t\t\t\t} else if (isPressed) {\r\n\t\t\t\t\tif (MOUSE_MOVE === type) {\r\n\t\t\t\t\t\tphase = TYPE_MOVE$1;\r\n\t\t\t\t\t} else if (MOUSE_UP === type) {\r\n\t\t\t\t\t\tpoints = [];\r\n\t\t\t\t\t\tphase = TYPE_END$1;\r\n\t\t\t\t\t\tisPressed = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar changedPoints = prevPoints || [\r\n\t\t\t\t\t{ clientX: clientX, clientY: clientY, target: target },\r\n\t\t\t\t];\r\n\t\t\t\tprevPoints = [{ clientX: clientX, clientY: clientY, target: target }];\r\n\t\t\t\tif (void 0 !== phase) {\r\n\t\t\t\t\treturn createInput({\r\n\t\t\t\t\t\tphase: phase,\r\n\t\t\t\t\t\tchangedPoints: changedPoints,\r\n\t\t\t\t\t\tpoints: points,\r\n\r\n\t\t\t\t\t\ttarget: _target,\r\n\r\n\t\t\t\t\t\ttargets: [_target],\r\n\t\t\t\t\t\tnativeEvent: event,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction touch(el) {\r\n\t\t\tvar createInput = inputCreator();\r\n\r\n\t\t\treturn function (event) {\r\n\t\t\t\tvar targets = [];\r\n\r\n\t\t\t\tvar points = [];\r\n\t\t\t\tArray.from(event.touches).forEach(function (_a) {\r\n\t\t\t\t\tvar clientX = _a.clientX,\r\n\t\t\t\t\t\tclientY = _a.clientY,\r\n\t\t\t\t\t\ttarget = _a.target;\r\n\t\t\t\t\tif (el === null || el === void 0 ? void 0 : el.contains(target)) {\r\n\t\t\t\t\t\ttargets.push(target);\r\n\t\t\t\t\t\tpoints.push({\r\n\t\t\t\t\t\t\tclientX: clientX,\r\n\t\t\t\t\t\t\tclientY: clientY,\r\n\t\t\t\t\t\t\ttarget: target,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tvar changedPoints = Array.from(event.changedTouches).map(function (_a) {\r\n\t\t\t\t\tvar clientX = _a.clientX,\r\n\t\t\t\t\t\tclientY = _a.clientY,\r\n\t\t\t\t\t\ttarget = _a.target;\r\n\t\t\t\t\treturn { clientX: clientX, clientY: clientY, target: target };\r\n\t\t\t\t});\r\n\t\t\t\treturn createInput({\r\n\t\t\t\t\tphase: event.type.replace(\"touch\", \"\"),\r\n\t\t\t\t\tchangedPoints: changedPoints,\r\n\r\n\t\t\t\t\tpoints: points,\r\n\t\t\t\t\tnativeEvent: event,\r\n\t\t\t\t\ttarget: event.target,\r\n\r\n\t\t\t\t\ttargets: targets,\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction dispatchDomEvent(typeName, el, payload, eventInit) {\r\n\t\t\tvar data = {};\r\n\t\t\tfor (var key in payload) {\r\n\t\t\t\tif (![\"target\", \"currentTarget\", \"type\"].includes(key)) {\r\n\t\t\t\t\tdata[key] = payload[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar event;\r\n\t\t\tif (document.createEvent) {\r\n\t\t\t\tevent = document.createEvent(\"HTMLEvents\");\r\n\t\t\t\tevent.initEvent(\r\n\t\t\t\t\ttypeName,\r\n\t\t\t\t\teventInit === null || eventInit === void 0\r\n\t\t\t\t\t\t? void 0\r\n\t\t\t\t\t\t: eventInit.bubbles,\r\n\t\t\t\t\teventInit === null || eventInit === void 0\r\n\t\t\t\t\t\t? void 0\r\n\t\t\t\t\t\t: eventInit.cancelable\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tevent = new Event(typeName, eventInit);\r\n\t\t\t}\r\n\t\t\tObject.assign(event, data, {\r\n\t\t\t\tmatch: function () {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\tpayload.targets &&\r\n\t\t\t\t\t\t0 < payload.targets.length &&\r\n\t\t\t\t\t\tpayload.targets.every(function (target) {\r\n\t\t\t\t\t\t\treturn event.currentTarget.contains(target);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\treturn el.dispatchEvent(event);\r\n\t\t}\r\n\r\n\t\tfunction canPreventDefault(event, options) {\r\n\t\t\tvar preventDefault = options.preventDefault;\r\n\t\t\tif (isFunction(preventDefault)) {\r\n\t\t\t\treturn preventDefault(event);\r\n\t\t\t} else {\r\n\t\t\t\treturn !!preventDefault;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar ELEMENT_TYPES = [\r\n\t\t\tTOUCH_START,\r\n\t\t\tTOUCH_MOVE,\r\n\t\t\tTOUCH_END,\r\n\t\t\tTOUCH_CANCEL,\r\n\t\t\tMOUSE_DOWN,\r\n\t\t];\r\n\t\tvar WINDOW_TYPES = [MOUSE_MOVE, MOUSE_UP];\r\n\r\n\t\tfunction bindElement(el, catchEvent, options) {\r\n\t\t\tELEMENT_TYPES.forEach(function (type) {\r\n\t\t\t\tel.addEventListener(type, catchEvent, options);\r\n\t\t\t});\r\n\t\t\tWINDOW_TYPES.forEach(function (type) {\r\n\t\t\t\twindow.addEventListener(type, catchEvent, options);\r\n\t\t\t});\r\n\t\t\treturn function () {\r\n\t\t\t\tELEMENT_TYPES.forEach(function (types) {\r\n\t\t\t\t\tel.removeEventListener(types, catchEvent);\r\n\t\t\t\t});\r\n\t\t\t\tWINDOW_TYPES.forEach(function (type) {\r\n\t\t\t\t\twindow.removeEventListener(type, catchEvent);\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tvar TYPE_COMPUTED = \"computed\";\r\n\t\tvar DEFAULT_OPTIONS$6 = {\r\n\t\t\tdomEvents: { bubbles: true, cancelable: true },\r\n\r\n\t\t\tpreventDefault: function (event) {\r\n\t\t\t\tif (event.target && \"tagName\" in event.target) {\r\n\t\t\t\t\tvar tagName = event.target.tagName;\r\n\t\t\t\t\treturn !/^(?:INPUT|TEXTAREA|BUTTON|SELECT)$/.test(tagName);\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t},\r\n\t\t};\r\n\t\tvar TYPE_UNBIND = \"u\";\r\n\t\tvar TYPE_INPUT = \"input\";\r\n\t\tvar TYPE_AT_AFTER = \"at:after\";\r\n\t\tvar default_1$1 = (function (_super) {\r\n\t\t\t__extends(default_1, _super);\r\n\r\n\t\t\tfunction default_1(el, options) {\r\n\t\t\t\tvar _a;\r\n\r\n\t\t\t\tvar _this = _super.call(this) || this;\r\n\r\n\t\t\t\t_this.v = \"2.1.3\";\r\n\r\n\t\t\t\t_this.__computeFunctionList = [];\r\n\r\n\t\t\t\t_this.__computeFunctionCreatorList = [];\r\n\r\n\t\t\t\t_this.__pluginContexts = [];\r\n\t\t\t\t_this.__isIgnoreMouse = false;\r\n\r\n\t\t\t\t_this.el = el;\r\n\t\t\t\t_this.c = {};\r\n\t\t\t\t_this.__options = __assign(__assign({}, DEFAULT_OPTIONS$6), options);\r\n\r\n\t\t\t\tvar createInputFromTouch = touch(_this.el);\r\n\t\t\t\tvar createInputFromMouse = mouse();\r\n\r\n\t\t\t\t_this.__inputCreatorMap =\r\n\t\t\t\t\t((_a = {}),\r\n\t\t\t\t\t(_a[TOUCH_START] = createInputFromTouch),\r\n\t\t\t\t\t(_a[TOUCH_MOVE] = createInputFromTouch),\r\n\t\t\t\t\t(_a[TOUCH_END] = createInputFromTouch),\r\n\t\t\t\t\t(_a[TOUCH_CANCEL] = createInputFromTouch),\r\n\t\t\t\t\t(_a[MOUSE_DOWN] = createInputFromMouse),\r\n\t\t\t\t\t(_a[MOUSE_MOVE] = createInputFromMouse),\r\n\t\t\t\t\t(_a[MOUSE_UP] = createInputFromMouse),\r\n\t\t\t\t\t_a);\r\n\r\n\t\t\t\t_this.on(TYPE_AT_AFTER, function (payload) {\r\n\t\t\t\t\tvar target = payload.target,\r\n\t\t\t\t\t\t__type = payload.__type;\r\n\t\t\t\t\tvar domEvents = _this.__options.domEvents;\r\n\r\n\t\t\t\t\tif (!!domEvents && void 0 !== _this.el && !!target) {\r\n\t\t\t\t\t\tdispatchDomEvent(__type, target, payload, domEvents);\r\n\t\t\t\t\t\tdispatchDomEvent(TYPE_AT_AFTER, target, payload, domEvents);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (void 0 !== el) {\r\n\t\t\t\t\tel.style.webkitTapHighlightColor = \"rgba(0,0,0,0)\";\r\n\t\t\t\t\tvar supportsPassive_1 = false;\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar opts = {};\r\n\t\t\t\t\t\tOriginPrototype.Object.defineProperty(opts, \"passive\", {\r\n\t\t\t\t\t\t\tget: function () {\r\n\t\t\t\t\t\t\t\tsupportsPassive_1 = true;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\twindow.addEventListener(\r\n\t\t\t\t\t\t\t\"_\",\r\n\t\t\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t\t\treturn void 0;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\topts\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} catch (_b) {}\r\n\r\n\t\t\t\t\t_this.on(\r\n\t\t\t\t\t\tTYPE_UNBIND,\r\n\t\t\t\t\t\tbindElement(\r\n\t\t\t\t\t\t\tel,\r\n\t\t\t\t\t\t\t_this.catchEvent.bind(_this),\r\n\t\t\t\t\t\t\tfalse === _this.__options.preventDefault && supportsPassive_1\r\n\t\t\t\t\t\t\t\t? { passive: true }\r\n\t\t\t\t\t\t\t\t: { passive: false }\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\treturn _this;\r\n\t\t\t}\r\n\r\n\t\t\tdefault_1.prototype.use = function (plugin, pluginOptions) {\r\n\t\t\t\tthis.__pluginContexts.push(plugin(this, pluginOptions));\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.catchEvent = function (event) {\r\n\t\t\t\tvar input = this.__inputCreatorMap[event.type](event);\r\n\t\t\t\tif (void 0 !== input) {\r\n\t\t\t\t\tvar stopPropagation = function () {\r\n\t\t\t\t\t\treturn event.stopPropagation();\r\n\t\t\t\t\t};\r\n\t\t\t\t\tvar stopImmediatePropagation = function () {\r\n\t\t\t\t\t\treturn event.stopImmediatePropagation();\r\n\t\t\t\t\t};\r\n\t\t\t\t\tvar preventDefault = function () {\r\n\t\t\t\t\t\treturn event.preventDefault();\r\n\t\t\t\t\t};\r\n\t\t\t\t\tif (canPreventDefault(event, this.__options)) {\r\n\t\t\t\t\t\tpreventDefault();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (\"touchstart\" === event.type) {\r\n\t\t\t\t\t\t\tthis.__isIgnoreMouse = true;\r\n\t\t\t\t\t\t} else if (\"touchmove\" === event.type) {\r\n\t\t\t\t\t\t\tthis.__isIgnoreMouse = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.__isIgnoreMouse && event.type.startsWith(\"mouse\")) {\r\n\t\t\t\t\t\t\tif (\"mouseup\" === event.type) {\r\n\t\t\t\t\t\t\t\tthis.__isIgnoreMouse = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.emit(TYPE_INPUT, input);\r\n\t\t\t\t\tthis.emit2(\"at:\".concat(input.phase), input, {});\r\n\t\t\t\t\tvar computed_1 = {};\r\n\r\n\t\t\t\t\tthis.__computeFunctionList.forEach(function (compute) {\r\n\t\t\t\t\t\tvar result = compute(input, computed_1);\r\n\t\t\t\t\t\tif (void 0 !== result) {\r\n\t\t\t\t\t\t\tfor (var key in result) {\r\n\t\t\t\t\t\t\t\tcomputed_1[key] = result[key];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tthis.emit(\r\n\t\t\t\t\t\tTYPE_COMPUTED,\r\n\t\t\t\t\t\t__assign(__assign(__assign({}, input), computed_1), {\r\n\t\t\t\t\t\t\tstopPropagation: stopPropagation,\r\n\t\t\t\t\t\t\tstopImmediatePropagation: stopImmediatePropagation,\r\n\t\t\t\t\t\t\tpreventDefault: preventDefault,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tdefault_1.prototype.compute = function (\r\n\t\t\t\tcomputeFunctionCreatorList,\r\n\r\n\t\t\t\tcallback\r\n\t\t\t) {\r\n\t\t\t\tvar e_1, _a;\r\n\t\t\t\ttry {\r\n\t\t\t\t\tfor (\r\n\t\t\t\t\t\tvar computeFunctionCreatorList_1 = __values(\r\n\t\t\t\t\t\t\t\tcomputeFunctionCreatorList\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\tcomputeFunctionCreatorList_1_1 =\r\n\t\t\t\t\t\t\t\tcomputeFunctionCreatorList_1.next();\r\n\t\t\t\t\t\t!computeFunctionCreatorList_1_1.done;\r\n\t\t\t\t\t\tcomputeFunctionCreatorList_1_1 = computeFunctionCreatorList_1.next()\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tvar computeFunctionCreator = computeFunctionCreatorList_1_1.value;\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t!this.__computeFunctionCreatorList.includes(\r\n\t\t\t\t\t\t\t\tcomputeFunctionCreator\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tthis.__computeFunctionCreatorList.push(computeFunctionCreator);\r\n\r\n\t\t\t\t\t\t\tthis.__computeFunctionList.push(computeFunctionCreator());\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (e_1_1) {\r\n\t\t\t\t\te_1 = { error: e_1_1 };\r\n\t\t\t\t} finally {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tcomputeFunctionCreatorList_1_1 &&\r\n\t\t\t\t\t\t\t!computeFunctionCreatorList_1_1.done &&\r\n\t\t\t\t\t\t\t(_a = computeFunctionCreatorList_1.return)\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t_a.call(computeFunctionCreatorList_1);\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\tif (e_1) throw e_1.error;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.on(TYPE_COMPUTED, callback);\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.beforeEach = function (interceptor) {\r\n\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\t_super.prototype.beforeEach.call(this, function (type, next) {\r\n\t\t\t\t\tvar _a;\r\n\t\t\t\t\tif ((_a = _this.c) === null || _a === void 0 ? void 0 : _a.name) {\r\n\t\t\t\t\t\tinterceptor(type, next);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnext();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.get = function (name) {\r\n\t\t\t\treturn this.__pluginContexts.find(function (pluginContext) {\r\n\t\t\t\t\treturn name === pluginContext.name;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.set = function (newOptions) {\r\n\t\t\t\tthis.__options = __assign(__assign({}, this.__options), newOptions);\r\n\t\t\t};\r\n\r\n\t\t\tdefault_1.prototype.emit2 = function (type, payload, pluginContext) {\r\n\t\t\t\tvar _this = this;\r\n\t\t\t\tthis.c = pluginContext;\r\n\r\n\t\t\t\tthis.emit(\r\n\t\t\t\t\ttype,\r\n\t\t\t\t\t__assign(__assign({}, payload), { type: type }),\r\n\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t_this.emit(\r\n\t\t\t\t\t\t\tTYPE_AT_AFTER,\r\n\t\t\t\t\t\t\t__assign(__assign({}, payload), { name: type, __type: type })\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t\tdefault_1.prototype.destroy = function () {\r\n\t\t\t\tthis.emit(TYPE_UNBIND);\r\n\t\t\t\t_super.prototype.destroy.call(this);\r\n\t\t\t};\r\n\t\t\treturn default_1;\r\n\t\t})(AnyEvent);\r\n\r\n\t\tvar getVLength = function (v) {\r\n\t\t\treturn Math.sqrt(v.x * v.x + v.y * v.y);\r\n\t\t};\r\n\r\n\t\tvar getDotProduct = function (v1, v2) {\r\n\t\t\treturn v1.x * v2.x + v1.y * v2.y;\r\n\t\t};\r\n\r\n\t\tvar getRadian = function (v1, v2) {\r\n\t\t\tvar mr = getVLength(v1) * getVLength(v2);\r\n\t\t\tif (mr === 0) return 0;\r\n\t\t\tvar r = getDotProduct(v1, v2) / mr;\r\n\t\t\tif (r > 1) r = 1;\r\n\t\t\treturn Math.acos(r);\r\n\t\t};\r\n\r\n\t\tvar getCross = function (v1, v2) {\r\n\t\t\treturn v1.x * v2.y - v2.x * v1.y;\r\n\t\t};\r\n\r\n\t\tvar radianToAngle = function (radian) {\r\n\t\t\treturn (radian / Math.PI) * 180;\r\n\t\t};\r\n\r\n\t\tvar getAngle = function (v1, v2) {\r\n\t\t\tvar angle = getRadian(v1, v2);\r\n\t\t\tif (getCross(v1, v2) > 0) {\r\n\t\t\t\tangle *= -1;\r\n\t\t\t}\r\n\t\t\treturn radianToAngle(angle);\r\n\t\t};\r\n\r\n\t\tvar getDirection = function (x, y) {\r\n\t\t\tif (0 === x && 0 === y) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (Math.abs(x) >= Math.abs(y)) {\r\n\t\t\t\treturn 0 < x ? DIRECTION_RIGHT : DIRECTION_LEFT;\r\n\t\t\t} else {\r\n\t\t\t\treturn 0 < y ? DIRECTION_DOWN : DIRECTION_UP;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction ComputeAngle() {\r\n\t\t\tvar angle = 0;\r\n\t\t\tvar deltaAngle = 0;\r\n\r\n\t\t\treturn function (input, computed) {\r\n\t\t\t\tvar prevVecotr = computed.prevVecotr,\r\n\t\t\t\t\tstartVecotr = computed.startVecotr,\r\n\t\t\t\t\tactiveVecotr = computed.activeVecotr;\r\n\t\t\t\tif (activeVecotr) {\r\n\t\t\t\t\tdeltaAngle = Math.round(getAngle(activeVecotr, prevVecotr));\r\n\t\t\t\t\tangle = Math.round(getAngle(activeVecotr, startVecotr));\r\n\t\t\t\t}\r\n\t\t\t\treturn { angle: angle, deltaAngle: deltaAngle };\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeDeltaXY() {\r\n\t\t\treturn function (input) {\r\n\t\t\t\tvar prevInput = input.prevInput;\r\n\t\t\t\tvar deltaX = 0;\r\n\t\t\t\tvar deltaY = 0;\r\n\t\t\t\tvar deltaXYAngle = 0;\r\n\t\t\t\tif (void 0 !== prevInput) {\r\n\t\t\t\t\tdeltaX = input.x - prevInput.x;\r\n\t\t\t\t\tdeltaY = input.y - prevInput.y;\r\n\t\t\t\t\tif (0 !== deltaX || 0 !== deltaY) {\r\n\t\t\t\t\t\tvar deltaXY = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t\t\t\t\t\tdeltaXYAngle = Math.round(\r\n\t\t\t\t\t\t\tradianToAngle(Math.acos(Math.abs(deltaX) / deltaXY))\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdeltaX: deltaX,\r\n\t\t\t\t\tdeltaY: deltaY,\r\n\t\t\t\t\tdeltaXYAngle: deltaXYAngle,\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeDistance() {\r\n\t\t\tvar displacementX = 0;\r\n\t\t\tvar displacementY = 0;\r\n\t\t\tvar distanceX = 0;\r\n\t\t\tvar distanceY = 0;\r\n\t\t\tvar distance = 0;\r\n\r\n\t\t\tvar overallDirection;\r\n\r\n\t\t\treturn function (input) {\r\n\t\t\t\tvar phase = input.phase,\r\n\t\t\t\t\tstartInput = input.startInput;\r\n\t\t\t\tif (TYPE_START === phase) {\r\n\t\t\t\t\tdisplacementX = 0;\r\n\t\t\t\t\tdisplacementY = 0;\r\n\t\t\t\t\tdistanceX = 0;\r\n\t\t\t\t\tdistanceY = 0;\r\n\t\t\t\t\tdistance = 0;\r\n\t\t\t\t} else if (TYPE_MOVE === phase) {\r\n\t\t\t\t\tdisplacementX = Math.round(\r\n\t\t\t\t\t\tinput.points[0][CLIENT_X] - startInput.points[0][CLIENT_X]\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdisplacementY = Math.round(\r\n\t\t\t\t\t\tinput.points[0][CLIENT_Y] - startInput.points[0][CLIENT_Y]\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdistanceX = Math.abs(displacementX);\r\n\t\t\t\t\tdistanceY = Math.abs(displacementY);\r\n\t\t\t\t\tdistance = Math.round(getVLength({ x: distanceX, y: distanceY }));\r\n\t\t\t\t\toverallDirection = getDirection(displacementX, displacementY);\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdisplacementX: displacementX,\r\n\t\t\t\t\tdisplacementY: displacementY,\r\n\t\t\t\t\tdistanceX: distanceX,\r\n\t\t\t\t\tdistanceY: distanceY,\r\n\t\t\t\t\tdistance: distance,\r\n\r\n\t\t\t\t\toverallDirection: overallDirection,\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeScale() {\r\n\t\t\tvar scale = 1;\r\n\r\n\t\t\treturn function (input, computed) {\r\n\t\t\t\tvar deltaScale = 1;\r\n\t\t\t\tvar prevVecotr = computed.prevVecotr,\r\n\t\t\t\t\tstartVecotr = computed.startVecotr,\r\n\t\t\t\t\tactiveVecotr = computed.activeVecotr;\r\n\t\t\t\tif (activeVecotr) {\r\n\t\t\t\t\tdeltaScale = round2(\r\n\t\t\t\t\t\tgetVLength(activeVecotr) / getVLength(prevVecotr)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tscale = round2(getVLength(activeVecotr) / getVLength(startVecotr));\r\n\t\t\t\t}\r\n\t\t\t\treturn { scale: scale, deltaScale: deltaScale };\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeVAndDir() {\r\n\t\t\tvar velocityX = 0;\r\n\t\t\tvar velocityY = 0;\r\n\t\t\tvar speedX = 0;\r\n\t\t\tvar speedY = 0;\r\n\r\n\t\t\tvar direction;\r\n\r\n\t\t\tvar lastValidInput;\r\n\r\n\t\t\treturn function (input) {\r\n\t\t\t\tif (void 0 !== input) {\r\n\t\t\t\t\tlastValidInput = lastValidInput || input.startInput;\r\n\t\t\t\t\tvar deltaTime = input.timestamp - lastValidInput.timestamp;\r\n\t\t\t\t\tif (COMPUTE_INTERVAL < deltaTime) {\r\n\t\t\t\t\t\tvar deltaX = input.x - lastValidInput.x;\r\n\t\t\t\t\t\tvar deltaY = input.y - lastValidInput.y;\r\n\t\t\t\t\t\tspeedX = Math.round((deltaX / deltaTime) * 100) / 100;\r\n\t\t\t\t\t\tspeedY = Math.round((deltaY / deltaTime) * 100) / 100;\r\n\t\t\t\t\t\tvelocityX = Math.abs(speedX);\r\n\t\t\t\t\t\tvelocityY = Math.abs(speedY);\r\n\t\t\t\t\t\tdirection = getDirection(deltaX, deltaY);\r\n\t\t\t\t\t\tlastValidInput = input;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tvelocityX: velocityX,\r\n\t\t\t\t\tvelocityY: velocityY,\r\n\t\t\t\t\tspeedX: speedX,\r\n\t\t\t\t\tspeedY: speedY,\r\n\r\n\t\t\t\t\tdirection: direction,\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction ComputeMaxLength() {\r\n\t\t\tvar maxPointLength = 0;\r\n\r\n\t\t\treturn function (input) {\r\n\t\t\t\tvar phase = input.phase;\r\n\t\t\t\tif (TYPE_START === phase) {\r\n\t\t\t\t\tmaxPointLength = input.pointLength;\r\n\t\t\t\t}\r\n\t\t\t\treturn { maxPointLength: maxPointLength };\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction computeVector(input) {\r\n\t\t\treturn {\r\n\t\t\t\tx: input.points[1][CLIENT_X] - input.points[0][CLIENT_X],\r\n\t\t\t\ty: input.points[1][CLIENT_Y] - input.points[0][CLIENT_Y],\r\n\t\t\t};\r\n\t\t}\r\n\t\tfunction ComputeVectorForMutli() {\r\n\t\t\tvar startVecotr;\r\n\r\n\t\t\tvar prevVecotr;\r\n\t\t\tvar activeVecotr;\r\n\r\n\t\t\treturn function (input) {\r\n\t\t\t\tvar prevInput = input.prevInput,\r\n\t\t\t\t\tstartMultiInput = input.startMultiInput;\r\n\t\t\t\tif (\r\n\t\t\t\t\tvoid 0 !== startMultiInput &&\r\n\t\t\t\t\tvoid 0 !== prevInput &&\r\n\t\t\t\t\tinput.id !== startMultiInput.id &&\r\n\t\t\t\t\t1 < prevInput.pointLength &&\r\n\t\t\t\t\t1 < input.pointLength\r\n\t\t\t\t) {\r\n\t\t\t\t\tstartVecotr = computeVector(startMultiInput);\r\n\t\t\t\t\tprevVecotr = computeVector(prevInput);\r\n\t\t\t\t\tactiveVecotr = computeVector(input);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tactiveVecotr = void 0;\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstartVecotr: startVecotr,\r\n\r\n\t\t\t\t\tprevVecotr: prevVecotr,\r\n\t\t\t\t\tactiveVecotr: activeVecotr,\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$5 = {\r\n\t\t\tname: \"tap\",\r\n\t\t\tpointLength: 1,\r\n\t\t\ttapTimes: 1,\r\n\t\t\twaitNextTapTime: 300,\r\n\t\t\tmaxDistance: 2,\r\n\t\t\tmaxDistanceFromPrevTap: 9,\r\n\t\t\tmaxPressTime: 250,\r\n\t\t};\r\n\r\n\t\tfunction tap(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$5, options);\r\n\t\t\tvar tapCount = 0;\r\n\r\n\t\t\tvar prevTapPoint;\r\n\r\n\t\t\tvar prevTapTime;\r\n\r\n\t\t\tvar countDownToFailTimer;\r\n\t\t\tfunction reset() {\r\n\t\t\t\ttapCount = 0;\r\n\t\t\t\tprevTapPoint = void 0;\r\n\t\t\t\tprevTapTime = void 0;\r\n\t\t\t}\r\n\t\t\tfunction countDownToFail() {\r\n\t\t\t\tcountDownToFailTimer = setTimeout(function () {\r\n\t\t\t\t\tcontext.state = 2;\r\n\t\t\t\t\treset();\r\n\t\t\t\t}, context.waitNextTapTime);\r\n\t\t\t}\r\n\r\n\t\t\tfunction isValidDistanceFromPrevTap(center, options) {\r\n\t\t\t\tif (void 0 !== prevTapPoint) {\r\n\t\t\t\t\tvar distanceFromPreviousTap = getVLength({\r\n\t\t\t\t\t\tx: center.x - prevTapPoint.x,\r\n\r\n\t\t\t\t\t\ty: center.y - prevTapPoint.y,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tprevTapPoint = center;\r\n\t\t\t\t\treturn options.maxDistanceFromPrevTap >= distanceFromPreviousTap;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tprevTapPoint = center;\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction isValidInterval(waitNextTapTime) {\r\n\t\t\t\tvar now = performance.now();\r\n\r\n\t\t\t\tif (void 0 === prevTapTime) {\r\n\t\t\t\t\tprevTapTime = now;\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar interval = now - prevTapTime;\r\n\t\t\t\t\tprevTapTime = now;\r\n\t\t\t\t\treturn interval < waitNextTapTime;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tat.compute([ComputeDistance, ComputeMaxLength], function (computed) {\r\n\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\tvar phase = computed.phase,\r\n\t\t\t\t\tx = computed.x,\r\n\t\t\t\t\ty = computed.y;\r\n\t\t\t\tif (TYPE_END !== phase) return;\r\n\t\t\t\tcontext.state = 0;\r\n\t\t\t\tif (test()) {\r\n\t\t\t\t\tclearTimeout(countDownToFailTimer);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tisValidDistanceFromPrevTap({ x: x, y: y }, context) &&\r\n\t\t\t\t\t\tisValidInterval(context.waitNextTapTime)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\ttapCount++;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttapCount = 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (0 === tapCount % context.tapTimes) {\r\n\t\t\t\t\t\tcontext.state = 1;\r\n\t\t\t\t\t\tat.emit2(context.name, computed, context);\r\n\t\t\t\t\t\treset();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcountDownToFail();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\treset();\r\n\t\t\t\t\tcontext.state = 2;\r\n\t\t\t\t}\r\n\t\t\t\tfunction test() {\r\n\t\t\t\t\tvar startInput = computed.startInput,\r\n\t\t\t\t\t\tpointLength = computed.pointLength,\r\n\t\t\t\t\t\ttimestamp = computed.timestamp;\r\n\t\t\t\t\tvar deltaTime = timestamp - startInput.timestamp;\r\n\t\t\t\t\tvar distance = computed.distance,\r\n\t\t\t\t\t\tmaxPointLength = computed.maxPointLength;\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\tmaxPointLength === context.pointLength &&\r\n\t\t\t\t\t\t0 === pointLength &&\r\n\t\t\t\t\t\tcontext.maxDistance >= distance &&\r\n\t\t\t\t\t\tcontext.maxPressTime > deltaTime\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$4 = { name: \"pan\", threshold: 10, pointLength: 1 };\r\n\r\n\t\tfunction pan(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$4, options);\r\n\t\t\tat.compute(\r\n\t\t\t\t[ComputeVAndDir, ComputeDistance, ComputeDeltaXY],\r\n\r\n\t\t\t\tfunction (computed) {\r\n\t\t\t\t\tresetState(context);\r\n\t\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\t\tvar isValid = test();\r\n\t\t\t\t\tcontext.state = flow(isValid, context.state, computed.phase);\r\n\t\t\t\t\tif (isValid || isMoveOrEndOrCancel(context.state)) {\r\n\t\t\t\t\t\tvar name_1 = context.name;\r\n\t\t\t\t\t\tat.emit2(name_1, computed, context);\r\n\t\t\t\t\t\tat.emit2(name_1 + getStatusName(context.state), computed, context);\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t![TYPE_END, TYPE_CANCEL].includes(computed.phase) &&\r\n\t\t\t\t\t\t\tcomputed.direction\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tat.emit2(name_1 + computed.direction, computed, context);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction test() {\r\n\t\t\t\t\t\tvar pointLength = computed.pointLength,\r\n\t\t\t\t\t\t\tdistance = computed.distance;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcontext.pointLength === pointLength &&\r\n\t\t\t\t\t\t\tcontext.threshold <= distance\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$3 = {\r\n\t\t\tname: \"swipe\",\r\n\t\t\tthreshold: 10,\r\n\t\t\tvelocity: 0.3,\r\n\t\t\tpointLength: 1,\r\n\t\t};\r\n\r\n\t\tfunction swipe(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$3, options);\r\n\t\t\tat.compute(\r\n\t\t\t\t[ComputeDistance, ComputeVAndDir, ComputeMaxLength],\r\n\r\n\t\t\t\tfunction (computed) {\r\n\t\t\t\t\tcontext.state = 0;\r\n\t\t\t\t\tif (context.disabled) return;\r\n\t\t\t\t\tif (test()) {\r\n\t\t\t\t\t\tvar name_1 = context.name;\r\n\t\t\t\t\t\tcontext.state = 1;\r\n\t\t\t\t\t\tat.emit2(name_1, computed, context);\r\n\t\t\t\t\t\tat.emit2(name_1 + computed.direction, computed, context);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction test() {\r\n\t\t\t\t\t\tif (TYPE_END !== computed.phase) return false;\r\n\t\t\t\t\t\tvar velocityX = computed.velocityX,\r\n\t\t\t\t\t\t\tvelocityY = computed.velocityY,\r\n\t\t\t\t\t\t\tdistance = computed.distance,\r\n\t\t\t\t\t\t\tmaxPointLength = computed.maxPointLength;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tmaxPointLength === context.pointLength &&\r\n\t\t\t\t\t\t\t0 === computed.points.length &&\r\n\t\t\t\t\t\t\tcontext.threshold < distance &&\r\n\t\t\t\t\t\t\tcontext.velocity < Math.max(velocityX, velocityY)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$2 = {\r\n\t\t\tname: \"press\",\r\n\t\t\tpointLength: 1,\r\n\t\t\tmaxDistance: 9,\r\n\t\t\tminPressTime: 251,\r\n\t\t};\r\n\r\n\t\tfunction press(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$2, options);\r\n\t\t\tvar timeoutId = 0;\r\n\r\n\t\t\tat.compute([ComputeDistance], function (computed) {\r\n\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\tvar phase = computed.phase,\r\n\t\t\t\t\tstartInput = computed.startInput,\r\n\t\t\t\t\tpointLength = computed.pointLength;\r\n\t\t\t\tif (TYPE_START === phase && context.pointLength === pointLength) {\r\n\t\t\t\t\tresetState(context);\r\n\t\t\t\t\tclearTimeout(timeoutId);\r\n\t\t\t\t\ttimeoutId = setTimeout(function () {\r\n\t\t\t\t\t\tcontext.state = 1;\r\n\t\t\t\t\t\tat.emit2(context.name, computed, context);\r\n\t\t\t\t\t}, context.minPressTime);\r\n\t\t\t\t} else if (TYPE_END === phase && 1 === context.state) {\r\n\t\t\t\t\tat.emit2(\r\n\t\t\t\t\t\t\"\".concat(context.name).concat(DIRECTION_UP),\r\n\t\t\t\t\t\tcomputed,\r\n\t\t\t\t\t\tcontext\r\n\t\t\t\t\t);\r\n\t\t\t\t} else if (1 !== context.state) {\r\n\t\t\t\t\tvar deltaTime = computed.timestamp - startInput.timestamp;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t!test() ||\r\n\t\t\t\t\t\t(context.minPressTime > deltaTime &&\r\n\t\t\t\t\t\t\t[TYPE_END, TYPE_CANCEL].includes(phase))\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tclearTimeout(timeoutId);\r\n\t\t\t\t\t\tcontext.state = 2;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tfunction test() {\r\n\t\t\t\t\tvar distance = computed.distance;\r\n\t\t\t\t\treturn distance && context.maxDistance > distance;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS$1 = {\r\n\t\t\tname: \"pinch\",\r\n\t\t\tthreshold: 0,\r\n\t\t\tpointLength: 2,\r\n\t\t};\r\n\r\n\t\tfunction pinch(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS$1, options);\r\n\t\t\tat.compute(\r\n\t\t\t\t[ComputeVectorForMutli, ComputeScale],\r\n\r\n\t\t\t\tfunction (computed) {\r\n\t\t\t\t\tresetState(context);\r\n\t\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\t\tvar isValid = test();\r\n\t\t\t\t\tcontext.state = flow(isValid, context.state, computed.phase);\r\n\t\t\t\t\tvar name = context.name;\r\n\t\t\t\t\tif (isValid || isMoveOrEndOrCancel(context.state)) {\r\n\t\t\t\t\t\tat.emit2(name, computed, context);\r\n\t\t\t\t\t\tvar deltaScale = computed.deltaScale;\r\n\t\t\t\t\t\tif (1 !== deltaScale) {\r\n\t\t\t\t\t\t\tat.emit2(\r\n\t\t\t\t\t\t\t\tname + (1 < deltaScale ? \"in\" : \"out\"),\r\n\t\t\t\t\t\t\t\tcomputed,\r\n\t\t\t\t\t\t\t\tcontext\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar stateName = getStatusName(context.state);\r\n\t\t\t\t\tif (stateName) {\r\n\t\t\t\t\t\tat.emit2(name + stateName, computed, context);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction test() {\r\n\t\t\t\t\t\tvar pointLength = computed.pointLength,\r\n\t\t\t\t\t\t\tscale = computed.scale;\r\n\t\t\t\t\t\tcomputed.deltaScale;\r\n\t\t\t\t\t\tcomputed.phase;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcontext.pointLength === pointLength &&\r\n\t\t\t\t\t\t\tcontext.threshold < Math.abs(scale - 1)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tvar DEFAULT_OPTIONS = {\r\n\t\t\tname: \"rotate\",\r\n\t\t\tthreshold: 0,\r\n\t\t\tpointLength: 2,\r\n\t\t};\r\n\r\n\t\tfunction rotate(at, options) {\r\n\t\t\tvar context = createPluginContext(DEFAULT_OPTIONS, options);\r\n\t\t\tat.compute(\r\n\t\t\t\t[ComputeVectorForMutli, ComputeAngle],\r\n\r\n\t\t\t\tfunction (computed) {\r\n\t\t\t\t\tif (isDisabled(context)) return;\r\n\t\t\t\t\tresetState(context);\r\n\t\t\t\t\tvar isValid = test();\r\n\t\t\t\t\tcontext.state = flow(isValid, context.state, computed.phase);\r\n\t\t\t\t\tvar name = context.name;\r\n\t\t\t\t\tif (isValid || isMoveOrEndOrCancel(context.state)) {\r\n\t\t\t\t\t\tat.emit2(name, computed, context);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar stateName = getStatusName(context.state);\r\n\t\t\t\t\tif (stateName) {\r\n\t\t\t\t\t\tat.emit2(name + stateName, computed, context);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfunction test() {\r\n\t\t\t\t\t\tvar pointLength = computed.pointLength,\r\n\t\t\t\t\t\t\tangle = computed.angle;\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcontext.pointLength === pointLength &&\r\n\t\t\t\t\t\t\tcontext.threshold < Math.abs(angle)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\tfunction doubletap(at) {\r\n\t\t\tat.use(tap, { name: \"doubletap\", tapTimes: 2 });\r\n\t\t\tvar doubleTapContext = at.get(\"doubletap\");\r\n\r\n\t\t\tvar timeID;\r\n\r\n\t\t\tat.beforeEach(function (type, next) {\r\n\t\t\t\tif (\"tap\" === type) {\r\n\t\t\t\t\tclearTimeout(timeID);\r\n\t\t\t\t\ttimeID = setTimeout(function () {\r\n\t\t\t\t\t\tif ([0, 2].includes(doubleTapContext.state)) {\r\n\t\t\t\t\t\t\tnext();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, 300);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnext();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn doubleTapContext;\r\n\t\t}\r\n\r\n\t\tvar default_1 = (function (_super) {\r\n\t\t\t__extends(default_1, _super);\r\n\r\n\t\t\tfunction default_1(el, options) {\r\n\t\t\t\tvar _this = _super.call(this, el, options) || this;\r\n\t\t\t\t_this.use(tap);\r\n\t\t\t\t_this.use(pan);\r\n\t\t\t\t_this.use(swipe);\r\n\t\t\t\t_this.use(press);\r\n\t\t\t\t_this.use(pinch);\r\n\t\t\t\t_this.use(rotate);\r\n\t\t\t\treturn _this;\r\n\t\t\t}\r\n\t\t\tdefault_1.STATE_POSSIBLE = 0;\r\n\t\t\tdefault_1.STATE_START = 4;\r\n\t\t\tdefault_1.STATE_MOVE = 5;\r\n\t\t\tdefault_1.STATE_END = 1;\r\n\t\t\tdefault_1.STATE_CANCELLED = 3;\r\n\t\t\tdefault_1.STATE_FAILED = 2;\r\n\t\t\tdefault_1.STATE_RECOGNIZED = 1;\r\n\t\t\tdefault_1.tap = tap;\r\n\t\t\tdefault_1.pan = pan;\r\n\t\t\tdefault_1.swipe = swipe;\r\n\t\t\tdefault_1.press = press;\r\n\t\t\tdefault_1.rotate = rotate;\r\n\t\t\tdefault_1.pinch = pinch;\r\n\t\t\tdefault_1.doubletap = doubletap;\r\n\t\t\treturn default_1;\r\n\t\t})(default_1$1);\r\n\r\n\t\treturn default_1;\r\n\t});\r\n};\r\n","import { PopsCore } from \"../Core\";\nimport { popsDOMUtils } from \"./PopsDOMUtils\";\nimport { AnyTouch } from \"./AnyTouch\";\nclass PopsUtils {\n /**\n * 判断是否是window,例如window、self、globalThis\n * @param target\n */\n isWin(target) {\n if (typeof target !== \"object\") {\n return false;\n }\n if (target instanceof Node) {\n return false;\n }\n if (target === globalThis) {\n return true;\n }\n if (target === window) {\n return true;\n }\n if (target === self) {\n return true;\n }\n if (target === PopsCore.globalThis) {\n return true;\n }\n if (target === PopsCore.window) {\n return true;\n }\n if (target === PopsCore.self) {\n return true;\n }\n if (typeof unsafeWindow !== \"undefined\" &&\n target === unsafeWindow) {\n return true;\n }\n if (target?.Math?.toString() !== \"[object Math]\") {\n return false;\n }\n return true;\n }\n isDOM(target) {\n return target instanceof Node;\n }\n /**\n * 删除对象上的属性\n * @param target\n * @param propName\n */\n delete(target, propName) {\n if (typeof Reflect === \"object\" && Reflect.deleteProperty) {\n Reflect.deleteProperty(target, propName);\n }\n else {\n delete target[propName];\n }\n }\n assign(target = {}, source = {}, isAdd = false) {\n let UtilsContext = this;\n if (source == null) {\n return target;\n }\n if (target == null) {\n target = {};\n }\n if (Array.isArray(source)) {\n let canTraverse = source.filter((item) => {\n return typeof item === \"object\";\n });\n if (!canTraverse.length) {\n return source;\n }\n }\n if (isAdd) {\n for (const sourceKeyName in source) {\n const targetKeyName = sourceKeyName;\n let targetValue = target[targetKeyName];\n let sourceValue = source[sourceKeyName];\n if (typeof sourceValue === \"object\" &&\n sourceValue != null &&\n sourceKeyName in target &&\n !UtilsContext.isDOM(sourceValue)) {\n /* 源端的值是object类型,且不是元素节点 */\n target[sourceKeyName] = UtilsContext.assign(targetValue, sourceValue, isAdd);\n continue;\n }\n target[sourceKeyName] = sourceValue;\n }\n }\n else {\n for (const targetKeyName in target) {\n if (targetKeyName in source) {\n // @ts-ignore\n let targetValue = target[targetKeyName];\n // @ts-ignore\n let sourceValue = source[targetKeyName];\n if (typeof sourceValue === \"object\" &&\n sourceValue != null &&\n !UtilsContext.isDOM(sourceValue) &&\n Object.keys(sourceValue).length) {\n /* 源端的值是object类型,且不是元素节点 */\n // @ts-ignore\n target[targetKeyName] = UtilsContext.assign(targetValue, sourceValue, isAdd);\n continue;\n }\n /* 直接赋值 */\n // @ts-ignore\n target[targetKeyName] = sourceValue;\n }\n }\n }\n return target;\n }\n /**\n * 生成uuid\n */\n getRandomGUID() {\n if (typeof PopsCore.globalThis?.crypto?.randomUUID === \"function\") {\n return PopsCore.globalThis.crypto.randomUUID();\n }\n else {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (charStr) {\n var randomValue = (Math.random() * 16) | 0, randomCharValue = charStr === \"x\" ? randomValue : (randomValue & 0x3) | 0x8;\n return randomCharValue.toString(16);\n });\n }\n }\n /**\n * 字符串转HTMLElement\n * @param elementString\n * @returns\n */\n parseTextToDOM(elementString) {\n /* 去除前后的换行和空格 */\n elementString = elementString\n .replace(/^[\\n|\\s]*/g, \"\")\n .replace(/[\\n|\\s]*$/g, \"\");\n let targetElement = popsDOMUtils.createElement(\"div\", {\n innerHTML: elementString,\n });\n return targetElement.firstChild;\n }\n contains(context, target) {\n if (arguments.length === 1) {\n // 只判断该页面是否存在该元素\n return this.contains(PopsCore.document.body || PopsCore.document.documentElement, arguments[0]);\n }\n else {\n if (typeof target[Symbol.iterator] === \"function\") {\n // 可遍历的数组\n let flag = true;\n for (const targetNode of target) {\n if (!context.contains(targetNode)) {\n flag = false;\n break;\n }\n }\n return flag;\n }\n else {\n return context.contains(target);\n }\n }\n }\n formatTime(text = new Date(), formatType = \"yyyy-MM-dd HH:mm:ss\") {\n let time = text == null ? new Date() : new Date(text);\n /**\n * 校验时间补0\n * @param timeNum\n * @returns\n */\n function checkTime(timeNum) {\n if (timeNum < 10)\n return \"0\" + timeNum;\n return timeNum;\n }\n /**\n * 时间制修改 24小时制转12小时制\n * @param hourNum 小时\n * @returns\n */\n function timeSystemChange(hourNum) {\n return hourNum > 12 ? hourNum - 12 : hourNum;\n }\n let timeRegexp = {\n yyyy: time.getFullYear(),\n /* 年 */\n MM: checkTime(time.getMonth() + 1),\n /* 月 */\n dd: checkTime(time.getDate()),\n /* 日 */\n HH: checkTime(time.getHours()),\n /* 时 (24小时制) */\n hh: checkTime(timeSystemChange(time.getHours())),\n /* 时 (12小时制) */\n mm: checkTime(time.getMinutes()),\n /* 分 */\n ss: checkTime(time.getSeconds()),\n /* 秒 */\n };\n Object.keys(timeRegexp).forEach(function (key) {\n let replaecRegexp = new RegExp(key, \"g\");\n formatType = formatType.replace(replaecRegexp, timeRegexp[key]);\n });\n return formatType;\n }\n formatByteToSize(byteSize, addType = true) {\n byteSize = parseInt(byteSize.toString());\n if (isNaN(byteSize)) {\n throw new Error(\"Utils.formatByteToSize 参数 byteSize 格式不正确\");\n }\n let result = 0;\n let resultType = \"KB\";\n let sizeData = {};\n sizeData.B = 1;\n sizeData.KB = 1024;\n sizeData.MB = sizeData.KB * sizeData.KB;\n sizeData.GB = sizeData.MB * sizeData.KB;\n sizeData.TB = sizeData.GB * sizeData.KB;\n sizeData.PB = sizeData.TB * sizeData.KB;\n sizeData.EB = sizeData.PB * sizeData.KB;\n sizeData.ZB = sizeData.EB * sizeData.KB;\n sizeData.YB = sizeData.ZB * sizeData.KB;\n sizeData.BB = sizeData.YB * sizeData.KB;\n sizeData.NB = sizeData.BB * sizeData.KB;\n sizeData.DB = sizeData.NB * sizeData.KB;\n for (let key in sizeData) {\n result = byteSize / sizeData[key];\n resultType = key;\n if (sizeData.KB >= result) {\n break;\n }\n }\n result = result.toFixed(2);\n result = addType\n ? result + resultType.toString()\n : parseFloat(result.toString());\n return result;\n }\n AnyTouch = AnyTouch;\n}\nconst popsUtils = new PopsUtils();\nexport { popsUtils };\n","import { SymbolEvents } from \"../Config\";\nimport { OriginPrototype, PopsCore } from \"../Core\";\nimport { popsUtils } from \"./PopsUtils\";\nclass PopsDOMUtilsEvent {\n on(element, eventType, selector, callback, option) {\n /**\n * 获取option配置\n * @param args\n * @param startIndex\n * @param option\n */\n function getOption(args, startIndex, option) {\n if (typeof args[startIndex] === \"boolean\") {\n option.capture = args[startIndex];\n if (typeof args[startIndex + 1] === \"boolean\") {\n option.once = args[startIndex + 1];\n }\n if (typeof args[startIndex + 2] === \"boolean\") {\n option.passive = args[startIndex + 2];\n }\n }\n else if (typeof args[startIndex] === \"object\" &&\n (\"capture\" in args[startIndex] ||\n \"once\" in args[startIndex] ||\n \"passive\" in args[startIndex])) {\n option.capture = args[startIndex].capture;\n option.once = args[startIndex].once;\n option.passive = args[startIndex].passive;\n }\n return option;\n }\n let DOMUtilsContext = this;\n let args = arguments;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n let _selector_ = selector;\n let _callback_ = callback;\n let _option_ = {\n capture: false,\n once: false,\n passive: false,\n };\n if (typeof selector === \"function\") {\n /* 这是为没有selector的情况 */\n _selector_ = void 0;\n _callback_ = selector;\n _option_ = getOption(args, 3, _option_);\n }\n else {\n /* 这是存在selector的情况 */\n _option_ = getOption(args, 4, _option_);\n }\n /**\n * 如果是once,那么删除该监听和元素上的事件和监听\n */\n function checkOptionOnceToRemoveEventListener() {\n if (_option_.once) {\n DOMUtilsContext.off(element, eventType, selector, callback, option);\n }\n }\n elementList.forEach((elementItem) => {\n function ownCallBack(event) {\n let target = event.target;\n if (_selector_) {\n /* 存在自定义子元素选择器 */\n let totalParent = popsUtils.isWin(elementItem)\n ? PopsCore.document.documentElement\n : elementItem;\n if (target.matches(_selector_)) {\n /* 当前目标可以被selector所匹配到 */\n _callback_.call(target, event);\n checkOptionOnceToRemoveEventListener();\n }\n else if (target.closest(_selector_) &&\n totalParent.contains(target.closest(_selector_))) {\n /* 在上层与主元素之间寻找可以被selector所匹配到的 */\n let closestElement = target.closest(_selector_);\n /* event的target值不能直接修改 */\n OriginPrototype.Object.defineProperty(event, \"target\", {\n get() {\n return closestElement;\n },\n });\n _callback_.call(closestElement, event);\n checkOptionOnceToRemoveEventListener();\n }\n }\n else {\n _callback_.call(elementItem, event);\n checkOptionOnceToRemoveEventListener();\n }\n }\n /* 遍历事件名设置元素事件 */\n eventTypeList.forEach((eventName) => {\n elementItem.addEventListener(eventName, ownCallBack, _option_);\n if (_callback_ && _callback_.delegate) {\n elementItem.setAttribute(\"data-delegate\", _selector_);\n }\n /* 获取对象上的事件 */\n let elementEvents = elementItem[SymbolEvents] || {};\n /* 初始化对象上的xx事件 */\n elementEvents[eventName] = elementEvents[eventName] || [];\n elementEvents[eventName].push({\n selector: _selector_,\n option: _option_,\n callback: ownCallBack,\n originCallBack: _callback_,\n });\n /* 覆盖事件 */\n elementItem[SymbolEvents] = elementEvents;\n });\n });\n }\n off(element, eventType, selector, callback, option, filter) {\n /**\n * 获取option配置\n * @param args1\n * @param startIndex\n * @param option\n */\n function getOption(args1, startIndex, option) {\n if (typeof args1[startIndex] === \"boolean\") {\n option.capture = args1[startIndex];\n }\n else if (typeof args1[startIndex] === \"object\" &&\n \"capture\" in args1[startIndex]) {\n option.capture = args1[startIndex].capture;\n }\n return option;\n }\n let args = arguments;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n /**\n * 子元素选择器\n */\n let _selector_ = selector;\n /**\n * 事件的回调函数\n */\n let _callback_ = callback;\n /**\n * 事件的配置\n */\n let _option_ = {\n capture: false,\n };\n if (typeof selector === \"function\") {\n /* 这是为没有selector的情况 */\n _selector_ = void 0;\n _callback_ = selector;\n _option_ = getOption(args, 3, _option_);\n }\n else {\n _option_ = getOption(args, 4, _option_);\n }\n elementList.forEach((elementItem) => {\n /* 获取对象上的事件 */\n let elementEvents = elementItem[SymbolEvents] || {};\n eventTypeList.forEach((eventName) => {\n let handlers = elementEvents[eventName] || [];\n if (typeof filter === \"function\") {\n handlers = handlers.filter(filter);\n }\n for (let index = 0; index < handlers.length; index++) {\n let handler = handlers[index];\n let flag = false;\n if (!_selector_ || handler.selector === _selector_) {\n /* selector不为空,进行selector判断 */\n flag = true;\n }\n if (!_callback_ ||\n handler.callback === _callback_ ||\n handler.originCallBack === _callback_) {\n /* callback不为空,进行callback判断 */\n flag = true;\n }\n if (flag) {\n elementItem.removeEventListener(eventName, handler.callback, _option_);\n handlers.splice(index--, 1);\n }\n }\n if (handlers.length === 0) {\n /* 如果没有任意的handler,那么删除该属性 */\n popsUtils.delete(elementEvents, eventType);\n }\n });\n elementItem[SymbolEvents] = elementEvents;\n });\n }\n /**\n * 取消绑定所有的事件\n * @param element 需要取消绑定的元素|元素数组\n * @param eventType (可选)需要取消监听的事件\n */\n offAll(element, eventType) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n elementList.forEach((elementItem) => {\n Object.getOwnPropertySymbols(elementItem).forEach((__symbolEvents) => {\n if (!__symbolEvents.toString().startsWith(\"Symbol(events_\")) {\n return;\n }\n let elementEvents = elementItem[__symbolEvents] || {};\n let iterEventNameList = eventTypeList.length\n ? eventTypeList\n : Object.keys(elementEvents);\n iterEventNameList.forEach((eventName) => {\n let handlers = elementEvents[eventName];\n if (!handlers) {\n return;\n }\n for (const handler of handlers) {\n elementItem.removeEventListener(eventName, handler.callback, {\n capture: handler[\"option\"][\"capture\"],\n });\n }\n popsUtils.delete(elementItem[__symbolEvents], eventName);\n });\n });\n });\n }\n /**\n * 等待文档加载完成后执行指定的函数\n * @param callback 需要执行的函数\n * @example\n * DOMUtils.ready(function(){\n * console.log(\"文档加载完毕\")\n * })\n */\n ready(callback) {\n if (typeof callback !== \"function\") {\n return;\n }\n /**\n * 检测文档是否加载完毕\n */\n function checkDOMReadyState() {\n try {\n if (document.readyState === \"complete\" ||\n (document.readyState !== \"loading\" &&\n !document.documentElement.doScroll)) {\n return true;\n }\n else {\n return false;\n }\n }\n catch (error) {\n return false;\n }\n }\n /**\n * 成功加载完毕后触发的回调函数\n */\n function completed() {\n removeDomReadyListener();\n callback();\n }\n let targetList = [\n {\n target: PopsCore.document,\n eventType: \"DOMContentLoaded\",\n callback: completed,\n },\n {\n target: PopsCore.window,\n eventType: \"load\",\n callback: completed,\n },\n ];\n /**\n * 添加监听\n */\n function addDomReadyListener() {\n for (let index = 0; index < targetList.length; index++) {\n let item = targetList[index];\n item.target.addEventListener(item.eventType, item.callback);\n }\n }\n /**\n * 移除监听\n */\n function removeDomReadyListener() {\n for (let index = 0; index < targetList.length; index++) {\n let item = targetList[index];\n item.target.removeEventListener(item.eventType, item.callback);\n }\n }\n if (checkDOMReadyState()) {\n /* 检查document状态 */\n setTimeout(callback);\n }\n else {\n /* 添加监听 */\n addDomReadyListener();\n }\n }\n /**\n * 主动触发事件\n * @param element 需要触发的元素|元素数组|window\n * @param eventType 需要触发的事件\n * @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象\n * @param useDispatchToTriggerEvent 是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的click事件\n * DOMUtils.trigger(document.querySelector(\"a.xx\"),\"click\")\n * DOMUtils.trigger(\"a.xx\",\"click\")\n * // 触发元素a.xx的click、tap、hover事件\n * DOMUtils.trigger(document.querySelector(\"a.xx\"),\"click tap hover\")\n * DOMUtils.trigger(\"a.xx\",[\"click\",\"tap\",\"hover\"])\n */\n trigger(element, eventType, details, useDispatchToTriggerEvent = true) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList = [element];\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventType;\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventType.split(\" \");\n }\n elementList.forEach((elementItem) => {\n /* 获取对象上的事件 */\n let events = elementItem[SymbolEvents] || {};\n eventTypeList.forEach((_eventType_) => {\n let event = null;\n if (details && details instanceof Event) {\n event = details;\n }\n else {\n event = new Event(_eventType_);\n if (details) {\n Object.keys(details).forEach((keyName) => {\n event[keyName] = details[keyName];\n });\n }\n }\n if (useDispatchToTriggerEvent == false && _eventType_ in events) {\n events[_eventType_].forEach((eventsItem) => {\n eventsItem.callback(event);\n });\n }\n else {\n elementItem.dispatchEvent(event);\n }\n });\n });\n }\n /**\n * 绑定或触发元素的click事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的click事件\n * DOMUtils.click(document.querySelector(\"a.xx\"))\n * DOMUtils.click(\"a.xx\")\n * DOMUtils.click(\"a.xx\",function(){\n * console.log(\"触发click事件成功\")\n * })\n * */\n click(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler == null) {\n DOMUtilsContext.trigger(element, \"click\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"click\", null, handler);\n }\n }\n /**\n * 绑定或触发元素的blur事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的blur事件\n * DOMUtils.blur(document.querySelector(\"a.xx\"))\n * DOMUtils.blur(\"a.xx\")\n * DOMUtils.blur(\"a.xx\",function(){\n * console.log(\"触发blur事件成功\")\n * })\n * */\n blur(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler === null) {\n DOMUtilsContext.trigger(element, \"blur\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"blur\", null, handler);\n }\n }\n /**\n * 绑定或触发元素的focus事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的focus事件\n * DOMUtils.focus(document.querySelector(\"a.xx\"))\n * DOMUtils.focus(\"a.xx\")\n * DOMUtils.focus(\"a.xx\",function(){\n * console.log(\"触发focus事件成功\")\n * })\n * */\n focus(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler == null) {\n DOMUtilsContext.trigger(element, \"focus\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"focus\", null, handler);\n }\n }\n /**\n * 当鼠标移入或移出元素时触发事件\n * @param element 当前元素\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的移入或移出\n * DOMUtils.hover(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"移入/移除\");\n * })\n * DOMUtils.hover(\"a.xx\",()=>{\n * console.log(\"移入/移除\");\n * })\n */\n hover(element, handler, option) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n DOMUtilsContext.on(element, \"mouseenter\", null, handler, option);\n DOMUtilsContext.on(element, \"mouseleave\", null, handler, option);\n }\n /**\n * 当按键松开时触发事件\n * keydown - > keypress - > keyup\n * @param target 当前元素\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键松开\n * DOMUtils.keyup(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键松开\");\n * })\n * DOMUtils.keyup(\"a.xx\",()=>{\n * console.log(\"按键松开\");\n * })\n */\n keyup(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = PopsCore.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keyup\", null, handler, option);\n }\n /**\n * 当按键按下时触发事件\n * keydown - > keypress - > keyup\n * @param target 目标\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键按下\n * DOMUtils.keydown(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键按下\");\n * })\n * DOMUtils.keydown(\"a.xx\",()=>{\n * console.log(\"按键按下\");\n * })\n */\n keydown(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = PopsCore.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keydown\", null, handler, option);\n }\n /**\n * 当按键按下时触发事件\n * keydown - > keypress - > keyup\n * @param target 目标\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键按下\n * DOMUtils.keypress(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键按下\");\n * })\n * DOMUtils.keypress(\"a.xx\",()=>{\n * console.log(\"按键按下\");\n * })\n */\n keypress(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = PopsCore.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keypress\", null, handler, option);\n }\n preventEvent(element, eventNameList = [], capture) {\n function stopEvent(event) {\n /* 阻止事件的默认行为发生。例如,当点击一个链接时,浏览器会默认打开链接的URL */\n event?.preventDefault();\n /* 停止事件的传播,阻止它继续向更上层的元素冒泡,事件将不会再传播给其他的元素 */\n event?.stopPropagation();\n /* 阻止事件传播,并且还能阻止元素上的其他事件处理程序被触发 */\n event?.stopImmediatePropagation();\n return false;\n }\n if (arguments.length === 1) {\n /* 直接阻止事件 */\n return stopEvent(arguments[0]);\n }\n else {\n /* 添加对应的事件来阻止触发 */\n if (typeof eventNameList === \"string\") {\n eventNameList = [eventNameList];\n }\n eventNameList.forEach((eventName) => {\n element.addEventListener(eventName, stopEvent, {\n capture: Boolean(capture),\n });\n });\n }\n }\n}\nclass PopsDOMUtils extends PopsDOMUtilsEvent {\n /** 获取 animationend 在各个浏览器的兼容名 */\n getAnimationEndNameList() {\n return [\n \"webkitAnimationEnd\",\n \"mozAnimationEnd\",\n \"MSAnimationEnd\",\n \"oanimationend\",\n \"animationend\",\n ];\n }\n /** 获取 transitionend 在各个浏览器的兼容名 */\n getTransitionEndNameList() {\n return [\n \"webkitTransitionEnd\",\n \"mozTransitionEnd\",\n \"MSTransitionEnd\",\n \"otransitionend\",\n \"transitionend\",\n ];\n }\n /**\n * 实现jQuery中的$().offset();\n * @param {HTMLElement} element\n * @returns\n */\n offset(element) {\n let rect = element.getBoundingClientRect();\n let win = element.ownerDocument.defaultView;\n let resultRect = new DOMRect(parseFloat((rect.left + (win?.pageXOffset || 0)).toString()), parseFloat((rect.top + (win?.pageYOffset || 0)).toString()), rect.width, rect.height);\n return resultRect;\n }\n width(element, isShow = false, parent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (popsUtils.isWin(element)) {\n return PopsCore.window.document.documentElement.clientWidth;\n }\n if (element.nodeType === 9) {\n /* Document文档节点 */\n element = element;\n return Math.max(element.body.scrollWidth, element.documentElement.scrollWidth, element.body.offsetWidth, element.documentElement.offsetWidth, element.documentElement.clientWidth);\n }\n if (isShow || (!isShow && popsDOMUtils.isShow(element))) {\n /* 已显示 */\n /* 不从style中获取对应的宽度,因为可能使用了class定义了width !important */\n element = element;\n /* 如果element.style.width为空 则从css里面获取是否定义了width信息如果定义了 则读取css里面定义的宽度width */\n if (parseFloat(popsDOMUtils.getStyleValue(element, \"width\").toString()) > 0) {\n return parseFloat(popsDOMUtils.getStyleValue(element, \"width\").toString());\n }\n /* 如果从css里获取到的值不是大于0 可能是auto 则通过offsetWidth来进行计算 */\n if (element.offsetWidth > 0) {\n let borderLeftWidth = popsDOMUtils.getStyleValue(element, \"borderLeftWidth\");\n let borderRightWidth = popsDOMUtils.getStyleValue(element, \"borderRightWidth\");\n let paddingLeft = popsDOMUtils.getStyleValue(element, \"paddingLeft\");\n let paddingRight = popsDOMUtils.getStyleValue(element, \"paddingRight\");\n let backHeight = parseFloat(element.offsetWidth.toString()) -\n parseFloat(borderLeftWidth.toString()) -\n parseFloat(borderRightWidth.toString()) -\n parseFloat(paddingLeft.toString()) -\n parseFloat(paddingRight.toString());\n return parseFloat(backHeight.toString());\n }\n return 0;\n }\n else {\n /* 未显示 */\n element = element;\n let { cloneNode, recovery } = popsDOMUtils.showElement(element, parent);\n let width = DOMUtilsContext.width(cloneNode, true, parent);\n recovery();\n return width;\n }\n }\n height(element, isShow = false, parent) {\n let DOMUtilsContext = this;\n if (popsUtils.isWin(element)) {\n return PopsCore.window.document.documentElement.clientHeight;\n }\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (element.nodeType === 9) {\n element = element;\n /* Document文档节点 */\n return Math.max(element.body.scrollHeight, element.documentElement.scrollHeight, element.body.offsetHeight, element.documentElement.offsetHeight, element.documentElement.clientHeight);\n }\n if (isShow || (!isShow && popsDOMUtils.isShow(element))) {\n element = element;\n /* 已显示 */\n /* 从style中获取对应的高度,因为可能使用了class定义了width !important */\n /* 如果element.style.height为空 则从css里面获取是否定义了height信息如果定义了 则读取css里面定义的高度height */\n if (parseFloat(popsDOMUtils.getStyleValue(element, \"height\").toString()) > 0) {\n return parseFloat(popsDOMUtils.getStyleValue(element, \"height\").toString());\n }\n /* 如果从css里获取到的值不是大于0 可能是auto 则通过offsetHeight来进行计算 */\n if (element.offsetHeight > 0) {\n let borderTopWidth = popsDOMUtils.getStyleValue(element, \"borderTopWidth\");\n let borderBottomWidth = popsDOMUtils.getStyleValue(element, \"borderBottomWidth\");\n let paddingTop = popsDOMUtils.getStyleValue(element, \"paddingTop\");\n let paddingBottom = popsDOMUtils.getStyleValue(element, \"paddingBottom\");\n let backHeight = parseFloat(element.offsetHeight.toString()) -\n parseFloat(borderTopWidth.toString()) -\n parseFloat(borderBottomWidth.toString()) -\n parseFloat(paddingTop.toString()) -\n parseFloat(paddingBottom.toString());\n return parseFloat(backHeight.toString());\n }\n return 0;\n }\n else {\n /* 未显示 */\n element = element;\n let { cloneNode, recovery } = popsDOMUtils.showElement(element, parent);\n let height = DOMUtilsContext.height(cloneNode, true, parent);\n recovery();\n return height;\n }\n }\n outerWidth(element, isShow = false, parent) {\n let DOMUtilsContext = this;\n if (popsUtils.isWin(element)) {\n return PopsCore.window.innerWidth;\n }\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n element = element;\n if (isShow || (!isShow && popsDOMUtils.isShow(element))) {\n let style = getComputedStyle(element, null);\n let marginLeft = popsDOMUtils.getStyleValue(style, \"marginLeft\");\n let marginRight = popsDOMUtils.getStyleValue(style, \"marginRight\");\n return element.offsetWidth + marginLeft + marginRight;\n }\n else {\n let { cloneNode, recovery } = popsDOMUtils.showElement(element, parent);\n let outerWidth = DOMUtilsContext.outerWidth(cloneNode, true, parent);\n recovery();\n return outerWidth;\n }\n }\n outerHeight(element, isShow = false, parent) {\n let DOMUtilsContext = this;\n if (popsUtils.isWin(element)) {\n return PopsCore.window.innerHeight;\n }\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n // @ts-ignore\n return;\n }\n element = element;\n if (isShow || (!isShow && popsDOMUtils.isShow(element))) {\n let style = getComputedStyle(element, null);\n let marginTop = popsDOMUtils.getStyleValue(style, \"marginTop\");\n let marginBottom = popsDOMUtils.getStyleValue(style, \"marginBottom\");\n return element.offsetHeight + marginTop + marginBottom;\n }\n else {\n let { cloneNode, recovery } = popsDOMUtils.showElement(element, parent);\n let outerHeight = DOMUtilsContext.outerHeight(cloneNode, true, parent);\n recovery();\n return outerHeight;\n }\n }\n /**\n * 添加className\n * @param element 目标元素\n * @param className className属性\n */\n addClassName(element, className) {\n if (typeof className !== \"string\") {\n return;\n }\n if (className.trim() === \"\") {\n return;\n }\n element.classList.add(className);\n }\n /**\n * 删除className\n * @param element 目标元素\n * @param className className属性\n */\n removeClassName(element, className) {\n if (typeof className !== \"string\") {\n return;\n }\n if (className.trim() === \"\") {\n return;\n }\n element.classList.remove(className);\n }\n /**\n * 判断元素是否包含某个className\n * @param element 目标元素\n * @param className className属性\n */\n containsClassName(element, className) {\n if (typeof className !== \"string\") {\n return false;\n }\n if (className.trim() === \"\") {\n return false;\n }\n return element.classList.contains(className);\n }\n css(element, property, value) {\n /**\n * 把纯数字没有px的加上\n */\n function handlePixe(propertyName, propertyValue) {\n let allowAddPixe = [\n \"width\",\n \"height\",\n \"top\",\n \"left\",\n \"right\",\n \"bottom\",\n \"font-size\",\n ];\n if (typeof propertyValue === \"number\") {\n propertyValue = propertyValue.toString();\n }\n if (typeof propertyValue === \"string\" &&\n allowAddPixe.includes(propertyName) &&\n propertyValue.match(/[0-9]$/gi)) {\n propertyValue = propertyValue + \"px\";\n }\n return propertyValue;\n }\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof property === \"string\") {\n if (value == null) {\n return getComputedStyle(element).getPropertyValue(property);\n }\n else {\n if (value === \"string\" && value.includes(\"!important\")) {\n element.style.setProperty(property, value, \"important\");\n }\n else {\n value = handlePixe(property, value);\n element.style.setProperty(property, value);\n }\n }\n }\n else if (typeof property === \"object\") {\n for (let prop in property) {\n if (typeof property[prop] === \"string\" &&\n property[prop].includes(\"!important\")) {\n element.style.setProperty(prop, property[prop], \"important\");\n }\n else {\n property[prop] = handlePixe(prop, property[prop]);\n element.style.setProperty(prop, property[prop]);\n }\n }\n }\n }\n /**\n * 创建元素\n * @param tagName 标签名\n * @param property 属性\n * @param attributes 元素上的自定义属性\n * @example\n * // 创建一个DIV元素,且属性class为xxx\n * DOMUtils.createElement(\"div\",undefined,{ class:\"xxx\" });\n * > <div class=\"xxx\"></div>\n * @example\n * // 创建一个DIV元素\n * DOMUtils.createElement(\"div\");\n * > <div></div>\n * @example\n * // 创建一个DIV元素\n * DOMUtils.createElement(\"div\",\"测试\");\n * > <div>测试</div>\n */\n createElement(\n /** 元素名 */\n tagName, \n /** 属性 */\n property, \n /** 自定义属性 */\n attributes) {\n let tempElement = PopsCore.document.createElement(tagName);\n if (typeof property === \"string\") {\n tempElement.innerHTML = property;\n return tempElement;\n }\n if (property == null) {\n property = {};\n }\n if (attributes == null) {\n attributes = {};\n }\n Object.keys(property).forEach((key) => {\n let value = property[key];\n tempElement[key] = value;\n });\n Object.keys(attributes).forEach((key) => {\n let value = attributes[key];\n if (typeof value === \"object\") {\n /* object转字符串 */\n value = JSON.stringify(value);\n }\n else if (typeof value === \"function\") {\n /* function转字符串 */\n value = value.toString();\n }\n tempElement.setAttribute(key, value);\n });\n return tempElement;\n }\n /**\n * 获取文字的位置信息\n * @param input 输入框\n * @param selectionStart 起始位置\n * @param selectionEnd 结束位置\n * @param debug 是否是调试模式\n * + true 不删除临时节点元素\n * + false 删除临时节点元素\n */\n getTextBoundingRect(input, selectionStart, selectionEnd, debug) {\n // Basic parameter validation\n if (!input || !(\"value\" in input))\n return input;\n if (typeof selectionStart == \"string\")\n selectionStart = parseFloat(selectionStart);\n if (typeof selectionStart != \"number\" || isNaN(selectionStart)) {\n selectionStart = 0;\n }\n if (selectionStart < 0)\n selectionStart = 0;\n else\n selectionStart = Math.min(input.value.length, selectionStart);\n if (typeof selectionEnd == \"string\")\n selectionEnd = parseFloat(selectionEnd);\n if (typeof selectionEnd != \"number\" ||\n isNaN(selectionEnd) ||\n selectionEnd < selectionStart) {\n selectionEnd = selectionStart;\n }\n if (selectionEnd < 0)\n selectionEnd = 0;\n else\n selectionEnd = Math.min(input.value.length, selectionEnd);\n // If available (thus IE), use the createTextRange method\n if (typeof input.createTextRange == \"function\") {\n var range = input.createTextRange();\n range.collapse(true);\n range.moveStart(\"character\", selectionStart);\n range.moveEnd(\"character\", selectionEnd - selectionStart);\n return range.getBoundingClientRect();\n }\n // createTextRange is not supported, create a fake text range\n var offset = getInputOffset(), topPos = offset.top, leftPos = offset.left, width = getInputCSS(\"width\", true), height = getInputCSS(\"height\", true);\n // Styles to simulate a node in an input field\n var cssDefaultStyles = \"white-space:pre;padding:0;margin:0;\", listOfModifiers = [\n \"direction\",\n \"font-family\",\n \"font-size\",\n \"font-size-adjust\",\n \"font-variant\",\n \"font-weight\",\n \"font-style\",\n \"letter-spacing\",\n \"line-height\",\n \"text-align\",\n \"text-indent\",\n \"text-transform\",\n \"word-wrap\",\n \"word-spacing\",\n ];\n // @ts-ignore\n topPos += getInputCSS(\"padding-top\", true);\n // @ts-ignore\n topPos += getInputCSS(\"border-top-width\", true);\n // @ts-ignore\n leftPos += getInputCSS(\"padding-left\", true);\n // @ts-ignore\n leftPos += getInputCSS(\"border-left-width\", true);\n leftPos += 1; //Seems to be necessary\n for (var i = 0; i < listOfModifiers.length; i++) {\n var property = listOfModifiers[i];\n // @ts-ignore\n cssDefaultStyles += property + \":\" + getInputCSS(property) + \";\";\n }\n // End of CSS variable checks\n // 不能为空,不然获取不到高度\n var text = input.value || \"G\", textLen = text.length, fakeClone = document.createElement(\"div\");\n if (selectionStart > 0)\n appendPart(0, selectionStart);\n var fakeRange = appendPart(selectionStart, selectionEnd);\n if (textLen > selectionEnd)\n appendPart(selectionEnd, textLen);\n // Styles to inherit the font styles of the element\n fakeClone.style.cssText = cssDefaultStyles;\n // Styles to position the text node at the desired position\n fakeClone.style.position = \"absolute\";\n fakeClone.style.top = topPos + \"px\";\n fakeClone.style.left = leftPos + \"px\";\n fakeClone.style.width = width + \"px\";\n fakeClone.style.height = height + \"px\";\n PopsCore.document.body.appendChild(fakeClone);\n var returnValue = fakeRange.getBoundingClientRect(); //Get rect\n if (!debug)\n fakeClone.parentNode.removeChild(fakeClone); //Remove temp\n return returnValue;\n // Local functions for readability of the previous code\n /**\n *\n * @param start\n * @param end\n */\n function appendPart(start, end) {\n var span = document.createElement(\"span\");\n span.style.cssText = cssDefaultStyles; //Force styles to prevent unexpected results\n span.textContent = text.substring(start, end);\n fakeClone.appendChild(span);\n return span;\n }\n // Computing offset position\n function getInputOffset() {\n var body = document.body, win = document.defaultView, docElem = document.documentElement, box = document.createElement(\"div\");\n box.style.paddingLeft = box.style.width = \"1px\";\n body.appendChild(box);\n var isBoxModel = box.offsetWidth == 2;\n body.removeChild(box);\n // @ts-ignore\n box = input.getBoundingClientRect();\n var clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, scrollTop = \n // @ts-ignore\n win.pageYOffset ||\n (isBoxModel && docElem.scrollTop) ||\n body.scrollTop, scrollLeft = \n // @ts-ignore\n win.pageXOffset ||\n (isBoxModel && docElem.scrollLeft) ||\n body.scrollLeft;\n return {\n // @ts-ignore\n top: box.top + scrollTop - clientTop,\n // @ts-ignore\n left: box.left + scrollLeft - clientLeft,\n };\n }\n /**\n *\n * @param prop\n * @param isnumber\n * @returns\n */\n function getInputCSS(prop, isnumber) {\n var val = PopsCore.document\n .defaultView.getComputedStyle(input, null)\n .getPropertyValue(prop);\n // @ts-ignore\n return isnumber ? parseFloat(val) : val;\n }\n }\n /**\n * 使用className来隐藏元素\n * @param ele\n * @param isImportant 是否使用!important\n */\n cssHide(ele, isImportant = false) {\n if (ele == null) {\n return;\n }\n if (isImportant) {\n ele.classList.add(\"pops-hide-important\");\n }\n else {\n ele.classList.add(\"pops-hide\");\n }\n }\n /**\n * cssHide的反向使用\n * @param ele\n */\n cssShow(ele) {\n if (ele == null) {\n return;\n }\n ele.classList.remove(\"pops-hide-important\");\n ele.classList.remove(\"pops-hide\");\n }\n parseHTML(html, useParser = false, isComplete = false) {\n function parseHTMLByDOMParser() {\n let parser = new DOMParser();\n if (isComplete) {\n return parser.parseFromString(html, \"text/html\");\n }\n else {\n return parser.parseFromString(html, \"text/html\").body.firstChild;\n }\n }\n function parseHTMLByCreateDom() {\n let tempDIV = PopsCore.document.createElement(\"div\");\n tempDIV.innerHTML = html;\n if (isComplete) {\n return tempDIV;\n }\n else {\n return tempDIV.firstChild;\n }\n }\n if (useParser) {\n return parseHTMLByDOMParser();\n }\n else {\n return parseHTMLByCreateDom();\n }\n }\n /**\n * 函数在元素内部末尾添加子元素或HTML字符串\n * @param element 目标元素\n * @param content 子元素或HTML字符串\n * @example\n * // 元素a.xx的内部末尾添加一个元素\n * DOMUtils.append(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.append(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n append(element, content) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n function elementAppendChild(ele, text) {\n if (typeof content === \"string\") {\n ele.insertAdjacentHTML(\"beforeend\", text);\n }\n else {\n ele.appendChild(text);\n }\n }\n if (Array.isArray(content) || content instanceof NodeList) {\n /* 数组 */\n let fragment = PopsCore.document.createDocumentFragment();\n content.forEach((ele) => {\n if (typeof ele === \"string\") {\n ele = this.parseHTML(ele, true, false);\n }\n fragment.appendChild(ele);\n });\n element.appendChild(fragment);\n }\n else {\n elementAppendChild(element, content);\n }\n }\n /**\n * 把元素标签添加到head内\n */\n appendHead($ele) {\n if (PopsCore.document.head) {\n PopsCore.document.head.appendChild($ele);\n }\n else {\n PopsCore.document.documentElement.appendChild($ele);\n }\n }\n /**\n * 把元素添加进body内\n * @param $ele\n */\n appendBody($ele) {\n if (PopsCore.document.body) {\n PopsCore.document.body.appendChild($ele);\n }\n else {\n PopsCore.document.documentElement.appendChild($ele);\n }\n }\n /**\n * 判断元素是否已显示或已连接\n * @param element\n */\n isShow(element) {\n return Boolean(element.getClientRects().length);\n }\n /**\n * 用于显示元素并获取它的高度宽度等其它属性\n * @param $ele\n * @param parent 父元素\n */\n showElement($ele, ownParent) {\n /** 克隆元素 */\n let $cloneNode = $ele.cloneNode(true);\n $cloneNode.setAttribute(\"style\", \"visibility: hidden !important;display:block !important;\");\n let $parent = PopsCore.document.documentElement;\n // 这里需要的是先获取元素的父节点,把元素同样添加到父节点中\n let $root = $ele.getRootNode();\n if (ownParent == null) {\n if ($root == $ele) {\n // 未添加到任意节点中,那么直接添加到页面中去\n $parent = PopsCore.document.documentElement;\n }\n else {\n // 添加到父节点中\n $parent = $root;\n }\n }\n else {\n // 自定义的父节点\n $parent = ownParent;\n }\n $parent.appendChild($cloneNode);\n return {\n /**\n * 强制显示的克隆的元素\n */\n cloneNode: $cloneNode,\n /**\n * 恢复修改的style\n */\n recovery() {\n $cloneNode.remove();\n },\n };\n }\n /**\n * 获取元素上的Float格式的属性px\n * @param element\n * @param styleName style名\n */\n getStyleValue(element, styleName) {\n let view = null;\n let styles = null;\n if (element instanceof CSSStyleDeclaration) {\n /* 直接就获取了style属性 */\n styles = element;\n }\n else {\n view = element.ownerDocument.defaultView;\n if (!view || !view.opener) {\n view = window;\n }\n styles = view.getComputedStyle(element);\n }\n let value = parseFloat(styles[styleName]);\n if (isNaN(value)) {\n return 0;\n }\n else {\n return value;\n }\n }\n /**\n * 在元素前面添加兄弟元素或HTML字符串\n * @param element 目标元素\n * @param content 兄弟元素或HTML字符串\n * @example\n * // 元素a.xx前面添加一个元素\n * DOMUtils.before(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.before(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n before(element, content) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof content === \"string\") {\n element.insertAdjacentHTML(\"beforebegin\", content);\n }\n else {\n element.parentElement.insertBefore(content, element);\n }\n }\n /**\n * 在元素后面添加兄弟元素或HTML字符串\n * @param element 目标元素\n * @param content 兄弟元素或HTML字符串\n * @example\n * // 元素a.xx后面添加一个元素\n * DOMUtils.after(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.after(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n after(element, content) {\n if (typeof element === \"string\") {\n element = PopsCore.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof content === \"string\") {\n element.insertAdjacentHTML(\"afterend\", content);\n }\n else {\n element.parentElement.insertBefore(content, element.nextSibling);\n }\n }\n}\nconst popsDOMUtils = new PopsDOMUtils();\nexport { popsDOMUtils };\n","import { popsDOMUtils } from \"./PopsDOMUtils\";\nimport { popsUtils } from \"./PopsUtils\";\nimport { PopsCore } from \"../Core\";\nimport { pops } from \"../Pops\";\nexport const PopsInstanceUtils = {\n /**\n * 获取页面中最大的z-index的元素信息\n * @param deviation 获取最大的z-index值的偏移,默认是+1\n * @example\n * Utils.getMaxZIndexNodeInfo();\n * > {\n * node: ...,\n * zIndex: 1001\n * }\n **/\n getMaxZIndexNodeInfo(deviation = 1) {\n deviation = Number.isNaN(deviation) ? 1 : deviation;\n // 最大值2147483647\n const maxZIndex = Math.pow(2, 31) - 1;\n // 比较值2000000000\n const maxZIndexCompare = 2 * Math.pow(10, 9);\n // 当前页面最大的z-index\n let zIndex = 0;\n // 当前的最大z-index的元素,调试使用\n // @ts-ignore\n let maxZIndexNode = null;\n /**\n * 元素是否可见\n * @param $css\n */\n function isVisibleNode($css) {\n return $css.position !== \"static\" && $css.display !== \"none\";\n }\n /**\n * 查询元素的z-index\n * 并比较值是否是已获取的最大值\n * @param $ele\n */\n function queryMaxZIndex($ele) {\n /** 元素的样式 */\n const nodeStyle = PopsCore.window.getComputedStyle($ele);\n /* 不对position为static和display为none的元素进行获取它们的z-index */\n if (isVisibleNode(nodeStyle)) {\n let nodeZIndex = parseInt(nodeStyle.zIndex);\n if (!isNaN(nodeZIndex)) {\n if (nodeZIndex > zIndex) {\n // 赋值到全局\n zIndex = nodeZIndex;\n maxZIndexNode = $ele;\n }\n }\n // 判断shadowRoot\n if ($ele.shadowRoot != null && $ele instanceof ShadowRoot) {\n $ele.shadowRoot.querySelectorAll(\"*\").forEach(($shadowEle) => {\n queryMaxZIndex($shadowEle);\n });\n }\n }\n }\n PopsCore.document.querySelectorAll(\"*\").forEach(($ele, index) => {\n queryMaxZIndex($ele);\n });\n zIndex += deviation;\n if (zIndex >= maxZIndexCompare) {\n // 最好不要超过最大值\n zIndex = maxZIndex;\n }\n return {\n node: maxZIndexNode,\n zIndex: zIndex,\n };\n },\n /**\n * 获取页面中最大的z-index\n * @param deviation 获取最大的z-index值的偏移,默认是+1\n * @example\n * Utils.getMaxZIndex();\n * > 1001\n **/\n getMaxZIndex(deviation = 1) {\n return this.getMaxZIndexNodeInfo(deviation).zIndex;\n },\n /**\n * 获取pops所有弹窗中的最大的z-index\n * @param deviation\n */\n getPopsMaxZIndex(deviation = 1) {\n deviation = Number.isNaN(deviation) ? 1 : deviation;\n // 最大值2147483647\n let maxZIndex = Math.pow(2, 31) - 1;\n // 当前页面最大的z-index\n let zIndex = 0;\n // 当前的最大z-index的元素,调试使用\n let maxZIndexNode = null;\n Object.keys(pops.config.layer).forEach((layerName) => {\n let layerList = pops.config.layer[layerName];\n for (let index = 0; index < layerList.length; index++) {\n const layer = layerList[index];\n let nodeStyle = window.getComputedStyle(layer.animElement);\n /* 不对position为static和display为none的元素进行获取它们的z-index */\n if (nodeStyle.position !== \"static\" && nodeStyle.display !== \"none\") {\n let nodeZIndex = parseInt(nodeStyle.zIndex);\n if (!isNaN(nodeZIndex)) {\n if (nodeZIndex > zIndex) {\n zIndex = nodeZIndex;\n maxZIndexNode = layer.animElement;\n }\n }\n }\n }\n });\n zIndex += deviation;\n // 用于比较的值2000000000,大于该值就取该值\n let maxZIndexCompare = 2 * Math.pow(10, 9);\n if (zIndex >= maxZIndexCompare) {\n // 最好不要超过最大值\n zIndex = maxZIndex;\n }\n return { zIndex: zIndex, animElement: maxZIndexNode };\n },\n /**\n * 获取CSS Rule\n * @param sheet\n * @returns\n */\n getKeyFrames(sheet) {\n let result = {};\n Object.keys(sheet.cssRules).forEach((key) => {\n if (sheet.cssRules[key].type === 7 &&\n sheet.cssRules[key].name.startsWith(\"pops-anim-\")) {\n result[sheet.cssRules[key].name] = sheet.cssRules[key];\n }\n });\n return result;\n },\n /**\n * 删除配置中对应的对象\n * @param moreLayerConfigList 配置实例列表\n * @param guid 唯一标识\n * @param isAll 是否全部删除\n */\n removeInstance(moreLayerConfigList, guid, isAll = false) {\n /**\n * 移除元素实例\n * @param layerCommonConfig\n */\n function removeItem(layerCommonConfig) {\n if (typeof layerCommonConfig.beforeRemoveCallBack === \"function\") {\n // 调用移除签的回调\n layerCommonConfig.beforeRemoveCallBack(layerCommonConfig);\n }\n layerCommonConfig?.animElement?.remove();\n layerCommonConfig?.popsElement?.remove();\n layerCommonConfig?.maskElement?.remove();\n layerCommonConfig?.$shadowContainer?.remove();\n }\n // [ layer[], layer[],...]\n moreLayerConfigList.forEach((layerConfigList) => {\n // layer[]\n layerConfigList.forEach((layerConfigItem, index) => {\n // 移除全部或者guid相同\n if (isAll || layerConfigItem[\"guid\"] === guid) {\n // 判断是否有动画\n if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.getAttribute(\"anim\"))) {\n layerConfigItem.animElement.style.width = \"100%\";\n layerConfigItem.animElement.style.height = \"100%\";\n layerConfigItem.animElement.style[\"animation-name\"] =\n layerConfigItem.animElement.getAttribute(\"anim\") + \"-reverse\";\n if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.style[\"animation-name\"])) {\n popsDOMUtils.on(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), function () {\n removeItem(layerConfigItem);\n }, {\n capture: true,\n });\n }\n else {\n removeItem(layerConfigItem);\n }\n }\n else {\n removeItem(layerConfigItem);\n }\n layerConfigList.splice(index, 1);\n }\n });\n });\n return moreLayerConfigList;\n },\n /**\n * 隐藏\n * @param popsType\n * @param layerConfigList\n * @param guid\n * @param config\n * @param animElement\n * @param maskElement\n */\n hide(popsType, layerConfigList, guid, config, animElement, maskElement) {\n let popsElement = animElement.querySelector(\".pops[type-value]\");\n if (popsType === \"drawer\") {\n let drawerConfig = config;\n setTimeout(() => {\n maskElement.style.setProperty(\"display\", \"none\");\n if ([\"top\", \"bottom\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"height\", \"0\");\n }\n else if ([\"left\", \"right\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"width\", \"0\");\n }\n else {\n console.error(\"未知direction:\", drawerConfig.direction);\n }\n }, drawerConfig.closeDelay);\n }\n else {\n layerConfigList.forEach((layerConfigItem) => {\n if (layerConfigItem.guid === guid) {\n /* 存在动画 */\n layerConfigItem.animElement.style.width = \"100%\";\n layerConfigItem.animElement.style.height = \"100%\";\n layerConfigItem.animElement.style[\"animation-name\"] =\n layerConfigItem.animElement.getAttribute(\"anim\") + \"-reverse\";\n if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.style[\"animation-name\"])) {\n function animationendCallBack() {\n layerConfigItem.animElement.style.display = \"none\";\n if (layerConfigItem.maskElement) {\n layerConfigItem.maskElement.style.display = \"none\";\n }\n popsDOMUtils.off(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {\n capture: true,\n });\n }\n popsDOMUtils.on(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {\n capture: true,\n });\n }\n else {\n layerConfigItem.animElement.style.display = \"none\";\n if (layerConfigItem.maskElement) {\n layerConfigItem.maskElement.style.display = \"none\";\n }\n }\n return;\n }\n });\n }\n },\n /**\n * 显示\n * @param popsType\n * @param layerConfigList\n * @param guid\n * @param config\n * @param animElement\n * @param maskElement\n */\n show(popsType, layerConfigList, guid, config, animElement, maskElement) {\n let popsElement = animElement.querySelector(\".pops[type-value]\");\n if (popsType === \"drawer\") {\n let drawerConfig = config;\n setTimeout(() => {\n maskElement.style.setProperty(\"display\", \"\");\n let direction = drawerConfig.direction;\n let size = drawerConfig.size.toString();\n if ([\"top\", \"bottom\"].includes(direction)) {\n popsElement.style.setProperty(\"height\", size);\n }\n else if ([\"left\", \"right\"].includes(direction)) {\n popsElement.style.setProperty(\"width\", size);\n }\n else {\n console.error(\"未知direction:\", direction);\n }\n }, drawerConfig.openDelay);\n }\n else {\n layerConfigList.forEach((layerConfigItem) => {\n if (layerConfigItem.guid === guid) {\n layerConfigItem.animElement.style.width = \"\";\n layerConfigItem.animElement.style.height = \"\";\n layerConfigItem.animElement.style[\"animation-name\"] =\n layerConfigItem\n .animElement.getAttribute(\"anim\")\n .replace(\"-reverse\", \"\");\n if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.style[\"animation-name\"])) {\n layerConfigItem.animElement.style.display = \"\";\n if (layerConfigItem.maskElement) {\n layerConfigItem.maskElement.style.display = \"\";\n }\n function animationendCallBack() {\n popsDOMUtils.off(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {\n capture: true,\n });\n }\n popsDOMUtils.on(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {\n capture: true,\n });\n }\n else {\n layerConfigItem.animElement.style.display = \"\";\n if (layerConfigItem.maskElement) {\n layerConfigItem.maskElement.style.display = \"\";\n }\n }\n }\n return;\n });\n }\n },\n /**\n * 关闭\n * @param popsType\n * @param layerConfigList\n * @param guid\n * @param config\n * @param animElement\n */\n close(popsType, layerConfigList, guid, config, animElement) {\n let popsElement = animElement.querySelector(\".pops[type-value]\");\n let drawerConfig = config;\n /**\n * 动画结束事件\n */\n function transitionendEvent() {\n function closeCallBack(event) {\n if (event.propertyName !== \"transform\") {\n return;\n }\n popsDOMUtils.off(popsElement, popsDOMUtils.getTransitionEndNameList(), void 0, closeCallBack);\n PopsInstanceUtils.removeInstance([layerConfigList], guid);\n }\n /* 监听过渡结束 */\n popsDOMUtils.on(popsElement, popsDOMUtils.getTransitionEndNameList(), closeCallBack);\n let popsTransForm = getComputedStyle(popsElement).transform;\n if (popsTransForm !== \"none\") {\n popsDOMUtils.trigger(popsElement, popsDOMUtils.getTransitionEndNameList(), void 0, true);\n return;\n }\n if ([\"top\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"transform\", \"translateY(-100%)\");\n }\n else if ([\"bottom\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"transform\", \"translateY(100%)\");\n }\n else if ([\"left\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"transform\", \"translateX(-100%)\");\n }\n else if ([\"right\"].includes(drawerConfig.direction)) {\n popsElement.style.setProperty(\"transform\", \"translateX(100%)\");\n }\n else {\n console.error(\"未知direction:\", drawerConfig.direction);\n }\n }\n if (popsType === \"drawer\") {\n setTimeout(() => {\n transitionendEvent();\n }, drawerConfig.closeDelay);\n }\n else {\n PopsInstanceUtils.removeInstance([layerConfigList], guid);\n }\n },\n /**\n * 拖拽元素\n * 说明:\n * + 元素的position为absolute或者fixed\n * + 会为元素的\n * @param moveElement 需要拖拽的元素\n * @param options 配置\n */\n drag(moveElement, options) {\n options = Object.assign({\n limit: true,\n extraDistance: 3,\n container: PopsCore.globalThis,\n }, options);\n let isMove = false;\n /* 点击元素,left偏移 */\n let clickElementLeftOffset = 0;\n /* 点击元素,top偏移 */\n let clickElementTopOffset = 0;\n let AnyTouch = popsUtils.AnyTouch();\n let anyTouchElement = new AnyTouch(options.dragElement, {\n preventEvent(event) {\n if (typeof options.preventEvent === \"function\") {\n return options.preventEvent(event);\n }\n else {\n return false;\n }\n },\n });\n popsDOMUtils.css(options.dragElement, {\n cursor: \"move\",\n });\n /**\n * 获取移动元素的transform偏移\n */\n function getTransform(element) {\n let transform_left = 0;\n let transform_top = 0;\n let elementTransform = PopsCore.globalThis.getComputedStyle(element).transform;\n if (elementTransform !== \"none\" &&\n elementTransform != null &&\n elementTransform !== \"\") {\n let elementTransformSplit = elementTransform\n .match(/\\((.+)\\)/)?.[1]\n .split(\",\");\n transform_left = Math.abs(parseInt(elementTransformSplit[4]));\n transform_top = Math.abs(parseInt(elementTransformSplit[5]));\n }\n return {\n transformLeft: transform_left,\n transformTop: transform_top,\n };\n }\n /**\n * 修改移动的元素的style\n */\n function changeMoveElementStyle(element) {\n let old_transitionDuration = element.style.transitionDuration;\n if (globalThis.getComputedStyle(element).transitionDuration !== \"0s\") {\n element.style.transitionDuration = \"0s\";\n }\n return () => {\n element.style.transitionDuration = old_transitionDuration;\n };\n }\n /**\n * 获取容器的高度、宽度,一般是window为容器\n */\n function getContainerWidthOrHeight(container) {\n container = container ?? globalThis;\n return {\n width: popsDOMUtils.width(container),\n height: popsDOMUtils.height(container),\n };\n }\n /**\n * 获取容器的最小left、top偏移\n */\n function getContainerTopOrLeft(container) {\n container = container ?? globalThis;\n if (popsUtils.isWin(container)) {\n return {\n left: 0,\n top: 0,\n };\n }\n else {\n let rect = container.getBoundingClientRect();\n return {\n left: rect.left,\n top: rect.top,\n };\n }\n }\n let transformInfo = getTransform(moveElement);\n let transformLeft = transformInfo.transformLeft;\n let transformTop = transformInfo.transformTop;\n let resumeMoveElementStyle = null;\n anyTouchElement.on(\"pan\", function (event) {\n if (!isMove) {\n isMove = true;\n let rect = options.dragElement.getBoundingClientRect();\n clickElementLeftOffset = event.x - rect.left;\n clickElementTopOffset = event.y - rect.top;\n transformInfo = getTransform(moveElement);\n transformLeft = transformInfo.transformLeft;\n transformTop = transformInfo.transformTop;\n //if (event.nativeEvent.offsetX) {\n // clickElementLeftOffset = parseInt(event.nativeEvent.offsetX);\n //} else {\n // clickElementLeftOffset = parseInt(event.getOffset().x);\n //}\n //if (event.nativeEvent.offsetY) {\n // clickElementTopOffset = parseInt(event.nativeEvent.offsetY);\n //} else {\n // clickElementTopOffset = parseInt(event.getOffset().y);\n //}\n resumeMoveElementStyle = changeMoveElementStyle(moveElement);\n }\n /** 当前移动的left偏移 */\n let currentMoveLeftOffset = event.x - clickElementLeftOffset + transformLeft;\n /** 当前移动的top偏移 */\n let currentMoveTopOffset = event.y - clickElementTopOffset + transformTop;\n /* 拖拽移动 */\n if (event.phase === \"move\") {\n if (options.limit) {\n /* 限制在容器内移动 */\n /* left偏移最大值 */\n let maxLeftOffset = getContainerWidthOrHeight(options.container).width -\n popsDOMUtils.width(moveElement) +\n transformLeft;\n let { left: minLeftOffset, top: minTopOffset } = getContainerTopOrLeft(options.container);\n /* top偏移的最大值 */\n let maxTopOffset = getContainerWidthOrHeight(options.container).height -\n popsDOMUtils.height(moveElement) +\n transformTop;\n if (currentMoveLeftOffset > maxLeftOffset) {\n /* 不允许超过容器的最大宽度 */\n currentMoveLeftOffset = maxLeftOffset;\n }\n if (currentMoveTopOffset > maxTopOffset) {\n /* 不允许超过容器的最大高度 */\n currentMoveTopOffset = maxTopOffset;\n }\n if (currentMoveLeftOffset - options.extraDistance * 2 <\n minLeftOffset + transformLeft) {\n /* 不允许left偏移小于容器最小值 */\n currentMoveLeftOffset = minLeftOffset + transformLeft;\n /* 最左边 +额外距离 */\n currentMoveLeftOffset += options.extraDistance;\n }\n else {\n /* 最右边 -额外距离 */\n currentMoveLeftOffset -= options.extraDistance;\n }\n if (currentMoveTopOffset - options.extraDistance * 2 <\n minTopOffset + transformTop) {\n /* 不允许top偏移小于容器最小值 */\n currentMoveTopOffset = minTopOffset + transformTop;\n /* 最上面 +额外距离 */\n currentMoveTopOffset += options.extraDistance;\n }\n else {\n /* 最下面 -额外距离 */\n currentMoveTopOffset -= options.extraDistance;\n }\n }\n if (typeof options.moveCallBack === \"function\") {\n options.moveCallBack(moveElement, currentMoveLeftOffset, currentMoveTopOffset);\n }\n popsDOMUtils.css(moveElement, {\n left: currentMoveLeftOffset + \"px\",\n top: currentMoveTopOffset + \"px\",\n });\n }\n /* 停止拖拽 */\n if (event.phase === \"end\") {\n isMove = false;\n if (typeof resumeMoveElementStyle === \"function\") {\n resumeMoveElementStyle();\n resumeMoveElementStyle = null;\n }\n if (typeof options.endCallBack === \"function\") {\n options.endCallBack(moveElement, currentMoveLeftOffset, currentMoveTopOffset);\n }\n }\n });\n /* 因为会覆盖上面的点击事件,主动触发一下 */\n anyTouchElement.on([\"click\", \"tap\"], function (event) {\n event.changedPoints.forEach((item) => {\n popsDOMUtils.trigger(item.target, \"click\", void 0, true);\n });\n });\n },\n /**\n * 排序数组\n * @param getBeforeValueFun\n * @param getAfterValueFun\n * @param sortByDesc 排序是否降序,默认降序\n */\n sortElementListByProperty(getBeforeValueFun, getAfterValueFun, sortByDesc = true) {\n if (typeof sortByDesc !== \"boolean\") {\n throw \"参数 sortByDesc 必须为boolean类型\";\n }\n if (getBeforeValueFun == null || getAfterValueFun == null) {\n throw \"获取前面的值或后面的值的方法不能为空\";\n }\n return function (after_obj, before_obj) {\n var beforeValue = getBeforeValueFun(before_obj); /* 前 */\n var afterValue = getAfterValueFun(after_obj); /* 后 */\n if (sortByDesc) {\n if (afterValue > beforeValue) {\n return -1;\n }\n else if (afterValue < beforeValue) {\n return 1;\n }\n else {\n return 0;\n }\n }\n else {\n if (afterValue < beforeValue) {\n return -1;\n }\n else if (afterValue > beforeValue) {\n return 1;\n }\n else {\n return 0;\n }\n }\n };\n },\n};\n","export const GlobalConfig = {\n config: {},\n /**\n * 为所有弹窗设置全局属性\n */\n setGlobalConfig(config) {\n Reflect.ownKeys(config).forEach((keyName) => {\n Reflect.set(GlobalConfig.config, keyName, Reflect.get(config, keyName));\n });\n },\n /**\n * 获取全局配置\n */\n getGlobalConfig() {\n let result = {};\n let style = GlobalConfig.config.style == null\n ? \"\"\n : typeof GlobalConfig.config.style === \"function\"\n ? GlobalConfig.config.style()\n : GlobalConfig.config.style;\n if (typeof style === \"string\") {\n result.style = style;\n }\n let zIndex = GlobalConfig.config.zIndex == null\n ? \"\"\n : typeof GlobalConfig.config.zIndex === \"function\"\n ? GlobalConfig.config.zIndex()\n : GlobalConfig.config.zIndex;\n if (typeof zIndex === \"string\") {\n let newIndex = (zIndex = parseInt(zIndex));\n if (!isNaN(newIndex)) {\n result.zIndex = newIndex;\n }\n }\n else {\n if (!isNaN(zIndex)) {\n result.zIndex = zIndex;\n }\n }\n return result;\n },\n};\n","import { pops } from \"../Pops\";\nimport { popsUtils } from \"../utils/PopsUtils\";\nexport const PopsElementHandler = {\n /**\n * 获取遮罩层HTML\n * @param guid\n * @param zIndex z-index\n * @param style\n */\n getMaskHTML(guid, zIndex = 101, style = \"\") {\n zIndex = zIndex - 100;\n if (style.startsWith(\";\")) {\n style = style.replace(\";\", \"\");\n }\n return `<div class=\"pops-mask\" data-guid=\"${guid}\" style=\"z-index:${zIndex};${style}\"></div>`;\n },\n /**\n * 获取动画层HTML\n * @param guid\n * @param type\n * @param config\n * @param html\n * @param bottomBtnHTML\n * @param zIndex\n */\n getAnimHTML(guid, type, config, html = \"\", bottomBtnHTML = \"\", zIndex) {\n let __config = config;\n let popsAnimStyle = \"\";\n let popsStyle = \"\";\n let popsPosition = __config.position || \"\";\n if (config.zIndex != null) {\n popsAnimStyle += `z-index: ${zIndex};`;\n popsStyle += `z-index: ${zIndex};`;\n }\n if (__config.width != null) {\n popsStyle += `width: ${__config.width};`;\n }\n if (__config.height != null) {\n popsStyle += `height: ${__config.height};`;\n }\n let hasBottomBtn = bottomBtnHTML.trim() === \"\" ? false : true;\n return /*html*/ `\r\n\t\t<div \r\n\t\t\tclass=\"pops-anim\"\r\n\t\t\tanim=\"${__config.animation || \"\"}\"\r\n\t\t\tstyle=\"${popsAnimStyle};\"\r\n\t\t\tdata-guid=\"${guid}\">\r\n ${config.style != null\n ? `<style tyle=\"text/css\">${config.style}</style>`\n : \"\"}\r\n\t\t\t<div\r\n\t\t\t\tclass=\"pops ${config.class || \"\"}\"\r\n\t\t\t\tdata-bottom-btn=\"${hasBottomBtn}\"\r\n\t\t\t\ttype-value=\"${type}\"\r\n\t\t\t\tstyle=\"${popsStyle}\"\r\n\t\t\t\tposition=\"${popsPosition}\"\r\n\t\t\t\tdata-guid=\"${guid}\">\r\n\t\t\t\t${html}\r\n\t\t\t</div>\r\n\t\t</div>`;\n },\n /**\n * 获取顶部按钮层HTML\n * @param type\n * @param config\n */\n getHeaderBtnHTML(type, config) {\n if (!config.btn) {\n return \"\";\n }\n let __config_confirm = config;\n if (type !== \"iframe\" && !__config_confirm.btn?.close?.enable) {\n return \"\";\n }\n let resultHTML = \"\";\n // let btnStyle = \"\";\n let closeHTML = \"\";\n let __config_iframe = config;\n if (type === \"iframe\" && __config_iframe.topRightButton?.trim() !== \"\") {\n /* iframe的 */\n let topRightButtonHTML = \"\";\n __config_iframe.topRightButton.split(\"|\").forEach((item) => {\n item = item.toLowerCase();\n topRightButtonHTML += `\r\n <button class=\"pops-header-control\" type=\"${item}\">\r\n <i class=\"pops-icon\">${pops.config.iconSVG[item]}</i>\r\n </button>`;\n });\n resultHTML = `\r\n <div class=\"pops-header-controls\" data-margin>\r\n ${topRightButtonHTML}\r\n </div>`;\n }\n else {\n if (__config_confirm.btn?.close?.enable) {\n closeHTML = `\r\n <div class=\"pops-header-controls\">\r\n <button class=\"pops-header-control\" type=\"close\" data-header>\r\n <i class=\"pops-icon\">${pops.config.iconSVG[\"close\"]}</i>\r\n </button>\r\n </div>`;\n }\n resultHTML = closeHTML;\n }\n return resultHTML;\n },\n /**\n * 获取底部按钮层HTML\n * @param type\n * @param config\n */\n getBottomBtnHTML(type, config) {\n if (!config.btn) {\n // 未设置btn参数\n return \"\";\n }\n let __config_confirm = config;\n if (!(config.btn?.ok?.enable ||\n __config_confirm.btn?.cancel?.enable ||\n __config_confirm.btn?.other?.enable)) {\n // 确定、取消、其它按钮都未启用直接返回\n return \"\";\n }\n let btnStyle = \"\";\n let resultHTML = \"\";\n let okHTML = \"\";\n let cancelHTML = \"\";\n let ohterHTML = \"\";\n if (config.btn.position) {\n btnStyle += `justify-content: ${config.btn.position};`;\n }\n if (__config_confirm.btn.reverse) {\n btnStyle += \"flex-direction: row-reverse;\";\n }\n if (config.btn?.ok?.enable) {\n /* 处理确定按钮的尺寸问题 */\n let okButtonSizeClassName = \"\";\n if (config.btn.ok.size === \"large\") {\n okButtonSizeClassName = \"pops-button-\" + config.btn.ok.size;\n }\n else if (config.btn.ok.size === \"small\") {\n okButtonSizeClassName = \"pops-button-\" + config.btn.ok.size;\n }\n let okIconHTML = \"\";\n let okIcon = __config_confirm.btn.ok.icon;\n if (okIcon !== \"\") {\n // 判断图标是否是svg库内的\n let iconHTML = \"\";\n if (okIcon in pops.config.iconSVG) {\n iconHTML = pops.config.iconSVG[okIcon];\n }\n else {\n iconHTML = okIcon;\n }\n iconHTML = iconHTML || \"\";\n okIconHTML = `\r\n <i class=\"pops-bottom-icon\" is-loading=\"${config.btn.ok.iconIsLoading}\">\r\n ${iconHTML}\r\n </i>`;\n }\n okHTML = `\r\n <button \r\n class=\"pops-${type}-btn-ok ${okButtonSizeClassName}\"\r\n type=\"${__config_confirm.btn.ok?.type}\"\r\n\t\t\t\t\tdata-has-icon=\"${(__config_confirm.btn.ok.icon || \"\") !== \"\"}\"\r\n data-rightIcon=\"${__config_confirm.btn.ok?.rightIcon}\"\r\n >\r\n ${okIconHTML}\r\n <span>${config.btn.ok.text}</span>\r\n </button>`;\n }\n if (__config_confirm.btn?.cancel?.enable) {\n /* 处理取消按钮的尺寸问题 */\n let cancelButtonSizeClassName = \"\";\n if (__config_confirm.btn.cancel.size === \"large\") {\n cancelButtonSizeClassName =\n \"pops-button-\" + __config_confirm.btn.cancel.size;\n }\n else if (__config_confirm.btn.cancel.size === \"small\") {\n cancelButtonSizeClassName =\n \"pops-button-\" + __config_confirm.btn.cancel.size;\n }\n let cancelIconHTML = \"\";\n let cancelIcon = __config_confirm.btn.cancel.icon;\n if (cancelIcon !== \"\") {\n let iconHTML = \"\";\n // 判断图标是否是svg库内的\n if (cancelIcon in pops.config.iconSVG) {\n iconHTML = pops.config.iconSVG[cancelIcon];\n }\n else {\n iconHTML = cancelIcon;\n }\n iconHTML = iconHTML || \"\";\n cancelIconHTML = `\r\n <i class=\"pops-bottom-icon\" is-loading=\"${__config_confirm.btn.cancel.iconIsLoading}\">\r\n ${iconHTML}\r\n </i>`;\n }\n cancelHTML = `\r\n <button\r\n class=\"pops-${type}-btn-cancel ${cancelButtonSizeClassName}\"\r\n type=\"${__config_confirm.btn.cancel.type}\"\r\n\t\t\t\t\tdata-has-icon=\"${(__config_confirm.btn.cancel.icon || \"\") !== \"\"}\"\r\n data-rightIcon=\"${__config_confirm.btn.cancel.rightIcon}\"\r\n >\r\n ${cancelIconHTML}\r\n <span>${__config_confirm.btn.cancel.text}</span>\r\n </button>`;\n }\n if (__config_confirm.btn?.other?.enable) {\n /* 处理其它按钮的尺寸问题 */\n let otherButtonSizeClassName = \"\";\n if (__config_confirm.btn.other.size === \"large\") {\n otherButtonSizeClassName =\n \"pops-button-\" + __config_confirm.btn.other.size;\n }\n else if (__config_confirm.btn.other.size === \"small\") {\n otherButtonSizeClassName =\n \"pops-button-\" + __config_confirm.btn.other.size;\n }\n let otherIconHTML = \"\";\n let otherIcon = __config_confirm.btn.other.icon;\n if (otherIcon !== \"\") {\n let iconHTML = \"\";\n // 判断图标是否是svg库内的\n if (otherIcon in pops.config.iconSVG) {\n iconHTML = pops.config.iconSVG[otherIcon];\n }\n else {\n otherIcon;\n }\n iconHTML = iconHTML || \"\";\n otherIconHTML = `\r\n <i class=\"pops-bottom-icon\" is-loading=\"${__config_confirm.btn.other.iconIsLoading}\">\r\n ${iconHTML}\r\n </i>`;\n }\n ohterHTML = `\r\n <button\r\n class=\"pops-${type}-btn-other ${otherButtonSizeClassName}\"\r\n type=\"${__config_confirm.btn.other.type}\"\r\n\t\t\t\t\tdata-has-icon=\"${(__config_confirm.btn.other.icon || \"\") !== \"\"}\"\r\n data-rightIcon=\"${__config_confirm.btn.other.rightIcon}\"\r\n >\r\n ${otherIconHTML}\r\n <span>${__config_confirm.btn.other.text}</span>\r\n </button>`;\n }\n if (__config_confirm.btn.merge) {\n let flexStyle = \"display: flex;\";\n if (__config_confirm.btn.mergeReverse) {\n flexStyle += \"flex-direction: row-reverse;\";\n }\n else {\n flexStyle += \"flex-direction: row;\";\n }\n resultHTML = `\r\n <div class=\"pops-${type}-btn\" style=\"${btnStyle}\">\r\n ${ohterHTML}\r\n <div \r\n class=\"pops-${type}-btn-merge\"\r\n style=\"${flexStyle}\">\r\n ${okHTML}\r\n ${cancelHTML}\r\n </div>\r\n </div>\r\n `;\n }\n else {\n resultHTML = `\r\n <div class=\"pops-${type}-btn\" style=\"${btnStyle}\">\r\n ${okHTML}\r\n ${cancelHTML}\r\n ${ohterHTML}\r\n </div>\r\n `;\n }\n return resultHTML;\n },\n /**\n * 获取标题style\n * @param type\n * @param config\n */\n getHeaderStyle(type, config) {\n return {\n headerStyle: config?.title?.html ? config?.title?.style || \"\" : \"\",\n headerPStyle: config?.title?.html ? \"\" : config?.title?.style || \"\",\n };\n },\n /**\n * 获取内容style\n * @param type\n * @param config\n */\n getContentStyle(type, config) {\n return {\n contentStyle: config?.content?.html\n ? config?.content?.style || \"\"\n : \"\",\n contentPStyle: config?.content?.html\n ? \"\"\n : config?.content?.style || \"\",\n };\n },\n /**\n * 将html转换成元素\n * @param html\n */\n parseElement(html) {\n return popsUtils.parseTextToDOM(html);\n },\n};\n","import { PopsCore } from \"../Core\";\nimport { pops } from \"../Pops\";\nimport { popsDOMUtils } from \"../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../utils/PopsUtils\";\nexport const PopsHandler = {\n /**\n * 创建shadow\n */\n handlerShadow() {\n let $shadowContainer = document.createElement(\"div\");\n $shadowContainer.className = \"pops-shadow-container\";\n let $shadowRoot = $shadowContainer.attachShadow({ mode: \"open\" });\n return {\n $shadowContainer,\n $shadowRoot,\n };\n },\n /**\n * 处理初始化\n * @param $shadowRoot 所在的shadowRoot\n * @param cssText 添加进ShadowRoot的CSS\n */\n handleInit($shadowRoot, cssText) {\n pops.init();\n if (!arguments.length) {\n return;\n }\n if (Array.isArray(cssText)) {\n for (let index = 0; index < cssText.length; index++) {\n this.handleInit($shadowRoot, cssText[index]);\n }\n }\n else {\n let $css = popsDOMUtils.createElement(\"style\", {\n innerHTML: cssText,\n }, {\n \"data-type\": \"PopsHandler.handleInit\",\n });\n $shadowRoot.appendChild($css);\n }\n },\n /**\n * 处理遮罩层\n * @param details 传递的配置\n */\n handleMask(details = {}) {\n let result = {\n maskElement: popsUtils.parseTextToDOM(details.maskHTML),\n };\n let isMaskClick = false;\n /**\n * 点击其它区域的事件\n * @param event\n */\n function clickEvent(event) {\n popsDOMUtils.preventEvent(event);\n // 获取该类型实例存储列表\n let targetLayer = pops.config.layer[details.type];\n function originalRun() {\n if (details.config.mask.clickEvent.toClose) {\n /* 关闭 */\n PopsInstanceUtils.close(details.type, targetLayer, details.guid, details.config, details.animElement);\n }\n else if (details.config.mask.clickEvent.toHide) {\n /* 隐藏 */\n PopsInstanceUtils.hide(details.type, targetLayer, details.guid, details.config, details.animElement, result.maskElement);\n }\n }\n if (typeof details.config.mask.clickCallBack === \"function\") {\n details.config.mask.clickCallBack(originalRun, details.config);\n }\n else {\n originalRun();\n }\n return false;\n }\n function isAnimElement(element) {\n return Boolean(element?.localName?.toLowerCase() === \"div\" &&\n element.className &&\n element.className === \"pops-anim\" &&\n element.hasAttribute(\"anim\"));\n }\n if (details.config.mask.clickEvent.toClose ||\n details.config.mask.clickEvent.toHide) {\n /* 判断按下的元素是否是pops-anim */\n popsDOMUtils.on(details.animElement, [\"touchstart\", \"mousedown\"], void 0, (event) => {\n isMaskClick = isAnimElement(event.composedPath()[0]);\n });\n /* 如果有动画层,在动画层上监听点击事件 */\n popsDOMUtils.on(details.animElement, \"click\", void 0, (event) => {\n if (isAnimElement(event.composedPath()[0]) &&\n isMaskClick) {\n return clickEvent(event);\n }\n });\n /* 在遮罩层监听点击事件 */\n /* 如果有动画层,那么该点击事件触发不了 */\n popsDOMUtils.on(result.maskElement, \"click\", void 0, (event) => {\n isMaskClick = true;\n clickEvent(event);\n });\n }\n return result;\n },\n /**\n * 处理获取元素\n * @param {HTMLDivElement} animElement\n * @param type\n */\n handleQueryElement(animElement, type) {\n return {\n /**\n * 主元素\n */\n popsElement: animElement.querySelector(\".pops[type-value\"),\n /**\n * 确认按钮\n */\n btnOkElement: animElement.querySelector(`.pops-${type}-btn-ok`),\n /**\n * 取消按钮\n */\n btnCancelElement: animElement.querySelector(`.pops-${type}-btn-cancel`),\n /**\n * 其它按钮\n */\n btnOtherElement: animElement.querySelector(`.pops-${type}-btn-other`),\n /**\n * 标题元素\n */\n titleElement: animElement.querySelector(`.pops-${type}-title`),\n /**\n * 输入框元素\n */\n inputElement: animElement.querySelector(`.pops-${type}-content textarea[pops]`)\n ? animElement.querySelector(`.pops-${type}-content textarea[pops]`)\n : animElement.querySelector(`.pops-${type}-content input[pops]`),\n /**\n * 顶部按钮控制层元素\n */\n headerControlsElement: animElement.querySelector(\".pops-header-controls\"),\n /**\n * iframe元素\n */\n iframeElement: animElement.querySelector(\"iframe[pops]\"),\n /**\n * 加载中元素\n */\n loadingElement: animElement.querySelector(\".pops-loading\"),\n /**\n * 内容元素\n */\n contentElement: animElement.querySelector(`.pops-${type}-content`),\n /**\n * 内容侧边栏容器元素\n */\n contentAsideElement: animElement.querySelector(`.pops-${type}-content aside.pops-${type}-aside`),\n /**\n * 内容主要区域容器元素\n */\n contentSectionContainerElement: animElement.querySelector(`.pops-${type}-content section.pops-${type}-container`),\n /**\n * 内容加载中元素\n */\n contentLoadingElement: animElement.querySelector(`.pops-${type}-content-global-loading`),\n /**\n * 顶部缩小按钮\n */\n headerMinBtnElement: animElement.querySelector(\".pops-header-control[type='min']\"),\n /**\n * 顶部放大按钮\n */\n headerMaxBtnElement: animElement.querySelector(\".pops-header-control[type='max']\"),\n /**\n * 顶部恢复原样按钮\n */\n headerMiseBtnElement: animElement.querySelector(\".pops-header-control[type='mise']\"),\n /**\n * 顶部关闭按钮\n */\n headerCloseBtnElement: animElement.querySelector(\".pops-header-control[type='close']\"),\n /**\n * 文件夹列表元素\n */\n folderListElement: animElement.querySelector(\".pops-folder-list\"),\n /**\n * 文件夹列表顶部元素\n */\n folderListHeaderElement: animElement.querySelector(\".pops-folder-list .pops-folder-list-table__header-div\"),\n /**\n * 文件夹列表行元素\n */\n folderListHeaderRowElement: animElement.querySelector(\".pops-folder-list .pops-folder-list-table__header-div .pops-folder-list-table__header-row\"),\n /**\n * 文件夹列表tbody元素\n */\n folderListBodyElement: animElement.querySelector(\".pops-folder-list .pops-folder-list-table__body-div tbody\"),\n /**\n * 文件夹列表primary元素\n */\n folderFileListBreadcrumbPrimaryElement: animElement.querySelector(\".pops-folder-list .pops-folder-file-list-breadcrumb-primary\"),\n /**\n * 文件夹排序按钮-文件名\n */\n folderListSortFileNameElement: animElement.querySelector('.pops-folder-list-table__sort[data-sort=\"fileName\"]'),\n /**\n * 文件夹排序按钮-修改时间\n */\n folderListSortLatestTimeElement: animElement.querySelector('.pops-folder-list-table__sort[data-sort=\"latestTime\"]'),\n /**\n * 文件夹排序按钮-文件大小\n */\n folderListSortFileSizeElement: animElement.querySelector('.pops-folder-list-table__sort[data-sort=\"fileSize\"]'),\n };\n },\n /**\n * 获取事件配置\n * @param guid\n * @param $shadowContainer\n * @param $shadowRoot\n * @param mode 当前弹窗类型\n * @param animElement 动画层\n * @param popsElement 主元素\n * @param maskElement 遮罩层\n * @param config 当前配置\n */\n handleEventDetails(guid, $shadowContainer, $shadowRoot, mode, animElement, popsElement, maskElement, config) {\n return {\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n element: animElement,\n animElement: animElement,\n popsElement: popsElement,\n maskElement: maskElement,\n mode: mode,\n guid: guid,\n close() {\n PopsInstanceUtils.close(mode, pops.config.layer[mode], guid, config, animElement);\n },\n hide() {\n PopsInstanceUtils.hide(mode, pops.config.layer[mode], guid, config, animElement, maskElement);\n },\n show() {\n PopsInstanceUtils.show(mode, pops.config.layer[mode], guid, config, animElement, maskElement);\n },\n };\n },\n /**\n * 获取loading的事件配置\n * @param guid\n * @param mode 当前弹窗类型\n * @param animElement 动画层\n * @param popsElement 主元素\n * @param maskElement 遮罩层\n * @param config 当前配置\n */\n handleLoadingEventDetails(guid, mode, animElement, popsElement, maskElement, config) {\n return {\n element: animElement,\n animElement: animElement,\n popsElement: popsElement,\n maskElement: maskElement,\n mode: mode,\n guid: guid,\n close() {\n PopsInstanceUtils.close(mode, pops.config.layer[mode], guid, config, animElement);\n },\n hide() {\n PopsInstanceUtils.hide(mode, pops.config.layer[mode], guid, config, animElement, maskElement);\n },\n show() {\n PopsInstanceUtils.show(mode, pops.config.layer[mode], guid, config, animElement, maskElement);\n },\n };\n },\n /**\n * 处理返回的配置,针对popsHandler.handleEventDetails\n */\n handleResultDetails(details) {\n let resultDetails = Object.assign({}, details);\n popsUtils.delete(resultDetails, \"type\");\n popsUtils.delete(resultDetails, \"function\");\n return resultDetails;\n },\n /**\n * 处理点击事件\n * @param type 当前按钮类型\n * @param $btn 按钮元素\n * @param eventDetails 事件配置,由popsHandler.handleEventDetails创建的\n * @param callback 点击回调\n */\n handleClickEvent(type, $btn, eventDetails, callback) {\n popsDOMUtils.on($btn, \"click\", (event) => {\n let extraParam = {\n type: type,\n };\n callback(Object.assign(eventDetails, extraParam), event);\n }, {\n capture: true,\n });\n },\n /**\n * 全局监听键盘事件\n * @param keyName 键名|键值\n * @param otherKeyList 组合按键,数组类型,包含ctrl、shift、alt和meta(win键或mac的cmd键)\n * @param callback 回调函数\n */\n handleKeyboardEvent(keyName, otherKeyList = [], callback) {\n let keyboardEvent = function (event) {\n let _keyName = event.code || event.key;\n let _keyValue = event.charCode || event.keyCode || event.which;\n if (otherKeyList.includes(\"ctrl\") && !event.ctrlKey) {\n return;\n }\n if (otherKeyList.includes(\"alt\") && !event.altKey) {\n return;\n }\n if (otherKeyList.includes(\"meta\") && !event.metaKey) {\n return;\n }\n if (otherKeyList.includes(\"shift\") && !event.shiftKey) {\n return;\n }\n if (typeof keyName === \"string\" && keyName === _keyName) {\n callback && callback(event);\n }\n else if (typeof keyName === \"number\" && keyName === _keyValue) {\n callback && callback(event);\n }\n };\n popsDOMUtils.on(PopsCore.globalThis, \"keydown\", keyboardEvent, {\n capture: true,\n });\n return {\n removeKeyboardEvent() {\n popsDOMUtils.off(globalThis, \"keydown\", keyboardEvent, {\n capture: true,\n });\n },\n };\n },\n /**\n * 处理prompt的点击事件\n * @param type 触发事件类型\n * @param inputElement 输入框\n * @param $btn 按钮元素\n * @param eventDetails 事件配置,由popsHandler.handleEventDetails创建的\n * @param callback 点击回调\n */\n handlePromptClickEvent(type, inputElement, $btn, eventDetails, callback) {\n popsDOMUtils.on($btn, \"click\", (event) => {\n // 额外参数\n let extraParam = {\n type: type,\n text: inputElement.value,\n };\n callback(Object.assign(eventDetails, extraParam), event);\n }, {\n capture: true,\n });\n },\n /**\n * 把配置的z-index配置转为数字\n * @param zIndex\n */\n handleZIndex(zIndex) {\n if (typeof zIndex === \"function\") {\n return zIndex();\n }\n else {\n return zIndex;\n }\n },\n /**\n * 处理config.only\n * @param type 当前弹窗类型\n * @param config 配置\n */\n handleOnly(type, config) {\n if (config.only) {\n if (type === \"loading\" ||\n type === \"tooltip\" ||\n type === \"rightClickMenu\") {\n let layer = pops.config.layer[type];\n if (layer) {\n PopsInstanceUtils.removeInstance([layer], \"\", true);\n }\n }\n else {\n PopsInstanceUtils.removeInstance([\n pops.config.layer.alert,\n pops.config.layer.confirm,\n pops.config.layer.prompt,\n pops.config.layer.iframe,\n pops.config.layer.drawer,\n pops.config.layer.folder,\n pops.config.layer.panel,\n ], \"\", true);\n }\n }\n else {\n // 对配置进行处理\n // 选择配置的z-index和已有的pops实例的最大z-index值\n if (typeof config.zIndex === \"function\") {\n let originZIndexFn = config.zIndex;\n config.zIndex = () => {\n const { zIndex: maxZIndex } = PopsInstanceUtils.getPopsMaxZIndex(PopsHandler.handleZIndex(originZIndexFn) + 100);\n return maxZIndex;\n };\n }\n else {\n const { zIndex: maxZIndex } = PopsInstanceUtils.getPopsMaxZIndex(PopsHandler.handleZIndex(config.zIndex) + 100);\n config.zIndex = maxZIndex;\n }\n }\n return config;\n },\n /**\n * 处理把已创建的元素保存到内部环境中\n * @param type 当前弹窗类型\n * @param value\n */\n handlePush(type, value) {\n pops.config.layer[type].push(value);\n },\n};\n","export const PopsAlertConfig = () => {\n return {\n title: {\n text: \"默认标题\",\n position: \"left\",\n html: false,\n style: \"\",\n },\n content: {\n text: \"默认内容\",\n html: false,\n style: \"\",\n },\n btn: {\n position: \"flex-end\",\n ok: {\n size: void 0,\n enable: true,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"primary\",\n callback: function (event) {\n event.close();\n },\n },\n close: {\n enable: true,\n callback: function (event) {\n event.close();\n },\n },\n },\n class: \"\",\n only: false,\n width: \"350px\",\n height: \"200px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsAlertConfig } from \"./config\";\nexport class PopsAlert {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.alertCSS,\n ]);\n let config = PopsAlertConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n // 设置当前类型\n const PopsType = \"alert\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let { contentStyle, contentPStyle } = PopsElementHandler.getContentStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n\t\t\t<div \r\n\t\t\t\tclass=\"pops-alert-title\"\r\n\t\t\t\tstyle=\"text-align: ${config.title.position};\r\n\t\t\t\t${headerStyle}\">\r\n\t\t\t\t${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n\t\t\t\t${headerBtnHTML}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-alert-content\" style=\"${contentStyle}\">\r\n\t\t\t\t${config.content.html\n ? config.content.text\n : `<p pops style=\"${contentPStyle}\">${config.content.text}</p>`}\r\n\t\t\t</div>\r\n\t\t\t${bottomBtnHTML}`, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, headerCloseBtnElement: $headerCloseBtn, btnOkElement, titleElement: $title, } = PopsHandler.handleQueryElement($anim, PopsType);\n /** 遮罩层元素 */\n let $mask = null;\n /** 已创建的元素列表 */\n let elementList = [$anim];\n /* 遮罩层元素 */\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n /* 处理返回的配置 */\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n /* 为顶部右边的关闭按钮添加点击事件 */\n PopsHandler.handleClickEvent(\"close\", $headerCloseBtn, eventDetails, config.btn.close.callback);\n /* 为底部ok按钮添加点击事件 */\n PopsHandler.handleClickEvent(\"ok\", btnOkElement, eventDetails, config.btn.ok.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n // 添加遮罩层\n $anim.after($mask);\n }\n /* 保存 */\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsConfirmConfig = () => {\n return {\n title: {\n text: \"默认标题\",\n position: \"left\",\n html: false,\n style: \"\",\n },\n content: {\n text: \"默认内容\",\n html: false,\n style: \"\",\n },\n btn: {\n merge: false,\n mergeReverse: false,\n reverse: false,\n position: \"flex-end\",\n ok: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"primary\",\n callback(event) {\n event.close();\n },\n },\n cancel: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"关闭\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n other: {\n enable: false,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"其它按钮\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n close: {\n enable: true,\n callback(event) {\n event.close();\n },\n },\n },\n class: \"\",\n only: false,\n width: \"350px\",\n height: \"200px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsConfirmConfig } from \"./config\";\nexport class PopsConfirm {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.confirmCSS,\n ]);\n let config = PopsConfirmConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n // 设置当前类型\n const PopsType = \"confirm\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let { contentStyle, contentPStyle } = PopsElementHandler.getContentStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n <div class=\"pops-confirm-title\" style=\"text-align: ${config.title.position};${headerStyle}\">\r\n ${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n <div class=\"pops-confirm-content\" style=\"${contentStyle}\">\r\n ${config.content.html\n ? config.content.text\n : `<p pops style=\"${contentPStyle}\">${config.content.text}</p>`}\r\n \r\n </div>\r\n\r\n\t\t\t\t\t\t\r\n ${bottomBtnHTML}\r\n `, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, titleElement: $title, headerCloseBtnElement: $btnClose, btnOkElement: $btnOk, btnCancelElement: $btnCancel, btnOtherElement: $btnOther, } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n // 启用遮罩层\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n PopsHandler.handleClickEvent(\"close\", $btnClose, eventDetails, config.btn.close.callback);\n PopsHandler.handleClickEvent(\"ok\", $btnOk, eventDetails, config.btn.ok.callback);\n PopsHandler.handleClickEvent(\"cancel\", $btnCancel, eventDetails, config.btn.cancel.callback);\n PopsHandler.handleClickEvent(\"other\", $btnOther, eventDetails, config.btn.other.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n $anim.after($mask);\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsPromptConfig = () => {\n return {\n title: {\n text: \"默认标题\",\n position: \"left\",\n html: false,\n style: \"\",\n },\n content: {\n text: \"\",\n select: false,\n password: false,\n row: false,\n focus: true,\n placeholder: \"默认提示\",\n style: \"\",\n },\n btn: {\n merge: false,\n mergeReverse: false,\n reverse: false,\n position: \"flex-end\",\n ok: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"success\",\n callback(event) {\n console.log(event);\n event.close();\n },\n },\n cancel: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"关闭\",\n type: \"default\",\n callback(event) {\n console.log(event);\n event.close();\n },\n },\n other: {\n enable: false,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"其它按钮\",\n type: \"default\",\n callback(event) {\n console.log(event);\n event.close();\n },\n },\n close: {\n enable: true,\n callback(event) {\n console.log(event);\n event.close();\n },\n },\n },\n class: \"\",\n only: false,\n width: \"350px\",\n height: \"200px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsPromptConfig } from \"./config\";\nexport class PopsPrompt {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.promptCSS,\n ]);\n let config = PopsPromptConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"prompt\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let { contentPStyle } = PopsElementHandler.getContentStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n <div class=\"pops-prompt-title\" style=\"text-align: ${config.title.position};${headerStyle}\">\r\n ${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n <div class=\"pops-prompt-content\" style=\"${contentPStyle}\">\r\n ${config.content.row\n ? '<textarea pops=\"\" placeholder=\"' +\n config.content.placeholder +\n '\"></textarea>'\n : '<input pops=\"\" placeholder=\"' +\n config.content.placeholder +\n '\" type=\"' +\n (config.content.password ? \"password\" : \"text\") +\n '\">'}\r\n </div>\r\n \t${bottomBtnHTML}\r\n `, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, inputElement: $input, headerCloseBtnElement: $btnClose, btnOkElement: $btnOk, btnCancelElement: $btnCancel, btnOtherElement: $btnOther, titleElement: $title, } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n // 启用遮罩层\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n /* 输入框赋值初始值 */\n $input.value = config.content.text;\n PopsHandler.handlePromptClickEvent(\"close\", $input, $btnClose, eventDetails, config.btn.close.callback);\n PopsHandler.handlePromptClickEvent(\"ok\", $input, $btnOk, eventDetails, config.btn.ok.callback);\n PopsHandler.handlePromptClickEvent(\"cancel\", $input, $btnCancel, eventDetails, config.btn.cancel.callback);\n PopsHandler.handlePromptClickEvent(\"other\", $input, $btnOther, eventDetails, config.btn.other.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n $anim.after($mask);\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n /* 设置自动获取焦点 */\n if (config.content.focus) {\n $input.focus();\n }\n /* 设置自动选中所有文字 */\n if (config.content.select) {\n $input.select();\n }\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsLoadingConfig = () => {\n return {\n parent: document.body,\n content: {\n text: \"加载中...\",\n icon: \"loading\",\n style: \"\",\n },\n class: \"\",\n only: false,\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n animation: \"pops-anim-fadein-zoom\",\n forbiddenScroll: false,\n style: null,\n addIndexCSS: true,\n };\n};\n","import { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsLoadingConfig } from \"./config\";\nexport class PopsLoading {\n constructor(details) {\n let config = PopsLoadingConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"loading\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let { contentPStyle } = PopsElementHandler.getContentStyle(\"loading\", config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n <div class=\"pops-loading-content\">\r\n ${config.addIndexCSS\n ? `\r\n <style data-model-name=\"index\">${pops.config.cssText.index}</style>\r\n <style data-model-name=\"anim\">${pops.config.cssText.anim}</style>\r\n <style data-model-name=\"common\">${pops.config.cssText.common}</style>\r\n `\n : \"\"}\r\n <style data-model-name=\"loadingCSS\">\r\n ${pops.config.cssText.loadingCSS}\r\n </style>\r\n ${config.style != null ? `<style>${config.style}</style>` : \"\"}\r\n <p pops style=\"${contentPStyle}\">${config.content.text}</p>\r\n </div>\r\n `, \"\", zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n // 创建遮罩层\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleLoadingEventDetails(guid, PopsType, $anim, $pops, $mask, config);\n popsDOMUtils.append(config.parent, elementList);\n if ($mask != null) {\n $anim.after($mask);\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n });\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsIframeConfig = () => {\n return {\n title: {\n position: \"center\",\n text: \"\",\n html: false,\n style: \"\",\n },\n loading: {\n enable: true,\n icon: true,\n text: \"\",\n },\n class: \"\",\n url: window.location.href,\n only: false,\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n animation: \"pops-anim-fadein-zoom\",\n position: \"center\",\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n width: \"300px\",\n height: \"250px\",\n topRightButton: \"min|max|mise|close\",\n sandbox: false,\n forbiddenScroll: false,\n loadEndCallBack() { },\n btn: {\n min: {\n callback() { },\n },\n max: {\n callback() { },\n },\n mise: {\n callback() { },\n },\n close: {\n callback() { },\n },\n },\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsIframeConfig } from \"./config\";\nexport class PopsIframe {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.iframeCSS,\n ]);\n let config = PopsIframeConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n if (config.url == null) {\n throw \"config.url不能为空\";\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"iframe\";\n config = PopsHandler.handleOnly(PopsType, config);\n let maskExtraStyle = config.animation != null && config.animation != \"\"\n ? \"position:absolute;\"\n : \"\";\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex, maskExtraStyle);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let iframeLoadingHTML = '<div class=\"pops-loading\"></div>';\n let titleText = config.title.text.trim() !== \"\" ? config.title.text : config.url;\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n <div \r\n class=\"pops-iframe-title\"\r\n style=\"text-align: ${config.title.position};${headerStyle}\"\r\n >\r\n ${config.title.html\n ? titleText\n : `<p pops style=\"${headerPStyle}\">${titleText}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n <div class=\"pops-iframe-content\">\r\n <div class=\"pops-iframe-content-global-loading\"></div>\r\n <iframe\r\n src=\"${config.url}\"\r\n pops\r\n ${config.sandbox\n ? \"sandbox='allow-forms allow-same-origin allow-scripts'\"\n : \"\"}>\r\n </iframe>\r\n </div>\r\n ${config.loading.enable ? iframeLoadingHTML : \"\"}\r\n `, \"\", zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, headerCloseBtnElement, headerControlsElement, titleElement: $title, iframeElement: $iframe, loadingElement, contentLoadingElement: $contentLoading, headerMinBtnElement, headerMaxBtnElement, headerMiseBtnElement, } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n eventDetails[\"iframeElement\"] = $iframe;\n popsDOMUtils.on($anim, popsDOMUtils.getAnimationEndNameList(), function () {\n /* 动画加载完毕 */\n $anim.style.width = \"0%\";\n $anim.style.height = \"0%\";\n });\n popsDOMUtils.on($iframe, \"load\", () => {\n /* iframe加载中... */\n loadingElement?.remove();\n $contentLoading.style.animation = \"iframeLoadingChange_85 0.3s forwards\";\n popsDOMUtils.on($contentLoading, popsDOMUtils.getAnimationEndNameList(), () => {\n /* 动画加载完毕就移除 */\n $contentLoading.remove();\n });\n if (config.title.text.trim() === \"\" && $iframe.contentDocument) {\n /* 同域名下的才可以获取网页标题 */\n $title.querySelector(\"p\").innerText =\n $iframe.contentDocument.title;\n }\n config.loadEndCallBack(eventDetails);\n });\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n $anim.after($mask);\n }\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n let normalLeft = \"\";\n /* 最小化按钮点击事件 */\n popsDOMUtils.on(headerMinBtnElement, \"click\", (event) => {\n /**\n * 所有最小化的iframe数组\n */\n let allMinElementList = [];\n pops.config.layer.iframe.forEach((item) => {\n if (item.animElement != $anim &&\n item.popsElement.getAttribute(\"type-module\") === \"min\") {\n allMinElementList.push(item.popsElement);\n }\n });\n let maxLeftValue = allMinElementList.length\n ? allMinElementList.length * 205\n : 0;\n $pops.style.transitionDuration = \"\";\n normalLeft = $pops.style.left;\n $pops.style.left = maxLeftValue + \"px\";\n $pops.setAttribute(\"type-module\", \"min\");\n $anim\n .querySelector(\".pops-header-controls\")\n ?.setAttribute(\"type\", \"max\");\n config.btn.min.callback(eventDetails, event);\n }, {\n capture: true,\n });\n /* 最大化按钮点击事件 */\n popsDOMUtils.on(headerMaxBtnElement, \"click\", (event) => {\n $pops.style.transitionDuration = \"\";\n normalLeft = $pops.style.left;\n $pops.removeAttribute(\"type-module\");\n $pops.setAttribute(\"type-module\", \"max\");\n headerControlsElement.setAttribute(\"type\", \"max\");\n headerMaxBtnElement.style.setProperty(\"display\", \"none\");\n headerMiseBtnElement.style.setProperty(\"display\", \"\");\n config.btn.max.callback(eventDetails, event);\n }, {\n capture: true,\n });\n /* 先隐藏窗口化按钮 */\n headerMiseBtnElement?.style?.setProperty(\"display\", \"none\");\n /* 窗口化按钮点击事件 */\n popsDOMUtils.on(headerMiseBtnElement, \"click\", (event) => {\n $pops.style.transitionDuration = \"\";\n $pops.style.left = normalLeft;\n headerControlsElement.removeAttribute(\"type\");\n $pops.removeAttribute(\"type-module\");\n /**\n * 所有最小化的iframe数组\n */\n let allMinElementList = [];\n pops.config.layer.iframe.forEach((item) => {\n if (item.animElement != $anim &&\n $pops.getAttribute(\"type-module\") === \"min\") {\n allMinElementList.push(item.popsElement);\n }\n });\n allMinElementList.sort(PopsInstanceUtils.sortElementListByProperty((obj) => {\n return parseInt(getComputedStyle(obj).left);\n }, (obj) => {\n return parseInt(getComputedStyle(obj).left);\n }, false));\n allMinElementList.forEach((item, index) => {\n item.style.left = index * 205 + \"px\";\n });\n headerMiseBtnElement.style.setProperty(\"display\", \"none\");\n headerMaxBtnElement.style.setProperty(\"display\", \"\");\n config.btn.mise.callback(eventDetails, event);\n }, {\n capture: true,\n });\n /* 关闭按钮点击事件 */\n popsDOMUtils.on(headerCloseBtnElement, \"click\", (event) => {\n PopsInstanceUtils.removeInstance([pops.config.layer.iframe], guid, false);\n setTimeout(() => {\n let allIsMinElementList = [];\n pops.config.layer.iframe.forEach((item) => {\n if (item.animElement != $anim &&\n $pops.getAttribute(\"type-module\") === \"min\") {\n allIsMinElementList.push(item.popsElement);\n }\n });\n allIsMinElementList.sort(PopsInstanceUtils.sortElementListByProperty((obj) => {\n return parseInt(getComputedStyle(obj).left);\n }, (obj) => {\n return parseInt(getComputedStyle(obj).left);\n }, false));\n allIsMinElementList.forEach((item, index) => {\n item.style.left = index * 205 + \"px\";\n });\n }, 1000 * 0.3);\n config.btn.close.callback(eventDetails, event);\n }, {\n capture: true,\n });\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n let result = PopsHandler.handleResultDetails(eventDetails);\n return result;\n }\n}\n","export const PopsTooltipConfig = () => {\n return {\n // @ts-ignore\n target: null,\n content: \"默认文字\",\n position: \"top\",\n className: \"\",\n alwaysShow: false,\n triggerShowEventName: \"mouseenter touchstart\",\n triggerCloseEventName: \"mouseleave touchend\",\n zIndex: 10000,\n only: false,\n eventOption: {\n passive: false,\n capture: true,\n once: false,\n },\n showBeforeCallBack() { },\n showAfterCallBack() { },\n closeBeforeCallBack() { },\n closeAfterCallBack() { },\n arrowDistance: 12.5,\n otherDistance: 0,\n style: \"\",\n beforeAppendToPageCallBack() { },\n };\n};\n","import { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsTooltipConfig } from \"./config\";\nexport class PopsTooltip {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.tooltipCSS,\n ]);\n let config = PopsTooltipConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n if (!(config.target instanceof HTMLElement)) {\n throw \"config.target 必须是HTMLElement类型\";\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"tooltip\";\n config = PopsHandler.handleOnly(PopsType, config);\n function getContent() {\n return typeof config.content === \"function\"\n ? config.content()\n : config.content;\n }\n /**\n * 获取悬浮提示的元素信息\n */\n function getToolTipElementInfo() {\n let _toolTipHTML_ = `<div class=\"pops-tip\"></div>`;\n let _toolTipElement_ = popsUtils.parseTextToDOM(_toolTipHTML_);\n if (typeof config.className === \"string\" &&\n config.className.trim() !== \"\") {\n popsDOMUtils.addClassName(_toolTipElement_, config.className);\n }\n _toolTipElement_.setAttribute(\"data-guid\", guid);\n _toolTipElement_.style.zIndex = PopsHandler.handleZIndex(config.zIndex).toString();\n _toolTipElement_.innerHTML = `<div style=\"text-align: center;\">${getContent()}</div>`;\n /* 箭头元素 */\n let _toolTipArrowHTML_ = '<div class=\"pops-tip-arrow\"></div>';\n let _toolTipArrowNode_ = popsUtils.parseTextToDOM(_toolTipArrowHTML_);\n _toolTipElement_.appendChild(_toolTipArrowNode_);\n if (config.style != null) {\n /* 添加自定义style */\n let cssNode = document.createElement(\"style\");\n cssNode.setAttribute(\"type\", \"text/css\");\n cssNode.innerHTML = config.style;\n _toolTipElement_.appendChild(cssNode);\n }\n return {\n toolTipElement: _toolTipElement_,\n toolTipArrowElement: _toolTipArrowNode_,\n toolTipHTML: _toolTipHTML_,\n toolTipArrowHTML: _toolTipArrowHTML_,\n };\n }\n config.position =\n config.position.toLowerCase();\n let { toolTipElement } = getToolTipElementInfo();\n /**\n * 设置 提示框的位置\n */\n function setToolTipPosition(positionDetails) {\n let positionDetail = positionDetails[config.position.toUpperCase()];\n if (positionDetail) {\n toolTipElement.style.left = positionDetail.left + \"px\";\n toolTipElement.style.top = positionDetail.top + \"px\";\n toolTipElement.setAttribute(\"data-motion\", positionDetail.motion);\n toolTipElement\n .querySelector(\".pops-tip-arrow\")\n ?.setAttribute(\"data-position\", positionDetail.arrow);\n }\n else {\n console.error(\"不存在该位置\", config.position);\n }\n }\n /**\n * 获取 提示框的位置\n * @param targetElement 目标元素\n * @param arrowDistance 箭头和目标元素的距离\n * @param otherDistance 其它位置的偏移\n */\n function getToolTipPosition(targetElement, arrowDistance, otherDistance) {\n let targetElement_width = popsDOMUtils.offset(targetElement).width;\n let targetElement_height = popsDOMUtils.offset(targetElement).height;\n let targetElement_top = popsDOMUtils.offset(targetElement).top;\n // let targetElement_bottom = popsDOMUtils.offset(targetElement).bottom;\n let targetElement_left = popsDOMUtils.offset(targetElement).left;\n // let targetElement_right = popsDOMUtils.offset(targetElement).right;\n let toolTipElement_width = popsDOMUtils.outerWidth(toolTipElement);\n let toolTipElement_height = popsDOMUtils.outerHeight(toolTipElement);\n /* 目标元素的x轴的中间位置 */\n let targetElement_X_center_pos = targetElement_left + targetElement_width / 2 - toolTipElement_width / 2;\n /* 目标元素的Y轴的中间位置 */\n let targetElement_Y_center_pos = targetElement_top +\n targetElement_height / 2 -\n toolTipElement_height / 2;\n return {\n TOP: {\n left: targetElement_X_center_pos - otherDistance,\n top: targetElement_top - toolTipElement_height - arrowDistance,\n arrow: \"bottom\",\n motion: \"fadeInTop\",\n },\n RIGHT: {\n left: targetElement_left + targetElement_width + arrowDistance,\n top: targetElement_Y_center_pos + otherDistance,\n arrow: \"left\",\n motion: \"fadeInRight\",\n },\n BOTTOM: {\n left: targetElement_X_center_pos - otherDistance,\n top: targetElement_top + targetElement_height + arrowDistance,\n arrow: \"top\",\n motion: \"fadeInBottom\",\n },\n LEFT: {\n left: targetElement_left - toolTipElement_width - arrowDistance,\n top: targetElement_Y_center_pos + otherDistance,\n arrow: \"right\",\n motion: \"fadeInLeft\",\n },\n };\n }\n /**\n * 显示提示框\n */\n function showToolTipNode() {\n if (typeof config.showBeforeCallBack === \"function\") {\n let result = config.showBeforeCallBack();\n if (typeof result === \"boolean\" && !result) {\n return;\n }\n }\n if (!popsUtils.contains($shadowRoot, toolTipElement)) {\n popsDOMUtils.append($shadowRoot, toolTipElement);\n }\n if (!popsUtils.contains($shadowContainer)) {\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.append(document.body, $shadowContainer);\n }\n setToolTipPosition(getToolTipPosition(config.target, config.arrowDistance, config.otherDistance));\n if (typeof config.showAfterCallBack === \"function\") {\n config.showAfterCallBack(toolTipElement);\n }\n }\n /**\n * 关闭提示框\n */\n function closeToolTipNode() {\n if (typeof config.closeBeforeCallBack === \"function\") {\n let result = config.closeBeforeCallBack(toolTipElement);\n if (typeof result === \"boolean\" && !result) {\n return;\n }\n }\n toolTipElement.setAttribute(\"data-motion\", toolTipElement.getAttribute(\"data-motion\").replace(\"fadeIn\", \"fadeOut\"));\n if (typeof config.closeAfterCallBack === \"function\") {\n config.closeAfterCallBack(toolTipElement);\n }\n }\n /**\n * 绑定 显示事件\n */\n function onShowEvent() {\n popsDOMUtils.on(config.target, config.triggerShowEventName, showToolTipNode, config.eventOption);\n }\n /**\n * 绑定 关闭事件\n */\n function onCloseEvent() {\n popsDOMUtils.on(config.target, config.triggerCloseEventName, closeToolTipNode, config.eventOption);\n }\n /**\n * 取消绑定 显示事件\n */\n function offShowEvent() {\n popsDOMUtils.off(config.target, config.triggerShowEventName, showToolTipNode, {\n capture: true,\n });\n }\n /**\n * 取消绑定 关闭事件\n */\n function offCloseEvent() {\n popsDOMUtils.off(config.target, config.triggerCloseEventName, closeToolTipNode, {\n capture: true,\n });\n }\n /**\n * 即使存在动画属性,但是当前设置的动画Out结束后移除元素\n */\n function endEvent() {\n if (toolTipElement.getAttribute(\"data-motion\").includes(\"In\")) {\n return;\n }\n toolTipElement.remove();\n }\n if (config.alwaysShow) {\n /* 总是显示 */\n showToolTipNode();\n return {\n guid: guid,\n config: config,\n toolTipNode: toolTipElement,\n show: showToolTipNode,\n close() {\n popsDOMUtils.on(toolTipElement, popsDOMUtils.getAnimationEndNameList(), endEvent, config.eventOption);\n closeToolTipNode();\n },\n off: null,\n on: null,\n };\n }\n else {\n /* 事件触发才显示 */\n /**\n * 当鼠标|手触摸,暂停当前动画\n */\n popsDOMUtils.on(toolTipElement, \"mouseenter touchstart\", () => {\n toolTipElement.style.animationPlayState = \"paused\";\n // if (parseInt(getComputedStyle(toolTipElement)) > 0.5) {\n // toolTipElement.style.animationPlayState = \"paused\";\n // }\n }, config.eventOption);\n /**\n * 当鼠标|手离开,开始当前动画\n */\n popsDOMUtils.on(toolTipElement, \"mouseleave touchend\", () => {\n toolTipElement.style.animationPlayState = \"running\";\n }, config.eventOption);\n popsDOMUtils.on(toolTipElement, popsDOMUtils.getAnimationEndNameList(), endEvent, config.eventOption);\n onShowEvent();\n onCloseEvent();\n return {\n guid: guid,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n config: config,\n toolTipNode: toolTipElement,\n show: showToolTipNode,\n close: closeToolTipNode,\n off() {\n offShowEvent();\n offCloseEvent();\n },\n on() {\n onShowEvent();\n onCloseEvent();\n },\n };\n }\n }\n}\n","export const PopsDrawerConfig = () => {\n return {\n title: {\n enable: true,\n position: \"center\",\n text: \"默认标题\",\n html: false,\n style: \"height: 60px;line-height: 60px;\",\n },\n content: {\n text: \"默认内容\",\n html: false,\n style: \"overflow: auto;padding: 0px 10px;\",\n },\n btn: {\n position: \"flex-end\",\n ok: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"primary\",\n callback(event) {\n event.close();\n },\n },\n cancel: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"关闭\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n other: {\n enable: false,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"其它按钮\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n close: {\n enable: true,\n callback(event) {\n event.close();\n },\n },\n },\n mask: {\n enable: true,\n clickEvent: {\n toClose: true,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n class: \"\",\n zIndex: 10000,\n only: false,\n direction: \"right\",\n size: \"30%\",\n lockScroll: false,\n closeOnPressEscape: true,\n openDelay: 0,\n closeDelay: 0,\n borderRadius: 0,\n style: null,\n beforeAppendToPageCallBack() { },\n forbiddenScroll: false,\n };\n};\n","import { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsDrawerConfig } from \"./config\";\nexport class PopsDrawer {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.drawerCSS,\n ]);\n let config = PopsDrawerConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"drawer\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let { contentStyle, contentPStyle } = PopsElementHandler.getContentStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n ${config.title.enable\n ? `\r\n <div class=\"pops-${PopsType}-title\" style=\"${headerStyle}\">\r\n ${config.title.html\n ? config.title.text\n : `<p \r\n pops\r\n style=\"\r\n width: 100%;\r\n text-align: ${config.title.position};\r\n ${headerPStyle}\">${config.title.text}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n `\n : \"\"}\r\n \r\n <div class=\"pops-${PopsType}-content\" style=\"${contentStyle}\">\r\n ${config.content.html\n ? config.content.text\n : `<p pops style=\"${contentPStyle}\">${config.content.text}</p>`}\r\n </div>\r\n\r\n ${bottomBtnHTML}\r\n `, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement, headerCloseBtnElement, btnCancelElement, btnOkElement, btnOtherElement, } = PopsHandler.handleQueryElement($anim, PopsType);\n let $pops = popsElement;\n let $headerCloseBtn = headerCloseBtnElement;\n let $btnCancel = btnCancelElement;\n let $btnOk = btnOkElement;\n let $btnOther = btnOtherElement;\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n /* 处理方向 */\n $pops.setAttribute(\"direction\", config.direction);\n /* 处理border-radius */\n /* 处理动画前的宽高 */\n if (config.direction === \"top\") {\n $pops.style.setProperty(\"height\", \"0\");\n $pops.style.setProperty(\"border-radius\", `0px 0px ${config.borderRadius}px ${config.borderRadius}px`);\n }\n else if (config.direction === \"bottom\") {\n $pops.style.setProperty(\"height\", \"0\");\n $pops.style.setProperty(\"border-radius\", `${config.borderRadius}px ${config.borderRadius}px 0px 0px`);\n }\n else if (config.direction === \"left\") {\n $pops.style.setProperty(\"width\", \"0\");\n $pops.style.setProperty(\"border-radius\", `0px ${config.borderRadius}px 0px ${config.borderRadius}px`);\n }\n else if (config.direction === \"right\") {\n $pops.style.setProperty(\"width\", \"0\");\n $pops.style.setProperty(\"border-radius\", `${config.borderRadius}px 0px ${config.borderRadius}px 0px`);\n }\n /* 按下Esc键触发关闭 */\n if (config.closeOnPressEscape) {\n PopsHandler.handleKeyboardEvent(\"Escape\", [], function () {\n eventDetails.close();\n });\n }\n /* 待处理的点击事件列表 */\n let needHandleClickEventList = [\n {\n type: \"close\",\n ele: $headerCloseBtn,\n },\n {\n type: \"cancel\",\n ele: $btnCancel,\n },\n {\n type: \"ok\",\n ele: $btnOk,\n },\n {\n type: \"other\",\n ele: $btnOther,\n },\n ];\n needHandleClickEventList.forEach((item) => {\n PopsHandler.handleClickEvent(item.type, item.ele, eventDetails, (_eventDetails_) => {\n if (typeof config.btn[item.type].callback === \"function\") {\n config.btn[item.type].callback(_eventDetails_);\n }\n });\n });\n /* 先隐藏,然后根据config.openDelay来显示 */\n elementList.forEach((element) => {\n element.style.setProperty(\"display\", \"none\");\n if ([\"top\"].includes(config.direction)) {\n $pops.style.setProperty(\"height\", config.size.toString());\n $pops.style.setProperty(\"transform\", \"translateY(-100%)\");\n }\n else if ([\"bottom\"].includes(config.direction)) {\n $pops.style.setProperty(\"height\", config.size.toString());\n $pops.style.setProperty(\"transform\", \"translateY(100%)\");\n }\n else if ([\"left\"].includes(config.direction)) {\n $pops.style.setProperty(\"width\", config.size.toString());\n $pops.style.setProperty(\"transform\", \"translateX(-100%)\");\n }\n else if ([\"right\"].includes(config.direction)) {\n $pops.style.setProperty(\"width\", config.size.toString());\n $pops.style.setProperty(\"transform\", \"translateX(100%)\");\n }\n element.style.setProperty(\"display\", \"\");\n });\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n setTimeout(() => {\n setTimeout(() => {\n $pops.style.setProperty(\"transform\", \"\");\n }, config.openDelay);\n }, 50);\n if ($mask != null) {\n $anim.after($mask);\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsFolderConfig = () => {\n return {\n title: {\n text: \"pops.Folder\",\n position: \"center\",\n html: false,\n style: \"\",\n },\n sort: {\n name: \"latestTime\",\n isDesc: false,\n // @ts-ignore\n callback() { },\n },\n folder: [\n {\n fileName: \"测试文件夹\",\n fileSize: 0,\n fileType: \"\",\n createTime: 0,\n latestTime: 0,\n isFolder: true,\n index: 0,\n // @ts-ignore\n clickEvent() {\n return [\n {\n fileName: \"内部-测试文件.zip\",\n fileSize: 1025000,\n fileType: \"zip\",\n createTime: 1702038410440,\n latestTime: 1702039602126,\n isFolder: false,\n index: 1,\n clickEvent() {\n console.log(\"下载文件:\", this.fileName);\n return \"https://update.greasyfork.org/scripts/456485/pops.js\";\n },\n },\n ];\n },\n },\n {\n fileName: \"测试文件.apk\",\n fileSize: 30125682,\n fileType: \"apk\",\n createTime: 1702036410440,\n latestTime: 1702039410440,\n isFolder: false,\n index: 1,\n // @ts-ignore\n clickEvent() {\n console.log(\"下载文件:\", this.fileName);\n return \"https://update.greasyfork.org/scripts/456485/pops.js\";\n },\n },\n ],\n btn: {\n merge: false,\n mergeReverse: false,\n reverse: false,\n position: \"flex-end\",\n ok: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"确定\",\n type: \"primary\",\n callback(event) {\n event.close();\n },\n },\n cancel: {\n enable: true,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"关闭\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n other: {\n enable: false,\n size: void 0,\n icon: void 0,\n rightIcon: false,\n iconIsLoading: false,\n text: \"其它按钮\",\n type: \"default\",\n callback(event) {\n event.close();\n },\n },\n close: {\n enable: true,\n callback(event) {\n event.close();\n },\n },\n },\n class: \"\",\n only: false,\n width: \"500px\",\n height: \"400px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","/**\n * 图标\n */\nexport const Folder_ICON = {\n folder: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABRUExURUxpcf++Hv/ZU//OPv/DL/+9Gv/BI/+4Bf+4Ef/XcP/LOP/TSf/RRP/WTv/JM/+3Ef+9Ff/bhf+5BP/DJf+yDv/imv/kqv/bXP/w0v/fd//calQXUgwAAAAKdFJOUwB///8d3L9enl8sr20gAAACN0lEQVRYw+2Y65abIBRGE1EzVbyNSW18/wctHA6XYw4q9Ee7Vt2AgOHbcVyTOMztdnFxcXFMWf7gKHN190VRKDpFC0iNqB5ZvqpXzJRxHoF7hrAa9/hK9j2oYIA2QA/UqXeyNg5QDBrshhHbUH8xxO+uT7sOJ/tU5a4wh0eK8KmKHTxd28Bfo16pqphep5l6I+R/p8xr668kVghVceH8M5EZYnGhnBKRceGqmaZXPPw2xbO+1xU+8axwe8NfzkIV7xVZdF0AVhi+rWdxIfgmwloE6CkrDCPwJbYUeFgK61icxFcNKyxIxE+WgnllQ0y4+HffzZ8WZtJlCDtz+CzqaaFaVGiWBNEOZZ15zihsT2CFnXk4QStsLohTU3FC+Af8I8JWV1fa1jy8u+hnOUy2vnd5SkeGrJBfHZwDbxe87pfxQvejmMZZYxxdYSoyVyixSvtXFLJ7hWq5xCRNSTozczzHCj8T54kI5d8QCtvZAodDIa7DgRkJaII2hBfaJC7EOE7D076XuIoVBu8oN3kpBLVt4YXBVaUSFSbS5Akb00znSoPn9KCJCN0am7SnGhganC4kKhR2MV0vvEn4M7bFhM3GIZqtgfiPr9BdSAYnrnCX3rQeB/2xsKcHouiBBhpO+phQL9CdjmKqsRkXpkMz57dmfTY1v3k8is26zvN2A6yIbKVqm/tMjFBMp5jpxrWKbsB1dJw/AsC3Lt/YEaK7x1t5r7aLj3ned/fRj1TK3H9wXFxc/F/8BgM0jBZ4nc19AAAAAElFTkSuQmCC\",\n zip: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFQUExURUxpcYHaOWDM+pryU4TbPXLU/XHT/X3Y/nrZpIffP/+gI4La/+9QTvhycXjQL4fbQvBUUoXaQHrSMf+cJPl2dfBXVf+KMDu99IveRv+ZJf+NLv+PLIncRPdvbV7L+VnJ+P/u5HDS/P+DD1PG93fV/U3D9kTB9WfP+2vR/GLN+nvSM86bL33UNf/69f/+/XzTNP+vVf/iyf/06sOCRsGhYP2Jh/t8e4TVPX3QNat7jnzCMfxfXXrUMP/UqJPoTX/cM/aDLOVjKP/jw/9yC/98HP+GLP/Ec2C63f+iQ4TjNvOiasmpZLuTpfaQgfjEu4HGOPKGeHDC4s2YXU+02/Ozn/B0J+1oYHvSNGnM9P/r291KSNGeZIHGObeOn5zzVM6PHkS978mNUt+EO/GadPOgbZzyVJvyVNG6g66AksCer4LGOc7Mp/eWh/SZVu6adP6VKOSF/TkAAAAKdFJOUwDf39+Af5/9MKAONWYwAAADB0lEQVRYw+3Y+U/TYBjAcUDYIahlA3bCimM3Y64MERWdeExFOhDoxkTnDuTm///R9+jx9MjbtcT4S78sIVnCh+c9mjDGxry8vLz+TwGffxp2/Ql0vYJbJuXzE76AvTc1rc9//gx0vqxg+XwON+XY8+8+BO22NayQKxQKSzZiwMj5D/TgQZtORjASe9U+QKHQfplAilEuhfIxQT/g6P4bwEZbGS1FS08wQR1GzpOCYfSFX7XGEtDSJPaEQCPH2cagwmEwpdfSmQwbXIEaOlAMhsNkRvQ9jEANy9CYoA7Dt6PdqIVBtUY6rdOy2SwbVLEcvR5G8DCjWkSzA3VPAbkcJlCHZbORCBPUY+h+pKzArKZF7MAcvLf4PDUwRsDfikU1O9DwFKDzPKzFYjGMkW8yGIExQbpO9SlAB0BANQxGDDFBdbS0ctdMYMQReHn5Te0n6aIPwf7WBWoLdsEEN57PoR6RFnGSVIdgfV6J47gZHPdqVBBzG6IobutCb+w5B+dkcE5Ys0iQZJBzPOENAsvG1oQ910u+EcplvroDqvLlsrDveEJlyXvox8Xbz6BbEf2KfdcTIlA4On4KOj4SNJBzAQpmUHAxobrkE4E3gyf7YECHE1qAPAWd7+EiAXleHMI/RYYiz5/c41AQaO4+YNXKq7oHpe2dqqmd7XnXhyJJg8Hd8CtoeDcYSDPuwflOp/NOF3qjwzm42Oc/SN/ler3eer8O6q+b6jHBszfRaDSZTD7BzaI2m6UEqPTyxWqrUiwWQ6HQY9zrt1+Y4B8ZTDLASoV4o4G/EJiMat7s5un9QDKhDBLSPGGl4mTJeA+T8pLphFeleCIeTyTwK04mJJvofg9PS3GQMqGjPdSfsjVYdA82jSA6lJa7CWdNEy6QCVedLPnMYg8XQHTJFecTwottAJ3dwwcWSzaBrRY8lHEmGJQvtjbhlQWomzDI/vAIn5TRlmzzkXnSvIcfQWZw0u4D86Rhyc3uB1CXgOCUbT206uA4PJRm9z2oKz/LFBwPjvAvAi8vL69/0l8fxm2XCv5p+gAAAABJRU5ErkJggg==\",\n mp4: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABXUExURUxpcZKU/5eZ/4SG/5CS/5eb/6Sm/4WG/5uc/6eq/4uM/4iJ/6Ci/5ye/6eo/6Ol/46P/5mb/5eY/5GS//39/5SV//X1/6Ol/+3u/+Li/3Z498/Q/7u8/zCK/WcAAAAKdFJOUwB7Pf+fHN2gn59fp7PNAAACSElEQVRYw+3Ya3OjIBQG4FqamnDzTkT9/79zOQdUzG0PJjP7YX2DeAR5EtKZTu3X15EjR46Q851dnuY7nTtd9Kv8nlK9X60/Kl60/qh4wjUFNjx8XSznIlHMClgICadC+2PWYShFvFwpSRAvBSl0MYDyVpB7xfOyLXmVrl2h99cQPw49VTzLV7lGNVF8DW5CExNAeSaCSsHdyi9SUPi2Ds2h/KY4K+epbZANpYoKmRHBGy6qbt7qnAzKaZzU86SDtje91Z8Ddd+2renHIh6sEsFKVS64stKmhRg7rRi2yrM0MEoAW2Osrh4kFaxnEPd9/SiI+94N1jW0qu5icN13Xfl7iCBqPlsQ9y3nObyJCNYr2G9Bt28VzRPBroYWQGNMiy+Dlel116WBP24BrOlcGgC9NaNWdjjV4T0/NHAJgnF6O/Fo/l2wt6Nm4i2w6OOMExtYmQ42Tdd00BxoV85O9TCI0k26hDckgc2acgXtKIeB8WabvaCFL89xZfMuKG1vgZsa2O2dRwbdUng1vBut48bK7dZ9ezgOrC/diQSWUdg0jrhb4a3bJIOCVYrDD6N8HCLol0PP2QC7fexxTgN5yctF4Mxz8wE953gDdHQwSiDQmK9Lr3IamJCcAObPl4u9oBAL4EohRESGC+FrGoiOX+E/lYD4y3kg0CRQJOSfggwbFksZZhg2GKOAGQscrFrE+RrachaC8hfsN7uLCJ24myE9BuQb52HmGcqO3fPtc2jXB3RiTuNy+hPpKcv/mmzHfzOOHDny/+YPi6+BG+WQsHsAAAAASUVORK5CYII=\",\n apk: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABXUExURUxpcXnGVmm8P2q8QHzIV4bNYXXDTWu8P3nFUYfNY26/RIPLXoDJWobNYXHASH3HVnXDTXnFUfT/7onPZej/2/v/+Ov+4cDypVmtLqvjjt38y57afsvyti89dh4AAAAKdFJOUwAQ3/8n3Xugn58KiJgCAAACeElEQVRYw+2Y2ZajIBBAuxuTtIhsKgTx/79zisUlaZ0pPPM048WwBa6FkpyYj4+Li4sLNNW9PqQq133W3e+4lSqr24GpPWms08S23ZhCmnvatsxYtZE4/a229BQZ78nxk27TXWKsWwwFRhA2ITXz3FBp1maxsc6OLF1Usb6cocBYNynAnKcs55tm22CNdYPl9vmXhUhj3bA8PpaMLdUNqc1qZIQggRRUi42lPIvmEzDMZazZBiHYOy9dd4TwezPXj1Pzqgxd7dpVlwnVNAzjS0SiM4N2a893mVC6MF2BsvO+64QQzTgMfadKhSIdQvFJD9p3duyNMf3khB0G44gSLCWcUKxwBhEZM2S0Af/E5TqgVKiI18MrRnKV3mRnhNy/+QbdbQIsF3oTFmr0vGJY8sjUGaGCBEcPht65UIDK2+C3UuUhaKFKSUmngen5tCE07Z+kh7bxMp9RKZRQLYg+CgmZQqk94SaUli8jyoTSx/lmsrHUvR1TqU4KuY3zddKtFVjzOSEd9S7G8UJhDEBKAp+4Hg7Itpg+C6WSKKEMgE8Se4CnaYAsEAbo8wDC5yGFQndAd1II13AfR08JOYlfg3BTTCzD3UktRwqFHJLk/DjCcBE5Wgi6BLH7xtHHuxKG4IRACJKTdhr3sISmM0r+QAgffIaS1u3uwlnIC4WckP1tuPhKhRDjHquvdMlrSdcmncvQgRLCDEpTtr6SNjX5klGkEM+/IyTxmF/bKlkLghbGrZE2SPLFFs1dZLuXMMJ71m1m0vkMdOmI71KC+QVbkQJQjyoPvA+zYnig/8L6vpDPUhUyxgfuSSr9ifH4I/cT/2ZcXFz8v/wC1sx9JR+88xQAAAAASUVORK5CYII=\",\n gif: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABpUExURUxpcf+ubP+eUP+iWP+xcP+nX/+lXf+SO/uPSv+dUP6kX/+XRP+VQP+SO/+jWf+oYf+hVf///f+mXf+tav+ubf+rZ/+eUP+wcP+pZP/s3P+aSf/z6P/48v/UsvqFOf+6hP/jzf/Hmv/cwS4F5mYAAAALdFJOUwDdez2foByg/p/2onNSOQAAAh5JREFUWMPtmNuSoyAQQGeMUaZUxBveRfP/H7lc1VRJptF92Kr1INqtcKqNSSrk6+vm5uYGzMPzrTzcdYFff+I7cPV91/VfNZr6ykNb6WwMypW6tOBk9EoALka/KMtCTCr05OKi0S9AwI02YXXW+KwqMVluMqw4SimjtUGNzwoK0HgobC4Yn42iat6DanfKnPZdhCAersK0KcfXWOtYbPtrTeNBhGnapCt1n2VZX6cWnjDhjjETjNeFudrhWQpfeS7PqJ5vI0DCXJLKPVmkcMH5MQ5CBaGvIRtehIhkGVp2VmgqwgixhSEkciYeDz4jxDkWyD1F0zQhKrJZ3zzG+jKPQMLNJiAd6ogImHw1+1UngQh/8DHqefMS9/ycFhJVIC+ROAvJnrodRn7ARBfIS+TJirOwEp88JsTGx0skF4Tyfd3nZCtQ+c8KG3OXW4FZ1lJHIeUQ1dVXQzY0vMDBbLJEKjsFCxX1oOmHPe02wlHYDsewk0LWW5jPCfPZJuyZm7BTbWmtzHoMTNgpcPuBUg+CCSkfSTv2wTdXskKoUFGMdhhyqlASTcjOlLgLu3iyk0QOwjDqePsFfgeiA4VqykefCUK40KZ457wwuiaMBZFokc7EQTUTiigGCWMH/m1hAhR624TETFSh7Em8Np5DfsE+EgdAy4BQD473M9+SNYPcMV/fImh9CLiWCkKYL4SvSAMv/BXvxL8ZNzc3/y9/ADVfok94AIhIAAAAAElFTkSuQmCC\",\n txt: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABIUExURUxpcTOL+DSL+DqO+Veb/mKl/kmX+zWL+U6a+2ao/0aW+0CS+kyZ/GCk/mWn/1yi/lef/VGc/Pr9/+jz/2+s+46//b3a/4O3/AJIojgAAAAKdFJOUwDf//8d3U+en52O09RGAAACF0lEQVRYw+2Y63ajIBCAW8ZqHC5KrZv3f9MFhpuJTQfrjz1n/SDIbT4npw2pfXu7uLi4YNOP39O367rRvOKja/V9GHOqcTTmVGNnzLlGl6A2WvvWxGsqJo9ajKMuGP0dDcbxSWTShKlGfOOoebCNRTidYxynDXrb1dUU0ziGEF3ZdHHoza14xocMXzJyhLdpmme/e6ag2XeobqYCnBRvs98fm32meId56nnCErk+czfVhlub0CyfOyzaHhTa9XOX9aDQqnU/w7uyjULrcC3i+ocI4iUOVkQ7+8IVeptXWgUgMXD3xjv1UYCyCa6QUAiC0E64fMUBYBTOrUJnROmBryCEMEAsCbYKrSIkCSXS0LYLla8U6K4KSYi+H5ZsWmcJY1ohmpos3OLWmoSF9JajX9m8ckyIRfjIrzM8KERfq5J/yridZwrDx0HF6suOMF24QoXJGijCR/gZboB/TZgDYyd9lqU8mqGPlGQMJR8OfiDjZNjDEQ5S0hlDZ4ushWkqwxSWJCgezOKYIMsw7Ri4wi0g3HfBKuF55bBQTNod1WcKw9kv6yShTQgUQA6A6IsjAEmFJ4RXOF24W+gBcIUxAaiapChi/zolw5rfC+GYUKTqG1G11Vxo2Bn6AJLk8NiPC6JBKOjXLv0ZEruwN2AJe8GCnKzHgEGw4STonm/fub535rNUx8xx4D+RdsPP9Af+m3FxcfH/8hcLt2QJ3T9wuwAAAABJRU5ErkJggg==\",\n exe: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAB4UExURUxpcVq2/kOv/0uw/163/1Cz/0+x/zGp/zad+0Ku/165/Tms/zWq/zKp/1i1/1W1/1K0/0Wv/0Cu/06y//7//0qx/1q2/1y3/1+3/j6p/vf7/y+o/9zu/+r2/yqM9xCa/4LK/8De/3ay/p7P/n3B/rLW/12n+xyf/0XRgzgAAAALdFJOUwDdez2eoByg/Z+vFPUOhAAAAoZJREFUWMPtmOt2mzAMgNuEBDquhhgwgWwMQt//DSfJ3BJIJ3P6a+MLviDkDxE4OaVvbzs7OztsjgfrJUdz3flH/hXvZ1Pfe55/q9HK8iyDluOW4xz3cHcYzIxnMqSZNi3BuJHxALIsTXHLsB+nuOlzmRktbUl71RIKGhitNA3gMxEM3TgxM1rog2UB0vcoopAezIxWwIRrPM0XhX17jJgZT+ETwWwSPBzgGRfCL7C4wojSI91FEfVDJBo2hPNLcYqeCKmFs71pcuAJw0cbkCRREq1wMq4wQVnQNkAbJtuESYKWiAbUtXVVENU9p1iiT4NzrjChRQnNmqK4DBSNDuoj0NjCkbScdGgsUzlXmgplWl4eKcpkZjQVSnHv6yuqapjdhZycLKGUkI+bFK22VOW9ae79xRe5NkInWcIPSOxR5IC7292ArqYqi1qNCfKDIxyzRV7pp8W53RxstX56oMRNQqEaEpTdzVGAc+tKCjRqNLIuWYpBWOsCwScAMOoSaxIKdoWCkEI4dYm06JNkbClQO32KFAZCIWLnN9GBUOoSOwq0TjzkGAnxGhFHxU8B/RUYC2PlEGpcrobIxgpjpYmfI1OAJ4zjWOCaWN+UBTUdxyyeMB5wq8sqlTummAn9V0Jvs7BYpfS3CstqlQ1CRdnX9tcqraFQwcNB98T7/LnKp0cJ+PywhG7s9vjXVXxXp0DHE7qT0lXuK+gIR2g/ydSjV01zZSR8Xdoc26jCbxN6rut5HuZTR/s0eH03xVlCz4B/Q3hYWefDxxua7/s6CAPnL9ijv8DzX8F6DbB9Npwrhvdb5wq5V4bPYb5Lne3lrwKcYDG1+W+k54P9Vw4b/puxs7Pz//IHkvGjBU3hWj4AAAAASUVORK5CYII=\",\n qm: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA2UExURUxpcdbc4MzO1dTZ3dTZ3s/T2c/T083Q1tXb4NDX287R19HV2+zv8PX29/3+/uPn6b3CzcTI0ZN/xtQAAAAKdFJOUwD////dexCfoCcDaycKAAACJElEQVRYw+2Y4XaDIAyFF2gnEizy/i87SJCCa13i9m9eLAQlHxfsOdZ+fFy6dOmSWPPdvdM063GfDo500yLnG8CfEh3AnxLnQ5bVE+810XYAu4dqiK7m2wH8C4+OKbahcsSfVnQeHTSLjLLNsW0boCE6u5nYbNrNFwe1a6VEVzM3hrUjic5Qc/uUOnyqslsHhosyoutYe/Zek9rhT5oVQNzl4qv4Lgbi92QsIY5UJwRiPUoO5gpiFmDDtsbpHCIXCMsjawnAE2AzjEIgki2kFMRIOEJGLDjEOpPM4UQZvOIiaLxMBKxnGSoEjgqPTmF38QQQHoOgu2RlQDcC4wiMv3XowwgMfrg86YDl+5dvCR/lnjyWJUQ4DczfPxaRngpwDhiZ9UpwCrgcCFRATyUeAaNXOfQFGN7jwkI3O48SAb2n6cNChY7abJ1cW08SLrnIUvZGCT2yVLQKL3aYZcKhvMIhD03xiBeTHugPiNHqgWaFGN6UCKtRA31a6UkSC4BrDsrTZU3KPSzzm7QafjjFWtcJIK3J6IA8PBNJaatrf914xsiBI3KnZGiAkTrcllMcmJfiLREDeXbDKYbrSqDQdD3xXa5J1HLsa98/O164h93Kvke7Uzrguy3spASafwK8a4CSX7BzGZj6rLSL66c0oleVyfRJyYyInipacX6hvzVbae8ymX4G6bvUPA0rTa+WTv5kb1L8J8b0o+4n/s24dOnS/9UX8vFAaEzio+4AAAAASUVORK5CYII=\",\n php: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcTbUrDrbszvetTXYrDnasjXQqTPIojfTrDvftTTMpjPKpDnZsTPIozXOqDjXrzHGoTbRqjfUre7/++T++Pf//SfCmxm3j1fXt7Hx4UvNrNL78XHfw8T26o3o0eeFKfsAAAAKdFJOUwA9//8c3Xign5/8SMcgAAADDklEQVRYw+2Y65qjIAyGp9ppRxBERcTj/V/mJsHTtN3dMNt/66dAEsjbgE/7jPPxcerUqVNsXW7Zb3WJx12z9E/6vMbyPtP0rcQsTd9KvKbpe4k3SkneR8wWVrL0yb8SM2QkQYGZYEsITnckMUteKX2KsImvgS/EJT4B86XtXhwx2xD5kp3nCwVHaHTnbOJXsuWv2Utd+WOJ+RcLmJOSpREw30T01U7yCx9Y0H0g+W6YIZRsYRxvfODGK/KiQHtqGjsePwU/MmMCi+84GArfgEZ0izBHHecQvzAFQaGyMBTFDDzbV2iuYWhcYBEgB1Ww42Yw1fdoDHDR3I00JhaAs1ndOCCUUS2lzLa2HgNj3TT1OIKLxIruiAorFPQz1GU9muEIx+CHeRxYQFwaUih/dmCVeISTMx1EBl9t4gKD/FAjz6AJoHp2znV1U0/+Z0A/1XXdOaex1hrYvRBtT8H8J8AcUyflBO64A3sQZSmJaOdIYInXDAzbtxIdPVCxYJoWnjQ86hhgCXkgKsoYNEsPkHo0OGN6/KAZglg5E4gSdIRTT/CRqhXEhmJt1+uwKgYYTmvqwdahWr3zXDxQOyDCF2NKwEHK7IhnkdeqMhqIRD9Za6cKjhC/cnCE/cIzOgqo6SrFQhz1DP0gZElG4C1rmEAQVKiR2A1dLzos1AmtyQWepjUgFlBvAqLyvYONWjhC9HuvWiTrCOB9X66la9vWjMCzHurSBlwndTRQaIFVQJPGGUFHqJBD7r4BLbhbFmsGkiUeYbdsFPxwhTV3ToVrfQKToZlxGqbRoRlmwhTNsYFbCsg4P3rY6pNgngWUa4IMjZ6MO0TlNssDEoS6BaLgl1qtrkTRiEt4wJAm9pKUXIuSa30xFUqp5IPEY0CqEOIB1Yo8cNSjFRZxgUrReuzRRlfto5ShgVjALU+9lDyabCBXHOBtW20eLBOaMSaM4HL+gr1gmtlBmG82NjrrHFys14A7MgizGQepbQpuzo7xBfw74lnrNPdd6no3LN35b6TX2/2vuv3gvxmnTp36f/ULf0R1znQ7804AAAAASUVORK5CYII=\",\n pdf: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABUUExURUxpcf9zfP9ldv98gP92fP9+gf9we/9md/9yfP9/gv9/gf93fv90ff9od/9ref9ve/9ldv/x8f/q6v/8/PlYaP/g4f6lq/63vP2Ejv6Um/7Iy//S1LO+3cAAAAAKdFJOUwA93/8c3Xugn58XiwqYAAACVklEQVRYw+2Y23KjMAxAmzolxXc7tYHw//+5kmxI2tBWMDx0ZjkhMr6dkWoeSl5eDg4ODticmvZbTut151b+xNt5re9Nyl2NrZS7Gs9S7mts5M7GVu5sJKH4KhDbjS1shu2CKA36yj2ZaZ5vbGdNbT9zH+MaW8GFaeQLmcYF4XAbu37J2HKFiparyReu12ta+oOKEztDVXwKP+mKdKV3H8a7ZkWGqmxWihIEoVLT+FyA4tTc4g68VI39LHyGI3yva0WVKl1KzroOimkOvu8rhJNWmY6Eg17IcL0QcFRzkGovofZYc/C7ZahNBuHNbs+wpHKPrscH2yqt4YIBbGlOc4WPYK8rp/w4WhexhPoJem6SeJ7YKMRTDteQdxN2odDvIXRwpRBSjhD6rUJXL/xoPUBynRohjkL0Geh1nWILYblzk/cWQhx0DymGFDFCvqSDFSyhc64YCzKisBvDA1HqsoAvLBmil44khk/EXNesEhIiF1eMMaVaMWa8UahyimRLacy98xmdwM3ZTcKhbE+pG9xHIY+QaOf9JmFGW4hpIJU31npsMZgtJZMP60MJ2GDIGl/cbo3QAs5aUeqNqfe2DtVgax86bCFQE0wZ6lvSERzhpW6hE0np5r198sysEBqL5wm+D/sDlxUZep+73MMJ7CQs5/mLjys0pqSIj4uh8mdM7dTIE8KmCZLXW1MnHma5Qj4sofnrwmZhn3+I0Ph5gvMf7Am2ELjX0z21ZKozJUDDeg24eDaciuH99pXre2W+S52ZOV74b6Tn5vIrzYZfMw4ODv5f/gEm33Cvx+zPHgAAAABJRU5ErkJggg==\",\n Null: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA2UExURUxpcdbc4MzO1dTZ3dTZ3s/T2c/T083Q1tXb4NDX287R19HV2+zv8PX29/3+/uPn6b3CzcTI0ZN/xtQAAAAKdFJOUwD////dexCfoCcDaycKAAACJElEQVRYw+2Y4XaDIAyFF2gnEizy/i87SJCCa13i9m9eLAQlHxfsOdZ+fFy6dOmSWPPdvdM063GfDo500yLnG8CfEh3AnxLnQ5bVE+810XYAu4dqiK7m2wH8C4+OKbahcsSfVnQeHTSLjLLNsW0boCE6u5nYbNrNFwe1a6VEVzM3hrUjic5Qc/uUOnyqslsHhosyoutYe/Zek9rhT5oVQNzl4qv4Lgbi92QsIY5UJwRiPUoO5gpiFmDDtsbpHCIXCMsjawnAE2AzjEIgki2kFMRIOEJGLDjEOpPM4UQZvOIiaLxMBKxnGSoEjgqPTmF38QQQHoOgu2RlQDcC4wiMv3XowwgMfrg86YDl+5dvCR/lnjyWJUQ4DczfPxaRngpwDhiZ9UpwCrgcCFRATyUeAaNXOfQFGN7jwkI3O48SAb2n6cNChY7abJ1cW08SLrnIUvZGCT2yVLQKL3aYZcKhvMIhD03xiBeTHugPiNHqgWaFGN6UCKtRA31a6UkSC4BrDsrTZU3KPSzzm7QafjjFWtcJIK3J6IA8PBNJaatrf914xsiBI3KnZGiAkTrcllMcmJfiLREDeXbDKYbrSqDQdD3xXa5J1HLsa98/O164h93Kvke7Uzrguy3spASafwK8a4CSX7BzGZj6rLSL66c0oleVyfRJyYyInipacX6hvzVbae8ymX4G6bvUPA0rTa+WTv5kb1L8J8b0o+4n/s24dOnS/9UX8vFAaEzio+4AAAAASUVORK5CYII=\",\n ipa: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABUUExURUxpcUOv/zar/1K0/1Cz/0+x/1q2/jGp/0Ku/163/zGp/1a1/zus/1q2/02y/0ew/0Gu//f8/164/+/4/+f1/9fu/yek/73j/6TY/xad/43O/3nG/21bnhoAAAAKdFJOUwB7//+gJ92gn59E+c9oAAACbUlEQVRYw+2Y27aqIBRAd5iVsLiICKT//5+Hi5hmdcD2wxnjOIPF4jZdPXX5+Tk4ODjIpj41b6l3+Br5iUupsr5I+avGVB99GvcaayqpI4ioz2MWJnGl0HiiNCpfIuNeibFZ6OQ6ysdqgbGhWeQbvZDQGMjCQOYlUmZsCHFXSIoTNEWvjXu5xjNZQVOgC3Hkskv4ict+YfXa2GQJq4r4lkI1z+UoSUhj9w+p84QrSEqGvpeLaeC0QzhBTdca8bx63i+0bavGvULmG1sNUrXKIu7SxU6ZcLoV7jM2qN5ixKJwkrJMIVtRxWG0g9Z8teQpEKZbZLB2kAzf9WiNsXL9uOIKiVVd23bKDLZ3icss+UpovMWTxlYZUii8hZPcvRgfZs+MkYKFPR/YLUfI3VkP41RtfL3Ugk/brmcKw3F3YdwU2A0a0q7nnC0MmI1QUeBLbkVC4YTzKzZViS+EYLpnFOd7hOK9UO4QCi6CUsCgNkYreNp2TeQJEzCqFyWKJdlC7hvwPji6h1d1hkSVr7O0QoGNCjqlQvdDp/phT4WTcOyjxvuS+hshCKM2GATlQogd9FTign7UMD0NMoUw4S4gbZ+MvdUo7PltgDxhOu3QyARj7/Gj4RoWFFXoC0GaGacydhhsSEgoML2FYiEAvovRjuzuAPdBxe8YSiu8wpPRox0hWfvyhWgOgLHWGDnc6JLZFbJrltDfjneQv4fiEJdR3ExZlhB9BFazXxCif0aIF/ExxmQKOE94SofxQxrTqWMHig3lfIOt8Qb0dpr1U+WKs8l5xw7I9UHmb6n6+qv1xT8xrn/ltOffjIODg/+WP3HMcIG4JOLbAAAAAElFTkSuQmCC\",\n doc: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABIUExURUxpcTSL+DmO+VSd/k6Y/Vmg/kOT+jSL+UeW+1uh/1ig/k6a/T6R+l2i/0SU+0mX/Oz1//n8/y6G99fp/3ex/J7I/77b/4u9/gFOo+kAAAAKdFJOUwD///8n3Xugn58WcbRuAAACn0lEQVRYw+2Ya3ekIAyGCzozHQFRUPz//3RzQaSXbYPtOfthfccoCcljEM9pZ15eLl26dEms/v78q/oTvKf7SrdWZH9z7leJT+d+ldhTzQCfooH9oUw0Ee8D1qPyZXBsOxDdFuJzkKiBKAM2EIVAObEGdtlqv0SkRAB2XTfgQSMao5M/FKHpmxDYvdHO2G9S69YE/FD+5i5szxMdfq1eBDSYasiMYY8DJkcPuwuAr12uxNO2LgaHGWCM29Yhe3g7yZpfTa41xq/THJ3BNunUGZ8gMnAAs15FQBbUjHGe57W4IDfN87T44suAXUZ6WwFZCwDnZSx+S4cA1AeQnwEBp2X054DjAVxiXPclzyeAno4d6I2DwbT5/Rky0IuBnnjeH8AVrrC7PgPtniED+l0Z6D1txTwn7w8gp5wEJuLh+1KA/jRwWv2GFGwymR8CFQEH7DMmRG0ZOLYCucAyEFFx0REvWwGOcuAIgnw4qwgrRdCUVNhgMEFgQiBO4yEGkqyielB0IahEw5mBWSeBcQ1KB7fjfw5MXlmrw5rdRf8QGJegrbVqTNltBtrRVsC4agU+tLjECkhJIiA0A+koBqYBGsSI4kUD0I6cJAVSOjw12ljcEcJDi0PKQBKkSDvkfAJGeAU138PSy5iBvIYmIO1rTAu8MiUwJogYVVIkwMcBVAb+jFKDOQCL3lZ3BOyjCQhLROkKSBHVDNRQSqb28gyliOIImQioK0ExC2E5oqp5GZBrbVX3PmJ3p7nD7/TPgEpXD0oVU8XN00oGpEqsUQc5UxWb2k0EVG/F2Ix4LwnwXld+AtF1WPIfbK8aJPqq8pDzJCsG4YICV4S9NByUUFwt/C7VP7AgUBGcw0cmTQZhf/wjxuNb3c/8mnHp0qX/Vn8A5AVWOPvxckoAAAAASUVORK5CYII=\",\n xls: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcYXMX2m8Pmm8P3zJWYbNYXvGVGu9QHrGU4jOZITMX4fOY4HKW3fET3LBSm+/RnrGU37IV2u9QWm7P22+Q+r94PP/7dv2zfv/+GGyNlmsLsfrtaTZiLPhm5TQdN9r514AAAAKdFJOUwB/e98c3T2gn5+4KvYSAAACu0lEQVRYw+2Y63qjIBCGmzRtqhwV1Arq/V/mDgMeYtLtkM2/9ROBGWZe0aB96NvboUOHDpH1eSp+1Gc+7lKwv+njksv7YOylxIKxlxIvjL2WeGIvJhYlY1BYiRU0ZahZcqYjh1ggJCqmL8bcCVejE4tyL/awSybeA38QlXgL5PsuzyYWMYmvhfNECS3nWDCGRiw4T0lr2bjwLCOSnyjAL56hz2wg2yNuHadM4NA0vpyNCs6pa7ot8osIrGI6a76/Wx96FVZ8Asc3OmIAEVghDw7WQX47Qq8KNo+212ihjwSsFsmxjcQo1oHZdpNYIzKBVnokDmiVvgV1Q/88UPQCic0EhvZN5Cn9DDAmyb5Kt1lV8Is3TTc4k3iaDNRah/DQaOngwYWJMZgg8MYeblhrHIOWDFxl3QREmKMeuq4bVS8TLooIrDZE44bw7FpvpnGYeYvyZ6iF6cdAbCbn3J6XCxSR6JDYTb2RuzEaUKQMEbLgkH2a45A8cw0tDXgjAMve+kTc6wmgECOsPhGJ7BXA8D43ggdi05X/DsTvQ8Nc6fFN4c8AJRyhBOEXsPXKwAJHYnimOChzZihThmRxUVe9hAWORB8vJCOXBJSAk1E8vMiN186KhTjKTQAFeMVwgVn43HzpDFgKliMShwQTdOCsMgC6CXkr0as1IhMoPHxhht4kgnXKw1+9wa4R1yygMnoYJ9cvM6qdHMfB1PnAhDAufGHU5gpgoiP6FA2oIFBFGUi30UQIOmqFXaXIwK2supW1N5584C8iAu+mdW+kmga04caCQpqdLWXTwDwaeiSgzRAVWGNZzrVb12tTk4E1CKuUbdGyyZWGoijAc30nu1xhrzNl8/0o0dSPRdoGXGuTVMezNvVibioQ5Y5hf/u+JPygefiduJe6XA1JV/qO9HK+/qrzE//NOHTo0P+rP7x4jQVHYv00AAAAAElFTkSuQmCC\",\n ppt: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAByUExURUxpcf+ubP+iWP+SO/+nX/+lXfyPQv+SO/+dUP+xcP+ua/+VQP+jWf+XRP+cS/+eT/+UPf+ZSP+gVP+qZf+saP+SOv+mXv+wcP+ta/+ubf+oYv/79//x5f/m0vmEO//MpP/Sr/+9i//Zu/7Dl/ufY/2zfqeIp1YAAAALdFJOUwDdPXugHPygn596VuVMqAAAAl1JREFUWMPtmOtyqjAQgNuqUBQSEi9cDHJR3v8Vzy5JJHi03dAz0x+HD3LZTfIZ6tCZ+Pa2sLCwQOZjG73kw1+3ibKveN/4+t6z7J8a7f6Kp7bC27gp7mTFC7yM28nS/OfGKC9y0OSIafJi6A1FJ3IPY5SToBuj/JAfDkMxNSzHzpDN9e1jXB+IUI1/CfemjJGfcb0HDvbe23rvZGxMM673dCKqsJwsK+916SYQyn+KdemQVec7qmqy8oGtr7A5T6kfhGsP4QlLd/7aSBKeRuJueFSNUmi8nspxfJ6wuWn6Gv+gleM7neYI1fViucIeVTtLGOv5slMg5FITXGCLqo6dCTRhfIoRqLVQ2lA0Sqkujk0MGZLQrEZAqKwQ4ChspDOBIvyMR2QzEUr4plXNnQmfnkI+FbYQVf0coTRlFGZt22KgOm78UlKFckQL4VuulaHqA2dczhFWICwro6uuAfuJkDXVIJSNfvu69jLZIFnIXWHLZXKrkf52Cbi/kHOORmg4q2FbLePMvnwJw5HhA3GcU4UWK+QiQATjD/gKhRW+4idCePCZQjaihQK7nLnYyFeYjMKnPjZnh90TIfMSCsG0QrDk2lVdD5EQOoE9HDYTBE2IizRJ33RNkYgJzOkTdzgKg6zNggeh8BSGxqWF8HYEj5bkXtGEiUsa7IYWDM8IvYXf8GvCHZLglZgIG33ZLvZ2JOHOg98Vpvc2HQOHNKUJV6kHK8rh+8m64ysh6RgQpsdjaq7hhmK6OmeGIU95YjjfBkciAfEstQlpvpB+It2swm9Zzfg1Y2Fh4f/lD1FNqKcd3wCLAAAAAElFTkSuQmCC\",\n png: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABpUExURUxpcf+ubP+eUP+iWP+xcP+nX/+lXf+SO/uPSv+dUP6kX/+XRP+VQP+SO/+jWf+oYf+hVf///f+mXf+tav+ubf+rZ/+eUP+wcP+pZP/s3P+aSf/z6P/48v/UsvqFOf+6hP/jzf/Hmv/cwS4F5mYAAAALdFJOUwDdez2foByg/p/2onNSOQAAAh5JREFUWMPtmNuSoyAQQGeMUaZUxBveRfP/H7lc1VRJptF92Kr1INqtcKqNSSrk6+vm5uYGzMPzrTzcdYFff+I7cPV91/VfNZr6ykNb6WwMypW6tOBk9EoALka/KMtCTCr05OKi0S9AwI02YXXW+KwqMVluMqw4SimjtUGNzwoK0HgobC4Yn42iat6DanfKnPZdhCAersK0KcfXWOtYbPtrTeNBhGnapCt1n2VZX6cWnjDhjjETjNeFudrhWQpfeS7PqJ5vI0DCXJLKPVmkcMH5MQ5CBaGvIRtehIhkGVp2VmgqwgixhSEkciYeDz4jxDkWyD1F0zQhKrJZ3zzG+jKPQMLNJiAd6ogImHw1+1UngQh/8DHqefMS9/ycFhJVIC+ROAvJnrodRn7ARBfIS+TJirOwEp88JsTGx0skF4Tyfd3nZCtQ+c8KG3OXW4FZ1lJHIeUQ1dVXQzY0vMDBbLJEKjsFCxX1oOmHPe02wlHYDsewk0LWW5jPCfPZJuyZm7BTbWmtzHoMTNgpcPuBUg+CCSkfSTv2wTdXskKoUFGMdhhyqlASTcjOlLgLu3iyk0QOwjDqePsFfgeiA4VqykefCUK40KZ457wwuiaMBZFokc7EQTUTiigGCWMH/m1hAhR624TETFSh7Em8Np5DfsE+EgdAy4BQD473M9+SNYPcMV/fImh9CLiWCkKYL4SvSAMv/BXvxL8ZNzc3/y9/ADVfok94AIhIAAAAAElFTkSuQmCC\",\n html: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcTbUrDrbszvetTXYrDnasjXQqTPIojfTrDvftTTMpjPKpDnZsTPIozXOqDjXrzHGoTbRqjfUre7/++T++Pf//SfCmxm3j1fXt7Hx4UvNrNL78XHfw8T26o3o0eeFKfsAAAAKdFJOUwA9//8c3Xign5/8SMcgAAADDklEQVRYw+2Y65qjIAyGp9ppRxBERcTj/V/mJsHTtN3dMNt/66dAEsjbgE/7jPPxcerUqVNsXW7Zb3WJx12z9E/6vMbyPtP0rcQsTd9KvKbpe4k3SkneR8wWVrL0yb8SM2QkQYGZYEsITnckMUteKX2KsImvgS/EJT4B86XtXhwx2xD5kp3nCwVHaHTnbOJXsuWv2Utd+WOJ+RcLmJOSpREw30T01U7yCx9Y0H0g+W6YIZRsYRxvfODGK/KiQHtqGjsePwU/MmMCi+84GArfgEZ0izBHHecQvzAFQaGyMBTFDDzbV2iuYWhcYBEgB1Ww42Yw1fdoDHDR3I00JhaAs1ndOCCUUS2lzLa2HgNj3TT1OIKLxIruiAorFPQz1GU9muEIx+CHeRxYQFwaUih/dmCVeISTMx1EBl9t4gKD/FAjz6AJoHp2znV1U0/+Z0A/1XXdOaex1hrYvRBtT8H8J8AcUyflBO64A3sQZSmJaOdIYInXDAzbtxIdPVCxYJoWnjQ86hhgCXkgKsoYNEsPkHo0OGN6/KAZglg5E4gSdIRTT/CRqhXEhmJt1+uwKgYYTmvqwdahWr3zXDxQOyDCF2NKwEHK7IhnkdeqMhqIRD9Za6cKjhC/cnCE/cIzOgqo6SrFQhz1DP0gZElG4C1rmEAQVKiR2A1dLzos1AmtyQWepjUgFlBvAqLyvYONWjhC9HuvWiTrCOB9X66la9vWjMCzHurSBlwndTRQaIFVQJPGGUFHqJBD7r4BLbhbFmsGkiUeYbdsFPxwhTV3ToVrfQKToZlxGqbRoRlmwhTNsYFbCsg4P3rY6pNgngWUa4IMjZ6MO0TlNssDEoS6BaLgl1qtrkTRiEt4wJAm9pKUXIuSa30xFUqp5IPEY0CqEOIB1Yo8cNSjFRZxgUrReuzRRlfto5ShgVjALU+9lDyabCBXHOBtW20eLBOaMSaM4HL+gr1gmtlBmG82NjrrHFys14A7MgizGQepbQpuzo7xBfw74lnrNPdd6no3LN35b6TX2/2vuv3gvxmnTp36f/ULf0R1znQ7804AAAAASUVORK5CYII=\",\n js: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABpUExURUxpcUOv/0uw/zar/0+x/0Gj/Fq2/jOp/0ew/123/zKp/1S0/zqs/1Gz/123/02y/1i2/kWv/0mx/0Ct/1y1/vb7/1i2//7//zel+zOe+e32/9zt/5nN/ieV9oDG/avZ/83m/77h/2S6/HhIljsAAAAKdFJOUwB7Pf8c+92gn59dd850AAAC8klEQVRYw+3Yi3KjIBQG4CbGpgaMNyQIiJf3f8g9B8Rqp9mCszO7M5u/Kgj6iRrb2Le3V1555ZXgnE/Z05zjuUt2/13eL7He+/0+457zlpk/i1jRjo/ZCQC2Hx6LH+MF92EOhIJt9LtviRJPFsMgY0vPr2aUmDmFlY5i68q2ZBFiVpYcf3jpwjnDFoZ15mZsChczRKxkC86Xlc+4erCY+T34TvENnPuxh4rZdiR8M0BeLlfCwcFiRqxGcOJYJxB3AEJ4STiuEuzhYWJGvqYkz5IdA58FDnQ+AOb5bOY8/948BYAfFoEJZ6gWWraK5S5kaffLkHP+yPepxsejHep9I1nKj3iwThWAOi3y7xIIbnYuPOiHCH0Fzm6jIBC2LZZ9IJUHi2JpsYsocJeqW8Fv8g+AtQcrEOuDYF3Xbl8oNmBtJiXlONxtb23nILDepfEgmdr2AdVWGduBxz0Cpp1qARTVAFwrJSwVX3vjwapZwEI+HnLSelKtNHFgZYNYBROCLYB3BLu+F2YYWGW7YItgsK58PJjjpTRCdL0QYu2NGOFXMJ3wGqrBFEI0fwIUbJT2Jkv96R0AGw/SjuhR2Q+OjgWbBqHakAZCEZRaNKLrajPgMOUM/bBFEw5CcngqNJQilwAaATTckG6GS9kOjU8QaLekGh2dixnPWDHBBk0o3GRzEBRGoQgBTw6dgAdPDXda2D8INBqE09Mo2siRdWKQ9smDRw/GSw+MsOv0KG3UxPoOnmV7i/GzqLsVvAaPkMJTxvQ0juOgU/AoHGBSSqpxgseFokgDwSsFjuIt7fsUvlqmPXo0gWduNsbMokcPN4FFGOgCJ927oOcPsa65xIA0ARIjbsnSkMDvBZHQo+AC7ISdFgwmid8xwfqmZjtcxdWDwGQNXebniQR/zl8Eb3Za8rV2s/MtEDwlN4hdLFkbkm2LXQn5Bnu+hQbIoNeAa7B4CzljeL9NQ7008F3qEjjGa/gb6eV0/TGnA//NeOWVV/7f/AJAsosfySCrjgAAAABJRU5ErkJggg==\",\n css: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABaUExURUxpcXvGVGm8P3zGVXzJWYbNYXbDTWu8QHnFUofNZITMX3zHVXTCS22+Q3jEUIHKW4jOZGq9QHDAR////mi6PvP97pbRd/v++tXwx+b33afbjV2vMrznpsnquGjfsnAAAAAKdFJOUwA936wc3Xign58XA1ZcAAACuUlEQVRYw+2Y2XbjIAyGm540qc1qAl7j93/NkQTEdJsKtxdzzvg3iSVAH8JRFufp6dChQ4fYOl2aL3Wqx50b+ze9nGt5L9b+KrGx9leJZ4ppv2C11KqIlxTUUnib6akn2TXEBigY3RKtJdncgRb1VBCb9o0Ikq0Hvob4Dvil2EQukE18CzSfmlXEJoaaTDCtMYmFZ2Oo0SCP2BiTgrZWdNGjjUjTsIEP2TvIRrsv7KRTJbDtpwCaKEkb7b4EXhjA1zJgHG63YYiQfhrQG8vxVz5QECMAYRrv5Oj7OAEx9MUEJlCkJhA49cJLjJZe9BMChcnju4DjsihtBEgtC1wCAAph4sEDik0EVJpsYGqVgVk1QJOBMjkgHYFGxGbErgzl5uufZPgZUBJQ7wbqeYC6ewcc5t1AM0PdDfcMBI5coRCn2USPD9QUYMcAvGmW6FC8lj0uEcYWHc0F6igxwwW8DasjJ/ZJhynewpzmaDYQAbhh3LEuRHuGrHWaVJOh1PcplNmgMOsw3p2szRCB3vf4oq7ybYLD2HuvdwC18wvUIZRNAaSyWbyrBErasZaKCttFj9agwu6kTBeFCZQQgA2qJAJpAVQEYoeMs1hAuSkCNz8Ciwk7gMOofgi8FvHx83DrUONtV4auBIbZJldYKsPe1QJdIjpn4TtkCGHUDnvGEPCzwbo0DBOunC3jRJJ0ag30VrPo2onex6tym3jAjHPOt+sEWuMS0bY+DspaIEotvp/n2SDDeQFmr5a9GZL8QurQ7qLtdwEfQcqDusJWJY8LVBClElahMj06xRALqB5y6jtVAtU/Duw+I3TpGQ9oHOAF5r6TSo8PHYrzC/bUcQVI1m3AFSd7FpKzY7i/fQaaj0Sf0dsCNOLpeGbeS52vnY/K52R3yeji6cq/Iz1frt/qsuPfjEOHDv2/+gP0toi4gXoofgAAAABJRU5ErkJggg==\",\n epub: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcXXDTXvGVGm8P33HVnzJWYbNYWm7PYjOZXPBSmu8QG6/RXPBSoHKW4TMX37IV3nFUYbNYonOZOv+4fX/7/z/+1utMK3gkuL412O1OFOpJ7ripNf4xXK6TKHWhX88Tv4AAAAKdFJOUwB7Pd+gHN2gn59lNj8pAAACeklEQVRYw+3Y2XaqMBQG4GK10gxCgDII8v6P2T0kMhR7dujl4QcMCcm3Ni7tkr69HTly5Ig4pyR9mVM8d0mL3/JxifU+Xkhup5jyQudmkpuNuEjx4ii0fHlWUIt7lJiwsZVpOEZMnSQRYnpzsGH8WmyphxdcGJaL6U0WsSgFxeIStOtTGy2eeZGddmu9gq21tNMcmXi21i+adtsMQ8MdOm5M2lQMrtKUVVU2GxdO+8Cm/IJsickukL1N8SwEM9wzS2cZeVXlRT9uuZGBmfey7OmVfU9Nk3HoKhwiMFuEvaaum4XoEw8G736ve7rr8W8gfF64PqXqrsX3sv8TSF4Lns5zPWKF7ZjvAHPcYZt5jFft2Bm+RpsYpCBRVegpxqEz1p3BSzQHDhFI2JPg+3162LGjYy4CRKKt8AuM9c086BRDC+8kJwI0AxDVsPYMeNAZIsBPD/ZYYfsAIh/beX34l6c30aDOeyxrKHyB8/rKPtPxYP3AGksQDbxrw8J71FGggS033T2IpstHu/Du+OHBaZ+yClei6+7wVf7pQWSgMQYPTWJZloPt6g48N0CnJY9n5EYEhsn5JN40jJBXes+TQjBkEp33qD7ttXhwLi69kFhwJm568eAkbnpScL5IPcXJ09EVatq4CSJ5ylvabyKQpkKoEC/Cb5vg8bjhCTJQMxeCd62KQqG3jhA0k0ivCr973gvXTAz4I6qr6436ZOBVb4lqi9P6KgSV5vXzVz8YXvlEDoZlrE2KmholrVC9iN4Yk4AJLdW0XqvQeO454HXJL9iTiojoMeAq9yR3DM+371LvXfgsdRHWeJU/kV6S6z+T7PhvxpEjR/7ffAMGOojXQYbbiwAAAABJRU5ErkJggg==\",\n psd: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUxpcUOv/0uw/zer/123/0+x/1q2/jOp/zSm+Uew/zKp/zys/1O0/1e1/0Ku/0+z/1q2/0mx//7//164/vf8/9vw/+r2/yie86HX/sno/7Dd/5TR/W6//H/H/Eyv911ykpAAAAAKdFJOUwB7Pf+fHN2g/p8jQekrAAACx0lEQVRYw+2Y7WKrIAyG12JXJn4xEQG193+ZJwnYOdedE7r9O74qBQyPARNb+/Jy6NChQ2ydT8W3OufjLkX/N71ecnmvff+rxC/+dT8jXnB8162sLhK7T/As4glgHR1xT0Vs0iW6PGKxYXxo35FBJGC9B37p4BOLdXhd42e9QdaxXecRi5opLpEN5BITsKL9oao8YkGoqkpIrJAIRY2azuFR8IB31bvPXQuY5zzgA8hOJwbwbTWevY3yof+GV3Hm/NZG29ab9yhjrOsq6E57C2Ub9zcWMEoP7x8yvqPOalOicoANAu0AsuCqce0j5QJNmPt+cQMQ7fwzoI7AaURNdueizgRq3CJQKiXl6GH2Xn/QyIAN1BqsdQS6BmvSAXDQO6ERF6hX4BSrAYGNnp3HqJw1eYhlDlCRh1TtcA2DmixFJkTl3ct8IE65whC3S49YSzG0PAt8H1wIAaPGeFxI46cJmiY8DYS0M4YyZZawkGaGIJpDmJs8YANbAqZk9ouUOPFwgyAapWySEQvYRBHQrI+bUSoKb+unVkoVTXTDA9LFCWiG4JxbejnKppG0mHiTa4JpKHM9TKk3Iq+RcvKDoRvUJptngBJFU1RyvM3BU14/AxQEVI1aByNxHG/OYtb8ALiqcq5SAlYTgW0+UO2BkHjWzbqZTPRQsYEwS4Xzi0BFY2Gb4R5jFGEawlMNjOAcDxgFgWzspO6S0xC/tYwNcJsQp9Q1B7h4COgNEHLOD9YO3kUeigO8rgB5629SbYljvSzLfBtH8QxQYJBsgfhdEKP8zssCAlEKsQViD4V5arGBQgmBKEGVeNBwkZpCxS4hWECRoWyg+m3gb3lYRvPyXpapsjlRZnlYpm2tf7pEmcqSBzyVDyUe9nJ+wZ73gx+jolivAdeSLc6M4f1WcnmS+S51Yfp45b+RXk7Xf+r0xL8Zhw4d+n/1B13vfAhtdKi2AAAAAElFTkSuQmCC\",\n dwg: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABaUExURUxpcXvGVIbNYXvHVHzJWYbNYXbDTWu9QHrGU4jOZHLBSW+/RYDJWmy+QoXMYHzHVYjOZHfET2m7P4LLXf3/+/T+7u3+5MXrsaXbiVyuMZjUeNb2xOP81bPjmuZ7vy0AAAAKdFJOUwA9z1wc33ign591Bg7OAAACdUlEQVRYw+2Yi3KjIBRAm51UI4gKxMei+f/f3PsQNU3SXtzOdGfWo0W4wBGFau3b28HBwYGYU1a85JSuOxfNZ/w6p/rem895TzQWTfOtxjP1qWCDtJoLK1WyMcM+VUUu1pJ3ls6nSDEW1UpTvSLBWFRf0iQZXwn93jFuhd7fK/2SJhgL9Hh0ecp5P4tn3xzwYmPhX0En2SL7nXkirEIPNA/xspAIL9Cw9CUmsV85dG3bBcjNgSUjeVJcykeG9nrtAmX9/MNJtk9Yk7B5cqbLvymsdwjr2LOmBIVtU3OMQ9xGJIQOQHSFGzBegR5zoV4Qj7DeQiumbVGIx26gEXICpAvr4bqlHe5r04WWhB1BQvsdwo5uX4/GvxCGgejBMv4mJpwZjoY0IY7C9nSZNB+jI1DY8tXfsJGVCi3Rt8tUjBoDelrn5mbBJxVi29qqG60XXDLtqFjYXudQd1N8VqEQUUNPTNA/jhCyE0cHRUNMEiq+cbiwV2E3cFTvGKHjqQ34bB0Jespy1NlkIQwR0aG7I2iOJwmVje1BG6atbwpQxbUqZYRq3ej9NIJ1GjGHwk21SKgiFndL7xQU0jvFLlWERJhHE3ehuQnTNI2WZmOxUQuhcDsK44xzJCx5vdyRJFzRYQShf6xQ+U8J9VOh3inU4NMAaTULccWUmopUrRQ3kAkfqQJgn1TsFBpaO+77hHp+xOwXmo9DhNVoOLipMlKh0dibd8waLq7HWDBGJDQJ/IgwM3zHIm5JlpQ33CV/wZ6wj1t7UT4KaLY5R4noMyB3EXN32BRiRHLF8H2rnRAt/JY65zJfLv8iPWf5l2Q7/ptxcHDw//IHYWiLelDcDu8AAAAASUVORK5CYII=\",\n};\n","import { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsFolderConfig } from \"./config\";\nimport { Folder_ICON } from \"./folderIcon\";\nexport class PopsFolder {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.folderCSS,\n ]);\n let config = PopsFolderConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n /* 办公几件套 */\n Folder_ICON.docx = Folder_ICON.doc;\n Folder_ICON.rtf = Folder_ICON.doc;\n Folder_ICON.xlsx = Folder_ICON.xls;\n Folder_ICON.pptx = Folder_ICON.ppt;\n Folder_ICON.dmg = Folder_ICON.ipa;\n Folder_ICON.json = Folder_ICON.js;\n /* 压缩包 */\n let zipIconList = [\n \"rar\",\n \"7z\",\n \"arj\",\n \"bz2\",\n \"cab\",\n \"iso\",\n \"jar\",\n \"lz\",\n \"lzh\",\n \"tar\",\n \"uue\",\n \"xz\",\n \"z\",\n \"zipx\",\n \"zst\",\n \"001\",\n ];\n /* 图片 */\n let imageIconList = [\"jpg\", \"jpeg\", \"ico\", \"webp\"];\n /* 代码语言 */\n let codeLanguageIconList = [\n \"htm\",\n \"py\",\n \"vue\",\n \"bat\",\n \"sh\",\n \"vbs\",\n \"java\",\n \"kt\",\n ];\n /* Android安装包 */\n let androidIconList = [\"apk\", \"apkm\", \"xapk\"];\n zipIconList.forEach((keyName) => {\n Folder_ICON[keyName] = Folder_ICON.zip;\n });\n imageIconList.forEach((keyName) => {\n Folder_ICON[keyName] = Folder_ICON.png;\n });\n codeLanguageIconList.forEach((keyName) => {\n Folder_ICON[keyName] = Folder_ICON.html;\n });\n androidIconList.forEach((keyName) => {\n Folder_ICON[keyName] = Folder_ICON.apk;\n });\n if (details?.folder) {\n config.folder = details.folder;\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"folder\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let bottomBtnHTML = PopsElementHandler.getBottomBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, `\r\n <div class=\"pops-folder-title\" style=\"text-align: ${config.title.position};${headerStyle}\">\r\n ${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n ${headerBtnHTML}\r\n </div>\r\n <div class=\"pops-folder-content ${pops.isPhone() ? \"pops-mobile-folder-content\" : \"\"}\">\r\n <div class=\"pops-folder-list\">\r\n <div class=\"pops-folder-file-list-breadcrumb\">\r\n <div class=\"pops-folder-file-list-breadcrumb-primary\">\r\n <span class=\"pops-folder-file-list-breadcrumb-allFiles cursor-p\" title=\"全部文件\">\r\n <a>全部文件</a>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"pops-folder-list-table__header-div\">\r\n <table class=\"pops-folder-list-table__header\">\r\n <colgroup>\r\n <!-- <col width=\"8%\"> --!>\r\n <col width=\"52%\">\r\n <col width=\"24%\">\r\n <col width=\"16%\">\r\n </colgroup>\r\n <thead>\r\n <tr class=\"pops-folder-list-table__header-row\">\r\n <th class=\"pops-folder-list-table__header-th cursor-p\">\r\n <div class=\"text-ellip content flex-a-i-center\">\r\n <span>文件名</span>\r\n <div class=\"pops-folder-list-table__sort\" data-sort=\"fileName\">\r\n <div class=\"pops-folder-icon-arrow\" data-sort=\"按文件名排序\">\r\n <svg\r\n viewBox=\"0 0 1024 1024\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M509.624392 5.882457 57.127707 458.379143 962.121078 458.379143Z\"\r\n class=\"pops-folder-icon-arrow-up\"></path>\r\n <path\r\n d=\"M509.624392 1024 962.121078 571.503314 57.127707 571.503314Z\"\r\n class=\"pops-folder-icon-arrow-down\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n <th class=\"pops-folder-list-table__header-th cursor-p\">\r\n <div class=\"text-ellip content flex-a-i-center\">\r\n <span>修改时间</span>\r\n <div class=\"pops-folder-list-table__sort\" data-sort=\"latestTime\">\r\n <div class=\"pops-folder-icon-arrow\" title=\"按修改时间排序\">\r\n <svg\r\n viewBox=\"0 0 1024 1024\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M509.624392 5.882457 57.127707 458.379143 962.121078 458.379143Z\"\r\n class=\"pops-folder-icon-arrow-up\"></path>\r\n <path\r\n d=\"M509.624392 1024 962.121078 571.503314 57.127707 571.503314Z\"\r\n class=\"pops-folder-icon-arrow-down\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n <th class=\"pops-folder-list-table__header-th cursor-p\">\r\n <div class=\"text-ellip content flex-a-i-center\">\r\n <span>大小</span>\r\n <div class=\"pops-folder-list-table__sort\" data-sort=\"fileSize\">\r\n <div class=\"pops-folder-icon-arrow\" title=\"按大小排序\">\r\n <svg\r\n viewBox=\"0 0 1024 1024\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M509.624392 5.882457 57.127707 458.379143 962.121078 458.379143Z\"\r\n class=\"pops-folder-icon-arrow-up\"></path>\r\n <path\r\n d=\"M509.624392 1024 962.121078 571.503314 57.127707 571.503314Z\"\r\n class=\"pops-folder-icon-arrow-down\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </div>\r\n <div class=\"pops-folder-list-table__body-div\">\r\n <table class=\"pops-folder-list-table__body\">\r\n <colgroup>\r\n <!-- <col width=\"8%\"> --!>\r\n ${pops.isPhone()\n ? `<col width=\"100%\">`\n : `\r\n <col width=\"52%\">\r\n <col width=\"24%\">\r\n <col width=\"16%\">`}\r\n \r\n </colgroup>\r\n <tbody>\r\n \r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n ${bottomBtnHTML}\r\n `, bottomBtnHTML, zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n let { popsElement: $pops, titleElement: $title, contentElement: $content, \n // folderListElement,\n // folderListHeaderElement,\n // folderListHeaderRowElement,\n folderListBodyElement, folderFileListBreadcrumbPrimaryElement, headerCloseBtnElement: $btnCloseBtn, btnOkElement, btnCancelElement, btnOtherElement, folderListSortFileNameElement, folderListSortLatestTimeElement, folderListSortFileSizeElement, } = PopsHandler.handleQueryElement($anim, PopsType);\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n /* 事件 */\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n PopsHandler.handleClickEvent(\"close\", $btnCloseBtn, eventDetails, config.btn.close.callback);\n PopsHandler.handleClickEvent(\"ok\", btnOkElement, eventDetails, config.btn.ok.callback);\n PopsHandler.handleClickEvent(\"cancel\", btnCancelElement, eventDetails, config.btn.cancel.callback);\n PopsHandler.handleClickEvent(\"other\", btnOtherElement, eventDetails, config.btn.other.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n if ($mask != null) {\n $anim.after($mask);\n }\n /* 添加文件信息 */\n config.folder.sort();\n /**\n * 创建文件夹元素\n * @param fileName\n * @param latestTime\n * @param [fileSize=\"-\"]\n * @param isFolder\n */\n function createFolderRowElement(fileName, latestTime = \"-\", fileSize = \"-\", isFolder = false) {\n let origin_fileName = fileName;\n let origin_latestTime = latestTime;\n let origin_fileSize = fileSize;\n let folderELement = popsDOMUtils.createElement(\"tr\");\n let fileNameElement = popsDOMUtils.createElement(\"td\");\n let fileTimeElement = popsDOMUtils.createElement(\"td\");\n let fileFormatSize = popsDOMUtils.createElement(\"td\");\n let fileType = \"\";\n let fileIcon = Folder_ICON.folder;\n if (isFolder) {\n /* 文件夹 */\n latestTime = \"\";\n fileSize = \"\";\n }\n else {\n /* 文件 */\n fileIcon = \"\";\n if (typeof latestTime === \"number\") {\n latestTime = popsUtils.formatTime(latestTime);\n }\n if (typeof fileSize === \"number\") {\n fileSize = popsUtils.formatByteToSize(fileSize);\n }\n for (let keyName in Folder_ICON) {\n if (fileName.toLowerCase().endsWith(\".\" + keyName)) {\n fileType = keyName;\n fileIcon = Folder_ICON[keyName];\n break;\n }\n }\n if (!Boolean(fileIcon)) {\n fileType = \"Null\";\n fileIcon = Folder_ICON.Null;\n }\n }\n folderELement.className = \"pops-folder-list-table__body-row\";\n fileNameElement.className = \"pops-folder-list-table__body-td\";\n fileTimeElement.className = \"pops-folder-list-table__body-td\";\n fileFormatSize.className = \"pops-folder-list-table__body-td\";\n fileNameElement.innerHTML = `\r\n <div class=\"pops-folder-list-file-name cursor-p\">\r\n <div>\r\n <img src=\"${fileIcon}\" alt=\"${fileType}\" class=\"pops-folder-list-file-icon u-file-icon u-file-icon--list\">\r\n <a title=\"${fileName}\" class=\"pops-folder-list-file-name-title-text inline-block-v-middle text-ellip list-name-text\">\r\n ${fileName}\r\n </a>\r\n </div>\r\n </div>\r\n `;\n fileTimeElement.innerHTML = `\r\n <div class=\"pops-folder-list__time\">\r\n <span>${latestTime}</span>\r\n </div>\r\n `;\n fileFormatSize.innerHTML = `\r\n <div class=\"pops-folder-list-format-size\">\r\n <span>${fileSize}</span>\r\n </div>\r\n `;\n /* 存储原来的值 */\n let __value__ = {\n fileName: origin_fileName,\n latestTime: origin_latestTime,\n fileSize: origin_fileSize,\n isFolder: isFolder,\n };\n fileNameElement[\"__value__\"] = __value__;\n fileTimeElement[\"__value__\"] = __value__;\n fileFormatSize[\"__value__\"] = __value__;\n folderELement[\"__value__\"] = __value__;\n folderELement.appendChild(fileNameElement);\n folderELement.appendChild(fileTimeElement);\n folderELement.appendChild(fileFormatSize);\n return {\n folderELement,\n fileNameElement,\n fileTimeElement,\n fileFormatSize,\n };\n }\n /**\n * 创建移动端文件夹元素\n */\n function createMobileFolderRowElement(fileName, latestTime = \"-\", fileSize = \"-\", isFolder = false) {\n let origin_fileName = fileName;\n let origin_latestTime = latestTime;\n let origin_fileSize = fileSize;\n let folderELement = popsDOMUtils.createElement(\"tr\");\n let fileNameElement = popsDOMUtils.createElement(\"td\");\n let fileType = \"\";\n let fileIcon = Folder_ICON.folder;\n if (isFolder) {\n /* 文件夹 */\n latestTime = \"\";\n fileSize = \"\";\n }\n else {\n /* 文件 */\n fileIcon = \"\";\n if (typeof latestTime === \"number\") {\n latestTime = popsUtils.formatTime(latestTime);\n }\n if (typeof fileSize === \"number\") {\n fileSize = popsUtils.formatByteToSize(fileSize);\n }\n for (let keyName in Folder_ICON) {\n if (fileName.toLowerCase().endsWith(\".\" + keyName)) {\n fileType = keyName;\n fileIcon = Folder_ICON[keyName];\n break;\n }\n }\n if (!Boolean(fileIcon)) {\n fileType = \"Null\";\n fileIcon = Folder_ICON.Null;\n }\n }\n folderELement.className = \"pops-folder-list-table__body-row\";\n fileNameElement.className = \"pops-folder-list-table__body-td\";\n fileNameElement.innerHTML = `\r\n <div class=\"pops-folder-list-file-name pops-mobile-folder-list-file-name cursor-p\">\r\n <img src=\"${fileIcon}\" alt=\"${fileType}\" class=\"pops-folder-list-file-icon u-file-icon u-file-icon--list\">\r\n <div>\r\n <a title=\"${fileName}\" class=\"pops-folder-list-file-name-title-text inline-block-v-middle text-ellip list-name-text\">\r\n ${fileName}\r\n </a>\r\n <span>${latestTime} ${fileSize}</span>\r\n </div>\r\n </div>\r\n `;\n /* 存储原来的值 */\n let __value__ = {\n fileName: origin_fileName,\n latestTime: origin_latestTime,\n fileSize: origin_fileSize,\n isFolder: isFolder,\n };\n fileNameElement[\"__value__\"] = __value__;\n folderELement[\"__value__\"] = __value__;\n folderELement.appendChild(fileNameElement);\n return {\n folderELement,\n fileNameElement,\n };\n }\n /**\n * 清空每行的元素\n */\n function clearFolerRow() {\n folderListBodyElement.innerHTML = \"\";\n }\n function getArrowIconElement() {\n let iconArrowElement = popsDOMUtils.createElement(\"div\", {\n className: \"iconArrow\",\n });\n return iconArrowElement;\n }\n /**\n * 添加顶部导航\n * @param name\n * @param _config_\n * @returns\n */\n function getBreadcrumbAllFilesElement(name, _config_) {\n let spanElement = popsDOMUtils.createElement(\"span\", {\n className: \"pops-folder-file-list-breadcrumb-allFiles cursor-p\",\n innerHTML: `<a>${name}</a>`,\n _config_: _config_,\n }, {\n title: \"name\",\n });\n return spanElement;\n }\n /**\n * 顶部导航的点击事件\n * @param event\n * @param isTop 是否是全部文件按钮\n * @param _config_ 配置\n */\n function breadcrumbAllFilesElementClickEvent(event, isTop, _config_) {\n clearFolerRow();\n /* 获取当前的导航元素 */\n let $click = event.target;\n let currentBreadcrumb = $click.closest(\"span.pops-folder-file-list-breadcrumb-allFiles\");\n if (currentBreadcrumb) {\n while (currentBreadcrumb.nextElementSibling) {\n currentBreadcrumb.nextElementSibling.remove();\n }\n }\n else {\n console.error(\"获取导航按钮失败\");\n }\n let loadingMask = pops.loading({\n parent: $content,\n content: {\n text: \"获取文件列表中...\",\n },\n mask: {\n enable: true,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n },\n addIndexCSS: false,\n });\n addFolderElement(_config_);\n loadingMask.close();\n }\n /**\n * 刷新文件列表界面信息\n * @param event\n * @param _config_\n */\n async function refreshFolderInfoClickEvent(event, _config_) {\n clearFolerRow();\n let loadingMask = pops.loading({\n parent: $content,\n content: {\n text: \"获取文件列表中...\",\n },\n mask: {\n enable: true,\n },\n addIndexCSS: false,\n });\n if (typeof _config_.clickEvent === \"function\") {\n let childConfig = await _config_.clickEvent(event, _config_);\n /* 添加顶部导航的箭头 */\n folderFileListBreadcrumbPrimaryElement.appendChild(getArrowIconElement());\n /* 获取顶部导航 */\n let breadcrumbAllFilesElement = getBreadcrumbAllFilesElement(_config_[\"fileName\"], childConfig);\n folderFileListBreadcrumbPrimaryElement.appendChild(breadcrumbAllFilesElement);\n /* 设置顶部导航点击事件 */\n popsDOMUtils.on(breadcrumbAllFilesElement, \"click\", function (event) {\n breadcrumbAllFilesElementClickEvent(event, false, childConfig);\n });\n addFolderElement(childConfig);\n }\n loadingMask.close();\n }\n /**\n * 设置文件点击事件\n * @param targetElement\n * @param _config_\n */\n function setFileClickEvent(targetElement, _config_) {\n popsDOMUtils.on(targetElement, \"click\", async function (event) {\n event?.preventDefault();\n event?.stopPropagation();\n event?.stopImmediatePropagation();\n let linkElement = targetElement.querySelector(\"a\");\n if (typeof _config_.clickEvent === \"function\") {\n let downloadInfo = await _config_.clickEvent(event, _config_);\n if (downloadInfo != null &&\n typeof downloadInfo === \"object\" &&\n !Array.isArray(downloadInfo) &&\n typeof downloadInfo.url === \"string\" &&\n downloadInfo.url.trim() !== \"\") {\n linkElement.setAttribute(\"href\", downloadInfo.url);\n linkElement.setAttribute(\"target\", \"_blank\");\n if (downloadInfo.autoDownload) {\n if (downloadInfo.mode == null ||\n downloadInfo.mode === \"\") {\n /* 未设置mode的话默认为aBlank */\n downloadInfo.mode = \"aBlank\";\n }\n if (downloadInfo.mode === \"a\" ||\n downloadInfo.mode === \"aBlank\") {\n /* a标签下载 */\n let downloadLinkElement = document.createElement(\"a\");\n if (downloadInfo.mode === \"aBlank\") {\n downloadLinkElement.setAttribute(\"target\", \"_blank\");\n }\n downloadLinkElement.href = downloadInfo.url;\n downloadLinkElement.click();\n }\n else if (downloadInfo.mode === \"open\" ||\n downloadInfo.mode === \"openBlank\") {\n /* window.open下载 */\n if (downloadInfo.mode === \"openBlank\") {\n globalThis.open(downloadInfo.url, \"_blank\");\n }\n else {\n globalThis.open(downloadInfo.url);\n }\n }\n else if (downloadInfo.mode === \"iframe\") {\n /* iframe下载 */\n let downloadIframeLinkElement = document.createElement(\"iframe\");\n downloadIframeLinkElement.src = downloadInfo.url;\n downloadIframeLinkElement.onload = function () {\n setTimeout(() => {\n downloadIframeLinkElement.remove();\n }, 1000);\n };\n $shadowRoot.appendChild(downloadIframeLinkElement);\n setTimeout(() => {\n downloadIframeLinkElement.remove();\n }, 3 * 60 * 1000);\n }\n else {\n console.error(\"未知的下载模式\", downloadInfo);\n }\n }\n }\n }\n });\n }\n /**\n * 对配置进行排序\n * @param folderDataConfigList\n * @param sortName 比较的属性,默认fileName\n * @param isDesc 是否降序,默认false(升序)\n */\n function sortFolderConfig(folderDataConfigList, sortName = \"fileName\", isDesc = false) {\n if (sortName === \"fileName\") {\n // 如果是以文件名排序,文件夹优先放前面\n let onlyFolderDataConfigList = folderDataConfigList.filter((value) => {\n return value.isFolder;\n });\n let onlyFileDataConfigList = folderDataConfigList.filter((value) => {\n return !value.isFolder;\n });\n // 文件夹排序\n onlyFolderDataConfigList.sort((leftConfig, rightConfig) => {\n let beforeVal = leftConfig[sortName].toString();\n let afterVal = rightConfig[sortName].toString();\n let compareVal = beforeVal.localeCompare(afterVal);\n if (isDesc) {\n /* 降序 */\n if (compareVal > 0) {\n compareVal = -1;\n }\n else if (compareVal < 0) {\n compareVal = 1;\n }\n }\n return compareVal;\n });\n // 文件名排序\n onlyFileDataConfigList.sort((leftConfig, rightConfig) => {\n let beforeVal = leftConfig[sortName].toString();\n let afterVal = rightConfig[sortName].toString();\n let compareVal = beforeVal.localeCompare(afterVal);\n if (isDesc) {\n /* 降序 */\n if (compareVal > 0) {\n compareVal = -1;\n }\n else if (compareVal < 0) {\n compareVal = 1;\n }\n }\n return compareVal;\n });\n if (isDesc) {\n // 降序,文件夹在下面\n return [...onlyFileDataConfigList, ...onlyFolderDataConfigList];\n }\n else {\n // 升序,文件夹在上面\n return [...onlyFolderDataConfigList, ...onlyFileDataConfigList];\n }\n }\n else {\n folderDataConfigList.sort((beforeConfig, afterConfig) => {\n let beforeVal = beforeConfig[sortName];\n let afterVal = afterConfig[sortName];\n if (sortName === \"fileSize\") {\n /* 文件大小,进行Float转换 */\n beforeVal = parseFloat(beforeVal.toString());\n afterVal = parseFloat(afterVal.toString());\n }\n else if (sortName === \"latestTime\") {\n /* 文件时间 */\n beforeVal = new Date(beforeVal).getTime();\n afterVal = new Date(afterVal).getTime();\n }\n if (beforeVal > afterVal) {\n if (isDesc) {\n /* 降序 */\n return -1;\n }\n else {\n return 1;\n }\n }\n else if (beforeVal < afterVal) {\n if (isDesc) {\n /* 降序 */\n return 1;\n }\n else {\n return -1;\n }\n }\n else {\n return 0;\n }\n });\n return folderDataConfigList;\n }\n }\n /**\n * 添加元素\n * @param _config_\n */\n function addFolderElement(_config_) {\n sortFolderConfig(_config_, config.sort.name, config.sort.isDesc);\n _config_.forEach((item) => {\n if (item[\"isFolder\"]) {\n let { folderELement, fileNameElement } = pops.isPhone()\n ? createMobileFolderRowElement(item[\"fileName\"], \"\", \"\", true)\n : createFolderRowElement(item[\"fileName\"], \"\", \"\", true);\n popsDOMUtils.on(fileNameElement, \"click\", (event) => {\n refreshFolderInfoClickEvent(event, item);\n });\n folderListBodyElement.appendChild(folderELement);\n }\n else {\n let { folderELement, fileNameElement } = pops.isPhone()\n ? createMobileFolderRowElement(item[\"fileName\"], item.latestTime, item.fileSize, false)\n : createFolderRowElement(item[\"fileName\"], item.latestTime, item.fileSize, false);\n setFileClickEvent(fileNameElement, item);\n folderListBodyElement.appendChild(folderELement);\n }\n });\n }\n addFolderElement(config.folder);\n /* 将数据存到全部文件的属性_config_中 */\n let allFilesElement = folderFileListBreadcrumbPrimaryElement.querySelector(\".pops-folder-list .pops-folder-file-list-breadcrumb-allFiles:first-child\");\n allFilesElement._config_ = config.folder;\n /* 设置点击顶部的全部文件事件 */\n popsDOMUtils.on(allFilesElement, \"click\", (event) => {\n breadcrumbAllFilesElementClickEvent(event, true, config.folder);\n });\n /* 移除所有的当前排序的arrow */\n function removeAllArrowActive() {\n [\n ...Array.from(folderListSortFileNameElement.querySelectorAll(\".pops-folder-icon-active\")),\n ...Array.from(folderListSortLatestTimeElement.querySelectorAll(\".pops-folder-icon-active\")),\n ...Array.from(folderListSortFileSizeElement.querySelectorAll(\".pops-folder-icon-active\")),\n ].forEach((ele) => ele.classList.remove(\"pops-folder-icon-active\"));\n }\n /* 设置当前的排序的arrow */\n function changeArrowActive(arrowUp, arrowDown, isDesc) {\n removeAllArrowActive();\n if (isDesc) {\n arrowDown.classList.add(\"pops-folder-icon-active\");\n }\n else {\n arrowUp.classList.add(\"pops-folder-icon-active\");\n }\n }\n /**\n * 排序按钮的点击事件\n * @param {PointerEvent} target\n * @param {HTMLElement} event\n * @param {string} sortName\n */\n function arrowSortClickEvent(target, event, sortName) {\n if (!event[\"notChangeSortRule\"]) {\n config.sort.name = sortName;\n config.sort.isDesc = !config.sort.isDesc;\n }\n let arrowUp = target.querySelector(\".pops-folder-icon-arrow-up\");\n let arrowDown = target.querySelector(\".pops-folder-icon-arrow-down\");\n changeArrowActive(arrowUp, arrowDown, config.sort.isDesc);\n if (typeof config.sort.callback === \"function\" &&\n config.sort.callback(target, event, config.sort.name, config.sort.isDesc)) {\n return;\n }\n let childrenList = [];\n Array.from(folderListBodyElement.children).forEach((trElement) => {\n let __value__ = trElement[\"__value__\"];\n __value__[\"target\"] = trElement;\n childrenList.push(__value__);\n });\n let sortedConfigList = sortFolderConfig(childrenList, config.sort.name, config.sort.isDesc);\n sortedConfigList.forEach((item) => {\n folderListBodyElement.appendChild(item.target);\n });\n }\n /* 设置当前排序的图标按钮 */\n popsDOMUtils.on(folderListSortFileNameElement.closest(\"th\"), \"click\", function (event) {\n arrowSortClickEvent(folderListSortFileNameElement, event, \"fileName\");\n }, {\n capture: true,\n });\n popsDOMUtils.on(folderListSortLatestTimeElement.closest(\"th\"), \"click\", void 0, function (event) {\n arrowSortClickEvent(folderListSortLatestTimeElement, event, \"latestTime\");\n }, {\n capture: true,\n });\n popsDOMUtils.on(folderListSortFileSizeElement.closest(\"th\"), \"click\", void 0, function (event) {\n arrowSortClickEvent(folderListSortFileSizeElement, event, \"fileSize\");\n }, {\n capture: true,\n });\n /* 设置默认触发的arrow */\n if (config.sort.name === \"fileName\") {\n popsDOMUtils.trigger(folderListSortFileNameElement, \"click\", {\n notChangeSortRule: true,\n });\n }\n else if (config.sort.name === \"latestTime\") {\n popsDOMUtils.trigger(folderListSortLatestTimeElement, \"click\", {\n notChangeSortRule: true,\n });\n }\n else if (config.sort.name === \"fileSize\") {\n popsDOMUtils.trigger(folderListSortFileSizeElement, \"click\", {\n notChangeSortRule: true,\n });\n }\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","export const PopsPanelConfig = () => {\n return {\n title: {\n text: \"默认标题\",\n position: \"center\",\n html: false,\n style: \"\",\n },\n content: [\n {\n id: \"whitesev-panel-config-1\",\n title: \"菜单配置1\",\n headerTitle: \"菜单配置1\",\n isDefault: false,\n attributes: [\n {\n \"data-test\": \"test\",\n \"data-test-2\": \"test2\",\n },\n ],\n forms: [\n {\n className: \"forms-1\",\n text: \"区域设置\",\n type: \"forms\",\n attributes: [],\n forms: [\n {\n className: \"panel-switch\",\n text: \"switch\",\n type: \"switch\",\n attributes: [],\n getValue() {\n return true;\n },\n callback(event, value) {\n console.log(\"按钮开启状态:\", value);\n },\n },\n {\n className: \"panel-slider\",\n text: \"slider\",\n type: \"slider\",\n attributes: [],\n getValue() {\n return 50;\n },\n callback(event, value) {\n console.log(\"滑块当前数值:\", value);\n },\n min: 1,\n max: 100,\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"eleme\",\n buttonIconIsLoading: true,\n buttonType: \"warning\",\n buttonText: \"warning按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"chromeFilled\",\n buttonIconIsLoading: true,\n buttonType: \"danger\",\n buttonText: \"danger按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"upload\",\n buttonIconIsLoading: false,\n buttonType: \"info\",\n buttonText: \"info按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n ],\n },\n ],\n },\n {\n id: \"whitesev-panel-config-2\",\n title: \"菜单配置2\",\n headerTitle: \"菜单配置2\",\n isDefault: true,\n attributes: [\n {\n \"data-value\": \"value\",\n \"data-value-2\": \"value2\",\n },\n ],\n forms: [\n {\n className: \"panel-input\",\n text: \"input\",\n type: \"input\",\n attributes: [],\n getValue() {\n return \"50\";\n },\n callback(event, value) {\n console.log(\"输入框内容改变:\", value);\n },\n placeholder: \"请输入内容\",\n },\n {\n className: \"panel-input-password\",\n text: \"input-password\",\n type: \"input\",\n attributes: [],\n getValue() {\n return \"123456\";\n },\n callback(event, value) {\n console.log(\"密码输入框内容改变:\", value);\n },\n isPassword: true,\n placeholder: \"请输入密码\",\n },\n {\n className: \"panel-textarea\",\n text: \"textarea\",\n type: \"textarea\",\n attributes: [],\n getValue() {\n return \"50\";\n },\n callback(event, value) {\n console.log(\"textarea输入框内容改变:\", value);\n },\n placeholder: \"请输入内容\",\n },\n {\n className: \"panel-select\",\n text: \"select\",\n type: \"select\",\n attributes: [],\n getValue() {\n return 50;\n },\n callback(event, isSelectedValue, isSelectedText) {\n console.log(`select当前选项:${isSelectedValue},当前选项文本:${isSelectedText}`);\n },\n data: [\n {\n value: \"all\",\n text: \"所有\",\n },\n {\n value: \"text\",\n text: \"文本\",\n },\n {\n value: \"html\",\n text: \"超文本\",\n },\n ],\n },\n {\n className: \"panel-select-multiple\",\n type: \"select-multiple\",\n text: \"select-multiple\",\n attributes: [],\n placeholder: \"请至少选择一个选项\",\n getValue() {\n return [\"select-1\", \"select-2\"];\n },\n callback(selectInfo) {\n console.log(`select值改变,多选信息`, selectInfo);\n },\n clickCallBack(event, isSelectedInfo) {\n console.log(\"点击\", event, isSelectedInfo);\n },\n closeIconClickCallBack(event, data) {\n console.log(\"点击关闭图标的事件\", data);\n },\n data: [\n {\n value: \"select-1\",\n text: \"单选1\",\n },\n {\n value: \"select-2\",\n text: \"单选2\",\n },\n {\n value: \"select-3\",\n text: \"单选3\",\n },\n {\n value: \"select-4\",\n text: \"单选4\",\n },\n {\n value: \"select-5\",\n text: \"单选5\",\n },\n ],\n },\n {\n type: \"forms\",\n text: \"deep菜单\",\n forms: [\n {\n type: \"deepMenu\",\n className: \"panel-deepMenu\",\n text: \"deepMenu\",\n description: \"二级菜单\",\n rightText: \"自定义配置\",\n arrowRightIcon: true,\n clickCallBack(event, formConfig) {\n console.log(\"进入子配置\", event, formConfig);\n },\n forms: [\n {\n className: \"forms-1\",\n text: \"区域设置\",\n type: \"forms\",\n attributes: [],\n forms: [\n {\n className: \"panel-switch\",\n text: \"switch\",\n type: \"switch\",\n attributes: [],\n getValue() {\n return true;\n },\n callback(event, value) {\n console.log(\"按钮开启状态:\", value);\n },\n },\n {\n className: \"panel-slider\",\n text: \"slider\",\n type: \"slider\",\n attributes: [],\n getValue() {\n return 50;\n },\n callback(event, value) {\n console.log(\"滑块当前数值:\", value);\n },\n min: 1,\n max: 100,\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"eleme\",\n buttonIconIsLoading: true,\n buttonType: \"warning\",\n buttonText: \"warning按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"chromeFilled\",\n buttonIconIsLoading: true,\n buttonType: \"danger\",\n buttonText: \"danger按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n {\n className: \"panel-button\",\n text: \"button\",\n type: \"button\",\n attributes: [],\n buttonIcon: \"upload\",\n buttonIconIsLoading: false,\n buttonType: \"info\",\n buttonText: \"info按钮\",\n callback(event) {\n console.log(\"点击按钮\", event);\n },\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n btn: {\n close: {\n enable: true,\n callback(event) {\n event.close();\n },\n },\n },\n mask: {\n enable: false,\n clickEvent: {\n toClose: false,\n toHide: false,\n },\n clickCallBack: void 0,\n },\n class: \"\",\n mobileClassName: \"pops-panel-is-mobile\",\n isMobile: false,\n only: false,\n width: \"700px\",\n height: \"500px\",\n position: \"center\",\n animation: \"pops-anim-fadein-zoom\",\n zIndex: 10000,\n drag: false,\n dragLimit: true,\n dragExtraDistance: 3,\n dragMoveCallBack() { },\n dragEndCallBack() { },\n forbiddenScroll: false,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","export const PopsMathFloatUtils = {\n /**\n * 判断数字是否是浮点数\n * @param num\n */\n isFloat(num) {\n return Number(num) === num && num % 1 !== 0;\n },\n /**\n * 浮点数加法\n * @param number1\n * @param number2\n */\n add(number1, number2) {\n let number1length, number2length, powValue;\n try {\n number1length = number1.toString().split(\".\")[1].length;\n }\n catch (error) {\n number1length = 0;\n }\n try {\n number2length = number2.toString().split(\".\")[1].length;\n }\n catch (error) {\n number2length = 0;\n }\n powValue = Math.pow(10, Math.max(number1length, number2length));\n return Math.round(number1 * powValue + number2 * powValue) / powValue;\n },\n /**\n * 减法\n * @param number1\n * @param number2\n */\n sub(number1, number2) {\n let number1length, number2length, powValue;\n try {\n number1length = number1.toString().split(\".\")[1].length;\n }\n catch (error) {\n number1length = 0;\n }\n try {\n number2length = number2.toString().split(\".\")[1].length;\n }\n catch (error) {\n number2length = 0;\n }\n powValue = Math.pow(10, Math.max(number1length, number2length));\n let fixedValue = number1length >= number2length ? number1length : number2length;\n return (Math.round(number1 * powValue - number2 * powValue) / powValue).toFixed(fixedValue);\n },\n /**\n * 除法\n * @param number1\n * @param number2\n */\n division(number1, number2) {\n let number1length, number2length, number1ReplaceValue, number2ReplaceValue;\n try {\n number1length = number1.toString().split(\".\")[1].length;\n }\n catch (error) {\n number1length = 0;\n }\n try {\n number2length = number2.toString().split(\".\")[1].length;\n }\n catch (error) {\n number2length = 0;\n }\n number1ReplaceValue = Number(number1.toString().replace(\".\", \"\"));\n number2ReplaceValue = Number(number2.toString().replace(\".\", \"\"));\n return ((number1ReplaceValue / number2ReplaceValue) *\n Math.pow(10, number2length - number1length));\n },\n};\n","import { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsMathFloatUtils } from \"../../utils/PopsMathUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nexport const PanelHandleContentDetails = () => {\n return {\n /**\n * 左侧的ul容器\n */\n asideULElement: null,\n /**\n * 右侧主内容的顶部文字ul容器\n */\n sectionContainerHeaderULElement: null,\n /**\n * 右侧主内容的ul容器\n */\n sectionContainerULElement: null,\n /**\n * 元素\n */\n $el: {\n /** 内容 */\n $content: null,\n /** 左侧容器 */\n $contentAside: null,\n /** 右侧容器 */\n $contentSectionContainer: null,\n },\n /**\n * 初始化\n * @param details\n */\n init(details) {\n // @ts-ignore\n this.$el = null;\n this.$el = {\n ...details.$el,\n };\n this.asideULElement =\n this.$el.$contentAside.querySelector(\"ul\");\n this.sectionContainerHeaderULElement =\n this.$el.$contentSectionContainer.querySelectorAll(\"ul\")[0];\n this.sectionContainerULElement =\n this.$el.$contentSectionContainer.querySelectorAll(\"ul\")[1];\n /**\n * 默认点击的左侧容器项\n */\n let $asideDefaultItemElement = null;\n /** 是否滚动到默认位置(第一个项) */\n let isScrollToDefaultView = false;\n details.config.content.forEach((asideItemConfig) => {\n let $asideLiElement = this.createAsideItem(asideItemConfig);\n this.setAsideItemClickEvent($asideLiElement, asideItemConfig);\n this.asideULElement.appendChild($asideLiElement);\n if ($asideDefaultItemElement == null) {\n let flag = false;\n if (typeof asideItemConfig.isDefault === \"function\") {\n flag = Boolean(asideItemConfig.isDefault());\n }\n else {\n flag = Boolean(asideItemConfig.isDefault);\n }\n if (flag) {\n $asideDefaultItemElement = $asideLiElement;\n isScrollToDefaultView = Boolean(asideItemConfig.scrollToDefaultView);\n }\n }\n if (typeof asideItemConfig.afterRender === \"function\") {\n // 执行渲染完毕的回调\n asideItemConfig.afterRender({\n asideConfig: asideItemConfig,\n $asideLiElement: $asideLiElement,\n });\n }\n });\n /* 点击左侧列表 */\n if ($asideDefaultItemElement == null &&\n this.asideULElement.children.length) {\n /* 默认第一个 */\n $asideDefaultItemElement = this.asideULElement\n .children[0];\n }\n if ($asideDefaultItemElement) {\n /* 点击选择的那一项 */\n $asideDefaultItemElement.click();\n if (isScrollToDefaultView) {\n $asideDefaultItemElement?.scrollIntoView();\n }\n }\n else {\n console.error(\"pops.panel:左侧容器没有项\");\n }\n },\n /**\n * 清空container容器的元素\n */\n clearContainer() {\n this.sectionContainerHeaderULElement.innerHTML = \"\";\n this.sectionContainerULElement.innerHTML = \"\";\n this.$el.$content\n ?.querySelectorAll(\"section.pops-panel-deepMenu-container\")\n .forEach((ele) => ele.remove());\n },\n /**\n * 清空左侧容器已访问记录\n */\n clearAsideItemIsVisited() {\n this.$el.$contentAside\n .querySelectorAll(\".pops-is-visited\")\n .forEach((element) => {\n popsDOMUtils.removeClassName(element, \"pops-is-visited\");\n });\n },\n /**\n * 设置左侧容器已访问记录\n * @param element\n */\n setAsideItemIsVisited(element) {\n popsDOMUtils.addClassName(element, \"pops-is-visited\");\n },\n /**\n * 为元素添加自定义属性\n * @param element\n * @param attributes\n */\n setElementAttributes(element, attributes) {\n if (attributes == null) {\n return;\n }\n if (Array.isArray(attributes)) {\n attributes.forEach((attrObject) => {\n this.setElementAttributes(element, attrObject);\n });\n }\n else {\n Object.keys(attributes).forEach((attributeName) => {\n element.setAttribute(attributeName, attributes[attributeName]);\n });\n }\n },\n /**\n * 为元素设置(自定义)属性\n * @param element\n * @param props\n */\n setElementProps(element, props) {\n if (props == null) {\n return;\n }\n Object.keys(props).forEach((propName) => {\n Reflect.set(element, propName, props[propName]);\n });\n },\n /**\n * 为元素设置classname\n * @param element\n * @param className\n */\n setElementClassName(element, className) {\n if (className == null) {\n return;\n }\n if (typeof className === \"function\") {\n className = className();\n }\n if (typeof className === \"string\") {\n let splitClassName = className.split(\" \");\n splitClassName.forEach((classNameStr) => {\n element.classList.add(classNameStr);\n });\n }\n else if (Array.isArray(className)) {\n className.forEach((classNameStr) => {\n this.setElementClassName(element, classNameStr);\n });\n }\n },\n /**\n * 创建左侧容器元素<li>\n * @param asideConfig\n */\n createAsideItem(asideConfig) {\n let liElement = document.createElement(\"li\");\n liElement.id = asideConfig.id;\n liElement[\"__forms__\"] = asideConfig.forms;\n liElement.innerHTML = asideConfig.title;\n /* 处理className */\n this.setElementClassName(liElement, asideConfig.className);\n this.setElementAttributes(liElement, asideConfig.attributes);\n this.setElementProps(liElement, asideConfig.props);\n return liElement;\n },\n /**\n * 创建中间容器的元素<li>\n * type ==> switch\n * @param formConfig\n */\n createSectionContainerItem_switch(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-switch\">\r\n\t\t\t\t<input class=\"pops-panel-switch__input\" type=\"checkbox\">\r\n\t\t\t\t<span class=\"pops-panel-switch__core\">\r\n\t\t\t\t\t<div class=\"pops-panel-switch__action\">\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</span>\r\n\t\t\t</div>`;\n const PopsPanelSwitch = {\n [Symbol.toStringTag]: \"PopsPanelSwitch\",\n $data: {\n value: Boolean(formConfig.getValue()),\n },\n $ele: {\n switch: liElement.querySelector(\".pops-panel-switch\"),\n input: liElement.querySelector(\".pops-panel-switch__input\"),\n core: liElement.querySelector(\".pops-panel-switch__core\"),\n },\n init() {\n this.setStatus(this.$data.value);\n if (formConfig.disabled) {\n this.disable();\n }\n this.setClickEvent();\n },\n setClickEvent() {\n let that = this;\n popsDOMUtils.on(this.$ele.core, \"click\", void 0, function (event) {\n if (that.$ele.input.disabled ||\n that.$ele.switch.hasAttribute(\"data-disabled\")) {\n return;\n }\n that.$data.value = that.getStatus();\n that.setStatus(that.$data.value);\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event, that.$data.value);\n }\n });\n },\n /**\n * 设置状态\n */\n setStatus(isChecked = false) {\n isChecked = Boolean(isChecked);\n this.$ele.input.checked = isChecked;\n if (isChecked) {\n popsDOMUtils.addClassName(this.$ele.switch, \"pops-panel-switch-is-checked\");\n }\n else {\n popsDOMUtils.removeClassName(this.$ele.switch, \"pops-panel-switch-is-checked\");\n }\n },\n /**\n * 根据className来获取逆反值\n */\n getStatus() {\n let checkedValue = false;\n if (!popsDOMUtils.containsClassName(this.$ele.switch, \"pops-panel-switch-is-checked\")) {\n checkedValue = true;\n }\n return checkedValue;\n },\n /**\n * 禁用复选框\n */\n disable() {\n this.$ele.input.disabled = true;\n this.$ele.switch.setAttribute(\"data-disabled\", \"true\");\n },\n /**\n * 启用复选框\n */\n notDisable() {\n this.$ele.input.disabled = false;\n this.$ele.switch.removeAttribute(\"data-disabled\");\n },\n };\n PopsPanelSwitch.init();\n liElement[\"data-switch\"] = PopsPanelSwitch;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> slider\n * @param formConfig\n */\n createSectionContainerItem_slider(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-slider\">\r\n\t\t\t\t<input type=\"range\" min=\"${formConfig.min}\" max=\"${formConfig.max}\">\r\n\t\t\t</div>`;\n let rangeInputElement = liElement.querySelector(\".pops-panel-slider input[type=range]\");\n if (formConfig.step) {\n rangeInputElement.setAttribute(\"step\", formConfig.step.toString());\n }\n rangeInputElement.value = formConfig.getValue().toString();\n /**\n * 获取提示的内容\n * @param value\n */\n let getToolTipContent = function (value) {\n if (typeof formConfig.getToolTipContent === \"function\") {\n return formConfig.getToolTipContent(value);\n }\n else {\n return value;\n }\n };\n let tooltip = pops.tooltip({\n target: rangeInputElement.parentElement,\n content: getToolTipContent(rangeInputElement.value),\n zIndex: 1000000,\n className: \"github-tooltip\",\n showBeforeCallBack() {\n tooltip.toolTipNode.querySelector(\"div\").innerText =\n getToolTipContent(rangeInputElement.value);\n },\n alwaysShow: false,\n only: false,\n position: \"top\",\n arrowDistance: 10,\n });\n popsDOMUtils.on(rangeInputElement, [\"input\", \"propertychange\"], void 0, function (event) {\n tooltip.toolTipNode.querySelector(\"div\").innerText =\n getToolTipContent(rangeInputElement.value);\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event, event.target.value);\n }\n });\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> slider\n * @param formConfig\n */\n createSectionContainerItem_slider_new(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\" style=\"flex: 1;\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-slider pops-slider-width\">\r\n\t\t\t\t<div class=\"pops-slider__runway\">\r\n\t\t\t\t\t<div class=\"pops-slider__bar\" style=\"width: 0%; left: 0%\"></div>\r\n\t\t\t\t\t<div class=\"pops-slider__button-wrapper\" style=\"left: 0%\">\r\n\t\t\t\t\t\t<div class=\"pops-slider__button\"></div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>`;\n const PopsPanelSlider = {\n [Symbol.toStringTag]: \"PopsPanelSlider\",\n /**\n * 值\n */\n value: formConfig.getValue(),\n /**\n * 最小值\n */\n min: formConfig.min,\n /**\n * 最大值\n */\n max: formConfig.max,\n /**\n * 间隔\n */\n step: formConfig.step || 1,\n $data: {\n /**\n * 是否正在移动\n */\n isMove: false,\n /**\n * 是否已初始化已拖拽的距离\n */\n isInitDragPosition: false,\n /**\n * 是否正在检测是否停止拖拽\n */\n isCheckingStopDragMove: false,\n /**\n * 总宽度(px)\n */\n totalWidth: 0,\n /**\n * 每一块的间隔(px)\n */\n stepPx: 0,\n /**\n * 已拖拽的距离(px)\n */\n dragWidth: 0,\n /**\n * 已拖拽的百分比\n */\n dragPercent: 0,\n /**\n * 每一次块的信息\n * 例如:当最小值是2,最大值是10,step为2\n * 那么生成[2,4,6,8,10] 共计5个\n * 又获取到当前滑块总长度是200px\n * 那么生成映射\n * 2 => 0px~40px\n * 4 => 40px~80px\n * 6 => 80px~120px\n * 8 => 120px~160px\n * 10 => 160px~200px\n */\n stepBlockMap: new Map(),\n },\n $ele: {\n slider: liElement.querySelector(\".pops-slider\"),\n runAway: liElement.querySelector(\".pops-slider__runway\"),\n bar: liElement.querySelector(\".pops-slider__bar\"),\n buttonWrapper: liElement.querySelector(\".pops-slider__button-wrapper\"),\n button: liElement.querySelector(\".pops-slider__button\"),\n tooltip: null,\n },\n $interval: {\n isCheck: false,\n },\n $tooltip: null,\n init() {\n this.initEleData();\n this.setToolTipEvent();\n this.setPanEvent();\n this.setRunAwayClickEvent();\n this.intervalInit();\n if (formConfig.disabled) {\n this.disableDrag();\n }\n },\n /**\n * 10s内循环获取slider的宽度等信息\n * 获取到了就可以初始化left的值\n * @param {number} [checkStepTime=200] 每次检测的间隔时间\n * @param {number} [maxTime=10000] 最大的检测时间\n */\n intervalInit(checkStepTime = 200, maxTime = 10000) {\n if (this.$interval.isCheck) {\n return;\n }\n this.$interval.isCheck = true;\n let isSuccess = false;\n let oldTotalWidth = this.$data.totalWidth;\n let timer = void 0;\n let interval = setInterval(() => {\n if (isSuccess) {\n this.$interval.isCheck = false;\n clearTimeout(timer);\n clearInterval(interval);\n }\n else {\n this.initTotalWidth();\n if (this.$data.totalWidth !== 0) {\n isSuccess = true;\n if (this.$data.totalWidth !== oldTotalWidth) {\n /* slider的总宽度改变了 */\n if (PopsMathFloatUtils.isFloat(this.step)) {\n this.initFloatStepMap();\n }\n else {\n this.initStepMap();\n }\n this.initSliderPosition();\n }\n }\n }\n }, checkStepTime);\n /* 最长检测时间是10s */\n timer = setTimeout(() => {\n clearInterval(interval);\n }, maxTime);\n },\n /**\n * 把数据添加到元素上\n */\n initEleData() {\n this.$ele.slider.setAttribute(\"data-min\", this.min.toString());\n this.$ele.slider.setAttribute(\"data-max\", this.max.toString());\n this.$ele.slider.setAttribute(\"data-value\", this.value.toString());\n this.$ele.slider.setAttribute(\"data-step\", this.step.toString());\n this.$ele.slider[\"data-min\"] = this.min;\n this.$ele.slider[\"data-max\"] = this.max;\n this.$ele.slider[\"data-value\"] = this.value;\n this.$ele.slider[\"data-step\"] = this.step;\n },\n /**\n * 初始化滑块的总长度的数据(px)\n */\n initTotalWidth() {\n this.$data.totalWidth = popsDOMUtils.width(this.$ele.runAway);\n },\n /**\n * 初始化每一个块的具体数据信息\n */\n initStepMap() {\n let index = 0;\n // 计算出份数\n let blockNums = (this.max - this.min) / this.step;\n // 计算出每一份占据的px\n this.$data.stepPx = this.$data.totalWidth / blockNums;\n let widthPx = 0;\n for (let stepValue = this.min; stepValue <= this.max; stepValue += this.step) {\n let value = this.formatValue(stepValue);\n let info = {};\n if (value === this.min) {\n /* 起始 */\n info = {\n value: value,\n px: 0,\n pxLeft: 0,\n pxRight: this.$data.stepPx / 2,\n percent: 0,\n };\n }\n else {\n info = {\n value: value,\n px: widthPx,\n pxLeft: widthPx - this.$data.stepPx / 2,\n pxRight: widthPx + this.$data.stepPx / 2,\n percent: widthPx / this.$data.totalWidth,\n };\n //if (value === this.max) {\n // info[\"pxLeft\"] = this.$data.stepBlockMap.get(\n // index - 1\n // ).pxRight;\n // info[\"pxRight\"] = this.$data.totalWidth;\n //}\n }\n this.$data.stepBlockMap.set(index, info);\n index++;\n widthPx += this.$data.stepPx;\n }\n },\n /**\n * 初始化每一个块的具体数据信息(浮点)\n */\n initFloatStepMap() {\n let index = 0;\n // 计算出份数\n let blockNums = (this.max - this.min) / this.step;\n // 计算出每一份占据的px\n this.$data.stepPx = this.$data.totalWidth / blockNums;\n let widthPx = 0;\n for (let stepValue = this.min; stepValue <= this.max; stepValue = PopsMathFloatUtils.add(stepValue, this.step)) {\n let value = this.formatValue(stepValue);\n let info = {};\n if (value === this.min) {\n /* 起始 */\n info = {\n value: value,\n px: 0,\n pxLeft: 0,\n pxRight: this.$data.stepPx / 2,\n percent: 0,\n };\n }\n else {\n info = {\n value: value,\n px: widthPx,\n pxLeft: widthPx - this.$data.stepPx / 2,\n pxRight: widthPx + this.$data.stepPx / 2,\n percent: widthPx / this.$data.totalWidth,\n };\n //if (value === this.max) {\n // info[\"pxLeft\"] = this.$data.stepBlockMap.get(\n // index - 1\n // ).pxRight;\n // info[\"pxRight\"] = this.$data.totalWidth;\n //}\n }\n this.$data.stepBlockMap.set(index, info);\n index++;\n widthPx += this.$data.stepPx;\n }\n },\n /**\n * 初始化slider的默认起始left的百分比值\n */\n initSliderPosition() {\n /* 设置起始默认style的left值 */\n let percent = 0;\n for (const [, stepBlockInfo] of this.$data.stepBlockMap.entries()) {\n /* 判断值是否和区域内的值相等 */\n if (stepBlockInfo.value == this.value) {\n percent = stepBlockInfo.percent;\n this.$data.dragWidth = stepBlockInfo.px;\n break;\n }\n }\n percent = this.formatValue(percent * 100);\n this.setSliderPosition(percent);\n },\n /**\n * 判断数字是否是浮点数\n * @param num\n * @returns\n */\n isFloat(num) {\n return Number(num) === num && num % 1 !== 0;\n },\n /**\n * 值改变的回调\n * @param event\n * @param value\n */\n valueChangeCallBack(event, value) {\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event, value);\n }\n },\n /**\n * 根据拖拽距离获取滑块应该在的区间和值\n */\n getDragInfo(dragX) {\n let result = this.$data.stepBlockMap.get(0);\n for (const [, stepBlockInfo] of this.$data.stepBlockMap.entries()) {\n if (stepBlockInfo.pxLeft <= dragX &&\n dragX < stepBlockInfo.pxRight) {\n result = stepBlockInfo;\n break;\n }\n }\n return result;\n },\n /**\n * 获取滑块的当前脱拖拽占据的百分比\n * @param {number} dragWidth\n */\n getSliderPositonPercent(dragWidth) {\n return dragWidth / this.$data.totalWidth;\n },\n /**\n * 根据step格式化value\n * @param num\n */\n formatValue(num) {\n if (PopsMathFloatUtils.isFloat(this.step)) {\n num = parseFloat(num.toFixed(2));\n }\n else {\n num = parseInt(num.toString());\n }\n return num;\n },\n /**\n * 设置滑块的位置偏移(left)\n * @param percent 百分比\n */\n setSliderPosition(percent) {\n if (parseInt(percent.toString()) === 1) {\n percent = 1;\n }\n if (percent > 1) {\n percent = percent / 100;\n }\n /* 滑块按钮的偏移 */\n this.$ele.buttonWrapper.style.left = `${percent * 100}%`;\n /* 滑块进度的宽度 */\n this.$ele.bar.style.width = `${percent * 100}%`;\n },\n /**\n * 禁止拖拽\n */\n disableDrag() {\n this.$ele.runAway.classList.add(\"pops-slider-is-disabled\");\n },\n /**\n * 允许拖拽\n */\n allowDrag() {\n this.$ele.runAway.classList.remove(\"pops-slider-is-disabled\");\n },\n /**\n * 判断当前滑块是否被禁用\n */\n isDisabledDrag() {\n return this.$ele.runAway.classList.contains(\"pops-slider-is-disabled\");\n },\n /**\n * 设置进度条点击定位的事件\n */\n setRunAwayClickEvent() {\n popsDOMUtils.on(this.$ele.runAway, \"click\", void 0, (event) => {\n if (event.target !== this.$ele.runAway &&\n event.target !== this.$ele.bar) {\n return;\n }\n let clickX = parseFloat(event.offsetX);\n this.dragStartCallBack();\n this.dragMoveCallBack(event, clickX, this.value);\n this.dragEndCallBack(clickX);\n }, {\n capture: false,\n });\n },\n /**\n * 拖拽开始的回调,如果返回false,禁止拖拽\n */\n dragStartCallBack() {\n if (!this.$data.isMove) {\n if (this.isDisabledDrag()) {\n return false;\n }\n this.$data.isMove = true;\n }\n return true;\n },\n /**\n * 拖拽中的回调\n * @param event 事件\n * @param dragX 当前拖拽的距离\n * @param oldValue 旧的值\n */\n dragMoveCallBack(event, dragX, oldValue) {\n let dragPercent = 0;\n if (dragX <= 0) {\n dragPercent = 0;\n this.value = this.min;\n }\n else if (dragX >= this.$data.totalWidth) {\n dragPercent = 1;\n this.value = this.max;\n }\n else {\n const dragInfo = this.getDragInfo(dragX);\n dragPercent = dragInfo.percent;\n this.value = this.formatValue(dragInfo.value);\n }\n this.$data.dragPercent = dragPercent;\n this.setSliderPosition(this.$data.dragPercent);\n this.showToolTip();\n if (oldValue !== this.value) {\n this.valueChangeCallBack(event, this.value);\n }\n },\n /**\n * 拖拽结束的回调\n */\n dragEndCallBack(dragX) {\n this.$data.isMove = false;\n if (dragX <= 0) {\n this.$data.dragWidth = 0;\n }\n else if (dragX >= this.$data.totalWidth) {\n this.$data.dragWidth = this.$data.totalWidth;\n }\n else {\n this.$data.dragWidth = dragX;\n }\n this.closeToolTip();\n },\n /**\n * 设置点击拖拽事件\n */\n setPanEvent() {\n const AnyTouch = popsUtils.AnyTouch();\n this.$tooltip = new AnyTouch(this.$ele.button, {\n preventEvent() {\n return false;\n },\n });\n /**\n * 当前的拖拽的距离px\n */\n let currentDragX = 0;\n /* 监听拖拽 */\n this.$tooltip.on(\"at:move\", (event) => {\n if (!this.dragStartCallBack()) {\n return;\n }\n let oldValue = this.value;\n const runAwayRect = this.$ele.runAway.getBoundingClientRect();\n let displacementX = event.x - (runAwayRect.left + globalThis.screenX);\n if (displacementX <= 0) {\n displacementX = 0;\n }\n else if (displacementX >= runAwayRect.width) {\n displacementX = runAwayRect.width;\n }\n currentDragX = displacementX;\n /* 拖拽移动 */\n this.dragMoveCallBack(event, currentDragX, oldValue);\n });\n /* 监听触点离开,处理某些情况下,拖拽松开,但是未触发pan事件,可以通过设置这个来关闭tooltip */\n this.$tooltip.on(\"at:end\", (event) => {\n this.dragEndCallBack(currentDragX);\n });\n },\n /**\n * 显示悬浮的\n */\n showToolTip() {\n this.$ele.tooltip.show();\n },\n /**\n * 关闭悬浮的\n */\n closeToolTip() {\n this.$ele.tooltip.close();\n },\n /**\n * 检测在1000ms内,是否停止了拖拽\n */\n checkStopDragMove() {\n if (this.$data.isCheckingStopDragMove) {\n return;\n }\n this.$data.isCheckingStopDragMove = true;\n let interval = setInterval(() => {\n if (!this.$data.isMove) {\n this.$data.isCheckingStopDragMove = false;\n this.closeToolTip();\n clearInterval(interval);\n }\n }, 200);\n setTimeout(() => {\n this.$data.isCheckingStopDragMove = false;\n clearInterval(interval);\n }, 2000);\n },\n /**\n * 设置拖拽按钮的悬浮事件\n */\n setToolTipEvent() {\n /**\n * 获取提示的内容\n */\n function getToolTipContent() {\n if (typeof formConfig.getToolTipContent === \"function\") {\n return formConfig.getToolTipContent(PopsPanelSlider.value);\n }\n else {\n return PopsPanelSlider.value;\n }\n }\n let tooltipContent = null;\n this.$ele.tooltip = pops.tooltip({\n target: this.$ele.button,\n content: getToolTipContent,\n zIndex: 1000000,\n className: \"github-tooltip\",\n only: false,\n eventOption: {\n capture: true,\n passive: true,\n },\n showBeforeCallBack: () => {\n this.intervalInit();\n },\n showAfterCallBack: (toolTipNode) => {\n tooltipContent.innerText = getToolTipContent();\n },\n closeBeforeCallBack: () => {\n if (this.$data.isMove) {\n this.checkStopDragMove();\n return false;\n }\n else {\n }\n },\n alwaysShow: false,\n // only: false,\n position: \"top\",\n arrowDistance: 10,\n });\n tooltipContent =\n this.$ele.tooltip.toolTipNode.querySelector(\"div\");\n },\n };\n PopsPanelSlider.init();\n liElement[\"data-slider\"] = PopsPanelSlider;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> input\n * @param formConfig\n */\n createSectionContainerItem_input(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n let inputType = \"text\";\n if (formConfig.isPassword) {\n inputType = \"password\";\n }\n else if (formConfig.isNumber) {\n inputType = \"number\";\n }\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-input\">\r\n\t\t\t\t<input type=\"${inputType}\" placeholder=\"${formConfig.placeholder}\">\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelInput = {\n [Symbol.toStringTag]: \"PopsPanelInput\",\n $ele: {\n panelInput: liElement.querySelector(\".pops-panel-input\"),\n input: liElement.querySelector(\"input\"),\n inputSpanIcon: document.createElement(\"span\"),\n inputSpanIconInner: null,\n icon: null,\n },\n $data: {\n value: formConfig.getValue(),\n isView: false,\n },\n init() {\n this.initEle();\n this.setInputValue(this.$data.value);\n /* 如果是密码框,放进图标 */\n if (formConfig.isPassword) {\n this.setCircleIcon(pops.config.iconSVG.view);\n this.setCircleIconClickEvent();\n }\n else {\n /* 先判断预设值是否为空,不为空添加清空图标按钮 */\n if (this.$ele.input.value != \"\") {\n this.setCircleIcon(pops.config.iconSVG.circleClose);\n this.setCircleIconClickEvent();\n }\n }\n this.setInputChangeEvent();\n if (formConfig.disabled) {\n this.disable();\n }\n if (typeof formConfig.handlerCallBack === \"function\") {\n formConfig.handlerCallBack(liElement, this.$ele.input);\n }\n },\n /**\n * 初始化$ele的配置\n */\n initEle() {\n this.$ele.input.parentElement.insertBefore(this.$ele.inputSpanIcon, this.$ele.input.nextSibling);\n this.$ele.inputSpanIcon.className = \"pops-panel-input__suffix\";\n this.$ele.inputSpanIcon.innerHTML = `\r\n\t\t\t\t\t<span class=\"pops-panel-input__suffix-inner\">\r\n\t\t\t\t\t\t<i class=\"pops-panel-icon\"></i>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t`;\n this.$ele.inputSpanIconInner =\n this.$ele.inputSpanIcon.querySelector(\".pops-panel-input__suffix-inner\");\n this.$ele.icon =\n this.$ele.inputSpanIcon.querySelector(\".pops-panel-icon\");\n },\n /**\n * 禁用\n */\n disable() {\n this.$ele.input.disabled = true;\n this.$ele.panelInput.classList.add(\"pops-input-disabled\");\n },\n /**\n * 取消禁用\n */\n notDisable() {\n this.$ele.input.disabled = false;\n this.$ele.panelInput.classList.remove(\"pops-input-disabled\");\n },\n /**\n * 判断是否已被禁用\n */\n isDisabled() {\n return this.$ele.input.disabled;\n },\n /**\n * 设置输入框内容\n * @param {string} [value=\"\"] 值\n */\n setInputValue(value = \"\") {\n this.$ele.input.value = value;\n },\n /**\n * 设置input元素的type\n * @param {string} [typeValue=\"text\"] type值\n */\n setInputType(typeValue = \"text\") {\n this.$ele.input.setAttribute(\"type\", typeValue);\n },\n /**\n * 删除图标按钮\n */\n removeCircleIcon() {\n this.$ele.icon.innerHTML = \"\";\n },\n /**\n * 添加清空图标按钮\n * @param {string} [svgHTML=pops.config.iconSVG.circleClose] svg图标,默认为清空的图标\n */\n setCircleIcon(svgHTML = pops.config.iconSVG.circleClose) {\n this.$ele.icon.innerHTML = svgHTML;\n },\n /**\n * 添加图标按钮的点击事件\n */\n setCircleIconClickEvent() {\n popsDOMUtils.on(this.$ele.icon, \"click\", void 0, () => {\n if (this.isDisabled()) {\n return;\n }\n /* 删除图标 */\n this.removeCircleIcon();\n if (formConfig.isPassword) {\n /* 密码输入框 */\n if (this.$data.isView) {\n /* 当前可见 => 点击改变为隐藏 */\n this.$data.isView = false;\n /* 显示输入框内容,且更换图标为隐藏图标 */\n this.setInputType(\"text\");\n this.setCircleIcon(pops.config.iconSVG.hide);\n }\n else {\n /* 当前不可见 => 点击改变为显示 */\n this.$data.isView = true;\n /* 隐藏输入框内容,且更换图标为显示图标 */\n this.setInputType(\"password\");\n this.setCircleIcon(pops.config.iconSVG.view);\n }\n }\n else {\n /* 普通输入框 */\n /* 清空内容 */\n this.setInputValue(\"\");\n /* 获取焦点 */\n this.$ele.input.focus();\n /* 触发内容改变事件 */\n this.$ele.input.dispatchEvent(new Event(\"input\"));\n }\n });\n },\n /**\n * 监听输入框内容改变\n */\n setInputChangeEvent() {\n popsDOMUtils.on(this.$ele.input, [\"input\", \"propertychange\"], void 0, (event) => {\n this.$data.value = this.$ele.input.value;\n if (!formConfig.isPassword) {\n /* 不是密码框 */\n if (this.$ele.input.value !== \"\" &&\n this.$ele.icon.innerHTML === \"\") {\n /* 不为空,显示清空图标 */\n this.setCircleIcon(pops.config.iconSVG.circleClose);\n this.setCircleIconClickEvent();\n }\n else if (this.$ele.input.value === \"\") {\n this.removeCircleIcon();\n }\n }\n if (typeof formConfig.callback === \"function\") {\n if (formConfig.isNumber) {\n formConfig.callback(event, this.$ele.input.value, this.$ele.input.valueAsNumber);\n }\n else {\n formConfig.callback(event, this.$ele.input.value);\n }\n }\n });\n },\n };\n PopsPanelInput.init();\n liElement[\"data-input\"] = PopsPanelInput;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> textarea\n * @param formConfig\n */\n createSectionContainerItem_textarea(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-textarea\">\r\n\t\t\t\t<textarea placeholder=\"${formConfig.placeholder ?? \"\"}\">\r\n\t\t\t</textarea>\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelTextArea = {\n [Symbol.toStringTag]: \"PopsPanelTextArea\",\n $ele: {\n panelTextarea: liElement.querySelector(\".pops-panel-textarea\"),\n textarea: liElement.querySelector(\".pops-panel-textarea textarea\"),\n },\n $data: {\n value: formConfig.getValue(),\n },\n init() {\n this.setValue(this.$data.value);\n this.setChangeEvent();\n if (formConfig.disabled) {\n this.disable();\n }\n },\n disable() {\n this.$ele.textarea.setAttribute(\"disabled\", \"true\");\n this.$ele.panelTextarea.classList.add(\"pops-panel-textarea-disable\");\n },\n notDisable() {\n this.$ele.textarea.removeAttribute(\"disabled\");\n this.$ele.panelTextarea.classList.remove(\"pops-panel-textarea-disable\");\n },\n isDisabled() {\n return (this.$ele.textarea.hasAttribute(\"disabled\") ||\n this.$ele.panelTextarea.classList.contains(\"pops-panel-textarea-disable\"));\n },\n setValue(value) {\n this.$ele.textarea.value = value;\n },\n /**\n * 监听选择内容改变\n */\n setChangeEvent() {\n popsDOMUtils.on(this.$ele.textarea, [\"input\", \"propertychange\"], void 0, (event) => {\n this.$data.value = event.target.value;\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event, event.target.value);\n }\n });\n },\n };\n PopsPanelTextArea.init();\n liElement[\"data-textarea\"] = PopsPanelTextArea;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> select\n * @param formConfig\n */\n createSectionContainerItem_select(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-select\">\r\n\t\t\t\t<select></select>\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelSelect = {\n [Symbol.toStringTag]: \"PopsPanelSelect\",\n $ele: {\n panelSelect: liElement.querySelector(\".pops-panel-select\"),\n select: liElement.querySelector(\".pops-panel-select select\"),\n },\n $eleKey: {\n disable: \"__disable__\",\n value: \"__value__\",\n },\n $data: {\n defaultValue: formConfig.getValue(),\n },\n init() {\n this.initOption();\n this.setChangeEvent();\n this.setClickEvent();\n if (formConfig.disabled) {\n this.disable();\n }\n },\n /**\n * 给option元素设置属性\n * @param $ele\n * @param key\n * @param value\n */\n setNodeValue($ele, key, value) {\n Reflect.set($ele, key, value);\n },\n /**\n * 获取option元素上设置的属性\n * @param $ele\n * @param value\n * @param key\n */\n getNodeValue($ele, key) {\n return Reflect.get($ele, key);\n },\n disable() {\n this.$ele.select.setAttribute(\"disabled\", \"true\");\n this.$ele.panelSelect.classList.add(\"pops-panel-select-disable\");\n },\n notDisable() {\n this.$ele.select.removeAttribute(\"disabled\");\n this.$ele.panelSelect.classList.remove(\"pops-panel-select-disable\");\n },\n isDisabled() {\n return (this.$ele.select.hasAttribute(\"disabled\") ||\n this.$ele.panelSelect.classList.contains(\"pops-panel-select-disable\"));\n },\n initOption() {\n formConfig.data.forEach((dataItem) => {\n // 初始化默认选中\n let optionElement = document.createElement(\"option\");\n this.setNodeValue(optionElement, this.$eleKey.value, dataItem.value);\n this.setNodeValue(optionElement, this.$eleKey.disable, dataItem.disable);\n if (dataItem.value === this.$data.defaultValue) {\n optionElement.setAttribute(\"selected\", \"true\");\n }\n optionElement.innerText = dataItem.text;\n this.$ele.select.appendChild(optionElement);\n });\n },\n /** 检测所有option并设置禁用状态 */\n setSelectOptionsDisableStatus() {\n if (this.$ele.select.options && this.$ele.select.options.length) {\n Array.from(this.$ele.select.options).forEach((optionItem) => {\n this.setOptionDisableStatus(optionItem);\n });\n }\n },\n /** 设置禁用状态 */\n setOptionDisableStatus(optionElement) {\n let disable = false;\n let optionDisableAttr = this.getNodeValue(optionElement, this.$eleKey.disable);\n if (optionDisableAttr === \"function\") {\n let value = this.getNodeValue(optionElement, this.$eleKey.value);\n disable = Boolean(optionDisableAttr(value));\n }\n if (disable) {\n optionElement.setAttribute(\"disabled\", \"true\");\n }\n else {\n optionElement.removeAttribute(\"disabled\");\n }\n },\n /** 获取option上的信息 */\n getSelectOptionInfo($option) {\n let optionValue = this.getNodeValue($option, this.$eleKey.value);\n let optionText = $option.innerText || $option.textContent;\n return {\n value: optionValue,\n text: optionText,\n $option: $option,\n };\n },\n /**\n * 监听选择内容改变\n */\n setChangeEvent() {\n popsDOMUtils.on(this.$ele.select, \"change\", void 0, (event) => {\n this.setSelectOptionsDisableStatus();\n if (typeof formConfig.callback === \"function\") {\n let $isSelectedElement = event.target[event.target.selectedIndex];\n let selectInfo = this.getSelectOptionInfo($isSelectedElement);\n formConfig.callback(event, selectInfo.value, selectInfo.text);\n }\n });\n },\n /**\n * 监听点击事件\n */\n setClickEvent() {\n popsDOMUtils.on(this.$ele.select, \"click\", void 0, (event) => {\n this.setSelectOptionsDisableStatus();\n if (typeof formConfig.clickCallBack === \"function\") {\n formConfig.clickCallBack(event, this.$ele.select);\n }\n });\n },\n };\n PopsPanelSelect.init();\n Reflect.set(liElement, \"data-select\", PopsPanelSelect);\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> select-multiple\n * @param formConfig\n */\n createSectionContainerItem_select_multiple_new(formConfig) {\n let liElement = document.createElement(\"li\");\n Reflect.set(liElement, \"__formConfig__\", formConfig);\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-select-multiple\">\r\n\t\t\t\t<div class=\"el-select__wrapper\">\r\n\t\t\t\t\t<div class=\"el-select__selection\">\r\n\t\t\t\t\t\t<!-- 这个是用于手动输入的,这里暂不适配 -->\r\n\t\t\t\t\t\t<div class=\"el-select__selected-item el-select__input-wrapper\">\r\n\t\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<!-- 这个是placeholder -->\r\n\t\t\t\t\t\t<div class=\"el-select__selected-item el-select__placeholder\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<!-- 下拉箭头 -->\r\n\t\t\t\t\t<div class=\"el-select__suffix\">\r\n\t\t\t\t\t\t<i class=\"el-icon el-select__caret el-select__icon\">\r\n\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 1024\">\r\n\t\t\t\t\t\t\t\t<path fill=\"currentColor\" d=\"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z\"></path>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelSelectMultiple = {\n [Symbol.toStringTag]: \"PopsPanelSelectMultiple\",\n $el: {\n /** 容器 */\n $container: void 0,\n /** 包括的容器 */\n $wrapper: void 0,\n /** 内容区域 */\n $section: void 0,\n /** 手动输入 */\n $selectedInputWrapper: void 0,\n /** 灰色提示语 */\n $selectedPlaceHolderWrapper: void 0,\n /** 下拉箭头区域 */\n $suffix: void 0,\n /** 下拉箭头图标 */\n $suffixIcon: void 0,\n },\n $data: {\n /** 默认值 */\n defaultValue: formConfig.getValue(),\n selectInfo: [],\n },\n /** 初始化 */\n init() {\n this.initDefault();\n this.inintEl();\n this.initPlaceHolder();\n this.updateTagElement();\n this.setSelectContainerClickEvent();\n },\n /** 初始化默认值 */\n initDefault() {\n formConfig.data.forEach((dataItem) => {\n if (this.$data.defaultValue.includes(dataItem.value)) {\n // 初始化选中的配置\n this.$data.selectInfo.push({\n text: dataItem.text,\n value: dataItem.value,\n isHTML: Boolean(dataItem.isHTML),\n disable: dataItem.disable,\n });\n }\n });\n },\n /** 初始化$el变量 */\n inintEl() {\n this.$el.$container = liElement.querySelector(\".pops-panel-select-multiple\");\n this.$el.$wrapper = liElement.querySelector(\".el-select__wrapper\");\n this.$el.$section = liElement.querySelector(\".el-select__selection\");\n this.$el.$selectedInputWrapper = liElement.querySelector(\".el-select__selected-item.el-select__input-wrapper\");\n this.$el.$selectedPlaceHolderWrapper =\n liElement.querySelector(\".el-select__selected-item.el-select__placeholder\");\n this.$el.$suffix =\n liElement.querySelector(\".el-select__suffix\");\n this.$el.$suffixIcon = liElement.querySelector(\".el-select__suffix .el-icon\");\n // 先把手动输入框隐藏\n this.hideInputWrapper();\n },\n /** 初始化提示文字 */\n initPlaceHolder() {\n let placeholder = \"\";\n if (typeof formConfig.placeholder === \"string\") {\n placeholder = formConfig.placeholder;\n }\n else if (typeof formConfig.placeholder === \"function\") {\n let placeholderResult = formConfig.placeholder();\n if (typeof placeholderResult === \"string\") {\n placeholder = placeholderResult;\n }\n }\n let $placeholder = popsDOMUtils.createElement(\"span\", {\n innerText: placeholder,\n });\n this.$el.$selectedPlaceHolderWrapper.appendChild($placeholder);\n },\n /** 初始化tag */\n updateTagElement() {\n // 遍历数据,寻找对应的值\n formConfig.data.forEach((dataItem) => {\n let findValue = this.$data.selectInfo.find((item) => item.value === dataItem.value);\n if (findValue) {\n // 选中的值和获取的所有的值相同\n let selectedInfo = this.createSelectedItem({\n text: dataItem.text,\n isHTML: dataItem.isHTML,\n });\n this.addSelectedItem(selectedInfo.$tag);\n this.setSelectedItemCloseIconClickEvent({\n $tag: selectedInfo.$tag,\n $closeIcon: selectedInfo.$closeIcon,\n value: dataItem.value,\n text: dataItem.text,\n });\n }\n });\n this.checkTagEmpty();\n },\n /**\n * 生成一个tag项\n * @param data 配置\n */\n createSelectedItem(data) {\n const $selectedItem = popsDOMUtils.createElement(\"div\", {\n className: \"el-select__selected-item el-select__choose_tag\",\n innerHTML: /*html*/ `\r\n\t\t\t\t\t\t<span class=\"el-tag is-closable el-tag--info el-tag--default el-tag--light\">\r\n\t\t\t\t\t\t\t<span class=\"el-tag__content\">\r\n\t\t\t\t\t\t\t\t<span class=\"el-select__tags-text\"></span>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<!-- 关闭tag的图标 -->\r\n\t\t\t\t\t\t\t<i class=\"el-icon el-tag__close\">\r\n\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 1024\">\r\n\t\t\t\t\t\t\t\t\t<path fill=\"currentColor\" d=\"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"></path>\r\n\t\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t\t</i>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t`,\n });\n /** 标签 */\n const $tagText = $selectedItem.querySelector(\".el-select__tags-text\");\n /** 关闭图标 */\n const $closeIcon = $selectedItem.querySelector(\".el-icon.el-tag__close\");\n if (data.isHTML) {\n $tagText.innerHTML = data.text;\n }\n else {\n $tagText.innerText = data.text;\n }\n return {\n $tag: $selectedItem,\n $tagText: $tagText,\n $closeIcon: $closeIcon,\n };\n },\n /**\n * 添加选中项元素\n */\n addSelectedItem($ele) {\n // 往前添加\n // 去除前面的空白\n this.setSectionIsNear();\n if (this.$el.$section.contains(this.$el.$selectedInputWrapper)) {\n let $prev = this.$el.$selectedInputWrapper.previousElementSibling;\n if ($prev) {\n // 存在前一个元素,添加到前面的元素的后面\n popsDOMUtils.after($prev, $ele);\n }\n else {\n // 不存在前一个元素,添加到最前面\n popsDOMUtils.before(this.$el.$selectedInputWrapper, $ele);\n }\n }\n else if (this.$el.$section.contains(this.$el.$selectedPlaceHolderWrapper)) {\n let $prev = this.$el.$selectedPlaceHolderWrapper.previousElementSibling;\n if ($prev) {\n // 存在前一个元素,添加到前面的元素的后面\n popsDOMUtils.after($prev, $ele);\n }\n else {\n // 不存在前一个元素,添加到最前面\n popsDOMUtils.before(this.$el.$selectedPlaceHolderWrapper, $ele);\n }\n }\n else {\n this.$el.$section.appendChild($ele);\n }\n // 隐藏元素\n this.hideInputWrapper();\n this.hidePlaceHolderWrapper();\n },\n /** 更新tag信息 */\n updateSelectTagItem() {\n this.$el.$section\n .querySelectorAll(\".el-select__choose_tag\")\n .forEach(($ele) => {\n $ele.remove();\n });\n this.updateTagElement();\n },\n /**\n * 选中的值改变的回调\n * @param currentSelectInfo 当前的选中信息\n */\n selectValueChangeCallBack(currentSelectInfo) {\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(currentSelectInfo || this.$data.selectInfo);\n }\n },\n /** 设置下拉列表的点击事件 */\n setSelectContainerClickEvent() {\n const that = this;\n popsDOMUtils.on(this.$el.$container, \"click\", (event) => {\n /** 弹窗的选中的值 */\n let selectedInfo = [];\n selectedInfo = selectedInfo.concat(that.$data.selectInfo);\n /**\n * 设置项选中\n * @param $ele\n */\n function setItemSelected($ele) {\n $ele.classList.add(\"select-item-is-selected\");\n }\n /**\n * 设置项取消选中\n * @param $ele\n */\n function removeItemSelected($ele) {\n $ele.classList.remove(\"select-item-is-selected\");\n }\n /**\n * 添加选中信息\n */\n function addSelectedInfo($ele) {\n let info = getSelectedInfo($ele);\n let findValue = selectedInfo.find((item) => item.value === info.value);\n if (!findValue) {\n selectedInfo.push({\n value: info.value,\n text: info.text,\n isHTML: Boolean(info.isHTML),\n disable: info.disable,\n });\n }\n that.selectValueChangeCallBack(selectedInfo);\n }\n /**\n * 移除选中信息\n */\n function removeSelectedInfo($ele) {\n let info = getSelectedInfo($ele);\n let findIndex = selectedInfo.findIndex((item) => item.value === info.value);\n if (findIndex !== -1) {\n selectedInfo.splice(findIndex, 1);\n }\n that.selectValueChangeCallBack(selectedInfo);\n }\n /**\n * 判断该项是否选中\n * @param $ele\n */\n function isSelected($ele) {\n return $ele.classList.contains(\"select-item-is-selected\");\n }\n /**\n * 获取选中的项的信息\n */\n function getSelectedInfo($ele) {\n return Reflect.get($ele, \"data-info\");\n }\n /**\n * 获取所有选中的项的信息\n */\n function getAllSelectedInfo() {\n return Array.from($selectContainer.querySelectorAll(\".select-item\"))\n .map(($ele) => {\n if (isSelected($ele)) {\n return getSelectedInfo($ele);\n }\n })\n .filter((item) => {\n return item != null;\n });\n }\n /**\n * 创建一个选择项元素\n */\n function createSelectItemElement(dataInfo) {\n let $item = popsDOMUtils.createElement(\"li\", {\n className: \"select-item\",\n innerHTML: /*html*/ `\r\n\t\t\t\t\t\t\t\t\t<span>${dataInfo.text}</span>\r\n\t\t\t\t\t\t\t\t`,\n });\n Reflect.set($item, \"data-info\", dataInfo);\n return $item;\n }\n /**\n * 设置选择项的点击事件\n */\n function setSelectElementClickEvent($ele) {\n popsDOMUtils.on($ele, \"click\", (event) => {\n popsDOMUtils.preventEvent(event);\n if (typeof formConfig.clickCallBack === \"function\") {\n let clickResult = formConfig.clickCallBack(event, getAllSelectedInfo());\n if (typeof clickResult === \"boolean\" && !clickResult) {\n return;\n }\n }\n // 修改选中状态\n if (isSelected($ele)) {\n removeItemSelected($ele);\n removeSelectedInfo($ele);\n }\n else {\n setItemSelected($ele);\n addSelectedInfo($ele);\n }\n });\n }\n let { style, ...userConfirmDetails } = formConfig.selectConfirmDialogDetails || {};\n let confirmDetails = popsUtils.assign({\n title: {\n text: \"请勾选需要选择的选项\",\n position: \"center\",\n },\n content: {\n text: /*html*/ `\r\n\t\t\t\t\t\t\t\t\t<ul class=\"select-container\"></ul>\r\n\t\t\t\t\t\t\t\t\t`,\n html: true,\n },\n btn: {\n ok: {\n enable: false,\n },\n close: {\n enable: true,\n callback(details, event) {\n that.$data.selectInfo = [...selectedInfo];\n that.updateSelectTagItem();\n details.close();\n },\n },\n },\n mask: {\n enable: true,\n clickCallBack(originalRun, config) {\n originalRun();\n that.$data.selectInfo = [...selectedInfo];\n that.updateSelectTagItem();\n },\n clickEvent: {\n toClose: true,\n },\n },\n drag: true,\n dragLimit: true,\n width: \"300px\",\n height: \"300px\",\n style: /*css*/ `\r\n\t\t\t\t\t\t\t\t.select-container{\r\n\t\t\t\t\t\t\t\t\t--el-font-size-base: 14px;\r\n\t\t\t\t\t\t\t\t\t--el-text-color-regular: #606266;\r\n\t\t\t\t\t\t\t\t\t--el-color-primary: #409eff;\r\n\t\t\t\t\t\t\t\t\t--el-fill-color-light: #f5f7fa;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.select-item{\r\n\t\t\t\t\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\t\t\t\t\tfont-size: var(--el-font-size-base);\r\n\t\t\t\t\t\t\t\t\tpadding: 0 32px 0 20px;\r\n\t\t\t\t\t\t\t\t\tposition: relative;\r\n\t\t\t\t\t\t\t\t\twhite-space: nowrap;\r\n\t\t\t\t\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t\t\t\t\t\ttext-overflow: ellipsis;\r\n\t\t\t\t\t\t\t\t\tcolor: var(--el-text-color-regular);\r\n\t\t\t\t\t\t\t\t\theight: 34px;\r\n\t\t\t\t\t\t\t\t\tline-height: 34px;\r\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.select-item:hover{\r\n\t\t\t\t\t\t\t\t\tbackground-color: var(--el-fill-color-light);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.select-item.select-item-is-selected{\r\n\t\t\t\t\t\t\t\t\tcolor: var(--el-color-primary);\r\n\t\t\t\t\t\t\t\t\tfont-weight: 700;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.select-item.select-item-is-selected::after{\r\n\t\t\t\t\t\t\t\t\tcontent: \"\";\r\n\t\t\t\t\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\t\t\t\t\ttop: 50%;\r\n\t\t\t\t\t\t\t\t\tright: 20px;\r\n\t\t\t\t\t\t\t\t\tborder-top: none;\r\n\t\t\t\t\t\t\t\t\tborder-right: none;\r\n\t\t\t\t\t\t\t\t\tbackground-repeat: no-repeat;\r\n\t\t\t\t\t\t\t\t\tbackground-position: center;\r\n\t\t\t\t\t\t\t\t\tbackground-color: var(--el-color-primary);\r\n\t\t\t\t\t\t\t\t\tmask: url(\"data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E\") no-repeat;\r\n\t\t\t\t\t\t\t\t\tmask-size: 100% 100%;\r\n\t\t\t\t\t\t\t\t\t-webkit-mask: url(\"data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E\") no-repeat;\r\n\t\t\t\t\t\t\t\t\t-webkit-mask-size: 100% 100%;\r\n\t\t\t\t\t\t\t\t\ttransform: translateY(-50%);\r\n\t\t\t\t\t\t\t\t\twidth: 12px;\r\n\t\t\t\t\t\t\t\t\theight: 12px;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t${style || \"\"}\r\n\t\t\t\t\t\t\t\t`,\n }, userConfirmDetails);\n let $dialog = pops.alert(confirmDetails);\n let $selectContainer = $dialog.$shadowRoot.querySelector(\".select-container\");\n // 配置选项元素\n formConfig.data.forEach((item) => {\n let $select = createSelectItemElement(item);\n // 添加到confirm中\n $selectContainer.appendChild($select);\n // 设置每一项的点击事件\n setSelectElementClickEvent($select);\n let findValue = selectedInfo.find((value) => value.value === item.value);\n if (findValue) {\n setItemSelected($select);\n }\n });\n });\n },\n /** 设置关闭图标的点击事件 */\n setSelectedItemCloseIconClickEvent(data) {\n popsDOMUtils.on(data.$closeIcon, \"click\", (event) => {\n popsDOMUtils.preventEvent(event);\n if (typeof formConfig.closeIconClickCallBack === \"function\") {\n let result = formConfig.closeIconClickCallBack(event, {\n $tag: data.$tag,\n $closeIcon: data.$closeIcon,\n value: data.value,\n text: data.text,\n });\n if (typeof result === \"boolean\" && !result) {\n return;\n }\n }\n this.removeSelectedItem(data.$tag);\n this.removeSelectedInfo({\n value: data.value,\n text: data.text,\n });\n }, {\n capture: true,\n });\n },\n /**\n * 检测tag是否为空,为空显示placeholder\n */\n checkTagEmpty() {\n if (!this.$el.$section.querySelectorAll(\".el-select__choose_tag\").length) {\n // 没有tag了\n // this.showInputWrapper();\n this.showPlaceHolderWrapper();\n this.removeSectionIsNear();\n }\n },\n /** 移除选中项元素 */\n removeSelectedItem($ele) {\n $ele.remove();\n this.checkTagEmpty();\n },\n /** 移除选中的信息 */\n removeSelectedInfo(data) {\n for (let index = 0; index < this.$data.selectInfo.length; index++) {\n const selectInfo = this.$data.selectInfo[index];\n if (selectInfo.value === data.value) {\n this.$data.selectInfo.splice(index, 1);\n break;\n }\n }\n this.selectValueChangeCallBack();\n },\n /** 显示输入框 */\n showInputWrapper() {\n popsDOMUtils.cssShow(this.$el.$selectedInputWrapper);\n },\n /** 隐藏输入框 */\n hideInputWrapper() {\n popsDOMUtils.cssHide(this.$el.$selectedInputWrapper, true);\n },\n /** 显示palceholder */\n showPlaceHolderWrapper() {\n popsDOMUtils.cssShow(this.$el.$selectedPlaceHolderWrapper);\n },\n /** 隐藏palceholder */\n hidePlaceHolderWrapper() {\n popsDOMUtils.cssHide(this.$el.$selectedPlaceHolderWrapper, true);\n },\n /** 设置隐藏section的前面的空白 */\n setSectionIsNear() {\n this.$el.$section.classList.add(\"is-near\");\n },\n /** 取消设置隐藏section的前面的空白 */\n removeSectionIsNear() {\n this.$el.$section.classList.remove(\"is-near\");\n },\n };\n PopsPanelSelectMultiple.init();\n Reflect.set(liElement, \"data-select-multiple\", PopsPanelSelectMultiple);\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ==> button\n * @param formConfig\n */\n createSectionContainerItem_button(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n this.setElementAttributes(liElement, formConfig.attributes);\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n leftDescriptionText = /*html*/ `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-button\">\r\n\t\t\t\t<button class=\"pops-panel-button_inner\">\r\n\t\t\t\t\t<i class=\"pops-bottom-icon\"></i>\r\n\t\t\t\t\t<span class=\"pops-panel-button-text\"></span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelButton = {\n [Symbol.toStringTag]: \"PopsPanelButton\",\n $ele: {\n panelButton: liElement.querySelector(\".pops-panel-button\"),\n button: liElement.querySelector(\".pops-panel-button .pops-panel-button_inner\"),\n icon: liElement.querySelector(\".pops-panel-button .pops-bottom-icon\"),\n spanText: liElement.querySelector(\".pops-panel-button .pops-panel-button-text\"),\n },\n $data: {},\n init() {\n this.$ele.panelButton.appendChild(this.$ele.button);\n this.initButton();\n this.setClickEvent();\n },\n initButton() {\n if (typeof formConfig.buttonIcon === \"string\" &&\n formConfig.buttonIcon.trim() !== \"\") {\n /* 存在icon图标且不为空 */\n if (formConfig.buttonIcon in pops.config.iconSVG) {\n this.setIconSVG(pops.config.iconSVG[formConfig.buttonIcon]);\n }\n else {\n this.setIconSVG(formConfig.buttonIcon);\n }\n this.showIcon();\n }\n else {\n this.hideIcon();\n }\n /* 按钮文字 */\n let buttonText = formConfig.buttonText;\n if (typeof formConfig.buttonText === \"function\") {\n buttonText = formConfig.buttonText();\n }\n this.setButtonType(formConfig.buttonType);\n if (formConfig.buttonIsRightIcon) {\n this.setIconRight();\n }\n else {\n this.setIconLeft();\n }\n if (formConfig.disable) {\n this.disable();\n }\n this.setButtonText(buttonText);\n this.setIconLoadingStatus(formConfig.buttonIconIsLoading);\n },\n disable() {\n this.$ele.button.setAttribute(\"disabled\", \"true\");\n },\n notDisable() {\n this.$ele.button.removeAttribute(\"disabled\");\n },\n /**\n * 隐藏icon图标\n */\n hideIcon() {\n this.$ele.panelButton.classList.add(\"pops-panel-button-no-icon\");\n },\n /**\n * 显示icon图标\n */\n showIcon() {\n this.$ele.panelButton.classList.remove(\"pops-panel-button-no-icon\");\n },\n /**\n * 设置icon图标的svg\n */\n setIconSVG(svgHTML) {\n this.$ele.icon.innerHTML = svgHTML;\n },\n /**\n * 设置icon图标是否旋转\n * @param status\n */\n setIconLoadingStatus(status) {\n this.$ele.icon.setAttribute(\"is-loading\", Boolean(status).toString());\n },\n /**\n * 设置属性上是否存在icon图标\n */\n setHasIcon(value) {\n this.$ele.button.setAttribute(\"data-icon\", Boolean(value).toString());\n },\n /**\n * 设置按钮类型\n * @param typeValue\n */\n setButtonType(typeValue) {\n this.$ele.button.setAttribute(\"type\", typeValue);\n },\n /**\n * 添加按钮的图标在右边\n */\n setIconRight() {\n this.$ele.button.classList.add(\"pops-panel-button-right-icon\");\n },\n /**\n * (默认)添加按钮的图标在左边\n */\n setIconLeft() {\n this.$ele.button.classList.remove(\"pops-panel-button-right-icon\");\n },\n /**\n * 设置按钮文本\n * @param text\n */\n setButtonText(text) {\n this.$ele.spanText.innerHTML = text;\n },\n setClickEvent() {\n popsDOMUtils.on(this.$ele.button, \"click\", void 0, (event) => {\n if (typeof formConfig.callback === \"function\") {\n formConfig.callback(event);\n }\n });\n },\n };\n PopsPanelButton.init();\n liElement[\"data-button\"] = PopsPanelButton;\n return liElement;\n },\n /**\n * 获取深层容器的元素<li>\n * @param formConfig\n */\n createSectionContainerItem_deepMenu(formConfig) {\n let that = this;\n let liElement = document.createElement(\"li\");\n liElement.classList.add(\"pops-panel-deepMenu-nav-item\");\n liElement[\"__formConfig__\"] = formConfig;\n this.setElementClassName(liElement, formConfig.className);\n // 设置属性\n this.setElementAttributes(liElement, formConfig.attributes);\n // 设置元素上的属性\n this.setElementProps(liElement, formConfig.props);\n /* 左边底部的描述的文字 */\n let leftDescriptionText = \"\";\n if (Boolean(formConfig.description)) {\n // 设置描述\n leftDescriptionText = `<p class=\"pops-panel-item-left-desc-text\">${formConfig.description}</p>`;\n }\n // 箭头图标\n let arrowRightIcon = typeof formConfig.arrowRightIcon === \"boolean\"\n ? formConfig.arrowRightIcon\n : true;\n let arrowRightIconHTML = \"\";\n if (arrowRightIcon) {\n arrowRightIconHTML = `<i class=\"pops-panel-deepMenu-arrowRight-icon\">${pops.config.iconSVG.arrowRight}</i>`;\n }\n let rightText = \"\";\n if (formConfig.rightText) {\n rightText = /*html*/ `<p class=\"pops-panel-item-right-text\">${formConfig.rightText}</p>`;\n }\n liElement.innerHTML = /*html*/ `\r\n\t\t\t<div class=\"pops-panel-item-left-text\">\r\n\t\t\t\t<p class=\"pops-panel-item-left-main-text\">${formConfig.text}</p>\r\n\t\t\t\t${leftDescriptionText}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-panel-deepMenu\">\r\n\t\t\t\t${rightText}\r\n\t\t\t\t${arrowRightIconHTML}\r\n\t\t\t</div>\r\n\t\t\t`;\n const PopsPanelDeepMenu = {\n [Symbol.toStringTag]: \"PopsPanelDeepMenu\",\n $ele: {\n get parentSection() {\n return that.$el.$contentSectionContainer;\n },\n },\n init() {\n this.setLiClickEvent();\n },\n /**\n * 生成配置每一项的元素\n * @param $container\n * @param formItemConfig\n */\n initFormItem($container, formItemConfig) {\n if (formItemConfig[\"type\"] === \"forms\") {\n let childForms = formItemConfig[\"forms\"];\n /* 每一项<li>元素 */\n let formContainerListElement = document.createElement(\"li\");\n /* 每一项<li>内的子<ul>元素 */\n let formContainerULElement = document.createElement(\"ul\");\n formContainerListElement.className =\n \"pops-panel-forms-container-item\";\n /* 区域头部的文字 */\n let formHeaderDivElement = popsDOMUtils.createElement(\"div\", {\n className: \"pops-panel-forms-container-item-header-text\",\n });\n formHeaderDivElement.innerHTML = formItemConfig[\"text\"];\n /* 加进容器内 */\n formContainerListElement.appendChild(formHeaderDivElement);\n that.setElementClassName(formContainerListElement, formItemConfig.className);\n that.setElementAttributes(formContainerListElement, formItemConfig.attributes);\n that.setElementProps(formContainerListElement, formItemConfig.props);\n childForms.forEach((childFormConfig) => {\n that.uListContainerAddItem(childFormConfig, {\n ulElement: formContainerULElement,\n sectionContainerULElement: that.sectionContainerULElement,\n formContainerListElement: formContainerListElement,\n formHeaderDivElement: formHeaderDivElement,\n });\n });\n formContainerListElement.appendChild(formContainerULElement);\n $container.appendChild(formContainerListElement);\n }\n else {\n /* 如果成功创建,加入到中间容器中 */\n that.uListContainerAddItem(formConfig, {\n ulElement: that.sectionContainerULElement,\n });\n }\n },\n /**\n * 前往子菜单\n * @param event 点击事件\n * @param liElement 当前的<li>元素\n */\n gotoDeepMenu(event, liElement) {\n /** 当前所在的容器 */\n let currentSection = liElement.closest(\"section.pops-panel-container\");\n if (currentSection) {\n popsDOMUtils.cssHide(currentSection);\n }\n // 子菜单的容器\n let $deepMenuContainer = popsDOMUtils.createElement(\"section\", {\n className: \"pops-panel-container pops-panel-deepMenu-container\",\n });\n let $deepMenuHeaderUL = popsDOMUtils.createElement(\"ul\", {\n className: \"pops-panel-deepMenu-container-header-ul\",\n });\n let $deepMenuChildMenuUL = popsDOMUtils.createElement(\"ul\");\n // 标题文字\n let headerTitleText = formConfig.headerTitle ?? formConfig.text;\n let $header = popsDOMUtils.createElement(\"div\", {\n className: \"pops-panel-deepMenu-container-header\",\n innerHTML: `<p>${headerTitleText}</p>`,\n });\n let $headerLeftArrow = popsDOMUtils.createElement(\"i\", {\n className: \"pops-panel-deepMenu-container-left-arrow-icon\",\n innerHTML: pops.config.iconSVG.arrowLeft,\n });\n popsDOMUtils.on($headerLeftArrow, \"click\", void 0, (event) => {\n event?.preventDefault();\n event?.stopPropagation();\n // 返回上一层菜单\n let $prev = $deepMenuContainer.previousElementSibling;\n popsDOMUtils.cssShow($prev);\n $deepMenuContainer.remove();\n }, {\n once: true,\n });\n $header.firstElementChild?.insertAdjacentElement(\"beforebegin\", $headerLeftArrow);\n $deepMenuHeaderUL.appendChild($header);\n $deepMenuContainer.appendChild($deepMenuHeaderUL);\n $deepMenuContainer.appendChild($deepMenuChildMenuUL);\n if (formConfig.forms && Array.isArray(formConfig.forms)) {\n for (let index = 0; index < formConfig.forms.length; index++) {\n let formItemConfig = formConfig.forms[index];\n this.initFormItem($deepMenuChildMenuUL, formItemConfig);\n }\n }\n that.$el.$content?.appendChild($deepMenuContainer);\n /* 根据标题的高度来自适应内容高度,默认开启 */\n /* 中间容器的偏移量,看设置的section.pops-panel-container的padding,默认0 */\n let contentContainerOffset = 0;\n /* 获取标题的<ul>元素的高度 */\n let sectionContainerHeaderULElementHeight = popsDOMUtils.height($deepMenuHeaderUL);\n $deepMenuChildMenuUL.style.setProperty(\"height\", `calc( 100% - ${sectionContainerHeaderULElementHeight + contentContainerOffset}px )`);\n },\n /** 设置项的点击事件 */\n setLiClickEvent() {\n popsDOMUtils.on(liElement, \"click\", void 0, async (event) => {\n if (typeof formConfig.clickCallBack === \"function\") {\n let result = await formConfig.clickCallBack(event, formConfig);\n if (result) {\n return;\n }\n }\n this.gotoDeepMenu(event, liElement);\n });\n },\n };\n PopsPanelDeepMenu.init();\n liElement[\"data-deepMenu\"] = PopsPanelDeepMenu;\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * type ===> own\n * @param formConfig\n */\n createSectionContainerItem_own(formConfig) {\n let liElement = document.createElement(\"li\");\n liElement[\"__formConfig__\"] = formConfig;\n if (formConfig.className) {\n liElement.className = formConfig.className;\n }\n liElement = formConfig.getLiElementCallBack(liElement);\n return liElement;\n },\n /**\n * 获取中间容器的元素<li>\n * @param formConfig\n */\n createSectionContainerItem(formConfig) {\n /** 配置项的类型 */\n let formType = formConfig[\"type\"];\n if (formType === \"switch\") {\n return this.createSectionContainerItem_switch(formConfig);\n }\n else if (formType === \"slider\") {\n return this.createSectionContainerItem_slider_new(formConfig);\n }\n else if (formType === \"input\") {\n return this.createSectionContainerItem_input(formConfig);\n }\n else if (formType === \"textarea\") {\n return this.createSectionContainerItem_textarea(formConfig);\n }\n else if (formType === \"select\") {\n return this.createSectionContainerItem_select(formConfig);\n }\n else if (formType === \"select-multiple\") {\n return this.createSectionContainerItem_select_multiple_new(formConfig);\n }\n else if (formType === \"button\") {\n return this.createSectionContainerItem_button(formConfig);\n }\n else if (formType === \"deepMenu\") {\n return this.createSectionContainerItem_deepMenu(formConfig);\n }\n else if (formType === \"own\") {\n return this.createSectionContainerItem_own(formConfig);\n }\n else {\n console.error(\"尚未实现的type类型\", formConfig);\n }\n },\n /**\n * 生成配置每一项的元素\n * @param formConfig\n */\n initFormItem(formConfig) {\n let that = this;\n if (formConfig[\"type\"] === \"forms\") {\n let __formConfig_forms = formConfig;\n let childForms = formConfig[\"forms\"];\n /* 每一项<li>元素 */\n let formContainerListElement = document.createElement(\"li\");\n /* 每一项<li>内的子<ul>元素 */\n let formContainerULElement = document.createElement(\"ul\");\n formContainerListElement.className = \"pops-panel-forms-container-item\";\n /* 区域头部的文字 */\n let formHeaderDivElement = popsDOMUtils.createElement(\"div\", {\n className: \"pops-panel-forms-container-item-header-text\",\n });\n formHeaderDivElement.innerHTML = __formConfig_forms[\"text\"];\n /* 加进容器内 */\n formContainerListElement.appendChild(formHeaderDivElement);\n that.setElementClassName(formContainerListElement, formConfig.className);\n that.setElementAttributes(formContainerListElement, formConfig.attributes);\n that.setElementProps(formContainerListElement, formConfig.props);\n childForms.forEach((childFormConfig) => {\n that.uListContainerAddItem(childFormConfig, {\n ulElement: formContainerULElement,\n sectionContainerULElement: that.sectionContainerULElement,\n formContainerListElement: formContainerListElement,\n formHeaderDivElement: formHeaderDivElement,\n });\n });\n formContainerListElement.appendChild(formContainerULElement);\n that.sectionContainerULElement.appendChild(formContainerListElement);\n }\n else {\n /* 如果成功创建,加入到中间容器中 */\n that.uListContainerAddItem(formConfig, {\n ulElement: that.sectionContainerULElement,\n });\n }\n },\n /**\n *\n * @param formConfig\n * @param containerOptions\n */\n uListContainerAddItem(formConfig, containerOptions) {\n let itemLiElement = this.createSectionContainerItem(formConfig);\n if (itemLiElement) {\n containerOptions[\"ulElement\"].appendChild(itemLiElement);\n }\n if (typeof formConfig.afterAddToUListCallBack === \"function\") {\n formConfig.afterAddToUListCallBack(formConfig, containerOptions);\n }\n },\n /**\n * 为左侧容器元素添加点击事件\n * @param asideLiElement 左侧的容器<li>元素\n * @param asideConfig 配置\n */\n setAsideItemClickEvent(asideLiElement, asideConfig) {\n const that = this;\n popsDOMUtils.on(asideLiElement, \"click\", void 0, (event) => {\n this.clearContainer();\n popsDOMUtils.cssShow(that.$el.$contentSectionContainer);\n this.clearAsideItemIsVisited();\n this.setAsideItemIsVisited(asideLiElement);\n /* 顶部标题栏,存在就设置 */\n let headerTitleText = asideConfig.headerTitle ?? asideConfig.title;\n if (typeof headerTitleText === \"string\" &&\n headerTitleText.trim() !== \"\") {\n let containerHeaderTitleLIElement = document.createElement(\"li\");\n containerHeaderTitleLIElement[\"__asideConfig__\"] =\n asideConfig;\n containerHeaderTitleLIElement.innerHTML = headerTitleText;\n this.sectionContainerHeaderULElement.appendChild(containerHeaderTitleLIElement);\n }\n let __forms__ = asideLiElement[\"__forms__\"];\n __forms__.forEach((formConfig) => {\n this.initFormItem(formConfig);\n });\n let autoAdaptionContentHeight = asideConfig.autoAdaptionContentHeight ?? true;\n if (autoAdaptionContentHeight) {\n /* 根据标题的高度来自适应内容高度,默认开启 */\n /* 中间容器的偏移量,看设置的section.pops-panel-container的padding,默认0 */\n let contentContainerOffset = asideConfig.contentContainerOffset ?? 0;\n /* 获取标题的<ul>元素的高度 */\n let sectionContainerHeaderULElementHeight = popsDOMUtils.height(this.sectionContainerHeaderULElement);\n this.sectionContainerULElement.style.setProperty(\"height\", `calc( 100% - ${sectionContainerHeaderULElementHeight + contentContainerOffset}px )`);\n }\n if (typeof asideConfig.callback === \"function\") {\n /* 执行回调 */\n asideConfig.callback(event, this.sectionContainerHeaderULElement, this.sectionContainerULElement);\n }\n });\n },\n };\n};\n","import { PopsElementHandler } from \"../../handler/PopsElementHandler\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"../../utils/PopsInstanceUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { PopsPanelConfig } from \"./config\";\nimport { PanelHandleContentDetails } from \"./PanelHandleContentDetails\";\nimport { GlobalConfig } from \"../../GlobalConfig\";\nexport class PopsPanel {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.ninePalaceGridPosition,\n pops.config.cssText.scrollbar,\n pops.config.cssText.button,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.panelCSS,\n ]);\n let config = PopsPanelConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n if (details && Array.isArray(details.content)) {\n config.content = details.content;\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"panel\";\n config = PopsHandler.handleOnly(PopsType, config);\n // 先把z-index提取出来\n let zIndex = PopsHandler.handleZIndex(config.zIndex);\n let maskHTML = PopsElementHandler.getMaskHTML(guid, zIndex);\n let headerBtnHTML = PopsElementHandler.getHeaderBtnHTML(PopsType, config);\n let { headerStyle, headerPStyle } = PopsElementHandler.getHeaderStyle(PopsType, config);\n let animHTML = PopsElementHandler.getAnimHTML(guid, PopsType, config, \n /*html*/ `\r\n\t\t\t<div \r\n\t\t\t\tclass=\"pops-${PopsType}-title\"\r\n\t\t\t\tstyle=\"text-align: ${config.title.position};\r\n\t\t\t\t${headerStyle}\">\r\n\t\t\t\t${config.title.html\n ? config.title.text\n : `<p pops style=\"${headerPStyle}\">${config.title.text}</p>`}\r\n\t\t\t\t${headerBtnHTML}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pops-${PopsType}-content\">\r\n\t\t\t\t<aside class=\"pops-${PopsType}-aside\">\r\n\t\t\t\t\t<ul></ul>\r\n\t\t\t\t</aside>\r\n\t\t\t\t<section class=\"pops-${PopsType}-container\">\r\n\t\t\t\t\t<ul class=\"pops-panel-container-header-ul\"></ul>\r\n\t\t\t\t\t<ul></ul>\r\n\t\t\t\t</section>\r\n\t\t\t</div>`, \"\", zIndex);\n /**\n * 弹窗的主元素,包括动画层\n */\n let $anim = PopsElementHandler.parseElement(animHTML);\n /* 结构元素 */\n let { popsElement: $pops, headerCloseBtnElement: $headerCloseBtn, titleElement: $title, contentElement: $content, contentAsideElement: $contentAside, contentSectionContainerElement: $contentSectionContainer, } = PopsHandler.handleQueryElement($anim, PopsType);\n if (config.isMobile || pops.isPhone()) {\n popsDOMUtils.addClassName($pops, config.mobileClassName);\n }\n /**\n * 遮罩层元素\n */\n let $mask = null;\n /**\n * 已创建的元素列表\n */\n let elementList = [$anim];\n /* 遮罩层元素 */\n if (config.mask.enable) {\n let _handleMask_ = PopsHandler.handleMask({\n type: PopsType,\n guid: guid,\n config: config,\n animElement: $anim,\n maskHTML: maskHTML,\n });\n $mask = _handleMask_.maskElement;\n elementList.push($mask);\n }\n /* 处理返回的配置 */\n let eventDetails = PopsHandler.handleEventDetails(guid, $shadowContainer, $shadowRoot, PopsType, $anim, $pops, $mask, config);\n /* 为顶部右边的关闭按钮添加点击事件 */\n PopsHandler.handleClickEvent(\"close\", $headerCloseBtn, eventDetails, config.btn.close.callback);\n /* 创建到页面中 */\n popsDOMUtils.append($shadowRoot, elementList);\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n /* 追加遮罩层元素 */\n if ($mask != null) {\n $anim.after($mask);\n }\n let panelHandleContentDetails = PanelHandleContentDetails();\n /**\n * 处理内部配置\n */\n panelHandleContentDetails.init({\n config: config,\n $el: {\n $content: $content,\n $contentAside: $contentAside,\n $contentSectionContainer: $contentSectionContainer,\n },\n });\n PopsHandler.handlePush(PopsType, {\n guid: guid,\n animElement: $anim,\n popsElement: $pops,\n maskElement: $mask,\n $shadowContainer: $shadowContainer,\n $shadowRoot: $shadowRoot,\n });\n /* 拖拽 */\n if (config.drag) {\n PopsInstanceUtils.drag($pops, {\n dragElement: $title,\n limit: config.dragLimit,\n extraDistance: config.dragExtraDistance,\n moveCallBack: config.dragMoveCallBack,\n endCallBack: config.dragEndCallBack,\n });\n }\n return PopsHandler.handleResultDetails(eventDetails);\n }\n}\n","import { pops } from \"../../Pops\";\nexport const rightClickMenuConfig = () => {\n return {\n target: document.documentElement,\n targetSelector: null,\n data: [\n {\n icon: pops.config.iconSVG.search,\n iconIsLoading: false,\n text: \"搜索\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n {\n icon: pops.config.iconSVG.documentCopy,\n iconIsLoading: false,\n text: \"复制\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n {\n icon: pops.config.iconSVG.delete,\n text: \"删除\",\n iconIsLoading: false,\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n {\n icon: pops.config.iconSVG.loading,\n iconIsLoading: true,\n text: \"加载\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n return false;\n },\n },\n {\n icon: pops.config.iconSVG.elemePlus,\n iconIsLoading: true,\n text: \"饿了么\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n return false;\n },\n item: [\n {\n icon: \"\",\n iconIsLoading: false,\n text: \"处理文件\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n {\n icon: \"\",\n iconIsLoading: false,\n text: \"其它处理\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n item: [\n {\n icon: pops.config.iconSVG.view,\n iconIsLoading: false,\n text: \"查看\",\n callback(clickEvent, contextMenuEvent, liElement) {\n console.log(\"点击:\" + this.text, [\n clickEvent,\n contextMenuEvent,\n liElement,\n ]);\n },\n },\n ],\n },\n ],\n },\n ],\n className: \"\",\n isAnimation: true,\n only: false,\n zIndex: 10000,\n preventDefault: true,\n style: null,\n beforeAppendToPageCallBack() { },\n };\n};\n","import { OriginPrototype } from \"../../Core\";\nimport { GlobalConfig } from \"../../GlobalConfig\";\nimport { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { rightClickMenuConfig as PopsRightClickMenuConfig } from \"./config\";\nexport class PopsRightClickMenu {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n pops.config.cssText.rightClickMenu,\n ]);\n let config = PopsRightClickMenuConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n if (config.target == null) {\n throw \"config.target 不能为空\";\n }\n if (details.data) {\n config.data = details.data;\n }\n let guid = popsUtils.getRandomGUID();\n const PopsType = \"rightClickMenu\";\n config = PopsHandler.handleOnly(PopsType, config);\n if (config.style != null) {\n let cssNode = document.createElement(\"style\");\n cssNode.setAttribute(\"type\", \"text/css\");\n cssNode.innerHTML = config.style;\n $shadowRoot.appendChild(cssNode);\n }\n const PopsContextMenu = {\n /**\n * 根元素\n */\n rootElement: null,\n /**\n * 全局点击检测\n * @param event\n */\n windowCheckClickEvent(event) {\n if (!PopsContextMenu.rootElement) {\n return;\n }\n let $click = event.target;\n if ($click.closest(`.pops-${PopsType}`)) {\n return;\n }\n if ($click.className &&\n $click.className === \"pops-shadow-container\" &&\n $click.shadowRoot != null) {\n return;\n }\n PopsContextMenu.closeAllMenu(PopsContextMenu.rootElement);\n },\n /**\n * target为shadowRoot或shadowRoot内的全局点击检测\n * @param event\n */\n shadowRootCheckClickEvent(event) {\n if (!PopsContextMenu.rootElement) {\n return;\n }\n let $click = event.target;\n if ($click.closest(`.pops-${PopsType}`)) {\n return;\n }\n PopsContextMenu.closeAllMenu(PopsContextMenu.rootElement);\n },\n /**\n * 添加全局点击检测事件\n */\n addWindowCheckClickListener() {\n popsDOMUtils.on(globalThis, \"click touchstart\", void 0, PopsContextMenu.windowCheckClickEvent, {\n capture: true,\n });\n if (config.target instanceof Node) {\n const $shadowRoot = config.target.getRootNode();\n if ($shadowRoot instanceof ShadowRoot) {\n popsDOMUtils.on($shadowRoot, \"click touchstart\", void 0, PopsContextMenu.shadowRootCheckClickEvent, {\n capture: true,\n });\n }\n }\n },\n /**\n * 移除全局点击检测事件\n */\n removeWindowCheckClickListener() {\n popsDOMUtils.off(globalThis, \"click touchstart\", void 0, PopsContextMenu.windowCheckClickEvent, {\n capture: true,\n });\n if (config.target instanceof Node) {\n const $shadowRoot = config.target.getRootNode();\n if ($shadowRoot instanceof ShadowRoot) {\n popsDOMUtils.off($shadowRoot, \"click touchstart\", void 0, PopsContextMenu.windowCheckClickEvent, {\n capture: true,\n });\n }\n }\n },\n /**\n * contextmenu事件\n * @param event\n */\n contextMenuEvent(event) {\n if (config.preventDefault) {\n popsDOMUtils.preventEvent(event);\n }\n PopsHandler.handleOnly(PopsType, config);\n if (PopsContextMenu.rootElement) {\n PopsContextMenu.closeAllMenu(PopsContextMenu.rootElement);\n }\n let rootElement = PopsContextMenu.showMenu(event, config.data);\n PopsContextMenu.rootElement = rootElement;\n if (config.only) {\n PopsHandler.handlePush(PopsType, {\n $shadowRoot: $shadowRoot,\n $shadowContainer: $shadowContainer,\n guid: guid,\n animElement: rootElement,\n popsElement: rootElement,\n beforeRemoveCallBack(layerCommonConfig) {\n PopsContextMenu.closeAllMenu(layerCommonConfig.popsElement);\n },\n });\n }\n },\n /**\n * 添加contextmenu事件\n * @param target 目标\n * @param selector 子元素选择器\n */\n addContextMenuEvent(target, selector) {\n popsDOMUtils.on(target, \"contextmenu\", selector, PopsContextMenu.contextMenuEvent);\n },\n /**\n * 移除contextmenu事件\n * @param target 目标\n * @param selector 子元素选择器\n */\n removeContextMenuEvent(target, selector) {\n popsDOMUtils.off(target, \"contextmenu\", selector, PopsContextMenu.contextMenuEvent);\n },\n /**\n * 自动判断是否存在动画,存在动画就执行关闭动画并删除\n * @param element\n */\n animationCloseMenu(element) {\n /**\n * 动画结束触发的事件\n */\n function transitionEndEvent(event) {\n popsDOMUtils.off(element, popsDOMUtils.getTransitionEndNameList(), void 0, transitionEndEvent, {\n capture: true,\n });\n element.remove();\n }\n if (element.classList.contains(`pops-${PopsType}-anim-show`)) {\n /* 有动画 */\n popsDOMUtils.on(element, popsDOMUtils.getTransitionEndNameList(), void 0, transitionEndEvent, {\n capture: true,\n });\n element.classList.remove(`pops-${PopsType}-anim-show`);\n }\n else {\n /* 无动画 */\n element.remove();\n }\n },\n /**\n * 关闭所有菜单\n * @param rootElement\n */\n closeAllMenu(rootElement) {\n if (rootElement == null) {\n return;\n }\n if (rootElement?.[\"__menuData__\"]?.root) {\n rootElement = rootElement?.[\"__menuData__\"]?.root;\n }\n let childMenuList = rootElement[\"__menuData__\"]\n .child;\n childMenuList.forEach((childMenuElement) => {\n this.animationCloseMenu(childMenuElement);\n });\n this.animationCloseMenu(rootElement);\n PopsContextMenu.rootElement = null;\n },\n /**\n * 获取菜单容器\n * @param isChildren 是否是rightClickMenu的某一项的子菜单\n */\n getMenuContainerElement(isChildren) {\n let $menu = popsDOMUtils.createElement(\"div\", {\n className: `pops-${PopsType}`,\n innerHTML: /*html*/ `\r\n\t\t\t\t\t<ul></ul>\r\n\t\t\t\t\t`,\n });\n let zIndex = this.getMenuZIndex();\n if (zIndex > 10000) {\n $menu.style.zIndex = zIndex.toString();\n }\n if (isChildren) {\n $menu.setAttribute(\"is-children\", \"true\");\n }\n /* 添加动画 */\n if (config.isAnimation) {\n popsDOMUtils.addClassName($menu, `pops-${PopsType}-anim-grid`);\n }\n return $menu;\n },\n /**\n * 动态获取配的z-index\n */\n getMenuZIndex() {\n return PopsHandler.handleZIndex(config.zIndex);\n },\n /**\n * 获取left、top偏移\n * @param menuElement 菜单元素\n * @param x\n * @param y\n */\n getOffset(menuElement, x, y) {\n let menuElementWidth = popsDOMUtils.width(menuElement);\n let menuElementHeight = popsDOMUtils.height(menuElement);\n /* left最大偏移 */\n let maxLeftOffset = popsDOMUtils.width(globalThis) - menuElementWidth - 1;\n /* top最大偏移 */\n let maxTopOffset = popsDOMUtils.height(globalThis) - menuElementHeight - 8;\n let currentLeftOffset = x;\n let currentTopOffset = y;\n /* 不允许超出left最大值 */\n currentLeftOffset = currentLeftOffset < 0 ? 0 : currentLeftOffset;\n currentLeftOffset =\n currentLeftOffset < maxLeftOffset ? currentLeftOffset : maxLeftOffset;\n /* 不允许超出top最大值 */\n currentTopOffset = currentTopOffset < 0 ? 0 : currentTopOffset;\n currentTopOffset =\n currentTopOffset < maxTopOffset ? currentTopOffset : maxTopOffset;\n return {\n left: currentLeftOffset,\n top: currentTopOffset,\n };\n },\n /**\n * 显示菜单\n * @param menuEvent 触发的事件\n * @param _config_\n */\n showMenu(menuEvent, _config_) {\n let menuElement = this.getMenuContainerElement(false);\n Reflect.set(menuElement, \"__menuData__\", {\n child: [],\n });\n PopsContextMenu.addMenuLiELement(menuEvent, menuElement, menuElement, _config_);\n /* 先隐藏 */\n popsDOMUtils.css(menuElement, {\n display: \"none\",\n });\n popsDOMUtils.append($shadowRoot, menuElement);\n /* 添加到页面 */\n if (!document.contains($shadowContainer)) {\n if (typeof config.beforeAppendToPageCallBack === \"function\") {\n config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);\n }\n popsDOMUtils.appendBody($shadowContainer);\n }\n let { left: menuLeftOffset, top: menuTopOffset } = this.getOffset(menuElement, menuEvent.clientX, menuEvent.clientY);\n popsDOMUtils.css(menuElement, {\n left: menuLeftOffset,\n top: menuTopOffset,\n display: \"\",\n });\n /* 过渡动画 */\n if (config.isAnimation) {\n popsDOMUtils.addClassName(menuElement, `pops-${PopsType}-anim-show`);\n }\n return menuElement;\n },\n /**\n * 显示子菜单\n * @param menuEvent 事件\n * @param posInfo 位置信息\n * @param _config_\n * @param rootElement 根菜单元素\n * @param targetLiElement 父li项元素\n */\n showClildMenu(menuEvent, posInfo, _config_, rootElement, targetLiElement) {\n let menuElement = this.getMenuContainerElement(true);\n Reflect.set(menuElement, \"__menuData__\", {\n parent: targetLiElement,\n root: rootElement,\n });\n // 根菜单数据\n let rootElementMenuData = Reflect.get(rootElement, \"__menuData__\");\n rootElementMenuData.child.push(menuElement);\n PopsContextMenu.addMenuLiELement(menuEvent, rootElement, menuElement, _config_);\n /* 先隐藏 */\n popsDOMUtils.css(menuElement, {\n display: \"none\",\n });\n /* 添加到页面 */\n popsDOMUtils.append($shadowRoot, menuElement);\n let { left: menuLeftOffset, top: menuTopOffset } = this.getOffset(menuElement, posInfo.clientX, posInfo.clientY);\n popsDOMUtils.css(menuElement, {\n left: menuLeftOffset,\n top: menuTopOffset,\n display: \"\",\n });\n /* 过渡动画 */\n if (config.isAnimation) {\n popsDOMUtils.addClassName(menuElement, `pops-${PopsType}-anim-show`);\n }\n return menuElement;\n },\n /**\n * 获取菜单项的元素\n * @param menuEvent 事件\n * @param rootElement 根元素\n * @param menuElement 菜单元素\n * @param _config_ 配置\n */\n addMenuLiELement(menuEvent, rootElement, menuElement, _config_) {\n let menuEventTarget = menuEvent.target;\n let menuULElement = menuElement.querySelector(\"ul\");\n _config_.forEach((item) => {\n let menuLiElement = popsUtils.parseTextToDOM(`<li></li>`);\n /* 判断有无图标,有就添加进去 */\n if (typeof item.icon === \"string\" && item.icon.trim() !== \"\") {\n let iconSVGHTML = pops.config.iconSVG[item.icon] ?? item.icon;\n let iconElement = popsUtils.parseTextToDOM(`<i class=\"pops-${PopsType}-icon\" is-loading=\"${item.iconIsLoading}\">${iconSVGHTML}</i>`);\n menuLiElement.appendChild(iconElement);\n }\n /* 插入文字 */\n menuLiElement.insertAdjacentHTML(\"beforeend\", `<span>${item.text}</span>`);\n /* 如果存在子数据,显示 */\n if (item.item && Array.isArray(item.item)) {\n popsDOMUtils.addClassName(menuLiElement, `pops-${PopsType}-item`);\n }\n /* 鼠标|触摸 移入事件 */\n function liElementHoverEvent() {\n Array.from(menuULElement.children).forEach((liElement) => {\n popsDOMUtils.removeClassName(liElement, `pops-${PopsType}-is-visited`);\n if (!liElement.__menuData__) {\n return;\n }\n function removeElement(element) {\n element.querySelectorAll(\"ul li\").forEach((ele) => {\n if (ele?.__menuData__?.child) {\n removeElement(ele.__menuData__.child);\n }\n });\n element.remove();\n }\n /* 遍历根元素的上的__menuData__.child,判断 */\n removeElement(liElement.__menuData__.child);\n });\n /* 清理根元素上的children不存在于页面中的元素 */\n for (let index = 0; index < rootElement.__menuData__.child.length; index++) {\n let element = rootElement.__menuData__.child[index];\n if (!$shadowRoot.contains(element)) {\n rootElement.__menuData__.child.splice(index, 1);\n index--;\n }\n }\n popsDOMUtils.addClassName(menuLiElement, `pops-${PopsType}-is-visited`);\n if (!item.item) {\n return;\n }\n let rect = menuLiElement.getBoundingClientRect();\n let childMenu = PopsContextMenu.showClildMenu(menuEvent, {\n clientX: rect.left + popsDOMUtils.outerWidth(menuLiElement),\n clientY: rect.top,\n }, item.item, rootElement, menuLiElement);\n menuLiElement.__menuData__ = {\n child: childMenu,\n };\n }\n /**\n * 点击事件\n * @param clickEvent\n * @returns\n */\n async function liElementClickEvent(clickEvent) {\n if (typeof item.callback === \"function\") {\n OriginPrototype.Object.defineProperty(menuEvent, \"target\", {\n get() {\n return menuEventTarget;\n },\n });\n let callbackResult = await item.callback(clickEvent, menuEvent, menuLiElement);\n if (typeof callbackResult === \"boolean\" &&\n callbackResult == false) {\n return;\n }\n }\n /* 取消绑定的鼠标/触摸事件,防止关闭的时候再次触发 */\n Array.from(menuULElement.children).forEach((liEle) => {\n popsDOMUtils.off(liEle, \"mouseenter touchstart\");\n });\n PopsContextMenu.closeAllMenu(rootElement);\n }\n popsDOMUtils.on(menuLiElement, \"mouseenter touchstart\", void 0, liElementHoverEvent);\n /* 项-点击事件 */\n popsDOMUtils.on(menuLiElement, \"click\", void 0, liElementClickEvent);\n menuULElement.appendChild(menuLiElement);\n });\n },\n };\n // 添加右键菜单事件\n PopsContextMenu.addContextMenuEvent(config.target, config.targetSelector);\n // 添加全局点击检测\n PopsContextMenu.addWindowCheckClickListener();\n return {\n guid: guid,\n config: config,\n removeWindowCheckClickListener: PopsContextMenu.removeWindowCheckClickListener,\n addWindowCheckClickListener: PopsContextMenu.addWindowCheckClickListener,\n removeContextMenuEvent: PopsContextMenu.removeContextMenuEvent,\n addContextMenuEvent: PopsContextMenu.addContextMenuEvent,\n };\n }\n}\n","export const searchSuggestionConfig = () => {\n return {\n // @ts-ignore\n target: null,\n // @ts-ignore\n inputTarget: null,\n selfDocument: document,\n data: [\n {\n value: \"数据1\",\n text: \"数据1-html\",\n },\n {\n value: \"数据2\",\n text: \"数据2-html\",\n },\n ],\n deleteIcon: {\n enable: true,\n callback(event, liElement, data) {\n console.log(\"删除当前项\", [event, liElement, data]);\n liElement.remove();\n },\n },\n className: \"\",\n isAbsolute: true,\n isAnimation: true,\n width: \"250px\",\n maxHeight: \"300px\",\n followTargetWidth: true,\n topDistance: 0,\n position: \"auto\",\n positionTopToReverse: true,\n zIndex: 10000,\n searchingTip: \"正在搜索中...\",\n toSearhNotResultHTML: '<li data-none=\"true\">暂无其它数据</li>',\n toHideWithNotResult: false,\n followPosition: \"target\",\n getItemHTML(item) {\n return item.text ?? item;\n },\n async getData(value) {\n console.log(\"当前输入框的值是:\", value);\n return [];\n },\n itemClickCallBack(event, liElement, data) {\n console.log(\"item项的点击回调\", [event, liElement, data]);\n this.inputTarget.value = data.value;\n },\n selectCallBack(event, liElement, data) {\n console.log(\"item项的选中回调\", [event, liElement, data]);\n },\n style: \"\",\n };\n};\n","import { PopsHandler } from \"../../handler/PopsHandler\";\nimport { pops } from \"../../Pops\";\nimport { popsDOMUtils } from \"../../utils/PopsDOMUtils\";\nimport { popsUtils } from \"../../utils/PopsUtils\";\nimport { searchSuggestionConfig as PopsSearchSuggestionConfig } from \"./config\";\nimport { GlobalConfig } from \"../../GlobalConfig\";\nexport class PopsSearchSuggestion {\n constructor(details) {\n const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow();\n PopsHandler.handleInit($shadowRoot, [\n pops.config.cssText.index,\n pops.config.cssText.anim,\n pops.config.cssText.common,\n ]);\n let config = PopsSearchSuggestionConfig();\n config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());\n config = popsUtils.assign(config, details);\n if (config.target == null) {\n throw new TypeError(\"config.target 不能为空\");\n }\n /* 做下兼容处理 */\n if (config.inputTarget == null) {\n config.inputTarget = config.target;\n }\n if (details.data) {\n config.data = details.data;\n }\n const guid = popsUtils.getRandomGUID();\n const PopsType = \"searchSuggestion\";\n if (config.style != null) {\n let cssNode = document.createElement(\"style\");\n cssNode.setAttribute(\"type\", \"text/css\");\n cssNode.innerHTML = config.style;\n $shadowRoot.appendChild(cssNode);\n }\n const SearchSuggestion = {\n /**\n * 当前的环境,可以是document,可以是shadowroot,默认是document\n */\n selfDocument: config.selfDocument,\n $el: {\n /** 根元素 */\n root: null,\n /** ul元素 */\n $hintULContainer: null,\n /** 动态更新CSS */\n $dynamicCSS: null,\n },\n $data: {\n /** 是否结果为空 */\n isEmpty: true,\n },\n /**\n * 初始化\n */\n init(parentElement = document.body || document.documentElement) {\n this.initEl();\n SearchSuggestion.update(typeof config.data === \"function\" ? config.data() : config.data);\n SearchSuggestion.updateDynamicCSS();\n SearchSuggestion.changeHintULElementWidth();\n SearchSuggestion.changeHintULElementPosition();\n SearchSuggestion.hide();\n if (config.isAnimation) {\n SearchSuggestion.$el.root.classList.add(`pops-${PopsType}-animation`);\n }\n $shadowRoot.appendChild(SearchSuggestion.$el.root);\n parentElement.appendChild($shadowContainer);\n },\n /** 初始化元素变量 */\n initEl() {\n this.$el.root = SearchSuggestion.getSearchSelectElement();\n this.$el.$dynamicCSS = this.$el.root.querySelector(\"style[data-dynamic]\");\n this.$el.$hintULContainer =\n SearchSuggestion.$el.root.querySelector(\"ul\");\n },\n /**\n * 获取显示出搜索建议框的html\n */\n getSearchSelectElement() {\n let element = popsDOMUtils.createElement(\"div\", {\n className: `pops pops-${PopsType}-search-suggestion`,\n innerHTML: /*html*/ `\r\n\t\t\t\t\t\t<style data-dynamic=\"true\">\r\n\t\t\t\t\t\t\t${this.getDynamicCSS()}\r\n\t\t\t\t\t\t</style>\r\n\t\t\t\t\t\t<ul class=\"pops-${PopsType}-search-suggestion-hint\">\r\n\t\t\t\t\t\t\t${config.toSearhNotResultHTML}\r\n\t\t\t\t\t\t</ul>\r\n \t\t\t\t `,\n }, {\n \"data-guid\": guid,\n \"type-value\": PopsType,\n });\n if (config.className !== \"\" && config.className != null) {\n popsDOMUtils.addClassName(element, config.className);\n }\n return element;\n },\n /** 动态获取CSS */\n getDynamicCSS() {\n return /*css*/ `\r\n\t\t\t\t.pops-${PopsType}-animation{\r\n\t\t\t\t\t-moz-animation: searchSelectFalIn 0.5s 1 linear;\r\n\t\t\t\t\t-webkit-animation: searchSelectFalIn 0.5s 1 linear;\r\n\t\t\t\t\t-o-animation: searchSelectFalIn 0.5s 1 linear;\r\n\t\t\t\t\t-ms-animation: searchSelectFalIn 0.5s 1 linear;\r\n\t\t\t\t}\r\n\t\t\t\t.pops-${PopsType}-search-suggestion{\r\n\t\t\t\t\tborder: initial;\r\n\t\t\t\t\toverflow: initial;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint{\r\n\t\t\t\t\tposition: ${config.isAbsolute ? \"absolute\" : \"fixed\"};\r\n\t\t\t\t\tz-index: ${PopsHandler.handleZIndex(config.zIndex)};\r\n\t\t\t\t\twidth: 0;\r\n\t\t\t\t\tleft: 0;\r\n\t\t\t\t\tmax-height: ${config.maxHeight};\r\n\t\t\t\t\toverflow-x: hidden;\r\n\t\t\t\t\toverflow-y: auto;\r\n\t\t\t\t\tpadding: 5px 0;\r\n\t\t\t\t\tbackground-color: #fff;\r\n\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\tborder-radius: 4px;\r\n\t\t\t\t\tbox-shadow: 0 1px 6px rgb(0 0 0 / 20%);\r\n\t\t\t\t}\r\n\t\t\t\t/* 建议框在上面时 */\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint[data-top-reverse]{\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column-reverse;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint[data-top-reverse] li{\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint li{\r\n\t\t\t\t\tpadding: 7px;\r\n\t\t\t\t\tmargin: 0;\r\n\t\t\t\t\tclear: both;\r\n\t\t\t\t\tcolor: #515a6e;\r\n\t\t\t\t\tfont-size: 14px;\r\n\t\t\t\t\tlist-style: none;\r\n\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\ttransition: background .2s ease-in-out;\r\n\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t\ttext-overflow: ellipsis;\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint li[data-none]{\r\n\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\tfont-size: 12px;\r\n\t\t\t\t\tcolor: #8e8e8e;\r\n\t\t\t\t}\r\n\t\t\t\tul.pops-${PopsType}-search-suggestion-hint li:hover{\r\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, .1);\r\n\t\t\t\t}\r\n\t\t\t\t`;\n },\n /**\n * 获取显示出搜索建议框的每一项的html\n * @param data 当前项的值\n * @param index 当前项的下标\n */\n getSearchItemLiElement(data, index) {\n return popsDOMUtils.createElement(\"li\", {\n className: `pops-${PopsType}-search-suggestion-hint-item pops-flex-items-center pops-flex-y-center`,\n \"data-index\": index,\n \"data-value\": SearchSuggestion.getItemDataValue(data),\n innerHTML: `\r\n \t\t\t${config.getItemHTML(data)}\r\n \t\t\t${config.deleteIcon.enable\n ? SearchSuggestion.getDeleteIconHTML()\n : \"\"}\r\n \t\t\t`,\n });\n },\n /**\n * 获取data-value值\n * @param data\n */\n getItemDataValue(data) {\n return data;\n },\n /**\n * 设置搜索建议框每一项的点击事件\n * @param liElement\n */\n setSearchItemClickEvent(liElement) {\n popsDOMUtils.on(liElement, \"click\", void 0, (event) => {\n popsDOMUtils.preventEvent(event);\n let $click = event.target;\n if ($click.closest(`.pops-${PopsType}-delete-icon`)) {\n /* 点击的是删除按钮 */\n if (typeof config.deleteIcon.callback === \"function\") {\n config.deleteIcon.callback(event, liElement, liElement[\"data-value\"]);\n }\n if (!this.$el.$hintULContainer.children.length) {\n /* 全删完了 */\n this.clear();\n }\n }\n else {\n /* 点击项主体 */\n config.itemClickCallBack(event, liElement, liElement[\"data-value\"]);\n }\n }, {\n capture: true,\n });\n },\n /**\n * 设置搜索建议框每一项的选中事件\n * @param liElement\n */\n setSearchItemSelectEvent(liElement) {\n // popsDOMUtils.on(\n // \tliElement,\n // \t\"keyup\",\n // \tvoid 0,\n // \t(event) => {\n // \t\tlet value = liElement[\"data-value\"];\n // \t\tconfig.selectCallBack(event, liElement, value);\n // \t},\n // \t{\n // \t\tcapture: true,\n // \t}\n // );\n },\n /**\n * 监听输入框内容改变\n */\n setInputChangeEvent(option = {\n capture: true,\n }) {\n /* 必须是input或者textarea才有input事件 */\n if (!(config.inputTarget instanceof HTMLInputElement ||\n config.inputTarget instanceof HTMLTextAreaElement)) {\n return;\n }\n /* 是input输入框 */\n /* 禁用输入框自动提示 */\n config.inputTarget.setAttribute(\"autocomplete\", \"off\");\n /* 内容改变事件 */\n popsDOMUtils.on(config.inputTarget, \"input\", void 0, async (event) => {\n let getListResult = await config.getData(event.target.value);\n SearchSuggestion.update(getListResult);\n }, option);\n },\n /**\n * 移除输入框内容改变的监听\n */\n removeInputChangeEvent(option = {\n capture: true,\n }) {\n popsDOMUtils.off(config.inputTarget, \"input\", void 0, void 0, option);\n },\n /**\n * 显示搜索建议框的事件\n */\n showEvent() {\n SearchSuggestion.updateDynamicCSS();\n SearchSuggestion.changeHintULElementWidth();\n SearchSuggestion.changeHintULElementPosition();\n if (config.toHideWithNotResult) {\n if (SearchSuggestion.$data.isEmpty) {\n SearchSuggestion.hide();\n }\n else {\n SearchSuggestion.show();\n }\n }\n else {\n SearchSuggestion.show();\n }\n },\n /**\n * 设置显示搜索建议框的事件\n */\n setShowEvent(option = {\n capture: true,\n }) {\n /* 焦点|点击事件*/\n if (config.followPosition === \"target\") {\n popsDOMUtils.on([config.target], [\"focus\", \"click\"], void 0, SearchSuggestion.showEvent, option);\n }\n else if (config.followPosition === \"input\") {\n popsDOMUtils.on([config.inputTarget], [\"focus\", \"click\"], void 0, SearchSuggestion.showEvent, option);\n }\n else if (config.followPosition === \"inputCursor\") {\n popsDOMUtils.on([config.inputTarget], [\"focus\", \"click\", \"input\"], void 0, SearchSuggestion.showEvent, option);\n }\n else {\n throw new TypeError(\"未知followPosition:\" + config.followPosition);\n }\n },\n /**\n * 移除显示搜索建议框的事件\n */\n removeShowEvent(option = {\n capture: true,\n }) {\n /* 焦点|点击事件*/\n popsDOMUtils.off([config.target, config.inputTarget], [\"focus\", \"click\"], void 0, SearchSuggestion.showEvent, option);\n /* 内容改变事件 */\n popsDOMUtils.off([config.inputTarget], [\"input\"], void 0, SearchSuggestion.showEvent, option);\n },\n /**\n * 隐藏搜索建议框的事件\n * @param event\n */\n hideEvent(event) {\n if (event.target instanceof Node) {\n if ($shadowContainer.contains(event.target)) {\n /* 点击在shadow上的 */\n return;\n }\n if (config.target.contains(event.target)) {\n /* 点击在目标元素内 */\n return;\n }\n if (config.inputTarget.contains(event.target)) {\n /* 点击在目标input内 */\n return;\n }\n SearchSuggestion.hide();\n }\n },\n /**\n * 设置隐藏搜索建议框的事件\n */\n setHideEvent(option = {\n capture: true,\n }) {\n /* 全局点击事件 */\n /* 全局触摸屏点击事件 */\n if (Array.isArray(SearchSuggestion.selfDocument)) {\n SearchSuggestion.selfDocument.forEach(($checkParent) => {\n popsDOMUtils.on($checkParent, [\"click\", \"touchstart\"], void 0, SearchSuggestion.hideEvent, option);\n });\n }\n else {\n popsDOMUtils.on(SearchSuggestion.selfDocument, [\"click\", \"touchstart\"], void 0, SearchSuggestion.hideEvent, option);\n }\n },\n /**\n * 移除隐藏搜索建议框的事件\n */\n removeHideEvent(option = {\n capture: true,\n }) {\n if (Array.isArray(SearchSuggestion.selfDocument)) {\n SearchSuggestion.selfDocument.forEach(($checkParent) => {\n popsDOMUtils.off($checkParent, [\"click\", \"touchstart\"], void 0, SearchSuggestion.hideEvent, option);\n });\n }\n else {\n popsDOMUtils.off(SearchSuggestion.selfDocument, [\"click\", \"touchstart\"], void 0, SearchSuggestion.hideEvent, option);\n }\n },\n /**\n * 设置所有监听\n */\n setAllEvent(option = {\n capture: true,\n }) {\n SearchSuggestion.setInputChangeEvent(option);\n SearchSuggestion.setHideEvent(option);\n SearchSuggestion.setShowEvent(option);\n },\n /**\n * 移除所有监听\n */\n removeAllEvent(option = {\n capture: true,\n }) {\n SearchSuggestion.removeInputChangeEvent(option);\n SearchSuggestion.removeHideEvent(option);\n SearchSuggestion.removeShowEvent(option);\n },\n /**\n * 获取删除按钮的html\n */\n getDeleteIconHTML(size = 16, fill = \"#bababa\") {\n return /*html*/ `\r\n\t\t\t\t<svg class=\"pops-${PopsType}-delete-icon\" viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" width=\"${size}\" height=\"${size}\" fill=\"${fill}\">\r\n\t\t\t\t\t<path d=\"M512 883.2A371.2 371.2 0 1 0 140.8 512 371.2 371.2 0 0 0 512 883.2z m0 64a435.2 435.2 0 1 1 435.2-435.2 435.2 435.2 0 0 1-435.2 435.2z\"></path>\r\n\t\t\t\t\t<path d=\"M557.056 512l122.368 122.368a31.744 31.744 0 1 1-45.056 45.056L512 557.056l-122.368 122.368a31.744 31.744 0 1 1-45.056-45.056L466.944 512 344.576 389.632a31.744 31.744 0 1 1 45.056-45.056L512 466.944l122.368-122.368a31.744 31.744 0 1 1 45.056 45.056z\"></path>\r\n\t\t\t\t</svg>\r\n \t`;\n },\n /**\n * 设置当前正在搜索中的提示\n */\n setPromptsInSearch() {\n let isSearchingElement = popsDOMUtils.createElement(\"li\", {\n className: `pops-${PopsType}-search-suggestion-hint-searching-item`,\n innerHTML: config.searchingTip,\n });\n SearchSuggestion.$el.$hintULContainer.appendChild(isSearchingElement);\n },\n /**\n * 移除正在搜索中的提示\n */\n removePromptsInSearch() {\n SearchSuggestion.$el.$hintULContainer\n .querySelector(`li.pops-${PopsType}-search-suggestion-hint-searching-item`)\n ?.remove();\n },\n /**\n * 清空所有的搜索结果\n */\n clearAllSearchItemLi() {\n SearchSuggestion.$el.$hintULContainer.innerHTML = \"\";\n },\n /**\n * 更新搜索建议框的位置(top、left)\n * 因为目标元素可能是动态隐藏的\n */\n changeHintULElementPosition(target = config.target ?? config.inputTarget) {\n let targetRect = null;\n if (config.followPosition === \"inputCursor\") {\n targetRect = popsDOMUtils.getTextBoundingRect(config.inputTarget, config.inputTarget.selectionStart || 0, config.inputTarget.selectionEnd || 0, false);\n }\n else {\n targetRect = config.isAbsolute\n ? popsDOMUtils.offset(target)\n : target.getBoundingClientRect();\n }\n if (targetRect == null) {\n return;\n }\n // 文档最大高度\n let documentHeight = document.documentElement.clientHeight;\n if (config.isAbsolute) {\n // 绝对定位\n documentHeight = popsDOMUtils.height(document);\n }\n // 文档最大宽度\n let documentWidth = popsDOMUtils.width(document);\n let position = config.position;\n if (config.position === \"auto\") {\n // 需目标高度+搜索建议框高度大于文档高度,则显示在上面\n let targetBottom = targetRect.bottom;\n let searchSuggestionContainerHeight = popsDOMUtils.height(SearchSuggestion.$el.$hintULContainer);\n if (targetBottom + searchSuggestionContainerHeight > documentHeight) {\n // 在上面\n position = \"top\";\n }\n else {\n // 在下面\n position = \"bottom\";\n SearchSuggestion.$el.$hintULContainer.removeAttribute(\"data-top\");\n }\n }\n if (position === \"top\") {\n if (config.positionTopToReverse) {\n SearchSuggestion.$el.$hintULContainer.setAttribute(\"data-top-reverse\", \"true\");\n }\n // 在上面\n SearchSuggestion.$el.$hintULContainer.style.top = \"\";\n SearchSuggestion.$el.$hintULContainer.style.bottom =\n documentHeight - targetRect.top + config.topDistance + \"px\";\n }\n else if (position === \"bottom\") {\n // 在下面\n SearchSuggestion.$el.$hintULContainer.removeAttribute(\"data-top-reverse\");\n SearchSuggestion.$el.$hintULContainer.style.bottom = \"\";\n SearchSuggestion.$el.$hintULContainer.style.top =\n targetRect.height + targetRect.top + config.topDistance + \"px\";\n }\n let hintUIWidth = popsDOMUtils.width(SearchSuggestion.$el.$hintULContainer);\n SearchSuggestion.$el.$hintULContainer.style.left =\n (targetRect.left + hintUIWidth > documentWidth\n ? documentWidth - hintUIWidth\n : targetRect.left) + \"px\";\n },\n /**\n * 更新搜索建议框的width\n * 因为目标元素可能是动态隐藏的\n */\n changeHintULElementWidth(target = config.target ?? config.inputTarget) {\n let targetRect = target.getBoundingClientRect();\n if (config.followTargetWidth) {\n SearchSuggestion.$el.$hintULContainer.style.width =\n targetRect.width + \"px\";\n }\n else {\n SearchSuggestion.$el.$hintULContainer.style.width = config.width;\n }\n },\n /**\n * 动态更新CSS\n */\n updateDynamicCSS() {\n this.$el.$dynamicCSS.innerHTML = this.getDynamicCSS();\n },\n /**\n * 更新页面显示的搜索结果\n * @param data\n */\n update(data = []) {\n if (!Array.isArray(data)) {\n throw new TypeError(\"传入的数据不是数组\");\n }\n config.data = data;\n /* 清空已有的搜索结果 */\n if (config.data.length) {\n SearchSuggestion.$data.isEmpty = false;\n if (config.toHideWithNotResult) {\n SearchSuggestion.show();\n }\n SearchSuggestion.clearAllSearchItemLi();\n /* 添加进ul中 */\n config.data.forEach((item, index) => {\n let itemElement = SearchSuggestion.getSearchItemLiElement(item, index);\n SearchSuggestion.setSearchItemClickEvent(itemElement);\n SearchSuggestion.setSearchItemSelectEvent(itemElement);\n SearchSuggestion.$el.$hintULContainer.appendChild(itemElement);\n });\n }\n else {\n /* 清空 */\n SearchSuggestion.clear();\n }\n },\n /**\n * 清空当前的搜索结果并显示无结果\n */\n clear() {\n this.$data.isEmpty = true;\n this.clearAllSearchItemLi();\n this.$el.$hintULContainer.appendChild(popsUtils.parseTextToDOM(config.toSearhNotResultHTML));\n if (config.toHideWithNotResult) {\n this.hide();\n }\n },\n /**\n * 隐藏搜索建议框\n */\n hide() {\n this.$el.root.style.display = \"none\";\n },\n /**\n * 显示搜索建议框\n */\n show() {\n this.$el.root.style.display = \"\";\n },\n };\n return SearchSuggestion;\n }\n}\n","import { popsDOMUtils } from \"./utils/PopsDOMUtils\";\nimport { PopsInstanceUtils } from \"./utils/PopsInstanceUtils\";\nimport { popsUtils } from \"./utils/PopsUtils\";\nimport indexCSS from \"./css/index.css\";\nimport ninePalaceGridPositionCSS from \"./css/ninePalaceGridPosition.css\";\nimport scrollbarCSS from \"./css/scrollbar.css\";\nimport buttonCSS from \"./css/button.css\";\nimport commonCSS from \"./css/common.css\";\nimport animCSS from \"./css/animation.css\";\nimport alertCSS from \"./components/alert/index.css\";\nimport confirmCSS from \"./components/confirm/index.css\";\nimport promptCSS from \"./components/prompt/index.css\";\nimport loadingCSS from \"./components/loading/index.css\";\nimport iframeCSS from \"./components/iframe/index.css\";\nimport tooltipCSS from \"./components/tooltip/index.css\";\nimport drawerCSS from \"./components/drawer/index.css\";\nimport folderCSS from \"./components/folder/index.css\";\nimport panelCSS from \"./components/panel/index.css\";\nimport rightClickMenuCSS from \"./components/rightClickMenu/index.css\";\nimport SVG_min from \"./svg/min.svg\";\nimport SVG_mise from \"./svg/mise.svg\";\nimport SVG_max from \"./svg/max.svg\";\nimport SVG_close from \"./svg/close.svg\";\nimport SVG_edit from \"./svg/edit.svg\";\nimport SVG_share from \"./svg/share.svg\";\nimport SVG_delete from \"./svg/delete.svg\";\nimport SVG_search from \"./svg/search.svg\";\nimport SVG_upload from \"./svg/upload.svg\";\nimport SVG_loading from \"./svg/loading.svg\";\nimport SVG_next from \"./svg/next.svg\";\nimport SVG_prev from \"./svg/prev.svg\";\nimport SVG_eleme from \"./svg/eleme.svg\";\nimport SVG_elemePlus from \"./svg/elemePlus.svg\";\nimport SVG_chromeFilled from \"./svg/chromeFilled.svg\";\nimport SVG_cpu from \"./svg/cpu.svg\";\nimport SVG_videoPlay from \"./svg/videoPlay.svg\";\nimport SVG_videoPause from \"./svg/videoPause.svg\";\nimport SVG_headset from \"./svg/headset.svg\";\nimport SVG_monitor from \"./svg/monitor.svg\";\nimport SVG_documentCopy from \"./svg/documentCopy.svg\";\nimport SVG_picture from \"./svg/picture.svg\";\nimport SVG_circleClose from \"./svg/circleClose.svg\";\nimport SVG_view from \"./svg/view.svg\";\nimport SVG_hide from \"./svg/hide.svg\";\nimport SVG_keyboard from \"./svg/keyboard.svg\";\nimport SVG_arrowRight from \"./svg/arrowRight.svg\";\nimport SVG_arrowLeft from \"./svg/arrowLeft.svg\";\nimport { PopsCore } from \"./Core\";\nimport { PopsAlert } from \"./components/alert\";\nimport { PopsConfirm } from \"./components/confirm\";\nimport { PopsPrompt } from \"./components/prompt\";\nimport { PopsLoading } from \"./components/loading\";\nimport { PopsIframe } from \"./components/iframe\";\nimport { PopsTooltip } from \"./components/tooltip\";\nimport { PopsDrawer } from \"./components/drawer\";\nimport { PopsFolder } from \"./components/folder\";\nimport { PopsPanel } from \"./components/panel\";\nimport { PopsRightClickMenu } from \"./components/rightClickMenu\";\nimport { PopsSearchSuggestion } from \"./components/searchSuggestion\";\nimport { PopsMathFloatUtils } from \"./utils/PopsMathUtils\";\nimport { PanelHandleContentDetails } from \"./components/panel/PanelHandleContentDetails\";\nimport { GlobalConfig } from \"./GlobalConfig\";\nclass Pops {\n /** 配置 */\n config = {\n /** 版本号 */\n version: \"2024.10.1\",\n cssText: {\n /** 主CSS */\n index: indexCSS,\n /** 九宫格位置CSS */\n ninePalaceGridPosition: ninePalaceGridPositionCSS,\n /** 滚动条CSS */\n scrollbar: scrollbarCSS,\n /** 按钮CSS */\n button: buttonCSS,\n /** 通用的CSS */\n common: commonCSS,\n /** 动画 */\n anim: animCSS,\n /** pops.alert */\n alertCSS: alertCSS,\n /** pops.cponfirm */\n confirmCSS: confirmCSS,\n /** pops.prompt */\n promptCSS: promptCSS,\n /** pops.loading */\n loadingCSS: loadingCSS,\n /** pops.iframe */\n iframeCSS: iframeCSS,\n /** pops.tooltip */\n tooltipCSS: tooltipCSS,\n /** pops.drawer */\n drawerCSS: drawerCSS,\n /** pops.folder */\n folderCSS: folderCSS,\n /** pops.folder */\n panelCSS: panelCSS,\n /** pops.rightClickMenu */\n rightClickMenu: rightClickMenuCSS,\n },\n /** icon图标的svg代码 */\n iconSVG: {\n min: SVG_min,\n mise: SVG_mise,\n max: SVG_max,\n close: SVG_close,\n edit: SVG_edit,\n share: SVG_share,\n delete: SVG_delete,\n search: SVG_search,\n upload: SVG_upload,\n loading: SVG_loading,\n next: SVG_next,\n prev: SVG_prev,\n eleme: SVG_eleme,\n elemePlus: SVG_elemePlus,\n chromeFilled: SVG_chromeFilled,\n cpu: SVG_cpu,\n videoPlay: SVG_videoPlay,\n videoPause: SVG_videoPause,\n headset: SVG_headset,\n monitor: SVG_monitor,\n documentCopy: SVG_documentCopy,\n picture: SVG_picture,\n circleClose: SVG_circleClose,\n view: SVG_view,\n hide: SVG_hide,\n keyboard: SVG_keyboard,\n arrowRight: SVG_arrowRight,\n arrowLeft: SVG_arrowLeft,\n },\n /** 当前已配置的动画@keyframes名字映射(初始化时生成) */\n animation: {},\n /** 是否初始化 */\n isInit: false,\n /** 存储已创建的元素 */\n layer: {\n alert: [],\n confirm: [],\n prompt: [],\n loading: [],\n iframe: [],\n tooltip: [],\n drawer: [],\n folder: [],\n panel: [],\n rightClickMenu: [],\n },\n /** 禁止滚动 */\n forbiddenScroll: {\n event(event) {\n return popsDOMUtils.preventEvent(event);\n },\n },\n /** pops使用的工具类 */\n Utils: popsUtils,\n /** pops使用的DOM工具类 */\n DOMUtils: popsDOMUtils,\n /** pops创建的实例使用的工具类 */\n InstanceUtils: PopsInstanceUtils,\n /** pops处理float类型使用的工具类 */\n MathFloatUtils: PopsMathFloatUtils,\n /** pops.panel中用于处理各个类型的工具 */\n panelHandleContentUtils: PanelHandleContentDetails,\n };\n constructor() { }\n init() {\n if (!this.config.isInit) {\n /* 处理获取当前所有的动画名 */\n this.config.isInit = true;\n let animationStyle = document.createElement(\"style\");\n animationStyle.innerHTML = this.config.cssText.anim;\n popsDOMUtils.appendHead(animationStyle);\n this.config.animation = null;\n this.config.animation = PopsInstanceUtils.getKeyFrames(animationStyle.sheet);\n setTimeout(() => {\n animationStyle.remove();\n }, 50);\n }\n }\n /**\n * 释放原有的pops控制权\n * @example\n * let pops = window.pops.noConflict()\n */\n noConflict() {\n if (typeof PopsCore.globalThis.pops === \"object\") {\n popsUtils.delete(PopsCore.globalThis, \"pops\");\n }\n if (typeof unsafeWindow === \"object\" &&\n unsafeWindow != null &&\n typeof unsafeWindow.pops === \"object\") {\n popsUtils.delete(unsafeWindow, \"pops\");\n }\n return new Pops();\n }\n /**\n * 通过navigator.userAgent判断是否是手机访问\n * @param userAgent\n */\n isPhone(userAgent = PopsCore.globalThis.navigator.userAgent) {\n return Boolean(/(iPhone|iPad|iPod|iOS|Android)/i.test(userAgent));\n }\n /**\n * 为所有弹窗设置全局属性\n */\n GlobalConfig = GlobalConfig;\n /**\n * 普通信息框\n * @param details 配置\n */\n alert = (details) => {\n return new PopsAlert(details);\n };\n /**\n * 询问框\n * @param details 配置\n */\n confirm = (details) => {\n return new PopsConfirm(details);\n };\n /**\n * 输入框\n * @param details 配置\n */\n prompt = (details) => {\n return new PopsPrompt(details);\n };\n /**\n * 加载层\n * @param details 配置\n */\n loading = (details) => {\n return new PopsLoading(details);\n };\n /**\n * iframe层\n * @param details 配置\n */\n iframe = (details) => {\n return new PopsIframe(details);\n };\n /**\n * 提示框\n * @param details 配置\n */\n tooltip = (details) => {\n return new PopsTooltip(details);\n };\n /**\n * 抽屉\n * @param details 配置\n */\n drawer = (details) => {\n return new PopsDrawer(details);\n };\n /**\n * 文件夹\n * @param details 配置\n */\n folder = (details) => {\n return new PopsFolder(details);\n };\n /**\n * 配置面板\n * @param details 配置\n */\n panel = (details) => {\n return new PopsPanel(details);\n };\n /**\n * 右键菜单\n * @param details 配置\n */\n rightClickMenu = (details) => {\n return new PopsRightClickMenu(details);\n };\n /**\n * 搜索建议\n * @param details 配置\n */\n searchSuggestion = (details) => {\n return new PopsSearchSuggestion(details);\n };\n}\nconst pops = new Pops();\nexport { pops };\n"],"names":["OriginPrototype","PopsRightClickMenuConfig","PopsSearchSuggestionConfig"],"mappings":"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"}
|