Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
woocommerce
/
packages
/
woocommerce-blocks
/
assets
/
js
/
base
/
components
/
loading-mask
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/** * External dependencies */ import { __ } from '@wordpress/i18n'; import PropTypes from 'prop-types'; import classNames from 'classnames'; /** * Internal dependencies */ import './style.scss'; import Spinner from '../spinner'; // @todo Find a way to block buttons/form components when LoadingMask isLoading const LoadingMask = ( { children, className, screenReaderLabel, showSpinner = false, isLoading = true, } ) => { return ( <div className={ classNames( className, { 'wc-block-components-loading-mask': isLoading, } ) } > { isLoading && showSpinner && <Spinner /> } <div className={ classNames( { 'wc-block-components-loading-mask__children': isLoading, } ) } aria-hidden={ isLoading } > { children } </div> { isLoading && ( <span className="screen-reader-text"> { screenReaderLabel || __( 'Loading…', 'woocommerce' ) } </span> ) } </div> ); }; LoadingMask.propTypes = { className: PropTypes.string, screenReaderLabel: PropTypes.string, showSpinner: PropTypes.bool, isLoading: PropTypes.bool, }; export default LoadingMask;