/*! * DevExtreme-Quill Editor v.1.7.3 * https://js.devexpress.com/ * Copyright (c) 2020, Developer Express Inc. * Copyright (c) 2017, Slab * Copyright (c) 2014, Jason Chen * Copyright (c) 2013, salesforce.com */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["DevExpress"] = factory(); else root["DevExpress"] = root["DevExpress"] || {}, root["DevExpress"]["Quill"] = factory(); })(this, () => { return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 1674: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ OverriddenAttributor) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3866); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3398); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var OverriddenAttributor = /*#__PURE__*/function (_Attributor) { _inherits(OverriddenAttributor, _Attributor); var _super = _createSuper(OverriddenAttributor); function OverriddenAttributor(attrName, keyName) { var _options$allowedTags; var _this; var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { allowedTags: [] }; _classCallCheck(this, OverriddenAttributor); _this = _super.call(this, attrName, keyName, options); _this.allowedTags = (_options$allowedTags = options.allowedTags) !== null && _options$allowedTags !== void 0 ? _options$allowedTags : []; return _this; } _createClass(OverriddenAttributor, [{ key: "add", value: function add(node, value) { return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenAttributor.prototype), "add", this), node, value); } }, { key: "remove", value: function remove(node) { return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenAttributor.prototype), "remove", this), node); } }, { key: "value", value: function value(node) { return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenAttributor.prototype), "value", this), node); } }, { key: "canAdd", value: function canAdd(node, value) { return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateCanAdd.call */ .ud.call(this, _get(_getPrototypeOf(OverriddenAttributor.prototype), "canAdd", this), node, value); } }], [{ key: "keys", value: function keys(node) { return (0,_decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateKeys */ .dj)(_get(_getPrototypeOf(OverriddenAttributor), "keys", this), node, _utils__WEBPACK_IMPORTED_MODULE_2__/* .KeyNameType.attribute */ .WT.attribute); } }]); return OverriddenAttributor; }(parchment__WEBPACK_IMPORTED_MODULE_0__.Attributor); /***/ }), /***/ 3866: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Mx": () => (/* binding */ decorateMethodWithKeyName), /* harmony export */ "dj": () => (/* binding */ decorateKeys), /* harmony export */ "ud": () => (/* binding */ decorateCanAdd) /* harmony export */ }); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3398); function decorateMethodWithKeyName(method) { var originalKeyName = this.keyName; this.keyName = (0,_utils__WEBPACK_IMPORTED_MODULE_0__/* .removeCustomPrefixFromKeyName */ .mQ)(this.keyName); for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } var result = method.call.apply(method, [this].concat(args)); this.keyName = originalKeyName; return result; } function decorateCanAdd(originCanAdd, node, value) { var isNodeAllowed = this.allowedTags.indexOf(node.tagName) > -1; return isNodeAllowed && originCanAdd.call(this, node, value); } function decorateKeys(originKeys, node, keyType) { return originKeys(node).map(function (keyName) { return (0,_utils__WEBPACK_IMPORTED_MODULE_0__/* .getKeyNameWithCustomPrefix */ .jf)(node.tagName, keyName, keyType); }); } /***/ }), /***/ 4569: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ OverriddenStyleAttributor) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3866); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3398); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var OverriddenStyleAttributor = /*#__PURE__*/function (_StyleAttributor) { _inherits(OverriddenStyleAttributor, _StyleAttributor); var _super = _createSuper(OverriddenStyleAttributor); function OverriddenStyleAttributor(attrName, keyName) { var _options$allowedTags; var _this; var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { allowedTags: [] }; _classCallCheck(this, OverriddenStyleAttributor); _this = _super.call(this, attrName, keyName, options); _this.allowedTags = (_options$allowedTags = options.allowedTags) !== null && _options$allowedTags !== void 0 ? _options$allowedTags : []; return _this; } _createClass(OverriddenStyleAttributor, [{ key: "add", value: function add(node, value) { return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenStyleAttributor.prototype), "add", this), node, value); } }, { key: "remove", value: function remove(node) { return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenStyleAttributor.prototype), "remove", this), node); } }, { key: "value", value: function value(node) { return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenStyleAttributor.prototype), "value", this), node); } }, { key: "canAdd", value: function canAdd(node, value) { return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateCanAdd.call */ .ud.call(this, _get(_getPrototypeOf(OverriddenStyleAttributor.prototype), "canAdd", this), node, value); } }], [{ key: "keys", value: function keys(node) { return (0,_decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateKeys */ .dj)(_get(_getPrototypeOf(OverriddenStyleAttributor), "keys", this), node, _utils__WEBPACK_IMPORTED_MODULE_2__/* .KeyNameType.style */ .WT.style); } }]); return OverriddenStyleAttributor; }(parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor); /***/ }), /***/ 3398: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "WT": () => (/* binding */ KeyNameType), /* harmony export */ "jf": () => (/* binding */ getKeyNameWithCustomPrefix), /* harmony export */ "mQ": () => (/* binding */ removeCustomPrefixFromKeyName) /* harmony export */ }); /* harmony import */ var _formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19); /* harmony import */ var _formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8252); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } var KeyNameType = { attribute: 'attr', style: 'style' }; var OVERRIDDEN_ATTRIBUTORS_TAG_INFO = _objectSpread(_objectSpread({}, _formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__/* .tableConfig.allowedTags.reduce */ .Sp.allowedTags.reduce(function (result, tag) { result[tag] = { name: _formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__/* .tableConfig.name */ .Sp.name, keyNamesSet: _formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__/* .TABLE_KEY_NAME_SET */ .bc }; return result; }, {})), _formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__/* .cellConfig.allowedTags.reduce */ .Pw.allowedTags.reduce(function (result, tag) { result[tag] = { name: _formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__/* .cellConfig.name */ .Pw.name, keyNamesSet: _formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__/* .TABLE_CELL_KEY_NAME_SET */ .fU }; return result; }, {})); function getKeyNameWithCustomPrefix(tagName, keyName, keyType) { var tagInfo = OVERRIDDEN_ATTRIBUTORS_TAG_INFO[tagName]; if (!tagInfo) { return keyName; } return tagInfo.keyNamesSet.has(keyName) ? "".concat(keyType).concat(tagInfo.name, "_").concat(keyName) : keyName; } function removeCustomPrefixFromKeyName(keyNameWithPrefix) { return keyNameWithPrefix.replace(/([^]*_)/, ''); } /***/ }), /***/ 6446: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "i2": () => (/* binding */ BlockEmbed), "qz": () => (/* binding */ blockDelta), "E2": () => (/* binding */ bubbleFormats), "ZP": () => (/* binding */ Block) }); // EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js var Delta = __webpack_require__(9098); var Delta_default = /*#__PURE__*/__webpack_require__.n(Delta); // EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules var parchment = __webpack_require__(1233); // EXTERNAL MODULE: ./blots/break.js var blots_break = __webpack_require__(4122); // EXTERNAL MODULE: ./blots/inline.js var inline = __webpack_require__(6603); // EXTERNAL MODULE: ./blots/text.js var blots_text = __webpack_require__(8222); // EXTERNAL MODULE: ./attributors/utils.js var utils = __webpack_require__(3398); ;// CONCATENATED MODULE: ./parchment/override.js function fillAttributes(tagName, blot, keyNames, keyType) { return keyNames.map((keyName) => { const normalizedKeyName = keyType ? (0,utils/* getKeyNameWithCustomPrefix */.jf)(tagName, keyName, keyType) : keyName; return blot.scroll.query(normalizedKeyName, parchment.Scope.ATTRIBUTE); }).filter((attributor) => attributor instanceof parchment.Attributor) .reduce((result, attributor) => { result[attributor.attrName] = attributor; return result; }, {}); } function overrideParchment() { // eslint-disable-next-line no-undef, func-names parchment.AttributorStore.prototype.build = function () { const { tagName } = this.domNode; const blot = parchment.Registry.find(this.domNode); if (blot == null) { return; } const attributes = parchment.Attributor.keys(this.domNode); const classes = parchment.ClassAttributor.keys(this.domNode); const styles = parchment.StyleAttributor.keys(this.domNode); this.attributes = { ...fillAttributes(tagName, blot, attributes, utils/* KeyNameType.attribute */.WT.attribute), ...fillAttributes(tagName, blot, classes), ...fillAttributes(tagName, blot, styles, utils/* KeyNameType.style */.WT.style), }; }; } ;// CONCATENATED MODULE: ./blots/block.js function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } overrideParchment(); var NEWLINE_LENGTH = 1; var Block = /*#__PURE__*/function (_BlockBlot) { _inherits(Block, _BlockBlot); var _super = _createSuper(Block); function Block(scroll, domNode) { var _this; _classCallCheck(this, Block); _this = _super.call(this, scroll, domNode); _this.cache = {}; return _this; } _createClass(Block, [{ key: "delta", value: function delta() { if (this.cache.delta == null) { this.cache.delta = blockDelta(this); } return this.cache.delta; } }, { key: "deleteAt", value: function deleteAt(index, length) { _get(_getPrototypeOf(Block.prototype), "deleteAt", this).call(this, index, length); this.cache = {}; } }, { key: "formatAt", value: function formatAt(index, length, name, value) { if (length <= 0) return; if (this.scroll.query(name, parchment.Scope.BLOCK)) { if (index + length === this.length()) { this.format(name, value); } } else { _get(_getPrototypeOf(Block.prototype), "formatAt", this).call(this, index, Math.min(length, this.length() - index - 1), name, value); } this.cache = {}; } }, { key: "insertAt", value: function insertAt(index, value, def) { if (def != null) { _get(_getPrototypeOf(Block.prototype), "insertAt", this).call(this, index, value, def); this.cache = {}; return; } if (value.length === 0) return; var lines = value.split('\n'); var text = lines.shift(); if (text.length > 0) { if (index < this.length() - 1 || this.children.tail == null) { _get(_getPrototypeOf(Block.prototype), "insertAt", this).call(this, Math.min(index, this.length() - 1), text); } else { this.children.tail.insertAt(this.children.tail.length(), text); } this.cache = {}; } var block = this; lines.reduce(function (lineIndex, line) { block = block.split(lineIndex, true); block.insertAt(0, line); return line.length; }, index + text.length); } }, { key: "insertBefore", value: function insertBefore(blot, ref) { var head = this.children.head; // NOTE: This condition is necessary for correct composition events handling on Android devices. if (!ref || this.domNode.contains(ref.domNode)) { _get(_getPrototypeOf(Block.prototype), "insertBefore", this).call(this, blot, ref); } if (head instanceof blots_break/* default */.Z) { head.remove(); } this.cache = {}; } }, { key: "length", value: function length() { if (this.cache.length == null) { this.cache.length = _get(_getPrototypeOf(Block.prototype), "length", this).call(this) + NEWLINE_LENGTH; } return this.cache.length; } }, { key: "moveChildren", value: function moveChildren(target, ref) { _get(_getPrototypeOf(Block.prototype), "moveChildren", this).call(this, target, ref); this.cache = {}; } }, { key: "optimize", value: function optimize(context) { _get(_getPrototypeOf(Block.prototype), "optimize", this).call(this, context); this.cache = {}; } }, { key: "path", value: function path(index) { return _get(_getPrototypeOf(Block.prototype), "path", this).call(this, index, true); } }, { key: "removeChild", value: function removeChild(child) { _get(_getPrototypeOf(Block.prototype), "removeChild", this).call(this, child); this.cache = {}; } }, { key: "split", value: function split(index) { var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) { var clone = this.clone(); if (index === 0) { this.parent.insertBefore(clone, this); return this; } this.parent.insertBefore(clone, this.next); return clone; } var next = _get(_getPrototypeOf(Block.prototype), "split", this).call(this, index, force); this.cache = {}; return next; } }]); return Block; }(parchment.BlockBlot); Block.blotName = 'block'; Block.tagName = 'P'; Block.defaultChild = blots_break/* default */.Z; Block.allowedChildren = [blots_break/* default */.Z, inline/* default */.Z, parchment.EmbedBlot, blots_text/* default */.Z]; var BlockEmbed = /*#__PURE__*/function (_EmbedBlot) { _inherits(BlockEmbed, _EmbedBlot); var _super2 = _createSuper(BlockEmbed); function BlockEmbed() { _classCallCheck(this, BlockEmbed); return _super2.apply(this, arguments); } _createClass(BlockEmbed, [{ key: "attach", value: function attach() { _get(_getPrototypeOf(BlockEmbed.prototype), "attach", this).call(this); this.attributes = new parchment.AttributorStore(this.domNode); } }, { key: "delta", value: function delta() { return new (Delta_default())().insert(this.value(), _objectSpread(_objectSpread({}, this.formats()), this.attributes.values())); } }, { key: "format", value: function format(name, value) { var attribute = this.scroll.query(name, parchment.Scope.BLOCK_ATTRIBUTE); if (attribute != null) { this.attributes.attribute(attribute, value); } } }, { key: "formatAt", value: function formatAt(index, length, name, value) { this.format(name, value); } }, { key: "insertAt", value: function insertAt(index, value, def) { if (typeof value === 'string' && value.endsWith('\n')) { var block = this.scroll.create(Block.blotName); this.parent.insertBefore(block, index === 0 ? this : this.next); block.insertAt(0, value.slice(0, -1)); } else { _get(_getPrototypeOf(BlockEmbed.prototype), "insertAt", this).call(this, index, value, def); } } }]); return BlockEmbed; }(parchment.EmbedBlot); BlockEmbed.scope = parchment.Scope.BLOCK_BLOT; // It is important for cursor behavior BlockEmbeds use tags that are block level elements function blockDelta(blot) { var filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; return blot.descendants(parchment.LeafBlot).reduce(function (delta, leaf) { if (leaf.length() === 0) { return delta; } return delta.insert(leaf.value(), bubbleFormats(leaf, {}, filter)); }, new (Delta_default())()).insert('\n', bubbleFormats(blot)); } function bubbleFormats(blot) { var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; if (blot == null) return formats; if (typeof blot.formats === 'function') { formats = _objectSpread(_objectSpread({}, formats), blot.formats()); if (filter) { // exclude syntax highlighting from deltas and getFormat() delete formats['code-token']; } } if (blot.parent == null || blot.parent.statics.blotName === 'scroll' || blot.parent.statics.scope !== blot.statics.scope) { return formats; } return bubbleFormats(blot.parent, formats, filter); } /***/ }), /***/ 4122: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Break = /*#__PURE__*/function (_EmbedBlot) { _inherits(Break, _EmbedBlot); var _super = _createSuper(Break); function Break() { _classCallCheck(this, Break); return _super.apply(this, arguments); } _createClass(Break, [{ key: "optimize", value: function optimize() { if (this.prev || this.next) { this.remove(); } } }, { key: "length", value: function length() { return 0; } }, { key: "value", value: function value() { return ''; } }], [{ key: "value", value: function value() { return undefined; } }]); return Break; }(parchment__WEBPACK_IMPORTED_MODULE_0__.EmbedBlot); Break.blotName = 'break'; Break.tagName = 'BR'; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Break); /***/ }), /***/ 3553: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Container = /*#__PURE__*/function (_ContainerBlot) { _inherits(Container, _ContainerBlot); var _super = _createSuper(Container); function Container() { _classCallCheck(this, Container); return _super.apply(this, arguments); } return _createClass(Container); }(parchment__WEBPACK_IMPORTED_MODULE_0__.ContainerBlot); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Container); /***/ }), /***/ 3657: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8222); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Cursor = /*#__PURE__*/function (_EmbedBlot) { _inherits(Cursor, _EmbedBlot); var _super = _createSuper(Cursor); function Cursor(scroll, domNode, selection) { var _this; _classCallCheck(this, Cursor); _this = _super.call(this, scroll, domNode); _this.selection = selection; _this.textNode = document.createTextNode(Cursor.CONTENTS); _this.domNode.appendChild(_this.textNode); _this.savedLength = 0; return _this; } _createClass(Cursor, [{ key: "detach", value: function detach() { // super.detach() will also clear domNode.__blot if (this.parent != null) this.parent.removeChild(this); } }, { key: "format", value: function format(name, value) { if (this.savedLength !== 0) { _get(_getPrototypeOf(Cursor.prototype), "format", this).call(this, name, value); return; } var target = this; var index = 0; while (target != null && target.statics.scope !== parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK_BLOT) { index += target.offset(target.parent); target = target.parent; } if (target != null) { this.savedLength = Cursor.CONTENTS.length; target.optimize(); target.formatAt(index, Cursor.CONTENTS.length, name, value); this.savedLength = 0; } } }, { key: "index", value: function index(node, offset) { if (node === this.textNode) return 0; return _get(_getPrototypeOf(Cursor.prototype), "index", this).call(this, node, offset); } }, { key: "length", value: function length() { return this.savedLength; } }, { key: "position", value: function position() { return [this.textNode, this.textNode.data.length]; } }, { key: "remove", value: function remove() { _get(_getPrototypeOf(Cursor.prototype), "remove", this).call(this); this.parent = null; } }, { key: "restore", value: function restore() { if (this.selection.composing || this.parent == null) return null; var range = this.selection.getNativeRange(); // Link format will insert text outside of anchor tag while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) { this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode); } var prevTextBlot = this.prev instanceof _text__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z ? this.prev : null; var prevTextLength = prevTextBlot ? prevTextBlot.length() : 0; var nextTextBlot = this.next instanceof _text__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z ? this.next : null; var nextText = nextTextBlot ? nextTextBlot.text : ''; var textNode = this.textNode; // take text from inside this blot and reset it var newText = textNode.data.split(Cursor.CONTENTS).join(''); textNode.data = Cursor.CONTENTS; // proactively merge TextBlots around cursor so that optimization // doesn't lose the cursor. the reason we are here in cursor.restore // could be that the user clicked in prevTextBlot or nextTextBlot, or // the user typed something. var mergedTextBlot; if (prevTextBlot) { mergedTextBlot = prevTextBlot; if (newText || nextTextBlot) { prevTextBlot.insertAt(prevTextBlot.length(), newText + nextText); if (nextTextBlot) { nextTextBlot.remove(); } } } else if (nextTextBlot) { mergedTextBlot = nextTextBlot; nextTextBlot.insertAt(0, newText); } else { var newTextNode = document.createTextNode(newText); mergedTextBlot = this.scroll.create(newTextNode); this.parent.insertBefore(mergedTextBlot, this); } this.remove(); if (range) { // calculate selection to restore var remapOffset = function remapOffset(node, offset) { if (prevTextBlot && node === prevTextBlot.domNode) { return offset; } if (node === textNode) { return prevTextLength + offset - 1; } if (nextTextBlot && node === nextTextBlot.domNode) { return prevTextLength + newText.length + offset; } return null; }; var start = remapOffset(range.start.node, range.start.offset); var end = remapOffset(range.end.node, range.end.offset); if (start !== null && end !== null) { return { startNode: mergedTextBlot.domNode, startOffset: start, endNode: mergedTextBlot.domNode, endOffset: end }; } } return null; } }, { key: "update", value: function update(mutations, context) { var _this2 = this; if (mutations.some(function (mutation) { return mutation.type === 'characterData' && mutation.target === _this2.textNode; })) { var range = this.restore(); if (range) context.range = range; } } }, { key: "value", value: function value() { return ''; } }], [{ key: "value", value: function value() { return undefined; } }]); return Cursor; }(parchment__WEBPACK_IMPORTED_MODULE_0__.EmbedBlot); Cursor.blotName = 'cursor'; Cursor.className = 'ql-cursor'; Cursor.tagName = 'span'; Cursor.CONTENTS = "\uFEFF"; // Zero width no break space /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cursor); /***/ }), /***/ 7452: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8222); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var GUARD_TEXT = "\uFEFF"; var Embed = /*#__PURE__*/function (_EmbedBlot) { _inherits(Embed, _EmbedBlot); var _super = _createSuper(Embed); function Embed(scroll, node) { var _this; _classCallCheck(this, Embed); _this = _super.call(this, scroll, node); _this.contentNode = document.createElement('span'); _this.contentNode.setAttribute('contenteditable', false); Array.from(_this.domNode.childNodes).forEach(function (childNode) { _this.contentNode.appendChild(childNode); }); _this.leftGuard = document.createTextNode(GUARD_TEXT); _this.rightGuard = document.createTextNode(GUARD_TEXT); _this.domNode.appendChild(_this.leftGuard); _this.domNode.appendChild(_this.contentNode); _this.domNode.appendChild(_this.rightGuard); return _this; } _createClass(Embed, [{ key: "index", value: function index(node, offset) { if (node === this.leftGuard) return 0; if (node === this.rightGuard) return 1; return _get(_getPrototypeOf(Embed.prototype), "index", this).call(this, node, offset); } }, { key: "restore", value: function restore(node) { var range; var textNode; var text = node.data.split(GUARD_TEXT).join(''); if (node === this.leftGuard) { if (this.prev instanceof _text__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z) { var prevLength = this.prev.length(); this.prev.insertAt(prevLength, text); range = { startNode: this.prev.domNode, startOffset: prevLength + text.length }; } else { textNode = document.createTextNode(text); this.parent.insertBefore(this.scroll.create(textNode), this); range = { startNode: textNode, startOffset: text.length }; } } else if (node === this.rightGuard) { if (this.next instanceof _text__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z) { this.next.insertAt(0, text); range = { startNode: this.next.domNode, startOffset: text.length }; } else { textNode = document.createTextNode(text); this.parent.insertBefore(this.scroll.create(textNode), this.next); range = { startNode: textNode, startOffset: text.length }; } } node.data = GUARD_TEXT; return range; } }, { key: "update", value: function update(mutations, context) { var _this2 = this; mutations.forEach(function (mutation) { if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) { var range = _this2.restore(mutation.target); if (range) context.range = range; } }); } }]); return Embed; }(parchment__WEBPACK_IMPORTED_MODULE_0__.EmbedBlot); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Embed); /***/ }), /***/ 6603: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4122); /* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8222); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Inline = /*#__PURE__*/function (_InlineBlot) { _inherits(Inline, _InlineBlot); var _super = _createSuper(Inline); function Inline() { _classCallCheck(this, Inline); return _super.apply(this, arguments); } _createClass(Inline, [{ key: "formatAt", value: function formatAt(index, length, name, value) { if (Inline.compare(this.statics.blotName, name) < 0 && this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOT)) { var blot = this.isolate(index, length); if (value) { blot.wrap(name, value); } } else { _get(_getPrototypeOf(Inline.prototype), "formatAt", this).call(this, index, length, name, value); } } }, { key: "optimize", value: function optimize(context) { _get(_getPrototypeOf(Inline.prototype), "optimize", this).call(this, context); if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) { var parent = this.parent.isolate(this.offset(), this.length()); this.moveChildren(parent); parent.wrap(this); } } }], [{ key: "compare", value: function compare(self, other) { var selfIndex = Inline.order.indexOf(self); var otherIndex = Inline.order.indexOf(other); if (selfIndex >= 0 || otherIndex >= 0) { return selfIndex - otherIndex; } if (self === other) { return 0; } if (self < other) { return -1; } return 1; } }]); return Inline; }(parchment__WEBPACK_IMPORTED_MODULE_0__.InlineBlot); Inline.allowedChildren = [Inline, _break__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, parchment__WEBPACK_IMPORTED_MODULE_0__.EmbedBlot, _text__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z]; // Lower index means deeper in the DOM tree, since not found (-1) is for embeds Inline.order = ['cursor', 'inline', // Must be lower 'link', // Chrome wants to be lower 'underline', 'strike', 'italic', 'bold', 'script', 'code' // Must be higher ]; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Inline); /***/ }), /***/ 3272: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2069); /* harmony import */ var _block__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6446); /* harmony import */ var _break__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4122); /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3553); /* harmony import */ var _formats_table__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1969); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function isLine(blot) { return blot instanceof _block__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP || blot instanceof _block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2; } var Scroll = /*#__PURE__*/function (_ScrollBlot) { _inherits(Scroll, _ScrollBlot); var _super = _createSuper(Scroll); function Scroll(registry, domNode, _ref) { var _this; var emitter = _ref.emitter, toggleBlankClass = _ref.toggleBlankClass; _classCallCheck(this, Scroll); _this = _super.call(this, registry, domNode); _this.emitter = emitter; _this.toggleBlankClass = toggleBlankClass; _this.batch = false; _this.optimize(); _this.enable(); _this.domNode.addEventListener('dragstart', function (e) { return _this.handleDragStart(e); }); return _this; } _createClass(Scroll, [{ key: "batchStart", value: function batchStart() { if (!Array.isArray(this.batch)) { this.batch = []; } } }, { key: "batchEnd", value: function batchEnd() { var mutations = this.batch; this.batch = false; this.update(mutations); } }, { key: "emitMount", value: function emitMount(blot) { this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.SCROLL_BLOT_MOUNT */ .Z.events.SCROLL_BLOT_MOUNT, blot); } }, { key: "emitUnmount", value: function emitUnmount(blot) { this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.SCROLL_BLOT_UNMOUNT */ .Z.events.SCROLL_BLOT_UNMOUNT, blot); } }, { key: "deleteAt", value: function deleteAt(index, length) { var _this$line = this.line(index), _this$line2 = _slicedToArray(_this$line, 2), first = _this$line2[0], offset = _this$line2[1]; var _this$line3 = this.line(index + length), _this$line4 = _slicedToArray(_this$line3, 1), last = _this$line4[0]; _get(_getPrototypeOf(Scroll.prototype), "deleteAt", this).call(this, index, length); if (last != null && first !== last && offset > 0) { var isCrossCellDelete = (first instanceof _formats_table__WEBPACK_IMPORTED_MODULE_5__/* .CellLine */ .zW || last instanceof _formats_table__WEBPACK_IMPORTED_MODULE_5__/* .CellLine */ .zW) && first.parent !== last.parent; var includesEmbedBlock = first instanceof _block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2 || last instanceof _block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2; if (!includesEmbedBlock && !isCrossCellDelete) { var ref = last.children.head instanceof _break__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z ? null : last.children.head; first.moveChildren(last, ref); first.remove(); } } this.optimize(); } }, { key: "enable", value: function enable() { var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; this.domNode.setAttribute('contenteditable', enabled); } }, { key: "formatAt", value: function formatAt(index, length, format, value) { _get(_getPrototypeOf(Scroll.prototype), "formatAt", this).call(this, index, length, format, value); this.optimize(); } }, { key: "handleDragStart", value: function handleDragStart(event) { event.preventDefault(); } }, { key: "insertAt", value: function insertAt(index, value, def) { if (index >= this.length()) { if (def == null || this.scroll.query(value, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK) == null) { var blot = this.scroll.create(this.statics.defaultChild.blotName); this.appendChild(blot); if (def == null && value.endsWith('\n')) { blot.insertAt(0, value.slice(0, -1), def); } else { blot.insertAt(0, value, def); } } else { var embed = this.scroll.create(value, def); this.appendChild(embed); } } else { _get(_getPrototypeOf(Scroll.prototype), "insertAt", this).call(this, index, value, def); } this.optimize(); } }, { key: "insertBefore", value: function insertBefore(blot, ref) { if (blot.statics.scope === parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE_BLOT) { var wrapper = this.scroll.create(this.statics.defaultChild.blotName); wrapper.appendChild(blot); _get(_getPrototypeOf(Scroll.prototype), "insertBefore", this).call(this, wrapper, ref); } else { _get(_getPrototypeOf(Scroll.prototype), "insertBefore", this).call(this, blot, ref); } } }, { key: "isEnabled", value: function isEnabled() { return this.domNode.getAttribute('contenteditable') === 'true'; } }, { key: "leaf", value: function leaf(index) { return this.path(index).pop() || [null, -1]; } }, { key: "line", value: function line(index) { if (index === this.length()) { return this.line(index - 1); } return this.descendant(isLine, index); } }, { key: "lines", value: function lines() { var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE; var getLines = function getLines(blot, blotIndex, blotLength) { var lines = []; var lengthLeft = blotLength; blot.children.forEachAt(blotIndex, blotLength, function (child, childIndex, childLength) { if (isLine(child)) { lines.push(child); } else if (child instanceof parchment__WEBPACK_IMPORTED_MODULE_0__.ContainerBlot) { lines = lines.concat(getLines(child, childIndex, lengthLeft)); } lengthLeft -= childLength; }); return lines; }; return getLines(this, index, length); } }, { key: "optimize", value: function optimize() { var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (this.batch) return; _get(_getPrototypeOf(Scroll.prototype), "optimize", this).call(this, mutations, context); if (mutations.length > 0) { this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.SCROLL_OPTIMIZE */ .Z.events.SCROLL_OPTIMIZE, mutations, context); } } }, { key: "path", value: function path(index) { return _get(_getPrototypeOf(Scroll.prototype), "path", this).call(this, index).slice(1); // Exclude self } }, { key: "remove", value: function remove() { // Never remove self } }, { key: "update", value: function update(mutations) { var _this2 = this; if (this.batch) { if (Array.isArray(mutations)) { this.batch = this.batch.concat(mutations); this.toggleBlankClass(); } return; } var source = _core_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].sources.USER */ .Z.sources.USER; if (typeof mutations === 'string') { source = mutations; } if (!Array.isArray(mutations)) { mutations = this.observer.takeRecords(); } mutations = mutations.filter(function (_ref2) { var target = _ref2.target; var blot = _this2.find(target, true); return blot && blot.scroll === _this2; }); if (mutations.length > 0) { this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.SCROLL_BEFORE_UPDATE */ .Z.events.SCROLL_BEFORE_UPDATE, source, mutations); } _get(_getPrototypeOf(Scroll.prototype), "update", this).call(this, mutations.concat([])); // pass copy if (mutations.length > 0) { this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.SCROLL_UPDATE */ .Z.events.SCROLL_UPDATE, source, mutations); } } }]); return Scroll; }(parchment__WEBPACK_IMPORTED_MODULE_0__.ScrollBlot); Scroll.blotName = 'scroll'; Scroll.className = 'ql-editor'; Scroll.tagName = 'DIV'; Scroll.defaultChild = _block__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP; Scroll.allowedChildren = [_block__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, _block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2, _container__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z]; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Scroll); /***/ }), /***/ 8222: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ Text), /* harmony export */ "b": () => (/* binding */ escapeText) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Text = /*#__PURE__*/function (_TextBlot) { _inherits(Text, _TextBlot); var _super = _createSuper(Text); function Text() { _classCallCheck(this, Text); return _super.apply(this, arguments); } return _createClass(Text); }(parchment__WEBPACK_IMPORTED_MODULE_0__.TextBlot); function escapeText(text) { return text.replace(/[&<>"']/g, function (s) { // https://lodash.com/docs#escape var entityMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; return entityMap[s]; }); } // eslint-disable-next-line no-restricted-exports /***/ }), /***/ 2432: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(281); /* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6446); /* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4122); /* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3553); /* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3657); /* harmony import */ var _blots_embed__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7452); /* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6603); /* harmony import */ var _blots_scroll__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3272); /* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8222); /* harmony import */ var _modules_clipboard__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5635); /* harmony import */ var _modules_history__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2613); /* harmony import */ var _modules_keyboard__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(3071); /* harmony import */ var _modules_uploader__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3859); /* harmony import */ var _modules_input__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(990); _core_quill__WEBPACK_IMPORTED_MODULE_0__/* ["default"].register */ .ZP.register({ 'blots/block': _blots_block__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP, 'blots/block/embed': _blots_block__WEBPACK_IMPORTED_MODULE_1__/* .BlockEmbed */ .i2, 'blots/break': _blots_break__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, 'blots/container': _blots_container__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, 'blots/cursor': _blots_cursor__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, 'blots/embed': _blots_embed__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, 'blots/inline': _blots_inline__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, 'blots/scroll': _blots_scroll__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, 'blots/text': _blots_text__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, 'modules/clipboard': _modules_clipboard__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP, 'modules/history': _modules_history__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, 'modules/keyboard': _modules_keyboard__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .ZP, 'modules/uploader': _modules_uploader__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, 'modules/input': _modules_input__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_core_quill__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP); /***/ }), /***/ 6229: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _blots_embed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7452); /* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2069); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } var Composition = /*#__PURE__*/function () { function Composition(scroll, emitter) { var _this = this; _classCallCheck(this, Composition); this.scroll = scroll; this.emitter = emitter; this.isComposing = false; scroll.domNode.addEventListener('compositionstart', function (event) { if (!_this.isComposing) { _this.handleCompositionStart(event); } }); scroll.domNode.addEventListener('compositionend', function (event) { if (_this.isComposing) { _this.handleCompositionEnd(event); } }); } _createClass(Composition, [{ key: "isCompositionInProgress", value: function isCompositionInProgress() { return this.isComposing; } }, { key: "handleCompositionStart", value: function handleCompositionStart(event) { var blot = event.target instanceof Node ? this.scroll.find(event.target, true) : null; if (blot && !(blot instanceof _blots_embed__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)) { this.emitter.emit(_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.COMPOSITION_BEFORE_START */ .Z.events.COMPOSITION_BEFORE_START, event); this.scroll.batchStart(); this.emitter.emit(_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.COMPOSITION_START */ .Z.events.COMPOSITION_START, event); this.isComposing = true; } } }, { key: "handleCompositionEnd", value: function handleCompositionEnd(event) { this.emitter.emit(_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.COMPOSITION_BEFORE_END */ .Z.events.COMPOSITION_BEFORE_END, event); this.scroll.batchEnd(); this.emitter.emit(_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.COMPOSITION_END */ .Z.events.COMPOSITION_END, event); this.isComposing = false; } }]); return Composition; }(); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Composition); /***/ }), /***/ 2861: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": () => (/* binding */ editor) }); // EXTERNAL MODULE: ./node_modules/lodash.clonedeep/index.js var lodash_clonedeep = __webpack_require__(8805); var lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep); // EXTERNAL MODULE: ./node_modules/lodash.merge/index.js var lodash_merge = __webpack_require__(732); var lodash_merge_default = /*#__PURE__*/__webpack_require__.n(lodash_merge); // EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js var Delta = __webpack_require__(9098); var Delta_default = /*#__PURE__*/__webpack_require__.n(Delta); // EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules var parchment = __webpack_require__(1233); // EXTERNAL MODULE: ./utils/is_equal.js var is_equal = __webpack_require__(4506); // EXTERNAL MODULE: ./core/selection.js var selection = __webpack_require__(7800); // EXTERNAL MODULE: ./blots/cursor.js var cursor = __webpack_require__(3657); // EXTERNAL MODULE: ./blots/block.js + 1 modules var blots_block = __webpack_require__(6446); // EXTERNAL MODULE: ./blots/break.js var blots_break = __webpack_require__(4122); // EXTERNAL MODULE: ./blots/text.js var blots_text = __webpack_require__(8222); ;// CONCATENATED MODULE: ./utils/remove_class.js function removeClass(node, className) { node.classList.remove(className); if (node.classList.length === 0) { node.removeAttribute('class'); } } // EXTERNAL MODULE: ./utils/is_defined.js var is_defined = __webpack_require__(5874); ;// CONCATENATED MODULE: ./core/editor.js function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } var ASCII = /^[ -~]*$/; var Editor = /*#__PURE__*/function () { function Editor(scroll) { _classCallCheck(this, Editor); this.scroll = scroll; this.delta = this.getDelta(); this.immediateFormats = new Set(); } _createClass(Editor, [{ key: "addImmediateFormat", value: function addImmediateFormat(name) { this.immediateFormats.add(name); } }, { key: "applyDelta", value: function applyDelta(delta) { var _this = this; this.scroll.update(); var scrollLength = this.scroll.length(); this.scroll.batchStart(); var normalizedDelta = normalizeDelta(delta); var deleteDelta = new (Delta_default())(); normalizedDelta.reduce(function (index, op) { var length = Delta.Op.length(op); var attributes = op.attributes || {}; var addedNewline = false; if (op.insert != null) { deleteDelta.retain(length); if (typeof op.insert === 'string') { var text = op.insert; addedNewline = !text.endsWith('\n') && (scrollLength <= index || _this.scroll.descendant(blots_block/* BlockEmbed */.i2, index)[0]); _this.scroll.insertAt(index, text); var _this$scroll$line = _this.scroll.line(index), _this$scroll$line2 = _slicedToArray(_this$scroll$line, 2), line = _this$scroll$line2[0], offset = _this$scroll$line2[1]; var formats = lodash_merge_default()({}, (0,blots_block/* bubbleFormats */.E2)(line)); if (line instanceof blots_block/* default */.ZP) { var _line$descendant = line.descendant(parchment.LeafBlot, offset), _line$descendant2 = _slicedToArray(_line$descendant, 1), leaf = _line$descendant2[0]; formats = lodash_merge_default()(formats, (0,blots_block/* bubbleFormats */.E2)(leaf)); } attributes = Delta.AttributeMap.diff(formats, attributes) || {}; } else if (_typeof(op.insert) === 'object') { var key = Object.keys(op.insert)[0]; // There should only be one key if (key == null) return index; addedNewline = _this.scroll.query(key, parchment.Scope.INLINE) != null && (scrollLength <= index || _this.scroll.descendant(blots_block/* BlockEmbed */.i2, index)[0]); _this.scroll.insertAt(index, key, op.insert[key]); } scrollLength += length; } else { deleteDelta.push(op); } var keys = Object.keys(attributes); _this.immediateFormats.forEach(function (format) { if (keys.indexOf(format) > -1) { _this.scroll.formatAt(index, length, format, attributes[format]); delete attributes[format]; } }); Object.keys(attributes).forEach(function (name) { _this.scroll.formatAt(index, length, name, attributes[name]); }); var addedLength = addedNewline ? 1 : 0; scrollLength += addedLength; deleteDelta.delete(addedLength); return index + length + addedLength; }, 0); deleteDelta.reduce(function (index, op) { if (typeof op.delete === 'number') { _this.scroll.deleteAt(index, op.delete); return index; } return index + Delta.Op.length(op); }, 0); this.scroll.batchEnd(); this.scroll.optimize(); return this.update(normalizedDelta); } }, { key: "deleteText", value: function deleteText(index, length) { this.scroll.deleteAt(index, length); return this.update(new (Delta_default())().retain(index).delete(length)); } }, { key: "formatLine", value: function formatLine(index, length) { var _this2 = this; var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; this.scroll.update(); Object.keys(formats).forEach(function (format) { _this2.scroll.lines(index, Math.max(length, 1)).forEach(function (line) { line.format(format, formats[format]); }); }); this.scroll.optimize(); var delta = new (Delta_default())().retain(index).retain(length, lodash_clonedeep_default()(formats)); return this.update(delta); } }, { key: "formatText", value: function formatText(index, length) { var _this3 = this; var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; Object.keys(formats).forEach(function (format) { _this3.scroll.formatAt(index, length, format, formats[format]); }); var delta = new (Delta_default())().retain(index).retain(length, lodash_clonedeep_default()(formats)); return this.update(delta); } }, { key: "getContents", value: function getContents(index, length) { return this.delta.slice(index, index + length); } }, { key: "getDelta", value: function getDelta() { return this.scroll.lines().reduce(function (delta, line) { return delta.concat(line.delta()); }, new (Delta_default())()); } }, { key: "getFormat", value: function getFormat(index) { var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var lines = []; var leaves = []; if (length === 0) { this.scroll.path(index).forEach(function (path) { var _path = _slicedToArray(path, 1), blot = _path[0]; if (blot instanceof blots_block/* default */.ZP) { lines.push(blot); } else if (blot instanceof parchment.LeafBlot) { leaves.push(blot); } }); } else { lines = this.scroll.lines(index, length); leaves = this.scroll.descendants(parchment.LeafBlot, index, length); } var _map = [lines, leaves].map(function (blots) { if (blots.length === 0) return {}; var formats = (0,blots_block/* bubbleFormats */.E2)(blots.shift()); while (Object.keys(formats).length > 0) { var blot = blots.shift(); if (blot == null) return formats; formats = combineFormats((0,blots_block/* bubbleFormats */.E2)(blot), formats); } return formats; }); var _map2 = _slicedToArray(_map, 2); lines = _map2[0]; leaves = _map2[1]; return _objectSpread(_objectSpread({}, lines), leaves); } }, { key: "getHTML", value: function getHTML(index, length) { var _this$scroll$line3 = this.scroll.line(index), _this$scroll$line4 = _slicedToArray(_this$scroll$line3, 2), line = _this$scroll$line4[0], lineOffset = _this$scroll$line4[1]; if (line.length() > lineOffset + length) { return convertHTML(line, lineOffset, length, true); } return convertHTML(this.scroll, index, length, true); } }, { key: "getText", value: function getText(index, length) { return this.getContents(index, length).filter(function (op) { return typeof op.insert === 'string'; }).map(function (op) { return op.insert; }).join(''); } }, { key: "insertEmbed", value: function insertEmbed(index, embed, value) { this.scroll.insertAt(index, embed, value); return this.update(new (Delta_default())().retain(index).insert(_defineProperty({}, embed, value))); } }, { key: "insertText", value: function insertText(index, text) { var _this4 = this; var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; text = text.replace(/\r\n/g, '\n').replace(/\r/g, '\n'); this.scroll.insertAt(index, text); Object.keys(formats).forEach(function (format) { _this4.scroll.formatAt(index, text.length, format, formats[format]); }); return this.update(new (Delta_default())().retain(index).insert(text, lodash_clonedeep_default()(formats))); } }, { key: "isBlank", value: function isBlank() { var isComposing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (this.scroll.children.length === 0) return true; if (isComposing) return false; if (this.scroll.children.length > 1) return false; var block = this.scroll.children.head; if (block.statics.blotName !== blots_block/* default.blotName */.ZP.blotName) return false; if (block.children.length > 1) return false; return block.children.head instanceof blots_break/* default */.Z; } }, { key: "removeFormat", value: function removeFormat(index, length) { var text = this.getText(index, length); var _this$scroll$line5 = this.scroll.line(index + length), _this$scroll$line6 = _slicedToArray(_this$scroll$line5, 2), line = _this$scroll$line6[0], offset = _this$scroll$line6[1]; var suffixLength = 0; var suffix = new (Delta_default())(); if (line != null) { suffixLength = line.length() - offset; suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\n'); } var contents = this.getContents(index, length + suffixLength); var diff = contents.diff(new (Delta_default())().insert(text).concat(suffix)); var delta = new (Delta_default())().retain(index).concat(diff); return this.applyDelta(delta); } }, { key: "update", value: function update(change) { var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var selectionInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; var oldDelta = this.delta; if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && this.scroll.find(mutations[0].target)) { // Optimization for character changes var textBlot = this.scroll.find(mutations[0].target); var formats = (0,blots_block/* bubbleFormats */.E2)(textBlot); var index = textBlot.offset(this.scroll); var oldValue = mutations[0].oldValue.replace(cursor/* default.CONTENTS */.Z.CONTENTS, ''); var oldText = new (Delta_default())().insert(oldValue); var newText = new (Delta_default())().insert(textBlot.value()); var relativeSelectionInfo = selectionInfo && { oldRange: shiftRange(selectionInfo.oldRange, -index), newRange: shiftRange(selectionInfo.newRange, -index) }; var diffDelta = new (Delta_default())().retain(index).concat(oldText.diff(newText, relativeSelectionInfo)); change = diffDelta.reduce(function (delta, op) { if (op.insert) { return delta.insert(op.insert, formats); } return delta.push(op); }, new (Delta_default())()); this.delta = oldDelta.compose(change); } else { this.delta = this.getDelta(); if (!change || !(0,is_equal/* default */.Z)(oldDelta.compose(change), this.delta)) { if (!this.deltaContainsRetain(oldDelta)) { change = oldDelta.diff(this.delta, selectionInfo); } } } return change; } // T1200561 }, { key: "deltaContainsRetain", value: function deltaContainsRetain(delta) { return delta.ops.some(function (op) { return (0,is_defined/* default */.Z)(op.retain); }); } }]); return Editor; }(); function convertListHTML(items, lastIndent, types) { if (items.length === 0) { var _getListType = getListType(types.pop()), _getListType2 = _slicedToArray(_getListType, 1), _endTag = _getListType2[0]; if (lastIndent <= 0) { return ""); } return "").concat(convertListHTML([], lastIndent - 1, types)); } var _items = _toArray(items), _items$ = _items[0], child = _items$.child, offset = _items$.offset, length = _items$.length, indent = _items$.indent, type = _items$.type, rest = _items.slice(1); var _getListType3 = getListType(type, child), _getListType4 = _slicedToArray(_getListType3, 2), tag = _getListType4[0], attribute = _getListType4[1]; if (indent > lastIndent) { types.push(type); if (indent === lastIndent + 1) { return "<".concat(tag, ">").concat(convertHTML(child, offset, length)).concat(convertListHTML(rest, indent, types)); } return "<".concat(tag, ">
  • ").concat(convertListHTML(items, lastIndent + 1, types)); } var previousType = types[types.length - 1]; if (indent === lastIndent && type === previousType) { return "
  • ").concat(convertHTML(child, offset, length)).concat(convertListHTML(rest, indent, types)); } var _getListType5 = getListType(types.pop()), _getListType6 = _slicedToArray(_getListType5, 1), endTag = _getListType6[0]; return "").concat(convertListHTML(items, lastIndent - 1, types)); } function convertHTML(blot, index, length) { var isRoot = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; if (typeof blot.html === 'function') { return blot.html(index, length); } if (blot instanceof blots_text/* default */.Z) { return (0,blots_text/* escapeText */.b)(blot.value().slice(index, index + length)); } if (blot.children) { // TODO fix API if (blot.statics.blotName === 'list-container') { var items = []; blot.children.forEachAt(index, length, function (child, offset, childLength) { var formats = child.formats(); items.push({ child: child, offset: offset, length: childLength, indent: formats.indent || 0, type: formats.list }); }); return convertListHTML(items, -1, []); } var parts = []; blot.children.forEachAt(index, length, function (child, offset, childLength) { parts.push(convertHTML(child, offset, childLength)); }); handleBreakLine(blot.children, parts); if (isRoot || blot.statics.blotName === 'list') { return parts.join(''); } var domNode = extractNodeFromBlot(blot); var outerHTML = domNode.outerHTML, innerHTML = domNode.innerHTML; var _outerHTML$split = outerHTML.split(">".concat(innerHTML, "<")), _outerHTML$split2 = _slicedToArray(_outerHTML$split, 2), start = _outerHTML$split2[0], end = _outerHTML$split2[1]; if (start.indexOf('").concat(parts.join('').replace(/(\sdata-table.+?=["'].*?["'])/g, ''), "<").concat(end); } return "".concat(start, ">").concat(parts.join(''), "<").concat(end); } return blot.domNode.outerHTML; } function handleBreakLine(linkedList, parts) { if (linkedList.length === 1 && linkedList.head instanceof blots_break/* default */.Z) { parts.push('
    '); } } function extractNodeFromBlot(blot) { var domNode = blot.domNode.cloneNode(true); return removeTableServiceClasses(blot, domNode); } function removeTableServiceClasses(blot, domNode) { var BLOTS_WITH_SERVICE_CLASS = ['tableCellLine', 'tableHeaderCellLine', 'tableCell', 'tableHeaderCell']; if (BLOTS_WITH_SERVICE_CLASS.includes(blot.statics.blotName)) { removeClass(domNode, blot.statics.className); } return domNode; } function combineFormats(formats, combined) { return Object.keys(combined).reduce(function (merged, name) { if (formats[name] == null) return merged; if (combined[name] === formats[name]) { merged[name] = combined[name]; } else if (Array.isArray(combined[name])) { if (combined[name].indexOf(formats[name]) < 0) { merged[name] = combined[name].concat([formats[name]]); } } else { merged[name] = [combined[name], formats[name]]; } return merged; }, {}); } function getListType(type, child) { var tag = type === 'ordered' ? 'ol' : 'ul'; var attributes = child ? "".concat(getBlotNodeAttributes(child)) : ''; switch (type) { case 'checked': return [tag, "".concat(attributes, " data-list=\"checked\"")]; case 'unchecked': return [tag, "".concat(attributes, " data-list=\"unchecked\"")]; default: return [tag, attributes]; } } function getBlotNodeAttributes(_ref) { var domNode = _ref.domNode; if (!domNode.hasAttributes()) { return ''; } var attributes = domNode.attributes; var attributesString = ' '; for (var i = 0; i < attributes.length; i += 1) { var name = attributes[i].name; var value = attributes[i].value; if (name === 'class') { value = removeIndentClass(value); } if (value.length && name.indexOf('data-') === -1) { attributesString += "".concat(name, "=\"").concat(value, "\""); } } return attributesString.length > 1 ? attributesString : ''; } function removeIndentClass(classString) { return classString.replace(/ql-indent-\d/g, '').trim(); } function normalizeDelta(delta) { return delta.reduce(function (normalizedDelta, op) { if (typeof op.insert === 'string') { var text = op.insert.replace(/\r\n/g, '\n').replace(/\r/g, '\n'); return normalizedDelta.insert(text, op.attributes); } return normalizedDelta.push(op); }, new (Delta_default())()); } function shiftRange(_ref2, amount) { var index = _ref2.index, length = _ref2.length; return new selection/* Range */.e(index + amount, length); } /* harmony default export */ const editor = (Editor); /***/ }), /***/ 2069: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3034); /* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(eventemitter3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _utils_has_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8034); /* harmony import */ var _instances__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2598); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3122); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var debug = (0,_logger__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)('quill:events'); var EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click']; if ((0,_utils_has_window__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)()) { EVENTS.forEach(function (eventName) { document.addEventListener(eventName, function () { var _event$target; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var event = args[0]; var shadowRoot = event === null || event === void 0 || (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.shadowRoot; var root = shadowRoot !== null && shadowRoot !== void 0 ? shadowRoot : document; var quillContainers = root.querySelectorAll('.ql-container'); Array.from(quillContainers).forEach(function (node) { var quill = _instances__WEBPACK_IMPORTED_MODULE_1__/* ["default"].get */ .Z.get(node); if (quill && quill.emitter) { var _quill$emitter; (_quill$emitter = quill.emitter).handleDOM.apply(_quill$emitter, args); } }); }); }); } var Emitter = /*#__PURE__*/function (_EventEmitter) { _inherits(Emitter, _EventEmitter); var _super = _createSuper(Emitter); function Emitter() { var _this; _classCallCheck(this, Emitter); _this = _super.call(this); _this.listeners = {}; _this.on('error', debug.error); return _this; } _createClass(Emitter, [{ key: "emit", value: function emit() { var _debug$log, _get2; for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } (_debug$log = debug.log).call.apply(_debug$log, [debug].concat(args)); (_get2 = _get(_getPrototypeOf(Emitter.prototype), "emit", this)).call.apply(_get2, [this].concat(args)); } }, { key: "handleDOM", value: function handleDOM(event) { for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { args[_key3 - 1] = arguments[_key3]; } (this.listeners[event.type] || []).forEach(function (_ref) { var node = _ref.node, handler = _ref.handler; if (event.target === node || node.contains(event.target)) { handler.apply(void 0, [event].concat(args)); } }); } }, { key: "listenDOM", value: function listenDOM(eventName, node, handler) { if (!this.listeners[eventName]) { this.listeners[eventName] = []; } this.listeners[eventName].push({ node: node, handler: handler }); } }]); return Emitter; }((eventemitter3__WEBPACK_IMPORTED_MODULE_0___default())); Emitter.events = { EDITOR_CHANGE: 'editor-change', SCROLL_BEFORE_UPDATE: 'scroll-before-update', SCROLL_BLOT_MOUNT: 'scroll-blot-mount', SCROLL_BLOT_UNMOUNT: 'scroll-blot-unmount', SCROLL_OPTIMIZE: 'scroll-optimize', SCROLL_UPDATE: 'scroll-update', SELECTION_CHANGE: 'selection-change', TEXT_CHANGE: 'text-change', CONTENT_SETTED: 'content-setted', COMPOSITION_BEFORE_START: 'composition-before-start', COMPOSITION_START: 'composition-start', COMPOSITION_BEFORE_END: 'composition-before-end', COMPOSITION_END: 'composition-end' }; Emitter.sources = { API: 'api', SILENT: 'silent', USER: 'user' }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Emitter); /***/ }), /***/ 2598: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new WeakMap()); /***/ }), /***/ 3122: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); var levels = ['error', 'warn', 'log', 'info']; var level = 'warn'; function debug(method) { if (levels.indexOf(method) <= levels.indexOf(level)) { var _console; for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } (_console = console)[method].apply(_console, args); // eslint-disable-line no-console } } function namespace(ns) { return levels.reduce(function (logger, method) { logger[method] = debug.bind(console, method, ns); return logger; }, {}); } namespace.level = function (newLevel) { level = newLevel; }; debug.level = namespace.level; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (namespace); /***/ }), /***/ 7094: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Module = /*#__PURE__*/_createClass(function Module(quill) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; _classCallCheck(this, Module); this.quill = quill; this.options = options; }); Module.DEFAULTS = {}; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Module); /***/ }), /***/ 281: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "ZP": () => (/* binding */ Quill) /* harmony export */ }); /* unused harmony exports globalRegistry, expandConfig, overload */ /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8805); /* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(732); /* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1233); /* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2861); /* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2069); /* harmony import */ var _module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7094); /* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7800); /* harmony import */ var _instances__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2598); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3122); /* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(1690); /* harmony import */ var _utils_is_defined__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5874); /* harmony import */ var _composition__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(6229); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } var debug = (0,_logger__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z)('quill'); var STYLE_ATTRIBUTE_KEY = 'style-data-key'; var globalRegistry = new parchment__WEBPACK_IMPORTED_MODULE_3__.Registry(); parchment__WEBPACK_IMPORTED_MODULE_3__.ParentBlot.uiClass = 'ql-ui'; var Quill = /*#__PURE__*/function () { function Quill(container) { var _this = this; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; _classCallCheck(this, Quill); this.options = expandConfig(container, options); this.container = this.options.container; if (this.container == null) { // eslint-disable-next-line no-constructor-return return debug.error('Invalid Quill container', container); } if (this.options.debug) { Quill.debug(this.options.debug); } var html = this.container.innerHTML.trim(); this.container.classList.add('ql-container'); this.container.innerHTML = ''; _instances__WEBPACK_IMPORTED_MODULE_8__/* ["default"].set */ .Z.set(this.container, this); this.root = this.addContainer('ql-editor'); this.root.classList.add('ql-blank'); this.scrollingContainer = this.options.scrollingContainer || this.root; this.emitter = new _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z(); var ScrollBlot = this.options.registry.query(parchment__WEBPACK_IMPORTED_MODULE_3__.ScrollBlot.blotName); this.scroll = new ScrollBlot(this.options.registry, this.root, { emitter: this.emitter, toggleBlankClass: this.toggleBlankClass.bind(this) }); this.editor = new _editor__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z(this.scroll); this.composition = new _composition__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z(this.scroll, this.emitter); this.selection = new _selection__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z(this.scroll, this.emitter, this.composition); this.theme = new this.options.theme(this, this.options); // eslint-disable-line new-cap this.keyboard = this.theme.addModule('keyboard'); this.clipboard = this.theme.addModule('clipboard'); this.history = this.theme.addModule('history'); this.uploader = this.theme.addModule('uploader'); this.theme.addModule('input'); this.theme.init(); this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].events.EDITOR_CHANGE */ .Z.events.EDITOR_CHANGE, function (type) { if (type === _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].events.TEXT_CHANGE */ .Z.events.TEXT_CHANGE) { _this.toggleBlankClass(); } }); this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].events.SCROLL_UPDATE */ .Z.events.SCROLL_UPDATE, function (source, mutations) { var oldRange = _this.selection.lastRange; var _this$selection$getRa = _this.selection.getRange(), _this$selection$getRa2 = _slicedToArray(_this$selection$getRa, 1), newRange = _this$selection$getRa2[0]; var selectionInfo = oldRange && newRange ? { oldRange: oldRange, newRange: newRange } : undefined; modify.call(_this, function () { return _this.editor.update(null, mutations, selectionInfo); }, source); }); this.setContents(this.getInitialContent(html)); this.history.clear(); if (this.options.placeholder) { this.root.setAttribute('data-placeholder', this.options.placeholder); } if (this.options.readOnly) { this.disable(); } this.allowReadOnlyEdits = false; } _createClass(Quill, [{ key: "getInitialContent", value: function getInitialContent(html) { return this.clipboard.convert({ html: "".concat(html, "


    "), text: '\n' }); } }, { key: "toggleBlankClass", value: function toggleBlankClass() { var isCompositionInProgress = this.composition.isCompositionInProgress(); this.root.classList.toggle('ql-blank', this.editor.isBlank(isCompositionInProgress)); } }, { key: "addContainer", value: function addContainer(container) { var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; if (typeof container === 'string') { var className = container; container = document.createElement('div'); container.classList.add(className); } this.container.insertBefore(container, refNode); return container; } }, { key: "blur", value: function blur() { this.selection.setRange(null); } }, { key: "deleteText", value: function deleteText(index, length, source) { var _this2 = this; var _overload = overload(index, length, source); var _overload2 = _slicedToArray(_overload, 4); index = _overload2[0]; length = _overload2[1]; source = _overload2[3]; return modify.call(this, function () { return _this2.editor.deleteText(index, length); }, source, index, -1 * length); } }, { key: "disable", value: function disable() { this.enable(false); } }, { key: "editReadOnly", value: function editReadOnly(modifier) { this.allowReadOnlyEdits = true; var value = modifier(); this.allowReadOnlyEdits = false; return value; } }, { key: "enable", value: function enable() { var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; this.scroll.enable(enabled); this.container.classList.toggle('ql-disabled', !enabled); } }, { key: "focus", value: function focus() { var scrollTop = this.scrollingContainer.scrollTop; this.selection.focus(); this.scrollingContainer.scrollTop = scrollTop; this.scrollIntoView(); } }, { key: "format", value: function format(name, value) { var _this3 = this; var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.API */ .Z.sources.API; this.applyCompositionChanges(); return modify.call(this, function () { var range = _this3.getSelection(true); var change = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(); if (range == null) return change; if (_this3.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_3__.Scope.BLOCK)) { change = _this3.editor.formatLine(range.index, range.length, _defineProperty({}, name, value)); } else if (range.length === 0) { _this3.selection.format(name, value); return change; } else { change = _this3.editor.formatText(range.index, range.length, _defineProperty({}, name, value)); } _this3.setSelection(range, _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.SILENT */ .Z.sources.SILENT); return change; }, source); } }, { key: "formatLine", value: function formatLine(index, length, name, value, source) { var _this4 = this; var formats; // eslint-disable-next-line prefer-const var _overload3 = overload(index, length, name, value, source); var _overload4 = _slicedToArray(_overload3, 4); index = _overload4[0]; length = _overload4[1]; formats = _overload4[2]; source = _overload4[3]; return modify.call(this, function () { return _this4.editor.formatLine(index, length, formats); }, source, index, 0); } }, { key: "formatText", value: function formatText(index, length, name, value, source) { var _this5 = this; var formats; // eslint-disable-next-line prefer-const var _overload5 = overload(index, length, name, value, source); var _overload6 = _slicedToArray(_overload5, 4); index = _overload6[0]; length = _overload6[1]; formats = _overload6[2]; source = _overload6[3]; return modify.call(this, function () { return _this5.editor.formatText(index, length, formats); }, source, index, 0); } }, { key: "getBounds", value: function getBounds(index) { var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var bounds; if (typeof index === 'number') { bounds = this.selection.getBounds(index, length); } else { bounds = this.selection.getBounds(index.index, index.length); } var containerBounds = this.container.getBoundingClientRect(); return { bottom: bounds.bottom - containerBounds.top, height: bounds.height, left: bounds.left - containerBounds.left, right: bounds.right - containerBounds.left, top: bounds.top - containerBounds.top, width: bounds.width }; } }, { key: "getContents", value: function getContents() { var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index; var _overload7 = overload(index, length); var _overload8 = _slicedToArray(_overload7, 2); index = _overload8[0]; length = _overload8[1]; return this.editor.getContents(index, length); } }, { key: "getFormat", value: function getFormat() { var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true); var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z)(index)) { return {}; } if (typeof index === 'number') { return this.editor.getFormat(index, length); } return this.editor.getFormat(index.index, index.length); } }, { key: "getIndex", value: function getIndex(blot) { return blot.offset(this.scroll); } }, { key: "getLength", value: function getLength() { return this.scroll.length(); } }, { key: "getLeaf", value: function getLeaf(index) { return this.scroll.leaf(index); } }, { key: "getLine", value: function getLine(index) { return this.scroll.line(index); } }, { key: "getLines", value: function getLines() { var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE; if (typeof index !== 'number') { return this.scroll.lines(index.index, index.length); } return this.scroll.lines(index, length); } }, { key: "getModule", value: function getModule(name) { return this.theme.modules[name]; } }, { key: "getSelection", value: function getSelection() { var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (focus) this.focus(); this.update(); // Make sure we access getRange with editor in consistent state return this.selection.getRange()[0]; } }, { key: "getSemanticHTML", value: function getSemanticHTML() { var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index; var _overload9 = overload(index, length); var _overload10 = _slicedToArray(_overload9, 2); index = _overload10[0]; length = _overload10[1]; return this.editor.getHTML(index, length); } }, { key: "getText", value: function getText() { var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index; var _overload11 = overload(index, length); var _overload12 = _slicedToArray(_overload11, 2); index = _overload12[0]; length = _overload12[1]; return this.editor.getText(index, length); } }, { key: "hasFocus", value: function hasFocus() { return this.selection.hasFocus(); } }, { key: "insertEmbed", value: function insertEmbed(index, embed, value) { var _this6 = this; var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API; return modify.call(this, function () { return _this6.editor.insertEmbed(index, embed, value); }, source, index); } }, { key: "insertText", value: function insertText(index, text, name, value, source) { var _this7 = this; var formats; // eslint-disable-next-line prefer-const var _overload13 = overload(index, 0, name, value, source); var _overload14 = _slicedToArray(_overload13, 4); index = _overload14[0]; formats = _overload14[2]; source = _overload14[3]; return modify.call(this, function () { return _this7.editor.insertText(index, text, formats); }, source, index, text.length); } }, { key: "isEnabled", value: function isEnabled() { return this.scroll.isEnabled(); } }, { key: "off", value: function off() { var _this$emitter; return (_this$emitter = this.emitter).off.apply(_this$emitter, arguments); } }, { key: "on", value: function on() { var _this$emitter2; return (_this$emitter2 = this.emitter).on.apply(_this$emitter2, arguments); } }, { key: "once", value: function once() { var _this$emitter3; return (_this$emitter3 = this.emitter).once.apply(_this$emitter3, arguments); } }, { key: "removeFormat", value: function removeFormat(index, length, source) { var _this8 = this; var _overload15 = overload(index, length, source); var _overload16 = _slicedToArray(_overload15, 4); index = _overload16[0]; length = _overload16[1]; source = _overload16[3]; return modify.call(this, function () { return _this8.editor.removeFormat(index, length); }, source, index); } }, { key: "scrollIntoView", value: function scrollIntoView() { this.selection.scrollIntoView(this.scrollingContainer); } }, { key: "setContents", value: function setContents(delta) { var _this9 = this; var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.API */ .Z.sources.API; return modify.call(this, function () { delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(delta); var length = _this9.getLength(); // Quill will set empty editor to \n var delete1 = _this9.editor.deleteText(0, length); // delta always applied before existing content var applied = _this9.editor.applyDelta(delta); // Remove extra \n from empty editor initialization var delete2 = _this9.editor.deleteText(_this9.getLength() - 1, 1); _this9.emitter.emit(Quill.events.CONTENT_SETTED); return delete1.compose(applied).compose(delete2); }, source); } }, { key: "setSelection", value: function setSelection(index, length, source) { if (index == null) { this.selection.setRange(null, length || Quill.sources.API); } else { var _overload17 = overload(index, length, source); var _overload18 = _slicedToArray(_overload17, 4); index = _overload18[0]; length = _overload18[1]; source = _overload18[3]; this.selection.setRange(new _selection__WEBPACK_IMPORTED_MODULE_7__/* .Range */ .e(Math.max(0, index), length), source); if (source !== _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.SILENT */ .Z.sources.SILENT) { this.selection.scrollIntoView(this.scrollingContainer); } } } }, { key: "setText", value: function setText(text) { var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.API */ .Z.sources.API; var delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert(text); return this.setContents(delta, source); } }, { key: "update", value: function update() { var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.USER */ .Z.sources.USER; // Will update selection before selection.update() does if text changes var change = this.scroll.update(source); this.selection.update(source); // TODO this is usually undefined return change; } }, { key: "updateContents", value: function updateContents(delta) { var _this10 = this; var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.API */ .Z.sources.API; return modify.call(this, function () { delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(delta); return _this10.editor.applyDelta(delta, source); }, source, true); } }, { key: "applyCompositionChanges", value: function applyCompositionChanges() { this.composition.handleCompositionEnd({}); } }], [{ key: "debug", value: function debug(limit) { if (limit === true) { limit = 'log'; } _logger__WEBPACK_IMPORTED_MODULE_9__/* ["default"].level */ .Z.level(limit); } }, { key: "find", value: function find(node) { return _instances__WEBPACK_IMPORTED_MODULE_8__/* ["default"].get */ .Z.get(node) || globalRegistry.find(node); } }, { key: "import", value: function _import(name) { if (this.imports[name] == null) { debug.error("Cannot import ".concat(name, ". Are you sure it was registered?")); } return this.imports[name]; } }, { key: "register", value: function register(path, target) { var _this11 = this; var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (typeof path !== 'string') { var name = path.attrName || path.blotName; if (typeof name === 'string') { // register(Blot | Attributor, overwrite) this.register("formats/".concat(name), path, target); } else { Object.keys(path).forEach(function (key) { _this11.register(key, path[key], target); }); } } else { if (this.imports[path] != null && !overwrite) { debug.warn("Overwriting ".concat(path, " with"), target); } this.imports[path] = target; if ((path.indexOf('blots/') === 0 || path.indexOf('formats/') === 0) && target.blotName !== 'abstract') { globalRegistry.register(target); } if (typeof target.register === 'function') { target.register(globalRegistry); } } } }]); return Quill; }(); Quill.DEFAULTS = { bounds: null, modules: {}, placeholder: '', readOnly: false, registry: globalRegistry, scrollingContainer: null, theme: 'default' }; Quill.events = _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].events */ .Z.events; Quill.sources = _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources */ .Z.sources; // eslint-disable-next-line no-undef Quill.version = false ? 0 : "1.7.3"; Quill.MS_LIST_DATA_KEY = 'mso-list-data'; Quill.replaceStyleAttribute = function (html) { var tagAttrsRegex = /(?:(<[a-z0-9]+\s*))([\s\S]*?)(>|\/>)/gi; return html.replace(tagAttrsRegex, function (allTagAttrs, tagStart, tagAttrs, tagEnd) { var contentWithoutStyle = tagAttrs.replace(/style\s*=/gi, "".concat(STYLE_ATTRIBUTE_KEY, "=")); return tagStart + contentWithoutStyle + tagEnd; }); }; Quill.restoreStyleAttribute = function (element) { element.querySelectorAll("[".concat(STYLE_ATTRIBUTE_KEY, "]")).forEach(function (currentElement) { var attrValue = currentElement.getAttribute(STYLE_ATTRIBUTE_KEY); currentElement.style = attrValue; currentElement.setAttribute(Quill.MS_LIST_DATA_KEY, attrValue); currentElement.removeAttribute(STYLE_ATTRIBUTE_KEY); }); }; Quill.imports = { delta: (quill_delta__WEBPACK_IMPORTED_MODULE_0___default()), parchment: parchment__WEBPACK_IMPORTED_MODULE_3__, 'core/module': _module__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, 'core/theme': _theme__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z }; function expandConfig(container, userConfig) { userConfig = lodash_merge__WEBPACK_IMPORTED_MODULE_2___default()({ container: container, modules: { clipboard: true, keyboard: true, history: true, uploader: true } }, userConfig); if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) { userConfig.theme = _theme__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z; } else { userConfig.theme = Quill.import("themes/".concat(userConfig.theme)); if (userConfig.theme == null) { throw new Error("Invalid theme ".concat(userConfig.theme, ". Did you register it?")); } } var themeConfig = lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default()(userConfig.theme.DEFAULTS); [themeConfig, userConfig].forEach(function (config) { config.modules = config.modules || {}; Object.keys(config.modules).forEach(function (module) { if (config.modules[module] === true) { config.modules[module] = {}; } }); }); var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules)); var moduleConfig = moduleNames.reduce(function (config, name) { var moduleClass = Quill.import("modules/".concat(name)); if (moduleClass == null) { debug.error("Cannot load ".concat(name, " module. Are you sure you registered it?")); } else { config[name] = moduleClass.DEFAULTS || {}; } return config; }, {}); // Special case toolbar shorthand if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) { userConfig.modules.toolbar = { container: userConfig.modules.toolbar }; } userConfig = lodash_merge__WEBPACK_IMPORTED_MODULE_2___default()({}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig); ['bounds', 'container', 'scrollingContainer'].forEach(function (key) { if (typeof userConfig[key] === 'string') { userConfig[key] = document.querySelector(userConfig[key]); } }); userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) { if (userConfig.modules[name]) { config[name] = userConfig.modules[name]; } return config; }, {}); return userConfig; } // Handle selection preservation and TEXT_CHANGE emission // common to modification APIs function modify(modifier, source, index, shift) { if (!this.isEnabled() && source === _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.USER */ .Z.sources.USER && !this.allowReadOnlyEdits) { return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(); } var range = index == null ? null : this.getSelection(); var oldDelta = this.editor.delta; var change = modifier(); if (range != null) { if (index === true) { index = range.index; // eslint-disable-line prefer-destructuring } if (shift == null) { range = shiftRange(range, change, source); } else if (shift !== 0) { range = shiftRange(range, index, shift, source); } this.setSelection(range, _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.SILENT */ .Z.sources.SILENT); } if (change.length() > 0) { var _this$emitter4; var args = [_emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].events.TEXT_CHANGE */ .Z.events.TEXT_CHANGE, change, oldDelta, source]; (_this$emitter4 = this.emitter).emit.apply(_this$emitter4, [_emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].events.EDITOR_CHANGE */ .Z.events.EDITOR_CHANGE].concat(args)); if (source !== _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.SILENT */ .Z.sources.SILENT) { var _this$emitter5; (_this$emitter5 = this.emitter).emit.apply(_this$emitter5, args); } } return change; } function overload(index, length, name, value, source) { var formats = {}; if (typeof index.index === 'number' && typeof index.length === 'number') { // Allow for throwaway end (used by insertText/insertEmbed) if (typeof length !== 'number') { source = value; value = name; name = length; length = index.length; // eslint-disable-line prefer-destructuring index = index.index; // eslint-disable-line prefer-destructuring } else { length = index.length; // eslint-disable-line prefer-destructuring index = index.index; // eslint-disable-line prefer-destructuring } } else if (typeof length !== 'number') { source = value; value = name; name = length; length = 0; } // Handle format being object, two format name/value strings or excluded if (_typeof(name) === 'object') { formats = name; source = value; } else if (typeof name === 'string') { if (value != null) { formats[name] = value; } else { source = name; } } // Handle optional source source = source || _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.API */ .Z.sources.API; return [index, length, formats, source]; } function shiftRange(range, index, length, source) { if (range == null) return null; var start; var end; if (index instanceof (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())) { var _map = [range.index, range.index + range.length].map(function (pos) { return index.transformPosition(pos, source !== _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.USER */ .Z.sources.USER); }); var _map2 = _slicedToArray(_map, 2); start = _map2[0]; end = _map2[1]; } else { var _map3 = [range.index, range.index + range.length].map(function (pos) { if (pos < index || pos === index && source === _emitter__WEBPACK_IMPORTED_MODULE_5__/* ["default"].sources.USER */ .Z.sources.USER) return pos; if (length >= 0) { return pos + length; } return Math.max(index, pos + length); }); var _map4 = _slicedToArray(_map3, 2); start = _map4[0]; end = _map4[1]; } return new _selection__WEBPACK_IMPORTED_MODULE_7__/* .Range */ .e(start, end - start); } /***/ }), /***/ 7800: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ Selection), /* harmony export */ "e": () => (/* binding */ Range) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8805); /* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _utils_is_equal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4506); /* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2069); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3122); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var debug = (0,_logger__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)('quill:selection'); function toNotNegative(value) { if (value < 0) { return 0; } return value; } var Range = /*#__PURE__*/_createClass(function Range(index) { var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; _classCallCheck(this, Range); this.index = index; this.length = length; }); var Selection = /*#__PURE__*/function () { function Selection(scroll, emitter, composition) { var _this = this; _classCallCheck(this, Selection); this.emitter = emitter; this.scroll = scroll; this.composition = composition; this.mouseDown = false; this.root = this.scroll.domNode; this.cursor = this.scroll.create('cursor', this); // savedRange is last non-null range this.savedRange = new Range(0, 0); this.lastRange = this.savedRange; this.lastNative = null; this.handleDragging(); this.emitter.listenDOM('selectionchange', document, function () { if (!_this.mouseDown && !_this.composition.isCompositionInProgress()) { setTimeout(_this.update.bind(_this, _emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .Z.sources.USER), 1); } }); this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.SCROLL_BEFORE_UPDATE */ .Z.events.SCROLL_BEFORE_UPDATE, function () { if (!_this.hasFocus()) return; var native = _this.getNativeRange(); if (native == null) return; if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle _this.emitter.once(_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.SCROLL_UPDATE */ .Z.events.SCROLL_UPDATE, function () { try { if (_this.root.contains(native.start.node) && _this.root.contains(native.end.node)) { _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset); } _this.update(_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .Z.sources.SILENT); } catch (ignored) { // ignore } }); }); this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.SCROLL_OPTIMIZE */ .Z.events.SCROLL_OPTIMIZE, function (mutations, context) { if (context.range) { var _context$range = context.range, startNode = _context$range.startNode, startOffset = _context$range.startOffset, endNode = _context$range.endNode, endOffset = _context$range.endOffset; _this.setNativeRange(startNode, startOffset, endNode, endOffset); _this.update(_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .Z.sources.SILENT); } }); this.update(_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .Z.sources.SILENT); } _createClass(Selection, [{ key: "handleDragging", value: function handleDragging() { var _this2 = this; this.emitter.listenDOM('mousedown', document.body, function () { _this2.mouseDown = true; }); this.emitter.listenDOM('mouseup', document.body, function () { _this2.mouseDown = false; _this2.update(_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .Z.sources.USER); }); } }, { key: "focus", value: function focus() { if (this.hasFocus()) return; this.root.focus(); this.setRange(this.savedRange); } }, { key: "format", value: function format(_format, value) { this.scroll.update(); var nativeRange = this.getNativeRange(); if (nativeRange == null || !nativeRange.native.collapsed || this.scroll.query(_format, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK)) return; if (nativeRange.start.node !== this.cursor.textNode) { var blot = this.scroll.find(nativeRange.start.node, false); if (blot == null) return; // TODO Give blot ability to not split if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_0__.LeafBlot) { var after = blot.split(nativeRange.start.offset); blot.parent.insertBefore(this.cursor, after); } else { blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen } this.cursor.attach(); } this.cursor.format(_format, value); this.scroll.optimize(); this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length); this.update(); } }, { key: "getBounds", value: function getBounds(index) { var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var scrollLength = this.scroll.length(); index = Math.min(index, scrollLength - 1); length = Math.min(index + length, scrollLength - 1) - index; var node; var _this$scroll$leaf = this.scroll.leaf(index), _this$scroll$leaf2 = _slicedToArray(_this$scroll$leaf, 2), leaf = _this$scroll$leaf2[0], offset = _this$scroll$leaf2[1]; if (leaf == null) return null; var _this$getPositionData = this.getPositionData(leaf, offset, true); var _this$getPositionData2 = _slicedToArray(_this$getPositionData, 2); node = _this$getPositionData2[0]; offset = _this$getPositionData2[1]; var range = document.createRange(); if (length > 0) { range.setStart(node, offset); var _this$scroll$leaf3 = this.scroll.leaf(index + length); var _this$scroll$leaf4 = _slicedToArray(_this$scroll$leaf3, 2); leaf = _this$scroll$leaf4[0]; offset = _this$scroll$leaf4[1]; if (leaf == null) return null; var _this$getPositionData3 = this.getPositionData(leaf, offset, true); var _this$getPositionData4 = _slicedToArray(_this$getPositionData3, 2); node = _this$getPositionData4[0]; offset = _this$getPositionData4[1]; range.setEnd(node, offset); return range.getBoundingClientRect(); } var side = 'left'; var rect; if (node instanceof Text) { if (offset < node.data.length) { range.setStart(node, offset); range.setEnd(node, offset + 1); } else { // needed for composition events handling on Android devices var decrementedOffset = toNotNegative(offset - 1); range.setStart(node, decrementedOffset); range.setEnd(node, offset); side = 'right'; } rect = range.getBoundingClientRect(); } else { rect = leaf.domNode.getBoundingClientRect(); if (offset > 0) side = 'right'; } return { bottom: rect.top + rect.height, height: rect.height, left: rect[side], right: rect[side], top: rect.top, width: 0 }; } }, { key: "getNativeRange", value: function getNativeRange() { var _ownerDocument$getSel, _ownerDocument$getSel2; var ownerDocument = this.root.getRootNode(); var selection = (_ownerDocument$getSel = (_ownerDocument$getSel2 = ownerDocument.getSelection) === null || _ownerDocument$getSel2 === void 0 ? void 0 : _ownerDocument$getSel2.call(ownerDocument)) !== null && _ownerDocument$getSel !== void 0 ? _ownerDocument$getSel : document.getSelection(); if (selection == null || selection.rangeCount <= 0) return null; var nativeRange = selection.getRangeAt(0); if (nativeRange == null) return null; var range = this.normalizeNative(nativeRange); debug.info('getNativeRange', range); return range; } }, { key: "getRange", value: function getRange() { var normalized = this.getNativeRange(); if (normalized == null) return [null, null]; var range = this.normalizedToRange(normalized); return [range, normalized]; } }, { key: "hasFocus", value: function hasFocus() { var ownerDocument = this.root.getRootNode(); return ownerDocument.activeElement === this.root || contains(this.root, ownerDocument.activeElement); } }, { key: "normalizedToRange", value: function normalizedToRange(range) { var _this3 = this; var positions = [[range.start.node, range.start.offset]]; if (!range.native.collapsed) { positions.push([range.end.node, range.end.offset]); } var indexes = positions.map(function (position) { var _position = _slicedToArray(position, 2), node = _position[0], offset = _position[1]; var blot = _this3.scroll.find(node, true); var index = blot.offset(_this3.scroll); if (offset === 0) { return index; } if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_0__.LeafBlot) { return index + blot.index(node, offset); } return index + blot.length(); }); var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1); var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes))); return new Range(start, end - start); } }, { key: "normalizeNative", value: function normalizeNative(nativeRange) { if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) { return null; } var range = { start: { node: nativeRange.startContainer, offset: nativeRange.startOffset }, end: { node: nativeRange.endContainer, offset: nativeRange.endOffset }, native: nativeRange }; [range.start, range.end].forEach(function (position) { var node = position.node, offset = position.offset; while (!(node instanceof Text) && node.childNodes.length > 0) { if (node.childNodes.length > offset) { node = node.childNodes[offset]; offset = 0; } else if (node.childNodes.length === offset) { node = node.lastChild; if (node instanceof Text) { offset = node.data.length; } else if (node.childNodes.length > 0) { // Container case offset = node.childNodes.length; } else { // Embed case offset = node.childNodes.length + 1; } } else { break; } } position.node = node; position.offset = offset; }); return range; } }, { key: "rangeToNative", value: function rangeToNative(range) { var _this4 = this; var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length]; var args = []; var scrollLength = this.scroll.length(); indexes.forEach(function (index, i) { index = Math.min(scrollLength - 1, index); var _this4$scroll$leaf = _this4.scroll.leaf(index), _this4$scroll$leaf2 = _slicedToArray(_this4$scroll$leaf, 2), leaf = _this4$scroll$leaf2[0], leafOffset = _this4$scroll$leaf2[1]; var _this4$getPositionDat = _this4.getPositionData(leaf, leafOffset, i !== 0), _this4$getPositionDat2 = _slicedToArray(_this4$getPositionDat, 2), node = _this4$getPositionDat2[0], offset = _this4$getPositionDat2[1]; args.push(node, offset); }); if (args.length < 2) { return args.concat(args); } return args; } }, { key: "getPositionData", value: function getPositionData(leaf, offset, inclusive) { if (leaf instanceof parchment__WEBPACK_IMPORTED_MODULE_0__.LeafBlot) { return leaf.position(offset, inclusive); } return [leaf.domNode, offset]; } }, { key: "scrollIntoView", value: function scrollIntoView(scrollingContainer) { var range = this.lastRange; if (range == null) return; var bounds = this.getBounds(range.index, range.length); if (bounds == null) return; var limit = this.scroll.length() - 1; var _this$scroll$line = this.scroll.line(Math.min(range.index, limit)), _this$scroll$line2 = _slicedToArray(_this$scroll$line, 1), first = _this$scroll$line2[0]; var last = first; if (range.length > 0) { var _this$scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit)); var _this$scroll$line4 = _slicedToArray(_this$scroll$line3, 1); last = _this$scroll$line4[0]; } if (first == null || last == null) return; var scrollBounds = scrollingContainer.getBoundingClientRect(); if (bounds.top < scrollBounds.top) { scrollingContainer.scrollTop -= scrollBounds.top - bounds.top; } else if (bounds.bottom > scrollBounds.bottom) { scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom; } } }, { key: "setNativeRange", value: function setNativeRange(startNode, startOffset) { var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode; var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset; var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; debug.info('setNativeRange', startNode, startOffset, endNode, endOffset); if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) { return; } var selection = document.getSelection(); if (selection == null) return; if (startNode != null) { if (!this.hasFocus()) this.root.focus(); var _ref = this.getNativeRange() || {}, native = _ref.native; if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) { if (startNode.tagName === 'BR') { startOffset = Array.from(startNode.parentNode.childNodes).indexOf(startNode); startNode = startNode.parentNode; } if (endNode.tagName === 'BR') { endOffset = Array.from(endNode.parentNode.childNodes).indexOf(endNode); endNode = endNode.parentNode; } var range = document.createRange(); // needed for composition events handling on Android devices startOffset = toNotNegative(startOffset); endOffset = toNotNegative(endOffset); range.setStart(startNode, startOffset); range.setEnd(endNode, endOffset); selection.removeAllRanges(); selection.addRange(range); } } else { selection.removeAllRanges(); this.root.blur(); document.body.focus(); // root.blur() not enough for IE11 } } }, { key: "setRange", value: function setRange(range) { var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.API */ .Z.sources.API; if (typeof force === 'string') { source = force; force = false; } debug.info('setRange', range); if (range != null) { var args = this.rangeToNative(range); this.setNativeRange.apply(this, _toConsumableArray(args).concat([force])); } else { this.setNativeRange(null); } this.update(source); } }, { key: "update", value: function update() { var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .Z.sources.USER; var oldRange = this.lastRange; var _this$getRange = this.getRange(), _this$getRange2 = _slicedToArray(_this$getRange, 2), lastRange = _this$getRange2[0], nativeRange = _this$getRange2[1]; this.lastRange = lastRange; this.lastNative = nativeRange; if (this.lastRange != null) { this.savedRange = this.lastRange; } if (!(0,_utils_is_equal__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(oldRange, this.lastRange)) { var _this$emitter; if (!this.composition.isCompositionInProgress() && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) { var range = this.cursor.restore(); if (range) { this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset); } } var args = [_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.SELECTION_CHANGE */ .Z.events.SELECTION_CHANGE, lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default()(this.lastRange), lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default()(oldRange), source]; (_this$emitter = this.emitter).emit.apply(_this$emitter, [_emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.EDITOR_CHANGE */ .Z.events.EDITOR_CHANGE].concat(args)); if (source !== _emitter__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .Z.sources.SILENT) { var _this$emitter2; (_this$emitter2 = this.emitter).emit.apply(_this$emitter2, args); } } } }]); return Selection; }(); function contains(parent, descendant) { try { // Firefox inserts inaccessible nodes around video elements descendant.parentNode; // eslint-disable-line no-unused-expressions } catch (e) { return false; } // IE11 has bug with Text nodes // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect if (descendant instanceof Text) { descendant = descendant.parentNode; } return parent.contains(descendant); } // eslint-disable-next-line no-restricted-exports /***/ }), /***/ 1690: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } var Theme = /*#__PURE__*/function () { function Theme(quill, options) { _classCallCheck(this, Theme); this.quill = quill; this.options = options; this.modules = {}; } _createClass(Theme, [{ key: "init", value: function init() { var _this = this; Object.keys(this.options.modules).forEach(function (name) { if (_this.modules[name] == null) { _this.addModule(name); } }); } }, { key: "addModule", value: function addModule(name) { var ModuleClass = this.quill.constructor.import("modules/".concat(name)); this.modules[name] = new ModuleClass(this.quill, this.options.modules[name] || {}); return this.modules[name]; } }]); return Theme; }(); Theme.DEFAULTS = { modules: {} }; Theme.themes = { default: Theme }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Theme); /***/ }), /***/ 715: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "HE": () => (/* binding */ AlignStyle), /* harmony export */ "dk": () => (/* binding */ AlignClass), /* harmony export */ "if": () => (/* binding */ AlignAttribute) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); var config = { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK, whitelist: ['right', 'center', 'justify'] }; var AlignAttribute = new parchment__WEBPACK_IMPORTED_MODULE_0__.Attributor('align', 'align', config); var AlignClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('align', 'ql-align', config); var AlignStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor('align', 'text-align', config); /***/ }), /***/ 7898: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Y": () => (/* binding */ BackgroundClass), /* harmony export */ "w": () => (/* binding */ BackgroundStyle) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6039); var BackgroundClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('background', 'ql-bg', { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE }); var BackgroundStyle = new _color__WEBPACK_IMPORTED_MODULE_1__/* .ColorAttributor */ .OO('background', 'background-color', { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE }); /***/ }), /***/ 3991: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6603); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Bold = /*#__PURE__*/function (_Inline) { _inherits(Bold, _Inline); var _super = _createSuper(Bold); function Bold() { _classCallCheck(this, Bold); return _super.apply(this, arguments); } _createClass(Bold, [{ key: "optimize", value: function optimize(context) { _get(_getPrototypeOf(Bold.prototype), "optimize", this).call(this, context); if (this.domNode.tagName !== this.statics.tagName[0]) { this.replaceWith(this.statics.blotName); } } }], [{ key: "create", value: function create() { return _get(_getPrototypeOf(Bold), "create", this).call(this); } }, { key: "formats", value: function formats() { return true; } }]); return Bold; }(_blots_inline__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z); Bold.blotName = 'bold'; Bold.tagName = ['STRONG', 'B']; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Bold); /***/ }), /***/ 7309: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "EK": () => (/* binding */ Code), /* harmony export */ "ZP": () => (/* binding */ CodeBlock), /* harmony export */ "se": () => (/* binding */ CodeBlockContainer) /* harmony export */ }); /* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6446); /* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4122); /* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3657); /* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6603); /* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8222); /* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3553); /* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(281); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var CodeBlockContainer = /*#__PURE__*/function (_Container) { _inherits(CodeBlockContainer, _Container); var _super = _createSuper(CodeBlockContainer); function CodeBlockContainer() { _classCallCheck(this, CodeBlockContainer); return _super.apply(this, arguments); } _createClass(CodeBlockContainer, [{ key: "code", value: function code(index, length) { var text = this.children.map(function (child) { return child.length() <= 1 ? '' : child.domNode.textContent; }).join('\n').slice(index, index + length); return (0,_blots_text__WEBPACK_IMPORTED_MODULE_4__/* .escapeText */ .b)(text); } }, { key: "html", value: function html(index, length) { // `\n`s are needed in order to support empty lines at the beginning and the end. // https://html.spec.whatwg.org/multipage/syntax.html#element-restrictions return "
    \n".concat(this.code(index, length), "\n
    "); } }], [{ key: "create", value: function create(value) { var domNode = _get(_getPrototypeOf(CodeBlockContainer), "create", this).call(this, value); domNode.setAttribute('spellcheck', false); return domNode; } }]); return CodeBlockContainer; }(_blots_container__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z); var CodeBlock = /*#__PURE__*/function (_Block) { _inherits(CodeBlock, _Block); var _super2 = _createSuper(CodeBlock); function CodeBlock() { _classCallCheck(this, CodeBlock); return _super2.apply(this, arguments); } _createClass(CodeBlock, null, [{ key: "register", value: function register() { _core_quill__WEBPACK_IMPORTED_MODULE_6__/* ["default"].register */ .ZP.register(CodeBlockContainer); } }]); return CodeBlock; }(_blots_block__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP); var Code = /*#__PURE__*/function (_Inline) { _inherits(Code, _Inline); var _super3 = _createSuper(Code); function Code() { _classCallCheck(this, Code); return _super3.apply(this, arguments); } return _createClass(Code); }(_blots_inline__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z); Code.blotName = 'code'; Code.tagName = 'CODE'; CodeBlock.blotName = 'code-block'; CodeBlock.className = 'ql-code-block'; CodeBlock.tagName = 'DIV'; CodeBlockContainer.blotName = 'code-block-container'; CodeBlockContainer.className = 'ql-code-block-container'; CodeBlockContainer.tagName = 'DIV'; CodeBlockContainer.allowedChildren = [CodeBlock]; CodeBlock.allowedChildren = [_blots_text__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, _blots_break__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, _blots_cursor__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z]; CodeBlock.requiredContainer = CodeBlockContainer; CodeBlock.TAB = ' '; // eslint-disable-next-line no-restricted-exports /***/ }), /***/ 6039: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "HQ": () => (/* binding */ ColorStyle), /* harmony export */ "Hn": () => (/* binding */ ColorClass), /* harmony export */ "OO": () => (/* binding */ ColorAttributor) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var ColorAttributor = /*#__PURE__*/function (_StyleAttributor) { _inherits(ColorAttributor, _StyleAttributor); var _super = _createSuper(ColorAttributor); function ColorAttributor() { _classCallCheck(this, ColorAttributor); return _super.apply(this, arguments); } _createClass(ColorAttributor, [{ key: "value", value: function value(domNode) { var value = _get(_getPrototypeOf(ColorAttributor.prototype), "value", this).call(this, domNode); if (value.indexOf('rgb(') !== 0) return value; value = value.replace(/^[^\d]+/, '').replace(/[^\d]+$/, ''); var hex = value.split(',').map(function (component) { return "00".concat(parseInt(component, 10).toString(16)).slice(-2); }).join(''); return "#".concat(hex); } }]); return ColorAttributor; }(parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor); var ColorClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('color', 'ql-color', { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE }); var ColorStyle = new ColorAttributor('color', 'color', { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE }); /***/ }), /***/ 4048: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "H8": () => (/* binding */ DirectionStyle), /* harmony export */ "IF": () => (/* binding */ DirectionAttribute), /* harmony export */ "hY": () => (/* binding */ DirectionClass) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); var config = { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK, whitelist: ['rtl'] }; var DirectionAttribute = new parchment__WEBPACK_IMPORTED_MODULE_0__.Attributor('direction', 'dir', config); var DirectionClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('direction', 'ql-direction', config); var DirectionStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor('direction', 'direction', config); /***/ }), /***/ 5832: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "H": () => (/* binding */ FontStyle), /* harmony export */ "_": () => (/* binding */ FontClass) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var config = { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE, whitelist: ['serif', 'monospace'] }; var FontClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('font', 'ql-font', config); var FontStyleAttributor = /*#__PURE__*/function (_StyleAttributor) { _inherits(FontStyleAttributor, _StyleAttributor); var _super = _createSuper(FontStyleAttributor); function FontStyleAttributor() { _classCallCheck(this, FontStyleAttributor); return _super.apply(this, arguments); } _createClass(FontStyleAttributor, [{ key: "value", value: function value(node) { return _get(_getPrototypeOf(FontStyleAttributor.prototype), "value", this).call(this, node).replace(/["']/g, ''); } }]); return FontStyleAttributor; }(parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor); var FontStyle = new FontStyleAttributor('font', 'font-family', config); /***/ }), /***/ 7256: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "N": () => (/* binding */ _sanitize), /* harmony export */ "Z": () => (/* binding */ Link) /* harmony export */ }); /* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6603); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Link = /*#__PURE__*/function (_Inline) { _inherits(Link, _Inline); var _super = _createSuper(Link); function Link() { _classCallCheck(this, Link); return _super.apply(this, arguments); } _createClass(Link, [{ key: "format", value: function format(name, value) { if (name !== this.statics.blotName || !value) { _get(_getPrototypeOf(Link.prototype), "format", this).call(this, name, value); } else { this.domNode.setAttribute('href', this.constructor.sanitize(value)); } } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(Link), "create", this).call(this, value); node.setAttribute('href', this.sanitize(value)); node.setAttribute('rel', 'noopener noreferrer'); node.setAttribute('target', '_blank'); return node; } }, { key: "formats", value: function formats(domNode) { return domNode.getAttribute('href'); } }, { key: "sanitize", value: function sanitize(url) { return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL; } }]); return Link; }(_blots_inline__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z); Link.blotName = 'link'; Link.tagName = 'A'; Link.SANITIZED_URL = 'about:blank'; Link.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel']; function _sanitize(url, protocols) { var anchor = document.createElement('a'); anchor.href = url; var protocol = anchor.href.slice(0, anchor.href.indexOf(':')); return protocols.indexOf(protocol) > -1; } // eslint-disable-next-line no-restricted-exports /***/ }), /***/ 1629: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ SizeStyle), /* harmony export */ "m": () => (/* binding */ SizeClass) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); var SizeClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('size', 'ql-size', { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE, whitelist: ['small', 'large', 'huge'] }); var SizeStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor('size', 'font-size', { scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE, whitelist: ['10px', '18px', '32px'] }); /***/ }), /***/ 1342: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Du": () => (/* binding */ CELL_FORMATS), /* harmony export */ "h6": () => (/* binding */ CELL_ATTRIBUTORS), /* harmony export */ "kk": () => (/* binding */ TABLE_CELL_STYLE_ATTRIBUTORS), /* harmony export */ "yA": () => (/* binding */ TABLE_CELL_ATTR_ATTRIBUTORS) /* harmony export */ }); /* harmony import */ var _prepare_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6062); /* harmony import */ var _prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1801); /* harmony import */ var _cell_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8252); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var TABLE_CELL_ATTR_ATTRIBUTORS = _cell_config__WEBPACK_IMPORTED_MODULE_2__/* .TABLE_CELL_ATTRIBUTES.map */ .F1.map(function (attrName) { return (0,_prepare_attributor__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(_cell_config__WEBPACK_IMPORTED_MODULE_2__/* .cellConfig */ .Pw, attrName); }); var TABLE_CELL_STYLE_ATTRIBUTORS = _cell_config__WEBPACK_IMPORTED_MODULE_2__/* .TABLE_CELL_STYLES.map */ .Mu.map(function (styleName) { return (0,_prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(_cell_config__WEBPACK_IMPORTED_MODULE_2__/* .cellConfig */ .Pw, styleName); }); var CELL_FORMATS = TABLE_CELL_STYLE_ATTRIBUTORS.reduce(function (result, attributor) { result[attributor.attrName] = attributor; return result; }, {}); var CELL_ATTRIBUTORS = [].concat(_toConsumableArray(TABLE_CELL_ATTR_ATTRIBUTORS), _toConsumableArray(TABLE_CELL_STYLE_ATTRIBUTORS)).reduce(function (result, attributor) { result[attributor.keyName] = attributor; return result; }, {}); /***/ }), /***/ 8252: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "F1": () => (/* binding */ TABLE_CELL_ATTRIBUTES), /* harmony export */ "Mu": () => (/* binding */ TABLE_CELL_STYLES), /* harmony export */ "Pw": () => (/* binding */ cellConfig), /* harmony export */ "fU": () => (/* binding */ TABLE_CELL_KEY_NAME_SET) /* harmony export */ }); var cellConfig = { name: 'cell', allowedTags: ['TH', 'TD', 'TR'] }; var TABLE_CELL_ATTRIBUTES = ['height', 'width']; var TABLE_CELL_STYLES = ['height', 'width', 'vertical-align', 'text-align', 'background-color', 'border', 'border-style', 'border-width', 'border-color', 'padding', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left']; var TABLE_CELL_KEY_NAME_SET = new Set([].concat(TABLE_CELL_ATTRIBUTES, TABLE_CELL_STYLES)); /***/ }), /***/ 6062: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ prepareAttributor) /* harmony export */ }); /* harmony import */ var _attributors_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1674); /* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2141); /* harmony import */ var _attributors_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3398); var _excluded = ["name"]; function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function prepareAttributor(_ref, domAttrName) { var name = _ref.name, elementConfig = _objectWithoutProperties(_ref, _excluded); var attrName = "".concat(name).concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(domAttrName)); var keyName = "".concat(_attributors_utils__WEBPACK_IMPORTED_MODULE_1__/* .KeyNameType.attribute */ .WT.attribute).concat(name, "_").concat(domAttrName); return new _attributors_attributor__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z(attrName, keyName, elementConfig); } /***/ }), /***/ 1801: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ prepareStyleAttributor) /* harmony export */ }); /* harmony import */ var _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4569); /* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2141); /* harmony import */ var _attributors_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3398); var _excluded = ["name", "formatName"]; function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function prepareStyleAttributor(_ref, prop) { var name = _ref.name, formatName = _ref.formatName, elementConfig = _objectWithoutProperties(_ref, _excluded); var _prop$split = prop.split('-'), _prop$split2 = _slicedToArray(_prop$split, 2), propName = _prop$split2[0], propSubName = _prop$split2[1]; var attrName = "".concat(name).concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(formatName !== null && formatName !== void 0 ? formatName : propName)).concat(propSubName ? (0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(propSubName) : ''); var keyName = "".concat(_attributors_utils__WEBPACK_IMPORTED_MODULE_1__/* .KeyNameType.style */ .WT.style).concat(name, "_").concat(prop); return new _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z(attrName, keyName, elementConfig); } /***/ }), /***/ 319: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Qu": () => (/* binding */ TABLE_ATTR_ATTRIBUTORS), /* harmony export */ "VT": () => (/* binding */ TABLE_STYLE_ATTRIBUTORS), /* harmony export */ "Zt": () => (/* binding */ TABLE_ATTRIBUTORS), /* harmony export */ "li": () => (/* binding */ TABLE_FORMATS) /* harmony export */ }); /* harmony import */ var _prepare_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6062); /* harmony import */ var _prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1801); /* harmony import */ var _table_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var TABLE_ATTR_ATTRIBUTORS = _table_config__WEBPACK_IMPORTED_MODULE_2__/* .TABLE_ATTRIBUTES.map */ .N2.map(function (attrName) { return (0,_prepare_attributor__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(_table_config__WEBPACK_IMPORTED_MODULE_2__/* .tableConfig */ .Sp, attrName); }); var TABLE_STYLE_ATTRIBUTORS = _table_config__WEBPACK_IMPORTED_MODULE_2__/* .TABLE_STYLES.map */ .GX.map(function (styleName) { return (0,_prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(_table_config__WEBPACK_IMPORTED_MODULE_2__/* .tableConfig */ .Sp, styleName); }); var TABLE_FORMATS = TABLE_STYLE_ATTRIBUTORS.reduce(function (result, attributor) { result[attributor.attrName] = attributor; return result; }, {}); var TABLE_ATTRIBUTORS = [].concat(_toConsumableArray(TABLE_ATTR_ATTRIBUTORS), _toConsumableArray(TABLE_STYLE_ATTRIBUTORS)).reduce(function (result, attributor) { result[attributor.keyName] = attributor; return result; }, {}); /***/ }), /***/ 19: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "GX": () => (/* binding */ TABLE_STYLES), /* harmony export */ "N2": () => (/* binding */ TABLE_ATTRIBUTES), /* harmony export */ "Sp": () => (/* binding */ tableConfig), /* harmony export */ "bc": () => (/* binding */ TABLE_KEY_NAME_SET) /* harmony export */ }); var tableConfig = { name: 'table', allowedTags: ['TABLE'] }; var TABLE_ATTRIBUTES = ['height', 'width']; var TABLE_STYLES = ['height', 'width', 'text-align', 'background-color', 'border', 'border-style', 'border-width', 'border-color']; var TABLE_KEY_NAME_SET = new Set([].concat(TABLE_ATTRIBUTES, TABLE_STYLES)); /***/ }), /***/ 8536: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ getId) /* harmony export */ }); function getId() { return Math.random().toString(36).slice(2, 6); } /***/ }), /***/ 1969: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "KA": () => (/* binding */ TableHeaderRow), /* harmony export */ "Lv": () => (/* binding */ tableId), /* harmony export */ "RM": () => (/* binding */ TableBody), /* harmony export */ "SC": () => (/* binding */ TableRow), /* harmony export */ "iD": () => (/* binding */ HeaderCellLine), /* harmony export */ "pj": () => (/* binding */ TableCell), /* harmony export */ "xD": () => (/* binding */ TableHeader), /* harmony export */ "xJ": () => (/* binding */ TableContainer), /* harmony export */ "xs": () => (/* binding */ TableHeaderCell), /* harmony export */ "zW": () => (/* binding */ CellLine) /* harmony export */ }); /* unused harmony export TABLE_TAGS */ /* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6446); /* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4122); /* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3553); /* harmony import */ var _utils_is_defined__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5874); /* harmony import */ var _attributors_cell__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1342); /* harmony import */ var _attributors_table__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(319); /* harmony import */ var _get_id__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8536); /* harmony import */ var _toggle_attribute__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2795); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var CELL_IDENTITY_KEYS = ['row', 'cell']; var TABLE_TAGS = (/* unused pure expression or super */ null && (['TD', 'TH', 'TR', 'TBODY', 'THEAD', 'TABLE'])); var DATA_PREFIX = 'data-table-'; function deleteChildrenAt(children, index, length) { children.forEachAt(index, length, function (child, offset, childLength) { child.deleteAt(offset, childLength); }); } var CellLine = /*#__PURE__*/function (_Block) { _inherits(CellLine, _Block); var _super = _createSuper(CellLine); function CellLine() { _classCallCheck(this, CellLine); return _super.apply(this, arguments); } _createClass(CellLine, [{ key: "optimize", value: function optimize() { var _get2; var rowId = this.domNode.getAttribute("".concat(DATA_PREFIX, "row")); if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) { var domNode = this.domNode; var formats = { row: rowId }; Object.keys(_attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du).forEach(function (format) { var value = domNode.dataset[format.toLowerCase()]; if (value) { formats[format] = value; } }); this.wrap(this.statics.requiredContainer.blotName, formats); } for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } (_get2 = _get(_getPrototypeOf(CellLine.prototype), "optimize", this)).call.apply(_get2, [this].concat(args)); } }, { key: "format", value: function format(name, value) { var isCellLine = name === 'tableCellLine'; if (isCellLine && value === null) { value = this.formats().tableCellLine; } var isCell = CELL_IDENTITY_KEYS.indexOf(name) > -1; if (isCell || _attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[name] || _attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du[name]) { var attrName = "data-".concat(isCell ? 'table-' : '').concat(name.toLowerCase()); (0,_toggle_attribute__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(this.domNode, attrName, value); if (_attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du[name]) { var _this$cell; (_this$cell = this.cell()) === null || _this$cell === void 0 || _this$cell.format(name, value); } if (_attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[name]) { var _this$cell2; (_this$cell2 = this.cell()) === null || _this$cell2 === void 0 || (_this$cell2 = _this$cell2.table()) === null || _this$cell2 === void 0 || _this$cell2.format(name, value); } } else { _get(_getPrototypeOf(CellLine.prototype), "format", this).call(this, name, value); } } }, { key: "cell", value: function cell() { return 'row' in this.parent ? this.parent : null; } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(CellLine), "create", this).call(this, value); CELL_IDENTITY_KEYS.forEach(function (key) { var _value$key; var identityMarker = key === 'row' ? tableId : cellId; node.setAttribute("".concat(DATA_PREFIX).concat(key), (_value$key = value === null || value === void 0 ? void 0 : value[key]) !== null && _value$key !== void 0 ? _value$key : identityMarker()); }); return node; } }, { key: "formats", value: function formats(domNode) { return CELL_IDENTITY_KEYS.reduce(function (formats, attribute) { var attrName = "".concat(DATA_PREFIX).concat(attribute); if (domNode.hasAttribute(attrName)) { formats[attribute] = domNode.getAttribute(attrName) || undefined; } return formats; }, {}); } }]); return CellLine; }(_blots_block__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP); CellLine.blotName = 'tableCellLine'; CellLine.className = 'ql-table-cell-line'; CellLine.tagName = 'P'; var HeaderCellLine = /*#__PURE__*/function (_CellLine) { _inherits(HeaderCellLine, _CellLine); var _super2 = _createSuper(HeaderCellLine); function HeaderCellLine() { _classCallCheck(this, HeaderCellLine); return _super2.apply(this, arguments); } return _createClass(HeaderCellLine); }(CellLine); HeaderCellLine.blotName = 'tableHeaderCellLine'; HeaderCellLine.className = 'ql-table-header-cell-line'; var BaseCell = /*#__PURE__*/function (_Container) { _inherits(BaseCell, _Container); var _super3 = _createSuper(BaseCell); function BaseCell() { _classCallCheck(this, BaseCell); return _super3.apply(this, arguments); } _createClass(BaseCell, [{ key: "format", value: function format(name, value) { var _CELL_FORMATS$name; (_CELL_FORMATS$name = _attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du[name]) === null || _CELL_FORMATS$name === void 0 || _CELL_FORMATS$name.add(this.domNode, value); } }, { key: "checkMerge", value: function checkMerge() { if (_get(_getPrototypeOf(BaseCell.prototype), "checkMerge", this).call(this) && this.next.children.head != null) { var thisHead = this.children.head.formats()[this.children.head.statics.blotName]; var thisTail = this.children.tail.formats()[this.children.tail.statics.blotName]; var nextHead = this.next.children.head.formats()[this.next.children.head.statics.blotName]; var nextTail = this.next.children.tail.formats()[this.next.children.tail.statics.blotName]; return thisHead.cell === thisTail.cell && thisHead.cell === nextHead.cell && thisHead.cell === nextTail.cell; } return false; } }, { key: "formats", value: function formats() { return BaseCell.cellFormats(this.domNode); } }, { key: "cellOffset", value: function cellOffset() { if (this.parent) { return this.parent.children.indexOf(this); } return -1; } }, { key: "row", value: function row() { return 'table' in this.parent ? this.parent : null; } }, { key: "rowOffset", value: function rowOffset() { if (this.row()) { return this.row().rowOffset(); } return -1; } }, { key: "table", value: function table() { var _this$row; return (_this$row = this.row()) === null || _this$row === void 0 ? void 0 : _this$row.table(); } }, { key: "optimize", value: function optimize() { var _this$domNode$getAttr, _get3; var rowId = (_this$domNode$getAttr = this.domNode.getAttribute("".concat(DATA_PREFIX, "row"))) !== null && _this$domNode$getAttr !== void 0 ? _this$domNode$getAttr : this.domNode.getAttribute("".concat(DATA_PREFIX, "header-row")); if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) { this.wrap(this.statics.requiredContainer.blotName, { row: rowId }); } for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } (_get3 = _get(_getPrototypeOf(BaseCell.prototype), "optimize", this)).call.apply(_get3, [this].concat(args)); } }, { key: "deleteAt", value: function deleteAt(index, length) { deleteChildrenAt(this.children, index, length); } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(BaseCell), "create", this).call(this, value); if (value) { Object.keys(value).forEach(function (format) { var _CELL_FORMATS$format; (_CELL_FORMATS$format = _attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du[format]) === null || _CELL_FORMATS$format === void 0 || _CELL_FORMATS$format.add(node, value[format]); }); } return node; } }, { key: "cellFormats", value: function cellFormats(domNode) { var formats = {}; if (domNode.hasAttribute("".concat(DATA_PREFIX, "row")) || domNode.hasAttribute("".concat(DATA_PREFIX, "header-row"))) { var _domNode$getAttribute; formats.row = (_domNode$getAttribute = domNode.getAttribute("".concat(DATA_PREFIX, "row"))) !== null && _domNode$getAttribute !== void 0 ? _domNode$getAttribute : domNode.getAttribute("".concat(DATA_PREFIX, "header-row")); } Object.keys(_attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du).forEach(function (format) { var _domNode$firstElement; var value = (_domNode$firstElement = domNode.firstElementChild) === null || _domNode$firstElement === void 0 ? void 0 : _domNode$firstElement.dataset[format.toLowerCase()]; if (value) { formats[format] = value; } }); return formats; } }]); return BaseCell; }(_blots_container__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z); BaseCell.tagName = ['TD', 'TH']; var TableCell = /*#__PURE__*/function (_BaseCell) { _inherits(TableCell, _BaseCell); var _super4 = _createSuper(TableCell); function TableCell() { _classCallCheck(this, TableCell); return _super4.apply(this, arguments); } _createClass(TableCell, [{ key: "format", value: function format(name, value) { if (name === 'row') { this.domNode.setAttribute("".concat(DATA_PREFIX).concat(name), value); this.children.forEach(function (child) { child.format(name, value); }); } else { _get(_getPrototypeOf(TableCell.prototype), "format", this).call(this, name, value); } } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(TableCell), "create", this).call(this, value); var attrName = "".concat(DATA_PREFIX, "row"); if (value !== null && value !== void 0 && value.row) { node.setAttribute(attrName, value.row); } return node; } }]); return TableCell; }(BaseCell); TableCell.blotName = 'tableCell'; TableCell.className = 'ql-table-data-cell'; TableCell.dataAttribute = "".concat(DATA_PREFIX, "row"); TableCell.defaultChild = CellLine; var TableHeaderCell = /*#__PURE__*/function (_BaseCell2) { _inherits(TableHeaderCell, _BaseCell2); var _super5 = _createSuper(TableHeaderCell); function TableHeaderCell() { _classCallCheck(this, TableHeaderCell); return _super5.apply(this, arguments); } _createClass(TableHeaderCell, [{ key: "format", value: function format(name, value) { if (name === 'row') { this.domNode.setAttribute("".concat(DATA_PREFIX).concat(name), value); this.children.forEach(function (child) { child.format(name, value); }); } else { _get(_getPrototypeOf(TableHeaderCell.prototype), "format", this).call(this, name, value); } } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(TableHeaderCell), "create", this).call(this, value); var attrName = "".concat(DATA_PREFIX, "header-row"); if (value && value.row) { node.setAttribute(attrName, value.row); } return node; } }]); return TableHeaderCell; }(BaseCell); TableHeaderCell.tagName = ['TH', 'TD']; TableHeaderCell.className = 'ql-table-header-cell'; TableHeaderCell.blotName = 'tableHeaderCell'; TableHeaderCell.dataAttribute = "".concat(DATA_PREFIX, "header-row"); TableHeaderCell.defaultChild = HeaderCellLine; var BaseRow = /*#__PURE__*/function (_Container2) { _inherits(BaseRow, _Container2); var _super6 = _createSuper(BaseRow); function BaseRow() { _classCallCheck(this, BaseRow); return _super6.apply(this, arguments); } _createClass(BaseRow, [{ key: "checkMerge", value: function checkMerge() { if (_get(_getPrototypeOf(BaseRow.prototype), "checkMerge", this).call(this) && (0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(this.next.children.head)) { var formatName = 'row'; var thisHead = this.children.head.formats(); var thisTail = this.children.tail.formats(); var nextHead = this.next.children.head.formats(); var nextTail = this.next.children.tail.formats(); return thisHead[formatName] === thisTail[formatName] && thisHead[formatName] === nextHead[formatName] && thisHead[formatName] === nextTail[formatName]; } return false; } }, { key: "optimize", value: function optimize() { var _get4, _this = this; for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } (_get4 = _get(_getPrototypeOf(BaseRow.prototype), "optimize", this)).call.apply(_get4, [this].concat(args)); var formatName = this.childFormatName; this.children.forEach(function (child) { if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(child.next)) { return; } var childFormats = child.formats(); var nextFormats = child.next.formats(); if (childFormats[formatName] !== nextFormats[formatName]) { var next = _this.splitAfter(child); if (next) { next.optimize(); } if (_this.prev) { _this.prev.optimize(); } } }); } }, { key: "rowOffset", value: function rowOffset() { if (this.parent) { return this.parent.children.indexOf(this); } return -1; } }, { key: "table", value: function table() { var _this$parent; return (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.parent; } }, { key: "formats", value: function formats() { var formats = {}; var attrName = "".concat(DATA_PREFIX, "row"); if (this.domNode.hasAttribute(attrName)) { formats[attrName] = this.domNode.getAttribute(attrName); } return formats; } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(BaseRow), "create", this).call(this, value); if (value !== null && value !== void 0 && value.row) { node.setAttribute("".concat(DATA_PREFIX, "row"), value.row); } return node; } }]); return BaseRow; }(_blots_container__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z); BaseRow.tagName = 'TR'; var TableRow = /*#__PURE__*/function (_BaseRow) { _inherits(TableRow, _BaseRow); var _super7 = _createSuper(TableRow); function TableRow(scroll, domNode) { var _this2; _classCallCheck(this, TableRow); _this2 = _super7.call(this, scroll, domNode); _this2.childFormatName = 'table'; return _this2; } _createClass(TableRow, [{ key: "deleteAt", value: function deleteAt(index, length) { deleteChildrenAt(this.children, index, length); } }]); return TableRow; }(BaseRow); TableRow.blotName = 'tableRow'; var TableHeaderRow = /*#__PURE__*/function (_BaseRow2) { _inherits(TableHeaderRow, _BaseRow2); var _super8 = _createSuper(TableHeaderRow); function TableHeaderRow(scroll, domNode) { var _this3; _classCallCheck(this, TableHeaderRow); _this3 = _super8.call(this, scroll, domNode); _this3.childFormatName = 'tableHeaderCell'; return _this3; } return _createClass(TableHeaderRow); }(BaseRow); TableHeaderRow.blotName = 'tableHeaderRow'; var RowContainer = /*#__PURE__*/function (_Container3) { _inherits(RowContainer, _Container3); var _super9 = _createSuper(RowContainer); function RowContainer() { _classCallCheck(this, RowContainer); return _super9.apply(this, arguments); } _createClass(RowContainer, [{ key: "optimize", value: function optimize() { var _get5; if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) { var _this$children$head$c; var domNode = ((_this$children$head$c = this.children.head.children.head.children) === null || _this$children$head$c === void 0 || (_this$children$head$c = _this$children$head$c.head) === null || _this$children$head$c === void 0 ? void 0 : _this$children$head$c.domNode) || null; var formats = {}; if (domNode) { Object.keys(_attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li).forEach(function (format) { var value = domNode.dataset[format.toLowerCase()]; if (value) { formats[format] = value; } }); } this.wrap(this.statics.requiredContainer.blotName, formats); } for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } (_get5 = _get(_getPrototypeOf(RowContainer.prototype), "optimize", this)).call.apply(_get5, [this].concat(args)); } }]); return RowContainer; }(_blots_container__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z); var TableBody = /*#__PURE__*/function (_RowContainer) { _inherits(TableBody, _RowContainer); var _super10 = _createSuper(TableBody); function TableBody() { _classCallCheck(this, TableBody); return _super10.apply(this, arguments); } return _createClass(TableBody); }(RowContainer); TableBody.blotName = 'tableBody'; TableBody.tagName = 'TBODY'; var TableHeader = /*#__PURE__*/function (_RowContainer2) { _inherits(TableHeader, _RowContainer2); var _super11 = _createSuper(TableHeader); function TableHeader() { _classCallCheck(this, TableHeader); return _super11.apply(this, arguments); } return _createClass(TableHeader); }(RowContainer); TableHeader.blotName = 'tableHeader'; TableHeader.tagName = 'THEAD'; var TableContainer = /*#__PURE__*/function (_Container4) { _inherits(TableContainer, _Container4); var _super12 = _createSuper(TableContainer); function TableContainer() { _classCallCheck(this, TableContainer); return _super12.apply(this, arguments); } _createClass(TableContainer, [{ key: "balanceCells", value: function balanceCells() { var headerRows = this.descendants(TableHeaderRow); var bodyRows = this.descendants(TableRow); var maxColCount = this.getMaxTableColCount(headerRows, bodyRows); this.balanceRows(maxColCount, headerRows, TableHeaderCell); this.balanceRows(maxColCount, bodyRows, TableCell); } }, { key: "getMaxTableColCount", value: function getMaxTableColCount(headerRows, bodyRows) { return Math.max(this.getMaxRowColCount(headerRows), this.getMaxRowColCount(bodyRows)); } }, { key: "getMaxRowColCount", value: function getMaxRowColCount(rows) { return Math.max.apply(Math, _toConsumableArray(rows.map(function (row) { return row.children.length; }))); } }, { key: "balanceRows", value: function balanceRows(maxColCount, rows, CellClass) { var _this4 = this; rows.forEach(function (row) { new Array(maxColCount - row.children.length).fill(0).forEach(function () { var value; if ((0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(row.children.head)) { value = CellClass.cellFormats(row.children.head.domNode); } var blot = _this4.scroll.create(CellClass.blotName, value); var cellLine = _this4.scroll.create(CellClass.allowedChildren[0].blotName, value); blot.appendChild(cellLine); row.appendChild(blot); blot.optimize(); // Add break blot }); }); } }, { key: "cells", value: function cells(column) { return this.rows().map(function (row) { return row.children.at(column); }); } }, { key: "deleteColumn", value: function deleteColumn(index) { var _this5 = this; [TableHeader, TableBody].forEach(function (blot) { var _this5$descendants = _this5.descendants(blot), _this5$descendants2 = _slicedToArray(_this5$descendants, 1), tablePart = _this5$descendants2[0]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(tablePart) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(tablePart.children.head)) { return; } tablePart.children.forEach(function (row) { var cell = row.children.at(index); if ((0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(cell)) { cell.remove(); } }); }); } }, { key: "insertColumn", value: function insertColumn(index) { var _this6 = this; [TableHeader, TableBody].forEach(function (blot) { var _this6$descendants = _this6.descendants(blot), _this6$descendants2 = _slicedToArray(_this6$descendants, 1), tablePart = _this6$descendants2[0]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(tablePart) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(tablePart.children.head)) { return; } var CellBlot = blot === TableHeader ? TableHeaderCell : TableCell; var CellLineBlot = blot === TableHeader ? HeaderCellLine : CellLine; tablePart.children.forEach(function (row) { var ref = row.children.at(index); var value = CellLineBlot.formats(row.children.head.children.head.domNode); var cell = _this6.scroll.create(CellBlot.blotName, { row: value.row }); var cellLine = _this6.scroll.create(CellLineBlot.blotName, { row: value.row }); var emptyLine = _this6.scroll.create(_blots_break__WEBPACK_IMPORTED_MODULE_1__/* ["default"].blotName */ .Z.blotName); cellLine.appendChild(emptyLine); cell.appendChild(cellLine); row.insertBefore(cell, ref); }); }); } }, { key: "insertRow", value: function insertRow(index) { var _this7 = this; var _this$descendants = this.descendants(TableBody), _this$descendants2 = _slicedToArray(_this$descendants, 1), body = _this$descendants2[0]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(body) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(body.children.head)) { return; } var id = tableId(); var row = this.scroll.create(TableRow.blotName, { row: id }); body.children.head.children.forEach(function () { var cell = _this7.scroll.create(TableCell.blotName, { row: id }); var cellLine = _this7.scroll.create(CellLine.blotName, { row: id }); var emptyLine = _this7.scroll.create(_blots_break__WEBPACK_IMPORTED_MODULE_1__/* ["default"].blotName */ .Z.blotName); cellLine.appendChild(emptyLine); cell.appendChild(cellLine); row.appendChild(cell); }); var ref = body.children.at(index); body.insertBefore(row, ref); } }, { key: "insertHeaderRow", value: function insertHeaderRow() { var _this8 = this; var _this$descendants3 = this.descendants(TableHeader), _this$descendants4 = _slicedToArray(_this$descendants3, 1), header = _this$descendants4[0]; var _this$descendants5 = this.descendants(TableBody), _this$descendants6 = _slicedToArray(_this$descendants5, 1), body = _this$descendants6[0]; if ((0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(header) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(body) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(body.children.head)) { return; } var id = tableId(); var newHeader = this.scroll.create(TableHeader.blotName); var row = this.scroll.create(TableHeaderRow.blotName); var ref = this.children.at(0); newHeader.appendChild(row); body.children.head.children.forEach(function () { var cell = _this8.scroll.create(TableHeaderCell.blotName, { row: id }); var cellLine = _this8.scroll.create(HeaderCellLine.blotName, { row: id }); var emptyLine = _this8.scroll.create(_blots_break__WEBPACK_IMPORTED_MODULE_1__/* ["default"].blotName */ .Z.blotName); cellLine.appendChild(emptyLine); cell.appendChild(cellLine); row.appendChild(cell); cell.optimize(); }); this.insertBefore(newHeader, ref); } }, { key: "rows", value: function rows() { var body = this.children.head; return (0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(body) ? body.children.map(function (row) { return row; }) : []; } }, { key: "formats", value: function formats() { var formats = {}; var childElem = this.cells()[0].domNode.firstElementChild; Object.keys(_attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li).forEach(function (format) { var value = childElem === null || childElem === void 0 ? void 0 : childElem.dataset[format.toLowerCase()]; if (value) { formats[format] = value; } }); return formats; } }, { key: "format", value: function format(name, value) { var tableFormat = _attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[name]; if (tableFormat) { var attrName = "data-".concat(name.toLowerCase()); this.cells().forEach(function (cell) { (0,_toggle_attribute__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(cell.children.head.domNode, attrName, value); }); tableFormat.add(this.domNode, value); } } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(TableContainer), "create", this).call(this, value); if (value) { Object.keys(value).forEach(function (format) { var _TABLE_FORMATS$format; (_TABLE_FORMATS$format = _attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[format]) === null || _TABLE_FORMATS$format === void 0 || _TABLE_FORMATS$format.add(node, value[format]); }); } return node; } }]); return TableContainer; }(_blots_container__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z); TableContainer.blotName = 'tableContainer'; TableContainer.tagName = 'TABLE'; TableContainer.allowedChildren = [TableHeader, TableBody]; TableBody.requiredContainer = TableContainer; TableHeader.requiredContainer = TableContainer; TableBody.allowedChildren = [TableRow]; TableRow.requiredContainer = TableBody; TableRow.allowedChildren = [TableCell]; TableCell.requiredContainer = TableRow; CellLine.requiredContainer = TableCell; TableCell.allowedChildren = [CellLine]; TableHeader.allowedChildren = [TableHeaderRow]; TableHeaderRow.requiredContainer = TableHeader; HeaderCellLine.requiredContainer = TableHeaderCell; TableHeaderCell.allowedChildren = [HeaderCellLine]; TableHeaderRow.allowedChildren = [TableHeaderCell]; TableHeaderCell.requiredContainer = TableHeaderRow; function tableId() { return "row-".concat((0,_get_id__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)()); } function cellId() { return "cell-".concat((0,_get_id__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)()); } /***/ }), /***/ 2795: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ toggleAttribute) /* harmony export */ }); function toggleAttribute(domNode, attrName, value) { if (value) { domNode.setAttribute(attrName, value); } else { domNode.removeAttribute(attrName); } } /***/ }), /***/ 5635: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "HI": () => (/* binding */ applyFormat), /* harmony export */ "PF": () => (/* binding */ deltaEndsWith), /* harmony export */ "ZP": () => (/* binding */ Clipboard), /* harmony export */ "fw": () => (/* binding */ traverse) /* harmony export */ }); /* unused harmony exports matchAttributor, matchBlot, matchNewline, matchText */ /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1233); /* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6446); /* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(281); /* harmony import */ var _core_logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3122); /* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7094); /* harmony import */ var _formats_align__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(715); /* harmony import */ var _formats_background__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7898); /* harmony import */ var _formats_code__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7309); /* harmony import */ var _formats_color__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(6039); /* harmony import */ var _formats_direction__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4048); /* harmony import */ var _formats_font__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5832); /* harmony import */ var _formats_size__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1629); /* harmony import */ var _keyboard__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(3071); /* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(2141); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var debug = (0,_core_logger__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)('quill:clipboard'); var ELEMENT_NODE = 1; var TEXT_NODE = 3; var CLIPBOARD_CONFIG = [[TEXT_NODE, matchText], [TEXT_NODE, matchNewline], ['br', matchBreak], [ELEMENT_NODE, matchNewline], [ELEMENT_NODE, matchBlot], [ELEMENT_NODE, matchAttributor], [ELEMENT_NODE, matchStyles], ['li', matchIndent], ['ol, ul', matchList], ['pre', matchCodeBlock], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['strike', matchAlias.bind(matchAlias, 'strike')], ['style', matchIgnore]]; var HTML_TEXT_MATCHERS = [matchText, matchNewline]; var ATTRIBUTE_ATTRIBUTORS = [_formats_align__WEBPACK_IMPORTED_MODULE_6__/* .AlignAttribute */ ["if"], _formats_direction__WEBPACK_IMPORTED_MODULE_10__/* .DirectionAttribute */ .IF].reduce(function (memo, attr) { memo[attr.keyName] = attr; return memo; }, {}); var STYLE_ATTRIBUTORS = [_formats_align__WEBPACK_IMPORTED_MODULE_6__/* .AlignStyle */ .HE, _formats_background__WEBPACK_IMPORTED_MODULE_7__/* .BackgroundStyle */ .w, _formats_color__WEBPACK_IMPORTED_MODULE_9__/* .ColorStyle */ .HQ, _formats_direction__WEBPACK_IMPORTED_MODULE_10__/* .DirectionStyle */ .H8, _formats_font__WEBPACK_IMPORTED_MODULE_11__/* .FontStyle */ .H, _formats_size__WEBPACK_IMPORTED_MODULE_12__/* .SizeStyle */ .Z].reduce(function (memo, attr) { memo[attr.keyName] = attr; return memo; }, {}); var Clipboard = /*#__PURE__*/function (_Module) { _inherits(Clipboard, _Module); var _super = _createSuper(Clipboard); function Clipboard(quill, options) { var _options$tableBlots; var _this; _classCallCheck(this, Clipboard); _this = _super.call(this, quill, options); _this.quill.root.addEventListener('copy', function (e) { return _this.onCaptureCopy(e, false); }); _this.quill.root.addEventListener('cut', function (e) { return _this.onCaptureCopy(e, true); }); _this.quill.root.addEventListener('paste', _this.onCapturePaste.bind(_assertThisInitialized(_this))); _this.matchers = []; _this.tableBlots = (_options$tableBlots = options.tableBlots) !== null && _options$tableBlots !== void 0 ? _options$tableBlots : []; _this.multilineParagraph = false; CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), selector = _ref2[0], matcher = _ref2[1]; _this.addMatcher(selector, matcher); }); return _this; } _createClass(Clipboard, [{ key: "addMatcher", value: function addMatcher(selector, matcher) { this.matchers.push([selector, matcher]); } }, { key: "addTableBlot", value: function addTableBlot(blotName) { this.tableBlots.push(blotName); } }, { key: "convert", value: function convert(_ref3) { var html = _ref3.html, text = _ref3.text, keepLastNewLine = _ref3.keepLastNewLine; var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (formats[_formats_code__WEBPACK_IMPORTED_MODULE_8__/* ["default"].blotName */ .ZP.blotName]) { return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert(text, _defineProperty({}, _formats_code__WEBPACK_IMPORTED_MODULE_8__/* ["default"].blotName */ .ZP.blotName, formats[_formats_code__WEBPACK_IMPORTED_MODULE_8__/* ["default"].blotName */ .ZP.blotName])); } return html ? this.applyMatchers(html, keepLastNewLine, formats) : this.applyTextMatchers(text); } }, { key: "applyTextMatchers", value: function applyTextMatchers() { var _this2 = this; var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; if (text.length === 0) { return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(); } var matchers = this.prepareTextMatching(); var element = this.quill.root.ownerDocument.createElement('div'); element.textContent = text; var node = element.childNodes[0]; return matchers.reduce(function (delta, matcher) { return matcher(node, delta, _this2.quill.scroll); }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())()); } }, { key: "applyMatchers", value: function applyMatchers(html, keepLastNewLine) { var _this3 = this; var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; // NOTE: Operations with style attribute is required // to prevent a 'unsafe-inline' CSP error in DOMParser. var htmlWithoutStyles = _core_quill__WEBPACK_IMPORTED_MODULE_3__/* ["default"].replaceStyleAttribute */ .ZP.replaceStyleAttribute(html); var doc = new DOMParser().parseFromString(htmlWithoutStyles, 'text/html'); _core_quill__WEBPACK_IMPORTED_MODULE_3__/* ["default"].restoreStyleAttribute */ .ZP.restoreStyleAttribute(doc); var container = doc.body; var nodeMatches = new WeakMap(); var _this$prepareMatching = this.prepareMatching(container, nodeMatches), _this$prepareMatching2 = _slicedToArray(_this$prepareMatching, 2), elementMatchers = _this$prepareMatching2[0], textMatchers = _this$prepareMatching2[1]; var delta = traverse(this.quill.scroll, container, elementMatchers, textMatchers, nodeMatches, this.multilineParagraph); // Remove trailing newline if (!keepLastNewLine && deltaEndsWith(delta, '\n') && (delta.ops[delta.ops.length - 1].attributes == null || Object.values(formats).some(function (blotName) { return _this3.tableBlots.includes(blotName); }))) { return delta.compose(new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(delta.length() - 1).delete(1)); } return delta; } }, { key: "dangerouslyPasteHTML", value: function dangerouslyPasteHTML(index, html) { var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _core_quill__WEBPACK_IMPORTED_MODULE_3__/* ["default"].sources.API */ .ZP.sources.API; if (typeof index === 'string') { var delta = this.convert({ html: index, text: '' }); this.quill.setContents(delta, html); this.quill.setSelection(0, _core_quill__WEBPACK_IMPORTED_MODULE_3__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); } else { var paste = this.convert({ html: html, text: '' }); this.quill.updateContents(new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(index).concat(paste), source); this.quill.setSelection(index + paste.length(), _core_quill__WEBPACK_IMPORTED_MODULE_3__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); } } }, { key: "onCaptureCopy", value: function onCaptureCopy(e) { var isCut = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; if (e.defaultPrevented) return; if (e.clipboardData) { e.preventDefault(); } else { return; } var _this$quill$selection = this.quill.selection.getRange(), _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1), range = _this$quill$selection2[0]; if (range == null) return; var _this$onCopy = this.onCopy(range, isCut), html = _this$onCopy.html, text = _this$onCopy.text; e.clipboardData.setData('text/plain', text); e.clipboardData.setData('text/html', html); if (isCut) { this.raiseCallback('onCut', e); (0,_keyboard__WEBPACK_IMPORTED_MODULE_13__/* .deleteRange */ .WQ)({ range: range, quill: this.quill }); } } }, { key: "onCapturePaste", value: function onCapturePaste(e) { if (e.defaultPrevented || !this.quill.isEnabled()) { return; } this.raiseCallback('onPaste', e); if (e.clipboardData) { e.preventDefault(); } else { return; } var range = this.quill.getSelection(true); if (range == null) { return; } var html = e.clipboardData.getData('text/html'); var files = Array.from(e.clipboardData.files || []); if (!html && files.length > 0) { this.quill.uploader.upload(range, files); return; } if (html && files.length > 0) { var _DOMParser$parseFromS = new DOMParser().parseFromString(html, 'text/html'), body = _DOMParser$parseFromS.body; var documentContainsImage = body.childElementCount === 1 && body.firstElementChild.tagName === 'IMG'; if (documentContainsImage) { this.quill.uploader.upload(range, files); return; } } var text = e.clipboardData.getData('text/plain'); this.onPaste(range, { html: html, text: text, keepLastNewLine: true }); } }, { key: "raiseCallback", value: function raiseCallback(name, event) { var callback = this.options[name]; if (callback && typeof callback === 'function') { callback(event); } } }, { key: "onCopy", value: function onCopy(_ref4) { var index = _ref4.index, length = _ref4.length; var text = this.quill.getText(index, length); var html = this.quill.getSemanticHTML(index, length); return { html: html, text: text }; } }, { key: "onPaste", value: function onPaste(range, _ref5) { var text = _ref5.text, html = _ref5.html, keepLastNewLine = _ref5.keepLastNewLine; var formats = this.quill.getFormat(range.index); var pastedDelta = this.convert({ text: text, html: html, keepLastNewLine: keepLastNewLine }, formats); debug.log('onPaste', pastedDelta, { text: text, html: html }); var delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(range.index).delete(range.length).concat(pastedDelta); this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_3__/* ["default"].sources.USER */ .ZP.sources.USER); // range.length contributes to delta.length() this.quill.setSelection(delta.length() - range.length, _core_quill__WEBPACK_IMPORTED_MODULE_3__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); this.quill.scrollIntoView(); } }, { key: "prepareMatching", value: function prepareMatching(container, nodeMatches) { var elementMatchers = []; var textMatchers = []; this.matchers.forEach(function (pair) { var _pair = _slicedToArray(pair, 2), selector = _pair[0], matcher = _pair[1]; switch (selector) { case TEXT_NODE: textMatchers.push(matcher); break; case ELEMENT_NODE: elementMatchers.push(matcher); break; default: Array.from(container.querySelectorAll(selector)).forEach(function (node) { if (nodeMatches.has(node)) { var matches = nodeMatches.get(node); matches.push(matcher); } else { nodeMatches.set(node, [matcher]); } }); break; } }); return [elementMatchers, textMatchers]; } }, { key: "prepareTextMatching", value: function prepareTextMatching() { var textMatchers = [matchPlainText]; this.matchers.forEach(function (pair) { var _pair2 = _slicedToArray(pair, 2), selector = _pair2[0], matcher = _pair2[1]; if (HTML_TEXT_MATCHERS.indexOf(matcher) === -1 && selector === TEXT_NODE) { textMatchers.push(matcher); } }); return textMatchers; } }]); return Clipboard; }(_core_module__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z); Clipboard.DEFAULTS = { matchers: [] }; function applyFormat(delta, format, value) { if (_typeof(format) === 'object') { return Object.keys(format).reduce(function (newDelta, key) { return applyFormat(newDelta, key, format[key]); }, delta); } return delta.reduce(function (newDelta, op) { if (op.attributes && op.attributes[format]) { return newDelta.push(op); } var formats = value ? _defineProperty({}, format, value) : {}; return newDelta.insert(op.insert, _objectSpread(_objectSpread({}, formats), op.attributes)); }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())()); } function deltaEndsWith(delta, text) { var endText = ''; for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i // eslint-disable-line no-plusplus ) { var op = delta.ops[i]; if (typeof op.insert !== 'string') break; endText = op.insert + endText; } return endText.slice(-1 * text.length) === text; } function isLine(node) { if (node.childNodes.length === 0) return false; // Exclude embed blocks return ['address', 'article', 'blockquote', 'canvas', 'dd', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'iframe', 'li', 'main', 'nav', 'ol', 'output', 'p', 'pre', 'section', 'table', 'td', 'tr', 'ul', 'video'].indexOf(node.tagName.toLowerCase()) !== -1; } var preNodes = new WeakMap(); function isPre(node) { if (node == null) return false; if (!preNodes.has(node)) { if (node.tagName === 'PRE') { preNodes.set(node, true); } else { preNodes.set(node, isPre(node.parentNode)); } } return preNodes.get(node); } function traverse(scroll, node, elementMatchers, textMatchers, nodeMatches, multilineParagraph) { // Post-order if (node.nodeType === node.TEXT_NODE) { return textMatchers.reduce(function (delta, matcher) { return matcher(node, delta, scroll); }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())()); } if (node.nodeType === node.ELEMENT_NODE) { return Array.from(node.childNodes || []).reduce(function (delta, childNode, idx, allNodes) { var childrenDelta = traverse(scroll, childNode, elementMatchers, textMatchers, nodeMatches, multilineParagraph); var nextNode = idx < allNodes.length - 1 && allNodes[idx + 1]; var isNextNodeList = nextNode && nextNode.nodeType === node.ELEMENT_NODE && ['ul', 'ol'].indexOf(nextNode.tagName.toLowerCase()) > -1; if (childNode.nodeType === node.ELEMENT_NODE) { multilineParagraph = childNode.tagName.toLowerCase() === 'br'; childrenDelta = elementMatchers.reduce(function (reducedDelta, matcher) { return matcher(childNode, reducedDelta, scroll); }, childrenDelta); childrenDelta = (nodeMatches.get(childNode) || []).reduce(function (reducedDelta, matcher) { return matcher(childNode, reducedDelta, scroll); }, childrenDelta); } var newDelta = delta.concat(childrenDelta); if (multilineParagraph && isNextNodeList) { newDelta.insert('\n'); } return newDelta; }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())()); } return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(); } function matchAlias(format, node, delta) { return applyFormat(delta, format, true); } function matchAttributor(node, delta, scroll) { if (['TD', 'TH', 'TR', 'TABLE'].indexOf(node.tagName) === -1) { var attributes = parchment__WEBPACK_IMPORTED_MODULE_1__.Attributor.keys(node); var classes = parchment__WEBPACK_IMPORTED_MODULE_1__.ClassAttributor.keys(node); var styles = parchment__WEBPACK_IMPORTED_MODULE_1__.StyleAttributor.keys(node); var formats = {}; attributes.concat(classes).concat(styles).forEach(function (name) { var attr = scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_1__.Scope.ATTRIBUTE); if (attr != null) { formats[attr.attrName] = attr.value(node); if (formats[attr.attrName]) return; } attr = ATTRIBUTE_ATTRIBUTORS[name]; if (attr != null && (attr.attrName === name || attr.keyName === name)) { formats[attr.attrName] = attr.value(node) || undefined; } attr = STYLE_ATTRIBUTORS[name]; if (attr != null && (attr.attrName === name || attr.keyName === name)) { attr = STYLE_ATTRIBUTORS[name]; formats[attr.attrName] = attr.value(node) || undefined; } }); if (Object.keys(formats).length > 0) { return applyFormat(delta, formats); } } return delta; } function matchBlot(node, delta, scroll) { var match = scroll.query(node); if (match == null) return delta; if (match.prototype instanceof parchment__WEBPACK_IMPORTED_MODULE_1__.EmbedBlot) { var embed = {}; var value = match.value(node); if (value != null) { embed[match.blotName] = value; return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert(embed, match.formats(node, scroll)); } } else { if (match.prototype instanceof parchment__WEBPACK_IMPORTED_MODULE_1__.BlockBlot && !deltaEndsWith(delta, '\n')) { delta.insert('\n'); } if (typeof match.formats === 'function') { return applyFormat(delta, match.blotName, match.formats(node, scroll)); } } return delta; } function matchBreak(node, delta) { if (!deltaEndsWith(delta, '\n')) { delta.insert('\n'); } return delta; } function matchCodeBlock(node, delta, scroll) { var match = scroll.query('code-block'); var language = match ? match.formats(node, scroll) : true; return applyFormat(delta, 'code-block', language); } function matchIgnore() { return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(); } function matchIndent(node, delta, scroll) { var match = scroll.query(node); if (match == null || match.blotName !== 'list' || !deltaEndsWith(delta, '\n')) { return delta; } var indent = -1; var parent = node.parentNode; while (parent != null) { if (['OL', 'UL'].indexOf(parent.tagName) !== -1) { indent += 1; } parent = parent.parentNode; } if (indent <= 0) return delta; return delta.reduce(function (composed, op) { if (op.attributes && typeof op.attributes.indent === 'number') { return composed.push(op); } return composed.insert(op.insert, _objectSpread({ indent: indent }, op.attributes || {})); }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())()); } function matchList(node, delta) { var list = node.tagName === 'OL' ? 'ordered' : 'bullet'; return applyFormat(delta, 'list', list); } function matchNewline(node, delta, scroll) { if (!deltaEndsWith(delta, '\n')) { if (isLine(node)) { return delta.insert('\n'); } if (delta.length() > 0 && node.nextSibling) { var nextSibling = node.nextSibling; while (nextSibling != null) { if (isLine(nextSibling)) { return delta.insert('\n'); } var match = scroll.query(nextSibling); if ((match === null || match === void 0 ? void 0 : match.prototype) instanceof _blots_block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2) { return delta.insert('\n'); } nextSibling = nextSibling.firstChild; } } } return delta; } function matchStyles(node, delta) { var formats = {}; var style = node.style || {}; ['height', 'width'].forEach(function (dimension) { var isCell = ['TD', 'TH'].indexOf(node.tagName) !== -1; var isTable = node.tagName === 'TABLE'; if ((isCell || isTable) && style[dimension]) { var name = "".concat(isTable ? 'table' : 'cell').concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z)(dimension)); formats[name] = style[dimension]; } }); if (style.fontStyle === 'italic') { formats.italic = true; } if (style.textDecoration.indexOf('underline') !== -1) { formats.underline = true; } if (style.textDecoration.indexOf('line-through') !== -1) { formats.strike = true; } if (style.fontWeight.indexOf('bold') === 0 || parseInt(style.fontWeight, 10) >= 700) { formats.bold = true; } if (Object.keys(formats).length > 0) { delta = applyFormat(delta, formats); } if (parseFloat(style.textIndent || 0) > 0) { // Could be 0.5in return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert('\t').concat(delta); } return delta; } function matchPlainText(node, delta) { var text = node.data || ''; text = text.replace(/\r\n/g, '\n'); return delta.insert(text); } function matchText(node, delta) { var text = node.data; // Word represents empty line with   if (node.parentNode.tagName === 'O:P') { return delta.insert(text.trim()); } if (text.trim().length === 0 && text.indexOf('\n') !== -1) { return delta; } if (!isPre(node)) { var replacer = function replacer(collapse, match) { var replaced = match.replace(/[^\u00a0]/g, ''); // \u00a0 is nbsp; return replaced.length < 1 && collapse ? ' ' : replaced; }; text = text.replace(/\r\n/g, ' ').replace(/\n/g, ' '); text = text.replace(/\s\s+/g, replacer.bind(replacer, true)); // collapse whitespace if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) { text = text.replace(/^\s+/, replacer.bind(replacer, false)); } if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) { text = text.replace(/\s+$/, replacer.bind(replacer, false)); } } return delta.insert(text); } /***/ }), /***/ 2613: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ History) /* harmony export */ }); /* unused harmony export getLastChangeIndex */ /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(281); /* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7094); /* harmony import */ var _utils_has_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8034); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var History = /*#__PURE__*/function (_Module) { _inherits(History, _Module); var _super = _createSuper(History); function History(quill, options) { var _this; _classCallCheck(this, History); _this = _super.call(this, quill, options); _this.lastRecorded = 0; _this.ignoreChange = false; _this.clear(); _this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.EDITOR_CHANGE */ .ZP.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) { if (eventName !== _core_quill__WEBPACK_IMPORTED_MODULE_1__/* ["default"].events.TEXT_CHANGE */ .ZP.events.TEXT_CHANGE || _this.ignoreChange) return; if (!_this.options.userOnly || source === _core_quill__WEBPACK_IMPORTED_MODULE_1__/* ["default"].sources.USER */ .ZP.sources.USER) { _this.record(delta, oldDelta); } else { _this.transform(delta); } }); _this.quill.keyboard.addBinding({ key: 'z', shortKey: true }, _this.undo.bind(_assertThisInitialized(_this))); _this.quill.keyboard.addBinding({ key: 'z', shortKey: true, shiftKey: true }, _this.redo.bind(_assertThisInitialized(_this))); if ((0,_utils_has_window__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)() && /Win/i.test(navigator.platform)) { _this.quill.keyboard.addBinding({ key: 'y', shortKey: true }, _this.redo.bind(_assertThisInitialized(_this))); } _this.quill.root.addEventListener('beforeinput', function (event) { if (event.inputType === 'historyUndo') { _this.undo(); event.preventDefault(); } else if (event.inputType === 'historyRedo') { _this.redo(); event.preventDefault(); } }); return _this; } _createClass(History, [{ key: "change", value: function change(source, dest) { if (this.stack[source].length === 0) return; var delta = this.stack[source].pop(); var base = this.quill.getContents(); var inverseDelta = delta.invert(base); this.stack[dest].push(inverseDelta); this.lastRecorded = 0; this.ignoreChange = true; this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_1__/* ["default"].sources.USER */ .ZP.sources.USER); this.ignoreChange = false; var index = getLastChangeIndex(this.quill.scroll, delta); this.quill.setSelection(index); } }, { key: "clear", value: function clear() { this.stack = { undo: [], redo: [] }; } }, { key: "cutoff", value: function cutoff() { this.lastRecorded = 0; } }, { key: "record", value: function record(changeDelta, oldDelta) { if (changeDelta.ops.length === 0) return; this.stack.redo = []; var undoDelta = changeDelta.invert(oldDelta); var timestamp = Date.now(); if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) { var delta = this.stack.undo.pop(); undoDelta = undoDelta.compose(delta); } else { this.lastRecorded = timestamp; } if (undoDelta.length() === 0) return; this.stack.undo.push(undoDelta); if (this.stack.undo.length > this.options.maxStack) { this.stack.undo.shift(); } } }, { key: "redo", value: function redo() { this.change('redo', 'undo'); } }, { key: "transform", value: function transform(delta) { transformStack(this.stack.undo, delta); transformStack(this.stack.redo, delta); } }, { key: "undo", value: function undo() { this.change('undo', 'redo'); } }]); return History; }(_core_module__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z); History.DEFAULTS = { delay: 1000, maxStack: 100, userOnly: false }; function transformStack(stack, delta) { var remoteDelta = delta; for (var i = stack.length - 1; i >= 0; i -= 1) { var oldDelta = stack[i]; stack[i] = remoteDelta.transform(oldDelta, true); remoteDelta = oldDelta.transform(remoteDelta); if (stack[i].length() === 0) { stack.splice(i, 1); } } } function endsWithNewlineChange(scroll, delta) { var lastOp = delta.ops[delta.ops.length - 1]; if (lastOp == null) return false; if (lastOp.insert != null) { return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\n'); } if (lastOp.attributes != null) { return Object.keys(lastOp.attributes).some(function (attr) { return scroll.query(attr, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK) != null; }); } return false; } function getLastChangeIndex(scroll, delta) { var deleteLength = delta.reduce(function (length, op) { return length + (op.delete || 0); }, 0); var changeIndex = delta.length() - deleteLength; if (endsWithNewlineChange(scroll, delta)) { changeIndex -= 1; } return changeIndex; } // eslint-disable-next-line no-restricted-exports /***/ }), /***/ 990: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7094); /* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(281); /* harmony import */ var _keyboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3071); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var INSERT_TYPES = ['insertText', 'insertReplacementText']; var Input = /*#__PURE__*/function (_Module) { _inherits(Input, _Module); var _super = _createSuper(Input); function Input(quill, options) { var _this; _classCallCheck(this, Input); _this = _super.call(this, quill, options); quill.root.addEventListener('beforeinput', function (event) { _this.handleBeforeInput(event); }); // Gboard with English input on Android triggers `compositionstart` sometimes even // users are not going to type anything. if (!/Android/i.test(navigator.userAgent)) { quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.COMPOSITION_BEFORE_START */ .ZP.events.COMPOSITION_BEFORE_START, function () { _this.handleCompositionStart(); }); } return _this; } _createClass(Input, [{ key: "deleteRange", value: function deleteRange(range) { (0,_keyboard__WEBPACK_IMPORTED_MODULE_3__/* .deleteRange */ .WQ)({ range: range, quill: this.quill }); } }, { key: "replaceText", value: function replaceText(range) { var text = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; if (range.length === 0) return false; if (text) { // Follow the native behavior that inherits the formats of the first character var formats = this.quill.getFormat(range.index, 1); this.deleteRange(range); this.quill.updateContents(new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(range.index).insert(text, formats), _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); } else { this.deleteRange(range); } this.quill.setSelection(range.index + text.length, 0, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); return true; } }, { key: "handleBeforeInput", value: function handleBeforeInput(event) { if (this.quill.composition.isCompositionInProgress() || event.defaultPrevented || !INSERT_TYPES.includes(event.inputType)) { if (event.inputType === 'insertFromDrop') { var htmlToInsert = event.dataTransfer.getData('text/html'); var containsTable = htmlToInsert.includes(' { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "ZP": () => (/* binding */ Keyboard), "WQ": () => (/* binding */ deleteRange) }); // UNUSED EXPORTS: SHORTKEY, normalize // EXTERNAL MODULE: ./node_modules/lodash.clonedeep/index.js var lodash_clonedeep = __webpack_require__(8805); var lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep); // EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js var Delta = __webpack_require__(9098); var Delta_default = /*#__PURE__*/__webpack_require__.n(Delta); // EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules var parchment = __webpack_require__(1233); // EXTERNAL MODULE: ./utils/is_equal.js var is_equal = __webpack_require__(4506); // EXTERNAL MODULE: ./core/quill.js var core_quill = __webpack_require__(281); // EXTERNAL MODULE: ./core/logger.js var logger = __webpack_require__(3122); // EXTERNAL MODULE: ./core/module.js var core_module = __webpack_require__(7094); // EXTERNAL MODULE: ./utils/has_window.js var has_window = __webpack_require__(8034); ;// CONCATENATED MODULE: ./utils/get_scroll_into_view_config.js function getScrollIntoViewConfig(element) { var _window = window, windowHeight = _window.innerHeight; var _element$getBoundingC = element.getBoundingClientRect(), elemTop = _element$getBoundingC.y, elemBottom = _element$getBoundingC.bottom; if (elemTop < 0) { return true; // scroll to the top } if (elemBottom >= windowHeight) { return false; // scroll to the bottom } return null; } ;// CONCATENATED MODULE: ./modules/keyboard.js function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var debug = (0,logger/* default */.Z)('quill:keyboard'); var KEY_NAMES = { backspace: 'backspace', tab: 'tab', enter: 'enter', escape: 'escape', pageup: 'pageUp', pagedown: 'pageDown', end: 'end', home: 'home', arrowleft: 'leftArrow', arrowup: 'upArrow', arrowright: 'rightArrow', arrowdown: 'downArrow', delete: 'del', ' ': 'space', '*': 'asterisk', '-': 'minus', alt: 'alt', control: 'control', shift: 'shift', // IE11: left: 'leftArrow', up: 'upArrow', right: 'rightArrow', down: 'downArrow', multiply: 'asterisk', spacebar: 'space', del: 'del', subtract: 'minus', esc: 'escape' }; var KEY_CODES = { // iOS 10.2 and lower didn't supports KeyboardEvent.key 8: 'backspace', 9: 'tab', 13: 'enter', 27: 'escape', 33: 'pageUp', 34: 'pageDown', 35: 'end', 36: 'home', 37: 'leftArrow', 38: 'upArrow', 39: 'rightArrow', 40: 'downArrow', 46: 'del', 32: 'space', 106: 'asterisk', 109: 'minus', 189: 'minus', 173: 'minus', 16: 'shift', 17: 'control', 18: 'alt' }; var SHORTKEY = (0,has_window/* default */.Z)() && /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey'; var Keyboard = /*#__PURE__*/function (_Module) { _inherits(Keyboard, _Module); var _super = _createSuper(Keyboard); function Keyboard(quill, options) { var _this; _classCallCheck(this, Keyboard); _this = _super.call(this, quill, options); _this.bindings = {}; Object.keys(_this.options.bindings).forEach(function (name) { if (_this.options.bindings[name]) { _this.addBinding(_this.options.bindings[name]); } }); _this.addInternalBindings(); _this.listen(); return _this; } _createClass(Keyboard, [{ key: "addInternalBindings", value: function addInternalBindings() { var _this2 = this; this.quill.once(core_quill/* default.events.CONTENT_SETTED */.ZP.events.CONTENT_SETTED, function () { _this2.addBinding({ key: 'enter', shiftKey: null }, _this2.handleEnter); _this2.addBinding({ key: 'enter', metaKey: null, ctrlKey: null, altKey: null }, function () {}); if ((0,has_window/* default */.Z)() && /Firefox/i.test(navigator.userAgent)) { // Need to handle delete and backspace for Firefox in the general case #1171 _this2.addBinding({ key: 'backspace' }, { collapsed: true }, _this2.handleBackspace); _this2.addBinding({ key: 'del' }, { collapsed: true }, _this2.handleDelete); } else { _this2.addBinding({ key: 'backspace' }, { collapsed: true, prefix: /^.?$/ }, _this2.handleBackspace); _this2.addBinding({ key: 'del' }, { collapsed: true, suffix: /^.?$/ }, _this2.handleDelete); } _this2.addBinding({ key: 'backspace' }, { collapsed: false }, _this2.handleDeleteRange); _this2.addBinding({ key: 'del' }, { collapsed: false }, _this2.handleDeleteRange); _this2.addBinding({ key: 'backspace', altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, _this2.handleBackspace); }); } }, { key: "addBinding", value: function addBinding(keyBinding) { var _this3 = this; var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var binding = normalize(keyBinding); if (binding == null) { debug.warn('Attempted to add invalid keyboard binding', binding); return; } if (typeof context === 'function') { context = { handler: context }; } if (typeof handler === 'function') { handler = { handler: handler }; } var keyPropery = binding.which ? 'which' : 'key'; var keys = Array.isArray(binding[keyPropery]) ? binding[keyPropery] : [binding[keyPropery]]; keys.forEach(function (key) { var singleBinding = _objectSpread(_objectSpread(_objectSpread({}, binding), {}, { key: key }, context), handler); _this3.bindings[singleBinding.key] = _this3.bindings[singleBinding.key] || []; _this3.bindings[singleBinding.key].push(singleBinding); }); } }, { key: "listen", value: function listen() { var _this4 = this; this.quill.root.addEventListener('keydown', function (evt) { if (evt.defaultPrevented || evt.isComposing) return; _this4.raiseOnKeydownCallback(evt); var keyName = Keyboard.normalizeKeyName(evt); var bindings = (_this4.bindings[keyName] || []).concat(_this4.bindings[evt.which] || []); var matches = bindings.filter(function (binding) { return Keyboard.match(evt, binding); }); if (matches.length === 0) return; var range = _this4.quill.getSelection(); if (range == null || !_this4.quill.hasFocus()) return; var _this4$quill$getLine = _this4.quill.getLine(range.index), _this4$quill$getLine2 = _slicedToArray(_this4$quill$getLine, 2), line = _this4$quill$getLine2[0], offset = _this4$quill$getLine2[1]; var _this4$quill$getLeaf = _this4.quill.getLeaf(range.index), _this4$quill$getLeaf2 = _slicedToArray(_this4$quill$getLeaf, 2), leafStart = _this4$quill$getLeaf2[0], offsetStart = _this4$quill$getLeaf2[1]; var _ref = range.length === 0 ? [leafStart, offsetStart] : _this4.quill.getLeaf(range.index + range.length), _ref2 = _slicedToArray(_ref, 2), leafEnd = _ref2[0], offsetEnd = _ref2[1]; var prefixText = leafStart instanceof parchment.TextBlot ? leafStart.value().slice(0, offsetStart) : ''; var suffixText = leafEnd instanceof parchment.TextBlot ? leafEnd.value().slice(offsetEnd) : ''; var curContext = { collapsed: range.length === 0, empty: range.length === 0 && line.length() <= 1, format: _this4.quill.getFormat(range), line: line, offset: offset, prefix: prefixText, suffix: suffixText, event: evt }; var prevented = false; matches.some(function (binding) { if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) { return false; } if (binding.empty != null && binding.empty !== curContext.empty) { return false; } if (binding.offset != null && binding.offset !== curContext.offset) { return false; } if (Array.isArray(binding.format)) { // any format is present if (binding.format.every(function (name) { return curContext.format[name] == null; })) { return false; } } else if (_typeof(binding.format) === 'object') { // all formats must match if (!Object.keys(binding.format).every(function (name) { if (binding.format[name] === true) return curContext.format[name] != null; if (binding.format[name] === false) return curContext.format[name] == null; return (0,is_equal/* default */.Z)(binding.format[name], curContext.format[name]); })) { return false; } } if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) { return false; } if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) { return false; } var handlerResult = binding.handler.call(_this4, range, curContext, binding); var preventAfterAllMatches = handlerResult === null || handlerResult === void 0 ? void 0 : handlerResult.preventAfterAllMatches; prevented = handlerResult !== true || preventAfterAllMatches; return prevented && !preventAfterAllMatches; }); if (prevented) { evt.preventDefault(); } }); } }, { key: "raiseOnKeydownCallback", value: function raiseOnKeydownCallback(event) { var callback = this.options.onKeydown; if (callback && typeof callback === 'function') { callback(event); } } }, { key: "handleBackspace", value: function handleBackspace(range, context) { // Check for astral symbols var length = /[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(context.prefix) ? 2 : 1; if (range.index === 0 || this.quill.getLength() <= 1) return; var formats = {}; var _this$quill$getLine = this.quill.getLine(range.index), _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 1), line = _this$quill$getLine2[0]; var delta = new (Delta_default())().retain(range.index - length).delete(length); if (context.offset === 0) { // Always deleting newline here, length always 1 var _this$quill$getLine3 = this.quill.getLine(range.index - 1), _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 1), prev = _this$quill$getLine4[0]; if (prev) { var isPrevLineEmpty = prev.statics.blotName === 'block' && prev.length() <= 1; var isPrevLineTable = prev.statics.blotName.startsWith('table'); var isLineEmpty = line.statics.blotName === 'block' && line.length() <= 1; if (isPrevLineTable) { if (isLineEmpty) { line.remove(); } this.quill.setSelection(range.index - 1); } if (!isPrevLineEmpty && !isPrevLineTable) { var curFormats = line.formats(); var prevFormats = this.quill.getFormat(range.index - 1, 1); formats = Delta.AttributeMap.diff(curFormats, prevFormats) || {}; if (Object.keys(formats).length > 0) { // line.length() - 1 targets \n in line, another -1 for newline being deleted var formatDelta = new (Delta_default())().retain(range.index + line.length() - 2).retain(1, formats); delta = delta.compose(formatDelta); } } } } this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.focus(); } }, { key: "handleDelete", value: function handleDelete(range, context) { // Check for astral symbols var length = /^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(context.suffix) ? 2 : 1; if (range.index >= this.quill.getLength() - length) return; var formats = {}; var _this$quill$getLine5 = this.quill.getLine(range.index), _this$quill$getLine6 = _slicedToArray(_this$quill$getLine5, 1), line = _this$quill$getLine6[0]; var delta = new (Delta_default())().retain(range.index).delete(length); if (context.offset >= line.length() - 1) { var _this$quill$getLine7 = this.quill.getLine(range.index + 1), _this$quill$getLine8 = _slicedToArray(_this$quill$getLine7, 1), next = _this$quill$getLine8[0]; if (next) { var curFormats = line.formats(); var nextFormats = this.quill.getFormat(range.index, 1); formats = Delta.AttributeMap.diff(curFormats, nextFormats) || {}; if (Object.keys(formats).length > 0) { delta = delta.retain(next.length() - 1).retain(1, formats); } } } this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.focus(); } }, { key: "handleDeleteRange", value: function handleDeleteRange(range, context) { this.raiseOnKeydownCallback(context.event); deleteRange({ range: range, quill: this.quill }); this.quill.focus(); } }, { key: "handleEnter", value: function handleEnter(range, context) { var _this5 = this; var lineFormats = Object.keys(context.format).reduce(function (formats, format) { if (_this5.quill.scroll.query(format, parchment.Scope.BLOCK) && !Array.isArray(context.format[format])) { formats[format] = context.format[format]; } return formats; }, {}); var delta = new (Delta_default())().retain(range.index).delete(range.length).insert('\n', lineFormats); this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); this.quill.focus(); var _this$quill$getLine9 = this.quill.getLine(range.index + 1), _this$quill$getLine10 = _slicedToArray(_this$quill$getLine9, 1), line = _this$quill$getLine10[0]; var scrollConfig = getScrollIntoViewConfig(line.domNode); if (scrollConfig !== null) { line.domNode.scrollIntoView(scrollConfig); } Object.keys(context.format).forEach(function (name) { if (lineFormats[name] != null) return; if (Array.isArray(context.format[name])) return; if (name === 'code' || name === 'link') return; _this5.raiseOnKeydownCallback(context.event); _this5.quill.format(name, context.format[name], core_quill/* default.sources.USER */.ZP.sources.USER); }); } }], [{ key: "match", value: function match(evt, binding) { if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) { return !!binding[key] !== evt[key] && binding[key] !== null; })) { return false; } return binding.key === Keyboard.normalizeKeyName(evt) || binding.key === evt.which; } }, { key: "normalizeKeyName", value: function normalizeKeyName(_ref3) { var key = _ref3.key, which = _ref3.which; var isKeySupported = !!key; var normalizedKey = isKeySupported ? key : which; if (normalizedKey) { if (isKeySupported) { normalizedKey = KEY_NAMES[normalizedKey.toLowerCase()] || normalizedKey; } else { normalizedKey = KEY_CODES[normalizedKey] || String.fromCharCode(normalizedKey); } } return normalizedKey; } }]); return Keyboard; }(core_module/* default */.Z); Keyboard.DEFAULTS = { bindings: { bold: makeFormatHandler('bold', 66), italic: makeFormatHandler('italic', 73), underline: makeFormatHandler('underline', 85), indent: { // highlight tab or tab at beginning of list, indent or blockquote key: 'tab', format: ['blockquote', 'indent', 'list'], handler: function handler(range, context) { if (context.collapsed && context.offset !== 0) return true; this.quill.format('indent', '+1', core_quill/* default.sources.USER */.ZP.sources.USER); return false; } }, outdent: { key: 'tab', shiftKey: true, format: ['blockquote', 'indent', 'list'], // highlight tab or tab at beginning of list, indent or blockquote handler: function handler(range, context) { if (context.collapsed && context.offset !== 0) return true; this.quill.format('indent', '-1', core_quill/* default.sources.USER */.ZP.sources.USER); return false; } }, 'outdent backspace': { key: 'backspace', collapsed: true, shiftKey: null, metaKey: null, ctrlKey: null, altKey: null, format: ['indent', 'list'], offset: 0, handler: function handler(range, context) { if (context.format.indent != null) { this.quill.format('indent', '-1', core_quill/* default.sources.USER */.ZP.sources.USER); } else if (context.format.list != null) { this.quill.format('list', false, core_quill/* default.sources.USER */.ZP.sources.USER); } } }, 'indent code-block': makeCodeBlockHandler(true), 'outdent code-block': makeCodeBlockHandler(false), 'remove tab': { key: 'tab', shiftKey: true, collapsed: true, prefix: /\t$/, handler: function handler(range) { this.quill.deleteText(range.index - 1, 1, core_quill/* default.sources.USER */.ZP.sources.USER); } }, tab: { key: 'tab', handler: function handler(range, _ref4) { var format = _ref4.format; var isInTable = format.tableCellLine || format.tableHeaderCellLine || format.tableHeaderCell || format.table; if (isInTable) return true; this.quill.history.cutoff(); var delta = new (Delta_default())().retain(range.index).delete(range.length).insert('\t'); this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.history.cutoff(); this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); return false; } }, 'blockquote empty enter': { key: 'enter', collapsed: true, format: ['blockquote'], empty: true, handler: function handler() { this.quill.format('blockquote', false, core_quill/* default.sources.USER */.ZP.sources.USER); } }, 'list empty enter': { key: 'enter', collapsed: true, format: ['list'], empty: true, handler: function handler(range, context) { var formats = { list: false }; if (context.format.indent) { formats.indent = false; } this.quill.formatLine(range.index, range.length, formats, core_quill/* default.sources.USER */.ZP.sources.USER); } }, 'checklist enter': { key: 'enter', collapsed: true, format: { list: 'checked' }, handler: function handler(range) { var _this$quill$getLine11 = this.quill.getLine(range.index), _this$quill$getLine12 = _slicedToArray(_this$quill$getLine11, 2), line = _this$quill$getLine12[0], offset = _this$quill$getLine12[1]; var formats = _objectSpread(_objectSpread({}, line.formats()), {}, { list: 'checked' }); var delta = new (Delta_default())().retain(range.index).insert('\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' }); this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); this.quill.scrollIntoView(); } }, 'header enter': { key: 'enter', collapsed: true, format: ['header'], suffix: /^$/, handler: function handler(range, context) { var _this$quill$getLine13 = this.quill.getLine(range.index), _this$quill$getLine14 = _slicedToArray(_this$quill$getLine13, 2), line = _this$quill$getLine14[0], offset = _this$quill$getLine14[1]; var delta = new (Delta_default())().retain(range.index).insert('\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null }); this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); this.quill.scrollIntoView(); } }, 'list autofill': { key: 'space', shiftKey: null, collapsed: true, format: { 'code-block': false, blockquote: false, table: false }, prefix: /^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/, handler: function handler(range, context) { if (this.quill.scroll.query('list') == null) return true; var length = context.prefix.length; var _this$quill$getLine15 = this.quill.getLine(range.index), _this$quill$getLine16 = _slicedToArray(_this$quill$getLine15, 2), line = _this$quill$getLine16[0], offset = _this$quill$getLine16[1]; if (offset > length) return true; var value; switch (context.prefix.trim()) { case '[]': case '[ ]': value = 'unchecked'; break; case '[x]': value = 'checked'; break; case '-': case '*': value = 'bullet'; break; default: value = 'ordered'; } this.quill.insertText(range.index, ' ', core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.history.cutoff(); var delta = new (Delta_default())().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value }); this.raiseOnKeydownCallback(context.event); this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.history.cutoff(); this.quill.setSelection(range.index - length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); return false; } }, 'code exit': { key: 'enter', collapsed: true, format: ['code-block'], prefix: /^$/, suffix: /^\s*$/, handler: function handler(range) { var _this$quill$getLine17 = this.quill.getLine(range.index), _this$quill$getLine18 = _slicedToArray(_this$quill$getLine17, 2), line = _this$quill$getLine18[0], offset = _this$quill$getLine18[1]; var numLines = 2; var cur = line; while (cur != null && cur.length() <= 1 && cur.formats()['code-block']) { cur = cur.prev; numLines -= 1; // Requisite prev lines are empty if (numLines <= 0) { var delta = new (Delta_default())().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1); this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.setSelection(range.index - 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); return false; } } return true; } }, 'embed left': makeEmbedArrowHandler('leftArrow', false), 'embed left shift': makeEmbedArrowHandler('leftArrow', true), 'embed right': makeEmbedArrowHandler('rightArrow', false), 'embed right shift': makeEmbedArrowHandler('rightArrow', true) } }; function makeCodeBlockHandler(indent) { return { key: 'tab', shiftKey: !indent, format: { 'code-block': true }, handler: function handler(range) { var CodeBlock = this.quill.scroll.query('code-block'); var lines = range.length === 0 ? this.quill.getLines(range.index, 1) : this.quill.getLines(range); var index = range.index, length = range.length; lines.forEach(function (line, i) { if (indent) { line.insertAt(0, CodeBlock.TAB); if (i === 0) { index += CodeBlock.TAB.length; } else { length += CodeBlock.TAB.length; } } else if (line.domNode.textContent.indexOf(CodeBlock.TAB) === 0) { line.deleteAt(0, CodeBlock.TAB.length); if (i === 0) { index -= CodeBlock.TAB.length; } else { length -= CodeBlock.TAB.length; } } }); this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.setSelection(index, length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); } }; } function makeEmbedArrowHandler(key, shiftKey) { var where = key === 'leftArrow' ? 'prefix' : 'suffix'; return _defineProperty(_defineProperty({ key: key, shiftKey: shiftKey, altKey: null }, where, /^$/), "handler", function handler(range) { var index = range.index; if (key === 'rightArrow') { index += range.length + 1; } var _this$quill$getLeaf = this.quill.getLeaf(index), _this$quill$getLeaf2 = _slicedToArray(_this$quill$getLeaf, 1), leaf = _this$quill$getLeaf2[0]; if (!(leaf instanceof parchment.EmbedBlot)) return true; if (key === 'leftArrow') { if (shiftKey) { this.quill.setSelection(range.index - 1, range.length + 1, core_quill/* default.sources.USER */.ZP.sources.USER); } else { this.quill.setSelection(range.index - 1, core_quill/* default.sources.USER */.ZP.sources.USER); } } else if (shiftKey) { this.quill.setSelection(range.index, range.length + 1, core_quill/* default.sources.USER */.ZP.sources.USER); } else { this.quill.setSelection(range.index + range.length + 1, core_quill/* default.sources.USER */.ZP.sources.USER); } return false; }); } function makeFormatHandler(format, which) { return { key: format[0], which: which, shortKey: true, handler: function handler(range, context) { this.quill.format(format, !context.format[format], core_quill/* default.sources.USER */.ZP.sources.USER); return { preventAfterAllMatches: true }; } }; } function normalize(binding) { if (typeof binding === 'string' || typeof binding === 'number') { binding = { key: binding }; } else if (_typeof(binding) === 'object') { binding = lodash_clonedeep_default()(binding); } else { return null; } if (binding.shortKey) { binding[SHORTKEY] = binding.shortKey; delete binding.shortKey; } return binding; } function deleteRange(_ref6) { var quill = _ref6.quill, range = _ref6.range; var lines = quill.getLines(range); var formats = {}; if (lines.length > 1) { var firstFormats = lines[0].formats(); var lastFormats = lines[lines.length - 1].formats(); formats = Delta.AttributeMap.diff(lastFormats, firstFormats) || {}; } quill.deleteText(range, core_quill/* default.sources.USER */.ZP.sources.USER); if (Object.keys(formats).length > 0) { quill.formatLine(range.index, 1, formats, core_quill/* default.sources.USER */.ZP.sources.USER); } quill.setSelection(range.index, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); } /***/ }), /***/ 5657: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "ZP": () => (/* binding */ Syntax) }); // UNUSED EXPORTS: CodeBlock, CodeToken // EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js var Delta = __webpack_require__(9098); var Delta_default = /*#__PURE__*/__webpack_require__.n(Delta); // EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules var parchment = __webpack_require__(1233); // EXTERNAL MODULE: ./blots/inline.js var inline = __webpack_require__(6603); // EXTERNAL MODULE: ./core/quill.js var quill = __webpack_require__(281); // EXTERNAL MODULE: ./core/module.js var core_module = __webpack_require__(7094); // EXTERNAL MODULE: ./blots/block.js + 1 modules var block = __webpack_require__(6446); // EXTERNAL MODULE: ./blots/break.js var blots_break = __webpack_require__(4122); // EXTERNAL MODULE: ./blots/cursor.js var cursor = __webpack_require__(3657); // EXTERNAL MODULE: ./blots/text.js var blots_text = __webpack_require__(8222); // EXTERNAL MODULE: ./formats/code.js var code = __webpack_require__(7309); // EXTERNAL MODULE: ./modules/clipboard.js var clipboard = __webpack_require__(5635); // EXTERNAL MODULE: ./utils/has_window.js var has_window = __webpack_require__(8034); ;// CONCATENATED MODULE: ./utils/is_version_not_less_than.js function isVersionNotLessThan(version, versionToCompare) { var aVersionArray = version.split('.').map(Number); var bVersionArray = versionToCompare.split('.').map(Number); var maxVersionLength = Math.max(aVersionArray.length, bVersionArray.length); for (var i = 0; i < maxVersionLength; i += 1) { var _aVersionArray$i, _bVersionArray$i; var a = (_aVersionArray$i = aVersionArray[i]) !== null && _aVersionArray$i !== void 0 ? _aVersionArray$i : 0; var b = (_bVersionArray$i = bVersionArray[i]) !== null && _bVersionArray$i !== void 0 ? _bVersionArray$i : 0; if (a !== b) { return a > b; } } return true; } ;// CONCATENATED MODULE: ./modules/syntax.js function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var TokenAttributor = new parchment.ClassAttributor('code-token', 'hljs', { scope: parchment.Scope.INLINE }); var CodeToken = /*#__PURE__*/function (_Inline) { _inherits(CodeToken, _Inline); var _super = _createSuper(CodeToken); function CodeToken(scroll, domNode, value) { var _this; _classCallCheck(this, CodeToken); _this = _super.call(this, scroll, domNode, value); TokenAttributor.add(_this.domNode, value); return _this; } _createClass(CodeToken, [{ key: "format", value: function format(_format, value) { if (_format !== CodeToken.blotName) { _get(_getPrototypeOf(CodeToken.prototype), "format", this).call(this, _format, value); } else if (value) { TokenAttributor.add(this.domNode, value); } else { TokenAttributor.remove(this.domNode); this.domNode.classList.remove(this.statics.className); } } }, { key: "optimize", value: function optimize() { var _get2; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } (_get2 = _get(_getPrototypeOf(CodeToken.prototype), "optimize", this)).call.apply(_get2, [this].concat(args)); if (!TokenAttributor.value(this.domNode)) { this.unwrap(); } } }], [{ key: "formats", value: function formats(node, scroll) { while (node != null && node !== scroll.domNode) { if (node.classList && node.classList.contains(code/* default.className */.ZP.className)) { return _get(_getPrototypeOf(CodeToken), "formats", this).call(this, node, scroll); } node = node.parentNode; } return undefined; } }]); return CodeToken; }(inline/* default */.Z); CodeToken.blotName = 'code-token'; CodeToken.className = 'ql-token'; var SyntaxCodeBlock = /*#__PURE__*/function (_CodeBlock) { _inherits(SyntaxCodeBlock, _CodeBlock); var _super2 = _createSuper(SyntaxCodeBlock); function SyntaxCodeBlock() { _classCallCheck(this, SyntaxCodeBlock); return _super2.apply(this, arguments); } _createClass(SyntaxCodeBlock, [{ key: "format", value: // Syntax module will register function format(name, value) { if (name === this.statics.blotName && value) { this.domNode.setAttribute('data-language', value); } else { _get(_getPrototypeOf(SyntaxCodeBlock.prototype), "format", this).call(this, name, value); } } }, { key: "replaceWith", value: function replaceWith(name, value) { this.formatAt(0, this.length(), CodeToken.blotName, false); return _get(_getPrototypeOf(SyntaxCodeBlock.prototype), "replaceWith", this).call(this, name, value); } }], [{ key: "create", value: function create(value) { var domNode = _get(_getPrototypeOf(SyntaxCodeBlock), "create", this).call(this, value); if (typeof value === 'string') { domNode.setAttribute('data-language', value); } return domNode; } }, { key: "formats", value: function formats(domNode) { return domNode.getAttribute('data-language') || 'plain'; } }, { key: "register", value: function register() {} }]); return SyntaxCodeBlock; }(code/* default */.ZP); var SyntaxCodeBlockContainer = /*#__PURE__*/function (_CodeBlockContainer) { _inherits(SyntaxCodeBlockContainer, _CodeBlockContainer); var _super3 = _createSuper(SyntaxCodeBlockContainer); function SyntaxCodeBlockContainer() { _classCallCheck(this, SyntaxCodeBlockContainer); return _super3.apply(this, arguments); } _createClass(SyntaxCodeBlockContainer, [{ key: "attach", value: function attach() { _get(_getPrototypeOf(SyntaxCodeBlockContainer.prototype), "attach", this).call(this); this.forceNext = false; this.scroll.emitMount(this); } }, { key: "format", value: function format(name, value) { if (name === SyntaxCodeBlock.blotName) { this.forceNext = true; this.children.forEach(function (child) { child.format(name, value); }); } } }, { key: "formatAt", value: function formatAt(index, length, name, value) { if (name === SyntaxCodeBlock.blotName) { this.forceNext = true; } _get(_getPrototypeOf(SyntaxCodeBlockContainer.prototype), "formatAt", this).call(this, index, length, name, value); } }, { key: "highlight", value: function highlight(_highlight) { var _this2 = this; var forced = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; if (this.children.head == null) return; var nodes = Array.from(this.domNode.childNodes).filter(function (node) { return node !== _this2.uiNode; }); var text = "".concat(nodes.map(function (node) { return node.textContent; }).join('\n'), "\n"); var language = SyntaxCodeBlock.formats(this.children.head.domNode); if (forced || this.forceNext || this.cachedText !== text) { if (text.trim().length > 0 || this.cachedText == null) { var oldDelta = this.children.reduce(function (delta, child) { return delta.concat((0,block/* blockDelta */.qz)(child, false)); }, new (Delta_default())()); var delta = _highlight(text, language); oldDelta.diff(delta).reduce(function (index, _ref) { var retain = _ref.retain, attributes = _ref.attributes; // Should be all retains if (!retain) return index; if (attributes) { Object.keys(attributes).forEach(function (format) { if ([SyntaxCodeBlock.blotName, CodeToken.blotName].indexOf(format) !== -1) { _this2.formatAt(index, retain, format, attributes[format]); } }); } return index + retain; }, 0); } this.cachedText = text; this.forceNext = false; } } }, { key: "html", value: function html(index, length) { var _this$children$find = this.children.find(index), _this$children$find2 = _slicedToArray(_this$children$find, 1), codeBlock = _this$children$find2[0]; var language = codeBlock ? SyntaxCodeBlock.formats(codeBlock.domNode) : 'plain'; return "
    \n").concat(this.code(index, length), "\n
    "); } }, { key: "optimize", value: function optimize(context) { _get(_getPrototypeOf(SyntaxCodeBlockContainer.prototype), "optimize", this).call(this, context); if (this.parent != null && this.children.head != null && this.uiNode != null) { var language = SyntaxCodeBlock.formats(this.children.head.domNode); if (language !== this.uiNode.value) { this.uiNode.value = language; } } } }]); return SyntaxCodeBlockContainer; }(code/* CodeBlockContainer */.se); SyntaxCodeBlockContainer.allowedChildren = [SyntaxCodeBlock]; SyntaxCodeBlock.requiredContainer = SyntaxCodeBlockContainer; SyntaxCodeBlock.allowedChildren = [CodeToken, cursor/* default */.Z, blots_text/* default */.Z, blots_break/* default */.Z]; var Syntax = /*#__PURE__*/function (_Module) { _inherits(Syntax, _Module); var _super4 = _createSuper(Syntax); function Syntax(quill, options) { var _this3; _classCallCheck(this, Syntax); _this3 = _super4.call(this, quill, options); if (_this3.options.hljs == null) { throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.'); } _this3.languages = _this3.options.languages.reduce(function (memo, _ref2) { var key = _ref2.key; memo[key] = true; return memo; }, {}); _this3.highlightBlot = _this3.highlightBlot.bind(_assertThisInitialized(_this3)); _this3.initListener(); _this3.initTimer(); return _this3; } _createClass(Syntax, [{ key: "initListener", value: function initListener() { var _this4 = this; this.quill.on(quill/* default.events.SCROLL_BLOT_MOUNT */.ZP.events.SCROLL_BLOT_MOUNT, function (blot) { if (!(blot instanceof SyntaxCodeBlockContainer)) return; var select = _this4.quill.root.ownerDocument.createElement('select'); _this4.options.languages.forEach(function (_ref3) { var key = _ref3.key, label = _ref3.label; var option = select.ownerDocument.createElement('option'); option.textContent = label; option.setAttribute('value', key); select.appendChild(option); }); select.addEventListener('change', function () { blot.format(SyntaxCodeBlock.blotName, select.value); _this4.quill.root.focus(); // Prevent scrolling _this4.highlight(blot, true); }); if (blot.uiNode == null) { blot.attachUI(select); if (blot.children.head) { select.value = SyntaxCodeBlock.formats(blot.children.head.domNode); } } }); } }, { key: "initTimer", value: function initTimer() { var _this5 = this; var timer = null; this.quill.on(quill/* default.events.SCROLL_OPTIMIZE */.ZP.events.SCROLL_OPTIMIZE, function () { clearTimeout(timer); timer = setTimeout(function () { _this5.highlight(); timer = null; }, _this5.options.interval); }); } }, { key: "highlight", value: function highlight() { var _this6 = this; var blot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; if (this.quill.selection.composing) return; this.quill.update(quill/* default.sources.USER */.ZP.sources.USER); var range = this.quill.getSelection(); var blots = blot == null ? this.quill.scroll.descendants(SyntaxCodeBlockContainer) : [blot]; blots.forEach(function (container) { container.highlight(_this6.highlightBlot, force); }); this.quill.update(quill/* default.sources.SILENT */.ZP.sources.SILENT); if (range != null && this.quill.hasFocus()) { this.quill.setSelection(range, quill/* default.sources.SILENT */.ZP.sources.SILENT); } } }, { key: "highlightBlot", value: function highlightBlot(text) { var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'plain'; language = this.languages[language] ? language : 'plain'; if (language === 'plain') { return (0,blots_text/* escapeText */.b)(text).split('\n').reduce(function (delta, line, i) { if (i !== 0) { delta.insert('\n', _defineProperty({}, code/* default.blotName */.ZP.blotName, language)); } return delta.insert(line); }, new (Delta_default())()); } var container = this.quill.root.ownerDocument.createElement('div'); container.classList.add(code/* default.className */.ZP.className); var highlightJsVersion = this.options.hljs.versionString; if (isVersionNotLessThan(highlightJsVersion, '10.7')) { // NOTE: https://github.com/highlightjs/highlight.js/issues/2277; container.innerHTML = this.options.hljs.highlight(text, { language: language }).value; } else { container.innerHTML = this.options.hljs.highlight(language, text).value; } return (0,clipboard/* traverse */.fw)(this.quill.scroll, container, [function (node, delta) { var value = TokenAttributor.value(node); if (value) { return delta.compose(new (Delta_default())().retain(delta.length(), _defineProperty({}, CodeToken.blotName, value))); } return delta; }], [function (node, delta) { return node.data.split('\n').reduce(function (memo, nodeText, i) { if (i !== 0) memo.insert('\n', _defineProperty({}, code/* default.blotName */.ZP.blotName, language)); return memo.insert(nodeText); }, delta); }], new WeakMap()); } }], [{ key: "register", value: function register() { quill/* default.register */.ZP.register(CodeToken, true); quill/* default.register */.ZP.register(SyntaxCodeBlock, true); quill/* default.register */.ZP.register(SyntaxCodeBlockContainer, true); } }]); return Syntax; }(core_module/* default */.Z); Syntax.DEFAULTS = { hljs: function () { if ((0,has_window/* default */.Z)()) { return window.hljs; } return null; }(), interval: 1000, languages: [{ key: 'plain', label: 'Plain' }, { key: 'bash', label: 'Bash' }, { key: 'cpp', label: 'C++' }, { key: 'cs', label: 'C#' }, { key: 'css', label: 'CSS' }, { key: 'diff', label: 'Diff' }, { key: 'xml', label: 'HTML/XML' }, { key: 'java', label: 'Java' }, { key: 'javascript', label: 'Javascript' }, { key: 'markdown', label: 'Markdown' }, { key: 'php', label: 'PHP' }, { key: 'python', label: 'Python' }, { key: 'ruby', label: 'Ruby' }, { key: 'sql', label: 'SQL' }] }; // eslint-disable-next-line no-restricted-exports /***/ }), /***/ 867: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1233); /* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(281); /* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7094); /* harmony import */ var _formats_table__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1969); /* harmony import */ var _utils_is_defined__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5874); /* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5635); /* harmony import */ var _utils_make_table_arrow_handler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9466); /* harmony import */ var _utils_prepare_attr_matcher__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7896); /* harmony import */ var _formats_table_attributors_table__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(319); /* harmony import */ var _formats_table_attributors_cell__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1342); /* harmony import */ var _utils_insert_pr_above__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2480); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var EMPTY_RESULT = [null, null, null, -1]; var ELEMENT_NODE = 1; var Table = /*#__PURE__*/function (_Module) { _inherits(Table, _Module); var _super = _createSuper(Table); function Table() { var _this; _classCallCheck(this, Table); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); _this.tableBlots = [_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .CellLine.blotName */ .zW.blotName, _formats_table__WEBPACK_IMPORTED_MODULE_4__/* .HeaderCellLine.blotName */ .iD.blotName]; _this.tableBlots.forEach(function (blotName) { _this.quill.editor.addImmediateFormat(blotName); }); _this.integrateClipboard(); _this.addKeyboardHandlers(); _this.listenBalanceCells(); return _this; } _createClass(Table, [{ key: "integrateClipboard", value: function integrateClipboard() { var _this2 = this; this.tableBlots.forEach(function (blotName) { _this2.quill.clipboard.addTableBlot(blotName); }); this.quill.clipboard.addMatcher('td, th', matchCell); this.quill.clipboard.addMatcher('table', (0,_utils_prepare_attr_matcher__WEBPACK_IMPORTED_MODULE_7__/* .prepareAttributeMatcher */ .F)(_formats_table_attributors_table__WEBPACK_IMPORTED_MODULE_8__/* .TABLE_ATTRIBUTORS */ .Zt)); this.quill.clipboard.addMatcher('td, th', (0,_utils_prepare_attr_matcher__WEBPACK_IMPORTED_MODULE_7__/* .prepareCellAttributeMatcher */ .a)(_formats_table_attributors_cell__WEBPACK_IMPORTED_MODULE_9__/* .CELL_ATTRIBUTORS */ .h6)); } }, { key: "addKeyboardHandlers", value: function addKeyboardHandlers() { var _this3 = this; var bindings = Table.keyboardBindings; Object.keys(bindings).forEach(function (name) { if (bindings[name]) { _this3.quill.keyboard.addBinding(bindings[name]); } }); } }, { key: "balanceTables", value: function balanceTables() { this.quill.scroll.descendants(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableContainer */ .xJ).forEach(function (table) { table.balanceCells(); }); } }, { key: "deleteColumn", value: function deleteColumn() { var _this$getTable = this.getTable(), _this$getTable2 = _slicedToArray(_this$getTable, 3), table = _this$getTable2[0], cell = _this$getTable2[2]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(cell)) { return; } table.deleteColumn(cell.cellOffset()); this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); } }, { key: "deleteRow", value: function deleteRow() { var _this$getTable3 = this.getTable(), _this$getTable4 = _slicedToArray(_this$getTable3, 2), row = _this$getTable4[1]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(row)) { return; } row.remove(); this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); } }, { key: "deleteTable", value: function deleteTable() { var _this$getTable5 = this.getTable(), _this$getTable6 = _slicedToArray(_this$getTable5, 1), table = _this$getTable6[0]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(table)) { return; } var offset = table.offset(); table.remove(); this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); this.quill.setSelection(offset, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); } }, { key: "getTable", value: function getTable() { var range = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.quill.getSelection(); if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(range)) { return EMPTY_RESULT; } var _this$quill$getLine = this.quill.getLine(range.index), _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 2), cellLine = _this$quill$getLine2[0], offset = _this$quill$getLine2[1]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(cellLine) || this.tableBlots.indexOf(cellLine.statics.blotName) === -1) { return EMPTY_RESULT; } var cell = cellLine.parent; var row = cell.parent; var table = row.parent.parent; return [table, row, cell, offset]; } }, { key: "insertColumn", value: function insertColumn(offset) { var range = this.quill.getSelection(); var _this$getTable7 = this.getTable(range), _this$getTable8 = _slicedToArray(_this$getTable7, 3), table = _this$getTable8[0], row = _this$getTable8[1], cell = _this$getTable8[2]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(cell)) { return; } var column = cell.cellOffset(); table.insertColumn(column + offset); this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); var shift = row.rowOffset(); if (offset === 0) { shift += 1; } this.quill.setSelection(range.index + shift, range.length, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); } }, { key: "insertColumnLeft", value: function insertColumnLeft() { this.insertColumn(0); } }, { key: "insertColumnRight", value: function insertColumnRight() { this.insertColumn(1); } }, { key: "insertRow", value: function insertRow(offset) { var range = this.quill.getSelection(); var _this$getTable9 = this.getTable(range), _this$getTable10 = _slicedToArray(_this$getTable9, 3), table = _this$getTable10[0], row = _this$getTable10[1], cell = _this$getTable10[2]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(cell)) { return; } var index = row.rowOffset(); table.insertRow(index + offset); this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); if (offset > 0) { this.quill.setSelection(range, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); } else { this.quill.setSelection(range.index + row.children.length, range.length, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); } } }, { key: "insertRowAbove", value: function insertRowAbove() { this.insertRow(0); } }, { key: "insertRowBelow", value: function insertRowBelow() { this.insertRow(1); } }, { key: "insertHeaderRow", value: function insertHeaderRow() { var range = this.quill.getSelection(); var _this$getTable11 = this.getTable(range), _this$getTable12 = _slicedToArray(_this$getTable11, 3), table = _this$getTable12[0], cell = _this$getTable12[2]; if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(cell)) { return; } table.insertHeaderRow(); this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); } }, { key: "insertTable", value: function insertTable(rows, columns) { var range = this.quill.getSelection(); if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(range)) { return; } var delta = new Array(rows).fill(0).reduce(function (memo) { var rowId = (0,_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .tableId */ .Lv)(); new Array(columns).fill('\n').forEach(function (text) { memo.insert(text, { tableCellLine: { row: rowId, cell: (0,_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .tableId */ .Lv)() } }); }); return memo; }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(range.index)); this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); this.quill.setSelection(range.index, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); this.balanceTables(); } }, { key: "tableFormats", value: function tableFormats() { return this.tableBlots; } }, { key: "listenBalanceCells", value: function listenBalanceCells() { var _this4 = this; this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.SCROLL_OPTIMIZE */ .ZP.events.SCROLL_OPTIMIZE, function (mutations) { mutations.some(function (mutation) { if (['TD', 'TH', 'TR', 'TBODY', 'THEAD', 'TABLE'].indexOf(mutation.target.tagName) !== -1) { _this4.quill.once(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.TEXT_CHANGE */ .ZP.events.TEXT_CHANGE, function (delta, old, source) { if (source !== _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER) return; _this4.balanceTables(); }); return true; } return false; }); }); this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.CONTENT_SETTED */ .ZP.events.CONTENT_SETTED, function () { _this4.quill.once(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].events.TEXT_CHANGE */ .ZP.events.TEXT_CHANGE, function () { _this4.balanceTables(); }); }); } }], [{ key: "register", value: function register() { _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .CellLine */ .zW, true); _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .HeaderCellLine */ .iD, true); _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableHeaderCell */ .xs, true); _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableCell */ .pj, true); _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableHeaderRow */ .KA, true); _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableRow */ .SC, true); _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableBody */ .RM, true); _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableHeader */ .xD, true); _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableContainer */ .xJ, true); [_formats_table_attributors_table__WEBPACK_IMPORTED_MODULE_8__/* .TABLE_FORMATS */ .li, _formats_table_attributors_cell__WEBPACK_IMPORTED_MODULE_9__/* .CELL_FORMATS */ .Du].forEach(function (formats) { Object.keys(formats).forEach(function (name) { _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].register */ .ZP.register(_defineProperty({}, "formats/".concat(name), formats[name]), true); }); }); } }]); return Table; }(_core_module__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z); Table.keyboardBindings = { 'table backspace': { key: 'backspace', format: ['tableCellLine', 'tableHeaderCellLine'], collapsed: true, offset: 0, handler: function handler(range) { var _this$quill$getLine3 = this.quill.getLine(range.index), _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 1), line = _this$quill$getLine4[0]; if (!line.prev || ['tableCellLine', 'tableHeaderCellLine'].indexOf(line.prev.statics.blotName) === -1) { return false; } return true; } }, 'table delete': { key: 'del', format: ['tableCellLine', 'tableHeaderCellLine'], collapsed: true, suffix: /^$/, handler: function handler() {} }, 'table enter': { key: 'enter', shiftKey: null, format: ['tableCellLine', 'tableHeaderCellLine'], handler: function handler(range, context) { var _this$quill$selection, _this$quill$selection2, _this5 = this; var module = this.quill.getModule('table'); if (!module) { return; } var quill = this.quill; var _module$getTable = module.getTable(range), _module$getTable2 = _slicedToArray(_module$getTable, 1), table = _module$getTable2[0]; var isCaretPositionAfterTable = ((_this$quill$selection = this.quill.selection) === null || _this$quill$selection === void 0 ? void 0 : _this$quill$selection.lastNative.native.endContainer.nodeType) === ELEMENT_NODE; if (isCaretPositionAfterTable) { var index = table.offset(); (0,_utils_insert_pr_above__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z)({ quill: quill, index: index, table: table }); return; } if ((_this$quill$selection2 = this.quill.selection) !== null && _this$quill$selection2 !== void 0 && _this$quill$selection2.composing) return; if (range.length > 0) { this.quill.scroll.deleteAt(range.index, range.length); } var lineFormats = Object.keys(context.format).reduce(function (formats, format) { if (_this5.quill.scroll.query(format, parchment__WEBPACK_IMPORTED_MODULE_1__.Scope.BLOCK) && !Array.isArray(context.format[format])) { formats[format] = context.format[format]; } return formats; }, {}); this.quill.insertText(range.index, '\n', lineFormats.tableCellLine, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); this.quill.setSelection(range.index + 1, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.SILENT */ .ZP.sources.SILENT); this.quill.focus(); Object.keys(context.format).forEach(function (name) { if (lineFormats[name] != null) return; if (Array.isArray(context.format[name])) return; if (name === 'link') return; _this5.quill.format(name, context.format[name], _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); }); } }, 'table tab': { key: 'tab', shiftKey: null, format: ['tableCellLine', 'tableHeaderCellLine'], handler: function handler(range, context) { var event = context.event, cell = context.line; var offset = cell.offset(this.quill.scroll); if (event.shiftKey) { this.quill.setSelection(offset - 1, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); } else { this.quill.setSelection(offset + cell.length(), _core_quill__WEBPACK_IMPORTED_MODULE_2__/* ["default"].sources.USER */ .ZP.sources.USER); } } }, 'table down': (0,_utils_make_table_arrow_handler__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(false, ['tableCellLine', 'tableHeaderCellLine']), 'table up': (0,_utils_make_table_arrow_handler__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(true, ['tableCellLine', 'tableHeaderCellLine']) }; function matchCell(node, delta) { var row = node.parentNode; var table = row.parentNode.tagName === 'TABLE' ? row.parentNode : row.parentNode.parentNode; var isHeaderRow = row.parentNode.tagName === 'THEAD' ? true : null; var rows = Array.from(table.querySelectorAll('tr')); var cells = Array.from(row.querySelectorAll('th,td')); var rowId = rows.indexOf(row) + 1; var cellId = cells.indexOf(node) + 1; var cellLineBlotName = isHeaderRow ? 'tableHeaderCellLine' : 'tableCellLine'; if (delta.length() === 0) { delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert('\n', _defineProperty({}, cellLineBlotName, { row: rowId, cell: cellId })); return delta; } if (!(0,_clipboard__WEBPACK_IMPORTED_MODULE_5__/* .deltaEndsWith */ .PF)(delta, '\n')) { delta.insert('\n'); } return (0,_clipboard__WEBPACK_IMPORTED_MODULE_5__/* .applyFormat */ .HI)(delta, cellLineBlotName, { row: rowId, cell: cellId }); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Table); /***/ }), /***/ 6054: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": () => (/* binding */ lite) }); // EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js var Delta = __webpack_require__(9098); var Delta_default = /*#__PURE__*/__webpack_require__.n(Delta); // EXTERNAL MODULE: ./core/quill.js var core_quill = __webpack_require__(281); // EXTERNAL MODULE: ./core/module.js var core_module = __webpack_require__(7094); // EXTERNAL MODULE: ./blots/block.js + 1 modules var block = __webpack_require__(6446); // EXTERNAL MODULE: ./blots/container.js var container = __webpack_require__(3553); // EXTERNAL MODULE: ./utils/is_defined.js var is_defined = __webpack_require__(5874); // EXTERNAL MODULE: ./formats/table/attributors/table.js var table = __webpack_require__(319); // EXTERNAL MODULE: ./formats/table/get_id.js var get_id = __webpack_require__(8536); // EXTERNAL MODULE: ./formats/table/toggle_attribute.js var toggle_attribute = __webpack_require__(2795); ;// CONCATENATED MODULE: ./formats/table/lite.js function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var TABLE_TAGS = (/* unused pure expression or super */ null && (['TD', 'TH', 'TR', 'TBODY', 'THEAD', 'TABLE'])); var DATA_PREFIX = 'data-tablelite-'; var BaseCell = /*#__PURE__*/function (_Block) { _inherits(BaseCell, _Block); var _super = _createSuper(BaseCell); function BaseCell() { _classCallCheck(this, BaseCell); return _super.apply(this, arguments); } _createClass(BaseCell, [{ key: "format", value: function format(name, value) { if (table/* TABLE_FORMATS */.li[name]) { var _this$row; var attrName = "data-".concat(name.toLowerCase()); (0,toggle_attribute/* default */.Z)(this.domNode, attrName, value); (_this$row = this.row()) === null || _this$row === void 0 || (_this$row = _this$row.table()) === null || _this$row === void 0 || _this$row.format(name, value); } else { _get(_getPrototypeOf(BaseCell.prototype), "format", this).call(this, name, value); } } }, { key: "cellOffset", value: function cellOffset() { if (this.parent) { return this.parent.children.indexOf(this); } return -1; } }, { key: "row", value: function row() { return 'table' in this.parent ? this.parent : null; } }, { key: "rowOffset", value: function rowOffset() { if (this.row()) { return this.row().rowOffset(); } return -1; } }, { key: "table", value: function table() { var _this$row2; return (_this$row2 = this.row()) === null || _this$row2 === void 0 ? void 0 : _this$row2.table(); } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(BaseCell), "create", this).call(this); var attrName = this.dataAttribute; (0,toggle_attribute/* default */.Z)(node, attrName, value !== null && value !== void 0 ? value : tableId()); return node; } }, { key: "formats", value: function formats(domNode) { var attrName = this.dataAttribute; if (domNode.hasAttribute(attrName)) { return domNode.getAttribute(attrName); } return undefined; } }]); return BaseCell; }(block/* default */.ZP); BaseCell.tagName = ['TD', 'TH']; var TableCell = /*#__PURE__*/function (_BaseCell) { _inherits(TableCell, _BaseCell); var _super2 = _createSuper(TableCell); function TableCell() { _classCallCheck(this, TableCell); return _super2.apply(this, arguments); } _createClass(TableCell, [{ key: "format", value: function format(name, value) { if (name === TableCell.blotName && value) { this.domNode.setAttribute(TableCell.dataAttribute, value); } else { _get(_getPrototypeOf(TableCell.prototype), "format", this).call(this, name, value); } } }]); return TableCell; }(BaseCell); TableCell.blotName = 'table'; TableCell.dataAttribute = "".concat(DATA_PREFIX, "row"); var TableHeaderCell = /*#__PURE__*/function (_BaseCell2) { _inherits(TableHeaderCell, _BaseCell2); var _super3 = _createSuper(TableHeaderCell); function TableHeaderCell() { _classCallCheck(this, TableHeaderCell); return _super3.apply(this, arguments); } _createClass(TableHeaderCell, [{ key: "format", value: function format(name, value) { if (name === TableHeaderCell.blotName && value) { this.domNode.setAttribute(TableHeaderCell.dataAttribute, value); } else { _get(_getPrototypeOf(TableHeaderCell.prototype), "format", this).call(this, name, value); } } }]); return TableHeaderCell; }(BaseCell); TableHeaderCell.tagName = ['TH', 'TD']; TableHeaderCell.blotName = 'tableHeaderCell'; TableHeaderCell.dataAttribute = "".concat(DATA_PREFIX, "header-row"); var BaseRow = /*#__PURE__*/function (_Container) { _inherits(BaseRow, _Container); var _super4 = _createSuper(BaseRow); function BaseRow() { _classCallCheck(this, BaseRow); return _super4.apply(this, arguments); } _createClass(BaseRow, [{ key: "checkMerge", value: function checkMerge() { if (_get(_getPrototypeOf(BaseRow.prototype), "checkMerge", this).call(this) && (0,is_defined/* default */.Z)(this.next.children.head)) { var formatName = this.childFormatName; var thisHead = this.children.head.formats(); var thisTail = this.children.tail.formats(); var nextHead = this.next.children.head.formats(); var nextTail = this.next.children.tail.formats(); return thisHead[formatName] === thisTail[formatName] && thisHead[formatName] === nextHead[formatName] && thisHead[formatName] === nextTail[formatName]; } return false; } }, { key: "optimize", value: function optimize() { var _get2, _this = this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } (_get2 = _get(_getPrototypeOf(BaseRow.prototype), "optimize", this)).call.apply(_get2, [this].concat(args)); var formatName = this.childFormatName; this.children.forEach(function (child) { if (!(0,is_defined/* default */.Z)(child.next)) { return; } var childFormats = child.formats(); var nextFormats = child.next.formats(); if (childFormats[formatName] !== nextFormats[formatName]) { var next = _this.splitAfter(child); if (next) { next.optimize(); } // We might be able to merge with prev now if (_this.prev) { _this.prev.optimize(); } } }); } }, { key: "rowOffset", value: function rowOffset() { if (this.parent) { return this.parent.children.indexOf(this); } return -1; } }, { key: "table", value: function table() { var _this$parent; return (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.parent; } }]); return BaseRow; }(container/* default */.Z); BaseRow.tagName = 'TR'; var TableRow = /*#__PURE__*/function (_BaseRow) { _inherits(TableRow, _BaseRow); var _super5 = _createSuper(TableRow); function TableRow(scroll, domNode) { var _this2; _classCallCheck(this, TableRow); _this2 = _super5.call(this, scroll, domNode); _this2.childFormatName = 'table'; return _this2; } return _createClass(TableRow); }(BaseRow); TableRow.blotName = 'tableRow'; var TableHeaderRow = /*#__PURE__*/function (_BaseRow2) { _inherits(TableHeaderRow, _BaseRow2); var _super6 = _createSuper(TableHeaderRow); function TableHeaderRow(scroll, domNode) { var _this3; _classCallCheck(this, TableHeaderRow); _this3 = _super6.call(this, scroll, domNode); _this3.childFormatName = 'tableHeaderCell'; return _this3; } return _createClass(TableHeaderRow); }(BaseRow); TableHeaderRow.blotName = 'tableHeaderRow'; var RowContainer = /*#__PURE__*/function (_Container2) { _inherits(RowContainer, _Container2); var _super7 = _createSuper(RowContainer); function RowContainer() { _classCallCheck(this, RowContainer); return _super7.apply(this, arguments); } _createClass(RowContainer, [{ key: "optimize", value: function optimize() { var _get3; if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) { var domNode = this.children.head.children.head.domNode; var formats = {}; Object.keys(table/* TABLE_FORMATS */.li).forEach(function (format) { var value = domNode.dataset[format.toLowerCase()]; if (value) { formats[format] = value; } }); this.wrap(this.statics.requiredContainer.blotName, formats); } for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } (_get3 = _get(_getPrototypeOf(RowContainer.prototype), "optimize", this)).call.apply(_get3, [this].concat(args)); } }]); return RowContainer; }(container/* default */.Z); var TableBody = /*#__PURE__*/function (_RowContainer) { _inherits(TableBody, _RowContainer); var _super8 = _createSuper(TableBody); function TableBody() { _classCallCheck(this, TableBody); return _super8.apply(this, arguments); } return _createClass(TableBody); }(RowContainer); TableBody.blotName = 'tableBody'; TableBody.tagName = ['TBODY']; var TableHeader = /*#__PURE__*/function (_RowContainer2) { _inherits(TableHeader, _RowContainer2); var _super9 = _createSuper(TableHeader); function TableHeader() { _classCallCheck(this, TableHeader); return _super9.apply(this, arguments); } return _createClass(TableHeader); }(RowContainer); TableHeader.blotName = 'tableHeader'; TableHeader.tagName = ['THEAD']; var TableContainer = /*#__PURE__*/function (_Container3) { _inherits(TableContainer, _Container3); var _super10 = _createSuper(TableContainer); function TableContainer() { _classCallCheck(this, TableContainer); return _super10.apply(this, arguments); } _createClass(TableContainer, [{ key: "balanceCells", value: function balanceCells() { var headerRows = this.descendants(TableHeaderRow); var bodyRows = this.descendants(TableRow); var maxColCount = this.getMaxTableColCount(headerRows, bodyRows); this.balanceRows(maxColCount, headerRows, TableHeaderCell); this.balanceRows(maxColCount, bodyRows, TableCell); } }, { key: "getMaxTableColCount", value: function getMaxTableColCount(headerRows, bodyRows) { return Math.max(this.getMaxRowColCount(headerRows), this.getMaxRowColCount(bodyRows)); } }, { key: "getMaxRowColCount", value: function getMaxRowColCount(rows) { return Math.max.apply(Math, _toConsumableArray(rows.map(function (row) { return row.children.length; }))); } }, { key: "balanceRows", value: function balanceRows(maxColCount, rows, CellClass) { var _this4 = this; rows.forEach(function (row) { new Array(maxColCount - row.children.length).fill(0).forEach(function () { var value; if ((0,is_defined/* default */.Z)(row.children.head)) { value = CellClass.formats(row.children.head.domNode); } var blot = _this4.scroll.create(CellClass.blotName, value); row.appendChild(blot); blot.optimize(); // Add break blot }); }); } }, { key: "cells", value: function cells(column) { return this.rows().map(function (row) { return row.children.at(column); }); } }, { key: "deleteColumn", value: function deleteColumn(index) { var _this5 = this; [TableHeader, TableBody].forEach(function (blot) { var _this5$descendants = _this5.descendants(blot), _this5$descendants2 = _slicedToArray(_this5$descendants, 1), tablePart = _this5$descendants2[0]; if (!(0,is_defined/* default */.Z)(tablePart) || !(0,is_defined/* default */.Z)(tablePart.children.head)) { return; } tablePart.children.forEach(function (row) { var cell = row.children.at(index); if ((0,is_defined/* default */.Z)(cell)) { cell.remove(); } }); }); } }, { key: "insertColumn", value: function insertColumn(index) { var _this6 = this; [TableHeader, TableBody].forEach(function (blot) { var _this6$descendants = _this6.descendants(blot), _this6$descendants2 = _slicedToArray(_this6$descendants, 1), tablePart = _this6$descendants2[0]; if (!(0,is_defined/* default */.Z)(tablePart) || !(0,is_defined/* default */.Z)(tablePart.children.head)) { return; } var CellBlot = blot === TableHeader ? TableHeaderCell : TableCell; tablePart.children.forEach(function (row) { var ref = row.children.at(index); var value = CellBlot.formats(row.children.head.domNode); var cell = _this6.scroll.create(CellBlot.blotName, value); row.insertBefore(cell, ref); }); }); } }, { key: "insertRow", value: function insertRow(index) { var _this7 = this; var _this$descendants = this.descendants(TableBody), _this$descendants2 = _slicedToArray(_this$descendants, 1), body = _this$descendants2[0]; if (!(0,is_defined/* default */.Z)(body) || !(0,is_defined/* default */.Z)(body.children.head)) { return; } var id = tableId(); var row = this.scroll.create(TableRow.blotName); body.children.head.children.forEach(function () { var cell = _this7.scroll.create(TableCell.blotName, id); row.appendChild(cell); }); var ref = body.children.at(index); body.insertBefore(row, ref); } }, { key: "insertHeaderRow", value: function insertHeaderRow() { var _this8 = this; var _this$descendants3 = this.descendants(TableHeader), _this$descendants4 = _slicedToArray(_this$descendants3, 1), header = _this$descendants4[0]; var _this$descendants5 = this.descendants(TableBody), _this$descendants6 = _slicedToArray(_this$descendants5, 1), body = _this$descendants6[0]; if ((0,is_defined/* default */.Z)(header) || !(0,is_defined/* default */.Z)(body) || !(0,is_defined/* default */.Z)(body.children.head)) { return; } var id = tableId(); var newHeader = this.scroll.create(TableHeader.blotName); var row = this.scroll.create(TableHeaderRow.blotName); var ref = this.children.at(0); newHeader.appendChild(row); body.children.head.children.forEach(function () { var cell = _this8.scroll.create(TableHeaderCell.blotName, id); row.appendChild(cell); cell.optimize(); }); this.insertBefore(newHeader, ref); } }, { key: "rows", value: function rows() { var body = this.children.head; return (0,is_defined/* default */.Z)(body) ? body.children.map(function (row) { return row; }) : []; } }, { key: "formats", value: function formats() { var formats = {}; var childElem = this.cells()[0].domNode; Object.keys(table/* TABLE_FORMATS */.li).forEach(function (format) { var value = childElem.dataset[format.toLowerCase()]; if (value) { formats[format] = value; } }); return formats; } }, { key: "format", value: function format(name, value) { var tableFormat = table/* TABLE_FORMATS */.li[name]; if (tableFormat) { var attrName = "data-".concat(name.toLowerCase()); this.cells().forEach(function (cell) { (0,toggle_attribute/* default */.Z)(cell.domNode, attrName, value); }); tableFormat.add(this.domNode, value); } } }], [{ key: "create", value: function create(value) { var node = _get(_getPrototypeOf(TableContainer), "create", this).call(this, value); if (value) { Object.keys(value).forEach(function (format) { var _TABLE_FORMATS$format; (_TABLE_FORMATS$format = table/* TABLE_FORMATS */.li[format]) === null || _TABLE_FORMATS$format === void 0 || _TABLE_FORMATS$format.add(node, value[format]); }); } return node; } }]); return TableContainer; }(container/* default */.Z); TableContainer.blotName = 'tableContainer'; TableContainer.tagName = 'TABLE'; TableContainer.allowedChildren = [TableHeader, TableBody]; TableBody.requiredContainer = TableContainer; TableHeader.requiredContainer = TableContainer; TableBody.allowedChildren = [TableRow]; TableRow.requiredContainer = TableBody; TableRow.allowedChildren = [TableCell]; TableCell.requiredContainer = TableRow; TableHeader.allowedChildren = [TableHeaderRow]; TableHeaderRow.requiredContainer = TableHeader; TableHeaderRow.allowedChildren = [TableHeaderCell]; TableHeaderCell.requiredContainer = TableHeaderRow; function tableId() { return "row-".concat((0,get_id/* default */.Z)()); } // EXTERNAL MODULE: ./modules/clipboard.js var clipboard = __webpack_require__(5635); // EXTERNAL MODULE: ./modules/table/utils/make_table_arrow_handler.js var make_table_arrow_handler = __webpack_require__(9466); ;// CONCATENATED MODULE: ./modules/table/utils/insert_pr_below.js function insertParagraphAbove(_ref) { var quill = _ref.quill, index = _ref.index, range = _ref.range; var insertIndex = index - 1; var delta = new (Delta_default())().retain(insertIndex).insert('\n'); quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); quill.setSelection(range.index + 1, range.length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); } // EXTERNAL MODULE: ./modules/table/utils/insert_pr_above.js var insert_pr_above = __webpack_require__(2480); ;// CONCATENATED MODULE: ./modules/table/utils/table_side.js function tableSide(row, cell, offset) { if (row.prev == null && row.next == null) { if (cell.prev == null && cell.next == null) { return offset === 0 ? -1 : 1; } return cell.prev == null ? -1 : 1; } if (row.prev == null) { return -1; } if (row.next == null) { return 1; } return null; } // EXTERNAL MODULE: ./modules/table/utils/prepare_attr_matcher.js var prepare_attr_matcher = __webpack_require__(7896); // EXTERNAL MODULE: ./formats/table/attributors/cell.js var cell = __webpack_require__(1342); ;// CONCATENATED MODULE: ./modules/table/lite.js function lite_typeof(o) { "@babel/helpers - typeof"; return lite_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, lite_typeof(o); } function _defineProperty(obj, key, value) { key = lite_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function lite_slicedToArray(arr, i) { return lite_arrayWithHoles(arr) || lite_iterableToArrayLimit(arr, i) || lite_unsupportedIterableToArray(arr, i) || lite_nonIterableRest(); } function lite_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function lite_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return lite_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return lite_arrayLikeToArray(o, minLen); } function lite_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function lite_iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function lite_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function lite_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function lite_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, lite_toPropertyKey(descriptor.key), descriptor); } } function lite_createClass(Constructor, protoProps, staticProps) { if (protoProps) lite_defineProperties(Constructor.prototype, protoProps); if (staticProps) lite_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function lite_toPropertyKey(arg) { var key = lite_toPrimitive(arg, "string"); return lite_typeof(key) === "symbol" ? key : String(key); } function lite_toPrimitive(input, hint) { if (lite_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (lite_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function lite_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) lite_setPrototypeOf(subClass, superClass); } function lite_setPrototypeOf(o, p) { lite_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return lite_setPrototypeOf(o, p); } function lite_createSuper(Derived) { var hasNativeReflectConstruct = lite_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = lite_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = lite_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return lite_possibleConstructorReturn(this, result); }; } function lite_possibleConstructorReturn(self, call) { if (call && (lite_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return lite_assertThisInitialized(self); } function lite_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function lite_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function lite_getPrototypeOf(o) { lite_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return lite_getPrototypeOf(o); } var EMPTY_RESULT = [null, null, null, -1]; var TableLite = /*#__PURE__*/function (_Module) { lite_inherits(TableLite, _Module); var _super = lite_createSuper(TableLite); function TableLite() { var _this; lite_classCallCheck(this, TableLite); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); _this.tableBlots = [TableCell.blotName, TableHeaderCell.blotName]; _this.tableBlots.forEach(function (blotName) { _this.quill.editor.addImmediateFormat(blotName); }); _this.integrateClipboard(); _this.addKeyboardHandlers(); _this.listenBalanceCells(); return _this; } lite_createClass(TableLite, [{ key: "integrateClipboard", value: function integrateClipboard() { var _this2 = this; this.tableBlots.forEach(function (blotName) { return _this2.quill.clipboard.addTableBlot(blotName); }); this.quill.clipboard.addMatcher('tr', matchTable); this.quill.clipboard.addMatcher('table', (0,prepare_attr_matcher/* prepareAttributeMatcher */.F)(table/* TABLE_ATTRIBUTORS */.Zt)); this.quill.clipboard.addMatcher('td, th', (0,prepare_attr_matcher/* prepareCellAttributeMatcher */.a)(cell/* CELL_ATTRIBUTORS */.h6)); } }, { key: "addKeyboardHandlers", value: function addKeyboardHandlers() { var _this3 = this; var bindings = TableLite.keyboardBindings; Object.keys(bindings).forEach(function (name) { if (bindings[name]) { _this3.quill.keyboard.addBinding(bindings[name]); } }); } }, { key: "balanceTables", value: function balanceTables() { this.quill.scroll.descendants(TableContainer).forEach(function (table) { table.balanceCells(); }); } }, { key: "deleteColumn", value: function deleteColumn() { var _this$getTable = this.getTable(), _this$getTable2 = lite_slicedToArray(_this$getTable, 3), table = _this$getTable2[0], cell = _this$getTable2[2]; if (!(0,is_defined/* default */.Z)(cell)) { return; } table.deleteColumn(cell.cellOffset()); this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER); } }, { key: "deleteRow", value: function deleteRow() { var _this$getTable3 = this.getTable(), _this$getTable4 = lite_slicedToArray(_this$getTable3, 2), row = _this$getTable4[1]; if (!(0,is_defined/* default */.Z)(row)) { return; } row.remove(); this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER); } }, { key: "deleteTable", value: function deleteTable() { var _this$getTable5 = this.getTable(), _this$getTable6 = lite_slicedToArray(_this$getTable5, 1), table = _this$getTable6[0]; if (!(0,is_defined/* default */.Z)(table)) { return; } var offset = table.offset(); table.remove(); this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.setSelection(offset, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); } }, { key: "getTable", value: function getTable() { var range = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.quill.getSelection(); if (!(0,is_defined/* default */.Z)(range)) { return EMPTY_RESULT; } var _this$quill$getLine = this.quill.getLine(range.index), _this$quill$getLine2 = lite_slicedToArray(_this$quill$getLine, 2), cell = _this$quill$getLine2[0], offset = _this$quill$getLine2[1]; if (!(0,is_defined/* default */.Z)(cell) || this.tableBlots.indexOf(cell.statics.blotName) === -1) { return EMPTY_RESULT; } var row = cell.parent; var table = row.parent.parent; return [table, row, cell, offset]; } }, { key: "insertColumn", value: function insertColumn(offset) { var range = this.quill.getSelection(); var _this$getTable7 = this.getTable(range), _this$getTable8 = lite_slicedToArray(_this$getTable7, 3), table = _this$getTable8[0], row = _this$getTable8[1], cell = _this$getTable8[2]; if (!(0,is_defined/* default */.Z)(cell)) { return; } var column = cell.cellOffset(); table.insertColumn(column + offset); this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER); var shift = row.rowOffset(); if (offset === 0) { shift += 1; } this.quill.setSelection(range.index + shift, range.length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); } }, { key: "insertColumnLeft", value: function insertColumnLeft() { this.insertColumn(0); } }, { key: "insertColumnRight", value: function insertColumnRight() { this.insertColumn(1); } }, { key: "insertRow", value: function insertRow(offset) { var range = this.quill.getSelection(); var _this$getTable9 = this.getTable(range), _this$getTable10 = lite_slicedToArray(_this$getTable9, 3), table = _this$getTable10[0], row = _this$getTable10[1], cell = _this$getTable10[2]; if (!(0,is_defined/* default */.Z)(cell)) { return; } var index = row.rowOffset(); table.insertRow(index + offset); this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER); if (offset > 0) { this.quill.setSelection(range, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); } else { this.quill.setSelection(range.index + row.children.length, range.length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); } } }, { key: "insertRowAbove", value: function insertRowAbove() { this.insertRow(0); } }, { key: "insertRowBelow", value: function insertRowBelow() { this.insertRow(1); } }, { key: "insertHeaderRow", value: function insertHeaderRow() { var range = this.quill.getSelection(); var _this$getTable11 = this.getTable(range), _this$getTable12 = lite_slicedToArray(_this$getTable11, 3), table = _this$getTable12[0], cell = _this$getTable12[2]; if (!(0,is_defined/* default */.Z)(cell)) { return; } table.insertHeaderRow(); this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER); } }, { key: "insertTable", value: function insertTable(rows, columns) { var range = this.quill.getSelection(); if (!(0,is_defined/* default */.Z)(range)) { return; } var delta = new Array(rows).fill(0).reduce(function (memo) { var text = new Array(columns).fill('\n').join(''); return memo.insert(text, { table: tableId() }); }, new (Delta_default())().retain(range.index)); this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER); this.quill.setSelection(range.index, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); this.balanceTables(); } }, { key: "tableFormats", value: function tableFormats() { return this.tableBlots; } }, { key: "listenBalanceCells", value: function listenBalanceCells() { var _this4 = this; this.quill.on(core_quill/* default.events.SCROLL_OPTIMIZE */.ZP.events.SCROLL_OPTIMIZE, function (mutations) { mutations.some(function (mutation) { if (['TD', 'TH', 'TR', 'TBODY', 'THEAD', 'TABLE'].indexOf(mutation.target.tagName) !== -1) { _this4.quill.once(core_quill/* default.events.TEXT_CHANGE */.ZP.events.TEXT_CHANGE, function (delta, old, source) { if (source !== core_quill/* default.sources.USER */.ZP.sources.USER) return; _this4.balanceTables(); }); return true; } return false; }); }); this.quill.on(core_quill/* default.events.CONTENT_SETTED */.ZP.events.CONTENT_SETTED, function () { _this4.quill.once(core_quill/* default.events.TEXT_CHANGE */.ZP.events.TEXT_CHANGE, function () { _this4.balanceTables(); }); }); } }], [{ key: "register", value: function register() { core_quill/* default.register */.ZP.register(TableHeaderCell, true); core_quill/* default.register */.ZP.register(TableCell, true); core_quill/* default.register */.ZP.register(TableHeaderRow, true); core_quill/* default.register */.ZP.register(TableRow, true); core_quill/* default.register */.ZP.register(TableBody, true); core_quill/* default.register */.ZP.register(TableHeader, true); core_quill/* default.register */.ZP.register(TableContainer, true); [table/* TABLE_FORMATS */.li, cell/* CELL_FORMATS */.Du].forEach(function (formats) { Object.keys(formats).forEach(function (name) { core_quill/* default.register */.ZP.register(_defineProperty({}, "formats/".concat(name), formats[name]), true); }); }); } }]); return TableLite; }(core_module/* default */.Z); TableLite.keyboardBindings = { 'table backspace': { key: 'backspace', format: ['table', 'tableHeaderCell'], collapsed: true, offset: 0, handler: function handler() {} }, 'table delete': { key: 'del', format: ['table', 'tableHeaderCell'], collapsed: true, suffix: /^$/, handler: function handler() {} }, 'table enter': { key: 'enter', shiftKey: null, format: ['table'], handler: function handler(range) { var module = this.quill.getModule('table'); if (module) { var quill = this.quill; var _module$getTable = module.getTable(range), _module$getTable2 = lite_slicedToArray(_module$getTable, 4), table = _module$getTable2[0], row = _module$getTable2[1], cell = _module$getTable2[2], offset = _module$getTable2[3]; var shift = tableSide(row, cell, offset); var hasHead = table.children.length > 1 && table.children.head; if (shift == null || shift < 0 && hasHead) { return; } var index = table.offset(); if (shift < 0) { insertParagraphAbove({ quill: quill, index: index, range: range }); } else { (0,insert_pr_above/* default */.Z)({ quill: quill, index: index, table: table }); } } } }, 'table header enter': { key: 'enter', shiftKey: null, format: ['tableHeaderCell'], handler: function handler(range) { var module = this.quill.getModule('table'); if (module) { var quill = this.quill; var _module$getTable3 = module.getTable(range), _module$getTable4 = lite_slicedToArray(_module$getTable3, 4), table = _module$getTable4[0], row = _module$getTable4[1], cell = _module$getTable4[2], offset = _module$getTable4[3]; var shift = tableSide(row, cell, offset); if (shift == null) { return; } var index = table.offset(); var hasBody = table.children.length > 1 && table.children.tail; if (shift < 0 || shift > 0 && hasBody) { insertParagraphAbove({ quill: quill, index: index, range: range }); } else { (0,insert_pr_above/* default */.Z)({ quill: quill, index: index, table: table }); } } } }, 'table tab': { key: 'tab', shiftKey: null, format: ['table', 'tableHeaderCell'], handler: function handler(range, context) { var event = context.event, cell = context.line; var offset = cell.offset(this.quill.scroll); if (event.shiftKey) { this.quill.setSelection(offset - 1, core_quill/* default.sources.USER */.ZP.sources.USER); } else { this.quill.setSelection(offset + cell.length(), core_quill/* default.sources.USER */.ZP.sources.USER); } } }, 'table down': (0,make_table_arrow_handler/* default */.Z)(false, ['table', 'tableHeaderCell']), 'table up': (0,make_table_arrow_handler/* default */.Z)(true, ['table', 'tableHeaderCell']) }; function matchTable(node, delta) { var table = node.parentNode.tagName === 'TABLE' ? node.parentNode : node.parentNode.parentNode; var isHeaderRow = node.parentNode.tagName === 'THEAD' ? true : null; var rows = Array.from(table.querySelectorAll('tr')); var row = rows.indexOf(node) + 1; return (0,clipboard/* applyFormat */.HI)(delta, isHeaderRow ? 'tableHeaderCell' : 'table', row); } /* harmony default export */ const lite = (TableLite); /***/ }), /***/ 2480: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ insertParagraphBelow) /* harmony export */ }); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(281); function insertParagraphBelow(_ref) { var quill = _ref.quill, index = _ref.index, table = _ref.table; var insertIndex = index + table.length(); var delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(insertIndex).insert('\n'); quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_1__/* ["default"].sources.USER */ .ZP.sources.USER); quill.setSelection(insertIndex, _core_quill__WEBPACK_IMPORTED_MODULE_1__/* ["default"].sources.USER */ .ZP.sources.USER); } /***/ }), /***/ 9466: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ makeTableArrowHandler) /* harmony export */ }); /* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(281); function makeTableArrowHandler(up, formats) { return { key: up ? 'upArrow' : 'downArrow', collapsed: true, format: formats, handler: function handler(range, context) { var key = up ? 'prev' : 'next'; var line = context.line; var cell = line.statics.blotName.indexOf('Line') > -1 ? line.parent : line; var targetTablePart = cell.parent.parent[key]; var targetRow = cell.parent[key] || (targetTablePart === null || targetTablePart === void 0 ? void 0 : targetTablePart.children.head); if (targetRow != null) { if (targetRow.statics.blotName === 'tableRow' || targetRow.statics.blotName === 'tableHeaderRow') { var targetCell = targetRow.children.head; var cur = cell; while (cur.prev != null) { cur = cur.prev; targetCell = targetCell.next; } var index = targetCell.offset(this.quill.scroll) + Math.min(context.offset, targetCell.length() - 1); this.quill.setSelection(index, 0, _core_quill__WEBPACK_IMPORTED_MODULE_0__/* ["default"].sources.USER */ .ZP.sources.USER); } } else { var targetLine = cell.table()[key]; if (targetLine != null) { if (up) { this.quill.setSelection(targetLine.offset(this.quill.scroll) + targetLine.length() - 1, 0, _core_quill__WEBPACK_IMPORTED_MODULE_0__/* ["default"].sources.USER */ .ZP.sources.USER); } else { this.quill.setSelection(targetLine.offset(this.quill.scroll), 0, _core_quill__WEBPACK_IMPORTED_MODULE_0__/* ["default"].sources.USER */ .ZP.sources.USER); } } } return false; } }; } /***/ }), /***/ 7896: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "F": () => (/* binding */ prepareAttributeMatcher), /* harmony export */ "a": () => (/* binding */ prepareCellAttributeMatcher) /* harmony export */ }); /* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233); /* harmony import */ var _attributors_attributor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1674); /* harmony import */ var _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4569); /* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5635); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function writeToRecord(record, key, value, override) { record[key] = !override && record[key] ? record[key] : value; } function fillFormats(attributes, node, scroll, attributors, result, override) { attributes.filter(function (name) { return !!name; }).forEach(function (name) { var queryAttr = scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.ATTRIBUTE); if (queryAttr !== null) { var queryAttrValue = queryAttr.value(node); if (queryAttrValue) { writeToRecord(result, queryAttr.attrName, queryAttrValue, override); return; } } var attr = attributors[name]; if (attr != null && (attr.attrName === name || attr.keyName === name)) { var attrValue = attr.value(node) || undefined; writeToRecord(result, attr.attrName, attrValue, override); } }); return result; } function prepareAttributeMatcher(attributors) { return function (node, delta, scroll) { var attributes = _attributors_attributor__WEBPACK_IMPORTED_MODULE_1__/* ["default"].keys */ .Z.keys(node); var styles = _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__/* ["default"].keys */ .Z.keys(node); var formats = _objectSpread(_objectSpread({}, fillFormats(attributes, node, scroll, attributors, {}, true)), fillFormats(styles, node, scroll, attributors, {}, true)); if (Object.keys(formats).length > 0) { return (0,_clipboard__WEBPACK_IMPORTED_MODULE_3__/* .applyFormat */ .HI)(delta, formats); } return delta; }; } function prepareCellAttributeMatcher(attributors) { return function (node, delta, scroll) { var _node$parentNode; var attributes = _attributors_attributor__WEBPACK_IMPORTED_MODULE_1__/* ["default"].keys */ .Z.keys(node); var styles = _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__/* ["default"].keys */ .Z.keys(node); var parentTrNode = ((_node$parentNode = node.parentNode) === null || _node$parentNode === void 0 ? void 0 : _node$parentNode.tagName) === 'TR' ? node.parentNode : undefined; var formats = _objectSpread(_objectSpread({}, fillFormats(attributes, node, scroll, attributors, {}, true)), fillFormats(styles, node, scroll, attributors, {}, true)); if (parentTrNode) { var parentStyles = _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__/* ["default"].keys */ .Z.keys(parentTrNode); formats = fillFormats(parentStyles, parentTrNode, scroll, attributors, formats, false); } if (Object.keys(formats).length > 0) { return (0,_clipboard__WEBPACK_IMPORTED_MODULE_3__/* .applyFormat */ .HI)(delta, formats); } return delta; }; } /***/ }), /***/ 3859: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098); /* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2069); /* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7094); /* harmony import */ var _utils_has_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8034); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Uploader = /*#__PURE__*/function (_Module) { _inherits(Uploader, _Module); var _super = _createSuper(Uploader); function Uploader(quill, options) { var _this; _classCallCheck(this, Uploader); _this = _super.call(this, quill, options); _this.preventImageUploading(false); _this.addDragOverHandler(); _this.addDropHandler(); return _this; } _createClass(Uploader, [{ key: "addDragOverHandler", value: function addDragOverHandler() { if ((0,_utils_has_window__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)()) { var ua = window.navigator.userAgent.toLowerCase(); var isMsIe = ua.indexOf('msie ') !== -1 || ua.indexOf('trident/') !== -1 || ua.indexOf('edge/') !== -1; if (isMsIe) { this.quill.root.addEventListener('dragover', function (e) { e.preventDefault(); }); } } } }, { key: "addDropHandler", value: function addDropHandler() { var _this2 = this; this.quill.root.addEventListener('drop', function (e) { var noFiles = e.dataTransfer.files.length === 0; var onDrop = _this2.options.onDrop; if (onDrop && typeof onDrop === 'function') { onDrop(e); } if (noFiles || _this2.preventImageUpload) { return; } e.preventDefault(); var native; if (document.caretRangeFromPoint) { native = document.caretRangeFromPoint(e.clientX, e.clientY); } else if (document.caretPositionFromPoint) { var position = document.caretPositionFromPoint(e.clientX, e.clientY); native = document.createRange(); native.setStart(position.offsetNode, position.offset); native.setEnd(position.offsetNode, position.offset); } else { return; } var normalized = _this2.quill.selection.normalizeNative(native); var range = _this2.quill.selection.normalizedToRange(normalized); _this2.upload(range, e.dataTransfer.files); }); } }, { key: "preventImageUploading", value: function preventImageUploading(value) { if (typeof value !== 'undefined') { this.preventImageUpload = value; } return this.preventImageUpload; } }, { key: "upload", value: function upload(range, files, force) { var _this3 = this; if (this.preventImageUpload && !force) { return; } var uploads = []; Array.from(files).forEach(function (file) { if (file && _this3.options.mimetypes.indexOf(file.type) !== -1) { uploads.push(file); } }); if (uploads.length > 0) { this.options.handler.call(this, range, uploads, this.options.imageBlot); } } }]); return Uploader; }(_core_module__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z); Uploader.DEFAULTS = { mimetypes: ['image/png', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/webp', 'image/bmp', 'image/svg+xml', 'image/vnd.microsoft.icon'], imageBlot: 'image', handler: function handler(range, files, blotName) { var _this4 = this; var promises = files.map(function (file) { return new Promise(function (resolve) { var reader = new FileReader(); reader.onload = function (e) { resolve(e.target.result); }; reader.readAsDataURL(file); }); }); Promise.all(promises).then(function (images) { var update = images.reduce(function (delta, image) { return delta.insert(_defineProperty({}, blotName, image)); }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(range.index).delete(range.length)); _this4.quill.updateContents(update, _core_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].sources.USER */ .Z.sources.USER); _this4.quill.setSelection(range.index + images.length, _core_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"].sources.SILENT */ .Z.sources.SILENT); }); } }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Uploader); /***/ }), /***/ 2141: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ capitalize) /* harmony export */ }); function capitalize(text) { return text ? text.substring(0, 1).toUpperCase() + text.substring(1) : ''; } /***/ }), /***/ 8034: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); var hasWindow = function hasWindow() { return typeof window !== 'undefined'; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (hasWindow); /***/ }), /***/ 5874: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ isDefined) /* harmony export */ }); function isDefined(object) { return object !== null && object !== undefined; } /***/ }), /***/ 4506: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ isEqual) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function isEqual(a, b) { if (a === b) return true; if (a == null || b == null || _typeof(a) !== 'object' || _typeof(b) !== 'object') { return false; } if (Array.isArray(a)) { if (!Array.isArray(b) || a.length !== b.length) { return false; } return a.every(function (item, index) { return isEqual(item, b[index]); }); } if (Array.isArray(b)) return false; var aKeys = Object.keys(a); var bKeys = Object.keys(b); if (aKeys.length !== bKeys.length) return false; return aKeys.every(function (key) { return Object.prototype.hasOwnProperty.call(b, key) && isEqual(a[key], b[key]); }); } /***/ }), /***/ 1233: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "Attributor": () => (/* reexport */ attributor), "AttributorStore": () => (/* reexport */ store), "BlockBlot": () => (/* reexport */ block), "ClassAttributor": () => (/* reexport */ attributor_class), "ContainerBlot": () => (/* reexport */ container), "EmbedBlot": () => (/* reexport */ blot_embed), "InlineBlot": () => (/* reexport */ inline), "LeafBlot": () => (/* reexport */ leaf), "ParentBlot": () => (/* reexport */ abstract_parent), "Registry": () => (/* reexport */ registry), "Scope": () => (/* reexport */ src_scope), "ScrollBlot": () => (/* reexport */ blot_scroll), "StyleAttributor": () => (/* reexport */ style), "TextBlot": () => (/* reexport */ blot_text) }); ;// CONCATENATED MODULE: ./node_modules/parchment/src/scope.ts var Scope; (function (Scope) { Scope[Scope["TYPE"] = 3] = "TYPE"; Scope[Scope["LEVEL"] = 12] = "LEVEL"; Scope[Scope["ATTRIBUTE"] = 13] = "ATTRIBUTE"; Scope[Scope["BLOT"] = 14] = "BLOT"; Scope[Scope["INLINE"] = 7] = "INLINE"; Scope[Scope["BLOCK"] = 11] = "BLOCK"; Scope[Scope["BLOCK_BLOT"] = 10] = "BLOCK_BLOT"; Scope[Scope["INLINE_BLOT"] = 6] = "INLINE_BLOT"; Scope[Scope["BLOCK_ATTRIBUTE"] = 9] = "BLOCK_ATTRIBUTE"; Scope[Scope["INLINE_ATTRIBUTE"] = 5] = "INLINE_ATTRIBUTE"; Scope[Scope["ANY"] = 15] = "ANY"; })(Scope || (Scope = {})); /* harmony default export */ const src_scope = (Scope); ;// CONCATENATED MODULE: ./node_modules/parchment/src/collection/linked-list.ts var LinkedList = /** @class */function () { function LinkedList() { this.head = null; this.tail = null; this.length = 0; } LinkedList.prototype.append = function () { var nodes = []; for (var _i = 0; _i < arguments.length; _i++) { nodes[_i] = arguments[_i]; } this.insertBefore(nodes[0], null); if (nodes.length > 1) { var rest = nodes.slice(1); this.append.apply(this, rest); } }; LinkedList.prototype.at = function (index) { var next = this.iterator(); var cur = next(); while (cur && index > 0) { index -= 1; cur = next(); } return cur; }; LinkedList.prototype.contains = function (node) { var next = this.iterator(); var cur = next(); while (cur) { if (cur === node) { return true; } cur = next(); } return false; }; LinkedList.prototype.indexOf = function (node) { var next = this.iterator(); var cur = next(); var index = 0; while (cur) { if (cur === node) { return index; } index += 1; cur = next(); } return -1; }; LinkedList.prototype.insertBefore = function (node, refNode) { if (node == null) { return; } this.remove(node); node.next = refNode; if (refNode != null) { node.prev = refNode.prev; if (refNode.prev != null) { refNode.prev.next = node; } refNode.prev = node; if (refNode === this.head) { this.head = node; } } else if (this.tail != null) { this.tail.next = node; node.prev = this.tail; this.tail = node; } else { node.prev = null; this.head = this.tail = node; } this.length += 1; }; LinkedList.prototype.offset = function (target) { var index = 0; var cur = this.head; while (cur != null) { if (cur === target) { return index; } index += cur.length(); cur = cur.next; } return -1; }; LinkedList.prototype.remove = function (node) { if (!this.contains(node)) { return; } if (node.prev != null) { node.prev.next = node.next; } if (node.next != null) { node.next.prev = node.prev; } if (node === this.head) { this.head = node.next; } if (node === this.tail) { this.tail = node.prev; } this.length -= 1; }; LinkedList.prototype.iterator = function (curNode) { if (curNode === void 0) { curNode = this.head; } // TODO use yield when we can return function () { var ret = curNode; if (curNode != null) { curNode = curNode.next; } return ret; }; }; LinkedList.prototype.find = function (index, inclusive) { if (inclusive === void 0) { inclusive = false; } var next = this.iterator(); var cur = next(); while (cur) { var length = cur.length(); if (index < length || inclusive && index === length && (cur.next == null || cur.next.length() !== 0)) { return [cur, index]; } index -= length; cur = next(); } return [null, 0]; }; LinkedList.prototype.forEach = function (callback) { var next = this.iterator(); var cur = next(); while (cur) { callback(cur); cur = next(); } }; LinkedList.prototype.forEachAt = function (index, length, callback) { if (length <= 0) { return; } var _a = this.find(index), startNode = _a[0], offset = _a[1]; var curIndex = index - offset; var next = this.iterator(startNode); var cur = next(); while (cur && curIndex < index + length) { var curLength = cur.length(); if (index > curIndex) { callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index)); } else { callback(cur, 0, Math.min(curLength, index + length - curIndex)); } curIndex += curLength; cur = next(); } }; LinkedList.prototype.map = function (callback) { return this.reduce(function (memo, cur) { memo.push(callback(cur)); return memo; }, []); }; LinkedList.prototype.reduce = function (callback, memo) { var next = this.iterator(); var cur = next(); while (cur) { memo = callback(memo, cur); cur = next(); } return memo; }; return LinkedList; }(); /* harmony default export */ const linked_list = (LinkedList); ;// CONCATENATED MODULE: ./node_modules/parchment/src/error.ts var __extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); var ParchmentError = /** @class */function (_super) { __extends(ParchmentError, _super); function ParchmentError(message) { var _this = this; message = '[Parchment] ' + message; _this = _super.call(this, message) || this; _this.message = message; _this.name = _this.constructor.name; return _this; } return ParchmentError; }(Error); /* harmony default export */ const error = (ParchmentError); ;// CONCATENATED MODULE: ./node_modules/parchment/src/registry.ts var Registry = /** @class */function () { function Registry() { this.attributes = {}; this.classes = {}; this.tags = {}; this.types = {}; } Registry.find = function (node, bubble) { if (bubble === void 0) { bubble = false; } if (node == null) { return null; } if (this.blots.has(node)) { return this.blots.get(node) || null; } if (bubble) { var parentNode = null; try { parentNode = node.parentNode; } catch (err) { // Probably hit a permission denied error. // A known case is in Firefox, event targets can be anonymous DIVs // inside an input element. // https://bugzilla.mozilla.org/show_bug.cgi?id=208427 return null; } return this.find(parentNode, bubble); } return null; }; Registry.prototype.create = function (scroll, input, value) { var match = this.query(input); if (match == null) { throw new error("Unable to create ".concat(input, " blot")); } var blotClass = match; var node = // @ts-expect-error input instanceof Node || input.nodeType === Node.TEXT_NODE ? input : blotClass.create(value); var blot = new blotClass(scroll, node, value); Registry.blots.set(blot.domNode, blot); return blot; }; Registry.prototype.find = function (node, bubble) { if (bubble === void 0) { bubble = false; } return Registry.find(node, bubble); }; Registry.prototype.query = function (query, scope) { var _this = this; if (scope === void 0) { scope = src_scope.ANY; } var match; if (typeof query === 'string') { match = this.types[query] || this.attributes[query]; // @ts-expect-error } else if (query instanceof Text || query.nodeType === Node.TEXT_NODE) { match = this.types.text; } else if (typeof query === 'number') { if (query & src_scope.LEVEL & src_scope.BLOCK) { match = this.types.block; } else if (query & src_scope.LEVEL & src_scope.INLINE) { match = this.types.inline; } } else if (query instanceof Element) { var names = (query.getAttribute('class') || '').split(/\s+/); names.some(function (name) { match = _this.classes[name]; if (match) { return true; } return false; }); match = match || this.tags[query.tagName]; } if (match == null) { return null; } // @ts-expect-error if (scope & src_scope.LEVEL & match.scope && scope & src_scope.TYPE & match.scope) { return match; } return null; }; Registry.prototype.register = function () { var _this = this; var definitions = []; for (var _i = 0; _i < arguments.length; _i++) { definitions[_i] = arguments[_i]; } if (definitions.length > 1) { return definitions.map(function (d) { return _this.register(d); }); } var definition = definitions[0]; if (typeof definition.blotName !== 'string' && typeof definition.attrName !== 'string') { throw new error('Invalid definition'); } else if (definition.blotName === 'abstract') { throw new error('Cannot register abstract class'); } this.types[definition.blotName || definition.attrName] = definition; if (typeof definition.keyName === 'string') { this.attributes[definition.keyName] = definition; } else { if (definition.className != null) { this.classes[definition.className] = definition; } if (definition.tagName != null) { if (Array.isArray(definition.tagName)) { definition.tagName = definition.tagName.map(function (tagName) { return tagName.toUpperCase(); }); } else { definition.tagName = definition.tagName.toUpperCase(); } var tagNames = Array.isArray(definition.tagName) ? definition.tagName : [definition.tagName]; tagNames.forEach(function (tag) { if (_this.tags[tag] == null || definition.className == null) { _this.tags[tag] = definition; } }); } } return definition; }; Registry.blots = new WeakMap(); return Registry; }(); /* harmony default export */ const registry = (Registry); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/abstract/shadow.ts var ShadowBlot = /** @class */function () { function ShadowBlot(scroll, domNode) { this.scroll = scroll; this.domNode = domNode; registry.blots.set(domNode, this); this.prev = null; this.next = null; } ShadowBlot.create = function (value) { if (this.tagName == null) { throw new error('Blot definition missing tagName'); } var node; if (Array.isArray(this.tagName)) { if (typeof value === 'string') { value = value.toUpperCase(); if (parseInt(value, 10).toString() === value) { value = parseInt(value, 10); } } if (typeof value === 'number') { node = document.createElement(this.tagName[value - 1]); } else if (this.tagName.indexOf(value) > -1) { node = document.createElement(value); } else { node = document.createElement(this.tagName[0]); } } else { node = document.createElement(this.tagName); } if (this.className) { node.classList.add(this.className); } return node; }; Object.defineProperty(ShadowBlot.prototype, "statics", { // Hack for accessing inherited static methods get: function get() { return this.constructor; }, enumerable: false, configurable: true }); ShadowBlot.prototype.attach = function () { // Nothing to do }; ShadowBlot.prototype.clone = function () { var domNode = this.domNode.cloneNode(false); return this.scroll.create(domNode); }; ShadowBlot.prototype.detach = function () { if (this.parent != null) { this.parent.removeChild(this); } registry.blots["delete"](this.domNode); }; ShadowBlot.prototype.deleteAt = function (index, length) { var blot = this.isolate(index, length); blot.remove(); }; ShadowBlot.prototype.formatAt = function (index, length, name, value) { var blot = this.isolate(index, length); if (this.scroll.query(name, src_scope.BLOT) != null && value) { blot.wrap(name, value); } else if (this.scroll.query(name, src_scope.ATTRIBUTE) != null) { var parent = this.scroll.create(this.statics.scope); blot.wrap(parent); parent.format(name, value); } }; ShadowBlot.prototype.insertAt = function (index, value, def) { var blot = def == null ? this.scroll.create('text', value) : this.scroll.create(value, def); var ref = this.split(index); this.parent.insertBefore(blot, ref || undefined); }; ShadowBlot.prototype.isolate = function (index, length) { var target = this.split(index); if (target == null) { throw new Error('Attempt to isolate at end'); } target.split(length); return target; }; ShadowBlot.prototype.length = function () { return 1; }; ShadowBlot.prototype.offset = function (root) { if (root === void 0) { root = this.parent; } if (this.parent == null || this === root) { return 0; } return this.parent.children.offset(this) + this.parent.offset(root); }; ShadowBlot.prototype.optimize = function (_context) { if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) { this.wrap(this.statics.requiredContainer.blotName); } }; ShadowBlot.prototype.remove = function () { if (this.domNode.parentNode != null) { this.domNode.parentNode.removeChild(this.domNode); } this.detach(); }; ShadowBlot.prototype.replaceWith = function (name, value) { var replacement = typeof name === 'string' ? this.scroll.create(name, value) : name; if (this.parent != null) { this.parent.insertBefore(replacement, this.next || undefined); this.remove(); } return replacement; }; ShadowBlot.prototype.split = function (index, _force) { return index === 0 ? this : this.next; }; ShadowBlot.prototype.update = function (_mutations, _context) { // Nothing to do by default }; ShadowBlot.prototype.wrap = function (name, value) { var wrapper = typeof name === 'string' ? this.scroll.create(name, value) : name; if (this.parent != null) { this.parent.insertBefore(wrapper, this.next || undefined); } if (typeof wrapper.appendChild !== 'function') { throw new error("Cannot wrap ".concat(name)); } wrapper.appendChild(this); return wrapper; }; ShadowBlot.blotName = 'abstract'; return ShadowBlot; }(); /* harmony default export */ const shadow = (ShadowBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/abstract/parent.ts var parent_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); function makeAttachedBlot(node, scroll) { var blot = scroll.find(node); if (blot == null) { try { blot = scroll.create(node); } catch (e) { blot = scroll.create(src_scope.INLINE); Array.from(node.childNodes).forEach(function (child) { // @ts-expect-error blot.domNode.appendChild(child); }); if (node.parentNode) { node.parentNode.replaceChild(blot.domNode, node); } blot.attach(); } } return blot; } var ParentBlot = /** @class */function (_super) { parent_extends(ParentBlot, _super); function ParentBlot(scroll, domNode) { var _this = _super.call(this, scroll, domNode) || this; _this.uiNode = null; _this.build(); return _this; } ParentBlot.prototype.appendChild = function (other) { this.insertBefore(other); }; ParentBlot.prototype.attach = function () { _super.prototype.attach.call(this); this.children.forEach(function (child) { child.attach(); }); }; ParentBlot.prototype.attachUI = function (node) { if (this.uiNode != null) { this.uiNode.remove(); } this.uiNode = node; if (ParentBlot.uiClass) { this.uiNode.classList.add(ParentBlot.uiClass); } this.uiNode.setAttribute('contenteditable', 'false'); this.domNode.insertBefore(this.uiNode, this.domNode.firstChild); }; ParentBlot.prototype.build = function () { var _this = this; this.children = new linked_list(); // Need to be reversed for if DOM nodes already in order Array.from(this.domNode.childNodes).filter(function (node) { return node !== _this.uiNode; }).reverse().forEach(function (node) { try { var child = makeAttachedBlot(node, _this.scroll); _this.insertBefore(child, _this.children.head || undefined); } catch (err) { if (err instanceof error) { return; } else { throw err; } } }); }; ParentBlot.prototype.deleteAt = function (index, length) { if (index === 0 && length === this.length()) { return this.remove(); } this.children.forEachAt(index, length, function (child, offset, childLength) { child.deleteAt(offset, childLength); }); }; ParentBlot.prototype.descendant = function (criteria, index) { if (index === void 0) { index = 0; } var _a = this.children.find(index), child = _a[0], offset = _a[1]; if (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) { return [child, offset]; } else if (child instanceof ParentBlot) { return child.descendant(criteria, offset); } else { return [null, -1]; } }; ParentBlot.prototype.descendants = function (criteria, index, length) { if (index === void 0) { index = 0; } if (length === void 0) { length = Number.MAX_VALUE; } var descendants = []; var lengthLeft = length; this.children.forEachAt(index, length, function (child, childIndex, childLength) { if (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) { descendants.push(child); } if (child instanceof ParentBlot) { descendants = descendants.concat(child.descendants(criteria, childIndex, lengthLeft)); } lengthLeft -= childLength; }); return descendants; }; ParentBlot.prototype.detach = function () { this.children.forEach(function (child) { child.detach(); }); _super.prototype.detach.call(this); }; ParentBlot.prototype.enforceAllowedChildren = function () { var _this = this; var done = false; this.children.forEach(function (child) { if (done) { return; } var allowed = _this.statics.allowedChildren.some(function (def) { return child instanceof def; }); if (allowed) { return; } if (child.statics.scope === src_scope.BLOCK_BLOT) { if (child.next != null) { _this.splitAfter(child); } if (child.prev != null) { _this.splitAfter(child.prev); } child.parent.unwrap(); done = true; } else if (child instanceof ParentBlot) { child.unwrap(); } else { child.remove(); } }); }; ParentBlot.prototype.formatAt = function (index, length, name, value) { this.children.forEachAt(index, length, function (child, offset, childLength) { child.formatAt(offset, childLength, name, value); }); }; ParentBlot.prototype.insertAt = function (index, value, def) { var _a = this.children.find(index), child = _a[0], offset = _a[1]; if (child) { child.insertAt(offset, value, def); } else { var blot = def == null ? this.scroll.create('text', value) : this.scroll.create(value, def); this.appendChild(blot); } }; ParentBlot.prototype.insertBefore = function (childBlot, refBlot) { if (childBlot.parent != null) { childBlot.parent.children.remove(childBlot); } var refDomNode = null; this.children.insertBefore(childBlot, refBlot || null); childBlot.parent = this; if (refBlot != null) { refDomNode = refBlot.domNode; } if (this.domNode.parentNode !== childBlot.domNode || this.domNode.nextSibling !== refDomNode) { this.domNode.insertBefore(childBlot.domNode, refDomNode); } childBlot.attach(); }; ParentBlot.prototype.length = function () { return this.children.reduce(function (memo, child) { return memo + child.length(); }, 0); }; ParentBlot.prototype.moveChildren = function (targetParent, refNode) { this.children.forEach(function (child) { targetParent.insertBefore(child, refNode); }); }; ParentBlot.prototype.optimize = function (context) { _super.prototype.optimize.call(this, context); this.enforceAllowedChildren(); if (this.uiNode != null && this.uiNode !== this.domNode.firstChild) { this.domNode.insertBefore(this.uiNode, this.domNode.firstChild); } if (this.children.length === 0) { if (this.statics.defaultChild != null) { var child = this.scroll.create(this.statics.defaultChild.blotName); this.appendChild(child); // TODO double check if necessary // child.optimize(context); } else { this.remove(); } } }; ParentBlot.prototype.path = function (index, inclusive) { if (inclusive === void 0) { inclusive = false; } var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1]; var position = [[this, index]]; if (child instanceof ParentBlot) { return position.concat(child.path(offset, inclusive)); } else if (child != null) { position.push([child, offset]); } return position; }; ParentBlot.prototype.removeChild = function (child) { this.children.remove(child); }; ParentBlot.prototype.replaceWith = function (name, value) { var replacement = typeof name === 'string' ? this.scroll.create(name, value) : name; if (replacement instanceof ParentBlot) { this.moveChildren(replacement); } return _super.prototype.replaceWith.call(this, replacement); }; ParentBlot.prototype.split = function (index, force) { if (force === void 0) { force = false; } if (!force) { if (index === 0) { return this; } if (index === this.length()) { return this.next; } } var after = this.clone(); if (this.parent) { this.parent.insertBefore(after, this.next || undefined); } this.children.forEachAt(index, this.length(), function (child, offset, _length) { var split = child.split(offset, force); if (split != null) { after.appendChild(split); } }); return after; }; ParentBlot.prototype.splitAfter = function (child) { var after = this.clone(); while (child.next != null) { after.appendChild(child.next); } if (this.parent) { this.parent.insertBefore(after, this.next || undefined); } return after; }; ParentBlot.prototype.unwrap = function () { if (this.parent) { this.moveChildren(this.parent, this.next || undefined); } this.remove(); }; ParentBlot.prototype.update = function (mutations, _context) { var _this = this; var addedNodes = []; var removedNodes = []; mutations.forEach(function (mutation) { if (mutation.target === _this.domNode && mutation.type === 'childList') { addedNodes.push.apply(addedNodes, mutation.addedNodes); removedNodes.push.apply(removedNodes, mutation.removedNodes); } }); removedNodes.forEach(function (node) { // Check node has actually been removed // One exception is Chrome does not immediately remove IFRAMEs // from DOM but MutationRecord is correct in its reported removal if (node.parentNode != null && // @ts-expect-error node.tagName !== 'IFRAME' && document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) { return; } var blot = _this.scroll.find(node); if (blot == null) { return; } if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) { blot.detach(); } }); addedNodes.filter(function (node) { return node.parentNode === _this.domNode || node === _this.uiNode; }).sort(function (a, b) { if (a === b) { return 0; } if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) { return 1; } return -1; }).forEach(function (node) { var refBlot = null; if (node.nextSibling != null) { refBlot = _this.scroll.find(node.nextSibling); } var blot = makeAttachedBlot(node, _this.scroll); if (blot.next !== refBlot || blot.next == null) { if (blot.parent != null) { blot.parent.removeChild(_this); } _this.insertBefore(blot, refBlot || undefined); } }); this.enforceAllowedChildren(); }; ParentBlot.uiClass = ''; return ParentBlot; }(shadow); /* harmony default export */ const abstract_parent = (ParentBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/abstract/container.ts var container_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); var ContainerBlot = /** @class */function (_super) { container_extends(ContainerBlot, _super); function ContainerBlot() { return _super !== null && _super.apply(this, arguments) || this; } ContainerBlot.prototype.checkMerge = function () { return this.next !== null && this.next.statics.blotName === this.statics.blotName; }; ContainerBlot.prototype.deleteAt = function (index, length) { _super.prototype.deleteAt.call(this, index, length); this.enforceAllowedChildren(); }; ContainerBlot.prototype.formatAt = function (index, length, name, value) { _super.prototype.formatAt.call(this, index, length, name, value); this.enforceAllowedChildren(); }; ContainerBlot.prototype.insertAt = function (index, value, def) { _super.prototype.insertAt.call(this, index, value, def); this.enforceAllowedChildren(); }; ContainerBlot.prototype.optimize = function (context) { _super.prototype.optimize.call(this, context); if (this.children.length > 0 && this.next != null && this.checkMerge()) { this.next.moveChildren(this); this.next.remove(); } }; ContainerBlot.blotName = 'container'; ContainerBlot.scope = src_scope.BLOCK_BLOT; return ContainerBlot; }(abstract_parent); /* harmony default export */ const container = (ContainerBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/abstract/leaf.ts var leaf_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); var LeafBlot = /** @class */function (_super) { leaf_extends(LeafBlot, _super); function LeafBlot() { return _super !== null && _super.apply(this, arguments) || this; } LeafBlot.value = function (_domNode) { return true; }; LeafBlot.prototype.index = function (node, offset) { if (this.domNode === node || this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) { return Math.min(offset, 1); } return -1; }; LeafBlot.prototype.position = function (index, _inclusive) { var childNodes = Array.from(this.parent.domNode.childNodes); var offset = childNodes.indexOf(this.domNode); if (index > 0) { offset += 1; } return [this.parent.domNode, offset]; }; LeafBlot.prototype.value = function () { var _a; return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a; }; LeafBlot.scope = src_scope.INLINE_BLOT; return LeafBlot; }(shadow); /* harmony default export */ const leaf = (LeafBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/attributor/attributor.ts var Attributor = /** @class */function () { function Attributor(attrName, keyName, options) { if (options === void 0) { options = {}; } this.attrName = attrName; this.keyName = keyName; var attributeBit = src_scope.TYPE & src_scope.ATTRIBUTE; this.scope = options.scope != null ? // Ignore type bits, force attribute bit options.scope & src_scope.LEVEL | attributeBit : src_scope.ATTRIBUTE; if (options.whitelist != null) { this.whitelist = options.whitelist; } } Attributor.keys = function (node) { return Array.from(node.attributes).map(function (item) { return item.name; }); }; Attributor.prototype.add = function (node, value) { if (!this.canAdd(node, value)) { return false; } node.setAttribute(this.keyName, value); return true; }; Attributor.prototype.canAdd = function (_node, value) { if (this.whitelist == null) { return true; } if (typeof value === 'string') { return this.whitelist.indexOf(value.replace(/["']/g, '')) > -1; } else { return this.whitelist.indexOf(value) > -1; } }; Attributor.prototype.remove = function (node) { node.removeAttribute(this.keyName); }; Attributor.prototype.value = function (node) { var value = node.getAttribute(this.keyName); if (this.canAdd(node, value) && value) { return value; } return ''; }; return Attributor; }(); /* harmony default export */ const attributor = (Attributor); ;// CONCATENATED MODULE: ./node_modules/parchment/src/attributor/class.ts var class_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); function match(node, prefix) { var className = node.getAttribute('class') || ''; return className.split(/\s+/).filter(function (name) { return name.indexOf("".concat(prefix, "-")) === 0; }); } var ClassAttributor = /** @class */function (_super) { class_extends(ClassAttributor, _super); function ClassAttributor() { return _super !== null && _super.apply(this, arguments) || this; } ClassAttributor.keys = function (node) { return (node.getAttribute('class') || '').split(/\s+/).map(function (name) { return name.split('-').slice(0, -1).join('-'); }); }; ClassAttributor.prototype.add = function (node, value) { if (!this.canAdd(node, value)) { return false; } this.remove(node); node.classList.add("".concat(this.keyName, "-").concat(value)); return true; }; ClassAttributor.prototype.remove = function (node) { var matches = match(node, this.keyName); matches.forEach(function (name) { node.classList.remove(name); }); if (node.classList.length === 0) { node.removeAttribute('class'); } }; ClassAttributor.prototype.value = function (node) { var result = match(node, this.keyName)[0] || ''; var value = result.slice(this.keyName.length + 1); // +1 for hyphen return this.canAdd(node, value) ? value : ''; }; return ClassAttributor; }(attributor); /* harmony default export */ const attributor_class = (ClassAttributor); ;// CONCATENATED MODULE: ./node_modules/parchment/src/attributor/style.ts var style_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); function camelize(name) { var parts = name.split('-'); var rest = parts.slice(1).map(function (part) { return part[0].toUpperCase() + part.slice(1); }).join(''); return parts[0] + rest; } var StyleAttributor = /** @class */function (_super) { style_extends(StyleAttributor, _super); function StyleAttributor() { return _super !== null && _super.apply(this, arguments) || this; } StyleAttributor.keys = function (node) { return (node.getAttribute('style') || '').split(';').map(function (value) { var arr = value.split(':'); return arr[0].trim(); }); }; StyleAttributor.prototype.add = function (node, value) { if (!this.canAdd(node, value)) { return false; } // @ts-expect-error node.style[camelize(this.keyName)] = value; return true; }; StyleAttributor.prototype.remove = function (node) { // @ts-expect-error node.style[camelize(this.keyName)] = ''; if (!node.getAttribute('style')) { node.removeAttribute('style'); } }; StyleAttributor.prototype.value = function (node) { // @ts-expect-error var value = node.style[camelize(this.keyName)]; return this.canAdd(node, value) ? value : ''; }; return StyleAttributor; }(attributor); /* harmony default export */ const style = (StyleAttributor); ;// CONCATENATED MODULE: ./node_modules/parchment/src/attributor/store.ts var AttributorStore = /** @class */function () { function AttributorStore(domNode) { this.attributes = {}; this.domNode = domNode; this.build(); } AttributorStore.prototype.attribute = function (attribute, value) { // verb if (value) { if (attribute.add(this.domNode, value)) { if (attribute.value(this.domNode) != null) { this.attributes[attribute.attrName] = attribute; } else { delete this.attributes[attribute.attrName]; } } } else { attribute.remove(this.domNode); delete this.attributes[attribute.attrName]; } }; AttributorStore.prototype.build = function () { var _this = this; this.attributes = {}; var blot = registry.find(this.domNode); if (blot == null) { return; } var attributes = attributor.keys(this.domNode); var classes = attributor_class.keys(this.domNode); var styles = style.keys(this.domNode); attributes.concat(classes).concat(styles).forEach(function (name) { var attr = blot.scroll.query(name, src_scope.ATTRIBUTE); if (attr instanceof attributor) { _this.attributes[attr.attrName] = attr; } }); }; AttributorStore.prototype.copy = function (target) { var _this = this; Object.keys(this.attributes).forEach(function (key) { var value = _this.attributes[key].value(_this.domNode); target.format(key, value); }); }; AttributorStore.prototype.move = function (target) { var _this = this; this.copy(target); Object.keys(this.attributes).forEach(function (key) { _this.attributes[key].remove(_this.domNode); }); this.attributes = {}; }; AttributorStore.prototype.values = function () { var _this = this; return Object.keys(this.attributes).reduce(function (attributes, name) { attributes[name] = _this.attributes[name].value(_this.domNode); return attributes; }, {}); }; return AttributorStore; }(); /* harmony default export */ const store = (AttributorStore); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/inline.ts var inline_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); // Shallow object comparison function isEqual(obj1, obj2) { if (Object.keys(obj1).length !== Object.keys(obj2).length) { return false; } for (var prop in obj1) { // @ts-expect-error if (obj1[prop] !== obj2[prop]) { return false; } } return true; } var InlineBlot = /** @class */function (_super) { inline_extends(InlineBlot, _super); function InlineBlot(scroll, domNode) { var _this = _super.call(this, scroll, domNode) || this; _this.attributes = new store(_this.domNode); return _this; } InlineBlot.formats = function (domNode, scroll) { var match = scroll.query(InlineBlot.blotName); if (match != null && domNode.tagName === match.tagName) { return undefined; } else if (typeof this.tagName === 'string') { return true; } else if (Array.isArray(this.tagName)) { return domNode.tagName.toLowerCase(); } return undefined; }; InlineBlot.prototype.format = function (name, value) { var _this = this; if (name === this.statics.blotName && !value) { this.children.forEach(function (child) { if (!(child instanceof InlineBlot)) { child = child.wrap(InlineBlot.blotName, true); } _this.attributes.copy(child); }); this.unwrap(); } else { var format = this.scroll.query(name, src_scope.INLINE); if (format == null) { return; } if (format instanceof attributor) { this.attributes.attribute(format, value); } else if (value && (name !== this.statics.blotName || this.formats()[name] !== value)) { this.replaceWith(name, value); } } }; InlineBlot.prototype.formats = function () { var formats = this.attributes.values(); var format = this.statics.formats(this.domNode, this.scroll); if (format != null) { formats[this.statics.blotName] = format; } return formats; }; InlineBlot.prototype.formatAt = function (index, length, name, value) { if (this.formats()[name] != null || this.scroll.query(name, src_scope.ATTRIBUTE)) { var blot = this.isolate(index, length); blot.format(name, value); } else { _super.prototype.formatAt.call(this, index, length, name, value); } }; InlineBlot.prototype.optimize = function (context) { _super.prototype.optimize.call(this, context); var formats = this.formats(); if (Object.keys(formats).length === 0) { return this.unwrap(); // unformatted span } var next = this.next; if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) { next.moveChildren(this); next.remove(); } }; InlineBlot.prototype.replaceWith = function (name, value) { var replacement = _super.prototype.replaceWith.call(this, name, value); this.attributes.copy(replacement); return replacement; }; InlineBlot.prototype.update = function (mutations, context) { var _this = this; _super.prototype.update.call(this, mutations, context); var attributeChanged = mutations.some(function (mutation) { return mutation.target === _this.domNode && mutation.type === 'attributes'; }); if (attributeChanged) { this.attributes.build(); } }; InlineBlot.prototype.wrap = function (name, value) { var wrapper = _super.prototype.wrap.call(this, name, value); if (wrapper instanceof InlineBlot) { this.attributes.move(wrapper); } return wrapper; }; InlineBlot.allowedChildren = [InlineBlot, leaf]; InlineBlot.blotName = 'inline'; InlineBlot.scope = src_scope.INLINE_BLOT; InlineBlot.tagName = 'SPAN'; return InlineBlot; }(abstract_parent); /* harmony default export */ const inline = (InlineBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/block.ts var block_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); var BlockBlot = /** @class */function (_super) { block_extends(BlockBlot, _super); function BlockBlot(scroll, domNode) { var _this = _super.call(this, scroll, domNode) || this; _this.attributes = new store(_this.domNode); return _this; } BlockBlot.formats = function (domNode, scroll) { var match = scroll.query(BlockBlot.blotName); if (match != null && domNode.tagName === match.tagName) { return undefined; } else if (typeof this.tagName === 'string') { return true; } else if (Array.isArray(this.tagName)) { return domNode.tagName.toLowerCase(); } }; BlockBlot.prototype.format = function (name, value) { var format = this.scroll.query(name, src_scope.BLOCK); if (format == null) { return; } else if (format instanceof attributor) { this.attributes.attribute(format, value); } else if (name === this.statics.blotName && !value) { this.replaceWith(BlockBlot.blotName); } else if (value && (name !== this.statics.blotName || this.formats()[name] !== value)) { this.replaceWith(name, value); } }; BlockBlot.prototype.formats = function () { var formats = this.attributes.values(); var format = this.statics.formats(this.domNode, this.scroll); if (format != null) { formats[this.statics.blotName] = format; } return formats; }; BlockBlot.prototype.formatAt = function (index, length, name, value) { if (this.scroll.query(name, src_scope.BLOCK) != null) { this.format(name, value); } else { _super.prototype.formatAt.call(this, index, length, name, value); } }; BlockBlot.prototype.insertAt = function (index, value, def) { if (def == null || this.scroll.query(value, src_scope.INLINE) != null) { // Insert text or inline _super.prototype.insertAt.call(this, index, value, def); } else { var after = this.split(index); if (after != null) { var blot = this.scroll.create(value, def); after.parent.insertBefore(blot, after); } else { throw new Error('Attempt to insertAt after block boundaries'); } } }; BlockBlot.prototype.replaceWith = function (name, value) { var replacement = _super.prototype.replaceWith.call(this, name, value); this.attributes.copy(replacement); return replacement; }; BlockBlot.prototype.update = function (mutations, context) { var _this = this; _super.prototype.update.call(this, mutations, context); var attributeChanged = mutations.some(function (mutation) { return mutation.target === _this.domNode && mutation.type === 'attributes'; }); if (attributeChanged) { this.attributes.build(); } }; BlockBlot.blotName = 'block'; BlockBlot.scope = src_scope.BLOCK_BLOT; BlockBlot.tagName = 'P'; BlockBlot.allowedChildren = [inline, BlockBlot, leaf]; return BlockBlot; }(abstract_parent); /* harmony default export */ const block = (BlockBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/embed.ts var embed_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); var EmbedBlot = /** @class */function (_super) { embed_extends(EmbedBlot, _super); function EmbedBlot() { return _super !== null && _super.apply(this, arguments) || this; } EmbedBlot.formats = function (_domNode, _scroll) { return undefined; }; EmbedBlot.prototype.format = function (name, value) { // super.formatAt wraps, which is what we want in general, // but this allows subclasses to overwrite for formats // that just apply to particular embeds _super.prototype.formatAt.call(this, 0, this.length(), name, value); }; EmbedBlot.prototype.formatAt = function (index, length, name, value) { if (index === 0 && length === this.length()) { this.format(name, value); } else { _super.prototype.formatAt.call(this, index, length, name, value); } }; EmbedBlot.prototype.formats = function () { return this.statics.formats(this.domNode, this.scroll); }; return EmbedBlot; }(leaf); /* harmony default export */ const blot_embed = (EmbedBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/scroll.ts var scroll_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); var OBSERVER_CONFIG = { attributes: true, characterData: true, characterDataOldValue: true, childList: true, subtree: true }; var MAX_OPTIMIZE_ITERATIONS = 100; var ScrollBlot = /** @class */function (_super) { scroll_extends(ScrollBlot, _super); function ScrollBlot(registry, node) { var _this = // @ts-expect-error _super.call(this, null, node) || this; _this.registry = registry; _this.scroll = _this; _this.build(); _this.observer = new MutationObserver(function (mutations) { _this.update(mutations); }); _this.observer.observe(_this.domNode, OBSERVER_CONFIG); _this.attach(); return _this; } ScrollBlot.prototype.create = function (input, value) { return this.registry.create(this, input, value); }; ScrollBlot.prototype.find = function (node, bubble) { if (bubble === void 0) { bubble = false; } var blot = this.registry.find(node, bubble); if (!blot) { return null; } if (blot.scroll === this) { return blot; } return bubble ? this.find(blot.scroll.domNode.parentNode, true) : null; }; ScrollBlot.prototype.query = function (query, scope) { if (scope === void 0) { scope = src_scope.ANY; } return this.registry.query(query, scope); }; ScrollBlot.prototype.register = function () { var _a; var definitions = []; for (var _i = 0; _i < arguments.length; _i++) { definitions[_i] = arguments[_i]; } return (_a = this.registry).register.apply(_a, definitions); }; ScrollBlot.prototype.build = function () { if (this.scroll == null) { return; } _super.prototype.build.call(this); }; ScrollBlot.prototype.detach = function () { _super.prototype.detach.call(this); this.observer.disconnect(); }; ScrollBlot.prototype.deleteAt = function (index, length) { this.update(); if (index === 0 && length === this.length()) { this.children.forEach(function (child) { child.remove(); }); } else { _super.prototype.deleteAt.call(this, index, length); } }; ScrollBlot.prototype.formatAt = function (index, length, name, value) { this.update(); _super.prototype.formatAt.call(this, index, length, name, value); }; ScrollBlot.prototype.insertAt = function (index, value, def) { this.update(); _super.prototype.insertAt.call(this, index, value, def); }; ScrollBlot.prototype.optimize = function (mutations, context) { var _this = this; if (mutations === void 0) { mutations = []; } if (context === void 0) { context = {}; } _super.prototype.optimize.call(this, context); var mutationsMap = context.mutationsMap || new WeakMap(); // We must modify mutations directly, cannot make copy and then modify var records = Array.from(this.observer.takeRecords()); // Array.push currently seems to be implemented by a non-tail recursive function // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords()); while (records.length > 0) { mutations.push(records.pop()); } var mark = function mark(blot, markParent) { if (markParent === void 0) { markParent = true; } if (blot == null || blot === _this) { return; } if (blot.domNode.parentNode == null) { return; } if (!mutationsMap.has(blot.domNode)) { mutationsMap.set(blot.domNode, []); } if (markParent) { mark(blot.parent); } }; var optimize = function optimize(blot) { // Post-order traversal if (!mutationsMap.has(blot.domNode)) { return; } if (blot instanceof abstract_parent) { blot.children.forEach(optimize); } mutationsMap.delete(blot.domNode); blot.optimize(context); }; var remaining = mutations; for (var i = 0; remaining.length > 0; i += 1) { if (i >= MAX_OPTIMIZE_ITERATIONS) { throw new Error('[Parchment] Maximum optimize iterations reached'); } remaining.forEach(function (mutation) { var blot = _this.find(mutation.target, true); if (blot == null) { return; } if (blot.domNode === mutation.target) { if (mutation.type === 'childList') { mark(_this.find(mutation.previousSibling, false)); Array.from(mutation.addedNodes).forEach(function (node) { var child = _this.find(node, false); mark(child, false); if (child instanceof abstract_parent) { child.children.forEach(function (grandChild) { mark(grandChild, false); }); } }); } else if (mutation.type === 'attributes') { mark(blot.prev); } } mark(blot); }); this.children.forEach(optimize); remaining = Array.from(this.observer.takeRecords()); records = remaining.slice(); while (records.length > 0) { mutations.push(records.pop()); } } }; ScrollBlot.prototype.update = function (mutations, context) { var _this = this; if (context === void 0) { context = {}; } mutations = mutations || this.observer.takeRecords(); var mutationsMap = new WeakMap(); mutations.map(function (mutation) { var blot = _this.find(mutation.target, true); if (blot == null) { return null; } if (mutationsMap.has(blot.domNode)) { mutationsMap.get(blot.domNode).push(mutation); return null; } else { mutationsMap.set(blot.domNode, [mutation]); return blot; } }).forEach(function (blot) { if (blot != null && blot !== _this && mutationsMap.has(blot.domNode)) { blot.update(mutationsMap.get(blot.domNode) || [], context); } }); context.mutationsMap = mutationsMap; if (mutationsMap.has(this.domNode)) { _super.prototype.update.call(this, mutationsMap.get(this.domNode), context); } this.optimize(mutations, context); }; ScrollBlot.blotName = 'scroll'; ScrollBlot.defaultChild = block; ScrollBlot.allowedChildren = [block, container]; ScrollBlot.scope = src_scope.BLOCK_BLOT; ScrollBlot.tagName = 'DIV'; return ScrollBlot; }(abstract_parent); /* harmony default export */ const blot_scroll = (ScrollBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/text.ts var text_extends = undefined && undefined.__extends || function () { var _extendStatics = function extendStatics(d, b) { _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; } || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return _extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); _extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); var TextBlot = /** @class */function (_super) { text_extends(TextBlot, _super); function TextBlot(scroll, node) { var _this = _super.call(this, scroll, node) || this; _this.text = _this.statics.value(_this.domNode); return _this; } TextBlot.create = function (value) { return document.createTextNode(value); }; TextBlot.value = function (domNode) { return domNode.data; }; TextBlot.prototype.deleteAt = function (index, length) { this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length); }; TextBlot.prototype.index = function (node, offset) { if (this.domNode === node) { return offset; } return -1; }; TextBlot.prototype.insertAt = function (index, value, def) { if (def == null) { this.text = this.text.slice(0, index) + value + this.text.slice(index); this.domNode.data = this.text; } else { _super.prototype.insertAt.call(this, index, value, def); } }; TextBlot.prototype.length = function () { return this.text.length; }; TextBlot.prototype.optimize = function (context) { _super.prototype.optimize.call(this, context); this.text = this.statics.value(this.domNode); if (this.text.length === 0) { this.remove(); } else if (this.next instanceof TextBlot && this.next.prev === this) { this.insertAt(this.length(), this.next.value()); this.next.remove(); } }; TextBlot.prototype.position = function (index, _inclusive) { if (_inclusive === void 0) { _inclusive = false; } return [this.domNode, index]; }; TextBlot.prototype.split = function (index, force) { if (force === void 0) { force = false; } if (!force) { if (index === 0) { return this; } if (index === this.length()) { return this.next; } } var after = this.scroll.create(this.domNode.splitText(index)); this.parent.insertBefore(after, this.next || undefined); this.text = this.statics.value(this.domNode); return after; }; TextBlot.prototype.update = function (mutations, _context) { var _this = this; if (mutations.some(function (mutation) { return mutation.type === 'characterData' && mutation.target === _this.domNode; })) { this.text = this.statics.value(this.domNode); } }; TextBlot.prototype.value = function () { return this.text; }; TextBlot.blotName = 'text'; TextBlot.scope = src_scope.INLINE_BLOT; return TextBlot; }(leaf); /* harmony default export */ const blot_text = (TextBlot); ;// CONCATENATED MODULE: ./node_modules/parchment/src/parchment.ts /***/ }), /***/ 3034: /***/ (function(module, exports) { 'use strict'; var has = Object.prototype.hasOwnProperty , prefix = '~'; /** * Constructor to create a storage for our `EE` objects. * An `Events` instance is a plain object whose properties are event names. * * @constructor * @private */ function Events() {} // // We try to not inherit from `Object.prototype`. In some engines creating an // instance in this way is faster than calling `Object.create(null)` directly. // If `Object.create(null)` is not supported we prefix the event names with a // character to make sure that the built-in object properties are not // overridden or used as an attack vector. // if (Object.create) { Events.prototype = Object.create(null); // // This hack is needed because the `__proto__` property is still inherited in // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5. // if (!new Events().__proto__) prefix = false; } /** * Representation of a single event listener. * * @param {Function} fn The listener function. * @param {*} context The context to invoke the listener with. * @param {Boolean} [once=false] Specify if the listener is a one-time listener. * @constructor * @private */ function EE(fn, context, once) { this.fn = fn; this.context = context; this.once = once || false; } /** * Add a listener for a given event. * * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. * @param {(String|Symbol)} event The event name. * @param {Function} fn The listener function. * @param {*} context The context to invoke the listener with. * @param {Boolean} once Specify if the listener is a one-time listener. * @returns {EventEmitter} * @private */ function addListener(emitter, event, fn, context, once) { if (typeof fn !== 'function') { throw new TypeError('The listener must be a function'); } var listener = new EE(fn, context || emitter, once) , evt = prefix ? prefix + event : event; if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++; else if (!emitter._events[evt].fn) emitter._events[evt].push(listener); else emitter._events[evt] = [emitter._events[evt], listener]; return emitter; } /** * Clear event by name. * * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. * @param {(String|Symbol)} evt The Event name. * @private */ function clearEvent(emitter, evt) { if (--emitter._eventsCount === 0) emitter._events = new Events(); else delete emitter._events[evt]; } /** * Minimal `EventEmitter` interface that is molded against the Node.js * `EventEmitter` interface. * * @constructor * @public */ function EventEmitter() { this._events = new Events(); this._eventsCount = 0; } /** * Return an array listing the events for which the emitter has registered * listeners. * * @returns {Array} * @public */ EventEmitter.prototype.eventNames = function eventNames() { var names = [] , events , name; if (this._eventsCount === 0) return names; for (name in (events = this._events)) { if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); } if (Object.getOwnPropertySymbols) { return names.concat(Object.getOwnPropertySymbols(events)); } return names; }; /** * Return the listeners registered for a given event. * * @param {(String|Symbol)} event The event name. * @returns {Array} The registered listeners. * @public */ EventEmitter.prototype.listeners = function listeners(event) { var evt = prefix ? prefix + event : event , handlers = this._events[evt]; if (!handlers) return []; if (handlers.fn) return [handlers.fn]; for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) { ee[i] = handlers[i].fn; } return ee; }; /** * Return the number of listeners listening to a given event. * * @param {(String|Symbol)} event The event name. * @returns {Number} The number of listeners. * @public */ EventEmitter.prototype.listenerCount = function listenerCount(event) { var evt = prefix ? prefix + event : event , listeners = this._events[evt]; if (!listeners) return 0; if (listeners.fn) return 1; return listeners.length; }; /** * Calls each of the listeners registered for a given event. * * @param {(String|Symbol)} event The event name. * @returns {Boolean} `true` if the event had listeners, else `false`. * @public */ EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { var evt = prefix ? prefix + event : event; if (!this._events[evt]) return false; var listeners = this._events[evt] , len = arguments.length , args , i; if (listeners.fn) { if (listeners.once) this.removeListener(event, listeners.fn, undefined, true); switch (len) { case 1: return listeners.fn.call(listeners.context), true; case 2: return listeners.fn.call(listeners.context, a1), true; case 3: return listeners.fn.call(listeners.context, a1, a2), true; case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true; case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; } for (i = 1, args = new Array(len -1); i < len; i++) { args[i - 1] = arguments[i]; } listeners.fn.apply(listeners.context, args); } else { var length = listeners.length , j; for (i = 0; i < length; i++) { if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true); switch (len) { case 1: listeners[i].fn.call(listeners[i].context); break; case 2: listeners[i].fn.call(listeners[i].context, a1); break; case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break; case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break; default: if (!args) for (j = 1, args = new Array(len -1); j < len; j++) { args[j - 1] = arguments[j]; } listeners[i].fn.apply(listeners[i].context, args); } } } return true; }; /** * Add a listener for a given event. * * @param {(String|Symbol)} event The event name. * @param {Function} fn The listener function. * @param {*} [context=this] The context to invoke the listener with. * @returns {EventEmitter} `this`. * @public */ EventEmitter.prototype.on = function on(event, fn, context) { return addListener(this, event, fn, context, false); }; /** * Add a one-time listener for a given event. * * @param {(String|Symbol)} event The event name. * @param {Function} fn The listener function. * @param {*} [context=this] The context to invoke the listener with. * @returns {EventEmitter} `this`. * @public */ EventEmitter.prototype.once = function once(event, fn, context) { return addListener(this, event, fn, context, true); }; /** * Remove the listeners of a given event. * * @param {(String|Symbol)} event The event name. * @param {Function} fn Only remove the listeners that match this function. * @param {*} context Only remove the listeners that have this context. * @param {Boolean} once Only remove one-time listeners. * @returns {EventEmitter} `this`. * @public */ EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) { var evt = prefix ? prefix + event : event; if (!this._events[evt]) return this; if (!fn) { clearEvent(this, evt); return this; } var listeners = this._events[evt]; if (listeners.fn) { if ( listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context) ) { clearEvent(this, evt); } } else { for (var i = 0, events = [], length = listeners.length; i < length; i++) { if ( listeners[i].fn !== fn || (once && !listeners[i].once) || (context && listeners[i].context !== context) ) { events.push(listeners[i]); } } // // Reset the array, or remove it completely if we have no more listeners. // if (events.length) this._events[evt] = events.length === 1 ? events[0] : events; else clearEvent(this, evt); } return this; }; /** * Remove all listeners, or those of the specified event. * * @param {(String|Symbol)} [event] The event name. * @returns {EventEmitter} `this`. * @public */ EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { var evt; if (event) { evt = prefix ? prefix + event : event; if (this._events[evt]) clearEvent(this, evt); } else { this._events = new Events(); this._eventsCount = 0; } return this; }; // // Alias methods names because people roll like that. // EventEmitter.prototype.off = EventEmitter.prototype.removeListener; EventEmitter.prototype.addListener = EventEmitter.prototype.on; // // Expose the prefix. // EventEmitter.prefixed = prefix; // // Allow `EventEmitter` to be imported as module namespace. // EventEmitter.EventEmitter = EventEmitter; // // Expose the module. // if ('undefined' !== typeof module) { module.exports = EventEmitter; } /***/ }), /***/ 1456: /***/ ((module) => { /** * This library modifies the diff-patch-match library by Neil Fraser * by removing the patch and match functionality and certain advanced * options in the diff function. The original license is as follows: * * === * * Diff Match and Patch * * Copyright 2006 Google Inc. * http://code.google.com/p/google-diff-match-patch/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * The data structure representing a diff is an array of tuples: * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']] * which means: delete 'Hello', add 'Goodbye' and keep ' world.' */ var DIFF_DELETE = -1; var DIFF_INSERT = 1; var DIFF_EQUAL = 0; /** * Find the differences between two texts. Simplifies the problem by stripping * any common prefix or suffix off the texts before diffing. * @param {string} text1 Old string to be diffed. * @param {string} text2 New string to be diffed. * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info * @return {Array} Array of diff tuples. */ function diff_main(text1, text2, cursor_pos, _fix_unicode) { // Check for equality if (text1 === text2) { if (text1) { return [[DIFF_EQUAL, text1]]; } return []; } if (cursor_pos != null) { var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos); if (editdiff) { return editdiff; } } // Trim off common prefix (speedup). var commonlength = diff_commonPrefix(text1, text2); var commonprefix = text1.substring(0, commonlength); text1 = text1.substring(commonlength); text2 = text2.substring(commonlength); // Trim off common suffix (speedup). commonlength = diff_commonSuffix(text1, text2); var commonsuffix = text1.substring(text1.length - commonlength); text1 = text1.substring(0, text1.length - commonlength); text2 = text2.substring(0, text2.length - commonlength); // Compute the diff on the middle block. var diffs = diff_compute_(text1, text2); // Restore the prefix and suffix. if (commonprefix) { diffs.unshift([DIFF_EQUAL, commonprefix]); } if (commonsuffix) { diffs.push([DIFF_EQUAL, commonsuffix]); } diff_cleanupMerge(diffs, _fix_unicode); return diffs; }; /** * Find the differences between two texts. Assumes that the texts do not * have any common prefix or suffix. * @param {string} text1 Old string to be diffed. * @param {string} text2 New string to be diffed. * @return {Array} Array of diff tuples. */ function diff_compute_(text1, text2) { var diffs; if (!text1) { // Just add some text (speedup). return [[DIFF_INSERT, text2]]; } if (!text2) { // Just delete some text (speedup). return [[DIFF_DELETE, text1]]; } var longtext = text1.length > text2.length ? text1 : text2; var shorttext = text1.length > text2.length ? text2 : text1; var i = longtext.indexOf(shorttext); if (i !== -1) { // Shorter text is inside the longer text (speedup). diffs = [ [DIFF_INSERT, longtext.substring(0, i)], [DIFF_EQUAL, shorttext], [DIFF_INSERT, longtext.substring(i + shorttext.length)] ]; // Swap insertions for deletions if diff is reversed. if (text1.length > text2.length) { diffs[0][0] = diffs[2][0] = DIFF_DELETE; } return diffs; } if (shorttext.length === 1) { // Single character string. // After the previous speedup, the character can't be an equality. return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]]; } // Check to see if the problem can be split in two. var hm = diff_halfMatch_(text1, text2); if (hm) { // A half-match was found, sort out the return data. var text1_a = hm[0]; var text1_b = hm[1]; var text2_a = hm[2]; var text2_b = hm[3]; var mid_common = hm[4]; // Send both pairs off for separate processing. var diffs_a = diff_main(text1_a, text2_a); var diffs_b = diff_main(text1_b, text2_b); // Merge the results. return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b); } return diff_bisect_(text1, text2); }; /** * Find the 'middle snake' of a diff, split the problem in two * and return the recursively constructed diff. * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations. * @param {string} text1 Old string to be diffed. * @param {string} text2 New string to be diffed. * @return {Array} Array of diff tuples. * @private */ function diff_bisect_(text1, text2) { // Cache the text lengths to prevent multiple calls. var text1_length = text1.length; var text2_length = text2.length; var max_d = Math.ceil((text1_length + text2_length) / 2); var v_offset = max_d; var v_length = 2 * max_d; var v1 = new Array(v_length); var v2 = new Array(v_length); // Setting all elements to -1 is faster in Chrome & Firefox than mixing // integers and undefined. for (var x = 0; x < v_length; x++) { v1[x] = -1; v2[x] = -1; } v1[v_offset + 1] = 0; v2[v_offset + 1] = 0; var delta = text1_length - text2_length; // If the total number of characters is odd, then the front path will collide // with the reverse path. var front = (delta % 2 !== 0); // Offsets for start and end of k loop. // Prevents mapping of space beyond the grid. var k1start = 0; var k1end = 0; var k2start = 0; var k2end = 0; for (var d = 0; d < max_d; d++) { // Walk the front path one step. for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) { var k1_offset = v_offset + k1; var x1; if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) { x1 = v1[k1_offset + 1]; } else { x1 = v1[k1_offset - 1] + 1; } var y1 = x1 - k1; while ( x1 < text1_length && y1 < text2_length && text1.charAt(x1) === text2.charAt(y1) ) { x1++; y1++; } v1[k1_offset] = x1; if (x1 > text1_length) { // Ran off the right of the graph. k1end += 2; } else if (y1 > text2_length) { // Ran off the bottom of the graph. k1start += 2; } else if (front) { var k2_offset = v_offset + delta - k1; if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) { // Mirror x2 onto top-left coordinate system. var x2 = text1_length - v2[k2_offset]; if (x1 >= x2) { // Overlap detected. return diff_bisectSplit_(text1, text2, x1, y1); } } } } // Walk the reverse path one step. for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) { var k2_offset = v_offset + k2; var x2; if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) { x2 = v2[k2_offset + 1]; } else { x2 = v2[k2_offset - 1] + 1; } var y2 = x2 - k2; while ( x2 < text1_length && y2 < text2_length && text1.charAt(text1_length - x2 - 1) === text2.charAt(text2_length - y2 - 1) ) { x2++; y2++; } v2[k2_offset] = x2; if (x2 > text1_length) { // Ran off the left of the graph. k2end += 2; } else if (y2 > text2_length) { // Ran off the top of the graph. k2start += 2; } else if (!front) { var k1_offset = v_offset + delta - k2; if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) { var x1 = v1[k1_offset]; var y1 = v_offset + x1 - k1_offset; // Mirror x2 onto top-left coordinate system. x2 = text1_length - x2; if (x1 >= x2) { // Overlap detected. return diff_bisectSplit_(text1, text2, x1, y1); } } } } } // Diff took too long and hit the deadline or // number of diffs equals number of characters, no commonality at all. return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]]; }; /** * Given the location of the 'middle snake', split the diff in two parts * and recurse. * @param {string} text1 Old string to be diffed. * @param {string} text2 New string to be diffed. * @param {number} x Index of split point in text1. * @param {number} y Index of split point in text2. * @return {Array} Array of diff tuples. */ function diff_bisectSplit_(text1, text2, x, y) { var text1a = text1.substring(0, x); var text2a = text2.substring(0, y); var text1b = text1.substring(x); var text2b = text2.substring(y); // Compute both diffs serially. var diffs = diff_main(text1a, text2a); var diffsb = diff_main(text1b, text2b); return diffs.concat(diffsb); }; /** * Determine the common prefix of two strings. * @param {string} text1 First string. * @param {string} text2 Second string. * @return {number} The number of characters common to the start of each * string. */ function diff_commonPrefix(text1, text2) { // Quick check for common null cases. if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) { return 0; } // Binary search. // Performance analysis: http://neil.fraser.name/news/2007/10/09/ var pointermin = 0; var pointermax = Math.min(text1.length, text2.length); var pointermid = pointermax; var pointerstart = 0; while (pointermin < pointermid) { if ( text1.substring(pointerstart, pointermid) == text2.substring(pointerstart, pointermid) ) { pointermin = pointermid; pointerstart = pointermin; } else { pointermax = pointermid; } pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin); } if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) { pointermid--; } return pointermid; }; /** * Determine the common suffix of two strings. * @param {string} text1 First string. * @param {string} text2 Second string. * @return {number} The number of characters common to the end of each string. */ function diff_commonSuffix(text1, text2) { // Quick check for common null cases. if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) { return 0; } // Binary search. // Performance analysis: http://neil.fraser.name/news/2007/10/09/ var pointermin = 0; var pointermax = Math.min(text1.length, text2.length); var pointermid = pointermax; var pointerend = 0; while (pointermin < pointermid) { if ( text1.substring(text1.length - pointermid, text1.length - pointerend) == text2.substring(text2.length - pointermid, text2.length - pointerend) ) { pointermin = pointermid; pointerend = pointermin; } else { pointermax = pointermid; } pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin); } if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) { pointermid--; } return pointermid; }; /** * Do the two texts share a substring which is at least half the length of the * longer text? * This speedup can produce non-minimal diffs. * @param {string} text1 First string. * @param {string} text2 Second string. * @return {Array.} Five element Array, containing the prefix of * text1, the suffix of text1, the prefix of text2, the suffix of * text2 and the common middle. Or null if there was no match. */ function diff_halfMatch_(text1, text2) { var longtext = text1.length > text2.length ? text1 : text2; var shorttext = text1.length > text2.length ? text2 : text1; if (longtext.length < 4 || shorttext.length * 2 < longtext.length) { return null; // Pointless. } /** * Does a substring of shorttext exist within longtext such that the substring * is at least half the length of longtext? * Closure, but does not reference any external variables. * @param {string} longtext Longer string. * @param {string} shorttext Shorter string. * @param {number} i Start index of quarter length substring within longtext. * @return {Array.} Five element Array, containing the prefix of * longtext, the suffix of longtext, the prefix of shorttext, the suffix * of shorttext and the common middle. Or null if there was no match. * @private */ function diff_halfMatchI_(longtext, shorttext, i) { // Start with a 1/4 length substring at position i as a seed. var seed = longtext.substring(i, i + Math.floor(longtext.length / 4)); var j = -1; var best_common = ''; var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b; while ((j = shorttext.indexOf(seed, j + 1)) !== -1) { var prefixLength = diff_commonPrefix( longtext.substring(i), shorttext.substring(j)); var suffixLength = diff_commonSuffix( longtext.substring(0, i), shorttext.substring(0, j)); if (best_common.length < suffixLength + prefixLength) { best_common = shorttext.substring( j - suffixLength, j) + shorttext.substring(j, j + prefixLength); best_longtext_a = longtext.substring(0, i - suffixLength); best_longtext_b = longtext.substring(i + prefixLength); best_shorttext_a = shorttext.substring(0, j - suffixLength); best_shorttext_b = shorttext.substring(j + prefixLength); } } if (best_common.length * 2 >= longtext.length) { return [ best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b, best_common ]; } else { return null; } } // First check if the second quarter is the seed for a half-match. var hm1 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 4)); // Check again based on the third quarter. var hm2 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 2)); var hm; if (!hm1 && !hm2) { return null; } else if (!hm2) { hm = hm1; } else if (!hm1) { hm = hm2; } else { // Both matched. Select the longest. hm = hm1[4].length > hm2[4].length ? hm1 : hm2; } // A half-match was found, sort out the return data. var text1_a, text1_b, text2_a, text2_b; if (text1.length > text2.length) { text1_a = hm[0]; text1_b = hm[1]; text2_a = hm[2]; text2_b = hm[3]; } else { text2_a = hm[0]; text2_b = hm[1]; text1_a = hm[2]; text1_b = hm[3]; } var mid_common = hm[4]; return [text1_a, text1_b, text2_a, text2_b, mid_common]; }; /** * Reorder and merge like edit sections. Merge equalities. * Any edit section can move as long as it doesn't cross an equality. * @param {Array} diffs Array of diff tuples. * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff */ function diff_cleanupMerge(diffs, fix_unicode) { diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end. var pointer = 0; var count_delete = 0; var count_insert = 0; var text_delete = ''; var text_insert = ''; var commonlength; while (pointer < diffs.length) { if (pointer < diffs.length - 1 && !diffs[pointer][1]) { diffs.splice(pointer, 1); continue; } switch (diffs[pointer][0]) { case DIFF_INSERT: count_insert++; text_insert += diffs[pointer][1]; pointer++; break; case DIFF_DELETE: count_delete++; text_delete += diffs[pointer][1]; pointer++; break; case DIFF_EQUAL: var previous_equality = pointer - count_insert - count_delete - 1; if (fix_unicode) { // prevent splitting of unicode surrogate pairs. when fix_unicode is true, // we assume that the old and new text in the diff are complete and correct // unicode-encoded JS strings, but the tuple boundaries may fall between // surrogate pairs. we fix this by shaving off stray surrogates from the end // of the previous equality and the beginning of this equality. this may create // empty equalities or a common prefix or suffix. for example, if AB and AC are // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this // particular case, both equalities go away, we absorb any previous inequalities, // and we keep scanning for the next equality before rewriting the tuples. if (previous_equality >= 0 && ends_with_pair_start(diffs[previous_equality][1])) { var stray = diffs[previous_equality][1].slice(-1); diffs[previous_equality][1] = diffs[previous_equality][1].slice(0, -1); text_delete = stray + text_delete; text_insert = stray + text_insert; if (!diffs[previous_equality][1]) { // emptied out previous equality, so delete it and include previous delete/insert diffs.splice(previous_equality, 1); pointer--; var k = previous_equality - 1; if (diffs[k] && diffs[k][0] === DIFF_INSERT) { count_insert++; text_insert = diffs[k][1] + text_insert; k--; } if (diffs[k] && diffs[k][0] === DIFF_DELETE) { count_delete++; text_delete = diffs[k][1] + text_delete; k--; } previous_equality = k; } } if (starts_with_pair_end(diffs[pointer][1])) { var stray = diffs[pointer][1].charAt(0); diffs[pointer][1] = diffs[pointer][1].slice(1); text_delete += stray; text_insert += stray; } } if (pointer < diffs.length - 1 && !diffs[pointer][1]) { // for empty equality not at end, wait for next equality diffs.splice(pointer, 1); break; } if (text_delete.length > 0 || text_insert.length > 0) { // note that diff_commonPrefix and diff_commonSuffix are unicode-aware if (text_delete.length > 0 && text_insert.length > 0) { // Factor out any common prefixes. commonlength = diff_commonPrefix(text_insert, text_delete); if (commonlength !== 0) { if (previous_equality >= 0) { diffs[previous_equality][1] += text_insert.substring(0, commonlength); } else { diffs.splice(0, 0, [DIFF_EQUAL, text_insert.substring(0, commonlength)]); pointer++; } text_insert = text_insert.substring(commonlength); text_delete = text_delete.substring(commonlength); } // Factor out any common suffixes. commonlength = diff_commonSuffix(text_insert, text_delete); if (commonlength !== 0) { diffs[pointer][1] = text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1]; text_insert = text_insert.substring(0, text_insert.length - commonlength); text_delete = text_delete.substring(0, text_delete.length - commonlength); } } // Delete the offending records and add the merged ones. var n = count_insert + count_delete; if (text_delete.length === 0 && text_insert.length === 0) { diffs.splice(pointer - n, n); pointer = pointer - n; } else if (text_delete.length === 0) { diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]); pointer = pointer - n + 1; } else if (text_insert.length === 0) { diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]); pointer = pointer - n + 1; } else { diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete], [DIFF_INSERT, text_insert]); pointer = pointer - n + 2; } } if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) { // Merge this equality with the previous one. diffs[pointer - 1][1] += diffs[pointer][1]; diffs.splice(pointer, 1); } else { pointer++; } count_insert = 0; count_delete = 0; text_delete = ''; text_insert = ''; break; } } if (diffs[diffs.length - 1][1] === '') { diffs.pop(); // Remove the dummy entry at the end. } // Second pass: look for single edits surrounded on both sides by equalities // which can be shifted sideways to eliminate an equality. // e.g: ABAC -> ABAC var changes = false; pointer = 1; // Intentionally ignore the first and last element (don't need checking). while (pointer < diffs.length - 1) { if (diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL) { // This is a single edit surrounded by equalities. if (diffs[pointer][1].substring(diffs[pointer][1].length - diffs[pointer - 1][1].length) === diffs[pointer - 1][1]) { // Shift the edit over the previous equality. diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring(0, diffs[pointer][1].length - diffs[pointer - 1][1].length); diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1]; diffs.splice(pointer - 1, 1); changes = true; } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) == diffs[pointer + 1][1]) { // Shift the edit over the next equality. diffs[pointer - 1][1] += diffs[pointer + 1][1]; diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1]; diffs.splice(pointer + 1, 1); changes = true; } } pointer++; } // If shifts were made, the diff needs reordering and another shift sweep. if (changes) { diff_cleanupMerge(diffs, fix_unicode); } }; function is_surrogate_pair_start(charCode) { return charCode >= 0xD800 && charCode <= 0xDBFF; } function is_surrogate_pair_end(charCode) { return charCode >= 0xDC00 && charCode <= 0xDFFF; } function starts_with_pair_end(str) { return is_surrogate_pair_end(str.charCodeAt(0)); } function ends_with_pair_start(str) { return is_surrogate_pair_start(str.charCodeAt(str.length - 1)); } function remove_empty_tuples(tuples) { var ret = []; for (var i = 0; i < tuples.length; i++) { if (tuples[i][1].length > 0) { ret.push(tuples[i]); } } return ret; } function make_edit_splice(before, oldMiddle, newMiddle, after) { if (ends_with_pair_start(before) || starts_with_pair_end(after)) { return null; } return remove_empty_tuples([ [DIFF_EQUAL, before], [DIFF_DELETE, oldMiddle], [DIFF_INSERT, newMiddle], [DIFF_EQUAL, after] ]); } function find_cursor_edit_diff(oldText, newText, cursor_pos) { // note: this runs after equality check has ruled out exact equality var oldRange = typeof cursor_pos === 'number' ? { index: cursor_pos, length: 0 } : cursor_pos.oldRange; var newRange = typeof cursor_pos === 'number' ? null : cursor_pos.newRange; // take into account the old and new selection to generate the best diff // possible for a text edit. for example, a text change from "xxx" to "xx" // could be a delete or forwards-delete of any one of the x's, or the // result of selecting two of the x's and typing "x". var oldLength = oldText.length; var newLength = newText.length; if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) { // see if we have an insert or delete before or after cursor var oldCursor = oldRange.index; var oldBefore = oldText.slice(0, oldCursor); var oldAfter = oldText.slice(oldCursor); var maybeNewCursor = newRange ? newRange.index : null; editBefore: { // is this an insert or delete right before oldCursor? var newCursor = oldCursor + newLength - oldLength; if (maybeNewCursor !== null && maybeNewCursor !== newCursor) { break editBefore; } if (newCursor < 0 || newCursor > newLength) { break editBefore; } var newBefore = newText.slice(0, newCursor); var newAfter = newText.slice(newCursor); if (newAfter !== oldAfter) { break editBefore; } var prefixLength = Math.min(oldCursor, newCursor); var oldPrefix = oldBefore.slice(0, prefixLength); var newPrefix = newBefore.slice(0, prefixLength); if (oldPrefix !== newPrefix) { break editBefore; } var oldMiddle = oldBefore.slice(prefixLength); var newMiddle = newBefore.slice(prefixLength); return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter); } editAfter: { // is this an insert or delete right after oldCursor? if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) { break editAfter; } var cursor = oldCursor; var newBefore = newText.slice(0, cursor); var newAfter = newText.slice(cursor); if (newBefore !== oldBefore) { break editAfter; } var suffixLength = Math.min(oldLength - cursor, newLength - cursor); var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength); var newSuffix = newAfter.slice(newAfter.length - suffixLength); if (oldSuffix !== newSuffix) { break editAfter; } var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength); var newMiddle = newAfter.slice(0, newAfter.length - suffixLength); return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix); } } if (oldRange.length > 0 && newRange && newRange.length === 0) { replaceRange: { // see if diff could be a splice of the old selection range var oldPrefix = oldText.slice(0, oldRange.index); var oldSuffix = oldText.slice(oldRange.index + oldRange.length); var prefixLength = oldPrefix.length; var suffixLength = oldSuffix.length; if (newLength < prefixLength + suffixLength) { break replaceRange; } var newPrefix = newText.slice(0, prefixLength); var newSuffix = newText.slice(newLength - suffixLength); if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) { break replaceRange; } var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength); var newMiddle = newText.slice(prefixLength, newLength - suffixLength); return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix); } } return null; } function diff(text1, text2, cursor_pos) { // only pass fix_unicode=true at the top level, not when diff_main is // recursively invoked return diff_main(text1, text2, cursor_pos, true); } diff.INSERT = DIFF_INSERT; diff.DELETE = DIFF_DELETE; diff.EQUAL = DIFF_EQUAL; module.exports = diff; /***/ }), /***/ 8805: /***/ ((module, exports, __webpack_require__) => { /* module decorator */ module = __webpack_require__.nmd(module); /** * lodash (Custom Build) * Build: `lodash modularize exports="npm" -o ./` * Copyright jQuery Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; /** `Object#toString` result references. */ var argsTag = '[object Arguments]', arrayTag = '[object Array]', boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', funcTag = '[object Function]', genTag = '[object GeneratorFunction]', mapTag = '[object Map]', numberTag = '[object Number]', objectTag = '[object Object]', promiseTag = '[object Promise]', regexpTag = '[object RegExp]', setTag = '[object Set]', stringTag = '[object String]', symbolTag = '[object Symbol]', weakMapTag = '[object WeakMap]'; var arrayBufferTag = '[object ArrayBuffer]', dataViewTag = '[object DataView]', float32Tag = '[object Float32Array]', float64Tag = '[object Float64Array]', int8Tag = '[object Int8Array]', int16Tag = '[object Int16Array]', int32Tag = '[object Int32Array]', uint8Tag = '[object Uint8Array]', uint8ClampedTag = '[object Uint8ClampedArray]', uint16Tag = '[object Uint16Array]', uint32Tag = '[object Uint32Array]'; /** * Used to match `RegExp` * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). */ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; /** Used to match `RegExp` flags from their coerced string values. */ var reFlags = /\w*$/; /** Used to detect host constructors (Safari). */ var reIsHostCtor = /^\[object .+?Constructor\]$/; /** Used to detect unsigned integer values. */ var reIsUint = /^(?:0|[1-9]\d*)$/; /** Used to identify `toStringTag` values supported by `_.clone`. */ var cloneableTags = {}; cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false; /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); /** Detect free variable `exports`. */ var freeExports = true && exports && !exports.nodeType && exports; /** Detect free variable `module`. */ var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module; /** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports; /** * Adds the key-value `pair` to `map`. * * @private * @param {Object} map The map to modify. * @param {Array} pair The key-value pair to add. * @returns {Object} Returns `map`. */ function addMapEntry(map, pair) { // Don't return `map.set` because it's not chainable in IE 11. map.set(pair[0], pair[1]); return map; } /** * Adds `value` to `set`. * * @private * @param {Object} set The set to modify. * @param {*} value The value to add. * @returns {Object} Returns `set`. */ function addSetEntry(set, value) { // Don't return `set.add` because it's not chainable in IE 11. set.add(value); return set; } /** * A specialized version of `_.forEach` for arrays without support for * iteratee shorthands. * * @private * @param {Array} [array] The array to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Array} Returns `array`. */ function arrayEach(array, iteratee) { var index = -1, length = array ? array.length : 0; while (++index < length) { if (iteratee(array[index], index, array) === false) { break; } } return array; } /** * Appends the elements of `values` to `array`. * * @private * @param {Array} array The array to modify. * @param {Array} values The values to append. * @returns {Array} Returns `array`. */ function arrayPush(array, values) { var index = -1, length = values.length, offset = array.length; while (++index < length) { array[offset + index] = values[index]; } return array; } /** * A specialized version of `_.reduce` for arrays without support for * iteratee shorthands. * * @private * @param {Array} [array] The array to iterate over. * @param {Function} iteratee The function invoked per iteration. * @param {*} [accumulator] The initial value. * @param {boolean} [initAccum] Specify using the first element of `array` as * the initial value. * @returns {*} Returns the accumulated value. */ function arrayReduce(array, iteratee, accumulator, initAccum) { var index = -1, length = array ? array.length : 0; if (initAccum && length) { accumulator = array[++index]; } while (++index < length) { accumulator = iteratee(accumulator, array[index], index, array); } return accumulator; } /** * The base implementation of `_.times` without support for iteratee shorthands * or max array length checks. * * @private * @param {number} n The number of times to invoke `iteratee`. * @param {Function} iteratee The function invoked per iteration. * @returns {Array} Returns the array of results. */ function baseTimes(n, iteratee) { var index = -1, result = Array(n); while (++index < n) { result[index] = iteratee(index); } return result; } /** * Gets the value at `key` of `object`. * * @private * @param {Object} [object] The object to query. * @param {string} key The key of the property to get. * @returns {*} Returns the property value. */ function getValue(object, key) { return object == null ? undefined : object[key]; } /** * Checks if `value` is a host object in IE < 9. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a host object, else `false`. */ function isHostObject(value) { // Many host objects are `Object` objects that can coerce to strings // despite having improperly defined `toString` methods. var result = false; if (value != null && typeof value.toString != 'function') { try { result = !!(value + ''); } catch (e) {} } return result; } /** * Converts `map` to its key-value pairs. * * @private * @param {Object} map The map to convert. * @returns {Array} Returns the key-value pairs. */ function mapToArray(map) { var index = -1, result = Array(map.size); map.forEach(function(value, key) { result[++index] = [key, value]; }); return result; } /** * Creates a unary function that invokes `func` with its argument transformed. * * @private * @param {Function} func The function to wrap. * @param {Function} transform The argument transform. * @returns {Function} Returns the new function. */ function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } /** * Converts `set` to an array of its values. * * @private * @param {Object} set The set to convert. * @returns {Array} Returns the values. */ function setToArray(set) { var index = -1, result = Array(set.size); set.forEach(function(value) { result[++index] = value; }); return result; } /** Used for built-in method references. */ var arrayProto = Array.prototype, funcProto = Function.prototype, objectProto = Object.prototype; /** Used to detect overreaching core-js shims. */ var coreJsData = root['__core-js_shared__']; /** Used to detect methods masquerading as native. */ var maskSrcKey = (function() { var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); return uid ? ('Symbol(src)_1.' + uid) : ''; }()); /** Used to resolve the decompiled source of functions. */ var funcToString = funcProto.toString; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var objectToString = objectProto.toString; /** Used to detect if a method is native. */ var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' ); /** Built-in value references. */ var Buffer = moduleExports ? root.Buffer : undefined, Symbol = root.Symbol, Uint8Array = root.Uint8Array, getPrototype = overArg(Object.getPrototypeOf, Object), objectCreate = Object.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeGetSymbols = Object.getOwnPropertySymbols, nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, nativeKeys = overArg(Object.keys, Object); /* Built-in method references that are verified to be native. */ var DataView = getNative(root, 'DataView'), Map = getNative(root, 'Map'), Promise = getNative(root, 'Promise'), Set = getNative(root, 'Set'), WeakMap = getNative(root, 'WeakMap'), nativeCreate = getNative(Object, 'create'); /** Used to detect maps, sets, and weakmaps. */ var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap); /** Used to convert symbols to primitives and strings. */ var symbolProto = Symbol ? Symbol.prototype : undefined, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; /** * Creates a hash object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function Hash(entries) { var index = -1, length = entries ? entries.length : 0; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the hash. * * @private * @name clear * @memberOf Hash */ function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}; } /** * Removes `key` and its value from the hash. * * @private * @name delete * @memberOf Hash * @param {Object} hash The hash to modify. * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function hashDelete(key) { return this.has(key) && delete this.__data__[key]; } /** * Gets the hash value for `key`. * * @private * @name get * @memberOf Hash * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function hashGet(key) { var data = this.__data__; if (nativeCreate) { var result = data[key]; return result === HASH_UNDEFINED ? undefined : result; } return hasOwnProperty.call(data, key) ? data[key] : undefined; } /** * Checks if a hash value for `key` exists. * * @private * @name has * @memberOf Hash * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function hashHas(key) { var data = this.__data__; return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); } /** * Sets the hash `key` to `value`. * * @private * @name set * @memberOf Hash * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the hash instance. */ function hashSet(key, value) { var data = this.__data__; data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; return this; } // Add methods to `Hash`. Hash.prototype.clear = hashClear; Hash.prototype['delete'] = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; /** * Creates an list cache object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function ListCache(entries) { var index = -1, length = entries ? entries.length : 0; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the list cache. * * @private * @name clear * @memberOf ListCache */ function listCacheClear() { this.__data__ = []; } /** * Removes `key` and its value from the list cache. * * @private * @name delete * @memberOf ListCache * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function listCacheDelete(key) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { return false; } var lastIndex = data.length - 1; if (index == lastIndex) { data.pop(); } else { splice.call(data, index, 1); } return true; } /** * Gets the list cache value for `key`. * * @private * @name get * @memberOf ListCache * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function listCacheGet(key) { var data = this.__data__, index = assocIndexOf(data, key); return index < 0 ? undefined : data[index][1]; } /** * Checks if a list cache value for `key` exists. * * @private * @name has * @memberOf ListCache * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function listCacheHas(key) { return assocIndexOf(this.__data__, key) > -1; } /** * Sets the list cache `key` to `value`. * * @private * @name set * @memberOf ListCache * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the list cache instance. */ function listCacheSet(key, value) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { data.push([key, value]); } else { data[index][1] = value; } return this; } // Add methods to `ListCache`. ListCache.prototype.clear = listCacheClear; ListCache.prototype['delete'] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; /** * Creates a map cache object to store key-value pairs. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function MapCache(entries) { var index = -1, length = entries ? entries.length : 0; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the map. * * @private * @name clear * @memberOf MapCache */ function mapCacheClear() { this.__data__ = { 'hash': new Hash, 'map': new (Map || ListCache), 'string': new Hash }; } /** * Removes `key` and its value from the map. * * @private * @name delete * @memberOf MapCache * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function mapCacheDelete(key) { return getMapData(this, key)['delete'](key); } /** * Gets the map value for `key`. * * @private * @name get * @memberOf MapCache * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function mapCacheGet(key) { return getMapData(this, key).get(key); } /** * Checks if a map value for `key` exists. * * @private * @name has * @memberOf MapCache * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function mapCacheHas(key) { return getMapData(this, key).has(key); } /** * Sets the map `key` to `value`. * * @private * @name set * @memberOf MapCache * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the map cache instance. */ function mapCacheSet(key, value) { getMapData(this, key).set(key, value); return this; } // Add methods to `MapCache`. MapCache.prototype.clear = mapCacheClear; MapCache.prototype['delete'] = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; /** * Creates a stack cache object to store key-value pairs. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function Stack(entries) { this.__data__ = new ListCache(entries); } /** * Removes all key-value entries from the stack. * * @private * @name clear * @memberOf Stack */ function stackClear() { this.__data__ = new ListCache; } /** * Removes `key` and its value from the stack. * * @private * @name delete * @memberOf Stack * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function stackDelete(key) { return this.__data__['delete'](key); } /** * Gets the stack value for `key`. * * @private * @name get * @memberOf Stack * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function stackGet(key) { return this.__data__.get(key); } /** * Checks if a stack value for `key` exists. * * @private * @name has * @memberOf Stack * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function stackHas(key) { return this.__data__.has(key); } /** * Sets the stack `key` to `value`. * * @private * @name set * @memberOf Stack * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the stack cache instance. */ function stackSet(key, value) { var cache = this.__data__; if (cache instanceof ListCache) { var pairs = cache.__data__; if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { pairs.push([key, value]); return this; } cache = this.__data__ = new MapCache(pairs); } cache.set(key, value); return this; } // Add methods to `Stack`. Stack.prototype.clear = stackClear; Stack.prototype['delete'] = stackDelete; Stack.prototype.get = stackGet; Stack.prototype.has = stackHas; Stack.prototype.set = stackSet; /** * Creates an array of the enumerable property names of the array-like `value`. * * @private * @param {*} value The value to query. * @param {boolean} inherited Specify returning inherited property names. * @returns {Array} Returns the array of property names. */ function arrayLikeKeys(value, inherited) { // Safari 8.1 makes `arguments.callee` enumerable in strict mode. // Safari 9 makes `arguments.length` enumerable in strict mode. var result = (isArray(value) || isArguments(value)) ? baseTimes(value.length, String) : []; var length = result.length, skipIndexes = !!length; for (var key in value) { if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isIndex(key, length)))) { result.push(key); } } return result; } /** * Assigns `value` to `key` of `object` if the existing value is not equivalent * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) * for equality comparisons. * * @private * @param {Object} object The object to modify. * @param {string} key The key of the property to assign. * @param {*} value The value to assign. */ function assignValue(object, key, value) { var objValue = object[key]; if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || (value === undefined && !(key in object))) { object[key] = value; } } /** * Gets the index at which the `key` is found in `array` of key-value pairs. * * @private * @param {Array} array The array to inspect. * @param {*} key The key to search for. * @returns {number} Returns the index of the matched value, else `-1`. */ function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length; } } return -1; } /** * The base implementation of `_.assign` without support for multiple sources * or `customizer` functions. * * @private * @param {Object} object The destination object. * @param {Object} source The source object. * @returns {Object} Returns `object`. */ function baseAssign(object, source) { return object && copyObject(source, keys(source), object); } /** * The base implementation of `_.clone` and `_.cloneDeep` which tracks * traversed objects. * * @private * @param {*} value The value to clone. * @param {boolean} [isDeep] Specify a deep clone. * @param {boolean} [isFull] Specify a clone including symbols. * @param {Function} [customizer] The function to customize cloning. * @param {string} [key] The key of `value`. * @param {Object} [object] The parent object of `value`. * @param {Object} [stack] Tracks traversed objects and their clone counterparts. * @returns {*} Returns the cloned value. */ function baseClone(value, isDeep, isFull, customizer, key, object, stack) { var result; if (customizer) { result = object ? customizer(value, key, object, stack) : customizer(value); } if (result !== undefined) { return result; } if (!isObject(value)) { return value; } var isArr = isArray(value); if (isArr) { result = initCloneArray(value); if (!isDeep) { return copyArray(value, result); } } else { var tag = getTag(value), isFunc = tag == funcTag || tag == genTag; if (isBuffer(value)) { return cloneBuffer(value, isDeep); } if (tag == objectTag || tag == argsTag || (isFunc && !object)) { if (isHostObject(value)) { return object ? value : {}; } result = initCloneObject(isFunc ? {} : value); if (!isDeep) { return copySymbols(value, baseAssign(result, value)); } } else { if (!cloneableTags[tag]) { return object ? value : {}; } result = initCloneByTag(value, tag, baseClone, isDeep); } } // Check for circular references and return its corresponding clone. stack || (stack = new Stack); var stacked = stack.get(value); if (stacked) { return stacked; } stack.set(value, result); if (!isArr) { var props = isFull ? getAllKeys(value) : keys(value); } arrayEach(props || value, function(subValue, key) { if (props) { key = subValue; subValue = value[key]; } // Recursively populate clone (susceptible to call stack limits). assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack)); }); return result; } /** * The base implementation of `_.create` without support for assigning * properties to the created object. * * @private * @param {Object} prototype The object to inherit from. * @returns {Object} Returns the new object. */ function baseCreate(proto) { return isObject(proto) ? objectCreate(proto) : {}; } /** * The base implementation of `getAllKeys` and `getAllKeysIn` which uses * `keysFunc` and `symbolsFunc` to get the enumerable property names and * symbols of `object`. * * @private * @param {Object} object The object to query. * @param {Function} keysFunc The function to get the keys of `object`. * @param {Function} symbolsFunc The function to get the symbols of `object`. * @returns {Array} Returns the array of property names and symbols. */ function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); } /** * The base implementation of `getTag`. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ function baseGetTag(value) { return objectToString.call(value); } /** * The base implementation of `_.isNative` without bad shim checks. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a native function, * else `false`. */ function baseIsNative(value) { if (!isObject(value) || isMasked(value)) { return false; } var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } /** * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. */ function baseKeys(object) { if (!isPrototype(object)) { return nativeKeys(object); } var result = []; for (var key in Object(object)) { if (hasOwnProperty.call(object, key) && key != 'constructor') { result.push(key); } } return result; } /** * Creates a clone of `buffer`. * * @private * @param {Buffer} buffer The buffer to clone. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Buffer} Returns the cloned buffer. */ function cloneBuffer(buffer, isDeep) { if (isDeep) { return buffer.slice(); } var result = new buffer.constructor(buffer.length); buffer.copy(result); return result; } /** * Creates a clone of `arrayBuffer`. * * @private * @param {ArrayBuffer} arrayBuffer The array buffer to clone. * @returns {ArrayBuffer} Returns the cloned array buffer. */ function cloneArrayBuffer(arrayBuffer) { var result = new arrayBuffer.constructor(arrayBuffer.byteLength); new Uint8Array(result).set(new Uint8Array(arrayBuffer)); return result; } /** * Creates a clone of `dataView`. * * @private * @param {Object} dataView The data view to clone. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Object} Returns the cloned data view. */ function cloneDataView(dataView, isDeep) { var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); } /** * Creates a clone of `map`. * * @private * @param {Object} map The map to clone. * @param {Function} cloneFunc The function to clone values. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Object} Returns the cloned map. */ function cloneMap(map, isDeep, cloneFunc) { var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map); return arrayReduce(array, addMapEntry, new map.constructor); } /** * Creates a clone of `regexp`. * * @private * @param {Object} regexp The regexp to clone. * @returns {Object} Returns the cloned regexp. */ function cloneRegExp(regexp) { var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); result.lastIndex = regexp.lastIndex; return result; } /** * Creates a clone of `set`. * * @private * @param {Object} set The set to clone. * @param {Function} cloneFunc The function to clone values. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Object} Returns the cloned set. */ function cloneSet(set, isDeep, cloneFunc) { var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set); return arrayReduce(array, addSetEntry, new set.constructor); } /** * Creates a clone of the `symbol` object. * * @private * @param {Object} symbol The symbol object to clone. * @returns {Object} Returns the cloned symbol object. */ function cloneSymbol(symbol) { return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; } /** * Creates a clone of `typedArray`. * * @private * @param {Object} typedArray The typed array to clone. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Object} Returns the cloned typed array. */ function cloneTypedArray(typedArray, isDeep) { var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); } /** * Copies the values of `source` to `array`. * * @private * @param {Array} source The array to copy values from. * @param {Array} [array=[]] The array to copy values to. * @returns {Array} Returns `array`. */ function copyArray(source, array) { var index = -1, length = source.length; array || (array = Array(length)); while (++index < length) { array[index] = source[index]; } return array; } /** * Copies properties of `source` to `object`. * * @private * @param {Object} source The object to copy properties from. * @param {Array} props The property identifiers to copy. * @param {Object} [object={}] The object to copy properties to. * @param {Function} [customizer] The function to customize copied values. * @returns {Object} Returns `object`. */ function copyObject(source, props, object, customizer) { object || (object = {}); var index = -1, length = props.length; while (++index < length) { var key = props[index]; var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined; assignValue(object, key, newValue === undefined ? source[key] : newValue); } return object; } /** * Copies own symbol properties of `source` to `object`. * * @private * @param {Object} source The object to copy symbols from. * @param {Object} [object={}] The object to copy symbols to. * @returns {Object} Returns `object`. */ function copySymbols(source, object) { return copyObject(source, getSymbols(source), object); } /** * Creates an array of own enumerable property names and symbols of `object`. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names and symbols. */ function getAllKeys(object) { return baseGetAllKeys(object, keys, getSymbols); } /** * Gets the data for `map`. * * @private * @param {Object} map The map to query. * @param {string} key The reference key. * @returns {*} Returns the map data. */ function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; } /** * Gets the native function at `key` of `object`. * * @private * @param {Object} object The object to query. * @param {string} key The key of the method to get. * @returns {*} Returns the function if it's native, else `undefined`. */ function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : undefined; } /** * Creates an array of the own enumerable symbol properties of `object`. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of symbols. */ var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray; /** * Gets the `toStringTag` of `value`. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ var getTag = baseGetTag; // Fallback for data views, maps, sets, and weak maps in IE 11, // for data views in Edge < 14, and promises in Node.js. if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || (Map && getTag(new Map) != mapTag) || (Promise && getTag(Promise.resolve()) != promiseTag) || (Set && getTag(new Set) != setTag) || (WeakMap && getTag(new WeakMap) != weakMapTag)) { getTag = function(value) { var result = objectToString.call(value), Ctor = result == objectTag ? value.constructor : undefined, ctorString = Ctor ? toSource(Ctor) : undefined; if (ctorString) { switch (ctorString) { case dataViewCtorString: return dataViewTag; case mapCtorString: return mapTag; case promiseCtorString: return promiseTag; case setCtorString: return setTag; case weakMapCtorString: return weakMapTag; } } return result; }; } /** * Initializes an array clone. * * @private * @param {Array} array The array to clone. * @returns {Array} Returns the initialized clone. */ function initCloneArray(array) { var length = array.length, result = array.constructor(length); // Add properties assigned by `RegExp#exec`. if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { result.index = array.index; result.input = array.input; } return result; } /** * Initializes an object clone. * * @private * @param {Object} object The object to clone. * @returns {Object} Returns the initialized clone. */ function initCloneObject(object) { return (typeof object.constructor == 'function' && !isPrototype(object)) ? baseCreate(getPrototype(object)) : {}; } /** * Initializes an object clone based on its `toStringTag`. * * **Note:** This function only supports cloning values with tags of * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. * * @private * @param {Object} object The object to clone. * @param {string} tag The `toStringTag` of the object to clone. * @param {Function} cloneFunc The function to clone values. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Object} Returns the initialized clone. */ function initCloneByTag(object, tag, cloneFunc, isDeep) { var Ctor = object.constructor; switch (tag) { case arrayBufferTag: return cloneArrayBuffer(object); case boolTag: case dateTag: return new Ctor(+object); case dataViewTag: return cloneDataView(object, isDeep); case float32Tag: case float64Tag: case int8Tag: case int16Tag: case int32Tag: case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: return cloneTypedArray(object, isDeep); case mapTag: return cloneMap(object, isDeep, cloneFunc); case numberTag: case stringTag: return new Ctor(object); case regexpTag: return cloneRegExp(object); case setTag: return cloneSet(object, isDeep, cloneFunc); case symbolTag: return cloneSymbol(object); } } /** * Checks if `value` is a valid array-like index. * * @private * @param {*} value The value to check. * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { length = length == null ? MAX_SAFE_INTEGER : length; return !!length && (typeof value == 'number' || reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); } /** * Checks if `value` is suitable for use as unique object key. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is suitable, else `false`. */ function isKeyable(value) { var type = typeof value; return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') ? (value !== '__proto__') : (value === null); } /** * Checks if `func` has its source masked. * * @private * @param {Function} func The function to check. * @returns {boolean} Returns `true` if `func` is masked, else `false`. */ function isMasked(func) { return !!maskSrcKey && (maskSrcKey in func); } /** * Checks if `value` is likely a prototype object. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. */ function isPrototype(value) { var Ctor = value && value.constructor, proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; return value === proto; } /** * Converts `func` to its source code. * * @private * @param {Function} func The function to process. * @returns {string} Returns the source code. */ function toSource(func) { if (func != null) { try { return funcToString.call(func); } catch (e) {} try { return (func + ''); } catch (e) {} } return ''; } /** * This method is like `_.clone` except that it recursively clones `value`. * * @static * @memberOf _ * @since 1.0.0 * @category Lang * @param {*} value The value to recursively clone. * @returns {*} Returns the deep cloned value. * @see _.clone * @example * * var objects = [{ 'a': 1 }, { 'b': 2 }]; * * var deep = _.cloneDeep(objects); * console.log(deep[0] === objects[0]); * // => false */ function cloneDeep(value) { return baseClone(value, true, true); } /** * Performs a * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) * comparison between two values to determine if they are equivalent. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to compare. * @param {*} other The other value to compare. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. * @example * * var object = { 'a': 1 }; * var other = { 'a': 1 }; * * _.eq(object, object); * // => true * * _.eq(object, other); * // => false * * _.eq('a', 'a'); * // => true * * _.eq('a', Object('a')); * // => false * * _.eq(NaN, NaN); * // => true */ function eq(value, other) { return value === other || (value !== value && other !== other); } /** * Checks if `value` is likely an `arguments` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an `arguments` object, * else `false`. * @example * * _.isArguments(function() { return arguments; }()); * // => true * * _.isArguments([1, 2, 3]); * // => false */ function isArguments(value) { // Safari 8.1 makes `arguments.callee` enumerable in strict mode. return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); } /** * Checks if `value` is classified as an `Array` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an array, else `false`. * @example * * _.isArray([1, 2, 3]); * // => true * * _.isArray(document.body.children); * // => false * * _.isArray('abc'); * // => false * * _.isArray(_.noop); * // => false */ var isArray = Array.isArray; /** * Checks if `value` is array-like. A value is considered array-like if it's * not a function and has a `value.length` that's an integer greater than or * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is array-like, else `false`. * @example * * _.isArrayLike([1, 2, 3]); * // => true * * _.isArrayLike(document.body.children); * // => true * * _.isArrayLike('abc'); * // => true * * _.isArrayLike(_.noop); * // => false */ function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value); } /** * This method is like `_.isArrayLike` except that it also checks if `value` * is an object. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an array-like object, * else `false`. * @example * * _.isArrayLikeObject([1, 2, 3]); * // => true * * _.isArrayLikeObject(document.body.children); * // => true * * _.isArrayLikeObject('abc'); * // => false * * _.isArrayLikeObject(_.noop); * // => false */ function isArrayLikeObject(value) { return isObjectLike(value) && isArrayLike(value); } /** * Checks if `value` is a buffer. * * @static * @memberOf _ * @since 4.3.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. * @example * * _.isBuffer(new Buffer(2)); * // => true * * _.isBuffer(new Uint8Array(2)); * // => false */ var isBuffer = nativeIsBuffer || stubFalse; /** * Checks if `value` is classified as a `Function` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a function, else `false`. * @example * * _.isFunction(_); * // => true * * _.isFunction(/abc/); * // => false */ function isFunction(value) { // The use of `Object#toString` avoids issues with the `typeof` operator // in Safari 8-9 which returns 'object' for typed array and other constructors. var tag = isObject(value) ? objectToString.call(value) : ''; return tag == funcTag || tag == genTag; } /** * Checks if `value` is a valid array-like length. * * **Note:** This method is loosely based on * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. * @example * * _.isLength(3); * // => true * * _.isLength(Number.MIN_VALUE); * // => false * * _.isLength(Infinity); * // => false * * _.isLength('3'); * // => false */ function isLength(value) { return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(_.noop); * // => true * * _.isObject(null); * // => false */ function isObject(value) { var type = typeof value; return !!value && (type == 'object' || type == 'function'); } /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return !!value && typeof value == 'object'; } /** * Creates an array of the own enumerable property names of `object`. * * **Note:** Non-object values are coerced to objects. See the * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) * for more details. * * @static * @since 0.1.0 * @memberOf _ * @category Object * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. * @example * * function Foo() { * this.a = 1; * this.b = 2; * } * * Foo.prototype.c = 3; * * _.keys(new Foo); * // => ['a', 'b'] (iteration order is not guaranteed) * * _.keys('hi'); * // => ['0', '1'] */ function keys(object) { return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); } /** * This method returns a new empty array. * * @static * @memberOf _ * @since 4.13.0 * @category Util * @returns {Array} Returns the new empty array. * @example * * var arrays = _.times(2, _.stubArray); * * console.log(arrays); * // => [[], []] * * console.log(arrays[0] === arrays[1]); * // => false */ function stubArray() { return []; } /** * This method returns `false`. * * @static * @memberOf _ * @since 4.13.0 * @category Util * @returns {boolean} Returns `false`. * @example * * _.times(2, _.stubFalse); * // => [false, false] */ function stubFalse() { return false; } module.exports = cloneDeep; /***/ }), /***/ 2722: /***/ ((module, exports, __webpack_require__) => { /* module decorator */ module = __webpack_require__.nmd(module); /** * Lodash (Custom Build) * Build: `lodash modularize exports="npm" -o ./` * Copyright JS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; /** Used to compose bitmasks for value comparisons. */ var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; /** `Object#toString` result references. */ var argsTag = '[object Arguments]', arrayTag = '[object Array]', asyncTag = '[object AsyncFunction]', boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', funcTag = '[object Function]', genTag = '[object GeneratorFunction]', mapTag = '[object Map]', numberTag = '[object Number]', nullTag = '[object Null]', objectTag = '[object Object]', promiseTag = '[object Promise]', proxyTag = '[object Proxy]', regexpTag = '[object RegExp]', setTag = '[object Set]', stringTag = '[object String]', symbolTag = '[object Symbol]', undefinedTag = '[object Undefined]', weakMapTag = '[object WeakMap]'; var arrayBufferTag = '[object ArrayBuffer]', dataViewTag = '[object DataView]', float32Tag = '[object Float32Array]', float64Tag = '[object Float64Array]', int8Tag = '[object Int8Array]', int16Tag = '[object Int16Array]', int32Tag = '[object Int32Array]', uint8Tag = '[object Uint8Array]', uint8ClampedTag = '[object Uint8ClampedArray]', uint16Tag = '[object Uint16Array]', uint32Tag = '[object Uint32Array]'; /** * Used to match `RegExp` * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). */ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; /** Used to detect host constructors (Safari). */ var reIsHostCtor = /^\[object .+?Constructor\]$/; /** Used to detect unsigned integer values. */ var reIsUint = /^(?:0|[1-9]\d*)$/; /** Used to identify `toStringTag` values of typed arrays. */ var typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); /** Detect free variable `exports`. */ var freeExports = true && exports && !exports.nodeType && exports; /** Detect free variable `module`. */ var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module; /** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports; /** Detect free variable `process` from Node.js. */ var freeProcess = moduleExports && freeGlobal.process; /** Used to access faster Node.js helpers. */ var nodeUtil = (function() { try { return freeProcess && freeProcess.binding && freeProcess.binding('util'); } catch (e) {} }()); /* Node.js helper references. */ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; /** * A specialized version of `_.filter` for arrays without support for * iteratee shorthands. * * @private * @param {Array} [array] The array to iterate over. * @param {Function} predicate The function invoked per iteration. * @returns {Array} Returns the new filtered array. */ function arrayFilter(array, predicate) { var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; while (++index < length) { var value = array[index]; if (predicate(value, index, array)) { result[resIndex++] = value; } } return result; } /** * Appends the elements of `values` to `array`. * * @private * @param {Array} array The array to modify. * @param {Array} values The values to append. * @returns {Array} Returns `array`. */ function arrayPush(array, values) { var index = -1, length = values.length, offset = array.length; while (++index < length) { array[offset + index] = values[index]; } return array; } /** * A specialized version of `_.some` for arrays without support for iteratee * shorthands. * * @private * @param {Array} [array] The array to iterate over. * @param {Function} predicate The function invoked per iteration. * @returns {boolean} Returns `true` if any element passes the predicate check, * else `false`. */ function arraySome(array, predicate) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (predicate(array[index], index, array)) { return true; } } return false; } /** * The base implementation of `_.times` without support for iteratee shorthands * or max array length checks. * * @private * @param {number} n The number of times to invoke `iteratee`. * @param {Function} iteratee The function invoked per iteration. * @returns {Array} Returns the array of results. */ function baseTimes(n, iteratee) { var index = -1, result = Array(n); while (++index < n) { result[index] = iteratee(index); } return result; } /** * The base implementation of `_.unary` without support for storing metadata. * * @private * @param {Function} func The function to cap arguments for. * @returns {Function} Returns the new capped function. */ function baseUnary(func) { return function(value) { return func(value); }; } /** * Checks if a `cache` value for `key` exists. * * @private * @param {Object} cache The cache to query. * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function cacheHas(cache, key) { return cache.has(key); } /** * Gets the value at `key` of `object`. * * @private * @param {Object} [object] The object to query. * @param {string} key The key of the property to get. * @returns {*} Returns the property value. */ function getValue(object, key) { return object == null ? undefined : object[key]; } /** * Converts `map` to its key-value pairs. * * @private * @param {Object} map The map to convert. * @returns {Array} Returns the key-value pairs. */ function mapToArray(map) { var index = -1, result = Array(map.size); map.forEach(function(value, key) { result[++index] = [key, value]; }); return result; } /** * Creates a unary function that invokes `func` with its argument transformed. * * @private * @param {Function} func The function to wrap. * @param {Function} transform The argument transform. * @returns {Function} Returns the new function. */ function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } /** * Converts `set` to an array of its values. * * @private * @param {Object} set The set to convert. * @returns {Array} Returns the values. */ function setToArray(set) { var index = -1, result = Array(set.size); set.forEach(function(value) { result[++index] = value; }); return result; } /** Used for built-in method references. */ var arrayProto = Array.prototype, funcProto = Function.prototype, objectProto = Object.prototype; /** Used to detect overreaching core-js shims. */ var coreJsData = root['__core-js_shared__']; /** Used to resolve the decompiled source of functions. */ var funcToString = funcProto.toString; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** Used to detect methods masquerading as native. */ var maskSrcKey = (function() { var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); return uid ? ('Symbol(src)_1.' + uid) : ''; }()); /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var nativeObjectToString = objectProto.toString; /** Used to detect if a method is native. */ var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' ); /** Built-in value references. */ var Buffer = moduleExports ? root.Buffer : undefined, Symbol = root.Symbol, Uint8Array = root.Uint8Array, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice, symToStringTag = Symbol ? Symbol.toStringTag : undefined; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeGetSymbols = Object.getOwnPropertySymbols, nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, nativeKeys = overArg(Object.keys, Object); /* Built-in method references that are verified to be native. */ var DataView = getNative(root, 'DataView'), Map = getNative(root, 'Map'), Promise = getNative(root, 'Promise'), Set = getNative(root, 'Set'), WeakMap = getNative(root, 'WeakMap'), nativeCreate = getNative(Object, 'create'); /** Used to detect maps, sets, and weakmaps. */ var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap); /** Used to convert symbols to primitives and strings. */ var symbolProto = Symbol ? Symbol.prototype : undefined, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; /** * Creates a hash object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function Hash(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the hash. * * @private * @name clear * @memberOf Hash */ function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}; this.size = 0; } /** * Removes `key` and its value from the hash. * * @private * @name delete * @memberOf Hash * @param {Object} hash The hash to modify. * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function hashDelete(key) { var result = this.has(key) && delete this.__data__[key]; this.size -= result ? 1 : 0; return result; } /** * Gets the hash value for `key`. * * @private * @name get * @memberOf Hash * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function hashGet(key) { var data = this.__data__; if (nativeCreate) { var result = data[key]; return result === HASH_UNDEFINED ? undefined : result; } return hasOwnProperty.call(data, key) ? data[key] : undefined; } /** * Checks if a hash value for `key` exists. * * @private * @name has * @memberOf Hash * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function hashHas(key) { var data = this.__data__; return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); } /** * Sets the hash `key` to `value`. * * @private * @name set * @memberOf Hash * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the hash instance. */ function hashSet(key, value) { var data = this.__data__; this.size += this.has(key) ? 0 : 1; data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; return this; } // Add methods to `Hash`. Hash.prototype.clear = hashClear; Hash.prototype['delete'] = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; /** * Creates an list cache object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the list cache. * * @private * @name clear * @memberOf ListCache */ function listCacheClear() { this.__data__ = []; this.size = 0; } /** * Removes `key` and its value from the list cache. * * @private * @name delete * @memberOf ListCache * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function listCacheDelete(key) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { return false; } var lastIndex = data.length - 1; if (index == lastIndex) { data.pop(); } else { splice.call(data, index, 1); } --this.size; return true; } /** * Gets the list cache value for `key`. * * @private * @name get * @memberOf ListCache * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function listCacheGet(key) { var data = this.__data__, index = assocIndexOf(data, key); return index < 0 ? undefined : data[index][1]; } /** * Checks if a list cache value for `key` exists. * * @private * @name has * @memberOf ListCache * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function listCacheHas(key) { return assocIndexOf(this.__data__, key) > -1; } /** * Sets the list cache `key` to `value`. * * @private * @name set * @memberOf ListCache * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the list cache instance. */ function listCacheSet(key, value) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { ++this.size; data.push([key, value]); } else { data[index][1] = value; } return this; } // Add methods to `ListCache`. ListCache.prototype.clear = listCacheClear; ListCache.prototype['delete'] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; /** * Creates a map cache object to store key-value pairs. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function MapCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the map. * * @private * @name clear * @memberOf MapCache */ function mapCacheClear() { this.size = 0; this.__data__ = { 'hash': new Hash, 'map': new (Map || ListCache), 'string': new Hash }; } /** * Removes `key` and its value from the map. * * @private * @name delete * @memberOf MapCache * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function mapCacheDelete(key) { var result = getMapData(this, key)['delete'](key); this.size -= result ? 1 : 0; return result; } /** * Gets the map value for `key`. * * @private * @name get * @memberOf MapCache * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function mapCacheGet(key) { return getMapData(this, key).get(key); } /** * Checks if a map value for `key` exists. * * @private * @name has * @memberOf MapCache * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function mapCacheHas(key) { return getMapData(this, key).has(key); } /** * Sets the map `key` to `value`. * * @private * @name set * @memberOf MapCache * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the map cache instance. */ function mapCacheSet(key, value) { var data = getMapData(this, key), size = data.size; data.set(key, value); this.size += data.size == size ? 0 : 1; return this; } // Add methods to `MapCache`. MapCache.prototype.clear = mapCacheClear; MapCache.prototype['delete'] = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; /** * * Creates an array cache object to store unique values. * * @private * @constructor * @param {Array} [values] The values to cache. */ function SetCache(values) { var index = -1, length = values == null ? 0 : values.length; this.__data__ = new MapCache; while (++index < length) { this.add(values[index]); } } /** * Adds `value` to the array cache. * * @private * @name add * @memberOf SetCache * @alias push * @param {*} value The value to cache. * @returns {Object} Returns the cache instance. */ function setCacheAdd(value) { this.__data__.set(value, HASH_UNDEFINED); return this; } /** * Checks if `value` is in the array cache. * * @private * @name has * @memberOf SetCache * @param {*} value The value to search for. * @returns {number} Returns `true` if `value` is found, else `false`. */ function setCacheHas(value) { return this.__data__.has(value); } // Add methods to `SetCache`. SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; SetCache.prototype.has = setCacheHas; /** * Creates a stack cache object to store key-value pairs. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function Stack(entries) { var data = this.__data__ = new ListCache(entries); this.size = data.size; } /** * Removes all key-value entries from the stack. * * @private * @name clear * @memberOf Stack */ function stackClear() { this.__data__ = new ListCache; this.size = 0; } /** * Removes `key` and its value from the stack. * * @private * @name delete * @memberOf Stack * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function stackDelete(key) { var data = this.__data__, result = data['delete'](key); this.size = data.size; return result; } /** * Gets the stack value for `key`. * * @private * @name get * @memberOf Stack * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function stackGet(key) { return this.__data__.get(key); } /** * Checks if a stack value for `key` exists. * * @private * @name has * @memberOf Stack * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function stackHas(key) { return this.__data__.has(key); } /** * Sets the stack `key` to `value`. * * @private * @name set * @memberOf Stack * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the stack cache instance. */ function stackSet(key, value) { var data = this.__data__; if (data instanceof ListCache) { var pairs = data.__data__; if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { pairs.push([key, value]); this.size = ++data.size; return this; } data = this.__data__ = new MapCache(pairs); } data.set(key, value); this.size = data.size; return this; } // Add methods to `Stack`. Stack.prototype.clear = stackClear; Stack.prototype['delete'] = stackDelete; Stack.prototype.get = stackGet; Stack.prototype.has = stackHas; Stack.prototype.set = stackSet; /** * Creates an array of the enumerable property names of the array-like `value`. * * @private * @param {*} value The value to query. * @param {boolean} inherited Specify returning inherited property names. * @returns {Array} Returns the array of property names. */ function arrayLikeKeys(value, inherited) { var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; for (var key in value) { if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers. (isBuff && (key == 'offset' || key == 'parent')) || // PhantomJS 2 has enumerable non-index properties on typed arrays. (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || // Skip index properties. isIndex(key, length) ))) { result.push(key); } } return result; } /** * Gets the index at which the `key` is found in `array` of key-value pairs. * * @private * @param {Array} array The array to inspect. * @param {*} key The key to search for. * @returns {number} Returns the index of the matched value, else `-1`. */ function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length; } } return -1; } /** * The base implementation of `getAllKeys` and `getAllKeysIn` which uses * `keysFunc` and `symbolsFunc` to get the enumerable property names and * symbols of `object`. * * @private * @param {Object} object The object to query. * @param {Function} keysFunc The function to get the keys of `object`. * @param {Function} symbolsFunc The function to get the symbols of `object`. * @returns {Array} Returns the array of property names and symbols. */ function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); } /** * The base implementation of `getTag` without fallbacks for buggy environments. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ function baseGetTag(value) { if (value == null) { return value === undefined ? undefinedTag : nullTag; } return (symToStringTag && symToStringTag in Object(value)) ? getRawTag(value) : objectToString(value); } /** * The base implementation of `_.isArguments`. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an `arguments` object, */ function baseIsArguments(value) { return isObjectLike(value) && baseGetTag(value) == argsTag; } /** * The base implementation of `_.isEqual` which supports partial comparisons * and tracks traversed objects. * * @private * @param {*} value The value to compare. * @param {*} other The other value to compare. * @param {boolean} bitmask The bitmask flags. * 1 - Unordered comparison * 2 - Partial comparison * @param {Function} [customizer] The function to customize comparisons. * @param {Object} [stack] Tracks traversed `value` and `other` objects. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. */ function baseIsEqual(value, other, bitmask, customizer, stack) { if (value === other) { return true; } if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { return value !== value && other !== other; } return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); } /** * A specialized version of `baseIsEqual` for arrays and objects which performs * deep comparisons and tracks traversed objects enabling objects with circular * references to be compared. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Object} [stack] Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); objTag = objTag == argsTag ? objectTag : objTag; othTag = othTag == argsTag ? objectTag : othTag; var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; if (isSameTag && isBuffer(object)) { if (!isBuffer(other)) { return false; } objIsArr = true; objIsObj = false; } if (isSameTag && !objIsObj) { stack || (stack = new Stack); return (objIsArr || isTypedArray(object)) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); } if (!(bitmask & COMPARE_PARTIAL_FLAG)) { var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); if (objIsWrapped || othIsWrapped) { var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; stack || (stack = new Stack); return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); } } if (!isSameTag) { return false; } stack || (stack = new Stack); return equalObjects(object, other, bitmask, customizer, equalFunc, stack); } /** * The base implementation of `_.isNative` without bad shim checks. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a native function, * else `false`. */ function baseIsNative(value) { if (!isObject(value) || isMasked(value)) { return false; } var pattern = isFunction(value) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } /** * The base implementation of `_.isTypedArray` without Node.js optimizations. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. */ function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } /** * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. */ function baseKeys(object) { if (!isPrototype(object)) { return nativeKeys(object); } var result = []; for (var key in Object(object)) { if (hasOwnProperty.call(object, key) && key != 'constructor') { result.push(key); } } return result; } /** * A specialized version of `baseIsEqualDeep` for arrays with support for * partial deep comparisons. * * @private * @param {Array} array The array to compare. * @param {Array} other The other array to compare. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Object} stack Tracks traversed `array` and `other` objects. * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. */ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; if (arrLength != othLength && !(isPartial && othLength > arrLength)) { return false; } // Assume cyclic values are equal. var stacked = stack.get(array); if (stacked && stack.get(other)) { return stacked == other; } var index = -1, result = true, seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; stack.set(array, other); stack.set(other, array); // Ignore non-index properties. while (++index < arrLength) { var arrValue = array[index], othValue = other[index]; if (customizer) { var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); } if (compared !== undefined) { if (compared) { continue; } result = false; break; } // Recursively compare arrays (susceptible to call stack limits). if (seen) { if (!arraySome(other, function(othValue, othIndex) { if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { return seen.push(othIndex); } })) { result = false; break; } } else if (!( arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack) )) { result = false; break; } } stack['delete'](array); stack['delete'](other); return result; } /** * A specialized version of `baseIsEqualDeep` for comparing objects of * the same `toStringTag`. * * **Note:** This function only supports comparing values with tags of * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {string} tag The `toStringTag` of the objects to compare. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Object} stack Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { switch (tag) { case dataViewTag: if ((object.byteLength != other.byteLength) || (object.byteOffset != other.byteOffset)) { return false; } object = object.buffer; other = other.buffer; case arrayBufferTag: if ((object.byteLength != other.byteLength) || !equalFunc(new Uint8Array(object), new Uint8Array(other))) { return false; } return true; case boolTag: case dateTag: case numberTag: // Coerce booleans to `1` or `0` and dates to milliseconds. // Invalid dates are coerced to `NaN`. return eq(+object, +other); case errorTag: return object.name == other.name && object.message == other.message; case regexpTag: case stringTag: // Coerce regexes to strings and treat strings, primitives and objects, // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring // for more details. return object == (other + ''); case mapTag: var convert = mapToArray; case setTag: var isPartial = bitmask & COMPARE_PARTIAL_FLAG; convert || (convert = setToArray); if (object.size != other.size && !isPartial) { return false; } // Assume cyclic values are equal. var stacked = stack.get(object); if (stacked) { return stacked == other; } bitmask |= COMPARE_UNORDERED_FLAG; // Recursively compare objects (susceptible to call stack limits). stack.set(object, other); var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); stack['delete'](object); return result; case symbolTag: if (symbolValueOf) { return symbolValueOf.call(object) == symbolValueOf.call(other); } } return false; } /** * A specialized version of `baseIsEqualDeep` for objects with support for * partial deep comparisons. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Object} stack Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; if (objLength != othLength && !isPartial) { return false; } var index = objLength; while (index--) { var key = objProps[index]; if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { return false; } } // Assume cyclic values are equal. var stacked = stack.get(object); if (stacked && stack.get(other)) { return stacked == other; } var result = true; stack.set(object, other); stack.set(other, object); var skipCtor = isPartial; while (++index < objLength) { key = objProps[index]; var objValue = object[key], othValue = other[key]; if (customizer) { var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); } // Recursively compare objects (susceptible to call stack limits). if (!(compared === undefined ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) : compared )) { result = false; break; } skipCtor || (skipCtor = key == 'constructor'); } if (result && !skipCtor) { var objCtor = object.constructor, othCtor = other.constructor; // Non `Object` object instances with different constructors are not equal. if (objCtor != othCtor && ('constructor' in object && 'constructor' in other) && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { result = false; } } stack['delete'](object); stack['delete'](other); return result; } /** * Creates an array of own enumerable property names and symbols of `object`. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names and symbols. */ function getAllKeys(object) { return baseGetAllKeys(object, keys, getSymbols); } /** * Gets the data for `map`. * * @private * @param {Object} map The map to query. * @param {string} key The reference key. * @returns {*} Returns the map data. */ function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; } /** * Gets the native function at `key` of `object`. * * @private * @param {Object} object The object to query. * @param {string} key The key of the method to get. * @returns {*} Returns the function if it's native, else `undefined`. */ function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : undefined; } /** * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. * * @private * @param {*} value The value to query. * @returns {string} Returns the raw `toStringTag`. */ function getRawTag(value) { var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; try { value[symToStringTag] = undefined; var unmasked = true; } catch (e) {} var result = nativeObjectToString.call(value); if (unmasked) { if (isOwn) { value[symToStringTag] = tag; } else { delete value[symToStringTag]; } } return result; } /** * Creates an array of the own enumerable symbols of `object`. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of symbols. */ var getSymbols = !nativeGetSymbols ? stubArray : function(object) { if (object == null) { return []; } object = Object(object); return arrayFilter(nativeGetSymbols(object), function(symbol) { return propertyIsEnumerable.call(object, symbol); }); }; /** * Gets the `toStringTag` of `value`. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ var getTag = baseGetTag; // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || (Map && getTag(new Map) != mapTag) || (Promise && getTag(Promise.resolve()) != promiseTag) || (Set && getTag(new Set) != setTag) || (WeakMap && getTag(new WeakMap) != weakMapTag)) { getTag = function(value) { var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : undefined, ctorString = Ctor ? toSource(Ctor) : ''; if (ctorString) { switch (ctorString) { case dataViewCtorString: return dataViewTag; case mapCtorString: return mapTag; case promiseCtorString: return promiseTag; case setCtorString: return setTag; case weakMapCtorString: return weakMapTag; } } return result; }; } /** * Checks if `value` is a valid array-like index. * * @private * @param {*} value The value to check. * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { length = length == null ? MAX_SAFE_INTEGER : length; return !!length && (typeof value == 'number' || reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); } /** * Checks if `value` is suitable for use as unique object key. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is suitable, else `false`. */ function isKeyable(value) { var type = typeof value; return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') ? (value !== '__proto__') : (value === null); } /** * Checks if `func` has its source masked. * * @private * @param {Function} func The function to check. * @returns {boolean} Returns `true` if `func` is masked, else `false`. */ function isMasked(func) { return !!maskSrcKey && (maskSrcKey in func); } /** * Checks if `value` is likely a prototype object. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. */ function isPrototype(value) { var Ctor = value && value.constructor, proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; return value === proto; } /** * Converts `value` to a string using `Object.prototype.toString`. * * @private * @param {*} value The value to convert. * @returns {string} Returns the converted string. */ function objectToString(value) { return nativeObjectToString.call(value); } /** * Converts `func` to its source code. * * @private * @param {Function} func The function to convert. * @returns {string} Returns the source code. */ function toSource(func) { if (func != null) { try { return funcToString.call(func); } catch (e) {} try { return (func + ''); } catch (e) {} } return ''; } /** * Performs a * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) * comparison between two values to determine if they are equivalent. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to compare. * @param {*} other The other value to compare. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. * @example * * var object = { 'a': 1 }; * var other = { 'a': 1 }; * * _.eq(object, object); * // => true * * _.eq(object, other); * // => false * * _.eq('a', 'a'); * // => true * * _.eq('a', Object('a')); * // => false * * _.eq(NaN, NaN); * // => true */ function eq(value, other) { return value === other || (value !== value && other !== other); } /** * Checks if `value` is likely an `arguments` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an `arguments` object, * else `false`. * @example * * _.isArguments(function() { return arguments; }()); * // => true * * _.isArguments([1, 2, 3]); * // => false */ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); }; /** * Checks if `value` is classified as an `Array` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an array, else `false`. * @example * * _.isArray([1, 2, 3]); * // => true * * _.isArray(document.body.children); * // => false * * _.isArray('abc'); * // => false * * _.isArray(_.noop); * // => false */ var isArray = Array.isArray; /** * Checks if `value` is array-like. A value is considered array-like if it's * not a function and has a `value.length` that's an integer greater than or * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is array-like, else `false`. * @example * * _.isArrayLike([1, 2, 3]); * // => true * * _.isArrayLike(document.body.children); * // => true * * _.isArrayLike('abc'); * // => true * * _.isArrayLike(_.noop); * // => false */ function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value); } /** * Checks if `value` is a buffer. * * @static * @memberOf _ * @since 4.3.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. * @example * * _.isBuffer(new Buffer(2)); * // => true * * _.isBuffer(new Uint8Array(2)); * // => false */ var isBuffer = nativeIsBuffer || stubFalse; /** * Performs a deep comparison between two values to determine if they are * equivalent. * * **Note:** This method supports comparing arrays, array buffers, booleans, * date objects, error objects, maps, numbers, `Object` objects, regexes, * sets, strings, symbols, and typed arrays. `Object` objects are compared * by their own, not inherited, enumerable properties. Functions and DOM * nodes are compared by strict equality, i.e. `===`. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to compare. * @param {*} other The other value to compare. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. * @example * * var object = { 'a': 1 }; * var other = { 'a': 1 }; * * _.isEqual(object, other); * // => true * * object === other; * // => false */ function isEqual(value, other) { return baseIsEqual(value, other); } /** * Checks if `value` is classified as a `Function` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a function, else `false`. * @example * * _.isFunction(_); * // => true * * _.isFunction(/abc/); * // => false */ function isFunction(value) { if (!isObject(value)) { return false; } // The use of `Object#toString` avoids issues with the `typeof` operator // in Safari 9 which returns 'object' for typed arrays and other constructors. var tag = baseGetTag(value); return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; } /** * Checks if `value` is a valid array-like length. * * **Note:** This method is loosely based on * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. * @example * * _.isLength(3); * // => true * * _.isLength(Number.MIN_VALUE); * // => false * * _.isLength(Infinity); * // => false * * _.isLength('3'); * // => false */ function isLength(value) { return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(_.noop); * // => true * * _.isObject(null); * // => false */ function isObject(value) { var type = typeof value; return value != null && (type == 'object' || type == 'function'); } /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return value != null && typeof value == 'object'; } /** * Checks if `value` is classified as a typed array. * * @static * @memberOf _ * @since 3.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. * @example * * _.isTypedArray(new Uint8Array); * // => true * * _.isTypedArray([]); * // => false */ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; /** * Creates an array of the own enumerable property names of `object`. * * **Note:** Non-object values are coerced to objects. See the * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) * for more details. * * @static * @since 0.1.0 * @memberOf _ * @category Object * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. * @example * * function Foo() { * this.a = 1; * this.b = 2; * } * * Foo.prototype.c = 3; * * _.keys(new Foo); * // => ['a', 'b'] (iteration order is not guaranteed) * * _.keys('hi'); * // => ['0', '1'] */ function keys(object) { return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); } /** * This method returns a new empty array. * * @static * @memberOf _ * @since 4.13.0 * @category Util * @returns {Array} Returns the new empty array. * @example * * var arrays = _.times(2, _.stubArray); * * console.log(arrays); * // => [[], []] * * console.log(arrays[0] === arrays[1]); * // => false */ function stubArray() { return []; } /** * This method returns `false`. * * @static * @memberOf _ * @since 4.13.0 * @category Util * @returns {boolean} Returns `false`. * @example * * _.times(2, _.stubFalse); * // => [false, false] */ function stubFalse() { return false; } module.exports = isEqual; /***/ }), /***/ 732: /***/ ((module, exports, __webpack_require__) => { /* module decorator */ module = __webpack_require__.nmd(module); /** * Lodash (Custom Build) * Build: `lodash modularize exports="npm" -o ./` * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; /** Used to detect hot functions by number of calls within a span of milliseconds. */ var HOT_COUNT = 800, HOT_SPAN = 16; /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; /** `Object#toString` result references. */ var argsTag = '[object Arguments]', arrayTag = '[object Array]', asyncTag = '[object AsyncFunction]', boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', funcTag = '[object Function]', genTag = '[object GeneratorFunction]', mapTag = '[object Map]', numberTag = '[object Number]', nullTag = '[object Null]', objectTag = '[object Object]', proxyTag = '[object Proxy]', regexpTag = '[object RegExp]', setTag = '[object Set]', stringTag = '[object String]', undefinedTag = '[object Undefined]', weakMapTag = '[object WeakMap]'; var arrayBufferTag = '[object ArrayBuffer]', dataViewTag = '[object DataView]', float32Tag = '[object Float32Array]', float64Tag = '[object Float64Array]', int8Tag = '[object Int8Array]', int16Tag = '[object Int16Array]', int32Tag = '[object Int32Array]', uint8Tag = '[object Uint8Array]', uint8ClampedTag = '[object Uint8ClampedArray]', uint16Tag = '[object Uint16Array]', uint32Tag = '[object Uint32Array]'; /** * Used to match `RegExp` * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). */ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; /** Used to detect host constructors (Safari). */ var reIsHostCtor = /^\[object .+?Constructor\]$/; /** Used to detect unsigned integer values. */ var reIsUint = /^(?:0|[1-9]\d*)$/; /** Used to identify `toStringTag` values of typed arrays. */ var typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); /** Detect free variable `exports`. */ var freeExports = true && exports && !exports.nodeType && exports; /** Detect free variable `module`. */ var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module; /** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports; /** Detect free variable `process` from Node.js. */ var freeProcess = moduleExports && freeGlobal.process; /** Used to access faster Node.js helpers. */ var nodeUtil = (function() { try { // Use `util.types` for Node.js 10+. var types = freeModule && freeModule.require && freeModule.require('util').types; if (types) { return types; } // Legacy `process.binding('util')` for Node.js < 10. return freeProcess && freeProcess.binding && freeProcess.binding('util'); } catch (e) {} }()); /* Node.js helper references. */ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; /** * A faster alternative to `Function#apply`, this function invokes `func` * with the `this` binding of `thisArg` and the arguments of `args`. * * @private * @param {Function} func The function to invoke. * @param {*} thisArg The `this` binding of `func`. * @param {Array} args The arguments to invoke `func` with. * @returns {*} Returns the result of `func`. */ function apply(func, thisArg, args) { switch (args.length) { case 0: return func.call(thisArg); case 1: return func.call(thisArg, args[0]); case 2: return func.call(thisArg, args[0], args[1]); case 3: return func.call(thisArg, args[0], args[1], args[2]); } return func.apply(thisArg, args); } /** * The base implementation of `_.times` without support for iteratee shorthands * or max array length checks. * * @private * @param {number} n The number of times to invoke `iteratee`. * @param {Function} iteratee The function invoked per iteration. * @returns {Array} Returns the array of results. */ function baseTimes(n, iteratee) { var index = -1, result = Array(n); while (++index < n) { result[index] = iteratee(index); } return result; } /** * The base implementation of `_.unary` without support for storing metadata. * * @private * @param {Function} func The function to cap arguments for. * @returns {Function} Returns the new capped function. */ function baseUnary(func) { return function(value) { return func(value); }; } /** * Gets the value at `key` of `object`. * * @private * @param {Object} [object] The object to query. * @param {string} key The key of the property to get. * @returns {*} Returns the property value. */ function getValue(object, key) { return object == null ? undefined : object[key]; } /** * Creates a unary function that invokes `func` with its argument transformed. * * @private * @param {Function} func The function to wrap. * @param {Function} transform The argument transform. * @returns {Function} Returns the new function. */ function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } /** Used for built-in method references. */ var arrayProto = Array.prototype, funcProto = Function.prototype, objectProto = Object.prototype; /** Used to detect overreaching core-js shims. */ var coreJsData = root['__core-js_shared__']; /** Used to resolve the decompiled source of functions. */ var funcToString = funcProto.toString; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** Used to detect methods masquerading as native. */ var maskSrcKey = (function() { var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); return uid ? ('Symbol(src)_1.' + uid) : ''; }()); /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var nativeObjectToString = objectProto.toString; /** Used to infer the `Object` constructor. */ var objectCtorString = funcToString.call(Object); /** Used to detect if a method is native. */ var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' ); /** Built-in value references. */ var Buffer = moduleExports ? root.Buffer : undefined, Symbol = root.Symbol, Uint8Array = root.Uint8Array, allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, getPrototype = overArg(Object.getPrototypeOf, Object), objectCreate = Object.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice, symToStringTag = Symbol ? Symbol.toStringTag : undefined; var defineProperty = (function() { try { var func = getNative(Object, 'defineProperty'); func({}, '', {}); return func; } catch (e) {} }()); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, nativeMax = Math.max, nativeNow = Date.now; /* Built-in method references that are verified to be native. */ var Map = getNative(root, 'Map'), nativeCreate = getNative(Object, 'create'); /** * The base implementation of `_.create` without support for assigning * properties to the created object. * * @private * @param {Object} proto The object to inherit from. * @returns {Object} Returns the new object. */ var baseCreate = (function() { function object() {} return function(proto) { if (!isObject(proto)) { return {}; } if (objectCreate) { return objectCreate(proto); } object.prototype = proto; var result = new object; object.prototype = undefined; return result; }; }()); /** * Creates a hash object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function Hash(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the hash. * * @private * @name clear * @memberOf Hash */ function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}; this.size = 0; } /** * Removes `key` and its value from the hash. * * @private * @name delete * @memberOf Hash * @param {Object} hash The hash to modify. * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function hashDelete(key) { var result = this.has(key) && delete this.__data__[key]; this.size -= result ? 1 : 0; return result; } /** * Gets the hash value for `key`. * * @private * @name get * @memberOf Hash * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function hashGet(key) { var data = this.__data__; if (nativeCreate) { var result = data[key]; return result === HASH_UNDEFINED ? undefined : result; } return hasOwnProperty.call(data, key) ? data[key] : undefined; } /** * Checks if a hash value for `key` exists. * * @private * @name has * @memberOf Hash * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function hashHas(key) { var data = this.__data__; return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); } /** * Sets the hash `key` to `value`. * * @private * @name set * @memberOf Hash * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the hash instance. */ function hashSet(key, value) { var data = this.__data__; this.size += this.has(key) ? 0 : 1; data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; return this; } // Add methods to `Hash`. Hash.prototype.clear = hashClear; Hash.prototype['delete'] = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; /** * Creates an list cache object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the list cache. * * @private * @name clear * @memberOf ListCache */ function listCacheClear() { this.__data__ = []; this.size = 0; } /** * Removes `key` and its value from the list cache. * * @private * @name delete * @memberOf ListCache * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function listCacheDelete(key) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { return false; } var lastIndex = data.length - 1; if (index == lastIndex) { data.pop(); } else { splice.call(data, index, 1); } --this.size; return true; } /** * Gets the list cache value for `key`. * * @private * @name get * @memberOf ListCache * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function listCacheGet(key) { var data = this.__data__, index = assocIndexOf(data, key); return index < 0 ? undefined : data[index][1]; } /** * Checks if a list cache value for `key` exists. * * @private * @name has * @memberOf ListCache * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function listCacheHas(key) { return assocIndexOf(this.__data__, key) > -1; } /** * Sets the list cache `key` to `value`. * * @private * @name set * @memberOf ListCache * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the list cache instance. */ function listCacheSet(key, value) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { ++this.size; data.push([key, value]); } else { data[index][1] = value; } return this; } // Add methods to `ListCache`. ListCache.prototype.clear = listCacheClear; ListCache.prototype['delete'] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; /** * Creates a map cache object to store key-value pairs. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function MapCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } /** * Removes all key-value entries from the map. * * @private * @name clear * @memberOf MapCache */ function mapCacheClear() { this.size = 0; this.__data__ = { 'hash': new Hash, 'map': new (Map || ListCache), 'string': new Hash }; } /** * Removes `key` and its value from the map. * * @private * @name delete * @memberOf MapCache * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function mapCacheDelete(key) { var result = getMapData(this, key)['delete'](key); this.size -= result ? 1 : 0; return result; } /** * Gets the map value for `key`. * * @private * @name get * @memberOf MapCache * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function mapCacheGet(key) { return getMapData(this, key).get(key); } /** * Checks if a map value for `key` exists. * * @private * @name has * @memberOf MapCache * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function mapCacheHas(key) { return getMapData(this, key).has(key); } /** * Sets the map `key` to `value`. * * @private * @name set * @memberOf MapCache * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the map cache instance. */ function mapCacheSet(key, value) { var data = getMapData(this, key), size = data.size; data.set(key, value); this.size += data.size == size ? 0 : 1; return this; } // Add methods to `MapCache`. MapCache.prototype.clear = mapCacheClear; MapCache.prototype['delete'] = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; /** * Creates a stack cache object to store key-value pairs. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function Stack(entries) { var data = this.__data__ = new ListCache(entries); this.size = data.size; } /** * Removes all key-value entries from the stack. * * @private * @name clear * @memberOf Stack */ function stackClear() { this.__data__ = new ListCache; this.size = 0; } /** * Removes `key` and its value from the stack. * * @private * @name delete * @memberOf Stack * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function stackDelete(key) { var data = this.__data__, result = data['delete'](key); this.size = data.size; return result; } /** * Gets the stack value for `key`. * * @private * @name get * @memberOf Stack * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function stackGet(key) { return this.__data__.get(key); } /** * Checks if a stack value for `key` exists. * * @private * @name has * @memberOf Stack * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function stackHas(key) { return this.__data__.has(key); } /** * Sets the stack `key` to `value`. * * @private * @name set * @memberOf Stack * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the stack cache instance. */ function stackSet(key, value) { var data = this.__data__; if (data instanceof ListCache) { var pairs = data.__data__; if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { pairs.push([key, value]); this.size = ++data.size; return this; } data = this.__data__ = new MapCache(pairs); } data.set(key, value); this.size = data.size; return this; } // Add methods to `Stack`. Stack.prototype.clear = stackClear; Stack.prototype['delete'] = stackDelete; Stack.prototype.get = stackGet; Stack.prototype.has = stackHas; Stack.prototype.set = stackSet; /** * Creates an array of the enumerable property names of the array-like `value`. * * @private * @param {*} value The value to query. * @param {boolean} inherited Specify returning inherited property names. * @returns {Array} Returns the array of property names. */ function arrayLikeKeys(value, inherited) { var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; for (var key in value) { if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers. (isBuff && (key == 'offset' || key == 'parent')) || // PhantomJS 2 has enumerable non-index properties on typed arrays. (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || // Skip index properties. isIndex(key, length) ))) { result.push(key); } } return result; } /** * This function is like `assignValue` except that it doesn't assign * `undefined` values. * * @private * @param {Object} object The object to modify. * @param {string} key The key of the property to assign. * @param {*} value The value to assign. */ function assignMergeValue(object, key, value) { if ((value !== undefined && !eq(object[key], value)) || (value === undefined && !(key in object))) { baseAssignValue(object, key, value); } } /** * Assigns `value` to `key` of `object` if the existing value is not equivalent * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) * for equality comparisons. * * @private * @param {Object} object The object to modify. * @param {string} key The key of the property to assign. * @param {*} value The value to assign. */ function assignValue(object, key, value) { var objValue = object[key]; if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || (value === undefined && !(key in object))) { baseAssignValue(object, key, value); } } /** * Gets the index at which the `key` is found in `array` of key-value pairs. * * @private * @param {Array} array The array to inspect. * @param {*} key The key to search for. * @returns {number} Returns the index of the matched value, else `-1`. */ function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length; } } return -1; } /** * The base implementation of `assignValue` and `assignMergeValue` without * value checks. * * @private * @param {Object} object The object to modify. * @param {string} key The key of the property to assign. * @param {*} value The value to assign. */ function baseAssignValue(object, key, value) { if (key == '__proto__' && defineProperty) { defineProperty(object, key, { 'configurable': true, 'enumerable': true, 'value': value, 'writable': true }); } else { object[key] = value; } } /** * The base implementation of `baseForOwn` which iterates over `object` * properties returned by `keysFunc` and invokes `iteratee` for each property. * Iteratee functions may exit iteration early by explicitly returning `false`. * * @private * @param {Object} object The object to iterate over. * @param {Function} iteratee The function invoked per iteration. * @param {Function} keysFunc The function to get the keys of `object`. * @returns {Object} Returns `object`. */ var baseFor = createBaseFor(); /** * The base implementation of `getTag` without fallbacks for buggy environments. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ function baseGetTag(value) { if (value == null) { return value === undefined ? undefinedTag : nullTag; } return (symToStringTag && symToStringTag in Object(value)) ? getRawTag(value) : objectToString(value); } /** * The base implementation of `_.isArguments`. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an `arguments` object, */ function baseIsArguments(value) { return isObjectLike(value) && baseGetTag(value) == argsTag; } /** * The base implementation of `_.isNative` without bad shim checks. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a native function, * else `false`. */ function baseIsNative(value) { if (!isObject(value) || isMasked(value)) { return false; } var pattern = isFunction(value) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } /** * The base implementation of `_.isTypedArray` without Node.js optimizations. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. */ function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } /** * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. */ function baseKeysIn(object) { if (!isObject(object)) { return nativeKeysIn(object); } var isProto = isPrototype(object), result = []; for (var key in object) { if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { result.push(key); } } return result; } /** * The base implementation of `_.merge` without support for multiple sources. * * @private * @param {Object} object The destination object. * @param {Object} source The source object. * @param {number} srcIndex The index of `source`. * @param {Function} [customizer] The function to customize merged values. * @param {Object} [stack] Tracks traversed source values and their merged * counterparts. */ function baseMerge(object, source, srcIndex, customizer, stack) { if (object === source) { return; } baseFor(source, function(srcValue, key) { stack || (stack = new Stack); if (isObject(srcValue)) { baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); } else { var newValue = customizer ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) : undefined; if (newValue === undefined) { newValue = srcValue; } assignMergeValue(object, key, newValue); } }, keysIn); } /** * A specialized version of `baseMerge` for arrays and objects which performs * deep merges and tracks traversed objects enabling objects with circular * references to be merged. * * @private * @param {Object} object The destination object. * @param {Object} source The source object. * @param {string} key The key of the value to merge. * @param {number} srcIndex The index of `source`. * @param {Function} mergeFunc The function to merge values. * @param {Function} [customizer] The function to customize assigned values. * @param {Object} [stack] Tracks traversed source values and their merged * counterparts. */ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue); if (stacked) { assignMergeValue(object, key, stacked); return; } var newValue = customizer ? customizer(objValue, srcValue, (key + ''), object, source, stack) : undefined; var isCommon = newValue === undefined; if (isCommon) { var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue); newValue = srcValue; if (isArr || isBuff || isTyped) { if (isArray(objValue)) { newValue = objValue; } else if (isArrayLikeObject(objValue)) { newValue = copyArray(objValue); } else if (isBuff) { isCommon = false; newValue = cloneBuffer(srcValue, true); } else if (isTyped) { isCommon = false; newValue = cloneTypedArray(srcValue, true); } else { newValue = []; } } else if (isPlainObject(srcValue) || isArguments(srcValue)) { newValue = objValue; if (isArguments(objValue)) { newValue = toPlainObject(objValue); } else if (!isObject(objValue) || isFunction(objValue)) { newValue = initCloneObject(srcValue); } } else { isCommon = false; } } if (isCommon) { // Recursively merge objects and arrays (susceptible to call stack limits). stack.set(srcValue, newValue); mergeFunc(newValue, srcValue, srcIndex, customizer, stack); stack['delete'](srcValue); } assignMergeValue(object, key, newValue); } /** * The base implementation of `_.rest` which doesn't validate or coerce arguments. * * @private * @param {Function} func The function to apply a rest parameter to. * @param {number} [start=func.length-1] The start position of the rest parameter. * @returns {Function} Returns the new function. */ function baseRest(func, start) { return setToString(overRest(func, start, identity), func + ''); } /** * The base implementation of `setToString` without support for hot loop shorting. * * @private * @param {Function} func The function to modify. * @param {Function} string The `toString` result. * @returns {Function} Returns `func`. */ var baseSetToString = !defineProperty ? identity : function(func, string) { return defineProperty(func, 'toString', { 'configurable': true, 'enumerable': false, 'value': constant(string), 'writable': true }); }; /** * Creates a clone of `buffer`. * * @private * @param {Buffer} buffer The buffer to clone. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Buffer} Returns the cloned buffer. */ function cloneBuffer(buffer, isDeep) { if (isDeep) { return buffer.slice(); } var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); buffer.copy(result); return result; } /** * Creates a clone of `arrayBuffer`. * * @private * @param {ArrayBuffer} arrayBuffer The array buffer to clone. * @returns {ArrayBuffer} Returns the cloned array buffer. */ function cloneArrayBuffer(arrayBuffer) { var result = new arrayBuffer.constructor(arrayBuffer.byteLength); new Uint8Array(result).set(new Uint8Array(arrayBuffer)); return result; } /** * Creates a clone of `typedArray`. * * @private * @param {Object} typedArray The typed array to clone. * @param {boolean} [isDeep] Specify a deep clone. * @returns {Object} Returns the cloned typed array. */ function cloneTypedArray(typedArray, isDeep) { var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); } /** * Copies the values of `source` to `array`. * * @private * @param {Array} source The array to copy values from. * @param {Array} [array=[]] The array to copy values to. * @returns {Array} Returns `array`. */ function copyArray(source, array) { var index = -1, length = source.length; array || (array = Array(length)); while (++index < length) { array[index] = source[index]; } return array; } /** * Copies properties of `source` to `object`. * * @private * @param {Object} source The object to copy properties from. * @param {Array} props The property identifiers to copy. * @param {Object} [object={}] The object to copy properties to. * @param {Function} [customizer] The function to customize copied values. * @returns {Object} Returns `object`. */ function copyObject(source, props, object, customizer) { var isNew = !object; object || (object = {}); var index = -1, length = props.length; while (++index < length) { var key = props[index]; var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined; if (newValue === undefined) { newValue = source[key]; } if (isNew) { baseAssignValue(object, key, newValue); } else { assignValue(object, key, newValue); } } return object; } /** * Creates a function like `_.assign`. * * @private * @param {Function} assigner The function to assign values. * @returns {Function} Returns the new assigner function. */ function createAssigner(assigner) { return baseRest(function(object, sources) { var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined, guard = length > 2 ? sources[2] : undefined; customizer = (assigner.length > 3 && typeof customizer == 'function') ? (length--, customizer) : undefined; if (guard && isIterateeCall(sources[0], sources[1], guard)) { customizer = length < 3 ? undefined : customizer; length = 1; } object = Object(object); while (++index < length) { var source = sources[index]; if (source) { assigner(object, source, index, customizer); } } return object; }); } /** * Creates a base function for methods like `_.forIn` and `_.forOwn`. * * @private * @param {boolean} [fromRight] Specify iterating from right to left. * @returns {Function} Returns the new base function. */ function createBaseFor(fromRight) { return function(object, iteratee, keysFunc) { var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; while (length--) { var key = props[fromRight ? length : ++index]; if (iteratee(iterable[key], key, iterable) === false) { break; } } return object; }; } /** * Gets the data for `map`. * * @private * @param {Object} map The map to query. * @param {string} key The reference key. * @returns {*} Returns the map data. */ function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; } /** * Gets the native function at `key` of `object`. * * @private * @param {Object} object The object to query. * @param {string} key The key of the method to get. * @returns {*} Returns the function if it's native, else `undefined`. */ function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : undefined; } /** * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. * * @private * @param {*} value The value to query. * @returns {string} Returns the raw `toStringTag`. */ function getRawTag(value) { var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; try { value[symToStringTag] = undefined; var unmasked = true; } catch (e) {} var result = nativeObjectToString.call(value); if (unmasked) { if (isOwn) { value[symToStringTag] = tag; } else { delete value[symToStringTag]; } } return result; } /** * Initializes an object clone. * * @private * @param {Object} object The object to clone. * @returns {Object} Returns the initialized clone. */ function initCloneObject(object) { return (typeof object.constructor == 'function' && !isPrototype(object)) ? baseCreate(getPrototype(object)) : {}; } /** * Checks if `value` is a valid array-like index. * * @private * @param {*} value The value to check. * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { var type = typeof value; length = length == null ? MAX_SAFE_INTEGER : length; return !!length && (type == 'number' || (type != 'symbol' && reIsUint.test(value))) && (value > -1 && value % 1 == 0 && value < length); } /** * Checks if the given arguments are from an iteratee call. * * @private * @param {*} value The potential iteratee value argument. * @param {*} index The potential iteratee index or key argument. * @param {*} object The potential iteratee object argument. * @returns {boolean} Returns `true` if the arguments are from an iteratee call, * else `false`. */ function isIterateeCall(value, index, object) { if (!isObject(object)) { return false; } var type = typeof index; if (type == 'number' ? (isArrayLike(object) && isIndex(index, object.length)) : (type == 'string' && index in object) ) { return eq(object[index], value); } return false; } /** * Checks if `value` is suitable for use as unique object key. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is suitable, else `false`. */ function isKeyable(value) { var type = typeof value; return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') ? (value !== '__proto__') : (value === null); } /** * Checks if `func` has its source masked. * * @private * @param {Function} func The function to check. * @returns {boolean} Returns `true` if `func` is masked, else `false`. */ function isMasked(func) { return !!maskSrcKey && (maskSrcKey in func); } /** * Checks if `value` is likely a prototype object. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. */ function isPrototype(value) { var Ctor = value && value.constructor, proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; return value === proto; } /** * This function is like * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) * except that it includes inherited enumerable properties. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. */ function nativeKeysIn(object) { var result = []; if (object != null) { for (var key in Object(object)) { result.push(key); } } return result; } /** * Converts `value` to a string using `Object.prototype.toString`. * * @private * @param {*} value The value to convert. * @returns {string} Returns the converted string. */ function objectToString(value) { return nativeObjectToString.call(value); } /** * A specialized version of `baseRest` which transforms the rest array. * * @private * @param {Function} func The function to apply a rest parameter to. * @param {number} [start=func.length-1] The start position of the rest parameter. * @param {Function} transform The rest array transform. * @returns {Function} Returns the new function. */ function overRest(func, start, transform) { start = nativeMax(start === undefined ? (func.length - 1) : start, 0); return function() { var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length); while (++index < length) { array[index] = args[start + index]; } index = -1; var otherArgs = Array(start + 1); while (++index < start) { otherArgs[index] = args[index]; } otherArgs[start] = transform(array); return apply(func, this, otherArgs); }; } /** * Gets the value at `key`, unless `key` is "__proto__" or "constructor". * * @private * @param {Object} object The object to query. * @param {string} key The key of the property to get. * @returns {*} Returns the property value. */ function safeGet(object, key) { if (key === 'constructor' && typeof object[key] === 'function') { return; } if (key == '__proto__') { return; } return object[key]; } /** * Sets the `toString` method of `func` to return `string`. * * @private * @param {Function} func The function to modify. * @param {Function} string The `toString` result. * @returns {Function} Returns `func`. */ var setToString = shortOut(baseSetToString); /** * Creates a function that'll short out and invoke `identity` instead * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` * milliseconds. * * @private * @param {Function} func The function to restrict. * @returns {Function} Returns the new shortable function. */ function shortOut(func) { var count = 0, lastCalled = 0; return function() { var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); lastCalled = stamp; if (remaining > 0) { if (++count >= HOT_COUNT) { return arguments[0]; } } else { count = 0; } return func.apply(undefined, arguments); }; } /** * Converts `func` to its source code. * * @private * @param {Function} func The function to convert. * @returns {string} Returns the source code. */ function toSource(func) { if (func != null) { try { return funcToString.call(func); } catch (e) {} try { return (func + ''); } catch (e) {} } return ''; } /** * Performs a * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) * comparison between two values to determine if they are equivalent. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to compare. * @param {*} other The other value to compare. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. * @example * * var object = { 'a': 1 }; * var other = { 'a': 1 }; * * _.eq(object, object); * // => true * * _.eq(object, other); * // => false * * _.eq('a', 'a'); * // => true * * _.eq('a', Object('a')); * // => false * * _.eq(NaN, NaN); * // => true */ function eq(value, other) { return value === other || (value !== value && other !== other); } /** * Checks if `value` is likely an `arguments` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an `arguments` object, * else `false`. * @example * * _.isArguments(function() { return arguments; }()); * // => true * * _.isArguments([1, 2, 3]); * // => false */ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); }; /** * Checks if `value` is classified as an `Array` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an array, else `false`. * @example * * _.isArray([1, 2, 3]); * // => true * * _.isArray(document.body.children); * // => false * * _.isArray('abc'); * // => false * * _.isArray(_.noop); * // => false */ var isArray = Array.isArray; /** * Checks if `value` is array-like. A value is considered array-like if it's * not a function and has a `value.length` that's an integer greater than or * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is array-like, else `false`. * @example * * _.isArrayLike([1, 2, 3]); * // => true * * _.isArrayLike(document.body.children); * // => true * * _.isArrayLike('abc'); * // => true * * _.isArrayLike(_.noop); * // => false */ function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value); } /** * This method is like `_.isArrayLike` except that it also checks if `value` * is an object. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an array-like object, * else `false`. * @example * * _.isArrayLikeObject([1, 2, 3]); * // => true * * _.isArrayLikeObject(document.body.children); * // => true * * _.isArrayLikeObject('abc'); * // => false * * _.isArrayLikeObject(_.noop); * // => false */ function isArrayLikeObject(value) { return isObjectLike(value) && isArrayLike(value); } /** * Checks if `value` is a buffer. * * @static * @memberOf _ * @since 4.3.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. * @example * * _.isBuffer(new Buffer(2)); * // => true * * _.isBuffer(new Uint8Array(2)); * // => false */ var isBuffer = nativeIsBuffer || stubFalse; /** * Checks if `value` is classified as a `Function` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a function, else `false`. * @example * * _.isFunction(_); * // => true * * _.isFunction(/abc/); * // => false */ function isFunction(value) { if (!isObject(value)) { return false; } // The use of `Object#toString` avoids issues with the `typeof` operator // in Safari 9 which returns 'object' for typed arrays and other constructors. var tag = baseGetTag(value); return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; } /** * Checks if `value` is a valid array-like length. * * **Note:** This method is loosely based on * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. * @example * * _.isLength(3); * // => true * * _.isLength(Number.MIN_VALUE); * // => false * * _.isLength(Infinity); * // => false * * _.isLength('3'); * // => false */ function isLength(value) { return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(_.noop); * // => true * * _.isObject(null); * // => false */ function isObject(value) { var type = typeof value; return value != null && (type == 'object' || type == 'function'); } /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return value != null && typeof value == 'object'; } /** * Checks if `value` is a plain object, that is, an object created by the * `Object` constructor or one with a `[[Prototype]]` of `null`. * * @static * @memberOf _ * @since 0.8.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. * @example * * function Foo() { * this.a = 1; * } * * _.isPlainObject(new Foo); * // => false * * _.isPlainObject([1, 2, 3]); * // => false * * _.isPlainObject({ 'x': 0, 'y': 0 }); * // => true * * _.isPlainObject(Object.create(null)); * // => true */ function isPlainObject(value) { if (!isObjectLike(value) || baseGetTag(value) != objectTag) { return false; } var proto = getPrototype(value); if (proto === null) { return true; } var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; } /** * Checks if `value` is classified as a typed array. * * @static * @memberOf _ * @since 3.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. * @example * * _.isTypedArray(new Uint8Array); * // => true * * _.isTypedArray([]); * // => false */ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; /** * Converts `value` to a plain object flattening inherited enumerable string * keyed properties of `value` to own properties of the plain object. * * @static * @memberOf _ * @since 3.0.0 * @category Lang * @param {*} value The value to convert. * @returns {Object} Returns the converted plain object. * @example * * function Foo() { * this.b = 2; * } * * Foo.prototype.c = 3; * * _.assign({ 'a': 1 }, new Foo); * // => { 'a': 1, 'b': 2 } * * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); * // => { 'a': 1, 'b': 2, 'c': 3 } */ function toPlainObject(value) { return copyObject(value, keysIn(value)); } /** * Creates an array of the own and inherited enumerable property names of `object`. * * **Note:** Non-object values are coerced to objects. * * @static * @memberOf _ * @since 3.0.0 * @category Object * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. * @example * * function Foo() { * this.a = 1; * this.b = 2; * } * * Foo.prototype.c = 3; * * _.keysIn(new Foo); * // => ['a', 'b', 'c'] (iteration order is not guaranteed) */ function keysIn(object) { return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); } /** * This method is like `_.assign` except that it recursively merges own and * inherited enumerable string keyed properties of source objects into the * destination object. Source properties that resolve to `undefined` are * skipped if a destination value exists. Array and plain object properties * are merged recursively. Other objects and value types are overridden by * assignment. Source objects are applied from left to right. Subsequent * sources overwrite property assignments of previous sources. * * **Note:** This method mutates `object`. * * @static * @memberOf _ * @since 0.5.0 * @category Object * @param {Object} object The destination object. * @param {...Object} [sources] The source objects. * @returns {Object} Returns `object`. * @example * * var object = { * 'a': [{ 'b': 2 }, { 'd': 4 }] * }; * * var other = { * 'a': [{ 'c': 3 }, { 'e': 5 }] * }; * * _.merge(object, other); * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } */ var merge = createAssigner(function(object, source, srcIndex) { baseMerge(object, source, srcIndex); }); /** * Creates a function that returns `value`. * * @static * @memberOf _ * @since 2.4.0 * @category Util * @param {*} value The value to return from the new function. * @returns {Function} Returns the new constant function. * @example * * var objects = _.times(2, _.constant({ 'a': 1 })); * * console.log(objects); * // => [{ 'a': 1 }, { 'a': 1 }] * * console.log(objects[0] === objects[1]); * // => true */ function constant(value) { return function() { return value; }; } /** * This method returns the first argument it receives. * * @static * @since 0.1.0 * @memberOf _ * @category Util * @param {*} value Any value. * @returns {*} Returns `value`. * @example * * var object = { 'a': 1 }; * * console.log(_.identity(object) === object); * // => true */ function identity(value) { return value; } /** * This method returns `false`. * * @static * @memberOf _ * @since 4.13.0 * @category Util * @returns {boolean} Returns `false`. * @example * * _.times(2, _.stubFalse); * // => [false, false] */ function stubFalse() { return false; } module.exports = merge; /***/ }), /***/ 5143: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); const cloneDeep = __webpack_require__(8805); const isEqual = __webpack_require__(2722); var AttributeMap; (function (AttributeMap) { function compose(a = {}, b = {}, keepNull = false) { if (typeof a !== 'object') { a = {}; } if (typeof b !== 'object') { b = {}; } let attributes = cloneDeep(b); if (!keepNull) { attributes = Object.keys(attributes).reduce((copy, key) => { if (attributes[key] != null) { copy[key] = attributes[key]; } return copy; }, {}); } for (const key in a) { if (a[key] !== undefined && b[key] === undefined) { attributes[key] = a[key]; } } return Object.keys(attributes).length > 0 ? attributes : undefined; } AttributeMap.compose = compose; function diff(a = {}, b = {}) { if (typeof a !== 'object') { a = {}; } if (typeof b !== 'object') { b = {}; } const attributes = Object.keys(a) .concat(Object.keys(b)) .reduce((attrs, key) => { if (!isEqual(a[key], b[key])) { attrs[key] = b[key] === undefined ? null : b[key]; } return attrs; }, {}); return Object.keys(attributes).length > 0 ? attributes : undefined; } AttributeMap.diff = diff; function invert(attr = {}, base = {}) { attr = attr || {}; const baseInverted = Object.keys(base).reduce((memo, key) => { if (base[key] !== attr[key] && attr[key] !== undefined) { memo[key] = base[key]; } return memo; }, {}); return Object.keys(attr).reduce((memo, key) => { if (attr[key] !== base[key] && base[key] === undefined) { memo[key] = null; } return memo; }, baseInverted); } AttributeMap.invert = invert; function transform(a, b, priority = false) { if (typeof a !== 'object') { return b; } if (typeof b !== 'object') { return undefined; } if (!priority) { return b; // b simply overwrites us without priority } const attributes = Object.keys(b).reduce((attrs, key) => { if (a[key] === undefined) { attrs[key] = b[key]; // null is a valid value } return attrs; }, {}); return Object.keys(attributes).length > 0 ? attributes : undefined; } AttributeMap.transform = transform; })(AttributeMap || (AttributeMap = {})); exports["default"] = AttributeMap; /***/ }), /***/ 9098: /***/ ((module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.AttributeMap = exports.OpIterator = exports.Op = void 0; const diff = __webpack_require__(1456); const cloneDeep = __webpack_require__(8805); const isEqual = __webpack_require__(2722); const AttributeMap_1 = __webpack_require__(5143); exports.AttributeMap = AttributeMap_1.default; const Op_1 = __webpack_require__(6237); exports.Op = Op_1.default; const OpIterator_1 = __webpack_require__(2849); exports.OpIterator = OpIterator_1.default; const NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff() const getEmbedTypeAndData = (a, b) => { if (typeof a !== 'object' || a === null) { throw new Error(`cannot retain a ${typeof a}`); } if (typeof b !== 'object' || b === null) { throw new Error(`cannot retain a ${typeof b}`); } const embedType = Object.keys(a)[0]; if (!embedType || embedType !== Object.keys(b)[0]) { throw new Error(`embed types not matched: ${embedType} != ${Object.keys(b)[0]}`); } return [embedType, a[embedType], b[embedType]]; }; class Delta { constructor(ops) { // Assume we are given a well formed ops if (Array.isArray(ops)) { this.ops = ops; } else if (ops != null && Array.isArray(ops.ops)) { this.ops = ops.ops; } else { this.ops = []; } } static registerEmbed(embedType, handler) { this.handlers[embedType] = handler; } static unregisterEmbed(embedType) { delete this.handlers[embedType]; } static getHandler(embedType) { const handler = this.handlers[embedType]; if (!handler) { throw new Error(`no handlers for embed type "${embedType}"`); } return handler; } insert(arg, attributes) { const newOp = {}; if (typeof arg === 'string' && arg.length === 0) { return this; } newOp.insert = arg; if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) { newOp.attributes = attributes; } return this.push(newOp); } delete(length) { if (length <= 0) { return this; } return this.push({ delete: length }); } retain(length, attributes) { if (typeof length === 'number' && length <= 0) { return this; } const newOp = { retain: length }; if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) { newOp.attributes = attributes; } return this.push(newOp); } push(newOp) { let index = this.ops.length; let lastOp = this.ops[index - 1]; newOp = cloneDeep(newOp); if (typeof lastOp === 'object') { if (typeof newOp.delete === 'number' && typeof lastOp.delete === 'number') { this.ops[index - 1] = { delete: lastOp.delete + newOp.delete }; return this; } // Since it does not matter if we insert before or after deleting at the same index, // always prefer to insert first if (typeof lastOp.delete === 'number' && newOp.insert != null) { index -= 1; lastOp = this.ops[index - 1]; if (typeof lastOp !== 'object') { this.ops.unshift(newOp); return this; } } if (isEqual(newOp.attributes, lastOp.attributes)) { if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') { this.ops[index - 1] = { insert: lastOp.insert + newOp.insert }; if (typeof newOp.attributes === 'object') { this.ops[index - 1].attributes = newOp.attributes; } return this; } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') { this.ops[index - 1] = { retain: lastOp.retain + newOp.retain }; if (typeof newOp.attributes === 'object') { this.ops[index - 1].attributes = newOp.attributes; } return this; } } } if (index === this.ops.length) { this.ops.push(newOp); } else { this.ops.splice(index, 0, newOp); } return this; } chop() { const lastOp = this.ops[this.ops.length - 1]; if (lastOp && typeof lastOp.retain === 'number' && !lastOp.attributes) { this.ops.pop(); } return this; } filter(predicate) { return this.ops.filter(predicate); } forEach(predicate) { this.ops.forEach(predicate); } map(predicate) { return this.ops.map(predicate); } partition(predicate) { const passed = []; const failed = []; this.forEach((op) => { const target = predicate(op) ? passed : failed; target.push(op); }); return [passed, failed]; } reduce(predicate, initialValue) { return this.ops.reduce(predicate, initialValue); } changeLength() { return this.reduce((length, elem) => { if (elem.insert) { return length + Op_1.default.length(elem); } else if (elem.delete) { return length - elem.delete; } return length; }, 0); } length() { return this.reduce((length, elem) => { return length + Op_1.default.length(elem); }, 0); } slice(start = 0, end = Infinity) { const ops = []; const iter = new OpIterator_1.default(this.ops); let index = 0; while (index < end && iter.hasNext()) { let nextOp; if (index < start) { nextOp = iter.next(start - index); } else { nextOp = iter.next(end - index); ops.push(nextOp); } index += Op_1.default.length(nextOp); } return new Delta(ops); } compose(other) { const thisIter = new OpIterator_1.default(this.ops); const otherIter = new OpIterator_1.default(other.ops); const ops = []; const firstOther = otherIter.peek(); if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) { let firstLeft = firstOther.retain; while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) { firstLeft -= thisIter.peekLength(); ops.push(thisIter.next()); } if (firstOther.retain - firstLeft > 0) { otherIter.next(firstOther.retain - firstLeft); } } const delta = new Delta(ops); while (thisIter.hasNext() || otherIter.hasNext()) { if (otherIter.peekType() === 'insert') { delta.push(otherIter.next()); } else if (thisIter.peekType() === 'delete') { delta.push(thisIter.next()); } else { const length = Math.min(thisIter.peekLength(), otherIter.peekLength()); const thisOp = thisIter.next(length); const otherOp = otherIter.next(length); if (otherOp.retain) { const newOp = {}; if (typeof thisOp.retain === 'number') { newOp.retain = typeof otherOp.retain === 'number' ? length : otherOp.retain; } else { if (typeof otherOp.retain === 'number') { if (thisOp.retain == null) { newOp.insert = thisOp.insert; } else { newOp.retain = thisOp.retain; } } else { const action = thisOp.retain == null ? 'insert' : 'retain'; const [embedType, thisData, otherData] = getEmbedTypeAndData(thisOp[action], otherOp.retain); const handler = Delta.getHandler(embedType); newOp[action] = { [embedType]: handler.compose(thisData, otherData, action === 'retain'), }; } } // Preserve null when composing with a retain, otherwise remove it for inserts const attributes = AttributeMap_1.default.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number'); if (attributes) { newOp.attributes = attributes; } delta.push(newOp); // Optimization if rest of other is just retain if (!otherIter.hasNext() && isEqual(delta.ops[delta.ops.length - 1], newOp)) { const rest = new Delta(thisIter.rest()); return delta.concat(rest).chop(); } // Other op should be delete, we could be an insert or retain // Insert + delete cancels out } else if (typeof otherOp.delete === 'number' && (typeof thisOp.retain === 'number' || (typeof thisOp.retain === 'object' && thisOp.retain !== null))) { delta.push(otherOp); } } } return delta.chop(); } concat(other) { const delta = new Delta(this.ops.slice()); if (other.ops.length > 0) { delta.push(other.ops[0]); delta.ops = delta.ops.concat(other.ops.slice(1)); } return delta; } diff(other, cursor) { if (this.ops === other.ops) { return new Delta(); } const strings = [this, other].map((delta) => { return delta .map((op) => { if (op.insert != null) { return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER; } const prep = delta === other ? 'on' : 'with'; throw new Error('diff() called ' + prep + ' non-document'); }) .join(''); }); const retDelta = new Delta(); const diffResult = diff(strings[0], strings[1], cursor); const thisIter = new OpIterator_1.default(this.ops); const otherIter = new OpIterator_1.default(other.ops); diffResult.forEach((component) => { let length = component[1].length; while (length > 0) { let opLength = 0; switch (component[0]) { case diff.INSERT: opLength = Math.min(otherIter.peekLength(), length); retDelta.push(otherIter.next(opLength)); break; case diff.DELETE: opLength = Math.min(length, thisIter.peekLength()); thisIter.next(opLength); retDelta.delete(opLength); break; case diff.EQUAL: opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length); const thisOp = thisIter.next(opLength); const otherOp = otherIter.next(opLength); if (isEqual(thisOp.insert, otherOp.insert)) { retDelta.retain(opLength, AttributeMap_1.default.diff(thisOp.attributes, otherOp.attributes)); } else { retDelta.push(otherOp).delete(opLength); } break; } length -= opLength; } }); return retDelta.chop(); } eachLine(predicate, newline = '\n') { const iter = new OpIterator_1.default(this.ops); let line = new Delta(); let i = 0; while (iter.hasNext()) { if (iter.peekType() !== 'insert') { return; } const thisOp = iter.peek(); const start = Op_1.default.length(thisOp) - iter.peekLength(); const index = typeof thisOp.insert === 'string' ? thisOp.insert.indexOf(newline, start) - start : -1; if (index < 0) { line.push(iter.next()); } else if (index > 0) { line.push(iter.next(index)); } else { if (predicate(line, iter.next(1).attributes || {}, i) === false) { return; } i += 1; line = new Delta(); } } if (line.length() > 0) { predicate(line, {}, i); } } invert(base) { const inverted = new Delta(); this.reduce((baseIndex, op) => { if (op.insert) { inverted.delete(Op_1.default.length(op)); } else if (typeof op.retain === 'number' && op.attributes == null) { inverted.retain(op.retain); return baseIndex + op.retain; } else if (op.delete || typeof op.retain === 'number') { const length = (op.delete || op.retain); const slice = base.slice(baseIndex, baseIndex + length); slice.forEach((baseOp) => { if (op.delete) { inverted.push(baseOp); } else if (op.retain && op.attributes) { inverted.retain(Op_1.default.length(baseOp), AttributeMap_1.default.invert(op.attributes, baseOp.attributes)); } }); return baseIndex + length; } else if (typeof op.retain === 'object' && op.retain !== null) { const slice = base.slice(baseIndex, baseIndex + 1); const baseOp = new OpIterator_1.default(slice.ops).next(); const [embedType, opData, baseOpData] = getEmbedTypeAndData(op.retain, baseOp.insert); const handler = Delta.getHandler(embedType); inverted.retain({ [embedType]: handler.invert(opData, baseOpData) }, AttributeMap_1.default.invert(op.attributes, baseOp.attributes)); return baseIndex + 1; } return baseIndex; }, 0); return inverted.chop(); } transform(arg, priority = false) { priority = !!priority; if (typeof arg === 'number') { return this.transformPosition(arg, priority); } const other = arg; const thisIter = new OpIterator_1.default(this.ops); const otherIter = new OpIterator_1.default(other.ops); const delta = new Delta(); while (thisIter.hasNext() || otherIter.hasNext()) { if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) { delta.retain(Op_1.default.length(thisIter.next())); } else if (otherIter.peekType() === 'insert') { delta.push(otherIter.next()); } else { const length = Math.min(thisIter.peekLength(), otherIter.peekLength()); const thisOp = thisIter.next(length); const otherOp = otherIter.next(length); if (thisOp.delete) { // Our delete either makes their delete redundant or removes their retain continue; } else if (otherOp.delete) { delta.push(otherOp); } else { const thisData = thisOp.retain; const otherData = otherOp.retain; let transformedData = typeof otherData === 'object' && otherData !== null ? otherData : length; if (typeof thisData === 'object' && thisData !== null && typeof otherData === 'object' && otherData !== null) { const embedType = Object.keys(thisData)[0]; if (embedType === Object.keys(otherData)[0]) { const handler = Delta.getHandler(embedType); if (handler) { transformedData = { [embedType]: handler.transform(thisData[embedType], otherData[embedType], priority), }; } } } // We retain either their retain or insert delta.retain(transformedData, AttributeMap_1.default.transform(thisOp.attributes, otherOp.attributes, priority)); } } } return delta.chop(); } transformPosition(index, priority = false) { priority = !!priority; const thisIter = new OpIterator_1.default(this.ops); let offset = 0; while (thisIter.hasNext() && offset <= index) { const length = thisIter.peekLength(); const nextType = thisIter.peekType(); thisIter.next(); if (nextType === 'delete') { index -= Math.min(length, index - offset); continue; } else if (nextType === 'insert' && (offset < index || !priority)) { index += length; } offset += length; } return index; } } Delta.Op = Op_1.default; Delta.OpIterator = OpIterator_1.default; Delta.AttributeMap = AttributeMap_1.default; Delta.handlers = {}; exports["default"] = Delta; if (true) { module.exports = Delta; module.exports["default"] = Delta; } /***/ }), /***/ 6237: /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); var Op; (function (Op) { function length(op) { if (typeof op.delete === 'number') { return op.delete; } else if (typeof op.retain === 'number') { return op.retain; } else if (typeof op.retain === 'object' && op.retain !== null) { return 1; } else { return typeof op.insert === 'string' ? op.insert.length : 1; } } Op.length = length; })(Op || (Op = {})); exports["default"] = Op; /***/ }), /***/ 2849: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); const Op_1 = __webpack_require__(6237); class Iterator { constructor(ops) { this.ops = ops; this.index = 0; this.offset = 0; } hasNext() { return this.peekLength() < Infinity; } next(length) { if (!length) { length = Infinity; } const nextOp = this.ops[this.index]; if (nextOp) { const offset = this.offset; const opLength = Op_1.default.length(nextOp); if (length >= opLength - offset) { length = opLength - offset; this.index += 1; this.offset = 0; } else { this.offset += length; } if (typeof nextOp.delete === 'number') { return { delete: length }; } else { const retOp = {}; if (nextOp.attributes) { retOp.attributes = nextOp.attributes; } if (typeof nextOp.retain === 'number') { retOp.retain = length; } else if (typeof nextOp.retain === 'object' && nextOp.retain !== null) { // offset should === 0, length should === 1 retOp.retain = nextOp.retain; } else if (typeof nextOp.insert === 'string') { retOp.insert = nextOp.insert.substr(offset, length); } else { // offset should === 0, length should === 1 retOp.insert = nextOp.insert; } return retOp; } } else { return { retain: Infinity }; } } peek() { return this.ops[this.index]; } peekLength() { if (this.ops[this.index]) { // Should never return 0 if our index is being managed correctly return Op_1.default.length(this.ops[this.index]) - this.offset; } else { return Infinity; } } peekType() { const op = this.ops[this.index]; if (op) { if (typeof op.delete === 'number') { return 'delete'; } else if (typeof op.retain === 'number' || (typeof op.retain === 'object' && op.retain !== null)) { return 'retain'; } else { return 'insert'; } } return 'retain'; } rest() { if (!this.hasNext()) { return []; } else if (this.offset === 0) { return this.ops.slice(this.index); } else { const offset = this.offset; const index = this.index; const next = this.next(); const rest = this.ops.slice(this.index); this.offset = offset; this.index = index; return [next].concat(rest); } } } exports["default"] = Iterator; /***/ }), /***/ 1863: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(9731); module.exports = parent; /***/ }), /***/ 6572: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(4401); module.exports = parent; /***/ }), /***/ 2318: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(3661); module.exports = parent; /***/ }), /***/ 576: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(5606); module.exports = parent; /***/ }), /***/ 2327: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(5445); var entryUnbind = __webpack_require__(6731); module.exports = entryUnbind('Array', 'fill'); /***/ }), /***/ 3274: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(9477); __webpack_require__(6272); var path = __webpack_require__(577); module.exports = path.Array.from; /***/ }), /***/ 5339: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(2947); var path = __webpack_require__(577); module.exports = path.Object.values; /***/ }), /***/ 1189: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(538); var entryUnbind = __webpack_require__(6731); module.exports = entryUnbind('String', 'endsWith'); /***/ }), /***/ 5142: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* unused reexport */ __webpack_require__(297); /***/ }), /***/ 1019: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* unused reexport */ __webpack_require__(4660); /***/ }), /***/ 1183: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* unused reexport */ __webpack_require__(5275); /***/ }), /***/ 2570: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* unused reexport */ __webpack_require__(2839); /***/ }), /***/ 297: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(1863); module.exports = parent; /***/ }), /***/ 4660: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(6572); module.exports = parent; /***/ }), /***/ 5275: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(2318); module.exports = parent; /***/ }), /***/ 2839: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(576); module.exports = parent; /***/ }), /***/ 6324: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isCallable = __webpack_require__(2539); var tryToString = __webpack_require__(7471); var $TypeError = TypeError; // `Assert: IsCallable(argument) is true` module.exports = function (argument) { if (isCallable(argument)) return argument; throw new $TypeError(tryToString(argument) + ' is not a function'); }; /***/ }), /***/ 2162: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isCallable = __webpack_require__(2539); var $String = String; var $TypeError = TypeError; module.exports = function (argument) { if (typeof argument == 'object' || isCallable(argument)) return argument; throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); }; /***/ }), /***/ 2572: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var wellKnownSymbol = __webpack_require__(5485); var create = __webpack_require__(3830); var defineProperty = (__webpack_require__(8503).f); var UNSCOPABLES = wellKnownSymbol('unscopables'); var ArrayPrototype = Array.prototype; // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables if (ArrayPrototype[UNSCOPABLES] === undefined) { defineProperty(ArrayPrototype, UNSCOPABLES, { configurable: true, value: create(null) }); } // add a key to Array.prototype[@@unscopables] module.exports = function (key) { ArrayPrototype[UNSCOPABLES][key] = true; }; /***/ }), /***/ 8874: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isObject = __webpack_require__(3988); var $String = String; var $TypeError = TypeError; // `Assert: Type(argument) is Object` module.exports = function (argument) { if (isObject(argument)) return argument; throw new $TypeError($String(argument) + ' is not an object'); }; /***/ }), /***/ 9236: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toObject = __webpack_require__(6015); var toAbsoluteIndex = __webpack_require__(7234); var lengthOfArrayLike = __webpack_require__(3235); // `Array.prototype.fill` method implementation // https://tc39.es/ecma262/#sec-array.prototype.fill module.exports = function fill(value /* , start = 0, end = @length */) { var O = toObject(this); var length = lengthOfArrayLike(O); var argumentsLength = arguments.length; var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); var end = argumentsLength > 2 ? arguments[2] : undefined; var endPos = end === undefined ? length : toAbsoluteIndex(end, length); while (endPos > index) O[index++] = value; return O; }; /***/ }), /***/ 8459: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var bind = __webpack_require__(9794); var call = __webpack_require__(2977); var toObject = __webpack_require__(6015); var callWithSafeIterationClosing = __webpack_require__(9154); var isArrayIteratorMethod = __webpack_require__(7024); var isConstructor = __webpack_require__(6467); var lengthOfArrayLike = __webpack_require__(3235); var createProperty = __webpack_require__(3003); var getIterator = __webpack_require__(2387); var getIteratorMethod = __webpack_require__(7874); var $Array = Array; // `Array.from` method implementation // https://tc39.es/ecma262/#sec-array.from module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { var O = toObject(arrayLike); var IS_CONSTRUCTOR = isConstructor(this); var argumentsLength = arguments.length; var mapfn = argumentsLength > 1 ? arguments[1] : undefined; var mapping = mapfn !== undefined; if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); var iteratorMethod = getIteratorMethod(O); var index = 0; var length, result, step, iterator, next, value; // if the target is not iterable or it's an array with the default iterator - use a simple case if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) { iterator = getIterator(O, iteratorMethod); next = iterator.next; result = IS_CONSTRUCTOR ? new this() : []; for (;!(step = call(next, iterator)).done; index++) { value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; createProperty(result, index, value); } } else { length = lengthOfArrayLike(O); result = IS_CONSTRUCTOR ? new this(length) : $Array(length); for (;length > index; index++) { value = mapping ? mapfn(O[index], index) : O[index]; createProperty(result, index, value); } } result.length = index; return result; }; /***/ }), /***/ 5644: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toIndexedObject = __webpack_require__(7625); var toAbsoluteIndex = __webpack_require__(7234); var lengthOfArrayLike = __webpack_require__(3235); // `Array.prototype.{ indexOf, includes }` methods implementation var createMethod = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIndexedObject($this); var length = lengthOfArrayLike(O); var index = toAbsoluteIndex(fromIndex, length); var value; // Array#includes uses SameValueZero equality algorithm // eslint-disable-next-line no-self-compare -- NaN check if (IS_INCLUDES && el !== el) while (length > index) { value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check 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) }; /***/ }), /***/ 9154: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var anObject = __webpack_require__(8874); var iteratorClose = __webpack_require__(8880); // call something on iterator step with safe closing on error module.exports = function (iterator, fn, value, ENTRIES) { try { return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); } catch (error) { iteratorClose(iterator, 'throw', error); } }; /***/ }), /***/ 3346: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var wellKnownSymbol = __webpack_require__(5485); var ITERATOR = wellKnownSymbol('iterator'); var SAFE_CLOSING = false; try { var called = 0; var iteratorWithReturn = { next: function () { return { done: !!called++ }; }, 'return': function () { SAFE_CLOSING = true; } }; iteratorWithReturn[ITERATOR] = function () { return this; }; // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing Array.from(iteratorWithReturn, function () { throw 2; }); } catch (error) { /* empty */ } module.exports = function (exec, SKIP_CLOSING) { try { if (!SKIP_CLOSING && !SAFE_CLOSING) return false; } catch (error) { return false; } // workaround of old WebKit + `eval` bug var ITERATION_SUPPORT = false; try { var object = {}; object[ITERATOR] = function () { return { next: function () { return { done: ITERATION_SUPPORT = true }; } }; }; exec(object); } catch (error) { /* empty */ } return ITERATION_SUPPORT; }; /***/ }), /***/ 4545: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var toString = uncurryThis({}.toString); var stringSlice = uncurryThis(''.slice); module.exports = function (it) { return stringSlice(toString(it), 8, -1); }; /***/ }), /***/ 2702: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var TO_STRING_TAG_SUPPORT = __webpack_require__(1923); var isCallable = __webpack_require__(2539); var classofRaw = __webpack_require__(4545); var wellKnownSymbol = __webpack_require__(5485); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var $Object = Object; // ES3 wrong here var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { try { return it[key]; } catch (error) { /* empty */ } }; // getting tag from ES6+ `Object.prototype.toString` module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { var O, tag, result; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag // builtinTag case : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; }; /***/ }), /***/ 1358: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var hasOwn = __webpack_require__(2623); var ownKeys = __webpack_require__(3054); var getOwnPropertyDescriptorModule = __webpack_require__(3037); var definePropertyModule = __webpack_require__(8503); module.exports = function (target, source, exceptions) { 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 (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { defineProperty(target, key, getOwnPropertyDescriptor(source, key)); } } }; /***/ }), /***/ 6775: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var wellKnownSymbol = __webpack_require__(5485); var MATCH = wellKnownSymbol('match'); module.exports = function (METHOD_NAME) { var regexp = /./; try { '/./'[METHOD_NAME](regexp); } catch (error1) { try { regexp[MATCH] = false; return '/./'[METHOD_NAME](regexp); } catch (error2) { /* empty */ } } return false; }; /***/ }), /***/ 6141: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(5202); module.exports = !fails(function () { function F() { /* empty */ } F.prototype.constructor = null; // eslint-disable-next-line es/no-object-getprototypeof -- required for testing return Object.getPrototypeOf(new F()) !== F.prototype; }); /***/ }), /***/ 3585: /***/ ((module) => { "use strict"; // `CreateIterResultObject` abstract operation // https://tc39.es/ecma262/#sec-createiterresultobject module.exports = function (value, done) { return { value: value, done: done }; }; /***/ }), /***/ 8868: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5007); var definePropertyModule = __webpack_require__(8503); var createPropertyDescriptor = __webpack_require__(4238); module.exports = DESCRIPTORS ? function (object, key, value) { return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); } : function (object, key, value) { object[key] = value; return object; }; /***/ }), /***/ 4238: /***/ ((module) => { "use strict"; module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /***/ 3003: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toPropertyKey = __webpack_require__(3164); var definePropertyModule = __webpack_require__(8503); var createPropertyDescriptor = __webpack_require__(4238); module.exports = function (object, key, value) { var propertyKey = toPropertyKey(key); if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); else object[propertyKey] = value; }; /***/ }), /***/ 916: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isCallable = __webpack_require__(2539); var definePropertyModule = __webpack_require__(8503); var makeBuiltIn = __webpack_require__(6614); var defineGlobalProperty = __webpack_require__(2136); module.exports = function (O, key, value, options) { if (!options) options = {}; var simple = options.enumerable; var name = options.name !== undefined ? options.name : key; if (isCallable(value)) makeBuiltIn(value, name, options); if (options.global) { if (simple) O[key] = value; else defineGlobalProperty(key, value); } else { try { if (!options.unsafe) delete O[key]; else if (O[key]) simple = true; } catch (error) { /* empty */ } if (simple) O[key] = value; else definePropertyModule.f(O, key, { value: value, enumerable: false, configurable: !options.nonConfigurable, writable: !options.nonWritable }); } return O; }; /***/ }), /***/ 2136: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty = Object.defineProperty; module.exports = function (key, value) { try { defineProperty(global, key, { value: value, configurable: true, writable: true }); } catch (error) { global[key] = value; } return value; }; /***/ }), /***/ 5007: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(5202); // Detect IE8's incomplete defineProperty implementation module.exports = !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); /***/ }), /***/ 8629: /***/ ((module) => { "use strict"; var documentAll = typeof document == 'object' && document.all; // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined; module.exports = { all: documentAll, IS_HTMLDDA: IS_HTMLDDA }; /***/ }), /***/ 2215: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); var isObject = __webpack_require__(3988); 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) : {}; }; /***/ }), /***/ 932: /***/ ((module) => { "use strict"; module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; /***/ }), /***/ 7626: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); var userAgent = __webpack_require__(932); var process = global.process; var Deno = global.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; if (v8) { match = v8.split('.'); // in old Chrome, versions of V8 isn't V8 = Chrome / 10 // but their correct versions are not interesting for us version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); } // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` // so check `userAgent` even if `.v8` exists, but 0 if (!version && userAgent) { match = userAgent.match(/Edge\/(\d+)/); if (!match || match[1] >= 74) { match = userAgent.match(/Chrome\/(\d+)/); if (match) version = +match[1]; } } module.exports = version; /***/ }), /***/ 6731: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); var uncurryThis = __webpack_require__(4038); module.exports = function (CONSTRUCTOR, METHOD) { return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]); }; /***/ }), /***/ 8552: /***/ ((module) => { "use strict"; // IE8- don't enum bug keys module.exports = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf' ]; /***/ }), /***/ 2189: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); var getOwnPropertyDescriptor = (__webpack_require__(3037).f); var createNonEnumerableProperty = __webpack_require__(8868); var defineBuiltIn = __webpack_require__(916); var defineGlobalProperty = __webpack_require__(2136); var copyConstructorProperties = __webpack_require__(1358); var isForced = __webpack_require__(3455); /* 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.dontCallGetSet - prevent calling a getter on target options.name - the .name of the function if it does not match the key */ 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] || defineGlobalProperty(TARGET, {}); } else { target = (global[TARGET] || {}).prototype; } if (target) for (key in source) { sourceProperty = source[key]; if (options.dontCallGetSet) { 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); } defineBuiltIn(target, key, sourceProperty, options); } }; /***/ }), /***/ 5202: /***/ ((module) => { "use strict"; module.exports = function (exec) { try { return !!exec(); } catch (error) { return true; } }; /***/ }), /***/ 9794: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(6192); var aCallable = __webpack_require__(6324); var NATIVE_BIND = __webpack_require__(2865); var bind = uncurryThis(uncurryThis.bind); // optional / simple context binding module.exports = function (fn, that) { aCallable(fn); return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { return fn.apply(that, arguments); }; }; /***/ }), /***/ 2865: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(5202); module.exports = !fails(function () { // eslint-disable-next-line es/no-function-prototype-bind -- safe var test = (function () { /* empty */ }).bind(); // eslint-disable-next-line no-prototype-builtins -- safe return typeof test != 'function' || test.hasOwnProperty('prototype'); }); /***/ }), /***/ 2977: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var NATIVE_BIND = __webpack_require__(2865); var call = Function.prototype.call; module.exports = NATIVE_BIND ? call.bind(call) : function () { return call.apply(call, arguments); }; /***/ }), /***/ 9895: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5007); var hasOwn = __webpack_require__(2623); var FunctionPrototype = Function.prototype; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; var EXISTS = hasOwn(FunctionPrototype, 'name'); // additional protection from minified / mangled / dropped function names var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); module.exports = { EXISTS: EXISTS, PROPER: PROPER, CONFIGURABLE: CONFIGURABLE }; /***/ }), /***/ 6589: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var aCallable = __webpack_require__(6324); module.exports = function (object, key, method) { try { // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); } catch (error) { /* empty */ } }; /***/ }), /***/ 6192: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var classofRaw = __webpack_require__(4545); var uncurryThis = __webpack_require__(4038); module.exports = function (fn) { // Nashorn bug: // https://github.com/zloirock/core-js/issues/1128 // https://github.com/zloirock/core-js/issues/1130 if (classofRaw(fn) === 'Function') return uncurryThis(fn); }; /***/ }), /***/ 4038: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var NATIVE_BIND = __webpack_require__(2865); var FunctionPrototype = Function.prototype; var call = FunctionPrototype.call; var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { return function () { return call.apply(fn, arguments); }; }; /***/ }), /***/ 7300: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); var isCallable = __webpack_require__(2539); var aFunction = function (argument) { return isCallable(argument) ? argument : undefined; }; module.exports = function (namespace, method) { return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; }; /***/ }), /***/ 7874: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var classof = __webpack_require__(2702); var getMethod = __webpack_require__(3923); var isNullOrUndefined = __webpack_require__(2219); var Iterators = __webpack_require__(7817); var wellKnownSymbol = __webpack_require__(5485); var ITERATOR = wellKnownSymbol('iterator'); module.exports = function (it) { if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)]; }; /***/ }), /***/ 2387: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var call = __webpack_require__(2977); var aCallable = __webpack_require__(6324); var anObject = __webpack_require__(8874); var tryToString = __webpack_require__(7471); var getIteratorMethod = __webpack_require__(7874); var $TypeError = TypeError; module.exports = function (argument, usingIterator) { var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); throw new $TypeError(tryToString(argument) + ' is not iterable'); }; /***/ }), /***/ 3923: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var aCallable = __webpack_require__(6324); var isNullOrUndefined = __webpack_require__(2219); // `GetMethod` abstract operation // https://tc39.es/ecma262/#sec-getmethod module.exports = function (V, P) { var func = V[P]; return isNullOrUndefined(func) ? undefined : aCallable(func); }; /***/ }), /***/ 730: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; 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 es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) || check(typeof this == 'object' && this) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); /***/ }), /***/ 2623: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var toObject = __webpack_require__(6015); var hasOwnProperty = uncurryThis({}.hasOwnProperty); // `HasOwnProperty` abstract operation // https://tc39.es/ecma262/#sec-hasownproperty // eslint-disable-next-line es/no-object-hasown -- safe module.exports = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty(toObject(it), key); }; /***/ }), /***/ 7467: /***/ ((module) => { "use strict"; module.exports = {}; /***/ }), /***/ 845: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var getBuiltIn = __webpack_require__(7300); module.exports = getBuiltIn('document', 'documentElement'); /***/ }), /***/ 2470: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5007); var fails = __webpack_require__(5202); var createElement = __webpack_require__(2215); // Thanks to IE8 for its funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a !== 7; }); /***/ }), /***/ 6854: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var fails = __webpack_require__(5202); var classof = __webpack_require__(4545); var $Object = Object; var split = uncurryThis(''.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 -- safe return !$Object('z').propertyIsEnumerable(0); }) ? function (it) { return classof(it) === 'String' ? split(it, '') : $Object(it); } : $Object; /***/ }), /***/ 7821: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var isCallable = __webpack_require__(2539); var store = __webpack_require__(6838); var functionToString = uncurryThis(Function.toString); // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper if (!isCallable(store.inspectSource)) { store.inspectSource = function (it) { return functionToString(it); }; } module.exports = store.inspectSource; /***/ }), /***/ 5378: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var NATIVE_WEAK_MAP = __webpack_require__(2543); var global = __webpack_require__(730); var isObject = __webpack_require__(3988); var createNonEnumerableProperty = __webpack_require__(8868); var hasOwn = __webpack_require__(2623); var shared = __webpack_require__(6838); var sharedKey = __webpack_require__(3511); var hiddenKeys = __webpack_require__(7467); var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; var TypeError = global.TypeError; 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 new TypeError('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; if (NATIVE_WEAK_MAP || shared.state) { var store = shared.state || (shared.state = new WeakMap()); /* eslint-disable no-self-assign -- prototype methods protection */ store.get = store.get; store.has = store.has; store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; }; get = function (it) { return store.get(it) || {}; }; has = function (it) { return store.has(it); }; } else { var STATE = sharedKey('state'); hiddenKeys[STATE] = true; set = function (it, metadata) { if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty(it, STATE, metadata); return metadata; }; get = function (it) { return hasOwn(it, STATE) ? it[STATE] : {}; }; has = function (it) { return hasOwn(it, STATE); }; } module.exports = { set: set, get: get, has: has, enforce: enforce, getterFor: getterFor }; /***/ }), /***/ 7024: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var wellKnownSymbol = __webpack_require__(5485); var Iterators = __webpack_require__(7817); var ITERATOR = wellKnownSymbol('iterator'); var ArrayPrototype = Array.prototype; // check on default Array iterator module.exports = function (it) { return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); }; /***/ }), /***/ 2539: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $documentAll = __webpack_require__(8629); var documentAll = $documentAll.all; // `IsCallable` abstract operation // https://tc39.es/ecma262/#sec-iscallable module.exports = $documentAll.IS_HTMLDDA ? function (argument) { return typeof argument == 'function' || argument === documentAll; } : function (argument) { return typeof argument == 'function'; }; /***/ }), /***/ 6467: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var fails = __webpack_require__(5202); var isCallable = __webpack_require__(2539); var classof = __webpack_require__(2702); var getBuiltIn = __webpack_require__(7300); var inspectSource = __webpack_require__(7821); var noop = function () { /* empty */ }; var empty = []; var construct = getBuiltIn('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec = uncurryThis(constructorRegExp.exec); var INCORRECT_TO_STRING = !constructorRegExp.test(noop); var isConstructorModern = function isConstructor(argument) { if (!isCallable(argument)) return false; try { construct(noop, empty, argument); return true; } catch (error) { return false; } }; var isConstructorLegacy = function isConstructor(argument) { if (!isCallable(argument)) return false; switch (classof(argument)) { case 'AsyncFunction': case 'GeneratorFunction': case 'AsyncGeneratorFunction': return false; } try { // we can't check .prototype since constructors produced by .bind haven't it // `Function#toString` throws on some built-it function in some legacy engines // (for example, `DOMQuad` and similar in FF41-) return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); } catch (error) { return true; } }; isConstructorLegacy.sham = true; // `IsConstructor` abstract operation // https://tc39.es/ecma262/#sec-isconstructor module.exports = !construct || fails(function () { var called; return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () { called = true; }) || called; }) ? isConstructorLegacy : isConstructorModern; /***/ }), /***/ 3455: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(5202); var isCallable = __webpack_require__(2539); var replacement = /#|\.prototype\./; var isForced = function (feature, detection) { var value = data[normalize(feature)]; return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? 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; /***/ }), /***/ 2219: /***/ ((module) => { "use strict"; // we can't use just `it == null` since of `document.all` special case // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec module.exports = function (it) { return it === null || it === undefined; }; /***/ }), /***/ 3988: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isCallable = __webpack_require__(2539); var $documentAll = __webpack_require__(8629); var documentAll = $documentAll.all; module.exports = $documentAll.IS_HTMLDDA ? function (it) { return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll; } : function (it) { return typeof it == 'object' ? it !== null : isCallable(it); }; /***/ }), /***/ 4708: /***/ ((module) => { "use strict"; module.exports = false; /***/ }), /***/ 184: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isObject = __webpack_require__(3988); var classof = __webpack_require__(4545); var wellKnownSymbol = __webpack_require__(5485); 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'); }; /***/ }), /***/ 8820: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var getBuiltIn = __webpack_require__(7300); var isCallable = __webpack_require__(2539); var isPrototypeOf = __webpack_require__(7676); var USE_SYMBOL_AS_UID = __webpack_require__(3713); var $Object = Object; module.exports = USE_SYMBOL_AS_UID ? function (it) { return typeof it == 'symbol'; } : function (it) { var $Symbol = getBuiltIn('Symbol'); return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); }; /***/ }), /***/ 8880: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var call = __webpack_require__(2977); var anObject = __webpack_require__(8874); var getMethod = __webpack_require__(3923); module.exports = function (iterator, kind, value) { var innerResult, innerError; anObject(iterator); try { innerResult = getMethod(iterator, 'return'); if (!innerResult) { if (kind === 'throw') throw value; return value; } innerResult = call(innerResult, iterator); } catch (error) { innerError = true; innerResult = error; } if (kind === 'throw') throw value; if (innerError) throw innerResult; anObject(innerResult); return value; }; /***/ }), /***/ 3450: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var IteratorPrototype = (__webpack_require__(344).IteratorPrototype); var create = __webpack_require__(3830); var createPropertyDescriptor = __webpack_require__(4238); var setToStringTag = __webpack_require__(3506); var Iterators = __webpack_require__(7817); var returnThis = function () { return this; }; module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { var TO_STRING_TAG = NAME + ' Iterator'; IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); Iterators[TO_STRING_TAG] = returnThis; return IteratorConstructor; }; /***/ }), /***/ 3174: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $ = __webpack_require__(2189); var call = __webpack_require__(2977); var IS_PURE = __webpack_require__(4708); var FunctionName = __webpack_require__(9895); var isCallable = __webpack_require__(2539); var createIteratorConstructor = __webpack_require__(3450); var getPrototypeOf = __webpack_require__(8059); var setPrototypeOf = __webpack_require__(5502); var setToStringTag = __webpack_require__(3506); var createNonEnumerableProperty = __webpack_require__(8868); var defineBuiltIn = __webpack_require__(916); var wellKnownSymbol = __webpack_require__(5485); var Iterators = __webpack_require__(7817); var IteratorsCore = __webpack_require__(344); var PROPER_FUNCTION_NAME = FunctionName.PROPER; var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; var IteratorPrototype = IteratorsCore.IteratorPrototype; var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; var ITERATOR = wellKnownSymbol('iterator'); var KEYS = 'keys'; var VALUES = 'values'; var ENTRIES = 'entries'; var returnThis = function () { return this; }; module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { createIteratorConstructor(IteratorConstructor, NAME, next); var getIterationMethod = function (KIND) { if (KIND === DEFAULT && defaultIterator) return defaultIterator; if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; switch (KIND) { case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; } return function () { return new IteratorConstructor(this); }; }; var TO_STRING_TAG = NAME + ' Iterator'; var INCORRECT_VALUES_NAME = false; var IterablePrototype = Iterable.prototype; var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; var CurrentIteratorPrototype, methods, KEY; // fix native if (anyNativeIterator) { CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { if (setPrototypeOf) { setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); } } // Set @@toStringTag to native iterators setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; } } // fix Array.prototype.{ values, @@iterator }.name in V8 / FF if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { createNonEnumerableProperty(IterablePrototype, 'name', VALUES); } else { INCORRECT_VALUES_NAME = true; defaultIterator = function values() { return call(nativeIterator, this); }; } } // export additional methods if (DEFAULT) { methods = { values: getIterationMethod(VALUES), keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), entries: getIterationMethod(ENTRIES) }; if (FORCED) for (KEY in methods) { if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { defineBuiltIn(IterablePrototype, KEY, methods[KEY]); } } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); } // define iterator if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); } Iterators[NAME] = defaultIterator; return methods; }; /***/ }), /***/ 344: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(5202); var isCallable = __webpack_require__(2539); var isObject = __webpack_require__(3988); var create = __webpack_require__(3830); var getPrototypeOf = __webpack_require__(8059); var defineBuiltIn = __webpack_require__(916); var wellKnownSymbol = __webpack_require__(5485); var IS_PURE = __webpack_require__(4708); var ITERATOR = wellKnownSymbol('iterator'); var BUGGY_SAFARI_ITERATORS = false; // `%IteratorPrototype%` object // https://tc39.es/ecma262/#sec-%iteratorprototype%-object var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; /* eslint-disable es/no-array-prototype-keys -- safe */ if ([].keys) { arrayIterator = [].keys(); // Safari 8 has buggy iterators w/o `next` if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; else { PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; } } var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { var test = {}; // FF44- legacy iterators case return IteratorPrototype[ITERATOR].call(test) !== test; }); if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); // `%IteratorPrototype%[@@iterator]()` method // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator if (!isCallable(IteratorPrototype[ITERATOR])) { defineBuiltIn(IteratorPrototype, ITERATOR, function () { return this; }); } module.exports = { IteratorPrototype: IteratorPrototype, BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS }; /***/ }), /***/ 7817: /***/ ((module) => { "use strict"; module.exports = {}; /***/ }), /***/ 3235: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toLength = __webpack_require__(3627); // `LengthOfArrayLike` abstract operation // https://tc39.es/ecma262/#sec-lengthofarraylike module.exports = function (obj) { return toLength(obj.length); }; /***/ }), /***/ 6614: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var fails = __webpack_require__(5202); var isCallable = __webpack_require__(2539); var hasOwn = __webpack_require__(2623); var DESCRIPTORS = __webpack_require__(5007); var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(9895).CONFIGURABLE); var inspectSource = __webpack_require__(7821); var InternalStateModule = __webpack_require__(5378); var enforceInternalState = InternalStateModule.enforce; var getInternalState = InternalStateModule.get; var $String = String; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty = Object.defineProperty; var stringSlice = uncurryThis(''.slice); var replace = uncurryThis(''.replace); var join = uncurryThis([].join); var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; }); var TEMPLATE = String(String).split('String'); var makeBuiltIn = module.exports = function (value, name, options) { if (stringSlice($String(name), 0, 7) === 'Symbol(') { name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']'; } if (options && options.getter) name = 'get ' + name; if (options && options.setter) name = 'set ' + name; if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); else value.name = name; } if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { defineProperty(value, 'length', { value: options.arity }); } try { if (options && hasOwn(options, 'constructor') && options.constructor) { if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable } else if (value.prototype) value.prototype = undefined; } catch (error) { /* empty */ } var state = enforceInternalState(value); if (!hasOwn(state, 'source')) { state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); } return value; }; // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative // eslint-disable-next-line no-extend-native -- required Function.prototype.toString = makeBuiltIn(function toString() { return isCallable(this) && getInternalState(this).source || inspectSource(this); }, 'toString'); /***/ }), /***/ 3041: /***/ ((module) => { "use strict"; var ceil = Math.ceil; var floor = Math.floor; // `Math.trunc` method // https://tc39.es/ecma262/#sec-math.trunc // eslint-disable-next-line es/no-math-trunc -- safe module.exports = Math.trunc || function trunc(x) { var n = +x; return (n > 0 ? floor : ceil)(n); }; /***/ }), /***/ 50: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isRegExp = __webpack_require__(184); var $TypeError = TypeError; module.exports = function (it) { if (isRegExp(it)) { throw new $TypeError("The method doesn't accept regular expressions"); } return it; }; /***/ }), /***/ 3830: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* global ActiveXObject -- old IE, WSH */ var anObject = __webpack_require__(8874); var definePropertiesModule = __webpack_require__(3944); var enumBugKeys = __webpack_require__(8552); var hiddenKeys = __webpack_require__(7467); var html = __webpack_require__(845); var documentCreateElement = __webpack_require__(2215); var sharedKey = __webpack_require__(3511); var GT = '>'; var LT = '<'; var PROTOTYPE = 'prototype'; var SCRIPT = 'script'; var IE_PROTO = sharedKey('IE_PROTO'); var EmptyConstructor = function () { /* empty */ }; var scriptTag = function (content) { return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; }; // Create object with fake `null` prototype: use ActiveX Object with cleared prototype var NullProtoObjectViaActiveX = function (activeXDocument) { activeXDocument.write(scriptTag('')); activeXDocument.close(); var temp = activeXDocument.parentWindow.Object; activeXDocument = null; // avoid memory leak return temp; }; // Create object with fake `null` prototype: use iframe Object with cleared prototype var NullProtoObjectViaIFrame = function () { // Thrash, waste and sodomy: IE GC bug var iframe = documentCreateElement('iframe'); var JS = 'java' + SCRIPT + ':'; var iframeDocument; iframe.style.display = 'none'; html.appendChild(iframe); // https://github.com/zloirock/core-js/issues/475 iframe.src = String(JS); iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(scriptTag('document.F=Object')); iframeDocument.close(); return iframeDocument.F; }; // Check for document.domain and active x support // No need to use active x approach when document.domain is not set // see https://github.com/es-shims/es5-shim/issues/150 // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 // avoid IE GC bug var activeXDocument; var NullProtoObject = function () { try { activeXDocument = new ActiveXObject('htmlfile'); } catch (error) { /* ignore */ } NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) // old IE : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); // WSH var length = enumBugKeys.length; while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; return NullProtoObject(); }; hiddenKeys[IE_PROTO] = true; // `Object.create` method // https://tc39.es/ecma262/#sec-object.create // eslint-disable-next-line es/no-object-create -- safe module.exports = Object.create || function create(O, Properties) { var result; if (O !== null) { EmptyConstructor[PROTOTYPE] = anObject(O); result = new EmptyConstructor(); EmptyConstructor[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO] = O; } else result = NullProtoObject(); return Properties === undefined ? result : definePropertiesModule.f(result, Properties); }; /***/ }), /***/ 3944: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5007); var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(2268); var definePropertyModule = __webpack_require__(8503); var anObject = __webpack_require__(8874); var toIndexedObject = __webpack_require__(7625); var objectKeys = __webpack_require__(4254); // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties // eslint-disable-next-line es/no-object-defineproperties -- safe exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var props = toIndexedObject(Properties); var keys = objectKeys(Properties); var length = keys.length; var index = 0; var key; while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); return O; }; /***/ }), /***/ 8503: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5007); var IE8_DOM_DEFINE = __webpack_require__(2470); var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(2268); var anObject = __webpack_require__(8874); var toPropertyKey = __webpack_require__(3164); var $TypeError = TypeError; // eslint-disable-next-line es/no-object-defineproperty -- safe var $defineProperty = Object.defineProperty; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var ENUMERABLE = 'enumerable'; var CONFIGURABLE = 'configurable'; var WRITABLE = 'writable'; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { anObject(O); P = toPropertyKey(P); anObject(Attributes); if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { var current = $getOwnPropertyDescriptor(O, P); if (current && current[WRITABLE]) { O[P] = Attributes.value; Attributes = { configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], writable: false }; } } return $defineProperty(O, P, Attributes); } : $defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPropertyKey(P); anObject(Attributes); if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; /***/ }), /***/ 3037: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5007); var call = __webpack_require__(2977); var propertyIsEnumerableModule = __webpack_require__(6251); var createPropertyDescriptor = __webpack_require__(4238); var toIndexedObject = __webpack_require__(7625); var toPropertyKey = __webpack_require__(3164); var hasOwn = __webpack_require__(2623); var IE8_DOM_DEFINE = __webpack_require__(2470); // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPropertyKey(P); if (IE8_DOM_DEFINE) try { return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); }; /***/ }), /***/ 5974: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var internalObjectKeys = __webpack_require__(7862); var enumBugKeys = __webpack_require__(8552); var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames // eslint-disable-next-line es/no-object-getownpropertynames -- safe exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; /***/ }), /***/ 1526: /***/ ((__unused_webpack_module, exports) => { "use strict"; // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe exports.f = Object.getOwnPropertySymbols; /***/ }), /***/ 8059: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var hasOwn = __webpack_require__(2623); var isCallable = __webpack_require__(2539); var toObject = __webpack_require__(6015); var sharedKey = __webpack_require__(3511); var CORRECT_PROTOTYPE_GETTER = __webpack_require__(6141); var IE_PROTO = sharedKey('IE_PROTO'); var $Object = Object; var ObjectPrototype = $Object.prototype; // `Object.getPrototypeOf` method // https://tc39.es/ecma262/#sec-object.getprototypeof // eslint-disable-next-line es/no-object-getprototypeof -- safe module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { var object = toObject(O); if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; var constructor = object.constructor; if (isCallable(constructor) && object instanceof constructor) { return constructor.prototype; } return object instanceof $Object ? ObjectPrototype : null; }; /***/ }), /***/ 7676: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); module.exports = uncurryThis({}.isPrototypeOf); /***/ }), /***/ 7862: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var hasOwn = __webpack_require__(2623); var toIndexedObject = __webpack_require__(7625); var indexOf = (__webpack_require__(5644).indexOf); var hiddenKeys = __webpack_require__(7467); var push = uncurryThis([].push); module.exports = function (object, names) { var O = toIndexedObject(object); var i = 0; var result = []; var key; for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); // Don't enum bug & hidden keys while (names.length > i) if (hasOwn(O, key = names[i++])) { ~indexOf(result, key) || push(result, key); } return result; }; /***/ }), /***/ 4254: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var internalObjectKeys = __webpack_require__(7862); var enumBugKeys = __webpack_require__(8552); // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys // eslint-disable-next-line es/no-object-keys -- safe module.exports = Object.keys || function keys(O) { return internalObjectKeys(O, enumBugKeys); }; /***/ }), /***/ 6251: /***/ ((__unused_webpack_module, exports) => { "use strict"; var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.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; } : $propertyIsEnumerable; /***/ }), /***/ 5502: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* eslint-disable no-proto -- safe */ var uncurryThisAccessor = __webpack_require__(6589); var anObject = __webpack_require__(8874); var aPossiblePrototype = __webpack_require__(2162); // `Object.setPrototypeOf` method // https://tc39.es/ecma262/#sec-object.setprototypeof // Works with __proto__ only. Old v8 can't work with null proto objects. // eslint-disable-next-line es/no-object-setprototypeof -- safe module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { var CORRECT_SETTER = false; var test = {}; var setter; try { setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); setter(test, []); CORRECT_SETTER = test instanceof Array; } catch (error) { /* empty */ } return function setPrototypeOf(O, proto) { anObject(O); aPossiblePrototype(proto); if (CORRECT_SETTER) setter(O, proto); else O.__proto__ = proto; return O; }; }() : undefined); /***/ }), /***/ 7830: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5007); var fails = __webpack_require__(5202); var uncurryThis = __webpack_require__(4038); var objectGetPrototypeOf = __webpack_require__(8059); var objectKeys = __webpack_require__(4254); var toIndexedObject = __webpack_require__(7625); var $propertyIsEnumerable = (__webpack_require__(6251).f); var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); var push = uncurryThis([].push); // in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys // of `null` prototype objects var IE_BUG = DESCRIPTORS && fails(function () { // eslint-disable-next-line es/no-object-create -- safe var O = Object.create(null); O[2] = 2; return !propertyIsEnumerable(O, 2); }); // `Object.{ entries, values }` methods implementation var createMethod = function (TO_ENTRIES) { return function (it) { var O = toIndexedObject(it); var keys = objectKeys(O); var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; var length = keys.length; var i = 0; var result = []; var key; while (length > i) { key = keys[i++]; if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { push(result, TO_ENTRIES ? [key, O[key]] : O[key]); } } return result; }; }; module.exports = { // `Object.entries` method // https://tc39.es/ecma262/#sec-object.entries entries: createMethod(true), // `Object.values` method // https://tc39.es/ecma262/#sec-object.values values: createMethod(false) }; /***/ }), /***/ 532: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var call = __webpack_require__(2977); var isCallable = __webpack_require__(2539); var isObject = __webpack_require__(3988); var $TypeError = TypeError; // `OrdinaryToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-ordinarytoprimitive module.exports = function (input, pref) { var fn, val; if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; throw new $TypeError("Can't convert object to primitive value"); }; /***/ }), /***/ 3054: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var getBuiltIn = __webpack_require__(7300); var uncurryThis = __webpack_require__(4038); var getOwnPropertyNamesModule = __webpack_require__(5974); var getOwnPropertySymbolsModule = __webpack_require__(1526); var anObject = __webpack_require__(8874); var concat = uncurryThis([].concat); // 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 ? concat(keys, getOwnPropertySymbols(it)) : keys; }; /***/ }), /***/ 577: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); module.exports = global; /***/ }), /***/ 6373: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isNullOrUndefined = __webpack_require__(2219); var $TypeError = TypeError; // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible module.exports = function (it) { if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); return it; }; /***/ }), /***/ 3506: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var defineProperty = (__webpack_require__(8503).f); var hasOwn = __webpack_require__(2623); var wellKnownSymbol = __webpack_require__(5485); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); module.exports = function (target, TAG, STATIC) { if (target && !STATIC) target = target.prototype; if (target && !hasOwn(target, TO_STRING_TAG)) { defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); } }; /***/ }), /***/ 3511: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var shared = __webpack_require__(6568); var uid = __webpack_require__(2858); var keys = shared('keys'); module.exports = function (key) { return keys[key] || (keys[key] = uid(key)); }; /***/ }), /***/ 6838: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); var defineGlobalProperty = __webpack_require__(2136); var SHARED = '__core-js_shared__'; var store = global[SHARED] || defineGlobalProperty(SHARED, {}); module.exports = store; /***/ }), /***/ 6568: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var IS_PURE = __webpack_require__(4708); var store = __webpack_require__(6838); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ version: '3.34.0', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); /***/ }), /***/ 6365: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var toIntegerOrInfinity = __webpack_require__(3550); var toString = __webpack_require__(2532); var requireObjectCoercible = __webpack_require__(6373); var charAt = uncurryThis(''.charAt); var charCodeAt = uncurryThis(''.charCodeAt); var stringSlice = uncurryThis(''.slice); var createMethod = function (CONVERT_TO_STRING) { return function ($this, pos) { var S = toString(requireObjectCoercible($this)); var position = toIntegerOrInfinity(pos); var size = S.length; var first, second; if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; first = charCodeAt(S, position); return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, 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) }; /***/ }), /***/ 3370: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* eslint-disable es/no-symbol -- required for testing */ var V8_VERSION = __webpack_require__(7626); var fails = __webpack_require__(5202); var global = __webpack_require__(730); var $String = global.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing module.exports = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol('symbol detection'); // Chrome 38 Symbol has incorrect toString conversion // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, // of course, fail. return !$String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION && V8_VERSION < 41; }); /***/ }), /***/ 7234: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toIntegerOrInfinity = __webpack_require__(3550); 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 = toIntegerOrInfinity(index); return integer < 0 ? max(integer + length, 0) : min(integer, length); }; /***/ }), /***/ 7625: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; // toObject with fallback for non-array-like ES3 strings var IndexedObject = __webpack_require__(6854); var requireObjectCoercible = __webpack_require__(6373); module.exports = function (it) { return IndexedObject(requireObjectCoercible(it)); }; /***/ }), /***/ 3550: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var trunc = __webpack_require__(3041); // `ToIntegerOrInfinity` abstract operation // https://tc39.es/ecma262/#sec-tointegerorinfinity module.exports = function (argument) { var number = +argument; // eslint-disable-next-line no-self-compare -- NaN check return number !== number || number === 0 ? 0 : trunc(number); }; /***/ }), /***/ 3627: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toIntegerOrInfinity = __webpack_require__(3550); var min = Math.min; // `ToLength` abstract operation // https://tc39.es/ecma262/#sec-tolength module.exports = function (argument) { return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 }; /***/ }), /***/ 6015: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var requireObjectCoercible = __webpack_require__(6373); var $Object = Object; // `ToObject` abstract operation // https://tc39.es/ecma262/#sec-toobject module.exports = function (argument) { return $Object(requireObjectCoercible(argument)); }; /***/ }), /***/ 634: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var call = __webpack_require__(2977); var isObject = __webpack_require__(3988); var isSymbol = __webpack_require__(8820); var getMethod = __webpack_require__(3923); var ordinaryToPrimitive = __webpack_require__(532); var wellKnownSymbol = __webpack_require__(5485); var $TypeError = TypeError; var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); // `ToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-toprimitive module.exports = function (input, pref) { if (!isObject(input) || isSymbol(input)) return input; var exoticToPrim = getMethod(input, TO_PRIMITIVE); var result; if (exoticToPrim) { if (pref === undefined) pref = 'default'; result = call(exoticToPrim, input, pref); if (!isObject(result) || isSymbol(result)) return result; throw new $TypeError("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); }; /***/ }), /***/ 3164: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toPrimitive = __webpack_require__(634); var isSymbol = __webpack_require__(8820); // `ToPropertyKey` abstract operation // https://tc39.es/ecma262/#sec-topropertykey module.exports = function (argument) { var key = toPrimitive(argument, 'string'); return isSymbol(key) ? key : key + ''; }; /***/ }), /***/ 1923: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var wellKnownSymbol = __webpack_require__(5485); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var test = {}; test[TO_STRING_TAG] = 'z'; module.exports = String(test) === '[object z]'; /***/ }), /***/ 2532: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var classof = __webpack_require__(2702); var $String = String; module.exports = function (argument) { if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); return $String(argument); }; /***/ }), /***/ 7471: /***/ ((module) => { "use strict"; var $String = String; module.exports = function (argument) { try { return $String(argument); } catch (error) { return 'Object'; } }; /***/ }), /***/ 2858: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(4038); var id = 0; var postfix = Math.random(); var toString = uncurryThis(1.0.toString); module.exports = function (key) { return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); }; /***/ }), /***/ 3713: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* eslint-disable es/no-symbol -- required for testing */ var NATIVE_SYMBOL = __webpack_require__(3370); module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; /***/ }), /***/ 2268: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5007); var fails = __webpack_require__(5202); // V8 ~ Chrome 36- // https://bugs.chromium.org/p/v8/issues/detail?id=3334 module.exports = DESCRIPTORS && fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false }).prototype !== 42; }); /***/ }), /***/ 2543: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); var isCallable = __webpack_require__(2539); var WeakMap = global.WeakMap; module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); /***/ }), /***/ 5485: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var global = __webpack_require__(730); var shared = __webpack_require__(6568); var hasOwn = __webpack_require__(2623); var uid = __webpack_require__(2858); var NATIVE_SYMBOL = __webpack_require__(3370); var USE_SYMBOL_AS_UID = __webpack_require__(3713); var Symbol = global.Symbol; var WellKnownSymbolsStore = shared('wks'); var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; module.exports = function (name) { if (!hasOwn(WellKnownSymbolsStore, name)) { WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol('Symbol.' + name); } return WellKnownSymbolsStore[name]; }; /***/ }), /***/ 5445: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $ = __webpack_require__(2189); var fill = __webpack_require__(9236); var addToUnscopables = __webpack_require__(2572); // `Array.prototype.fill` method // https://tc39.es/ecma262/#sec-array.prototype.fill $({ target: 'Array', proto: true }, { fill: fill }); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables addToUnscopables('fill'); /***/ }), /***/ 6272: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $ = __webpack_require__(2189); var from = __webpack_require__(8459); var checkCorrectnessOfIteration = __webpack_require__(3346); var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { // eslint-disable-next-line es/no-array-from -- required for testing Array.from(iterable); }); // `Array.from` method // https://tc39.es/ecma262/#sec-array.from $({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { from: from }); /***/ }), /***/ 2947: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $ = __webpack_require__(2189); var $values = (__webpack_require__(7830).values); // `Object.values` method // https://tc39.es/ecma262/#sec-object.values $({ target: 'Object', stat: true }, { values: function values(O) { return $values(O); } }); /***/ }), /***/ 538: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $ = __webpack_require__(2189); var uncurryThis = __webpack_require__(6192); var getOwnPropertyDescriptor = (__webpack_require__(3037).f); var toLength = __webpack_require__(3627); var toString = __webpack_require__(2532); var notARegExp = __webpack_require__(50); var requireObjectCoercible = __webpack_require__(6373); var correctIsRegExpLogic = __webpack_require__(6775); var IS_PURE = __webpack_require__(4708); // eslint-disable-next-line es/no-string-prototype-endswith -- safe var nativeEndsWith = uncurryThis(''.endsWith); var slice = uncurryThis(''.slice); var min = Math.min; var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); // https://github.com/zloirock/core-js/pull/702 var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); return descriptor && !descriptor.writable; }(); // `String.prototype.endsWith` method // https://tc39.es/ecma262/#sec-string.prototype.endswith $({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { endsWith: function endsWith(searchString /* , endPosition = @length */) { var that = toString(requireObjectCoercible(this)); notARegExp(searchString); var endPosition = arguments.length > 1 ? arguments[1] : undefined; var len = that.length; var end = endPosition === undefined ? len : min(toLength(endPosition), len); var search = toString(searchString); return nativeEndsWith ? nativeEndsWith(that, search, end) : slice(that, end - search.length, end) === search; } }); /***/ }), /***/ 9477: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var charAt = (__webpack_require__(6365).charAt); var toString = __webpack_require__(2532); var InternalStateModule = __webpack_require__(5378); var defineIterator = __webpack_require__(3174); var createIterResultObject = __webpack_require__(3585); var STRING_ITERATOR = 'String Iterator'; var setInternalState = InternalStateModule.set; var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); // `String.prototype[@@iterator]` method // https://tc39.es/ecma262/#sec-string.prototype-@@iterator defineIterator(String, 'String', function (iterated) { setInternalState(this, { type: STRING_ITERATOR, string: toString(iterated), index: 0 }); // `%StringIteratorPrototype%.next` method // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next }, function next() { var state = getInternalState(this); var string = state.string; var index = state.index; var point; if (index >= string.length) return createIterResultObject(undefined, true); point = charAt(string, index); state.index += point.length; return createIterResultObject(point, false); }); /***/ }), /***/ 9731: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(2327); module.exports = parent; /***/ }), /***/ 4401: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(3274); module.exports = parent; /***/ }), /***/ 3661: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(5339); module.exports = parent; /***/ }), /***/ 5606: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(1189); module.exports = parent; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ id: moduleId, /******/ loaded: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/global */ /******/ (() => { /******/ __webpack_require__.g = (function() { /******/ if (typeof globalThis === 'object') return globalThis; /******/ try { /******/ return this || new Function('return this')(); /******/ } catch (e) { /******/ if (typeof window === 'object') return window; /******/ } /******/ })(); /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/node module decorator */ /******/ (() => { /******/ __webpack_require__.nmd = (module) => { /******/ module.paths = []; /******/ if (!module.children) module.children = []; /******/ return module; /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be in strict mode. (() => { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "default": () => (/* binding */ quill) }); // EXTERNAL MODULE: ./node_modules/core-js/features/array/from.js var from = __webpack_require__(1019); // EXTERNAL MODULE: ./node_modules/core-js/features/array/fill.js var fill = __webpack_require__(5142); // EXTERNAL MODULE: ./node_modules/core-js/features/object/values.js var values = __webpack_require__(1183); // EXTERNAL MODULE: ./node_modules/core-js/features/string/ends-with.js var ends_with = __webpack_require__(2570); ;// CONCATENATED MODULE: ./polyfills.js // IE11 support // EXTERNAL MODULE: ./core.js var core = __webpack_require__(2432); // EXTERNAL MODULE: ./formats/align.js var align = __webpack_require__(715); // EXTERNAL MODULE: ./formats/direction.js var direction = __webpack_require__(4048); // EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules var parchment = __webpack_require__(1233); ;// CONCATENATED MODULE: ./formats/indent.js function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var IndentAttributor = /*#__PURE__*/function (_ClassAttributor) { _inherits(IndentAttributor, _ClassAttributor); var _super = _createSuper(IndentAttributor); function IndentAttributor() { _classCallCheck(this, IndentAttributor); return _super.apply(this, arguments); } _createClass(IndentAttributor, [{ key: "add", value: function add(node, value) { if (value === '+1' || value === '-1') { var indent = this.value(node) || 0; value = value === '+1' ? indent + 1 : indent - 1; } if (value === 0) { this.remove(node); return true; } return _get(_getPrototypeOf(IndentAttributor.prototype), "add", this).call(this, node, value); } }, { key: "canAdd", value: function canAdd(node, value) { return _get(_getPrototypeOf(IndentAttributor.prototype), "canAdd", this).call(this, node, value) || _get(_getPrototypeOf(IndentAttributor.prototype), "canAdd", this).call(this, node, parseInt(value, 10)); } }, { key: "value", value: function value(node) { return parseInt(_get(_getPrototypeOf(IndentAttributor.prototype), "value", this).call(this, node), 10) || undefined; // Don't return NaN } }]); return IndentAttributor; }(parchment.ClassAttributor); var IndentClass = new IndentAttributor('indent', 'ql-indent', { scope: parchment.Scope.BLOCK, whitelist: [1, 2, 3, 4, 5, 6, 7, 8] }); /* harmony default export */ const indent = (IndentClass); // EXTERNAL MODULE: ./blots/block.js + 1 modules var block = __webpack_require__(6446); ;// CONCATENATED MODULE: ./formats/blockquote.js function blockquote_typeof(o) { "@babel/helpers - typeof"; return blockquote_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, blockquote_typeof(o); } function blockquote_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, blockquote_toPropertyKey(descriptor.key), descriptor); } } function blockquote_createClass(Constructor, protoProps, staticProps) { if (protoProps) blockquote_defineProperties(Constructor.prototype, protoProps); if (staticProps) blockquote_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function blockquote_toPropertyKey(arg) { var key = blockquote_toPrimitive(arg, "string"); return blockquote_typeof(key) === "symbol" ? key : String(key); } function blockquote_toPrimitive(input, hint) { if (blockquote_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (blockquote_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function blockquote_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function blockquote_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) blockquote_setPrototypeOf(subClass, superClass); } function blockquote_setPrototypeOf(o, p) { blockquote_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return blockquote_setPrototypeOf(o, p); } function blockquote_createSuper(Derived) { var hasNativeReflectConstruct = blockquote_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = blockquote_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = blockquote_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return blockquote_possibleConstructorReturn(this, result); }; } function blockquote_possibleConstructorReturn(self, call) { if (call && (blockquote_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return blockquote_assertThisInitialized(self); } function blockquote_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function blockquote_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function blockquote_getPrototypeOf(o) { blockquote_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return blockquote_getPrototypeOf(o); } var Blockquote = /*#__PURE__*/function (_Block) { blockquote_inherits(Blockquote, _Block); var _super = blockquote_createSuper(Blockquote); function Blockquote() { blockquote_classCallCheck(this, Blockquote); return _super.apply(this, arguments); } return blockquote_createClass(Blockquote); }(block/* default */.ZP); Blockquote.blotName = 'blockquote'; Blockquote.tagName = 'blockquote'; /* harmony default export */ const blockquote = (Blockquote); ;// CONCATENATED MODULE: ./formats/header.js function header_typeof(o) { "@babel/helpers - typeof"; return header_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, header_typeof(o); } function header_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function header_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, header_toPropertyKey(descriptor.key), descriptor); } } function header_createClass(Constructor, protoProps, staticProps) { if (protoProps) header_defineProperties(Constructor.prototype, protoProps); if (staticProps) header_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function header_toPropertyKey(arg) { var key = header_toPrimitive(arg, "string"); return header_typeof(key) === "symbol" ? key : String(key); } function header_toPrimitive(input, hint) { if (header_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (header_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function header_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) header_setPrototypeOf(subClass, superClass); } function header_setPrototypeOf(o, p) { header_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return header_setPrototypeOf(o, p); } function header_createSuper(Derived) { var hasNativeReflectConstruct = header_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = header_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = header_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return header_possibleConstructorReturn(this, result); }; } function header_possibleConstructorReturn(self, call) { if (call && (header_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return header_assertThisInitialized(self); } function header_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function header_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function header_getPrototypeOf(o) { header_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return header_getPrototypeOf(o); } var Header = /*#__PURE__*/function (_Block) { header_inherits(Header, _Block); var _super = header_createSuper(Header); function Header() { header_classCallCheck(this, Header); return _super.apply(this, arguments); } header_createClass(Header, null, [{ key: "formats", value: function formats(domNode) { return this.tagName.indexOf(domNode.tagName) + 1; } }]); return Header; }(block/* default */.ZP); Header.blotName = 'header'; Header.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6']; /* harmony default export */ const header = (Header); // EXTERNAL MODULE: ./blots/container.js var container = __webpack_require__(3553); // EXTERNAL MODULE: ./core/quill.js var core_quill = __webpack_require__(281); ;// CONCATENATED MODULE: ./formats/list.js function list_typeof(o) { "@babel/helpers - typeof"; return list_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, list_typeof(o); } function list_get() { if (typeof Reflect !== "undefined" && Reflect.get) { list_get = Reflect.get.bind(); } else { list_get = function _get(target, property, receiver) { var base = list_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return list_get.apply(this, arguments); } function list_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = list_getPrototypeOf(object); if (object === null) break; } return object; } function list_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, list_toPropertyKey(descriptor.key), descriptor); } } function list_createClass(Constructor, protoProps, staticProps) { if (protoProps) list_defineProperties(Constructor.prototype, protoProps); if (staticProps) list_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function list_toPropertyKey(arg) { var key = list_toPrimitive(arg, "string"); return list_typeof(key) === "symbol" ? key : String(key); } function list_toPrimitive(input, hint) { if (list_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (list_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function list_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function list_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) list_setPrototypeOf(subClass, superClass); } function list_setPrototypeOf(o, p) { list_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return list_setPrototypeOf(o, p); } function list_createSuper(Derived) { var hasNativeReflectConstruct = list_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = list_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = list_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return list_possibleConstructorReturn(this, result); }; } function list_possibleConstructorReturn(self, call) { if (call && (list_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return list_assertThisInitialized(self); } function list_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function list_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function list_getPrototypeOf(o) { list_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return list_getPrototypeOf(o); } var ListContainer = /*#__PURE__*/function (_Container) { list_inherits(ListContainer, _Container); var _super = list_createSuper(ListContainer); function ListContainer() { list_classCallCheck(this, ListContainer); return _super.apply(this, arguments); } return list_createClass(ListContainer); }(container/* default */.Z); ListContainer.blotName = 'list-container'; ListContainer.tagName = 'OL'; var ListItem = /*#__PURE__*/function (_Block) { list_inherits(ListItem, _Block); var _super2 = list_createSuper(ListItem); function ListItem(scroll, domNode) { var _this; list_classCallCheck(this, ListItem); _this = _super2.call(this, scroll, domNode); var ui = domNode.ownerDocument.createElement('span'); var listEventHandler = function listEventHandler(e) { if (!scroll.isEnabled()) return; var format = _this.statics.formats(domNode, scroll); if (format === 'checked') { _this.format('list', 'unchecked'); e.preventDefault(); } else if (format === 'unchecked') { _this.format('list', 'checked'); e.preventDefault(); } }; ui.addEventListener('mousedown', listEventHandler); ui.addEventListener('touchstart', listEventHandler); _this.attachUI(ui); return _this; } list_createClass(ListItem, [{ key: "format", value: function format(name, value) { if (name === this.statics.blotName && value) { this.domNode.setAttribute('data-list', value); } else { list_get(list_getPrototypeOf(ListItem.prototype), "format", this).call(this, name, value); } } }], [{ key: "create", value: function create(value) { var node = list_get(list_getPrototypeOf(ListItem), "create", this).call(this); node.setAttribute('data-list', value); return node; } }, { key: "formats", value: function formats(domNode) { return domNode.getAttribute('data-list') || undefined; } }, { key: "register", value: function register() { core_quill/* default.register */.ZP.register(ListContainer); } }]); return ListItem; }(block/* default */.ZP); ListItem.blotName = 'list'; ListItem.tagName = 'LI'; ListContainer.allowedChildren = [ListItem]; ListItem.requiredContainer = ListContainer; // eslint-disable-next-line no-restricted-exports // EXTERNAL MODULE: ./formats/background.js var background = __webpack_require__(7898); // EXTERNAL MODULE: ./formats/color.js var color = __webpack_require__(6039); // EXTERNAL MODULE: ./formats/font.js var font = __webpack_require__(5832); // EXTERNAL MODULE: ./formats/size.js var size = __webpack_require__(1629); // EXTERNAL MODULE: ./formats/bold.js var bold = __webpack_require__(3991); ;// CONCATENATED MODULE: ./formats/italic.js function italic_typeof(o) { "@babel/helpers - typeof"; return italic_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, italic_typeof(o); } function italic_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, italic_toPropertyKey(descriptor.key), descriptor); } } function italic_createClass(Constructor, protoProps, staticProps) { if (protoProps) italic_defineProperties(Constructor.prototype, protoProps); if (staticProps) italic_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function italic_toPropertyKey(arg) { var key = italic_toPrimitive(arg, "string"); return italic_typeof(key) === "symbol" ? key : String(key); } function italic_toPrimitive(input, hint) { if (italic_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (italic_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function italic_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function italic_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) italic_setPrototypeOf(subClass, superClass); } function italic_setPrototypeOf(o, p) { italic_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return italic_setPrototypeOf(o, p); } function italic_createSuper(Derived) { var hasNativeReflectConstruct = italic_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = italic_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = italic_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return italic_possibleConstructorReturn(this, result); }; } function italic_possibleConstructorReturn(self, call) { if (call && (italic_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return italic_assertThisInitialized(self); } function italic_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function italic_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function italic_getPrototypeOf(o) { italic_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return italic_getPrototypeOf(o); } var Italic = /*#__PURE__*/function (_Bold) { italic_inherits(Italic, _Bold); var _super = italic_createSuper(Italic); function Italic() { italic_classCallCheck(this, Italic); return _super.apply(this, arguments); } return italic_createClass(Italic); }(bold/* default */.Z); Italic.blotName = 'italic'; Italic.tagName = ['EM', 'I']; /* harmony default export */ const italic = (Italic); // EXTERNAL MODULE: ./formats/link.js var formats_link = __webpack_require__(7256); // EXTERNAL MODULE: ./blots/inline.js var inline = __webpack_require__(6603); ;// CONCATENATED MODULE: ./formats/script.js function script_typeof(o) { "@babel/helpers - typeof"; return script_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, script_typeof(o); } function script_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function script_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, script_toPropertyKey(descriptor.key), descriptor); } } function script_createClass(Constructor, protoProps, staticProps) { if (protoProps) script_defineProperties(Constructor.prototype, protoProps); if (staticProps) script_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function script_toPropertyKey(arg) { var key = script_toPrimitive(arg, "string"); return script_typeof(key) === "symbol" ? key : String(key); } function script_toPrimitive(input, hint) { if (script_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (script_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function script_get() { if (typeof Reflect !== "undefined" && Reflect.get) { script_get = Reflect.get.bind(); } else { script_get = function _get(target, property, receiver) { var base = script_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return script_get.apply(this, arguments); } function script_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = script_getPrototypeOf(object); if (object === null) break; } return object; } function script_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) script_setPrototypeOf(subClass, superClass); } function script_setPrototypeOf(o, p) { script_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return script_setPrototypeOf(o, p); } function script_createSuper(Derived) { var hasNativeReflectConstruct = script_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = script_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = script_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return script_possibleConstructorReturn(this, result); }; } function script_possibleConstructorReturn(self, call) { if (call && (script_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return script_assertThisInitialized(self); } function script_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function script_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function script_getPrototypeOf(o) { script_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return script_getPrototypeOf(o); } var Script = /*#__PURE__*/function (_Inline) { script_inherits(Script, _Inline); var _super = script_createSuper(Script); function Script() { script_classCallCheck(this, Script); return _super.apply(this, arguments); } script_createClass(Script, null, [{ key: "create", value: function create(value) { if (value === 'super') { return document.createElement('sup'); } if (value === 'sub') { return document.createElement('sub'); } return script_get(script_getPrototypeOf(Script), "create", this).call(this, value); } }, { key: "formats", value: function formats(domNode) { if (domNode.tagName === 'SUB') return 'sub'; if (domNode.tagName === 'SUP') return 'super'; return undefined; } }]); return Script; }(inline/* default */.Z); Script.blotName = 'script'; Script.tagName = ['SUB', 'SUP']; /* harmony default export */ const script = (Script); ;// CONCATENATED MODULE: ./formats/strike.js function strike_typeof(o) { "@babel/helpers - typeof"; return strike_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, strike_typeof(o); } function strike_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, strike_toPropertyKey(descriptor.key), descriptor); } } function strike_createClass(Constructor, protoProps, staticProps) { if (protoProps) strike_defineProperties(Constructor.prototype, protoProps); if (staticProps) strike_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function strike_toPropertyKey(arg) { var key = strike_toPrimitive(arg, "string"); return strike_typeof(key) === "symbol" ? key : String(key); } function strike_toPrimitive(input, hint) { if (strike_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (strike_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function strike_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function strike_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) strike_setPrototypeOf(subClass, superClass); } function strike_setPrototypeOf(o, p) { strike_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return strike_setPrototypeOf(o, p); } function strike_createSuper(Derived) { var hasNativeReflectConstruct = strike_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = strike_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = strike_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return strike_possibleConstructorReturn(this, result); }; } function strike_possibleConstructorReturn(self, call) { if (call && (strike_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return strike_assertThisInitialized(self); } function strike_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function strike_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function strike_getPrototypeOf(o) { strike_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return strike_getPrototypeOf(o); } var Strike = /*#__PURE__*/function (_Bold) { strike_inherits(Strike, _Bold); var _super = strike_createSuper(Strike); function Strike() { strike_classCallCheck(this, Strike); return _super.apply(this, arguments); } return strike_createClass(Strike); }(bold/* default */.Z); Strike.blotName = 'strike'; Strike.tagName = ['S', 'STRIKE']; /* harmony default export */ const strike = (Strike); ;// CONCATENATED MODULE: ./formats/underline.js function underline_typeof(o) { "@babel/helpers - typeof"; return underline_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, underline_typeof(o); } function underline_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, underline_toPropertyKey(descriptor.key), descriptor); } } function underline_createClass(Constructor, protoProps, staticProps) { if (protoProps) underline_defineProperties(Constructor.prototype, protoProps); if (staticProps) underline_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function underline_toPropertyKey(arg) { var key = underline_toPrimitive(arg, "string"); return underline_typeof(key) === "symbol" ? key : String(key); } function underline_toPrimitive(input, hint) { if (underline_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (underline_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function underline_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function underline_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) underline_setPrototypeOf(subClass, superClass); } function underline_setPrototypeOf(o, p) { underline_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return underline_setPrototypeOf(o, p); } function underline_createSuper(Derived) { var hasNativeReflectConstruct = underline_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = underline_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = underline_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return underline_possibleConstructorReturn(this, result); }; } function underline_possibleConstructorReturn(self, call) { if (call && (underline_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return underline_assertThisInitialized(self); } function underline_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function underline_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function underline_getPrototypeOf(o) { underline_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return underline_getPrototypeOf(o); } var Underline = /*#__PURE__*/function (_Inline) { underline_inherits(Underline, _Inline); var _super = underline_createSuper(Underline); function Underline() { underline_classCallCheck(this, Underline); return _super.apply(this, arguments); } return underline_createClass(Underline); }(inline/* default */.Z); Underline.blotName = 'underline'; Underline.tagName = 'U'; /* harmony default export */ const underline = (Underline); // EXTERNAL MODULE: ./blots/embed.js var blots_embed = __webpack_require__(7452); // EXTERNAL MODULE: ./utils/has_window.js var has_window = __webpack_require__(8034); ;// CONCATENATED MODULE: ./formats/formula.js function formula_typeof(o) { "@babel/helpers - typeof"; return formula_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, formula_typeof(o); } function formula_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function formula_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, formula_toPropertyKey(descriptor.key), descriptor); } } function formula_createClass(Constructor, protoProps, staticProps) { if (protoProps) formula_defineProperties(Constructor.prototype, protoProps); if (staticProps) formula_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function formula_toPropertyKey(arg) { var key = formula_toPrimitive(arg, "string"); return formula_typeof(key) === "symbol" ? key : String(key); } function formula_toPrimitive(input, hint) { if (formula_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (formula_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function formula_get() { if (typeof Reflect !== "undefined" && Reflect.get) { formula_get = Reflect.get.bind(); } else { formula_get = function _get(target, property, receiver) { var base = formula_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return formula_get.apply(this, arguments); } function formula_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = formula_getPrototypeOf(object); if (object === null) break; } return object; } function formula_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) formula_setPrototypeOf(subClass, superClass); } function formula_setPrototypeOf(o, p) { formula_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return formula_setPrototypeOf(o, p); } function formula_createSuper(Derived) { var hasNativeReflectConstruct = formula_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = formula_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = formula_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return formula_possibleConstructorReturn(this, result); }; } function formula_possibleConstructorReturn(self, call) { if (call && (formula_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return formula_assertThisInitialized(self); } function formula_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function formula_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function formula_getPrototypeOf(o) { formula_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return formula_getPrototypeOf(o); } var Formula = /*#__PURE__*/function (_Embed) { formula_inherits(Formula, _Embed); var _super = formula_createSuper(Formula); function Formula() { formula_classCallCheck(this, Formula); return _super.apply(this, arguments); } formula_createClass(Formula, [{ key: "html", value: function html() { var _this$value = this.value(), formula = _this$value.formula; return "".concat(formula, ""); } }], [{ key: "create", value: function create(value) { var katex = null; if ((0,has_window/* default */.Z)()) { katex = window.katex; } if (katex == null) { throw new Error('Formula module requires KaTeX.'); } var node = formula_get(formula_getPrototypeOf(Formula), "create", this).call(this, value); if (typeof value === 'string') { katex.render(value, node, { throwOnError: false, errorColor: '#f00' }); node.setAttribute('data-value', value); } return node; } }, { key: "value", value: function value(domNode) { return domNode.getAttribute('data-value'); } }]); return Formula; }(blots_embed/* default */.Z); Formula.blotName = 'formula'; Formula.className = 'ql-formula'; Formula.tagName = 'SPAN'; /* harmony default export */ const formula = (Formula); ;// CONCATENATED MODULE: ./formats/image.js function image_typeof(o) { "@babel/helpers - typeof"; return image_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, image_typeof(o); } function image_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function image_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, image_toPropertyKey(descriptor.key), descriptor); } } function image_createClass(Constructor, protoProps, staticProps) { if (protoProps) image_defineProperties(Constructor.prototype, protoProps); if (staticProps) image_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function image_toPropertyKey(arg) { var key = image_toPrimitive(arg, "string"); return image_typeof(key) === "symbol" ? key : String(key); } function image_toPrimitive(input, hint) { if (image_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (image_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function image_get() { if (typeof Reflect !== "undefined" && Reflect.get) { image_get = Reflect.get.bind(); } else { image_get = function _get(target, property, receiver) { var base = image_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return image_get.apply(this, arguments); } function image_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = image_getPrototypeOf(object); if (object === null) break; } return object; } function image_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) image_setPrototypeOf(subClass, superClass); } function image_setPrototypeOf(o, p) { image_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return image_setPrototypeOf(o, p); } function image_createSuper(Derived) { var hasNativeReflectConstruct = image_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = image_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = image_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return image_possibleConstructorReturn(this, result); }; } function image_possibleConstructorReturn(self, call) { if (call && (image_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return image_assertThisInitialized(self); } function image_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function image_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function image_getPrototypeOf(o) { image_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return image_getPrototypeOf(o); } var ATTRIBUTES = ['alt', 'height', 'width']; var Image = /*#__PURE__*/function (_EmbedBlot) { image_inherits(Image, _EmbedBlot); var _super = image_createSuper(Image); function Image() { image_classCallCheck(this, Image); return _super.apply(this, arguments); } image_createClass(Image, [{ key: "format", value: function format(name, value) { if (ATTRIBUTES.indexOf(name) > -1) { if (value) { this.domNode.setAttribute(name, value); } else { this.domNode.removeAttribute(name); } } else { image_get(image_getPrototypeOf(Image.prototype), "format", this).call(this, name, value); } } }], [{ key: "create", value: function create(value) { var node = image_get(image_getPrototypeOf(Image), "create", this).call(this, value); if (typeof value === 'string') { node.setAttribute('src', this.sanitize(value)); } return node; } }, { key: "formats", value: function formats(domNode) { return ATTRIBUTES.reduce(function (formats, attribute) { if (domNode.hasAttribute(attribute)) { formats[attribute] = domNode.getAttribute(attribute); } return formats; }, {}); } }, { key: "match", value: function match(url) { return /\.(jpe?g|gif|png)$/.test(url) || /^data:image\/.+;base64/.test(url); } }, { key: "register", value: function register() { if ((0,has_window/* default */.Z)() && /Firefox/i.test(navigator.userAgent)) { setTimeout(function () { // Disable image resizing in Firefox document.execCommand('enableObjectResizing', false, false); }, 1); } } }, { key: "sanitize", value: function sanitize(url) { return (0,formats_link/* sanitize */.N)(url, ['http', 'https', 'data']) ? url : '//:0'; } }, { key: "value", value: function value(domNode) { return domNode.getAttribute('src'); } }]); return Image; }(parchment.EmbedBlot); Image.blotName = 'image'; Image.tagName = 'IMG'; /* harmony default export */ const formats_image = (Image); ;// CONCATENATED MODULE: ./formats/video.js function video_typeof(o) { "@babel/helpers - typeof"; return video_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, video_typeof(o); } function video_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function video_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, video_toPropertyKey(descriptor.key), descriptor); } } function video_createClass(Constructor, protoProps, staticProps) { if (protoProps) video_defineProperties(Constructor.prototype, protoProps); if (staticProps) video_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function video_toPropertyKey(arg) { var key = video_toPrimitive(arg, "string"); return video_typeof(key) === "symbol" ? key : String(key); } function video_toPrimitive(input, hint) { if (video_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (video_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function video_get() { if (typeof Reflect !== "undefined" && Reflect.get) { video_get = Reflect.get.bind(); } else { video_get = function _get(target, property, receiver) { var base = video_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return video_get.apply(this, arguments); } function video_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = video_getPrototypeOf(object); if (object === null) break; } return object; } function video_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) video_setPrototypeOf(subClass, superClass); } function video_setPrototypeOf(o, p) { video_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return video_setPrototypeOf(o, p); } function video_createSuper(Derived) { var hasNativeReflectConstruct = video_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = video_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = video_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return video_possibleConstructorReturn(this, result); }; } function video_possibleConstructorReturn(self, call) { if (call && (video_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return video_assertThisInitialized(self); } function video_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function video_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function video_getPrototypeOf(o) { video_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return video_getPrototypeOf(o); } var video_ATTRIBUTES = ['height', 'width']; var Video = /*#__PURE__*/function (_BlockEmbed) { video_inherits(Video, _BlockEmbed); var _super = video_createSuper(Video); function Video() { video_classCallCheck(this, Video); return _super.apply(this, arguments); } video_createClass(Video, [{ key: "format", value: function format(name, value) { if (video_ATTRIBUTES.indexOf(name) > -1) { if (value) { this.domNode.setAttribute(name, value); } else { this.domNode.removeAttribute(name); } } else { video_get(video_getPrototypeOf(Video.prototype), "format", this).call(this, name, value); } } }, { key: "html", value: function html() { var _this$value = this.value(), video = _this$value.video; return "
    ").concat(video, ""); } }], [{ key: "create", value: function create(value) { var node = video_get(video_getPrototypeOf(Video), "create", this).call(this, value); node.setAttribute('frameborder', '0'); node.setAttribute('allowfullscreen', true); node.setAttribute('src', this.sanitize(value)); return node; } }, { key: "formats", value: function formats(domNode) { return video_ATTRIBUTES.reduce(function (formats, attribute) { if (domNode.hasAttribute(attribute)) { formats[attribute] = domNode.getAttribute(attribute); } return formats; }, {}); } }, { key: "sanitize", value: function sanitize(url) { return formats_link/* default.sanitize */.Z.sanitize(url); // eslint-disable-line import/no-named-as-default-member } }, { key: "value", value: function value(domNode) { return domNode.getAttribute('src'); } }]); return Video; }(block/* BlockEmbed */.i2); Video.blotName = 'video'; Video.className = 'ql-video'; Video.tagName = 'IFRAME'; /* harmony default export */ const video = (Video); // EXTERNAL MODULE: ./formats/code.js var code = __webpack_require__(7309); // EXTERNAL MODULE: ./modules/syntax.js + 1 modules var syntax = __webpack_require__(5657); // EXTERNAL MODULE: ./modules/table/index.js var table = __webpack_require__(867); // EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js var Delta = __webpack_require__(9098); var Delta_default = /*#__PURE__*/__webpack_require__.n(Delta); ;// CONCATENATED MODULE: ./blots/multiline_break.js function multiline_break_typeof(o) { "@babel/helpers - typeof"; return multiline_break_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, multiline_break_typeof(o); } function multiline_break_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function multiline_break_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, multiline_break_toPropertyKey(descriptor.key), descriptor); } } function multiline_break_createClass(Constructor, protoProps, staticProps) { if (protoProps) multiline_break_defineProperties(Constructor.prototype, protoProps); if (staticProps) multiline_break_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function multiline_break_toPropertyKey(arg) { var key = multiline_break_toPrimitive(arg, "string"); return multiline_break_typeof(key) === "symbol" ? key : String(key); } function multiline_break_toPrimitive(input, hint) { if (multiline_break_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (multiline_break_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function multiline_break_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) multiline_break_setPrototypeOf(subClass, superClass); } function multiline_break_setPrototypeOf(o, p) { multiline_break_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return multiline_break_setPrototypeOf(o, p); } function multiline_break_createSuper(Derived) { var hasNativeReflectConstruct = multiline_break_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = multiline_break_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = multiline_break_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return multiline_break_possibleConstructorReturn(this, result); }; } function multiline_break_possibleConstructorReturn(self, call) { if (call && (multiline_break_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return multiline_break_assertThisInitialized(self); } function multiline_break_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function multiline_break_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function multiline_break_getPrototypeOf(o) { multiline_break_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return multiline_break_getPrototypeOf(o); } var MultilineBreak = /*#__PURE__*/function (_EmbedBlot) { multiline_break_inherits(MultilineBreak, _EmbedBlot); var _super = multiline_break_createSuper(MultilineBreak); function MultilineBreak() { multiline_break_classCallCheck(this, MultilineBreak); return _super.apply(this, arguments); } multiline_break_createClass(MultilineBreak, [{ key: "length", value: function length() { return 1; } }, { key: "value", value: function value() { return '\n'; } }, { key: "optimize", value: function optimize() { if (!this.prev && !this.next) { this.remove(); } } }], [{ key: "value", value: function value() { return '\n'; } }]); return MultilineBreak; }(parchment.EmbedBlot); MultilineBreak.blotName = 'multilineBreak'; MultilineBreak.tagName = 'BR'; /* harmony default export */ const multiline_break = (MultilineBreak); // EXTERNAL MODULE: ./core/module.js var core_module = __webpack_require__(7094); ;// CONCATENATED MODULE: ./modules/multiline.js function multiline_typeof(o) { "@babel/helpers - typeof"; return multiline_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, multiline_typeof(o); } function _defineProperty(obj, key, value) { key = multiline_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function multiline_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function multiline_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, multiline_toPropertyKey(descriptor.key), descriptor); } } function multiline_createClass(Constructor, protoProps, staticProps) { if (protoProps) multiline_defineProperties(Constructor.prototype, protoProps); if (staticProps) multiline_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function multiline_toPropertyKey(arg) { var key = multiline_toPrimitive(arg, "string"); return multiline_typeof(key) === "symbol" ? key : String(key); } function multiline_toPrimitive(input, hint) { if (multiline_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (multiline_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function multiline_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) multiline_setPrototypeOf(subClass, superClass); } function multiline_setPrototypeOf(o, p) { multiline_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return multiline_setPrototypeOf(o, p); } function multiline_createSuper(Derived) { var hasNativeReflectConstruct = multiline_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = multiline_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = multiline_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return multiline_possibleConstructorReturn(this, result); }; } function multiline_possibleConstructorReturn(self, call) { if (call && (multiline_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return multiline_assertThisInitialized(self); } function multiline_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function multiline_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function multiline_getPrototypeOf(o) { multiline_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return multiline_getPrototypeOf(o); } function breakMatcher(node) { if (!(node.nextSibling || node.previousSibling)) { return new (Delta_default())().insert('\n'); } return new (Delta_default())().insert({ multilineBreak: '' }); } var Multiline = /*#__PURE__*/function (_Module) { multiline_inherits(Multiline, _Module); var _super = multiline_createSuper(Multiline); function Multiline(quill, options) { var _this; multiline_classCallCheck(this, Multiline); var path = 'blots/multilineBreak'; _this = _super.call(this, quill, options); core_quill/* default.register */.ZP.register(_defineProperty({}, path, multiline_break), true); quill.keyboard.addBinding({ key: 'enter', shiftKey: true }, _this.enterHandler.bind(multiline_assertThisInitialized(_this))); quill.keyboard.bindings.enter.unshift(quill.keyboard.bindings.enter.pop()); quill.clipboard.addMatcher('BR', breakMatcher); return _this; } multiline_createClass(Multiline, [{ key: "enterHandler", value: function enterHandler(range) { var currentLeaf = this.quill.getLeaf(range.index)[0]; var nextLeaf = this.quill.getLeaf(range.index + 1)[0]; this.quill.insertEmbed(range.index, 'multilineBreak', true, 'user'); if (nextLeaf === null || currentLeaf.parent !== nextLeaf.parent) { this.quill.insertEmbed(range.index, 'multilineBreak', true, 'user'); } this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT); } }]); return Multiline; }(core_module/* default */.Z); /* harmony default export */ const multiline = (Multiline); // EXTERNAL MODULE: ./modules/table/lite.js + 3 modules var lite = __webpack_require__(6054); // EXTERNAL MODULE: ./formats/table/attributors/cell.js var cell = __webpack_require__(1342); // EXTERNAL MODULE: ./formats/table/attributors/table.js var attributors_table = __webpack_require__(319); ;// CONCATENATED MODULE: ./quill.js function quill_typeof(o) { "@babel/helpers - typeof"; return quill_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, quill_typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { quill_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function quill_defineProperty(obj, key, value) { key = quill_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function quill_toPropertyKey(arg) { var key = quill_toPrimitive(arg, "string"); return quill_typeof(key) === "symbol" ? key : String(key); } function quill_toPrimitive(input, hint) { if (quill_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (quill_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function registerAttributorArray(path, attributorArray) { return attributorArray.reduce(function (result, attributor) { var key = "".concat(path).concat(attributor.attrName); result[key] = attributor; return result; }, {}); } core["default"].register(_objectSpread(_objectSpread(_objectSpread(_objectSpread({ 'attributors/attribute/direction': direction/* DirectionAttribute */.IF }, registerAttributorArray('attributors/attribute/', attributors_table/* TABLE_ATTR_ATTRIBUTORS */.Qu)), registerAttributorArray('attributors/attribute/', cell/* TABLE_CELL_ATTR_ATTRIBUTORS */.yA)), {}, { 'attributors/class/align': align/* AlignClass */.dk, 'attributors/class/background': background/* BackgroundClass */.Y, 'attributors/class/color': color/* ColorClass */.Hn, 'attributors/class/direction': direction/* DirectionClass */.hY, 'attributors/class/font': font/* FontClass */._, 'attributors/class/size': size/* SizeClass */.m, 'attributors/style/align': align/* AlignStyle */.HE, 'attributors/style/background': background/* BackgroundStyle */.w, 'attributors/style/color': color/* ColorStyle */.HQ, 'attributors/style/direction': direction/* DirectionStyle */.H8, 'attributors/style/font': font/* FontStyle */.H, 'attributors/style/size': size/* SizeStyle */.Z }, registerAttributorArray('attributors/style/', attributors_table/* TABLE_STYLE_ATTRIBUTORS */.VT)), registerAttributorArray('attributors/style/', cell/* TABLE_CELL_STYLE_ATTRIBUTORS */.kk)), true); core["default"].register({ 'formats/align': align/* AlignClass */.dk, 'formats/direction': direction/* DirectionClass */.hY, 'formats/indent': indent, 'formats/background': background/* BackgroundStyle */.w, 'formats/color': color/* ColorStyle */.HQ, 'formats/font': font/* FontClass */._, 'formats/size': size/* SizeClass */.m, 'formats/blockquote': blockquote, 'formats/code-block': code/* default */.ZP, 'formats/header': header, 'formats/list': ListItem, 'formats/bold': bold/* default */.Z, 'formats/code': code/* Code */.EK, 'formats/italic': italic, 'formats/link': formats_link/* default */.Z, 'formats/script': script, 'formats/strike': strike, 'formats/underline': underline, 'formats/formula': formula, 'formats/image': formats_image, 'formats/video': video, 'tableModules/lite': lite/* default */.Z, 'tableModules/main': table/* default */.Z, 'modules/syntax': syntax/* default */.ZP, 'modules/multiline': multiline, 'modules/table': table/* default */.Z }, true); /* harmony default export */ const quill = (core["default"]); })(); __webpack_exports__ = __webpack_exports__["default"]; /******/ return __webpack_exports__; /******/ })() ; });