first commit

This commit is contained in:
2026-03-10 16:18:05 +00:00
commit 11f9c069b5
31635 changed files with 3187747 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = TabsAccessory;
var _react = _interopRequireDefault(require("react"));
var _BottomTabsAccessoryNativeComponent = _interopRequireDefault(require("../../fabric/bottom-tabs/BottomTabsAccessoryNativeComponent"));
var _reactNative = require("react-native");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
* EXPERIMENTAL API, MIGHT CHANGE W/O ANY NOTICE
*/
function TabsAccessory(props) {
return /*#__PURE__*/_react.default.createElement(_BottomTabsAccessoryNativeComponent.default, _extends({}, props, {
collapsable: false,
style: [props.style, _reactNative.StyleSheet.absoluteFill]
}));
}
//# sourceMappingURL=TabsAccessory.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_react","_interopRequireDefault","require","_BottomTabsAccessoryNativeComponent","_reactNative","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","TabsAccessory","props","createElement","collapsable","style","StyleSheet","absoluteFill"],"sourceRoot":"../../../../src","sources":["components/tabs/TabsAccessory.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mCAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAA0C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAE1C;AACA;AACA;AACe,SAASO,aAAaA,CAACC,KAAyB,EAAE;EAC/D,oBACErB,MAAA,CAAAO,OAAA,CAAAe,aAAA,CAACnB,mCAAA,CAAAI,OAAkC,EAAAC,QAAA,KAC7Ba,KAAK;IACTE,WAAW,EAAE,KAAM;IACnBC,KAAK,EAAE,CAACH,KAAK,CAACG,KAAK,EAAEC,uBAAU,CAACC,YAAY;EAAE,EAC/C,CAAC;AAEN","ignoreList":[]}

View File

@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
//# sourceMappingURL=TabsAccessory.types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/tabs/TabsAccessory.types.ts"],"mappings":"","ignoreList":[]}

