codingpixel-expo-app 0.1.0

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 (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +112 -0
  3. package/bin/cli.js +9 -0
  4. package/dist/babel.js +198 -0
  5. package/dist/bootstrap.js +54 -0
  6. package/dist/fonts.js +98 -0
  7. package/dist/index.js +120 -0
  8. package/dist/install.js +243 -0
  9. package/dist/overlay.js +141 -0
  10. package/dist/patch.js +212 -0
  11. package/dist/prompts.js +115 -0
  12. package/dist/scaffold.js +43 -0
  13. package/dist/sdkNotes.js +19 -0
  14. package/dist/util.js +48 -0
  15. package/package.json +56 -0
  16. package/templates/base/assets/fonts/.gitkeep +0 -0
  17. package/templates/base/assets/images/.gitkeep +0 -0
  18. package/templates/base/assets/index.ts +8 -0
  19. package/templates/base/src/app/_layout.tsx +39 -0
  20. package/templates/base/src/app/index.tsx +13 -0
  21. package/templates/base/src/app/routes.tsx +9 -0
  22. package/templates/base/src/core/hooks/.gitkeep +0 -0
  23. package/templates/base/src/core/redux/hooks.ts +6 -0
  24. package/templates/base/src/core/redux/mmkvStorage.ts +18 -0
  25. package/templates/base/src/core/redux/reducers.ts +20 -0
  26. package/templates/base/src/core/redux/slices/userSlice.ts +31 -0
  27. package/templates/base/src/core/redux/store.ts +28 -0
  28. package/templates/base/src/core/services/.gitkeep +0 -0
  29. package/templates/base/src/core/tanstack/index.tsx +93 -0
  30. package/templates/base/src/core/tanstack/tanstack-keys.ts +42 -0
  31. package/templates/base/src/core/utils/config.ts +50 -0
  32. package/templates/base/src/core/utils/constants.ts +11 -0
  33. package/templates/base/src/core/utils/endpoints.ts +29 -0
  34. package/templates/base/src/core/utils/types.ts +47 -0
  35. package/templates/base/src/core/utils/validation.ts +10 -0
  36. package/templates/base/src/features/.gitkeep +0 -0
  37. package/templates/base/src/ui/appComponents/AppRefreshControl/index.tsx +39 -0
  38. package/templates/base/src/ui/appComponents/appButton/index.tsx +122 -0
  39. package/templates/base/src/ui/appComponents/appColumnView/index.tsx +320 -0
  40. package/templates/base/src/ui/appComponents/appFlashList/index.tsx +191 -0
  41. package/templates/base/src/ui/appComponents/appFlatList/index.tsx +172 -0
  42. package/templates/base/src/ui/appComponents/appIcon/index.tsx +105 -0
  43. package/templates/base/src/ui/appComponents/appInput/index.tsx +226 -0
  44. package/templates/base/src/ui/appComponents/appKeyboardAvoidingView/index.tsx +168 -0
  45. package/templates/base/src/ui/appComponents/appKeyboardAwareScrollView/index.tsx +188 -0
  46. package/templates/base/src/ui/appComponents/appLogger/index.tsx +22 -0
  47. package/templates/base/src/ui/appComponents/appPressable/index.tsx +220 -0
  48. package/templates/base/src/ui/appComponents/appRowView/index.tsx +320 -0
  49. package/templates/base/src/ui/appComponents/appSafeAreaInsets/index.tsx +24 -0
  50. package/templates/base/src/ui/appComponents/appScrollView/index.tsx +166 -0
  51. package/templates/base/src/ui/appComponents/appSkeleton/index.tsx +22 -0
  52. package/templates/base/src/ui/appComponents/appStatusBar/index.tsx +8 -0
  53. package/templates/base/src/ui/appComponents/appTabHeader/index.tsx +111 -0
  54. package/templates/base/src/ui/appComponents/appText/index.tsx +258 -0
  55. package/templates/base/src/ui/appComponents/appTextWrapper/index.tsx +84 -0
  56. package/templates/base/src/ui/appComponents/appWrapper/index.tsx +56 -0
  57. package/templates/base/src/ui/appComponents/customActivityIndicator/index.tsx +34 -0
  58. package/templates/base/src/ui/appComponents/customGetPermissionModal/index.tsx +62 -0
  59. package/templates/base/src/ui/appComponents/customModal/index.tsx +26 -0
  60. package/templates/base/src/ui/appComponents/customTextInput/index.tsx +143 -0
  61. package/templates/base/src/ui/components/.gitkeep +0 -0
  62. package/templates/base/src/ui/components/avatarBlock/index.tsx +42 -0
  63. package/templates/base/src/ui/components/backgroundGradient/index.tsx +24 -0
  64. package/templates/base/src/ui/components/errorFallback/index.tsx +40 -0
  65. package/templates/base/src/ui/iconComponents/IconFontAwesome6/index.tsx +22 -0
  66. package/templates/base/src/ui/iconComponents/IoniconsIcons/index.tsx +33 -0
  67. package/templates/base/src/ui/iconComponents/antDesignicons/index.tsx +22 -0
  68. package/templates/base/src/ui/iconComponents/featherIcons/index.tsx +22 -0
  69. package/templates/base/src/ui/iconComponents/materialCommunityIcons/index.tsx +24 -0
  70. package/templates/base/src/ui/iconComponents/materialIcons/index.tsx +23 -0
  71. package/templates/base/src/ui/iconComponents/octiconsIcons/index.tsx +23 -0
  72. package/templates/base/src/ui/theme/allFileStyles.ts +39 -0
  73. package/templates/base/src/ui/theme/colors.ts +54 -0
  74. package/templates/base/src/ui/theme/fonts.ts +3 -0
  75. package/templates/base/src/ui/theme/responsive.ts +27 -0
  76. package/templates/bottom-sheet/src/ui/appComponents/BottomSheetKeyboardAwareScrollView/index.tsx +111 -0
  77. package/templates/bottom-sheet/src/ui/appComponents/appBottomSheetBackdrop/index.tsx +27 -0
  78. package/templates/bottom-sheet/src/ui/appComponents/appBottomSheetScrollView/index.tsx +99 -0
  79. package/templates/bottom-sheet/src/ui/appComponents/appBottomSheetView/index.tsx +173 -0
  80. package/templates/bottom-sheet/src/ui/appComponents/customBottomSheetModal/index.tsx +17 -0
  81. package/templates/claude-command/init-app.md +41 -0
  82. package/templates/image-picker/media-constants.snippet.ts +18 -0
  83. package/templates/image-picker/src/core/services/PermissionService.ts +48 -0
@@ -0,0 +1,29 @@
1
+ const SOCKET_URL = "";
2
+
3
+ const BASE_URL = `${SOCKET_URL}api/`;
4
+
5
+ // placeholder — update when backend API is finalized
6
+ const ENDPOINTS = {
7
+ LOGIN: "auth/login",
8
+ // Dashboard
9
+ DASHBOARD: "coach/dashboard",
10
+ // Teams
11
+ TEAMS: "coach/teams",
12
+ TEAM_DETAILS: (teamId: string) => `coach/teams/${teamId}`,
13
+ // Schedule
14
+ SCHEDULE: "coach/schedule",
15
+ // Messages
16
+ MESSAGES: "coach/messages",
17
+ MESSAGE_DETAILS: (messageId: string) => `coach/messages/${messageId}`,
18
+ DIRECT_CHAT: (chatId: string) => `chat/direct/${chatId}`,
19
+ TEAM_CHAT: (teamId: string) => `chat/team/${teamId}`,
20
+ // Payments
21
+ PAYMENTS: "coach/payments",
22
+ PAYMENTS_SUMMARY: "coach/payments/summary",
23
+ PAYMENT_PLAN: (planId: string) => `coach/payment-plans/${planId}`,
24
+ // Profile
25
+ PROFILE: "coach/profile",
26
+ CHANGE_PASSWORD: "coach/change-password",
27
+ };
28
+
29
+ export { BASE_URL, ENDPOINTS, SOCKET_URL };
@@ -0,0 +1,47 @@
1
+ export interface InsetsProps {
2
+ top?: number;
3
+ bottom?: number;
4
+ left?: number;
5
+ right?: number;
6
+ }
7
+
8
+ export type TeamNextEvent = {
9
+ id: string;
10
+ monthLabel: string;
11
+ dayLabel: string;
12
+ title: string;
13
+ timeAndLocationLabel: string;
14
+ kind: ScheduleEventKind;
15
+ };
16
+
17
+ export type TeamStatus = "active" | "inactive";
18
+ export type ScheduleEventKind = "game" | "practice";
19
+
20
+ export type Team = {
21
+ id: string;
22
+ name: string;
23
+ seasonLabel: string;
24
+ status: TeamStatus;
25
+ logoUri?: string;
26
+ playerCount: number;
27
+ coachCount: number;
28
+ eventCount: number;
29
+ nextEvent: TeamNextEvent | null;
30
+ };
31
+
32
+ export type ScheduleRow = {
33
+ id: string;
34
+ monthLabel: string;
35
+ dayLabel: string;
36
+ title: string;
37
+ timeAndLocationLabel: string;
38
+ kind: ScheduleEventKind;
39
+ };
40
+
41
+ export type PlayerTransaction = {
42
+ id: string;
43
+ invoiceNumber: string;
44
+ date: string;
45
+ amount: string;
46
+ status: "paid" | "unpaid";
47
+ };
@@ -0,0 +1,10 @@
1
+ // Deviation #6 (docs/MIRROR_NOTES.md): only loginValidationSchema per SPEC §6.
2
+ import * as Yup from "yup";
3
+
4
+ export const loginValidationSchema = Yup.object().shape({
5
+ email: Yup.string().email("Invalid email").required("Email is required"),
6
+ password: Yup.string()
7
+ .min(8, "Password must be at least 8 characters")
8
+ .required("Password is required"),
9
+ rememberMe: Yup.boolean(),
10
+ });
File without changes
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { ColorValue, RefreshControl } from 'react-native';
3
+
4
+ interface AppRefreshControlProps {
5
+ refreshing: boolean;
6
+ onRefresh: () => void;
7
+ colors?: ColorValue[];
8
+ progressBackgroundColor?: string;
9
+ tintColor?: string;
10
+ progressViewOffset?: number;
11
+ size?: number;
12
+ enabled?: boolean;
13
+ }
14
+
15
+ const AppRefreshControl = ({
16
+ refreshing,
17
+ onRefresh,
18
+ colors,
19
+ progressBackgroundColor,
20
+ tintColor,
21
+ progressViewOffset,
22
+ size,
23
+ enabled,
24
+ }: AppRefreshControlProps) => {
25
+ return (
26
+ <RefreshControl
27
+ refreshing={refreshing}
28
+ onRefresh={onRefresh}
29
+ colors={colors}
30
+ progressBackgroundColor={progressBackgroundColor}
31
+ tintColor={tintColor}
32
+ progressViewOffset={progressViewOffset}
33
+ size={size}
34
+ enabled={enabled}
35
+ />
36
+ );
37
+ };
38
+
39
+ export default AppRefreshControl;
@@ -0,0 +1,122 @@
1
+ import AppText from "@appComponents/appText";
2
+ import { Colors } from "@theme/colors";
3
+ import { Fonts } from "@theme/fonts";
4
+ import { RF } from "@theme/responsive";
5
+ import { InsetsProps } from "@utils/types";
6
+ import React from "react";
7
+ import AppColumnView from "../appColumnView";
8
+ import AppPressable from "../appPressable";
9
+ import AppRowView from "../appRowView";
10
+ import { useSafeArea } from "../appSafeAreaInsets";
11
+ import CustomActivityIndicator from "../customActivityIndicator";
12
+
13
+ interface AppButtonProps extends Partial<
14
+ React.ComponentProps<typeof AppPressable>
15
+ > {
16
+ title: string;
17
+ titleColor?: string;
18
+ titleSize?: number;
19
+ titleFontFamily?: string;
20
+ bgColor?: string;
21
+ customStyle?: any;
22
+ customContainerStyle?: any;
23
+ disabled?: boolean;
24
+ sticky?: boolean;
25
+ leftIcon?: React.ReactNode;
26
+ leftIconHeight?: number;
27
+ leftIconWidth?: number;
28
+ fill?: boolean;
29
+ iconColor?: string;
30
+ leftIconStyle?: any;
31
+ borderColor?: string;
32
+ isloading?: boolean;
33
+ titleStyle?: any;
34
+ noPaddingBottom?: boolean;
35
+ textCenter?: boolean;
36
+ secondary?: boolean;
37
+ emptyBtn?: boolean;
38
+ emptyBtnBorderColor?: string;
39
+ noRightIcon?: boolean;
40
+ rightIcon?: React.ReactNode;
41
+ }
42
+
43
+ const AppButton: React.FC<AppButtonProps> = ({
44
+ title,
45
+ onPress,
46
+ titleColor = Colors.WHITE,
47
+ titleFontFamily = Fonts.SEMI_BOLD,
48
+ titleSize = 16,
49
+ bgColor,
50
+ customStyle,
51
+ customContainerStyle,
52
+ disabled = false,
53
+ sticky,
54
+ fill,
55
+ leftIcon,
56
+ iconColor,
57
+ leftIconHeight = 20,
58
+ leftIconWidth = 20,
59
+ borderColor = Colors.BORDER,
60
+ isloading = false,
61
+ titleStyle,
62
+ noPaddingBottom,
63
+ textCenter,
64
+ noRightIcon = false,
65
+ rightIcon,
66
+ ...pressableProps
67
+ }) => {
68
+ const insets = useSafeArea() as InsetsProps;
69
+
70
+ const buttonBgColor = bgColor ?? (disabled ? Colors.GRAY_1 : undefined);
71
+ const buttonBorderColor = borderColor || Colors.BORDER;
72
+
73
+ return (
74
+ <AppColumnView
75
+ flex={fill ? 1 : undefined}
76
+ style={customContainerStyle}
77
+ {...(sticky && {
78
+ position: "absolute",
79
+ bottom: noPaddingBottom ? 0 : insets.bottom,
80
+ left: 0,
81
+ right: 0,
82
+ })}
83
+ >
84
+ <AppPressable
85
+ onPress={onPress}
86
+ disabled={disabled || isloading}
87
+ alignItems="center"
88
+ justifyContent="center"
89
+ borderRadius={8}
90
+ backgroundColor={buttonBgColor}
91
+ borderWidth={borderColor ? RF(1) : 0}
92
+ borderColor={buttonBorderColor}
93
+ paddingVertical={16}
94
+ paddingHorizontal={24}
95
+ flexDirection="row"
96
+ style={customStyle}
97
+ {...pressableProps}
98
+ >
99
+ <AppRowView gap={8} paddingVertical={4} alignItems="center">
100
+ {leftIcon && <>{leftIcon}</>}
101
+
102
+ <AppText
103
+ fontFamily={titleFontFamily}
104
+ color={disabled ? Colors.GRAY_3 : titleColor}
105
+ size={titleSize}
106
+ center={textCenter}
107
+ style={titleStyle}
108
+ >
109
+ {title}
110
+ </AppText>
111
+ {isloading && (
112
+ <AppColumnView marginLeft={RF(8)}>
113
+ <CustomActivityIndicator size="small" color={Colors.WHITE} />
114
+ </AppColumnView>
115
+ )}
116
+ </AppRowView>
117
+ </AppPressable>
118
+ </AppColumnView>
119
+ );
120
+ };
121
+
122
+ export default AppButton;
@@ -0,0 +1,320 @@
1
+ import { RF } from '@theme/responsive';
2
+ import React from 'react';
3
+ import {
4
+ DimensionValue,
5
+ StyleProp,
6
+ View,
7
+ ViewProps,
8
+ ViewStyle,
9
+ } from 'react-native';
10
+
11
+ export type ColumnProps = ViewProps & {
12
+ children?: React.ReactNode;
13
+
14
+ padding?: number;
15
+ paddingHorizontal?: number;
16
+ paddingVertical?: number;
17
+ paddingTop?: number;
18
+ paddingBottom?: number;
19
+ paddingLeft?: number;
20
+ paddingRight?: number;
21
+ paddingStart?: number;
22
+ paddingEnd?: number;
23
+
24
+ margin?: number;
25
+ marginHorizontal?: number;
26
+ marginVertical?: number;
27
+ marginTop?: number;
28
+ marginBottom?: number;
29
+ marginLeft?: number;
30
+ marginRight?: number;
31
+ marginStart?: number;
32
+ marginEnd?: number;
33
+
34
+ flex?: number;
35
+ flexGrow?: number;
36
+ flexShrink?: number;
37
+ flexBasis?: number | DimensionValue;
38
+ flexWrap?: ViewStyle['flexWrap'];
39
+ alignItems?: ViewStyle['alignItems'];
40
+ justifyContent?: ViewStyle['justifyContent'];
41
+ alignSelf?: ViewStyle['alignSelf'];
42
+ alignContent?: ViewStyle['alignContent'];
43
+
44
+ gap?: number;
45
+ rowGap?: number;
46
+
47
+ width?: number | DimensionValue;
48
+ height?: number | DimensionValue;
49
+ minWidth?: number | DimensionValue;
50
+ maxWidth?: number | DimensionValue;
51
+ minHeight?: number | DimensionValue;
52
+ maxHeight?: number | DimensionValue;
53
+ aspectRatio?: number;
54
+
55
+ position?: ViewStyle['position'];
56
+ top?: number | DimensionValue;
57
+ bottom?: number | DimensionValue;
58
+ left?: number | DimensionValue;
59
+ right?: number | DimensionValue;
60
+ start?: number | DimensionValue;
61
+ end?: number | DimensionValue;
62
+ zIndex?: number;
63
+
64
+ backgroundColor?: string;
65
+ opacity?: number;
66
+ overflow?: ViewStyle['overflow'];
67
+ display?: ViewStyle['display'];
68
+ direction?: ViewStyle['direction'];
69
+
70
+ borderRadius?: number;
71
+ borderTopLeftRadius?: number;
72
+ borderTopRightRadius?: number;
73
+ borderBottomLeftRadius?: number;
74
+ borderBottomRightRadius?: number;
75
+ borderStartRadius?: number;
76
+ borderEndRadius?: number;
77
+
78
+ borderWidth?: number;
79
+ borderTopWidth?: number;
80
+ borderBottomWidth?: number;
81
+ borderLeftWidth?: number;
82
+ borderRightWidth?: number;
83
+ borderStartWidth?: number;
84
+ borderEndWidth?: number;
85
+
86
+ borderColor?: string;
87
+ borderTopColor?: string;
88
+ borderBottomColor?: string;
89
+ borderLeftColor?: string;
90
+ borderRightColor?: string;
91
+ borderStartColor?: string;
92
+ borderEndColor?: string;
93
+ borderStyle?: ViewStyle['borderStyle'];
94
+
95
+ shadowColor?: string;
96
+ shadowOffset?: { width: number; height: number };
97
+ shadowOpacity?: number;
98
+ shadowRadius?: number;
99
+ elevation?: number;
100
+
101
+ transform?: ViewStyle['transform'];
102
+ backfaceVisibility?: ViewStyle['backfaceVisibility'];
103
+ };
104
+
105
+ const AppColumnView: React.FC<ColumnProps> = ({
106
+ children,
107
+ style,
108
+ padding,
109
+ paddingHorizontal,
110
+ paddingVertical,
111
+ paddingTop,
112
+ paddingBottom,
113
+ paddingLeft,
114
+ paddingRight,
115
+ paddingStart,
116
+ paddingEnd,
117
+ margin,
118
+ marginHorizontal,
119
+ marginVertical,
120
+ marginTop,
121
+ marginBottom,
122
+ marginLeft,
123
+ marginRight,
124
+ marginStart,
125
+ marginEnd,
126
+ flex,
127
+ flexGrow,
128
+ flexShrink,
129
+ flexBasis,
130
+ flexWrap,
131
+ alignItems,
132
+ justifyContent,
133
+ alignSelf,
134
+ alignContent,
135
+ rowGap,
136
+ gap,
137
+
138
+ width,
139
+ height,
140
+ minWidth,
141
+ maxWidth,
142
+ minHeight,
143
+ maxHeight,
144
+ aspectRatio,
145
+ position,
146
+ top,
147
+ bottom,
148
+ left,
149
+ right,
150
+ start,
151
+ end,
152
+ zIndex,
153
+ backgroundColor,
154
+ opacity,
155
+ overflow,
156
+ display,
157
+ direction,
158
+ borderRadius,
159
+ borderTopLeftRadius,
160
+ borderTopRightRadius,
161
+ borderBottomLeftRadius,
162
+ borderBottomRightRadius,
163
+ borderStartRadius,
164
+ borderEndRadius,
165
+ borderWidth,
166
+ borderTopWidth,
167
+ borderBottomWidth,
168
+ borderLeftWidth,
169
+ borderRightWidth,
170
+ borderStartWidth,
171
+ borderEndWidth,
172
+ borderColor,
173
+ borderTopColor,
174
+ borderBottomColor,
175
+ borderLeftColor,
176
+ borderRightColor,
177
+ borderStartColor,
178
+ borderEndColor,
179
+ borderStyle,
180
+ shadowColor,
181
+ shadowOffset,
182
+ shadowOpacity,
183
+ shadowRadius,
184
+ elevation,
185
+ transform,
186
+ backfaceVisibility,
187
+ ...rest
188
+ }) => {
189
+ const toDim = (v?: number | DimensionValue) =>
190
+ v === undefined
191
+ ? undefined
192
+ : typeof v === 'number'
193
+ ? (RF(v) as unknown as DimensionValue)
194
+ : v;
195
+
196
+ const customStyle: ViewStyle = {
197
+ flexDirection: 'column',
198
+
199
+ padding: padding !== undefined ? RF(padding) : undefined,
200
+ paddingHorizontal:
201
+ paddingHorizontal !== undefined ? RF(paddingHorizontal) : undefined,
202
+ paddingVertical:
203
+ paddingVertical !== undefined ? RF(paddingVertical) : undefined,
204
+ paddingTop: paddingTop !== undefined ? RF(paddingTop) : undefined,
205
+ paddingBottom: paddingBottom !== undefined ? RF(paddingBottom) : undefined,
206
+ paddingLeft: paddingLeft !== undefined ? RF(paddingLeft) : undefined,
207
+ paddingRight: paddingRight !== undefined ? RF(paddingRight) : undefined,
208
+ paddingStart: paddingStart !== undefined ? RF(paddingStart) : undefined,
209
+ paddingEnd: paddingEnd !== undefined ? RF(paddingEnd) : undefined,
210
+
211
+ margin: margin !== undefined ? RF(margin) : undefined,
212
+ marginHorizontal:
213
+ marginHorizontal !== undefined ? RF(marginHorizontal) : undefined,
214
+ marginVertical:
215
+ marginVertical !== undefined ? RF(marginVertical) : undefined,
216
+ marginTop: marginTop !== undefined ? RF(marginTop) : undefined,
217
+ marginBottom: marginBottom !== undefined ? RF(marginBottom) : undefined,
218
+ marginLeft: marginLeft !== undefined ? RF(marginLeft) : undefined,
219
+ marginRight: marginRight !== undefined ? RF(marginRight) : undefined,
220
+ marginStart: marginStart !== undefined ? RF(marginStart) : undefined,
221
+ marginEnd: marginEnd !== undefined ? RF(marginEnd) : undefined,
222
+
223
+ flex,
224
+ flexGrow,
225
+ flexShrink,
226
+ flexBasis: flexBasis as any,
227
+ flexWrap,
228
+ alignItems,
229
+ justifyContent,
230
+ alignSelf,
231
+ alignContent,
232
+
233
+ rowGap: rowGap !== undefined ? RF(rowGap) : undefined,
234
+ gap: gap !== undefined ? RF(gap) : undefined,
235
+
236
+ width: toDim(width),
237
+ height: toDim(height),
238
+ minWidth: toDim(minWidth),
239
+ maxWidth: toDim(maxWidth),
240
+ minHeight: toDim(minHeight),
241
+ maxHeight: toDim(maxHeight),
242
+ aspectRatio,
243
+
244
+ position,
245
+ top: toDim(top),
246
+ bottom: toDim(bottom),
247
+ left: toDim(left),
248
+ right: toDim(right),
249
+ start: toDim(start),
250
+ end: toDim(end),
251
+ zIndex,
252
+
253
+ backgroundColor,
254
+ opacity,
255
+ overflow,
256
+ display,
257
+ direction,
258
+
259
+ borderRadius: borderRadius !== undefined ? RF(borderRadius) : undefined,
260
+ borderTopLeftRadius:
261
+ borderTopLeftRadius !== undefined ? RF(borderTopLeftRadius) : undefined,
262
+ borderTopRightRadius:
263
+ borderTopRightRadius !== undefined ? RF(borderTopRightRadius) : undefined,
264
+ borderBottomLeftRadius:
265
+ borderBottomLeftRadius !== undefined
266
+ ? RF(borderBottomLeftRadius)
267
+ : undefined,
268
+ borderBottomRightRadius:
269
+ borderBottomRightRadius !== undefined
270
+ ? RF(borderBottomRightRadius)
271
+ : undefined,
272
+
273
+ borderWidth: borderWidth !== undefined ? RF(borderWidth) : undefined,
274
+ borderTopWidth:
275
+ borderTopWidth !== undefined ? RF(borderTopWidth) : undefined,
276
+ borderBottomWidth:
277
+ borderBottomWidth !== undefined ? RF(borderBottomWidth) : undefined,
278
+ borderLeftWidth:
279
+ borderLeftWidth !== undefined ? RF(borderLeftWidth) : undefined,
280
+ borderRightWidth:
281
+ borderRightWidth !== undefined ? RF(borderRightWidth) : undefined,
282
+ borderStartWidth:
283
+ borderStartWidth !== undefined ? RF(borderStartWidth) : undefined,
284
+ borderEndWidth:
285
+ borderEndWidth !== undefined ? RF(borderEndWidth) : undefined,
286
+
287
+ borderColor,
288
+ borderTopColor,
289
+ borderBottomColor,
290
+ borderLeftColor,
291
+ borderRightColor,
292
+ borderStartColor,
293
+ borderEndColor,
294
+ borderStyle,
295
+
296
+ shadowColor,
297
+ shadowOffset,
298
+ shadowOpacity,
299
+ shadowRadius,
300
+ elevation,
301
+
302
+ transform,
303
+ backfaceVisibility,
304
+ };
305
+
306
+ return (
307
+ <View
308
+ style={[
309
+ { flexDirection: 'row' },
310
+ customStyle,
311
+ style as StyleProp<ViewStyle>,
312
+ ]}
313
+ {...rest}
314
+ >
315
+ {children}
316
+ </View>
317
+ );
318
+ };
319
+
320
+ export default AppColumnView;