@wordpress/element 5.19.2 → 5.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["isPlainObject","paramCase","kebabCase","escapeHTML","escapeAttribute","isValidAttributeName","createContext","Fragment","StrictMode","forwardRef","RawHTML","Provider","Consumer","undefined","ForwardRef","ATTRIBUTES_TYPES","Set","SELF_CLOSING_TAGS","BOOLEAN_ATTRIBUTES","ENUMERATED_ATTRIBUTES","CSS_PROPERTIES_SUPPORTS_UNITLESS","hasPrefix","string","prefixes","some","prefix","indexOf","isInternalAttribute","attribute","getNormalAttributeValue","value","renderStyle","SVG_ATTRIBUTE_WITH_DASHES_LIST","reduce","map","toLowerCase","CASE_SENSITIVE_SVG_ATTRIBUTES","SVG_ATTRIBUTES_WITH_COLONS","replace","getNormalAttributeName","attributeLowerCase","getNormalStylePropertyName","property","startsWith","getNormalStylePropertyValue","has","renderElement","element","context","legacyContext","Array","isArray","renderChildren","toString","type","props","children","wrapperProps","renderNativeComponent","Object","keys","length","dangerouslySetInnerHTML","__html","prototype","render","renderComponent","$$typeof","_currentValue","content","hasOwnProperty","restProps","attributes","renderAttributes","Component","instance","getChildContext","assign","html","result","i","child","key","isBooleanAttribute","isMeaningfulAttribute","style","normalName","normalValue"],"sources":["@wordpress/element/src/serialize.js"],"sourcesContent":["/**\n * Parts of this source were derived and modified from fast-react-render,\n * released under the MIT license.\n *\n * https://github.com/alt-j/fast-react-render\n *\n * Copyright (c) 2016 Andrey Morozov\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport { isPlainObject } from 'is-plain-object';\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tescapeHTML,\n\tescapeAttribute,\n\tisValidAttributeName,\n} from '@wordpress/escape-html';\n\n/**\n * Internal dependencies\n */\nimport { createContext, Fragment, StrictMode, forwardRef } from './react';\nimport RawHTML from './raw-html';\n\n/** @typedef {import('./react').WPElement} WPElement */\n\nconst { Provider, Consumer } = createContext( undefined );\nconst ForwardRef = forwardRef( () => {\n\treturn null;\n} );\n\n/**\n * Valid attribute types.\n *\n * @type {Set<string>}\n */\nconst ATTRIBUTES_TYPES = new Set( [ 'string', 'boolean', 'number' ] );\n\n/**\n * Element tags which can be self-closing.\n *\n * @type {Set<string>}\n */\nconst SELF_CLOSING_TAGS = new Set( [\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr',\n] );\n\n/**\n * Boolean attributes are attributes whose presence as being assigned is\n * meaningful, even if only empty.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n * .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * @type {Set<string>}\n */\nconst BOOLEAN_ATTRIBUTES = new Set( [\n\t'allowfullscreen',\n\t'allowpaymentrequest',\n\t'allowusermedia',\n\t'async',\n\t'autofocus',\n\t'autoplay',\n\t'checked',\n\t'controls',\n\t'default',\n\t'defer',\n\t'disabled',\n\t'download',\n\t'formnovalidate',\n\t'hidden',\n\t'ismap',\n\t'itemscope',\n\t'loop',\n\t'multiple',\n\t'muted',\n\t'nomodule',\n\t'novalidate',\n\t'open',\n\t'playsinline',\n\t'readonly',\n\t'required',\n\t'reversed',\n\t'selected',\n\t'typemustmatch',\n] );\n\n/**\n * Enumerated attributes are attributes which must be of a specific value form.\n * Like boolean attributes, these are meaningful if specified, even if not of a\n * valid enumerated value.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n * .filter( ( tr ) => /^(\"(.+?)\";?\\s*)+/.test( tr.lastChild.textContent.trim() ) )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * Some notable omissions:\n *\n * - `alt`: https://blog.whatwg.org/omit-alt\n *\n * @type {Set<string>}\n */\nconst ENUMERATED_ATTRIBUTES = new Set( [\n\t'autocapitalize',\n\t'autocomplete',\n\t'charset',\n\t'contenteditable',\n\t'crossorigin',\n\t'decoding',\n\t'dir',\n\t'draggable',\n\t'enctype',\n\t'formenctype',\n\t'formmethod',\n\t'http-equiv',\n\t'inputmode',\n\t'kind',\n\t'method',\n\t'preload',\n\t'scope',\n\t'shape',\n\t'spellcheck',\n\t'translate',\n\t'type',\n\t'wrap',\n] );\n\n/**\n * Set of CSS style properties which support assignment of unitless numbers.\n * Used in rendering of style properties, where `px` unit is assumed unless\n * property is included in this set or value is zero.\n *\n * Generated via:\n *\n * Object.entries( document.createElement( 'div' ).style )\n * .filter( ( [ key ] ) => (\n * ! /^(webkit|ms|moz)/.test( key ) &&\n * ( e.style[ key ] = 10 ) &&\n * e.style[ key ] === '10'\n * ) )\n * .map( ( [ key ] ) => key )\n * .sort();\n *\n * @type {Set<string>}\n */\nconst CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set( [\n\t'animation',\n\t'animationIterationCount',\n\t'baselineShift',\n\t'borderImageOutset',\n\t'borderImageSlice',\n\t'borderImageWidth',\n\t'columnCount',\n\t'cx',\n\t'cy',\n\t'fillOpacity',\n\t'flexGrow',\n\t'flexShrink',\n\t'floodOpacity',\n\t'fontWeight',\n\t'gridColumnEnd',\n\t'gridColumnStart',\n\t'gridRowEnd',\n\t'gridRowStart',\n\t'lineHeight',\n\t'opacity',\n\t'order',\n\t'orphans',\n\t'r',\n\t'rx',\n\t'ry',\n\t'shapeImageThreshold',\n\t'stopOpacity',\n\t'strokeDasharray',\n\t'strokeDashoffset',\n\t'strokeMiterlimit',\n\t'strokeOpacity',\n\t'strokeWidth',\n\t'tabSize',\n\t'widows',\n\t'x',\n\t'y',\n\t'zIndex',\n\t'zoom',\n] );\n\n/**\n * Returns true if the specified string is prefixed by one of an array of\n * possible prefixes.\n *\n * @param {string} string String to check.\n * @param {string[]} prefixes Possible prefixes.\n *\n * @return {boolean} Whether string has prefix.\n */\nexport function hasPrefix( string, prefixes ) {\n\treturn prefixes.some( ( prefix ) => string.indexOf( prefix ) === 0 );\n}\n\n/**\n * Returns true if the given prop name should be ignored in attributes\n * serialization, or false otherwise.\n *\n * @param {string} attribute Attribute to check.\n *\n * @return {boolean} Whether attribute should be ignored.\n */\nfunction isInternalAttribute( attribute ) {\n\treturn 'key' === attribute || 'children' === attribute;\n}\n\n/**\n * Returns the normal form of the element's attribute value for HTML.\n *\n * @param {string} attribute Attribute name.\n * @param {*} value Non-normalized attribute value.\n *\n * @return {*} Normalized attribute value.\n */\nfunction getNormalAttributeValue( attribute, value ) {\n\tswitch ( attribute ) {\n\t\tcase 'style':\n\t\t\treturn renderStyle( value );\n\t}\n\n\treturn value;\n}\n/**\n * This is a map of all SVG attributes that have dashes. Map(lower case prop => dashed lower case attribute).\n * We need this to render e.g strokeWidth as stroke-width.\n *\n * List from: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute.\n */\nconst SVG_ATTRIBUTE_WITH_DASHES_LIST = [\n\t'accentHeight',\n\t'alignmentBaseline',\n\t'arabicForm',\n\t'baselineShift',\n\t'capHeight',\n\t'clipPath',\n\t'clipRule',\n\t'colorInterpolation',\n\t'colorInterpolationFilters',\n\t'colorProfile',\n\t'colorRendering',\n\t'dominantBaseline',\n\t'enableBackground',\n\t'fillOpacity',\n\t'fillRule',\n\t'floodColor',\n\t'floodOpacity',\n\t'fontFamily',\n\t'fontSize',\n\t'fontSizeAdjust',\n\t'fontStretch',\n\t'fontStyle',\n\t'fontVariant',\n\t'fontWeight',\n\t'glyphName',\n\t'glyphOrientationHorizontal',\n\t'glyphOrientationVertical',\n\t'horizAdvX',\n\t'horizOriginX',\n\t'imageRendering',\n\t'letterSpacing',\n\t'lightingColor',\n\t'markerEnd',\n\t'markerMid',\n\t'markerStart',\n\t'overlinePosition',\n\t'overlineThickness',\n\t'paintOrder',\n\t'panose1',\n\t'pointerEvents',\n\t'renderingIntent',\n\t'shapeRendering',\n\t'stopColor',\n\t'stopOpacity',\n\t'strikethroughPosition',\n\t'strikethroughThickness',\n\t'strokeDasharray',\n\t'strokeDashoffset',\n\t'strokeLinecap',\n\t'strokeLinejoin',\n\t'strokeMiterlimit',\n\t'strokeOpacity',\n\t'strokeWidth',\n\t'textAnchor',\n\t'textDecoration',\n\t'textRendering',\n\t'underlinePosition',\n\t'underlineThickness',\n\t'unicodeBidi',\n\t'unicodeRange',\n\t'unitsPerEm',\n\t'vAlphabetic',\n\t'vHanging',\n\t'vIdeographic',\n\t'vMathematical',\n\t'vectorEffect',\n\t'vertAdvY',\n\t'vertOriginX',\n\t'vertOriginY',\n\t'wordSpacing',\n\t'writingMode',\n\t'xmlnsXlink',\n\t'xHeight',\n].reduce( ( map, attribute ) => {\n\t// The keys are lower-cased for more robust lookup.\n\tmap[ attribute.toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * This is a map of all case-sensitive SVG attributes. Map(lowercase key => proper case attribute).\n * The keys are lower-cased for more robust lookup.\n * Note that this list only contains attributes that contain at least one capital letter.\n * Lowercase attributes don't need mapping, since we lowercase all attributes by default.\n */\nconst CASE_SENSITIVE_SVG_ATTRIBUTES = [\n\t'allowReorder',\n\t'attributeName',\n\t'attributeType',\n\t'autoReverse',\n\t'baseFrequency',\n\t'baseProfile',\n\t'calcMode',\n\t'clipPathUnits',\n\t'contentScriptType',\n\t'contentStyleType',\n\t'diffuseConstant',\n\t'edgeMode',\n\t'externalResourcesRequired',\n\t'filterRes',\n\t'filterUnits',\n\t'glyphRef',\n\t'gradientTransform',\n\t'gradientUnits',\n\t'kernelMatrix',\n\t'kernelUnitLength',\n\t'keyPoints',\n\t'keySplines',\n\t'keyTimes',\n\t'lengthAdjust',\n\t'limitingConeAngle',\n\t'markerHeight',\n\t'markerUnits',\n\t'markerWidth',\n\t'maskContentUnits',\n\t'maskUnits',\n\t'numOctaves',\n\t'pathLength',\n\t'patternContentUnits',\n\t'patternTransform',\n\t'patternUnits',\n\t'pointsAtX',\n\t'pointsAtY',\n\t'pointsAtZ',\n\t'preserveAlpha',\n\t'preserveAspectRatio',\n\t'primitiveUnits',\n\t'refX',\n\t'refY',\n\t'repeatCount',\n\t'repeatDur',\n\t'requiredExtensions',\n\t'requiredFeatures',\n\t'specularConstant',\n\t'specularExponent',\n\t'spreadMethod',\n\t'startOffset',\n\t'stdDeviation',\n\t'stitchTiles',\n\t'suppressContentEditableWarning',\n\t'suppressHydrationWarning',\n\t'surfaceScale',\n\t'systemLanguage',\n\t'tableValues',\n\t'targetX',\n\t'targetY',\n\t'textLength',\n\t'viewBox',\n\t'viewTarget',\n\t'xChannelSelector',\n\t'yChannelSelector',\n].reduce( ( map, attribute ) => {\n\t// The keys are lower-cased for more robust lookup.\n\tmap[ attribute.toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * This is a map of all SVG attributes that have colons.\n * Keys are lower-cased and stripped of their colons for more robust lookup.\n */\nconst SVG_ATTRIBUTES_WITH_COLONS = [\n\t'xlink:actuate',\n\t'xlink:arcrole',\n\t'xlink:href',\n\t'xlink:role',\n\t'xlink:show',\n\t'xlink:title',\n\t'xlink:type',\n\t'xml:base',\n\t'xml:lang',\n\t'xml:space',\n\t'xmlns:xlink',\n].reduce( ( map, attribute ) => {\n\tmap[ attribute.replace( ':', '' ).toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * Returns the normal form of the element's attribute name for HTML.\n *\n * @param {string} attribute Non-normalized attribute name.\n *\n * @return {string} Normalized attribute name.\n */\nfunction getNormalAttributeName( attribute ) {\n\tswitch ( attribute ) {\n\t\tcase 'htmlFor':\n\t\t\treturn 'for';\n\n\t\tcase 'className':\n\t\t\treturn 'class';\n\t}\n\tconst attributeLowerCase = attribute.toLowerCase();\n\n\tif ( CASE_SENSITIVE_SVG_ATTRIBUTES[ attributeLowerCase ] ) {\n\t\treturn CASE_SENSITIVE_SVG_ATTRIBUTES[ attributeLowerCase ];\n\t} else if ( SVG_ATTRIBUTE_WITH_DASHES_LIST[ attributeLowerCase ] ) {\n\t\treturn kebabCase(\n\t\t\tSVG_ATTRIBUTE_WITH_DASHES_LIST[ attributeLowerCase ]\n\t\t);\n\t} else if ( SVG_ATTRIBUTES_WITH_COLONS[ attributeLowerCase ] ) {\n\t\treturn SVG_ATTRIBUTES_WITH_COLONS[ attributeLowerCase ];\n\t}\n\n\treturn attributeLowerCase;\n}\n\n/**\n * Returns the normal form of the style property name for HTML.\n *\n * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color'\n * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor'\n * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform'\n *\n * @param {string} property Property name.\n *\n * @return {string} Normalized property name.\n */\nfunction getNormalStylePropertyName( property ) {\n\tif ( property.startsWith( '--' ) ) {\n\t\treturn property;\n\t}\n\n\tif ( hasPrefix( property, [ 'ms', 'O', 'Moz', 'Webkit' ] ) ) {\n\t\treturn '-' + kebabCase( property );\n\t}\n\n\treturn kebabCase( property );\n}\n\n/**\n * Returns the normal form of the style property value for HTML. Appends a\n * default pixel unit if numeric, not a unitless property, and not zero.\n *\n * @param {string} property Property name.\n * @param {*} value Non-normalized property value.\n *\n * @return {*} Normalized property value.\n */\nfunction getNormalStylePropertyValue( property, value ) {\n\tif (\n\t\ttypeof value === 'number' &&\n\t\t0 !== value &&\n\t\t! CSS_PROPERTIES_SUPPORTS_UNITLESS.has( property )\n\t) {\n\t\treturn value + 'px';\n\t}\n\n\treturn value;\n}\n\n/**\n * Serializes a React element to string.\n *\n * @param {import('react').ReactNode} element Element to serialize.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element.\n */\nexport function renderElement( element, context, legacyContext = {} ) {\n\tif ( null === element || undefined === element || false === element ) {\n\t\treturn '';\n\t}\n\n\tif ( Array.isArray( element ) ) {\n\t\treturn renderChildren( element, context, legacyContext );\n\t}\n\n\tswitch ( typeof element ) {\n\t\tcase 'string':\n\t\t\treturn escapeHTML( element );\n\n\t\tcase 'number':\n\t\t\treturn element.toString();\n\t}\n\n\tconst { type, props } = /** @type {{type?: any, props?: any}} */ (\n\t\telement\n\t);\n\n\tswitch ( type ) {\n\t\tcase StrictMode:\n\t\tcase Fragment:\n\t\t\treturn renderChildren( props.children, context, legacyContext );\n\n\t\tcase RawHTML:\n\t\t\tconst { children, ...wrapperProps } = props;\n\n\t\t\treturn renderNativeComponent(\n\t\t\t\t! Object.keys( wrapperProps ).length ? null : 'div',\n\t\t\t\t{\n\t\t\t\t\t...wrapperProps,\n\t\t\t\t\tdangerouslySetInnerHTML: { __html: children },\n\t\t\t\t},\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\tswitch ( typeof type ) {\n\t\tcase 'string':\n\t\t\treturn renderNativeComponent( type, props, context, legacyContext );\n\n\t\tcase 'function':\n\t\t\tif (\n\t\t\t\ttype.prototype &&\n\t\t\t\ttypeof type.prototype.render === 'function'\n\t\t\t) {\n\t\t\t\treturn renderComponent( type, props, context, legacyContext );\n\t\t\t}\n\n\t\t\treturn renderElement(\n\t\t\t\ttype( props, legacyContext ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\tswitch ( type && type.$$typeof ) {\n\t\tcase Provider.$$typeof:\n\t\t\treturn renderChildren( props.children, props.value, legacyContext );\n\n\t\tcase Consumer.$$typeof:\n\t\t\treturn renderElement(\n\t\t\t\tprops.children( context || type._currentValue ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\n\t\tcase ForwardRef.$$typeof:\n\t\t\treturn renderElement(\n\t\t\t\ttype.render( props ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\treturn '';\n}\n\n/**\n * Serializes a native component type to string.\n *\n * @param {?string} type Native component type to serialize, or null if\n * rendering as fragment of children content.\n * @param {Object} props Props object.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element.\n */\nexport function renderNativeComponent(\n\ttype,\n\tprops,\n\tcontext,\n\tlegacyContext = {}\n) {\n\tlet content = '';\n\tif ( type === 'textarea' && props.hasOwnProperty( 'value' ) ) {\n\t\t// Textarea children can be assigned as value prop. If it is, render in\n\t\t// place of children. Ensure to omit so it is not assigned as attribute\n\t\t// as well.\n\t\tcontent = renderChildren( props.value, context, legacyContext );\n\t\tconst { value, ...restProps } = props;\n\t\tprops = restProps;\n\t} else if (\n\t\tprops.dangerouslySetInnerHTML &&\n\t\ttypeof props.dangerouslySetInnerHTML.__html === 'string'\n\t) {\n\t\t// Dangerous content is left unescaped.\n\t\tcontent = props.dangerouslySetInnerHTML.__html;\n\t} else if ( typeof props.children !== 'undefined' ) {\n\t\tcontent = renderChildren( props.children, context, legacyContext );\n\t}\n\n\tif ( ! type ) {\n\t\treturn content;\n\t}\n\n\tconst attributes = renderAttributes( props );\n\n\tif ( SELF_CLOSING_TAGS.has( type ) ) {\n\t\treturn '<' + type + attributes + '/>';\n\t}\n\n\treturn '<' + type + attributes + '>' + content + '</' + type + '>';\n}\n\n/** @typedef {import('./react').WPComponent} WPComponent */\n\n/**\n * Serializes a non-native component type to string.\n *\n * @param {WPComponent} Component Component type to serialize.\n * @param {Object} props Props object.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element\n */\nexport function renderComponent(\n\tComponent,\n\tprops,\n\tcontext,\n\tlegacyContext = {}\n) {\n\tconst instance = new /** @type {import('react').ComponentClass} */ (\n\t\tComponent\n\t)( props, legacyContext );\n\n\tif (\n\t\ttypeof (\n\t\t\t// Ignore reason: Current prettier reformats parens and mangles type assertion\n\t\t\t// prettier-ignore\n\t\t\t/** @type {{getChildContext?: () => unknown}} */ ( instance ).getChildContext\n\t\t) === 'function'\n\t) {\n\t\tObject.assign(\n\t\t\tlegacyContext,\n\t\t\t/** @type {{getChildContext?: () => unknown}} */ (\n\t\t\t\tinstance\n\t\t\t).getChildContext()\n\t\t);\n\t}\n\n\tconst html = renderElement( instance.render(), context, legacyContext );\n\n\treturn html;\n}\n\n/**\n * Serializes an array of children to string.\n *\n * @param {import('react').ReactNodeArray} children Children to serialize.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized children.\n */\nfunction renderChildren( children, context, legacyContext = {} ) {\n\tlet result = '';\n\n\tchildren = Array.isArray( children ) ? children : [ children ];\n\n\tfor ( let i = 0; i < children.length; i++ ) {\n\t\tconst child = children[ i ];\n\n\t\tresult += renderElement( child, context, legacyContext );\n\t}\n\n\treturn result;\n}\n\n/**\n * Renders a props object as a string of HTML attributes.\n *\n * @param {Object} props Props object.\n *\n * @return {string} Attributes string.\n */\nexport function renderAttributes( props ) {\n\tlet result = '';\n\n\tfor ( const key in props ) {\n\t\tconst attribute = getNormalAttributeName( key );\n\t\tif ( ! isValidAttributeName( attribute ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet value = getNormalAttributeValue( key, props[ key ] );\n\n\t\t// If value is not of serializeable type, skip.\n\t\tif ( ! ATTRIBUTES_TYPES.has( typeof value ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Don't render internal attribute names.\n\t\tif ( isInternalAttribute( key ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst isBooleanAttribute = BOOLEAN_ATTRIBUTES.has( attribute );\n\n\t\t// Boolean attribute should be omitted outright if its value is false.\n\t\tif ( isBooleanAttribute && value === false ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst isMeaningfulAttribute =\n\t\t\tisBooleanAttribute ||\n\t\t\thasPrefix( key, [ 'data-', 'aria-' ] ) ||\n\t\t\tENUMERATED_ATTRIBUTES.has( attribute );\n\n\t\t// Only write boolean value as attribute if meaningful.\n\t\tif ( typeof value === 'boolean' && ! isMeaningfulAttribute ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tresult += ' ' + attribute;\n\n\t\t// Boolean attributes should write attribute name, but without value.\n\t\t// Mere presence of attribute name is effective truthiness.\n\t\tif ( isBooleanAttribute ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( typeof value === 'string' ) {\n\t\t\tvalue = escapeAttribute( value );\n\t\t}\n\n\t\tresult += '=\"' + value + '\"';\n\t}\n\n\treturn result;\n}\n\n/**\n * Renders a style object as a string attribute value.\n *\n * @param {Object} style Style object.\n *\n * @return {string} Style attribute value.\n */\nexport function renderStyle( style ) {\n\t// Only generate from object, e.g. tolerate string value.\n\tif ( ! isPlainObject( style ) ) {\n\t\treturn style;\n\t}\n\n\tlet result;\n\n\tfor ( const property in style ) {\n\t\tconst value = style[ property ];\n\t\tif ( null === value || undefined === value ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( result ) {\n\t\t\tresult += ';';\n\t\t} else {\n\t\t\tresult = '';\n\t\t}\n\n\t\tconst normalName = getNormalStylePropertyName( property );\n\t\tconst normalValue = getNormalStylePropertyValue( property, value );\n\t\tresult += normalName + ':' + normalValue;\n\t}\n\n\treturn result;\n}\n\nexport default renderElement;\n"],"mappings":"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"}
1
+ {"version":3,"names":["isPlainObject","paramCase","kebabCase","escapeHTML","escapeAttribute","isValidAttributeName","createContext","Fragment","StrictMode","forwardRef","RawHTML","Provider","Consumer","undefined","ForwardRef","ATTRIBUTES_TYPES","Set","SELF_CLOSING_TAGS","BOOLEAN_ATTRIBUTES","ENUMERATED_ATTRIBUTES","CSS_PROPERTIES_SUPPORTS_UNITLESS","hasPrefix","string","prefixes","some","prefix","indexOf","isInternalAttribute","attribute","getNormalAttributeValue","value","renderStyle","SVG_ATTRIBUTE_WITH_DASHES_LIST","reduce","map","toLowerCase","CASE_SENSITIVE_SVG_ATTRIBUTES","SVG_ATTRIBUTES_WITH_COLONS","replace","getNormalAttributeName","attributeLowerCase","getNormalStylePropertyName","property","startsWith","getNormalStylePropertyValue","has","renderElement","element","context","legacyContext","Array","isArray","renderChildren","toString","type","props","children","wrapperProps","renderNativeComponent","Object","keys","length","dangerouslySetInnerHTML","__html","prototype","render","renderComponent","$$typeof","_currentValue","content","hasOwnProperty","restProps","attributes","renderAttributes","Component","instance","getChildContext","assign","html","result","i","child","key","isBooleanAttribute","isMeaningfulAttribute","style","normalName","normalValue"],"sources":["@wordpress/element/src/serialize.js"],"sourcesContent":["/**\n * Parts of this source were derived and modified from fast-react-render,\n * released under the MIT license.\n *\n * https://github.com/alt-j/fast-react-render\n *\n * Copyright (c) 2016 Andrey Morozov\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport { isPlainObject } from 'is-plain-object';\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tescapeHTML,\n\tescapeAttribute,\n\tisValidAttributeName,\n} from '@wordpress/escape-html';\n\n/**\n * Internal dependencies\n */\nimport { createContext, Fragment, StrictMode, forwardRef } from './react';\nimport RawHTML from './raw-html';\n\n/** @typedef {import('react').ReactElement} ReactElement */\n\nconst { Provider, Consumer } = createContext( undefined );\nconst ForwardRef = forwardRef( () => {\n\treturn null;\n} );\n\n/**\n * Valid attribute types.\n *\n * @type {Set<string>}\n */\nconst ATTRIBUTES_TYPES = new Set( [ 'string', 'boolean', 'number' ] );\n\n/**\n * Element tags which can be self-closing.\n *\n * @type {Set<string>}\n */\nconst SELF_CLOSING_TAGS = new Set( [\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr',\n] );\n\n/**\n * Boolean attributes are attributes whose presence as being assigned is\n * meaningful, even if only empty.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n * .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * @type {Set<string>}\n */\nconst BOOLEAN_ATTRIBUTES = new Set( [\n\t'allowfullscreen',\n\t'allowpaymentrequest',\n\t'allowusermedia',\n\t'async',\n\t'autofocus',\n\t'autoplay',\n\t'checked',\n\t'controls',\n\t'default',\n\t'defer',\n\t'disabled',\n\t'download',\n\t'formnovalidate',\n\t'hidden',\n\t'ismap',\n\t'itemscope',\n\t'loop',\n\t'multiple',\n\t'muted',\n\t'nomodule',\n\t'novalidate',\n\t'open',\n\t'playsinline',\n\t'readonly',\n\t'required',\n\t'reversed',\n\t'selected',\n\t'typemustmatch',\n] );\n\n/**\n * Enumerated attributes are attributes which must be of a specific value form.\n * Like boolean attributes, these are meaningful if specified, even if not of a\n * valid enumerated value.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n * .filter( ( tr ) => /^(\"(.+?)\";?\\s*)+/.test( tr.lastChild.textContent.trim() ) )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * Some notable omissions:\n *\n * - `alt`: https://blog.whatwg.org/omit-alt\n *\n * @type {Set<string>}\n */\nconst ENUMERATED_ATTRIBUTES = new Set( [\n\t'autocapitalize',\n\t'autocomplete',\n\t'charset',\n\t'contenteditable',\n\t'crossorigin',\n\t'decoding',\n\t'dir',\n\t'draggable',\n\t'enctype',\n\t'formenctype',\n\t'formmethod',\n\t'http-equiv',\n\t'inputmode',\n\t'kind',\n\t'method',\n\t'preload',\n\t'scope',\n\t'shape',\n\t'spellcheck',\n\t'translate',\n\t'type',\n\t'wrap',\n] );\n\n/**\n * Set of CSS style properties which support assignment of unitless numbers.\n * Used in rendering of style properties, where `px` unit is assumed unless\n * property is included in this set or value is zero.\n *\n * Generated via:\n *\n * Object.entries( document.createElement( 'div' ).style )\n * .filter( ( [ key ] ) => (\n * ! /^(webkit|ms|moz)/.test( key ) &&\n * ( e.style[ key ] = 10 ) &&\n * e.style[ key ] === '10'\n * ) )\n * .map( ( [ key ] ) => key )\n * .sort();\n *\n * @type {Set<string>}\n */\nconst CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set( [\n\t'animation',\n\t'animationIterationCount',\n\t'baselineShift',\n\t'borderImageOutset',\n\t'borderImageSlice',\n\t'borderImageWidth',\n\t'columnCount',\n\t'cx',\n\t'cy',\n\t'fillOpacity',\n\t'flexGrow',\n\t'flexShrink',\n\t'floodOpacity',\n\t'fontWeight',\n\t'gridColumnEnd',\n\t'gridColumnStart',\n\t'gridRowEnd',\n\t'gridRowStart',\n\t'lineHeight',\n\t'opacity',\n\t'order',\n\t'orphans',\n\t'r',\n\t'rx',\n\t'ry',\n\t'shapeImageThreshold',\n\t'stopOpacity',\n\t'strokeDasharray',\n\t'strokeDashoffset',\n\t'strokeMiterlimit',\n\t'strokeOpacity',\n\t'strokeWidth',\n\t'tabSize',\n\t'widows',\n\t'x',\n\t'y',\n\t'zIndex',\n\t'zoom',\n] );\n\n/**\n * Returns true if the specified string is prefixed by one of an array of\n * possible prefixes.\n *\n * @param {string} string String to check.\n * @param {string[]} prefixes Possible prefixes.\n *\n * @return {boolean} Whether string has prefix.\n */\nexport function hasPrefix( string, prefixes ) {\n\treturn prefixes.some( ( prefix ) => string.indexOf( prefix ) === 0 );\n}\n\n/**\n * Returns true if the given prop name should be ignored in attributes\n * serialization, or false otherwise.\n *\n * @param {string} attribute Attribute to check.\n *\n * @return {boolean} Whether attribute should be ignored.\n */\nfunction isInternalAttribute( attribute ) {\n\treturn 'key' === attribute || 'children' === attribute;\n}\n\n/**\n * Returns the normal form of the element's attribute value for HTML.\n *\n * @param {string} attribute Attribute name.\n * @param {*} value Non-normalized attribute value.\n *\n * @return {*} Normalized attribute value.\n */\nfunction getNormalAttributeValue( attribute, value ) {\n\tswitch ( attribute ) {\n\t\tcase 'style':\n\t\t\treturn renderStyle( value );\n\t}\n\n\treturn value;\n}\n/**\n * This is a map of all SVG attributes that have dashes. Map(lower case prop => dashed lower case attribute).\n * We need this to render e.g strokeWidth as stroke-width.\n *\n * List from: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute.\n */\nconst SVG_ATTRIBUTE_WITH_DASHES_LIST = [\n\t'accentHeight',\n\t'alignmentBaseline',\n\t'arabicForm',\n\t'baselineShift',\n\t'capHeight',\n\t'clipPath',\n\t'clipRule',\n\t'colorInterpolation',\n\t'colorInterpolationFilters',\n\t'colorProfile',\n\t'colorRendering',\n\t'dominantBaseline',\n\t'enableBackground',\n\t'fillOpacity',\n\t'fillRule',\n\t'floodColor',\n\t'floodOpacity',\n\t'fontFamily',\n\t'fontSize',\n\t'fontSizeAdjust',\n\t'fontStretch',\n\t'fontStyle',\n\t'fontVariant',\n\t'fontWeight',\n\t'glyphName',\n\t'glyphOrientationHorizontal',\n\t'glyphOrientationVertical',\n\t'horizAdvX',\n\t'horizOriginX',\n\t'imageRendering',\n\t'letterSpacing',\n\t'lightingColor',\n\t'markerEnd',\n\t'markerMid',\n\t'markerStart',\n\t'overlinePosition',\n\t'overlineThickness',\n\t'paintOrder',\n\t'panose1',\n\t'pointerEvents',\n\t'renderingIntent',\n\t'shapeRendering',\n\t'stopColor',\n\t'stopOpacity',\n\t'strikethroughPosition',\n\t'strikethroughThickness',\n\t'strokeDasharray',\n\t'strokeDashoffset',\n\t'strokeLinecap',\n\t'strokeLinejoin',\n\t'strokeMiterlimit',\n\t'strokeOpacity',\n\t'strokeWidth',\n\t'textAnchor',\n\t'textDecoration',\n\t'textRendering',\n\t'underlinePosition',\n\t'underlineThickness',\n\t'unicodeBidi',\n\t'unicodeRange',\n\t'unitsPerEm',\n\t'vAlphabetic',\n\t'vHanging',\n\t'vIdeographic',\n\t'vMathematical',\n\t'vectorEffect',\n\t'vertAdvY',\n\t'vertOriginX',\n\t'vertOriginY',\n\t'wordSpacing',\n\t'writingMode',\n\t'xmlnsXlink',\n\t'xHeight',\n].reduce( ( map, attribute ) => {\n\t// The keys are lower-cased for more robust lookup.\n\tmap[ attribute.toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * This is a map of all case-sensitive SVG attributes. Map(lowercase key => proper case attribute).\n * The keys are lower-cased for more robust lookup.\n * Note that this list only contains attributes that contain at least one capital letter.\n * Lowercase attributes don't need mapping, since we lowercase all attributes by default.\n */\nconst CASE_SENSITIVE_SVG_ATTRIBUTES = [\n\t'allowReorder',\n\t'attributeName',\n\t'attributeType',\n\t'autoReverse',\n\t'baseFrequency',\n\t'baseProfile',\n\t'calcMode',\n\t'clipPathUnits',\n\t'contentScriptType',\n\t'contentStyleType',\n\t'diffuseConstant',\n\t'edgeMode',\n\t'externalResourcesRequired',\n\t'filterRes',\n\t'filterUnits',\n\t'glyphRef',\n\t'gradientTransform',\n\t'gradientUnits',\n\t'kernelMatrix',\n\t'kernelUnitLength',\n\t'keyPoints',\n\t'keySplines',\n\t'keyTimes',\n\t'lengthAdjust',\n\t'limitingConeAngle',\n\t'markerHeight',\n\t'markerUnits',\n\t'markerWidth',\n\t'maskContentUnits',\n\t'maskUnits',\n\t'numOctaves',\n\t'pathLength',\n\t'patternContentUnits',\n\t'patternTransform',\n\t'patternUnits',\n\t'pointsAtX',\n\t'pointsAtY',\n\t'pointsAtZ',\n\t'preserveAlpha',\n\t'preserveAspectRatio',\n\t'primitiveUnits',\n\t'refX',\n\t'refY',\n\t'repeatCount',\n\t'repeatDur',\n\t'requiredExtensions',\n\t'requiredFeatures',\n\t'specularConstant',\n\t'specularExponent',\n\t'spreadMethod',\n\t'startOffset',\n\t'stdDeviation',\n\t'stitchTiles',\n\t'suppressContentEditableWarning',\n\t'suppressHydrationWarning',\n\t'surfaceScale',\n\t'systemLanguage',\n\t'tableValues',\n\t'targetX',\n\t'targetY',\n\t'textLength',\n\t'viewBox',\n\t'viewTarget',\n\t'xChannelSelector',\n\t'yChannelSelector',\n].reduce( ( map, attribute ) => {\n\t// The keys are lower-cased for more robust lookup.\n\tmap[ attribute.toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * This is a map of all SVG attributes that have colons.\n * Keys are lower-cased and stripped of their colons for more robust lookup.\n */\nconst SVG_ATTRIBUTES_WITH_COLONS = [\n\t'xlink:actuate',\n\t'xlink:arcrole',\n\t'xlink:href',\n\t'xlink:role',\n\t'xlink:show',\n\t'xlink:title',\n\t'xlink:type',\n\t'xml:base',\n\t'xml:lang',\n\t'xml:space',\n\t'xmlns:xlink',\n].reduce( ( map, attribute ) => {\n\tmap[ attribute.replace( ':', '' ).toLowerCase() ] = attribute;\n\treturn map;\n}, {} );\n\n/**\n * Returns the normal form of the element's attribute name for HTML.\n *\n * @param {string} attribute Non-normalized attribute name.\n *\n * @return {string} Normalized attribute name.\n */\nfunction getNormalAttributeName( attribute ) {\n\tswitch ( attribute ) {\n\t\tcase 'htmlFor':\n\t\t\treturn 'for';\n\n\t\tcase 'className':\n\t\t\treturn 'class';\n\t}\n\tconst attributeLowerCase = attribute.toLowerCase();\n\n\tif ( CASE_SENSITIVE_SVG_ATTRIBUTES[ attributeLowerCase ] ) {\n\t\treturn CASE_SENSITIVE_SVG_ATTRIBUTES[ attributeLowerCase ];\n\t} else if ( SVG_ATTRIBUTE_WITH_DASHES_LIST[ attributeLowerCase ] ) {\n\t\treturn kebabCase(\n\t\t\tSVG_ATTRIBUTE_WITH_DASHES_LIST[ attributeLowerCase ]\n\t\t);\n\t} else if ( SVG_ATTRIBUTES_WITH_COLONS[ attributeLowerCase ] ) {\n\t\treturn SVG_ATTRIBUTES_WITH_COLONS[ attributeLowerCase ];\n\t}\n\n\treturn attributeLowerCase;\n}\n\n/**\n * Returns the normal form of the style property name for HTML.\n *\n * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color'\n * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor'\n * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform'\n *\n * @param {string} property Property name.\n *\n * @return {string} Normalized property name.\n */\nfunction getNormalStylePropertyName( property ) {\n\tif ( property.startsWith( '--' ) ) {\n\t\treturn property;\n\t}\n\n\tif ( hasPrefix( property, [ 'ms', 'O', 'Moz', 'Webkit' ] ) ) {\n\t\treturn '-' + kebabCase( property );\n\t}\n\n\treturn kebabCase( property );\n}\n\n/**\n * Returns the normal form of the style property value for HTML. Appends a\n * default pixel unit if numeric, not a unitless property, and not zero.\n *\n * @param {string} property Property name.\n * @param {*} value Non-normalized property value.\n *\n * @return {*} Normalized property value.\n */\nfunction getNormalStylePropertyValue( property, value ) {\n\tif (\n\t\ttypeof value === 'number' &&\n\t\t0 !== value &&\n\t\t! CSS_PROPERTIES_SUPPORTS_UNITLESS.has( property )\n\t) {\n\t\treturn value + 'px';\n\t}\n\n\treturn value;\n}\n\n/**\n * Serializes a React element to string.\n *\n * @param {import('react').ReactNode} element Element to serialize.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element.\n */\nexport function renderElement( element, context, legacyContext = {} ) {\n\tif ( null === element || undefined === element || false === element ) {\n\t\treturn '';\n\t}\n\n\tif ( Array.isArray( element ) ) {\n\t\treturn renderChildren( element, context, legacyContext );\n\t}\n\n\tswitch ( typeof element ) {\n\t\tcase 'string':\n\t\t\treturn escapeHTML( element );\n\n\t\tcase 'number':\n\t\t\treturn element.toString();\n\t}\n\n\tconst { type, props } = /** @type {{type?: any, props?: any}} */ (\n\t\telement\n\t);\n\n\tswitch ( type ) {\n\t\tcase StrictMode:\n\t\tcase Fragment:\n\t\t\treturn renderChildren( props.children, context, legacyContext );\n\n\t\tcase RawHTML:\n\t\t\tconst { children, ...wrapperProps } = props;\n\n\t\t\treturn renderNativeComponent(\n\t\t\t\t! Object.keys( wrapperProps ).length ? null : 'div',\n\t\t\t\t{\n\t\t\t\t\t...wrapperProps,\n\t\t\t\t\tdangerouslySetInnerHTML: { __html: children },\n\t\t\t\t},\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\tswitch ( typeof type ) {\n\t\tcase 'string':\n\t\t\treturn renderNativeComponent( type, props, context, legacyContext );\n\n\t\tcase 'function':\n\t\t\tif (\n\t\t\t\ttype.prototype &&\n\t\t\t\ttypeof type.prototype.render === 'function'\n\t\t\t) {\n\t\t\t\treturn renderComponent( type, props, context, legacyContext );\n\t\t\t}\n\n\t\t\treturn renderElement(\n\t\t\t\ttype( props, legacyContext ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\tswitch ( type && type.$$typeof ) {\n\t\tcase Provider.$$typeof:\n\t\t\treturn renderChildren( props.children, props.value, legacyContext );\n\n\t\tcase Consumer.$$typeof:\n\t\t\treturn renderElement(\n\t\t\t\tprops.children( context || type._currentValue ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\n\t\tcase ForwardRef.$$typeof:\n\t\t\treturn renderElement(\n\t\t\t\ttype.render( props ),\n\t\t\t\tcontext,\n\t\t\t\tlegacyContext\n\t\t\t);\n\t}\n\n\treturn '';\n}\n\n/**\n * Serializes a native component type to string.\n *\n * @param {?string} type Native component type to serialize, or null if\n * rendering as fragment of children content.\n * @param {Object} props Props object.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element.\n */\nexport function renderNativeComponent(\n\ttype,\n\tprops,\n\tcontext,\n\tlegacyContext = {}\n) {\n\tlet content = '';\n\tif ( type === 'textarea' && props.hasOwnProperty( 'value' ) ) {\n\t\t// Textarea children can be assigned as value prop. If it is, render in\n\t\t// place of children. Ensure to omit so it is not assigned as attribute\n\t\t// as well.\n\t\tcontent = renderChildren( props.value, context, legacyContext );\n\t\tconst { value, ...restProps } = props;\n\t\tprops = restProps;\n\t} else if (\n\t\tprops.dangerouslySetInnerHTML &&\n\t\ttypeof props.dangerouslySetInnerHTML.__html === 'string'\n\t) {\n\t\t// Dangerous content is left unescaped.\n\t\tcontent = props.dangerouslySetInnerHTML.__html;\n\t} else if ( typeof props.children !== 'undefined' ) {\n\t\tcontent = renderChildren( props.children, context, legacyContext );\n\t}\n\n\tif ( ! type ) {\n\t\treturn content;\n\t}\n\n\tconst attributes = renderAttributes( props );\n\n\tif ( SELF_CLOSING_TAGS.has( type ) ) {\n\t\treturn '<' + type + attributes + '/>';\n\t}\n\n\treturn '<' + type + attributes + '>' + content + '</' + type + '>';\n}\n\n/** @typedef {import('react').ComponentType} ComponentType */\n\n/**\n * Serializes a non-native component type to string.\n *\n * @param {ComponentType} Component Component type to serialize.\n * @param {Object} props Props object.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized element\n */\nexport function renderComponent(\n\tComponent,\n\tprops,\n\tcontext,\n\tlegacyContext = {}\n) {\n\tconst instance = new /** @type {import('react').ComponentClass} */ (\n\t\tComponent\n\t)( props, legacyContext );\n\n\tif (\n\t\ttypeof (\n\t\t\t// Ignore reason: Current prettier reformats parens and mangles type assertion\n\t\t\t// prettier-ignore\n\t\t\t/** @type {{getChildContext?: () => unknown}} */ ( instance ).getChildContext\n\t\t) === 'function'\n\t) {\n\t\tObject.assign(\n\t\t\tlegacyContext,\n\t\t\t/** @type {{getChildContext?: () => unknown}} */ (\n\t\t\t\tinstance\n\t\t\t).getChildContext()\n\t\t);\n\t}\n\n\tconst html = renderElement( instance.render(), context, legacyContext );\n\n\treturn html;\n}\n\n/**\n * Serializes an array of children to string.\n *\n * @param {import('react').ReactNodeArray} children Children to serialize.\n * @param {Object} [context] Context object.\n * @param {Object} [legacyContext] Legacy context object.\n *\n * @return {string} Serialized children.\n */\nfunction renderChildren( children, context, legacyContext = {} ) {\n\tlet result = '';\n\n\tchildren = Array.isArray( children ) ? children : [ children ];\n\n\tfor ( let i = 0; i < children.length; i++ ) {\n\t\tconst child = children[ i ];\n\n\t\tresult += renderElement( child, context, legacyContext );\n\t}\n\n\treturn result;\n}\n\n/**\n * Renders a props object as a string of HTML attributes.\n *\n * @param {Object} props Props object.\n *\n * @return {string} Attributes string.\n */\nexport function renderAttributes( props ) {\n\tlet result = '';\n\n\tfor ( const key in props ) {\n\t\tconst attribute = getNormalAttributeName( key );\n\t\tif ( ! isValidAttributeName( attribute ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet value = getNormalAttributeValue( key, props[ key ] );\n\n\t\t// If value is not of serializeable type, skip.\n\t\tif ( ! ATTRIBUTES_TYPES.has( typeof value ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Don't render internal attribute names.\n\t\tif ( isInternalAttribute( key ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst isBooleanAttribute = BOOLEAN_ATTRIBUTES.has( attribute );\n\n\t\t// Boolean attribute should be omitted outright if its value is false.\n\t\tif ( isBooleanAttribute && value === false ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst isMeaningfulAttribute =\n\t\t\tisBooleanAttribute ||\n\t\t\thasPrefix( key, [ 'data-', 'aria-' ] ) ||\n\t\t\tENUMERATED_ATTRIBUTES.has( attribute );\n\n\t\t// Only write boolean value as attribute if meaningful.\n\t\tif ( typeof value === 'boolean' && ! isMeaningfulAttribute ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tresult += ' ' + attribute;\n\n\t\t// Boolean attributes should write attribute name, but without value.\n\t\t// Mere presence of attribute name is effective truthiness.\n\t\tif ( isBooleanAttribute ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( typeof value === 'string' ) {\n\t\t\tvalue = escapeAttribute( value );\n\t\t}\n\n\t\tresult += '=\"' + value + '\"';\n\t}\n\n\treturn result;\n}\n\n/**\n * Renders a style object as a string attribute value.\n *\n * @param {Object} style Style object.\n *\n * @return {string} Style attribute value.\n */\nexport function renderStyle( style ) {\n\t// Only generate from object, e.g. tolerate string value.\n\tif ( ! isPlainObject( style ) ) {\n\t\treturn style;\n\t}\n\n\tlet result;\n\n\tfor ( const property in style ) {\n\t\tconst value = style[ property ];\n\t\tif ( null === value || undefined === value ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( result ) {\n\t\t\tresult += ';';\n\t\t} else {\n\t\t\tresult = '';\n\t\t}\n\n\t\tconst normalName = getNormalStylePropertyName( property );\n\t\tconst normalValue = getNormalStylePropertyValue( property, value );\n\t\tresult += normalName + ':' + normalValue;\n\t}\n\n\treturn result;\n}\n\nexport default renderElement;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,SAAS,IAAIC,SAAS,QAAQ,aAAa;;AAEpD;AACA;AACA;AACA,SACCC,UAAU,EACVC,eAAe,EACfC,oBAAoB,QACd,wBAAwB;;AAE/B;AACA;AACA;AACA,SAASC,aAAa,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,UAAU,QAAQ,SAAS;AACzE,OAAOC,OAAO,MAAM,YAAY;;AAEhC;;AAEA,MAAM;EAAEC,QAAQ;EAAEC;AAAS,CAAC,GAAGN,aAAa,CAAEO,SAAU,CAAC;AACzD,MAAMC,UAAU,GAAGL,UAAU,CAAE,MAAM;EACpC,OAAO,IAAI;AACZ,CAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAMM,gBAAgB,GAAG,IAAIC,GAAG,CAAE,CAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAG,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,IAAID,GAAG,CAAE,CAClC,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,KAAK,CACJ,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,kBAAkB,GAAG,IAAIF,GAAG,CAAE,CACnC,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,EACP,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,EACV,OAAO,EACP,UAAU,EACV,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,CACd,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,qBAAqB,GAAG,IAAIH,GAAG,CAAE,CACtC,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,KAAK,EACL,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,EACP,YAAY,EACZ,WAAW,EACX,MAAM,EACN,MAAM,CACL,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,gCAAgC,GAAG,IAAIJ,GAAG,CAAE,CACjD,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACT,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,EACH,QAAQ,EACR,MAAM,CACL,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,SAASA,CAAEC,MAAM,EAAEC,QAAQ,EAAG;EAC7C,OAAOA,QAAQ,CAACC,IAAI,CAAIC,MAAM,IAAMH,MAAM,CAACI,OAAO,CAAED,MAAO,CAAC,KAAK,CAAE,CAAC;AACrE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,mBAAmBA,CAAEC,SAAS,EAAG;EACzC,OAAO,KAAK,KAAKA,SAAS,IAAI,UAAU,KAAKA,SAAS;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,uBAAuBA,CAAED,SAAS,EAAEE,KAAK,EAAG;EACpD,QAASF,SAAS;IACjB,KAAK,OAAO;MACX,OAAOG,WAAW,CAAED,KAAM,CAAC;EAC7B;EAEA,OAAOA,KAAK;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,8BAA8B,GAAG,CACtC,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,4BAA4B,EAC5B,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,SAAS,CACT,CAACC,MAAM,CAAE,CAAEC,GAAG,EAAEN,SAAS,KAAM;EAC/B;EACAM,GAAG,CAAEN,SAAS,CAACO,WAAW,CAAC,CAAC,CAAE,GAAGP,SAAS;EAC1C,OAAOM,GAAG;AACX,CAAC,EAAE,CAAC,CAAE,CAAC;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,6BAA6B,GAAG,CACrC,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,2BAA2B,EAC3B,WAAW,EACX,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,CAClB,CAACH,MAAM,CAAE,CAAEC,GAAG,EAAEN,SAAS,KAAM;EAC/B;EACAM,GAAG,CAAEN,SAAS,CAACO,WAAW,CAAC,CAAC,CAAE,GAAGP,SAAS;EAC1C,OAAOM,GAAG;AACX,CAAC,EAAE,CAAC,CAAE,CAAC;;AAEP;AACA;AACA;AACA;AACA,MAAMG,0BAA0B,GAAG,CAClC,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,CACb,CAACJ,MAAM,CAAE,CAAEC,GAAG,EAAEN,SAAS,KAAM;EAC/BM,GAAG,CAAEN,SAAS,CAACU,OAAO,CAAE,GAAG,EAAE,EAAG,CAAC,CAACH,WAAW,CAAC,CAAC,CAAE,GAAGP,SAAS;EAC7D,OAAOM,GAAG;AACX,CAAC,EAAE,CAAC,CAAE,CAAC;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,sBAAsBA,CAAEX,SAAS,EAAG;EAC5C,QAASA,SAAS;IACjB,KAAK,SAAS;MACb,OAAO,KAAK;IAEb,KAAK,WAAW;MACf,OAAO,OAAO;EAChB;EACA,MAAMY,kBAAkB,GAAGZ,SAAS,CAACO,WAAW,CAAC,CAAC;EAElD,IAAKC,6BAA6B,CAAEI,kBAAkB,CAAE,EAAG;IAC1D,OAAOJ,6BAA6B,CAAEI,kBAAkB,CAAE;EAC3D,CAAC,MAAM,IAAKR,8BAA8B,CAAEQ,kBAAkB,CAAE,EAAG;IAClE,OAAOtC,SAAS,CACf8B,8BAA8B,CAAEQ,kBAAkB,CACnD,CAAC;EACF,CAAC,MAAM,IAAKH,0BAA0B,CAAEG,kBAAkB,CAAE,EAAG;IAC9D,OAAOH,0BAA0B,CAAEG,kBAAkB,CAAE;EACxD;EAEA,OAAOA,kBAAkB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,0BAA0BA,CAAEC,QAAQ,EAAG;EAC/C,IAAKA,QAAQ,CAACC,UAAU,CAAE,IAAK,CAAC,EAAG;IAClC,OAAOD,QAAQ;EAChB;EAEA,IAAKrB,SAAS,CAAEqB,QAAQ,EAAE,CAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAG,CAAC,EAAG;IAC5D,OAAO,GAAG,GAAGxC,SAAS,CAAEwC,QAAS,CAAC;EACnC;EAEA,OAAOxC,SAAS,CAAEwC,QAAS,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,2BAA2BA,CAAEF,QAAQ,EAAEZ,KAAK,EAAG;EACvD,IACC,OAAOA,KAAK,KAAK,QAAQ,IACzB,CAAC,KAAKA,KAAK,IACX,CAAEV,gCAAgC,CAACyB,GAAG,CAAEH,QAAS,CAAC,EACjD;IACD,OAAOZ,KAAK,GAAG,IAAI;EACpB;EAEA,OAAOA,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASgB,aAAaA,CAAEC,OAAO,EAAEC,OAAO,EAAEC,aAAa,GAAG,CAAC,CAAC,EAAG;EACrE,IAAK,IAAI,KAAKF,OAAO,IAAIlC,SAAS,KAAKkC,OAAO,IAAI,KAAK,KAAKA,OAAO,EAAG;IACrE,OAAO,EAAE;EACV;EAEA,IAAKG,KAAK,CAACC,OAAO,CAAEJ,OAAQ,CAAC,EAAG;IAC/B,OAAOK,cAAc,CAAEL,OAAO,EAAEC,OAAO,EAAEC,aAAc,CAAC;EACzD;EAEA,QAAS,OAAOF,OAAO;IACtB,KAAK,QAAQ;MACZ,OAAO5C,UAAU,CAAE4C,OAAQ,CAAC;IAE7B,KAAK,QAAQ;MACZ,OAAOA,OAAO,CAACM,QAAQ,CAAC,CAAC;EAC3B;EAEA,MAAM;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG;EACvBR,OACA;EAED,QAASO,IAAI;IACZ,KAAK9C,UAAU;IACf,KAAKD,QAAQ;MACZ,OAAO6C,cAAc,CAAEG,KAAK,CAACC,QAAQ,EAAER,OAAO,EAAEC,aAAc,CAAC;IAEhE,KAAKvC,OAAO;MACX,MAAM;QAAE8C,QAAQ;QAAE,GAAGC;MAAa,CAAC,GAAGF,KAAK;MAE3C,OAAOG,qBAAqB,CAC3B,CAAEC,MAAM,CAACC,IAAI,CAAEH,YAAa,CAAC,CAACI,MAAM,GAAG,IAAI,GAAG,KAAK,EACnD;QACC,GAAGJ,YAAY;QACfK,uBAAuB,EAAE;UAAEC,MAAM,EAAEP;QAAS;MAC7C,CAAC,EACDR,OAAO,EACPC,aACD,CAAC;EACH;EAEA,QAAS,OAAOK,IAAI;IACnB,KAAK,QAAQ;MACZ,OAAOI,qBAAqB,CAAEJ,IAAI,EAAEC,KAAK,EAAEP,OAAO,EAAEC,aAAc,CAAC;IAEpE,KAAK,UAAU;MACd,IACCK,IAAI,CAACU,SAAS,IACd,OAAOV,IAAI,CAACU,SAAS,CAACC,MAAM,KAAK,UAAU,EAC1C;QACD,OAAOC,eAAe,CAAEZ,IAAI,EAAEC,KAAK,EAAEP,OAAO,EAAEC,aAAc,CAAC;MAC9D;MAEA,OAAOH,aAAa,CACnBQ,IAAI,CAAEC,KAAK,EAAEN,aAAc,CAAC,EAC5BD,OAAO,EACPC,aACD,CAAC;EACH;EAEA,QAASK,IAAI,IAAIA,IAAI,CAACa,QAAQ;IAC7B,KAAKxD,QAAQ,CAACwD,QAAQ;MACrB,OAAOf,cAAc,CAAEG,KAAK,CAACC,QAAQ,EAAED,KAAK,CAACzB,KAAK,EAAEmB,aAAc,CAAC;IAEpE,KAAKrC,QAAQ,CAACuD,QAAQ;MACrB,OAAOrB,aAAa,CACnBS,KAAK,CAACC,QAAQ,CAAER,OAAO,IAAIM,IAAI,CAACc,aAAc,CAAC,EAC/CpB,OAAO,EACPC,aACD,CAAC;IAEF,KAAKnC,UAAU,CAACqD,QAAQ;MACvB,OAAOrB,aAAa,CACnBQ,IAAI,CAACW,MAAM,CAAEV,KAAM,CAAC,EACpBP,OAAO,EACPC,aACD,CAAC;EACH;EAEA,OAAO,EAAE;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,qBAAqBA,CACpCJ,IAAI,EACJC,KAAK,EACLP,OAAO,EACPC,aAAa,GAAG,CAAC,CAAC,EACjB;EACD,IAAIoB,OAAO,GAAG,EAAE;EAChB,IAAKf,IAAI,KAAK,UAAU,IAAIC,KAAK,CAACe,cAAc,CAAE,OAAQ,CAAC,EAAG;IAC7D;IACA;IACA;IACAD,OAAO,GAAGjB,cAAc,CAAEG,KAAK,CAACzB,KAAK,EAAEkB,OAAO,EAAEC,aAAc,CAAC;IAC/D,MAAM;MAAEnB,KAAK;MAAE,GAAGyC;IAAU,CAAC,GAAGhB,KAAK;IACrCA,KAAK,GAAGgB,SAAS;EAClB,CAAC,MAAM,IACNhB,KAAK,CAACO,uBAAuB,IAC7B,OAAOP,KAAK,CAACO,uBAAuB,CAACC,MAAM,KAAK,QAAQ,EACvD;IACD;IACAM,OAAO,GAAGd,KAAK,CAACO,uBAAuB,CAACC,MAAM;EAC/C,CAAC,MAAM,IAAK,OAAOR,KAAK,CAACC,QAAQ,KAAK,WAAW,EAAG;IACnDa,OAAO,GAAGjB,cAAc,CAAEG,KAAK,CAACC,QAAQ,EAAER,OAAO,EAAEC,aAAc,CAAC;EACnE;EAEA,IAAK,CAAEK,IAAI,EAAG;IACb,OAAOe,OAAO;EACf;EAEA,MAAMG,UAAU,GAAGC,gBAAgB,CAAElB,KAAM,CAAC;EAE5C,IAAKtC,iBAAiB,CAAC4B,GAAG,CAAES,IAAK,CAAC,EAAG;IACpC,OAAO,GAAG,GAAGA,IAAI,GAAGkB,UAAU,GAAG,IAAI;EACtC;EAEA,OAAO,GAAG,GAAGlB,IAAI,GAAGkB,UAAU,GAAG,GAAG,GAAGH,OAAO,GAAG,IAAI,GAAGf,IAAI,GAAG,GAAG;AACnE;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASY,eAAeA,CAC9BQ,SAAS,EACTnB,KAAK,EACLP,OAAO,EACPC,aAAa,GAAG,CAAC,CAAC,EACjB;EACD,MAAM0B,QAAQ,GAAG,IAAI;EACpBD,SAAS,CACPnB,KAAK,EAAEN,aAAc,CAAC;EAEzB,IACC;EACC;EACA;EACA;EAAmD0B,QAAQ,CAAGC,eAC9D,KAAK,UAAU,EACf;IACDjB,MAAM,CAACkB,MAAM,CACZ5B,aAAa,EACb,gDACC0B,QAAQ,CACPC,eAAe,CAAC,CACnB,CAAC;EACF;EAEA,MAAME,IAAI,GAAGhC,aAAa,CAAE6B,QAAQ,CAACV,MAAM,CAAC,CAAC,EAAEjB,OAAO,EAAEC,aAAc,CAAC;EAEvE,OAAO6B,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS1B,cAAcA,CAAEI,QAAQ,EAAER,OAAO,EAAEC,aAAa,GAAG,CAAC,CAAC,EAAG;EAChE,IAAI8B,MAAM,GAAG,EAAE;EAEfvB,QAAQ,GAAGN,KAAK,CAACC,OAAO,CAAEK,QAAS,CAAC,GAAGA,QAAQ,GAAG,CAAEA,QAAQ,CAAE;EAE9D,KAAM,IAAIwB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxB,QAAQ,CAACK,MAAM,EAAEmB,CAAC,EAAE,EAAG;IAC3C,MAAMC,KAAK,GAAGzB,QAAQ,CAAEwB,CAAC,CAAE;IAE3BD,MAAM,IAAIjC,aAAa,CAAEmC,KAAK,EAAEjC,OAAO,EAAEC,aAAc,CAAC;EACzD;EAEA,OAAO8B,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASN,gBAAgBA,CAAElB,KAAK,EAAG;EACzC,IAAIwB,MAAM,GAAG,EAAE;EAEf,KAAM,MAAMG,GAAG,IAAI3B,KAAK,EAAG;IAC1B,MAAM3B,SAAS,GAAGW,sBAAsB,CAAE2C,GAAI,CAAC;IAC/C,IAAK,CAAE7E,oBAAoB,CAAEuB,SAAU,CAAC,EAAG;MAC1C;IACD;IAEA,IAAIE,KAAK,GAAGD,uBAAuB,CAAEqD,GAAG,EAAE3B,KAAK,CAAE2B,GAAG,CAAG,CAAC;;IAExD;IACA,IAAK,CAAEnE,gBAAgB,CAAC8B,GAAG,CAAE,OAAOf,KAAM,CAAC,EAAG;MAC7C;IACD;;IAEA;IACA,IAAKH,mBAAmB,CAAEuD,GAAI,CAAC,EAAG;MACjC;IACD;IAEA,MAAMC,kBAAkB,GAAGjE,kBAAkB,CAAC2B,GAAG,CAAEjB,SAAU,CAAC;;IAE9D;IACA,IAAKuD,kBAAkB,IAAIrD,KAAK,KAAK,KAAK,EAAG;MAC5C;IACD;IAEA,MAAMsD,qBAAqB,GAC1BD,kBAAkB,IAClB9D,SAAS,CAAE6D,GAAG,EAAE,CAAE,OAAO,EAAE,OAAO,CAAG,CAAC,IACtC/D,qBAAqB,CAAC0B,GAAG,CAAEjB,SAAU,CAAC;;IAEvC;IACA,IAAK,OAAOE,KAAK,KAAK,SAAS,IAAI,CAAEsD,qBAAqB,EAAG;MAC5D;IACD;IAEAL,MAAM,IAAI,GAAG,GAAGnD,SAAS;;IAEzB;IACA;IACA,IAAKuD,kBAAkB,EAAG;MACzB;IACD;IAEA,IAAK,OAAOrD,KAAK,KAAK,QAAQ,EAAG;MAChCA,KAAK,GAAG1B,eAAe,CAAE0B,KAAM,CAAC;IACjC;IAEAiD,MAAM,IAAI,IAAI,GAAGjD,KAAK,GAAG,GAAG;EAC7B;EAEA,OAAOiD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAShD,WAAWA,CAAEsD,KAAK,EAAG;EACpC;EACA,IAAK,CAAErF,aAAa,CAAEqF,KAAM,CAAC,EAAG;IAC/B,OAAOA,KAAK;EACb;EAEA,IAAIN,MAAM;EAEV,KAAM,MAAMrC,QAAQ,IAAI2C,KAAK,EAAG;IAC/B,MAAMvD,KAAK,GAAGuD,KAAK,CAAE3C,QAAQ,CAAE;IAC/B,IAAK,IAAI,KAAKZ,KAAK,IAAIjB,SAAS,KAAKiB,KAAK,EAAG;MAC5C;IACD;IAEA,IAAKiD,MAAM,EAAG;MACbA,MAAM,IAAI,GAAG;IACd,CAAC,MAAM;MACNA,MAAM,GAAG,EAAE;IACZ;IAEA,MAAMO,UAAU,GAAG7C,0BAA0B,CAAEC,QAAS,CAAC;IACzD,MAAM6C,WAAW,GAAG3C,2BAA2B,CAAEF,QAAQ,EAAEZ,KAAM,CAAC;IAClEiD,MAAM,IAAIO,UAAU,GAAG,GAAG,GAAGC,WAAW;EACzC;EAEA,OAAOR,MAAM;AACd;AAEA,eAAejC,aAAa"}
@@ -6,7 +6,7 @@ export type Frame = {
6
6
  /**
7
7
  * A parent element which may still have
8
8
  */
9
- element: WPElement;
9
+ element: Element;
10
10
  /**
11
11
  * Offset at which parent element first
12
12
  * appears.
@@ -31,9 +31,12 @@ export type Frame = {
31
31
  /**
32
32
  * Children.
33
33
  */
34
- children: WPElement[];
34
+ children: Element[];
35
35
  };
36
- export type WPElement = import('./react').WPElement;
36
+ /**
37
+ * Object containing a React element.
38
+ */
39
+ export type Element = import('react').ReactElement;
37
40
  /**
38
41
  * This function creates an interpolated element from a passed in string with
39
42
  * specific tags matching how the string should be converted to an element via
@@ -55,11 +58,11 @@ export type WPElement = import('./react').WPElement;
55
58
  * }
56
59
  * ```
57
60
  *
58
- * @param {string} interpolatedString The interpolation string to be parsed.
59
- * @param {Record<string, WPElement>} conversionMap The map used to convert the string to
60
- * a react element.
61
+ * @param {string} interpolatedString The interpolation string to be parsed.
62
+ * @param {Record<string, Element>} conversionMap The map used to convert the string to
63
+ * a react element.
61
64
  * @throws {TypeError}
62
- * @return {WPElement} A wp element.
65
+ * @return {Element} A wp element.
63
66
  */
64
- declare function createInterpolateElement(interpolatedString: string, conversionMap: Record<string, WPElement>): WPElement;
67
+ declare function createInterpolateElement(interpolatedString: string, conversionMap: Record<string, Element>): Element;
65
68
  //# sourceMappingURL=create-interpolate-element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-interpolate-element.d.ts","sourceRoot":"","sources":["../src/create-interpolate-element.js"],"names":[],"mappings":";;;;;;;;aA+Bc,SAAS;;;;;gBACT,MAAM;;;;;iBAEN,MAAM;;;;;iBAEN,MAAM;;;;;;uBAEN,MAAM;;;;cAGN,SAAS,EAAE;;wBApCX,OAAO,SAAS,EAAE,SAAS;AA6EzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,8DANW,MAAM,iBACN,OAAO,MAAM,EAAE,SAAS,CAAC,GAGxB,SAAS,CAmBpB"}
1
+ {"version":3,"file":"create-interpolate-element.d.ts","sourceRoot":"","sources":["../src/create-interpolate-element.js"],"names":[],"mappings":";;;;;;;;aAmCc,OAAO;;;;;gBACP,MAAM;;;;;iBAEN,MAAM;;;;;iBAEN,MAAM;;;;;;uBAEN,MAAM;;;;cAGN,OAAO,EAAE;;;;;sBArCV,OAAO,OAAO,EAAE,YAAY;AA8EzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,8DANW,MAAM,iBACN,OAAO,MAAM,EAAE,OAAO,CAAC,GAGtB,OAAO,CAmBlB"}
@@ -18,15 +18,15 @@ export function switchChildrenNodeName(children: any | null, nodeName: string):
18
18
  /**
19
19
  * Object containing a React element.
20
20
  */
21
- export type WPElement = import('react').ReactElement;
21
+ export type Element = import('react').ReactElement;
22
22
  /**
23
23
  * Object containing a React component.
24
24
  */
25
- export type WPComponent = import('react').ComponentType;
25
+ export type ComponentType = import('react').ComponentType;
26
26
  /**
27
27
  * Object containing a React synthetic event.
28
28
  */
29
- export type WPSyntheticEvent = import('react').SyntheticEvent;
29
+ export type SyntheticEvent = import('react').SyntheticEvent;
30
30
  /**
31
31
  * <T>
32
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.js"],"names":[],"mappings":"AAgPA;;;;;;GAMG;AACH,4EAcC;AAED;;;;;;;GAOG;AACH,uEAJW,MAAM,cAmBhB;;;;wBAvPY,OAAO,OAAO,EAAE,YAAY;;;;0BAM5B,OAAO,OAAO,EAAE,aAAa;;;;+BAM7B,OAAO,OAAO,EAAE,cAAc;;;;2BAO9B,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;yBAxBlC,OAAO;6BAAP,OAAO;0BAAP,OAAO;8BAAP,OAAO;8BAAP,OAAO;0BAAP,OAAO;2BAAP,OAAO;yBAAP,OAAO;+BAAP,OAAO;qBAAP,OAAO;2BAAP,OAAO;4BAAP,OAAO;2BAAP,OAAO;8BAAP,OAAO;iCAAP,OAAO;0BAAP,OAAO;sBAAP,OAAO;oCAAP,OAAO;mCAAP,OAAO;gCAAP,OAAO;wBAAP,OAAO;2BAAP,OAAO;uBAAP,OAAO;yBAAP,OAAO;qCAAP,OAAO;8BAAP,OAAO;gCAAP,OAAO;qBAAP,OAAO;yBAAP,OAAO"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.js"],"names":[],"mappings":"AAgPA;;;;;;GAMG;AACH,4EAcC;AAED;;;;;;;GAOG;AACH,uEAJW,MAAM,cAmBhB;;;;sBAvPY,OAAO,OAAO,EAAE,YAAY;;;;4BAM5B,OAAO,OAAO,EAAE,aAAa;;;;6BAM7B,OAAO,OAAO,EAAE,cAAc;;;;2BAO9B,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;yBAxBlC,OAAO;6BAAP,OAAO;0BAAP,OAAO;8BAAP,OAAO;8BAAP,OAAO;0BAAP,OAAO;2BAAP,OAAO;yBAAP,OAAO;+BAAP,OAAO;qBAAP,OAAO;2BAAP,OAAO;4BAAP,OAAO;2BAAP,OAAO;8BAAP,OAAO;iCAAP,OAAO;0BAAP,OAAO;sBAAP,OAAO;oCAAP,OAAO;mCAAP,OAAO;gCAAP,OAAO;wBAAP,OAAO;2BAAP,OAAO;uBAAP,OAAO;yBAAP,OAAO;qCAAP,OAAO;8BAAP,OAAO;gCAAP,OAAO;qBAAP,OAAO;yBAAP,OAAO"}
@@ -30,18 +30,18 @@ export function renderElement(element: import('react').ReactNode, context?: any,
30
30
  * @return {string} Serialized element.
31
31
  */
32
32
  export function renderNativeComponent(type: string | null, props: any, context?: any, legacyContext?: any): string;
33
- /** @typedef {import('./react').WPComponent} WPComponent */
33
+ /** @typedef {import('react').ComponentType} ComponentType */
34
34
  /**
35
35
  * Serializes a non-native component type to string.
36
36
  *
37
- * @param {WPComponent} Component Component type to serialize.
38
- * @param {Object} props Props object.
39
- * @param {Object} [context] Context object.
40
- * @param {Object} [legacyContext] Legacy context object.
37
+ * @param {ComponentType} Component Component type to serialize.
38
+ * @param {Object} props Props object.
39
+ * @param {Object} [context] Context object.
40
+ * @param {Object} [legacyContext] Legacy context object.
41
41
  *
42
42
  * @return {string} Serialized element
43
43
  */
44
- export function renderComponent(Component: WPComponent, props: any, context?: any, legacyContext?: any): string;
44
+ export function renderComponent(Component: ComponentType, props: any, context?: any, legacyContext?: any): string;
45
45
  /**
46
46
  * Renders a props object as a string of HTML attributes.
47
47
  *
@@ -59,6 +59,6 @@ export function renderAttributes(props: any): string;
59
59
  */
60
60
  export function renderStyle(style: any): string;
61
61
  export default renderElement;
62
- export type WPComponent = import('./react').WPComponent;
63
- export type WPElement = import('./react').WPElement;
62
+ export type ComponentType = import('react').ComponentType;
63
+ export type ReactElement = import('react').ReactElement;
64
64
  //# sourceMappingURL=serialize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.js"],"names":[],"mappings":"AA4OA;;;;;;;;GAQG;AACH,kCALW,MAAM,YACN,MAAM,EAAE,GAEP,OAAO,CAIlB;AAiSD;;;;;;;;GAQG;AACH,uCANW,OAAO,OAAO,EAAE,SAAS,uCAIxB,MAAM,CAiFjB;AAED;;;;;;;;;;GAUG;AACH,4CARY,MAAM,0DAMN,MAAM,CAqCjB;AAED,2DAA2D;AAE3D;;;;;;;;;GASG;AACH,2CAPW,WAAW,mDAKV,MAAM,CA8BjB;AAyBD;;;;;;GAMG;AACH,8CAFY,MAAM,CAwDjB;AAED;;;;;;GAMG;AACH,yCAFY,MAAM,CA4BjB;;0BAjKa,OAAO,SAAS,EAAE,WAAW;wBAlnB7B,OAAO,SAAS,EAAE,SAAS"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.js"],"names":[],"mappings":"AA4OA;;;;;;;;GAQG;AACH,kCALW,MAAM,YACN,MAAM,EAAE,GAEP,OAAO,CAIlB;AAiSD;;;;;;;;GAQG;AACH,uCANW,OAAO,OAAO,EAAE,SAAS,uCAIxB,MAAM,CAiFjB;AAED;;;;;;;;;;GAUG;AACH,4CARY,MAAM,0DAMN,MAAM,CAqCjB;AAED,6DAA6D;AAE7D;;;;;;;;;GASG;AACH,2CAPW,aAAa,mDAKZ,MAAM,CA8BjB;AAyBD;;;;;;GAMG;AACH,8CAFY,MAAM,CAwDjB;AAED;;;;;;GAMG;AACH,yCAFY,MAAM,CA4BjB;;4BAjKa,OAAO,OAAO,EAAE,aAAa;2BAlnB7B,OAAO,OAAO,EAAE,YAAY"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/element",
3
- "version": "5.19.2",
3
+ "version": "5.20.0",
4
4
  "description": "Element React module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -31,7 +31,7 @@
31
31
  "@babel/runtime": "^7.16.0",
32
32
  "@types/react": "^18.0.21",
33
33
  "@types/react-dom": "^18.0.6",
34
- "@wordpress/escape-html": "^2.42.2",
34
+ "@wordpress/escape-html": "^2.43.0",
35
35
  "change-case": "^4.1.2",
36
36
  "is-plain-object": "^5.0.0",
37
37
  "react": "^18.2.0",
@@ -40,5 +40,5 @@
40
40
  "publishConfig": {
41
41
  "access": "public"
42
42
  },
43
- "gitHead": "5d2e3d07cc97af8090fc32c1e5d5013a2967e752"
43
+ "gitHead": "9b8e598c5418d38fe72197c24ef1d3dd6c712151"
44
44
  }
