@wordpress/block-editor
Version:
8 lines (7 loc) • 5.02 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/list-view/appender.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport { useListViewContext } from './context';\nimport Inserter from '../inserter';\nimport AriaReferencedText from './aria-referenced-text';\nimport { unlock } from '../../lock-unlock';\n\nexport const Appender = forwardRef(\n\t( { nestingLevel, blockCount, clientId, ...props }, ref ) => {\n\t\tconst { insertedBlock, setInsertedBlock } = useListViewContext();\n\n\t\tconst instanceId = useInstanceId( Appender );\n\t\tconst { directInsert, hideInserter } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlockListSettings, getTemplateLock, isZoomOut } =\n\t\t\t\t\tunlock( select( blockEditorStore ) );\n\n\t\t\t\tconst settings = getBlockListSettings( clientId );\n\t\t\t\tconst directInsertValue = settings?.directInsert || false;\n\t\t\t\tconst hideInserterValue =\n\t\t\t\t\t!! getTemplateLock( clientId ) || isZoomOut();\n\n\t\t\t\treturn {\n\t\t\t\t\tdirectInsert: directInsertValue,\n\t\t\t\t\thideInserter: hideInserterValue,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\t\tconst blockTitle = useBlockDisplayTitle( {\n\t\t\tclientId,\n\t\t\tcontext: 'list-view',\n\t\t} );\n\n\t\tconst insertedBlockTitle = useBlockDisplayTitle( {\n\t\t\tclientId: insertedBlock?.clientId,\n\t\t\tcontext: 'list-view',\n\t\t} );\n\n\t\tuseEffect( () => {\n\t\t\tif ( ! insertedBlockTitle?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tspeak(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: name of block being inserted (i.e. Paragraph, Image, Group etc)\n\t\t\t\t\t__( '%s block inserted' ),\n\t\t\t\t\tinsertedBlockTitle\n\t\t\t\t),\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t}, [ insertedBlockTitle ] );\n\n\t\tif ( hideInserter ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst descriptionId = `list-view-appender__${ instanceId }`;\n\t\tconst description = sprintf(\n\t\t\t/* translators: 1: The name of the block. 2: The numerical position of the block. 3: The level of nesting for the block. */\n\t\t\t__( 'Append to %1$s block at position %2$d, Level %3$d' ),\n\t\t\tblockTitle,\n\t\t\tblockCount + 1,\n\t\t\tnestingLevel\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"list-view-appender\">\n\t\t\t\t<Inserter\n\t\t\t\t\tref={ ref }\n\t\t\t\t\trootClientId={ clientId }\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\tisAppender\n\t\t\t\t\tselectBlockOnInsert={ false }\n\t\t\t\t\tshouldDirectInsert={ directInsert }\n\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t{ ...props }\n\t\t\t\t\ttoggleProps={ { 'aria-describedby': descriptionId } }\n\t\t\t\t\tonSelectOrClose={ ( maybeInsertedBlock ) => {\n\t\t\t\t\t\tif ( maybeInsertedBlock?.clientId ) {\n\t\t\t\t\t\t\tsetInsertedBlock( maybeInsertedBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</AriaReferencedText>\n\t\t\t</div>\n\t\t);\n\t}\n);\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA8B;AAC9B,kBAAsB;AACtB,kBAA0B;AAC1B,qBAAsC;AACtC,kBAA4B;AAK5B,mBAA0C;AAC1C,qCAAiC;AACjC,qBAAmC;AACnC,sBAAqB;AACrB,kCAA+B;AAC/B,yBAAuB;AAgEpB;AA9DI,IAAM,eAAW;AAAA,EACvB,CAAE,EAAE,cAAc,YAAY,UAAU,GAAG,MAAM,GAAG,QAAS;AAC5D,UAAM,EAAE,eAAe,iBAAiB,QAAI,mCAAmB;AAE/D,UAAM,iBAAa,8BAAe,QAAS;AAC3C,UAAM,EAAE,cAAc,aAAa,QAAI;AAAA,MACtC,CAAE,WAAY;AACb,cAAM,EAAE,sBAAsB,iBAAiB,UAAU,QACxD,2BAAQ,OAAQ,aAAAA,KAAiB,CAAE;AAEpC,cAAM,WAAW,qBAAsB,QAAS;AAChD,cAAM,oBAAoB,UAAU,gBAAgB;AACpD,cAAM,oBACL,CAAC,CAAE,gBAAiB,QAAS,KAAK,UAAU;AAE7C,eAAO;AAAA,UACN,cAAc;AAAA,UACd,cAAc;AAAA,QACf;AAAA,MACD;AAAA,MACA,CAAE,QAAS;AAAA,IACZ;AAEA,UAAM,iBAAa,+BAAAC,SAAsB;AAAA,MACxC;AAAA,MACA,SAAS;AAAA,IACV,CAAE;AAEF,UAAM,yBAAqB,+BAAAA,SAAsB;AAAA,MAChD,UAAU,eAAe;AAAA,MACzB,SAAS;AAAA,IACV,CAAE;AAEF,kCAAW,MAAM;AAChB,UAAK,CAAE,oBAAoB,QAAS;AACnC;AAAA,MACD;AAEA;AAAA,YACC;AAAA;AAAA,cAEC,gBAAI,mBAAoB;AAAA,UACxB;AAAA,QACD;AAAA,QACA;AAAA,MACD;AAAA,IACD,GAAG,CAAE,kBAAmB,CAAE;AAE1B,QAAK,cAAe;AACnB,aAAO;AAAA,IACR;AAEA,UAAM,gBAAgB,uBAAwB,UAAW;AACzD,UAAM,kBAAc;AAAA;AAAA,UAEnB,gBAAI,mDAAoD;AAAA,MACxD;AAAA,MACA,aAAa;AAAA,MACb;AAAA,IACD;AAEA,WACC,6CAAC,SAAI,WAAU,sBACd;AAAA;AAAA,QAAC,gBAAAC;AAAA,QAAA;AAAA,UACA;AAAA,UACA,cAAe;AAAA,UACf,UAAS;AAAA,UACT,YAAU;AAAA,UACV,qBAAsB;AAAA,UACtB,oBAAqB;AAAA,UACrB,uBAAqB;AAAA,UACnB,GAAG;AAAA,UACL,aAAc,EAAE,oBAAoB,cAAc;AAAA,UAClD,iBAAkB,CAAE,uBAAwB;AAC3C,gBAAK,oBAAoB,UAAW;AACnC,+BAAkB,kBAAmB;AAAA,YACtC;AAAA,UACD;AAAA;AAAA,MACD;AAAA,MACA,4CAAC,4BAAAC,SAAA,EAAmB,IAAK,eACtB,uBACH;AAAA,OACD;AAAA,EAEF;AACD;",
"names": ["blockEditorStore", "useBlockDisplayTitle", "Inserter", "AriaReferencedText"]
}