UNPKG

@tamagui/react-native-web-lite

Version:
45 lines (44 loc) 1.7 kB
import "../VirtualizedList"; import * as React from "react"; import { useContext, useMemo } from "react"; import { jsx } from "react/jsx-runtime"; const __DEV__ = process.env.NODE_ENV !== "production"; const VirtualizedListContext = React.createContext(null); __DEV__ && (VirtualizedListContext.displayName = "VirtualizedListContext"); function VirtualizedListContextResetter({ children }) { return /* @__PURE__ */ jsx(VirtualizedListContext.Provider, { value: null, children }); } function VirtualizedListContextProvider({ children, value }) { const context = useMemo( () => ({ cellKey: null, getScrollMetrics: value.getScrollMetrics, horizontal: value.horizontal, getOutermostParentListRef: value.getOutermostParentListRef, registerAsNestedChild: value.registerAsNestedChild, unregisterAsNestedChild: value.unregisterAsNestedChild }), [ value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.registerAsNestedChild, value.unregisterAsNestedChild ] ); return /* @__PURE__ */ jsx(VirtualizedListContext.Provider, { value: context, children }); } function VirtualizedListCellContextProvider({ cellKey, children }) { const currContext = useContext(VirtualizedListContext), context = useMemo( () => currContext == null ? null : { ...currContext, cellKey }, [currContext, cellKey] ); return /* @__PURE__ */ jsx(VirtualizedListContext.Provider, { value: context, children }); } export { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider, VirtualizedListContextResetter }; //# sourceMappingURL=VirtualizedListContext.js.map