diff --git a/src/bundle/Resources/public/js/alloyeditor/dist/ezBtnCustomTagUpdate.js.map b/src/bundle/Resources/public/js/alloyeditor/dist/ezBtnCustomTagUpdate.js.map index 32c612c74d..bee4e73ee6 100644 --- a/src/bundle/Resources/public/js/alloyeditor/dist/ezBtnCustomTagUpdate.js.map +++ b/src/bundle/Resources/public/js/alloyeditor/dist/ezBtnCustomTagUpdate.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///ezBtnCustomTagUpdate.js","webpack:///webpack/bootstrap 4d6e881e5442ae635be0","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./src/bundle/Resources/public/js/alloyeditor/src/base/ez-widgetbutton.js","webpack:///external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack:///./node_modules/prop-types/index.js","webpack:///external {\"root\":\"AlloyEditor\",\"commonjs2\":\"AlloyEditor\",\"commonjs\":\"AlloyEditor\",\"amd\":\"AlloyEditor\"}","webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///./src/bundle/Resources/public/js/alloyeditor/src/buttons/ez-btn-customtag-update.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/prop-types/checkPropTypes.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./src/bundle/Resources/public/js/alloyeditor/src/base/ez-button.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_4__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","0","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","setTimeout","e","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","length","queue","concat","queueIndex","drainQueue","timeout","len","run","Item","array","noop","process","nextTick","args","Array","arguments","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","1","11","_interopRequireDefault","obj","default","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","create","constructor","value","writable","setPrototypeOf","__proto__","_createClass","defineProperties","target","props","descriptor","key","protoProps","staticProps","_react","_propTypes","_ezButton","_ezButton2","EzWidgetButton","_EzButton","getPrototypeOf","editor","wrapper","getSelection","getStartElement","widgets","getByElement","EzButton","2","3","NODE_ENV","REACT_ELEMENT_TYPE","Symbol","for","isValidElement","$$typeof","4","5","emptyFunctionThatReturnsNull","assign","ReactPropTypesSecret","checkPropTypes","printWarning","text","message","console","error","x","throwOnDirectAccess","getIteratorFn","maybeIterable","iteratorFn","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","is","y","PropTypeError","stack","createChainableTypeChecker","validate","checkType","isRequired","propName","componentName","location","propFullName","secret","ANONYMOUS","err","cacheKey","manualPropTypeCallCache","manualPropTypeWarningCount","chainedCheckType","bind","createPrimitiveTypeChecker","expectedType","propValue","getPropType","getPreciseType","createArrayOfTypeChecker","typeChecker","isArray","createInstanceTypeChecker","expectedClass","expectedClassName","getClassName","createEnumTypeChecker","expectedValues","JSON","stringify","createObjectOfTypeChecker","propType","createUnionTypeChecker","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","createShapeTypeChecker","shapeTypes","createStrictShapeTypeChecker","allKeys","keys","isNode","every","step","iterator","entries","next","done","entry","isSymbol","RegExp","Date","type","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","PropTypes","55","_react2","_propTypes2","_alloyeditor","_ezWidgetbutton","_ezWidgetbutton2","EzBtnCustomTagUpdate","_EzWidgetButton","_this","widget","getWidget","lockSelection","state","values","config","attrName","createElement","className","label","defaultValue","required","onChange","updateValues","data-attr-name","checked","choices","map","renderChoice","choice","attribute","attributeConfig","attributes","renderMethods","getAttributeRenderMethods","methodName","saveLabel","Translator","trans","attrs","isValid","renderAttribute","onClick","saveCustomTag","disabled","_this2","attr","_props","createNewTag","unlockSelection","execCommand","configValues","setFocused","setName","customTagName","setWidgetAttributes","createAttributes","renderHeader","clearConfig","forEach","setConfig","_this3","reduce","total","event","dataset","setState","boolean","defaultProps","command","modifiesSelection","propTypes","tabIndex","6","toObject","val","undefined","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","test1","String","getOwnPropertyNames","test2","fromCharCode","join","test3","split","letter","source","from","symbols","to","7","typeSpecs","getStack","typeSpecName","ex","loggedTypeFailures","8","emptyFunction","shim","getShim","9","_alloyeditor2","_Component","getStateClasses","AlloyEditor","ButtonStateClasses","ButtonCommand","Component"],"mappings":"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","file":"ezBtnCustomTagUpdate.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"AlloyEditor\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"AlloyEditor\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ezBtnCustomTagUpdate\"] = factory(require(\"react\"), require(\"AlloyEditor\"));\n\telse\n\t\troot[\"eZ\"] = root[\"eZ\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"] = root[\"eZ\"][\"ezAlloyEditor\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"][\"ezBtnCustomTagUpdate\"] = factory(root[\"React\"], root[\"AlloyEditor\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_4__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"AlloyEditor\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"AlloyEditor\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ezBtnCustomTagUpdate\"] = factory(require(\"react\"), require(\"AlloyEditor\"));\n\telse\n\t\troot[\"eZ\"] = root[\"eZ\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"] = root[\"eZ\"][\"ezAlloyEditor\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"][\"ezBtnCustomTagUpdate\"] = factory(root[\"React\"], root[\"AlloyEditor\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_4__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 55);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(3);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ezButton = __webpack_require__(9);\n\nvar _ezButton2 = _interopRequireDefault(_ezButton);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar EzWidgetButton = function (_EzButton) {\n _inherits(EzWidgetButton, _EzButton);\n\n function EzWidgetButton() {\n _classCallCheck(this, EzWidgetButton);\n\n return _possibleConstructorReturn(this, (EzWidgetButton.__proto__ || Object.getPrototypeOf(EzWidgetButton)).apply(this, arguments));\n }\n\n _createClass(EzWidgetButton, [{\n key: 'getWidget',\n\n /**\n * Returns the ezembed widget instance for the current selection.\n *\n * @method getWidget\n * @return CKEDITOR.plugins.widget\n */\n value: function getWidget() {\n var editor = this.props.editor.get('nativeEditor');\n var wrapper = editor.getSelection().getStartElement();\n\n return editor.widgets.getByElement(wrapper);\n }\n }]);\n\n return EzWidgetButton;\n}(_ezButton2.default);\n\nexports.default = EzWidgetButton;\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(5)(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(8)();\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar assign = __webpack_require__(6);\n\nvar ReactPropTypesSecret = __webpack_require__(1);\nvar checkPropTypes = __webpack_require__(7);\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(3);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _alloyeditor = __webpack_require__(4);\n\nvar _alloyeditor2 = _interopRequireDefault(_alloyeditor);\n\nvar _ezWidgetbutton = __webpack_require__(11);\n\nvar _ezWidgetbutton2 = _interopRequireDefault(_ezWidgetbutton);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar EzBtnCustomTagUpdate = function (_EzWidgetButton) {\n _inherits(EzBtnCustomTagUpdate, _EzWidgetButton);\n\n function EzBtnCustomTagUpdate(props) {\n _classCallCheck(this, EzBtnCustomTagUpdate);\n\n var _this = _possibleConstructorReturn(this, (EzBtnCustomTagUpdate.__proto__ || Object.getPrototypeOf(EzBtnCustomTagUpdate)).call(this, props));\n\n _this.widget = _this.getWidget();\n\n props.editor.get('nativeEditor').lockSelection();\n\n _this.state = {\n values: props.values\n };\n return _this;\n }\n\n /**\n * Renders the text input.\n *\n * @method renderString\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered text input.\n */\n\n\n _createClass(EzBtnCustomTagUpdate, [{\n key: 'renderString',\n value: function renderString(config, attrName) {\n return _react2.default.createElement(\n 'div',\n { className: 'attribute__wrapper' },\n _react2.default.createElement(\n 'label',\n { className: 'attribute__label form-control-label' },\n config.label\n ),\n _react2.default.createElement('input', {\n type: 'text',\n defaultValue: config.defaultValue,\n required: config.required,\n className: 'attribute__input form-control',\n value: this.state.values[attrName].value,\n onChange: this.updateValues.bind(this),\n 'data-attr-name': attrName\n })\n );\n }\n\n /**\n * Renders the checkbox input.\n *\n * @method renderCheckbox\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered checkbox input.\n */\n\n }, {\n key: 'renderCheckbox',\n value: function renderCheckbox(config, attrName) {\n return _react2.default.createElement(\n 'div',\n { className: 'attribute__wrapper' },\n _react2.default.createElement(\n 'label',\n { className: 'attribute__label form-control-label' },\n config.label\n ),\n _react2.default.createElement('input', {\n type: 'checkbox',\n defaultValue: config.defaultValue,\n required: config.required,\n className: 'attribute__input form-control',\n checked: this.state.values[attrName].value,\n onChange: this.updateValues.bind(this),\n 'data-attr-name': attrName\n })\n );\n }\n\n /**\n * Renders the number input.\n *\n * @method renderNumber\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered number input.\n */\n\n }, {\n key: 'renderNumber',\n value: function renderNumber(config, attrName) {\n return _react2.default.createElement(\n 'div',\n { className: 'attribute__wrapper' },\n _react2.default.createElement(\n 'label',\n { className: 'attribute__label form-control-label' },\n config.label\n ),\n _react2.default.createElement('input', {\n type: 'number',\n defaultValue: config.defaultValue,\n required: config.required,\n className: 'attribute__input form-control',\n value: this.state.values[attrName].value,\n onChange: this.updateValues.bind(this),\n 'data-attr-name': attrName\n })\n );\n }\n\n /**\n * Renders the select.\n *\n * @method renderSelect\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered select.\n */\n\n }, {\n key: 'renderSelect',\n value: function renderSelect(config, attrName) {\n return _react2.default.createElement(\n 'div',\n { className: 'attribute__wrapper' },\n _react2.default.createElement(\n 'label',\n { className: 'attribute__label form-control-label' },\n config.label\n ),\n _react2.default.createElement(\n 'select',\n {\n className: 'attribute__input form-control',\n value: this.state.values[attrName].value,\n onChange: this.updateValues.bind(this),\n 'data-attr-name': attrName },\n config.choices.map(this.renderChoice.bind(this))\n )\n );\n }\n\n /**\n * Renders the option.\n *\n * @method renderChoice\n * @param {String} choice\n * @return {Object} The rendered option.\n */\n\n }, {\n key: 'renderChoice',\n value: function renderChoice(choice) {\n return _react2.default.createElement(\n 'option',\n { value: choice },\n choice\n );\n }\n\n /**\n * Renders the attribute.\n *\n * @method renderAttribute\n * @param {Object} attribute\n * @return {Object} The rendered attribute.\n */\n\n }, {\n key: 'renderAttribute',\n value: function renderAttribute(attribute) {\n var attributeConfig = this.attributes[attribute];\n var renderMethods = this.getAttributeRenderMethods();\n var methodName = renderMethods[attributeConfig.type];\n\n return _react2.default.createElement(\n 'div',\n { className: 'ez-ae-custom-tag__attributes' },\n this[methodName](attributeConfig, attribute)\n );\n }\n\n /**\n * Lifecycle. Renders the UI of the button.\n *\n * @method render\n * @return {Object} The content which should be rendered.\n */\n\n }, {\n key: 'render',\n value: function render() {\n var saveLabel = Translator.trans( /*@Desc(\"Save\")*/'custom_tag_update_btn.save_btn.label', {}, 'alloy_editor');\n var attrs = Object.keys(this.attributes);\n var isValid = this.isValid();\n\n return _react2.default.createElement(\n 'div',\n { className: 'ez-ae-custom-tag' },\n attrs.map(this.renderAttribute.bind(this)),\n _react2.default.createElement(\n 'button',\n {\n className: 'ez-btn-ae btn btn-secondary ez-btn-ae--custom-tag float-right',\n onClick: this.saveCustomTag.bind(this),\n disabled: !isValid },\n saveLabel\n )\n );\n }\n\n /**\n * Checks if values are valid.\n *\n * @method isValid\n * @return {Boolean} are values valid\n */\n\n }, {\n key: 'isValid',\n value: function isValid() {\n var _this2 = this;\n\n return Object.keys(this.attributes).every(function (attr) {\n return _this2.attributes[attr].required ? !!_this2.state.values[attr].value : true;\n });\n }\n\n /**\n * Creates the custom tag in AlloyEditor.\n *\n * @method saveCustomTag\n */\n\n }, {\n key: 'saveCustomTag',\n value: function saveCustomTag() {\n var _props = this.props,\n createNewTag = _props.createNewTag,\n editor = _props.editor;\n\n\n editor.get('nativeEditor').unlockSelection(true);\n\n if (createNewTag) {\n this.execCommand();\n }\n\n var widget = this.getWidget() || this.widget;\n var configValues = Object.assign({}, this.state.values);\n\n widget.setFocused(true);\n widget.setName(this.customTagName);\n widget.setWidgetAttributes(this.createAttributes());\n widget.renderHeader();\n widget.clearConfig();\n\n Object.keys(this.attributes).forEach(function (key) {\n widget.setConfig(key, configValues[key].value);\n });\n }\n\n /**\n * Creates attributes.\n *\n * @method createAttributes\n * @return {String} the ezattributes\n */\n\n }, {\n key: 'createAttributes',\n value: function createAttributes() {\n var _this3 = this;\n\n return Object.keys(this.attributes).reduce(function (total, attr) {\n return total + '

' + _this3.attributes[attr].label + ': ' + _this3.state.values[attr].value + '

