UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 4.11 kB
{ "version": 3, "sources": ["../../../../src/navigation/edit/placeholder/index.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport NavigationMenuSelector from '../navigation-menu-selector';\n\nexport default function NavigationPlaceholder( {\n\tisSelected,\n\tcurrentMenuId,\n\tclientId,\n\tcanUserCreateNavigationMenus = false,\n\tisResolvingCanUserCreateNavigationMenus,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateEmpty,\n} ) {\n\tconst { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isResolvingMenus ) {\n\t\t\tspeak( __( 'Loading navigation block setup options\u2026' ) );\n\t\t}\n\n\t\tif ( hasResolvedMenus ) {\n\t\t\tspeak( __( 'Navigation block setup options ready.' ) );\n\t\t}\n\t}, [ hasResolvedMenus, isResolvingMenus, isSelected ] );\n\n\tconst isResolvingActions =\n\t\tisResolvingMenus && isResolvingCanUserCreateNavigationMenus;\n\n\treturn (\n\t\t<>\n\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t{\n\t\t\t\t\t// The <PlaceholderPreview> component is displayed conditionally via CSS depending on\n\t\t\t\t\t// whether the block is selected or not. This is achieved via CSS to avoid\n\t\t\t\t\t// component re-renders\n\t\t\t\t }\n\t\t\t\t<PlaceholderPreview isVisible={ ! isSelected } />\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={ ! isSelected ? true : undefined }\n\t\t\t\t\tclassName=\"wp-block-navigation-placeholder__controls\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t<Icon icon={ navigation } /> { __( 'Navigation' ) }\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ isResolvingActions && <Spinner /> }\n\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onCreateEmpty }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Placeholder>\n\t\t</>\n\t);\n}\n"], "mappings": ";AAGA,SAAS,aAAa,QAAQ,eAAe;AAC7C,SAAS,UAAU;AACnB,SAAS,YAAY,YAAY;AACjC,SAAS,aAAa;AACtB,SAAS,iBAAiB;AAK1B,OAAO,2BAA2B;AAClC,OAAO,wBAAwB;AAC/B,OAAO,4BAA4B;AAgCjC,mBAOE,KAME,YAbJ;AA9Ba,SAAR,sBAAwC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,+BAA+B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,kBAAkB,iBAAiB,IAAI,sBAAsB;AAErE,YAAW,MAAM;AAChB,QAAK,CAAE,YAAa;AACnB;AAAA,IACD;AAEA,QAAK,kBAAmB;AACvB,YAAO,GAAI,8CAA0C,CAAE;AAAA,IACxD;AAEA,QAAK,kBAAmB;AACvB,YAAO,GAAI,uCAAwC,CAAE;AAAA,IACtD;AAAA,EACD,GAAG,CAAE,kBAAkB,kBAAkB,UAAW,CAAE;AAEtD,QAAM,qBACL,oBAAoB;AAErB,SACC,gCACC,+BAAC,eAAY,WAAU,mCAMtB;AAAA,wBAAC,sBAAmB,WAAY,CAAE,YAAa;AAAA,IAC/C;AAAA,MAAC;AAAA;AAAA,QACA,eAAc,CAAE,aAAa,OAAO;AAAA,QACpC,WAAU;AAAA,QAEV,+BAAC,SAAI,WAAU,4CACd;AAAA,+BAAC,SAAI,WAAU,uDACd;AAAA,gCAAC,QAAK,MAAO,YAAa;AAAA,YAAE;AAAA,YAAG,GAAI,YAAa;AAAA,aACjD;AAAA,UAEA,oBAAC,QAAG;AAAA,UAEF,sBAAsB,oBAAC,WAAQ;AAAA,UAEjC;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,UACD;AAAA,UAEA,oBAAC,QAAG;AAAA,UAEF,gCACD;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,aAAI,aAAc;AAAA;AAAA,UACrB;AAAA,WAEF;AAAA;AAAA,IACD;AAAA,KACD,GACD;AAEF;", "names": [] }