@capgo/capacitor-pretty-toast 8.1.1 → 8.1.3
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/esm/controller.js +23 -12
- package/dist/esm/controller.js.map +1 -1
- package/dist/esm/icons.js +12 -1
- package/dist/esm/icons.js.map +1 -1
- package/dist/plugin.cjs.js +35 -13
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +35 -13
- package/dist/plugin.js.map +1 -1
- package/ios/Sources/PrettyToastPlugin/PassThroughWindow.swift +10 -14
- package/ios/Sources/PrettyToastPlugin/PrettyToastView.swift +54 -26
- package/ios/Sources/PrettyToastPlugin/ToastManager.swift +18 -0
- package/package.json +1 -1
package/dist/esm/controller.js
CHANGED
|
@@ -6,6 +6,17 @@ const VARIANT_ICONS = {
|
|
|
6
6
|
warning: 'exclamationmark.triangle.fill',
|
|
7
7
|
loading: 'arrow.triangle.2.circlepath',
|
|
8
8
|
};
|
|
9
|
+
const TRANSPARENT_PNG_DATA_URL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO6rOewAAAAASUVORK5CYII=';
|
|
10
|
+
function resolveNativeIconUri(entry) {
|
|
11
|
+
const iconSourceUri = entry.iconSourceUri;
|
|
12
|
+
if (iconSourceUri && isNativeSafeIconUri(iconSourceUri)) {
|
|
13
|
+
return iconSourceUri;
|
|
14
|
+
}
|
|
15
|
+
if (entry.resolvedIconUri !== undefined) {
|
|
16
|
+
return entry.resolvedIconUri;
|
|
17
|
+
}
|
|
18
|
+
return entry.rawSvg || iconSourceUri ? TRANSPARENT_PNG_DATA_URL : '';
|
|
19
|
+
}
|
|
9
20
|
export class ToastController {
|
|
10
21
|
constructor(driver) {
|
|
11
22
|
this.driver = driver;
|
|
@@ -217,24 +228,24 @@ export class ToastController {
|
|
|
217
228
|
resolvedIconUri, isPreparingSvg: rawSvg ? ((_c = previous === null || previous === void 0 ? void 0 : previous.isPreparingSvg) !== null && _c !== void 0 ? _c : false) : false });
|
|
218
229
|
}
|
|
219
230
|
buildPayload(entry) {
|
|
220
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
221
|
-
const
|
|
231
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
232
|
+
const nativeIconUri = resolveNativeIconUri(entry);
|
|
222
233
|
return {
|
|
223
234
|
id: entry.id,
|
|
224
235
|
icon: entry.iconSymbol,
|
|
225
|
-
iconUri,
|
|
226
|
-
webIconUri: (
|
|
227
|
-
iconSvg: entry.iconSourceUri ? '' : ((
|
|
228
|
-
title: (
|
|
229
|
-
message: (
|
|
230
|
-
duration: (
|
|
231
|
-
autoDismiss: (
|
|
232
|
-
enableSwipeDismiss: (
|
|
236
|
+
iconUri: nativeIconUri,
|
|
237
|
+
webIconUri: (_a = entry.iconSourceUri) !== null && _a !== void 0 ? _a : nativeIconUri,
|
|
238
|
+
iconSvg: entry.iconSourceUri ? '' : ((_b = entry.rawSvg) !== null && _b !== void 0 ? _b : ''),
|
|
239
|
+
title: (_c = entry.title) !== null && _c !== void 0 ? _c : '',
|
|
240
|
+
message: (_d = entry.message) !== null && _d !== void 0 ? _d : '',
|
|
241
|
+
duration: (_e = entry.duration) !== null && _e !== void 0 ? _e : 3000,
|
|
242
|
+
autoDismiss: (_f = entry.autoDismiss) !== null && _f !== void 0 ? _f : true,
|
|
243
|
+
enableSwipeDismiss: (_g = entry.enableSwipeDismiss) !== null && _g !== void 0 ? _g : true,
|
|
233
244
|
useDynamicIsland: true,
|
|
234
245
|
accentColor: entry.accentColor,
|
|
235
246
|
strokeColor: entry.strokeColor,
|
|
236
|
-
disableBackdropSampling: (
|
|
237
|
-
actionLabel: (
|
|
247
|
+
disableBackdropSampling: (_h = entry.disableBackdropSampling) !== null && _h !== void 0 ? _h : false,
|
|
248
|
+
actionLabel: (_k = (_j = entry.action) === null || _j === void 0 ? void 0 : _j.label) !== null && _k !== void 0 ? _k : '',
|
|
238
249
|
accessibilityAnnouncement: getAccessibilityAnnouncement(entry),
|
|
239
250
|
};
|
|
240
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/icons.js
CHANGED
|
@@ -82,7 +82,18 @@ function rasterizeSvgToPngDataUrlInternal(svg) {
|
|
|
82
82
|
if (typeof window === 'undefined' || typeof document === 'undefined') {
|
|
83
83
|
return Promise.resolve(null);
|
|
84
84
|
}
|
|
85
|
-
const
|
|
85
|
+
const normalizedSvg = svg.includes('xmlns=') ? svg : svg.replace('<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
|
|
86
|
+
const encodedSvg = (() => {
|
|
87
|
+
try {
|
|
88
|
+
const bytes = new TextEncoder().encode(normalizedSvg);
|
|
89
|
+
const binaryString = Array.from(bytes, (byte) => String.fromCharCode(byte)).join('');
|
|
90
|
+
const base64 = btoa(binaryString);
|
|
91
|
+
return `data:image/svg+xml;base64,${base64}`;
|
|
92
|
+
}
|
|
93
|
+
catch (_a) {
|
|
94
|
+
return `data:image/svg+xml,${encodeURIComponent(normalizedSvg)}`;
|
|
95
|
+
}
|
|
96
|
+
})();
|
|
86
97
|
return new Promise((resolve) => {
|
|
87
98
|
const image = new Image();
|
|
88
99
|
image.onload = () => {
|
package/dist/esm/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":"AAOA,MAAM,QAAQ,GAA+B;IAC3C,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC/C,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAChD,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;AAEjE,MAAM,UAAU,SAAS,CAAC,KAAyB;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAA8B;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA0B;IACtD,MAAM,UAAU,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAA4E;IAE5E,IAAI,MAAM,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAuB;IACzD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,CACL,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QACvB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,GAAW;IACxD,IAAI,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;QAChD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACvG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;gBACnB,OAAO,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,GAAW;IACnD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -86,7 +86,18 @@ function rasterizeSvgToPngDataUrlInternal(svg) {
|
|
|
86
86
|
if (typeof window === 'undefined' || typeof document === 'undefined') {
|
|
87
87
|
return Promise.resolve(null);
|
|
88
88
|
}
|
|
89
|
-
const
|
|
89
|
+
const normalizedSvg = svg.includes('xmlns=') ? svg : svg.replace('<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
|
|
90
|
+
const encodedSvg = (() => {
|
|
91
|
+
try {
|
|
92
|
+
const bytes = new TextEncoder().encode(normalizedSvg);
|
|
93
|
+
const binaryString = Array.from(bytes, (byte) => String.fromCharCode(byte)).join('');
|
|
94
|
+
const base64 = btoa(binaryString);
|
|
95
|
+
return `data:image/svg+xml;base64,${base64}`;
|
|
96
|
+
}
|
|
97
|
+
catch (_a) {
|
|
98
|
+
return `data:image/svg+xml,${encodeURIComponent(normalizedSvg)}`;
|
|
99
|
+
}
|
|
100
|
+
})();
|
|
90
101
|
return new Promise((resolve) => {
|
|
91
102
|
const image = new Image();
|
|
92
103
|
image.onload = () => {
|
|
@@ -147,6 +158,17 @@ const VARIANT_ICONS = {
|
|
|
147
158
|
warning: 'exclamationmark.triangle.fill',
|
|
148
159
|
loading: 'arrow.triangle.2.circlepath',
|
|
149
160
|
};
|
|
161
|
+
const TRANSPARENT_PNG_DATA_URL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO6rOewAAAAASUVORK5CYII=';
|
|
162
|
+
function resolveNativeIconUri(entry) {
|
|
163
|
+
const iconSourceUri = entry.iconSourceUri;
|
|
164
|
+
if (iconSourceUri && isNativeSafeIconUri(iconSourceUri)) {
|
|
165
|
+
return iconSourceUri;
|
|
166
|
+
}
|
|
167
|
+
if (entry.resolvedIconUri !== undefined) {
|
|
168
|
+
return entry.resolvedIconUri;
|
|
169
|
+
}
|
|
170
|
+
return entry.rawSvg || iconSourceUri ? TRANSPARENT_PNG_DATA_URL : '';
|
|
171
|
+
}
|
|
150
172
|
class ToastController {
|
|
151
173
|
constructor(driver) {
|
|
152
174
|
this.driver = driver;
|
|
@@ -358,24 +380,24 @@ class ToastController {
|
|
|
358
380
|
resolvedIconUri, isPreparingSvg: rawSvg ? ((_c = previous === null || previous === void 0 ? void 0 : previous.isPreparingSvg) !== null && _c !== void 0 ? _c : false) : false });
|
|
359
381
|
}
|
|
360
382
|
buildPayload(entry) {
|
|
361
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
362
|
-
const
|
|
383
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
384
|
+
const nativeIconUri = resolveNativeIconUri(entry);
|
|
363
385
|
return {
|
|
364
386
|
id: entry.id,
|
|
365
387
|
icon: entry.iconSymbol,
|
|
366
|
-
iconUri,
|
|
367
|
-
webIconUri: (
|
|
368
|
-
iconSvg: entry.iconSourceUri ? '' : ((
|
|
369
|
-
title: (
|
|
370
|
-
message: (
|
|
371
|
-
duration: (
|
|
372
|
-
autoDismiss: (
|
|
373
|
-
enableSwipeDismiss: (
|
|
388
|
+
iconUri: nativeIconUri,
|
|
389
|
+
webIconUri: (_a = entry.iconSourceUri) !== null && _a !== void 0 ? _a : nativeIconUri,
|
|
390
|
+
iconSvg: entry.iconSourceUri ? '' : ((_b = entry.rawSvg) !== null && _b !== void 0 ? _b : ''),
|
|
391
|
+
title: (_c = entry.title) !== null && _c !== void 0 ? _c : '',
|
|
392
|
+
message: (_d = entry.message) !== null && _d !== void 0 ? _d : '',
|
|
393
|
+
duration: (_e = entry.duration) !== null && _e !== void 0 ? _e : 3000,
|
|
394
|
+
autoDismiss: (_f = entry.autoDismiss) !== null && _f !== void 0 ? _f : true,
|
|
395
|
+
enableSwipeDismiss: (_g = entry.enableSwipeDismiss) !== null && _g !== void 0 ? _g : true,
|
|
374
396
|
useDynamicIsland: true,
|
|
375
397
|
accentColor: entry.accentColor,
|
|
376
398
|
strokeColor: entry.strokeColor,
|
|
377
|
-
disableBackdropSampling: (
|
|
378
|
-
actionLabel: (
|
|
399
|
+
disableBackdropSampling: (_h = entry.disableBackdropSampling) !== null && _h !== void 0 ? _h : false,
|
|
400
|
+
actionLabel: (_k = (_j = entry.action) === null || _j === void 0 ? void 0 : _j.label) !== null && _k !== void 0 ? _k : '',
|
|
379
401
|
accessibilityAnnouncement: getAccessibilityAnnouncement(entry),
|
|
380
402
|
};
|
|
381
403
|
}
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/icons.js","esm/controller.js","esm/internal-plugin.js","esm/driver.js","esm/toast.js","esm/web-renderer.js","esm/web.js"],"sourcesContent":["const ICON_MAP = [\n ['checkmark', { glyph: '✓', color: '#30D158' }],\n ['xmark', { glyph: '✕', color: '#FF453A' }],\n ['info', { glyph: 'ℹ', color: '#0A84FF' }],\n ['exclamation', { glyph: '!', color: '#FF9F0A' }],\n ['heart', { glyph: '♥', color: '#FF375F' }],\n ['arrow.up', { glyph: '↑', color: '#0A84FF' }],\n ['arrow.down', { glyph: '↓', color: '#0A84FF' }],\n ['arrow', { glyph: '↑', color: '#0A84FF' }],\n ['envelope', { glyph: '✉', color: '#FFFFFF' }],\n ['mail', { glyph: '✉', color: '#FFFFFF' }],\n ['wifi', { glyph: '◉', color: '#FFFFFF' }],\n];\nexport const DEFAULT_ICON_SYMBOL = 'bell.badge.fill';\nconst svgRasterCache = new Map();\nexport function isSvgIcon(value) {\n return typeof value === 'string' && value.trimStart().startsWith('<svg');\n}\nexport function normalizeIconSource(source) {\n if (!source)\n return undefined;\n if (typeof source === 'string') {\n return source.trim() || undefined;\n }\n if (typeof source.uri === 'string') {\n return source.uri.trim() || undefined;\n }\n return undefined;\n}\nexport function getSymbolIcon(symbol) {\n const normalized = symbol !== null && symbol !== void 0 ? symbol : '';\n for (const [key, info] of ICON_MAP) {\n if (normalized.includes(key))\n return info;\n }\n return { glyph: null, color: '#FFFFFF' };\n}\nexport function getAccessibilityAnnouncement(config) {\n if (config.accessibilityAnnouncement !== undefined) {\n return config.accessibilityAnnouncement;\n }\n return [config.title, config.message].filter(Boolean).join('. ');\n}\nexport function isNativeSafeIconUri(uri) {\n if (!uri)\n return false;\n return (uri.startsWith('https://') ||\n uri.startsWith('http://') ||\n uri.startsWith('file://') ||\n uri.startsWith('data:') ||\n uri.startsWith('/'));\n}\nexport async function rasterizeSvgToPngDataUrl(svg) {\n let pending = svgRasterCache.get(svg);\n if (!pending) {\n pending = rasterizeSvgToPngDataUrlInternal(svg);\n svgRasterCache.set(svg, pending);\n }\n return pending;\n}\nexport async function blobUrlToDataUrl(uri) {\n if (typeof window === 'undefined' || typeof fetch === 'undefined' || typeof FileReader === 'undefined') {\n return null;\n }\n try {\n const response = await fetch(uri);\n const blob = await response.blob();\n return await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n resolve(typeof reader.result === 'string' ? reader.result : null);\n };\n reader.onerror = () => resolve(null);\n reader.readAsDataURL(blob);\n });\n }\n catch (_a) {\n return null;\n }\n}\nfunction rasterizeSvgToPngDataUrlInternal(svg) {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return Promise.resolve(null);\n }\n const encodedSvg = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`;\n return new Promise((resolve) => {\n const image = new Image();\n image.onload = () => {\n try {\n const sourceWidth = image.naturalWidth || 96;\n const sourceHeight = image.naturalHeight || 96;\n const maxSide = Math.max(sourceWidth, sourceHeight, 1);\n const scale = 128 / maxSide;\n const width = Math.max(1, Math.round(sourceWidth * scale));\n const height = Math.max(1, Math.round(sourceHeight * scale));\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const context = canvas.getContext('2d');\n if (!context) {\n resolve(null);\n return;\n }\n context.clearRect(0, 0, width, height);\n context.drawImage(image, 0, 0, width, height);\n resolve(canvas.toDataURL('image/png'));\n }\n catch (_a) {\n resolve(null);\n }\n };\n image.onerror = () => resolve(null);\n image.src = encodedSvg;\n });\n}\nexport function parseSvgElement(svgMarkup) {\n if (typeof DOMParser === 'undefined')\n return null;\n try {\n const documentNode = new DOMParser().parseFromString(svgMarkup, 'image/svg+xml');\n if (documentNode.querySelector('parsererror') || documentNode.querySelector('script')) {\n return null;\n }\n const root = documentNode.documentElement;\n if (!root || root.tagName.toLowerCase() !== 'svg')\n return null;\n const svg = root.cloneNode(true);\n svg.setAttribute('width', '40');\n svg.setAttribute('height', '40');\n svg.setAttribute('aria-hidden', 'true');\n svg.style.display = 'block';\n return svg;\n }\n catch (_a) {\n return null;\n }\n}\n//# sourceMappingURL=icons.js.map","import { blobUrlToDataUrl, getAccessibilityAnnouncement, isNativeSafeIconUri, isSvgIcon, normalizeIconSource, rasterizeSvgToPngDataUrl, DEFAULT_ICON_SYMBOL, } from './icons';\nconst VARIANT_ICONS = {\n success: 'checkmark.circle.fill',\n error: 'xmark.circle.fill',\n info: 'info.circle.fill',\n warning: 'exclamationmark.triangle.fill',\n loading: 'arrow.triangle.2.circlepath',\n};\nexport class ToastController {\n constructor(driver) {\n this.driver = driver;\n this.queue = [];\n this.current = null;\n this.isShowing = false;\n this.idCounter = 0;\n this.autoDismissTimer = null;\n this.autoDismissed = false;\n this.driver.subscribe({\n onDismiss: (event) => this.handleDismiss(event.id),\n onPress: (event) => this.handlePress(event.id),\n onActionPress: (event) => this.handleActionPress(event.id),\n });\n this.ref = {\n show: (config, options) => this.show(config, options),\n success: (title, config, options) => this.showVariant('success', title, config, options),\n error: (title, config, options) => this.showVariant('error', title, config, options),\n info: (title, config, options) => this.showVariant('info', title, config, options),\n warning: (title, config, options) => this.showVariant('warning', title, config, options),\n loading: (title, config, options) => this.showVariant('loading', title, config, options),\n update: (id, partial) => this.update(id, partial),\n promise: (promise, messages) => this.promise(promise, messages),\n dismiss: (id) => this.dismiss(id),\n dismissAll: () => this.dismissAll(),\n };\n }\n show(config, options) {\n var _a, _b;\n const id = (_a = config.id) !== null && _a !== void 0 ? _a : this.generateId();\n const entry = this.hydrateEntry(Object.assign(Object.assign({}, config), { id }));\n if ((options === null || options === void 0 ? void 0 : options.force) && this.isShowing) {\n this.queue.unshift(entry);\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss((_b = this.current) === null || _b === void 0 ? void 0 : _b.id);\n return id;\n }\n if (!this.isShowing) {\n this.presentToast(entry);\n return id;\n }\n this.queue.push(entry);\n this.prepareSvgIcon(entry);\n return id;\n }\n update(id, partial) {\n var _a;\n if (((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) === id) {\n this.current = this.hydrateEntry(Object.assign(Object.assign(Object.assign({}, this.current), partial), { id }), this.current);\n this.armAutoDismissTimer(this.current);\n void this.driver.update(this.buildPayload(this.current));\n this.prepareSvgIcon(this.current);\n return;\n }\n const index = this.queue.findIndex((entry) => entry.id === id);\n if (index === -1)\n return;\n const existing = this.queue[index];\n const updated = this.hydrateEntry(Object.assign(Object.assign(Object.assign({}, existing), partial), { id }), existing);\n this.queue[index] = updated;\n this.prepareSvgIcon(updated);\n }\n dismiss(id) {\n var _a;\n if (id && ((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n this.queue = this.queue.filter((entry) => entry.id !== id);\n return;\n }\n if (!this.current)\n return;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(this.current.id);\n }\n dismissAll() {\n this.queue = [];\n if (!this.current)\n return;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(this.current.id);\n }\n promise(promise, messages) {\n const loadingConfig = typeof messages.loading === 'string'\n ? { title: messages.loading }\n : Object.assign({}, messages.loading);\n if (loadingConfig.autoDismiss === undefined) {\n loadingConfig.autoDismiss = false;\n }\n if (!loadingConfig.icon) {\n loadingConfig.icon = VARIANT_ICONS.loading;\n }\n const id = this.show(loadingConfig);\n promise.then((value) => {\n const next = typeof messages.success === 'function' ? messages.success(value) : messages.success;\n const config = typeof next === 'string' ? { title: next } : Object.assign({}, next);\n if (!config.icon)\n config.icon = VARIANT_ICONS.success;\n if (config.autoDismiss === undefined)\n config.autoDismiss = true;\n if (config.duration === undefined)\n config.duration = 3000;\n this.update(id, config);\n }, (error) => {\n const next = typeof messages.error === 'function' ? messages.error(error) : messages.error;\n const config = typeof next === 'string' ? { title: next } : Object.assign({}, next);\n if (!config.icon)\n config.icon = VARIANT_ICONS.error;\n if (config.autoDismiss === undefined)\n config.autoDismiss = true;\n if (config.duration === undefined)\n config.duration = 3000;\n this.update(id, config);\n });\n return promise;\n }\n showVariant(variant, title, config, options) {\n var _a;\n const toastConfig = Object.assign(Object.assign({}, config), { title, icon: (_a = config === null || config === void 0 ? void 0 : config.icon) !== null && _a !== void 0 ? _a : VARIANT_ICONS[variant], _fallbackIcon: VARIANT_ICONS[variant] });\n if (variant === 'loading' && toastConfig.autoDismiss === undefined) {\n toastConfig.autoDismiss = false;\n }\n return this.show(toastConfig, options);\n }\n presentToast(entry) {\n var _a;\n this.isShowing = true;\n this.current = entry;\n this.armAutoDismissTimer(entry);\n (_a = entry.onShow) === null || _a === void 0 ? void 0 : _a.call(entry);\n void this.driver.show(this.buildPayload(entry));\n this.prepareSvgIcon(entry);\n }\n showNext() {\n const next = this.queue.shift();\n if (!next) {\n this.isShowing = false;\n this.current = null;\n return;\n }\n this.presentToast(next);\n }\n handleDismiss(id) {\n var _a, _b;\n if (!this.current || this.current.id !== id)\n return;\n const entry = this.current;\n this.clearAutoDismissTimer();\n if (this.autoDismissed) {\n (_a = entry.onAutoDismiss) === null || _a === void 0 ? void 0 : _a.call(entry);\n }\n (_b = entry.onHide) === null || _b === void 0 ? void 0 : _b.call(entry);\n this.autoDismissed = false;\n this.showNext();\n }\n handlePress(id) {\n if (!this.current || this.current.id !== id || !this.current.onPress)\n return;\n this.current.onPress();\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(id);\n }\n handleActionPress(id) {\n if (!this.current || this.current.id !== id || !this.current.action)\n return;\n this.current.action.onPress();\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(id);\n }\n armAutoDismissTimer(entry) {\n var _a, _b;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n const autoDismiss = (_a = entry.autoDismiss) !== null && _a !== void 0 ? _a : true;\n const duration = (_b = entry.duration) !== null && _b !== void 0 ? _b : 3000;\n if (!autoDismiss || duration <= 0)\n return;\n this.autoDismissTimer = setTimeout(() => {\n this.autoDismissTimer = null;\n this.autoDismissed = true;\n }, duration);\n }\n clearAutoDismissTimer() {\n if (!this.autoDismissTimer)\n return;\n clearTimeout(this.autoDismissTimer);\n this.autoDismissTimer = null;\n }\n hydrateEntry(config, previous) {\n var _a, _b, _c;\n const iconSourceUri = normalizeIconSource(config.iconSource);\n const rawIcon = typeof config.icon === 'string' ? config.icon : '';\n const rawSvg = !iconSourceUri && isSvgIcon(rawIcon) ? rawIcon.trim() : undefined;\n const fallbackIcon = (_b = (_a = config._fallbackIcon) !== null && _a !== void 0 ? _a : previous === null || previous === void 0 ? void 0 : previous._fallbackIcon) !== null && _b !== void 0 ? _b : DEFAULT_ICON_SYMBOL;\n const iconSymbol = rawSvg ? fallbackIcon : rawIcon || fallbackIcon;\n const resolvedIconUri = iconSourceUri && isNativeSafeIconUri(iconSourceUri)\n ? iconSourceUri\n : rawSvg && (previous === null || previous === void 0 ? void 0 : previous.rawSvg) === rawSvg\n ? previous.resolvedIconUri\n : iconSourceUri && (previous === null || previous === void 0 ? void 0 : previous.iconSourceUri) === iconSourceUri\n ? previous.resolvedIconUri\n : undefined;\n return Object.assign(Object.assign({}, config), { id: config.id, iconSymbol,\n iconSourceUri,\n rawSvg,\n resolvedIconUri, isPreparingSvg: rawSvg ? ((_c = previous === null || previous === void 0 ? void 0 : previous.isPreparingSvg) !== null && _c !== void 0 ? _c : false) : false });\n }\n buildPayload(entry) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n const iconUri = (_b = (_a = entry.iconSourceUri) !== null && _a !== void 0 ? _a : entry.resolvedIconUri) !== null && _b !== void 0 ? _b : '';\n return {\n id: entry.id,\n icon: entry.iconSymbol,\n iconUri,\n webIconUri: (_c = entry.iconSourceUri) !== null && _c !== void 0 ? _c : iconUri,\n iconSvg: entry.iconSourceUri ? '' : ((_d = entry.rawSvg) !== null && _d !== void 0 ? _d : ''),\n title: (_e = entry.title) !== null && _e !== void 0 ? _e : '',\n message: (_f = entry.message) !== null && _f !== void 0 ? _f : '',\n duration: (_g = entry.duration) !== null && _g !== void 0 ? _g : 3000,\n autoDismiss: (_h = entry.autoDismiss) !== null && _h !== void 0 ? _h : true,\n enableSwipeDismiss: (_j = entry.enableSwipeDismiss) !== null && _j !== void 0 ? _j : true,\n useDynamicIsland: true,\n accentColor: entry.accentColor,\n strokeColor: entry.strokeColor,\n disableBackdropSampling: (_k = entry.disableBackdropSampling) !== null && _k !== void 0 ? _k : false,\n actionLabel: (_m = (_l = entry.action) === null || _l === void 0 ? void 0 : _l.label) !== null && _m !== void 0 ? _m : '',\n accessibilityAnnouncement: getAccessibilityAnnouncement(entry),\n };\n }\n prepareSvgIcon(entry) {\n var _a, _b;\n if (entry.isPreparingSvg || entry.resolvedIconUri) {\n return;\n }\n const needsSvgRaster = Boolean(entry.rawSvg);\n const needsBlobConversion = Boolean((_a = entry.iconSourceUri) === null || _a === void 0 ? void 0 : _a.startsWith('blob:'));\n if (!needsSvgRaster && !needsBlobConversion) {\n return;\n }\n entry.isPreparingSvg = true;\n const resolveAsset = needsSvgRaster && entry.rawSvg\n ? rasterizeSvgToPngDataUrl(entry.rawSvg)\n : blobUrlToDataUrl((_b = entry.iconSourceUri) !== null && _b !== void 0 ? _b : '');\n void resolveAsset.then((dataUrl) => {\n var _a;\n entry.isPreparingSvg = false;\n if (!dataUrl)\n return;\n entry.resolvedIconUri = dataUrl;\n if (((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) === entry.id) {\n void this.driver.update(this.buildPayload(entry));\n }\n });\n }\n generateId() {\n this.idCounter += 1;\n return `toast-${this.idCounter}-${Date.now()}`;\n }\n}\n//# sourceMappingURL=controller.js.map","import { registerPlugin } from '@capacitor/core';\nexport const PrettyToastBridge = registerPlugin('PrettyToast', {\n web: () => import('./web').then((module) => new module.PrettyToastWeb()),\n});\n//# sourceMappingURL=internal-plugin.js.map","import { PrettyToastBridge } from './internal-plugin';\nexport class CapacitorToastDriver {\n constructor() {\n this.subscribed = false;\n }\n subscribe(events) {\n if (this.subscribed)\n return;\n this.subscribed = true;\n void PrettyToastBridge.addListener('toastDismiss', events.onDismiss);\n void PrettyToastBridge.addListener('toastPress', events.onPress);\n void PrettyToastBridge.addListener('toastActionPress', events.onActionPress);\n }\n show(payload) {\n return PrettyToastBridge.showCurrentToast(payload);\n }\n update(payload) {\n return PrettyToastBridge.updateCurrentToast(payload);\n }\n dismiss(id) {\n return PrettyToastBridge.dismissCurrentToast(id ? { id } : {});\n }\n}\n//# sourceMappingURL=driver.js.map","import { ToastController } from './controller';\nimport { CapacitorToastDriver } from './driver';\nconst controller = new ToastController(new CapacitorToastDriver());\nexport const toast = controller.ref;\n//# sourceMappingURL=toast.js.map","import { DEFAULT_ICON_SYMBOL, getSymbolIcon, parseSvgElement } from './icons';\nconst ENTER_MS = 450;\nconst EXIT_MS = 350;\nconst ENTER_EASING = 'cubic-bezier(0.22, 1.2, 0.36, 1)';\nconst EXIT_EASING = 'cubic-bezier(0.4, 0, 0.2, 1)';\nconst SWIPE_THRESHOLD = -40;\nexport class WebToastRenderer {\n constructor(events) {\n this.events = events;\n this.current = null;\n this.root = null;\n this.iconSlot = null;\n this.titleNode = null;\n this.messageNode = null;\n this.actionButton = null;\n this.autoDismissTimer = null;\n this.exitTimer = null;\n this.prefersDark = false;\n this.dragStartY = null;\n this.dragY = 0;\n this.isDragging = false;\n if (typeof window !== 'undefined' && typeof window.matchMedia === 'function') {\n this.prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n }\n show(payload) {\n this.current = payload;\n this.clearExitTimer();\n this.clearAutoDismissTimer();\n this.dragStartY = null;\n this.dragY = 0;\n this.isDragging = false;\n this.ensureElements();\n this.render(payload);\n this.applyEnteringState();\n requestAnimationFrame(() => {\n var _a;\n if (!this.root || ((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) !== payload.id)\n return;\n this.root.style.transform = 'translate(-50%, 0) scale(1)';\n this.root.style.opacity = '1';\n });\n this.armAutoDismiss(payload);\n }\n update(payload) {\n if (!this.root || !this.current || this.current.id !== payload.id)\n return;\n this.current = payload;\n this.render(payload);\n this.armAutoDismiss(payload);\n }\n dismiss(id) {\n if (!this.current || (id && this.current.id !== id) || !this.root)\n return;\n this.clearAutoDismissTimer();\n this.startExit();\n }\n ensureElements() {\n if (typeof document === 'undefined')\n return;\n if (this.root) {\n if (!this.root.isConnected) {\n document.body.appendChild(this.root);\n }\n return;\n }\n const root = document.createElement('div');\n root.setAttribute('role', 'status');\n root.setAttribute('aria-live', 'polite');\n root.style.position = 'fixed';\n root.style.top = 'calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 10px)';\n root.style.left = '50%';\n root.style.zIndex = '2147483647';\n root.style.width = 'min(360px, calc(100vw - 20px))';\n root.style.boxSizing = 'border-box';\n root.style.background = '#000';\n root.style.borderRadius = '30px';\n root.style.padding = '14px 20px';\n root.style.display = 'flex';\n root.style.alignItems = 'center';\n root.style.gap = '10px';\n root.style.fontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif';\n root.style.userSelect = 'none';\n root.style.touchAction = 'none';\n root.style.boxShadow = '0 10px 30px rgba(0, 0, 0, 0.35)';\n root.style.transform = 'translate(-50%, -40px) scale(0.8)';\n root.style.opacity = '0';\n root.style.transition = `transform ${ENTER_MS}ms ${ENTER_EASING}, opacity ${ENTER_MS}ms ${ENTER_EASING}`;\n root.addEventListener('pointerdown', (event) => this.handlePointerDown(event));\n root.addEventListener('pointermove', (event) => this.handlePointerMove(event));\n root.addEventListener('pointerup', (event) => this.handlePointerUp(event));\n root.addEventListener('pointercancel', (event) => this.handlePointerUp(event));\n root.addEventListener('click', () => {\n if (!this.current || this.dragY < -4)\n return;\n this.events.onPress(this.current.id);\n });\n const iconSlot = document.createElement('div');\n iconSlot.style.width = '50px';\n iconSlot.style.flexShrink = '0';\n iconSlot.style.display = 'flex';\n iconSlot.style.alignItems = 'center';\n iconSlot.style.justifyContent = 'center';\n iconSlot.style.fontSize = '35px';\n iconSlot.style.lineHeight = '1';\n const textWrap = document.createElement('div');\n textWrap.style.flex = '1';\n textWrap.style.minWidth = '0';\n const titleNode = document.createElement('div');\n titleNode.style.color = '#fff';\n titleNode.style.fontWeight = '600';\n titleNode.style.fontSize = '15px';\n titleNode.style.lineHeight = '20px';\n titleNode.style.wordBreak = 'break-word';\n const messageNode = document.createElement('div');\n messageNode.style.color = 'rgba(255, 255, 255, 0.6)';\n messageNode.style.fontSize = '12px';\n messageNode.style.lineHeight = '16px';\n messageNode.style.wordBreak = 'break-word';\n textWrap.appendChild(titleNode);\n textWrap.appendChild(messageNode);\n const actionButton = document.createElement('button');\n actionButton.type = 'button';\n actionButton.style.flexShrink = '0';\n actionButton.style.marginLeft = '4px';\n actionButton.style.padding = '6px 12px';\n actionButton.style.background = 'rgba(255,255,255,0.12)';\n actionButton.style.border = 'none';\n actionButton.style.borderRadius = '999px';\n actionButton.style.fontSize = '13px';\n actionButton.style.fontWeight = '600';\n actionButton.style.cursor = 'pointer';\n actionButton.style.display = 'none';\n actionButton.addEventListener('click', (event) => {\n event.stopPropagation();\n if (!this.current)\n return;\n this.events.onActionPress(this.current.id);\n });\n actionButton.addEventListener('pointerdown', (event) => event.stopPropagation());\n root.appendChild(iconSlot);\n root.appendChild(textWrap);\n root.appendChild(actionButton);\n document.body.appendChild(root);\n this.root = root;\n this.iconSlot = iconSlot;\n this.titleNode = titleNode;\n this.messageNode = messageNode;\n this.actionButton = actionButton;\n }\n render(payload) {\n var _a, _b, _c;\n if (!this.root || !this.iconSlot || !this.titleNode || !this.messageNode || !this.actionButton) {\n return;\n }\n const symbolInfo = getSymbolIcon(payload.icon);\n const accentColor = (_a = payload.accentColor) !== null && _a !== void 0 ? _a : symbolInfo.color;\n const outline = payload.strokeColor\n ? payload.strokeColor\n : payload.disableBackdropSampling\n ? 'rgba(255,255,255,0.06)'\n : this.prefersDark\n ? `color-mix(in srgb, ${accentColor} 20%, transparent)`\n : '';\n this.root.style.border = outline ? `2px solid ${outline}` : 'none';\n this.root.style.cursor = payload.actionLabel || payload.icon ? 'pointer' : 'default';\n this.root.setAttribute('aria-label', payload.accessibilityAnnouncement || '');\n this.iconSlot.style.color = accentColor;\n this.iconSlot.replaceChildren();\n const renderableUri = payload.webIconUri || payload.iconUri;\n if (renderableUri) {\n const image = document.createElement('img');\n image.src = renderableUri;\n image.alt = '';\n image.style.width = '40px';\n image.style.height = '40px';\n image.style.objectFit = 'contain';\n this.iconSlot.appendChild(image);\n }\n else if (payload.iconSvg) {\n const svg = parseSvgElement(payload.iconSvg);\n if (svg) {\n this.iconSlot.appendChild(svg);\n }\n else {\n this.iconSlot.textContent = (_b = getSymbolIcon(payload.icon || DEFAULT_ICON_SYMBOL).glyph) !== null && _b !== void 0 ? _b : '';\n }\n }\n else {\n const glyph = (_c = symbolInfo.glyph) !== null && _c !== void 0 ? _c : getSymbolIcon(DEFAULT_ICON_SYMBOL).glyph;\n if (glyph) {\n this.iconSlot.textContent = glyph;\n }\n else {\n this.iconSlot.innerHTML =\n '<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2.25a1 1 0 0 1 1 1v.6a7 7 0 0 1 6 6.93v3.36l1.38 2.07A1.25 1.25 0 0 1 19.34 18H4.66a1.25 1.25 0 0 1-1.04-1.94L5 14v-3.22a7 7 0 0 1 6-6.93v-.6a1 1 0 0 1 1-1Zm-2.5 17.25a2.5 2.5 0 0 0 5 0h-5Z\" /></svg>';\n }\n }\n this.titleNode.textContent = payload.title;\n this.titleNode.style.display = payload.title ? 'block' : 'none';\n this.messageNode.textContent = payload.message;\n this.messageNode.style.display = payload.message ? 'block' : 'none';\n this.messageNode.style.marginTop = payload.title && payload.message ? '4px' : '0';\n this.actionButton.textContent = payload.actionLabel;\n this.actionButton.style.color = accentColor;\n this.actionButton.style.display = payload.actionLabel ? 'inline-flex' : 'none';\n }\n armAutoDismiss(payload) {\n this.clearAutoDismissTimer();\n if (!payload.autoDismiss || payload.duration <= 0)\n return;\n this.autoDismissTimer = setTimeout(() => {\n this.startExit();\n }, payload.duration);\n }\n startExit() {\n if (!this.root || !this.current || this.exitTimer)\n return;\n const currentId = this.current.id;\n this.root.style.transition = `transform ${EXIT_MS}ms ${EXIT_EASING}, opacity ${EXIT_MS}ms ${EXIT_EASING}`;\n this.root.style.transform = `translate(-50%, ${this.dragY - 40}px) scale(1)`;\n this.root.style.opacity = '0';\n this.exitTimer = setTimeout(() => {\n var _a;\n this.exitTimer = null;\n this.clearAutoDismissTimer();\n this.dragY = 0;\n this.isDragging = false;\n this.dragStartY = null;\n if ((_a = this.root) === null || _a === void 0 ? void 0 : _a.isConnected) {\n this.root.remove();\n }\n this.root = null;\n this.iconSlot = null;\n this.titleNode = null;\n this.messageNode = null;\n this.actionButton = null;\n this.current = null;\n this.events.onDismiss(currentId);\n }, EXIT_MS);\n }\n applyEnteringState() {\n if (!this.root)\n return;\n this.root.style.transition = `transform ${ENTER_MS}ms ${ENTER_EASING}, opacity ${ENTER_MS}ms ${ENTER_EASING}`;\n this.root.style.transform = 'translate(-50%, -40px) scale(0.8)';\n this.root.style.opacity = '0';\n }\n handlePointerDown(event) {\n var _a, _b;\n if (event.button !== 0)\n return;\n this.dragStartY = event.clientY;\n this.dragY = 0;\n (_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.setPointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);\n }\n handlePointerMove(event) {\n if (!this.root || this.dragStartY === null)\n return;\n const nextDragY = Math.min(0, event.clientY - this.dragStartY);\n this.dragY = nextDragY;\n this.isDragging = nextDragY < -2;\n if (!this.isDragging)\n return;\n this.root.style.transition = 'none';\n this.root.style.transform = `translate(-50%, ${nextDragY}px) scale(1)`;\n }\n handlePointerUp(event) {\n var _a, _b;\n if (!this.root || this.dragStartY === null)\n return;\n this.dragStartY = null;\n (_b = (_a = this.root).releasePointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);\n if (this.dragY < SWIPE_THRESHOLD) {\n this.startExit();\n return;\n }\n this.isDragging = false;\n this.dragY = 0;\n this.root.style.transition = `transform ${EXIT_MS}ms ${EXIT_EASING}, opacity ${EXIT_MS}ms ${EXIT_EASING}`;\n this.root.style.transform = 'translate(-50%, 0) scale(1)';\n }\n clearAutoDismissTimer() {\n if (!this.autoDismissTimer)\n return;\n clearTimeout(this.autoDismissTimer);\n this.autoDismissTimer = null;\n }\n clearExitTimer() {\n if (!this.exitTimer)\n return;\n clearTimeout(this.exitTimer);\n this.exitTimer = null;\n }\n}\n//# sourceMappingURL=web-renderer.js.map","import { WebPlugin } from '@capacitor/core';\nimport { WebToastRenderer } from './web-renderer';\nexport class PrettyToastWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.renderer = new WebToastRenderer({\n onDismiss: (id) => {\n this.notifyListeners('toastDismiss', { id });\n },\n onPress: (id) => {\n this.notifyListeners('toastPress', { id });\n },\n onActionPress: (id) => {\n this.notifyListeners('toastActionPress', { id });\n },\n });\n }\n async showCurrentToast(options) {\n this.renderer.show(options);\n }\n async updateCurrentToast(options) {\n this.renderer.update(options);\n }\n async dismissCurrentToast(options) {\n this.renderer.dismiss(options === null || options === void 0 ? void 0 : options.id);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/icons.js","esm/controller.js","esm/internal-plugin.js","esm/driver.js","esm/toast.js","esm/web-renderer.js","esm/web.js"],"sourcesContent":["const ICON_MAP = [\n ['checkmark', { glyph: '✓', color: '#30D158' }],\n ['xmark', { glyph: '✕', color: '#FF453A' }],\n ['info', { glyph: 'ℹ', color: '#0A84FF' }],\n ['exclamation', { glyph: '!', color: '#FF9F0A' }],\n ['heart', { glyph: '♥', color: '#FF375F' }],\n ['arrow.up', { glyph: '↑', color: '#0A84FF' }],\n ['arrow.down', { glyph: '↓', color: '#0A84FF' }],\n ['arrow', { glyph: '↑', color: '#0A84FF' }],\n ['envelope', { glyph: '✉', color: '#FFFFFF' }],\n ['mail', { glyph: '✉', color: '#FFFFFF' }],\n ['wifi', { glyph: '◉', color: '#FFFFFF' }],\n];\nexport const DEFAULT_ICON_SYMBOL = 'bell.badge.fill';\nconst svgRasterCache = new Map();\nexport function isSvgIcon(value) {\n return typeof value === 'string' && value.trimStart().startsWith('<svg');\n}\nexport function normalizeIconSource(source) {\n if (!source)\n return undefined;\n if (typeof source === 'string') {\n return source.trim() || undefined;\n }\n if (typeof source.uri === 'string') {\n return source.uri.trim() || undefined;\n }\n return undefined;\n}\nexport function getSymbolIcon(symbol) {\n const normalized = symbol !== null && symbol !== void 0 ? symbol : '';\n for (const [key, info] of ICON_MAP) {\n if (normalized.includes(key))\n return info;\n }\n return { glyph: null, color: '#FFFFFF' };\n}\nexport function getAccessibilityAnnouncement(config) {\n if (config.accessibilityAnnouncement !== undefined) {\n return config.accessibilityAnnouncement;\n }\n return [config.title, config.message].filter(Boolean).join('. ');\n}\nexport function isNativeSafeIconUri(uri) {\n if (!uri)\n return false;\n return (uri.startsWith('https://') ||\n uri.startsWith('http://') ||\n uri.startsWith('file://') ||\n uri.startsWith('data:') ||\n uri.startsWith('/'));\n}\nexport async function rasterizeSvgToPngDataUrl(svg) {\n let pending = svgRasterCache.get(svg);\n if (!pending) {\n pending = rasterizeSvgToPngDataUrlInternal(svg);\n svgRasterCache.set(svg, pending);\n }\n return pending;\n}\nexport async function blobUrlToDataUrl(uri) {\n if (typeof window === 'undefined' || typeof fetch === 'undefined' || typeof FileReader === 'undefined') {\n return null;\n }\n try {\n const response = await fetch(uri);\n const blob = await response.blob();\n return await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n resolve(typeof reader.result === 'string' ? reader.result : null);\n };\n reader.onerror = () => resolve(null);\n reader.readAsDataURL(blob);\n });\n }\n catch (_a) {\n return null;\n }\n}\nfunction rasterizeSvgToPngDataUrlInternal(svg) {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return Promise.resolve(null);\n }\n const normalizedSvg = svg.includes('xmlns=') ? svg : svg.replace('<svg', '<svg xmlns=\"http://www.w3.org/2000/svg\"');\n const encodedSvg = (() => {\n try {\n const bytes = new TextEncoder().encode(normalizedSvg);\n const binaryString = Array.from(bytes, (byte) => String.fromCharCode(byte)).join('');\n const base64 = btoa(binaryString);\n return `data:image/svg+xml;base64,${base64}`;\n }\n catch (_a) {\n return `data:image/svg+xml,${encodeURIComponent(normalizedSvg)}`;\n }\n })();\n return new Promise((resolve) => {\n const image = new Image();\n image.onload = () => {\n try {\n const sourceWidth = image.naturalWidth || 96;\n const sourceHeight = image.naturalHeight || 96;\n const maxSide = Math.max(sourceWidth, sourceHeight, 1);\n const scale = 128 / maxSide;\n const width = Math.max(1, Math.round(sourceWidth * scale));\n const height = Math.max(1, Math.round(sourceHeight * scale));\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const context = canvas.getContext('2d');\n if (!context) {\n resolve(null);\n return;\n }\n context.clearRect(0, 0, width, height);\n context.drawImage(image, 0, 0, width, height);\n resolve(canvas.toDataURL('image/png'));\n }\n catch (_a) {\n resolve(null);\n }\n };\n image.onerror = () => resolve(null);\n image.src = encodedSvg;\n });\n}\nexport function parseSvgElement(svgMarkup) {\n if (typeof DOMParser === 'undefined')\n return null;\n try {\n const documentNode = new DOMParser().parseFromString(svgMarkup, 'image/svg+xml');\n if (documentNode.querySelector('parsererror') || documentNode.querySelector('script')) {\n return null;\n }\n const root = documentNode.documentElement;\n if (!root || root.tagName.toLowerCase() !== 'svg')\n return null;\n const svg = root.cloneNode(true);\n svg.setAttribute('width', '40');\n svg.setAttribute('height', '40');\n svg.setAttribute('aria-hidden', 'true');\n svg.style.display = 'block';\n return svg;\n }\n catch (_a) {\n return null;\n }\n}\n//# sourceMappingURL=icons.js.map","import { blobUrlToDataUrl, getAccessibilityAnnouncement, isNativeSafeIconUri, isSvgIcon, normalizeIconSource, rasterizeSvgToPngDataUrl, DEFAULT_ICON_SYMBOL, } from './icons';\nconst VARIANT_ICONS = {\n success: 'checkmark.circle.fill',\n error: 'xmark.circle.fill',\n info: 'info.circle.fill',\n warning: 'exclamationmark.triangle.fill',\n loading: 'arrow.triangle.2.circlepath',\n};\nconst TRANSPARENT_PNG_DATA_URL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO6rOewAAAAASUVORK5CYII=';\nfunction resolveNativeIconUri(entry) {\n const iconSourceUri = entry.iconSourceUri;\n if (iconSourceUri && isNativeSafeIconUri(iconSourceUri)) {\n return iconSourceUri;\n }\n if (entry.resolvedIconUri !== undefined) {\n return entry.resolvedIconUri;\n }\n return entry.rawSvg || iconSourceUri ? TRANSPARENT_PNG_DATA_URL : '';\n}\nexport class ToastController {\n constructor(driver) {\n this.driver = driver;\n this.queue = [];\n this.current = null;\n this.isShowing = false;\n this.idCounter = 0;\n this.autoDismissTimer = null;\n this.autoDismissed = false;\n this.driver.subscribe({\n onDismiss: (event) => this.handleDismiss(event.id),\n onPress: (event) => this.handlePress(event.id),\n onActionPress: (event) => this.handleActionPress(event.id),\n });\n this.ref = {\n show: (config, options) => this.show(config, options),\n success: (title, config, options) => this.showVariant('success', title, config, options),\n error: (title, config, options) => this.showVariant('error', title, config, options),\n info: (title, config, options) => this.showVariant('info', title, config, options),\n warning: (title, config, options) => this.showVariant('warning', title, config, options),\n loading: (title, config, options) => this.showVariant('loading', title, config, options),\n update: (id, partial) => this.update(id, partial),\n promise: (promise, messages) => this.promise(promise, messages),\n dismiss: (id) => this.dismiss(id),\n dismissAll: () => this.dismissAll(),\n };\n }\n show(config, options) {\n var _a, _b;\n const id = (_a = config.id) !== null && _a !== void 0 ? _a : this.generateId();\n const entry = this.hydrateEntry(Object.assign(Object.assign({}, config), { id }));\n if ((options === null || options === void 0 ? void 0 : options.force) && this.isShowing) {\n this.queue.unshift(entry);\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss((_b = this.current) === null || _b === void 0 ? void 0 : _b.id);\n return id;\n }\n if (!this.isShowing) {\n this.presentToast(entry);\n return id;\n }\n this.queue.push(entry);\n this.prepareSvgIcon(entry);\n return id;\n }\n update(id, partial) {\n var _a;\n if (((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) === id) {\n this.current = this.hydrateEntry(Object.assign(Object.assign(Object.assign({}, this.current), partial), { id }), this.current);\n this.armAutoDismissTimer(this.current);\n void this.driver.update(this.buildPayload(this.current));\n this.prepareSvgIcon(this.current);\n return;\n }\n const index = this.queue.findIndex((entry) => entry.id === id);\n if (index === -1)\n return;\n const existing = this.queue[index];\n const updated = this.hydrateEntry(Object.assign(Object.assign(Object.assign({}, existing), partial), { id }), existing);\n this.queue[index] = updated;\n this.prepareSvgIcon(updated);\n }\n dismiss(id) {\n var _a;\n if (id && ((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n this.queue = this.queue.filter((entry) => entry.id !== id);\n return;\n }\n if (!this.current)\n return;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(this.current.id);\n }\n dismissAll() {\n this.queue = [];\n if (!this.current)\n return;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(this.current.id);\n }\n promise(promise, messages) {\n const loadingConfig = typeof messages.loading === 'string'\n ? { title: messages.loading }\n : Object.assign({}, messages.loading);\n if (loadingConfig.autoDismiss === undefined) {\n loadingConfig.autoDismiss = false;\n }\n if (!loadingConfig.icon) {\n loadingConfig.icon = VARIANT_ICONS.loading;\n }\n const id = this.show(loadingConfig);\n promise.then((value) => {\n const next = typeof messages.success === 'function' ? messages.success(value) : messages.success;\n const config = typeof next === 'string' ? { title: next } : Object.assign({}, next);\n if (!config.icon)\n config.icon = VARIANT_ICONS.success;\n if (config.autoDismiss === undefined)\n config.autoDismiss = true;\n if (config.duration === undefined)\n config.duration = 3000;\n this.update(id, config);\n }, (error) => {\n const next = typeof messages.error === 'function' ? messages.error(error) : messages.error;\n const config = typeof next === 'string' ? { title: next } : Object.assign({}, next);\n if (!config.icon)\n config.icon = VARIANT_ICONS.error;\n if (config.autoDismiss === undefined)\n config.autoDismiss = true;\n if (config.duration === undefined)\n config.duration = 3000;\n this.update(id, config);\n });\n return promise;\n }\n showVariant(variant, title, config, options) {\n var _a;\n const toastConfig = Object.assign(Object.assign({}, config), { title, icon: (_a = config === null || config === void 0 ? void 0 : config.icon) !== null && _a !== void 0 ? _a : VARIANT_ICONS[variant], _fallbackIcon: VARIANT_ICONS[variant] });\n if (variant === 'loading' && toastConfig.autoDismiss === undefined) {\n toastConfig.autoDismiss = false;\n }\n return this.show(toastConfig, options);\n }\n presentToast(entry) {\n var _a;\n this.isShowing = true;\n this.current = entry;\n this.armAutoDismissTimer(entry);\n (_a = entry.onShow) === null || _a === void 0 ? void 0 : _a.call(entry);\n void this.driver.show(this.buildPayload(entry));\n this.prepareSvgIcon(entry);\n }\n showNext() {\n const next = this.queue.shift();\n if (!next) {\n this.isShowing = false;\n this.current = null;\n return;\n }\n this.presentToast(next);\n }\n handleDismiss(id) {\n var _a, _b;\n if (!this.current || this.current.id !== id)\n return;\n const entry = this.current;\n this.clearAutoDismissTimer();\n if (this.autoDismissed) {\n (_a = entry.onAutoDismiss) === null || _a === void 0 ? void 0 : _a.call(entry);\n }\n (_b = entry.onHide) === null || _b === void 0 ? void 0 : _b.call(entry);\n this.autoDismissed = false;\n this.showNext();\n }\n handlePress(id) {\n if (!this.current || this.current.id !== id || !this.current.onPress)\n return;\n this.current.onPress();\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(id);\n }\n handleActionPress(id) {\n if (!this.current || this.current.id !== id || !this.current.action)\n return;\n this.current.action.onPress();\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(id);\n }\n armAutoDismissTimer(entry) {\n var _a, _b;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n const autoDismiss = (_a = entry.autoDismiss) !== null && _a !== void 0 ? _a : true;\n const duration = (_b = entry.duration) !== null && _b !== void 0 ? _b : 3000;\n if (!autoDismiss || duration <= 0)\n return;\n this.autoDismissTimer = setTimeout(() => {\n this.autoDismissTimer = null;\n this.autoDismissed = true;\n }, duration);\n }\n clearAutoDismissTimer() {\n if (!this.autoDismissTimer)\n return;\n clearTimeout(this.autoDismissTimer);\n this.autoDismissTimer = null;\n }\n hydrateEntry(config, previous) {\n var _a, _b, _c;\n const iconSourceUri = normalizeIconSource(config.iconSource);\n const rawIcon = typeof config.icon === 'string' ? config.icon : '';\n const rawSvg = !iconSourceUri && isSvgIcon(rawIcon) ? rawIcon.trim() : undefined;\n const fallbackIcon = (_b = (_a = config._fallbackIcon) !== null && _a !== void 0 ? _a : previous === null || previous === void 0 ? void 0 : previous._fallbackIcon) !== null && _b !== void 0 ? _b : DEFAULT_ICON_SYMBOL;\n const iconSymbol = rawSvg ? fallbackIcon : rawIcon || fallbackIcon;\n const resolvedIconUri = iconSourceUri && isNativeSafeIconUri(iconSourceUri)\n ? iconSourceUri\n : rawSvg && (previous === null || previous === void 0 ? void 0 : previous.rawSvg) === rawSvg\n ? previous.resolvedIconUri\n : iconSourceUri && (previous === null || previous === void 0 ? void 0 : previous.iconSourceUri) === iconSourceUri\n ? previous.resolvedIconUri\n : undefined;\n return Object.assign(Object.assign({}, config), { id: config.id, iconSymbol,\n iconSourceUri,\n rawSvg,\n resolvedIconUri, isPreparingSvg: rawSvg ? ((_c = previous === null || previous === void 0 ? void 0 : previous.isPreparingSvg) !== null && _c !== void 0 ? _c : false) : false });\n }\n buildPayload(entry) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const nativeIconUri = resolveNativeIconUri(entry);\n return {\n id: entry.id,\n icon: entry.iconSymbol,\n iconUri: nativeIconUri,\n webIconUri: (_a = entry.iconSourceUri) !== null && _a !== void 0 ? _a : nativeIconUri,\n iconSvg: entry.iconSourceUri ? '' : ((_b = entry.rawSvg) !== null && _b !== void 0 ? _b : ''),\n title: (_c = entry.title) !== null && _c !== void 0 ? _c : '',\n message: (_d = entry.message) !== null && _d !== void 0 ? _d : '',\n duration: (_e = entry.duration) !== null && _e !== void 0 ? _e : 3000,\n autoDismiss: (_f = entry.autoDismiss) !== null && _f !== void 0 ? _f : true,\n enableSwipeDismiss: (_g = entry.enableSwipeDismiss) !== null && _g !== void 0 ? _g : true,\n useDynamicIsland: true,\n accentColor: entry.accentColor,\n strokeColor: entry.strokeColor,\n disableBackdropSampling: (_h = entry.disableBackdropSampling) !== null && _h !== void 0 ? _h : false,\n actionLabel: (_k = (_j = entry.action) === null || _j === void 0 ? void 0 : _j.label) !== null && _k !== void 0 ? _k : '',\n accessibilityAnnouncement: getAccessibilityAnnouncement(entry),\n };\n }\n prepareSvgIcon(entry) {\n var _a, _b;\n if (entry.isPreparingSvg || entry.resolvedIconUri) {\n return;\n }\n const needsSvgRaster = Boolean(entry.rawSvg);\n const needsBlobConversion = Boolean((_a = entry.iconSourceUri) === null || _a === void 0 ? void 0 : _a.startsWith('blob:'));\n if (!needsSvgRaster && !needsBlobConversion) {\n return;\n }\n entry.isPreparingSvg = true;\n const resolveAsset = needsSvgRaster && entry.rawSvg\n ? rasterizeSvgToPngDataUrl(entry.rawSvg)\n : blobUrlToDataUrl((_b = entry.iconSourceUri) !== null && _b !== void 0 ? _b : '');\n void resolveAsset.then((dataUrl) => {\n var _a;\n entry.isPreparingSvg = false;\n if (!dataUrl)\n return;\n entry.resolvedIconUri = dataUrl;\n if (((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) === entry.id) {\n void this.driver.update(this.buildPayload(entry));\n }\n });\n }\n generateId() {\n this.idCounter += 1;\n return `toast-${this.idCounter}-${Date.now()}`;\n }\n}\n//# sourceMappingURL=controller.js.map","import { registerPlugin } from '@capacitor/core';\nexport const PrettyToastBridge = registerPlugin('PrettyToast', {\n web: () => import('./web').then((module) => new module.PrettyToastWeb()),\n});\n//# sourceMappingURL=internal-plugin.js.map","import { PrettyToastBridge } from './internal-plugin';\nexport class CapacitorToastDriver {\n constructor() {\n this.subscribed = false;\n }\n subscribe(events) {\n if (this.subscribed)\n return;\n this.subscribed = true;\n void PrettyToastBridge.addListener('toastDismiss', events.onDismiss);\n void PrettyToastBridge.addListener('toastPress', events.onPress);\n void PrettyToastBridge.addListener('toastActionPress', events.onActionPress);\n }\n show(payload) {\n return PrettyToastBridge.showCurrentToast(payload);\n }\n update(payload) {\n return PrettyToastBridge.updateCurrentToast(payload);\n }\n dismiss(id) {\n return PrettyToastBridge.dismissCurrentToast(id ? { id } : {});\n }\n}\n//# sourceMappingURL=driver.js.map","import { ToastController } from './controller';\nimport { CapacitorToastDriver } from './driver';\nconst controller = new ToastController(new CapacitorToastDriver());\nexport const toast = controller.ref;\n//# sourceMappingURL=toast.js.map","import { DEFAULT_ICON_SYMBOL, getSymbolIcon, parseSvgElement } from './icons';\nconst ENTER_MS = 450;\nconst EXIT_MS = 350;\nconst ENTER_EASING = 'cubic-bezier(0.22, 1.2, 0.36, 1)';\nconst EXIT_EASING = 'cubic-bezier(0.4, 0, 0.2, 1)';\nconst SWIPE_THRESHOLD = -40;\nexport class WebToastRenderer {\n constructor(events) {\n this.events = events;\n this.current = null;\n this.root = null;\n this.iconSlot = null;\n this.titleNode = null;\n this.messageNode = null;\n this.actionButton = null;\n this.autoDismissTimer = null;\n this.exitTimer = null;\n this.prefersDark = false;\n this.dragStartY = null;\n this.dragY = 0;\n this.isDragging = false;\n if (typeof window !== 'undefined' && typeof window.matchMedia === 'function') {\n this.prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n }\n show(payload) {\n this.current = payload;\n this.clearExitTimer();\n this.clearAutoDismissTimer();\n this.dragStartY = null;\n this.dragY = 0;\n this.isDragging = false;\n this.ensureElements();\n this.render(payload);\n this.applyEnteringState();\n requestAnimationFrame(() => {\n var _a;\n if (!this.root || ((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) !== payload.id)\n return;\n this.root.style.transform = 'translate(-50%, 0) scale(1)';\n this.root.style.opacity = '1';\n });\n this.armAutoDismiss(payload);\n }\n update(payload) {\n if (!this.root || !this.current || this.current.id !== payload.id)\n return;\n this.current = payload;\n this.render(payload);\n this.armAutoDismiss(payload);\n }\n dismiss(id) {\n if (!this.current || (id && this.current.id !== id) || !this.root)\n return;\n this.clearAutoDismissTimer();\n this.startExit();\n }\n ensureElements() {\n if (typeof document === 'undefined')\n return;\n if (this.root) {\n if (!this.root.isConnected) {\n document.body.appendChild(this.root);\n }\n return;\n }\n const root = document.createElement('div');\n root.setAttribute('role', 'status');\n root.setAttribute('aria-live', 'polite');\n root.style.position = 'fixed';\n root.style.top = 'calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 10px)';\n root.style.left = '50%';\n root.style.zIndex = '2147483647';\n root.style.width = 'min(360px, calc(100vw - 20px))';\n root.style.boxSizing = 'border-box';\n root.style.background = '#000';\n root.style.borderRadius = '30px';\n root.style.padding = '14px 20px';\n root.style.display = 'flex';\n root.style.alignItems = 'center';\n root.style.gap = '10px';\n root.style.fontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif';\n root.style.userSelect = 'none';\n root.style.touchAction = 'none';\n root.style.boxShadow = '0 10px 30px rgba(0, 0, 0, 0.35)';\n root.style.transform = 'translate(-50%, -40px) scale(0.8)';\n root.style.opacity = '0';\n root.style.transition = `transform ${ENTER_MS}ms ${ENTER_EASING}, opacity ${ENTER_MS}ms ${ENTER_EASING}`;\n root.addEventListener('pointerdown', (event) => this.handlePointerDown(event));\n root.addEventListener('pointermove', (event) => this.handlePointerMove(event));\n root.addEventListener('pointerup', (event) => this.handlePointerUp(event));\n root.addEventListener('pointercancel', (event) => this.handlePointerUp(event));\n root.addEventListener('click', () => {\n if (!this.current || this.dragY < -4)\n return;\n this.events.onPress(this.current.id);\n });\n const iconSlot = document.createElement('div');\n iconSlot.style.width = '50px';\n iconSlot.style.flexShrink = '0';\n iconSlot.style.display = 'flex';\n iconSlot.style.alignItems = 'center';\n iconSlot.style.justifyContent = 'center';\n iconSlot.style.fontSize = '35px';\n iconSlot.style.lineHeight = '1';\n const textWrap = document.createElement('div');\n textWrap.style.flex = '1';\n textWrap.style.minWidth = '0';\n const titleNode = document.createElement('div');\n titleNode.style.color = '#fff';\n titleNode.style.fontWeight = '600';\n titleNode.style.fontSize = '15px';\n titleNode.style.lineHeight = '20px';\n titleNode.style.wordBreak = 'break-word';\n const messageNode = document.createElement('div');\n messageNode.style.color = 'rgba(255, 255, 255, 0.6)';\n messageNode.style.fontSize = '12px';\n messageNode.style.lineHeight = '16px';\n messageNode.style.wordBreak = 'break-word';\n textWrap.appendChild(titleNode);\n textWrap.appendChild(messageNode);\n const actionButton = document.createElement('button');\n actionButton.type = 'button';\n actionButton.style.flexShrink = '0';\n actionButton.style.marginLeft = '4px';\n actionButton.style.padding = '6px 12px';\n actionButton.style.background = 'rgba(255,255,255,0.12)';\n actionButton.style.border = 'none';\n actionButton.style.borderRadius = '999px';\n actionButton.style.fontSize = '13px';\n actionButton.style.fontWeight = '600';\n actionButton.style.cursor = 'pointer';\n actionButton.style.display = 'none';\n actionButton.addEventListener('click', (event) => {\n event.stopPropagation();\n if (!this.current)\n return;\n this.events.onActionPress(this.current.id);\n });\n actionButton.addEventListener('pointerdown', (event) => event.stopPropagation());\n root.appendChild(iconSlot);\n root.appendChild(textWrap);\n root.appendChild(actionButton);\n document.body.appendChild(root);\n this.root = root;\n this.iconSlot = iconSlot;\n this.titleNode = titleNode;\n this.messageNode = messageNode;\n this.actionButton = actionButton;\n }\n render(payload) {\n var _a, _b, _c;\n if (!this.root || !this.iconSlot || !this.titleNode || !this.messageNode || !this.actionButton) {\n return;\n }\n const symbolInfo = getSymbolIcon(payload.icon);\n const accentColor = (_a = payload.accentColor) !== null && _a !== void 0 ? _a : symbolInfo.color;\n const outline = payload.strokeColor\n ? payload.strokeColor\n : payload.disableBackdropSampling\n ? 'rgba(255,255,255,0.06)'\n : this.prefersDark\n ? `color-mix(in srgb, ${accentColor} 20%, transparent)`\n : '';\n this.root.style.border = outline ? `2px solid ${outline}` : 'none';\n this.root.style.cursor = payload.actionLabel || payload.icon ? 'pointer' : 'default';\n this.root.setAttribute('aria-label', payload.accessibilityAnnouncement || '');\n this.iconSlot.style.color = accentColor;\n this.iconSlot.replaceChildren();\n const renderableUri = payload.webIconUri || payload.iconUri;\n if (renderableUri) {\n const image = document.createElement('img');\n image.src = renderableUri;\n image.alt = '';\n image.style.width = '40px';\n image.style.height = '40px';\n image.style.objectFit = 'contain';\n this.iconSlot.appendChild(image);\n }\n else if (payload.iconSvg) {\n const svg = parseSvgElement(payload.iconSvg);\n if (svg) {\n this.iconSlot.appendChild(svg);\n }\n else {\n this.iconSlot.textContent = (_b = getSymbolIcon(payload.icon || DEFAULT_ICON_SYMBOL).glyph) !== null && _b !== void 0 ? _b : '';\n }\n }\n else {\n const glyph = (_c = symbolInfo.glyph) !== null && _c !== void 0 ? _c : getSymbolIcon(DEFAULT_ICON_SYMBOL).glyph;\n if (glyph) {\n this.iconSlot.textContent = glyph;\n }\n else {\n this.iconSlot.innerHTML =\n '<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2.25a1 1 0 0 1 1 1v.6a7 7 0 0 1 6 6.93v3.36l1.38 2.07A1.25 1.25 0 0 1 19.34 18H4.66a1.25 1.25 0 0 1-1.04-1.94L5 14v-3.22a7 7 0 0 1 6-6.93v-.6a1 1 0 0 1 1-1Zm-2.5 17.25a2.5 2.5 0 0 0 5 0h-5Z\" /></svg>';\n }\n }\n this.titleNode.textContent = payload.title;\n this.titleNode.style.display = payload.title ? 'block' : 'none';\n this.messageNode.textContent = payload.message;\n this.messageNode.style.display = payload.message ? 'block' : 'none';\n this.messageNode.style.marginTop = payload.title && payload.message ? '4px' : '0';\n this.actionButton.textContent = payload.actionLabel;\n this.actionButton.style.color = accentColor;\n this.actionButton.style.display = payload.actionLabel ? 'inline-flex' : 'none';\n }\n armAutoDismiss(payload) {\n this.clearAutoDismissTimer();\n if (!payload.autoDismiss || payload.duration <= 0)\n return;\n this.autoDismissTimer = setTimeout(() => {\n this.startExit();\n }, payload.duration);\n }\n startExit() {\n if (!this.root || !this.current || this.exitTimer)\n return;\n const currentId = this.current.id;\n this.root.style.transition = `transform ${EXIT_MS}ms ${EXIT_EASING}, opacity ${EXIT_MS}ms ${EXIT_EASING}`;\n this.root.style.transform = `translate(-50%, ${this.dragY - 40}px) scale(1)`;\n this.root.style.opacity = '0';\n this.exitTimer = setTimeout(() => {\n var _a;\n this.exitTimer = null;\n this.clearAutoDismissTimer();\n this.dragY = 0;\n this.isDragging = false;\n this.dragStartY = null;\n if ((_a = this.root) === null || _a === void 0 ? void 0 : _a.isConnected) {\n this.root.remove();\n }\n this.root = null;\n this.iconSlot = null;\n this.titleNode = null;\n this.messageNode = null;\n this.actionButton = null;\n this.current = null;\n this.events.onDismiss(currentId);\n }, EXIT_MS);\n }\n applyEnteringState() {\n if (!this.root)\n return;\n this.root.style.transition = `transform ${ENTER_MS}ms ${ENTER_EASING}, opacity ${ENTER_MS}ms ${ENTER_EASING}`;\n this.root.style.transform = 'translate(-50%, -40px) scale(0.8)';\n this.root.style.opacity = '0';\n }\n handlePointerDown(event) {\n var _a, _b;\n if (event.button !== 0)\n return;\n this.dragStartY = event.clientY;\n this.dragY = 0;\n (_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.setPointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);\n }\n handlePointerMove(event) {\n if (!this.root || this.dragStartY === null)\n return;\n const nextDragY = Math.min(0, event.clientY - this.dragStartY);\n this.dragY = nextDragY;\n this.isDragging = nextDragY < -2;\n if (!this.isDragging)\n return;\n this.root.style.transition = 'none';\n this.root.style.transform = `translate(-50%, ${nextDragY}px) scale(1)`;\n }\n handlePointerUp(event) {\n var _a, _b;\n if (!this.root || this.dragStartY === null)\n return;\n this.dragStartY = null;\n (_b = (_a = this.root).releasePointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);\n if (this.dragY < SWIPE_THRESHOLD) {\n this.startExit();\n return;\n }\n this.isDragging = false;\n this.dragY = 0;\n this.root.style.transition = `transform ${EXIT_MS}ms ${EXIT_EASING}, opacity ${EXIT_MS}ms ${EXIT_EASING}`;\n this.root.style.transform = 'translate(-50%, 0) scale(1)';\n }\n clearAutoDismissTimer() {\n if (!this.autoDismissTimer)\n return;\n clearTimeout(this.autoDismissTimer);\n this.autoDismissTimer = null;\n }\n clearExitTimer() {\n if (!this.exitTimer)\n return;\n clearTimeout(this.exitTimer);\n this.exitTimer = null;\n }\n}\n//# sourceMappingURL=web-renderer.js.map","import { WebPlugin } from '@capacitor/core';\nimport { WebToastRenderer } from './web-renderer';\nexport class PrettyToastWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.renderer = new WebToastRenderer({\n onDismiss: (id) => {\n this.notifyListeners('toastDismiss', { id });\n },\n onPress: (id) => {\n this.notifyListeners('toastPress', { id });\n },\n onActionPress: (id) => {\n this.notifyListeners('toastActionPress', { id });\n },\n });\n }\n async showCurrentToast(options) {\n this.renderer.show(options);\n }\n async updateCurrentToast(options) {\n this.renderer.update(options);\n }\n async dismissCurrentToast(options) {\n this.renderer.dismiss(options === null || options === void 0 ? void 0 : options.id);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -85,7 +85,18 @@ var capacitorPrettyToast = (function (exports, core) {
|
|
|
85
85
|
if (typeof window === 'undefined' || typeof document === 'undefined') {
|
|
86
86
|
return Promise.resolve(null);
|
|
87
87
|
}
|
|
88
|
-
const
|
|
88
|
+
const normalizedSvg = svg.includes('xmlns=') ? svg : svg.replace('<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
|
|
89
|
+
const encodedSvg = (() => {
|
|
90
|
+
try {
|
|
91
|
+
const bytes = new TextEncoder().encode(normalizedSvg);
|
|
92
|
+
const binaryString = Array.from(bytes, (byte) => String.fromCharCode(byte)).join('');
|
|
93
|
+
const base64 = btoa(binaryString);
|
|
94
|
+
return `data:image/svg+xml;base64,${base64}`;
|
|
95
|
+
}
|
|
96
|
+
catch (_a) {
|
|
97
|
+
return `data:image/svg+xml,${encodeURIComponent(normalizedSvg)}`;
|
|
98
|
+
}
|
|
99
|
+
})();
|
|
89
100
|
return new Promise((resolve) => {
|
|
90
101
|
const image = new Image();
|
|
91
102
|
image.onload = () => {
|
|
@@ -146,6 +157,17 @@ var capacitorPrettyToast = (function (exports, core) {
|
|
|
146
157
|
warning: 'exclamationmark.triangle.fill',
|
|
147
158
|
loading: 'arrow.triangle.2.circlepath',
|
|
148
159
|
};
|
|
160
|
+
const TRANSPARENT_PNG_DATA_URL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO6rOewAAAAASUVORK5CYII=';
|
|
161
|
+
function resolveNativeIconUri(entry) {
|
|
162
|
+
const iconSourceUri = entry.iconSourceUri;
|
|
163
|
+
if (iconSourceUri && isNativeSafeIconUri(iconSourceUri)) {
|
|
164
|
+
return iconSourceUri;
|
|
165
|
+
}
|
|
166
|
+
if (entry.resolvedIconUri !== undefined) {
|
|
167
|
+
return entry.resolvedIconUri;
|
|
168
|
+
}
|
|
169
|
+
return entry.rawSvg || iconSourceUri ? TRANSPARENT_PNG_DATA_URL : '';
|
|
170
|
+
}
|
|
149
171
|
class ToastController {
|
|
150
172
|
constructor(driver) {
|
|
151
173
|
this.driver = driver;
|
|
@@ -357,24 +379,24 @@ var capacitorPrettyToast = (function (exports, core) {
|
|
|
357
379
|
resolvedIconUri, isPreparingSvg: rawSvg ? ((_c = previous === null || previous === void 0 ? void 0 : previous.isPreparingSvg) !== null && _c !== void 0 ? _c : false) : false });
|
|
358
380
|
}
|
|
359
381
|
buildPayload(entry) {
|
|
360
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
361
|
-
const
|
|
382
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
383
|
+
const nativeIconUri = resolveNativeIconUri(entry);
|
|
362
384
|
return {
|
|
363
385
|
id: entry.id,
|
|
364
386
|
icon: entry.iconSymbol,
|
|
365
|
-
iconUri,
|
|
366
|
-
webIconUri: (
|
|
367
|
-
iconSvg: entry.iconSourceUri ? '' : ((
|
|
368
|
-
title: (
|
|
369
|
-
message: (
|
|
370
|
-
duration: (
|
|
371
|
-
autoDismiss: (
|
|
372
|
-
enableSwipeDismiss: (
|
|
387
|
+
iconUri: nativeIconUri,
|
|
388
|
+
webIconUri: (_a = entry.iconSourceUri) !== null && _a !== void 0 ? _a : nativeIconUri,
|
|
389
|
+
iconSvg: entry.iconSourceUri ? '' : ((_b = entry.rawSvg) !== null && _b !== void 0 ? _b : ''),
|
|
390
|
+
title: (_c = entry.title) !== null && _c !== void 0 ? _c : '',
|
|
391
|
+
message: (_d = entry.message) !== null && _d !== void 0 ? _d : '',
|
|
392
|
+
duration: (_e = entry.duration) !== null && _e !== void 0 ? _e : 3000,
|
|
393
|
+
autoDismiss: (_f = entry.autoDismiss) !== null && _f !== void 0 ? _f : true,
|
|
394
|
+
enableSwipeDismiss: (_g = entry.enableSwipeDismiss) !== null && _g !== void 0 ? _g : true,
|
|
373
395
|
useDynamicIsland: true,
|
|
374
396
|
accentColor: entry.accentColor,
|
|
375
397
|
strokeColor: entry.strokeColor,
|
|
376
|
-
disableBackdropSampling: (
|
|
377
|
-
actionLabel: (
|
|
398
|
+
disableBackdropSampling: (_h = entry.disableBackdropSampling) !== null && _h !== void 0 ? _h : false,
|
|
399
|
+
actionLabel: (_k = (_j = entry.action) === null || _j === void 0 ? void 0 : _j.label) !== null && _k !== void 0 ? _k : '',
|
|
378
400
|
accessibilityAnnouncement: getAccessibilityAnnouncement(entry),
|
|
379
401
|
};
|
|
380
402
|
}
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/icons.js","esm/controller.js","esm/internal-plugin.js","esm/driver.js","esm/toast.js","esm/web-renderer.js","esm/web.js"],"sourcesContent":["const ICON_MAP = [\n ['checkmark', { glyph: '✓', color: '#30D158' }],\n ['xmark', { glyph: '✕', color: '#FF453A' }],\n ['info', { glyph: 'ℹ', color: '#0A84FF' }],\n ['exclamation', { glyph: '!', color: '#FF9F0A' }],\n ['heart', { glyph: '♥', color: '#FF375F' }],\n ['arrow.up', { glyph: '↑', color: '#0A84FF' }],\n ['arrow.down', { glyph: '↓', color: '#0A84FF' }],\n ['arrow', { glyph: '↑', color: '#0A84FF' }],\n ['envelope', { glyph: '✉', color: '#FFFFFF' }],\n ['mail', { glyph: '✉', color: '#FFFFFF' }],\n ['wifi', { glyph: '◉', color: '#FFFFFF' }],\n];\nexport const DEFAULT_ICON_SYMBOL = 'bell.badge.fill';\nconst svgRasterCache = new Map();\nexport function isSvgIcon(value) {\n return typeof value === 'string' && value.trimStart().startsWith('<svg');\n}\nexport function normalizeIconSource(source) {\n if (!source)\n return undefined;\n if (typeof source === 'string') {\n return source.trim() || undefined;\n }\n if (typeof source.uri === 'string') {\n return source.uri.trim() || undefined;\n }\n return undefined;\n}\nexport function getSymbolIcon(symbol) {\n const normalized = symbol !== null && symbol !== void 0 ? symbol : '';\n for (const [key, info] of ICON_MAP) {\n if (normalized.includes(key))\n return info;\n }\n return { glyph: null, color: '#FFFFFF' };\n}\nexport function getAccessibilityAnnouncement(config) {\n if (config.accessibilityAnnouncement !== undefined) {\n return config.accessibilityAnnouncement;\n }\n return [config.title, config.message].filter(Boolean).join('. ');\n}\nexport function isNativeSafeIconUri(uri) {\n if (!uri)\n return false;\n return (uri.startsWith('https://') ||\n uri.startsWith('http://') ||\n uri.startsWith('file://') ||\n uri.startsWith('data:') ||\n uri.startsWith('/'));\n}\nexport async function rasterizeSvgToPngDataUrl(svg) {\n let pending = svgRasterCache.get(svg);\n if (!pending) {\n pending = rasterizeSvgToPngDataUrlInternal(svg);\n svgRasterCache.set(svg, pending);\n }\n return pending;\n}\nexport async function blobUrlToDataUrl(uri) {\n if (typeof window === 'undefined' || typeof fetch === 'undefined' || typeof FileReader === 'undefined') {\n return null;\n }\n try {\n const response = await fetch(uri);\n const blob = await response.blob();\n return await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n resolve(typeof reader.result === 'string' ? reader.result : null);\n };\n reader.onerror = () => resolve(null);\n reader.readAsDataURL(blob);\n });\n }\n catch (_a) {\n return null;\n }\n}\nfunction rasterizeSvgToPngDataUrlInternal(svg) {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return Promise.resolve(null);\n }\n const encodedSvg = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`;\n return new Promise((resolve) => {\n const image = new Image();\n image.onload = () => {\n try {\n const sourceWidth = image.naturalWidth || 96;\n const sourceHeight = image.naturalHeight || 96;\n const maxSide = Math.max(sourceWidth, sourceHeight, 1);\n const scale = 128 / maxSide;\n const width = Math.max(1, Math.round(sourceWidth * scale));\n const height = Math.max(1, Math.round(sourceHeight * scale));\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const context = canvas.getContext('2d');\n if (!context) {\n resolve(null);\n return;\n }\n context.clearRect(0, 0, width, height);\n context.drawImage(image, 0, 0, width, height);\n resolve(canvas.toDataURL('image/png'));\n }\n catch (_a) {\n resolve(null);\n }\n };\n image.onerror = () => resolve(null);\n image.src = encodedSvg;\n });\n}\nexport function parseSvgElement(svgMarkup) {\n if (typeof DOMParser === 'undefined')\n return null;\n try {\n const documentNode = new DOMParser().parseFromString(svgMarkup, 'image/svg+xml');\n if (documentNode.querySelector('parsererror') || documentNode.querySelector('script')) {\n return null;\n }\n const root = documentNode.documentElement;\n if (!root || root.tagName.toLowerCase() !== 'svg')\n return null;\n const svg = root.cloneNode(true);\n svg.setAttribute('width', '40');\n svg.setAttribute('height', '40');\n svg.setAttribute('aria-hidden', 'true');\n svg.style.display = 'block';\n return svg;\n }\n catch (_a) {\n return null;\n }\n}\n//# sourceMappingURL=icons.js.map","import { blobUrlToDataUrl, getAccessibilityAnnouncement, isNativeSafeIconUri, isSvgIcon, normalizeIconSource, rasterizeSvgToPngDataUrl, DEFAULT_ICON_SYMBOL, } from './icons';\nconst VARIANT_ICONS = {\n success: 'checkmark.circle.fill',\n error: 'xmark.circle.fill',\n info: 'info.circle.fill',\n warning: 'exclamationmark.triangle.fill',\n loading: 'arrow.triangle.2.circlepath',\n};\nexport class ToastController {\n constructor(driver) {\n this.driver = driver;\n this.queue = [];\n this.current = null;\n this.isShowing = false;\n this.idCounter = 0;\n this.autoDismissTimer = null;\n this.autoDismissed = false;\n this.driver.subscribe({\n onDismiss: (event) => this.handleDismiss(event.id),\n onPress: (event) => this.handlePress(event.id),\n onActionPress: (event) => this.handleActionPress(event.id),\n });\n this.ref = {\n show: (config, options) => this.show(config, options),\n success: (title, config, options) => this.showVariant('success', title, config, options),\n error: (title, config, options) => this.showVariant('error', title, config, options),\n info: (title, config, options) => this.showVariant('info', title, config, options),\n warning: (title, config, options) => this.showVariant('warning', title, config, options),\n loading: (title, config, options) => this.showVariant('loading', title, config, options),\n update: (id, partial) => this.update(id, partial),\n promise: (promise, messages) => this.promise(promise, messages),\n dismiss: (id) => this.dismiss(id),\n dismissAll: () => this.dismissAll(),\n };\n }\n show(config, options) {\n var _a, _b;\n const id = (_a = config.id) !== null && _a !== void 0 ? _a : this.generateId();\n const entry = this.hydrateEntry(Object.assign(Object.assign({}, config), { id }));\n if ((options === null || options === void 0 ? void 0 : options.force) && this.isShowing) {\n this.queue.unshift(entry);\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss((_b = this.current) === null || _b === void 0 ? void 0 : _b.id);\n return id;\n }\n if (!this.isShowing) {\n this.presentToast(entry);\n return id;\n }\n this.queue.push(entry);\n this.prepareSvgIcon(entry);\n return id;\n }\n update(id, partial) {\n var _a;\n if (((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) === id) {\n this.current = this.hydrateEntry(Object.assign(Object.assign(Object.assign({}, this.current), partial), { id }), this.current);\n this.armAutoDismissTimer(this.current);\n void this.driver.update(this.buildPayload(this.current));\n this.prepareSvgIcon(this.current);\n return;\n }\n const index = this.queue.findIndex((entry) => entry.id === id);\n if (index === -1)\n return;\n const existing = this.queue[index];\n const updated = this.hydrateEntry(Object.assign(Object.assign(Object.assign({}, existing), partial), { id }), existing);\n this.queue[index] = updated;\n this.prepareSvgIcon(updated);\n }\n dismiss(id) {\n var _a;\n if (id && ((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n this.queue = this.queue.filter((entry) => entry.id !== id);\n return;\n }\n if (!this.current)\n return;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(this.current.id);\n }\n dismissAll() {\n this.queue = [];\n if (!this.current)\n return;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(this.current.id);\n }\n promise(promise, messages) {\n const loadingConfig = typeof messages.loading === 'string'\n ? { title: messages.loading }\n : Object.assign({}, messages.loading);\n if (loadingConfig.autoDismiss === undefined) {\n loadingConfig.autoDismiss = false;\n }\n if (!loadingConfig.icon) {\n loadingConfig.icon = VARIANT_ICONS.loading;\n }\n const id = this.show(loadingConfig);\n promise.then((value) => {\n const next = typeof messages.success === 'function' ? messages.success(value) : messages.success;\n const config = typeof next === 'string' ? { title: next } : Object.assign({}, next);\n if (!config.icon)\n config.icon = VARIANT_ICONS.success;\n if (config.autoDismiss === undefined)\n config.autoDismiss = true;\n if (config.duration === undefined)\n config.duration = 3000;\n this.update(id, config);\n }, (error) => {\n const next = typeof messages.error === 'function' ? messages.error(error) : messages.error;\n const config = typeof next === 'string' ? { title: next } : Object.assign({}, next);\n if (!config.icon)\n config.icon = VARIANT_ICONS.error;\n if (config.autoDismiss === undefined)\n config.autoDismiss = true;\n if (config.duration === undefined)\n config.duration = 3000;\n this.update(id, config);\n });\n return promise;\n }\n showVariant(variant, title, config, options) {\n var _a;\n const toastConfig = Object.assign(Object.assign({}, config), { title, icon: (_a = config === null || config === void 0 ? void 0 : config.icon) !== null && _a !== void 0 ? _a : VARIANT_ICONS[variant], _fallbackIcon: VARIANT_ICONS[variant] });\n if (variant === 'loading' && toastConfig.autoDismiss === undefined) {\n toastConfig.autoDismiss = false;\n }\n return this.show(toastConfig, options);\n }\n presentToast(entry) {\n var _a;\n this.isShowing = true;\n this.current = entry;\n this.armAutoDismissTimer(entry);\n (_a = entry.onShow) === null || _a === void 0 ? void 0 : _a.call(entry);\n void this.driver.show(this.buildPayload(entry));\n this.prepareSvgIcon(entry);\n }\n showNext() {\n const next = this.queue.shift();\n if (!next) {\n this.isShowing = false;\n this.current = null;\n return;\n }\n this.presentToast(next);\n }\n handleDismiss(id) {\n var _a, _b;\n if (!this.current || this.current.id !== id)\n return;\n const entry = this.current;\n this.clearAutoDismissTimer();\n if (this.autoDismissed) {\n (_a = entry.onAutoDismiss) === null || _a === void 0 ? void 0 : _a.call(entry);\n }\n (_b = entry.onHide) === null || _b === void 0 ? void 0 : _b.call(entry);\n this.autoDismissed = false;\n this.showNext();\n }\n handlePress(id) {\n if (!this.current || this.current.id !== id || !this.current.onPress)\n return;\n this.current.onPress();\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(id);\n }\n handleActionPress(id) {\n if (!this.current || this.current.id !== id || !this.current.action)\n return;\n this.current.action.onPress();\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(id);\n }\n armAutoDismissTimer(entry) {\n var _a, _b;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n const autoDismiss = (_a = entry.autoDismiss) !== null && _a !== void 0 ? _a : true;\n const duration = (_b = entry.duration) !== null && _b !== void 0 ? _b : 3000;\n if (!autoDismiss || duration <= 0)\n return;\n this.autoDismissTimer = setTimeout(() => {\n this.autoDismissTimer = null;\n this.autoDismissed = true;\n }, duration);\n }\n clearAutoDismissTimer() {\n if (!this.autoDismissTimer)\n return;\n clearTimeout(this.autoDismissTimer);\n this.autoDismissTimer = null;\n }\n hydrateEntry(config, previous) {\n var _a, _b, _c;\n const iconSourceUri = normalizeIconSource(config.iconSource);\n const rawIcon = typeof config.icon === 'string' ? config.icon : '';\n const rawSvg = !iconSourceUri && isSvgIcon(rawIcon) ? rawIcon.trim() : undefined;\n const fallbackIcon = (_b = (_a = config._fallbackIcon) !== null && _a !== void 0 ? _a : previous === null || previous === void 0 ? void 0 : previous._fallbackIcon) !== null && _b !== void 0 ? _b : DEFAULT_ICON_SYMBOL;\n const iconSymbol = rawSvg ? fallbackIcon : rawIcon || fallbackIcon;\n const resolvedIconUri = iconSourceUri && isNativeSafeIconUri(iconSourceUri)\n ? iconSourceUri\n : rawSvg && (previous === null || previous === void 0 ? void 0 : previous.rawSvg) === rawSvg\n ? previous.resolvedIconUri\n : iconSourceUri && (previous === null || previous === void 0 ? void 0 : previous.iconSourceUri) === iconSourceUri\n ? previous.resolvedIconUri\n : undefined;\n return Object.assign(Object.assign({}, config), { id: config.id, iconSymbol,\n iconSourceUri,\n rawSvg,\n resolvedIconUri, isPreparingSvg: rawSvg ? ((_c = previous === null || previous === void 0 ? void 0 : previous.isPreparingSvg) !== null && _c !== void 0 ? _c : false) : false });\n }\n buildPayload(entry) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n const iconUri = (_b = (_a = entry.iconSourceUri) !== null && _a !== void 0 ? _a : entry.resolvedIconUri) !== null && _b !== void 0 ? _b : '';\n return {\n id: entry.id,\n icon: entry.iconSymbol,\n iconUri,\n webIconUri: (_c = entry.iconSourceUri) !== null && _c !== void 0 ? _c : iconUri,\n iconSvg: entry.iconSourceUri ? '' : ((_d = entry.rawSvg) !== null && _d !== void 0 ? _d : ''),\n title: (_e = entry.title) !== null && _e !== void 0 ? _e : '',\n message: (_f = entry.message) !== null && _f !== void 0 ? _f : '',\n duration: (_g = entry.duration) !== null && _g !== void 0 ? _g : 3000,\n autoDismiss: (_h = entry.autoDismiss) !== null && _h !== void 0 ? _h : true,\n enableSwipeDismiss: (_j = entry.enableSwipeDismiss) !== null && _j !== void 0 ? _j : true,\n useDynamicIsland: true,\n accentColor: entry.accentColor,\n strokeColor: entry.strokeColor,\n disableBackdropSampling: (_k = entry.disableBackdropSampling) !== null && _k !== void 0 ? _k : false,\n actionLabel: (_m = (_l = entry.action) === null || _l === void 0 ? void 0 : _l.label) !== null && _m !== void 0 ? _m : '',\n accessibilityAnnouncement: getAccessibilityAnnouncement(entry),\n };\n }\n prepareSvgIcon(entry) {\n var _a, _b;\n if (entry.isPreparingSvg || entry.resolvedIconUri) {\n return;\n }\n const needsSvgRaster = Boolean(entry.rawSvg);\n const needsBlobConversion = Boolean((_a = entry.iconSourceUri) === null || _a === void 0 ? void 0 : _a.startsWith('blob:'));\n if (!needsSvgRaster && !needsBlobConversion) {\n return;\n }\n entry.isPreparingSvg = true;\n const resolveAsset = needsSvgRaster && entry.rawSvg\n ? rasterizeSvgToPngDataUrl(entry.rawSvg)\n : blobUrlToDataUrl((_b = entry.iconSourceUri) !== null && _b !== void 0 ? _b : '');\n void resolveAsset.then((dataUrl) => {\n var _a;\n entry.isPreparingSvg = false;\n if (!dataUrl)\n return;\n entry.resolvedIconUri = dataUrl;\n if (((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) === entry.id) {\n void this.driver.update(this.buildPayload(entry));\n }\n });\n }\n generateId() {\n this.idCounter += 1;\n return `toast-${this.idCounter}-${Date.now()}`;\n }\n}\n//# sourceMappingURL=controller.js.map","import { registerPlugin } from '@capacitor/core';\nexport const PrettyToastBridge = registerPlugin('PrettyToast', {\n web: () => import('./web').then((module) => new module.PrettyToastWeb()),\n});\n//# sourceMappingURL=internal-plugin.js.map","import { PrettyToastBridge } from './internal-plugin';\nexport class CapacitorToastDriver {\n constructor() {\n this.subscribed = false;\n }\n subscribe(events) {\n if (this.subscribed)\n return;\n this.subscribed = true;\n void PrettyToastBridge.addListener('toastDismiss', events.onDismiss);\n void PrettyToastBridge.addListener('toastPress', events.onPress);\n void PrettyToastBridge.addListener('toastActionPress', events.onActionPress);\n }\n show(payload) {\n return PrettyToastBridge.showCurrentToast(payload);\n }\n update(payload) {\n return PrettyToastBridge.updateCurrentToast(payload);\n }\n dismiss(id) {\n return PrettyToastBridge.dismissCurrentToast(id ? { id } : {});\n }\n}\n//# sourceMappingURL=driver.js.map","import { ToastController } from './controller';\nimport { CapacitorToastDriver } from './driver';\nconst controller = new ToastController(new CapacitorToastDriver());\nexport const toast = controller.ref;\n//# sourceMappingURL=toast.js.map","import { DEFAULT_ICON_SYMBOL, getSymbolIcon, parseSvgElement } from './icons';\nconst ENTER_MS = 450;\nconst EXIT_MS = 350;\nconst ENTER_EASING = 'cubic-bezier(0.22, 1.2, 0.36, 1)';\nconst EXIT_EASING = 'cubic-bezier(0.4, 0, 0.2, 1)';\nconst SWIPE_THRESHOLD = -40;\nexport class WebToastRenderer {\n constructor(events) {\n this.events = events;\n this.current = null;\n this.root = null;\n this.iconSlot = null;\n this.titleNode = null;\n this.messageNode = null;\n this.actionButton = null;\n this.autoDismissTimer = null;\n this.exitTimer = null;\n this.prefersDark = false;\n this.dragStartY = null;\n this.dragY = 0;\n this.isDragging = false;\n if (typeof window !== 'undefined' && typeof window.matchMedia === 'function') {\n this.prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n }\n show(payload) {\n this.current = payload;\n this.clearExitTimer();\n this.clearAutoDismissTimer();\n this.dragStartY = null;\n this.dragY = 0;\n this.isDragging = false;\n this.ensureElements();\n this.render(payload);\n this.applyEnteringState();\n requestAnimationFrame(() => {\n var _a;\n if (!this.root || ((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) !== payload.id)\n return;\n this.root.style.transform = 'translate(-50%, 0) scale(1)';\n this.root.style.opacity = '1';\n });\n this.armAutoDismiss(payload);\n }\n update(payload) {\n if (!this.root || !this.current || this.current.id !== payload.id)\n return;\n this.current = payload;\n this.render(payload);\n this.armAutoDismiss(payload);\n }\n dismiss(id) {\n if (!this.current || (id && this.current.id !== id) || !this.root)\n return;\n this.clearAutoDismissTimer();\n this.startExit();\n }\n ensureElements() {\n if (typeof document === 'undefined')\n return;\n if (this.root) {\n if (!this.root.isConnected) {\n document.body.appendChild(this.root);\n }\n return;\n }\n const root = document.createElement('div');\n root.setAttribute('role', 'status');\n root.setAttribute('aria-live', 'polite');\n root.style.position = 'fixed';\n root.style.top = 'calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 10px)';\n root.style.left = '50%';\n root.style.zIndex = '2147483647';\n root.style.width = 'min(360px, calc(100vw - 20px))';\n root.style.boxSizing = 'border-box';\n root.style.background = '#000';\n root.style.borderRadius = '30px';\n root.style.padding = '14px 20px';\n root.style.display = 'flex';\n root.style.alignItems = 'center';\n root.style.gap = '10px';\n root.style.fontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif';\n root.style.userSelect = 'none';\n root.style.touchAction = 'none';\n root.style.boxShadow = '0 10px 30px rgba(0, 0, 0, 0.35)';\n root.style.transform = 'translate(-50%, -40px) scale(0.8)';\n root.style.opacity = '0';\n root.style.transition = `transform ${ENTER_MS}ms ${ENTER_EASING}, opacity ${ENTER_MS}ms ${ENTER_EASING}`;\n root.addEventListener('pointerdown', (event) => this.handlePointerDown(event));\n root.addEventListener('pointermove', (event) => this.handlePointerMove(event));\n root.addEventListener('pointerup', (event) => this.handlePointerUp(event));\n root.addEventListener('pointercancel', (event) => this.handlePointerUp(event));\n root.addEventListener('click', () => {\n if (!this.current || this.dragY < -4)\n return;\n this.events.onPress(this.current.id);\n });\n const iconSlot = document.createElement('div');\n iconSlot.style.width = '50px';\n iconSlot.style.flexShrink = '0';\n iconSlot.style.display = 'flex';\n iconSlot.style.alignItems = 'center';\n iconSlot.style.justifyContent = 'center';\n iconSlot.style.fontSize = '35px';\n iconSlot.style.lineHeight = '1';\n const textWrap = document.createElement('div');\n textWrap.style.flex = '1';\n textWrap.style.minWidth = '0';\n const titleNode = document.createElement('div');\n titleNode.style.color = '#fff';\n titleNode.style.fontWeight = '600';\n titleNode.style.fontSize = '15px';\n titleNode.style.lineHeight = '20px';\n titleNode.style.wordBreak = 'break-word';\n const messageNode = document.createElement('div');\n messageNode.style.color = 'rgba(255, 255, 255, 0.6)';\n messageNode.style.fontSize = '12px';\n messageNode.style.lineHeight = '16px';\n messageNode.style.wordBreak = 'break-word';\n textWrap.appendChild(titleNode);\n textWrap.appendChild(messageNode);\n const actionButton = document.createElement('button');\n actionButton.type = 'button';\n actionButton.style.flexShrink = '0';\n actionButton.style.marginLeft = '4px';\n actionButton.style.padding = '6px 12px';\n actionButton.style.background = 'rgba(255,255,255,0.12)';\n actionButton.style.border = 'none';\n actionButton.style.borderRadius = '999px';\n actionButton.style.fontSize = '13px';\n actionButton.style.fontWeight = '600';\n actionButton.style.cursor = 'pointer';\n actionButton.style.display = 'none';\n actionButton.addEventListener('click', (event) => {\n event.stopPropagation();\n if (!this.current)\n return;\n this.events.onActionPress(this.current.id);\n });\n actionButton.addEventListener('pointerdown', (event) => event.stopPropagation());\n root.appendChild(iconSlot);\n root.appendChild(textWrap);\n root.appendChild(actionButton);\n document.body.appendChild(root);\n this.root = root;\n this.iconSlot = iconSlot;\n this.titleNode = titleNode;\n this.messageNode = messageNode;\n this.actionButton = actionButton;\n }\n render(payload) {\n var _a, _b, _c;\n if (!this.root || !this.iconSlot || !this.titleNode || !this.messageNode || !this.actionButton) {\n return;\n }\n const symbolInfo = getSymbolIcon(payload.icon);\n const accentColor = (_a = payload.accentColor) !== null && _a !== void 0 ? _a : symbolInfo.color;\n const outline = payload.strokeColor\n ? payload.strokeColor\n : payload.disableBackdropSampling\n ? 'rgba(255,255,255,0.06)'\n : this.prefersDark\n ? `color-mix(in srgb, ${accentColor} 20%, transparent)`\n : '';\n this.root.style.border = outline ? `2px solid ${outline}` : 'none';\n this.root.style.cursor = payload.actionLabel || payload.icon ? 'pointer' : 'default';\n this.root.setAttribute('aria-label', payload.accessibilityAnnouncement || '');\n this.iconSlot.style.color = accentColor;\n this.iconSlot.replaceChildren();\n const renderableUri = payload.webIconUri || payload.iconUri;\n if (renderableUri) {\n const image = document.createElement('img');\n image.src = renderableUri;\n image.alt = '';\n image.style.width = '40px';\n image.style.height = '40px';\n image.style.objectFit = 'contain';\n this.iconSlot.appendChild(image);\n }\n else if (payload.iconSvg) {\n const svg = parseSvgElement(payload.iconSvg);\n if (svg) {\n this.iconSlot.appendChild(svg);\n }\n else {\n this.iconSlot.textContent = (_b = getSymbolIcon(payload.icon || DEFAULT_ICON_SYMBOL).glyph) !== null && _b !== void 0 ? _b : '';\n }\n }\n else {\n const glyph = (_c = symbolInfo.glyph) !== null && _c !== void 0 ? _c : getSymbolIcon(DEFAULT_ICON_SYMBOL).glyph;\n if (glyph) {\n this.iconSlot.textContent = glyph;\n }\n else {\n this.iconSlot.innerHTML =\n '<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2.25a1 1 0 0 1 1 1v.6a7 7 0 0 1 6 6.93v3.36l1.38 2.07A1.25 1.25 0 0 1 19.34 18H4.66a1.25 1.25 0 0 1-1.04-1.94L5 14v-3.22a7 7 0 0 1 6-6.93v-.6a1 1 0 0 1 1-1Zm-2.5 17.25a2.5 2.5 0 0 0 5 0h-5Z\" /></svg>';\n }\n }\n this.titleNode.textContent = payload.title;\n this.titleNode.style.display = payload.title ? 'block' : 'none';\n this.messageNode.textContent = payload.message;\n this.messageNode.style.display = payload.message ? 'block' : 'none';\n this.messageNode.style.marginTop = payload.title && payload.message ? '4px' : '0';\n this.actionButton.textContent = payload.actionLabel;\n this.actionButton.style.color = accentColor;\n this.actionButton.style.display = payload.actionLabel ? 'inline-flex' : 'none';\n }\n armAutoDismiss(payload) {\n this.clearAutoDismissTimer();\n if (!payload.autoDismiss || payload.duration <= 0)\n return;\n this.autoDismissTimer = setTimeout(() => {\n this.startExit();\n }, payload.duration);\n }\n startExit() {\n if (!this.root || !this.current || this.exitTimer)\n return;\n const currentId = this.current.id;\n this.root.style.transition = `transform ${EXIT_MS}ms ${EXIT_EASING}, opacity ${EXIT_MS}ms ${EXIT_EASING}`;\n this.root.style.transform = `translate(-50%, ${this.dragY - 40}px) scale(1)`;\n this.root.style.opacity = '0';\n this.exitTimer = setTimeout(() => {\n var _a;\n this.exitTimer = null;\n this.clearAutoDismissTimer();\n this.dragY = 0;\n this.isDragging = false;\n this.dragStartY = null;\n if ((_a = this.root) === null || _a === void 0 ? void 0 : _a.isConnected) {\n this.root.remove();\n }\n this.root = null;\n this.iconSlot = null;\n this.titleNode = null;\n this.messageNode = null;\n this.actionButton = null;\n this.current = null;\n this.events.onDismiss(currentId);\n }, EXIT_MS);\n }\n applyEnteringState() {\n if (!this.root)\n return;\n this.root.style.transition = `transform ${ENTER_MS}ms ${ENTER_EASING}, opacity ${ENTER_MS}ms ${ENTER_EASING}`;\n this.root.style.transform = 'translate(-50%, -40px) scale(0.8)';\n this.root.style.opacity = '0';\n }\n handlePointerDown(event) {\n var _a, _b;\n if (event.button !== 0)\n return;\n this.dragStartY = event.clientY;\n this.dragY = 0;\n (_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.setPointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);\n }\n handlePointerMove(event) {\n if (!this.root || this.dragStartY === null)\n return;\n const nextDragY = Math.min(0, event.clientY - this.dragStartY);\n this.dragY = nextDragY;\n this.isDragging = nextDragY < -2;\n if (!this.isDragging)\n return;\n this.root.style.transition = 'none';\n this.root.style.transform = `translate(-50%, ${nextDragY}px) scale(1)`;\n }\n handlePointerUp(event) {\n var _a, _b;\n if (!this.root || this.dragStartY === null)\n return;\n this.dragStartY = null;\n (_b = (_a = this.root).releasePointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);\n if (this.dragY < SWIPE_THRESHOLD) {\n this.startExit();\n return;\n }\n this.isDragging = false;\n this.dragY = 0;\n this.root.style.transition = `transform ${EXIT_MS}ms ${EXIT_EASING}, opacity ${EXIT_MS}ms ${EXIT_EASING}`;\n this.root.style.transform = 'translate(-50%, 0) scale(1)';\n }\n clearAutoDismissTimer() {\n if (!this.autoDismissTimer)\n return;\n clearTimeout(this.autoDismissTimer);\n this.autoDismissTimer = null;\n }\n clearExitTimer() {\n if (!this.exitTimer)\n return;\n clearTimeout(this.exitTimer);\n this.exitTimer = null;\n }\n}\n//# sourceMappingURL=web-renderer.js.map","import { WebPlugin } from '@capacitor/core';\nimport { WebToastRenderer } from './web-renderer';\nexport class PrettyToastWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.renderer = new WebToastRenderer({\n onDismiss: (id) => {\n this.notifyListeners('toastDismiss', { id });\n },\n onPress: (id) => {\n this.notifyListeners('toastPress', { id });\n },\n onActionPress: (id) => {\n this.notifyListeners('toastActionPress', { id });\n },\n });\n }\n async showCurrentToast(options) {\n this.renderer.show(options);\n }\n async updateCurrentToast(options) {\n this.renderer.update(options);\n }\n async dismissCurrentToast(options) {\n this.renderer.dismiss(options === null || options === void 0 ? void 0 : options.id);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/icons.js","esm/controller.js","esm/internal-plugin.js","esm/driver.js","esm/toast.js","esm/web-renderer.js","esm/web.js"],"sourcesContent":["const ICON_MAP = [\n ['checkmark', { glyph: '✓', color: '#30D158' }],\n ['xmark', { glyph: '✕', color: '#FF453A' }],\n ['info', { glyph: 'ℹ', color: '#0A84FF' }],\n ['exclamation', { glyph: '!', color: '#FF9F0A' }],\n ['heart', { glyph: '♥', color: '#FF375F' }],\n ['arrow.up', { glyph: '↑', color: '#0A84FF' }],\n ['arrow.down', { glyph: '↓', color: '#0A84FF' }],\n ['arrow', { glyph: '↑', color: '#0A84FF' }],\n ['envelope', { glyph: '✉', color: '#FFFFFF' }],\n ['mail', { glyph: '✉', color: '#FFFFFF' }],\n ['wifi', { glyph: '◉', color: '#FFFFFF' }],\n];\nexport const DEFAULT_ICON_SYMBOL = 'bell.badge.fill';\nconst svgRasterCache = new Map();\nexport function isSvgIcon(value) {\n return typeof value === 'string' && value.trimStart().startsWith('<svg');\n}\nexport function normalizeIconSource(source) {\n if (!source)\n return undefined;\n if (typeof source === 'string') {\n return source.trim() || undefined;\n }\n if (typeof source.uri === 'string') {\n return source.uri.trim() || undefined;\n }\n return undefined;\n}\nexport function getSymbolIcon(symbol) {\n const normalized = symbol !== null && symbol !== void 0 ? symbol : '';\n for (const [key, info] of ICON_MAP) {\n if (normalized.includes(key))\n return info;\n }\n return { glyph: null, color: '#FFFFFF' };\n}\nexport function getAccessibilityAnnouncement(config) {\n if (config.accessibilityAnnouncement !== undefined) {\n return config.accessibilityAnnouncement;\n }\n return [config.title, config.message].filter(Boolean).join('. ');\n}\nexport function isNativeSafeIconUri(uri) {\n if (!uri)\n return false;\n return (uri.startsWith('https://') ||\n uri.startsWith('http://') ||\n uri.startsWith('file://') ||\n uri.startsWith('data:') ||\n uri.startsWith('/'));\n}\nexport async function rasterizeSvgToPngDataUrl(svg) {\n let pending = svgRasterCache.get(svg);\n if (!pending) {\n pending = rasterizeSvgToPngDataUrlInternal(svg);\n svgRasterCache.set(svg, pending);\n }\n return pending;\n}\nexport async function blobUrlToDataUrl(uri) {\n if (typeof window === 'undefined' || typeof fetch === 'undefined' || typeof FileReader === 'undefined') {\n return null;\n }\n try {\n const response = await fetch(uri);\n const blob = await response.blob();\n return await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n resolve(typeof reader.result === 'string' ? reader.result : null);\n };\n reader.onerror = () => resolve(null);\n reader.readAsDataURL(blob);\n });\n }\n catch (_a) {\n return null;\n }\n}\nfunction rasterizeSvgToPngDataUrlInternal(svg) {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return Promise.resolve(null);\n }\n const normalizedSvg = svg.includes('xmlns=') ? svg : svg.replace('<svg', '<svg xmlns=\"http://www.w3.org/2000/svg\"');\n const encodedSvg = (() => {\n try {\n const bytes = new TextEncoder().encode(normalizedSvg);\n const binaryString = Array.from(bytes, (byte) => String.fromCharCode(byte)).join('');\n const base64 = btoa(binaryString);\n return `data:image/svg+xml;base64,${base64}`;\n }\n catch (_a) {\n return `data:image/svg+xml,${encodeURIComponent(normalizedSvg)}`;\n }\n })();\n return new Promise((resolve) => {\n const image = new Image();\n image.onload = () => {\n try {\n const sourceWidth = image.naturalWidth || 96;\n const sourceHeight = image.naturalHeight || 96;\n const maxSide = Math.max(sourceWidth, sourceHeight, 1);\n const scale = 128 / maxSide;\n const width = Math.max(1, Math.round(sourceWidth * scale));\n const height = Math.max(1, Math.round(sourceHeight * scale));\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const context = canvas.getContext('2d');\n if (!context) {\n resolve(null);\n return;\n }\n context.clearRect(0, 0, width, height);\n context.drawImage(image, 0, 0, width, height);\n resolve(canvas.toDataURL('image/png'));\n }\n catch (_a) {\n resolve(null);\n }\n };\n image.onerror = () => resolve(null);\n image.src = encodedSvg;\n });\n}\nexport function parseSvgElement(svgMarkup) {\n if (typeof DOMParser === 'undefined')\n return null;\n try {\n const documentNode = new DOMParser().parseFromString(svgMarkup, 'image/svg+xml');\n if (documentNode.querySelector('parsererror') || documentNode.querySelector('script')) {\n return null;\n }\n const root = documentNode.documentElement;\n if (!root || root.tagName.toLowerCase() !== 'svg')\n return null;\n const svg = root.cloneNode(true);\n svg.setAttribute('width', '40');\n svg.setAttribute('height', '40');\n svg.setAttribute('aria-hidden', 'true');\n svg.style.display = 'block';\n return svg;\n }\n catch (_a) {\n return null;\n }\n}\n//# sourceMappingURL=icons.js.map","import { blobUrlToDataUrl, getAccessibilityAnnouncement, isNativeSafeIconUri, isSvgIcon, normalizeIconSource, rasterizeSvgToPngDataUrl, DEFAULT_ICON_SYMBOL, } from './icons';\nconst VARIANT_ICONS = {\n success: 'checkmark.circle.fill',\n error: 'xmark.circle.fill',\n info: 'info.circle.fill',\n warning: 'exclamationmark.triangle.fill',\n loading: 'arrow.triangle.2.circlepath',\n};\nconst TRANSPARENT_PNG_DATA_URL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO6rOewAAAAASUVORK5CYII=';\nfunction resolveNativeIconUri(entry) {\n const iconSourceUri = entry.iconSourceUri;\n if (iconSourceUri && isNativeSafeIconUri(iconSourceUri)) {\n return iconSourceUri;\n }\n if (entry.resolvedIconUri !== undefined) {\n return entry.resolvedIconUri;\n }\n return entry.rawSvg || iconSourceUri ? TRANSPARENT_PNG_DATA_URL : '';\n}\nexport class ToastController {\n constructor(driver) {\n this.driver = driver;\n this.queue = [];\n this.current = null;\n this.isShowing = false;\n this.idCounter = 0;\n this.autoDismissTimer = null;\n this.autoDismissed = false;\n this.driver.subscribe({\n onDismiss: (event) => this.handleDismiss(event.id),\n onPress: (event) => this.handlePress(event.id),\n onActionPress: (event) => this.handleActionPress(event.id),\n });\n this.ref = {\n show: (config, options) => this.show(config, options),\n success: (title, config, options) => this.showVariant('success', title, config, options),\n error: (title, config, options) => this.showVariant('error', title, config, options),\n info: (title, config, options) => this.showVariant('info', title, config, options),\n warning: (title, config, options) => this.showVariant('warning', title, config, options),\n loading: (title, config, options) => this.showVariant('loading', title, config, options),\n update: (id, partial) => this.update(id, partial),\n promise: (promise, messages) => this.promise(promise, messages),\n dismiss: (id) => this.dismiss(id),\n dismissAll: () => this.dismissAll(),\n };\n }\n show(config, options) {\n var _a, _b;\n const id = (_a = config.id) !== null && _a !== void 0 ? _a : this.generateId();\n const entry = this.hydrateEntry(Object.assign(Object.assign({}, config), { id }));\n if ((options === null || options === void 0 ? void 0 : options.force) && this.isShowing) {\n this.queue.unshift(entry);\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss((_b = this.current) === null || _b === void 0 ? void 0 : _b.id);\n return id;\n }\n if (!this.isShowing) {\n this.presentToast(entry);\n return id;\n }\n this.queue.push(entry);\n this.prepareSvgIcon(entry);\n return id;\n }\n update(id, partial) {\n var _a;\n if (((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) === id) {\n this.current = this.hydrateEntry(Object.assign(Object.assign(Object.assign({}, this.current), partial), { id }), this.current);\n this.armAutoDismissTimer(this.current);\n void this.driver.update(this.buildPayload(this.current));\n this.prepareSvgIcon(this.current);\n return;\n }\n const index = this.queue.findIndex((entry) => entry.id === id);\n if (index === -1)\n return;\n const existing = this.queue[index];\n const updated = this.hydrateEntry(Object.assign(Object.assign(Object.assign({}, existing), partial), { id }), existing);\n this.queue[index] = updated;\n this.prepareSvgIcon(updated);\n }\n dismiss(id) {\n var _a;\n if (id && ((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n this.queue = this.queue.filter((entry) => entry.id !== id);\n return;\n }\n if (!this.current)\n return;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(this.current.id);\n }\n dismissAll() {\n this.queue = [];\n if (!this.current)\n return;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(this.current.id);\n }\n promise(promise, messages) {\n const loadingConfig = typeof messages.loading === 'string'\n ? { title: messages.loading }\n : Object.assign({}, messages.loading);\n if (loadingConfig.autoDismiss === undefined) {\n loadingConfig.autoDismiss = false;\n }\n if (!loadingConfig.icon) {\n loadingConfig.icon = VARIANT_ICONS.loading;\n }\n const id = this.show(loadingConfig);\n promise.then((value) => {\n const next = typeof messages.success === 'function' ? messages.success(value) : messages.success;\n const config = typeof next === 'string' ? { title: next } : Object.assign({}, next);\n if (!config.icon)\n config.icon = VARIANT_ICONS.success;\n if (config.autoDismiss === undefined)\n config.autoDismiss = true;\n if (config.duration === undefined)\n config.duration = 3000;\n this.update(id, config);\n }, (error) => {\n const next = typeof messages.error === 'function' ? messages.error(error) : messages.error;\n const config = typeof next === 'string' ? { title: next } : Object.assign({}, next);\n if (!config.icon)\n config.icon = VARIANT_ICONS.error;\n if (config.autoDismiss === undefined)\n config.autoDismiss = true;\n if (config.duration === undefined)\n config.duration = 3000;\n this.update(id, config);\n });\n return promise;\n }\n showVariant(variant, title, config, options) {\n var _a;\n const toastConfig = Object.assign(Object.assign({}, config), { title, icon: (_a = config === null || config === void 0 ? void 0 : config.icon) !== null && _a !== void 0 ? _a : VARIANT_ICONS[variant], _fallbackIcon: VARIANT_ICONS[variant] });\n if (variant === 'loading' && toastConfig.autoDismiss === undefined) {\n toastConfig.autoDismiss = false;\n }\n return this.show(toastConfig, options);\n }\n presentToast(entry) {\n var _a;\n this.isShowing = true;\n this.current = entry;\n this.armAutoDismissTimer(entry);\n (_a = entry.onShow) === null || _a === void 0 ? void 0 : _a.call(entry);\n void this.driver.show(this.buildPayload(entry));\n this.prepareSvgIcon(entry);\n }\n showNext() {\n const next = this.queue.shift();\n if (!next) {\n this.isShowing = false;\n this.current = null;\n return;\n }\n this.presentToast(next);\n }\n handleDismiss(id) {\n var _a, _b;\n if (!this.current || this.current.id !== id)\n return;\n const entry = this.current;\n this.clearAutoDismissTimer();\n if (this.autoDismissed) {\n (_a = entry.onAutoDismiss) === null || _a === void 0 ? void 0 : _a.call(entry);\n }\n (_b = entry.onHide) === null || _b === void 0 ? void 0 : _b.call(entry);\n this.autoDismissed = false;\n this.showNext();\n }\n handlePress(id) {\n if (!this.current || this.current.id !== id || !this.current.onPress)\n return;\n this.current.onPress();\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(id);\n }\n handleActionPress(id) {\n if (!this.current || this.current.id !== id || !this.current.action)\n return;\n this.current.action.onPress();\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n void this.driver.dismiss(id);\n }\n armAutoDismissTimer(entry) {\n var _a, _b;\n this.clearAutoDismissTimer();\n this.autoDismissed = false;\n const autoDismiss = (_a = entry.autoDismiss) !== null && _a !== void 0 ? _a : true;\n const duration = (_b = entry.duration) !== null && _b !== void 0 ? _b : 3000;\n if (!autoDismiss || duration <= 0)\n return;\n this.autoDismissTimer = setTimeout(() => {\n this.autoDismissTimer = null;\n this.autoDismissed = true;\n }, duration);\n }\n clearAutoDismissTimer() {\n if (!this.autoDismissTimer)\n return;\n clearTimeout(this.autoDismissTimer);\n this.autoDismissTimer = null;\n }\n hydrateEntry(config, previous) {\n var _a, _b, _c;\n const iconSourceUri = normalizeIconSource(config.iconSource);\n const rawIcon = typeof config.icon === 'string' ? config.icon : '';\n const rawSvg = !iconSourceUri && isSvgIcon(rawIcon) ? rawIcon.trim() : undefined;\n const fallbackIcon = (_b = (_a = config._fallbackIcon) !== null && _a !== void 0 ? _a : previous === null || previous === void 0 ? void 0 : previous._fallbackIcon) !== null && _b !== void 0 ? _b : DEFAULT_ICON_SYMBOL;\n const iconSymbol = rawSvg ? fallbackIcon : rawIcon || fallbackIcon;\n const resolvedIconUri = iconSourceUri && isNativeSafeIconUri(iconSourceUri)\n ? iconSourceUri\n : rawSvg && (previous === null || previous === void 0 ? void 0 : previous.rawSvg) === rawSvg\n ? previous.resolvedIconUri\n : iconSourceUri && (previous === null || previous === void 0 ? void 0 : previous.iconSourceUri) === iconSourceUri\n ? previous.resolvedIconUri\n : undefined;\n return Object.assign(Object.assign({}, config), { id: config.id, iconSymbol,\n iconSourceUri,\n rawSvg,\n resolvedIconUri, isPreparingSvg: rawSvg ? ((_c = previous === null || previous === void 0 ? void 0 : previous.isPreparingSvg) !== null && _c !== void 0 ? _c : false) : false });\n }\n buildPayload(entry) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const nativeIconUri = resolveNativeIconUri(entry);\n return {\n id: entry.id,\n icon: entry.iconSymbol,\n iconUri: nativeIconUri,\n webIconUri: (_a = entry.iconSourceUri) !== null && _a !== void 0 ? _a : nativeIconUri,\n iconSvg: entry.iconSourceUri ? '' : ((_b = entry.rawSvg) !== null && _b !== void 0 ? _b : ''),\n title: (_c = entry.title) !== null && _c !== void 0 ? _c : '',\n message: (_d = entry.message) !== null && _d !== void 0 ? _d : '',\n duration: (_e = entry.duration) !== null && _e !== void 0 ? _e : 3000,\n autoDismiss: (_f = entry.autoDismiss) !== null && _f !== void 0 ? _f : true,\n enableSwipeDismiss: (_g = entry.enableSwipeDismiss) !== null && _g !== void 0 ? _g : true,\n useDynamicIsland: true,\n accentColor: entry.accentColor,\n strokeColor: entry.strokeColor,\n disableBackdropSampling: (_h = entry.disableBackdropSampling) !== null && _h !== void 0 ? _h : false,\n actionLabel: (_k = (_j = entry.action) === null || _j === void 0 ? void 0 : _j.label) !== null && _k !== void 0 ? _k : '',\n accessibilityAnnouncement: getAccessibilityAnnouncement(entry),\n };\n }\n prepareSvgIcon(entry) {\n var _a, _b;\n if (entry.isPreparingSvg || entry.resolvedIconUri) {\n return;\n }\n const needsSvgRaster = Boolean(entry.rawSvg);\n const needsBlobConversion = Boolean((_a = entry.iconSourceUri) === null || _a === void 0 ? void 0 : _a.startsWith('blob:'));\n if (!needsSvgRaster && !needsBlobConversion) {\n return;\n }\n entry.isPreparingSvg = true;\n const resolveAsset = needsSvgRaster && entry.rawSvg\n ? rasterizeSvgToPngDataUrl(entry.rawSvg)\n : blobUrlToDataUrl((_b = entry.iconSourceUri) !== null && _b !== void 0 ? _b : '');\n void resolveAsset.then((dataUrl) => {\n var _a;\n entry.isPreparingSvg = false;\n if (!dataUrl)\n return;\n entry.resolvedIconUri = dataUrl;\n if (((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) === entry.id) {\n void this.driver.update(this.buildPayload(entry));\n }\n });\n }\n generateId() {\n this.idCounter += 1;\n return `toast-${this.idCounter}-${Date.now()}`;\n }\n}\n//# sourceMappingURL=controller.js.map","import { registerPlugin } from '@capacitor/core';\nexport const PrettyToastBridge = registerPlugin('PrettyToast', {\n web: () => import('./web').then((module) => new module.PrettyToastWeb()),\n});\n//# sourceMappingURL=internal-plugin.js.map","import { PrettyToastBridge } from './internal-plugin';\nexport class CapacitorToastDriver {\n constructor() {\n this.subscribed = false;\n }\n subscribe(events) {\n if (this.subscribed)\n return;\n this.subscribed = true;\n void PrettyToastBridge.addListener('toastDismiss', events.onDismiss);\n void PrettyToastBridge.addListener('toastPress', events.onPress);\n void PrettyToastBridge.addListener('toastActionPress', events.onActionPress);\n }\n show(payload) {\n return PrettyToastBridge.showCurrentToast(payload);\n }\n update(payload) {\n return PrettyToastBridge.updateCurrentToast(payload);\n }\n dismiss(id) {\n return PrettyToastBridge.dismissCurrentToast(id ? { id } : {});\n }\n}\n//# sourceMappingURL=driver.js.map","import { ToastController } from './controller';\nimport { CapacitorToastDriver } from './driver';\nconst controller = new ToastController(new CapacitorToastDriver());\nexport const toast = controller.ref;\n//# sourceMappingURL=toast.js.map","import { DEFAULT_ICON_SYMBOL, getSymbolIcon, parseSvgElement } from './icons';\nconst ENTER_MS = 450;\nconst EXIT_MS = 350;\nconst ENTER_EASING = 'cubic-bezier(0.22, 1.2, 0.36, 1)';\nconst EXIT_EASING = 'cubic-bezier(0.4, 0, 0.2, 1)';\nconst SWIPE_THRESHOLD = -40;\nexport class WebToastRenderer {\n constructor(events) {\n this.events = events;\n this.current = null;\n this.root = null;\n this.iconSlot = null;\n this.titleNode = null;\n this.messageNode = null;\n this.actionButton = null;\n this.autoDismissTimer = null;\n this.exitTimer = null;\n this.prefersDark = false;\n this.dragStartY = null;\n this.dragY = 0;\n this.isDragging = false;\n if (typeof window !== 'undefined' && typeof window.matchMedia === 'function') {\n this.prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n }\n show(payload) {\n this.current = payload;\n this.clearExitTimer();\n this.clearAutoDismissTimer();\n this.dragStartY = null;\n this.dragY = 0;\n this.isDragging = false;\n this.ensureElements();\n this.render(payload);\n this.applyEnteringState();\n requestAnimationFrame(() => {\n var _a;\n if (!this.root || ((_a = this.current) === null || _a === void 0 ? void 0 : _a.id) !== payload.id)\n return;\n this.root.style.transform = 'translate(-50%, 0) scale(1)';\n this.root.style.opacity = '1';\n });\n this.armAutoDismiss(payload);\n }\n update(payload) {\n if (!this.root || !this.current || this.current.id !== payload.id)\n return;\n this.current = payload;\n this.render(payload);\n this.armAutoDismiss(payload);\n }\n dismiss(id) {\n if (!this.current || (id && this.current.id !== id) || !this.root)\n return;\n this.clearAutoDismissTimer();\n this.startExit();\n }\n ensureElements() {\n if (typeof document === 'undefined')\n return;\n if (this.root) {\n if (!this.root.isConnected) {\n document.body.appendChild(this.root);\n }\n return;\n }\n const root = document.createElement('div');\n root.setAttribute('role', 'status');\n root.setAttribute('aria-live', 'polite');\n root.style.position = 'fixed';\n root.style.top = 'calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 10px)';\n root.style.left = '50%';\n root.style.zIndex = '2147483647';\n root.style.width = 'min(360px, calc(100vw - 20px))';\n root.style.boxSizing = 'border-box';\n root.style.background = '#000';\n root.style.borderRadius = '30px';\n root.style.padding = '14px 20px';\n root.style.display = 'flex';\n root.style.alignItems = 'center';\n root.style.gap = '10px';\n root.style.fontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif';\n root.style.userSelect = 'none';\n root.style.touchAction = 'none';\n root.style.boxShadow = '0 10px 30px rgba(0, 0, 0, 0.35)';\n root.style.transform = 'translate(-50%, -40px) scale(0.8)';\n root.style.opacity = '0';\n root.style.transition = `transform ${ENTER_MS}ms ${ENTER_EASING}, opacity ${ENTER_MS}ms ${ENTER_EASING}`;\n root.addEventListener('pointerdown', (event) => this.handlePointerDown(event));\n root.addEventListener('pointermove', (event) => this.handlePointerMove(event));\n root.addEventListener('pointerup', (event) => this.handlePointerUp(event));\n root.addEventListener('pointercancel', (event) => this.handlePointerUp(event));\n root.addEventListener('click', () => {\n if (!this.current || this.dragY < -4)\n return;\n this.events.onPress(this.current.id);\n });\n const iconSlot = document.createElement('div');\n iconSlot.style.width = '50px';\n iconSlot.style.flexShrink = '0';\n iconSlot.style.display = 'flex';\n iconSlot.style.alignItems = 'center';\n iconSlot.style.justifyContent = 'center';\n iconSlot.style.fontSize = '35px';\n iconSlot.style.lineHeight = '1';\n const textWrap = document.createElement('div');\n textWrap.style.flex = '1';\n textWrap.style.minWidth = '0';\n const titleNode = document.createElement('div');\n titleNode.style.color = '#fff';\n titleNode.style.fontWeight = '600';\n titleNode.style.fontSize = '15px';\n titleNode.style.lineHeight = '20px';\n titleNode.style.wordBreak = 'break-word';\n const messageNode = document.createElement('div');\n messageNode.style.color = 'rgba(255, 255, 255, 0.6)';\n messageNode.style.fontSize = '12px';\n messageNode.style.lineHeight = '16px';\n messageNode.style.wordBreak = 'break-word';\n textWrap.appendChild(titleNode);\n textWrap.appendChild(messageNode);\n const actionButton = document.createElement('button');\n actionButton.type = 'button';\n actionButton.style.flexShrink = '0';\n actionButton.style.marginLeft = '4px';\n actionButton.style.padding = '6px 12px';\n actionButton.style.background = 'rgba(255,255,255,0.12)';\n actionButton.style.border = 'none';\n actionButton.style.borderRadius = '999px';\n actionButton.style.fontSize = '13px';\n actionButton.style.fontWeight = '600';\n actionButton.style.cursor = 'pointer';\n actionButton.style.display = 'none';\n actionButton.addEventListener('click', (event) => {\n event.stopPropagation();\n if (!this.current)\n return;\n this.events.onActionPress(this.current.id);\n });\n actionButton.addEventListener('pointerdown', (event) => event.stopPropagation());\n root.appendChild(iconSlot);\n root.appendChild(textWrap);\n root.appendChild(actionButton);\n document.body.appendChild(root);\n this.root = root;\n this.iconSlot = iconSlot;\n this.titleNode = titleNode;\n this.messageNode = messageNode;\n this.actionButton = actionButton;\n }\n render(payload) {\n var _a, _b, _c;\n if (!this.root || !this.iconSlot || !this.titleNode || !this.messageNode || !this.actionButton) {\n return;\n }\n const symbolInfo = getSymbolIcon(payload.icon);\n const accentColor = (_a = payload.accentColor) !== null && _a !== void 0 ? _a : symbolInfo.color;\n const outline = payload.strokeColor\n ? payload.strokeColor\n : payload.disableBackdropSampling\n ? 'rgba(255,255,255,0.06)'\n : this.prefersDark\n ? `color-mix(in srgb, ${accentColor} 20%, transparent)`\n : '';\n this.root.style.border = outline ? `2px solid ${outline}` : 'none';\n this.root.style.cursor = payload.actionLabel || payload.icon ? 'pointer' : 'default';\n this.root.setAttribute('aria-label', payload.accessibilityAnnouncement || '');\n this.iconSlot.style.color = accentColor;\n this.iconSlot.replaceChildren();\n const renderableUri = payload.webIconUri || payload.iconUri;\n if (renderableUri) {\n const image = document.createElement('img');\n image.src = renderableUri;\n image.alt = '';\n image.style.width = '40px';\n image.style.height = '40px';\n image.style.objectFit = 'contain';\n this.iconSlot.appendChild(image);\n }\n else if (payload.iconSvg) {\n const svg = parseSvgElement(payload.iconSvg);\n if (svg) {\n this.iconSlot.appendChild(svg);\n }\n else {\n this.iconSlot.textContent = (_b = getSymbolIcon(payload.icon || DEFAULT_ICON_SYMBOL).glyph) !== null && _b !== void 0 ? _b : '';\n }\n }\n else {\n const glyph = (_c = symbolInfo.glyph) !== null && _c !== void 0 ? _c : getSymbolIcon(DEFAULT_ICON_SYMBOL).glyph;\n if (glyph) {\n this.iconSlot.textContent = glyph;\n }\n else {\n this.iconSlot.innerHTML =\n '<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2.25a1 1 0 0 1 1 1v.6a7 7 0 0 1 6 6.93v3.36l1.38 2.07A1.25 1.25 0 0 1 19.34 18H4.66a1.25 1.25 0 0 1-1.04-1.94L5 14v-3.22a7 7 0 0 1 6-6.93v-.6a1 1 0 0 1 1-1Zm-2.5 17.25a2.5 2.5 0 0 0 5 0h-5Z\" /></svg>';\n }\n }\n this.titleNode.textContent = payload.title;\n this.titleNode.style.display = payload.title ? 'block' : 'none';\n this.messageNode.textContent = payload.message;\n this.messageNode.style.display = payload.message ? 'block' : 'none';\n this.messageNode.style.marginTop = payload.title && payload.message ? '4px' : '0';\n this.actionButton.textContent = payload.actionLabel;\n this.actionButton.style.color = accentColor;\n this.actionButton.style.display = payload.actionLabel ? 'inline-flex' : 'none';\n }\n armAutoDismiss(payload) {\n this.clearAutoDismissTimer();\n if (!payload.autoDismiss || payload.duration <= 0)\n return;\n this.autoDismissTimer = setTimeout(() => {\n this.startExit();\n }, payload.duration);\n }\n startExit() {\n if (!this.root || !this.current || this.exitTimer)\n return;\n const currentId = this.current.id;\n this.root.style.transition = `transform ${EXIT_MS}ms ${EXIT_EASING}, opacity ${EXIT_MS}ms ${EXIT_EASING}`;\n this.root.style.transform = `translate(-50%, ${this.dragY - 40}px) scale(1)`;\n this.root.style.opacity = '0';\n this.exitTimer = setTimeout(() => {\n var _a;\n this.exitTimer = null;\n this.clearAutoDismissTimer();\n this.dragY = 0;\n this.isDragging = false;\n this.dragStartY = null;\n if ((_a = this.root) === null || _a === void 0 ? void 0 : _a.isConnected) {\n this.root.remove();\n }\n this.root = null;\n this.iconSlot = null;\n this.titleNode = null;\n this.messageNode = null;\n this.actionButton = null;\n this.current = null;\n this.events.onDismiss(currentId);\n }, EXIT_MS);\n }\n applyEnteringState() {\n if (!this.root)\n return;\n this.root.style.transition = `transform ${ENTER_MS}ms ${ENTER_EASING}, opacity ${ENTER_MS}ms ${ENTER_EASING}`;\n this.root.style.transform = 'translate(-50%, -40px) scale(0.8)';\n this.root.style.opacity = '0';\n }\n handlePointerDown(event) {\n var _a, _b;\n if (event.button !== 0)\n return;\n this.dragStartY = event.clientY;\n this.dragY = 0;\n (_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.setPointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);\n }\n handlePointerMove(event) {\n if (!this.root || this.dragStartY === null)\n return;\n const nextDragY = Math.min(0, event.clientY - this.dragStartY);\n this.dragY = nextDragY;\n this.isDragging = nextDragY < -2;\n if (!this.isDragging)\n return;\n this.root.style.transition = 'none';\n this.root.style.transform = `translate(-50%, ${nextDragY}px) scale(1)`;\n }\n handlePointerUp(event) {\n var _a, _b;\n if (!this.root || this.dragStartY === null)\n return;\n this.dragStartY = null;\n (_b = (_a = this.root).releasePointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);\n if (this.dragY < SWIPE_THRESHOLD) {\n this.startExit();\n return;\n }\n this.isDragging = false;\n this.dragY = 0;\n this.root.style.transition = `transform ${EXIT_MS}ms ${EXIT_EASING}, opacity ${EXIT_MS}ms ${EXIT_EASING}`;\n this.root.style.transform = 'translate(-50%, 0) scale(1)';\n }\n clearAutoDismissTimer() {\n if (!this.autoDismissTimer)\n return;\n clearTimeout(this.autoDismissTimer);\n this.autoDismissTimer = null;\n }\n clearExitTimer() {\n if (!this.exitTimer)\n return;\n clearTimeout(this.exitTimer);\n this.exitTimer = null;\n }\n}\n//# sourceMappingURL=web-renderer.js.map","import { WebPlugin } from '@capacitor/core';\nimport { WebToastRenderer } from './web-renderer';\nexport class PrettyToastWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.renderer = new WebToastRenderer({\n onDismiss: (id) => {\n this.notifyListeners('toastDismiss', { id });\n },\n onPress: (id) => {\n this.notifyListeners('toastPress', { id });\n },\n onActionPress: (id) => {\n this.notifyListeners('toastActionPress', { id });\n },\n });\n }\n async showCurrentToast(options) {\n this.renderer.show(options);\n }\n async updateCurrentToast(options) {\n this.renderer.update(options);\n }\n async dismissCurrentToast(options) {\n this.renderer.dismiss(options === null || options === void 0 ? void 0 : options.id);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
@@ -10,8 +10,11 @@ class PassThroughWindow: UIWindow, ObservableObject {
|
|
|
10
10
|
@Published var toast: Toast?
|
|
11
11
|
@Published var isPresented: Bool = false
|
|
12
12
|
@Published var useDynamicIsland: Bool = true
|
|
13
|
+
@Published var enableSwipeDismiss: Bool = true
|
|
14
|
+
@Published var swipeDismissRequested: Bool = false
|
|
13
15
|
@Published var wasTapped: Bool = false
|
|
14
16
|
@Published var actionTapped: Bool = false
|
|
17
|
+
@Published var toastHitFrame: CGRect = .zero
|
|
15
18
|
|
|
16
19
|
@Published var backdropTint: BackdropTint = .gray
|
|
17
20
|
|
|
@@ -21,23 +24,16 @@ class PassThroughWindow: UIWindow, ObservableObject {
|
|
|
21
24
|
private var pendingTint: BackdropTint?
|
|
22
25
|
private var pendingTintSince: CFAbsoluteTime = 0
|
|
23
26
|
|
|
24
|
-
override func
|
|
25
|
-
guard
|
|
26
|
-
let rootView = rootViewController?.view else {
|
|
27
|
-
return nil
|
|
28
|
-
}
|
|
27
|
+
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
|
|
28
|
+
guard toast != nil, isPresented else { return false }
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if let nestedHit = subview.hitTest(pointInSubView, with: event) {
|
|
34
|
-
return nestedHit
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return nil
|
|
30
|
+
let frame = toastHitFrame
|
|
31
|
+
if frame.isEmpty {
|
|
32
|
+
return false
|
|
38
33
|
}
|
|
39
34
|
|
|
40
|
-
|
|
35
|
+
// Expand slightly so edge drags still latch the pill.
|
|
36
|
+
return frame.insetBy(dx: -8, dy: -8).contains(point)
|
|
41
37
|
}
|
|
42
38
|
|
|
43
39
|
// MARK: - Backdrop sampling
|
|
@@ -26,39 +26,60 @@ struct PrettyToastView: View {
|
|
|
26
26
|
let scaleX: CGFloat = isExpanded ? 1 : (dynamicIslandWidth / expandedWidth)
|
|
27
27
|
let scaleY: CGFloat = isExpanded ? 1 : (dynamicIslandHeight / expandedHeight)
|
|
28
28
|
|
|
29
|
+
let swipeGesture = DragGesture(minimumDistance: 2).onEnded { value in
|
|
30
|
+
if value.translation.height < -8 || value.predictedEndTranslation.height < -40 {
|
|
31
|
+
window.swipeDismissRequested = true
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
29
35
|
ZStack {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
36
|
+
Group {
|
|
37
|
+
let pill = toastBackground()
|
|
38
|
+
.overlay {
|
|
39
|
+
toastContent(haveDynamicIsland, expandedWidth: expandedWidth)
|
|
40
|
+
.frame(width: expandedWidth, height: expandedHeight)
|
|
41
|
+
.scaleEffect(x: scaleX, y: scaleY)
|
|
42
|
+
}
|
|
43
|
+
.frame(
|
|
44
|
+
width: isExpanded ? expandedWidth : dynamicIslandWidth,
|
|
45
|
+
height: isExpanded ? expandedHeight : dynamicIslandHeight
|
|
46
|
+
)
|
|
47
|
+
.opacity(haveDynamicIsland ? 1 : (isExpanded ? 1 : 0))
|
|
48
|
+
.modifier(CapsuleOpacityModifier(
|
|
49
|
+
haveDynamicIsland: haveDynamicIsland,
|
|
50
|
+
isExpanded: isExpanded
|
|
51
|
+
))
|
|
52
|
+
.modifier(GeometryGroupModifier())
|
|
53
|
+
.contentShape(Rectangle())
|
|
54
|
+
.onTapGesture {
|
|
55
|
+
window.wasTapped = true
|
|
56
|
+
}
|
|
57
|
+
.background(
|
|
58
|
+
GeometryReader { geo in
|
|
59
|
+
Color.clear.preference(
|
|
60
|
+
key: ToastFrameKey.self,
|
|
61
|
+
value: geo.frame(in: .named("overlayWindow"))
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
.onPreferenceChange(ToastFrameKey.self) { frame in
|
|
66
|
+
if window.toastHitFrame != frame {
|
|
67
|
+
window.toastHitFrame = frame
|
|
54
68
|
}
|
|
55
69
|
}
|
|
56
|
-
|
|
57
|
-
.
|
|
70
|
+
|
|
71
|
+
if window.enableSwipeDismiss {
|
|
72
|
+
pill.gesture(swipeGesture)
|
|
73
|
+
} else {
|
|
74
|
+
pill
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
.offset(y: haveDynamicIsland ? (isExpanded ? expandedTopOffset : topOffset) : 0)
|
|
58
78
|
}
|
|
59
79
|
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top)
|
|
60
80
|
.padding(.top, haveDynamicIsland ? 0 : (isExpanded ? max(safeArea.top, 10) : 0))
|
|
61
81
|
.ignoresSafeArea()
|
|
82
|
+
.coordinateSpace(name: "overlayWindow")
|
|
62
83
|
.animation(.bouncy(duration: 0.3, extraBounce: 0), value: isExpanded)
|
|
63
84
|
}
|
|
64
85
|
}
|
|
@@ -226,6 +247,13 @@ private struct ContentHeightKey: PreferenceKey {
|
|
|
226
247
|
}
|
|
227
248
|
}
|
|
228
249
|
|
|
250
|
+
private struct ToastFrameKey: PreferenceKey {
|
|
251
|
+
static var defaultValue: CGRect = .zero
|
|
252
|
+
static func reduce(value: inout CGRect, nextValue: () -> CGRect) {
|
|
253
|
+
value = nextValue()
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
229
257
|
private struct WiggleModifier: ViewModifier {
|
|
230
258
|
let isExpanded: Bool
|
|
231
259
|
|
|
@@ -10,6 +10,7 @@ import UIKit
|
|
|
10
10
|
private var hostingController: CustomHostingView?
|
|
11
11
|
private var autoDismissTimer: Timer?
|
|
12
12
|
private var dismissCancellable: AnyCancellable?
|
|
13
|
+
private var swipeDismissCancellable: AnyCancellable?
|
|
13
14
|
private var tapCancellable: AnyCancellable?
|
|
14
15
|
private var actionCancellable: AnyCancellable?
|
|
15
16
|
// Guards against double-firing onDismiss when a programmatic dismiss
|
|
@@ -63,6 +64,7 @@ import UIKit
|
|
|
63
64
|
|
|
64
65
|
overlayWindow.toast = toast
|
|
65
66
|
overlayWindow.useDynamicIsland = useDynamicIsland
|
|
67
|
+
overlayWindow.enableSwipeDismiss = enableSwipeDismiss
|
|
66
68
|
overlayWindow.wasTapped = false
|
|
67
69
|
overlayWindow.actionTapped = false
|
|
68
70
|
isDismissing = false
|
|
@@ -199,6 +201,7 @@ import UIKit
|
|
|
199
201
|
}
|
|
200
202
|
|
|
201
203
|
observeDismiss()
|
|
204
|
+
observeSwipeDismiss()
|
|
202
205
|
observeTap()
|
|
203
206
|
observeAction()
|
|
204
207
|
}
|
|
@@ -223,6 +226,19 @@ import UIKit
|
|
|
223
226
|
}
|
|
224
227
|
}
|
|
225
228
|
|
|
229
|
+
private func observeSwipeDismiss() {
|
|
230
|
+
guard let overlayWindow else { return }
|
|
231
|
+
|
|
232
|
+
swipeDismissCancellable = overlayWindow.$swipeDismissRequested
|
|
233
|
+
.dropFirst()
|
|
234
|
+
.filter { $0 }
|
|
235
|
+
.sink { [weak self] _ in
|
|
236
|
+
guard let self else { return }
|
|
237
|
+
self.overlayWindow?.swipeDismissRequested = false
|
|
238
|
+
self.dismiss()
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
226
242
|
private func observeTap() {
|
|
227
243
|
guard let overlayWindow else { return }
|
|
228
244
|
|
|
@@ -351,6 +367,7 @@ import UIKit
|
|
|
351
367
|
// main, so hop over before breaking the retain cycle.
|
|
352
368
|
let window = overlayWindow
|
|
353
369
|
let dismissCancel = dismissCancellable
|
|
370
|
+
let swipeDismissCancel = swipeDismissCancellable
|
|
354
371
|
let tapCancel = tapCancellable
|
|
355
372
|
let actionCancel = actionCancellable
|
|
356
373
|
let timer = autoDismissTimer
|
|
@@ -360,6 +377,7 @@ import UIKit
|
|
|
360
377
|
timer?.invalidate()
|
|
361
378
|
workItem?.cancel()
|
|
362
379
|
dismissCancel?.cancel()
|
|
380
|
+
swipeDismissCancel?.cancel()
|
|
363
381
|
tapCancel?.cancel()
|
|
364
382
|
actionCancel?.cancel()
|
|
365
383
|
loadTask?.cancel()
|
package/package.json
CHANGED