Server IP : 104.21.14.103 / Your IP : 18.119.162.59 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/country-input/stories/ |
Upload File : |
/** * External dependencies */ import { text } from '@storybook/addon-knobs'; import { useState, useEffect } from '@wordpress/element'; import { ValidationContextProvider, useValidationContext, } from '@woocommerce/base-context'; /** * Internal dependencies */ import { CountryInput } from '../'; import { countries as exampleCountries } from './countries-filler'; export default { title: 'WooCommerce Blocks/@base-components/CountryInput', component: CountryInput, }; const StoryComponent = ( { label, errorMessage } ) => { const [ selectedCountry, selectCountry ] = useState(); const { setValidationErrors, clearValidationError, } = useValidationContext(); useEffect( () => { setValidationErrors( { country: errorMessage } ); }, [ errorMessage ] ); const updateCountry = ( country ) => { clearValidationError( 'country' ); selectCountry( country ); }; return ( <CountryInput countries={ exampleCountries } label={ label } value={ selectedCountry } onChange={ updateCountry } /> ); }; export const Default = () => { const label = text( 'Input Label', 'Countries:' ); const errorMessage = text( 'Error Message', '' ); return ( <ValidationContextProvider> <StoryComponent label={ label } errorMessage={ errorMessage } /> </ValidationContextProvider> ); };