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