diff --git a/integration_build/articleView.css b/integration_build/articleView.css index acf0c25..aa77a50 100644 --- a/integration_build/articleView.css +++ b/integration_build/articleView.css @@ -1,4 +1,7 @@ /* Note: This file is auto-generated, see "gutenberg-blocks" repo */ +[data-type="coliquio/cta"] { + clear: both; } + .wp-block-coliquio-cta { background-color: var(--green-base); border: 1px solid var(--green-base); @@ -23,12 +26,17 @@ text-decoration: none; } .wp-block-coliquio-cta--link { background: none; - border: none; - color: var(--green-base); } + border: 1px solid var(--black-lighten-20); + color: var(--black-lighten-20); } .wp-block-coliquio-cta--link:active, .wp-block-coliquio-cta--link:hover { - background: none; - border: none; - color: var(--green-darken-10); } + background: var(--black-lighten-70); + color: var(--black-lighten-20); } + +.components-panel__body .components-base-control__field .components-radio-control__option { + display: flex; } + +.components-panel__body .components-base-control__field .components-radio-control__input { + padding: 0; } .wp-block-coliquio-accordion { padding: 15px; } .wp-block-coliquio-accordion .accordion-header { @@ -40,26 +48,28 @@ padding: 5px; } .accordion-component .accordion-component-header { font-size: 26px; } -.block-editor-block-list__block .wp-block-coliquio-branding-box { - border: 1px solid #ccc; - border-radius: 4px; - margin: 15px 0; - min-height: 180px; - padding: 5px; - width: 100%; } - .block-editor-block-list__block .wp-block-coliquio-branding-box p.block-editor-block-list__block { - border: 1px solid #999; - border-radius: 4px; } - .block-editor-block-list__block .wp-block-coliquio-branding-box .wp-block-coliquio-image { - display: inline-block; - height: 2.5rem; - margin: 0; - max-height: 2.5rem; - padding: 0; - vertical-align: middle; } - .block-editor-block-list__block .wp-block-coliquio-branding-box .wp-block-coliquio-image img { +.block-editor-block-list__block[data-type="coliquio/branding-box"] { + clear: both; } + .block-editor-block-list__block[data-type="coliquio/branding-box"] .wp-block-coliquio-branding-box { + border: 1px solid #ccc; + border-radius: 4px; + margin: 15px 0; + min-height: 180px; + padding: 5px; + width: 100%; } + .block-editor-block-list__block[data-type="coliquio/branding-box"] .wp-block-coliquio-branding-box p.block-editor-block-list__block { + border: 1px solid #999; + border-radius: 4px; } + .block-editor-block-list__block[data-type="coliquio/branding-box"] .wp-block-coliquio-branding-box .wp-block-coliquio-image { + display: inline-block; height: 2.5rem; - max-height: 2.5rem; } + margin: 0; + max-height: 2.5rem; + padding: 0; + vertical-align: middle; } + .block-editor-block-list__block[data-type="coliquio/branding-box"] .wp-block-coliquio-branding-box .wp-block-coliquio-image img { + height: 2.5rem; + max-height: 2.5rem; } article .wp-block-coliquio-branding-box { margin-bottom: 2rem; @@ -86,6 +96,7 @@ article .wp-block-coliquio-branding-box { .wp-block-coliquio-checklist[contenteditable] { cursor: text; } .wp-block-coliquio-checklist li { + display: flex; list-style-type: none; margin: 0 0 0.5rem 2rem; position: relative; } @@ -167,7 +178,6 @@ article summary { width: 100%; } .wp-block-coliquio-iframe.iframe, .wp-block-coliquio-iframe.iframe-survey { border: 1px solid var(--black-lighten-40); } - .wp-block-coliquio-highlight { margin: 15px 0; } .wp-block-coliquio-highlight .title { @@ -187,6 +197,7 @@ article summary { color: var(--white-base); } .wp-block-coliquio-highlight.card--secondary .content { background-color: var(--blue-lighten-50); } + section.wp-block-coliquio-media-text { display: flex; flex-direction: row; @@ -255,48 +266,6 @@ article h1.wp-block-coliquio-header { margin-bottom: 0.25rem; } article h1.wp-block-coliquio-header span.headline { margin-bottom: 0; } -.block-editor-block-list__layout ol, -.block-editor-block-list__layout ul { - padding: 5px 0 0 40px; } - .block-editor-block-list__layout ol li, - .block-editor-block-list__layout ul li { - margin-bottom: 9px; } - -.block-editor-block-list__layout ol.rich__list--enumerated, -.block-editor-block-list__layout ol.rich__list--enumerated ol { - counter-reset: item; - list-style-type: none; - padding: 5px 0 0 40px; } - .block-editor-block-list__layout ol.rich__list--enumerated > li, - .block-editor-block-list__layout ol.rich__list--enumerated ol > li { - counter-increment: item; - display: table; - margin-bottom: 0.6em; } - .block-editor-block-list__layout ol.rich__list--enumerated > li::before, - .block-editor-block-list__layout ol.rich__list--enumerated ol > li::before { - content: counters(item, ".") ". "; - display: table-cell; - padding-right: 0.6em; } - .block-editor-block-list__layout ol.rich__list--enumerated > li ol li, - .block-editor-block-list__layout ol.rich__list--enumerated ol > li ol li { - margin: 0; } - .block-editor-block-list__layout ol.rich__list--enumerated > li ol li::before, - .block-editor-block-list__layout ol.rich__list--enumerated ol > li ol li::before { - content: counters(item, ".") " "; } - -.block-editor-block-list__layout ul.rich__list--checked { - list-style-type: none; } - .block-editor-block-list__layout ul.rich__list--checked li { - display: table; } - .block-editor-block-list__layout ul.rich__list--checked li::before { - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU2LjcgNTYuNyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNTYuNyA1Ni43IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cG9seWdvbiBmaWxsPSIjNjViMzJlIiBwb2ludHM9IjI0LjUsNDYuMyA2LjMsMjguMiAxMi40LDIyLjEgMzAsMzkuOCAgIi8+Cgk8cG9seWdvbiBmaWxsPSIjNjViMzJlIiBwb2ludHM9IjE5LDM5LjggNDQuNSwxMS4yIDUwLjgsMTYuOSAyNC41LDQ2LjQgICIvPgo8L2c+Cjwvc3ZnPg==); - background-position-x: center; - background-repeat: no-repeat; - content: ""; - display: table-cell; - height: 16px; - padding-right: 0.6em; - width: 18px; } .block-editor-block-list__layout .wp-block-coliquio-image { margin: 15px 0; } .block-editor-block-list__layout .wp-block-coliquio-image.align-left { @@ -345,12 +314,18 @@ article h1.wp-block-coliquio-header { box-shadow: none !important; text-align: center; } -.block-editor-block-list__layout .custom-hidden { - display: none; } - .block-editor-block-list__layout .components-form-file-upload { display: none; } +.block-editor-block-list__layout .wp-block[data-align="left"] > .wp-block-image { + margin-right: 2.5em; } + +.block-editor-block-list__layout .wp-block[data-align="left"] { + clear: left; } + +.block-editor-block-list__layout .wp-block[data-align="right"] { + clear: right; } + .block-editor-block-list__layout figure.wp-block-image.custom-size-extra-small { width: 116px !important; } @@ -377,6 +352,9 @@ article h1.wp-block-coliquio-header { margin-left: 0; margin-right: 196px; } +.components-panel__body .components-base-control .custom-hidden { + display: none !important; } + .block-editor-block-toolbar .media-replace-flow { display: none !important; } @@ -436,3 +414,83 @@ article .wp-block-image .alignright { article .wp-block-image .alignleft { display: block; float: left; } +.wp-block-file { + background-color: var(--green-base); + border: 1px solid var(--green-base); + border-radius: 4px; + color: var(--white-base); + cursor: pointer; + display: inline-block; + font-size: 1.125rem; + font-weight: 400; + margin-bottom: 0.25rem; + outline: 0; + padding: 0.5rem 1rem; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: text; } + .wp-block-file:active, .wp-block-file:hover { + background-color: var(--green-darken-10); + border: 1px solid var(--black-lighten-20); + color: var(--white-base); + text-decoration: none; } + .wp-block-file.is-style-link { + background: none; + border: 1px solid var(--black-lighten-20); + color: var(--black-lighten-20); } + .wp-block-file.is-style-link:active, .wp-block-file.is-style-link:hover { + background: var(--black-lighten-70); + color: var(--black-lighten-20); } + .wp-block-file .wp-block-file__copy-url-button, + .wp-block-file .wp-block-file__button-richtext-wrapper { + display: none; } +.block-editor-block-list__layout ol, +.block-editor-block-list__layout ul { + padding: 5px 0 0 40px; } + .block-editor-block-list__layout ol li, + .block-editor-block-list__layout ul li { + margin-bottom: 9px; } + +.block-editor-block-list__layout ol.rich__list--enumerated, +.block-editor-block-list__layout ol.rich__list--enumerated ol { + counter-reset: item; + list-style-type: none; + padding: 5px 0 0 40px; } + .block-editor-block-list__layout ol.rich__list--enumerated > li, + .block-editor-block-list__layout ol.rich__list--enumerated ol > li { + counter-increment: item; + display: table; + margin-bottom: 0.6em; } + .block-editor-block-list__layout ol.rich__list--enumerated > li::before, + .block-editor-block-list__layout ol.rich__list--enumerated ol > li::before { + content: counters(item, ".") ". "; + display: table-cell; + padding-right: 0.6em; } + .block-editor-block-list__layout ol.rich__list--enumerated > li ol li, + .block-editor-block-list__layout ol.rich__list--enumerated ol > li ol li { + margin: 0; } + .block-editor-block-list__layout ol.rich__list--enumerated > li ol li::before, + .block-editor-block-list__layout ol.rich__list--enumerated ol > li ol li::before { + content: counters(item, ".") " "; } + +.block-editor-block-list__layout ul.rich__list--checked { + list-style-type: none; } + .block-editor-block-list__layout ul.rich__list--checked li { + display: table; } + .block-editor-block-list__layout ul.rich__list--checked li::before { + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU2LjcgNTYuNyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNTYuNyA1Ni43IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cG9seWdvbiBmaWxsPSIjNjViMzJlIiBwb2ludHM9IjI0LjUsNDYuMyA2LjMsMjguMiAxMi40LDIyLjEgMzAsMzkuOCAgIi8+Cgk8cG9seWdvbiBmaWxsPSIjNjViMzJlIiBwb2ludHM9IjE5LDM5LjggNDQuNSwxMS4yIDUwLjgsMTYuOSAyNC41LDQ2LjQgICIvPgo8L2c+Cjwvc3ZnPg==); + background-position-x: center; + background-repeat: no-repeat; + content: ""; + display: table-cell; + height: 16px; + padding-right: 0.6em; + width: 18px; } +.is-fullscreen-mode .ui-autocomplete { + z-index: 1000; } +/** + Use this for hover states + */ +.block-editor-block-list__block.wp-block[data-type="core/gallery"] { + clear: both; } diff --git a/integration_build/index.js b/integration_build/index.js index 6791157..505f5cc 100644 --- a/integration_build/index.js +++ b/integration_build/index.js @@ -118,17 +118,6 @@ eval("/**\n * lodash (Custom Build) \n * Build: `lodash mod /***/ }), -/***/ "./node_modules/lodash.filter/index.js": -/*!*********************************************!*\ - !*** ./node_modules/lodash.filter/index.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global, module) {/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array ? array.length : 0,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = filter;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module)))\n\n//# sourceURL=webpack:///./node_modules/lodash.filter/index.js?"); - -/***/ }), - /***/ "./node_modules/lodash.get/index.js": /*!******************************************!*\ !*** ./node_modules/lodash.get/index.js ***! @@ -192,7 +181,7 @@ eval("module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/accordion-item/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * External dependencies\n */\n\n\n/**\n * Internal dependencies\n */\n\n\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"element\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n PanelBody,\n ToggleControl\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n BlockControls,\n RichText,\n AlignmentToolbar,\n InnerBlocks,\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"editor\"];\nconst name = 'accordion-item';\nconst settings = {\n title: __('Accordion Item'),\n description: __('A custom Accordion block for Gutenberg Cloud'),\n icon: 'editor-insertmore',\n attributes: {\n title: {\n type: 'string'\n },\n isOpen: {\n type: 'boolean',\n default: false\n }\n },\n\n edit({\n attributes,\n setAttributes\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockControls, {\n key: \"controls\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(AlignmentToolbar, {\n value: attributes.accordionAlignment,\n onChange: value => setAttributes({\n accordionAlignment: value\n })\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"accordion-item-component\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, {\n key: \"inspector\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ToggleControl, {\n label: __('Open by default', 'atomic-blocks'),\n checked: attributes.isOpen,\n onChange: () => setAttributes({\n isOpen: !attributes.isOpen\n })\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n tagName: \"p\",\n placeholder: __('Accordion Item Title'),\n value: attributes.title,\n className: \"accordion-item-header\",\n onChange: value => setAttributes({\n title: value\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, null))));\n },\n\n save({\n attributes: {\n isOpen,\n title\n }\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"details\", {\n open: isOpen\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"summary\", {\n className: \"accordion-item-summary\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"summary-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"div\",\n className: \"summary-content\",\n value: title\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"arrow-icon\"\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"accordion-item-content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null)));\n }\n\n};\n\n//# sourceURL=webpack:///./src/accordion-item/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/accordion-item/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * External dependencies\n */\n\n\n/**\n * Internal dependencies\n */\n\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"element\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n PanelBody,\n ToggleControl\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n BlockControls,\n RichText,\n AlignmentToolbar,\n InnerBlocks,\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"editor\"];\nconst name = 'accordion-item';\nconst settings = {\n title: __('Accordion Item'),\n description: __('A custom Accordion block for Gutenberg Cloud'),\n icon: 'editor-insertmore',\n attributes: {\n title: {\n type: 'string'\n },\n isOpen: {\n type: 'boolean',\n default: false\n }\n },\n edit({\n attributes,\n setAttributes\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockControls, {\n key: \"controls\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(AlignmentToolbar, {\n value: attributes.accordionAlignment,\n onChange: value => setAttributes({\n accordionAlignment: value\n })\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"accordion-item-component\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, {\n key: \"inspector\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ToggleControl, {\n label: __('Open by default', 'atomic-blocks'),\n checked: attributes.isOpen,\n onChange: () => setAttributes({\n isOpen: !attributes.isOpen\n })\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n tagName: \"p\",\n placeholder: __('Accordion Item Title'),\n value: attributes.title,\n className: \"accordion-item-header\",\n onChange: value => setAttributes({\n title: value\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, null))));\n },\n save({\n attributes: {\n isOpen,\n title\n }\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"details\", {\n open: isOpen\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"summary\", {\n className: \"accordion-item-summary\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"summary-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"div\",\n className: \"summary-content\",\n value: title\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"arrow-icon\"\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"accordion-item-content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null)));\n }\n};\n\n//# sourceURL=webpack:///./src/accordion-item/index.js?"); /***/ }), @@ -215,7 +204,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/accordion/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * External dependencies\n */\n\n\n/**\n * Internal dependencies\n */\n\n\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"element\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n RichText,\n InnerBlocks\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"editor\"];\nconst name = 'accordion';\nconst ALLOWED_BLOCKS = ['coliquio/accordion-item'];\nconst settings = {\n title: __('Accordion'),\n description: __('A custom Accordion block for Gutenberg Cloud'),\n icon: 'excerpt-view',\n attributes: {\n accordionTitle: {\n type: 'string'\n }\n },\n\n edit({\n attributes,\n setAttributes\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"accordion-component\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n tagName: \"p\",\n placeholder: __('Accordion Title(optional)'),\n value: attributes.accordionTitle,\n className: \"accordion-component-header\",\n onChange: value => setAttributes({\n accordionTitle: value\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, {\n allowedBlocks: ALLOWED_BLOCKS\n }))));\n },\n\n save({\n attributes\n }) {\n let titleBlock = '';\n\n if (attributes.accordionTitle) {\n titleBlock = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"summary\", {\n className: \"accordion-header\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n value: attributes.accordionTitle\n }));\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, titleBlock, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null)));\n }\n\n};\n\n//# sourceURL=webpack:///./src/accordion/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/accordion/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * External dependencies\n */\n\n\n/**\n * Internal dependencies\n */\n\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"element\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n RichText,\n InnerBlocks\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"editor\"];\nconst name = 'accordion';\nconst ALLOWED_BLOCKS = ['coliquio/accordion-item'];\nconst settings = {\n title: __('Accordion'),\n description: __('A custom Accordion block for Gutenberg Cloud'),\n icon: 'excerpt-view',\n attributes: {\n accordionTitle: {\n type: 'string'\n }\n },\n edit({\n attributes,\n setAttributes\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"accordion-component\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n tagName: \"p\",\n placeholder: __('Accordion Title(optional)'),\n value: attributes.accordionTitle,\n className: \"accordion-component-header\",\n onChange: value => setAttributes({\n accordionTitle: value\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, {\n allowedBlocks: ALLOWED_BLOCKS\n }))));\n },\n save({\n attributes\n }) {\n let titleBlock = '';\n if (attributes.accordionTitle) {\n titleBlock = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"summary\", {\n className: \"accordion-header\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n value: attributes.accordionTitle\n }));\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, titleBlock, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null)));\n }\n};\n\n//# sourceURL=webpack:///./src/accordion/index.js?"); /***/ }), @@ -238,7 +227,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/branding/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n InnerBlocks\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'branding-box';\nconst TEMPLATE = [['core/paragraph', {\n content: 'Dieser Beitrag wird Ihnen präsentiert von'\n}], ['core/image', {\n displayCopyright: false,\n displayCaption: false\n}]];\nconst settings = {\n title: __('Branding Box'),\n description: __('Visual wrapper with different styles'),\n icon: 'tickets-alt',\n\n edit({\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, {\n template: TEMPLATE,\n templateLock: \"all\"\n }));\n },\n\n save({\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"branding-box-outer-wrapper\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"aside\", {\n className: \"branding-box-inner-wrapper\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null))));\n }\n\n};\n\n//# sourceURL=webpack:///./src/branding/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/branding/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n InnerBlocks\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'branding-box';\nconst TEMPLATE = [['core/paragraph', {\n content: 'Dieser Beitrag wird Ihnen präsentiert von'\n}], ['core/image', {\n displayCopyright: false,\n displayCaption: false\n}]];\nconst settings = {\n title: __('Branding Box'),\n description: __('Visual wrapper with different styles'),\n icon: 'tickets-alt',\n edit({\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, {\n template: TEMPLATE,\n templateLock: \"all\"\n }));\n },\n save({\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"branding-box-outer-wrapper\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"aside\", {\n className: \"branding-box-inner-wrapper\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null))));\n }\n};\n\n//# sourceURL=webpack:///./src/branding/index.js?"); /***/ }), @@ -261,7 +250,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/checklist/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n RichText\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'checklist';\nconst settings = {\n title: __('Checklist'),\n description: __('List with green check marks'),\n icon: 'list-view',\n keywords: [__('checklist'), __('check marks')],\n attributes: {\n text: {\n type: 'string'\n }\n },\n\n edit({\n attributes,\n className,\n setAttributes\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n tagName: \"ul\",\n formattingControls: ['bold', 'link'],\n className: className,\n value: attributes.text,\n placeholder: __('Write your checklist here...'),\n onChange: text => setAttributes({\n text\n }),\n multiline: \"li\"\n });\n },\n\n save({\n attributes,\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"ul\",\n value: attributes.text,\n className: className\n });\n }\n\n};\n\n//# sourceURL=webpack:///./src/checklist/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/checklist/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n RichText\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'checklist';\nconst settings = {\n title: __('Checklist'),\n description: __('List with green check marks'),\n icon: 'list-view',\n keywords: [__('checklist'), __('check marks')],\n attributes: {\n text: {\n type: 'string'\n }\n },\n edit({\n attributes,\n className,\n setAttributes\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n tagName: \"ul\",\n formattingControls: ['bold', 'link'],\n className: className,\n value: attributes.text,\n placeholder: __('Write your checklist here...'),\n onChange: text => setAttributes({\n text\n }),\n multiline: \"li\"\n });\n },\n save({\n attributes,\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"ul\",\n value: attributes.text,\n className: className\n });\n }\n};\n\n//# sourceURL=webpack:///./src/checklist/index.js?"); /***/ }), @@ -295,7 +284,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_0__);\n\nconst {\n addFilter\n} = wp__WEBPACK_IMPORTED_MODULE_0__[\"hooks\"]; // Disable defaultStylePicker on the following blocks\n\nconst disableOnBlocks = ['core/image', 'core/quote', 'core/button', 'core/pullquote', 'core/separator', 'core/social-links', 'core/table'];\n/**\n * Set defaultStylePicker to false for block settings.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\n\nconst disableDefaultStylePicker = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!disableOnBlocks.includes(name)) {\n return settings;\n }\n\n settings.supports = { ...settings.supports,\n defaultStylePicker: false\n };\n return settings;\n};\n\naddFilter('blocks.registerBlockType', 'styled-blocks/settings', disableDefaultStylePicker);\n\n//# sourceURL=webpack:///./src/common/extend/disableDefaultStylePicker.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_0__);\n\nconst {\n addFilter\n} = wp__WEBPACK_IMPORTED_MODULE_0__[\"hooks\"];\n\n// Disable defaultStylePicker on the following blocks\nconst disableOnBlocks = ['core/image', 'core/quote', 'core/button', 'core/pullquote', 'core/separator', 'core/social-links', 'core/table'];\n\n/**\n * Set defaultStylePicker to false for block settings.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\nconst disableDefaultStylePicker = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!disableOnBlocks.includes(name)) {\n return settings;\n }\n settings.supports = {\n ...settings.supports,\n defaultStylePicker: false\n };\n return settings;\n};\naddFilter('blocks.registerBlockType', 'styled-blocks/settings', disableDefaultStylePicker);\n\n//# sourceURL=webpack:///./src/common/extend/disableDefaultStylePicker.js?"); /***/ }), @@ -307,7 +296,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var wp__ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/cta/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"element\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n PanelBody,\n TextControl,\n ToggleControl,\n RadioControl\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n RichText,\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'cta';\n\nfunction renderClassName(defaultClassName, attributes) {\n let className = defaultClassName;\n\n if (attributes.style !== 'button' && className) {\n className = `${className} ${className}--${attributes.style}`;\n }\n\n return className;\n}\n\nconst settings = {\n title: __('Call To Action Button'),\n description: __('A CTA button that links to some content'),\n icon: 'button',\n attributes: {\n text: {\n type: 'string'\n },\n url: {\n type: 'string',\n default: ''\n },\n targetNewWindow: {\n type: 'boolean'\n },\n style: {\n type: 'string',\n default: 'button'\n }\n },\n\n edit({\n attributes,\n setAttributes,\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('CTA settings')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TextControl, {\n label: __('Link to Content'),\n value: attributes.url,\n placeholder: '/my-path',\n onChange: val => setAttributes({\n url: val\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RadioControl, {\n label: \"Display Style\",\n selected: attributes.style,\n options: [{\n label: 'Button',\n value: 'button'\n }, {\n label: 'Link',\n value: 'link'\n }],\n onChange: option => setAttributes({\n style: option\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ToggleControl, {\n label: __('Open hyperlink in new tab?'),\n onChange: () => setAttributes({\n targetNewWindow: !attributes.targetNewWindow\n }),\n checked: attributes.targetNewWindow\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n className: renderClassName(className, attributes),\n tagName: \"a\",\n value: attributes.text,\n placeholder: __('Button Text'),\n target: attributes.targetNewWindow ? '_blank' : '_self',\n onChange: value => setAttributes({\n text: value\n })\n }));\n },\n\n save({\n attributes,\n className = 'wp-block-coliquio-cta'\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"a\",\n className: renderClassName(className, attributes),\n href: attributes.url,\n value: attributes.text,\n target: attributes.targetNewWindow ? '_blank' : '_self',\n rel: \"noreferrer noopener\"\n });\n }\n\n};\n\n//# sourceURL=webpack:///./src/cta/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/cta/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"element\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n PanelBody,\n TextControl,\n ToggleControl,\n RadioControl\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n RichText,\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'cta';\nfunction renderClassName(defaultClassName, attributes) {\n let className = defaultClassName;\n if (attributes.style !== 'button' && className) {\n className = `${className} ${className}--${attributes.style}`;\n }\n return className;\n}\nconst settings = {\n title: __('Call To Action Button'),\n description: __('A CTA button that links to some content'),\n icon: 'button',\n attributes: {\n text: {\n type: 'string'\n },\n url: {\n type: 'string',\n default: ''\n },\n targetNewWindow: {\n type: 'boolean'\n },\n style: {\n type: 'string',\n default: 'button'\n }\n },\n edit({\n attributes,\n setAttributes,\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('CTA settings')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TextControl, {\n label: __('Link to Content'),\n value: attributes.url,\n placeholder: '/my-path',\n onChange: val => setAttributes({\n url: val\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RadioControl, {\n label: \"Display Style\",\n selected: attributes.style,\n options: [{\n label: 'Button',\n value: 'button'\n }, {\n label: 'Link',\n value: 'link'\n }],\n onChange: option => setAttributes({\n style: option\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ToggleControl, {\n label: __('Open hyperlink in new tab?'),\n onChange: () => setAttributes({\n targetNewWindow: !attributes.targetNewWindow\n }),\n checked: attributes.targetNewWindow\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n className: renderClassName(className, attributes),\n tagName: \"a\",\n value: attributes.text,\n placeholder: __('Button Text'),\n target: attributes.targetNewWindow ? '_blank' : '_self',\n onChange: value => setAttributes({\n text: value\n })\n }));\n },\n save({\n attributes,\n className = 'wp-block-coliquio-cta'\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"a\",\n className: renderClassName(className, attributes),\n href: attributes.url,\n value: attributes.text,\n target: attributes.targetNewWindow ? '_blank' : '_self',\n rel: \"noreferrer noopener\"\n });\n }\n};\n\n//# sourceURL=webpack:///./src/cta/index.js?"); /***/ }), @@ -330,7 +319,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style.scss */ \"./src/file/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nconst {\n createHigherOrderComponent\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"compose\"];\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"element\"];\nconst {\n addFilter\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"hooks\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"i18n\"];\nconst {\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"blockEditor\"];\nconst {\n PanelBody,\n RadioControl,\n ToggleControl\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"components\"]; // Enable properties on the following blocks\n\nconst enableOnBlocks = ['core/file'];\n/**\n * Add extra attributes to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\n\nconst addExtraAttributes = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n }\n\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()(settings.attributes, {\n textLinkTarget: {\n type: \"string\",\n default: \"\"\n }\n });\n return settings;\n};\n\naddFilter(\"blocks.registerBlockType\", \"extend-block-file/attribute/extra-attributes\", addExtraAttributes);\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\n\nconst addExtraPropsStyle = (saveElementProps, blockType, attributes) => {\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n\n wp.blocks.registerBlockStyle('core/file', {\n name: 'link',\n label: 'Link'\n });\n wp.blocks.registerBlockStyle('core/file', {\n name: 'button',\n label: 'Button'\n });\n return saveElementProps;\n};\n\naddFilter('blocks.getSaveContent.extraProps', 'extend-block-image/get-save-content/extra-props-styles', addExtraPropsStyle);\n\n//# sourceURL=webpack:///./src/file/extend.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/file/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n addFilter\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"hooks\"];\nconst {\n wp\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\n\n// Enable properties on the following blocks\nconst enableOnBlocks = ['core/file'];\n\n/**\n * Add extra attributes to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\nconst addExtraAttributes = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n }\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_0___default()(settings.attributes, {\n textLinkTarget: {\n type: 'string',\n default: ''\n }\n });\n return settings;\n};\naddFilter('blocks.registerBlockType', 'extend-block-file/attribute/extra-attributes', addExtraAttributes);\n\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n *\n * @returns {object} Modified props of save element.\n */\nconst addExtraPropsStyle = (saveElementProps, blockType) => {\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n wp.blocks.registerBlockStyle('core/file', {\n name: 'link',\n label: 'Link'\n });\n wp.blocks.registerBlockStyle('core/file', {\n name: 'button',\n label: 'Button'\n });\n return saveElementProps;\n};\naddFilter('blocks.getSaveContent.extraProps', 'extend-block-image/get-save-content/extra-props-styles', addExtraPropsStyle);\n\n//# sourceURL=webpack:///./src/file/extend.js?"); /***/ }), @@ -353,7 +342,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n createHigherOrderComponent\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"compose\"];\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"element\"];\nconst {\n addFilter\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"hooks\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"i18n\"];\nconst {\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"blockEditor\"];\nconst {\n PanelBody,\n CheckboxControl\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"components\"]; // Enable properties on the following blocks\n\nconst enableOnBlocks = ['core/group'];\n/**\n * Add src attribute to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\n\nconst addSrcControlAttribute = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n } // Use Lodash's assign to gracefully handle if attributes are undefined\n\n\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()(settings.attributes, {\n classNameTest: {\n type: 'string',\n default: ''\n },\n test: {\n type: 'string',\n default: ''\n },\n isChecked: {\n type: 'boolean',\n default: false\n }\n });\n return settings;\n};\n\naddFilter('blocks.registerBlockType', 'extend-block-group/attribute/column-layout', addSrcControlAttribute);\n/**\n * Create HOC to add src attribute to block.\n */\n\nconst withSrcAttribute = createHigherOrderComponent(BlockEdit => {\n return props => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(props.name)) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props);\n }\n\n console.log(props.attributes);\n const {\n isChecked\n } = props.attributes;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('Sizing Control'),\n initialOpen: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CheckboxControl, {\n heading: \"Column layout\",\n label: \"Column layout for text in the group\",\n help: \"Enable/disable elements to be shown in column layout\",\n checked: isChecked,\n onChange: (isChecked, test => {\n console.log(isChecked, test);\n props.setAttributes({\n isChecked: !isChecked\n });\n })\n }))));\n };\n}, 'withSrcAttribute');\naddFilter('editor.BlockEdit', 'extend-block-group/with-column-layout', withSrcAttribute);\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\n\nconst addSizeExtraProps = (saveElementProps, blockType, attributes) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n\n if (attributes.test) {\n // eslint-disable-next-line no-debugger\n debugger;\n }\n\n return saveElementProps;\n};\n\naddFilter('blocks.getSaveContent.extraProps', 'extend-block-group/get-save-content/extra-props', addSizeExtraProps);\n\n//# sourceURL=webpack:///./src/group/extend.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n createHigherOrderComponent\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"compose\"];\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"element\"];\nconst {\n addFilter\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"hooks\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"i18n\"];\nconst {\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"blockEditor\"];\nconst {\n PanelBody,\n CheckboxControl\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"components\"];\n\n// Enable properties on the following blocks\nconst enableOnBlocks = ['core/group'];\n\n/**\n * Add src attribute to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\nconst addSrcControlAttribute = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n }\n\n // Use Lodash's assign to gracefully handle if attributes are undefined\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()(settings.attributes, {\n classNameTest: {\n type: 'string',\n default: ''\n },\n test: {\n type: 'string',\n default: ''\n },\n isChecked: {\n type: 'boolean',\n default: false\n }\n });\n return settings;\n};\naddFilter('blocks.registerBlockType', 'extend-block-group/attribute/column-layout', addSrcControlAttribute);\n\n/**\n * Create HOC to add src attribute to block.\n */\nconst withSrcAttribute = createHigherOrderComponent(BlockEdit => {\n return props => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(props.name)) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props);\n }\n const {\n isChecked\n } = props.attributes;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('Sizing Control'),\n initialOpen: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CheckboxControl, {\n heading: \"Column layout\",\n label: \"Column layout for text in the group\",\n help: \"Enable/disable elements to be shown in column layout\",\n checked: isChecked,\n onChange: isChecked => {\n props.setAttributes({\n isChecked: !isChecked\n });\n }\n }))));\n };\n}, 'withSrcAttribute');\naddFilter('editor.BlockEdit', 'extend-block-group/with-column-layout', withSrcAttribute);\n\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\nconst addSizeExtraProps = (saveElementProps, blockType, attributes) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n if (attributes.test) {\n // eslint-disable-next-line no-debugger\n debugger;\n }\n return saveElementProps;\n};\naddFilter('blocks.getSaveContent.extraProps', 'extend-block-group/get-save-content/extra-props', addSizeExtraProps);\n\n//# sourceURL=webpack:///./src/group/extend.js?"); /***/ }), @@ -365,7 +354,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash.get */ \"./node_modules/lodash.get/index.js\");\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style.scss */ \"./src/header/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"element\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n PanelBody\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n RichText,\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'header';\nconst settings = {\n title: __('Header'),\n description: __('Header with Kicker and Headline'),\n icon: 'button',\n attributes: {\n kicker: {\n type: 'string'\n },\n headline: {\n type: 'string'\n }\n },\n\n edit({\n attributes,\n className,\n setAttributes\n }) {\n const length = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(attributes, 'kicker.length', 0) + lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(attributes, 'headline.length', 0);\n const idealLength = 70;\n const veryBadLength = 90;\n const classNames = [className];\n const warnLevel = length > idealLength ? length > veryBadLength ? 2 : 1 : 0;\n\n if (warnLevel > 0) {\n classNames.push('warning-too-long-' + warnLevel);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('Title Size')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, length, \" Characters\", warnLevel > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: 'header-invalid-too-long-' + warnLevel\n }, \"Exceeding ideal size by \", length - idealLength, \" Characters!\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: 'header-valid'\n }, \"Perfect!\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: classNames.join(' ')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n className: \"kicker\",\n tagName: \"p\",\n formattingControls: ['superscript', 'subscript'],\n value: attributes.kicker,\n placeholder: __('Kicker line...'),\n onChange: value => setAttributes({\n kicker: value\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n className: \"headline\",\n tagName: \"p\",\n formattingControls: ['superscript', 'subscript'],\n value: attributes.headline,\n placeholder: __('Headline...'),\n onChange: value => setAttributes({\n headline: value\n })\n })));\n },\n\n save({\n attributes,\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h1\", {\n className: className\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"span\",\n className: \"kicker\",\n value: attributes.kicker\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"span\",\n className: \"headline\",\n value: attributes.headline\n }));\n }\n\n};\n\n//# sourceURL=webpack:///./src/header/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash.get */ \"./node_modules/lodash.get/index.js\");\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style.scss */ \"./src/header/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"element\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n PanelBody\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n RichText,\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'header';\nconst settings = {\n title: __('Header'),\n description: __('Header with Kicker and Headline'),\n icon: 'button',\n attributes: {\n kicker: {\n type: 'string'\n },\n headline: {\n type: 'string'\n }\n },\n edit({\n attributes,\n className,\n setAttributes\n }) {\n const length = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(attributes, 'kicker.length', 0) + lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(attributes, 'headline.length', 0);\n const idealLength = 70;\n const veryBadLength = 90;\n const classNames = [className];\n const warnLevel = length > idealLength ? length > veryBadLength ? 2 : 1 : 0;\n if (warnLevel > 0) {\n classNames.push('warning-too-long-' + warnLevel);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('Title Size')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, length, \" Characters\", warnLevel > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: 'header-invalid-too-long-' + warnLevel\n }, \"Exceeding ideal size by \", length - idealLength, \" Characters!\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: 'header-valid'\n }, \"Perfect!\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: classNames.join(' ')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n className: \"kicker\",\n tagName: \"p\",\n formattingControls: ['superscript', 'subscript'],\n value: attributes.kicker,\n placeholder: __('Kicker line...'),\n onChange: value => setAttributes({\n kicker: value\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText, {\n className: \"headline\",\n tagName: \"p\",\n formattingControls: ['superscript', 'subscript'],\n value: attributes.headline,\n placeholder: __('Headline...'),\n onChange: value => setAttributes({\n headline: value\n })\n })));\n },\n save({\n attributes,\n className\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h1\", {\n className: className\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"span\",\n className: \"kicker\",\n value: attributes.kicker\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RichText.Content, {\n tagName: \"span\",\n className: \"headline\",\n value: attributes.headline\n }));\n }\n};\n\n//# sourceURL=webpack:///./src/header/index.js?"); /***/ }), @@ -388,7 +377,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/highlight/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n TextControl,\n PanelBody,\n SelectControl\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n InspectorControls,\n InnerBlocks\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'highlight';\n/**\n * Visual variants for this highlight box\n */\n\nconst styleType = {\n GREY_BOX: 'card card--primary',\n BLUE_BORDER: 'card card--secondary'\n};\nconst settings = {\n title: __('Highlight'),\n description: __('Visual wrapper with different styles'),\n icon: 'cover-image',\n attributes: {\n title: {\n type: 'string'\n },\n style: {\n type: 'string'\n }\n },\n\n edit({\n attributes,\n className,\n setAttributes\n }) {\n if (!attributes.style) {\n setAttributes({\n style: styleType.BLUE_BORDER\n });\n }\n\n const {\n title,\n style\n } = attributes;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('Highlight settings')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TextControl, {\n label: __('Box Title'),\n value: title || '',\n onChange: title => setAttributes({\n title\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __('Visual Appearance'),\n value: style,\n options: [{\n label: __('Thick Blue Border'),\n value: styleType.BLUE_BORDER\n }, {\n label: __('Soft Grey Box'),\n value: styleType.GREY_BOX\n }],\n onChange: style => setAttributes({\n style\n })\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"section\", {\n className: `${className} ${style}`\n }, title && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"title\"\n }, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, null))));\n },\n\n save({\n attributes\n }) {\n const {\n style\n } = attributes;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"section\", {\n className: style\n }, attributes.title && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"title\"\n }, attributes.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null)));\n }\n\n};\n\n//# sourceURL=webpack:///./src/highlight/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/highlight/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n TextControl,\n PanelBody,\n SelectControl\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n InspectorControls,\n InnerBlocks\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'highlight';\n\n/**\n * Visual variants for this highlight box\n */\nconst styleType = {\n GREY_BOX: 'card card--primary',\n BLUE_BORDER: 'card card--secondary',\n PERSON_BOX: 'card card--primary person'\n};\nconst settings = {\n title: __('Highlight'),\n description: __('Visual wrapper with different styles'),\n icon: 'cover-image',\n attributes: {\n title: {\n type: 'string'\n },\n style: {\n type: 'string'\n }\n },\n edit({\n attributes,\n className,\n setAttributes\n }) {\n if (!attributes.style) {\n setAttributes({\n style: styleType.BLUE_BORDER\n });\n }\n const {\n title,\n style\n } = attributes;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('Highlight settings')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TextControl, {\n label: __('Box Title'),\n value: title || '',\n onChange: title => setAttributes({\n title\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __('Visual Appearance'),\n value: style,\n options: [{\n label: __('Thick Blue Border'),\n value: styleType.BLUE_BORDER\n }, {\n label: __('Soft Grey Box'),\n value: styleType.GREY_BOX\n }, {\n label: __('Person Box'),\n value: styleType.PERSON_BOX\n }],\n onChange: style => setAttributes({\n style\n })\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"section\", {\n className: `${className} ${style}`\n }, title && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"title\"\n }, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, null))));\n },\n save({\n attributes\n }) {\n const {\n style\n } = attributes;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"section\", {\n className: style\n }, attributes.title && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"title\"\n }, attributes.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null)));\n }\n};\n\n//# sourceURL=webpack:///./src/highlight/index.js?"); /***/ }), @@ -411,7 +400,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/iframe/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n TextControl,\n PanelBody,\n SelectControl\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'iframe';\nconst heightOptions = {\n SMALL: 300,\n MEDIUM: 475,\n LARGE: 650,\n DYNAMIC: 0\n};\nconst typeOptions = {\n IFRAME: 'iframe',\n IFRAME_VIDEO: 'iframe-video',\n IFRAME_SURVEY: 'iframe-survey'\n};\nconst settings = {\n title: __('iFrame'),\n description: __('Display external content'),\n icon: 'cover-image',\n attributes: {\n type: {\n type: 'string',\n default: typeOptions.IFRAME\n },\n src: {\n type: 'string'\n },\n height: {\n type: 'number',\n default: heightOptions.SMALL\n }\n },\n\n edit({\n attributes,\n className,\n setAttributes\n }) {\n const {\n src,\n height,\n type\n } = attributes;\n const heightOptionsUi = Object.keys(heightOptions).map(item => ({\n label: `${item} ${heightOptions[item] !== 0 ? `(${heightOptions[item]}px)` : ''}`,\n value: heightOptions[item]\n }));\n const typeOptionsUI = Object.keys(typeOptions).map(item => ({\n label: item,\n value: typeOptions[item]\n }));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('iframe settings')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __('Type of iframe (changes styling)'),\n value: type,\n options: typeOptionsUI // eslint-disable-next-line no-shadow\n ,\n onChange: type => setAttributes({\n type\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TextControl, {\n label: __('Source URL'),\n value: src // eslint-disable-next-line no-shadow\n ,\n onChange: src => setAttributes({\n src\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __('Visual Height'),\n value: height,\n options: heightOptionsUi // eslint-disable-next-line no-shadow\n ,\n onChange: height => setAttributes({\n height: parseInt(height)\n })\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"iframe\", {\n frameBorder: 0,\n className: `${className} ${type}`,\n src: src ? src : 'about:blank',\n height: height\n }));\n },\n\n save({\n attributes: {\n src,\n height,\n type\n }\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"iframe\", {\n className: type,\n frameBorder: 0,\n src: `${src ? src : 'about:blank'}`,\n height: height,\n allowFullScreen: true\n });\n }\n\n};\n\n//# sourceURL=webpack:///./src/iframe/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/iframe/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n TextControl,\n PanelBody,\n SelectControl\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"components\"];\nconst {\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"blockEditor\"];\nconst name = 'iframe';\nconst heightOptions = {\n SMALL: 300,\n MEDIUM: 475,\n LARGE: 650,\n DYNAMIC: 0\n};\nconst typeOptions = {\n IFRAME: 'iframe',\n IFRAME_VIDEO: 'iframe-video',\n IFRAME_SURVEY: 'iframe-survey'\n};\nconst settings = {\n title: __('iFrame'),\n description: __('Display external content'),\n icon: 'cover-image',\n attributes: {\n type: {\n type: 'string',\n default: typeOptions.IFRAME\n },\n src: {\n type: 'string'\n },\n height: {\n type: 'number',\n default: heightOptions.SMALL\n }\n },\n edit({\n attributes,\n className,\n setAttributes\n }) {\n const {\n src,\n height,\n type\n } = attributes;\n const heightOptionsUi = Object.keys(heightOptions).map(item => ({\n label: `${item} ${heightOptions[item] !== 0 ? `(${heightOptions[item]}px)` : ''}`,\n value: heightOptions[item]\n }));\n const typeOptionsUI = Object.keys(typeOptions).map(item => ({\n label: item,\n value: typeOptions[item]\n }));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('iframe settings')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __('Type of iframe (changes styling)'),\n value: type,\n options: typeOptionsUI\n // eslint-disable-next-line no-shadow\n ,\n onChange: type => setAttributes({\n type\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TextControl, {\n label: __('Source URL'),\n value: src\n // eslint-disable-next-line no-shadow\n ,\n onChange: src => setAttributes({\n src\n })\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __('Visual Height'),\n value: height,\n options: heightOptionsUi\n // eslint-disable-next-line no-shadow\n ,\n onChange: height => setAttributes({\n height: parseInt(height)\n })\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"iframe\", {\n frameBorder: 0,\n className: `${className} ${type}`,\n src: src ? src : 'about:blank',\n height: height\n }));\n },\n save({\n attributes: {\n src,\n height,\n type\n }\n }) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"iframe\", {\n className: type,\n frameBorder: 0,\n src: `${src ? src : 'about:blank'}`,\n height: height,\n allowFullScreen: true\n });\n }\n};\n\n//# sourceURL=webpack:///./src/iframe/index.js?"); /***/ }), @@ -434,7 +423,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash.get */ \"./node_modules/lodash.get/index.js\");\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash.reduce */ \"./node_modules/lodash.reduce/index.js\");\n/* harmony import */ var lodash_reduce__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_reduce__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash.filter */ \"./node_modules/lodash.filter/index.js\");\n/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_filter__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash.isequal */ \"./node_modules/lodash.isequal/index.js\");\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isequal__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style.scss */ \"./src/image/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\nconst {\n createHigherOrderComponent\n} = wp.compose;\nconst {\n Fragment\n} = wp.element;\nconst {\n addFilter\n} = wp.hooks;\nconst {\n __\n} = wp.i18n;\nconst {\n InspectorControls,\n MediaUpload,\n MediaUploadCheck\n} = wp.editor;\nconst {\n PanelBody,\n SelectControl,\n TextControl,\n Disabled,\n Button,\n ResponsiveWrapper\n} = wp.components;\nconst {\n useSelect\n} = wp.data; // Enable properties on the following blocks\n\nconst enableOnBlocks = [\"core/image\"];\nconst sizeControlOptions = [{\n label: __(\"XS\"),\n value: \"extra-small\",\n widthPer: \"16%\",\n widthPx: \"155px\"\n}, {\n label: __(\"S\"),\n value: \"small\",\n default: true,\n widthPer: \"25%\",\n widthPx: \"196px\"\n}, {\n label: __(\"M\"),\n value: \"medium\",\n widthPer: \"33%\",\n widthPx: \"256px\"\n}, {\n label: __(\"L\"),\n value: \"large\",\n widthPer: \"50%\",\n widthPx: \"376px\"\n}, {\n label: __(\"XL\"),\n value: \"extra-large\",\n widthPer: \"100%\",\n widthPx: \"720px\"\n}];\nconst disabledElements = [{\n text: \"Image size\",\n selector: \".components-base-control__label\"\n}, {\n text: \"Image dimensions\",\n selector: \".block-editor-image-size-control__row\"\n}];\n/**\n * Add src attribute to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\n\nconst addSrcControlAttribute = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n }\n\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()(settings.attributes, {\n src: {\n type: \"string\",\n default: \"\"\n },\n className: {\n type: \"string\",\n default: \"\"\n },\n selectedCrop: {\n type: \"string\",\n default: \"\"\n },\n url: {\n type: \"string\",\n default: \"\"\n },\n href: {\n type: \"string\",\n default: \"\"\n },\n alt: {\n type: \"string\",\n default: \"\"\n },\n height: {\n type: \"number\",\n default: undefined\n },\n width: {\n type: \"number\",\n default: undefined\n },\n cdnFileId: {\n type: \"string\",\n default: undefined\n },\n size: {\n type: \"string\"\n },\n layout: {\n type: \"string\",\n default: undefined\n },\n copyright: {\n type: \"string\"\n },\n crop: {\n type: \"object\",\n default: null\n },\n aspectRatio: {\n type: \"object\",\n default: null\n },\n zoomImage: {\n type: \"object\",\n default: null\n },\n magnification: {\n type: \"bool\",\n default: false\n },\n caption: {\n type: \"string\",\n default: undefined\n }\n });\n return settings;\n};\n\naddFilter(\"blocks.registerBlockType\", \"extend-block-image/attribute/src\", addSrcControlAttribute);\n\nfunction getCropOptions(image) {\n return [{\n label: __(\"---\"),\n value: undefined\n }].concat(image && image.media_details && image.media_details.crops ? Object.keys(image.media_details.crops).map(key => {\n const crop = image.media_details.crops[key];\n return {\n label: __(crop.label + (crop.description ? \" - \" + crop.description : \"\")),\n value: crop.name\n };\n }) : []);\n}\n\nfunction getCopyright(image) {\n return image && image.media_fields ? lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_fields.field_copyright.value.value\") : \"\";\n}\n\nfunction getCrop(image, cropName) {\n if (!image) return;\n const key = Object.keys(image.media_details.crops).find(key => {\n return image.media_details.crops[key].name === cropName;\n });\n if (key) return image.media_details.crops[key];\n}\n/**\n * Create HOC to add src attribute to block.\n */\n\n\nconst withSrcAttribute = createHigherOrderComponent(BlockEdit => {\n return props => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(props.name)) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props);\n }\n\n setTimeout(function () {\n disabledElements.forEach(el => {\n const temp = document.querySelectorAll(el.selector);\n temp.forEach(node => {\n if (el.text === node.innerText && !node.parentNode.className.includes('custom-hidden')) {\n node.parentNode.className += ' custom-hidden';\n }\n });\n });\n let imagesInGroup = document.querySelectorAll(\".wp-block-image\");\n imagesInGroup.forEach(image => {\n let closestGroup = image.closest(\".wp-block-group\");\n if (closestGroup) closestGroup.style[\"min-height\"] = image.clientHeight + 10 + \"px\";\n });\n\n if (props.attributes.layout === \"layout-column\") {\n let imageWrapper = document.getElementById(\"block-\" + props.clientId).parentNode;\n\n if (imageWrapper.dataset.align === \"left\") {\n let nextSibl = imageWrapper.nextSibling;\n\n if (nextSibl.nodeName === \"P\") {\n nextSibl.style.paddingLeft = sizeControlOptions.find(o => o.value === props.attributes.size).widthPx;\n nextSibl.style.paddingRight = \"\";\n }\n\n if (nextSibl.nodeName === \"DIV\") {\n nextSibl.style.marginLeft = sizeControlOptions.find(o => o.value === props.attributes.size).widthPx;\n nextSibl.style.marginRight = \"\";\n }\n }\n\n if (imageWrapper.dataset.align === \"right\") {\n let nextSibl = imageWrapper.nextSibling;\n\n if (nextSibl.nodeName === \"P\") {\n nextSibl.style.paddingRight = sizeControlOptions.find(o => o.value === props.attributes.size).widthPx;\n nextSibl.style.paddingLeft = \"\";\n }\n\n if (nextSibl.nodeName === \"DIV\") {\n nextSibl.style.marginRight = sizeControlOptions.find(o => o.value === props.attributes.size).widthPx;\n nextSibl.style.marginLeft = \"\";\n }\n }\n } else {\n let imageBlock = document.getElementById(\"block-\" + props.clientId);\n let imageWrapper = imageBlock ? imageBlock.parentNode : undefined;\n\n if (imageWrapper && imageWrapper.dataset.align === \"left\") {\n let nextSibl = imageWrapper.nextSibling;\n\n if (nextSibl.nodeName === \"P\") {\n nextSibl.style.paddingLeft = \"\";\n }\n\n if (nextSibl.nodeName === \"DIV\") {\n nextSibl.style.marginLeft = \"\";\n }\n }\n\n if (imageWrapper && imageWrapper.dataset.align === \"right\") {\n let nextSibl = imageWrapper.nextSibling;\n\n if (nextSibl.nodeName === \"P\") {\n nextSibl.style.paddingRight = \"\";\n }\n\n if (nextSibl.nodeName === \"DIV\") {\n nextSibl.style.marginRight = \"\";\n }\n }\n }\n }, 500);\n\n const updateImageProps = (image, crop) => {\n if (typeof props.attributes.caption === \"object\") {\n props.setAttributes({\n caption: props.attributes.caption.raw ? props.attributes.caption.raw : undefined\n });\n }\n\n if (image && image.media_details) {\n let crop = null;\n\n if (props.attributes.selectedCrop) {\n crop = getCrop(image, props.attributes.selectedCrop);\n } else if (props.attributes.crop) {\n crop = getCrop(image, props.attributes.crop.name);\n }\n\n let propsToUpdate = {\n id: image.id,\n url: crop ? crop.cdn_url : lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_details.crops.main.cdn_url\"),\n cdnFileId: lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_details.cdn_file_id\"),\n width: undefined,\n height: undefined,\n sizeSlug: undefined,\n alt: props.attributes.alt ? props.attributes.alt : lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_fields.field_media_image.value.alt\"),\n copyright: lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_fields.field_copyright.value.value\"),\n size: !props.attributes.size ? sizeControlOptions.find(o => o.default).value : props.attributes.size,\n className: !props.attributes.size ? `custom-size-${sizeControlOptions.find(o => o.default).value}` : props.attributes.className,\n crop: crop && props.attributes.selectedCrop ? {\n name: crop.name,\n width: crop.width,\n height: crop.height,\n x: crop.x,\n y: crop.y\n } : props.attributes.crop,\n aspectRatio: {\n width: crop && crop.aspect_ratio ? crop.aspect_ratio.width : lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_details.width\"),\n height: crop && crop.aspect_ratio ? crop.aspect_ratio.height : lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_details.height\")\n },\n zoomImage: {\n url: lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_details.cdn_url\"),\n aspectRatio: {\n width: lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_details.width\"),\n height: lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_details.height\")\n }\n }\n };\n let reducedPropsToUpdate = lodash_reduce__WEBPACK_IMPORTED_MODULE_3___default()(propsToUpdate, function (result, value, key) {\n lodash_isequal__WEBPACK_IMPORTED_MODULE_5___default()(value, props.attributes[key]) && !!value ? false : result[key] || (result[key] = value);\n return result;\n }, {});\n\n if (Object.keys(reducedPropsToUpdate).length) {\n props.setAttributes(reducedPropsToUpdate);\n }\n }\n };\n\n const image = useSelect(select => {\n const {\n getMedia\n } = select(\"core\");\n return props.attributes.id && props.isSelected ? getMedia(props.attributes.id) : null;\n }, [props.attributes.id, props.isSelected]);\n updateImageProps(image);\n\n const removeMedia = () => {\n props.setAttributes({\n id: 0,\n url: \"\"\n });\n };\n\n const blockStyle = {\n backgroundImage: props.attributes.mediaUrl != \"\" ? 'url(\"' + props.attributes.mediaUrl + '\")' : \"none\"\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __(\"Custom Control\"),\n initialOpen: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __(\"Sizing\"),\n value: props.attributes.size,\n options: sizeControlOptions,\n onChange: selectedsizeOption => {\n props.setAttributes({\n size: selectedsizeOption\n });\n props.setAttributes({\n className: `custom-size-${selectedsizeOption}`\n });\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __(\"Crop\"),\n value: props.attributes.crop ? props.attributes.crop.name : undefined,\n options: getCropOptions(image),\n onChange: selectedCrop => {\n props.setAttributes({\n selectedCrop\n });\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectControl, {\n label: __(\"Magnification\"),\n value: props.attributes.magnification,\n options: [{\n label: __(\"DISABLED\"),\n value: false\n }, {\n label: __(\"ENABLED\"),\n value: true\n }],\n onChange: magnification => {\n props.setAttributes({\n magnification: magnification === \"true\" ? true : false\n });\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"editor-post-featured-image\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(MediaUploadCheck, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(MediaUpload, {\n onSelect: updateImageProps,\n value: props.attributes.mediaId,\n allowedTypes: [\"image\"],\n render: ({\n open\n }) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Button, {\n className: props.attributes.mediaId == 0 ? \"editor-post-featured-image__toggle\" : \"editor-post-featured-image__preview\",\n onClick: open\n }, props.attributes.mediaId == 0 && __(\"Choose an image\", \"awp\"), props.media != undefined && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ResponsiveWrapper, {\n naturalWidth: props.media.media_details.width,\n naturalHeight: props.media.media_details.height\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"img\", {\n src: props.media.source_url\n })))\n })), props.attributes.mediaId != 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(MediaUploadCheck, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(MediaUpload, {\n title: __(\"Replace image\", \"awp\"),\n value: props.attributes.mediaId,\n onSelect: updateImageProps,\n allowedTypes: [\"image\"],\n render: ({\n open\n }) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Button, {\n onClick: open,\n isDefault: true,\n isLarge: true\n }, __(\"Replace image\", \"awp\"))\n })), props.attributes.mediaId != 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(MediaUploadCheck, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Button, {\n onClick: removeMedia,\n isLink: true,\n isDestructive: true\n }, __(\"Remove image\", \"awp\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Disabled, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TextControl, {\n label: __(\"Copyright\"),\n help: __(\"Could be changed in gallery\"),\n value: getCopyright(image)\n })))));\n };\n}, \"withSrcAttribute\");\naddFilter(\"editor.BlockEdit\", \"extend-block-image/with-src-attribute\", withSrcAttribute);\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\n\nconst addExtraProps = (saveElementProps, blockType, attributes) => {\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n\n wp.blocks.unregisterBlockStyle(\"core/image\", \"rounded\");\n wp.blocks.unregisterBlockStyle(\"core/image\", \"default\");\n return saveElementProps;\n};\n\naddFilter(\"blocks.getSaveContent.extraProps\", \"extend-block-image/get-save-content/extra-props\", addExtraProps);\n\n//# sourceURL=webpack:///./src/image/extend.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.get */ \"./node_modules/lodash.get/index.js\");\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash.isequal */ \"./node_modules/lodash.isequal/index.js\");\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isequal__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash.reduce */ \"./node_modules/lodash.reduce/index.js\");\n/* harmony import */ var lodash_reduce__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_reduce__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style.scss */ \"./src/image/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\nconst {\n createHigherOrderComponent\n} = wp.compose;\nconst {\n Fragment\n} = wp.element;\nconst {\n addFilter\n} = wp.hooks;\nconst {\n __\n} = wp.i18n;\nconst {\n InspectorControls,\n MediaUpload,\n MediaUploadCheck\n} = wp.editor;\nconst {\n PanelBody,\n SelectControl,\n TextControl,\n Disabled,\n Button,\n ResponsiveWrapper,\n ToggleControl\n} = wp.components;\nconst {\n useSelect\n} = wp.data;\n\n// Enable properties on the following blocks\nconst enableOnBlocks = ['core/image'];\nconst sizeControlOptions = [{\n label: __('XS'),\n value: 'extra-small',\n widthPer: '16%',\n widthPx: '155px'\n}, {\n label: __('S'),\n value: 'small',\n default: true,\n widthPer: '25%',\n widthPx: '196px'\n}, {\n label: __('M'),\n value: 'medium',\n widthPer: '33%',\n widthPx: '256px'\n}, {\n label: __('L'),\n value: 'large',\n widthPer: '50%',\n widthPx: '376px'\n}, {\n label: __('XL'),\n value: 'extra-large',\n widthPer: '100%',\n widthPx: '720px'\n}];\nconst disabledElements = [{\n text: 'Image size',\n selector: '.components-base-control__label'\n}, {\n text: 'Image dimensions',\n selector: '.block-editor-image-size-control__row'\n}];\n\n/**\n * Add src attribute to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\nconst addSrcControlAttribute = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n }\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_0___default()(settings.attributes, {\n src: {\n type: 'string',\n default: ''\n },\n className: {\n type: 'string',\n default: ''\n },\n selectedCrop: {\n type: 'string',\n default: ''\n },\n url: {\n type: 'string',\n default: ''\n },\n href: {\n type: 'string',\n default: ''\n },\n alt: {\n type: 'string',\n default: ''\n },\n height: {\n type: 'number',\n default: undefined\n },\n width: {\n type: 'number',\n default: undefined\n },\n cdnFileId: {\n type: 'string',\n default: undefined\n },\n size: {\n type: 'string'\n },\n layout: {\n type: 'string',\n default: undefined\n },\n copyright: {\n type: 'string'\n },\n crop: {\n type: 'object',\n default: null\n },\n aspectRatio: {\n type: 'object',\n default: null\n },\n zoomImage: {\n type: 'object',\n default: null\n },\n magnification: {\n type: 'bool',\n default: false\n },\n caption: {\n type: 'string',\n default: undefined\n }\n });\n return settings;\n};\naddFilter('blocks.registerBlockType', 'extend-block-image/attribute/src', addSrcControlAttribute);\nfunction getCropOptions(image) {\n return [{\n label: __('---'),\n value: undefined\n }].concat(image && image.media_details && image.media_details.crops ? Object.keys(image.media_details.crops).map(key => {\n const crop = image.media_details.crops[key];\n return {\n label: __(crop.label + (crop.description ? ' - ' + crop.description : '')),\n value: crop.name\n };\n }) : []);\n}\nfunction getCopyright(image) {\n return image && image.media_fields ? lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_fields.field_copyright.value.value') : '';\n}\nfunction getDisplayCopyright(image) {\n return lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_fields.field_copyright_enable.value.value') === 'on' ? true : false;\n}\nfunction getCrop(image, cropName) {\n if (!image) return;\n const key = Object.keys(image.media_details.crops).find(key => {\n return image.media_details.crops[key].name === cropName;\n });\n if (key) return image.media_details.crops[key];\n}\n\n/**\n * Create HOC to add src attribute to block.\n */\nconst withSrcAttribute = createHigherOrderComponent(BlockEdit => {\n return props => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(props.name)) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(BlockEdit, props);\n }\n setTimeout(function () {\n disabledElements.forEach(el => {\n const temp = document.querySelectorAll(el.selector);\n temp.forEach(node => {\n if (el.text === node.innerText && !node.parentNode.className.includes('custom-hidden')) {\n node.parentNode.className += ' custom-hidden';\n }\n });\n });\n let imagesInGroup = document.querySelectorAll('.wp-block-image');\n imagesInGroup.forEach(image => {\n let closestGroup = image.closest('.wp-block-group');\n if (closestGroup) closestGroup.style['min-height'] = image.clientHeight + 10 + 'px';\n });\n if (props.attributes.layout === 'layout-column') {\n let imageWrapper = document.getElementById('block-' + props.clientId).parentNode;\n if (imageWrapper.dataset.align === 'left') {\n let nextSibl = imageWrapper.nextSibling;\n if (nextSibl.nodeName === 'P') {\n nextSibl.style.paddingLeft = sizeControlOptions.find(o => o.value === props.attributes.size).widthPx;\n nextSibl.style.paddingRight = '';\n }\n if (nextSibl.nodeName === 'DIV') {\n nextSibl.style.marginLeft = sizeControlOptions.find(o => o.value === props.attributes.size).widthPx;\n nextSibl.style.marginRight = '';\n }\n }\n if (imageWrapper.dataset.align === 'right') {\n let nextSibl = imageWrapper.nextSibling;\n if (nextSibl.nodeName === 'P') {\n nextSibl.style.paddingRight = sizeControlOptions.find(o => o.value === props.attributes.size).widthPx;\n nextSibl.style.paddingLeft = '';\n }\n if (nextSibl.nodeName === 'DIV') {\n nextSibl.style.marginRight = sizeControlOptions.find(o => o.value === props.attributes.size).widthPx;\n nextSibl.style.marginLeft = '';\n }\n }\n } else {\n let imageBlock = document.getElementById('block-' + props.clientId);\n let imageWrapper = imageBlock ? imageBlock.parentNode : undefined;\n if (imageWrapper && imageWrapper.dataset.align === 'left') {\n let nextSibl = imageWrapper.nextSibling;\n if (nextSibl.nodeName === 'P') {\n nextSibl.style.paddingLeft = '';\n }\n if (nextSibl.nodeName === 'DIV') {\n nextSibl.style.marginLeft = '';\n }\n }\n if (imageWrapper && imageWrapper.dataset.align === 'right') {\n let nextSibl = imageWrapper.nextSibling;\n if (nextSibl.nodeName === 'P') {\n nextSibl.style.paddingRight = '';\n }\n if (nextSibl.nodeName === 'DIV') {\n nextSibl.style.marginRight = '';\n }\n }\n }\n }, 500);\n const updateImageProps = (image, crop) => {\n if (typeof props.attributes.caption === 'object') {\n props.setAttributes({\n caption: props.attributes.caption.raw ? props.attributes.caption.raw : undefined\n });\n }\n if (image && image.media_details) {\n let crop = null;\n if (props.attributes.selectedCrop) {\n crop = getCrop(image, props.attributes.selectedCrop);\n } else if (props.attributes.crop) {\n crop = getCrop(image, props.attributes.crop.name);\n }\n let propsToUpdate = {\n id: image.id,\n url: crop ? crop.cdn_url : lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_details.crops.main.cdn_url'),\n cdnFileId: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_details.cdn_file_id'),\n width: undefined,\n height: undefined,\n sizeSlug: undefined,\n alt: props.attributes.alt ? props.attributes.alt : lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_fields.field_media_image.value.alt'),\n copyright: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_fields.field_copyright.value.value'),\n displayCopyright: getDisplayCopyright(image),\n size: !props.attributes.size ? sizeControlOptions.find(o => o.default).value : props.attributes.size,\n className: !props.attributes.size ? `custom-size-${sizeControlOptions.find(o => o.default).value}` : props.attributes.className,\n crop: crop && props.attributes.selectedCrop ? {\n name: crop.name,\n width: crop.width,\n height: crop.height,\n x: crop.x,\n y: crop.y\n } : props.attributes.crop,\n aspectRatio: {\n width: crop && crop.aspect_ratio ? crop.aspect_ratio.width : lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_details.width'),\n height: crop && crop.aspect_ratio ? crop.aspect_ratio.height : lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_details.height')\n },\n zoomImage: {\n url: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_details.cdn_url'),\n aspectRatio: {\n width: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_details.width'),\n height: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(image, 'media_details.height')\n }\n }\n };\n let reducedPropsToUpdate = lodash_reduce__WEBPACK_IMPORTED_MODULE_3___default()(propsToUpdate, function (result, value, key) {\n lodash_isequal__WEBPACK_IMPORTED_MODULE_2___default()(value, props.attributes[key]) && !!value ? false : result[key] || (result[key] = value);\n return result;\n }, {});\n if (Object.keys(reducedPropsToUpdate).length) {\n props.setAttributes(reducedPropsToUpdate);\n }\n }\n };\n const image = useSelect(select => {\n const {\n getMedia\n } = select('core');\n return props.attributes.id && props.isSelected ? getMedia(props.attributes.id) : null;\n }, [props.attributes.id, props.isSelected]);\n updateImageProps(image);\n const removeMedia = () => {\n props.setAttributes({\n id: 0,\n url: ''\n });\n };\n const blockStyle = {\n backgroundImage: props.attributes.mediaUrl != '' ? 'url(\"' + props.attributes.mediaUrl + '\")' : 'none'\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(BlockEdit, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(PanelBody, {\n title: __('Custom Control'),\n initialOpen: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(SelectControl, {\n label: __('Sizing'),\n value: props.attributes.size,\n options: sizeControlOptions,\n onChange: selectedsizeOption => {\n props.setAttributes({\n size: selectedsizeOption\n });\n props.setAttributes({\n className: `custom-size-${selectedsizeOption}`\n });\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(SelectControl, {\n label: __('Crop'),\n value: props.attributes.crop ? props.attributes.crop.name : undefined,\n options: getCropOptions(image),\n onChange: selectedCrop => {\n props.setAttributes({\n selectedCrop\n });\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(SelectControl, {\n label: __('Magnification'),\n value: props.attributes.magnification,\n options: [{\n label: __('DISABLED'),\n value: false\n }, {\n label: __('ENABLED'),\n value: true\n }],\n onChange: magnification => {\n props.setAttributes({\n magnification: magnification === 'true' ? true : false\n });\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(\"div\", {\n className: \"editor-post-featured-image\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(MediaUploadCheck, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(MediaUpload, {\n onSelect: updateImageProps,\n value: props.attributes.mediaId,\n allowedTypes: ['image'],\n render: ({\n open\n }) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(Button, {\n className: props.attributes.mediaId == 0 ? 'editor-post-featured-image__toggle' : 'editor-post-featured-image__preview',\n onClick: open\n }, props.attributes.mediaId == 0 && __('Choose an image', 'awp'), props.media != undefined && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(ResponsiveWrapper, {\n naturalWidth: props.media.media_details.width,\n naturalHeight: props.media.media_details.height\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(\"img\", {\n src: props.media.source_url\n })))\n })), props.attributes.mediaId != 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(MediaUploadCheck, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(MediaUpload, {\n title: __('Replace image', 'awp'),\n value: props.attributes.mediaId,\n onSelect: updateImageProps,\n allowedTypes: ['image'],\n render: ({\n open\n }) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(Button, {\n onClick: open,\n isDefault: true,\n isLarge: true\n }, __('Replace image', 'awp'))\n })), props.attributes.mediaId != 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(MediaUploadCheck, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(Button, {\n onClick: removeMedia,\n isLink: true,\n isDestructive: true\n }, __('Remove image', 'awp')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(Disabled, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(TextControl, {\n label: __('Copyright'),\n help: __('Could be changed in gallery'),\n value: getCopyright(image)\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(ToggleControl, {\n label: __('Display copyright'),\n help: __('Could be changed in gallery'),\n checked: getDisplayCopyright(image)\n })))));\n };\n}, 'withSrcAttribute');\naddFilter('editor.BlockEdit', 'extend-block-image/with-src-attribute', withSrcAttribute);\n\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\nconst addExtraProps = (saveElementProps, blockType, attributes) => {\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n wp.blocks.unregisterBlockStyle('core/image', 'rounded');\n wp.blocks.unregisterBlockStyle('core/image', 'default');\n return saveElementProps;\n};\naddFilter('blocks.getSaveContent.extraProps', 'extend-block-image/get-save-content/extra-props', addExtraProps);\n\n//# sourceURL=webpack:///./src/image/extend.js?"); /***/ }), @@ -457,7 +446,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash.get */ \"./node_modules/lodash.get/index.js\");\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_assignwith__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash.assignwith */ \"./node_modules/lodash.assignwith/index.js\");\n/* harmony import */ var lodash_assignwith__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_assignwith__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style.scss */ \"./src/image_gallery/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nconst {\n createHigherOrderComponent\n} = wp.compose;\nconst {\n InspectorControls\n} = wp.blockEditor;\nconst {\n Fragment\n} = wp.element;\nconst {\n addFilter\n} = wp.hooks;\nconst {\n PanelBody,\n TextControl,\n Disabled\n} = wp.components;\nconst {\n useSelect\n} = wp.data;\nconst {\n __\n} = wp.i18n; // Enable properties on the following blocks\n\nconst enableOnBlocks = [\"core/gallery\"];\nconst disabledElements = [{\n text: \"Images size\",\n selector: \".components-base-control__label\"\n}];\n/**\n * Add src attribute to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\n\nconst addSrcControlAttribute = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n }\n\n console.log(\"blocks.registerBlockType\"); // Use Lodash's assign to gracefully handle if attributes are undefined\n\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()(settings.attributes, {\n caption: {\n type: \"string\",\n default: \"\"\n },\n images: {\n type: \"array\",\n default: []\n }\n });\n return settings;\n};\n\naddFilter(\"blocks.registerBlockType\", \"extend-block-group/attribute/column-layout\", addSrcControlAttribute);\n/**\n * Create HOC to add src attribute to block.\n */\n\nconst withCustomFeatures = createHigherOrderComponent(BlockEdit => {\n return props => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(props.name)) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props);\n }\n\n setTimeout(function () {\n console.log(\"disable\");\n disabledElements.forEach(el => {\n console.log(el.selector);\n const temp = document.querySelectorAll(el.selector);\n console.log(temp);\n temp.forEach(node => {\n if (el.text === node.innerText && !node.parentNode.parentNode.className.includes(\"custom-hidden\")) {\n node.parentNode.parentNode.className += \" custom-hidden\";\n }\n });\n });\n }, 50);\n\n if (props.attributes.images && props.attributes.images.length) {\n let images = useSelect(select => {\n const {\n getMedia\n } = select(\"core\");\n return props.attributes.images ? props.attributes.images.map(i => getMedia(i.id)) : null;\n }, [props.attributes.images, props.attributes.images.map(i => i.id)]);\n let imagesReal = images.map((image, i) => {\n let storage = {};\n\n if (image) {\n if (typeof image.caption === \"object\") {\n storage.caption = image.caption.raw ? image.caption.raw : undefined;\n }\n\n storage.copyright = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(images, \"[\" + i + \"].media_fields.field_copyright.value.value\", \"\");\n const mediaDetails = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(images, \"[\" + i + \"].media_details\");\n\n if (mediaDetails) {\n storage.url = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(mediaDetails, \"crops.teaser.cdn_url\");\n storage.alt = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, \"media_fields.field_media_image.value.alt\");\n storage.cdnFileId = mediaDetails.cdn_file_id;\n storage.width = undefined;\n storage.height = undefined;\n storage.sizeSlug = undefined;\n storage.crop = null;\n storage.link = undefined;\n storage.aspectRatio = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(mediaDetails, \"crops.teaser.aspect_ratio\");\n storage.zoomImage = {\n url: mediaDetails.cdn_url,\n aspectRatio: {\n width: mediaDetails.width,\n height: mediaDetails.height\n }\n };\n }\n\n return storage;\n }\n });\n\n function customizer(objValue, srcValue) {\n return _.isUndefined(srcValue) ? objValue : srcValue;\n }\n\n lodash_assignwith__WEBPACK_IMPORTED_MODULE_3___default()(props.attributes.images, imagesReal, customizer);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __(\"Copyright Info\"),\n initialOpen: true\n }, props.attributes.images.map((item, index) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Disabled, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TextControl, {\n key: index,\n label: __( true ? item.id : undefined),\n help: __(\"can be changed in media library\"),\n value: item.copyright\n }))))));\n };\n}, \"withCustomFeatures\");\naddFilter(\"editor.BlockEdit\", \"extend-block-gallery/with-custom-features\", withCustomFeatures);\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\n\nconst addExtraProps = (saveElementProps, blockType, attributes) => {\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n\n wp.blocks.unregisterBlockStyle(\"core/image\", \"rounded\");\n wp.blocks.unregisterBlockStyle(\"core/image\", \"default\"); // saveElementProps.className += attributes.classNameZoom ? attributes.classNameZoom : '';\n\n return saveElementProps;\n};\n\naddFilter(\"blocks.getSaveContent.extraProps\", \"extend-block-image/get-save-content/extra-props\", addExtraProps);\n\n//# sourceURL=webpack:///./src/image_gallery/extend.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_assignwith__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.assignwith */ \"./node_modules/lodash.assignwith/index.js\");\n/* harmony import */ var lodash_assignwith__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assignwith__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash.get */ \"./node_modules/lodash.get/index.js\");\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style.scss */ \"./src/image_gallery/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nconst {\n createHigherOrderComponent\n} = wp.compose;\nconst {\n InspectorControls\n} = wp.blockEditor;\nconst {\n Fragment\n} = wp.element;\nconst {\n addFilter\n} = wp.hooks;\nconst {\n PanelBody,\n TextControl,\n Disabled,\n ToggleControl\n} = wp.components;\nconst {\n useSelect\n} = wp.data;\nconst {\n __\n} = wp.i18n;\n\n// Enable properties on the following blocks\nconst enableOnBlocks = ['core/gallery'];\nconst disabledElements = [{\n text: 'Images size',\n selector: '.components-base-control__label'\n}];\n\n/**\n * Add src attribute to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\nconst addSrcControlAttribute = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n }\n\n // Use Lodash's assign to gracefully handle if attributes are undefined\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_0___default()(settings.attributes, {\n caption: {\n type: 'string',\n default: ''\n },\n images: {\n type: 'array',\n default: []\n }\n });\n return settings;\n};\naddFilter('blocks.registerBlockType', 'extend-block-group/attribute/column-layout', addSrcControlAttribute);\n\n/**\n * Create HOC to add src attribute to block.\n */\nconst withCustomFeatures = createHigherOrderComponent(BlockEdit => {\n return props => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(props.name)) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(BlockEdit, props);\n }\n setTimeout(function () {\n console.log('disable');\n disabledElements.forEach(el => {\n console.log(el.selector);\n const temp = document.querySelectorAll(el.selector);\n console.log(temp);\n temp.forEach(node => {\n if (el.text === node.innerText && !node.parentNode.parentNode.className.includes('custom-hidden')) {\n node.parentNode.parentNode.className += ' custom-hidden';\n }\n });\n });\n }, 50);\n if (props.attributes.images && props.attributes.images.length) {\n let images = useSelect(select => {\n const {\n getMedia\n } = select('core');\n return props.attributes.images ? props.attributes.images.map(i => getMedia(i.id)) : null;\n }, [props.attributes.images, props.attributes.images.map(i => i.id)]);\n let imagesReal = images.map((image, i) => {\n let storage = {};\n if (image) {\n if (typeof image.caption === 'object') {\n storage.caption = image.caption.raw ? image.caption.raw : undefined;\n }\n storage.copyright = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(images, '[' + i + '].media_fields.field_copyright.value.value', '');\n storage.displayCopyright = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(images, '[' + i + '].media_fields.field_copyright_enable.value.value', '') === 'on' ? true : false;\n const mediaDetails = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(images, '[' + i + '].media_details');\n if (mediaDetails) {\n storage.url = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(mediaDetails, 'crops.teaser.cdn_url');\n storage.alt = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(image, 'media_fields.field_media_image.value.alt');\n storage.cdnFileId = mediaDetails.cdn_file_id;\n storage.width = undefined;\n storage.height = undefined;\n storage.sizeSlug = undefined;\n storage.crop = null;\n storage.link = undefined;\n storage.aspectRatio = lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(mediaDetails, 'crops.teaser.aspect_ratio');\n storage.zoomImage = {\n url: mediaDetails.cdn_url,\n aspectRatio: {\n width: mediaDetails.width,\n height: mediaDetails.height\n }\n };\n }\n return storage;\n }\n });\n function customizer(objValue, srcValue) {\n return _.isUndefined(srcValue) ? objValue : srcValue;\n }\n lodash_assignwith__WEBPACK_IMPORTED_MODULE_1___default()(props.attributes.images, imagesReal, customizer);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(BlockEdit, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(InspectorControls, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(PanelBody, {\n title: __('Copyright Info'),\n initialOpen: true\n }, props.attributes.images.map((item, index) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Disabled, {\n key: index\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(TextControl, {\n label: __( true ? item.id : undefined),\n help: __('can be changed in media library'),\n value: item.copyright\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(ToggleControl, {\n label: __( true ? item.id : undefined),\n help: __('can be changed in media library'),\n checked: item.displayCopyright\n }))))));\n };\n}, 'withCustomFeatures');\naddFilter('editor.BlockEdit', 'extend-block-gallery/with-custom-features', withCustomFeatures);\n\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\nconst addExtraProps = (saveElementProps, blockType, attributes) => {\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n wp.blocks.unregisterBlockStyle('core/image', 'rounded');\n wp.blocks.unregisterBlockStyle('core/image', 'default');\n\n // saveElementProps.className += attributes.classNameZoom ? attributes.classNameZoom : '';\n\n return saveElementProps;\n};\naddFilter('blocks.getSaveContent.extraProps', 'extend-block-image/get-save-content/extra-props', addExtraProps);\n\n//# sourceURL=webpack:///./src/image_gallery/extend.js?"); /***/ }), @@ -480,7 +469,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerBlocks\", function() { return registerBlocks; });\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _accordion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./accordion */ \"./src/accordion/index.js\");\n/* harmony import */ var _accordion_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./accordion-item */ \"./src/accordion-item/index.js\");\n/* harmony import */ var _branding__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./branding */ \"./src/branding/index.js\");\n/* harmony import */ var _checklist__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./checklist */ \"./src/checklist/index.js\");\n/* harmony import */ var _cta__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cta */ \"./src/cta/index.js\");\n/* harmony import */ var _highlight__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./highlight */ \"./src/highlight/index.js\");\n/* harmony import */ var _iframe__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./iframe */ \"./src/iframe/index.js\");\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./header */ \"./src/header/index.js\");\n/* harmony import */ var _media_text__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./media_text */ \"./src/media_text/index.js\");\n/* harmony import */ var _image_extend__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./image/extend */ \"./src/image/extend.js\");\n/* harmony import */ var _file_extend__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./file/extend */ \"./src/file/extend.js\");\n/* harmony import */ var _group_extend__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./group/extend */ \"./src/group/extend.js\");\n/* harmony import */ var _image_gallery_extend__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./image_gallery/extend */ \"./src/image_gallery/extend.js\");\n/* harmony import */ var _list_extend__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./list/extend */ \"./src/list/extend.js\");\n/* harmony import */ var _common_extend_disableDefaultStylePicker__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./common/extend/disableDefaultStylePicker */ \"./src/common/extend/disableDefaultStylePicker.js\");\n/* harmony import */ var _common_common_scss__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./common/common.scss */ \"./src/common/common.scss\");\n/* harmony import */ var _common_common_scss__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_common_common_scss__WEBPACK_IMPORTED_MODULE_16__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst {\n registerBlockType\n} = wp__WEBPACK_IMPORTED_MODULE_0__[\"blocks\"];\nconst {\n dispatch,\n select\n} = wp__WEBPACK_IMPORTED_MODULE_0__[\"data\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_0__[\"i18n\"];\nconst colBlocks = [_accordion__WEBPACK_IMPORTED_MODULE_1__, _accordion_item__WEBPACK_IMPORTED_MODULE_2__, _branding__WEBPACK_IMPORTED_MODULE_3__, _checklist__WEBPACK_IMPORTED_MODULE_4__, _cta__WEBPACK_IMPORTED_MODULE_5__, _highlight__WEBPACK_IMPORTED_MODULE_6__, _iframe__WEBPACK_IMPORTED_MODULE_7__, _header__WEBPACK_IMPORTED_MODULE_8__, _media_text__WEBPACK_IMPORTED_MODULE_9__]; // Category name and slug\n\nconst category = {\n slug: 'coliquio',\n // needs to match the css class of the block container: \".wp-block-coliquio-[block-name]\"\n title: __('coliquio Blocks')\n}; // Register the new category and blocks\n\nfunction registerBlocks() {\n const currentCategories = select('core/blocks').getCategories().filter(item => item.slug !== category.slug);\n dispatch('core/blocks').setCategories([category, ...currentCategories]);\n colBlocks.forEach(block => {\n registerBlockType(`${category.slug}/${block.name}`, {\n category: category.slug,\n ...block.settings\n });\n });\n}\nregisterBlocks();\n\n//# sourceURL=webpack:///./src/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerBlocks\", function() { return registerBlocks; });\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _accordion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./accordion */ \"./src/accordion/index.js\");\n/* harmony import */ var _accordion_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./accordion-item */ \"./src/accordion-item/index.js\");\n/* harmony import */ var _branding__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./branding */ \"./src/branding/index.js\");\n/* harmony import */ var _checklist__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./checklist */ \"./src/checklist/index.js\");\n/* harmony import */ var _cta__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cta */ \"./src/cta/index.js\");\n/* harmony import */ var _highlight__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./highlight */ \"./src/highlight/index.js\");\n/* harmony import */ var _iframe__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./iframe */ \"./src/iframe/index.js\");\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./header */ \"./src/header/index.js\");\n/* harmony import */ var _media_text__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./media_text */ \"./src/media_text/index.js\");\n/* harmony import */ var _image_extend__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./image/extend */ \"./src/image/extend.js\");\n/* harmony import */ var _file_extend__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./file/extend */ \"./src/file/extend.js\");\n/* harmony import */ var _group_extend__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./group/extend */ \"./src/group/extend.js\");\n/* harmony import */ var _image_gallery_extend__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./image_gallery/extend */ \"./src/image_gallery/extend.js\");\n/* harmony import */ var _list_extend__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./list/extend */ \"./src/list/extend.js\");\n/* harmony import */ var _common_extend_disableDefaultStylePicker__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./common/extend/disableDefaultStylePicker */ \"./src/common/extend/disableDefaultStylePicker.js\");\n/* harmony import */ var _common_common_scss__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./common/common.scss */ \"./src/common/common.scss\");\n/* harmony import */ var _common_common_scss__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_common_common_scss__WEBPACK_IMPORTED_MODULE_16__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst {\n registerBlockType\n} = wp__WEBPACK_IMPORTED_MODULE_0__[\"blocks\"];\nconst {\n dispatch,\n select\n} = wp__WEBPACK_IMPORTED_MODULE_0__[\"data\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_0__[\"i18n\"];\nconst colBlocks = [_accordion__WEBPACK_IMPORTED_MODULE_1__, _accordion_item__WEBPACK_IMPORTED_MODULE_2__, _branding__WEBPACK_IMPORTED_MODULE_3__, _checklist__WEBPACK_IMPORTED_MODULE_4__, _cta__WEBPACK_IMPORTED_MODULE_5__, _highlight__WEBPACK_IMPORTED_MODULE_6__, _iframe__WEBPACK_IMPORTED_MODULE_7__, _header__WEBPACK_IMPORTED_MODULE_8__, _media_text__WEBPACK_IMPORTED_MODULE_9__];\n\n// Category name and slug\nconst category = {\n slug: 'coliquio',\n // needs to match the css class of the block container: \".wp-block-coliquio-[block-name]\"\n title: __('coliquio Blocks')\n};\n\n// Register the new category and blocks\nfunction registerBlocks() {\n const currentCategories = select('core/blocks').getCategories().filter(item => item.slug !== category.slug);\n dispatch('core/blocks').setCategories([category, ...currentCategories]);\n colBlocks.forEach(block => {\n registerBlockType(`${category.slug}/${block.name}`, {\n category: category.slug,\n ...block.settings\n });\n });\n}\nregisterBlocks();\n\n//# sourceURL=webpack:///./src/index.js?"); /***/ }), @@ -492,7 +481,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style.scss */ \"./src/list/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nconst {\n createHigherOrderComponent\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"compose\"];\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"element\"];\nconst {\n addFilter\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"hooks\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"i18n\"];\nconst {\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"blockEditor\"];\nconst {\n PanelBody,\n ToggleControl\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"components\"]; // Enable properties on the following blocks\n\nconst enableOnBlocks = ['core/list'];\n/**\n * Add src attribute to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\n\nconst addSrcControlAttribute = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n } // Use Lodash's assign to gracefully handle if attributes are undefined\n\n\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()(settings.attributes, {\n customEnumeration: {\n type: 'boolean',\n default: false\n },\n className: {\n type: 'string',\n default: ''\n }\n });\n return settings;\n};\n\naddFilter('blocks.registerBlockType', 'extend-block-group/attribute/extend-styles', addSrcControlAttribute);\n/**\n * Create HOC to add src attribute to block.\n */\n\nconst withSrcAttribute = createHigherOrderComponent(BlockEdit => {\n return props => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(props.name)) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props);\n }\n\n const {\n customEnumeration\n } = props.attributes;\n let pannelControl;\n\n if (props.attributes.ordered) {\n props.setAttributes({\n customChecked: false,\n className: props.attributes.className.replace('rich__list--checked', '')\n });\n pannelControl = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('Style Controls'),\n initialOpen: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ToggleControl, {\n label: \"Numbered sublists\",\n help: \"1 1.1 1.1.1\",\n checked: customEnumeration // eslint-disable-next-line no-shadow\n ,\n onChange: customEnumeration => {\n props.setAttributes({\n customEnumeration: !!customEnumeration,\n className: customEnumeration ? 'rich__list--enumerated' : ''\n });\n }\n }));\n }\n\n if (!props.attributes.ordered) {\n props.setAttributes({\n customEnumeration: false,\n className: props.attributes.className.replace('rich__list--enumerated', '')\n });\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, pannelControl));\n };\n}, 'withSrcAttribute');\naddFilter('editor.BlockEdit', 'extend-block-group/with-column-layout', withSrcAttribute);\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\n\nconst addSizeExtraProps = (saveElementProps, blockType) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n\n return saveElementProps;\n};\n\naddFilter('blocks.getSaveContent.extraProps', 'extend-block-group/get-save-content/extra-props', addSizeExtraProps);\n\n//# sourceURL=webpack:///./src/list/extend.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.assign */ \"./node_modules/lodash.assign/index.js\");\n/* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style.scss */ \"./src/list/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nconst {\n createHigherOrderComponent\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"compose\"];\nconst {\n Fragment\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"element\"];\nconst {\n addFilter\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"hooks\"];\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"i18n\"];\nconst {\n InspectorControls\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"blockEditor\"];\nconst {\n PanelBody,\n ToggleControl\n} = wp__WEBPACK_IMPORTED_MODULE_2__[\"components\"];\n\n// Enable properties on the following blocks\nconst enableOnBlocks = ['core/list'];\n\n/**\n * Add src attribute to block.\n *\n * @param {object} settings Current block settings.\n * @param {string} name Name of block.\n *\n * @returns {object} Modified block settings.\n */\nconst addSrcControlAttribute = (settings, name) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(name)) {\n return settings;\n }\n\n // Use Lodash's assign to gracefully handle if attributes are undefined\n settings.attributes = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()(settings.attributes, {\n customEnumeration: {\n type: 'boolean',\n default: false\n },\n className: {\n type: 'string',\n default: ''\n }\n });\n return settings;\n};\naddFilter('blocks.registerBlockType', 'extend-block-group/attribute/extend-styles', addSrcControlAttribute);\n\n/**\n * Create HOC to add src attribute to block.\n */\nconst withSrcAttribute = createHigherOrderComponent(BlockEdit => {\n return props => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(props.name)) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props);\n }\n const {\n customEnumeration\n } = props.attributes;\n let pannelControl;\n if (props.attributes.ordered) {\n props.setAttributes({\n customChecked: false,\n className: props.attributes.className.replace('rich__list--checked', '')\n });\n pannelControl = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PanelBody, {\n title: __('Style Controls'),\n initialOpen: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ToggleControl, {\n label: \"Numbered sublists\",\n help: \"1 1.1 1.1.1\",\n checked: customEnumeration\n // eslint-disable-next-line no-shadow\n ,\n onChange: customEnumeration => {\n props.setAttributes({\n customEnumeration: !!customEnumeration,\n className: customEnumeration ? 'rich__list--enumerated' : ''\n });\n }\n }));\n }\n if (!props.attributes.ordered) {\n props.setAttributes({\n customEnumeration: false,\n className: props.attributes.className.replace('rich__list--enumerated', '')\n });\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BlockEdit, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InspectorControls, null, pannelControl));\n };\n}, 'withSrcAttribute');\naddFilter('editor.BlockEdit', 'extend-block-group/with-column-layout', withSrcAttribute);\n\n/**\n * Add margin style attribute to save element of block.\n *\n * @param {object} saveElementProps Props of save element.\n * @param {Object} blockType Block type information.\n * @param {Object} attributes Attributes of block.\n *\n * @returns {object} Modified props of save element.\n */\nconst addSizeExtraProps = (saveElementProps, blockType) => {\n // Do nothing if it's another block than our defined ones.\n if (!enableOnBlocks.includes(blockType.name)) {\n return saveElementProps;\n }\n return saveElementProps;\n};\naddFilter('blocks.getSaveContent.extraProps', 'extend-block-group/get-save-content/extra-props', addSizeExtraProps);\n\n//# sourceURL=webpack:///./src/list/extend.js?"); /***/ }), @@ -515,7 +504,7 @@ eval("// removed by extract-text-webpack-plugin\n\n//# sourceURL=webpack:///./sr /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/media_text/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n InnerBlocks\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"editor\"];\nconst name = 'media-text';\nconst settings = {\n title: __('Media & RichText'),\n description: __('Custom media and rich text component'),\n icon: 'excerpt-view',\n\n edit() {\n const allowedBlocks = ['core/paragraph', 'core/heading', 'core/column', 'core/image', 'core/group'],\n template = [['core/image', {}, []], ['core/paragraph', {}, []]];\n console.log('edit');\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"section\", {\n className: 'wp-block--coliquio media-rich-text'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, {\n allowedBlocks: allowedBlocks,\n template: template\n }));\n },\n\n save() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"section\", {\n className: 'wp-block--coliquio media-rich-text'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null));\n }\n\n};\n\n//# sourceURL=webpack:///./src/media_text/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp */ \"wp\");\n/* harmony import */ var wp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./src/media_text/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst {\n __\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"i18n\"];\nconst {\n InnerBlocks\n} = wp__WEBPACK_IMPORTED_MODULE_1__[\"editor\"];\nconst name = 'media-text';\nconst settings = {\n title: __('Media & RichText'),\n description: __('Custom media and rich text component'),\n icon: 'excerpt-view',\n edit() {\n const allowedBlocks = ['core/paragraph', 'core/heading', 'core/column', 'core/image', 'core/group'],\n template = [['core/image', {}, []], ['core/paragraph', {}, []]];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"section\", {\n className: 'wp-block--coliquio media-rich-text'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks, {\n allowedBlocks: allowedBlocks,\n template: template\n }));\n },\n save() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"section\", {\n className: 'wp-block--coliquio media-rich-text'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InnerBlocks.Content, null));\n }\n};\n\n//# sourceURL=webpack:///./src/media_text/index.js?"); /***/ }), diff --git a/integration_build/scripts.js b/integration_build/scripts.js index fd52f1c..5893f9e 100644 --- a/integration_build/scripts.js +++ b/integration_build/scripts.js @@ -103,7 +103,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! no static exports found */ /***/ (function(module, exports) { -eval("/**\n * Frontend script\n */\nconst gallery = document.getElementsByClassName('wp-block-coliquio-image-gallery');\nconst iFrame = document.getElementsByClassName('wp-block-coliquio-iframe');\n/**\n * Gallery Block\n */\n\nfunction onOpenGallery() {\n gallery[0].getElementsByClassName('image-gallery-overlay')[0].style.display = 'block';\n document.querySelectorAll('.btn-close-gallery').forEach(node => node.addEventListener('click', onCloseGallery));\n}\n\nfunction onCloseGallery() {\n gallery[0].getElementsByClassName('image-gallery-overlay')[0].style.display = 'none';\n document.querySelectorAll('.btn-close-gallery').forEach(node => node.removeEventListener('click', onCloseGallery));\n}\n\nif (gallery.length > 0) {\n gallery[0].getElementsByClassName('btn-open-gallery')[0].addEventListener('click', onOpenGallery);\n}\n/**\n * iFrame Block\n */\n\n\nif (iFrame.length > 0) {\n const iFrameNode = iFrame[0]; // Only run script if set to 'dynamic'\n\n if (iFrameNode.height === 0) {\n window.addEventListener('message', function (e) {\n const eventName = e.data[0];\n const height = e.data[1];\n\n switch (eventName) {\n case 'setHeight':\n // +2 to compensate for the border\n iFrameNode.height = height + 2;\n break;\n }\n }, false);\n }\n}\n\n//# sourceURL=webpack:///./src/scripts.js?"); +eval("/**\n * Frontend script\n */\n\nconst gallery = document.getElementsByClassName('wp-block-coliquio-image-gallery');\nconst iFrame = document.getElementsByClassName('wp-block-coliquio-iframe');\n\n/**\n * Gallery Block\n */\nfunction onOpenGallery() {\n gallery[0].getElementsByClassName('image-gallery-overlay')[0].style.display = 'block';\n document.querySelectorAll('.btn-close-gallery').forEach(node => node.addEventListener('click', onCloseGallery));\n}\nfunction onCloseGallery() {\n gallery[0].getElementsByClassName('image-gallery-overlay')[0].style.display = 'none';\n document.querySelectorAll('.btn-close-gallery').forEach(node => node.removeEventListener('click', onCloseGallery));\n}\nif (gallery.length > 0) {\n gallery[0].getElementsByClassName('btn-open-gallery')[0].addEventListener('click', onOpenGallery);\n}\n\n/**\n * iFrame Block\n */\nif (iFrame.length > 0) {\n const iFrameNode = iFrame[0];\n\n // Only run script if set to 'dynamic'\n if (iFrameNode.height === 0) {\n window.addEventListener('message', function (e) {\n const eventName = e.data[0];\n const height = e.data[1];\n switch (eventName) {\n case 'setHeight':\n // +2 to compensate for the border\n iFrameNode.height = height + 2;\n break;\n }\n }, false);\n }\n}\n\n//# sourceURL=webpack:///./src/scripts.js?"); /***/ }) diff --git a/integration_build/style.css b/integration_build/style.css index d87a2a6..7c9c4ef 100644 --- a/integration_build/style.css +++ b/integration_build/style.css @@ -1,41 +1,3 @@ -[data-type="coliquio/cta"] { - clear: both; } - -.wp-block-coliquio-cta { - background-color: var(--green-base); - border: 1px solid var(--green-base); - border-radius: 4px; - color: var(--white-base); - cursor: pointer; - display: inline-block; - font-size: 1.125rem; - font-weight: 400; - margin-bottom: 0.25rem; - outline: 0; - padding: 0.5rem 1rem; - text-align: center; - text-decoration: none; - vertical-align: middle; } - .wp-block-coliquio-cta[contenteditable] { - cursor: text; } - .wp-block-coliquio-cta:active, .wp-block-coliquio-cta:hover { - background-color: var(--green-darken-10); - border: 1px solid var(--black-lighten-20); - color: var(--white-base); - text-decoration: none; } - .wp-block-coliquio-cta--link { - background: none; - border: 1px solid var(--black-lighten-20); - color: var(--black-lighten-20); } - .wp-block-coliquio-cta--link:active, .wp-block-coliquio-cta--link:hover { - background: var(--black-lighten-70); - color: var(--black-lighten-20); } - -.components-panel__body .components-base-control__field .components-radio-control__option { - display: flex; } - -.components-panel__body .components-base-control__field .components-radio-control__input { - padding: 0; } .wp-block-coliquio-accordion { padding: 15px; } .wp-block-coliquio-accordion .accordion-header { @@ -47,6 +9,61 @@ padding: 5px; } .accordion-component .accordion-component-header { font-size: 26px; } +:root { + --white-base: #ffffff; + + --black-darken-20: #000000; + --black-darken-10: #1A1A1A; + --black-base: #333333; + --black-lighten-10: #4D4D4D; + --black-lighten-20: #666666; + --black-lighten-30: #808080; + --black-lighten-40: #999999; + --black-lighten-50: #B3B3B3; + --black-lighten-60: #CCCCCC; + --black-lighten-70: #E6E6E6; + --black-lighten-75: #F2F2F2; + + --blue-darken-35: #091F2F; + --blue-darken-30: #0D2D45; + --blue-darken-20: #154A6F; + --blue-darken-10: #1D669A; + --blue-base: #2581C4; + --blue-accent: #007AFF; + --blue-lighten-10: #439CDB; + --blue-lighten-20: #6DB2E3; + --blue-lighten-30: #98C9EB; + --blue-lighten-40: #C3DFF4; + --blue-lighten-50: #F2F8FD; + + --green-darken-20: #376119; + --green-darken-10: #4E8A24; + --green-base: #65B32E; + --green-lighten-10: #7ECF44; + --green-lighten-20: #9AD96D; + --green-lighten-30: #B6E496; + --green-lighten-40: #D2EEBE; + + --red-darken-30: #471010; + --red-darken-25: #5B1515; + --red-darken-20: #701919; + --red-darken-10: #9A2323; + --red-base: #C42D2D; + --red-lighten-10: #D64C4C; + --red-lighten-20: #E07676; + --red-lighten-30: #E99F9F; + --red-lighten-40: #F3C9C9; + + --orange-darken-35: #522E00; + --orange-darken-30: #6B3D00; + --orange-darken-20: #9E5A00; + --orange-darken-10: #D17600; + --orange-base: #FF9105; + --orange-lighten-10: #FFA938; + --orange-lighten-20: #FFBF6B; + --orange-lighten-30: #FFD59E; + --orange-lighten-40: #FFEBD1; +} .block-editor-block-list__block[data-type="coliquio/branding-box"] { clear: both; } .block-editor-block-list__block[data-type="coliquio/branding-box"] .wp-block-coliquio-branding-box { @@ -107,6 +124,63 @@ article .wp-block-coliquio-branding-box { position: absolute; top: 5px; width: 16px; } +.wp-block-coliquio-highlight { + margin: 15px 0; } + .wp-block-coliquio-highlight .title { + border-radius: 6px 6px 0 0; + font-weight: 600; + padding: 10px 15px; } + .wp-block-coliquio-highlight .content { + border-radius: 0 0 6px 6px; + padding: 1px 15px 5px; } + .wp-block-coliquio-highlight.card--primary .title { + color: var(--black-base); } + .wp-block-coliquio-highlight.card--primary .content { + background-color: var(--black-lighten-75); + border-radius: 6px; } + .wp-block-coliquio-highlight.card--secondary .title { + background-color: var(--blue-base); + color: var(--white-base); } + .wp-block-coliquio-highlight.card--secondary .content { + background-color: var(--blue-lighten-50); } +[data-type="coliquio/cta"] { + clear: both; } + +.wp-block-coliquio-cta { + background-color: var(--green-base); + border: 1px solid var(--green-base); + border-radius: 4px; + color: var(--white-base); + cursor: pointer; + display: inline-block; + font-size: 1.125rem; + font-weight: 400; + margin-bottom: 0.25rem; + outline: 0; + padding: 0.5rem 1rem; + text-align: center; + text-decoration: none; + vertical-align: middle; } + .wp-block-coliquio-cta[contenteditable] { + cursor: text; } + .wp-block-coliquio-cta:active, .wp-block-coliquio-cta:hover { + background-color: var(--green-darken-10); + border: 1px solid var(--black-lighten-20); + color: var(--white-base); + text-decoration: none; } + .wp-block-coliquio-cta--link { + background: none; + border: 1px solid var(--black-lighten-20); + color: var(--black-lighten-20); } + .wp-block-coliquio-cta--link:active, .wp-block-coliquio-cta--link:hover { + background: var(--black-lighten-70); + color: var(--black-lighten-20); } + +.components-panel__body .components-base-control__field .components-radio-control__option { + display: flex; } + +.components-panel__body .components-base-control__field .components-radio-control__input { + padding: 0; } article .wp-block-coliquio-accordion-item { background-color: transparent; border-left: none; @@ -171,86 +245,6 @@ article summary { padding: 15px 5px; } .accordion-item-component .accordion-item-header { font-size: 18px; } -.wp-block-coliquio-iframe { - margin: 15px 0; - min-height: 300px; - width: 100%; } - .wp-block-coliquio-iframe.iframe, .wp-block-coliquio-iframe.iframe-survey { - border: 1px solid var(--black-lighten-40); } -.wp-block-coliquio-highlight { - margin: 15px 0; } - .wp-block-coliquio-highlight .title { - border-radius: 6px 6px 0 0; - font-weight: 600; - padding: 10px 15px; } - .wp-block-coliquio-highlight .content { - border-radius: 0 0 6px 6px; - padding: 1px 15px 5px; } - .wp-block-coliquio-highlight.card--primary .title { - color: var(--black-base); } - .wp-block-coliquio-highlight.card--primary .content { - background-color: var(--black-lighten-75); - border-radius: 6px; } - .wp-block-coliquio-highlight.card--secondary .title { - background-color: var(--blue-base); - color: var(--white-base); } - .wp-block-coliquio-highlight.card--secondary .content { - background-color: var(--blue-lighten-50); } -:root { - --white-base: #ffffff; - - --black-darken-20: #000000; - --black-darken-10: #1A1A1A; - --black-base: #333333; - --black-lighten-10: #4D4D4D; - --black-lighten-20: #666666; - --black-lighten-30: #808080; - --black-lighten-40: #999999; - --black-lighten-50: #B3B3B3; - --black-lighten-60: #CCCCCC; - --black-lighten-70: #E6E6E6; - --black-lighten-75: #F2F2F2; - - --blue-darken-35: #091F2F; - --blue-darken-30: #0D2D45; - --blue-darken-20: #154A6F; - --blue-darken-10: #1D669A; - --blue-base: #2581C4; - --blue-accent: #007AFF; - --blue-lighten-10: #439CDB; - --blue-lighten-20: #6DB2E3; - --blue-lighten-30: #98C9EB; - --blue-lighten-40: #C3DFF4; - --blue-lighten-50: #F2F8FD; - - --green-darken-20: #376119; - --green-darken-10: #4E8A24; - --green-base: #65B32E; - --green-lighten-10: #7ECF44; - --green-lighten-20: #9AD96D; - --green-lighten-30: #B6E496; - --green-lighten-40: #D2EEBE; - - --red-darken-30: #471010; - --red-darken-25: #5B1515; - --red-darken-20: #701919; - --red-darken-10: #9A2323; - --red-base: #C42D2D; - --red-lighten-10: #D64C4C; - --red-lighten-20: #E07676; - --red-lighten-30: #E99F9F; - --red-lighten-40: #F3C9C9; - - --orange-darken-35: #522E00; - --orange-darken-30: #6B3D00; - --orange-darken-20: #9E5A00; - --orange-darken-10: #D17600; - --orange-base: #FF9105; - --orange-lighten-10: #FFA938; - --orange-lighten-20: #FFBF6B; - --orange-lighten-30: #FFD59E; - --orange-lighten-40: #FFEBD1; -} section.wp-block-coliquio-media-text { display: flex; flex-direction: row; @@ -263,6 +257,12 @@ section.wp-block-coliquio-media-text { section.wp-block-coliquio-media-text .wp-block-group { display: flex; flex: 50%; } +.wp-block-coliquio-iframe { + margin: 15px 0; + min-height: 300px; + width: 100%; } + .wp-block-coliquio-iframe.iframe, .wp-block-coliquio-iframe.iframe-survey { + border: 1px solid var(--black-lighten-40); } .header-valid { color: var(--green-base); font-weight: bold; } @@ -319,6 +319,79 @@ article h1.wp-block-coliquio-header { margin-bottom: 0.25rem; } article h1.wp-block-coliquio-header span.headline { margin-bottom: 0; } +.wp-block-file { + background-color: var(--green-base); + border: 1px solid var(--green-base); + border-radius: 4px; + color: var(--white-base); + cursor: pointer; + display: inline-block; + font-size: 1.125rem; + font-weight: 400; + margin-bottom: 0.25rem; + outline: 0; + padding: 0.5rem 1rem; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: text; } + .wp-block-file:active, .wp-block-file:hover { + background-color: var(--green-darken-10); + border: 1px solid var(--black-lighten-20); + color: var(--white-base); + text-decoration: none; } + .wp-block-file.is-style-link { + background: none; + border: 1px solid var(--black-lighten-20); + color: var(--black-lighten-20); } + .wp-block-file.is-style-link:active, .wp-block-file.is-style-link:hover { + background: var(--black-lighten-70); + color: var(--black-lighten-20); } + .wp-block-file .wp-block-file__copy-url-button, + .wp-block-file .wp-block-file__button-richtext-wrapper { + display: none; } +.block-editor-block-list__layout ol, +.block-editor-block-list__layout ul { + padding: 5px 0 0 40px; } + .block-editor-block-list__layout ol li, + .block-editor-block-list__layout ul li { + margin-bottom: 9px; } + +.block-editor-block-list__layout ol.rich__list--enumerated, +.block-editor-block-list__layout ol.rich__list--enumerated ol { + counter-reset: item; + list-style-type: none; + padding: 5px 0 0 40px; } + .block-editor-block-list__layout ol.rich__list--enumerated > li, + .block-editor-block-list__layout ol.rich__list--enumerated ol > li { + counter-increment: item; + display: table; + margin-bottom: 0.6em; } + .block-editor-block-list__layout ol.rich__list--enumerated > li::before, + .block-editor-block-list__layout ol.rich__list--enumerated ol > li::before { + content: counters(item, ".") ". "; + display: table-cell; + padding-right: 0.6em; } + .block-editor-block-list__layout ol.rich__list--enumerated > li ol li, + .block-editor-block-list__layout ol.rich__list--enumerated ol > li ol li { + margin: 0; } + .block-editor-block-list__layout ol.rich__list--enumerated > li ol li::before, + .block-editor-block-list__layout ol.rich__list--enumerated ol > li ol li::before { + content: counters(item, ".") " "; } + +.block-editor-block-list__layout ul.rich__list--checked { + list-style-type: none; } + .block-editor-block-list__layout ul.rich__list--checked li { + display: table; } + .block-editor-block-list__layout ul.rich__list--checked li::before { + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU2LjcgNTYuNyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNTYuNyA1Ni43IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cG9seWdvbiBmaWxsPSIjNjViMzJlIiBwb2ludHM9IjI0LjUsNDYuMyA2LjMsMjguMiAxMi40LDIyLjEgMzAsMzkuOCAgIi8+Cgk8cG9seWdvbiBmaWxsPSIjNjViMzJlIiBwb2ludHM9IjE5LDM5LjggNDQuNSwxMS4yIDUwLjgsMTYuOSAyNC41LDQ2LjQgICIvPgo8L2c+Cjwvc3ZnPg==); + background-position-x: center; + background-repeat: no-repeat; + content: ""; + display: table-cell; + height: 16px; + padding-right: 0.6em; + width: 18px; } .block-editor-block-list__layout .wp-block-coliquio-image { margin: 15px 0; } .block-editor-block-list__layout .wp-block-coliquio-image.align-left { @@ -467,83 +540,10 @@ article .wp-block-image .alignright { article .wp-block-image .alignleft { display: block; float: left; } -.wp-block-file { - background-color: var(--green-base); - border: 1px solid var(--green-base); - border-radius: 4px; - color: var(--white-base); - cursor: pointer; - display: inline-block; - font-size: 1.125rem; - font-weight: 400; - margin-bottom: 0.25rem; - outline: 0; - padding: 0.5rem 1rem; - text-align: center; - text-decoration: none; - vertical-align: middle; - cursor: text; } - .wp-block-file:active, .wp-block-file:hover { - background-color: var(--green-darken-10); - border: 1px solid var(--black-lighten-20); - color: var(--white-base); - text-decoration: none; } - .wp-block-file.is-style-link { - background: none; - border: 1px solid var(--black-lighten-20); - color: var(--black-lighten-20); } - .wp-block-file.is-style-link:active, .wp-block-file.is-style-link:hover { - background: var(--black-lighten-70); - color: var(--black-lighten-20); } - .wp-block-file .wp-block-file__copy-url-button, - .wp-block-file .wp-block-file__button-richtext-wrapper { - display: none; } -.block-editor-block-list__layout ol, -.block-editor-block-list__layout ul { - padding: 5px 0 0 40px; } - .block-editor-block-list__layout ol li, - .block-editor-block-list__layout ul li { - margin-bottom: 9px; } - -.block-editor-block-list__layout ol.rich__list--enumerated, -.block-editor-block-list__layout ol.rich__list--enumerated ol { - counter-reset: item; - list-style-type: none; - padding: 5px 0 0 40px; } - .block-editor-block-list__layout ol.rich__list--enumerated > li, - .block-editor-block-list__layout ol.rich__list--enumerated ol > li { - counter-increment: item; - display: table; - margin-bottom: 0.6em; } - .block-editor-block-list__layout ol.rich__list--enumerated > li::before, - .block-editor-block-list__layout ol.rich__list--enumerated ol > li::before { - content: counters(item, ".") ". "; - display: table-cell; - padding-right: 0.6em; } - .block-editor-block-list__layout ol.rich__list--enumerated > li ol li, - .block-editor-block-list__layout ol.rich__list--enumerated ol > li ol li { - margin: 0; } - .block-editor-block-list__layout ol.rich__list--enumerated > li ol li::before, - .block-editor-block-list__layout ol.rich__list--enumerated ol > li ol li::before { - content: counters(item, ".") " "; } - -.block-editor-block-list__layout ul.rich__list--checked { - list-style-type: none; } - .block-editor-block-list__layout ul.rich__list--checked li { - display: table; } - .block-editor-block-list__layout ul.rich__list--checked li::before { - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU2LjcgNTYuNyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNTYuNyA1Ni43IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cG9seWdvbiBmaWxsPSIjNjViMzJlIiBwb2ludHM9IjI0LjUsNDYuMyA2LjMsMjguMiAxMi40LDIyLjEgMzAsMzkuOCAgIi8+Cgk8cG9seWdvbiBmaWxsPSIjNjViMzJlIiBwb2ludHM9IjE5LDM5LjggNDQuNSwxMS4yIDUwLjgsMTYuOSAyNC41LDQ2LjQgICIvPgo8L2c+Cjwvc3ZnPg==); - background-position-x: center; - background-repeat: no-repeat; - content: ""; - display: table-cell; - height: 16px; - padding-right: 0.6em; - width: 18px; } -.is-fullscreen-mode .ui-autocomplete { - z-index: 1000; } /** Use this for hover states */ .block-editor-block-list__block.wp-block[data-type="core/gallery"] { clear: both; } +.is-fullscreen-mode .ui-autocomplete { + z-index: 1000; }