';\n }, '');\n }\n\n /**\n * Update values.\n *\n * @method updateValues\n * @param {Object} event\n */\n\n }, {\n key: 'updateValues',\n value: function updateValues(event) {\n var values = Object.assign({}, this.state.values);\n var value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\n\n values[event.target.dataset.attrName].value = value;\n\n this.setState({\n values: values\n });\n }\n\n /**\n * Gets the render method map.\n *\n * @method getAttributeRenderMethods\n * @return {Object} the render method map\n */\n\n }, {\n key: 'getAttributeRenderMethods',\n value: function getAttributeRenderMethods() {\n return {\n string: 'renderString',\n boolean: 'renderCheckbox',\n number: 'renderNumber',\n choice: 'renderSelect'\n };\n }\n }]);\n\n return EzBtnCustomTagUpdate;\n}(_ezWidgetbutton2.default);\n\nexports.default = EzBtnCustomTagUpdate;\n\n\nEzBtnCustomTagUpdate.defaultProps = {\n command: 'ezcustomtag',\n modifiesSelection: true\n};\n\nEzBtnCustomTagUpdate.propTypes = {\n editor: _propTypes2.default.object.isRequired,\n label: _propTypes2.default.string.isRequired,\n tabIndex: _propTypes2.default.number.isRequired\n};\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = __webpack_require__(1);\n var loggedTypeFailures = {};\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n )\n\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(1);\n\nfunction emptyFunction() {}\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(3);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _alloyeditor = __webpack_require__(4);\n\nvar _alloyeditor2 = _interopRequireDefault(_alloyeditor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar EzButton = function (_Component) {\n _inherits(EzButton, _Component);\n\n function EzButton(props) {\n _classCallCheck(this, EzButton);\n\n var _this = _possibleConstructorReturn(this, (EzButton.__proto__ || Object.getPrototypeOf(EzButton)).call(this, props));\n\n _this.getStateClasses = _alloyeditor2.default.ButtonStateClasses.getStateClasses;\n _this.execCommand = _alloyeditor2.default.ButtonCommand.execCommand.bind(_this);\n return _this;\n }\n\n return EzButton;\n}(_react.Component);\n\nexports.default = EzButton;\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// ezBtnCustomTagUpdate.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 55);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4d6e881e5442ae635be0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 0\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 1\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport EzButton from './ez-button';\n\nexport default class EzWidgetButton extends EzButton {\n /**\n * Returns the ezembed widget instance for the current selection.\n *\n * @method getWidget\n * @return CKEDITOR.plugins.widget\n */\n getWidget() {\n const editor = this.props.editor.get('nativeEditor');\n const wrapper = editor.getSelection().getStartElement();\n\n return editor.widgets.getByElement(wrapper);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bundle/Resources/public/js/alloyeditor/src/base/ez-widgetbutton.js","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}\n// module id = 2\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 48 49","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 3\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","module.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"AlloyEditor\",\"commonjs2\":\"AlloyEditor\",\"commonjs\":\"AlloyEditor\",\"amd\":\"AlloyEditor\"}\n// module id = 4\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 48 49 50 51 52","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithTypeCheckers.js\n// module id = 5\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport AlloyEditor from 'alloyeditor';\nimport EzWidgetButton from '../base/ez-widgetbutton';\n\nexport default class EzBtnCustomTagUpdate extends EzWidgetButton {\n constructor(props) {\n super(props);\n\n this.widget = this.getWidget();\n\n props.editor.get('nativeEditor').lockSelection();\n\n this.state = {\n values: props.values,\n };\n }\n\n /**\n * Renders the text input.\n *\n * @method renderString\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered text input.\n */\n renderString(config, attrName) {\n return (\n
\n \n \n
\n );\n }\n\n /**\n * Renders the checkbox input.\n *\n * @method renderCheckbox\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered checkbox input.\n */\n renderCheckbox(config, attrName) {\n return (\n
\n \n \n
\n );\n }\n\n /**\n * Renders the number input.\n *\n * @method renderNumber\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered number input.\n */\n renderNumber(config, attrName) {\n return (\n
\n \n \n
\n );\n }\n\n /**\n * Renders the select.\n *\n * @method renderSelect\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered select.\n */\n renderSelect(config, attrName) {\n return (\n
\n \n \n {config.choices.map(this.renderChoice.bind(this))}\n \n
\n );\n }\n\n /**\n * Renders the option.\n *\n * @method renderChoice\n * @param {String} choice\n * @return {Object} The rendered option.\n */\n renderChoice(choice) {\n return ;\n }\n\n /**\n * Renders the attribute.\n *\n * @method renderAttribute\n * @param {Object} attribute\n * @return {Object} The rendered attribute.\n */\n renderAttribute(attribute) {\n const attributeConfig = this.attributes[attribute];\n const renderMethods = this.getAttributeRenderMethods();\n const methodName = renderMethods[attributeConfig.type];\n\n return
{this[methodName](attributeConfig, attribute)}
;\n }\n\n /**\n * Lifecycle. Renders the UI of the button.\n *\n * @method render\n * @return {Object} The content which should be rendered.\n */\n render() {\n const saveLabel = Translator.trans(/*@Desc(\"Save\")*/ 'custom_tag_update_btn.save_btn.label', {}, 'alloy_editor');\n const attrs = Object.keys(this.attributes);\n const isValid = this.isValid();\n\n return (\n
\n {attrs.map(this.renderAttribute.bind(this))}\n \n {saveLabel}\n \n
\n );\n }\n\n /**\n * Checks if values are valid.\n *\n * @method isValid\n * @return {Boolean} are values valid\n */\n isValid() {\n return Object.keys(this.attributes).every((attr) => {\n return this.attributes[attr].required ? !!this.state.values[attr].value : true;\n });\n }\n\n /**\n * Creates the custom tag in AlloyEditor.\n *\n * @method saveCustomTag\n */\n saveCustomTag() {\n const { createNewTag, editor } = this.props;\n\n editor.get('nativeEditor').unlockSelection(true);\n\n if (createNewTag) {\n this.execCommand();\n }\n\n const widget = this.getWidget() || this.widget;\n const configValues = Object.assign({}, this.state.values);\n\n widget.setFocused(true);\n widget.setName(this.customTagName);\n widget.setWidgetAttributes(this.createAttributes());\n widget.renderHeader();\n widget.clearConfig();\n\n Object.keys(this.attributes).forEach((key) => {\n widget.setConfig(key, configValues[key].value);\n });\n }\n\n /**\n * Creates attributes.\n *\n * @method createAttributes\n * @return {String} the ezattributes\n */\n createAttributes() {\n return Object.keys(this.attributes).reduce(\n (total, attr) => `${total}

${this.attributes[attr].label}: ${this.state.values[attr].value}

`,\n ''\n );\n }\n\n /**\n * Update values.\n *\n * @method updateValues\n * @param {Object} event\n */\n updateValues(event) {\n const values = Object.assign({}, this.state.values);\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\n\n values[event.target.dataset.attrName].value = value;\n\n this.setState({\n values: values,\n });\n }\n\n /**\n * Gets the render method map.\n *\n * @method getAttributeRenderMethods\n * @return {Object} the render method map\n */\n getAttributeRenderMethods() {\n return {\n string: 'renderString',\n boolean: 'renderCheckbox',\n number: 'renderNumber',\n choice: 'renderSelect',\n };\n }\n}\n\nEzBtnCustomTagUpdate.defaultProps = {\n command: 'ezcustomtag',\n modifiesSelection: true,\n};\n\nEzBtnCustomTagUpdate.propTypes = {\n editor: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n tabIndex: PropTypes.number.isRequired,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/bundle/Resources/public/js/alloyeditor/src/buttons/ez-btn-customtag-update.js","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 6\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n )\n\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/checkPropTypes.js\n// module id = 7\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 8\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport AlloyEditor from 'alloyeditor';\n\nexport default class EzButton extends Component {\n constructor(props) {\n super(props);\n\n this.getStateClasses = AlloyEditor.ButtonStateClasses.getStateClasses;\n this.execCommand = AlloyEditor.ButtonCommand.execCommand.bind(this);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bundle/Resources/public/js/alloyeditor/src/base/ez-button.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///ezBtnCustomTagUpdate.js","webpack:///webpack/bootstrap f67c4cccd58daf124d17","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./src/bundle/Resources/public/js/alloyeditor/src/base/ez-widgetbutton.js","webpack:///external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack:///./node_modules/prop-types/index.js","webpack:///external {\"root\":\"AlloyEditor\",\"commonjs2\":\"AlloyEditor\",\"commonjs\":\"AlloyEditor\",\"amd\":\"AlloyEditor\"}","webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///./src/bundle/Resources/public/js/alloyeditor/src/buttons/ez-btn-customtag-update.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/prop-types/checkPropTypes.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./src/bundle/Resources/public/js/alloyeditor/src/base/ez-button.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_4__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","0","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","setTimeout","e","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","length","queue","concat","queueIndex","drainQueue","timeout","len","run","Item","array","noop","process","nextTick","args","Array","arguments","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","1","11","_interopRequireDefault","obj","default","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","create","constructor","value","writable","setPrototypeOf","__proto__","_createClass","defineProperties","target","props","descriptor","key","protoProps","staticProps","_react","_propTypes","_ezButton","_ezButton2","EzWidgetButton","_EzButton","getPrototypeOf","editor","wrapper","getSelection","getStartElement","widgets","getByElement","EzButton","2","3","NODE_ENV","REACT_ELEMENT_TYPE","Symbol","for","isValidElement","$$typeof","4","5","emptyFunctionThatReturnsNull","assign","ReactPropTypesSecret","checkPropTypes","printWarning","text","message","console","error","x","throwOnDirectAccess","getIteratorFn","maybeIterable","iteratorFn","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","is","y","PropTypeError","stack","createChainableTypeChecker","validate","checkType","isRequired","propName","componentName","location","propFullName","secret","ANONYMOUS","err","cacheKey","manualPropTypeCallCache","manualPropTypeWarningCount","chainedCheckType","bind","createPrimitiveTypeChecker","expectedType","propValue","getPropType","getPreciseType","createArrayOfTypeChecker","typeChecker","isArray","createInstanceTypeChecker","expectedClass","expectedClassName","getClassName","createEnumTypeChecker","expectedValues","JSON","stringify","createObjectOfTypeChecker","propType","createUnionTypeChecker","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","createShapeTypeChecker","shapeTypes","createStrictShapeTypeChecker","allKeys","keys","isNode","every","step","iterator","entries","next","done","entry","isSymbol","RegExp","Date","type","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","PropTypes","55","_react2","_propTypes2","_alloyeditor","_ezWidgetbutton","_ezWidgetbutton2","EzBtnCustomTagUpdate","_EzWidgetButton","_this","widget","getWidget","lockSelection","state","values","config","attrName","createElement","className","label","defaultValue","required","onChange","updateValues","data-attr-name","checked","choices","map","renderChoice","choice","attribute","attributeConfig","attributes","renderMethods","getAttributeRenderMethods","methodName","saveLabel","Translator","trans","attrs","isValid","renderAttribute","onClick","saveCustomTag","disabled","_this2","attr","_props","createNewTag","unlockSelection","execCommand","configValues","setFocused","setName","customTagName","setWidgetAttributes","createAttributes","renderHeader","clearConfig","forEach","setConfig","_this3","reduce","total","event","dataset","setState","boolean","defaultProps","command","modifiesSelection","propTypes","tabIndex","6","toObject","val","undefined","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","test1","String","getOwnPropertyNames","test2","fromCharCode","join","test3","split","letter","source","from","symbols","to","7","typeSpecs","getStack","typeSpecName","ex","loggedTypeFailures","8","emptyFunction","shim","getShim","9","_alloyeditor2","_Component","getStateClasses","AlloyEditor","ButtonStateClasses","ButtonCommand","Component"],"mappings":"CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,EAAAG,QAAA,SAAAA,QAAA,gBACA,kBAAAC,gBAAAC,IACAD,QAAA,uBAAAJ,GACA,gBAAAC,SACAA,QAAA,qBAAAD,EAAAG,QAAA,SAAAA,QAAA,iBAEAJ,EAAA,GAAAA,EAAA,OAA+BA,EAAA,iBAAAA,EAAA,qBAAiEA,EAAA,sCAAAC,EAAAD,EAAA,MAAAA,EAAA,eAC/F,mBAAAO,WAAAC,KAAA,SAAAC,EAAAC,GACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAX,OAGA,IAAAC,GAAAW,EAAAD,IACAE,EAAAF,EACAG,GAAA,EACAd,WAUA,OANAS,GAAAE,GAAAI,KAAAd,EAAAD,QAAAC,IAAAD,QAAAU,GAGAT,EAAAa,GAAA,EAGAb,EAAAD,QAvBA,GAAAY,KA4DA,OAhCAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAQ,EAAA,SAAAlB,EAAAmB,EAAAC,GACAV,EAAAW,EAAArB,EAAAmB,IACAG,OAAAC,eAAAvB,EAAAmB,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAV,EAAAiB,EAAA,SAAA1B,GACA,GAAAmB,GAAAnB,KAAA2B,WACA,WAA2B,MAAA3B,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAS,GAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAjB,KAAAc,EAAAC,IAGtDpB,EAAAuB,EAAA,GAGAvB,IAAAwB,EAAA,MDgBMC,EACA,SAAUlC,EAAQD,GEnExB,QAAAoC,KACA,SAAAC,OAAA,mCAEA,QAAAC,KACA,SAAAD,OAAA,qCAsBA,QAAAE,GAAAC,GACA,GAAAC,IAAAC,WAEA,MAAAA,YAAAF,EAAA,EAGA,KAAAC,IAAAL,IAAAK,IAAAC,WAEA,MADAD,GAAAC,WACAA,WAAAF,EAAA,EAEA,KAEA,MAAAC,GAAAD,EAAA,GACK,MAAAG,GACL,IAEA,MAAAF,GAAA1B,KAAA,KAAAyB,EAAA,GACS,MAAAG,GAET,MAAAF,GAAA1B,KAAAT,KAAAkC,EAAA,KAMA,QAAAI,GAAAC,GACA,GAAAC,IAAAC,aAEA,MAAAA,cAAAF,EAGA,KAAAC,IAAAR,IAAAQ,IAAAC,aAEA,MADAD,GAAAC,aACAA,aAAAF,EAEA,KAEA,MAAAC,GAAAD,GACK,MAAAF,GACL,IAEA,MAAAG,GAAA/B,KAAA,KAAA8B,GACS,MAAAF,GAGT,MAAAG,GAAA/B,KAAAT,KAAAuC,KAYA,QAAAG,KACAC,GAAAC,IAGAD,GAAA,EACAC,EAAAC,OACAC,EAAAF,EAAAG,OAAAD,GAEAE,GAAA,EAEAF,EAAAD,QACAI,KAIA,QAAAA,KACA,IAAAN,EAAA,CAGA,GAAAO,GAAAjB,EAAAS,EACAC,IAAA,CAGA,KADA,GAAAQ,GAAAL,EAAAD,OACAM,GAAA,CAGA,IAFAP,EAAAE,EACAA,OACAE,EAAAG,GACAP,GACAA,EAAAI,GAAAI,KAGAJ,IAAA,EACAG,EAAAL,EAAAD,OAEAD,EAAA,KACAD,GAAA,EACAL,EAAAY,IAiBA,QAAAG,GAAAnB,EAAAoB,GACAtD,KAAAkC,MACAlC,KAAAsD,QAYA,QAAAC,MAhKA,GAOApB,GACAK,EARAgB,EAAA7D,EAAAD,YAgBA,WACA,IAEAyC,EADA,kBAAAC,YACAA,WAEAN,EAEK,MAAAO,GACLF,EAAAL,EAEA,IAEAU,EADA,kBAAAC,cACAA,aAEAT,EAEK,MAAAK,GACLG,EAAAR,KAuDA,IAEAY,GAFAE,KACAH,GAAA,EAEAK,GAAA,CAyCAQ,GAAAC,SAAA,SAAAvB,GACA,GAAAwB,GAAA,GAAAC,OAAAC,UAAAf,OAAA,EACA,IAAAe,UAAAf,OAAA,EACA,OAAAtC,GAAA,EAAuBA,EAAAqD,UAAAf,OAAsBtC,IAC7CmD,EAAAnD,EAAA,GAAAqD,UAAArD,EAGAuC,GAAAe,KAAA,GAAAR,GAAAnB,EAAAwB,IACA,IAAAZ,EAAAD,QAAAF,GACAV,EAAAgB,IASAI,EAAA5B,UAAA2B,IAAA,WACApD,KAAAkC,IAAA4B,MAAA,KAAA9D,KAAAsD,QAEAE,EAAAO,MAAA,UACAP,EAAAQ,SAAA,EACAR,EAAAS,OACAT,EAAAU,QACAV,EAAAW,QAAA,GACAX,EAAAY,YAIAZ,EAAAa,GAAAd,EACAC,EAAAc,YAAAf,EACAC,EAAAe,KAAAhB,EACAC,EAAAgB,IAAAjB,EACAC,EAAAiB,eAAAlB,EACAC,EAAAkB,mBAAAnB,EACAC,EAAAmB,KAAApB,EACAC,EAAAoB,gBAAArB,EACAC,EAAAqB,oBAAAtB,EAEAC,EAAAsB,UAAA,SAAAjE,GAAqC,UAErC2C,EAAAuB,QAAA,SAAAlE,GACA,SAAAkB,OAAA,qCAGAyB,EAAAwB,IAAA,WAA2B,WAC3BxB,EAAAyB,MAAA,SAAAC,GACA,SAAAnD,OAAA,mCAEAyB,EAAA2B,MAAA,WAA4B,WFqFtBC,EACA,SAAUzF,EAAQD,EAASU,GAEjC,YGpQAT,GAAAD,QAFA,gDHuRM2F,GACA,SAAU1F,EAAQD,EAASU,GAEjC,YAqBA,SAASkF,GAAuBC,GAAO,MAAOA,IAAOA,EAAIjE,WAAaiE,GAAQC,QAASD,GAEvF,QAASE,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAEhH,QAASC,GAA2B9F,EAAMU,GAAQ,IAAKV,EAAQ,KAAM,IAAI+F,gBAAe,4DAAgE,QAAOrF,GAAyB,gBAATA,IAAqC,kBAATA,GAA8BV,EAAPU,EAElO,QAASsF,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAIL,WAAU,iEAAoEK,GAAeD,GAASvE,UAAYT,OAAOkF,OAAOD,GAAcA,EAAWxE,WAAa0E,aAAeC,MAAOJ,EAAU7E,YAAY,EAAOkF,UAAU,EAAMnF,cAAc,KAAe+E,IAAYjF,OAAOsF,eAAiBtF,OAAOsF,eAAeN,EAAUC,GAAcD,EAASO,UAAYN,GAxBjejF,OAAOC,eAAevB,EAAS,cAC3B0G,OAAO,GAGX,IAAII,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAIpG,GAAI,EAAGA,EAAIoG,EAAM9D,OAAQtC,IAAK,CAAE,GAAIqG,GAAaD,EAAMpG,EAAIqG,GAAWzF,WAAayF,EAAWzF,aAAc,EAAOyF,EAAW1F,cAAe,EAAU,SAAW0F,KAAYA,EAAWP,UAAW,GAAMrF,OAAOC,eAAeyF,EAAQE,EAAWC,IAAKD,IAAiB,MAAO,UAAUjB,EAAamB,EAAYC,GAAiJ,MAA9HD,IAAYL,EAAiBd,EAAYlE,UAAWqF,GAAiBC,GAAaN,EAAiBd,EAAaoB,GAAqBpB,MI1ShiBqB,EAAA5G,EAAA,GACA6G,GJ6Sc3B,EAAuB0B,GI7SrC5G,EAAA,IACA8G,GJgTkB5B,EAAuB2B,GIhTzC7G,EAAA,IJoTI+G,EAAa7B,EAAuB4B,GIlTnBE,EJ4TA,SAAUC,GAG3B,QAASD,KAGL,MAFA3B,GAAgBzF,KAAMoH,GAEfvB,EAA2B7F,MAAOoH,EAAeb,WAAavF,OAAOsG,eAAeF,IAAiBtD,MAAM9D,KAAM4D,YAoB5H,MAzBAmC,GAAUqB,EAAgBC,GAQ1Bb,EAAaY,IACTP,IAAK,YAQLT,MAAO,WItUP,GAAMmB,GAASvH,KAAK2G,MAAMY,OAAOnG,IAAI,gBAC/BoG,EAAUD,EAAOE,eAAeC,iBAEtC,OAAOH,GAAOI,QAAQC,aAAaJ,OJ2UhCJ,GItViCS,UJyV5CnI,GAAQ8F,QIzVa4B,GJ6VfU,EACA,SAAUnI,EAAQD,GKlWxBC,EAAAD,QAAAO,GLwWM8H,EACA,SAAUpI,EAAQD,EAASU,IMzWjC,SAAAoD,GAOA,kBAAAA,EAAAS,IAAA+D,SAAA,CACA,GAAAC,GAAA,kBAAAC,SACAA,OAAAC,KACAD,OAAAC,IAAA,kBACA,MAEAC,EAAA,SAAA7G,GACA,sBAAAA,IACA,OAAAA,GACAA,EAAA8G,WAAAJ,EAMAtI,GAAAD,QAAmBU,EAAQ,GAA2BgI,GADtD,OAKAzI,GAAAD,QAAmBU,EAAQ,ON8WEK,KAAKf,EAASU,EAAoB,KAIzDkI,EACA,SAAU3I,EAAQD,GO7YxBC,EAAAD,QAAAQ,GPmZMqI,EACA,SAAU5I,EAAQD,EAASU,GAEjC,cQtZA,SAAAoD,GA+BA,QAAAgF,KACA,YAvBA,GAAAC,GAAarI,EAAQ,GAErBsI,EAA2BtI,EAAQ,GACnCuI,EAAqBvI,EAAQ,GAE7BwI,EAAA,YAEA,gBAAApF,EAAAS,IAAA+D,WACAY,EAAA,SAAAC,GACA,GAAAC,GAAA,YAAAD,CACA,oBAAAE,UACAA,QAAAC,MAAAF,EAEA,KAIA,SAAA/G,OAAA+G,GACK,MAAAG,OAQLtJ,EAAAD,QAAA,SAAA0I,EAAAc,GAmBA,QAAAC,GAAAC,GACA,GAAAC,GAAAD,IAAAE,GAAAF,EAAAE,IAAAF,EAAAG,GACA,sBAAAF,GACA,MAAAA,GAiFA,QAAAG,GAAAP,EAAAQ,GAEA,MAAAR,KAAAQ,EAGA,IAAAR,GAAA,EAAAA,GAAA,EAAAQ,EAGAR,OAAAQ,MAYA,QAAAC,GAAAZ,GACA9I,KAAA8I,UACA9I,KAAA2J,MAAA,GAKA,QAAAC,GAAAC,GAKA,QAAAC,GAAAC,EAAApD,EAAAqD,EAAAC,EAAAC,EAAAC,EAAAC,GAIA,GAHAH,KAAAI,EACAF,KAAAH,EAEAI,IAAA1B,EAAA,CACA,GAAAQ,EAAA,CAEA,GAAAoB,GAAA,GAAAvI,OACA,oLAKA,MADAuI,GAAAzJ,KAAA,sBACAyJ,EACS,kBAAA9G,EAAAS,IAAA+D,UAAA,mBAAAe,SAAA,CAET,GAAAwB,GAAAN,EAAA,IAAAD,GAEAQ,EAAAD,IAEAE,EAAA,IAEA7B,EACA,2EACAuB,EAAA,cAAAF,EAAA,wNAKAO,EAAAD,IAAA,EACAE,MAIA,aAAA9D,EAAAqD,GACAD,EAEA,GAAAL,GADA,OAAA/C,EAAAqD,GACA,OAAAE,EAAA,KAAAC,EAAA,+BAAAF,EAAA,8BAEA,OAAAC,EAAA,KAAAC,EAAA,+BAAAF,EAAA,oCAEA,KAEAJ,EAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GA/CA,kBAAA3G,EAAAS,IAAA+D,SACA,GAAAwC,MACAC,EAAA,CAiDA,IAAAC,GAAAZ,EAAAa,KAAA,QAGA,OAFAD,GAAAX,WAAAD,EAAAa,KAAA,SAEAD,EAGA,QAAAE,GAAAC,GACA,QAAAhB,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,EAAAC,GACA,GAAAU,GAAAnE,EAAAqD,EAEA,IADAe,EAAAD,KACAD,EAMA,UAAAnB,GAAA,WAAAQ,EAAA,KAAAC,EAAA,cAFAa,EAAAF,GAEA,kBAAAb,EAAA,gBAAAY,EAAA,KAEA,aAEA,MAAAjB,GAAAC,GAOA,QAAAoB,GAAAC,GACA,QAAArB,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GACA,qBAAAe,GACA,UAAAxB,GAAA,aAAAS,EAAA,mBAAAF,EAAA,kDAEA,IAAAa,GAAAnE,EAAAqD,EACA,KAAArG,MAAAwH,QAAAL,GAAA,CAEA,UAAApB,GAAA,WAAAQ,EAAA,KAAAC,EAAA,cADAY,EAAAD,GACA,kBAAAb,EAAA,yBAEA,OAAA1J,GAAA,EAAqBA,EAAAuK,EAAAjI,OAAsBtC,IAAA,CAC3C,GAAAyI,GAAAkC,EAAAJ,EAAAvK,EAAA0J,EAAAC,EAAAC,EAAA,IAAA5J,EAAA,IAAAmI,EACA,IAAAM,YAAAjH,OACA,MAAAiH,GAGA,YAEA,MAAAY,GAAAC,GAeA,QAAAuB,GAAAC,GACA,QAAAxB,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GACA,KAAAxD,EAAAqD,YAAAqB,IAAA,CACA,GAAAC,GAAAD,EAAAxK,MAAAwJ,CAEA,WAAAX,GAAA,WAAAQ,EAAA,KAAAC,EAAA,cADAoB,EAAA5E,EAAAqD,IACA,kBAAAC,EAAA,4BAAAqB,EAAA,MAEA,YAEA,MAAA1B,GAAAC,GAGA,QAAA2B,GAAAC,GAMA,QAAA5B,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GAEA,OADAW,GAAAnE,EAAAqD,GACAzJ,EAAA,EAAqBA,EAAAkL,EAAA5I,OAA2BtC,IAChD,GAAAiJ,EAAAsB,EAAAW,EAAAlL,IACA,WAKA,WAAAmJ,GAAA,WAAAQ,EAAA,KAAAC,EAAA,eAAAW,EAAA,kBAAAb,EAAA,sBADAyB,KAAAC,UAAAF,GACA,KAdA,MAAA9H,OAAAwH,QAAAM,GAgBA7B,EAAAC,IAfA,eAAArG,EAAAS,IAAA+D,UAAAY,EAAA,sEACAJ,GAiBA,QAAAoD,GAAAV,GACA,QAAArB,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GACA,qBAAAe,GACA,UAAAxB,GAAA,aAAAS,EAAA,mBAAAF,EAAA,mDAEA,IAAAa,GAAAnE,EAAAqD,GACA6B,EAAAd,EAAAD,EACA,eAAAe,EACA,UAAAnC,GAAA,WAAAQ,EAAA,KAAAC,EAAA,cAAA0B,EAAA,kBAAA5B,EAAA,yBAEA,QAAApD,KAAAiE,GACA,GAAAA,EAAApJ,eAAAmF,GAAA,CACA,GAAAmC,GAAAkC,EAAAJ,EAAAjE,EAAAoD,EAAAC,EAAAC,EAAA,IAAAtD,EAAA6B,EACA,IAAAM,YAAAjH,OACA,MAAAiH,GAIA,YAEA,MAAAY,GAAAC,GAGA,QAAAiC,GAAAC,GAiBA,QAAAlC,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GACA,OAAA5J,GAAA,EAAqBA,EAAAwL,EAAAlJ,OAAgCtC,IAAA,CAErD,UAAAyL,EADAD,EAAAxL,IACAoG,EAAAqD,EAAAC,EAAAC,EAAAC,EAAAzB,GACA,YAIA,UAAAgB,GAAA,WAAAQ,EAAA,KAAAC,EAAA,kBAAAF,EAAA,MAxBA,IAAAtG,MAAAwH,QAAAY,GAEA,MADA,eAAAvI,EAAAS,IAAA+D,UAAAY,EAAA,0EACAJ,CAGA,QAAAjI,GAAA,EAAmBA,EAAAwL,EAAAlJ,OAAgCtC,IAAA,CACnD,GAAAyL,GAAAD,EAAAxL,EACA,sBAAAyL,GAKA,MAJApD,GACA,8FACAqD,EAAAD,GAAA,aAAAzL,EAAA,KAEAiI,EAcA,MAAAoB,GAAAC,GAaA,QAAAqC,GAAAC,GACA,QAAAtC,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GACA,GAAAW,GAAAnE,EAAAqD,GACA6B,EAAAd,EAAAD,EACA,eAAAe,EACA,UAAAnC,GAAA,WAAAQ,EAAA,KAAAC,EAAA,cAAA0B,EAAA,kBAAA5B,EAAA,wBAEA,QAAApD,KAAAsF,GAAA,CACA,GAAAH,GAAAG,EAAAtF,EACA,IAAAmF,EAAA,CAGA,GAAAhD,GAAAgD,EAAAlB,EAAAjE,EAAAoD,EAAAC,EAAAC,EAAA,IAAAtD,EAAA6B,EACA,IAAAM,EACA,MAAAA,IAGA,YAEA,MAAAY,GAAAC,GAGA,QAAAuC,GAAAD,GACA,QAAAtC,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GACA,GAAAW,GAAAnE,EAAAqD,GACA6B,EAAAd,EAAAD,EACA,eAAAe,EACA,UAAAnC,GAAA,WAAAQ,EAAA,KAAAC,EAAA,cAAA0B,EAAA,kBAAA5B,EAAA,wBAIA,IAAAoC,GAAA5D,KAA6B9B,EAAAqD,GAAAmC,EAC7B,QAAAtF,KAAAwF,GAAA,CACA,GAAAL,GAAAG,EAAAtF,EACA,KAAAmF,EACA,UAAAtC,GACA,WAAAQ,EAAA,KAAAC,EAAA,UAAAtD,EAAA,kBAAAoD,EAAA,mBACAyB,KAAAC,UAAAhF,EAAAqD,GAAA,WACA,iBAAA0B,KAAAC,UAAA3K,OAAAsL,KAAAH,GAAA,WAGA,IAAAnD,GAAAgD,EAAAlB,EAAAjE,EAAAoD,EAAAC,EAAAC,EAAA,IAAAtD,EAAA6B,EACA,IAAAM,EACA,MAAAA,GAGA,YAGA,MAAAY,GAAAC,GAGA,QAAA0C,GAAAzB,GACA,aAAAA,IACA,aACA,aACA,gBACA,QACA,eACA,OAAAA,CACA,cACA,GAAAnH,MAAAwH,QAAAL,GACA,MAAAA,GAAA0B,MAAAD,EAEA,WAAAzB,GAAA1C,EAAA0C,GACA,QAGA,IAAAzB,GAAAF,EAAA2B,EACA,KAAAzB,EAqBA,QApBA,IACAoD,GADAC,EAAArD,EAAA5I,KAAAqK,EAEA,IAAAzB,IAAAyB,EAAA6B,SACA,OAAAF,EAAAC,EAAAE,QAAAC,MACA,IAAAN,EAAAE,EAAArG,OACA,aAKA,QAAAqG,EAAAC,EAAAE,QAAAC,MAAA,CACA,GAAAC,GAAAL,EAAArG,KACA,IAAA0G,IACAP,EAAAO,EAAA,IACA,SASA,QACA,SACA,UAIA,QAAAC,GAAAlB,EAAAf,GAEA,iBAAAe,IAKA,WAAAf,EAAA,kBAKA,kBAAA5C,SAAA4C,YAAA5C,SAQA,QAAA6C,GAAAD,GACA,GAAAe,SAAAf,EACA,OAAAnH,OAAAwH,QAAAL,GACA,QAEAA,YAAAkC,QAIA,SAEAD,EAAAlB,EAAAf,GACA,SAEAe,EAKA,QAAAb,GAAAF,GACA,YAAAA,GAAA,OAAAA,EACA,SAAAA,CAEA,IAAAe,GAAAd,EAAAD,EACA,eAAAe,EAAA,CACA,GAAAf,YAAAmC,MACA,YACO,IAAAnC,YAAAkC,QACP,eAGA,MAAAnB,GAKA,QAAAI,GAAA7F,GACA,GAAA8G,GAAAlC,EAAA5E,EACA,QAAA8G,GACA,YACA,aACA,YAAAA,CACA,eACA,WACA,aACA,WAAAA,CACA,SACA,MAAAA,IAKA,QAAA3B,GAAAT,GACA,MAAAA,GAAA3E,aAAA2E,EAAA3E,YAAAtF,KAGAiK,EAAA3E,YAAAtF,KAFAwJ,EA5fA,GAAAf,GAAA,kBAAApB,gBAAAwE,SACAnD,EAAA,aAsEAc,EAAA,gBAIA8C,GACA7J,MAAAsH,EAAA,SACAwC,KAAAxC,EAAA,WACAyC,KAAAzC,EAAA,YACA0C,OAAA1C,EAAA,UACArJ,OAAAqJ,EAAA,UACA2C,OAAA3C,EAAA,UACA4C,OAAA5C,EAAA,UAEA6C,IAuHA,WACA,MAAA7D,GAAApB,MAvHAkF,QAAAzC,EACA0C,QA8IA,WACA,QAAA9D,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GACA,GAAAW,GAAAnE,EAAAqD,EACA,KAAA5B,EAAA0C,GAAA,CAEA,UAAApB,GAAA,WAAAQ,EAAA,KAAAC,EAAA,cADAY,EAAAD,GACA,kBAAAb,EAAA,sCAEA,YAEA,MAAAL,GAAAC,MAtJA+D,WAAAxC,EACAyC,KA6OA,WACA,QAAAhE,GAAAlD,EAAAqD,EAAAC,EAAAC,EAAAC,GACA,MAAAoC,GAAA5F,EAAAqD,IAGA,KAFA,GAAAN,GAAA,WAAAQ,EAAA,KAAAC,EAAA,kBAAAF,EAAA,4BAIA,MAAAL,GAAAC,MAnPAiE,SAAAlC,EACAmC,MAAAvC,EACAwC,UAAAlC,EACAmC,MAAA/B,EACAgC,MAAA9B,EAuaA,OAtYA1C,GAAAjI,UAAAM,MAAAN,UAmYA0L,EAAAxE,iBACAwE,EAAAgB,UAAAhB,EAEAA,KR0Z6B1M,KAAKf,EAASU,EAAoB,KAIzDgO,GACA,SAAUzO,EAAQD,EAASU,GAEjC,YAyBA,SAASkF,GAAuBC,GAAO,MAAOA,IAAOA,EAAIjE,WAAaiE,GAAQC,QAASD,GAEvF,QAASE,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAEhH,QAASC,GAA2B9F,EAAMU,GAAQ,IAAKV,EAAQ,KAAM,IAAI+F,gBAAe,4DAAgE,QAAOrF,GAAyB,gBAATA,IAAqC,kBAATA,GAA8BV,EAAPU,EAElO,QAASsF,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAIL,WAAU,iEAAoEK,GAAeD,GAASvE,UAAYT,OAAOkF,OAAOD,GAAcA,EAAWxE,WAAa0E,aAAeC,MAAOJ,EAAU7E,YAAY,EAAOkF,UAAU,EAAMnF,cAAc,KAAe+E,IAAYjF,OAAOsF,eAAiBtF,OAAOsF,eAAeN,EAAUC,GAAcD,EAASO,UAAYN,GA5BjejF,OAAOC,eAAevB,EAAS,cAC3B0G,OAAO,GAGX,IAAII,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAIpG,GAAI,EAAGA,EAAIoG,EAAM9D,OAAQtC,IAAK,CAAE,GAAIqG,GAAaD,EAAMpG,EAAIqG,GAAWzF,WAAayF,EAAWzF,aAAc,EAAOyF,EAAW1F,cAAe,EAAU,SAAW0F,KAAYA,EAAWP,UAAW,GAAMrF,OAAOC,eAAeyF,EAAQE,EAAWC,IAAKD,IAAiB,MAAO,UAAUjB,EAAamB,EAAYC,GAAiJ,MAA9HD,IAAYL,EAAiBd,EAAYlE,UAAWqF,GAAiBC,GAAaN,EAAiBd,EAAaoB,GAAqBpB,MSj9BhiBqB,EAAA5G,EAAA,GTq9BIiO,EAAU/I,EAAuB0B,GSp9BrCC,EAAA7G,EAAA,GTw9BIkO,EAAchJ,EAAuB2B,GSv9BzCsH,EAAAnO,EAAA,GACAoO,GT09BoBlJ,EAAuBiJ,GS19B3CnO,EAAA,KT89BIqO,EAAmBnJ,EAAuBkJ,GS59BzBE,ETs+BM,SAAUC,GSr+BjC,QAAAD,GAAY/H,GAAOlB,EAAAzF,KAAA0O,EAAA,IAAAE,GAAA/I,EAAA7F,MAAA0O,EAAAnI,WAAAvF,OAAAsG,eAAAoH,IAAAjO,KAAAT,KACT2G,GADS,OAGfiI,GAAKC,OAASD,EAAKE,YAEnBnI,EAAMY,OAAOnG,IAAI,gBAAgB2N,gBAEjCH,EAAKI,OACDC,OAAQtI,EAAMsI,QARHL,ETwyCnB,MAlUA7I,GAAU2I,EAAsBC,GA2BhCnI,EAAakI,IACT7H,IAAK,eACLT,MAAO,SS/+BE8I,EAAQC,GACjB,MACId,GAAA7I,QAAA4J,cAAA,OAAKC,UAAU,sBACXhB,EAAA7I,QAAA4J,cAAA,SAAOC,UAAU,uCAAuCH,EAAOI,OAC/DjB,EAAA7I,QAAA4J,cAAA,SACIlC,KAAK,OACLqC,aAAcL,EAAOK,aACrBC,SAAUN,EAAOM,SACjBH,UAAU,gCACVjJ,MAAOpG,KAAKgP,MAAMC,OAAOE,GAAU/I,MACnCqJ,SAAUzP,KAAK0P,aAAa/E,KAAK3K,MACjC2P,iBAAgBR,QTmgC5BtI,IAAK,iBACLT,MAAO,SSt/BI8I,EAAQC,GACnB,MACId,GAAA7I,QAAA4J,cAAA,OAAKC,UAAU,sBACXhB,EAAA7I,QAAA4J,cAAA,SAAOC,UAAU,uCAAuCH,EAAOI,OAC/DjB,EAAA7I,QAAA4J,cAAA,SACIlC,KAAK,WACLqC,aAAcL,EAAOK,aACrBC,SAAUN,EAAOM,SACjBH,UAAU,gCACVO,QAAS5P,KAAKgP,MAAMC,OAAOE,GAAU/I,MACrCqJ,SAAUzP,KAAK0P,aAAa/E,KAAK3K,MACjC2P,iBAAgBR,QT0gC5BtI,IAAK,eACLT,MAAO,SS7/BE8I,EAAQC,GACjB,MACId,GAAA7I,QAAA4J,cAAA,OAAKC,UAAU,sBACXhB,EAAA7I,QAAA4J,cAAA,SAAOC,UAAU,uCAAuCH,EAAOI,OAC/DjB,EAAA7I,QAAA4J,cAAA,SACIlC,KAAK,SACLqC,aAAcL,EAAOK,aACrBC,SAAUN,EAAOM,SACjBH,UAAU,gCACVjJ,MAAOpG,KAAKgP,MAAMC,OAAOE,GAAU/I,MACnCqJ,SAAUzP,KAAK0P,aAAa/E,KAAK3K,MACjC2P,iBAAgBR,QTihC5BtI,IAAK,eACLT,MAAO,SSpgCE8I,EAAQC,GACjB,MACId,GAAA7I,QAAA4J,cAAA,OAAKC,UAAU,sBACXhB,EAAA7I,QAAA4J,cAAA,SAAOC,UAAU,uCAAuCH,EAAOI,OAC/DjB,EAAA7I,QAAA4J,cAAA,UACIC,UAAU,gCACVjJ,MAAOpG,KAAKgP,MAAMC,OAAOE,GAAU/I,MACnCqJ,SAAUzP,KAAK0P,aAAa/E,KAAK3K,MACjC2P,iBAAgBR,GACfD,EAAOW,QAAQC,IAAI9P,KAAK+P,aAAapF,KAAK3K,YTyhCvD6G,IAAK,eACLT,MAAO,SS7gCE4J,GACT,MAAO3B,GAAA7I,QAAA4J,cAAA,UAAQhJ,MAAO4J,GAASA,MT6hC/BnJ,IAAK,kBACLT,MAAO,SSphCK6J,GACZ,GAAMC,GAAkBlQ,KAAKmQ,WAAWF,GAClCG,EAAgBpQ,KAAKqQ,4BACrBC,EAAaF,EAAcF,EAAgBhD,KAEjD,OAAOmB,GAAA7I,QAAA4J,cAAA,OAAKC,UAAU,gCAAgCrP,KAAKsQ,GAAYJ,EAAiBD,OTmiCxFpJ,IAAK,SACLT,MAAO,WS1hCP,GAAMmK,GAAYC,WAAWC,MAAwB,0CAA4C,gBAC3FC,EAAQ1P,OAAOsL,KAAKtM,KAAKmQ,YACzBQ,EAAU3Q,KAAK2Q,SAErB,OACItC,GAAA7I,QAAA4J,cAAA,OAAKC,UAAU,oBACVqB,EAAMZ,IAAI9P,KAAK4Q,gBAAgBjG,KAAK3K,OACrCqO,EAAA7I,QAAA4J,cAAA,UACIC,UAAU,gEACVwB,QAAS7Q,KAAK8Q,cAAcnG,KAAK3K,MACjC+Q,UAAWJ,GACVJ,OT2iCb1J,IAAK,UACLT,MAAO,WShiCD,GAAA4K,GAAAhR,IACN,OAAOgB,QAAOsL,KAAKtM,KAAKmQ,YAAY3D,MAAM,SAACyE,GACvC,OAAOD,EAAKb,WAAWc,GAAMzB,YAAawB,EAAKhC,MAAMC,OAAOgC,GAAM7K,WT6iCtES,IAAK,gBACLT,MAAO,WSriCK,GAAA8K,GACqBlR,KAAK2G,MAA9BwK,EADID,EACJC,YADID,GACU3J,OAEfnG,IAAI,gBAAgBgQ,iBAAgB,GAEvCD,GACAnR,KAAKqR,aAGT,IAAMxC,GAAS7O,KAAK8O,aAAe9O,KAAK6O,OAClCyC,EAAetQ,OAAOyH,UAAWzI,KAAKgP,MAAMC,OAElDJ,GAAO0C,YAAW,GAClB1C,EAAO2C,QAAQxR,KAAKyR,eACpB5C,EAAO6C,oBAAoB1R,KAAK2R,oBAChC9C,EAAO+C,eACP/C,EAAOgD,cAEP7Q,OAAOsL,KAAKtM,KAAKmQ,YAAY2B,QAAQ,SAACjL,GAClCgI,EAAOkD,UAAUlL,EAAKyK,EAAazK,GAAKT,YTojC5CS,IAAK,mBACLT,MAAO,WS3iCQ,GAAA4L,GAAAhS,IACf,OAAOgB,QAAOsL,KAAKtM,KAAKmQ,YAAY8B,OAChC,SAACC,EAAOjB,GAAR,MAAoBiB,GAApB,MAA+BF,EAAK7B,WAAWc,GAAM3B,MAArD,KAA+D0C,EAAKhD,MAAMC,OAAOgC,GAAM7K,MAAvF,QACA,OTwjCJS,IAAK,eACLT,MAAO,SS/iCE+L,GACT,GAAMlD,GAASjO,OAAOyH,UAAWzI,KAAKgP,MAAMC,QACtC7I,EAA8B,aAAtB+L,EAAMzL,OAAOwG,KAAsBiF,EAAMzL,OAAOkJ,QAAUuC,EAAMzL,OAAON,KAErF6I,GAAOkD,EAAMzL,OAAO0L,QAAQjD,UAAU/I,MAAQA,EAE9CpG,KAAKqS,UACDpD,OAAQA,OT2jCZpI,IAAK,4BACLT,MAAO,WSjjCP,OACImH,OAAQ,eACR+E,QAAS,iBACThF,OAAQ,eACR0C,OAAQ,oBTujCTtB,GSzyCuCtH,UT4yClD1H,GAAQ8F,QS5yCakJ,EAuPrBA,EAAqB6D,cACjBC,QAAS,cACTC,mBAAmB,GAGvB/D,EAAqBgE,WACjBnL,OAAQ4G,UAAU5M,OAAOwI,WACzBuF,MAAOnB,UAAUZ,OAAOxD,WACxB4I,SAAUxE,UAAUb,OAAOvD,aT6jCzB6I,EACA,SAAUjT,EAAQD,EAASU,GAEjC,YUxzCA,SAAAyS,GAAAC,GACA,UAAAA,OAAAC,KAAAD,EACA,SAAAlN,WAAA,wDAGA,OAAA5E,QAAA8R;;;;;AATA,GAAAE,GAAAhS,OAAAgS,sBACAtR,EAAAV,OAAAS,UAAAC,eACAuR,EAAAjS,OAAAS,UAAAyR,oBAsDAvT,GAAAD,QA5CA,WACA,IACA,IAAAsB,OAAAyH,OACA,QAMA,IAAA0K,GAAA,GAAAC,QAAA,MAEA,IADAD,EAAA,QACA,MAAAnS,OAAAqS,oBAAAF,GAAA,GACA,QAKA,QADAG,MACA/S,EAAA,EAAiBA,EAAA,GAAQA,IACzB+S,EAAA,IAAAF,OAAAG,aAAAhT,KAKA,mBAHAS,OAAAqS,oBAAAC,GAAAxD,IAAA,SAAAzO,GACA,MAAAiS,GAAAjS,KAEAmS,KAAA,IACA,QAIA,IAAAC,KAIA,OAHA,uBAAAC,MAAA,IAAA5B,QAAA,SAAA6B,GACAF,EAAAE,OAGA,yBADA3S,OAAAsL,KAAAtL,OAAAyH,UAAkCgL,IAAAD,KAAA,IAMhC,MAAAlJ,GAEF,aAIAtJ,OAAAyH,OAAA,SAAA/B,EAAAkN,GAKA,OAJAC,GAEAC,EADAC,EAAAlB,EAAAnM,GAGA9E,EAAA,EAAgBA,EAAAgC,UAAAf,OAAsBjB,IAAA,CACtCiS,EAAA7S,OAAA4C,UAAAhC,GAEA,QAAAiF,KAAAgN,GACAnS,EAAAjB,KAAAoT,EAAAhN,KACAkN,EAAAlN,GAAAgN,EAAAhN,GAIA,IAAAmM,EAAA,CACAc,EAAAd,EAAAa,EACA,QAAAtT,GAAA,EAAkBA,EAAAuT,EAAAjR,OAAoBtC,IACtC0S,EAAAxS,KAAAoT,EAAAC,EAAAvT,MACAwT,EAAAD,EAAAvT,IAAAsT,EAAAC,EAAAvT,MAMA,MAAAwT,KV20CMC,EACA,SAAUrU,EAAQD,EAASU,GAEjC,cWt6CA,SAAAoD,GAwCA,QAAAmF,GAAAsL,EAAAhF,EAAA/E,EAAAD,EAAAiK,GACA,kBAAA1Q,EAAAS,IAAA+D,SACA,OAAAmM,KAAAF,GACA,GAAAA,EAAAvS,eAAAyS,GAAA,CACA,GAAAnL,EAIA,KAGA,qBAAAiL,GAAAE,GAAA,CACA,GAAA7J,GAAAvI,OACAkI,GAAA,oBAAAC,EAAA,UAAAiK,EAAA,mGACAF,GAAAE,GAAA,KAGA,MADA7J,GAAAzJ,KAAA,sBACAyJ,EAEAtB,EAAAiL,EAAAE,GAAAlF,EAAAkF,EAAAlK,EAAAC,EAAA,KAAAxB,GACS,MAAA0L,GACTpL,EAAAoL,EAaA,IAXApL,eAAAjH,QACA6G,GACAqB,GAAA,0CACAC,EAAA,KAAAiK,EAAA,iGACAnL,GAAA,kKAOAA,YAAAjH,UAAAiH,EAAAF,UAAAuL,IAAA,CAGAA,EAAArL,EAAAF,UAAA,CAEA,IAAAa,GAAAuK,MAAA,EAEAtL,GACA,UAAAsB,EAAA,UAAAlB,EAAAF,SAAA,MAAAa,IAAA,OAzEA,GAAAf,GAAA,YAEA,mBAAApF,EAAAS,IAAA+D,SAAA,CACA,GAAAU,GAA6BtI,EAAQ,GACrCiU,IAEAzL,GAAA,SAAAC,GACA,GAAAC,GAAA,YAAAD,CACA,oBAAAE,UACAA,QAAAC,MAAAF,EAEA,KAIA,SAAA/G,OAAA+G,GACK,MAAAG,MAiELtJ,EAAAD,QAAAiJ,IXy6C6BlI,KAAKf,EAASU,EAAoB,KAIzDkU,EACA,SAAU3U,EAAQD,EAASU,GAEjC,YY//CA,SAAAmU,MAFA,GAAA7L,GAA2BtI,EAAQ,EAInCT,GAAAD,QAAA,WACA,QAAA8U,GAAA7N,EAAAqD,EAAAC,EAAAC,EAAAC,EAAAC,GACA,GAAAA,IAAA1B,EAAA,CAIA,GAAA4B,GAAA,GAAAvI,OACA,kLAKA,MADAuI,GAAAzJ,KAAA,sBACAyJ,GAGA,QAAAmK,KACA,MAAAD,GAFAA,EAAAzK,WAAAyK,CAMA,IAAArH,IACA7J,MAAAkR,EACApH,KAAAoH,EACAnH,KAAAmH,EACAlH,OAAAkH,EACAjT,OAAAiT,EACAjH,OAAAiH,EACAhH,OAAAgH,EAEA/G,IAAA+G,EACA9G,QAAA+G,EACA9G,QAAA6G,EACA5G,WAAA6G,EACA5G,KAAA2G,EACA1G,SAAA2G,EACA1G,MAAA0G,EACAzG,UAAAyG,EACAxG,MAAAwG,EACAvG,MAAAuG,EAMA,OAHAtH,GAAAxE,eAAA4L,EACApH,EAAAgB,UAAAhB,EAEAA,IZihDMuH,EACA,SAAU/U,EAAQD,EAASU,GAEjC,YAmBA,SAASkF,GAAuBC,GAAO,MAAOA,IAAOA,EAAIjE,WAAaiE,GAAQC,QAASD,GAEvF,QAASE,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAEhH,QAASC,GAA2B9F,EAAMU,GAAQ,IAAKV,EAAQ,KAAM,IAAI+F,gBAAe,4DAAgE,QAAOrF,GAAyB,gBAATA,IAAqC,kBAATA,GAA8BV,EAAPU,EAElO,QAASsF,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAIL,WAAU,iEAAoEK,GAAeD,GAASvE,UAAYT,OAAOkF,OAAOD,GAAcA,EAAWxE,WAAa0E,aAAeC,MAAOJ,EAAU7E,YAAY,EAAOkF,UAAU,EAAMnF,cAAc,KAAe+E,IAAYjF,OAAOsF,eAAiBtF,OAAOsF,eAAeN,EAAUC,GAAcD,EAASO,UAAYN,GAtBjejF,OAAOC,eAAevB,EAAS,cAC3B0G,OAAO,GajlDX,IAAAY,GAAA5G,EAAA,GACA6G,GbqlDc3B,EAAuB0B,GarlDrC5G,EAAA,IACAmO,GbwlDkBjJ,EAAuB2B,GaxlDzC7G,EAAA,Ib4lDIuU,EAAgBrP,EAAuBiJ,Ga1lDtB1G,EbomDN,SAAU+M,GanmDrB,QAAA/M,GAAYlB,GAAOlB,EAAAzF,KAAA6H,EAAA,IAAA+G,GAAA/I,EAAA7F,MAAA6H,EAAAtB,WAAAvF,OAAAsG,eAAAO,IAAApH,KAAAT,KACT2G,GADS,OAGfiI,GAAKiG,gBAAkBC,UAAYC,mBAAmBF,gBACtDjG,EAAKyC,YAAcyD,UAAYE,cAAc3D,YAAY1G,KAAtCiE,GAJJA,EbgnDnB,MAZA7I,GAAU8B,EAAU+M,GAYb/M,GajnD2BoN,YbonDtCvV,GAAQ8F,QapnDaqC,KbwnDA","file":"ezBtnCustomTagUpdate.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"AlloyEditor\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"AlloyEditor\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ezBtnCustomTagUpdate\"] = factory(require(\"react\"), require(\"AlloyEditor\"));\n\telse\n\t\troot[\"eZ\"] = root[\"eZ\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"] = root[\"eZ\"][\"ezAlloyEditor\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"][\"ezBtnCustomTagUpdate\"] = factory(root[\"React\"], root[\"AlloyEditor\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_4__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"AlloyEditor\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"AlloyEditor\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ezBtnCustomTagUpdate\"] = factory(require(\"react\"), require(\"AlloyEditor\"));\n\telse\n\t\troot[\"eZ\"] = root[\"eZ\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"] = root[\"eZ\"][\"ezAlloyEditor\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"][\"ezBtnCustomTagUpdate\"] = factory(root[\"React\"], root[\"AlloyEditor\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_4__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 55);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(3);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ezButton = __webpack_require__(9);\n\nvar _ezButton2 = _interopRequireDefault(_ezButton);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar EzWidgetButton = function (_EzButton) {\n _inherits(EzWidgetButton, _EzButton);\n\n function EzWidgetButton() {\n _classCallCheck(this, EzWidgetButton);\n\n return _possibleConstructorReturn(this, (EzWidgetButton.__proto__ || Object.getPrototypeOf(EzWidgetButton)).apply(this, arguments));\n }\n\n _createClass(EzWidgetButton, [{\n key: 'getWidget',\n\n /**\n * Returns the ezembed widget instance for the current selection.\n *\n * @method getWidget\n * @return CKEDITOR.plugins.widget\n */\n value: function getWidget() {\n var editor = this.props.editor.get('nativeEditor');\n var wrapper = editor.getSelection().getStartElement();\n\n return editor.widgets.getByElement(wrapper);\n }\n }]);\n\n return EzWidgetButton;\n}(_ezButton2.default);\n\nexports.default = EzWidgetButton;\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(5)(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(8)();\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar assign = __webpack_require__(6);\n\nvar ReactPropTypesSecret = __webpack_require__(1);\nvar checkPropTypes = __webpack_require__(7);\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(3);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _alloyeditor = __webpack_require__(4);\n\nvar _alloyeditor2 = _interopRequireDefault(_alloyeditor);\n\nvar _ezWidgetbutton = __webpack_require__(11);\n\nvar _ezWidgetbutton2 = _interopRequireDefault(_ezWidgetbutton);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar EzBtnCustomTagUpdate = function (_EzWidgetButton) {\n _inherits(EzBtnCustomTagUpdate, _EzWidgetButton);\n\n function EzBtnCustomTagUpdate(props) {\n _classCallCheck(this, EzBtnCustomTagUpdate);\n\n var _this = _possibleConstructorReturn(this, (EzBtnCustomTagUpdate.__proto__ || Object.getPrototypeOf(EzBtnCustomTagUpdate)).call(this, props));\n\n _this.widget = _this.getWidget();\n\n props.editor.get('nativeEditor').lockSelection();\n\n _this.state = {\n values: props.values\n };\n return _this;\n }\n\n /**\n * Renders the text input.\n *\n * @method renderString\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered text input.\n */\n\n\n _createClass(EzBtnCustomTagUpdate, [{\n key: 'renderString',\n value: function renderString(config, attrName) {\n return _react2.default.createElement(\n 'div',\n { className: 'attribute__wrapper' },\n _react2.default.createElement(\n 'label',\n { className: 'attribute__label form-control-label' },\n config.label\n ),\n _react2.default.createElement('input', {\n type: 'text',\n defaultValue: config.defaultValue,\n required: config.required,\n className: 'attribute__input form-control',\n value: this.state.values[attrName].value,\n onChange: this.updateValues.bind(this),\n 'data-attr-name': attrName\n })\n );\n }\n\n /**\n * Renders the checkbox input.\n *\n * @method renderCheckbox\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered checkbox input.\n */\n\n }, {\n key: 'renderCheckbox',\n value: function renderCheckbox(config, attrName) {\n return _react2.default.createElement(\n 'div',\n { className: 'attribute__wrapper' },\n _react2.default.createElement(\n 'label',\n { className: 'attribute__label form-control-label' },\n config.label\n ),\n _react2.default.createElement('input', {\n type: 'checkbox',\n defaultValue: config.defaultValue,\n required: config.required,\n className: 'attribute__input form-control',\n checked: this.state.values[attrName].value,\n onChange: this.updateValues.bind(this),\n 'data-attr-name': attrName\n })\n );\n }\n\n /**\n * Renders the number input.\n *\n * @method renderNumber\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered number input.\n */\n\n }, {\n key: 'renderNumber',\n value: function renderNumber(config, attrName) {\n return _react2.default.createElement(\n 'div',\n { className: 'attribute__wrapper' },\n _react2.default.createElement(\n 'label',\n { className: 'attribute__label form-control-label' },\n config.label\n ),\n _react2.default.createElement('input', {\n type: 'number',\n defaultValue: config.defaultValue,\n required: config.required,\n className: 'attribute__input form-control',\n value: this.state.values[attrName].value,\n onChange: this.updateValues.bind(this),\n 'data-attr-name': attrName\n })\n );\n }\n\n /**\n * Renders the select.\n *\n * @method renderSelect\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered select.\n */\n\n }, {\n key: 'renderSelect',\n value: function renderSelect(config, attrName) {\n return _react2.default.createElement(\n 'div',\n { className: 'attribute__wrapper' },\n _react2.default.createElement(\n 'label',\n { className: 'attribute__label form-control-label' },\n config.label\n ),\n _react2.default.createElement(\n 'select',\n {\n className: 'attribute__input form-control',\n value: this.state.values[attrName].value,\n onChange: this.updateValues.bind(this),\n 'data-attr-name': attrName },\n config.choices.map(this.renderChoice.bind(this))\n )\n );\n }\n\n /**\n * Renders the option.\n *\n * @method renderChoice\n * @param {String} choice\n * @return {Object} The rendered option.\n */\n\n }, {\n key: 'renderChoice',\n value: function renderChoice(choice) {\n return _react2.default.createElement(\n 'option',\n { value: choice },\n choice\n );\n }\n\n /**\n * Renders the attribute.\n *\n * @method renderAttribute\n * @param {Object} attribute\n * @return {Object} The rendered attribute.\n */\n\n }, {\n key: 'renderAttribute',\n value: function renderAttribute(attribute) {\n var attributeConfig = this.attributes[attribute];\n var renderMethods = this.getAttributeRenderMethods();\n var methodName = renderMethods[attributeConfig.type];\n\n return _react2.default.createElement(\n 'div',\n { className: 'ez-ae-custom-tag__attributes' },\n this[methodName](attributeConfig, attribute)\n );\n }\n\n /**\n * Lifecycle. Renders the UI of the button.\n *\n * @method render\n * @return {Object} The content which should be rendered.\n */\n\n }, {\n key: 'render',\n value: function render() {\n var saveLabel = Translator.trans( /*@Desc(\"Save\")*/'custom_tag_update_btn.save_btn.label', {}, 'alloy_editor');\n var attrs = Object.keys(this.attributes);\n var isValid = this.isValid();\n\n return _react2.default.createElement(\n 'div',\n { className: 'ez-ae-custom-tag' },\n attrs.map(this.renderAttribute.bind(this)),\n _react2.default.createElement(\n 'button',\n {\n className: 'ez-btn-ae btn btn-secondary ez-btn-ae--custom-tag float-right',\n onClick: this.saveCustomTag.bind(this),\n disabled: !isValid },\n saveLabel\n )\n );\n }\n\n /**\n * Checks if values are valid.\n *\n * @method isValid\n * @return {Boolean} are values valid\n */\n\n }, {\n key: 'isValid',\n value: function isValid() {\n var _this2 = this;\n\n return Object.keys(this.attributes).every(function (attr) {\n return _this2.attributes[attr].required ? !!_this2.state.values[attr].value : true;\n });\n }\n\n /**\n * Creates the custom tag in AlloyEditor.\n *\n * @method saveCustomTag\n */\n\n }, {\n key: 'saveCustomTag',\n value: function saveCustomTag() {\n var _props = this.props,\n createNewTag = _props.createNewTag,\n editor = _props.editor;\n\n\n editor.get('nativeEditor').unlockSelection(true);\n\n if (createNewTag) {\n this.execCommand();\n }\n\n var widget = this.getWidget() || this.widget;\n var configValues = Object.assign({}, this.state.values);\n\n widget.setFocused(true);\n widget.setName(this.customTagName);\n widget.setWidgetAttributes(this.createAttributes());\n widget.renderHeader();\n widget.clearConfig();\n\n Object.keys(this.attributes).forEach(function (key) {\n widget.setConfig(key, configValues[key].value);\n });\n }\n\n /**\n * Creates attributes.\n *\n * @method createAttributes\n * @return {String} the ezattributes\n */\n\n }, {\n key: 'createAttributes',\n value: function createAttributes() {\n var _this3 = this;\n\n return Object.keys(this.attributes).reduce(function (total, attr) {\n return total + '

