@wordpress/block-editor
Version:
8 lines (7 loc) • 2.97 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/link-control/settings.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl, VisuallyHidden } from '@wordpress/components';\n\nconst noop = () => {};\n\nconst LinkControlSettings = ( { value, onChange = noop, settings } ) => {\n\tif ( ! settings || ! settings.length ) {\n\t\treturn null;\n\t}\n\n\tconst handleSettingChange = ( setting ) => ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\t[ setting.id ]: newValue,\n\t\t} );\n\t};\n\n\tconst theSettings = settings\n\t\t.map( ( setting ) => {\n\t\t\t// If render property is provided\n\t\t\tif ( 'render' in setting ) {\n\t\t\t\t// If it's a valid function, use it\n\t\t\t\tif ( typeof setting.render === 'function' ) {\n\t\t\t\t\tconst renderedContent = setting.render(\n\t\t\t\t\t\tsetting,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonChange\n\t\t\t\t\t);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={ setting.id }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__setting\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ renderedContent }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// If render is provided but invalid, return null\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If render property is not provided, use CheckboxControl\n\t\t\treturn (\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tclassName=\"block-editor-link-control__setting\"\n\t\t\t\t\tkey={ setting.id }\n\t\t\t\t\tlabel={ setting.title }\n\t\t\t\t\tonChange={ handleSettingChange( setting ) }\n\t\t\t\t\tchecked={ value ? !! value[ setting.id ] : false }\n\t\t\t\t\thelp={ setting?.help }\n\t\t\t\t/>\n\t\t\t);\n\t\t} )\n\t\t.filter( Boolean ); // Remove null entries\n\n\treturn (\n\t\t<fieldset className=\"block-editor-link-control__settings\">\n\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t{ __( 'Currently selected link settings' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ theSettings }\n\t\t</fieldset>\n\t);\n};\n\nexport default LinkControlSettings;\n"],
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,iBAAiB,sBAAsB;AA4B1C,cA2BJ,YA3BI;AA1BN,IAAM,OAAO,MAAM;AAAC;AAEpB,IAAM,sBAAsB,CAAE,EAAE,OAAO,WAAW,MAAM,SAAS,MAAO;AACvE,MAAK,CAAE,YAAY,CAAE,SAAS,QAAS;AACtC,WAAO;AAAA,EACR;AAEA,QAAM,sBAAsB,CAAE,YAAa,CAAE,aAAc;AAC1D,aAAU;AAAA,MACT,GAAG;AAAA,MACH,CAAE,QAAQ,EAAG,GAAG;AAAA,IACjB,CAAE;AAAA,EACH;AAEA,QAAM,cAAc,SAClB,IAAK,CAAE,YAAa;AAEpB,QAAK,YAAY,SAAU;AAE1B,UAAK,OAAO,QAAQ,WAAW,YAAa;AAC3C,cAAM,kBAAkB,QAAQ;AAAA,UAC/B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AACA,eACC;AAAA,UAAC;AAAA;AAAA,YAEA,WAAU;AAAA,YAER;AAAA;AAAA,UAHI,QAAQ;AAAA,QAIf;AAAA,MAEF;AAEA,aAAO;AAAA,IACR;AAGA,WACC;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QAEV,OAAQ,QAAQ;AAAA,QAChB,UAAW,oBAAqB,OAAQ;AAAA,QACxC,SAAU,QAAQ,CAAC,CAAE,MAAO,QAAQ,EAAG,IAAI;AAAA,QAC3C,MAAO,SAAS;AAAA;AAAA,MAJV,QAAQ;AAAA,IAKf;AAAA,EAEF,CAAE,EACD,OAAQ,OAAQ;AAElB,SACC,qBAAC,cAAS,WAAU,uCACnB;AAAA,wBAAC,kBAAe,IAAG,UAChB,aAAI,kCAAmC,GAC1C;AAAA,IACE;AAAA,KACH;AAEF;AAEA,IAAO,mBAAQ;",
"names": []
}