{"ast":null,"code":"import * as React from 'react';\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nexport default function useFocusedListenersChildrenAdapter(_ref) {\n var navigation = _ref.navigation,\n focusedListeners = _ref.focusedListeners;\n var _React$useContext = React.useContext(NavigationBuilderContext),\n addListener = _React$useContext.addListener;\n var listener = React.useCallback(function (callback) {\n if (navigation.isFocused()) {\n for (var _listener of focusedListeners) {\n var _listener2 = _listener(callback),\n handled = _listener2.handled,\n result = _listener2.result;\n if (handled) {\n return {\n handled: handled,\n result: result\n };\n }\n }\n return {\n handled: true,\n result: callback(navigation)\n };\n } else {\n return {\n handled: false,\n result: null\n };\n }\n }, [focusedListeners, navigation]);\n React.useEffect(function () {\n return addListener === null || addListener === void 0 ? void 0 : addListener('focus', listener);\n }, [addListener, listener]);\n}","map":{"version":3,"sources":["useFocusedListenersChildrenAdapter.tsx"],"names":["React","NavigationBuilderContext","useFocusedListenersChildrenAdapter","navigation","focusedListeners","addListener","useContext","listener","useCallback","callback","isFocused","handled","result","useEffect"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,wBAAwB;AAc/B,eAAe,SAASC,kCAAkC,CAAA,IAAA,EAG9C;EAH+C,IACzDC,UAAU,GAEF,IAAA,CAFRA,UAAU;IACVC,gBAAAA,GACQ,IAAA,CADRA,gBAAAA;EAEA,wBAAwBJ,KAAK,CAACM,UAAU,CAACL,wBAAwB,CAAC;IAA1DI,WAAAA,qBAAAA,WAAAA;EAER,IAAME,QAAQ,GAAGP,KAAK,CAACQ,WAAW,CAC/BC,UAAAA,QAAwC,EAAK;IAC5C,IAAIN,UAAU,CAACO,SAAS,EAAE,EAAE;MAC1B,KAAK,IAAMH,SAAQ,IAAIH,gBAAgB,EAAE;QACvC,iBAA4BG,SAAQ,CAACE,QAAQ,CAAC;UAAtCE,OAAO,cAAPA,OAAO;UAAEC,MAAAA,cAAAA,MAAAA;QAEjB,IAAID,OAAO,EAAE;UACX,OAAO;YAAEA,OAAO,EAAPA,OAAO;YAAEC,MAAAA,EAAAA;UAAO,CAAC;QAC5B;MACF;MAEA,OAAO;QAAED,OAAO,EAAE,IAAI;QAAEC,MAAM,EAAEH,QAAQ,CAACN,UAAU;MAAE,CAAC;IACxD,CAAC,MAAM;MACL,OAAO;QAAEQ,OAAO,EAAE,KAAK;QAAEC,MAAM,EAAE;MAAK,CAAC;IACzC;EACF,CAAC,EACD,CAACR,gBAAgB,EAAED,UAAU,CAAC,CAC/B;EAEDH,KAAK,CAACa,SAAS,CACb;IAAA,OAAMR,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAG,OAAO,EAAEE,QAAQ,CAAC;EAAA,GACtC,CAACF,WAAW,EAAEE,QAAQ,CAAC,CACxB;AACH","sourceRoot":"../../src","sourcesContent":["import * as React from 'react';\nimport NavigationBuilderContext from './NavigationBuilderContext';\n/**\n * Hook for passing focus callback to children\n */\nexport default function useFocusedListenersChildrenAdapter(_ref) {\n let {\n navigation,\n focusedListeners\n } = _ref;\n const {\n addListener\n } = React.useContext(NavigationBuilderContext);\n const listener = React.useCallback(callback => {\n if (navigation.isFocused()) {\n for (const listener of focusedListeners) {\n const {\n handled,\n result\n } = listener(callback);\n if (handled) {\n return {\n handled,\n result\n };\n }\n }\n return {\n handled: true,\n result: callback(navigation)\n };\n } else {\n return {\n handled: false,\n result: null\n };\n }\n }, [focusedListeners, navigation]);\n React.useEffect(() => addListener === null || addListener === void 0 ? void 0 : addListener('focus', listener), [addListener, listener]);\n}\n//# sourceMappingURL=useFocusedListenersChildrenAdapter.js.map"]},"metadata":{},"sourceType":"module"}