custom-mobile-ui 1.0.1

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 (116) hide show
  1. package/dist/Fonts-Black-U4YX6GHD.ttf +0 -0
  2. package/dist/Fonts-Bold-QAA2AGZS.ttf +0 -0
  3. package/dist/Fonts-ExtraBold-OVZKTNJI.ttf +0 -0
  4. package/dist/Fonts-Light-RMQAEPUP.ttf +0 -0
  5. package/dist/Fonts-Medium-UUWQX4EV.ttf +0 -0
  6. package/dist/Fonts-Regular-JNHL4IDV.ttf +0 -0
  7. package/dist/PopupMenuExample-DAAku8nG.d.mts +11 -0
  8. package/dist/PopupMenuExample-DAAku8nG.d.ts +11 -0
  9. package/dist/avatarF1-C47EE65Y.png +0 -0
  10. package/dist/avatarF2-TZPKSMDG.png +0 -0
  11. package/dist/avatarF3-OSDX6E7J.png +0 -0
  12. package/dist/avatarF4-CASWRGNJ.png +0 -0
  13. package/dist/avatarM1-3XV4KE4H.png +0 -0
  14. package/dist/avatarM2-ZMN26Y2Y.png +0 -0
  15. package/dist/avatarM3-XIDLYITU.png +0 -0
  16. package/dist/avatarM4-DYW5DSZC.png +0 -0
  17. package/dist/avatarM5-YP66OPXT.png +0 -0
  18. package/dist/components.d.mts +3286 -0
  19. package/dist/components.d.ts +3286 -0
  20. package/dist/components.js +21401 -0
  21. package/dist/components.mjs +21246 -0
  22. package/dist/config.d.mts +7 -0
  23. package/dist/config.d.ts +7 -0
  24. package/dist/config.js +213 -0
  25. package/dist/config.mjs +210 -0
  26. package/dist/context.d.mts +11 -0
  27. package/dist/context.d.ts +11 -0
  28. package/dist/context.js +150 -0
  29. package/dist/context.mjs +148 -0
  30. package/dist/examples.d.mts +30 -0
  31. package/dist/examples.d.ts +30 -0
  32. package/dist/examples.js +30785 -0
  33. package/dist/examples.mjs +30748 -0
  34. package/dist/hooks.d.mts +15 -0
  35. package/dist/hooks.d.ts +15 -0
  36. package/dist/hooks.js +750 -0
  37. package/dist/hooks.mjs +739 -0
  38. package/dist/icAppleNegative-E3OORB4A.png +0 -0
  39. package/dist/icAppleOriginal-M7FOSDZ4.png +0 -0
  40. package/dist/icBlueskyNegative-QXHPLARU.png +0 -0
  41. package/dist/icBlueskyOriginal-D2GX35RV.png +0 -0
  42. package/dist/icDiscordNegative-EWGZJJ27.png +0 -0
  43. package/dist/icDiscordOriginal-5ODPKZ6S.png +0 -0
  44. package/dist/icDribbbleNegative-GOLJS6SO.png +0 -0
  45. package/dist/icDribbbleOriginal-ONQLW62I.png +0 -0
  46. package/dist/icError404-Z6PQK64J.png +0 -0
  47. package/dist/icFacebookNegative-DIFRSSJJ.png +0 -0
  48. package/dist/icFacebookOriginal-PK7CGUNB.png +0 -0
  49. package/dist/icFigmaNegative-X6P3DVCQ.png +0 -0
  50. package/dist/icFigmaOriginal-VGD7LQVQ.png +0 -0
  51. package/dist/icGithubNegative-G7XH6J7V.png +0 -0
  52. package/dist/icGithubOriginal-BOXVXICL.png +0 -0
  53. package/dist/icGoogleNegative-UFNCEWM7.png +0 -0
  54. package/dist/icGoogleOriginal-WCDLPRSH.png +0 -0
  55. package/dist/icInstagramNegative-47CG4IHG.png +0 -0
  56. package/dist/icInstagramOriginal-SGRJTPEH.png +0 -0
  57. package/dist/icLinkedInNegative-4EHL223U.png +0 -0
  58. package/dist/icLinkedInOriginal-CQXTAW56.png +0 -0
  59. package/dist/icMediumNegative-YMS7U46C.png +0 -0
  60. package/dist/icMediumOriginal-TRTNJBN4.png +0 -0
  61. package/dist/icMessengerNegative-SIFKBM2Y.png +0 -0
  62. package/dist/icMessengerOriginal-PNN2SB3Z.png +0 -0
  63. package/dist/icNoData-JQB7KCKJ.png +0 -0
  64. package/dist/icPinterestNegative-LPDQYRD3.png +0 -0
  65. package/dist/icPinterestOriginal-7AWYJQBQ.png +0 -0
  66. package/dist/icRedditNegative-BBV3R7UA.png +0 -0
  67. package/dist/icRedditOriginal-BIKS3S2I.png +0 -0
  68. package/dist/icRestriction-JFCJAQ5L.png +0 -0
  69. package/dist/icSadMen-6HAFJHIQ.png +0 -0
  70. package/dist/icSignalNegative-DVBANSGJ.png +0 -0
  71. package/dist/icSignalOriginal-FQEXGCKX.png +0 -0
  72. package/dist/icSnapchatNegative-VQFVKRPC.png +0 -0
  73. package/dist/icSnapchatOriginal-ZK4T4CLL.png +0 -0
  74. package/dist/icSpotifyNegative-UGDBMFNS.png +0 -0
  75. package/dist/icSpotifyOriginal-ZFNO4BJO.png +0 -0
  76. package/dist/icTelegramNegative-GDSFFYME.png +0 -0
  77. package/dist/icTelegramOriginal-DMTCZCGP.png +0 -0
  78. package/dist/icThreadsNegative-4NIM4AOP.png +0 -0
  79. package/dist/icThreadsOriginal-OYU6UKN2.png +0 -0
  80. package/dist/icTikTokNegative-WYI3PQGD.png +0 -0
  81. package/dist/icTikTokOriginal-26SKYCIO.png +0 -0
  82. package/dist/icTumblrNegative-CYBTEYAG.png +0 -0
  83. package/dist/icTumblrOriginal-MZ7RV5ZY.png +0 -0
  84. package/dist/icTwitchNegative-GK3VVFL7.png +0 -0
  85. package/dist/icTwitchOriginal-GOENLOGB.png +0 -0
  86. package/dist/icVKNegative-FCXPFYDV.png +0 -0
  87. package/dist/icVKOriginal-NCWB7WYH.png +0 -0
  88. package/dist/icWhatsAppNegative-FJHYFUMA.png +0 -0
  89. package/dist/icWhatsAppOriginal-MWQWQC56.png +0 -0
  90. package/dist/icXTwitterNegative-VS3UXBLN.png +0 -0
  91. package/dist/icXTwitterOriginal-WJ2IFMZL.png +0 -0
  92. package/dist/icYouTubeNegative-LUSZ7OD4.png +0 -0
  93. package/dist/icYouTubeOriginal-6Y2SNMC7.png +0 -0
  94. package/dist/index-tIixPl5M.d.mts +214 -0
  95. package/dist/index-tIixPl5M.d.ts +214 -0
  96. package/dist/index.d.mts +32 -0
  97. package/dist/index.d.ts +32 -0
  98. package/dist/index.js +32215 -0
  99. package/dist/index.mjs +32022 -0
  100. package/dist/theme.d.mts +297 -0
  101. package/dist/theme.d.ts +297 -0
  102. package/dist/theme.js +472 -0
  103. package/dist/theme.mjs +458 -0
  104. package/dist/types-cxHozHqF.d.mts +92 -0
  105. package/dist/types-cxHozHqF.d.ts +92 -0
  106. package/dist/ui.d.mts +400 -0
  107. package/dist/ui.d.ts +400 -0
  108. package/dist/ui.js +1469 -0
  109. package/dist/ui.mjs +1461 -0
  110. package/dist/ui_config-LKHwCbDD.d.mts +102 -0
  111. package/dist/ui_config-LKHwCbDD.d.ts +102 -0
  112. package/dist/utils.d.mts +7 -0
  113. package/dist/utils.d.ts +7 -0
  114. package/dist/utils.js +89 -0
  115. package/dist/utils.mjs +83 -0
  116. package/package.json +78 -0
