rn-vs-lb 1.0.28 → 1.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,96 +1,20 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.BottomTab = exports.LbTypes = void 0;
30
- var react_1 = __importStar(require("react"));
6
+ var react_1 = __importDefault(require("react"));
31
7
  var react_native_1 = require("react-native");
32
- var theme_1 = require("../../constants/theme");
33
- var Octicons_1 = __importDefault(require("react-native-vector-icons/Octicons"));
34
- var Ionicons_1 = __importDefault(require("react-native-vector-icons/Ionicons"));
35
- var MaterialIcons_1 = __importDefault(require("react-native-vector-icons/MaterialIcons"));
36
- var LbTypes;
37
- (function (LbTypes) {
38
- LbTypes["OCTICONS"] = "Octicons";
39
- LbTypes["IONICONS"] = "Ionicons";
40
- LbTypes["MATERIALICONS"] = "MaterialIcons";
41
- })(LbTypes || (exports.LbTypes = LbTypes = {}));
42
- var tabs = [
43
- { name: 'Search', iconName: "search", size: 22, lb: LbTypes.OCTICONS, route: 'SearchScreen' },
44
- { name: 'Organizations', iconName: "organization", size: 22, lb: LbTypes.OCTICONS, route: 'OrganizationScreen' },
45
- { name: 'Persons', iconName: "person-search", size: 29, lb: LbTypes.MATERIALICONS, route: 'ProfilesScreen' },
46
- { name: 'Chat', iconName: "chatbubbles-sharp", size: 24, lb: LbTypes.IONICONS, route: 'ChatScreen' },
47
- { name: 'Profile', iconName: "person", size: 23, lb: LbTypes.OCTICONS, route: 'ProfileScreen' },
48
- ];
49
- var renderIcon = function (tab) {
50
- switch (tab.lb) {
51
- case LbTypes.OCTICONS:
52
- return react_1.default.createElement(Octicons_1.default, { name: tab.iconName, size: tab.size, color: "#475A77" });
53
- case LbTypes.IONICONS:
54
- return react_1.default.createElement(Ionicons_1.default, { name: tab.iconName, size: tab.size, color: "#475A77" });
55
- case LbTypes.MATERIALICONS:
56
- return react_1.default.createElement(MaterialIcons_1.default, { name: tab.iconName, size: tab.size, color: "#475A77" });
57
- default:
58
- return null;
59
- }
60
- };
61
8
  var BottomTab = function (_a) {
62
- var onTabPress = _a.onTabPress;
63
- var _b = (0, react_1.useState)(0), activeTab = _b[0], setActiveTab = _b[1];
64
- var tabWidth = theme_1.SIZES.width;
65
- var tabW = tabWidth < theme_1.SIZES.container ? tabWidth / 5 : theme_1.SIZES.container / 5;
66
- var circlePosition = (0, react_1.useRef)(new react_native_1.Animated.Value(tabWidth < theme_1.SIZES.container ? tabWidth / 2.5 : theme_1.SIZES.container / 2.5)).current;
67
- (0, react_1.useEffect)(function () {
68
- react_native_1.Animated.spring(circlePosition, {
69
- toValue: activeTab * tabW,
70
- useNativeDriver: true,
71
- }).start();
72
- }, [activeTab]);
73
- var handleTabPress = function (index, route) {
74
- setActiveTab(index);
75
- onTabPress(route); // Вызов коллбека при нажатии
76
- };
77
- return (react_1.default.createElement(react_native_1.View, { style: styles.tabContainer },
78
- react_1.default.createElement(react_native_1.Animated.View, { style: [
79
- styles.circle,
80
- {
81
- width: tabW,
82
- transform: [{ translateX: circlePosition }],
83
- },
84
- ] },
85
- react_1.default.createElement(react_native_1.View, { style: styles.circleInner })),
86
- tabs.map(function (tab, index) { return (react_1.default.createElement(react_native_1.TouchableOpacity, { key: index, activeOpacity: 0.8, onPress: function () { return handleTabPress(index, tab.route); }, style: styles.tabButton }, renderIcon(tab))); })));
9
+ var tabs = _a.tabs;
10
+ return (react_1.default.createElement(react_native_1.View, { style: styles.tabContainer }, tabs.map(function (tab, index) { return (react_1.default.createElement(react_native_1.TouchableOpacity, { key: index, onPress: tab.onPress, style: [styles.tabButton, tab.isActive && styles.tabButtonActive] },
11
+ react_1.default.createElement(react_native_1.Text, null, tab.label))); })));
87
12
  };
88
- exports.BottomTab = BottomTab;
89
13
  var styles = react_native_1.StyleSheet.create({
90
14
  tabContainer: {
91
15
  flexDirection: 'row',
92
16
  height: 60,
93
- backgroundColor: theme_1.COLORS.card,
17
+ backgroundColor: '#f0f0f0',
94
18
  alignItems: 'center',
95
19
  },
96
20
  tabButton: {
@@ -98,17 +22,8 @@ var styles = react_native_1.StyleSheet.create({
98
22
  alignItems: 'center',
99
23
  justifyContent: 'center',
100
24
  },
101
- circle: {
102
- position: 'absolute',
103
- height: '100%',
104
- alignItems: 'center',
105
- justifyContent: 'center',
106
- },
107
- circleInner: {
108
- height: 40,
109
- width: 40,
110
- borderRadius: 20,
111
- backgroundColor: theme_1.COLORS.primary,
112
- opacity: 0.15,
25
+ tabButtonActive: {
26
+ backgroundColor: '#ddd',
113
27
  },
114
28
  });
29
+ exports.default = BottomTab;
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.BottomTab = void 0;
4
7
  var Footer_1 = require("./Footer");
5
- Object.defineProperty(exports, "BottomTab", { enumerable: true, get: function () { return Footer_1.BottomTab; } });
8
+ Object.defineProperty(exports, "BottomTab", { enumerable: true, get: function () { return __importDefault(Footer_1).default; } });
@@ -1,19 +1,12 @@
1
1
  import React from 'react';
2
- export declare enum LbTypes {
3
- OCTICONS = "Octicons",
4
- IONICONS = "Ionicons",
5
- MATERIALICONS = "MaterialIcons"
6
- }
7
- export interface Tab {
8
- name: string;
9
- iconName: string;
10
- size: number;
11
- lb: LbTypes;
12
- route: string;
2
+ interface Tab {
3
+ key: string;
4
+ label: string;
5
+ isActive: boolean;
6
+ onPress: () => void;
13
7
  }
14
8
  interface BottomTabProps {
15
9
  tabs: Tab[];
16
- onTabPress: (route: string) => void;
17
10
  }
18
- export declare const BottomTab: React.FC<BottomTabProps>;
19
- export {};
11
+ declare const BottomTab: React.FC<BottomTabProps>;
12
+ export default BottomTab;
@@ -1 +1 @@
1
- export { BottomTab } from "./Footer";
1
+ export { default as BottomTab } from "./Footer";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-vs-lb",
3
- "version": "1.0.28",
3
+ "version": "1.0.30",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/types/index.d.ts",
6
6
  "scripts": {