Server IP : 104.21.14.103 / Your IP : 18.117.7.212 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/root/home/giankuin/sieuthiweb.com.vn/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/js/base/components/label/ |
Upload File : |
/** * External dependencies */ import PropTypes from 'prop-types'; import { Fragment } from 'react'; import classNames from 'classnames'; /** * Component used to render an accessible text given a label and/or a * screenReaderLabel. The wrapper element and wrapper props can also be * specified via props. */ const Label = ( { label, screenReaderLabel, wrapperElement, wrapperProps, } ) => { let Wrapper; const hasLabel = typeof label !== 'undefined' && label !== null; const hasScreenReaderLabel = typeof screenReaderLabel !== 'undefined' && screenReaderLabel !== null; if ( ! hasLabel && hasScreenReaderLabel ) { Wrapper = wrapperElement || 'span'; wrapperProps = { ...wrapperProps, className: classNames( wrapperProps.className, 'screen-reader-text' ), }; return <Wrapper { ...wrapperProps }>{ screenReaderLabel }</Wrapper>; } Wrapper = wrapperElement || Fragment; if ( hasLabel && hasScreenReaderLabel && label !== screenReaderLabel ) { return ( <Wrapper { ...wrapperProps }> <span aria-hidden="true">{ label }</span> <span className="screen-reader-text"> { screenReaderLabel } </span> </Wrapper> ); } return <Wrapper { ...wrapperProps }>{ label }</Wrapper>; }; Label.propTypes = { label: PropTypes.node, screenReaderLabel: PropTypes.node, wrapperElement: PropTypes.elementType, wrapperProps: PropTypes.object, }; Label.defaultProps = { wrapperProps: {}, }; export default Label;