UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 3.76 kB
{ "version": 3, "sources": ["../../../src/navigation/edit/overlay-menu-preview-button.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Button, __experimentalVStack as VStack } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreviewControls from './overlay-menu-preview-controls';\n\n/**\n * Overlay Menu Preview Button component.\n *\n * @param {Object} props Component props.\n * @param {boolean} props.isResponsive Whether overlay menu is responsive.\n * @param {boolean} props.overlayMenuPreview Whether overlay menu preview is open.\n * @param {Function} props.setOverlayMenuPreview Function to toggle overlay menu preview.\n * @param {boolean} props.hasIcon Whether the overlay menu has an icon.\n * @param {string} props.icon Icon type for overlay menu.\n * @param {Function} props.setAttributes Function to update block attributes.\n * @param {string} props.overlayMenuPreviewClasses CSS classes for overlay menu preview button.\n * @param {string} props.overlayMenuPreviewId ID for overlay menu preview.\n * @param {string} props.containerStyle Optional style for the preview container.\n * @return {JSX.Element|null} The overlay menu preview button or null if not responsive.\n */\nexport default function OverlayMenuPreviewButton( {\n\tisResponsive,\n\toverlayMenuPreview,\n\tsetOverlayMenuPreview,\n\thasIcon,\n\ticon,\n\tsetAttributes,\n\toverlayMenuPreviewClasses,\n\toverlayMenuPreviewId,\n\tcontainerStyle,\n} ) {\n\tif ( ! isResponsive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\tonClick={ () => setOverlayMenuPreview( ! overlayMenuPreview ) }\n\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t>\n\t\t\t\t{ hasIcon && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t\t{ overlayMenuPreview && (\n\t\t\t\t<VStack\n\t\t\t\t\tid={ overlayMenuPreviewId }\n\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\tstyle={ containerStyle }\n\t\t\t\t>\n\t\t\t\t\t<OverlayMenuPreviewControls\n\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"], "mappings": ";AAGA,SAAS,QAAQ,wBAAwB,cAAc;AACvD,SAAS,UAAU;AACnB,SAAS,MAAM,aAAa;AAK5B,OAAO,qBAAqB;AAC5B,OAAO,gCAAgC;AA2ClC,mBACC,KADD;AA1BU,SAAR,yBAA2C;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,MAAK,CAAE,cAAe;AACrB,WAAO;AAAA,EACR;AAEA,SACC,iCACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,uBAAqB;AAAA,QACrB,WAAY;AAAA,QACZ,SAAU,MAAM,sBAAuB,CAAE,kBAAmB;AAAA,QAC5D,cAAa,GAAI,uBAAwB;AAAA,QACzC,iBAAgB;AAAA,QAChB,iBAAgB;AAAA,QAEd;AAAA,qBACD,iCACC;AAAA,gCAAC,mBAAgB,MAAc;AAAA,YAC/B,oBAAC,QAAK,MAAO,OAAQ;AAAA,aACtB;AAAA,UAEC,CAAE,WACH,iCACC;AAAA,gCAAC,UAAO,aAAI,MAAO,GAAG;AAAA,YACtB,oBAAC,UAAO,aAAI,OAAQ,GAAG;AAAA,aACxB;AAAA;AAAA;AAAA,IAEF;AAAA,IACE,sBACD;AAAA,MAAC;AAAA;AAAA,QACA,IAAK;AAAA,QACL,SAAU;AAAA,QACV,OAAQ;AAAA,QAER;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACD;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;", "names": [] }