@capgo/capacitor-pretty-toast 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CapgoCapacitorPrettyToast.podspec +17 -0
  2. package/LICENSE +373 -0
  3. package/Package.swift +28 -0
  4. package/README.md +341 -0
  5. package/android/build.gradle +71 -0
  6. package/android/src/main/AndroidManifest.xml +6 -0
  7. package/android/src/main/java/com/toast/PrettyToastPlugin.kt +197 -0
  8. package/android/src/main/java/com/toast/ToastOverlay.kt +495 -0
  9. package/android/src/main/java/com/toast/anim/CutoutMorphAnimator.kt +235 -0
  10. package/android/src/main/java/com/toast/anim/SlideAnimator.kt +64 -0
  11. package/android/src/main/java/com/toast/anim/ToastAnimator.kt +23 -0
  12. package/android/src/main/java/com/toast/backdrop/BackdropSampler.kt +142 -0
  13. package/android/src/main/java/com/toast/backdrop/OutlineController.kt +100 -0
  14. package/android/src/main/java/com/toast/cutout/CutoutDetector.kt +88 -0
  15. package/android/src/main/java/com/toast/cutout/CutoutInfo.kt +28 -0
  16. package/android/src/main/java/com/toast/gesture/ToastGestureHandler.kt +68 -0
  17. package/android/src/main/java/com/toast/ui/IconMapper.kt +26 -0
  18. package/android/src/main/java/com/toast/ui/PassThroughFrameLayout.kt +53 -0
  19. package/android/src/main/java/com/toast/ui/ToastViewFactory.kt +224 -0
  20. package/android/src/main/java/com/toast/util/Density.kt +17 -0
  21. package/android/src/main/java/com/toast/util/StatusBarController.kt +24 -0
  22. package/android/src/main/java/com/toast/util/ToastConstants.kt +36 -0
  23. package/android/src/main/res/.gitkeep +0 -0
  24. package/android/src/main/res/drawable/ic_arrow_downward.xml +9 -0
  25. package/android/src/main/res/drawable/ic_arrow_upward.xml +9 -0
  26. package/android/src/main/res/drawable/ic_cancel.xml +9 -0
  27. package/android/src/main/res/drawable/ic_check_circle.xml +9 -0
  28. package/android/src/main/res/drawable/ic_favorite.xml +9 -0
  29. package/android/src/main/res/drawable/ic_info.xml +9 -0
  30. package/android/src/main/res/drawable/ic_mail.xml +9 -0
  31. package/android/src/main/res/drawable/ic_notifications.xml +9 -0
  32. package/android/src/main/res/drawable/ic_touch_app.xml +9 -0
  33. package/android/src/main/res/drawable/ic_warning.xml +9 -0
  34. package/android/src/main/res/drawable/ic_wifi.xml +9 -0
  35. package/android/src/main/res/values/colors.xml +3 -0
  36. package/android/src/main/res/values/strings.xml +3 -0
  37. package/android/src/main/res/values/styles.xml +3 -0
  38. package/android/src/test/java/com/toast/PrettyToastPluginTest.kt +26 -0
  39. package/dist/docs.json +459 -0
  40. package/dist/esm/controller.d.ts +30 -0
  41. package/dist/esm/controller.js +271 -0
  42. package/dist/esm/controller.js.map +1 -0
  43. package/dist/esm/definitions.d.ts +144 -0
  44. package/dist/esm/definitions.js +2 -0
  45. package/dist/esm/definitions.js.map +1 -0
  46. package/dist/esm/driver.d.ts +19 -0
  47. package/dist/esm/driver.js +24 -0
  48. package/dist/esm/driver.js.map +1 -0
  49. package/dist/esm/icons.d.ts +14 -0
  50. package/dist/esm/icons.js +138 -0
  51. package/dist/esm/icons.js.map +1 -0
  52. package/dist/esm/index.d.ts +2 -0
  53. package/dist/esm/index.js +2 -0
  54. package/dist/esm/index.js.map +1 -0
  55. package/dist/esm/internal-plugin.d.ts +2 -0
  56. package/dist/esm/internal-plugin.js +5 -0
  57. package/dist/esm/internal-plugin.js.map +1 -0
  58. package/dist/esm/internal-types.d.ts +31 -0
  59. package/dist/esm/internal-types.js +2 -0
  60. package/dist/esm/internal-types.js.map +1 -0
  61. package/dist/esm/toast.d.ts +1 -0
  62. package/dist/esm/toast.js +5 -0
  63. package/dist/esm/toast.js.map +1 -0
  64. package/dist/esm/web-renderer.d.ts +36 -0
  65. package/dist/esm/web-renderer.js +296 -0
  66. package/dist/esm/web-renderer.js.map +1 -0
  67. package/dist/esm/web.d.ts +10 -0
  68. package/dist/esm/web.js +28 -0
  69. package/dist/esm/web.js.map +1 -0
  70. package/dist/plugin.cjs.js +770 -0
  71. package/dist/plugin.cjs.js.map +1 -0
  72. package/dist/plugin.js +773 -0
  73. package/dist/plugin.js.map +1 -0
  74. package/ios/Sources/PrettyToastPlugin/CustomHostingView.swift +13 -0
  75. package/ios/Sources/PrettyToastPlugin/PassThroughWindow.swift +143 -0
  76. package/ios/Sources/PrettyToastPlugin/PrettyToastColorParser.swift +94 -0
  77. package/ios/Sources/PrettyToastPlugin/PrettyToastPlugin.swift +138 -0
  78. package/ios/Sources/PrettyToastPlugin/PrettyToastView.swift +267 -0
  79. package/ios/Sources/PrettyToastPlugin/Toast.swift +29 -0
  80. package/ios/Sources/PrettyToastPlugin/ToastManager.swift +392 -0
  81. package/ios/Tests/PrettyToastPluginTests/PrettyToastPluginTests.swift +21 -0
  82. package/package.json +98 -0
  83. package/scripts/check-capacitor-plugin-wiring.mjs +254 -0
  84. package/scripts/deploy-example-capgo.mjs +86 -0
  85. package/scripts/test-ios.sh +14 -0