' + _this3.attributes[attr].label + ': ' + _this3.state.values[attr].value + '

';\n }, '');\n }\n\n /**\n * Update values.\n *\n * @method updateValues\n * @param {Object} event\n */\n\n }, {\n key: 'updateValues',\n value: function updateValues(event) {\n var values = Object.assign({}, this.state.values);\n var value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\n\n values[event.target.dataset.attrName].value = value;\n\n this.setState({\n values: values\n });\n }\n\n /**\n * Gets the render method map.\n *\n * @method getAttributeRenderMethods\n * @return {Object} the render method map\n */\n\n }, {\n key: 'getAttributeRenderMethods',\n value: function getAttributeRenderMethods() {\n return {\n string: 'renderString',\n boolean: 'renderCheckbox',\n number: 'renderNumber',\n choice: 'renderSelect'\n };\n }\n }]);\n\n return EzBtnCustomTagUpdate;\n}(_ezWidgetbutton2.default);\n\nexports.default = EzBtnCustomTagUpdate;\n\n\nEzBtnCustomTagUpdate.defaultProps = {\n command: 'ezcustomtag',\n modifiesSelection: true\n};\n\nEzBtnCustomTagUpdate.propTypes = {\n editor: _propTypes2.default.object.isRequired,\n label: _propTypes2.default.string.isRequired,\n tabIndex: _propTypes2.default.number.isRequired\n};\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = __webpack_require__(1);\n var loggedTypeFailures = {};\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n )\n\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(1);\n\nfunction emptyFunction() {}\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(3);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _alloyeditor = __webpack_require__(4);\n\nvar _alloyeditor2 = _interopRequireDefault(_alloyeditor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar EzButton = function (_Component) {\n _inherits(EzButton, _Component);\n\n function EzButton(props) {\n _classCallCheck(this, EzButton);\n\n var _this = _possibleConstructorReturn(this, (EzButton.__proto__ || Object.getPrototypeOf(EzButton)).call(this, props));\n\n _this.getStateClasses = _alloyeditor2.default.ButtonStateClasses.getStateClasses;\n _this.execCommand = _alloyeditor2.default.ButtonCommand.execCommand.bind(_this);\n return _this;\n }\n\n return EzButton;\n}(_react.Component);\n\nexports.default = EzButton;\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// ezBtnCustomTagUpdate.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 55);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap f67c4cccd58daf124d17","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 0\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 1\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport EzButton from './ez-button';\n\nexport default class EzWidgetButton extends EzButton {\n /**\n * Returns the ezembed widget instance for the current selection.\n *\n * @method getWidget\n * @return CKEDITOR.plugins.widget\n */\n getWidget() {\n const editor = this.props.editor.get('nativeEditor');\n const wrapper = editor.getSelection().getStartElement();\n\n return editor.widgets.getByElement(wrapper);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bundle/Resources/public/js/alloyeditor/src/base/ez-widgetbutton.js","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}\n// module id = 2\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 48 49","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 3\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","module.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"AlloyEditor\",\"commonjs2\":\"AlloyEditor\",\"commonjs\":\"AlloyEditor\",\"amd\":\"AlloyEditor\"}\n// module id = 4\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 48 49 50 51 52","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithTypeCheckers.js\n// module id = 5\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport AlloyEditor from 'alloyeditor';\nimport EzWidgetButton from '../base/ez-widgetbutton';\n\nexport default class EzBtnCustomTagUpdate extends EzWidgetButton {\n constructor(props) {\n super(props);\n\n this.widget = this.getWidget();\n\n props.editor.get('nativeEditor').lockSelection();\n\n this.state = {\n values: props.values,\n };\n }\n\n /**\n * Renders the text input.\n *\n * @method renderString\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered text input.\n */\n renderString(config, attrName) {\n return (\n
\n \n \n
\n );\n }\n\n /**\n * Renders the checkbox input.\n *\n * @method renderCheckbox\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered checkbox input.\n */\n renderCheckbox(config, attrName) {\n return (\n
\n \n \n
\n );\n }\n\n /**\n * Renders the number input.\n *\n * @method renderNumber\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered number input.\n */\n renderNumber(config, attrName) {\n return (\n
\n \n \n
\n );\n }\n\n /**\n * Renders the select.\n *\n * @method renderSelect\n * @param {Object} config\n * @param {String} attrName\n * @return {Object} The rendered select.\n */\n renderSelect(config, attrName) {\n return (\n
\n \n \n {config.choices.map(this.renderChoice.bind(this))}\n \n
\n );\n }\n\n /**\n * Renders the option.\n *\n * @method renderChoice\n * @param {String} choice\n * @return {Object} The rendered option.\n */\n renderChoice(choice) {\n return ;\n }\n\n /**\n * Renders the attribute.\n *\n * @method renderAttribute\n * @param {Object} attribute\n * @return {Object} The rendered attribute.\n */\n renderAttribute(attribute) {\n const attributeConfig = this.attributes[attribute];\n const renderMethods = this.getAttributeRenderMethods();\n const methodName = renderMethods[attributeConfig.type];\n\n return
{this[methodName](attributeConfig, attribute)}
;\n }\n\n /**\n * Lifecycle. Renders the UI of the button.\n *\n * @method render\n * @return {Object} The content which should be rendered.\n */\n render() {\n const saveLabel = Translator.trans(/*@Desc(\"Save\")*/ 'custom_tag_update_btn.save_btn.label', {}, 'alloy_editor');\n const attrs = Object.keys(this.attributes);\n const isValid = this.isValid();\n\n return (\n
\n {attrs.map(this.renderAttribute.bind(this))}\n \n {saveLabel}\n \n
\n );\n }\n\n /**\n * Checks if values are valid.\n *\n * @method isValid\n * @return {Boolean} are values valid\n */\n isValid() {\n return Object.keys(this.attributes).every((attr) => {\n return this.attributes[attr].required ? !!this.state.values[attr].value : true;\n });\n }\n\n /**\n * Creates the custom tag in AlloyEditor.\n *\n * @method saveCustomTag\n */\n saveCustomTag() {\n const { createNewTag, editor } = this.props;\n\n editor.get('nativeEditor').unlockSelection(true);\n\n if (createNewTag) {\n this.execCommand();\n }\n\n const widget = this.getWidget() || this.widget;\n const configValues = Object.assign({}, this.state.values);\n\n widget.setFocused(true);\n widget.setName(this.customTagName);\n widget.setWidgetAttributes(this.createAttributes());\n widget.renderHeader();\n widget.clearConfig();\n\n Object.keys(this.attributes).forEach((key) => {\n widget.setConfig(key, configValues[key].value);\n });\n }\n\n /**\n * Creates attributes.\n *\n * @method createAttributes\n * @return {String} the ezattributes\n */\n createAttributes() {\n return Object.keys(this.attributes).reduce(\n (total, attr) => `${total}

${this.attributes[attr].label}: ${this.state.values[attr].value}

`,\n ''\n );\n }\n\n /**\n * Update values.\n *\n * @method updateValues\n * @param {Object} event\n */\n updateValues(event) {\n const values = Object.assign({}, this.state.values);\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\n\n values[event.target.dataset.attrName].value = value;\n\n this.setState({\n values: values,\n });\n }\n\n /**\n * Gets the render method map.\n *\n * @method getAttributeRenderMethods\n * @return {Object} the render method map\n */\n getAttributeRenderMethods() {\n return {\n string: 'renderString',\n boolean: 'renderCheckbox',\n number: 'renderNumber',\n choice: 'renderSelect',\n };\n }\n}\n\nEzBtnCustomTagUpdate.defaultProps = {\n command: 'ezcustomtag',\n modifiesSelection: true,\n};\n\nEzBtnCustomTagUpdate.propTypes = {\n editor: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n tabIndex: PropTypes.number.isRequired,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/bundle/Resources/public/js/alloyeditor/src/buttons/ez-btn-customtag-update.js","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 6\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n )\n\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/checkPropTypes.js\n// module id = 7\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 8\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport AlloyEditor from 'alloyeditor';\n\nexport default class EzButton extends Component {\n constructor(props) {\n super(props);\n\n this.getStateClasses = AlloyEditor.ButtonStateClasses.getStateClasses;\n this.execCommand = AlloyEditor.ButtonCommand.execCommand.bind(this);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bundle/Resources/public/js/alloyeditor/src/base/ez-button.js"],"sourceRoot":""} \ No newline at end of file diff --git a/src/bundle/Resources/public/js/alloyeditor/dist/ezPluginCustomTag.js b/src/bundle/Resources/public/js/alloyeditor/dist/ezPluginCustomTag.js index 3f2868816d..2d3bcf4fb6 100644 --- a/src/bundle/Resources/public/js/alloyeditor/dist/ezPluginCustomTag.js +++ b/src/bundle/Resources/public/js/alloyeditor/dist/ezPluginCustomTag.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ezPluginCustomTag=t():(e.eZ=e.eZ||{},e.eZ.ezAlloyEditor=e.eZ.ezAlloyEditor||{},e.eZ.ezAlloyEditor.ezPluginCustomTag=t())}("undefined"!=typeof self?self:this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=64)}({64:function(e,t,n){"use strict";function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t
{content}
',requiredContent:"div",editables:{content:{selector:'[data-ezelement="ezcontent"]'}},upcast:function(e){return"div"===e.name&&"eztemplate"===e.attributes["data-ezelement"]&&!e.attributes["data-eztype"]},insert:function(){var e,n=CKEDITOR.dom.element.createFromHtml(this.template.output(this.defaults)),i=t.widgets.wrapElement(n,this.name),r=new CKEDITOR.dom.documentFragment(i.getDocument());r.append(i),t.widgets.initOn(n,this.name),t.eZ.appendElement(i),e=t.widgets.getByElement(i),e.ready=!0,e.fire("ready"),e.focus()},edit:function(){this.insert()},init:function(){this.on("focus",this.fireEditorInteraction),this.syncAlignment(),this.renderAttributes(),this.renderHeader(),this.getEzContentElement(),this.getEzConfigElement(),this.cancelEditEvents(),this.toggleState({currentTarget:{dataset:{target:"attributes"}}})},clearNode:function(e){for(var t=e.getFirst(),n=void 0;t;)n=t.getNext(),t.remove(),t=n},renderHeader:function(){var t=e.eZ.adminUiConfig.richTextCustomTags[this.getName()];if(t){var n=this.getHeader(),i='\n
\n '+t.label+'\n
\n
\n \n \n
\n ';this.clearNode(n),n.appendHtml(i),this.attachButtonsListeners()}},attachButtonsListeners:function(){var e=this,t=this.getHeader();[t.findOne(".ez-custom-tag__header-btn--attributes"),t.findOne(".ez-custom-tag__header-btn--content")].forEach(function(t){return t.$.addEventListener("click",e.toggleState.bind(e),!1)})},toggleState:function(e){var t=this,n=e.currentTarget.dataset.target,i={attributes:"ez-custom-tag--attributes-visible",content:"ez-custom-tag--content-visible"};Object.entries(i).forEach(function(e){var i=r(e,2),a=i[0],o=i[1];return t.element.$.classList.toggle(o,a===n)})},renderAttributes:function(){var t=this,n=e.eZ.adminUiConfig.richTextCustomTags[this.getName()];if(n){var i=Object.keys(n.attributes).reduce(function(e,i){var r=t.getConfig(i);return e+"

