UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

58 lines (55 loc) • 1.46 kB
import { jsx } from "react/jsx-runtime"; import { useCallback, useState } from "react"; import NativeReservedRegionsProvider from "../specs/OneNativeReservedRegionsProviderNativeComponent.native.js"; import { ReservedRegionsContext } from "./reservedRegionsContext.native.js"; function toRegion(region) { if (region.kind !== "division" && region.kind !== "occlusion") { throw new Error(`OneNativeReservedRegionsProvider emitted unknown kind ${region.kind}`); } return { id: region.id, kind: region.kind, frame: { x: region.x, y: region.y, width: region.width, height: region.height }, margins: { top: region.marginTop, left: region.marginLeft, bottom: region.marginBottom, right: region.marginRight }, isActive: region.isActive }; } function Provider(param) { var { children, ...props } = param; var [snapshot, setSnapshot] = useState({ regions: [], ready: false, bounds: null }); var onChange = useCallback(function(event) { var { regions, width, height } = event.nativeEvent; setSnapshot({ regions: regions.map(toRegion), ready: true, bounds: { width, height } }); }, []); return /* @__PURE__ */ jsx(ReservedRegionsContext.Provider, { value: snapshot, children: /* @__PURE__ */ jsx(NativeReservedRegionsProvider, { ...props, onNativeReservedRegionsChange: onChange, children }) }); } export { Provider }; //# sourceMappingURL=ReservedRegions.native.js.map