@mnykj/wangeditoroptimize-table-module 1.0.0
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/README.md +3 -0
- package/dist/css/style.css +1 -0
- package/dist/index.esm.js +3389 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/table-module/src/constants/svg.d.ts +17 -0
- package/dist/table-module/src/index.d.ts +8 -0
- package/dist/table-module/src/locale/en.d.ts +17 -0
- package/dist/table-module/src/locale/index.d.ts +5 -0
- package/dist/table-module/src/locale/zh-CN.d.ts +17 -0
- package/dist/table-module/src/module/custom-types.d.ts +22 -0
- package/dist/table-module/src/module/elem-to-html.d.ts +21 -0
- package/dist/table-module/src/module/helpers.d.ts +22 -0
- package/dist/table-module/src/module/index.d.ts +7 -0
- package/dist/table-module/src/module/menu/DeleteCol.d.ts +15 -0
- package/dist/table-module/src/module/menu/DeleteRow.d.ts +15 -0
- package/dist/table-module/src/module/menu/DeleteTable.d.ts +15 -0
- package/dist/table-module/src/module/menu/FullWidth.d.ts +15 -0
- package/dist/table-module/src/module/menu/InsertCol.d.ts +15 -0
- package/dist/table-module/src/module/menu/InsertRow.d.ts +15 -0
- package/dist/table-module/src/module/menu/InsertTable.d.ts +24 -0
- package/dist/table-module/src/module/menu/TableHeader.d.ts +15 -0
- package/dist/table-module/src/module/menu/index.d.ts +44 -0
- package/dist/table-module/src/module/parse-elem-html.d.ts +24 -0
- package/dist/table-module/src/module/plugin.d.ts +7 -0
- package/dist/table-module/src/module/pre-parse-html.d.ts +15 -0
- package/dist/table-module/src/module/render-elem/index.d.ts +19 -0
- package/dist/table-module/src/module/render-elem/render-cell.d.ts +9 -0
- package/dist/table-module/src/module/render-elem/render-row.d.ts +9 -0
- package/dist/table-module/src/module/render-elem/render-table.d.ts +9 -0
- package/dist/table-module/src/utils/dom.d.ts +26 -0
- package/dist/table-module/src/utils/util.d.ts +10 -0
- package/package.json +52 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/locale/en.ts","../src/locale/zh-CN.ts","../src/locale/index.ts","../../../node_modules/core-js/internals/global.js","../../../node_modules/core-js/internals/fails.js","../../../node_modules/core-js/internals/descriptors.js","../../../node_modules/core-js/internals/function-call.js","../../../node_modules/core-js/internals/object-property-is-enumerable.js","../../../node_modules/core-js/internals/create-property-descriptor.js","../../../node_modules/core-js/internals/function-uncurry-this.js","../../../node_modules/core-js/internals/classof-raw.js","../../../node_modules/core-js/internals/indexed-object.js","../../../node_modules/core-js/internals/require-object-coercible.js","../../../node_modules/core-js/internals/to-indexed-object.js","../../../node_modules/core-js/internals/is-callable.js","../../../node_modules/core-js/internals/is-object.js","../../../node_modules/core-js/internals/get-built-in.js","../../../node_modules/core-js/internals/object-is-prototype-of.js","../../../node_modules/core-js/internals/engine-user-agent.js","../../../node_modules/core-js/internals/engine-v8-version.js","../../../node_modules/core-js/internals/native-symbol.js","../../../node_modules/core-js/internals/use-symbol-as-uid.js","../../../node_modules/core-js/internals/is-symbol.js","../../../node_modules/core-js/internals/try-to-string.js","../../../node_modules/core-js/internals/a-callable.js","../../../node_modules/core-js/internals/get-method.js","../../../node_modules/core-js/internals/ordinary-to-primitive.js","../../../node_modules/core-js/internals/set-global.js","../../../node_modules/core-js/internals/shared-store.js","../../../node_modules/core-js/internals/shared.js","../../../node_modules/core-js/internals/to-object.js","../../../node_modules/core-js/internals/has-own-property.js","../../../node_modules/core-js/internals/uid.js","../../../node_modules/core-js/internals/well-known-symbol.js","../../../node_modules/core-js/internals/to-primitive.js","../../../node_modules/core-js/internals/to-property-key.js","../../../node_modules/core-js/internals/document-create-element.js","../../../node_modules/core-js/internals/ie8-dom-define.js","../../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js/internals/an-object.js","../../../node_modules/core-js/internals/object-define-property.js","../../../node_modules/core-js/internals/create-non-enumerable-property.js","../../../node_modules/core-js/internals/inspect-source.js","../../../node_modules/core-js/internals/native-weak-map.js","../../../node_modules/core-js/internals/shared-key.js","../../../node_modules/core-js/internals/hidden-keys.js","../../../node_modules/core-js/internals/internal-state.js","../../../node_modules/core-js/internals/function-name.js","../../../node_modules/core-js/internals/redefine.js","../../../node_modules/core-js/internals/to-integer-or-infinity.js","../../../node_modules/core-js/internals/to-absolute-index.js","../../../node_modules/core-js/internals/to-length.js","../../../node_modules/core-js/internals/length-of-array-like.js","../../../node_modules/core-js/internals/array-includes.js","../../../node_modules/core-js/internals/object-keys-internal.js","../../../node_modules/core-js/internals/enum-bug-keys.js","../../../node_modules/core-js/internals/object-get-own-property-names.js","../../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../../node_modules/core-js/internals/own-keys.js","../../../node_modules/core-js/internals/copy-constructor-properties.js","../../../node_modules/core-js/internals/is-forced.js","../../../node_modules/core-js/internals/export.js","../../../node_modules/core-js/internals/to-string-tag-support.js","../../../node_modules/core-js/internals/classof.js","../../../node_modules/core-js/internals/to-string.js","../../../node_modules/core-js/internals/create-html.js","../../../node_modules/core-js/internals/string-html-forced.js","../../../node_modules/core-js/modules/es.string.anchor.js","../../../node_modules/core-js/internals/regexp-flags.js","../../../node_modules/core-js/internals/regexp-sticky-helpers.js","../../../node_modules/core-js/internals/object-keys.js","../../../node_modules/core-js/internals/object-define-properties.js","../../../node_modules/core-js/internals/html.js","../../../node_modules/core-js/internals/object-create.js","../../../node_modules/core-js/internals/regexp-unsupported-dot-all.js","../../../node_modules/core-js/internals/regexp-unsupported-ncg.js","../../../node_modules/core-js/internals/regexp-exec.js","../../../node_modules/core-js/modules/es.regexp.exec.js","../../../node_modules/core-js/internals/is-array.js","../../../node_modules/core-js/internals/is-constructor.js","../../../node_modules/core-js/internals/create-property.js","../../../node_modules/core-js/internals/array-method-has-species-support.js","../../../node_modules/core-js/internals/array-slice.js","../../../node_modules/core-js/modules/es.array.slice.js","../src/module/plugin.ts","../../../node_modules/core-js/internals/array-method-is-strict.js","../../../node_modules/core-js/modules/es.array.join.js","../../../node_modules/core-js/internals/function-bind-context.js","../../../node_modules/core-js/internals/array-species-constructor.js","../../../node_modules/core-js/internals/array-species-create.js","../../../node_modules/core-js/internals/array-iteration.js","../../../node_modules/core-js/modules/es.array.filter.js","../../../node_modules/core-js/internals/object-to-string.js","../../../node_modules/core-js/modules/es.object.to-string.js","../../../node_modules/core-js/modules/es.array.map.js","../src/module/helpers.ts","../src/constants/svg.ts","../src/module/menu/InsertRow.ts","../src/module/menu/DeleteRow.ts","../../../node_modules/core-js/internals/dom-iterables.js","../../../node_modules/core-js/internals/dom-token-list-prototype.js","../../../node_modules/core-js/internals/array-for-each.js","../../../node_modules/core-js/modules/web.dom-collections.for-each.js","../src/module/menu/InsertCol.ts","../src/module/menu/DeleteCol.ts","../src/module/menu/DeleteTable.ts","../src/module/menu/TableHeader.ts","../src/module/menu/FullWidth.ts","../src/module/render-elem/render-table.tsx","../src/module/render-elem/render-row.tsx","../../../node_modules/core-js/modules/es.regexp.to-string.js","../../../node_modules/core-js/internals/add-to-unscopables.js","../../../node_modules/core-js/modules/es.array.find.js","../../../node_modules/core-js/internals/function-apply.js","../../../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../../../node_modules/core-js/internals/is-regexp.js","../../../node_modules/core-js/internals/a-constructor.js","../../../node_modules/core-js/internals/species-constructor.js","../../../node_modules/core-js/internals/string-multibyte.js","../../../node_modules/core-js/internals/advance-string-index.js","../../../node_modules/core-js/internals/array-slice-simple.js","../../../node_modules/core-js/internals/regexp-exec-abstract.js","../../../node_modules/core-js/modules/es.string.split.js","../../../node_modules/core-js/internals/whitespaces.js","../../../node_modules/core-js/internals/string-trim.js","../../../node_modules/core-js/internals/string-trim-forced.js","../../../node_modules/core-js/modules/es.string.trim.js","../../../node_modules/core-js/modules/es.global-this.js","../src/utils/dom.ts","../src/module/render-elem/render-cell.tsx","../src/module/render-elem/index.ts","../src/module/elem-to-html.ts","../src/module/pre-parse-html.ts","../../../node_modules/core-js/internals/get-substitution.js","../../../node_modules/core-js/modules/es.string.replace.js","../src/module/parse-elem-html.ts","../src/module/menu/InsertTable.ts","../src/module/menu/index.ts","../src/module/index.ts"],"sourcesContent":["/**\r\n * @description i18n en\r\n * @author wangfupeng\r\n */\r\n\r\nexport default {\r\n tableModule: {\r\n deleteCol: 'Delete column',\r\n deleteRow: 'Delete row',\r\n deleteTable: 'Delete table',\r\n widthAuto: 'Width auto',\r\n insertCol: 'Insert column',\r\n insertRow: 'Insert row',\r\n insertTable: 'Insert table',\r\n header: 'Header',\r\n },\r\n}\r\n","/**\r\n * @description i18n zh-CN\r\n * @author wangfupeng\r\n */\r\n\r\nexport default {\r\n tableModule: {\r\n deleteCol: '删除列',\r\n deleteRow: '删除行',\r\n deleteTable: '删除表格',\r\n widthAuto: '宽度自适应',\r\n insertCol: '插入列',\r\n insertRow: '插入行',\r\n insertTable: '插入表格',\r\n header: '表头',\r\n },\r\n}\r\n","/**\r\n * @description i18n entry\r\n * @author wangfupeng\r\n */\r\n\r\nimport { i18nAddResources } from '@mnykj/wangeditoroptimize-core'\r\nimport enResources from './en'\r\nimport zhResources from './zh-CN'\r\n\r\ni18nAddResources('en', enResources)\r\ni18nAddResources('zh-CN', zhResources)\r\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.anchor` method\n// https://tc39.es/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n anchor: function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","/**\r\n * @description editor 插件,重写 editor API\r\n * @author wangfupeng\r\n */\r\n\r\nimport {\r\n Editor,\r\n Transforms,\r\n Location,\r\n Point,\r\n Element as SlateElement,\r\n Descendant,\r\n NodeEntry,\r\n Node,\r\n BaseText,\r\n Path,\r\n} from 'slate'\r\nimport { IDomEditor, DomEditor } from '@mnykj/wangeditoroptimize-core'\r\n\r\n// table cell 内部的删除处理\r\nfunction deleteHandler(newEditor: IDomEditor): boolean {\r\n const { selection } = newEditor\r\n if (selection == null) return false\r\n\r\n const [cellNodeEntry] = Editor.nodes(newEditor, {\r\n match: n => DomEditor.checkNodeType(n, 'table-cell'),\r\n })\r\n if (cellNodeEntry) {\r\n const [, cellPath] = cellNodeEntry\r\n const start = Editor.start(newEditor, cellPath)\r\n\r\n if (Point.equals(selection.anchor, start)) {\r\n return true // 阻止删除 cell\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\n/**\r\n * 判断该 location 有没有命中 table\r\n * @param editor editor\r\n * @param location location\r\n */\r\nfunction isTableLocation(editor: IDomEditor, location: Location): boolean {\r\n const tables = Editor.nodes(editor, {\r\n at: location,\r\n match: n => {\r\n const type = DomEditor.getNodeType(n)\r\n return type === 'table'\r\n },\r\n })\r\n let hasTable = false\r\n for (const table of tables) {\r\n hasTable = true // 找到了 table\r\n }\r\n return hasTable\r\n}\r\n\r\nfunction withTable<T extends IDomEditor>(editor: T): T {\r\n const {\r\n insertBreak,\r\n deleteBackward,\r\n deleteForward,\r\n normalizeNode,\r\n insertData,\r\n handleTab,\r\n selectAll,\r\n } = editor\r\n const newEditor = editor\r\n\r\n // 重写 insertBreak - cell 内换行,只换行文本,不拆分 node\r\n newEditor.insertBreak = () => {\r\n const selectedNode = DomEditor.getSelectedNodeByType(newEditor, 'table')\r\n if (selectedNode != null) {\r\n // 选中了 table ,则在 cell 内换行\r\n newEditor.insertText('\\n')\r\n return\r\n }\r\n\r\n // 未选中 table ,默认的换行\r\n insertBreak()\r\n }\r\n\r\n // 重写 delete - cell 内删除,只删除文字,不删除 node\r\n newEditor.deleteBackward = unit => {\r\n const res = deleteHandler(newEditor)\r\n if (res) return // 命中 table cell ,自己处理删除\r\n\r\n // 防止从 table 后面的 p 删除时,删除最后一个 cell - issues/4221\r\n const { selection } = newEditor\r\n if (selection) {\r\n const before = Editor.before(newEditor, selection) // 前一个 location\r\n if (before) {\r\n const isTableOnBeforeLocation = isTableLocation(newEditor, before) // before 是否是 table\r\n const isTableOnCurSelection = isTableLocation(newEditor, selection) // 当前是否是 table\r\n if (isTableOnBeforeLocation && !isTableOnCurSelection) {\r\n return // 如果当前不是 table ,前面是 table ,则不执行删除。否则会删除 table 最后一个 cell\r\n }\r\n }\r\n }\r\n\r\n // 执行默认的删除\r\n deleteBackward(unit)\r\n }\r\n\r\n // 重写 handleTab 在table内按tab时跳到下一个单元格\r\n newEditor.handleTab = () => {\r\n const selectedNode = DomEditor.getSelectedNodeByType(newEditor, 'table')\r\n if (selectedNode) {\r\n const above = Editor.above(editor) as NodeEntry<SlateElement>\r\n\r\n // 常规情况下选中文字外层 table-cell 进行跳转\r\n if (DomEditor.checkNodeType(above[0], 'table-cell')) {\r\n Transforms.select(editor, above[1])\r\n }\r\n\r\n let next = Editor.next(editor)\r\n if (next) {\r\n if (next[0] && (next[0] as BaseText).text) {\r\n // 多个单元格同时选中按 tab 导致错位修复\r\n next = (Editor.above(editor, { at: next[1] }) as NodeEntry<Descendant>) ?? next\r\n }\r\n Transforms.select(editor, next[1])\r\n } else {\r\n const topLevelNodes = newEditor.children || []\r\n const topLevelNodesLength = topLevelNodes.length\r\n // 在最后一个单元格按tab时table末尾如果没有p则插入p后光标切到p上\r\n if (DomEditor.checkNodeType(topLevelNodes[topLevelNodesLength - 1], 'table')) {\r\n const p = DomEditor.genEmptyParagraph()\r\n Transforms.insertNodes(newEditor, p, { at: [topLevelNodesLength] })\r\n // 在表格末尾插入p后再次执行使光标切到p上\r\n newEditor.handleTab()\r\n }\r\n }\r\n return\r\n }\r\n\r\n handleTab()\r\n }\r\n\r\n newEditor.deleteForward = unit => {\r\n const res = deleteHandler(newEditor)\r\n if (res) return // 命中 table cell ,自己处理删除\r\n\r\n // 执行默认的删除\r\n deleteForward(unit)\r\n }\r\n\r\n // 重新 normalize\r\n newEditor.normalizeNode = ([node, path]) => {\r\n const type = DomEditor.getNodeType(node)\r\n if (type !== 'table') {\r\n // 未命中 table ,执行默认的 normalizeNode\r\n return normalizeNode([node, path])\r\n }\r\n\r\n // -------------- table 是 editor 最后一个节点,需要后面插入 p --------------\r\n const isLast = DomEditor.isLastNode(newEditor, node)\r\n if (isLast) {\r\n const p = DomEditor.genEmptyParagraph()\r\n Transforms.insertNodes(newEditor, p, { at: [path[0] + 1] })\r\n }\r\n }\r\n\r\n // 重写 insertData - 粘贴文本\r\n newEditor.insertData = (data: DataTransfer) => {\r\n const tableNode = DomEditor.getSelectedNodeByType(newEditor, 'table')\r\n if (tableNode == null) {\r\n insertData(data) // 执行默认的 insertData\r\n return\r\n }\r\n\r\n // 获取文本,并插入到 cell\r\n const text = data.getData('text/plain')\r\n\r\n // 单图或图文 插入\r\n if (text === '\\n' || /<img[^>]+>/.test(data.getData('text/html'))) {\r\n insertData(data)\r\n return\r\n }\r\n\r\n Editor.insertText(newEditor, text)\r\n }\r\n\r\n // 重写 table-cell 中的全选\r\n newEditor.selectAll = () => {\r\n const selection = newEditor.selection\r\n if (selection == null) {\r\n selectAll()\r\n return\r\n }\r\n\r\n const cell = DomEditor.getSelectedNodeByType(newEditor, 'table-cell')\r\n if (cell == null) {\r\n selectAll()\r\n return\r\n }\r\n\r\n const { anchor, focus } = selection\r\n if (!Path.equals(anchor.path.slice(0, 3), focus.path.slice(0, 3))) {\r\n // 选中了多个 cell ,忽略\r\n selectAll()\r\n return\r\n }\r\n\r\n const text = Node.string(cell)\r\n const textLength = text.length\r\n if (textLength === 0) {\r\n selectAll()\r\n return\r\n }\r\n\r\n const path = DomEditor.findPath(newEditor, cell)\r\n const start = Editor.start(newEditor, path)\r\n const end = Editor.end(newEditor, path)\r\n const newSelection = {\r\n anchor: start,\r\n focus: end,\r\n }\r\n newEditor.select(newSelection) // 选中 table-cell 内部的全部文字\r\n }\r\n\r\n // 可继续修改其他 newEditor API ...\r\n\r\n // 返回 editor ,重要!\r\n return newEditor\r\n}\r\n\r\nexport default withTable\r\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar un$Join = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","/**\r\n * @description table menu helpers\r\n * @author wangfupeng\r\n */\r\n\r\nimport { DomEditor, IDomEditor } from '@mnykj/wangeditoroptimize-core'\r\nimport { TableElement, TableCellElement } from './custom-types'\r\n\r\n/**\r\n * 获取第一行所有 cells\r\n * @param tableNode table node\r\n */\r\nexport function getFirstRowCells(tableNode: TableElement): TableCellElement[] {\r\n const rows = tableNode.children || [] // 所有行\r\n if (rows.length === 0) return []\r\n const firstRow = rows[0] || {} // 第一行\r\n const cells = firstRow.children || [] // 第一行所有 cell\r\n return cells\r\n}\r\n\r\n/**\r\n * 表格是否带有表头?\r\n * @param tableNode table node\r\n */\r\nexport function isTableWithHeader(tableNode: TableElement): boolean {\r\n const firstRowCells = getFirstRowCells(tableNode)\r\n return firstRowCells.every(cell => !!cell.isHeader)\r\n}\r\n\r\n/**\r\n * 单元格是否在第一行\r\n * @param editor editor\r\n * @param cellNode cell node\r\n */\r\nexport function isCellInFirstRow(editor: IDomEditor, cellNode: TableCellElement): boolean {\r\n const rowNode = DomEditor.getParentNode(editor, cellNode)\r\n if (rowNode == null) return false\r\n const tableNode = DomEditor.getParentNode(editor, rowNode)\r\n if (tableNode == null) return false\r\n\r\n const firstRowCells = getFirstRowCells(tableNode as TableElement)\r\n return firstRowCells.some(c => c === cellNode)\r\n}\r\n","/**\r\n * @description icon svg\r\n * @author wangfupeng\r\n */\r\n\r\n/**\r\n * 【注意】svg 字符串的长度 ,否则会导致代码体积过大\r\n * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293\r\n * 找不到再从 iconfont.com 搜索\r\n */\r\n\r\n// 表格\r\nexport const TABLE_SVG =\r\n '<svg viewBox=\"0 0 1024 1024\"><path d=\"M0 64v896h1024V64H0z m384 576v-192h256v192h-256z m256 64v192h-256v-192h256z m0-512v192h-256V192h256zM320 192v192H64V192h256z m-256 256h256v192H64v-192z m640 0h256v192h-256v-192z m0-64V192h256v192h-256zM64 704h256v192H64v-192z m640 192v-192h256v192h-256z\"></path></svg>'\r\n\r\n// 垃圾桶(删除)\r\nexport const TRASH_SVG =\r\n '<svg viewBox=\"0 0 1024 1024\"><path d=\"M826.8032 356.5312c-19.328 0-36.3776 15.6928-36.3776 35.0464v524.2624c0 19.328-16 34.56-35.328 34.56H264.9344c-19.328 0-35.5072-15.3088-35.5072-34.56V390.0416c0-19.328-14.1568-35.0464-33.5104-35.0464s-33.5104 15.6928-33.5104 35.0464V915.712c0 57.9328 44.6208 108.288 102.528 108.288H755.2c57.9328 0 108.0832-50.4576 108.0832-108.288V391.4752c-0.1024-19.2512-17.1264-34.944-36.48-34.944z\" p-id=\"9577\"></path><path d=\"M437.1712 775.7568V390.6048c0-19.328-14.1568-35.0464-33.5104-35.0464s-33.5104 15.616-33.5104 35.0464v385.152c0 19.328 14.1568 35.0464 33.5104 35.0464s33.5104-15.7184 33.5104-35.0464zM649.7024 775.7568V390.6048c0-19.328-17.0496-35.0464-36.3776-35.0464s-36.3776 15.616-36.3776 35.0464v385.152c0 19.328 17.0496 35.0464 36.3776 35.0464s36.3776-15.7184 36.3776-35.0464zM965.0432 217.0368h-174.6176V145.5104c0-57.9328-47.2064-101.76-104.6528-101.76h-350.976c-57.8304 0-105.3952 43.8528-105.3952 101.76v71.5264H54.784c-19.4304 0-35.0464 14.1568-35.0464 33.5104 0 19.328 15.616 33.5104 35.0464 33.5104h910.3616c19.328 0 35.0464-14.1568 35.0464-33.5104 0-19.3536-15.6928-33.5104-35.1488-33.5104z m-247.3728 0H297.3952V145.5104c0-19.328 18.2016-34.7648 37.4272-34.7648h350.976c19.1488 0 31.872 15.1296 31.872 34.7648v71.5264z\"></path></svg>'\r\n\r\n// 表格 添加行\r\nexport const ADD_ROW_SVG =\r\n '<svg viewBox=\"0 0 1048 1024\"><path d=\"M707.7888 521.0112h-147.456v-147.456H488.2432v147.456h-147.456v68.8128h147.456v147.456h72.0896v-147.456h147.456zM0 917.504V0h1048.576v917.504H0zM327.68 65.536H65.536v196.608H327.68V65.536z m327.68 0H393.216v196.608h262.144V65.536z m327.68 0h-262.144v196.608h262.144V65.536z m0 258.8672H65.536v462.0288H983.04V324.4032z\"></path></svg>'\r\n\r\n// 表格 删除行\r\nexport const DEL_ROW_SVG =\r\n '<svg viewBox=\"0 0 1048 1024\"><path d=\"M907.6736 586.5472L747.1104 425.984l163.84-163.84-78.6432-78.6432-163.84 163.84L507.904 186.7776 429.2608 262.144l163.84 163.84-167.1168 167.1168 78.6432 78.6432 167.1168-167.1168 160.5632 160.5632 75.3664-78.6432zM0 917.504V0h1048.576v917.504H0z m983.04-327.68h-22.9376l-65.536-65.536H983.04V327.68h-91.7504l65.536-65.536h26.2144V65.536H65.536v196.608h317.8496l65.536 65.536H65.536v196.608h380.1088l-65.536 65.536H65.536v196.608H983.04v-196.608z\"></path></svg>'\r\n\r\n// 表格 添加列\r\nexport const ADD_COL_SVG =\r\n '<svg viewBox=\"0 0 1048 1024\"><path d=\"M327.68 193.3312v186.7776H140.9024v91.7504H327.68v186.7776h88.4736V471.8592h190.0544V380.1088H416.1536V193.3312zM0 917.504V0h1048.576v917.504H0zM655.36 65.536H65.536v720.896H655.36V65.536z m327.68 0h-262.144v196.608h262.144V65.536z m0 262.144h-262.144v196.608h262.144V327.68z m0 262.144h-262.144v196.608h262.144v-196.608z\"></path></svg>'\r\n\r\n// 表格 删除列\r\nexport const DEL_COL_SVG =\r\n '<svg viewBox=\"0 0 1048 1024\"><path d=\"M327.68 510.976L393.216 445.44v-13.1072L327.68 366.7968V510.976z m327.68-78.4384l65.536-65.536V507.904L655.36 442.368v-9.8304z m393.216 484.9664V0H0v917.504h1048.576z m-65.536-131.072h-262.144v-52.4288l-13.1072 13.1072-52.4288-52.4288v91.7504H393.216v-91.7504l-52.4288 52.4288-13.1072-13.1072v52.4288H65.536V65.536H327.68v121.2416l36.0448-36.0448 29.4912 29.4912V62.2592h262.144V180.224l49.152-49.152 16.384 16.384V62.2592h262.144V786.432z m-294.912-108.1344l-160.5632-160.5632-167.1168 167.1168-78.6432-78.6432 167.1168-167.1168L288.3584 278.528l78.6432-78.6432 160.5632 160.5632 163.84-163.84 78.6432 78.6432-163.84 163.84 160.5632 160.5632-78.6432 78.6432z\"></path></svg>'\r\n\r\n// 表头\r\nexport const TABLE_HEADER_SVG =\r\n '<svg viewBox=\"0 0 1024 1024\"><path d=\"M704 128l-64 0L384 128 320 128 0 128l0 256 0 64 0 192 0 64 0 256 320 0 64 0 256 0 64 0 320 0 0-256 0-64L1024 448 1024 384 1024 128 704 128zM640 640 384 640 384 448l256 0L640 640zM64 448l256 0 0 192L64 640 64 448zM320 896 64 896l0-192 256 0L320 896zM640 896 384 896l0-192 256 0L640 896zM960 896l-256 0 0-192 256 0L960 896zM960 640l-256 0L704 448l256 0L960 640z\"></path></svg>'\r\n\r\n// 宽度\r\nexport const FULL_WIDTH_SVG =\r\n '<svg viewBox=\"0 0 1228 1024\"><path d=\"M862.514337 563.200461H404.581995v121.753478a13.311987 13.311987 0 0 1-6.655993 11.468789 10.23999 10.23999 0 0 1-12.083188-1.433599l-204.799795-179.199821a13.721586 13.721586 0 0 1 0-20.479979l204.799795-179.302221a10.23999 10.23999 0 0 1 12.185588-1.535998 13.209587 13.209587 0 0 1 6.553593 11.673588v115.097485h457.932342V319.693504a11.571188 11.571188 0 0 1 18.841582-10.239989l204.799795 179.19982a13.721586 13.721586 0 0 1 0 20.47998l-204.799795 179.199821a10.23999 10.23999 0 0 1-12.185588 1.535998 13.311987 13.311987 0 0 1-6.655994-11.571188V563.200461zM136.499064 14.951409v993.893406a15.257585 15.257585 0 0 1-15.155185 15.052785H15.155185A15.155185 15.155185 0 0 1 0 1008.844815V14.951409a15.257585 15.257585 0 0 1 15.155185-15.052785h106.086294a15.155185 15.155185 0 0 1 15.257585 15.155185zM1228.798771 14.951409v993.893406a15.257585 15.257585 0 0 1-15.155185 15.052785h-106.188693a15.155185 15.155185 0 0 1-15.155185-15.052785V14.951409a15.257585 15.257585 0 0 1 15.155185-15.052785h106.086293A15.155185 15.155185 0 0 1 1228.798771 15.053809z\"></path></svg>'\r\n","/**\r\n * @description insert row menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Editor, Transforms, Range, Path } from 'slate'\r\nimport { IButtonMenu, IDomEditor, DomEditor, t } from '@mnykj/wangeditoroptimize-core'\r\nimport { ADD_ROW_SVG } from '../../constants/svg'\r\nimport { TableRowElement, TableCellElement } from '../custom-types'\r\n\r\nclass InsertRow implements IButtonMenu {\r\n readonly title = t('tableModule.insertRow')\r\n readonly iconSvg = ADD_ROW_SVG\r\n readonly tag = 'button'\r\n\r\n getValue(editor: IDomEditor): string | boolean {\r\n // 无需获取 val\r\n return ''\r\n }\r\n\r\n isActive(editor: IDomEditor): boolean {\r\n // 无需 active\r\n return false\r\n }\r\n\r\n isDisabled(editor: IDomEditor): boolean {\r\n const { selection } = editor\r\n if (selection == null) return true\r\n if (!Range.isCollapsed(selection)) return true\r\n\r\n const tableNode = DomEditor.getSelectedNodeByType(editor, 'table')\r\n if (tableNode == null) {\r\n // 选区未处于 table cell node ,则禁用\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n exec(editor: IDomEditor, value: string | boolean) {\r\n if (this.isDisabled(editor)) return\r\n\r\n const [cellEntry] = Editor.nodes(editor, {\r\n match: n => DomEditor.checkNodeType(n, 'table-cell'),\r\n universal: true,\r\n })\r\n const [cellNode, cellPath] = cellEntry\r\n\r\n // 获取 cell length ,即多少列\r\n const rowNode = DomEditor.getParentNode(editor, cellNode)\r\n const cellsLength = rowNode?.children.length || 0\r\n if (cellsLength === 0) return\r\n\r\n // 拼接新的 row\r\n const newRow: TableRowElement = { type: 'table-row', children: [] }\r\n for (let i = 0; i < cellsLength; i++) {\r\n const cell: TableCellElement = {\r\n type: 'table-cell',\r\n children: [{ text: '' }],\r\n }\r\n newRow.children.push(cell)\r\n }\r\n\r\n // 插入 row\r\n const rowPath = Path.parent(cellPath) // 获取 tr 的 path\r\n const newRowPath = Path.next(rowPath)\r\n Transforms.insertNodes(editor, newRow, { at: newRowPath })\r\n }\r\n}\r\n\r\nexport default InsertRow\r\n","/**\r\n * @description del row menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Editor, Transforms, Range } from 'slate'\r\nimport { IButtonMenu, IDomEditor, DomEditor, t } from '@mnykj/wangeditoroptimize-core'\r\nimport { DEL_ROW_SVG } from '../../constants/svg'\r\n\r\nclass DeleteRow implements IButtonMenu {\r\n readonly title = t('tableModule.deleteRow')\r\n readonly iconSvg = DEL_ROW_SVG\r\n readonly tag = 'button'\r\n\r\n getValue(editor: IDomEditor): string | boolean {\r\n // 无需获取 val\r\n return ''\r\n }\r\n\r\n isActive(editor: IDomEditor): boolean {\r\n // 无需 active\r\n return false\r\n }\r\n\r\n isDisabled(editor: IDomEditor): boolean {\r\n const { selection } = editor\r\n if (selection == null) return true\r\n if (!Range.isCollapsed(selection)) return true\r\n\r\n const rowNode = DomEditor.getSelectedNodeByType(editor, 'table-row')\r\n if (rowNode == null) {\r\n // 选区未处于 table row node ,则禁用\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n exec(editor: IDomEditor, value: string | boolean) {\r\n if (this.isDisabled(editor)) return\r\n\r\n const [rowEntry] = Editor.nodes(editor, {\r\n match: n => DomEditor.checkNodeType(n, 'table-row'),\r\n universal: true,\r\n })\r\n const [rowNode, rowPath] = rowEntry\r\n\r\n const tableNode = DomEditor.getParentNode(editor, rowNode)\r\n const rowsLength = tableNode?.children.length || 0\r\n if (rowsLength <= 1) {\r\n // row 只有一行,则删掉整个表格\r\n Transforms.removeNodes(editor, { mode: 'highest' })\r\n return\r\n }\r\n\r\n // row > 1 行,则删掉这一行\r\n Transforms.removeNodes(editor, { at: rowPath })\r\n }\r\n}\r\n\r\nexport default DeleteRow\r\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","/**\r\n * @description insert col menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport isEqual from 'lodash.isequal'\r\nimport { Editor, Element, Transforms, Range, Node } from 'slate'\r\nimport { IButtonMenu, IDomEditor, DomEditor, t } from '@mnykj/wangeditoroptimize-core'\r\nimport { ADD_COL_SVG } from '../../constants/svg'\r\nimport { TableCellElement, TableElement } from '../custom-types'\r\nimport { isTableWithHeader } from '../helpers'\r\n\r\nclass InsertCol implements IButtonMenu {\r\n readonly title = t('tableModule.insertCol')\r\n readonly iconSvg = ADD_COL_SVG\r\n readonly tag = 'button'\r\n\r\n getValue(editor: IDomEditor): string | boolean {\r\n // 无需获取 val\r\n return ''\r\n }\r\n\r\n isActive(editor: IDomEditor): boolean {\r\n // 无需 active\r\n return false\r\n }\r\n\r\n isDisabled(editor: IDomEditor): boolean {\r\n const { selection } = editor\r\n if (selection == null) return true\r\n if (!Range.isCollapsed(selection)) return true\r\n\r\n const tableNode = DomEditor.getSelectedNodeByType(editor, 'table')\r\n if (tableNode == null) {\r\n // 选区未处于 table cell node ,则禁用\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n exec(editor: IDomEditor, value: string | boolean) {\r\n if (this.isDisabled(editor)) return\r\n\r\n const [cellEntry] = Editor.nodes(editor, {\r\n match: n => DomEditor.checkNodeType(n, 'table-cell'),\r\n universal: true,\r\n })\r\n const [selectedCellNode, selectedCellPath] = cellEntry\r\n\r\n const rowNode = DomEditor.getParentNode(editor, selectedCellNode)\r\n if (rowNode == null) return\r\n const tableNode = DomEditor.getParentNode(editor, rowNode) as TableElement\r\n if (tableNode == null) return\r\n\r\n // 遍历所有 rows ,挨个添加 cell\r\n const rows = tableNode.children || []\r\n rows.forEach((row, rowIndex) => {\r\n if (!Element.isElement(row)) return\r\n\r\n const cells = row.children || []\r\n // 遍历一个 row 的所有 cells\r\n cells.forEach((cell: Node) => {\r\n const path = DomEditor.findPath(editor, cell)\r\n if (\r\n path.length === selectedCellPath.length &&\r\n isEqual(path.slice(-1), selectedCellPath.slice(-1)) // 俩数组,最后一位相同\r\n ) {\r\n // 如果当前 td 的 path 和选中 td 的 path ,最后一位相同,说明是同一列\r\n // 则在其后插入一个 cell\r\n const newCell: TableCellElement = { type: 'table-cell', children: [{ text: '' }] }\r\n if (rowIndex === 0 && isTableWithHeader(tableNode)) {\r\n newCell.isHeader = true\r\n }\r\n Transforms.insertNodes(editor, newCell, { at: path })\r\n }\r\n })\r\n })\r\n }\r\n}\r\n\r\nexport default InsertCol\r\n","/**\r\n * @description del col menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport isEqual from 'lodash.isequal'\r\nimport { Editor, Element, Transforms, Range, Node } from 'slate'\r\nimport { IButtonMenu, IDomEditor, DomEditor, t } from '@mnykj/wangeditoroptimize-core'\r\nimport { DEL_COL_SVG } from '../../constants/svg'\r\n\r\nclass DeleteCol implements IButtonMenu {\r\n readonly title = t('tableModule.deleteCol')\r\n readonly iconSvg = DEL_COL_SVG\r\n readonly tag = 'button'\r\n\r\n getValue(editor: IDomEditor): string | boolean {\r\n // 无需获取 val\r\n return ''\r\n }\r\n\r\n isActive(editor: IDomEditor): boolean {\r\n // 无需 active\r\n return false\r\n }\r\n\r\n isDisabled(editor: IDomEditor): boolean {\r\n const { selection } = editor\r\n if (selection == null) return true\r\n if (!Range.isCollapsed(selection)) return true\r\n\r\n const cellNode = DomEditor.getSelectedNodeByType(editor, 'table-cell')\r\n if (cellNode == null) {\r\n // 选区未处于 table cell node ,则禁用\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n exec(editor: IDomEditor, value: string | boolean) {\r\n if (this.isDisabled(editor)) return\r\n\r\n const [cellEntry] = Editor.nodes(editor, {\r\n match: n => DomEditor.checkNodeType(n, 'table-cell'),\r\n universal: true,\r\n })\r\n const [selectedCellNode, selectedCellPath] = cellEntry\r\n\r\n // 如果只有一列,则删除整个表格\r\n const rowNode = DomEditor.getParentNode(editor, selectedCellNode)\r\n const colLength = rowNode?.children.length || 0\r\n if (!rowNode || colLength <= 1) {\r\n Transforms.removeNodes(editor, { mode: 'highest' }) // 删除整个表格\r\n return\r\n }\r\n\r\n // ------------------------- 不只有 1 列,则继续 -------------------------\r\n\r\n const tableNode = DomEditor.getParentNode(editor, rowNode)\r\n if (tableNode == null) return\r\n\r\n // 遍历所有 rows ,挨个删除 cell\r\n const rows = tableNode.children || []\r\n rows.forEach(row => {\r\n if (!Element.isElement(row)) return\r\n\r\n const cells = row.children || []\r\n // 遍历一个 row 的所有 cells\r\n cells.forEach((cell: Node) => {\r\n const path = DomEditor.findPath(editor, cell)\r\n if (\r\n path.length === selectedCellPath.length &&\r\n isEqual(path.slice(-1), selectedCellPath.slice(-1)) // 俩数组,最后一位相同\r\n ) {\r\n // 如果当前 td 的 path 和选中 td 的 path ,最后一位相同,说明是同一列\r\n // 删除当前的 cell\r\n Transforms.removeNodes(editor, { at: path })\r\n }\r\n })\r\n })\r\n }\r\n}\r\n\r\nexport default DeleteCol\r\n","/**\r\n * @description del table menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Transforms } from 'slate'\r\nimport { IButtonMenu, IDomEditor, DomEditor, t } from '@mnykj/wangeditoroptimize-core'\r\nimport { TRASH_SVG } from '../../constants/svg'\r\n\r\nclass DeleteTable implements IButtonMenu {\r\n readonly title = t('tableModule.deleteTable')\r\n readonly iconSvg = TRASH_SVG\r\n readonly tag = 'button'\r\n\r\n getValue(editor: IDomEditor): string | boolean {\r\n // 无需获取 val\r\n return ''\r\n }\r\n\r\n isActive(editor: IDomEditor): boolean {\r\n // 无需 active\r\n return false\r\n }\r\n\r\n isDisabled(editor: IDomEditor): boolean {\r\n if (editor.selection == null) return true\r\n\r\n const tableNode = DomEditor.getSelectedNodeByType(editor, 'table')\r\n if (tableNode == null) {\r\n // 选区未处于 table node ,则禁用\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n exec(editor: IDomEditor, value: string | boolean) {\r\n if (this.isDisabled(editor)) return\r\n\r\n // 删除表格\r\n Transforms.removeNodes(editor, { mode: 'highest' })\r\n }\r\n}\r\n\r\nexport default DeleteTable\r\n","/**\r\n * @description table header menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Transforms, Range } from 'slate'\r\nimport { IButtonMenu, IDomEditor, DomEditor, t } from '@mnykj/wangeditoroptimize-core'\r\nimport { TABLE_HEADER_SVG } from '../../constants/svg'\r\nimport { TableElement } from '../custom-types'\r\nimport { getFirstRowCells, isTableWithHeader } from '../helpers'\r\n\r\nclass TableHeader implements IButtonMenu {\r\n readonly title = t('tableModule.header')\r\n readonly iconSvg = TABLE_HEADER_SVG\r\n readonly tag = 'button'\r\n\r\n // 是否已设置表头\r\n getValue(editor: IDomEditor): string | boolean {\r\n const tableNode = DomEditor.getSelectedNodeByType(editor, 'table') as TableElement\r\n if (tableNode == null) return false\r\n\r\n return isTableWithHeader(tableNode)\r\n }\r\n\r\n isActive(editor: IDomEditor): boolean {\r\n return !!this.getValue(editor)\r\n }\r\n\r\n isDisabled(editor: IDomEditor): boolean {\r\n const { selection } = editor\r\n if (selection == null) return true\r\n if (!Range.isCollapsed(selection)) return true\r\n\r\n const tableNode = DomEditor.getSelectedNodeByType(editor, 'table')\r\n if (tableNode == null) {\r\n // 选区未处于 table node ,则禁用\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n exec(editor: IDomEditor, value: string | boolean) {\r\n if (this.isDisabled(editor)) return\r\n\r\n // 已经设置了表头,则取消。未设置表头,则设置\r\n const newValue = value ? false : true\r\n\r\n // 获取第一行所有 cell\r\n const tableNode = DomEditor.getSelectedNodeByType(editor, 'table') as TableElement\r\n if (tableNode == null) return\r\n const firstRowCells = getFirstRowCells(tableNode)\r\n\r\n // 设置 isHeader 属性\r\n firstRowCells.forEach(cell =>\r\n Transforms.setNodes(\r\n editor,\r\n { isHeader: newValue },\r\n {\r\n at: DomEditor.findPath(editor, cell),\r\n }\r\n )\r\n )\r\n }\r\n}\r\n\r\nexport default TableHeader\r\n","/**\r\n * @description table full width menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Transforms, Range } from 'slate'\r\nimport { IButtonMenu, IDomEditor, DomEditor, t } from '@mnykj/wangeditoroptimize-core'\r\nimport { FULL_WIDTH_SVG } from '../../constants/svg'\r\nimport { TableElement } from '../custom-types'\r\n\r\nclass TableFullWidth implements IButtonMenu {\r\n readonly title = t('tableModule.widthAuto')\r\n readonly iconSvg = FULL_WIDTH_SVG\r\n readonly tag = 'button'\r\n\r\n // 是否已设置 宽度自适应\r\n getValue(editor: IDomEditor): string | boolean {\r\n const tableNode = DomEditor.getSelectedNodeByType(editor, 'table')\r\n if (tableNode == null) return false\r\n return (tableNode as TableElement).width === '100%'\r\n }\r\n\r\n isActive(editor: IDomEditor): boolean {\r\n return !!this.getValue(editor)\r\n }\r\n\r\n isDisabled(editor: IDomEditor): boolean {\r\n const { selection } = editor\r\n if (selection == null) return true\r\n if (!Range.isCollapsed(selection)) return true\r\n\r\n const tableNode = DomEditor.getSelectedNodeByType(editor, 'table')\r\n if (tableNode == null) {\r\n // 选区未处于 table node ,则禁用\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n exec(editor: IDomEditor, value: string | boolean) {\r\n if (this.isDisabled(editor)) return\r\n\r\n const props: Partial<TableElement> = {\r\n width: value ? 'auto' : '100%', // 切换 'auto' 和 '100%'\r\n }\r\n Transforms.setNodes(editor, props, { mode: 'highest' })\r\n }\r\n}\r\n\r\nexport default TableFullWidth\r\n","/**\r\n * @description render table with top toolbar\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Editor, Element as SlateElement, Node, Range, Point, Path } from 'slate'\r\nimport { h, jsx, VNode } from 'snabbdom'\r\nimport {\r\n IDomEditor,\r\n DomEditor,\r\n canRemoveEmptyLineAboveBlock,\r\n insertEmptyLineAboveAtPath,\r\n removeEmptyLineAboveTopLevelBlock,\r\n resolveElemPath,\r\n} from '@mnykj/wangeditoroptimize-core'\r\nimport { TableElement } from '../custom-types'\r\nimport { getFirstRowCells } from '../helpers'\r\nimport {\r\n ADD_COL_SVG,\r\n ADD_ROW_SVG,\r\n DEL_COL_SVG,\r\n DEL_ROW_SVG,\r\n FULL_WIDTH_SVG,\r\n TABLE_HEADER_SVG,\r\n TRASH_SVG,\r\n} from '../../constants/svg'\r\nimport InsertRow from '../menu/InsertRow'\r\nimport DeleteRow from '../menu/DeleteRow'\r\nimport InsertCol from '../menu/InsertCol'\r\nimport DeleteCol from '../menu/DeleteCol'\r\nimport DeleteTable from '../menu/DeleteTable'\r\nimport TableHander from '../menu/TableHeader'\r\nimport FullWidth from '../menu/FullWidth'\r\n\r\nconst ICON_ENTER =\r\n '<svg viewBox=\"0 0 1255 1024\"><path d=\"M1095.111111 731.477333h-625.777778V1024L0 658.318222 469.333333 292.408889v292.636444h625.777778V0h156.444445v731.477333z\"></path></svg>'\r\nconst ICON_CANCEL_ENTER =\r\n '<svg viewBox=\"0 0 1024 1024\"><path d=\"M436 680H124v-56h312l-124-124 42-42 220 220-220 220-42-42 124-124z\"></path><path d=\"M198 128l64-64 628 628-64 64z\"></path></svg>'\r\n\r\nfunction makeBtn(\r\n action: string,\r\n title: string,\r\n iconSvg: string,\r\n opts: { disabled?: boolean; active?: boolean } = {}\r\n): VNode {\r\n const { disabled = false, active = false } = opts\r\n const cls = ['mdg-table-btn', disabled ? 'is-disabled' : '', active ? 'is-active' : '']\r\n .filter(Boolean)\r\n .join(' ')\r\n return h('button', {\r\n attrs: {\r\n type: 'button',\r\n class: cls,\r\n title,\r\n 'data-table-action': action,\r\n ...(disabled ? { disabled: 'disabled' } : {}),\r\n },\r\n props: { contentEditable: false, disabled },\r\n hook: {\r\n insert(vnode) {\r\n const el = vnode.elm as HTMLElement | undefined\r\n if (el) el.innerHTML = iconSvg\r\n },\r\n postpatch(_o, vnode) {\r\n const el = vnode.elm as HTMLElement | undefined\r\n if (el && el.innerHTML !== iconSvg) el.innerHTML = iconSvg\r\n },\r\n },\r\n })\r\n}\r\n\r\nfunction getContentEditable(editor: IDomEditor, tableElem: SlateElement): boolean {\r\n if (editor.isDisabled()) return false\r\n\r\n const { selection } = editor\r\n if (selection == null) return true\r\n if (Range.isCollapsed(selection)) return true\r\n\r\n const { anchor, focus } = selection\r\n const tablePath = DomEditor.findPath(editor, tableElem)\r\n\r\n const tableStart = Editor.start(editor, tablePath)\r\n const tableEnd = Editor.end(editor, tablePath)\r\n const isAnchorInTable =\r\n Point.compare(anchor, tableEnd) <= 0 && Point.compare(anchor, tableStart) >= 0\r\n const isFocusInTable =\r\n Point.compare(focus, tableEnd) <= 0 && Point.compare(focus, tableStart) >= 0\r\n\r\n if (isAnchorInTable && isFocusInTable) {\r\n if (Path.equals(anchor.path.slice(0, 3), focus.path.slice(0, 3))) {\r\n return true\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isTableHeaderOn(tableElem: Node): boolean {\r\n const row = (tableElem as TableElement)?.children?.[0]\r\n const cells = Array.isArray(row?.children) ? row.children : []\r\n return cells.length > 0 && cells.every((c: any) => !!c?.isHeader)\r\n}\r\n\r\nfunction isTableFullWidthOn(tableElem: Node): boolean {\r\n return String((tableElem as TableElement)?.width || '') === '100%'\r\n}\r\n\r\nfunction ensureSelectionInTable(editor: IDomEditor, tableElem: Node): boolean {\r\n try {\r\n const path = resolveElemPath(editor, tableElem)\r\n if (!path?.length) return false\r\n const selected = DomEditor.getSelectedNodeByType(editor, 'table')\r\n if (selected) {\r\n try {\r\n const selPath = DomEditor.findPath(editor, selected)\r\n if (selPath?.[0] === path[0]) return true\r\n } catch (_) {\r\n /* fall through */\r\n }\r\n }\r\n const cellStart = Editor.start(editor, [...path, 0, 0])\r\n editor.select(cellStart)\r\n return true\r\n } catch (_) {\r\n return false\r\n }\r\n}\r\n\r\nfunction runMenu(editor: IDomEditor, MenuClass: any): void {\r\n const menu = new MenuClass()\r\n if (typeof menu.isDisabled === 'function' && menu.isDisabled(editor)) return\r\n menu.exec(editor, '')\r\n}\r\n\r\nfunction handleTableToolbarAction(editor: IDomEditor, tableElem: Node, action: string): void {\r\n if (!editor || editor.isDestroyed || editor.isDisabled()) return\r\n const path = resolveElemPath(editor, tableElem)\r\n if (!path?.length) return\r\n\r\n if (action === 'enter') {\r\n insertEmptyLineAboveAtPath(editor, path)\r\n return\r\n }\r\n if (action === 'cancel-enter') {\r\n removeEmptyLineAboveTopLevelBlock(editor, path)\r\n return\r\n }\r\n\r\n if (!ensureSelectionInTable(editor, tableElem)) return\r\n\r\n try {\r\n switch (action) {\r\n case 'header':\r\n runMenu(editor, TableHander)\r\n break\r\n case 'full-width':\r\n runMenu(editor, FullWidth)\r\n break\r\n case 'insert-row':\r\n runMenu(editor, InsertRow)\r\n break\r\n case 'delete-row':\r\n runMenu(editor, DeleteRow)\r\n break\r\n case 'insert-col':\r\n runMenu(editor, InsertCol)\r\n break\r\n case 'delete-col':\r\n runMenu(editor, DeleteCol)\r\n break\r\n case 'remove':\r\n runMenu(editor, DeleteTable)\r\n break\r\n default:\r\n break\r\n }\r\n } catch (err) {\r\n console.warn('[wangeditor] table toolbar action failed', action, err)\r\n }\r\n}\r\n\r\nfunction renderTable(elemNode: SlateElement, children: VNode[] | null, editor: IDomEditor): VNode {\r\n const editable = getContentEditable(editor, elemNode)\r\n const { width = 'auto' } = elemNode as TableElement\r\n const selected = DomEditor.isNodeSelected(editor, elemNode)\r\n const firstRowCells = getFirstRowCells(elemNode as TableElement)\r\n const kids = children == null ? [] : Array.isArray(children) ? children : [children]\r\n\r\n const tableOn = {\r\n mousedown: (e: MouseEvent) => {\r\n const target = e.target as HTMLElement | null\r\n if (target?.closest?.('[data-mdg-table-toolbar]')) return\r\n // @ts-ignore\r\n if (target?.tagName === 'DIV') e.preventDefault()\r\n if (editor.isDisabled()) return\r\n try {\r\n const tablePath = DomEditor.findPath(editor, elemNode)\r\n const tableStart = Editor.start(editor, tablePath)\r\n const { selection } = editor\r\n if (selection == null || selection.anchor?.path?.[0] !== tablePath[0]) {\r\n editor.select(tableStart)\r\n }\r\n } catch (_) {\r\n /* ignore */\r\n }\r\n },\r\n }\r\n\r\n const tableInner = (\r\n <table width={width} contentEditable={editable}>\r\n <colgroup>\r\n {firstRowCells.map(cell => {\r\n const { width: colWidth = 'auto' } = cell\r\n return <col width={colWidth}></col>\r\n })}\r\n </colgroup>\r\n <tbody>{kids}</tbody>\r\n </table>\r\n )\r\n\r\n if (editor.isDisabled()) {\r\n return h('div', { attrs: { class: 'mdg-table-wrap' } }, [\r\n h(\r\n 'div',\r\n {\r\n attrs: {\r\n class: 'table-container',\r\n 'data-selected': selected ? 'true' : 'false',\r\n },\r\n on: tableOn,\r\n },\r\n [tableInner]\r\n ),\r\n ])\r\n }\r\n\r\n let canCancelEnter = false\r\n try {\r\n const path = DomEditor.findPath(editor, elemNode)\r\n canCancelEnter = canRemoveEmptyLineAboveBlock(editor, path)\r\n } catch (_) {\r\n canCancelEnter = false\r\n }\r\n\r\n const headerOn = isTableHeaderOn(elemNode)\r\n const fullWidthOn = isTableFullWidthOn(elemNode)\r\n\r\n const toolbar = h(\r\n 'div',\r\n {\r\n attrs: {\r\n class: 'mdg-table-toolbar',\r\n contenteditable: 'false',\r\n 'data-mdg-table-toolbar': '1',\r\n },\r\n props: { contentEditable: false },\r\n on: {\r\n mousedown: (e: Event) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n },\r\n click: (e: Event) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const t = e.target as Element | null\r\n const btn = t?.closest?.('button[data-table-action]') as HTMLElement | null\r\n const action = btn?.getAttribute?.('data-table-action')\r\n if (!action || btn?.classList?.contains('is-disabled')) return\r\n handleTableToolbarAction(editor, elemNode, action)\r\n },\r\n },\r\n },\r\n [\r\n makeBtn('enter', '回车(上方空行)', ICON_ENTER),\r\n makeBtn('cancel-enter', '取消回车', ICON_CANCEL_ENTER, { disabled: !canCancelEnter }),\r\n makeBtn('header', '表头', TABLE_HEADER_SVG, { active: headerOn }),\r\n makeBtn('full-width', '宽度自适应', FULL_WIDTH_SVG, { active: fullWidthOn }),\r\n makeBtn('insert-row', '插入行', ADD_ROW_SVG),\r\n makeBtn('delete-row', '删除行', DEL_ROW_SVG),\r\n makeBtn('insert-col', '插入列', ADD_COL_SVG),\r\n makeBtn('delete-col', '删除列', DEL_COL_SVG),\r\n makeBtn('remove', '删除表格', TRASH_SVG),\r\n ]\r\n )\r\n\r\n return h('div', { attrs: { class: 'mdg-table-wrap' } }, [\r\n h(\r\n 'div',\r\n {\r\n attrs: {\r\n class: 'table-container mdg-table-with-toolbar',\r\n 'data-selected': selected ? 'true' : 'false',\r\n },\r\n on: tableOn,\r\n },\r\n [toolbar, tableInner]\r\n ),\r\n ])\r\n}\r\n\r\nexport default renderTable\r\n","/**\r\n * @description render row\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Element as SlateElement } from 'slate'\r\nimport { jsx, VNode } from 'snabbdom'\r\nimport { IDomEditor } from '@mnykj/wangeditoroptimize-core'\r\n\r\nfunction renderTableRow(\r\n elemNode: SlateElement,\r\n children: VNode[] | null,\r\n editor: IDomEditor\r\n): VNode {\r\n const vnode = <tr>{children}</tr>\r\n return vnode\r\n}\r\n\r\nexport default renderTableRow\r\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\nvar getFlags = uncurryThis(regExpFlags);\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n redefine(String.prototype, KEY, methods[0]);\n redefine(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice-simple');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return call(nativeSplit, string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = call(regexpExec, separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n push(output, stringSlice(string, lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !exec(separatorCopy, '')) push(output, '');\n } else push(output, stringSlice(string, lastLastIndex));\n return output.length > lim ? arraySlice(output, 0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true }, {\n globalThis: global\n});\n","/**\r\n * @description DOM 操作\r\n * @author wangfupeng\r\n */\r\n\r\nimport $, {\r\n append,\r\n on,\r\n focus,\r\n attr,\r\n val,\r\n html,\r\n dataset,\r\n addClass,\r\n removeClass,\r\n children,\r\n each,\r\n find,\r\n Dom7Array,\r\n} from 'dom7'\r\nexport { Dom7Array } from 'dom7'\r\n\r\nif (append) $.fn.append = append\r\nif (on) $.fn.on = on\r\nif (focus) $.fn.focus = focus\r\nif (attr) $.fn.attr = attr\r\nif (val) $.fn.val = val\r\nif (html) $.fn.html = html\r\nif (dataset) $.fn.dataset = dataset\r\nif (addClass) $.fn.addClass = addClass\r\nif (removeClass) $.fn.removeClass = removeClass\r\nif (children) $.fn.children = children\r\nif (each) $.fn.each = each\r\nif (find) $.fn.find = find\r\n\r\nexport default $\r\n\r\n/**\r\n * 获取 tagName lower-case\r\n * @param $elem $elem\r\n */\r\nexport function getTagName($elem: Dom7Array): string {\r\n if ($elem.length) return $elem[0].tagName.toLowerCase()\r\n return ''\r\n}\r\n\r\n/**\r\n * 获取 $elem 某一个 style 值\r\n * @param $elem $elem\r\n * @param styleKey style key\r\n */\r\nexport function getStyleValue($elem: Dom7Array, styleKey: string): string {\r\n let res = ''\r\n\r\n const styleStr = $elem.attr('style') || '' // 如 'line-height: 2.5; color: red;'\r\n const styleArr = styleStr.split(';') // 如 ['line-height: 2.5', ' color: red', '']\r\n const length = styleArr.length\r\n for (let i = 0; i < length; i++) {\r\n const styleItemStr = styleArr[i] // 如 'line-height: 2.5'\r\n if (styleItemStr) {\r\n const arr = styleItemStr.split(':') // ['line-height', ' 2.5']\r\n if (arr[0].trim() === styleKey) {\r\n res = arr[1].trim()\r\n }\r\n }\r\n }\r\n\r\n return res\r\n}\r\n\r\n// COMPAT: This is required to prevent TypeScript aliases from doing some very\r\n// weird things for Slate's types with the same name as globals. (2019/11/27)\r\n// https://github.com/microsoft/TypeScript/issues/35002\r\nimport DOMNode = globalThis.Node\r\nimport DOMComment = globalThis.Comment\r\nimport DOMElement = globalThis.Element\r\nimport DOMText = globalThis.Text\r\nimport DOMRange = globalThis.Range\r\nimport DOMSelection = globalThis.Selection\r\nimport DOMStaticRange = globalThis.StaticRange\r\nexport { DOMNode, DOMComment, DOMElement, DOMText, DOMRange, DOMSelection, DOMStaticRange }\r\n","/**\r\n * @description render cell\r\n * @author wangfupeng\r\n */\r\n\r\nimport throttle from 'lodash.throttle'\r\nimport { Element as SlateElement, Transforms, Location } from 'slate'\r\nimport { jsx, VNode } from 'snabbdom'\r\nimport { IDomEditor, DomEditor } from '@mnykj/wangeditoroptimize-core'\r\nimport { TableCellElement } from '../custom-types'\r\nimport { isCellInFirstRow } from '../helpers'\r\nimport $ from '../../utils/dom'\r\n\r\n// 拖拽列宽相关信息\r\nlet isMouseDownForResize = false\r\nlet clientXWhenMouseDown = 0\r\nlet cellWidthWhenMouseDown = 0\r\nlet cellPathWhenMouseDown: Location | null = null\r\nlet editorWhenMouseDown: IDomEditor | null = null\r\nconst $body = $('body')\r\n\r\nfunction onMouseDown(event: Event) {\r\n const elem = event.target as HTMLElement\r\n if (elem.tagName !== 'TH' && elem.tagName !== 'TD') return\r\n\r\n if (elem.style.cursor !== 'col-resize') return\r\n elem.style.cursor = 'auto'\r\n\r\n event.preventDefault()\r\n\r\n // 记录必要信息\r\n isMouseDownForResize = true\r\n const { clientX } = event as MouseEvent\r\n clientXWhenMouseDown = clientX\r\n const { width } = elem.getBoundingClientRect()\r\n cellWidthWhenMouseDown = width\r\n\r\n // 绑定事件\r\n $body.on('mousemove', onMouseMove)\r\n $body.on('mouseup', onMouseUp)\r\n}\r\n$body.on('mousedown', onMouseDown) // 绑定事件\r\n\r\nfunction onMouseUp(event: Event) {\r\n isMouseDownForResize = false\r\n editorWhenMouseDown = null\r\n cellPathWhenMouseDown = null\r\n\r\n // 解绑事件\r\n $body.off('mousemove', onMouseMove)\r\n $body.off('mouseup', onMouseUp)\r\n}\r\n\r\nconst onMouseMove = throttle(function (event: Event) {\r\n if (!isMouseDownForResize) return\r\n if (editorWhenMouseDown == null || cellPathWhenMouseDown == null) return\r\n event.preventDefault()\r\n\r\n const { clientX } = event as MouseEvent\r\n let newWith = cellWidthWhenMouseDown + (clientX - clientXWhenMouseDown) // 计算新宽度\r\n newWith = Math.floor(newWith * 100) / 100 // 保留小数点后两位\r\n if (newWith < 30) newWith = 30 // 最小宽度\r\n\r\n // 这是宽度\r\n Transforms.setNodes(\r\n editorWhenMouseDown,\r\n { width: newWith.toString() },\r\n {\r\n at: cellPathWhenMouseDown,\r\n }\r\n )\r\n}, 100)\r\n\r\nfunction renderTableCell(\r\n cellNode: SlateElement,\r\n children: VNode[] | null,\r\n editor: IDomEditor\r\n): VNode {\r\n const isFirstRow = isCellInFirstRow(editor, cellNode as TableCellElement)\r\n const { colSpan = 1, rowSpan = 1, isHeader = false } = cellNode as TableCellElement\r\n\r\n // ------------------ 不是第一行,直接渲染 <td> ------------------\r\n if (!isFirstRow) {\r\n return (\r\n <td colSpan={colSpan} rowSpan={rowSpan}>\r\n {children}\r\n </td>\r\n )\r\n }\r\n\r\n // ------------------ 是第一行:1. 判断 th ;2. 拖拽列宽 ------------------\r\n const Tag = isHeader ? 'th' : 'td'\r\n\r\n const vnode = (\r\n <Tag\r\n colSpan={colSpan}\r\n rowSpan={rowSpan}\r\n style={{ borderRightWidth: '3px' }}\r\n on={{\r\n mousemove: throttle(function (this: VNode, event: MouseEvent) {\r\n const elem = this.elm as HTMLElement\r\n if (elem == null) return\r\n const { left, width, top, height } = elem.getBoundingClientRect()\r\n const { clientX, clientY } = event\r\n\r\n if (isMouseDownForResize) return // 此时正在修改列宽\r\n\r\n // 非 mousedown 状态,计算 cursor 样式\r\n const matchX = clientX > left + width - 5 && clientX < left + width // X 轴,是否接近 cell 右侧?\r\n const matchY = clientY > top && clientY < top + height // Y 轴,是否在 cell 之内\r\n // X Y 轴都接近,则修改鼠标样式\r\n if (matchX && matchY) {\r\n elem.style.cursor = 'col-resize'\r\n editorWhenMouseDown = editor\r\n cellPathWhenMouseDown = DomEditor.findPath(editor, cellNode)\r\n } else {\r\n if (!isMouseDownForResize) {\r\n elem.style.cursor = 'auto'\r\n editorWhenMouseDown = null\r\n cellPathWhenMouseDown = null\r\n }\r\n }\r\n }, 100),\r\n }}\r\n >\r\n {children}\r\n </Tag>\r\n )\r\n return vnode\r\n}\r\n\r\nexport default renderTableCell\r\n","/**\r\n * @description render elem\r\n * @author wangfupeng\r\n */\r\n\r\nimport renderTable from './render-table'\r\nimport renderTableRow from './render-row'\r\nimport renderTableCell from './render-cell'\r\n\r\nexport const renderTableConf = {\r\n type: 'table',\r\n renderElem: renderTable,\r\n}\r\n\r\nexport const renderTableRowConf = {\r\n type: 'table-row',\r\n renderElem: renderTableRow,\r\n}\r\n\r\nexport const renderTableCellConf = {\r\n type: 'table-cell',\r\n renderElem: renderTableCell,\r\n}\r\n","/**\r\n * @description to html\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Element } from 'slate'\r\nimport { TableCellElement, TableRowElement, TableElement } from './custom-types'\r\n\r\nfunction tableToHtml(elemNode: Element, childrenHtml: string): string {\r\n const { width = 'auto' } = elemNode as TableElement\r\n\r\n return `<table style=\"width: ${width};\"><tbody>${childrenHtml}</tbody></table>`\r\n}\r\n\r\nfunction tableRowToHtml(elem: Element, childrenHtml: string): string {\r\n return `<tr>${childrenHtml}</tr>`\r\n}\r\n\r\nfunction tableCellToHtml(cellNode: Element, childrenHtml: string): string {\r\n const {\r\n colSpan = 1,\r\n rowSpan = 1,\r\n isHeader = false,\r\n width = 'auto',\r\n } = cellNode as TableCellElement\r\n const tag = isHeader ? 'th' : 'td'\r\n return `<${tag} colSpan=\"${colSpan}\" rowSpan=\"${rowSpan}\" width=\"${width}\">${childrenHtml}</${tag}>`\r\n}\r\n\r\nexport const tableToHtmlConf = {\r\n type: 'table',\r\n elemToHtml: tableToHtml,\r\n}\r\n\r\nexport const tableRowToHtmlConf = {\r\n type: 'table-row',\r\n elemToHtml: tableRowToHtml,\r\n}\r\n\r\nexport const tableCellToHtmlConf = {\r\n type: 'table-cell',\r\n elemToHtml: tableCellToHtml,\r\n}\r\n","/**\r\n * @description pre parse html\r\n * @author wangfupeng\r\n */\r\n\r\nimport $, { getTagName, DOMElement } from '../utils/dom'\r\n\r\n/**\r\n * pre-prase table ,去掉 <tbody>\r\n * @param table table elem\r\n */\r\nfunction preParse(tableElem: DOMElement): DOMElement {\r\n const $table = $(tableElem)\r\n const tagName = getTagName($table)\r\n if (tagName !== 'table') return tableElem\r\n\r\n // 没有 <tbody> 则直接返回\r\n const $tbody = $table.find('tbody')\r\n if ($tbody.length === 0) return tableElem\r\n\r\n // 去掉 <tbody> ,把 <tr> 移动到 <table> 下面\r\n const $tr = $table.find('tr')\r\n $table.append($tr)\r\n $tbody.remove()\r\n\r\n return $table[0]\r\n}\r\n\r\nexport const preParseTableHtmlConf = {\r\n selector: 'table',\r\n preParseHtml: preParse,\r\n}\r\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","/**\r\n * @description parse html\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Descendant, Text } from 'slate'\r\nimport { IDomEditor, DomEditor } from '@mnykj/wangeditoroptimize-core'\r\nimport { TableCellElement, TableRowElement, TableElement } from './custom-types'\r\nimport $, { getTagName, getStyleValue, DOMElement } from '../utils/dom'\r\n\r\nfunction parseCellHtml(\r\n elem: DOMElement,\r\n children: Descendant[],\r\n editor: IDomEditor\r\n): TableCellElement {\r\n const $elem = $(elem)\r\n\r\n children = children.filter(child => {\r\n if (Text.isText(child)) return true\r\n if (editor.isInline(child)) return true\r\n return false\r\n })\r\n\r\n // 无 children ,则用纯文本\r\n if (children.length === 0) {\r\n children = [{ text: $elem.text().replace(/\\s+/gm, ' ') }]\r\n }\r\n\r\n const colSpan = parseInt($elem.attr('colSpan') || '1')\r\n const rowSpan = parseInt($elem.attr('rowSpan') || '1')\r\n const width = $elem.attr('width') || 'auto'\r\n\r\n return {\r\n type: 'table-cell',\r\n isHeader: getTagName($elem) === 'th',\r\n colSpan,\r\n rowSpan,\r\n width,\r\n // @ts-ignore\r\n children,\r\n }\r\n}\r\n\r\nexport const parseCellHtmlConf = {\r\n selector: 'td:not([data-w-e-type]),th:not([data-w-e-type])', // data-w-e-type 属性,留给自定义元素,保证扩展性\r\n parseElemHtml: parseCellHtml,\r\n}\r\n\r\nfunction parseRowHtml(\r\n elem: DOMElement,\r\n children: Descendant[],\r\n editor: IDomEditor\r\n): TableRowElement {\r\n return {\r\n type: 'table-row',\r\n // @ts-ignore\r\n children: children.filter(child => DomEditor.getNodeType(child) === 'table-cell'),\r\n }\r\n}\r\n\r\nexport const parseRowHtmlConf = {\r\n selector: 'tr:not([data-w-e-type])', // data-w-e-type 属性,留给自定义元素,保证扩展性\r\n parseElemHtml: parseRowHtml,\r\n}\r\n\r\nfunction parseTableHtml(\r\n elem: DOMElement,\r\n children: Descendant[],\r\n editor: IDomEditor\r\n): TableElement {\r\n const $elem = $(elem)\r\n\r\n // 计算宽度\r\n let width = 'auto'\r\n if (getStyleValue($elem, 'width') === '100%') width = '100%'\r\n if ($elem.attr('width') === '100%') width = '100%' // 兼容 v4 格式\r\n\r\n return {\r\n type: 'table',\r\n width,\r\n // @ts-ignore\r\n children: children.filter(child => DomEditor.getNodeType(child) === 'table-row'),\r\n }\r\n}\r\n\r\nexport const parseTableHtmlConf = {\r\n selector: 'table:not([data-w-e-type])', // data-w-e-type 属性,留给自定义元素,保证扩展性\r\n parseElemHtml: parseTableHtml,\r\n}\r\n","/**\r\n * @description insert table menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport { Editor, Transforms, Range, Node } from 'slate'\r\nimport { IDropPanelMenu, IDomEditor, DomEditor, t } from '@mnykj/wangeditoroptimize-core'\r\nimport $, { Dom7Array, DOMElement } from '../../utils/dom'\r\nimport { genRandomStr } from '../../utils/util'\r\nimport { TABLE_SVG } from '../../constants/svg'\r\nimport { TableElement, TableCellElement, TableRowElement } from '../custom-types'\r\n\r\nfunction genTableNode(rowNum: number, colNum: number): TableElement {\r\n // 拼接 rows\r\n const rows: TableRowElement[] = []\r\n for (let i = 0; i < rowNum; i++) {\r\n // 拼接 cells\r\n const cells: TableCellElement[] = []\r\n for (let j = 0; j < colNum; j++) {\r\n const cellNode: TableCellElement = {\r\n type: 'table-cell',\r\n children: [{ text: '' }],\r\n }\r\n if (i === 0) {\r\n cellNode.isHeader = true // 第一行默认是 th\r\n }\r\n cells.push(cellNode)\r\n }\r\n\r\n // 生成 row\r\n rows.push({\r\n type: 'table-row',\r\n children: cells,\r\n })\r\n }\r\n\r\n return {\r\n type: 'table',\r\n width: 'auto',\r\n children: rows,\r\n }\r\n}\r\n\r\n/**\r\n * 生成唯一的 DOM ID\r\n */\r\nfunction genDomID(): string {\r\n return genRandomStr('w-e-insert-table')\r\n}\r\n\r\nclass InsertTable implements IDropPanelMenu {\r\n title = t('tableModule.insertTable')\r\n iconSvg = TABLE_SVG\r\n tag = 'button'\r\n showDropPanel = true // 点击 button 时显示 dropPanel\r\n private $content: Dom7Array | null = null\r\n\r\n getValue(editor: IDomEditor): string | boolean {\r\n // 插入菜单,不需要 value\r\n return ''\r\n }\r\n\r\n isActive(editor: IDomEditor): boolean {\r\n // 任何时候,都不用激活 menu\r\n return false\r\n }\r\n\r\n exec(editor: IDomEditor, value: string | boolean) {\r\n // 点击菜单时,弹出 modal 之前,不需要执行其他代码\r\n // 此处空着即可\r\n }\r\n\r\n isDisabled(editor: IDomEditor): boolean {\r\n const { selection } = editor\r\n if (selection == null) return true\r\n if (!Range.isCollapsed(selection)) return true // 选区非折叠,禁用\r\n\r\n const selectedElems = DomEditor.getSelectedElems(editor)\r\n const hasVoidOrPreOrTable = selectedElems.some(elem => {\r\n const type = DomEditor.getNodeType(elem)\r\n if (type === 'pre') return true\r\n if (type === 'table') return true\r\n if (type === 'list-item') return true\r\n if (editor.isVoid(elem)) return true\r\n return false\r\n })\r\n if (hasVoidOrPreOrTable) return true // 匹配到,禁用\r\n\r\n return false\r\n }\r\n\r\n /**\r\n * 获取 panel 内容\r\n * @param editor editor\r\n */\r\n getPanelContentElem(editor: IDomEditor): DOMElement {\r\n // 已有,直接返回\r\n if (this.$content) return this.$content[0]\r\n\r\n // 初始化\r\n const $content = $('<div class=\"w-e-panel-content-table\"></div>')\r\n const $info = $('<span>0 × 0</span>') // 显示行列数量\r\n\r\n // 渲染 10 * 10 table ,以快速创建表格\r\n const $table = $('<table></table>')\r\n for (let i = 0; i < 10; i++) {\r\n const $tr = $('<tr></tr>')\r\n for (let j = 0; j < 10; j++) {\r\n const $td = $('<td></td>')\r\n $td.attr('data-x', j.toString())\r\n $td.attr('data-y', i.toString())\r\n $tr.append($td)\r\n\r\n // 绑定 mouseenter\r\n $td.on('mouseenter', (e: Event) => {\r\n const { target } = e\r\n if (target == null) return\r\n const $focusTd = $(target)\r\n const { x: focusX, y: focusY } = $focusTd.dataset()\r\n\r\n // 显示行列数量\r\n $info[0].innerHTML = `${focusX + 1} × ${focusY + 1}`\r\n\r\n // 修改 table td 样式\r\n $table.children().each(tr => {\r\n $(tr)\r\n .children()\r\n .each(td => {\r\n const $td = $(td)\r\n const { x, y } = $td.dataset()\r\n if (x <= focusX && y <= focusY) {\r\n $td.addClass('active')\r\n } else {\r\n $td.removeClass('active')\r\n }\r\n })\r\n })\r\n })\r\n\r\n // 绑定 click\r\n $td.on('click', (e: Event) => {\r\n e.preventDefault()\r\n const { target } = e\r\n if (target == null) return\r\n const $td = $(target)\r\n const { x, y } = $td.dataset()\r\n this.insertTable(editor, y + 1, x + 1)\r\n })\r\n }\r\n $table.append($tr)\r\n }\r\n $content.append($table)\r\n $content.append($info)\r\n\r\n // 记录,并返回\r\n this.$content = $content\r\n return $content[0]\r\n }\r\n\r\n private insertTable(editor: IDomEditor, rowNumStr: string, colNumStr: string) {\r\n const rowNum = parseInt(rowNumStr, 10)\r\n const colNum = parseInt(colNumStr, 10)\r\n if (!rowNum || !colNum) return\r\n if (rowNum <= 0 || colNum <= 0) return\r\n\r\n // 如果当前是空 p ,则删除该 p\r\n if (DomEditor.isSelectedEmptyParagraph(editor)) {\r\n Transforms.removeNodes(editor, { mode: 'highest' })\r\n }\r\n\r\n // 插入表格\r\n const tableNode = genTableNode(rowNum, colNum)\r\n Transforms.insertNodes(editor, tableNode, { mode: 'highest' })\r\n }\r\n}\r\n\r\nexport default InsertTable\r\n","/**\r\n * @description table menu\r\n * @author wangfupeng\r\n */\r\n\r\nimport InsertTable from './InsertTable'\r\nimport DeleteTable from './DeleteTable'\r\nimport InsertRow from './InsertRow'\r\nimport DeleteRow from './DeleteRow'\r\nimport InsertCol from './InsertCol'\r\nimport DeleteCol from './DeleteCol'\r\nimport TableHander from './TableHeader'\r\nimport FullWidth from './FullWidth'\r\n\r\nexport const insertTableMenuConf = {\r\n key: 'insertTable',\r\n factory() {\r\n return new InsertTable()\r\n },\r\n}\r\n\r\nexport const deleteTableMenuConf = {\r\n key: 'deleteTable',\r\n factory() {\r\n return new DeleteTable()\r\n },\r\n}\r\n\r\nexport const insertTableRowConf = {\r\n key: 'insertTableRow',\r\n factory() {\r\n return new InsertRow()\r\n },\r\n}\r\n\r\nexport const deleteTableRowConf = {\r\n key: 'deleteTableRow',\r\n factory() {\r\n return new DeleteRow()\r\n },\r\n}\r\n\r\nexport const insertTableColConf = {\r\n key: 'insertTableCol',\r\n factory() {\r\n return new InsertCol()\r\n },\r\n}\r\n\r\nexport const deleteTableColConf = {\r\n key: 'deleteTableCol',\r\n factory() {\r\n return new DeleteCol()\r\n },\r\n}\r\n\r\nexport const tableHeaderMenuConf = {\r\n key: 'tableHeader',\r\n factory() {\r\n return new TableHander()\r\n },\r\n}\r\n\r\nexport const tableFullWidthMenuConf = {\r\n key: 'tableFullWidth',\r\n factory() {\r\n return new FullWidth()\r\n },\r\n}\r\n","/**\r\n * @description table module\r\n * @author wangfupeng\r\n */\r\n\r\nimport { IModuleConf } from '@mnykj/wangeditoroptimize-core'\r\nimport withTable from './plugin'\r\nimport { renderTableConf, renderTableRowConf, renderTableCellConf } from './render-elem/index'\r\nimport { tableToHtmlConf, tableRowToHtmlConf, tableCellToHtmlConf } from './elem-to-html'\r\nimport { preParseTableHtmlConf } from './pre-parse-html'\r\nimport { parseCellHtmlConf, parseRowHtmlConf, parseTableHtmlConf } from './parse-elem-html'\r\nimport {\r\n insertTableMenuConf,\r\n deleteTableMenuConf,\r\n insertTableRowConf,\r\n deleteTableRowConf,\r\n insertTableColConf,\r\n deleteTableColConf,\r\n tableHeaderMenuConf,\r\n tableFullWidthMenuConf,\r\n} from './menu/index'\r\n\r\nconst table: Partial<IModuleConf> = {\r\n renderElems: [renderTableConf, renderTableRowConf, renderTableCellConf],\r\n elemsToHtml: [tableToHtmlConf, tableRowToHtmlConf, tableCellToHtmlConf],\r\n preParseHtml: [preParseTableHtmlConf],\r\n parseElemsHtml: [parseCellHtmlConf, parseRowHtmlConf, parseTableHtmlConf],\r\n menus: [\r\n insertTableMenuConf,\r\n deleteTableMenuConf,\r\n insertTableRowConf,\r\n deleteTableRowConf,\r\n insertTableColConf,\r\n deleteTableColConf,\r\n tableHeaderMenuConf,\r\n tableFullWidthMenuConf,\r\n ],\r\n editorPlugin: withTable,\r\n}\r\n\r\nexport default table\r\n"],"names":["tableModule","deleteCol","deleteRow","deleteTable","widthAuto","insertCol","insertRow","insertTable","header","i18nAddResources","enResources","zhResources","global","call","getOwnPropertyDescriptor","FunctionPrototype","bind","toString","uncurryThis","stringSlice","Object","classof","TypeError","IndexedObject","userAgent","V8_VERSION","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","isPrototypeOf","String","store","Symbol","hasOwn","document","EXISTS","DESCRIPTORS","createElement","IE8_DOM_DEFINE","propertyIsEnumerableModule","definePropertyModule","WeakMap","NATIVE_WEAK_MAP","shared","hiddenKeys","require$$0","InternalStateModule","floor","max","min","createMethod","indexOf","push","internalObjectKeys","concat","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","isForced","TO_STRING_TAG","TO_STRING_TAG_SUPPORT","replace","$","forcedStringHTMLMethod","createHTML","$RegExp","UNSUPPORTED_Y","defineProperties","charAt","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","create","exec","SPECIES","HAS_SPECIES_SUPPORT","Array","un$Slice","deleteHandler","newEditor","selection","_a","__read","Editor","nodes","match","n","DomEditor","checkNodeType","cellNodeEntry","_b","cellPath","start","Point","equals","anchor","isTableLocation","editor","location","tables","at","type","getNodeType","hasTable","tables_1","__values","table","withTable","insertBreak","deleteBackward","deleteForward","normalizeNode","insertData","handleTab","selectAll","selectedNode","getSelectedNodeByType","insertText","unit","res","before","isTableOnBeforeLocation","isTableOnCurSelection","above","Transforms","select","next","text","topLevelNodes","children","topLevelNodesLength","length","p","genEmptyParagraph","insertNodes","node","path","isLast","isLastNode","data","tableNode","getData","test","cell","focus","Path","slice","Node","string","textLength","findPath","end","newSelection","STRICT_METHOD","getFirstRowCells","rows","firstRow","cells","isTableWithHeader","firstRowCells","every","isHeader","isCellInFirstRow","cellNode","rowNode","getParentNode","some","c","TABLE_SVG","TRASH_SVG","ADD_ROW_SVG","DEL_ROW_SVG","ADD_COL_SVG","DEL_COL_SVG","TABLE_HEADER_SVG","FULL_WIDTH_SVG","t","InsertRow","Range","isCollapsed","value","isDisabled","universal","cellEntry","cellsLength","newRow","i","rowPath","parent","newRowPath","DeleteRow","rowEntry","rowsLength","removeNodes","mode","forEach","DOMIterables","DOMTokenListPrototype","InsertCol","selectedCellNode","selectedCellPath","row","rowIndex","Element","isElement","isEqual","newCell","DeleteCol","colLength","DeleteTable","TableHeader","getValue","newValue","setNodes","TableFullWidth","width","props","ICON_ENTER","ICON_CANCEL_ENTER","makeBtn","action","title","iconSvg","opts","disabled","active","cls","filter","Boolean","join","h","attrs","class","contentEditable","hook","insert","vnode","el","elm","innerHTML","postpatch","_o","getContentEditable","tableElem","tablePath","tableStart","tableEnd","isAnchorInTable","compare","isFocusInTable","isTableHeaderOn","isArray","isTableFullWidthOn","ensureSelectionInTable","resolveElemPath","selected","selPath","_","cellStart","runMenu","MenuClass","menu","handleTableToolbarAction","isDestroyed","insertEmptyLineAboveAtPath","removeEmptyLineAboveTopLevelBlock","TableHander","FullWidth","err","console","warn","renderTable","elemNode","editable","isNodeSelected","kids","tableOn","mousedown","e","target","closest","tagName","preventDefault","tableInner","jsx","map","colWidth","on","canCancelEnter","canRemoveEmptyLineAboveBlock","headerOn","fullWidthOn","toolbar","contenteditable","stopPropagation","click","btn","getAttribute","classList","contains","renderTableRow","PROPER_FUNCTION_NAME","RegExpPrototype","regExpFlags","$toString","fixRegExpWellKnownSymbolLogic","isRegExp","apply","arraySlice","callRegExpExec","forcedStringTrimMethod","append","fn","attr","val","html","dataset","addClass","removeClass","each","find","getTagName","$elem","toLowerCase","getStyleValue","styleKey","styleStr","styleArr","split","styleItemStr","arr","trim","isMouseDownForResize","clientXWhenMouseDown","cellWidthWhenMouseDown","cellPathWhenMouseDown","editorWhenMouseDown","$body","onMouseDown","event","elem","style","cursor","clientX","getBoundingClientRect","onMouseMove","onMouseUp","off","throttle","newWith","Math","renderTableCell","isFirstRow","colSpan","_c","rowSpan","_d","Tag","borderRightWidth","mousemove","left","top","height","clientY","matchX","matchY","renderTableConf","renderElem","renderTableRowConf","renderTableCellConf","tableToHtml","childrenHtml","tableRowToHtml","tableCellToHtml","_e","tag","tableToHtmlConf","elemToHtml","tableRowToHtmlConf","tableCellToHtmlConf","preParse","$table","$tbody","$tr","remove","preParseTableHtmlConf","selector","preParseHtml","regExpExec","parseCellHtml","child","Text","isText","isInline","parseInt","parseCellHtmlConf","parseElemHtml","parseRowHtml","parseRowHtmlConf","parseTableHtml","parseTableHtmlConf","genTableNode","rowNum","colNum","j","InsertTable","selectedElems","getSelectedElems","hasVoidOrPreOrTable","isVoid","$content","$info","$td","$focusTd","focusX","focusY","tr","td","x","y","_this","rowNumStr","colNumStr","isSelectedEmptyParagraph","insertTableMenuConf","key","factory","deleteTableMenuConf","insertTableRowConf","deleteTableRowConf","insertTableColConf","deleteTableColConf","tableHeaderMenuConf","tableFullWidthMenuConf","renderElems","elemsToHtml","parseElemsHtml","menus","editorPlugin"],"mappings":"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"}
|