diff -r c7c34916027a -r 177826044cd9 wp/wp-includes/js/dist/element.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-includes/js/dist/element.js Mon Oct 14 18:28:13 2019 +0200 @@ -0,0 +1,1076 @@ +this["wp"] = this["wp"] || {}; this["wp"]["element"] = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 374); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 15: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; }); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +(function() { module.exports = this["lodash"]; }()); + +/***/ }), + +/***/ 21: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} +// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; }); + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = _objectWithoutPropertiesLoose(source, excluded); + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +/***/ }), + +/***/ 27: +/***/ (function(module, exports) { + +(function() { module.exports = this["React"]; }()); + +/***/ }), + +/***/ 32: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; }); +function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } + +function _typeof(obj) { + if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { + _typeof = function _typeof(obj) { + return _typeof2(obj); + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); + }; + } + + return _typeof(obj); +} + +/***/ }), + +/***/ 374: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js +var objectSpread = __webpack_require__(7); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules +var objectWithoutProperties = __webpack_require__(21); + +// EXTERNAL MODULE: external "React" +var external_React_ = __webpack_require__(27); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__(2); + +// CONCATENATED MODULE: ./node_modules/@wordpress/element/build-module/react.js + + + +/** + * External dependencies + */ + + +/** + * Object that provides utilities for dealing with React children. + */ + + +/** + * Creates a copy of an element with extended props. + * + * @param {WPElement} element Element + * @param {?Object} props Props to apply to cloned element + * + * @return {WPElement} Cloned element. + */ + + +/** + * A base class to create WordPress Components (Refs, state and lifecycle hooks) + */ + + +/** + * Creates a context object containing two components: a provider and consumer. + * + * @param {Object} defaultValue A default data stored in the context. + * + * @return {Object} Context object. + */ + + +/** + * Returns a new element of given type. Type can be either a string tag name or + * another function which itself returns an element. + * + * @param {?(string|Function)} type Tag name or element creator + * @param {Object} props Element properties, either attribute + * set to apply to DOM node or values to + * pass through to element creator + * @param {...WPElement} children Descendant elements + * + * @return {WPElement} Element. + */ + + +/** + * Returns an object tracking a reference to a rendered element via its + * `current` property as either a DOMElement or Element, dependent upon the + * type of element rendered with the ref attribute. + * + * @return {Object} Ref object. + */ + + +/** + * Component enhancer used to enable passing a ref to its wrapped component. + * Pass a function argument which receives `props` and `ref` as its arguments, + * returning an element using the forwarded ref. The return value is a new + * component which forwards its ref. + * + * @param {Function} forwarder Function passed `props` and `ref`, expected to + * return an element. + * + * @return {WPComponent} Enhanced component. + */ + + +/** + * A component which renders its children without any wrapping element. + */ + + +/** + * Checks if an object is a valid WPElement + * + * @param {Object} objectToCheck The object to be checked. + * + * @return {boolean} true if objectToTest is a valid WPElement and false otherwise. + */ + + +/** + * Component that activates additional checks and warnings for its descendants. + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#usecallback + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#usecontext + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#usedebugvalue + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#useeffect + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#useimperativehandle + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#uselayouteffect + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#usememo + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#usereducer + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#useref + */ + + +/** + * @see https://reactjs.org/docs/hooks-reference.html#usestate + */ + + +/** + * Concatenate two or more React children objects. + * + * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate. + * + * @return {Array} The concatenated value. + */ + +function concatChildren() { + for (var _len = arguments.length, childrenArguments = new Array(_len), _key = 0; _key < _len; _key++) { + childrenArguments[_key] = arguments[_key]; + } + + return childrenArguments.reduce(function (memo, children, i) { + external_React_["Children"].forEach(children, function (child, j) { + if (child && 'string' !== typeof child) { + child = Object(external_React_["cloneElement"])(child, { + key: [i, j].join() + }); + } + + memo.push(child); + }); + return memo; + }, []); +} +/** + * Switches the nodeName of all the elements in the children object. + * + * @param {?Object} children Children object. + * @param {string} nodeName Node name. + * + * @return {?Object} The updated children object. + */ + +function switchChildrenNodeName(children, nodeName) { + return children && external_React_["Children"].map(children, function (elt, index) { + if (Object(external_lodash_["isString"])(elt)) { + return Object(external_React_["createElement"])(nodeName, { + key: index + }, elt); + } + + var _elt$props = elt.props, + childrenProp = _elt$props.children, + props = Object(objectWithoutProperties["a" /* default */])(_elt$props, ["children"]); + + return Object(external_React_["createElement"])(nodeName, Object(objectSpread["a" /* default */])({ + key: index + }, props), childrenProp); + }); +} + +// EXTERNAL MODULE: external "ReactDOM" +var external_ReactDOM_ = __webpack_require__(52); + +// CONCATENATED MODULE: ./node_modules/@wordpress/element/build-module/react-platform.js +/** + * External dependencies + */ + +/** + * Creates a portal into which a component can be rendered. + * + * @see https://github.com/facebook/react/issues/10309#issuecomment-318433235 + * + * @param {Component} component Component + * @param {Element} target DOM node into which element should be rendered + */ + + +/** + * Finds the dom node of a React component + * + * @param {Component} component component's instance + * @param {Element} target DOM node into which element should be rendered + */ + + +/** + * Renders a given element into the target DOM node. + * + * @param {WPElement} element Element to render + * @param {Element} target DOM node into which element should be rendered + */ + + +/** + * Removes any mounted element from the target DOM node. + * + * @param {Element} target DOM node in which element is to be removed + */ + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/element/build-module/utils.js +/** + * External dependencies + */ + +/** + * Checks if the provided WP element is empty. + * + * @param {*} element WP element to check. + * @return {boolean} True when an element is considered empty. + */ + +var utils_isEmptyElement = function isEmptyElement(element) { + if (Object(external_lodash_["isNumber"])(element)) { + return false; + } + + if (Object(external_lodash_["isString"])(element) || Object(external_lodash_["isArray"])(element)) { + return !element.length; + } + + return !element; +}; + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js +var esm_typeof = __webpack_require__(32); + +// EXTERNAL MODULE: external {"this":["wp","escapeHtml"]} +var external_this_wp_escapeHtml_ = __webpack_require__(69); + +// CONCATENATED MODULE: ./node_modules/@wordpress/element/build-module/raw-html.js + + + +/** + * Internal dependencies + */ + +/** + * Component used as equivalent of Fragment with unescaped HTML, in cases where + * it is desirable to render dangerous HTML without needing a wrapper element. + * To preserve additional props, a `div` wrapper _will_ be created if any props + * aside from `children` are passed. + * + * @param {string} props.children HTML to render. + * + * @return {WPElement} Dangerously-rendering element. + */ + +function RawHTML(_ref) { + var children = _ref.children, + props = Object(objectWithoutProperties["a" /* default */])(_ref, ["children"]); + + // The DIV wrapper will be stripped by serializer, unless there are + // non-children props present. + return Object(external_React_["createElement"])('div', Object(objectSpread["a" /* default */])({ + dangerouslySetInnerHTML: { + __html: children + } + }, props)); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/element/build-module/serialize.js + + + + +/** + * Parts of this source were derived and modified from fast-react-render, + * released under the MIT license. + * + * https://github.com/alt-j/fast-react-render + * + * Copyright (c) 2016 Andrey Morozov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + +var _createContext = Object(external_React_["createContext"])(), + Provider = _createContext.Provider, + Consumer = _createContext.Consumer; +/** + * Valid attribute types. + * + * @type {Set} + */ + + +var ATTRIBUTES_TYPES = new Set(['string', 'boolean', 'number']); +/** + * Element tags which can be self-closing. + * + * @type {Set} + */ + +var SELF_CLOSING_TAGS = new Set(['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']); +/** + * Boolean attributes are attributes whose presence as being assigned is + * meaningful, even if only empty. + * + * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes + * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3 + * + * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ] + * .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 ) + * .reduce( ( result, tr ) => Object.assign( result, { + * [ tr.firstChild.textContent.trim() ]: true + * } ), {} ) ).sort(); + * + * @type {Set} + */ + +var BOOLEAN_ATTRIBUTES = new Set(['allowfullscreen', 'allowpaymentrequest', 'allowusermedia', 'async', 'autofocus', 'autoplay', 'checked', 'controls', 'default', 'defer', 'disabled', 'download', 'formnovalidate', 'hidden', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nomodule', 'novalidate', 'open', 'playsinline', 'readonly', 'required', 'reversed', 'selected', 'typemustmatch']); +/** + * Enumerated attributes are attributes which must be of a specific value form. + * Like boolean attributes, these are meaningful if specified, even if not of a + * valid enumerated value. + * + * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute + * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3 + * + * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ] + * .filter( ( tr ) => /^("(.+?)";?\s*)+/.test( tr.lastChild.textContent.trim() ) ) + * .reduce( ( result, tr ) => Object.assign( result, { + * [ tr.firstChild.textContent.trim() ]: true + * } ), {} ) ).sort(); + * + * Some notable omissions: + * + * - `alt`: https://blog.whatwg.org/omit-alt + * + * @type {Set} + */ + +var ENUMERATED_ATTRIBUTES = new Set(['autocapitalize', 'autocomplete', 'charset', 'contenteditable', 'crossorigin', 'decoding', 'dir', 'draggable', 'enctype', 'formenctype', 'formmethod', 'http-equiv', 'inputmode', 'kind', 'method', 'preload', 'scope', 'shape', 'spellcheck', 'translate', 'type', 'wrap']); +/** + * Set of CSS style properties which support assignment of unitless numbers. + * Used in rendering of style properties, where `px` unit is assumed unless + * property is included in this set or value is zero. + * + * Generated via: + * + * Object.entries( document.createElement( 'div' ).style ) + * .filter( ( [ key ] ) => ( + * ! /^(webkit|ms|moz)/.test( key ) && + * ( e.style[ key ] = 10 ) && + * e.style[ key ] === '10' + * ) ) + * .map( ( [ key ] ) => key ) + * .sort(); + * + * @type {Set} + */ + +var CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set(['animation', 'animationIterationCount', 'baselineShift', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'columnCount', 'cx', 'cy', 'fillOpacity', 'flexGrow', 'flexShrink', 'floodOpacity', 'fontWeight', 'gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart', 'lineHeight', 'opacity', 'order', 'orphans', 'r', 'rx', 'ry', 'shapeImageThreshold', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'tabSize', 'widows', 'x', 'y', 'zIndex', 'zoom']); +/** + * Returns true if the specified string is prefixed by one of an array of + * possible prefixes. + * + * @param {string} string String to check. + * @param {string[]} prefixes Possible prefixes. + * + * @return {boolean} Whether string has prefix. + */ + +function hasPrefix(string, prefixes) { + return prefixes.some(function (prefix) { + return string.indexOf(prefix) === 0; + }); +} +/** + * Returns true if the given prop name should be ignored in attributes + * serialization, or false otherwise. + * + * @param {string} attribute Attribute to check. + * + * @return {boolean} Whether attribute should be ignored. + */ + +function isInternalAttribute(attribute) { + return 'key' === attribute || 'children' === attribute; +} +/** + * Returns the normal form of the element's attribute value for HTML. + * + * @param {string} attribute Attribute name. + * @param {*} value Non-normalized attribute value. + * + * @return {string} Normalized attribute value. + */ + + +function getNormalAttributeValue(attribute, value) { + switch (attribute) { + case 'style': + return renderStyle(value); + } + + return value; +} +/** + * Returns the normal form of the element's attribute name for HTML. + * + * @param {string} attribute Non-normalized attribute name. + * + * @return {string} Normalized attribute name. + */ + + +function getNormalAttributeName(attribute) { + switch (attribute) { + case 'htmlFor': + return 'for'; + + case 'className': + return 'class'; + } + + return attribute.toLowerCase(); +} +/** + * Returns the normal form of the style property name for HTML. + * + * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color' + * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor' + * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform' + * + * @param {string} property Property name. + * + * @return {string} Normalized property name. + */ + + +function getNormalStylePropertyName(property) { + if (Object(external_lodash_["startsWith"])(property, '--')) { + return property; + } + + if (hasPrefix(property, ['ms', 'O', 'Moz', 'Webkit'])) { + return '-' + Object(external_lodash_["kebabCase"])(property); + } + + return Object(external_lodash_["kebabCase"])(property); +} +/** + * Returns the normal form of the style property value for HTML. Appends a + * default pixel unit if numeric, not a unitless property, and not zero. + * + * @param {string} property Property name. + * @param {*} value Non-normalized property value. + * + * @return {*} Normalized property value. + */ + + +function getNormalStylePropertyValue(property, value) { + if (typeof value === 'number' && 0 !== value && !CSS_PROPERTIES_SUPPORTS_UNITLESS.has(property)) { + return value + 'px'; + } + + return value; +} +/** + * Serializes a React element to string. + * + * @param {WPElement} element Element to serialize. + * @param {?Object} context Context object. + * @param {?Object} legacyContext Legacy context object. + * + * @return {string} Serialized element. + */ + + +function renderElement(element, context) { + var legacyContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + if (null === element || undefined === element || false === element) { + return ''; + } + + if (Array.isArray(element)) { + return renderChildren(element, context, legacyContext); + } + + switch (Object(esm_typeof["a" /* default */])(element)) { + case 'string': + return Object(external_this_wp_escapeHtml_["escapeHTML"])(element); + + case 'number': + return element.toString(); + } + + var type = element.type, + props = element.props; + + switch (type) { + case external_React_["StrictMode"]: + case external_React_["Fragment"]: + return renderChildren(props.children, context, legacyContext); + + case RawHTML: + var children = props.children, + wrapperProps = Object(objectWithoutProperties["a" /* default */])(props, ["children"]); + + return renderNativeComponent(Object(external_lodash_["isEmpty"])(wrapperProps) ? null : 'div', Object(objectSpread["a" /* default */])({}, wrapperProps, { + dangerouslySetInnerHTML: { + __html: children + } + }), context, legacyContext); + } + + switch (Object(esm_typeof["a" /* default */])(type)) { + case 'string': + return renderNativeComponent(type, props, context, legacyContext); + + case 'function': + if (type.prototype && typeof type.prototype.render === 'function') { + return renderComponent(type, props, context, legacyContext); + } + + return renderElement(type(props, legacyContext), context, legacyContext); + } + + switch (type && type.$$typeof) { + case Provider.$$typeof: + return renderChildren(props.children, props.value, legacyContext); + + case Consumer.$$typeof: + return renderElement(props.children(context || type._currentValue), context, legacyContext); + } + + return ''; +} +/** + * Serializes a native component type to string. + * + * @param {?string} type Native component type to serialize, or null if + * rendering as fragment of children content. + * @param {Object} props Props object. + * @param {?Object} context Context object. + * @param {?Object} legacyContext Legacy context object. + * + * @return {string} Serialized element. + */ + +function renderNativeComponent(type, props, context) { + var legacyContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var content = ''; + + if (type === 'textarea' && props.hasOwnProperty('value')) { + // Textarea children can be assigned as value prop. If it is, render in + // place of children. Ensure to omit so it is not assigned as attribute + // as well. + content = renderChildren(props.value, context, legacyContext); + props = Object(external_lodash_["omit"])(props, 'value'); + } else if (props.dangerouslySetInnerHTML && typeof props.dangerouslySetInnerHTML.__html === 'string') { + // Dangerous content is left unescaped. + content = props.dangerouslySetInnerHTML.__html; + } else if (typeof props.children !== 'undefined') { + content = renderChildren(props.children, context, legacyContext); + } + + if (!type) { + return content; + } + + var attributes = renderAttributes(props); + + if (SELF_CLOSING_TAGS.has(type)) { + return '<' + type + attributes + '/>'; + } + + return '<' + type + attributes + '>' + content + ''; +} +/** + * Serializes a non-native component type to string. + * + * @param {Function} Component Component type to serialize. + * @param {Object} props Props object. + * @param {?Object} context Context object. + * @param {?Object} legacyContext Legacy context object. + * + * @return {string} Serialized element + */ + +function renderComponent(Component, props, context) { + var legacyContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var instance = new Component(props, legacyContext); + + if (typeof instance.getChildContext === 'function') { + Object.assign(legacyContext, instance.getChildContext()); + } + + var html = renderElement(instance.render(), context, legacyContext); + return html; +} +/** + * Serializes an array of children to string. + * + * @param {Array} children Children to serialize. + * @param {?Object} context Context object. + * @param {?Object} legacyContext Legacy context object. + * + * @return {string} Serialized children. + */ + +function renderChildren(children, context) { + var legacyContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var result = ''; + children = Object(external_lodash_["castArray"])(children); + + for (var i = 0; i < children.length; i++) { + var child = children[i]; + result += renderElement(child, context, legacyContext); + } + + return result; +} +/** + * Renders a props object as a string of HTML attributes. + * + * @param {Object} props Props object. + * + * @return {string} Attributes string. + */ + + +function renderAttributes(props) { + var result = ''; + + for (var key in props) { + var attribute = getNormalAttributeName(key); + + if (!Object(external_this_wp_escapeHtml_["isValidAttributeName"])(attribute)) { + continue; + } + + var value = getNormalAttributeValue(key, props[key]); // If value is not of serializeable type, skip. + + if (!ATTRIBUTES_TYPES.has(Object(esm_typeof["a" /* default */])(value))) { + continue; + } // Don't render internal attribute names. + + + if (isInternalAttribute(key)) { + continue; + } + + var isBooleanAttribute = BOOLEAN_ATTRIBUTES.has(attribute); // Boolean attribute should be omitted outright if its value is false. + + if (isBooleanAttribute && value === false) { + continue; + } + + var isMeaningfulAttribute = isBooleanAttribute || hasPrefix(key, ['data-', 'aria-']) || ENUMERATED_ATTRIBUTES.has(attribute); // Only write boolean value as attribute if meaningful. + + if (typeof value === 'boolean' && !isMeaningfulAttribute) { + continue; + } + + result += ' ' + attribute; // Boolean attributes should write attribute name, but without value. + // Mere presence of attribute name is effective truthiness. + + if (isBooleanAttribute) { + continue; + } + + if (typeof value === 'string') { + value = Object(external_this_wp_escapeHtml_["escapeAttribute"])(value); + } + + result += '="' + value + '"'; + } + + return result; +} +/** + * Renders a style object as a string attribute value. + * + * @param {Object} style Style object. + * + * @return {string} Style attribute value. + */ + +function renderStyle(style) { + // Only generate from object, e.g. tolerate string value. + if (!Object(external_lodash_["isPlainObject"])(style)) { + return style; + } + + var result; + + for (var property in style) { + var value = style[property]; + + if (null === value || undefined === value) { + continue; + } + + if (result) { + result += ';'; + } else { + result = ''; + } + + var normalName = getNormalStylePropertyName(property); + var normalValue = getNormalStylePropertyValue(property, value); + result += normalName + ':' + normalValue; + } + + return result; +} +/* harmony default export */ var serialize = (renderElement); + +// CONCATENATED MODULE: ./node_modules/@wordpress/element/build-module/index.js +/* concated harmony reexport Children */__webpack_require__.d(__webpack_exports__, "Children", function() { return external_React_["Children"]; }); +/* concated harmony reexport cloneElement */__webpack_require__.d(__webpack_exports__, "cloneElement", function() { return external_React_["cloneElement"]; }); +/* concated harmony reexport Component */__webpack_require__.d(__webpack_exports__, "Component", function() { return external_React_["Component"]; }); +/* concated harmony reexport createContext */__webpack_require__.d(__webpack_exports__, "createContext", function() { return external_React_["createContext"]; }); +/* concated harmony reexport createElement */__webpack_require__.d(__webpack_exports__, "createElement", function() { return external_React_["createElement"]; }); +/* concated harmony reexport createRef */__webpack_require__.d(__webpack_exports__, "createRef", function() { return external_React_["createRef"]; }); +/* concated harmony reexport forwardRef */__webpack_require__.d(__webpack_exports__, "forwardRef", function() { return external_React_["forwardRef"]; }); +/* concated harmony reexport Fragment */__webpack_require__.d(__webpack_exports__, "Fragment", function() { return external_React_["Fragment"]; }); +/* concated harmony reexport isValidElement */__webpack_require__.d(__webpack_exports__, "isValidElement", function() { return external_React_["isValidElement"]; }); +/* concated harmony reexport StrictMode */__webpack_require__.d(__webpack_exports__, "StrictMode", function() { return external_React_["StrictMode"]; }); +/* concated harmony reexport useCallback */__webpack_require__.d(__webpack_exports__, "useCallback", function() { return external_React_["useCallback"]; }); +/* concated harmony reexport useContext */__webpack_require__.d(__webpack_exports__, "useContext", function() { return external_React_["useContext"]; }); +/* concated harmony reexport useDebugValue */__webpack_require__.d(__webpack_exports__, "useDebugValue", function() { return external_React_["useDebugValue"]; }); +/* concated harmony reexport useEffect */__webpack_require__.d(__webpack_exports__, "useEffect", function() { return external_React_["useEffect"]; }); +/* concated harmony reexport useImperativeHandle */__webpack_require__.d(__webpack_exports__, "useImperativeHandle", function() { return external_React_["useImperativeHandle"]; }); +/* concated harmony reexport useLayoutEffect */__webpack_require__.d(__webpack_exports__, "useLayoutEffect", function() { return external_React_["useLayoutEffect"]; }); +/* concated harmony reexport useMemo */__webpack_require__.d(__webpack_exports__, "useMemo", function() { return external_React_["useMemo"]; }); +/* concated harmony reexport useReducer */__webpack_require__.d(__webpack_exports__, "useReducer", function() { return external_React_["useReducer"]; }); +/* concated harmony reexport useRef */__webpack_require__.d(__webpack_exports__, "useRef", function() { return external_React_["useRef"]; }); +/* concated harmony reexport useState */__webpack_require__.d(__webpack_exports__, "useState", function() { return external_React_["useState"]; }); +/* concated harmony reexport concatChildren */__webpack_require__.d(__webpack_exports__, "concatChildren", function() { return concatChildren; }); +/* concated harmony reexport switchChildrenNodeName */__webpack_require__.d(__webpack_exports__, "switchChildrenNodeName", function() { return switchChildrenNodeName; }); +/* concated harmony reexport createPortal */__webpack_require__.d(__webpack_exports__, "createPortal", function() { return external_ReactDOM_["createPortal"]; }); +/* concated harmony reexport findDOMNode */__webpack_require__.d(__webpack_exports__, "findDOMNode", function() { return external_ReactDOM_["findDOMNode"]; }); +/* concated harmony reexport render */__webpack_require__.d(__webpack_exports__, "render", function() { return external_ReactDOM_["render"]; }); +/* concated harmony reexport unmountComponentAtNode */__webpack_require__.d(__webpack_exports__, "unmountComponentAtNode", function() { return external_ReactDOM_["unmountComponentAtNode"]; }); +/* concated harmony reexport isEmptyElement */__webpack_require__.d(__webpack_exports__, "isEmptyElement", function() { return utils_isEmptyElement; }); +/* concated harmony reexport renderToString */__webpack_require__.d(__webpack_exports__, "renderToString", function() { return serialize; }); +/* concated harmony reexport RawHTML */__webpack_require__.d(__webpack_exports__, "RawHTML", function() { return RawHTML; }); + + + + + + + +/***/ }), + +/***/ 52: +/***/ (function(module, exports) { + +(function() { module.exports = this["ReactDOM"]; }()); + +/***/ }), + +/***/ 69: +/***/ (function(module, exports) { + +(function() { module.exports = this["wp"]["escapeHtml"]; }()); + +/***/ }), + +/***/ 7: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectSpread; }); +/* harmony import */ var _defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); + +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + Object(_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); + }); + } + + return target; +} + +/***/ }) + +/******/ }); \ No newline at end of file