"+n.attributes[i].label+": "+r+"

"},"");this.setWidgetAttributes(i)}},setName:function(e){return this.element.data("ezname",e),this},getName:function(){return this.element.data("ezname")},cancelEditEvents:function(){var e=function(e){return e.cancel()};this.on("doubleclick",e,null,null,5),this.on("key",e,null,null,5)},syncAlignment:function(){var e=this.element.data("ezalign");e?this.setAlignment(e):this.unsetAlignment()},setAlignment:function(e){this.wrapper.data("ezalign",e),this.element.data("ezalign",e)},unsetAlignment:function(){this.wrapper.data("ezalign",!1),this.element.data("ezalign",!1)},isAligned:function(e){return this.wrapper.data("ezalign")===e},setWidgetContent:function(e){for(var t=this.getEzContentElement(),n=t.getFirst(),i=void 0;n;)i=n.getNext(),n.remove(),n=i;return e instanceof CKEDITOR.dom.node?t.append(e):t.appendHtml(e),this},setConfig:function(e,t){var n=this.getValueElement(e);return n||(n=new CKEDITOR.dom.element("span"),n.data("ezelement","ezvalue"),n.data("ezvalue-key",e),this.getEzConfigElement().append(n)),n.setText(t),this},setWidgetAttributes:function(e){for(var t=this.getEzAttributesElement(),n=t.getFirst(),i=void 0;n;)i=n.getNext(),n.remove(),n=i;return e instanceof CKEDITOR.dom.node?t.append(e):t.appendHtml(e),this},getConfig:function(e){var t=this.getValueElement(e);return t?t.getText():""},clearConfig:function(){for(var e=this.getEzConfigElement();e.firstChild;)e.removeChild(e.firstChild)},getValueElement:function(e){return this.getEzConfigElement().findOne('[data-ezelement="ezvalue"][data-ezvalue-key="'+e+'"]')},getEzConfigElement:function(){var e=[].concat(i(this.element.getChildren().$)).find(function(e){return"ezconfig"===e.dataset.ezelement});return e?e=new CKEDITOR.dom.element(e):(e=new CKEDITOR.dom.element("span"),e.data("ezelement","ezconfig"),this.element.append(e)),e},getEzContentElement:function(){var e=[].concat(i(this.element.getChildren().$)).find(function(e){return"ezcontent"===e.dataset.ezelement});return e?e=new CKEDITOR.dom.element(e):(e=new CKEDITOR.dom.element("div"),e.data("ezelement","ezcontent"),this.element.append(e)),e},getEzAttributesElement:function(){var e=[].concat(i(this.element.getChildren().$)).find(function(e){return"ezattributes"===e.dataset.ezelement});return e?e=new CKEDITOR.dom.element(e):(e=new CKEDITOR.dom.element("div"),e.data("ezelement","ezattributes"),this.element.append(e,!0)),e},getHeader:function(){var e=[].concat(i(this.element.getChildren().$)).find(function(e){return e.classList.contains("ez-custom-tag__header")});return e?e=new CKEDITOR.dom.element(e):(e=new CKEDITOR.dom.element("div"),e.addClass("ez-custom-tag__header"),this.element.append(e,!0)),e},fireEditorInteraction:function(e){var n=this.getWrapperRegion(),i=e.name||e,r={editor:t,target:this.element.$,name:"widget"+i,pageX:n.left,pageY:n.top+n.height};t.focus(),this.focus(),t.fire("editorInteraction",{nativeEvent:r,selectionData:{element:this.element,region:n}})},moveAfter:function(e){this.wrapper.insertAfter(e),this.fireEditorInteraction("moveAfter")},moveBefore:function(e){this.wrapper.insertBefore(e),this.fireEditorInteraction("moveBefore")},getWrapperRegion:function(){var e=this.wrapper.getWindow().getScrollPosition(),t=this.wrapper.getClientRect();return t.top+=e.y,t.bottom+=e.y,t.left+=e.x,t.right+=e.x,t.direction=CKEDITOR.SELECTION_TOP_TO_BOTTOM,t}})}})}(window)}}).default}); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ezPluginCustomTag=t():(e.eZ=e.eZ||{},e.eZ.ezAlloyEditor=e.eZ.ezAlloyEditor||{},e.eZ.ezAlloyEditor.ezPluginCustomTag=t())}("undefined"!=typeof self?self:this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=64)}({64:function(e,t,n){"use strict";function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t
{content}
',requiredContent:"div",editables:{content:{selector:'[data-ezelement="ezcontent"]'}},setNameFireEditorInteractionTimeout:null,setAlignmentFireEditorInteractionTimeout:null,unsetAlignmentFireEditorInteractionTimeout:null,setConfigFireEditorInteractionTimeout:null,clearConfigFireEditorInteractionTimeout:null,upcast:function(e){return"div"===e.name&&"eztemplate"===e.attributes["data-ezelement"]&&!e.attributes["data-eztype"]},insert:function(){var e,n=CKEDITOR.dom.element.createFromHtml(this.template.output(this.defaults)),i=t.widgets.wrapElement(n,this.name),r=new CKEDITOR.dom.documentFragment(i.getDocument());r.append(i),t.widgets.initOn(n,this.name),t.eZ.appendElement(i),e=t.widgets.getByElement(i),e.ready=!0,e.fire("ready"),e.focus()},edit:function(){this.insert()},init:function(){this.on("focus",this.fireEditorInteraction),this.syncAlignment(),this.renderAttributes(),this.renderHeader(),this.getEzContentElement(),this.getEzConfigElement(),this.cancelEditEvents(),this.toggleState({currentTarget:{dataset:{target:"attributes"}}})},clearNode:function(e){for(var t=e.getFirst(),n=void 0;t;)n=t.getNext(),t.remove(),t=n},renderHeader:function(){var t=e.eZ.adminUiConfig.richTextCustomTags[this.getName()];if(t){var n=this.getHeader(),i='\n
\n '+t.label+'\n
\n
\n \n \n
\n ';this.clearNode(n),n.appendHtml(i),this.attachButtonsListeners()}},attachButtonsListeners:function(){var e=this,t=this.getHeader();[t.findOne(".ez-custom-tag__header-btn--attributes"),t.findOne(".ez-custom-tag__header-btn--content")].forEach(function(t){return t.$.addEventListener("click",e.toggleState.bind(e),!1)})},toggleState:function(e){var t=this,n=e.currentTarget.dataset.target,i={attributes:"ez-custom-tag--attributes-visible",content:"ez-custom-tag--content-visible"};Object.entries(i).forEach(function(e){var i=r(e,2),o=i[0],a=i[1];return t.element.$.classList.toggle(a,o===n)})},renderAttributes:function(){var t=this,n=e.eZ.adminUiConfig.richTextCustomTags[this.getName()];if(n){var i=Object.keys(n.attributes).reduce(function(e,i){var r=t.getConfig(i);return e+"

