@capgo/capacitor-native-navigation 8.0.9
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/CapgoNativeNavigation.podspec +17 -0
- package/LICENSE +373 -0
- package/Package.swift +28 -0
- package/README.md +858 -0
- package/android/build.gradle +61 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/app/capgo/nativenavigation/NativeNavigation.java +8 -0
- package/android/src/main/java/app/capgo/nativenavigation/NativeNavigationPlugin.java +1322 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/dist/docs.json +1369 -0
- package/dist/esm/components.d.ts +1 -0
- package/dist/esm/components.js +159 -0
- package/dist/esm/components.js.map +1 -0
- package/dist/esm/definitions.d.ts +470 -0
- package/dist/esm/definitions.js +2 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +19 -0
- package/dist/esm/index.js +40 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/plugin.d.ts +2 -0
- package/dist/esm/plugin.js +2 -0
- package/dist/esm/plugin.js.map +1 -0
- package/dist/esm/web.d.ts +17 -0
- package/dist/esm/web.js +90 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +310 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +313 -0
- package/dist/plugin.js.map +1 -0
- package/docs/demo-navigation.webp +0 -0
- package/docs/demo-options.webp +0 -0
- package/docs/demo-svg-icons.webp +0 -0
- package/ios/Sources/NativeNavigationPlugin/NativeNavigation.swift +7 -0
- package/ios/Sources/NativeNavigationPlugin/NativeNavigationPlugin.swift +1580 -0
- package/ios/Tests/NativeNavigationPluginTests/NativeNavigationTests.swift +19 -0
- package/package.json +91 -0
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
var capacitorNativeNavigation = (function (exports, core) {
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const createNativeNavigationWeb = () => Promise.resolve().then(function () { return web; }).then((m) => new m.NativeNavigationWeb());
|
|
5
|
+
|
|
6
|
+
const parseBoolean = (value, defaultValue = false) => {
|
|
7
|
+
if (value === null) {
|
|
8
|
+
return defaultValue;
|
|
9
|
+
}
|
|
10
|
+
return value === '' || value === 'true' || value === '1';
|
|
11
|
+
};
|
|
12
|
+
const normalizeAttribute = (value) => (value ? value : undefined);
|
|
13
|
+
const typedAttribute = (element, name) => normalizeAttribute(element.getAttribute(name));
|
|
14
|
+
const parseJsonAttribute = (element, name, fallback) => {
|
|
15
|
+
const value = element.getAttribute(name);
|
|
16
|
+
if (!value) {
|
|
17
|
+
return fallback;
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
return JSON.parse(value);
|
|
21
|
+
}
|
|
22
|
+
catch (_a) {
|
|
23
|
+
return fallback;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const getNativeNavigation = async () => (await Promise.resolve().then(function () { return index; })).NativeNavigation;
|
|
27
|
+
function defineNativeNavigationElements() {
|
|
28
|
+
if (typeof customElements === 'undefined' || typeof HTMLElement === 'undefined') {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
class CapNativeNavigationProvider extends HTMLElement {
|
|
32
|
+
static get observedAttributes() {
|
|
33
|
+
return ['enabled', 'platform-style', 'content-inset-mode', 'animation-duration', 'colors'];
|
|
34
|
+
}
|
|
35
|
+
connectedCallback() {
|
|
36
|
+
void this.sync();
|
|
37
|
+
}
|
|
38
|
+
attributeChangedCallback() {
|
|
39
|
+
if (this.isConnected) {
|
|
40
|
+
void this.sync();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async sync() {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
const duration = this.getAttribute('animation-duration');
|
|
46
|
+
const options = {
|
|
47
|
+
enabled: parseBoolean(this.getAttribute('enabled'), true),
|
|
48
|
+
platformStyle: (_a = typedAttribute(this, 'platform-style')) !== null && _a !== void 0 ? _a : 'auto',
|
|
49
|
+
contentInsetMode: (_b = typedAttribute(this, 'content-inset-mode')) !== null && _b !== void 0 ? _b : 'css',
|
|
50
|
+
colors: parseJsonAttribute(this, 'colors', undefined),
|
|
51
|
+
};
|
|
52
|
+
if (duration) {
|
|
53
|
+
options.animationDuration = Number(duration);
|
|
54
|
+
}
|
|
55
|
+
const NativeNavigation = await getNativeNavigation();
|
|
56
|
+
await NativeNavigation.configure(options);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
class CapNativeNavbar extends HTMLElement {
|
|
60
|
+
static get observedAttributes() {
|
|
61
|
+
return [
|
|
62
|
+
'hidden',
|
|
63
|
+
'title',
|
|
64
|
+
'subtitle',
|
|
65
|
+
'large',
|
|
66
|
+
'transparent',
|
|
67
|
+
'blur-effect',
|
|
68
|
+
'back-button',
|
|
69
|
+
'back-title',
|
|
70
|
+
'left-items',
|
|
71
|
+
'right-items',
|
|
72
|
+
'colors',
|
|
73
|
+
'animated',
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
connectedCallback() {
|
|
77
|
+
void this.sync();
|
|
78
|
+
}
|
|
79
|
+
attributeChangedCallback() {
|
|
80
|
+
if (this.isConnected) {
|
|
81
|
+
void this.sync();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async sync() {
|
|
85
|
+
var _a, _b;
|
|
86
|
+
const options = {
|
|
87
|
+
hidden: parseBoolean(this.getAttribute('hidden')),
|
|
88
|
+
title: (_a = this.getAttribute('title')) !== null && _a !== void 0 ? _a : undefined,
|
|
89
|
+
subtitle: (_b = this.getAttribute('subtitle')) !== null && _b !== void 0 ? _b : undefined,
|
|
90
|
+
large: parseBoolean(this.getAttribute('large')),
|
|
91
|
+
transparent: parseBoolean(this.getAttribute('transparent')),
|
|
92
|
+
blurEffect: typedAttribute(this, 'blur-effect'),
|
|
93
|
+
backButton: {
|
|
94
|
+
visible: parseBoolean(this.getAttribute('back-button')),
|
|
95
|
+
title: normalizeAttribute(this.getAttribute('back-title')),
|
|
96
|
+
},
|
|
97
|
+
leftItems: parseJsonAttribute(this, 'left-items', []),
|
|
98
|
+
rightItems: parseJsonAttribute(this, 'right-items', []),
|
|
99
|
+
colors: parseJsonAttribute(this, 'colors', undefined),
|
|
100
|
+
animated: parseBoolean(this.getAttribute('animated')),
|
|
101
|
+
};
|
|
102
|
+
const NativeNavigation = await getNativeNavigation();
|
|
103
|
+
await NativeNavigation.setNavbar(options);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
class CapNativeTabbar extends HTMLElement {
|
|
107
|
+
static get observedAttributes() {
|
|
108
|
+
return [
|
|
109
|
+
'hidden',
|
|
110
|
+
'tabs',
|
|
111
|
+
'selected-id',
|
|
112
|
+
'labels',
|
|
113
|
+
'label-visibility-mode',
|
|
114
|
+
'icons',
|
|
115
|
+
'colors',
|
|
116
|
+
'blur-effect',
|
|
117
|
+
'disable-indicator',
|
|
118
|
+
'indicator-color',
|
|
119
|
+
'ripple-color',
|
|
120
|
+
'badge-background-color',
|
|
121
|
+
'badge-text-color',
|
|
122
|
+
'animated',
|
|
123
|
+
];
|
|
124
|
+
}
|
|
125
|
+
connectedCallback() {
|
|
126
|
+
void this.sync();
|
|
127
|
+
}
|
|
128
|
+
attributeChangedCallback() {
|
|
129
|
+
if (this.isConnected) {
|
|
130
|
+
void this.sync();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async sync() {
|
|
134
|
+
const options = {
|
|
135
|
+
hidden: parseBoolean(this.getAttribute('hidden')),
|
|
136
|
+
tabs: parseJsonAttribute(this, 'tabs', []),
|
|
137
|
+
selectedId: normalizeAttribute(this.getAttribute('selected-id')),
|
|
138
|
+
labels: parseBoolean(this.getAttribute('labels'), true),
|
|
139
|
+
labelVisibilityMode: typedAttribute(this, 'label-visibility-mode'),
|
|
140
|
+
icons: parseBoolean(this.getAttribute('icons'), true),
|
|
141
|
+
colors: parseJsonAttribute(this, 'colors', undefined),
|
|
142
|
+
blurEffect: typedAttribute(this, 'blur-effect'),
|
|
143
|
+
disableIndicator: parseBoolean(this.getAttribute('disable-indicator')),
|
|
144
|
+
indicatorColor: normalizeAttribute(this.getAttribute('indicator-color')),
|
|
145
|
+
rippleColor: normalizeAttribute(this.getAttribute('ripple-color')),
|
|
146
|
+
badgeBackgroundColor: normalizeAttribute(this.getAttribute('badge-background-color')),
|
|
147
|
+
badgeTextColor: normalizeAttribute(this.getAttribute('badge-text-color')),
|
|
148
|
+
animated: parseBoolean(this.getAttribute('animated')),
|
|
149
|
+
};
|
|
150
|
+
const NativeNavigation = await getNativeNavigation();
|
|
151
|
+
await NativeNavigation.setTabbar(options);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (!customElements.get('cap-native-navigation-provider')) {
|
|
155
|
+
customElements.define('cap-native-navigation-provider', CapNativeNavigationProvider);
|
|
156
|
+
}
|
|
157
|
+
if (!customElements.get('cap-native-navbar')) {
|
|
158
|
+
customElements.define('cap-native-navbar', CapNativeNavbar);
|
|
159
|
+
}
|
|
160
|
+
if (!customElements.get('cap-native-tabbar')) {
|
|
161
|
+
customElements.define('cap-native-tabbar', CapNativeTabbar);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
const NativeNavigation = core.registerPlugin('NativeNavigation', {
|
|
166
|
+
web: createNativeNavigationWeb,
|
|
167
|
+
});
|
|
168
|
+
const isElement = (target) => typeof Element !== 'undefined' && target instanceof Element;
|
|
169
|
+
const isDomRect = (target) => typeof DOMRect !== 'undefined' && target instanceof DOMRect;
|
|
170
|
+
/**
|
|
171
|
+
* Convert an element or DOMRect into viewport coordinates accepted by native
|
|
172
|
+
* zoom transitions.
|
|
173
|
+
*/
|
|
174
|
+
const getNativeNavigationRect = (target) => {
|
|
175
|
+
const rect = isElement(target) ? target.getBoundingClientRect() : target;
|
|
176
|
+
if (isDomRect(rect)) {
|
|
177
|
+
return {
|
|
178
|
+
x: rect.x,
|
|
179
|
+
y: rect.y,
|
|
180
|
+
width: rect.width,
|
|
181
|
+
height: rect.height,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
x: rect.x,
|
|
186
|
+
y: rect.y,
|
|
187
|
+
width: rect.width,
|
|
188
|
+
height: rect.height,
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* Begin an Apple-Zoom-style native transition from a DOM element or rect.
|
|
193
|
+
*/
|
|
194
|
+
const beginZoomTransition = (target, options = {}) => NativeNavigation.beginTransition(Object.assign(Object.assign({}, options), { direction: 'zoom', sourceRect: getNativeNavigationRect(target) }));
|
|
195
|
+
/**
|
|
196
|
+
* Finish an Apple-Zoom-style native transition into an optional DOM element or
|
|
197
|
+
* rect on the destination route.
|
|
198
|
+
*/
|
|
199
|
+
const finishZoomTransition = (target, options = {}) => NativeNavigation.finishTransition(Object.assign(Object.assign({}, options), { direction: 'zoom', targetRect: target ? getNativeNavigationRect(target) : undefined }));
|
|
200
|
+
|
|
201
|
+
var index = /*#__PURE__*/Object.freeze({
|
|
202
|
+
__proto__: null,
|
|
203
|
+
NativeNavigation: NativeNavigation,
|
|
204
|
+
beginZoomTransition: beginZoomTransition,
|
|
205
|
+
defineNativeNavigationElements: defineNativeNavigationElements,
|
|
206
|
+
finishZoomTransition: finishZoomTransition,
|
|
207
|
+
getNativeNavigationRect: getNativeNavigationRect
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
const DEFAULT_NAVBAR_HEIGHT = 44;
|
|
211
|
+
const DEFAULT_TABBAR_HEIGHT = 49;
|
|
212
|
+
const DEFAULT_TRANSITION_DURATION = 350;
|
|
213
|
+
class NativeNavigationWeb extends core.WebPlugin {
|
|
214
|
+
constructor() {
|
|
215
|
+
super(...arguments);
|
|
216
|
+
this.config = {
|
|
217
|
+
contentInsetMode: 'css',
|
|
218
|
+
enabled: true,
|
|
219
|
+
platformStyle: 'auto',
|
|
220
|
+
};
|
|
221
|
+
this.navbar = { hidden: true };
|
|
222
|
+
this.tabbar = { hidden: true };
|
|
223
|
+
this.activeTransition = null;
|
|
224
|
+
}
|
|
225
|
+
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) });
|
|
227
|
+
return this.applyInsets();
|
|
228
|
+
}
|
|
229
|
+
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) });
|
|
231
|
+
return this.applyInsets();
|
|
232
|
+
}
|
|
233
|
+
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) });
|
|
235
|
+
return this.applyInsets();
|
|
236
|
+
}
|
|
237
|
+
async beginTransition(options = {}) {
|
|
238
|
+
const transition = this.createTransition(options.id, options.direction, options.duration);
|
|
239
|
+
this.activeTransition = transition;
|
|
240
|
+
this.notifyListeners('transitionStart', transition);
|
|
241
|
+
this.dispatchWindowEvent('transitionStart', transition);
|
|
242
|
+
return transition;
|
|
243
|
+
}
|
|
244
|
+
async finishTransition(options = {}) {
|
|
245
|
+
var _a, _b;
|
|
246
|
+
const transition = this.activeTransition && (!options.id || options.id === this.activeTransition.id)
|
|
247
|
+
? 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);
|
|
248
|
+
this.activeTransition = null;
|
|
249
|
+
this.notifyListeners('transitionEnd', transition);
|
|
250
|
+
this.dispatchWindowEvent('transitionEnd', transition);
|
|
251
|
+
return transition;
|
|
252
|
+
}
|
|
253
|
+
async getPluginVersion() {
|
|
254
|
+
return {
|
|
255
|
+
version: 'web',
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
createTransition(id, direction, duration) {
|
|
259
|
+
var _a;
|
|
260
|
+
if (id === void 0) { id = `transition-${Date.now()}`; }
|
|
261
|
+
if (direction === void 0) { direction = 'forward'; }
|
|
262
|
+
if (duration === void 0) { duration = (_a = this.config.animationDuration) !== null && _a !== void 0 ? _a : DEFAULT_TRANSITION_DURATION; }
|
|
263
|
+
return { id, direction, duration };
|
|
264
|
+
}
|
|
265
|
+
applyInsets() {
|
|
266
|
+
const enabled = this.config.enabled !== false;
|
|
267
|
+
const navbarVisible = enabled && this.navbar.hidden !== true;
|
|
268
|
+
const tabbarVisible = enabled && this.tabbar.hidden !== true;
|
|
269
|
+
const insets = {
|
|
270
|
+
top: navbarVisible ? DEFAULT_NAVBAR_HEIGHT : 0,
|
|
271
|
+
right: 0,
|
|
272
|
+
bottom: tabbarVisible ? DEFAULT_TABBAR_HEIGHT : 0,
|
|
273
|
+
left: 0,
|
|
274
|
+
navbarHeight: navbarVisible ? DEFAULT_NAVBAR_HEIGHT : 0,
|
|
275
|
+
tabbarHeight: tabbarVisible ? DEFAULT_TABBAR_HEIGHT : 0,
|
|
276
|
+
};
|
|
277
|
+
if (this.config.contentInsetMode !== 'none' && typeof document !== 'undefined') {
|
|
278
|
+
const root = document.documentElement;
|
|
279
|
+
root.style.setProperty('--cap-native-navigation-top', `${insets.top}px`);
|
|
280
|
+
root.style.setProperty('--cap-native-navigation-right', `${insets.right}px`);
|
|
281
|
+
root.style.setProperty('--cap-native-navigation-bottom', `${insets.bottom}px`);
|
|
282
|
+
root.style.setProperty('--cap-native-navigation-left', `${insets.left}px`);
|
|
283
|
+
root.style.setProperty('--cap-native-navbar-height', `${insets.navbarHeight}px`);
|
|
284
|
+
root.style.setProperty('--cap-native-tabbar-height', `${insets.tabbarHeight}px`);
|
|
285
|
+
}
|
|
286
|
+
const event = { insets };
|
|
287
|
+
this.notifyListeners('safeAreaChanged', event);
|
|
288
|
+
this.dispatchWindowEvent('safeAreaChanged', event);
|
|
289
|
+
return { insets };
|
|
290
|
+
}
|
|
291
|
+
dispatchWindowEvent(name, detail) {
|
|
292
|
+
if (typeof window === 'undefined') {
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
window.dispatchEvent(new CustomEvent(`capNativeNavigation:${name}`, { detail }));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
var web = /*#__PURE__*/Object.freeze({
|
|
300
|
+
__proto__: null,
|
|
301
|
+
NativeNavigationWeb: NativeNavigationWeb
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
exports.NativeNavigation = NativeNavigation;
|
|
305
|
+
exports.beginZoomTransition = beginZoomTransition;
|
|
306
|
+
exports.defineNativeNavigationElements = defineNativeNavigationElements;
|
|
307
|
+
exports.finishZoomTransition = finishZoomTransition;
|
|
308
|
+
exports.getNativeNavigationRect = getNativeNavigationRect;
|
|
309
|
+
|
|
310
|
+
return exports;
|
|
311
|
+
|
|
312
|
+
})({}, capacitorExports);
|
|
313
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +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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"}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|