Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mets.corals.io/wp-content/plugins/ultimate-blocks/admin/js/src/hoc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mets.corals.io/wp-content/plugins/ultimate-blocks/admin/js/src/hoc/withIcon.js
// eslint-disable-next-line no-unused-vars
import React, { createElement } from 'react';

/**
 * Hoc for creating and adding icon element by using Gutenberg block icon attribute object.
 *
 * @param {React.ElementType} BaseComponent target component
 * @returns {Function} function to use as HOC
 */
const withIcon = ( BaseComponent ) => ( props ) => {
	let iconElement = 'x';
	if ( ! props.iconObject || typeof props.iconObject !== 'object' ) {
		throw new Error( 'invalid type of icon object is supplied to withIcon HOC' );
	} else {
		const { iconObject } = props;
		const { type, props: iconProps } = iconObject;

		iconElement = createElement( type, iconProps );
	}

	return <BaseComponent { ...props } iconElement={ iconElement } />;
};

/**
 * @module withIcon
 */
export default withIcon;

Spamworldpro Mini