UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 2.56 kB
{ "version": 3, "sources": ["../../../src/navigation-link/shared/invalid-draft-display.js"], "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Displays a label with an \"(Invalid)\" or \"(Draft)\" indicator for navigation links.\n *\n * @param {Object} props Component props.\n * @param {string} props.label The label text to display.\n * @param {boolean} props.isInvalid Whether the link is invalid (deleted or trashed).\n * @param {boolean} props.isDraft Whether the link is a draft.\n * @param {string} props.className Optional additional CSS class for the label element.\n *\n * @return {Element} The invalid/draft display component.\n */\nexport function InvalidDraftDisplay( {\n\tlabel,\n\tisInvalid,\n\tisDraft,\n\tclassName = 'wp-block-navigation-link__label',\n} ) {\n\t// Only render if the link is invalid or a draft.\n\tif ( ! isInvalid && ! isDraft ) {\n\t\treturn null;\n\t}\n\n\tconst statusText = isInvalid\n\t\t? /* translators: Indicating that the navigation link is Invalid. */\n\t\t __( 'Invalid' )\n\t\t: /* translators: Indicating that the navigation link is a Draft. */\n\t\t __( 'Draft' );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'wp-block-navigation-link__placeholder-text',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'is-invalid': isInvalid,\n\t\t\t\t\t'is-draft': isDraft,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<span>\n\t\t\t\t{\n\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t`${ decodeEntities( label ) } (${ statusText })`.trim()\n\t\t\t\t}\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n"], "mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,UAAU;AACnB,SAAS,sBAAsB;AAyC5B;AA5BI,SAAS,oBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACb,GAAI;AAEH,MAAK,CAAE,aAAa,CAAE,SAAU;AAC/B,WAAO;AAAA,EACR;AAEA,QAAM,aAAa;AAAA;AAAA,IAEhB,GAAI,SAAU;AAAA;AAAA;AAAA,IAEd,GAAI,OAAQ;AAAA;AAEf,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAY;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,UACC,cAAc;AAAA,UACd,YAAY;AAAA,QACb;AAAA,MACD;AAAA,MAEA,8BAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOC,aAAI,eAAgB,KAAM,CAAE,KAAM,UAAW,IAAI,KAAK;AAAA,OAExD;AAAA;AAAA,EACD;AAEF;", "names": [] }