UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 3.57 kB
{ "version": 3, "sources": ["../../src/site-tagline/edit.jsx"], "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tHeadingLevelDropdown,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\n\nexport default function SiteTaglineEdit( props ) {\n\tuseDeprecatedTextAlign( props );\n\n\tconst { attributes, setAttributes, insertBlocksAfter } = props;\n\tconst { level, levelOptions } = attributes;\n\tconst canUserEdit = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUser( 'update', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} ),\n\t\t[]\n\t);\n\t// Users who cannot edit the site settings cannot read them either, so the\n\t// tagline comes from the base entity instead.\n\tconst [ tagline, setTagline ] = useEntityProp(\n\t\t'root',\n\t\tcanUserEdit ? 'site' : '__unstableBase',\n\t\t'description',\n\t\tundefined\n\t);\n\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName:\n\t\t\t! canUserEdit && ! tagline && 'wp-block-site-tagline__placeholder',\n\t} );\n\n\tconst siteTaglineContent = canUserEdit ? (\n\t\t<RichText\n\t\t\tallowedFormats={ [] }\n\t\t\tonChange={ setTagline }\n\t\t\taria-label={ __( 'Site tagline text' ) }\n\t\t\tplaceholder={ __( 'Write site tagline…' ) }\n\t\t\ttagName={ TagName }\n\t\t\tvalue={ tagline }\n\t\t\tdisableLineBreaks\n\t\t\t__unstableOnSplitAtEnd={\n\t\t\t\tinsertBlocksAfter\n\t\t\t\t\t? () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\t{ ...blockProps }\n\t\t/>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ tagline || __( 'Site Tagline placeholder' ) }\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ siteTaglineContent }\n\t\t</>\n\t);\n}\n"], "mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,SAAS,WAAW,qBAAqB;AAClD;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,UAAU;AACnB,SAAS,aAAa,2BAA2B;AACjD,OAAO,4BAA4B;AA+BjC,SAwBA,UAxBA,KAwBA,YAxBA;AA7Ba,SAAR,gBAAkC,OAAQ;AAChD,yBAAwB,KAAM;AAE9B,QAAM,EAAE,YAAY,eAAe,kBAAkB,IAAI;AACzD,QAAM,EAAE,OAAO,aAAa,IAAI;AAChC,QAAM,cAAc;AAAA,IACnB,CAAE,WACD,OAAQ,SAAU,EAAE,QAAS,UAAU;AAAA,MACtC,MAAM;AAAA,MACN,MAAM;AAAA,IACP,CAAE;AAAA,IACH,CAAC;AAAA,EACF;AAGA,QAAM,CAAE,SAAS,UAAW,IAAI;AAAA,IAC/B;AAAA,IACA,cAAc,SAAS;AAAA,IACvB;AAAA,IACA;AAAA,EACD;AAEA,QAAM,UAAU,UAAU,IAAI,MAAM,IAAK,KAAM;AAC/C,QAAM,aAAa,cAAe;AAAA,IACjC,WACC,CAAE,eAAe,CAAE,WAAW;AAAA,EAChC,CAAE;AAEF,QAAM,qBAAqB,cAC1B;AAAA,IAAC;AAAA;AAAA,MACA,gBAAiB,CAAC;AAAA,MAClB,UAAW;AAAA,MACX,cAAa,GAAI,mBAAoB;AAAA,MACrC,aAAc,GAAI,qBAAsB;AAAA,MACxC,SAAU;AAAA,MACV,OAAQ;AAAA,MACR,mBAAiB;AAAA,MACjB,wBACC,oBACG,MACA;AAAA,QACC,YAAa,oBAAoB,CAAE;AAAA,MACpC,IACA;AAAA,MAEF,GAAG;AAAA;AAAA,EACN,IAEA,oBAAC,WAAU,GAAG,YACX,qBAAW,GAAI,0BAA2B,GAC7C;AAED,SACC,iCACC;AAAA,wBAAC,iBAAc,OAAM,SACpB;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ;AAAA,QACR,SAAU;AAAA,QACV,UAAW,CAAE,aACZ,cAAe,EAAE,OAAO,SAAS,CAAE;AAAA;AAAA,IAErC,GACD;AAAA,IACE;AAAA,KACH;AAEF;", "names": [] }