rn-vs-lb 1.0.52 → 1.0.54

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.
Files changed (89) hide show
  1. package/dist/components/bottomsheet/DefaultSheet.js +65 -0
  2. package/dist/components/bottomsheet/DefaultSheetLong.js +66 -0
  3. package/dist/components/bottomsheet/PostOptionSheet copy.js +67 -0
  4. package/dist/components/bottomsheet/PostOptionSheet.js +116 -0
  5. package/dist/components/bottomsheet/index.js +12 -0
  6. package/dist/components/buttons/Button.js +72 -0
  7. package/dist/components/buttons/PostButton.js +34 -0
  8. package/dist/components/buttons/index.js +10 -0
  9. package/dist/components/eventCard/Tag.js +36 -0
  10. package/dist/components/eventCard/index.js +12 -0
  11. package/dist/components/eventCard/vsCard/EventCard.js +76 -0
  12. package/dist/components/eventCard/vsCard/Footer.js +81 -0
  13. package/dist/components/eventCard/vsCard/OrganizerContainer.js +51 -0
  14. package/dist/components/footer/Footer copy.js +114 -0
  15. package/dist/components/footer/Footer.js +118 -0
  16. package/dist/components/footer/index.js +6 -0
  17. package/dist/components/header/headerHome.js +25 -0
  18. package/dist/components/header/index.js +5 -0
  19. package/dist/components/icon/Icon.js +33 -0
  20. package/dist/components/icon/index.js +6 -0
  21. package/dist/components/index.js +24 -0
  22. package/dist/components/listItem/index.js +8 -0
  23. package/dist/components/listItem/listItem.js +50 -0
  24. package/dist/components/profile/ProfileCard.js +82 -0
  25. package/dist/components/profile/index.js +10 -0
  26. package/dist/components/profile/meetProfileCard.js +112 -0
  27. package/dist/constants/index.js +25 -0
  28. package/dist/constants/styleSheet.js +256 -0
  29. package/dist/constants/theme copy.js +214 -0
  30. package/dist/constants/theme.js +89 -0
  31. package/dist/constants/themeContext.js +5 -0
  32. package/dist/form/AutoComplete.js +159 -0
  33. package/dist/form/DatePicker.js +86 -0
  34. package/dist/form/ImageUploader.js +181 -0
  35. package/dist/form/MultiSelect.js +85 -0
  36. package/dist/form/PasswordInput.js +61 -0
  37. package/dist/form/Select.js +53 -0
  38. package/dist/form/TextArea.js +56 -0
  39. package/dist/form/TextInput.js +38 -0
  40. package/dist/form/commonFormStyles.js +30 -0
  41. package/dist/form/index.js +20 -0
  42. package/dist/index.js +19 -0
  43. package/dist/types/components/bottomsheet/DefaultSheet.d.ts +10 -0
  44. package/dist/types/components/bottomsheet/DefaultSheetLong.d.ts +10 -0
  45. package/dist/types/components/bottomsheet/PostOptionSheet copy.d.ts +0 -0
  46. package/dist/types/components/bottomsheet/PostOptionSheet.d.ts +8 -0
  47. package/dist/types/components/bottomsheet/index.d.ts +3 -0
  48. package/dist/types/components/buttons/Button.d.ts +10 -0
  49. package/dist/types/components/buttons/PostButton.d.ts +10 -0
  50. package/dist/types/components/buttons/index.d.ts +2 -0
  51. package/dist/types/components/eventCard/Tag.d.ts +8 -0
  52. package/dist/types/components/eventCard/index.d.ts +3 -0
  53. package/dist/types/components/eventCard/vsCard/EventCard.d.ts +20 -0
  54. package/dist/types/components/eventCard/vsCard/Footer.d.ts +10 -0
  55. package/dist/types/components/eventCard/vsCard/OrganizerContainer.d.ts +8 -0
  56. package/dist/types/components/footer/Footer copy.d.ts +0 -0
  57. package/dist/types/components/footer/Footer.d.ts +20 -0
  58. package/dist/types/components/footer/index.d.ts +1 -0
  59. package/dist/types/components/header/headerHome.d.ts +8 -0
  60. package/dist/types/components/header/index.d.ts +1 -0
  61. package/dist/types/components/icon/Icon.d.ts +15 -0
  62. package/dist/types/components/icon/index.d.ts +1 -0
  63. package/dist/types/components/index.d.ts +8 -0
  64. package/dist/types/components/listItem/index.d.ts +1 -0
  65. package/dist/types/components/listItem/listItem.d.ts +10 -0
  66. package/dist/types/components/profile/ProfileCard.d.ts +12 -0
  67. package/dist/types/components/profile/index.d.ts +2 -0
  68. package/dist/types/components/profile/meetProfileCard.d.ts +12 -0
  69. package/dist/types/constants/index.d.ts +3 -0
  70. package/dist/types/constants/styleSheet.d.ts +309 -0
  71. package/dist/types/constants/theme copy.d.ts +0 -0
  72. package/dist/types/constants/theme.d.ts +229 -0
  73. package/dist/types/constants/themeContext.d.ts +2 -0
  74. package/dist/types/form/AutoComplete.d.ts +13 -0
  75. package/dist/types/form/DatePicker.d.ts +14 -0
  76. package/dist/types/form/ImageUploader.d.ts +14 -0
  77. package/dist/types/form/MultiSelect.d.ts +18 -0
  78. package/dist/types/form/PasswordInput.d.ts +10 -0
  79. package/dist/types/form/Select.d.ts +19 -0
  80. package/dist/types/form/TextArea.d.ts +17 -0
  81. package/dist/types/form/TextInput.d.ts +17 -0
  82. package/dist/types/form/commonFormStyles.d.ts +26 -0
  83. package/dist/types/form/index.d.ts +8 -0
  84. package/dist/types/index.d.ts +3 -0
  85. package/dist/types/utils/formatDate.d.ts +1 -0
  86. package/dist/types/utils/index.d.ts +2 -0
  87. package/dist/utils/formatDate.js +15 -0
  88. package/dist/utils/index.js +5 -0
  89. package/package.json +2 -2
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ var react_1 = __importDefault(require("react"));
41
+ var react_native_1 = require("react-native");
42
+ var bottom_sheet_1 = __importStar(require("@gorhom/bottom-sheet"));
43
+ var theme_1 = require("../../constants/theme");
44
+ var SheetLong = function (_a) {
45
+ var sheetRef = _a.sheetRef, _b = _a.snapPoints, snapPoints = _b === void 0 ? ['50%'] : _b, onClose = _a.onClose, children = _a.children;
46
+ return (react_1.default.createElement(bottom_sheet_1.default, { ref: sheetRef, index: -1, snapPoints: snapPoints, enableDynamicSizing: false, enablePanDownToClose: true, onClose: onClose, handleStyle: [styles.defaultHandle], handleIndicatorStyle: [styles.defaultHandleIndicator], backgroundStyle: [styles.defaultBackground], backdropComponent: function (props) { return (react_1.default.createElement(bottom_sheet_1.BottomSheetBackdrop, __assign({}, props, { disappearsOnIndex: -1, onPress: onClose }))); } },
47
+ react_1.default.createElement(bottom_sheet_1.BottomSheetScrollView, { contentContainerStyle: styles.container }, children)));
48
+ };
49
+ var styles = react_native_1.StyleSheet.create({
50
+ container: {
51
+ padding: 16,
52
+ backgroundColor: theme_1.COLORS.white,
53
+ },
54
+ defaultHandle: {
55
+ top: 0,
56
+ },
57
+ defaultHandleIndicator: {
58
+ backgroundColor: theme_1.COLORS.border,
59
+ width: 92,
60
+ },
61
+ defaultBackground: {
62
+ backgroundColor: theme_1.COLORS.card,
63
+ },
64
+ });
65
+ exports.default = SheetLong;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ var react_1 = __importDefault(require("react"));
41
+ var react_native_1 = require("react-native");
42
+ var bottom_sheet_1 = __importStar(require("@gorhom/bottom-sheet"));
43
+ var theme_1 = require("../../constants/theme");
44
+ var Sheet = function (_a) {
45
+ var sheetRef = _a.sheetRef, _b = _a.snapPoints, snapPoints = _b === void 0 ? ['50%'] : _b, onClose = _a.onClose, children = _a.children;
46
+ return (react_1.default.createElement(bottom_sheet_1.default, { ref: sheetRef, index: -1, snapPoints: snapPoints, enablePanDownToClose: true, enableContentPanningGesture: true, animateOnMount: true, animationConfigs: {
47
+ duration: 250,
48
+ }, onClose: onClose, handleStyle: [styles.defaultHandle], handleIndicatorStyle: [styles.defaultHandleIndicator], backgroundStyle: [styles.defaultBackground], backdropComponent: function (props) { return (react_1.default.createElement(bottom_sheet_1.BottomSheetBackdrop, __assign({}, props, { disappearsOnIndex: -1, onPress: onClose }))); } }, children));
49
+ };
50
+ var styles = react_native_1.StyleSheet.create({
51
+ container: {
52
+ padding: 16,
53
+ backgroundColor: theme_1.COLORS.white,
54
+ },
55
+ defaultHandle: {
56
+ top: 0,
57
+ },
58
+ defaultHandleIndicator: {
59
+ backgroundColor: theme_1.COLORS.border,
60
+ width: 92,
61
+ },
62
+ defaultBackground: {
63
+ backgroundColor: theme_1.COLORS.card,
64
+ },
65
+ });
66
+ exports.default = Sheet;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ // import React, { FC, useMemo } from "react";
3
+ // import { StyleSheet, View, Text, Image, TouchableOpacity, Dimensions } from "react-native";
4
+ // import { GestureHandlerRootView } from 'react-native-gesture-handler';
5
+ // import BottomSheet, { BottomSheetBackdrop } from "@gorhom/bottom-sheet";
6
+ // import { GlobalStyleSheet } from "../../constants/styleSheet";
7
+ // import { COLORS, IMAGES } from "../../constants/theme";
8
+ // import { BottomSheetMethods } from "@gorhom/bottom-sheet/lib/typescript/types";
9
+ // interface PostOptionSheetProps {
10
+ // sheetRef: React.RefObject<BottomSheetMethods>;
11
+ // onClose: () => void;
12
+ // }
13
+ // const PostOptionSheet: FC<PostOptionSheetProps> = ({ sheetRef, onClose }) => {
14
+ // const screenHeight = Dimensions.get("window").height;
15
+ // // Вычисляем snapPoints с минимальным значением 10% для первого рендера
16
+ // const snapPoints = useMemo(() => {
17
+ // const percentage = (180 / screenHeight) * 100;
18
+ // // const percentage = 100;
19
+ // return [`${Math.max(percentage, 10)}%`];
20
+ // }, [screenHeight]);
21
+ // return (
22
+ // // <GestureHandlerRootView style={styles.container}>
23
+ // <BottomSheet
24
+ // ref={sheetRef}
25
+ // index={-1}
26
+ // snapPoints={snapPoints}
27
+ // enableDynamicSizing={false}
28
+ // enablePanDownToClose={true}
29
+ // onClose={onClose}
30
+ // handleStyle={{ top: 0 }}
31
+ // handleIndicatorStyle={{ backgroundColor: COLORS.border, width: 92 }}
32
+ // backgroundStyle={{ backgroundColor: COLORS.card }}
33
+ // backdropComponent={(props) => (
34
+ // <BottomSheetBackdrop {...props} disappearsOnIndex={-1} onPress={onClose}/>
35
+ // )}
36
+ // >
37
+ // <View style={GlobalStyleSheet.container}>
38
+ // <TouchableOpacity style={GlobalStyleSheet.TouchableOpacity}>
39
+ // <Image style={GlobalStyleSheet.image} source={IMAGES.info} />
40
+ // <Text style={GlobalStyleSheet.text}>Report</Text>
41
+ // </TouchableOpacity>
42
+ // <TouchableOpacity style={GlobalStyleSheet.TouchableOpacity}>
43
+ // <Image style={[GlobalStyleSheet.image, { tintColor: COLORS.title }]} source={IMAGES.share2} />
44
+ // <Text style={[GlobalStyleSheet.text, { color: COLORS.title }]}>Share</Text>
45
+ // </TouchableOpacity>
46
+ // <TouchableOpacity style={GlobalStyleSheet.TouchableOpacity}>
47
+ // <Image style={[GlobalStyleSheet.image, { tintColor: COLORS.title }]} source={IMAGES.copylink} />
48
+ // <Text style={[GlobalStyleSheet.text, { color: COLORS.title }]}>Copy link</Text>
49
+ // </TouchableOpacity>
50
+ // <TouchableOpacity style={GlobalStyleSheet.TouchableOpacity}>
51
+ // <Image style={[GlobalStyleSheet.image, { tintColor: COLORS.title }]} source={IMAGES.close} />
52
+ // <Text style={[GlobalStyleSheet.text, { color: COLORS.title }]}>Hide post</Text>
53
+ // </TouchableOpacity>
54
+ // </View>
55
+ // </BottomSheet>
56
+ // // </GestureHandlerRootView>
57
+ // );
58
+ // };
59
+ // const styles = StyleSheet.create({
60
+ // container: {
61
+ // flex: 1,
62
+ // },
63
+ // bottomSheetBack: {
64
+ // top: -1000,
65
+ // }
66
+ // });
67
+ // export default PostOptionSheet;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ var react_1 = __importDefault(require("react"));
41
+ var react_native_1 = require("react-native");
42
+ var bottom_sheet_1 = __importStar(require("@gorhom/bottom-sheet"));
43
+ var theme_1 = require("../../constants/theme");
44
+ var listItem_1 = require("../listItem");
45
+ var PostOptionSheet = function (_a) {
46
+ var sheetRef = _a.sheetRef, onClose = _a.onClose;
47
+ var menuItems = [
48
+ { icon: 'exclamation-circle', label: 'Manage VK ID', subLabel: 'Account protection recommendations' },
49
+ { icon: 'bookmark', label: 'Bookmarks' },
50
+ { icon: 'folder-o', label: 'Files' },
51
+ { icon: 'money', label: 'VK Pay' },
52
+ { icon: 'crosshairs', label: 'Ads' },
53
+ { icon: 'support', label: 'Support' },
54
+ { icon: 'cog', label: 'Settings' },
55
+ { icon: 'plus-square', label: 'Add account' },
56
+ { icon: 'sign-in', label: 'Sign in with QR code' },
57
+ ];
58
+ return (react_1.default.createElement(bottom_sheet_1.default, { ref: sheetRef, index: -1, snapPoints: ['70%'], enableDynamicSizing: false, enablePanDownToClose: true, onClose: onClose, handleStyle: { top: 0 }, handleIndicatorStyle: { backgroundColor: theme_1.COLORS.border, width: 92 }, backgroundStyle: { backgroundColor: theme_1.COLORS.card }, backdropComponent: function (props) { return (react_1.default.createElement(bottom_sheet_1.BottomSheetBackdrop, __assign({}, props, { disappearsOnIndex: -1, onPress: onClose }))); } },
59
+ react_1.default.createElement(bottom_sheet_1.BottomSheetScrollView, { contentContainerStyle: styles.container }, menuItems.map(function (item, index) { return (react_1.default.createElement(listItem_1.ListItem, __assign({ key: index }, item, { hideArrow: true, hideBottomLine: true }))); }))));
60
+ };
61
+ var styles = react_native_1.StyleSheet.create({
62
+ container: {
63
+ padding: 16,
64
+ backgroundColor: '#fff',
65
+ },
66
+ header: {
67
+ flexDirection: 'row',
68
+ alignItems: 'center',
69
+ marginBottom: 16,
70
+ },
71
+ headerTitle: {
72
+ fontSize: 24,
73
+ fontWeight: 'bold',
74
+ flex: 1,
75
+ },
76
+ profileImage: {
77
+ width: 40,
78
+ height: 40,
79
+ borderRadius: 20,
80
+ },
81
+ gridContainer: {
82
+ flexDirection: 'row',
83
+ flexWrap: 'wrap',
84
+ justifyContent: 'space-around',
85
+ marginBottom: 20,
86
+ },
87
+ menuItem: {
88
+ flexDirection: 'row',
89
+ alignItems: 'center',
90
+ paddingVertical: 16,
91
+ borderBottomWidth: 1,
92
+ borderBottomColor: theme_1.COLORS.background,
93
+ },
94
+ menuItemLast: {
95
+ flexDirection: 'row',
96
+ alignItems: 'center',
97
+ paddingVertical: 16,
98
+ },
99
+ iconContainer: {
100
+ width: 40,
101
+ alignItems: 'center',
102
+ },
103
+ textContainer: {
104
+ flex: 1,
105
+ paddingLeft: 8,
106
+ },
107
+ label: {
108
+ fontSize: 16,
109
+ fontWeight: '500',
110
+ },
111
+ subLabel: {
112
+ fontSize: 12,
113
+ color: theme_1.COLORS.greyText,
114
+ },
115
+ });
116
+ exports.default = PostOptionSheet;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DefaultSheetLong = exports.DefaultSheet = exports.PostOptionSheet = void 0;
7
+ var PostOptionSheet_1 = require("./PostOptionSheet");
8
+ Object.defineProperty(exports, "PostOptionSheet", { enumerable: true, get: function () { return __importDefault(PostOptionSheet_1).default; } });
9
+ var DefaultSheet_1 = require("./DefaultSheet");
10
+ Object.defineProperty(exports, "DefaultSheet", { enumerable: true, get: function () { return __importDefault(DefaultSheet_1).default; } });
11
+ var DefaultSheetLong_1 = require("./DefaultSheetLong");
12
+ Object.defineProperty(exports, "DefaultSheetLong", { enumerable: true, get: function () { return __importDefault(DefaultSheetLong_1).default; } });
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ var react_native_1 = require("react-native");
8
+ var theme_1 = require("../../constants/theme");
9
+ var Button = function (_a) {
10
+ var title = _a.title, onPress = _a.onPress, _b = _a.type, type = _b === void 0 ? 'primary' : _b, style = _a.style, textStyle = _a.textStyle;
11
+ var buttonStyles = [
12
+ styles.button,
13
+ type === 'primary' && styles.primaryButton,
14
+ type === 'gray' && styles.grayButton,
15
+ type === 'primary-outline' && styles.primaryOutlineButton,
16
+ type === 'gray-outline' && styles.grayOutlineButton,
17
+ style,
18
+ ];
19
+ var textStyles = [
20
+ styles.buttonText,
21
+ type === 'primary' && styles.primaryButtonText,
22
+ type === 'gray' && styles.grayButtonText,
23
+ type === 'primary-outline' && styles.primaryOutlineButtonText,
24
+ type === 'gray-outline' && styles.grayOutlineButtonText,
25
+ textStyle,
26
+ ];
27
+ return (react_1.default.createElement(react_native_1.TouchableOpacity, { style: buttonStyles, onPress: onPress },
28
+ react_1.default.createElement(react_native_1.Text, { style: textStyles }, title)));
29
+ };
30
+ var styles = react_native_1.StyleSheet.create({
31
+ button: {
32
+ height: 50,
33
+ justifyContent: 'center',
34
+ alignItems: 'center',
35
+ borderRadius: 6,
36
+ paddingHorizontal: 16,
37
+ width: "100%",
38
+ },
39
+ primaryButton: {
40
+ backgroundColor: theme_1.COLORS.primary,
41
+ },
42
+ primaryOutlineButton: {
43
+ backgroundColor: theme_1.COLORS.white,
44
+ borderWidth: 1,
45
+ borderColor: theme_1.COLORS.primary,
46
+ },
47
+ grayButton: {
48
+ backgroundColor: '#f5f5f5',
49
+ },
50
+ buttonText: {
51
+ fontSize: 16,
52
+ fontWeight: '500',
53
+ },
54
+ primaryButtonText: {
55
+ color: theme_1.COLORS.white,
56
+ },
57
+ primaryOutlineButtonText: {
58
+ color: theme_1.COLORS.primary,
59
+ },
60
+ grayButtonText: {
61
+ color: '#333',
62
+ },
63
+ grayOutlineButton: {
64
+ backgroundColor: '#f5f5f5',
65
+ borderColor: theme_1.COLORS.border,
66
+ borderWidth: 1,
67
+ },
68
+ grayOutlineButtonText: {
69
+ // color: COLORS.
70
+ }
71
+ });
72
+ exports.default = Button;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ var react_native_1 = require("react-native");
8
+ var MaterialIcons_1 = __importDefault(require("react-native-vector-icons/MaterialIcons"));
9
+ var PostButton = function (_a) {
10
+ var title = _a.title, onPress = _a.onPress, buttonStyle = _a.buttonStyle, textStyle = _a.textStyle;
11
+ return (react_1.default.createElement(react_native_1.TouchableOpacity, { style: [styles.button, buttonStyle], onPress: onPress },
12
+ react_1.default.createElement(MaterialIcons_1.default, { name: "add-circle-outline", size: 20, color: "#007AFF" }),
13
+ react_1.default.createElement(react_native_1.Text, { style: [styles.buttonText, textStyle] }, title)));
14
+ };
15
+ var styles = react_native_1.StyleSheet.create({
16
+ button: {
17
+ backgroundColor: '#f2f2f2', // light grey background
18
+ paddingVertical: 13,
19
+ paddingHorizontal: 20,
20
+ borderRadius: 8,
21
+ width: "100%",
22
+ alignItems: 'center',
23
+ display: "flex",
24
+ flexDirection: "row",
25
+ justifyContent: "center",
26
+ },
27
+ buttonText: {
28
+ color: '#007AFF', // iOS blue color
29
+ fontSize: 16,
30
+ fontWeight: '500',
31
+ marginLeft: 4,
32
+ },
33
+ });
34
+ exports.default = PostButton;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PostButton = exports.Button = void 0;
7
+ var Button_1 = require("./Button");
8
+ Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return __importDefault(Button_1).default; } });
9
+ var PostButton_1 = require("./PostButton");
10
+ Object.defineProperty(exports, "PostButton", { enumerable: true, get: function () { return __importDefault(PostButton_1).default; } });
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var react_1 = __importDefault(require("react"));
18
+ var react_native_1 = require("react-native");
19
+ var theme_1 = require("../../constants/theme");
20
+ //@ts-ignore
21
+ var Tag = function (_a) {
22
+ var label = _a.label, backgroundColor = _a.backgroundColor, textColor = _a.textColor, borderColor = _a.borderColor;
23
+ return (react_1.default.createElement(react_native_1.View, { style: [styles.tagContainer, { backgroundColor: backgroundColor, borderColor: borderColor }] },
24
+ react_1.default.createElement(react_native_1.Text, { style: [styles.tagText, { color: textColor }] }, label)));
25
+ };
26
+ var styles = react_native_1.StyleSheet.create({
27
+ tagContainer: {
28
+ paddingHorizontal: theme_1.SIZES.xs,
29
+ paddingVertical: theme_1.SIZES.xxs,
30
+ borderRadius: theme_1.SIZES.xs,
31
+ borderWidth: 1,
32
+ marginLeft: theme_1.SIZES.xxs,
33
+ },
34
+ tagText: __assign(__assign({}, theme_1.FONTS.font), { fontWeight: 600 }),
35
+ });
36
+ exports.default = Tag;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SocialStats = exports.Organizer = exports.EventCard = void 0;
7
+ var EventCard_1 = require("./vsCard/EventCard");
8
+ Object.defineProperty(exports, "EventCard", { enumerable: true, get: function () { return __importDefault(EventCard_1).default; } });
9
+ var OrganizerContainer_1 = require("./vsCard/OrganizerContainer");
10
+ Object.defineProperty(exports, "Organizer", { enumerable: true, get: function () { return __importDefault(OrganizerContainer_1).default; } });
11
+ var Footer_1 = require("./vsCard/Footer");
12
+ Object.defineProperty(exports, "SocialStats", { enumerable: true, get: function () { return __importDefault(Footer_1).default; } });
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var react_1 = __importDefault(require("react"));
18
+ var react_native_1 = require("react-native");
19
+ var Tag_1 = __importDefault(require("../Tag"));
20
+ var OrganizerContainer_1 = __importDefault(require("./OrganizerContainer"));
21
+ var Footer_1 = __importDefault(require("./Footer"));
22
+ var theme_1 = require("../../../constants/theme");
23
+ var EventCard = function (_a) {
24
+ var imageUri = _a.imageUri, date = _a.date, tags = _a.tags, title = _a.title, description = _a.description, organizerAvatarUri = _a.organizerAvatarUri, organizerName = _a.organizerName, organizerLink = _a.organizerLink, likes = _a.likes, views = _a.views;
25
+ return (react_1.default.createElement(react_native_1.View, { style: styles.container },
26
+ react_1.default.createElement(react_native_1.View, { style: styles.imageContainer },
27
+ react_1.default.createElement(react_native_1.Image, { source: { uri: imageUri }, style: styles.image, resizeMode: "cover" })),
28
+ react_1.default.createElement(react_native_1.View, { style: styles.content },
29
+ react_1.default.createElement(react_native_1.View, { style: styles.dateAndTags },
30
+ react_1.default.createElement(react_native_1.Text, { style: styles.date }, date),
31
+ tags.map(function (tag, index) { return (react_1.default.createElement(Tag_1.default, { key: index, label: tag.label, backgroundColor: tag.backgroundColor, textColor: tag.textColor, borderColor: tag.borderColor })); })),
32
+ react_1.default.createElement(react_native_1.Text, { style: styles.title, numberOfLines: 1, ellipsizeMode: "tail" }, title),
33
+ react_1.default.createElement(react_native_1.Text, { style: styles.description, numberOfLines: 2, ellipsizeMode: "tail" }, description),
34
+ react_1.default.createElement(react_native_1.View, { style: styles.organizerContainer },
35
+ react_1.default.createElement(OrganizerContainer_1.default, { avatarUri: organizerAvatarUri, organizerName: organizerName, organizerLink: organizerLink })),
36
+ react_1.default.createElement(Footer_1.default, { likes: likes, views: views }))));
37
+ };
38
+ var styles = react_native_1.StyleSheet.create({
39
+ container: {
40
+ backgroundColor: theme_1.COLORS.white,
41
+ overflow: 'hidden',
42
+ marginBottom: theme_1.SIZES.xs,
43
+ marginTop: theme_1.SIZES.xs,
44
+ elevation: 3, // For Android shadow
45
+ shadowColor: theme_1.COLORS.dark,
46
+ shadowOffset: { width: 0, height: 2 },
47
+ shadowOpacity: 0.3,
48
+ shadowRadius: 3,
49
+ },
50
+ imageContainer: {
51
+ width: '100%',
52
+ height: 270,
53
+ justifyContent: 'center',
54
+ alignItems: 'center',
55
+ },
56
+ image: {
57
+ width: '100%',
58
+ height: '100%',
59
+ },
60
+ content: {
61
+ padding: theme_1.SIZES.sm,
62
+ },
63
+ dateAndTags: {
64
+ flexDirection: 'row',
65
+ alignItems: 'center',
66
+ marginBottom: theme_1.SIZES.xxs,
67
+ },
68
+ date: __assign(__assign({}, theme_1.FONTS.font), { color: theme_1.COLORS.greyText, marginRight: theme_1.SIZES.sm }),
69
+ title: __assign({}, theme_1.FONTS.h4),
70
+ description: __assign(__assign({}, theme_1.FONTS.font), { marginTop: theme_1.SIZES.xxs }),
71
+ organizerContainer: {
72
+ marginTop: theme_1.SIZES.md,
73
+ marginBottom: theme_1.SIZES.md,
74
+ }
75
+ });
76
+ exports.default = EventCard;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ var react_1 = __importStar(require("react"));
41
+ var react_native_1 = require("react-native");
42
+ var Ionicons_1 = __importDefault(require("react-native-vector-icons/Ionicons"));
43
+ var theme_1 = require("../../../constants/theme");
44
+ var Footer = function (_a, hideBorder) {
45
+ var likes = _a.likes, views = _a.views, _b = _a.position, position = _b === void 0 ? "space-between" : _b;
46
+ if (hideBorder === void 0) { hideBorder = false; }
47
+ var _c = (0, react_1.useState)(false), isLiked = _c[0], setIsLiked = _c[1];
48
+ var handleLikePress = function () {
49
+ setIsLiked(!isLiked);
50
+ };
51
+ return (react_1.default.createElement(react_native_1.View, { style: [styles.container, { justifyContent: position }, hideBorder && styles.hideBorder] },
52
+ react_1.default.createElement(react_native_1.TouchableOpacity, { onPress: handleLikePress, style: styles.item },
53
+ react_1.default.createElement(Ionicons_1.default, { name: isLiked ? "heart" : "heart-outline", size: 20, color: isLiked ? theme_1.COLORS.red : theme_1.COLORS.greyText }),
54
+ react_1.default.createElement(react_native_1.Text, { style: styles.text },
55
+ isLiked ? likes + 1 : likes,
56
+ " ",
57
+ likes + (isLiked ? 1 : 0) === 1 ? 'Like' : 'Likes')),
58
+ react_1.default.createElement(react_native_1.View, { style: styles.item },
59
+ react_1.default.createElement(Ionicons_1.default, { name: "eye-outline", size: 20, color: theme_1.COLORS.greyText }),
60
+ react_1.default.createElement(react_native_1.Text, { style: styles.text },
61
+ views,
62
+ " Views"))));
63
+ };
64
+ var styles = react_native_1.StyleSheet.create({
65
+ container: {
66
+ flexDirection: 'row',
67
+ borderTopWidth: 1,
68
+ borderTopColor: theme_1.COLORS.border,
69
+ paddingTop: theme_1.SIZES.sm,
70
+ gap: theme_1.SIZES.md,
71
+ },
72
+ hideBorder: {
73
+ borderTopWidth: 0,
74
+ },
75
+ item: {
76
+ flexDirection: 'row',
77
+ alignItems: 'center',
78
+ },
79
+ text: __assign(__assign({}, theme_1.FONTS.font), { color: theme_1.COLORS.greyText, marginLeft: theme_1.SIZES.xxs }),
80
+ });
81
+ exports.default = Footer;