@wordpress/block-editor
Version:
8 lines (7 loc) • 3.63 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/url-input/button.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useReducer } from '@wordpress/element';\nimport {\n\tButton,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { link, keyboardReturn, arrowLeft } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport URLInput from './';\n\n/**\n * A button that toggles a URL input field for inserting or editing links.\n *\n * @param {Object} props Component properties.\n * @param {string} props.url The current URL value.\n * @param {Function} props.onChange Callback function to handle URL changes.\n * @return {JSX.Element} The URL input button component.\n */\nfunction URLInputButton( { url, onChange } ) {\n\tconst [ expanded, toggleExpanded ] = useReducer(\n\t\t( isExpanded ) => ! isExpanded,\n\t\tfalse\n\t);\n\n\tconst submitLink = ( event ) => {\n\t\tevent.preventDefault();\n\t\ttoggleExpanded();\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-url-input__button\">\n\t\t\t<Button\n\t\t\t\tsize=\"compact\"\n\t\t\t\ticon={ link }\n\t\t\t\tlabel={ url ? __( 'Edit link' ) : __( 'Insert link' ) }\n\t\t\t\tonClick={ toggleExpanded }\n\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\tisPressed={ !! url }\n\t\t\t/>\n\t\t\t{ expanded && (\n\t\t\t\t<form\n\t\t\t\t\tclassName=\"block-editor-url-input__button-modal\"\n\t\t\t\t\tonSubmit={ submitLink }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"block-editor-url-input__button-modal-line\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"block-editor-url-input__back\"\n\t\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\t\tonClick={ toggleExpanded }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<URLInput\n\t\t\t\t\t\t\tvalue={ url || '' }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md\n */\nexport default URLInputButton;\n"],
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,kBAAkB;AAC3B;AAAA,EACC;AAAA,EACA,2CAA2C;AAAA,OACrC;AACP,SAAS,MAAM,gBAAgB,iBAAiB;AAKhD,OAAO,cAAc;AAuBlB,cAaE,YAbF;AAbH,SAAS,eAAgB,EAAE,KAAK,SAAS,GAAI;AAC5C,QAAM,CAAE,UAAU,cAAe,IAAI;AAAA,IACpC,CAAE,eAAgB,CAAE;AAAA,IACpB;AAAA,EACD;AAEA,QAAM,aAAa,CAAE,UAAW;AAC/B,UAAM,eAAe;AACrB,mBAAe;AAAA,EAChB;AAEA,SACC,qBAAC,SAAI,WAAU,kCACd;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACL,MAAO;AAAA,QACP,OAAQ,MAAM,GAAI,WAAY,IAAI,GAAI,aAAc;AAAA,QACpD,SAAU;AAAA,QACV,WAAU;AAAA,QACV,WAAY,CAAC,CAAE;AAAA;AAAA,IAChB;AAAA,IACE,YACD;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,UAAW;AAAA,QAEX,+BAAC,SAAI,WAAU,6CACd;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,WAAU;AAAA,cACV,MAAO;AAAA,cACP,OAAQ,GAAI,OAAQ;AAAA,cACpB,SAAU;AAAA;AAAA,UACX;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,OAAQ,OAAO;AAAA,cACf;AAAA,cACA,QACC,oBAAC,6BAA0B,SAAQ,WAClC;AAAA,gBAAC;AAAA;AAAA,kBACA,MAAK;AAAA,kBACL,MAAO;AAAA,kBACP,OAAQ,GAAI,QAAS;AAAA,kBACrB,MAAK;AAAA;AAAA,cACN,GACD;AAAA;AAAA,UAEF;AAAA,WACD;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;AAKA,IAAO,iBAAQ;",
"names": []
}