@wordpress/block-editor
Version:
8 lines (7 loc) • 3.11 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/block-switcher/block-styles-menu.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuGroup } from '@wordpress/components';\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockStylesMenuItems from '../block-styles/menu-items';\nimport useStylesForBlocks from '../block-styles/use-styles-for-block';\nimport { replaceActiveStyle } from '../block-styles/utils';\nimport PreviewBlockPopover from './preview-block-popover';\n\nexport default function BlockStylesMenu( { hoveredBlock, onSwitch } ) {\n\tconst { clientId } = hoveredBlock;\n\tconst [ hoveredStyle, setHoveredStyle ] = useState( null );\n\tconst {\n\t\tonSelect,\n\t\tstylesToRender,\n\t\tactiveStyle,\n\t\tgenericPreviewBlock,\n\t\tclassName,\n\t} = useStylesForBlocks( {\n\t\tclientId,\n\t\tonSwitch,\n\t} );\n\tconst previewBlocks = useMemo( () => {\n\t\tif ( ! hoveredStyle || ! genericPreviewBlock ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst previewClassName = replaceActiveStyle(\n\t\t\tclassName,\n\t\t\tactiveStyle,\n\t\t\thoveredStyle\n\t\t);\n\t\treturn [\n\t\t\t{\n\t\t\t\t...genericPreviewBlock,\n\t\t\t\tattributes: {\n\t\t\t\t\t...( genericPreviewBlock.attributes || {} ),\n\t\t\t\t\tclassName: previewClassName,\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\t}, [ hoveredStyle, genericPreviewBlock, className, activeStyle ] );\n\n\tif ( ! stylesToRender || stylesToRender.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Styles' ) }\n\t\t\tclassName=\"block-editor-block-switcher__styles__menugroup\"\n\t\t>\n\t\t\t{ previewBlocks && (\n\t\t\t\t<PreviewBlockPopover blocks={ previewBlocks } />\n\t\t\t) }\n\t\t\t<BlockStylesMenuItems\n\t\t\t\tstylesToRender={ stylesToRender }\n\t\t\t\tactiveStyle={ activeStyle }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tonHoverStyle={ setHoveredStyle }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAA0B;AAC1B,qBAAkC;AAKlC,wBAAiC;AACjC,kCAA+B;AAC/B,mBAAmC;AACnC,mCAAgC;AAwC9B;AAtCa,SAAR,gBAAkC,EAAE,cAAc,SAAS,GAAI;AACrE,QAAM,EAAE,SAAS,IAAI;AACrB,QAAM,CAAE,cAAc,eAAgB,QAAI,yBAAU,IAAK;AACzD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,4BAAAA,SAAoB;AAAA,IACvB;AAAA,IACA;AAAA,EACD,CAAE;AACF,QAAM,oBAAgB,wBAAS,MAAM;AACpC,QAAK,CAAE,gBAAgB,CAAE,qBAAsB;AAC9C,aAAO;AAAA,IACR;AACA,UAAM,uBAAmB;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AACA,WAAO;AAAA,MACN;AAAA,QACC,GAAG;AAAA,QACH,YAAY;AAAA,UACX,GAAK,oBAAoB,cAAc,CAAC;AAAA,UACxC,WAAW;AAAA,QACZ;AAAA,MACD;AAAA,IACD;AAAA,EACD,GAAG,CAAE,cAAc,qBAAqB,WAAW,WAAY,CAAE;AAEjE,MAAK,CAAE,kBAAkB,eAAe,WAAW,GAAI;AACtD,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,QAAS;AAAA,MACrB,WAAU;AAAA,MAER;AAAA,yBACD,4CAAC,6BAAAC,SAAA,EAAoB,QAAS,eAAgB;AAAA,QAE/C;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,cAAe;AAAA;AAAA,QAChB;AAAA;AAAA;AAAA,EACD;AAEF;",
"names": ["useStylesForBlocks", "PreviewBlockPopover", "BlockStylesMenuItems"]
}