View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = TabsAccessoryContent;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _BottomTabsAccessoryContentNativeComponent = _interopRequireDefault(require("../../fabric/bottom-tabs/BottomTabsAccessoryContentNativeComponent"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
* EXPERIMENTAL API, MIGHT CHANGE W/O ANY NOTICE
*/
function TabsAccessoryContent(props) {
return /*#__PURE__*/_react.default.createElement(_BottomTabsAccessoryContentNativeComponent.default, _extends({}, props, {
collapsable: false,
style: [props.style, _reactNative.StyleSheet.absoluteFill]
}));
}
//# sourceMappingURL=TabsAccessoryContent.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_BottomTabsAccessoryContentNativeComponent","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","TabsAccessoryContent","props","createElement","collapsable","style","StyleSheet","absoluteFill"],"sourceRoot":"../../../../src","sources":["components/tabs/TabsAccessoryContent.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,0CAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA2H,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAE3H;AACA;AACA;AACe,SAASO,oBAAoBA,CAACC,KAAgC,EAAE;EAC7E,oBACErB,MAAA,CAAAO,OAAA,CAAAe,aAAA,CAAClB,0CAAA,CAAAG,OAAyC,EAAAC,QAAA,KACpCa,KAAK;IACTE,WAAW,EAAE,KAAM;IACnBC,KAAK,EAAE,CAACH,KAAK,CAACG,KAAK,EAAEC,uBAAU,CAACC,YAAY;EAAE,EAC/C,CAAC;AAEN","ignoreList":[]}

View File

@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
//# sourceMappingURL=TabsAccessoryContent.types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/tabs/TabsAccessoryContent.types.ts"],"mappings":"","ignoreList":[]}

View File

@@ -0,0 +1,71 @@
"use strict";
'use client';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _BottomTabsNativeComponent = _interopRequireDefault(require("../../fabric/bottom-tabs/BottomTabsNativeComponent"));
var _flags = _interopRequireDefault(require("../../flags"));
var _logging = require("../../private/logging");
var _TabsAccessory = _interopRequireDefault(require("./TabsAccessory"));
var _TabsAccessoryContent = _interopRequireDefault(require("./TabsAccessoryContent"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
* EXPERIMENTAL API, MIGHT CHANGE W/O ANY NOTICE
*/
function TabsHost(props) {
(0, _logging.bottomTabsDebugLog)(`TabsHost render`);
const {
onNativeFocusChange,
experimentalControlNavigationStateInJS = _flags.default.experiment.controlledBottomTabs,
bottomAccessory,
nativeContainerStyle,
...filteredProps
} = props;
const componentNodeRef = _react.default.useRef(null);
const componentNodeHandle = _react.default.useRef(-1);
_react.default.useEffect(() => {
if (componentNodeRef.current != null) {
componentNodeHandle.current = (0, _reactNative.findNodeHandle)(componentNodeRef.current) ?? -1;
} else {
componentNodeHandle.current = -1;
}
}, []);
const onNativeFocusChangeCallback = _react.default.useCallback(event => {
(0, _logging.bottomTabsDebugLog)(`TabsHost [${componentNodeHandle.current ?? -1}] onNativeFocusChange: ${JSON.stringify(event.nativeEvent)}`);
onNativeFocusChange?.(event);
}, [onNativeFocusChange]);
const [bottomAccessoryEnvironment, setBottomAccessoryEnvironment] = (0, _react.useState)('regular');
return /*#__PURE__*/_react.default.createElement(_BottomTabsNativeComponent.default, _extends({
style: styles.fillParent,
onNativeFocusChange: onNativeFocusChangeCallback,
controlNavigationStateInJS: experimentalControlNavigationStateInJS,
nativeContainerBackgroundColor: nativeContainerStyle?.backgroundColor
// @ts-ignore suppress ref - debug only
,
ref: componentNodeRef
}, filteredProps), filteredProps.children, bottomAccessory && _reactNative.Platform.OS === 'ios' && parseInt(_reactNative.Platform.Version, 10) >= 26 && (_reactNative.Platform.constants.reactNativeVersion.minor >= 82 ? /*#__PURE__*/_react.default.createElement(_TabsAccessory.default, null, /*#__PURE__*/_react.default.createElement(_TabsAccessoryContent.default, {
environment: "regular"
}, bottomAccessory('regular')), /*#__PURE__*/_react.default.createElement(_TabsAccessoryContent.default, {
environment: "inline"
}, bottomAccessory('inline'))) : /*#__PURE__*/_react.default.createElement(_TabsAccessory.default, {
onEnvironmentChange: event => {
setBottomAccessoryEnvironment(event.nativeEvent.environment);
}
}, bottomAccessory(bottomAccessoryEnvironment))));
}
var _default = exports.default = TabsHost;
const styles = _reactNative.StyleSheet.create({
fillParent: {
flex: 1,
width: '100%',
height: '100%'
}
});
//# sourceMappingURL=TabsHost.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
//# sourceMappingURL=TabsHost.types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/tabs/TabsHost.types.ts"],"mappings":"","ignoreList":[]}

View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactNative = require("react-native");
const TabsHost = _reactNative.View;
var _default = exports.default = TabsHost;
//# sourceMappingURL=TabsHost.web.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_reactNative","require","TabsHost","View","_default","exports","default"],"sourceRoot":"../../../../src","sources":["components/tabs/TabsHost.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEPJ,QAAQ","ignoreList":[]}

View File

@@ -0,0 +1,257 @@
"use strict";
'use client';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactFreeze = require("react-freeze");
var _reactNative = require("react-native");
var _core = require("../../core");
var _BottomTabsScreenNativeComponent = _interopRequireDefault(require("../../fabric/bottom-tabs/BottomTabsScreenNativeComponent"));
var _flags = require("../../flags");
var _logging = require("../../private/logging");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
* EXPERIMENTAL API, MIGHT CHANGE W/O ANY NOTICE
*/
function TabsScreen(props) {
const componentNodeRef = _react.default.useRef(null);
const componentNodeHandle = _react.default.useRef(-1);
_react.default.useEffect(() => {
if (componentNodeRef.current != null) {
componentNodeHandle.current = (0, _reactNative.findNodeHandle)(componentNodeRef.current) ?? -1;
} else {
componentNodeHandle.current = -1;
}
}, []);
const [nativeViewIsVisible, setNativeViewIsVisible] = _react.default.useState(false);
const {
onWillAppear,
onDidAppear,
onWillDisappear,
onDidDisappear,
isFocused = false,
freezeContents,
icon,
selectedIcon,
standardAppearance,
scrollEdgeAppearance,
scrollEdgeEffects,
// eslint-disable-next-line camelcase -- we use sneak case experimental prefix
experimental_userInterfaceStyle,
style,
...rest
} = props;
const shouldFreeze = shouldFreezeScreen(nativeViewIsVisible, isFocused, freezeContents);
const onWillAppearCallback = _react.default.useCallback(event => {
(0, _logging.bottomTabsDebugLog)(`TabsScreen [${componentNodeHandle.current}] onWillAppear received`);
setNativeViewIsVisible(true);
onWillAppear?.(event);
}, [onWillAppear]);
const onDidAppearCallback = _react.default.useCallback(event => {
(0, _logging.bottomTabsDebugLog)(`TabsScreen [${componentNodeHandle.current}] onDidAppear received`);
onDidAppear?.(event);
}, [onDidAppear]);
const onWillDisappearCallback = _react.default.useCallback(event => {
(0, _logging.bottomTabsDebugLog)(`TabsScreen [${componentNodeHandle.current}] onWillDisappear received`);
onWillDisappear?.(event);
}, [onWillDisappear]);
const onDidDisappearCallback = _react.default.useCallback(event => {
(0, _logging.bottomTabsDebugLog)(`TabsScreen [${componentNodeHandle.current}] onDidDisappear received`);
setNativeViewIsVisible(false);
onDidDisappear?.(event);
}, [onDidDisappear]);
(0, _logging.bottomTabsDebugLog)(`TabsScreen [${componentNodeHandle.current ?? -1}] render; tabKey: ${rest.tabKey} shouldFreeze: ${shouldFreeze}, isFocused: ${isFocused} nativeViewIsVisible: ${nativeViewIsVisible}`);
const iconProps = parseIconsToNativeProps(icon, selectedIcon);
return /*#__PURE__*/_react.default.createElement(_BottomTabsScreenNativeComponent.default, _extends({
collapsable: false,
style: [style, styles.fillParent],
onWillAppear: onWillAppearCallback,
onDidAppear: onDidAppearCallback,
onWillDisappear: onWillDisappearCallback,
onDidDisappear: onDidDisappearCallback,
isFocused: isFocused
}, iconProps, {
standardAppearance: mapAppearanceToNativeProp(standardAppearance),
scrollEdgeAppearance: mapAppearanceToNativeProp(scrollEdgeAppearance)
// @ts-ignore - This is debug only anyway
,
ref: componentNodeRef,
bottomScrollEdgeEffect: scrollEdgeEffects?.bottom,
leftScrollEdgeEffect: scrollEdgeEffects?.left,
rightScrollEdgeEffect: scrollEdgeEffects?.right,
topScrollEdgeEffect: scrollEdgeEffects?.top,
isTitleUndefined: rest.title === null || rest.title === undefined
// eslint-disable-next-line camelcase -- we use sneak case experimental prefix
,
userInterfaceStyle: experimental_userInterfaceStyle
}, rest), /*#__PURE__*/_react.default.createElement(_reactFreeze.Freeze, {
freeze: shouldFreeze,
placeholder: rest.placeholder
}, rest.children));
}
function mapAppearanceToNativeProp(appearance) {
if (!appearance) return undefined;
const {
stacked,
inline,
compactInline,
tabBarBackgroundColor,
tabBarShadowColor
} = appearance;
return {
...appearance,
stacked: mapItemAppearanceToNativeProp(stacked),
inline: mapItemAppearanceToNativeProp(inline),
compactInline: mapItemAppearanceToNativeProp(compactInline),
tabBarBackgroundColor: (0, _reactNative.processColor)(tabBarBackgroundColor),
tabBarShadowColor: (0, _reactNative.processColor)(tabBarShadowColor)
};
}
function mapItemAppearanceToNativeProp(itemAppearance) {
if (!itemAppearance) return undefined;
const {
normal,
selected,
focused,
disabled
} = itemAppearance;
return {
...itemAppearance,
normal: mapItemStateAppearanceToNativeProp(normal),
selected: mapItemStateAppearanceToNativeProp(selected),
focused: mapItemStateAppearanceToNativeProp(focused),
disabled: mapItemStateAppearanceToNativeProp(disabled)
};
}
function mapItemStateAppearanceToNativeProp(itemStateAppearance) {
if (!itemStateAppearance) return undefined;
const {
tabBarItemTitleFontColor,
tabBarItemIconColor,
tabBarItemBadgeBackgroundColor,
tabBarItemTitleFontWeight
} = itemStateAppearance;
return {
...itemStateAppearance,
tabBarItemTitleFontColor: (0, _reactNative.processColor)(tabBarItemTitleFontColor),
tabBarItemIconColor: (0, _reactNative.processColor)(tabBarItemIconColor),
tabBarItemBadgeBackgroundColor: (0, _reactNative.processColor)(tabBarItemBadgeBackgroundColor),
tabBarItemTitleFontWeight: tabBarItemTitleFontWeight !== undefined ? String(tabBarItemTitleFontWeight) : undefined
};
}
function shouldFreezeScreen(nativeViewVisible, screenFocused, freezeOverride) {
if (!(0, _core.freezeEnabled)()) {
return false;
}
if (freezeOverride !== undefined) {
return freezeOverride;
}
if (_flags.featureFlags.experiment.controlledBottomTabs) {
// If the tabs are JS controlled, we want to freeze only when given view is not focused && it is not currently visible
return !nativeViewVisible && !screenFocused;
}
return !nativeViewVisible;
}
function parseAndroidIconToNativeProps(icon) {
if (!icon) {
return {};
}
let parsedIconResource;
if (icon.type === 'imageSource') {
parsedIconResource = _reactNative.Image.resolveAssetSource(icon.imageSource);
if (!parsedIconResource) {
console.error('[RNScreens] failed to resolve an asset for bottom tab icon');
}
return {
// I'm keeping undefined as a fallback if `Image.resolveAssetSource` has failed for some reason.
// It won't render any icon, but it will prevent from crashing on the native side which is expecting
// ReadableMap. Passing `iconResource` directly will result in crash, because `require` API is returning
// double as a value.
imageIconResource: parsedIconResource || undefined
};
} else if (icon.type === 'drawableResource') {
return {
drawableIconResourceName: icon.name
};
} else {
throw new Error('[RNScreens] Incorrect icon format for Android. You must provide `imageSource` or `drawableResource`.');
}
}
function parseIOSIconToNativeProps(icon) {
if (!icon) {
return {};
}
if (icon.type === 'sfSymbol') {
return {
iconType: 'sfSymbol',
iconResourceName: icon.name
};
} else if (icon.type === 'imageSource') {
return {
iconType: 'image',
iconImageSource: icon.imageSource
};
} else if (icon.type === 'templateSource') {
return {
iconType: 'template',
iconImageSource: icon.templateSource
};
} else if (icon.type === 'xcasset') {
return {
iconType: 'xcasset',
iconResourceName: icon.name
};
} else {
throw new Error('[RNScreens] Incorrect icon format for iOS. You must provide `sfSymbol`, `imageSource`, `templateSource` or `xcasset`.');
}
}
function parseIconsToNativeProps(icon, selectedIcon) {
if (_reactNative.Platform.OS === 'android') {
const androidNativeProps = parseAndroidIconToNativeProps(icon?.android || icon?.shared);
return {
...androidNativeProps
};
}
if (_reactNative.Platform.OS === 'ios') {
const {
iconImageSource,
iconResourceName,
iconType
} = parseIOSIconToNativeProps(icon?.ios || icon?.shared);
const {
iconImageSource: selectedIconImageSource,
iconResourceName: selectedIconResourceName,
iconType: selectedIconType
} = parseIOSIconToNativeProps(selectedIcon);
if (iconType !== undefined && selectedIconType !== undefined && iconType !== selectedIconType) {
throw new Error('[RNScreens] icon and selectedIcon must be same type.');
} else if (iconType === undefined && selectedIconType !== undefined) {
// iOS-specific: UIKit requirement
throw new Error('[RNScreens] To use selectedIcon prop, the icon prop must also be provided.');
}
return {
iconType,
iconImageSource,
iconResourceName,
selectedIconImageSource,
selectedIconResourceName
};
}
// Fallback for other platforms
return {};
}
var _default = exports.default = TabsScreen;
const styles = _reactNative.StyleSheet.create({
fillParent: {
position: 'absolute',
flex: 1,
width: '100%',
height: '100%'
}
});
//# sourceMappingURL=TabsScreen.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
//# sourceMappingURL=TabsScreen.types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/tabs/TabsScreen.types.ts"],"mappings":"","ignoreList":[]}

View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactNative = require("react-native");
const TabsScreen = _reactNative.View;
var _default = exports.default = TabsScreen;
//# sourceMappingURL=TabsScreen.web.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_reactNative","require","TabsScreen","View","_default","exports","default"],"sourceRoot":"../../../../src","sources":["components/tabs/TabsScreen.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,UAAU,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAETJ,UAAU","ignoreList":[]}

View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _TabsHost = _interopRequireDefault(require("./TabsHost"));
var _TabsScreen = _interopRequireDefault(require("./TabsScreen"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* EXPERIMENTAL API, MIGHT CHANGE W/O ANY NOTICE
*/
const Tabs = {
Host: _TabsHost.default,
Screen: _TabsScreen.default
};
var _default = exports.default = Tabs;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_TabsHost","_interopRequireDefault","require","_TabsScreen","e","__esModule","default","Tabs","Host","TabsHost","Screen","TabsScreen","_default","exports"],"sourceRoot":"../../../../src","sources":["components/tabs/index.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMtC;AACA;AACA;AACA,MAAMG,IAAI,GAAG;EACXC,IAAI,EAAEC,iBAAQ;EACdC,MAAM,EAAEC;AACV,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAP,OAAA,GAEaC,IAAI","ignoreList":[]}