package/dist/ui.mjs ADDED
@@ -0,0 +1,1461 @@
1
+ import React, { createContext, useState, useContext, useMemo, useRef, useCallback } from 'react';
2
+ import { StyleSheet, Platform, Modal, View, Image, TouchableOpacity, Text as Text$1, Animated, Pressable, ActivityIndicator } from 'react-native';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+ import { LogOut, X } from 'lucide-react-native';
5
+
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __commonJS = (cb, mod) => function __require() {
8
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
+ };
10
+
11
+ // assets/images/icNoData.png
12
+ var require_icNoData = __commonJS({
13
+ "assets/images/icNoData.png"(exports$1, module) {
14
+ module.exports = "./icNoData-JQB7KCKJ.png";
15
+ }
16
+ });
17
+
18
+ // assets/images/icRestriction.png
19
+ var require_icRestriction = __commonJS({
20
+ "assets/images/icRestriction.png"(exports$1, module) {
21
+ module.exports = "./icRestriction-JFCJAQ5L.png";
22
+ }
23
+ });
24
+
25
+ // assets/images/icError404.png
26
+ var require_icError404 = __commonJS({
27
+ "assets/images/icError404.png"(exports$1, module) {
28
+ module.exports = "./icError404-Z6PQK64J.png";
29
+ }
30
+ });
31
+
32
+ // assets/images/icSadMen.png
33
+ var require_icSadMen = __commonJS({
34
+ "assets/images/icSadMen.png"(exports$1, module) {
35
+ module.exports = "./icSadMen-6HAFJHIQ.png";
36
+ }
37
+ });
38
+
39
+ // assets/images/avatar/avatarF1.png
40
+ var require_avatarF1 = __commonJS({
41
+ "assets/images/avatar/avatarF1.png"(exports$1, module) {
42
+ module.exports = "./avatarF1-C47EE65Y.png";
43
+ }
44
+ });
45
+
46
+ // assets/images/avatar/avatarF2.png
47
+ var require_avatarF2 = __commonJS({
48
+ "assets/images/avatar/avatarF2.png"(exports$1, module) {
49
+ module.exports = "./avatarF2-TZPKSMDG.png";
50
+ }
51
+ });
52
+
53
+ // assets/images/avatar/avatarF3.png
54
+ var require_avatarF3 = __commonJS({
55
+ "assets/images/avatar/avatarF3.png"(exports$1, module) {
56
+ module.exports = "./avatarF3-OSDX6E7J.png";
57
+ }
58
+ });
59
+
60
+ // assets/images/avatar/avatarF4.png
61
+ var require_avatarF4 = __commonJS({
62
+ "assets/images/avatar/avatarF4.png"(exports$1, module) {
63
+ module.exports = "./avatarF4-CASWRGNJ.png";
64
+ }
65
+ });
66
+
67
+ // assets/images/avatar/avatarM1.png
68
+ var require_avatarM1 = __commonJS({
69
+ "assets/images/avatar/avatarM1.png"(exports$1, module) {
70
+ module.exports = "./avatarM1-3XV4KE4H.png";
71
+ }
72
+ });
73
+
74
+ // assets/images/avatar/avatarM2.png
75
+ var require_avatarM2 = __commonJS({
76
+ "assets/images/avatar/avatarM2.png"(exports$1, module) {
77
+ module.exports = "./avatarM2-ZMN26Y2Y.png";
78
+ }
79
+ });
80
+
81
+ // assets/images/avatar/avatarM3.png
82
+ var require_avatarM3 = __commonJS({
83
+ "assets/images/avatar/avatarM3.png"(exports$1, module) {
84
+ module.exports = "./avatarM3-XIDLYITU.png";
85
+ }
86
+ });
87
+
88
+ // assets/images/avatar/avatarM4.png
89
+ var require_avatarM4 = __commonJS({
90
+ "assets/images/avatar/avatarM4.png"(exports$1, module) {
91
+ module.exports = "./avatarM4-DYW5DSZC.png";
92
+ }
93
+ });
94
+
95
+ // assets/images/avatar/avatarM5.png
96
+ var require_avatarM5 = __commonJS({
97
+ "assets/images/avatar/avatarM5.png"(exports$1, module) {
98
+ module.exports = "./avatarM5-YP66OPXT.png";
99
+ }
100
+ });
101
+
102
+ // assets/images/socialIcons/icAppleNegative.png
103
+ var require_icAppleNegative = __commonJS({
104
+ "assets/images/socialIcons/icAppleNegative.png"(exports$1, module) {
105
+ module.exports = "./icAppleNegative-E3OORB4A.png";
106
+ }
107
+ });
108
+
109
+ // assets/images/socialIcons/icAppleOriginal.png
110
+ var require_icAppleOriginal = __commonJS({
111
+ "assets/images/socialIcons/icAppleOriginal.png"(exports$1, module) {
112
+ module.exports = "./icAppleOriginal-M7FOSDZ4.png";
113
+ }
114
+ });
115
+
116
+ // assets/images/socialIcons/icBlueskyNegative.png
117
+ var require_icBlueskyNegative = __commonJS({
118
+ "assets/images/socialIcons/icBlueskyNegative.png"(exports$1, module) {
119
+ module.exports = "./icBlueskyNegative-QXHPLARU.png";
120
+ }
121
+ });
122
+
123
+ // assets/images/socialIcons/icBlueskyOriginal.png
124
+ var require_icBlueskyOriginal = __commonJS({
125
+ "assets/images/socialIcons/icBlueskyOriginal.png"(exports$1, module) {
126
+ module.exports = "./icBlueskyOriginal-D2GX35RV.png";
127
+ }
128
+ });
129
+
130
+ // assets/images/socialIcons/icDiscordNegative.png
131
+ var require_icDiscordNegative = __commonJS({
132
+ "assets/images/socialIcons/icDiscordNegative.png"(exports$1, module) {
133
+ module.exports = "./icDiscordNegative-EWGZJJ27.png";
134
+ }
135
+ });
136
+
137
+ // assets/images/socialIcons/icDiscordOriginal.png
138
+ var require_icDiscordOriginal = __commonJS({
139
+ "assets/images/socialIcons/icDiscordOriginal.png"(exports$1, module) {
140
+ module.exports = "./icDiscordOriginal-5ODPKZ6S.png";
141
+ }
142
+ });
143
+
144
+ // assets/images/socialIcons/icDribbbleNegative.png
145
+ var require_icDribbbleNegative = __commonJS({
146
+ "assets/images/socialIcons/icDribbbleNegative.png"(exports$1, module) {
147
+ module.exports = "./icDribbbleNegative-GOLJS6SO.png";
148
+ }
149
+ });
150
+
151
+ // assets/images/socialIcons/icDribbbleOriginal.png
152
+ var require_icDribbbleOriginal = __commonJS({
153
+ "assets/images/socialIcons/icDribbbleOriginal.png"(exports$1, module) {
154
+ module.exports = "./icDribbbleOriginal-ONQLW62I.png";
155
+ }
156
+ });
157
+
158
+ // assets/images/socialIcons/icFacebookNegative.png
159
+ var require_icFacebookNegative = __commonJS({
160
+ "assets/images/socialIcons/icFacebookNegative.png"(exports$1, module) {
161
+ module.exports = "./icFacebookNegative-DIFRSSJJ.png";
162
+ }
163
+ });
164
+
165
+ // assets/images/socialIcons/icFacebookOriginal.png
166
+ var require_icFacebookOriginal = __commonJS({
167
+ "assets/images/socialIcons/icFacebookOriginal.png"(exports$1, module) {
168
+ module.exports = "./icFacebookOriginal-PK7CGUNB.png";
169
+ }
170
+ });
171
+
172
+ // assets/images/socialIcons/icFigmaNegative.png
173
+ var require_icFigmaNegative = __commonJS({
174
+ "assets/images/socialIcons/icFigmaNegative.png"(exports$1, module) {
175
+ module.exports = "./icFigmaNegative-X6P3DVCQ.png";
176
+ }
177
+ });
178
+
179
+ // assets/images/socialIcons/icFigmaOriginal.png
180
+ var require_icFigmaOriginal = __commonJS({
181
+ "assets/images/socialIcons/icFigmaOriginal.png"(exports$1, module) {
182
+ module.exports = "./icFigmaOriginal-VGD7LQVQ.png";
183
+ }
184
+ });
185
+
186
+ // assets/images/socialIcons/icGithubNegative.png
187
+ var require_icGithubNegative = __commonJS({
188
+ "assets/images/socialIcons/icGithubNegative.png"(exports$1, module) {
189
+ module.exports = "./icGithubNegative-G7XH6J7V.png";
190
+ }
191
+ });
192
+
193
+ // assets/images/socialIcons/icGithubOriginal.png
194
+ var require_icGithubOriginal = __commonJS({
195
+ "assets/images/socialIcons/icGithubOriginal.png"(exports$1, module) {
196
+ module.exports = "./icGithubOriginal-BOXVXICL.png";
197
+ }
198
+ });
199
+
200
+ // assets/images/socialIcons/icGoogleNegative.png
201
+ var require_icGoogleNegative = __commonJS({
202
+ "assets/images/socialIcons/icGoogleNegative.png"(exports$1, module) {
203
+ module.exports = "./icGoogleNegative-UFNCEWM7.png";
204
+ }
205
+ });
206
+
207
+ // assets/images/socialIcons/icGoogleOriginal.png
208
+ var require_icGoogleOriginal = __commonJS({
209
+ "assets/images/socialIcons/icGoogleOriginal.png"(exports$1, module) {
210
+ module.exports = "./icGoogleOriginal-WCDLPRSH.png";
211
+ }
212
+ });
213
+
214
+ // assets/images/socialIcons/icInstagramNegative.png
215
+ var require_icInstagramNegative = __commonJS({
216
+ "assets/images/socialIcons/icInstagramNegative.png"(exports$1, module) {
217
+ module.exports = "./icInstagramNegative-47CG4IHG.png";
218
+ }
219
+ });
220
+
221
+ // assets/images/socialIcons/icInstagramOriginal.png
222
+ var require_icInstagramOriginal = __commonJS({
223
+ "assets/images/socialIcons/icInstagramOriginal.png"(exports$1, module) {
224
+ module.exports = "./icInstagramOriginal-SGRJTPEH.png";
225
+ }
226
+ });
227
+
228
+ // assets/images/socialIcons/icLinkedInNegative.png
229
+ var require_icLinkedInNegative = __commonJS({
230
+ "assets/images/socialIcons/icLinkedInNegative.png"(exports$1, module) {
231
+ module.exports = "./icLinkedInNegative-4EHL223U.png";
232
+ }
233
+ });
234
+
235
+ // assets/images/socialIcons/icLinkedInOriginal.png
236
+ var require_icLinkedInOriginal = __commonJS({
237
+ "assets/images/socialIcons/icLinkedInOriginal.png"(exports$1, module) {
238
+ module.exports = "./icLinkedInOriginal-CQXTAW56.png";
239
+ }
240
+ });
241
+
242
+ // assets/images/socialIcons/icMediumNegative.png
243
+ var require_icMediumNegative = __commonJS({
244
+ "assets/images/socialIcons/icMediumNegative.png"(exports$1, module) {
245
+ module.exports = "./icMediumNegative-YMS7U46C.png";
246
+ }
247
+ });
248
+
249
+ // assets/images/socialIcons/icMediumOriginal.png
250
+ var require_icMediumOriginal = __commonJS({
251
+ "assets/images/socialIcons/icMediumOriginal.png"(exports$1, module) {
252
+ module.exports = "./icMediumOriginal-TRTNJBN4.png";
253
+ }
254
+ });
255
+
256
+ // assets/images/socialIcons/icMessengerNegative.png
257
+ var require_icMessengerNegative = __commonJS({
258
+ "assets/images/socialIcons/icMessengerNegative.png"(exports$1, module) {
259
+ module.exports = "./icMessengerNegative-SIFKBM2Y.png";
260
+ }
261
+ });
262
+
263
+ // assets/images/socialIcons/icMessengerOriginal.png
264
+ var require_icMessengerOriginal = __commonJS({
265
+ "assets/images/socialIcons/icMessengerOriginal.png"(exports$1, module) {
266
+ module.exports = "./icMessengerOriginal-PNN2SB3Z.png";
267
+ }
268
+ });
269
+
270
+ // assets/images/socialIcons/icPinterestNegative.png
271
+ var require_icPinterestNegative = __commonJS({
272
+ "assets/images/socialIcons/icPinterestNegative.png"(exports$1, module) {
273
+ module.exports = "./icPinterestNegative-LPDQYRD3.png";
274
+ }
275
+ });
276
+
277
+ // assets/images/socialIcons/icPinterestOriginal.png
278
+ var require_icPinterestOriginal = __commonJS({
279
+ "assets/images/socialIcons/icPinterestOriginal.png"(exports$1, module) {
280
+ module.exports = "./icPinterestOriginal-7AWYJQBQ.png";
281
+ }
282
+ });
283
+
284
+ // assets/images/socialIcons/icRedditNegative.png
285
+ var require_icRedditNegative = __commonJS({
286
+ "assets/images/socialIcons/icRedditNegative.png"(exports$1, module) {
287
+ module.exports = "./icRedditNegative-BBV3R7UA.png";
288
+ }
289
+ });
290
+
291
+ // assets/images/socialIcons/icRedditOriginal.png
292
+ var require_icRedditOriginal = __commonJS({
293
+ "assets/images/socialIcons/icRedditOriginal.png"(exports$1, module) {
294
+ module.exports = "./icRedditOriginal-BIKS3S2I.png";
295
+ }
296
+ });
297
+
298
+ // assets/images/socialIcons/icSignalNegative.png
299
+ var require_icSignalNegative = __commonJS({
300
+ "assets/images/socialIcons/icSignalNegative.png"(exports$1, module) {
301
+ module.exports = "./icSignalNegative-DVBANSGJ.png";
302
+ }
303
+ });
304
+
305
+ // assets/images/socialIcons/icSignalOriginal.png
306
+ var require_icSignalOriginal = __commonJS({
307
+ "assets/images/socialIcons/icSignalOriginal.png"(exports$1, module) {
308
+ module.exports = "./icSignalOriginal-FQEXGCKX.png";
309
+ }
310
+ });
311
+
312
+ // assets/images/socialIcons/icSnapchatNegative.png
313
+ var require_icSnapchatNegative = __commonJS({
314
+ "assets/images/socialIcons/icSnapchatNegative.png"(exports$1, module) {
315
+ module.exports = "./icSnapchatNegative-VQFVKRPC.png";
316
+ }
317
+ });
318
+
319
+ // assets/images/socialIcons/icSnapchatOriginal.png
320
+ var require_icSnapchatOriginal = __commonJS({
321
+ "assets/images/socialIcons/icSnapchatOriginal.png"(exports$1, module) {
322
+ module.exports = "./icSnapchatOriginal-ZK4T4CLL.png";
323
+ }
324
+ });
325
+
326
+ // assets/images/socialIcons/icSpotifyNegative.png
327
+ var require_icSpotifyNegative = __commonJS({
328
+ "assets/images/socialIcons/icSpotifyNegative.png"(exports$1, module) {
329
+ module.exports = "./icSpotifyNegative-UGDBMFNS.png";
330
+ }
331
+ });
332
+
333
+ // assets/images/socialIcons/icSpotifyOriginal.png
334
+ var require_icSpotifyOriginal = __commonJS({
335
+ "assets/images/socialIcons/icSpotifyOriginal.png"(exports$1, module) {
336
+ module.exports = "./icSpotifyOriginal-ZFNO4BJO.png";
337
+ }
338
+ });
339
+
340
+ // assets/images/socialIcons/icTelegramNegative.png
341
+ var require_icTelegramNegative = __commonJS({
342
+ "assets/images/socialIcons/icTelegramNegative.png"(exports$1, module) {
343
+ module.exports = "./icTelegramNegative-GDSFFYME.png";
344
+ }
345
+ });
346
+
347
+ // assets/images/socialIcons/icTelegramOriginal.png
348
+ var require_icTelegramOriginal = __commonJS({
349
+ "assets/images/socialIcons/icTelegramOriginal.png"(exports$1, module) {
350
+ module.exports = "./icTelegramOriginal-DMTCZCGP.png";
351
+ }
352
+ });
353
+
354
+ // assets/images/socialIcons/icThreadsNegative.png
355
+ var require_icThreadsNegative = __commonJS({
356
+ "assets/images/socialIcons/icThreadsNegative.png"(exports$1, module) {
357
+ module.exports = "./icThreadsNegative-4NIM4AOP.png";
358
+ }
359
+ });
360
+
361
+ // assets/images/socialIcons/icThreadsOriginal.png
362
+ var require_icThreadsOriginal = __commonJS({
363
+ "assets/images/socialIcons/icThreadsOriginal.png"(exports$1, module) {
364
+ module.exports = "./icThreadsOriginal-OYU6UKN2.png";
365
+ }
366
+ });
367
+
368
+ // assets/images/socialIcons/icTikTokNegative.png
369
+ var require_icTikTokNegative = __commonJS({
370
+ "assets/images/socialIcons/icTikTokNegative.png"(exports$1, module) {
371
+ module.exports = "./icTikTokNegative-WYI3PQGD.png";
372
+ }
373
+ });
374
+
375
+ // assets/images/socialIcons/icTikTokOriginal.png
376
+ var require_icTikTokOriginal = __commonJS({
377
+ "assets/images/socialIcons/icTikTokOriginal.png"(exports$1, module) {
378
+ module.exports = "./icTikTokOriginal-26SKYCIO.png";
379
+ }
380
+ });
381
+
382
+ // assets/images/socialIcons/icTumblrNegative.png
383
+ var require_icTumblrNegative = __commonJS({
384
+ "assets/images/socialIcons/icTumblrNegative.png"(exports$1, module) {
385
+ module.exports = "./icTumblrNegative-CYBTEYAG.png";
386
+ }
387
+ });
388
+
389
+ // assets/images/socialIcons/icTumblrOriginal.png
390
+ var require_icTumblrOriginal = __commonJS({
391
+ "assets/images/socialIcons/icTumblrOriginal.png"(exports$1, module) {
392
+ module.exports = "./icTumblrOriginal-MZ7RV5ZY.png";
393
+ }
394
+ });
395
+
396
+ // assets/images/socialIcons/icTwitchNegative.png
397
+ var require_icTwitchNegative = __commonJS({
398
+ "assets/images/socialIcons/icTwitchNegative.png"(exports$1, module) {
399
+ module.exports = "./icTwitchNegative-GK3VVFL7.png";
400
+ }
401
+ });
402
+
403
+ // assets/images/socialIcons/icTwitchOriginal.png
404
+ var require_icTwitchOriginal = __commonJS({
405
+ "assets/images/socialIcons/icTwitchOriginal.png"(exports$1, module) {
406
+ module.exports = "./icTwitchOriginal-GOENLOGB.png";
407
+ }
408
+ });
409
+
410
+ // assets/images/socialIcons/icVKNegative.png
411
+ var require_icVKNegative = __commonJS({
412
+ "assets/images/socialIcons/icVKNegative.png"(exports$1, module) {
413
+ module.exports = "./icVKNegative-FCXPFYDV.png";
414
+ }
415
+ });
416
+
417
+ // assets/images/socialIcons/icVKOriginal.png
418
+ var require_icVKOriginal = __commonJS({
419
+ "assets/images/socialIcons/icVKOriginal.png"(exports$1, module) {
420
+ module.exports = "./icVKOriginal-NCWB7WYH.png";
421
+ }
422
+ });
423
+
424
+ // assets/images/socialIcons/icWhatsAppNegative.png
425
+ var require_icWhatsAppNegative = __commonJS({
426
+ "assets/images/socialIcons/icWhatsAppNegative.png"(exports$1, module) {
427
+ module.exports = "./icWhatsAppNegative-FJHYFUMA.png";
428
+ }
429
+ });
430
+
431
+ // assets/images/socialIcons/icWhatsAppOriginal.png
432
+ var require_icWhatsAppOriginal = __commonJS({
433
+ "assets/images/socialIcons/icWhatsAppOriginal.png"(exports$1, module) {
434
+ module.exports = "./icWhatsAppOriginal-MWQWQC56.png";
435
+ }
436
+ });
437
+
438
+ // assets/images/socialIcons/icXTwitterNegative.png
439
+ var require_icXTwitterNegative = __commonJS({
440
+ "assets/images/socialIcons/icXTwitterNegative.png"(exports$1, module) {
441
+ module.exports = "./icXTwitterNegative-VS3UXBLN.png";
442
+ }
443
+ });
444
+
445
+ // assets/images/socialIcons/icXTwitterOriginal.png
446
+ var require_icXTwitterOriginal = __commonJS({
447
+ "assets/images/socialIcons/icXTwitterOriginal.png"(exports$1, module) {
448
+ module.exports = "./icXTwitterOriginal-WJ2IFMZL.png";
449
+ }
450
+ });
451
+
452
+ // assets/images/socialIcons/icYouTubeNegative.png
453
+ var require_icYouTubeNegative = __commonJS({
454
+ "assets/images/socialIcons/icYouTubeNegative.png"(exports$1, module) {
455
+ module.exports = "./icYouTubeNegative-LUSZ7OD4.png";
456
+ }
457
+ });
458
+
459
+ // assets/images/socialIcons/icYouTubeOriginal.png
460
+ var require_icYouTubeOriginal = __commonJS({
461
+ "assets/images/socialIcons/icYouTubeOriginal.png"(exports$1, module) {
462
+ module.exports = "./icYouTubeOriginal-6Y2SNMC7.png";
463
+ }
464
+ });
465
+
466
+ // src/theme/colors.ts
467
+ var Colors = {
468
+ primary: {
469
+ 50: "#EFF6FF",
470
+ 400: "#60A5FA",
471
+ 500: "#3B82F6",
472
+ 600: "#2563EB",
473
+ 900: "#1E3A8A"
474
+ },
475
+ primaryColor: "#2563EB",
476
+ gray: {
477
+ 50: "#F9FAFB",
478
+ 100: "#F3F4F6",
479
+ 200: "#E5E7EB",
480
+ 300: "#D1D5DB",
481
+ 400: "#9CA3AF",
482
+ 500: "#6B7280",
483
+ 600: "#4B5563",
484
+ 700: "#374151",
485
+ 800: "#1F2937",
486
+ 900: "#111827"
487
+ },
488
+ white: "#ffffff",
489
+ green: { 500: "#22C55E" },
490
+ orange: { 500: "#F97316" },
491
+ red: { 500: "#EF4444" }};
492
+ var colors_default = Colors;
493
+ var FontFamily = (style) => {
494
+ const weight = style?.fontWeight ?? "400";
495
+ let fontFamily = "Fonts-Regular";
496
+ let numericWeight = "400";
497
+ switch (weight) {
498
+ case "100":
499
+ case "200":
500
+ fontFamily = "Fonts-Light";
501
+ numericWeight = "300";
502
+ break;
503
+ case "300":
504
+ case "light":
505
+ fontFamily = "Fonts-Light";
506
+ numericWeight = "300";
507
+ break;
508
+ case "400":
509
+ case "normal":
510
+ case "regular":
511
+ fontFamily = "Fonts-Regular";
512
+ numericWeight = "400";
513
+ break;
514
+ case "500":
515
+ case "medium":
516
+ fontFamily = "Fonts-Medium";
517
+ numericWeight = "500";
518
+ break;
519
+ case "600":
520
+ case "semibold":
521
+ fontFamily = "Fonts-Bold";
522
+ numericWeight = "600";
523
+ break;
524
+ case "700":
525
+ case "bold":
526
+ fontFamily = "Fonts-Bold";
527
+ numericWeight = "700";
528
+ break;
529
+ case "800":
530
+ case "heavy":
531
+ fontFamily = "Fonts-ExtraBold";
532
+ numericWeight = "800";
533
+ break;
534
+ case "900":
535
+ case "black":
536
+ fontFamily = "Fonts-Black";
537
+ numericWeight = "900";
538
+ break;
539
+ }
540
+ return {
541
+ fontFamily,
542
+ fontWeight: Platform.OS === "android" ? "normal" : numericWeight
543
+ };
544
+ };
545
+
546
+ // src/styles/modalStyles.ts
547
+ var getBaseModalStyles = (theme) => StyleSheet.create({
548
+ title: {
549
+ fontSize: 17,
550
+ ...FontFamily({ fontWeight: "600" }),
551
+ color: theme?.text?.primary || colors_default.gray[900]
552
+ },
553
+ actionsRowLeft: {
554
+ width: 80,
555
+ alignItems: "flex-start",
556
+ justifyContent: "center"
557
+ },
558
+ actionsRowRight: {
559
+ width: 80,
560
+ alignItems: "flex-end",
561
+ justifyContent: "center"
562
+ },
563
+ actionsText: {
564
+ fontSize: 16,
565
+ ...FontFamily({ fontWeight: "500" }),
566
+ color: theme?.primary?.default || colors_default.primaryColor
567
+ }
568
+ });
569
+ var getBottomSheetModalStyles = (theme) => {
570
+ const base = getBaseModalStyles(theme);
571
+ return StyleSheet.create({
572
+ ...base,
573
+ overlay: {
574
+ flex: 1,
575
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
576
+ justifyContent: "flex-end"
577
+ },
578
+ content: {
579
+ backgroundColor: theme?.background?.screen || colors_default.white,
580
+ maxHeight: "90%",
581
+ borderTopLeftRadius: 20,
582
+ borderTopRightRadius: 20
583
+ },
584
+ header: {
585
+ backgroundColor: theme?.background?.surface || colors_default.white,
586
+ flexDirection: "row",
587
+ justifyContent: "space-between",
588
+ alignItems: "center",
589
+ padding: 20,
590
+ borderTopLeftRadius: 20,
591
+ borderTopRightRadius: 20,
592
+ borderBottomWidth: 1,
593
+ borderBottomColor: theme?.border?.default || colors_default.gray[200]
594
+ }
595
+ });
596
+ };
597
+ var getCenterModalStyles = (theme) => {
598
+ const base = getBaseModalStyles(theme);
599
+ return StyleSheet.create({
600
+ ...base,
601
+ overlay: {
602
+ flex: 1,
603
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
604
+ justifyContent: "center",
605
+ alignItems: "center"
606
+ },
607
+ content: {
608
+ backgroundColor: theme?.background?.screen || colors_default.white,
609
+ borderRadius: 16,
610
+ minWidth: "70%",
611
+ maxWidth: "90%"
612
+ },
613
+ header: {
614
+ flexDirection: "row",
615
+ justifyContent: "space-between",
616
+ alignItems: "center",
617
+ marginBottom: 12
618
+ }
619
+ });
620
+ };
621
+
622
+ // assets/images/index.ts
623
+ var AssetImages = {
624
+ noDataImage: require_icNoData(),
625
+ restrictionImage: require_icRestriction(),
626
+ error404Image: require_icError404(),
627
+ sadMenImage: require_icSadMen(),
628
+ avatarF1: require_avatarF1(),
629
+ avatarF2: require_avatarF2(),
630
+ avatarF3: require_avatarF3(),
631
+ avatarF4: require_avatarF4(),
632
+ avatarM1: require_avatarM1(),
633
+ avatarM2: require_avatarM2(),
634
+ avatarM3: require_avatarM3(),
635
+ avatarM4: require_avatarM4(),
636
+ avatarM5: require_avatarM5(),
637
+ socialIcons: {
638
+ icAppleNegative: require_icAppleNegative(),
639
+ icAppleOriginal: require_icAppleOriginal(),
640
+ icBlueskyNegative: require_icBlueskyNegative(),
641
+ icBlueskyOriginal: require_icBlueskyOriginal(),
642
+ icDiscordNegative: require_icDiscordNegative(),
643
+ icDiscordOriginal: require_icDiscordOriginal(),
644
+ icDribbbleNegative: require_icDribbbleNegative(),
645
+ icDribbbleOriginal: require_icDribbbleOriginal(),
646
+ icFacebookNegative: require_icFacebookNegative(),
647
+ icFacebookOriginal: require_icFacebookOriginal(),
648
+ icFigmaNegative: require_icFigmaNegative(),
649
+ icFigmaOriginal: require_icFigmaOriginal(),
650
+ icGithubNegative: require_icGithubNegative(),
651
+ icGithubOriginal: require_icGithubOriginal(),
652
+ icGoogleNegative: require_icGoogleNegative(),
653
+ icGoogleOriginal: require_icGoogleOriginal(),
654
+ icInstagramNegative: require_icInstagramNegative(),
655
+ icInstagramOriginal: require_icInstagramOriginal(),
656
+ icLinkedInNegative: require_icLinkedInNegative(),
657
+ icLinkedInOriginal: require_icLinkedInOriginal(),
658
+ icMediumNegative: require_icMediumNegative(),
659
+ icMediumOriginal: require_icMediumOriginal(),
660
+ icMessengerNegative: require_icMessengerNegative(),
661
+ icMessengerOriginal: require_icMessengerOriginal(),
662
+ icPinterestNegative: require_icPinterestNegative(),
663
+ icPinterestOriginal: require_icPinterestOriginal(),
664
+ icRedditNegative: require_icRedditNegative(),
665
+ icRedditOriginal: require_icRedditOriginal(),
666
+ icSignalNegative: require_icSignalNegative(),
667
+ icSignalOriginal: require_icSignalOriginal(),
668
+ icSnapchatNegative: require_icSnapchatNegative(),
669
+ icSnapchatOriginal: require_icSnapchatOriginal(),
670
+ icSpotifyNegative: require_icSpotifyNegative(),
671
+ icSpotifyOriginal: require_icSpotifyOriginal(),
672
+ icTelegramNegative: require_icTelegramNegative(),
673
+ icTelegramOriginal: require_icTelegramOriginal(),
674
+ icThreadsNegative: require_icThreadsNegative(),
675
+ icThreadsOriginal: require_icThreadsOriginal(),
676
+ icTikTokNegative: require_icTikTokNegative(),
677
+ icTikTokOriginal: require_icTikTokOriginal(),
678
+ icTumblrNegative: require_icTumblrNegative(),
679
+ icTumblrOriginal: require_icTumblrOriginal(),
680
+ icTwitchNegative: require_icTwitchNegative(),
681
+ icTwitchOriginal: require_icTwitchOriginal(),
682
+ icVKNegative: require_icVKNegative(),
683
+ icVKOriginal: require_icVKOriginal(),
684
+ icWhatsAppNegative: require_icWhatsAppNegative(),
685
+ icWhatsAppOriginal: require_icWhatsAppOriginal(),
686
+ icXTwitterNegative: require_icXTwitterNegative(),
687
+ icXTwitterOriginal: require_icXTwitterOriginal(),
688
+ icYouTubeNegative: require_icYouTubeNegative(),
689
+ icYouTubeOriginal: require_icYouTubeOriginal()
690
+ }
691
+ };
692
+
693
+ // src/theme/theme.ts
694
+ var BaseTheme = {
695
+ primary: {
696
+ default: colors_default.primary[600],
697
+ hover: colors_default.primary[500]
698
+ },
699
+ background: {
700
+ screen: colors_default.gray[50],
701
+ surface: "#FFFFFF",
702
+ selected: colors_default.primary[50],
703
+ secondary: colors_default.gray[100],
704
+ design: colors_default.primary[50]
705
+ },
706
+ input: {
707
+ background: colors_default.gray[50]
708
+ },
709
+ text: {
710
+ primary: colors_default.gray[900],
711
+ secondary: colors_default.gray[600],
712
+ muted: colors_default.gray[400],
713
+ inverse: "#FFFFFF"
714
+ },
715
+ border: {
716
+ default: colors_default.gray[300],
717
+ focused: colors_default.primary[600],
718
+ success: colors_default.green[500],
719
+ warning: colors_default.orange[500],
720
+ error: colors_default.red[500]
721
+ },
722
+ status: {
723
+ success: colors_default.green[500],
724
+ warning: colors_default.orange[500],
725
+ error: colors_default.red[500],
726
+ validating: colors_default.primary[600]
727
+ },
728
+ icon: {
729
+ default: colors_default.gray[500],
730
+ active: colors_default.primary[600],
731
+ disabled: colors_default.gray[400]
732
+ },
733
+ tabContent: {
734
+ active: colors_default.primary[600],
735
+ inactive: colors_default.gray[400]
736
+ },
737
+ skeleton: {
738
+ background: colors_default.gray[200],
739
+ componentBg: colors_default.gray[300],
740
+ highlight: "#ffffff99"
741
+ },
742
+ primaryContent: {
743
+ color: colors_default.primaryColor
744
+ }
745
+ };
746
+ var LightTheme = {
747
+ ...BaseTheme
748
+ };
749
+ var DarkTheme = {
750
+ ...BaseTheme,
751
+ primary: {
752
+ default: colors_default.primary[500],
753
+ hover: colors_default.primary[400]
754
+ },
755
+ background: {
756
+ ...BaseTheme.background,
757
+ screen: colors_default.gray[900],
758
+ surface: colors_default.gray[800],
759
+ selected: colors_default.primary[900],
760
+ secondary: colors_default.gray[900],
761
+ design: colors_default.primaryColor + 10
762
+ },
763
+ input: {
764
+ background: colors_default.gray[700]
765
+ },
766
+ text: {
767
+ ...BaseTheme.text,
768
+ primary: "#FFFFFF",
769
+ secondary: colors_default.gray[200],
770
+ muted: colors_default.gray[500],
771
+ inverse: colors_default.gray[900]
772
+ },
773
+ border: {
774
+ ...BaseTheme.border,
775
+ default: colors_default.gray[700]
776
+ },
777
+ icon: {
778
+ ...BaseTheme.icon,
779
+ default: colors_default.gray[400],
780
+ disabled: colors_default.gray[600]
781
+ },
782
+ tabContent: {
783
+ active: colors_default.white,
784
+ inactive: colors_default.gray[500]
785
+ },
786
+ skeleton: {
787
+ background: colors_default.gray[700],
788
+ componentBg: colors_default.gray[800],
789
+ highlight: "#ffffff14"
790
+ },
791
+ primaryContent: {
792
+ color: colors_default.primary[400]
793
+ }
794
+ };
795
+
796
+ // src/theme/index.ts
797
+ var getTheme = (mode) => mode === "dark" ? DarkTheme : LightTheme;
798
+
799
+ // src/context/ThemeContext.tsx
800
+ var ThemeContext = createContext({
801
+ mode: "system",
802
+ setMode: () => {
803
+ },
804
+ theme: getTheme("light"),
805
+ resolvedMode: "light"
806
+ });
807
+
808
+ // src/hooks/useTheme.ts
809
+ var useTheme = () => {
810
+ const { theme } = useContext(ThemeContext);
811
+ return theme;
812
+ };
813
+ var VARIANT_STYLES = {
814
+ display: {
815
+ fontSize: 34,
816
+ ...FontFamily({ fontWeight: "700" }),
817
+ lineHeight: 42,
818
+ letterSpacing: -0.5
819
+ },
820
+ heading: {
821
+ fontSize: 24,
822
+ ...FontFamily({ fontWeight: "700" }),
823
+ lineHeight: 32,
824
+ letterSpacing: -0.25
825
+ },
826
+ title: {
827
+ fontSize: 20,
828
+ ...FontFamily({ fontWeight: "600" }),
829
+ lineHeight: 28,
830
+ letterSpacing: 0
831
+ },
832
+ subtitle: {
833
+ fontSize: 16,
834
+ ...FontFamily({ fontWeight: "600" }),
835
+ lineHeight: 24,
836
+ letterSpacing: 0.1
837
+ },
838
+ body: {
839
+ fontSize: 14,
840
+ ...FontFamily({ fontWeight: "400" }),
841
+ lineHeight: 20,
842
+ letterSpacing: 0.15
843
+ },
844
+ caption: {
845
+ fontSize: 12,
846
+ ...FontFamily({ fontWeight: "400" }),
847
+ lineHeight: 16,
848
+ letterSpacing: 0.3
849
+ },
850
+ overline: {
851
+ fontSize: 10,
852
+ ...FontFamily({ fontWeight: "600" }),
853
+ lineHeight: 14,
854
+ letterSpacing: 1,
855
+ textTransform: "uppercase"
856
+ }
857
+ };
858
+ var COLOR_SHORTCUT_MAP = {
859
+ primary: (t) => t.text.primary,
860
+ secondary: (t) => t.text.secondary,
861
+ muted: (t) => t.text.muted,
862
+ inverse: (t) => t.text.inverse,
863
+ success: (t) => t.status.success,
864
+ error: (t) => t.status.error,
865
+ warning: (t) => t.status.warning
866
+ };
867
+ function resolveColor(color, theme) {
868
+ if (!color) return void 0;
869
+ const resolver = COLOR_SHORTCUT_MAP[color];
870
+ return resolver ? resolver(theme) : color;
871
+ }
872
+ function Text({
873
+ style,
874
+ variant,
875
+ color,
876
+ align,
877
+ uppercase,
878
+ italic,
879
+ underline,
880
+ strikethrough,
881
+ selectable = false,
882
+ numberOfLines,
883
+ ellipsizeMode = "tail",
884
+ ...props
885
+ }) {
886
+ const theme = useTheme();
887
+ const flatStyle = Array.isArray(style) ? Object.assign({}, ...style) : style;
888
+ const enhancementStyle = {};
889
+ if (variant) {
890
+ Object.assign(enhancementStyle, VARIANT_STYLES[variant]);
891
+ }
892
+ const resolvedColor = resolveColor(color, theme);
893
+ if (resolvedColor) {
894
+ enhancementStyle.color = resolvedColor;
895
+ }
896
+ if (align) {
897
+ enhancementStyle.textAlign = align;
898
+ }
899
+ if (uppercase) {
900
+ enhancementStyle.textTransform = "uppercase";
901
+ }
902
+ if (italic) {
903
+ enhancementStyle.fontStyle = "italic";
904
+ }
905
+ const decorations = [];
906
+ if (underline) decorations.push("underline");
907
+ if (strikethrough) decorations.push("line-through");
908
+ if (decorations.length > 0) {
909
+ enhancementStyle.textDecorationLine = decorations.join(
910
+ " "
911
+ );
912
+ }
913
+ const mergedFlatForFont = { ...enhancementStyle, ...flatStyle };
914
+ return /* @__PURE__ */ jsx(
915
+ Text$1,
916
+ {
917
+ ...props,
918
+ selectable,
919
+ numberOfLines,
920
+ ellipsizeMode,
921
+ style: [
922
+ FontFamily(mergedFlatForFont),
923
+ { includeFontPadding: false, textAlignVertical: "center" },
924
+ enhancementStyle,
925
+ style
926
+ ]
927
+ }
928
+ );
929
+ }
930
+
931
+ // src/config/ui_config.ts
932
+ var common = {
933
+ borderRadius: 12
934
+ };
935
+ var sizeBase = {
936
+ small: {
937
+ height: 40,
938
+ fontSize: 13,
939
+ paddingHorizontal: 6,
940
+ iconSize: 16
941
+ },
942
+ medium: {
943
+ height: 45,
944
+ fontSize: 14,
945
+ paddingHorizontal: 8,
946
+ iconSize: 18
947
+ },
948
+ large: {
949
+ height: 50,
950
+ fontSize: 15,
951
+ paddingHorizontal: 10,
952
+ iconSize: 20
953
+ }
954
+ };
955
+ var UITheme = {
956
+ button: {
957
+ sizes: {
958
+ small: { ...sizeBase.small, borderRadius: common.borderRadius },
959
+ medium: { ...sizeBase.medium, borderRadius: common.borderRadius },
960
+ large: { ...sizeBase.large, borderRadius: common.borderRadius }
961
+ }
962
+ }};
963
+
964
+ // src/components/custom-button/constants.ts
965
+ var SIZE_CONFIG = {
966
+ small: (() => {
967
+ const s = UITheme.button.sizes.small;
968
+ return {
969
+ height: s.height,
970
+ paddingHorizontal: s.paddingHorizontal,
971
+ iconSize: s.iconSize,
972
+ fontSize: s.fontSize,
973
+ borderRadius: s.borderRadius,
974
+ iconGap: Math.max(4, Math.round(s.paddingHorizontal * 0.9))
975
+ };
976
+ })(),
977
+ medium: (() => {
978
+ const s = UITheme.button.sizes.medium;
979
+ return {
980
+ height: s.height,
981
+ paddingHorizontal: s.paddingHorizontal,
982
+ iconSize: s.iconSize,
983
+ fontSize: s.fontSize,
984
+ borderRadius: s.borderRadius,
985
+ iconGap: Math.max(4, Math.round(s.paddingHorizontal * 0.9))
986
+ };
987
+ })(),
988
+ large: (() => {
989
+ const s = UITheme.button.sizes.large;
990
+ return {
991
+ height: s.height,
992
+ paddingHorizontal: s.paddingHorizontal,
993
+ iconSize: s.iconSize,
994
+ fontSize: s.fontSize,
995
+ borderRadius: s.borderRadius,
996
+ iconGap: Math.max(4, Math.round(s.paddingHorizontal * 0.9))
997
+ };
998
+ })()
999
+ };
1000
+ var VARIANT_COLORS = {
1001
+ // Solid blue background, white text
1002
+ filled: {
1003
+ bg: "#2563eb",
1004
+ bgPressed: "#1d4ed8",
1005
+ bgDisabled: "#93c5fd",
1006
+ text: "#ffffff",
1007
+ textDisabled: "#ffffffcc",
1008
+ border: "transparent",
1009
+ borderDisabled: "transparent",
1010
+ borderWidth: 0
1011
+ },
1012
+ // Bordered, transparent background, blue text
1013
+ outlined: {
1014
+ bg: "transparent",
1015
+ bgPressed: "#eff6ff",
1016
+ bgDisabled: "transparent",
1017
+ text: "#2563eb",
1018
+ textDisabled: "#93c5fd",
1019
+ border: "#2563eb",
1020
+ borderDisabled: "#93c5fd",
1021
+ borderWidth: 1.5
1022
+ },
1023
+ // Soft blue tint background, blue text
1024
+ tonal: {
1025
+ bg: "#eff6ff",
1026
+ bgPressed: "#dbeafe",
1027
+ bgDisabled: "#f8fafc",
1028
+ text: "#2563eb",
1029
+ textDisabled: "#94a3b8",
1030
+ border: "transparent",
1031
+ borderDisabled: "transparent",
1032
+ borderWidth: 0
1033
+ },
1034
+ // Solid red background, white text
1035
+ danger: {
1036
+ bg: "#ef4444",
1037
+ bgPressed: "#dc2626",
1038
+ bgDisabled: "#fca5a5",
1039
+ text: "#ffffff",
1040
+ textDisabled: "#ffffffcc",
1041
+ border: "transparent",
1042
+ borderDisabled: "transparent",
1043
+ borderWidth: 0
1044
+ },
1045
+ // Bordered red, transparent background, red text
1046
+ "danger-outlined": {
1047
+ bg: "transparent",
1048
+ bgPressed: "#fef2f2",
1049
+ bgDisabled: "transparent",
1050
+ text: "#ef4444",
1051
+ textDisabled: "#fca5a5",
1052
+ border: "#ef4444",
1053
+ borderDisabled: "#fca5a5",
1054
+ borderWidth: 1.5
1055
+ },
1056
+ // No background, subtle press feedback
1057
+ ghost: {
1058
+ bg: "transparent",
1059
+ bgPressed: "#f1f5f9",
1060
+ bgDisabled: "transparent",
1061
+ text: "#1e293b",
1062
+ textDisabled: "#94a3b8",
1063
+ border: "transparent",
1064
+ borderDisabled: "transparent",
1065
+ borderWidth: 0
1066
+ },
1067
+ // Text-only with underline
1068
+ link: {
1069
+ bg: "transparent",
1070
+ bgPressed: "transparent",
1071
+ bgDisabled: "transparent",
1072
+ text: "#2563eb",
1073
+ textDisabled: "#93c5fd",
1074
+ border: "transparent",
1075
+ borderDisabled: "transparent",
1076
+ borderWidth: 0
1077
+ }
1078
+ };
1079
+ var styles = StyleSheet.create({
1080
+ inner: {
1081
+ flex: 1,
1082
+ justifyContent: "center",
1083
+ alignItems: "center",
1084
+ flexDirection: "row"
1085
+ },
1086
+ label: {
1087
+ ...FontFamily({ fontWeight: "500" }),
1088
+ includeFontPadding: false,
1089
+ textAlignVertical: "center",
1090
+ paddingTop: 0,
1091
+ paddingBottom: 0,
1092
+ marginTop: 0,
1093
+ marginBottom: 0
1094
+ }
1095
+ });
1096
+ function CustomButton({
1097
+ label,
1098
+ icon,
1099
+ iconPosition = "left",
1100
+ size = "medium",
1101
+ variant = "filled",
1102
+ loading = false,
1103
+ loadingText,
1104
+ disabled = false,
1105
+ onPress,
1106
+ onLongPress,
1107
+ fullWidth = false,
1108
+ height: customHeight,
1109
+ borderRadius: customRadius,
1110
+ style,
1111
+ labelStyle,
1112
+ iconSize: customIconSize,
1113
+ iconColor: customIconColor,
1114
+ accessibilityLabel,
1115
+ testID,
1116
+ children
1117
+ }) {
1118
+ const sizeConf = SIZE_CONFIG[size];
1119
+ const theme = useTheme();
1120
+ const colors = useMemo(() => {
1121
+ const base = VARIANT_COLORS[variant];
1122
+ switch (variant) {
1123
+ case "filled":
1124
+ return {
1125
+ ...base,
1126
+ bg: theme.primary.default,
1127
+ bgPressed: theme.primary.hover,
1128
+ text: colors_default.white,
1129
+ border: "transparent"
1130
+ };
1131
+ case "outlined":
1132
+ return {
1133
+ ...base,
1134
+ bg: "transparent",
1135
+ bgPressed: theme.background.selected,
1136
+ text: theme.primary.default,
1137
+ border: theme.primary.default
1138
+ };
1139
+ case "tonal":
1140
+ return {
1141
+ ...base,
1142
+ bg: theme.background.selected,
1143
+ bgPressed: theme.background.secondary,
1144
+ text: theme.primary.default
1145
+ };
1146
+ case "ghost":
1147
+ return {
1148
+ ...base,
1149
+ bg: "transparent",
1150
+ bgPressed: theme.background.secondary,
1151
+ text: theme.text.primary,
1152
+ border: "transparent",
1153
+ borderWidth: 0
1154
+ };
1155
+ case "link":
1156
+ return {
1157
+ ...base,
1158
+ bg: "transparent",
1159
+ bgPressed: "transparent",
1160
+ text: theme.primary.default,
1161
+ border: "transparent",
1162
+ borderWidth: 0
1163
+ };
1164
+ case "danger":
1165
+ return { ...base };
1166
+ case "danger-outlined":
1167
+ return { ...base };
1168
+ default:
1169
+ return base;
1170
+ }
1171
+ }, [theme, variant]);
1172
+ const isDisabled = disabled || loading;
1173
+ const isIconOnly = !!icon && !label && !children;
1174
+ const btnHeight = customHeight ?? sizeConf.height;
1175
+ const resolvedRadius = customRadius ?? sizeConf.borderRadius;
1176
+ const resolvedIconSize = customIconSize ?? sizeConf.iconSize;
1177
+ const scaleAnim = useRef(new Animated.Value(1)).current;
1178
+ const handlePressIn = useCallback(() => {
1179
+ Animated.spring(scaleAnim, {
1180
+ toValue: 0.96,
1181
+ friction: 8,
1182
+ tension: 200,
1183
+ useNativeDriver: true
1184
+ }).start();
1185
+ }, [scaleAnim]);
1186
+ const handlePressOut = useCallback(() => {
1187
+ Animated.spring(scaleAnim, {
1188
+ toValue: 1,
1189
+ friction: 6,
1190
+ tension: 150,
1191
+ useNativeDriver: true
1192
+ }).start();
1193
+ }, [scaleAnim]);
1194
+ const displayLabel = loading && loadingText ? loadingText : label;
1195
+ const hasLabel = !!displayLabel || !!children;
1196
+ const iconClr = customIconColor ?? colors.text;
1197
+ const iconGapStyle = useMemo(() => {
1198
+ if (!hasLabel) return void 0;
1199
+ return {
1200
+ marginRight: iconPosition === "left" ? sizeConf.iconGap : 0,
1201
+ marginLeft: iconPosition === "right" ? sizeConf.iconGap : 0
1202
+ };
1203
+ }, [hasLabel, iconPosition, sizeConf.iconGap]);
1204
+ const renderIcon = () => {
1205
+ if (loading) {
1206
+ return /* @__PURE__ */ jsx(View, { style: iconGapStyle, children: /* @__PURE__ */ jsx(ActivityIndicator, { size: "small", color: iconClr }) });
1207
+ }
1208
+ if (!icon) return null;
1209
+ if (React.isValidElement(icon)) {
1210
+ const cloned = React.cloneElement(icon, {
1211
+ size: resolvedIconSize,
1212
+ color: iconClr
1213
+ });
1214
+ return /* @__PURE__ */ jsx(View, { style: iconGapStyle, children: cloned });
1215
+ }
1216
+ return /* @__PURE__ */ jsx(View, { style: iconGapStyle, children: icon });
1217
+ };
1218
+ const bgColor = colors.bg;
1219
+ const outerStyle = useMemo(() => {
1220
+ const base = {
1221
+ height: btnHeight,
1222
+ borderRadius: resolvedRadius,
1223
+ borderWidth: colors.borderWidth,
1224
+ overflow: "hidden",
1225
+ alignSelf: fullWidth ? "stretch" : "flex-start"
1226
+ };
1227
+ if (isIconOnly) {
1228
+ base.width = btnHeight;
1229
+ }
1230
+ return base;
1231
+ }, [btnHeight, resolvedRadius, colors.borderWidth, fullWidth, isIconOnly]);
1232
+ return /* @__PURE__ */ jsx(
1233
+ Animated.View,
1234
+ {
1235
+ style: [
1236
+ outerStyle,
1237
+ {
1238
+ backgroundColor: bgColor,
1239
+ borderColor: colors.border,
1240
+ opacity: isDisabled ? 0.5 : 1,
1241
+ transform: [{ scale: scaleAnim }]
1242
+ },
1243
+ style
1244
+ ],
1245
+ children: /* @__PURE__ */ jsxs(
1246
+ Pressable,
1247
+ {
1248
+ onPress: isDisabled ? void 0 : onPress,
1249
+ onLongPress: isDisabled ? void 0 : onLongPress,
1250
+ onPressIn: handlePressIn,
1251
+ onPressOut: handlePressOut,
1252
+ disabled: isDisabled,
1253
+ android_disableSound: false,
1254
+ android_ripple: null,
1255
+ accessibilityLabel: accessibilityLabel ?? displayLabel,
1256
+ accessibilityRole: "button",
1257
+ accessibilityState: { disabled: isDisabled, busy: loading },
1258
+ testID,
1259
+ style: [
1260
+ styles.inner,
1261
+ {
1262
+ flexDirection: iconPosition === "right" ? "row-reverse" : "row",
1263
+ paddingHorizontal: isIconOnly ? 0 : sizeConf.paddingHorizontal
1264
+ }
1265
+ ],
1266
+ children: [
1267
+ (icon || loading) && renderIcon(),
1268
+ children ? children : displayLabel ? /* @__PURE__ */ jsx(
1269
+ Text$1,
1270
+ {
1271
+ style: [
1272
+ styles.label,
1273
+ {
1274
+ fontSize: sizeConf.fontSize,
1275
+ color: colors.text,
1276
+ textDecorationLine: variant === "link" ? "underline" : "none"
1277
+ },
1278
+ labelStyle
1279
+ ],
1280
+ numberOfLines: 1,
1281
+ children: displayLabel
1282
+ }
1283
+ ) : null
1284
+ ]
1285
+ }
1286
+ )
1287
+ }
1288
+ );
1289
+ }
1290
+ var ModalViewMode = {
1291
+ centered: "centered"
1292
+ };
1293
+ var LogoutModal = ({
1294
+ visible,
1295
+ onClose,
1296
+ onLogout,
1297
+ viewMode = ModalViewMode.centered
1298
+ }) => {
1299
+ const theme = useTheme();
1300
+ const modalStyles = viewMode === ModalViewMode.centered ? getCenterModalStyles(theme) : getBottomSheetModalStyles(theme);
1301
+ const styles2 = getStyles(theme);
1302
+ const handleLogout = () => {
1303
+ onLogout?.();
1304
+ onClose();
1305
+ };
1306
+ return /* @__PURE__ */ jsx(
1307
+ Modal,
1308
+ {
1309
+ visible,
1310
+ animationType: viewMode === ModalViewMode.centered ? "fade" : "slide",
1311
+ transparent: true,
1312
+ onRequestClose: onClose,
1313
+ children: /* @__PURE__ */ jsx(View, { style: modalStyles.overlay, children: /* @__PURE__ */ jsx(View, { style: modalStyles.content, children: /* @__PURE__ */ jsxs(View, { style: styles2.container, children: [
1314
+ /* @__PURE__ */ jsx(
1315
+ Image,
1316
+ {
1317
+ source: AssetImages.sadMenImage,
1318
+ style: styles2.image,
1319
+ resizeMode: "contain"
1320
+ }
1321
+ ),
1322
+ /* @__PURE__ */ jsx(Text, { style: [modalStyles.title, { fontSize: 22 }], children: "Comeback Soon!" }),
1323
+ /* @__PURE__ */ jsx(Text, { style: styles2.description, children: "Are you sure you want to logout?" }),
1324
+ /* @__PURE__ */ jsx(
1325
+ CustomButton,
1326
+ {
1327
+ label: "Yes, Logout",
1328
+ variant: "danger",
1329
+ icon: /* @__PURE__ */ jsx(LogOut, {}),
1330
+ iconColor: colors_default.white,
1331
+ onPress: handleLogout,
1332
+ style: { width: 200, marginTop: 10 }
1333
+ }
1334
+ ),
1335
+ /* @__PURE__ */ jsx(TouchableOpacity, { style: styles2.closeIcon, onPress: onClose, children: /* @__PURE__ */ jsx(X, { color: theme.text.secondary, size: 25 }) })
1336
+ ] }) }) })
1337
+ }
1338
+ );
1339
+ };
1340
+ var getStyles = (theme) => StyleSheet.create({
1341
+ container: {
1342
+ padding: 20,
1343
+ position: "relative",
1344
+ flexDirection: "column",
1345
+ alignItems: "center",
1346
+ gap: 10
1347
+ },
1348
+ image: {
1349
+ height: 120,
1350
+ marginBottom: 10
1351
+ },
1352
+ closeIcon: {
1353
+ width: 35,
1354
+ height: 35,
1355
+ justifyContent: "center",
1356
+ alignItems: "center",
1357
+ alignSelf: "flex-end",
1358
+ position: "absolute",
1359
+ margin: 15
1360
+ },
1361
+ description: {
1362
+ fontSize: 16,
1363
+ ...FontFamily({ fontWeight: "500" }),
1364
+ color: theme?.text?.secondary,
1365
+ textAlign: "center"
1366
+ },
1367
+ buttons: {
1368
+ width: "100%",
1369
+ flexDirection: "column",
1370
+ gap: 15
1371
+ }
1372
+ });
1373
+ var LogoutModal_default = LogoutModal;
1374
+ var LogoutContext = createContext(null);
1375
+ var LogoutProvider = ({
1376
+ children
1377
+ }) => {
1378
+ const [visible, setVisible] = useState(false);
1379
+ const [options, setOptions] = useState({});
1380
+ const openLogout = (opts) => {
1381
+ setOptions(opts || {});
1382
+ setVisible(true);
1383
+ };
1384
+ const closeLogout = () => {
1385
+ setVisible(false);
1386
+ setOptions({});
1387
+ };
1388
+ return /* @__PURE__ */ jsxs(LogoutContext.Provider, { value: { openLogout, closeLogout }, children: [
1389
+ children,
1390
+ /* @__PURE__ */ jsx(
1391
+ LogoutModal_default,
1392
+ {
1393
+ visible,
1394
+ onClose: closeLogout,
1395
+ viewMode: options.viewMode,
1396
+ onLogout: () => {
1397
+ options.onLogout?.();
1398
+ }
1399
+ }
1400
+ )
1401
+ ] });
1402
+ };
1403
+ var useGlobalLogout = () => {
1404
+ const context = useContext(LogoutContext);
1405
+ if (!context) {
1406
+ throw new Error("useGlobalLogout must be used inside LogoutProvider");
1407
+ }
1408
+ return context;
1409
+ };
1410
+ var exampleScreenLayout = StyleSheet.create({
1411
+ page: {
1412
+ flex: 1,
1413
+ backgroundColor: "#f1f5f9"
1414
+ },
1415
+ pageHeading: {
1416
+ fontSize: 28,
1417
+ ...FontFamily({ fontWeight: "700" }),
1418
+ color: "#0f172a",
1419
+ letterSpacing: -0.6
1420
+ },
1421
+ pageDescription: {
1422
+ fontSize: 15,
1423
+ color: "#64748b",
1424
+ lineHeight: 22,
1425
+ marginTop: 8,
1426
+ maxWidth: 520
1427
+ },
1428
+ sectionHeading: {
1429
+ fontSize: 17,
1430
+ ...FontFamily({ fontWeight: "600" }),
1431
+ color: "#1e293b",
1432
+ marginTop: 24,
1433
+ marginBottom: 6
1434
+ },
1435
+ sectionDescription: {
1436
+ fontSize: 14,
1437
+ color: "#64748b",
1438
+ lineHeight: 20,
1439
+ marginBottom: 12
1440
+ },
1441
+ exampleBox: {
1442
+ backgroundColor: "#ffffff",
1443
+ borderRadius: 16,
1444
+ padding: 16,
1445
+ marginBottom: 16,
1446
+ borderWidth: StyleSheet.hairlineWidth,
1447
+ borderColor: "#e2e8f0",
1448
+ ...Platform.select({
1449
+ ios: {
1450
+ shadowColor: "#0f172a",
1451
+ shadowOffset: { width: 0, height: 4 },
1452
+ shadowOpacity: 0.06,
1453
+ shadowRadius: 12
1454
+ },
1455
+ android: { elevation: 3 },
1456
+ default: {}
1457
+ })
1458
+ }
1459
+ });
1460
+
1461
+ export { LogoutProvider, exampleScreenLayout, useGlobalLogout };