@zezosoft/zezo-ott-react-native-ui-kit 1.1.5 → 1.1.6
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.
- package/package.json +1 -14
- package/src/Styles/globalStyles.ts +0 -70
- package/src/assets/animations/135037-payment-processing-error.json +0 -1347
- package/src/assets/animations/7227-vui-animation.json +0 -3377
- package/src/assets/animations/Failed.json +0 -2103
- package/src/assets/animations/Pending.json +0 -522
- package/src/assets/animations/Successful.json +0 -2289
- package/src/assets/animations/heart.json +0 -788
- package/src/assets/animations/succesfull-payment.json +0 -2379
- package/src/assets/animations/voice-icon.json +0 -542
- package/src/assets/img/back.png +0 -0
- package/src/assets/img/bottom-panel.png +0 -0
- package/src/assets/img/camera.png +0 -0
- package/src/assets/img/camera2.png +0 -0
- package/src/assets/img/home.png +0 -0
- package/src/assets/img/lock.png +0 -0
- package/src/assets/img/play.png +0 -0
- package/src/assets/img/profile.jpg +0 -0
- package/src/assets/img/qr-code.png +0 -0
- package/src/assets/img/shadow.png +0 -0
- package/src/assets/img/shadow2.png +0 -0
- package/src/assets/img/user.png +0 -0
- package/src/assets/svg/Account.svg +0 -4
- package/src/assets/svg/Favourite.svg +0 -14
- package/src/assets/svg/Upcoming.svg +0 -4
- package/src/assets/svg/content-error.svg +0 -28
- package/src/assets/svg/download.svg +0 -3
- package/src/assets/svg/eye-off.svg +0 -10
- package/src/assets/svg/favorites.svg +0 -3
- package/src/assets/svg/h.svg +0 -4
- package/src/assets/svg/home.svg +0 -5
- package/src/assets/svg/home1.svg +0 -3
- package/src/assets/svg/menu-bar.svg +0 -4
- package/src/assets/svg/my-space.svg +0 -14
- package/src/assets/svg/play-icon-with-bg.svg +0 -5
- package/src/assets/svg/profile.svg +0 -4
- package/src/assets/svg/search.svg +0 -5
- package/src/assets/svg/search1.svg +0 -4
- package/src/assets/svg/server-error.svg +0 -139
- package/src/components/Account/Account.tsx +0 -367
- package/src/components/Account/index.ts +0 -1
- package/src/components/Alert/AlertDialog.tsx +0 -247
- package/src/components/Alert/UAAlert.tsx +0 -170
- package/src/components/Alert/index.ts +0 -2
- package/src/components/Auth/AuthProvider/AuthProvider.tsx +0 -419
- package/src/components/Auth/One/ForgotPassword/ForgotPassword.tsx +0 -324
- package/src/components/Auth/One/Login/LoginWithEmail.tsx +0 -455
- package/src/components/Auth/One/Login/LoginWithPhone.tsx +0 -306
- package/src/components/Auth/One/OTP/OTP.tsx +0 -465
- package/src/components/Auth/One/QrLogin/QrLogin.tsx +0 -602
- package/src/components/Auth/One/QrLogin/components/QrViewArea.tsx +0 -423
- package/src/components/Auth/One/SignUp/SignUp.tsx +0 -479
- package/src/components/Auth/One/SplashScreen/SplashScreen.tsx +0 -249
- package/src/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.tsx +0 -103
- package/src/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.tsx +0 -77
- package/src/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.tsx +0 -174
- package/src/components/Auth/One/index.ts +0 -24
- package/src/components/Auth/Two/AuthHeader/AuthHeader.tsx +0 -108
- package/src/components/Auth/Two/ForgotPassword/ForgotPassword.tsx +0 -335
- package/src/components/Auth/Two/Login/AuthLoginShell.tsx +0 -173
- package/src/components/Auth/Two/Login/LoginWithEmail.tsx +0 -279
- package/src/components/Auth/Two/Login/LoginWithPhone.tsx +0 -188
- package/src/components/Auth/Two/OTP/OTP.tsx +0 -465
- package/src/components/Auth/Two/QrLogin/QrLogin.tsx +0 -602
- package/src/components/Auth/Two/QrLogin/components/QrViewArea.tsx +0 -423
- package/src/components/Auth/Two/SignUp/SignUp.tsx +0 -472
- package/src/components/Auth/Two/SplashScreen/SplashScreen.tsx +0 -248
- package/src/components/Auth/Two/SplashScreen/components/SplashImage/SplashImage.tsx +0 -92
- package/src/components/Auth/Two/SplashScreen/components/SplashLottie/SplashLottie.tsx +0 -77
- package/src/components/Auth/Two/SplashScreen/components/SplashVideo/SplashVideo.tsx +0 -178
- package/src/components/Auth/Two/index.ts +0 -28
- package/src/components/Auth/index.ts +0 -11
- package/src/components/BackgroundLayout/BackgroundLayout.tsx +0 -174
- package/src/components/BackgroundLayout/BackgroundLayoutOne.tsx +0 -56
- package/src/components/BlogView/BlogView.tsx +0 -276
- package/src/components/BlogView/index.ts +0 -8
- package/src/components/BlurView/BlurView.tsx +0 -199
- package/src/components/BlurView/index.ts +0 -7
- package/src/components/BottomSheet/BottomSheet.tsx +0 -200
- package/src/components/BottomSheet/BottomSheetOne.tsx +0 -220
- package/src/components/BottomSheet/index.ts +0 -4
- package/src/components/Button/BackBtn.tsx +0 -168
- package/src/components/Button/MenuBtn.tsx +0 -229
- package/src/components/Button/PrimaryBtn.tsx +0 -134
- package/src/components/Button/SecondaryBtn.tsx +0 -132
- package/src/components/Button/TextButton.tsx +0 -145
- package/src/components/Button/index.ts +0 -18
- package/src/components/Content/Card/Category/Category.tsx +0 -436
- package/src/components/Content/Card/Category/CategroyTwo.tsx +0 -429
- package/src/components/Content/Card/NowWatching/NowWatching.tsx +0 -624
- package/src/components/Content/Card/Sliders/Styles/One.tsx +0 -490
- package/src/components/Content/Card/Sliders/Styles/Three.tsx +0 -935
- package/src/components/Content/Card/Sliders/Styles/Two.tsx +0 -391
- package/src/components/Content/Card/Sliders/index.ts +0 -17
- package/src/components/Content/Card/Styles/Five.tsx +0 -385
- package/src/components/Content/Card/Styles/Four.tsx +0 -379
- package/src/components/Content/Card/Styles/One.tsx +0 -386
- package/src/components/Content/Card/Styles/RotateInOut.tsx +0 -413
- package/src/components/Content/Card/Styles/Six.tsx +0 -392
- package/src/components/Content/Card/Styles/Three.tsx +0 -314
- package/src/components/Content/Card/Styles/TopTen.tsx +0 -412
- package/src/components/Content/Card/Styles/Two.tsx +0 -416
- package/src/components/Content/Card/components/AdsPoster.tsx +0 -202
- package/src/components/Content/Card/components/CardPoster.tsx +0 -377
- package/src/components/Content/Card/components/NavigateToMore.tsx +0 -97
- package/src/components/Content/Card/components/RentOrBuyIcon.tsx +0 -129
- package/src/components/Content/Card/components/ShowAllButton.tsx +0 -92
- package/src/components/Content/Card/components/ThumbnailCard.tsx +0 -234
- package/src/components/Content/Card/components/index.ts +0 -1
- package/src/components/Content/Card/index.ts +0 -30
- package/src/components/Content/Content.tsx +0 -315
- package/src/components/Content/Sections.tsx +0 -238
- package/src/components/Content/types.ts +0 -176
- package/src/components/ContentView/MoreContentList.tsx +0 -327
- package/src/components/ContentView/One/ContentViewOne.tsx +0 -243
- package/src/components/ContentView/One/components/AboutSection.tsx +0 -216
- package/src/components/ContentView/One/components/CastCard.tsx +0 -265
- package/src/components/ContentView/One/components/EpisodeCard.tsx +0 -535
- package/src/components/ContentView/One/components/GenreTags.tsx +0 -132
- package/src/components/ContentView/One/components/HeroBanner.tsx +0 -357
- package/src/components/ContentView/One/components/MiniInfo.tsx +0 -356
- package/src/components/ContentView/One/components/PlayButton.tsx +0 -56
- package/src/components/ContentView/One/components/Title.tsx +0 -149
- package/src/components/ContentView/One/components/TrailerButton.tsx +0 -76
- package/src/components/ContentView/Two/ContentViewTwo.tsx +0 -343
- package/src/components/ContentView/Two/components/AboutSection.tsx +0 -216
- package/src/components/ContentView/Two/components/Details.tsx +0 -193
- package/src/components/ContentView/Two/components/EpisodeCard.tsx +0 -602
- package/src/components/ContentView/Two/components/GenreTags.tsx +0 -123
- package/src/components/ContentView/Two/components/HeroBanner.tsx +0 -402
- package/src/components/ContentView/Two/components/LikeShareActions.tsx +0 -125
- package/src/components/ContentView/Two/components/MoreLikeThisContentList .tsx +0 -305
- package/src/components/ContentView/Two/components/PlayOrTrailer.tsx +0 -133
- package/src/components/ContentView/Two/components/SectionTabs.tsx +0 -177
- package/src/components/ContentView/Two/components/Title.tsx +0 -226
- package/src/components/ContentView/Two/components/index.ts +0 -15
- package/src/components/ContentView/index.ts +0 -13
- package/src/components/Fallbacks/NoContentFallback.tsx +0 -176
- package/src/components/Fallbacks/NotFoundFallback.tsx +0 -94
- package/src/components/Fallbacks/index.ts +0 -2
- package/src/components/Headers/AppHeader.tsx +0 -150
- package/src/components/Headers/Four.tsx +0 -83
- package/src/components/Headers/One.tsx +0 -115
- package/src/components/Headers/Three.tsx +0 -135
- package/src/components/Headers/Two.tsx +0 -100
- package/src/components/Headers/index.ts +0 -18
- package/src/components/Input/Input.ts +0 -20
- package/src/components/Input/InputOne.tsx +0 -259
- package/src/components/Input/InputThree.tsx +0 -212
- package/src/components/Input/InputTwo.tsx +0 -212
- package/src/components/Input/PhoneNumberInput.tsx +0 -431
- package/src/components/Input/PhoneNumberInputTwo.tsx +0 -418
- package/src/components/Keyboard/HideKeyboard.tsx +0 -88
- package/src/components/Loader/Loader.tsx +0 -44
- package/src/components/Logo/Logo.tsx +0 -145
- package/src/components/NewRelease/NewReleaseSheet.tsx +0 -250
- package/src/components/NewRelease/index.ts +0 -1
- package/src/components/Reels/ReelsSeries/MediaControls/BottomControls.tsx +0 -221
- package/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.tsx +0 -314
- package/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.tsx +0 -196
- package/src/components/Reels/ReelsSeries/MediaControls/RightControls.tsx +0 -95
- package/src/components/Reels/ReelsSeries/MediaControls/TopControls.tsx +0 -163
- package/src/components/Reels/ReelsSeries/Model/DetailsModal.tsx +0 -210
- package/src/components/Reels/ReelsSeries/Model/SettingModal.tsx +0 -146
- package/src/components/Reels/ReelsSeries/Model/UnlockModal.tsx +0 -154
- package/src/components/Reels/ReelsSeries/ReelsSeries.tsx +0 -264
- package/src/components/Reels/ReelsSeries/ReelsSeriesItem.tsx +0 -494
- package/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.tsx +0 -184
- package/src/components/Reels/ReelsSeries/components/Episodes.tsx +0 -154
- package/src/components/Reels/ReelsSeries/components/GradientOverlay.tsx +0 -41
- package/src/components/Reels/ReelsSeries/components/Like.tsx +0 -40
- package/src/components/Reels/ReelsSeries/components/RotatingLoader.tsx +0 -79
- package/src/components/Reels/ReelsSeries/components/Synopsis.tsx +0 -332
- package/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.tsx +0 -187
- package/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.tsx +0 -80
- package/src/components/Reels/ReelsSeries/components/VideoControls/index.ts +0 -2
- package/src/components/Reels/ReelsSeries/types.ts +0 -54
- package/src/components/Reels/ReelsSeries/useReelsWatchProgress.ts +0 -85
- package/src/components/Reels/ReelsSeries/utils/quality.ts +0 -48
- package/src/components/Reels/index.ts +0 -9
- package/src/components/Reels/utils/Controls/gestureUtils.ts +0 -42
- package/src/components/Reels/utils/Controls/index.ts +0 -4
- package/src/components/Reels/utils/Controls/overlayUtils.ts +0 -35
- package/src/components/Reels/utils/Controls/videoControlsConstants.ts +0 -25
- package/src/components/Reels/utils/Controls/videoRef.ts +0 -4
- package/src/components/Reels/utils/index.ts +0 -1
- package/src/components/Reels/utils/timeoutUtils.ts +0 -29
- package/src/components/Search/One.tsx +0 -256
- package/src/components/Search/components/RecentSearchesSection.tsx +0 -181
- package/src/components/Search/components/SearchCard.tsx +0 -275
- package/src/components/Search/index.ts +0 -16
- package/src/components/Settings/AppSettings.tsx +0 -428
- package/src/components/Settings/index.ts +0 -1
- package/src/components/Subscription/SubOne.tsx +0 -874
- package/src/components/Subscription/index.ts +0 -12
- package/src/components/TabBar/One.tsx +0 -148
- package/src/components/TabBar/Three.tsx +0 -169
- package/src/components/TabBar/Two.tsx +0 -189
- package/src/components/TabBar/index.ts +0 -20
- package/src/components/Text/Text.tsx +0 -85
- package/src/components/Text/index.ts +0 -5
- package/src/components/User/DeviceSessions/DeviceSessions.tsx +0 -468
- package/src/components/User/ProfileUpdate/ProfileUpdate.tsx +0 -278
- package/src/components/User/PurchaseHistory/PurchaseHistory.tsx +0 -494
- package/src/components/User/WatchHistory/WatchHistory.tsx +0 -227
- package/src/components/User/WatchLater/WatchLater.tsx +0 -397
- package/src/components/User/components/UserAvatar.tsx +0 -120
- package/src/components/User/components/UserSection.tsx +0 -228
- package/src/components/User/index.ts +0 -18
- package/src/components/View/View.tsx +0 -37
- package/src/components/View/index.ts +0 -5
- package/src/components/common/AppStatusBar.tsx +0 -57
- package/src/components/index.ts +0 -29
- package/src/components/layout/SafeAreaWrapper.tsx +0 -45
- package/src/components/layout/index.ts +0 -1
- package/src/constants/dummySections.ts +0 -98
- package/src/hooks/Images/index.ts +0 -2
- package/src/hooks/Images/useImageLoader.ts +0 -206
- package/src/hooks/Images/useImageValidation.ts +0 -36
- package/src/hooks/index.ts +0 -17
- package/src/hooks/useAdTracking.ts +0 -349
- package/src/hooks/useCards.ts +0 -228
- package/src/hooks/useDebounce.ts +0 -35
- package/src/hooks/useKeyboard.ts +0 -43
- package/src/hooks/useNavigationMode.ts +0 -46
- package/src/hooks/usePaginatedSection.ts +0 -101
- package/src/hooks/usePrevious.ts +0 -28
- package/src/hooks/useSafeCallback.ts +0 -43
- package/src/hooks/useSkeletonItems.ts +0 -30
- package/src/hooks/useSplashCache.ts +0 -186
- package/src/hooks/useThemeColors.ts +0 -51
- package/src/index.tsx +0 -8
- package/src/store/RecentSearchesStore.ts +0 -78
- package/src/store/splashStore.ts +0 -91
- package/src/store/themeStore.ts +0 -43
- package/src/theme/ThemeProvider.tsx +0 -112
- package/src/theme/hook/index.ts +0 -1
- package/src/theme/hook/useInternalTheme.ts +0 -98
- package/src/theme/index.ts +0 -7
- package/src/theme/themes.ts +0 -336
- package/src/theme/utils/validateColor.ts +0 -127
- package/src/types/content/content-view.types.ts +0 -206
- package/src/types/hook/index.ts +0 -5
- package/src/types/hook/usePaginatedSetion.ts +0 -19
- package/src/types/index.ts +0 -7
- package/src/types/sections/index.ts +0 -84
- package/src/utils/Display.ts +0 -14
- package/src/utils/Formater.ts +0 -14
- package/src/utils/PlatformSelector.ts +0 -29
- package/src/utils/SizeMatters.ts +0 -7
- package/src/utils/Spacing.ts +0 -27
- package/src/utils/colorUtils.ts +0 -70
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Naresh Dhamu
|
|
3
|
-
* @lastModified Wed 24 Dec 2025 at 12:09 PM
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { IContentData, IServeAd } from '@zezosoft/zezo-ott-api-client';
|
|
7
|
-
export type IAdItem = IServeAd & {
|
|
8
|
-
type: 'ads';
|
|
9
|
-
};
|
|
10
|
-
export type ISectionType =
|
|
11
|
-
| 'normal'
|
|
12
|
-
| 'card_style_2'
|
|
13
|
-
| 'card_style_3'
|
|
14
|
-
| 'card_style_4'
|
|
15
|
-
| 'card_style_5'
|
|
16
|
-
| 'card_style_6'
|
|
17
|
-
| 'card_rotate_in_out'
|
|
18
|
-
| 'slider'
|
|
19
|
-
| 'slider_style_2'
|
|
20
|
-
| 'slider_style_3'
|
|
21
|
-
| 'card_series_featured_style_1'
|
|
22
|
-
| 'continue_watching'
|
|
23
|
-
| 'new_releases'
|
|
24
|
-
| 'top_10'
|
|
25
|
-
| 'category';
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Generic pagination metadata
|
|
29
|
-
*/
|
|
30
|
-
export interface ISectionPagination {
|
|
31
|
-
page: number;
|
|
32
|
-
limit: number;
|
|
33
|
-
total: number;
|
|
34
|
-
length: number;
|
|
35
|
-
hasNextPage: boolean;
|
|
36
|
-
nextPage: number | null;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Single section object with associated content
|
|
41
|
-
*/
|
|
42
|
-
export interface IGetSectionData {
|
|
43
|
-
_id: string;
|
|
44
|
-
name: string;
|
|
45
|
-
label: string;
|
|
46
|
-
order: number;
|
|
47
|
-
type: ISectionType;
|
|
48
|
-
content_ids: string[];
|
|
49
|
-
category: {
|
|
50
|
-
_id: string;
|
|
51
|
-
name: string;
|
|
52
|
-
slug: string;
|
|
53
|
-
};
|
|
54
|
-
genre?: string;
|
|
55
|
-
content: {
|
|
56
|
-
data: (IContentData | IAdItem)[];
|
|
57
|
-
meta: {
|
|
58
|
-
pagination: ISectionPagination;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
status: boolean;
|
|
62
|
-
createdAt: Date;
|
|
63
|
-
updatedAt: Date;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Full response from section fetch API
|
|
68
|
-
*/
|
|
69
|
-
export interface IGetSectionResponse {
|
|
70
|
-
success: boolean;
|
|
71
|
-
message: string;
|
|
72
|
-
data: IGetSectionData[];
|
|
73
|
-
meta: {
|
|
74
|
-
pagination: ISectionPagination;
|
|
75
|
-
};
|
|
76
|
-
cache: boolean;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Optional utility types (for local use)
|
|
81
|
-
*/
|
|
82
|
-
export type ISectionItem = IGetSectionData;
|
|
83
|
-
export type ISectionContent = IGetSectionData['content'];
|
|
84
|
-
export type ISectionMeta = IGetSectionResponse['meta'];
|
package/src/utils/Display.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Naresh Dhamu
|
|
3
|
-
* @lastModified Mon 09 Jun 2025 at 04:24 PM
|
|
4
|
-
*/
|
|
5
|
-
import { Dimensions } from 'react-native';
|
|
6
|
-
|
|
7
|
-
const { height, width } = Dimensions.get('window');
|
|
8
|
-
|
|
9
|
-
const setHeight = (h: number) => (height / 100) * h;
|
|
10
|
-
const setWidth = (w: number) => (width / 100) * w;
|
|
11
|
-
const fullWidth = Dimensions.get('window').width;
|
|
12
|
-
const fullHeight = Dimensions.get('window').height;
|
|
13
|
-
|
|
14
|
-
export default { setHeight, setWidth, fullWidth, fullHeight };
|
package/src/utils/Formater.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export function formatCount(count: number): string {
|
|
2
|
-
if (count < 1000) {
|
|
3
|
-
return count.toString();
|
|
4
|
-
} else if (count < 1000000) {
|
|
5
|
-
const thousands = count / 1000;
|
|
6
|
-
return thousands % 1 === 0 ? `${thousands}K` : `${thousands.toFixed(1)}K`;
|
|
7
|
-
} else if (count < 1000000000) {
|
|
8
|
-
const millions = count / 1000000;
|
|
9
|
-
return millions % 1 === 0 ? `${millions}M` : `${millions.toFixed(1)}M`;
|
|
10
|
-
} else {
|
|
11
|
-
const billions = count / 1000000000;
|
|
12
|
-
return billions % 1 === 0 ? `${billions}B` : `${billions.toFixed(1)}B`;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Naresh Dhamu
|
|
3
|
-
* @lastModified Mon 09 Jun 2025 at 04:26 PM
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { Platform } from 'react-native';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @description platform selector
|
|
10
|
-
*/
|
|
11
|
-
class PlatformSelector {
|
|
12
|
-
/**
|
|
13
|
-
* @description return true if it is android
|
|
14
|
-
* @returns {boolean}
|
|
15
|
-
*/
|
|
16
|
-
public isAndroid(): boolean {
|
|
17
|
-
return Platform.OS === 'android';
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @description return true if it is ios
|
|
22
|
-
* @returns {boolean}
|
|
23
|
-
*/
|
|
24
|
-
public isIOS(): boolean {
|
|
25
|
-
return Platform.OS === 'ios';
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export default new PlatformSelector();
|
package/src/utils/SizeMatters.ts
DELETED
package/src/utils/Spacing.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Naresh Dhamu
|
|
3
|
-
* @lastModified Mon 16 Jun 2025 at 03:05 PM
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { Platform } from 'react-native';
|
|
7
|
-
import { verticalScale } from 'react-native-size-matters';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Get responsive bottom spacing that accounts for platform differences
|
|
11
|
-
* Automatically adds extra spacing for Android navigation bar
|
|
12
|
-
* @param baseSpacing - Base spacing value (default: 35)
|
|
13
|
-
* @returns Platform-specific responsive bottom spacing
|
|
14
|
-
* @example
|
|
15
|
-
* // Usage in any component
|
|
16
|
-
* bottom: getResponsiveBottomSpacing(35) // iOS: 35, Android: 45
|
|
17
|
-
*/
|
|
18
|
-
export const getResponsiveBottomSpacing = (
|
|
19
|
-
baseSpacing: number = 35
|
|
20
|
-
): number => {
|
|
21
|
-
return Platform.OS === 'ios'
|
|
22
|
-
? verticalScale(baseSpacing)
|
|
23
|
-
: verticalScale(baseSpacing + 10);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
// Legacy export for backward compatibility
|
|
27
|
-
export const getAuthBottomSpacing = getResponsiveBottomSpacing;
|
package/src/utils/colorUtils.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Color utility functions
|
|
3
|
-
* @author Naresh Dhamu
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Converts a color string to rgba format with specified opacity
|
|
8
|
-
* Supports multiple color formats: rgba, rgb, hex (#RGB, #RRGGBB, #RRGGBBAA)
|
|
9
|
-
*
|
|
10
|
-
* @param color - Color string in any supported format
|
|
11
|
-
* @param opacity - Opacity value between 0 and 1 (default: 0.9)
|
|
12
|
-
* @returns Color string in rgba format with specified opacity
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* convertColorWithOpacity('rgb(255, 0, 0)', 0.5) // 'rgba(255, 0, 0, 0.5)'
|
|
16
|
-
* convertColorWithOpacity('#FF0000', 0.8) // 'rgba(255, 0, 0, 0.8)'
|
|
17
|
-
* convertColorWithOpacity('rgba(255, 0, 0, 1)', 0.5) // 'rgba(255, 0, 0, 0.5)'
|
|
18
|
-
*/
|
|
19
|
-
export const convertColorWithOpacity = (
|
|
20
|
-
color: string,
|
|
21
|
-
opacity: number = 0.9
|
|
22
|
-
): string => {
|
|
23
|
-
// Handle rgba format
|
|
24
|
-
if (color.startsWith('rgba(')) {
|
|
25
|
-
return color.replace(/rgba\(([^)]+)\)/, (match, rgb) => {
|
|
26
|
-
const values = rgb.split(',').map((v: string) => v.trim());
|
|
27
|
-
if (values.length === 4) {
|
|
28
|
-
return `rgba(${values[0]}, ${values[1]}, ${values[2]}, ${opacity})`;
|
|
29
|
-
}
|
|
30
|
-
return match;
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Handle rgb format
|
|
35
|
-
if (color.startsWith('rgb(')) {
|
|
36
|
-
return color.replace(/rgb\(([^)]+)\)/, (match, rgb) => {
|
|
37
|
-
const values = rgb.split(',').map((v: string) => v.trim());
|
|
38
|
-
if (values.length === 3) {
|
|
39
|
-
return `rgba(${values[0]}, ${values[1]}, ${values[2]}, ${opacity})`;
|
|
40
|
-
}
|
|
41
|
-
return match;
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Handle hex format (#RGB, #RRGGBB, #RRGGBBAA)
|
|
46
|
-
if (color.startsWith('#')) {
|
|
47
|
-
const hex = color.replace('#', '');
|
|
48
|
-
let r: number, g: number, b: number;
|
|
49
|
-
|
|
50
|
-
if (hex.length === 3) {
|
|
51
|
-
// #RGB format
|
|
52
|
-
r = parseInt(hex[0]! + hex[0]!, 16);
|
|
53
|
-
g = parseInt(hex[1]! + hex[1]!, 16);
|
|
54
|
-
b = parseInt(hex[2]! + hex[2]!, 16);
|
|
55
|
-
} else if (hex.length === 6 || hex.length === 8) {
|
|
56
|
-
// #RRGGBB or #RRGGBBAA format
|
|
57
|
-
r = parseInt(hex.substring(0, 2)!, 16);
|
|
58
|
-
g = parseInt(hex.substring(2, 4)!, 16);
|
|
59
|
-
b = parseInt(hex.substring(4, 6)!, 16);
|
|
60
|
-
} else {
|
|
61
|
-
return color; // Invalid hex, return as is
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return `rgba(${r}, ${g}, ${b}, ${opacity})`;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// For other formats (named colors, etc.), return as is
|
|
68
|
-
// In a real scenario, you might want to convert named colors to rgba
|
|
69
|
-
return color;
|
|
70
|
-
};
|