@wordpress/block-library
Version:
Block library for the WordPress editor.
8 lines (7 loc) • 4.73 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/missing/edit.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { RawHTML } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { createBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { safeHTML } from '@wordpress/dom';\n\nexport default function MissingEdit( { attributes, clientId } ) {\n\tconst { originalName, originalUndelimitedContent } = attributes;\n\tconst hasContent = !! originalUndelimitedContent;\n\tconst { hasFreeformBlock, hasHTMLBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\thasFreeformBlock: canInsertBlockType(\n\t\t\t\t\t'core/freeform',\n\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t),\n\t\t\t\thasHTMLBlock: canInsertBlockType(\n\t\t\t\t\t'core/html',\n\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tfunction convertToHTML() {\n\t\treplaceBlock(\n\t\t\tclientId,\n\t\t\tcreateBlock( 'core/html', {\n\t\t\t\tcontent: originalUndelimitedContent,\n\t\t\t} )\n\t\t);\n\t}\n\n\tconst actions = [];\n\tlet messageHTML;\n\n\tconst convertToHtmlButton = (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tkey=\"convert\"\n\t\t\tonClick={ convertToHTML }\n\t\t\tvariant=\"primary\"\n\t\t>\n\t\t\t{ __( 'Keep as HTML' ) }\n\t\t</Button>\n\t);\n\n\tif (\n\t\thasContent &&\n\t\t! hasFreeformBlock &&\n\t\t( ! originalName || originalName === 'core/freeform' )\n\t) {\n\t\tif ( hasHTMLBlock ) {\n\t\t\tmessageHTML = __(\n\t\t\t\t'It appears you are trying to use the deprecated Classic block. You can leave this block intact, convert its content to a Custom HTML block, or remove it entirely. Alternatively, if you have unsaved changes, you can save them and refresh to use the Classic block.'\n\t\t\t);\n\t\t\tactions.push( convertToHtmlButton );\n\t\t} else {\n\t\t\tmessageHTML = __(\n\t\t\t\t'It appears you are trying to use the deprecated Classic block. You can leave this block intact, or remove it entirely. Alternatively, if you have unsaved changes, you can save them and refresh to use the Classic block.'\n\t\t\t);\n\t\t}\n\t} else if ( hasContent && hasHTMLBlock ) {\n\t\tmessageHTML = sprintf(\n\t\t\t/* translators: %s: block name */\n\t\t\t__(\n\t\t\t\t'Your site doesn\u2019t include support for the \"%s\" block. You can leave it as-is, convert it to custom HTML, or remove it.'\n\t\t\t),\n\t\t\toriginalName\n\t\t);\n\t\tactions.push( convertToHtmlButton );\n\t} else {\n\t\tmessageHTML = sprintf(\n\t\t\t/* translators: %s: block name */\n\t\t\t__(\n\t\t\t\t'Your site doesn\u2019t include support for the \"%s\" block. You can leave it as-is or remove it.'\n\t\t\t),\n\t\t\toriginalName\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...useBlockProps( { className: 'has-warning' } ) }>\n\t\t\t<Warning actions={ actions }>{ messageHTML }</Warning>\n\t\t\t<RawHTML>{ safeHTML( originalUndelimitedContent ) }</RawHTML>\n\t\t</div>\n\t);\n}\n"],
"mappings": ";AAGA,SAAS,IAAI,eAAe;AAC5B,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,mBAAmB;AAC5B,SAAS,aAAa,iBAAiB;AACvC;AAAA,EACC;AAAA,EACA;AAAA,EACA,SAAS;AAAA,OACH;AACP,SAAS,gBAAgB;AAsCvB,cA6CA,YA7CA;AApCa,SAAR,YAA8B,EAAE,YAAY,SAAS,GAAI;AAC/D,QAAM,EAAE,cAAc,2BAA2B,IAAI;AACrD,QAAM,aAAa,CAAC,CAAE;AACtB,QAAM,EAAE,kBAAkB,aAAa,IAAI;AAAA,IAC1C,CAAE,WAAY;AACb,YAAM,EAAE,oBAAoB,qBAAqB,IAChD,OAAQ,gBAAiB;AAE1B,aAAO;AAAA,QACN,kBAAkB;AAAA,UACjB;AAAA,UACA,qBAAsB,QAAS;AAAA,QAChC;AAAA,QACA,cAAc;AAAA,UACb;AAAA,UACA,qBAAsB,QAAS;AAAA,QAChC;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,EAAE,aAAa,IAAI,YAAa,gBAAiB;AAEvD,WAAS,gBAAgB;AACxB;AAAA,MACC;AAAA,MACA,YAAa,aAAa;AAAA,QACzB,SAAS;AAAA,MACV,CAAE;AAAA,IACH;AAAA,EACD;AAEA,QAAM,UAAU,CAAC;AACjB,MAAI;AAEJ,QAAM,sBACL;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MAErB,SAAU;AAAA,MACV,SAAQ;AAAA,MAEN,aAAI,cAAe;AAAA;AAAA,IAJjB;AAAA,EAKL;AAGD,MACC,cACA,CAAE,qBACA,CAAE,gBAAgB,iBAAiB,kBACpC;AACD,QAAK,cAAe;AACnB,oBAAc;AAAA,QACb;AAAA,MACD;AACA,cAAQ,KAAM,mBAAoB;AAAA,IACnC,OAAO;AACN,oBAAc;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD,WAAY,cAAc,cAAe;AACxC,kBAAc;AAAA;AAAA,MAEb;AAAA,QACC;AAAA,MACD;AAAA,MACA;AAAA,IACD;AACA,YAAQ,KAAM,mBAAoB;AAAA,EACnC,OAAO;AACN,kBAAc;AAAA;AAAA,MAEb;AAAA,QACC;AAAA,MACD;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,SACC,qBAAC,SAAM,GAAG,cAAe,EAAE,WAAW,cAAc,CAAE,GACrD;AAAA,wBAAC,WAAQ,SAAsB,uBAAa;AAAA,IAC5C,oBAAC,WAAU,mBAAU,0BAA2B,GAAG;AAAA,KACpD;AAEF;",
"names": []
}