@capgo/capacitor-native-navigation 8.0.24 → 8.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/plugin.js CHANGED
@@ -30,7 +30,7 @@ var capacitorNativeNavigation = (function (exports, core) {
30
30
  }
31
31
  class CapNativeNavigationProvider extends HTMLElement {
32
32
  static get observedAttributes() {
33
- return ['enabled', 'platform-style', 'content-inset-mode', 'animation-duration', 'colors'];
33
+ return ['enabled', 'platform-style', 'content-inset-mode', 'animation-duration', 'colors', 'glass'];
34
34
  }
35
35
  connectedCallback() {
36
36
  void this.sync();
@@ -48,6 +48,7 @@ var capacitorNativeNavigation = (function (exports, core) {
48
48
  platformStyle: (_a = typedAttribute(this, 'platform-style')) !== null && _a !== void 0 ? _a : 'auto',
49
49
  contentInsetMode: (_b = typedAttribute(this, 'content-inset-mode')) !== null && _b !== void 0 ? _b : 'css',
50
50
  colors: parseJsonAttribute(this, 'colors', undefined),
51
+ glass: parseJsonAttribute(this, 'glass', undefined),
51
52
  };
52
53
  if (duration) {
53
54
  options.animationDuration = Number(duration);
@@ -70,6 +71,7 @@ var capacitorNativeNavigation = (function (exports, core) {
70
71
  'left-items',
71
72
  'right-items',
72
73
  'colors',
74
+ 'glass',
73
75
  'animated',
74
76
  ];
75
77
  }
@@ -97,6 +99,7 @@ var capacitorNativeNavigation = (function (exports, core) {
97
99
  leftItems: parseJsonAttribute(this, 'left-items', []),
98
100
  rightItems: parseJsonAttribute(this, 'right-items', []),
99
101
  colors: parseJsonAttribute(this, 'colors', undefined),
102
+ glass: parseJsonAttribute(this, 'glass', undefined),
100
103
  animated: parseBoolean(this.getAttribute('animated')),
101
104
  };
102
105
  const NativeNavigation = await getNativeNavigation();
@@ -113,6 +116,7 @@ var capacitorNativeNavigation = (function (exports, core) {
113
116
  'label-visibility-mode',
114
117
  'icons',
115
118
  'colors',
119
+ 'glass',
116
120
  'blur-effect',
117
121
  'disable-indicator',
118
122
  'indicator-color',
@@ -139,6 +143,7 @@ var capacitorNativeNavigation = (function (exports, core) {
139
143
  labelVisibilityMode: typedAttribute(this, 'label-visibility-mode'),
140
144
  icons: parseBoolean(this.getAttribute('icons'), true),
141
145
  colors: parseJsonAttribute(this, 'colors', undefined),
146
+ glass: parseJsonAttribute(this, 'glass', undefined),
142
147
  blurEffect: typedAttribute(this, 'blur-effect'),
143
148
  disableIndicator: parseBoolean(this.getAttribute('disable-indicator')),
144
149
  indicatorColor: normalizeAttribute(this.getAttribute('indicator-color')),
@@ -223,15 +228,15 @@ var capacitorNativeNavigation = (function (exports, core) {
223
228
  this.activeTransition = null;
224
229
  }
225
230
  async configure(options = {}) {
226
- this.config = Object.assign(Object.assign(Object.assign({}, this.config), options), { colors: Object.assign(Object.assign({}, this.config.colors), options.colors) });
231
+ this.config = Object.assign(Object.assign(Object.assign({}, this.config), options), { colors: Object.assign(Object.assign({}, this.config.colors), options.colors), glass: Object.assign(Object.assign({}, this.config.glass), options.glass) });
227
232
  return this.applyInsets();
228
233
  }
229
234
  async setNavbar(options) {
230
- this.navbar = Object.assign(Object.assign(Object.assign({}, this.navbar), options), { colors: Object.assign(Object.assign({}, this.navbar.colors), options.colors) });
235
+ this.navbar = Object.assign(Object.assign(Object.assign({}, this.navbar), options), { colors: Object.assign(Object.assign({}, this.navbar.colors), options.colors), glass: Object.assign(Object.assign({}, this.navbar.glass), options.glass) });
231
236
  return this.applyInsets();
232
237
  }
233
238
  async setTabbar(options) {
234
- this.tabbar = Object.assign(Object.assign(Object.assign({}, this.tabbar), options), { colors: Object.assign(Object.assign({}, this.tabbar.colors), options.colors) });
239
+ this.tabbar = Object.assign(Object.assign(Object.assign({}, this.tabbar), options), { colors: Object.assign(Object.assign({}, this.tabbar.colors), options.colors), glass: Object.assign(Object.assign({}, this.tabbar.glass), options.glass) });
235
240
  return this.applyInsets();
236
241
  }
237
242
  async beginTransition(options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/plugin.js","esm/components.js","esm/index.js","esm/web.js"],"sourcesContent":["export const createNativeNavigationWeb = () => import('./web').then((m) => new m.NativeNavigationWeb());\n//# sourceMappingURL=plugin.js.map","const parseBoolean = (value, defaultValue = false) => {\n if (value === null) {\n return defaultValue;\n }\n return value === '' || value === 'true' || value === '1';\n};\nconst normalizeAttribute = (value) => (value ? value : undefined);\nconst typedAttribute = (element, name) => normalizeAttribute(element.getAttribute(name));\nconst parseJsonAttribute = (element, name, fallback) => {\n const value = element.getAttribute(name);\n if (!value) {\n return fallback;\n }\n try {\n return JSON.parse(value);\n }\n catch (_a) {\n return fallback;\n }\n};\nconst getNativeNavigation = async () => (await import('./index')).NativeNavigation;\nexport function defineNativeNavigationElements() {\n if (typeof customElements === 'undefined' || typeof HTMLElement === 'undefined') {\n return;\n }\n class CapNativeNavigationProvider extends HTMLElement {\n static get observedAttributes() {\n return ['enabled', 'platform-style', 'content-inset-mode', 'animation-duration', 'colors'];\n }\n connectedCallback() {\n void this.sync();\n }\n attributeChangedCallback() {\n if (this.isConnected) {\n void this.sync();\n }\n }\n async sync() {\n var _a, _b;\n const duration = this.getAttribute('animation-duration');\n const options = {\n enabled: parseBoolean(this.getAttribute('enabled'), true),\n platformStyle: (_a = typedAttribute(this, 'platform-style')) !== null && _a !== void 0 ? _a : 'auto',\n contentInsetMode: (_b = typedAttribute(this, 'content-inset-mode')) !== null && _b !== void 0 ? _b : 'css',\n colors: parseJsonAttribute(this, 'colors', undefined),\n };\n if (duration) {\n options.animationDuration = Number(duration);\n }\n const NativeNavigation = await getNativeNavigation();\n await NativeNavigation.configure(options);\n }\n }\n class CapNativeNavbar extends HTMLElement {\n static get observedAttributes() {\n return [\n 'hidden',\n 'title',\n 'subtitle',\n 'large',\n 'transparent',\n 'blur-effect',\n 'back-button',\n 'back-title',\n 'left-items',\n 'right-items',\n 'colors',\n 'animated',\n ];\n }\n connectedCallback() {\n void this.sync();\n }\n attributeChangedCallback() {\n if (this.isConnected) {\n void this.sync();\n }\n }\n async sync() {\n var _a, _b;\n const options = {\n hidden: parseBoolean(this.getAttribute('hidden')),\n title: (_a = this.getAttribute('title')) !== null && _a !== void 0 ? _a : undefined,\n subtitle: (_b = this.getAttribute('subtitle')) !== null && _b !== void 0 ? _b : undefined,\n large: parseBoolean(this.getAttribute('large')),\n transparent: parseBoolean(this.getAttribute('transparent')),\n blurEffect: typedAttribute(this, 'blur-effect'),\n backButton: {\n visible: parseBoolean(this.getAttribute('back-button')),\n title: normalizeAttribute(this.getAttribute('back-title')),\n },\n leftItems: parseJsonAttribute(this, 'left-items', []),\n rightItems: parseJsonAttribute(this, 'right-items', []),\n colors: parseJsonAttribute(this, 'colors', undefined),\n animated: parseBoolean(this.getAttribute('animated')),\n };\n const NativeNavigation = await getNativeNavigation();\n await NativeNavigation.setNavbar(options);\n }\n }\n class CapNativeTabbar extends HTMLElement {\n static get observedAttributes() {\n return [\n 'hidden',\n 'tabs',\n 'selected-id',\n 'labels',\n 'label-visibility-mode',\n 'icons',\n 'colors',\n 'blur-effect',\n 'disable-indicator',\n 'indicator-color',\n 'ripple-color',\n 'badge-background-color',\n 'badge-text-color',\n 'animated',\n ];\n }\n connectedCallback() {\n void this.sync();\n }\n attributeChangedCallback() {\n if (this.isConnected) {\n void this.sync();\n }\n }\n async sync() {\n const options = {\n hidden: parseBoolean(this.getAttribute('hidden')),\n tabs: parseJsonAttribute(this, 'tabs', []),\n selectedId: normalizeAttribute(this.getAttribute('selected-id')),\n labels: parseBoolean(this.getAttribute('labels'), true),\n labelVisibilityMode: typedAttribute(this, 'label-visibility-mode'),\n icons: parseBoolean(this.getAttribute('icons'), true),\n colors: parseJsonAttribute(this, 'colors', undefined),\n blurEffect: typedAttribute(this, 'blur-effect'),\n disableIndicator: parseBoolean(this.getAttribute('disable-indicator')),\n indicatorColor: normalizeAttribute(this.getAttribute('indicator-color')),\n rippleColor: normalizeAttribute(this.getAttribute('ripple-color')),\n badgeBackgroundColor: normalizeAttribute(this.getAttribute('badge-background-color')),\n badgeTextColor: normalizeAttribute(this.getAttribute('badge-text-color')),\n animated: parseBoolean(this.getAttribute('animated')),\n };\n const NativeNavigation = await getNativeNavigation();\n await NativeNavigation.setTabbar(options);\n }\n }\n if (!customElements.get('cap-native-navigation-provider')) {\n customElements.define('cap-native-navigation-provider', CapNativeNavigationProvider);\n }\n if (!customElements.get('cap-native-navbar')) {\n customElements.define('cap-native-navbar', CapNativeNavbar);\n }\n if (!customElements.get('cap-native-tabbar')) {\n customElements.define('cap-native-tabbar', CapNativeTabbar);\n }\n}\n//# sourceMappingURL=components.js.map","import { registerPlugin } from '@capacitor/core';\nimport { createNativeNavigationWeb } from './plugin';\nexport const NativeNavigation = registerPlugin('NativeNavigation', {\n web: createNativeNavigationWeb,\n});\nexport * from './definitions';\nexport { defineNativeNavigationElements } from './components';\nconst isElement = (target) => typeof Element !== 'undefined' && target instanceof Element;\nconst isDomRect = (target) => typeof DOMRect !== 'undefined' && target instanceof DOMRect;\n/**\n * Convert an element or DOMRect into viewport coordinates accepted by native\n * zoom transitions.\n */\nexport const getNativeNavigationRect = (target) => {\n const rect = isElement(target) ? target.getBoundingClientRect() : target;\n if (isDomRect(rect)) {\n return {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n };\n }\n return {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n };\n};\n/**\n * Begin an Apple-Zoom-style native transition from a DOM element or rect.\n */\nexport const beginZoomTransition = (target, options = {}) => NativeNavigation.beginTransition(Object.assign(Object.assign({}, options), { direction: 'zoom', sourceRect: getNativeNavigationRect(target) }));\n/**\n * Finish an Apple-Zoom-style native transition into an optional DOM element or\n * rect on the destination route.\n */\nexport const finishZoomTransition = (target, options = {}) => NativeNavigation.finishTransition(Object.assign(Object.assign({}, options), { direction: 'zoom', targetRect: target ? getNativeNavigationRect(target) : undefined }));\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nconst DEFAULT_NAVBAR_HEIGHT = 44;\nconst DEFAULT_TABBAR_HEIGHT = 49;\nconst DEFAULT_TRANSITION_DURATION = 350;\nexport class NativeNavigationWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.config = {\n contentInsetMode: 'css',\n enabled: true,\n platformStyle: 'auto',\n };\n this.navbar = { hidden: true };\n this.tabbar = { hidden: true };\n this.activeTransition = null;\n }\n async configure(options = {}) {\n this.config = Object.assign(Object.assign(Object.assign({}, this.config), options), { colors: Object.assign(Object.assign({}, this.config.colors), options.colors) });\n return this.applyInsets();\n }\n async setNavbar(options) {\n this.navbar = Object.assign(Object.assign(Object.assign({}, this.navbar), options), { colors: Object.assign(Object.assign({}, this.navbar.colors), options.colors) });\n return this.applyInsets();\n }\n async setTabbar(options) {\n this.tabbar = Object.assign(Object.assign(Object.assign({}, this.tabbar), options), { colors: Object.assign(Object.assign({}, this.tabbar.colors), options.colors) });\n return this.applyInsets();\n }\n async beginTransition(options = {}) {\n const transition = this.createTransition(options.id, options.direction, options.duration);\n this.activeTransition = transition;\n this.notifyListeners('transitionStart', transition);\n this.dispatchWindowEvent('transitionStart', transition);\n return transition;\n }\n async finishTransition(options = {}) {\n var _a, _b;\n const transition = this.activeTransition && (!options.id || options.id === this.activeTransition.id)\n ? Object.assign(Object.assign({}, this.activeTransition), { direction: (_a = options.direction) !== null && _a !== void 0 ? _a : this.activeTransition.direction, duration: (_b = options.duration) !== null && _b !== void 0 ? _b : this.activeTransition.duration }) : this.createTransition(options.id, options.direction, options.duration);\n this.activeTransition = null;\n this.notifyListeners('transitionEnd', transition);\n this.dispatchWindowEvent('transitionEnd', transition);\n return transition;\n }\n async getPluginVersion() {\n return {\n version: 'web',\n };\n }\n createTransition(id, direction, duration) {\n var _a;\n if (id === void 0) { id = `transition-${Date.now()}`; }\n if (direction === void 0) { direction = 'forward'; }\n if (duration === void 0) { duration = (_a = this.config.animationDuration) !== null && _a !== void 0 ? _a : DEFAULT_TRANSITION_DURATION; }\n return { id, direction, duration };\n }\n applyInsets() {\n const enabled = this.config.enabled !== false;\n const navbarVisible = enabled && this.navbar.hidden !== true;\n const tabbarVisible = enabled && this.tabbar.hidden !== true;\n const insets = {\n top: navbarVisible ? DEFAULT_NAVBAR_HEIGHT : 0,\n right: 0,\n bottom: tabbarVisible ? DEFAULT_TABBAR_HEIGHT : 0,\n left: 0,\n navbarHeight: navbarVisible ? DEFAULT_NAVBAR_HEIGHT : 0,\n tabbarHeight: tabbarVisible ? DEFAULT_TABBAR_HEIGHT : 0,\n };\n if (this.config.contentInsetMode !== 'none' && typeof document !== 'undefined') {\n const root = document.documentElement;\n root.style.setProperty('--cap-native-navigation-top', `${insets.top}px`);\n root.style.setProperty('--cap-native-navigation-right', `${insets.right}px`);\n root.style.setProperty('--cap-native-navigation-bottom', `${insets.bottom}px`);\n root.style.setProperty('--cap-native-navigation-left', `${insets.left}px`);\n root.style.setProperty('--cap-native-navbar-height', `${insets.navbarHeight}px`);\n root.style.setProperty('--cap-native-tabbar-height', `${insets.tabbarHeight}px`);\n }\n const event = { insets };\n this.notifyListeners('safeAreaChanged', event);\n this.dispatchWindowEvent('safeAreaChanged', event);\n return { insets };\n }\n dispatchWindowEvent(name, detail) {\n if (typeof window === 'undefined') {\n return;\n }\n window.dispatchEvent(new CustomEvent(`capNativeNavigation:${name}`, { detail }));\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/plugin.js","esm/components.js","esm/index.js","esm/web.js"],"sourcesContent":["export const createNativeNavigationWeb = () => import('./web').then((m) => new m.NativeNavigationWeb());\n//# sourceMappingURL=plugin.js.map","const parseBoolean = (value, defaultValue = false) => {\n if (value === null) {\n return defaultValue;\n }\n return value === '' || value === 'true' || value === '1';\n};\nconst normalizeAttribute = (value) => (value ? value : undefined);\nconst typedAttribute = (element, name) => normalizeAttribute(element.getAttribute(name));\nconst parseJsonAttribute = (element, name, fallback) => {\n const value = element.getAttribute(name);\n if (!value) {\n return fallback;\n }\n try {\n return JSON.parse(value);\n }\n catch (_a) {\n return fallback;\n }\n};\nconst getNativeNavigation = async () => (await import('./index')).NativeNavigation;\nexport function defineNativeNavigationElements() {\n if (typeof customElements === 'undefined' || typeof HTMLElement === 'undefined') {\n return;\n }\n class CapNativeNavigationProvider extends HTMLElement {\n static get observedAttributes() {\n return ['enabled', 'platform-style', 'content-inset-mode', 'animation-duration', 'colors', 'glass'];\n }\n connectedCallback() {\n void this.sync();\n }\n attributeChangedCallback() {\n if (this.isConnected) {\n void this.sync();\n }\n }\n async sync() {\n var _a, _b;\n const duration = this.getAttribute('animation-duration');\n const options = {\n enabled: parseBoolean(this.getAttribute('enabled'), true),\n platformStyle: (_a = typedAttribute(this, 'platform-style')) !== null && _a !== void 0 ? _a : 'auto',\n contentInsetMode: (_b = typedAttribute(this, 'content-inset-mode')) !== null && _b !== void 0 ? _b : 'css',\n colors: parseJsonAttribute(this, 'colors', undefined),\n glass: parseJsonAttribute(this, 'glass', undefined),\n };\n if (duration) {\n options.animationDuration = Number(duration);\n }\n const NativeNavigation = await getNativeNavigation();\n await NativeNavigation.configure(options);\n }\n }\n class CapNativeNavbar extends HTMLElement {\n static get observedAttributes() {\n return [\n 'hidden',\n 'title',\n 'subtitle',\n 'large',\n 'transparent',\n 'blur-effect',\n 'back-button',\n 'back-title',\n 'left-items',\n 'right-items',\n 'colors',\n 'glass',\n 'animated',\n ];\n }\n connectedCallback() {\n void this.sync();\n }\n attributeChangedCallback() {\n if (this.isConnected) {\n void this.sync();\n }\n }\n async sync() {\n var _a, _b;\n const options = {\n hidden: parseBoolean(this.getAttribute('hidden')),\n title: (_a = this.getAttribute('title')) !== null && _a !== void 0 ? _a : undefined,\n subtitle: (_b = this.getAttribute('subtitle')) !== null && _b !== void 0 ? _b : undefined,\n large: parseBoolean(this.getAttribute('large')),\n transparent: parseBoolean(this.getAttribute('transparent')),\n blurEffect: typedAttribute(this, 'blur-effect'),\n backButton: {\n visible: parseBoolean(this.getAttribute('back-button')),\n title: normalizeAttribute(this.getAttribute('back-title')),\n },\n leftItems: parseJsonAttribute(this, 'left-items', []),\n rightItems: parseJsonAttribute(this, 'right-items', []),\n colors: parseJsonAttribute(this, 'colors', undefined),\n glass: parseJsonAttribute(this, 'glass', undefined),\n animated: parseBoolean(this.getAttribute('animated')),\n };\n const NativeNavigation = await getNativeNavigation();\n await NativeNavigation.setNavbar(options);\n }\n }\n class CapNativeTabbar extends HTMLElement {\n static get observedAttributes() {\n return [\n 'hidden',\n 'tabs',\n 'selected-id',\n 'labels',\n 'label-visibility-mode',\n 'icons',\n 'colors',\n 'glass',\n 'blur-effect',\n 'disable-indicator',\n 'indicator-color',\n 'ripple-color',\n 'badge-background-color',\n 'badge-text-color',\n 'animated',\n ];\n }\n connectedCallback() {\n void this.sync();\n }\n attributeChangedCallback() {\n if (this.isConnected) {\n void this.sync();\n }\n }\n async sync() {\n const options = {\n hidden: parseBoolean(this.getAttribute('hidden')),\n tabs: parseJsonAttribute(this, 'tabs', []),\n selectedId: normalizeAttribute(this.getAttribute('selected-id')),\n labels: parseBoolean(this.getAttribute('labels'), true),\n labelVisibilityMode: typedAttribute(this, 'label-visibility-mode'),\n icons: parseBoolean(this.getAttribute('icons'), true),\n colors: parseJsonAttribute(this, 'colors', undefined),\n glass: parseJsonAttribute(this, 'glass', undefined),\n blurEffect: typedAttribute(this, 'blur-effect'),\n disableIndicator: parseBoolean(this.getAttribute('disable-indicator')),\n indicatorColor: normalizeAttribute(this.getAttribute('indicator-color')),\n rippleColor: normalizeAttribute(this.getAttribute('ripple-color')),\n badgeBackgroundColor: normalizeAttribute(this.getAttribute('badge-background-color')),\n badgeTextColor: normalizeAttribute(this.getAttribute('badge-text-color')),\n animated: parseBoolean(this.getAttribute('animated')),\n };\n const NativeNavigation = await getNativeNavigation();\n await NativeNavigation.setTabbar(options);\n }\n }\n if (!customElements.get('cap-native-navigation-provider')) {\n customElements.define('cap-native-navigation-provider', CapNativeNavigationProvider);\n }\n if (!customElements.get('cap-native-navbar')) {\n customElements.define('cap-native-navbar', CapNativeNavbar);\n }\n if (!customElements.get('cap-native-tabbar')) {\n customElements.define('cap-native-tabbar', CapNativeTabbar);\n }\n}\n//# sourceMappingURL=components.js.map","import { registerPlugin } from '@capacitor/core';\nimport { createNativeNavigationWeb } from './plugin';\nexport const NativeNavigation = registerPlugin('NativeNavigation', {\n web: createNativeNavigationWeb,\n});\nexport * from './definitions';\nexport { defineNativeNavigationElements } from './components';\nconst isElement = (target) => typeof Element !== 'undefined' && target instanceof Element;\nconst isDomRect = (target) => typeof DOMRect !== 'undefined' && target instanceof DOMRect;\n/**\n * Convert an element or DOMRect into viewport coordinates accepted by native\n * zoom transitions.\n */\nexport const getNativeNavigationRect = (target) => {\n const rect = isElement(target) ? target.getBoundingClientRect() : target;\n if (isDomRect(rect)) {\n return {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n };\n }\n return {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n };\n};\n/**\n * Begin an Apple-Zoom-style native transition from a DOM element or rect.\n */\nexport const beginZoomTransition = (target, options = {}) => NativeNavigation.beginTransition(Object.assign(Object.assign({}, options), { direction: 'zoom', sourceRect: getNativeNavigationRect(target) }));\n/**\n * Finish an Apple-Zoom-style native transition into an optional DOM element or\n * rect on the destination route.\n */\nexport const finishZoomTransition = (target, options = {}) => NativeNavigation.finishTransition(Object.assign(Object.assign({}, options), { direction: 'zoom', targetRect: target ? getNativeNavigationRect(target) : undefined }));\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nconst DEFAULT_NAVBAR_HEIGHT = 44;\nconst DEFAULT_TABBAR_HEIGHT = 49;\nconst DEFAULT_TRANSITION_DURATION = 350;\nexport class NativeNavigationWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.config = {\n contentInsetMode: 'css',\n enabled: true,\n platformStyle: 'auto',\n };\n this.navbar = { hidden: true };\n this.tabbar = { hidden: true };\n this.activeTransition = null;\n }\n async configure(options = {}) {\n this.config = Object.assign(Object.assign(Object.assign({}, this.config), options), { colors: Object.assign(Object.assign({}, this.config.colors), options.colors), glass: Object.assign(Object.assign({}, this.config.glass), options.glass) });\n return this.applyInsets();\n }\n async setNavbar(options) {\n this.navbar = Object.assign(Object.assign(Object.assign({}, this.navbar), options), { colors: Object.assign(Object.assign({}, this.navbar.colors), options.colors), glass: Object.assign(Object.assign({}, this.navbar.glass), options.glass) });\n return this.applyInsets();\n }\n async setTabbar(options) {\n this.tabbar = Object.assign(Object.assign(Object.assign({}, this.tabbar), options), { colors: Object.assign(Object.assign({}, this.tabbar.colors), options.colors), glass: Object.assign(Object.assign({}, this.tabbar.glass), options.glass) });\n return this.applyInsets();\n }\n async beginTransition(options = {}) {\n const transition = this.createTransition(options.id, options.direction, options.duration);\n this.activeTransition = transition;\n this.notifyListeners('transitionStart', transition);\n this.dispatchWindowEvent('transitionStart', transition);\n return transition;\n }\n async finishTransition(options = {}) {\n var _a, _b;\n const transition = this.activeTransition && (!options.id || options.id === this.activeTransition.id)\n ? Object.assign(Object.assign({}, this.activeTransition), { direction: (_a = options.direction) !== null && _a !== void 0 ? _a : this.activeTransition.direction, duration: (_b = options.duration) !== null && _b !== void 0 ? _b : this.activeTransition.duration }) : this.createTransition(options.id, options.direction, options.duration);\n this.activeTransition = null;\n this.notifyListeners('transitionEnd', transition);\n this.dispatchWindowEvent('transitionEnd', transition);\n return transition;\n }\n async getPluginVersion() {\n return {\n version: 'web',\n };\n }\n createTransition(id, direction, duration) {\n var _a;\n if (id === void 0) { id = `transition-${Date.now()}`; }\n if (direction === void 0) { direction = 'forward'; }\n if (duration === void 0) { duration = (_a = this.config.animationDuration) !== null && _a !== void 0 ? _a : DEFAULT_TRANSITION_DURATION; }\n return { id, direction, duration };\n }\n applyInsets() {\n const enabled = this.config.enabled !== false;\n const navbarVisible = enabled && this.navbar.hidden !== true;\n const tabbarVisible = enabled && this.tabbar.hidden !== true;\n const insets = {\n top: navbarVisible ? DEFAULT_NAVBAR_HEIGHT : 0,\n right: 0,\n bottom: tabbarVisible ? DEFAULT_TABBAR_HEIGHT : 0,\n left: 0,\n navbarHeight: navbarVisible ? DEFAULT_NAVBAR_HEIGHT : 0,\n tabbarHeight: tabbarVisible ? DEFAULT_TABBAR_HEIGHT : 0,\n };\n if (this.config.contentInsetMode !== 'none' && typeof document !== 'undefined') {\n const root = document.documentElement;\n root.style.setProperty('--cap-native-navigation-top', `${insets.top}px`);\n root.style.setProperty('--cap-native-navigation-right', `${insets.right}px`);\n root.style.setProperty('--cap-native-navigation-bottom', `${insets.bottom}px`);\n root.style.setProperty('--cap-native-navigation-left', `${insets.left}px`);\n root.style.setProperty('--cap-native-navbar-height', `${insets.navbarHeight}px`);\n root.style.setProperty('--cap-native-tabbar-height', `${insets.tabbarHeight}px`);\n }\n const event = { insets };\n this.notifyListeners('safeAreaChanged', event);\n this.dispatchWindowEvent('safeAreaChanged', event);\n return { insets };\n }\n dispatchWindowEvent(name, detail) {\n if (typeof window === 'undefined') {\n return;\n }\n window.dispatchEvent(new CustomEvent(`capNativeNavigation:${name}`, { detail }));\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
@@ -70,6 +70,10 @@ public class NativeNavigationPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarContro
70
70
  private var activeTransitionDirection = "forward"
71
71
  private var activeZoomSourceFrame: CGRect?
72
72
  private var activeZoomCornerRadius: CGFloat = 0
73
+ private weak var activeTransitionContainer: UIView?
74
+ private var activeTransitionContainerBackgroundColor: UIColor?
75
+ private var activeTransitionContainerWasOpaque = false
76
+ private var activeTransitionContainerBackgroundCaptured = false
73
77
 
74
78
  private var usesSystemLiquidGlass: Bool {
75
79
  if #available(iOS 26.0, *) {
@@ -232,9 +236,14 @@ public class NativeNavigationPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarContro
232
236
  let cornerRadius = CGFloat(call.getDouble("cornerRadius") ?? 0)
233
237
 
234
238
  self.transitionSnapshot?.removeFromSuperview()
239
+ self.restoreTransitionContainerBackground()
240
+ let transitionSurface = nativeNavigationFallbackBackground(for: webView).withAlphaComponent(1.0)
241
+ self.prepareTransitionContainerBackground(transitionContainer, surface: transitionSurface)
235
242
  let snapshot = self.transitionSnapshotView(from: webView, sourceRect: zoomSourceRect)
236
243
  snapshot.frame = zoomSourceFrame ?? webView.frame
237
244
  snapshot.autoresizingMask = zoomSourceFrame == nil ? [.flexibleWidth, .flexibleHeight] : []
245
+ snapshot.backgroundColor = transitionSurface
246
+ snapshot.isOpaque = true
238
247
  snapshot.layer.cornerRadius = cornerRadius
239
248
  snapshot.clipsToBounds = cornerRadius > 0
240
249
  transitionContainer.insertSubview(snapshot, aboveSubview: webView)
@@ -292,8 +301,9 @@ public class NativeNavigationPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarContro
292
301
  private func finishStandardTransition(_ transition: NativeNavigationTransitionContext) {
293
302
  let width = transition.webView.bounds.width
294
303
  let transforms = standardTransitionTransforms(direction: transition.direction, width: width)
304
+ let usesStationaryCrossfade = nativeNavigationUsesStationaryTransitionCrossfade(direction: transition.direction)
295
305
  transition.webView.transform = transforms.start
296
- transition.webView.alpha = transition.direction == "none" ? 1 : 0.01
306
+ transition.webView.alpha = usesStationaryCrossfade ? 1 : 0.01
297
307
 
298
308
  UIView.animate(
299
309
  withDuration: max(transition.duration, 0),
@@ -303,7 +313,7 @@ public class NativeNavigationPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarContro
303
313
  transition.webView.transform = .identity
304
314
  transition.webView.alpha = 1
305
315
  transition.snapshot?.transform = transforms.snapshotEnd
306
- transition.snapshot?.alpha = transition.direction == "none" ? 0 : 0.75
316
+ transition.snapshot?.alpha = usesStationaryCrossfade ? 0 : 0.75
307
317
  },
308
318
  completion: { _ in
309
319
  self.finishTransitionCleanup(transition)
@@ -407,6 +417,7 @@ public class NativeNavigationPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarContro
407
417
  transition.webView.layer.cornerRadius = 0
408
418
  transition.webView.clipsToBounds = false
409
419
  transitionSnapshot = nil
420
+ restoreTransitionContainerBackground()
410
421
  activeTransitionId = nil
411
422
  activeZoomSourceFrame = nil
412
423
  let event: [String: Any] = ["id": transition.id, "direction": transition.direction, "duration": transition.durationMs]
@@ -414,6 +425,29 @@ public class NativeNavigationPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarContro
414
425
  transition.resolve(event)
415
426
  }
416
427
 
428
+ private func prepareTransitionContainerBackground(_ container: UIView, surface: UIColor) {
429
+ activeTransitionContainer = container
430
+ activeTransitionContainerBackgroundColor = container.backgroundColor
431
+ activeTransitionContainerWasOpaque = container.isOpaque
432
+ activeTransitionContainerBackgroundCaptured = true
433
+ if nativeNavigationNeedsTransitionSurface(container.backgroundColor) {
434
+ container.backgroundColor = surface
435
+ container.isOpaque = true
436
+ }
437
+ }
438
+
439
+ private func restoreTransitionContainerBackground() {
440
+ guard activeTransitionContainerBackgroundCaptured else {
441
+ return
442
+ }
443
+ activeTransitionContainer?.backgroundColor = activeTransitionContainerBackgroundColor
444
+ activeTransitionContainer?.isOpaque = activeTransitionContainerWasOpaque
445
+ activeTransitionContainer = nil
446
+ activeTransitionContainerBackgroundColor = nil
447
+ activeTransitionContainerWasOpaque = false
448
+ activeTransitionContainerBackgroundCaptured = false
449
+ }
450
+
417
451
  @objc func getPluginVersion(_ call: CAPPluginCall) {
418
452
  call.resolve([
419
453
  "version": implementation.getPluginVersion()
@@ -1611,9 +1645,20 @@ final class NativeNavigationTabContentController: UIViewController {
1611
1645
  private func nativeNavigationFallbackBackground(for view: UIView) -> UIColor {
1612
1646
  if let color = view.backgroundColor,
1613
1647
  color.cgColor.alpha > 0 {
1614
- return color
1648
+ return color.withAlphaComponent(1)
1649
+ }
1650
+ return UIColor.systemBackground.withAlphaComponent(1.0)
1651
+ }
1652
+
1653
+ func nativeNavigationUsesStationaryTransitionCrossfade(direction: String) -> Bool {
1654
+ direction == "tab" || direction == "root" || direction == "none"
1655
+ }
1656
+
1657
+ private func nativeNavigationNeedsTransitionSurface(_ color: UIColor?) -> Bool {
1658
+ guard let color else {
1659
+ return true
1615
1660
  }
1616
- return .systemBackground
1661
+ return color.cgColor.alpha < 1
1617
1662
  }
1618
1663
 
1619
1664
  private func nativeNavigationSnapshotPlaceholder(for view: UIView) -> UIView {
@@ -89,4 +89,12 @@ class NativeNavigationTests: XCTestCase {
89
89
  XCTAssertNil(webView.superview)
90
90
  XCTAssertEqual(controller.view.superview, webView)
91
91
  }
92
+
93
+ func testStationaryTransitionsCrossfadeSnapshotsAway() {
94
+ XCTAssertTrue(nativeNavigationUsesStationaryTransitionCrossfade(direction: "tab"))
95
+ XCTAssertTrue(nativeNavigationUsesStationaryTransitionCrossfade(direction: "root"))
96
+ XCTAssertTrue(nativeNavigationUsesStationaryTransitionCrossfade(direction: "none"))
97
+ XCTAssertFalse(nativeNavigationUsesStationaryTransitionCrossfade(direction: "forward"))
98
+ XCTAssertFalse(nativeNavigationUsesStationaryTransitionCrossfade(direction: "back"))
99
+ }
92
100
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/capacitor-native-navigation",
3
- "version": "8.0.24",
3
+ "version": "8.1.1",
4
4
  "description": "Capacitor plugin for native navbar, tabbar, safe-area handling, and WebView snapshot transitions.",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",
@@ -53,11 +53,12 @@
53
53
  "prepublishOnly": "bun run build",
54
54
  "check:wiring": "node scripts/check-capacitor-plugin-wiring.mjs",
55
55
  "demo:readme": "bun scripts/generate-readme-demos.mjs",
56
- "example:build": "bun run build && cd example-app && bun install && bun run build",
56
+ "example:build": "bun run build && cd example-app && bun install --frozen-lockfile && bun run build",
57
57
  "example:capgo:deploy": "bun run example:build && bun scripts/deploy-example-capgo.mjs",
58
58
  "example:sync": "bun run example:build && cd example-app && bunx cap sync",
59
59
  "example:ios": "bun run example:build && cd example-app && ([ -d ios ] || bunx cap add ios) && bunx cap sync ios && bunx cap run ios",
60
- "example:android": "bun run example:build && cd example-app && ([ -d android ] || bunx cap add android) && bunx cap sync android && bunx cap run android"
60
+ "example:android": "bun run example:build && cd example-app && ([ -d android ] || bunx cap add android) && bunx cap sync android && bunx cap run android",
61
+ "example:install": "cd example-app && bun install --frozen-lockfile"
61
62
  },
62
63
  "devDependencies": {
63
64
  "@capacitor/android": "^8.0.0",