{"version":3,"file":"/Users/anthonygubler/development/dojo-org/widgets/src/middleware/offscreen.ts","sourceRoot":"","sources":["offscreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,MAAM,MAAM,6BAA6B,CAAC;AAGjD,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE;IAClF,OAAO,CACN,cAAkC,EAClC,SAA2C,EAClC,EAAE;QACX,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC","sourcesContent":["import { renderer, create, getRegistry } from '@dojo/framework/core/vdom';\nimport global from '@dojo/framework/shim/global';\nimport { RenderResult } from '@dojo/framework/core/interfaces';\n\nconst factory = create({ getRegistry });\n\nexport const offscreen = factory(function offscreen({ middleware: { getRegistry } }) {\n\treturn <RESULT>(\n\t\trenderFunction: () => RenderResult,\n\t\tpredicate: (node: HTMLDivElement) => RESULT\n\t): RESULT => {\n\t\tconst handler = getRegistry();\n\t\tconst registry = handler ? handler.base : undefined;\n\t\tconst domNode = global.document.createElement('div');\n\t\tdomNode.style.position = 'absolute';\n\t\tglobal.document.body.appendChild(domNode);\n\t\tconst r = renderer(renderFunction);\n\t\tr.mount({ domNode, sync: true, registry });\n\t\tconst result = predicate(domNode);\n\t\tglobal.document.body.removeChild(domNode);\n\t\treturn result;\n\t};\n});\n\nexport default offscreen;\n"]}