PluginProbe
ElasticPress / 4.2.2
ElasticPress v4.2.2
5.3.5 5.3.4 3.6.5 3.6.6 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 5.0.0 5.0.1 5.0.2 All 108 releases
elasticpress / assets / js / instant-results / components / tools / sidebar-toggle.js

sidebar-toggle.js in ElasticPress 4.2.2, at assets/js/instant-results/components/tools/sidebar-toggle.js

46 lines 874 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * WordPress deendencies.
3 */
4 import { useContext, WPElement } from '@wordpress/element';
5 import { chevronDown, chevronUp, Icon } from '@wordpress/icons';
6 import { __ } from '@wordpress/i18n';
7
8 /**
9 * Internal deendencies.
10 */
11 import Context from '../../context';
12
13 /**
14 * Open sidebar component.
15 *
16 * @returns {WPElement} Element.
17 */
18 export default () => {
19 const {
20 state: { isSidebarOpen },
21 dispatch,
22 } = useContext(Context);
23
24 /**
25 * Handle click.
26 */
27 const onClick = () => {
28 dispatch({ type: 'TOGGLE_SIDEBAR' });
29 };
30
31 return (
32 <button
33 aria-expanded={isSidebarOpen}
34 className="ep-search-sidebar-toggle ep-search-icon-button"
35 onClick={onClick}
36 type="button"
37 >
38 {isSidebarOpen
39 ? __('Close filters', 'elasticpress')
40 : __('All filters', 'elasticoress')}
41
42 <Icon icon={isSidebarOpen ? chevronUp : chevronDown} />
43 </button>
44 );
45 };
46