{"ast":null,"code":"import * as React from 'react';\nimport View from \"react-native-web/dist/exports/View\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nexport default class PortalManager extends React.PureComponent {\n  state = {\n    portals: []\n  };\n  mount = (key, children) => {\n    this.setState(state => ({\n      portals: [...state.portals, {\n        key,\n        children\n      }]\n    }));\n  };\n  update = (key, children) => this.setState(state => ({\n    portals: state.portals.map(item => {\n      if (item.key === key) {\n        return Object.assign({}, item, {\n          children\n        });\n      }\n      return item;\n    })\n  }));\n  unmount = key => this.setState(state => ({\n    portals: state.portals.filter(item => item.key !== key)\n  }));\n  render() {\n    return this.state.portals.map(({\n      key,\n      children\n    }) => React.createElement(View, {\n      key: key,\n      collapsable: false,\n      pointerEvents: \"box-none\",\n      style: StyleSheet.absoluteFill\n    }, children));\n  }\n}","map":{"version":3,"names":["React","View","StyleSheet","PortalManager","PureComponent","state","portals","mount","key","children","setState","update","map","item","Object","assign","unmount","filter","render","createElement","collapsable","pointerEvents","style","absoluteFill"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/Portal/PortalManager.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View, StyleSheet } from 'react-native';\n\ntype State = {\n  portals: Array<{\n    key: number;\n    children: React.ReactNode;\n  }>;\n};\n\n/**\n * Portal host is the component which actually renders all Portals.\n */\nexport default class PortalManager extends React.PureComponent<{}, State> {\n  state: State = {\n    portals: [],\n  };\n\n  mount = (key: number, children: React.ReactNode) => {\n    this.setState((state) => ({\n      portals: [...state.portals, { key, children }],\n    }));\n  };\n\n  update = (key: number, children: React.ReactNode) =>\n    this.setState((state) => ({\n      portals: state.portals.map((item) => {\n        if (item.key === key) {\n          return { ...item, children };\n        }\n        return item;\n      }),\n    }));\n\n  unmount = (key: number) =>\n    this.setState((state) => ({\n      portals: state.portals.filter((item) => item.key !== key),\n    }));\n\n  render() {\n    return this.state.portals.map(({ key, children }) => (\n      <View\n        key={key}\n        collapsable={\n          false /* Need collapsable=false here to clip the elevations, otherwise they appear above sibling components */\n        }\n        pointerEvents=\"box-none\"\n        style={StyleSheet.absoluteFill}\n      >\n        {children}\n      </View>\n    ));\n  }\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAAA,OAAAC,IAAA;AAAA,OAAAC,UAAA;AAa9B,eAAe,MAAMC,aAAa,SAASH,KAAK,CAACI,aAAa,CAAY;EACxEC,KAAK,GAAU;IACbC,OAAO,EAAE;EACX,CAAC;EAEDC,KAAK,GAAGA,CAACC,GAAW,EAAEC,QAAyB,KAAK;IAClD,IAAI,CAACC,QAAQ,CAAEL,KAAK,KAAM;MACxBC,OAAO,EAAE,CAAC,GAAGD,KAAK,CAACC,OAAO,EAAE;QAAEE,GAAG;QAAEC;MAAS,CAAC;IAC/C,CAAC,CAAC,CAAC;EACL,CAAC;EAEDE,MAAM,GAAGA,CAACH,GAAW,EAAEC,QAAyB,KAC9C,IAAI,CAACC,QAAQ,CAAEL,KAAK,KAAM;IACxBC,OAAO,EAAED,KAAK,CAACC,OAAO,CAACM,GAAG,CAAEC,IAAI,IAAK;MACnC,IAAIA,IAAI,CAACL,GAAG,KAAKA,GAAG,EAAE;QACpB,OAAAM,MAAA,CAAAC,MAAA,KAAYF,IAAI;UAAEJ;QAAA;MACpB;MACA,OAAOI,IAAI;IACb,CAAC;EACH,CAAC,CAAC,CAAC;EAELG,OAAO,GAAIR,GAAW,IACpB,IAAI,CAACE,QAAQ,CAAEL,KAAK,KAAM;IACxBC,OAAO,EAAED,KAAK,CAACC,OAAO,CAACW,MAAM,CAAEJ,IAAI,IAAKA,IAAI,CAACL,GAAG,KAAKA,GAAG;EAC1D,CAAC,CAAC,CAAC;EAELU,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACb,KAAK,CAACC,OAAO,CAACM,GAAG,CAAC,CAAC;MAAEJ,GAAG;MAAEC;IAAS,CAAC,KAC9CT,KAAA,CAAAmB,aAAA,CAAClB,IAAI;MACHO,GAAG,EAAEA,GAAI;MACTY,WAAW,EACT,KAAK;MAEPC,aAAa,EAAC,UAAU;MACxBC,KAAK,EAAEpB,UAAU,CAACqB;IAAa,GAE9Bd,QACG,CACP,CAAC;EACJ;AACF","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}