package/dist/docs.json ADDED
@@ -0,0 +1,459 @@
1
+ {
2
+ "api": {
3
+ "name": "PrettyToastPlugin",
4
+ "slug": "prettytoastplugin",
5
+ "docs": "Public toast controller exposed as `toast`.",
6
+ "tags": [],
7
+ "methods": [
8
+ {
9
+ "name": "show",
10
+ "signature": "(config: ToastConfig, options?: ShowOptions | undefined) => string",
11
+ "parameters": [
12
+ {
13
+ "name": "config",
14
+ "docs": "",
15
+ "type": "ToastConfig"
16
+ },
17
+ {
18
+ "name": "options",
19
+ "docs": "",
20
+ "type": "ShowOptions | undefined"
21
+ }
22
+ ],
23
+ "returns": "string",
24
+ "tags": [],
25
+ "docs": "Show a custom toast and return its id.",
26
+ "complexTypes": [
27
+ "ToastConfig",
28
+ "ShowOptions"
29
+ ],
30
+ "slug": "show"
31
+ },
32
+ {
33
+ "name": "success",
34
+ "signature": "(title: string, config?: ToastConfig | undefined, options?: ShowOptions | undefined) => string",
35
+ "parameters": [
36
+ {
37
+ "name": "title",
38
+ "docs": "",
39
+ "type": "string"
40
+ },
41
+ {
42
+ "name": "config",
43
+ "docs": "",
44
+ "type": "ToastConfig | undefined"
45
+ },
46
+ {
47
+ "name": "options",
48
+ "docs": "",
49
+ "type": "ShowOptions | undefined"
50
+ }
51
+ ],
52
+ "returns": "string",
53
+ "tags": [],
54
+ "docs": "Show a success toast.",
55
+ "complexTypes": [
56
+ "ToastConfig",
57
+ "ShowOptions"
58
+ ],
59
+ "slug": "success"
60
+ },
61
+ {
62
+ "name": "error",
63
+ "signature": "(title: string, config?: ToastConfig | undefined, options?: ShowOptions | undefined) => string",
64
+ "parameters": [
65
+ {
66
+ "name": "title",
67
+ "docs": "",
68
+ "type": "string"
69
+ },
70
+ {
71
+ "name": "config",
72
+ "docs": "",
73
+ "type": "ToastConfig | undefined"
74
+ },
75
+ {
76
+ "name": "options",
77
+ "docs": "",
78
+ "type": "ShowOptions | undefined"
79
+ }
80
+ ],
81
+ "returns": "string",
82
+ "tags": [],
83
+ "docs": "Show an error toast.",
84
+ "complexTypes": [
85
+ "ToastConfig",
86
+ "ShowOptions"
87
+ ],
88
+ "slug": "error"
89
+ },
90
+ {
91
+ "name": "info",
92
+ "signature": "(title: string, config?: ToastConfig | undefined, options?: ShowOptions | undefined) => string",
93
+ "parameters": [
94
+ {
95
+ "name": "title",
96
+ "docs": "",
97
+ "type": "string"
98
+ },
99
+ {
100
+ "name": "config",
101
+ "docs": "",
102
+ "type": "ToastConfig | undefined"
103
+ },
104
+ {
105
+ "name": "options",
106
+ "docs": "",
107
+ "type": "ShowOptions | undefined"
108
+ }
109
+ ],
110
+ "returns": "string",
111
+ "tags": [],
112
+ "docs": "Show an informational toast.",
113
+ "complexTypes": [
114
+ "ToastConfig",
115
+ "ShowOptions"
116
+ ],
117
+ "slug": "info"
118
+ },
119
+ {
120
+ "name": "warning",
121
+ "signature": "(title: string, config?: ToastConfig | undefined, options?: ShowOptions | undefined) => string",
122
+ "parameters": [
123
+ {
124
+ "name": "title",
125
+ "docs": "",
126
+ "type": "string"
127
+ },
128
+ {
129
+ "name": "config",
130
+ "docs": "",
131
+ "type": "ToastConfig | undefined"
132
+ },
133
+ {
134
+ "name": "options",
135
+ "docs": "",
136
+ "type": "ShowOptions | undefined"
137
+ }
138
+ ],
139
+ "returns": "string",
140
+ "tags": [],
141
+ "docs": "Show a warning toast.",
142
+ "complexTypes": [
143
+ "ToastConfig",
144
+ "ShowOptions"
145
+ ],
146
+ "slug": "warning"
147
+ },
148
+ {
149
+ "name": "loading",
150
+ "signature": "(title: string, config?: ToastConfig | undefined, options?: ShowOptions | undefined) => string",
151
+ "parameters": [
152
+ {
153
+ "name": "title",
154
+ "docs": "",
155
+ "type": "string"
156
+ },
157
+ {
158
+ "name": "config",
159
+ "docs": "",
160
+ "type": "ToastConfig | undefined"
161
+ },
162
+ {
163
+ "name": "options",
164
+ "docs": "",
165
+ "type": "ShowOptions | undefined"
166
+ }
167
+ ],
168
+ "returns": "string",
169
+ "tags": [],
170
+ "docs": "Show a loading toast. Loading toasts do not auto-dismiss by default.",
171
+ "complexTypes": [
172
+ "ToastConfig",
173
+ "ShowOptions"
174
+ ],
175
+ "slug": "loading"
176
+ },
177
+ {
178
+ "name": "update",
179
+ "signature": "(id: string, partial: ToastConfig) => void",
180
+ "parameters": [
181
+ {
182
+ "name": "id",
183
+ "docs": "",
184
+ "type": "string"
185
+ },
186
+ {
187
+ "name": "partial",
188
+ "docs": "",
189
+ "type": "ToastConfig"
190
+ }
191
+ ],
192
+ "returns": "void",
193
+ "tags": [],
194
+ "docs": "Update an existing toast by id.",
195
+ "complexTypes": [
196
+ "ToastConfig"
197
+ ],
198
+ "slug": "update"
199
+ },
200
+ {
201
+ "name": "promise",
202
+ "signature": "<T>(promise: Promise<T>, messages: PromiseMessages<T>) => Promise<T>",
203
+ "parameters": [
204
+ {
205
+ "name": "promise",
206
+ "docs": "",
207
+ "type": "Promise<T>"
208
+ },
209
+ {
210
+ "name": "messages",
211
+ "docs": "",
212
+ "type": "PromiseMessages<T>"
213
+ }
214
+ ],
215
+ "returns": "Promise<T>",
216
+ "tags": [],
217
+ "docs": "Show a loading toast while a promise is pending, then update it for success or error.",
218
+ "complexTypes": [
219
+ "T",
220
+ "PromiseMessages"
221
+ ],
222
+ "slug": "promise"
223
+ },
224
+ {
225
+ "name": "dismiss",
226
+ "signature": "(id?: string | undefined) => void",
227
+ "parameters": [
228
+ {
229
+ "name": "id",
230
+ "docs": "",
231
+ "type": "string | undefined"
232
+ }
233
+ ],
234
+ "returns": "void",
235
+ "tags": [],
236
+ "docs": "Dismiss one toast by id, or the current toast when no id is provided.",
237
+ "complexTypes": [],
238
+ "slug": "dismiss"
239
+ },
240
+ {
241
+ "name": "dismissAll",
242
+ "signature": "() => void",
243
+ "parameters": [],
244
+ "returns": "void",
245
+ "tags": [],
246
+ "docs": "Dismiss the current toast and clear the queue.",
247
+ "complexTypes": [],
248
+ "slug": "dismissall"
249
+ }
250
+ ],
251
+ "properties": []
252
+ },
253
+ "interfaces": [
254
+ {
255
+ "name": "ToastConfig",
256
+ "slug": "toastconfig",
257
+ "docs": "",
258
+ "tags": [],
259
+ "methods": [],
260
+ "properties": [
261
+ {
262
+ "name": "id",
263
+ "tags": [],
264
+ "docs": "Optional stable toast id. A generated id is returned when omitted.",
265
+ "complexTypes": [],
266
+ "type": "string | undefined"
267
+ },
268
+ {
269
+ "name": "icon",
270
+ "tags": [],
271
+ "docs": "Accepts either an SF-symbol-like identifier or raw SVG markup.\nSVG mode is enabled only when the string starts with `<svg` after trim.",
272
+ "complexTypes": [],
273
+ "type": "string | undefined"
274
+ },
275
+ {
276
+ "name": "iconSource",
277
+ "tags": [],
278
+ "docs": "URI-like image source. Supports `https://`, `http://`, `file://`,\nabsolute file paths, `data:` URLs, `blob:` URLs, or `{ uri }`.\n\n`iconSource` always wins over `icon`.",
279
+ "complexTypes": [
280
+ "IconSource"
281
+ ],
282
+ "type": "IconSource"
283
+ },
284
+ {
285
+ "name": "title",
286
+ "tags": [],
287
+ "docs": "Main toast title.",
288
+ "complexTypes": [],
289
+ "type": "string | undefined"
290
+ },
291
+ {
292
+ "name": "message",
293
+ "tags": [],
294
+ "docs": "Secondary toast message.",
295
+ "complexTypes": [],
296
+ "type": "string | undefined"
297
+ },
298
+ {
299
+ "name": "duration",
300
+ "tags": [],
301
+ "docs": "Auto-dismiss delay in milliseconds.",
302
+ "complexTypes": [],
303
+ "type": "number | undefined"
304
+ },
305
+ {
306
+ "name": "autoDismiss",
307
+ "tags": [],
308
+ "docs": "Whether the toast dismisses itself after `duration`.",
309
+ "complexTypes": [],
310
+ "type": "boolean | undefined"
311
+ },
312
+ {
313
+ "name": "enableSwipeDismiss",
314
+ "tags": [],
315
+ "docs": "Whether swipe-to-dismiss is enabled on native overlays.",
316
+ "complexTypes": [],
317
+ "type": "boolean | undefined"
318
+ },
319
+ {
320
+ "name": "accentColor",
321
+ "tags": [],
322
+ "docs": "CSS-style accent color used by native/web renderers.",
323
+ "complexTypes": [],
324
+ "type": "string | undefined"
325
+ },
326
+ {
327
+ "name": "strokeColor",
328
+ "tags": [],
329
+ "docs": "CSS-style border/stroke color.",
330
+ "complexTypes": [],
331
+ "type": "string | undefined"
332
+ },
333
+ {
334
+ "name": "disableBackdropSampling",
335
+ "tags": [],
336
+ "docs": "Disable Android/iOS backdrop sampling behind the toast.",
337
+ "complexTypes": [],
338
+ "type": "boolean | undefined"
339
+ },
340
+ {
341
+ "name": "action",
342
+ "tags": [],
343
+ "docs": "Optional action button configuration.",
344
+ "complexTypes": [
345
+ "ToastAction"
346
+ ],
347
+ "type": "ToastAction"
348
+ },
349
+ {
350
+ "name": "accessibilityAnnouncement",
351
+ "tags": [],
352
+ "docs": "Text announced to assistive technologies when the toast is shown.",
353
+ "complexTypes": [],
354
+ "type": "string | undefined"
355
+ },
356
+ {
357
+ "name": "onPress",
358
+ "tags": [],
359
+ "docs": "Called when the toast body is pressed.",
360
+ "complexTypes": [],
361
+ "type": "(() => void) | undefined"
362
+ },
363
+ {
364
+ "name": "onShow",
365
+ "tags": [],
366
+ "docs": "Called when the toast becomes visible.",
367
+ "complexTypes": [],
368
+ "type": "(() => void) | undefined"
369
+ },
370
+ {
371
+ "name": "onHide",
372
+ "tags": [],
373
+ "docs": "Called when the toast is dismissed.",
374
+ "complexTypes": [],
375
+ "type": "(() => void) | undefined"
376
+ },
377
+ {
378
+ "name": "onAutoDismiss",
379
+ "tags": [],
380
+ "docs": "Called when the toast is dismissed by its timer.",
381
+ "complexTypes": [],
382
+ "type": "(() => void) | undefined"
383
+ }
384
+ ]
385
+ },
386
+ {
387
+ "name": "ToastAction",
388
+ "slug": "toastaction",
389
+ "docs": "",
390
+ "tags": [],
391
+ "methods": [],
392
+ "properties": [
393
+ {
394
+ "name": "label",
395
+ "tags": [],
396
+ "docs": "Text shown for the native/web action button.",
397
+ "complexTypes": [],
398
+ "type": "string"
399
+ },
400
+ {
401
+ "name": "onPress",
402
+ "tags": [],
403
+ "docs": "Called when the action button is pressed.",
404
+ "complexTypes": [],
405
+ "type": "() => void"
406
+ }
407
+ ]
408
+ },
409
+ {
410
+ "name": "ShowOptions",
411
+ "slug": "showoptions",
412
+ "docs": "",
413
+ "tags": [],
414
+ "methods": [],
415
+ "properties": [
416
+ {
417
+ "name": "force",
418
+ "tags": [],
419
+ "docs": "Dismiss the current toast and show this one immediately.",
420
+ "complexTypes": [],
421
+ "type": "boolean | undefined"
422
+ }
423
+ ]
424
+ }
425
+ ],
426
+ "enums": [],
427
+ "typeAliases": [
428
+ {
429
+ "name": "IconSource",
430
+ "slug": "iconsource",
431
+ "docs": "",
432
+ "types": [
433
+ {
434
+ "text": "string",
435
+ "complexTypes": []
436
+ },
437
+ {
438
+ "text": "{ uri: string }",
439
+ "complexTypes": []
440
+ }
441
+ ]
442
+ },
443
+ {
444
+ "name": "PromiseMessages",
445
+ "slug": "promisemessages",
446
+ "docs": "",
447
+ "types": [
448
+ {
449
+ "text": "{\n loading: string | ToastConfig;\n success: string | ((value: T) => string | ToastConfig);\n error: string | ((error: unknown) => string | ToastConfig);\n}",
450
+ "complexTypes": [
451
+ "ToastConfig",
452
+ "T"
453
+ ]
454
+ }
455
+ ]
456
+ }
457
+ ],
458
+ "pluginConfigs": []
459
+ }
@@ -0,0 +1,30 @@
1
+ import type { PromiseMessages, ShowOptions, ToastConfig, ToastRef } from './definitions';
2
+ import type { ToastDriver } from './driver';
3
+ export declare class ToastController {
4
+ private readonly driver;
5
+ private queue;
6
+ private current;
7
+ private isShowing;
8
+ private idCounter;
9
+ private autoDismissTimer;
10
+ private autoDismissed;
11
+ readonly ref: ToastRef;
12
+ constructor(driver: ToastDriver);
13
+ show(config: ToastConfig, options?: ShowOptions): string;
14
+ update(id: string, partial: Partial<Omit<ToastConfig, 'id'>>): void;
15
+ dismiss(id?: string): void;
16
+ dismissAll(): void;
17
+ promise<T>(promise: Promise<T>, messages: PromiseMessages<T>): Promise<T>;
18
+ private showVariant;
19
+ private presentToast;
20
+ private showNext;
21
+ private handleDismiss;
22
+ private handlePress;
23
+ private handleActionPress;
24
+ private armAutoDismissTimer;
25
+ private clearAutoDismissTimer;
26
+ private hydrateEntry;
27
+ private buildPayload;
28
+ private prepareSvgIcon;
29
+ private generateId;
30
+ }