@@ -3,7 +3,11 @@
3
3
  */
4
4
  import { createElement, cloneElement, Fragment, isValidElement } from './react';
5
5
 
6
- /** @typedef {import('./react').WPElement} WPElement */
6
+ /**
7
+ * Object containing a React element.
8
+ *
9
+ * @typedef {import('react').ReactElement} Element
10
+ */
7
11
 
8
12
  let indoc, offset, output, stack;
9
13
 
@@ -29,17 +33,17 @@ const tokenizer = /<(\/)?(\w+)\s*(\/)?>/g;
29
33
  *
30
34
  * @typedef Frame
31
35
  *
32
- * @property {WPElement} element A parent element which may still have
33
- * @property {number} tokenStart Offset at which parent element first
34
- * appears.
35
- * @property {number} tokenLength Length of string marking start of parent
36
- * element.
37
- * @property {number} [prevOffset] Running offset at which parsing should
38
- * continue.
39
- * @property {number} [leadingTextStart] Offset at which last closing element
40
- * finished, used for finding text between
41
- * elements.
42
- * @property {WPElement[]} children Children.
36
+ * @property {Element} element A parent element which may still have
37
+ * @property {number} tokenStart Offset at which parent element first
38
+ * appears.
39
+ * @property {number} tokenLength Length of string marking start of parent
40
+ * element.
41
+ * @property {number} [prevOffset] Running offset at which parsing should
42
+ * continue.
43
+ * @property {number} [leadingTextStart] Offset at which last closing element
44
+ * finished, used for finding text between
45
+ * elements.
46
+ * @property {Element[]} children Children.
43
47
  */
