-
Notifications
You must be signed in to change notification settings - Fork 4.3k
/
index.js
51 lines (50 loc) · 1.05 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/**
* WordPress dependencies
*/
import {
DropdownMenu,
MenuGroup,
MenuItemsChoice,
ToolbarGroup,
ToolbarItem,
} from '@wordpress/components';
import { __ } from '@wordpress/i18n';
import { moveTo } from '@wordpress/icons';
export default function MoveToWidgetArea( {
currentWidgetAreaId,
widgetAreas,
onSelect,
} ) {
return (
<ToolbarGroup>
<ToolbarItem>
{ ( toggleProps ) => (
<DropdownMenu
icon={ moveTo }
label={ __( 'Move to widget area' ) }
toggleProps={ toggleProps }
>
{ ( { onClose } ) => (
<MenuGroup label={ __( 'Move to' ) }>
<MenuItemsChoice
choices={ widgetAreas.map(
( widgetArea ) => ( {
value: widgetArea.id,
label: widgetArea.name,
info: widgetArea.description,
} )
) }
value={ currentWidgetAreaId }
onSelect={ ( value ) => {
onSelect( value );
onClose();
} }
/>
</MenuGroup>
) }
</DropdownMenu>
) }
</ToolbarItem>
</ToolbarGroup>
);
}