vue-contenteditable
Advanced tools
Comparing version 3.0.4 to 4.0.0
@@ -1,1920 +0,3 @@ | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
if(typeof exports === 'object' && typeof module === 'object') | ||
module.exports = factory(require("vue")); | ||
else if(typeof define === 'function' && define.amd) | ||
define([], factory); | ||
else if(typeof exports === 'object') | ||
exports["vue-contenteditable"] = factory(require("vue")); | ||
else | ||
root["vue-contenteditable"] = factory(root["Vue"]); | ||
})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
/******/ // The module cache | ||
/******/ var installedModules = {}; | ||
/******/ | ||
/******/ // The require function | ||
/******/ function __webpack_require__(moduleId) { | ||
/******/ | ||
/******/ // Check if module is in cache | ||
/******/ if(installedModules[moduleId]) { | ||
/******/ return installedModules[moduleId].exports; | ||
/******/ } | ||
/******/ // Create a new module (and put it into the cache) | ||
/******/ var module = installedModules[moduleId] = { | ||
/******/ i: moduleId, | ||
/******/ l: false, | ||
/******/ exports: {} | ||
/******/ }; | ||
/******/ | ||
/******/ // Execute the module function | ||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
/******/ | ||
/******/ // Flag the module as loaded | ||
/******/ module.l = true; | ||
/******/ | ||
/******/ // Return the exports of the module | ||
/******/ return module.exports; | ||
/******/ } | ||
/******/ | ||
/******/ | ||
/******/ // expose the modules object (__webpack_modules__) | ||
/******/ __webpack_require__.m = modules; | ||
/******/ | ||
/******/ // expose the module cache | ||
/******/ __webpack_require__.c = installedModules; | ||
/******/ | ||
/******/ // define getter function for harmony exports | ||
/******/ __webpack_require__.d = function(exports, name, getter) { | ||
/******/ if(!__webpack_require__.o(exports, name)) { | ||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
/******/ } | ||
/******/ }; | ||
/******/ | ||
/******/ // define __esModule on exports | ||
/******/ __webpack_require__.r = function(exports) { | ||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
/******/ } | ||
/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
/******/ }; | ||
/******/ | ||
/******/ // create a fake namespace object | ||
/******/ // mode & 1: value is a module id, require it | ||
/******/ // mode & 2: merge all properties of value into the ns | ||
/******/ // mode & 4: return value when already ns object | ||
/******/ // mode & 8|1: behave like require | ||
/******/ __webpack_require__.t = function(value, mode) { | ||
/******/ if(mode & 1) value = __webpack_require__(value); | ||
/******/ if(mode & 8) return value; | ||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
/******/ var ns = Object.create(null); | ||
/******/ __webpack_require__.r(ns); | ||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
/******/ return ns; | ||
/******/ }; | ||
/******/ | ||
/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
/******/ __webpack_require__.n = function(module) { | ||
/******/ var getter = module && module.__esModule ? | ||
/******/ function getDefault() { return module['default']; } : | ||
/******/ function getModuleExports() { return module; }; | ||
/******/ __webpack_require__.d(getter, 'a', getter); | ||
/******/ return getter; | ||
/******/ }; | ||
/******/ | ||
/******/ // Object.prototype.hasOwnProperty.call | ||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||
/******/ | ||
/******/ // __webpack_public_path__ | ||
/******/ __webpack_require__.p = ""; | ||
/******/ | ||
/******/ | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = "fb15"); | ||
/******/ }) | ||
/************************************************************************/ | ||
/******/ ({ | ||
/***/ "06cf": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var DESCRIPTORS = __webpack_require__("83ab"); | ||
var propertyIsEnumerableModule = __webpack_require__("d1e7"); | ||
var createPropertyDescriptor = __webpack_require__("5c6c"); | ||
var toIndexedObject = __webpack_require__("fc6a"); | ||
var toPrimitive = __webpack_require__("c04e"); | ||
var has = __webpack_require__("5135"); | ||
var IE8_DOM_DEFINE = __webpack_require__("0cfb"); | ||
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; | ||
// `Object.getOwnPropertyDescriptor` method | ||
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor | ||
exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { | ||
O = toIndexedObject(O); | ||
P = toPrimitive(P, true); | ||
if (IE8_DOM_DEFINE) try { | ||
return nativeGetOwnPropertyDescriptor(O, P); | ||
} catch (error) { /* empty */ } | ||
if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); | ||
}; | ||
/***/ }), | ||
/***/ "0cfb": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var DESCRIPTORS = __webpack_require__("83ab"); | ||
var fails = __webpack_require__("d039"); | ||
var createElement = __webpack_require__("cc12"); | ||
// Thank's IE8 for his funny defineProperty | ||
module.exports = !DESCRIPTORS && !fails(function () { | ||
return Object.defineProperty(createElement('div'), 'a', { | ||
get: function () { return 7; } | ||
}).a != 7; | ||
}); | ||
/***/ }), | ||
/***/ "1276": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var fixRegExpWellKnownSymbolLogic = __webpack_require__("d784"); | ||
var isRegExp = __webpack_require__("44e7"); | ||
var anObject = __webpack_require__("825a"); | ||
var requireObjectCoercible = __webpack_require__("1d80"); | ||
var speciesConstructor = __webpack_require__("4840"); | ||
var advanceStringIndex = __webpack_require__("8aa5"); | ||
var toLength = __webpack_require__("50c4"); | ||
var callRegExpExec = __webpack_require__("14c3"); | ||
var regexpExec = __webpack_require__("9263"); | ||
var fails = __webpack_require__("d039"); | ||
var arrayPush = [].push; | ||
var min = Math.min; | ||
var MAX_UINT32 = 0xFFFFFFFF; | ||
// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError | ||
var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); | ||
// @@split logic | ||
fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { | ||
var internalSplit; | ||
if ( | ||
'abbc'.split(/(b)*/)[1] == 'c' || | ||
'test'.split(/(?:)/, -1).length != 4 || | ||
'ab'.split(/(?:ab)*/).length != 2 || | ||
'.'.split(/(.?)(.?)/).length != 4 || | ||
'.'.split(/()()/).length > 1 || | ||
''.split(/.?/).length | ||
) { | ||
// based on es5-shim implementation, need to rework it | ||
internalSplit = function (separator, limit) { | ||
var string = String(requireObjectCoercible(this)); | ||
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; | ||
if (lim === 0) return []; | ||
if (separator === undefined) return [string]; | ||
// If `separator` is not a regex, use native split | ||
if (!isRegExp(separator)) { | ||
return nativeSplit.call(string, separator, lim); | ||
} | ||
var output = []; | ||
var flags = (separator.ignoreCase ? 'i' : '') + | ||
(separator.multiline ? 'm' : '') + | ||
(separator.unicode ? 'u' : '') + | ||
(separator.sticky ? 'y' : ''); | ||
var lastLastIndex = 0; | ||
// Make `global` and avoid `lastIndex` issues by working with a copy | ||
var separatorCopy = new RegExp(separator.source, flags + 'g'); | ||
var match, lastIndex, lastLength; | ||
while (match = regexpExec.call(separatorCopy, string)) { | ||
lastIndex = separatorCopy.lastIndex; | ||
if (lastIndex > lastLastIndex) { | ||
output.push(string.slice(lastLastIndex, match.index)); | ||
if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); | ||
lastLength = match[0].length; | ||
lastLastIndex = lastIndex; | ||
if (output.length >= lim) break; | ||
} | ||
if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop | ||
} | ||
if (lastLastIndex === string.length) { | ||
if (lastLength || !separatorCopy.test('')) output.push(''); | ||
} else output.push(string.slice(lastLastIndex)); | ||
return output.length > lim ? output.slice(0, lim) : output; | ||
}; | ||
// Chakra, V8 | ||
} else if ('0'.split(undefined, 0).length) { | ||
internalSplit = function (separator, limit) { | ||
return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); | ||
}; | ||
} else internalSplit = nativeSplit; | ||
return [ | ||
// `String.prototype.split` method | ||
// https://tc39.es/ecma262/#sec-string.prototype.split | ||
function split(separator, limit) { | ||
var O = requireObjectCoercible(this); | ||
var splitter = separator == undefined ? undefined : separator[SPLIT]; | ||
return splitter !== undefined | ||
? splitter.call(separator, O, limit) | ||
: internalSplit.call(String(O), separator, limit); | ||
}, | ||
// `RegExp.prototype[@@split]` method | ||
// https://tc39.es/ecma262/#sec-regexp.prototype-@@split | ||
// | ||
// NOTE: This cannot be properly polyfilled in engines that don't support | ||
// the 'y' flag. | ||
function (regexp, limit) { | ||
var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); | ||
if (res.done) return res.value; | ||
var rx = anObject(regexp); | ||
var S = String(this); | ||
var C = speciesConstructor(rx, RegExp); | ||
var unicodeMatching = rx.unicode; | ||
var flags = (rx.ignoreCase ? 'i' : '') + | ||
(rx.multiline ? 'm' : '') + | ||
(rx.unicode ? 'u' : '') + | ||
(SUPPORTS_Y ? 'y' : 'g'); | ||
// ^(? + rx + ) is needed, in combination with some S slicing, to | ||
// simulate the 'y' flag. | ||
var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); | ||
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; | ||
if (lim === 0) return []; | ||
if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; | ||
var p = 0; | ||
var q = 0; | ||
var A = []; | ||
while (q < S.length) { | ||
splitter.lastIndex = SUPPORTS_Y ? q : 0; | ||
var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); | ||
var e; | ||
if ( | ||
z === null || | ||
(e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p | ||
) { | ||
q = advanceStringIndex(S, q, unicodeMatching); | ||
} else { | ||
A.push(S.slice(p, q)); | ||
if (A.length === lim) return A; | ||
for (var i = 1; i <= z.length - 1; i++) { | ||
A.push(z[i]); | ||
if (A.length === lim) return A; | ||
} | ||
q = p = e; | ||
} | ||
} | ||
A.push(S.slice(p)); | ||
return A; | ||
} | ||
]; | ||
}, !SUPPORTS_Y); | ||
/***/ }), | ||
/***/ "14c3": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var classof = __webpack_require__("c6b6"); | ||
var regexpExec = __webpack_require__("9263"); | ||
// `RegExpExec` abstract operation | ||
// https://tc39.es/ecma262/#sec-regexpexec | ||
module.exports = function (R, S) { | ||
var exec = R.exec; | ||
if (typeof exec === 'function') { | ||
var result = exec.call(R, S); | ||
if (typeof result !== 'object') { | ||
throw TypeError('RegExp exec method returned something other than an Object or null'); | ||
} | ||
return result; | ||
} | ||
if (classof(R) !== 'RegExp') { | ||
throw TypeError('RegExp#exec called on incompatible receiver'); | ||
} | ||
return regexpExec.call(R, S); | ||
}; | ||
/***/ }), | ||
/***/ "1c0b": | ||
/***/ (function(module, exports) { | ||
module.exports = function (it) { | ||
if (typeof it != 'function') { | ||
throw TypeError(String(it) + ' is not a function'); | ||
} return it; | ||
}; | ||
/***/ }), | ||
/***/ "1d80": | ||
/***/ (function(module, exports) { | ||
// `RequireObjectCoercible` abstract operation | ||
// https://tc39.es/ecma262/#sec-requireobjectcoercible | ||
module.exports = function (it) { | ||
if (it == undefined) throw TypeError("Can't call method on " + it); | ||
return it; | ||
}; | ||
/***/ }), | ||
/***/ "23cb": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var toInteger = __webpack_require__("a691"); | ||
var max = Math.max; | ||
var min = Math.min; | ||
// Helper for a popular repeating case of the spec: | ||
// Let integer be ? ToInteger(index). | ||
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). | ||
module.exports = function (index, length) { | ||
var integer = toInteger(index); | ||
return integer < 0 ? max(integer + length, 0) : min(integer, length); | ||
}; | ||
/***/ }), | ||
/***/ "23e7": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var global = __webpack_require__("da84"); | ||
var getOwnPropertyDescriptor = __webpack_require__("06cf").f; | ||
var createNonEnumerableProperty = __webpack_require__("9112"); | ||
var redefine = __webpack_require__("6eeb"); | ||
var setGlobal = __webpack_require__("ce4e"); | ||
var copyConstructorProperties = __webpack_require__("e893"); | ||
var isForced = __webpack_require__("94ca"); | ||
/* | ||
options.target - name of the target object | ||
options.global - target is the global object | ||
options.stat - export as static methods of target | ||
options.proto - export as prototype methods of target | ||
options.real - real prototype method for the `pure` version | ||
options.forced - export even if the native feature is available | ||
options.bind - bind methods to the target, required for the `pure` version | ||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version | ||
options.unsafe - use the simple assignment of property instead of delete + defineProperty | ||
options.sham - add a flag to not completely full polyfills | ||
options.enumerable - export as enumerable property | ||
options.noTargetGet - prevent calling a getter on target | ||
*/ | ||
module.exports = function (options, source) { | ||
var TARGET = options.target; | ||
var GLOBAL = options.global; | ||
var STATIC = options.stat; | ||
var FORCED, target, key, targetProperty, sourceProperty, descriptor; | ||
if (GLOBAL) { | ||
target = global; | ||
} else if (STATIC) { | ||
target = global[TARGET] || setGlobal(TARGET, {}); | ||
} else { | ||
target = (global[TARGET] || {}).prototype; | ||
} | ||
if (target) for (key in source) { | ||
sourceProperty = source[key]; | ||
if (options.noTargetGet) { | ||
descriptor = getOwnPropertyDescriptor(target, key); | ||
targetProperty = descriptor && descriptor.value; | ||
} else targetProperty = target[key]; | ||
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); | ||
// contained in target | ||
if (!FORCED && targetProperty !== undefined) { | ||
if (typeof sourceProperty === typeof targetProperty) continue; | ||
copyConstructorProperties(sourceProperty, targetProperty); | ||
} | ||
// add a flag to not completely full polyfills | ||
if (options.sham || (targetProperty && targetProperty.sham)) { | ||
createNonEnumerableProperty(sourceProperty, 'sham', true); | ||
} | ||
// extend global | ||
redefine(target, key, sourceProperty, options); | ||
} | ||
}; | ||
/***/ }), | ||
/***/ "241c": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var internalObjectKeys = __webpack_require__("ca84"); | ||
var enumBugKeys = __webpack_require__("7839"); | ||
var hiddenKeys = enumBugKeys.concat('length', 'prototype'); | ||
// `Object.getOwnPropertyNames` method | ||
// https://tc39.es/ecma262/#sec-object.getownpropertynames | ||
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { | ||
return internalObjectKeys(O, hiddenKeys); | ||
}; | ||
/***/ }), | ||
/***/ "428f": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var global = __webpack_require__("da84"); | ||
module.exports = global; | ||
/***/ }), | ||
/***/ "44ad": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var fails = __webpack_require__("d039"); | ||
var classof = __webpack_require__("c6b6"); | ||
var split = ''.split; | ||
// fallback for non-array-like ES3 and non-enumerable old V8 strings | ||
module.exports = fails(function () { | ||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 | ||
// eslint-disable-next-line no-prototype-builtins | ||
return !Object('z').propertyIsEnumerable(0); | ||
}) ? function (it) { | ||
return classof(it) == 'String' ? split.call(it, '') : Object(it); | ||
} : Object; | ||
/***/ }), | ||
/***/ "44e7": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var isObject = __webpack_require__("861d"); | ||
var classof = __webpack_require__("c6b6"); | ||
var wellKnownSymbol = __webpack_require__("b622"); | ||
var MATCH = wellKnownSymbol('match'); | ||
// `IsRegExp` abstract operation | ||
// https://tc39.es/ecma262/#sec-isregexp | ||
module.exports = function (it) { | ||
var isRegExp; | ||
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); | ||
}; | ||
/***/ }), | ||
/***/ "4840": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var anObject = __webpack_require__("825a"); | ||
var aFunction = __webpack_require__("1c0b"); | ||
var wellKnownSymbol = __webpack_require__("b622"); | ||
var SPECIES = wellKnownSymbol('species'); | ||
// `SpeciesConstructor` abstract operation | ||
// https://tc39.es/ecma262/#sec-speciesconstructor | ||
module.exports = function (O, defaultConstructor) { | ||
var C = anObject(O).constructor; | ||
var S; | ||
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); | ||
}; | ||
/***/ }), | ||
/***/ "4930": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var fails = __webpack_require__("d039"); | ||
module.exports = !!Object.getOwnPropertySymbols && !fails(function () { | ||
// Chrome 38 Symbol has incorrect toString conversion | ||
// eslint-disable-next-line no-undef | ||
return !String(Symbol()); | ||
}); | ||
/***/ }), | ||
/***/ "4d64": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var toIndexedObject = __webpack_require__("fc6a"); | ||
var toLength = __webpack_require__("50c4"); | ||
var toAbsoluteIndex = __webpack_require__("23cb"); | ||
// `Array.prototype.{ indexOf, includes }` methods implementation | ||
var createMethod = function (IS_INCLUDES) { | ||
return function ($this, el, fromIndex) { | ||
var O = toIndexedObject($this); | ||
var length = toLength(O.length); | ||
var index = toAbsoluteIndex(fromIndex, length); | ||
var value; | ||
// Array#includes uses SameValueZero equality algorithm | ||
// eslint-disable-next-line no-self-compare | ||
if (IS_INCLUDES && el != el) while (length > index) { | ||
value = O[index++]; | ||
// eslint-disable-next-line no-self-compare | ||
if (value != value) return true; | ||
// Array#indexOf ignores holes, Array#includes - not | ||
} else for (;length > index; index++) { | ||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; | ||
} return !IS_INCLUDES && -1; | ||
}; | ||
}; | ||
module.exports = { | ||
// `Array.prototype.includes` method | ||
// https://tc39.es/ecma262/#sec-array.prototype.includes | ||
includes: createMethod(true), | ||
// `Array.prototype.indexOf` method | ||
// https://tc39.es/ecma262/#sec-array.prototype.indexof | ||
indexOf: createMethod(false) | ||
}; | ||
/***/ }), | ||
/***/ "50c4": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var toInteger = __webpack_require__("a691"); | ||
var min = Math.min; | ||
// `ToLength` abstract operation | ||
// https://tc39.es/ecma262/#sec-tolength | ||
module.exports = function (argument) { | ||
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 | ||
}; | ||
/***/ }), | ||
/***/ "5135": | ||
/***/ (function(module, exports) { | ||
var hasOwnProperty = {}.hasOwnProperty; | ||
module.exports = function (it, key) { | ||
return hasOwnProperty.call(it, key); | ||
}; | ||
/***/ }), | ||
/***/ "5692": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var IS_PURE = __webpack_require__("c430"); | ||
var store = __webpack_require__("c6cd"); | ||
(module.exports = function (key, value) { | ||
return store[key] || (store[key] = value !== undefined ? value : {}); | ||
})('versions', []).push({ | ||
version: '3.8.3', | ||
mode: IS_PURE ? 'pure' : 'global', | ||
copyright: '© 2021 Denis Pushkarev (zloirock.ru)' | ||
}); | ||
/***/ }), | ||
/***/ "56ef": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var getBuiltIn = __webpack_require__("d066"); | ||
var getOwnPropertyNamesModule = __webpack_require__("241c"); | ||
var getOwnPropertySymbolsModule = __webpack_require__("7418"); | ||
var anObject = __webpack_require__("825a"); | ||
// all object keys, includes non-enumerable and symbols | ||
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { | ||
var keys = getOwnPropertyNamesModule.f(anObject(it)); | ||
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; | ||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; | ||
}; | ||
/***/ }), | ||
/***/ "5c6c": | ||
/***/ (function(module, exports) { | ||
module.exports = function (bitmap, value) { | ||
return { | ||
enumerable: !(bitmap & 1), | ||
configurable: !(bitmap & 2), | ||
writable: !(bitmap & 4), | ||
value: value | ||
}; | ||
}; | ||
/***/ }), | ||
/***/ "6547": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var toInteger = __webpack_require__("a691"); | ||
var requireObjectCoercible = __webpack_require__("1d80"); | ||
// `String.prototype.{ codePointAt, at }` methods implementation | ||
var createMethod = function (CONVERT_TO_STRING) { | ||
return function ($this, pos) { | ||
var S = String(requireObjectCoercible($this)); | ||
var position = toInteger(pos); | ||
var size = S.length; | ||
var first, second; | ||
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; | ||
first = S.charCodeAt(position); | ||
return first < 0xD800 || first > 0xDBFF || position + 1 === size | ||
|| (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF | ||
? CONVERT_TO_STRING ? S.charAt(position) : first | ||
: CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; | ||
}; | ||
}; | ||
module.exports = { | ||
// `String.prototype.codePointAt` method | ||
// https://tc39.es/ecma262/#sec-string.prototype.codepointat | ||
codeAt: createMethod(false), | ||
// `String.prototype.at` method | ||
// https://github.com/mathiasbynens/String.prototype.at | ||
charAt: createMethod(true) | ||
}; | ||
/***/ }), | ||
/***/ "69f3": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var NATIVE_WEAK_MAP = __webpack_require__("7f9a"); | ||
var global = __webpack_require__("da84"); | ||
var isObject = __webpack_require__("861d"); | ||
var createNonEnumerableProperty = __webpack_require__("9112"); | ||
var objectHas = __webpack_require__("5135"); | ||
var shared = __webpack_require__("c6cd"); | ||
var sharedKey = __webpack_require__("f772"); | ||
var hiddenKeys = __webpack_require__("d012"); | ||
var WeakMap = global.WeakMap; | ||
var set, get, has; | ||
var enforce = function (it) { | ||
return has(it) ? get(it) : set(it, {}); | ||
}; | ||
var getterFor = function (TYPE) { | ||
return function (it) { | ||
var state; | ||
if (!isObject(it) || (state = get(it)).type !== TYPE) { | ||
throw TypeError('Incompatible receiver, ' + TYPE + ' required'); | ||
} return state; | ||
}; | ||
}; | ||
if (NATIVE_WEAK_MAP) { | ||
var store = shared.state || (shared.state = new WeakMap()); | ||
var wmget = store.get; | ||
var wmhas = store.has; | ||
var wmset = store.set; | ||
set = function (it, metadata) { | ||
metadata.facade = it; | ||
wmset.call(store, it, metadata); | ||
return metadata; | ||
}; | ||
get = function (it) { | ||
return wmget.call(store, it) || {}; | ||
}; | ||
has = function (it) { | ||
return wmhas.call(store, it); | ||
}; | ||
} else { | ||
var STATE = sharedKey('state'); | ||
hiddenKeys[STATE] = true; | ||
set = function (it, metadata) { | ||
metadata.facade = it; | ||
createNonEnumerableProperty(it, STATE, metadata); | ||
return metadata; | ||
}; | ||
get = function (it) { | ||
return objectHas(it, STATE) ? it[STATE] : {}; | ||
}; | ||
has = function (it) { | ||
return objectHas(it, STATE); | ||
}; | ||
} | ||
module.exports = { | ||
set: set, | ||
get: get, | ||
has: has, | ||
enforce: enforce, | ||
getterFor: getterFor | ||
}; | ||
/***/ }), | ||
/***/ "6eeb": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var global = __webpack_require__("da84"); | ||
var createNonEnumerableProperty = __webpack_require__("9112"); | ||
var has = __webpack_require__("5135"); | ||
var setGlobal = __webpack_require__("ce4e"); | ||
var inspectSource = __webpack_require__("8925"); | ||
var InternalStateModule = __webpack_require__("69f3"); | ||
var getInternalState = InternalStateModule.get; | ||
var enforceInternalState = InternalStateModule.enforce; | ||
var TEMPLATE = String(String).split('String'); | ||
(module.exports = function (O, key, value, options) { | ||
var unsafe = options ? !!options.unsafe : false; | ||
var simple = options ? !!options.enumerable : false; | ||
var noTargetGet = options ? !!options.noTargetGet : false; | ||
var state; | ||
if (typeof value == 'function') { | ||
if (typeof key == 'string' && !has(value, 'name')) { | ||
createNonEnumerableProperty(value, 'name', key); | ||
} | ||
state = enforceInternalState(value); | ||
if (!state.source) { | ||
state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); | ||
} | ||
} | ||
if (O === global) { | ||
if (simple) O[key] = value; | ||
else setGlobal(key, value); | ||
return; | ||
} else if (!unsafe) { | ||
delete O[key]; | ||
} else if (!noTargetGet && O[key]) { | ||
simple = true; | ||
} | ||
if (simple) O[key] = value; | ||
else createNonEnumerableProperty(O, key, value); | ||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative | ||
})(Function.prototype, 'toString', function toString() { | ||
return typeof this == 'function' && getInternalState(this).source || inspectSource(this); | ||
}); | ||
/***/ }), | ||
/***/ "7418": | ||
/***/ (function(module, exports) { | ||
exports.f = Object.getOwnPropertySymbols; | ||
/***/ }), | ||
/***/ "7839": | ||
/***/ (function(module, exports) { | ||
// IE8- don't enum bug keys | ||
module.exports = [ | ||
'constructor', | ||
'hasOwnProperty', | ||
'isPrototypeOf', | ||
'propertyIsEnumerable', | ||
'toLocaleString', | ||
'toString', | ||
'valueOf' | ||
]; | ||
/***/ }), | ||
/***/ "7f9a": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var global = __webpack_require__("da84"); | ||
var inspectSource = __webpack_require__("8925"); | ||
var WeakMap = global.WeakMap; | ||
module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); | ||
/***/ }), | ||
/***/ "825a": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var isObject = __webpack_require__("861d"); | ||
module.exports = function (it) { | ||
if (!isObject(it)) { | ||
throw TypeError(String(it) + ' is not an object'); | ||
} return it; | ||
}; | ||
/***/ }), | ||
/***/ "83ab": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var fails = __webpack_require__("d039"); | ||
// Detect IE8's incomplete defineProperty implementation | ||
module.exports = !fails(function () { | ||
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; | ||
}); | ||
/***/ }), | ||
/***/ "861d": | ||
/***/ (function(module, exports) { | ||
module.exports = function (it) { | ||
return typeof it === 'object' ? it !== null : typeof it === 'function'; | ||
}; | ||
/***/ }), | ||
/***/ "8875": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller | ||
// MIT license | ||
// source: https://github.com/amiller-gh/currentScript-polyfill | ||
// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505 | ||
(function (root, factory) { | ||
if (true) { | ||
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), | ||
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? | ||
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), | ||
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); | ||
} else {} | ||
}(typeof self !== 'undefined' ? self : this, function () { | ||
function getCurrentScript () { | ||
var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript') | ||
// for chrome | ||
if (!descriptor && 'currentScript' in document && document.currentScript) { | ||
return document.currentScript | ||
} | ||
// for other browsers with native support for currentScript | ||
if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) { | ||
return document.currentScript | ||
} | ||
// IE 8-10 support script readyState | ||
// IE 11+ & Firefox support stack trace | ||
try { | ||
throw new Error(); | ||
} | ||
catch (err) { | ||
// Find the second match for the "at" string to get file src url from stack. | ||
var ieStackRegExp = /.*at [^(]*\((.*):(.+):(.+)\)$/ig, | ||
ffStackRegExp = /@([^@]*):(\d+):(\d+)\s*$/ig, | ||
stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack), | ||
scriptLocation = (stackDetails && stackDetails[1]) || false, | ||
line = (stackDetails && stackDetails[2]) || false, | ||
currentLocation = document.location.href.replace(document.location.hash, ''), | ||
pageSource, | ||
inlineScriptSourceRegExp, | ||
inlineScriptSource, | ||
scripts = document.getElementsByTagName('script'); // Live NodeList collection | ||
if (scriptLocation === currentLocation) { | ||
pageSource = document.documentElement.outerHTML; | ||
inlineScriptSourceRegExp = new RegExp('(?:[^\\n]+?\\n){0,' + (line - 2) + '}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*', 'i'); | ||
inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim(); | ||
} | ||
for (var i = 0; i < scripts.length; i++) { | ||
// If ready state is interactive, return the script tag | ||
if (scripts[i].readyState === 'interactive') { | ||
return scripts[i]; | ||
} | ||
// If src matches, return the script tag | ||
if (scripts[i].src === scriptLocation) { | ||
return scripts[i]; | ||
} | ||
// If inline source matches, return the script tag | ||
if ( | ||
scriptLocation === currentLocation && | ||
scripts[i].innerHTML && | ||
scripts[i].innerHTML.trim() === inlineScriptSource | ||
) { | ||
return scripts[i]; | ||
} | ||
} | ||
// If no match, return null | ||
return null; | ||
} | ||
}; | ||
return getCurrentScript | ||
})); | ||
/***/ }), | ||
/***/ "8925": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var store = __webpack_require__("c6cd"); | ||
var functionToString = Function.toString; | ||
// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper | ||
if (typeof store.inspectSource != 'function') { | ||
store.inspectSource = function (it) { | ||
return functionToString.call(it); | ||
}; | ||
} | ||
module.exports = store.inspectSource; | ||
/***/ }), | ||
/***/ "8aa5": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var charAt = __webpack_require__("6547").charAt; | ||
// `AdvanceStringIndex` abstract operation | ||
// https://tc39.es/ecma262/#sec-advancestringindex | ||
module.exports = function (S, index, unicode) { | ||
return index + (unicode ? charAt(S, index).length : 1); | ||
}; | ||
/***/ }), | ||
/***/ "8bbf": | ||
/***/ (function(module, exports) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; | ||
/***/ }), | ||
/***/ "90e3": | ||
/***/ (function(module, exports) { | ||
var id = 0; | ||
var postfix = Math.random(); | ||
module.exports = function (key) { | ||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); | ||
}; | ||
/***/ }), | ||
/***/ "9112": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var DESCRIPTORS = __webpack_require__("83ab"); | ||
var definePropertyModule = __webpack_require__("9bf2"); | ||
var createPropertyDescriptor = __webpack_require__("5c6c"); | ||
module.exports = DESCRIPTORS ? function (object, key, value) { | ||
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); | ||
} : function (object, key, value) { | ||
object[key] = value; | ||
return object; | ||
}; | ||
/***/ }), | ||
/***/ "9263": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var regexpFlags = __webpack_require__("ad6d"); | ||
var stickyHelpers = __webpack_require__("9f7f"); | ||
var nativeExec = RegExp.prototype.exec; | ||
// This always refers to the native implementation, because the | ||
// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, | ||
// which loads this file before patching the method. | ||
var nativeReplace = String.prototype.replace; | ||
var patchedExec = nativeExec; | ||
var UPDATES_LAST_INDEX_WRONG = (function () { | ||
var re1 = /a/; | ||
var re2 = /b*/g; | ||
nativeExec.call(re1, 'a'); | ||
nativeExec.call(re2, 'a'); | ||
return re1.lastIndex !== 0 || re2.lastIndex !== 0; | ||
})(); | ||
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; | ||
// nonparticipating capturing group, copied from es5-shim's String#split patch. | ||
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; | ||
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y; | ||
if (PATCH) { | ||
patchedExec = function exec(str) { | ||
var re = this; | ||
var lastIndex, reCopy, match, i; | ||
var sticky = UNSUPPORTED_Y && re.sticky; | ||
var flags = regexpFlags.call(re); | ||
var source = re.source; | ||
var charsAdded = 0; | ||
var strCopy = str; | ||
if (sticky) { | ||
flags = flags.replace('y', ''); | ||
if (flags.indexOf('g') === -1) { | ||
flags += 'g'; | ||
} | ||
strCopy = String(str).slice(re.lastIndex); | ||
// Support anchored sticky behavior. | ||
if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) { | ||
source = '(?: ' + source + ')'; | ||
strCopy = ' ' + strCopy; | ||
charsAdded++; | ||
} | ||
// ^(? + rx + ) is needed, in combination with some str slicing, to | ||
// simulate the 'y' flag. | ||
reCopy = new RegExp('^(?:' + source + ')', flags); | ||
} | ||
if (NPCG_INCLUDED) { | ||
reCopy = new RegExp('^' + source + '$(?!\\s)', flags); | ||
} | ||
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; | ||
match = nativeExec.call(sticky ? reCopy : re, strCopy); | ||
if (sticky) { | ||
if (match) { | ||
match.input = match.input.slice(charsAdded); | ||
match[0] = match[0].slice(charsAdded); | ||
match.index = re.lastIndex; | ||
re.lastIndex += match[0].length; | ||
} else re.lastIndex = 0; | ||
} else if (UPDATES_LAST_INDEX_WRONG && match) { | ||
re.lastIndex = re.global ? match.index + match[0].length : lastIndex; | ||
} | ||
if (NPCG_INCLUDED && match && match.length > 1) { | ||
// Fix browsers whose `exec` methods don't consistently return `undefined` | ||
// for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ | ||
nativeReplace.call(match[0], reCopy, function () { | ||
for (i = 1; i < arguments.length - 2; i++) { | ||
if (arguments[i] === undefined) match[i] = undefined; | ||
} | ||
}); | ||
} | ||
return match; | ||
}; | ||
} | ||
module.exports = patchedExec; | ||
/***/ }), | ||
/***/ "94ca": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var fails = __webpack_require__("d039"); | ||
var replacement = /#|\.prototype\./; | ||
var isForced = function (feature, detection) { | ||
var value = data[normalize(feature)]; | ||
return value == POLYFILL ? true | ||
: value == NATIVE ? false | ||
: typeof detection == 'function' ? fails(detection) | ||
: !!detection; | ||
}; | ||
var normalize = isForced.normalize = function (string) { | ||
return String(string).replace(replacement, '.').toLowerCase(); | ||
}; | ||
var data = isForced.data = {}; | ||
var NATIVE = isForced.NATIVE = 'N'; | ||
var POLYFILL = isForced.POLYFILL = 'P'; | ||
module.exports = isForced; | ||
/***/ }), | ||
/***/ "9bf2": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var DESCRIPTORS = __webpack_require__("83ab"); | ||
var IE8_DOM_DEFINE = __webpack_require__("0cfb"); | ||
var anObject = __webpack_require__("825a"); | ||
var toPrimitive = __webpack_require__("c04e"); | ||
var nativeDefineProperty = Object.defineProperty; | ||
// `Object.defineProperty` method | ||
// https://tc39.es/ecma262/#sec-object.defineproperty | ||
exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { | ||
anObject(O); | ||
P = toPrimitive(P, true); | ||
anObject(Attributes); | ||
if (IE8_DOM_DEFINE) try { | ||
return nativeDefineProperty(O, P, Attributes); | ||
} catch (error) { /* empty */ } | ||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); | ||
if ('value' in Attributes) O[P] = Attributes.value; | ||
return O; | ||
}; | ||
/***/ }), | ||
/***/ "9f7f": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var fails = __webpack_require__("d039"); | ||
// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError, | ||
// so we use an intermediate function. | ||
function RE(s, f) { | ||
return RegExp(s, f); | ||
} | ||
exports.UNSUPPORTED_Y = fails(function () { | ||
// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError | ||
var re = RE('a', 'y'); | ||
re.lastIndex = 2; | ||
return re.exec('abcd') != null; | ||
}); | ||
exports.BROKEN_CARET = fails(function () { | ||
// https://bugzilla.mozilla.org/show_bug.cgi?id=773687 | ||
var re = RE('^r', 'gy'); | ||
re.lastIndex = 2; | ||
return re.exec('str') != null; | ||
}); | ||
/***/ }), | ||
/***/ "a15b": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var $ = __webpack_require__("23e7"); | ||
var IndexedObject = __webpack_require__("44ad"); | ||
var toIndexedObject = __webpack_require__("fc6a"); | ||
var arrayMethodIsStrict = __webpack_require__("a640"); | ||
var nativeJoin = [].join; | ||
var ES3_STRINGS = IndexedObject != Object; | ||
var STRICT_METHOD = arrayMethodIsStrict('join', ','); | ||
// `Array.prototype.join` method | ||
// https://tc39.es/ecma262/#sec-array.prototype.join | ||
$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { | ||
join: function join(separator) { | ||
return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); | ||
} | ||
}); | ||
/***/ }), | ||
/***/ "a640": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var fails = __webpack_require__("d039"); | ||
module.exports = function (METHOD_NAME, argument) { | ||
var method = [][METHOD_NAME]; | ||
return !!method && fails(function () { | ||
// eslint-disable-next-line no-useless-call,no-throw-literal | ||
method.call(null, argument || function () { throw 1; }, 1); | ||
}); | ||
}; | ||
/***/ }), | ||
/***/ "a691": | ||
/***/ (function(module, exports) { | ||
var ceil = Math.ceil; | ||
var floor = Math.floor; | ||
// `ToInteger` abstract operation | ||
// https://tc39.es/ecma262/#sec-tointeger | ||
module.exports = function (argument) { | ||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); | ||
}; | ||
/***/ }), | ||
/***/ "ac1f": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var $ = __webpack_require__("23e7"); | ||
var exec = __webpack_require__("9263"); | ||
// `RegExp.prototype.exec` method | ||
// https://tc39.es/ecma262/#sec-regexp.prototype.exec | ||
$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { | ||
exec: exec | ||
}); | ||
/***/ }), | ||
/***/ "ad6d": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var anObject = __webpack_require__("825a"); | ||
// `RegExp.prototype.flags` getter implementation | ||
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags | ||
module.exports = function () { | ||
var that = anObject(this); | ||
var result = ''; | ||
if (that.global) result += 'g'; | ||
if (that.ignoreCase) result += 'i'; | ||
if (that.multiline) result += 'm'; | ||
if (that.dotAll) result += 's'; | ||
if (that.unicode) result += 'u'; | ||
if (that.sticky) result += 'y'; | ||
return result; | ||
}; | ||
/***/ }), | ||
/***/ "b622": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var global = __webpack_require__("da84"); | ||
var shared = __webpack_require__("5692"); | ||
var has = __webpack_require__("5135"); | ||
var uid = __webpack_require__("90e3"); | ||
var NATIVE_SYMBOL = __webpack_require__("4930"); | ||
var USE_SYMBOL_AS_UID = __webpack_require__("fdbf"); | ||
var WellKnownSymbolsStore = shared('wks'); | ||
var Symbol = global.Symbol; | ||
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; | ||
module.exports = function (name) { | ||
if (!has(WellKnownSymbolsStore, name)) { | ||
if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name]; | ||
else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); | ||
} return WellKnownSymbolsStore[name]; | ||
}; | ||
/***/ }), | ||
/***/ "c04e": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var isObject = __webpack_require__("861d"); | ||
// `ToPrimitive` abstract operation | ||
// https://tc39.es/ecma262/#sec-toprimitive | ||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case | ||
// and the second argument - flag - preferred type is a string | ||
module.exports = function (input, PREFERRED_STRING) { | ||
if (!isObject(input)) return input; | ||
var fn, val; | ||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; | ||
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; | ||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; | ||
throw TypeError("Can't convert object to primitive value"); | ||
}; | ||
/***/ }), | ||
/***/ "c430": | ||
/***/ (function(module, exports) { | ||
module.exports = false; | ||
/***/ }), | ||
/***/ "c6b6": | ||
/***/ (function(module, exports) { | ||
var toString = {}.toString; | ||
module.exports = function (it) { | ||
return toString.call(it).slice(8, -1); | ||
}; | ||
/***/ }), | ||
/***/ "c6cd": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var global = __webpack_require__("da84"); | ||
var setGlobal = __webpack_require__("ce4e"); | ||
var SHARED = '__core-js_shared__'; | ||
var store = global[SHARED] || setGlobal(SHARED, {}); | ||
module.exports = store; | ||
/***/ }), | ||
/***/ "c8ba": | ||
/***/ (function(module, exports) { | ||
var g; | ||
// This works in non-strict mode | ||
g = (function() { | ||
return this; | ||
})(); | ||
try { | ||
// This works if eval is allowed (see CSP) | ||
g = g || new Function("return this")(); | ||
} catch (e) { | ||
// This works if the window reference is available | ||
if (typeof window === "object") g = window; | ||
} | ||
// g can still be undefined, but nothing to do about it... | ||
// We return undefined, instead of nothing here, so it's | ||
// easier to handle this case. if(!global) { ...} | ||
module.exports = g; | ||
/***/ }), | ||
/***/ "ca84": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var has = __webpack_require__("5135"); | ||
var toIndexedObject = __webpack_require__("fc6a"); | ||
var indexOf = __webpack_require__("4d64").indexOf; | ||
var hiddenKeys = __webpack_require__("d012"); | ||
module.exports = function (object, names) { | ||
var O = toIndexedObject(object); | ||
var i = 0; | ||
var result = []; | ||
var key; | ||
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); | ||
// Don't enum bug & hidden keys | ||
while (names.length > i) if (has(O, key = names[i++])) { | ||
~indexOf(result, key) || result.push(key); | ||
} | ||
return result; | ||
}; | ||
/***/ }), | ||
/***/ "cc12": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var global = __webpack_require__("da84"); | ||
var isObject = __webpack_require__("861d"); | ||
var document = global.document; | ||
// typeof document.createElement is 'object' in old IE | ||
var EXISTS = isObject(document) && isObject(document.createElement); | ||
module.exports = function (it) { | ||
return EXISTS ? document.createElement(it) : {}; | ||
}; | ||
/***/ }), | ||
/***/ "ce4e": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var global = __webpack_require__("da84"); | ||
var createNonEnumerableProperty = __webpack_require__("9112"); | ||
module.exports = function (key, value) { | ||
try { | ||
createNonEnumerableProperty(global, key, value); | ||
} catch (error) { | ||
global[key] = value; | ||
} return value; | ||
}; | ||
/***/ }), | ||
/***/ "d012": | ||
/***/ (function(module, exports) { | ||
module.exports = {}; | ||
/***/ }), | ||
/***/ "d039": | ||
/***/ (function(module, exports) { | ||
module.exports = function (exec) { | ||
try { | ||
return !!exec(); | ||
} catch (error) { | ||
return true; | ||
} | ||
}; | ||
/***/ }), | ||
/***/ "d066": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var path = __webpack_require__("428f"); | ||
var global = __webpack_require__("da84"); | ||
var aFunction = function (variable) { | ||
return typeof variable == 'function' ? variable : undefined; | ||
}; | ||
module.exports = function (namespace, method) { | ||
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) | ||
: path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; | ||
}; | ||
/***/ }), | ||
/***/ "d1e7": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var nativePropertyIsEnumerable = {}.propertyIsEnumerable; | ||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; | ||
// Nashorn ~ JDK8 bug | ||
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); | ||
// `Object.prototype.propertyIsEnumerable` method implementation | ||
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable | ||
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { | ||
var descriptor = getOwnPropertyDescriptor(this, V); | ||
return !!descriptor && descriptor.enumerable; | ||
} : nativePropertyIsEnumerable; | ||
/***/ }), | ||
/***/ "d784": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
// TODO: Remove from `core-js@4` since it's moved to entry points | ||
__webpack_require__("ac1f"); | ||
var redefine = __webpack_require__("6eeb"); | ||
var fails = __webpack_require__("d039"); | ||
var wellKnownSymbol = __webpack_require__("b622"); | ||
var regexpExec = __webpack_require__("9263"); | ||
var createNonEnumerableProperty = __webpack_require__("9112"); | ||
var SPECIES = wellKnownSymbol('species'); | ||
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { | ||
// #replace needs built-in support for named groups. | ||
// #match works fine because it just return the exec results, even if it has | ||
// a "grops" property. | ||
var re = /./; | ||
re.exec = function () { | ||
var result = []; | ||
result.groups = { a: '7' }; | ||
return result; | ||
}; | ||
return ''.replace(re, '$<a>') !== '7'; | ||
}); | ||
// IE <= 11 replaces $0 with the whole match, as if it was $& | ||
// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 | ||
var REPLACE_KEEPS_$0 = (function () { | ||
return 'a'.replace(/./, '$0') === '$0'; | ||
})(); | ||
var REPLACE = wellKnownSymbol('replace'); | ||
// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string | ||
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { | ||
if (/./[REPLACE]) { | ||
return /./[REPLACE]('a', '$0') === ''; | ||
} | ||
return false; | ||
})(); | ||
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec | ||
// Weex JS has frozen built-in prototypes, so use try / catch wrapper | ||
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { | ||
var re = /(?:)/; | ||
var originalExec = re.exec; | ||
re.exec = function () { return originalExec.apply(this, arguments); }; | ||
var result = 'ab'.split(re); | ||
return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; | ||
}); | ||
module.exports = function (KEY, length, exec, sham) { | ||
var SYMBOL = wellKnownSymbol(KEY); | ||
var DELEGATES_TO_SYMBOL = !fails(function () { | ||
// String methods call symbol-named RegEp methods | ||
var O = {}; | ||
O[SYMBOL] = function () { return 7; }; | ||
return ''[KEY](O) != 7; | ||
}); | ||
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { | ||
// Symbol-named RegExp methods call .exec | ||
var execCalled = false; | ||
var re = /a/; | ||
if (KEY === 'split') { | ||
// We can't use real regex here since it causes deoptimization | ||
// and serious performance degradation in V8 | ||
// https://github.com/zloirock/core-js/issues/306 | ||
re = {}; | ||
// RegExp[@@split] doesn't call the regex's exec method, but first creates | ||
// a new one. We need to return the patched regex when creating the new one. | ||
re.constructor = {}; | ||
re.constructor[SPECIES] = function () { return re; }; | ||
re.flags = ''; | ||
re[SYMBOL] = /./[SYMBOL]; | ||
} | ||
re.exec = function () { execCalled = true; return null; }; | ||
re[SYMBOL](''); | ||
return !execCalled; | ||
}); | ||
if ( | ||
!DELEGATES_TO_SYMBOL || | ||
!DELEGATES_TO_EXEC || | ||
(KEY === 'replace' && !( | ||
REPLACE_SUPPORTS_NAMED_GROUPS && | ||
REPLACE_KEEPS_$0 && | ||
!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE | ||
)) || | ||
(KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) | ||
) { | ||
var nativeRegExpMethod = /./[SYMBOL]; | ||
var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { | ||
if (regexp.exec === regexpExec) { | ||
if (DELEGATES_TO_SYMBOL && !forceStringMethod) { | ||
// The native String method already delegates to @@method (this | ||
// polyfilled function), leasing to infinite recursion. | ||
// We avoid it by directly calling the native @@method method. | ||
return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; | ||
} | ||
return { done: true, value: nativeMethod.call(str, regexp, arg2) }; | ||
} | ||
return { done: false }; | ||
}, { | ||
REPLACE_KEEPS_$0: REPLACE_KEEPS_$0, | ||
REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE | ||
}); | ||
var stringMethod = methods[0]; | ||
var regexMethod = methods[1]; | ||
redefine(String.prototype, KEY, stringMethod); | ||
redefine(RegExp.prototype, SYMBOL, length == 2 | ||
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) | ||
// 21.2.5.11 RegExp.prototype[@@split](string, limit) | ||
? function (string, arg) { return regexMethod.call(string, this, arg); } | ||
// 21.2.5.6 RegExp.prototype[@@match](string) | ||
// 21.2.5.9 RegExp.prototype[@@search](string) | ||
: function (string) { return regexMethod.call(string, this); } | ||
); | ||
} | ||
if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); | ||
}; | ||
/***/ }), | ||
/***/ "da84": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) { | ||
return it && it.Math == Math && it; | ||
}; | ||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 | ||
module.exports = | ||
// eslint-disable-next-line no-undef | ||
check(typeof globalThis == 'object' && globalThis) || | ||
check(typeof window == 'object' && window) || | ||
check(typeof self == 'object' && self) || | ||
check(typeof global == 'object' && global) || | ||
// eslint-disable-next-line no-new-func | ||
(function () { return this; })() || Function('return this')(); | ||
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("c8ba"))) | ||
/***/ }), | ||
/***/ "e893": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var has = __webpack_require__("5135"); | ||
var ownKeys = __webpack_require__("56ef"); | ||
var getOwnPropertyDescriptorModule = __webpack_require__("06cf"); | ||
var definePropertyModule = __webpack_require__("9bf2"); | ||
module.exports = function (target, source) { | ||
var keys = ownKeys(source); | ||
var defineProperty = definePropertyModule.f; | ||
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; | ||
for (var i = 0; i < keys.length; i++) { | ||
var key = keys[i]; | ||
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); | ||
} | ||
}; | ||
/***/ }), | ||
/***/ "f772": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var shared = __webpack_require__("5692"); | ||
var uid = __webpack_require__("90e3"); | ||
var keys = shared('keys'); | ||
module.exports = function (key) { | ||
return keys[key] || (keys[key] = uid(key)); | ||
}; | ||
/***/ }), | ||
/***/ "fb15": | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
// ESM COMPAT FLAG | ||
__webpack_require__.r(__webpack_exports__); | ||
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js | ||
// This file is imported into lib/wc client bundles. | ||
if (typeof window !== 'undefined') { | ||
var currentScript = window.document.currentScript | ||
if (true) { | ||
var getCurrentScript = __webpack_require__("8875") | ||
currentScript = getCurrentScript() | ||
// for backward compatibility, because previously we directly included the polyfill | ||
if (!('currentScript' in document)) { | ||
Object.defineProperty(document, 'currentScript', { get: getCurrentScript }) | ||
} | ||
} | ||
var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) | ||
if (src) { | ||
__webpack_require__.p = src[1] // eslint-disable-line | ||
} | ||
} | ||
// Indicate to webpack that this file can be concatenated | ||
/* harmony default export */ var setPublicPath = (null); | ||
// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} | ||
var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); | ||
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/contenteditable.vue?vue&type=template&id=7d4a7f28&scoped=true | ||
var _withId = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withScopeId"])("data-v-7d4a7f28"); | ||
var render = /*#__PURE__*/_withId(function (_ctx, _cache, $props, $setup, $data, $options) { | ||
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(_ctx.tag), { | ||
contenteditable: _ctx.contenteditable, | ||
onInput: _ctx.update, | ||
onBlur: _ctx.update, | ||
onPaste: _ctx.onPaste, | ||
onKeypress: _ctx.onKeypress, | ||
ref: "element" | ||
}, null, 8, ["contenteditable", "onInput", "onBlur", "onPaste", "onKeypress"]); | ||
}); | ||
// CONCATENATED MODULE: ./src/components/contenteditable.vue?vue&type=template&id=7d4a7f28&scoped=true | ||
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js | ||
var es_array_join = __webpack_require__("a15b"); | ||
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js | ||
var es_regexp_exec = __webpack_require__("ac1f"); | ||
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js | ||
var es_string_split = __webpack_require__("1276"); | ||
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--14-1!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/contenteditable.vue?vue&type=script&lang=ts | ||
function replaceAll(str, search, replacement) { | ||
return str.split(search).join(replacement); | ||
} | ||
/* harmony default export */ var contenteditablevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | ||
name: 'contenteditable', | ||
props: { | ||
'tag': String, | ||
'contenteditable': { | ||
type: Boolean, | ||
default: true | ||
}, | ||
'modelValue': String, | ||
'noHTML': { | ||
type: Boolean, | ||
default: true | ||
}, | ||
'noNL': { | ||
type: Boolean, | ||
default: false | ||
} | ||
}, | ||
emits: { | ||
'returned': String, | ||
'update:modelValue': String | ||
}, | ||
setup: function setup(props, _ref) { | ||
var emit = _ref.emit; | ||
var element = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(null); | ||
function currentContent() { | ||
return props.noHTML ? element.value.innerText : element.value.innerHTML; | ||
} | ||
function updateContent(newcontent) { | ||
if (props.noHTML) { | ||
element.value.innerText = newcontent; | ||
} else { | ||
element.value.innerHTML = newcontent; | ||
} | ||
} | ||
function update(event) { | ||
emit('update:modelValue', currentContent()); | ||
} | ||
function onPaste(event) { | ||
event.preventDefault(); | ||
var text = (event.originalEvent || event).clipboardData.getData('text/plain'); | ||
if (props.noNL) { | ||
text = replaceAll(text, '\r\n', ' '); | ||
text = replaceAll(text, '\n', ' '); | ||
text = replaceAll(text, '\r', ' '); | ||
} | ||
window.document.execCommand('insertText', false, text); | ||
} | ||
function onKeypress(event) { | ||
if (event.key == 'Enter' && props.noNL) { | ||
event.preventDefault(); | ||
emit('returned', currentContent()); | ||
} | ||
} | ||
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () { | ||
var _props$modelValue; | ||
updateContent((_props$modelValue = props.modelValue) !== null && _props$modelValue !== void 0 ? _props$modelValue : ''); | ||
}); | ||
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | ||
return props.modelValue; | ||
}, function (newval, oldval) { | ||
if (newval != currentContent()) { | ||
updateContent(newval !== null && newval !== void 0 ? newval : ''); | ||
} | ||
}); | ||
return { | ||
update: update, | ||
onPaste: onPaste, | ||
onKeypress: onKeypress, | ||
element: element | ||
}; | ||
} | ||
})); | ||
// CONCATENATED MODULE: ./src/components/contenteditable.vue?vue&type=script&lang=ts | ||
// CONCATENATED MODULE: ./src/components/contenteditable.vue | ||
contenteditablevue_type_script_lang_ts.render = render | ||
contenteditablevue_type_script_lang_ts.__scopeId = "data-v-7d4a7f28" | ||
/* harmony default export */ var contenteditable = (contenteditablevue_type_script_lang_ts); | ||
// CONCATENATED MODULE: ./src/main.ts | ||
/* harmony default export */ var main = (contenteditable); | ||
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js | ||
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (main); | ||
/***/ }), | ||
/***/ "fc6a": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
// toObject with fallback for non-array-like ES3 strings | ||
var IndexedObject = __webpack_require__("44ad"); | ||
var requireObjectCoercible = __webpack_require__("1d80"); | ||
module.exports = function (it) { | ||
return IndexedObject(requireObjectCoercible(it)); | ||
}; | ||
/***/ }), | ||
/***/ "fdbf": | ||
/***/ (function(module, exports, __webpack_require__) { | ||
var NATIVE_SYMBOL = __webpack_require__("4930"); | ||
module.exports = NATIVE_SYMBOL | ||
// eslint-disable-next-line no-undef | ||
&& !Symbol.sham | ||
// eslint-disable-next-line no-undef | ||
&& typeof Symbol.iterator == 'symbol'; | ||
/***/ }) | ||
/******/ }); | ||
}); | ||
//# sourceMappingURL=vue-contenteditable.umd.js.map | ||
(function(n,i){typeof exports=="object"&&typeof module!="undefined"?module.exports=i(require("vue")):typeof define=="function"&&define.amd?define(["vue"],i):(n=typeof globalThis!="undefined"?globalThis:n||self,n.contenteditable=i(n.Vue))})(this,function(n){"use strict";return n.defineComponent({__name:"contenteditable",props:{tag:String,contenteditable:{type:Boolean,default:!0},modelValue:String,noHtml:{type:Boolean,default:!0},noNl:{type:Boolean,default:!1}},emits:{returned:String,"update:modelValue":String},setup(u,{emit:f}){const o=u;function r(e,t,a){return e.split(t).join(a)}const l=n.ref();n.onMounted(()=>{console.log({"element.value":l.value})});function d(){return o.noHtml?l.value.innerText:l.value.innerHTML}function c(e){o.noHtml?l.value.innerText=e:l.value.innerHTML=e}function m(e){f("update:modelValue",d())}function p(e){e.preventDefault();let t=(e.originalEvent||e).clipboardData.getData("text/plain");o.noNl&&(t=r(t,`\r | ||
`," "),t=r(t,` | ||
`," "),t=r(t,"\r"," ")),window.document.execCommand("insertText",!1,t)}function s(e){e.key=="Enter"&&o.noNl&&(e.preventDefault(),f("returned",d()))}return n.onMounted(()=>{var e;c((e=o.modelValue)!=null?e:"")}),n.watch(()=>o.modelValue,(e,t)=>{e!=d()&&c(e!=null?e:"")}),n.watch(()=>o.noHtml,(e,t)=>{var a;c((a=o.modelValue)!=null?a:"")}),(e,t)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(u.tag),{contenteditable:u.contenteditable,onInput:m,onBlur:m,onPaste:p,onKeypress:s,ref_key:"element",ref:l},null,40,["contenteditable"]))}})}); |
{ | ||
"name": "vue-contenteditable", | ||
"version": "3.0.4", | ||
"scripts": { | ||
"serve": "vue-cli-service serve", | ||
"build": "vue-cli-service build --target lib --name vue-contenteditable src/main.ts", | ||
"lint": "vue-cli-service lint", | ||
"bundleDts": "vue-cli-service bundle-dts --name vue-contenteditable --createIndex" | ||
}, | ||
"version": "4.0.0", | ||
"author": "Léo Falventin Hauchecorne", | ||
@@ -20,5 +14,6 @@ "description": "This plugin provides a `<contenteditable/>` element supporting `v-model`. It also provides some (optional) features, like preventing html input and paste, or new lines.", | ||
"vue-contenteditable", | ||
"v-model" | ||
"v-model", | ||
"typescript" | ||
], | ||
"homepage": "https://github.com/hl037/vue-contenteditable", | ||
"homepage": "https://github.com/hl037/vue-contenteditable#vue-contenteditable", | ||
"bugs": { | ||
@@ -30,28 +25,21 @@ "url": "https://github.com/hl037/vue-contenteditable/issues", | ||
"repository": "github:hl037/vue-contenteditable", | ||
"main": "dist/vue-contenteditable.umd.min.js", | ||
"files": [ | ||
"dist/*", | ||
"index.d.ts" | ||
"dist/*" | ||
], | ||
"peerDependencies": { | ||
"vue": "^3.0.0" | ||
"vue": "^3.2.25" | ||
}, | ||
"devDependencies": { | ||
"@typescript-eslint/eslint-plugin": "^2.33.0", | ||
"@typescript-eslint/parser": "^2.33.0", | ||
"@vue/cli-plugin-babel": "~4.5.0", | ||
"@vue/cli-plugin-eslint": "~4.5.0", | ||
"@vue/cli-plugin-typescript": "~4.5.0", | ||
"@vue/cli-service": "~4.5.0", | ||
"@vue/compiler-sfc": "^3.0.0", | ||
"@vue/eslint-config-typescript": "^5.0.2", | ||
"@hl037/vue-cli-plugin-ts-bundler": "hl037/vue-cli-plugin-ts-bundler.git", | ||
"core-js": "^3.6.5", | ||
"dts-bundle": "^0.7.3", | ||
"eslint": "^6.7.2", | ||
"eslint-plugin-vue": "^7.0.0-0", | ||
"typescript": "~3.9.3" | ||
"vue": "^3.2.25", | ||
"@vitejs/plugin-vue": "^2.3.3", | ||
"typescript": "^4.5.4", | ||
"vite": "^2.9.9", | ||
"vue-tsc": "^0.34.7" | ||
}, | ||
"entry": "src/main.ts", | ||
"typings": "dist/vue-contenteditable.d.ts" | ||
} | ||
"type": "module", | ||
"main": "dist/vue-contenteditable.es.js", | ||
"types": "dist/vue-contenteditable.d.ts", | ||
"scripts": { | ||
"build": "vite build && vue-tsc --declaration --emitDeclarationOnly --outFile dist/vue-contenteditable.js" | ||
} | ||
} |
134
README.md
@@ -10,18 +10,22 @@ | ||
New in version 3.0.0 : Typescript support ! | ||
npm package : https://www.npmjs.com/package/vue-contenteditable | ||
github repository : https://github.com/hl037/vue-contenteditable | ||
## Should you use a content editable ? | ||
The response is generally **NO**. | ||
The response is generally "no". | ||
But... there are edge cases where neither `<input/>` nor `<textarea>` could suit, for example when you need a dynamic object size to adapt to user input text size. | ||
But... there are edge cases where neither `<input/>` nor `<textarea>` could suit, for example when you need a dynamic object size to adapt to the user input text's size. | ||
## Installation | ||
NOTE : Version 3.0.0 is only compatible with VueJS v3+. For VueJS v2, please install the version 1.0.2. | ||
NOTE : Versions 3.0.0+ are only compatible with VueJS v3+. For VueJS v2, please install the version 1.0.2. | ||
### With a build system | ||
I recommand using pnpm + vite for any vue project. You could indeed encounter problems due to several Vue instances using another package managers (errors like "Missing ref owner context"). Nevertheless, this package should work with any package manager. | ||
``` | ||
npm install --save vue-contenteditable | ||
pnpm add vue-contenteditable | ||
``` | ||
@@ -35,39 +39,38 @@ | ||
or | ||
In your `main.js` : | ||
```javascript | ||
import contenteditable from 'vue-contenteditable' | ||
Vue.use(contenteditable) | ||
``` | ||
npm install --save vue-contenteditable | ||
``` | ||
Or simply register in the `components` field of each component using it. | ||
### (Re)build | ||
The needed files are already provided in `dist/`, but if you want to re-build, simlply run : | ||
The needed files are already provided in `dist/`, but if you want to re-build, simply run : | ||
(To install the dependencies) | ||
```yarn``` | ||
**Due to a limitation in the vue cli plugin order, you have to manually edit the `package.json` to put the lines :** | ||
Install the dependencies : | ||
``` | ||
"@hl037/vue-cli-plugin-ts-bundler": "hl037/vue-cli-plugin-ts-bundler.git" | ||
pnpm i | ||
``` | ||
**At the end of the "devDependencies" object** | ||
Build and typescript declarations: | ||
``` | ||
yarn build | ||
yarn bundleDts | ||
pnpm build | ||
``` | ||
The last command is for typescript support. | ||
### Directely in html | ||
```html | ||
<script src="contenteditable.min.js"></script> | ||
``` | ||
<script src="contenteditable.min.js"></script> | ||
## Global registration | ||
This is optionnal, and I would not do it myself, but you can register the `contenteditable` component globally so that you don't need to import it: | ||
In your `main.js` : | ||
```javascript | ||
import contenteditable from 'vue-contenteditable' | ||
Vue.use(contenteditable) | ||
``` | ||
@@ -77,24 +80,50 @@ | ||
For advance usages, please refer to the samples provided in the git repository. There are examples writen in js and ts, one using vue-cli, two using vite. | ||
### SFC Composition style | ||
```javascript | ||
<template> | ||
<contenteditable tag="div" :contenteditable="isEditable" v-model="message" :noNL="true" :noHTML="true" @returned="enterPressed" /> | ||
</template> | ||
<script> | ||
export default { | ||
data() { | ||
return { | ||
isEditable: true, | ||
message: "hello" | ||
} | ||
}, | ||
methods : { | ||
enterPressed(){ | ||
alert('Enter Pressed'); | ||
} | ||
} | ||
<template> | ||
<contenteditable tag="div" :contenteditable="isEditable" v-model="message" :no-nl="true" :no-html="true" @returned="enterPressed" /> | ||
</template> | ||
<script setup> | ||
import { defineProps, ref, computed, onMounted, watch } from 'vue'; | ||
import contenteditable from 'vue-contenteditable'; // Not needed it registered globally | ||
const isEditable = ref(true); | ||
const message = ref("hello") | ||
function enterPressed(){ | ||
alert('Enter Pressed'); | ||
} | ||
``` | ||
### Option style | ||
```javascript | ||
<template> | ||
<contenteditable tag="div" :contenteditable="isEditable" v-model="message" :noNL="true" :noHTML="true" @returned="enterPressed" /> | ||
</template> | ||
<script> | ||
import contenteditable from 'vue-contenteditable'; // Not needed it registered globally | ||
export default { | ||
components : { | ||
contenteditable | ||
}, // Not needed it registered globally | ||
data() { | ||
return { | ||
isEditable: true, | ||
message: "hello" | ||
} | ||
}, | ||
methods : { | ||
enterPressed(){ | ||
alert('Enter Pressed'); | ||
} | ||
} | ||
} | ||
``` | ||
For advance usages, please refer to the samples provided in the git repository. There is an example written in ts and one in js. These samples demonstrate all the the features of the component. | ||
@@ -108,4 +137,4 @@ ### Props | ||
`contenteditable` | `Boolean` | `true` | Forwarded to DOM's `contenteditable` https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/contentEditable. | ||
`noHTML` | `Boolean` | `true` | Prevent insertion (either typed or pasted) of html text | ||
`noNL` | `Boolean` | `false` | Prevent insertion of new-lines. Also activate `returned` event emission | ||
`no-html` | `Boolean` | `true` | Prevent insertion (either typed or pasted) of html text | ||
`no-nl` | `Boolean` | `false` | Prevent insertion of new-lines. Also activate `returned` event emission | ||
@@ -115,6 +144,19 @@ ### Events | ||
`returned` | ||
When the user press <kbd>⏎</kbd> and `noNL` is set, then it emits the `returned` event with the current value (as a `String`) as argument. | ||
When the user press <kbd>⏎</kbd> and `no-nl` is set, then it emits the `returned` event with the current value (as a `String`) as argument. | ||
All js events on the element can be transparantly listened to (the sample projects provide an example). | ||
## Changelogs | ||
### 4.0.0 | ||
* API change : `noNL` and `noHTML` renamed to `noNl` and `noHtml` to enable using dashed prop names (`no-nl` and `no-html` in templates). | ||
* Build with vite instead of vue-cli : simpler build and less dev dependencies | ||
* Smaller package (previous version bundled vue... Oops. | ||
### 3.0.0 | ||
* Vue 3 support | ||
* Typescript support | ||
## License | ||
@@ -121,0 +163,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
5
165
1
1
Yes
24124
7
342
2