44
48
 
45
49
  /**
@@ -49,17 +53,17 @@ const tokenizer = /<(\/)?(\w+)\s*(\/)?>/g;
49
53
  * parsed.
50
54
  *
51
55
  * @private
52
- * @param {WPElement} element A parent element which may still have
53
- * nested children not yet parsed.
54
- * @param {number} tokenStart Offset at which parent element first
55
- * appears.
56
- * @param {number} tokenLength Length of string marking start of parent
57
- * element.
58
- * @param {number} [prevOffset] Running offset at which parsing should
59
- * continue.
60
- * @param {number} [leadingTextStart] Offset at which last closing element
61
- * finished, used for finding text between
62
- * elements.
56
+ * @param {Element} element A parent element which may still have
57
+ * nested children not yet parsed.
58
+ * @param {number} tokenStart Offset at which parent element first
59
+ * appears.
60
+ * @param {number} tokenLength Length of string marking start of parent
61
+ * element.
62
+ * @param {number} [prevOffset] Running offset at which parsing should
63
+ * continue.
64
+ * @param {number} [leadingTextStart] Offset at which last closing element
65
+ * finished, used for finding text between
66
+ * elements.
63
67
  *
64
68
  * @return {Frame} The stack frame tracking parse progress.
65
69
  */
@@ -101,11 +105,11 @@ function createFrame(
101
105
  * }