"+n.attributes[i].label+": "+r+"

"},"");this.setWidgetAttributes(i)}},setName:function(e){return this.element.data("ezname",e),window.clearTimeout(this.setNameFireEditorInteractionTimeout),this.setNameFireEditorInteractionTimeout=window.setTimeout(this.fireEditorInteraction.bind(this,"nameUpdated"),50),this},getName:function(){return this.element.data("ezname")},cancelEditEvents:function(){var e=function(e){return e.cancel()};this.on("doubleclick",e,null,null,5),this.on("key",e,null,null,5)},syncAlignment:function(){var e=this.element.data("ezalign");e?this.setAlignment(e):this.unsetAlignment()},setAlignment:function(e){this.wrapper.data("ezalign",e),this.element.data("ezalign",e),window.clearTimeout(this.setAlignmentFireEditorInteractionTimeout),this.setAlignmentFireEditorInteractionTimeout=window.setTimeout(this.fireEditorInteraction.bind(this,"aligmentUpdated"),50)},unsetAlignment:function(){this.wrapper.data("ezalign",!1),this.element.data("ezalign",!1),window.clearTimeout(this.unsetAlignmentFireEditorInteractionTimeout),this.unsetAlignmentFireEditorInteractionTimeout=window.setTimeout(this.fireEditorInteraction.bind(this,"aligmentRemoved"),50)},isAligned:function(e){return this.wrapper.data("ezalign")===e},setWidgetContent:function(e){for(var t=this.getEzContentElement(),n=t.getFirst(),i=void 0;n;)i=n.getNext(),n.remove(),n=i;return e instanceof CKEDITOR.dom.node?t.append(e):t.appendHtml(e),this},setConfig:function(e,t){var n=this.getValueElement(e);return n||(n=new CKEDITOR.dom.element("span"),n.data("ezelement","ezvalue"),n.data("ezvalue-key",e),this.getEzConfigElement().append(n)),n.setText(t),window.clearTimeout(this.setConfigFireEditorInteractionTimeout),this.setConfigFireEditorInteractionTimeout=window.setTimeout(this.fireEditorInteraction.bind(this,"configUpdated"),50),this},setWidgetAttributes:function(e){for(var t=this.getEzAttributesElement(),n=t.getFirst(),i=void 0;n;)i=n.getNext(),n.remove(),n=i;return e instanceof CKEDITOR.dom.node?t.append(e):t.appendHtml(e),this},getConfig:function(e){var t=this.getValueElement(e);return t?t.getText():""},clearConfig:function(){for(var e=this.getEzConfigElement();e.firstChild;)e.removeChild(e.firstChild);window.clearTimeout(this.clearConfigFireEditorInteractionTimeout),this.clearConfigFireEditorInteractionTimeout=window.setTimeout(this.fireEditorInteraction.bind(this,"configCleared"),50)},getValueElement:function(e){return this.getEzConfigElement().findOne('[data-ezelement="ezvalue"][data-ezvalue-key="'+e+'"]')},getEzConfigElement:function(){var e=[].concat(i(this.element.getChildren().$)).find(function(e){return"ezconfig"===e.dataset.ezelement});return e?e=new CKEDITOR.dom.element(e):(e=new CKEDITOR.dom.element("span"),e.data("ezelement","ezconfig"),this.element.append(e)),e},getEzContentElement:function(){var e=[].concat(i(this.element.getChildren().$)).find(function(e){return"ezcontent"===e.dataset.ezelement});return e?e=new CKEDITOR.dom.element(e):(e=new CKEDITOR.dom.element("div"),e.data("ezelement","ezcontent"),this.element.append(e)),e},getEzAttributesElement:function(){var e=[].concat(i(this.element.getChildren().$)).find(function(e){return"ezattributes"===e.dataset.ezelement});return e?e=new CKEDITOR.dom.element(e):(e=new CKEDITOR.dom.element("div"),e.data("ezelement","ezattributes"),this.element.append(e,!0)),e},getHeader:function(){var e=[].concat(i(this.element.getChildren().$)).find(function(e){return e.classList.contains("ez-custom-tag__header")});return e?e=new CKEDITOR.dom.element(e):(e=new CKEDITOR.dom.element("div"),e.addClass("ez-custom-tag__header"),this.element.append(e,!0)),e},fireEditorInteraction:function(e){var n=this.getWrapperRegion(),i=e.name||e,r={editor:t,target:this.element.$,name:"widget"+i,pageX:n.left,pageY:n.top+n.height};t.focus(),this.focus(),t.fire("editorInteraction",{nativeEvent:r,selectionData:{element:this.element,region:n}})},moveAfter:function(e){this.wrapper.insertAfter(e),this.fireEditorInteraction("moveAfter")},moveBefore:function(e){this.wrapper.insertBefore(e),this.fireEditorInteraction("moveBefore")},getWrapperRegion:function(){var e=this.wrapper.getWindow().getScrollPosition(),t=this.wrapper.getClientRect();return t.top+=e.y,t.bottom+=e.y,t.left+=e.x,t.right+=e.x,t.direction=CKEDITOR.SELECTION_TOP_TO_BOTTOM,t}})}})}(window)}}).default}); //# sourceMappingURL=ezPluginCustomTag.js.map \ No newline at end of file diff --git a/src/bundle/Resources/public/js/alloyeditor/dist/ezPluginCustomTag.js.map b/src/bundle/Resources/public/js/alloyeditor/dist/ezPluginCustomTag.js.map index e289f79ce6..40cbb53a73 100644 --- a/src/bundle/Resources/public/js/alloyeditor/dist/ezPluginCustomTag.js.map +++ b/src/bundle/Resources/public/js/alloyeditor/dist/ezPluginCustomTag.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///ezPluginCustomTag.js","webpack:///webpack/bootstrap 4d6e881e5442ae635be0","webpack:///./src/bundle/Resources/public/js/alloyeditor/src/plugins/ez-custom-tag.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","64","_toConsumableArray","arr","Array","isArray","arr2","length","from","_slicedToArray","sliceIterator","_arr","_n","_d","_e","undefined","_s","_i","Symbol","iterator","next","done","push","value","err","TypeError","global","CKEDITOR","plugins","add","requires","init","editor","widgets","defaults","content","draggable","template","requiredContent","editables","selector","upcast","element","attributes","insert","instance","dom","createFromHtml","output","wrapper","wrapElement","temp","documentFragment","getDocument","append","initOn","eZ","appendElement","getByElement","ready","fire","focus","edit","on","fireEditorInteraction","syncAlignment","renderAttributes","renderHeader","getEzContentElement","getEzConfigElement","cancelEditEvents","toggleState","currentTarget","dataset","target","clearNode","node","getFirst","getNext","remove","customTagConfig","adminUiConfig","richTextCustomTags","getName","header","getHeader","label","appendHtml","attachButtonsListeners","_this","findOne","forEach","btn","$","addEventListener","bind","event","_this2","visibleElement","classes","entries","_ref","_ref2","key","className","classList","toggle","_this3","keys","reduce","total","attr","getConfig","setWidgetAttributes","setName","data","cancel","align","setAlignment","unsetAlignment","type","isAligned","setWidgetContent","ezContent","setConfig","valueElement","getValueElement","setText","ezAttributes","getEzAttributesElement","getText","clearConfig","config","firstChild","removeChild","concat","getChildren","find","child","ezelement","contains","addClass","evt","wrapperRegion","getWrapperRegion","pageX","left","pageY","top","height","nativeEvent","selectionData","region","moveAfter","insertAfter","moveBefore","insertBefore","scroll","getWindow","getScrollPosition","getClientRect","y","bottom","x","right","direction","SELECTION_TOP_TO_BOTTOM","window"],"mappings":"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","file":"ezPluginCustomTag.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ezPluginCustomTag\"] = factory();\n\telse\n\t\troot[\"eZ\"] = root[\"eZ\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"] = root[\"eZ\"][\"ezAlloyEditor\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"][\"ezPluginCustomTag\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ezPluginCustomTag\"] = factory();\n\telse\n\t\troot[\"eZ\"] = root[\"eZ\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"] = root[\"eZ\"][\"ezAlloyEditor\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"][\"ezPluginCustomTag\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 64);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 64:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n(function (global) {\n var DATA_ALIGNMENT_ATTR = 'ezalign';\n\n if (CKEDITOR.plugins.get('ezcustomtag')) {\n return;\n }\n\n /**\n * CKEditor plugin to configure the widget plugin so that it recognizes the\n * `div[data-ezelement=\"embed\"]` elements as widget.\n *\n * @class ezembed\n * @namespace CKEDITOR.plugins\n * @constructor\n */\n CKEDITOR.plugins.add('ezcustomtag', {\n requires: 'widget,ezaddcontent',\n\n init: function init(editor) {\n editor.widgets.add('ezcustomtag', {\n defaults: {\n name: 'customtag',\n content: ''\n },\n draggable: false,\n template: '
{content}
',\n requiredContent: 'div',\n editables: {\n content: {\n selector: '[data-ezelement=\"ezcontent\"]'\n }\n },\n\n upcast: function upcast(element) {\n return element.name === 'div' && element.attributes['data-ezelement'] === 'eztemplate' && !element.attributes['data-eztype'];\n },\n\n /**\n * Insert an `ezembed` widget in the editor. It overrides the\n * default implementation to make sure that in the case where an\n * embed widget is focused, a new one is added after it.\n *\n * @method insert\n */\n insert: function insert() {\n var element = CKEDITOR.dom.element.createFromHtml(this.template.output(this.defaults)),\n wrapper = editor.widgets.wrapElement(element, this.name),\n temp = new CKEDITOR.dom.documentFragment(wrapper.getDocument()),\n instance;\n\n temp.append(wrapper);\n editor.widgets.initOn(element, this.name);\n editor.eZ.appendElement(wrapper);\n\n instance = editor.widgets.getByElement(wrapper);\n instance.ready = true;\n instance.fire('ready');\n instance.focus();\n },\n\n /**\n * It's not possible to *edit* an embed widget in AlloyEditor,\n * so `edit` directly calls `insert` instead. This is needed\n * because by default, the CKEditor engine calls this method\n * when an embed widget has the focus and the `ezcustomtag` command\n * is executed. In AlloyEditor, we want to insert a new widget,\n * not to `edit` the focused widget as the editing process is\n * provided by the style toolbar.\n *\n * @method edit\n */\n edit: function edit() {\n this.insert();\n },\n\n init: function init() {\n this.on('focus', this.fireEditorInteraction);\n this.syncAlignment();\n this.renderAttributes();\n this.renderHeader();\n this.getEzContentElement();\n this.getEzConfigElement();\n this.cancelEditEvents();\n this.toggleState({\n currentTarget: {\n dataset: {\n target: 'attributes'\n }\n }\n });\n },\n\n /**\n * Clear the node.\n *\n * @method clearNode\n * @param {Element} node\n */\n clearNode: function clearNode(node) {\n var element = node.getFirst();\n var next = void 0;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n },\n\n\n /**\n * Renders the custom tag header.\n *\n * @method renderHeader\n */\n renderHeader: function renderHeader() {\n var customTagConfig = global.eZ.adminUiConfig.richTextCustomTags[this.getName()];\n\n if (!customTagConfig) {\n return;\n }\n\n var header = this.getHeader();\n var template = '\\n
\\n ' + customTagConfig.label + '\\n
\\n
\\n \\n \\n
\\n ';\n\n this.clearNode(header);\n\n header.appendHtml(template);\n\n this.attachButtonsListeners();\n },\n\n /**\n * Attaches event listeners to toggle state buttons.\n *\n * @method attachButtonsListeners\n */\n attachButtonsListeners: function attachButtonsListeners() {\n var _this = this;\n\n var header = this.getHeader();\n var attributesBtn = header.findOne('.ez-custom-tag__header-btn--attributes');\n var contentBtn = header.findOne('.ez-custom-tag__header-btn--content');\n\n [attributesBtn, contentBtn].forEach(function (btn) {\n return btn.$.addEventListener('click', _this.toggleState.bind(_this), false);\n });\n },\n\n /**\n * Toggles the custom tag state.\n *\n * @method toggleState\n * @param {Event} event\n */\n toggleState: function toggleState(event) {\n var _this2 = this;\n\n var visibleElement = event.currentTarget.dataset.target;\n var classes = {\n attributes: 'ez-custom-tag--attributes-visible',\n content: 'ez-custom-tag--content-visible'\n };\n\n Object.entries(classes).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n className = _ref2[1];\n\n return _this2.element.$.classList.toggle(className, key === visibleElement);\n });\n },\n\n /**\n * Renders the custom tag attributes.\n *\n * @method renderAttributes\n */\n renderAttributes: function renderAttributes() {\n var _this3 = this;\n\n var customTagConfig = global.eZ.adminUiConfig.richTextCustomTags[this.getName()];\n\n if (!customTagConfig) {\n return;\n }\n var attributes = Object.keys(customTagConfig.attributes).reduce(function (total, attr) {\n var value = _this3.getConfig(attr);\n\n return total + '

' + customTagConfig.attributes[attr].label + ': ' + value + '

';\n }, '');\n\n this.setWidgetAttributes(attributes);\n },\n\n /**\n * Sets the `name` of the custom tag.\n *\n * @method setName\n * @param {String} name\n * @return {CKEDITOR.plugins.widget}\n */\n setName: function setName(name) {\n this.element.data('ezname', name);\n\n return this;\n },\n\n /**\n * Gets the `name` of the custom tag.\n *\n * @method getName\n * @return {CKEDITOR.plugins.widget}\n */\n getName: function getName() {\n return this.element.data('ezname');\n },\n\n /**\n * Cancels the widget events that trigger the `edit` event as\n * an embed widget can not be edited in a *CKEditor way*.\n *\n * @method cancelEditEvents\n */\n cancelEditEvents: function cancelEditEvents() {\n var cancel = function cancel(event) {\n return event.cancel();\n };\n\n this.on('doubleclick', cancel, null, null, 5);\n this.on('key', cancel, null, null, 5);\n },\n\n /**\n * Initializes the alignment on the widget wrapper if the widget\n * is aligned.\n *\n * @method syncAlignment\n */\n syncAlignment: function syncAlignment() {\n var align = this.element.data(DATA_ALIGNMENT_ATTR);\n\n if (align) {\n this.setAlignment(align);\n } else {\n this.unsetAlignment();\n }\n },\n\n /**\n * Sets the alignment of the embed widget to `type` and fires\n * the corresponding `editorInteraction` event.\n *\n * @method setAlignment\n * @param {String} type\n */\n setAlignment: function setAlignment(type) {\n this.wrapper.data(DATA_ALIGNMENT_ATTR, type);\n this.element.data(DATA_ALIGNMENT_ATTR, type);\n },\n\n /**\n * Removes the alignment of the widget and fires the\n * corresponding `editorInteraction` event.\n *\n * @method unsetAlignment\n */\n unsetAlignment: function unsetAlignment() {\n this.wrapper.data(DATA_ALIGNMENT_ATTR, false);\n this.element.data(DATA_ALIGNMENT_ATTR, false);\n },\n\n /**\n * Checks whether the embed is aligned with `type` alignment.\n *\n * @method isAligned\n * @param {String} type\n * @return {Boolean}\n */\n isAligned: function isAligned(type) {\n return this.wrapper.data(DATA_ALIGNMENT_ATTR) === type;\n },\n\n /**\n * Sets the widget content.\n *\n * @method setWidgetContent\n * @param {String|CKEDITOR.dom.node} content\n * @return {CKEDITOR.plugins.widget}\n */\n setWidgetContent: function setWidgetContent(content) {\n var ezContent = this.getEzContentElement();\n var element = ezContent.getFirst();\n var next = void 0;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n\n if (content instanceof CKEDITOR.dom.node) {\n ezContent.append(content);\n } else {\n ezContent.appendHtml(content);\n }\n\n return this;\n },\n\n /**\n * Sets a config value under the `key` for the custom tag.\n *\n * @method setConfig\n * @param {String} key\n * @param {String} value\n * @return {CKEDITOR.plugins.widget}\n */\n setConfig: function setConfig(key, value) {\n var valueElement = this.getValueElement(key);\n\n if (!valueElement) {\n valueElement = new CKEDITOR.dom.element('span');\n valueElement.data('ezelement', 'ezvalue');\n valueElement.data('ezvalue-key', key);\n this.getEzConfigElement().append(valueElement);\n }\n\n valueElement.setText(value);\n\n return this;\n },\n\n /**\n * Sets the widget attributes.\n *\n * @method setWidgetAttributes\n * @param {String|CKEDITOR.dom.node} attributes\n * @return {CKEDITOR.plugins.widget}\n */\n setWidgetAttributes: function setWidgetAttributes(attributes) {\n var ezAttributes = this.getEzAttributesElement();\n var element = ezAttributes.getFirst();\n var next = void 0;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n\n if (attributes instanceof CKEDITOR.dom.node) {\n ezAttributes.append(attributes);\n } else {\n ezAttributes.appendHtml(attributes);\n }\n\n return this;\n },\n\n /**\n * Returns the config value for the `key` or empty string if the\n * config key is not found.\n *\n * @method getConfig\n * @return {String}\n */\n getConfig: function getConfig(key) {\n var valueElement = this.getValueElement(key);\n\n return valueElement ? valueElement.getText() : '';\n },\n\n clearConfig: function clearConfig() {\n var config = this.getEzConfigElement();\n\n while (config.firstChild) {\n config.removeChild(config.firstChild);\n }\n },\n\n /**\n * Returns the Element holding the config under `key`\n *\n * @method getValueElement\n * @param {String} key\n * @return {CKEDITOR.dom.element}\n */\n getValueElement: function getValueElement(key) {\n return this.getEzConfigElement().findOne('[data-ezelement=\"ezvalue\"][data-ezvalue-key=\"' + key + '\"]');\n },\n\n /**\n * Returns the element used as a container the config values. if\n * it does not exist, it is created.\n *\n * @method getEzConfigElement\n * @return {CKEDITOR.dom.element}\n */\n getEzConfigElement: function getEzConfigElement() {\n var config = [].concat(_toConsumableArray(this.element.getChildren().$)).find(function (child) {\n return child.dataset.ezelement === 'ezconfig';\n });\n\n if (!config) {\n config = new CKEDITOR.dom.element('span');\n config.data('ezelement', 'ezconfig');\n this.element.append(config);\n } else {\n config = new CKEDITOR.dom.element(config);\n }\n\n return config;\n },\n\n /**\n * Returns the element used as a container the content values. if\n * it does not exist, it is created.\n *\n * @method getEzContentElement\n * @return {CKEDITOR.dom.element}\n */\n getEzContentElement: function getEzContentElement() {\n var content = [].concat(_toConsumableArray(this.element.getChildren().$)).find(function (child) {\n return child.dataset.ezelement === 'ezcontent';\n });\n\n if (!content) {\n content = new CKEDITOR.dom.element('div');\n content.data('ezelement', 'ezcontent');\n this.element.append(content);\n } else {\n content = new CKEDITOR.dom.element(content);\n }\n\n return content;\n },\n\n /**\n * Returns the element used as a container the attributes values. if\n * it does not exist, it is created.\n *\n * @method getEzAttributesElement\n * @return {CKEDITOR.dom.element}\n */\n getEzAttributesElement: function getEzAttributesElement() {\n var attributes = [].concat(_toConsumableArray(this.element.getChildren().$)).find(function (child) {\n return child.dataset.ezelement === 'ezattributes';\n });\n\n if (!attributes) {\n attributes = new CKEDITOR.dom.element('div');\n attributes.data('ezelement', 'ezattributes');\n this.element.append(attributes, true);\n } else {\n attributes = new CKEDITOR.dom.element(attributes);\n }\n\n return attributes;\n },\n\n /**\n * Returns the element used as a container the header. if\n * it does not exist, it is created.\n *\n * @method getHeader\n * @return {CKEDITOR.dom.element}\n */\n getHeader: function getHeader() {\n var header = [].concat(_toConsumableArray(this.element.getChildren().$)).find(function (child) {\n return child.classList.contains('ez-custom-tag__header');\n });\n\n if (!header) {\n header = new CKEDITOR.dom.element('div');\n header.addClass('ez-custom-tag__header');\n this.element.append(header, true);\n } else {\n header = new CKEDITOR.dom.element(header);\n }\n\n return header;\n },\n\n /**\n * Fires the editorInteraction event so that AlloyEditor editor\n * UI remains visible and is updated. This method also computes\n * `selectionData.region` and the `pageX` and `pageY` properties\n * so that the add toolbar is correctly positioned on the\n * widget.\n *\n * @method fireEditorInteraction\n * @param {Object|String} evt this initial event info object or\n * the event name for which the `editorInteraction` is fired.\n */\n fireEditorInteraction: function fireEditorInteraction(evt) {\n var wrapperRegion = this.getWrapperRegion();\n var name = evt.name || evt;\n var event = {\n editor: editor,\n target: this.element.$,\n name: 'widget' + name,\n pageX: wrapperRegion.left,\n pageY: wrapperRegion.top + wrapperRegion.height\n };\n\n editor.focus();\n this.focus();\n\n editor.fire('editorInteraction', {\n nativeEvent: event,\n selectionData: {\n element: this.element,\n region: wrapperRegion\n }\n });\n },\n\n /**\n * Moves the widget after the given element. It also fires the\n * `editorInteraction` event so that the UI can respond to that\n * change.\n *\n * @method moveAfter\n * @param {CKEDITOR.dom.element} element\n */\n moveAfter: function moveAfter(element) {\n this.wrapper.insertAfter(element);\n this.fireEditorInteraction('moveAfter');\n },\n\n /**\n * Moves the widget before the given element. It also fires the\n * `editorInteraction` event so that the UI can respond to that\n * change.\n *\n * @method moveAfter\n * @param {CKEDITOR.dom.element} element\n */\n moveBefore: function moveBefore(element) {\n this.wrapper.insertBefore(element);\n this.fireEditorInteraction('moveBefore');\n },\n\n /**\n * Returns the wrapper element region.\n *\n * @method getWrapperRegion\n * @private\n * @return {Object}\n */\n getWrapperRegion: function getWrapperRegion() {\n var scroll = this.wrapper.getWindow().getScrollPosition();\n var region = this.wrapper.getClientRect();\n\n region.top += scroll.y;\n region.bottom += scroll.y;\n region.left += scroll.x;\n region.right += scroll.x;\n region.direction = CKEDITOR.SELECTION_TOP_TO_BOTTOM;\n\n return region;\n }\n });\n }\n });\n})(window);\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// ezPluginCustomTag.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 64);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4d6e881e5442ae635be0","(function(global) {\n const DATA_ALIGNMENT_ATTR = 'ezalign';\n\n if (CKEDITOR.plugins.get('ezcustomtag')) {\n return;\n }\n\n /**\n * CKEditor plugin to configure the widget plugin so that it recognizes the\n * `div[data-ezelement=\"embed\"]` elements as widget.\n *\n * @class ezembed\n * @namespace CKEDITOR.plugins\n * @constructor\n */\n CKEDITOR.plugins.add('ezcustomtag', {\n requires: 'widget,ezaddcontent',\n\n init: function(editor) {\n editor.widgets.add('ezcustomtag', {\n defaults: {\n name: 'customtag',\n content: '',\n },\n draggable: false,\n template:\n '
{content}
',\n requiredContent: 'div',\n editables: {\n content: {\n selector: '[data-ezelement=\"ezcontent\"]',\n },\n },\n\n upcast: (element) => {\n return (\n element.name === 'div' &&\n element.attributes['data-ezelement'] === 'eztemplate' &&\n !element.attributes['data-eztype']\n );\n },\n\n /**\n * Insert an `ezembed` widget in the editor. It overrides the\n * default implementation to make sure that in the case where an\n * embed widget is focused, a new one is added after it.\n *\n * @method insert\n */\n insert: function() {\n var element = CKEDITOR.dom.element.createFromHtml(this.template.output(this.defaults)),\n wrapper = editor.widgets.wrapElement(element, this.name),\n temp = new CKEDITOR.dom.documentFragment(wrapper.getDocument()),\n instance;\n\n temp.append(wrapper);\n editor.widgets.initOn(element, this.name);\n editor.eZ.appendElement(wrapper);\n\n instance = editor.widgets.getByElement(wrapper);\n instance.ready = true;\n instance.fire('ready');\n instance.focus();\n },\n\n /**\n * It's not possible to *edit* an embed widget in AlloyEditor,\n * so `edit` directly calls `insert` instead. This is needed\n * because by default, the CKEditor engine calls this method\n * when an embed widget has the focus and the `ezcustomtag` command\n * is executed. In AlloyEditor, we want to insert a new widget,\n * not to `edit` the focused widget as the editing process is\n * provided by the style toolbar.\n *\n * @method edit\n */\n edit: function() {\n this.insert();\n },\n\n init: function() {\n this.on('focus', this.fireEditorInteraction);\n this.syncAlignment();\n this.renderAttributes();\n this.renderHeader();\n this.getEzContentElement();\n this.getEzConfigElement();\n this.cancelEditEvents();\n this.toggleState({\n currentTarget: {\n dataset: {\n target: 'attributes',\n },\n },\n });\n },\n\n /**\n * Clear the node.\n *\n * @method clearNode\n * @param {Element} node\n */\n clearNode(node) {\n let element = node.getFirst();\n let next;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n },\n\n /**\n * Renders the custom tag header.\n *\n * @method renderHeader\n */\n renderHeader: function() {\n const customTagConfig = global.eZ.adminUiConfig.richTextCustomTags[this.getName()];\n\n if (!customTagConfig) {\n return;\n }\n\n const header = this.getHeader();\n const template = `\n
\n ${customTagConfig.label}\n
\n
\n \n \n
\n `;\n\n this.clearNode(header);\n\n header.appendHtml(template);\n\n this.attachButtonsListeners();\n },\n\n /**\n * Attaches event listeners to toggle state buttons.\n *\n * @method attachButtonsListeners\n */\n attachButtonsListeners: function() {\n const header = this.getHeader();\n const attributesBtn = header.findOne('.ez-custom-tag__header-btn--attributes');\n const contentBtn = header.findOne('.ez-custom-tag__header-btn--content');\n\n [attributesBtn, contentBtn].forEach((btn) => btn.$.addEventListener('click', this.toggleState.bind(this), false));\n },\n\n /**\n * Toggles the custom tag state.\n *\n * @method toggleState\n * @param {Event} event\n */\n toggleState: function(event) {\n const visibleElement = event.currentTarget.dataset.target;\n const classes = {\n attributes: 'ez-custom-tag--attributes-visible',\n content: 'ez-custom-tag--content-visible',\n };\n\n Object.entries(classes).forEach(([key, className]) =>\n this.element.$.classList.toggle(className, key === visibleElement)\n );\n },\n\n /**\n * Renders the custom tag attributes.\n *\n * @method renderAttributes\n */\n renderAttributes: function() {\n const customTagConfig = global.eZ.adminUiConfig.richTextCustomTags[this.getName()];\n\n if (!customTagConfig) {\n return;\n }\n const attributes = Object.keys(customTagConfig.attributes).reduce((total, attr) => {\n const value = this.getConfig(attr);\n\n return `${total}

${customTagConfig.attributes[attr].label}: ${value}

`;\n }, '');\n\n this.setWidgetAttributes(attributes);\n },\n\n /**\n * Sets the `name` of the custom tag.\n *\n * @method setName\n * @param {String} name\n * @return {CKEDITOR.plugins.widget}\n */\n setName: function(name) {\n this.element.data('ezname', name);\n\n return this;\n },\n\n /**\n * Gets the `name` of the custom tag.\n *\n * @method getName\n * @return {CKEDITOR.plugins.widget}\n */\n getName: function() {\n return this.element.data('ezname');\n },\n\n /**\n * Cancels the widget events that trigger the `edit` event as\n * an embed widget can not be edited in a *CKEditor way*.\n *\n * @method cancelEditEvents\n */\n cancelEditEvents: function() {\n const cancel = (event) => event.cancel();\n\n this.on('doubleclick', cancel, null, null, 5);\n this.on('key', cancel, null, null, 5);\n },\n\n /**\n * Initializes the alignment on the widget wrapper if the widget\n * is aligned.\n *\n * @method syncAlignment\n */\n syncAlignment: function() {\n const align = this.element.data(DATA_ALIGNMENT_ATTR);\n\n if (align) {\n this.setAlignment(align);\n } else {\n this.unsetAlignment();\n }\n },\n\n /**\n * Sets the alignment of the embed widget to `type` and fires\n * the corresponding `editorInteraction` event.\n *\n * @method setAlignment\n * @param {String} type\n */\n setAlignment: function(type) {\n this.wrapper.data(DATA_ALIGNMENT_ATTR, type);\n this.element.data(DATA_ALIGNMENT_ATTR, type);\n },\n\n /**\n * Removes the alignment of the widget and fires the\n * corresponding `editorInteraction` event.\n *\n * @method unsetAlignment\n */\n unsetAlignment: function() {\n this.wrapper.data(DATA_ALIGNMENT_ATTR, false);\n this.element.data(DATA_ALIGNMENT_ATTR, false);\n },\n\n /**\n * Checks whether the embed is aligned with `type` alignment.\n *\n * @method isAligned\n * @param {String} type\n * @return {Boolean}\n */\n isAligned: function(type) {\n return this.wrapper.data(DATA_ALIGNMENT_ATTR) === type;\n },\n\n /**\n * Sets the widget content.\n *\n * @method setWidgetContent\n * @param {String|CKEDITOR.dom.node} content\n * @return {CKEDITOR.plugins.widget}\n */\n setWidgetContent: function(content) {\n const ezContent = this.getEzContentElement();\n let element = ezContent.getFirst();\n let next;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n\n if (content instanceof CKEDITOR.dom.node) {\n ezContent.append(content);\n } else {\n ezContent.appendHtml(content);\n }\n\n return this;\n },\n\n /**\n * Sets a config value under the `key` for the custom tag.\n *\n * @method setConfig\n * @param {String} key\n * @param {String} value\n * @return {CKEDITOR.plugins.widget}\n */\n setConfig: function(key, value) {\n let valueElement = this.getValueElement(key);\n\n if (!valueElement) {\n valueElement = new CKEDITOR.dom.element('span');\n valueElement.data('ezelement', 'ezvalue');\n valueElement.data('ezvalue-key', key);\n this.getEzConfigElement().append(valueElement);\n }\n\n valueElement.setText(value);\n\n return this;\n },\n\n /**\n * Sets the widget attributes.\n *\n * @method setWidgetAttributes\n * @param {String|CKEDITOR.dom.node} attributes\n * @return {CKEDITOR.plugins.widget}\n */\n setWidgetAttributes: function(attributes) {\n const ezAttributes = this.getEzAttributesElement();\n let element = ezAttributes.getFirst();\n let next;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n\n if (attributes instanceof CKEDITOR.dom.node) {\n ezAttributes.append(attributes);\n } else {\n ezAttributes.appendHtml(attributes);\n }\n\n return this;\n },\n\n /**\n * Returns the config value for the `key` or empty string if the\n * config key is not found.\n *\n * @method getConfig\n * @return {String}\n */\n getConfig: function(key) {\n const valueElement = this.getValueElement(key);\n\n return valueElement ? valueElement.getText() : '';\n },\n\n clearConfig: function() {\n const config = this.getEzConfigElement();\n\n while (config.firstChild) {\n config.removeChild(config.firstChild);\n }\n },\n\n /**\n * Returns the Element holding the config under `key`\n *\n * @method getValueElement\n * @param {String} key\n * @return {CKEDITOR.dom.element}\n */\n getValueElement: function(key) {\n return this.getEzConfigElement().findOne('[data-ezelement=\"ezvalue\"][data-ezvalue-key=\"' + key + '\"]');\n },\n\n /**\n * Returns the element used as a container the config values. if\n * it does not exist, it is created.\n *\n * @method getEzConfigElement\n * @return {CKEDITOR.dom.element}\n */\n getEzConfigElement: function() {\n let config = [...this.element.getChildren().$].find((child) => child.dataset.ezelement === 'ezconfig');\n\n if (!config) {\n config = new CKEDITOR.dom.element('span');\n config.data('ezelement', 'ezconfig');\n this.element.append(config);\n } else {\n config = new CKEDITOR.dom.element(config);\n }\n\n return config;\n },\n\n /**\n * Returns the element used as a container the content values. if\n * it does not exist, it is created.\n *\n * @method getEzContentElement\n * @return {CKEDITOR.dom.element}\n */\n getEzContentElement: function() {\n let content = [...this.element.getChildren().$].find((child) => child.dataset.ezelement === 'ezcontent');\n\n if (!content) {\n content = new CKEDITOR.dom.element('div');\n content.data('ezelement', 'ezcontent');\n this.element.append(content);\n } else {\n content = new CKEDITOR.dom.element(content);\n }\n\n return content;\n },\n\n /**\n * Returns the element used as a container the attributes values. if\n * it does not exist, it is created.\n *\n * @method getEzAttributesElement\n * @return {CKEDITOR.dom.element}\n */\n getEzAttributesElement: function() {\n let attributes = [...this.element.getChildren().$].find((child) => child.dataset.ezelement === 'ezattributes');\n\n if (!attributes) {\n attributes = new CKEDITOR.dom.element('div');\n attributes.data('ezelement', 'ezattributes');\n this.element.append(attributes, true);\n } else {\n attributes = new CKEDITOR.dom.element(attributes);\n }\n\n return attributes;\n },\n\n /**\n * Returns the element used as a container the header. if\n * it does not exist, it is created.\n *\n * @method getHeader\n * @return {CKEDITOR.dom.element}\n */\n getHeader: function() {\n let header = [...this.element.getChildren().$].find((child) => child.classList.contains('ez-custom-tag__header'));\n\n if (!header) {\n header = new CKEDITOR.dom.element('div');\n header.addClass('ez-custom-tag__header');\n this.element.append(header, true);\n } else {\n header = new CKEDITOR.dom.element(header);\n }\n\n return header;\n },\n\n /**\n * Fires the editorInteraction event so that AlloyEditor editor\n * UI remains visible and is updated. This method also computes\n * `selectionData.region` and the `pageX` and `pageY` properties\n * so that the add toolbar is correctly positioned on the\n * widget.\n *\n * @method fireEditorInteraction\n * @param {Object|String} evt this initial event info object or\n * the event name for which the `editorInteraction` is fired.\n */\n fireEditorInteraction: function(evt) {\n const wrapperRegion = this.getWrapperRegion();\n const name = evt.name || evt;\n const event = {\n editor: editor,\n target: this.element.$,\n name: 'widget' + name,\n pageX: wrapperRegion.left,\n pageY: wrapperRegion.top + wrapperRegion.height,\n };\n\n editor.focus();\n this.focus();\n\n editor.fire('editorInteraction', {\n nativeEvent: event,\n selectionData: {\n element: this.element,\n region: wrapperRegion,\n },\n });\n },\n\n /**\n * Moves the widget after the given element. It also fires the\n * `editorInteraction` event so that the UI can respond to that\n * change.\n *\n * @method moveAfter\n * @param {CKEDITOR.dom.element} element\n */\n moveAfter: function(element) {\n this.wrapper.insertAfter(element);\n this.fireEditorInteraction('moveAfter');\n },\n\n /**\n * Moves the widget before the given element. It also fires the\n * `editorInteraction` event so that the UI can respond to that\n * change.\n *\n * @method moveAfter\n * @param {CKEDITOR.dom.element} element\n */\n moveBefore: function(element) {\n this.wrapper.insertBefore(element);\n this.fireEditorInteraction('moveBefore');\n },\n\n /**\n * Returns the wrapper element region.\n *\n * @method getWrapperRegion\n * @private\n * @return {Object}\n */\n getWrapperRegion: function() {\n const scroll = this.wrapper.getWindow().getScrollPosition();\n const region = this.wrapper.getClientRect();\n\n region.top += scroll.y;\n region.bottom += scroll.y;\n region.left += scroll.x;\n region.right += scroll.x;\n region.direction = CKEDITOR.SELECTION_TOP_TO_BOTTOM;\n\n return region;\n },\n });\n },\n });\n})(window);\n\n\n\n// WEBPACK FOOTER //\n// ./src/bundle/Resources/public/js/alloyeditor/src/plugins/ez-custom-tag.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///ezPluginCustomTag.js","webpack:///webpack/bootstrap 72cc588d59a9ae040ec8","webpack:///./src/bundle/Resources/public/js/alloyeditor/src/plugins/ez-custom-tag.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","64","_toConsumableArray","arr","Array","isArray","arr2","length","from","_slicedToArray","sliceIterator","_arr","_n","_d","_e","undefined","_s","_i","Symbol","iterator","next","done","push","value","err","TypeError","global","CKEDITOR","plugins","add","requires","init","editor","widgets","defaults","content","draggable","template","requiredContent","editables","selector","setNameFireEditorInteractionTimeout","setAlignmentFireEditorInteractionTimeout","unsetAlignmentFireEditorInteractionTimeout","setConfigFireEditorInteractionTimeout","clearConfigFireEditorInteractionTimeout","upcast","element","attributes","insert","instance","dom","createFromHtml","output","wrapper","wrapElement","temp","documentFragment","getDocument","append","initOn","eZ","appendElement","getByElement","ready","fire","focus","edit","on","fireEditorInteraction","syncAlignment","renderAttributes","renderHeader","getEzContentElement","getEzConfigElement","cancelEditEvents","toggleState","currentTarget","dataset","target","clearNode","node","getFirst","getNext","remove","customTagConfig","adminUiConfig","richTextCustomTags","getName","header","getHeader","label","appendHtml","attachButtonsListeners","_this","findOne","forEach","btn","$","addEventListener","bind","event","_this2","visibleElement","classes","entries","_ref","_ref2","key","className","classList","toggle","_this3","keys","reduce","total","attr","getConfig","setWidgetAttributes","setName","data","window","clearTimeout","setTimeout","cancel","align","setAlignment","unsetAlignment","type","isAligned","setWidgetContent","ezContent","setConfig","valueElement","getValueElement","setText","ezAttributes","getEzAttributesElement","getText","clearConfig","config","firstChild","removeChild","concat","getChildren","find","child","ezelement","contains","addClass","evt","wrapperRegion","getWrapperRegion","pageX","left","pageY","top","height","nativeEvent","selectionData","region","moveAfter","insertAfter","moveBefore","insertBefore","scroll","getWindow","getScrollPosition","getClientRect","y","bottom","x","right","direction","SELECTION_TOP_TO_BOTTOM"],"mappings":"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","file":"ezPluginCustomTag.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ezPluginCustomTag\"] = factory();\n\telse\n\t\troot[\"eZ\"] = root[\"eZ\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"] = root[\"eZ\"][\"ezAlloyEditor\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"][\"ezPluginCustomTag\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ezPluginCustomTag\"] = factory();\n\telse\n\t\troot[\"eZ\"] = root[\"eZ\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"] = root[\"eZ\"][\"ezAlloyEditor\"] || {}, root[\"eZ\"][\"ezAlloyEditor\"][\"ezPluginCustomTag\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 64);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 64:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n(function (global) {\n var DATA_ALIGNMENT_ATTR = 'ezalign';\n\n if (CKEDITOR.plugins.get('ezcustomtag')) {\n return;\n }\n\n /**\n * CKEditor plugin to configure the widget plugin so that it recognizes the\n * `div[data-ezelement=\"embed\"]` elements as widget.\n *\n * @class ezembed\n * @namespace CKEDITOR.plugins\n * @constructor\n */\n CKEDITOR.plugins.add('ezcustomtag', {\n requires: 'widget,ezaddcontent',\n\n init: function init(editor) {\n editor.widgets.add('ezcustomtag', {\n defaults: {\n name: 'customtag',\n content: ''\n },\n draggable: false,\n template: '
{content}
',\n requiredContent: 'div',\n editables: {\n content: {\n selector: '[data-ezelement=\"ezcontent\"]'\n }\n },\n setNameFireEditorInteractionTimeout: null,\n setAlignmentFireEditorInteractionTimeout: null,\n unsetAlignmentFireEditorInteractionTimeout: null,\n setConfigFireEditorInteractionTimeout: null,\n clearConfigFireEditorInteractionTimeout: null,\n\n upcast: function upcast(element) {\n return element.name === 'div' && element.attributes['data-ezelement'] === 'eztemplate' && !element.attributes['data-eztype'];\n },\n\n /**\n * Insert an `ezembed` widget in the editor. It overrides the\n * default implementation to make sure that in the case where an\n * embed widget is focused, a new one is added after it.\n *\n * @method insert\n */\n insert: function insert() {\n var element = CKEDITOR.dom.element.createFromHtml(this.template.output(this.defaults)),\n wrapper = editor.widgets.wrapElement(element, this.name),\n temp = new CKEDITOR.dom.documentFragment(wrapper.getDocument()),\n instance;\n\n temp.append(wrapper);\n editor.widgets.initOn(element, this.name);\n editor.eZ.appendElement(wrapper);\n\n instance = editor.widgets.getByElement(wrapper);\n instance.ready = true;\n instance.fire('ready');\n instance.focus();\n },\n\n /**\n * It's not possible to *edit* an embed widget in AlloyEditor,\n * so `edit` directly calls `insert` instead. This is needed\n * because by default, the CKEditor engine calls this method\n * when an embed widget has the focus and the `ezcustomtag` command\n * is executed. In AlloyEditor, we want to insert a new widget,\n * not to `edit` the focused widget as the editing process is\n * provided by the style toolbar.\n *\n * @method edit\n */\n edit: function edit() {\n this.insert();\n },\n\n init: function init() {\n this.on('focus', this.fireEditorInteraction);\n this.syncAlignment();\n this.renderAttributes();\n this.renderHeader();\n this.getEzContentElement();\n this.getEzConfigElement();\n this.cancelEditEvents();\n this.toggleState({\n currentTarget: {\n dataset: {\n target: 'attributes'\n }\n }\n });\n },\n\n /**\n * Clear the node.\n *\n * @method clearNode\n * @param {Element} node\n */\n clearNode: function clearNode(node) {\n var element = node.getFirst();\n var next = void 0;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n },\n\n\n /**\n * Renders the custom tag header.\n *\n * @method renderHeader\n */\n renderHeader: function renderHeader() {\n var customTagConfig = global.eZ.adminUiConfig.richTextCustomTags[this.getName()];\n\n if (!customTagConfig) {\n return;\n }\n\n var header = this.getHeader();\n var template = '\\n
\\n ' + customTagConfig.label + '\\n
\\n
\\n \\n \\n
\\n ';\n\n this.clearNode(header);\n\n header.appendHtml(template);\n\n this.attachButtonsListeners();\n },\n\n /**\n * Attaches event listeners to toggle state buttons.\n *\n * @method attachButtonsListeners\n */\n attachButtonsListeners: function attachButtonsListeners() {\n var _this = this;\n\n var header = this.getHeader();\n var attributesBtn = header.findOne('.ez-custom-tag__header-btn--attributes');\n var contentBtn = header.findOne('.ez-custom-tag__header-btn--content');\n\n [attributesBtn, contentBtn].forEach(function (btn) {\n return btn.$.addEventListener('click', _this.toggleState.bind(_this), false);\n });\n },\n\n /**\n * Toggles the custom tag state.\n *\n * @method toggleState\n * @param {Event} event\n */\n toggleState: function toggleState(event) {\n var _this2 = this;\n\n var visibleElement = event.currentTarget.dataset.target;\n var classes = {\n attributes: 'ez-custom-tag--attributes-visible',\n content: 'ez-custom-tag--content-visible'\n };\n\n Object.entries(classes).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n className = _ref2[1];\n\n return _this2.element.$.classList.toggle(className, key === visibleElement);\n });\n },\n\n /**\n * Renders the custom tag attributes.\n *\n * @method renderAttributes\n */\n renderAttributes: function renderAttributes() {\n var _this3 = this;\n\n var customTagConfig = global.eZ.adminUiConfig.richTextCustomTags[this.getName()];\n\n if (!customTagConfig) {\n return;\n }\n var attributes = Object.keys(customTagConfig.attributes).reduce(function (total, attr) {\n var value = _this3.getConfig(attr);\n\n return total + '

' + customTagConfig.attributes[attr].label + ': ' + value + '

';\n }, '');\n\n this.setWidgetAttributes(attributes);\n },\n\n /**\n * Sets the `name` of the custom tag.\n *\n * @method setName\n * @param {String} name\n * @return {CKEDITOR.plugins.widget}\n */\n setName: function setName(name) {\n this.element.data('ezname', name);\n window.clearTimeout(this.setNameFireEditorInteractionTimeout);\n this.setNameFireEditorInteractionTimeout = window.setTimeout(this.fireEditorInteraction.bind(this, 'nameUpdated'), 50);\n\n return this;\n },\n\n /**\n * Gets the `name` of the custom tag.\n *\n * @method getName\n * @return {CKEDITOR.plugins.widget}\n */\n getName: function getName() {\n return this.element.data('ezname');\n },\n\n /**\n * Cancels the widget events that trigger the `edit` event as\n * an embed widget can not be edited in a *CKEditor way*.\n *\n * @method cancelEditEvents\n */\n cancelEditEvents: function cancelEditEvents() {\n var cancel = function cancel(event) {\n return event.cancel();\n };\n\n this.on('doubleclick', cancel, null, null, 5);\n this.on('key', cancel, null, null, 5);\n },\n\n /**\n * Initializes the alignment on the widget wrapper if the widget\n * is aligned.\n *\n * @method syncAlignment\n */\n syncAlignment: function syncAlignment() {\n var align = this.element.data(DATA_ALIGNMENT_ATTR);\n\n if (align) {\n this.setAlignment(align);\n } else {\n this.unsetAlignment();\n }\n },\n\n /**\n * Sets the alignment of the embed widget to `type` and fires\n * the corresponding `editorInteraction` event.\n *\n * @method setAlignment\n * @param {String} type\n */\n setAlignment: function setAlignment(type) {\n this.wrapper.data(DATA_ALIGNMENT_ATTR, type);\n this.element.data(DATA_ALIGNMENT_ATTR, type);\n window.clearTimeout(this.setAlignmentFireEditorInteractionTimeout);\n this.setAlignmentFireEditorInteractionTimeout = window.setTimeout(this.fireEditorInteraction.bind(this, 'aligmentUpdated'), 50);\n },\n\n /**\n * Removes the alignment of the widget and fires the\n * corresponding `editorInteraction` event.\n *\n * @method unsetAlignment\n */\n unsetAlignment: function unsetAlignment() {\n this.wrapper.data(DATA_ALIGNMENT_ATTR, false);\n this.element.data(DATA_ALIGNMENT_ATTR, false);\n window.clearTimeout(this.unsetAlignmentFireEditorInteractionTimeout);\n this.unsetAlignmentFireEditorInteractionTimeout = window.setTimeout(this.fireEditorInteraction.bind(this, 'aligmentRemoved'), 50);\n },\n\n /**\n * Checks whether the embed is aligned with `type` alignment.\n *\n * @method isAligned\n * @param {String} type\n * @return {Boolean}\n */\n isAligned: function isAligned(type) {\n return this.wrapper.data(DATA_ALIGNMENT_ATTR) === type;\n },\n\n /**\n * Sets the widget content.\n *\n * @method setWidgetContent\n * @param {String|CKEDITOR.dom.node} content\n * @return {CKEDITOR.plugins.widget}\n */\n setWidgetContent: function setWidgetContent(content) {\n var ezContent = this.getEzContentElement();\n var element = ezContent.getFirst();\n var next = void 0;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n\n if (content instanceof CKEDITOR.dom.node) {\n ezContent.append(content);\n } else {\n ezContent.appendHtml(content);\n }\n\n return this;\n },\n\n /**\n * Sets a config value under the `key` for the custom tag.\n *\n * @method setConfig\n * @param {String} key\n * @param {String} value\n * @return {CKEDITOR.plugins.widget}\n */\n setConfig: function setConfig(key, value) {\n var valueElement = this.getValueElement(key);\n\n if (!valueElement) {\n valueElement = new CKEDITOR.dom.element('span');\n valueElement.data('ezelement', 'ezvalue');\n valueElement.data('ezvalue-key', key);\n this.getEzConfigElement().append(valueElement);\n }\n\n valueElement.setText(value);\n window.clearTimeout(this.setConfigFireEditorInteractionTimeout);\n this.setConfigFireEditorInteractionTimeout = window.setTimeout(this.fireEditorInteraction.bind(this, 'configUpdated'), 50);\n\n return this;\n },\n\n /**\n * Sets the widget attributes.\n *\n * @method setWidgetAttributes\n * @param {String|CKEDITOR.dom.node} attributes\n * @return {CKEDITOR.plugins.widget}\n */\n setWidgetAttributes: function setWidgetAttributes(attributes) {\n var ezAttributes = this.getEzAttributesElement();\n var element = ezAttributes.getFirst();\n var next = void 0;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n\n if (attributes instanceof CKEDITOR.dom.node) {\n ezAttributes.append(attributes);\n } else {\n ezAttributes.appendHtml(attributes);\n }\n\n return this;\n },\n\n /**\n * Returns the config value for the `key` or empty string if the\n * config key is not found.\n *\n * @method getConfig\n * @return {String}\n */\n getConfig: function getConfig(key) {\n var valueElement = this.getValueElement(key);\n\n return valueElement ? valueElement.getText() : '';\n },\n\n clearConfig: function clearConfig() {\n var config = this.getEzConfigElement();\n\n while (config.firstChild) {\n config.removeChild(config.firstChild);\n }\n\n window.clearTimeout(this.clearConfigFireEditorInteractionTimeout);\n this.clearConfigFireEditorInteractionTimeout = window.setTimeout(this.fireEditorInteraction.bind(this, 'configCleared'), 50);\n },\n\n /**\n * Returns the Element holding the config under `key`\n *\n * @method getValueElement\n * @param {String} key\n * @return {CKEDITOR.dom.element}\n */\n getValueElement: function getValueElement(key) {\n return this.getEzConfigElement().findOne('[data-ezelement=\"ezvalue\"][data-ezvalue-key=\"' + key + '\"]');\n },\n\n /**\n * Returns the element used as a container the config values. if\n * it does not exist, it is created.\n *\n * @method getEzConfigElement\n * @return {CKEDITOR.dom.element}\n */\n getEzConfigElement: function getEzConfigElement() {\n var config = [].concat(_toConsumableArray(this.element.getChildren().$)).find(function (child) {\n return child.dataset.ezelement === 'ezconfig';\n });\n\n if (!config) {\n config = new CKEDITOR.dom.element('span');\n config.data('ezelement', 'ezconfig');\n this.element.append(config);\n } else {\n config = new CKEDITOR.dom.element(config);\n }\n\n return config;\n },\n\n /**\n * Returns the element used as a container the content values. if\n * it does not exist, it is created.\n *\n * @method getEzContentElement\n * @return {CKEDITOR.dom.element}\n */\n getEzContentElement: function getEzContentElement() {\n var content = [].concat(_toConsumableArray(this.element.getChildren().$)).find(function (child) {\n return child.dataset.ezelement === 'ezcontent';\n });\n\n if (!content) {\n content = new CKEDITOR.dom.element('div');\n content.data('ezelement', 'ezcontent');\n this.element.append(content);\n } else {\n content = new CKEDITOR.dom.element(content);\n }\n\n return content;\n },\n\n /**\n * Returns the element used as a container the attributes values. if\n * it does not exist, it is created.\n *\n * @method getEzAttributesElement\n * @return {CKEDITOR.dom.element}\n */\n getEzAttributesElement: function getEzAttributesElement() {\n var attributes = [].concat(_toConsumableArray(this.element.getChildren().$)).find(function (child) {\n return child.dataset.ezelement === 'ezattributes';\n });\n\n if (!attributes) {\n attributes = new CKEDITOR.dom.element('div');\n attributes.data('ezelement', 'ezattributes');\n this.element.append(attributes, true);\n } else {\n attributes = new CKEDITOR.dom.element(attributes);\n }\n\n return attributes;\n },\n\n /**\n * Returns the element used as a container the header. if\n * it does not exist, it is created.\n *\n * @method getHeader\n * @return {CKEDITOR.dom.element}\n */\n getHeader: function getHeader() {\n var header = [].concat(_toConsumableArray(this.element.getChildren().$)).find(function (child) {\n return child.classList.contains('ez-custom-tag__header');\n });\n\n if (!header) {\n header = new CKEDITOR.dom.element('div');\n header.addClass('ez-custom-tag__header');\n this.element.append(header, true);\n } else {\n header = new CKEDITOR.dom.element(header);\n }\n\n return header;\n },\n\n /**\n * Fires the editorInteraction event so that AlloyEditor editor\n * UI remains visible and is updated. This method also computes\n * `selectionData.region` and the `pageX` and `pageY` properties\n * so that the add toolbar is correctly positioned on the\n * widget.\n *\n * @method fireEditorInteraction\n * @param {Object|String} evt this initial event info object or\n * the event name for which the `editorInteraction` is fired.\n */\n fireEditorInteraction: function fireEditorInteraction(evt) {\n var wrapperRegion = this.getWrapperRegion();\n var name = evt.name || evt;\n var event = {\n editor: editor,\n target: this.element.$,\n name: 'widget' + name,\n pageX: wrapperRegion.left,\n pageY: wrapperRegion.top + wrapperRegion.height\n };\n\n editor.focus();\n this.focus();\n\n editor.fire('editorInteraction', {\n nativeEvent: event,\n selectionData: {\n element: this.element,\n region: wrapperRegion\n }\n });\n },\n\n /**\n * Moves the widget after the given element. It also fires the\n * `editorInteraction` event so that the UI can respond to that\n * change.\n *\n * @method moveAfter\n * @param {CKEDITOR.dom.element} element\n */\n moveAfter: function moveAfter(element) {\n this.wrapper.insertAfter(element);\n this.fireEditorInteraction('moveAfter');\n },\n\n /**\n * Moves the widget before the given element. It also fires the\n * `editorInteraction` event so that the UI can respond to that\n * change.\n *\n * @method moveAfter\n * @param {CKEDITOR.dom.element} element\n */\n moveBefore: function moveBefore(element) {\n this.wrapper.insertBefore(element);\n this.fireEditorInteraction('moveBefore');\n },\n\n /**\n * Returns the wrapper element region.\n *\n * @method getWrapperRegion\n * @private\n * @return {Object}\n */\n getWrapperRegion: function getWrapperRegion() {\n var scroll = this.wrapper.getWindow().getScrollPosition();\n var region = this.wrapper.getClientRect();\n\n region.top += scroll.y;\n region.bottom += scroll.y;\n region.left += scroll.x;\n region.right += scroll.x;\n region.direction = CKEDITOR.SELECTION_TOP_TO_BOTTOM;\n\n return region;\n }\n });\n }\n });\n})(window);\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// ezPluginCustomTag.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 64);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 72cc588d59a9ae040ec8","(function(global) {\n const DATA_ALIGNMENT_ATTR = 'ezalign';\n\n if (CKEDITOR.plugins.get('ezcustomtag')) {\n return;\n }\n\n /**\n * CKEditor plugin to configure the widget plugin so that it recognizes the\n * `div[data-ezelement=\"embed\"]` elements as widget.\n *\n * @class ezembed\n * @namespace CKEDITOR.plugins\n * @constructor\n */\n CKEDITOR.plugins.add('ezcustomtag', {\n requires: 'widget,ezaddcontent',\n\n init: function(editor) {\n editor.widgets.add('ezcustomtag', {\n defaults: {\n name: 'customtag',\n content: '',\n },\n draggable: false,\n template:\n '
{content}
',\n requiredContent: 'div',\n editables: {\n content: {\n selector: '[data-ezelement=\"ezcontent\"]',\n },\n },\n setNameFireEditorInteractionTimeout: null,\n setAlignmentFireEditorInteractionTimeout: null,\n unsetAlignmentFireEditorInteractionTimeout: null,\n setConfigFireEditorInteractionTimeout: null,\n clearConfigFireEditorInteractionTimeout: null,\n\n upcast: (element) => {\n return (\n element.name === 'div' &&\n element.attributes['data-ezelement'] === 'eztemplate' &&\n !element.attributes['data-eztype']\n );\n },\n\n /**\n * Insert an `ezembed` widget in the editor. It overrides the\n * default implementation to make sure that in the case where an\n * embed widget is focused, a new one is added after it.\n *\n * @method insert\n */\n insert: function() {\n var element = CKEDITOR.dom.element.createFromHtml(this.template.output(this.defaults)),\n wrapper = editor.widgets.wrapElement(element, this.name),\n temp = new CKEDITOR.dom.documentFragment(wrapper.getDocument()),\n instance;\n\n temp.append(wrapper);\n editor.widgets.initOn(element, this.name);\n editor.eZ.appendElement(wrapper);\n\n instance = editor.widgets.getByElement(wrapper);\n instance.ready = true;\n instance.fire('ready');\n instance.focus();\n },\n\n /**\n * It's not possible to *edit* an embed widget in AlloyEditor,\n * so `edit` directly calls `insert` instead. This is needed\n * because by default, the CKEditor engine calls this method\n * when an embed widget has the focus and the `ezcustomtag` command\n * is executed. In AlloyEditor, we want to insert a new widget,\n * not to `edit` the focused widget as the editing process is\n * provided by the style toolbar.\n *\n * @method edit\n */\n edit: function() {\n this.insert();\n },\n\n init: function() {\n this.on('focus', this.fireEditorInteraction);\n this.syncAlignment();\n this.renderAttributes();\n this.renderHeader();\n this.getEzContentElement();\n this.getEzConfigElement();\n this.cancelEditEvents();\n this.toggleState({\n currentTarget: {\n dataset: {\n target: 'attributes',\n },\n },\n });\n },\n\n /**\n * Clear the node.\n *\n * @method clearNode\n * @param {Element} node\n */\n clearNode(node) {\n let element = node.getFirst();\n let next;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n },\n\n /**\n * Renders the custom tag header.\n *\n * @method renderHeader\n */\n renderHeader: function() {\n const customTagConfig = global.eZ.adminUiConfig.richTextCustomTags[this.getName()];\n\n if (!customTagConfig) {\n return;\n }\n\n const header = this.getHeader();\n const template = `\n
\n ${customTagConfig.label}\n
\n
\n \n \n
\n `;\n\n this.clearNode(header);\n\n header.appendHtml(template);\n\n this.attachButtonsListeners();\n },\n\n /**\n * Attaches event listeners to toggle state buttons.\n *\n * @method attachButtonsListeners\n */\n attachButtonsListeners: function() {\n const header = this.getHeader();\n const attributesBtn = header.findOne('.ez-custom-tag__header-btn--attributes');\n const contentBtn = header.findOne('.ez-custom-tag__header-btn--content');\n\n [attributesBtn, contentBtn].forEach((btn) => btn.$.addEventListener('click', this.toggleState.bind(this), false));\n },\n\n /**\n * Toggles the custom tag state.\n *\n * @method toggleState\n * @param {Event} event\n */\n toggleState: function(event) {\n const visibleElement = event.currentTarget.dataset.target;\n const classes = {\n attributes: 'ez-custom-tag--attributes-visible',\n content: 'ez-custom-tag--content-visible',\n };\n\n Object.entries(classes).forEach(([key, className]) =>\n this.element.$.classList.toggle(className, key === visibleElement)\n );\n },\n\n /**\n * Renders the custom tag attributes.\n *\n * @method renderAttributes\n */\n renderAttributes: function() {\n const customTagConfig = global.eZ.adminUiConfig.richTextCustomTags[this.getName()];\n\n if (!customTagConfig) {\n return;\n }\n const attributes = Object.keys(customTagConfig.attributes).reduce((total, attr) => {\n const value = this.getConfig(attr);\n\n return `${total}

${customTagConfig.attributes[attr].label}: ${value}

`;\n }, '');\n\n this.setWidgetAttributes(attributes);\n },\n\n /**\n * Sets the `name` of the custom tag.\n *\n * @method setName\n * @param {String} name\n * @return {CKEDITOR.plugins.widget}\n */\n setName: function(name) {\n this.element.data('ezname', name);\n window.clearTimeout(this.setNameFireEditorInteractionTimeout);\n this.setNameFireEditorInteractionTimeout = window.setTimeout(this.fireEditorInteraction.bind(this, 'nameUpdated'), 50);\n\n return this;\n },\n\n /**\n * Gets the `name` of the custom tag.\n *\n * @method getName\n * @return {CKEDITOR.plugins.widget}\n */\n getName: function() {\n return this.element.data('ezname');\n },\n\n /**\n * Cancels the widget events that trigger the `edit` event as\n * an embed widget can not be edited in a *CKEditor way*.\n *\n * @method cancelEditEvents\n */\n cancelEditEvents: function() {\n const cancel = (event) => event.cancel();\n\n this.on('doubleclick', cancel, null, null, 5);\n this.on('key', cancel, null, null, 5);\n },\n\n /**\n * Initializes the alignment on the widget wrapper if the widget\n * is aligned.\n *\n * @method syncAlignment\n */\n syncAlignment: function() {\n const align = this.element.data(DATA_ALIGNMENT_ATTR);\n\n if (align) {\n this.setAlignment(align);\n } else {\n this.unsetAlignment();\n }\n },\n\n /**\n * Sets the alignment of the embed widget to `type` and fires\n * the corresponding `editorInteraction` event.\n *\n * @method setAlignment\n * @param {String} type\n */\n setAlignment: function(type) {\n this.wrapper.data(DATA_ALIGNMENT_ATTR, type);\n this.element.data(DATA_ALIGNMENT_ATTR, type);\n window.clearTimeout(this.setAlignmentFireEditorInteractionTimeout);\n this.setAlignmentFireEditorInteractionTimeout = window.setTimeout(\n this.fireEditorInteraction.bind(this, 'aligmentUpdated'),\n 50\n );\n },\n\n /**\n * Removes the alignment of the widget and fires the\n * corresponding `editorInteraction` event.\n *\n * @method unsetAlignment\n */\n unsetAlignment: function() {\n this.wrapper.data(DATA_ALIGNMENT_ATTR, false);\n this.element.data(DATA_ALIGNMENT_ATTR, false);\n window.clearTimeout(this.unsetAlignmentFireEditorInteractionTimeout);\n this.unsetAlignmentFireEditorInteractionTimeout = window.setTimeout(\n this.fireEditorInteraction.bind(this, 'aligmentRemoved'),\n 50\n );\n },\n\n /**\n * Checks whether the embed is aligned with `type` alignment.\n *\n * @method isAligned\n * @param {String} type\n * @return {Boolean}\n */\n isAligned: function(type) {\n return this.wrapper.data(DATA_ALIGNMENT_ATTR) === type;\n },\n\n /**\n * Sets the widget content.\n *\n * @method setWidgetContent\n * @param {String|CKEDITOR.dom.node} content\n * @return {CKEDITOR.plugins.widget}\n */\n setWidgetContent: function(content) {\n const ezContent = this.getEzContentElement();\n let element = ezContent.getFirst();\n let next;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n\n if (content instanceof CKEDITOR.dom.node) {\n ezContent.append(content);\n } else {\n ezContent.appendHtml(content);\n }\n\n return this;\n },\n\n /**\n * Sets a config value under the `key` for the custom tag.\n *\n * @method setConfig\n * @param {String} key\n * @param {String} value\n * @return {CKEDITOR.plugins.widget}\n */\n setConfig: function(key, value) {\n let valueElement = this.getValueElement(key);\n\n if (!valueElement) {\n valueElement = new CKEDITOR.dom.element('span');\n valueElement.data('ezelement', 'ezvalue');\n valueElement.data('ezvalue-key', key);\n this.getEzConfigElement().append(valueElement);\n }\n\n valueElement.setText(value);\n window.clearTimeout(this.setConfigFireEditorInteractionTimeout);\n this.setConfigFireEditorInteractionTimeout = window.setTimeout(\n this.fireEditorInteraction.bind(this, 'configUpdated'),\n 50\n );\n\n return this;\n },\n\n /**\n * Sets the widget attributes.\n *\n * @method setWidgetAttributes\n * @param {String|CKEDITOR.dom.node} attributes\n * @return {CKEDITOR.plugins.widget}\n */\n setWidgetAttributes: function(attributes) {\n const ezAttributes = this.getEzAttributesElement();\n let element = ezAttributes.getFirst();\n let next;\n\n while (element) {\n next = element.getNext();\n element.remove();\n element = next;\n }\n\n if (attributes instanceof CKEDITOR.dom.node) {\n ezAttributes.append(attributes);\n } else {\n ezAttributes.appendHtml(attributes);\n }\n\n return this;\n },\n\n /**\n * Returns the config value for the `key` or empty string if the\n * config key is not found.\n *\n * @method getConfig\n * @return {String}\n */\n getConfig: function(key) {\n const valueElement = this.getValueElement(key);\n\n return valueElement ? valueElement.getText() : '';\n },\n\n clearConfig: function() {\n const config = this.getEzConfigElement();\n\n while (config.firstChild) {\n config.removeChild(config.firstChild);\n }\n\n window.clearTimeout(this.clearConfigFireEditorInteractionTimeout);\n this.clearConfigFireEditorInteractionTimeout = window.setTimeout(\n this.fireEditorInteraction.bind(this, 'configCleared'),\n 50\n );\n },\n\n /**\n * Returns the Element holding the config under `key`\n *\n * @method getValueElement\n * @param {String} key\n * @return {CKEDITOR.dom.element}\n */\n getValueElement: function(key) {\n return this.getEzConfigElement().findOne('[data-ezelement=\"ezvalue\"][data-ezvalue-key=\"' + key + '\"]');\n },\n\n /**\n * Returns the element used as a container the config values. if\n * it does not exist, it is created.\n *\n * @method getEzConfigElement\n * @return {CKEDITOR.dom.element}\n */\n getEzConfigElement: function() {\n let config = [...this.element.getChildren().$].find((child) => child.dataset.ezelement === 'ezconfig');\n\n if (!config) {\n config = new CKEDITOR.dom.element('span');\n config.data('ezelement', 'ezconfig');\n this.element.append(config);\n } else {\n config = new CKEDITOR.dom.element(config);\n }\n\n return config;\n },\n\n /**\n * Returns the element used as a container the content values. if\n * it does not exist, it is created.\n *\n * @method getEzContentElement\n * @return {CKEDITOR.dom.element}\n */\n getEzContentElement: function() {\n let content = [...this.element.getChildren().$].find((child) => child.dataset.ezelement === 'ezcontent');\n\n if (!content) {\n content = new CKEDITOR.dom.element('div');\n content.data('ezelement', 'ezcontent');\n this.element.append(content);\n } else {\n content = new CKEDITOR.dom.element(content);\n }\n\n return content;\n },\n\n /**\n * Returns the element used as a container the attributes values. if\n * it does not exist, it is created.\n *\n * @method getEzAttributesElement\n * @return {CKEDITOR.dom.element}\n */\n getEzAttributesElement: function() {\n let attributes = [...this.element.getChildren().$].find((child) => child.dataset.ezelement === 'ezattributes');\n\n if (!attributes) {\n attributes = new CKEDITOR.dom.element('div');\n attributes.data('ezelement', 'ezattributes');\n this.element.append(attributes, true);\n } else {\n attributes = new CKEDITOR.dom.element(attributes);\n }\n\n return attributes;\n },\n\n /**\n * Returns the element used as a container the header. if\n * it does not exist, it is created.\n *\n * @method getHeader\n * @return {CKEDITOR.dom.element}\n */\n getHeader: function() {\n let header = [...this.element.getChildren().$].find((child) => child.classList.contains('ez-custom-tag__header'));\n\n if (!header) {\n header = new CKEDITOR.dom.element('div');\n header.addClass('ez-custom-tag__header');\n this.element.append(header, true);\n } else {\n header = new CKEDITOR.dom.element(header);\n }\n\n return header;\n },\n\n /**\n * Fires the editorInteraction event so that AlloyEditor editor\n * UI remains visible and is updated. This method also computes\n * `selectionData.region` and the `pageX` and `pageY` properties\n * so that the add toolbar is correctly positioned on the\n * widget.\n *\n * @method fireEditorInteraction\n * @param {Object|String} evt this initial event info object or\n * the event name for which the `editorInteraction` is fired.\n */\n fireEditorInteraction: function(evt) {\n const wrapperRegion = this.getWrapperRegion();\n const name = evt.name || evt;\n const event = {\n editor: editor,\n target: this.element.$,\n name: 'widget' + name,\n pageX: wrapperRegion.left,\n pageY: wrapperRegion.top + wrapperRegion.height,\n };\n\n editor.focus();\n this.focus();\n\n editor.fire('editorInteraction', {\n nativeEvent: event,\n selectionData: {\n element: this.element,\n region: wrapperRegion,\n },\n });\n },\n\n /**\n * Moves the widget after the given element. It also fires the\n * `editorInteraction` event so that the UI can respond to that\n * change.\n *\n * @method moveAfter\n * @param {CKEDITOR.dom.element} element\n */\n moveAfter: function(element) {\n this.wrapper.insertAfter(element);\n this.fireEditorInteraction('moveAfter');\n },\n\n /**\n * Moves the widget before the given element. It also fires the\n * `editorInteraction` event so that the UI can respond to that\n * change.\n *\n * @method moveAfter\n * @param {CKEDITOR.dom.element} element\n */\n moveBefore: function(element) {\n this.wrapper.insertBefore(element);\n this.fireEditorInteraction('moveBefore');\n },\n\n /**\n * Returns the wrapper element region.\n *\n * @method getWrapperRegion\n * @private\n * @return {Object}\n */\n getWrapperRegion: function() {\n const scroll = this.wrapper.getWindow().getScrollPosition();\n const region = this.wrapper.getClientRect();\n\n region.top += scroll.y;\n region.bottom += scroll.y;\n region.left += scroll.x;\n region.right += scroll.x;\n region.direction = CKEDITOR.SELECTION_TOP_TO_BOTTOM;\n\n return region;\n },\n });\n },\n });\n})(window);\n\n\n// WEBPACK FOOTER //\n// ./src/bundle/Resources/public/js/alloyeditor/src/plugins/ez-custom-tag.js"],"sourceRoot":""} \ No newline at end of file diff --git a/src/bundle/Resources/public/js/alloyeditor/src/plugins/ez-custom-tag.js b/src/bundle/Resources/public/js/alloyeditor/src/plugins/ez-custom-tag.js index 493660d0cb..dbe5c67dce 100644 --- a/src/bundle/Resources/public/js/alloyeditor/src/plugins/ez-custom-tag.js +++ b/src/bundle/Resources/public/js/alloyeditor/src/plugins/ez-custom-tag.js @@ -31,6 +31,11 @@ selector: '[data-ezelement="ezcontent"]', }, }, + setNameFireEditorInteractionTimeout: null, + setAlignmentFireEditorInteractionTimeout: null, + unsetAlignmentFireEditorInteractionTimeout: null, + setConfigFireEditorInteractionTimeout: null, + clearConfigFireEditorInteractionTimeout: null, upcast: (element) => { return ( @@ -210,6 +215,8 @@ */ setName: function(name) { this.element.data('ezname', name); + window.clearTimeout(this.setNameFireEditorInteractionTimeout); + this.setNameFireEditorInteractionTimeout = window.setTimeout(this.fireEditorInteraction.bind(this, 'nameUpdated'), 50); return this; }, @@ -263,6 +270,11 @@ setAlignment: function(type) { this.wrapper.data(DATA_ALIGNMENT_ATTR, type); this.element.data(DATA_ALIGNMENT_ATTR, type); + window.clearTimeout(this.setAlignmentFireEditorInteractionTimeout); + this.setAlignmentFireEditorInteractionTimeout = window.setTimeout( + this.fireEditorInteraction.bind(this, 'aligmentUpdated'), + 50 + ); }, /** @@ -274,6 +286,11 @@ unsetAlignment: function() { this.wrapper.data(DATA_ALIGNMENT_ATTR, false); this.element.data(DATA_ALIGNMENT_ATTR, false); + window.clearTimeout(this.unsetAlignmentFireEditorInteractionTimeout); + this.unsetAlignmentFireEditorInteractionTimeout = window.setTimeout( + this.fireEditorInteraction.bind(this, 'aligmentRemoved'), + 50 + ); }, /** @@ -333,6 +350,11 @@ } valueElement.setText(value); + window.clearTimeout(this.setConfigFireEditorInteractionTimeout); + this.setConfigFireEditorInteractionTimeout = window.setTimeout( + this.fireEditorInteraction.bind(this, 'configUpdated'), + 50 + ); return this; }, @@ -383,6 +405,12 @@ while (config.firstChild) { config.removeChild(config.firstChild); } + + window.clearTimeout(this.clearConfigFireEditorInteractionTimeout); + this.clearConfigFireEditorInteractionTimeout = window.setTimeout( + this.fireEditorInteraction.bind(this, 'configCleared'), + 50 + ); }, /**