@capgo/capacitor-pretty-toast 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapgoCapacitorPrettyToast.podspec +17 -0
- package/LICENSE +373 -0
- package/Package.swift +28 -0
- package/README.md +341 -0
- package/android/build.gradle +71 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/java/com/toast/PrettyToastPlugin.kt +197 -0
- package/android/src/main/java/com/toast/ToastOverlay.kt +495 -0
- package/android/src/main/java/com/toast/anim/CutoutMorphAnimator.kt +235 -0
- package/android/src/main/java/com/toast/anim/SlideAnimator.kt +64 -0
- package/android/src/main/java/com/toast/anim/ToastAnimator.kt +23 -0
- package/android/src/main/java/com/toast/backdrop/BackdropSampler.kt +142 -0
- package/android/src/main/java/com/toast/backdrop/OutlineController.kt +100 -0
- package/android/src/main/java/com/toast/cutout/CutoutDetector.kt +88 -0
- package/android/src/main/java/com/toast/cutout/CutoutInfo.kt +28 -0
- package/android/src/main/java/com/toast/gesture/ToastGestureHandler.kt +68 -0
- package/android/src/main/java/com/toast/ui/IconMapper.kt +26 -0
- package/android/src/main/java/com/toast/ui/PassThroughFrameLayout.kt +53 -0
- package/android/src/main/java/com/toast/ui/ToastViewFactory.kt +224 -0
- package/android/src/main/java/com/toast/util/Density.kt +17 -0
- package/android/src/main/java/com/toast/util/StatusBarController.kt +24 -0
- package/android/src/main/java/com/toast/util/ToastConstants.kt +36 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/android/src/main/res/drawable/ic_arrow_downward.xml +9 -0
- package/android/src/main/res/drawable/ic_arrow_upward.xml +9 -0
- package/android/src/main/res/drawable/ic_cancel.xml +9 -0
- package/android/src/main/res/drawable/ic_check_circle.xml +9 -0
- package/android/src/main/res/drawable/ic_favorite.xml +9 -0
- package/android/src/main/res/drawable/ic_info.xml +9 -0
- package/android/src/main/res/drawable/ic_mail.xml +9 -0
- package/android/src/main/res/drawable/ic_notifications.xml +9 -0
- package/android/src/main/res/drawable/ic_touch_app.xml +9 -0
- package/android/src/main/res/drawable/ic_warning.xml +9 -0
- package/android/src/main/res/drawable/ic_wifi.xml +9 -0
- package/android/src/main/res/values/colors.xml +3 -0
- package/android/src/main/res/values/strings.xml +3 -0
- package/android/src/main/res/values/styles.xml +3 -0
- package/android/src/test/java/com/toast/PrettyToastPluginTest.kt +26 -0
- package/dist/docs.json +459 -0
- package/dist/esm/controller.d.ts +30 -0
- package/dist/esm/controller.js +271 -0
- package/dist/esm/controller.js.map +1 -0
- package/dist/esm/definitions.d.ts +144 -0
- package/dist/esm/definitions.js +2 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/driver.d.ts +19 -0
- package/dist/esm/driver.js +24 -0
- package/dist/esm/driver.js.map +1 -0
- package/dist/esm/icons.d.ts +14 -0
- package/dist/esm/icons.js +138 -0
- package/dist/esm/icons.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal-plugin.d.ts +2 -0
- package/dist/esm/internal-plugin.js +5 -0
- package/dist/esm/internal-plugin.js.map +1 -0
- package/dist/esm/internal-types.d.ts +31 -0
- package/dist/esm/internal-types.js +2 -0
- package/dist/esm/internal-types.js.map +1 -0
- package/dist/esm/toast.d.ts +1 -0
- package/dist/esm/toast.js +5 -0
- package/dist/esm/toast.js.map +1 -0
- package/dist/esm/web-renderer.d.ts +36 -0
- package/dist/esm/web-renderer.js +296 -0
- package/dist/esm/web-renderer.js.map +1 -0
- package/dist/esm/web.d.ts +10 -0
- package/dist/esm/web.js +28 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +770 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +773 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Sources/PrettyToastPlugin/CustomHostingView.swift +13 -0
- package/ios/Sources/PrettyToastPlugin/PassThroughWindow.swift +143 -0
- package/ios/Sources/PrettyToastPlugin/PrettyToastColorParser.swift +94 -0
- package/ios/Sources/PrettyToastPlugin/PrettyToastPlugin.swift +138 -0
- package/ios/Sources/PrettyToastPlugin/PrettyToastView.swift +267 -0
- package/ios/Sources/PrettyToastPlugin/Toast.swift +29 -0
- package/ios/Sources/PrettyToastPlugin/ToastManager.swift +392 -0
- package/ios/Tests/PrettyToastPluginTests/PrettyToastPluginTests.swift +21 -0
- package/package.json +98 -0
- package/scripts/check-capacitor-plugin-wiring.mjs +254 -0
- package/scripts/deploy-example-capgo.mjs +86 -0
- package/scripts/test-ios.sh +14 -0
|
@@ -0,0 +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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"}
|