UNPKG

@tamagui/react-native-web-lite

Version:
56 lines (55 loc) 1.87 kB
import { jsx as _jsx } from "react/jsx-runtime"; import "../VirtualizedList"; import * as React from "react"; import { useContext, useMemo } from "react"; var __DEV__ = process.env.NODE_ENV !== "production"; var VirtualizedListContext = /* @__PURE__ */React.createContext(null); __DEV__ && (VirtualizedListContext.displayName = "VirtualizedListContext"); function VirtualizedListContextResetter(param) { var { children } = param; return /* @__PURE__ */_jsx(VirtualizedListContext.Provider, { value: null, children }); } function VirtualizedListContextProvider(param) { var { children, value } = param, context = useMemo(function () { return { 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(param) { var { cellKey, children } = param, currContext = useContext(VirtualizedListContext), context = useMemo(function () { return currContext == null ? null : { ...currContext, cellKey }; }, [currContext, cellKey]); return /* @__PURE__ */_jsx(VirtualizedListContext.Provider, { value: context, children }); } export { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider, VirtualizedListContextResetter }; //# sourceMappingURL=VirtualizedListContext.native.js.map