UNPKG

@wordpress/editor

Version:
8 lines (7 loc) 3.14 kB
{ "version": 3, "sources": ["../../../src/components/post-taxonomies/most-used-terms.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unescapeTerms } from '../../utils/terms';\n\nconst MIN_MOST_USED_TERMS = 3;\nconst DEFAULT_QUERY = {\n\tper_page: 10,\n\torderby: 'count',\n\torder: 'desc',\n\thide_empty: true,\n\t_fields: 'id,name,count',\n\tcontext: 'view',\n};\n\nexport default function MostUsedTerms( { onSelect, taxonomy } ) {\n\tconst { _terms, showTerms } = useSelect(\n\t\t( select ) => {\n\t\t\tconst mostUsedTerms = select( coreStore ).getEntityRecords(\n\t\t\t\t'taxonomy',\n\t\t\t\ttaxonomy.slug,\n\t\t\t\tDEFAULT_QUERY\n\t\t\t);\n\t\t\treturn {\n\t\t\t\t_terms: mostUsedTerms,\n\t\t\t\tshowTerms: mostUsedTerms?.length >= MIN_MOST_USED_TERMS,\n\t\t\t};\n\t\t},\n\t\t[ taxonomy.slug ]\n\t);\n\n\tif ( ! showTerms ) {\n\t\treturn null;\n\t}\n\n\tconst terms = unescapeTerms( _terms );\n\n\treturn (\n\t\t<div className=\"editor-post-taxonomies__flat-term-most-used\">\n\t\t\t<BaseControl.VisualLabel\n\t\t\t\tas=\"h3\"\n\t\t\t\tclassName=\"editor-post-taxonomies__flat-term-most-used-label\"\n\t\t\t>\n\t\t\t\t{ taxonomy.labels.most_used }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t{ /*\n\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t */\n\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t<ul\n\t\t\t\trole=\"list\"\n\t\t\t\tclassName=\"editor-post-taxonomies__flat-term-most-used-list\"\n\t\t\t>\n\t\t\t\t{ terms.map( ( term ) => (\n\t\t\t\t\t<li key={ term.id }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ () => onSelect( term ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ term.name }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t</div>\n\t);\n}\n"], "mappings": ";AAGA,SAAS,aAAa,cAAc;AACpC,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AAKnC,SAAS,qBAAqB;AAmC5B,SACC,KADD;AAjCF,IAAM,sBAAsB;AAC5B,IAAM,gBAAgB;AAAA,EACrB,UAAU;AAAA,EACV,SAAS;AAAA,EACT,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AACV;AAEe,SAAR,cAAgC,EAAE,UAAU,SAAS,GAAI;AAC/D,QAAM,EAAE,QAAQ,UAAU,IAAI;AAAA,IAC7B,CAAE,WAAY;AACb,YAAM,gBAAgB,OAAQ,SAAU,EAAE;AAAA,QACzC;AAAA,QACA,SAAS;AAAA,QACT;AAAA,MACD;AACA,aAAO;AAAA,QACN,QAAQ;AAAA,QACR,WAAW,eAAe,UAAU;AAAA,MACrC;AAAA,IACD;AAAA,IACA,CAAE,SAAS,IAAK;AAAA,EACjB;AAEA,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAEA,QAAM,QAAQ,cAAe,MAAO;AAEpC,SACC,qBAAC,SAAI,WAAU,+CACd;AAAA;AAAA,MAAC,YAAY;AAAA,MAAZ;AAAA,QACA,IAAG;AAAA,QACH,WAAU;AAAA,QAER,mBAAS,OAAO;AAAA;AAAA,IACnB;AAAA,IAMA;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACL,WAAU;AAAA,QAER,gBAAM,IAAK,CAAE,SACd,oBAAC,QACA;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,SAAQ;AAAA,YACR,SAAU,MAAM,SAAU,IAAK;AAAA,YAE7B,eAAK;AAAA;AAAA,QACR,KAPS,KAAK,EAQf,CACC;AAAA;AAAA,IACH;AAAA,KAED;AAEF;", "names": [] }