{
  "version": 3,
  "sources": ["../../../../src/blocks/legacy-widget/edit/form.js"],
  "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\nimport Control from './control';\n\nexport default function Form( {\n\ttitle,\n\tisVisible,\n\tid,\n\tidBase,\n\tinstance,\n\tisWide,\n\tonChangeInstance,\n\tonChangeHasPreview,\n} ) {\n\tconst ref = useRef();\n\n\tconst isMediumLargeViewport = useViewportMatch( 'small' );\n\n\t// We only want to remount the control when the instance changes\n\t// *externally*. For example, if the user performs an undo. To do this, we\n\t// keep track of changes made to instance by the control itself and then\n\t// ignore those.\n\tconst outgoingInstances = useRef( new Set() );\n\tconst incomingInstances = useRef( new Set() );\n\n\tconst { createNotice } = useDispatch( noticesStore );\n\n\tuseEffect( () => {\n\t\tif ( incomingInstances.current.has( instance ) ) {\n\t\t\tincomingInstances.current.delete( instance );\n\t\t\treturn;\n\t\t}\n\n\t\tconst control = new Control( {\n\t\t\tid,\n\t\t\tidBase,\n\t\t\tinstance,\n\t\t\tonChangeInstance( nextInstance ) {\n\t\t\t\toutgoingInstances.current.add( instance );\n\t\t\t\tincomingInstances.current.add( nextInstance );\n\t\t\t\tonChangeInstance( nextInstance );\n\t\t\t},\n\t\t\tonChangeHasPreview,\n\t\t\tonError( error ) {\n\t\t\t\twindow.console.error( error );\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'error',\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: the name of the affected block. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The \"%s\" block was affected by errors and may not function properly. Check the developer tools for more details.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tidBase || id\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t} );\n\n\t\tref.current.appendChild( control.element );\n\n\t\treturn () => {\n\t\t\tif ( outgoingInstances.current.has( instance ) ) {\n\t\t\t\toutgoingInstances.current.delete( instance );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcontrol.destroy();\n\t\t};\n\t}, [\n\t\tid,\n\t\tidBase,\n\t\tinstance,\n\t\tonChangeInstance,\n\t\tonChangeHasPreview,\n\t\tisMediumLargeViewport,\n\t] );\n\n\tif ( isWide && isMediumLargeViewport ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'wp-block-legacy-widget__container': isVisible,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ isVisible && (\n\t\t\t\t\t<h3 className=\"wp-block-legacy-widget__edit-form-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</h3>\n\t\t\t\t) }\n\t\t\t\t<Popover\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tplacement=\"right\"\n\t\t\t\t\toffset={ 32 }\n\t\t\t\t\tresize={ false }\n\t\t\t\t\tflip={ false }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tclassName=\"wp-block-legacy-widget__edit-form\"\n\t\t\t\t\t\thidden={ ! isVisible }\n\t\t\t\t\t></div>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName=\"wp-block-legacy-widget__edit-form\"\n\t\t\thidden={ ! isVisible }\n\t\t>\n\t\t\t<h3 className=\"wp-block-legacy-widget__edit-form-title\">\n\t\t\t\t{ title }\n\t\t\t</h3>\n\t\t</div>\n\t);\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAIjB,qBAAkC;AAClC,kBAA4B;AAC5B,qBAAsC;AACtC,kBAA4B;AAC5B,wBAAwB;AACxB,qBAAiC;AAIjC,qBAAoB;AA6EjB;AA3EY,SAAR,KAAuB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,UAAM,uBAAO;AAEnB,QAAM,4BAAwB,iCAAkB,OAAQ;AAMxD,QAAM,wBAAoB,uBAAQ,oBAAI,IAAI,CAAE;AAC5C,QAAM,wBAAoB,uBAAQ,oBAAI,IAAI,CAAE;AAE5C,QAAM,EAAE,aAAa,QAAI,yBAAa,eAAAA,KAAa;AAEnD,gCAAW,MAAM;AAChB,QAAK,kBAAkB,QAAQ,IAAK,QAAS,GAAI;AAChD,wBAAkB,QAAQ,OAAQ,QAAS;AAC3C;AAAA,IACD;AAEA,UAAM,UAAU,IAAI,eAAAC,QAAS;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAkB,cAAe;AAChC,0BAAkB,QAAQ,IAAK,QAAS;AACxC,0BAAkB,QAAQ,IAAK,YAAa;AAC5C,yBAAkB,YAAa;AAAA,MAChC;AAAA,MACA;AAAA,MACA,QAAS,OAAQ;AAChB,eAAO,QAAQ,MAAO,KAAM;AAC5B;AAAA,UACC;AAAA,cACA;AAAA;AAAA,gBAEC;AAAA,cACC;AAAA,YACD;AAAA,YACA,UAAU;AAAA,UACX;AAAA,QACD;AAAA,MACD;AAAA,IACD,CAAE;AAEF,QAAI,QAAQ,YAAa,QAAQ,OAAQ;AAEzC,WAAO,MAAM;AACZ,UAAK,kBAAkB,QAAQ,IAAK,QAAS,GAAI;AAChD,0BAAkB,QAAQ,OAAQ,QAAS;AAC3C;AAAA,MACD;AAEA,cAAQ,QAAQ;AAAA,IACjB;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,MAAK,UAAU,uBAAwB;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,eAAY,YAAAC,SAAM;AAAA,UACjB,qCAAqC;AAAA,QACtC,CAAE;AAAA,QAEA;AAAA,uBACD,4CAAC,QAAG,WAAU,2CACX,iBACH;AAAA,UAED;AAAA,YAAC;AAAA;AAAA,cACA,cAAe;AAAA,cACf,WAAU;AAAA,cACV,QAAS;AAAA,cACT,QAAS;AAAA,cACT,MAAO;AAAA,cACP,OAAK;AAAA,cAEL;AAAA,gBAAC;AAAA;AAAA,kBACA;AAAA,kBACA,WAAU;AAAA,kBACV,QAAS,CAAE;AAAA;AAAA,cACX;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IACD;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MACV,QAAS,CAAE;AAAA,MAEX,sDAAC,QAAG,WAAU,2CACX,iBACH;AAAA;AAAA,EACD;AAEF;",
  "names": ["noticesStore", "Control", "clsx"]
}
