one
Version:
One is a React framework for web, iOS, and Android apps.
29 lines (27 loc) • 1.68 kB
JavaScript
function feedTamaguiSafeArea(metrics, hooks) {
var _g, ___tamagui_safe_area__, _state, _useSafeAreaInsets, _state1, _useSafeAreaFrame;
var _g___tamagui_safe_area_subscriptions__;
var g = globalThis;
var state = (___tamagui_safe_area__ = (_g = g).__tamagui_safe_area__) !== null && ___tamagui_safe_area__ !== void 0 ? ___tamagui_safe_area__ : _g.__tamagui_safe_area__ = {
didSetup: false,
enabled: false,
useSafeAreaInsets: null,
useSafeAreaFrame: null,
initialMetrics: null
};
var previous = state.initialMetrics;
state.didSetup = true;
state.enabled = true;
(_useSafeAreaInsets = (_state = state).useSafeAreaInsets) !== null && _useSafeAreaInsets !== void 0 ? _useSafeAreaInsets : _state.useSafeAreaInsets = hooks.useSafeAreaInsets;
(_useSafeAreaFrame = (_state1 = state).useSafeAreaFrame) !== null && _useSafeAreaFrame !== void 0 ? _useSafeAreaFrame : _state1.useSafeAreaFrame = hooks.useSafeAreaFrame;
if (!metrics || previous && sameMetrics(previous, metrics)) return;
state.initialMetrics = metrics;
(_g___tamagui_safe_area_subscriptions__ = g.__tamagui_safe_area_subscriptions__) === null || _g___tamagui_safe_area_subscriptions__ === void 0 ? void 0 : _g___tamagui_safe_area_subscriptions__.listeners.forEach(function(listener) {
return listener();
});
}
function sameMetrics(a, b) {
return a.insets.top === b.insets.top && a.insets.right === b.insets.right && a.insets.bottom === b.insets.bottom && a.insets.left === b.insets.left && a.frame.x === b.frame.x && a.frame.y === b.frame.y && a.frame.width === b.frame.width && a.frame.height === b.frame.height;
}
export { feedTamaguiSafeArea };
//# sourceMappingURL=tamaguiSafeArea.native.js.map