@tamagui/react-native-web-lite
Version:
React Native for Web
56 lines (55 loc) • 1.87 kB
JavaScript
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