@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
8 lines (7 loc) • 3.95 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/post-publish-panel/maybe-post-format-panel.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Button, PanelBody } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { POST_FORMATS } from '../post-format';\nimport { store as editorStore } from '../../store';\n\nconst getSuggestion = ( supportedFormats, suggestedPostFormat ) => {\n\tconst formats = POST_FORMATS.filter( ( format ) =>\n\t\tsupportedFormats?.includes( format.id )\n\t);\n\treturn formats.find( ( format ) => format.id === suggestedPostFormat );\n};\n\nconst PostFormatSuggestion = ( {\n\tsuggestedPostFormat,\n\tsuggestionText,\n\tonUpdatePostFormat,\n} ) => (\n\t<Button\n\t\t__next40pxDefaultSize\n\t\tvariant=\"link\"\n\t\tonClick={ () => onUpdatePostFormat( suggestedPostFormat ) }\n\t>\n\t\t{ suggestionText }\n\t</Button>\n);\n\nexport default function PostFormatPanel() {\n\tconst { currentPostFormat, suggestion } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\tselect( editorStore );\n\t\tconst supportedFormats =\n\t\t\tselect( coreStore ).getThemeSupports().formats ?? [];\n\t\treturn {\n\t\t\tcurrentPostFormat: getEditedPostAttribute( 'format' ),\n\t\t\tsuggestion: getSuggestion(\n\t\t\t\tsupportedFormats,\n\t\t\t\tgetSuggestedPostFormat()\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Use a post format' ) }\n\t\t</span>,\n\t];\n\n\tif ( ! suggestion || suggestion.id === currentPostFormat ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Your theme uses post formats to highlight different kinds of content, like images or videos. Apply a post format to see this special styling.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<PostFormatSuggestion\n\t\t\t\t\tonUpdatePostFormat={ onUpdatePostFormat }\n\t\t\t\t\tsuggestedPostFormat={ suggestion.id }\n\t\t\t\t\tsuggestionText={ sprintf(\n\t\t\t\t\t\t/* translators: %1s: post format */\n\t\t\t\t\t\t__( 'Apply the \"%1$s\" format.' ),\n\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</p>\n\t\t</PanelBody>\n\t);\n}\n"],
"mappings": ";AAGA,SAAS,QAAQ,iBAAiB;AAClC,SAAS,aAAa,iBAAiB;AACvC,SAAS,IAAI,eAAe;AAC5B,SAAS,SAAS,iBAAiB;AAKnC,SAAS,oBAAoB;AAC7B,SAAS,SAAS,mBAAmB;AAcpC,cAwCC,YAxCD;AAZD,IAAM,gBAAgB,CAAE,kBAAkB,wBAAyB;AAClE,QAAM,UAAU,aAAa;AAAA,IAAQ,CAAE,WACtC,kBAAkB,SAAU,OAAO,EAAG;AAAA,EACvC;AACA,SAAO,QAAQ,KAAM,CAAE,WAAY,OAAO,OAAO,mBAAoB;AACtE;AAEA,IAAM,uBAAuB,CAAE;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACD,MACC;AAAA,EAAC;AAAA;AAAA,IACA,uBAAqB;AAAA,IACrB,SAAQ;AAAA,IACR,SAAU,MAAM,mBAAoB,mBAAoB;AAAA,IAEtD;AAAA;AACH;AAGc,SAAR,kBAAmC;AACzC,QAAM,EAAE,mBAAmB,WAAW,IAAI,UAAW,CAAE,WAAY;AAClE,UAAM,EAAE,wBAAwB,uBAAuB,IACtD,OAAQ,WAAY;AACrB,UAAM,mBACL,OAAQ,SAAU,EAAE,iBAAiB,EAAE,WAAW,CAAC;AACpD,WAAO;AAAA,MACN,mBAAmB,uBAAwB,QAAS;AAAA,MACpD,YAAY;AAAA,QACX;AAAA,QACA,uBAAuB;AAAA,MACxB;AAAA,IACD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,EAAE,SAAS,IAAI,YAAa,WAAY;AAE9C,QAAM,qBAAqB,CAAE,WAAY,SAAU,EAAE,OAAO,CAAE;AAE9D,QAAM,iBAAiB;AAAA,IACtB,GAAI,aAAc;AAAA,IAClB,oBAAC,UAAK,WAAU,mCACb,aAAI,mBAAoB,KAD2B,OAEtD;AAAA,EACD;AAEA,MAAK,CAAE,cAAc,WAAW,OAAO,mBAAoB;AAC1D,WAAO;AAAA,EACR;AAEA,SACC,qBAAC,aAAU,aAAc,OAAQ,OAAQ,gBACxC;AAAA,wBAAC,OACE;AAAA,MACD;AAAA,IACD,GACD;AAAA,IACA,oBAAC,OACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,qBAAsB,WAAW;AAAA,QACjC,gBAAiB;AAAA;AAAA,UAEhB,GAAI,0BAA2B;AAAA,UAC/B,WAAW;AAAA,QACZ;AAAA;AAAA,IACD,GACD;AAAA,KACD;AAEF;",
"names": []
}