repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
1 lines • 4.06 kB
JSON
{"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":[]}