102
106
  * ```
103
107
  *
104
- * @param {string} interpolatedString The interpolation string to be parsed.
105
- * @param {Record<string, WPElement>} conversionMap The map used to convert the string to
106
- * a react element.
108
+ * @param {string} interpolatedString The interpolation string to be parsed.
109
+ * @param {Record<string, Element>} conversionMap The map used to convert the string to
110
+ * a react element.
107
111
  * @throws {TypeError}
108
- * @return {WPElement} A wp element.
112
+ * @return {Element} A wp element.
109
113
  */
110
114
  const createInterpolateElement = ( interpolatedString, conversionMap ) => {
111
115
  indoc = interpolatedString;
@@ -116,7 +120,7 @@ const createInterpolateElement = ( interpolatedString, conversionMap ) => {
116
120
 
117
121
  if ( ! isValidConversionMap( conversionMap ) ) {
118
122
  throw new TypeError(
119
- 'The conversionMap provided is not valid. It must be an object with values that are WPElements'
123
+ 'The conversionMap provided is not valid. It must be an object with values that are React Elements'
120
124
  );
121
125
  }
122
126
 
@@ -130,7 +134,7 @@ const createInterpolateElement = ( interpolatedString, conversionMap ) => {
130
134
  * Validate conversion map.
131
135
  *
132
136
  * A map is considered valid if it's an object and every value in the object
133
- * is a WPElement
137
+ * is a React Element
134
138
  *
135
139
  * @private
136
140
  *
@@ -16,16 +16,16 @@ import { createRoot, hydrateRoot } from 'react-dom/client';
16
16
  *
17
17
  * @see https://github.com/facebook/react/issues/10309#issuecomment-318433235
18
18
  *
19
- * @param {import('./react').WPElement} child Any renderable child, such as an element,
20
- * string, or fragment.
21
- * @param {HTMLElement} container DOM node into which element should be rendered.
19
+ * @param {import('react').ReactElement} child Any renderable child, such as an element,
20
+ * string, or fragment.
21
+ * @param {HTMLElement} container DOM node into which element should be rendered.
22
22
  */
23
23
  export { createPortal };
24
24
 
25
25
  /**
26
26
  * Finds the dom node of a React component.
27
27
  *
28
- * @param {import('./react').WPComponent} component Component's instance.
28
+ * @param {import('react').ComponentType} component Component's instance.
29
29
  */
30
30
  export { findDOMNode };
31
31
 
package/src/react.js CHANGED
@@ -37,19 +37,19 @@ import {
37
37
  /**
38
38
  * Object containing a React element.
39
39
  *
40
- * @typedef {import('react').ReactElement} WPElement
40
+ * @typedef {import('react').ReactElement} Element
41
41
  */
42
42
 
43
43
  /**
44
44
  * Object containing a React component.
45
45
  *
46
- * @typedef {import('react').ComponentType} WPComponent
46
+ * @typedef {import('react').ComponentType} ComponentType
47
47
  */
48
48
 
49
49
  /**
50
50
  * Object containing a React synthetic event.
51
51
  *
52
- * @typedef {import('react').SyntheticEvent} WPSyntheticEvent
52
+ * @typedef {import('react').SyntheticEvent} SyntheticEvent
53
53
  */
54
54
 
55
55
  /**
@@ -67,10 +67,10 @@ export { Children };
67
67
  /**
68
68
  * Creates a copy of an element with extended props.
69
69
  *
70
- * @param {WPElement} element Element
71
- * @param {?Object} props Props to apply to cloned element
70
+ * @param {Element} element Element
71
+ * @param {?Object} props Props to apply to cloned element
72
72
  *
73
- * @return {WPElement} Cloned element.
73
+ * @return {Element} Cloned element.
74
74
  */
75
75
  export { cloneElement };
76
76
 
@@ -96,9 +96,9 @@ export { createContext };
96
96
  * @param {Object} props Element properties, either attribute
97
97
  * set to apply to DOM node or values to
98
98
  * pass through to element creator
99
- * @param {...WPElement} children Descendant elements
99
+ * @param {...Element} children Descendant elements
100
100
  *
101
- * @return {WPElement} Element.
101
+ * @return {Element} Element.
102
102
  */
103
103
  export { createElement };
104
104
 
@@ -120,7 +120,7 @@ export { createRef };
120
120
  * @param {Function} forwarder Function passed `props` and `ref`, expected to
121
121
  * return an element.
122
122
  *
123
- * @return {WPComponent} Enhanced component.
123
+ * @return {Component} Enhanced component.
124
124
  */
125
125
  export { forwardRef };
126
126
 
@@ -130,11 +130,11 @@ export { forwardRef };
130
130
  export { Fragment };
131
131
 
132
132
  /**
133
- * Checks if an object is a valid WPElement.
133
+ * Checks if an object is a valid React Element.
134
134
  *
135
135
  * @param {Object} objectToCheck The object to be checked.
136
136
  *
137
- * @return {boolean} true if objectToTest is a valid WPElement and false otherwise.
137
+ * @return {boolean} true if objectToTest is a valid React Element and false otherwise.
138
138
  */
139
139
  export { isValidElement };
140
140
 
package/src/serialize.js CHANGED
@@ -46,7 +46,7 @@ import {
46
46
  import { createContext, Fragment, StrictMode, forwardRef } from './react';
47
47
  import RawHTML from './raw-html';
48
48
 
49
- /** @typedef {import('./react').WPElement} WPElement */
49
+ /** @typedef {import('react').ReactElement} ReactElement */
50
50
 
51
51
  const { Provider, Consumer } = createContext( undefined );
52
52
  const ForwardRef = forwardRef( () => {
@@ -672,15 +672,15 @@ export function renderNativeComponent(
672
672
  return '<' + type + attributes + '>' + content + '</' + type + '>';
673
673
  }
674
674
 
675
- /** @typedef {import('./react').WPComponent} WPComponent */
675
+ /** @typedef {import('react').ComponentType} ComponentType */
676
676
 
677
677
  /**
678
678
  * Serializes a non-native component type to string.
679
679
  *
680
- * @param {WPComponent} Component Component type to serialize.
681
- * @param {Object} props Props object.
682
- * @param {Object} [context] Context object.
683
- * @param {Object} [legacyContext] Legacy context object.
680
+ * @param {ComponentType} Component Component type to serialize.
681
+ * @param {Object} props Props object.
682
+ * @param {Object} [context] Context object.
683
+ * @param {Object} [legacyContext] Legacy context object.
684
684
  *
685
685
  * @return {string} Serialized element
686
686
  */