@tamagui/react-native-web-lite
Version:
React Native for Web
348 lines • 13.5 kB
JavaScript
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
value: mod,
enumerable: true
}) : target, mod));
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
value: true
}), mod);
var without_animated_exports = {};
__export(without_animated_exports, {
AccessibilityInfo: () => import_AccessibilityInfo.AccessibilityInfo,
AccessibilityUtil: () => import_react_native_web_internals.AccessibilityUtil,
ActivityIndicator: () => import_ActivityIndicator.ActivityIndicator,
Alert: () => import_Alert.Alert,
Animated: () => Animated,
AppRegistry: () => import_AppRegistry.AppRegistry,
AppState: () => import_AppState.AppState,
Appearance: () => import_Appearance.Appearance,
BackHandler: () => import_BackHandler.BackHandler,
Clipboard: () => import_Clipboard.Clipboard,
DeviceEmitter: () => import_DeviceEmitter.DeviceEmitter,
DeviceEventEmitter: () => import_DeviceEmitter2.DeviceEmitter,
DeviceInfo: () => import_DeviceInfo.DeviceInfo,
Dimensions: () => import_Dimensions.Dimensions,
DrawerLayoutAndroid: () => import_UnimplementedView.UnimplementedView,
Easing: () => Easing,
FlatList: () => import_UnimplementedView4.UnimplementedView,
I18nManager: () => import_I18nManager.I18nManager,
Image: () => import_Image.Image,
ImageBackground: () => import_ImageBackground.ImageBackground,
ImageLoader: () => import_react_native_web_internals.ImageLoader,
InteractionManager: () => import_react_native_web_internals.InteractionManager,
Keyboard: () => import_Keyboard.Keyboard,
KeyboardAvoidingView: () => import_KeyboardAvoidingView.KeyboardAvoidingView,
Linking: () => import_Linking.Linking,
LocaleProvider: () => import_react_native_web_internals.LocaleProvider,
LogBox: () => import_LogBox.LogBox,
Modal: () => import_Modal.Modal,
NativeEventEmitter: () => import_NativeEventEmitter.default,
NativeModules: () => import_NativeModules.NativeModules,
PanResponder: () => import_PanResponder.PanResponder,
PixelRatio: () => import_PixelRatio.PixelRatio,
Platform: () => import_react_native_web_internals.Platform,
Pressable: () => import_Pressable.Pressable,
RefreshControl: () => import_RefreshControl.RefreshControl,
RootTagContext: () => RootTagContext,
SafeAreaView: () => import_SafeAreaView.SafeAreaView,
ScrollView: () => import_ScrollView.ScrollView,
SectionList: () => import_UnimplementedView7.UnimplementedView,
Share: () => import_Share.Share,
StatusBar: () => import_StatusBar.StatusBar,
StyleSheet: () => import_react_native_web_internals.StyleSheet,
Switch: () => import_UnimplementedView2.UnimplementedView,
Text: () => import_Text.Text,
TextAncestorContext: () => import_react_native_web_internals.TextAncestorContext,
TextInput: () => import_TextInput.TextInput,
Touchable: () => import_TouchableOpacity.TouchableOpacity,
TouchableHighlight: () => import_UnimplementedView5.UnimplementedView,
TouchableNativeFeedback: () => import_UnimplementedView6.UnimplementedView,
TouchableOpacity: () => import_TouchableOpacity.TouchableOpacity,
TouchableWithoutFeedback: () => import_TouchableWithoutFeedback.TouchableWithoutFeedback,
UIManager: () => import_react_native_web_internals.UIManager,
Vibration: () => import_Vibration.Vibration,
View: () => import_View.View,
VirtualizedList: () => import_UnimplementedView3.UnimplementedView,
canUseDOM: () => import_react_native_web_internals.canUseDOM,
clickProps: () => import_react_native_web_internals.clickProps,
createDOMProps: () => import_react_native_web_internals.createDOMProps,
dismissKeyboard: () => import_react_native_web_internals.dismissKeyboard,
findNodeHandle: () => findNodeHandle,
flattenStyle: () => import_react_native_web_internals.flattenStyle,
isWebColor: () => import_react_native_web_internals.isWebColor,
mergeRefs: () => import_react_native_web_internals.mergeRefs,
normalizeColor: () => import_react_native_web_internals.normalizeColor,
processColor: () => import_react_native_web_internals.processColor,
processStyle: () => import_react_native_web_internals.processStyle,
render: () => import_render.render,
requireNativeComponent: () => requireNativeComponent,
unstable_batchedUpdates: () => import_react_dom.unstable_batchedUpdates,
unstable_createElement: () => import_createElement.createElement,
useColorScheme: () => import_useColorScheme.useColorScheme,
useEvent: () => import_react_native_web_internals.useEvent,
useHover: () => import_react_native_web_internals.useHover,
useLayoutEffect: () => import_react_native_web_internals.useLayoutEffect,
useLocaleContext: () => import_useLocaleContext.useLocaleContext,
useMergeRefs: () => import_react_native_web_internals.useMergeRefs,
usePlatformMethods: () => import_react_native_web_internals.usePlatformMethods,
useWindowDimensions: () => import_useWindowDimensions.useWindowDimensions
});
module.exports = __toCommonJS(without_animated_exports);
var import_react = require("react");
var import_createElement = require("./createElement/index.cjs");
var import_react_native_web_internals = require("@tamagui/react-native-web-internals");
var import_render = require("./render/index.cjs");
var import_NativeModules = require("./NativeModules/index.cjs");
var import_NativeEventEmitter = __toESM(require("./vendor/react-native/EventEmitter/NativeEventEmitter.cjs"), 1);
var import_AccessibilityInfo = require("./AccessibilityInfo/index.cjs");
var import_Alert = require("./Alert/index.cjs");
var import_Appearance = require("./Appearance/index.cjs");
var import_AppRegistry = require("./AppRegistry/index.cjs");
var import_AppState = require("./AppState/index.cjs");
var import_BackHandler = require("./BackHandler/index.cjs");
var import_Clipboard = require("./Clipboard/index.cjs");
var import_DeviceInfo = require("./DeviceInfo/index.cjs");
var import_DeviceEmitter = require("./DeviceEmitter.cjs");
var import_DeviceEmitter2 = require("./DeviceEmitter.cjs");
var import_Dimensions = require("./Dimensions/index.cjs");
var import_I18nManager = require("./I18nManager/index.cjs");
var import_Keyboard = require("./Keyboard/index.cjs");
var import_Linking = require("./Linking/index.cjs");
var import_PanResponder = require("./PanResponder/index.cjs");
var import_PixelRatio = require("./PixelRatio/index.cjs");
var import_Share = require("./Share/index.cjs");
var import_Vibration = require("./Vibration/index.cjs");
var import_UnimplementedView = require("./UnimplementedView.cjs");
var import_UnimplementedView2 = require("./UnimplementedView.cjs");
var import_UnimplementedView3 = require("./UnimplementedView.cjs");
var import_UnimplementedView4 = require("./UnimplementedView.cjs");
var import_UnimplementedView5 = require("./UnimplementedView.cjs");
var import_UnimplementedView6 = require("./UnimplementedView.cjs");
var import_UnimplementedView7 = require("./UnimplementedView.cjs");
var import_TouchableOpacity = require("./TouchableOpacity.cjs");
var import_TouchableWithoutFeedback = require("./TouchableWithoutFeedback.cjs");
var import_ActivityIndicator = require("./ActivityIndicator/index.cjs");
var import_Image = require("./Image/index.cjs");
var import_ImageBackground = require("./ImageBackground/index.cjs");
var import_KeyboardAvoidingView = require("./KeyboardAvoidingView/index.cjs");
var import_Modal = require("./Modal/index.cjs");
var import_Pressable = require("./Pressable/index.cjs");
var import_RefreshControl = require("./RefreshControl/index.cjs");
var import_SafeAreaView = require("./SafeAreaView/index.cjs");
var import_ScrollView = require("./ScrollView/index.cjs");
var import_StatusBar = require("./StatusBar/index.cjs");
var import_Text = require("./Text/index.cjs");
var import_TextInput = require("./TextInput/index.cjs");
var import_View = require("./View/index.cjs");
var import_LogBox = require("./LogBox/index.cjs");
var import_useColorScheme = require("./useColorScheme/index.cjs");
var import_useLocaleContext = require("./useLocaleContext/index.cjs");
var import_useWindowDimensions = require("./useWindowDimensions/index.cjs");
__reExport(without_animated_exports, require("@tamagui/react-native-web-internals"), module.exports);
var import_View2 = require("./View/index.cjs");
var import_Text2 = require("./Text/index.cjs");
var import_Image2 = require("./Image/index.cjs");
var import_ScrollView2 = require("./ScrollView/index.cjs");
var import_react_dom = require("react-dom");
function requireNativeComponent(name) {
return function FakeComponent() {
return null;
};
}
class AnimatedValue {
_value;
_offset;
_listeners;
_nextId;
constructor(value = 0) {
this._value = value;
this._offset = 0;
this._listeners = {};
this._nextId = 0;
}
setValue(value) {
this._value = value;
this._notifyListeners();
}
setOffset(offset) {
this._offset = offset;
}
flattenOffset() {
this._value += this._offset;
this._offset = 0;
}
extractOffset() {
this._offset = this._value;
this._value = 0;
}
addListener(callback) {
const id = String(this._nextId++);
this._listeners[id] = callback;
return id;
}
removeListener(id) {
delete this._listeners[id];
}
removeAllListeners() {
this._listeners = {};
}
stopAnimation(callback) {
callback?.(this._value);
}
resetAnimation(callback) {
callback?.(this._value);
}
interpolate(config) {
return new AnimatedValue(this._value);
}
_notifyListeners() {
for (const key in this._listeners) {
this._listeners[key]({
value: this._value
});
}
}
__getValue() {
return this._value + this._offset;
}
}
class AnimatedValueXY {
x;
y;
constructor(value) {
this.x = new AnimatedValue(value?.x ?? 0);
this.y = new AnimatedValue(value?.y ?? 0);
}
setValue(value) {
this.x.setValue(value.x);
this.y.setValue(value.y);
}
setOffset(offset) {
this.x.setOffset(offset.x);
this.y.setOffset(offset.y);
}
flattenOffset() {
this.x.flattenOffset();
this.y.flattenOffset();
}
stopAnimation(callback) {
callback?.({
x: this.x._value,
y: this.y._value
});
}
addListener(callback) {
const xId = this.x.addListener(() => {
callback({
x: this.x._value,
y: this.y._value
});
});
this.y.addListener(() => {
callback({
x: this.x._value,
y: this.y._value
});
});
return xId;
}
removeAllListeners() {
this.x.removeAllListeners();
this.y.removeAllListeners();
}
getLayout() {
return {
left: this.x,
top: this.y
};
}
getTranslateTransform() {
return [{
translateX: this.x
}, {
translateY: this.y
}];
}
}
const noopAnim = {
start: cb => cb?.({
finished: true
}),
stop: () => {},
reset: () => {}
};
const Animated = {
View: import_View2.View,
Text: import_Text2.Text,
Image: import_Image2.Image,
ScrollView: import_ScrollView2.ScrollView,
FlatList: import_View2.View,
SectionList: import_View2.View,
Value: AnimatedValue,
ValueXY: AnimatedValueXY,
timing: () => noopAnim,
spring: () => noopAnim,
decay: () => noopAnim,
sequence: () => noopAnim,
parallel: () => noopAnim,
stagger: () => noopAnim,
loop: () => noopAnim,
event: () => () => {},
add: (a, b) => new AnimatedValue(0),
subtract: (a, b) => new AnimatedValue(0),
multiply: (a, b) => new AnimatedValue(0),
divide: (a, b) => new AnimatedValue(0),
modulo: (a, b) => new AnimatedValue(0),
diffClamp: (a, min, max) => new AnimatedValue(0),
delay: () => noopAnim,
createAnimatedComponent: c => c
};
const Easing = {
step0: () => 0,
step1: () => 1,
linear: t => t,
ease: t => t,
quad: t => t * t,
cubic: t => t * t * t,
poly: () => t => t,
sin: t => t,
circle: t => t,
exp: t => t,
elastic: () => t => t,
back: () => t => t,
bounce: t => t,
bezier: () => t => t,
in: fn => fn,
out: fn => fn,
inOut: fn => fn
};
const findNodeHandle = component => {
throw new Error("not supported - use ref instead");
};
const RootTagContext = (0, import_react.createContext)(null);