@smart_links/core 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/gateway.d.ts +12 -0
- package/dist/ai/gateway.d.ts.map +1 -0
- package/dist/ai/gateway.js +80 -0
- package/dist/ai/gateway.js.map +1 -0
- package/dist/ai/index.d.ts +4 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +4 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/pipelines.d.ts +7 -0
- package/dist/ai/pipelines.d.ts.map +1 -0
- package/dist/ai/pipelines.js +89 -0
- package/dist/ai/pipelines.js.map +1 -0
- package/dist/ai/types.d.ts +74 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/api.d.ts +39 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +330 -0
- package/dist/api.js.map +1 -0
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +49 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +8 -0
- package/dist/config.js.map +1 -0
- package/dist/customization/SafeAreaScreen.d.ts +12 -0
- package/dist/customization/SafeAreaScreen.d.ts.map +1 -0
- package/dist/customization/SafeAreaScreen.js +7 -0
- package/dist/customization/SafeAreaScreen.js.map +1 -0
- package/dist/customization/defaults.d.ts +8 -0
- package/dist/customization/defaults.d.ts.map +1 -0
- package/dist/customization/defaults.js +101 -0
- package/dist/customization/defaults.js.map +1 -0
- package/dist/customization/index.d.ts +6 -0
- package/dist/customization/index.d.ts.map +1 -0
- package/dist/customization/index.js +6 -0
- package/dist/customization/index.js.map +1 -0
- package/dist/customization/store.d.ts +12 -0
- package/dist/customization/store.d.ts.map +1 -0
- package/dist/customization/store.js +57 -0
- package/dist/customization/store.js.map +1 -0
- package/dist/customization/styles.d.ts +121 -0
- package/dist/customization/styles.d.ts.map +1 -0
- package/dist/customization/styles.js +123 -0
- package/dist/customization/styles.js.map +1 -0
- package/dist/customization/types.d.ts +118 -0
- package/dist/customization/types.d.ts.map +1 -0
- package/dist/customization/types.js +2 -0
- package/dist/customization/types.js.map +1 -0
- package/dist/feedback.d.ts +19 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +4 -0
- package/dist/feedback.js.map +1 -0
- package/dist/identity.d.ts +10 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +44 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/native-api.d.ts +40 -0
- package/dist/native-api.d.ts.map +1 -0
- package/dist/native-api.js +169 -0
- package/dist/native-api.js.map +1 -0
- package/package.json +36 -0
package/dist/api.js
ADDED
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { SmartLinksClient } from './client';
|
|
2
|
+
import { toFeedbackAttachmentPath, } from './feedback';
|
|
3
|
+
import { SmartLinksNativeApi } from './native-api';
|
|
4
|
+
function appendFeedbackAttachment(form, attachment) {
|
|
5
|
+
form.append('attachment', {
|
|
6
|
+
uri: attachment.uri,
|
|
7
|
+
name: attachment.name,
|
|
8
|
+
type: attachment.type,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
export class SmartLinksApi {
|
|
12
|
+
static async validatePromoCode(code) {
|
|
13
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
14
|
+
return (await SmartLinksNativeApi.validatePromoCode(code)) ?? {
|
|
15
|
+
valid: false,
|
|
16
|
+
message: 'Invalid code',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
const { data } = await SmartLinksClient.instance.v2.post('/promo-codes/validate', {
|
|
21
|
+
code,
|
|
22
|
+
});
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (isAxios404(error)) {
|
|
27
|
+
return { valid: false, message: 'Invalid code' };
|
|
28
|
+
}
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static async redeemPromoCode(code) {
|
|
33
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
34
|
+
return (await SmartLinksNativeApi.redeemPromoCode(code)) ?? {
|
|
35
|
+
success: false,
|
|
36
|
+
message: 'Invalid code',
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const { data } = await SmartLinksClient.instance.v2.post('/promo-codes/redeem', {
|
|
41
|
+
code,
|
|
42
|
+
});
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (isAxios404(error)) {
|
|
47
|
+
return { success: false, message: 'Invalid code' };
|
|
48
|
+
}
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
static async verifyApplePurchase(receiptData) {
|
|
53
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
54
|
+
return (await SmartLinksNativeApi.verifyApplePurchase(receiptData)) ?? { valid: false };
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const { data } = await SmartLinksClient.instance.v2.post('/verify/apple', {
|
|
58
|
+
receipt_data: receiptData,
|
|
59
|
+
});
|
|
60
|
+
return data;
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
return extractErrorPayload(error) ?? { valid: false };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
static async verifyGooglePurchase(productId, token) {
|
|
67
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
68
|
+
return (await SmartLinksNativeApi.verifyGooglePurchase(productId, token)) ?? {
|
|
69
|
+
valid: false,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const { data } = await SmartLinksClient.instance.v2.post('/verify/google', {
|
|
74
|
+
product_id: productId,
|
|
75
|
+
token,
|
|
76
|
+
});
|
|
77
|
+
return data;
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
return extractErrorPayload(error) ?? { valid: false };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
static async fetchApps() {
|
|
84
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
85
|
+
return SmartLinksNativeApi.fetchApps();
|
|
86
|
+
}
|
|
87
|
+
const { data } = await SmartLinksClient.instance.v1.get('/apps');
|
|
88
|
+
return data;
|
|
89
|
+
}
|
|
90
|
+
static async submitFeedback(payload) {
|
|
91
|
+
const record = payload;
|
|
92
|
+
const attachment = record.attachment ??
|
|
93
|
+
(record.attachmentPath
|
|
94
|
+
? {
|
|
95
|
+
uri: record.attachmentPath.startsWith('file://')
|
|
96
|
+
? record.attachmentPath
|
|
97
|
+
: `file://${record.attachmentPath}`,
|
|
98
|
+
name: 'attachment',
|
|
99
|
+
type: 'application/octet-stream',
|
|
100
|
+
}
|
|
101
|
+
: undefined);
|
|
102
|
+
const attachmentPath = record.attachmentPath ??
|
|
103
|
+
(attachment ? toFeedbackAttachmentPath(attachment.uri) : undefined);
|
|
104
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
105
|
+
return SmartLinksNativeApi.submitFeedback({
|
|
106
|
+
content: String(record.content ?? ''),
|
|
107
|
+
platform: String(record.platform ?? 'unknown'),
|
|
108
|
+
version: String(record.version ?? '1.0.0'),
|
|
109
|
+
name: record.name != null ? String(record.name) : undefined,
|
|
110
|
+
email: record.email != null ? String(record.email) : undefined,
|
|
111
|
+
isPremium: record.is_premium === '1' ||
|
|
112
|
+
record.is_premium === 1 ||
|
|
113
|
+
record.is_premium === true,
|
|
114
|
+
attachmentPath,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
const form = new FormData();
|
|
118
|
+
form.append('content', String(record.content ?? ''));
|
|
119
|
+
form.append('platform', String(record.platform ?? 'unknown'));
|
|
120
|
+
form.append('version', String(record.version ?? '1.0.0'));
|
|
121
|
+
if (record.email != null)
|
|
122
|
+
form.append('email', String(record.email));
|
|
123
|
+
if (record.name != null)
|
|
124
|
+
form.append('name', String(record.name));
|
|
125
|
+
if (record.is_premium != null) {
|
|
126
|
+
form.append('is_premium', record.is_premium === true || record.is_premium === 1 || record.is_premium === '1'
|
|
127
|
+
? '1'
|
|
128
|
+
: '0');
|
|
129
|
+
}
|
|
130
|
+
if (attachment)
|
|
131
|
+
appendFeedbackAttachment(form, attachment);
|
|
132
|
+
const { data } = await SmartLinksClient.instance.v1.post('/feedback', form, {
|
|
133
|
+
headers: { 'Content-Type': 'multipart/form-data' },
|
|
134
|
+
});
|
|
135
|
+
return data;
|
|
136
|
+
}
|
|
137
|
+
static async fetchAds(type) {
|
|
138
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
139
|
+
return SmartLinksNativeApi.fetchAds(type);
|
|
140
|
+
}
|
|
141
|
+
const { data } = await SmartLinksClient.instance.v1.get('/ads/fetch', {
|
|
142
|
+
params: type ? { type } : undefined,
|
|
143
|
+
});
|
|
144
|
+
return data.ads ?? data;
|
|
145
|
+
}
|
|
146
|
+
static async trackAdImpression(adId) {
|
|
147
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
148
|
+
await SmartLinksNativeApi.trackAdImpression(adId);
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
await SmartLinksClient.instance.v1.post(`/ads/${adId}/impression`);
|
|
152
|
+
}
|
|
153
|
+
static async trackAdClick(adId) {
|
|
154
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
155
|
+
await SmartLinksNativeApi.trackAdClick(adId);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
await SmartLinksClient.instance.v1.post(`/ads/${adId}/click`);
|
|
159
|
+
}
|
|
160
|
+
static async getCommunities() {
|
|
161
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
162
|
+
return SmartLinksNativeApi.getCommunities();
|
|
163
|
+
}
|
|
164
|
+
const { data } = await SmartLinksClient.instance.v1.get('/communities', {
|
|
165
|
+
params: { api_key: SmartLinksClient.instance.config.apiKey },
|
|
166
|
+
headers: { 'api-key': SmartLinksClient.instance.config.apiKey },
|
|
167
|
+
});
|
|
168
|
+
return data;
|
|
169
|
+
}
|
|
170
|
+
static async getPosts(communityId, authToken) {
|
|
171
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
172
|
+
return SmartLinksNativeApi.getPosts(communityId, authToken);
|
|
173
|
+
}
|
|
174
|
+
const { data } = await SmartLinksClient.instance.v1.get('/posts', {
|
|
175
|
+
params: { community_id: communityId },
|
|
176
|
+
headers: authToken ? { Authorization: `Bearer ${authToken}` } : undefined,
|
|
177
|
+
});
|
|
178
|
+
return data;
|
|
179
|
+
}
|
|
180
|
+
static async socialAuthGoogle(accessToken, project) {
|
|
181
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
182
|
+
const result = await SmartLinksNativeApi.socialAuthGoogle(accessToken, project);
|
|
183
|
+
if (result != null)
|
|
184
|
+
return result;
|
|
185
|
+
throw new Error('Native social auth failed');
|
|
186
|
+
}
|
|
187
|
+
const body = {
|
|
188
|
+
access_token: accessToken,
|
|
189
|
+
api_key: SmartLinksClient.instance.config.apiKey,
|
|
190
|
+
};
|
|
191
|
+
if (project)
|
|
192
|
+
body.project = project;
|
|
193
|
+
const { data } = await SmartLinksClient.instance.v1.post('/social-auth/google', body);
|
|
194
|
+
return data;
|
|
195
|
+
}
|
|
196
|
+
static async getBlogs(page = 1) {
|
|
197
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
198
|
+
const result = await SmartLinksNativeApi.getBlogs(page);
|
|
199
|
+
return result ?? {};
|
|
200
|
+
}
|
|
201
|
+
const { data } = await SmartLinksClient.instance.v1.get('/blogs', { params: { page } });
|
|
202
|
+
return data;
|
|
203
|
+
}
|
|
204
|
+
static async getBlogPost(slug) {
|
|
205
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
206
|
+
const result = await SmartLinksNativeApi.getBlogPost(slug);
|
|
207
|
+
if (result != null)
|
|
208
|
+
return result;
|
|
209
|
+
throw new Error('Blog post not found');
|
|
210
|
+
}
|
|
211
|
+
const { data } = await SmartLinksClient.instance.v1.get(`/blog-posts/${slug}`);
|
|
212
|
+
return data;
|
|
213
|
+
}
|
|
214
|
+
static async getCommunity() {
|
|
215
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
216
|
+
const result = await SmartLinksNativeApi.getCommunity();
|
|
217
|
+
return result ?? {};
|
|
218
|
+
}
|
|
219
|
+
const { data } = await SmartLinksClient.instance.v1.get('/community', {
|
|
220
|
+
params: { api_key: SmartLinksClient.instance.config.apiKey },
|
|
221
|
+
});
|
|
222
|
+
return data;
|
|
223
|
+
}
|
|
224
|
+
static async togglePostLike(postId, authToken) {
|
|
225
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
226
|
+
return SmartLinksNativeApi.togglePostLike(postId, authToken);
|
|
227
|
+
}
|
|
228
|
+
const { data } = await SmartLinksClient.instance.v1.post(`/posts/${postId}/like`, { api_key: SmartLinksClient.instance.config.apiKey }, { headers: { Authorization: `Bearer ${authToken}` } });
|
|
229
|
+
return data;
|
|
230
|
+
}
|
|
231
|
+
static async createPost(communityId, title, content, authToken) {
|
|
232
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
233
|
+
return SmartLinksNativeApi.createPost(communityId, title, content, authToken);
|
|
234
|
+
}
|
|
235
|
+
const { data } = await SmartLinksClient.instance.v1.post('/posts', { community_id: communityId, title, content }, { headers: { Authorization: `Bearer ${authToken}` } });
|
|
236
|
+
return data;
|
|
237
|
+
}
|
|
238
|
+
static async socialAuthApple(accessToken, project) {
|
|
239
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
240
|
+
const result = await SmartLinksNativeApi.socialAuthApple(accessToken, project);
|
|
241
|
+
if (result != null)
|
|
242
|
+
return result;
|
|
243
|
+
throw new Error('Native Apple social auth failed');
|
|
244
|
+
}
|
|
245
|
+
const body = {
|
|
246
|
+
access_token: accessToken,
|
|
247
|
+
api_key: SmartLinksClient.instance.config.apiKey,
|
|
248
|
+
};
|
|
249
|
+
if (project)
|
|
250
|
+
body.project = project;
|
|
251
|
+
const { data } = await SmartLinksClient.instance.v1.post('/social-auth/apple', body);
|
|
252
|
+
return data;
|
|
253
|
+
}
|
|
254
|
+
static async getComments(postId, authToken) {
|
|
255
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
256
|
+
const result = await SmartLinksNativeApi.getComments(postId, authToken);
|
|
257
|
+
return result ?? {};
|
|
258
|
+
}
|
|
259
|
+
const { data } = await SmartLinksClient.instance.v1.get('/comments', {
|
|
260
|
+
params: { post_id: postId },
|
|
261
|
+
headers: authToken ? { Authorization: `Bearer ${authToken}` } : undefined,
|
|
262
|
+
});
|
|
263
|
+
return data;
|
|
264
|
+
}
|
|
265
|
+
static async createComment(postId, content, authToken, parentId) {
|
|
266
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
267
|
+
return SmartLinksNativeApi.createComment(postId, content, authToken, parentId);
|
|
268
|
+
}
|
|
269
|
+
const body = { post_id: postId, content };
|
|
270
|
+
if (parentId)
|
|
271
|
+
body.parent_id = parentId;
|
|
272
|
+
const { data } = await SmartLinksClient.instance.v1.post('/comments', body, {
|
|
273
|
+
headers: { Authorization: `Bearer ${authToken}` },
|
|
274
|
+
});
|
|
275
|
+
return data;
|
|
276
|
+
}
|
|
277
|
+
static async toggleCommentLike(commentId, authToken) {
|
|
278
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
279
|
+
return SmartLinksNativeApi.toggleCommentLike(commentId, authToken);
|
|
280
|
+
}
|
|
281
|
+
const { data } = await SmartLinksClient.instance.v1.post(`/comments/${commentId}/like`, { api_key: SmartLinksClient.instance.config.apiKey }, { headers: { Authorization: `Bearer ${authToken}` } });
|
|
282
|
+
return data;
|
|
283
|
+
}
|
|
284
|
+
static async fetchActiveNotificationAd(options) {
|
|
285
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
286
|
+
return SmartLinksNativeApi.fetchActiveNotificationAd(options);
|
|
287
|
+
}
|
|
288
|
+
const { data } = await SmartLinksClient.instance.v1.get('/notification-ads/active', {
|
|
289
|
+
params: {
|
|
290
|
+
...(options?.appId != null ? { app_id: options.appId } : {}),
|
|
291
|
+
is_debug: options?.isDebug ?? false,
|
|
292
|
+
},
|
|
293
|
+
headers: options?.language ? { 'Accept-Language': options.language } : undefined,
|
|
294
|
+
});
|
|
295
|
+
return data;
|
|
296
|
+
}
|
|
297
|
+
static async registerDevice(payload) {
|
|
298
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
299
|
+
return SmartLinksNativeApi.registerDevice(payload);
|
|
300
|
+
}
|
|
301
|
+
const { data } = await SmartLinksClient.instance.v1.post('/devices/register', payload);
|
|
302
|
+
return data;
|
|
303
|
+
}
|
|
304
|
+
static async trackNotificationAdImpression(adId) {
|
|
305
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
306
|
+
await SmartLinksNativeApi.trackNotificationAdImpression(adId);
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
await SmartLinksClient.instance.v1.post(`/notification-ads/${adId}/impression`);
|
|
310
|
+
}
|
|
311
|
+
static async trackNotificationAdClick(adId) {
|
|
312
|
+
if (SmartLinksNativeApi.isEnabled) {
|
|
313
|
+
await SmartLinksNativeApi.trackNotificationAdClick(adId);
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
await SmartLinksClient.instance.v1.post(`/notification-ads/${adId}/click`);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
function isAxios404(error) {
|
|
320
|
+
return typeof error === 'object' && error != null && 'response' in error &&
|
|
321
|
+
error.response?.status === 404;
|
|
322
|
+
}
|
|
323
|
+
function extractErrorPayload(error) {
|
|
324
|
+
if (typeof error === 'object' && error != null && 'response' in error) {
|
|
325
|
+
const data = error.response?.data;
|
|
326
|
+
return data ?? null;
|
|
327
|
+
}
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import { SmartLinksConfig } from './config';
|
|
3
|
+
export declare class SmartLinksClient {
|
|
4
|
+
private static _instance;
|
|
5
|
+
readonly config: SmartLinksConfig;
|
|
6
|
+
readonly v1: AxiosInstance;
|
|
7
|
+
readonly v2: AxiosInstance;
|
|
8
|
+
private constructor();
|
|
9
|
+
static create(config: SmartLinksConfig): SmartLinksClient;
|
|
10
|
+
static get instance(): SmartLinksClient;
|
|
11
|
+
static get isReady(): boolean;
|
|
12
|
+
private createClient;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiC;IAEzD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAE3B,OAAO;IAMP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB;IAKzD,MAAM,KAAK,QAAQ,IAAI,gBAAgB,CAKtC;IAED,MAAM,KAAK,OAAO,IAAI,OAAO,CAE5B;IAED,OAAO,CAAC,YAAY;CA0BrB"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { SmartLinksIdentity } from './identity';
|
|
3
|
+
export class SmartLinksClient {
|
|
4
|
+
constructor(config) {
|
|
5
|
+
this.config = config;
|
|
6
|
+
this.v1 = this.createClient(config.baseUrlV1 ?? 'https://smartlinks.live/api/v1');
|
|
7
|
+
this.v2 = this.createClient(config.baseUrlV2 ?? 'https://smartlinks.live/api/v2');
|
|
8
|
+
}
|
|
9
|
+
static create(config) {
|
|
10
|
+
SmartLinksClient._instance = new SmartLinksClient(config);
|
|
11
|
+
return SmartLinksClient._instance;
|
|
12
|
+
}
|
|
13
|
+
static get instance() {
|
|
14
|
+
if (!SmartLinksClient._instance) {
|
|
15
|
+
throw new Error('SmartLinksCore is not initialized');
|
|
16
|
+
}
|
|
17
|
+
return SmartLinksClient._instance;
|
|
18
|
+
}
|
|
19
|
+
static get isReady() {
|
|
20
|
+
return SmartLinksClient._instance != null;
|
|
21
|
+
}
|
|
22
|
+
createClient(baseURL) {
|
|
23
|
+
const client = axios.create({
|
|
24
|
+
baseURL,
|
|
25
|
+
timeout: 30000,
|
|
26
|
+
headers: { 'api-key': this.config.apiKey },
|
|
27
|
+
});
|
|
28
|
+
client.interceptors.request.use(async (request) => {
|
|
29
|
+
const tracking = await SmartLinksIdentity.getTrackingData();
|
|
30
|
+
request.headers = request.headers ?? {};
|
|
31
|
+
for (const [key, value] of Object.entries(tracking)) {
|
|
32
|
+
request.headers[key] = value;
|
|
33
|
+
request.headers[key.replace(/_/g, '-')] = value;
|
|
34
|
+
}
|
|
35
|
+
const data = request.data;
|
|
36
|
+
const isMultipart = typeof FormData !== 'undefined' && data instanceof FormData;
|
|
37
|
+
if (data && typeof data === 'object' && !Array.isArray(data) && !isMultipart) {
|
|
38
|
+
request.data = { ...tracking, ...data };
|
|
39
|
+
}
|
|
40
|
+
else if (request.method?.toUpperCase() === 'POST' && data == null) {
|
|
41
|
+
request.data = tracking;
|
|
42
|
+
}
|
|
43
|
+
return request;
|
|
44
|
+
});
|
|
45
|
+
return client;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
SmartLinksClient._instance = null;
|
|
49
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,OAAO,gBAAgB;IAO3B,YAAoB,MAAwB;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,IAAI,gCAAgC,CAAC,CAAC;QAClF,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,IAAI,gCAAgC,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAwB;QACpC,gBAAgB,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,gBAAgB,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,gBAAgB,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,MAAM,KAAK,OAAO;QAChB,OAAO,gBAAgB,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,CAAC;IAEO,YAAY,CAAC,OAAe;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,OAAO;YACP,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;SAC3C,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,CAAC;YAC5D,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAClD,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,WAAW,IAAI,IAAI,YAAY,QAAQ,CAAC;YAChF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7E,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACpE,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC1B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;;AArDc,0BAAS,GAA4B,IAAI,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type SmartLinksConfig = {
|
|
2
|
+
apiKey: string;
|
|
3
|
+
isDebug?: boolean;
|
|
4
|
+
baseUrlV1?: string;
|
|
5
|
+
baseUrlV2?: string;
|
|
6
|
+
firebaseProject?: string;
|
|
7
|
+
language?: string;
|
|
8
|
+
/** When true (default), feature API calls delegate to native SDK via the bridge. */
|
|
9
|
+
useNativeApi?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const defaultConfig: (apiKey: string) => SmartLinksConfig;
|
|
12
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,gBAM7C,CAAC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAoB,EAAE,CAAC,CAAC;IAClE,MAAM;IACN,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,gCAAgC;IAC3C,SAAS,EAAE,gCAAgC;IAC3C,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ViewStyle } from 'react-native';
|
|
3
|
+
import { type Edge } from 'react-native-safe-area-context';
|
|
4
|
+
type Props = {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
style?: ViewStyle;
|
|
7
|
+
edges?: Edge[];
|
|
8
|
+
};
|
|
9
|
+
/** Wraps SDK screens so content clears notches, status bar, and home indicator. */
|
|
10
|
+
export declare function SmartLinksSafeArea({ children, style, edges, }: Props): React.JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=SafeAreaScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SafeAreaScreen.d.ts","sourceRoot":"","sources":["../../src/customization/SafeAreaScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,KAAK,IAAI,EACV,MAAM,gCAAgC,CAAC;AAExC,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,KAAK,EACL,KAAyB,GAC1B,EAAE,KAAK,qBAMP"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SafeAreaView, } from 'react-native-safe-area-context';
|
|
3
|
+
/** Wraps SDK screens so content clears notches, status bar, and home indicator. */
|
|
4
|
+
export function SmartLinksSafeArea({ children, style, edges = ['top', 'bottom'], }) {
|
|
5
|
+
return (_jsx(SafeAreaView, { style: [{ flex: 1 }, style], edges: edges, children: children }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=SafeAreaScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SafeAreaScreen.js","sourceRoot":"","sources":["../../src/customization/SafeAreaScreen.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,YAAY,GAEb,MAAM,gCAAgC,CAAC;AAQxC,mFAAmF;AACnF,MAAM,UAAU,kBAAkB,CAAC,EACjC,QAAQ,EACR,KAAK,EACL,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,GACnB;IACN,OAAO,CACL,KAAC,YAAY,IAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,YACpD,QAAQ,GACI,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SmartLinksColors, SmartLinksCustomization, SmartLinksLocale, SmartLinksNavigationConfig, SmartLinksTheme } from './types';
|
|
2
|
+
export declare const defaultSmartLinksColors: SmartLinksColors;
|
|
3
|
+
export declare const defaultSmartLinksTheme: SmartLinksTheme;
|
|
4
|
+
export declare const darkSmartLinksTheme: SmartLinksTheme;
|
|
5
|
+
export declare const defaultSmartLinksLocale: SmartLinksLocale;
|
|
6
|
+
export declare const defaultSmartLinksNavigation: SmartLinksNavigationConfig;
|
|
7
|
+
export declare const defaultSmartLinksCustomization: SmartLinksCustomization;
|
|
8
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/customization/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,uBAAuB,EAAE,gBAcrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eAYpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAmBjC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,gBAyCrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,0BAKzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,uBAK5C,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export const defaultSmartLinksColors = {
|
|
2
|
+
primary: '#4f46e5',
|
|
3
|
+
primaryForeground: '#ffffff',
|
|
4
|
+
background: '#ffffff',
|
|
5
|
+
surface: '#ffffff',
|
|
6
|
+
text: '#111827',
|
|
7
|
+
muted: '#6b7280',
|
|
8
|
+
border: '#e5e7eb',
|
|
9
|
+
danger: '#dc2626',
|
|
10
|
+
success: '#059669',
|
|
11
|
+
link: '#4f46e5',
|
|
12
|
+
inputBackground: '#ffffff',
|
|
13
|
+
cardBackground: '#f3f4f6',
|
|
14
|
+
bannerFallback: '#111827',
|
|
15
|
+
};
|
|
16
|
+
export const defaultSmartLinksTheme = {
|
|
17
|
+
colors: defaultSmartLinksColors,
|
|
18
|
+
typography: {
|
|
19
|
+
titleSize: 22,
|
|
20
|
+
bodySize: 16,
|
|
21
|
+
captionSize: 13,
|
|
22
|
+
titleWeight: '700',
|
|
23
|
+
bodyWeight: '400',
|
|
24
|
+
buttonWeight: '600',
|
|
25
|
+
},
|
|
26
|
+
spacing: { xs: 4, sm: 8, md: 12, lg: 16, xl: 24 },
|
|
27
|
+
radii: { sm: 6, md: 10, lg: 16, full: 999 },
|
|
28
|
+
};
|
|
29
|
+
export const darkSmartLinksTheme = {
|
|
30
|
+
colors: {
|
|
31
|
+
primary: '#818cf8',
|
|
32
|
+
primaryForeground: '#0f172a',
|
|
33
|
+
background: '#0f172a',
|
|
34
|
+
surface: '#1e293b',
|
|
35
|
+
text: '#f8fafc',
|
|
36
|
+
muted: '#94a3b8',
|
|
37
|
+
border: '#334155',
|
|
38
|
+
danger: '#f87171',
|
|
39
|
+
success: '#34d399',
|
|
40
|
+
link: '#818cf8',
|
|
41
|
+
inputBackground: '#1e293b',
|
|
42
|
+
cardBackground: '#1e293b',
|
|
43
|
+
bannerFallback: '#020617',
|
|
44
|
+
},
|
|
45
|
+
typography: defaultSmartLinksTheme.typography,
|
|
46
|
+
spacing: defaultSmartLinksTheme.spacing,
|
|
47
|
+
radii: defaultSmartLinksTheme.radii,
|
|
48
|
+
};
|
|
49
|
+
export const defaultSmartLinksLocale = {
|
|
50
|
+
feedback: {
|
|
51
|
+
title: 'Send Feedback',
|
|
52
|
+
contentPlaceholder: 'Tell us what you think',
|
|
53
|
+
emailPlaceholder: 'Email (optional)',
|
|
54
|
+
submit: 'Submit',
|
|
55
|
+
submitting: 'Submitting…',
|
|
56
|
+
emptyContentTitle: 'Feedback',
|
|
57
|
+
emptyContentMessage: 'Please enter your feedback.',
|
|
58
|
+
successTitle: 'Thank you',
|
|
59
|
+
successMessage: 'Your feedback was submitted.',
|
|
60
|
+
errorTitle: 'Error',
|
|
61
|
+
attachFile: 'Add attachment',
|
|
62
|
+
attachmentLabel: 'Attachment',
|
|
63
|
+
removeAttachment: 'Remove',
|
|
64
|
+
pickErrorTitle: 'Attachment',
|
|
65
|
+
pickErrorMessage: 'Install react-native-document-picker or pass pickAttachment to FeedbackScreen.',
|
|
66
|
+
},
|
|
67
|
+
apps: {
|
|
68
|
+
empty: 'No apps available.',
|
|
69
|
+
defaultAppName: 'App',
|
|
70
|
+
},
|
|
71
|
+
community: {
|
|
72
|
+
signInGoogle: 'Sign in with Google',
|
|
73
|
+
signInRequiredTitle: 'Google Sign-In required',
|
|
74
|
+
signInRequiredMessage: 'Provide googleAccessToken from @react-native-google-signin/google-signin',
|
|
75
|
+
back: '← Back',
|
|
76
|
+
empty: 'No communities yet.',
|
|
77
|
+
defaultCommunityName: 'Community',
|
|
78
|
+
defaultPostTitle: 'Post',
|
|
79
|
+
},
|
|
80
|
+
blogs: {
|
|
81
|
+
back: '← Back',
|
|
82
|
+
empty: 'No blog posts yet.',
|
|
83
|
+
defaultPostTitle: 'Blog post',
|
|
84
|
+
},
|
|
85
|
+
ads: {
|
|
86
|
+
defaultAdName: 'SmartLinks Ad',
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
export const defaultSmartLinksNavigation = {
|
|
90
|
+
feedback: 'SmartLinksFeedback',
|
|
91
|
+
apps: 'SmartLinksApps',
|
|
92
|
+
community: 'SmartLinksCommunity',
|
|
93
|
+
blogs: 'SmartLinksBlogs',
|
|
94
|
+
};
|
|
95
|
+
export const defaultSmartLinksCustomization = {
|
|
96
|
+
theme: defaultSmartLinksTheme,
|
|
97
|
+
locale: defaultSmartLinksLocale,
|
|
98
|
+
navigation: defaultSmartLinksNavigation,
|
|
99
|
+
metadata: { appVersion: '1.0.0', isPremium: false },
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/customization/defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/customization/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/customization/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DeepPartial, SmartLinksCustomization } from './types';
|
|
2
|
+
export declare function mergeCustomization(base: SmartLinksCustomization, patch?: DeepPartial<SmartLinksCustomization>): SmartLinksCustomization;
|
|
3
|
+
type Listener = () => void;
|
|
4
|
+
export declare function getSmartLinksCustomization(): SmartLinksCustomization;
|
|
5
|
+
export declare function applySmartLinksCustomization(patch?: DeepPartial<SmartLinksCustomization>): SmartLinksCustomization;
|
|
6
|
+
export declare function updateSmartLinksCustomization(patch: DeepPartial<SmartLinksCustomization>): SmartLinksCustomization;
|
|
7
|
+
/** @deprecated Use applySmartLinksCustomization or updateSmartLinksCustomization */
|
|
8
|
+
export declare function setSmartLinksCustomization(patch?: DeepPartial<SmartLinksCustomization>): SmartLinksCustomization;
|
|
9
|
+
export declare function resetSmartLinksCustomization(): void;
|
|
10
|
+
export declare function subscribeSmartLinksCustomization(listener: Listener): () => void;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=store.d.ts.map
|